# -*- coding: utf-8; mode: tcl; tab-width: 4; truncate-lines: t; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
# $Id$

PortSystem          1.0

name                imap-uw
version             2007e
categories          mail
license             Apache v2
maintainers         snc openmaintainer
description         University of Washington IMAP daemon
long_description    IMAP (Internet Message Access Protocol) is a method \
                    of accessing electronic messages kept on a (possibly \
                    shared) mail server. This port provides the \
                    University of Washington IMAP toolkit (IMAP \
                    supporting software developed by the UW).
homepage            http://www.washington.edu/imap/
master_sites        ftp://ftp.cac.washington.edu/imap/ \
                    ftp://ftp.cac.washington.edu/imap/old/
platforms           darwin

distname            imap-${version}
extract.suffix      .tar.Z
checksums           md5     519d68a8650420ae33eb7085dd6a8150 \
                    sha1    24c63cad8d0e74aa76e4341fcfa54d24f23a8c70 \
                    rmd160  7d6af203419975f763d7ec17b6a4544c94490b50

use_configure       no
use_parallel_build  no

build.target        oxp
# Enable IPv6 support
build.args-append   IP=6
# Ensure we're UsingTheRightCompiler
build.args-append   CC=${configure.cc}

if {"darwin" == ${os.platform} && ${os.major} >= 10} {
    patchfiles-append   patch-snowleopard.diff
}

# Default is to enable SSL support and plaintext authentication
# permitted only in SSL/TLS sessions.

# Variant to enable SSL support and plaintext authentication
variant ssl_plain description { enable SSL support and plaintext authentication } {
   patchfiles-append    patch-Makefile.diff
   build.args-append    SSLTYPE=unix
}

# Variant to enable SSL with PAM support for Mac OS X
variant ssl_pam description { enable SSL with PAM support } {
   depends_lib      lib:libssl.0.9:openssl

   patchfiles-append    patch-Makefile.diff

   build.target     oxp
   build.args-append    SSLTYPE=unix

    post-destroot {
        xinstall -m 0644 ${filespath}/README-MACOSX \
            ${filespath}/etc-pam.d-imap \
            ${filespath}/etc-xinetd.d-imap \
            ${filespath}/etc-xinetd.d-imaps \
            ${destroot}${prefix}/share/doc/${name}/
        reinplace "s|__PREFIX|${prefix}|" \
            ${filespath}/README-MACOSX \
            ${destroot}${prefix}/share/doc/${name}/etc-xinetd.d-imap \
            ${destroot}${prefix}/share/doc/${name}/etc-xinetd.d-imaps
        
        ui_msg "-----------------------------------------------------------"
        ui_msg "For use of IMAP-UW using SSL and PAM on Mac OS X 10.3,"
        ui_msg "please see the following:"
        ui_msg "\t${prefix}/share/doc/${name}/README-MACOSX"
        ui_msg "for further installation and setup details."
        ui_msg "-----------------------------------------------------------"
    }
}

# Variant to disable plaintext authentication outside of SSL/TSL
# i.e. prohibit unencrypted plaintext passwords
variant nopwd description { prohibit unencrypted plaintext passwords } {
    build.args-delete   SSLTYPE=unix
    build.args-append   SSLTYPE=unix.nopwd
}

# Variant to set the default for creating new mailboxes to "mbx" format
variant mbx conflicts mix description { default new mailboxes to "mbx" format } {
    build.args-append   CREATEPROTO=mbxproto
}

# Variant to set the default for creating new mailboxes to "mix" format
variant mix conflicts mbx description { default new mailboxes to "mix" format } {
    build.args-append   CREATEPROTO=mixproto
}

# Variant to set the default mail subdirectory name to "Mail"
variant subdir description { set "Mail" as subdirectory name } {
    patchfiles-append   patch-env_unix.c.diff
}

destroot {
    # Warn user if not running as root
    if {$env(USER) != "root"} {
        ui_msg "-----------------------------------------------------------"
        ui_msg "Note that you are not running as root, so files installed"
        ui_msg "by this port will not end up with proper ownership and"
        ui_msg "will likely not work correctly."
        ui_msg "-----------------------------------------------------------"
    }
    xinstall -m 0755 -d ${destroot}${prefix}/share/doc/${name}
    xinstall -m 0755 ${worksrcpath}/imapd/imapd ${destroot}${prefix}/libexec
    xinstall -m 0755 ${worksrcpath}/ipopd/ipop2d ${destroot}${prefix}/libexec
    xinstall -m 0755 ${worksrcpath}/ipopd/ipop3d ${destroot}${prefix}/libexec
    xinstall -m 0755 ${worksrcpath}/mailutil/mailutil ${destroot}${prefix}/bin
    xinstall -m 0755 ${worksrcpath}/tmail/tmail ${destroot}${prefix}/bin
    xinstall -m 0755 ${worksrcpath}/dmail/dmail ${destroot}${prefix}/bin
    xinstall -m 0755 ${worksrcpath}/mtest/mtest ${destroot}${prefix}/bin/mboxtest
    if {$env(USER) == "root"} {
        xinstall -g mail -m 2711 ${worksrcpath}/mlock/mlock ${destroot}${prefix}/libexec
    } else {
        xinstall -m 0711 ${worksrcpath}/mlock/mlock ${destroot}${prefix}/libexec
    }
    xinstall -m 0755 ${worksrcpath}/src/imapd/imapd.8 ${destroot}${prefix}/share/man/man8
    xinstall -m 0755 ${worksrcpath}/src/ipopd/ipopd.8 ${destroot}${prefix}/share/man/man8
    xinstall -m 0755 ${worksrcpath}/src/mailutil/mailutil.1 ${destroot}${prefix}/share/man/man1
    xinstall -m 0755 ${worksrcpath}/src/tmail/tmail.1 ${destroot}${prefix}/share/man/man1
    xinstall -m 0755 ${worksrcpath}/src/dmail/dmail.1 ${destroot}${prefix}/share/man/man1
    xinstall -m 0644 ${worksrcpath}/docs/RELNOTES ${destroot}${prefix}/share/doc/${name}
    xinstall -m 0644 ${worksrcpath}/docs/FAQ.html ${destroot}${prefix}/share/doc/${name}
    foreach file [glob ${worksrcpath}/docs/*.txt] {
        xinstall -m 0644 ${file} ${destroot}${prefix}/share/doc/${name}
    }
}


livecheck.type      regex
livecheck.url       ${homepage}documentation/RELNOTES.html
livecheck.regex     "imap-(\\d{4}.?) "