# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit toolchain-funcs # This library is part of sendmail, but it does not share the version number with it. # In order to find the right libmilter version number, check SMFI_VERSION definition # that can be found in ${S}/include/libmilter/mfapi.h (see also SM_LM_VRS_* defines). # For example, version 1.0.1 has a SMFI_VERSION of 0x01000001. SENDMAIL_VER=8.16.1 DESCRIPTION="The Sendmail Filter API (Milter)" HOMEPAGE="http://www.sendmail.org/" SRC_URI="ftp://ftp.sendmail.org/pub/sendmail/sendmail.${SENDMAIL_VER}.tar.gz" S="${WORKDIR}/sendmail-${SENDMAIL_VER}" LICENSE="Sendmail" SLOT="0/${PV}" #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" IUSE="ipv6 poll" # build system patch copied from sendmail ebuild PATCHES=( "${FILESDIR}/sendmail-8.16.1-build-system.patch" "${FILESDIR}/${PN}-sharedlib.patch" ) src_prepare() { default local CC="$(tc-getCC)" local ENVDEF="-DNETUNIX -DNETINET -DHAS_GETHOSTBYNAME2=1" use ipv6 && ENVDEF="${ENVDEF} -DNETINET6" use poll && ENVDEF="${ENVDEF} -DSM_CONF_POLL=1" if use elibc_musl; then use ipv6 && ENVDEF="${ENVDEF} -DNEEDSGETIPNODE" eapply "${FILESDIR}/${PN}-musl-stack-size.patch" eapply "${FILESDIR}/${PN}-musl-disable-cdefs.patch" fi sed -e "s|@@CFLAGS@@|${CFLAGS}|" \ -e "s|@@LDFLAGS@@|${LDFLAGS}|" \ -e "s|@@CC@@|${CC}|" \ -e "s|@@ENVDEF@@|${ENVDEF}|" \ "${FILESDIR}/gentoo.config.m4" > "${S}/devtools/Site/site.config.m4" \ || die "failed to generate site.config.m4" } src_compile() { pushd libmilter emake -j1 MILTER_SOVER=${PV} popd } src_install() { local MY_LIBDIR=/usr/$(get_libdir) dodir "${MY_LIBDIR}" emake DESTDIR="${D}" LIBDIR="${MY_LIBDIR}" MANROOT=/usr/share/man/man \ SBINOWN=root SBINGRP=0 UBINOWN=root UBINGRP=0 \ LIBOWN=root LIBGRP=0 GBINOWN=root GBINGRP=0 \ MANOWN=root MANGRP=0 INCOWN=root INCGRP=0 \ MSPQOWN=root CFOWN=root CFGRP=0 \ MILTER_SOVER=${PV} \ install -C obj.*/libmilter dodoc libmilter/README dodoc libmilter/docs/* find "${ED}" -name '*.a' -delete || die }