From 7e36bd115147dee367a443a2aa5edf374cdd9934 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 13 Oct 2025 07:07:04 +0000 Subject: [PATCH] dev-libs/libuv: Sync with Gentoo It's from Gentoo commit 84a0960fa006493d697c09da3e4532e0cdc2894c. Signed-off-by: Flatcar Buildbot --- .../files/libuv-1.51.0-ppc32-uring.patch | 21 +++++++ .../dev-libs/libuv/libuv-1.51.0-r1.ebuild | 63 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libuv/files/libuv-1.51.0-ppc32-uring.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/files/libuv-1.51.0-ppc32-uring.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/files/libuv-1.51.0-ppc32-uring.patch new file mode 100644 index 0000000000..baef628bb8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/files/libuv-1.51.0-ppc32-uring.patch @@ -0,0 +1,21 @@ +https://bugs.gentoo.org/941738 + +There are reports of this working with libuv-1.51.0 and cmake-4.1.2 but +the fix was likely on the kernel side which means it's not something we +can rely on, especially for an arch like ppc32. + +This could be submitted upstream if we can identify what actually fixed +it and therefore the first good kernel version to check for, as we do +for hppa. +--- a/src/unix/linux.c ++++ b/src/unix/linux.c +@@ -464,6 +464,9 @@ static int uv__use_io_uring(uint32_t flags) { + #elif defined(__powerpc64__) || defined(__ppc64__) + /* See https://github.com/libuv/libuv/issues/4283. */ + return 0; /* Random SIGSEGV in signal handler. */ ++#elif defined(__powerpc__) && !defined(__powerpc64__) ++ /* See https://bugs.gentoo.org/941738. */ ++ return 0; /* Crash in uv__spawn_and_init_child_fork. */ + #else + /* Ternary: unknown=0, yes=1, no=-1 */ + static _Atomic int use_io_uring; diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0-r1.ebuild new file mode 100644 index 0000000000..51b018e5ff --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0-r1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libuv.asc +inherit autotools verify-sig + +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://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz.sign -> ${P}.tar.gz.sig ) + " + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + S="${WORKDIR}/${PN}-v${PV}" +fi + +LICENSE="BSD BSD-2 ISC MIT" +SLOT="0/1" + +BDEPEND=" + dev-build/libtool + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-libuv ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.48.0-test-thread-priority-portage.patch + "${FILESDIR}"/${PN}-1.51.0-ppc32-uring.patch +) + +src_prepare() { + default + + if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then + eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch + fi + + # Upstream fails to ship a configure script and has missing m4 file. + echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \ + > m4/libuv-extra-automake-flags.m4 || die + eautoreconf +} + +src_configure() { + local myeconfargs=( + cc_cv_cflags__g=no + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + find "${ED}" -name '*.la' -delete || die +}