# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 EGIT_REPO_URI="https://github.com/PowerDNS/pdns.git" if [[ ${PV} = 9999 ]]; then ADDITIONAL_ECLASSES="autotools git-r3" fi inherit eutils flag-o-matic user ${ADDITIONAL_ECLASSES} DESCRIPTION="A highly DNS-, DoS- and abuse-aware loadbalancer" HOMEPAGE="https://dnsdist.org" if [[ ${PV} == 9999 ]]; then SRC_URI="" S="${WORKDIR}/${P}/pdns/dnsdistdist" else SRC_URI="https://downloads.powerdns.com/releases/${P}.tar.bz2" KEYWORDS="~amd64 ~x86" fi LICENSE="GPL-2" SLOT="0" IUSE="dnscrypt gnutls fstrm luajit regex remote-logging snmp +ssl systemd test" REQUIRED_USE="dnscrypt? ( ssl ) gnutls? ( ssl )" DEPEND=" >=dev-libs/boost-1.35:= dev-libs/libedit:= fstrm? ( dev-libs/fstrm:= ) luajit? ( dev-lang/luajit:= ) !luajit? ( >=dev-lang/lua-5.1:= ) remote-logging? ( >=dev-libs/protobuf-3:= ) regex? ( dev-libs/re2:= ) snmp? ( net-analyzer/net-snmp:= ) ssl? ( dev-libs/libsodium:= gnutls? ( net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:= ) ) systemd? ( sys-apps/systemd:0= ) " RDEPEND="${DEPEND}" [[ ${PV} == 9999 ]] && DEPEND+=" app-text/pandoc dev-util/ragel " src_prepare() { default [[ ${PV} == 9999 ]] && eautoreconf } src_configure() { econf \ --sysconfdir=/etc/dnsdist \ $(use_enable dnscrypt) \ $(use_enable fstrm) \ $(use luajit && echo "--with-lua=luajit" || echo "--with-lua=lua" ) \ $(use_enable regex re2) \ $(use_with remote-logging protobuf) \ $(use_with snmp net-snmp) \ $(use_enable ssl libsodium) \ $(use ssl && { echo "--enable-dns-over-tls" && use_enable gnutls && use_enable !gnutls libssl;} || echo "--disable-gnutls --disable-libssl") \ $(use_enable systemd) \ $(use_enable test unit-tests) if [ ${PV} == "1.3.3" ]; then sed 's/hardcode_libdir_flag_spec_CXX='\''$wl-rpath $wl$libdir'\''/hardcode_libdir_flag_spec_CXX='\''$wl-rpath $wl\/$libdir'\''/g' \ -i "${S}/configure" fi } src_install() { default insinto /etc/dnsdist doins "${FILESDIR}"/dnsdist.conf.example newconfd "${FILESDIR}"/dnsdist.confd ${PN} newinitd "${FILESDIR}"/dnsdist.initd ${PN} } pkg_preinst() { enewgroup dnsdist enewuser dnsdist -1 -1 -1 dnsdist } pkg_postinst() { elog "dnsdist provides multiple instances support. You can create more instances" elog "by symlinking the dnsdist init script to another name." elog elog "The name must be in the format dnsdist. and dnsdist will use the" elog "/etc/dnsdist/dnsdist-.conf configuration file instead of the default." }