summaryrefslogtreecommitdiff
path: root/net-dns
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-08-27 03:04:46 -0500
committerroot <root@alpha.trunkmasters.com>2026-08-27 03:04:46 -0500
commit2becf90cbeed1e8431dfd896e8a1b0e52085a807 (patch)
treea2c63582302d79d3b93dee005f71c667e192ae02 /net-dns
parenta5b204c853f6ce1d5c74fb57a0c5c64567baeab6 (diff)
downloadbaldeagleos-repo-2becf90cbeed1e8431dfd896e8a1b0e52085a807.tar.gz
baldeagleos-repo-2becf90cbeed1e8431dfd896e8a1b0e52085a807.tar.xz
baldeagleos-repo-2becf90cbeed1e8431dfd896e8a1b0e52085a807.zip
Adding metadata
Diffstat (limited to 'net-dns')
-rw-r--r--net-dns/nsd/Manifest2
-rw-r--r--net-dns/nsd/nsd-4.15.1.ebuild190
2 files changed, 192 insertions, 0 deletions
diff --git a/net-dns/nsd/Manifest b/net-dns/nsd/Manifest
index a0c40d299730..ff41d0aa2994 100644
--- a/net-dns/nsd/Manifest
+++ b/net-dns/nsd/Manifest
@@ -2,3 +2,5 @@ DIST nsd-4.14.3.tar.gz 1617135 BLAKE2B d958a854433d25af6f05f9815fb27e6755871d489
DIST nsd-4.14.3.tar.gz.asc 659 BLAKE2B c2ea88f6ada05e5f2a92dd11b94e69de7f7d1b3433fb38e3e3d110952ba73e78dcaa7a6da7c7a09dd0a14462afda3fda55460f72e53194f1ca35d9e4f45f11f2 SHA512 8604ad8e7f4b3a4fd2b8feefe27cd5ba3e18e661c4f163d61922aac285e2521429a035f4164b153ac9c657106168b14b2faba5fbb8c2d474f67685e894e6e923
DIST nsd-4.15.0.tar.gz 1623254 BLAKE2B fa40058211a8e384ceaa6ed2a096d3059aa1026a0af845b399c65af5167d1067046f5c002bcd2b9a18fe1a714050db5da16665cae8a20d84a7360317c3846b7e SHA512 8bf1ab1dcaf707ace0066aaebbbaf67c4a81b19c36d3534884de7a3b533e54ecc48334a272f039408b91a7ad80ce2e928d94f84b93ce802688581e55dec1ff44
DIST nsd-4.15.0.tar.gz.asc 659 BLAKE2B 99d0a92bb95a389a750e1a60990273ddf06583a6a8ce364c1bfe1625e42338eaea37ba5012a854e148d938bc3fa84bb501dd8ffc707951d2672c588ab27eb86b SHA512 7560461346eb771394e591146b6e99a95e4a139d411ab417c82ad4ae4700b30d668b994e0f103729e0fae3c9782e135f8becda259dd3b24272158171bc4a1f43
+DIST nsd-4.15.1.tar.gz 1625741 BLAKE2B 4eae4345b96555d8e38feef061053a8e7bbd94804d1578957b12b426941d8c0b4a322196751acb96a268e1d596ff4db566215e42008604fb38dc82d31b31e32f SHA512 adc5cce24cdcd5c50a51adbeabc05727e962ebe9f68b7678bbfcef80ad042d19b805bb1d4f4d4504043158d43c94086f09e333a123b3ae9edade26a6a17cafa8
+DIST nsd-4.15.1.tar.gz.asc 659 BLAKE2B c4aaf2078660d497ac34ea96a96fe1d254c7d01389c60ce9c43ce8a154c0654fcafbbde0b8641cca6a3f4df37e7ea9193a66cd12da58263e3d8e8950d3c2f84c SHA512 1961df37d4c1a8b731c9dd0d568767e971f4944cf6ecd9d168b19d3c7ca0b933958964ec83f71f8e80957db0b6ba0968f786164a81fce96a7d861a034910d50b
diff --git a/net-dns/nsd/nsd-4.15.1.ebuild b/net-dns/nsd/nsd-4.15.1.ebuild
new file mode 100644
index 000000000000..c41a61629aa3
--- /dev/null
+++ b/net-dns/nsd/nsd-4.15.1.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nlnetlabs.asc
+inherit autotools systemd tmpfiles toolchain-funcs verify-sig
+
+DESCRIPTION="An authoritative only, high performance, open source name server"
+HOMEPAGE="https://www.nlnetlabs.nl/projects/nsd/about/"
+
+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
+ verify-sig? ( https://www.nlnetlabs.nl/downloads/nsd/${MY_P}.tar.gz.asc )
+ "
+ S="${WORKDIR}"/${MY_P}
+
+ KEYWORDS="~amd64 ~arm64 ~x86"
+ BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-nlnetlabs-20260101 ) "
+ fi
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="+bind8-stats debug +dnstap +ipv6 libevent memclean minimal-responses mmap munin"
+IUSE+=" +nsec3 +radix-tree +ratelimit recvmmsg selinux +simdzone ssl systemd +tfo xdp verify-sig"
+
+RDEPEND="
+ acct-group/nsd
+ acct-user/nsd
+ dnstap? (
+ >=dev-libs/fstrm-0.4
+ dev-libs/protobuf-c:=
+ )
+ libevent? ( dev-libs/libevent )
+ munin? ( net-analyzer/munin )
+ ssl? ( dev-libs/openssl:= )
+ systemd? ( sys-apps/systemd )
+ xdp? (
+ dev-libs/libbpf:=
+ net-libs/xdp-tools
+ sys-libs/libcap
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND+="
+ app-alternatives/lex
+ app-alternatives/yacc
+ systemd? ( virtual/pkgconfig )
+ xdp? ( llvm-core/clang:*[llvm_targets_BPF] )
+"
+RDEPEND+=" selinux? ( sec-policy/selinux-nsd )"
+
+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.
+
+QA_EXECSTACK="
+ usr/lib/nsd/xdp-*.o
+"
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == *9999 ]] ; then
+ # When building from git, the configure script and simdzone sources are missing
+ # See README.md
+ git submodule update --init || die "Could't update submodules"
+ autoreconf -fi || die "autoreconf -fi failed"
+ else
+ # Required to get correct pkg-config macros with USE="systemd".
+ # See bugs #663618 & #758050.
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ local myconf=(
+ --cache-file="${S}"/config.cache
+
+ $(use_enable bind8-stats)
+ $(use_enable bind8-stats zone-stats)
+ $(use_enable debug checking)
+ $(use_enable dnstap)
+ $(use_enable ipv6)
+ $(use_enable memclean)
+ $(use_enable minimal-responses)
+ $(use_enable mmap)
+ $(use_enable nsec3)
+ --disable-packed
+ $(use_enable radix-tree)
+ $(use_enable ratelimit)
+ $(use_enable recvmmsg)
+ $(use_enable systemd)
+ $(use_enable tfo tcp-fastopen)
+ $(use_enable xdp)
+ $(use_with libevent)
+ $(use_with ssl)
+
+ --with-cookiesecretsfile="${EPREFIX}${NSD_DBDIR}/cookiesecrets.txt"
+ --with-dbfile="${EPREFIX}${NSD_DBDIR}/nsd.db"
+ --with-dbdir="${EPREFIX}${NSD_DBDIR}"
+ --with-logfile="${EPREFIX}/var/log/nsd.log"
+ --with-pidfile="${EPREFIX}/run/nsd.pid"
+ # sharedfilesdir is used for xdp (bpf) objects
+ --with-sharedfilesdir="${EPREFIX}/usr/lib/nsd"
+ --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
+
+ # If the compiler indicates that time_t is at least 64-bits wide,
+ # then enable it in the package to support timestamps greater than
+ # the year 2038 (D_TIME_BITS=64). This configure switch only
+ # appears on glibc-based userlands.
+ if use elibc_glibc && tc-has-64bit-time_t; then
+ myconf+=( --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"
+
+ # BPF
+ dostrip -x /usr/lib/nsd
+
+ 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}"
+}