commit:     277a3c5350b88415653ecb1ee30aed60ddcc647a
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Wed Apr 12 00:26:28 2023 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Wed Apr 12 02:07:22 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=277a3c53

net-libs/ldns: Add 1.8.3 + 1.8.3-r1

Signed-off-by: orbea <orbea <AT> riseup.net>

 net-libs/ldns/Manifest                             |   1 +
 .../ldns/files/ldns-1.8.3-configure-strict.patch   | 139 +++++++++++++++++++++
 net-libs/ldns/files/ldns-1.8.3-docs.patch          |  95 ++++++++++++++
 net-libs/ldns/ldns-1.8.3-r1.ebuild                 |  95 ++++++++++++++
 net-libs/ldns/ldns-1.8.3.ebuild                    |  95 ++++++++++++++
 5 files changed, 425 insertions(+)

diff --git a/net-libs/ldns/Manifest b/net-libs/ldns/Manifest
index fae7322..119f748 100644
--- a/net-libs/ldns/Manifest
+++ b/net-libs/ldns/Manifest
@@ -1,3 +1,4 @@
 DIST ldns-1.7.1.tar.gz 1244394 BLAKE2B 
8f2d9c6e34c4f13924ce1531a5757c4a619fc31ebc5a0a3d4aaf43fcfc8b53e8f371984b1c60ab74f735a05a9ca0710fc29a40fffeaef66eb54395eb3a727a0d
 SHA512 
e8f72a4ff4aa544acac5e7be9a8ba38c6b8d388bb26f9a0ed04c1a921622f8582cc8539beafc76a29187a55c94069b7c1875e77522e1a7e7bb3e297dd1e4c2b7
 DIST ldns-1.8.0.tar.gz 1283220 BLAKE2B 
f916a8c76d788ac7c52aea8bfe675ad4c614a0c6fb011b61f5a27d4a5dc1a2adb33b5c6992b4813b3758c9b7cceab1c77f8c1d66baaa4de993f23888bce69df1
 SHA512 
54b306160bb7fd76d181f4be0a13134017f6f98ae96e0c954409f31f262e9dbe611c4b76fb6dff47bb6155c652ed8d026b52a50dfcf611e54d9c204b314c4fd6
 DIST ldns-1.8.1.tar.gz 1284971 BLAKE2B 
ae01ef32571fe3996ddd41f911815239abb704ea1dee479fa612bfd701ca369222ab709923f014662248988cb4452a75bc5debad47d2b0386dc59169b353e6a3
 SHA512 
600f8e221716742caf439a425008827aef1814fc1d9e751f8f492d0235ff45ca48df90abba17979bac9f4485947bb9fe8102924d9cebe6cb56d5b788e1c4bd14
+DIST ldns-1.8.3.tar.gz 1299856 BLAKE2B 
2250445da3beec76c96fbb5cbc00f8d6a5bb6ed5867da7f23511d46ac73d6101303eb6ad85def426b7f9287f6a629a95117bcfa6eb46b775d07ed84048162c7f
 SHA512 
c318747bd975ade389d048680b80495fb083b46507d8dcea7d4d42c75823f56a35b438dcc5320803d39583e5a1e515a51686f7f9010c061a6e8199e1a5505ae9

diff --git a/net-libs/ldns/files/ldns-1.8.3-configure-strict.patch 
b/net-libs/ldns/files/ldns-1.8.3-configure-strict.patch
new file mode 100644
index 0000000..37b8095
--- /dev/null
+++ b/net-libs/ldns/files/ldns-1.8.3-configure-strict.patch
@@ -0,0 +1,139 @@
+https://github.com/NLnetLabs/ldns/commit/59af7359ed744327aaf0deb2e6ac90fe9e191ba6
+
+From 59af7359ed744327aaf0deb2e6ac90fe9e191ba6 Mon Sep 17 00:00:00 2001
+From: Sam James <[email protected]>
+Date: Sat, 19 Nov 2022 01:31:57 +0000
+Subject: [PATCH] acx_nlnetlabs.m4: fix -Wstrict-prototypes
+
+Fix -Wstrict-prototypes as it's easy to do and avoids future warnings. Noticed
+when doing Clang 16 / GCC 14 / C23 work.
+
+For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki 
[2],
+or the (new) c-std-porting mailing list [3].
+
+[0] https://lwn.net/Articles/913505/
+[1] 
https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213
+[2] https://wiki.gentoo.org/wiki/Modern_C_porting
+[3] hosted at lists.linux.dev.
+
+Signed-off-by: Sam James <[email protected]>
+--- a/acx_nlnetlabs.m4
++++ b/acx_nlnetlabs.m4
+@@ -183,7 +183,7 @@ dnl cache=`echo $1 | sed 'y%.=/+- %___p__%'`
+ AC_CACHE_VAL(cv_prog_cc_flag_needed_$cache,
+ [
+ echo '$2' > conftest.c
+-echo 'void f(){}' >>conftest.c
++echo 'void f(void){}' >>conftest.c
+ if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
+ eval "cv_prog_cc_flag_needed_$cache=no"
+ else
+@@ -229,7 +229,7 @@ dnl DEPFLAG: set to flag that generates dependencies.
+ AC_DEFUN([ACX_DEPFLAG],
+ [
+ AC_MSG_CHECKING([$CC dependency flag])
+-echo 'void f(){}' >conftest.c
++echo 'void f(void){}' >conftest.c
+ if test "`$CC -MM conftest.c 2>&1`" = "conftest.o: conftest.c"; then
+       DEPFLAG="-MM"
+ else 
+@@ -268,7 +268,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED($C99FLAG -D__EXTENSIONS__ 
-D_BSD_SOURCE -D_DEFAUL
+ #include <getopt.h>
+ #endif
+ 
+-int test() {
++int test(void) {
+       int a;
+       char **opts = NULL;
+       struct timeval tv;
+@@ -305,7 +305,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED($C99FLAG -D__EXTENSIONS__ 
-D_BSD_SOURCE -D_DEFAUL
+ #include <getopt.h>
+ #endif
+ 
+-int test() {
++int test(void) {
+       int a;
+       char **opts = NULL;
+       struct timeval tv;
+@@ -331,7 +331,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED($C99FLAG,
+ [
+ #include <stdbool.h>
+ #include <ctype.h>
+-int test() {
++int test(void) {
+         int a = 0;
+         return a;
+ }
+@@ -341,7 +341,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED(-D_BSD_SOURCE 
-D_DEFAULT_SOURCE,
+ [
+ #include <ctype.h>
+ 
+-int test() {
++int test(void) {
+         int a;
+         a = isascii(32);
+         return a;
+@@ -352,7 +352,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED(-D_GNU_SOURCE,
+ [
+ #include <netinet/in.h>
+ 
+-int test() {
++int test(void) {
+         struct in6_pktinfo inf;
+       int a = (int)sizeof(inf);
+         return a;
+@@ -366,7 +366,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED(-D_GNU_SOURCE -D_FRSRESGID,
+ [
+ #include <unistd.h>
+ 
+-int test() {
++int test(void) {
+       int a = setresgid(0,0,0);
+       a = setresuid(0,0,0);
+         return a;
+@@ -381,7 +381,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED(-D_POSIX_C_SOURCE=200112,
+ #endif
+ #include <netdb.h>
+ 
+-int test() {
++int test(void) {
+         int a = 0;
+         char *t;
+         time_t time = 0;
+@@ -409,7 +409,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED(-D__EXTENSIONS__,
+ #include <getopt.h>
+ #endif
+ 
+-int test() {
++int test(void) {
+         int a;
+         char **opts = NULL;
+         struct timeval tv;
+@@ -809,7 +809,7 @@ dnl try to see if an additional _LARGEFILE_SOURCE 1 is 
needed to get fseeko
+ ACX_CHECK_COMPILER_FLAG_NEEDED(-D_LARGEFILE_SOURCE=1,
+ [
+ #include <stdio.h>
+-int test() {
++int test(void) {
+         int a = fseeko(stdin, 0, 0);
+         return a;
+ }
+@@ -834,7 +834,7 @@ char* (*f) () = getaddrinfo;
+ #ifdef __cplusplus
+ }
+ #endif
+-int main() {
++int main(void) {
+         ;
+         return 0;
+ }
+@@ -898,7 +898,7 @@ cache=`echo $1 | sed 'y%.=/+-%___p_%'`
+ AC_CACHE_VAL(cv_cc_deprecated_$cache,
+ [
+ echo '$3' >conftest.c
+-echo 'void f(){ $2 }' >>conftest.c
++echo 'void f(void){ $2 }' >>conftest.c
+ if test -z "`$CC $CPPFLAGS $CFLAGS -c conftest.c 2>&1 | grep -e deprecated -e 
unavailable`"; then
+ eval "cv_cc_deprecated_$cache=no"
+ else
+

diff --git a/net-libs/ldns/files/ldns-1.8.3-docs.patch 
b/net-libs/ldns/files/ldns-1.8.3-docs.patch
new file mode 100644
index 0000000..6b4e758
--- /dev/null
+++ b/net-libs/ldns/files/ldns-1.8.3-docs.patch
@@ -0,0 +1,95 @@
+https://bugs.gentoo.org/892065
+https://github.com/NLnetLabs/ldns/commit/5d5c95a947d98dd292ba81e95ca90ba6aeccb1d0
+
+From 5d5c95a947d98dd292ba81e95ca90ba6aeccb1d0 Mon Sep 17 00:00:00 2001
+From: Willem Toorop <[email protected]>
+Date: Mon, 5 Sep 2022 10:01:18 +0200
+Subject: [PATCH] Fix building documentation in build directory.
+
+Thanks Michael Tokarev
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -270,7 +270,7 @@ doxygen:
+       @if test ! -e doc/header.html ; then \
+               $(INSTALL) -c -m 644 $(srcdir)/doc/header.html doc/ ; \
+       fi ;
+-      $(doxygen) $(srcdir)/libdns.doxygen
++      $(doxygen) libdns.doxygen
+ 
+ doc: manpages $(doxygen)
+       @$(INSTALL) -d doc
+--- a/ldns/net.h.in
++++ b/ldns/net.h.in
+@@ -91,13 +91,12 @@ int ldns_tcp_bgsend(ldns_buffer *qbin, const struct 
sockaddr_storage *to, sockle
+ 
+ /**
+  * Sends a buffer to an ip using tcp and return the response as a ldns_pkt
+- * \param[in] qbin the ldns_buffer to be send
++ * \param[out] result packet with the answer
+  * \param[in] qbin the ldns_buffer to be send
+  * \param[in] to the ip addr to send to
+  * \param[in] tolen length of the ip addr
+  * \param[in] timeout the timeout value for the network
+  * \param[out] answersize size of the packet
+- * \param[out] result packet with the answer
+  * \return status
+  */
+ ldns_status ldns_tcp_send(uint8_t **result, ldns_buffer *qbin, const struct 
sockaddr_storage *to, socklen_t tolen, struct timeval timeout, size_t 
*answersize);
+--- a/libdns.doxygen.in
++++ b/libdns.doxygen.in
+@@ -51,7 +51,7 @@ PROJECT_BRIEF          =
+ # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
+ # the logo to the output directory.
+ 
+-PROJECT_LOGO           = doc/images/LogoInGradientBar2-y100.png
++PROJECT_LOGO           = @srcdir@/doc/images/LogoInGradientBar2-y100.png
+ 
+ # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+ # into which the generated documentation will be written. If a relative path 
is
+@@ -854,12 +854,12 @@ WARN_LOGFILE           =
+ # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
+ # Note: If this tag is empty the current directory is searched.
+ 
+-INPUT                  = . \
+-                         ldns/ \
+-                         doc/ \
+-                         examples/ldns-mx.c \
+-                         examples/ldns-read-zone.c \
+-                         examples/ldns-signzone.c
++INPUT                  = ldns/ \
++                         @srcdir@/doc/ \
++                         @srcdir@/examples/ldns-mx.c \
++                         @srcdir@/examples/ldns-read-zone.c \
++                         @srcdir@/examples/ldns-signzone.c \
++                         @srcdir@
+ 
+ # This tag can be used to specify the character encoding of the source files
+ # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen 
uses
+@@ -936,7 +936,7 @@ EXCLUDE_SYMBOLS        =
+ # that contain example code fragments that are included (see the \include
+ # command).
+ 
+-EXAMPLE_PATH           = examples
++EXAMPLE_PATH           = @srcdir@/examples
+ 
+ # If the value of the EXAMPLE_PATH tag contains directories, you can use the
+ # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+@@ -956,7 +956,7 @@ EXAMPLE_RECURSIVE      = NO
+ # that contain images that are to be included in the documentation (see the
+ # \image command).
+ 
+-IMAGE_PATH             = doc/images
++IMAGE_PATH             = @srcdir@/doc/images
+ 
+ # The INPUT_FILTER tag can be used to specify a program that doxygen should
+ # invoke to filter for each input file. Doxygen will invoke the filter program
+@@ -1798,7 +1798,7 @@ COMPACT_LATEX          = NO
+ # The default value is: a4.
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
+ 
+-PAPER_TYPE             = a4wide
++PAPER_TYPE             = a4
+ 
+ # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package 
names
+ # that should be included in the LaTeX output. The package can be specified 
just
+

diff --git a/net-libs/ldns/ldns-1.8.3-r1.ebuild 
b/net-libs/ldns/ldns-1.8.3-r1.ebuild
new file mode 100644
index 0000000..777ec55
--- /dev/null
+++ b/net-libs/ldns/ldns-1.8.3-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..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-doc/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"
+)
+
+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
+}

diff --git a/net-libs/ldns/ldns-1.8.3.ebuild b/net-libs/ldns/ldns-1.8.3.ebuild
new file mode 100644
index 0000000..7848215
--- /dev/null
+++ b/net-libs/ldns/ldns-1.8.3.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10} )
+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-doc/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"
+)
+
+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
+}

Reply via email to