From 7ba913aca3ddf5e0f2338bd0ce3df260052fb082 Mon Sep 17 00:00:00 2001
From: Pierre-Olivier Mercier <nemunaire@nemunai.re>
Date: Tue, 1 Nov 2022 11:51:03 +0100
Subject: net-dns/knot: add 3.2.2

Closes: https://bugs.gentoo.org/878297
Signed-off-by: Pierre-Olivier Mercier <nemunaire@nemunai.re>
Signed-off-by: Matthew Smith <matthew@gentoo.org>
---
 net-dns/knot/Manifest          |   1 +
 net-dns/knot/knot-3.2.2.ebuild | 121 +++++++++++++++++++++++++++++++++++++++++
 net-dns/knot/metadata.xml      |   3 +
 3 files changed, 125 insertions(+)
 create mode 100644 net-dns/knot/knot-3.2.2.ebuild

(limited to 'net-dns')

diff --git a/net-dns/knot/Manifest b/net-dns/knot/Manifest
index 2208988e0d1b..89fe24b1b728 100644
--- a/net-dns/knot/Manifest
+++ b/net-dns/knot/Manifest
@@ -4,3 +4,4 @@ DIST knot-3.1.8.tar.xz 1439912 BLAKE2B bcc089d547a7cad8150e93d70da036273a60b0e74
 DIST knot-3.1.9.tar.xz 1441408 BLAKE2B 383829107bef6b35cbef3c531bc91050e7742ca930bf6645c25cab04203ee360837808c3b5342089ce9ba9ee704290ab95b2f76172577d251c6a9c18796245a0 SHA512 e4ba1c006edcde2dc820e74c39df7a8b8983dfb2d8b8845ac759c6c67dfaabc5aae38282995ed92879a683665c0c179502858631c89ad53c2738f79df951eef7
 DIST knot-3.2.0.tar.xz 1665720 BLAKE2B 851f8278e2936459ca8bf4f06332d6a49e89152e634aaa94235d180c91a073c648797f8e42e371f563bbeb708289fdf3839f66508fbd41b7e045efbbe5d72374 SHA512 e007d633f1debb559d47a7646b055dc970502be11a1849063da3e3d28355f77e6cba41e34f06726bc5945e4e2ba3ecb84a4b39813a8079514d3bf584d7d565a2
 DIST knot-3.2.1.tar.xz 1626796 BLAKE2B f530438bc0e970abe5a6ed148dfb88e1a384ff54c91694af98d261aa3efc73201e60dc9e5f29c1a96b6d406a34fb4ea6cbde0c28dfdc772aa53836fb47e3f2f7 SHA512 2f12750dc0db06fd915c1b322626780c1d66e10c0b8170dea57559e514f66ee105ed8dbbc0a5f8084fcf772e82c242a8b09ae449631960abf4d60af4a13a1ea0
+DIST knot-3.2.2.tar.xz 1632748 BLAKE2B 185567dc883f946570fe60cd7d01d96162c5f13ac84330e5551c293b5011c162401fd25ddbdb43bf9242e13c3cdc8225be107dc579619fe54c05335601cd27ae SHA512 29fadb96c1ea525c6183f9e7552f4ad370579b67d74aec1910a92d561cc2c5656fd7876015f29161d279a07c23643f6584308bf9fa0e74d351b17af54e5e9a7f
diff --git a/net-dns/knot/knot-3.2.2.ebuild b/net-dns/knot/knot-3.2.2.ebuild
new file mode 100644
index 000000000000..29120ab563c0
--- /dev/null
+++ b/net-dns/knot/knot-3.2.2.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic systemd
+
+# subslot: libknot major.libdnssec major.libzscanner major
+KNOT_SUBSLOT="13.9.4"
+
+DESCRIPTION="High-performance authoritative-only DNS server"
+HOMEPAGE="https://www.knot-dns.cz/"
+SRC_URI="https://secure.nic.cz/files/knot-dns/${P/_/-}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0/${KNOT_SUBSLOT}"
+KEYWORDS="~amd64"
+
+KNOT_MODULES=(
+	"+cookies"
+	"+dnsproxy"
+	"dnstap"
+	"geoip"
+	"+noudp"
+	"+onlinesign"
+	"+queryacl"
+	"+rrl"
+	"+stats"
+	"+synthrecord"
+	"+whoami"
+)
+IUSE="doc caps doh +fastparser idn +libidn2 quic systemd +utils xdp ${KNOT_MODULES[@]}"
+
+RDEPEND="
+	acct-group/knot
+	acct-user/knot
+	dev-db/lmdb:=
+	dev-libs/libedit
+	dev-libs/userspace-rcu:=
+	dev-python/lmdb:=
+	net-libs/gnutls:=
+	caps? ( sys-libs/libcap-ng )
+	dnstap? (
+		dev-libs/fstrm
+		dev-libs/protobuf-c:=
+	)
+	doh? ( net-libs/nghttp2:= )
+	geoip? ( dev-libs/libmaxminddb:= )
+	idn? (
+		!libidn2? ( net-dns/libidn:0= !net-dns/libidn2 )
+		libidn2? ( net-dns/libidn2:= )
+	)
+	quic? ( net-libs/ngtcp2:=[gnutls] )
+	systemd? ( sys-apps/systemd:= )
+	xdp? (
+		 dev-libs/libbpf:=
+		 net-libs/libmnl:=
+	)
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	virtual/pkgconfig
+	doc? ( dev-python/sphinx )
+"
+
+S="${WORKDIR}/${P/_/-}"
+
+src_configure() {
+	local u
+	local my_conf=(
+		--with-storage="${EPREFIX}/var/lib/${PN}"
+		--with-rundir="${EPREFIX}/var/run/${PN}"
+		$(use_enable caps cap_ng)
+		$(use_enable fastparser)
+		$(use_enable dnstap)
+		$(use_enable doc documentation)
+		$(use_enable quic)
+		$(use_enable utils utilities)
+		$(use_enable xdp)
+		--enable-systemd=$(usex systemd)
+		$(use_with idn libidn)
+		$(use_with doh libnghttp2)
+	)
+
+	for u in "${KNOT_MODULES[@]#+}"; do
+		my_conf+=("$(use_with ${u} module-${u})")
+	done
+
+	if use riscv; then
+		append-libs -latomic
+	fi
+
+	econf "${my_conf[@]}"
+}
+
+src_compile() {
+	default
+
+	use doc && emake -C doc html
+}
+
+src_test() {
+	emake check
+}
+
+src_install() {
+	use doc && local HTML_DOCS=( doc/_build/html/{*.html,*.js,_sources,_static} )
+
+	default
+
+	rmdir "${D}/var/run/${PN}" "${D}/var/run/" || die
+
+	newinitd "${FILESDIR}/knot.init" knot
+	if use systemd; then
+		systemd_newunit "${FILESDIR}/knot-1.service" knot.service
+	fi
+
+	find "${D}" -name '*.la' -delete || die
+
+	keepdir /var/lib/knot
+}
diff --git a/net-dns/knot/metadata.xml b/net-dns/knot/metadata.xml
index 56b218b58761..6fc839da3260 100644
--- a/net-dns/knot/metadata.xml
+++ b/net-dns/knot/metadata.xml
@@ -45,6 +45,9 @@
 		<flag name="queryacl">
 			Enable the module for query access control
 		</flag>
+		<flag name="quic">
+			Enable the DNS over QUIC (DoQ) module using libngtcp2
+		</flag>
 		<flag name="rrl">
 			Enable the response rate limiting module
 		</flag>
-- 
cgit v1.2.3-65-gdbad