mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-06 02:17:34 -08:00
net-dns/knot: add 3.4.6
Three changes from ebuild 3.4.5 : * add verify-sig * add sphinx-panels for doc (unkeyword for riscv) * add manpages from own-repo and disable doc by default Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr> Part-of: https://github.com/gentoo/gentoo/pull/41532 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
parent
248b884e52
commit
ff234d1477
@ -1,2 +1,5 @@
|
||||
DIST knot-3.4.4.tar.xz 1641460 BLAKE2B d477a4a368b0c6d6c1003a52041403d17bab4e3ecb6e532130b633894d4ee88711038b94e1d4cf12406eb281b800d701c00e40414d458b7bdefb1d632a779821 SHA512 bf8e80d430336934083c1f7c304306de78b254fba5d3b9dd8b44065a0f1527cd78b74d498d994822ed2d364b66091ad967d3cd991bde380fbba67ea34a1ee33f
|
||||
DIST knot-3.4.5.tar.xz 1610204 BLAKE2B 50f7258502f58a7a02500de7b1f195c99b380b7ae38b97aed62228fbdd8897c407fef1a59f5015cf9a00982305ddf0094065495a16ae4ef375472537e6a9e4c2 SHA512 62e7023fa2a9b2323104816dbc2adeec513b70c1891f5f87ab4e951d0db18717f1089bab8b5d2ada008fcf2efd9f0547881084a2e6121891e15cbe9992528c9e
|
||||
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
|
||||
|
||||
214
net-dns/knot/knot-3.4.6.ebuild
Normal file
214
net-dns/knot/knot-3.4.6.ebuild
Normal file
@ -0,0 +1,214 @@
|
||||
# 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 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 ~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
|
||||
dev-python/sphinx-panels
|
||||
)
|
||||
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 )
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
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_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
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user