summaryrefslogtreecommitdiff
path: root/net-dns/knot
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-03-25 00:31:50 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-03-25 00:31:50 +0000
commit85e7fcfe5631986ad1144ea54fc179d8658571d3 (patch)
tree70367139217a01e21c28e5d820dfa70782261ab7 /net-dns/knot
parent72e4c0bc86eea366d063d15b3d5611e8f82ffd05 (diff)
gentoo auto-resync : 25:03:2025 - 00:31:49
Diffstat (limited to 'net-dns/knot')
-rw-r--r--net-dns/knot/Manifest2
-rw-r--r--net-dns/knot/knot-3.4.5.ebuild194
2 files changed, 196 insertions, 0 deletions
diff --git a/net-dns/knot/Manifest b/net-dns/knot/Manifest
index 05a12680bff8..f2330d49cfcf 100644
--- a/net-dns/knot/Manifest
+++ b/net-dns/knot/Manifest
@@ -2,5 +2,7 @@ AUX knot-3.init 943 BLAKE2B 068a152efe75d2871d87edf4ff9f52e05e0f0d1ce22fed6bffaf
AUX knot.confd 194 BLAKE2B 9ff11bcd85f98f461a991b757023238bb18258617387e120e7b15902d8e42668e48980ad5dbfd730b07adcae6acf868f6249d5e7d8a6ee15ba5e4df78dd2443d SHA512 ae0da92420c61ba6b68aef33eb9ff993dd3c86d7cac96421511a6278a235790651ac2696582f7be757e6aaceb82d65d34054fe63063ea3bff74bba8227617bbe
AUX knot.tmpfile 58 BLAKE2B a107ca27b8d47253409c319d0e69ab151237844d10840155e6ceeb37b8c63268de52c161f63ca27b6c3ec4092c7759fc46d325d4cd79063caa33ef82e23e119e SHA512 db13a4108ce820032a72aa788e6cf79c6bb0870ec457f454dea9102f07255dd5c1543723436665da92236c093ee97161f72298131f80dff09d5faf6aba24bde8
DIST knot-3.4.4.tar.xz 1641460 BLAKE2B d477a4a368b0c6d6c1003a52041403d17bab4e3ecb6e532130b633894d4ee88711038b94e1d4cf12406eb281b800d701c00e40414d458b7bdefb1d632a779821 SHA512 bf8e80d430336934083c1f7c304306de78b254fba5d3b9dd8b44065a0f1527cd78b74d498d994822ed2d364b66091ad967d3cd991bde380fbba67ea34a1ee33f
+DIST knot-3.4.5.tar.xz 1610204 BLAKE2B 50f7258502f58a7a02500de7b1f195c99b380b7ae38b97aed62228fbdd8897c407fef1a59f5015cf9a00982305ddf0094065495a16ae4ef375472537e6a9e4c2 SHA512 62e7023fa2a9b2323104816dbc2adeec513b70c1891f5f87ab4e951d0db18717f1089bab8b5d2ada008fcf2efd9f0547881084a2e6121891e15cbe9992528c9e
EBUILD knot-3.4.4.ebuild 4102 BLAKE2B 7cc30a08b82136eb55e878670e24099fabbce1ca0d6804fb30a57e634bc6ffbd647004ca2c58bffc2831020ffb3ccac6f4e685a8232c5ff4cc4814981141da8c SHA512 9b8a8de74c7c56da11c999a3564716674d9930eb15b1b1ff850348b5807300a875e9561ca8e1ef97605fc41858cd45d8533da44d21851c56103641f1f9d3bcf1
+EBUILD knot-3.4.5.ebuild 4304 BLAKE2B 20dd26889833b7d8f1e9d7b588143ec949076f68c0ec9a63e2ac7d58df2522560e8de5392da1f5dd8049cf1e0208ec7b2b46740a7a32a2a400552f2f1cce2aaf SHA512 169b967a13b1bcd5869ef90eb293bae19f606436e4f62f0237064e48c21bfeb08421a608a263f8fe1a889c29b2e35a3c3a7cc3ff9111f55d2d4fcc7cbb76507b
MISC metadata.xml 2238 BLAKE2B 4fb25c18c046e5048d8f2e5106cef5520dc914b6d197d4d3352bd55421d62d60c80cf1104ab93b70691ccb2ba6123e7b739aa60472b7849a5606025ff1e13ff7 SHA512 b699955dcf80ae2d9b7eabd5666a0476fc6ea5e0edae6ff0f83049c258854f37bb5b41d6b83beca177f89ea05a97a6a4628d2ef1effc16421eb2573f332a80c0
diff --git a/net-dns/knot/knot-3.4.5.ebuild b/net-dns/knot/knot-3.4.5.ebuild
new file mode 100644
index 000000000000..14df7d46f1ff
--- /dev/null
+++ b/net-dns/knot/knot-3.4.5.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit python-single-r1 flag-o-matic systemd tmpfiles
+
+# subslot: libknot major.libdnssec major.libzscanner major
+KNOT_SUBSLOT="15.9.4"
+
+DESCRIPTION="High-performance authoritative-only DNS server"
+HOMEPAGE="https://www.knot-dns.cz/ https://gitlab.nic.cz/knot/knot-dns"
+SRC_URI="https://knot-dns.nic.cz/release/${P/_/-}.tar.xz"
+S="${WORKDIR}/${P/_/-}"
+
+LICENSE="GPL-3+"
+SLOT="0/${KNOT_SUBSLOT}"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+# Modules without dep. Built unconditionally.
+KNOT_MODULES=(
+ "authsignal"
+ "cookies"
+ "dnsproxy"
+ "noudp"
+ "onlinesign"
+ "queryacl"
+ "rrl"
+ "stats"
+ "synthrecord"
+ "whoami"
+)
+
+KNOT_MODULES_OPT=(
+ "dnstap"
+ "geoip"
+)
+
+IUSE="caps +daemon dbus +doc doh +fastparser +idn pkcs11 prometheus python quic systemd test +utils xdp ${KNOT_MODULES_OPT[@]}"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ prometheus? ( python )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+COMMON_DEPEND="
+ dev-libs/libedit
+ dnstap? (
+ dev-libs/fstrm
+ dev-libs/protobuf-c:=
+ )
+"
+RDEPEND="
+ dev-db/lmdb:=
+ net-libs/gnutls:=[pkcs11?]
+ daemon? (
+ ${COMMON_DEPEND}
+ acct-group/knot
+ acct-user/knot
+ dev-libs/userspace-rcu:=
+ caps? ( sys-libs/libcap-ng )
+ dbus? ( sys-apps/dbus )
+ geoip? ( dev-libs/libmaxminddb:= )
+ systemd? ( sys-apps/systemd:= )
+ )
+ prometheus? (
+ $(python_gen_cond_dep '
+ dev-python/prometheus-client[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ ')
+ )
+ python? ( ${PYTHON_DEPS} )
+ quic? ( net-libs/ngtcp2[gnutls] )
+ utils? (
+ ${COMMON_DEPEND}
+ doh? ( net-libs/nghttp2:= )
+ idn? ( net-dns/libidn2:= )
+ )
+ xdp? (
+ >=dev-libs/libbpf-1.0:=
+ net-libs/xdp-tools
+ utils? ( net-libs/libmnl:= )
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( dev-python/sphinx )
+ python? ( ${PYTHON_DEPS} )
+ test? (
+ pkcs11? ( dev-libs/softhsm )
+ )
+"
+
+# Used to check cpuset_t in sched.h with NetBSD.
+# False positive because linux have sched.h too but with cpu_set_t
+QA_CONFIG_IMPL_DECL_SKIP=( cpuset_create cpuset_destroy )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+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 daemon)
+ # enable-dnstap defines support for kdig only
+ $(use_enable dnstap dnstap $(usex utils))
+ $(use_enable doc documentation)
+ $(use_with doh libnghttp2)
+ $(use_enable fastparser)
+ $(use_enable geoip maxminddb)
+ $(use_with idn libidn)
+ $(use_enable quic)
+ $(use_enable systemd)
+ $(use_enable utils utilities)
+ $(use_enable xdp)
+ )
+ # modules are only used by daemon
+ # module-dnstap defines support for knotd only
+ if use daemon; then
+ for u in "${KNOT_MODULES[@]}"; do
+ my_conf+=("--with-module-${u}")
+ done
+ for u in "${KNOT_MODULES_OPT[@]#+}"; do
+ my_conf+=("$(use_with ${u} module-${u})")
+ done
+ else
+ my_conf+=("--disable-modules")
+ fi
+
+ if use !daemon; then
+ my_conf+=("--enable-dbus=no")
+ elif use dbus; then
+ my_conf+=("--enable-dbus=libdbus")
+ elif use !dbus && use !systemd; then
+ my_conf+=("--enable-dbus=no")
+ elif use !dbus && use systemd; then
+ my_conf+=("--enable-dbus=systemd")
+ fi
+
+ if use riscv; then
+ append-libs -latomic
+ fi
+
+ econf "${my_conf[@]}"
+}
+
+src_compile() {
+ default
+
+ use doc && emake -C doc html
+}
+
+src_install() {
+ use doc && local HTML_DOCS=( doc/_build/html/{*.html,*.js,_sources,_static} )
+
+ if use python; then
+ python_domodule python/libknot/libknot
+ newdoc python/libknot/README.md README.python.md
+ fi
+
+ if use prometheus; then
+ python_domodule python/knot_exporter/knot_exporter
+ python_scriptinto /usr/sbin
+ python_newscript python/knot_exporter/knot_exporter/knot_exporter.py knot-exporter
+ newdoc python/knot_exporter/README.md README.knot_exporter.md
+ fi
+
+ default
+
+ if use daemon; then
+ rmdir "${D}/var/run/${PN}" "${D}/var/run/" || die
+
+ newinitd "${FILESDIR}"/knot-3.init knot
+ newconfd "${FILESDIR}"/knot.confd knot
+
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf
+
+ use systemd && systemd_newunit distro/common/knot.service knot.service
+ fi
+
+ find "${D}" -name '*.la' -delete || die
+
+ keepdir /var/lib/knot
+}
+
+pkg_postinst() {
+ use daemon && tmpfiles_process ${PN}.conf
+}