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 |
+} |