# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem          1.0

PortGroup           github          1.0
PortGroup           cmake           1.1
PortGroup           legacysupport   1.1

# clock_gettime
legacysupport.newest_darwin_requires_legacy 15

github.setup        aws s2n-tls 1.5.14 v
github.tarball_from archive
revision            0

homepage            https://aws.github.io/s2n-tls/doxygen/s2n_8h.html

description         An implementation of the TLS/SSL protocols

long_description    \
    ${name} is a C99 implementation of the TLS/SSL protocols that is designed \
    to be simple, small, fast, and with security as a priority.

checksums           rmd160  de2680acc1b7500fb166ec7a7ba3ec85188f64cc \
                    sha256  3f65f1eca85a8ac279de204455a3e4940bc6ad4a1df53387d86136bcecde0c08 \
                    size    4955049

categories          security
license             Apache-2
maintainers         {gmail.com:herby.gillot @herbygillot} \
                    openmaintainer

depends_lib-append  path:lib/libcrypto.dylib:openssl

compiler.c_standard 1999
# error: thread-local storage not supported for this target
compiler.thread_local_storage yes

# https://github.com/aws/s2n-tls/pull/4674
patchfiles-append   0001-Fix-build-on-macOS-10.15-and-earlier.patch

platform powerpc {
    # FATAL:/usr/bin/../libexec/gcc/darwin/ppc/as: I don't understand '-' flag!
    patchfiles-append \
                    patch-fix-target-flags.diff
}

configure.args-append \
                    -DBUILD_SHARED_LIBS=ON \
                    -DBUILD_TESTING=OFF

variant tests description "Enable testing" {
    configure.args-replace \
                    -DBUILD_TESTING=OFF -DBUILD_TESTING=ON
    # dyld: Library not loaded: /opt/local/lib/libs2n.1.dylib
    test.env-append DYLD_LIBRARY_PATH=${cmake.build_dir}/lib:${prefix}/lib
    # FIXME: there are a few failures on PowerPC: https://github.com/aws/s2n-tls/issues/4097
    test.run        yes
}