diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-03-25 00:31:50 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-03-25 00:31:50 +0000 |
commit | 85e7fcfe5631986ad1144ea54fc179d8658571d3 (patch) | |
tree | 70367139217a01e21c28e5d820dfa70782261ab7 /net-dns/knot | |
parent | 72e4c0bc86eea366d063d15b3d5611e8f82ffd05 (diff) |
gentoo auto-resync : 25:03:2025 - 00:31:49
Diffstat (limited to 'net-dns/knot')
-rw-r--r-- | net-dns/knot/Manifest | 2 | ||||
-rw-r--r-- | net-dns/knot/knot-3.4.5.ebuild | 194 |
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 +} |