From: "orbea" <orbea@riseup.net>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/libressl:master commit in: net-libs/ldns/, net-libs/ldns/files/
Date: Sun, 25 Feb 2024 02:42:43 +0000 (UTC) [thread overview]
Message-ID: <1708827808.804b4ed6affd8106a3b1453af5ff26c1b22a5471.orbea@gentoo> (raw)
commit: 804b4ed6affd8106a3b1453af5ff26c1b22a5471
Author: orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Sun Feb 25 02:23:28 2024 +0000
Commit: orbea <orbea <AT> riseup <DOT> net>
CommitDate: Sun Feb 25 02:23:28 2024 +0000
URL: https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=804b4ed6
net-libs/ldns: add 1.8.3-r2
Signed-off-by: orbea <orbea <AT> riseup.net>
net-libs/ldns/files/ldns-1.8.3-swig-4.2.0.patch | 101 ++++++++++++++++++++++++
net-libs/ldns/ldns-1.8.3-r2.ebuild | 96 ++++++++++++++++++++++
2 files changed, 197 insertions(+)
diff --git a/net-libs/ldns/files/ldns-1.8.3-swig-4.2.0.patch b/net-libs/ldns/files/ldns-1.8.3-swig-4.2.0.patch
new file mode 100644
index 0000000..8165371
--- /dev/null
+++ b/net-libs/ldns/files/ldns-1.8.3-swig-4.2.0.patch
@@ -0,0 +1,101 @@
+https://bugs.gentoo.org/921302
+https://github.com/NLnetLabs/ldns/pull/232
+https://github.com/NLnetLabs/ldns/pull/233
+
+From daf38095763f758c77be538da25c267dc5cb73c8 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Fri, 26 Jan 2024 11:30:39 +0100
+Subject: [PATCH] SWIG_Python_str_AsChar removal in SWIG 4.2.0
+
+The replacement, SWIG_PyUnicode_AsUTF8AndSize, has different
+memory management requirements.
+---
+ contrib/python/ldns_rdf.i | 21 +++++++++++++++++++--
+ 1 file changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/contrib/python/ldns_rdf.i b/contrib/python/ldns_rdf.i
+index 5d7448fd..60daf1a7 100644
+--- a/contrib/python/ldns_rdf.i
++++ b/contrib/python/ldns_rdf.i
+@@ -56,7 +56,11 @@
+ */
+ %typemap(arginit, noblock=1) const ldns_rdf *
+ {
++#if SWIG_VERSION >= 0x040200
++ PyObject *$1_bytes = NULL;
++#else
+ char *$1_str = NULL;
++#endif
+ }
+
+ /*
+@@ -66,11 +70,17 @@
+ %typemap(in, noblock=1) const ldns_rdf * (void* argp, $1_ltype tmp = 0, int res)
+ {
+ if (Python_str_Check($input)) {
++ const char *argstr;
++#if SWIG_VERSION >= 0x040200
++ argstr = SWIG_PyUnicode_AsUTF8AndSize($input, NULL, &$1_bytes);
++#else
+ $1_str = SWIG_Python_str_AsChar($input);
+- if ($1_str == NULL) {
++ argstr = $1_str;
++#endif
++ if (argstr == NULL) {
+ %argument_fail(SWIG_TypeError, "char *", $symname, $argnum);
+ }
+- tmp = ldns_dname_new_frm_str($1_str);
++ tmp = ldns_dname_new_frm_str(argstr);
+ if (tmp == NULL) {
+ %argument_fail(SWIG_TypeError, "char *", $symname, $argnum);
+ }
+@@ -90,10 +100,17 @@
+ */
+ %typemap(freearg, noblock=1) const ldns_rdf *
+ {
++#if SWIG_VERSION >= 0x040200
++ if ($1_bytes != NULL) {
++ /* Is not NULL only when a conversion form string occurred. */
++ Py_XDECREF($1_bytes);
++ }
++#else
+ if ($1_str != NULL) {
+ /* Is not NULL only when a conversion form string occurred. */
+ SWIG_Python_str_DelForPy3($1_str); /* Is a empty macro for Python < 3. */
+ }
++#endif
+ }
+
+ %nodefaultctor ldns_struct_rdf; /* No default constructor. */
+
+From f91f61e10be595a6a46845112aaed7da24551bf9 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Fri, 26 Jan 2024 11:57:03 +0100
+Subject: [PATCH] 32-bit compatibility for Python SWIG bindings
+
+The ssize_t type can be int instead of long, and the pointer
+types are incompatible.
+---
+ contrib/python/ldns.i | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/contrib/python/ldns.i b/contrib/python/ldns.i
+index 881ba5e85..b4a740820 100644
+--- a/contrib/python/ldns.i
++++ b/contrib/python/ldns.i
+@@ -99,12 +99,14 @@
+ %typemap(in, noblock=1) (ssize_t)
+ {
+ int $1_res = 0;
+- $1_res = SWIG_AsVal_long($input, &$1);
++ long val;
++ $1_res = SWIG_AsVal_long($input, &val);
+ if (!SWIG_IsOK($1_res)) {
+ SWIG_exception_fail(SWIG_ArgError($1_res), "in method '"
+ "$symname" "', argument " "$argnum" " of type '"
+ "$type""'");
+ }
++ $1 = val;
+ }
+
+
diff --git a/net-libs/ldns/ldns-1.8.3-r2.ebuild b/net-libs/ldns/ldns-1.8.3-r2.ebuild
new file mode 100644
index 0000000..24228b9
--- /dev/null
+++ b/net-libs/ldns/ldns-1.8.3-r2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit autotools python-single-r1 multilib-minimal
+
+DESCRIPTION="A library with the aim to simplify DNS programming in C"
+HOMEPAGE="https://www.nlnetlabs.nl/projects/ldns/"
+SRC_URI="https://www.nlnetlabs.nl/downloads/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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? ( dev-lang/swig )
+ 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}
+ !<net-dns/ldns-utils-1.8.0-r2
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/ldns-config
+)
+
+PATCHES=(
+ "${FILESDIR}/ldns-1.8.1-pkgconfig.patch"
+ "${FILESDIR}/${P}-docs.patch"
+ "${FILESDIR}/${P}-configure-strict.patch"
+ "${FILESDIR}/${PN}-1.8.3-swig-4.2.0.patch"
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Drop after 1.8.3
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # "OpenSSL does not support offline DANE verification (Needed for the
+ # DANE-TA usage type). Please upgrade OpenSSL to version >= 1.1.0 or rerun
+ # with --disable-dane-verify or --disable-dane-ta-usage"
+
+ 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-dane-ta-usage \
+ --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
+}
next reply other threads:[~2024-02-25 2:42 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-25 2:42 orbea [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-04-12 2:16 [gentoo-commits] repo/proj/libressl:master commit in: net-libs/ldns/, net-libs/ldns/files/ orbea
2023-04-12 2:16 orbea
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1708827808.804b4ed6affd8106a3b1453af5ff26c1b22a5471.orbea@gentoo \
--to=orbea@riseup.net \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox