summaryrefslogtreecommitdiff
path: root/www-client
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-06-27 07:59:40 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-06-27 07:59:40 +0100
commitd2ed973482fdd800013658e83a61709b29e0a80f (patch)
tree57ea7666a57b5a05a4c8866e4915e90b4a6e7c94 /www-client
parent9f6a82a85d400d6ae7de04c43cee88dbc6bc4da0 (diff)
gentoo auto-resync : 27:06:2024 - 07:59:39
Diffstat (limited to 'www-client')
-rw-r--r--www-client/Manifest.gzbin6196 -> 6195 bytes
-rw-r--r--www-client/chromium/Manifest3
-rw-r--r--www-client/chromium/chromium-126.0.6478.126.ebuild1452
-rw-r--r--www-client/firefox-bin/Manifest99
-rw-r--r--www-client/firefox-bin/firefox-bin-127.0.2.ebuild366
-rw-r--r--www-client/firefox/Manifest101
-rw-r--r--www-client/firefox/firefox-127.0.2.ebuild1420
-rw-r--r--www-client/google-chrome-unstable/Manifest4
-rw-r--r--www-client/google-chrome-unstable/google-chrome-unstable-128.0.6555.2.ebuild (renamed from www-client/google-chrome-unstable/google-chrome-unstable-128.0.6535.2.ebuild)0
-rw-r--r--www-client/google-chrome/Manifest4
-rw-r--r--www-client/google-chrome/google-chrome-126.0.6478.126.ebuild (renamed from www-client/google-chrome/google-chrome-126.0.6478.114.ebuild)0
-rw-r--r--www-client/microsoft-edge-beta/Manifest8
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.15.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-126.0.2592.56.ebuild)0
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.8.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-126.0.2592.61.ebuild)0
-rw-r--r--www-client/microsoft-edge-dev/Manifest8
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-127.0.2651.8.ebuild (renamed from www-client/microsoft-edge-dev/microsoft-edge-dev-127.0.2620.3.ebuild)0
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2661.0.ebuild (renamed from www-client/microsoft-edge-dev/microsoft-edge-dev-127.0.2638.2.ebuild)0
-rw-r--r--www-client/opera/Manifest4
-rw-r--r--www-client/opera/opera-111.0.5168.43.ebuild (renamed from www-client/opera/opera-111.0.5168.25.ebuild)0
19 files changed, 3455 insertions, 14 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz
index d92575996c7f..d0e5d70feb23 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 bec92e76a800..168091d45140 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -12,12 +12,15 @@ AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9
DIST chromium-126-clang.tar.xz 50615992 BLAKE2B 293709399ddf343ba195cec452974178228ebb72921931ad58136351956b881f8dc0bc8ca740252bcd4971701c9ee8ccc0a33648aee25a5b1cece56e0af6b83f SHA512 7bb2938b1df452585d0ee93da3bcf9c3e64e88e39059a713fe21758df670190b12ca002ef2764dc99efdb4284b4c4b7cde861e2e495d99956c21120a51b8c3dc
DIST chromium-126-rust.tar.xz 150643432 BLAKE2B d9c827008a2fae07977628beccdf3cf4e5d9bf3c9728e4b2839c8bc86ee2f87844921064e30c067a1b620a3d53cbf54a74053172b1436239332fc668f772924d SHA512 431c0305a81e59da231d56f1b119226b661d7f5a93d0da92afbfc384b0e5be28f282c2911137983298a5369c93b60184d41875ec63b47048a782ee2b1301fc77
DIST chromium-126.0.6478.114.tar.xz 4167281776 BLAKE2B 4ca720b0280dc6f0aafb5da5d31f97d8d55faec9ac187fc7f3e16e447d147a6912b2b8f26247503390755146e42b32458e4c71a80e6a132cc456f414454ecf53 SHA512 49ca506eb7ac52cdfb5b491bff10deec46d62686feeb3392803eecd61a570ce6c9e6c97d61c79907aaaee39b6d32a4da399c92b8078dbdf2df097f37c757d286
+DIST chromium-126.0.6478.126.tar.xz 4166142564 BLAKE2B 4c709c3a02a01f6bef46309b4a2f3d8cd688007e6b69152a5119a098c98aa272e10ea1ebf418c75387d08e1b9dde75ad53eabc12cf860b288e732c9b974e6066 SHA512 4a86edb82ec530299f8298b7604a18efb5ccf6a6cde37950d7821a73b005b9e83805a0b7f36f2fa5b4f71e237bf70ec628c1864e4f81caa4333a5dc904fb3aab
DIST chromium-126.0.6478.57.tar.xz 4162722444 BLAKE2B cc41d74916a81a1162aad8ae785e08423ca1c4a49b7b8cdfe0873efab3b67e90da4e240c8c564c77cb67466af6d7c6a61ca3acfa8aae227838060565c0fbb3a5 SHA512 e350cf34ddc7c010e6f2d87c3f8dbaa17f5dd448b10f07b6dd319e494f7d70c6caf3ef7e676de33ee1e05d602edfbae9bcf3807887ae74c32bc49a6db7aa79a7
DIST chromium-patches-126.tar.bz2 4538 BLAKE2B c1f224015618ec908ef09d0c04a2243923371e2caeccd60d93747599fd1434b284291a5b4326008db21749cf78827d5a4b50d22fc805dcd3c1fd86303dc82729 SHA512 6692075adac0379b5f27d1023de1a051cf7f7f7138efd32dfc3af0d501b714142a16daf18022bb46d92218587f364f4dafe9f4aea24f6826e88b0e7cc2be7d0b
DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
DIST chromium_124.0.6367.207-1raptor0~deb12u1.debian.tar.xz 587248 BLAKE2B 4c5a12b3e70be85b31d60d35d160281cbf8b93422169243f743fff25805bc7006ffeed5f95b415fb49e9cf4c3bf2c0a2d5ed10642d8f772df24cab1fe738125a SHA512 025ac185f27c66438a5eaf482120fded42d37403706fd012fbde1b6acf5c2e360bb2fb7723183d4883f66f36afe10167a2d919cde11735186a1a87b28ffaf9c6
+DIST chromium_126.0.6478.114-1raptor0~deb12u1.debian.tar.xz 613488 BLAKE2B ecdf33e0ced01d540b7f1e599df6655055afd8f72b22a92c600205d1b02176be76140a5bfa550e62e4a0e4f03c68992eb480d9ba4a256b3f8b48b525a8ce7400 SHA512 53ea7f89dac5c42ca991f40f2a5515393cb74334a27df72b944552d5a557f6c53b0dac9c89cfb99918fd502396bc80a677a87533f48552af9f7fd440b7b8b2cc
DIST chromium_126.0.6478.56-1raptor0~deb12u2.debian.tar.xz 613448 BLAKE2B 35af65461a5132ac7a28e004f3b8a5e1afc10924726154dd47a23371ebe5508765e0bfd3c1b1d56ff5671039b522536fa21ec22dcb9f14426929a5905976e8a0 SHA512 870b864620e48e6aefa2b36026553b06dde0afc8e8de6cbaf0e4db2333d02164a95fa5f243066e026aa3dff4b3a7366853f49c02f607dec36cec77e4b4683736
EBUILD chromium-126.0.6478.114.ebuild 48105 BLAKE2B cdda84bcb09d113845dd934e3dd50b3896458c6cbc626883a34314458d56466674a2f4c909f16509d266743ca32e9290859e1691e02d3a4d4c75caf1c30022bb SHA512 73670ee1eff48818d8df3b0c225062be8e046806285482c56d72b0f74326aa99152fe2c7bbc3aaf25851a5ea0538c3e36745b345d8be15ba5c3014af04a03ca5
+EBUILD chromium-126.0.6478.126.ebuild 48106 BLAKE2B 73e77d9a79b2e3302f1a3cc90617aca29908bc710c62a257f64a71cb14da2b711e795f5a5582cdde32fabdb3ee97ecf110e47cd60e2ea568a02feefb7a81fb97 SHA512 d7d0d77a9c0775ba5ad67a1a4dfa8d1ff599c9347bd997c32a37f4d276a9676428cdf2b1265588a4603cc9cac1685fb001bea84e58825d1da9e4f84f8a9723df
EBUILD chromium-126.0.6478.57.ebuild 48097 BLAKE2B 36a39aa09ed0fd6c60a5f361c671466a4e69b4bfc212b7e456bcedacc718c9441195b59e8dd26cd0e9e2cc8f5dcd16ff54eadca06f46b53204eb5deaf79667cd SHA512 b83cb6452b2b40e66de1182952ebc0a859de749a75a296b51998144d57b2b48f6082e29ab29ce138554e467e2e838f4955042a11de5ff03d04a2b6300484e7d3
MISC metadata.xml 2249 BLAKE2B 42e914e06d12ce6ebff4251fa81c28970676bb6cad7e9b1591dbbf79e45a8805fad6ee3bfb7c1b81f47e91e101091fbfcd565a0cc47f8280b9f169559ca61f2c SHA512 a30553dc4878fdb70546a1dbcb8c38ac42b0bddd500e1d09ba5a8414f681b3304e9a6a02e734c1e7eb58e782f30f6390be97b4a22996788e7639e8a9feb01ee9
diff --git a/www-client/chromium/chromium-126.0.6478.126.ebuild b/www-client/chromium/chromium-126.0.6478.126.ebuild
new file mode 100644
index 000000000000..4d4905180fe6
--- /dev/null
+++ b/www-client/chromium/chromium-126.0.6478.126.ebuild
@@ -0,0 +1,1452 @@
+# Copyright 2009-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_REQ_USE="xml(+)"
+
+# PACKAGING NOTES
+
+# Google roll their bundled Clang every two weeks, and the bundled Rust
+# is rolled regularly and depends on that. While we do our best to build
+# with system Clang, we will eventually hit the point where we need to use
+# the bundled Clang due to the use of prerelease features. We've been lucky
+# enough so far that this hasn't been an issue.
+
+# We try and avoid forcing the use of the custom/bundled libcxx, but sometimes
+# it is unavoidable. Remember to force the use of Clang when this is forced.
+
+# GCC is _not_ supported upstream, though patches are welcome. We do our
+# best to enable builds with GCC but reserve the right to force Clang
+# builds if we can't keep up with upstream's changes. Please comment
+# when forcing Clang builds so we can track the need for it.
+
+# GN is bundled with Chromium, but we always use the system version. Remember to
+# check for upstream changes to GN and update ebuild (and version below) as required.
+
+# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able
+# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so),
+# then we remove ffmpeg from the image to ensure that the built package is distributable
+# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place;
+# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system.
+
+# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's
+# no reason not to. Todo: Re-enable USE=system-ffmpeg.
+
+# These variables let us easily bound supported major dependency versions in one place.
+GCC_MIN_VER=12
+GN_MIN_VER=0.2165
+# Since Google use prerelease llvm we can let any adventurous users try to build with prerelease
+# ebuilds; try to keep this up to date with the latest version in the tree.
+LLVM_MAX_SLOT=19
+LLVM_MIN_SLOT=17
+RUST_MIN_VER=1.72.0
+# chromium-tools/get-chromium-toolchain-strings.sh
+GOOGLE_CLANG_VER=llvmorg-19-init-9433-g76ea5feb-1
+GOOGLE_RUST_VER=31e6e8c6c5b6ce62656c922c7384d3376018c980-2
+
+# https://bugs.chromium.org/p/v8/issues/detail?id=14449 - V8 used in 120 can't build with GCC
+# Resolved upstream, requires testing and some backporting I'm sure
+: ${CHROMIUM_FORCE_CLANG=yes}
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101227 - Chromium 120:
+# webrtc - no matching member function for call to 'emplace'
+: ${CHROMIUM_FORCE_LIBCXX=yes}
+# 121's 'gcc_link_wrapper.py' currently fails if not using lld due to the addition of rust
+: ${CHROMIUM_FORCE_LLD=yes}
+
+: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no}
+
+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"
+
+inherit check-reqs chromium-2 desktop flag-o-matic llvm 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/"
+PATCHSET_PPC64="126.0.6478.114-1raptor0~deb12u1"
+PATCH_V="${PV%%\.*}"
+SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
+ system-toolchain? (
+ https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
+ )
+ !system-toolchain? (
+ https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz
+ -> chromium-${PV%%\.*}-clang.tar.xz
+ https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%??}.tar.xz
+ -> chromium-${PV%%\.*}-rust.tar.xz
+ )
+ ppc64? (
+ https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
+ https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
+ )
+ pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
+
+LICENSE="BSD"
+SLOT="0/stable"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+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 libcxx +lto +official pax-kernel pgo +proprietary-codecs pulseaudio"
+IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
+RESTRICT="!bindist? ( bindist )"
+
+REQUIRED_USE="
+ !headless? ( || ( X wayland ) )
+ pgo? ( X !wayland )
+ qt6? ( qt5 )
+ screencast? ( wayland )
+ !system-toolchain? ( libcxx )
+ 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-71.1:= )
+ >=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-libs/libX11:=
+ x11-libs/libXext:=
+ x11-libs/libxcb:=
+ )
+ 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*"
+}
+
+# When passed multiple arguments we assume that
+# we want a range of versions, inclusive.
+depend_clang_llvm_versions() {
+ local _v
+ if [[ $# -eq 1 ]]; then
+ depend_clang_llvm_version "$1"
+ elif [[ $# -eq 2 ]]; then
+ if [[ $1 -eq $2 ]]; then
+ depend_clang_llvm_version "$1"
+ fi
+ echo "|| ("
+ for ((i=$1; i<=$2; i++)); do
+ echo "("
+ depend_clang_llvm_version "${i}"
+ echo ")"
+ done
+ echo ")"
+ else
+ die "depend_clang_llvm_versions() requires 1 or 2 arguments"
+ 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 )
+ )
+ system-toolchain? (
+ libcxx? ( >=sys-devel/clang-${LLVM_MIN_SLOT} )
+ lto? ( $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT}) )
+ pgo? (
+ >=dev-python/selenium-3.141.0
+ >=dev-util/web_page_replay_go-20220314
+ $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT})
+ )
+ >=virtual/rust-${RUST_MIN_VER}[profiler(-)]
+ )
+ >=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 [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
+ BDEPEND+="system-toolchain? ( >=sys-devel/clang-${LLVM_MIN_SLOT} ) "
+fi
+
+if [[ ${CHROMIUM_FORCE_LLD} == yes ]]; then
+ BDEPEND+="system-toolchain? ( >=sys-devel/lld-${LLVM_MIN_SLOT} ) "
+else
+ # #918897: Hack for arm64
+ BDEPEND+=" arm64? ( >=sys-devel/lld-${LLVM_MIN_SLOT} )"
+fi
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+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}]"
+}
+
+needs_clang() {
+ [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo
+}
+
+needs_lld() {
+ # #641556: Force lld for lto and pgo builds, otherwise disable
+ # #918897: Temporary hack w/ use arm64
+ [[ ${CHROMIUM_FORCE_LLD} == yes ]] || use lto || use pgo || use arm64
+}
+
+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 lto || use pgo ) && ! 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
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+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=22
+ local EXTRA_DISK=1
+ local CHECKREQS_MEMORY="4G"
+ tc-is-cross-compiler && EXTRA_DISK=2
+ if use 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
+}
+
+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
+
+ if use system-toolchain; then
+ local -x CPP="$(tc-getCXX) -E"
+ if tc-is-gcc && ! ver_test "$(gcc-version)" -ge ${GCC_MIN_VER}; then
+ die "At least gcc ${GCC_MIN_VER} is required"
+ fi
+ if use pgo && tc-is-cross-compiler; then
+ die "The pgo USE flag cannot be used when cross-compiling"
+ fi
+ if needs_clang && ! tc-is-clang; then
+ if tc-is-cross-compiler; then
+ CPP="${CBUILD}-clang++ -E"
+ else
+ CPP="${CHOST}-clang++ -E"
+ fi
+ fi
+ if needs_clang || tc-is-clang; then
+ if ver_test "$(clang-major-version)" -lt ${LLVM_MIN_SLOT}; then
+ die "At least Clang ${LLVM_MIN_SLOT} is required"
+ fi
+ # Ideally we never see this, but it should help prevent bugs like 927154
+ if ver_test "$(clang-major-version)" -gt ${LLVM_MAX_SLOT}; then
+ die "Clang $(clang-major-version) is too new; ${LLVM_MAX_SLOT} is the highest supported version"
+ fi
+ 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_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" || die
+
+ local PATCHES=(
+ "${FILESDIR}/chromium-109-system-zlib.patch"
+ "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
+ "${FILESDIR}/chromium-125-system-zstd.patch"
+ "${FILESDIR}/chromium-126-oauth2-client-switches.patch"
+ "${FILESDIR}/chromium-cross-compile.patch"
+ )
+
+ if use system-toolchain; then
+ # The patchset is really only required if we're using the system-toolchain
+ PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
+ # We can't use the bundled compiler builtins
+ sed -i -e \
+ "/if (is_clang && toolchain_has_rust) {/,+2d" \
+ build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
+ else
+ mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm"
+ ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin"
+ ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib"
+ echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \
+ die "Failed to set clang version"
+ ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust"
+ cp "${WORKDIR}"/rust-toolchain/VERSION \
+ "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version"
+ fi
+
+ if use ppc64 ; then
+ local p
+ for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do
+ if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
+ eapply "${WORKDIR}/debian/patches/${p}"
+ fi
+ done
+ PATCHES+=( "${WORKDIR}/ppc64le" )
+ PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
+ fi
+
+ default
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin || 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
+
+ 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/valgrind
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ chrome/third_party/mozilla_security_manager
+ courgette/third_party
+ 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/blink
+ third_party/bidimapper
+ 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/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/rxjs
+ 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/third_party
+ third_party/distributed_point_functions
+ third_party/dom_distiller_js
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ 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/highway
+ third_party/liburlpattern
+ third_party/libzip
+ third_party/lit
+ 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/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/libevent
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libphonenumber
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libsync
+ third_party/libudev
+ 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/lottie
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/mako
+ third_party/maldoca
+ third_party/maldoca/src/third_party/tensorflow_protos
+ third_party/maldoca/src/third_party/zlibwrapper
+ 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/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private-join-and-compute
+ third_party/private_membership
+ third_party/protobuf
+ third_party/pthreadpool
+ third_party/puffin
+ third_party/pyjson5
+ third_party/pyyaml
+ third_party/qcms
+ third_party/re2
+ third_party/rnnoise
+ third_party/rust
+ 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/skia
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ 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/subzero
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
+ third_party/swiftshader/third_party/SPIRV-Tools
+ 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/ruy
+ third_party/six
+ 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/zxcvbn-cpp
+ third_party/zlib/google
+ url/third_party/mozilla
+ v8/src/third_party/siphash
+ v8/src/third_party/valgrind
+ v8/src/third_party/utf8-decoder
+ 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
+ )
+
+ # 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
+
+ if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ keeplibs+=( third_party/libc++ )
+ fi
+
+ if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then
+ keeplibs+=( third_party/llvm )
+ 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
+
+ einfo "Unbundling third-party libraries ..."
+ # Remove most bundled libraries. Some are still needed.
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ # 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_rust_version_check() {
+ [[ ${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
+}
+
+chromium_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ if use system-toolchain && [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == no ]]; then
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ if needs_clang && ! tc-is-clang; then
+ # Force clang since gcc is either broken or build is using libcxx.
+ if tc-is-cross-compiler; then
+ CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_CC=${CBUILD}-clang
+ BUILD_CXX=${CBUILD}-clang++
+ else
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ fi
+ strip-unsupported-flags
+ fi
+
+ if tc-is-clang; then
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ # Workaround for build failure with clang-18 and -march=native without
+ # avx512. Does not affect e.g. -march=skylake, only native (bug #931623).
+ use amd64 && is-flagq -march=native &&
+ [[ $(clang-major-version) -eq 18 ]] && [[ $(clang-minor-version) -lt 6 ]] &&
+ tc-cpp-is-true "!defined(__AVX512F__)" ${CXXFLAGS} &&
+ append-flags -mevex512
+ else
+ myconf_gn+=" is_clang=false"
+ fi
+
+ if needs_lld ; then
+ # https://bugs.gentoo.org/918897#c32
+ append-ldflags -Wl,--undefined-version
+ myconf_gn+=" use_lld=true"
+ else
+ # This doesn't prevent lld from being used, but rather prevents gn from forcing it
+ myconf_gn+=" use_lld=false"
+ fi
+
+ if use lto; then
+ AR=llvm-ar
+ NM=llvm-nm
+ if tc-is-cross-compiler; then
+ BUILD_AR=llvm-ar
+ BUILD_NM=llvm-nm
+ fi
+ fi
+
+ 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
+
+ local rustc_ver
+ rustc_ver=$(chromium_rust_version_check)
+ if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then
+ eerror "Rust >=${RUST_MIN_VER} is required"
+ eerror "Please run 'eselect rust' and select the correct rust version"
+ die "Selected rust version is too old"
+ else
+ einfo "Using rust ${rustc_ver} to build"
+ fi
+ 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}\""
+ fi
+
+ # 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"
+
+ if use system-toolchain; then
+ myconf_gn+=" use_gold=false"
+ fi
+
+ # The sysroot is the oldest debian image that chromium supports, we don't need it
+ myconf_gn+=" use_sysroot=false"
+
+ # This determines whether or not GN uses the bundled libcxx
+ # default: true
+ if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ myconf_gn+=" use_custom_libcxx=true"
+ else
+ myconf_gn+=" use_custom_libcxx=false"
+ fi
+
+ # 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
+
+ if tc-is-gcc; then
+ # https://bugs.gentoo.org/904455
+ local -x CPP="$(tc-getCXX) -E"
+ # https://bugs.gentoo.org/912381
+ filter-lto
+ 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
+
+ # Make sure that -Werror doesn't get added to CFLAGS by the build system.
+ # Depending on GCC version the warnings are different and we don't want
+ # the build to fail because of that.
+ 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
+
+ # Disable unknown warning message from clang.
+ if tc-is-clang; then
+ 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
+ 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
+
+ # Results in undefined references in chrome linking, may require CFI to work
+ if use arm64; then
+ myconf_gn+=" arm_control_flow_integrity=\"none\""
+ fi
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ myconf_gn+=" use_thin_lto=$(usex lto true false)"
+ myconf_gn+=" thin_lto_enable_optimizations=$(usex lto 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
+ # Disable CFI: unsupported for GCC, requires clang+lto+lld
+ myconf_gn+=" is_cfi=false"
+ # 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
+
+ # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639
+ if use arm64 && tc-is-gcc; then
+ sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \
+ third_party/crc32c/src/src/crc32c_arm64.cc || die
+ 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
+
+ pax-mark m out/Release/chrome
+
+ if ! use system-toolchain; then
+ QA_FLAGS_IGNORED="
+ usr/lib64/chromium-browser/chrome
+ usr/lib64/chromium-browser/chrome-sandbox
+ usr/lib64/chromium-browser/chromedriver
+ usr/lib64/chromium-browser/chrome_crashpad_handler
+ usr/lib64/chromium-browser/libEGL.so
+ usr/lib64/chromium-browser/libGLESv2.so
+ usr/lib64/chromium-browser/libVkICD_mock_icd.so
+ usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
+ usr/lib64/chromium-browser/libqt5_shim.so
+ usr/lib64/chromium-browser/libvk_swiftshader.so
+ usr/lib64/chromium-browser/libvulkan.so.1
+ "
+ fi
+}
+
+# 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_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-bin/Manifest b/www-client/firefox-bin/Manifest
index 0c9ed6fa067c..7610f047e783 100644
--- a/www-client/firefox-bin/Manifest
+++ b/www-client/firefox-bin/Manifest
@@ -196,10 +196,109 @@ DIST firefox-127.0.1-vi.xpi 650521 BLAKE2B 379020a893c74c423422de15d73b67234a9ba
DIST firefox-127.0.1-xh.xpi 415013 BLAKE2B b91113b53ae38fa5a85ce322f1afaa6188f41a582208453ab41814a4e98cf947602304691e1e30cbd66d44bf09defa5f8c8b16b6e9f79c32528b74a1c224422c SHA512 7383a1c85ee100522bc5705b97d911e08d547ecdadf5607f685a3c6ee7212b83f933f75b38cf746bd641cf5fec29283bebef7ea251a7ebf7d49bdd7bb52d95ea
DIST firefox-127.0.1-zh-CN.xpi 650827 BLAKE2B c19b8ce5a69d58a4da1dd002cc841f2bf6823cec3dcf4ad3eee04c6f5547f95d6491c579565ca59e82c850a0cc6df60a7b18996af80538750f3f2fb25baec3ea SHA512 769a3eef576f9d78461c8bf900ca974dcf3d5043a6769297a0c3d2309d38e62214428f24eaecc2f2213dc08c7c50a1ee70de7ffef4b8997f51ed9080c76fe7f2
DIST firefox-127.0.1-zh-TW.xpi 653082 BLAKE2B e031aaf61fff9b0adc7749c78333d464a076b59ac5afdf8a9289d62c82aaff2d7ee4c4a6b6c828e0db0a6e23be98ad32e81defd57cb879be9d16022060fb9147 SHA512 0a1358e57daaad039f164ff9f00376c8023287bfb8dc8abbd4b908a47fba619028ecfb39e2864be22d34141a3d4aea1e21249706180a6a3a582104105a2f7ac4
+DIST firefox-127.0.2-ach.xpi 461920 BLAKE2B 8978e6f06bf46bb473a5989cfeb9089863e9c92c3b93a0883ed2d0c577d24c717a49f5d35c1dd848c66076be3f0361ac917364716ea900156869ce3e21b92825 SHA512 f08f93f0b9c9704a77a00f1b9a83b867f82b144adb39d64ec0d4a3a5f78cf55b67b7eb3ce19c34eaf09357f8bdd7845a610937f70a2f856081ad468c446910c7
+DIST firefox-127.0.2-af.xpi 415365 BLAKE2B 383de6f37f70b7dd8791df80de220ad2b8db64f5c76bec9b5e8cf7064139acd08d4ae7000a28dfe14f648c8e8c20dd1bb8ac1c254ea9cfcf84c9850278aa6238 SHA512 84eb2d15fc2b1de6cff3dd7498277863734e60e29e013e72207b32fc230e80d9b417d2a0e0f5a1e5f2a43c2a98b90a47535bfc0f25a1e7966634c258927611d9
+DIST firefox-127.0.2-an.xpi 503728 BLAKE2B af62fb2c3862a9348d5ada2f21072d24b0800337a462c94d080a8ce112a01f28eaff40cd12a2b683ca44ffb4ed1de8b6bc9d0967774baf8b9bcc899b420e8134 SHA512 291e2c34b964f0d8986d2c568eac364e4d2a8e1218e2db71019ccf281b2f03474ebd90e3702fc7212be2fb435126eb635eec4b8871cb9f772f95e7c6c46df2b1
+DIST firefox-127.0.2-ar.xpi 607962 BLAKE2B 2777e90135a5b542688887b434838a5f9f123e626becaec6f274aeca78ff071c85501663115f99eab24e3ddfff04ba05d3332e6632600b97ec4366793cc290b7 SHA512 8dbcbed17479ad293d3e5c4d7f91e02fc95f121dc2be0b4e5f1532a270c3a45522774f85ea31454ca3e5fdb8456b230e0fa314a186134355503954ecfed0a1db
+DIST firefox-127.0.2-ast.xpi 494030 BLAKE2B 907feaecdfca0d282314669243bf12562ea45469b1fc9fee715461d3f698f0cb394dd9d8c35a90e5e3ed4d20a3629e74e14a05027c72205e3ec47d5f6b67178f SHA512 ad22d806c4584cc8769c21a04fff2457c7d2443d1a8fc7339876c1e10ec8e548d1dd898c017b2eff4759243930d6b1c6f1268166a6802e1faf6b6f67fe654db1
+DIST firefox-127.0.2-az.xpi 488590 BLAKE2B e2f329f8c5f15efc4b1cdeeb2fd99710707c97b77c00172b5fc985f80fe65ddaea26ac92dfae264ba50e9b22c3ef87c294c7c76ed2b44e98f75db03174ad3872 SHA512 b6c82f95b8fdb9b7e393fedebc04528c36b19fcb74452a12812a408d6c9f4ef53facc71d3fd9c55aae960f98b3c831be4b52b7c6d9679f6bd0a61501e00889ab
+DIST firefox-127.0.2-be.xpi 708721 BLAKE2B 9131e7cdbe4f9d087da31b4513cab3aaaff521983cdd89fd22704dd4006d6b3f2615cc9a70f594b432f7102ecc84420ab944b9f61b28af52769ab6a8ceed91d2 SHA512 b2521ae6f1c354b88c7ddde11e6f45927c40c374713f07466e649833045b5231b24861000eee27176c1dc043d2209f274a8cd788094acfbdafcbad96a9806f01
+DIST firefox-127.0.2-bg.xpi 601649 BLAKE2B e1f797b9a6b2d8b694384216b06b980fed8bbd379c5e13a4a29162ae1f517f5ac18227c705d32baddd883cd3246e8aa182d51599d924e4d48fa40d777dfc21d3 SHA512 f77319e46f237f208c566c186c0b8d4a70dea15c0c487ab77c41bb22e2459e59a8b1528bc93be36fc93c80781015626bd9a56a2d3964c38d08569612cf480469
+DIST firefox-127.0.2-bn.xpi 579342 BLAKE2B ae74def080fc4879d840cd7526bc199e66e27666bd7a1ba6a3b6d8dec2b151a52b10df5853812af8af7bed90a04b215f4dce3fe42d5103e47bcdfa3f5c05d605 SHA512 cb3b2110e3ac9f072d78aa72a4f2a987d1ee744a45b1fb1844ad50439667d97b78adb3c383a5e80b6dd1ed63abea51d429c08ce6144901228f062d33b3ecd0ec
+DIST firefox-127.0.2-br.xpi 585933 BLAKE2B be13e03b5ea66573f97b015acdbfc08e05c304338256ed9b6aceb540a76e5d257f6e9ac8108fb2449498298ed680bbe46d8225f6928e4830486ffbefd2e9daf3 SHA512 657254a8e018082bd18ea9afdf761f11ac4dcb4d6dbc84f92bbf00045f814d139f4884386546fb78ded8c971719775e2cb0030435bec6ea2c14520013dabf4e2
+DIST firefox-127.0.2-bs.xpi 499342 BLAKE2B 1d3bacbb74164370b0a9c4ad9b952942fcddc3a4bea7c18414d0e31e8afd0c7d0f0f316d3d35bd3cf535cd5db1b335d336bcf27ddd18a4111386c6751b52f812 SHA512 40a0d7502e1b61959d9145e9533098e6a2395938fb55679f7e67fe6d376f2e962be6c6fc0630a40a3cdaec7bc5a50e8193df885bf40e4ab68e488e19d30a4f85
+DIST firefox-127.0.2-ca-valencia.xpi 544016 BLAKE2B 313eef4d5fb691323a099405567eb1d0da4336c573f8f2fcaab33fc82161b30bc7c18e2ac8de89253ee47cc9589a67f889c5dda0dddca6b1be9113aad5fbf234 SHA512 5bf2930525505fa3906897bf8072ed2a13bbdc6de2df82350918d3bc94175113fdf2c1ee4da975d26cfaeffc3eb9c464cc1aafdb20eb0b29ffe022209427bac5
+DIST firefox-127.0.2-ca.xpi 582808 BLAKE2B ecfb3ef2af0ee94ca901730b9e9750515c66c0890ea28b1b0ae46e4e385e948590825ddb9607d9748a9f7f6c695f0887f4786ff3dcaa99c2be14d5a5b2d3d117 SHA512 6a29cd06569120205a13a389a4087520f803df5e459c293c4b7b61d6cdc19735491fc13382333ff96904e54da1a0b3d5b06c59792d53b877fb909e55d730486a
+DIST firefox-127.0.2-cak.xpi 590482 BLAKE2B 9f2dd6c56f78f7f64834c9fd12f14493ba1a30f0c1a283d286b4c0f0881b321029c54487cc7b644a2b9c7b547db65e76104b47404c0f50e4eab2d3bf936ef024 SHA512 510c272b05dfc16659fb27186aa1f64ae1e70a39dca93aa32d1dd79d8896c29c93322de9bdf388c8a0974632329e0798daea9b4a8d63e185d85f8a8377bb373e
+DIST firefox-127.0.2-cs.xpi 653270 BLAKE2B b98bfa2e3fbf724ced45b357c7c3ae6a5b074488b1b2426df327267232eb30b3866f836a433f00ef92c6943f5ceb2ded4ef5e0d86785ee88859cf88b47cc7c0d SHA512 3057bf1be5369af6f1572e14c8a07efb7250bb2f9e9a5f5d3e72eac6ca4764970ab47530e76399e39222fa8cff4c06df216f00acd338fc254473580cc42b9ed0
+DIST firefox-127.0.2-cy.xpi 618428 BLAKE2B c0be3dfcafd923a39cd0bd2c54e2c413509a0f1b7ca17cecd6e5c968930e5516f41bdb1b247002abbd7ac84f6855983eab2fbc3e9ebf03fd95d2aea2dc44c398 SHA512 0b217fb7c14a43830b7b48418a759185ec568100c600519a796a336059eb76239e4b58243903bd180a21327f177085900c007da8e31922bc279dcef90be2755c
+DIST firefox-127.0.2-da.xpi 606847 BLAKE2B aae984f6cce0f493a54ca2fb9f89ea916d25468d91aadae207f38a1771901dc6bad2d1761051a145ae0c197f049d10d662d0f78e64ab0ad7b7745fd41b312f53 SHA512 aa511bfc36695ce3a2a82ad759eb31b1396dc455703e605ca95ee96d72e19f768eff254645362da9c776d609b4d108d24f0ce8759c27d625a3f65eb2f249847e
+DIST firefox-127.0.2-de.xpi 628178 BLAKE2B 3a5ecbb47276320290acc9643c2396d3409c803dd7e35d767f3b43d9782d688e872981a66f8608b531e694b5779264472fee5d1b0ce7705cd590aee524cb4263 SHA512 d5346f45b6cd2f6f934d07e8445ea7ff1bc97540da57490a132d4125532b388ae911731f3a723d596f519d0325dc2ccbd287d529ce4f1e22a9e40b14b5a9045d
+DIST firefox-127.0.2-dsb.xpi 644572 BLAKE2B 72ce2b28b566e68ae48e9d2ae6db439583e3eb9bc7f08adf1e53fe53f943e49c18b53898dd649f7ddf0c1bd76cd1da00880f62cbbe7a9d897087d75cca16de48 SHA512 24b48a4e2cf9034249c5ad5b81ed25f727fe64ce8382be42d0ec418547672c7fb3d69aad0047e3085032086084921c2a51fbc29469cae0b75d3fa1b39807858b
+DIST firefox-127.0.2-el.xpi 726241 BLAKE2B 59b90ec280c4094451e4390ec990c3c5b87b22eb93217252962765220cf78539ace962abe8d4e5c581b146ec04cb5617499afe55657d951334103607d57d15a8 SHA512 bd29df99eeb56ed84d76183a09f48191b283d9d9ed3f3c0c6f33b5cdd6d6bff42a6e5e93644e91ff59ca3132155f3163b49a95c36b94eb7445f4133c6624fd7f
+DIST firefox-127.0.2-en-CA.xpi 579152 BLAKE2B 3b125758423e52dcc5ddab42c402eb311209845cee2c1e155c546b4cf8ac3e3e635fb01456ba67b52ba89d18443c833a42c5b072c24216ffeb7c51893b078396 SHA512 25d89707c67a70a807ff05c6665f03aae6effe58c9fb7a43cd427c70ee46ae7c8feda51319958cc91778ddb74031d6d471892f8b49f8a03ffd63ef30b8739c1e
+DIST firefox-127.0.2-en-GB.xpi 579706 BLAKE2B bf4151dc3504096dd96013119905cba19b8d1417da25a2f4c5dbf7e14e9ed2c20a3b4442d6eea29ee37a6a648d3aadf58f6164978921b84be1763c5dc2f99c86 SHA512 247a412c5ed93799f6a453ff8cb6a2e7629781238ffbceabb5a10c5de01cd0409cd37371b4e4511df38612397688fdeb1d4e3791d138115d733f7a14b34e2a95
+DIST firefox-127.0.2-eo.xpi 608810 BLAKE2B c85e1b71424db3764eac98af32cf943b1daeb3d64d5348cf5842862d81bdccc5afaa7f477a1ac4827087872762d3eb4969c427b3a2b5893210f9aa158c33b409 SHA512 06f3c6aff4316c7bb4ee1e2e7814267a86b5392cf2c78a39f5f4a104d48bc7bd85365ac6a1d1804b8c171548d71f8e4c571e85ca4d7fea81302160f159b0f31e
+DIST firefox-127.0.2-es-AR.xpi 622106 BLAKE2B 828e573af5e7499850fb5bc3d6a5c9b09ee4a31147a6a4dfc17665784a4f32d6a39eb94246b09c28160d927a939047807c3faa3a2b853da092de32feeea1d146 SHA512 6a8efb62c2364e344ca51dab0a3f1fb373b990e308ecd6887ed2fe3fc2f826949d676ac55068fbcd3460ee163dc9a41f7ab52d7063e27ce5624424238bf13d8a
+DIST firefox-127.0.2-es-CL.xpi 621302 BLAKE2B ed638109216a61bdbb0f1a91ffdea17321936bef0fd2c57fd8bb29e56b6103be24ced5d62c41ea114b37e962c5df496aecfb9a06227a2e3662e6fcf2793f3915 SHA512 217183e515a9fd83535795731a9f7124a3716e5f68c028ae2137057bdff261d1e7744acfe64212ff003fa7782108c261aa3dc7dcf2184f3c77462fd65a374e05
+DIST firefox-127.0.2-es-ES.xpi 616136 BLAKE2B 2c25d895c6752f5a196bc80eef656f691fdcef3d5991dd3940eb4457e36f4010d7a78f6293904b8c8bd7d2d41ad993425847cfc791b0f45688616d1a3b003d34 SHA512 1780160b8378a87790a7d06eaeb099ade3b18e80469386a886d119a811f1216dd6db0d10dc162f4eef209cc2e45d260ec83b7a61ff67312df9c2a97ad73f98c2
+DIST firefox-127.0.2-es-MX.xpi 589239 BLAKE2B 74ea13596d227087bd314822f4353e17ca47067bfdb9dfe31adceff013eb10947f9c51f21ae9ba65773af8f64c20211d753c7cd09af72645ad5ced25d7eec77e SHA512 c684248938f8e48f13943564bd98766043d2ab14777617128b62cf6983d616bcf75f4448bc9609c9b253172f0753d3904611bd5f79f89e63f43f8d5915e8affc
+DIST firefox-127.0.2-et.xpi 537278 BLAKE2B 9720007a3b7a1899eaa9ca12f72bbcc362600d23115c971c5d791878cceb3c23bdf9954fd127ca9bbeff5f55be71ab03d7ffdbd3ca26407773355874799b7da2 SHA512 6d3a8d15024a6c18bc0e8feca09280bc6c44d88b47aaf9c09fbf48776e9656357308a9e0c45ab42f5a387c69fa52db46e8b51143556ca7f6cf433b81df06a6b4
+DIST firefox-127.0.2-eu.xpi 593779 BLAKE2B 276eb7fd5ba095fc2ed9c1c89e91d92d9d78160d00bf79ff157bd53d5cb1b68290424b2959b69ef40d072fc33345a928dd66231dc2a8d922b4f65c773c0d5286 SHA512 05f754d2a01bd7c597d805cae6775ca05640bab6478c3c8c0a807aa08f41a63e86e0d5f85d7b020d805955cbdc8e0deccebc7f95b46f75dc31521da416d7cb3d
+DIST firefox-127.0.2-fa.xpi 587838 BLAKE2B 03c99132883000ed03489cd26d5a220bc5c3bb30323dc7c956a1c8ffd55e6a63a20c3a18413b151158a559c208751ed4afc352b5fd130ddbf4e7af83e2a2e933 SHA512 369cdea6c059bda8304fe4075ace929c5023359df27c5f5ec9b930aed2b57590b59309b993259c77b9a66f02d683cde1f1f8c6a930f129889df1239a3ca30bd3
+DIST firefox-127.0.2-ff.xpi 473942 BLAKE2B 020c910141a001fff646585b848ce7a0e62ae50ee5b790f25a3c35e24e302c3ee074ecd52ac987a3b91804d672a46b17fbbd503cf864faeada80d0773cda1eeb SHA512 c4c577ee23c99f26cd0c37553013f3cfc657e5c90b594f60ec6db66f5560069dfab175bea6b65ff8bba0e9a16697cdb7e30f773343612554b868bddb607d689e
+DIST firefox-127.0.2-fi.xpi 601836 BLAKE2B d7d757970504b3ae569f661d58c929c8128d8dd2786c0448dd88c65f97277f02cafde9d4fc8037241640a88899cd9f8c9aece17134f20d48ea6749e79ec12d2a SHA512 5fc511b7495fd7d92597ff3fdaa8b01d76e2325112d3b48d01ae38d624e0017dffd9e7316b21dd0bae6ecc95505993dd44c1f682bfd3b0086924695337da2f13
+DIST firefox-127.0.2-fr.xpi 635004 BLAKE2B 04d7c575d53527b098a1c1387b9331182d197cf4ffe157183e074e2129dd5709b490c056af819d596ab203072a048bbc8c6cec79a7b014f3d80c79428f6e3106 SHA512 7d456172b78fe2ab7708eaab0d1f197e95ef30b04265813557c12b138c284be76a6e78f11901024a7c0412831bde2f4fa9df66a44d0774c2d47bc97d47970a27
+DIST firefox-127.0.2-fy-NL.xpi 617744 BLAKE2B a2c9177611b12d11cbe87bb2cc3099be5a0b339938048d9058047085e64c6b426cfb668d2f9bc51aba951d1f6d1f09aa572b082e87d8d403d9ee31bbcc0ad4d2 SHA512 ffb266eac4df02de1269307e42042db41f950ac5757ef4a4b79f05069efb84bcfc00f6b7605abbbdccfe39ef4962316494aa630d37098db6e237a4136884a598
+DIST firefox-127.0.2-ga-IE.xpi 468832 BLAKE2B 7696d21ac2419875770f0050ba22cdb77303a5062f4dc71a82ec6dbfd50cc9ee25eaa06ebc6dc5785953e42f120fbb316df81b6b596ed3c72dbb69b450bc4177 SHA512 8d19d9494feb2acb3c310adb1860b9988ff91a1cf691f4491394e9472535787045b6b0dcffe97f00aa56371a7f15b4baa357b11e63bd26a0b773b340f68f4ead
+DIST firefox-127.0.2-gd.xpi 594383 BLAKE2B bf678fe36233ac642d21a381b2dd819bf3e9a22bbcdf17b7404221657e9ff0a81a07d9d7f3fa134265ff471667f1428819756c13646f1c9be8c29e5d216fc722 SHA512 23cfa8484e7e97f4e88acb29c75cea3cef8cc96687b21d7ffb6b818222a12249fd3faf41c7ec7349f2e22860c062dff7eebffde40711d2e241ac36721daee6ba
+DIST firefox-127.0.2-gl.xpi 601871 BLAKE2B 165fd9574a2404154032709d56ce98dc636fea53233fdee6446f1ecc3be90f2da8d3bb958aa6bc552e44e838c4aebe3da2853b824ddc12f1d85847351a9d4454 SHA512 66a0845743bdc272827e0b8ccd2b47d8bc15cfe69a6f13a41027d80589e1833cca0a7aba81e4c4b1395804b3fb9a5c70859de0ce0c721397750e39b69223474a
+DIST firefox-127.0.2-gn.xpi 633216 BLAKE2B c720023594d1642a96cddc60c645cc9da55543269db9cb8a885585fb62dd4d88f9f56cacdde8a10bd08f370bd691ce3d2528df6a9f9987a8cd6ad06c943d4499 SHA512 68ac786265b14eff979bdeaa3cd54cbaf523d22013ce5d8e6e025dc84aa6bcc8f80d3f5437e63078569f950276d388a438e18d7c69cdd97a993af1b172624538
+DIST firefox-127.0.2-gu-IN.xpi 525159 BLAKE2B f5d800531dcd64701015bf2ad782c882bfc19f190292e453f650358a9d54eb1656ae1a85c4e26c7bcb9703890938dbd2da7a7d96f4af280aa6788ff76c55c0f3 SHA512 960762d09c38620010f179401de7aa648efaa7dab84ed6aab572c3c42f3fec40c456bd9bb1bf14545f34ad5b8cd018b00401096613d4610877ac4b9a2447efa3
+DIST firefox-127.0.2-he.xpi 626712 BLAKE2B afffff975a94d3cbd24bf8c548d2fbb3c72ffcae74eea9705b07512a9a6a751d372c031f7f7d395bf4c937f5a2d180afb942141e528ce74fcacdec0065c3a1c6 SHA512 92af5bf179af0aaa5a8fdd58a96e73ad815d9f7ec7442d09a15d918f3ed193d44a66ee2614d44fe09c332c09d70b647e555434633c9e5d33b0e6d30a7a08cfc8
+DIST firefox-127.0.2-hi-IN.xpi 563353 BLAKE2B 9ff065cbd37bbcad8394beb5b424c1389000da238f8483fc78970b32b6a3d766070fd2aa70e181079461b8871afd0e0fafd1283939a118d4c894deca44d12323 SHA512 0678fab31a20c98d64158a0501824c7371bc22279cbe4b195a376bb045712451eafbbf8bc123fcd117917d36dc4958bf6656b26ba4785e05b7bc940a169a860f
+DIST firefox-127.0.2-hr.xpi 554576 BLAKE2B fb13353b6b0deee986fbc5629252b56e7e6b2aea0fd3d2eb45f10488973a164df989c60ce1651626b5e0ae827b7b724be16c3ddc043413d7307a70d403c90175 SHA512 58fad028af2d8b9c17c2aed96703a07fff45e797d7e1a7cfd10ded7b61eaa0c04b36fdab44e154e7920c7e30e79bec96a1702512f033b557f64cc34f43824281
+DIST firefox-127.0.2-hsb.xpi 640687 BLAKE2B 4a4fec20af37db4bf1d1e945088619c11ae98bac270d659bd96d39000a14ef1ee843a45f55786d86dd41d768984de4f173f3a3e4eb0c648aa18203117d94fbec SHA512 10ac939b71b611d6ff052df9288b7e0348d741cb528d06c927523f46413499aef43726f8327bfbbde423ce33309d31a34dbc5c05d3d835e385b461cd5df7007b
+DIST firefox-127.0.2-hu.xpi 644724 BLAKE2B bcd603197ee1966a9ce15d39d7e9cbcc7885a7c90e000482d969e88773cea66d80cccf49f35bcee4ccf215f160562b0afd4bd04fe48260f6cb9f059405a171f5 SHA512 baff1ec2c87952299cd8d7780c19ff738ba730cd33e623c8c479dc07bcc2fe5e853e18f3c1ca697e743dddf4ab5e21d14a1cdaf7c5c5d91319b80b2f8cb3ed2e
+DIST firefox-127.0.2-hy-AM.xpi 648986 BLAKE2B 83014678273ef12ab46165594c525277187776562d71c0e04e32776649e4b30d0b2dd8f01e940de2fd6be256137ba982c6a2ea8c4368b45f4d0c5ea75775e0dd SHA512 2f25a4a190eca19c750e2fb2632bc227e3511b46e8338fd692e54104e866b8d0e97c57d814116a3220469f9f9a510e51f1a3357a4dd0a84798129be8b51863f9
+DIST firefox-127.0.2-ia.xpi 605289 BLAKE2B 543e1ef07007cda243c6c7921f657e407082ebd4e85f55944b64c221ccd65c85e80ce2c017a076d4e569cb5700d14b254289853df474561e7e446ee7d8c85968 SHA512 1886ebe21c2c3b3a0edaa12aea403eaa6a85fa25f6561f06d8b6aa250a8e010c4bfcc743d5fe304fffd63916dc8855a5ec85fed61c2b0c663f8020fd9626bb0d
+DIST firefox-127.0.2-id.xpi 572107 BLAKE2B be501c12b2410cd01e4c7c036aecab49a013dde75c0329dbd546f79e4f7acf2ddc37cf662fa374346bbf925777e968c76d0007d014b95dc922589c07bfcd9bcc SHA512 640b4cc656d7e816bc995418bdbd4680aac11192af29f923c669fbe6d8ee852ea8eefdd255251d83a02c873e5bf50766d0b94ce4f674d1f1b5cd14eb559b2f64
+DIST firefox-127.0.2-is.xpi 611945 BLAKE2B 589f70e6ad040719b901c9a6c74acd675438c6e2d1d43cff4761c9eecabd471cd7a3c93565b2afa635f76e84a2da87e06dc639a983ad2f7dc240bccc4f94d51d SHA512 1c8e31729d54e5a06e244dadcfaa686396776b90797d1f311c98ed779a8a730ab2b5f9ed3c41e89bc4a385e32d3af38df8e54feef1ba0feba6a8de304661330c
+DIST firefox-127.0.2-it.xpi 561886 BLAKE2B ff4d47130ee0480b736e929ac3d8dbf3888fe8b084c6fdb977584fd873fb00064458c72cbc6e2014080ed2f92aee91524449dfdbab0023ecc9d2d2eb71d4957d SHA512 412d49cc1cd92a3c50c9e1e517afbf70afa1d1457b41d2065fc0dee19e48c4bdaa4d68b462fff0c09cd102b5548aa815dfc3eb96a44ac6ce7fe4c92a63e19831
+DIST firefox-127.0.2-ja.xpi 673185 BLAKE2B 616faee17face89955ebcbca3fd0c38074eb9c8cb8ae5ac6f0ec298b55a71a781740537d31a55b09f2d3176d886f9dc94b516a277f7d3dad601d279b7b44581c SHA512 e4a1dce545675f2ff979d9ce04675229307ddf06302f4686e31dbf9b9e952a6e6681b9b73835a3e86d21ad0957eeb0a57af41a0f00fbf067a5e311f0aaa533d4
+DIST firefox-127.0.2-ka.xpi 658460 BLAKE2B 1e1cbf2ffd7edb05636b0894840b7729bc5ed07c54aa97730ccf30abb07391d90dc61f03aba68ab1b3cd2258d25195e10a15016ccde628fd207df3a2c8a43328 SHA512 282d5bc341eaca423c0d6f4f503d4e82aa7346d4db54ab64d63efec3985e52b6b3ec2b648265ae6861b96e505aa22b27bc8eab81d036e6f3f1831a30d720e84f
+DIST firefox-127.0.2-kab.xpi 602171 BLAKE2B d598af0433beef72504c005532b43511831b62437e62af54fb37af665e79f6aeefeac943a774bc3482ac058441ad25834531a43091a70e66387dbc90f0caa089 SHA512 93aab5f309d1ea6527029dcc414b2c335261605801cdbf6060699abe7fc11a533c67e391b64477b744c87815a4d9e8217dcf78950c707b12c05bb5f9353e27ee
+DIST firefox-127.0.2-kk.xpi 701249 BLAKE2B c012acbee6861d3f439912f4b7c1aeea5db6e1c667b716233b8b2941749679e88ec27587ba06810e5c242cf44e1dc71b0cbef73b791b7f1b6f270f0d13829d27 SHA512 933239b89d0008d7e9152be4167d44d3486a99bb1369932cf0c2cb627328fc0f810d5f153373fec7f783668cb93feb2735840962502a291cde0c76d067dc1c72
+DIST firefox-127.0.2-km.xpi 523616 BLAKE2B adc95ed4f61ac2a24e23d5a77050385640ae1ffb6d0ad8719de85aaf6c667d35cfba28ada2a688827ee9973520a01dc23182330a5a0ee505a414745915e21111 SHA512 5f6165b1059a226fc240afee289113f627b2e0d447d80e2c1231236365fa643a37744436b373fb2e62c27f3aac1427e1061901e02223bfdd505e9a93ec038a63
+DIST firefox-127.0.2-kn.xpi 489100 BLAKE2B 252088f2756606cb8eec9b5702b250f490f97367a5b26d7a3c35adcb95977d12494a7518e8a494d7d123fae55c6ff5ab50f79b8102daf734e6463817eaf6fb23 SHA512 333266766c09e952cd7b5a7761a824956da983bbf55cead5f14583f49d4099255101b4b20a0573eacbf97ff075124ed6e15394b8508d7a2c494829c95452d375
+DIST firefox-127.0.2-ko.xpi 655332 BLAKE2B b174ef3b71ccd98705f0099a9d8a9daf2df4d315a9a8400452f6f255e4ae6fa9dba0edb46fcbb129bcb3bd11ec2ae3b4cd415ba3210de1ba62e666e3520499e3 SHA512 0b1c672782c15a3b44e764b5954abd83ffd6c778d3c7105de326861feb14ca65446c16411c9fe13c25d34a4613ce35013c1346dfae14ef18f9b70dd27f7b5003
+DIST firefox-127.0.2-lij.xpi 481948 BLAKE2B 9d2d797dda09480e0bf45d9129f15fdd94c81395597bfdb37c524ea24ef476ed51fb7d298fbef8cd5a2bff8b0a38d052cdeb33c3dab696a3b35e5983d9bdfb99 SHA512 6853cd544af90e32fa06613f59a27b580caa48646a69a274fe53697fb807c3b1d576b84e20585bc1349c8c0d03e9c9f86136e8ad7f7ee255d5b5307e23dc8296
+DIST firefox-127.0.2-lt.xpi 570444 BLAKE2B 6524068e5e2c936a6d82fb55c3387665cc842847b01448bdac5e634a48074fb7d63de55534dcef765c0819b9bac33f2ac527160194716bb6c6fe9846147f3609 SHA512 c714f1d403de3243b7c126c1944178d8244c4ebacff9f65833c6da7e4f426fe9f6fe167027eb54436616801b44b6bcfffb813a9e6fe02b122330938572692f90
+DIST firefox-127.0.2-lv.xpi 571665 BLAKE2B 7e447f4538e60fa05dc4c4d19ac40367f5f34a0b9d90901b07b450a94f0257492b00715200e3b6b85cc7972e4b007fc3d8331f8d3f652ed445954cbe40b335cc SHA512 61289ce06d7b40f3cc64c05c98aa1a3cf79f21f42c08f3dda07716b1448e8a8a0c005f59cfa808bc8c7f362c1399fea50e6130fb028627a3210463bf8b72cc18
+DIST firefox-127.0.2-mk.xpi 491109 BLAKE2B bc1c1db4419ad47e9ac9730b439424688c883e475f927c5671268cb81de37a8a3bf2771dfa80dfa67c6f109faa5ed2974cf410ebfb0f59d586052cc27f319401 SHA512 8fcae32a324e336d9966b63b29455a7d44bee75b2147433d7a63c4ca4a12a7546d1b40ad433114ec95bb006c4f0aef51305fee2a133e24875d78e07da2c6d798
+DIST firefox-127.0.2-mr.xpi 529928 BLAKE2B 5b22c69c09b104fb06864d1ec3698db42a6ec4514f125928d538189a4609f2c9453625ea0300a32d4cbf95205e50a39a544f72f4164d7f4a154f7e867f4d1169 SHA512 8c46bf44f606968f14d0fd62542d2115aad9c8221a7179c56a39fb716416094adf14f8e714c9a765058057cd25b9d8e5150ca4f91d04ba29a6e98285c62a1b77
+DIST firefox-127.0.2-ms.xpi 447570 BLAKE2B eb532ec99408b57058afa89095b9b83a5b8276fb2717794326d4e6a199ed656ae6f6a0244e30e4a29e6b4133cae40e609c9badd1bde18483e21f1f0a55bc5d7e SHA512 f4ee3966274156890c6c87d316f8eef628a78cf3fa4f37f12a74ccfa84e8ab5390c6da758df45ef90e985a069f139256eaf557b050e93e832b398ed38228596f
+DIST firefox-127.0.2-my.xpi 516482 BLAKE2B 79892f75c81b973593e2fa5126fa861702d8612623b331c1c05856c86c8b5041ccb9587a1a7f6f6acc3d26269d5f39f8617f4b3a28e0a44662da543210b75084 SHA512 324244e8208859813d64ee578075a48cc4c9823154501ef1a3589f0c166be757dd470c563aa1ae7d8b46769a6d62c634c7b377859404d7c3e8b40a1cde596216
+DIST firefox-127.0.2-nb-NO.xpi 602855 BLAKE2B b385c75dd70ad2de9bca8cd9ca7f7a12e2519c5a3a8f52436cc4c74abb69176b9f1d353e951416bd72f6bb1bde9891cebb928dbd60b84db48d06c3a497f8b1dc SHA512 818598d7378d97f9cbff4b885660e950024c215bc9f6a669c5c8e7893fb3393e1bf6cb41d8e3feac142251d66796dd3174a4dfe968c7f80358c6cec63f231651
+DIST firefox-127.0.2-ne-NP.xpi 508759 BLAKE2B 8ebb4db29607220a96f7e81d539510830cf317936aae99c289ea35bdb77ef2aa493ab364c8ced059f5598186e68d6d6f069e41456c5131d06d0857c7d64df006 SHA512 5cf6ea3dbb0d82365beab3dfa6718014162b2901eb1ba8183106a99703004d0448b69fb49f6b140c8747b5ae00ff55b5b40fb15dbb60a89332f093d39c955898
+DIST firefox-127.0.2-nl.xpi 611454 BLAKE2B c9a18433a9f584b202cc5d3f1ac31ab77123b8682477f9874bee120ef5d5b34835fece3bab2eb9440860dfba1a925dc05dd295af1f14c851dbf54b0d0c075a88 SHA512 149f5c2d52fa2722b6f0d8f39796bc376d8ac0d65c07c61be43bdabfe135dc3056072bc3ffed433eae48ea9cc81ab8ea88759f8d2c4984a0ba337279d384b5e4
+DIST firefox-127.0.2-nn-NO.xpi 603355 BLAKE2B 67ac7a6dcaba44ec0190b7c8608b6edbae49fb9f6c61bda8dd9d1d55dc27e2e3cdbe57de79137bedc70dfe1f310dd192668be6166adb242e01ec8a72ce6ad623 SHA512 c22d95313aa51f705ad32255af4a43aefe645c6fd972b5d2e2f73e3369b1379c3ddb961823333323862b3eb8c5f2f12ebb16d9fdd82f39f8a992f955601f7b42
+DIST firefox-127.0.2-oc.xpi 608807 BLAKE2B 9df8419070a18ffe73e76b467e0b82fef9480e3d43fc5592376a96cf1a7c46a24fc7c59f0a7d99a1f291bb98548e3a55891daf32994e52f9f60fc407cfd1f62b SHA512 ee2cc4489784c7b26493a476730bc596b44cb6ec8703fa4e8c8066ed67e271ad23e720517b2577cced60e53031bb8db6fe2cc056f28f3956811216be0656df8a
+DIST firefox-127.0.2-pa-IN.xpi 687023 BLAKE2B 773a89ac237620167b1475c980669f050d8bf1b70c7bddb6bd2198c1266d14fa8e4b966e19a66e6201c0f52f6e6767432279395a5baf72d4ad7a8ce9c69398ac SHA512 f21c8ab2a7bb86a3ae57a2552bfc16ea3842d6ac4b4773161c15f15512a2ef2dcc57a54544b36bd1ac1ecb550f86cf7ec092beae1b3fa261d541cbc9f2112a52
+DIST firefox-127.0.2-pl.xpi 631922 BLAKE2B 1f490bf716751765f37e947065c79e40bded9ba716bd0189bb59c25f36a0be83b6d9879a2ca1dbd873d9438eb0cb4189cd15f72d19a6d7afe2158c92f0fe5746 SHA512 c25788444c441b0ad0ba573a194fabe8922cc611586ee19a9c7854307fb609552152e05cb624c1d17cf9bcec1662ed9a463b102ecd4aa9265840a48f56f858f9
+DIST firefox-127.0.2-pt-BR.xpi 616113 BLAKE2B df9bfd077412f11ecc945ce17155f01a812ca3f4b5915231625fc8c2a85e6a2a73439c32dfdf5137fec208fc44608b3a4528dc2a38e59250c5834542df943b01 SHA512 d80533c25e2f6fb8e4ce428332ffabc24db70cba180fa8f99948f94c5fa018b51466049f27ef4b45c68d50b4e2fbc2a510c651433b84d24c0af5de2d7e2922bb
+DIST firefox-127.0.2-pt-PT.xpi 622365 BLAKE2B 3a58c60a55ecb97079443c8b8f11c74e11b316e4cadd202b49c4a67d8c1ecca543295638e292bb843b9d53a8ae0f11746a507ccc13bc29e23a655b72962ca8b3 SHA512 6b3f52b3f597256263d6a31a9db4fe504405df80c77e33d4203438b31c1e4b5f0ea6b55bcfd088608b65efdf333d255dd51a6c62f6a6920542009d48d49a9277
+DIST firefox-127.0.2-rm.xpi 612109 BLAKE2B 037339854f561f18dad9b3f71ff29c93c62389a09bde63d038dc5432806d6793f89836a0b7a2b539fc1abc3e5da938841f4f56271c146507eeaaf1213076b6bf SHA512 b5e5ef4614f3c85eca0d95fc076ed6371ded5ee48186c58b209ae3d0386e4ec540c6fbbd479f7a4ac939e5687f51246d2d98c63ded1c791e3d429456e6743cef
+DIST firefox-127.0.2-ro.xpi 547541 BLAKE2B 05bc2ce40ad88755d62e001e5fbfc2ecc3f8de44d4c9a66b05d2aa1f5f9bf9fa47942a070234a4bc17be222e50d9ac57a876b3c935edaf868116738cb2ce513c SHA512 69a69804d9e9555971e997c9c1a9979343b9e6d92d250f6056fb1a43cf9f319675bd8f9534f2b195d2b17aa896ec2f48bd0f4fece1cf9a953b80b89a242ea494
+DIST firefox-127.0.2-ru.xpi 713587 BLAKE2B d7e43eb431e9ccd825c369a5ae03da01d8cd3e75a75ec3976b6c077b8017f1399bd8f6898fff6dcd763b471b85d1e045734d2c87be3f5479ef71be25b2a820fd SHA512 9bc67383511f4e3772a8d0387bc6356c1bc6279378cf92459b3fed84027c063180f27565fd207ca87aba43b23d89b88985566041d54fa87b796dd72ff5f8c3b8
+DIST firefox-127.0.2-sco.xpi 509002 BLAKE2B 51c464944fb8b7bf1253d5283ac373b66a225936cc10d041f1a1afa7aa2945ad355ac76f4c7e0d486af5376f5a6168ab4fd7127adba7650d8beb48a64e2c290b SHA512 7f3f1f329b03011fd5e92ca83819878e52bcaa558d27fa8245fd97ba6a74263472dbc9e9e3b27a3d21243df7e97fa393cdabe5c3b7ec797dfea2365ef72caa1e
+DIST firefox-127.0.2-si.xpi 603740 BLAKE2B f4e030dfa2a86adcbbcb5a012fd3b94ef771dd4ef04c84d7d92e9d0076444db69d82362836438179161cc76f30ea1fe28ff208d9eba9601ec36f0cc2e294da8d SHA512 052ed58c249b438855f0eec798bcd7168e2a4cea40f4cafc20c71d1420416dd4bffaeefab07e1468d2db138c0c8995512baa392f58fe650ff0292d2ddba4d205
+DIST firefox-127.0.2-sk.xpi 646183 BLAKE2B 066ee127bde4f408f04ece718dfdaa9e9787a9d531f172edbc645423375e122e86667c149225ef865463ed6506f861347229781d66a746706914f9400543a29d SHA512 c010b5ec4d21f751acc65fd11909a2d11204558c2ff3c599678dde58cf64525776905d1cd0ead10103e1a4ddaf8bf1e74a2bd187be79e661efdcfb8e76c78cb5
+DIST firefox-127.0.2-sl.xpi 612536 BLAKE2B 154f285a2c34c47ad645562c0739d7167d09dae0cc3310dea11c66531d01cd760328d487fc4e287660f6b8abd83ec5280eb496cef2d5ca55ed9a4a730f61a8c6 SHA512 74a722e53c9d79b7d6ac71bea7d20b178e8ae0444f4c237f9038ba984c9f1f83b4f1b413469f43f56b2dce04b5dd96c07717cb13f1cea15ae61548e9d14c1c81
+DIST firefox-127.0.2-son.xpi 414287 BLAKE2B ef3c9c5cbb49b995d4031173daa9b2671d31f8c1607454d728fbc9a48337584b507d39a5c3f763d471d0069d7d03c04a20156f849976dd1e3f1bc1ec060a48fb SHA512 a127c147748f1829537707bafd0803ba0be05500eac44a310a035c3600e59b354249f82d03e1414f72c943b682deddbaccf38741791809c6e6fcb6a2535a1e88
+DIST firefox-127.0.2-sq.xpi 632514 BLAKE2B 57ed4165eb1c50706d4daa426b9561bf55114323c57f252a5cb10f24d12cae7929a663431ec815ab70bec7271e2c99ce42b1d33503d00f4335ad829bdf072a10 SHA512 b26dbcb8ffb1f7b346f5afe1b2a96bef700b0274c9423fccce3a6f9a72870740b422e60ca153a42fdd5dd550ea21348be457bafe11e16702e9013c71ad76b12c
+DIST firefox-127.0.2-sr.xpi 637089 BLAKE2B 0906ed4130759f223f0c9197ccefee7ee1a18e97adb2e3f95a37dd68e324f965571b2d465a6540241f094f713775528316cc9e20e92a16c6c0b3b93b58046163 SHA512 7f2ba2683e858264729389e1f87db5cc2facd712155cfba0b742e71977e40bd92aec35e85ba97cc089da1533d2a95aec727eee059db2b4e23cc7dc2085ca0ea9
+DIST firefox-127.0.2-sv-SE.xpi 613192 BLAKE2B 62fe88ce76e60a37d5d17d41aae8115fbd58f5e19f12a391dd12504d78b748d5f656eb72f2457ed0d2b4c5a423710333230a5cac7b811efc3b9bbf9425fc0e23 SHA512 0a3fc99b45702c4ecc38657c557681edaa5941d43cd2946310ebdc997306ba5d0566742c7bbdda44f1d52e9ea2b2d7d378a2e2ceb26cf5927d4f36b8cb5afeea
+DIST firefox-127.0.2-ta.xpi 505373 BLAKE2B 6e14af1ef396c63bc689033c1b89dd00019338c6b065f6e858a337ba0e38f5d08802fd8c85d1abc8da5ad95d970a9ff96f05076b029f482e246ab48ffbdf00ea SHA512 6f6096e2a0ca3e82649c97240052235d480456f32d38a810b0d5d7ac8fe4f5cd2406e44b4d92797154940213200024a1f6eb971b7dce12617f180f16998ecac6
+DIST firefox-127.0.2-te.xpi 558857 BLAKE2B 8492c705d927f9bfa27a41097f46b8f2bbe6532940360ce4e878fa117643bc6d5e82616fbd401a083810ab99325f821fdc670185181f2a88f9b03dd425d0ef08 SHA512 d5269e7b39125d492e13f4588037e970a39838d527483fa3e043f8087772cebbbd788f5242ea66db6825995c028bf1db2abe4abc28cabf42362cba5fe813ae41
+DIST firefox-127.0.2-th.xpi 689043 BLAKE2B d6175e8a39280a990dd5e2f598ccf7c920b9abf770ba68c7f87cd1c129b0e426d91155f7939c87716bd1921a58f3f411d0ed051e210cca19be9c275945fbf61c SHA512 1535857c7c226c8fcbe4b0d168953ee79868ddc590b0e52b70806e69aa0e9e9dca975062cea8f7028d49c1d6168ba0e4e0e4312e008c7813ffa3055ede341a06
+DIST firefox-127.0.2-tl.xpi 532003 BLAKE2B 9cc051e3025efe3b0a21bfa77cf9897ec5348a88be2481ad275c0ee1ee9756ff2d42bbd73aa5050ab0c5b540ccbb1f9242e1d38168098be8d139bf03475209dd SHA512 43611d4e87c7b5e5a5d4fe7ed505b08e5f768e340a01f0aa83e923f07d2bac9e8563981d8e5c28a3d52187a74f517a3d49c29aea57c6c9981f9943e54c940b0a
+DIST firefox-127.0.2-tr.xpi 626623 BLAKE2B d52a002ea0eb3dcd6097470ea7aef86c75cbaa7a98c0ff123ced4aa9dcbd7cbe6173f83350d48311d3f3f25eb921f64362fa2a9cb178010ee7d92e162bd1ba0a SHA512 96fd86f48fda7cdd5f6f438ae5541d4a500169ff9957a47102ceb751fc2d89ad885c9fd0648a3e0fc9c46cfe1763763822e11ee4932726f3c2ef0690fed1be7f
+DIST firefox-127.0.2-trs.xpi 501856 BLAKE2B 558bab47c71966a918c263834477838901ffd7650ad4af63731b44631f26b8f84cb5f26c16ffdb040657dfc39a7704453d66d93532a8ce546556379c30df8849 SHA512 5ad75696118ff20e7089ed1ba109c04307898533e3105529535e7243a53642b4b5ae9407b0ca0ddb2e64d5b9be871a20d740a7be58012ec0f6693194c5d95c8d
+DIST firefox-127.0.2-uk.xpi 705155 BLAKE2B 11287c54554accce94129cbbf30f987ec3f3dfa3430eea7efeb36b79a92d849aa548bb97cb2db80b9ac91c76761a0c1b906dff856b69be514d408ba81391565c SHA512 0f5c9a05e82a765e7f36fdc3d99dc2c37593efce24ecfa2e5f31c69500b4c8fdb80629bd1f3b504437ca961a49a111a5dc404a8ef076420dc92036b9dbd47c17
+DIST firefox-127.0.2-ur.xpi 558321 BLAKE2B 0993ac2acdba4798d3f32ab68b52a57151d3ae34db7e77ae792ed4adb3717b5d816116b3718348434a4023b862a5fa31cf351902cb7537e0e00183f6fa848e86 SHA512 2c131c6220f62655c33f7b6831c4dea66ba1dae0a4602761ae2ff5284559093aeaadcc40030d996c995ac8150735fa8166bf39c238d98b675fb3560766d266a0
+DIST firefox-127.0.2-uz.xpi 476583 BLAKE2B ec8571499e1813b37030cff7b4b06ce4cc2180f65a3dd6fb6b1936b85eff56dc5a9396cdff034fcd96dc351763ef02ce2b3e03a1a7711606281c3fdcb6e7b4c5 SHA512 de62f38157aa6ecdd75659f2fc660c3466980ca633fb45705b92830cc4951a5d24e68dd50e06b15a99610dc0d00e05dc0b59fd44befdb0a636107b93f5de68b0
+DIST firefox-127.0.2-vi.xpi 650522 BLAKE2B b203152c7803a4d87465a3bad14a4a7a2b6e6c5745fae6e514fcc7467223a165bda3f5f0568600fce1ea38c650bbf9191b77aa8831a997127d945f50a169897c SHA512 45fcf4ca1e02495f6fec520d0dc095fce55e208e9805c641b80e600092a7b117be965e73990042ac7a8fffc421c43309f0d8875389d6a281321f0aece608f53a
+DIST firefox-127.0.2-xh.xpi 415023 BLAKE2B 09ad510ea9a674f6f0aad08fcdd50dbe5196ec119d7a51fc8fcc02cd2358ce1df12dd46b4b23dc3a927a99a3727ee9159c44815e4ce074ba83a82bf2a0421b41 SHA512 a226b56517a49d29d74da8dba3d8e7edef132b970bc7f41f489973b26ba63961e2defc5e6d765b1f69dca05e07729ac49e953aeb195a5887fbd32fcf1d053b73
+DIST firefox-127.0.2-zh-CN.xpi 650833 BLAKE2B 28df31392be1acb5a73af40b1dd8744056cd9f5a179a5f95c31a16ec9f0c2a97deb52a927b1322ee1118691cfec05e35105953938a0c1ae527994805f4401f24 SHA512 61bc371d4d0e343f19a48a2ed473575176bdbd2b084ee464253e2958eb08673af9fefe3709dbad127254e8991a813d63de6156f60b773a0f6546a82728401595
+DIST firefox-127.0.2-zh-TW.xpi 653089 BLAKE2B f7d6c661cc6f7bdc068cb9b00991f164e3b6b123cef5af553c6749de3ce3eb6609a71115627532093f7450b08f6df5b5726903e70f61279b6292004918f9e5cf SHA512 3a8a3c3979db17b3a56fdb2049fb1a437b8c881dc6587affac0a24f936ab53845672da3cdb452e4831acd2ec080f08dd4fdb6f40bb8edbffbb2d2ff688eee96b
DIST firefox-bin_i686-115.12.0.tar.bz2 84276723 BLAKE2B acf07a4d6d6fc258d343932a1a4751aebc071c2d74e1db197d7678ded8806565a80c9a7df3d5c0d125445db8f1044d8d5c0e3c4b5cee2b3e4ccf1236a5c54d80 SHA512 9198bb399c16de5f50c363ad52d09ce378faef4d93662b1cd3307d2e43b1714277aef3a89c5ce7264982048dc2e5aba0033bbe5d85b21fceb309960c5ab94ba9
DIST firefox-bin_i686-127.0.1.tar.bz2 89184908 BLAKE2B ef03efa9b10eb38b82731f4a05d209587abd5fc6a50fe4797c1c1a8d3b7b154d2cd18d31ea5a4d3ea454821b6ffa375db90c1bf4ce41ec1acf04bb407e2796d3 SHA512 4167eccf804cbf9a95bde647c8e5adc4e6deae95467f14489d3330259868bf6b6af5ba6c24d9b2f4831fd5dd4065e93711fd2527e52e5298fee1a0376581b6d9
+DIST firefox-bin_i686-127.0.2.tar.bz2 89237658 BLAKE2B 7a39a4c57701171153da3283ece3ed40b50f1a6fa56ef4e687add895fa048769a658f5dd0bfe08251d9499b1fcf77488d882d2f451dbcbfdefcc7d39964ade88 SHA512 cbfa58a33986143ce473681241af3c55c646f259b830755961e68d2257b83d53a9a1c6747cbcbba123782085aec800090681daaca6bb886b1e3087a7cf8377a9
DIST firefox-bin_x86_64-115.12.0.tar.bz2 80371587 BLAKE2B b856f11b53084a53f35eddf25626fca45b5ce5636ebfc8fbf91289bc790402b8276333dc6778057900f7e38603330c358ce3df597b1af6f26229bdef0ced37be SHA512 cc76734016ca82fe0b20375bc9a82ced38f0498aeeaeb5a35202595260eb6bc6f7dfbc08bd4dbb985c68c61d1a4ce3aeeeaf58d6b6cd796b9e2f3db7b5691ca1
DIST firefox-bin_x86_64-127.0.1.tar.bz2 87375090 BLAKE2B e427d52a71733c9ec816e4e984035931b5176cf2042fc3dcf5e2dffab2639e1c6484181bd0cbbd4310701603b574262abd66b2ca9ac9cee09ef101ab5222ebf7 SHA512 8f802b9171008ef15eab0c334f884deb3552727be97f15d4ec52cd3e0281a2fc006f169157dcc7e6b28c513dfdd0d5c8fe58e10bf6523ebcd8d22fe867e2a67e
+DIST firefox-bin_x86_64-127.0.2.tar.bz2 87388109 BLAKE2B 3364abe5c9ac191e18a0cdbd5283593220a0576fd8f9abb9908af0962bf904b5ae06327e6947357a00022de4044eabfe1a56b969c0d71b01290480032b1e3b52 SHA512 cfbb5c628ba676a37592125f3f94b80b42b75a6adf4b4c905b01598466c218a1d9c04b894ad1aa0452bea5d1a8ebc62151545c1048d79eba67d9df26414958da
EBUILD firefox-bin-115.12.0.ebuild 10934 BLAKE2B ba31c56b7abf9e2089563a33054a5ca6caf1e9cc92a7837600f0af25f8768a773ae2e2cbd2049964847ec2d5c93cedfeeed7e3a8f93704d9e8f8c8360ca581d1 SHA512 41e2a60e4a0bf1bef6f591bd0ff34a9ccadf7c85c94a23d0605230dd2ed35d01b54ea25534fde940766c7f52be5444d493bc7280dfdaaf2a7bc7f3d214d554c4
EBUILD firefox-bin-127.0.1.ebuild 10770 BLAKE2B c1cfb3d7e0810c354897e6c89612c3ba36d710f894211e89bccb91beb929c322a98e073be4c3d897da5d257214eee05bf3b5b1a7f3837440522fc21db5f94fce SHA512 abfa565783903bd65a3399098a6d5082e1d9a5535008ecc00f2f4656a1eda01430e98922d98b242cd42357458341a22056dd5e7b00fcc8e0afc3bc2958aa0dd2
+EBUILD firefox-bin-127.0.2.ebuild 10770 BLAKE2B c1cfb3d7e0810c354897e6c89612c3ba36d710f894211e89bccb91beb929c322a98e073be4c3d897da5d257214eee05bf3b5b1a7f3837440522fc21db5f94fce SHA512 abfa565783903bd65a3399098a6d5082e1d9a5535008ecc00f2f4656a1eda01430e98922d98b242cd42357458341a22056dd5e7b00fcc8e0afc3bc2958aa0dd2
MISC metadata.xml 520 BLAKE2B 4b540dd2d9ac3840061de8a73117f2859db156944826d22c1f74cbc0c35f6d305aa10ff45708eab016df725cfc741c99dec46f0078a29162982431892e86e477 SHA512 0c7183e35a4b0ca2ddd092786ebdeb5b41a431adf918f0c2e541a5ef1c235066586a46a50fa29c25e5a522930824f8662fa2fa7eed8c3895f74d85bef93cecb4
diff --git a/www-client/firefox-bin/firefox-bin-127.0.2.ebuild b/www-client/firefox-bin/firefox-bin-127.0.2.ebuild
new file mode 100644
index 000000000000..91c94d7a296d
--- /dev/null
+++ b/www-client/firefox-bin/firefox-bin-127.0.2.ebuild
@@ -0,0 +1,366 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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"
+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 desktop linux-info optfeature pax-utils xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 )
+ x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="-* amd64 x86"
+SLOT="rapid"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+alsa +ffmpeg +gmp-autoupdate +pulseaudio selinux wayland"
+
+RESTRICT="strip"
+
+BDEPEND="app-arch/unzip"
+RDEPEND="${DEPEND}
+ !www-client/firefox-bin:0
+ !www-client/firefox-bin:esr
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ >=dev-libs/glib-2.26:2
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ sys-apps/dbus
+ virtual/freedesktop-icon-theme
+ >=x11-libs/cairo-1.10[X]
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.11:3[X,wayland?]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libxcb
+ >=x11-libs/pango-1.22.0
+ alsa? (
+ !pulseaudio? ( media-sound/apulse )
+ )
+ ffmpeg? ( media-video/ffmpeg )
+ pulseaudio? ( media-libs/libpulse )
+ selinux? ( sec-policy/selinux-mozilla )
+"
+
+QA_PREBUILT="opt/${MOZ_PN}/*"
+
+# 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
+
+MOZ_LANGS=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco
+ si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+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_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
+}
+
+pkg_setup() {
+ 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
+
+ mkdir "${S}" || die
+
+ 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
+ MY_SRC_FILE=${_src_file}
+ fi
+ done
+}
+
+src_install() {
+ # Set MOZILLA_FIVE_HOME
+ local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}"
+
+ dodir /opt
+ pushd "${ED}"/opt &>/dev/null || die
+ unpack "${MY_SRC_FILE}"
+ popd &>/dev/null || die
+
+ pax-mark m \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \
+ "${ED}${MOZILLA_FIVE_HOME}"/plugin-container
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ 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 all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ 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
+
+ # 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="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default"
+ local icon_symbolic_file="${FILESDIR}/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^} (bin)"
+ local desktop_file="${FILESDIR}/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0.
+ # See bgo#916230
+ local apulselib=
+ if use alsa && ! use pulseaudio ; then
+ apulselib="${EPREFIX}/usr/$(get_libdir)/apulse"
+ fi
+
+ 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
+
+ # 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:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+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
+
+ use ffmpeg || ewarn "USE=-ffmpeg : HTML5 video will not render without media-video/ffmpeg installed"
+
+ local show_doh_information show_normandy_information show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since firefox-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla Firefox shortcut."
+ elog "If you still want to be able to select between running Mozilla Firefox"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ fi
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "speech syntesis (text-to-speech) support" app-accessibility/speech-dispatcher
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+ optfeature "desktop notifications" x11-libs/libnotify
+}
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 105d3643f7e3..7d8b58cc4bfd 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -510,10 +510,111 @@ DIST firefox-127.0.1-xh.xpi 415013 BLAKE2B b91113b53ae38fa5a85ce322f1afaa6188f41
DIST firefox-127.0.1-zh-CN.xpi 650827 BLAKE2B c19b8ce5a69d58a4da1dd002cc841f2bf6823cec3dcf4ad3eee04c6f5547f95d6491c579565ca59e82c850a0cc6df60a7b18996af80538750f3f2fb25baec3ea SHA512 769a3eef576f9d78461c8bf900ca974dcf3d5043a6769297a0c3d2309d38e62214428f24eaecc2f2213dc08c7c50a1ee70de7ffef4b8997f51ed9080c76fe7f2
DIST firefox-127.0.1-zh-TW.xpi 653082 BLAKE2B e031aaf61fff9b0adc7749c78333d464a076b59ac5afdf8a9289d62c82aaff2d7ee4c4a6b6c828e0db0a6e23be98ad32e81defd57cb879be9d16022060fb9147 SHA512 0a1358e57daaad039f164ff9f00376c8023287bfb8dc8abbd4b908a47fba619028ecfb39e2864be22d34141a3d4aea1e21249706180a6a3a582104105a2f7ac4
DIST firefox-127.0.1.source.tar.xz 568595988 BLAKE2B 1399d5e7a364aba0a2c998fb12a5b52807426d265a8dc39fea910483319b3530f257e48aeac0daab930d79cedb40a1ca6a1211a7ae7e78a3d9bfe90dfdf01144 SHA512 13df770a89b703033601cab56892a2fc62427521936b366893008e68cd1f48d7b18917a3cede23764d024208819037ad0d28c2d4b73b99fdc204cbd53bb1297e
+DIST firefox-127.0.2-ach.xpi 461920 BLAKE2B 8978e6f06bf46bb473a5989cfeb9089863e9c92c3b93a0883ed2d0c577d24c717a49f5d35c1dd848c66076be3f0361ac917364716ea900156869ce3e21b92825 SHA512 f08f93f0b9c9704a77a00f1b9a83b867f82b144adb39d64ec0d4a3a5f78cf55b67b7eb3ce19c34eaf09357f8bdd7845a610937f70a2f856081ad468c446910c7
+DIST firefox-127.0.2-af.xpi 415365 BLAKE2B 383de6f37f70b7dd8791df80de220ad2b8db64f5c76bec9b5e8cf7064139acd08d4ae7000a28dfe14f648c8e8c20dd1bb8ac1c254ea9cfcf84c9850278aa6238 SHA512 84eb2d15fc2b1de6cff3dd7498277863734e60e29e013e72207b32fc230e80d9b417d2a0e0f5a1e5f2a43c2a98b90a47535bfc0f25a1e7966634c258927611d9
+DIST firefox-127.0.2-an.xpi 503728 BLAKE2B af62fb2c3862a9348d5ada2f21072d24b0800337a462c94d080a8ce112a01f28eaff40cd12a2b683ca44ffb4ed1de8b6bc9d0967774baf8b9bcc899b420e8134 SHA512 291e2c34b964f0d8986d2c568eac364e4d2a8e1218e2db71019ccf281b2f03474ebd90e3702fc7212be2fb435126eb635eec4b8871cb9f772f95e7c6c46df2b1
+DIST firefox-127.0.2-ar.xpi 607962 BLAKE2B 2777e90135a5b542688887b434838a5f9f123e626becaec6f274aeca78ff071c85501663115f99eab24e3ddfff04ba05d3332e6632600b97ec4366793cc290b7 SHA512 8dbcbed17479ad293d3e5c4d7f91e02fc95f121dc2be0b4e5f1532a270c3a45522774f85ea31454ca3e5fdb8456b230e0fa314a186134355503954ecfed0a1db
+DIST firefox-127.0.2-ast.xpi 494030 BLAKE2B 907feaecdfca0d282314669243bf12562ea45469b1fc9fee715461d3f698f0cb394dd9d8c35a90e5e3ed4d20a3629e74e14a05027c72205e3ec47d5f6b67178f SHA512 ad22d806c4584cc8769c21a04fff2457c7d2443d1a8fc7339876c1e10ec8e548d1dd898c017b2eff4759243930d6b1c6f1268166a6802e1faf6b6f67fe654db1
+DIST firefox-127.0.2-az.xpi 488590 BLAKE2B e2f329f8c5f15efc4b1cdeeb2fd99710707c97b77c00172b5fc985f80fe65ddaea26ac92dfae264ba50e9b22c3ef87c294c7c76ed2b44e98f75db03174ad3872 SHA512 b6c82f95b8fdb9b7e393fedebc04528c36b19fcb74452a12812a408d6c9f4ef53facc71d3fd9c55aae960f98b3c831be4b52b7c6d9679f6bd0a61501e00889ab
+DIST firefox-127.0.2-be.xpi 708721 BLAKE2B 9131e7cdbe4f9d087da31b4513cab3aaaff521983cdd89fd22704dd4006d6b3f2615cc9a70f594b432f7102ecc84420ab944b9f61b28af52769ab6a8ceed91d2 SHA512 b2521ae6f1c354b88c7ddde11e6f45927c40c374713f07466e649833045b5231b24861000eee27176c1dc043d2209f274a8cd788094acfbdafcbad96a9806f01
+DIST firefox-127.0.2-bg.xpi 601649 BLAKE2B e1f797b9a6b2d8b694384216b06b980fed8bbd379c5e13a4a29162ae1f517f5ac18227c705d32baddd883cd3246e8aa182d51599d924e4d48fa40d777dfc21d3 SHA512 f77319e46f237f208c566c186c0b8d4a70dea15c0c487ab77c41bb22e2459e59a8b1528bc93be36fc93c80781015626bd9a56a2d3964c38d08569612cf480469
+DIST firefox-127.0.2-bn.xpi 579342 BLAKE2B ae74def080fc4879d840cd7526bc199e66e27666bd7a1ba6a3b6d8dec2b151a52b10df5853812af8af7bed90a04b215f4dce3fe42d5103e47bcdfa3f5c05d605 SHA512 cb3b2110e3ac9f072d78aa72a4f2a987d1ee744a45b1fb1844ad50439667d97b78adb3c383a5e80b6dd1ed63abea51d429c08ce6144901228f062d33b3ecd0ec
+DIST firefox-127.0.2-br.xpi 585933 BLAKE2B be13e03b5ea66573f97b015acdbfc08e05c304338256ed9b6aceb540a76e5d257f6e9ac8108fb2449498298ed680bbe46d8225f6928e4830486ffbefd2e9daf3 SHA512 657254a8e018082bd18ea9afdf761f11ac4dcb4d6dbc84f92bbf00045f814d139f4884386546fb78ded8c971719775e2cb0030435bec6ea2c14520013dabf4e2
+DIST firefox-127.0.2-bs.xpi 499342 BLAKE2B 1d3bacbb74164370b0a9c4ad9b952942fcddc3a4bea7c18414d0e31e8afd0c7d0f0f316d3d35bd3cf535cd5db1b335d336bcf27ddd18a4111386c6751b52f812 SHA512 40a0d7502e1b61959d9145e9533098e6a2395938fb55679f7e67fe6d376f2e962be6c6fc0630a40a3cdaec7bc5a50e8193df885bf40e4ab68e488e19d30a4f85
+DIST firefox-127.0.2-ca-valencia.xpi 544016 BLAKE2B 313eef4d5fb691323a099405567eb1d0da4336c573f8f2fcaab33fc82161b30bc7c18e2ac8de89253ee47cc9589a67f889c5dda0dddca6b1be9113aad5fbf234 SHA512 5bf2930525505fa3906897bf8072ed2a13bbdc6de2df82350918d3bc94175113fdf2c1ee4da975d26cfaeffc3eb9c464cc1aafdb20eb0b29ffe022209427bac5
+DIST firefox-127.0.2-ca.xpi 582808 BLAKE2B ecfb3ef2af0ee94ca901730b9e9750515c66c0890ea28b1b0ae46e4e385e948590825ddb9607d9748a9f7f6c695f0887f4786ff3dcaa99c2be14d5a5b2d3d117 SHA512 6a29cd06569120205a13a389a4087520f803df5e459c293c4b7b61d6cdc19735491fc13382333ff96904e54da1a0b3d5b06c59792d53b877fb909e55d730486a
+DIST firefox-127.0.2-cak.xpi 590482 BLAKE2B 9f2dd6c56f78f7f64834c9fd12f14493ba1a30f0c1a283d286b4c0f0881b321029c54487cc7b644a2b9c7b547db65e76104b47404c0f50e4eab2d3bf936ef024 SHA512 510c272b05dfc16659fb27186aa1f64ae1e70a39dca93aa32d1dd79d8896c29c93322de9bdf388c8a0974632329e0798daea9b4a8d63e185d85f8a8377bb373e
+DIST firefox-127.0.2-cs.xpi 653270 BLAKE2B b98bfa2e3fbf724ced45b357c7c3ae6a5b074488b1b2426df327267232eb30b3866f836a433f00ef92c6943f5ceb2ded4ef5e0d86785ee88859cf88b47cc7c0d SHA512 3057bf1be5369af6f1572e14c8a07efb7250bb2f9e9a5f5d3e72eac6ca4764970ab47530e76399e39222fa8cff4c06df216f00acd338fc254473580cc42b9ed0
+DIST firefox-127.0.2-cy.xpi 618428 BLAKE2B c0be3dfcafd923a39cd0bd2c54e2c413509a0f1b7ca17cecd6e5c968930e5516f41bdb1b247002abbd7ac84f6855983eab2fbc3e9ebf03fd95d2aea2dc44c398 SHA512 0b217fb7c14a43830b7b48418a759185ec568100c600519a796a336059eb76239e4b58243903bd180a21327f177085900c007da8e31922bc279dcef90be2755c
+DIST firefox-127.0.2-da.xpi 606847 BLAKE2B aae984f6cce0f493a54ca2fb9f89ea916d25468d91aadae207f38a1771901dc6bad2d1761051a145ae0c197f049d10d662d0f78e64ab0ad7b7745fd41b312f53 SHA512 aa511bfc36695ce3a2a82ad759eb31b1396dc455703e605ca95ee96d72e19f768eff254645362da9c776d609b4d108d24f0ce8759c27d625a3f65eb2f249847e
+DIST firefox-127.0.2-de.xpi 628178 BLAKE2B 3a5ecbb47276320290acc9643c2396d3409c803dd7e35d767f3b43d9782d688e872981a66f8608b531e694b5779264472fee5d1b0ce7705cd590aee524cb4263 SHA512 d5346f45b6cd2f6f934d07e8445ea7ff1bc97540da57490a132d4125532b388ae911731f3a723d596f519d0325dc2ccbd287d529ce4f1e22a9e40b14b5a9045d
+DIST firefox-127.0.2-dsb.xpi 644572 BLAKE2B 72ce2b28b566e68ae48e9d2ae6db439583e3eb9bc7f08adf1e53fe53f943e49c18b53898dd649f7ddf0c1bd76cd1da00880f62cbbe7a9d897087d75cca16de48 SHA512 24b48a4e2cf9034249c5ad5b81ed25f727fe64ce8382be42d0ec418547672c7fb3d69aad0047e3085032086084921c2a51fbc29469cae0b75d3fa1b39807858b
+DIST firefox-127.0.2-el.xpi 726241 BLAKE2B 59b90ec280c4094451e4390ec990c3c5b87b22eb93217252962765220cf78539ace962abe8d4e5c581b146ec04cb5617499afe55657d951334103607d57d15a8 SHA512 bd29df99eeb56ed84d76183a09f48191b283d9d9ed3f3c0c6f33b5cdd6d6bff42a6e5e93644e91ff59ca3132155f3163b49a95c36b94eb7445f4133c6624fd7f
+DIST firefox-127.0.2-en-CA.xpi 579152 BLAKE2B 3b125758423e52dcc5ddab42c402eb311209845cee2c1e155c546b4cf8ac3e3e635fb01456ba67b52ba89d18443c833a42c5b072c24216ffeb7c51893b078396 SHA512 25d89707c67a70a807ff05c6665f03aae6effe58c9fb7a43cd427c70ee46ae7c8feda51319958cc91778ddb74031d6d471892f8b49f8a03ffd63ef30b8739c1e
+DIST firefox-127.0.2-en-GB.xpi 579706 BLAKE2B bf4151dc3504096dd96013119905cba19b8d1417da25a2f4c5dbf7e14e9ed2c20a3b4442d6eea29ee37a6a648d3aadf58f6164978921b84be1763c5dc2f99c86 SHA512 247a412c5ed93799f6a453ff8cb6a2e7629781238ffbceabb5a10c5de01cd0409cd37371b4e4511df38612397688fdeb1d4e3791d138115d733f7a14b34e2a95
+DIST firefox-127.0.2-eo.xpi 608810 BLAKE2B c85e1b71424db3764eac98af32cf943b1daeb3d64d5348cf5842862d81bdccc5afaa7f477a1ac4827087872762d3eb4969c427b3a2b5893210f9aa158c33b409 SHA512 06f3c6aff4316c7bb4ee1e2e7814267a86b5392cf2c78a39f5f4a104d48bc7bd85365ac6a1d1804b8c171548d71f8e4c571e85ca4d7fea81302160f159b0f31e
+DIST firefox-127.0.2-es-AR.xpi 622106 BLAKE2B 828e573af5e7499850fb5bc3d6a5c9b09ee4a31147a6a4dfc17665784a4f32d6a39eb94246b09c28160d927a939047807c3faa3a2b853da092de32feeea1d146 SHA512 6a8efb62c2364e344ca51dab0a3f1fb373b990e308ecd6887ed2fe3fc2f826949d676ac55068fbcd3460ee163dc9a41f7ab52d7063e27ce5624424238bf13d8a
+DIST firefox-127.0.2-es-CL.xpi 621302 BLAKE2B ed638109216a61bdbb0f1a91ffdea17321936bef0fd2c57fd8bb29e56b6103be24ced5d62c41ea114b37e962c5df496aecfb9a06227a2e3662e6fcf2793f3915 SHA512 217183e515a9fd83535795731a9f7124a3716e5f68c028ae2137057bdff261d1e7744acfe64212ff003fa7782108c261aa3dc7dcf2184f3c77462fd65a374e05
+DIST firefox-127.0.2-es-ES.xpi 616136 BLAKE2B 2c25d895c6752f5a196bc80eef656f691fdcef3d5991dd3940eb4457e36f4010d7a78f6293904b8c8bd7d2d41ad993425847cfc791b0f45688616d1a3b003d34 SHA512 1780160b8378a87790a7d06eaeb099ade3b18e80469386a886d119a811f1216dd6db0d10dc162f4eef209cc2e45d260ec83b7a61ff67312df9c2a97ad73f98c2
+DIST firefox-127.0.2-es-MX.xpi 589239 BLAKE2B 74ea13596d227087bd314822f4353e17ca47067bfdb9dfe31adceff013eb10947f9c51f21ae9ba65773af8f64c20211d753c7cd09af72645ad5ced25d7eec77e SHA512 c684248938f8e48f13943564bd98766043d2ab14777617128b62cf6983d616bcf75f4448bc9609c9b253172f0753d3904611bd5f79f89e63f43f8d5915e8affc
+DIST firefox-127.0.2-et.xpi 537278 BLAKE2B 9720007a3b7a1899eaa9ca12f72bbcc362600d23115c971c5d791878cceb3c23bdf9954fd127ca9bbeff5f55be71ab03d7ffdbd3ca26407773355874799b7da2 SHA512 6d3a8d15024a6c18bc0e8feca09280bc6c44d88b47aaf9c09fbf48776e9656357308a9e0c45ab42f5a387c69fa52db46e8b51143556ca7f6cf433b81df06a6b4
+DIST firefox-127.0.2-eu.xpi 593779 BLAKE2B 276eb7fd5ba095fc2ed9c1c89e91d92d9d78160d00bf79ff157bd53d5cb1b68290424b2959b69ef40d072fc33345a928dd66231dc2a8d922b4f65c773c0d5286 SHA512 05f754d2a01bd7c597d805cae6775ca05640bab6478c3c8c0a807aa08f41a63e86e0d5f85d7b020d805955cbdc8e0deccebc7f95b46f75dc31521da416d7cb3d
+DIST firefox-127.0.2-fa.xpi 587838 BLAKE2B 03c99132883000ed03489cd26d5a220bc5c3bb30323dc7c956a1c8ffd55e6a63a20c3a18413b151158a559c208751ed4afc352b5fd130ddbf4e7af83e2a2e933 SHA512 369cdea6c059bda8304fe4075ace929c5023359df27c5f5ec9b930aed2b57590b59309b993259c77b9a66f02d683cde1f1f8c6a930f129889df1239a3ca30bd3
+DIST firefox-127.0.2-ff.xpi 473942 BLAKE2B 020c910141a001fff646585b848ce7a0e62ae50ee5b790f25a3c35e24e302c3ee074ecd52ac987a3b91804d672a46b17fbbd503cf864faeada80d0773cda1eeb SHA512 c4c577ee23c99f26cd0c37553013f3cfc657e5c90b594f60ec6db66f5560069dfab175bea6b65ff8bba0e9a16697cdb7e30f773343612554b868bddb607d689e
+DIST firefox-127.0.2-fi.xpi 601836 BLAKE2B d7d757970504b3ae569f661d58c929c8128d8dd2786c0448dd88c65f97277f02cafde9d4fc8037241640a88899cd9f8c9aece17134f20d48ea6749e79ec12d2a SHA512 5fc511b7495fd7d92597ff3fdaa8b01d76e2325112d3b48d01ae38d624e0017dffd9e7316b21dd0bae6ecc95505993dd44c1f682bfd3b0086924695337da2f13
+DIST firefox-127.0.2-fr.xpi 635004 BLAKE2B 04d7c575d53527b098a1c1387b9331182d197cf4ffe157183e074e2129dd5709b490c056af819d596ab203072a048bbc8c6cec79a7b014f3d80c79428f6e3106 SHA512 7d456172b78fe2ab7708eaab0d1f197e95ef30b04265813557c12b138c284be76a6e78f11901024a7c0412831bde2f4fa9df66a44d0774c2d47bc97d47970a27
+DIST firefox-127.0.2-fur.xpi 627829 BLAKE2B be8d2157906aa341e712d2f741c8688f7d4a2a2ff40d8f46cf77c6afa13589b53f41a50618babb46e08a756952a6c6162ffd40e552b985fd9fa4184dd0b4ed41 SHA512 6f0216f8c6c0db651794515541340b45ef51d185d279910eb22d5941730dad462581cd36b849b87e878b67ffd16dd432289efc64d40423bfd684474a1f2fc3cc
+DIST firefox-127.0.2-fy-NL.xpi 617744 BLAKE2B a2c9177611b12d11cbe87bb2cc3099be5a0b339938048d9058047085e64c6b426cfb668d2f9bc51aba951d1f6d1f09aa572b082e87d8d403d9ee31bbcc0ad4d2 SHA512 ffb266eac4df02de1269307e42042db41f950ac5757ef4a4b79f05069efb84bcfc00f6b7605abbbdccfe39ef4962316494aa630d37098db6e237a4136884a598
+DIST firefox-127.0.2-ga-IE.xpi 468832 BLAKE2B 7696d21ac2419875770f0050ba22cdb77303a5062f4dc71a82ec6dbfd50cc9ee25eaa06ebc6dc5785953e42f120fbb316df81b6b596ed3c72dbb69b450bc4177 SHA512 8d19d9494feb2acb3c310adb1860b9988ff91a1cf691f4491394e9472535787045b6b0dcffe97f00aa56371a7f15b4baa357b11e63bd26a0b773b340f68f4ead
+DIST firefox-127.0.2-gd.xpi 594383 BLAKE2B bf678fe36233ac642d21a381b2dd819bf3e9a22bbcdf17b7404221657e9ff0a81a07d9d7f3fa134265ff471667f1428819756c13646f1c9be8c29e5d216fc722 SHA512 23cfa8484e7e97f4e88acb29c75cea3cef8cc96687b21d7ffb6b818222a12249fd3faf41c7ec7349f2e22860c062dff7eebffde40711d2e241ac36721daee6ba
+DIST firefox-127.0.2-gl.xpi 601871 BLAKE2B 165fd9574a2404154032709d56ce98dc636fea53233fdee6446f1ecc3be90f2da8d3bb958aa6bc552e44e838c4aebe3da2853b824ddc12f1d85847351a9d4454 SHA512 66a0845743bdc272827e0b8ccd2b47d8bc15cfe69a6f13a41027d80589e1833cca0a7aba81e4c4b1395804b3fb9a5c70859de0ce0c721397750e39b69223474a
+DIST firefox-127.0.2-gn.xpi 633216 BLAKE2B c720023594d1642a96cddc60c645cc9da55543269db9cb8a885585fb62dd4d88f9f56cacdde8a10bd08f370bd691ce3d2528df6a9f9987a8cd6ad06c943d4499 SHA512 68ac786265b14eff979bdeaa3cd54cbaf523d22013ce5d8e6e025dc84aa6bcc8f80d3f5437e63078569f950276d388a438e18d7c69cdd97a993af1b172624538
+DIST firefox-127.0.2-gu-IN.xpi 525159 BLAKE2B f5d800531dcd64701015bf2ad782c882bfc19f190292e453f650358a9d54eb1656ae1a85c4e26c7bcb9703890938dbd2da7a7d96f4af280aa6788ff76c55c0f3 SHA512 960762d09c38620010f179401de7aa648efaa7dab84ed6aab572c3c42f3fec40c456bd9bb1bf14545f34ad5b8cd018b00401096613d4610877ac4b9a2447efa3
+DIST firefox-127.0.2-he.xpi 626712 BLAKE2B afffff975a94d3cbd24bf8c548d2fbb3c72ffcae74eea9705b07512a9a6a751d372c031f7f7d395bf4c937f5a2d180afb942141e528ce74fcacdec0065c3a1c6 SHA512 92af5bf179af0aaa5a8fdd58a96e73ad815d9f7ec7442d09a15d918f3ed193d44a66ee2614d44fe09c332c09d70b647e555434633c9e5d33b0e6d30a7a08cfc8
+DIST firefox-127.0.2-hi-IN.xpi 563353 BLAKE2B 9ff065cbd37bbcad8394beb5b424c1389000da238f8483fc78970b32b6a3d766070fd2aa70e181079461b8871afd0e0fafd1283939a118d4c894deca44d12323 SHA512 0678fab31a20c98d64158a0501824c7371bc22279cbe4b195a376bb045712451eafbbf8bc123fcd117917d36dc4958bf6656b26ba4785e05b7bc940a169a860f
+DIST firefox-127.0.2-hr.xpi 554576 BLAKE2B fb13353b6b0deee986fbc5629252b56e7e6b2aea0fd3d2eb45f10488973a164df989c60ce1651626b5e0ae827b7b724be16c3ddc043413d7307a70d403c90175 SHA512 58fad028af2d8b9c17c2aed96703a07fff45e797d7e1a7cfd10ded7b61eaa0c04b36fdab44e154e7920c7e30e79bec96a1702512f033b557f64cc34f43824281
+DIST firefox-127.0.2-hsb.xpi 640687 BLAKE2B 4a4fec20af37db4bf1d1e945088619c11ae98bac270d659bd96d39000a14ef1ee843a45f55786d86dd41d768984de4f173f3a3e4eb0c648aa18203117d94fbec SHA512 10ac939b71b611d6ff052df9288b7e0348d741cb528d06c927523f46413499aef43726f8327bfbbde423ce33309d31a34dbc5c05d3d835e385b461cd5df7007b
+DIST firefox-127.0.2-hu.xpi 644724 BLAKE2B bcd603197ee1966a9ce15d39d7e9cbcc7885a7c90e000482d969e88773cea66d80cccf49f35bcee4ccf215f160562b0afd4bd04fe48260f6cb9f059405a171f5 SHA512 baff1ec2c87952299cd8d7780c19ff738ba730cd33e623c8c479dc07bcc2fe5e853e18f3c1ca697e743dddf4ab5e21d14a1cdaf7c5c5d91319b80b2f8cb3ed2e
+DIST firefox-127.0.2-hy-AM.xpi 648986 BLAKE2B 83014678273ef12ab46165594c525277187776562d71c0e04e32776649e4b30d0b2dd8f01e940de2fd6be256137ba982c6a2ea8c4368b45f4d0c5ea75775e0dd SHA512 2f25a4a190eca19c750e2fb2632bc227e3511b46e8338fd692e54104e866b8d0e97c57d814116a3220469f9f9a510e51f1a3357a4dd0a84798129be8b51863f9
+DIST firefox-127.0.2-ia.xpi 605289 BLAKE2B 543e1ef07007cda243c6c7921f657e407082ebd4e85f55944b64c221ccd65c85e80ce2c017a076d4e569cb5700d14b254289853df474561e7e446ee7d8c85968 SHA512 1886ebe21c2c3b3a0edaa12aea403eaa6a85fa25f6561f06d8b6aa250a8e010c4bfcc743d5fe304fffd63916dc8855a5ec85fed61c2b0c663f8020fd9626bb0d
+DIST firefox-127.0.2-id.xpi 572107 BLAKE2B be501c12b2410cd01e4c7c036aecab49a013dde75c0329dbd546f79e4f7acf2ddc37cf662fa374346bbf925777e968c76d0007d014b95dc922589c07bfcd9bcc SHA512 640b4cc656d7e816bc995418bdbd4680aac11192af29f923c669fbe6d8ee852ea8eefdd255251d83a02c873e5bf50766d0b94ce4f674d1f1b5cd14eb559b2f64
+DIST firefox-127.0.2-is.xpi 611945 BLAKE2B 589f70e6ad040719b901c9a6c74acd675438c6e2d1d43cff4761c9eecabd471cd7a3c93565b2afa635f76e84a2da87e06dc639a983ad2f7dc240bccc4f94d51d SHA512 1c8e31729d54e5a06e244dadcfaa686396776b90797d1f311c98ed779a8a730ab2b5f9ed3c41e89bc4a385e32d3af38df8e54feef1ba0feba6a8de304661330c
+DIST firefox-127.0.2-it.xpi 561886 BLAKE2B ff4d47130ee0480b736e929ac3d8dbf3888fe8b084c6fdb977584fd873fb00064458c72cbc6e2014080ed2f92aee91524449dfdbab0023ecc9d2d2eb71d4957d SHA512 412d49cc1cd92a3c50c9e1e517afbf70afa1d1457b41d2065fc0dee19e48c4bdaa4d68b462fff0c09cd102b5548aa815dfc3eb96a44ac6ce7fe4c92a63e19831
+DIST firefox-127.0.2-ja.xpi 673185 BLAKE2B 616faee17face89955ebcbca3fd0c38074eb9c8cb8ae5ac6f0ec298b55a71a781740537d31a55b09f2d3176d886f9dc94b516a277f7d3dad601d279b7b44581c SHA512 e4a1dce545675f2ff979d9ce04675229307ddf06302f4686e31dbf9b9e952a6e6681b9b73835a3e86d21ad0957eeb0a57af41a0f00fbf067a5e311f0aaa533d4
+DIST firefox-127.0.2-ka.xpi 658460 BLAKE2B 1e1cbf2ffd7edb05636b0894840b7729bc5ed07c54aa97730ccf30abb07391d90dc61f03aba68ab1b3cd2258d25195e10a15016ccde628fd207df3a2c8a43328 SHA512 282d5bc341eaca423c0d6f4f503d4e82aa7346d4db54ab64d63efec3985e52b6b3ec2b648265ae6861b96e505aa22b27bc8eab81d036e6f3f1831a30d720e84f
+DIST firefox-127.0.2-kab.xpi 602171 BLAKE2B d598af0433beef72504c005532b43511831b62437e62af54fb37af665e79f6aeefeac943a774bc3482ac058441ad25834531a43091a70e66387dbc90f0caa089 SHA512 93aab5f309d1ea6527029dcc414b2c335261605801cdbf6060699abe7fc11a533c67e391b64477b744c87815a4d9e8217dcf78950c707b12c05bb5f9353e27ee
+DIST firefox-127.0.2-kk.xpi 701249 BLAKE2B c012acbee6861d3f439912f4b7c1aeea5db6e1c667b716233b8b2941749679e88ec27587ba06810e5c242cf44e1dc71b0cbef73b791b7f1b6f270f0d13829d27 SHA512 933239b89d0008d7e9152be4167d44d3486a99bb1369932cf0c2cb627328fc0f810d5f153373fec7f783668cb93feb2735840962502a291cde0c76d067dc1c72
+DIST firefox-127.0.2-km.xpi 523616 BLAKE2B adc95ed4f61ac2a24e23d5a77050385640ae1ffb6d0ad8719de85aaf6c667d35cfba28ada2a688827ee9973520a01dc23182330a5a0ee505a414745915e21111 SHA512 5f6165b1059a226fc240afee289113f627b2e0d447d80e2c1231236365fa643a37744436b373fb2e62c27f3aac1427e1061901e02223bfdd505e9a93ec038a63
+DIST firefox-127.0.2-kn.xpi 489100 BLAKE2B 252088f2756606cb8eec9b5702b250f490f97367a5b26d7a3c35adcb95977d12494a7518e8a494d7d123fae55c6ff5ab50f79b8102daf734e6463817eaf6fb23 SHA512 333266766c09e952cd7b5a7761a824956da983bbf55cead5f14583f49d4099255101b4b20a0573eacbf97ff075124ed6e15394b8508d7a2c494829c95452d375
+DIST firefox-127.0.2-ko.xpi 655332 BLAKE2B b174ef3b71ccd98705f0099a9d8a9daf2df4d315a9a8400452f6f255e4ae6fa9dba0edb46fcbb129bcb3bd11ec2ae3b4cd415ba3210de1ba62e666e3520499e3 SHA512 0b1c672782c15a3b44e764b5954abd83ffd6c778d3c7105de326861feb14ca65446c16411c9fe13c25d34a4613ce35013c1346dfae14ef18f9b70dd27f7b5003
+DIST firefox-127.0.2-lij.xpi 481948 BLAKE2B 9d2d797dda09480e0bf45d9129f15fdd94c81395597bfdb37c524ea24ef476ed51fb7d298fbef8cd5a2bff8b0a38d052cdeb33c3dab696a3b35e5983d9bdfb99 SHA512 6853cd544af90e32fa06613f59a27b580caa48646a69a274fe53697fb807c3b1d576b84e20585bc1349c8c0d03e9c9f86136e8ad7f7ee255d5b5307e23dc8296
+DIST firefox-127.0.2-lt.xpi 570444 BLAKE2B 6524068e5e2c936a6d82fb55c3387665cc842847b01448bdac5e634a48074fb7d63de55534dcef765c0819b9bac33f2ac527160194716bb6c6fe9846147f3609 SHA512 c714f1d403de3243b7c126c1944178d8244c4ebacff9f65833c6da7e4f426fe9f6fe167027eb54436616801b44b6bcfffb813a9e6fe02b122330938572692f90
+DIST firefox-127.0.2-lv.xpi 571665 BLAKE2B 7e447f4538e60fa05dc4c4d19ac40367f5f34a0b9d90901b07b450a94f0257492b00715200e3b6b85cc7972e4b007fc3d8331f8d3f652ed445954cbe40b335cc SHA512 61289ce06d7b40f3cc64c05c98aa1a3cf79f21f42c08f3dda07716b1448e8a8a0c005f59cfa808bc8c7f362c1399fea50e6130fb028627a3210463bf8b72cc18
+DIST firefox-127.0.2-mk.xpi 491109 BLAKE2B bc1c1db4419ad47e9ac9730b439424688c883e475f927c5671268cb81de37a8a3bf2771dfa80dfa67c6f109faa5ed2974cf410ebfb0f59d586052cc27f319401 SHA512 8fcae32a324e336d9966b63b29455a7d44bee75b2147433d7a63c4ca4a12a7546d1b40ad433114ec95bb006c4f0aef51305fee2a133e24875d78e07da2c6d798
+DIST firefox-127.0.2-mr.xpi 529928 BLAKE2B 5b22c69c09b104fb06864d1ec3698db42a6ec4514f125928d538189a4609f2c9453625ea0300a32d4cbf95205e50a39a544f72f4164d7f4a154f7e867f4d1169 SHA512 8c46bf44f606968f14d0fd62542d2115aad9c8221a7179c56a39fb716416094adf14f8e714c9a765058057cd25b9d8e5150ca4f91d04ba29a6e98285c62a1b77
+DIST firefox-127.0.2-ms.xpi 447570 BLAKE2B eb532ec99408b57058afa89095b9b83a5b8276fb2717794326d4e6a199ed656ae6f6a0244e30e4a29e6b4133cae40e609c9badd1bde18483e21f1f0a55bc5d7e SHA512 f4ee3966274156890c6c87d316f8eef628a78cf3fa4f37f12a74ccfa84e8ab5390c6da758df45ef90e985a069f139256eaf557b050e93e832b398ed38228596f
+DIST firefox-127.0.2-my.xpi 516482 BLAKE2B 79892f75c81b973593e2fa5126fa861702d8612623b331c1c05856c86c8b5041ccb9587a1a7f6f6acc3d26269d5f39f8617f4b3a28e0a44662da543210b75084 SHA512 324244e8208859813d64ee578075a48cc4c9823154501ef1a3589f0c166be757dd470c563aa1ae7d8b46769a6d62c634c7b377859404d7c3e8b40a1cde596216
+DIST firefox-127.0.2-nb-NO.xpi 602855 BLAKE2B b385c75dd70ad2de9bca8cd9ca7f7a12e2519c5a3a8f52436cc4c74abb69176b9f1d353e951416bd72f6bb1bde9891cebb928dbd60b84db48d06c3a497f8b1dc SHA512 818598d7378d97f9cbff4b885660e950024c215bc9f6a669c5c8e7893fb3393e1bf6cb41d8e3feac142251d66796dd3174a4dfe968c7f80358c6cec63f231651
+DIST firefox-127.0.2-ne-NP.xpi 508759 BLAKE2B 8ebb4db29607220a96f7e81d539510830cf317936aae99c289ea35bdb77ef2aa493ab364c8ced059f5598186e68d6d6f069e41456c5131d06d0857c7d64df006 SHA512 5cf6ea3dbb0d82365beab3dfa6718014162b2901eb1ba8183106a99703004d0448b69fb49f6b140c8747b5ae00ff55b5b40fb15dbb60a89332f093d39c955898
+DIST firefox-127.0.2-nl.xpi 611454 BLAKE2B c9a18433a9f584b202cc5d3f1ac31ab77123b8682477f9874bee120ef5d5b34835fece3bab2eb9440860dfba1a925dc05dd295af1f14c851dbf54b0d0c075a88 SHA512 149f5c2d52fa2722b6f0d8f39796bc376d8ac0d65c07c61be43bdabfe135dc3056072bc3ffed433eae48ea9cc81ab8ea88759f8d2c4984a0ba337279d384b5e4
+DIST firefox-127.0.2-nn-NO.xpi 603355 BLAKE2B 67ac7a6dcaba44ec0190b7c8608b6edbae49fb9f6c61bda8dd9d1d55dc27e2e3cdbe57de79137bedc70dfe1f310dd192668be6166adb242e01ec8a72ce6ad623 SHA512 c22d95313aa51f705ad32255af4a43aefe645c6fd972b5d2e2f73e3369b1379c3ddb961823333323862b3eb8c5f2f12ebb16d9fdd82f39f8a992f955601f7b42
+DIST firefox-127.0.2-oc.xpi 608807 BLAKE2B 9df8419070a18ffe73e76b467e0b82fef9480e3d43fc5592376a96cf1a7c46a24fc7c59f0a7d99a1f291bb98548e3a55891daf32994e52f9f60fc407cfd1f62b SHA512 ee2cc4489784c7b26493a476730bc596b44cb6ec8703fa4e8c8066ed67e271ad23e720517b2577cced60e53031bb8db6fe2cc056f28f3956811216be0656df8a
+DIST firefox-127.0.2-pa-IN.xpi 687023 BLAKE2B 773a89ac237620167b1475c980669f050d8bf1b70c7bddb6bd2198c1266d14fa8e4b966e19a66e6201c0f52f6e6767432279395a5baf72d4ad7a8ce9c69398ac SHA512 f21c8ab2a7bb86a3ae57a2552bfc16ea3842d6ac4b4773161c15f15512a2ef2dcc57a54544b36bd1ac1ecb550f86cf7ec092beae1b3fa261d541cbc9f2112a52
+DIST firefox-127.0.2-pl.xpi 631922 BLAKE2B 1f490bf716751765f37e947065c79e40bded9ba716bd0189bb59c25f36a0be83b6d9879a2ca1dbd873d9438eb0cb4189cd15f72d19a6d7afe2158c92f0fe5746 SHA512 c25788444c441b0ad0ba573a194fabe8922cc611586ee19a9c7854307fb609552152e05cb624c1d17cf9bcec1662ed9a463b102ecd4aa9265840a48f56f858f9
+DIST firefox-127.0.2-pt-BR.xpi 616113 BLAKE2B df9bfd077412f11ecc945ce17155f01a812ca3f4b5915231625fc8c2a85e6a2a73439c32dfdf5137fec208fc44608b3a4528dc2a38e59250c5834542df943b01 SHA512 d80533c25e2f6fb8e4ce428332ffabc24db70cba180fa8f99948f94c5fa018b51466049f27ef4b45c68d50b4e2fbc2a510c651433b84d24c0af5de2d7e2922bb
+DIST firefox-127.0.2-pt-PT.xpi 622365 BLAKE2B 3a58c60a55ecb97079443c8b8f11c74e11b316e4cadd202b49c4a67d8c1ecca543295638e292bb843b9d53a8ae0f11746a507ccc13bc29e23a655b72962ca8b3 SHA512 6b3f52b3f597256263d6a31a9db4fe504405df80c77e33d4203438b31c1e4b5f0ea6b55bcfd088608b65efdf333d255dd51a6c62f6a6920542009d48d49a9277
+DIST firefox-127.0.2-rm.xpi 612109 BLAKE2B 037339854f561f18dad9b3f71ff29c93c62389a09bde63d038dc5432806d6793f89836a0b7a2b539fc1abc3e5da938841f4f56271c146507eeaaf1213076b6bf SHA512 b5e5ef4614f3c85eca0d95fc076ed6371ded5ee48186c58b209ae3d0386e4ec540c6fbbd479f7a4ac939e5687f51246d2d98c63ded1c791e3d429456e6743cef
+DIST firefox-127.0.2-ro.xpi 547541 BLAKE2B 05bc2ce40ad88755d62e001e5fbfc2ecc3f8de44d4c9a66b05d2aa1f5f9bf9fa47942a070234a4bc17be222e50d9ac57a876b3c935edaf868116738cb2ce513c SHA512 69a69804d9e9555971e997c9c1a9979343b9e6d92d250f6056fb1a43cf9f319675bd8f9534f2b195d2b17aa896ec2f48bd0f4fece1cf9a953b80b89a242ea494
+DIST firefox-127.0.2-ru.xpi 713587 BLAKE2B d7e43eb431e9ccd825c369a5ae03da01d8cd3e75a75ec3976b6c077b8017f1399bd8f6898fff6dcd763b471b85d1e045734d2c87be3f5479ef71be25b2a820fd SHA512 9bc67383511f4e3772a8d0387bc6356c1bc6279378cf92459b3fed84027c063180f27565fd207ca87aba43b23d89b88985566041d54fa87b796dd72ff5f8c3b8
+DIST firefox-127.0.2-sc.xpi 582650 BLAKE2B bc0a2823a0358c3369f09a4ae8f945ff24cb03f64cc364e492ea7cf4a2a75d0091e4c1156135ca240d2cad8cb64a7224b7435586d612a97718f3fa52e02573b5 SHA512 7d98df466fca23340be563faf94ced9be26938deffc5bee708ba1b9d0adf0041e4353973a447b153ed30dd7fa3d475e6479b7e2f99514e34c1b8b101e569387d
+DIST firefox-127.0.2-sco.xpi 509002 BLAKE2B 51c464944fb8b7bf1253d5283ac373b66a225936cc10d041f1a1afa7aa2945ad355ac76f4c7e0d486af5376f5a6168ab4fd7127adba7650d8beb48a64e2c290b SHA512 7f3f1f329b03011fd5e92ca83819878e52bcaa558d27fa8245fd97ba6a74263472dbc9e9e3b27a3d21243df7e97fa393cdabe5c3b7ec797dfea2365ef72caa1e
+DIST firefox-127.0.2-si.xpi 603740 BLAKE2B f4e030dfa2a86adcbbcb5a012fd3b94ef771dd4ef04c84d7d92e9d0076444db69d82362836438179161cc76f30ea1fe28ff208d9eba9601ec36f0cc2e294da8d SHA512 052ed58c249b438855f0eec798bcd7168e2a4cea40f4cafc20c71d1420416dd4bffaeefab07e1468d2db138c0c8995512baa392f58fe650ff0292d2ddba4d205
+DIST firefox-127.0.2-sk.xpi 646183 BLAKE2B 066ee127bde4f408f04ece718dfdaa9e9787a9d531f172edbc645423375e122e86667c149225ef865463ed6506f861347229781d66a746706914f9400543a29d SHA512 c010b5ec4d21f751acc65fd11909a2d11204558c2ff3c599678dde58cf64525776905d1cd0ead10103e1a4ddaf8bf1e74a2bd187be79e661efdcfb8e76c78cb5
+DIST firefox-127.0.2-sl.xpi 612536 BLAKE2B 154f285a2c34c47ad645562c0739d7167d09dae0cc3310dea11c66531d01cd760328d487fc4e287660f6b8abd83ec5280eb496cef2d5ca55ed9a4a730f61a8c6 SHA512 74a722e53c9d79b7d6ac71bea7d20b178e8ae0444f4c237f9038ba984c9f1f83b4f1b413469f43f56b2dce04b5dd96c07717cb13f1cea15ae61548e9d14c1c81
+DIST firefox-127.0.2-son.xpi 414287 BLAKE2B ef3c9c5cbb49b995d4031173daa9b2671d31f8c1607454d728fbc9a48337584b507d39a5c3f763d471d0069d7d03c04a20156f849976dd1e3f1bc1ec060a48fb SHA512 a127c147748f1829537707bafd0803ba0be05500eac44a310a035c3600e59b354249f82d03e1414f72c943b682deddbaccf38741791809c6e6fcb6a2535a1e88
+DIST firefox-127.0.2-sq.xpi 632514 BLAKE2B 57ed4165eb1c50706d4daa426b9561bf55114323c57f252a5cb10f24d12cae7929a663431ec815ab70bec7271e2c99ce42b1d33503d00f4335ad829bdf072a10 SHA512 b26dbcb8ffb1f7b346f5afe1b2a96bef700b0274c9423fccce3a6f9a72870740b422e60ca153a42fdd5dd550ea21348be457bafe11e16702e9013c71ad76b12c
+DIST firefox-127.0.2-sr.xpi 637089 BLAKE2B 0906ed4130759f223f0c9197ccefee7ee1a18e97adb2e3f95a37dd68e324f965571b2d465a6540241f094f713775528316cc9e20e92a16c6c0b3b93b58046163 SHA512 7f2ba2683e858264729389e1f87db5cc2facd712155cfba0b742e71977e40bd92aec35e85ba97cc089da1533d2a95aec727eee059db2b4e23cc7dc2085ca0ea9
+DIST firefox-127.0.2-sv-SE.xpi 613192 BLAKE2B 62fe88ce76e60a37d5d17d41aae8115fbd58f5e19f12a391dd12504d78b748d5f656eb72f2457ed0d2b4c5a423710333230a5cac7b811efc3b9bbf9425fc0e23 SHA512 0a3fc99b45702c4ecc38657c557681edaa5941d43cd2946310ebdc997306ba5d0566742c7bbdda44f1d52e9ea2b2d7d378a2e2ceb26cf5927d4f36b8cb5afeea
+DIST firefox-127.0.2-szl.xpi 524220 BLAKE2B f8519e76c38de1fce2d84dcae35155482688d9ac5273ae47c4fea0d86fcffddcc5313395019b6fcc9eff045cede9b2ed19cf4f030c92395aedb50aa6ffdd1670 SHA512 090353e034ad44199601012d9a99a8903ed6cb0868e25d0a5316cb0a34deb51a9a3f64d1c4f358d79702ad1a21ceb5d72eac08a325f875c4bb4d8a60a1a0ccdc
+DIST firefox-127.0.2-ta.xpi 505373 BLAKE2B 6e14af1ef396c63bc689033c1b89dd00019338c6b065f6e858a337ba0e38f5d08802fd8c85d1abc8da5ad95d970a9ff96f05076b029f482e246ab48ffbdf00ea SHA512 6f6096e2a0ca3e82649c97240052235d480456f32d38a810b0d5d7ac8fe4f5cd2406e44b4d92797154940213200024a1f6eb971b7dce12617f180f16998ecac6
+DIST firefox-127.0.2-te.xpi 558857 BLAKE2B 8492c705d927f9bfa27a41097f46b8f2bbe6532940360ce4e878fa117643bc6d5e82616fbd401a083810ab99325f821fdc670185181f2a88f9b03dd425d0ef08 SHA512 d5269e7b39125d492e13f4588037e970a39838d527483fa3e043f8087772cebbbd788f5242ea66db6825995c028bf1db2abe4abc28cabf42362cba5fe813ae41
+DIST firefox-127.0.2-th.xpi 689043 BLAKE2B d6175e8a39280a990dd5e2f598ccf7c920b9abf770ba68c7f87cd1c129b0e426d91155f7939c87716bd1921a58f3f411d0ed051e210cca19be9c275945fbf61c SHA512 1535857c7c226c8fcbe4b0d168953ee79868ddc590b0e52b70806e69aa0e9e9dca975062cea8f7028d49c1d6168ba0e4e0e4312e008c7813ffa3055ede341a06
+DIST firefox-127.0.2-tl.xpi 532003 BLAKE2B 9cc051e3025efe3b0a21bfa77cf9897ec5348a88be2481ad275c0ee1ee9756ff2d42bbd73aa5050ab0c5b540ccbb1f9242e1d38168098be8d139bf03475209dd SHA512 43611d4e87c7b5e5a5d4fe7ed505b08e5f768e340a01f0aa83e923f07d2bac9e8563981d8e5c28a3d52187a74f517a3d49c29aea57c6c9981f9943e54c940b0a
+DIST firefox-127.0.2-tr.xpi 626623 BLAKE2B d52a002ea0eb3dcd6097470ea7aef86c75cbaa7a98c0ff123ced4aa9dcbd7cbe6173f83350d48311d3f3f25eb921f64362fa2a9cb178010ee7d92e162bd1ba0a SHA512 96fd86f48fda7cdd5f6f438ae5541d4a500169ff9957a47102ceb751fc2d89ad885c9fd0648a3e0fc9c46cfe1763763822e11ee4932726f3c2ef0690fed1be7f
+DIST firefox-127.0.2-trs.xpi 501856 BLAKE2B 558bab47c71966a918c263834477838901ffd7650ad4af63731b44631f26b8f84cb5f26c16ffdb040657dfc39a7704453d66d93532a8ce546556379c30df8849 SHA512 5ad75696118ff20e7089ed1ba109c04307898533e3105529535e7243a53642b4b5ae9407b0ca0ddb2e64d5b9be871a20d740a7be58012ec0f6693194c5d95c8d
+DIST firefox-127.0.2-uk.xpi 705155 BLAKE2B 11287c54554accce94129cbbf30f987ec3f3dfa3430eea7efeb36b79a92d849aa548bb97cb2db80b9ac91c76761a0c1b906dff856b69be514d408ba81391565c SHA512 0f5c9a05e82a765e7f36fdc3d99dc2c37593efce24ecfa2e5f31c69500b4c8fdb80629bd1f3b504437ca961a49a111a5dc404a8ef076420dc92036b9dbd47c17
+DIST firefox-127.0.2-ur.xpi 558321 BLAKE2B 0993ac2acdba4798d3f32ab68b52a57151d3ae34db7e77ae792ed4adb3717b5d816116b3718348434a4023b862a5fa31cf351902cb7537e0e00183f6fa848e86 SHA512 2c131c6220f62655c33f7b6831c4dea66ba1dae0a4602761ae2ff5284559093aeaadcc40030d996c995ac8150735fa8166bf39c238d98b675fb3560766d266a0
+DIST firefox-127.0.2-uz.xpi 476583 BLAKE2B ec8571499e1813b37030cff7b4b06ce4cc2180f65a3dd6fb6b1936b85eff56dc5a9396cdff034fcd96dc351763ef02ce2b3e03a1a7711606281c3fdcb6e7b4c5 SHA512 de62f38157aa6ecdd75659f2fc660c3466980ca633fb45705b92830cc4951a5d24e68dd50e06b15a99610dc0d00e05dc0b59fd44befdb0a636107b93f5de68b0
+DIST firefox-127.0.2-vi.xpi 650522 BLAKE2B b203152c7803a4d87465a3bad14a4a7a2b6e6c5745fae6e514fcc7467223a165bda3f5f0568600fce1ea38c650bbf9191b77aa8831a997127d945f50a169897c SHA512 45fcf4ca1e02495f6fec520d0dc095fce55e208e9805c641b80e600092a7b117be965e73990042ac7a8fffc421c43309f0d8875389d6a281321f0aece608f53a
+DIST firefox-127.0.2-xh.xpi 415023 BLAKE2B 09ad510ea9a674f6f0aad08fcdd50dbe5196ec119d7a51fc8fcc02cd2358ce1df12dd46b4b23dc3a927a99a3727ee9159c44815e4ce074ba83a82bf2a0421b41 SHA512 a226b56517a49d29d74da8dba3d8e7edef132b970bc7f41f489973b26ba63961e2defc5e6d765b1f69dca05e07729ac49e953aeb195a5887fbd32fcf1d053b73
+DIST firefox-127.0.2-zh-CN.xpi 650833 BLAKE2B 28df31392be1acb5a73af40b1dd8744056cd9f5a179a5f95c31a16ec9f0c2a97deb52a927b1322ee1118691cfec05e35105953938a0c1ae527994805f4401f24 SHA512 61bc371d4d0e343f19a48a2ed473575176bdbd2b084ee464253e2958eb08673af9fefe3709dbad127254e8991a813d63de6156f60b773a0f6546a82728401595
+DIST firefox-127.0.2-zh-TW.xpi 653089 BLAKE2B f7d6c661cc6f7bdc068cb9b00991f164e3b6b123cef5af553c6749de3ce3eb6609a71115627532093f7450b08f6df5b5726903e70f61279b6292004918f9e5cf SHA512 3a8a3c3979db17b3a56fdb2049fb1a437b8c881dc6587affac0a24f936ab53845672da3cdb452e4831acd2ec080f08dd4fdb6f40bb8edbffbb2d2ff688eee96b
+DIST firefox-127.0.2.source.tar.xz 554998504 BLAKE2B 63221122b5d3ef57f47895fc3583ea4b6dd97a636934054572ac1fb1005777b2d76229124f4b8f293f34791720992489f9ded0e5707d930977fedb160dd0966c SHA512 d5a959a032309b8a42690b7f5afd5110c2e6ca7de426e1529d50f59cf065e67623ed98bf3aab39ce4d345ccfad2a273b24ce4f87c7ba7e6eccf2e9dfe3008d8b
DIST firefox-127.0.source.tar.xz 558840124 BLAKE2B 78fe92863389763759ce6e25dccc8adb19b8c35b59e591f40982fe5cd3b5511fee8f809567fa5aade68fcf3b40c1860f5e63aabdef0421c94b803d30d32d4988 SHA512 5a17bce357e7f445c37540115f2c131ad5a055c0cf04f20bc2eaca18f8d241a99ac76739d172b38f2ad2681633f901a0a15893801082ac5db9e20e31fc8b8291
EBUILD firefox-115.11.0.ebuild 40409 BLAKE2B 946cc9a9f1d5415932e8fa55d739370b1b2296588cbc97b95bea73c07efd9b51e12b5f55db269ece293e60697c764c7e635da36f2f6f40c2b25affab7f8d8f11 SHA512 fd6c57d8c113820d2fd2d20fd9c1dbb756585b5939168a3b9b96936284959f551359901e48f95a13d3b427210920a569a7f5aa8e999eecde84c42daea70e8bdd
EBUILD firefox-115.12.0.ebuild 40410 BLAKE2B 902b584a455863f5f0842116038fa1d71841bd82fbd9e39fd835f58f93400f22d053574952b75c4b8fbf60f1b4bf6f6a0f33bbb66040156c6708386e1ecb6e01 SHA512 d1c1ecf8728174770221e973b5e9af74ce7643b9cc990544e0d7b8443940996fb5e685ec4d15410f8fa360a80be30766921078ec78153ef23e899ff0116828ec
EBUILD firefox-126.0.1.ebuild 42514 BLAKE2B 789b5cebb2369a92cc314abbfee3b287b1b01a4402b635af4b6022d9d43ba2ef5b519205c994fc305672b45fd5f7673556176c3144ed1254a4849245906ff7d0 SHA512 66ef576f14b2a172633cfe41ce70a53051d13b3395909f7130237a4b93119b8331e68f6bd621d950234522e500f7ff09389f4e9d843e7c17f7d1607cfb525e74
EBUILD firefox-127.0.1.ebuild 42488 BLAKE2B 850bdf64d677b89ec1df1fc4a337d2e6ce08baaf559e224c573ada1ce98195b8e240e04a3ec5a31a277434e919ad71ffa9354540eab5ea0173c01ac379f3e926 SHA512 a435584138d6784271edc5592d5e67d9f07f5eefabe88c0a2dd09bccf21a56a6777629332aa4ec25ac20848ba7bc3da984a800517b3a2b4e8db8d1272cf9789a
+EBUILD firefox-127.0.2.ebuild 42488 BLAKE2B 850bdf64d677b89ec1df1fc4a337d2e6ce08baaf559e224c573ada1ce98195b8e240e04a3ec5a31a277434e919ad71ffa9354540eab5ea0173c01ac379f3e926 SHA512 a435584138d6784271edc5592d5e67d9f07f5eefabe88c0a2dd09bccf21a56a6777629332aa4ec25ac20848ba7bc3da984a800517b3a2b4e8db8d1272cf9789a
EBUILD firefox-127.0.ebuild 42488 BLAKE2B 850bdf64d677b89ec1df1fc4a337d2e6ce08baaf559e224c573ada1ce98195b8e240e04a3ec5a31a277434e919ad71ffa9354540eab5ea0173c01ac379f3e926 SHA512 a435584138d6784271edc5592d5e67d9f07f5eefabe88c0a2dd09bccf21a56a6777629332aa4ec25ac20848ba7bc3da984a800517b3a2b4e8db8d1272cf9789a
MISC metadata.xml 2597 BLAKE2B b449997bc096ed8fb7bde41a5acb8d9f4c1c8cfc9663c06ff603cca756e8868d40049fd292a459a00d80b4e8c3a74e91e29fcb04abe87277640fe65d070f0bda SHA512 703c7f6a2b46748786145b0973a7b8439e530c96fd7c50d773efac7d5d9bf74ccb4f0c252f2701459944f2b3ced22d3e57ddf049b9aed0c8f0e094cabddda251
diff --git a/www-client/firefox/firefox-127.0.2.ebuild b/www-client/firefox/firefox-127.0.2.ebuild
new file mode 100644
index 000000000000..72aa3df83042
--- /dev/null
+++ b/www-client/firefox/firefox-127.0.2.ebuild
@@ -0,0 +1,1420 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-127-patches-02.tar.xz"
+
+LLVM_COMPAT=( 17 18 )
+
+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"
+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}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+SLOT="rapid"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack +jumbo-build libproxy lto openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
+IUSE+=" +telemetry valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ !www-client/firefox:esr
+ 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.100
+ >=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
+ 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]
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ net-misc/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/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ 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
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# 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! 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+=( 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}"
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+ local out
+
+ # Ensure ld output is in English.
+ local -x LC_ALL=C
+
+ # First check the linker directly.
+ out=$($(tc-getLD "$@") --version 2>&1)
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # Then see if they're selecting mold via compiler flags.
+ # Note: We're assuming they're using LDFLAGS to hold the
+ # options and not CFLAGS/CXXFLAGS.
+ local base="${T}/test-tc-linker"
+ cat <<-EOF > "${base}.c"
+ int main() { return 0; }
+ EOF
+ out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+ rm -f "${base}"*
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # No mold here!
+ return 1
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -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"
+ 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"
+
+ # Make ICU respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # Respect MAKEOPTS all around (maybe some find+sed is better)
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/base.py || 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 -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.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
+ moz_clear_vendor_checksums proc-macro2
+
+ # 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-gpsd \
+ --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 && [[ ${CHOST} != armv*h* ]] ; 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
+
+ mozconfig_use_enable geckodriver
+
+ 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
+ filter-lto
+
+ 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-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*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ # 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
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ 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"
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # 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
+
+ # 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 geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ 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 desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ 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
+
+ # 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:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+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
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ 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
+
+ if use geckodriver ; then
+ ewarn "You have enabled the 'geckodriver' USE flag. Geckodriver is now"
+ ewarn "packaged separately as net-misc/geckodriver and the use flag will be"
+ ewarn "dropped from main Firefox package by Firefox 128.0 release."
+ fi
+}
diff --git a/www-client/google-chrome-unstable/Manifest b/www-client/google-chrome-unstable/Manifest
index 7380d926aab0..89bf8ab06a35 100644
--- a/www-client/google-chrome-unstable/Manifest
+++ b/www-client/google-chrome-unstable/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-unstable_128.0.6535.2-1_amd64.deb 109248816 BLAKE2B c270ea7c8bee8112e4839e9a0bbfcee5dfc707c50a78d74e27104c1c2ffb3e339282f01eaec98264f06518a9b115e5ff15774490fbdc6557c2a1d56d0eb95d39 SHA512 a8cd325ffe48a46ae676a773b49b728c409fa6d31cb4029e090826b137d0e201a3325888e3b54a9b7a0f59f6590c9b9ce8abc7651477902b56dd3fd0dbcd7d2a
-EBUILD google-chrome-unstable-128.0.6535.2.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4
+DIST google-chrome-unstable_128.0.6555.2-1_amd64.deb 109871140 BLAKE2B 2bc6db0a021f8161ecdde53365b5bbe203eebd40e23886866b5e5e60f1dc98b3e1db481b20f97ee64a6cc5256df7fcb3c07d02905372ca927e2990e0b815b507 SHA512 219ba6ce068fb6311c4a423e64c35a96dc7944e63702d460ed9b47499abf62c3ee0218e16fbc93a8d36b735ea0242e2e32f43f07bac32480ddb14a25b37ab45e
+EBUILD google-chrome-unstable-128.0.6555.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-128.0.6535.2.ebuild b/www-client/google-chrome-unstable/google-chrome-unstable-128.0.6555.2.ebuild
index dd9e9c497aea..dd9e9c497aea 100644
--- a/www-client/google-chrome-unstable/google-chrome-unstable-128.0.6535.2.ebuild
+++ b/www-client/google-chrome-unstable/google-chrome-unstable-128.0.6555.2.ebuild
diff --git a/www-client/google-chrome/Manifest b/www-client/google-chrome/Manifest
index 36bad3383946..8218ccdf8501 100644
--- a/www-client/google-chrome/Manifest
+++ b/www-client/google-chrome/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-stable_126.0.6478.114-1_amd64.deb 108805872 BLAKE2B 456742a69f8fefba9a7bc55ec80a803f4450581967c43d7934ac30d94e0bba618273375d389bd495bb8ecf00d5f56d48007d8102356b0f7917238867b568f8c9 SHA512 e92ce15324969327f906195382993bafe73a7225c549b09b400afaae7953c5ccb31d3364a269f9e8050971621858bd9da9fde655dd36b8ad7d8ec116d245f37a
-EBUILD google-chrome-126.0.6478.114.ebuild 2982 BLAKE2B 94c28a910834b70ccfa642f6e5372dce9e534bf5b9c210516958e8cd96c4b8e042d360a9fa5c85d13cbe4b152a26b7751f5f87ab832002fe21e83f2cdf03f47e SHA512 23c9d78446da4b7ceef659dd659af367733abb766207e343fc991122d13744e3d67b0919d9d6371df5fc43815301c062087e1ce8d685e41ad0613e352b8c96ee
+DIST google-chrome-stable_126.0.6478.126-1_amd64.deb 108773084 BLAKE2B 4e59333e6073b2b7320b50551a6241fc402509398a404742e63ccde60dce3a9c8d5a490a0b9fb4a9a409562ee4ea078ac1a6d441b0ead94bd40792b16afa48f9 SHA512 cae09818d2032253e1d9a8e58dfde53d56bb4fd63de0b7ad89bc6558da66103220057dce331ae519fa79e7ec140f116bc8d3e10200eb9845bb278aeaf3cf5d95
+EBUILD google-chrome-126.0.6478.126.ebuild 2982 BLAKE2B 94c28a910834b70ccfa642f6e5372dce9e534bf5b9c210516958e8cd96c4b8e042d360a9fa5c85d13cbe4b152a26b7751f5f87ab832002fe21e83f2cdf03f47e SHA512 23c9d78446da4b7ceef659dd659af367733abb766207e343fc991122d13744e3d67b0919d9d6371df5fc43815301c062087e1ce8d685e41ad0613e352b8c96ee
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome/google-chrome-126.0.6478.114.ebuild b/www-client/google-chrome/google-chrome-126.0.6478.126.ebuild
index a6673ff33b80..a6673ff33b80 100644
--- a/www-client/google-chrome/google-chrome-126.0.6478.114.ebuild
+++ b/www-client/google-chrome/google-chrome-126.0.6478.126.ebuild
diff --git a/www-client/microsoft-edge-beta/Manifest b/www-client/microsoft-edge-beta/Manifest
index 28fb0fe7274f..01c4014158bc 100644
--- a/www-client/microsoft-edge-beta/Manifest
+++ b/www-client/microsoft-edge-beta/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-beta_126.0.2592.56-1_amd64.deb 168025734 BLAKE2B 55f7984e882a1a2b394923bcf1301a3649e4f041ab6dfe390b7e29e4f203547f3ffe0e3cce4e36142b5de923a6eecd6d776a4472231a2ebfc9316ac4ee14ad02 SHA512 5596e0754c3f443366838104b99e60a4991d42875b59e02e494db0d65b241a2fb483be675fa862e52a3f67f4e9edd173dc1ce4489f942585faa916b9d5c814b8
-DIST microsoft-edge-beta_126.0.2592.61-1_amd64.deb 168052066 BLAKE2B 01030d90820b785bdbb141faaca9d11ac98ff94961704142f6512b214c152c26cd563b4ce73ce95c5d425b3d1f75661c2f1233c35a3a4d4cd6c6bf28fb6b91a7 SHA512 5d997eed31300965a14a2bd3829bed2f1446d181d3d9e4c2082417e4cca628073e01f4e767a4ac4724b67180de2aac6f8ee593ec05937a86d5033939145906af
DIST microsoft-edge-beta_126.0.2592.68-1_amd64.deb 168093970 BLAKE2B 5a5d84c1fe5fab744c48941eeb3c61f1c5ec1c2fa88f61ece81c865879320b9e2b40dadef6f84b3b1f8228e14076e60134ceaf9cbd7d3db30aa05a9f43f31cb5 SHA512 e0b75ef6671a9cda080622464ccfc41b7377d4cc7556f416c065a4d49c6d3f6f6b8da81bc33c143b064aca3b9817562f199fdd28d4d55734eb54b0df5651d6a8
-EBUILD microsoft-edge-beta-126.0.2592.56.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
-EBUILD microsoft-edge-beta-126.0.2592.61.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+DIST microsoft-edge-beta_127.0.2651.15-1_amd64.deb 166274998 BLAKE2B 68b5e24fb80c0b9069e13349b05a44f5b2e8cfa5aa41256b4c0bf35ccb8a32da6d1fbb52620f81a873afd63a816ecc3da9a146b83fd2e24f601240c4cbcf674c SHA512 6121ac0e214b10235317ca4909668c49ad39e8be37f023a753df4ea01f2c16e6e36f7852a692fc1181e182d938fb6a2b4ffd46453ec330fa3b29a93bd09d9e46
+DIST microsoft-edge-beta_127.0.2651.8-1_amd64.deb 166235390 BLAKE2B 7fc059f64479348bf03fef05c3690bfede9f9036057b1dc6c69d268af37c049622cb036143211754382c566ff41846fbd2bcf28472a93425965f8a8cdaaf9978 SHA512 3eb1b79a878837eddf6ae36d4366ada21c0ec922b55dc1538fee4a07537dc5b8a97f31b25959379df444a3cea47aecef677d9b2924fa9863eaed6a41af9ac5b4
EBUILD microsoft-edge-beta-126.0.2592.68.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+EBUILD microsoft-edge-beta-127.0.2651.15.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+EBUILD microsoft-edge-beta-127.0.2651.8.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-126.0.2592.56.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.15.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-126.0.2592.56.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.15.ebuild
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-126.0.2592.61.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.8.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-126.0.2592.61.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.8.ebuild
diff --git a/www-client/microsoft-edge-dev/Manifest b/www-client/microsoft-edge-dev/Manifest
index b82d2111125a..fc639153c11e 100644
--- a/www-client/microsoft-edge-dev/Manifest
+++ b/www-client/microsoft-edge-dev/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-dev_127.0.2620.3-1_amd64.deb 168519466 BLAKE2B b6e7a80d4dd176704054d82823323ee4af6d5858dbbb11516e9919b980fecbc2c744292e80c31cb435c05889d073cc21d3595acf2158000b22b4385288fdc772 SHA512 a509b88aa4754c330792c430ce36cd504882b82776664eca228286c457d00c116b96bb290ae9ab39b4c114ce3380b9394c33b1c8ebc24cd44d5c26b563b73906
-DIST microsoft-edge-dev_127.0.2638.2-1_amd64.deb 168656286 BLAKE2B 242a4ec43d7c7b2f666190a52e28651caddb4f839d97b6fad29844cc0fde26f0bb520e06ef5aad573b5d2b5345e422bb9f7a70a83eeb9df5c4ef8a285fe663f4 SHA512 0cf7293b42db643afb340e2e437bd9a62ddb3501d3140f9d7716f938d69b4dd9e112e1aa002dcbdfdf1fd0b84e045aab95f200c6523856beed29b7bfc3e76b80
DIST microsoft-edge-dev_127.0.2651.2-1_amd64.deb 166275802 BLAKE2B a1642320646c17148e0355a43983128de51c934cca26fe2c20fd852f726c0fe4bd93fda399800e26a86039dbb48288a0451ecc9fe106c19b4dde33391cb48840 SHA512 e17477338e695c2cf91603d62375b22356d68c00c1c07b0dce7dd90c202e53d6b8e94980183b44526117ceed4c0673d2e3d74006ec4828395dd6ea1c1c7a00d9
-EBUILD microsoft-edge-dev-127.0.2620.3.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
-EBUILD microsoft-edge-dev-127.0.2638.2.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+DIST microsoft-edge-dev_127.0.2651.8-1_amd64.deb 166223282 BLAKE2B a45295f0a41c739eab3ff926a1f7250ec4285c423243018005f9ba3f2f720a90ad37d7278ba422664caff89c150498f9238afce8560e6c080e5315993e534188 SHA512 d333c6b9ee120c106757e8ca1bbd03ede0342900d517add720a57c21ecb07c7d0010ac4aed1ea8a00fa08412d1a76bc8f15a79516b5de100ba421018fb924b58
+DIST microsoft-edge-dev_128.0.2661.0-1_amd64.deb 166470038 BLAKE2B 2e0ba0688d6bb0759f5bd3311dadab16fe659a7f50c1b9786fe75f9f8304617fe5e3c6baf7526fbab6724866131729effbf6577513201f503bdeae7a504d544c SHA512 c88bf304dc552f68f49a07b3f8bbad28b96b593e18d161884c7898f67768361e01c653f3681512fb27fe0c8949f5211ed4fd70ce14c12c896452441be2ccc2d3
EBUILD microsoft-edge-dev-127.0.2651.2.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+EBUILD microsoft-edge-dev-127.0.2651.8.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+EBUILD microsoft-edge-dev-128.0.2661.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-127.0.2620.3.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-127.0.2651.8.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-127.0.2620.3.ebuild
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-127.0.2651.8.ebuild
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-127.0.2638.2.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2661.0.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-127.0.2638.2.ebuild
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2661.0.ebuild
diff --git a/www-client/opera/Manifest b/www-client/opera/Manifest
index 0229348c1bf3..da450fe892d6 100644
--- a/www-client/opera/Manifest
+++ b/www-client/opera/Manifest
@@ -1,3 +1,3 @@
-DIST opera-stable_111.0.5168.25_amd64.deb 110244468 BLAKE2B c6685634269272d6803c2232bddaf47a8c1d9ac3dd5131d432b0784bb38fae5c674d5543c8419bd5427ee2d58ce94a2c8106810e96476fbbb8dd0439e60edea3 SHA512 d7799f35d284d7a08abc4b6b02d83ce852916a9dc38fd6af6f600850fb7f27b9869d5e0e555c7a4d7ce252f7435596c96d25a7b47aa086e9aee23ea067152adf
-EBUILD opera-111.0.5168.25.ebuild 4222 BLAKE2B 1091bc144473a96cbc91da218fbf249d640c7dd37ff38a7796043c1cd20a670bc1342221af7d80369b0f0f7c2a65815547cc117f49436392f5490c76d98df9dc SHA512 ecf572caaf6133d3824f38555c1d9c1ac4045f23400bdf81f824735714e9e8d454ff81e6657f3e9654e4a61bd3e3e83458f3dee0f33f0bc7fa8ddbe4ac2e21bf
+DIST opera-stable_111.0.5168.43_amd64.deb 110234408 BLAKE2B 751b98f71b18c81824c3ed0dedf6dd0f5c36c6c6ca7ff1f1682bdf2ba2a76ca24c88229fabceaff337bdf9c70fd0e0ce473ada7ee0caaa47f5985175868a4a42 SHA512 819eff9c2ae927f03f713ff749b5a4f8457ad3db6bc8e09c21fb2533fcbd4aba175cab7f724696b286bc6d010221637139b17cc41709de77e747973ede5e1661
+EBUILD opera-111.0.5168.43.ebuild 4222 BLAKE2B 1091bc144473a96cbc91da218fbf249d640c7dd37ff38a7796043c1cd20a670bc1342221af7d80369b0f0f7c2a65815547cc117f49436392f5490c76d98df9dc SHA512 ecf572caaf6133d3824f38555c1d9c1ac4045f23400bdf81f824735714e9e8d454ff81e6657f3e9654e4a61bd3e3e83458f3dee0f33f0bc7fa8ddbe4ac2e21bf
MISC metadata.xml 544 BLAKE2B 94b2f6807c021794769fc62b041c69bd08a0d307c51db96109bd45a1fff240d586c51daa91e894055e47291505750f07e9054b6b1b364a691c18f5711acbe9b4 SHA512 691c7b62fa7c8a46e4cc981a2f211a1609b1c57620aca668b001eeaa2cbcd2f38299680c4707a73a8f32ee19b054cd131a2b09600bac30b8530af35142694ff7
diff --git a/www-client/opera/opera-111.0.5168.25.ebuild b/www-client/opera/opera-111.0.5168.43.ebuild
index 0de1bebfcf29..0de1bebfcf29 100644
--- a/www-client/opera/opera-111.0.5168.25.ebuild
+++ b/www-client/opera/opera-111.0.5168.43.ebuild