--- /dev/null
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-mail/dovecot/dovecot-1.0_alpha3.ebuild,v 1.1 2005/09/23 23:34:59 wschlich Exp $
+
+IUSE="debug ipv6 ldap maildir mbox pam postgres sasl ssl gnutls vpopmail nopop3d mysql"
+inherit eutils
+
+DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
+HOMEPAGE="http://dovecot.org/"
+MY_P="${P/_/.}"
+S="${WORKDIR}/${MY_P}"
+SRC_URI="http://dovecot.org/releases/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+
+#PROVIDE="virtual/imapd"
+
+# Note: current dovecot will break on gnutls
+# http://www.dovecot.org/list/dovecot/2004-November/005169.html
+DEPEND=">=sys-libs/db-3.2
+ >=sys-apps/sed-4
+ ldap? ( >=net-nds/openldap-1.2 )
+ pam? ( sys-libs/pam )
+ sasl? ( >=dev-libs/cyrus-sasl-2.1 )
+ ssl? ( >=dev-libs/openssl-0.9.6g )
+ postgres? ( dev-db/postgresql )
+ mysql? ( dev-db/mysql )
+ vpopmail? ( net-mail/vpopmail )"
+ #gnutls? ( <=net-libs/gnutls-1.0.4 )
+
+RDEPEND="${DEPEND}
+ >=net-mail/mailbase-0.00-r8"
+
+pkg_setup() {
+ # Add user and group for login process (same as for fedora/redhat)
+ enewgroup dovecot 97
+ enewuser dovecot 97 -1 /dev/null dovecot
+}
+
+src_compile() {
+ local myconf=''
+ useq debug && myconf="${myconf} --enable-debug"
+ useq ldap && myconf="${myconf} --with-ldap"
+ useq ipv6 || myconf="${myconf} --disable-ipv6"
+ useq nopop3d && myconf="${myconf} --without-pop3d"
+ useq pam || myconf="${myconf} --without-pam"
+ useq postgres && myconf="${myconf} --with-pgsql"
+ useq mysql && myconf="${myconf} --with-mysql"
+ useq sasl && myconf="${myconf} --with-cyrus-sasl2"
+ # gnutls support no longer working
+ # (http://www.dovecot.org/list/dovecot/2004-November/005169.html)
+ useq ssl && myconf="${myconf} --with-ssl=openssl"
+ if useq gnutls; then
+ eerror
+ eerror 'GNUTLS support no longer available, see'
+ eerror 'http://www.dovecot.org/list/dovecot/2004-November/005169.html'
+ eerror
+ eerror 'Please set USE="-gnutls ssl" if you want SSL support.'
+ eerror
+ die
+ fi
+ # prefer gnutls to ssl if both gnutls and ssl are defined
+ #use gnutls && myconf="${myconf} --with-ssl=gnutls"
+ #use ssl && ! use gnutls && myconf="${myconf} --with-ssl=openssl"
+ #! use gnutls && ! use ssl && myconf="${myconf} --without-ssl"
+ useq vpopmail || myconf="${myconf} --without-vpopmail"
+
+ ./configure \
+ --prefix=/usr \
+ --host=${CHOST} \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --datadir=/usr/share \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ ${myconf} || die "configure failed"
+ emake || die "make failed"
+}
+
+src_install () {
+ einstall || die "make install failed"
+
+ # rc script
+ exeinto /etc/init.d
+ newexe ${FILESDIR}/dovecot.init dovecot
+
+ # Create the dovecot.conf file from the dovecot-example.conf file that
+ # the dovecot folks nicely left for us....
+ mv ${D}/etc/dovecot-example.conf ${D}/etc/dovecot.conf
+
+ # ...changing the default mail spool locations to the Gentoo defaults.
+ if useq mbox; then
+ if useq maildir; then
+ ewarn "Both mbox and maildir USE flags set, using mbox"
+ fi
+ # /var/spool/mail/$USER mail spool
+ # The location of the INDEX may be overridden by the user if desired.
+ if [ -z ${DOVECOT_INDEX_PATH} ]; then
+ DOVECOT_INDEX_PATH='/var/dovecot/%u'
+ dodir /var/dovecot
+ fi
+ sed -i -e \
+ "s|#default_mail_env =|default_mail_env = mbox:/var/spool/mail/%u:INDEX=${DOVECOT_INDEX_PATH}|" \
+ ${D}/etc/dovecot.conf
+ # enable dovecot to create dotlocks in /var/spool/mail
+ sed -i -e \
+ 's|#mail_extra_groups =|mail_extra_groups = mail|' \
+ ${D}/etc/dovecot.conf
+ elif useq maildir; then
+ # $HOME/.maildir mail spool.
+ sed -i -e \
+ 's|#default_mail_env =|default_mail_env = maildir:%h/.maildir|' \
+ ${D}/etc/dovecot.conf
+ else
+ einfo "Both mbox and maildir USE flags unset, not modifying"
+ einfo "default_mail_env in /etc/dovecot.conf"
+ fi
+
+ # PAM
+ # We're using pam files (imap and pop3) provided by mailbase-0.00-r8
+ if useq pam; then
+ sed -i -e '/passdb pam {/,+10s:#args = .*:args = \*:' ${D}/etc/dovecot.conf
+ fi
+
+ # Documentation
+ rm -rf ${D}/usr/share/doc/dovecot
+ dodoc AUTHORS COPYING* NEWS README TODO dovecot-example.conf
+ dodoc doc/*.txt doc/*.conf doc/*.cnf doc/mkcert.sh
+
+ # Create SSL certificates
+ if useq ssl || useq gnutls; then
+ dodir /etc/ssl/certs
+ dodir /etc/ssl/private
+ # Let's not make a new certificate if we already have one
+ if ! [[ -e /etc/ssl/certs/dovecot.pem && \
+ -e /etc/ssl/private/dovecot.pem ]]; then
+ einfo "Generating X.509 certificate for SSL"
+ pushd doc >/dev/null && \
+ SSLDIR=${D}/etc/ssl sh mkcert.sh && \
+ popd >/dev/null
+ fi
+ fi
+
+ dodir /var/run/dovecot
+ fowners root:root /var/run/dovecot
+ fperms 0700 /var/run/dovecot
+ keepdir /var/run/dovecot/login
+ fowners root:dovecot /var/run/dovecot/login
+ fperms 0750 /var/run/dovecot/login
+ fperms 0600 /etc/dovecot.conf
+}
+
+pkg_postinst() {
+ if useq pam; then
+ ewarn "If you are upgrading from Dovecot prior to 0.99.14-r1. be aware that the PAM"
+ ewarn "profile usage was changed. Dovecot's services now use distinctive profiles,"
+ ewarn "i.e. IMAP uses profile 'imap', POP3S uses profile 'pop3s', etc..."
+ echo
+ einfo "The above applies for default configuration (\"auth_passdb = pam *\")."
+ einfo "These PAM profiles are provided by net-mail/mailbase ebuild."
+ echo
+ fi
+ einfo "Please review /etc/dovecot.conf, particularly auth_userdb and auth_passdb."
+}