commit: 99487680bcc62e71e750c9c6354ee11a2ff19ee7 Author: Eray Aslan <eras <AT> gentoo <DOT> org> AuthorDate: Sat Nov 1 11:03:39 2025 +0000 Commit: Eray Aslan <eras <AT> gentoo <DOT> org> CommitDate: Sat Nov 1 11:03:39 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99487680
net-mail/dovecot: add 2.4.2 Bug: https://bugs.gentoo.org/965297 Signed-off-by: Eray Aslan <eras <AT> gentoo.org> net-mail/dovecot/Manifest | 2 + net-mail/dovecot/dovecot-2.4.2.ebuild | 243 ++++++++++++++++++++++++++++++++++ net-mail/dovecot/metadata.xml | 1 + 3 files changed, 246 insertions(+) diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest index d91527ef557a..cf75ad5adc7f 100644 --- a/net-mail/dovecot/Manifest +++ b/net-mail/dovecot/Manifest @@ -1,4 +1,6 @@ DIST dovecot-2.3-pigeonhole-0.5.21.1.tar.gz 1956404 BLAKE2B ad0ea5c2c181aa9cdf12a7b58141a9812cad11e6ead4d4f38366e13589a84135db1998da179192a6e66a53240647906d96bb330982e7f2f204ba8c402f14cbbd SHA512 7387b417611599fe70d1a83d3b408321e66f5a883bf78a9d55c7496b1a17220677daebaefde2061e0d7064fe07c410ecfc64662878bb253ddcd9e128dd83fbaa DIST dovecot-2.3.21.1.tar.gz 7842044 BLAKE2B 3f4238a2f6a73bce1ed37d0def7dc2e61823173836879ed8b4ef5806b4403300335d551215fc4fb2ee8b4106276f84d16b24c2be53148b92da3f946a3b904e46 SHA512 9de6ce3a579ef2040248b692874a6d64a732bb735a9cee3144604927cad49690c4b0e29f7ecf3af23190d56f30956d955d13acd5d352534df62fbdfde4b60f9f DIST dovecot-2.4.1.tar.gz 6288223 BLAKE2B 4e0864984682e3b8a7e0cfb91794d7b8609fa1f33323443921a10abd286e58aa9e1e07807ddaf55d80e7994c6490e11d5f2543235c9a538cca2c8f4a268ea4f1 SHA512 4915e9282898a4bce4dc3c9781f9aa849e8a2d5bb89dffc2222b417560eaa0135d66342ef342098a86dd5e9b4e76d41145381b7264144411cf45a6f88ca36698 +DIST dovecot-2.4.2.tar.gz 7807240 BLAKE2B 20c3e0e4aea36cdd7e13a62ffc287cc3950a41a5d900ff00a48b2eba81ac2db85005c7fa6aec969d6615f4327fa0076572a607a0bbcbf620b6151dd09c6c09b7 SHA512 0524695341abe711d3a811c56156889d6fef7a09becc684c6f1dc1e5add605969ca8794eb7d44bfbc49f70515f22e8640b5828443addecfe4798fb8b174670ae DIST dovecot-pigeonhole-2.4.1.tar.gz 2014526 BLAKE2B 29b395065bbc8bb535ff15ba84238db4bb5494662814208eb03d1104d16914e9954fbec6bd406f2f3d1d267177694c47defb69d9b04565916d8b2dc52c89cde8 SHA512 47b9cc62b13d710123389c47d13c104e70b815d683dc6b957e86b57b2f175101d07f462d0fdb0488d6dcdcfbbc137c926825ba9a0d798551576aa7f3c9082100 +DIST dovecot-pigeonhole-2.4.2.tar.gz 2071623 BLAKE2B 2364f8e58b348c45b3d03646e07949a8c71e1bb7bb856fd9db61a919f53ba8440ca54d0ed1e5b7110597ace03e2e1c1edf52a4fc086af1dd786a30f713806619 SHA512 82c46c7ac2792aa5c211c8b66309f9f21c05ecd2fa8ab3abf98fb4e05831fd37aaa3edffcfbe1b3defbb9ac8ef9df1c33ece83cf7524e8b226c4deab8c250134 diff --git a/net-mail/dovecot/dovecot-2.4.2.ebuild b/net-mail/dovecot/dovecot-2.4.2.ebuild new file mode 100644 index 000000000000..061f2edcd7bf --- /dev/null +++ b/net-mail/dovecot/dovecot-2.4.2.ebuild @@ -0,0 +1,243 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{3..4} ) +# do not add a ssl USE flag. ssl is mandatory +SSL_DEPS_SKIP=1 +inherit autotools eapi9-ver flag-o-matic lua-single ssl-cert systemd toolchain-funcs + +MY_P="${P/_/.}" +MY_PV="${PV}" +major_minor="$(ver_cut 1-2)" + +DESCRIPTION="An IMAP and POP3 server written with security primarily in mind" +HOMEPAGE="https://www.dovecot.org/" +SRC_URI="https://www.dovecot.org/releases/${major_minor}/${MY_P}.tar.gz + sieve? ( + https://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-pigeonhole-${MY_PV}.tar.gz + ) + managesieve? ( + https://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-pigeonhole-${MY_PV}.tar.gz + ) " +S="${WORKDIR}/${MY_P}" +PIEGONHOLE_S="../dovecot-pigeonhole-${MY_PV}" +LICENSE="LGPL-2.1 MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + +IUSE_DOVECOT_AUTH_DICT="cdb kerberos ldap lua mysql pam postgres sqlite" +IUSE_DOVECOT_COMPRESS="lz4 zstd" +IUSE_DOVECOT_FTS="solr stemmer textcat xapian" +IUSE_DOVECOT_OTHER="argon2 managesieve selinux sieve static-libs suid systemd system-icu test unwind" + +IUSE="${IUSE_DOVECOT_AUTH_DICT} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_FTS} ${IUSE_DOVECOT_OTHER}" + +REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +DEPEND=" + app-arch/bzip2 + dev-libs/openssl:0= + net-libs/libtirpc:= + dev-libs/libpcre2:0[pcre32] + net-libs/rpcsvc-proto + sys-libs/libcap + sys-libs/zlib:= + virtual/libcrypt:= + virtual/libiconv + argon2? ( dev-libs/libsodium:= ) + cdb? ( dev-db/tinycdb ) + kerberos? ( virtual/krb5 ) + ldap? ( net-nds/openldap:= ) + lua? ( ${LUA_DEPS} ) + xapian? ( dev-libs/xapian:= ) + lz4? ( app-arch/lz4 ) + mysql? ( dev-db/mysql-connector-c:0= ) + pam? ( sys-libs/pam:= ) + postgres? ( dev-db/postgresql:* ) + selinux? ( sec-policy/selinux-dovecot ) + solr? ( net-misc/curl dev-libs/expat ) + sqlite? ( dev-db/sqlite:* ) + stemmer? ( dev-libs/snowball-stemmer:= ) + system-icu? ( dev-libs/icu:= ) + suid? ( acct-group/mail ) + systemd? ( sys-apps/systemd:= ) + textcat? ( app-text/libexttextcat ) + unwind? ( sys-libs/libunwind:= ) + zstd? ( app-arch/zstd:= ) + " + +RDEPEND=" + ${DEPEND} + acct-group/dovecot + acct-group/dovenull + acct-user/dovecot + acct-user/dovenull + net-mail/mailbase[pam?] + " + +BDEPEND="virtual/pkgconfig + test? ( + lua? ( + $(lua_gen_cond_dep ' + dev-lua/luajson[${LUA_USEDEP}] + ') + ) + ) + " + +PATCHES=( + "${FILESDIR}/${PN}-autoconf-lua-version-v3.patch" +) + +pkg_setup() { + use lua && lua-single_pkg_setup + if use managesieve && ! use sieve; then + ewarn "managesieve USE flag selected but sieve USE flag unselected" + ewarn "sieve USE flag will be turned on" + fi +} + +src_prepare() { + default + + # rename default cert files + sed -i -e "s:ssl-cert.pem:server.pem:" \ + -e "s:ssl-key.pem:server.key:" \ + doc/dovecot.conf.in || die "sed failed" + + # bug 657108, 782631 + #elibtoolize + eautoreconf + + # Bug #727244 + append-cflags -fasynchronous-unwind-tables +} + +src_configure() { + # --disable-hardening because our toolchain already defaults to + # these bits on, and it actually regresses the default _FORTIFY_SOURCE + # level for hardened at least from 3 to 2. + # + # turn valgrind tests off. Bug #340791 + VALGRIND=no \ + LUAPC="${ELUA}" \ + systemdsystemunitdir="$(systemd_get_systemunitdir)" \ + econf \ + --with-rundir="${EPREFIX}/run/dovecot" \ + --with-statedir="${EPREFIX}/var/lib/dovecot" \ + --with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \ + --disable-hardening \ + --with-bzlib \ + --without-libbsd \ + --with-libcap \ + --enable-experimental-mail-utf8 \ + $( use_with argon2 sodium ) \ + $( use_with cdb) \ + $( use_with system-icu icu) \ + $( use_with kerberos gssapi ) \ + $( use_with lua ) \ + $( use_with ldap ) \ + $( use_with xapian flatcurve ) \ + $( use_with lz4 ) \ + $( use_with mysql ) \ + $( use_with pam ) \ + $( use_with postgres pgsql ) \ + $( use_with sqlite ) \ + $( use_with solr ) \ + $( use_with stemmer ) \ + $( use_with systemd ) \ + $( use_with textcat ) \ + $( use_with unwind libunwind ) \ + $( use_with zstd ) \ + $( use_enable static-libs static ) + + if use sieve || use managesieve; then + # The sieve plugin needs this file to be build to determine the plugin + # directory and the list of libraries to link to + emake dovecot-config + pushd "${PIEGONHOLE_S}" > /dev/null || die + econf \ + $( use_enable static-libs static ) \ + --localstatedir="${EPREFIX}/var" \ + --enable-shared \ + --disable-hardening \ + --with-dovecot="${S}" \ + $( use_with ldap ) \ + $( use_with managesieve ) + popd > /dev/null || die + fi +} + +src_compile() { + default + if use sieve || use managesieve; then + pushd "${PIEGONHOLE_S}" > /dev/null || die + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" + popd > /dev/null || die + fi +} + +src_test() { + # bug #340791 and bug #807178 + local -x NOVALGRIND=true + + default + if use sieve || use managesieve; then + pushd "${PIEGONHOLE_S}" > /dev/null || die + default + popd > /dev/null || die + fi +} + +src_install() { + default + + if use suid; then + einfo "Changing perms to allow deliver to be suided" + fowners root:mail "/usr/libexec/dovecot/dovecot-lda" + fperms 4750 "/usr/libexec/dovecot/dovecot-lda" + fi + + newinitd "${FILESDIR}"/dovecot.init-r6 dovecot + + use pam && dosym imap /etc/pam.d/dovecot + + insinto /etc/dovecot/conf.d + doins "${FILESDIR}/50-misc.conf" + + dodoc AUTHORS NEWS README.md TODO + docinto stopwords + dodoc src/lib-language/stopwords/stopwords*.txt + + if use sieve || use managesieve; then + pushd "${PIEGONHOLE_S}" > /dev/null || die + emake DESTDIR="${ED}" install + + newdoc README README.pigeonhole + popd > /dev/null || die + fi + + rm -r "${ED}"/usr/share/dovecot + use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete +} + +pkg_postinst() { + if ver_replacing -lt 2.4 ; then + # This is an upgrade which requires user review + ewarn "Dovecot-2.4.x has new settings and WILL NOT work" + ewarn "unless the configuration files are updated." + ewarn "Please read the migration guide at:" + ewarn " https://doc.dovecot.org/2.4.1/installation/upgrade/2.3-to-2.4.html" + fi + + # Let's not make a new certificate if we already have one + if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \ + -e "${ROOT}"/etc/ssl/dovecot/server.key ]]; then + einfo "Creating SSL certificate" + SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}" + install_cert /etc/dovecot/server + fi +} diff --git a/net-mail/dovecot/metadata.xml b/net-mail/dovecot/metadata.xml index bb978c3336f3..7131491d7759 100644 --- a/net-mail/dovecot/metadata.xml +++ b/net-mail/dovecot/metadata.xml @@ -13,6 +13,7 @@ <flag name="rpc">Add support for NFS quotas</flag> <flag name="solr">Add solr full text search (FTS) support</flag> <flag name="stemmer">Add libstemmer support (for FTS)</flag> + <flag name="system-icu">Use system dev-libs/icu instead of the bundled library</flag> <flag name="textcat">Add libtextcat language guessing support for full text search (FTS)</flag> <flag name="xapian">Add xapian (flatcurve) full text search (FTS) support</flag> </use>
