public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-dns/knot/
Date: Thu, 05 Jun 2025 21:22:38 +0000 (UTC)	[thread overview]
Message-ID: <1749158504.0b9109b57a83f1cd54f57b2624a289a86df9a3f7.sam@gentoo> (raw)

commit:     0b9109b57a83f1cd54f57b2624a289a86df9a3f7
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Thu Jun  5 04:21:25 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun  5 21:21:44 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b9109b5

net-dns/knot: add 3.4.7

enable py3.14

move to python-r1 :
ensure a shared built-time target for sphinx/sphinx-panels
the Libknot API in Python justifies multi-implementation.

Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/42452
Closes: https://github.com/gentoo/gentoo/pull/42452
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-dns/knot/Manifest          |   3 +
 net-dns/knot/knot-3.4.7.ebuild | 230 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 233 insertions(+)

diff --git a/net-dns/knot/Manifest b/net-dns/knot/Manifest
index bca70ecc5e24..d4bd8ab2ebb8 100644
--- a/net-dns/knot/Manifest
+++ b/net-dns/knot/Manifest
@@ -2,3 +2,6 @@ DIST knot-3.4.4.tar.xz 1641460 BLAKE2B d477a4a368b0c6d6c1003a52041403d17bab4e3ec
 DIST knot-3.4.6-manpages.tar.xz 37324 BLAKE2B 1e7418a8cb4b0b4ec7ddbea71aa83458a7f0602b2210c1120b8ab94a34ce46e44e63f80e426330d711c6f897d2ffbb03e2892fb098c33d7ad5a0bebccf347283 SHA512 3edaa8b130fb292c7f267a733f8be3ae05abfc285fde5279a0ce630a2531117d84ae6bc08ce4f60713388efe4172c875f14952a536148fc7d1ccf577ae0226ad
 DIST knot-3.4.6.tar.xz 1610708 BLAKE2B 19054f9ff0d5fc05a1d8160a99b553a047f14e4825094a6009e76a5c915b9511458ae517237bf6559bfea02f74f67f2993e2a495208dfa1e36d7746664ad7d76 SHA512 30e6a843c5b4b89fd51f062f138e031a96cbaf86db5a559ab10dc98d3705086bd987bf99deb5f2c077f7201af8f05311ab8b579bfafa7d285ca4c3e78de8c096
 DIST knot-3.4.6.tar.xz.asc 833 BLAKE2B 49c3aa776e8f185c0553bd878c00aedaba95150bb3e47efa1e9a686873c943d67b7d526828748f25f2841a02ea6f410772e2c2eb7988dfbd8ed79e8cf30f7e32 SHA512 400512cfddadd93e4b536d2421126ee5fce19fa03e0ad6cee2407b1f67e242b9d65ac4ea3f527c17a7100cb63b583cf8a4ca617f6fe119cd4f15a001a0c80abf
+DIST knot-3.4.7-manpages.tar.xz 37584 BLAKE2B aa4347e1b3aa90985aaeb19235b86cc693dbf7775b63e40a94c952e3ea02f4b2605802cf50472468c268e4c8b9a0c247b621624a593b73f2bb7b09d98197752d SHA512 97658142ce885a8358f2efcab1d836543f255e939e6eeff16f135f6aed666ff0f30ad3184b86d86dc4f3078060104796a806ba5d8ba6a4af24e76d3ae8e99998
+DIST knot-3.4.7.tar.xz 1653576 BLAKE2B 31e0d939847a1fb7538eed371b4e9a4d8dcfb45b9df996fa13b083a6ec32550fc5d90fc528eb43b20a4effbed06353abd0238da3a04fdf48f5139a22d1eced35 SHA512 edc0ac8f6bcb9a2bb0221fbc438f8b0b048bd592bea0a486f2cd8bedfd52509e3692a2e29daa39fdd4c11f7d1d83aa0b0d7394b94c8e15d570535cdc2b3a2e13
+DIST knot-3.4.7.tar.xz.asc 833 BLAKE2B 2b0a073f3c5ed1ae4f7fb3078361ee39c9427650c016fa85321eb1030a4a4932d44a8c86fae83effe75aeaca1ab33f496db3dfd74881144df6d9dc4660bf0414 SHA512 56f15712467b06440daf5ab8e69d69671345959a0c91d799b2c43e6eb7f14f5be543abd11ff0d99edb45bb4b397fc0ee9f02282669832778cf6e4b2d56fe550a

diff --git a/net-dns/knot/knot-3.4.7.ebuild b/net-dns/knot/knot-3.4.7.ebuild
new file mode 100644
index 000000000000..5c7200e2ba50
--- /dev/null
+++ b/net-dns/knot/knot-3.4.7.ebuild
@@ -0,0 +1,230 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+inherit autotools python-r1 flag-o-matic systemd tmpfiles verify-sig
+
+# 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
+	!doc? ( https://raw.githubusercontent.com/PPN-SD/gentoo-manpages/refs/tags/${P}/${P}-manpages.tar.xz )
+	verify-sig? ( https://knot-dns.nic.cz/release/${P}.tar.xz.asc )
+"
+
+LICENSE="GPL-3+"
+SLOT="0/${KNOT_SUBSLOT}"
+KEYWORDS="~amd64 ~arm64 ~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 selinux 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? (
+		dev-python/prometheus-client[${PYTHON_USEDEP}]
+		dev-python/psutil[${PYTHON_USEDEP}]
+	)
+	python? ( ${PYTHON_DEPS} )
+	quic? ( net-libs/ngtcp2[gnutls] )
+	selinux? ( sec-policy/selinux-knot )
+	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? (
+		$(python_gen_any_dep '
+			dev-python/sphinx[${PYTHON_USEDEP}]
+			dev-python/sphinx-panels[${PYTHON_USEDEP}]
+		')
+	)
+	python? ( ${PYTHON_DEPS} )
+	test? (
+		pkcs11? ( dev-libs/softhsm )
+	)
+	verify-sig? ( sec-keys/openpgp-keys-knot )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/${PN}.asc
+
+# 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 )
+
+python_check_deps() {
+	use doc || return 0
+	python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" \
+		"dev-python/sphinx-panels[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	if use doc || use python; then
+		python_setup
+	fi
+}
+
+src_unpack() {
+	if use verify-sig; then
+		verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.asc}
+	fi
+	default
+}
+
+src_prepare() {
+	default
+	# avoid the old ltmain.sh modified by upstream which causes a linking issue
+	# reproduced with test and musl
+	eautoreconf
+}
+
+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() {
+	if use doc; then
+		local HTML_DOCS=( doc/_build/html/{*.html,*.js,_sources,_static} )
+	else
+		doman "${WORKDIR}"/man/*
+	fi
+
+	if use python; then
+		python_foreach_impl python_domodule python/libknot/libknot
+		newdoc python/libknot/README.md README.python.md
+	fi
+
+	if use prometheus; then
+		python_foreach_impl python_domodule python/knot_exporter/knot_exporter
+		python_scriptinto /usr/sbin
+		python_foreach_impl 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
+}


             reply	other threads:[~2025-06-05 21:22 UTC|newest]

Thread overview: 132+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-05 21:22 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-08-26 15:12 [gentoo-commits] repo/gentoo:master commit in: net-dns/knot/ Sam James
2025-07-23  2:32 Sam James
2025-07-23  2:32 Sam James
2025-07-16 13:29 Joonas Niilola
2025-07-16 13:29 Joonas Niilola
2025-05-28 14:46 Sam James
2025-05-28 14:46 Sam James
2025-05-28 10:34 Sam James
2025-05-27 19:45 Kenton Groombridge
2025-05-22 22:21 Sam James
2025-04-26  1:17 Sam James
2025-03-24  6:10 Sam James
2025-03-01 17:17 Arthur Zamarin
2025-03-01 17:17 Arthur Zamarin
2025-02-16 16:27 Sam James
2025-02-16 16:27 Sam James
2025-02-04 14:17 Sam James
2025-02-04 14:17 Sam James
2025-02-04 13:49 Florian Schmaus
2025-02-04 13:49 Florian Schmaus
2024-12-30 14:04 Sam James
2024-12-30 14:04 Sam James
2024-12-30 14:04 Sam James
2024-12-11 11:26 Sam James
2024-12-06 15:36 Sam James
2024-12-06 15:36 Sam James
2024-12-05 15:16 Florian Schmaus
2023-08-03  7:45 Florian Schmaus
2023-08-03  7:45 Florian Schmaus
2023-05-01 13:36 Sam James
2023-04-29 15:48 Arthur Zamarin
2023-04-16 16:35 Arthur Zamarin
2022-12-11 18:33 Arthur Zamarin
2022-12-07 14:50 Sam James
2022-12-07 14:50 Sam James
2022-11-05  6:57 Yixun Lan
2022-11-01 17:59 Matthew Smith
2022-11-01 17:59 Matthew Smith
2022-10-16 11:11 Matthew Smith
2022-10-16 11:11 Matthew Smith
2022-09-11  8:41 Florian Schmaus
2022-08-24  9:28 Florian Schmaus
2022-08-13  7:59 Matthew Smith
2022-05-22 17:18 Florian Schmaus
2022-05-22 17:18 Florian Schmaus
2022-04-22 15:20 Agostino Sarubbo
2022-04-21  8:25 Jakov Smolić
2022-04-19 19:28 Florian Schmaus
2022-04-19 19:28 Florian Schmaus
2022-04-19 19:28 Florian Schmaus
2022-04-19 19:28 Florian Schmaus
2021-12-27 17:23 Florian Schmaus
2021-11-23  9:40 Florian Schmaus
2021-11-23  9:40 Florian Schmaus
2021-10-31  3:43 Sam James
2021-09-21  7:03 Joonas Niilola
2021-08-10 13:02 Florian Schmaus
2021-08-10 13:02 Florian Schmaus
2021-08-08 21:39 Marek Szuba
2021-07-14  6:25 Joonas Niilola
2021-06-08  7:39 Sam James
2021-02-05  4:34 Sam James
2021-02-05  4:34 Sam James
2020-12-29 21:15 Sam James
2020-11-13 23:51 Aaron Bauman
2020-11-13 23:51 Aaron Bauman
2020-10-17 14:04 Joonas Niilola
2020-10-17 14:04 Joonas Niilola
2020-10-08 10:02 Joonas Niilola
2020-09-30  7:06 Joonas Niilola
2020-09-30  7:06 Joonas Niilola
2020-06-10 15:54 Craig Andrews
2020-06-10 15:54 Craig Andrews
2020-03-08 12:58 Joonas Niilola
2020-01-07  6:20 Joonas Niilola
2020-01-07  6:20 Joonas Niilola
2019-12-18 16:32 Joonas Niilola
2019-11-26 14:59 Joonas Niilola
2019-10-13 16:55 Joonas Niilola
2019-10-13 16:55 Joonas Niilola
2019-10-07  5:20 Joonas Niilola
2019-10-07  5:20 Joonas Niilola
2019-09-01 11:19 Joonas Niilola
2019-06-06 17:36 Michał Górny
2019-06-06 17:36 Michał Górny
2019-04-27 14:24 Michał Górny
2019-04-19 14:09 Michał Górny
2019-04-19 14:09 Michał Górny
2018-12-04 21:20 Michał Górny
2018-10-26 18:57 Sven Wegener
2018-10-18 21:40 Patrice Clement
2018-09-08  8:26 Michał Górny
2018-09-08  8:26 Michał Górny
2018-07-13  7:42 Tony Vroon
2018-07-13  7:42 Tony Vroon
2018-06-07 11:36 Michał Górny
2018-04-22 19:21 Michał Górny
2018-04-22 19:21 Michał Górny
2018-02-18 17:16 Patrice Clement
2018-02-18 17:16 Patrice Clement
2018-01-06  0:01 Craig Andrews
2018-01-06  0:01 Craig Andrews
2017-11-28 16:19 Mikle Kolyada
2017-11-28 16:19 Mikle Kolyada
2017-11-17 18:47 David Seifert
2017-11-08 22:48 Patrice Clement
2017-11-08 22:48 Patrice Clement
2017-10-09 21:53 Patrice Clement
2017-10-09 21:53 Patrice Clement
2017-09-03 15:43 Andreas Sturmlechner
2017-08-22  9:07 Michał Górny
2017-08-22  9:07 Michał Górny
2017-08-22  9:07 Michał Górny
2017-08-22  9:07 Michał Górny
2017-08-01 21:32 Amy Liffey
2017-08-01 21:11 Amy Liffey
2017-08-01 17:10 Amy Liffey
2017-07-30  9:54 David Seifert
2017-07-30  9:54 David Seifert
2017-06-26  1:13 Jeroen Roovers
2017-06-26  1:13 Jeroen Roovers
2017-06-22 12:10 Tomas Chvatal
2017-06-12 21:46 Patrice Clement
2017-06-12 21:46 Patrice Clement
2017-06-12 21:46 Patrice Clement
2017-05-25 21:06 Patrice Clement
2017-02-27 11:12 Patrick Lauer
2016-12-29 13:14 David Seifert
2016-08-30 16:53 Patrice Clement
2016-03-02 13:32 Amy Winston
2016-02-08 10:25 Tomas Chvatal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1749158504.0b9109b57a83f1cd54f57b2624a289a86df9a3f7.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox