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/
Date: Tue, 04 May 2021 15:48:57
Message-Id: 1620143239.3ddfa885089b0c76a0c0c57a5fcebf42948203d4.grobian@gentoo
1 commit: 3ddfa885089b0c76a0c0c57a5fcebf42948203d4
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Tue May 4 15:47:19 2021 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Tue May 4 15:47:19 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ddfa885
7
8 mail-mta/exim-4.94.2: version bump
9
10 Bug: https://bugs.gentoo.org/786945
11 Package-Manager: Portage-3.0.18, Repoman-3.0.2
12 Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
13
14 mail-mta/exim/Manifest | 2 +
15 mail-mta/exim/exim-4.94.2.ebuild | 616 +++++++++++++++++++++++++++++++++++++++
16 2 files changed, 618 insertions(+)
17
18 diff --git a/mail-mta/exim/Manifest b/mail-mta/exim/Manifest
19 index b618d116c98..65f5493bddf 100644
20 --- a/mail-mta/exim/Manifest
21 +++ b/mail-mta/exim/Manifest
22 @@ -1,5 +1,7 @@
23 DIST exim-4.93.0.4.tar.xz 1804696 BLAKE2B 721336101104d9c71b3bb6f432e382c28ad17d80cdb50d04213989e65a719d906caf8eb95639bfaf7a1bfdd62c7000d9df14484953446ecfca901fd7c708514e SHA512 84951849b69399d6f187d2801760dc0cb9e61c88c7c88aaca4e07e48120199a6be94b2236d058ffeacb8d611dd84056b610d480353c301a3ad5799768dd39d96
24 +DIST exim-4.94.2.tar.xz 1838076 BLAKE2B 684e115a7af3efdab15451f8e11f9b53455c9166d8c078216d7a95223d77569cec8a882ed99b9180acbd8a9e747a0bca03d56993d011de15dc35143a989ab046 SHA512 5334c236221ed4e03dbc33e6a79d939b06037fa2f4b71971607a360b67af5c85a89681ee13a5eeaf0184382c55a160cf2e89ed7afb2949f025a54f1e88f9e3fc
25 DIST exim-4.94.tar.xz 1828824 BLAKE2B 3836ae6427830b16fa366f5ca35431144eb48b922b699da20f3a5e423c9c8266def981afa008e50a879ac3583f3491d8f9c449e67c66053dc45e8612e38e836f SHA512 3bf95ade30902327403e7308089a3e423761da5b0745397dace7c7fd15ba3838d93e0ee418f1fed57606f79e57b793c7c7407e5c0d526146f0036126d5d95316
26 DIST exim-pdf-4.93.0.4.tar.xz 2069744 BLAKE2B 28730134293d87b16d672df66119ff97aaf2d796cf28842bb5bf6831a0be6a186a5cce503200b9fc985aaa14386053ca83c259625949634c5a28937b285247ca SHA512 929b4198a3e8764a64478e7ff5a9c7398ad1990114206b68494b1f1f563c23405c7b440e2f21a9f777e9e3cd3a3398d6faea3b882407f731ef3a767c27fd9361
27 +DIST exim-pdf-4.94.2.tar.xz 2092248 BLAKE2B 973ab4f117fdb58afa017bc41b4496fac1277e707a9926d67317c455b0bd617021c17cba6c8d793d8962aacef12c0790d5add7174017512b7b1ea070f8e8533d SHA512 3a661f69d81a992798d4b7e5b7def7cfffa297a7b3c02a6631be426cefff5a6e8783fa322a1bd105d01f7b06968d01e77963e6ab7be3157f63eb62eb6ff172b0
28 DIST exim-pdf-4.94.tar.xz 2089804 BLAKE2B 08f4631e903f1344d76da8dc1dcfd122cd5963bb2efbd54a486e7cf95df9e7ef06aa31dead1243a007656f05c18993f3fda18ba16ba1fde9377ac33324d5fe99 SHA512 d56666b619ba850dfa68de90afc7435bae741d72d18b5837762781ba18032878323ad40978e0113d4b88a01fd7a1d07213e6a74c38d699371d62796b6c3c35cc
29 DIST system_filter.exim.gz 3075 BLAKE2B d05e872b5cef377d29126cda03fc0a74c8777b2119b76ff43da6e8de808035eb9bfcb034a85d81824f135d484e864bfc0629fc1af2c228a7277d5ee7cf9cde79 SHA512 cb358d3ce2499a0bb5920d962a06f2af8486e55ec90c8c928bd8e3aefb279aa57f5f960d5adfcef68bd94110b405eaa144e9629cfe6014a529c79c544600bbf3
30
31 diff --git a/mail-mta/exim/exim-4.94.2.ebuild b/mail-mta/exim/exim-4.94.2.ebuild
32 new file mode 100644
33 index 00000000000..3b90fe06300
34 --- /dev/null
35 +++ b/mail-mta/exim/exim-4.94.2.ebuild
36 @@ -0,0 +1,616 @@
37 +# Copyright 1999-2021 Gentoo Authors
38 +# Distributed under the terms of the GNU General Public License v2
39 +
40 +EAPI="7"
41 +
42 +inherit db-use toolchain-funcs multilib pam systemd
43 +
44 +IUSE="arc +dane dcc +dkim dlfunc dmarc +dnsdb doc dovecot-sasl dsn elibc_glibc exiscan-acl gnutls idn ipv6 ldap lmtp maildir mbx mysql nis pam perl pkcs11 postgres +prdr proxy radius redis sasl selinux spf sqlite srs +srs-alt srs-native +ssl syslog tcpd +tpda X"
45 +REQUIRED_USE="
46 + arc? ( dkim spf )
47 + dane? ( ssl !gnutls )
48 + dmarc? ( dkim spf )
49 + dkim? ( ssl !gnutls )
50 + gnutls? ( ssl )
51 + pkcs11? ( ssl )
52 + spf? ( exiscan-acl )
53 + srs? (
54 + exiscan-acl
55 + ^^ ( srs-alt srs-native )
56 + )
57 +"
58 +# NOTE on USE="gnutls dane", gnutls[dane] is masked in base, unmasked
59 +# for x86 and amd64 only, due to this, repoman won't allow depending on
60 +# gnutls[dane] for all else. Because we cannot express USE=dane when
61 +# USE=gnutls is in effect only in package.use.mask, the only option we
62 +# have left is to a) ignore the dependency (but that results in bug
63 +# #661164) or b) mask the usage of USE=dane with USE=gnutls. Both are
64 +# incorrect, but b) is the only "correct" view from repoman.
65 +
66 +SDIR=$([[ ${PV} == *_rc* ]] && echo /test
67 + [[ ${PV} == *.*.*.* ]] && echo /fixes)
68 +COMM_URI="https://downloads.exim.org/exim4${SDIR}"
69 +
70 +DESCRIPTION="A highly configurable, drop-in replacement for sendmail"
71 +SRC_URI="${COMM_URI}/${P//_rc/-RC}.tar.xz
72 + mirror://gentoo/system_filter.exim.gz
73 + doc? ( ${COMM_URI}/${PN}-pdf-${PV//_rc/-RC}.tar.xz )"
74 +HOMEPAGE="https://www.exim.org/"
75 +
76 +SLOT="0"
77 +LICENSE="GPL-2"
78 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-solaris"
79 +
80 +COMMON_DEPEND=">=sys-apps/sed-4.0.5
81 + ( >=sys-libs/db-3.2:= <sys-libs/db-6:= )
82 + dev-libs/libpcre
83 + idn? ( net-dns/libidn:= net-dns/libidn2:= )
84 + perl? ( dev-lang/perl:= )
85 + pam? ( sys-libs/pam )
86 + tcpd? ( sys-apps/tcp-wrappers )
87 + ssl? (
88 + gnutls? (
89 + net-libs/gnutls:0=[pkcs11?]
90 + dev-libs/libtasn1
91 + )
92 + !gnutls? (
93 + dev-libs/openssl:0=
94 + )
95 + )
96 + ldap? ( >=net-nds/openldap-2.0.7 )
97 + nis? (
98 + elibc_glibc? (
99 + net-libs/libtirpc
100 + >=net-libs/libnsl-1:=
101 + )
102 + )
103 + mysql? ( dev-db/mysql-connector-c:= )
104 + postgres? ( dev-db/postgresql:= )
105 + sasl? ( >=dev-libs/cyrus-sasl-2.1.26-r2 )
106 + redis? ( dev-libs/hiredis )
107 + spf? ( >=mail-filter/libspf2-1.2.5-r1 )
108 + dmarc? ( mail-filter/opendmarc )
109 + srs? ( srs-alt? ( mail-filter/libsrs_alt ) )
110 + X? (
111 + x11-libs/libX11
112 + x11-libs/libXmu
113 + x11-libs/libXt
114 + x11-libs/libXaw
115 + )
116 + sqlite? ( dev-db/sqlite )
117 + radius? ( net-dialup/freeradius-client )
118 + virtual/libiconv
119 + elibc_glibc? ( net-libs/libnsl )
120 + "
121 + # added X check for #57206
122 +BDEPEND="virtual/pkgconfig"
123 +DEPEND="${COMMON_DEPEND}"
124 +RDEPEND="${COMMON_DEPEND}
125 + !mail-mta/courier
126 + !mail-mta/esmtp
127 + !mail-mta/mini-qmail
128 + !<mail-mta/msmtp-1.4.19-r1
129 + !>=mail-mta/msmtp-1.4.19-r1[mta]
130 + !mail-mta/netqmail
131 + !mail-mta/nullmailer
132 + !mail-mta/postfix
133 + !mail-mta/qmail-ldap
134 + !mail-mta/sendmail
135 + !mail-mta/opensmtpd
136 + !<mail-mta/ssmtp-2.64-r2
137 + !>=mail-mta/ssmtp-2.64-r2[mta]
138 + !net-mail/mailwrapper
139 + >=net-mail/mailbase-0.00-r5
140 + virtual/logger
141 + dcc? ( mail-filter/dcc )
142 + selinux? ( sec-policy/selinux-exim )
143 + "
144 +
145 +S=${WORKDIR}/${P//_rc/-RC}
146 +
147 +src_prepare() {
148 + # Legacy patches which need a respin for -p1
149 + eapply -p0 "${FILESDIR}"/exim-4.14-tail.patch
150 + eapply -p0 "${FILESDIR}"/exim-4.74-radius-db-ENV-clash.patch # 287426
151 + eapply "${FILESDIR}"/exim-4.93-as-needed-ldflags.patch # 352265, 391279
152 + eapply -p0 "${FILESDIR}"/exim-4.76-crosscompile.patch # 266591
153 + eapply "${FILESDIR}"/exim-4.69-r1.27021.patch
154 + eapply "${FILESDIR}"/exim-4.94-localscan_dlopen.patch
155 +
156 + if use maildir ; then
157 + eapply "${FILESDIR}"/exim-4.94-maildir.patch
158 + else
159 + eapply -p0 "${FILESDIR}"/exim-4.80-spool-mail-group.patch # 438606
160 + fi
161 +
162 + eapply_user
163 +
164 + # user Exim believes it should be
165 + MAILUSER=mail
166 + MAILGROUP=mail
167 + if use prefix && [[ ${EUID} != 0 ]] ; then
168 + MAILUSER=$(id -un)
169 + MAILGROUP=$(id -gn)
170 + fi
171 +}
172 +
173 +src_configure() {
174 + # general config and paths
175 +
176 + local aliases="${EPREFIX}/etc/mail/aliases"
177 + sed -i \
178 + -e "/SYSTEM_ALIASES_FILE/s'SYSTEM_ALIASES_FILE'${aliases}'" \
179 + src/configure.default || die
180 +
181 + sed -i -e 's/^buildname=.*/buildname=exim-gentoo/' Makefile || die
182 +
183 + if use elibc_musl; then
184 + sed -i -e 's/^LIBS = -lnsl/LIBS =/g' OS/Makefile-Linux || die
185 + fi
186 +
187 + local conffile="${EPREFIX}/etc/exim/exim.conf"
188 + sed -e "48i\CFLAGS=${CFLAGS}" \
189 + -e "s:BIN_DIRECTORY=/usr/exim/bin:BIN_DIRECTORY=${EPREFIX}/usr/sbin:" \
190 + -e "s;EXIM_USER=;EXIM_USER=ref:${MAILUSER};" \
191 + -e "s:CONFIGURE_FILE=.*$:CONFIGURE_FILE=${conffile}:" \
192 + -e "s:ZCAT_COMMAND=.*$:ZCAT_COMMAND=${EPREFIX}/bin/zcat:" \
193 + -e "s:COMPRESS_COMMAND=.*$:COMPRESS_COMMAND=${EPREFIX}/bin/gzip:" \
194 + src/EDITME > Local/Makefile || die
195 +
196 + # work on Local/Makefile from now on
197 + cd Local
198 +
199 + cat >> Makefile <<- EOC
200 + INFO_DIRECTORY=${EPREFIX}/usr/share/info
201 + PID_FILE_PATH=${EPREFIX}/run/exim.pid
202 + SPOOL_DIRECTORY=${EPREFIX}/var/spool/exim
203 + HAVE_ICONV=yes
204 + EOC
205 +
206 + # if we use libiconv, now is the time to tell so
207 + if use !elibc_glibc && use !elibc_musl ; then
208 + cat >> Makefile <<- EOC
209 + EXTRALIBS_EXIM=-liconv
210 + EOC
211 + fi
212 +
213 + # support for IPv6
214 + if use ipv6; then
215 + cat >> Makefile <<- EOC
216 + HAVE_IPV6=YES
217 + EOC
218 + fi
219 +
220 + # support i18n/IDNA
221 + if use idn; then
222 + cat >> Makefile <<- EOC
223 + SUPPORT_I18N=yes
224 + SUPPORT_I18N_2008=yes
225 + EXTRALIBS_EXIM += -lidn -lidn2
226 + EOC
227 + fi
228 +
229 + #
230 + # mail storage formats
231 + #
232 +
233 + # mailstore is Exim's traditional storage format
234 + cat >> Makefile <<- EOC
235 + SUPPORT_MAILSTORE=yes
236 + EOC
237 +
238 + # mbox
239 + if use mbx; then
240 + cat >> Makefile <<- EOC
241 + SUPPORT_MBX=yes
242 + EOC
243 + fi
244 +
245 + # maildir
246 + if use maildir; then
247 + cat >> Makefile <<- EOC
248 + SUPPORT_MAILDIR=yes
249 + EOC
250 + fi
251 +
252 + #
253 + # lookup methods
254 +
255 + # use the "native" interfaces to the DBM and CDB libraries, support
256 + # passwd and directory lookups by default
257 + local DB_VERS="5.3 5.1 4.8 4.7 4.6 4.5 4.4 4.3 4.2 3.2"
258 + cat >> Makefile <<- EOC
259 + USE_DB=yes
260 + LOOKUP_CDB=yes
261 + LOOKUP_PASSWD=yes
262 + LOOKUP_DSEARCH=yes
263 + # keep include in CFLAGS because exim.h -> dbstuff.h -> db.h
264 + CFLAGS += -I$(db_includedir ${DB_VERS})
265 + DBMLIB = -l$(db_libname ${DB_VERS})
266 + EOC
267 +
268 + if ! use dnsdb; then
269 + # DNSDB lookup is enabled by default
270 + sed -i -e 's:^LOOKUP_DNSDB=yes:# LOOKUP_DNSDB=yes:' Makefile || die
271 + fi
272 +
273 + if use ldap; then
274 + cat >> Makefile <<- EOC
275 + LOOKUP_LDAP=yes
276 + LDAP_LIB_TYPE=OPENLDAP2
277 + LOOKUP_INCLUDE += -I"${EPREFIX}"/usr/include/ldap
278 + LOOKUP_LIBS += -lldap -llber
279 + EOC
280 + fi
281 +
282 + if use mysql; then
283 + cat >> Makefile <<- EOC
284 + LOOKUP_MYSQL=yes
285 + LOOKUP_INCLUDE += $(mysql_config --include)
286 + LOOKUP_LIBS += $(mysql_config --libs)
287 + EOC
288 + fi
289 +
290 + if use nis; then
291 + cat >> Makefile <<- EOC
292 + LOOKUP_NIS=yes
293 + LOOKUP_NISPLUS=yes
294 + EOC
295 + if use elibc_glibc ; then
296 + cat >> Makefile <<- EOC
297 + LOOKUP_INCLUDE += -I"${EPREFIX}"/usr/include/tirpc
298 + LOOKUP_LIBS += -lnsl
299 + EOC
300 + fi
301 + fi
302 +
303 + if use postgres; then
304 + cat >> Makefile <<- EOC
305 + LOOKUP_PGSQL=yes
306 + LOOKUP_INCLUDE += -I$(pg_config --includedir)
307 + LOOKUP_LIBS += -L$(pg_config --libdir) -lpq
308 + EOC
309 + fi
310 +
311 + if use sqlite; then
312 + cat >> Makefile <<- EOC
313 + LOOKUP_SQLITE=yes
314 + LOOKUP_SQLITE_PC=sqlite3
315 + EOC
316 + fi
317 +
318 + if use redis; then
319 + cat >> Makefile <<- EOC
320 + LOOKUP_REDIS=yes
321 + LOOKUP_LIBS += -lhiredis
322 + EOC
323 + fi
324 +
325 + # Exim monitor, enabled by default, controlled via X USE-flag,
326 + # disable if not requested, bug #46778
327 + if use X; then
328 + cp ../exim_monitor/EDITME eximon.conf || die
329 + cat >> Makefile <<- EOC
330 + EXIM_MONITOR=eximon.bin
331 + EOC
332 + fi
333 +
334 + #
335 + # features
336 + #
337 +
338 + # content scanning support
339 + if use exiscan-acl; then
340 + cat >> Makefile <<- EOC
341 + WITH_CONTENT_SCAN=yes
342 + EOC
343 + fi
344 +
345 + # DomainKeys Identified Mail, RFC4871
346 + if ! use dkim; then
347 + # DKIM is enabled by default
348 + cat >> Makefile <<- EOC
349 + DISABLE_DKIM=yes
350 + EOC
351 + fi
352 +
353 + # Per-Recipient-Data-Response
354 + if ! use prdr; then
355 + # PRDR is enabled by default
356 + cat >> Makefile <<- EOC
357 + DISABLE_PRDR=yes
358 + EOC
359 + fi
360 +
361 + # Transport post-delivery actions
362 + if use !tpda && use !dane; then
363 + # EVENT is enabled by default
364 + cat >> Makefile <<- EOC
365 + DISABLE_EVENT=yes
366 + EOC
367 + fi
368 +
369 + # log to syslog
370 + if use syslog; then
371 + local eximlog="${EPREFIX}/var/log/exim/exim_%s.log"
372 + sed -i \
373 + -e "s:LOG_FILE_PATH=${eximlog}:LOG_FILE_PATH=syslog:" \
374 + Makefile || die
375 + cat >> Makefile <<- EOC
376 + LOG_FILE_PATH=syslog
377 + EOC
378 + else
379 + cat >> Makefile <<- EOC
380 + LOG_FILE_PATH=${EPREFIX}/var/log/exim/exim_%s.log
381 + EOC
382 + fi
383 +
384 + # starttls support (ssl)
385 + if use ssl; then
386 + if use gnutls; then
387 + echo "USE_GNUTLS=yes" >> Makefile
388 + echo "USE_GNUTLS_PC=gnutls $(use dane && echo gnutls-dane)" \
389 + >> Makefile
390 + use pkcs11 || echo "AVOID_GNUTLS_PKCS11=yes" >> Makefile
391 + else
392 + echo "USE_OPENSSL=yes" >> Makefile
393 + echo "USE_OPENSSL_PC=openssl" >> Makefile
394 + fi
395 + else
396 + echo "DISABLE_TLS=yes" >> Makefile
397 + fi
398 +
399 + # TCP wrappers
400 + if use tcpd; then
401 + cat >> Makefile <<- EOC
402 + USE_TCP_WRAPPERS=yes
403 + EXTRALIBS_EXIM += -lwrap
404 + EOC
405 + fi
406 +
407 + # Light Mail Transport Protocol
408 + if use lmtp; then
409 + cat >> Makefile <<- EOC
410 + TRANSPORT_LMTP=yes
411 + EOC
412 + fi
413 +
414 + # embedded Perl
415 + if use perl; then
416 + cat >> Makefile <<- EOC
417 + EXIM_PERL=perl.o
418 + EOC
419 + fi
420 +
421 + # dlfunc
422 + if use dlfunc; then
423 + cat >> Makefile <<- EOC
424 + EXPAND_DLFUNC=yes
425 + HAVE_LOCAL_SCAN=yes
426 + DLOPEN_LOCAL_SCAN=yes
427 + EOC
428 + fi
429 +
430 + # Proxy Protocol
431 + if use proxy; then
432 + cat >> Makefile <<- EOC
433 + SUPPORT_PROXY=yes
434 + EOC
435 + fi
436 +
437 + # DANE
438 + if use !dane; then
439 + # DANE is enabled by default
440 + sed -i -e 's:^SUPPORT_DANE=yes:# SUPPORT_DANE=yes:' Makefile || die
441 + fi
442 +
443 + # DMARC
444 + if use dmarc; then
445 + cat >> Makefile <<- EOC
446 + SUPPORT_DMARC=yes
447 + EXTRALIBS_EXIM += -lopendmarc
448 + EOC
449 + fi
450 +
451 + # Sender Policy Framework
452 + if use spf; then
453 + cat >> Makefile <<- EOC
454 + SUPPORT_SPF=yes
455 + EXTRALIBS_EXIM += -lspf2
456 + EOC
457 + fi
458 +
459 + #
460 + # experimental features
461 + #
462 +
463 + # Authenticated Receive Chain
464 + if use arc; then
465 + echo "EXPERIMENTAL_ARC=yes">> Makefile
466 + fi
467 +
468 + # Distributed Checksum Clearinghouse
469 + if use dcc; then
470 + echo "EXPERIMENTAL_DCC=yes">> Makefile
471 + fi
472 +
473 + # Sender Rewriting Scheme
474 + if use srs; then
475 + # NOTE: we currently USE-default to srs-alt, because this is
476 + # what USE=srs used to be. Eventually we want to rid ourselves
477 + # of this external implementation.
478 + if use srs-alt; then
479 + # historical default, from 4.95 this becomes
480 + # EXPERIMENTAL_SRS_ALT
481 + cat >> Makefile <<- EOC
482 + EXPERIMENTAL_SRS=yes
483 + EXTRALIBS_EXIM += -lsrs_alt
484 + EOC
485 + fi
486 + if use srs-native; then
487 + # this one becomes SUPPORT_SRS in 4.95
488 + cat >> Makefile <<- EOC
489 + EXPERIMENTAL_SRS_NATIVE=yes
490 + EOC
491 + fi
492 + fi
493 +
494 + # Delivery Sender Notifications extra information in fail message
495 + if use dsn; then
496 + cat >> Makefile <<- EOC
497 + EXPERIMENTAL_DSN_INFO=yes
498 + EOC
499 + fi
500 +
501 + #
502 + # authentication (SMTP AUTH)
503 + #
504 +
505 + # standard bits
506 + cat >> Makefile <<- EOC
507 + AUTH_SPA=yes
508 + AUTH_CRAM_MD5=yes
509 + AUTH_PLAINTEXT=yes
510 + EOC
511 +
512 + # Cyrus SASL
513 + if use sasl; then
514 + cat >> Makefile <<- EOC
515 + CYRUS_SASLAUTHD_SOCKET=${EPREFIX}/run/saslauthd/mux
516 + AUTH_CYRUS_SASL=yes
517 + AUTH_LIBS += -lsasl2
518 + EOC
519 + fi
520 +
521 + # Dovecot
522 + if use dovecot-sasl; then
523 + cat >> Makefile <<- EOC
524 + AUTH_DOVECOT=yes
525 + EOC
526 + fi
527 +
528 + # Pluggable Authentication Modules
529 + if use pam; then
530 + cat >> Makefile <<- EOC
531 + SUPPORT_PAM=yes
532 + AUTH_LIBS += -lpam
533 + EOC
534 + fi
535 +
536 + # Radius
537 + if use radius; then
538 + cat >> Makefile <<- EOC
539 + RADIUS_CONFIG_FILE=${EPREFIX}/etc/radiusclient/radiusclient.conf
540 + RADIUS_LIB_TYPE=RADIUSCLIENTNEW
541 + AUTH_LIBS += -lfreeradius-client
542 + EOC
543 + fi
544 +}
545 +
546 +src_compile() {
547 + emake CC="$(tc-getCC)" HOSTCC="$(tc-getBUILD_CC)" \
548 + AR="$(tc-getAR) cq" RANLIB="$(tc-getRANLIB)" FULLECHO=''
549 +}
550 +
551 +src_install() {
552 + cd "${S}"/build-exim-gentoo || die
553 + dosbin exim
554 + if use X; then
555 + dosbin eximon.bin
556 + dosbin eximon
557 + fi
558 + fperms 4755 /usr/sbin/exim
559 +
560 + dosym exim /usr/sbin/sendmail
561 + dosym exim /usr/sbin/rsmtp
562 + dosym exim /usr/sbin/rmail
563 + dosym ../sbin/exim /usr/bin/mailq
564 + dosym ../sbin/exim /usr/bin/newaliases
565 + dosym ../sbin/sendmail /usr/lib/sendmail
566 +
567 + for i in exicyclog exim_dbmbuild exim_dumpdb exim_fixdb exim_lock \
568 + exim_tidydb exinext exiwhat exigrep eximstats exiqsumm exiqgrep \
569 + convert4r3 convert4r4 exipick
570 + do
571 + dosbin $i
572 + done
573 +
574 + dodoc -r "${S}"/doc/.
575 + doman "${S}"/doc/exim.8
576 + use dsn && dodoc "${S}"/README.DSN
577 + use doc && dodoc "${WORKDIR}"/${PN}-pdf-${PV//rc/RC}/doc/*.pdf
578 +
579 + # conf files
580 + insinto /etc/exim
581 + newins "${S}"/src/configure.default exim.conf.dist
582 + if use exiscan-acl; then
583 + newins "${S}"/src/configure.default exim.conf.exiscan-acl
584 + fi
585 + doins "${WORKDIR}"/system_filter.exim
586 + doins "${FILESDIR}"/auth_conf.sub
587 +
588 + if use pam; then
589 + pamd_mimic system-auth exim auth account
590 + fi
591 +
592 + # headers, #436406
593 + if use dlfunc ; then
594 + # fixup includes so they actually can be found when including
595 + sed -i \
596 + -e '/#include "\(config\|store\|mytypes\).h"/s:"\(.\+\)":<exim/\1>:' \
597 + local_scan.h || die
598 + insinto /usr/include/exim
599 + doins {config,local_scan}.h ../src/{mytypes,store}.h
600 + fi
601 +
602 + insinto /etc/logrotate.d
603 + newins "${FILESDIR}/exim.logrotate" exim
604 +
605 + newinitd "${FILESDIR}"/exim.rc10 exim
606 + newconfd "${FILESDIR}"/exim.confd exim
607 +
608 + systemd_dounit \
609 + "${FILESDIR}"/{exim.service,exim.socket,exim-submission.socket}
610 + systemd_newunit \
611 + "${FILESDIR}"/exim_at.service 'exim@.service'
612 + systemd_newunit \
613 + "${FILESDIR}"/exim-submission_at.service 'exim-submission@.service'
614 +
615 + diropts -m 0750 -o ${MAILUSER} -g ${MAILGROUP}
616 + keepdir /var/log/${PN}
617 +}
618 +
619 +pkg_postinst() {
620 + if [[ ! -f ${EROOT}/etc/exim/exim.conf ]] ; then
621 + einfo "${EROOT}/etc/exim/system_filter.exim is a sample system_filter."
622 + einfo "${EROOT}/etc/exim/auth_conf.sub contains the configuration sub"
623 + einfo "for using smtp auth."
624 + einfo "Please create ${EROOT}/etc/exim/exim.conf from"
625 + einfo " ${EROOT}/etc/exim/exim.conf.dist."
626 + fi
627 + if use dmarc ; then
628 + einfo "DMARC support requires ${EROOT}/etc/exim/opendmarc.tlds"
629 + einfo "you can populate this file with the contents downloaded from"
630 + einfo " https://publicsuffix.org/list/public_suffix_list.dat"
631 + fi
632 + if use dcc ; then
633 + einfo "DCC support is experimental, you can find some limited"
634 + einfo "documentation at the bottom of this prerelease message:"
635 + einfo " http://article.gmane.org/gmane.mail.exim.devel/3579"
636 + fi
637 + if use srs ; then
638 + einfo "SRS support is experimental in this release of Exim"
639 + if use srs-alt; then
640 + elog "You are using libsrs_alt to implement SRS support."
641 + elog "In future release of Exim, the native SRS implementation"
642 + elog "(USE=srs-native) will become the default. Please prepare"
643 + elog "your package.use or switch to USE=srs-native now."
644 + fi
645 + fi
646 + use dsn && einfo "extra information in fail DSN message is experimental"
647 + einfo
648 + elog "Note that this release contains a tainted variable check that"
649 + elog "is likely to break your configuration used with Exim 4.93 and before."
650 + elog "Please check your transports for occurences of \$local_part, and"
651 + elog "use a replacement like \$local_part_data where possible."
652 +}