Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-filter/libmilter/
Date: Sun, 31 Jul 2022 08:27:35
Message-Id: 1659255924.3cf871b83a3e5cd324d94420999fb6aa38179b9e.sam@gentoo
1 commit: 3cf871b83a3e5cd324d94420999fb6aa38179b9e
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jul 31 08:25:09 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Sun Jul 31 08:25:24 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3cf871b8
7
8 mail-filter/libmilter: add 1.0.2_p3
9
10 Closes: https://bugs.gentoo.org/862483
11 Bug: https://bugs.gentoo.org/859172
12 Signed-off-by: Sam James <sam <AT> gentoo.org>
13
14 mail-filter/libmilter/Manifest | 1 +
15 mail-filter/libmilter/libmilter-1.0.2_p3.ebuild | 130 ++++++++++++++++++++++++
16 2 files changed, 131 insertions(+)
17
18 diff --git a/mail-filter/libmilter/Manifest b/mail-filter/libmilter/Manifest
19 index a244254cbfea..89867690d895 100644
20 --- a/mail-filter/libmilter/Manifest
21 +++ b/mail-filter/libmilter/Manifest
22 @@ -1,2 +1,3 @@
23 DIST sendmail.8.16.1.tar.gz 2236402 BLAKE2B 80a9c2f1d04719099703e55f0a0c54fd638cf69b72839d358ae6863c95c9e0965d1b7fdd5b1807bec1ffdf87bca0c7c9ba91060962e6de5da5bf14422f6279ea SHA512 d7d4aac3c6d7505782abdb166204901b8b51cac000d610dfe40eda9eef7441a073af9e8e0b14c8719b07b445f55a1e2c28ac63d663d0daa7f1eafc5a101788b2
24 +DIST sendmail.8.17.1.9.tar.gz 2345302 BLAKE2B 378f2f98ffff6457c49f934228964e792acec6f33fbabd89a8712f09f1dc7afc951b7c984a397aa7dd3773d86bdf57a946ea9ac54ae426bc0b8ea4c040e2ad4a SHA512 ad8198b12bdc0037de5b64b2504bd5e0a42bf054274a4834163a7c46953b9aec23d52d58063cc6b925d90199973608f35edeb40128671ae32889f4558e5c0d4b
25 DIST sendmail.8.17.1.tar.gz 2284027 BLAKE2B 4cbbc2bb536a48ea27994721e9dfefff7739ef1c825bbc0397202e600d8dad8f9a2572a777204693cf9630f767865d50566f0827be6b52be41c1e25532cb394c SHA512 ae42343fb06c09f2db5d919d602afc4241914387dfdae0f15e0967dda3be25bf1d3a4637b57266763679646a3cea6aa07e6453266fd9b7358c1a09ec2b627a15
26
27 diff --git a/mail-filter/libmilter/libmilter-1.0.2_p3.ebuild b/mail-filter/libmilter/libmilter-1.0.2_p3.ebuild
28 new file mode 100644
29 index 000000000000..4c7ac7cc8bef
30 --- /dev/null
31 +++ b/mail-filter/libmilter/libmilter-1.0.2_p3.ebuild
32 @@ -0,0 +1,130 @@
33 +# Copyright 1999-2022 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=8
37 +
38 +# Note: please bump this together with mail-mta/sendmail
39 +
40 +inherit toolchain-funcs
41 +
42 +# This library is part of sendmail, but it does not share the version number with it.
43 +# In order to find the right libmilter version number, check SMFI_VERSION definition
44 +# that can be found in ${S}/include/libmilter/mfapi.h (see also SM_LM_VRS_* defines).
45 +# For example, version 1.0.1 has a SMFI_VERSION of 0x01000001.
46 +#
47 +# See check in src_prepare too.
48 +SENDMAIL_VER=8.17.1.9
49 +
50 +DESCRIPTION="The Sendmail Filter API (Milter)"
51 +HOMEPAGE="http://www.sendmail.org/"
52 +if [[ -n $(ver_cut 4 ${SENDMAIL_VER}) ]] ; then
53 + # Snapshots have an extra version component (e.g. 8.17.1 vs 8.17.1.9)
54 + SRC_URI+="https://ftp.sendmail.org/snapshots/sendmail.${SENDMAIL_VER}.tar.gz
55 + ftp://ftp.sendmail.org/pub/sendmail/snapshots/sendmail.${SENDMAIL_VER}.tar.gz"
56 +else
57 + SRC_URI="https://ftp.sendmail.org/sendmail.${SENDMAIL_VER}.tar.gz
58 + ftp://ftp.sendmail.org/pub/sendmail/sendmail.${SENDMAIL_VER}.tar.gz"
59 +fi
60 +
61 +S="${WORKDIR}/sendmail-${SENDMAIL_VER}"
62 +
63 +LICENSE="Sendmail"
64 +# We increment _pN when a new sendmail tarball comes out
65 +# We change the actual "main version" (1.0.2 at time of writing) when the version
66 +# of libmilter included in the tarball changes. But there seems to be ABI
67 +# stability between sendmail versions.
68 +SLOT="0/$(ver_cut 1-3)"
69 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
70 +IUSE="ipv6 poll"
71 +
72 +RDEPEND="!<mail-mta/sendmail-8.16.1"
73 +
74 +# build system patch copied from sendmail ebuild
75 +PATCHES=(
76 + "${FILESDIR}"/sendmail-8.16.1-build-system.patch
77 + "${FILESDIR}"/${PN}-sharedlib.patch
78 +)
79 +
80 +src_prepare() {
81 + default
82 +
83 + extract_version_from_source() {
84 + # Extract "# define SMFI_VERSION 0x01000002" from include/libmilter/mfapi.h
85 + local actual_libmilter_ver=$(grep -o -P -m 1 "0[xX][0-9a-fA-F]+" include/libmilter/mfapi.h)
86 +
87 + # SM_LM_VRS_MAJOR(v) (((v) & 0x7f000000) >> 24)
88 + local actual_libmilter_ver_major=$(((actual_libmilter_ver & 0x7f000000) >> 24))
89 +
90 + # SM_LM_VRS_MINOR(v) (((v) & 0x007fff00) >> 8)
91 + local actual_libmilter_ver_minor=$(((actual_libmilter_ver & 0x007fff00) >> 8))
92 +
93 + # SM_LM_VRS_PLVL(v) ((v) & 0x0000007f)
94 + local actual_libmilter_ver_plvl=$((actual_libmilter_ver & 0x0000007f))
95 +
96 + einfo "Extracted version (hex): ${actual_libmilter_ver}"
97 + einfo "Extracted version (major): ${actual_libmilter_ver_major}"
98 + einfo "Extracted version (minor): ${actual_libmilter_ver_minor}"
99 + einfo "Extracted version (plvl): ${actual_libmilter_ver_plvl}"
100 + einfo "Extracted version (final): ${actual_libmilter_ver_major}.${actual_libmilter_ver_minor}.${actual_libmilter_ver_plvl}"
101 +
102 + echo ${actual_libmilter_ver_major}.${actual_libmilter_ver_minor}.${actual_libmilter_ver_plvl}
103 + }
104 +
105 + local actual_libmilter_ver_final=$(extract_version_from_source)
106 + if [[ $(ver_cut 1-3) != ${actual_libmilter_ver_final} ]] ; then
107 + eerror "Ebuild version ${PV} does not match detected version ${actual_libmilter_ver_final}!"
108 + eerror "Expected version: $(ver_cut 1-3)"
109 + eerror "Detected version: ${actual_libmilter_ver_final}"
110 + die "Package version ${PV} appears to be incorrect. Please check the source or rename the ebuild."
111 + fi
112 +
113 + local ENVDEF="-DNETUNIX -DNETINET -DHAS_GETHOSTBYNAME2=1"
114 +
115 + use ipv6 && ENVDEF+=" -DNETINET6"
116 + use poll && ENVDEF+=" -DSM_CONF_POLL=1"
117 +
118 + if use elibc_musl; then
119 + use ipv6 && ENVDEF+=" -DNEEDSGETIPNODE"
120 +
121 + eapply "${FILESDIR}"/${PN}-musl-stack-size.patch
122 + eapply "${FILESDIR}"/${PN}-musl-disable-cdefs.patch
123 + fi
124 +
125 + sed -e "s|@@CC@@|$(tc-getCC)|" \
126 + -e "s|@@CFLAGS@@|${CFLAGS}|" \
127 + -e "s|@@ENVDEF@@|${ENVDEF}|" \
128 + -e "s|@@LDFLAGS@@|${LDFLAGS}|" \
129 + "${FILESDIR}"/gentoo.config.m4 > devtools/Site/site.config.m4 \
130 + || die "failed to generate site.config.m4"
131 +}
132 +
133 +src_compile() {
134 + emake -j1 -C libmilter AR="$(tc-getAR)" MILTER_SOVER=${PV}
135 +}
136 +
137 +src_install() {
138 + dodir /usr/$(get_libdir)
139 +
140 + local emakeargs=(
141 + DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)"
142 + MANROOT=/usr/share/man/man
143 + SBINOWN=root SBINGRP=0 UBINOWN=root UBINGRP=0
144 + LIBOWN=root LIBGRP=0 GBINOWN=root GBINGRP=0
145 + MANOWN=root MANGRP=0 INCOWN=root INCGRP=0
146 + MSPQOWN=root CFOWN=root CFGRP=0
147 + MILTER_SOVER="$(ver_cut 1-3)"
148 + )
149 + emake -C obj.*/libmilter "${emakeargs[@]}" install
150 +
151 + dodoc libmilter/README
152 +
153 + docinto html
154 + dodoc -r libmilter/docs/.
155 +
156 + if [[ ${PV} != $(ver_cut 1-3) ]] ; then
157 + # See comment above ${SLOT} definition above.
158 + dosym ${PN}.so.$(ver_cut 1-3) /usr/$(get_libdir)/${PN}.so.${PV}
159 + fi
160 +
161 + find "${ED}" -name '*.a' -delete || die
162 +}