Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-mta/exim/files/, mail-mta/exim/
Date: Sun, 25 Sep 2016 08:56:45
Message-Id: 1474793626.3090f391bcb7eba85e47d5e2bd0906b028211c46.grobian@gentoo
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