# -*- 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           openssl 1.0
PortGroup           common_lisp 1.0

github.setup        cl-plus-ssl cl-plus-ssl 17d5cdd65405f1d26e26f3e875e70027d0c8eedb
# Change github.tarball_from to 'releases' or 'archive' next update
github.tarball_from tarball
version             20230731
revision            1

checksums           rmd160  823df477edf37a8ad1aa64a4b67c203380d70873 \
                    sha256  d3037a4f4593396d17677c7ce19a6900b80eed45e8f56f5547c2de4da9649970 \
                    size    93621

categories-append   devel
maintainers         nomaintainer
license             MIT

description         A Common Lisp interface to OpenSSL / LibreSSL

long_description    {*}${description}

patchfiles-append   macports-integration.diff

depends_lib-append  port:cl-alexandria \
                    port:cl-bordeaux-threads \
                    port:cl-cffi \
                    port:cl-flexi-streams \
                    port:cl-trivial-features \
                    port:cl-trivial-garbage \
                    port:cl-trivial-gray-streams \
                    port:cl-trivial-sockets \
                    port:cl-usocket

# stricly requires OpenSSL 3
openssl.branch      3

post-patch {
    # NOTE: cl-coveralls requires a lot of ports and useless here
    reinplace {s|(:feature (:or :sbcl :ccl) :cl-coveralls)||} ${worksrcpath}/cl+ssl.test.asd

    reinplace "s|@@MACPORTS_OPENSSL_LIB@@|[openssl::lib_dir]|" ${worksrcpath}/src/reload.lisp
}

common_lisp.ffi     yes

# See: https://github.com/usocket/trivial-sockets/issues/1
common_lisp.ecl     no
# Error while trying to load definition for system trivial-sockets from pathname [...]/trivial-sockets.asd: keyword list is not a proper list.
common_lisp.clisp   no
