14d9fa69ea4a153ffef843a1e8b40b3866c19eea
[gentoo.git] / mail-mta / opensmtpd / opensmtpd-6.0.3_p1-r3.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 inherit pam toolchain-funcs systemd
7
8 DESCRIPTION="Lightweight but featured SMTP daemon from OpenBSD"
9 HOMEPAGE="https://www.opensmtpd.org"
10 SRC_URI="https://www.opensmtpd.org/archives/${P/_}.tar.gz"
11
12 LICENSE="ISC BSD BSD-1 BSD-2 BSD-4"
13 SLOT="0"
14 KEYWORDS="~amd64 ~arm ~arm64 ~x86"
15 IUSE="libressl pam +mta"
16
17 DEPEND="
18         acct-user/smtpd
19         acct-user/smtpq
20         !libressl? ( dev-libs/openssl:0= )
21         libressl? ( dev-libs/libressl:0= )
22         elibc_musl? ( sys-libs/fts-standalone )
23         sys-libs/zlib
24         pam? ( sys-libs/pam )
25         sys-libs/db:=
26         dev-libs/libevent
27         app-misc/ca-certificates
28         net-mail/mailbase
29         net-libs/libasr
30         !mail-mta/courier
31         !mail-mta/esmtp
32         !mail-mta/exim
33         !mail-mta/mini-qmail
34         !mail-mta/msmtp[mta]
35         !mail-mta/netqmail
36         !mail-mta/nullmailer
37         !mail-mta/postfix
38         !mail-mta/qmail-ldap
39         !mail-mta/sendmail
40         !mail-mta/ssmtp[mta]
41 "
42 RDEPEND="${DEPEND}"
43
44 S=${WORKDIR}/${P/_}
45 PATCHES=(
46         "${FILESDIR}/${P}-fix-crash-on-auth.patch"
47         "${FILESDIR}/${P}-openssl_1.1.patch"
48         "${FILESDIR}/${P}-security-fixes.patch"
49 )
50
51 src_configure() {
52         tc-export AR
53         AR="$(which "$AR")" econf \
54                 --with-table-db \
55                 --with-user-smtpd=smtpd \
56                 --with-user-queue=smtpq \
57                 --with-group-queue=smtpq \
58                 --with-path-socket=/run \
59                 --with-path-CAfile=/etc/ssl/certs/ca-certificates.crt \
60                 --sysconfdir=/etc/opensmtpd \
61                 $(use_with pam auth-pam)
62 }
63
64 src_install() {
65         default
66         newinitd "${FILESDIR}"/smtpd.initd smtpd
67         systemd_dounit "${FILESDIR}"/smtpd.{service,socket}
68         use pam && newpamd "${FILESDIR}"/smtpd.pam smtpd
69         dosym smtpctl /usr/sbin/makemap
70         dosym smtpctl /usr/sbin/newaliases
71         if use mta ; then
72                 dodir /usr/sbin
73                 dosym smtpctl /usr/sbin/sendmail
74                 dosym ../sbin/smtpctl /usr/bin/sendmail
75                 mkdir -p "${ED}"/usr/$(get_libdir) || die
76                 ln -s --relative "${ED}"/usr/sbin/smtpctl "${ED}"/usr/$(get_libdir)/sendmail || die
77         fi
78 }