public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-filter/libmilter/
Date: Thu, 10 Apr 2025 09:34:00 +0000 (UTC)	[thread overview]
Message-ID: <1744277575.5c2e8cd7f738e5379682147ca89c505262be6acb.sam@gentoo> (raw)

commit:     5c2e8cd7f738e5379682147ca89c505262be6acb
Author:     Cristian Othón Martínez Vera <cfuga <AT> cfuga <DOT> mx>
AuthorDate: Thu Apr  3 16:12:25 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Apr 10 09:32:55 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c2e8cd7

mail-filter/libmilter: bump to version 1.0.2_p4, add myself as maintainer

Signed-off-by: Cristian Othón Martínez Vera <cfuga <AT> cfuga.mx>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 mail-filter/libmilter/Manifest                  |   1 +
 mail-filter/libmilter/libmilter-1.0.2_p4.ebuild | 135 ++++++++++++++++++++++++
 mail-filter/libmilter/metadata.xml              |  15 ++-
 3 files changed, 147 insertions(+), 4 deletions(-)

diff --git a/mail-filter/libmilter/Manifest b/mail-filter/libmilter/Manifest
index 06a2a87683b6..2f205cf5d9f5 100644
--- a/mail-filter/libmilter/Manifest
+++ b/mail-filter/libmilter/Manifest
@@ -1 +1,2 @@
 DIST sendmail.8.17.1.9.tar.gz 2345302 BLAKE2B 378f2f98ffff6457c49f934228964e792acec6f33fbabd89a8712f09f1dc7afc951b7c984a397aa7dd3773d86bdf57a946ea9ac54ae426bc0b8ea4c040e2ad4a SHA512 ad8198b12bdc0037de5b64b2504bd5e0a42bf054274a4834163a7c46953b9aec23d52d58063cc6b925d90199973608f35edeb40128671ae32889f4558e5c0d4b
+DIST sendmail.8.18.1.tar.gz 2401566 BLAKE2B 3afa36073fd611c7fdb43ef0ab9f02d5fb8ae388e9471bdc7275c6c9dcee0a654f46ddef505b70e978cb1b818b0da375250678e501676d8bace534d59ee40d90 SHA512 9ce713b44439d4de6faa9e3cdfa2226b44b4fbeb352a5f81584c062570e9472da244158287e489aabe258d28fe54ca4964565c7b0adc7e1763d212be42f98061

diff --git a/mail-filter/libmilter/libmilter-1.0.2_p4.ebuild b/mail-filter/libmilter/libmilter-1.0.2_p4.ebuild
new file mode 100644
index 000000000000..7e529f7ea557
--- /dev/null
+++ b/mail-filter/libmilter/libmilter-1.0.2_p4.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: please bump this together with mail-mta/sendmail and app-shells/smrsh
+
+inherit toolchain-funcs
+
+# This library is part of sendmail, but it does not share the version number with it.
+# In order to find the right libmilter version number, check SMFI_VERSION definition
+# that can be found in ${S}/include/libmilter/mfapi.h (see also SM_LM_VRS_* defines).
+# For example, version 1.0.1 has a SMFI_VERSION of 0x01000001.
+#
+# See check in src_prepare too.
+SENDMAIL_VER=8.18.1
+
+DESCRIPTION="The Sendmail Filter API (Milter)"
+HOMEPAGE="https://www.proofpoint.com/us/products/email-protection/open-source-email-solution"
+if [[ -n $(ver_cut 4 ${SENDMAIL_VER}) ]] ; then
+	# Snapshots have an extra version component (e.g. 8.17.1 vs 8.17.1.9)
+	SRC_URI="https://ftp.sendmail.org/snapshots/sendmail.${SENDMAIL_VER}.tar.gz"
+fi
+SRC_URI+=" https://ftp.sendmail.org/sendmail.${SENDMAIL_VER}.tar.gz"
+SRC_URI+=" https://ftp.sendmail.org/past-releases/sendmail.${SENDMAIL_VER}.tar.gz"
+S="${WORKDIR}/sendmail-${SENDMAIL_VER}"
+
+LICENSE="Sendmail"
+# We increment _pN when a new sendmail tarball comes out and change the actual
+# "main version" (1.0.2 at time of writing) when the version
+# of libmilter included in the tarball changes.
+# We used to use $(ver_cut 1-3) here (assuming ABI stability between sendmail
+# versions) but that doesn't seem to apply for sendmail snapshots.
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="ipv6 poll"
+
+RDEPEND="!<mail-mta/sendmail-8.16.1"
+BDEPEND="sys-devel/m4"
+
+# build system patch copied from sendmail ebuild
+PATCHES=(
+	"${FILESDIR}"/sendmail-8.16.1-build-system.patch
+	"${FILESDIR}"/${PN}-sharedlib.patch
+	"${FILESDIR}"/${PN}-1.0.2_p3-c23-bool.patch
+)
+
+src_prepare() {
+	default
+
+	extract_version_from_source() {
+		# Extract "#  define SMFI_VERSION  0x01000002" from include/libmilter/mfapi.h
+		local actual_libmilter_ver=$(grep -o -E -m 1 "0[xX][0-9a-fA-F]+" include/libmilter/mfapi.h)
+
+		# SM_LM_VRS_MAJOR(v)      (((v) & 0x7f000000) >> 24)
+		local actual_libmilter_ver_major=$(((actual_libmilter_ver & 0x7f000000) >> 24))
+
+		# SM_LM_VRS_MINOR(v)      (((v) & 0x007fff00) >> 8)
+		local actual_libmilter_ver_minor=$(((actual_libmilter_ver & 0x007fff00) >> 8))
+
+		# SM_LM_VRS_PLVL(v)       ((v) & 0x0000007f)
+		local actual_libmilter_ver_plvl=$((actual_libmilter_ver & 0x0000007f))
+
+		einfo "Extracted version (hex): ${actual_libmilter_ver}"
+		einfo "Extracted version (major): ${actual_libmilter_ver_major}"
+		einfo "Extracted version (minor): ${actual_libmilter_ver_minor}"
+		einfo "Extracted version (plvl): ${actual_libmilter_ver_plvl}"
+		einfo "Extracted version (final): ${actual_libmilter_ver_major}.${actual_libmilter_ver_minor}.${actual_libmilter_ver_plvl}"
+
+		echo ${actual_libmilter_ver_major}.${actual_libmilter_ver_minor}.${actual_libmilter_ver_plvl}
+	}
+
+	local actual_libmilter_ver_final=$(extract_version_from_source)
+	if [[ $(ver_cut 1-3) != ${actual_libmilter_ver_final} ]] ; then
+		eerror "Ebuild version ${PV} does not match detected version ${actual_libmilter_ver_final}!"
+		eerror "Expected version: $(ver_cut 1-3)"
+		eerror "Detected version: ${actual_libmilter_ver_final}"
+		die "Package version ${PV} appears to be incorrect. Please check the source or rename the ebuild."
+	fi
+
+	local ENVDEF="-DNETUNIX -DNETINET -DHAS_GETHOSTBYNAME2=1"
+
+	use ipv6 && ENVDEF+=" -DNETINET6"
+	use poll && ENVDEF+=" -DSM_CONF_POLL=1"
+
+	if use elibc_musl; then
+		use ipv6 && ENVDEF+=" -DNEEDSGETIPNODE"
+
+		eapply "${FILESDIR}"/${PN}-musl-stack-size.patch
+		eapply "${FILESDIR}"/${PN}-musl-disable-cdefs.patch
+	fi
+
+	sed -e "s|@@CC@@|$(tc-getCC)|" \
+		-e "s|@@CFLAGS@@|${CFLAGS}|" \
+		-e "s|@@ENVDEF@@|${ENVDEF}|" \
+		-e "s|@@LDFLAGS@@|${LDFLAGS}|" \
+		"${FILESDIR}"/gentoo.config.m4 > devtools/Site/site.config.m4 \
+		|| die "failed to generate site.config.m4"
+}
+
+src_compile() {
+	emake -j1 -C libmilter AR="$(tc-getAR)" MILTER_SOVER=${PV}
+}
+
+src_install() {
+	dodir /usr/$(get_libdir)
+
+	local emakeargs=(
+		DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)"
+		MANROOT=/usr/share/man/man
+		SBINOWN=root SBINGRP=0 UBINOWN=root UBINGRP=0
+		LIBOWN=root LIBGRP=0 GBINOWN=root GBINGRP=0
+		MANOWN=root MANGRP=0 INCOWN=root INCGRP=0
+		MSPQOWN=root CFOWN=root CFGRP=0
+		MILTER_SOVER="$(ver_cut 1-3)"
+	)
+	emake -C obj.*/libmilter "${emakeargs[@]}" install
+
+	dodoc libmilter/README
+
+	docinto html
+	dodoc -r libmilter/docs/.
+
+	if [[ ${PV} != $(ver_cut 1-3) ]] ; then
+		# Move the .so file to the more specific name so it becomes a chain like
+		# .so -> .so.1.0.2 -> .so.1.0.2_p2, otherwise ldconfig can get confused
+		# (bug #864563).
+		#
+		# See comment above ${SLOT} definition above.
+		mv "${ED}"/usr/$(get_libdir)/"${PN}.so.$(ver_cut 1-3)" "${ED}"/usr/$(get_libdir)/${PN}.so.${PV}
+		dosym ${PN}.so.${PV} /usr/$(get_libdir)/${PN}.so.$(ver_cut 1-3)
+	fi
+
+	find "${ED}" -name '*.a' -delete || die
+}

diff --git a/mail-filter/libmilter/metadata.xml b/mail-filter/libmilter/metadata.xml
index 9b02c757e891..a44708ab09ea 100644
--- a/mail-filter/libmilter/metadata.xml
+++ b/mail-filter/libmilter/metadata.xml
@@ -1,8 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-  <!-- maintainer-needed -->
-  <use>
-    <flag name="poll">Use poll instead of select</flag>
-  </use>
+	<maintainer type="person" proxied="yes">
+		<email>cfuga@cfuga.mx</email>
+		<name>Cristian Othón Martínez Vera</name>
+	</maintainer>
+	<maintainer type="project" proxied="proxy">
+		<email>proxy-maint@gentoo.org</email>
+		<name>Proxy Maintainers</name>
+	</maintainer>
+	<use>
+		<flag name="poll">Use poll instead of select</flag>
+	</use>
 </pkgmetadata>


             reply	other threads:[~2025-04-10  9:34 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-10  9:34 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-04-02  1:43 [gentoo-commits] repo/gentoo:master commit in: mail-filter/libmilter/ Sam James
2025-04-02  1:43 Sam James
2022-12-14  1:53 Sam James
2022-12-09  6:54 Joonas Niilola
2022-11-18 20:06 Arthur Zamarin
2022-11-18 20:06 Arthur Zamarin
2022-09-19  6:31 Michał Górny
2022-08-28  6:59 Joonas Niilola
2022-08-28  6:59 Joonas Niilola
2022-08-26 10:08 Sam James
2022-08-24 16:09 Arthur Zamarin
2022-08-24  7:04 Sam James
2022-08-24  5:28 Agostino Sarubbo
2022-08-24  5:26 Agostino Sarubbo
2022-08-24  4:01 Arthur Zamarin
2022-08-24  4:01 Arthur Zamarin
2022-08-24  4:01 Arthur Zamarin
2022-08-24  4:01 Arthur Zamarin
2022-08-24  4:01 Arthur Zamarin
2022-08-24  4:01 Arthur Zamarin
2022-08-24  1:30 Sam James
2022-08-24  1:30 Sam James
2022-08-13 19:24 Sam James
2022-08-03 21:53 Sam James
2022-07-31 23:01 Sam James
2022-07-31  8:35 Sam James
2022-07-31  8:27 Sam James
2022-02-23  4:39 Arthur Zamarin
2022-02-19 12:53 Arthur Zamarin
2022-02-19 12:32 Arthur Zamarin
2022-02-19 12:02 Arthur Zamarin
2022-02-19  9:03 Arthur Zamarin
2022-02-19  8:20 Arthur Zamarin
2021-09-07 17:04 Sam James
2021-08-26 19:51 Sam James
2021-08-24 23:26 Sam James
2021-08-24 23:26 Sam James
2021-08-23 22:16 Agostino Sarubbo
2021-08-23 10:47 Agostino Sarubbo
2021-08-23 10:46 Agostino Sarubbo
2021-08-23 10:44 Agostino Sarubbo
2021-08-23  0:39 Sam James
2021-08-18 19:39 Sam James
2021-07-23 18:28 Marek Szuba
2021-07-18  1:57 Ionen Wolkens
2021-06-01  9:44 Ionen Wolkens
2021-06-01  9:44 Ionen Wolkens
2021-06-01  9:44 Ionen Wolkens
2021-01-22 21:42 Sam James
2021-01-22 21:42 Sam James
2020-08-18 12:24 Sam James
2020-06-28 10:41 Joonas Niilola
2020-04-04  9:24 Mart Raudsepp
2020-03-24 13:32 Ben Kohler
2020-03-18 11:13 Agostino Sarubbo
2020-03-18 11:11 Agostino Sarubbo
2020-03-18 11:04 Agostino Sarubbo
2020-03-18  9:56 Agostino Sarubbo
2020-03-18  9:46 Agostino Sarubbo
2020-03-17 18:44 Agostino Sarubbo
2020-03-16 18:25 Sergei Trofimovich
2019-05-06 15:25 Tobias Klausmann
2019-04-18  4:16 Aaron Bauman
2019-04-18  3:30 Aaron Bauman
2019-04-12 22:09 Andreas K. Hüttel
2019-03-28  5:50 Markus Meier
2019-03-25 22:18 Sergei Trofimovich
2019-03-24 20:12 Sergei Trofimovich
2019-03-24 19:44 Sergei Trofimovich
2019-03-23  9:58 Sergei Trofimovich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1744277575.5c2e8cd7f738e5379682147ca89c505262be6acb.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox