1 |
commit: 3090f391bcb7eba85e47d5e2bd0906b028211c46 |
2 |
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Sep 25 08:53:46 2016 +0000 |
4 |
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Sep 25 08:53:46 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3090f391 |
7 |
|
8 |
mail-mta/exim: version bump to 4.88_rc1 (masked) |
9 |
|
10 |
Package-Manager: portage-2.2.28 |
11 |
|
12 |
mail-mta/exim/Manifest | 2 + |
13 |
mail-mta/exim/exim-4.88_rc1.ebuild | 525 +++++++++++++++++++++ |
14 |
.../exim/files/exim-4.88-as-needed-ldflags.patch | 145 ++++++ |
15 |
3 files changed, 672 insertions(+) |
16 |
|
17 |
diff --git a/mail-mta/exim/Manifest b/mail-mta/exim/Manifest |
18 |
index 9561003..d1279ce 100644 |
19 |
--- a/mail-mta/exim/Manifest |
20 |
+++ b/mail-mta/exim/Manifest |
21 |
@@ -1,3 +1,5 @@ |
22 |
DIST exim-4.87.tar.bz2 1801422 SHA256 74691e0dff4d1b5d387e9c33c86f96a8f6d2adbc781c0dec9d2061a847b07dc9 SHA512 2b0d5c82133315c444e29abd182e0866482c904db1abe5ffe9a3008c2174f52eca850a433c069b4102874dc32bbe4af112beac94ffa154f1c06615c24deb47a4 WHIRLPOOL 3aede6629fbf41a71f6907e636458165258b523a3080d0b59ba6b295c1a258d8ce205a3295d4c49c2e6e88ef597b64895684fd47a3f5c3fba360d8e56be5f7f9 |
23 |
+DIST exim-4.88_RC1.tar.bz2 1805625 SHA256 025362da42722a6f67204afc042641085ee17c5aee75ea06cc2f8c1e072e8630 SHA512 f1ac89feb57ff5b3f4ae437c761c40c89b831ece499f0a593769022f494045808da63ca89b4ebe351ea25413c1815b570d30d24fea4a425d67d72160ca11439c WHIRLPOOL c8d5412131b9a5d49ce3cc2229eb1f301ef5c6e24a7edaf687c230079249f27d9a40a9df7a3a6e4874a2327cc4750838980b76ab486b960e6490b606c885040f |
24 |
DIST exim-html-4.87.tar.bz2 478953 SHA256 8f87876d4a392f59d1009ba64ac461862951a3f4eed9c0b14a49be7bcbdc1f12 SHA512 224884abfd7ab9a2410dbdd24bb65545faf427f1b83a942c6c72309e7d85771f78bf7dc5ec1439de95e1038959cdfc4ab549abb98852c8b17c8310b51ad0385c WHIRLPOOL 0444f0b8d8f2e6fab66e9ec7b169eb1d175247e31c323f0a2817b60e2ce6b75057c8d38477697472b009f73fd4b285595b8ca09bac845763767e8146d6c87491 |
25 |
+DIST exim-pdf-4.88_RC1.tar.bz2 1916887 SHA256 76689b11b8e6d450e9a1eeba5b8542e59cd9daf3f1593ae2560c9ae9309d4cdc SHA512 a785c394af0880ca00d98f72ca3ce83499e9d1283c9b8e694e742c2d1ed1404febb7b8cda70330057bba8ed4702f7f18f80676a42e95c00a549473ae33acd381 WHIRLPOOL 5fb5bdefaf7f5080da3d64d7aa377358b7fdbfd56b6f2f2a5d63da45b5e1fbbde3c866f634ebcf6eb72e79fc566c00c5d0d1d56305c014754deb8f0c7302f2af |
26 |
DIST system_filter.exim.gz 3075 SHA256 3a3471b486a09e0a0153f7b520e1eaf26d21b97d73ea8348bdc593c00eb1e437 SHA512 cb358d3ce2499a0bb5920d962a06f2af8486e55ec90c8c928bd8e3aefb279aa57f5f960d5adfcef68bd94110b405eaa144e9629cfe6014a529c79c544600bbf3 WHIRLPOOL ce68d9c18b24eca3ef97ea810964cc1ada5f85b795a7c432ad39b5788188a16419101c92fb52b418738d760e1d658f7a41485e5561079a667d84d276c71be5a4 |
27 |
|
28 |
diff --git a/mail-mta/exim/exim-4.88_rc1.ebuild b/mail-mta/exim/exim-4.88_rc1.ebuild |
29 |
new file mode 100644 |
30 |
index 00000000..994f9f7 |
31 |
--- /dev/null |
32 |
+++ b/mail-mta/exim/exim-4.88_rc1.ebuild |
33 |
@@ -0,0 +1,525 @@ |
34 |
+# Copyright 1999-2016 Gentoo Foundation |
35 |
+# Distributed under the terms of the GNU General Public License v2 |
36 |
+# $Id$ |
37 |
+ |
38 |
+EAPI="5" |
39 |
+ |
40 |
+inherit eutils toolchain-funcs multilib pam systemd |
41 |
+ |
42 |
+IUSE="dane dcc +dkim dlfunc dmarc +dnsdb doc dovecot-sasl dsn exiscan-acl gnutls ipv6 ldap libressl lmtp maildir mbx mysql nis pam perl pkcs11 postgres +prdr proxy radius redis sasl selinux spf sqlite srs ssl syslog tcpd tpda X elibc_glibc" |
43 |
+REQUIRED_USE=" |
44 |
+ dane? ( !gnutls ) |
45 |
+ dmarc? ( spf dkim ) |
46 |
+ pkcs11? ( gnutls ) |
47 |
+ spf? ( exiscan-acl ) |
48 |
+ srs? ( exiscan-acl ) |
49 |
+" |
50 |
+ |
51 |
+COMM_URI="ftp://ftp.exim.org/pub/exim/exim4$([[ ${PV} == *_rc* ]] && echo /test)" |
52 |
+ |
53 |
+DESCRIPTION="A highly configurable, drop-in replacement for sendmail" |
54 |
+SRC_URI="${COMM_URI}/${P//rc/RC}.tar.bz2 |
55 |
+ mirror://gentoo/system_filter.exim.gz |
56 |
+ doc? ( ${COMM_URI}/${PN}-pdf-${PV//rc/RC}.tar.bz2 )" |
57 |
+HOMEPAGE="http://www.exim.org/" |
58 |
+ |
59 |
+SLOT="0" |
60 |
+LICENSE="GPL-2" |
61 |
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-solaris" |
62 |
+ |
63 |
+COMMON_DEPEND=">=sys-apps/sed-4.0.5 |
64 |
+ >=sys-libs/db-3.2:= |
65 |
+ dev-libs/libpcre |
66 |
+ perl? ( dev-lang/perl:= ) |
67 |
+ pam? ( virtual/pam ) |
68 |
+ tcpd? ( sys-apps/tcp-wrappers ) |
69 |
+ ssl? ( |
70 |
+ !libressl? ( dev-libs/openssl:0= ) |
71 |
+ libressl? ( dev-libs/libressl:= ) |
72 |
+ ) |
73 |
+ gnutls? ( net-libs/gnutls[pkcs11?] |
74 |
+ dev-libs/libtasn1 ) |
75 |
+ ldap? ( >=net-nds/openldap-2.0.7 ) |
76 |
+ nis? ( elibc_glibc? ( || ( |
77 |
+ <sys-libs/glibc-2.23 |
78 |
+ >=sys-libs/glibc-2.23[rpc] |
79 |
+ ) ) ) |
80 |
+ mysql? ( virtual/mysql ) |
81 |
+ postgres? ( dev-db/postgresql:= ) |
82 |
+ sasl? ( >=dev-libs/cyrus-sasl-2.1.26-r2 ) |
83 |
+ redis? ( dev-libs/hiredis ) |
84 |
+ spf? ( >=mail-filter/libspf2-1.2.5-r1 ) |
85 |
+ dmarc? ( mail-filter/opendmarc ) |
86 |
+ srs? ( mail-filter/libsrs_alt ) |
87 |
+ X? ( x11-proto/xproto |
88 |
+ x11-libs/libX11 |
89 |
+ x11-libs/libXmu |
90 |
+ x11-libs/libXt |
91 |
+ x11-libs/libXaw |
92 |
+ ) |
93 |
+ sqlite? ( dev-db/sqlite ) |
94 |
+ radius? ( net-dialup/freeradius-client ) |
95 |
+ virtual/libiconv |
96 |
+ " |
97 |
+ # added X check for #57206 |
98 |
+DEPEND="${COMMON_DEPEND} |
99 |
+ virtual/pkgconfig" |
100 |
+RDEPEND="${COMMON_DEPEND} |
101 |
+ !mail-mta/courier |
102 |
+ !mail-mta/esmtp |
103 |
+ !mail-mta/mini-qmail |
104 |
+ !<mail-mta/msmtp-1.4.19-r1 |
105 |
+ !>=mail-mta/msmtp-1.4.19-r1[mta] |
106 |
+ !mail-mta/netqmail |
107 |
+ !mail-mta/nullmailer |
108 |
+ !mail-mta/postfix |
109 |
+ !mail-mta/qmail-ldap |
110 |
+ !mail-mta/sendmail |
111 |
+ !mail-mta/opensmtpd |
112 |
+ !<mail-mta/ssmtp-2.64-r2 |
113 |
+ !>=mail-mta/ssmtp-2.64-r2[mta] |
114 |
+ !net-mail/mailwrapper |
115 |
+ >=net-mail/mailbase-0.00-r5 |
116 |
+ virtual/logger |
117 |
+ dcc? ( mail-filter/dcc ) |
118 |
+ selinux? ( sec-policy/selinux-exim ) |
119 |
+ " |
120 |
+ |
121 |
+S=${WORKDIR}/${P//rc/RC} |
122 |
+ |
123 |
+src_prepare() { |
124 |
+ epatch "${FILESDIR}"/exim-4.14-tail.patch |
125 |
+ epatch "${FILESDIR}"/exim-4.74-localscan_dlopen.patch |
126 |
+ epatch "${FILESDIR}"/exim-4.69-r1.27021.patch |
127 |
+ epatch "${FILESDIR}"/exim-4.74-radius-db-ENV-clash.patch # 287426 |
128 |
+ epatch "${FILESDIR}"/exim-4.82-makefile-freebsd.patch # 235785 |
129 |
+ epatch "${FILESDIR}"/exim-4.88-as-needed-ldflags.patch # 352265, 391279 |
130 |
+ epatch "${FILESDIR}"/exim-4.76-crosscompile.patch # 266591 |
131 |
+ |
132 |
+ if use maildir ; then |
133 |
+ epatch "${FILESDIR}"/exim-4.20-maildir.patch |
134 |
+ else |
135 |
+ epatch "${FILESDIR}"/exim-4.80-spool-mail-group.patch # 438606 |
136 |
+ fi |
137 |
+ |
138 |
+ # user Exim believes it should be |
139 |
+ MAILUSER=mail |
140 |
+ MAILGROUP=mail |
141 |
+ if use prefix && [[ ${EUID} != 0 ]] ; then |
142 |
+ MAILUSER=$(id -un) |
143 |
+ MAILGROUP=$(id -gn) |
144 |
+ fi |
145 |
+} |
146 |
+ |
147 |
+src_configure() { |
148 |
+ # general config and paths |
149 |
+ |
150 |
+ sed -i.orig \ |
151 |
+ -e "/SYSTEM_ALIASES_FILE/s'SYSTEM_ALIASES_FILE'${EPREFIX}/etc/mail/aliases'" \ |
152 |
+ "${S}"/src/configure.default || die |
153 |
+ |
154 |
+ sed -i -e 's/^buildname=.*/buildname=exim-gentoo/g' Makefile || die |
155 |
+ |
156 |
+ sed -e "48i\CFLAGS=${CFLAGS}" \ |
157 |
+ -e "s:BIN_DIRECTORY=/usr/exim/bin:BIN_DIRECTORY=${EPREFIX}/usr/sbin:" \ |
158 |
+ -e "s:EXIM_USER=:EXIM_USER=${MAILUSER}:" \ |
159 |
+ -e "s:CONFIGURE_FILE=/usr/exim/configure:CONFIGURE_FILE=${EPREFIX}/etc/exim/exim.conf:" \ |
160 |
+ -e "s:ZCAT_COMMAND=.*$:ZCAT_COMMAND=${EPREFIX}/bin/zcat:" \ |
161 |
+ -e "s:COMPRESS_COMMAND=.*$:COMPRESS_COMMAND=${EPREFIX}/bin/gzip:" \ |
162 |
+ src/EDITME > Local/Makefile |
163 |
+ |
164 |
+ if use elibc_musl; then |
165 |
+ sed -e 's/^LIBS = -lnsl/LIBS =/g' \ |
166 |
+ -i OS/Makefile-Linux |
167 |
+ fi |
168 |
+ |
169 |
+ cd Local |
170 |
+ |
171 |
+ cat >> Makefile <<- EOC |
172 |
+ INFO_DIRECTORY=${EPREFIX}/usr/share/info |
173 |
+ PID_FILE_PATH=${EPREFIX}/run/exim.pid |
174 |
+ SPOOL_DIRECTORY=${EPREFIX}/var/spool/exim |
175 |
+ HAVE_ICONV=yes |
176 |
+ EOC |
177 |
+ |
178 |
+ # if we use libiconv, now is the time to tell so |
179 |
+ use !elibc_glibc && use !elibc_musl && echo "EXTRALIBS_EXIM=-liconv" >> Makefile |
180 |
+ |
181 |
+ # support for IPv6 |
182 |
+ if use ipv6; then |
183 |
+ cat >> Makefile <<- EOC |
184 |
+ HAVE_IPV6=YES |
185 |
+ EOC |
186 |
+ fi |
187 |
+ |
188 |
+ # |
189 |
+ # mail storage formats |
190 |
+ |
191 |
+ # mailstore is Exim's traditional storage format |
192 |
+ cat >> Makefile <<- EOC |
193 |
+ SUPPORT_MAILSTORE=yes |
194 |
+ EOC |
195 |
+ |
196 |
+ # mbox |
197 |
+ if use mbx; then |
198 |
+ cat >> Makefile <<- EOC |
199 |
+ SUPPORT_MBX=yes |
200 |
+ EOC |
201 |
+ fi |
202 |
+ |
203 |
+ # maildir |
204 |
+ if use maildir; then |
205 |
+ cat >> Makefile <<- EOC |
206 |
+ SUPPORT_MAILDIR=yes |
207 |
+ EOC |
208 |
+ fi |
209 |
+ |
210 |
+ # |
211 |
+ # lookup methods |
212 |
+ |
213 |
+ # use the "native" interfaces to the DBM and CDB libraries, support |
214 |
+ # passwd and directory lookups by default |
215 |
+ cat >> Makefile <<- EOC |
216 |
+ USE_DB=yes |
217 |
+ DBMLIB=-ldb |
218 |
+ LOOKUP_CDB=yes |
219 |
+ LOOKUP_PASSWD=yes |
220 |
+ LOOKUP_DSEARCH=yes |
221 |
+ EOC |
222 |
+ |
223 |
+ if ! use dnsdb; then |
224 |
+ # DNSDB lookup is enabled by default |
225 |
+ sed -i "s:^LOOKUP_DNSDB=yes:# LOOKUP_DNSDB=yes:" Makefile |
226 |
+ fi |
227 |
+ |
228 |
+ if use ldap; then |
229 |
+ cat >> Makefile <<- EOC |
230 |
+ LOOKUP_LDAP=yes |
231 |
+ LDAP_LIB_TYPE=OPENLDAP2 |
232 |
+ LOOKUP_INCLUDE += -I"${EROOT}"usr/include/ldap |
233 |
+ LOOKUP_LIBS += -lldap -llber |
234 |
+ EOC |
235 |
+ fi |
236 |
+ |
237 |
+ if use mysql; then |
238 |
+ cat >> Makefile <<- EOC |
239 |
+ LOOKUP_MYSQL=yes |
240 |
+ LOOKUP_INCLUDE += $(mysql_config --include) |
241 |
+ LOOKUP_LIBS += $(mysql_config --libs) |
242 |
+ EOC |
243 |
+ fi |
244 |
+ |
245 |
+ if use nis; then |
246 |
+ cat >> Makefile <<- EOC |
247 |
+ LOOKUP_NIS=yes |
248 |
+ LOOKUP_NISPLUS=yes |
249 |
+ EOC |
250 |
+ fi |
251 |
+ |
252 |
+ if use postgres; then |
253 |
+ cat >> Makefile <<- EOC |
254 |
+ LOOKUP_PGSQL=yes |
255 |
+ LOOKUP_INCLUDE += -I$(pg_config --includedir) |
256 |
+ LOOKUP_LIBS += -L$(pg_config --libdir) -lpq |
257 |
+ EOC |
258 |
+ fi |
259 |
+ |
260 |
+ if use sqlite; then |
261 |
+ cat >> Makefile <<- EOC |
262 |
+ LOOKUP_SQLITE=yes |
263 |
+ LOOKUP_SQLITE_PC=sqlite3 |
264 |
+ EOC |
265 |
+ fi |
266 |
+ |
267 |
+ if use redis; then |
268 |
+ cat >> Makefile <<- EOC |
269 |
+ LOOKUP_REDIS=yes |
270 |
+ LOOKUP_LIBS += -lhiredis |
271 |
+ EOC |
272 |
+ fi |
273 |
+ |
274 |
+ # |
275 |
+ # Exim monitor, enabled by default, controlled via X USE-flag, |
276 |
+ # disable if not requested, bug #46778 |
277 |
+ if use X; then |
278 |
+ cp ../exim_monitor/EDITME eximon.conf || die |
279 |
+ else |
280 |
+ sed -i -e '/^EXIM_MONITOR=/s/^/# /' Makefile |
281 |
+ fi |
282 |
+ |
283 |
+ # |
284 |
+ # features |
285 |
+ |
286 |
+ # content scanning support |
287 |
+ if use exiscan-acl; then |
288 |
+ cat >> Makefile <<- EOC |
289 |
+ WITH_CONTENT_SCAN=yes |
290 |
+ WITH_OLD_DEMIME=yes |
291 |
+ EOC |
292 |
+ fi |
293 |
+ |
294 |
+ # DomainKeys Identified Mail, RFC4871 |
295 |
+ if ! use dkim; then |
296 |
+ # DKIM is enabled by default |
297 |
+ cat >> Makefile <<- EOC |
298 |
+ DISABLE_DKIM=yes |
299 |
+ EOC |
300 |
+ fi |
301 |
+ |
302 |
+ # Per-Recipient-Data-Response |
303 |
+ if ! use prdr; then |
304 |
+ # PRDR is enabled by default |
305 |
+ cat >> Makefile <<- EOC |
306 |
+ DISABLE_PRDR=yes |
307 |
+ EOC |
308 |
+ fi |
309 |
+ |
310 |
+ # log to syslog |
311 |
+ if use syslog; then |
312 |
+ sed -i "s:LOG_FILE_PATH=/var/log/exim/exim_%s.log:LOG_FILE_PATH=syslog:" Makefile |
313 |
+ cat >> Makefile <<- EOC |
314 |
+ LOG_FILE_PATH=syslog |
315 |
+ EOC |
316 |
+ else |
317 |
+ cat >> Makefile <<- EOC |
318 |
+ LOG_FILE_PATH=${EPREFIX}/var/log/exim/exim_%s.log |
319 |
+ EOC |
320 |
+ fi |
321 |
+ |
322 |
+ # starttls support (ssl) |
323 |
+ if use ssl; then |
324 |
+ echo "SUPPORT_TLS=yes" >> Makefile |
325 |
+ if use gnutls; then |
326 |
+ echo "USE_GNUTLS=yes" >> Makefile |
327 |
+ echo "USE_GNUTLS_PC=gnutls" >> Makefile |
328 |
+ use pkcs11 || echo "AVOID_GNUTLS_PKCS11=yes" >> Makefile |
329 |
+ else |
330 |
+ echo "USE_OPENSSL_PC=openssl" >> Makefile |
331 |
+ fi |
332 |
+ fi |
333 |
+ |
334 |
+ # TCP wrappers |
335 |
+ if use tcpd; then |
336 |
+ cat >> Makefile <<- EOC |
337 |
+ USE_TCP_WRAPPERS=yes |
338 |
+ EXTRALIBS_EXIM += -lwrap |
339 |
+ EOC |
340 |
+ fi |
341 |
+ |
342 |
+ # Light Mail Transport Protocol |
343 |
+ if use lmtp; then |
344 |
+ cat >> Makefile <<- EOC |
345 |
+ TRANSPORT_LMTP=yes |
346 |
+ EOC |
347 |
+ fi |
348 |
+ |
349 |
+ # embedded Perl |
350 |
+ if use perl; then |
351 |
+ cat >> Makefile <<- EOC |
352 |
+ EXIM_PERL=perl.o |
353 |
+ EOC |
354 |
+ fi |
355 |
+ |
356 |
+ # dlfunc |
357 |
+ if use dlfunc; then |
358 |
+ cat >> Makefile <<- EOC |
359 |
+ EXPAND_DLFUNC=yes |
360 |
+ EOC |
361 |
+ fi |
362 |
+ |
363 |
+ # |
364 |
+ # experimental features |
365 |
+ |
366 |
+ # DANE |
367 |
+ if use dane; then |
368 |
+ cat >> Makefile <<- EOC |
369 |
+ EXPERIMENTAL_DANE=yes |
370 |
+ EOC |
371 |
+ fi |
372 |
+ |
373 |
+ # Distributed Checksum Clearinghouse |
374 |
+ if use dcc; then |
375 |
+ echo "EXPERIMENTAL_DCC=yes">> Makefile |
376 |
+ fi |
377 |
+ |
378 |
+ # Sender Policy Framework |
379 |
+ if use spf; then |
380 |
+ cat >> Makefile <<- EOC |
381 |
+ EXPERIMENTAL_SPF=yes |
382 |
+ EXTRALIBS_EXIM += -lspf2 |
383 |
+ EOC |
384 |
+ fi |
385 |
+ |
386 |
+ # Sender Rewriting Scheme |
387 |
+ if use srs; then |
388 |
+ cat >> Makefile <<- EOC |
389 |
+ EXPERIMENTAL_SRS=yes |
390 |
+ EXTRALIBS_EXIM += -lsrs_alt |
391 |
+ EOC |
392 |
+ fi |
393 |
+ |
394 |
+ # DMARC |
395 |
+ if use dmarc; then |
396 |
+ cat >> Makefile <<- EOC |
397 |
+ EXPERIMENTAL_DMARC=yes |
398 |
+ EXTRALIBS_EXIM += -lopendmarc |
399 |
+ EOC |
400 |
+ fi |
401 |
+ |
402 |
+ # Transport post-delivery actions |
403 |
+ if use tpda; then |
404 |
+ cat >> Makefile <<- EOC |
405 |
+ EXPERIMENTAL_EVENT=yes |
406 |
+ EOC |
407 |
+ fi |
408 |
+ |
409 |
+ # Proxy Protocol |
410 |
+ if use proxy; then |
411 |
+ cat >> Makefile <<- EOC |
412 |
+ EXPERIMENTAL_PROXY=yes |
413 |
+ EOC |
414 |
+ fi |
415 |
+ |
416 |
+ # Delivery Sender Notifications |
417 |
+ if use dsn; then |
418 |
+ cat >> Makefile <<- EOC |
419 |
+ EXPERIMENTAL_DSN=yes |
420 |
+ EOC |
421 |
+ fi |
422 |
+ |
423 |
+ # |
424 |
+ # authentication (SMTP AUTH) |
425 |
+ |
426 |
+ # standard bits |
427 |
+ cat >> Makefile <<- EOC |
428 |
+ AUTH_SPA=yes |
429 |
+ AUTH_CRAM_MD5=yes |
430 |
+ AUTH_PLAINTEXT=yes |
431 |
+ EOC |
432 |
+ |
433 |
+ # Cyrus SASL |
434 |
+ if use sasl; then |
435 |
+ cat >> Makefile <<- EOC |
436 |
+ CYRUS_SASLAUTHD_SOCKET=${EPREFIX}/run/saslauthd/mux |
437 |
+ AUTH_CYRUS_SASL=yes |
438 |
+ AUTH_LIBS += -lsasl2 |
439 |
+ EOC |
440 |
+ fi |
441 |
+ |
442 |
+ # Dovecot |
443 |
+ if use dovecot-sasl; then |
444 |
+ cat >> Makefile <<- EOC |
445 |
+ AUTH_DOVECOT=yes |
446 |
+ EOC |
447 |
+ fi |
448 |
+ |
449 |
+ # Pluggable Authentication Modules |
450 |
+ if use pam; then |
451 |
+ cat >> Makefile <<- EOC |
452 |
+ SUPPORT_PAM=yes |
453 |
+ AUTH_LIBS += -lpam |
454 |
+ EOC |
455 |
+ fi |
456 |
+ |
457 |
+ # Radius |
458 |
+ if use radius; then |
459 |
+ cat >> Makefile <<- EOC |
460 |
+ RADIUS_CONFIG_FILE=${EPREFIX}/etc/radiusclient/radiusclient.conf |
461 |
+ RADIUS_LIB_TYPE=RADIUSCLIENTNEW |
462 |
+ AUTH_LIBS += -lfreeradius-client |
463 |
+ EOC |
464 |
+ fi |
465 |
+} |
466 |
+ |
467 |
+src_compile() { |
468 |
+ emake CC="$(tc-getCC)" HOSTCC="$(tc-getCC $CBUILD)" \ |
469 |
+ AR="$(tc-getAR) cq" RANLIB="$(tc-getRANLIB)" FULLECHO='' \ |
470 |
+ || die "make failed" |
471 |
+} |
472 |
+ |
473 |
+src_install () { |
474 |
+ cd "${S}"/build-exim-gentoo || die |
475 |
+ dosbin exim |
476 |
+ if use X; then |
477 |
+ dosbin eximon.bin |
478 |
+ dosbin eximon |
479 |
+ fi |
480 |
+ fperms 4755 /usr/sbin/exim |
481 |
+ |
482 |
+ dosym exim /usr/sbin/sendmail |
483 |
+ dosym exim /usr/sbin/rsmtp |
484 |
+ dosym exim /usr/sbin/rmail |
485 |
+ dosym /usr/sbin/exim /usr/bin/mailq |
486 |
+ dosym /usr/sbin/exim /usr/bin/newaliases |
487 |
+ dosym /usr/sbin/sendmail /usr/lib/sendmail |
488 |
+ |
489 |
+ for i in exicyclog exim_dbmbuild exim_dumpdb exim_fixdb exim_lock \ |
490 |
+ exim_tidydb exinext exiwhat exigrep eximstats exiqsumm exiqgrep \ |
491 |
+ convert4r3 convert4r4 exipick |
492 |
+ do |
493 |
+ dosbin $i |
494 |
+ done |
495 |
+ |
496 |
+ dodoc "${S}"/doc/* |
497 |
+ doman "${S}"/doc/exim.8 |
498 |
+ use dsn && dodoc "${S}"/README.DSN |
499 |
+ use doc && dodoc "${WORKDIR}"/${PN}-pdf-${PV//rc/RC}/doc/*.pdf |
500 |
+ |
501 |
+ # conf files |
502 |
+ insinto /etc/exim |
503 |
+ newins "${S}"/src/configure.default exim.conf.dist |
504 |
+ if use exiscan-acl; then |
505 |
+ newins "${S}"/src/configure.default exim.conf.exiscan-acl |
506 |
+ fi |
507 |
+ doins "${WORKDIR}"/system_filter.exim |
508 |
+ doins "${FILESDIR}"/auth_conf.sub |
509 |
+ |
510 |
+ pamd_mimic system-auth exim auth account |
511 |
+ |
512 |
+ # headers, #436406 |
513 |
+ if use dlfunc ; then |
514 |
+ # fixup includes so they actually can be found when including |
515 |
+ sed -i \ |
516 |
+ -e '/#include "\(config\|store\|mytypes\).h"/s:"\(.\+\)":<exim/\1>:' \ |
517 |
+ local_scan.h || die |
518 |
+ insinto /usr/include/exim |
519 |
+ doins {config,local_scan}.h ../src/{mytypes,store}.h |
520 |
+ fi |
521 |
+ |
522 |
+ insinto /etc/logrotate.d |
523 |
+ newins "${FILESDIR}/exim.logrotate" exim |
524 |
+ |
525 |
+ newinitd "${FILESDIR}"/exim.rc9 exim |
526 |
+ newconfd "${FILESDIR}"/exim.confd exim |
527 |
+ |
528 |
+ systemd_dounit "${FILESDIR}"/{exim.service,exim.socket,exim-submission.socket} |
529 |
+ systemd_newunit "${FILESDIR}"/exim_at.service 'exim@.service' |
530 |
+ systemd_newunit "${FILESDIR}"/exim-submission_at.service 'exim-submission@.service' |
531 |
+ |
532 |
+ diropts -m 0750 -o ${MAILUSER} -g ${MAILGROUP} |
533 |
+ dodir /var/log/${PN} |
534 |
+} |
535 |
+ |
536 |
+pkg_postinst() { |
537 |
+ if [[ ! -f ${EROOT}etc/exim/exim.conf ]] ; then |
538 |
+ einfo "${EROOT}etc/exim/system_filter.exim is a sample system_filter." |
539 |
+ einfo "${EROOT}etc/exim/auth_conf.sub contains the configuration sub for using smtp auth." |
540 |
+ einfo "Please create ${EROOT}etc/exim/exim.conf from ${EROOT}etc/exim/exim.conf.dist." |
541 |
+ fi |
542 |
+ use dane && einfo "DANE support is experimental" |
543 |
+ if use dcc ; then |
544 |
+ einfo "DCC support is experimental, you can find some limited" |
545 |
+ einfo "documentation at the bottom of this prerelease message:" |
546 |
+ einfo "http://article.gmane.org/gmane.mail.exim.devel/3579" |
547 |
+ fi |
548 |
+ use spf && einfo "SPF support is experimental" |
549 |
+ use srs && einfo "SRS support is experimental" |
550 |
+ if use dmarc ; then |
551 |
+ einfo "DMARC support is experimental. See global settings to" |
552 |
+ einfo "configure DMARC, for usage see the documentation at " |
553 |
+ einfo "experimental-spec.txt." |
554 |
+ fi |
555 |
+ use tpda && einfo "TPDA/EVENT support is experimental" |
556 |
+ use proxy && einfo "proxy support is experimental" |
557 |
+ use dsn && einfo "DSN support is experimental" |
558 |
+} |
559 |
|
560 |
diff --git a/mail-mta/exim/files/exim-4.88-as-needed-ldflags.patch b/mail-mta/exim/files/exim-4.88-as-needed-ldflags.patch |
561 |
new file mode 100644 |
562 |
index 00000000..a733ca0 |
563 |
--- /dev/null |
564 |
+++ b/mail-mta/exim/files/exim-4.88-as-needed-ldflags.patch |
565 |
@@ -0,0 +1,145 @@ |
566 |
+https://bugs.gentoo.org/show_bug.cgi?id=352265 |
567 |
+ |
568 |
+Make sure LDFLAGS comes first, such that all libraries are considered, |
569 |
+and not discarded when --as-needed is in effect. |
570 |
+ |
571 |
+https://bugs.gentoo.org/show_bug.cgi?id=391279 |
572 |
+ |
573 |
+Use LDFLAGS for all targets, not just the exim binary, such that |
574 |
+--as-needed works as well. |
575 |
+ |
576 |
+ |
577 |
+--- OS/Makefile-Base |
578 |
++++ OS/Makefile-Base |
579 |
+@@ -346,12 +346,12 @@ |
580 |
+ buildrouters buildtransports \ |
581 |
+ $(OBJ_EXIM) version.o |
582 |
+ @echo "$(LNCC) -o exim" |
583 |
+- $(FE)$(PURIFY) $(LNCC) -o exim $(LFLAGS) $(OBJ_EXIM) version.o \ |
584 |
++ $(FE)$(PURIFY) $(LNCC) -o exim $(LDFLAGS) $(OBJ_EXIM) version.o \ |
585 |
+ routers/routers.a transports/transports.a lookups/lookups.a \ |
586 |
+ auths/auths.a pdkim/pdkim.a \ |
587 |
+ $(LIBRESOLV) $(LIBS) $(LIBS_EXIM) $(IPV6_LIBS) $(EXTRALIBS) \ |
588 |
+ $(EXTRALIBS_EXIM) $(DBMLIB) $(LOOKUP_LIBS) $(AUTH_LIBS) \ |
589 |
+- $(PERL_LIBS) $(TLS_LIBS) $(PCRE_LIBS) $(LDFLAGS) |
590 |
++ $(PERL_LIBS) $(TLS_LIBS) $(PCRE_LIBS) $(LFLAGS) |
591 |
+ @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ |
592 |
+ echo $(STRIP_COMMAND) exim; \ |
593 |
+ $(STRIP_COMMAND) exim; \ |
594 |
+@@ -367,8 +367,8 @@ |
595 |
+ |
596 |
+ exim_dumpdb: $(OBJ_DUMPDB) |
597 |
+ @echo "$(LNCC) -o exim_dumpdb" |
598 |
+- $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_dumpdb $(LFLAGS) $(OBJ_DUMPDB) \ |
599 |
+- $(LIBS) $(EXTRALIBS) $(DBMLIB) |
600 |
++ $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_dumpdb $(LDFLAGS) $(OBJ_DUMPDB) \ |
601 |
++ $(LIBS) $(EXTRALIBS) $(DBMLIB) $(LFLAGS) |
602 |
+ @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ |
603 |
+ echo $(STRIP_COMMAND) exim_dumpdb; \ |
604 |
+ $(STRIP_COMMAND) exim_dumpdb; \ |
605 |
+@@ -382,8 +382,8 @@ |
606 |
+ |
607 |
+ exim_fixdb: $(OBJ_FIXDB) buildauths |
608 |
+ @echo "$(LNCC) -o exim_fixdb" |
609 |
+- $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_fixdb $(LFLAGS) $(OBJ_FIXDB) \ |
610 |
+- auths/auths.a $(LIBS) $(EXTRALIBS) $(DBMLIB) |
611 |
++ $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_fixdb $(LDFLAGS) $(OBJ_FIXDB) \ |
612 |
++ auths/auths.a $(LIBS) $(EXTRALIBS) $(DBMLIB) $(LFLAGS) |
613 |
+ @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ |
614 |
+ echo $(STRIP_COMMAND) exim_fixdb; \ |
615 |
+ $(STRIP_COMMAND) exim_fixdb; \ |
616 |
+@@ -397,8 +397,8 @@ |
617 |
+ |
618 |
+ exim_tidydb: $(OBJ_TIDYDB) |
619 |
+ @echo "$(LNCC) -o exim_tidydb" |
620 |
+- $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_tidydb $(LFLAGS) $(OBJ_TIDYDB) \ |
621 |
+- $(LIBS) $(EXTRALIBS) $(DBMLIB) |
622 |
++ $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_tidydb $(LDFLAGS) $(OBJ_TIDYDB) \ |
623 |
++ $(LIBS) $(EXTRALIBS) $(DBMLIB) $(LFLAGS) |
624 |
+ @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ |
625 |
+ echo $(STRIP_COMMAND) exim_tidydb; \ |
626 |
+ $(STRIP_COMMAND) exim_tidydb; \ |
627 |
+@@ -410,8 +410,8 @@ |
628 |
+ |
629 |
+ exim_dbmbuild: exim_dbmbuild.o |
630 |
+ @echo "$(LNCC) -o exim_dbmbuild" |
631 |
+- $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_dbmbuild $(LFLAGS) exim_dbmbuild.o \ |
632 |
+- $(LIBS) $(EXTRALIBS) $(DBMLIB) |
633 |
++ $(FE)$(LNCC) $(CFLAGS) $(INCLUDE) -o exim_dbmbuild $(LDFLAGS) exim_dbmbuild.o \ |
634 |
++ $(LIBS) $(EXTRALIBS) $(DBMLIB) $(LFLAGS) |
635 |
+ @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ |
636 |
+ echo $(STRIP_COMMAND) exim_dbmbuild; \ |
637 |
+ $(STRIP_COMMAND) exim_dbmbuild; \ |
638 |
+@@ -425,8 +425,8 @@ |
639 |
+ @echo "$(CC) exim_lock.c" |
640 |
+ $(FE)$(CC) -c $(CFLAGS) $(INCLUDE) exim_lock.c |
641 |
+ @echo "$(LNCC) -o exim_lock" |
642 |
+- $(FE)$(LNCC) -o exim_lock $(LFLAGS) exim_lock.o \ |
643 |
+- $(LIBS) $(EXTRALIBS) |
644 |
++ $(FE)$(LNCC) -o exim_lock $(LDFLAGS) exim_lock.o \ |
645 |
++ $(LIBS) $(EXTRALIBS) $(LFLAGS) |
646 |
+ @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ |
647 |
+ echo $(STRIP_COMMAND) exim_lock; \ |
648 |
+ $(STRIP_COMMAND) exim_lock; \ |
649 |
+@@ -462,9 +462,9 @@ |
650 |
+ $(FE)$(CC) -o em_version.o -c \ |
651 |
+ $(CFLAGS) $(XINCLUDE) -I. ../exim_monitor/em_version.c |
652 |
+ @echo "$(LNCC) -o eximon.bin" |
653 |
+- $(FE)$(PURIFY) $(LNCC) -o eximon.bin em_version.o $(LFLAGS) $(XLFLAGS) \ |
654 |
++ $(FE)$(PURIFY) $(LNCC) -o eximon.bin em_version.o $(LDFLAGS) $(XLFLAGS) \ |
655 |
+ $(OBJ_MONBIN) -lXaw -lXmu -lXt -lXext -lX11 $(PCRE_LIBS) \ |
656 |
+- $(LIBS) $(LIBS_EXIMON) $(EXTRALIBS) $(EXTRALIBS_EXIMON) -lc |
657 |
++ $(LIBS) $(LIBS_EXIMON) $(EXTRALIBS) $(EXTRALIBS_EXIMON) -lc $(LFLAGS) |
658 |
+ @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ |
659 |
+ echo $(STRIP_COMMAND) eximon.bin; \ |
660 |
+ $(STRIP_COMMAND) eximon.bin; \ |
661 |
+@@ -779,9 +779,9 @@ |
662 |
+ test_dbfn: config.h dbfn.c dummies.o sa-globals.o sa-os.o store.o \ |
663 |
+ string.o tod.o version.o utf8.o |
664 |
+ $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE dbfn.c |
665 |
+- $(LNCC) -o test_dbfn $(LFLAGS) dbfn.o \ |
666 |
++ $(LNCC) -o test_dbfn $(LDFLAGS) dbfn.o \ |
667 |
+ dummies.o sa-globals.o sa-os.o store.o string.o \ |
668 |
+- tod.o version.o utf8.o $(LIBS) $(DBMLIB) $(LDFLAGS) |
669 |
++ tod.o version.o utf8.o $(LIBS) $(DBMLIB) $(LFLAGS) |
670 |
+ rm -f dbfn.o |
671 |
+ |
672 |
+ test_host: config.h child.c host.c dns.c dummies.c sa-globals.o os.o \ |
673 |
+@@ -790,29 +790,29 @@ |
674 |
+ $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE -DTEST_HOST host.c |
675 |
+ $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE -DTEST_HOST dns.c |
676 |
+ $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE -DTEST_HOST dummies.c |
677 |
+- $(LNCC) -o test_host $(LFLAGS) \ |
678 |
++ $(LNCC) -o test_host $(LDFLAGS) \ |
679 |
+ host.o child.o dns.o dummies.o sa-globals.o os.o store.o string.o \ |
680 |
+- tod.o tree.o $(LIBS) $(LIBRESOLV) |
681 |
++ tod.o tree.o $(LIBS) $(LIBRESOLV) $(LFLAGS) |
682 |
+ rm -f child.o dummies.o host.o dns.o |
683 |
+ |
684 |
+ test_os: os.h os.c dummies.o sa-globals.o store.o string.o tod.o utf8.o |
685 |
+ $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE os.c |
686 |
+- $(LNCC) -o test_os $(LFLAGS) os.o dummies.o \ |
687 |
+- sa-globals.o store.o string.o tod.o utf8.o $(LIBS) $(LDFLAGS) |
688 |
++ $(LNCC) -o test_os $(LDFLAGS) os.o dummies.o \ |
689 |
++ sa-globals.o store.o string.o tod.o utf8.o $(LIBS) $(LFLAGS) |
690 |
+ rm -f os.o |
691 |
+ |
692 |
+ test_parse: config.h parse.c dummies.o sa-globals.o \ |
693 |
+ store.o string.o tod.o version.o utf8.o |
694 |
+ $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE parse.c |
695 |
+- $(LNCC) -o test_parse $(LFLAGS) parse.o \ |
696 |
++ $(LNCC) -o test_parse $(LDFLAGS) parse.o \ |
697 |
+ dummies.o sa-globals.o store.o string.o tod.o version.o \ |
698 |
+- utf8.o $(LDFLAGS) |
699 |
++ utf8.o $(LFLAGS) |
700 |
+ rm -f parse.o |
701 |
+ |
702 |
+ test_string: config.h string.c dummies.o sa-globals.o store.o tod.o utf8.o |
703 |
+ $(CC) -c $(CFLAGS) $(INCLUDE) -DSTAND_ALONE string.c |
704 |
+- $(LNCC) -o test_string $(LFLAGS) -DSTAND_ALONE string.o \ |
705 |
+- dummies.o sa-globals.o store.o tod.o utf8.o $(LIBS) $(LDFLAGS) |
706 |
++ $(LNCC) -o test_string $(LDFLAGS) -DSTAND_ALONE string.o \ |
707 |
++ dummies.o sa-globals.o store.o tod.o utf8.o $(LIBS) $(LFLAGS) |
708 |
+ rm -f string.o |
709 |
+ |
710 |
+ # End |