summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mail-filter/maildrop')
-rw-r--r--mail-filter/maildrop/Manifest1
-rw-r--r--mail-filter/maildrop/files/maildrop-1.8.1-disable-fam.patch56
-rw-r--r--mail-filter/maildrop/files/maildrop-2.5.1-db.patch63
-rw-r--r--mail-filter/maildrop/files/maildrop-testsuite.patch67
-rw-r--r--mail-filter/maildrop/files/maildroprc3
-rw-r--r--mail-filter/maildrop/maildrop-2.6.0.ebuild141
-rw-r--r--mail-filter/maildrop/metadata.xml13
7 files changed, 344 insertions, 0 deletions
diff --git a/mail-filter/maildrop/Manifest b/mail-filter/maildrop/Manifest
new file mode 100644
index 000000000000..35a779783dd8
--- /dev/null
+++ b/mail-filter/maildrop/Manifest
@@ -0,0 +1 @@
+DIST maildrop-2.6.0.tar.bz2 2174922 SHA256 afc115119b2d3197c565002e158c2cb69d525288bf72c71919c3c74096b824a9 SHA512 210841add8aff389589802f15ea74776815ecfd0dd9d5fb4f244d101e3d3f5dbb833a38f1d539b869c49685cfe34b0e6e014a5888c2537c9d89c68d754248db4 WHIRLPOOL c6d8f2be69a02fa757ac4dd653c22c79c8da6c2c1c112d48e0d4c491238d20e4c093d01f728ea337b1ba12bc75d88c5a252ff036114fe2339666776f2be44e80
diff --git a/mail-filter/maildrop/files/maildrop-1.8.1-disable-fam.patch b/mail-filter/maildrop/files/maildrop-1.8.1-disable-fam.patch
new file mode 100644
index 000000000000..49d1cc7a5326
--- /dev/null
+++ b/mail-filter/maildrop/files/maildrop-1.8.1-disable-fam.patch
@@ -0,0 +1,56 @@
+diff -ruBb maildrop-1.8.1.orig/configure.in maildrop-1.8.1/configure.in
+--- maildrop-1.8.1.orig/configure.in 2005-05-12 16:45:57.000000000 +0200
++++ maildrop-1.8.1/configure.in 2005-09-10 20:05:28.000000000 +0200
+@@ -145,6 +145,7 @@
+ --enable-tempdir=.tmp directory for temp files (in user's home dir)
+ --disable-tempdir disable temp files in home directory (use
+ the tmpfile function)
++ --disable-fam disable libfam.a for maildir operations
+ --enable-smallmsg=8192 size of buffer for small messages
+ --enable-global-timeout=300 global watchdog timer (seconds)
+ --enable-crlf-term=0 enable <CR><LF> line termination
+diff -ruBb maildrop-1.8.1.orig/maildir/configure.in maildrop-1.8.1/maildir/configure.in
+--- maildrop-1.8.1.orig/maildir/configure.in 2005-03-21 13:11:24.000000000 +0100
++++ maildrop-1.8.1/maildir/configure.in 2005-09-10 20:10:55.000000000 +0200
+@@ -58,26 +58,30 @@
+ AC_STRUCT_TM
+
+ dnl Checks for library functions.
+-AC_CHECK_HEADER(fam.h, :, :)
+-AC_CHECK_FUNCS(symlink readlink strcasecmp utime utimes)
+-AC_CHECK_LIB(fam, FAMOpen, [
++AC_ARG_ENABLE(fam, [ --disable-fam Do not use libfam.a library.])
++if test x$enableval = xyes
++then
++ AC_CHECK_HEADER(fam.h, :, :)
++ AC_CHECK_FUNCS(symlink readlink strcasecmp utime utimes)
++ AC_CHECK_LIB(fam, FAMOpen, [
+ LIBFAM=-lfam
+ AC_DEFINE_UNQUOTED(HAVE_FAM,1,
+ [ Whether libfam.a is available ])
+
+ AC_CHECK_HEADER(fam.h, : , [
+-AC_MSG_WARN([[The development header files and libraries for fam,]])
+-AC_MSG_WARN([[the File Alteration Monitor, are not installed.]])
+-AC_MSG_WARN([[You appear to have the FAM runtime libraries installed,]])
+-AC_MSG_WARN([[so you need to simply install the additional development]])
+-AC_MSG_WARN([[package for your operating system.]])
+-AC_MSG_ERROR([[FAM development libraries not found.]]) ]
++ AC_MSG_WARN([[The development header files and libraries for fam,]])
++ AC_MSG_WARN([[the File Alteration Monitor, are not installed.]])
++ AC_MSG_WARN([[You appear to have the FAM runtime libraries installed,]])
++ AC_MSG_WARN([[so you need to simply install the additional development]])
++ AC_MSG_WARN([[package for your operating system.]])
++ AC_MSG_ERROR([[FAM development libraries not found.]]) ]
+ )
+ ])
+
+-AC_SUBST(LIBFAM)
++ AC_SUBST(LIBFAM)
+
+-echo "$LIBFAM" >maildir.libdeps
++ echo "$LIBFAM" >maildir.libdeps
++fi
+
+ AC_CACHE_CHECK([for missing gethostname prototype],maildir_cv_SYS_GETHOSTNAME,
+
diff --git a/mail-filter/maildrop/files/maildrop-2.5.1-db.patch b/mail-filter/maildrop/files/maildrop-2.5.1-db.patch
new file mode 100644
index 000000000000..4930fb0d155c
--- /dev/null
+++ b/mail-filter/maildrop/files/maildrop-2.5.1-db.patch
@@ -0,0 +1,63 @@
+--- maildrop/bdbobj/configure.in
++++ maildrop/bdbobj/configure.in
+@@ -23,15 +23,19 @@
+ dnl Checks for libraries.
+
+ saveLIBS="$LIBS"
+-AC_CHECK_LIB(db, dbopen, [ LIBDB=-ldb ; LIBS="-ldb $LIBS" ],
+- AC_CHECK_LIB(db, db_open, [ LIBDB=-ldb ; LIBS="-ldb $LIBS"],
+- AC_CHECK_LIB(db, db_env_create, [ LIBDB=-ldb; LIBS="-ldb $LIBS"])
+- ))
++for dbname in db-5.2 db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db
++ do
++ AC_CHECK_LIB($dbname, db_create_4002, [ LIBDB=-l$dbname ; LIBS="-l$dbname $LIBS"; break ],
++ AC_CHECK_LIB($dbname, db_create_4001, [ LIBDB=-l$dbname ; LIBS="-l$dbname $LIBS"; break ],
++ AC_CHECK_LIB($dbname, db_create_4000, [ LIBDB=-l$dbname ; LIBS="-l$dbname $LIBS"; break ],
++ AC_CHECK_LIB($dbname, db_create, [ LIBDB=-l$dbname ; LIBS="-l$dbname $LIBS"; break ]))))
+
++ done
+ FOUND_DB=0
+-AC_CHECK_FUNC(dbopen, FOUND_DB=1)
+-AC_CHECK_FUNC(db_open, FOUND_DB=1)
+-AC_CHECK_FUNC(db_env_create, FOUND_DB=1)
++AC_CHECK_FUNC(db_create, FOUND_DB=1)
++AC_CHECK_FUNC(db_create_4002, FOUND_DB=1)
++AC_CHECK_FUNC(db_create_4001, FOUND_DB=1)
++AC_CHECK_FUNC(db_create_4000, FOUND_DB=1)
+
+ LIBS="$saveLIBS"
+
+--- maildrop/configure.in
++++ maildrop/configure.in
+@@ -115,18 +115,21 @@
+ USE_GDBM=1
+ ;;
+ db)
+- AC_CHECK_LIB(db, dbopen, [ LIBDB=-ldb ; LIBS="-ldb $LIBS" ],
+- AC_CHECK_LIB(db, db_open, [ LIBDB=-ldb ; LIBS="-ldb $LIBS"],
+- AC_CHECK_LIB(db, db_env_create,
+- [ LIBDB=-ldb; LIBS="-ldb $LIBS"])
+- ))
+-
+- AC_CHECK_FUNC(dbopen, HAVE_BDB=1)
+- AC_CHECK_FUNC(db_open, HAVE_BDB=1)
+- AC_CHECK_FUNC(db_env_create, HAVE_BDB=1)
++ for dbname in db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db
++ do
++ AC_CHECK_LIB($dbname, db_create_4002, [ LIBDB=-l$dbname ; LIBS="-l$dbname $LIBS"; break ],
++ AC_CHECK_LIB($dbname, db_create_4001, [ LIBDB=-l$dbname ; LIBS="-l$dbname $LIBS"; break ],
++ AC_CHECK_LIB($dbname, db_create_4000, [ LIBDB=-l$dbname ; LIBS="-l$dbname $LIBS"; break ],
++ AC_CHECK_LIB($dbname, db_create, [ LIBDB=-l$dbname ; LIBS="-l$dbname $LIBS"; break ]))))
++ done
++ AC_CHECK_FUNC(db_create, HAVE_BDB=1)
++ AC_CHECK_FUNC(db_create_4002, HAVE_BDB=1)
++ AC_CHECK_FUNC(db_create_4001, HAVE_BDB=1)
++ AC_CHECK_FUNC(db_create_4000, HAVE_BDB=1)
++
+ if test "$HAVE_BDB" != "1"
+ then
+- AC_MSG_ERROR(GDBM library not found)
++ AC_MSG_ERROR(DB library not found)
+ fi
+ dblibrary=bdbobj/libbdbobj.la
+ USE_DB=1
diff --git a/mail-filter/maildrop/files/maildrop-testsuite.patch b/mail-filter/maildrop/files/maildrop-testsuite.patch
new file mode 100644
index 000000000000..377fb19d151c
--- /dev/null
+++ b/mail-filter/maildrop/files/maildrop-testsuite.patch
@@ -0,0 +1,67 @@
+Need en_US.utf8 to run some tests - bug #376667
+
+--- maildrop/Makefile.am 2011-04-04 15:58:58.000000000 +0000
++++ maildrop/Makefile.am 2011-07-28 10:29:43.000000000 +0000
+@@ -75,8 +75,12 @@
+ maildrop.lsm testsuite.txt.idn testsuite.txt.noidn
+
+ check-am:
++if HAS_EN_US
+ @chmod +x testsuite
+ ./testsuite | cmp -s - $(srcdir)/$(TESTSUITE)
++else
++ echo ' Need en_US.utf8 to run tests'
++endif
+
+ noinst_DATA=maildrop.html maildrop.1 maildropfilter.html maildropfilter.7 \
+ maildropgdbm.html maildropgdbm.7
+--- maildrop/configure.in 2011-05-17 20:36:04.000000000 +0000
++++ maildrop/configure.in 2011-07-28 10:58:57.000000000 +0000
+@@ -200,6 +200,15 @@
+ AC_TYPE_SIGNAL
+ AC_CHECK_FUNCS(setgroups setlocale)
+
++check_en_US() {
++locale -a | grep en_US.utf8 > /dev/null
++return $?
++}
++
++AC_MSG_CHECKING([for en_US.utf8])
++AM_CONDITIONAL([HAS_EN_US], [check_en_US])
++AM_COND_IF([HAS_EN_US],[AC_MSG_RESULT([yes])],[AC_MSG_RESULT([not found])])
++
+ AC_CHECK_FUNC(getpgrp, HAS_GETPGRP=1, HAS_GETPGRP=0)
+ AC_DEFINE_UNQUOTED(HAS_GETPGRP,$HAS_GETPGRP,
+ [ Whether getpgrp() is available ])
+--- rfc2045/Makefile.am 2011-04-04 15:59:47.000000000 +0000
++++ rfc2045/Makefile.am 2011-07-29 09:28:41.000000000 +0000
+@@ -76,7 +76,11 @@
+ TESTSUITE=testsuite.txt.noidn
+ endif
+
++if HAS_EN_US
+ check-am:
+ @SHELL@ $(srcdir)/testsuite | cmp -s - $(srcdir)/$(TESTSUITE)
+ @SHELL@ $(srcdir)/testsuitemm | cmp -s - $(srcdir)/testsuitemm.txt
+ @SHELL@ $(srcdir)/testrfc3676parsersuite | diff -U 3 $(srcdir)/testrfc3676parsersuite.txt -
++else
++ echo ' Need en_US.utf8 to run tests'
++endif
+--- rfc2045/configure.in 2011-04-04 15:59:47.000000000 +0000
++++ rfc2045/configure.in 2011-07-29 09:28:34.000000000 +0000
+@@ -59,6 +59,15 @@
+ AC_CHECK_FUNC(strncasecmp,,CFLAGS="$CFLAGS -Dstrncasecmp=strnicmp")
+ AC_CHECK_FUNC(strcasecmp,,CFLAGS="$CFLAGS -Dstrcasecmp=stricmp")
+
++check_en_US() {
++locale -a | grep en_US.utf8 > /dev/null
++return $?
++}
++
++AC_MSG_CHECKING([for en_US.utf8])
++AM_CONDITIONAL([HAS_EN_US], [check_en_US])
++AM_COND_IF([HAS_EN_US],[AC_MSG_RESULT([yes])],[AC_MSG_RESULT([not found])])
++
+ AC_ARG_WITH(package, [], package="$withval",
+ [
+ package="$PACKAGE"
diff --git a/mail-filter/maildrop/files/maildroprc b/mail-filter/maildrop/files/maildroprc
new file mode 100644
index 000000000000..0b72d5526687
--- /dev/null
+++ b/mail-filter/maildrop/files/maildroprc
@@ -0,0 +1,3 @@
+# Global maildrop filter file
+
+#DEFAULT="$HOME/.maildir/"
diff --git a/mail-filter/maildrop/maildrop-2.6.0.ebuild b/mail-filter/maildrop/maildrop-2.6.0.ebuild
new file mode 100644
index 000000000000..dd22bf2b296c
--- /dev/null
+++ b/mail-filter/maildrop/maildrop-2.6.0.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils flag-o-matic autotools
+
+DESCRIPTION="Mail delivery agent/filter"
+[[ -z ${PV/?.?/} ]] && SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2"
+[[ -z ${PV/?.?.?/} ]] && SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2"
+[[ -z ${SRC_URI} ]] && SRC_URI="http://www.courier-mta.org/beta/${PN}/${P%%_pre}.tar.bz2"
+HOMEPAGE="http://www.courier-mta.org/maildrop/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86"
+IUSE="berkdb debug fam gdbm ldap mysql postgres static-libs authlib +tools trashquota"
+
+CDEPEND="!mail-mta/courier
+ net-mail/mailbase
+ dev-libs/libpcre
+ net-dns/libidn
+ gdbm? ( >=sys-libs/gdbm-1.8.0 )
+ mysql? ( net-libs/courier-authlib )
+ postgres? ( net-libs/courier-authlib )
+ ldap? ( net-libs/courier-authlib )
+ authlib? ( net-libs/courier-authlib )
+ fam? ( virtual/fam )
+ !gdbm? (
+ berkdb? ( >=sys-libs/db-3 )
+ )
+ tools? (
+ !mail-mta/netqmail
+ !net-mail/courier-imap
+ !mail-mta/mini-qmail
+ )"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ dev-lang/perl"
+REQUIRED_USE="mysql? ( authlib )
+ postgres? ( authlib )
+ ldap? ( authlib )"
+
+S=${WORKDIR}/${P%%_pre}
+
+src_prepare() {
+ # Prefer gdbm over berkdb
+ if use gdbm ; then
+ use berkdb && elog "Both gdbm and berkdb selected. Using gdbm."
+ elif use berkdb ; then
+ epatch "${FILESDIR}"/${PN}-2.5.1-db.patch
+ fi
+
+ if ! use fam ; then
+ epatch "${FILESDIR}"/${PN}-1.8.1-disable-fam.patch
+ fi
+
+ # no need to error out if no default - it will be given to econf anyway
+ sed -i -e \
+ 's~AC_MSG_ERROR(Cannot determine default mailbox)~SPOOLDIR="./.maildir"~' \
+ "${S}"/maildrop/configure.in || die "sed failed"
+ epatch "${FILESDIR}"/${PN}-testsuite.patch
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ local mytrustedusers="apache dspam root mail fetchmail"
+ mytrustedusers+=" daemon postmaster qmaild mmdf vmail alias"
+
+ # These flags make maildrop cry
+ replace-flags -Os -O2
+ filter-flags -fomit-frame-pointer
+
+ if use gdbm ; then
+ myconf="${myconf} --with-db=gdbm"
+ elif use berkdb ; then
+ myconf="${myconf} --with-db=db"
+ else
+ myconf="${myconf} --without-db"
+ fi
+
+ if ! use mysql && ! use postgres && ! use ldap && ! use authlib ; then
+ myconf="${myconf} --disable-authlib"
+ fi
+
+ # Default mailbox is $HOME/.maildir for Gentoo
+ maildrop_cv_SYS_INSTALL_MBOXDIR="./.maildir" econf \
+ $(use_enable fam) \
+ --disable-dependency-tracker \
+ --with-devel \
+ --disable-tempdir \
+ --enable-syslog=1 \
+ --enable-use-flock=1 \
+ --enable-use-dotlock=1 \
+ --enable-restrict-trusted=1 \
+ --enable-trusted-users="${mytrustedusers}" \
+ --enable-maildrop-uid=root \
+ --enable-maildrop-gid=mail \
+ --enable-sendmail=/usr/sbin/sendmail \
+ --cache-file="${S}"/configuring.cache \
+ $(use_enable static-libs static) \
+ $(use_with trashquota) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ fperms 4755 /usr/bin/maildrop
+
+ dodoc AUTHORS ChangeLog INSTALL NEWS README \
+ README.postfix UPGRADE maildroptips.txt
+ docinto unicode
+ dodoc unicode/README
+ docinto maildir
+ dodoc maildir/AUTHORS maildir/INSTALL maildir/README*.txt
+
+ # bugs #61116 #374009
+ if ! use tools ; then
+ for tool in "maildirmake" "deliverquota"; do
+ rm "${D}/usr/bin/${tool}"
+ rm "${D}/usr/share/man/man"[0-9]"/${tool}."[0-9]
+ rm "${D}/usr/share/maildrop/html/${tool}.html"
+ done
+ rm "${D}/usr/share/man/man5/maildir.5"
+ fi
+
+ dodir "/usr/share/doc/${PF}"
+ mv "${D}/usr/share/maildrop/html" "${D}/usr/share/doc/${PF}/" || die
+ rm -rf "${D}"/usr/share/maildrop
+
+ dohtml *.html maildir/*.html
+
+ insinto /etc
+ doins "${FILESDIR}"/maildroprc
+
+ use static-libs || find "${D}"/usr/lib* -name '*.la' -delete
+}
diff --git a/mail-filter/maildrop/metadata.xml b/mail-filter/maildrop/metadata.xml
new file mode 100644
index 000000000000..75e94b28412c
--- /dev/null
+++ b/mail-filter/maildrop/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>net-mail</herd>
+ <use>
+ <flag name="authlib">Add courier-authlib support</flag>
+ <flag name="tools">Install maildirmake and deliverquota tools</flag>
+ <flag name="trashquota">Count deleted messages as part of the maildir quota</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">courier</remote-id>
+ </upstream>
+</pkgmetadata>