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

name                alpine
version             2.26
revision            0
categories          mail
license             Apache-2
maintainers         netpurgatory.com:john gmail.com:jerryyhom openmaintainer
platforms           darwin

homepage            https://alpineapp.email/
description         alpine - a Program for Internet News and Email
long_description    Alpine is a tool for reading, sending, and \
                    managing electronic messages that was designed \
                    with novice users in mind.

# Note: Only latest release in primary site; 'Old' subdir contains previous versions
set alpine_master_site \
                    ${homepage}alpine/release/src
master_sites        ${alpine_master_site} \
                    ${alpine_master_site}/Old

use_xz              yes
checksums           rmd160  edffd060c051f544be5acbe40e1be4b3143e42e8 \
                    sha256  c0779c2be6c47d30554854a3e14ef5e36539502b331068851329275898a9baba \
                    size    7517628

depends_build-append \
                    port:gettext

depends_lib-append  port:gettext-runtime \
                    port:libiconv \
                    port:ncurses

patchfiles-append   patch-fix-applekeychain.diff \
                    patch-werror_implicit-int.diff
patch.pre_args-replace  -p0 -p1

configure.env       SSLDIR=${prefix}
configure.args      --with-lib-path=${prefix}/lib \
                    --with-include-path=${prefix}/include \
                    -with-krb5-include-dir=${prefix}/include \
                    -with-krb5-lib-dir=${prefix}/lib \
                    -with-ldap-include-dir=${prefix}/include \
                    -with-ldap-lib-dir=${prefix}/lib \
                    --with-ssl-include-dir=${prefix}/include/openssl \
                    --with-ssl-lib-dir=${prefix}/lib \
                    --with-local-password-cache-method \
                    --with-debug-level=0 \
                    --without-krb5 \
                    --without-ldap \
                    --without-ssl \
                    --without-tcl

variant universal {}

use_parallel_build  no
build.env           SSLTYPE=none
build.args          CC=${configure.cc} \
                    EXTRACFLAGS="[get_canonical_archflags cc]" \
                    EXTRALDFLAGS="[get_canonical_archflags ld]" \
                    SPECIALS="GSSDIR=${prefix} SSLDIR=${prefix}"

variant passfile description {Enable password files support} {
    configure.args-delete   --with-local-password-cache-method
    configure.args-append   --with-passfile=".pine.pwd"
}

variant kerberos description {Kerberos support} {
    depends_lib-append      port:cyrus-sasl2
    configure.args-delete   --without-krb5
}

variant ldap description {LDAP support} {
    depends_lib-append      path:lib/libldap.dylib:openldap
    configure.args-delete   --without-ldap
}

variant ssl description {OpenSSL support} {
    depends_lib-append      path:lib/libssl.dylib:openssl
    configure.args-delete   --without-ssl
    build.env-delete        SSLTYPE=none
}

variant tcl description {Tcl support (required by Alpine Web)} requires ssl {
    # Should we force use of MacPorts' `tcl` port?
    configure.args-delete   --without-tcl
}

default_variants +kerberos +ldap +ssl
