commit:     cd27b48e1fbc51a086a41f1325b2fedb5b0e12f3
Author:     Andreas Schuerch <nativemad <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 19 18:47:12 2024 +0000
Commit:     Andreas Schuerch <nativemad <AT> gentoo <DOT> org>
CommitDate: Mon Feb 19 18:50:37 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd27b48e

net-dns/dnsdist: 1.9.0-r1 update EAPI 7 -> 8, new useflags and several fixes 
all over.
Thanks Holger Hoffstätte and Joonas Niilola for all the inputs!

Closes: https://github.com/gentoo/gentoo/pull/35413

Signed-off-by: Andreas Schuerch <nativemad <AT> gentoo.org>

 net-dns/dnsdist/dnsdist-1.9.0-r1.ebuild | 111 ++++++++++++++++++++++++++++++++
 net-dns/dnsdist/metadata.xml            |  21 ++++--
 2 files changed, 127 insertions(+), 5 deletions(-)

diff --git a/net-dns/dnsdist/dnsdist-1.9.0-r1.ebuild 
b/net-dns/dnsdist/dnsdist-1.9.0-r1.ebuild
new file mode 100644
index 000000000000..473717e4807a
--- /dev/null
+++ b/net-dns/dnsdist/dnsdist-1.9.0-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit flag-o-matic lua-single
+
+DESCRIPTION="A highly DNS-, DoS- and abuse-aware loadbalancer"
+HOMEPAGE="https://dnsdist.org";
+
+SRC_URI="https://downloads.powerdns.com/releases/${P}.tar.bz2";
+KEYWORDS="~amd64 ~x86"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="bpf cdb dnscrypt dnstap doh doh3 ipcipher lmdb quic regex snmp +ssl 
systemd test web xdp"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${LUA_REQUIRED_USE}
+               dnscrypt? ( ssl )
+               doh? ( ssl )
+               doh3? ( ssl quic )
+               ipcipher? ( ssl )
+               quic? ( ssl )"
+
+RDEPEND="acct-group/dnsdist
+       acct-user/dnsdist
+       bpf? ( dev-libs/libbpf:= )
+       cdb? ( dev-db/tinycdb:= )
+       dev-libs/boost:=
+       sys-libs/libcap
+       dev-libs/libedit
+       dev-libs/libsodium:=
+       dnstap? ( dev-libs/fstrm )
+       doh? ( net-libs/nghttp2:= )
+       doh3? ( net-libs/quiche:= )
+       lmdb? ( dev-db/lmdb:= )
+       quic? ( net-libs/quiche )
+       regex? ( dev-libs/re2:= )
+       snmp? ( net-analyzer/net-snmp:= )
+       ssl? ( dev-libs/openssl:= )
+       systemd? ( sys-apps/systemd:0= )
+       xdp? ( net-libs/xdp-tools )
+       ${LUA_DEPS}
+"
+
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+       default
+
+       # clean up duplicate file
+       rm -f README.md
+}
+
+src_configure() {
+       # bug #822855
+       append-lfs-flags
+
+       # some things can only be enabled/disabled by defines
+       ! use dnstap && append-cppflags -DDISABLE_PROTOBUF
+       ! use web && append-cppflags -DDISABLE_BUILTIN_HTML
+
+       sed 's/hardcode_libdir_flag_spec_CXX='\''$wl-rpath 
$wl$libdir'\''/hardcode_libdir_flag_spec_CXX='\''$wl-rpath $wl\/$libdir'\''/g' \
+               -i "${S}/configure"
+
+       local myeconfargs=(
+               --sysconfdir=/etc/dnsdist
+               --with-lua="${ELUA}"
+               --without-h2o
+               --enable-tls-providers
+               --without-gnutls
+               $(use_with bpf ebpf)
+               $(use_with cdb cdb)
+               $(use_enable doh dns-over-https)
+               $(use_enable doh3 dns-over-http3)
+               $(use_enable dnscrypt)
+               $(use_enable dnstap)
+               $(use_enable ipcipher)
+               $(use_with lmdb )
+               $(use_enable quic dns-over-quic)
+               $(use_with regex re2)
+               $(use_with snmp net-snmp)
+               $(use_enable ssl dns-over-tls)
+               $(use_enable systemd) \
+               $(use_enable test unit-tests)
+               $(use_with xdp xsk)
+       )
+
+       econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       default
+
+       insinto /etc/dnsdist
+       doins "${FILESDIR}"/dnsdist.conf.example
+
+       newconfd "${FILESDIR}"/dnsdist.confd ${PN}
+       newinitd "${FILESDIR}"/dnsdist.initd ${PN}
+}
+
+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."
+}

diff --git a/net-dns/dnsdist/metadata.xml b/net-dns/dnsdist/metadata.xml
index 3b1c4911d481..c0cba7b1344e 100644
--- a/net-dns/dnsdist/metadata.xml
+++ b/net-dns/dnsdist/metadata.xml
@@ -5,20 +5,31 @@
                <email>native...@gentoo.org</email>
                <name>Andreas Schuerch</name>
        </maintainer>
+       <maintainer type="person" proxied="yes">
+               <email>hol...@applied-asynchrony.com</email>
+               <name>Holger Hoffstätte</name>
+       </maintainer>
+       <maintainer type="project" proxied="proxy">
+               <email>proxy-ma...@gentoo.org</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
        <longdescription lang="en">
                dnsdist is a highly DNS-, DoS- and abuse-aware loadbalancer. 
Its goal in life is to route traffic to the best server, delivering top 
performance to legitimate users while shunting or blocking abusive traffic.
        </longdescription>
        <use>
+               <flag name="bpf">Enable support for eBPF socket filtering</flag>
                <flag name="dnscrypt">Enable the ability to act as a DNSCrypt 
server</flag>
-               <flag name="regex">Enable support for regular expression 
matching via <pkg>dev-libs/re2</pkg></flag>
-               <flag name="remote-logging">Enable support for remote logging 
via <pkg>dev-libs/protobuf</pkg></flag>
-               <flag name="ssl">Enable support for and encrypted client-server 
communication via <pkg>dev-libs/libsodium</pkg></flag>
+               <flag name="dnstap">Enable support for dnstap</flag>
                <flag name="doh">Enable support for dns over http via 
<pkg>net-libs/nghttp2</pkg></flag>
                <flag name="doh3">Enable support for dns over http3 via 
<pkg>net-libs/quiche</pkg></flag>
-               <flag name="dnstap">Enable support for dnstap</flag>
+               <flag name="ipcipher">Enable support for ipcipher via 
<pkg>dev-libs/openssl</pkg></flag>
                <flag name="lmdb">Enable support for lmdb</flag>
                <flag name="quic">Enable support for dns over quic via 
<pkg>net-libs/quiche</pkg></flag>
-               <flag name="ipcipher">Enable support for ipcipher via 
<pkg>dev-libs/openssl</pkg></flag>
+               <flag name="regex">Enable support for regular expression 
matching via <pkg>dev-libs/re2</pkg></flag>
+               <flag name="remote-logging">Enable support for remote logging 
via <pkg>dev-libs/protobuf</pkg></flag>
+               <flag name="ssl">Enable support for and encrypted client-server 
communication via <pkg>dev-libs/libsodium</pkg></flag>
+               <flag name="web">Enable support for the web UI</flag>
+               <flag name="xdp">Enable support for AF_XDP high performance 
packet processing</flag>
        </use>  
        <upstream>
                <remote-id type="github">PowerDNS/pdns</remote-id>

Reply via email to