summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-dns')
-rw-r--r--net-dns/knot/Manifest1
-rw-r--r--net-dns/knot/knot-3.2.2.ebuild121
-rw-r--r--net-dns/knot/metadata.xml3
3 files changed, 125 insertions, 0 deletions
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>