summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mail-filter/maildrop/Manifest1
-rw-r--r--mail-filter/maildrop/files/maildrop-3.2.1-testsuite.patch97
-rw-r--r--mail-filter/maildrop/files/maildrop-3.2.1-valgrind.patch20
-rw-r--r--mail-filter/maildrop/maildrop-3.1.6-r3.ebuild (renamed from mail-filter/maildrop/maildrop-3.1.6-r2.ebuild)2
-rw-r--r--mail-filter/maildrop/maildrop-3.1.8-r1.ebuild (renamed from mail-filter/maildrop/maildrop-3.1.8.ebuild)2
-rw-r--r--mail-filter/maildrop/maildrop-3.2.1.ebuild151
6 files changed, 271 insertions, 2 deletions
diff --git a/mail-filter/maildrop/Manifest b/mail-filter/maildrop/Manifest
index 5edf893fd101..a92ff88266e1 100644
--- a/mail-filter/maildrop/Manifest
+++ b/mail-filter/maildrop/Manifest
@@ -1,2 +1,3 @@
DIST maildrop-3.1.6.tar.bz2 2156136 BLAKE2B fddb718e81d66a393f3bce720edb73c3638c255504d90f7613c05910a3a96ca2ad9ab350167096a2677d51770d26799f8bd89f287dda464163f82c5da8d8b28a SHA512 93364747c603d1d566f756e7ba8b10fd38d10749b269f1bf64596a56fe2b06f529f4b59b6256a5be0c44169f2c8cc9dcd7de91b3cc03288719ffee5db330b1d5
DIST maildrop-3.1.8.tar.bz2 2156016 BLAKE2B 640a5dc17f0cc238f8260acf8188bd625501bccda7a23e9c154fedece8ee42087106e27cafee5fbbaa7c09560d796e68548c6d2826e6fe4c9e1b330f2b971511 SHA512 0ee8e36cc5464cbbbef60721da19de7a12b9aa4737e40039c421ee14494c53f87146d50d1b8ae64186d8330121d54a62092435cadb51c3dede31658ff5104eb8
+DIST maildrop-3.2.1.tar.bz2 2392200 BLAKE2B 5f61a7ba2e2abc0b059770a9ae2111b070978a3b70301c4a6a5ca8382b664aa28e88bce03abd054542c90592a449b3dea88f8c60bef4b0a6f445039ff57d713e SHA512 3a7bdeaf1feb0b8d5c70a08ab6de4634ab4b819659c28e7c782ef00d5e61d43ce6b42176065a09e0da2ebbc68e084dd46bfa48fe1c0ac0cada3ff3adc5fd2d37
diff --git a/mail-filter/maildrop/files/maildrop-3.2.1-testsuite.patch b/mail-filter/maildrop/files/maildrop-3.2.1-testsuite.patch
new file mode 100644
index 000000000000..14720e44b78e
--- /dev/null
+++ b/mail-filter/maildrop/files/maildrop-3.2.1-testsuite.patch
@@ -0,0 +1,97 @@
+Force en_US locale for certain tests.
+
+--- a/libs/maildrop/Makefile.am
++++ b/libs/maildrop/Makefile.am
+@@ -82,17 +82,22 @@
+ $(MAKE) run-testsuite-mailbot-old
+
+ run-testsuite: testsuite
++if HAS_EN_US
+ VALGRIND="`which valgrind 2>/dev/null`"; export VALGRIND; \
+ @SHELL@ ./testsuite >testsuite.diff || exit 1; \
+ sed '/^Message envelope sender/d' <testsuite.diff | \
+ diff -U 3 $(srcdir)/testsuite.txt.idn - || exit 1; \
+ rm -f testsuite.diff
++endif
+
+ run-testsuite2:
++if HAS_EN_US
+- VALGRIND="`which valgrind 2>/dev/null`"; export VALGRIND; \
++ VALGRIND=""; export VALGRIND; \
+ @SHELL@ $(srcdir)/testsuite2
++endif
+
+ run-testsuite-mailbot: testsuite.mailbot
++if HAS_EN_US
+ VALGRIND="`which valgrind 2>/dev/null`"; export VALGRIND; \
+ VALGRIND_EXTRA_OPTS="--leak-check=full"; \
+ export VALGRIND_EXTRA_OPTS; \
+@@ -101,14 +106,17 @@
+ @SHELL@ $(srcdir)/testsuite.mailbot >testsuite.diff
+ diff -U 3 $(srcdir)/testsuite.mailbot.txt testsuite.diff
+ rm -f mailbot.tst testsuite.diff
++endif
+
+ run-testsuite-mailbot-old: testsuite.mailbot
++if HAS_EN_US
+ VALGRIND="`which valgrind 2>/dev/null`"; export VALGRIND; \
+ rm -f ./mailbot.tst; \
+ ln -s mailbot-old mailbot.tst; \
+ @SHELL@ $(srcdir)/testsuite.mailbot >testsuite.diff
+ diff -U 3 $(srcdir)/testsuite.mailbot.txt testsuite.diff
+ rm -f mailbot.tst testsuite.diff
++endif
+
+ noinst_DATA=maildrop.html maildrop.1 maildropfilter.html maildropfilter.7 \
+ maildropgdbm.html maildropgdbm.7
+--- maildrop-3.0.0/libs/maildrop/configure.ac
++++ maildrop-3.0.0/libs/maildrop/configure.ac
+@@ -202,6 +202,15 @@
+ AC_DEFINE_UNQUOTED(MAXLONGSIZE, $MAXLONGSIZE,
+ [ Maximum character size of a long ])
+
++dnl check for en_US locale
++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])])
++
+ dnl Checks for library functions.
+
+ AC_FUNC_CLOSEDIR_VOID
+--- a/libs/rfc2045/Makefile.am
++++ b/libs/rfc2045/Makefile.am
+@@ -97,6 +97,7 @@
+ endif
+
+ check-am:
++if HAS_EN_US
+ @SHELL@ $(srcdir)/testsuite | diff -U 3 $(srcdir)/testsuite.txt.idn -
+ @SHELL@ $(srcdir)/testsuitemm | diff -U 3 $(srcdir)/testsuitemm.txt -
+ @SHELL@ $(srcdir)/testrfc3676parsersuite | diff -U 3 $(srcdir)/testrfc3676parsersuite.txt -
+@@ -107,3 +108,4 @@
+ valgrind --tool=memcheck --leak-check=yes --error-exitcode=1 ./testrfc6533parser ; \
+ valgrind --tool=memcheck --leak-check=yes --error-exitcode=1 ./testsuitecpp ; \
+ valgrind --tool=memcheck --leak-check=yes --error-exitcode=1 ./testsuitecpp2
++endif
+--- maildrop-3.0.0/libs/rfc2045/configure.ac
++++ maildrop-3.0.0/libs/rfc2045/configure.ac
+@@ -60,6 +60,15 @@
+ dnl Checks for library functions.
+ AC_CHECK_FUNCS(setlocale)
+
++dnl check for en_US locale
++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/maildrop-3.2.1-valgrind.patch b/mail-filter/maildrop/files/maildrop-3.2.1-valgrind.patch
new file mode 100644
index 000000000000..dece426901bc
--- /dev/null
+++ b/mail-filter/maildrop/files/maildrop-3.2.1-valgrind.patch
@@ -0,0 +1,20 @@
+--- a/libs/maildir/Makefile.am 2024-02-18 06:48:31.305134721 +0100
++++ b/libs/maildir/Makefile.am 2024-02-18 06:49:56.223057434 +0100
+@@ -152,17 +152,11 @@
+ test "@PCRE_LDFLAGS@" != "" || exit 0 ; @SHELL@ $(srcdir)/testsuite2 2>&1 | cmp - $(srcdir)/testsuite2.txt
+ LC_ALL=C; export LC_ALL; ./maildirkwtest | cmp -s - $(srcdir)/maildirkwtest.txt
+ LC_ALL=C; export LC_ALL; ./maildiraclttest
+- VALGRIND="`which valgrind 2>/dev/null`"; test "$$VALGRIND" != "" || exit 0; \
+- LC_ALL=C; export LC_ALL; valgrind --tool=memcheck --leak-check=yes --error-exitcode=1 ./maildiraclttest
+- VALGRIND="`which valgrind 2>/dev/null`"; test "$$VALGRIND" != "" || exit 0; \
+- LC_ALL=C; export LC_ALL; valgrind --tool=memcheck --leak-check=yes --error-exitcode=1 ./maildirkwtest
+ ./testmaildirsearch iso-8859-1 needle haystack; test $$? = 2 && exit 0; exit 1
+ ./testmaildirsearch iso-8859-1 nEEdle needlE
+ ./testmaildirsearch iso-8859-1 "abra cadAbra" "abra cadabra"
+ ./testmaildirsearch iso-8859-1 " abra cadAbra " " abra cadabra"
+ ./testmaildirsearch iso-8859-1 " abra cadAbra " " abra cadabra "
+- VALGRIND="`which valgrind 2>/dev/null`"; test "$$VALGRIND" != "" || exit 0; \
+- LC_ALL=C; export LC_ALL; export VALGRIND="@SHELL@ $(srcdir)/testsuitevalgrind"; rm -f confmdtesterror; @SHELL@ $(srcdir)/testsuite 2>&1 | tee testsuite.out; test ! -f confmdtesterror
+ rm -rf testsuite.out
+
+ if HAVE_SGML
diff --git a/mail-filter/maildrop/maildrop-3.1.6-r2.ebuild b/mail-filter/maildrop/maildrop-3.1.6-r3.ebuild
index c1a3f725a7e5..5893ce6f0eb8 100644
--- a/mail-filter/maildrop/maildrop-3.1.6-r2.ebuild
+++ b/mail-filter/maildrop/maildrop-3.1.6-r3.ebuild
@@ -21,7 +21,7 @@ CDEPEND="!mail-mta/courier
net-mail/mailbase
dev-libs/libpcre2
net-dns/libidn2:=
- net-libs/courier-unicode:=
+ <net-libs/courier-unicode-2.4:=
gdbm? ( sys-libs/gdbm:= )
mysql? ( net-libs/courier-authlib )
postgres? ( net-libs/courier-authlib )
diff --git a/mail-filter/maildrop/maildrop-3.1.8.ebuild b/mail-filter/maildrop/maildrop-3.1.8-r1.ebuild
index 3b245ae088cc..3a75ede4b526 100644
--- a/mail-filter/maildrop/maildrop-3.1.8.ebuild
+++ b/mail-filter/maildrop/maildrop-3.1.8-r1.ebuild
@@ -23,7 +23,7 @@ CDEPEND="!mail-mta/courier
net-mail/mailbase
dev-libs/libpcre2
net-dns/libidn2:=
- net-libs/courier-unicode:=
+ <net-libs/courier-unicode-2.4:=
gdbm? ( sys-libs/gdbm:= )
mysql? ( net-libs/courier-authlib )
postgres? ( net-libs/courier-authlib )
diff --git a/mail-filter/maildrop/maildrop-3.2.1.ebuild b/mail-filter/maildrop/maildrop-3.2.1.ebuild
new file mode 100644
index 000000000000..9c57adcd9700
--- /dev/null
+++ b/mail-filter/maildrop/maildrop-3.2.1.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit flag-o-matic autotools
+
+DESCRIPTION="Mail delivery agent/filter"
+[[ -z ${PV/?.?/} ]] && SRC_URI="https://downloads.sourceforge.net/courier/${P}.tar.bz2"
+[[ -z ${PV/?.?.?/} ]] && SRC_URI="https://downloads.sourceforge.net/courier/${P}.tar.bz2"
+[[ -z ${SRC_URI} ]] && SRC_URI="https://www.courier-mta.org/beta/${PN}/${P%%_pre}.tar.bz2"
+HOMEPAGE="https://www.courier-mta.org/maildrop/"
+
+S=${WORKDIR}/${P%%_pre}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="berkdb debug dovecot gdbm ldap mysql postgres static-libs authlib +tools trashquota"
+
+RESTRICT="test" # No more working
+
+CDEPEND="!mail-mta/courier
+ net-mail/mailbase
+ dev-libs/libpcre2
+ net-dns/libidn2:=
+ >=net-libs/courier-unicode-2.4.0:=
+ gdbm? ( sys-libs/gdbm:= )
+ mysql? ( net-libs/courier-authlib )
+ postgres? ( net-libs/courier-authlib )
+ ldap? ( net-libs/courier-authlib )
+ authlib? ( net-libs/courier-authlib )
+ !gdbm? (
+ berkdb? ( sys-libs/db:= )
+ )
+ tools? (
+ !mail-mta/netqmail
+ !<net-mail/courier-imap-5.2.6
+ net-mail/courier-common[gdbm?,berkdb?]
+ )"
+DEPEND="${CDEPEND}"
+RDEPEND="${CDEPEND}
+ dev-lang/perl
+ dovecot? ( net-mail/dovecot )"
+BDEPEND="virtual/pkgconfig"
+
+REQUIRED_USE="
+ mysql? ( authlib )
+ postgres? ( authlib )
+ ldap? ( authlib )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-testsuite.patch
+ "${FILESDIR}"/${P}-valgrind.patch
+ "${FILESDIR}"/${PN}-3.1.6-test.patch
+)
+
+src_prepare() {
+ # Prefer gdbm over berkdb
+ if use gdbm ; then
+ use berkdb && elog "Both gdbm and berkdb selected. Using gdbm."
+ 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}"/libs/maildrop/configure.ac || die "sed failed"
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-devel
+ --disable-tempdir
+ --enable-syslog=1
+ --enable-use-flock=1
+ --enable-use-dotlock=1
+ --enable-restrict-trusted=1
+ --enable-maildrop-uid=root
+ --enable-maildrop-gid=mail
+ --enable-sendmail=/usr/sbin/sendmail
+ --cache-file="${S}"/configuring.cache
+ $(use_enable static-libs static)
+ $(use_enable dovecot dovecotauth)
+ $(use_with trashquota)
+ )
+
+ local mytrustedusers="apache dspam root mail fetchmail"
+ mytrustedusers+=" daemon postmaster qmaild mmdf vmail alias"
+ myeconfargs+=( --enable-trusted-users="${mytrustedusers}" )
+
+ # These flags make maildrop cry
+ replace-flags -Os -O2
+ filter-flags -fomit-frame-pointer
+
+ if use gdbm ; then
+ myeconfargs+=( --with-db=gdbm )
+ elif use berkdb ; then
+ myeconfargs+=( --with-db=db )
+ else
+ myeconfargs+=( --without-db )
+ fi
+
+ if ! use mysql && ! use postgres && ! use ldap && ! use authlib ; then
+ myeconfargs+=( --disable-authlib )
+ fi
+
+ # default mailbox is $HOME/.maildir for Gentoo
+ maildrop_cv_SYS_INSTALL_MBOXDIR="./.maildir" econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ if use authlib ; then
+ fperms 4755 /usr/bin/maildrop
+ fi
+
+ # Moved to courier-common
+ rm "${D}"/usr/bin/deliverquota || die
+ rm "${D}"/usr/bin/maildirkw || die
+ if use gdbm; then
+ rm "${D}"/usr/bin/makedat || die
+ rm "${D}"/usr/bin/makedatprog || die
+ fi
+ rm "${D}"/usr/share/man/man1/maildirkw.1 || die
+ rm "${D}"/usr/share/man/man1/makedat.1 || die
+ rm "${D}"/usr/share/man/man8/deliverquota.8 || die
+
+ dodoc AUTHORS ChangeLog INSTALL NEWS README \
+ README.postfix README.dovecotauth UPGRADE \
+ maildroptips.txt
+ docinto maildir
+ dodoc libs/maildir/AUTHORS libs/maildir/INSTALL \
+ libs/maildir/README*.txt libs/maildir/*.html
+
+ # bugs 61116, 639124
+ if ! use tools ; then
+ for tool in "maildirmake" "maildirwatch"; do
+ rm "${D}/usr/bin/${tool}" || die
+ rm "${D}/usr/share/man/man"[0-9]"/${tool}."[0-9] || die
+ done
+ rm "${D}/usr/share/man/man5/maildir.5" || die
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/maildroprc
+
+ use static-libs || find "${D}"/usr/lib* -name '*.la' -delete
+}