logo

overlay

My own overlay for experimentations, use with caution, no support is provided

opensmtpd-6.4.2_p1-r1.ebuild (2622B)


      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:0 )
     20 	libressl? ( dev-libs/libressl )
     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 # PATCHES=( "${FILESDIR}/opensmtpd-6.4.0_p1_missing_object_file_smtpctl.patch" )
     49 
     50 src_prepare() {
     51 	default
     52 
     53 	# Use /run instead of /var/run
     54 	sed -i -e '/pidfile_path/s:_PATH_VARRUN:"/run/":' openbsd-compat/pidfile.c || die
     55 	sed -i -e 's;/usr/libexec/;/usr/libexec/opensmtpd/;g' smtpd/parse.y || die
     56 
     57 	append-cflags "-ffunction-sections"
     58 	append-ldflags "-Wl,--gc-sections"
     59 
     60 	eautoreconf
     61 }
     62 
     63 src_configure() {
     64 	tc-export AR
     65 	AR="$(which "$AR")" econf \
     66 		--with-table-db \
     67 		--with-user-smtpd=smtpd \
     68 		--with-user-queue=smtpq \
     69 		--with-group-queue=smtpq \
     70 		--with-path-socket=/run \
     71 		--with-path-CAfile=/etc/ssl/certs/ca-certificates.crt \
     72 		--sysconfdir=/etc/opensmtpd \
     73 		--with-mantype=$(usex mdoc doc man) \
     74 		$(use_with pam auth-pam)
     75 }
     76 
     77 src_install() {
     78 	default
     79 
     80 	newinitd "${FILESDIR}"/smtpd.initd smtpd
     81 	systemd_dounit "${FILESDIR}"/smtpd.{service,socket}
     82 
     83 	use pam && newpamd "${FILESDIR}"/smtpd.pam smtpd
     84 
     85 	dosym /usr/sbin/smtpctl /usr/sbin/makemap
     86 	dosym /usr/sbin/smtpctl /usr/sbin/newaliases
     87 
     88 	if use mta ; then
     89 		dodir /usr/sbin
     90 		dosym /usr/sbin/smtpctl /usr/sbin/sendmail
     91 		dosym /usr/sbin/smtpctl /usr/bin/sendmail
     92 		dosym /usr/sbin/smtpctl /usr/$(get_libdir)/sendmail
     93 	fi
     94 }
     95 
     96 pkg_preinst() {
     97 	enewgroup smtpd 25
     98 	enewuser smtpd 25 -1 /var/empty smtpd
     99 	enewgroup smtpq 252
    100 	enewuser smtpq 252 -1 /var/empty smtpq
    101 }
    102 
    103 pkg_postinst() {
    104 	einfo
    105 	einfo "Plugins for SQLite, MySQL, PostgreSQL, LDAP, socketmaps,"
    106 	einfo "Redis, and many other useful addons and filters are"
    107 	einfo "available in the mail-filter/opensmtpd-extras package."
    108 	einfo
    109 }