summaryrefslogtreecommitdiff
path: root/www-client
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-11-07 03:03:27 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-11-07 03:03:27 +0000
commitabe17cf152eeb7571da8db4b25a30465644a41ba (patch)
tree33e648f624199affa607b84e65868f73d25281e6 /www-client
parent2ceda67569b0a59d190a0f6afe73c18336b54268 (diff)
gentoo auto-resync : 07:11:2024 - 03:03:27
Diffstat (limited to 'www-client')
-rw-r--r--www-client/Manifest.gzbin6204 -> 6209 bytes
-rw-r--r--www-client/chromium/Manifest3
-rw-r--r--www-client/chromium/chromium-130.0.6723.116.ebuild1523
-rw-r--r--www-client/firefox/Manifest103
-rw-r--r--www-client/firefox/firefox-132.0.1.ebuild1337
-rw-r--r--www-client/google-chrome-beta/Manifest4
-rw-r--r--www-client/google-chrome-beta/google-chrome-beta-131.0.6778.24.ebuild (renamed from www-client/google-chrome-beta/google-chrome-beta-131.0.6778.13.ebuild)0
-rw-r--r--www-client/google-chrome-unstable/Manifest4
-rw-r--r--www-client/google-chrome-unstable/google-chrome-unstable-132.0.6811.2.ebuild (renamed from www-client/google-chrome-unstable/google-chrome-unstable-132.0.6793.2.ebuild)0
-rw-r--r--www-client/google-chrome/Manifest4
-rw-r--r--www-client/google-chrome/google-chrome-130.0.6723.116.ebuild (renamed from www-client/google-chrome/google-chrome-130.0.6723.91.ebuild)0
-rw-r--r--www-client/microsoft-edge-beta/Manifest4
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.27.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-130.0.2849.52.ebuild)0
-rw-r--r--www-client/microsoft-edge-dev/Manifest4
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-132.0.2917.0.ebuild (renamed from www-client/microsoft-edge-dev/microsoft-edge-dev-131.0.2875.0.ebuild)0
-rw-r--r--www-client/microsoft-edge/Manifest4
-rw-r--r--www-client/microsoft-edge/microsoft-edge-130.0.2849.68.ebuild (renamed from www-client/microsoft-edge/microsoft-edge-130.0.2849.56.ebuild)0
-rw-r--r--www-client/opera-beta/Manifest4
-rw-r--r--www-client/opera-beta/opera-beta-115.0.5322.36.ebuild (renamed from www-client/opera-developer/opera-developer-115.0.5314.0.ebuild)0
-rw-r--r--www-client/opera-developer/Manifest4
-rw-r--r--www-client/opera-developer/opera-developer-116.0.5341.0.ebuild (renamed from www-client/opera-beta/opera-beta-113.0.5230.26-r1.ebuild)2
-rw-r--r--www-client/opera/Manifest4
-rw-r--r--www-client/opera/opera-114.0.5282.154.ebuild (renamed from www-client/opera/opera-114.0.5282.115.ebuild)0
23 files changed, 2985 insertions, 19 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz
index eeca7012e84a..301409553555 100644
--- a/www-client/Manifest.gz
+++ b/www-client/Manifest.gz
Binary files differ
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 32c903a2f303..82e8ab0e1574 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -13,6 +13,8 @@ AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9
DIST chromium-129-clang.tar.xz 52250752 BLAKE2B c7223a1f4a9f52eb631b968ecaea528d19aa14ded23e03e530ad6c46e7e1579a7a010cb347489f1b963013b4f26358be94aeff0f98b5eceb7b1f1e49e8acdfd3 SHA512 43681d64d4480e3f69afd3021037af6910e9c64052edefdb72e99b0a85cd94c4a8eb4095188784d7fa7f52fae10a9bd9db53f2bb80e89f709f92af7ce6403976
DIST chromium-129-rust.tar.xz 152042272 BLAKE2B acde4dc9c0fe232d16f07f3e4b719ea762627e234970866e0de56ec3959c4cd0a7b1b09cf5ccecd50efd1cc35dcf224be3b398c1ea19a79731d6db13c94fa7a9 SHA512 bef8e56cf73de5cefd5fe0bb9836ef65012406ff3d364d36624d30e7b5cdb2634d17ac9e49a60ccb0ac5dd57cf4311b587c5ff0cec26b2fc6e15274abe0dc85b
DIST chromium-129.0.6668.100.tar.xz 6677334468 BLAKE2B b68896322673762ce49ac18dcd731011516f3eff3e98561bcfc2404fea7e5bf8c39fa8c5b19e0dc26f188ec8787ba2b729580024a0ca205c891eaf48a4a0e134 SHA512 366be6dbde59e979186174525431d4823449e0c031bb4dc290f747c7525de44f3e2c821a0c4cd1bbb47ae3bee9fa24efdaa465d8d883791f6c63f20760a4fb48
+DIST chromium-130.0.6723.116-gentoo.tar.xz 4699442864 BLAKE2B 571a012f449b757b6a17309cedb3c5cc7da73dc24b1e352554ab14ded9761ce29c62531e9fcb6c0a2290f89bff0e81f4d2cf39f0984bc5c7fc5e9be8c37bcb59 SHA512 e54beef2b445375cba0b1a290a99f7b41b2b9b965c89c0bb062c99be0825ccf64259440bd2b032bb5b1e46eef15b4a4f66fdaeb9974fcfe6f70d55a49ca47850
+DIST chromium-130.0.6723.116-testdata-gentoo.tar.xz 83048 BLAKE2B d95970073cedb9dd5488886c94c0b629a0a15f248e66a409b57be89b52eececf845c3d79f6bde51f4476e927a058ee257bb6d1b3ca0332910660a6e045ccb00d SHA512 0df42b1e8a3c0be8a07d71153a8bc5fdfc59a18d574d8dfd2fd1a3e17ca197e71dfd332c02547e6b456b5037c924dbbecc4551ac1695f36181e3a9cc884ff83b
DIST chromium-130.0.6723.91-testdata.tar.xz 82744 BLAKE2B e5dc5736d6dcb6f1199868dfd470da16aa41f3041a02e866bfe28c370e8cd589bdf87a5355bd24b04c4c2e2f0f836cd6f9afc65a826c0e3b4c0a9f25474d8217 SHA512 6b3fb93c35438acf28aeb9efb5f6cd2a29db8f2dd9b6587d2e51acaff3d1a599adbd3813cc41c0b797919101c908fc0f046ac82d66797c5ea381930bd066638b
DIST chromium-130.0.6723.91.tar.xz 4675977348 BLAKE2B 0b1afe5905448c3ee009800fccb313a34ae52f5e62c05b655ef5714a7264c4fb06a446d28b98b392d5a7b78531131388db903c83c0a317146bc7887d06fe9e87 SHA512 b2cac142af3c8de4d93f46ddb1a13143a2abbeca2edd4c0726e273f2ceaa5bbf91087a471b7169a8cc60f373f3f2953270cfcfe18f7195b954906e2cd63d2449
DIST chromium-131-clang.tar.xz 52892060 BLAKE2B 7d2619ab3762569fb77bce8ff19056caa07b430e3ed830fdc4a6445611771ee30fd5e7c8bf90c994d5cacc57f516974b0c1c6d973cba52aae0d7fc6de0bde26c SHA512 3c1c4c771e6aa3a15395c16e899729b751cb9cecb27b77a11ccaf079b6a913ac2d5176a3c628d2270653f3d6c66f3d136304d9957dbf18b6632b787c6102e784
@@ -29,6 +31,7 @@ DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b2655123
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
diff --git a/www-client/chromium/chromium-130.0.6723.116.ebuild b/www-client/chromium/chromium-130.0.6723.116.ebuild
new file mode 100644
index 000000000000..b8702db794c7
--- /dev/null
+++ b/www-client/chromium/chromium-130.0.6723.116.ebuild
@@ -0,0 +1,1523 @@
+# Copyright 2009-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# PACKAGING NOTES
+
+# This uses a gentoo-created tarball due to Google CI Failures.
+# 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"
+
+CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
+ 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 )
+PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_REQ_USE="xml(+)"
+
+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
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="https://www.chromium.org/"
+PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6"
+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
+ test? (
+ https://chromium-tarballs.distfiles.gentoo.org/${P}-testdata.tar.xz -> ${P}-testdata-gentoo.tar.xz
+ https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz
+ )
+ ppc64? (
+ https://gitlab.solidsilicon.io/public-development/open-source/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
+ )
+ pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
+
+LICENSE="BSD"
+SLOT="0/stable"
+# 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="~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"
+RESTRICT="
+ !bindist? ( bindist )
+ !test? ( test )
+"
+
+REQUIRED_USE="
+ !headless? ( || ( X wayland ) )
+ pgo? ( X !wayland )
+ qt6? ( qt5 )
+ screencast? ( wayland )
+ ffmpeg-chromium? ( bindist proprietary-codecs )
+"
+
+COMMON_X_DEPEND="
+ x11-libs/libXcomposite:=
+ x11-libs/libXcursor:=
+ x11-libs/libXdamage:=
+ x11-libs/libXfixes:=
+ >=x11-libs/libXi-1.6.0:=
+ x11-libs/libXrandr:=
+ x11-libs/libXrender:=
+ x11-libs/libXtst:=
+ x11-libs/libxshmfence:=
+"
+
+COMMON_SNAPSHOT_DEPEND="
+ system-icu? ( >=dev-libs/icu-73.0:= )
+ >=dev-libs/libxml2-2.12.4:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ dev-libs/libxslt:=
+ media-libs/fontconfig:=
+ >=media-libs/freetype-2.11.0-r1:=
+ system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
+ media-libs/libjpeg-turbo:=
+ system-png? ( media-libs/libpng:=[-apng(-)] )
+ system-zstd? ( >=app-arch/zstd-1.5.5:= )
+ >=media-libs/libwebp-0.4.0:=
+ media-libs/mesa:=[gbm(+)]
+ >=media-libs/openh264-1.6.0:=
+ sys-libs/zlib:=
+ x11-libs/libdrm:=
+ !headless? (
+ dev-libs/glib:2
+ >=media-libs/alsa-lib-1.0.19:=
+ pulseaudio? ( media-libs/libpulse:= )
+ sys-apps/pciutils:=
+ kerberos? ( virtual/krb5 )
+ vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
+ X? (
+ x11-base/xorg-proto:=
+ x11-libs/libX11:=
+ x11-libs/libxcb:=
+ x11-libs/libXext:=
+ )
+ x11-libs/libxkbcommon:=
+ wayland? (
+ dev-libs/libffi:=
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:= )
+ )
+ )
+"
+
+COMMON_DEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ app-arch/bzip2:=
+ dev-libs/expat:=
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ media-libs/flac:=
+ sys-libs/zlib:=[minizip]
+ !headless? (
+ X? ( ${COMMON_X_DEPEND} )
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ media-libs/mesa:=[X?,wayland?]
+ cups? ( >=net-print/cups-1.3.11:= )
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango:=
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !headless? (
+ || (
+ x11-libs/gtk+:3[X?,wayland?]
+ gui-libs/gtk:4[X?,wayland?]
+ )
+ qt5? ( dev-qt/qtgui:5[X?,wayland?] )
+ qt6? ( dev-qt/qtbase:6[X?,wayland?] )
+ )
+ virtual/ttf-fonts
+ selinux? ( sec-policy/selinux-chromium )
+ bindist? (
+ !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
+ ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ !headless? (
+ gtk4? ( gui-libs/gtk:4[X?,wayland?] )
+ !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
+ )
+"
+
+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}
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ >=app-arch/gzip-1.7
+ !headless? (
+ qt5? ( dev-qt/qtcore:5 )
+ qt6? ( dev-qt/qtbase:6 )
+ )
+ $(depend_clang_llvm_versions)
+ pgo? (
+ >=dev-python/selenium-3.141.0
+ >=dev-util/web_page_replay_go-20220314
+ )
+ >=dev-util/bindgen-0.68.0
+ >=dev-build/gn-${GN_MIN_VER}
+ dev-build/ninja
+ dev-lang/perl
+ >=dev-util/gperf-3.0.3
+ dev-vcs/git
+ >=net-libs/nodejs-7.6.0[inspector]
+ >=sys-devel/bison-2.4.3
+ sys-devel/flex
+ virtual/pkgconfig
+"
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+
+For native file dialogs in KDE, install kde-apps/kdialog.
+
+To make password storage work with your desktop environment you may
+have install one of the supported credentials management applications:
+- app-crypt/libsecret (GNOME)
+- kde-frameworks/kwallet (KDE)
+If you have one of above packages installed, but don't want to use
+them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
+in /etc/chromium/default.
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+pre_build_checks() {
+ # Check build requirements: bugs #471810, #541816, #914220
+ # We're going to start doing maths here on the size of an unpacked source tarball,
+ # this should make updates easier as chromium continues to balloon in size.
+ local BASE_DISK=24
+ local EXTRA_DISK=1
+ local CHECKREQS_MEMORY="4G"
+ tc-is-cross-compiler && EXTRA_DISK=2
+ if tc-is-lto || use pgo; then
+ CHECKREQS_MEMORY="9G"
+ tc-is-cross-compiler && EXTRA_DISK=4
+ use pgo && EXTRA_DISK=8
+ fi
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ if use custom-cflags; then
+ EXTRA_DISK=13
+ fi
+ CHECKREQS_MEMORY="16G"
+ fi
+ CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G"
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ 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
+ fi
+
+ if use headless; then
+ local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland")
+ for myiuse in ${headless_unused_flags[@]}; do
+ use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set."
+ done
+ fi
+
+ if ! use bindist && use ffmpeg-chromium; then
+ ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set."
+ 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"
+ # We can rely on GN to do this for us; anecdotally without this builds
+ # take significantly longer with LTO enabled and it doesn't hurt anything.
+ filter-lto
+ fi
+
+ if [ "$use_lto" = "false" ] && use official; then
+ einfo "USE=official selected and LTO not detected."
+ einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
+ einfo "and to be consistent with the upstream \"official\" build optimisations."
+ fi
+
+ if [ "$use_lto" = "false" ] && use test; then
+ die "Tests require CFI which requires LTO"
+ fi
+
+ export use_lto
+
+ # 936858
+ if tc-ld-is-mold; then
+ eerror "Your toolchain is using the mold linker."
+ eerror "This is not supported by Chromium."
+ 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
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+
+ if tc-is-cross-compiler; then
+ use pgo && die "The pgo USE flag cannot be used when cross-compiling"
+ 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
+
+ # 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"
+ fi
+ fi
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+ unpack ${P}-gentoo.tar.xz
+ unpack chromium-patches-${PATCH_V}.tar.bz2
+
+ use pgo && unpack chromium-profiler-0.2.tar
+
+ if use test; then
+ # A new testdata tarball is available for each release; but testfonts tend to remain stable
+ # for the duration of a release.
+ # This unpacks directly into/over ${WORKDIR}/${P} so we can just use `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"
+ fi
+
+ if use ppc64; then
+ unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
+ fi
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # disable global media controls, crashes with libstdc++
+ sed -i -e \
+ "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \
+ "chrome/browser/media/router/media_router_feature.cc"
+
+ local PATCHES=(
+ "${FILESDIR}/chromium-cross-compile.patch"
+ "${FILESDIR}/chromium-109-system-zlib.patch"
+ "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
+ "${FILESDIR}/chromium-126-oauth2-client-switches.patch"
+ "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch"
+ )
+
+ shopt -s globstar nullglob
+ # 130: moved the PPC64 patches into the chromium-patches repo
+ local patch
+ for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do
+ elog "Applying patch: ${patch}"
+ if [[ ${patch} == *"ppc64le"* ]]; then
+ use ppc64 && PATCHES+=( "${patch}" )
+ else
+ PATCHES+=( "${patch}" )
+ fi
+ done
+
+ # We can't use the bundled compiler builtins with the system toolchain
+ # `grep` is a development convenience to ensure we fail early when google changes something.
+ local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {"
+ grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
+ sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn
+
+ if use ppc64; then
+ # Above this level there are ungoogled-chromium patches that we can't apply
+ local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches/ppc64le"
+ # Apply the OpenPOWER patches
+ local power9_patch="patches/ppc64le/core/baseline-isa-3-0.patch"
+ for patch in ${patchset_dir}/**/*.{patch,diff}; do
+ if [[ ${patch} == *"${power9_patch}" ]]; then
+ use cpu_flags_ppc_vsx3 && PATCHES+=( "${patch}" )
+ else
+ PATCHES+=( "${patch}" )
+ fi
+ done
+
+ PATCHES+=( "${WORKDIR}/openpower-patches-${PPC64_HASH}/patches/upstream/blink-fix-size-assertions.patch" )
+ fi
+
+ shopt -u globstar nullglob
+
+ default
+
+ rm third_party/node/linux/node-linux-x64/bin/node || die
+ ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ # adjust python interpreter version
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+
+ # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party'
+ # whitelist matches use the right-most matching path component, so we need to whitelist from that point down.
+ local keeplibs=(
+ base/third_party/cityhash
+ base/third_party/double_conversion
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ chrome/third_party/mozilla_security_manager
+ net/third_party/mozilla_security_manager
+ net/third_party/nss
+ net/third_party/quic
+ net/third_party/uri_template
+ third_party/abseil-cpp
+ third_party/angle
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/ceval
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/volk
+ third_party/anonymous_tokens
+ third_party/apple_apsl
+ third_party/axe-core
+ third_party/bidimapper
+ third_party/blink
+ third_party/boringssl
+ third_party/boringssl/src/third_party/fiat
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ third_party/brotli
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/beautifulsoup4-4.9.3
+ third_party/catapult/third_party/html5lib-1.1
+ third_party/catapult/third_party/polymer
+ third_party/catapult/third_party/six
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jpeg-js
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_3
+ third_party/closure_compiler
+ third_party/content_analysis_sdk
+ third_party/cpuinfo
+ third_party/crabbyavif
+ third_party/crashpad
+ third_party/crashpad/crashpad/third_party/lss
+ third_party/crashpad/crashpad/third_party/zlib
+ third_party/crc32c
+ third_party/cros_system_api
+ third_party/d3
+ third_party/dav1d
+ third_party/dawn
+ third_party/dawn/third_party/gn/webgpu-cts
+ third_party/dawn/third_party/khronos
+ third_party/depot_tools
+ third_party/devscripts
+ third_party/devtools-frontend
+ third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/devtools-frontend/src/front_end/third_party/axe-core
+ third_party/devtools-frontend/src/front_end/third_party/chromium
+ third_party/devtools-frontend/src/front_end/third_party/codemirror
+ third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
+ third_party/devtools-frontend/src/front_end/third_party/diff
+ third_party/devtools-frontend/src/front_end/third_party/i18n
+ third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/lighthouse
+ third_party/devtools-frontend/src/front_end/third_party/lit
+ third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
+ third_party/devtools-frontend/src/front_end/third_party/marked
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
+ third_party/devtools-frontend/src/front_end/third_party/third-party-web
+ third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser
+ third_party/devtools-frontend/src/front_end/third_party/web-vitals
+ third_party/devtools-frontend/src/third_party
+ third_party/distributed_point_functions
+ third_party/dom_distiller_js
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ third_party/fast_float
+ third_party/fdlibm
+ third_party/ffmpeg
+ third_party/fft2d
+ third_party/flatbuffers
+ third_party/fp16
+ third_party/freetype
+ third_party/fusejs
+ third_party/fxdiv
+ third_party/gemmlowp
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/highway
+ third_party/hunspell
+ third_party/iccjpeg
+ third_party/inspector_protocol
+ third_party/ipcz
+ third_party/jinja2
+ third_party/jsoncpp
+ third_party/jstemplate
+ third_party/khronos
+ third_party/lens_server_proto
+ third_party/leveldatabase
+ third_party/libaddressinput
+ third_party/libaom
+ third_party/libaom/source/libaom/third_party/fastfeat
+ third_party/libaom/source/libaom/third_party/SVT-AV1
+ third_party/libaom/source/libaom/third_party/vector
+ third_party/libaom/source/libaom/third_party/x86inc
+ third_party/libavif
+ third_party/libc++
+ third_party/libevent
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libphonenumber
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libsync
+ third_party/liburlpattern
+ third_party/libva_protected_content
+ third_party/libvpx
+ third_party/libvpx/source/libvpx/third_party/x86inc
+ third_party/libwebm
+ third_party/libx11
+ third_party/libxcb-keysyms
+ third_party/libxml/chromium
+ third_party/libyuv
+ third_party/libzip
+ third_party/lit
+ third_party/lottie
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/mako
+ third_party/markupsafe
+ third_party/material_color_utilities
+ third_party/mesa
+ third_party/metrics_proto
+ third_party/minigbm
+ third_party/modp_b64
+ third_party/nasm
+ third_party/nearby
+ third_party/neon_2_sse
+ third_party/node
+ third_party/omnibox_proto
+ third_party/one_euro_filter
+ third_party/openscreen
+ third_party/openscreen/src/third_party/
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/opus
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg
+ third_party/pdfium/third_party/libtiff
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/chromium
+ third_party/perfetto/protos/third_party/simpleperf
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private_membership
+ third_party/private-join-and-compute
+ third_party/protobuf
+ third_party/pthreadpool
+ third_party/puffin
+ third_party/pyjson5
+ third_party/pyyaml
+ third_party/qcms
+ third_party/rapidhash
+ third_party/re2
+ third_party/rnnoise
+ third_party/rust
+ third_party/ruy
+ third_party/s2cellid
+ third_party/securemessage
+ third_party/selenium-atoms
+ third_party/sentencepiece
+ third_party/sentencepiece/src/third_party/darts_clone
+ third_party/shell-encryption
+ third_party/simplejson
+ third_party/six
+ third_party/skia
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ third_party/spirv-headers
+ third_party/spirv-tools
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/astc-encoder
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/marl
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
+ third_party/swiftshader/third_party/SPIRV-Tools
+ third_party/swiftshader/third_party/subzero
+ third_party/tensorflow_models
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/tflite/src/third_party/xla/third_party/tsl
+ third_party/tflite/src/third_party/xla/xla/tsl/util
+ third_party/tflite/src/third_party/xla/xla/tsl/framework
+ third_party/ukey2
+ third_party/unrar
+ third_party/utf
+ third_party/vulkan
+ third_party/wayland
+ third_party/webdriver
+ third_party/webgpu-cts
+ third_party/webrtc
+ third_party/webrtc/common_audio/third_party/ooura
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor
+ third_party/webrtc/modules/third_party/fft
+ third_party/webrtc/modules/third_party/g711
+ third_party/webrtc/modules/third_party/g722
+ third_party/webrtc/rtc_base/third_party/base64
+ third_party/webrtc/rtc_base/third_party/sigslot
+ third_party/widevine
+ third_party/woff2
+ third_party/wuffs
+ third_party/x11proto
+ third_party/xcbproto
+ third_party/xnnpack
+ third_party/zlib/google
+ third_party/zxcvbn-cpp
+ url/third_party/mozilla
+ v8/src/third_party/siphash
+ v8/src/third_party/utf8-decoder
+ v8/src/third_party/valgrind
+ v8/third_party/glibc
+ v8/third_party/inspector_protocol
+ v8/third_party/v8
+
+ # gyp -> gn leftovers
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ third_party/xdg-utils
+ )
+
+ if use test; then
+ # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}'
+ keeplibs+=(
+ third_party/google_benchmark/src/include/benchmark
+ third_party/google_benchmark/src/src
+ third_party/perfetto/protos/third_party/pprof
+ third_party/test_fonts
+ third_party/test_fonts/fontconfig
+ )
+ fi
+
+ # USE=system-*
+ if ! use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz-ng )
+ fi
+
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+
+ if ! use system-png; then
+ keeplibs+=( third_party/libpng )
+ fi
+
+ if ! use system-zstd; then
+ keeplibs+=( third_party/zstd )
+ fi
+
+ # Arch-specific
+ if use arm64 || use ppc64 ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
+ fi
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ # it has to be done before unbundling.
+ if use ppc64; then
+ pushd third_party/libvpx >/dev/null || die
+ mkdir -p source/config/linux/ppc64 || die
+ # requires git and clang, bug #832803
+ # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
+ # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
+ # since we're not in a git repo
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
+ generate_gni.sh || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+
+ pushd third_party/ffmpeg >/dev/null || die
+ cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
+ cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
+ popd >/dev/null || die
+ fi
+
+ # Sanity check keeplibs, on major version bumps it is often necessary to update this list
+ # and this enables us to hit them all at once.
+ # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd)
+ whitelist_libs=(
+ net/third_party/quic
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/libjingle
+ third_party/mesa
+ third_party/skia/third_party/vulkan
+ third_party/vulkan
+ )
+ local not_found_libs=()
+ for lib in "${keeplibs[@]}"; do
+ if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then
+ not_found_libs+=( "${lib}" )
+ fi
+ done
+
+ if [[ ${#not_found_libs[@]} -gt 0 ]]; then
+ eerror "The following \`keeplibs\` directories were not found in the source tree:"
+ for lib in "${not_found_libs[@]}"; do
+ eerror " ${lib}"
+ done
+ die "Please update the ebuild."
+ fi
+
+ # Remove most bundled libraries. Some are still needed.
+ einfo "Unbundling third-party libraries ..."
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed.
+
+ # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
+ mkdir -p buildtools/third_party/eu-strip/bin || die
+ ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
+}
+
+chromium_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ # We already forced the "correct" clang via pkg_setup
+
+ if tc-is-cross-compiler; then
+ CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_AR=${AR}
+ BUILD_CC=${CC}
+ BUILD_CXX=${CXX}
+ BUILD_NM=${NM}
+ fi
+
+ strip-unsupported-flags
+
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ # https://bugs.gentoo.org/918897#c32
+ append-ldflags -Wl,--undefined-version
+ myconf_gn+=" use_lld=true"
+
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
+ myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+
+ # setup cups-config, build system only uses --libs option
+ if use cups; then
+ mkdir "${T}/cups-config" || die
+ cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+ export PATH="${PATH}:${T}/cups-config"
+ fi
+
+ # Don't inherit PKG_CONFIG_PATH from environment
+ local -x PKG_CONFIG_PATH=
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ fi
+
+ # bindgen settings
+ # From 127, to make bindgen work, we need to provide a location for libclang.
+ # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
+ # 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)\""
+ # 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}\""
+
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ myconf_gn+=" is_debug=false"
+
+ # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
+ # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
+ myconf_gn+=" dcheck_always_on=$(usex debug true false)"
+ myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
+
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ myconf_gn+=" is_component_build=false"
+
+ # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
+ myconf_gn+=" enable_nacl=false"
+
+ # Use system-provided libraries.
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ fontconfig
+ freetype
+ # Need harfbuzz_from_pkgconfig target
+ #harfbuzz-ng
+ libdrm
+ libjpeg
+ libwebp
+ libxml
+ libxslt
+ openh264
+ zlib
+ )
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if use system-png; then
+ gn_system_libraries+=( libpng )
+ fi
+ if use system-zstd; then
+ gn_system_libraries+=( zstd )
+ fi
+
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+
+ # See dependency logic in third_party/BUILD.gn
+ myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+ myconf_gn+=" enable_widevine=$(usex widevine true false)"
+
+ if use headless; then
+ myconf_gn+=" use_cups=false"
+ myconf_gn+=" use_kerberos=false"
+ myconf_gn+=" use_pulseaudio=false"
+ myconf_gn+=" use_vaapi=false"
+ myconf_gn+=" rtc_use_pipewire=false"
+ else
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+ myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
+ fi
+
+ # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
+ # using dlopen. This helps with automated detection of ABI mismatches and
+ # prevents silent errors.
+ if use pulseaudio; then
+ myconf_gn+=" link_pulseaudio=true"
+ fi
+
+ # Non-developer builds of Chromium (for example, non-Chrome browsers, or
+ # Chromium builds provided by Linux distros) should disable the testing config
+ myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+ # The sysroot is the oldest debian image that chromium supports, we don't need it
+ myconf_gn+=" use_sysroot=false"
+
+ # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi)
+ # instead of the system C++ library for C++ standard library support.
+ # default: true, but let's be explicit (forced since 120 ; USE removed 127).
+ myconf_gn+=" use_custom_libcxx=true"
+
+ # Disable pseudolocales, only used for testing
+ myconf_gn+=" enable_pseudolocales=false"
+
+ # Disable code formating of generated files
+ myconf_gn+=" blink_enable_generated_code_formatting=false"
+
+ if use bindist ; then
+ # proprietary_codecs just forces Chromium to say that it can use h264/aac,
+ # the work is still done by ffmpeg. If this is set to no Chromium
+ # won't be able to load the codec even if the library can handle it
+ myconf_gn+=" proprietary_codecs=true"
+ myconf_gn+=" ffmpeg_branding=\"Chrome\""
+ # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
+ myconf_gn+=" is_component_ffmpeg=true"
+ else
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+ fi
+
+ # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
+ # Note: these are for Gentoo use ONLY. For your own distribution,
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info. The OAuth2 credentials, however, have been left out.
+ # Those OAuth2 credentials have been broken for quite some time anyway.
+ # Instead we apply a patch to use the --oauth2-client-id= and
+ # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
+ # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
+ # Chromium without baked-in values.
+ local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
+ myconf_gn+=" google_api_key=\"${google_api_key}\""
+ local myarch="$(tc-arch)"
+
+ # Avoid CFLAGS problems, bug #352457, bug #390147.
+ if ! use custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+
+ # Debug info section overflows without component build
+ # Prevent linker from running out of address space, bug #471810 .
+ filter-flags "-g*"
+
+ # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
+ if [[ ${myarch} == amd64 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
+ fi
+ fi
+
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = ppc64 ]] ; then
+ myconf_gn+=" target_cpu=\"ppc64\""
+ ffmpeg_target_arch=ppc64
+ else
+ die "Failed to determine target arch, got '$myarch'."
+ fi
+
+ myconf_gn+=" treat_warnings_as_errors=false"
+ # Disable fatal linker warnings, bug 506268.
+ myconf_gn+=" fatal_linker_warnings=false"
+
+ # Disable external code space for V8 for ppc64. It is disabled for ppc64
+ # by default, but cross-compiling on amd64 enables it again.
+ if tc-is-cross-compiler; then
+ if ! use amd64 && ! use arm64; then
+ myconf_gn+=" v8_enable_external_code_space=false"
+ fi
+ fi
+
+ # Only enabled for clang, but gcc has endian macros too
+ myconf_gn+=" v8_use_libm_trig_functions=true"
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ # We don't use the same clang version as upstream, and with -Werror
+ # we need to make sure that we don't get superfluous warnings.
+ append-flags -Wno-unknown-warning-option
+ if tc-is-cross-compiler; then
+ export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
+ export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
+ fi
+
+ # Explicitly disable ICU data file support for system-icu/headless builds.
+ if use system-icu || use headless; then
+ myconf_gn+=" icu_use_data_file=false"
+ fi
+
+ # Don't need nocompile checks and GN crashes with our config
+ myconf_gn+=" enable_nocompile_tests=false"
+
+ # Enable ozone wayland and/or headless support
+ myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
+ myconf_gn+=" ozone_platform_headless=true"
+ if use headless; then
+ myconf_gn+=" ozone_platform=\"headless\""
+ myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false"
+ myconf_gn+=" use_glib=false use_gio=false"
+ myconf_gn+=" use_pangocairo=false use_alsa=false"
+ myconf_gn+=" use_libpci=false use_udev=false"
+ myconf_gn+=" enable_print_preview=false"
+ myconf_gn+=" enable_remoting=false"
+ else
+ myconf_gn+=" use_system_libdrm=true"
+ myconf_gn+=" use_system_minigbm=true"
+ myconf_gn+=" use_xkbcommon=true"
+ if use qt5 || use qt6; then
+ local cbuild_libdir=$(get_libdir)
+ if tc-is-cross-compiler; then
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)
+ cbuild_libdir=${cbuild_libdir:2}
+ cbuild_libdir=${cbuild_libdir/% }
+ fi
+ if use qt5; then
+ if tc-is-cross-compiler; then
+ myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
+ else
+ myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\""
+ fi
+ fi
+ if use qt6; then
+ myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
+ fi
+
+ myconf_gn+=" use_qt=true"
+ myconf_gn+=" use_qt6=$(usex qt6 true false)"
+ else
+ myconf_gn+=" use_qt=false"
+ fi
+ myconf_gn+=" ozone_platform_x11=$(usex X true false)"
+ myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
+ myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
+ use wayland && myconf_gn+=" use_system_libffi=true"
+ fi
+
+ myconf_gn+=" use_thin_lto=${use_lto}"
+ myconf_gn+=" thin_lto_enable_optimizations=${use_lto}"
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ if use official; then
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+ myconf_gn+=" is_cfi=${use_lto}"
+ # Don't add symbols to build
+ myconf_gn+=" symbol_level=0"
+ fi
+
+ if use pgo; then
+ myconf_gn+=" chrome_pgo_phase=${1}"
+ if [[ "$1" == "2" ]]; then
+ myconf_gn+=" pgo_data_path=\"${2}\""
+ fi
+ else
+ # Disable PGO
+ myconf_gn+=" chrome_pgo_phase=0"
+ fi
+
+ # skipping typecheck is only supported on amd64, bug #876157
+ if ! use amd64; then
+ myconf_gn+=" devtools_skip_typecheck=false"
+ fi
+
+ einfo "Configuring Chromium ..."
+ set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_configure() {
+ chromium_configure $(usex pgo 1 0)
+}
+
+chromium_compile() {
+ # Final link uses lots of file descriptors.
+ ulimit -n 2048
+
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # Don't inherit PYTHONPATH from environment, bug #789021, #812689
+ local -x PYTHONPATH=
+
+ # Build mksnapshot and pax-mark it.
+ if use pax-kernel; then
+ local x
+ for x in mksnapshot v8_context_snapshot_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+ fi
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests")
+
+ pax-mark m out/Release/chrome
+
+}
+
+# This function is called from virtx, and must always return so that Xvfb
+# session isn't left running. If we return 1, virtx will call die().
+chromium_profile() {
+ einfo "Profiling for PGO"
+
+ pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
+
+ # Remove old profdata in case profiling was interrupted.
+ rm -rf "${1}" || return 1
+
+ if ! "${EPYTHON}" ./chromium_profiler.py \
+ --chrome-executable "${S}/out/Release/chrome" \
+ --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
+ --add-arg no-sandbox --add-arg disable-dev-shm-usage \
+ --profile-output "${1}"; then
+ eerror "Profiling failed"
+ return 1
+ fi
+
+ popd >/dev/null || return 1
+}
+
+src_compile() {
+ if use pgo; then
+ local profdata
+
+ profdata="${WORKDIR}/chromium.profdata"
+
+ if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
+ chromium_compile
+ virtx chromium_profile "$profdata"
+
+ touch "${WORKDIR}/.pgo-profiled" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
+ # Remove phase 1 output
+ rm -r out/Release || die
+
+ chromium_configure 2 "$profdata"
+
+ touch "${WORKDIR}/.pgo-phase-2-configured" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
+ chromium_compile
+ touch "${WORKDIR}/.pgo-phase-2-compiled" || die
+ fi
+ else
+ chromium_compile
+ fi
+
+ mv out/Release/chromedriver{.unstripped,} || die
+
+ rm -f out/Release/locales/*.pak.info || die
+
+ # Build manpage; bug #684550
+ sed -e 's|@@PACKAGE@@|chromium-browser|g;
+ s|@@MENUNAME@@|Chromium|g;' \
+ chrome/app/resources/manpage.1.in > \
+ out/Release/chromium-browser.1 || die
+
+ # Build desktop file; bug #706786
+ sed -e 's|@@MENUNAME@@|Chromium|g;
+ s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
+ s|@@PACKAGE@@|chromium-browser|g;
+ s|\(^Exec=\)/usr/bin/|\1|g;' \
+ chrome/installer/linux/common/desktop.template > \
+ out/Release/chromium-browser-chromium.desktop || die
+
+ # Build vk_swiftshader_icd.json; bug #827861
+ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
+ third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
+ out/Release/vk_swiftshader_icd.json || die
+}
+
+src_test() {
+ # Initial list of tests to skip pulled from Alpine. Thanks Lauren!
+ # https://issues.chromium.org/issues/40939315
+ local skip_tests=(
+ 'MessagePumpLibeventTest.NestedNotification*'
+ ClampTest.Death
+ OptionalTest.DereferencingNoValueCrashes
+ PlatformThreadTest.SetCurrentThreadTypeTest
+ RawPtrTest.TrivialRelocability
+ SafeNumerics.IntMaxOperations
+ StackTraceTest.TraceStackFramePointersFromBuffer
+ StringPieceTest.InvalidLengthDeath
+ 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 \
+ --test-launcher-jobs="$(makeopts_jobs)" \
+ --gtest_filter="${test_filter}" || die "Tests failed!"
+}
+
+src_install() {
+ local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+
+ doexe out/Release/chromedriver
+ doexe out/Release/chrome_crashpad_handler
+
+ ozone_auto_session () {
+ use X && use wayland && ! use headless && echo true || echo false
+ }
+ local sedargs=( -e
+ "s:/usr/lib/:/usr/$(get_libdir)/:g;
+ s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
+ )
+ sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
+ doexe chromium-launcher.sh
+
+ # It is important that we name the target "chromium-browser",
+ # xdg-utils expect it; bug #355517.
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
+
+ dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
+
+ # Allow users to override command-line options, bug #357629.
+ insinto /etc/chromium
+ newins "${FILESDIR}/chromium.default" "default"
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+
+ if use bindist; then
+ # We built libffmpeg as a component library, but we can't distribute it
+ # with proprietary codec support. Remove it and make a symlink to the requested
+ # system library.
+ rm -f out/Release/libffmpeg.so \
+ || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
+ # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
+ einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
+ dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
+ /usr/$(get_libdir)/chromium-browser/libffmpeg.so
+ fi
+
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
+ doins out/Release/xdg-{settings,mime}
+
+ if ! use system-icu && ! use headless; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ doins -r out/Release/MEIPreload
+
+ # Install vk_swiftshader_icd.json; bug #827861
+ doins out/Release/vk_swiftshader_icd.json
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ # Install icons
+ local branding size
+ for size in 16 24 32 48 64 128 256 ; do
+ case ${size} in
+ 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
+ *) branding="chrome/app/theme/chromium" ;;
+ esac
+ newicon -s ${size} "${branding}/product_logo_${size}.png" \
+ chromium-browser.png
+ done
+
+ # Install desktop entry
+ domenu out/Release/chromium-browser-chromium.desktop
+
+ # Install GNOME default application entry (bug #303100).
+ insinto /usr/share/gnome-control-center/default-apps
+ newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+
+ # Install manpage; bug #684550
+ doman out/Release/chromium-browser.1
+ dosym chromium-browser.1 /usr/share/man/man1/chromium.1
+
+ readme.gentoo_create_doc
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+
+ if ! use headless; then
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use gtk4; then
+ elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
+ elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use qt5 && use qt6; then
+ elog "Chromium automatically selects Qt5 or Qt6 based on your desktop"
+ elog "environment. To override you need to pass --qt-version=5 or"
+ elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in"
+ elog "/etc/chromium/default."
+ fi
+ fi
+
+ if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
+ ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd"
+ ewarn "indicates that the Gentoo handbook was not followed to completion."
+ ewarn ""
+ ewarn "Chromium is known to behave unpredictably with this system configuration;"
+ ewarn "please complete the configuration of this system before logging any bugs."
+ fi
+}
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index ff84923374c5..1b3731429f96 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -416,6 +416,7 @@ DIST firefox-131.0.3-zh-CN.xpi 668962 BLAKE2B 5809042234e4bd240f2f0267a0b9c6a965
DIST firefox-131.0.3-zh-TW.xpi 670919 BLAKE2B 5f70437eab66ab2fbe3a20177687cc2cf48e44c5bec2e44a9983504fadeb77464f2091d3a9037d54aa462939cae796d8b9ab4a9332bd65b62c3a6f8b076092d4 SHA512 fbb63c12a58b4d79c59e12ce9f84daf1050e5a0f6b9178e74b58a265a38b522ee147d01182905b42e078a38f230a7ff7f746b46d1ca62eec1b58b68d22aae6f9
DIST firefox-131.0.3.source.tar.xz 568937752 BLAKE2B 1d59bb050c4565c3344e7c1159ebd5bc79f050686abbc408c38493c187e3f1960ab1217113e279b170141a004b3a4797e138200a8a5ada8f5ae93eaa337ad8c3 SHA512 3aa96db839f7a45e34c43b5e7e3333e1100ca11545ad26a8e42987fbc72df5ae7ebebe7dfc8c4e856d2bb4676c0516914a07c001f6047799f314146a3329c0ce
DIST firefox-132-patches-01.tar.xz 13776 BLAKE2B c71734db14d9382fb84f2d1d31fddf89cf9f46e703e8fe03383545df95b984412376de2f5a86c10282535499a5199a3c6aa6f6814c3f08ac877354e5aea802a9 SHA512 f7acdb9b333b0aa7e50c693bda3d98b77d5fae7bd70ba364ac181391e1ffbeb2b3cc4d7d102e4203ea16da84b2e468457e6a87be07587546920f190cf6b76aad
+DIST firefox-132-patches-02.tar.xz 14984 BLAKE2B 9ae56d19ba391bbc53a6babc72bf956c7bfda293aec52f5b1af3994238494d9c311e943593f6d8c2b89f7b24a50281f07248e684a6a6ec4a3f54ba1792125faf SHA512 9299d41830d91ebe558229149afbf66ade18f3925d5d30a603eec6115a16ce4d5e6c0a03193e0967ecad35fe4bfc1bc639f858a6df44372132541fd1aff149b3
DIST firefox-132.0-ach.xpi 467454 BLAKE2B 51b5861f519e1fa3ee53aeb5bc43201da02ae0746657676dc8e111abd20049841eee8ed8b35b01f5783ebfd382c4073f99db0d99e35ccd1f52f44486ff88be1e SHA512 604f7eee331dd465cf45c7d7d1240c8ce9b4569421c680e4b5e108e53553896614dc289ff11ba74ac6c9beedaa466337f99072a6db2c037606b8a74dad9c1abe
DIST firefox-132.0-af.xpi 420467 BLAKE2B a1995a685318be094deb914f574fedec7c36dd2827db5f4f24b613a74f640c2f9d4089df2519846d2ceb7c7584f11335e29f8668b3daf9d82142d9ca74943c19 SHA512 9fbedfc47d526e7a5e323fd295a1d85ca2f321d7a8c810cd00720ba13bc347f669a12b4140261b0aac34e9ce26726a3585842c00dd043ed4dfb4cfee8ed2e750
DIST firefox-132.0-an.xpi 509135 BLAKE2B a3f9693b81c7af2e40d499f32fd18635ce2acbec2b076ca5db5137244397750dd7ca30f40b708cdef3faadbdd0e601f6cc05a711a129e8333085f8603e86489f SHA512 cfd09b1b00a0eb67c49a0197466784ea4ea955fac83033d15c57bb642f15cd7f14ccacca04845ffdcd983ac8fddf0721217d2e38792b9ccceb393caf2578461c
@@ -516,10 +517,112 @@ DIST firefox-132.0-vi.xpi 670756 BLAKE2B 48bb35892b6534ae09ce85e964650bec567ae88
DIST firefox-132.0-xh.xpi 420279 BLAKE2B ccb58c161a75776dbc4714f5551ba15356ad58d95a82ceb19ed876b7ab739a2f0aba0711e8f047c421bb29e5e5dafefaf5538bef82fb89976b1d605990e97691 SHA512 75ff295864822f0f7488bed5f92c61a17b55e4b8177155490ecfe61b0238256c57f3d06b262fadd918ac10d7ad7867a5c94a9cab96425d6fe5ee98bea1120817
DIST firefox-132.0-zh-CN.xpi 672174 BLAKE2B ad7d6461d130ec64ceaff7c8a2bcc1752592a3a15de7310f21af744e2c12a3096baf45ab1865e038d103790812f88e1d461e9500c348c16ed75f2edc83da1744 SHA512 9e075c697cf28236394ca99ae01a3d366beb85084c3f03402b7122a53ade095384440dcc066427c05a3a76cbf670da1eaae2f685314b2169335fb4d8882c7249
DIST firefox-132.0-zh-TW.xpi 674253 BLAKE2B 6e415e664d9a5b46e83da94c2b88ed2becbdd7023b2c5d87d53d5e8a81f1284cb9e072a52fc31c5b327eab981acdbe4e78daa60ac8aca1af6bd6777b04c2ec3f SHA512 cc3f11ec38eb17cfb7b39e806a5bbc62d297b06e7e476dbd2341c2cf7ccb95fa486a9e1034e9883782ce9a404cddba033358a8328f2e46b58154db7d8026dbee
+DIST firefox-132.0.1-ach.xpi 467451 BLAKE2B cad4ed35bfd827d5e629cf478d46b85b9547728555aeccc684238caab763149eabed9771f05e4906923f1b7119190022e39e32fbe3ef0d41a95c1604a6582764 SHA512 6a1a50a19dbdc9198dd6336b53ca9e906a48e3f880d176a3e3d9b29559c0780868b18a2002c57dccaff901b651978c2cc6a4a7f3373dfe4a4ef77be630e0ebd3
+DIST firefox-132.0.1-af.xpi 420465 BLAKE2B 7b03a69f9f0181c196e3abf7e34d21c377d1fdf7f6b88c78b651447afbdfc73c8552185196dfc7d8c9228295c4db703a85e59646ff1aa134b7a5e66543c570f9 SHA512 b512c7a8f003733b1aea47ec3f7a85e91ece4cea381dc254da07a5cbc9c5dab0036d2fa11043754f97fa25dc112c545aac42c396c60cbfaa054119e0e053d9df
+DIST firefox-132.0.1-an.xpi 509134 BLAKE2B dfbf3a030c2e7771676828253d2f6afc0f8f3b03afbab29a2141941ebb3638eb7fd9bcab09c1500181e997f77394fb3dcc740bbdfc0794edb13d9a26f1765744 SHA512 401323ffd2319dc50e06b2e923971b8f14dfc99e3623d06f196069f015b46b7eacfdb21f6bd57d59125db1eca2be4409804f88ab2b0d682c2ef21b727beb4505
+DIST firefox-132.0.1-ar.xpi 632524 BLAKE2B e9b9edecd15c110f59158aaa1043a617d4d5126d4d620e48f6bb60731814f4a91d3dd1fb304e4b93bca6423ac69baa67bd1bc7c2ac626b5dc3f028b580d10344 SHA512 5d47cdfc98fd90701480e3021ed0388e9cace43bcbb2fc85578b23f2eb3b522827ecab8d333f5ba7ff59c844ad08c3a00b4d65bd86630f25854159b145522afd
+DIST firefox-132.0.1-ast.xpi 499453 BLAKE2B 12fda1efcf96ec43ea3aa06a1231146b94328c97e9ef58f7ef18cc0b8c8581e3717a1a8c9f9f657f3a353bac7863ab65fb374224dc0d188de74e49e460d4ca59 SHA512 8cb6fa7688a97584d8a934c0583ab1bc69e99d12137da56e0236682139637e30ceb544514506a0924d9687d19bafd15139e030a3368f1550e58cc3ee3f36263e
+DIST firefox-132.0.1-az.xpi 494135 BLAKE2B ab3a7b21f23e10a75311c6773f21dcaa38809cf2cca160353684d41aa205b9a5d6b4d4efd6a254767b7e74c1ca244ec131816d313775482989cbc6835bbb2147 SHA512 e6966688b80cb4400e0dcf59ceef66a41171ae940379fcb345d994c11bfb31bfa5b43c111af5456f87a856dc785ba90d6407d40399d6acd06c2e162d54a2bc33
+DIST firefox-132.0.1-be.xpi 731815 BLAKE2B aef7174ea4c1d9d25fd4aaa892875d9309709df44f4500faacca6624212e787677b5745d8075b31a6b6378bfe2f2dfd3ef9534b90582b178a7e7cc702894a90d SHA512 f9d99e6dbdc517a25b842821bdbece8e4f62adffab75491c9233311ac9b73e00a6b255ec4b04e42b6946b0535debfbdef89508cf39a037b22946935d0b85b6b0
+DIST firefox-132.0.1-bg.xpi 647401 BLAKE2B c3d48f914d4d9470184c9517a6f9926a85d30f62d88090213cb6dcee246d71201d759f374f7ad38ebad87fddbde53e4eb70100e673290914669905a28a60e680 SHA512 2ec1ff6e481d98bd99e6d3c0cbab6bb6014835b5dab67472a6a03f357ae1eac3536f62f3b570bdc6bf2546497b6808669c896e0e94d7537b720ea3b2f1c7cd24
+DIST firefox-132.0.1-bn.xpi 584925 BLAKE2B dcec1c192869aa23633a662af23947b15ae1dd1dc02e761f0017687bc84f88182edd1e50d60a82f881d28d806f886a7240fa1115792fdae4cb90ebf7d697e261 SHA512 bfd2e79360ac4dbe786bfb6df6997c69a4d3bb9854ab7fac13b79c2a9db79fd5bf6f4823567c2c66cec53de96ce706cafb2f9bb24448ae9399c4f23bd589141e
+DIST firefox-132.0.1-br.xpi 596690 BLAKE2B 5fbd49a3efd5b57ae468b94c15deefb251a57016c562aa599f290f1bfa2fccdb8fa57c471a6d6dc35f8307cca5a8e261bd372bc0bca88cd176631484f1dead2b SHA512 d2390f676542f3342190cc387b37d06bb7ce6260c8833cbd54e71501a5037a71e8fa17f0abc23a3e9b426f2537acd198010717bcff54e53f89708265440e75ab
+DIST firefox-132.0.1-bs.xpi 514286 BLAKE2B 624134c79173386654ef573a4b1c919a02ba72e47d6d4b0eb64c8d60a58a2e6f76890cce85447fdc0431637674449cba4e0c0e4364acbf283878e1bba91cd617 SHA512 8a8fe47a8fa7598e8b944ab4e1338f2d8d4d0f0d78fb0d5a90d9bd5a5711681d4d5c7e6a13d1d059c5c239978890c07f6a43b587327e3246baf649252006a515
+DIST firefox-132.0.1-ca-valencia.xpi 549050 BLAKE2B caccb0a89804c1d12a067aac3627d19ddd09769172894a09d66ddf3cfa6b9dd76eb6a69d78db36646d46e9ba2153b882caf342fa2bddf155cae67cf76d8a3bcd SHA512 2a79ff67b56e43d04a6fb2d19ac5e1d4df40bdf3308e21eedf2e5bf42bc14df9951eec43605025c1264fa8b39d1a616ea0b889884eacb1a2cbde92221a19175f
+DIST firefox-132.0.1-ca.xpi 600798 BLAKE2B 66fdf5ebd13d62f4ff8c83f302a5254f569bb37f759d0ffdab46e640a9b4c0b24a274bc605533246bf1e614a600fa3abead01459a32073f1e41372271cffea68 SHA512 b0e53e4f2d8190349684548179ae0475fff1337ca8c6c816986678a480b3d106255bb9dd413fbae66641892d9a6bf543b7fb438fe55854bc455036c8171a2247
+DIST firefox-132.0.1-cak.xpi 596808 BLAKE2B d464885420fd14dc326a816eb057993ada21294170a8f2f171934728fe3e493951b1a24771c544c8b5d79cb9776ca4024ff77d9b9a9b60a2ca007941cbea0a2e SHA512 9c908cc7d62f1d8b321d44773a25a7c46e56ff056c94c72b1548e6881123946d076451342415575b26eba3114d030840595281bab2908c5d2c64924def6a2d9d
+DIST firefox-132.0.1-cs.xpi 674911 BLAKE2B 8215998453fca5baa2a7fb2115dbaec0d6b528b35ab9475e087756184fa214be1429f821e824e309186795edeb9b2a03dbbf19f9e7eff97ea9da36096400bd2a SHA512 261c2c6d0e284e6c8ff45a494b606e0ec975b62d0b258bc5ca695d48ffa978533982f65e14f8462ebeef086b9df92926abfe8b3ebdd8d1180c5d06b6c681f8c8
+DIST firefox-132.0.1-cy.xpi 638608 BLAKE2B c26b9fabe57776e71a4cd63f31e8614cc73fcaf38659a8ac99ee5c86dfd7cd0df2fd4e109fcc6d1c6161ce6b02668dde363c3c8b15e16839236cb55062422828 SHA512 5f65b019eb3482d7af70f6549977d9b5438da89573240b114b1ad46aaced69e2bc473a76cb52b3639c290314fd93c45697eba70ba33df32562f8793eec7ae90f
+DIST firefox-132.0.1-da.xpi 625910 BLAKE2B bc2cd47159e65481b06a82dd5c36288c1f160b368d1c4580b6223f1eb30438ea5baaef408bfe5e931b429f55becf7ccc21065f153c2fccf3261bf0c9d5f5f500 SHA512 46b306c531b0044287666cfb26fb48382c300005d33b14736ff4d7214f127a1d9d663dc1b787466f5d39a99f702401468c1004be6b051fa52606c54b2faa6d75
+DIST firefox-132.0.1-de.xpi 647672 BLAKE2B edeb9de3e10da6d10d6c3eafaf76e52598fb4a08bc843c8e31aae17b2f74c84b25a5f41e42bd797b1728c641a1a12b5e83f15455b24b11010bee07106fe599be SHA512 775d32dd00dacc25f1e0248048468b9aae3e14d32896e18e95d8a17e1629f15eb74621766a535b9e0127bb45bb38e4bf758082d305aea594d600ef64da4e2593
+DIST firefox-132.0.1-dsb.xpi 664799 BLAKE2B 9d1e5f4dd97cc2867f1ad64820c37e3a1c95f0f666139be675e2f7cff8a89ee29a7e712a0861575f5f5a741d8621dae2cab9647bdd4f62a7f657cb94003b4c58 SHA512 9164eacef361392f26db397ecfed941ac7dd473dca03a37a04a6cad0517dcf15d698c98b82c84b67f1f6d88d4906bfddf2e84a57ebc6b0f53da112c5b8e33f9e
+DIST firefox-132.0.1-el.xpi 749533 BLAKE2B 4070e664c7d97d98d4f6604523bd65fc489c9675ecfddcc82b6408547733028086d2d61662ca5b92c3b18ef5da2980f476cf03ba9af4aefdaa1f8f3078655b4c SHA512 c0a64cf4eb61b08d91d21342f903540775c2cce45156b040e98610fc69beb76af85de4342afff004fdd00d986e97aa278382291092a8d44db5666807d18f4dae
+DIST firefox-132.0.1-en-CA.xpi 596275 BLAKE2B 8ddb37c15cc727fa90385c15da4d96e95adc153c16070db352fd4f77a295eb0be9fe0556ff8ecaa3a7871450e26ddbf146a958dc89f466baf41a1d5b5e740bc8 SHA512 35fd6e08f182d4ba9f754b794f8ee6f7c17c01db6366dd7bad416bcb4ab9c65505ecc94228386c5f1531e2de7126dc75f906542db0faa190c5014d6c607bdf32
+DIST firefox-132.0.1-en-GB.xpi 597695 BLAKE2B 733146bb11fae31dd919a2fb0331276340bc6130b2419ab646402392e14f980069e1e814c1146937e1bc4dd43cfb39473b9a22c7c894b58af79b8a19be096c0c SHA512 de88599146f5f1f6b2046a6a3347563e4ed83d842114398483ecdb6ee35c0e8300c6dff7fffc3aa631f8972bb3f832b001dfcfdaaed6c631c95ddcf5ff70da24
+DIST firefox-132.0.1-eo.xpi 629904 BLAKE2B 6b34005058ef3466439761805be0c66118755d128e031c37792165f7e207b8a4ae6e126938b553b1e8047da5620f1d647e5cc00a08c05a75ccc73ba5a62f9549 SHA512 97491e994abd03a2af0ffff2eb80fc34d41a127a6f01f9c39e4ffc3121ff9183d61cc424adb34d6ea293cd606f0c3a5974e6e513747d4131992a6c56416c5015
+DIST firefox-132.0.1-es-AR.xpi 642070 BLAKE2B 54160f1b9188cd2b8c945784ea8bf5c8340f6a782cdb4030b3ea7e45814e35832e3f56b09548572d75bd5aa9e0a6fd3bfc767fd2abc0162c83a133f0f59c4245 SHA512 70fb6b73cb7bb6e9c69ff25ec71e5464279011c6b33f76f9464a7129bfa71a19916092309efdb99dc861a9477bc3aefff0a082f227a795f442160c61d9d74e98
+DIST firefox-132.0.1-es-CL.xpi 641508 BLAKE2B 2d72481aa80dd70868d0dee1ab0d7902c6f41397fecae4e597b3022a709c93d757df5be8c3928bea995ae9b5b130042b15039e003fa4f750f8a2330c81828aab SHA512 f072aa14a5fcb1930021de876146eb6bf89db7f5b998afc718809e4842657948a2222e97d5a20c1df27e9690afdc6b54c0cdfd618dfdd7b278a2bf1385744c0c
+DIST firefox-132.0.1-es-ES.xpi 636419 BLAKE2B 038974a641855ec65806e8a0b32b254426ee60ddd5db29028d850f231cfacc2b730e4a3edbced53814feb8b3a24ff16164b8f9c5f40773826b85ed865cc83d5a SHA512 11f52d1d78c8587725a218f860585711681e13dba17c34a181990ad6eda2daa22c18c2c71c388410a7630df2d84128f7172fec506168f957fb20d5e9d30f5072
+DIST firefox-132.0.1-es-MX.xpi 637813 BLAKE2B 5f5f98fa857caf31d993e30f27e03943865937f7a9750b9e5c3b031929d5b9b53bf0d4940eb15c0532c4c7b247c8402f4643f06d80e5fcfd4daedb37467a6e6b SHA512 b4dcfeed06bf858088eb46c40864ef4c223a9b8fab11b42e6b4d27cf0841aab1a59a640a39694fa68f6c0c5f927c24a56356d094a065e627d7aac9d8f8a78088
+DIST firefox-132.0.1-et.xpi 543091 BLAKE2B a1a8e7427a77bb240ea45bbba0093f37f8165ec6454cc7bef797f0602eb52bc95cee2ec1b82cf1f6b45a35594990c51d38a245422b34f325e54004cd9dba80f4 SHA512 609d9826ca55b0927296c277e1fff611d03342dd86ae9080a5a33f1e09c080490156bc838a6d67432a10982f4adf156aee9b3bd47cf126354bca8f5d4c63e948
+DIST firefox-132.0.1-eu.xpi 610877 BLAKE2B bedbbe8aae8f1fe38c9d289963b44fe7f8d15f537aaefaa54d39b821b81f90c7dd7bd2a378816f2efa22deedd1a49971c6898995ba3b11771b891ceddb8f92e0 SHA512 b356a3fd479692ec904e2bbc8cf8d699fcf800335b56b9345f64b2070bc8f36bfb53c43f32e09599acd840ef620a87e01f0d3f23876cedc4184dbdcf38b57a95
+DIST firefox-132.0.1-fa.xpi 595836 BLAKE2B 49ea9c0145fbf38f6fd308baa5b95d98cf9a0a0bebceef22127cc6e4ac4b914cc0196c5048dbe5044a1b14e0ca4935d80bb5b31f9156c76b52d9a5f9847337d7 SHA512 e2edf1306c7bcc3e0574d75e54a7fad55e293a74919bb8936e64fe1bbdf353a1c592b1a4afffb8e142301e99e77a3a87e0be95c74f4a51925b1dd7fcef65e9de
+DIST firefox-132.0.1-ff.xpi 479083 BLAKE2B 233787736f9a9d8991099dec7831e2fd28cb098169005536af9b96e8dd7b970c89da7e9aac197661580043312c5935e268009dd7ff2a930f4d00633ec124987e SHA512 388218c57a685fe356895e6e0266cb48b4784f4ca3eab213e3f9518ec73a2ad44b593948fba4946ef2c8f48c6c7e9cae908cfc3f9c4f7e09fd42a7185e2a05eb
+DIST firefox-132.0.1-fi.xpi 621802 BLAKE2B 7611cd70cdccc3fa2731132bde6d8af8c6dd0f0a1669572c81a6b3f5526590ffa86091c56bbcafe6c8f103138c13639983982c42803c70ab7a79f52b66602482 SHA512 0b3b54f9f4931a740ef7f3c6dbbba3b6298371adc975a2207148095c8e64db69e1b724dd1838c1c737dffa8644e2630781a434ff3bce56f024d4a13e50ed9601
+DIST firefox-132.0.1-fr.xpi 655053 BLAKE2B cc5771f05cd237951512ac763d8d7c1deb2c1a5c71fce532934ba6da4646ed12d37eb75001c1dd576bc24306e3a9716b935cc8f28e328ecc8f47803838791eea SHA512 31508253ca9a18f144cc3afcf024cec161b187066e6f69a967888c444cd10cdf05c53d25f55750dbc27bcddc9619d50ce6290fc5e5565f3a00d00573bec97ffa
+DIST firefox-132.0.1-fur.xpi 643962 BLAKE2B 1e98fe98a7ad5a01a6403cbebcc9c3055b6c4c2d907ccb14741a0a25117c2739fd13e3a6749fb20a364d3815cd3619a222d53d332163a13e2e2aca732e84e76c SHA512 fd1144c5eb662900065f122e7c32c9bbc3b2f98e2789d1d88b5d4b8b9bf09904393ddb086e867cc6407358d7e2f6f8c69ef1b6847a7617f8927a3efe05540a01
+DIST firefox-132.0.1-fy-NL.xpi 637368 BLAKE2B bb1e8c1d5dbd9c6f3b7ed11ffe978fad5d1a266317341ea36649e95495d4cf3393c676b518e93b3a83b2ed935c9a9b7105eefd5e6cddfa37777e859f61a5f976 SHA512 6f92aa6f4a7be37d7af23954ce9d0ceed77d04fe9fe179b93fe959212b776bf69510045098a88a3dbdf1b96c101a665c0e06156f5f5aa51d2a5cb8430efe9a22
+DIST firefox-132.0.1-ga-IE.xpi 474211 BLAKE2B 4bacc4b7dfa88b4de032dbacc2eb903399a83abb971cf44c8e88e12b3f685b9e8f18e42bf754ee6954ee0f40a748a460970d3fb2892660ff64e952bcf6afd456 SHA512 429485df644805207c7c1e6624a4d54695595d9e43cbb3c6fd311ce2c18c27373d34d927e8f18dd1a124956bfabad1ed71d3fd0507c787c82cc141c5a49b0f4e
+DIST firefox-132.0.1-gd.xpi 600428 BLAKE2B 4e49b0caf6871aa85e9a1583581698116cbfdba82c957805f5b28bf6a6a8bbfe7f36fafe46cafff23e024c8c9a58075d05ec4ae25496c0f3900b82684ac28a99 SHA512 faba7db206c792f0f79b824f68fc05807fba79695b6c2c45865ccaa16e129f965f9f5c6878ec967399a0ff204f0c346f419d8b6c204b6a9736060090cf2f9862
+DIST firefox-132.0.1-gl.xpi 611962 BLAKE2B a77dadc2d540e24b2368f4817d3888160d51b0653bb5caafdd34ec5edea3cf79ae1fbd5ffc555cee453251161f12485b6be3716ab0f34c98bb148ff841cc7894 SHA512 de097e42d311917ad2d4bf79d841f0804c1883dcf5e7f9756feb515db7e35680818fe179fda15071715a348c78acf7590db6a7de515937966bb7e258fdcbc493
+DIST firefox-132.0.1-gn.xpi 650538 BLAKE2B c12c994c0078c3fa569a64918d59ed9992721d750885b6041e5906e5640626103e66179ca323dfdc46025f245153c50ff55056a7cbe01eccfdd14257758dbd40 SHA512 c57d730fcd15a4af0038fb6a53df777b5f5ac84bafe8b61af63f2d71d0b2be637a6156582033b4332768ef3ee9926b7244da7203b12d445fe074220a4eb87825
+DIST firefox-132.0.1-gu-IN.xpi 530691 BLAKE2B 511d395741f35e520695366bc87947cd11cca605cd20a3620924c07b1c8b212c7f0ea1eb26b1cac7b19cb0e5f4d833881d6947bb5d5f39ed87fcf024f982821a SHA512 15bec69c3b0f645c5fd56fc7e976ef3c2afc09b85d8df836959346c81b0bcdbd00532c021468bf1af98230f41a2f613d768d1faa893ff29681042f424c799db0
+DIST firefox-132.0.1-he.xpi 644447 BLAKE2B c495d0ea2c1f959c85970dca222f8431322c2c3d083728c6231c1ca06f2adc8d922bf4c8b1ae823e2dd613e723bbf2c570080ccc99bb6d9acea0d135ea94db4d SHA512 6c3fa0869cd563940d667d983a9acac1ce1ea0f00bb9fdabdd3f01f5d7b917aa5e29f900b5232de7b06fbf8063423f8210d79a75cae6a76f2b64b30335232a80
+DIST firefox-132.0.1-hi-IN.xpi 570000 BLAKE2B c7f38b43b9d51814fa4d4b12025c40906abfe7f99ca2dd168059d688274e1ed6dba3557a5ef74b926ea3b30e20f653f497e6d6319bda35733d464e36c47dbce5 SHA512 38c90f0aa67cfaa26f35a16b7cab6d95c434ba89d443c0ae385ff4a1c2c647cfdc35c3e24e9a0e37cf3eb6a88b59d17f80d5638622451becd4b1f9e749334f59
+DIST firefox-132.0.1-hr.xpi 620629 BLAKE2B 1bbf6aac86f480f5e656e161e9c936328027ef7653d3e57ec4d2091b9d7c07443411bfe8804920abf18e3110344a38468c457b81cd63e3ffd00c7f89abe4944b SHA512 408bc257c1512224bca0ffa014955d1f9f3d4c01f8109fd1d0ee087590b65a0b8afa6f84e6e4916875ad0badb6c7e7f5d5d3066d69fea04d6bac84fd2a809bbd
+DIST firefox-132.0.1-hsb.xpi 661287 BLAKE2B 07632236930dd4cd982f22ced34c5ba821842f640ed5e77ce7e048ce50af8a0abb0fa634433eb99d7e2d98fa6bd70c87aa9fbbc2c885efe5a4d90303d86dadc5 SHA512 2e34c184da5298158719f114c0edd450063c610470a4aabcc2a1193000a5d199b96d3336abe1a39fc6cf20bd484f40489257715017e65ad7253836c7fdce459e
+DIST firefox-132.0.1-hu.xpi 665349 BLAKE2B 7f5caa9dcdd0735c06fad8971511f8206598fe7126dd740ffccc9babbd4b10e1ac8a180072a1bb215d9e349423a794c67195d86bcc5115c57e21429de70646dc SHA512 033f6334530dbd2fbe049f6ed953e1762822c082028b3d92ce43d309930a3c2c5d83a9d7b632924c4c08e35ec40894f8f116d6e9425d87d51834918ec8f6cca8
+DIST firefox-132.0.1-hy-AM.xpi 654900 BLAKE2B 6fb3ecf18fa00f5e32ad3ac4cf121474b99da31639466516f330d7ca4886c875d25c29ab66bb63774f3e7cfe584799e2177f26ed866c51041b1fb0c2892eaa62 SHA512 f9a8d569872b38182ba02a167055b877dc3bffa249f6561fbec9e11fbd5bf052279ac0d2bf4f63d7a9e6a84be8578c270530aa13e92c6fe068b43306fb35c4d9
+DIST firefox-132.0.1-ia.xpi 624979 BLAKE2B ec24df61d0f34d2d923d3755cbf1d1670a5b9f608f42f2938671ce11f1135f44f669c07252031db118e1158647c6bcb55ead39c631f49370338aff09a0aa3d74 SHA512 8f93a9a43274c48bf908568fb36b077f855ffe8c79b14bb55150ede9297028c725307dddbf4342ce22f53e5a8b532ce16b565513048ea55858402ec0fd27224a
+DIST firefox-132.0.1-id.xpi 588659 BLAKE2B 8d1372c4cd83754a2463e32f179d951b1b5e5271d877a7b081ff41c688a434a1c8998c4da4dde8bc9c153dfd45bab9d2c92f1b9161f7bb3618277ddd353d1714 SHA512 5385471c50c5fa572b2176785f0b9aa81c4721caa6bff1b807ba26eb31d3960c1e9d8014ba5690e578eb3f0b80237ed7b70c27b864bb2ba0edc95191c334a743
+DIST firefox-132.0.1-is.xpi 630383 BLAKE2B 1f0294d3f5424edc31e45f6d526dacda3cfb668cc44b7256f593407dbf89be7babdaa1bfecb4986aa371cb58e8f9e8ed333da6e1fb3907545b7f744c26e8350e SHA512 b6e193a40eab3a4936affe28cc93cabe5a3a4d58f25401501b299f60d82a30a61631e89e82d264ff443f84a253d0fa310250bcf7b3cf6295665db96710f8abbc
+DIST firefox-132.0.1-it.xpi 581358 BLAKE2B 31c3a37c74298eaaf645b0f1b4d9a8ad7debae2feef199ef0b532c72f8034e99e55336d8b541d519734849eff63e29e769e22f9a4226478e070eca02f5d64155 SHA512 e7d511592fc7a1c519a3f7cf54236cb6e21159c1db2965b95a977f88a07a771fa6c430e9cc389dff58b28f613e70a20a23d0cb830e26fea41c4546c985293a40
+DIST firefox-132.0.1-ja.xpi 690326 BLAKE2B 3b6f4cb5bc6af384e57e262beea2a8ad8e544e9646d7463fd01ca061c1a3a02cd3a88303d8ce0f74dbc1c8c94f50522ed47f6cf759a13ace219c2d5ba80eddcf SHA512 a2a40aa9bf6c94951392923fc4dc9357208d7acb9b2b0c7a5bcb9c714e7841cbf364ac71a1831ffbf166a6b168e4b39c919260a9f3adf155e3aefb89bfc8a432
+DIST firefox-132.0.1-ka.xpi 664790 BLAKE2B cd15f7b97021d60395ddce0785fe987e9ade35319c92a4c01f4c707ddd8ce6975d76700df9a1592ce9fe5577a659c05a568c39392889c86605688d5b98d32c6c SHA512 99eb1135bdaa3577868a686d5c6f9dcc223d36c87718879787aaa2c2ddf5bbb90551972c3daedd1af778fd64b63338a3f009b31372febafe934663194152d7b6
+DIST firefox-132.0.1-kab.xpi 619840 BLAKE2B bebd9b53eb5a6cebf3af9c1c47ebeb632cb5ee472a933c09da576c9f9e97b7690b9e653565e80e6650e25b8d8f7c782539c508107f2e6af46321d127a8205d77 SHA512 ded0bdca770c3142ecd04a2463d25cc5208b6611997e7d698317f3c8490e0ad0d8387fcce704a4640ad06d8af8d23c1e00ea84e675f4ca54caf8274b26b6ed82
+DIST firefox-132.0.1-kk.xpi 722542 BLAKE2B edb262f19e77eabf856d3efe98893b787a41b53d2ae9e2626a82a58b054de0ba1a99b5245ed02aac63513eae60ab5e994aca73ccd409c72c7e941316ee497f78 SHA512 75498f7709bc9358d4292c5a830362d64b655716de83875c4e898d79125b945e7ea30a613e883d56ce577548a3638e21618e45bd2ebabfdebf0cccab66bc6a6f
+DIST firefox-132.0.1-km.xpi 529184 BLAKE2B 84781a8afcad95bfc838e8b76f5406ede7c3948cc4cb840d4a895b4e37e390ce0dc7f3d2b49eb451ce925d363bd9d657942db8e7aeebe140cbfbac7c9c223eca SHA512 8907ebc63a14f3ae148c88fc6898f87d970f87e3f6dd66b7da6c77ef6b5da05690e670bfebc6268b394f23b2fb0bb04221c6632a26cd73fee3088bca36e3f0c6
+DIST firefox-132.0.1-kn.xpi 494178 BLAKE2B 006bae2cc522e77b8928866d18bd1adc7736338d2ac2848825b7408311a38cde0ef2e221bc268b09530e154e59895db4c19f9c955bc620482ad415ba22181100 SHA512 5a5ee9bfbc5b317030d6b04f278274abf0ef752678a44431769ef48e1bfc2c562bfce3255183cbd2084ee3486ac478aab11ebec6269c607ccac4fc21dd3561b3
+DIST firefox-132.0.1-ko.xpi 676237 BLAKE2B 670ac3dfd8216a3d05bf06ca598b1cbe87d90cb6089d81c491999a90778b0c99d6d5ba9eb410a6c1653ce3e0da8ee22cceafb5e8142b76cb4b7887211847b804 SHA512 74c6b0e8e67705413b2c17bc2db49cafd47950a4e82af72065fc4807285a492e817b8eff11d08f7a1bce4a4713147228a8b0ef59272cdb55f71ddec4a45846b8
+DIST firefox-132.0.1-lij.xpi 487469 BLAKE2B e10d9d1e4a5f0625e8754feb698bfc1660792d0b0d8444558ba75d48bd7ae22d55baa0743ff6c9944a65d3086d3fa98fa358e80edd428150b909f060eeb6e955 SHA512 6ed7df8dd0eca28803a69b9357ac14a73fd2a66d95151660a4b25c9e2c91e0c092ac6b17365287a6601b276a528709f7a0d9119e1f00a8d8353a693711ff08b2
+DIST firefox-132.0.1-lt.xpi 576212 BLAKE2B bf94ab89c2c61b842b20e71cbd016ee5b36f1c5a46d5721ec60d2d7a96b9fe9cc73b9e3d9e20f8c806cae2f6a544b760511093fe001964a51a4d527e25375796 SHA512 0ba161c2724a9b0d8da0095c56e2e6351765f4b932fde38191ed07d9661ea9dbc86348fa5cafcaefe62031af4954ecbfe7798beb15fef0da5068dc0c1517b8fd
+DIST firefox-132.0.1-lv.xpi 589513 BLAKE2B b60abbc36e1223b963e4be882089e1cad41053a46363be28026bd2136803800e91b32a4196363ad7ce5aaeb758408a9e4f2372b7db98cf1740710f5193c1aa26 SHA512 edb40e0392f547f148cd7c9e5138b3c630e2774132631890ff069fec0f60519f03cf4a015a5ce2890a9439e7852d21543dfc7997fe6daae3a7b1e52ae73817b8
+DIST firefox-132.0.1-mk.xpi 496805 BLAKE2B 99016590aae48bdb2dd0d81d87cc12c15aa7e871b50496013766234e194776d09c8865d6af6abc3375ffce91cebb1fd870697f1ac973c042a4a78a8ada7c050b SHA512 5dfcf02233af6e9848e826db9e4a1573d03d2e515d27292b5870df004faa44826ce3acb645e1f36f49b65a3348165c1ceb2c047993d7721840436011d8b6aab8
+DIST firefox-132.0.1-mr.xpi 535309 BLAKE2B b143dc02f12412a2f6d27fd0c3c7168be09360fb94ef3c21b8a91ed95b7273541c0f1cb3640223727b4cd12222793e84907271e850567255fe6ffb6890d789a0 SHA512 28766105abc9156fafac858d5c65f612935850011bc20fbcc8fab2237569f47f75b7664b19d5b7caa1dcfb49143ab104e050629b2d39d08b21e17df8de6a5d5b
+DIST firefox-132.0.1-ms.xpi 453075 BLAKE2B 36db375e962f933fc1fb3a9174943f5d87b7e64adc070fe84580ba64282f7ae39fcc2b8af8b2cd2ceb80e9e60ab123b87d1ba8c02d1877648796c5bedeb65b5f SHA512 68fb2ae7cf15c092b65cbdcb0f37ceed260905d6cbac3f010a733a3ed7d87d8b34e9dbab13623e325c1e1c07993f7326c7c21514ed6fa936623601e9bbd795c5
+DIST firefox-132.0.1-my.xpi 521655 BLAKE2B 75e1221a6658a1bdf0a39ae47d8585b47421e7342d3cf6860b5cff660e5aabe419711a35bfe4ec1107a435e02605c17964cfcd6a131c5435e30e1748fc1a68c1 SHA512 4cc420a0f82bcde13666efb033354d267d6dd4317f8553f9d7c85ff63b9574f400e97cd6a76bdee422122e8cde4e5ebbf8f05d396fae74be33962a918da9e536
+DIST firefox-132.0.1-nb-NO.xpi 618359 BLAKE2B 463e983a9934faf0ef5464b795077258a7779557660fe674965e868be2c245a2355e377f8270113ad6e24df5dc390be82c790e0f44e3b0f97d491a014e2d424b SHA512 0d346d9a8f31bc066a443f7fc76f0f459f78026d06970a5ecec79841809fc46ee1a6ed98b4d520d015ef9261aec885b4090b8bd61f6e179c66ae6c00f052f49e
+DIST firefox-132.0.1-ne-NP.xpi 524107 BLAKE2B f63627809362723af0782061304648db96fb51c4c5dd7b225057019149c7ceac1702a735985f26033e0118e2a048dafd93e2002f26d9aea2b047c0006d4d4cca SHA512 0029babff7b380fa7890c8d6774aa05d9c7457863875946acf40185e7e2cb99f3b766620f7668aefe52e8964e21672d592c06a74830015ba276500216efdafb9
+DIST firefox-132.0.1-nl.xpi 631087 BLAKE2B 41a4eef87c026a0051ec674f66235471f1948fb9b13893c313195a2b43d57dea13f1004c15daba1885687966e00a8b99e2182328bd09a3f79348d90a079df70e SHA512 b10010260aa3af54c9fa4a6f1ec36368fd26969d85369d169eb0a338cfe75bcaee389f16234b1e03299f295c771d2f7403c58b601c1a810659c02d9d3bf008eb
+DIST firefox-132.0.1-nn-NO.xpi 622853 BLAKE2B 1c4bfbe06932a5bf0eee861ac5c5ad1a73e0430c3509bf0e6c8a83c3a41b7ee317e2faeb000182800504ad665c63bcb568c6ee041c94ba709084f23297bab33d SHA512 b53ae9e4e1c4c2c2465470ad84a9f8295f7a0f59112a9fa1d20ce78d7149e68804b29473c3c1dad48132fa782c62ad9d5bab7a49d5a74259204f9d7ce07b949d
+DIST firefox-132.0.1-oc.xpi 617974 BLAKE2B 22b4e51a6a5061f22af04d1768e80a63d5aa31e909612d1654ce7125e980afac115e9ac0cd77ac016678976c9a854bb3006a2c24224700df874aa4736159539c SHA512 a329a126efb1e5f90a94d9824d3299ac28abdc8dada8c1690189bc45fe9c8bbc6f54d0a42a610f3d94c8f8eb627b3d81577d5010b2c8917072f6ee7af4863472
+DIST firefox-132.0.1-pa-IN.xpi 708930 BLAKE2B dddc62907cd9f3baa3244772b110a08cd6eb8bed88e864406fe3e6a28413f0eec8f37bc66a5ec5e8da989796d5755ad7b542ebaffbfb851170e58f2c6619498e SHA512 481f6fabeebec55faa5996ab486d608ec56d748b8e3c2377042f11c000f937eaa55bc06dd513fe194025badf775e265aa3416ede0d3644bf95b47feabfc694c2
+DIST firefox-132.0.1-pl.xpi 649861 BLAKE2B c6bd324e7e01fb48039cc6ac3b2136c7e2a04c2eb45f5805f778374d3800e063cd1b664f1c2ebd516da33055e8dd2967eb617de6d4c2dee00448285a72bc699b SHA512 b613b4cd0881597977151f0fc3b40ad361b5856e98be9091e39d73decae093446fcf32f76478d950fa3c24042f3f48c0265a298fa361e3ff5d7f241d94e8c8ad
+DIST firefox-132.0.1-pt-BR.xpi 635392 BLAKE2B 0a20c1431fec648ad5a36d25c81640dbd42652c5db623bb84e150c9ef558e04e9be1f582a78b20ad3556ead00a634d036ba1463b6752a7a87c57458194f3a4de SHA512 b724a8966f2c4e8c16b7456edddc48b6ec37801d0462e07e50f66f00e9d76a10652ab09c34772045710cc50154adf952013b678fe5d77086d8f7b965faa00791
+DIST firefox-132.0.1-pt-PT.xpi 642104 BLAKE2B 6397d93e9574dc60ca8e1c6caf1c0fab5c664d867ba73921e236923b5195030309daccf2f37867b7631d1da598ab0925b2c60a1c3018f39d18f703d74d2a41d9 SHA512 2e975869cffd5100b7db3934a082337b527e8aca4f794237caf72b491ca7b616da89b62a9b6ba8de0af40acf2bf470d530ac39666cc5f3c0a0afa958900fdffb
+DIST firefox-132.0.1-rm.xpi 631871 BLAKE2B 093f23e751fc3fd6b98fa6ba72ecd57a59715eb4479aa90a699e2e393d0c4e741068083f350d01bf73941115391cf97a7e29d06472762477ac806e32303b8bc5 SHA512 bc697e189d739b7b736c7d90a80b9b054fe9bca4c3e7e6819b3c1f79da56f38ca7fa465f3bc44d279fc57066719770fcaf4bd46fc03e1dcd0750134ad2a8da99
+DIST firefox-132.0.1-ro.xpi 553310 BLAKE2B b0f65c321839eb3eaea2ff9e581921c04b1a83bad5af7896770500195605a3d1ff70ff2ff0e4b7dfa5aaa01b6431a04a21b358da207835975f1bd839f9c5ed1e SHA512 af26d424dd3891f5c5916efd899ea385c8319f2c74f814b7fa8495e9e1f5ccdf6c96e41a79873ce3547a2aba473edf2685cd198be189036a2d28b13feacc7f06
+DIST firefox-132.0.1-ru.xpi 736638 BLAKE2B 8f680569b90922588b59ed2e3395188f26724d793a289cbc16789d9e183faee894f0bb46cb5a302a1b61f4cfe8f1d8356e89dfbda8bf1ce4ab61a06b8aba31d4 SHA512 d16379f4200288036d305258e3ae65c87cbe4ebf2ed1751719a86b3f3f5465ac5c8171614dc84f9650f3c82dce46931a2674ff58c12d8127419d1f6df3b24ce8
+DIST firefox-132.0.1-sc.xpi 593049 BLAKE2B eb8cc97ebd2a72c4c267c8da3bd21b91bd6852cf766a360ca14c69f1950f3e715aaa1373fd6a633745ed2f62441ba8d352f5dd5a411b1ba9d040f39f9d91c785 SHA512 dd6ad11a479946775475fc23cb9c375158547b82eae19a1d895e1fe38a0e9034bc2f7589fd0546e9d48e4d5c796f89a0dafcfa804fff5f1c45f84b0d8f4d1024
+DIST firefox-132.0.1-sco.xpi 514607 BLAKE2B c13595673ab1145f9cae2a6d5d8c54d1c7cc240a6cde566801492ca01059c7d3581db5580ca90c7d240f6e0554295a7695dc7df47c1ebd460b3cc1ce0665c984 SHA512 5aac65653e2d83685354107afe932e78effa692b100e6cc389ea59d9876a5e262e5ccf2ceaa5812df0d961b6549056b2fb23648e06febb3b7077aad9d898a9fc
+DIST firefox-132.0.1-si.xpi 619316 BLAKE2B ea4c6158e0d58faf07a203990b6a7cbc4cb4870df5dd3a40140bb424c701cfd5921f7accfe0339a1a6c324d02733f97de303b9290ba8846afa2d278ba942d816 SHA512 28fd22d7c20715fb9e64002b1a9236191e4eb0072693c9af885ee0abb5be1c000a77edbd5a58a8f104fb6d109039f3eff19da0560f57f8250ff7df07ec7fe329
+DIST firefox-132.0.1-sk.xpi 667602 BLAKE2B 6b18a86579e584d161a2f461de55bbfb211cf2c89b1ecdfa4e9f0b025a1c892a23a4fb97a7d8932c49080add3885cc4a95f3337d5c808cfe80abbb96a9948852 SHA512 d50b10bc0a0e1fcd03aaf7c7935c4c87669ffb193fad1bb025d8bbb17a738b3bd379b30fd5347bd19e1786ec83c91a0d0124e661434e66dc75e89486d0173188
+DIST firefox-132.0.1-skr.xpi 723872 BLAKE2B 59a21ec30bb0db0f5545b15ee8b86db68d0df999340fdcc9c54c2cc965cc3370cfbff33b306cc9d4dfe30860fb277256882851f62dcaf036635a9b089f27e9a2 SHA512 831b0fa1e7bcdba2c272cae0fcc1c5b48a3949e5ae3cb509e1bc2544dd9dc4971879ef7cf04dbe80024f906800fe3e311b56b2de1f52429c53e14ca2ef0aa731
+DIST firefox-132.0.1-sl.xpi 635182 BLAKE2B 62d2449f9a3358aa71b311399579987c36e42fdaf65340d0803d1e7488db947d599c019cfdc71b6d68d3e75ba95107ef04565808a3ed0a44cbb48acba4d87775 SHA512 c4ff04981ac70a3723ed657b2b2852b026d03e411ac479f4f1054dfe928e4e49fcb3d755bbdfc864c04253c939f6945221654a115ec22a1f3e864bd2bcbadc00
+DIST firefox-132.0.1-son.xpi 419523 BLAKE2B 58d2120791cc379cf121d41dd43e773563771f1cbc13b676ab0d3bd033a948788ed6d7936e0f8b20827c7d9c16a8fb7eee7eeb7a7928d2c474ddd313fdec884c SHA512 dce1eb9f731e7b0e6747e75ff3ea3d8e9e636e0554dcfaeb1043992a7648f3ceeda1e48d355aba0abb34fa513f14628b3bd25795ecb1d2bdd0ee115e5648f161
+DIST firefox-132.0.1-sq.xpi 650698 BLAKE2B 72068ecb909c1ddd3cbd486ca5d95aaaa91a724c56cc3a5eed6f430a14df9e4ecad1b5d928511244d4fd1fe8d5fd9a17306f1c269ee69769f4453dd8b86b1b57 SHA512 7b4e44d92169eb6f3607dcbbf9de962146cb9e0a9954f7f9f0f9f1b65c3051b752676621fb62ae4de06f2ef382d05ae5e095afb105d604c29b8136841e6e979d
+DIST firefox-132.0.1-sr.xpi 643279 BLAKE2B 85b5f8130d68e16e860ea5c99731044193d441579c2149c748c59bdaafc4fc733b3b3b2ad2724f2d7accb7a9ad31aa9ea339d37fb8b8a1e0f82cb501fc5b36bd SHA512 259146a00d68c6513b5e545d987aac30d6be34d1295e800082c6a59cf8b277ee97466308c5f07bc1a0990a7fb0c20801d3f7d56f12b109ad01befe31adbc6a7e
+DIST firefox-132.0.1-sv-SE.xpi 632934 BLAKE2B 095a22ec1a3b4e48bcaa174c4c3a3620558cb838096a454d819a1cda1bf7abb27824293053c710a6cb1a187b7cff4f206439f2ab8f716c4928fb1ea7fefbac90 SHA512 662f53c5d82907a92f2c95866796cf2b6619f5910ec811e11d99afaa4bfee354de411dfa28e1583595d15d1a065a850785ba0b0937b88215649b2065c2bcd545
+DIST firefox-132.0.1-szl.xpi 529744 BLAKE2B 33d661adb367efbe0e06b073b43e519c5bd15d7997be7ad2b2831986db70e8a4ecded45deacfb3cae0c4333dcff0ca463a2b1556fb685342a7d4aa8fbf77f7b4 SHA512 9fdfd8f0c8b67ef5896792f2fc2b854ad4977042c964c5e08d8e9aa94bd45f71ed22d15ccf5c5800feccb44c879fb045eac7f2bc7b9f32b86019eea9392f0a53
+DIST firefox-132.0.1-ta.xpi 510478 BLAKE2B 8d8882bd58909b16a1cf1b229104c1e64dbdea27bb649f620382c3ac1d4b792f8c132691a3ad99c73bbc5c07f29e5d6414087e821f4a66c863ba745ab917c9fe SHA512 1e7ccda7c8bce77a758d78f98eee0b366093201d491d07808bade052065eac5ebc432a4bfd657bf06bddc0cc6dbc8e33777aafb5bce000982addb552af536117
+DIST firefox-132.0.1-te.xpi 567117 BLAKE2B bfd984db6ec15954ea28fa731298e3b0f00e759fadc297278236657916aca6c1d613400ee7f2802153644df53938740080d56922133628081ca530544c3f5810 SHA512 b44d70d84e25ea5b4917f583f766d896f47c1d71d5fe59934627895fbdcd9f8a046d791f65f371c7b078ca231b09ac941cb33220cb23504581b7576ed700299c
+DIST firefox-132.0.1-th.xpi 712982 BLAKE2B b17cb841ed2508c54d5cf3afa6665befc159e8def983ca4e1bf133cce727dca08d3bf927abe71aaa3648d6787bd72fab713abf40ce1988542d77452c0c546fee SHA512 2b42330384ef51454e78a22e381474b0d9d464107f89ac86e23acbb800693f221be146266f38f6c498ea4d5e5dfcd9e94b9f48cb3e66eb50efbe28cf337faae9
+DIST firefox-132.0.1-tl.xpi 537617 BLAKE2B 3916f8860f00945b7438d435a68c0b6243d3ae4677300ae9b0432992ce96c2587aefb2e7e915ee27faad7afff3d26617df29d4ce006deb19fd116069a8be0f39 SHA512 9490e548b96e5e6b9614c69f83fa49962b9fa814a17f7f7d27299e42adf7830b41c53261ca2e34c7a32f3c16fce068124728056a4c010d0cf470242d2a51c1fd
+DIST firefox-132.0.1-tr.xpi 646975 BLAKE2B 55edfbeda470f12e5990163bb35304ed230912b79aad50af760a0734c507ba2ce3016c11a00a44916d1c385d2d1acd960b753741997f019a36951d929aa02167 SHA512 888b6f80def47eaf866a88181ee4a58797c954d7a01e86597b7dd20febabdf7af12882de1b06b24dae26d2bfd91b3b69d6243c6496755ed81dca025d3c242a92
+DIST firefox-132.0.1-trs.xpi 507583 BLAKE2B 5f8bf69a00995fa8ee27c190c38a1441c696522ae7753ecbf8c6c4b377f545c2bad0eea826a1143139c9126e9c9f2f74f5e0efe7b9abb5516c52bc736c9631e5 SHA512 80791e46cd0f1b96d846fdbb23c63549d1d82e6d609ae4feb01610eccdaf0e74d60d2d4480543820047577437e74eeba58c6ea88186a670b3b1d5c2185162506
+DIST firefox-132.0.1-uk.xpi 728028 BLAKE2B 017a001f11829395da95976769c83b1dd801742b2239e3ad12aea17d6a909e25f0b131424fcf0574fc593d65ec4dcb0962797555712018f598e6994cba7e3ce3 SHA512 990457c5a3171901b8308fc1596ac2c64839168836656413a2440baa64e67ff01bf327c37045f1dfa15d07d45414cabd34bd07de2760aaf11c1cf50ae1ae4bcf
+DIST firefox-132.0.1-ur.xpi 563495 BLAKE2B 18f90a4d66eeb5e4eed72279c9764dd7e7656bb7b2ee2ef724e7342c399c09a95b25ee2b82e006e6313dcd66a2cf0b18f32b9ae0da0ace4005fcbe656c85e8a9 SHA512 16fada2d71288a80aa090d40f5bf78b8515519b6ff2e1cb55c080ff22a3e992d3a104e4147ff73bdc5ef3474bce9ca58fca0a9115ed97a5e0cb28af0e519858e
+DIST firefox-132.0.1-uz.xpi 482092 BLAKE2B f3a9d35d17a6ac36dfddd530e17447bb2e841db643187bae4756f4d329b3676dc15b64e7945372b01926141ee4a77717866afa0f62e1a5905b1b4e6ee5970b23 SHA512 a59754896852f327e28b835035d38ce16e260d870211270eaa4c8235feddeb4a280aa2fac2cb132d450e389b678b48f3225194447162d4f2a6cf5e4cda0731c1
+DIST firefox-132.0.1-vi.xpi 670765 BLAKE2B 6e2f106fbd615633571d11b15ff2d48dacf86b1e6ab89228420450ac9821b9a297b9a89d84efd1dedc10b60ecadb6fe6f47af95d41a9c8dfcd9d58e841c85a07 SHA512 292856d04359a176f162037817bfab4d2c981c13e67e6a24e67e7b9be14572e421191b89509a5be4372d5107f9d7d0e8aac70244d35225b78ec9a4eba38f9c1b
+DIST firefox-132.0.1-xh.xpi 420276 BLAKE2B 7b694f65dee0962e9429532d6887815705ef8d8e6b128f67497cc5a5edf1199e13a1e7253f8545b7b9c6bfd79de002e7f77cea21466f53ab38bf48c71479ad73 SHA512 5508086515c44993874be0d702087d3acfc8d0324f4b70c9cef0f18df91808d7c53281ea065ab981487c9f229e88b008a3ca3af0ac84f0da2ab126ec11e16d5f
+DIST firefox-132.0.1-zh-CN.xpi 672173 BLAKE2B 103aae4cfa0847f6c6d598ebc13e69b30d51c510002680f84f2a04cde6ecaa76f71c9bcd0e45833cde4ca1ae3d0f8c5687cfe95edba842e455197edbd0f1d932 SHA512 b4ea523d6f99d8cc7188cb7cbc686f8c10f5542adfd60c4420a434bf4d060f4f7eb29cdfa447a69201f88f65dd644ad73a0a1f8392b421ef8681cb86b0d3fec7
+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
MISC metadata.xml 2675 BLAKE2B 57721fdb9b8e0f1ea4a7d96dc284d5bc2f02e486086778bcb56f1a6166e327c4a06766cc4f2a7dd3716eef352c78ae28659971d9c71880d3ab22524ff060f57c SHA512 e0331f26da3dfa53b5f5c3b68e1f19b02dff662bc70bf4275d55edc077a508ac26be031f8693000fc903ea84c637cfc656358aa8f20f42747dd9a6994df6d724
diff --git a/www-client/firefox/firefox-132.0.1.ebuild b/www-client/firefox/firefox-132.0.1.ebuild
new file mode 100644
index 000000000000..f9ec87f960b8
--- /dev/null
+++ b/www-client/firefox/firefox-132.0.1.ebuild
@@ -0,0 +1,1337 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-132-patches-02.tar.xz"
+
+LLVM_COMPAT=( 17 18 19 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+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/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.mozilla.com/firefox"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+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-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+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+=" 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"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( lto )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ 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] )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=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? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ || (
+ gui-wm/tinywl
+ <gui-libs/wlroots-0.17.3[tinywl(-)]
+ )
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.105
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ valgrind? ( dev-debug/valgrind )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[networkmanager]
+ )
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ hwaccel? (
+ media-video/libva-utils
+ sys-apps/pciutils
+ )
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" !www-client/firefox:rapid"
+else
+ RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ 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
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( skr )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ 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
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm-r1_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})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if use lto; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+ fi
+ rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651"
+ fi
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py ||
+ die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clear checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+ python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \
+ js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ elif use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly
+ # Can be removed once upstream enable it by default in the future.
+ use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+ mozconfig_use_enable valgrind
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ 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 clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold, bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr
+ fi
+ elif use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ if use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ if use valgrind; then
+ sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die
+ fi
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if tc-ld-is-mold && use lto; 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."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+
+ # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969)
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+ # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded)
+ if use arm64 ; then
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/v4l2test
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Add telemetry config prefs, just in case something happens in future and telemetry build
+ # options stop working.
+ if ! use telemetry ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs"
+ sticky_pref("toolkit.telemetry.dap_enabled", false);
+ pref("toolkit.telemetry.dap_helper", "");
+ pref("toolkit.telemetry.dap_leader", "");
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local desktop_filename="${PN}-esr.desktop"
+ else
+ local desktop_filename="${PN}.desktop"
+ fi
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ if use gnome-shell ; then
+ # Install search provider for Gnome
+ insinto /usr/share/gnome-shell/search-providers/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+ insinto /usr/share/dbus-1/services/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+ # Toggle between rapid and esr desktop file names
+ sed -e "s/firefox.desktop/${desktop_filename}/g" \
+ -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" ||
+ die "Failed to sed org.mozilla.firefox.search-provider.ini file."
+
+ # Make the dbus service aware of a previous session, bgo#939196
+ sed -e \
+ "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \
+ -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" ||
+ die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file"
+
+ # Update prefs to enable Gnome search provider
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs"
+ pref("browser.gnome-search-provider.enabled", true);
+ EOF
+ fi
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+
+ readme.gentoo_print_elog
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+ optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+ if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+ optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver
+ fi
+
+ if ! has_version "sys-libs/glibc"; then
+ elog
+ elog "glibc not found! You won't be able to play DRM content."
+ elog "See Gentoo bug #910309 or upstream bug #1843683."
+ elog
+ fi
+}
diff --git a/www-client/google-chrome-beta/Manifest b/www-client/google-chrome-beta/Manifest
index a7a19f12297b..b49ca05e822f 100644
--- a/www-client/google-chrome-beta/Manifest
+++ b/www-client/google-chrome-beta/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-beta_131.0.6778.13-1_amd64.deb 112288136 BLAKE2B f9f7feeb6fff7ad2f12ff29d81c7be8ba10e2e58e6b013684a1b99a3c69f8e94b2c0bb0f5a530d31734b9dc8c8c6d45dc773a9467cbff123e1d904c298a35c9a SHA512 9cf426e1705dc1dfd61ff14097bfcb94e4ae293d3aa8f126b8876efb4bd386f05df03eaba1bae25f3311d924c021beeeba3d20528826ee71771a3ac98979fb75
-EBUILD google-chrome-beta-131.0.6778.13.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4
+DIST google-chrome-beta_131.0.6778.24-1_amd64.deb 112358700 BLAKE2B 84e151639a1d4aca6c4c2faef89df85b74d496eb14f04d950536ae042256e597ebb43299a6c9d2e1f79bb1bb9f084b36f5c3c56c8aaf55ee2b9718d3e98708e8 SHA512 7b673c565dfb42edf028a74f8397d960aff3a08962cc4070770c59664edabba2fa0818e1aec28fac7b5c6da7a1bb29cef223273d0f122ef7d06c011ae6e52c5b
+EBUILD google-chrome-beta-131.0.6778.24.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome-beta/google-chrome-beta-131.0.6778.13.ebuild b/www-client/google-chrome-beta/google-chrome-beta-131.0.6778.24.ebuild
index dd9e9c497aea..dd9e9c497aea 100644
--- a/www-client/google-chrome-beta/google-chrome-beta-131.0.6778.13.ebuild
+++ b/www-client/google-chrome-beta/google-chrome-beta-131.0.6778.24.ebuild
diff --git a/www-client/google-chrome-unstable/Manifest b/www-client/google-chrome-unstable/Manifest
index 4ae0fcbdd4d9..da6b55d6d626 100644
--- a/www-client/google-chrome-unstable/Manifest
+++ b/www-client/google-chrome-unstable/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-unstable_132.0.6793.2-1_amd64.deb 112297868 BLAKE2B af778e3dd67e3aeb19e6019ffed0c670da6b1233ac55b80532d47a50af1d46f3ed464cc3c1dc0f536b98ce456141b947668ddbb68252c9c03e9c515eb3719904 SHA512 de03a0983d3650ea59468c9459f7155270e289032f589dcc88e36984435b4ef4e8b287c6365f30cda48a0a46eeca5cd434c22c83cf4b3407b1ff4e63f5a54125
-EBUILD google-chrome-unstable-132.0.6793.2.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4
+DIST google-chrome-unstable_132.0.6811.2-1_amd64.deb 111754848 BLAKE2B fd411f2cde00acfdecdee4c81a65046833047b4388994c2974fcd3aa396bd4d26b617415c9202a212145d9d947ce170b0a2cf933d2dbf4741fac97bdfcb10f94 SHA512 ec25135acb6e24337f230e42e6e7d55a87409c8d58744d0824b0f0014040f471543dc53319024b33ada0a19cbe1adc88a5a4532b71636e1d06eb9664c568d63f
+EBUILD google-chrome-unstable-132.0.6811.2.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome-unstable/google-chrome-unstable-132.0.6793.2.ebuild b/www-client/google-chrome-unstable/google-chrome-unstable-132.0.6811.2.ebuild
index dd9e9c497aea..dd9e9c497aea 100644
--- a/www-client/google-chrome-unstable/google-chrome-unstable-132.0.6793.2.ebuild
+++ b/www-client/google-chrome-unstable/google-chrome-unstable-132.0.6811.2.ebuild
diff --git a/www-client/google-chrome/Manifest b/www-client/google-chrome/Manifest
index 516480308cca..77e78508a3c4 100644
--- a/www-client/google-chrome/Manifest
+++ b/www-client/google-chrome/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-stable_130.0.6723.91-1_amd64.deb 111384404 BLAKE2B 31d465a1cf0c1536d9999874da27e105ffbe0ae9ac6d2da473e1338df4ac679b0cc65d6921e90bb75d08d30f9a6572e22327f37fc11cf5312a00b46209079ab5 SHA512 c5773a668ffb602446340063aa9879d4197426144143c71390723fe76f2873d3ea90a0841d16b29da5336bbf7d7105b349dd70143451f238d023ae3195d3ce57
-EBUILD google-chrome-130.0.6723.91.ebuild 2982 BLAKE2B 94c28a910834b70ccfa642f6e5372dce9e534bf5b9c210516958e8cd96c4b8e042d360a9fa5c85d13cbe4b152a26b7751f5f87ab832002fe21e83f2cdf03f47e SHA512 23c9d78446da4b7ceef659dd659af367733abb766207e343fc991122d13744e3d67b0919d9d6371df5fc43815301c062087e1ce8d685e41ad0613e352b8c96ee
+DIST google-chrome-stable_130.0.6723.116-1_amd64.deb 111445052 BLAKE2B f1b5f0c9ff7c8306bd69bee4a2f7160a81325cf4c8677bd620bf57023a1220c212939f75a3ea6d162245e0caf57a7db5644e3bc45d2d32638d53d695024ca4b1 SHA512 1cbd8e30c00aeb37d319020af867ece8bebbfead892fc3ddf1f7308ca9fbea5358ce80c0faf30fa9b4045f5101c1dd657b51d97fb81e6cffe667b07e7d09fd18
+EBUILD google-chrome-130.0.6723.116.ebuild 2982 BLAKE2B 94c28a910834b70ccfa642f6e5372dce9e534bf5b9c210516958e8cd96c4b8e042d360a9fa5c85d13cbe4b152a26b7751f5f87ab832002fe21e83f2cdf03f47e SHA512 23c9d78446da4b7ceef659dd659af367733abb766207e343fc991122d13744e3d67b0919d9d6371df5fc43815301c062087e1ce8d685e41ad0613e352b8c96ee
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome/google-chrome-130.0.6723.91.ebuild b/www-client/google-chrome/google-chrome-130.0.6723.116.ebuild
index a6673ff33b80..a6673ff33b80 100644
--- a/www-client/google-chrome/google-chrome-130.0.6723.91.ebuild
+++ b/www-client/google-chrome/google-chrome-130.0.6723.116.ebuild
diff --git a/www-client/microsoft-edge-beta/Manifest b/www-client/microsoft-edge-beta/Manifest
index d0645433b4b0..40104a8c7145 100644
--- a/www-client/microsoft-edge-beta/Manifest
+++ b/www-client/microsoft-edge-beta/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-beta_130.0.2849.52-1_amd64.deb 166779630 BLAKE2B cefe253352b012120f954d7cf5483963a3a449cb5c2e87f50db60a8456405828f9f662e9b177c8ea5234ad0e88deb37a5047fa1ae3eac75af64a088fdba2db33 SHA512 e736f2415113f6e4897e6dd3d8dc3d3f997dbeefcdc429741ab14dd66b8683cf6109cc4f2206db5ea7fa38f6d17fee16fb38cde9fdbb68883fc9be97bed3e589
DIST microsoft-edge-beta_131.0.2903.14-1_amd64.deb 168610282 BLAKE2B 5e532b614b9e084dc5ae0267153be9c4df7ecd782a4e056fd81e38d20056ac62c4216e588292b9b5abecb6299f28bdb7f26e25933e373c00c9e8fcfd417f0797 SHA512 e61d48b7d413b962e319bb2b58ce6dcd89290a9b1be709f84af0a13d415aec4efc91c2e04ae620d39a285c7cadb15090c5789b78f8c3eea2c39257d6dc27412c
+DIST microsoft-edge-beta_131.0.2903.27-1_amd64.deb 168662946 BLAKE2B efe292a1dcee997fd241fa441cd5b0b30b5345fd0a034ca410b427ac7932365ee747899c6ed223dc34d743a228ca321de51f9d7e01b265092487cc8138e04012 SHA512 62090b61b076855c71f29c0cab098378617b5bc30f344a0694295835c07746ac0b1d4059da8c8f73b95be09e4df59221f9fc3cf31afdc642140f96f41616a778
DIST microsoft-edge-beta_131.0.2903.9-1_amd64.deb 168553442 BLAKE2B 541e2be92a34798b26a6c7c8b6be8933b67eefab59f84c19471a4dc00118298601c20d9ab071324a26a2f3a77033ab327d867d7575116c70054d6fb4acb37064 SHA512 aebeb9321b73dcfeb9ec0c0bc14c5f2a30c51f5682cbbee29dd04e84ba3c7c2340e44c5639f45ca1c08fffefdbe160482eb7d32a8728260c8d7a6561d31fc221
-EBUILD microsoft-edge-beta-130.0.2849.52.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
EBUILD microsoft-edge-beta-131.0.2903.14.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+EBUILD microsoft-edge-beta-131.0.2903.27.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
EBUILD microsoft-edge-beta-131.0.2903.9.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-130.0.2849.52.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.27.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-130.0.2849.52.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.27.ebuild
diff --git a/www-client/microsoft-edge-dev/Manifest b/www-client/microsoft-edge-dev/Manifest
index 231f08f98736..60e03842cb6f 100644
--- a/www-client/microsoft-edge-dev/Manifest
+++ b/www-client/microsoft-edge-dev/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-dev_131.0.2875.0-1_amd64.deb 167657114 BLAKE2B d89cd16f91fbdf2e96b29756a0d3116a0878c429bf68ef16ede7ca3353b860f1c347d069d98eb04a32ac901be0d1b083b8793cfe86389c547666711af72c25a2 SHA512 e3e786977efff0c390078e7f496eb610a88560ccf25ae36e519cf9b08e62788bfd08c2fd83582215b52497612b131a8870b8f1b10c9b0ffad312006fd1954927
DIST microsoft-edge-dev_131.0.2889.0-1_amd64.deb 168295106 BLAKE2B 5c0f6a799321f2577bf58d419ca9214f1d11346b5edfeb16bec3eace262ad290748fa308582fa2d0195aa91802d66d600e6e353b61ea22b94a6e9a14d402ddda SHA512 dddbccaf8c78e296ff692d6266843b824cb8ae5de79ea1a9dfdda1c4eeedda1d25d6c0eae43b44c39a216b0904d6a27e8e4b00c8ec467b535c802c3db627f15b
DIST microsoft-edge-dev_131.0.2903.5-1_amd64.deb 168515450 BLAKE2B fd171e82dee660cddb424bc3097ea93b2fd942dc9683b28706031d605667c32f2ee9f28758f00542e10995b4dac937e7bfc47afd668d79238fb6a605d12b2fbf SHA512 8950b3e3dac00d9cfe9627c04e447acea93202c519b308d2c9e1a532e031f06e03fe5fbcd059c9ae63d9d11365014ff75e17a30d45ca06f1e09e76395cfc3ee5
-EBUILD microsoft-edge-dev-131.0.2875.0.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+DIST microsoft-edge-dev_132.0.2917.0-1_amd64.deb 168300670 BLAKE2B 6e05e8d8454f6e1325838d33c4db997eb75e6c033682e460292e7cce36ee2564925fa9f891a52e302e382327e232d6e6ec588f2fd1ad3261450a8ed9c0db3d62 SHA512 9fe06a6ca6efb14ca0e7b09dbcb4d3a49c9e102669a3aae2dbb03ef3c699321bfd2d76c1416d6f7164ff919b2709045e502a442c8abea81d40c3599dc8fd359a
EBUILD microsoft-edge-dev-131.0.2889.0.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
EBUILD microsoft-edge-dev-131.0.2903.5.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+EBUILD microsoft-edge-dev-132.0.2917.0.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-131.0.2875.0.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-132.0.2917.0.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-131.0.2875.0.ebuild
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-132.0.2917.0.ebuild
diff --git a/www-client/microsoft-edge/Manifest b/www-client/microsoft-edge/Manifest
index 72fa059fa8c0..b75faae617eb 100644
--- a/www-client/microsoft-edge/Manifest
+++ b/www-client/microsoft-edge/Manifest
@@ -1,3 +1,3 @@
-DIST microsoft-edge-stable_130.0.2849.56-1_amd64.deb 166767082 BLAKE2B 079e102057a235bc4e0e3e0ae1f45f4815c4f1c5ed977e086c8a45db4cb97dc029fd96cab8dcc5541314615440dfc933485f386fca0143c5be0249bf735b17a2 SHA512 94f0aaa4f5263a3de7e131f3065dc2c272d99cb58bfec67865c355caf3532adb47109618aafd80f2b1b845598b898a026b5a99fbbfbd90dacbdb5ed37cc947bf
-EBUILD microsoft-edge-130.0.2849.56.ebuild 2711 BLAKE2B 1bb44a3c56ae9b33ff45f5cede57afd5c9f39d9b02f030029e22de9694efe09e68eb0106d8a896e85de2fb033341c7b479a3c4d10e9b5be5ee50fa9ab218da0b SHA512 3df8105072f7b861b8fbb50a8c93ecd9b8221548dcfc84563b8aae1546c94687d45d8dded312c9b560f99bb9b3bcf0da24ca8489dd413b52a245943e778a073a
+DIST microsoft-edge-stable_130.0.2849.68-1_amd64.deb 166806954 BLAKE2B 70173ed2cb9241efaadc16717c2c29c48b16d67ed34d248affa29553a287cb74f254f130f581e616bd1f3a1d61b762532aa155e888ff07d0e6c937cf07eb28ad SHA512 d7f4400788b993ec5ab02d6e585c44d726a4a5ffe41a3a30460d64b7e283215dc0a98e03efddcf44d8536d11a2f6a377392102c00b84eaecb612d5a9f0c52a0c
+EBUILD microsoft-edge-130.0.2849.68.ebuild 2711 BLAKE2B 1bb44a3c56ae9b33ff45f5cede57afd5c9f39d9b02f030029e22de9694efe09e68eb0106d8a896e85de2fb033341c7b479a3c4d10e9b5be5ee50fa9ab218da0b SHA512 3df8105072f7b861b8fbb50a8c93ecd9b8221548dcfc84563b8aae1546c94687d45d8dded312c9b560f99bb9b3bcf0da24ca8489dd413b52a245943e778a073a
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge/microsoft-edge-130.0.2849.56.ebuild b/www-client/microsoft-edge/microsoft-edge-130.0.2849.68.ebuild
index 7ea339bd40f9..7ea339bd40f9 100644
--- a/www-client/microsoft-edge/microsoft-edge-130.0.2849.56.ebuild
+++ b/www-client/microsoft-edge/microsoft-edge-130.0.2849.68.ebuild
diff --git a/www-client/opera-beta/Manifest b/www-client/opera-beta/Manifest
index e2124b506918..2306601dcbee 100644
--- a/www-client/opera-beta/Manifest
+++ b/www-client/opera-beta/Manifest
@@ -1,7 +1,7 @@
-DIST opera-beta_113.0.5230.26_amd64.deb 112625452 BLAKE2B ebcdfb139de9c2eb31fd10502f077012838affec9fc5f29a4b77a5b80b42ed88c27280923818719bdc15b086d0cfc464b5b449837fca4f5bf2b925bc8b8e736a SHA512 eeb53b60426bfbe2a4fac95faedbc99b4032c94aa097551f93f965d62682f2edc589fcff23204d5dce00e228ae4a02e8f130166c134b79f94a557fbb1d139959
DIST opera-beta_114.0.5282.101_amd64.deb 115291244 BLAKE2B 2a1f22e248f7d4d59cf9c454caa500c9ad616c0ff1bfe69058ea3c50aefb493019f25b277b714bfd08cbab8accaa0f0421427652e261f2bd8066036c6c042b25 SHA512 171f28671dded63a816ce7b55cd1ff7bb0cc96bdd51302029511e4acf0d38baf70c5ec4e52aa506c4074022f0fdb2db4a089ef7d262e5c46120ac4b063d180ef
DIST opera-beta_114.0.5282.12_amd64.deb 114383976 BLAKE2B 5fa655e5fb52f49f527bba9a49be628dab30d60df9c04d064342359f080000615d5d579acff709d92bfe4ebcb3c357b23960e7f0de08258f6fddcf8dc915d087 SHA512 462da804c81130658e546f442baa4be2ee71f6d1ee95ddd591795ea1f32e4657657437ad456c124117b686dfb155ea7d8a16d40a4663a7234499640c7b50a8b6
-EBUILD opera-beta-113.0.5230.26-r1.ebuild 4223 BLAKE2B 1c7e450aa206caa2f38233522a6e3453ac3483ad2b59b2873ee2982afe3c479a63e4855c56dd66cb62bdabcd8e57083a3dcda2ea92261f487fbbd4bb77fe7fdb SHA512 91c087a4cfb517f02d10975e43f90a089e2d151ac8770fd51fa859ad63cab3f7a1ad30e633c932abaad21bb08381889aa13ae09d8db2e366e008e609a8534494
+DIST opera-beta_115.0.5322.36_amd64.deb 128000420 BLAKE2B 7c9a7d5e84d2af44d4016df079db43cf9c3528d78b9b3835db30a62fe05dcfd3054e8a4f99a52d0479881a28f7edee0ea84943d6358c63357eb214948e9fbcee SHA512 a7befcabb85c88e05691bb680a8932b3b5e13ede9d04f8f5053432399abfd99e4896e7e6d8ead5c4cbbeb44c931fa5f1491073e7b658281353916049079bbb4a
EBUILD opera-beta-114.0.5282.101.ebuild 4223 BLAKE2B 8927bf7b10a5b7c99654dab062b5cf2627891872f7b27b8616d2870635e6b497416fc58133e76fa006803676b4687f527a5850ebb5334f92315f38f69c2c36f6 SHA512 97f51d58b355b3a234f4f203db8ef0f81b442dc720c22a5ae475686934576e375acd550b6b504b18a7791170cdcf4dbde4f1e861c7492de8c2676a4a75a16b8d
EBUILD opera-beta-114.0.5282.12.ebuild 4223 BLAKE2B 8927bf7b10a5b7c99654dab062b5cf2627891872f7b27b8616d2870635e6b497416fc58133e76fa006803676b4687f527a5850ebb5334f92315f38f69c2c36f6 SHA512 97f51d58b355b3a234f4f203db8ef0f81b442dc720c22a5ae475686934576e375acd550b6b504b18a7791170cdcf4dbde4f1e861c7492de8c2676a4a75a16b8d
+EBUILD opera-beta-115.0.5322.36.ebuild 4223 BLAKE2B 808fa7f9a518d480ec475c560db3096afe1703c1ba1221d541a4c3907b556615532b9cc259f10caa44929828a182a1a67c4a264a339834239d7aa6b460ca1cc0 SHA512 9d637136d1f35cb559d76155d46c4c800a03e432c384d186418ea4b099e417f36b0dfa4c52920432d8cf3ffe57ff31d7945fb1acc601be9f93a9a2f7d9aa2dee
MISC metadata.xml 544 BLAKE2B e8594a0cb9a73ac5901ece78db220822043dca9faec994810af426f96e2ece7fdb069c5f1d639f66d1236ec83e6c46e50bd21c49f8a075cf0de41c9db9afd8a0 SHA512 2361ebdde2707166e465058b41a893b4c14db7c7ba8f4fe34f7ab34da4275f0af691e55881232a9253f5d793ff76e61d57689f56dd8ab879fc3ecb3294fc8777
diff --git a/www-client/opera-developer/opera-developer-115.0.5314.0.ebuild b/www-client/opera-beta/opera-beta-115.0.5322.36.ebuild
index d1438a2bae9a..d1438a2bae9a 100644
--- a/www-client/opera-developer/opera-developer-115.0.5314.0.ebuild
+++ b/www-client/opera-beta/opera-beta-115.0.5322.36.ebuild
diff --git a/www-client/opera-developer/Manifest b/www-client/opera-developer/Manifest
index 8a204afb74f1..8b2da76865ee 100644
--- a/www-client/opera-developer/Manifest
+++ b/www-client/opera-developer/Manifest
@@ -1,7 +1,7 @@
-DIST opera-developer_115.0.5314.0_amd64.deb 116624288 BLAKE2B 7d8ee492a95199783109f85816daae14404314df733b4c40617f50613afaeae986645b237bfddb9f79e2521d8f647d1abaa34db0b3da279ce3be70487ff4afa0 SHA512 f0555f7b019fbde47c2f8a9023fbdb5359b809b6553643b4f1a3aaca9767feb925ebc1135291ebc12bb12fcdd1628286f7f7e3e8a53266f565c3fa224787c4b6
DIST opera-developer_116.0.5326.0_amd64.deb 127187832 BLAKE2B 385ff427071e1a079f0edbac3bb47c7908d8d90af18aae1046c4ec2f90eb59834856962360b562802c6e507ab8f1efca30d5c0f2477821bf9f25caeed5743216 SHA512 a3e21d04c1c5d0b4b6e9aa4f14108d3a50224e4d861094ad1d25034017343d2a5b0c98a61a1cbfc56ed9382b5f0aee62d005fc4c2977f46267eedfa001c968b7
DIST opera-developer_116.0.5335.0_amd64.deb 127212600 BLAKE2B 65cdbbce5315e807e18fccefa701764101451a8ad1bbe9d9923b78c3c5e3f4b40a15b5011e383943c4651a0cd3b6b804c3754d7bb7bddfc0eabf3eb7cf854d40 SHA512 445f03f6e262385c25300c43c69abbd2926f0fa85276b60468797767bb91f6acfdc68ad5238136a5ed0a486ebba7986a4ca4db6b9375323585b1dfc9c714c127
-EBUILD opera-developer-115.0.5314.0.ebuild 4223 BLAKE2B 808fa7f9a518d480ec475c560db3096afe1703c1ba1221d541a4c3907b556615532b9cc259f10caa44929828a182a1a67c4a264a339834239d7aa6b460ca1cc0 SHA512 9d637136d1f35cb559d76155d46c4c800a03e432c384d186418ea4b099e417f36b0dfa4c52920432d8cf3ffe57ff31d7945fb1acc601be9f93a9a2f7d9aa2dee
+DIST opera-developer_116.0.5341.0_amd64.deb 127258536 BLAKE2B 67597e0706829091c1c07cecead151e63e3a61ccd4d2a56f40c1216f2a90b61faf57b480c2ac6fb422e7c855525f2cb593a66f4382d8774ee14ccc4647b92330 SHA512 2c13e5bd246f8dbb13f8666c29ca0a1fc2a3558f0231c73119da7002652aeaf56b280007979e526c81b6a311ae6dadce3611a59f360a64a701e4463057472d3f
EBUILD opera-developer-116.0.5326.0.ebuild 4223 BLAKE2B 808fa7f9a518d480ec475c560db3096afe1703c1ba1221d541a4c3907b556615532b9cc259f10caa44929828a182a1a67c4a264a339834239d7aa6b460ca1cc0 SHA512 9d637136d1f35cb559d76155d46c4c800a03e432c384d186418ea4b099e417f36b0dfa4c52920432d8cf3ffe57ff31d7945fb1acc601be9f93a9a2f7d9aa2dee
EBUILD opera-developer-116.0.5335.0.ebuild 4223 BLAKE2B 808fa7f9a518d480ec475c560db3096afe1703c1ba1221d541a4c3907b556615532b9cc259f10caa44929828a182a1a67c4a264a339834239d7aa6b460ca1cc0 SHA512 9d637136d1f35cb559d76155d46c4c800a03e432c384d186418ea4b099e417f36b0dfa4c52920432d8cf3ffe57ff31d7945fb1acc601be9f93a9a2f7d9aa2dee
+EBUILD opera-developer-116.0.5341.0.ebuild 4223 BLAKE2B 808fa7f9a518d480ec475c560db3096afe1703c1ba1221d541a4c3907b556615532b9cc259f10caa44929828a182a1a67c4a264a339834239d7aa6b460ca1cc0 SHA512 9d637136d1f35cb559d76155d46c4c800a03e432c384d186418ea4b099e417f36b0dfa4c52920432d8cf3ffe57ff31d7945fb1acc601be9f93a9a2f7d9aa2dee
MISC metadata.xml 544 BLAKE2B e8594a0cb9a73ac5901ece78db220822043dca9faec994810af426f96e2ece7fdb069c5f1d639f66d1236ec83e6c46e50bd21c49f8a075cf0de41c9db9afd8a0 SHA512 2361ebdde2707166e465058b41a893b4c14db7c7ba8f4fe34f7ab34da4275f0af691e55881232a9253f5d793ff76e61d57689f56dd8ab879fc3ecb3294fc8777
diff --git a/www-client/opera-beta/opera-beta-113.0.5230.26-r1.ebuild b/www-client/opera-developer/opera-developer-116.0.5341.0.ebuild
index bd4c71870839..d1438a2bae9a 100644
--- a/www-client/opera-beta/opera-beta-113.0.5230.26-r1.ebuild
+++ b/www-client/opera-developer/opera-developer-116.0.5341.0.ebuild
@@ -42,7 +42,7 @@ fi
# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version
# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium)
# Does not need to be updated for every new version of Opera, only when it breaks
-CHROMIUM_VERSION="127"
+CHROMIUM_VERSION="130"
SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}"
S=${WORKDIR}
diff --git a/www-client/opera/Manifest b/www-client/opera/Manifest
index 9ba2e827ccf1..75c62a455406 100644
--- a/www-client/opera/Manifest
+++ b/www-client/opera/Manifest
@@ -1,3 +1,3 @@
-DIST opera-stable_114.0.5282.115_amd64.deb 124780708 BLAKE2B 515b1f373c837a7ff96beb72d9f3fae9be2fab5edeb2b56e62625ecc1325e2ca242c33c98c3036c41d4f15c19f9b85f66d1736342534c4f51a2c9a14ec991e49 SHA512 1fed0f22a3b34f35b72bf02a3a03059b2480ed6ec3e3123908b5bd62180fbad63ad1883078cd748cb6abb87a7c65b09e866250b932ec530147d83baafd79b748
-EBUILD opera-114.0.5282.115.ebuild 4222 BLAKE2B 8788f7b4c9d6f8bad81e150ef00a688c3e967262c2f10f4deb7d4b90ebc4af07f1804e36f85f3a712bb012bd3c864f25a8489d80688c50e708de78e14226ac5e SHA512 5d6d9754c44433025466a382e5290c6dec35c11e7e120eff495046119f26ee49bdb25e9f201ed4142d1b7932f8f3baac2290df1664abdf9ee75944ad14181251
+DIST opera-stable_114.0.5282.154_amd64.deb 124817092 BLAKE2B 1ee353ab732f509d8666ee62647cb3c39da33cda752ecd2ce343062741033b638a3a3cbe184fc5e012b068126af752d7aa0c728c39062085e0b43ec3e854738a SHA512 af5aeeb7c384e83461de727ef2a6011005a58ace8ab59eccbf004afd602c1a38456312465441fe3c3bf8258b43a038be02efc824f426642fb44ee6e17a9a507a
+EBUILD opera-114.0.5282.154.ebuild 4222 BLAKE2B 8788f7b4c9d6f8bad81e150ef00a688c3e967262c2f10f4deb7d4b90ebc4af07f1804e36f85f3a712bb012bd3c864f25a8489d80688c50e708de78e14226ac5e SHA512 5d6d9754c44433025466a382e5290c6dec35c11e7e120eff495046119f26ee49bdb25e9f201ed4142d1b7932f8f3baac2290df1664abdf9ee75944ad14181251
MISC metadata.xml 544 BLAKE2B 94b2f6807c021794769fc62b041c69bd08a0d307c51db96109bd45a1fff240d586c51daa91e894055e47291505750f07e9054b6b1b364a691c18f5711acbe9b4 SHA512 691c7b62fa7c8a46e4cc981a2f211a1609b1c57620aca668b001eeaa2cbcd2f38299680c4707a73a8f32ee19b054cd131a2b09600bac30b8530af35142694ff7
diff --git a/www-client/opera/opera-114.0.5282.115.ebuild b/www-client/opera/opera-114.0.5282.154.ebuild
index 093348a81d31..093348a81d31 100644
--- a/www-client/opera/opera-114.0.5282.115.ebuild
+++ b/www-client/opera/opera-114.0.5282.154.ebuild