summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2014-05-28 12:56:52 +0000
committerFabian Groffen <grobian@gentoo.org>2014-05-28 12:56:52 +0000
commit78c74d81fdd4838d63c0b343aac1cdb1a1828f2f (patch)
tree4b5f44258c18ac8319c88f0edddf87ff0fb4293d /mail-mta/exim
parentStable on amd64 and x86, wrt bug #509954 (diff)
downloadhistorical-78c74d81fdd4838d63c0b343aac1cdb1a1828f2f.tar.gz
historical-78c74d81fdd4838d63c0b343aac1cdb1a1828f2f.tar.bz2
historical-78c74d81fdd4838d63c0b343aac1cdb1a1828f2f.zip
Version bump for CVE-2014-2957
Package-Manager: portage-HEAD/cvs/SunOS i386 Manifest-Sign-Key: 0x5F75F607C5C74E89
Diffstat (limited to 'mail-mta/exim')
-rw-r--r--mail-mta/exim/ChangeLog7
-rw-r--r--mail-mta/exim/Manifest23
-rw-r--r--mail-mta/exim/exim-4.82.1.ebuild393
3 files changed, 407 insertions, 16 deletions
diff --git a/mail-mta/exim/ChangeLog b/mail-mta/exim/ChangeLog
index d650a94cb480..a162dea258dd 100644
--- a/mail-mta/exim/ChangeLog
+++ b/mail-mta/exim/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for mail-mta/exim
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/ChangeLog,v 1.274 2014/03/04 21:22:02 naota Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/ChangeLog,v 1.275 2014/05/28 12:56:48 grobian Exp $
+
+*exim-4.82.1 (28 May 2014)
+
+ 28 May 2014; Fabian Groffen <grobian@gentoo.org> +exim-4.82.1.ebuild:
+ Version bump for CVE-2014-2957
04 Mar 2014; Naohiro Aota <naota@gentoo.org> exim-4.82-r1.ebuild:
Add ~x86-fbsd #489736
diff --git a/mail-mta/exim/Manifest b/mail-mta/exim/Manifest
index d514812acc70..ad2a1b3db79a 100644
--- a/mail-mta/exim/Manifest
+++ b/mail-mta/exim/Manifest
@@ -24,8 +24,10 @@ AUX exim.socket 139 SHA256 3e3d8b6be2741d2587a496196c08b3f2ffa05b5803b2bf9fb4935
AUX exim_482_dsn_1_3.patch 41505 SHA256 4e00069a4b2e2deb414f05ea33f29b3f007d9ebff17cfc16998800b21b8e0ef5 SHA512 5f184d903300851dba46f4c3d46e70269111ff335fc71e9d14b04f40462c163411521f6fd60e1d703dfab3a173911225a209133369bb3c26d83455499261e777 WHIRLPOOL 842040f5009ad43b40ceff4935510b06a0f7496bfb7e7a13db8f3eeb6fec63d7c7b38e4ed31b2d8de543ddaf7e8af8becef334c88d1365910e783c8c0ad5a7ff
AUX exim_at.service 140 SHA256 faad96dadbb2750faa5652d830f10d5a14be487a42e8db1cec797164acf14b73 SHA512 11c8133ee15b3e5193c9b1c59aed66c81b6e045dd23310bede9fcde6c88905db5ef08afdb798b53b75a7465915ea1247e980edf95db07a7f9b7bb58ce95fbb5a WHIRLPOOL 78f0c825526ae890458c4e71df2bd724d77d508081c6d6c2e3493732f11576ffeed755968dd2f3bcfb1cc6e0b0d61ea9fc175cd71340d908646f1a9ccbc7406e
DIST exim-4.80.1.tar.bz2 1650082 SHA256 9565b10f06be224fd03adafae2e07e6fdbb479f8873e3894ddb13f98eeebe78f SHA512 ed73dd34dc02ab91896c3cdcedb0618ca3be116904c8eeb1303fc3534f8ab9430083f654fa5af994b0e01049e7fdd22d268fed9a3318b64a56c3a61d7f2174f5 WHIRLPOOL d556b7515f081f39a7bb7cb16804f0e13b37a3295a5f19faf28f9fed0966411f13b521dd7e5a8f42a7a851fa46e15ef8478caff734903080f31e910fb1530eab
+DIST exim-4.82.1.tar.bz2 1722912 SHA256 51798cead70b9ca03df88afb63f7a0cabedee8ef82c02bd18d67591c08b14500 SHA512 66a97c3182299283f3a29198c63a0bf89cccc45eb8607fed8d7254ac9081f91080f19a202fea35e254615abc9f71e714cbbe5b7e862e5c0a45c8fc26b9368a95 WHIRLPOOL e8c0cb57658d8d2b496a8640f1ab19875b7d05c388c99f305acb9733d8a4c13a5d107884a94bd584e322b43bfb68c0bfff81694f06f720a1de8f87215dd23ee3
DIST exim-4.82.tar.bz2 1722771 SHA256 46dedfb6ced2aa4a1eddc5d8ce46a790a961508bd389faa2e215302ae80d91cf SHA512 3f65d99e737a524c5ca84bd912193774418134d77f38868258890945c559f3890af470723da7e88a601af3bd4e8055302db59c455381dc26d573d38b64e2f2ca WHIRLPOOL 9c044cf45cc96be2733f8a00c9cdda8d3cffbefe540abf45aaa514124b1f61243806c06fe7faccf7ab0865819076a4c3d5d416b57d5e51e2b7428cf927b5eb8e
DIST exim-html-4.80.1.tar.bz2 404894 SHA256 206ef4acc2641f10f3f23f8ee97cd1f7125486938ea1fc231ac2a1d5d6c9be09 SHA512 c3f7eef6c7d1981185c5d7bae6a1bf4645468d105e85990accf56f66daf809ad8fb0f3e50925339a72c510e2cc0eced864bc06d526e5b735744f4478dd32d373 WHIRLPOOL 7d67d196e0613fba36d7e1e1370b0b1a6f60739befaa7d2f9661bcef9f57df9586aa63a99faa6a5d25619c2cd7186d2bdf27059f1d229be5d8199d6ec3f6b49c
+DIST exim-html-4.82.1.tar.bz2 458569 SHA256 81d0237cff64b259d47c758d5c82da93bd2e7b8ce048974d53d90e597eee122e SHA512 202b9c9d9ebbd7271a222821db32415908624b5d02b9315f20cf8de7f99743ee59bf0a9967534963f665e3c0aaa3f4b8965df083eb309e72779822c94d13ccaf WHIRLPOOL 7c70638c66b493dcd882db50c3673f76b6c7b228265ed8bc5b77be61dd37cf040844c8b6689004a8111ae9dd3a9bc8c61a84d01a53c957bad1281be100c76ddc
DIST exim-html-4.82.tar.bz2 460106 SHA256 60936677150f177af93c1706d390a5b0e402e618f5f602b065b1afaf9c6f2191 SHA512 d72af692134cdc891af68d024e10c142901833930ee2f5b0dbf29253b811dbc4b419d3566cfdc293d40a2d94c000bf8abae68b56e198d5921fa6a3903b4c7c48 WHIRLPOOL ac1b633782b41a8b4f0894b5066187ae7bc4baf125a68d86053945cca032bddbbd84b3d28322acf676fb9f408ccc5502cf3c53613959f600cf145f8055561fca
DIST exim_469_dsn_1_3.patch 40222 SHA256 605c520ea79507fd387772796c62303c5a49d1dc47b744b4267301096eedd49a SHA512 99cfb5c0c28849452b2b7a6f2b47abf78a77f970465ab5a3a5d68089dd5964610d8c64d1a380051da06f8e85ee7a073ee651b53dbac7451d9be55c78093178e5 WHIRLPOOL 7789e301a9aebe81fc0f3c68875f91e61413b5e8ca41b32562aff6146e1353b5a2a9a158455a18b16cf82a4fdcbb1a8a66fb85842387bc0afbd270ee91e27692
DIST system_filter.exim.gz 3075 SHA256 3a3471b486a09e0a0153f7b520e1eaf26d21b97d73ea8348bdc593c00eb1e437 SHA512 cb358d3ce2499a0bb5920d962a06f2af8486e55ec90c8c928bd8e3aefb279aa57f5f960d5adfcef68bd94110b405eaa144e9629cfe6014a529c79c544600bbf3 WHIRLPOOL ce68d9c18b24eca3ef97ea810964cc1ada5f85b795a7c432ad39b5788188a16419101c92fb52b418738d760e1d658f7a41485e5561079a667d84d276c71be5a4
@@ -33,23 +35,14 @@ EBUILD exim-4.80.1-r2.ebuild 12083 SHA256 5ba65d2507f561a1adbc15091562209979f18b
EBUILD exim-4.80.1-r3.ebuild 12094 SHA256 c505f9e7c21d1bbc663e21a5423ece90162e34dd2d26fe6c13f72b0ea0a68872 SHA512 6df242718bc1eb8ed62a5f07e3479422a1cc5d41ee61e4d2293ec5a7cf06c5e30b20b799656fb57157c555a0f985f0433cce75e970f357093a30274a2b40fde3 WHIRLPOOL d9ad58df38b60cf2d5194adacd1b75534c866c7efa6f739f39ea9329ef144848a1821fed7743662a0e349aeb83ae9b7a71f6d37b29db93596f4c7308c3ed8d4a
EBUILD exim-4.80.1.ebuild 11556 SHA256 8630f221f92ddd17cf05891d308d5e1347b550f2c6df596916e289dc2129149f SHA512 1d96761c1a2705be3e21e675ac5ecbbb11a97b140f483fd1067552c5ce07f6e3f0266bfd1139525e43c4fbc7a2ecf5b6e444912c2c6d6bbe3618d7f08c31dd2e WHIRLPOOL 2c994828d448d3266f33f514c595c21b61517ceb4ac13a7c2de519945cd853f100f16a8f3d17a956412b8be4a2a80197a316947d81f1db512d33b09c9b3ecca5
EBUILD exim-4.82-r1.ebuild 12694 SHA256 7185065bdf7168f8e09fb60d9f297d10819c703204da924488ad2d7f322860b3 SHA512 d904c4c2eba40c7ee5ab1d05c52d7bf4ae13bab1ddb144615536d01620221017ccdf98cca255c52e14416aef1195dbbf1ad1b7d8a9fff45e62139dbd829ea077 WHIRLPOOL f0162c5f3834edfa55b4a3697d91a498e69dc583423d5eb3d04a98d5bc07fbdbc8d3d6cd92fc69883f090425375296867bfd4995044970ad6ae735cbcf0fdfd4
+EBUILD exim-4.82.1.ebuild 12695 SHA256 7f5eeefae8ea4d39433679f391e17764aa6a1a0454bed1fafeee714067e68091 SHA512 fafdcba9b1f196bb2637a57d5888537b213f6e14542f4938d8bcfff833f72faa526e0cdf19072b41ff8e3dc6ce674c218d2e321e0eb9e3df619b7fbb06e2797a WHIRLPOOL d2d170e46754b3ca46a5ac9f6c5436be51f6620e3a38e70e09e835b913f5e64b72fec97071e3e4937d981094d68b70ea7a16eab2969cc91d8c43eb7e54fca8cd
EBUILD exim-4.82.ebuild 12321 SHA256 352faa63c8535e53d3fff78e2a66aa33bc8c01978caf2ff73e006a9d4a708742 SHA512 d70d4d7e5e1805487936b303fdd3cbc150614dfd7d0fbfa819bdf00f80f9dc889ce2019966a487840eec6d92eef07ab5f654c64b0217974034d361ead15531d1 WHIRLPOOL b44e33964f2c432b6765587f63ec8667b688637baeadbd1b3a78dda9fe420ba62bbbcc77fff9838a9fc22dbcf9f2aac94d5c1dd7ae0319d1f458e8713eb4940d
-MISC ChangeLog 52418 SHA256 a94fbfd82426332ae12bea3943d5e12bb3d5765a2886ef35e4d4537091d37916 SHA512 98d354558314785d67c89b5c56fb96db9198c5bc9d43ece29c3f1db3205073afe6e9950e8e261bbd8829330228111812c703ac50a7a4e946dd040731f0d9ace4 WHIRLPOOL d23a38e09af0c25317c9d06f850eb63a5ee13dd9b0f41c786aada1b44abf48d29dca8c1c766ddd03a7b2bd5d18fcdf9525ce6643c940b52b33bc60c29c1d03a7
+MISC ChangeLog 52554 SHA256 feff1ea2b6bb9cfa5267ac77889290b210f311bbf010ae1f2439a2a342f11783 SHA512 ed0139dc88eae1964dadd8002315d82992572a7cc68734cfac651b4701cd01cf8b2bb233d0b553ddde1c51e99a27960415655da4a33eaeed9bbc997b6df99b4d WHIRLPOOL 9cd7a5f011d8cf39fe9cfdeab11a98dfdfbd850064cb8f3c7e4801ced32749e8f9004b8e090dcfecc7642d5776b0414de906cab9b24b54e0d288947d88f0545b
MISC metadata.xml 2217 SHA256 cd9d6daa5ba91f220a1ac7f581062923924d4b601fc6d437ded14c37315ea866 SHA512 ec5dc6a65f3aa658295acfd51b470ec1255e065f8283053d08b0c9f31310916a1212bad23617e1fc53540def8f90efee5da2bef695200d7a306d27062d09e752 WHIRLPOOL 9b0e5e9f0c2c2608f20faefc8899b3857c18280fb5155a3bd0dd3493ecd0ebce953cb9e55987fb7603a7d6f2001c80287486f25562fac19a573115f9e9b7ca32
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.22 (GNU/Linux)
+Version: GnuPG v2.0.22 (SunOS)
-iQIcBAEBCAAGBQJTFkP8AAoJEDYO1FT4VRUU8KUP/3zFmKuezEbQOgWdoAay+iFr
-EUrUiqheyqN2qaI8qfkQJO5G3RyENtp6v/Dj6w7MMrBisgJcDKEMPT5Ugw+pRDiA
-yYBvQP3M4Xm423DNx91gy/JCMIQZ9BA6T7qmw5JO3aM5AZna+GVidndOL+2vENBC
-yzHzU+6EoCVoUiVpqRfp0NOJSmi0KVX8iAFDsl1a6cG5Iok5UKMBaxtVWNPuSCuE
-b+qWTsx25928mY13JOU0COk6aD0M9bqT59iavEUjCgDeBe8Oeg5HH+Wxe7g2wjy/
-+TAOK5QjfoshRNXjDRTgnFLDgz7YJszDtKGx+8Ltr0ILpxK7rg2zN7xTTa2xjI86
-gXKQvG6z17r5YB9CXMDz+V4y+pQVHLkoP1o+8+upNSa0kuwRHIuRNUR/ccxMrx9U
-VG+1y80YBQplQcPVrrawfVLOJNgRuCte37Mcu7Sn7JAJ3RugOo26S0eHa5tc6XLc
-jIIj9NBDjeKVQnq/CiyKITHivY+s4A+VhatEMDF62hSL0a7xpBpGCv5WfT3MGHHJ
-5jbIfPe2q3bn/QzdIhY22mtWFg9r1AY27ytdp6WEdDNmMdfH+3pWQbEHlf1RyeuT
-p5YCHCF0WSq5g3ZRMfHjLGIXHefzLBIvPS0oP8NObsMyPL7ucx264zOoQtRDe+bc
-UAwBEVuhybu3gWudHgCQ
-=AjqI
+iEYEAREIAAYFAlOF3REACgkQX3X2B8XHTom5LwCgnq44dgGXxFDcW0rI2aHwC3Kd
+X8kAni0UiAfPLBagG25RdjmBc+PiUW83
+=pHTD
-----END PGP SIGNATURE-----
diff --git a/mail-mta/exim/exim-4.82.1.ebuild b/mail-mta/exim/exim-4.82.1.ebuild
new file mode 100644
index 000000000000..2e3a62ccde52
--- /dev/null
+++ b/mail-mta/exim/exim-4.82.1.ebuild
@@ -0,0 +1,393 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/exim-4.82.1.ebuild,v 1.1 2014/05/28 12:56:48 grobian Exp $
+
+EAPI="5"
+
+inherit eutils toolchain-funcs multilib pam systemd
+
+IUSE="dcc +dkim dlfunc dmarc dnsdb doc dovecot-sasl dsn exiscan-acl gnutls ipv6 ldap lmtp maildir mbx mysql nis pam perl pkcs11 postgres prdr radius redis sasl selinux spf sqlite srs ssl syslog tcpd tpda X"
+REQUIRED_USE="spf? ( exiscan-acl ) srs? ( exiscan-acl ) dmarc? ( spf dkim ) pkcs11? ( gnutls )"
+
+DSN_EXIM_V=482 # local version patched by us
+DSN_V=1_3
+COMM_URI="ftp://ftp.exim.org/pub/exim/exim4$([[ ${PV} == *_rc* ]] && echo /test)"
+
+DESCRIPTION="A highly configurable, drop-in replacement for sendmail"
+SRC_URI="${COMM_URI}/${P//rc/RC}.tar.bz2
+ mirror://gentoo/system_filter.exim.gz
+ doc? ( ${COMM_URI}/${PN}-html-${PV//rc/RC}.tar.bz2 )"
+ #dsn? ( mirror://sourceforge/eximdsn/eximdsn-patch-1.3/exim_${DSN_EXIM_V}_dsn_${DSN_V}.patch )
+HOMEPAGE="http://www.exim.org/"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~hppa ~x86-fbsd ~x86-solaris"
+
+COMMON_DEPEND=">=sys-apps/sed-4.0.5
+ >=sys-libs/db-3.2
+ dev-libs/libpcre
+ perl? ( sys-devel/libperl )
+ pam? ( virtual/pam )
+ tcpd? ( sys-apps/tcp-wrappers )
+ ssl? ( dev-libs/openssl )
+ gnutls? ( net-libs/gnutls[pkcs11?]
+ dev-libs/libtasn1 )
+ ldap? ( >=net-nds/openldap-2.0.7 )
+ mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql-base )
+ sasl? ( >=dev-libs/cyrus-sasl-2.1.26-r2 )
+ redis? ( dev-libs/hiredis )
+ selinux? ( sec-policy/selinux-exim )
+ spf? ( >=mail-filter/libspf2-1.2.5-r1 )
+ dmarc? ( mail-filter/opendmarc )
+ srs? ( mail-filter/libsrs_alt )
+ X? ( x11-proto/xproto
+ x11-libs/libX11
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-libs/libXaw
+ )
+ sqlite? ( dev-db/sqlite )
+ radius? ( net-dialup/radiusclient )
+ virtual/libiconv
+ "
+ # added X check for #57206
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+ !mail-mta/courier
+ !mail-mta/esmtp
+ !mail-mta/mini-qmail
+ !<mail-mta/msmtp-1.4.19-r1
+ !>=mail-mta/msmtp-1.4.19-r1[mta]
+ !mail-mta/netqmail
+ !mail-mta/nullmailer
+ !mail-mta/postfix
+ !mail-mta/qmail-ldap
+ !mail-mta/sendmail
+ !mail-mta/opensmtpd
+ !<mail-mta/ssmtp-2.64-r2
+ !>=mail-mta/ssmtp-2.64-r2[mta]
+ !net-mail/mailwrapper
+ >=net-mail/mailbase-0.00-r5
+ virtual/logger
+ dcc? ( mail-filter/dcc )
+ "
+
+S=${WORKDIR}/${P//rc/RC}
+
+src_prepare() {
+ epatch "${FILESDIR}"/exim-4.14-tail.patch
+ epatch "${FILESDIR}"/exim-4.74-localscan_dlopen.patch
+ epatch "${FILESDIR}"/exim-4.69-r1.27021.patch
+ epatch "${FILESDIR}"/exim-4.74-radius-db-ENV-clash.patch # 287426
+ epatch "${FILESDIR}"/exim-4.82-makefile-freebsd.patch # 235785
+ epatch "${FILESDIR}"/exim-4.77-as-needed-ldflags.patch # 352265, 391279
+ epatch "${FILESDIR}"/exim-4.76-crosscompile.patch # 266591
+
+ if use maildir ; then
+ epatch "${FILESDIR}"/exim-4.20-maildir.patch
+ else
+ epatch "${FILESDIR}"/exim-4.80-spool-mail-group.patch # 438606
+ fi
+
+ if use dsn ; then
+ epatch "${FILESDIR}"/exim_${DSN_EXIM_V}_dsn_${DSN_V}.patch
+ fi
+
+ # user Exim believes it should be
+ MAILUSER=mail
+ MAILGROUP=mail
+ if use prefix && [[ ${EUID} != 0 ]] ; then
+ MAILUSER=$(id -un)
+ MAILGROUP=$(id -gn)
+ fi
+}
+
+src_configure() {
+ local myconf
+
+ sed -i "/SYSTEM_ALIASES_FILE/ s'SYSTEM_ALIASES_FILE'${EPREFIX}/etc/mail/aliases'" "${S}"/src/configure.default
+ cp "${S}"/src/configure.default "${S}"/src/configure.default.orig
+
+ sed -i -e 's/^buildname=.*/buildname=exim-gentoo/g' Makefile
+
+ sed -e "48i\CFLAGS=${CFLAGS}" \
+ -e "s:BIN_DIRECTORY=/usr/exim/bin:BIN_DIRECTORY=${EPREFIX}/usr/sbin:" \
+ -e "s:CONFIGURE_FILE=/usr/exim/configure:CONFIGURE_FILE=${EPREFIX}/etc/exim/exim.conf:" \
+ -e "s:# INFO_DIRECTORY=/usr/local/info:INFO_DIRECTORY=${EPREFIX}/usr/share/info:" \
+ -e "s:# LOG_FILE_PATH=/var/log/exim_%slog:LOG_FILE_PATH=${EPREFIX}/var/log/exim/exim_%s.log:" \
+ -e "s:# PID_FILE_PATH=/var/lock/exim.pid:PID_FILE_PATH=${EPREFIX}/run/exim.pid:" \
+ -e "s:# SPOOL_DIRECTORY=/var/spool/exim:SPOOL_DIRECTORY=${EPREFIX}/var/spool/exim:" \
+ -e "s:# SUPPORT_MAILDIR=yes:SUPPORT_MAILDIR=yes:" \
+ -e "s:# SUPPORT_MAILSTORE=yes:SUPPORT_MAILSTORE=yes:" \
+ -e "s:EXIM_USER=:EXIM_USER=${MAILUSER}:" \
+ -e "s:# AUTH_SPA=yes:AUTH_SPA=yes:" \
+ -e "s:# AUTH_CRAM_MD5=yes:AUTH_CRAM_MD5=yes:" \
+ -e "s:# AUTH_PLAINTEXT=yes:AUTH_PLAINTEXT=yes:" \
+ -e "s:# LOOKUP_PASSWD=yes:LOOKUP_PASSWD=yes:" \
+ -e "s:EXIM_MONITOR=eximon.bin:# EXIM_MONITOR=eximon.bin:" \
+ -e "s:ZCAT_COMMAND=.*$:ZCAT_COMMAND=${EPREFIX}/bin/zcat:" \
+ -e "s:COMPRESS_COMMAND=.*$:COMPRESS_COMMAND=${EPREFIX}/bin/gzip:" \
+ src/EDITME > Local/Makefile
+
+ cd Local
+
+ # exiscan-acl is now integrated - enable it when use-flag set
+ if use exiscan-acl; then
+ sed -i "s:# WITH_CONTENT_SCAN=yes:WITH_CONTENT_SCAN=yes:" Makefile
+ sed -i "s:# WITH_OLD_DEMIME=yes:WITH_OLD_DEMIME=yes:" Makefile
+ fi
+
+ if use spf; then
+ myconf="${myconf} -lspf2"
+ sed -i "s:# EXPERIMENTAL_SPF=yes:EXPERIMENTAL_SPF=yes:" Makefile
+ mycflags="${mycflags} -DEXPERIMENTAL_SPF"
+ fi
+ if use dmarc; then
+ myconf="${myconf} -lopendmarc"
+ sed -i "s:# EXPERIMENTAL_DMARC=yes:EXPERIMENTAL_DMARC=yes:" Makefile
+ mycflags="${mycflags} -DEXPERIMENTAL_DMARC"
+ fi
+ if use srs; then
+ myconf="${myconf} -lsrs_alt"
+ sed -i "s:# EXPERIMENTAL_SRS=yes:EXPERIMENTAL_SRS=yes:" Makefile
+ fi
+
+ # enable optional exim_monitor support via X use flag bug #46778
+ if use X; then
+ einfo "Configuring eximon"
+ cp ../exim_monitor/EDITME eximon.conf
+ sed -i "s:# EXIM_MONITOR=eximon.bin:EXIM_MONITOR=eximon.bin:" Makefile
+ fi
+ if use perl; then
+ sed -i "s:# EXIM_PERL=perl.o:EXIM_PERL=perl.o:" Makefile
+ fi
+ # mbox useflag renamed, see bug #110741
+ if use mbx; then
+ sed -i "s:# SUPPORT_MBX=yes:SUPPORT_MBX=yes:" Makefile
+ fi
+ if use pam; then
+ sed -i "s:# \(SUPPORT_PAM=yes\):\1:" Makefile
+ myconf="${myconf} -lpam"
+ fi
+ if use sasl; then
+ sed -i "s:# CYRUS_SASLAUTHD_SOCKET=${EPREFIX}/var/state/saslauthd/mux:CYRUS_SASLAUTHD_SOCKET=${EPREFIX}/run/saslauthd/mux:" Makefile
+ sed -i "s:# AUTH_CYRUS_SASL=yes:AUTH_CYRUS_SASL=yes:" Makefile
+ myconf="${myconf} -lsasl2"
+ fi
+ if use tcpd; then
+ sed -i "s:# \(USE_TCP_WRAPPERS=yes\):\1:" Makefile
+ myconf="${myconf} -lwrap"
+ fi
+ if use lmtp; then
+ sed -i "s:# TRANSPORT_LMTP=yes:TRANSPORT_LMTP=yes:" Makefile
+ fi
+ if use ipv6; then
+ echo "HAVE_IPV6=YES" >> Makefile
+ # to fix bug #41196
+ echo "IPV6_USE_INET_PTON=yes" >> Makefile
+ fi
+ if use dovecot-sasl; then
+ sed -i "s:# AUTH_DOVECOT=yes:AUTH_DOVECOT=yes:" Makefile
+ fi
+ if use radius; then
+ myconf="${myconf} -lradiusclient"
+ sed -i "s:# RADIUS_CONFIG_FILE=/etc/radiusclient/radiusclient.conf:RADIUS_CONFIG_FILE=${EPREFIX}/etc/radiusclient/radiusclient.conf:" Makefile
+ sed -i "s:# RADIUS_LIB_TYPE=RADIUSCLIENT$:RADIUS_LIB_TYPE=RADIUSCLIENT:" Makefile
+ fi
+ echo "EXTRALIBS=${myconf}" >> Makefile
+
+ # make iconv usage explicit
+ echo "HAVE_ICONV=yes" >> Makefile
+ # if we use libiconv, now is the time to tell so
+ use !elibc_glibc && echo "EXTRALIBS_EXIM=-liconv" >> Makefile
+
+ if use ssl; then
+ echo "SUPPORT_TLS=yes" >> Makefile
+ if use gnutls; then
+ echo "USE_GNUTLS=yes" >> Makefile
+ echo "USE_GNUTLS_PC=gnutls" >> Makefile
+ use pkcs11 || echo "AVOID_GNUTLS_PKCS11=yes" >> Makefile
+ else
+ echo "USE_OPENSSL_PC=openssl" >> Makefile
+ fi
+ fi
+
+ LOOKUP_INCLUDE=
+ LOOKUP_LIBS=
+
+ if use ldap; then
+ sed -i \
+ -e "s:# \(LOOKUP_LDAP=yes\):\1:" \
+ -e "s:# \(LDAP_LIB_TYPE=OPENLDAP2\):\1:" Makefile
+ LOOKUP_INCLUDE="-I${EROOT}usr/include/ldap"
+ LOOKUP_LIBS="-lldap -llber"
+ fi
+
+ if use redis; then
+ sed -i "s:# EXPERIMENTAL_REDIS=yes:EXPERIMENTAL_REDIS=yes:" Makefile
+ LOOKUP_LIBS="$LOOKUP_LIBS -lhiredis"
+ fi
+
+ if use mysql; then
+ sed -i "s:# LOOKUP_MYSQL=yes:LOOKUP_MYSQL=yes:" Makefile
+ LOOKUP_INCLUDE="$LOOKUP_INCLUDE $(mysql_config --include)"
+ LOOKUP_LIBS="$LOOKUP_LIBS $(mysql_config --libs)"
+ fi
+
+ if use postgres; then
+ sed -i "s:# LOOKUP_PGSQL=yes:LOOKUP_PGSQL=yes:" Makefile
+ LOOKUP_INCLUDE="$LOOKUP_INCLUDE -I$(pg_config --includedir)"
+ LOOKUP_LIBS="$LOOKUP_LIBS -L$(pg_config --libdir) -lpq"
+ fi
+
+ if use sqlite; then
+ echo "LOOKUP_SQLITE=yes" >> Makefile
+ echo "LOOKUP_SQLITE_PC=sqlite3" >> Makefile
+ fi
+
+ if [[ -n ${LOOKUP_INCLUDE} ]]; then
+ sed -i "s:# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include:LOOKUP_INCLUDE=$LOOKUP_INCLUDE:" \
+ Makefile
+ fi
+
+ if [[ -n ${LOOKUP_LIBS} ]]; then
+ sed -i "s:# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3:LOOKUP_LIBS=$LOOKUP_LIBS:" \
+ Makefile
+ fi
+
+ sed -i "s:# LOOKUP_DSEARCH=yes:LOOKUP_DSEARCH=yes:" Makefile
+
+ if use dnsdb; then
+ sed -i "s:# LOOKUP_DNSDB=yes:LOOKUP_DNSDB=yes:" Makefile
+ fi
+ sed -i "s:# LOOKUP_CDB=yes:LOOKUP_CDB=yes:" Makefile
+
+ if use nis; then
+ sed -i -e "s:# LOOKUP_NIS=yes:LOOKUP_NIS=yes:" \
+ -e "s:# LOOKUP_NISPLUS=yes:LOOKUP_NISPLUS=yes:" Makefile
+ fi
+ if use syslog; then
+ sed -i "s:LOG_FILE_PATH=/var/log/exim/exim_%s.log:LOG_FILE_PATH=syslog:" Makefile
+ fi
+ if ! use dkim; then
+ # DKIM is enabled by default. We have to explicitly disable it.
+ echo "DISABLE_DKIM=yes">> Makefile
+ fi
+ if use dcc; then
+ echo "EXPERIMENTAL_DCC=yes">> Makefile
+ fi
+ if use dsn; then
+ sed -i -e "s:#define SUPPORT_DSN:define SUPPORT_DSN:" Makefile
+ fi
+ if use dlfunc; then
+ sed -i -e "/^# EXPAND_DLFUNC=yes/s/^# //" Makefile
+ fi
+ if use prdr; then
+ sed -i -e "s:# EXPERIMENTAL_PRDR=yes:EXPERIMENTAL_PRDR=yes:" Makefile
+ fi
+ if use tpda; then
+ sed -i -e "s:# EXPERIMENTAL_TPDA=yes:EXPERIMENTAL_TPDA=yes:" Makefile
+ fi
+
+ # use the "native" interface to the DBM library
+ echo "USE_DB=yes" >> Makefile
+ echo "DBMLIB=-ldb" >> Makefile
+}
+
+src_compile() {
+ emake -j1 CC="$(tc-getCC)" HOSTCC="$(tc-getCC $CBUILD)" \
+ AR="$(tc-getAR) cq" RANLIB="$(tc-getRANLIB)" FULLECHO='' \
+ || die "make failed"
+}
+
+src_install () {
+ cd "${S}"/build-exim-gentoo
+ exeinto /usr/sbin
+ doexe exim
+ if use X; then
+ doexe eximon.bin
+ doexe eximon
+ fi
+ fperms 4755 /usr/sbin/exim
+
+ dodir /usr/bin /usr/sbin /usr/lib
+
+ dosym exim /usr/sbin/sendmail
+ dosym exim /usr/sbin/rsmtp
+ dosym exim /usr/sbin/rmail
+ dosym /usr/sbin/exim /usr/bin/mailq
+ dosym /usr/sbin/exim /usr/bin/newaliases
+ dosym /usr/sbin/sendmail /usr/lib/sendmail
+
+ exeinto /usr/sbin
+ for i in exicyclog exim_dbmbuild exim_dumpdb exim_fixdb exim_lock \
+ exim_tidydb exinext exiwhat exigrep eximstats exiqsumm exiqgrep \
+ convert4r3 convert4r4 exipick
+ do
+ doexe $i
+ done
+
+ dodoc "${S}"/doc/*
+ doman "${S}"/doc/exim.8
+ use dsn && dodoc "${S}"/README.DSN
+ use doc && dohtml -r "${WORKDIR}"/${PN}-html-${PV//rc/RC}/doc/html/spec_html/*
+
+ # conf files
+ insinto /etc/exim
+ newins "${S}"/src/configure.default.orig exim.conf.dist
+ if use exiscan-acl; then
+ newins "${S}"/src/configure.default exim.conf.exiscan-acl
+ fi
+ doins "${WORKDIR}"/system_filter.exim
+ doins "${FILESDIR}"/auth_conf.sub
+
+ pamd_mimic system-auth exim auth account
+
+ # headers, #436406
+ if use dlfunc ; then
+ # fixup includes so they actually can be found when including
+ sed -i \
+ -e '/#include "\(config\|store\|mytypes\).h"/s:"\(.\+\)":<exim/\1>:' \
+ local_scan.h || die
+ insinto /usr/include/exim
+ doins {config,local_scan}.h ../src/{mytypes,store}.h
+ fi
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/exim.logrotate" exim
+
+ newinitd "${FILESDIR}"/exim.rc8 exim
+ newconfd "${FILESDIR}"/exim.confd exim
+
+ systemd_dounit "${FILESDIR}"/{exim.service,exim.socket,exim-submission.socket}
+ systemd_newunit "${FILESDIR}"/exim_at.service 'exim@.service'
+ systemd_newunit "${FILESDIR}"/exim-submission_at.service 'exim-submission@.service'
+
+ DIROPTIONS="-m 0750 -o ${MAILUSER} -g ${MAILGROUP}"
+ dodir /var/log/${PN}
+}
+
+pkg_postinst() {
+ if [[ ! -f ${EROOT}etc/exim/exim.conf ]] ; then
+ einfo "${EROOT}etc/exim/system_filter.exim is a sample system_filter."
+ einfo "${EROOT}etc/exim/auth_conf.sub contains the configuration sub for using smtp auth."
+ einfo "Please create ${EROOT}etc/exim/exim.conf from ${EROOT}etc/exim/exim.conf.dist."
+ fi
+ if use dcc ; then
+ einfo "DCC support is experimental, you can find some limited"
+ einfo "documentation at the bottom of this prerelease message:"
+ einfo "http://article.gmane.org/gmane.mail.exim.devel/3579"
+ fi
+ if use dmarc ; then
+ einfo "DMARC support is experimental. See global settings to"
+ einfo "configure DMARC, for usage see the documentation at "
+ einfo "experimental-spec.txt."
+ fi
+ einfo "Exim maintains some db files under its spool directory that need"
+ einfo "cleaning from time to time. (${EROOT}var/spool/exim/db)"
+ einfo "Please use the exim_tidydb tool as documented in the Exim manual:"
+ einfo "http://www.exim.org/exim-html-current/doc/html/spec_html/ch-exim_utilities.html#SECThindatmai"
+}