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