commit:     5c0f49b23382ef81e9ea64f0dfa9d2ef69eb9378
Author:     Eray Aslan <eras <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 11 20:08:47 2025 +0000
Commit:     Eray Aslan <eras <AT> gentoo <DOT> org>
CommitDate: Mon Aug 11 20:24:33 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c0f49b2

net-mail/mailutils: Build uidnew only when DBM is enabled

The uidnew sieve extension was unconditionally built and linked against
libmu_dbm, even when DBM support was explicitly disabled. Build the
uidnew extension only when DBM support is enabled

Closes: https://bugs.gentoo.org/960958
Signed-off-by: Eray Aslan <eras <AT> gentoo.org>

 .../files/mailutils-3.20-fix-dbm-dependency.patch  |  30 ++++
 net-mail/mailutils/mailutils-3.20-r1.ebuild        | 163 +++++++++++++++++++++
 2 files changed, 193 insertions(+)

diff --git a/net-mail/mailutils/files/mailutils-3.20-fix-dbm-dependency.patch 
b/net-mail/mailutils/files/mailutils-3.20-fix-dbm-dependency.patch
new file mode 100644
index 000000000000..256193ebdf08
--- /dev/null
+++ b/net-mail/mailutils/files/mailutils-3.20-fix-dbm-dependency.patch
@@ -0,0 +1,30 @@
+--- a/libmu_sieve/extensions/Makefile.am       2025-08-11 16:25:13.850209754 
+0200
++++ b/libmu_sieve/extensions/Makefile.am       2025-08-11 16:35:28.312393817 
+0200
+@@ -15,17 +15,23 @@
+ ## along with GNU Mailutils.  If not, see <http://www.gnu.org/licenses/>.
+ 
+ moddir=$(MU_SIEVE_MODDIR)
+-mod_LTLIBRARIES = \
++
++BASE_MODULES = \
+  editheader.la\
+  list.la\
+  moderator.la\
+  pipe.la\
+  spamd.la\
+  timestamp.la\
+- uidnew.la\
+  vacation.la
++
++if MU_COND_DBM
++DBM_MODULES = uidnew.la
++uidnew_la_LIBADD = ${top_builddir}/libmu_dbm/libmu_dbm.la
++endif
++
++mod_LTLIBRARIES = $(BASE_MODULES) $(DBM_MODULES)
++
+ AM_CPPFLAGS = $(MU_APP_COMMON_INCLUDES)
+ AM_LDFLAGS = -module -avoid-version -no-undefined -rpath '$(moddir)'
+ LIBS = ../libmu_sieve.la
+-
+-uidnew_la_LIBADD = ${top_builddir}/libmu_dbm/libmu_dbm.la

diff --git a/net-mail/mailutils/mailutils-3.20-r1.ebuild 
b/net-mail/mailutils/mailutils-3.20-r1.ebuild
new file mode 100644
index 000000000000..8bb77a491129
--- /dev/null
+++ b/net-mail/mailutils/mailutils-3.20-r1.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+PYTHON_COMPAT=( python3_{12..14} )
+
+inherit autotools elisp-common flag-o-matic guile-single python-single-r1 
toolchain-funcs
+
+DESCRIPTION="A useful collection of mail servers, clients, and filters"
+HOMEPAGE="https://mailutils.org/";
+SRC_URI="mirror://gnu/mailutils/${P}.tar.xz"
+
+LICENSE="GPL-3+ LGPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86 ~ppc-macos ~x64-macos"
+IUSE="berkdb bidi +clients emacs gdbm sasl guile kerberos kyotocabinet \
+       ldap mysql nls pam postgres python servers split-usr ssl static-libs 
test +threads tcpd \
+       tokyocabinet"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       !mail-filter/libsieve
+       !mail-client/mailx
+       sys-libs/ncurses:=
+       sys-libs/readline:=
+       dev-libs/libltdl:0
+       virtual/libcrypt:=
+       virtual/mta
+       berkdb? ( sys-libs/db:= )
+       bidi? ( dev-libs/fribidi )
+       emacs? ( >=app-editors/emacs-23.1:* )
+       gdbm? ( sys-libs/gdbm:= )
+       guile? ( ${GUILE_DEPS} )
+       kerberos? ( virtual/krb5 )
+       kyotocabinet? ( dev-db/kyotocabinet )
+       ldap? ( net-nds/openldap:= )
+       mysql? ( dev-db/mysql-connector-c:= )
+       nls? ( sys-devel/gettext )
+       pam? ( sys-libs/pam:= )
+       postgres? ( dev-db/postgresql:= )
+       python? ( ${PYTHON_DEPS} )
+       sasl? ( >=net-misc/gsasl-2.0.0 )
+       servers? ( virtual/libiconv dev-libs/libunistring:= )
+       ssl? ( net-libs/gnutls:= )
+       tcpd? ( sys-apps/tcp-wrappers )
+       tokyocabinet? ( dev-db/tokyocabinet )
+       "
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+       virtual/pkgconfig
+       test? ( dev-util/dejagnu )
+"
+
+REQUIRED_USE="
+       guile? ( ${GUILE_REQUIRED_USE} )
+       python? ( ${PYTHON_REQUIRED_USE} )
+       servers? ( tcpd ldap )"
+
+DOCS=( ABOUT-NLS AUTHORS COPYING COPYING.LESSER ChangeLog INSTALL NEWS README 
THANKS TODO )
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.5-add-include.patch
+       "${FILESDIR}"/${PN}-3.20-fix-dbm-dependency.patch
+)
+
+pkg_setup() {
+       use guile && guile-single_pkg_setup
+       use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       default
+       if use guile; then
+               guile_bump_sources
+               sed -i -e "s|guile|${GUILE}|" libmu_scm/tests/testsuite || die
+       fi
+       if use mysql; then
+               sed -i -e /^INCLUDES/"s:$:$(mysql_config --include):" \
+                       sql/Makefile.am || die
+       fi
+       eautoreconf
+}
+
+src_configure() {
+       # bug #943873
+       append-cflags -std=gnu17
+
+       if use guile; then
+               export GUILE_SNARF="${GUILESNARF}"
+               export GUILE_TOOLS="${GUILE/guile/guile-tools}"
+       fi
+
+       # maildir is the Gentoo default
+       econf \
+               MU_DEFAULT_SCHEME=maildir \
+               CURSES_LIBS="$($(tc-getPKG_CONFIG) --libs ncurses)" \
+               $(use_with berkdb berkeley-db) \
+               $(use_with bidi fribidi) \
+               $(use_with gdbm) \
+               $(use_with sasl gsasl) \
+               $(use_with guile) \
+               $(use_with kerberos gssapi) \
+               $(use_with ldap) \
+               $(use_with mysql) \
+               $(use_enable nls) \
+               $(use_enable pam) \
+               $(use_with postgres) \
+               $(use_enable python) \
+               $(use_with ssl gnutls) \
+               $(use_enable static-libs static) \
+               $(use_enable threads pthread) \
+               $(use_with tokyocabinet) \
+               $(use_with kyotocabinet) \
+               $(use_with tcpd tcp-wrappers) \
+               $(use_enable servers build-servers) \
+               $(use_with servers unistring ) \
+               $(use_enable clients build-clients) \
+               EMACS=$(usex emacs emacs no) \
+               --with-lispdir="${EPREFIX}${SITELISP}/${PN}" \
+               --with-mail-spool=/var/spool/mail \
+               --with-readline \
+               --enable-ipv6 \
+               --enable-sendmail \
+               --disable-debug
+}
+
+src_install() {
+       default
+
+       insinto /etc
+       # bug 613112
+       newins "${FILESDIR}/mailutils.rc" mailutils.conf
+       keepdir /etc/mailutils.d/
+       insinto /etc/mailutils.d
+       doins "${FILESDIR}/mail"
+
+       use guile && guile_unstrip_ccache
+
+       if use python; then
+               python_optimize
+               if use static-libs; then
+                       rm -r "${D}$(python_get_sitedir)/mailutils"/*.{a,la} || 
die
+               fi
+       fi
+
+       if use servers; then
+               newinitd "${FILESDIR}"/imap4d.initd imap4d
+               newinitd "${FILESDIR}"/pop3d.initd pop3d
+               newinitd "${FILESDIR}"/comsatd.initd comsatd
+       fi
+
+       # compatibility link
+       if use clients && use split-usr; then
+               dosym ../usr/bin/mail /bin/mail
+       fi
+
+       if ! use static-libs; then
+               find "${D}" -name "*.la" -delete || die
+       fi
+}

Reply via email to