# $Id: Portfile,v 1.6 2006/05/17 16:03:15 jmpp Exp $

PortSystem 1.0

name	   cyrus-imapd
version	   2.2.12
revision   3
categories	mail
platforms	darwin
maintainers	jmpp@opendarwin.org darwinports@opendarwin.org

description	The Cyrus IMAP Server
long_description	Popular, scalable, open standars based IMAP & POP3 mail server \
			developed by The Carnegie Mellon University.

homepage	http://asg.web.cmu.edu/cyrus/
master_sites	http://ftp.andrew.cmu.edu/pub/cyrus-mail/
checksums	md5 70b3bba526a8d36d3bb23a87d37e9188

depends_lib	port:perl5.8 \
		port:cyrus-sasl2 \
		port:db4 \
		port:net-snmp \
		port:openssl

patchfiles	patch-depot-Makefile.in.diff

configure.args	--mandir=${prefix}/share/man \
		--sysconfdir=${prefix}/etc/cyrus \
		--with-cyrus-prefix=${prefix} \
		--with-pidfile=${prefix}/var/run/cyrus-master.pid \
		--with-bdb-incdir=${prefix}/include/db4 \
		--with-bdb-libdir=${prefix}/lib \
		--with-perl=${prefix}/bin/perl \
		--with-sasl=${prefix} \
		--with-openssl=${prefix} \
		--with-cyrus-user=cyrus \
		--with-cyrus-group=mail \
		--with-auth=unix \
		--enable-listext \
		--enable-cmulocal \
		--enable-netscapehack

startupitem.create	yes
startupitem.name	cyrus
startupitem.requires	Disks Network "System Log"
startupitem.start	"${prefix}/bin/master -d"
startupitem.stop	"pidfile=${prefix}/var/run/cyrus-master.pid
			if \[ -f \${pidfile} \]; then
			   kill -TERM \$(cat \${pidfile})
			fi"
post-destroot	{
		set uid [nextuid]
		set gid [nextgid]
		adduser cyrus realname=Cyrus\ User uid=${uid} gid=${gid} home=${prefix}/var/imap \
		shell=/usr/bin/false passwd="\*" 
		addgroup mail gid=${gid} users=cyrus
		xinstall -m 755 -v ${worksrcpath}/tools/mkimap ${destroot}${prefix}/bin
		reinplace "s|/etc/imapd.conf|${prefix}/etc/cyrus/imapd.conf|" ${destroot}${prefix}/bin/mkimap
		xinstall -m 755 -v ${worksrcpath}/tools/mknewsgroups ${destroot}${prefix}/bin
		xinstall -m 755 -v ${worksrcpath}/tools/dohash ${destroot}${prefix}/bin
		xinstall -m 755 -v ${worksrcpath}/tools/rehash ${destroot}${prefix}/bin
		xinstall -m 755 -v ${worksrcpath}/tools/upgradesieve ${destroot}${prefix}/bin
		xinstall -d -m 755 ${destroot}${prefix}/share/doc/
		file copy ${worksrcpath}/doc ${destroot}${prefix}/share/doc/${name}
		cd ${destroot}${prefix}/share/doc/${name}
		foreach d [glob -type d *] { file delete -force html CVS $d/CVS }
		xinstall -d -m 755 ${destroot}${prefix}/etc/cyrus/samples
		cd ${worksrcpath}/master/conf
		foreach f [glob -type f *.conf] {
			xinstall -m 644 -v $f ${destroot}${prefix}/etc/cyrus/samples/$f.sample
		}
		xinstall -d -m 750 -o cyrus -g mail ${destroot}${prefix}/var/imap
		xinstall -d -m 750 -o cyrus -g mail ${destroot}${prefix}/var/spool/imap
		destroot.keepdirs ${destroot}${prefix}/var/run ${destroot}${prefix}/var/imap \
		${destroot}${prefix}/var/spool/imap ${destroot}${prefix}/var/log
}

platform darwin 7 {	patchfiles-append patch-no_msg_h.diff }

platform powerpc  {	configure.args-append --build=powerpc }

variant murder	  {	configure.args-append --enable-murder }


## 
# Miscellaneous notes:
# -) Port is itself bare bones, suport for many other things could be added (maybe as variants), so suggest away!
##
