# -*- 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.11 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  2c52cc13d5fb422313f4c65c5f4c12f05e53d30b \
                    sha256  5690f030da35f86e3b5d61d1de150b5b52c84eef383799f7a706bdf21227417e \
                    size    4922789

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
}
