summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-dns/dnsdist/dnsdist-1.3.3-r1.ebuild')
-rw-r--r--net-dns/dnsdist/dnsdist-1.3.3-r1.ebuild103
1 files changed, 103 insertions, 0 deletions
diff --git a/net-dns/dnsdist/dnsdist-1.3.3-r1.ebuild b/net-dns/dnsdist/dnsdist-1.3.3-r1.ebuild
new file mode 100644
index 000000000000..ed3b96e1ed6a
--- /dev/null
+++ b/net-dns/dnsdist/dnsdist-1.3.3-r1.ebuild
@@ -0,0 +1,103 @@
+# 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 )"
+
+RDEPEND="
+ >=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= )
+"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+[[ ${PV} == 9999 ]] && DEPEND+="
+ app-text/pandoc
+ dev-util/ragel
+ dev-python/virtualenv
+"
+
+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.<suffix> and dnsdist will use the"
+ elog "/etc/dnsdist/dnsdist-<suffix>.conf configuration file instead of the default."
+}