From d2cc25faafdc413cb9b09775c40cb36a716c44a6 Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 2 Jan 2024 05:16:08 +0000 Subject: [PATCH 1/4] www-client/chromium: force LLD for arm64 Closes: https://bugs.gentoo.org/918897 Signed-off-by: Sam James --- .../chromium/chromium-120.0.6099.129.ebuild | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/www-client/chromium/chromium-120.0.6099.129.ebuild b/www-client/chromium/chromium-120.0.6099.129.ebuild index 37c3c0cbb59c6..57deed6f78f7f 100644 --- a/www-client/chromium/chromium-120.0.6099.129.ebuild +++ b/www-client/chromium/chromium-120.0.6099.129.ebuild @@ -1,4 +1,4 @@ -# Copyright 2009-2023 Gentoo Authors +# Copyright 2009-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -23,6 +23,9 @@ GN_MIN_VER=0.2122 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101227 - Chromium 120: # webrtc - no matching member function for call to 'emplace' : ${CHROMIUM_FORCE_LIBCXX=yes} +# This variable is set to yes when building with bfd is broken. +# See bug #918897 for arm64 where bfd can't handle the size. +: ${CHROMIUM_FORCE_LLD=no} VIRTUALX_REQUIRED="pgo" @@ -210,6 +213,13 @@ if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then BDEPEND+=" >=sys-devel/clang-${LLVM_MIN_SLOT}" fi +if [[ ${CHROMIUM_FORCE_LLD} == yes ]]; then + BDEPEND+=" >=sys-devel/lld-${LLVM_MIN_SLOT}" +else + # XXX: Hack for arm64 for bug #918897 + BDEPEND+=" arm64? ( >=sys-devel/lld-${LLVM_MIN_SLOT} )" +fi + if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; fi @@ -247,6 +257,11 @@ python_check_deps() { python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" } +needs_lld() { + # XXX: Temporary hack w/ use arm64 for bug #918897 + [[ ${CHROMIUM_FORCE_LLD} == yes ]] || use arm64 +} + needs_clang() { [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo } @@ -705,7 +720,9 @@ chromium_configure() { fi # Force lld for lto and pgo builds, otherwise disable, bug 641556 - if use lto || use pgo; then + if needs_lld || use lto || use pgo; then + # https://bugs.gentoo.org/918897#c32 + append-ldflags -Wl,--undefined-version myconf_gn+=" use_lld=true" else myconf_gn+=" use_lld=false" From 09dddaf3bf660384d2a390a3db1fc84548af687e Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 2 Jan 2024 05:18:57 +0000 Subject: [PATCH 2/4] profiles/arch: mask dev-lang/php[capstone] on various arches capstone is a bit niche but also fragile. Bug: https://bugs.gentoo.org/919313 Signed-off-by: Sam James --- profiles/arch/alpha/package.use.mask | 6 +++++- profiles/arch/hppa/package.use.mask | 6 +++++- profiles/arch/ia64/package.use.mask | 6 +++++- profiles/arch/mips/package.use.mask | 6 +++++- profiles/arch/s390/package.use.mask | 6 +++++- profiles/arch/sparc/package.use.mask | 6 +++++- 6 files changed, 30 insertions(+), 6 deletions(-) diff --git a/profiles/arch/alpha/package.use.mask b/profiles/arch/alpha/package.use.mask index 3f81f69355f45..55d421be337c8 100644 --- a/profiles/arch/alpha/package.use.mask +++ b/profiles/arch/alpha/package.use.mask @@ -1,6 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-01-02) +# dev-libs/capstone not keyworded here +dev-lang/php capstone + # matoro (2023-11-24) # dev-util/glslang not keyworded here. media-video/ffmpeg glslang diff --git a/profiles/arch/hppa/package.use.mask b/profiles/arch/hppa/package.use.mask index 1ce7e1b2776b2..658ed1841278e 100644 --- a/profiles/arch/hppa/package.use.mask +++ b/profiles/arch/hppa/package.use.mask @@ -1,9 +1,13 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # NOTE: When masking a USE flag due to missing keywords, please file a keyword # request bug for the hppa arch. +# Sam James (2024-01-02) +# dev-libs/capstone not keyworded here +dev-lang/php capstone + # Mart Raudsepp (2023-12-25) # sys-apps/xdg-desktop-portal not keyworded here yet x11-base/xwayland libei diff --git a/profiles/arch/ia64/package.use.mask b/profiles/arch/ia64/package.use.mask index 680f6b55d8fae..120a1d315ecec 100644 --- a/profiles/arch/ia64/package.use.mask +++ b/profiles/arch/ia64/package.use.mask @@ -1,6 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-01-02) +# dev-libs/capstone not keyworded here +dev-lang/php capstone + # David Seifert (2023-12-30) # sys-auth/sssd not keyworded here anymore app-admin/sudo sssd diff --git a/profiles/arch/mips/package.use.mask b/profiles/arch/mips/package.use.mask index e993f73c2bc04..5b09873be1d4d 100644 --- a/profiles/arch/mips/package.use.mask +++ b/profiles/arch/mips/package.use.mask @@ -1,6 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-01-02) +# dev-libs/capstone not keyworded here +dev-lang/php capstone + # matoro (2023-12-22) # Overflows R_MIPS_TLS_GOTTPREL with LTO # https://github.com/rust-lang/rust/issues/118794 diff --git a/profiles/arch/s390/package.use.mask b/profiles/arch/s390/package.use.mask index 3cebaa1e8f688..fdb185a70ce37 100644 --- a/profiles/arch/s390/package.use.mask +++ b/profiles/arch/s390/package.use.mask @@ -1,6 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-01-02) +# dev-libs/capstone not keyworded here +dev-lang/php capstone + # Mart Raudsepp (2023-12-25) # sys-apps/xdg-desktop-portal not keyworded here yet x11-base/xwayland libei diff --git a/profiles/arch/sparc/package.use.mask b/profiles/arch/sparc/package.use.mask index 94e90a480ac64..abd50b489fe4a 100644 --- a/profiles/arch/sparc/package.use.mask +++ b/profiles/arch/sparc/package.use.mask @@ -1,6 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-01-02) +# dev-libs/capstone not keyworded here +dev-lang/php capstone + # Mart Raudsepp (2023-12-25) # sys-apps/xdg-desktop-portal not keyworded here yet x11-base/xwayland libei From 2a717430d8311c0eea224d1165dcce536d1f1b3e Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 2 Jan 2024 05:19:39 +0000 Subject: [PATCH 3/4] dev-lang/php: keyword 8.3.0-r1 Closes: https://bugs.gentoo.org/919313 Signed-off-by: Sam James --- dev-lang/php/php-8.3.0-r1.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev-lang/php/php-8.3.0-r1.ebuild b/dev-lang/php/php-8.3.0-r1.ebuild index c694a628967e9..c5abc844f96ba 100644 --- a/dev-lang/php/php-8.3.0-r1.ebuild +++ b/dev-lang/php/php-8.3.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -20,7 +20,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" # We can build the following SAPIs in the given order SAPIS="embed cli cgi fpm apache2 phpdbg" From 11b322b55f20ad061ceda1bcd623bbb03121eace Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 2 Jan 2024 05:20:17 +0000 Subject: [PATCH 4/4] profiles/arch/sparc: drop stale clang mask Signed-off-by: Sam James --- profiles/arch/sparc/package.use.mask | 1 - 1 file changed, 1 deletion(-) diff --git a/profiles/arch/sparc/package.use.mask b/profiles/arch/sparc/package.use.mask index abd50b489fe4a..e1f33e6162093 100644 --- a/profiles/arch/sparc/package.use.mask +++ b/profiles/arch/sparc/package.use.mask @@ -216,7 +216,6 @@ dev-cpp/eigen test # Sam James (2021-04-27) # Deps not yet tested/keyworded. -sys-devel/clang default-compiler-rt default-lld sys-devel/clang-common default-compiler-rt default-lld sys-devel/clang-runtime compiler-rt sys-devel/llvm z3