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 |