diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest index 0e61e6ca0a..e84f057fa9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest @@ -1,3 +1,4 @@ DIST libuv-1.44.2.tar.gz 1309062 BLAKE2B 883a1fbffcd8f55bf28ea5a79ed18aa3e2f2fac126285e8aca2ef9370eafc62f69f95ddb8bf27d4159e038bfb0a01abafdf0dadbc4309e5d31f0e77057ee84ac SHA512 d21c890787b0b364fafa5fc0cbbff296bc2ca269e1991d2f7f35fcb37b8634da377466f5af5a4245425fcf876ae6870d100ab32b12bce64f8e0b01fd25a1bc83 DIST libuv-1.45.0.tar.gz 1307245 BLAKE2B fcd9aad052cf641e5e974b1e3c47bef7968474f4b0e38363559719a164867ce6e67630c1d0fd0386da22ba5b82e35c6ca946b7509a8a08f08f972388e70a40b9 SHA512 a156dd0ed06bc7c50515f46ef6e5636d870288636f442ce9ec46716e22fdaa664ce49e432f4737c81e9c6013b34ed150e7420ab9fc316ed23281096954359774 DIST libuv-1.46.0.tar.gz 1311065 BLAKE2B fd492b6ca873a08ad4df7561b9d83a09d9bd2cbc10c17265c02982a231edb5c6d71698aecc9a14d455ea230f9e791807f42561d8b3c96e37edb4a709860859b0 SHA512 e3a7c10ffd909f9b128fb2316e09b8456e87278107178b49368f31ba30e7f62d64e7eba650cc59ef2d7eb178199c7a2c5b5c99b333849200492235116d7aee7a +DIST libuv-1.47.0.tar.gz 1316016 BLAKE2B 6c530f8625366a9bf3f99ac4eb6b3bf3d4f6a05f98848e08cdab884934d79862cf8e79dd2d506ec734d701faab517eba2215063dce4b4216add5cfd6bfebd82e SHA512 3d0e76c4e29c5de14fddda07409f8db30dc64261d1c0bdfce7f70eb8f5ac911707fe662e81c4f117e4068cb0728158fc2b8255f8aa497c0f688e46c7fb93a5b3 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch new file mode 100644 index 0000000000..1871ae2213 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch @@ -0,0 +1,32 @@ +https://github.com/libuv/libuv/commit/f1444293652cf5478a67b9305271d73ad6d36232 + +From f1444293652cf5478a67b9305271d73ad6d36232 Mon Sep 17 00:00:00 2001 +From: matoro <12038583+matoro@users.noreply.github.com> +Date: Wed, 15 Nov 2023 17:57:06 -0500 +Subject: [PATCH] linux: disable io_uring on hppa below kernel 6.1.51 (#4224) + +First kernel with support is 6.1, was only fully functional from .51 +onwards: https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526905@gmx.de/ + +Co-authored-by: matoro +--- a/src/unix/linux.c ++++ b/src/unix/linux.c +@@ -487,8 +487,16 @@ static int uv__use_io_uring(void) { + use = atomic_load_explicit(&use_io_uring, memory_order_relaxed); + + if (use == 0) { ++ use = uv__kernel_version() >= ++#if defined(__hppa__) ++ /* io_uring first supported on parisc in 6.1, functional in .51 */ ++ /* https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526905@gmx.de/ */ ++ /* 6.1.51 */ 0x060133 ++#else + /* Older kernels have a bug where the sqpoll thread uses 100% CPU. */ +- use = uv__kernel_version() >= /* 5.10.186 */ 0x050ABA ? 1 : -1; ++ /* 5.10.186 */ 0x050ABA ++#endif ++ ? 1 : -1; + + /* But users can still enable it if they so desire. */ + val = getenv("UV_USE_IO_URING"); + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/files/libuv-1.47.0-ipv6-tests.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/files/libuv-1.47.0-ipv6-tests.patch new file mode 100644 index 0000000000..20176dc7ab --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/files/libuv-1.47.0-ipv6-tests.patch @@ -0,0 +1,54 @@ +https://github.com/libuv/libuv/issues/4211 +https://github.com/libuv/libuv/pull/4220 +https://github.com/libuv/libuv/commit/54d8364c2406758b572621af381f1d83e01ae46c + +From 54d8364c2406758b572621af381f1d83e01ae46c Mon Sep 17 00:00:00 2001 +From: Ben Noordhuis +Date: Tue, 14 Nov 2023 22:09:30 +0100 +Subject: [PATCH] test: check if ipv6 link-local traffic is routable (#4220) + +Fixes: https://github.com/libuv/libuv/issues/4211 +--- a/test/test-tcp-connect6-error.c ++++ b/test/test-tcp-connect6-error.c +@@ -23,6 +23,7 @@ + #include "task.h" + #include + #include ++#include + + + static int connect_cb_called = 0; +@@ -75,9 +76,13 @@ TEST_IMPL(tcp_connect6_error_fault) { + + + TEST_IMPL(tcp_connect6_link_local) { ++ uv_interface_address_t* ifs; ++ uv_interface_address_t* p; + struct sockaddr_in6 addr; + uv_connect_t req; + uv_tcp_t server; ++ int ok; ++ int n; + + if (!can_ipv6()) + RETURN_SKIP("IPv6 not supported"); +@@ -90,6 +95,18 @@ TEST_IMPL(tcp_connect6_link_local) { + RETURN_SKIP("Test does not currently work in QEMU"); + #endif /* defined(__QEMU__) */ + ++ /* Check there's an interface that routes link-local (fe80::/10) traffic. */ ++ ASSERT_OK(uv_interface_addresses(&ifs, &n)); ++ for (p = ifs; p < &ifs[n]; p++) ++ if (p->address.address6.sin6_family == AF_INET6) ++ if (!memcmp(&p->address.address6.sin6_addr, "\xfe\x80", 2)) ++ break; ++ ok = (p < &ifs[n]); ++ uv_free_interface_addresses(ifs, n); ++ ++ if (!ok) ++ RETURN_SKIP("IPv6 link-local traffic not supported"); ++ + ASSERT_OK(uv_ip6_addr("fe80::0bad:babe", 1337, &addr)); + ASSERT_OK(uv_tcp_init(uv_default_loop(), &server)); + + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.45.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.45.0.ebuild index 0028ef084a..56efb65845 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.45.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.45.0.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} = 9999* ]]; then inherit git-r3 else SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz" - 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" + 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" fi LICENSE="BSD BSD-2 ISC MIT" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.46.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.46.0.ebuild index 6a05fb8e9a..ebc3bbc848 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.46.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.46.0.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} = 9999* ]]; then inherit git-r3 else SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz" - 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" + 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" fi LICENSE="BSD BSD-2 ISC MIT" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.47.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.47.0-r1.ebuild new file mode 100644 index 0000000000..879df48c15 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.47.0-r1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Cross-platform asychronous I/O" +HOMEPAGE="https://github.com/libuv/libuv" + +if [[ ${PV} = 9999* ]]; then + EGIT_REPO_URI="https://github.com/libuv/libuv.git" + inherit git-r3 +else + SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz" + 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" +fi + +LICENSE="BSD BSD-2 ISC MIT" +SLOT="0/1" + +BDEPEND=" + sys-devel/libtool + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${P}-ipv6-tests.patch + "${FILESDIR}"/${P}-hppa-kernel.patch +) + +src_prepare() { + default + + echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \ + > m4/libuv-extra-automake-flags.m4 || die + + if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then + eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch + fi + + # Upstream fails to ship a configure script + eautoreconf +} + +src_configure() { + local myeconfargs=( + cc_cv_cflags__g=no + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-9999.ebuild index 771fe56d3e..0028ef084a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ if [[ ${PV} = 9999* ]]; then inherit git-r3 else SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + 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" fi LICENSE="BSD BSD-2 ISC MIT"