# -*- 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           legacysupport 1.1
PortGroup           meson 1.0

# strnlen, clock_gettime
legacysupport.newest_darwin_requires_legacy 15

github.setup        latchset pkcs11-provider 1.2.0 v
github.tarball_from releases
revision            0
checksums           rmd160  d889d06bb972045c170c7cf21b8acaf2b1a842fa \
                    sha256  36a2f13859f3e2a9c74d1d4064f8d406689b0201e25968aba952010ed73bfec2 \
                    size    206340
use_xz              yes

maintainers         {cal @neverpanic} openmaintainer

categories          security crypto
license             Apache-2.0
description         A pkcs#11 provider for OpenSSL 3.0+
long_description    \
    An OpenSSL 3 provider to access Hardware or Software Tokens using the \
    PKCS#11 Cryptographic Token Interface

# NSS, softhsm, p11-kit, gnutls, and opensc are used for testing, but detection happens at build time
depends_build       port:gnutls \
                    port:nss \
                    port:opensc \
                    port:p11-kit \
                    port:pkgconfig \
                    port:softhsm

depends_lib         port:openssl3

# C11 compiler required
compiler.c_standard 2011

# needed only where legacysupport is used
if {${os.platform} eq "darwin" && ${os.major} < 16} {
    patchfiles-append \
                    patch-meson-build.diff
}

post-destroot {
    xinstall -d -m 0755 \
        ${destroot}${prefix}/libexec/openssl3/etc/openssl/openssl.cnf.d
    xinstall -m 0644 \
        ${filespath}/pkcs11-provider.cnf \
        ${destroot}${prefix}/libexec/openssl3/etc/openssl/openssl.cnf.d/pkcs11-provider.cnf
}

test.run            yes

github.livecheck.branch main
