summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Kinard <kumba@gentoo.org>2025-01-20 16:29:56 -0500
committerJoshua Kinard <kumba@gentoo.org>2025-01-20 16:29:56 -0500
commit1110efd129c00d1dc6bcb8d1b831f6827a3450eb (patch)
treedd997db53fe6f5ea92851806df6133e11556bbde /net-dns
parentsys-apps/syd: add 3.30.0 (diff)
downloadgentoo-1110efd129c00d1dc6bcb8d1b831f6827a3450eb.tar.gz
gentoo-1110efd129c00d1dc6bcb8d1b831f6827a3450eb.tar.bz2
gentoo-1110efd129c00d1dc6bcb8d1b831f6827a3450eb.zip
net-dns/nsd: Add nsd-4.11.1 to the tree
Signed-off-by: Joshua Kinard <kumba@gentoo.org>
Diffstat (limited to 'net-dns')
-rw-r--r--net-dns/nsd/Manifest1
-rw-r--r--net-dns/nsd/nsd-4.11.1.ebuild160
-rw-r--r--net-dns/nsd/nsd-9999.ebuild3
3 files changed, 163 insertions, 1 deletions
diff --git a/net-dns/nsd/Manifest b/net-dns/nsd/Manifest
index 32bf4d32a68c..5ddf5c59b7dc 100644
--- a/net-dns/nsd/Manifest
+++ b/net-dns/nsd/Manifest
@@ -1 +1,2 @@
DIST nsd-4.10.1.tar.gz 1404799 BLAKE2B 7b286ac681c1bb8201654cd2e5fac8a98256f6a595dfbb39bcfed92de63b3337e05d219bc766bab01e4aaf3fb1de3c128d7157caeee3a7f21e4132db9ea72cba SHA512 b0f4bdca8a1c6fbbe99096abc8c5f8b34ef2e66dc0da44da253ab164b35ad0aaef5d05eb682b88cc68d8b1671f7b80abafee242a784ed6deb785adee7f6a53a9
+DIST nsd-4.11.1.tar.gz 1527949 BLAKE2B 82a710a5e484818a6df19dd39d6b6b4cce4c1add0a055771946f040bbdd6dbee35d8bdb1d48f7d906aca85653e6809754749cc74654e182f5a5b07f19dcd9b42 SHA512 50b7d93485f3b9903e0d7ee5ec326f47c8a603d3c143899aa46e7865413f8b7f0ed2edcdae5ac054b3c709ab50acfbe8816e1be41dd008803ef83fa9bc370944
diff --git a/net-dns/nsd/nsd-4.11.1.ebuild b/net-dns/nsd/nsd-4.11.1.ebuild
new file mode 100644
index 000000000000..7fe65a15843c
--- /dev/null
+++ b/net-dns/nsd/nsd-4.11.1.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit autotools systemd tmpfiles
+
+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 +default-znow dnstap +ipv6 +largefile libevent +lto memclean minimal-responses mmap munin +nsec3 packed +pie +radix-tree ratelimit recvmmsg +simdzone ssl systemd +tfo year2038"
+
+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=(
+ "${FILESDIR}/${PN}-munin-gentoo-paths.patch"
+)
+
+NSD_DBDIR="/var/db/nsd" # Default dir for NSD's databases.
+NSD_ZNDIR="/var/lib/nsd" # Default dir for NSD's zone files.
+
+src_prepare() {
+ default
+
+ # Required to get correct pkg-config macros with USE="systemd".
+ # See bugs #663618 & #758050.
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ $(use_enable bind8-stats)
+ $(use_enable bind8-stats zone-stats)
+ $(use_enable debug checking)
+ $(use_enable default-znow relro-now)
+ $(use_enable dnstap)
+ $(use_enable ipv6)
+ $(use_enable largefile)
+ $(use_enable lto flto)
+ $(use_enable memclean)
+ $(use_enable minimal-responses)
+ $(use_enable mmap)
+ $(use_enable nsec3)
+ $(use_enable packed)
+ $(use_enable pie)
+ $(use_enable radix-tree)
+ $(use_enable ratelimit)
+ $(use_enable recvmmsg)
+ $(use_enable systemd)
+ $(use_enable tfo tcp-fastopen)
+ $(use_with libevent)
+ $(use_with ssl)
+
+ --with-cookiesecretsfile="${EPREFIX}${NSD_DBDIR}/cookiesecrets.txt"
+ --with-dbfile="${EPREFIX}${NSD_DBDIR}/nsd.db"
+ --with-logfile="${EPREFIX}/var/log/nsd.log"
+ --with-pidfile="${EPREFIX}/run/nsd.pid"
+ --with-xfrdfile="${EPREFIX}${NSD_DBDIR}/xfrd.state"
+ --with-xfrdir="${EPREFIX}${NSD_DBDIR}"
+ --with-zonelistfile="${EPREFIX}${NSD_DBDIR}/zone.list"
+ --with-zonesdir="${EPREFIX}${NSD_ZNDIR}"
+ )
+
+ # NSD 4.10.x introduced a new zone parser, "simdzone", which
+ # replaces the older parser that used flex & bison:
+ # https://github.com/NLnetLabs/simdzone
+ # It leverages SSE4.2 and/or AVX2 instruction sets for faster
+ # zone parsing on x86_64 architectures. Other CPU archs will
+ # use a fallback implementation.
+ if use amd64; then
+ myconf+=(
+ $(use_enable simdzone haswell)
+ $(use_enable simdzone westmere)
+ )
+ fi
+
+ # 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
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS}
+ 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_"
+ insinto "/etc/munin/plugin-conf.d"
+ newins "${FILESDIR}/nsd.munin-conf" nsd_munin
+ fi
+
+ # Use the upstream-provided systemd service file.
+ systemd_dounit "contrib/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 "${NSD_DBDIR}"
+}
+
+pkg_postinst() {
+ # See eclass/tmpfiles.eclass for info.
+ tmpfiles_process nsd.conf
+
+ # Database directory
+ # Writable by nsd:nsd for database updates and zone transfers.
+ install -d -m 750 -o nsd -g nsd "${EROOT}/${NSD_DBDIR}"
+
+ # Zones directory
+ # Writable by nsd:nsd for zone file updates (via 'nsd-control write').
+ install -d -m 750 -o nsd -g nsd "${EROOT}/${NSD_ZNDIR}"
+}
diff --git a/net-dns/nsd/nsd-9999.ebuild b/net-dns/nsd/nsd-9999.ebuild
index 099b81460652..7fe65a15843c 100644
--- a/net-dns/nsd/nsd-9999.ebuild
+++ b/net-dns/nsd/nsd-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -87,6 +87,7 @@ src_configure() {
$(use_with libevent)
$(use_with ssl)
+ --with-cookiesecretsfile="${EPREFIX}${NSD_DBDIR}/cookiesecrets.txt"
--with-dbfile="${EPREFIX}${NSD_DBDIR}/nsd.db"
--with-logfile="${EPREFIX}/var/log/nsd.log"
--with-pidfile="${EPREFIX}/run/nsd.pid"