From 4c51ef39a9b443061a7071e002d7daa2a4d16141 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 29 Jan 2023 14:55:22 +0000 Subject: gentoo auto-resync : 29:01:2023 - 14:55:22 --- www-client/firefox/Manifest | 2 +- www-client/firefox/firefox-109.0.ebuild | 74 ++++++++++++++++++++++++++++----- 2 files changed, 65 insertions(+), 11 deletions(-) (limited to 'www-client/firefox') diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 3c0c8735bece..4e2b359385f2 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -405,5 +405,5 @@ DIST firefox-109.0.source.tar.xz 493231972 BLAKE2B 56ec8c49f0dd1cb4ba29afb5d68fd EBUILD firefox-102.6.0.ebuild 36637 BLAKE2B b390983bf08385b01f66d76a1f08c97342991312bc76d24f11cf4cb94736d6749d5f75f5b9081069fc4b17ccbdfc58b9bbe8c2caf03563d4676a82150c692b8d SHA512 214f554cc976202bfe9cae0bf79c16e4017b9b08f4342ed9f62145d237602c8ffa7204f51d8b3838214481088ca333da34a1ca8e779f0a48503377ef95f9fbcf EBUILD firefox-102.7.0.ebuild 36564 BLAKE2B 0890f800154cb95683ec3a4d14fee8e716bb77b8d8a47a3cf244b5cf074fe19e512032dc949ff816bdd4a2d6054c4f02c210ffc33ffb72265d1269af89ed0dfd SHA512 41b506e8e7c29421152cc61555f86f520f97b9ef207386a4a3a07451629abef6426b0283d355f177cad296d260a79bb6854f38e8a574ace80be52c6ec698062d EBUILD firefox-108.0.2.ebuild 38414 BLAKE2B 002d5abf568068610b4fe03ab8a63bffa8fb803d921dfba84bb952cef6fb1a591ceecc1ab6adabcb176deee3d24deb797930a3fec0841bb1f6e729e662351fae SHA512 aa0001426a0d8e9d969d14085da57c3cb54ea35218eae7ec2d69918d5ff61099a1c5fcc82214b25e9dfbfe04b408afe4db9b54624f401cfe8cb4a49ea6a33d3d -EBUILD firefox-109.0.ebuild 38533 BLAKE2B 6f692c77ad77dd0c3f0864167f11f959ff119b07ca246acb75272066c09706ff20bbc58cfff989b653ad19ca3eb4450b8f4a6f7272b82deaebc18f8c7688af5a SHA512 68d5ad5a2b2e4f939637c59b60f6882b553e98b724e376f93f67dccabe9bed6351efc3e33a84829b68f985e568869fe783204bce3e3aaf6f95e54b69b26cb814 +EBUILD firefox-109.0.ebuild 40057 BLAKE2B 4680ff111100df6cd9ad3bb2b02b88b88e0d23d4f4bd0b452986080410ac9fb850dfaad802b122d6e5f30cc9f69f5de182174715fcbf073f3eb6ff41d59e4021 SHA512 51101827b2b94bf18de52c49541747a0b0a775a84d6d458db02f5b3f45c3682ebc59af71d365708958efec58905b0dd864f9efeb7aa6a722c1784357b5f9f859 MISC metadata.xml 2219 BLAKE2B 064f486eecd2a66ef4c9cccef46803f877039bf16bc40b699a48e28e04e816d0ad434ce65ae2e056e1a4126a67a7dd7eff16040276159c1f5aa8966b1c0d7b6c SHA512 522b09ffc2857553e240b1e7c82c11ccc281dd87c720c6292ec9314b91319e0a55ca2838f17e878f5c1e58e4f22caa1b0c3b90506b65b350beff06f3f397d897 diff --git a/www-client/firefox/firefox-109.0.ebuild b/www-client/firefox/firefox-109.0.ebuild index c2e92bead6a2..e6d4ce7a40de 100644 --- a/www-client/firefox/firefox-109.0.ebuild +++ b/www-client/firefox/firefox-109.0.ebuild @@ -88,7 +88,10 @@ BDEPEND="${PYTHON_DEPS} sys-devel/clang:15 sys-devel/llvm:15 clang? ( - sys-devel/lld:15 + || ( + sys-devel/lld:15 + sys-devel/mold + ) virtual/rust:0/llvm-15 pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) ) @@ -97,7 +100,10 @@ BDEPEND="${PYTHON_DEPS} sys-devel/clang:14 sys-devel/llvm:14 clang? ( - sys-devel/lld:14 + || ( + sys-devel/lld:14 + sys-devel/mold + ) virtual/rust:0/llvm-14 pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) ) @@ -227,7 +233,7 @@ llvm_check_deps() { return 1 fi - if use clang ; then + if use clang && tc-ld-is-lld ; then if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 return 1 @@ -427,6 +433,40 @@ mozconfig_use_with() { mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" } +# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily +# placed here until toolchain-funcs.eclass gets an official support for mold linker. +# Please see: +# https://github.com/gentoo/gentoo/pull/28366 || +# https://github.com/gentoo/gentoo/pull/28355 +tc-ld-is-mold() { + local out + + # Ensure ld output is in English. + local -x LC_ALL=C + + # First check the linker directly. + out=$($(tc-getLD "$@") --version 2>&1) + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # Then see if they're selecting mold via compiler flags. + # Note: We're assuming they're using LDFLAGS to hold the + # options and not CFLAGS/CXXFLAGS. + local base="${T}/test-tc-linker" + cat <<-EOF > "${base}.c" + int main() { return 0; } + EOF + out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) + rm -f "${base}"* + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # No mold here! + return 1 +} + virtwl() { debug-print-function ${FUNCNAME} "$@" @@ -486,7 +526,7 @@ pkg_setup() { llvm_pkg_setup - if use clang && use lto ; then + if use clang && use lto && tc-ld-is-lld ; then local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" @@ -856,13 +896,18 @@ src_configure() { if use lto ; then if use clang ; then - # Upstream only supports lld when using clang - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi mozconfig_add_options_ac '+lto' --enable-lto=cross else - # ThinLTO is currently broken, see bmo#1644409 + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. mozconfig_add_options_ac '+lto' --enable-lto=full mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd fi @@ -878,10 +923,19 @@ src_configure() { else # Avoid auto-magic on linker if use clang ; then - # This is upstream's default - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + else - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi fi fi -- cgit v1.2.3