summaryrefslogtreecommitdiff
path: root/net-libs/ldns
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /net-libs/ldns
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'net-libs/ldns')
-rw-r--r--net-libs/ldns/Manifest2
-rw-r--r--net-libs/ldns/files/ldns-1.8.1-pkgconfig.patch10
-rw-r--r--net-libs/ldns/files/ldns-1.8.4-swig-4.3.0.patch127
-rw-r--r--net-libs/ldns/files/ldns-1.9.0-std23-bool.patch18
-rw-r--r--net-libs/ldns/ldns-1.8.4-r1.ebuild90
-rw-r--r--net-libs/ldns/ldns-1.9.0.ebuild93
-rw-r--r--net-libs/ldns/metadata.xml15
7 files changed, 355 insertions, 0 deletions
diff --git a/net-libs/ldns/Manifest b/net-libs/ldns/Manifest
new file mode 100644
index 000000000000..271d8ee356c0
--- /dev/null
+++ b/net-libs/ldns/Manifest
@@ -0,0 +1,2 @@
+DIST ldns-1.8.4.tar.gz 1301058 BLAKE2B 26003c816c380a58c441f70cb2ea37b7e1402383bc35fbaceae1668af5f591f4cdd04e9ef90655a87ef2ec505a06c1d5c802ed2a80414464ef2e89f4349b995c SHA512 3ee26289bfe587fb19b7441412917d7f7197e385cc1329847c1ae707650709a1ccef7d4a645bd85da89effad95715ec868ef312e5f336d3fe2e408e8109439fc
+DIST ldns-1.9.0.tar.gz 1305262 BLAKE2B 2079fc2f7b4bf244038bbb94edcced98d5a12272df726c016d94ce9c7f8daabab3c7f4cf1c18355f4572995150a5d5876122086fab5e8704b2c225b211d7a511 SHA512 8b2a40e5e512ef1100240b765d4a6bb183a8f13a27436c42c5e1a9d6a4de71434900216ea339a717f791f5329f9ef64d0f4794b582decbd2a314ef4ca3a1171c
diff --git a/net-libs/ldns/files/ldns-1.8.1-pkgconfig.patch b/net-libs/ldns/files/ldns-1.8.1-pkgconfig.patch
new file mode 100644
index 000000000000..7731ff6af7a2
--- /dev/null
+++ b/net-libs/ldns/files/ldns-1.8.1-pkgconfig.patch
@@ -0,0 +1,10 @@
+--- a/packaging/libldns.pc.in
++++ b/packaging/libldns.pc.in
+@@ -8,6 +8,6 @@
+ URL: http://www.nlnetlabs.nl/projects/ldns
+ Version: @PACKAGE_VERSION@
+ Requires:
++Requires.private: libcrypto libssl
+ Libs: -L${libdir} -lldns
+-Libs.private: @LDFLAGS@
+ Cflags: -I${includedir}
diff --git a/net-libs/ldns/files/ldns-1.8.4-swig-4.3.0.patch b/net-libs/ldns/files/ldns-1.8.4-swig-4.3.0.patch
new file mode 100644
index 000000000000..a6ec69016637
--- /dev/null
+++ b/net-libs/ldns/files/ldns-1.8.4-swig-4.3.0.patch
@@ -0,0 +1,127 @@
+From 49b2e4a938d263bb8c532e64f33690551e43ca0c Mon Sep 17 00:00:00 2001
+From: Po-Chuan Hsieh <sunpoet@sunpoet.net>
+Date: Mon, 28 Oct 2024 21:42:27 +0800
+Subject: [PATCH] Fix build with SWIG 4.3.0
+
+Replace SWIG_Python_AppendOutput with SWIG_AppendOutput.
+
+from CHANGES:
+ New declaration of SWIG_Python_AppendOutput is now:
+
+ SWIG_Python_AppendOutput(PyObject* result, PyObject* obj, int is_void);
+
+ The 3rd parameter is new and the new $isvoid special variable
+ should be passed to it, indicating whether or not the wrapped
+ function returns void. If SWIG_Python_AppendOutput is currently being
+ used and a completely backwards compatible (but technically incorrect)
+ solution is required, then pass 1 for the is_void parameter.
+
+ Also consider replacing with:
+
+ SWIG_AppendOutput(PyObject* result, PyObject* obj);
+
+ which calls SWIG_Python_AppendOutput with same parameters but adding $isvoid
+ for final parameter.
+
+Reference: https://github.com/swig/swig/blob/master/CHANGES#L382-L397
+---
+ contrib/python/ldns_buffer.i | 2 +-
+ contrib/python/ldns_key.i | 2 +-
+ contrib/python/ldns_packet.i | 2 +-
+ contrib/python/ldns_rdf.i | 2 +-
+ contrib/python/ldns_resolver.i | 2 +-
+ contrib/python/ldns_rr.i | 2 +-
+ contrib/python/ldns_zone.i | 2 +-
+ 7 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/contrib/python/ldns_buffer.i b/contrib/python/ldns_buffer.i
+index 5c2d583b..0a3e3895 100644
+--- a/contrib/python/ldns_buffer.i
++++ b/contrib/python/ldns_buffer.i
+@@ -45,7 +45,7 @@
+ /* Result generation, appends (ldns_buffer *) after the result. */
+ %typemap(argout, noblock=1) (ldns_buffer **)
+ {
+- $result = SWIG_Python_AppendOutput($result,
++ $result = SWIG_AppendOutput($result,
+ SWIG_NewPointerObj(SWIG_as_voidptr($1_buf),
+ SWIGTYPE_p_ldns_struct_buffer, SWIG_POINTER_OWN | 0));
+ }
+diff --git a/contrib/python/ldns_key.i b/contrib/python/ldns_key.i
+index dc67e67b..6a3c2db4 100644
+--- a/contrib/python/ldns_key.i
++++ b/contrib/python/ldns_key.i
+@@ -38,7 +38,7 @@
+ /* result generation */
+ %typemap(argout,noblock=1) (ldns_key **)
+ {
+- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(SWIG_as_voidptr($1_key), SWIGTYPE_p_ldns_struct_key, SWIG_POINTER_OWN | 0 ));
++ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(SWIG_as_voidptr($1_key), SWIGTYPE_p_ldns_struct_key, SWIG_POINTER_OWN | 0 ));
+ }
+
+ %typemap(argout) ldns_rdf *r "Py_INCREF($input);"
+diff --git a/contrib/python/ldns_packet.i b/contrib/python/ldns_packet.i
+index c2d7a3b6..8309808d 100644
+--- a/contrib/python/ldns_packet.i
++++ b/contrib/python/ldns_packet.i
+@@ -45,7 +45,7 @@
+ /* Result generation, appends (ldns_pkt *) after the result. */
+ %typemap(argout,noblock=1) (ldns_pkt **)
+ {
+- $result = SWIG_Python_AppendOutput($result,
++ $result = SWIG_AppendOutput($result,
+ SWIG_NewPointerObj(SWIG_as_voidptr($1_pkt),
+ SWIGTYPE_p_ldns_struct_pkt, SWIG_POINTER_OWN | 0 ));
+ }
+diff --git a/contrib/python/ldns_rdf.i b/contrib/python/ldns_rdf.i
+index 39f9af18..ed1f0d00 100644
+--- a/contrib/python/ldns_rdf.i
++++ b/contrib/python/ldns_rdf.i
+@@ -45,7 +45,7 @@
+ /* Result generation, appends (ldns_rdf *) after the result. */
+ %typemap(argout, noblock=1) (ldns_rdf **)
+ {
+- $result = SWIG_Python_AppendOutput($result,
++ $result = SWIG_AppendOutput($result,
+ SWIG_NewPointerObj(SWIG_as_voidptr($1_rdf),
+ SWIGTYPE_p_ldns_struct_rdf, SWIG_POINTER_OWN | 0));
+ }
+diff --git a/contrib/python/ldns_resolver.i b/contrib/python/ldns_resolver.i
+index 8468cce3..8d0abc6e 100644
+--- a/contrib/python/ldns_resolver.i
++++ b/contrib/python/ldns_resolver.i
+@@ -45,7 +45,7 @@
+ /* Result generation, appends (ldns_resolver *) after the result. */
+ %typemap(argout,noblock=1) (ldns_resolver **r)
+ {
+- $result = SWIG_Python_AppendOutput($result,
++ $result = SWIG_AppendOutput($result,
+ SWIG_NewPointerObj(SWIG_as_voidptr($1_res),
+ SWIGTYPE_p_ldns_struct_resolver, SWIG_POINTER_OWN | 0 ));
+ }
+diff --git a/contrib/python/ldns_rr.i b/contrib/python/ldns_rr.i
+index 2e0a0714..c53955cf 100644
+--- a/contrib/python/ldns_rr.i
++++ b/contrib/python/ldns_rr.i
+@@ -45,7 +45,7 @@
+ /* Result generation, appends (ldns_rr *) after the result. */
+ %typemap(argout, noblock=1) (ldns_rr **)
+ {
+- $result = SWIG_Python_AppendOutput($result,
++ $result = SWIG_AppendOutput($result,
+ SWIG_NewPointerObj(SWIG_as_voidptr($1_rr),
+ SWIGTYPE_p_ldns_struct_rr, SWIG_POINTER_OWN | 0 ));
+ }
+diff --git a/contrib/python/ldns_zone.i b/contrib/python/ldns_zone.i
+index bbb8d8f2..3459478a 100644
+--- a/contrib/python/ldns_zone.i
++++ b/contrib/python/ldns_zone.i
+@@ -39,7 +39,7 @@
+ /* result generation */
+ %typemap(argout,noblock=1) (ldns_zone **)
+ {
+- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(SWIG_as_voidptr($1_zone), SWIGTYPE_p_ldns_struct_zone, SWIG_POINTER_OWN | 0 ));
++ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(SWIG_as_voidptr($1_zone), SWIGTYPE_p_ldns_struct_zone, SWIG_POINTER_OWN | 0 ));
+ }
+
+ %nodefaultctor ldns_struct_zone; //no default constructor & destructor
diff --git a/net-libs/ldns/files/ldns-1.9.0-std23-bool.patch b/net-libs/ldns/files/ldns-1.9.0-std23-bool.patch
new file mode 100644
index 000000000000..264e6f8e4709
--- /dev/null
+++ b/net-libs/ldns/files/ldns-1.9.0-std23-bool.patch
@@ -0,0 +1,18 @@
+Skip definition of bool on -std=c23 or newer
+https://bugs.gentoo.org/970613
+https://src.fedoraproject.org/rpms/ldns/blob/ee1ebc36cd4e1fdc81b9c43f1107c02e0cceb74e/f/ldns-1.9-std23-bool.patch
+From: Petr Menšík <pemensik@redhat.com>
+
+--- a/ldns/common.h.in
++++ b/ldns/common.h.in
+@@ -40,6 +40,10 @@
+ */
+ /*@ignore@*/
+ /* splint barfs on this construct */
++#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L)
++/* c23 defines bool already and deprecates stdbool.h */
++#define __bool_true_false_are_defined
++#endif
+ #ifndef __bool_true_false_are_defined
+ # ifdef HAVE_STDBOOL_H
+ # include <stdbool.h>
diff --git a/net-libs/ldns/ldns-1.8.4-r1.ebuild b/net-libs/ldns/ldns-1.8.4-r1.ebuild
new file mode 100644
index 000000000000..6ca179cdf409
--- /dev/null
+++ b/net-libs/ldns/ldns-1.8.4-r1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+inherit python-single-r1 multilib-minimal
+
+DESCRIPTION="A library with the aim to simplify DNS programming in C"
+HOMEPAGE="https://www.nlnetlabs.nl/projects/ldns/about/"
+SRC_URI="https://www.nlnetlabs.nl/downloads/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/3"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="test" # missing test directory
+
+BDEPEND="
+ python? (
+ ${PYTHON_DEPS}
+ dev-lang/swig
+ $(python_gen_cond_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
+ )
+ doc? ( app-text/doxygen )
+"
+DEPEND="
+ python? ( ${PYTHON_DEPS} )
+ >=dev-libs/openssl-1.1.1l-r1:0=[${MULTILIB_USEDEP},static-libs?]
+ examples? ( net-libs/libpcap )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+# False positive, always fails, bug #898658
+QA_CONFIG_IMPL_DECL_SKIP+=(
+ ioctlsocket
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/ldns-config
+)
+
+PATCHES=(
+ "${FILESDIR}/ldns-1.8.1-pkgconfig.patch"
+ "${FILESDIR}/ldns-1.8.4-swig-4.3.0.patch"
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_with python pyldns) \
+ $(multilib_native_use_with python pyldnsx) \
+ --with-ssl="${EPREFIX}"/usr \
+ $(multilib_native_with drill) \
+ $(multilib_native_use_with examples) \
+ --disable-rpath
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use doc ; then
+ emake doxygen
+ fi
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use doc ; then
+ dodoc -r doc/html
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README*
+
+ find "${D}" -name '*.la' -delete || die
+ use python && python_optimize
+
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins libdns.vim
+}
diff --git a/net-libs/ldns/ldns-1.9.0.ebuild b/net-libs/ldns/ldns-1.9.0.ebuild
new file mode 100644
index 000000000000..0122613037d1
--- /dev/null
+++ b/net-libs/ldns/ldns-1.9.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+inherit python-single-r1 multilib-minimal
+
+DESCRIPTION="Library that aims to simplify DNS programming in C"
+HOMEPAGE="https://www.nlnetlabs.nl/projects/ldns/about/"
+SRC_URI="https://www.nlnetlabs.nl/downloads/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/3"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="test" # missing test directory
+
+BDEPEND="
+ doc? ( app-text/doxygen )
+ python? (
+ ${PYTHON_DEPS}
+ dev-lang/swig
+ $(python_gen_cond_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
+ )
+"
+DEPEND="
+ >=dev-libs/openssl-1.1.1l-r1:=[${MULTILIB_USEDEP},static-libs?]
+ examples? ( net-libs/libpcap )
+ python? ( ${PYTHON_DEPS} )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+# False positive, always fails, bug #898658
+QA_CONFIG_IMPL_DECL_SKIP+=(
+ ioctlsocket
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/ldns-config
+)
+
+PATCHES=(
+ "${FILESDIR}/ldns-1.8.1-pkgconfig.patch"
+ "${FILESDIR}/ldns-1.9.0-std23-bool.patch" # 970613
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(multilib_native_use_with python pyldns)
+ $(multilib_native_use_with python pyldnsx)
+ --with-ssl="${EPREFIX}"/usr
+ $(multilib_native_with drill)
+ $(multilib_native_use_with examples)
+ --disable-rpath
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use doc ; then
+ emake doxygen
+ fi
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use doc ; then
+ dodoc -r doc/html
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README*
+
+ find "${D}" -name '*.la' -delete || die
+ use python && python_optimize
+
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins libdns.vim
+}
diff --git a/net-libs/ldns/metadata.xml b/net-libs/ldns/metadata.xml
new file mode 100644
index 000000000000..3a373712d1fa
--- /dev/null
+++ b/net-libs/ldns/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ </maintainer>
+ <longdescription lang="en">
+ ldns is a library with the aim to simplify DNS programming in C. All
+ lowlevel DNS/DNSSEC operations are supported. We also define a higher
+ level API which allows a programmer to (for instance) create or sign
+ packets.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>