# -*- 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 python    1.0

set _name           pyOpenSSL
set _n              [string index ${_name} 0]

name                py-openssl
version             17.5.0

categories-append   devel security
license             Apache-2
maintainers         {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
platforms           darwin freebsd

description         python wrapper around the OpenSSL library
long_description    \
    This python module is a rather thin wrapper around (a subset of) the \
    OpenSSL library. With thin wrapper a lot of the object methods do \
    nothing more than calling a corresponding function in the OpenSSL library.

homepage            https://github.com/pyca/pyopenssl
distname            ${_name}-${version}
#master_sites        pypi:${_n}/${_name}/
# use new pypi.python.org url scheme
master_sites        pypi:3b/15/a5d90ab1a41075e8f0fae334f13452549528f82142b3b9d0c9d86ab7178c

checksums           rmd160  2b46a05a02bd5b276abb0afc14e9e3cc900ca8c8 \
                    sha256  2c10cfba46a52c0b0950118981d61e72c1e5b1aac451ca1bc77de1a679456773

python.versions     27 34 35 36

if {${name} ne ${subport}} {
    depends_build-append    port:py${python.version}-setuptools

    depends_lib-append      path:lib/libssl.dylib:openssl \
                            port:py${python.version}-cryptography \
                            port:py${python.version}-six

    post-patch {
        reinplace "s|#!/usr/bin/env python|#!${python.bin}|" ${worksrcpath}/examples/proxy.py
    }

    post-destroot {
        xinstall -m 644 -W ${worksrcpath} \
            CHANGELOG.rst \
            CODE_OF_CONDUCT.rst \
            CONTRIBUTING.rst \
            INSTALL.rst \
            README.rst \
            LICENSE \
                ${destroot}${prefix}/share/doc/${subport}

        file delete ${destroot}${prefix}/share/doc/${subport}/examples
        copy ${worksrcpath}/examples ${destroot}${prefix}/share/doc/${subport}
    }

    variant doc description {build html documentation} {
        depends_build-append    port:py${python.version}-sphinx
        #depends_build-append port:latex2html

        post-patch {
            # Ensure that the correct sphinx-build is used.
            reinplace "s|sphinx-build|sphinx-build-${python.branch}|" ${worksrcpath}/doc/Makefile
        }

        post-build {
            system "cd ${worksrcpath}/doc && /usr/bin/make html"
        }

        post-destroot {
            copy ${worksrcpath}/doc/_build/html ${destroot}${prefix}/share/doc/${subport}
        }
    }

    livecheck.type      none
} else {
    livecheck.type      regex
    livecheck.url       https://pypi.python.org/pypi/${_name}/json
    livecheck.regex     "\"${_name}-(\[.\\d\]+)\\${extract.suffix}\""
}