diff --git a/net-dns/c-ares/Manifest b/net-dns/c-ares/Manifest index 9075a9c8964e1..bd25a92ffae27 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 0000000000000..8fbe8498c19b5 --- /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 +}