commit:     55bdf7f043be7ef5af52ff4fc35f45134d02e44a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 15 06:03:46 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 15 06:04:14 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=55bdf7f0

net-dns/c-ares: add 1.22.0

While at it, skip the configure tests which take absolutely ages to run (should
be fine on any POSIX system), and enable config caching for the test 
subconfigure.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-dns/c-ares/Manifest             |   2 +
 net-dns/c-ares/c-ares-1.22.0.ebuild | 104 ++++++++++++++++++++++++++++++++++++
 2 files changed, 106 insertions(+)

diff --git a/net-dns/c-ares/Manifest b/net-dns/c-ares/Manifest
index 9075a9c8964e..bd25a92ffae2 100644
--- a/net-dns/c-ares/Manifest
+++ b/net-dns/c-ares/Manifest
@@ -4,3 +4,5 @@ DIST c-ares-1.20.1.tar.gz 1599175 BLAKE2B 
44d160e04dcbd78f0ad7c1f2eb3f34ff07017f
 DIST c-ares-1.20.1.tar.gz.asc 488 BLAKE2B 
5a6a9e60dd3fb675cafbbf60c7b6c75b385786d1171afa9b1effcdf0187dbd044c93f6a0e87f685b5fdf2992892fdd760e2dc3246c196d011c157fc88bbb5ab4
 SHA512 
f0622f6df863c599028f20462fb6f5604f30243f51f382c8430abe2afbf3583cb6ffe527f0a38e646700d753d90fa9a2a4d197a7540b2fc9bed1d779fe3b43df
 DIST c-ares-1.21.0.tar.gz 1623742 BLAKE2B 
708933603dfc6c0286e798b3244eb9d8bce500acb915a255b82e00133509e5c2ceaad6b9b4cd081fcd9193b64fdb72e4e7ff6deeca8eb1744124ab9239cacac0
 SHA512 
c526b0a28d8ea1c6a53215dfd52e8250c968513a667c5414459d97d46288da7e7a2193d757fc78225e56c6684b3d30e756dd3e5a31917e996c871773a34892ea
 DIST c-ares-1.21.0.tar.gz.asc 488 BLAKE2B 
b1985393dfc147abe729b5622c4c92585072173a169947caf1a9521d341dac2119e34691b96e31716df66a251dbba3a5284cddd4c47af0d0bd91e20576d5671e
 SHA512 
0e75e51ebf97ec4ed0880811ddb60f741ea190c2e63011aad9a4233fe4e2481d0c660d401a5cf596fe257930365a366082c2b5faa34bb7b346d147cfc51392ff
+DIST c-ares-1.22.0.tar.gz 1662808 BLAKE2B 
0f70c2cfe9e5076eaa97262a9b34d915d755618dc89884a2d743a0d47827bb99d2a1d1bb655aff92d8c85a19a4420a1e685d91f82b9f7a55cc2feb5daa27fd41
 SHA512 
b84b774090bbeae7ad2eabeb223a12474e42f2efcc4e2209fcda260b1fe29337549eb7827eb7f75475fade65b6e1ab719abdae0ff543309c1914aa9cef65cd01
+DIST c-ares-1.22.0.tar.gz.asc 488 BLAKE2B 
93d378c92aef3ef1bfedc1d09ffb171c735c029c1d0440ea4e154db14b14d7eb68166fb00172dee20a826c39bd112bdc80b66ac23e7eb8bc6c47f0fe8f6fa412
 SHA512 
83c99f7d67a403628e407814c6829fb6ca14c102eec85bf9d3bb628677b3cba61343ca5d4fb06d95f2fa7df55681f3b1aebba2997b91c9156688075a445a1485

diff --git a/net-dns/c-ares/c-ares-1.22.0.ebuild 
b/net-dns/c-ares/c-ares-1.22.0.ebuild
new file mode 100644
index 000000000000..8fbe8498c19b
--- /dev/null
+++ b/net-dns/c-ares/c-ares-1.22.0.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
+inherit edo multilib-minimal verify-sig
+
+DESCRIPTION="C library that resolves names asynchronously"
+HOMEPAGE="https://c-ares.org/";
+SRC_URI="
+       https://c-ares.org/download/${P}.tar.gz
+       verify-sig? ( https://c-ares.org/download/${P}.tar.gz.asc )
+"
+
+# ISC for lib/{bitncmp.c,inet_ntop.c,inet_net_pton.c} (bug #912405)
+LICENSE="MIT ISC"
+# Subslot = SONAME of libcares.so.2
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos 
~x64-macos ~x64-solaris"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-danielstenberg )"
+
+DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES TODO )
+
+MULTILIB_WRAPPED_HEADERS=(
+       /usr/include/ares_build.h
+)
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+       # Checking for obsolete headers
+       malloc
+       calloc
+       free
+
+       # Non-existent on Linux
+       closesocket
+       CloseSocket
+       ioctlsocket
+       bitncmp
+)
+
+multilib_src_configure() {
+       # These configure tests take a long time to run. The args one runs in 
O(n^4).
+       export ac_cv_func_getnameinfo='yes'
+       export ac_cv_func_recvfrom='yes'
+       export ac_cv_func_recv='yes'
+       export ac_cv_func_send='yes'
+       export curl_cv_func_getnameinfo_args='const struct sockaddr 
*,socklen_t,size_t,int'
+       export curl_cv_func_recv_args='int,void *,size_t,int,int'
+       export curl_cv_func_recvfrom_args='int,void *,size_t,int,struct 
sockaddr *,socklen_t *,int'
+       export curl_cv_func_send_args='int,const void *,size_t,int,int'
+       export curl_cv_getnameinfo='yes'
+       export curl_cv_recv='yes'
+       export curl_cv_recvfrom='yes'
+       export curl_cv_send='yes'
+
+       local myeconfargs=(
+               --cache-file="${BUILD_DIR}"/config.cache
+
+               --enable-nonblocking
+               --enable-symbol-hiding
+               $(use_enable static-libs static)
+               $(use_enable test tests)
+       )
+
+       # Needed for running unit tests only
+       # Violates sandbox and tests pass fine without
+       export ax_cv_uts_namespace=no
+       export ax_cv_user_namespace=no
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+       cd "${BUILD_DIR}"/test || die
+
+       # We're skipping the "real" network tests with the filter
+       # see https://github.com/c-ares/c-ares/tree/main/test
+       local network_tests=(
+               # Most live tests have Live in the name
+               *Live*
+               # These don't but are still in ares-test-live.cc => live
+               *GetTCPSock*
+               *TimeoutValue*
+               *GetSock*
+               *GetSock_virtualized*
+               *VerifySocketFunctionCallback*
+               # Seems flaky, even run manually
+               # 
https://github.com/c-ares/c-ares/commit/9e542a8839f81c990bb0dff14beeaf9aa6bcc18d
+               *MockUDPMaxQueriesTest.GetHostByNameParallelLookups*
+       )
+
+       # The format for disabling test1, test2, and test3 looks like:
+       # -test1:test2:test3
+       edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo 
"${network_tests[*]}"))
+}
+
+multilib_src_install_all() {
+       einstalldocs
+
+       find "${ED}" -name "*.la" -delete || die
+}

Reply via email to