diff options
| -rw-r--r-- | net-libs/ldns/files/ldns-1.8.4-swig-4.3.0.patch | 127 | ||||
| -rw-r--r-- | net-libs/ldns/ldns-1.8.4-r1.ebuild | 90 |
2 files changed, 217 insertions, 0 deletions
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/ldns-1.8.4-r1.ebuild b/net-libs/ldns/ldns-1.8.4-r1.ebuild new file mode 100644 index 000000000000..45ccd818a83c --- /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_{10..13} ) +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 ~ppc-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 +} |
