# $Id: Portfile 60534 2009-11-14 23:10:00Z ryandesign@macports.org $

PortSystem 1.0

name	   cyrus-imapd
version	   2.3.8
revision   1
categories	mail
platforms	darwin
maintainers	jmpp openmaintainer

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/ \
		ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/
checksums	md5 ac03b02c1ae08d52f807b58c488b204f

depends_lib	path:bin/perl:perl5 \
		port:cyrus-sasl2 \
		port:db44 \
		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/db44 \
		--with-bdb-libdir=${prefix}/lib/db44 \
		--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 \
		--with-snmp=no \
		--disable-sieve \
		--disable-gssapi \
		--with-com_err

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}
		foreach d [glob -directory ${destroot}${prefix}/share/doc/${name} -type d *] { file delete -force ${destroot}${prefix}/share/doc/${name}/html ${destroot}${prefix}/share/doc/${name}/CVS $d/CVS }
		xinstall -d -m 755 ${destroot}${prefix}/etc/cyrus/samples
		foreach f [glob -directory ${worksrcpath}/master/conf -type f *.conf] {
			xinstall -m 644 -v $f ${destroot}${prefix}/etc/cyrus/samples/[file tail $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 powerpc  {	configure.args-append --build=powerpc }

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

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

variant snmp {
# snmp support is currently broken
	depends_lib-append	port:net-snmp
	configure.args-delete	--with-snmp=no
	configure.args-append	--with-snmp=yes
}

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