diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-11-10 03:03:09 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-11-10 03:03:09 +0000 |
commit | be94ae04eee564451203d45977c2ef7c7ace1580 (patch) | |
tree | 616ffc0ad9aee18dc7d5e9e62bf62394e8e520ba /www-client | |
parent | 2be329ae14bbf99f0fc4de7567e2386bbb529fdc (diff) |
gentoo auto-resync : 10:11:2024 - 03:03:09
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/Manifest.gz | bin | 6206 -> 6204 bytes | |||
-rw-r--r-- | www-client/chromium/Manifest | 10 | ||||
-rw-r--r-- | www-client/chromium/chromium-129.0.6668.100-r1.ebuild (renamed from www-client/chromium/chromium-129.0.6668.100.ebuild) | 145 | ||||
-rw-r--r-- | www-client/chromium/chromium-130.0.6723.116-r1.ebuild (renamed from www-client/chromium/chromium-130.0.6723.116.ebuild) | 176 | ||||
-rw-r--r-- | www-client/chromium/chromium-130.0.6723.91-r1.ebuild (renamed from www-client/chromium/chromium-130.0.6723.91.ebuild) | 147 | ||||
-rw-r--r-- | www-client/chromium/chromium-131.0.6753.0-r1.ebuild (renamed from www-client/chromium/chromium-131.0.6753.0.ebuild) | 137 | ||||
-rw-r--r-- | www-client/chromium/chromium-131.0.6778.24-r1.ebuild (renamed from www-client/chromium/chromium-131.0.6778.24.ebuild) | 139 | ||||
-rw-r--r-- | www-client/firefox/Manifest | 12 | ||||
-rw-r--r-- | www-client/firefox/firefox-115.16.1-r1.ebuild (renamed from www-client/firefox/firefox-115.16.1.ebuild) | 68 | ||||
-rw-r--r-- | www-client/firefox/firefox-128.3.1-r1.ebuild (renamed from www-client/firefox/firefox-128.3.1.ebuild) | 17 | ||||
-rw-r--r-- | www-client/firefox/firefox-128.4.0-r1.ebuild (renamed from www-client/firefox/firefox-128.4.0.ebuild) | 64 | ||||
-rw-r--r-- | www-client/firefox/firefox-131.0.3-r1.ebuild (renamed from www-client/firefox/firefox-131.0.3.ebuild) | 72 | ||||
-rw-r--r-- | www-client/firefox/firefox-132.0-r1.ebuild (renamed from www-client/firefox/firefox-132.0.ebuild) | 84 | ||||
-rw-r--r-- | www-client/firefox/firefox-132.0.1-r1.ebuild (renamed from www-client/firefox/firefox-132.0.1.ebuild) | 84 | ||||
-rw-r--r-- | www-client/seamonkey/Manifest | 4 | ||||
-rw-r--r-- | www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild (renamed from www-client/seamonkey/seamonkey-2.53.18.2-r1.ebuild) | 4 | ||||
-rw-r--r-- | www-client/seamonkey/seamonkey-2.53.19-r1.ebuild (renamed from www-client/seamonkey/seamonkey-2.53.19.ebuild) | 4 |
17 files changed, 275 insertions, 892 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz Binary files differindex 00c7d7eeec63..2c08a87a2de9 100644 --- a/www-client/Manifest.gz +++ b/www-client/Manifest.gz diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index 82e8ab0e1574..fa71ede28b0d 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -30,9 +30,9 @@ DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b2 DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c DIST chromium-testfonts-f26f29c9d3.tar.gz 32750602 BLAKE2B 498f8b2e0811c98dc3d4aaa75559e69c782afb4bd12328cfdb7244ddba5cae7ee47becd27b2549d7b36bed417601f70f4c192934b0f08496cef1547d0502d93c SHA512 96b090446862997c8134e2971f0e38793ecc1208d547e554c9b651ccfb4127c4de86754903fea57a7292a2823c45117bae0ec13ed87aed20c248fb779579fbde DIST chromium_128.0.6613.84-1raptor0~deb12u1.debian.tar.xz 8674292 BLAKE2B 74c8556f578231cd133ce3a11306ce38d32332a3db7b0f32a63df1806201933e69e9ff01e66d7ccef279f2134e0a69c89365d7a08a7a7e7d69816a188ae0b91c SHA512 b1b85bc99493676d466e648c00eb7e337efbcb197e9ed5ae6394133721db828583340df5ebfa45a3dccc72f400ad6ada637d400d8e2fae35c1322ca5e15dc10e -EBUILD chromium-129.0.6668.100.ebuild 50210 BLAKE2B eb9afe794482d87bb6e3a041bbd15d9e1de40eee74d840e30973591c309f54cfb0ae6d46fb83d0333faf2765726963ba15e8b18cb4ffcd98070d2661ded39d92 SHA512 b4c54fa949e02cde6a759afc260366da3005913bb0bd438a5cf9402bb672b7b3a1ecff80b24ae365bf911d6f06101f1aeb6bdf984e56c03409e6bf95bc7ed11d -EBUILD chromium-130.0.6723.116.ebuild 51838 BLAKE2B ea7b9a6cc308c9fa3fa85c113b82742be0cccc6cfd5d4b8e8ffb0ebf130960d83a3decb4c3b9c6abc1318b0e320f38319f128c95401e43cf228ddc0742bd53f2 SHA512 ef7a4a449fe928b81a2ea6049941a4f403ba89e33ac255994fdcf0b91c438212ddb880d9174a402bb5928fcf734846f79f643dc21963d3afd71f2261771357e8 -EBUILD chromium-130.0.6723.91.ebuild 50204 BLAKE2B 01b82db54bbef2fef2b4500017ce80a553c80f3afbce95346e11f0562b8a09259de4a252f9a62264ee2f1841eceaf6d94c69424b9930af948bdf7fc86fe5dabc SHA512 d83b06cdf6b0f1082de579f213cf78d34a46e322e354be800ac75c38b81de087e1ad4583422c473ada580a4f058543777cc43bf0d74fc7ac075945a2a0e3d97a -EBUILD chromium-131.0.6753.0.ebuild 52042 BLAKE2B c84c878b5e9990881d767158b8008c200b12e1e3c2e291b11aca7314a5a57fc108c4377d1f025cd5fd389ab1805bbd2a6b536a6b3327ffd8668793f8598d24fa SHA512 3c597be835c5f35112a778e9dd4c882bfa5acafa4ad70e9c8b89e56381eaff0d7ae166086b23477a480296f0902bd3f5aeb279dc314c0e50ed89d71d4c123e43 -EBUILD chromium-131.0.6778.24.ebuild 50927 BLAKE2B eb2c21c543a8080e0dedfde5491674b47acee690f64baf143b25798b84f14e26b03e7f3030ebfdfa4214ef88f3a70f7394bfae4781d0652ac06b58fa1c10f27b SHA512 cb866380cfd311c0db471f5b9c2256166298534176666f67175269111f73b38cba7c82a127d595abe424ff62e04a89ac86c764328ac26ee079c2848c7e6237fd +EBUILD chromium-129.0.6668.100-r1.ebuild 45716 BLAKE2B f6c3195da1d056f73adae2238c52cef85628ab5c03988cab89958452119ddf7ca9cf54c46165929e44a49f932b588c9569919257b9ed9d34bfc7c37e301deaee SHA512 ecb2f141df66b75dcdcc3bf77cc67536316ce5895b9cf89b53d3a73b1bbd73d35c3e10d78491f1eb873a123fe4bab685719c5cd5cfb99f5a16720c2f73b65d43 +EBUILD chromium-130.0.6723.116-r1.ebuild 45851 BLAKE2B c69301c9f653eb11d4ed5870df11d48770b780e0e53e9eba206cf1a06b736153042b46f79f0d60b00b91aebeb634a7838acfdf880201f236fc656c0b08d100ce SHA512 d787678897e72efd94feaa96b92645f3c54f9e47c1c017a308717393552fab2f50543d03eafe25d779f746f4aadf0de7f958f40712b8a6c1a64a02183bb1d2cd +EBUILD chromium-130.0.6723.91-r1.ebuild 45784 BLAKE2B 2be3c4d02d136b0c842f7d9bffa981eb625be0dea51614c56d2714a6a9d2c10003af86089297a17a4f7e1b08b05cd508d224f9a276b39e7c3fc0313feb66a112 SHA512 b041f23a3c5fbae066e093900774b028efcf0fbbd9369cb9605f38f01da0c03f32c5651e4bcead096d129528c3367a876db6f853e1e95da617ddf3ecf6669a31 +EBUILD chromium-131.0.6753.0-r1.ebuild 47432 BLAKE2B 2db6e555affe9b7bc98cffad00ed892bc87188ae6a49119dfb2616c41bcae0c05b90af663db4bd425a3d71e03dff41d9c3dc1ace4f64a977dcf2270e2af2cd41 SHA512 7fcdeaf98037a11754a0620c59069164925fda9e4085258bca93539a4e9a406d0ccc35549afd09e36a43f75b9f549a050764389ab92aea2d5b3d618d86197fab +EBUILD chromium-131.0.6778.24-r1.ebuild 46524 BLAKE2B 6cfabda5e65be9c09aacd8e1f027d88edb74547a35f4042e26f02a8efbeb6737cdeb71e79da9cf74c6c53ebffa8792b630c6c7e0be080d33916f94e3b7abe268 SHA512 f9bb6702096962fef9839949c8ce81929c0c256451ab33c703fc681f1c201e2dfc7c1eee9bb32f7240d3accdc135644a2bc03e6eee48969a97fd6e8b9cb833f4 MISC metadata.xml 2083 BLAKE2B e556591b48916e2b26d66b8b3a3f67d8f7c17d7cf2d03bfca4c91e0181604d853b16139583a8364646f5c2db55a2e3281a5b6ee623535452dbc8b0755fac89dc SHA512 b64e3140c1237d45aea47748a259b51685e7aa54c2ba259f6feb60df5a98ec434bd0ecde2e5dc2115d6c6409621ec3111e8b6b2a0fc8be2d9634dc465260dbe2 diff --git a/www-client/chromium/chromium-129.0.6668.100.ebuild b/www-client/chromium/chromium-129.0.6668.100-r1.ebuild index 0e199853bf36..6a3d532c5b99 100644 --- a/www-client/chromium/chromium-129.0.6668.100.ebuild +++ b/www-client/chromium/chromium-129.0.6668.100-r1.ebuild @@ -25,7 +25,6 @@ EAPI=8 # no reason not to. Todo: Re-enable USE=system-ffmpeg. GN_MIN_VER=0.2165 -RUST_MIN_VER=1.78.0 # chromium-tools/get-chromium-toolchain-strings.sh GOOGLE_CLANG_VER=llvmorg-20-init-1009-g7088a5ed-10 GOOGLE_RUST_VER=595316b4006932405a63862d8fe65f71a6356293-5 @@ -38,15 +37,15 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW" -# While prerelease llvm is actually used in the google build, until we have a -# sane way to select 'rust built with this llvm slot' that isn't stable and testing -# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. -LLVM_COMPAT=( {17..18} ) +LLVM_COMPAT=( 18 ) PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="xml(+)" +RUST_MIN_VER=1.78.0 +RUST_NEEDS_LLVM=1 +RUST_OPTIONAL=1 -inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils +inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://www.chromium.org/" @@ -182,29 +181,6 @@ DEPEND="${COMMON_DEPEND} ) " -depend_clang_llvm_version() { - echo "sys-devel/clang:$1" - echo "sys-devel/llvm:$1" - echo "=sys-devel/lld-$1*" - echo "virtual/rust:0/llvm-${1}[profiler(-)]" - echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )" -} - -# Parse LLVM_COMPAT and generate a usedep for each version -depend_clang_llvm_versions() { - if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then - depend_clang_llvm_version ${#LLVM_COMPAT[0]} - else - echo "|| (" - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - echo "(" - depend_clang_llvm_version ${LLVM_COMPAT[i]} - echo ")" - done - echo ")" - fi -} - BDEPEND=" ${COMMON_SNAPSHOT_DEPEND} ${PYTHON_DEPS} @@ -217,7 +193,12 @@ BDEPEND=" qt6? ( dev-qt/qtbase:6 ) ) system-toolchain? ( - $(depend_clang_llvm_versions) + $(llvm_gen_dep " + sys-devel/clang:\${LLVM_SLOT} + sys-devel/llvm:\${LLVM_SLOT} + sys-devel/lld:\${LLVM_SLOT} + ") + ${RUST_DEPEND} pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 @@ -313,47 +294,6 @@ pkg_pretend() { fi } -# Chromium should build with any version of clang that we support -# but we may need to pick the "best" one for a build (highest installed, -# rust is built against it, etc.) -# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available -# and output the _highest_ slot that is actually available on a system. -chromium_pick_llvm_slot() { - # LLVM_COMPAT is always going to be oldest to newest (or one value) - # let's flip it and check from newest to oldest and return the first one we find. - local slot - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - slot=${LLVM_COMPAT[i]} - if has_version "sys-devel/clang:${slot}" && \ - has_version "sys-devel/llvm:${slot}" && \ - has_version "sys-devel/lld:${slot}" && \ - has_version "virtual/rust:0/llvm-${slot}" && \ - ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then - - echo "${slot}" - return - fi - done - - die_msg=" -No suitable clang/llvm/lld slot found. -Slots checked: ${LLVM_COMPAT[*]}. -" - die "${die_msg}" -} - -# We need the rust version in src_configure and pkg_setup -chromium_extract_rust_version() { - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - echo $rustc_version -} - pkg_setup() { if [[ ${MERGE_TYPE} != binary ]]; then # The pre_build_checks are all about compilation resources, no need to run it for a binpkg @@ -361,10 +301,7 @@ pkg_setup() { if use system-toolchain; then # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment - # We'll set these to clang here then use llvm-utils functions to very explicitly set these - # to a sane value. # This is effectively the 'force-clang' path if GCC support is re-added. - # TODO: check if the user has already selected a specific impl via make.conf and respect that. if ! tc-is-lto && use official; then einfo "USE=official selected and LTO not detected." einfo "It is _highly_ recommended that LTO be enabled for performance reasons" @@ -378,8 +315,7 @@ pkg_setup() { die "Please switch to a different linker." fi - LLVM_SLOT=$(chromium_pick_llvm_slot) - export LLVM_SLOT # used in src_configure for rust-y business + # We're forcing clang here; user choice is respected via llvm_slot_x USE AR=llvm-ar CPP="${CHOST}-clang++ -E" NM=llvm-nm @@ -391,45 +327,8 @@ pkg_setup() { CPP="${CBUILD}-clang++ -E" fi - # The llvm-r1_pkg_setup we have at home. - # We prepend the path _first_ to explicitly use the selected slot. - llvm_prepend_path "${LLVM_SLOT}" - - llvm_fix_clang_version CC CPP CXX - llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB - llvm_fix_tool_path READELF STRINGS STRIP - - # Set LLVM_CONFIG to help Meson (bug #907965) but only do it - # for empty ESYSROOT (as a proxy for "are we cross-compiling?"). - if [[ -z ${ESYSROOT} ]] ; then - llvm_fix_tool_path LLVM_CONFIG - fi - - einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" - - local rustc_ver=$(chromium_extract_rust_version) - if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required to build Chromium" - eerror "The currently selected version is ${rustc_ver}" - eerror "Please run \`eselect rust\` and select an appropriate Rust." - die "Selected Rust version is too old" - else - einfo "Using Rust ${rustc_ver} to build" - fi - - # Chromium requires the Rust profiler library while setting up its build environment. - # Since a standard Rust comes with the profiler, instead of patching it out (build/rust/std/BUILD.gn#L103) - # we'll just do a sanity check on the selected slot. - # The -bin always contains profiler support, so we only need to check for the non-bin version. - if [[ "$(eselect --brief rust show 2>/dev/null)" != *"bin"* ]]; then - local rust_lib_path="${EPREFIX}$(rustc --print target-libdir)" - local profiler_lib=$(find "${rust_lib_path}" -name "libprofiler_builtins-*.rlib" -print -quit) - if [[ -z "${profiler_lib}" ]]; then - eerror "Rust ${rustc_ver} is missing the profiler library." - eerror "ebuild dependency resolution should have ensured that a Rust with the profiler was installed." - die "Please \`eselect\` a Rust slot that has the profiler." - fi - fi + llvm-r1_pkg_setup + rust_pkg_setup fi # Users should never hit this, it's purely a development convenience @@ -886,23 +785,15 @@ chromium_configure() { # rust_bindgen_root = directory with `bin/bindgen` beneath it. myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" - # from get_llvm_prefix - local prefix=${ESYSROOT} - [[ ${1} == -b ]] && prefix=${BROOT} - myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\"" + myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" # We don't need to set 'clang_base_bath' for anything in our build # and it defaults to the google toolchain location. Instead provide a location # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" # We need to provide this to GN in both the path to rust _and_ the version - local rustc_ver=$(chromium_extract_rust_version) - if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" - else - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" - fi - myconf_gn+=" rustc_version=\"${rustc_ver}\"" + myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" + myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" fi # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. diff --git a/www-client/chromium/chromium-130.0.6723.116.ebuild b/www-client/chromium/chromium-130.0.6723.116-r1.ebuild index b8702db794c7..9b7032b7c9aa 100644 --- a/www-client/chromium/chromium-130.0.6723.116.ebuild +++ b/www-client/chromium/chromium-130.0.6723.116-r1.ebuild @@ -9,9 +9,7 @@ EAPI=8 # Use 132 as a base for new official tarballs. GN_MIN_VER=0.2165 -RUST_MIN_VER=1.78.0 # chromium-tools/get-chromium-toolchain-strings.py -TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 VIRTUALX_REQUIRED="pgo" @@ -19,20 +17,19 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW" -# While prerelease llvm is actually used in the google build, until we have a -# sane way to select 'rust built with this llvm slot' that isn't stable and testing -# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. -# Requires 18.1.8 or 19.1.1 (or newer) for ppc64 LLVM_COMPAT=( 18 19 ) +RUST_NEEDS_LLVM="yes please" PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="xml(+)" +RUST_MIN_VER=1.78.0 -inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils multiprocessing ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils +inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://www.chromium.org/" PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6" +TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 PATCH_V="${PV%%\.*}-2" SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}.tar.xz -> ${P}-gentoo.tar.xz https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 @@ -53,6 +50,7 @@ if [[ ${SLOT} != "0/dev" ]]; then KEYWORDS="~amd64 ~arm64 ~ppc64" fi + IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd" IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio" IUSE+=" qt5 qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3" @@ -167,29 +165,6 @@ DEPEND="${COMMON_DEPEND} ) " -depend_clang_llvm_version() { - echo "sys-devel/clang:$1" - echo "sys-devel/llvm:$1" - echo "=sys-devel/lld-$1*" - echo "virtual/rust:0/llvm-${1}[profiler(-)]" - echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )" -} - -# Parse LLVM_COMPAT and generate a usedep for each version -depend_clang_llvm_versions() { - if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then - depend_clang_llvm_version ${#LLVM_COMPAT[0]} - else - echo "|| (" - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - echo "(" - depend_clang_llvm_version ${LLVM_COMPAT[i]} - echo ")" - done - echo ")" - fi -} - BDEPEND=" ${COMMON_SNAPSHOT_DEPEND} ${PYTHON_DEPS} @@ -201,7 +176,11 @@ BDEPEND=" qt5? ( dev-qt/qtcore:5 ) qt6? ( dev-qt/qtbase:6 ) ) - $(depend_clang_llvm_versions) + $(llvm_gen_dep " + sys-devel/clang:\${LLVM_SLOT} + sys-devel/llvm:\${LLVM_SLOT} + sys-devel/lld:\${LLVM_SLOT} + ") pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 @@ -296,57 +275,13 @@ pkg_pretend() { fi } -# Chromium should build with any version of clang that we support -# but we may need to pick the "best" one for a build (highest installed, -# rust is built against it, etc.) -# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available -# and output the _highest_ slot that is actually available on a system. -chromium_pick_llvm_slot() { - # LLVM_COMPAT is always going to be oldest to newest (or one value) - # let's flip it and check from newest to oldest and return the first one we find. - local slot - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - slot=${LLVM_COMPAT[i]} - if has_version "sys-devel/clang:${slot}" && \ - has_version "sys-devel/llvm:${slot}" && \ - has_version "sys-devel/lld:${slot}" && \ - has_version "virtual/rust:0/llvm-${slot}" && \ - ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then - - echo "${slot}" - return - fi - done - - die_msg=" -No suitable clang/llvm/lld slot found. -Slots checked: ${LLVM_COMPAT[*]}. -" - die "${die_msg}" -} - -# We need the rust version in src_configure and pkg_setup -chromium_extract_rust_version() { - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - echo $rustc_version -} - pkg_setup() { if [[ ${MERGE_TYPE} != binary ]]; then # The pre_build_checks are all about compilation resources, no need to run it for a binpkg pre_build_checks # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment - # We'll set these to clang here then use llvm-utils functions to very explicitly set these - # to a sane value. # This is effectively the 'force-clang' path if GCC support is re-added. - # TODO: check if the user has already selected a specific impl via make.conf and respect that. use_lto="false" if tc-is-lto; then use_lto="true" @@ -374,8 +309,7 @@ pkg_setup() { die "Please switch to a different linker." fi - LLVM_SLOT=$(chromium_pick_llvm_slot) - export LLVM_SLOT # used in src_configure for rust-y business + # We're forcing Clang here. User choice is respected via llvm_slot_# USE flags. AR=llvm-ar CPP="${CHOST}-clang++ -E" NM=llvm-nm @@ -387,52 +321,16 @@ pkg_setup() { CPP="${CBUILD}-clang++ -E" fi - # The llvm-r1_pkg_setup we have at home. - # We prepend the path _first_ to explicitly use the selected slot. - llvm_prepend_path "${LLVM_SLOT}" - - llvm_fix_clang_version CC CPP CXX - llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB - llvm_fix_tool_path READELF STRINGS STRIP - - # Set LLVM_CONFIG to help Meson (bug #907965) but only do it - # for empty ESYSROOT (as a proxy for "are we cross-compiling?"). - if [[ -z ${ESYSROOT} ]] ; then - llvm_fix_tool_path LLVM_CONFIG - fi + llvm-r1_pkg_setup + rust_pkg_setup einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" - - rustc_ver=$(chromium_extract_rust_version) - if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required to build Chromium" - eerror "The currently selected version is ${rustc_ver}" - eerror "Please run \`eselect rust\` and select an appropriate Rust." - die "Selected Rust version is too old" - else - einfo "Using Rust ${rustc_ver} to build" - fi - - export rustc_ver # used in src_configure, may as well avoid calling it again + einfo "Using Rust slot ${RUST_SLOT}, ${RUST_TYPE} to build" # I hate doing this but upstream Rust have yet to come up with a better solution for # us poor packagers. Required for Split LTO units, which are required for CFI. export RUSTC_BOOTSTRAP=1 - # Chromium requires the Rust profiler library while setting up its build environment. - # Since a standard Rust comes with the profiler, instead of patching it out (build/rust/std/BUILD.gn#L103) - # we'll just do a sanity check on the selected slot. - # The -bin always contains profiler support, so we only need to check for the non-bin version. - if [[ "$(eselect --brief rust show 2>/dev/null)" != *"bin"* ]]; then - local rust_lib_path="${EPREFIX}$(rustc --print target-libdir)" - local profiler_lib=$(find "${rust_lib_path}" -name "libprofiler_builtins-*.rlib" -print -quit) - if [[ -z "${profiler_lib}" ]]; then - eerror "Rust ${rustc_ver} is missing the profiler library." - eerror "ebuild dependency resolution should have ensured that a Rust with the profiler was installed." - die "Please \`eselect\` a Rust slot that has the profiler." - fi - fi - # Users should never hit this, it's purely a development convenience if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" @@ -455,8 +353,7 @@ src_unpack() { unpack ${P}-testdata-gentoo.tar.xz # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location. local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts" - local testfonts_tar="${DISTDIR}/${PN}-testfonts-${TEST_FONT:0:10}.tar.gz" - tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts" + tar xf "${DISTDIR}/${P%%\.*}-testfonts.tar.gz" -C "${testfonts_dir}" || die "Failed to unpack testfonts" fi if use ppc64; then @@ -928,22 +825,15 @@ chromium_configure() { # rust_bindgen_root = directory with `bin/bindgen` beneath it. myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" - # from get_llvm_prefix - local prefix=${ESYSROOT} - [[ ${1} == -b ]] && prefix=${BROOT} - myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\"" + myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" # We don't need to set 'clang_base_bath' for anything in our build # and it defaults to the google toolchain location. Instead provide a location # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" # We need to provide this to GN in both the path to rust _and_ the version - if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" - else - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" - fi - myconf_gn+=" rustc_version=\"${rustc_ver}\"" + myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" + myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. myconf_gn+=" is_debug=false" @@ -1340,35 +1230,7 @@ src_test() { StringPieceTest.OutOfBoundsDeath ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker ValuesUtilTest.FilePath - # Gentoo-specific - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/0 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/1 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/2 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/3 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/0 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/1 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/2 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/3 - CharacterEncodingTest.GetCanonicalEncodingNameByAliasName - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGFPE - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGILL - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGV - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGVNonCanonicalAddress - FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe - ICUStringConversionsTest.ConvertToUtf8AndNormalize - NumberFormattingTest.FormatPercent - PathServiceTest.CheckedGetFailure - PlatformThreadTest.CanChangeThreadType - StackCanary.ChangingStackCanaryCrashesOnReturn - StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree - SysStrings.SysNativeMBAndWide - SysStrings.SysNativeMBToWide - SysStrings.SysWideToNativeMB - TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest - ToolsSanityTest.BadVirtualCallNull - ToolsSanityTest.BadVirtualCallWrongType ) - local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")" # test-launcher-bot-mode enables parallelism and plain output ./out/Release/base_unittests --test-launcher-bot-mode \ diff --git a/www-client/chromium/chromium-130.0.6723.91.ebuild b/www-client/chromium/chromium-130.0.6723.91-r1.ebuild index ed4c82004d6a..ca59fb8a697e 100644 --- a/www-client/chromium/chromium-130.0.6723.91.ebuild +++ b/www-client/chromium/chromium-130.0.6723.91-r1.ebuild @@ -9,9 +9,7 @@ EAPI=8 # Use 132 as a base for new official tarballs. GN_MIN_VER=0.2165 -RUST_MIN_VER=1.78.0 # chromium-tools/get-chromium-toolchain-strings.py -TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 VIRTUALX_REQUIRED="pgo" @@ -19,20 +17,19 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW" -# While prerelease llvm is actually used in the google build, until we have a -# sane way to select 'rust built with this llvm slot' that isn't stable and testing -# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. -# Requires 18.1.8 or 19.1.1 (or newer) for ppc64 LLVM_COMPAT=( 18 19 ) +RUST_NEEDS_LLVM="yes please" PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="xml(+)" +RUST_MIN_VER=1.78.0 -inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils multiprocessing ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils +inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://www.chromium.org/" PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6" +TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 PATCH_V="${PV%%\.*}-2" SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}.tar.xz https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 @@ -53,6 +50,7 @@ if [[ ${SLOT} != "0/dev" ]]; then KEYWORDS="~amd64 ~arm64 ~ppc64" fi + IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd" IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio" IUSE+=" qt5 qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3" @@ -167,29 +165,6 @@ DEPEND="${COMMON_DEPEND} ) " -depend_clang_llvm_version() { - echo "sys-devel/clang:$1" - echo "sys-devel/llvm:$1" - echo "=sys-devel/lld-$1*" - echo "virtual/rust:0/llvm-${1}[profiler(-)]" - echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )" -} - -# Parse LLVM_COMPAT and generate a usedep for each version -depend_clang_llvm_versions() { - if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then - depend_clang_llvm_version ${#LLVM_COMPAT[0]} - else - echo "|| (" - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - echo "(" - depend_clang_llvm_version ${LLVM_COMPAT[i]} - echo ")" - done - echo ")" - fi -} - BDEPEND=" ${COMMON_SNAPSHOT_DEPEND} ${PYTHON_DEPS} @@ -201,7 +176,11 @@ BDEPEND=" qt5? ( dev-qt/qtcore:5 ) qt6? ( dev-qt/qtbase:6 ) ) - $(depend_clang_llvm_versions) + $(llvm_gen_dep " + sys-devel/clang:\${LLVM_SLOT} + sys-devel/llvm:\${LLVM_SLOT} + sys-devel/lld:\${LLVM_SLOT} + ") pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 @@ -296,57 +275,13 @@ pkg_pretend() { fi } -# Chromium should build with any version of clang that we support -# but we may need to pick the "best" one for a build (highest installed, -# rust is built against it, etc.) -# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available -# and output the _highest_ slot that is actually available on a system. -chromium_pick_llvm_slot() { - # LLVM_COMPAT is always going to be oldest to newest (or one value) - # let's flip it and check from newest to oldest and return the first one we find. - local slot - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - slot=${LLVM_COMPAT[i]} - if has_version "sys-devel/clang:${slot}" && \ - has_version "sys-devel/llvm:${slot}" && \ - has_version "sys-devel/lld:${slot}" && \ - has_version "virtual/rust:0/llvm-${slot}" && \ - ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then - - echo "${slot}" - return - fi - done - - die_msg=" -No suitable clang/llvm/lld slot found. -Slots checked: ${LLVM_COMPAT[*]}. -" - die "${die_msg}" -} - -# We need the rust version in src_configure and pkg_setup -chromium_extract_rust_version() { - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - echo $rustc_version -} - pkg_setup() { if [[ ${MERGE_TYPE} != binary ]]; then # The pre_build_checks are all about compilation resources, no need to run it for a binpkg pre_build_checks # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment - # We'll set these to clang here then use llvm-utils functions to very explicitly set these - # to a sane value. # This is effectively the 'force-clang' path if GCC support is re-added. - # TODO: check if the user has already selected a specific impl via make.conf and respect that. use_lto="false" if tc-is-lto; then use_lto="true" @@ -374,8 +309,7 @@ pkg_setup() { die "Please switch to a different linker." fi - LLVM_SLOT=$(chromium_pick_llvm_slot) - export LLVM_SLOT # used in src_configure for rust-y business + # We're forcing Clang here. User choice is respected via llvm_slot_# USE flags. AR=llvm-ar CPP="${CHOST}-clang++ -E" NM=llvm-nm @@ -387,53 +321,16 @@ pkg_setup() { CPP="${CBUILD}-clang++ -E" fi - # The llvm-r1_pkg_setup we have at home. - # We prepend the path _first_ to explicitly use the selected slot. - llvm_prepend_path "${LLVM_SLOT}" - - llvm_fix_clang_version CC CPP CXX - llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB - llvm_fix_tool_path READELF STRINGS STRIP - - # Set LLVM_CONFIG to help Meson (bug #907965) but only do it - # for empty ESYSROOT (as a proxy for "are we cross-compiling?"). - if [[ -z ${ESYSROOT} ]] ; then - llvm_fix_tool_path LLVM_CONFIG - fi + llvm-r1_pkg_setup + rust_pkg_setup einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" - - rustc_ver=$(chromium_extract_rust_version) - if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required to build Chromium" - eerror "The currently selected version is ${rustc_ver}" - eerror "Please run \`eselect rust\` and select an appropriate Rust." - die "Selected Rust version is too old" - else - einfo "Using Rust ${rustc_ver} to build" - fi - - export rustc_ver # used in src_configure, may as well avoid calling it again + einfo "Using Rust slot ${RUST_SLOT}, ${RUST_TYPE} to build" # I hate doing this but upstream Rust have yet to come up with a better solution for # us poor packagers. Required for Split LTO units, which are required for CFI. export RUSTC_BOOTSTRAP=1 - # Chromium requires the Rust profiler library while setting up its build environment. - # Since a standard Rust comes with the profiler, instead of patching it out (build/rust/std/BUILD.gn#L103) - # we'll just do a sanity check on the selected slot. - # The -bin always contains profiler support, so we only need to check for the non-bin version. - if [[ "$(eselect --brief rust show 2>/dev/null)" != *"bin"* ]]; then - local rust_lib_path="${EPREFIX}$(rustc --print target-libdir)" - local profiler_lib=$(find "${rust_lib_path}" -name "libprofiler_builtins-*.rlib" -print -quit) - if [[ -z "${profiler_lib}" ]]; then - eerror "Rust ${rustc_ver} is missing the profiler library." - eerror "ebuild dependency resolution should have ensured that a Rust with the profiler was installed." - die "Please \`eselect\` a Rust slot that has the profiler." - fi - fi - - # Users should never hit this, it's purely a development convenience if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" @@ -928,23 +825,15 @@ chromium_configure() { # rust_bindgen_root = directory with `bin/bindgen` beneath it. myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" - # from get_llvm_prefix - local prefix=${ESYSROOT} - [[ ${1} == -b ]] && prefix=${BROOT} - myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\"" + myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" # We don't need to set 'clang_base_bath' for anything in our build # and it defaults to the google toolchain location. Instead provide a location # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" # We need to provide this to GN in both the path to rust _and_ the version - if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" - else - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" - fi - myconf_gn+=" rustc_version=\"${rustc_ver}\"" - + myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" + myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. myconf_gn+=" is_debug=false" diff --git a/www-client/chromium/chromium-131.0.6753.0.ebuild b/www-client/chromium/chromium-131.0.6753.0-r1.ebuild index b9fbbe6b9e34..082a394cd0a8 100644 --- a/www-client/chromium/chromium-131.0.6753.0.ebuild +++ b/www-client/chromium/chromium-131.0.6753.0-r1.ebuild @@ -39,15 +39,12 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW" -# While prerelease llvm is actually used in the google build, until we have a -# sane way to select 'rust built with this llvm slot' that isn't stable and testing -# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. LLVM_COMPAT=( 17 18 ) PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="xml(+)" -inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils +inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://www.chromium.org/" @@ -72,9 +69,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P} LICENSE="BSD" SLOT="0/dev" # Dev exists mostly to give devs some breathing room for beta/stable releases; it shouldn't be keyworded but adventurous users can select it. -if [[ ${SLOT} == "0/dev" ]]; then - KEYWORDS="" -else +if [[ ${SLOT} != "0/dev" ]]; then KEYWORDS="~amd64 ~arm64" fi @@ -189,29 +184,6 @@ DEPEND="${COMMON_DEPEND} ) " -depend_clang_llvm_version() { - echo "sys-devel/clang:$1" - echo "sys-devel/llvm:$1" - echo "=sys-devel/lld-$1*" - echo "virtual/rust:0/llvm-${1}[profiler(-)]" - echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )" -} - -# Parse LLVM_COMPAT and generate a usedep for each version -depend_clang_llvm_versions() { - if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then - depend_clang_llvm_version ${#LLVM_COMPAT[0]} - else - echo "|| (" - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - echo "(" - depend_clang_llvm_version ${LLVM_COMPAT[i]} - echo ")" - done - echo ")" - fi -} - BDEPEND=" ${COMMON_SNAPSHOT_DEPEND} ${PYTHON_DEPS} @@ -224,7 +196,7 @@ BDEPEND=" qt6? ( dev-qt/qtbase:6 ) ) system-toolchain? ( - $(depend_clang_llvm_versions) + $() pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 @@ -320,47 +292,6 @@ pkg_pretend() { fi } -# Chromium should build with any version of clang that we support -# but we may need to pick the "best" one for a build (highest installed, -# rust is built against it, etc.) -# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available -# and output the _highest_ slot that is actually available on a system. -chromium_pick_llvm_slot() { - # LLVM_COMPAT is always going to be oldest to newest (or one value) - # let's flip it and check from newest to oldest and return the first one we find. - local slot - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - slot=${LLVM_COMPAT[i]} - if has_version "sys-devel/clang:${slot}" && \ - has_version "sys-devel/llvm:${slot}" && \ - has_version "sys-devel/lld:${slot}" && \ - has_version "virtual/rust:0/llvm-${slot}" && \ - ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then - - echo "${slot}" - return - fi - done - - die_msg=" -No suitable clang/llvm/lld slot found. -Slots checked: ${LLVM_COMPAT[*]}. -" - die "${die_msg}" -} - -# We need the rust version in src_configure and pkg_setup -chromium_extract_rust_version() { - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - echo $rustc_version -} - pkg_setup() { if [[ ${MERGE_TYPE} != binary ]]; then # The pre_build_checks are all about compilation resources, no need to run it for a binpkg @@ -396,8 +327,6 @@ pkg_setup() { die "Please switch to a different linker." fi - LLVM_SLOT=$(chromium_pick_llvm_slot) - export LLVM_SLOT # used in src_configure for rust-y business AR=llvm-ar CPP="${CHOST}-clang++ -E" NM=llvm-nm @@ -409,49 +338,12 @@ pkg_setup() { CPP="${CBUILD}-clang++ -E" fi - # The llvm-r1_pkg_setup we have at home. - # We prepend the path _first_ to explicitly use the selected slot. - llvm_prepend_path "${LLVM_SLOT}" - - llvm_fix_clang_version CC CPP CXX - llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB - llvm_fix_tool_path READELF STRINGS STRIP - - # Set LLVM_CONFIG to help Meson (bug #907965) but only do it - # for empty ESYSROOT (as a proxy for "are we cross-compiling?"). - if [[ -z ${ESYSROOT} ]] ; then - llvm_fix_tool_path LLVM_CONFIG - fi - - einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" - - local rustc_ver=$(chromium_extract_rust_version) - if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required to build Chromium" - eerror "The currently selected version is ${rustc_ver}" - eerror "Please run \`eselect rust\` and select an appropriate Rust." - die "Selected Rust version is too old" - else - einfo "Using Rust ${rustc_ver} to build" - fi + llvm-r1_pkg_setup + rust_pkg_setup # I hate doing this but upstream Rust have yet to come up with a better solution for # us poor packagers. Required for Split LTO units, which are required for CFI. export RUSTC_BOOTSTRAP=1 - - # Chromium requires the Rust profiler library while setting up its build environment. - # Since a standard Rust comes with the profiler, instead of patching it out (build/rust/std/BUILD.gn#L103) - # we'll just do a sanity check on the selected slot. - # The -bin always contains profiler support, so we only need to check for the non-bin version. - if [[ "$(eselect --brief rust show 2>/dev/null)" != *"bin"* ]]; then - local rust_lib_path="${EPREFIX}$(rustc --print target-libdir)" - local profiler_lib=$(find "${rust_lib_path}" -name "libprofiler_builtins-*.rlib" -print -quit) - if [[ -z "${profiler_lib}" ]]; then - eerror "Rust ${rustc_ver} is missing the profiler library." - eerror "ebuild dependency resolution should have ensured that a Rust with the profiler was installed." - die "Please \`eselect\` a Rust slot that has the profiler." - fi - fi fi # Users should never hit this, it's purely a development convenience @@ -946,23 +838,14 @@ chromium_configure() { # rust_bindgen_root = directory with `bin/bindgen` beneath it. myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" - # from get_llvm_prefix - local prefix=${ESYSROOT} - [[ ${1} == -b ]] && prefix=${BROOT} - myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\"" + + myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" # We don't need to set 'clang_base_bath' for anything in our build # and it defaults to the google toolchain location. Instead provide a location # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" - - # We need to provide this to GN in both the path to rust _and_ the version - local rustc_ver=$(chromium_extract_rust_version) - if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" - else - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" - fi - myconf_gn+=" rustc_version=\"${rustc_ver}\"" + myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" + myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" fi # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. diff --git a/www-client/chromium/chromium-131.0.6778.24.ebuild b/www-client/chromium/chromium-131.0.6778.24-r1.ebuild index 3a1fa9fc3807..981c37fea572 100644 --- a/www-client/chromium/chromium-131.0.6778.24.ebuild +++ b/www-client/chromium/chromium-131.0.6778.24-r1.ebuild @@ -9,7 +9,6 @@ EAPI=8 # Use 132 as a base for new official tarballs. GN_MIN_VER=0.2165 -RUST_MIN_VER=1.78.0 # chromium-tools/get-chromium-toolchain-strings.py TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 @@ -19,15 +18,13 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW" -# While prerelease llvm is actually used in the google build, until we have a -# sane way to select 'rust built with this llvm slot' that isn't stable and testing -# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. LLVM_COMPAT=( {17..19} ) PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="xml(+)" +RUST_MIN_VER=1.78.0 -inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils multiprocessing ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils +inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://www.chromium.org/" @@ -167,29 +164,6 @@ DEPEND="${COMMON_DEPEND} ) " -depend_clang_llvm_version() { - echo "sys-devel/clang:$1" - echo "sys-devel/llvm:$1" - echo "=sys-devel/lld-$1*" - echo "virtual/rust:0/llvm-${1}[profiler(-)]" - echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )" -} - -# Parse LLVM_COMPAT and generate a usedep for each version -depend_clang_llvm_versions() { - if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then - depend_clang_llvm_version ${#LLVM_COMPAT[0]} - else - echo "|| (" - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - echo "(" - depend_clang_llvm_version ${LLVM_COMPAT[i]} - echo ")" - done - echo ")" - fi -} - BDEPEND=" ${COMMON_SNAPSHOT_DEPEND} ${PYTHON_DEPS} @@ -201,7 +175,11 @@ BDEPEND=" qt5? ( dev-qt/qtcore:5 ) qt6? ( dev-qt/qtbase:6 ) ) - $(depend_clang_llvm_versions) + $(llvm_gen_dep " + sys-devel/clang:\${LLVM_SLOT} + sys-devel/llvm:\${LLVM_SLOT} + sys-devel/lld:\${LLVM_SLOT} + ") pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 @@ -296,47 +274,6 @@ pkg_pretend() { fi } -# Chromium should build with any version of clang that we support -# but we may need to pick the "best" one for a build (highest installed, -# rust is built against it, etc.) -# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available -# and output the _highest_ slot that is actually available on a system. -chromium_pick_llvm_slot() { - # LLVM_COMPAT is always going to be oldest to newest (or one value) - # let's flip it and check from newest to oldest and return the first one we find. - local slot - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - slot=${LLVM_COMPAT[i]} - if has_version "sys-devel/clang:${slot}" && \ - has_version "sys-devel/llvm:${slot}" && \ - has_version "sys-devel/lld:${slot}" && \ - has_version "virtual/rust:0/llvm-${slot}" && \ - ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then - - echo "${slot}" - return - fi - done - - die_msg=" -No suitable clang/llvm/lld slot found. -Slots checked: ${LLVM_COMPAT[*]}. -" - die "${die_msg}" -} - -# We need the rust version in src_configure and pkg_setup -chromium_extract_rust_version() { - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - echo $rustc_version -} - pkg_setup() { if [[ ${MERGE_TYPE} != binary ]]; then # The pre_build_checks are all about compilation resources, no need to run it for a binpkg @@ -374,8 +311,7 @@ pkg_setup() { die "Please switch to a different linker." fi - LLVM_SLOT=$(chromium_pick_llvm_slot) - export LLVM_SLOT # used in src_configure for rust-y business + # Forcing clang; user choice respected by llvm_slot_x USE AR=llvm-ar CPP="${CHOST}-clang++ -E" NM=llvm-nm @@ -387,52 +323,13 @@ pkg_setup() { CPP="${CBUILD}-clang++ -E" fi - # The llvm-r1_pkg_setup we have at home. - # We prepend the path _first_ to explicitly use the selected slot. - llvm_prepend_path "${LLVM_SLOT}" - - llvm_fix_clang_version CC CPP CXX - llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB - llvm_fix_tool_path READELF STRINGS STRIP - - # Set LLVM_CONFIG to help Meson (bug #907965) but only do it - # for empty ESYSROOT (as a proxy for "are we cross-compiling?"). - if [[ -z ${ESYSROOT} ]] ; then - llvm_fix_tool_path LLVM_CONFIG - fi - - einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" - - rustc_ver=$(chromium_extract_rust_version) - if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required to build Chromium" - eerror "The currently selected version is ${rustc_ver}" - eerror "Please run \`eselect rust\` and select an appropriate Rust." - die "Selected Rust version is too old" - else - einfo "Using Rust ${rustc_ver} to build" - fi - - export rustc_ver # used in src_configure, may as well avoid calling it again + llvm-r1_pkg_setup + rust_pkg_setup # I hate doing this but upstream Rust have yet to come up with a better solution for # us poor packagers. Required for Split LTO units, which are required for CFI. export RUSTC_BOOTSTRAP=1 - # Chromium requires the Rust profiler library while setting up its build environment. - # Since a standard Rust comes with the profiler, instead of patching it out (build/rust/std/BUILD.gn#L103) - # we'll just do a sanity check on the selected slot. - # The -bin always contains profiler support, so we only need to check for the non-bin version. - if [[ "$(eselect --brief rust show 2>/dev/null)" != *"bin"* ]]; then - local rust_lib_path="${EPREFIX}$(rustc --print target-libdir)" - local profiler_lib=$(find "${rust_lib_path}" -name "libprofiler_builtins-*.rlib" -print -quit) - if [[ -z "${profiler_lib}" ]]; then - eerror "Rust ${rustc_ver} is missing the profiler library." - eerror "ebuild dependency resolution should have ensured that a Rust with the profiler was installed." - die "Please \`eselect\` a Rust slot that has the profiler." - fi - fi - # Users should never hit this, it's purely a development convenience if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" @@ -926,22 +823,14 @@ chromium_configure() { # rust_bindgen_root = directory with `bin/bindgen` beneath it. myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" - # from get_llvm_prefix - local prefix=${ESYSROOT} - [[ ${1} == -b ]] && prefix=${BROOT} - myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\"" + myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" # We don't need to set 'clang_base_bath' for anything in our build # and it defaults to the google toolchain location. Instead provide a location # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" - # We need to provide this to GN in both the path to rust _and_ the version - if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" - else - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" - fi - myconf_gn+=" rustc_version=\"${rustc_ver}\"" + myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" + myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. myconf_gn+=" is_debug=false" diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 1b3731429f96..00e5633b07a5 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -619,10 +619,10 @@ DIST firefox-132.0.1-zh-CN.xpi 672173 BLAKE2B 103aae4cfa0847f6c6d598ebc13e69b30d DIST firefox-132.0.1-zh-TW.xpi 674245 BLAKE2B 6f74de755ae7f3f87dd9fc2d905b77595c27c3698cc8ee214414ff704903f5ceadcf634b6407506143b541bb30918c92fe1cd8e855d149da0539404bcb67d10d SHA512 a0e24d82e9e33c4b2a28ff08576f3c1652609ab59f354a7fc14c63667715f9ab64ea2d2798b1c7af5c21ab4c0cd19d0eef9a730f24ba567c4cedc29b8e9cbd67 DIST firefox-132.0.1.source.tar.xz 577539004 BLAKE2B 2773f6f74088954ab067df978e7069cbd92d96933190b32a24c7762ae7f300a8b4b9c95d6fee36ccceceebda86b51fd3842074d49869f8fa0cda5cb98402ed54 SHA512 10d5b05f61628deb9a69cb34b2cf3c75bb6b8768f5a718cef2157d5feb1671ede0d583439562e1c1221914eb6ed37fdf415dd651b1465c056be174136cd80b9d DIST firefox-132.0.source.tar.xz 564734500 BLAKE2B e1fb70d2d699153921bcb500801b77beeba8e1ff79ef9af678a0c573c252f61d7ad20e9f0676fe2fa2731bf14af7d2eff30c0b3b562102820fddb06f63a66a91 SHA512 254ffba16d6e6c61cffaa8131f81a9a78880e5723b7ee78ac36251a27d82e6ff088238ae289d07469ba3a51b5b5969a08ecd1fc02dcb4d93325a08fac1cfc916 -EBUILD firefox-115.16.1.ebuild 39935 BLAKE2B d2634c9a774135b121da45942a0b7a2614695503b13b1f277703dc54f2d8a0dbfaba7e19b1665b0fe503723d61439498c3dd7b352bd1696619de1bf46cd92a7e SHA512 db5f90432d1c6f8c88ba54faed8fe6adbc6ac345bb45976fe1a02056b642dda9495e11695dd5fd04d1c8b8edcab83a0f0f06cdfd9806e3aec605c5ef01fcdbac -EBUILD firefox-128.3.1.ebuild 41715 BLAKE2B 35226120d233ff6fd60e9ff74b0417f4d370d11c0ea9cb1b48bf17ff8bf7eb6ff3296d857dfaefecedf91227726766536b37828ed2a8c478f0f69815cfcca3ef SHA512 663a87d2122261f683515c64fbe9d9e3c372aa098c7b8a0af57862d27489981f55c122e9165945a08e1f15ad8f75c70295059460252211bbd29911d0ca1f2992 -EBUILD firefox-128.4.0.ebuild 40641 BLAKE2B ca57953facd55af93cb7f2b858db6c3a2d6237e9efaa23f4a302709839a4373ac4814de2f48387afb06ac6b604f17578fd1d34bfffbfb3052aa382d486701102 SHA512 a9835cb36e4293d2ec9b96053cd598be1a0c56018da0e657075418feb3a9699ba8111a1a682292cb15ec7eac58026d30ce14e7db6e3b0761add8c72f6d0c191f -EBUILD firefox-131.0.3.ebuild 41525 BLAKE2B ce0d47247dd85f5616ad4fece1ad415a3825d1aa47c8b983f2d2e9cc05f0646762f00911efc700a52d212077fa2fb61c0ead79a4947f18bb6ff9334969f46c1f SHA512 49ff2e9ce2e611113596dc51e047dc00b112203fdf2b1074c298072e4babbd35149aa421870c0b422e4c7749f71ccbe8d875eb91c9e11136765035f418efd81c -EBUILD firefox-132.0.1.ebuild 40318 BLAKE2B c1419a3fdc8b1ba567cb09dca7532c4005e38b1c7646484a3e920585c10a94e43d7a73e17032bf72a5c2632a0afea15e428eb2d6c852a8a34a06ae875f6d538e SHA512 13cdef62ab5fa86840ba9417241a0c6262364de1bdd5fc735ffacf92fe26a1bff5a518b87dc507489ff50a679327cea447179de2dea43e572e3b9d619e9bf529 -EBUILD firefox-132.0.ebuild 40448 BLAKE2B bf1dfc6ae70f39fe3ad6bb86fb41eb39c34758ec97b7884a131e292e1d0261e1718329cd19cfab24e51df3571d7a3cc06c5154ed176d3628c9f50398e8cfbf05 SHA512 f541036ce97d118efe9b209c3ab22eb1ca15efeb552af235336ad4ae3342f9ad47fc295233217dd7d00fc0e712b04daaa1f01a0ec2315eea5304ee1fa0efd401 +EBUILD firefox-115.16.1-r1.ebuild 39187 BLAKE2B 2e708bb20394605304630e3b9e12b4dbfcaf9f300d6b60a182e943f4c7f19fb5a1996cd6c4a6216965b5c04309613b0e9cfc82053642cbdb0c9c25a034aed4c2 SHA512 184aa94944271de9c19a5ed6fa6a9af60ba25c14aabff66bcac9c1025ebd161d1ca060b2c05feabefba1c79e403f26c3817f9372031673f5c266234b922557cb +EBUILD firefox-128.3.1-r1.ebuild 41479 BLAKE2B 6cef8a8aa4e038bd8514520f5d420025757ad136151cf642d2ca82081b5bb995c49cf59e352492ad259f04eab4ffc1e3fd1b801957cd2a67cc6054a7f4c565a4 SHA512 47cf75b11a2334a10e2d6a564505a3b8f5c75b74ce2d99fcadbc2c633dd5f74fb2cc05bc4f2eb0df3a26e61d5e1ddd4906376d004bef1b15157d053bfcc84074 +EBUILD firefox-128.4.0-r1.ebuild 41054 BLAKE2B 996c9188f5bee45b13a5d87a16492eb6001d58c7545be1bd66e852257d0cd590277645c04103ec79b65f81069cf4f5bd34871bebf75d50a1d04df6acfa4705c6 SHA512 689ff62ac32c3dfaacc4d25210e80ea28e9d05ca6fe61ecd0e17ea8d5c3fad6daf22f6e11263c73bdac12dea00fbf83de068836eb6e73566823efcf048e00366 +EBUILD firefox-131.0.3-r1.ebuild 41029 BLAKE2B 407c7a730dcbd88341ad8f2ca59c71aa7ada044bb8675baa4a52f4e9acfb9dd8a9dc2ff8a472e1f1c071021562feb5749e8e8adf11bb33b3b57aa0ac841cb7a3 SHA512 606df7613bbee59f3e336196d7fdaaa1e7f874cf8f33c9cca8679917bdd51414908e8607f0cb26ee683120ef05bdd762aa9304bb3d521d93757d0c1a7a8d1f2c +EBUILD firefox-132.0-r1.ebuild 39735 BLAKE2B 8dee8322db7ec172ef1c4506be7cddd92d466d6fcb13ae1e976a5a1ee9be5fec3a43a16050601fde71c241573e5ef9e4892bee500dc235af2e9de6cc06a939d4 SHA512 f44c7fa1cfa5c425dac389ddd942f38f02b1e43cb7d386a5e9ac3cc293cb094967d7a8bc5b150766216479123bd4d06866001354185c499e92e30a2af2e5e81e +EBUILD firefox-132.0.1-r1.ebuild 39605 BLAKE2B 4ed4bfbdec0ed2bfa9a63762e6c99ab2b84ea4e52f4dc864044173e510fd1d6affb7d0603c1e02350f36230909fefd39385b6773e2a56d056062c6f50e1be818 SHA512 ddd0f6f13df09e4b20fd1a0c848d6c4f4b9e071e095e2199685a2699d1788d3d5d005b1eb41ceafbc42c5186ca4d848f10c56f235eb4c66430253e210ddda793 MISC metadata.xml 2675 BLAKE2B 57721fdb9b8e0f1ea4a7d96dc284d5bc2f02e486086778bcb56f1a6166e327c4a06766cc4f2a7dd3716eef352c78ae28659971d9c71880d3ab22524ff060f57c SHA512 e0331f26da3dfa53b5f5c3b68e1f19b02dff662bc70bf4275d55edc077a508ac26be031f8693000fc903ea84c637cfc656358aa8f20f42747dd9a6994df6d724 diff --git a/www-client/firefox/firefox-115.16.1.ebuild b/www-client/firefox/firefox-115.16.1-r1.ebuild index 02142c4cbddb..e01a588149b5 100644 --- a/www-client/firefox/firefox-115.16.1.ebuild +++ b/www-client/firefox/firefox-115.16.1-r1.ebuild @@ -5,10 +5,11 @@ EAPI=8 FIREFOX_PATCHSET="firefox-115esr-patches-13.tar.xz" -LLVM_MAX_SLOT=18 +LLVM_COMPAT=(17 18) PYTHON_COMPAT=( python3_{10..11} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" +RUST_NEEDS_LLVM=1 WANT_AUTOCONF="2.1" @@ -37,8 +38,8 @@ MOZ_P="${MOZ_PN}-${MOZ_PV}" MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -51,7 +52,7 @@ PATCH_URIS=( ) DESCRIPTION="Firefox Web Browser" -HOMEPAGE="https://www.mozilla.com/firefox" +HOMEPAGE="https://www.mozilla.org/firefox" SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz ${PATCH_URIS[@]}" S="${WORKDIR}/${PN}-${PV%_*}" @@ -77,57 +78,20 @@ FF_ONLY_DEPEND="!www-client/firefox:0 screencast? ( media-video/pipewire:= ) selinux? ( sec-policy/selinux-mozilla )" BDEPEND="${PYTHON_DEPS} - || ( - ( - sys-devel/clang:18 - sys-devel/llvm:18 - clang? ( - sys-devel/lld:18 - virtual/rust:0/llvm-18 - pgo? ( =sys-libs/compiler-rt-sanitizers-18*[profile] ) - ) - ) - ( - sys-devel/clang:17 - sys-devel/llvm:17 - clang? ( - sys-devel/lld:17 - virtual/rust:0/llvm-17 - pgo? ( =sys-libs/compiler-rt-sanitizers-17*[profile] ) - ) - ) - ( - sys-devel/clang:16 - sys-devel/llvm:16 - clang? ( - sys-devel/lld:16 - virtual/rust:0/llvm-16 - pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] ) - ) - ) - ( - sys-devel/clang:15 - sys-devel/llvm:15 - clang? ( - sys-devel/lld:15 - virtual/rust:0/llvm-15 - pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) - ) + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + clang? ( + sys-devel/lld:${LLVM_SLOT} ) - ) + pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ') app-alternatives/awk app-arch/unzip app-arch/zip >=dev-util/cbindgen-0.24.3 net-libs/nodejs virtual/pkgconfig - !clang? ( virtual/rust ) - !elibc_glibc? ( - || ( - dev-lang/rust - <dev-lang/rust-bin-1.73 - ) - ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( @@ -249,11 +213,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" @@ -537,7 +496,8 @@ pkg_setup() { check-reqs_pkg_setup - llvm_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup if use clang && use lto && tc-ld-is-lld ; then local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') diff --git a/www-client/firefox/firefox-128.3.1.ebuild b/www-client/firefox/firefox-128.3.1-r1.ebuild index 22d0a2570ee5..6ab88f43f63d 100644 --- a/www-client/firefox/firefox-128.3.1.ebuild +++ b/www-client/firefox/firefox-128.3.1-r1.ebuild @@ -10,6 +10,10 @@ LLVM_COMPAT=( 17 18 ) PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" +RUST_NEEDS_LLVM=1 +RUST_MIN_VER=1.77.1 + + WANT_AUTOCONF="2.1" VIRTUALX_REQUIRED="manual" @@ -30,10 +34,10 @@ fi if [[ -n ${MOZ_ESR} ]] ; then # ESR releases have slightly different version numbers MOZ_PV="${MOZ_PV}esr" - HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" SLOT="esr" else - HOMEPAGE="https://www.mozilla.com/firefox" + HOMEPAGE="https://www.mozilla.org/firefox" SLOT="rapid" fi @@ -43,7 +47,7 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -83,7 +87,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} ) pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ') @@ -93,8 +96,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( @@ -220,10 +221,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then diff --git a/www-client/firefox/firefox-128.4.0.ebuild b/www-client/firefox/firefox-128.4.0-r1.ebuild index 2bba7a648bda..f0293ac98385 100644 --- a/www-client/firefox/firefox-128.4.0.ebuild +++ b/www-client/firefox/firefox-128.4.0-r1.ebuild @@ -10,6 +10,11 @@ LLVM_COMPAT=( 17 18 19 ) PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.77.1 + WANT_AUTOCONF="2.1" VIRTUALX_REQUIRED="manual" @@ -30,10 +35,10 @@ fi if [[ -n ${MOZ_ESR} ]] ; then # ESR releases have slightly different version numbers MOZ_PV="${MOZ_PV}esr" - HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" SLOT="esr" else - HOMEPAGE="https://www.mozilla.com/firefox" + HOMEPAGE="https://www.mozilla.org/firefox" SLOT="rapid" fi @@ -43,7 +48,7 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -62,7 +67,7 @@ S="${WORKDIR}/${PN}-${PV%_*}" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86" -IUSE="clang dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy lto openh264 pgo" +IUSE="clang dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy openh264 pgo" IUSE+=" pulseaudio selinux sndio +system-av1 +system-harfbuzz +system-icu +system-jpeg" IUSE+=" +system-libevent +system-libvpx system-png +system-webp +telemetry wayland wifi +X" @@ -71,7 +76,6 @@ IUSE+=" +gmp-autoupdate gnome-shell" REQUIRED_USE="|| ( X wayland ) debug? ( !system-av1 ) - pgo? ( lto ) wayland? ( dbus ) wifi? ( dbus )" @@ -83,7 +87,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} ) pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ') @@ -93,8 +96,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( @@ -220,11 +221,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 @@ -447,7 +443,7 @@ pkg_pretend() { fi # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then + if use pgo || tc-is-lto || use debug ; then CHECKREQS_DISK_BUILD="13500M" else CHECKREQS_DISK_BUILD="6600M" @@ -458,15 +454,34 @@ pkg_pretend() { } pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-lto + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + if use pgo ; then + if [[ ${use_lto} == "no" ]]; then + elog "Building ${PN} with USE=pgo requires LTO, however this was not detected in your environment." + elog "Forcing LTO, however it is recommended to enable LTO explicitly." + use_lto=yes + fi if ! has userpriv ${FEATURES} ; then eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" fi fi # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then + if use pgo || [[ ${use_lto} == "yes" ]] || use debug ; then CHECKREQS_DISK_BUILD="13500M" else CHECKREQS_DISK_BUILD="6400M" @@ -475,8 +490,9 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup - if use clang && use lto && tc-ld-is-lld ; then + if use clang && [[ ${use_lto} == "yes" ]] && 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!" @@ -490,7 +506,7 @@ pkg_setup() { eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" - eerror " - Build ${CATEGORY}/${PN} without USE=lto" + eerror " - Build ${CATEGORY}/${PN} without lto" eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " eerror " llvm/clang/lld/rust chain depending on your @world updates)" die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" @@ -551,6 +567,8 @@ pkg_setup() { export LC_ALL=C fi + export use_lto + CONFIG_CHECK="~SECCOMP" WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." linux-info_pkg_setup @@ -574,7 +592,7 @@ src_unpack() { } src_prepare() { - if use lto; then + if [[ ${use_lto} == "yes" ]]; then rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die fi @@ -904,13 +922,7 @@ src_configure() { mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only fi - # LTO is handled via configure. - # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, - # bmo#1516758, bgo#942288 - filter-lto - filter-flags -Werror=lto-type-mismatch -Werror=odr - - if use lto ; then + if [[ ${use_lto} == "yes" ]]; then if use clang ; then # Upstream only supports lld or mold when using clang. if tc-ld-is-mold ; then @@ -1085,7 +1097,7 @@ src_configure() { src_compile() { local virtx_cmd= - if tc-ld-is-mold && use lto; then + if tc-ld-is-mold && [[ ${use_lto} == "yes" ]]; then # increase ulimit with mold+lto, bugs #892641, #907485 if ! ulimit -n 16384 1>/dev/null 2>&1 ; then ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." diff --git a/www-client/firefox/firefox-131.0.3.ebuild b/www-client/firefox/firefox-131.0.3-r1.ebuild index e746e07abc33..0ce5be76b3ca 100644 --- a/www-client/firefox/firefox-131.0.3.ebuild +++ b/www-client/firefox/firefox-131.0.3-r1.ebuild @@ -10,6 +10,11 @@ LLVM_COMPAT=( 17 18 19 ) PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.77.1 + WANT_AUTOCONF="2.1" VIRTUALX_REQUIRED="manual" @@ -30,10 +35,10 @@ fi if [[ -n ${MOZ_ESR} ]] ; then # ESR releases have slightly different version numbers MOZ_PV="${MOZ_PV}esr" - HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" SLOT="esr" else - HOMEPAGE="https://www.mozilla.com/firefox" + HOMEPAGE="https://www.mozilla.org/firefox" SLOT="rapid" fi @@ -43,7 +48,7 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -86,7 +91,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} ) pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ') @@ -96,8 +100,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( @@ -224,11 +226,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 @@ -451,7 +448,7 @@ pkg_pretend() { fi # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then + if use pgo || tc-is-lto || use debug ; then CHECKREQS_DISK_BUILD="13500M" else CHECKREQS_DISK_BUILD="6600M" @@ -462,15 +459,33 @@ pkg_pretend() { } pkg_setup() { + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-lto + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + if use pgo ; then + if [[ ${use_lto} == "no" ]] ; then + elog "Building ${PN} with USE=pgo requires LTO, however this was not detected in your environment." + elog "Forcing LTO, however it is recommended to enable LTO explicitly." + use_lto=yes + fi if ! has userpriv ${FEATURES} ; then eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" fi fi # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then + if [[ "${use_lto}" == "yes" ]] || use pgo || use debug ; then CHECKREQS_DISK_BUILD="13500M" else CHECKREQS_DISK_BUILD="6400M" @@ -479,25 +494,12 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup - 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!" - - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" - - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" - eerror " - Build ${CATEGORY}/${PN} without USE=lto" - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " - eerror " llvm/clang/lld/rust chain depending on your @world updates)" - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + if [[ ${use_lto} == "yes" ]] && use clang; then + if ! (tc-ld-is-lld || tc-ld-is-mold) ; then + eerror "Building ${PN} with LTO and Clang requires the sys-devel/lld or sys-devel/mold linker!" + die "Please fix your toolchain configuration." fi fi @@ -555,6 +557,8 @@ pkg_setup() { export LC_ALL=C fi + export use_lto + CONFIG_CHECK="~SECCOMP" WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." linux-info_pkg_setup @@ -578,7 +582,7 @@ src_unpack() { } src_prepare() { - if use lto; then + if [[ "${use_lto}" == "yes" ]]; then rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die fi @@ -900,7 +904,7 @@ src_configure() { # LTO is handled via configure filter-lto - if use lto ; then + if [[ "${use_lto}" == "yes" ]] ; then if use clang ; then # Upstream only supports lld or mold when using clang. if tc-ld-is-mold ; then @@ -1087,7 +1091,7 @@ src_configure() { src_compile() { local virtx_cmd= - if tc-ld-is-mold && use lto; then + if tc-ld-is-mold && [[ ${use_lto} == "yes" ]]; then # increase ulimit with mold+lto, bugs #892641, #907485 if ! ulimit -n 16384 1>/dev/null 2>&1 ; then ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." diff --git a/www-client/firefox/firefox-132.0.ebuild b/www-client/firefox/firefox-132.0-r1.ebuild index 8cfa5b1c3a92..2987f1489cb0 100644 --- a/www-client/firefox/firefox-132.0.ebuild +++ b/www-client/firefox/firefox-132.0-r1.ebuild @@ -6,6 +6,10 @@ EAPI=8 FIREFOX_PATCHSET="firefox-132-patches-01.tar.xz" LLVM_COMPAT=( 17 18 19 ) +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.77.1 PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" @@ -30,10 +34,10 @@ fi if [[ -n ${MOZ_ESR} ]] ; then # ESR releases have slightly different version numbers MOZ_PV="${MOZ_PV}esr" - HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" SLOT="esr" else - HOMEPAGE="https://www.mozilla.com/firefox" + HOMEPAGE="https://www.mozilla.org/firefox" SLOT="rapid" fi @@ -43,7 +47,7 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 rust readme.gentoo-r1 toolchain-funcs virtualx xdg MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -62,7 +66,7 @@ S="${WORKDIR}/${PN}-${PV%_*}" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" -IUSE="clang dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy lto openh264 pgo" +IUSE="clang dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy openh264 pgo" IUSE+=" pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu +system-jpeg" IUSE+=" +system-jpeg +system-libevent +system-libvpx system-png +system-webp +telemetry valgrind" IUSE+=" wayland wifi +X" @@ -74,9 +78,9 @@ IUSE+=" +gmp-autoupdate gnome-shell" REQUIRED_USE="|| ( X wayland ) debug? ( !system-av1 ) !jumbo-build? ( clang ) - pgo? ( lto ) wayland? ( dbus ) - wifi? ( dbus )" + wifi? ( dbus ) +" FF_ONLY_DEPEND="!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla )" @@ -86,7 +90,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} ) pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ') @@ -96,8 +99,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( @@ -224,11 +225,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 @@ -451,7 +447,7 @@ pkg_pretend() { fi # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then + if use pgo || tc-is-lto || use debug ; then CHECKREQS_DISK_BUILD="13500M" else CHECKREQS_DISK_BUILD="6600M" @@ -462,15 +458,34 @@ pkg_pretend() { } pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-lto + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + if use pgo ; then + if [[ ${use_lto} == "no" ]] ; then + elog "Building ${PN} with USE=pgo requires LTO, however this was not detected in your environment." + elog "Forcing LTO, however it is recommended to enable LTO explicitly." + use_lto=yes + fi if ! has userpriv ${FEATURES} ; then eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" fi fi # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then + if [[ ${use_lto} == "yes" ]] || use pgo || use debug ; then CHECKREQS_DISK_BUILD="13500M" else CHECKREQS_DISK_BUILD="6400M" @@ -479,25 +494,12 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup - 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!" - - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" - - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" - eerror " - Build ${CATEGORY}/${PN} without USE=lto" - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " - eerror " llvm/clang/lld/rust chain depending on your @world updates)" - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + if [[ ${use_lto} == "yes" ]] && use clang; then + if ! (tc-ld-is-lld || tc-ld-is-mold) ; then + eerror "Building ${PN} with LTO and Clang requires the sys-devel/lld or sys-devel/mold linker!" + die "Please fix your toolchain configuration." fi fi @@ -555,6 +557,8 @@ pkg_setup() { export LC_ALL=C fi + export use_lto + CONFIG_CHECK="~SECCOMP" WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." linux-info_pkg_setup @@ -578,7 +582,7 @@ src_unpack() { } src_prepare() { - if use lto; then + if [[ ${use_lto} == "yes" ]]; then rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die fi @@ -897,13 +901,7 @@ src_configure() { mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only fi - # LTO is handled via configure - # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, - # bmo#1516758, bgo#942288 - filter-lto - filter-flags -Werror=lto-type-mismatch -Werror=odr - - if use lto ; then + if [[ ${use_lto} == "yes" ]] ; then if use clang ; then # Upstream only supports lld or mold when using clang. if tc-ld-is-mold ; then @@ -1086,7 +1084,7 @@ src_configure() { src_compile() { local virtx_cmd= - if tc-ld-is-mold && use lto; then + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; then # increase ulimit with mold+lto, bugs #892641, #907485 if ! ulimit -n 16384 1>/dev/null 2>&1 ; then ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." diff --git a/www-client/firefox/firefox-132.0.1.ebuild b/www-client/firefox/firefox-132.0.1-r1.ebuild index f9ec87f960b8..6f0ec147305c 100644 --- a/www-client/firefox/firefox-132.0.1.ebuild +++ b/www-client/firefox/firefox-132.0.1-r1.ebuild @@ -6,6 +6,10 @@ EAPI=8 FIREFOX_PATCHSET="firefox-132-patches-02.tar.xz" LLVM_COMPAT=( 17 18 19 ) +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.77.1 PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" @@ -30,10 +34,10 @@ fi if [[ -n ${MOZ_ESR} ]] ; then # ESR releases have slightly different version numbers MOZ_PV="${MOZ_PV}esr" - HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" SLOT="esr" else - HOMEPAGE="https://www.mozilla.com/firefox" + HOMEPAGE="https://www.mozilla.org/firefox" SLOT="rapid" fi @@ -43,7 +47,7 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 rust readme.gentoo-r1 toolchain-funcs virtualx xdg MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -62,7 +66,7 @@ S="${WORKDIR}/${PN}-${PV%_*}" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" -IUSE="clang dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy lto openh264 pgo" +IUSE="clang dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy openh264 pgo" IUSE+=" pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu +system-jpeg" IUSE+=" +system-jpeg +system-libevent +system-libvpx system-png +system-webp +telemetry valgrind" IUSE+=" wayland wifi +X" @@ -72,9 +76,9 @@ IUSE+=" +gmp-autoupdate gnome-shell" REQUIRED_USE="|| ( X wayland ) debug? ( !system-av1 ) - pgo? ( lto ) wayland? ( dbus ) - wifi? ( dbus )" + wifi? ( dbus ) +" FF_ONLY_DEPEND="!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla )" @@ -84,7 +88,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} ) pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ') @@ -94,8 +97,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( @@ -222,11 +223,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 @@ -449,7 +445,7 @@ pkg_pretend() { fi # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then + if use pgo || tc-is-lto || use debug ; then CHECKREQS_DISK_BUILD="13500M" else CHECKREQS_DISK_BUILD="6600M" @@ -460,15 +456,34 @@ pkg_pretend() { } pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-lto + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + if use pgo ; then + if [[ ${use_lto} == "no" ]] ; then + elog "Building ${PN} with USE=pgo requires LTO, however this was not detected in your environment." + elog "Forcing LTO, however it is recommended to enable LTO explicitly." + use_lto=yes + fi if ! has userpriv ${FEATURES} ; then eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" fi fi # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then + if [[ ${use_lto} == "yes" ]] || use pgo || use debug ; then CHECKREQS_DISK_BUILD="13500M" else CHECKREQS_DISK_BUILD="6400M" @@ -477,25 +492,12 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup - 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!" - - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" - - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" - eerror " - Build ${CATEGORY}/${PN} without USE=lto" - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " - eerror " llvm/clang/lld/rust chain depending on your @world updates)" - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + if [[ ${use_lto} == "yes" ]] && use clang; then + if ! (tc-ld-is-lld || tc-ld-is-mold) ; then + eerror "Building ${PN} with LTO and Clang requires the sys-devel/lld or sys-devel/mold linker!" + die "Please fix your toolchain configuration." fi fi @@ -553,6 +555,8 @@ pkg_setup() { export LC_ALL=C fi + export use_lto + CONFIG_CHECK="~SECCOMP" WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." linux-info_pkg_setup @@ -576,7 +580,7 @@ src_unpack() { } src_prepare() { - if use lto; then + if [[ ${use_lto} == "yes" ]]; then rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die fi @@ -895,13 +899,7 @@ src_configure() { mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only fi - # LTO is handled via configure - # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, - # bmo#1516758, bgo#942288 - filter-lto - filter-flags -Werror=lto-type-mismatch -Werror=odr - - if use lto ; then + if [[ ${use_lto} == "yes" ]] ; then if use clang ; then # Upstream only supports lld or mold when using clang. if tc-ld-is-mold ; then @@ -1084,7 +1082,7 @@ src_configure() { src_compile() { local virtx_cmd= - if tc-ld-is-mold && use lto; then + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; then # increase ulimit with mold+lto, bugs #892641, #907485 if ! ulimit -n 16384 1>/dev/null 2>&1 ; then ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." diff --git a/www-client/seamonkey/Manifest b/www-client/seamonkey/Manifest index 6af15df5743b..8c803ac6ea9b 100644 --- a/www-client/seamonkey/Manifest +++ b/www-client/seamonkey/Manifest @@ -6,6 +6,6 @@ DIST seamonkey-2.53.18.2.source.tar.xz 252310768 BLAKE2B e10ad79a25d5b6c0a6d1d89 DIST seamonkey-2.53.19-patches.tar.gz 172606 BLAKE2B c634f536d1fb6d6be76f246ac76c0656297644c8993a55cc7f809e3a3577c391b563dea9f01d8cd4b35fc0042c61a9019466d951eaced35656c44032cca44a68 SHA512 9b895e0c592609da109ea16c45466e3d978907a92a3f6eed12f9849ea7258212876b07d3fee8fffbc72a0b168722369ccef44c550dea606799db4498ba9c292f DIST seamonkey-2.53.19.source-l10n.tar.xz 13430044 BLAKE2B d100d077655353317a5416417008289671b1008ae1a533b7b2dff9f4413b146c5fe94b2b53d88291186c4487c06928da973fd900deb8ece317b189a4dba9f470 SHA512 c5b6e3ca0b5d43b230aa528cf04a3264b3e3aa40dc16ba29fe4f2668f97cdaed2edd5fc1ad5afe6203088a3f80b7557ed702c75c496aee69396bad8da2f27545 DIST seamonkey-2.53.19.source.tar.xz 249145892 BLAKE2B 2446c89a9d6aa98a47c71a21a317844c7225f1a633ba59ae6e00aa58da8f5d624c03a9d452c49d3d1bea5c552fcce47a5f661b86ae60d4c3d67bf4de10f92d38 SHA512 fda052d7fb21837cdc79df80eec64f6c973b3fc3fea2ce3554115ba9b623fdf998dd461d5932562c088d2204c4da88e53f90f24e914a6d98382334bba3218e88 -EBUILD seamonkey-2.53.18.2-r1.ebuild 16967 BLAKE2B 9270b34d9273a0fe24111bcd4f5e5dbefacb9b7033ae1feb56f82c6f923f5f57c173b1176008ab92eb87b82d20660ead542f6e2f6285ef7ee43967e41fb3b4f7 SHA512 133aad9d78e861dec6be56287e94b601491bb38b8285e0f2507b39a25c3cda3ab2ddfc2a5cd6d22f3a4a329dd4c5dcaa445a5fab1527e74a6a591afa3a4db4a7 -EBUILD seamonkey-2.53.19.ebuild 16897 BLAKE2B c7d8827ebd5c238421d69512e03357b5978bd04dc53de33ded2a554fde4c6e1047931337441fd633f4f58a314fe06f3eea52c9ef89b8e6798f6b546d08caedba SHA512 c5a4df8567c834522242b57637954dc1b03fe487920f380d3113d1d970998701d325043f4db3a4cb0e89c2fb2ad6b26330a3aacdae300abd6914c9ce31593a04 +EBUILD seamonkey-2.53.18.2-r2.ebuild 16974 BLAKE2B 302a23c462eacc8f9afa70c96ab0144a23bd3be342117b55f7766d56621757997fb1141e6e0c6efe824c44304a9be750e8bcbd534e67ed4a390ad3d61c19506d SHA512 92bd92777869252d24dd347bf9f1919df3caf3c2036bf9b3a4e78962158d1836af96ccd4d761727cac66342269be2eb657c9f933ac3ebbc076d623e2d34f8820 +EBUILD seamonkey-2.53.19-r1.ebuild 16904 BLAKE2B 39ee2f97d406516f36def8cf078f839e3a93c7aa312d72fb7885179632b39157fb87ef01824a405123bca0dd5b6874c95033bf0c35cd5ea4ed470a9e8cd69275 SHA512 b83996430c4faedaa4e9401a9e0aae1d31201c16823f0fb82799be7001bbdba359accc49287d2be6489950c31f5fed960e1484f5222e80eea08dafc503ae2f1c MISC metadata.xml 2182 BLAKE2B ee38b9fda8af84b2559c9ce96f7cb5caadb2835bc7151013dca9afd29a9c56526ea59c79fa7943d243317544a80a2fbaf8020441e9865463712b3d11e5cd7933 SHA512 c67988e076776ab7bad9730d3d54c9a5780d00bc282654cf14fef4f5957354880d9293e2db57bdb820ad2a0a06111fe121ea841d8c0bb1941e2781ee585914bb diff --git a/www-client/seamonkey/seamonkey-2.53.18.2-r1.ebuild b/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild index f0d536cad6e9..4a35f691bde8 100644 --- a/www-client/seamonkey/seamonkey-2.53.18.2-r1.ebuild +++ b/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild @@ -34,7 +34,7 @@ S="${WORKDIR}/${MY_MOZ_P}" MOZ_GENERATE_LANGPACKS=1 MOZ_L10N_SOURCEDIR="${S}/${P}-l10n" inherit autotools check-reqs desktop edos2unix flag-o-matic llvm-r1 mozcoreconf-v6 mozlinguas-v2 pax-utils \ - toolchain-funcs xdg-utils + rust toolchain-funcs xdg-utils DESCRIPTION="Seamonkey Web Browser" HOMEPAGE="https://www.seamonkey-project.org/" @@ -61,7 +61,6 @@ BDEPEND=" sys-devel/llvm:${LLVM_SLOT}= ') virtual/pkgconfig - virtual/rust amd64? ( >=dev-lang/yasm-1.1 ) lto? ( sys-devel/binutils[gold] ) x86? ( >=dev-lang/yasm-1.1 ) @@ -154,6 +153,7 @@ pkg_setup() { llvm-r1_pkg_setup einfo "Using LLVM slot ${LLVM_SLOT} to build." >&2 + rust_pkg_setup moz_pkgsetup } diff --git a/www-client/seamonkey/seamonkey-2.53.19.ebuild b/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild index 6e06f3bd6d4d..7c4e59bd5119 100644 --- a/www-client/seamonkey/seamonkey-2.53.19.ebuild +++ b/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild @@ -37,7 +37,7 @@ S="${WORKDIR}/${MY_MOZ_P}" MOZ_GENERATE_LANGPACKS=1 MOZ_L10N_SOURCEDIR="${S}/${P}-l10n" inherit autotools check-reqs desktop edos2unix flag-o-matic llvm-r1 mozcoreconf-v6 mozlinguas-v2 pax-utils \ - toolchain-funcs xdg-utils + rust toolchain-funcs xdg-utils LICENSE="MPL-2.0 GPL-2 LGPL-2.1" SLOT="0" @@ -61,7 +61,6 @@ BDEPEND=" sys-devel/llvm:${LLVM_SLOT}= ') virtual/pkgconfig - virtual/rust amd64? ( >=dev-lang/yasm-1.1 ) lto? ( sys-devel/binutils[gold] ) x86? ( >=dev-lang/yasm-1.1 ) @@ -155,6 +154,7 @@ pkg_setup() { llvm-r1_pkg_setup einfo "Using LLVM slot ${LLVM_SLOT} to build." >&2 + rust_pkg_setup moz_pkgsetup } |