opensmtpd-6.6.1_p1.ebuild (2556B)
1 # Copyright 1999-2018 Gentoo Foundation
2 # Copyright 2018-2019 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
3 # Distributed under the terms of the GNU General Public License v2
4
5 EAPI=7
6
7 inherit multilib user flag-o-matic pam toolchain-funcs autotools systemd
8
9 DESCRIPTION="Lightweight but featured SMTP daemon from OpenBSD"
10 HOMEPAGE="https://www.opensmtpd.org"
11 SRC_URI="https://www.opensmtpd.org/archives/${P/_}.tar.gz"
12
13 LICENSE="ISC BSD BSD-1 BSD-2 BSD-4"
14 SLOT="0"
15 KEYWORDS="~amd64"
16 IUSE="libressl pam mdoc +mta"
17
18 DEPEND="
19 !libressl? ( >=dev-libs/openssl-1.1.0:0 )
20 libressl? ( >=dev-libs/libressl-3.0.2 )
21 sys-libs/zlib
22 pam? ( sys-libs/pam )
23 elibc_musl? (
24 sys-libs/fts-standalone
25 sys-libs/queue-standalone
26 )
27 sys-libs/db:=
28 dev-libs/libevent
29 app-misc/ca-certificates
30 net-mail/mailbase
31 net-libs/libasr
32 !mail-mta/courier
33 !mail-mta/esmtp
34 !mail-mta/exim
35 !mail-mta/mini-qmail
36 !mail-mta/msmtp[mta]
37 !mail-mta/netqmail
38 !mail-mta/nullmailer
39 !mail-mta/postfix
40 !mail-mta/qmail-ldap
41 !mail-mta/sendmail
42 !mail-mta/ssmtp[mta]
43 "
44 RDEPEND="${DEPEND}"
45
46 S=${WORKDIR}/${P/_}
47
48 src_prepare() {
49 default
50
51 # Use /run instead of /var/run
52 sed -i -e '/pidfile_path/s:_PATH_VARRUN:"/run/":' openbsd-compat/pidfile.c || die
53 sed -i -e 's;/usr/libexec/;/usr/libexec/opensmtpd/;g' smtpd/parse.y || die
54
55 append-cflags "-ffunction-sections"
56 append-ldflags "-Wl,--gc-sections"
57
58 eautoreconf
59 }
60
61 src_configure() {
62 tc-export AR
63 AR="$(which "$AR")" econf \
64 --with-table-db \
65 --with-user-smtpd=smtpd \
66 --with-user-queue=smtpq \
67 --with-group-queue=smtpq \
68 --with-path-socket=/run \
69 --with-path-CAfile=/etc/ssl/certs/ca-certificates.crt \
70 --sysconfdir=/etc/opensmtpd \
71 --with-mantype=$(usex mdoc doc man) \
72 $(use_with pam auth-pam)
73 }
74
75 src_install() {
76 default
77
78 newinitd "${FILESDIR}"/smtpd.initd smtpd
79 systemd_dounit "${FILESDIR}"/smtpd.{service,socket}
80
81 use pam && newpamd "${FILESDIR}"/smtpd.pam smtpd
82
83 dosym /usr/sbin/smtpctl /usr/sbin/makemap
84 dosym /usr/sbin/smtpctl /usr/sbin/newaliases
85
86 if use mta ; then
87 dodir /usr/sbin
88 dosym /usr/sbin/smtpctl /usr/sbin/sendmail
89 dosym /usr/sbin/smtpctl /usr/bin/sendmail
90 dosym /usr/sbin/smtpctl /usr/$(get_libdir)/sendmail
91 fi
92 }
93
94 pkg_preinst() {
95 enewgroup smtpd 25
96 enewuser smtpd 25 -1 /var/empty smtpd
97 enewgroup smtpq 252
98 enewuser smtpq 252 -1 /var/empty smtpq
99 }
100
101 pkg_postinst() {
102 einfo
103 einfo "Plugins for SQLite, MySQL, PostgreSQL, LDAP, socketmaps,"
104 einfo "Redis, and many other useful addons and filters are"
105 einfo "available in the mail-filter/opensmtpd-extras package."
106 einfo
107 }