commit: 1b40c2dc50ed4e09d413563e0bbcd519f90f3c3d Author: Matt Jolly <kangie <AT> gentoo <DOT> org> AuthorDate: Wed Jan 15 12:05:05 2025 +0000 Commit: Matt Jolly <kangie <AT> gentoo <DOT> org> CommitDate: Thu Jan 16 08:00:17 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b40c2dc
www-client/chromium: depend on compiler-rt-sanitizers[cfi] We enable CFI with USE=official when LTO is enabled. While most profiles enable USE=cfi anyway, we can be more specific and ensure that the USE is enabled when CFI is likely to be enabled - we can't do that based on LTO so USE=official will serve as a reasonable proxy. Since llvm/runtimes/compiler-rt-sanitizers[cfi] is not available on ppc64, special-case that arch and do not enable CFI. Closes: https://bugs.gentoo.org/946853 Signed-off-by: Matt Jolly <kangie <AT> gentoo.org> www-client/chromium/chromium-130.0.6723.116-r1.ebuild | 18 +++++++++++------- www-client/chromium/chromium-131.0.6778.139.ebuild | 11 +++++++++-- www-client/chromium/chromium-131.0.6778.204.ebuild | 11 +++++++++-- www-client/chromium/chromium-131.0.6778.264.ebuild | 9 ++++++++- www-client/chromium/chromium-132.0.6834.83.ebuild | 9 ++++++++- www-client/chromium/chromium-133.0.6943.6.ebuild | 9 ++++++++- 6 files changed, 53 insertions(+), 14 deletions(-) diff --git a/www-client/chromium/chromium-130.0.6723.116-r1.ebuild b/www-client/chromium/chromium-130.0.6723.116-r1.ebuild index ae7bc679a437..dd7163ac2a8a 100644 --- a/www-client/chromium/chromium-130.0.6723.116-r1.ebuild +++ b/www-client/chromium/chromium-130.0.6723.116-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2009-2024 Gentoo Authors +# Copyright 2009-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -175,11 +175,11 @@ BDEPEND=" qt5? ( dev-qt/qtcore:5 ) qt6? ( dev-qt/qtbase:6 ) ) - $(llvm_gen_dep " - llvm-core/clang:\${LLVM_SLOT} - llvm-core/llvm:\${LLVM_SLOT} - llvm-core/lld:\${LLVM_SLOT} - ") + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + ') pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 @@ -1073,7 +1073,11 @@ chromium_configure() { # Allow building against system libraries in official builds sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ tools/generate_shim_headers/generate_shim_headers.py || die - myconf_gn+=" is_cfi=${use_lto}" + if use ppc64; then + myconf_gn+=" is_cfi=no" # requires llvm-runtimes/compiler-rt-sanitizers[cfi] + else + myconf_gn+=" is_cfi=${use_lto}" + fi # Don't add symbols to build myconf_gn+=" symbol_level=0" fi diff --git a/www-client/chromium/chromium-131.0.6778.139.ebuild b/www-client/chromium/chromium-131.0.6778.139.ebuild index 2fbee807309f..c543447a0c0a 100644 --- a/www-client/chromium/chromium-131.0.6778.139.ebuild +++ b/www-client/chromium/chromium-131.0.6778.139.ebuild @@ -1,4 +1,4 @@ -# Copyright 2009-2024 Gentoo Authors +# Copyright 2009-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -179,6 +179,9 @@ BDEPEND=" llvm-core/clang:${LLVM_SLOT} llvm-core/llvm:${LLVM_SLOT} llvm-core/lld:${LLVM_SLOT} + official? ( + !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) + ) ') pgo? ( >=dev-python/selenium-3.141.0 @@ -1085,7 +1088,11 @@ chromium_configure() { # Allow building against system libraries in official builds sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ tools/generate_shim_headers/generate_shim_headers.py || die - myconf_gn+=" is_cfi=${use_lto}" + if use ppc64; then + myconf_gn+=" is_cfi=no" # requires llvm-runtimes/compiler-rt-sanitizers[cfi] + else + myconf_gn+=" is_cfi=${use_lto}" + fi # Don't add symbols to build myconf_gn+=" symbol_level=0" fi diff --git a/www-client/chromium/chromium-131.0.6778.204.ebuild b/www-client/chromium/chromium-131.0.6778.204.ebuild index 9704b68b736c..4c4e2fa9cc7c 100644 --- a/www-client/chromium/chromium-131.0.6778.204.ebuild +++ b/www-client/chromium/chromium-131.0.6778.204.ebuild @@ -1,4 +1,4 @@ -# Copyright 2009-2024 Gentoo Authors +# Copyright 2009-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -179,6 +179,9 @@ BDEPEND=" llvm-core/clang:${LLVM_SLOT} llvm-core/llvm:${LLVM_SLOT} llvm-core/lld:${LLVM_SLOT} + official? ( + !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) + ) ') pgo? ( >=dev-python/selenium-3.141.0 @@ -1085,7 +1088,11 @@ chromium_configure() { # Allow building against system libraries in official builds sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ tools/generate_shim_headers/generate_shim_headers.py || die - myconf_gn+=" is_cfi=${use_lto}" + if use ppc64; then + myconf_gn+=" is_cfi=no" # requires llvm-runtimes/compiler-rt-sanitizers[cfi] + else + myconf_gn+=" is_cfi=${use_lto}" + fi # Don't add symbols to build myconf_gn+=" symbol_level=0" fi diff --git a/www-client/chromium/chromium-131.0.6778.264.ebuild b/www-client/chromium/chromium-131.0.6778.264.ebuild index adda2b0c6e60..5259fc3e5133 100644 --- a/www-client/chromium/chromium-131.0.6778.264.ebuild +++ b/www-client/chromium/chromium-131.0.6778.264.ebuild @@ -179,6 +179,9 @@ BDEPEND=" llvm-core/clang:${LLVM_SLOT} llvm-core/llvm:${LLVM_SLOT} llvm-core/lld:${LLVM_SLOT} + official? ( + !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) + ) ') pgo? ( >=dev-python/selenium-3.141.0 @@ -1085,7 +1088,11 @@ chromium_configure() { # Allow building against system libraries in official builds sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ tools/generate_shim_headers/generate_shim_headers.py || die - myconf_gn+=" is_cfi=${use_lto}" + if use ppc64; then + myconf_gn+=" is_cfi=no" # requires llvm-runtimes/compiler-rt-sanitizers[cfi] + else + myconf_gn+=" is_cfi=${use_lto}" + fi # Don't add symbols to build myconf_gn+=" symbol_level=0" fi diff --git a/www-client/chromium/chromium-132.0.6834.83.ebuild b/www-client/chromium/chromium-132.0.6834.83.ebuild index f663dc7a02a8..80e260d2af88 100644 --- a/www-client/chromium/chromium-132.0.6834.83.ebuild +++ b/www-client/chromium/chromium-132.0.6834.83.ebuild @@ -178,6 +178,9 @@ BDEPEND=" llvm-core/clang:${LLVM_SLOT} llvm-core/llvm:${LLVM_SLOT} llvm-core/lld:${LLVM_SLOT} + official? ( + !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) + ) ') pgo? ( >=dev-python/selenium-3.141.0 @@ -1095,7 +1098,11 @@ chromium_configure() { # Allow building against system libraries in official builds sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ tools/generate_shim_headers/generate_shim_headers.py || die - myconf_gn+=" is_cfi=${use_lto}" + if use ppc64; then + myconf_gn+=" is_cfi=no" # requires llvm-runtimes/compiler-rt-sanitizers[cfi] + else + myconf_gn+=" is_cfi=${use_lto}" + fi # Don't add symbols to build myconf_gn+=" symbol_level=0" fi diff --git a/www-client/chromium/chromium-133.0.6943.6.ebuild b/www-client/chromium/chromium-133.0.6943.6.ebuild index bc418143d04c..d52caeb0683f 100644 --- a/www-client/chromium/chromium-133.0.6943.6.ebuild +++ b/www-client/chromium/chromium-133.0.6943.6.ebuild @@ -187,6 +187,9 @@ BDEPEND=" llvm-core/clang:${LLVM_SLOT} llvm-core/llvm:${LLVM_SLOT} llvm-core/lld:${LLVM_SLOT} + official? ( + !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) + ) ') pgo? ( >=dev-python/selenium-3.141.0 @@ -1118,7 +1121,11 @@ chromium_configure() { # Allow building against system libraries in official builds sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ tools/generate_shim_headers/generate_shim_headers.py || die - myconf_gn+=" is_cfi=${use_lto}" + if use ppc64; then + myconf_gn+=" is_cfi=no" # requires llvm-runtimes/compiler-rt-sanitizers[cfi] + else + myconf_gn+=" is_cfi=${use_lto}" + fi # Don't add symbols to build myconf_gn+=" symbol_level=0" fi
