summaryrefslogtreecommitdiff
path: root/net-dns
diff options
context:
space:
mode:
Diffstat (limited to 'net-dns')
-rw-r--r--net-dns/Manifest.gzbin7715 -> 7710 bytes
-rw-r--r--net-dns/dnsdist/Manifest2
-rw-r--r--net-dns/dnsdist/dnsdist-1.9.6.ebuild112
-rw-r--r--net-dns/dnssec-root/Manifest4
-rw-r--r--net-dns/dnssec-root/dnssec-root-20181220-r1.ebuild80
-rw-r--r--net-dns/inadyn/Manifest3
-rw-r--r--net-dns/inadyn/files/inadyn-2.12.0-musl.patch217
-rw-r--r--net-dns/inadyn/inadyn-2.12.0-r1.ebuild2
-rw-r--r--net-dns/knot-resolver/Manifest2
-rw-r--r--net-dns/knot-resolver/metadata.xml5
-rw-r--r--net-dns/nsd/Manifest16
-rw-r--r--net-dns/nsd/files/nsd-4.10.1-simdzone-configure_ac-_mm_popcnt_u64.patch12
-rw-r--r--net-dns/nsd/files/nsd-4.8.0-implausible-stats.patch22
-rw-r--r--net-dns/nsd/files/nsd.initd-r159
-rw-r--r--net-dns/nsd/files/nsd.service14
-rw-r--r--net-dns/nsd/metadata.xml9
-rw-r--r--net-dns/nsd/nsd-4.10.1-r2.ebuild (renamed from net-dns/nsd/nsd-4.10.0.ebuild)17
-rw-r--r--net-dns/nsd/nsd-4.8.0-r1.ebuild128
-rw-r--r--net-dns/nsd/nsd-4.9.1.ebuild4
-rw-r--r--net-dns/nsd/nsd-9999.ebuild16
-rw-r--r--net-dns/pdns-recursor/Manifest2
-rw-r--r--net-dns/pdns-recursor/pdns-recursor-5.0.8.ebuild132
22 files changed, 511 insertions, 347 deletions
diff --git a/net-dns/Manifest.gz b/net-dns/Manifest.gz
index 8ad054a71cef..0ee426b28b4d 100644
--- a/net-dns/Manifest.gz
+++ b/net-dns/Manifest.gz
Binary files differ
diff --git a/net-dns/dnsdist/Manifest b/net-dns/dnsdist/Manifest
index 8d788b64dbee..bcd4ee26275d 100644
--- a/net-dns/dnsdist/Manifest
+++ b/net-dns/dnsdist/Manifest
@@ -5,8 +5,10 @@ DIST dnsdist-1.8.0.tar.bz2 1480500 BLAKE2B 47cfcfe3756cdc4520c1ba1e11b7d60191125
DIST dnsdist-1.8.1.tar.bz2 1492793 BLAKE2B 84fdf2f360c41ea235f3989d2bc14ad05e98d7b51dd20d983e7ad53ce5a6c00c7075b673e8a15fe3fd710a4e15c80db4d7431256bfb4291bd5785482d3f7f7e5 SHA512 db50c56587084ebdea3eb7f8e5b79178aea67b608cf6afce1453932b5225b3474a459cdc3dc8e4618a36a9edb405403dfefaed7fadd5848b5612de6bfb356f3a
DIST dnsdist-1.9.4.tar.bz2 1591994 BLAKE2B a8cfc5c2da135ed96b857f9f1b6c3caa796b27f66ff7ead6e976b871a5e5db208ef3ce275c23085318bd7ff2f0fa2ec19e28ad36234991d84b8d13e74acb2f34 SHA512 e013fa3e582cc30d104a66ee44eec50dd1d04cb2bd0dc5b3c9dfec95f3e0e5f3da5f2a1bb9a713b50e5659908669957fe4deb5b1ca10f728e6ceaf550a3223ef
DIST dnsdist-1.9.5.tar.bz2 1607962 BLAKE2B 2723abd3ba9ab2824c232f65901601c558054ae70dc668632514c4f9bd60f1e3dd7d67d6a58a974a054d33b6869b72dc888024a8f23256c078d7779dbb1b1836 SHA512 1c38f346b6199063e3862dcc5ff8283b3fe17473ef88660a122793b07c806e47fd1c47602d0edf66fd060f2170fb2f678d94e6cc6cc4800e70912b80a4c26c7d
+DIST dnsdist-1.9.6.tar.bz2 1598874 BLAKE2B adb56707bb768ceae974cd9b725d2bf1f4beaa6e3edc6ede22a7d93920214614f10c82d71dbb773741f56dff04e0f0aa26dc0a0e2d5d405bee89d8ada1130303 SHA512 8d0c88336864b788df320298678e2a8556d7c4ff468ec1b4165b87c2fe5c6c167a2c75cdd2df433346fac12694d8e39d30910b8d1d4be7f35d9e0d85edd5ef5a
EBUILD dnsdist-1.8.0.ebuild 2237 BLAKE2B 0ceb0e09c542ebd775c93d1adbcd4630ee82f64f90318a6764e54a80eaac0ccc28702bd9bf581064ac64c7cf1debfe25e4565e6357d33aa42d543e49045b557f SHA512 6d531a84be771b5e1913bba6daa2acba9dc8af28196d70b2446efee85d9fcf10e5da43b38d867af2c93eb7fd12dbd3573a774b46529f76b970b622a4964fc486
EBUILD dnsdist-1.8.1.ebuild 2237 BLAKE2B 0ceb0e09c542ebd775c93d1adbcd4630ee82f64f90318a6764e54a80eaac0ccc28702bd9bf581064ac64c7cf1debfe25e4565e6357d33aa42d543e49045b557f SHA512 6d531a84be771b5e1913bba6daa2acba9dc8af28196d70b2446efee85d9fcf10e5da43b38d867af2c93eb7fd12dbd3573a774b46529f76b970b622a4964fc486
EBUILD dnsdist-1.9.4.ebuild 2711 BLAKE2B f55a4211d6d6f62e19930615b45f51a955d719e32a6e59d4182aa75121d56fec0ee2b95281f70e7e75f35a3ce8ec89ecbf1584dc37919e608aadbead7a0d807e SHA512 f9c609bdce1398633011156a24ffe2d85411108902fba995837b07a6c8758c8f5108e6d7016bc18d56a1f9c21ffa3b9e6cf2a204ed92427137a3b8d360c7772b
EBUILD dnsdist-1.9.5.ebuild 2711 BLAKE2B f55a4211d6d6f62e19930615b45f51a955d719e32a6e59d4182aa75121d56fec0ee2b95281f70e7e75f35a3ce8ec89ecbf1584dc37919e608aadbead7a0d807e SHA512 f9c609bdce1398633011156a24ffe2d85411108902fba995837b07a6c8758c8f5108e6d7016bc18d56a1f9c21ffa3b9e6cf2a204ed92427137a3b8d360c7772b
+EBUILD dnsdist-1.9.6.ebuild 2711 BLAKE2B f55a4211d6d6f62e19930615b45f51a955d719e32a6e59d4182aa75121d56fec0ee2b95281f70e7e75f35a3ce8ec89ecbf1584dc37919e608aadbead7a0d807e SHA512 f9c609bdce1398633011156a24ffe2d85411108902fba995837b07a6c8758c8f5108e6d7016bc18d56a1f9c21ffa3b9e6cf2a204ed92427137a3b8d360c7772b
MISC metadata.xml 1965 BLAKE2B c45e150d13af41f787befd5775596b83073e7041be244ba99240106d07f044bcbfd24a46165e04ca48990e24870402322fe496578ef784252a2973434cfee76d SHA512 83ced0072f306d0e296f66ce83cdc8e3b94e9a1c6946bb01722a3139b49dde27bc4ee4df5b4816755c412aa05c83278ba5f072741bb078f25cb3ac8c843949cc
diff --git a/net-dns/dnsdist/dnsdist-1.9.6.ebuild b/net-dns/dnsdist/dnsdist-1.9.6.ebuild
new file mode 100644
index 000000000000..33366646a868
--- /dev/null
+++ b/net-dns/dnsdist/dnsdist-1.9.6.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit flag-o-matic lua-single
+
+DESCRIPTION="A highly DNS-, DoS- and abuse-aware loadbalancer"
+HOMEPAGE="https://dnsdist.org"
+
+SRC_URI="https://downloads.powerdns.com/releases/${P}.tar.bz2"
+LICENSE="GPL-2"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+
+IUSE="bpf cdb dnscrypt dnstap doh doh3 ipcipher lmdb quic regex snmp +ssl systemd test web xdp"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${LUA_REQUIRED_USE}
+ dnscrypt? ( ssl )
+ doh? ( ssl )
+ doh3? ( ssl quic )
+ ipcipher? ( ssl )
+ quic? ( ssl )"
+
+RDEPEND="acct-group/dnsdist
+ acct-user/dnsdist
+ bpf? ( dev-libs/libbpf:= )
+ cdb? ( dev-db/tinycdb:= )
+ dev-libs/boost:=
+ sys-libs/libcap
+ dev-libs/libedit
+ dev-libs/libsodium:=
+ dnstap? ( dev-libs/fstrm )
+ doh? ( net-libs/nghttp2:= )
+ doh3? ( net-libs/quiche:= )
+ lmdb? ( dev-db/lmdb:= )
+ quic? ( net-libs/quiche )
+ regex? ( dev-libs/re2:= )
+ snmp? ( net-analyzer/net-snmp:= )
+ ssl? ( dev-libs/openssl:= )
+ systemd? ( sys-apps/systemd:0= )
+ xdp? ( net-libs/xdp-tools )
+ ${LUA_DEPS}
+"
+
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # clean up duplicate file
+ rm -f README.md
+}
+
+src_configure() {
+ # bug #822855
+ append-lfs-flags
+
+ # some things can only be enabled/disabled by defines
+ ! use dnstap && append-cppflags -DDISABLE_PROTOBUF
+ ! use web && append-cppflags -DDISABLE_BUILTIN_HTML
+
+ sed 's/hardcode_libdir_flag_spec_CXX='\''$wl-rpath $wl$libdir'\''/hardcode_libdir_flag_spec_CXX='\''$wl-rpath $wl\/$libdir'\''/g' \
+ -i "${S}/configure"
+
+ local myeconfargs=(
+ --sysconfdir=/etc/dnsdist
+ --with-lua="${ELUA}"
+ --without-h2o
+ --enable-tls-providers
+ --without-gnutls
+ $(use_with bpf ebpf)
+ $(use_with cdb cdb)
+ $(use_enable doh dns-over-https)
+ $(use_enable doh3 dns-over-http3)
+ $(use_enable dnscrypt)
+ $(use_enable dnstap)
+ $(use_enable ipcipher)
+ $(use_with lmdb )
+ $(use_enable quic dns-over-quic)
+ $(use_with regex re2)
+ $(use_with snmp net-snmp)
+ $(use_enable ssl dns-over-tls)
+ $(use_enable systemd) \
+ $(use_enable test unit-tests)
+ $(use_with xdp xsk)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ insinto /etc/dnsdist
+ doins "${FILESDIR}"/dnsdist.conf.example
+
+ newconfd "${FILESDIR}"/dnsdist.confd ${PN}
+ newinitd "${FILESDIR}"/dnsdist.initd ${PN}
+}
+
+pkg_postinst() {
+ elog "dnsdist provides multiple instances support. You can create more instances"
+ elog "by symlinking the dnsdist init script to another name."
+ elog
+ elog "The name must be in the format dnsdist.<suffix> and dnsdist will use the"
+ elog "/etc/dnsdist/dnsdist-<suffix>.conf configuration file instead of the default."
+}
diff --git a/net-dns/dnssec-root/Manifest b/net-dns/dnssec-root/Manifest
index afc70cb426bf..a020d631e3c2 100644
--- a/net-dns/dnssec-root/Manifest
+++ b/net-dns/dnssec-root/Manifest
@@ -1,9 +1,5 @@
-DIST icannbundle-20181220.pem 13026 BLAKE2B 36f760c69e8e22036d7d927071be25508b6906838f0f468900385d5a3b9ce301c5688f9bdcab471abc5445a14bfbbe34ecb39ca131b01d9e6bbebcc3f1481241 SHA512 6a8b8bec6d104d31253a8acafc1694a095714537a39a4dc53a379ac900c83715f85d75ea7322de430557691ff31ec95ae5104f47b050da3568dd68377c2d5767
DIST icannbundle-20210902.pem 1261 BLAKE2B cc21c2066478c3385528a0b4635d324b2033f9d2c939c4d7176bdd42ba6e606a23036326036c82c665db64bec13783347d4ff0830807f431830ccf22ddbc7f58 SHA512 c749bf4649480f2ddaa2ee0622a104c56c858e10e8c8768307ef24ca0000c7afe120837bedc61dee1eda302273040cb61060298dceed8dd6e83904f953e3f3f5
-DIST root-anchors-20181220.p7s 4182 BLAKE2B 3d7d881f5ef066a3ff937cf638941f783e9b65834a13ba0efce766b59e8f469826718cea9e8968ca64e216b7ef1f1b4d7b73c3110ff2d65667a28e071cd52859 SHA512 af96358bbb7847fe7c30452f566771480a38a99f192775168ab8672332381958ffa6d2f4870f539e3957b6ecf62e0e3a80b1cffbd579beb3be6941ffba3f6fa9
-DIST root-anchors-20181220.xml 690 BLAKE2B 548fd62073542f527e0b05c09ed1e668baafbb3cf7ca8afd1a32b67dd43d8958cef5005729c1bc11c2b1d0ddea48ca4db69a10b049f2e8a05536b93fff15e911 SHA512 e3adfaa4f8c9751599b8062787f4c3a81d3fa1478411f138f227c0cc972c7262bcf85578d333d36352da3628211b7d8ec4416528814a8937078dc393ce195f32
DIST root-anchors-20210902.p7s 2551 BLAKE2B 2a079bf36d77a7cc480c197700bfb3f06bbc67f0cc2937954793fab1f4fee5fff4477ceb028a8796a5cb41c0fb1369df7df45b33410f78b03cb18794ddd564df SHA512 3d57446cc145081841ced6cda3ecff8fba1de5123f116d580cd3ea33011e26ad9dc790281590a06f68e551e22fef45aa2408a4e2ea80e35ec0a642454b45ca0d
DIST root-anchors-20210902.xml 690 BLAKE2B 548fd62073542f527e0b05c09ed1e668baafbb3cf7ca8afd1a32b67dd43d8958cef5005729c1bc11c2b1d0ddea48ca4db69a10b049f2e8a05536b93fff15e911 SHA512 e3adfaa4f8c9751599b8062787f4c3a81d3fa1478411f138f227c0cc972c7262bcf85578d333d36352da3628211b7d8ec4416528814a8937078dc393ce195f32
-EBUILD dnssec-root-20181220-r1.ebuild 2798 BLAKE2B 109ee1c0e3f3476c56ecbf0ba74619cbc2e0133231d9f995d9c0789b8abbc6a856f41463ae8254a08b7139b48aad3446c087b7757fc4f7899f9b9f7cfd291ddd SHA512 47683cd914620700672b74339cd6f9422f9c24a0d55f82cb172c057e9360b4442afa7eedb7e983a04415aba64801dea5f6a022c1b079127c6208a2a84c7ce942
EBUILD dnssec-root-20210902.ebuild 2863 BLAKE2B 37a96172b817a9b619110e2da164e259c1038b11a8b408bf9c08f49c852e6a98229d51f3dad13964e0fe45db9eaa156c55dfd15bd25931895f70b5db1c1f3fe4 SHA512 f4ab71439bb17de3318ec828a8ebf7ae545afa310807122375717e4c2482db94657ddf62a442e8cdace4810d12b2abb4f25836d9f28ed275af5f310a047ab19a
MISC metadata.xml 251 BLAKE2B c4b2c58fbe476fa27226d01a46b74c9506d938c1e14fe68ccbee1383f683d357ff87a3c1aacee177b7f3908333cd58540e446bc73ed8258359481c4b507c155e SHA512 f113d652bc4a2cded17c6fc788d425f8a5d1fac17709b4f0583c7d530cbba5093c4309d2539d169f733d8e8bff3c0e71e24ffe4ba6a81ebd5bab23191c0e4278
diff --git a/net-dns/dnssec-root/dnssec-root-20181220-r1.ebuild b/net-dns/dnssec-root/dnssec-root-20181220-r1.ebuild
deleted file mode 100644
index 66f6fb19ae31..000000000000
--- a/net-dns/dnssec-root/dnssec-root-20181220-r1.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-DESCRIPTION="The DNSSEC root key(s)"
-HOMEPAGE="https://www.iana.org/dnssec/"
-SRC_URI="https://data.iana.org/root-anchors/root-anchors.xml -> root-anchors-${PV}.xml
- https://data.iana.org/root-anchors/root-anchors.p7s -> root-anchors-${PV}.p7s
- https://data.iana.org/root-anchors/icannbundle.pem -> icannbundle-${PV}.pem"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
-IUSE=""
-
-BDEPEND=">=dev-perl/XML-XPath-1.420.0"
-DEPEND=""
-
-src_unpack() {
- mkdir "${S}" || die
-
- cp -t "${S}" "${DISTDIR}"/root-anchors-${PV}.{p7s,xml} "${DISTDIR}"/icannbundle-${PV}.pem || die
-}
-
-src_prepare() {
- mv root-anchors-${PV}.xml root-anchors.xml || die
- mv root-anchors-${PV}.p7s root-anchors.p7s || die
- mv icannbundle-${PV}.pem icannbundle.pem || die
-
- if has_version "dev-libs/openssl" ; then
- # Signature validating is optional:
- # - We are already downloading SRC, signature file & CA from same URI
- # - We store checksums for distfiles
- einfo "dev-libs/openssl is available, will validate signature of root-anchors.xml"
- openssl smime -verify \
- -content root-anchors.xml \
- -in root-anchors.p7s -inform der \
- -CAfile icannbundle.pem \
- -noverify || die "OpenSSL S/Mime verify failed"
- else
- einfo "dev-libs/openssl is not available, skipping optional validation root-anchors.xml"
- fi
-
- default
-}
-
-src_compile() {
- local KEYTAGS="" ALGORITHMS="" DIGESTTYPES="" DIGESTS="" i=1
-
- KEYTAGS=$(xpath -q -e '/TrustAnchor/KeyDigest/KeyTag/node()' root-anchors.xml)
- ALGORITHMS=$(xpath -q -e '/TrustAnchor/KeyDigest/Algorithm/node()' root-anchors.xml)
- DIGESTTYPES=$(xpath -q -e '/TrustAnchor/KeyDigest/DigestType/node()' root-anchors.xml)
- DIGESTS=$(xpath -q -e '/TrustAnchor/KeyDigest/Digest/node()' root-anchors.xml)
- while [ 1 ] ; do
- KEYTAG=$(echo ${KEYTAGS} | cut -d" " -f$i)
- [[ "${KEYTAG}" != "" ]] || break
-
- ALGORITHM=$(echo ${ALGORITHMS} | cut -d" " -f$i)
- [[ "${ALGORITHM}" == "" ]] && die "root-anchors.xml contains invalid key: ${KEYTAG} is missing algorithm"
-
- DIGESTTYPE=$(echo ${DIGESTTYPES} | cut -d" " -f$i)
- [[ "${DIGESTTYPE}" == "" ]] && die "root-anchors.xml contains invalid key: ${KEYTAG} is missing digest type"
-
- DIGEST=$(echo ${DIGESTS} | cut -d" " -f$i)
- [[ "${DIGEST}" == "" ]] && die "root-anchors.xml contains invalid key: ${KEYTAG} is missing digest"
-
- echo ". IN DS $KEYTAG $ALGORITHM $DIGESTTYPE $DIGEST" >> root-anchors.txt
- i=`expr $i + 1`
- done
-
- if [[ ! -s "root-anchors.txt" ]] ; then
- die "Sanity check failed: root-anchors.txt is empty or does not exist!"
- fi
-}
-
-src_install() {
- insinto /etc/dnssec
- doins root-anchors.{p7s,txt,xml} icannbundle.pem
-}
diff --git a/net-dns/inadyn/Manifest b/net-dns/inadyn/Manifest
index 52bb30fb6c1f..f172fe19eaf9 100644
--- a/net-dns/inadyn/Manifest
+++ b/net-dns/inadyn/Manifest
@@ -1,6 +1,7 @@
+AUX inadyn-2.12.0-musl.patch 6309 BLAKE2B 4a5059eb508a419bd89a376517aef364304143c081eec431960e780db4be7b94643d13504bf88213dd31fd7d5faca2250fbae0f739e5199045996b80b45ec9f6 SHA512 29ca951fca1115b7cb1c39093879821821aab57482af48114a01620324b973140eea9094516794e6f0d935d881413bec9e84af69785afb2fb80a8116bd45146d
AUX inadyn.confd 158 BLAKE2B 246e1620c4e86ae2181cdee7ae4a14d9139a96476c159a2bd1b57bb3c10b8696f39e232da0efdef89a3473d138c72ba523ae866a248ba38213a1cab6127b5128 SHA512 0806329acf13e83f6806e1c36a0cf7bff4c4cfd480e10f602ff0e3dfddfcf99bb912460d1bb6c5ef84036d42fb3ccd5ff11e7ac99e1f8db2d82d84b5acf20d2f
AUX inadyn.initd 618 BLAKE2B 14dbddb55e21194ddad9fbbd8470a84964f06a30a560375ee2b4916ca3522cf366a5e793eef7edbee272ab117e55ebf20a5ab574c24c8d8561937168cb70bdcb SHA512 fe5d77d54f4f56900e7e54d920530b2023401207ffc43955ebdbf8edf9d8b0a323ec10df7620bc3751c6ee7bf1c25047ef6d7226b3b29d276f70d511665ce45e
AUX inadyn.tmpfilesd 75 BLAKE2B f09b58e347524f2bb42dbab273a6ca86e2a46bd15082fd54bbf2523a75e97f204a1539c6acde658e2fc4e377cf3801fd5c1a393e7f91ccca847f86aca139c1f1 SHA512 53f3a24f2bd3ed9a236294223199cb9717a009550222d32f704c0b98b6b91c94943440a47ed3dfcd528591cf7e00b29ded02b6245eeb5887282fbffe169e1414
DIST inadyn-2.12.0.tar.xz 341904 BLAKE2B 2bb1e8f16784c41cb2810c3ed2a52ef12823277082b33a9436a330caad4b4f76034ab3e7f9fefb4dffc0fbf5968f4fb60967f784ce3682f165666c8c0744fcc9 SHA512 309ad6deca4831cbbfb4f4c0b4fcc1ba69fd46a47dc329b20b5e74acdcaf32e7bef435abdc89d2924b576d166095b61bdb7a74cc698a805659c47e7d6a4fe907
-EBUILD inadyn-2.12.0-r1.ebuild 1689 BLAKE2B f97e96f7ef1e68ccb963730798ae1e67ee322b5805f32db2f3d6391b6719cdaf6def1a6be85c7c7f3610d7ec172dd5c4b4e336db222a5063f1b0c4f79e3eeac0 SHA512 96bcdf93fdd1a252a975194fd924340fc0e7955bdf8d946515ce4268a312a66c22852f4c6298d75b43446b4f8fc60ea687549397655ae3ed78a9d809ebf11215
+EBUILD inadyn-2.12.0-r1.ebuild 1740 BLAKE2B 41db45ac22e67e5dfa4da53e8d6835f3ad56413c57a98b838108dec7d79e99f1161356ed39f0f893d576ae3f4fd5e5e8d65098863f13ad1739a5c20fe6920202 SHA512 aa22c606002637557b2ffcbe59a78bc90d64d3926b85f21eddd2c38087adee8dfbaf0211774aa18d91c7b3be94505d3c9d2d5e0e79f8305d980a4e9c79eb97d7
MISC metadata.xml 993 BLAKE2B 362846a13e02a33b0219fa4c21f7e4d39886089b16a0eb2d5891abbf3f6c1945f42750126d54b8271caa381770dedf458f18117ece52f7058c494838d5625540 SHA512 7bb3ba6f732c1bde413bd52a50f22c93ca1e5f59cbdee12e106cc33b4175982c55cb587f48a691d603d46ae268ab9bf37fbb816cab514e895c7386c6d5cc4267
diff --git a/net-dns/inadyn/files/inadyn-2.12.0-musl.patch b/net-dns/inadyn/files/inadyn-2.12.0-musl.patch
new file mode 100644
index 000000000000..3a9ecc8cbcf9
--- /dev/null
+++ b/net-dns/inadyn/files/inadyn-2.12.0-musl.patch
@@ -0,0 +1,217 @@
+From b9edfbfb94b3582cf32dfc04e0dd867ecef2ba92 Mon Sep 17 00:00:00 2001
+From: Joachim Wiberg <troglobit@gmail.com>
+Date: Sat, 3 Aug 2024 13:25:39 +0200
+Subject: [PATCH] Refactor mkpath() to drop all uses of strdupa()
+
+Fixes #488
+
+Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
+---
+ include/Makefile.am | 2 +-
+ include/compat.h | 4 ++--
+ include/strdupa.h | 52 -----------------------------------------
+ src/makepath.c | 56 ++++++++++++++++++++++++++++++---------------
+ src/os.c | 2 +-
+ 5 files changed, 42 insertions(+), 74 deletions(-)
+ delete mode 100644 include/strdupa.h
+
+diff --git a/include/Makefile.am b/include/Makefile.am
+index 4e112c16..31534b8a 100644
+--- a/include/Makefile.am
++++ b/include/Makefile.am
+@@ -5,4 +5,4 @@ noinst_HEADERS = base64.h md5.h sha1.h \
+ jsmn.h json.h log.h \
+ md5.h os.h plugin.h \
+ queue.h sha1.h ssl.h \
+- strdupa.h tcp.h
++ tcp.h
+diff --git a/include/compat.h b/include/compat.h
+index 35f2edf7..3eb1b1e8 100644
+--- a/include/compat.h
++++ b/include/compat.h
+@@ -29,14 +29,14 @@
+ #include <unistd.h>
+ #include <sys/param.h> /* MAX(), isset(), setbit(), TRUE, FALSE, et consortes. :-) */
+ #include <sys/types.h>
+-#include "strdupa.h"
+
+ /* From The Practice of Programming, by Kernighan and Pike */
+ #ifndef NELEMS
+ #define NELEMS(array) (sizeof(array) / sizeof(array[0]))
+ #endif
+
+-int mkpath (char *dir, mode_t mode);
++int mkpath (const char *dir, mode_t mode);
++int makepath (const char *dir);
+
+ #ifndef pidfile
+ int pidfile (const char *basename);
+diff --git a/include/strdupa.h b/include/strdupa.h
+deleted file mode 100644
+index ccd177e8..00000000
+--- a/include/strdupa.h
++++ /dev/null
+@@ -1,52 +0,0 @@
+-/* ==========================================================================
+- * strdupa.h - Re-implementation of glibc strdupa.
+- * --------------------------------------------------------------------------
+- * Copyright (c) 2009 William Ahern
+- *
+- * Permission is hereby granted, free of charge, to any person obtaining a
+- * copy of this software and associated documentation files (the
+- * "Software"), to deal in the Software without restriction, including
+- * without limitation the rights to use, copy, modify, merge, publish,
+- * distribute, sublicense, and/or sell copies of the Software, and to permit
+- * persons to whom the Software is furnished to do so, subject to the
+- * following conditions:
+- *
+- * The above copyright notice and this permission notice shall be included
+- * in all copies or substantial portions of the Software.
+- *
+- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+- * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+- * USE OR OTHER DEALINGS IN THE SOFTWARE.
+- * ==========================================================================
+- */
+-#ifndef LITE_STRDUPA_H
+-#define LITE_STRDUPA_H
+-
+-#if !defined(HAVE_STRDUPA)
+-#if defined(strdupa)
+-#define HAVE_STRDUPA 1
+-#endif
+-#endif
+-
+-#if !HAVE_STRDUPA
+-#if defined(__GNUC__)
+-#include <stddef.h> /* size_t */
+-#include <string.h> /* memcpy(3) strlen(3) */
+-
+-#define strdupa(src) (__extension__ ({ \
+- size_t len_ = strlen(src); \
+- char *dst_ = __builtin_alloca(len_ + 1); \
+- dst_[len_] = '\0'; \
+- (char *)memcpy(dst_, src, len_); \
+-}))
+-
+-#else /* If not GCC, e.g. Clang */
+-#error strdupa() may use an unsupported GNU C API, please forward any fix to maintainer, cheers!
+-#endif /* __GNUC__ */
+-#endif /* !HAVE_STRDUPA */
+-
+-#endif /* LITE_STRDUPA_H */
+diff --git a/src/makepath.c b/src/makepath.c
+index 5235c19d..9774c737 100644
+--- a/src/makepath.c
++++ b/src/makepath.c
+@@ -1,6 +1,6 @@
+ /* mkpath() -- Create all components leading up to a given directory
+ *
+- * Copyright (c) 2013-2021 Joachim Wiberg <troglobit@gmail.com>
++ * Copyright (c) 2013-2024 Joachim Wiberg <troglobit@gmail.com>
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+@@ -16,11 +16,35 @@
+ */
+
+ #include <errno.h>
+-#include <libgen.h>
+-#include <sys/stat.h>
+-#include <sys/types.h>
++#include <string.h> /* strdup(), strrchr() */
++#include <stdlib.h> /* free() */
++#include <sys/stat.h> /* mkdir() */
++
+ #include "compat.h"
+
++/* Recursively create directories */
++static int _mkpath(char *dir, mode_t mode)
++{
++ char *slash;
++
++ if (!mkdir(dir, mode) || errno == EEXIST)
++ return 0;
++
++ if (errno != ENOENT)
++ return -1;
++
++ slash = strrchr(dir, '/');
++ if (!slash)
++ return -1;
++
++ *slash = 0;
++ if (_mkpath(dir, mode) == -1)
++ return -1;
++
++ *slash = '/';
++ return mkdir(dir, mode);
++}
++
+ /**
+ * mkpath - Like makepath() but takes a mode_t argument
+ * @dir: Directory to created, relative or absolute
+@@ -29,21 +53,24 @@
+ * Returns:
+ * POSIX OK(0) on success, otherwise -1 with @errno set.
+ */
+-int mkpath(char *dir, mode_t mode)
++int mkpath(const char *dir, mode_t mode)
+ {
+- struct stat sb;
++ char *_dir;
++ int rc;
+
+ if (!dir) {
+ errno = EINVAL;
+ return 1;
+ }
+
+- if (!stat(dir, &sb))
+- return 0;
++ _dir = strdup(dir);
++ if (!_dir)
++ return -1;
+
+- mkpath(dirname(strdupa(dir)), mode);
++ rc = _mkpath(_dir, mode);
++ free(_dir);
+
+- return mkdir(dir, mode);
++ return rc;
+ }
+
+ /**
+@@ -56,14 +83,7 @@ int mkpath(char *dir, mode_t mode)
+ * fails allocating temporary memory. For other error codes see the
+ * mkdir() syscall description.
+ */
+-int makepath(char *dir)
++int makepath(const char *dir)
+ {
+ return mkpath(dir, 0777);
+ }
+-
+-/**
+- * Local Variables:
+- * indent-tabs-mode: t
+- * c-file-style: "linux"
+- * End:
+- */
+diff --git a/src/os.c b/src/os.c
+index bc85b1d7..2b169062 100644
+--- a/src/os.c
++++ b/src/os.c
+@@ -266,7 +266,7 @@ int os_check_perms(void)
+ }
+ }
+
+- pidfile_dir = dirname(strdupa(pidfn));
++ pidfile_dir = dirname(pidfn);
+ if (access(pidfile_dir, F_OK)) {
+ if (mkpath(pidfile_dir, 0755) && errno != EEXIST)
+ logit(LOG_ERR, "No write permission to %s, aborting.", pidfile_dir);
diff --git a/net-dns/inadyn/inadyn-2.12.0-r1.ebuild b/net-dns/inadyn/inadyn-2.12.0-r1.ebuild
index d95e11c356fd..36e4bd48984f 100644
--- a/net-dns/inadyn/inadyn-2.12.0-r1.ebuild
+++ b/net-dns/inadyn/inadyn-2.12.0-r1.ebuild
@@ -29,6 +29,8 @@ DEPEND="
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
+PATCHES=( "${FILESDIR}/${PN}-2.12.0-musl.patch" )
+
src_configure() {
# Tests would need a custom config file in homedir per configure help?
local myeconfargs=(
diff --git a/net-dns/knot-resolver/Manifest b/net-dns/knot-resolver/Manifest
index 79dfd1bbb2fa..7b7232b6deb2 100644
--- a/net-dns/knot-resolver/Manifest
+++ b/net-dns/knot-resolver/Manifest
@@ -9,4 +9,4 @@ DIST knot-resolver-5.7.2.tar.xz 1928336 BLAKE2B c4f17a050752a5d1ed141bae646f53f3
DIST knot-resolver-5.7.2.tar.xz.asc 833 BLAKE2B f73f52d7b2326a58a37b821cd8495d20c93017bd1f7bad2cc828f807f1886fc376dc95405b3b36047719f8566e27d7c1052b7ab11fae3d1d67c5563a293d965e SHA512 cf05ceca455400004cf249b1029b93619a1d5fcf839bca1259a7b411a1ddef1da0aff187ea0023c587de1981e91a8d26af3bb22341cf426e5055e8ca1c4024e2
EBUILD knot-resolver-5.7.1.ebuild 2198 BLAKE2B 5dc2cf77cd4fb2c2edb45ce16f9823dd77981fc766c9a110e74526f36ee93022633a30dccfd24be8b99fdda317a7bd42915eec1a219db8d8924fdee54f480eaf SHA512 6de3cdfe9e6fe485eefbeb50b52900ac1b5ff0baa99ce40c1b702d14024f1ba19dae6ce0c9cc9829cd4ec1ec94bce3da91967ba3129d3277b85e10b151665f63
EBUILD knot-resolver-5.7.2.ebuild 2210 BLAKE2B c98be7101490561d48f63b7373f9c2a881362934fecc1e318b6ebc2166ccae5913641d9be4548e81da8818a10b752f1481dab60beed60a4e5cff823879503fca SHA512 781e580075d3afd448b1671aec0835c5bcaf63fe81731cd50cceb9286e48986ecf1a28b4c3b76e393304b7848af316e7d21e8b525ab86484d1fe51f26f159f7a
-MISC metadata.xml 470 BLAKE2B 16d945ec59b8b4bf54306a3f3182bc61f45ec8cc1880480366a6a918cbad337fc102ae6d2f0cdf3347e7a7a85fc5bc58129bb7e2f1378e42cb047aaa15dbc138 SHA512 09e7fce327eff1d4b5c4702ac4c90c6cf157d076715808eaea42cf0371007ed44a84466bed7c03b296c3fc1b99059cfd0cb575a2a957e7730d49a26bb35c160a
+MISC metadata.xml 390 BLAKE2B 8d671225e024581137be9f98f3df0e32cfde1f0582d8169991417461bafbccaecbb7b8dd32d6652360a8c57bceabacec8194768e9177d7a75d0df821f2938a16 SHA512 e2ec3636fb2534ca3d3aee4215382e033ae9fd39df20152f3bb4deadf958b256dbe578954b6de348a9b80c173cd0d5bbe878561a09d094afd141644b5e512e44
diff --git a/net-dns/knot-resolver/metadata.xml b/net-dns/knot-resolver/metadata.xml
index 9f36a2c8cacc..a535381c62c3 100644
--- a/net-dns/knot-resolver/metadata.xml
+++ b/net-dns/knot-resolver/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>matthew@gentoo.org</email>
- <name>Matthew Smith</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="dnstap">
Build dnstap binary logging module
diff --git a/net-dns/nsd/Manifest b/net-dns/nsd/Manifest
index 68524e1e265a..ba14524d5562 100644
--- a/net-dns/nsd/Manifest
+++ b/net-dns/nsd/Manifest
@@ -1,17 +1,13 @@
-AUX nsd-4.8.0-implausible-stats.patch 760 BLAKE2B ae6d75c8f2ad17fa5f6c8ba1cbaa6e812a1650c3b913b7e86aa4b479c264c8fae02d5713bb21ee3bace5c832e5b96f762772f70eb8aa24d7ce6c9fd4b04756dc SHA512 2b40047b8277e2fe18afd7aa1aef5b91244478aa38df04e094ded9ae7c1bd49f62ae940831b1c144c7cd9b4f26957c4e726001d3afdd48e51b940bd36c2ee9bf
+AUX nsd-4.10.1-simdzone-configure_ac-_mm_popcnt_u64.patch 415 BLAKE2B 5379fee77e8fdcbe2b2b15fd17d0d690e00009fd76f70465e26a13350b6a4316ae28fdc9bec47124bd1cfd14cc081418b2e6c5c351269d2421560e3d19fd223d SHA512 5d7333164e14ec1254a6d92687850fa3fdc0240d02bde5992a4bddc9a00d3b4be74cee7212f1ca8a70a2a65e93cdaa249c74ebf52e38d47aa1d4787100ef814a
AUX nsd-4.9.1-systemd-no-pidfile.patch 484 BLAKE2B 697c6de4e4e69da281316be06d6636fba7ac301987bbb8e1816f4028cab9b76b0faa668d8ede0b85059325792c71d31292eb661734023fe6bcdb9306d4f7b662 SHA512 c0133bad41d405f704ed754bc9ee5d96e878c0a2c5ffd41940823f26a9962e737da3e26c66bfd258b6165b166ec52896bb56de3ad6056d9508123eb59f20b4b8
AUX nsd-munin-gentoo-paths.patch 542 BLAKE2B 13ff49c41683d5bf505e257cd17bf5f3ad06662c00032d79b36be3f96486eb89fdd62a42b5ed4816ad99835366864603568613e27504894340ebb64057e2b2c3 SHA512 6034086d6b6f6980468766c901e92291fea8a32df179561ede2add5918c37bfe3aabf122735d4ae2e28efece394fd3398f9a0cc4d8fdcc1e5da1ca709d2ba6ae
AUX nsd.confd-r1 669 BLAKE2B 45ef7846e227566ce2bc2248084598e31a40536f9dbd28ff5964fca34998399253dfd45e1706ddaed566ac4f745264f4f1314ba7394392e637da520ff78470df SHA512 6c9daae27750149e9ee13860b13a9ce7d92159416329098fa60b77982dbe1d0b3ee1c957321b3a459870155d2a4430f1f7796c53b677178f3a6a71a2efc81fdc
-AUX nsd.initd-r1 1383 BLAKE2B b90de2ebef09a4f9050f6e95f5faf659c62910462aba1179daccde4e63a3972124247e6e8ce725c4dbd34a7fcd4f14b40899d7b59ba4937bdc59c493f6f7e173 SHA512 f775c78b529c5c7f1130035ea9c6cf1c1e9c1790c5df84fafd86a41294748a46c82b66c58df8385f8f4bbca8113427c665051aeec5720073bd9823607c9f8ce1
AUX nsd.initd-r2 1312 BLAKE2B 798c8df841f3bf22edb0891f1e350a8636db94e9049ba202b988210ff69ba185b3e0a6ed11347752a452d49560930b5f5fd34d5857b150ffbc1c9691e1202feb SHA512 35320b938a29d34cda2919dfcfc975858d2211bbe8a92af270c2e0806d05a12e893bb13944b75bae27b3db4ab8a74e2408b4d70898f715f785ec00f36a629ea2
AUX nsd.munin-conf 23 BLAKE2B 0b08804b2218d77ea925d4c9e26e73649b453b923d6d7b1e1df39ceb58b92a44c48cb21583a480e622f72d07650f410f2e0703f1d16af08152aed16982ab8da2 SHA512 c06d0b035387e7be79cfa8fedf8afb3900772146c6d4090ac39ea2ef165772d875b222ef467bd73422078ef57818bcc931ca67fa290bd99a7a9456efa5448853
-AUX nsd.service 272 BLAKE2B 66a7d4132246589f71341afd98361f6b02082be3d4e230c86ae690876a797ea0a4580b29892d91feba2785ea933a053f862e0d00f2c8a8c09ab907386c39a03c SHA512 fbca86887bfc36d61af06992cc98b3f3cb33c39274fbdc1e53d489bdcc767993911fab27a20244c3878b36bacbd1644a552364b2f7bf4d48e6eb247d0eecdf0f
AUX nsd.tmpfilesd-r1 24 BLAKE2B ae4078bff0e71d9b47d02855f7e7ab2389cc83b40af657221ffec07e52d52c666073d32182dc726dcc3df85a17f7a983a546d6cda98554ebcf7df14a64036eb8 SHA512 bfc1b81f8553f499f8048a26870b0964625cad4c73b84b70afc8c00644b95661e86ad540fd66f88ef072166ff22eef4f18974ba3364d1bd33e1ca7ee348f9188
-DIST nsd-4.10.0.tar.gz 1388963 BLAKE2B 1ae50e2c2756fbbbabe87ecf88e74c2f9e5bf21dfe8f34a279894499ba5434a9249e5424f511ed0b67d21b3b1c98b7a03e38cd20fd6dd0cd2a6ad4b397d352df SHA512 ebf65d9a3d56ba560b587dc3cf91b0b086c9267c67f4c6a6c415cc062a08a9d0deb50cc44189b741d5b7634fe07038f6a234999f5a0ee7df6609fc026127fb09
-DIST nsd-4.8.0.tar.gz 1273228 BLAKE2B d1e6a5e8fb158bb32081bc7674d957e3f5a596ed10ee89dd6a5f6af9a79a8c130f2de7070345bee69cb7798e9f373d856a9336a9e9f65f733ff45e15e94833ff SHA512 13c9cffffe6adfcbabf744ee2effebe6ae265d83476345a1edb60dc9c6d7f838a5e239e9b18e667924e5e76b74b2caac63818fcaecf7f0fa651ff21736174a46
+DIST nsd-4.10.1.tar.gz 1404799 BLAKE2B 7b286ac681c1bb8201654cd2e5fac8a98256f6a595dfbb39bcfed92de63b3337e05d219bc766bab01e4aaf3fb1de3c128d7157caeee3a7f21e4132db9ea72cba SHA512 b0f4bdca8a1c6fbbe99096abc8c5f8b34ef2e66dc0da44da253ab164b35ad0aaef5d05eb682b88cc68d8b1671f7b80abafee242a784ed6deb785adee7f6a53a9
DIST nsd-4.9.1.tar.gz 1309953 BLAKE2B 4a43db480be7196c0a177cc6ee2b9cd6eaaaa9af4d0c3dc7b8f07a5b9e24fd4eac816a29f83de870efe012f2f3bbcbb9bdbda903d05bf9d96574bddc97f68547 SHA512 65cd38aa8a41aee57a6950747de448bc4007a2d2c095152f1d22006f85faa7f0732ec4aa0aeae9f46bc69bff17164d8fe384bbc3441d0484364c4af938b511c1
-EBUILD nsd-4.10.0.ebuild 4526 BLAKE2B f935b1b2ad157a2af9ce3a4f3d5560f8a6c6056c7641573f31a38f4f928a0bbc90c628b8253a0c76f485a300e511aae4b58916e74b07102a8821861c504557ea SHA512 78e684b042dcd4816b77fb86a3339e71fbc1ffb3ae32e85f4af2a7ae9ba27d8d87912d1ed2e4524941e7a286db6a1142af08e817191a1908d4e8c648c80559c0
-EBUILD nsd-4.8.0-r1.ebuild 3218 BLAKE2B e591458f0b53f6f0e0bbef131414779e2c7c151bd2de1747660b468b88e5882efdc807991809061fbeaf4348d3a23b16abb95616f25564c002de8bbdd97d9861 SHA512 3fd01e8bc80fd69dc42b1046522d3680bf6a1700df1b986a934baebdb018ab30de3b6cebb4e3f073b927182bd5058271a6197895a5bba0e71526b0000910ab4b
-EBUILD nsd-4.9.1.ebuild 4131 BLAKE2B 011248925c106bfc977f7f5293ea6e7a53b59668f8895110a086407c71de243ecd0abfe5f0fbfae0f7f54fea1837882f052acfef49ce3802f6ca4ba2d798fabf SHA512 58f0041f0793eb1940e7421052534ed5622e950203350e220c759a887812115c12a1bad20f0b71b5b2509c15af3a56332c504fa0af3d77361574e17e8fbffc26
-EBUILD nsd-9999.ebuild 4526 BLAKE2B f935b1b2ad157a2af9ce3a4f3d5560f8a6c6056c7641573f31a38f4f928a0bbc90c628b8253a0c76f485a300e511aae4b58916e74b07102a8821861c504557ea SHA512 78e684b042dcd4816b77fb86a3339e71fbc1ffb3ae32e85f4af2a7ae9ba27d8d87912d1ed2e4524941e7a286db6a1142af08e817191a1908d4e8c648c80559c0
-MISC metadata.xml 2054 BLAKE2B cb2f3d4a5425521a7780f1fb247a55b2ab718e26d23894474dafbd82ad1bc0acee4e097684cf634d354870c0ac270897c571238ef8cf95b82bcd7dcf4971ca89 SHA512 2425ab4ca52a28afa3311b9dcd722e24ea490e32f859f5ea72f6c50b62b7dc677fd2217837526a05d36e069bd48324f51caa385656ebd58cee4e4d61fa19947a
+EBUILD nsd-4.10.1-r2.ebuild 4442 BLAKE2B bccfba5b68e16b0052022c3f305590e987b45bff72785bb6c301617d866436612523c7ed04eb7ff45953c6aad3ea5c4cbbd7a45c91e9572ab05f3525e7cab80e SHA512 8583a4bebcbd20ec63d663c2c68fbb3724034d24f32cffe423c566f4cccc0bcd350b35223355664e45e753e9d26343dd6553a2af6b342d3e6ca03d24657ea44e
+EBUILD nsd-4.9.1.ebuild 4225 BLAKE2B 4cd80b4819e79dc416c39820f068cf24c5d585a6bd9032901607ca667437172b81928cb01d3cb378c76ac6ff635a340ef5c96207276bf3186b5ad71c4d8d250d SHA512 41b979d7aea4557d9d3985e71113f4f3e4c25178c8b30e9291b3c9ae2034b41812d30f066b0b1d7fd27433c6fccb892ed323a87f1fa6fa41091f03482c363d2a
+EBUILD nsd-9999.ebuild 4371 BLAKE2B f9824aa8fb6738371773cc09749ea1e25c0d53d8f3120b5f2d7cdd59a6f7fc6ae244d4302861505d4dd56c87c0585bf6e6fee0928ec7d6457e4075293de36024 SHA512 5dcfb4226afdd58fec3b0450c18155247235b854265421caba587d8b797000bd38bab4ed39b937f9d636a69aba1973488fba50d75e95524e2aa51b0f4de4b81b
+MISC metadata.xml 1984 BLAKE2B e3c44203228f5a114b15966f6d6b06930cecbd2ad10a08ca3166a708f5811117faadd8fae26c98b008dd5080be850db15f93f8ed6477b936206babe880174677 SHA512 9fa4885721b96772df96d25b50005aa0e5028dfe69eff22d32143641d1d4cddabf47ab706eb1c69f8a7d43ac9c09a9c7225de170ee7a537d6b72b4368a5228be
diff --git a/net-dns/nsd/files/nsd-4.10.1-simdzone-configure_ac-_mm_popcnt_u64.patch b/net-dns/nsd/files/nsd-4.10.1-simdzone-configure_ac-_mm_popcnt_u64.patch
new file mode 100644
index 000000000000..5d6a38c64a0d
--- /dev/null
+++ b/net-dns/nsd/files/nsd-4.10.1-simdzone-configure_ac-_mm_popcnt_u64.patch
@@ -0,0 +1,12 @@
+diff -Naurp a/simdzone/configure.ac b/simdzone/configure.ac
+--- a/simdzone/configure.ac 2024-08-02 08:05:01.000000000 -0400
++++ b/simdzone/configure.ac 2024-08-04 17:56:15.810347292 -0400
+@@ -76,7 +76,7 @@ AC_INCLUDES_DEFAULT
+ int main(int argc, char *argv[])
+ {
+ (void)argv;
+- uint64_t popcnt = _mm_popcnt_64((uint64_t)argc);
++ uint64_t popcnt = _mm_popcnt_u64((uint64_t)argc);
+ return popcnt == 11;
+ }
+ ]])
diff --git a/net-dns/nsd/files/nsd-4.8.0-implausible-stats.patch b/net-dns/nsd/files/nsd-4.8.0-implausible-stats.patch
deleted file mode 100644
index 318f2a5e2f55..000000000000
--- a/net-dns/nsd/files/nsd-4.8.0-implausible-stats.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://github.com/NLnetLabs/nsd/issues/313
-https://github.com/NLnetLabs/nsd/commit/ccc1bbc28abd3a723c25cb8dcc735731926979d0
-
-From ccc1bbc28abd3a723c25cb8dcc735731926979d0 Mon Sep 17 00:00:00 2001
-From: "W.C.A. Wijngaards" <wouter@nlnetlabs.nl>
-Date: Tue, 6 Feb 2024 11:44:24 +0100
-Subject: [PATCH] - Fix #313: nsd 4.8 stats with implausible spikes.
-
---- a/remote.c
-+++ b/remote.c
-@@ -2932,7 +2932,9 @@ process_stats(RES* ssl, xfrd_state_type* xfrd, int peek)
- process_stats_manage_clear(xfrd, stats, peek);
- process_stats_add_total(xfrd, &total, stats);
- print_stats(ssl, xfrd, &stattime, !peek, &total, zonestats);
-- xfrd->nsd->rc->stats_time = stattime;
-+ if(!peek) {
-+ xfrd->nsd->rc->stats_time = stattime;
-+ }
-
- free(stats);
- #ifdef USE_ZONE_STATS
-
diff --git a/net-dns/nsd/files/nsd.initd-r1 b/net-dns/nsd/files/nsd.initd-r1
deleted file mode 100644
index 2a97c6dea708..000000000000
--- a/net-dns/nsd/files/nsd.initd-r1
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-description="NSD is an authoritative-only, high performance, open source name server"
-extra_commands="configtest"
-extra_started_commands="reload"
-
-# these can be overridden in /etc/conf.d/nsd if necessary
-NSD_CONFIG="${NSD_CONFIG:-/etc/nsd/nsd.conf}"
-NSD_CHECKCONF="${NSD_CHECKCONF:-/usr/sbin/nsd-checkconf}"
-command="${NSD_BINARY:-/usr/sbin/nsd}"
-command_args="-c ${NSD_CONFIG}"
-
-depend() {
- need net
- use logger
-}
-
-get_pidfile() {
- printf '%s' "$("${NSD_CHECKCONF}" -o pidfile "${NSD_CONFIG}")"
-}
-
-checkconfig() {
- if ! test -e "${NSD_CONFIG}"; then
- eerror "You need to create an appropriate config file."
- eerror "An example can be found in /etc/nsd/nsd.conf.sample"
- return 1
- elif ! "${NSD_CHECKCONF}" "${NSD_CONFIG}"; then
- eerror "You have errors in your configfile (${NSD_CONFIG})"
- return $?
- fi
- return 0
-}
-
-configtest() {
- ebegin "Checking ${SVCNAME} configuration"
- checkconfig
- eend $?
-}
-
-start_pre() {
- checkconfig || return $?
- pidfile="$(get_pidfile)"
- checkpath --directory --owner nsd:nsd "${pidfile%/*}" || return 1
-}
-
-stop_pre() {
- checkconfig || return $?
- pidfile="$(get_pidfile)"
-}
-
-reload() {
- checkconfig || return $?
- pidfile="$(get_pidfile)"
- ebegin "Reloading config and zone files"
- kill -s HUP $(cat ${pidfile})
- eend $?
-}
diff --git a/net-dns/nsd/files/nsd.service b/net-dns/nsd/files/nsd.service
deleted file mode 100644
index 8337557faeef..000000000000
--- a/net-dns/nsd/files/nsd.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=NSD authoritative DNS server
-Wants=network.target
-After=network.target
-
-[Service]
-Type=forking
-ExecStartPre=/usr/bin/install -d -o nsd -g nsd /run/nsd
-ExecStart=/usr/sbin/nsd
-KillMode=mixed
-PIDFile=/run/nsd/nsd.pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-dns/nsd/metadata.xml b/net-dns/nsd/metadata.xml
index 0cdd2376e40c..65dad76e8f3c 100644
--- a/net-dns/nsd/metadata.xml
+++ b/net-dns/nsd/metadata.xml
@@ -5,6 +5,9 @@
<email>kumba@gentoo.org</email>
<name>Joshua Kinard</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">NLnetLabs/nsd</remote-id>
+ </upstream>
<use>
<flag name="bind8-stats">Enables BIND8 like NSTATS and XSTATS and statistics in nsd-control</flag>
<flag name="default-znow">Enable full relocation binding at load-time (RELRO NOW, to protect GOT and .dtor areas)</flag>
@@ -21,12 +24,8 @@
<flag name="radix-tree">Use a radix tree for main lookups instead of a red-black tree</flag>
<flag name="ratelimit">Enables ratelimiting, based on query name, type and source</flag>
<flag name="recvmmsg">Enable recvmmsg and sendmmsg compilation, faster but some kernel versions may have implementation problems for IPv6</flag>
- <flag name="root-server">Configure NSD as a root server (OBSOLETE: removed in >=4.9.x)</flag>
<flag name="simdzone">Leverage SIMD instructions in modern CPUs to improve throughput</flag>
<flag name="tfo">Enable TCP Fast Open</flag>
- <flag name="year2038">Support timestamps after 2038 (glibc only!)</flag>
+ <flag name="year2038">Enables support for 64-bit 'time_t' (sets D_TIME_BITS=64; glibc only)</flag>
</use>
- <upstream>
- <remote-id type="github">NLnetLabs/nsd</remote-id>
- </upstream>
</pkgmetadata>
diff --git a/net-dns/nsd/nsd-4.10.0.ebuild b/net-dns/nsd/nsd-4.10.1-r2.ebuild
index da8e10d8e3ac..06ee9f176c22 100644
--- a/net-dns/nsd/nsd-4.10.0.ebuild
+++ b/net-dns/nsd/nsd-4.10.1-r2.ebuild
@@ -49,13 +49,10 @@ BDEPEND="
"
PATCHES=(
+ "${FILESDIR}/${PN}-4.10.1-simdzone-configure_ac-_mm_popcnt_u64.patch"
"${FILESDIR}/${PN}-munin-gentoo-paths.patch"
)
-NSD_CONFD_VER="1" # Cur version of NSD's OpenRC conf.d file.
-NSD_INITD_VER="2" # Cur version of NSD's OpenRC init.d script.
-NSD_TMPFILESD_VER="1" # Cur version of NSD's tmpfiles.d config.
-
NSD_DBDIR="/var/db/nsd" # Default dir for NSD's databases.
NSD_ZNDIR="/var/lib/nsd" # Default dir for NSD's zone files.
@@ -113,7 +110,9 @@ src_configure() {
)
fi
- # This configure switch is only available on a glibc-based system.
+ # This configure switch only appears on glibc-based userlands.
+ # It enables 64-bit time_t to support timestamps greater than
+ # the year 2038 (D_TIME_BITS=64).
if use elibc_glibc; then
myconf+=( $(use_enable year2038) )
fi
@@ -125,14 +124,14 @@ src_install() {
emake DESTDIR="${D}" install
dodoc doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS}
- newinitd "${FILESDIR}/nsd.initd-r${NSD_INITD_VER}" nsd
- newconfd "${FILESDIR}/nsd.confd-r${NSD_CONFD_VER}" nsd
- newtmpfiles "${FILESDIR}/nsd.tmpfilesd-r${NSD_TMPFILESD_VER}" nsd.conf
+ newinitd "contrib/nsd.openrc" nsd
+ newconfd "contrib/nsd.openrc.conf" nsd
+ newtmpfiles "contrib/nsd-tmpfiles.conf" nsd.conf
# Install munin plugin and config, if requested.
if use munin ; then
exeinto "/usr/libexec/munin/plugins"
- doexe contrib/nsd_munin_
+ doexe "contrib/nsd_munin_"
insinto "/etc/munin/plugin-conf.d"
newins "${FILESDIR}/nsd.munin-conf" nsd_munin
fi
diff --git a/net-dns/nsd/nsd-4.8.0-r1.ebuild b/net-dns/nsd/nsd-4.8.0-r1.ebuild
deleted file mode 100644
index 654f972468e3..000000000000
--- a/net-dns/nsd/nsd-4.8.0-r1.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools systemd
-
-DESCRIPTION="An authoritative only, high performance, open source name server"
-HOMEPAGE="https://www.nlnetlabs.nl/projects/nsd"
-
-if [[ ${PV} == *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/NLnetLabs/nsd.git"
-else
- # version voodoo needed only for non-release tarballs: 4.0.0_rc1 => 4.0.0rc1
- MY_PV="${PV/_beta/b}"
- MY_PV="${MY_PV/_rc/rc}"
- MY_P="${PN}-${MY_PV}"
-
- if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then
- SRC_URI="https://www.nlnetlabs.nl/downloads/${PN}/${MY_P}.tar.gz"
- S="${WORKDIR}"/${MY_P}
-
- KEYWORDS="amd64 x86"
- fi
-fi
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="bind8-stats debug dnstap libevent minimal-responses mmap munin +nsec3 ratelimit root-server ssl systemd"
-
-RDEPEND="
- acct-group/nsd
- acct-user/nsd
- dnstap? (
- dev-libs/fstrm
- dev-libs/protobuf-c
- )
- libevent? ( dev-libs/libevent )
- munin? ( net-analyzer/munin )
- ssl? ( dev-libs/openssl:0= )
- systemd? ( sys-apps/systemd )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-alternatives/lex
- app-alternatives/yacc
- systemd? ( virtual/pkgconfig )
-"
-
-PATCHES=(
- # Fix the paths in the munin plugin to match our install
- "${FILESDIR}/${PN}-munin-gentoo-paths.patch"
- "${FILESDIR}/${P}-implausible-stats.patch"
-)
-
-src_prepare() {
- default
-
- # Required to get correct pkg-config macros with USE="systemd"
- # See bugs #663618 and #758050
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --enable-ipv6
- --enable-largefile
- --enable-pie
- --enable-relro-now
- --enable-tcp-fastopen
-
- --with-dbfile="${EPREFIX}"/var/db/nsd/nsd.db
- --with-logfile="${EPREFIX}"/var/log/nsd.log
- --with-pidfile="${EPREFIX}"/run/nsd/nsd.pid
- --with-xfrdfile="${EPREFIX}"/var/db/nsd/xfrd.state
- --with-xfrdir="${EPREFIX}"/var/db/nsd
- --with-zonelistfile="${EPREFIX}"/var/db/nsd/zone.list
- --with-zonesdir="${EPREFIX}"/var/lib/nsd
-
- $(use_enable bind8-stats)
- $(use_enable bind8-stats zone-stats)
- $(use_enable debug checking)
- $(use_enable dnstap)
- $(use_enable minimal-responses)
- $(use_enable mmap)
- $(use_enable nsec3)
- $(use_enable ratelimit)
- $(use_enable root-server)
- $(use_enable systemd)
- $(use_with libevent)
- $(use_with ssl)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- dodoc doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS}
-
- newinitd "${FILESDIR}"/nsd.initd-r1 nsd
-
- # Install munin plugin and config
- if use munin ; then
- exeinto /usr/libexec/munin/plugins
- doexe contrib/nsd_munin_
- insinto /etc/munin/plugin-conf.d
- newins "${FILESDIR}"/nsd.munin-conf nsd_munin
- fi
-
- systemd_dounit "${FILESDIR}"/nsd.service
-
- # Remove the /run directory that usually resides on tmpfs and is
- # being taken care of by the nsd init script anyway (checkpath)
- rm -r "${ED}"/run || die "Failed to remove /run"
-
- keepdir /var/db/${PN}
-}
-
-pkg_postinst() {
- # database directory, writable by nsd for database updates and zone transfers
- install -d -m 750 -o nsd -g nsd "${EROOT}"/var/db/nsd
-
- # zones directory, writable by nsd for zone file updates (nsd-control write)
- install -d -m 750 -o nsd -g nsd "${EROOT}"/var/lib/nsd
-}
diff --git a/net-dns/nsd/nsd-4.9.1.ebuild b/net-dns/nsd/nsd-4.9.1.ebuild
index 3df2b6926da3..f18bd817fb51 100644
--- a/net-dns/nsd/nsd-4.9.1.ebuild
+++ b/net-dns/nsd/nsd-4.9.1.ebuild
@@ -101,7 +101,9 @@ src_configure() {
--with-zonesdir="${EPREFIX}${NSD_ZNDIR}"
)
- # This configure switch is only available on a glibc-based system.
+ # This configure switch only appears on glibc-based userlands.
+ # It enables 64-bit time_t to support timestamps greater than
+ # the year 2038 (D_TIME_BITS=64).
if use elibc_glibc; then
myconf+=( $(use_enable year2038) )
fi
diff --git a/net-dns/nsd/nsd-9999.ebuild b/net-dns/nsd/nsd-9999.ebuild
index da8e10d8e3ac..099b81460652 100644
--- a/net-dns/nsd/nsd-9999.ebuild
+++ b/net-dns/nsd/nsd-9999.ebuild
@@ -52,10 +52,6 @@ PATCHES=(
"${FILESDIR}/${PN}-munin-gentoo-paths.patch"
)
-NSD_CONFD_VER="1" # Cur version of NSD's OpenRC conf.d file.
-NSD_INITD_VER="2" # Cur version of NSD's OpenRC init.d script.
-NSD_TMPFILESD_VER="1" # Cur version of NSD's tmpfiles.d config.
-
NSD_DBDIR="/var/db/nsd" # Default dir for NSD's databases.
NSD_ZNDIR="/var/lib/nsd" # Default dir for NSD's zone files.
@@ -113,7 +109,9 @@ src_configure() {
)
fi
- # This configure switch is only available on a glibc-based system.
+ # This configure switch only appears on glibc-based userlands.
+ # It enables 64-bit time_t to support timestamps greater than
+ # the year 2038 (D_TIME_BITS=64).
if use elibc_glibc; then
myconf+=( $(use_enable year2038) )
fi
@@ -125,14 +123,14 @@ src_install() {
emake DESTDIR="${D}" install
dodoc doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS}
- newinitd "${FILESDIR}/nsd.initd-r${NSD_INITD_VER}" nsd
- newconfd "${FILESDIR}/nsd.confd-r${NSD_CONFD_VER}" nsd
- newtmpfiles "${FILESDIR}/nsd.tmpfilesd-r${NSD_TMPFILESD_VER}" nsd.conf
+ newinitd "contrib/nsd.openrc" nsd
+ newconfd "contrib/nsd.openrc.conf" nsd
+ newtmpfiles "contrib/nsd-tmpfiles.conf" nsd.conf
# Install munin plugin and config, if requested.
if use munin ; then
exeinto "/usr/libexec/munin/plugins"
- doexe contrib/nsd_munin_
+ doexe "contrib/nsd_munin_"
insinto "/etc/munin/plugin-conf.d"
newins "${FILESDIR}/nsd.munin-conf" nsd_munin
fi
diff --git a/net-dns/pdns-recursor/Manifest b/net-dns/pdns-recursor/Manifest
index b4c60854f4d0..06c6b9836d47 100644
--- a/net-dns/pdns-recursor/Manifest
+++ b/net-dns/pdns-recursor/Manifest
@@ -17,6 +17,7 @@ DIST pdns-recursor-5.0.4.tar.bz2 1659047 BLAKE2B f1a5cbd69f32bb402a5556fa4ad99df
DIST pdns-recursor-5.0.5.tar.bz2 1658574 BLAKE2B 7bf3bc9c742e97d396654fdd8b680cb9d3270a7dc1849ee50c747cc8934c21bed0f778708e04c162fafdca74c4664e299b18c2abd6bdef6d127cee04c75684fd SHA512 52bed3516a8dfbe4be5e5ddd81920955c1c4c66d1996afc9f61d361e06ec11cc5aba7afe4c49f8f69b1554b6564cb619ee5572c066d6d6f2733a0f07bc6945c0
DIST pdns-recursor-5.0.6.tar.bz2 1689757 BLAKE2B ddc82e19e3761a35ab3fd81bf0f73a7c139f0ce9464259f311d1f9fd8134627760efadca5310c4d3875bb469eafbdc0719fe30e38aa58687ff24eefe16e27205 SHA512 1f8496b4ce50d02ca12d44576b2fa800b83d5d9fdeab57956445ebb80ab72b7fe6e7bf7368c3fe6e6b57133458c98c5773ce0ad9da86dd49f2830c52649957d6
DIST pdns-recursor-5.0.7.tar.bz2 1697502 BLAKE2B b3fff4f0b2baaf9e9e99f192b4b900355aea8e347ed4ff8bb1b3e70e8f017b66fcda3ba1c140c84950e99bcc8350bf5f61fb75e3dcf7443a55455781213f6b25 SHA512 d23c289c972d671d31735839bcae68fb573330435563061b6b9086c74dedcd37ff30632d5b67ec6185877fd42c881b2f41fc9eb65cfd4414457763626149dd4b
+DIST pdns-recursor-5.0.8.tar.bz2 1675936 BLAKE2B 21bebcf135c310dc8b82223dd1dece8621b79bb34d2dd5f30970c577c300bf75728c45f138c36198ddacde004ac7e57f3a2083441577a355168c81730df6d125 SHA512 90d990cf6e8ce89252d0fc428265b93b70c974c9b86627fdf61534c5a5ecc85c2b3c51eb12d37a9bf6fcddf9e576dbc3c883e9f599687e7b2741a49194957c38
DIST proc-macro2-1.0.69.crate 44271 BLAKE2B 9d1531a0b123e6238363d574bee03ad050454b65710b9800c12597f3a9ae2f9bf50c617da0472b7ac0b549afaca19c546ccd6519e648598500efda9c0db2ef6d SHA512 d197cbe9b6100c3193a01fd7dd6b4e49d440290012ababb5d9f139409f0afe816f213d67a03abeb1f3227228e0a1f2446d1dc0a2775363a15d1237c38b45d6a1
DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
DIST ryu-1.0.15.crate 46906 BLAKE2B 6d6949e43aaa27fba0ec6002fa11ba859af8d867f87c90d88413267186abbf6302b817985bca3d577ab3fab2e319e11756f144473a16330dfd8fc7b604cdc4b3 SHA512 4655b5647f919082a9b84b889539ae7fb23a1201057cf280efe79c58cb5f040864efb7812cda5021bf6d34838a15d173ac8bdb0fb9fa2dba85173d3efa5a826b
@@ -37,4 +38,5 @@ EBUILD pdns-recursor-5.0.4.ebuild 2777 BLAKE2B 017fb252ba64ad28b38a8542606949d9b
EBUILD pdns-recursor-5.0.5.ebuild 2779 BLAKE2B dc48f8dddf04df873e10df05409900851583bc024b421b1ef7cb98b11e8284c2600c9867084e9bdfc0fecd05de90b3b7e6a2d5b09789a8540375995a762f3a0f SHA512 53bfa5d94115aa5aa14117fe395f4e8c249225ce83f7dd800dc1bebfc47e25d020b4df977e1710d7eaf04906d77975e9e7e68ab19a552ef5c168a680de750e5a
EBUILD pdns-recursor-5.0.6.ebuild 2777 BLAKE2B 017fb252ba64ad28b38a8542606949d9b9bca52d28cf9d06d765fb33cd2845ae501ff28b9e5f34492ca07da5e7deb3277c2f844bb41d87108a84a543a883360f SHA512 f0a094a4a0578e8481f3a0d1d49779fd3e21957567e6752dee9d99fcaed326783ef44546324625fab6cb3d0182ba77ca3b0f7ec8a9ff54806ef29a92ccdeed74
EBUILD pdns-recursor-5.0.7.ebuild 2779 BLAKE2B dc48f8dddf04df873e10df05409900851583bc024b421b1ef7cb98b11e8284c2600c9867084e9bdfc0fecd05de90b3b7e6a2d5b09789a8540375995a762f3a0f SHA512 53bfa5d94115aa5aa14117fe395f4e8c249225ce83f7dd800dc1bebfc47e25d020b4df977e1710d7eaf04906d77975e9e7e68ab19a552ef5c168a680de750e5a
+EBUILD pdns-recursor-5.0.8.ebuild 2779 BLAKE2B dc48f8dddf04df873e10df05409900851583bc024b421b1ef7cb98b11e8284c2600c9867084e9bdfc0fecd05de90b3b7e6a2d5b09789a8540375995a762f3a0f SHA512 53bfa5d94115aa5aa14117fe395f4e8c249225ce83f7dd800dc1bebfc47e25d020b4df977e1710d7eaf04906d77975e9e7e68ab19a552ef5c168a680de750e5a
MISC metadata.xml 930 BLAKE2B 997ed7f557ddae9d8a5b3f92396cb5acb9cde67de5cc750c4c3b051635557ff22fcdd94400a95cc7e5328ccca9786fe3b780c81d57f785865a18e68701916d00 SHA512 3415ed721ad143cae712ee309ba9f3057273b8e594617fe12382bd316cad7dc6e2ed66d660d9c13fa3db993852c85f21d1ea1c0367e595dd5bbf782add225cd1
diff --git a/net-dns/pdns-recursor/pdns-recursor-5.0.8.ebuild b/net-dns/pdns-recursor/pdns-recursor-5.0.8.ebuild
new file mode 100644
index 000000000000..35970c3ed18e
--- /dev/null
+++ b/net-dns/pdns-recursor/pdns-recursor-5.0.8.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+CRATES="
+ cc@1.0.84
+ codespan-reporting@0.11.1
+ cxx-build@1.0.110
+ cxx@1.0.110
+ cxxbridge-flags@1.0.110
+ cxxbridge-macro@1.0.110
+ equivalent@1.0.1
+ hashbrown@0.14.2
+ indexmap@2.1.0
+ ipnet@2.9.0
+ itoa@1.0.9
+ libc@0.2.150
+ link-cplusplus@1.0.9
+ once_cell@1.18.0
+ proc-macro2@1.0.69
+ quote@1.0.33
+ ryu@1.0.15
+ scratch@1.0.7
+ serde@1.0.192
+ serde_derive@1.0.192
+ serde_yaml@0.9.27
+ syn@2.0.39
+ termcolor@1.4.0
+ unicode-ident@1.0.12
+ unicode-width@0.1.11
+ unsafe-libyaml@0.2.9
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.6
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+"
+
+inherit cargo flag-o-matic lua-single
+
+DESCRIPTION="The PowerDNS Recursor"
+HOMEPAGE="https://www.powerdns.com/"
+SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.bz2 ${CARGO_CRATE_URIS}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="debug dnstap snmp sodium systemd test valgrind"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+DEPEND="${LUA_DEPS}
+ dnstap? ( dev-libs/fstrm )
+ systemd? ( sys-apps/systemd:0= )
+ snmp? ( net-analyzer/net-snmp )
+ sodium? ( dev-libs/libsodium:= )
+ elibc_glibc? (
+ arm? ( >=sys-libs/glibc-2.34 )
+ x86? ( >=sys-libs/glibc-2.34 )
+ )
+ dev-libs/openssl:=
+ dev-libs/boost:=[context]"
+RDEPEND="${DEPEND}
+ !<net-dns/pdns-2.9.20-r1
+ acct-user/pdns
+ acct-group/pdns"
+DEPEND="${DEPEND}
+ valgrind? ( dev-debug/valgrind )"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}"/${P/_/-}
+
+pkg_setup() {
+ lua-single_pkg_setup
+ filter-flags -ftree-vectorize
+ append-lfs-flags
+ append-cppflags -D_TIME_BITS=64
+}
+
+src_configure() {
+ econf \
+ --sysconfdir=/etc/powerdns \
+ --with-nod-cache-dir=/var/lib/powerdns \
+ --with-service-user=pdns \
+ --with-service-group=pdns \
+ --with-lua="${ELUA}" \
+ $(use_enable debug verbose-logging) \
+ $(use_enable systemd) \
+ $(use_enable dnstap dnstap) \
+ $(use_enable test unit-tests) \
+ $(use_enable valgrind) \
+ $(use_with sodium libsodium) \
+ $(use_with snmp net-snmp)
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ default
+
+ mv "${D}"/etc/powerdns/recursor.conf{-dist,}
+
+ # set defaults: setuid=nobody, setgid=nobody
+ sed -i \
+ -e 's/^# set\([ug]\)id=$/set\1id=pdns/' \
+ -e 's/^# quiet=$/quiet=on/' \
+ -e 's/^# chroot=$/chroot=\/var\/lib\/powerdns/' \
+ "${D}"/etc/powerdns/recursor.conf
+
+ newinitd "${FILESDIR}"/pdns-recursor-r2 pdns-recursor
+}
+
+src_test() {
+ default
+}
+
+pkg_postinst() {
+ local old
+
+ for old in ${REPLACING_VERSIONS}; do
+ ver_test ${old} -lt 4.0.0-r1 || continue
+
+ ewarn "Starting with 4.0.0-r1 the init script has been renamed from precursor"
+ ewarn "to pdns-recursor, please update your runlevels accordingly."
+
+ break
+ done
+}