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