# -*- 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
# $Id$

PortSystem          1.0

name                openconnect
version             7.07
revision            1
categories          net
platforms           darwin
maintainers         hydroxide.nl:bjorn.ketelaars openmaintainer
license             LGPL-2.1

description         OpenConnect is a client for Cisco's AnyConnect SSL VPN
long_description    ${description}, which is supported by the ASA5500 Series, \
                    by IOS 12.4(9)T or later on Cisco SR500, 870, 880, 1800, \
                    2800, 3800, 7200 Series and Cisco 7301 Routers, and \
                    probably others.

homepage            http://www.infradead.org/openconnect/

depends_build       port:pkgconfig

depends_lib         port:gettext \
                    port:libiconv \
                    port:libproxy \
                    port:libxml2 \
                    port:lz4 \
                    port:p11-kit \
                    port:vpnc-scripts \
                    port:zlib

master_sites        ftp://ftp.infradead.org/pub/openconnect/

# md5 is needed for http master_site below
checksums           md5     582692c4bd8c157daadfcc89d6680cb8 \
                    rmd160  c62e4e50a76fb6cb0797ad8b066d8bef4b738bb9 \
                    sha256  f3ecfcd487dcd916748db38b4138c1e72c86347d6328b11dfe1d0af2821b8366

foreach {type checksum} ${checksums} {
    if {${type} == "md5"} {
        master_sites-append http://pkgs.fedoraproject.org/lookaside/pkgs/openconnect/${distfiles}/${checksum}
    }
}

configure.args      --disable-silent-rules \
                    --with-vpnc-script=${prefix}/etc/vpnc-scripts/vpnc-script \
                    --without-gnutls \
                    --without-gssapi \
                    --without-libpskc \
                    --without-openssl

variant ssl conflicts gnutls description {Allow secure connections using OpenSSL} {
    depends_lib-append      path:lib/libssl.dylib:openssl
    configure.args-replace  --without-openssl --with-openssl
}

variant gnutls conflicts ssl description {Allow secure connections using GNUTLS} {
    depends_lib-append      port:gnutls
    configure.args-replace  --without-gnutls --with-gnutls
}

variant kerberos description {Enable Kerberos support} {
    depends_lib-append      port:kerberos5
    configure.args-replace  --without-gssapi --with-gssapi
}

variant libpskc description {Allow RFC6030 PSKC file storage of HOTP/TOTP keys} {
    depends_lib-append      port:oath-toolkit
    configure.args-replace  --without-libpskc --with-libpskc
}

# Since Openconnect 5.00, GnuTLS is the default instead of OpenSSL
if {![variant_isset ssl]} {
    default_variants +gnutls
}

post-destroot {
    set docdir ${destroot}${prefix}/share/doc/${name}
    xinstall -d ${docdir}
    xinstall -m 644 -W ${worksrcpath} \
        AUTHORS \
        COPYING.LGPL \
        TODO \
        ${docdir}
}

livecheck.url       ${homepage}download.html
livecheck.regex     OpenConnect v(\[0-9.\]+)