5 |
5 |
|
6 |
6 |
inherit db-use toolchain-funcs pam systemd
|
7 |
7 |
|
8 |
|
IUSE="arc +dane dcc +dkim dlfunc dmarc +dnsdb doc dovecot-sasl dsn 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"
|
|
8 |
IUSE="arc berkdb +dane dcc +dkim dlfunc dmarc +dnsdb doc dovecot-sasl
|
|
9 |
dsn exiscan-acl gdbm gnutls idn ipv6 ldap lmtp maildir mbx
|
|
10 |
mysql nis pam perl pkcs11 postgres +prdr proxy radius redis sasl selinux
|
|
11 |
socks5 spf sqlite srs +srs-alt srs-native +ssl syslog tdb tcpd +tpda X"
|
9 |
12 |
REQUIRED_USE="
|
10 |
13 |
arc? ( dkim spf )
|
11 |
14 |
dane? ( ssl !gnutls )
|
... | ... | |
18 |
21 |
exiscan-acl
|
19 |
22 |
^^ ( srs-alt srs-native )
|
20 |
23 |
)
|
|
24 |
|| ( berkdb gdbm tdb )
|
21 |
25 |
"
|
22 |
26 |
# NOTE on USE="gnutls dane", gnutls[dane] is masked in base, unmasked
|
23 |
27 |
# for x86 and amd64 only, due to this, repoman won't allow depending on
|
... | ... | |
26 |
30 |
# have left is to a) ignore the dependency (but that results in bug
|
27 |
31 |
# #661164) or b) mask the usage of USE=dane with USE=gnutls. Both are
|
28 |
32 |
# incorrect, but b) is the only "correct" view from repoman.
|
|
33 |
# We cannot express a required use for berkdb/gdbm/tdb correctly because
|
|
34 |
# berkdb and gdbm are both enabled in base profile
|
29 |
35 |
|
30 |
36 |
SDIR=$([[ ${PV} == *_rc* ]] && echo /test
|
31 |
37 |
[[ ${PV} == *.*.*.* ]] && echo /fixes)
|
... | ... | |
39 |
45 |
|
40 |
46 |
SLOT="0"
|
41 |
47 |
LICENSE="GPL-2"
|
42 |
|
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~ppc ppc64 sparc x86"
|
|
48 |
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
|
43 |
49 |
|
44 |
50 |
COMMON_DEPEND=">=sys-apps/sed-4.0.5
|
45 |
|
( >=sys-libs/db-3.2:= <sys-libs/db-6:= )
|
46 |
|
dev-libs/libpcre
|
|
51 |
dev-libs/libpcre:=
|
|
52 |
tdb? ( sys-libs/tdb:= )
|
|
53 |
!tdb? ( berkdb? ( >=sys-libs/db-3.2:= <sys-libs/db-6:= ) )
|
|
54 |
!tdb? ( !berkdb? ( sys-libs/gdbm:= ) )
|
47 |
55 |
idn? ( net-dns/libidn:= net-dns/libidn2:= )
|
48 |
56 |
perl? ( dev-lang/perl:= )
|
49 |
57 |
pam? ( sys-libs/pam )
|
... | ... | |
58 |
66 |
)
|
59 |
67 |
)
|
60 |
68 |
ldap? ( >=net-nds/openldap-2.0.7:= )
|
61 |
|
nis? (
|
62 |
|
elibc_glibc? (
|
|
69 |
elibc_glibc? (
|
|
70 |
net-libs/libnsl:=
|
|
71 |
nis? (
|
63 |
72 |
net-libs/libtirpc:=
|
64 |
73 |
>=net-libs/libnsl-1:=
|
65 |
74 |
)
|
... | ... | |
81 |
90 |
radius? ( net-dialup/freeradius-client )
|
82 |
91 |
virtual/libcrypt:=
|
83 |
92 |
virtual/libiconv
|
84 |
|
elibc_glibc? ( net-libs/libnsl )
|
85 |
93 |
"
|
86 |
94 |
# added X check for #57206
|
87 |
95 |
BDEPEND="virtual/pkgconfig"
|
... | ... | |
112 |
120 |
eapply -p0 "${FILESDIR}"/exim-4.76-crosscompile.patch # 266591
|
113 |
121 |
eapply "${FILESDIR}"/exim-4.69-r1.27021.patch
|
114 |
122 |
eapply "${FILESDIR}"/exim-4.94-localscan_dlopen.patch
|
|
123 |
eapply "${FILESDIR}"/exim-4.94.2-fix-crash-resolve.patch # 799368 upstr
|
|
124 |
eapply "${FILESDIR}"/exim-4.94-CVE-2022-3559.patch # 877607 upstr
|
|
125 |
eapply "${FILESDIR}"/exim-4.94.2-openssl3.patch # 888619 backports
|
115 |
126 |
|
116 |
127 |
# for this reason we have a := dep on opendmarc, they changed their
|
117 |
128 |
# API in a minor release
|
... | ... | |
169 |
180 |
HAVE_ICONV=yes
|
170 |
181 |
EOC
|
171 |
182 |
|
|
183 |
# configure db implementation, Exim always needs one for its hints
|
|
184 |
# database, we prefer tdb and gdbm, since bdb is kind of getting
|
|
185 |
# less and less support
|
|
186 |
if use tdb ; then
|
|
187 |
cat >> Makefile <<- EOC
|
|
188 |
USE_TDB=yes
|
|
189 |
DBMLIB = -ltdb
|
|
190 |
EOC
|
|
191 |
sed -i -e 's:^USE_DB=yes:# USE_DB=yes:' Makefile || die
|
|
192 |
sed -i -e 's:^USE_GDBM=yes:# USE_GDBM=yes:' Makefile || die
|
|
193 |
elif use berkdb ; then
|
|
194 |
# use the "native" interfaces to the DBM and CDB libraries, support
|
|
195 |
# passwd and directory lookups by default
|
|
196 |
local DB_VERS="5.3 5.1 4.8 4.7 4.6 4.5 4.4 4.3 4.2 3.2"
|
|
197 |
cat >> Makefile <<- EOC
|
|
198 |
USE_DB=yes
|
|
199 |
# keep include in CFLAGS because exim.h -> dbstuff.h -> db.h
|
|
200 |
CFLAGS += -I$(db_includedir ${DB_VERS})
|
|
201 |
DBMLIB = -l$(db_libname ${DB_VERS})
|
|
202 |
EOC
|
|
203 |
sed -i -e 's:^USE_GDBM=yes:# USE_GDBM=yes:' Makefile || die
|
|
204 |
sed -i -e 's:^USE_TDB=yes:# USE_TDB=yes:' Makefile || die
|
|
205 |
else # must be gdbm via required_use
|
|
206 |
cat >> Makefile <<- EOC
|
|
207 |
USE_GDBM=yes
|
|
208 |
DBMLIB = -lgdbm
|
|
209 |
EOC
|
|
210 |
sed -i -e 's:^USE_DB=yes:# USE_DB=yes:' Makefile || die
|
|
211 |
sed -i -e 's:^USE_TDB=yes:# USE_TDB=yes:' Makefile || die
|
|
212 |
fi
|
|
213 |
|
172 |
214 |
# if we use libiconv, now is the time to tell so
|
173 |
215 |
if use !elibc_glibc && use !elibc_musl ; then
|
174 |
216 |
cat >> Makefile <<- EOC
|
... | ... | |
217 |
259 |
|
218 |
260 |
#
|
219 |
261 |
# lookup methods
|
|
262 |
#
|
220 |
263 |
|
221 |
|
# use the "native" interfaces to the DBM and CDB libraries, support
|
222 |
|
# passwd and directory lookups by default
|
223 |
|
local DB_VERS="5.3 5.1 4.8 4.7 4.6 4.5 4.4 4.3 4.2 3.2"
|
|
264 |
# support passwd and directory lookups by default
|
224 |
265 |
cat >> Makefile <<- EOC
|
225 |
|
USE_DB=yes
|
226 |
266 |
LOOKUP_CDB=yes
|
227 |
267 |
LOOKUP_PASSWD=yes
|
228 |
268 |
LOOKUP_DSEARCH=yes
|
229 |
|
# keep include in CFLAGS because exim.h -> dbstuff.h -> db.h
|
230 |
|
CFLAGS += -I$(db_includedir ${DB_VERS})
|
231 |
|
DBMLIB = -l$(db_libname ${DB_VERS})
|
232 |
269 |
EOC
|
233 |
270 |
|
234 |
271 |
if ! use dnsdb; then
|
... | ... | |
400 |
437 |
EOC
|
401 |
438 |
fi
|
402 |
439 |
|
|
440 |
# SOCKS5 (outbound) proxy support
|
|
441 |
if use socks5; then
|
|
442 |
cat >> Makefile <<- EOC
|
|
443 |
SUPPORT_SOCKS=yes
|
|
444 |
EOC
|
|
445 |
fi
|
|
446 |
|
403 |
447 |
# DANE
|
404 |
448 |
if use !dane; then
|
405 |
449 |
# DANE is enabled by default
|