summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mail-filter/maildrop/Manifest1
-rw-r--r--mail-filter/maildrop/files/maildrop-3.1.7-testsuite.patch68
-rw-r--r--mail-filter/maildrop/files/maildrop-3.1.7-valgrind.patch31
-rw-r--r--mail-filter/maildrop/maildrop-3.1.7.ebuild151
4 files changed, 251 insertions, 0 deletions
diff --git a/mail-filter/maildrop/Manifest b/mail-filter/maildrop/Manifest
index 5951b1492bb5..f956e56f745f 100644
--- a/mail-filter/maildrop/Manifest
+++ b/mail-filter/maildrop/Manifest
@@ -2,3 +2,4 @@ DIST maildrop-3.0.2.tar.bz2 2129406 BLAKE2B 10572c9c0fcb7a31f10fdfb005562afd425d
DIST maildrop-3.1.4.tar.bz2 2156148 BLAKE2B e7de4e30ee23d8d2f88de7b0398a41c84af6d34207e9f26fd7b22e7ac1b5171c309c6304b312a75e621bc860e5a2d3f59613e47ff5a73ae6412761179f787f53 SHA512 b8f373e142c61ba9cdf32fd939aa7fc5c24ec873f734be048e94561e35977b6fb663ff4a1c35fc22dc7dc2075e04e4c4a09e37c0e7c7c0dd96555fcda9c7fd26
DIST maildrop-3.1.5.tar.bz2 2156334 BLAKE2B 374c0436a0e5954171bf942d824123d610057269739f5f76f4353b75065a964fe92d95a80209a07187d3ebcfe59a6d92d54c71fa52325fc4968e10c1b8eeaada SHA512 f722cbdf9aeb628ff68dcd280de5d7d37a3fae3692b7de5483cf0563631ff9b2eba9ef9baf3b3e3f6108d40e19b55dabddacaa3a064e6b71210b18f200bc67b7
DIST maildrop-3.1.6.tar.bz2 2156136 BLAKE2B fddb718e81d66a393f3bce720edb73c3638c255504d90f7613c05910a3a96ca2ad9ab350167096a2677d51770d26799f8bd89f287dda464163f82c5da8d8b28a SHA512 93364747c603d1d566f756e7ba8b10fd38d10749b269f1bf64596a56fe2b06f529f4b59b6256a5be0c44169f2c8cc9dcd7de91b3cc03288719ffee5db330b1d5
+DIST maildrop-3.1.7.tar.bz2 2156082 BLAKE2B 734380f8b76882a7b9c04203e971c72544eba6fc0b0a74ed4f48f5c3c1b5c2f2817fa8eff7268c934b840471a554ffe9ce159fc9c232a3c9b717f956c8862474 SHA512 972f3891d6f1daca97971d6cc3e09e4f78ce7bf8bb4520ed2836b8d7d9394546d403a0dd709e6b2e34706f67aae2563523bbc0953a9971cc2107fc0838fa095e
diff --git a/mail-filter/maildrop/files/maildrop-3.1.7-testsuite.patch b/mail-filter/maildrop/files/maildrop-3.1.7-testsuite.patch
new file mode 100644
index 000000000000..5f6b6605ecd5
--- /dev/null
+++ b/mail-filter/maildrop/files/maildrop-3.1.7-testsuite.patch
@@ -0,0 +1,68 @@
+Force en_US locale for certain tests.
+
+--- maildrop-3.0.0/libs/maildrop/Makefile.am
++++ maildrop-3.0.0/libs/maildrop/Makefile.am
+@@ -71,12 +71,14 @@
+ maildrop.lsm testsuite.txt.idn testsuite2
+
+ check-am: 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
+ VALGRIND="`which valgrind 2>/dev/null`"; export VALGRIND; @SHELL@ $(srcdir)/testsuite2
++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
+@@ -201,6 +201,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
+--- maildrop-3.0.0/libs/rfc2045/Makefile.am
++++ maildrop-3.0.0/libs/rfc2045/Makefile.am
+@@ -84,7 +84,10 @@
+ endif
+
+ check-am:
++if HAS_EN_US
+ @SHELL@ $(srcdir)/testsuite | cmp -s - $(srcdir)/$(TESTSUITE)
+ @SHELL@ $(srcdir)/testsuitemm | cmp -s - $(srcdir)/testsuitemm.txt
+ @SHELL@ $(srcdir)/testrfc3676parsersuite | diff -U 3 $(srcdir)/testrfc3676parsersuite.txt -
+ ./testrfc6533parser
++endif
++
+--- maildrop-3.0.0/libs/rfc2045/configure.ac
++++ maildrop-3.0.0/libs/rfc2045/configure.ac
+@@ -62,6 +62,15 @@
+ AC_CHECK_FUNC(strncasecmp,,CFLAGS="$CFLAGS -Dstrncasecmp=strnicmp")
+ AC_CHECK_FUNC(strcasecmp,,CFLAGS="$CFLAGS -Dstrcasecmp=stricmp")
+
++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.1.7-valgrind.patch b/mail-filter/maildrop/files/maildrop-3.1.7-valgrind.patch
new file mode 100644
index 000000000000..d0056625576c
--- /dev/null
+++ b/mail-filter/maildrop/files/maildrop-3.1.7-valgrind.patch
@@ -0,0 +1,31 @@
+--- a/libs/maildrop/Makefile.am 2024-02-18 06:43:15.291095955 +0100
++++ b/libs/maildrop/Makefile.am 2024-02-18 06:43:37.317830695 +0100
+@@ -77,7 +77,7 @@
+ sed '/^Message envelope sender/d' <testsuite.diff | \
+ diff -U 3 - $(srcdir)/testsuite.txt.idn || exit 1; \
+ rm -f testsuite.diff
+- VALGRIND="`which valgrind 2>/dev/null`"; export VALGRIND; @SHELL@ $(srcdir)/testsuite2
++ VALGRIND=""; export VALGRIND; @SHELL@ $(srcdir)/testsuite2
+ endif
+
+ noinst_DATA=maildrop.html maildrop.1 maildropfilter.html maildropfilter.7 \
+--- 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.7.ebuild b/mail-filter/maildrop/maildrop-3.1.7.ebuild
new file mode 100644
index 000000000000..644f2d25aaf5
--- /dev/null
+++ b/mail-filter/maildrop/maildrop-3.1.7.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2024 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 ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="berkdb debug dovecot gdbm ldap mysql postgres static-libs authlib +tools trashquota"
+
+CDEPEND="!mail-mta/courier
+ net-mail/mailbase
+ dev-libs/libpcre2
+ net-dns/libidn2:=
+ net-libs/courier-unicode:=
+ 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:= )
+ )
+ gdbm? ( net-mail/courier-imap[gdbm?,berkdb?] )
+ berkdb? ( net-mail/courier-imap[gdbm?,berkdb?] )
+ tools? (
+ !mail-mta/netqmail
+ !<net-mail/courier-imap-5.2.6
+ net-mail/courier-common
+ )"
+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
+}