From f29a41111b3a606f5d95049b1ba92daabbc68cc0 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 5 Jan 2023 12:08:58 +0000 Subject: gentoo auto-resync : 05:01:2023 - 12:08:57 --- www-client/Manifest.gz | Bin 6199 -> 6203 bytes www-client/chromium/Manifest | 4 +- www-client/chromium/chromium-109.0.5414.61.ebuild | 1235 ------------------ www-client/chromium/chromium-109.0.5414.74.ebuild | 1235 ++++++++++++++++++ www-client/firefox-bin/Manifest | 198 +-- www-client/firefox-bin/firefox-bin-108.0.1.ebuild | 377 ------ www-client/firefox-bin/firefox-bin-108.0.2.ebuild | 377 ++++++ www-client/firefox/Manifest | 398 ++---- www-client/firefox/firefox-107.0.1.ebuild | 1328 ------------------- www-client/firefox/firefox-108.0.1.ebuild | 1330 ------------------- www-client/firefox/firefox-108.0.2.ebuild | 1331 ++++++++++++++++++++ www-client/firefox/firefox-108.0.ebuild | 1330 ------------------- www-client/google-chrome-beta/Manifest | 4 +- .../google-chrome-beta-109.0.5414.61.ebuild | 128 -- .../google-chrome-beta-109.0.5414.74.ebuild | 128 ++ www-client/microsoft-edge-dev/Manifest | 4 +- .../microsoft-edge-dev-109.0.1518.12-r1.ebuild | 123 -- .../microsoft-edge-dev-110.0.1587.1.ebuild | 123 ++ 18 files changed, 3398 insertions(+), 6255 deletions(-) delete mode 100644 www-client/chromium/chromium-109.0.5414.61.ebuild create mode 100644 www-client/chromium/chromium-109.0.5414.74.ebuild delete mode 100644 www-client/firefox-bin/firefox-bin-108.0.1.ebuild create mode 100644 www-client/firefox-bin/firefox-bin-108.0.2.ebuild delete mode 100644 www-client/firefox/firefox-107.0.1.ebuild delete mode 100644 www-client/firefox/firefox-108.0.1.ebuild create mode 100644 www-client/firefox/firefox-108.0.2.ebuild delete mode 100644 www-client/firefox/firefox-108.0.ebuild delete mode 100644 www-client/google-chrome-beta/google-chrome-beta-109.0.5414.61.ebuild create mode 100644 www-client/google-chrome-beta/google-chrome-beta-109.0.5414.74.ebuild delete mode 100644 www-client/microsoft-edge-dev/microsoft-edge-dev-109.0.1518.12-r1.ebuild create mode 100644 www-client/microsoft-edge-dev/microsoft-edge-dev-110.0.1587.1.ebuild (limited to 'www-client') diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz index de8b10efc11b..c1691ec58b51 100644 Binary files a/www-client/Manifest.gz and b/www-client/Manifest.gz differ diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index c47b8196da84..64aa99a82073 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -18,12 +18,12 @@ AUX ppc64le/libpng-pdfium-compile-98.patch 412 BLAKE2B 0a2907e1c01696fb41b039de1 DIST chromium-108-patchset-2.tar.xz 6480 BLAKE2B 2a40bb741fdd305b3525b790f82c2b36f6c909680788527a31aa2a11f519ff630aa12ffe7c53553b717f1909978c77e7db07a02a86c8e7d12d63375402802d7a SHA512 3fe182f0f928baaf0f5521efa8763080de765240b5608d5126e84e49335eb5edc788ab406aa71f5fa97c371afe1f6808e93e2e082c7f65169b5f157ff6c3e00b DIST chromium-108.0.5359.124.tar.xz 1731649648 BLAKE2B 1e5d2f58eab7303a8feaba105fc6739be69f27543876cc24a8ca21076461c6b5bb032f0ca29f79119d58487a62206647623dd52970f21a1ca1247b17c7a14f16 SHA512 e9bbe2c3d376265449216cc2f6f8ab1c94871387e1bf12f0af28b8d3bce299cee751b20283b1c832e887e38459d7928e8e8c0c8027514cba48a64cc15f8762a6 DIST chromium-109-patchset-1.tar.xz 5736 BLAKE2B 25131fd64ef3d95920bd1c74dc16fd33322e166542bd4f4c279c0f6394b0c32ad95da1d864adc78a99f0f62aefbac36cd2ace553354252e0d8440b16c9aca0c4 SHA512 d4a6beecff2f8de07c7e96fdfe75a8e7a34e97a4d349c055a30b08917a85c01db05c77c086f6247d5714bfff38ee8d1feb9e607538af880db13ca4327bdf460b -DIST chromium-109.0.5414.61.tar.xz 1748673148 BLAKE2B 6cbdae8d53426ba3e68f9f0bdcd94cadf127e9bce287b3c258b01244558221bfb7480a2cb3cb9ab35fa751a46b99f56363429eba6482e8c16389b29e635d1fed SHA512 806c52679490022cfbaeba75675b29d0d852bd0cea45476bb14759b3a49e36a8d9eb44ca9afe3fe0d88fad858f6db67045723f3a5a41950da024a8f70bb7212e +DIST chromium-109.0.5414.74.tar.xz 1747778008 BLAKE2B dc2893c59398caf72546c42ada961215ce1b25785da66272b72fe14ac0db00ac4282b0de5ee65cca932e273fe69f41704b4ee2aa173d21da535708e8d0aab633 SHA512 79ff744b813e833ab4f257361a2f1847a57df579b9c925bad7575484f079c4c1b0b1c59c2c48e683bcee27a79e4bfd87f96c83fa28e0209ba4d3a71340842579 DIST chromium-110-patchset-1.tar.xz 10856 BLAKE2B 6d3a89e243c670cb5283c4f77fe8ddb6218a5e8483868b220b6f78f09caa1f9c2ac77e6199b6018098951d4993420debac090a6890c971e9fe1a0a3fb48fdb35 SHA512 32908e7a036dfb6d15c59077200d5b924bc3622e6a06433c5eb31e493d099073adb0d75b48a727fdefc84078505eae143ba2f17f72c726342f868155fdfc990c DIST chromium-110.0.5478.4.tar.xz 1702030384 BLAKE2B 8786705ca668056d36a899887731c34b6eda60916741263c0cc73ca195845ee397f175dbc07bf02b70585c2d824a8d8fcf3ec5999beb69f18b74855f01b2f525 SHA512 a7e525b9c3145596de7f16a59605a59c0a7f8c30172379213cc6aac21ed9a820ce79c166e58e2d17d0262f396541c9bfda1629bcc8baaef0a9e101a48e087f99 DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c DIST chromium_108.0.5359.71-2raptor0~deb11u1.debian.tar.xz 439020 BLAKE2B ef900e3978b03c7330147b338266694f2ea4bafee8a34fb871bd7548a05c9276c25e8c34dd26875ca552db758590c4e4a80ae411c2fe658e485d9dca6e55adae SHA512 99486b35c5eb718e25faaddd526970969f5d8c4c74f3c17f64f6fbe25f45a0764643bf746644b205ac27d13912f36eba6f497a0552d7d96d1af4a569d895e64c EBUILD chromium-108.0.5359.124.ebuild 38689 BLAKE2B bee7526fa917c57a74d35901a6a719a631275504f3b0a81c90b56103c64e7e5e0e4556926d38ff56cab90f262d8a27cb03ed5d9f93b356a9f01a3d81589716f3 SHA512 a1a5055cd5df439cc1af97a6832b08a543adc9cddefec51c64e8c3f6197584cab91ae2dce0d38345505fb90d8f7acdc0f132c9cae80a50929137b3f7d9727423 -EBUILD chromium-109.0.5414.61.ebuild 38304 BLAKE2B f3f34c4e115710670ea49555267850a70e3407f9a09cc20148fff61c923bb67b13ff2c44f5c98d9c8473d595f07d9d8022ce5dcfdb576e2aa670aa36db3a8bfc SHA512 c202008f2983513c4e3db02095d04c8eb46bd40eba90d8eff3d852143797b5948414eb24d0a0ccfe81c6cb723e47830a3fc9308b8a35ef2588240caf40fc6326 +EBUILD chromium-109.0.5414.74.ebuild 38304 BLAKE2B 00ed103ae07e693bec03dbb83911c5415e4cda10a86f15ab7a137dd1b5740444a88355f3a9395fb12ed42901c8f8eb5c4acd55b7d419f9100a42ee3d19d0ed37 SHA512 5ac9c373346f1262ae68c1523ea89d7245fe58d47e8507fb0d9ba675d8178d42e03e9c0c1d180ed9423f00ac6b33d0b134097f256cb85da4afa56411c2519f3c EBUILD chromium-110.0.5478.4.ebuild 38148 BLAKE2B b92fc49633abacb5dd387c9acc951c9f52b31e0417b4e55de5e5f5883d9cd3d9eec3af57b5b78433da66df4d63956024b57371e1192dffa1816a3b173a68195a SHA512 9d4d59882728a81c8f9bf1b341fa99283b94996f0d59fabbdffaa647f2e9a9f6bdfc794db4170ce5b59d22baef084ea3bff3ab02336a09a94ca5f8f5625a6dbf MISC metadata.xml 2216 BLAKE2B 4cf7512e95f4ac85e73b20acee35f5dbe6eb7744fa3b82d6ec09d92e76ddc61d67cc3a43fd82d02326c5a9364e1ca9c5e733a814b85e4d35ad3fec8239ab3917 SHA512 db3bae20b7b70026dddaff8a1154d99dc99ff1779bcb47c05d5f1172763cf2139edc4708f84c2017b6a57fdb18d3f59bdd3ec474f2c04def30405ac584929c5f diff --git a/www-client/chromium/chromium-109.0.5414.61.ebuild b/www-client/chromium/chromium-109.0.5414.61.ebuild deleted file mode 100644 index b3feb1622ded..000000000000 --- a/www-client/chromium/chromium-109.0.5414.61.ebuild +++ /dev/null @@ -1,1235 +0,0 @@ -# Copyright 2009-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..11} ) -PYTHON_REQ_USE="xml(+)" -LLVM_MAX_SLOT=15 - -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" - -VIRTUALX_REQUIRED="pgo" - -inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -PATCHSET="1" -PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz - pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" - -LICENSE="BSD" -SLOT="0/beta" -KEYWORDS="~amd64 ~arm64" -IUSE="+X component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless +js-type-check kerberos libcxx lto +official pgo pic +proprietary-codecs pulseaudio qt5 screencast selinux +suid +system-av1 +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid !libcxx ) - screencast? ( wayland ) - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) -" - -COMMON_X_DEPEND=" - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= -" - -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-71.1:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - !libcxx? ( >=dev-libs/re2-0.2019.08.01:= ) - 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(-)] ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - system-av1? ( - >=media-libs/dav1d-1.0.0:= - >=media-libs/libaom-3.4.0:= - ) - sys-libs/zlib:= - x11-libs/libdrm:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-sound/pulseaudio:= ) - sys-apps/pciutils:= - kerberos? ( virtual/krb5 ) - vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) - X? ( - x11-libs/libX11:= - x11-libs/libXext:= - x11-libs/libxcb:= - ) - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - 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 - ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[X?,wayland?] - ) - qt5? ( dev-qt/qtgui:5[X?,wayland?] ) - x11-misc/xdg-utils - ) - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -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*" -} - -depend_clang_llvm_versions() { - local _v - if [[ $# -gt 1 ]]; then - echo "|| (" - for _v in "$@"; do - echo "(" - depend_clang_llvm_version "${_v}" - echo ")" - done - echo ")" - elif [[ $# -eq 1 ]]; then - depend_clang_llvm_version "$1" - 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 ) - ) - libcxx? ( >=sys-devel/clang-13 ) - lto? ( $(depend_clang_llvm_versions 13 14 15) ) - pgo? ( - >=dev-python/selenium-3.141.0 - >=dev-util/web_page_replay_go-20220314 - $(depend_clang_llvm_versions 13 14 15) - ) - dev-lang/perl - >=dev-util/gn-0.1807 - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - dev-vcs/git - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-13" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -needs_clang() { - [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo -} - -llvm_check_deps() { - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then - einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - [[ ${EBUILD_PHASE_FUNC} == pkg_setup ]] && ( use lto || use pgo ) && llvm_pkg_setup - - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 10.4; then - die "At least gcc 10.4 is required" - fi - if use pgo && tc-is-cross-compiler; then - die "The pgo USE flag cannot be used when cross-compiling" - fi - if needs_clang || tc-is-clang; then - tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++ - CPP+=" -E" - if ! ver_test "$(clang-major-version)" -ge 13; then - die "At least clang 13 is required" - fi - fi - if [[ ${EBUILD_PHASE_FUNC} == pkg_setup ]] && use js-type-check; then - "${BROOT}"/usr/bin/java -version 2>1 > /dev/null || die "Java VM not setup correctly" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="12G" - tc-is-cross-compiler && CHECKREQS_DISK_BUILD="14G" - if use lto || use pgo; then - CHECKREQS_MEMORY="9G" - CHECKREQS_DISK_BUILD="13G" - tc-is-cross-compiler && CHECKREQS_DISK_BUILD="16G" - use pgo && CHECKREQS_DISK_BUILD="20G" - fi - if is-flagq '-g?(gdb)?([1-9])'; then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_${EBUILD_PHASE_FUNC} -} - -pkg_pretend() { - pre_build_checks - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set." - done - fi -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # some web pages are crashing - if use system-icu; then - sed -i -e \ - "/\"TextCodecCJKEnabled\",/{n;s/ENABLED/DISABLED/;}" \ - "third_party/blink/common/features.cc" || die - fi - - # disable global media controls, crashes with libstdc++ - sed -i -e \ - "/\"GlobalMediaControlsCastStartStop\",/{n;s/ENABLED/DISABLED/;}" \ - "third_party/blink/common/features.cc" || die - - local PATCHES=( - "${WORKDIR}/patches" - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-98-gtk4-build.patch" - "${FILESDIR}/chromium-108-EnumTable-crash.patch" - "${FILESDIR}/chromium-109-system-zlib.patch" - "${FILESDIR}/chromium-109-system-openh264.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - "${FILESDIR}/chromium-cross-compile.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local keeplibs=( - base/third_party/cityhash - base/third_party/double_conversion - base/third_party/dynamic_annotations - base/third_party/icu - base/third_party/nspr - base/third_party/superfasthash - base/third_party/symbolize - base/third_party/valgrind - base/third_party/xdg_mime - base/third_party/xdg_user_dirs - buildtools/third_party/libc++ - buildtools/third_party/libc++abi - chrome/third_party/mozilla_security_manager - courgette/third_party - net/third_party/mozilla_security_manager - net/third_party/nss - net/third_party/quic - net/third_party/uri_template - third_party/abseil-cpp - third_party/angle - third_party/angle/src/common/third_party/base - third_party/angle/src/common/third_party/smhasher - third_party/angle/src/common/third_party/xxhash - third_party/angle/src/third_party/libXNVCtrl - third_party/angle/src/third_party/trace_event - third_party/angle/src/third_party/volk - third_party/apple_apsl - third_party/axe-core - third_party/blink - third_party/bidimapper - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/catapult - third_party/catapult/common/py_vulcanize/third_party/rcssmin - third_party/catapult/common/py_vulcanize/third_party/rjsmin - third_party/catapult/third_party/beautifulsoup4-4.9.3 - third_party/catapult/third_party/html5lib-1.1 - third_party/catapult/third_party/polymer - third_party/catapult/third_party/six - third_party/catapult/tracing/third_party/d3 - third_party/catapult/tracing/third_party/gl-matrix - third_party/catapult/tracing/third_party/jpeg-js - third_party/catapult/tracing/third_party/jszip - third_party/catapult/tracing/third_party/mannwhitneyu - third_party/catapult/tracing/third_party/oboe - third_party/catapult/tracing/third_party/pako - third_party/ced - third_party/cld_3 - third_party/closure_compiler - third_party/content_analysis_sdk - third_party/cpuinfo - third_party/crashpad - third_party/crashpad/crashpad/third_party/lss - third_party/crashpad/crashpad/third_party/zlib - third_party/crc32c - third_party/cros_system_api - third_party/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/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-html - 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/wasmparser - third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n - third_party/devtools-frontend/src/third_party - third_party/distributed_point_functions - third_party/dom_distiller_js - third_party/eigen3 - third_party/emoji-segmenter - third_party/farmhash - third_party/fdlibm - third_party/fft2d - third_party/flatbuffers - third_party/fp16 - third_party/freetype - third_party/fusejs - third_party/fxdiv - third_party/highway - third_party/liburlpattern - third_party/libzip - third_party/gemmlowp - third_party/google_input_tools - third_party/google_input_tools/third_party/closure_library - third_party/google_input_tools/third_party/closure_library/third_party/closure - third_party/googletest - third_party/hunspell - third_party/iccjpeg - third_party/inspector_protocol - third_party/ipcz - third_party/jinja2 - third_party/jsoncpp - third_party/jstemplate - third_party/khronos - third_party/leveldatabase - third_party/libaddressinput - third_party/libavif - third_party/libevent - third_party/libgav1 - third_party/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libva_protected_content - third_party/libvpx - third_party/libvpx/source/libvpx/third_party/x86inc - third_party/libwebm - third_party/libx11 - third_party/libxcb-keysyms - third_party/libxml/chromium - third_party/libyuv - third_party/llvm - third_party/lottie - third_party/lss - third_party/lzma_sdk - third_party/mako - third_party/maldoca - third_party/maldoca/src/third_party/tensorflow_protos - third_party/maldoca/src/third_party/zlibwrapper - third_party/markupsafe - third_party/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/mozilla - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/ots - third_party/pdfium - third_party/pdfium/third_party/agg23 - third_party/pdfium/third_party/base - 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/libpng16 - third_party/pdfium/third_party/libtiff - third_party/pdfium/third_party/skia_shared - third_party/perfetto - third_party/perfetto/protos/third_party/chromium - third_party/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/private_membership - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pthreadpool - third_party/pyjson5 - third_party/pyyaml - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/securemessage - third_party/selenium-atoms - third_party/shell-encryption - third_party/simplejson - third_party/skia - third_party/skia/include/third_party/vulkan - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/snappy - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/astc-encoder - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/marl - third_party/swiftshader/third_party/subzero - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv - third_party/swiftshader/third_party/SPIRV-Tools - third_party/tensorflow_models - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ruy - third_party/six - third_party/ukey2 - third_party/unrar - third_party/utf - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webgpu-cts - third_party/webrtc - third_party/webrtc/common_audio/third_party/ooura - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/modules/third_party/fft - third_party/webrtc/modules/third_party/g711 - third_party/webrtc/modules/third_party/g722 - third_party/webrtc/rtc_base/third_party/base64 - third_party/webrtc/rtc_base/third_party/sigslot - third_party/widevine - third_party/woff2 - third_party/wuffs - third_party/x11proto - third_party/xcbproto - third_party/xnnpack - third_party/zxcvbn-cpp - third_party/zlib/google - url/third_party/mozilla - v8/src/third_party/siphash - v8/src/third_party/valgrind - v8/src/third_party/utf8-decoder - v8/third_party/inspector_protocol - v8/third_party/v8 - - # gyp -> gn leftovers - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - if ! use system-av1; then - keeplibs+=( - third_party/dav1d - 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 - ) - fi - if ! use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use libcxx; then - keeplibs+=( third_party/re2 ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - 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 - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \ - 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 - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # 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="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if needs_clang && ! tc-is-clang; then - # Force clang since gcc is either broken or build is using libcxx. - if tc-is-cross-compiler; then - CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}" - CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}" - BUILD_CC=${CBUILD}-clang - BUILD_CXX=${CBUILD}-clang++ - else - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - fi - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Force lld for lto or pgo builds only, otherwise disable, bug 641556 - if use lto || use pgo; then - myconf_gn+=" use_lld=true" - else - myconf_gn+=" use_lld=false" - fi - - if use lto || use pgo; then - AR=llvm-ar - NM=llvm-nm - if tc-is-cross-compiler; then - BUILD_AR=llvm-ar - BUILD_NM=llvm-nm - fi - fi - - # Define a custom toolchain for GN - 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 - - # 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=$(usex component-build true 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-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if use system-av1; then - gn_system_libraries+=( dav1d libaom ) - fi - # re2 library interface relies on std::string and std::vector - if ! use libcxx; then - gn_system_libraries+=( re2 ) - 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)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - 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 - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false" - myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)" - - # 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" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # 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 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; 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 = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - die "Failed to determine target arch, got '$myarch'." - fi - - # Make sure that -Werror doesn't get added to CFLAGS by the build system. - # Depending on GCC version the warnings are different and we don't want - # the build to fail because of that. - myconf_gn+=" treat_warnings_as_errors=false" - - # Disable fatal linker warnings, bug 506268. - myconf_gn+=" fatal_linker_warnings=false" - - # Disable external code space for V8 for ppc64. It is disabled for ppc64 - # by default, but cross-compiling on amd64 enables it again. - if tc-is-cross-compiler; then - if ! use amd64 && ! use arm64; then - myconf_gn+=" v8_enable_external_code_space=false" - fi - fi - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Disable unknown warning message from clang. - if tc-is-clang; then - append-flags -Wno-unknown-warning-option - if tc-is-cross-compiler; then - export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" - export BUILD_CFLAGS+=" -Wno-unknown-warning-option" - fi - fi - - # Explicitly disable ICU data file support for system-icu/headless builds. - if use system-icu || use headless; then - myconf_gn+=" icu_use_data_file=false" - fi - - # 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; then - local moc_dir="$(qt5_get_bindir)" - 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} - moc_dir="${EPREFIX}"/${cbuild_libdir/% }/qt5/bin - fi - export PATH="${PATH}:${moc_dir}" - fi - myconf_gn+=" use_qt=$(usex qt5 true false)" - 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\")" - if use wayland; then - myconf_gn+=" use_system_libwayland=true" - myconf_gn+=" use_system_wayland_scanner=true" - fi - fi - - # Results in undefined references in chrome linking, may require CFI to work - if use arm64; then - myconf_gn+=" arm_control_flow_integrity=\"none\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=$(usex lto true false)" - myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)" - if use official; then - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ - tools/generate_shim_headers/generate_shim_headers.py || die - # Disable CFI: unsupported for GCC, requires clang+lto+lld - myconf_gn+=" is_cfi=false" - # Don't add symbols to build - myconf_gn+=" symbol_level=0" - fi - - if use pgo; then - myconf_gn+=" chrome_pgo_phase=${1}" - if [[ "$1" == "2" ]]; then - myconf_gn+=" pgo_data_path=\"${2}\"" - fi - else - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639 - if use arm64 && tc-is-gcc; then - sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \ - third_party/crc32c/src/src/crc32c_arm64.cc || die - fi - - # skipping typecheck is only supported on amd64, bug #876157 - if ! use amd64; then - myconf_gn+=" devtools_skip_typecheck=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_configure() { - chromium_configure $(usex pgo 1 0) -} - -chromium_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - # Build mksnapshot and pax-mark it. - 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 - - # 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 - use suid && eninja -C out/Release chrome_sandbox - - 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_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - 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 - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - 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 - fi -} diff --git a/www-client/chromium/chromium-109.0.5414.74.ebuild b/www-client/chromium/chromium-109.0.5414.74.ebuild new file mode 100644 index 000000000000..c740692317ab --- /dev/null +++ b/www-client/chromium/chromium-109.0.5414.74.ebuild @@ -0,0 +1,1235 @@ +# Copyright 2009-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{8..11} ) +PYTHON_REQ_USE="xml(+)" +LLVM_MAX_SLOT=15 + +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" + +VIRTUALX_REQUIRED="pgo" + +inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils + +DESCRIPTION="Open-source version of Google Chrome web browser" +HOMEPAGE="https://chromium.org/" +PATCHSET="1" +PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}" +SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz + https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz + pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" + +LICENSE="BSD" +SLOT="0/beta" +KEYWORDS="~amd64 ~arm64" +IUSE="+X component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless +js-type-check kerberos libcxx lto +official pgo pic +proprietary-codecs pulseaudio qt5 screencast selinux +suid +system-av1 +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" +REQUIRED_USE=" + component-build? ( !suid !libcxx ) + screencast? ( wayland ) + !headless? ( || ( X wayland ) ) + pgo? ( X !wayland ) +" + +COMMON_X_DEPEND=" + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXtst:= + x11-libs/libxshmfence:= +" + +COMMON_SNAPSHOT_DEPEND=" + system-icu? ( >=dev-libs/icu-71.1:= ) + >=dev-libs/libxml2-2.9.4-r3:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + !libcxx? ( >=dev-libs/re2-0.2019.08.01:= ) + 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(-)] ) + >=media-libs/libwebp-0.4.0:= + media-libs/mesa:=[gbm(+)] + >=media-libs/openh264-1.6.0:= + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-3.4.0:= + ) + sys-libs/zlib:= + x11-libs/libdrm:= + !headless? ( + dev-libs/glib:2 + >=media-libs/alsa-lib-1.0.19:= + pulseaudio? ( media-sound/pulseaudio:= ) + sys-apps/pciutils:= + kerberos? ( virtual/krb5 ) + vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) + X? ( + x11-libs/libX11:= + x11-libs/libXext:= + x11-libs/libxcb:= + ) + x11-libs/libxkbcommon:= + wayland? ( + dev-libs/wayland:= + screencast? ( media-video/pipewire:= ) + ) + ) +" + +COMMON_DEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + app-arch/bzip2:= + dev-libs/expat:= + system-ffmpeg? ( + >=media-video/ffmpeg-4.3:= + || ( + media-video/ffmpeg[-samba] + >=net-fs/samba-4.5.10-r1[-debug(-)] + ) + >=media-libs/opus-1.3.1:= + ) + 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 + ) + ) +" +RDEPEND="${COMMON_DEPEND} + !headless? ( + || ( + x11-libs/gtk+:3[X?,wayland?] + gui-libs/gtk:4[X?,wayland?] + ) + qt5? ( dev-qt/qtgui:5[X?,wayland?] ) + x11-misc/xdg-utils + ) + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) +" +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*" +} + +depend_clang_llvm_versions() { + local _v + if [[ $# -gt 1 ]]; then + echo "|| (" + for _v in "$@"; do + echo "(" + depend_clang_llvm_version "${_v}" + echo ")" + done + echo ")" + elif [[ $# -eq 1 ]]; then + depend_clang_llvm_version "$1" + 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 ) + ) + libcxx? ( >=sys-devel/clang-13 ) + lto? ( $(depend_clang_llvm_versions 13 14 15) ) + pgo? ( + >=dev-python/selenium-3.141.0 + >=dev-util/web_page_replay_go-20220314 + $(depend_clang_llvm_versions 13 14 15) + ) + dev-lang/perl + >=dev-util/gn-0.1807 + >=dev-util/gperf-3.0.3 + >=dev-util/ninja-1.7.2 + dev-vcs/git + >=net-libs/nodejs-7.6.0[inspector] + >=sys-devel/bison-2.4.3 + sys-devel/flex + virtual/pkgconfig + js-type-check? ( virtual/jre ) +" + +# These are intended for ebuild maintainer use to force clang if GCC is broken. +: ${CHROMIUM_FORCE_CLANG=no} + +if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then + BDEPEND+=" >=sys-devel/clang-13" +fi + +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then + EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; +fi + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS=" +Some web pages may require additional fonts to display properly. +Try installing some of the following packages if some characters +are not displayed properly: +- media-fonts/arphicfonts +- media-fonts/droid +- media-fonts/ipamonafont +- media-fonts/noto +- media-fonts/ja-ipafonts +- media-fonts/takao-fonts +- media-fonts/wqy-microhei +- media-fonts/wqy-zenhei + +To fix broken icons on the Downloads page, you should install an icon +theme that covers the appropriate MIME types, and configure this as your +GTK+ icon theme. + +For native file dialogs in KDE, install kde-apps/kdialog. + +To make password storage work with your desktop environment you may +have install one of the supported credentials management applications: +- app-crypt/libsecret (GNOME) +- kde-frameworks/kwallet (KDE) +If you have one of above packages installed, but don't want to use +them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS +in /etc/chromium/default. +" + +python_check_deps() { + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" +} + +needs_clang() { + [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo +} + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +pre_build_checks() { + if [[ ${MERGE_TYPE} != binary ]]; then + [[ ${EBUILD_PHASE_FUNC} == pkg_setup ]] && ( use lto || use pgo ) && llvm_pkg_setup + + local -x CPP="$(tc-getCXX) -E" + if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 10.4; then + die "At least gcc 10.4 is required" + fi + if use pgo && tc-is-cross-compiler; then + die "The pgo USE flag cannot be used when cross-compiling" + fi + if needs_clang || tc-is-clang; then + tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++ + CPP+=" -E" + if ! ver_test "$(clang-major-version)" -ge 13; then + die "At least clang 13 is required" + fi + fi + if [[ ${EBUILD_PHASE_FUNC} == pkg_setup ]] && use js-type-check; then + "${BROOT}"/usr/bin/java -version 2>1 > /dev/null || die "Java VM not setup correctly" + fi + fi + + # Check build requirements, bug #541816 and bug #471810 . + CHECKREQS_MEMORY="4G" + CHECKREQS_DISK_BUILD="12G" + tc-is-cross-compiler && CHECKREQS_DISK_BUILD="14G" + if use lto || use pgo; then + CHECKREQS_MEMORY="9G" + CHECKREQS_DISK_BUILD="13G" + tc-is-cross-compiler && CHECKREQS_DISK_BUILD="16G" + use pgo && CHECKREQS_DISK_BUILD="20G" + fi + if is-flagq '-g?(gdb)?([1-9])'; then + if use custom-cflags || use component-build; then + CHECKREQS_DISK_BUILD="25G" + fi + if ! use component-build; then + CHECKREQS_MEMORY="16G" + fi + fi + check-reqs_${EBUILD_PHASE_FUNC} +} + +pkg_pretend() { + pre_build_checks + + if use headless; then + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "vaapi" "wayland") + for myiuse in ${headless_unused_flags[@]}; do + use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set." + done + fi +} + +pkg_setup() { + pre_build_checks + + chromium_suid_sandbox_check_kernel_config + + # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams + if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then + ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" + ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." + fi +} + +src_prepare() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # some web pages are crashing + if use system-icu; then + sed -i -e \ + "/\"TextCodecCJKEnabled\",/{n;s/ENABLED/DISABLED/;}" \ + "third_party/blink/common/features.cc" || die + fi + + # disable global media controls, crashes with libstdc++ + sed -i -e \ + "/\"GlobalMediaControlsCastStartStop\",/{n;s/ENABLED/DISABLED/;}" \ + "third_party/blink/common/features.cc" || die + + local PATCHES=( + "${WORKDIR}/patches" + "${FILESDIR}/chromium-93-InkDropHost-crash.patch" + "${FILESDIR}/chromium-98-gtk4-build.patch" + "${FILESDIR}/chromium-108-EnumTable-crash.patch" + "${FILESDIR}/chromium-109-system-zlib.patch" + "${FILESDIR}/chromium-109-system-openh264.patch" + "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" + "${FILESDIR}/chromium-shim_headers.patch" + "${FILESDIR}/chromium-cross-compile.patch" + ) + + default + + mkdir -p third_party/node/linux/node-linux-x64/bin || die + ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die + + # adjust python interpreter version + sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die + + local keeplibs=( + base/third_party/cityhash + base/third_party/double_conversion + base/third_party/dynamic_annotations + base/third_party/icu + base/third_party/nspr + base/third_party/superfasthash + base/third_party/symbolize + base/third_party/valgrind + base/third_party/xdg_mime + base/third_party/xdg_user_dirs + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + chrome/third_party/mozilla_security_manager + courgette/third_party + net/third_party/mozilla_security_manager + net/third_party/nss + net/third_party/quic + net/third_party/uri_template + third_party/abseil-cpp + third_party/angle + third_party/angle/src/common/third_party/base + third_party/angle/src/common/third_party/smhasher + third_party/angle/src/common/third_party/xxhash + third_party/angle/src/third_party/libXNVCtrl + third_party/angle/src/third_party/trace_event + third_party/angle/src/third_party/volk + third_party/apple_apsl + third_party/axe-core + third_party/blink + third_party/bidimapper + third_party/boringssl + third_party/boringssl/src/third_party/fiat + third_party/breakpad + third_party/breakpad/breakpad/src/third_party/curl + third_party/brotli + third_party/catapult + third_party/catapult/common/py_vulcanize/third_party/rcssmin + third_party/catapult/common/py_vulcanize/third_party/rjsmin + third_party/catapult/third_party/beautifulsoup4-4.9.3 + third_party/catapult/third_party/html5lib-1.1 + third_party/catapult/third_party/polymer + third_party/catapult/third_party/six + third_party/catapult/tracing/third_party/d3 + third_party/catapult/tracing/third_party/gl-matrix + third_party/catapult/tracing/third_party/jpeg-js + third_party/catapult/tracing/third_party/jszip + third_party/catapult/tracing/third_party/mannwhitneyu + third_party/catapult/tracing/third_party/oboe + third_party/catapult/tracing/third_party/pako + third_party/ced + third_party/cld_3 + third_party/closure_compiler + third_party/content_analysis_sdk + third_party/cpuinfo + third_party/crashpad + third_party/crashpad/crashpad/third_party/lss + third_party/crashpad/crashpad/third_party/zlib + third_party/crc32c + third_party/cros_system_api + third_party/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/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-html + 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/wasmparser + third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n + third_party/devtools-frontend/src/third_party + third_party/distributed_point_functions + third_party/dom_distiller_js + third_party/eigen3 + third_party/emoji-segmenter + third_party/farmhash + third_party/fdlibm + third_party/fft2d + third_party/flatbuffers + third_party/fp16 + third_party/freetype + third_party/fusejs + third_party/fxdiv + third_party/highway + third_party/liburlpattern + third_party/libzip + third_party/gemmlowp + third_party/google_input_tools + third_party/google_input_tools/third_party/closure_library + third_party/google_input_tools/third_party/closure_library/third_party/closure + third_party/googletest + third_party/hunspell + third_party/iccjpeg + third_party/inspector_protocol + third_party/ipcz + third_party/jinja2 + third_party/jsoncpp + third_party/jstemplate + third_party/khronos + third_party/leveldatabase + third_party/libaddressinput + third_party/libavif + third_party/libevent + third_party/libgav1 + third_party/libjingle + third_party/libjxl + third_party/libphonenumber + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/libudev + third_party/libva_protected_content + third_party/libvpx + third_party/libvpx/source/libvpx/third_party/x86inc + third_party/libwebm + third_party/libx11 + third_party/libxcb-keysyms + third_party/libxml/chromium + third_party/libyuv + third_party/llvm + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + third_party/maldoca + third_party/maldoca/src/third_party/tensorflow_protos + third_party/maldoca/src/third_party/zlibwrapper + third_party/markupsafe + third_party/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/mozilla + third_party/openscreen/src/third_party/tinycbor/src/src + third_party/ots + third_party/pdfium + third_party/pdfium/third_party/agg23 + third_party/pdfium/third_party/base + 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/libpng16 + third_party/pdfium/third_party/libtiff + third_party/pdfium/third_party/skia_shared + third_party/perfetto + third_party/perfetto/protos/third_party/chromium + third_party/pffft + third_party/ply + third_party/polymer + third_party/private-join-and-compute + third_party/private_membership + third_party/protobuf + third_party/protobuf/third_party/six + third_party/pthreadpool + third_party/pyjson5 + third_party/pyyaml + third_party/qcms + third_party/rnnoise + third_party/s2cellid + third_party/securemessage + third_party/selenium-atoms + third_party/shell-encryption + third_party/simplejson + third_party/skia + third_party/skia/include/third_party/vulkan + third_party/skia/third_party/vulkan + third_party/smhasher + third_party/snappy + third_party/sqlite + third_party/swiftshader + third_party/swiftshader/third_party/astc-encoder + third_party/swiftshader/third_party/llvm-subzero + third_party/swiftshader/third_party/marl + third_party/swiftshader/third_party/subzero + third_party/swiftshader/third_party/SPIRV-Headers/include/spirv + third_party/swiftshader/third_party/SPIRV-Tools + third_party/tensorflow_models + third_party/tensorflow-text + third_party/tflite + third_party/tflite/src/third_party/eigen3 + third_party/tflite/src/third_party/fft2d + third_party/ruy + third_party/six + third_party/ukey2 + third_party/unrar + third_party/utf + third_party/vulkan + third_party/web-animations-js + third_party/webdriver + third_party/webgpu-cts + third_party/webrtc + third_party/webrtc/common_audio/third_party/ooura + third_party/webrtc/common_audio/third_party/spl_sqrt_floor + third_party/webrtc/modules/third_party/fft + third_party/webrtc/modules/third_party/g711 + third_party/webrtc/modules/third_party/g722 + third_party/webrtc/rtc_base/third_party/base64 + third_party/webrtc/rtc_base/third_party/sigslot + third_party/widevine + third_party/woff2 + third_party/wuffs + third_party/x11proto + third_party/xcbproto + third_party/xnnpack + third_party/zxcvbn-cpp + third_party/zlib/google + url/third_party/mozilla + v8/src/third_party/siphash + v8/src/third_party/valgrind + v8/src/third_party/utf8-decoder + v8/third_party/inspector_protocol + v8/third_party/v8 + + # gyp -> gn leftovers + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils + ) + if ! use system-ffmpeg; then + keeplibs+=( third_party/ffmpeg third_party/opus ) + fi + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + if ! use system-png; then + keeplibs+=( third_party/libpng ) + fi + if ! use system-av1; then + keeplibs+=( + third_party/dav1d + 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 + ) + fi + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz-ng ) + fi + if use libcxx; then + keeplibs+=( third_party/re2 ) + fi + if use wayland && ! use headless ; then + keeplibs+=( third_party/wayland ) + fi + 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 + sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \ + 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 + + # Remove most bundled libraries. Some are still needed. + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die + + if use js-type-check; then + ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die + fi + + # 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="" + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + if needs_clang && ! tc-is-clang; then + # Force clang since gcc is either broken or build is using libcxx. + if tc-is-cross-compiler; then + CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}" + CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}" + BUILD_CC=${CBUILD}-clang + BUILD_CXX=${CBUILD}-clang++ + else + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + fi + strip-unsupported-flags + fi + + if tc-is-clang; then + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" + else + myconf_gn+=" is_clang=false" + fi + + # Force lld for lto or pgo builds only, otherwise disable, bug 641556 + if use lto || use pgo; then + myconf_gn+=" use_lld=true" + else + myconf_gn+=" use_lld=false" + fi + + if use lto || use pgo; then + AR=llvm-ar + NM=llvm-nm + if tc-is-cross-compiler; then + BUILD_AR=llvm-ar + BUILD_NM=llvm-nm + fi + fi + + # Define a custom toolchain for GN + 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 + + # 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=$(usex component-build true 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-ffmpeg; then + gn_system_libraries+=( ffmpeg opus ) + fi + if use system-icu; then + gn_system_libraries+=( icu ) + fi + if use system-png; then + gn_system_libraries+=( libpng ) + fi + if use system-av1; then + gn_system_libraries+=( dav1d libaom ) + fi + # re2 library interface relies on std::string and std::vector + if ! use libcxx; then + gn_system_libraries+=( re2 ) + 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)" + + # Disable deprecated libgnome-keyring dependency, bug #713012 + myconf_gn+=" use_gnome_keyring=false" + + # Optional dependencies. + myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" + 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 + + # TODO: link_pulseaudio=true for GN. + + myconf_gn+=" disable_fieldtrial_testing_config=true" + + # Never use bundled gold binary. Disable gold linker flags for now. + # Do not use bundled clang. + # Trying to use gold results in linker crash. + myconf_gn+=" use_gold=false use_sysroot=false" + myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)" + + # 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" + + ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" + myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" + myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" + + # 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 . + if ! use component-build || use x86; then + filter-flags "-g*" + fi + + # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. + if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; 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 = x86 ]] ; then + myconf_gn+=" target_cpu=\"x86\"" + ffmpeg_target_arch=ia32 + + # This is normally defined by compiler_cpu_abi in + # build/config/compiler/BUILD.gn, but we patch that part out. + append-flags -msse2 -mfpmath=sse -mmmx + elif [[ $myarch = arm64 ]] ; then + myconf_gn+=" target_cpu=\"arm64\"" + ffmpeg_target_arch=arm64 + elif [[ $myarch = arm ]] ; then + myconf_gn+=" target_cpu=\"arm\"" + ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) + elif [[ $myarch = ppc64 ]] ; then + myconf_gn+=" target_cpu=\"ppc64\"" + ffmpeg_target_arch=ppc64 + else + die "Failed to determine target arch, got '$myarch'." + fi + + # Make sure that -Werror doesn't get added to CFLAGS by the build system. + # Depending on GCC version the warnings are different and we don't want + # the build to fail because of that. + myconf_gn+=" treat_warnings_as_errors=false" + + # Disable fatal linker warnings, bug 506268. + myconf_gn+=" fatal_linker_warnings=false" + + # Disable external code space for V8 for ppc64. It is disabled for ppc64 + # by default, but cross-compiling on amd64 enables it again. + if tc-is-cross-compiler; then + if ! use amd64 && ! use arm64; then + myconf_gn+=" v8_enable_external_code_space=false" + fi + fi + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + #if ! use system-ffmpeg; then + if false; then + local build_ffmpeg_args="" + if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then + build_ffmpeg_args+=" --disable-asm" + fi + + # Re-configure bundled ffmpeg. See bug #491378 for example reasons. + einfo "Configuring bundled ffmpeg..." + pushd third_party/ffmpeg > /dev/null || die + chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ + --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die + chromium/scripts/copy_config.sh || die + chromium/scripts/generate_gn.py || die + popd > /dev/null || die + fi + + # Disable unknown warning message from clang. + if tc-is-clang; then + append-flags -Wno-unknown-warning-option + if tc-is-cross-compiler; then + export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" + export BUILD_CFLAGS+=" -Wno-unknown-warning-option" + fi + fi + + # Explicitly disable ICU data file support for system-icu/headless builds. + if use system-icu || use headless; then + myconf_gn+=" icu_use_data_file=false" + fi + + # 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; then + local moc_dir="$(qt5_get_bindir)" + 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} + moc_dir="${EPREFIX}"/${cbuild_libdir/% }/qt5/bin + fi + export PATH="${PATH}:${moc_dir}" + fi + myconf_gn+=" use_qt=$(usex qt5 true false)" + 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\")" + if use wayland; then + myconf_gn+=" use_system_libwayland=true" + myconf_gn+=" use_system_wayland_scanner=true" + fi + fi + + # Results in undefined references in chrome linking, may require CFI to work + if use arm64; then + myconf_gn+=" arm_control_flow_integrity=\"none\"" + fi + + # Enable official builds + myconf_gn+=" is_official_build=$(usex official true false)" + myconf_gn+=" use_thin_lto=$(usex lto true false)" + myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)" + if use official; then + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py || die + # Disable CFI: unsupported for GCC, requires clang+lto+lld + myconf_gn+=" is_cfi=false" + # Don't add symbols to build + myconf_gn+=" symbol_level=0" + fi + + if use pgo; then + myconf_gn+=" chrome_pgo_phase=${1}" + if [[ "$1" == "2" ]]; then + myconf_gn+=" pgo_data_path=\"${2}\"" + fi + else + # Disable PGO, because profile data is only compatible with >=clang-11 + myconf_gn+=" chrome_pgo_phase=0" + fi + + # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639 + if use arm64 && tc-is-gcc; then + sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \ + third_party/crc32c/src/src/crc32c_arm64.cc || die + fi + + # skipping typecheck is only supported on amd64, bug #876157 + if ! use amd64; then + myconf_gn+=" devtools_skip_typecheck=false" + fi + + einfo "Configuring Chromium..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_configure() { + chromium_configure $(usex pgo 1 0) +} + +chromium_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # Don't inherit PYTHONPATH from environment, bug #789021, #812689 + local -x PYTHONPATH= + + # Build mksnapshot and pax-mark it. + 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 + + # 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 + use suid && eninja -C out/Release chrome_sandbox + + 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_install() { + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + if use suid; then + newexe out/Release/chrome_sandbox chrome-sandbox + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + fi + + 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 + ( + shopt -s nullglob + local files=(out/Release/*.so out/Release/*.so.[0-9]) + [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" + ) + + 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 + fi +} diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest index b4537de703e7..091626f4fb53 100644 --- a/www-client/firefox-bin/Manifest +++ b/www-client/firefox-bin/Manifest @@ -100,106 +100,106 @@ DIST firefox-102.6.0esr-vi.xpi 586372 BLAKE2B 9f3219c00b8435640f2fc25275a04bb896 DIST firefox-102.6.0esr-xh.xpi 427187 BLAKE2B 8b54b37fb410549e2df9e03561c7447593424ac4d19194bdd1ebb386ca928546e78ca2beef278900ddb75efae1c4e17db140b39ffd9c61f890285e06987fbb0c SHA512 0474b6f2bd4f9659c2b6b8e8fdada95edb787b577281fe1aafe57bfe888ee3cd0d4f868e85284a9d1418e1ce0e1c5782cccfd8148d3f34e436f67ed3aa832527 DIST firefox-102.6.0esr-zh-CN.xpi 589094 BLAKE2B dd88c9c206afdf3a13794190504b4f4bd756705ba9406f58b259f04b284f7284f48acf596c712f5fececb54a11d7ae3d179b0591468c418c64355371125fab27 SHA512 a01934f4b66e613e5c9b90dda2e853003941216b383066bc29bcff8de5b25e7250b7fe4e63da4cf1fddc4d2325fc671eadd1ec931ffb6b5b4aebbe7714b089f5 DIST firefox-102.6.0esr-zh-TW.xpi 590469 BLAKE2B 44c00eb667554aefef04eb6882a33821f0b5891ab13dd4654b780aff900b8531d1f226c3288f743bb8ca7a32b7882a3bbd7e3df424026db4154086df9e17f7dc SHA512 8e92632883807a993c3d54b93d4b0f49ce9098ae42237bf1ee32ad1f7fbb398c7acd0c2d88d0feed680f6eaa27f1dad5d509306343eac4488974dcd69e3669b9 -DIST firefox-108.0.1-ach.xpi 454485 BLAKE2B 0abc9417bf776897a75c404b156c787afd22892a4d08e65bee13a0bcf3f6594ce78091b4affb01b79c2ee9f1dff05e4565b6d803bce8cefd6a1a7bb2421a1e21 SHA512 362253ae52772bf455171f151304654ef1ee6b1c3fec8d02791cf19d0970f1df3997922f344f65dff6644664f1df150152192eb6d2347086130a1830f567dbc8 -DIST firefox-108.0.1-af.xpi 419603 BLAKE2B e2d0028c7fded599ff1b98b710a87871d9879d2814b8139e85eba9cbe45346f3a2eb817128cbbcacd0229107909e9ae764c762ee416be8daf89894374ec75720 SHA512 e4bef5c47c9a827774c6c3a74480ff775c8c954816cfa6aa143326f91b8b4dac4c4be50221c4b4e6ea741e33fd398ee3f5005bef813742df055bafe850cdd7dc -DIST firefox-108.0.1-an.xpi 501396 BLAKE2B e95378706ff47cb1c30684605ff55491c3cf7757a244f01aedc366e6f9724b63836ca0f21b20c2221b522187f88e6bae22f4e13e0220e2f886358bd780237c8a SHA512 9e75fe53d9012d414337dcabe162df501ec37864ea67598ccac53f9a5552c2fc959df641485ce8c78dab06707c881fef33cfe31f379cdf9f57ce587a3cebba53 -DIST firefox-108.0.1-ar.xpi 568727 BLAKE2B 09058ace0b602d190b5b3a6bf9be9f5a697a0d8835508799f7919089843f06d9a4d561002e8dfac0bc5782b9aeeff5102c686456bbd7ba2f9a55723be121475e SHA512 afd9a768ec60c43944b0ff8cc5c2d06a44e91b60baae7409606cc15b37ce15bf6648069b17e5ec3ee33359dbba841ed89f1880e4d849f4baedb1194e3f57b655 -DIST firefox-108.0.1-ast.xpi 487881 BLAKE2B da304792219a5d683944e5bd1ba05362f08774f143a10f61fe8f4b98eac8911baed3300d465eda7d16e6f135ce0eaefc3e49755ce14341a01c91eecc882527f4 SHA512 124d6c625bc7989e32e2b7f9197afd48ccd0292e69453a80c03b62ae4fa57aca57d037ab69db19352d516705e3fe2cc1e692dad696c70503bea15c4b81eeb17c -DIST firefox-108.0.1-az.xpi 490772 BLAKE2B fd4a4cdf0c040e4560ea7d984617743e03a44a491f587a1296a17e0c9bb1ba132f6e782d13c377ea5015fcba278ec4d3fd8f338a69117b389f2051a55867feb8 SHA512 cc91efbe4af4024a2c45fd1162576f75b17e403f5a82870726d24d823a28fbad0da6bfd6b105e5682dfa7f64ca6ae3b156c1e8278af7762d629d83890eb43a98 -DIST firefox-108.0.1-be.xpi 646994 BLAKE2B 555831e82016c11d1c145c01c1dd24f5fd2ec887d9d89aada9f08f4626085f728326e6c5406614871468ad605c84fa345bc39e04ebbbf5147503d5ed2dfca3ec SHA512 fefb1186cd8c7ac73822b4378f27911efe2c16dba06d4e90655dc27c16d36fb7c81ab04cd88dfb0d4db406092565a29ff9f51bf937ada83796291be6c2027e31 -DIST firefox-108.0.1-bg.xpi 580631 BLAKE2B 29d0192e2c59e14bd35413e06c4cccbeee745f12361cd512b536b1e65adb582860150e2d67303a6c1528af48f80408b84737f92276c96a618665bff5ef434961 SHA512 5c67ef1311abe7070b5cb9657a9d1083d32b4828c07322bae1c8ae0e6621141cf4761241802eda99df4e7870b0acf5f343beee20e3ca8b3e2ae5ffe7ad85fcdb -DIST firefox-108.0.1-bn.xpi 579708 BLAKE2B f9bba41ecf1d053c00f4785df8a30da46486a3885af3d1601f5bfb786b85c9c7f16f504b8f64bce67c1fa358c0b93fc6d8cd6a37aab7b0fa97341d21b2f12a28 SHA512 124f7b54ccf8091f8ee7d2a79c9223eb7f18ef8807439b9a9a44efad4e67170a54607b464eaa3104d1a0186ef007fd5b15bcb9273938f67d439e194738f77a65 -DIST firefox-108.0.1-br.xpi 542574 BLAKE2B d3c7779ba86f5ee4a816bb814637488b9bdc850031840a030b196568a6f79a241380aa1668fc3fc33a7cf19f5150585bd03889f53907e5247db3181f82dc0fdc SHA512 084dd3e9ef190d688fd95611b93257da7d0f582f630fa32e46ae25c79789bf556035adfa681c3a80213956b01927ec0a57d91d919a2bab0eaa1218e4900e5aeb -DIST firefox-108.0.1-bs.xpi 461626 BLAKE2B 40a1d6a94b5bf816f02109292afec856be0d0317e4c8e5b87d2ea85118bf12d1dbc562a7cae0b746824cf4e6f7b6aa47c136cfb1e86d540b54c02f151d86ef01 SHA512 f36e4a775a5c5421be11377ee46f19e4711a20366ba8defe45ed3f14cf9e20d451191b5c5aa916c428328de0d99d647eedeb11162f0d1a20dc3e1bbc93d6dc13 -DIST firefox-108.0.1-ca-valencia.xpi 540295 BLAKE2B 11e705164d80112efc18f3ecd7f6632a0635c9e41c093d9a21d87936f0828d19fffc89c2e148fcd1066d0f70fdef8deb9530aac51522233bad584a82856989ee SHA512 22462951c7e2ab0f557970937bf7aeda6085ce6125aa8298049c82d614fba6d0a275d1a178a30fd1fd08e547d4f26d54c5054a61ce7976d8d713d0cf5f5b2d4f -DIST firefox-108.0.1-ca.xpi 543816 BLAKE2B e1e121a9a066cc79e9e901a9b04c9418f2a9490b49bfb9ebfa59c5dcb3212382c5483ea55f4db68a4ae052c2bd17d84b7fcb8c26effa1855609a6303014eeff4 SHA512 70433695c9183a8ab6ccd77267acec18d0a9ea8f78d92ef5297c3f06fe3e0e00d97cd9bcc7dd338a04577413459b6b852f5a8a9cb06e04eed7982f8d71435573 -DIST firefox-108.0.1-cak.xpi 555253 BLAKE2B f0caf793f42c710f713d0e67185ea089c666e78c2a660bda60ec228d3f532e89ecab94b0b313ab72ff034b9bf101bc9b85da72bd7c4c36a14e886955cb93c4cb SHA512 ddccf2cdd12d07410660665d2a6f701a6b21bb727d5e72b3d4a87a56c34d79f4b301d2fe94c6fdf56a828f98251c2444d92136d5beb760dbdac11baed145420a -DIST firefox-108.0.1-cs.xpi 582587 BLAKE2B 6ea508648b3f1b35ee55c4c4ff56353456399b9152e75664c869290eb1a2f05536440cc84545fc65236de55b8443c810eaf5b4cf25dee2aed1e5e9683e5b613e SHA512 5041a1567d04235ade8915d4cf6ee08d629306bf68edfbac479dbac1c961cc6c65f76b5cc5750b1607f5a3e0fc92191e0be0eef3588a9c2dcca877c50b1854e8 -DIST firefox-108.0.1-cy.xpi 562653 BLAKE2B ca8dc2f1e42c30fc7228613acbf285cdf0412a775d973f9fa3eb60e0020a2067f5a1d6a662088b814be1dd7c4f90a92a9e5cf3875348b8c151c882670d38fd72 SHA512 e14a5cfecb24f58fbc5d6e405e44895dbdcc8f5bbbaa39642e5ebe0f8c566d8cbde928c35cf89717c77ebe008f00b23aeafefaa51af1dfafbb1194ad635fe143 -DIST firefox-108.0.1-da.xpi 552333 BLAKE2B 75db09a6e56ad334b6be4931281f9367917d1cb53c3ba4d30391dc27ed4a773647aa351c27b9457c968f0a8e8254488d5e26ad023a1f806514a84c74434966f4 SHA512 990c60d6a863e8b95d22f38a363fe2f2582ac1cee72e247beb297380b09da80a84e24fc34bdb5caacf509f661a6480cf494415df90369285b7d7227ca86ed7a4 -DIST firefox-108.0.1-de.xpi 573561 BLAKE2B 1a9fac0945f1f9de2cf2b6c2353993ac9d25d6cf00089925f33841ff56136844e7d5c9e5a4bbc766a8c5b387e072a715bbb82a41a9194835407e04a5a7225c13 SHA512 b651737e6542b022377b8d5105dc9acce8058f7e14becb0359372a8df39bcfd3905dec11a7a48081c913562372f48fcbaa41b81efe39928de91b470aac3f82aa -DIST firefox-108.0.1-dsb.xpi 583364 BLAKE2B 0f000eb18c2ca5b2a6424b20769eb5f587943053a8f9c612d839f581590967e716748b65fe2d98c517846379edf4402a78db72db3c6389171cfa9e7aae55462a SHA512 f97dad8cba691eb327740a488b0fd8d3514d06641c98db3ea3aed738fc1f7516d9dd40cc7c29ad04311a7ddd2aa92db48bef525c4471271a33dd52e087c91019 -DIST firefox-108.0.1-el.xpi 662923 BLAKE2B a4fca33637a1e290fd414da9f7c99abda7183d81beca135b92cdd857b36b42e7285ed4e80f0262d09ede8de5f44c94fcfe5dc633d7d599014aa7e8cdd4d244e8 SHA512 abb2fc9acf0bc8872506016797cb86944cf66feadf186378d1cd4ca4bba047d4594fec2cccd2a14db685a803cef79d68d992b9401a9c03fe6e9a969df5e8be59 -DIST firefox-108.0.1-en-CA.xpi 525756 BLAKE2B 140b29eff7a37d5a2d0524d6dd0610d89a8c7f132ae17763fc1243a6ee0081684120b69bf076d2aac5a1eac477eee1c46b68f3563b16d2d2bd28a56f473dacd9 SHA512 5715595d629403bb3b90f9afa45b1db3fc4160b800635fe29a84d5d738e362fb7dcf3ee9d360d61d6f59f789160b343e02548d9919c68e7a5a8970c60c4085c4 -DIST firefox-108.0.1-en-GB.xpi 528671 BLAKE2B 615998886e1466bd8744fa5137d05d847944033509e47fdf7698469574db9cec465bbf23e3696198a730e6b919239b2abbbd5b2071f246404f05397d72778a6e SHA512 21038c51136bfe9fa55bf9c8d08289d62afd2f77c8ff362c63043cedbce2d3a4d97a8457da6d6116069823cb9289cfc4b18be49df572550cbebf8c2fb9c1311f -DIST firefox-108.0.1-eo.xpi 554176 BLAKE2B d810db59ba02993e6e1308ef78e8f8f02992f9e08b5cc175f0adc51fc9f02804dec7cb4d8f9e671839da93fe1dfb778888436d89e6de2aa4fba33c106dc16e50 SHA512 5b055eb443f491bb968540a24efb544642d44f26681140e77c1e8ea52f943e09761a20f933b254371ce510af35d98ede188ad7235762736b8bbac7ba1d7e7c99 -DIST firefox-108.0.1-es-AR.xpi 567756 BLAKE2B 380091d915cfb0d20524a26ac0feea3b7a015cfcd3fc922e194f6b8685340488a91a344c0fe3d16ef9392102a1bf3d23c816092a42fe78b7be6653a80eab9853 SHA512 6f3191afc655db349fca58607fb680e58a3cff8abe004377cb9f1042ad9c341d79dd0cc70d1dfd243a9d47d426d5052c511bc0c94675f7a399de87b67ad53b60 -DIST firefox-108.0.1-es-CL.xpi 566902 BLAKE2B 3525b53995710f8688c4eb88312a4731312e0439335e986cb7a295cd4b3e929d7e4585ef40d4a3ea309cad89213f66d523b9bb3c73926c40bcbfd8d4a86161ad SHA512 f3cc7465d7f951df3cec45b367562dbf2dbf17173772550b16460fadb37d7029df0b5b05bbc67cb4b577a6e45f5b4b1e75a4f7b715709add377efe805a1b418f -DIST firefox-108.0.1-es-ES.xpi 559292 BLAKE2B 4493998ffbafe633b916202feba515a3eabdfd8c6ca304ff65fbe8d1b82d084d1b5bf7f89121e53b120aad0f610829410af73458d8d1e39c64ae6e4b1c9b9962 SHA512 1fcda93992488b4f52d071435e14adb49b303668caa537c35bf368efa4db96411a71de8b5766475ad0abe373c22d06d067651a448b6562a59d205bbfe725611a -DIST firefox-108.0.1-es-MX.xpi 569569 BLAKE2B 174867b4289a46e7225004a1089631e7cca516439cef2d183276ed357748742e859bb01bf4af413f31ea3a8a11667f55eedbf28904a2316c5bcbeb3221336a6d SHA512 2bbab59d6acd9a2bebc405f9655a8a21a32a86d65d3aa06e75eaaef650811a5f14359608006f1a57a7f89858895f5ddeb3cad0e0967bdb57c5b1c8ad1a350668 -DIST firefox-108.0.1-et.xpi 534529 BLAKE2B aa48b3c0b1daedee1f5e62c732eeb71b22ff4dc23f92a218f569b8f97b70e1328d6775ca6e28707e34c796f3b6c2036769ed4419aecdd3525574e632c1d4f094 SHA512 1b5262ec7b2cf9d941072974579d7457d6686c6cd67fd9d1061a6371463c6fee0827848eb31453d007599ad09cd08cddc5dc525ec2c6df9d33b4e61a08618678 -DIST firefox-108.0.1-eu.xpi 556953 BLAKE2B b7d7c4bbde26521f3f5b7dd63a3c65ae6993de2c0b8c3ac2346158c0a9945d7f150146bc824923ca68b073fd8b2033abbb787cb2734c0e0f4fd4e1a3cf4a45b1 SHA512 57521828d1cb674682bde33a4625fa5743f18b304b3e5358019196950a1e840ccde7ede71635e81bdf7f37a9961dcdb1dacc3c3f092a0afb49b1bcf1da37f824 -DIST firefox-108.0.1-fa.xpi 572386 BLAKE2B c710b86a46bff27740958a4558c1050bec64b1c912bfe9bc7cffd1ff33b5539d12249386142372e58429458b73e620169b2acc7b63f4a994cb09433b085507e5 SHA512 94b8e9282b4dcc2615588ad3f2d001513b8d385cf34c4a620b633b1b0dbd3119ddbf478662c3a335a22b2e6307d5887d7c2cf6ff5a94e9a3a54395a0b2e73dca -DIST firefox-108.0.1-ff.xpi 474480 BLAKE2B 2bd6bdc909c1199482ec1b4d36b5a01bf42a2547fb55d4ff3df7138c862c98581fc173b7595e6956b2694a646414453f4dc8c75b9c6a851f1934cd39d13ca973 SHA512 93d2367d7bd1aab8bc45d1eb784b45ea73d94a012767a675fa5de76bfe751bfeff61dc101812437e66bf507f8498a3a37755d74b73401e2c72428d269037b960 -DIST firefox-108.0.1-fi.xpi 552986 BLAKE2B d255e010307b671d3fc9ad3d96f62ef22a5b75d2e13ba89c09a1f997782e006e012afbffcbeb412c969cdc85ac948a79a0b3cc99997db7bf96078d5af34408f9 SHA512 7969b249db3a9fac6caea2be51da34edfca3edc9c6cd03252f1f3a4608f45ba0a024c47eba08d6d317a4967c757e46adc876c10c7d12b1e464ddf8cf7cc7e643 -DIST firefox-108.0.1-fr.xpi 579478 BLAKE2B 6c7b55d0eeb1039d766e2a1fd56b1ee21b81c3523c38daf7f51cc13ae84849c1a7896c8b0efcfec2b3ddf973b1b0c7a3053fd7496e4508be52c974a807120760 SHA512 1c561929ff4a75d792080b6d97e90be244c9ef377dc4804e1a37bd3a1f444685b7c7ec2e7be9966cb12ee80b0b93f9da89af2153e62220f3d838c8689b15ebed -DIST firefox-108.0.1-fy-NL.xpi 563349 BLAKE2B 8504707a95cbb631c64432e21b8a3fcbdd10161770d6c069ce9fd4a16594f1b6d37e39df7b74cf2af914a2726813a1109266a58929a4a13f6c2d98583ae519f8 SHA512 450a88bfdb9dc48a759705894b6202a1fdbaa4b72e0892e976b65795fd82a2d9988ed6f6e1b2a3e665c7d99acfb974f1b19d48461bf36bde1fba56a5f6565075 -DIST firefox-108.0.1-ga-IE.xpi 470251 BLAKE2B e556a567467cee0c27bf0bb2f46fe2a2b290bf4ec9bef41aa632c6e9d65a4b8eed8b140a0da6694c62f3d87f2354ad4f6a15f92c2b6a9a2611b8c088775de8ae SHA512 cb9e0a00950740c0ed63c8bc8abde00b6442d62d463bd72d4398a694416aef2d826f1923f7e5b573893e83f94c9ceecd1b5b3599f45362de092fbb5cdbc7245a -DIST firefox-108.0.1-gd.xpi 548826 BLAKE2B 86aea61613fe7b90ecf616bbf2c5c0d1ba768a738dd1e879bb9576cb49271c48ab311dcf1c43bfb6356212a504f9e0c6758f517a473f0296d1cf3aa6bcc930fc SHA512 e574dbe9d13b76892ff3c35509798d044cb931dfd69a1cabeb75ba5fa85d8307b68b5a44376bbaf4ff5ffa1aa2749a49ee10f9cb25bdaabdd489732903d813ea -DIST firefox-108.0.1-gl.xpi 543434 BLAKE2B f85b0b787371a871c9586a9a968013b664af716825fd6f77890c163cd387a2ec24d14d94375a619a672163d1b4468e69b9b5b275981394260a52c873f9be8ac1 SHA512 770cab00571294abc98d03f63e158cf253c8107d93ac6a54fc1e16ede9e3515a32fa51b7c2a7ef7a4241331af544272b98ef80595aec2b1d16a089234c9d6b75 -DIST firefox-108.0.1-gn.xpi 578518 BLAKE2B 7d2039d671c266f5a2412d2074f9eb4d2a07dbf96999172f127599193c81911a1abcc51efad193affae3a0820d8a3a40ba483d3c28b75e03dceec921f9e6ddbc SHA512 c2f2aa46c1412dc386218a090639dccae40120da085f74234b4f6ebdaa92f9783e8cd82a44597c5f0a26b63fc2685351cdb59364aaa414ec24993ab09a55975c -DIST firefox-108.0.1-gu-IN.xpi 529444 BLAKE2B 19961f006e76968292d1e6b869fe1fcf6580bca613f3ec465c66d425f506da3f3cd4606f108344bf688baf918dbda6794d0664e2a81d9ce0bb97edb70fd153e9 SHA512 5e5be8e697ef242a3e147ad0e3ee1fca0f51ade81cc0215881dcdb0f5d92a9c6163aa862bc9229a8dba95b80bd75008b4ed3068adbb1c34c4335dc667f1d8fa4 -DIST firefox-108.0.1-he.xpi 573905 BLAKE2B cdbafbf59efaaf973406ffd9fa3b1fcda6fdb25e6e3bcb57503bf6afd6a769fd3fe10b17e7758a99e6b7a8ebc7feb483a9757464858ba4890ec11a59c510ba2e SHA512 ed459ccd4392e44998a38b709f1acbe6bda9945391b3f1ea82858a611a073354af42230c0f25e4f8d2b514a42135d8ae8e135ee0eaf509f3982538701050ac36 -DIST firefox-108.0.1-hi-IN.xpi 558570 BLAKE2B 6802030173e991e7e77153a033842789fd1c141a82c8dd4a931aa927dd530e4a46a97364c66689e053cd3dc8094b4ab9ba2fa7ffa088cac7b85af7338b724517 SHA512 a8741f24cd0cc943dd6a7a0f4f1e9a937372d9aa7a684ecc4e109bcb3cd1151ea040b8713cde8f46fc72ab75c8603b1dadd86e24d6bb3569c56f30957b4f18b0 -DIST firefox-108.0.1-hr.xpi 538312 BLAKE2B 4c8c56dca5ef2f17abc84f18ce623120a47868bfefc717bbc95f5fe6271c6f7951d3ff308cfcc85145f6ab2c1c45f314c5b8dc08c839370661f0f7bf670287f3 SHA512 c02e8eb7d2ec67d9b7afc4fa501d2d53669035668ab37c4d4eefe4f920450556b0f024b06e9233b5bb9af8fe1af44b25667c858bab0607fe14cf20c220155816 -DIST firefox-108.0.1-hsb.xpi 581697 BLAKE2B e33cc4b0c3f2c294f3328a563c5ce5e867f0ee7369245a3d74f2205f85fc7c2071f4b548468fda3cb756923e8c5e72e05c1b977e3e269cda0e1456e784f31044 SHA512 839029b7ebb9c26bf5ec47a10ede9481b5ebb4e2dc6145d870c93a02f21aecf6f2baac3503c1f9384c8fd40fb84cec480c3b4ac1059bba3013d0dd20e46d682c -DIST firefox-108.0.1-hu.xpi 587848 BLAKE2B ee23d3c35f8634b2bf185cb8c6263241ceed5792c3c6323a63069906164b4fcfbf083185c166b340ed1647a1d10492617d117a3d9c0ff2203bd64eb7818a8c14 SHA512 741ed7e6103924331bbef94e78a07e55be947af78390a55aaaca9c2fb09d45ea995a1c6c842775caae4cf160713955f01aea1c2dbbd81083feb2777e1c8a261c -DIST firefox-108.0.1-hy-AM.xpi 594657 BLAKE2B 440a1550ea00a239943e3593852a05c64f2d7933474f27c0c042fb27fdaa67a168734631b76ea36543c5621cffd4bda733cd6b1b9b401b343bc624a43bcdff7c SHA512 dece73c576f92c789f627ddb62e6c3a3c0a35391e3eeb45efc416b8588a4ff8ce7c3bb88fad27f2327669599c67036e63129d4e79ef2bc0bfec05205c3850e8f -DIST firefox-108.0.1-ia.xpi 551763 BLAKE2B 340830190b2ea0bc90117f710cc9226a7c9fabc0dd7355ba80286354fdd2f8b6674854175640afbd95a0e8f6ac2a489361c2aabac397abdf37f43d95277d2de5 SHA512 93cabb343eaba18eceb22693ad0a68db187ea4f5b3c587a79ba3634fb1eefe8e052095671f059072c2e9c649b1c9aac1a73e8895965e9afd161af4b54e56782c -DIST firefox-108.0.1-id.xpi 548618 BLAKE2B 2786b0336924eac45a3e6a9cdd053fb68ce4095525cf36b25e790762e69a679c67b4ac06d71ebef324a5f74100fcd490135a61811d0c623041b7d2933edac290 SHA512 195f96265e4f706dbe0da1032e8e07e24558a5133139dbe4116d10005c938e110db3630967cecc1f7bf1ba439b91ddd96dd8ea9011c12c29f456392f798310e1 -DIST firefox-108.0.1-is.xpi 560731 BLAKE2B b8a96943206fa5f8961e2d98ede8ca50701ba8a8ac076b242422b61067ad3ebf0b146fa38d45a3a88102e712c29fb669f860b2472a43caa3981c91eb42826233 SHA512 a208d59e15d5a0b5e1a8156dc44f02197e90e2f0af458aa93fa5901b36a6c85240f44647ff1fb80512a7466f801b99e76d58663d256545aa2c6553f78b6eee73 -DIST firefox-108.0.1-it.xpi 488823 BLAKE2B d6640fd00dd8cbfa03826bc77e83566f532b0d109d2d4490778e87f65f62a262339f0205feaf509c0213d2b34752ec423fdd5f49398c446c4e6d6f301d46927b SHA512 76b47a47814a5b32f21c2372e4ee329f8da6ce71eb82b932f99b40eede57a92615e019ce0623e31a76f3fb0c8874f21932de120bfdbb0695198e8b118c17c34b -DIST firefox-108.0.1-ja.xpi 612094 BLAKE2B 9f156c87612e14b1a2b9fb5e143afe0c52ea41e135987ff444193dce3fcaaa2faf61a9910ca1625ec97cec4c54abf1aae894ddf40cd4cbdc598a14929137cb97 SHA512 8ef21bfa40d74549638f17ba4b93456184f8e52e596d842317da12964b607196aa51d72db724753c531922240f67ee3196bdeb962b1a8ccdfff17a5d117a4d9b -DIST firefox-108.0.1-ka.xpi 616444 BLAKE2B 998e65597172bb25bd6db9eb3c897a67caa6fc72d8521bf37428188a4f719b4de62dd90093258a12d5ada176b6b90be56ed80aeb11cda39133701d2457dc9be9 SHA512 01e6636f26b39c3829907185f7efdbd2b3783a0a87a4c9ab02960d2ae7957ae9e6d8cd0d55ac76442e2a9c539c9b4e30b8d605608ae96254bae70974ef4362bf -DIST firefox-108.0.1-kab.xpi 569581 BLAKE2B acc75790312160f3511990569699b08ca1ceb1128219adc0f3a1b35a721704764c709cea0432580bc5d237376c454cf32be8012dc4821643802bdbeb4dbe8466 SHA512 1be081b6872aa885e5209bdae2c069ae2353f9f053ab28c42c2eb3805531d1a9b8b6fda06d2831963df7b957db4627fab36c2493a0499d47843be38c390f97af -DIST firefox-108.0.1-kk.xpi 639492 BLAKE2B a9cb26b47080f368a07ecd267c32f12311a85ef1fd8933e32e035e59da0f8e826352880e79cd5693f33fef3507b3f2bfa55cd0efffdef19348b261419de8e73e SHA512 1f1082da21782f9e28c01c0a39e143d227aaa0f302bb8a96955f68ff522d6fee2e8d0f715392a187c614bb8c9d59c6a5d454f40e69ef69a16c4664ec1b6033ee -DIST firefox-108.0.1-km.xpi 531194 BLAKE2B 6706b252c59859691d4a856cc9fc505a99b7c8406e62eaa80a15249286335cad1d2f17e7870020ff43c0d347964c894fe00298212dae6fe3b02b40205b02ff7e SHA512 4dab956a89870e14a781247bd43633e1b34ad4753d99be0199aaecbfd1c8e2b59942a6c187b7ec81c977a44d00fabc5bb02f450d5dd175529d2b8833ba1d909e -DIST firefox-108.0.1-kn.xpi 496783 BLAKE2B a708685c4acd346ba3b25c9e9afeda904c3072903eab00bd4674e8a0f5b24e02e09420981d989a10265ba6939e22c73fc22c3b9cce1723586d2fef41d0becb97 SHA512 c058920af17a150bfab66850c437e0acd637c9a1034388a1e33020547f0bcbe71c5ee5767c9cba59f0804d032d7e76d58cdb789b66a0a46a568e85b0c230cf4d -DIST firefox-108.0.1-ko.xpi 598492 BLAKE2B 653d0a0da17d827031dbb1efc60f8817cb07ed4053fa2bdab2fd7c9f3c72873c35c8fa6dd23b453ed6ef04c190bf1950a477cd059dde29b36c87677e3fa43387 SHA512 442fd2ae62f908a345e1ef6ca139483c5881bf98d24fecdabcad80d554029d42d276fee7bd0e08416d524bb61f29021a88b4df34f7721d69a4a6e8f22fbdada9 -DIST firefox-108.0.1-lij.xpi 471422 BLAKE2B c37f4f9e6a52633c241782148bf58a1ed15ea9bd2d7a326b056fc2040815b4831761afca109da0ce022a2035a1b6ab75f042196834babe7d37a55498d4c0bf46 SHA512 365df5ff1bb6d4aff0eb44024f34dcbfb56332166839d8d49547f432e0a9e809f580512205d5c663c83b626a1f382d3e27e0356f2137095fe44d693fdae5c405 -DIST firefox-108.0.1-lt.xpi 566411 BLAKE2B c98ac524a351b05c2ec0c5fe7d91d81c32b173e71e9a341e95e1179be7865020482c3c842f93f447b21deedb27e9f17f1dd4708be900660704fbf1f497def5f9 SHA512 749b1078f6651d65726cc8adbf5dcc7798dc0dea11a64a65ccb871387d769d76da42b15a03658d93602d73d9da0e1e151856902b4fde273d4a201cfea485a5c7 -DIST firefox-108.0.1-lv.xpi 466194 BLAKE2B cdb2c5c8a8b6f7976f9c0437fd9b9165415c2b618fd99ddf449c390b6994a7c99a291a07f15641fcb8a2d1bf0c9db124d3053319329b1e7bb8b89ea7a8da028c SHA512 a2acf3f19cdcdd8c2c6681574b18f1d428074f22aed0f0d5c94391865ebd09482e9448d4868916aab2ac2402b922c25ca4c6c59de4b32781b27d38e3cbb188f9 -DIST firefox-108.0.1-mk.xpi 485625 BLAKE2B 64558d638ce6254ca7d00d872954355959190433f5a27cdac6d9cdfad7c5b89b98e3f6292a9b4fe8165386b3d12349db6a0482a522b02f625e8f8e57eac749fe SHA512 5dac4a474928057225920dcef61e520fcc86e563bc526e9ed192c4701d59d78dbce48f4d777aad1f5b2d048430ca147f64f05cfd9017de5e9ffc2628daea5cf6 -DIST firefox-108.0.1-mr.xpi 531997 BLAKE2B 8e7d92860df7b560b18429b29faf2843e58f8ff5d2fd7edb54c88cf5e0dd1440081b6e1fb06576c60962515c1a6cb22c5b36adb7d848c7f278293240a557c373 SHA512 a7b855591e96977fd948ffaa39aa628c459588ca54a247551834341c3913428255cedb4062e15d48c9ef4cb828fee83e602b331aec6d65002428ec05533e7aee -DIST firefox-108.0.1-ms.xpi 450666 BLAKE2B 43da25f1ab48157647f3073cbbadb8282c510ea2d1ddb071dce64a417138a0c4939c82d440be9685aa5e0ca7fbe3a72a9481219c715e549df2499f805af86667 SHA512 a5c78a4e1446b9f1815087f7fba7208d231b6c8ec7ad8d8657e229b9e88e1ff8ddb1e5be94471b5d3bcc05f1104aa1891b0a7f3bc03a6d01e8989eb3019de69a -DIST firefox-108.0.1-my.xpi 517675 BLAKE2B 6ea2552d75fb4699b471d47ce5e596074f7ab6450b43cef7b91bd22087751f25877a92d43dd3f0d609636c4da1a9fa8bc106b89d7b9a8b1853250d23413f9c20 SHA512 9cd762b64101c84acabda265be2d5c723b48f55cd234f28056d779a910f9b79d7b35d81f708783e48dec85479bdba53f763880b014a006a77a216739cd12adca -DIST firefox-108.0.1-nb-NO.xpi 549695 BLAKE2B 042f6a5a6857c0581bf5ba29007c261da0c111a9024eed5aef83548eb8a30e31696abad3def90fba14276429a04e4b5b7d04998c59f59b93539fc62b221ecad8 SHA512 89e1e8b2f0b3e8f963e415fae883c9e454b5e971e63726183ee2157fb68f50374f3a757214c9a9fe1eb0401311f8bfd52fc4c1bbee145f7dc275bac1a322fa6e -DIST firefox-108.0.1-ne-NP.xpi 485219 BLAKE2B 980fd5fb07264e463d086d35ef63cd9c3b46a41d3d9bda824806feeb9baed767d0635b2dfb8782eb65cc1e57256a13f7baaa27de4c2d3bdd0a26dbf7744319f1 SHA512 dbd087dc3227d0ac937d366765bd95956d6c02c5267254ff2a0ecb7c0287574a6526e830dc4055c9bffd2b4a809e5748894000d03093815d01863d2ae53903ff -DIST firefox-108.0.1-nl.xpi 557495 BLAKE2B 6634e2b0da522a7dd8b27c5219f4961e2e0b1f1820d1f24b0bfdfa3fa73c03b6e2056c501b0addda93e167ae12fd42a37ab22e13fbbbc802ed25fc3964f6cd0d SHA512 1bad888f40717cc8a6c4396b1f534b6ac83b09396a248dd043434ff4dffdef966cf961874af56592988437c5e4970feea93c09b79a1e35b3cf954a8bf139181a -DIST firefox-108.0.1-nn-NO.xpi 550010 BLAKE2B ebde674a01fd1304a642b7a9bcf2a6ba97d7589ff20a46da7e39cdcc5784703d8a3262f8ab44f4ebcd7be1249b6af7cbb4d7ad08020ccca06961c22110599a40 SHA512 4f04846259e79e7d75813efb3831f182c0e61d40029de4c2b2bb0dd1fe23f163fbbaf751022ef72592697669bc11bb52189a23a5e41adbd7d754e1e2b9973b45 -DIST firefox-108.0.1-oc.xpi 574012 BLAKE2B a28dc92c975ed02025569850b0d5216d8cbcc7cdb69472277e1c14a4c75d09970f0b864306fc4ea7adfbca43008cbf2b6fd18272c4d102b441222be59bc2e90c SHA512 30b9a525d0a304dc6c8b4939fa8c2059a3d5e7c2cb93e8b5d136e1808576f10fdc7a5fab4a56ef5625e968397b04c1d574fe6fbe42b82166a1d33d48a1683c09 -DIST firefox-108.0.1-pa-IN.xpi 625814 BLAKE2B dca86502f7004a43fabd24b949c86cc3d90841388f45f6493ad8061fc288e6ec463e19de92ba549abe8baa71f3dfafad3c613bcd4c9ab11b1d5a96440bd8eb88 SHA512 dc3bc159a0c6ea1a35e2fcae39a0b9ea6a05d38067841cf3d7f1646ac7a5b279e5a07eccb443bb3bc542b292ca8fefcd0cc689ee4b610350bd6fb8af33c4c82b -DIST firefox-108.0.1-pl.xpi 579960 BLAKE2B 58df0f973a39d5343cce9f84a7d3766815123cf06b56b24428ffd1d2e66dc0cf4b5d98aae4848ef791a108e18075c503a1121a9af5c55c2a8d0b4bb1a86ac4d7 SHA512 eb41f7b55a49fb3c4cb6336764f1ee9f3d8fd28eedd82465b8ec9f4a012ca5d1cdd43f7c07d90091899de85c68e73addf0f999f202f612db6f506402c942a10c -DIST firefox-108.0.1-pt-BR.xpi 562421 BLAKE2B 8fb3b37091eaa68e4a75afa8308024896f14f70eaf33aab74aba32b2f4fc1b1c40f48400ef478254b433694e8d753685c4769dabf311ba21dc432848f83aef80 SHA512 a60b2a6f747f6fcc056766d13ce902ff43d12779807ac9ce0a2f6f73ad05605156bd06b99f4fb28c624b212454a7dda7fe000830ea9569f45f97ebb05b82f7d3 -DIST firefox-108.0.1-pt-PT.xpi 567185 BLAKE2B ed1ccb7120f2253668ddab2dcccb938bb504bb138108a1863c27966e53a142f3de79b199673f4a1305301150effd5da08e0c4f972be0aafd883d16091970f14d SHA512 5b24ba366b45730e329daae885e231401820dd80f7a2c53e8268f54c574008b18f78345cc8e81a603fca94aa4d7599b1f6b8a2ae77b8b721af624215077129e5 -DIST firefox-108.0.1-rm.xpi 557257 BLAKE2B 133eef76081d6efb3c36dd9e29ba074e6d3fabf2d91684c419875bdaa2d84f211b2f31fe5076502cbbdeea7e55872424b5a7c11d6c9869029da9a87560454b97 SHA512 02aaf6373e76fcb403cad67e13279fedf665d9d5f109b81226f13d451dc4275fd570d1d965f62e3d00011470d3c656278804be96869d0306b461099438f63554 -DIST firefox-108.0.1-ro.xpi 534099 BLAKE2B 91b8ca6df19cbcf766b18a41e6a4fac0189a1e089f42ec5497c2604d338802e5505df7e289fbb2a57feb6193bde9b21154ff5d2fe7b3d1e690c0bf557f217749 SHA512 172e0c6623356b02340a00f47466ce3633fb90fc96c760df887c9efbab91cc376582e22cf1105fc2fad6a494e2cbbc73ded7ec1345a70e4386edebe557cb5a92 -DIST firefox-108.0.1-ru.xpi 651322 BLAKE2B bfdee2b40544df3434809a76e3c820727ad63752d8eb17dcc82301c4b12857bd2635f1639238211fe8760ea38bb017446dc457800d13e04f49510bc038fd99ca SHA512 f649882ecc726ba770879e295066cf01922f3db55fba29f2a939923bc5bcf0e0fbefcbc777a260cd8f79919fa892722ad75c5f3d2b557ad1a236c9fc1bbad9ac -DIST firefox-108.0.1-sco.xpi 505173 BLAKE2B 4a08fc57527e5a6648d62814814a2c9877c7cf2714d6af82ee0b2a2e47c0086dea383734f7816f4677c38230e21f3f026c867625a0b09acec5fe2f5a9da71d96 SHA512 54ed58abd13fbc206bddf074aec8a5e6681a128d6ed6c5fdde9776f7907b17de60bd44805caf5a66b62ff09b262beca479c6b037252faa912f19a76f8e9e01bd -DIST firefox-108.0.1-si.xpi 572043 BLAKE2B 350cccb1686073e508a1b04899ca79144439f4117f6fc26f2047e20923b5f68b363b286a498361b805e732c7133e0afd6e361599d6bdfc4c7785c02fefe13105 SHA512 c4c702f3b37c6c0fcf00d56fbcf52a456db69afad5c34d22e70fc8785ee9e27004ee86ad29e58a4baffbe03a354010be3e7d9b44f2bf1e4cd4a13ea23bcf48ac -DIST firefox-108.0.1-sk.xpi 587671 BLAKE2B 41fb2d5dc4ac0bbe6cc59407f9752330bc95b9dcc1b450cf335fe501e4830f157af302a4e9ffb520ef6d4f35534d5dde606c7826eda9714ee7038274c5f24bf0 SHA512 db38e087110f5f375b6b28c6d8e2e8b34e7a1edb60699b6a9107a84aad24eda2f0b8a986daa5a39fa9c6ad207c96ed086df3a362c422865aabf8e2d05526fd0c -DIST firefox-108.0.1-sl.xpi 559761 BLAKE2B 232394c02a7195889608a6fadc8097aa5b4a8ee16e4ec7857cd5339fbdeaed8c77a400c0f65f69c2ce6b54ccee05f5b981153633a719f008b49d8217686c5e32 SHA512 917949c0e7c2656932f06fd9310bc04558012e4a85aa527ac6e01b5f785364dca8db98bee4139ab75967c1d335e845c09cc23dcf7476e0fe740f790ff6b5a95a -DIST firefox-108.0.1-son.xpi 422456 BLAKE2B 15db088ec59c7e44177a875a4602440c3f99ea96ac54f9b644d0709f5c9fcb69baadf8c8b7bdd51b1881c6b00e7a8c5d765c3cf7810da6d633e58452573932f3 SHA512 86a90f8258d762c8723115c2c90e06761b30295415d056065db07b318f6abb19d9dba6218ffa0a74502d58dcae38c46da3036f239972b2c3c6c206bbb21db7be -DIST firefox-108.0.1-sq.xpi 574787 BLAKE2B 6f5e81ec3bb6bc3b61e2b69240400dc0755e5a21ab7cd4c35008131ec967a1cf10a370149f58345a1e69084e0f54e8e10d7f37a5d0abf9be61aaf8eb4f45c489 SHA512 d7cd6392b6caf9cd8c57cdbda31d6f7b2fefc3f5126b17d62a303ebcc0421b70952514261b8e50f4a3474c00a08b1c5ae358ac4dc8d1331cb6cea71bc3a8a5f9 -DIST firefox-108.0.1-sr.xpi 615008 BLAKE2B 792d71d8d3de6720bdb27932039ff4aa212dabab6f6c6d3ff5758d3a2b0be15a42f7cd092ea7306a801b7e5a164dec138003ed091da9e450e234a19e10061ac2 SHA512 9b5c797335aa8c2e453f24663cbaa37f9ca669650324c5b292933113f7b700cd39bee1e23c41805a5c9114cc9cdb2c3b8f3d2461d8fb18bf0e35dc21d8eb4fa3 -DIST firefox-108.0.1-sv-SE.xpi 559345 BLAKE2B 819940fb4d30676d85149cff13df1e562d2ee4e3800a1831bb0cdb044f14963ae3f85d797be2212f35e3e857ba32f4f64830ecad089dfaa43b7df22958cd5836 SHA512 4b03f924f52bd75ee01d66bb8fa7d5e4c753ddc0742f97a826348653a279396dbfc241a66dc0e62222b0779a31a8c1f98b81ca2b277fb10aaedacc60430fab09 -DIST firefox-108.0.1-ta.xpi 509729 BLAKE2B 6e6c0ff855bc88a4e33f25960e2eb41a9e4c4b19c17d16fc95526c5b686045e781ef065c6c11c014a8639e2c09ebc1223350235c7cfe7b4aeeeba0a0385139b8 SHA512 6be51312154d7f327343dc3afe57228af887ea9759d89c579980034fbffec8df96cd5d0cd79bc909cd6a81261328d5a89d0559993d7ec9676e1ac1478c3c1028 -DIST firefox-108.0.1-te.xpi 556979 BLAKE2B d7b88eec32485da79c9faf584ad11fde87f7a8261a7787b3e0e757e44cffe06406e837c00e24d4b820284848d779597e0080e91846c3c89da99c727d493c5278 SHA512 166b72cc57859cb1a966af49dfdf002f029e080dc02d41f3b3b28a15670450d4ef3aac2955aaa2949caa8ff524e79fef8ec504d4511fb9f04bee16a76316fcf3 -DIST firefox-108.0.1-th.xpi 627888 BLAKE2B 6fa2b5b164c755d8139c2b054f0236731873f73fea74db9520ed72a5dde246ad6897eca89fc47a80088360ddc50f5a1c78c06560b0bdd78b71e3cc0912fa9f7a SHA512 d87de4c4b5fe1c7d093378e3dbf6644928e359d88e55fbb4e15d75e5f10dbe96c4a419a0d036205c22d681fe9afc504baf02817195c459b9148b5b567a51b6d8 -DIST firefox-108.0.1-tl.xpi 522751 BLAKE2B 318eefd13020e744da783da76fcaef33f9517c083631916c5d6ed7497213d48c962a59194f381efe62149df6e70b9f881b3a22ecf566ab12d97605036947bb03 SHA512 63d8836ffef5ed25ed1b63d2f04a531bab1d77361a912e3826fbdd72cdc1a9c10d397ad6a7f3f4317b29038d7ba8268c9f3148fd0042daedfc25b29790b749b4 -DIST firefox-108.0.1-tr.xpi 573051 BLAKE2B be4897f4518a9aa1db76b552658f53fcb73b1993e95138b28f18a0c47647c71334d37fe06b5cfbbc5474887286cbaf68dccbb1c1b965fe76211c6ac0b7675cc2 SHA512 f6db85bee3d5390ca4a01df9de7fd43cda3c176adc0682fd328f55a07c87514d70d3342a0097c009b36d1e629b9139f3e9f2f469e54e1f1c464867f0ceaa5311 -DIST firefox-108.0.1-trs.xpi 487417 BLAKE2B 76ed3e93822e4cd57ed9ab3508710103ba90a780055d1eba1c19ff769b31d377ec54b124c7a7176df18509ed3eb29cbb027beed4d4b0655779b24688f5fb2d3e SHA512 5191d76f88e4ec0cc3126bf16c315a16536a0d931cff9cb4a9c3a988caf494a1bcfc679324458fd18f0f490a4f00eb6185f286a9ae1d05f5d04c3586c7bc964f -DIST firefox-108.0.1-uk.xpi 644538 BLAKE2B dd4668552d78bebf088231685b0e2d27d3d4e55b9ec6f7483f15d3b17b51876238fe1b66eefb2dd87b3c30413e4a6cc59222a19f083ee7ef936fe24382dae39f SHA512 fa118eddf661bd3a17d0f4cca29786c8259b6aaaec7ec7ff67d3fc97c10ad82312267c656625c793bea4310acc8ac857ad3d7241c392e92fb2f498c5382fe3e5 -DIST firefox-108.0.1-ur.xpi 559040 BLAKE2B 8d9de2ed2a34e4bb5c4b5bc07f07b7b47e3b3fa7be18756ed284fa8847fe4eeeb4ecc3f1a5b12f339b077822a7ce4b36ca029246e9be830939ee231f8e2f34fc SHA512 9c482480cb741c57d3d955c109efe81a0f19762fa741114975c126a2112f5ae15b2808e9523f3d88e8cf634063cc861ec7b001801e866b082165df420b26d6a9 -DIST firefox-108.0.1-uz.xpi 478513 BLAKE2B 8d6996b019ddde66ef28c197d881ac8bb122b90b50d60c1dbd4d02a4d4f255f8531f620c9900b287188b7954503b1a673d3cf2af5bb1f5fef6871a2a71ab5a84 SHA512 5b401f30ab983c1b59d80009a746b9f530cb8a5a1730e709026036988b7dd08df9bf23b26599aa87d8d61785c228e9562b4617a3e7762a84ee208f75e7104a3e -DIST firefox-108.0.1-vi.xpi 594794 BLAKE2B e4e8a640eb55099fab21f6dca394d65bd11b191a4c5638a7ff806a4bdbacb02e7edc2c904a3909e05450923fcb9078634a8d32c585165dda045ecdbcb322b32a SHA512 0a9e7b90a0c5c5250a9e0273d1838aecf46d756b922b4a76ce44d77004ebc937161ee88f51b6996cfff445d2473738e2af815f5b191a35eb371760ef8e27442f -DIST firefox-108.0.1-xh.xpi 418350 BLAKE2B 3d4be6d583b1ae6920a907c25325cd7d75482d987cf9e990f4ab29984a4c32022b3664c25a23af19aeb9673f19329a06f4e969bb9be6517ea090a074f1623d07 SHA512 dce1700d0b736984164f9ceeb29292f7c6183a63953dcdb51519989f7e58745d44894514b52d6c94fb825cf9d8ed035753c1845db677b6a88cf4f5134cbdea81 -DIST firefox-108.0.1-zh-CN.xpi 594371 BLAKE2B 0c5305ab5d80a679d0ccfb200045351846e44139459a047ad58069f9d70c379d3c8ee00b89e61d4b5d26769c52458ac1ea9b94cc929b2285f21cd82736b417f2 SHA512 a4ab0dde55750b942592cdf836eb4c5a2a3758c51104b7068ba801e4abf0950907a88887c868e7a5ed82d1d82185e27eaa59c2ab3f01e4c68fd7f4b1efb42bf1 -DIST firefox-108.0.1-zh-TW.xpi 595832 BLAKE2B 2119b9f170e6d4e39632af1e8226e15383460e73f6fd7afe53b8366a88881b2fd4e38e2aa287894b164c64c08ec5f5a7b4a72897bd621560e23d2c8d7fabf4ce SHA512 d50ac669054cbd608e2fbd33964f468166628716729a2dda35950050c09029846b2995bbffa4490ba01adcc058219d26f72f1a4206aaca9611a31a7b4ac12c2d +DIST firefox-108.0.2-ach.xpi 454489 BLAKE2B 55fc5f61e15600518e41f3ab6f05e4bc9df466754a4be63301c6fc49bf0326f1f49848072350a5a7e452b13149673c3853e02da4dcc31ced809e321254eca3d1 SHA512 635a9ac1bfcd238adf4bd3df25435ac64eb58e1224bfe9da41723bc1d6f918e74c122818079aa9a84c55964bd348735a2325fbb1dc5a37f33d396627d056eed5 +DIST firefox-108.0.2-af.xpi 419613 BLAKE2B c75573c642924c21cc84c79c55533a13dfdd43adb1bac8361e3ff9b1ca43b591a9bdf0850f5f9306c5c3811f88c5e45c2eae4c95efcd18bfc4f35cf40b2f14bb SHA512 27388512241e7057e1d8459fe017df43173f34fbe7d23a2c59fc2062a4cbe7a48026b103661e8026dbe82fe86129446020059fe822ae935e0f21fb7bb5a9ef80 +DIST firefox-108.0.2-an.xpi 501401 BLAKE2B 2f3890b335965f80a630ad678bc5810cdaa9f94a2739bdc08f69fed8351801ec6b3b09895763713028bd36fe5b25ecd70d3d4ad44ca2e4c44e91a94d10673fe2 SHA512 269e5198d8e20d3171714d0e4180baea9657220c0a46f1f83ece9cdd5cdcf94fdb6d9e917f5b9231502e313a2af79b3de25be5d8dc2d9afa0cb5b6800d5e1591 +DIST firefox-108.0.2-ar.xpi 568732 BLAKE2B db943bb687f5daf4bd375d9a9bd89925b983625d4bd795ba348c46b4fe956822d985c2acd81e9b368e03b589c5c1133832cf3b791e8934173e3408ff4c11a6a3 SHA512 4830e7ee72f3d631efa8cfb41db1cb07465167c023c2ea2ee8c5b7902891ee46684a7081878c1656164af69172456fcd2a25e3ccfef4d06b4e7cb5f8fef8e5da +DIST firefox-108.0.2-ast.xpi 487891 BLAKE2B abe77294f158de1da275c2506a725e4cdf956f874755e7272f471e6292394f0876341dcae25ba4c120cbd78a044a4d545410c8acf1507f9f7eb682ed2adfcd6f SHA512 ad43cd3666c6def3a05fddbcd4f9a0afc6185e0f629d24eba7ef24c5174b17e1a37f164605365124dc91ff85894d2dcbd68cc5b5f35df881dacfdb9328af0c62 +DIST firefox-108.0.2-az.xpi 490769 BLAKE2B 6d240f94c0b508684893e476fde23aaa845ff28ee2077050635bb75b083cd34b81324cb788cccb0365db1134818b4bd62ee71dc61e802ee3fcb1b9a31dc32326 SHA512 e1a8f7abfd5da8971eef050313d881721940bf320345e717913df24a6b745f7f71f63b51730ee00aaaea4941b8c775f2f114618b9e5e02c1f812fcd6cb923b6f +DIST firefox-108.0.2-be.xpi 647001 BLAKE2B 24c6b0761c9a27680f9580ebff35387ee424fe48e238983af6d4dad96f36a99b1aff3a22751e49496fffec531efb73b3a2219034c9ecddd11fd06c3209947b72 SHA512 06169ad3e83375c6b9fea9e8bea73ab2fb465296a0c8fa9fddec8d0cb846baba0e8f8cf8214522c6d685365de187a067d43b77aa3b9c8cdf0f18dce2dc0a4884 +DIST firefox-108.0.2-bg.xpi 580628 BLAKE2B e0a75b37a5af8cbf89c011cb40c28c75fbf16394ec83a0341d00eba82c5fdc42c2a5ca72b256b8f0cfe9477870371990942bfacfc00149028143ca37eba2788b SHA512 09a0388c3be2bf1f971baef95a9af35f8b6d01bbf9f02efc1dd19c0d7a012dc4c094dd087453844b6f07f1f57ff46cf8b8d430200888e872f38ba386932fe435 +DIST firefox-108.0.2-bn.xpi 579706 BLAKE2B 6ad0215c138eb1540455638e57af61761a7a08b8c008ab45f36d59994a96d447e4575a322bb01edafffd3a502d49b896b11af60f6840545fc3f27755bc512833 SHA512 a38514f09f84cc0dbc6dfa994402e4985d5fb4a60034ce107040d46fbdce554fda5ffe85c56d19e1bd305bc082f73e9e63752fa63263e9f4697dea65ce72075f +DIST firefox-108.0.2-br.xpi 542582 BLAKE2B b10fd2610a889791b310a49bdb4f21c8c2e89bfa81f6bed02c5161af0404d75e8147043b016383e5da6f9ae9dddcfd861d57e8238c7d1f8f843f0a9ce1a977f2 SHA512 9873bca1adc1345c93807f60f76f8ae383b751ebac1e81534cb8a192986e8da106cd29875102ea3fc2e58794c9de21c7bc3df0f679cce451ba02b3cdc9ba7395 +DIST firefox-108.0.2-bs.xpi 461634 BLAKE2B 7dc705c4b222d78e413e4c0acfbb4a3ac09ec5fcb99e638b0fb8a741b6ef2edac506fe2a78bc1212a980314d6ce10585acb7f3d8cb9a1191c363ded0e6ad56bb SHA512 e789c445fc5a694955ac147a9d956bb6c5b47c2b0caa09dadf02112478cfcd6d8ccca89b90fe2c24201401a212e3189951207e97a58f3b2f2e21f832e35d5f07 +DIST firefox-108.0.2-ca-valencia.xpi 540300 BLAKE2B 7a2e50e4dc1ed9ed863c294229534a978d5c37dd842ad47979a39c973ea4558d92f7539b9bc26da66dd666a22c9b430c0f655807658409889eb31d69f383c38a SHA512 322b4765b17f2e19ca79c96fb492986e384d054068c4425b1411444763b9b07e51fd862263705f0a472d860bc445adfd89281c0a39c4005da043333f88f7eed3 +DIST firefox-108.0.2-ca.xpi 543824 BLAKE2B 94e0d545c505be72a26df474c3ab8dc602469324e012e2a8f51806c079cec7c34661fc781e162ec30f241031514ea543022b8549def9d40bfcfbea6f16cf55bd SHA512 9287167e2c12c4626fbd430e4443f9df9c8841c83eb18923020545c4592176bd2c4965fad8ff0fb1743fc6621921ba7c4d9ba5432eada6f0ee50d8d379b7eebb +DIST firefox-108.0.2-cak.xpi 555254 BLAKE2B d0d7775050c9a738c3d086e584037e54f5c4e8ddc3e4b1aa434ecb9e3c53ddd71bb38707c524e28de15c9e4fb978e6469d510c78baabe605ccd0941f29e5c14c SHA512 774e2f113fb894ef926d0bebaa901d92a115aecd351bd20e15fe3fd265cd90bd9d3fb4fece8c8826b16e2a7852b937a9dd5c0dd8c4b377a4397017a6abdf3518 +DIST firefox-108.0.2-cs.xpi 582578 BLAKE2B 1a0b28a56903373abdf6d2b20dc59f98e0b75955163cc2d44a7af2e877844fe94f67217d0a39d3b413ffddaf68d35fd2d90577da13ca25a5da88abaf33084f0d SHA512 5e0104d424091d2463f1bbf43afe73b012f52c572beb3a9b5f16e23ca3718a52a3f7501766288c239d16df90aa239c8f25e2c0079548e479242f7c84d5b5922d +DIST firefox-108.0.2-cy.xpi 562651 BLAKE2B d72a613b3372332b960e741825ac7e4d56bb91f41c3f0bf995bf7e3a8d9dad245702e51a86e03840c3ca49cf52e9534ab6bbd1b8667d68e83c35c054425a522e SHA512 6f1e078a02eda4197dd1291554b5908fc624b63f6ebb454ea6e3e9a71e1eb21aa072908b6f25a22a706e2ebd27fc7af80c30bd4fcdc1d8fb7e01ad67cc0c19ef +DIST firefox-108.0.2-da.xpi 552350 BLAKE2B e2025b49c96108554741fcb43b50f3c0fa767655a32d5544bc1243059d7646d9526d5c3fdf9582201fb31d3a78fb74c1347a6bba57d7a211a78c02ee660ba2de SHA512 ebedfb0224fcb44b7bb070b0bbc4ef9b2878b1dc063639af65275a7c4b30a71a942c5841226728b2a30fc51c388c2046a02796a2e0cb2992ea52c6786507a27d +DIST firefox-108.0.2-de.xpi 573559 BLAKE2B fa4da5059bd14ca5c2ea051319ac2a41a0b8ac24ec58d9a56e708218495f26cebb457f78c53aabc2864ee7470d90bfc8802494ca58c1498314a3c3dff68a0299 SHA512 9876230eb6f41ae493561a34b7d5f05f2b6d2dbb7510807d12012038f1f09fef71b58225f34092521f96d56afbe0aad285bc9e6cbf29ec60b06f0a3b1a0cb7b3 +DIST firefox-108.0.2-dsb.xpi 583380 BLAKE2B d0c558cf058c1b1017aaad070bb1cf53dd8b4e5226f2751bffdd6d620806cae143df37468486d1b007f9667a8dc6cc6aa5cbddbcb09fb0412255956ee1c75ff5 SHA512 407818f1ad40d5c88fbad121b3a4a66070a11823e8445be6bba4d0f16cfbd0e2a1af652d409bb19c5c3fc1979cf47d7ee8f24d874950480a1307081c55759e09 +DIST firefox-108.0.2-el.xpi 662922 BLAKE2B 66dd77078be21a6305d955dc3a46894a58a4602ad80074bd41e434931cdd893279a25c7fd6aa81e9539efab1c08744a0f33913dda652df304907bd2f6e2b48f8 SHA512 e0652bfe6e5825f578b72eb713b0d98fc4c79e13f0aeba827fbd99e1f9012f23bb3025afa75aca541b996fd190c7c562ea107a4e3f17bbc42127ff3811f8a84c +DIST firefox-108.0.2-en-CA.xpi 525761 BLAKE2B 5b9c4ffe9e4ba92af7e5a9af09eb920d3327cab4d159b7201e17e0310d11ba68e6a063632aae11631cbbc8b6618fe3cc9c70cb1fd86978390b6fc63e248cb62d SHA512 40226451860683fd9f09f4c6acaf1876ef985d92416a719b25e4f6177d9ec0413780ba541be961b84850f27d00d5b7576e8245fa2d888a68362aeb20f9ff2110 +DIST firefox-108.0.2-en-GB.xpi 528689 BLAKE2B 4b94f7f71b6e5a668b1aaf2fe17c9892b98174e08e054609186d57fbb11227cdb563989cd8638a21554f1bc9e24ab077ecdc2b7f5d5195ab7007d2baf9a429b4 SHA512 14a08c3c9bddcad101a2c8ae1dc5d9fcd9b4c70c69cc428b639d1c21731e6f611149ff65a5639e7b64762feab49a812fb63eac1e1a17e841270c76aa9ecbd83e +DIST firefox-108.0.2-eo.xpi 554182 BLAKE2B 958cc2b9d29e4929918d0b7a2a8ca60937d6de7953cc7d5b4928c825fac57e63c7c9f0471b596365e45f29e72b3c2b0b4bdde9664403bfe13bebd48637a2a94e SHA512 f620ebba27a2a0b93fde069c5985bf236473859cd58297d4e23e900bd61126722526cae2626f2feea5cf0076bd6df1bc3310bf21e0de30273ca22631980cbc92 +DIST firefox-108.0.2-es-AR.xpi 567750 BLAKE2B bf7494a574471f64246eb046f2825ad9198df9c61740c4248501defebe26bd69cee9d0dff3cd5119d6c2367a6151a6aca2a0afe1a0efc8caf06de388c3fa9d7d SHA512 70c22911d61cda8269a9d6f29a99534cd224bfc9e8cca66facf706853af84ef0086aeda89e09ce3b46b1492f00d854924accdea6ba7252ec887532e9b616d622 +DIST firefox-108.0.2-es-CL.xpi 566908 BLAKE2B 1105f187dcbff845285e1464f67f60354344a95b5f9aeb012c1ae2a4a4cac8d00537fe807b6640af709421699634fb448952622e7062ebaeac0465469ce08d79 SHA512 fd3902e8e2834324a824a7e267d6ddb234b1e965f8fdc3ec3b1c4c53d1440ea36db51f1d2f2ffcc03c4c857d8184681af3c78c3dafaa4530777e142bfdddb604 +DIST firefox-108.0.2-es-ES.xpi 559308 BLAKE2B 7d1fae2d0fb6b8cdeb105a40c815456f64a021f864db478029edd06977f484b588481fd714885a642ae3bd8649ac207d803b97b0bcbb2a3651371e7a0e0f2428 SHA512 59087aaa9a07ead15a532778723661ba361f346a84dfbe9d9fab253c6099f2c1d3d20f0ad0ba904883c0250073065ab3b982b9eaddacf679cdefd7b06c8e1879 +DIST firefox-108.0.2-es-MX.xpi 569581 BLAKE2B 1e0d3bd95bc58df979ac3b6e5e1264f45f04e9741658c1ff5301bc0d2ddac150a08124ec16c72ebe3afa7b3910b4c0f9bcea84f7631ad251b92391b0cb81dbd6 SHA512 ab3209962ebce29ba398660c3a84abd1158583bb647318bd913342b1d16aff0ef68b74b4251d617dcc7d2efb9048dbcf726bb2e30876429c8e2b9c921b482741 +DIST firefox-108.0.2-et.xpi 534535 BLAKE2B ad5012473738b8cd7f8a4d95aee6a272547de1524decc82170e1833bc218de974681d93c0e392e3e039e5a7a3be883b32453f4c48c2b5eaad4603a5b25ee1649 SHA512 d9c413571b2f2743e37d53d7653fef13b419dd9e53f6cb423b7ebc10f7cf3efd72fce921406536954892605c387636f96edfc4a6d7640d7d05216baaa2e4a05c +DIST firefox-108.0.2-eu.xpi 556958 BLAKE2B 951630a6b2dcd2130324dca280fae3c759e6e45ca8118f8ea2cf6f0b19cf52235a2e4cb14b5fc85761b0e39819a5bd39fb26293ad50387b36db8bb55d75e9d06 SHA512 e58014302dac1aaff2cd43c623d3f0173e43671aced27ad5e600d9f7be25dcb7880846ab24335daf970292e697ea535b4b5e531d5edb49eb524e30100131448b +DIST firefox-108.0.2-fa.xpi 572384 BLAKE2B 8a6e68cc54c3c6f61ca9fda0d335ed5bcd348747c6e8549b5c8469c375e476fadb83fe1ce722d8bb4ac06654d0d54bb3cb270d780dc9bdd53a42a60ed8a8f3df SHA512 489c73d8fd1576b7070edc3ef35c95ac02a7c359a5944bad55a503178052c160608553bad8ffad93c4ad7923a6dc904e576051c7078ef52ad8d9893372027153 +DIST firefox-108.0.2-ff.xpi 474487 BLAKE2B 2b08ccc82e62bf754d96901a06f7267a28b45c22b3dfd0ce62b340d92200600c7c66f6f537fcd1cf2c6bd8c753cfab25098f3559daa0f56e287b86f9a1dbbae9 SHA512 b56cd975b5f047a2c986866db0f6d7530fee66e1c5433d6581e9fabf250b5faab5e23ae5385bbd0eb0f167727ee4ea52040460fcc6a0a3f86c695b31fcfac148 +DIST firefox-108.0.2-fi.xpi 552985 BLAKE2B ac4ed7b55946cfbb82ab68f018778c10985fe839a274d48314216590f2bdd8364e4d0b015190a7193c0230e63bedeb873889f51b595fe9b15f58c044cc0dbc12 SHA512 c6eec50f0ee685afabc281ca04a405064d2adc94790fb066a5ad850d45fef647acccb0f77de3509aa8fa9d91a0ea1e3d446cfa60c848c5d15fcd321c7240bd9e +DIST firefox-108.0.2-fr.xpi 579481 BLAKE2B a41d4f1d387ff303c5d53bbd6185148b682728a07f2d48e1d439c9f9389b4493a90be9ee61b2ecafc2011dac9dff81cdf20fa610dbe17b4536ea152f90deacda SHA512 55b3a2f2fbc1f9ed5531c572e63f4d2923202ee3eb90c6685fccb5714c272b49cda8d546078ac757942e7220d7bd9e152005df5db93e5a43e72d115b13a8b9b5 +DIST firefox-108.0.2-fy-NL.xpi 563341 BLAKE2B eb7673dff03e67688556001cc208898178f2482e71816f6ef55f96755effbc795fb58a52a1902301162e764f674d89e41459b4a6acdd560b803f71b6e99b4b38 SHA512 4d3091660b3470db3d16ba125edbec4d67d86a334e2ff5edec3cd7eb53d036f58b8d675e2f681a8c19485f777bbb628d8804bd54b4f7fa49b583c9958a8757c0 +DIST firefox-108.0.2-ga-IE.xpi 470255 BLAKE2B ec5f41f4ca2d98fb3f5266167d73a11ae0c97623a75376d36417664333f13c09f13ca545cf9c42b3a8e72adc9147bee94e4a5a681391ed0bc57064e70a60b3c4 SHA512 e08298dcb0d3a4073791d0ce970598c59891be453f3d5b66f6925085861ccf053ace6447000b9c09e26d1c7199bc942b6c29cfed7c9643732f88c633e8b93110 +DIST firefox-108.0.2-gd.xpi 548831 BLAKE2B de6309cca6065c6c1fe43f0cfe3111aa5abc43207cbe228341b537b0904a22d530a04db2a313eade2f40689c3fec1099bda42f36a3c393e61e95220318c8ba61 SHA512 f5b0cb9286c37dad2e71d541b49bbcdf8bfc4e6deecdfd7aa7227c93c42b1ec177242c95e2a5bcda6341243aa55617b924e6d0ade74bb97bf6b8d42c8052e009 +DIST firefox-108.0.2-gl.xpi 543433 BLAKE2B aa02cc4412f0976a9210782ad27071e456e3bb3e3a35207df7baeac304f92db3a94936321660236077da0af144b62f490aec32d9f492c1f967455ae5bf011c4e SHA512 cecfef1e7e40ff907063a1fd560ad2ca79e2e88dbf696c0a9d473ed35aa7f101cd9643dc1bdecda797f7552f35477dadf6fd9112da7aa8a6d34899e0db6951e8 +DIST firefox-108.0.2-gn.xpi 578518 BLAKE2B 4309bd61a686cee2f70cb66262558d6f309e2d7af5fb2664b63e40a21d5f3d62f8570742c3e19b8809f614f4cc2676c4b891568af164fe2d764f6a072d7af89f SHA512 6dd617956ff3a720217adfbc2784015b3a430f8687877604cfdcbdf39ad5bf0a5d5363073756fb4cdf0984a3cbc7a6aa1e17c67a2259a06daaa96c7de2dda765 +DIST firefox-108.0.2-gu-IN.xpi 529444 BLAKE2B 70ef657a6d96f1f0f2b8d856026a52df863cc4670afe992d0460dc5efa81117187d38c71d12ce60b773e3701fa50bff0876748ab88e262696ba13537063feb4d SHA512 34d3b8957ea4ac0d7e1a22a9a54b35788382184a556812ab799b45d9c634d34bd544402830651813a88061aa9005ea6fcfff2ec5dc84c31df633b8926c8cb662 +DIST firefox-108.0.2-he.xpi 573915 BLAKE2B 824d6bbd21f54beaa60bc35d8daeeb3cfe2f609aa7d4019a58ad26807da9dca88782578cbdcbd7aaaba4271a65997190af9aa1e6b9f4e14631349c6c12ac5aad SHA512 79aa5acc0499f4996817e7340737dcd8942dd234914713845ecc8653884e2233eea705ec2aef2989953ea02f97be044f49c59588480c95538c0e8621fd265103 +DIST firefox-108.0.2-hi-IN.xpi 558584 BLAKE2B 6a5d8c59e596eac909c55baab079f17032ce0c0104a074b3a22cc39dc29f33e919e972955a657cf35cb0faa02bf545d23f9d47cb73456522f07c8e99e31a7b9b SHA512 fb5009f2bad35b906c09b1331c261907caf26bde81f2eff74267d2930a3c0d5d3fab1db0ba7f6749cb5e57e9fe9f8efb2c6022cd9247f2a2d95fe08ad1b8ca40 +DIST firefox-108.0.2-hr.xpi 538316 BLAKE2B b070f1578f851ae0a7031eba0712dcde80b623f9745ab58f5a86a703bbb16d785a2a9e75615d21971b9217917d26d6d30eed05619dd86819f02a246c4a0c0481 SHA512 946bd5891cc03ff2575b49172460a5e7aaae6f8d46b6a871b21fe83c71b0421546a095a1eb3d25b4ccb139c7fe96286036189dc37a6045640a4b3ecc24825c3b +DIST firefox-108.0.2-hsb.xpi 581695 BLAKE2B f6d97d5af1689773ab8b74072e3244cb0060030a6b764d9534b08ab9dc9f969633b8f5972b72b09bb1a8bb0386339cecc6d9fd0f4d4e1ebacd5ff91a36207285 SHA512 6be0d3d833656d5e591be93d06cd84c95a7d8dec3e9ec9302177dd5cc3fffc9d28583c6f0bedf0366ad51a7828382b1cbb3b9f82e8efb61b95643243f8b8626f +DIST firefox-108.0.2-hu.xpi 587855 BLAKE2B e0062861f6f926b5450f4a4a07a3f2b6aa9e1249903f7f4279be345977e09e5ab6d26c9931c06e1f35f4fbd916322eaf41fc7577220a1e98464220ff3371a4c0 SHA512 67207ab8c4a6a3ead43699e19e952a1fb90fb8b95de785faaf3e479196034eca3c6a7311640edc8841a4c440b40dd517f148d14c4ec439a8bb4e729b3c1ee9a4 +DIST firefox-108.0.2-hy-AM.xpi 594652 BLAKE2B da131950ade7e123c8a5fd84a82c2369026af7c997bad00baf78b67963b74a431558d7a1cdf3a4e6a8c7d51bd08ce77dbb92a37462644e9b79d64b947a5f072e SHA512 a0e50cad6f0929597ddf168c42274186fb0f0dd217b652955b0681c87d93d7d30c52b4f4800c56b7464e2abe64498760b8195c74a44c600b3a57360f6c589cb9 +DIST firefox-108.0.2-ia.xpi 551764 BLAKE2B 2d709c8bff54a877aea23351527266d8166df327571381835684aa1102d8a69cd03bb58200a11ef62858a7cebbf1cddb34b5288cdbd4021188d3577f4031f8f2 SHA512 fe5b16c833fb66583b09cfa79b7adee82a399d12498b77b87e0a84b6c77e7f648c9ff31c3d2d16ae505f82a2f3d93b04a1b5848e4822f6c2042730b88208c33e +DIST firefox-108.0.2-id.xpi 548616 BLAKE2B 3552763058e1da4739b2ab8449a1ec8de361e62848aef92b25a7c23f0ac9bcba5c1eca59d3b59e72cf5056de08b3f8f772566805974639ff12019f138b4397ea SHA512 504394c78b5879e27fa7db57f906d86f483a121bc3dfc307bb788d31beb7040e2a9ecdb1fc06d69f253859360782e683be82ffa2884a97ec83968cfcb0f8f396 +DIST firefox-108.0.2-is.xpi 560749 BLAKE2B 4344f7d2d794ad131f961f36b4ed3f5285cae314b0381aee1fdbc86a5b659ed834767dda8b945f9f77214121425d0c7231a67335f598436868985f85a915808b SHA512 4c8b277dbc64b4cb837ddaf2e28ff9f4b748936e1e090dfb24df3b3b89dac7cf4693a5429b4488129ba7dc8fc1bc0c6908dcd810c84e38dea82d44fca42f8a01 +DIST firefox-108.0.2-it.xpi 488836 BLAKE2B 3a05c4a1abc4cd81985039202d1eefcfbf2435dbd0757f7c2322cb80a7cca8d88678d28469c43f9e7d0448a3b52fca27c174e6a4c697e2184a1fba326e97ae8d SHA512 14f8653b1c9737cf2cd0af7b0c7b7f9cdcce8b2114fc05a7150eadff7311b9e84715565d5cd87bf4a894a1f6d739527117fa7989fe10ffcb5b5381b7d86c542a +DIST firefox-108.0.2-ja.xpi 612106 BLAKE2B d9101041007333d3f41c5a0aa48fcd4040d3537266be3063087f1b4e81b0e074f68176e88eb45249e15224475e9539d44288b323cceca580e973d3ff73ec4476 SHA512 a52c921a48200a3c763cd8e2ce02c5eafb18a084c0b2bb3cd9fe41fe26b45fd623bf4391b64899d82d14b9bcfab532e717aac89f00f6bb5f3226aa54dec5220d +DIST firefox-108.0.2-ka.xpi 616446 BLAKE2B 455044325aace350015c8c0cca9ed15b226774e6a018c9e71cef63fd08f230a8f6644e6511a986e47cbac025ae1569484b5e3be486ddb08f75bdadf63ee025f3 SHA512 f5e2c0f8183042c1329fba0bb7e74951bff307df900ac115655bd42d92657dec3602a27ff588d558e4c21ba90ac9bc541f87dddf3efe4b97fed629e37c672cfd +DIST firefox-108.0.2-kab.xpi 569588 BLAKE2B 07d1d0048930e3b8448935b36e65ae9a002a1a96b82269f9e533a72c50dabbeb1b9272e56e5c0d330e03fb43d9796180a3b1634f6043e05a93bf76c3a236d9d2 SHA512 f99a14a9e0d58833641b5928b57c3b8ff52cfb8d7774ca129c9fc2d0144fd80533214f3f77b1743128e900224342ea9e021c5b8fdc8d8445395129fcec3b3c24 +DIST firefox-108.0.2-kk.xpi 639489 BLAKE2B d198646f6396bf54864b6caeffd78cb032393f624e1885c22aa967c24781579cc3fec16561b88bc8f4f1172b511daa72d30c47d7abfb0f892224961419c2bb79 SHA512 3ab50c41f3e9118c54465275f4105bf5e4b56e2096eed4f43f4639ffe72cff64b05e7b1790c75d4d54eacca1672dcba382ef741f7129aa1d0182a7c387f00f4d +DIST firefox-108.0.2-km.xpi 531206 BLAKE2B a57f365da6ea5f55d31dfe5389dd18b2cf5f0e37779acae8b9db590397509cd5a457fdadae3b38eee88baae84897ab5e6157a7d83e51488a4db94e3e7843dbdb SHA512 09d7340db2aad88866d609709ce0b97b12d04fb35eff43249720a808e56f04be0655df5b38da3ce06fc541056d0c424da8ab69e4ff3f749f2984b75fc42f8458 +DIST firefox-108.0.2-kn.xpi 496778 BLAKE2B 37c623199cb77898ab8a456edd0c3d11e77b60955067e8a4f3311fc5a8ae351b50620f6c49b1bfb193cf8c1a8b66c73bc745e4e5e2cd78f0aa50b76063cf96ae SHA512 a2505e4b0bd50dc50714346bf8c362655fdc82ed1ac3f3769fff69ddd221191a408b472b9d8bee09185e685ef10e629953fe0a8b1d836b304a6adf617c99a0a2 +DIST firefox-108.0.2-ko.xpi 598494 BLAKE2B 98d11ac0dfc967c42ffff21f7138b45144a8e1c0276386e1d80cf8acccbb7483b69905348a1e31a5c5c0a1646be42b5acfd621008d5570b11c09b5de4294f5cc SHA512 e7a32a7c0326cd7413aa1eb7b3a407605405b96dcfa3ae8836a3e345a31b69d83aa14abfa3ac4c442323c00c2eee66f444524544e33d854da8966855e3722ec8 +DIST firefox-108.0.2-lij.xpi 471419 BLAKE2B 1a3d50a87eacad3c85ba5e84fe8fcafe9c4747cbbb635562d81f2eebfecf8d89494b0b3dabe557831f852075f1172be7b8d3ab4d0b5c9373cb43f3078a09ad96 SHA512 d95895e346d2e33e2b25a23ec52ab5717933d5f2118e5c36d1975077b0a8f9ee356b74a2d30e3ce0b2573b4527097bc9b218cf9f160589998930c43d409f2239 +DIST firefox-108.0.2-lt.xpi 566420 BLAKE2B c7659739c431b90f88b0141585e131f9a4cb252565ec2684cfe4e1000fa29f69a9a18f6bde99f9552e06c0e6221dd119fa65622bbf14b512d3931ad6a2be8078 SHA512 0b58ee7c41f27a999c46375397c47b6163eae0bb67007544c7aa401a4481af6bf8f987a695546ceef2749e93a5dc7172a35a8e41f6118c9dc5db8040362869f5 +DIST firefox-108.0.2-lv.xpi 466199 BLAKE2B 84e68c830819c8ff3434c4b85b80afdfcb59d2ad30846fdac14df0b1c03bbec39f440ffecac0175594a54d4b30bd91b26ed4dbb4923d8ccc0011fc55914f561b SHA512 e4ef1e717b00e190897acace23b33e45c63ad79f50f0969ee4a010629571829ba685e8ef90aac51f507ad09da2a2f6ea285dc36bc501084be0583d6a6ffd1163 +DIST firefox-108.0.2-mk.xpi 485634 BLAKE2B 9e5e0837b0e1598690fb364eb2157ddb1b2cf5882039cdc293c5b785ea52e0efaf6e177beed87c8ed361addb0530432082db745cbbcf078415575acdc94d543c SHA512 bf9324c1b243d1f5e5ed42e2ea358be4920dd39edb5372e9864b062e0971085e3dbb8d0faef2851ab87e228541037cd5ce6e727e147c2f13cc0490f16e457a1a +DIST firefox-108.0.2-mr.xpi 531998 BLAKE2B 782411cf8124804f7a8325d70a3690c02853d72b45c26a3f368bccfa85540ac719868cfc67e32f0b0aa42b7cc16daad44a96863071955500af631121f4f59fc6 SHA512 737ece11efde388246a30b8d574bc2c2f41db4114c03d6aa71af7f6494931225e788eb848826533add863c7b48ced26e9c80a5c4ea5212e9b11ffbe40e4be9e0 +DIST firefox-108.0.2-ms.xpi 450666 BLAKE2B e589aa510967d95ecede7eff2d40db11035fd502f19a6be48d3f3f60e5e4bbd107a5e8b87aeeffb9f5e30f217e7bb93cfec54a838995b50c412499e86b0c3b03 SHA512 97e3416545cac59d07277b714b783ed6f103773471680e99fe067cfa9999a1b99a79106bf20ad1a211162ebfefc26165278d0f426f8d4c3cdf0ec82597fb3ea5 +DIST firefox-108.0.2-my.xpi 517679 BLAKE2B a8ddce4d313ceac260b9b178fe19208aed3f0335a21d6a0d98dbc682c5a636774341678859ae7153260adea1c3ff0f636acde4fd527f85dc78c404a59af81278 SHA512 26a15f83a029c2d44d94d7a5125601dbee5a5f88c510d15c0ef939243a8a21af120bcd0f9a92a18f8a107c63998afdcb54db6808d8d1347a34b7b2c4d42e3eef +DIST firefox-108.0.2-nb-NO.xpi 549692 BLAKE2B c8c5cfb9241d703462fbad1fb4b52b6d50d203db385a17fe0da2265ec8de42f2bd466d72420665ea962f9eed3d85b57a3f3a4ae873ecfd30ea59cd0f0e2bdf3a SHA512 e0173f8416ff9a6be4a1695336ae4d15d665db8719c72565e6ee2fea72c247b9b0e175b2944696ab92f9f944550b8fad2e1f6a52a8740fb73d7178f46f0c2799 +DIST firefox-108.0.2-ne-NP.xpi 485228 BLAKE2B ec5c22789a7609ec6c4301a4074b7057e6f5225a929034b38a71e225a23f740a0792f1415e435eaa496c05075c9f49cb8554848c6e492d49e2795dc7c1c8890b SHA512 151c62dd190ae997ade94c38125a8aa3b37348f2550c7e3f12f2133a276118208da531137f3cedbb364b3baa1058269555b17dfce7772b83a9d195b7a8fed65d +DIST firefox-108.0.2-nl.xpi 557507 BLAKE2B 73dccaeee1fd4ce16cf36d003622cada59251471db31c5fd52a07aafca221f3addd0ba4c83b0a8333a2fc18be969b77cb0dff6f617a125c5be0281c2a4035a95 SHA512 679f250329de71dbc09d9ecba7d0088cd485bfee7adac3174d7d7641e060f39522a527668f6ea4f4567b28b7c99933a6960f74b7f4cba49a0edda27333628c21 +DIST firefox-108.0.2-nn-NO.xpi 550020 BLAKE2B d8cff51c4c59bff45b55b4ca66979a5f3f030093704858220cbc0ad9e5bdcfa0cfddb3325e99f82e6326087e7409b04506bd8c224258d6ef91f951ebb94a4067 SHA512 b1b4875249ef2f1f582c49521aadbc01f3ff041794ab040326611f276dde41bd527a5a2b7114cf5c1d36e1fd58cf0af4eee46ae5c2ae6e4ce3801e1811171861 +DIST firefox-108.0.2-oc.xpi 574022 BLAKE2B 35d6199a42688db9c52d8966e83b4589cb6b4efaf446126f3981b454f862ad2bba7738d0598a9c210e03d090181c5d40ec3cf17e1a91aa49c736921de1da506e SHA512 324430a39862e06fa24d3f7dbb21e668c78e221ddcdeb3daf47b97bb5a66927df9c105aaa554e3f51386616eda27a0277860d7ba7a4a0958f91166cf9c846b6e +DIST firefox-108.0.2-pa-IN.xpi 625818 BLAKE2B 28baa0b5b0fd6276c14fd324c9c78f69c9ec7b66e268d0f25d226f57142e056ebfdb905902c5623218c29f51b71db89af6e4d2d4794e43311179aa772b5749a1 SHA512 f4970b6055369e631e56661c06bee915c3a1e88b4fcf4a71694947b98d1a49742b0104a560b84d55cbd6009aac3d02718e5ef0929f675f27bb9e549393ca4483 +DIST firefox-108.0.2-pl.xpi 579963 BLAKE2B c55d0fcca36a81b914fa9f03a2dd5628c208a81161d19a9511cc80dacdb763f6f4d2e1422097ff66d02e2e16dd2f790efcec32b4b3a7690c6f67b9dbbc461d5a SHA512 c2c926f4bfe736e4895a37403c7003572ecff4c43920c48fb7f71662095beae7103637e77049ee38046f395a4241a1369aefcd6dcee19743e175176b8e6abb7d +DIST firefox-108.0.2-pt-BR.xpi 562413 BLAKE2B d3417467b0ba9525ab5f81b15d16ab8862ca09717a354a2e8a80e74f336b958603c8c60da6953ec0440699e910b4032a30f4276e459bd3246ab61999bbe2206c SHA512 63f06daf8586e77f1746bf891cfc65a0f11ab6dc754f1f4de6322ad1ea0d5211a2a2c0af1d25b4c271a0a55cbe52cebde1065171dff1012fcd6142be94b11ec7 +DIST firefox-108.0.2-pt-PT.xpi 567186 BLAKE2B e5e8892547f31d1d152884424338942dada9cb6898f6cfb32ec09e62730bca43954c7e3dafa0a994cca51431cf015cfb0ca950dd5031aa41c48b3f5bb777ff70 SHA512 88b8faeccf7b7c8271bb59aeb2ccbafef329980c76c00b4e7bb14ea41ba265d69674582b0544a8177129b261ba39b3c20b26630e606b311169da63bfa01cc733 +DIST firefox-108.0.2-rm.xpi 557267 BLAKE2B caa4e930b86213eb0c5d3f07acd36ba7da1a71773a68fba57a894fe46987edaf580abf1a5cd2c5d6a51e7ab966b1511dbfbfcbcb562ecfde8fb5941880318c38 SHA512 50f07da7c05e07e5947d652846abccf0abe59353e1104df0768ea41d214041dad111afdce86f2dc7a316c3994513729eea4f3caf54bf7254697a4a4a615d8878 +DIST firefox-108.0.2-ro.xpi 534115 BLAKE2B 2bcef6216557d73065f8ea5e91aae0ad956711fdeefa5b97c28be12f07ffeb5327155863bb458cee4b674f9535bc8e864cecc79de604d881791021f3d31144b5 SHA512 c06bc81f3a2d34181323ea78a5e617571b50f375178eb5ac26c989b6b16f554eba4eaf5aa7e00502fb031c088c93833c06615e1ac3804277c59ed639f3a161ff +DIST firefox-108.0.2-ru.xpi 651328 BLAKE2B 58fe64e52c29a197cb5f8f17211f9a0222949f8e34afe8baf21d2bed6811106ad7812bb25575747d5c096363636144b0473b1401006c67454409bce40e8ab375 SHA512 147a37447e31a43aab428f8df4884bdafbba5ae465be684dd1f8ccfc18b384d213fbc63b6327f40fdbcd88354b24f691320f6e8cddecab7988fb7acdf80ef970 +DIST firefox-108.0.2-sco.xpi 505172 BLAKE2B 1da36b01e6ccd4cba1bc4eb14ba98cd7d05a1adaf799d78574f6247eecadda982a5e2475ad8a200b1419f78a06de52b1998b2cff50f1e97a5514431d0dea2a8b SHA512 e7ab13377a92ce03f73fbc07cf35092a3680f83f801c63cfa9806bba04fcdd6de7f4ec12de2891224cf54a87b6280b1eb52a7355a2530b6d38585e1f8ee6ac22 +DIST firefox-108.0.2-si.xpi 572052 BLAKE2B 4589468f8c9f8527aa49883621d606d015a23e8d1cdb92552beea08454684bbaf09ef3414362cdc91466c839565730aca3c666ba3ebd83ae4033563ccb82d06d SHA512 b222eb4f901d3fe6f0782b316ffe4471118c5a0ed5d3e17af3e5b530edf0b45215e73894e5f6cd46ab4bf5eac1bc858bf018cf0abe87b8e3862d1abf436790b2 +DIST firefox-108.0.2-sk.xpi 587676 BLAKE2B 77d1bb4b36d0e5e8ef7902aa4bf3892b58d221dcaa029922712218ede588dc626496e9f24c6d460b76e2e3c5f4fc6618161f087c383864264abb28b4c43f2b5a SHA512 c7685f7ea0f519c20a1110d7c83ba194b036ae89f43d1e071d000bf8cb63919ef010c542988f7cbd1e099e87de16f463b4c0003c35bb23a89d5e4e65b3662d5b +DIST firefox-108.0.2-sl.xpi 559754 BLAKE2B 524d5eabc143b2b2b8dd1f119229129e102a4460d86ad5877e85b4123dcbe86d2bce1f70c189098abe02710fa92fb641d9ca1c3a01a611abbafc8c4898280d1f SHA512 32f290f40669f2054d9737e0c2ce5b8cd00f98fbf37cad890f6b32a6efa0052ca92cac7f444e1146dae29afd4e2b28548fd3503ee6e5660aab15cca8319ad804 +DIST firefox-108.0.2-son.xpi 422457 BLAKE2B 86049a91dddbd36b3e1b03632fb73fefefc328f912515b7ee5d430de2ef8188ee51708c1cbe2a71d8bd3a496ff34d504e31bfaef48d7263452cc27a2050ee32b SHA512 c88c55d8779fdb7b3d18ac348db35cfe72f0eaaa903eaf10eb31238a1fb0fc701c0989ae20deb158aef342239fd5bb64a90d1f36bfdf54eda77376d5d8d113b7 +DIST firefox-108.0.2-sq.xpi 574789 BLAKE2B 723b529d967f183c516dad23ff298f1625dd7274ee4f4e94a7039759c1c5719442bd13146a17ee2c1776938492c40c3b0fde95a2175b0c60c338e59cde236b7f SHA512 2405a8d6546868cfcef61fa8a10c1dfd13d9ac60be0bfca6e1eaccf4cb24f360a643b29c3df919a6762208dbdccb2375b1b1cb21300404d8cc97e59e2bf002ee +DIST firefox-108.0.2-sr.xpi 615014 BLAKE2B 1530bfab060b0c95fadd575f18f1207fd693e3c6e09515690848a983b3c4a8a6132524d166bc69796de1199398dc108afcc4719a187b4890d04e181c3048b535 SHA512 e354ea9614374a566e28e3219a2a9364cec490234a48d657346108b05958b7f1db8233f9a8e2ffc5fa9d25a8a4a3eaef32c8154200e28a885ab8bcd393c94806 +DIST firefox-108.0.2-sv-SE.xpi 559345 BLAKE2B a27482ccb9ea6e6eac49df0264c7e614226f47cef0b534363931f00d0d4ce7d7049d94cff44a2e394b2c3da947c820301ac4bf44bc0c1bc0f6de77f083753e30 SHA512 fbf0d14f8ec38581a6e1dc864a8ac1e6f1e3cff469331e9a85ec9f56379d64d019f1afce1122327e64d0698ebe6c17c63833bea47669b7bf2e916b5c0dfc9bc1 +DIST firefox-108.0.2-ta.xpi 509735 BLAKE2B 36bcf64e5813bc200b8892052e131f518c448681f81f8a209568f137d6fcbb9d9141ba1c26efdc548f34e41895ae2d4a95c5e903d02ce851ac824c39376f905e SHA512 b6ffc197d4d6605bd6f0fdcb443de63f31772d329070a4dc66bc38de40f38ba107942bfa3016192ca625c51f3579b6cf74cdd3e6c885bda52ced1ac1b31efdb6 +DIST firefox-108.0.2-te.xpi 556974 BLAKE2B cf0a63483608540f6a9175d5475841cc2f5f79f9d21775f6cfba2e8d84fca5a426cf3a5f1cce82c43a343f581da5c2105ecad7431bff20cfb1090236b13fa869 SHA512 1d1568ac561a6289c2b66d591c46517c3fa1e1f384bd1323cd666f22de54bcf73a4eef1e9922698dcb90d63a9be25cbc4fb7159bc2fb8d557d17b1f7adf10754 +DIST firefox-108.0.2-th.xpi 627886 BLAKE2B 77914460218e18b2c5bbf92f13195f824e9b16df2ce8ad70c5d1530b9a193c27c9db1772dc3885401e87e726dcb8627208c96620de66c83daa6937d228d60cef SHA512 a20ce62d234b9c1992c213818b54b45eed753963e5327ee7c430c948a90af4f6f0450bac92f40c0c9136072add833a2e7febd3ea1be97eded6c4dd16fdd9789a +DIST firefox-108.0.2-tl.xpi 522751 BLAKE2B 0ff9c30125ebff9c2cdc60c3e06bc667e8f1f004680f47cbcecfec8756e4e072363fac1ddb1db3b6de4b83c5eeebd8e631cdd2850a30baf14ff99a89c25ef09a SHA512 9b841211d34c2bc6e408364417af1a10bc4313dfbd1322ce1a4c9b4fb25e5dcc4e84be91f2d180bc178c58ed494ba2f6c725916641197d516736881b30591ef5 +DIST firefox-108.0.2-tr.xpi 573050 BLAKE2B 7e199a10e6bd12602c872c40fcf2bfff59083de6c1d8ac06ee62e400970dae3410a80a5210fbd4179df6b10f738c984ebb2167ecba8decc222b20168f31a528f SHA512 4762633981e0de7f516a0e18d10771ebda37b28c34f64dd9522781750db8a3c0f23b1fb4e88c52dd70c108dc409ed3e97e835b56663b54ad142cf64904e3b442 +DIST firefox-108.0.2-trs.xpi 487410 BLAKE2B 8f681bf9998beef1ad92811dc0edfb688336da4a919152d3a1d9c9680910fe4708d6037e0d3e08f5a4e4bc1f5a6b8417a77705d2aa6dc3778f04df86e95b2a9c SHA512 ffda66641e773a77241017492d2dbaa8593d96e8c6f26fdfdc45ea3df901224495224e47e2c0aa725e16cad1db7884e1b9b23e5ff7ec9a103a85a25ded43c472 +DIST firefox-108.0.2-uk.xpi 644541 BLAKE2B 85bab25574315584251e0c04ab385e1a7760dcc868a1592c88ee24f0dd8cd9987adc8e3aa7e712e5b7e816f025a6085b9abc4e533225367ea5f85245de562fdd SHA512 67565f1a87b9e74f71322ad68830c8ec53588882bb94e76649051ca0608db782c1a76f8216910f938fa5b9b299fd02a88038075a4646710cc6b73884dec46b9b +DIST firefox-108.0.2-ur.xpi 559044 BLAKE2B f25d371fcc7f54d410be51c281e856aaf6df27ed20f432e0c6ba1578d1fcc40dfb198e2db99b364a64ce421361fff6610975e9dc26d2f84e34aebce031cd5bb4 SHA512 a083010d20f1523b0516a906c3a9534386db7a805911932c4f66b0b42ba0af1859d9ac6a890ff37ea8d939d0b8f8491aa86d9473bcfe666b3b078b4bc62a00ff +DIST firefox-108.0.2-uz.xpi 478516 BLAKE2B 5cfc77860f9a8415ed307c2c69a4167745e8df8cd1f4ac3ce0ba7e4694cdd99d80ec14bc724aa1d5b50d35d59a6afb469bfa4b0832e9b8d615c818a5152a046f SHA512 f4cf153fdd317544e16c29199a3383153ea68a9e2e7c2bfa96e0694ab23bb1f44f954ca513ac5504a5756ef3b294a0a710502eebcb65240377b80030d7ebba80 +DIST firefox-108.0.2-vi.xpi 594804 BLAKE2B 309c4603e3e61227d3beb4a64c9a26510c90227f1e6be0907d2e42db2a18c483c9d46ba1679f53278a39e5b8cf54d81f2ca78a66b90e24f40a4de5b8ee58013d SHA512 fe223a5764f7148155191e667f7fe9bfe472d08c68ec4d7b3d44ea67ad9d6b83f984835866f8e62750abf49f29b7ee12397c7b8abe8a95c9c8b5966dfd262e55 +DIST firefox-108.0.2-xh.xpi 418360 BLAKE2B 347829edcf2de37df146ac3424fe11c1ed9574b0530dccf4695f805d71727f0d9c14c5c903f24fd1e2e3523b7a3450afb6dd5251e080f3508dcf372658eade09 SHA512 527172bc8cea3a7b006942f941be59924644017b47e72fc0227873f4c8e8af0e1e4f9df6113b58a9e06e7e844a62d458c093e604acf692933146f4ed464abff7 +DIST firefox-108.0.2-zh-CN.xpi 594362 BLAKE2B 290e6af6349cf6c0f863a1c60dbfcd096ed289df0e6f3f37a5e9699a486fb8a03d946506d307a90a3c977be7955867cec5a380fb940160cace64bc7006ef8b6d SHA512 b0a24d9152677fe6d2155e6e47112a22c246401a7c7c9e3a278e7e90c510151f6e1caa5bfae964d7f3f7f44018e9196b454ed660310f929123e751626c24bb7b +DIST firefox-108.0.2-zh-TW.xpi 595831 BLAKE2B d54dd8100a1ee6adbc7447430576d2aae7a0341e12ff472cc81250905052b1c9736c1b86df41b11343249a45bf340122499a05b3523e9ceede7bc2e8e7776e15 SHA512 c63edc0f214319a53b892d84fc81ec64008e1639e2c440333c5c3bbac57191636563a702be9402beb9a72b81c4d4e1cbb2205be76666c3a5adee3e594e0b9e3f DIST firefox-bin_i686-102.6.0.tar.bz2 80549180 BLAKE2B 1ab8f3e0bf8b28687742805f82dba751e51e5f1bd81d12bcd2b1950eb0286d2b4a5b2e604c82a60e5cb3598aeeedba0b058364a8d581ded33165824905551778 SHA512 70582dee665a5b379ed000f2c991370c11c168cd4053cf01aa33ecdfad5499f335846f8c71aa0853d17abe80f00a50087f1ede9ae5aac7403465fab9d98da146 -DIST firefox-bin_i686-108.0.1.tar.bz2 82186218 BLAKE2B ceca3a12b61ffe00b418a047627221d2c99f4f40765e504697ab885d4eb5ecabf226f8a4244797fa5fb8f4618e7a06f62ac04eeaed97cd98e8aa950a77a0377c SHA512 460b07a242c8b23943095eb68b0744089a878a3820c55ae476d66372cd7d061a77832af217f8fabdd70bba92cfa64dec62aba130131d9e651f19694afd0548cf +DIST firefox-bin_i686-108.0.2.tar.bz2 82162080 BLAKE2B f8660ded5e47a2cdbd47b9eea14bfc0bfa647de52b22d078456c642df1583be59b75c7ff154eeb8d751e1b43b9432abb1d1cb46f63f4c011e71111a7da8dabc7 SHA512 a55a6f3b6871911f5494641e75148a2b3495544713721d61bb56325e8c6d8bb46173b5d8d714772f5a9cd1f0ea5d1f1606380ce989e8309724f2fedc5b62534d DIST firefox-bin_x86_64-102.6.0.tar.bz2 77544303 BLAKE2B afb4c26b903a90b1d5e35405f97f71cf97efda8fa9ff692063acd6275d90646d8c6ad3ae5e9b26c6e8c8833fd9b724eda52d4a72469702534712fb5de41d8b74 SHA512 f0f0f5292335bb00165b1effd3109e9b58ee540421110d93e5c67ddc8d869fc5db6fc673beff71d876bc2cafe9f83d97691f39edb5303981c5f389453c42310b -DIST firefox-bin_x86_64-108.0.1.tar.bz2 78727172 BLAKE2B 1dcd1e4ac72f98d4898d3677e97521cda7f785652491439cb0bac39521a9188e7eed79a3688830c1171ccef35e5349c3ac6eca98e82bc0cc582a07fe5cf33fc0 SHA512 b8f27a318b2110769f38ecb94ddbbc72171d91db2f35a328261a6226be0f3fcefde243c90412908058a14fae3e90ff7f4cfd05b2b8fab3f644e5ead6b496932d +DIST firefox-bin_x86_64-108.0.2.tar.bz2 78870138 BLAKE2B 3acd0284ebc4fb9df1ef20870850818c81ee65c72453e36e2950dccf59883f4e55911e58c16c51449de3a9260bdf53485d6ad5f5dc95913cd01bca8e024a6230 SHA512 7e2ba5eda59582c8466a743193b33d2d8d58766a4e8e3e82ba81ab4f226c1589256a7e39a7f261312e1229228ed78ab88bede0e04bd8d479098172b57f688622 EBUILD firefox-bin-102.6.0.ebuild 10604 BLAKE2B 6aae87e50d68f0de21527cf2cfbffd1b13c90c4d133f9d194f119caf6c04f934192e6a22a5c21c1f1a8cb6934b5792a505571e5840e26e61fada74d9d5db7c7e SHA512 40f27b3bf8ac38a9bca761d9e0db6f10a9380b588b7a1a6bafe8ea86042d5667e5c9bbb0e1dc8a827110b7eb8febdf7c374bfdc413729dd7a59eabdbe12fa4f8 -EBUILD firefox-bin-108.0.1.ebuild 10641 BLAKE2B 02bf58e058437badda30c67a1f08eeef66b15f8fdadafdadbf5e032f286bff303317e9bc594221254aac703264321a1c4b9f64fde77cac6c0d0ffd3f69774787 SHA512 11a8c6b777fa6442bb8bb0ca790a3993b86b3018e5957e303f59fb840cf4eca53a284f4b66b8429d1d60574b1136b6ccc16cef9d13302d5204c7e37c75334262 +EBUILD firefox-bin-108.0.2.ebuild 10641 BLAKE2B a465e66759540f52ee420244745e54695ca1bbcd567108dd0db7dfc1af0c77ee1258c1ff7ffac87e1680cdc23c6fcc3fa44fcad65c28cf4ebd0719101d34c467 SHA512 6fa354d7a9ed7609908f1e755449d86d544daaa7a5009c4a8849d04aba821ad5562e57148ba118233a595a9005477307f28984bfe4ff9a6dd3c7ab59f0f83e4a MISC metadata.xml 520 BLAKE2B 4b540dd2d9ac3840061de8a73117f2859db156944826d22c1f74cbc0c35f6d305aa10ff45708eab016df725cfc741c99dec46f0078a29162982431892e86e477 SHA512 0c7183e35a4b0ca2ddd092786ebdeb5b41a431adf918f0c2e541a5ef1c235066586a46a50fa29c25e5a522930824f8662fa2fa7eed8c3895f74d85bef93cecb4 diff --git a/www-client/firefox-bin/firefox-bin-108.0.1.ebuild b/www-client/firefox-bin/firefox-bin-108.0.1.ebuild deleted file mode 100644 index 17814faa1516..000000000000 --- a/www-client/firefox-bin/firefox-bin-108.0.1.ebuild +++ /dev/null @@ -1,377 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MOZ_ESR= - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="${PN%-bin}" -MOZ_P="${MOZ_PN}-${MOZ_PV}" -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" - -inherit desktop linux-info pax-utils xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 ) - x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )" - -DESCRIPTION="Firefox Web Browser" -HOMEPAGE="https://www.mozilla.com/firefox" - -KEYWORDS="-* amd64 x86" -SLOT="rapid" -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -IUSE="+alsa +ffmpeg +gmp-autoupdate +pulseaudio selinux wayland" - -RESTRICT="strip" - -BDEPEND="app-arch/unzip - alsa? ( - !pulseaudio? ( - dev-util/patchelf - ) - )" - -COMMON_DEPEND="alsa? ( - !pulseaudio? ( - media-sound/apulse - ) - )" - -DEPEND="${COMMON_DEPEND}" - -RDEPEND="${COMMON_DEPEND} - !www-client/firefox-bin:0 - !www-client/firefox-bin:esr - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/dbus-glib - >=dev-libs/glib-2.26:2 - media-libs/alsa-lib - media-libs/fontconfig - >=media-libs/freetype-2.4.10 - sys-apps/dbus - virtual/freedesktop-icon-theme - >=x11-libs/cairo-1.10[X] - x11-libs/gdk-pixbuf:2 - >=x11-libs/gtk+-3.11:3[wayland?] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXi - x11-libs/libXrandr - x11-libs/libXrender - x11-libs/libXtst - x11-libs/libxcb - >=x11-libs/pango-1.22.0 - alsa? ( - !pulseaudio? ( media-sound/apulse ) - ) - ffmpeg? ( media-video/ffmpeg ) - pulseaudio? ( media-libs/libpulse ) - selinux? ( sec-policy/selinux-mozilla ) -" - -QA_PREBUILT="opt/${MOZ_PN}/*" - -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or -# overridden in the enviromnent (advanced hackers only) -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) -fi - -MOZ_LANGS=( - ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy - da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu - fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM - ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my - nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco - si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi - xh zh-CN zh-TW -) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -pkg_setup() { - CONFIG_CHECK="~SECCOMP" - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." - - linux-info_pkg_setup -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - mkdir "${S}" || die - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - MY_SRC_FILE=${_src_file} - fi - done -} - -src_install() { - # Set MOZILLA_FIVE_HOME - local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" - - dodir /opt - pushd "${ED}"/opt &>/dev/null || die - unpack "${MY_SRC_FILE}" - popd &>/dev/null || die - - pax-mark m \ - "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ - "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \ - "${ED}${MOZILLA_FIVE_HOME}"/plugin-container - - # Patch alsa support - local apulselib= - if use alsa && ! use pulseaudio ; then - apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" - patchelf --set-rpath "${apulselib}" "${ED}${MOZILLA_FIVE_HOME}/libxul.so" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js" - - if ! use gmp-autoupdate ; then - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - einfo "Disabling auto-update for ${plugin} plugin ..." - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" - pref("media.${plugin}.autoupdate", false); - EOF - done - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install icons - local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default" - local icon_symbolic_file="${FILESDIR}/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^} (bin)" - local desktop_file="${FILESDIR}/${PN}-r3.desktop" - local desktop_filename="${PN}.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" \ - || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" \ - || die -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - use ffmpeg || ewarn "USE=-ffmpeg : HTML5 video will not render without media-video/ffmpeg installed" - - local show_doh_information show_normandy_information show_shortcut_information - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - # New install; Tell user that DoH is disabled by default - show_doh_information=yes - show_normandy_information=yes - show_shortcut_information=no - else - local replacing_version - for replacing_version in ${REPLACING_VERSIONS} ; do - if ver_test "${replacing_version}" -lt 91.0 ; then - # Tell user that we no longer install a shortcut - # per supported display protocol - show_shortcut_information=yes - fi - done - fi - - if [[ -n "${show_doh_information}" ]] ; then - elog - elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" - elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" - elog "DNS traffic to Cloudflare by default is not a good idea and applications" - elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" - elog "(\"Off by choice\") by default." - elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." - fi - - # bug 713782 - if [[ -n "${show_normandy_information}" ]] ; then - elog - elog "Upstream operates a service named Normandy which allows Mozilla to" - elog "push changes for default settings or even install new add-ons remotely." - elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" - elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" - elog "concerns prevail, which is why we have switched off the use of this" - elog "service by default." - elog - elog "To re-enable this service set" - elog - elog " app.normandy.enabled=true" - elog - elog "in about:config." - fi - - if [[ -n "${show_shortcut_information}" ]] ; then - elog - elog "Since firefox-91.0 we no longer install multiple shortcuts for" - elog "each supported display protocol. Instead we will only install" - elog "one generic Mozilla Firefox shortcut." - elog "If you still want to be able to select between running Mozilla Firefox" - elog "on X11 or Wayland, you have to re-create these shortcuts on your own." - fi -} diff --git a/www-client/firefox-bin/firefox-bin-108.0.2.ebuild b/www-client/firefox-bin/firefox-bin-108.0.2.ebuild new file mode 100644 index 000000000000..abdd46820f3c --- /dev/null +++ b/www-client/firefox-bin/firefox-bin-108.0.2.ebuild @@ -0,0 +1,377 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop linux-info pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 ) + x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" + +KEYWORDS="-* amd64 x86" +SLOT="rapid" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="+alsa +ffmpeg +gmp-autoupdate +pulseaudio selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip + alsa? ( + !pulseaudio? ( + dev-util/patchelf + ) + )" + +COMMON_DEPEND="alsa? ( + !pulseaudio? ( + media-sound/apulse + ) + )" + +DEPEND="${COMMON_DEPEND}" + +RDEPEND="${COMMON_DEPEND} + !www-client/firefox-bin:0 + !www-client/firefox-bin:esr + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/dbus-glib + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXtst + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + alsa? ( + !pulseaudio? ( media-sound/apulse ) + ) + ffmpeg? ( media-video/ffmpeg ) + pulseaudio? ( media-libs/libpulse ) + selinux? ( sec-policy/selinux-mozilla ) +" + +QA_PREBUILT="opt/${MOZ_PN}/*" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +MOZ_LANGS=( + ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy + da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu + fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM + ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my + nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco + si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi + xh zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +pkg_setup() { + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \ + "${ED}${MOZILLA_FIVE_HOME}"/plugin-container + + # Patch alsa support + local apulselib= + if use alsa && ! use pulseaudio ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + patchelf --set-rpath "${apulselib}" "${ED}${MOZILLA_FIVE_HOME}/libxul.so" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js" + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default" + local icon_symbolic_file="${FILESDIR}/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^} (bin)" + local desktop_file="${FILESDIR}/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + use ffmpeg || ewarn "USE=-ffmpeg : HTML5 video will not render without media-video/ffmpeg installed" + + local show_doh_information show_normandy_information show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since firefox-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla Firefox shortcut." + elog "If you still want to be able to select between running Mozilla Firefox" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi +} diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 3cdc8b195cf1..e7ffe0f7bee5 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -106,305 +106,105 @@ DIST firefox-102.6.0esr-zh-CN.xpi 589094 BLAKE2B dd88c9c206afdf3a13794190504b4f4 DIST firefox-102.6.0esr-zh-TW.xpi 590469 BLAKE2B 44c00eb667554aefef04eb6882a33821f0b5891ab13dd4654b780aff900b8531d1f226c3288f743bb8ca7a32b7882a3bbd7e3df424026db4154086df9e17f7dc SHA512 8e92632883807a993c3d54b93d4b0f49ce9098ae42237bf1ee32ad1f7fbb398c7acd0c2d88d0feed680f6eaa27f1dad5d509306343eac4488974dcd69e3669b9 DIST firefox-102.6.0esr.source.tar.xz 478856656 BLAKE2B 2094bbb3ba00fc2d726a620e9946ca1ec98ad4c930ed611486ac92a7c74aa84da9c15b1353603eb36ce0a9098bd1f311dea2bea255f2bb6dd06fafbc7808d52c SHA512 c0f0160bea612d0ae74c29dd44beb7fd9a1c292694b8cd5c4faf2e54feb5c27684eee821b67dd40df714d69866a4e3a8b19e22182d9bc3023050d2d96b02d308 DIST firefox-102esr-patches-07j.tar.xz 23012 BLAKE2B 41b706f5ae8695ddd33e971cf1aa99317382a57618cf19163c5bca09ed5d430dba672ac51b7ab3072360452cc89ac50397bb7992882a61a3adda37022239e654 SHA512 7048353ea5504e34d9d3950e3e5e3125f631f95269d5c9e422ca052173a316718fdd4b57ea7980a452139b1192805cb598f47f398fb148a426a85a5e979c6cdd -DIST firefox-107-patches-02j.tar.xz 21624 BLAKE2B 73c363c6265e6e8f3049c8beb457b814f704d1493cea6c426edd363f2d49d61a8dca54f3ce33322bf95fdfc5c5ce8f6d8b306e3f6989148715abe9d4a4b03851 SHA512 d9ae1e970e183f8e5649f4b556f914157d27218ab2b1ec2886344ea662649efdc56e6e281dfcdc899813fde2f3b0d0e8a4162c9aad979d1bdd484434ccad976d -DIST firefox-107.0.1-ach.xpi 449039 BLAKE2B a149710d662e4cb9f20a3177b4a759252cc8224a189590d50b9fb4708586196307a43b40e9e35dac4a7035b7fc39ad5cb16ccf605051ffc750f29db717b730c1 SHA512 cb700a00adfc67419af0678d4d461fdd91bb57ec2a2ede96194828bb717b3df91dad12e74e3c19b5c0781f61e0846cf3ee36fbddb3cc3973c30438316d9a4908 -DIST firefox-107.0.1-af.xpi 416137 BLAKE2B 3856d98b4f7bd241b4ea58c20d7f40118ea46df7aa47940db6754eb8aab8c05ab6e6145ad43859101aeb013e99f30c10c7dccfbb762b11d2f09da9abd548b746 SHA512 fb1b08e4abde6aba206ae59325727be2e0f8f5e75adc0534203e56e56a9259079806513c1fa31563ef418f0d60e11f6bf4416152cac0328c8db479c74cb1c07f -DIST firefox-107.0.1-an.xpi 495686 BLAKE2B 10655d87c4791309cb8c00d6c73e0c33479f2e20adcae18e970a43f20a14134fd4af1dd2f4d236ce7976dabb6582e4322ad4f246c79e80de39a5950e7a47aea4 SHA512 145873bbc2387b7bb24b58a64b3def61430242386da18081b73641e0911123bdfbeaaf5300f87cf7e461b275ccafc4d4991b45d7699ae2fc6eb5b5c5335421bf -DIST firefox-107.0.1-ar.xpi 561802 BLAKE2B f5ecd24b22c7921ca4857938585e33a4e951d1c26eab847fe9ca4a1792e5b5bc58bc785060e86fb49d5d25665db0b14f7d7bdce574cfc057672216f21168ad33 SHA512 4a9f8481f889cb6464f624da423b810f75960af9d65a7af75c6de22c22aa065be40ebdfcff83615d04047b913e2c08fc1522bfc1f76ece0c10bc72ca9ca48609 -DIST firefox-107.0.1-ast.xpi 482601 BLAKE2B dce2b3592493874ac5676df184644f9740fdab3a215d3bf4785bb8c3308fcc31f41f5c3c47aa9d1256d9112ae39528f1bbbd74e59be761ae1fe150147efc1a97 SHA512 d539629d6a4a66c3b10a65fa3e397826f8a8e0b39e98bb46dd11da529decd18bdefb3e6d0e26dd7c16321ea17f892eb1b458c582d3cafbda24f959a7e3c04a0d -DIST firefox-107.0.1-az.xpi 485082 BLAKE2B f6f80b6f9467c37b04a10e6b8f5e48ed4a8f88a076d7164c44e321fc3c7a7b1abbe9f032f9da84a014cb9681c126563988b5a9f63743322d149ea32c5f629db9 SHA512 858fda6517f5b54955489eba9ebd94ac93fa8fac6dbe76f514b843df98dd5a748a1444f6daa39470eaadce00e08855eb2e9cde7941659a8cc4429927093ad1c4 -DIST firefox-107.0.1-be.xpi 636885 BLAKE2B 98ce5531a81f292929a6304b275854a71c71e06d6081b909293236fb3c49e073e729e517f83c4f46b19b6ff67a2f94b958f604b5d0f5b785c7b2bac930acadb3 SHA512 bf7b0ff36928db905d6ad32a239d3060234c8a07f486a099a58ced36d5e879fd454e4f342de28732f57708058a711a1ddeaa912a22c8f2e76a11984a8c05a98b -DIST firefox-107.0.1-bg.xpi 574259 BLAKE2B a7174aa669a67530efc91d607ca88b0b835ab0090d0114b42e879e339f0e3ae9d78f18402daaf0c9792350621114bcad3e7090bee4a20f01cea3fe22fc8fc558 SHA512 72cfd5109f558507d894f5ca23b16040859b0b431edd9c6bc9d5a3ab3d98d9eac6e58e6b2f10e68ae31b810016fdb478d14b858c9c207414bab3c30ac7edbf87 -DIST firefox-107.0.1-bn.xpi 573784 BLAKE2B 1a27f73f0418b75a9b2ceda7e92ccb1b7949fd0c059d4bdc85668871d9fc0c3a154689be85a81b915671eacb1dcb031a548c5a0ca4ee38a99fa709259f0d6052 SHA512 4ec33ed11c775d788be3df646ae6bcc1b0e82c47b1a7df04085109b25bad9977d3d1a5f4901262de1d335a230bbcb63badff13c5d1e2e93b3823b354301fa1df -DIST firefox-107.0.1-br.xpi 534506 BLAKE2B e7816e0de423e6d5f97e366a72bcf0a151ae3b012271f18f4e338500657689df7404b42714248b68e5ace6c57156eb322ddc828e7760836a4a0c186651fb75b9 SHA512 79163cbbd6308617bda9703371a0cce19259443cfbd722e62fb732d4f55dd721b89b17807bbe0da25d9d2d7ac1505a4826512d3a57d78beb90b2d5c017998948 -DIST firefox-107.0.1-bs.xpi 457089 BLAKE2B 33b7c04772ee3b7ec604aca714faf7746f1a5e4ba06abce99356e1ca37b46a17e330135bec1ab36985e5721eb04e4651ff8c9a74e117babeae8a7c7ecb62ba5e SHA512 d9a30d99b4425977c2de7fb6120bcbab9799316a08ac6aa31678daddaeb5f6ab1916f7d883d56b430948c78db7e7add88ee39aa11b03e23b5fb2e5f6d3c2e858 -DIST firefox-107.0.1-ca-valencia.xpi 534190 BLAKE2B a8dbbcf1d50af44173874635851faee5192be6c7baaa5d0aa272c242911c5f1e530c04f293b916917e3b6dafc2bc454f8b7f4575ac5510db09c77f23750fe4ac SHA512 ad9ae9517a8a54ddf593c3eda0a7fc32903c6616e16224a2de5173b744ae91c01e9a28884ba01ab10f1a0a0710aa0b169f55af13ada08b15b7d2cf8e94cb3f4d -DIST firefox-107.0.1-ca.xpi 537741 BLAKE2B 37b204f92ad1f5412b19491024825686810b5c18690f74b056e7e75fee98b624d6d22ce1a2ff1e2d14e77f6a6412fe2a7ad474ad7715dd69887a3e1efb78fabc SHA512 583f6e8e2ac9cf9593360eeda15fb27eb580cd622a7ff7b66615a3d6523380d6d9c0d526bdd9163d642fe220bf66fafeb3e79720a6b6e306c262f92427b3013a -DIST firefox-107.0.1-cak.xpi 549259 BLAKE2B f0aaa351c4afd6b2a1758f98ffdf01a786bc093f927643fbfa08923728c59776df6b4b100d4a33a84704737e3b21c4971982b9a1fc7b1a8ab5c41e784551a326 SHA512 949897082b72399da1f89b6d42d4f5c6e7ae36ecad916442f7feb35368d8009750bda40df70caa930f3f29e888a2eedc68d9b4651cb3852a62e24b0f3d1023b7 -DIST firefox-107.0.1-cs.xpi 569273 BLAKE2B 45f43aca4538a7bb28429c693b6b9042d1d340a9db807ea82138bedcfe97680b93928e87ce23e86d9f4d625993bac570d993282d0e984cc600e4cb3bd68a5cf3 SHA512 080dfceed6ca8bd6e868303d19e9306dde76e1586940092bc2fcf905270f9fad9318b6826707eb32f9746b2f984c21fd9d300b3a8e6fbbe866e0bdf9eb8fdeb5 -DIST firefox-107.0.1-cy.xpi 553188 BLAKE2B a42a488ce26b7ffa8709eee3741a6f5295e587d074ec8a6360816333cb749fb946f4a45f927c90b2a8fc961a533fe877e08e7bc192041bd7a94bd624b8955dce SHA512 3b51a35e0d83486e9133eedf1a7aaba704544208d307ccd385fb10d6f6542cdb992d60c5b9c684cdd85fa84ce3cbf02fbf633b2a8f8fddd6eef04cb4634cb965 -DIST firefox-107.0.1-da.xpi 543651 BLAKE2B 529c2191320390d6c36e76e2c52dc676e7c2af01e1e57b9889b2a90bcd38bdcb181eb4841800c5d2e242737ea2fbd14c2c2ed1c67f79b2b2eeddf4efe5bbdc43 SHA512 b3fcfd237e1bd630fbc7193f2c5c4f580ac20591a6a55ce9de1f78e58ae09803b9efac20b2e7bedadf9be8a47c95f8e1cfbe32a3fe4e253c03f121056a32b7b3 -DIST firefox-107.0.1-de.xpi 564623 BLAKE2B c644ba8fc4d133cefae88d12d53f28fc95369fd4abcbb7ba5217742bcc87afa4a0975f412d307d377ac26753b535e517c303366af6d64ff621762dc64c3635a6 SHA512 be5ae01d8703bf7d45f35aed7a65732695c9518b74845fb48e953bd2df0c8cc44a20a89d025914c698cc8327cf247eec321e1150d59cc3a9207e22a1f518329f -DIST firefox-107.0.1-dsb.xpi 576821 BLAKE2B 5475cd6e95b5049f0eb35a2cf282128c785520f10814c07a3dc91d0f79958ea3c7b4154412327af4c4f83762222471582b15389d8d265f3f3740f18daf72e499 SHA512 d5858151071d96ec6218c6af830d26d871c584aaea73ae766b93edcef37a6dfb1724f7069a9d9a1475b9a98484abba546394546cd078e3de54c4741b11a6adb5 -DIST firefox-107.0.1-el.xpi 651470 BLAKE2B b5fac66b2e4668c8cfa3b8f5c06b6f764f4112bb158cf6ccb8caef92dd768f741c28cfeaa74e652b8fab322151587c78a85570f617af395553fd4404cba0c1a2 SHA512 dea83aac8f789a0577268c19e35b1726ee6821152ffb886021455b6cbc839c5e99a2b5e9205ac0979f248a5e1bbce0ae0e93a47a7fb7e59070caca662087592f -DIST firefox-107.0.1-en-CA.xpi 518718 BLAKE2B 01f0aa373ccfd317e28cc48b7a90068539e2e1a663dff70fa06836f98c79e26c9286a2d8bc63c32825afefeec30e8e0e2928a086f7b945cf96a5d86c1ba49a64 SHA512 326425489312bc330924f7987ba77e7900348d1c6323d3483c949fee534ee6a5984d3697c1727945a49183a7b8e30b99124d6f33e53b194c0958badaaae7045f -DIST firefox-107.0.1-en-GB.xpi 520248 BLAKE2B 4304aeaf9422c2da6dd6edcc0fca17c0828b847adb25d281db72e94f3d45ee6c35c0f3566893af5ac9564d0e8aabdb0369b323f02cadb4680263a3afbf9da443 SHA512 e8883a72c6454a19b01e63220a19c755d243255825ab207b13218a431040d0cffe798a81afc55b1df16e08006d9b109cb1ca16b47115fe49d9314654508502df -DIST firefox-107.0.1-eo.xpi 546698 BLAKE2B b498b8628f366546d025e3f8fe1c3b8c5b8589e9d380dd2115364543ab5642d98e7226d721d67525e9caf4801d7372939fdf594da219247d53c88c0d4dac3d17 SHA512 13375734d8e9b49be3b8d3d638033091063007fb1581bbb4197a1e5d6a10c358ea5de07fea98b4cffea22415ef970d345f2d16a69ca30bc91d3ecf87579d9a52 -DIST firefox-107.0.1-es-AR.xpi 558788 BLAKE2B 4e5703ecb9f1b08071c837bf9bbe271ae21efdc9e20299fdca517ef46fc1d69fbdc39842108d0c4a2482693d84fdea04bb689c5f69cdfb0e7c3ab46de3bd2fe6 SHA512 0a3a3dea2cfa67f9406d7e5ffd05a997877f4cc130d5e604fa67dfded85814c5d05d707a0ac68235a0c0e82a6f13a5578161d1cd559ef2af0f7beadbc4af54b5 -DIST firefox-107.0.1-es-CL.xpi 557630 BLAKE2B c226bf4f7a68411a1d53b10f7bf1dd712ae54f5a8664015efefeed523100cbc95204f0a5dc5120fdde7c78de3dc8b939ca8bbe6eb85d8ce43ba46fae70e234b7 SHA512 d9412af614ea3d4924361f61094e6cd49caa524e31fe2250d347d6069660f48c5e6e9c8dcb30b643904fbc16b921fc18cb3545a725daa09c79ca44aa2ce064b2 -DIST firefox-107.0.1-es-ES.xpi 550456 BLAKE2B d9e84ce9669ae1a7be63cbc0713667111c4247c1a4ee20c909f451f9cc9e08d5d181dba502d690736b3c5242d7f196ba75c86c32b1ccce2fd6dab160a28034a3 SHA512 b5900969b219593b5565161288bbd4651f9e3d57d74544a1f59ca9373cf6a1bed8591e1805d9268c39e035689fe7141bc7c9fb3aac7a4ed6aefabc08ce5c4163 -DIST firefox-107.0.1-es-MX.xpi 561149 BLAKE2B 346546e16a85be9f0ed7f3d34daf3ef84c39067777104c3bc4169acd81d847bfe47ef606c77d1d79676a6a925233e34102f7b3655acf09f5383eb08ee362efb9 SHA512 5fa7d96cc13f25403c1dd4010aa27709aab772f0d153c88c4ba376860e12162030f602ec9304b9d0664d43417f91ae4302f83261938c7c8a4ed4bea460910ba0 -DIST firefox-107.0.1-et.xpi 528249 BLAKE2B 20a57fb52173eda4b6c7e484bed68aa4c85d2bb17aa22614de1190ae98e93a59598253bc3e1a4b3bf82002d343408b008564471203d3752376e8947c1e2ea727 SHA512 c58e5b8997c5dda1e25da1124414cc9f5d355ebaf6827095b81573ccb5c086d9fc68839397723fba2e53923ead559b281071c53bec2ebbc7b1956f4f5a8d5145 -DIST firefox-107.0.1-eu.xpi 547839 BLAKE2B 112dc8d342e42976b50950ba955efe500a9f1bae863e4dbb540e5422972ef2f7bcaae2b7c65d64ee215e272d9727a2d90f3d625da7bd4315836925c947516362 SHA512 072638c29273f19b21cdd8a51f97bb61b716783d1a7fa39634a00bae481eaec249ffb9c0ddade9f87e5f2973f3b3688cb70b9989df8ededef4ff942a28fd8339 -DIST firefox-107.0.1-fa.xpi 565788 BLAKE2B 7736bcf53fa40a587a155c758da9412477981d54d61bbd0f1503d3cef5d9fb9aac131311d9e733471130e3eecc807c365da20d751c1cc018da1cfd70aea82c61 SHA512 7b0352c0ec350151e88ab183403c7e5ecb847e9aec867933000fd4222c051ffc117b2910339217639a9a3ae62d5ee8cacbf26456221b9ae6fdb203ab0881a3ae -DIST firefox-107.0.1-ff.xpi 469111 BLAKE2B 1c8c7f5992bbe30dbb211e54366623b4315b556eb747bf44557be86f1c48c019f782a7dce506d4a03be83d7ad39b56e0d5cec6132fc9c7289a2dff753cb1167d SHA512 57d16c1650165ecc287abf87a8439d7b51ad828f0571a8304bbeac6a62c0f086628c834fbf2ecaff62d964bc5b9e6d39a26167b665d478a3d4afebcdbbaab84b -DIST firefox-107.0.1-fi.xpi 543813 BLAKE2B c1e287b0fdd049f02aaba3a2b66b1beb61ac828571dbccef92e8c28a84584a6e83f9ef6896e09682176ed121e9966bec2a69adfb4adf8de8c13e1c9a3342496b SHA512 f9078015e9ad82b6dd7434024bab1ffbcd2cedbe83dcb9bcdaa038a85d044cac2ddc589793ccb671191fbc3052ceded3c683921041ede7b5b3b75cbc8d6c49db -DIST firefox-107.0.1-fr.xpi 569058 BLAKE2B e87716467efdf78c3ee8c60e05836e7ba239eef9752ca9cc215d78f58b369c916a2189ea06164bce38287f13dd4bdc979b6ea532fc555c613cd7e1622364d439 SHA512 6d224dba6b798969c485f915427d7e42379488873452f7dfcd350ae79b0b6465b445077cfd411d7355dbdbd0a3b72a3c02e0d85f1128c7abd7aed07aec0ff391 -DIST firefox-107.0.1-fy-NL.xpi 554258 BLAKE2B 23c9c80d61b2acfdc19a5a5c1819233c48c7d145a5b4d9f6fac5eac1da206db7b8508043abc34d0c561e5f7c539e0b1856b1b0ff2945c8fd93d87f895b2da4f7 SHA512 5fa663d1c295e2fdf3bf52ae2ee34e2c3abd0271616e5eaa498d3ff6ae373a5853900f3be27ac3ffb45d214e76e08dabf77300cc7b8112b4a67d662919745471 -DIST firefox-107.0.1-ga-IE.xpi 464759 BLAKE2B 721332c4d13ec77484d91dd44486afdd4d3537430c3e3fa07c28687610c12a193cbcee14186554cd4e6955b158526d6bba7618c79171d7034621b7449a37d9c0 SHA512 f33cf9626dd9f9e284a8d1a2d1eef12afac203fc5ca1920f35bdce26a44ef8942d661f91ec8721c54c06d8e4784948a6e85473a10887e6669c8ad6ba12b3b931 -DIST firefox-107.0.1-gd.xpi 542597 BLAKE2B 85d08150fdbf821de166c2b33a9b8f6cc205b250b5fe9a8593072e50bd3bf3163e95d41928cb33e670d8c20d81e80a0546573d92c723e5f03503a2050185a35e SHA512 9309a42b376950844201be1130426a32ee79a9f63211ff5fb42ce202985575ec5111dfa8a22d67cd52df1787218de1dcb8df996f1ebe3f6238fa1970ccdcdebf -DIST firefox-107.0.1-gl.xpi 537433 BLAKE2B 297822dca0903df348d7a8e37f80765cb47d7969d65fad608ad737a4319af72605f957feb1d874905be192fafcdebf209ae02320f03a3de181180ca493c0d554 SHA512 b99a310793bf8069d7256437fc12b6d6e1aab8b13c1f56a7e348d0fccff3ad29d382cb0b474fba014be27186741de36d41e0fbeb96c052402ce7ba7406dcf163 -DIST firefox-107.0.1-gn.xpi 567616 BLAKE2B b02544d0a57ab3229a50967f6ae5d4954f26cd4531c78da3a5f81144a766aeb4d65e08dd78117f5d8de65ab3fbebe1ba9b13133db15a078f006b91dff2ca96f6 SHA512 a76161002ce37adad060228f1244cdc612613910e5dbaa052a928d201750850a97da3aad2c6278861ce4784251600e6fbc8eace38202dac564a8ea7705b69543 -DIST firefox-107.0.1-gu-IN.xpi 523506 BLAKE2B 74af08617fd81ff2118eb4865f625b90d8fee397ead1d06d998f1a9ebedd76046917a0b619e16105899b0d1db748fb6cf6143f755b881ea13b144a470e3abce4 SHA512 d4bd278d28a115c5cfda876407dbf8ba8a4d119d3187790e3b4fac3f49c45a7112c34c20c464343a44d2a69cdfaa706aef7915d92eb246881e46cbb19a0b6fe8 -DIST firefox-107.0.1-he.xpi 564223 BLAKE2B 63bc218e67b367a6e74935108ef0e0479e79ed650844ec1bcdcdc61725ba261130eb984e67df156ef2595fd5247c77955dd602e986d9991a1a28eda6d553ee3e SHA512 2b27cd7ccaba5af3807460f7d469edec63e2b75922f2294d1bd5251b6efa632721e6b72738df7f4428881e98b4800a32a4bc41c977b6c2763592150036e60d92 -DIST firefox-107.0.1-hi-IN.xpi 552200 BLAKE2B 512575f1884fa9b320d8ae88d4ccdf495015e0aa8b4d1253dd04e0d6cef52b30242fad9354f1bb2f81b5028ee84c136051a03412bb6841cd8dbea8476e889e51 SHA512 2f871f0ba44be4f2be17db16e8e1562988adaba6d5ce58adc6207d73a78eb0dd97777ccb6276f7a2dd53733fb84cc75b36e05b081dfdb0a8f8fabd32044ea3f0 -DIST firefox-107.0.1-hr.xpi 532340 BLAKE2B 54795559749f44992f6085bc95099746247473fa6c75e263fa9a06b2c75b31e1d60aca7b7978fcaf2767e0a49a2ebbb999df97fbd498ce16cd1e473f41afc6d5 SHA512 f2f57d1e8ee5667f4197806ff87aff7e10ca4e24c3555c0f456a2a53bdbb60022d597a416b1db48b015fc7346372a8ec689b3246c975cf153ac5de53da4f6f8e -DIST firefox-107.0.1-hsb.xpi 573054 BLAKE2B 561871f8b3e705b089ce91e53f7b68bd8f388149ead676af3dd3f0c8e22a25713528c018eadfb59da55b04efc56c38db8b1b46d3fc0da30f5a5471841961bf35 SHA512 16f39efa86ebcdd04b67ff1b5fd7a0800be33d1aa73dec359c65378357c86e3b00b86645a4464827d44c80d2d9007fd6049424ab7544ea9dd2ccaedbae678a7f -DIST firefox-107.0.1-hu.xpi 578347 BLAKE2B abe623e9053b9e81ff7fb52074d15c6f4cd7698ccf44d8a06a4bb85dcbf2592f1c5ff724402b2c729fe5b29d334f8087de1853a2835e0cab6399997b60e30565 SHA512 c4720fb716dcf5a700dd83298d4a98bd13c5ef3598a4fad15b29ed77f8ece863cef0095e41d1036f7b208fd1ead7e2c5e323cd6e0d567f3f1a8828abeae06375 -DIST firefox-107.0.1-hy-AM.xpi 588067 BLAKE2B 63dd3f50210a89f2bb587d93c48db5dbae74325b7cc545305b82ace3b3a3432889e758ed61954b8e6a3b0fdf02167bc86c356605c7bc2f0a38f7635d17bfd2c9 SHA512 bc7adb377fc07b56d6efffb76d52ede43f5f822c556ef035ea8aba646667cdb55a4bb9409a2d590516ad1af901b193480aa55151315412d370d23304d8632cfb -DIST firefox-107.0.1-ia.xpi 543056 BLAKE2B cb2f716fcc949e195853b441035e93a55af4e174528056c79ec3b0e2dfabd854441c11195db27ac5fd1e74e40d4b1f864318098635ece7181fb6db03024da124 SHA512 72f1927f7a896ef0bcf99a8af531c800d792194fe97a05d3d4b7263e1a5173bed7eb8ac8b3704d7634e6417f6a0f3a48b912fe1a0e0a3ae828971fad5657b679 -DIST firefox-107.0.1-id.xpi 540031 BLAKE2B 1f4d13232e32b0049f8cf2590c65378ace6fc9b6c4f0b1ea5b8a2651a052e9704a1c56e542e930f78f3fa926c029c69d9fffde230233c516063d7bfe0f418c66 SHA512 79b8c8a6c888433592e78da046d7834725632ae66c696901db9a72773ba705e1ff43466dc5233d712f0f4379dea4b13a72f9b624432fb1c67b9ac9bd5bb5cee2 -DIST firefox-107.0.1-is.xpi 552255 BLAKE2B 91b3673fed93ab4128e99a030bb9aad2ec6dc17743dcc8fe0885fa4f62640b2a4403b9de74bc84b100eedaa5993e205a6abbc75c51e0d7549bf6e0333e91c1da SHA512 4ad8b75ef79031fb0357e1333bb4328751f440a30d9502c9bc1362ec74c32c02559b2d78e3b42373c73fbec23d20798962c61daed430c4f57eceddaece279741 -DIST firefox-107.0.1-it.xpi 481517 BLAKE2B 7e02a949367f899e586cd27ba6942ecc7ca80b1cbea5a7bd0579cd27ec67309e6b13d741a87cfed395439e49dde27b162664ffd3c9a37c34004eaea17472c015 SHA512 80f5b17194b5c68a0a64f5a077da50ca9b63afa2cf14afc0d5967bbc8a2fdafa18bf92b2869b6b271e603fc796669e0d09516a41cb027b0155100d78a899825e -DIST firefox-107.0.1-ja.xpi 603795 BLAKE2B dedf27a1d97640e5e4cce8fe29439189ed6694b064bc7737501474ccc1721767762d9907a121348e7283c67540879275f8da446ec07a08482fa4915f5bf24d44 SHA512 18de035adc78584639b2e4ef354a6e83ece0de42ecdc4d03ff0fc6fe1b853144e0b3c42cb4a4184c99d9e7962130001abc3395698d49dc2b5b2da89a4db52a26 -DIST firefox-107.0.1-ka.xpi 606241 BLAKE2B cf56281ee299f93047a8756067c94f441927a2bf5eaa7551821da925845102fb828be9acb17bf30377e9b312639877f90c9aee14b98310bfe3834d7d8d26d0f5 SHA512 2126fea6304200305e36aa1b3e64705a2db11eab18c223e7d4c05ace8896b9c750ebc86dcd4524b3b54188a9914d834b9699a01d5bc24622f5d5d1cd34eed668 -DIST firefox-107.0.1-kab.xpi 562224 BLAKE2B f9b43668aad9d962eb9c6ca6a0579ab7cf89c883c12226009afc8d8a30a2210782bd17b680c045015de5647b6ff33ecf5da871f5d0c10e1d9630e40c177c4947 SHA512 29bbd8eaef84f13fcdd27b82e69fbd460321f4250bec5d06e8ca702742f334a4a2d66f3a83e01c78a6d14931f39da1dee96fa6accdcb93a153c6e4cfd020e226 -DIST firefox-107.0.1-kk.xpi 625497 BLAKE2B edb90e98ed891404173d4b71c7345904d97a0d65b648e527586ac2a515d1185862f40499bf5300ff8a7ecff5cde3d156994e3f38511fad591eb1d3df676e61d7 SHA512 efdfc4cb536b4c97fa64552735bea0230e009aaa86d2b98bcd165c9502f97b35afd4804ba96f517b58422a1d838fb9f78cb637d570b4ecdb77a837c29c265f80 -DIST firefox-107.0.1-km.xpi 525697 BLAKE2B bdecf673084c50ba69f9650fa423010d98f97ddfa31d1a2d900a15d0102f0853101e8f7f867eaa8201ebbd39bdb0a1caa1715d8a3461ff7d4530ffd04990d38c SHA512 0a9b60e508c4bf7e9fe1c1735833ae178361b5de56991b06ae198602b1da1bdbc01f25b0536aae496933c4a284e060fc979a68429393df0ccefdb5cfe984f46c -DIST firefox-107.0.1-kn.xpi 491417 BLAKE2B 30dfd67cd5bf078668fa040a4f72c0b760583607d29d9a50f30ab31b13a6a5faa11922fb6a592af80dbeb99631fdbf380a750dac721502b98ded143878105f51 SHA512 64d460c35c9546162410373194d3468b40a0435ecb24024e90e7b401140ab0457d4ef474319f42e4c98d5207408e22773f0b6a08e91120be8f1d827b2feec81d -DIST firefox-107.0.1-ko.xpi 589126 BLAKE2B fc0dd436d60b310b1aa62221df3fd27ed8baec511da0ebe96330809108aba1e7094033b79aa14829e4f30168a0c528091e2907181d540d21bc60b01074ac2002 SHA512 a605f1a2c4196e9d62a921189dd0ebba14d69ffade1b2c971fb1aa64ff078290035e46c23b47e4b212cb2f54b31e4806658d13cb50de09f7edab1c3cd126ae69 -DIST firefox-107.0.1-lij.xpi 465965 BLAKE2B 18b65311636a881ecbc2d6a507322d200ed56ac1f0075667bd89dba104dc7c0dd6ff02d55e8c0861cb009d3587276a9baaca6b240fdb34aa4f4924ef5452305a SHA512 209ce19b88e446c51a289c8a0adcfe443e3d2b254ff0c47eaa9ffa7c57846d98b7860fecbcf59ab1f233f27c6255962c1609719bc885a858b6a357d28b44e516 -DIST firefox-107.0.1-lt.xpi 558419 BLAKE2B ea696e8edc153297218c99c1e123bd85778da38ad6eff7cd4b0251200db0b0c04134df9d3ca0e4d15dde384970ae1d3d7588422ecaaa108cbe8c46c11f4f279d SHA512 13c8cb1559d76a5e8cfdc88fb2e37715f8aac37a389a53d296bc6f7507d5dd2af5a3fc42a2eb6a0d865a13259f24381458a66e8f926f361f9023deaaa51c9347 -DIST firefox-107.0.1-lv.xpi 460737 BLAKE2B ff838c14d738e55d5a94e061d3a236b75c2bc42c2db0293e49db2734b6b820a01f2cac19f75fa689bdbad03c00038407fd6e065eb529d90912590864c7496a8a SHA512 01b5c7c54f3ab2c040203059e3e4be626c9c1cd6d8cbf83ffc8b44981edb890dbedcf3a669d61d4d83f5fe48bab699ef869c4e8a180c660688d62d7a29eecbaf -DIST firefox-107.0.1-mk.xpi 481448 BLAKE2B 4b44cee795a64da5d60804bd657a4da40c2cfc34e6040e6f45988be85aed1914defc6ae63d10b286b76ccdb638e9ef334573d2f0e4cc562fb418114869354ef6 SHA512 be5a8ca52cf586dd85031ab48f8cff5b0c2d45795bb79b527907a910d1985d8e37c33797aee0da4c95551a4beca936e76222aa51ead870ccf3aa7aa7c6dc5314 -DIST firefox-107.0.1-mr.xpi 526039 BLAKE2B 9cbe0b87b017f577e2f1068af7f4a3c42588d2b2ebb51f2eb735a6c770ee0c55febaff45a6c01e529e38d30e733e4e00f59bc14d6f82d79ea956497fab9156fd SHA512 57b100056cfdf6027a8f8ef2eaa0b2783a9df8210f7947b5a39b267c90e1f9703d661b90ed90f9ab6b28c0d5534a8a1ebfba7b053edfc72b15a781cd94a507e3 -DIST firefox-107.0.1-ms.xpi 445493 BLAKE2B bca003813cbdca4d7968855e146e6485c43b7c176a1fd6f6c10b3e8ddc8e9469cf14a0c6163939a1269b6fbefa6ca3368277fb5ca45248412640a313fa0550ea SHA512 0b97993d02beefa37c135749059eee420d8cd29cb874049db0186738121cb3d79f88ef147e44b392e0a9fa9b125ae3bed1e4d5a931800e5d9b71037e167c29d6 -DIST firefox-107.0.1-my.xpi 512003 BLAKE2B 2842daac07b031c5061ea45c8726f3d5bcdc404710cf6d3075938bfabe02dae16f537f9832363f98a4b940b599bd0b04e0ab4034daf92245752ad657b34fae1d SHA512 98948c1fc465946c0920e4f13cb14a38864502a672a6406ae22dadb993d00cbdc9cf370b1614766dbba02debd4d41993b7c168b28b7c642dc67431b914741dff -DIST firefox-107.0.1-nb-NO.xpi 540798 BLAKE2B 24cb4b31ba6fdaf55b01b16e37b78a45927d3cf15b7bd47b69b821f395b30bc447d0f60cb200104a3a384284e3940445957a4459e84ec07f158c9b1321dc9eb3 SHA512 760f01f2c9ab83d34cdc8e5efc5fc3e210543f094a32055912725dcc22eebfce49c6b3e38f973d48be10871e9a7909ba326ec4364fcd3acf3fdb6c769605e5e6 -DIST firefox-107.0.1-ne-NP.xpi 480176 BLAKE2B 7c697c407ada21edd972f528db8fea81930b4e39601e2300291d5e68ba47f5f703e241f70ae11715675da378d53027064ff457c2b99d2b1dba44093983d7b011 SHA512 de6337411d9bf06f347f3baca406ec84cfe92955ec69aca8b69c6a60c0268550db09da10fa3fec8092ceda395aa712df5e4694b54072eb9f8e45b77eac867d8d -DIST firefox-107.0.1-nl.xpi 548546 BLAKE2B 670b16f49dbaa1e775a295c0bc2ead18b3ec8c2580faa1c53a75c441dbf3a23ee2d36e009134c7e964f332cf324cd7feb5c4f7e9ac5d509956b00f445dfe7631 SHA512 672659ba87cf26a56521b1309bb146da0726fc889c003239d8fe20ede046c6e7930ef7fa74d1318cad50a4f4d3c4e3a9412c7f556ecf690d5ea39c57dbce8d40 -DIST firefox-107.0.1-nn-NO.xpi 543213 BLAKE2B 8d2e881f0f4711332fe4c3ba629789a6466bcaa153da4222531f6349728551ec7adbd4715ac14eef64fe7b9764a759f40314982e86e2c2d30433a13d4d895b7a SHA512 16949e233389932581fa56de01d0f92e10d796dd2d3f49c8b80a1c34dc6792062d3ed8cb3b0a860e1eb9afab040d032713ea4b677e8ca2bdbdd96d944c1f40c5 -DIST firefox-107.0.1-oc.xpi 564163 BLAKE2B 7101d30d595bd0f1a8f6216ac0c4f4d7c833d6f4d8968ef403635111dc1f1f212e48a927f29e72021939ba8eece55a670880beff114aa082875e9e4276a66bc5 SHA512 3fc357dfae3f7519092a7e1e389208524b5d786bea3d713f65c9a7761bf75d00d14ea44175d05ff90902ec278f7dfcf50a14abe8c1d99b0166b20559db626f61 -DIST firefox-107.0.1-pa-IN.xpi 618932 BLAKE2B 400865d13066b7806c311dc712d45449858bce3bf657082a62288056ea42a6e5595fee55c53af96ab8a8be955db64251371e391879b990220c784735a03bd7af SHA512 c67d33942c5ed7f74792e8099be88843bd51373f7dd75bd6832637b61303918e9beec18eb564cfd79332fa1f8c92bd4618b90d1f66469ac90e9f87ab372433cb -DIST firefox-107.0.1-pl.xpi 570594 BLAKE2B 32568f4e55c8b881d03c095e0eb99764580a2b83b8f1e706d206e0353639784002b93a761436659e27f105a873e2c0a7ed416d2b51f2d664d8e393cc592622db SHA512 94e0cb3d71f8511dc502cc8cf6987371a23dbed1b1985486e3241ad4888d00000d65d198540a01f8813dfad997e7164d23ddd38124f1640b75e6f371ea7c4576 -DIST firefox-107.0.1-pt-BR.xpi 553416 BLAKE2B 18a5fe58e793f9e085966efa5ca1b4e31322952ee39eab41884820783552d5c9b974818959f91a73b0415248488c25dbc98d8390f793d4d719d2753a1cf1ffc3 SHA512 0f30801b2204c6fa42cdffca0322d758a482e19ce2d91ccb01fbcd38481f352627cfd617ee23bdbd42905cfc4c48d4bbca2fb61f4640966346464598facf34b7 -DIST firefox-107.0.1-pt-PT.xpi 558236 BLAKE2B 658d9fbf9fd16eb6b061b81ebdb8ce6245634a8472f1f1c0c8d133572aa29588e120b6c88e9fd320641a30bf5641704a58f2991f83e252b0a83152f9a2ab003f SHA512 000c1edaa2837c80f51de220742fa15f58320de98a60090b8d91c242b2fde1190df6be7e8b3cf4f268258ffd7a74eaf1b27a7872382cd0863d722c21ef0353f3 -DIST firefox-107.0.1-rm.xpi 548611 BLAKE2B 6b3cc0a78822fe9382701486b6e67279c58c72ff44f00064e6082a4b15b52a263336d1017244f5d9429dc759731d158659326e85d72391ffe5a6fbd38ee08034 SHA512 ef80bf0f52f6c7924e5c6dd8709b4e596c13934b94da55394b107360aefe6d2346f4f3b946f3c28f98ebabb7c041f69432c726d4a5742309ae0b81e2cbf92ef0 -DIST firefox-107.0.1-ro.xpi 528280 BLAKE2B 6ae82a8501d57f9ec8b87dbd46410112f4f0d19cd464b0b6930b6d28ccfd2192a94c25b3d338e4f0a9922e91fbf1c0cc454a307bf023eb5a6a0578ebeb97319a SHA512 486de7dc3aa134e280a288e60b0754eb228892cf1f9631febd074ef491e45464dd6cdd62ecd40dde18ec85319be72bcc9a84f485c7a8f0ebe9863611d0ef72b6 -DIST firefox-107.0.1-ru.xpi 640928 BLAKE2B 0ef5be441ec773ba67050af9725dcc691323ac5d2669aab29e59aaf351a31de9f3ef59a1844421a08f1b3feee10c39221c1a6ec0e7b6ca0c69c24c6599b1c810 SHA512 a303388b2220078102cfc757b5e1e332ccdebb1395c587ab93c82ab49683caa646f4fce84ab86517be7faf759f752bb4fd999b305b0e25c3a370c66e5baafb31 -DIST firefox-107.0.1-sco.xpi 498952 BLAKE2B 3e5e1402c36fe81239cba0b537ea2d0761cf4e535bad789025dae3da6abf4e0776f5c8cba990db7d1993be8adfb7f363e933a877ab609599716095d20b07e80d SHA512 5bf2a3e24b950973f5169c124f1291c657a889dcaa02bcc3b8fa787628092f639380d65158c76d5e96794f457d5a17d2d80eed54591bac18d452f2236e17fb82 -DIST firefox-107.0.1-si.xpi 564935 BLAKE2B d05ce2726a8c6e7e7a1c2e95fdf4a7ba14b827040b379744cf7c81900495b5ed7c945e08e1ce54b04f1fbf6c0ca08d712504a6fad8652aa7b15442eb24da65a5 SHA512 ef23e52683a681601ac1b5b2c0d8733a97eceb0edb250506e6cd964a423a10d5a128975090ccf924d791c855d3b2ed5670d431556b963dcc75909058bc54f253 -DIST firefox-107.0.1-sk.xpi 578150 BLAKE2B 31188b7d8518474c6849352dc0cea08ea89d86e529ed85773d6cf3fb26287ed13d07dda0e7cc247044221c6e5ffc8d83697b8c909d154b0fcbcf39c97dd8926c SHA512 f879c693b064ba820288a33c993daf83cc763a9289d0291918ba0eee98a37a1b477b1692690dd8631747af5ac3129126824367b0765403f5b9449ada46223dc9 -DIST firefox-107.0.1-sl.xpi 551906 BLAKE2B bd51c797ad6c2cec72470d8a32f6ab57ff3f258e22ed5d81acb2d394762eb9bf13e8d852762d55861872a22eeb3a47047166756d2c8c34cf67881ba6d106c545 SHA512 42739408646160d8cb963ba1fdaa79872b322669fcb0472d5c5160dc6084710e2d6eab5fe223c787779f93a39a8db3ba98695b03d51893d6b66c46b11d1ebe88 -DIST firefox-107.0.1-son.xpi 418041 BLAKE2B 40a29562c3def3b7b0587b6e7b94a6717037142ba024f26c9aafb87b6d3a8786283eb210106646f5d55b0d79821c65ab0efee06d0cf44e98000098f4075f7e1b SHA512 2997fb54d99ff43b6e12117963f4948bb425f5b3de836bd4869547ca985f040f7311b307df8e1e5c50aafb8305b55b45bf3c267652553462b7de653931038283 -DIST firefox-107.0.1-sq.xpi 554278 BLAKE2B 9a57f8377eba29fec8f2a92c356ee2487299104f17015b1c5eadb04b690a0456ad502f6ffffd6fcdbd01bc6ab15a0f5129ab57976a2244b98c7b4f9eb76d9516 SHA512 bc0e0c8125432b64f9d9f1d04ef181d00b9c7f82eb06ff34cd17aceaf1d3d92622853227e13cbdf9e40c4ee7096b9b217bbc603b8e6d61df75e4a881037949c2 -DIST firefox-107.0.1-sr.xpi 594624 BLAKE2B 4cfb39b7f693df1ce1252f543ee497cf315f78ec4536076f5cce2483c9279eb8f41a0ebdc4d51f9ec5bba55dd25bebeeff9daa97e338d9f04cb9038c42563744 SHA512 958a0de6256e75b3769f4c115fdaa6bd7fae4133d7d39986a93ddb1e17a9737a50d73fdfd20ddf985e51c2bb090fc76e9386a2353fe3f54fea522265c8c94629 -DIST firefox-107.0.1-sv-SE.xpi 550431 BLAKE2B 29c03ca1085d8bff372bdb81479d43d5f055ba11e171de1cb7de53dcb7648081de1e988b11edfc1509d41e29214ebfb4926662c94768b0c3de6541fdd1d167fd SHA512 84f9b91b77d8eb1ee283fe671f9c440338876002236969208f386ef00eb00271074685108b69e55fbe95317e223ed67158eb9e741155c5267ca5eef4e979359f -DIST firefox-107.0.1-szl.xpi 511813 BLAKE2B 008466485cf93a7b28b15d4896462c72666cf12e4cd4177e01cef50170ab5154f860d275d943419bb719f584f0e613ccfa28ac3407d89752be9bc465f8b8db22 SHA512 653e6f8d3e9c12551426668ab27efded8641bcb74b4b2545b2287fe0d367ca4ec200a2ee32c9365956ef7524300bb1f611bb40fd2b5c7870b595b870e69186f3 -DIST firefox-107.0.1-ta.xpi 503959 BLAKE2B 35806726c2b9222bcc3c984dd3f40e405bc8a205cc04a1fce4267b4767bb4e16efc205ae969e52ef004c43e1bebc2ed14f24ba2b04fc318a92d8d4e4ee30b31b SHA512 429902bb4fc55dfe93c6e044fa7540692b50e6958a4f403ff7b5e26610fb9718eb1c0671418454342a2a04dd1c2c21460b00f48a35b79c6ffd21682337e3674e -DIST firefox-107.0.1-te.xpi 550791 BLAKE2B 033471660c1f3c9c19dad3580740aac1d001e9d45637de11537e65ccd3379a19aff7c517b5f1066ad1330be69cfd094adb0b5ab517934c2be89fa513d5cde384 SHA512 ec0450e482cc72521cf84047055e721299245839911f226b70149f5d3e7737f01a4ad68c005d673032f80ef463c1d7bd1f7be74ad56ded16842510737a83fa5e -DIST firefox-107.0.1-th.xpi 617234 BLAKE2B 2fd2b8f875dedca11a147405748dd264f150da276d9c7e8d76df3372a328f008441eff8bfc7079e5eaf12532c948b8144abd08cb4eb55bee4dbc99d7d3dacf21 SHA512 5e6716712d389fc216d20468f4938ef856667413c548c358f0f619fde61d7060ddda81680e9d03a58f69168dde5583b64d9f7dda1592807d63967ea01a004b9a -DIST firefox-107.0.1-tl.xpi 517170 BLAKE2B e4b7330527a5b9f2b26cb00a5bb0e9235f81bd535b3df5ffd04a77dd64a8fab7ac851ac60a3afcc4cc6433a8d6d138c50461d6fd61d9540f6d142ee882bf8c45 SHA512 fa5ef8bfaf1d585df7f58ea2bcc9a53a91a9bf2c0bba51e8c5084b649c3fcba22fb4dcc55a1d9ad5ebe76e066112a83cdf244067105ae38642991e3b6471a7be -DIST firefox-107.0.1-tr.xpi 564032 BLAKE2B 940a9c1cbe3da18f8dd493425f7bdea7264756af484fbd836ca933236e4cc198302db870b389012035cefe660a97953f790d140039c37a70efaa32948e9655fd SHA512 3a7a9f0e45942cc07f1483eb27dd24df8653fd571509ef3667826698d6bd08634018672fd49d8b7496911251f2f103cdc4c29321b1e5e65dd7e713813f732fce -DIST firefox-107.0.1-trs.xpi 481809 BLAKE2B 9e671e7e10889352af3c4420e541fc9da2f8c8548365a840aa8052198901d915bbb6b5368c82aec5730db735f27d194268b6b2dd4eeedfb13d21ffc10560ca7a SHA512 92ddc7ac9ba74b56cd73f00aec7a5c5c9485c6370c7a65f20177f6d7bbd4096bc9d1fae541a679c6375cf2324976a2cb8f59a05aaa1d3de3daa981ccb249551b -DIST firefox-107.0.1-uk.xpi 634111 BLAKE2B c6371d66495ed14fead561c7899b5f9223b443e8d2b8a5d6e4973289398c940fa87823641cc4bca42590676fcdcac2db4dcaacf023c8d926540a942aac692f25 SHA512 afb80ab6bc3a008035222bfb2b0d576e55c1f96577cd522f9f7f2815f1b40b502c482e56d1cb8fef2bfb5a28c10b9c60fb8a2fd69a80dc51fcb490224c1e2b94 -DIST firefox-107.0.1-ur.xpi 553081 BLAKE2B 9b64dbd578e695f2e8efd012bd52527b6f024e31d2e0816e1d6cae3535320c27650904cadf3fe0419edf36fc654d514184ec00cf7df8e98b4b4b458560fe339f SHA512 e155e942d8e7aafbffcbc7b16b7745322a2f41e2872d4de0c5499deb647739086d9f5522f73b3ba5fb64f152ea3d486fd40c837542f4d69d6c41b245d6389816 -DIST firefox-107.0.1-uz.xpi 473055 BLAKE2B c9a21bb2d7c2886c95829e99a8bce06f47301acfcf6c76d919309ce4c70b1c2bc6b47bd8f9bd80c7350e6e375a61f48283405412948b7607ebfd35b3833a2e24 SHA512 905434a50b9f264fd26095005cf0c9d155181e9cc6260c1a8ef26c1139a64afa7d21b8b827f01f221c578a0cf3e8c9b5082f30ddcc726a45b6a420310d321dc1 -DIST firefox-107.0.1-vi.xpi 585158 BLAKE2B 5c030fed4c996d44c712065191f8f3c8248c790b45b68cda43779542767e5349697ae83766599455c676382866d2531b3cbab7921033ff09c47e8c5e804c9caa SHA512 4c3d86fe4255f121ff2ed3e252f6b379610abafa2017fe13aed520e217e666ba7443c08989ac47115670e2ad69730583bccace14bde595345efd7dcbf991cdbf -DIST firefox-107.0.1-xh.xpi 414832 BLAKE2B 3db7a14a5cde7a36fb0ddaf3c452787f8b4835b6cc025334dfec8a0f131040b3eea4171784b8ec39f7370047eb0f58d5b16904282d3d9a38d5df2727b08ab7c9 SHA512 36006fe32b4a6b5ffe208006ec6df870d280d7040ca1c52182839e9ad3de4e5fadd49f942170751549158f6ce894d560fad88c3f78ad92a9e92f07b007e10057 -DIST firefox-107.0.1-zh-CN.xpi 585099 BLAKE2B 98bf9c88917666a9316c8c7170dfc83e7a88d2deebd853b282af0b3854405a9ac258204df9013115dde2b8a0789c431396a8d9be6dc6ee7ff7a81a7f3748916a SHA512 393e75b0ec843b00f874ca44b0a378bf823223bc83a107bb8bfde5277c590a5c05b3633a72dd52b24e6d5755e19e844cb70ec15a12c696aaa53852ff95d6736a -DIST firefox-107.0.1-zh-TW.xpi 586226 BLAKE2B b3f7b7831a501304dc47282f07f3edc1315a109a4de76956194644db2164544e8b2f85ec9dd98f2d9e7393d41ed603cf8b3cf3990c4fdf9e650cd453e61185f3 SHA512 18a5f6890a2f291bfab58252b5456df7e61f3f6289c84ce5112e1e1d7228fb3d2ec92d0f6a7669ee81ec8ccbca4ecc858ded8e5f2ecaf9839d38426851f8e3c3 -DIST firefox-107.0.1.source.tar.xz 508678860 BLAKE2B cab3d7e723c9927518a3acfbf8d0db7846074000933074309b9bea1dcc2e182b579a7a6b2763bafeaf813d9846c4539d6e73cf75734844f3207525aff7e5c8be SHA512 e57e4bfcecbcc6dbe73f23577a14a2998c8c3f3d602f85ea06f99e0974e78481b9f7bdb019cb4e9733e59f56be1407edd64a2adb7b284bb4a87b46b1e2295dea -DIST firefox-108-patches-01j.tar.xz 19984 BLAKE2B 73e462e94e9646440a0f316a3445fd5839ff40aa8525bdef9408374b0b5e2de03cf02f72e2dd9975020b1997817e3fddb07547ffbd97a1932858327eb5f8866f SHA512 f225c27f78614e57e2626236b2d1b2a4e49efb5b25068b67705e918cac2bac0b63c96fbde71984f348ffa57e1dd2c1939f4acd319cb79f4ae87d33db2f9bab5f DIST firefox-108-patches-03j.tar.xz 20324 BLAKE2B af8f48147faaa5180ec481d4eef7ff33a0f07bea6c9829d9622ac4c1444d6c41a6d1c45ea9912b1c1607e0f5f2e48cb70b1ae8d53eb51ee025a98c9ab106a123 SHA512 d382dd99e39f60bddd21cd674f42c3e0be330dd7fc4f2ae0ddbc2c002b934c76ba734a754509770f063e981ceae61af587786a04741a2a6d6ca92da9d71c6c70 -DIST firefox-108.0-ach.xpi 454490 BLAKE2B 392a924ded6bc94be764b06fb4f9fa97fed739fe2133db62a3e4cf7f469e12fca3c3dab62b77218653601628951dc9c76b737d5c4c2579c94c0b8004c072d0ca SHA512 7a67bbc3f10a000b1a2f665f3f9ab0876c1d66e6c4de80337c6d1abb9a7bc113839e72b134f7fc433de3755c43f083370f194bb748051958a95edee3dfdd8e76 -DIST firefox-108.0-af.xpi 419608 BLAKE2B f34c8288a87a44101ced0205649efcac9c16f882dd4030e0cb8ca3e93d6d823fca5aff2024b7159285d646be7553717d8639a38f0f9087e23ec06dcccbb44dab SHA512 50dbdbce858aa66983a6fa6513c7f478bd8c1027948711fc8af1ebe53240083f505b67a44169eb0ffc31b8953782bb4d6735fd79994aabd83fde4eb7bc6b57f2 -DIST firefox-108.0-an.xpi 501390 BLAKE2B 6fedb599efcf355e6d978fd54a21d70e156f2de3f182a59b742756f34224386c6ebfa712e6070bfb6767eb65de7e56d772e2b8dd8863f5b44d579907a8a3a8fd SHA512 481e514195fa90a30c62e126263a242e28c5714307b4a90139d3ea9551f9c92d15fbb1a1aee753baf8e10800dc286c78d5176e2042694347412db6db56cc57d7 -DIST firefox-108.0-ar.xpi 568726 BLAKE2B fb65ed190d2482dd468a7bb7d54c2d561799c736eda6b288f35779acf913320970e6238d1fb5fcf3cbdc419d0513b6441dd24474d2c8c493941dc000224a5e8c SHA512 3550fcc8b18efa6f6846531342fd17a3ab902f02a99ef07424c310b1ed12bc378b9f38b735549e5ae64f3c9fafdb9525c4c91cde878e7164a3ebe0880245016d -DIST firefox-108.0-ast.xpi 487880 BLAKE2B 873ed7dae98cc6c4232d7e110ff00a776b7c302f102a70a619ecb79bba91acbd535dd8a9f9150bac270ef91d11982a5055f9426d6442eb9bf00e5b3c77c547f9 SHA512 b52b61b575dbf24da8b61cdcd8e3d46c686b0fe9960b73d7671241d6ece579494dc1aa41c67f85076aae8a1ae1237f252b508d7fb55f27043817ed8b206ca5ce -DIST firefox-108.0-az.xpi 490762 BLAKE2B 4790ba52efb7f36db30dbf49e336c628a80203038a3f0373eb0b309b2125ad033a8ebd4411b770fb1cdc1f9b8f402522954cc209b6d5ef193b73a3d9484aca67 SHA512 a70ea03478cdd281956c5afd9954664867b442f9c10b9683a6287df7515e047bb3066d483ce6af5dfc1d26bec2f74ddc84186c1eeabf965336b7236ae09eaa2a -DIST firefox-108.0-be.xpi 646989 BLAKE2B e825b403b9e844e8b4943b1985b4b751451368ae8700e9967b8cb78b7557622422fa208db2ddd5b92e7076ee532a755c89e8ad5fff7df3e7fc0725ed63b47407 SHA512 f07b92a4dd3d4e4ef737d3283b0fe8f9afb4adc85c8ce3296a1405dfd7feaf3344ead29b9c363a3a4879694a860488074db0c22241b0fb35c277ac4b24034a28 -DIST firefox-108.0-bg.xpi 580618 BLAKE2B ca4f071522fb18ab91ccbd434048689d6162233c5ec1c57e6b94973f6a5554d5bb69400e27414b47df21016f44763a51d5f10a739ec445e78f8de9ee68927037 SHA512 de5dc443a397bba6690c17b20eb68af1dfaacbadce5fa56c8e392f7a905d1383b6807bb25f39a9e1f8f9fa6e3e4d56b0380c7fb37ec050d7d950068b6a054c88 -DIST firefox-108.0-bn.xpi 579702 BLAKE2B bdd57ad7574eba4f3f28094d96050aa17269100e9b53affbeb7a77a60e573f941167b001849c78709ba03e3baf1a4aec7ec8dc3823677a0f488ccd84e394d06c SHA512 558400514f12ea4a898f45edd263ea7c2e2d07baee4a0338dec89bf14b2109da05ac51912fc727a60aa15f24a8c4adc2581ff12197baffe6d1f6311692132e8a -DIST firefox-108.0-br.xpi 542569 BLAKE2B 76d7483a911161cbd0669d726230fb682ed0fa004e4d49d2b83d17125f3349638256600b7f8679e286b4e8ed6de9043e21f15b90f55069ed0f473f2175304c40 SHA512 608a4186ee6f77f52af4164a385e4d2302d76a7b80d00193ec7651fb838a0c47c98b33ddaddde4ab0c4130854f86d2e29b9c623acc9ae0c60e68043dc1014077 -DIST firefox-108.0-bs.xpi 461628 BLAKE2B e7dfa47ce4b8d4f82c198f992ebbbc1d7c64a1d3a49159df1f81997d580454d44ba3047cdaa55fc0fce8fc81db5093ff599c987d6d3c581569195f263fca12bc SHA512 5a0aa7d3f6ae4e0f47d632af56bd2369f5ecd2f1458eb9b87e20e6941282f932689379959290681b4a8973d38d91455bdc3d48dbe2c94c6757363b0bdbe12902 -DIST firefox-108.0-ca-valencia.xpi 540302 BLAKE2B 4ca74fee5cfdc616411223b0974cccccf60e61b11ac2003299a0b69f169c082c79dfa08beaa599e5ca9797ed6aaa703d37095138ca23d1150bb523f68d54e5be SHA512 066b0caffb3c31f969a0d9a2f8880e7e619bcb4b2dc25a991e2e5180454275797a963563787687b87f0c098aa5d4c8eff6310d466394e6e5ac5bda6cfa460ed2 -DIST firefox-108.0-ca.xpi 543820 BLAKE2B 20b1f5c1fc3deb3986ca6e93137c5eaa2a8d2fe9eb93a25dd7f4a176c9744f663e1e03fe666d30654938000025a70d6818b0ffd3c74ecf402d66c5b6b32b2f10 SHA512 7da5e42181e889e1780528c9a171c8fb18558d64b64af788b0cd3c884748b1379c450bb58cbf6ad41b04336e0f176d70526fc925570f2a9e088fbae45d9e439d -DIST firefox-108.0-cak.xpi 555248 BLAKE2B 3f87e8769919107198bc030b4301f866a9e3734bc847957fd1db56887010a1d0266f28296a9e4e0c04023be61dbdb9ba8d44ea6c2c09620b8eff01ba570c5a43 SHA512 5467afe17f096b3707378987be471eb2e0af843861d497fbb4f6d2b7571f3386a7092518771e09a0ce7f7920ff6176cfc6c013567de503eae356c8a7d1cea21a -DIST firefox-108.0-cs.xpi 582586 BLAKE2B 54342e1def5d9a23d7a47879f881096362d8de1bf77f66d55994ad63160adb38254ea5dfc7f2cecaa686abf9d61ca3a33f998ad951cf6f36d3881f0ec190b484 SHA512 4187f758fcb0669886efc89d90f3b20631372f34816dc157271144a9209793d5d81dbc5eab5759dd90cc76f28b74c68d3809e4a5492ab0edb440f3a9ebcb6880 -DIST firefox-108.0-cy.xpi 562646 BLAKE2B 0da39322485d15951f6190a6646a02a66333ff8ac1182c1cdc1e6f5d000c8cb32b7579997983a7563980da151fe69ead47cd311730ccd5cb2388887805e64568 SHA512 67d028f2a5fc3690676ab13d260112cf7cc60f6e5fad54e74b3a49eac44905bcca7ee170ca089093de934d87cd005ab5cee63d09dfcc3438c77d40bb3ca607e0 -DIST firefox-108.0-da.xpi 552335 BLAKE2B 7de9784bada50e804a46c88b5501107b724cfe3742d2dcc89b8f7403aaeb3536e94de7be5960d8156abbae045107c4fabf9ed7b17a17dce8d3d3ec02a296004f SHA512 91870d08ee54ea8576c8030677781df628bd080c418d40457d5c8758c8830bd6a136609bc42a42c5cdbd3323ec3c998cf4f917dece306a139ada67733ababba9 -DIST firefox-108.0-de.xpi 573552 BLAKE2B 85dd4166e1985679159b7c0f7864b9cba685314ff028dd3fc3c8d62076a8a76e86f2c0728d1df7e9ad8eac20b4a77c725b5c70a92f0de6a964798a7ab8ee73f4 SHA512 68a6d1b20415a87531c5c7f41c488b139b02232549858a099eacaf17820a34f46fc8ac5e02a834e7c65ce122dff97f157a4d3ee3bda4397ca3c3d9fa9d914730 -DIST firefox-108.0-dsb.xpi 583369 BLAKE2B 5e818912e303702b7c1e296927b3a9d7bde6ca1520bb72be7b023bec959610d3ddb236a38bbce691eb581ce2f5b9d40ebd811dc2f0638b20ef05e284f24ba0d3 SHA512 1666f13c4d88d4c305bffa0a6bd50e011f1665c6c650f0fcd0af2484c2493176aa1e492385e72ce52ae8aaa2fd1fd118d18f027c9147433c668a600f7d054149 -DIST firefox-108.0-el.xpi 662909 BLAKE2B a0ef8b1ae9c74148761210aa62d544d9f68b9e46df0fc91fb4c45f8db1f0cc501d7e78cdf961a676194278b20538526159497f600394386c51080eb924735fae SHA512 6ed6b3c1593d6b67cb192618eba884dd256cde7ecd3f1a3887d164c3eb5723ed97a4f858d74febe4941191396e5368897f5b80a89e5e488d650a36a63cfd6496 -DIST firefox-108.0-en-CA.xpi 525757 BLAKE2B 5c6e4088875ce2a83b8f3d2b05063c9289c8436a0bfa8de86421078d6b9b754fae37f779fe312e5144436409016a75d005e908b96b10995b974a8a001da8cb67 SHA512 29061e1db10bc877b19a4157411d19e78421c5376ffe79ad38d5d5346c7388a8e1bb8070bf5b64f2ddad3de1704798ee212aa26ef457618ae5cbfaa0af767544 -DIST firefox-108.0-en-GB.xpi 528668 BLAKE2B d115250eda73e9552ea5f17f713b8d775788647ab2627ffeef23549e4e687fd47b5abb4c8ad79185359308acc7dc5acf83c41a1eb1c114a001ad96001d7f65be SHA512 2957bd3771b8d87823f7b5bf3f7609c5fa928af9af8a572f0c1db3cf60220a42a8514fa7f87bcd0edf085420dd3868672cc74dacbf34eb5e2c4b4609539eee0e -DIST firefox-108.0-eo.xpi 554179 BLAKE2B e354275de72c6d017a17d6b1293b3ee71ef269de9c6df0babac5564f23128de5437fefbe7f968a10ab6c38502dc9a8add9547dd022fe938f7f371c9b561331a7 SHA512 564f79260b2cc3e4c2202b77545c68a9ed819b56239ba6377dd5836ab914c15d22b435f9388c18852a64d3287e29f7ba3565246a04c006a6cccdcb9e26a97380 -DIST firefox-108.0-es-AR.xpi 567746 BLAKE2B cab811c7f45b0c57cf77d66234f061dc050f5dcb32380f313f0a89fbf9a9fe19fde1b57ac33f32f0f46770ab46e78fc3f2f955375ea7e5a666d99d6c21d0ba4b SHA512 9fa21f227b5c1b54be6bf0b7dee6f45d0282672db7efad623c8289313ba7019cebd17800b60408201e26b72b23954450c72733c3ddf6ccd19ef70662f31707cd -DIST firefox-108.0-es-CL.xpi 566900 BLAKE2B 9e3ae1cf341060ae7cdd4c8c32e0a678e67924d5c6ad93b4aad628823da593066388a6b00b9395f45859224b57e5e597c38a2c486e481cb73626d75cc9bac329 SHA512 65927e91921ef924e55c665441831422c64b0b64d4ab0201e78d2bbeafd26693460188714ae9760ce674b640e2c2936b12cc0f551ad6de5de6209b55310a478d -DIST firefox-108.0-es-ES.xpi 559297 BLAKE2B 86a55662f84a37be766c9f677c50b64350d2a67b8cecce9395791bae9c26d99b00b9df367ee0f4ceda08ddeea2beb983327d38f9149d4b6efc6cb1b9564729fc SHA512 c105061758a127f716782f40c6caeb1ad7b549a2e9ebb8ee7a5b721ec275c3e80db6fa9c886cf18c0483ab173d083755f319771ccf7aa86e0d457d7ad8279349 -DIST firefox-108.0-es-MX.xpi 569584 BLAKE2B 4c98a05b9e1facdfc0c2c54a939b62ebd04b761d30c98be6f4dbbd8409fcc9373c9bdcf8ac912bee2d4d8108543a932ac175f30d01e6df1e62980123f766daa1 SHA512 7a1f20a832a33e432bfc8c74d18a375e52e98705a98a7a8d4f2c979a03f3215dfb50772d9aa28a13d03da8956c06bbba1365c1be5b1de46b32c54cd1d807f582 -DIST firefox-108.0-et.xpi 534528 BLAKE2B f1f519d0e59210351ad78ba1d57563c53edc3d515ecf06debc5f7c9d5f1625f6daf15761ee14ed6a79e1f54bc56c85d36bf960216e7015e21908e087b69d5ded SHA512 8795000d725c6df3abb0f1c07b50e5631f01798bed0cda393b27361bee5e18d3d07f469b632f967bf1909961b3bb84c1024d8a86c2fba189530f4463f10f58d6 -DIST firefox-108.0-eu.xpi 556949 BLAKE2B 1ac12f8fd8e2bec3abf33dc3ed8dab417bda0f14bea4d9b05a2e0f22a4e756124e6098044e740129266dd5169e0d1dcc9d00f5a775ca3d28afb990b83465cf44 SHA512 2f06c9b01663b04a4c19ffac7e9ea12eb5a2896b1a2a99e91e74762a1fa0e7596d4f297e37dc727d1076f94ee666a894fc8288eca49f04ae809b14a1216256f2 -DIST firefox-108.0-fa.xpi 572380 BLAKE2B 2eb331468bbcda26032fffdd1f28847b1099309c9c14a7149b3dc3516ad8e1b54cd5a5b54ba905799d071db320d485213a591c3cdb41f56da5aea5d80eaca4e7 SHA512 30208384ae9825041dc9c12a8e5b592feab33bfa507415cdc3d339af31c31c9cc98f338d5a822a681d385df80fce4bcf4dbdc7f805769458a1a127e913c30391 -DIST firefox-108.0-ff.xpi 474471 BLAKE2B 30d8724b9d9c9b3d91c5976a1536edff5fb0fd103e16c5f73d633cef8bb6d61f55844c3957b52ac841d5cb08d327b9836a891f140cc5baad986bddae287885f1 SHA512 61f56b20998ca6420e9e951c0853bae128388a115e2ddc9fddd5bebc4bc97ed2e2aa9168504058a6780395747612fdaaeee908a6c8e4337249cb5e3034f9868e -DIST firefox-108.0-fi.xpi 552982 BLAKE2B 18e5b9d407c08287c73fe1f5689f151af975dae3827c33a11f7fbde31b03fbea1fe7372768cad7b8a70633fe44a51e348007707cbfaf56f1fdfcdd6b75dc9ea0 SHA512 7d6643694c6a40367f236e8edc4f2a9d508305fc30be8868b5a0fecf170f9b7589ae41bd68483c255332d8c5f7d039309ea60feb8fb255008117c80be9e63310 -DIST firefox-108.0-fr.xpi 579472 BLAKE2B 1af8b6750de84e914f464a42ab6c6be98afea0e699e07c532936951063290ea02fdb1e9cf4a2b593f7f10064fbc49596874fbe800c1d722c855d6ec07450416a SHA512 8d5e10e9974888eb90ce555bff14e40f675663fe0239941e9e5772027faf38120a38b2731b56f2dd3926ddf7530bb9de4063376004fe56649dc32169bb222faf -DIST firefox-108.0-fy-NL.xpi 563342 BLAKE2B 449db3cd1045db3fb14e855404595a00ddc61322882b0069da4d3928b1ebff5d09188138c70e74fd2ebd7df3572819d7466fb0db7a1e57a1b30dc04f7290e8e2 SHA512 5c12156bf9b415460a91c5f48a2ae5fa5279b326b65384b4b4beffeec9431c14bf410ca8f60e4d2c23d39e42ee891e9b2774abe9a20a21bd2412f3d14e08e440 -DIST firefox-108.0-ga-IE.xpi 470265 BLAKE2B c6240a8e5265be9718d4ee56901c991593ac2755dd1e982d8d8bb66dd11bc4f468c47dcfe64ad931cb5963fe0e7a9da359b40cc8ece60956914dd28bff661a1c SHA512 a1784479d095c9e366b4973f0ea9426c800755ecb8e8fe41381a5122ae60af7429fa66a6196ad6c917b36d0cf8dc6da1e41cce59cdc2271f6b269bac3e339ffd -DIST firefox-108.0-gd.xpi 548823 BLAKE2B d9615203dfe6168692dd09df38519cfbf5d2f5f1b9282221a71d96a894255e60c36871deff2999a9b90f9407551827bb93acf56136a207dceed0ba1d72d14208 SHA512 d915d47d01b2a17a131eb787867d0341ee60174a8ed9b6c60c9f34f62c7f87a566db057fbc951ae003390ae123c478b826a0895104a67ea23863e2a31e9c0c4a -DIST firefox-108.0-gl.xpi 543424 BLAKE2B 4dc37846585f16310556725513ba4a6d3a151fa202eeee3fc93cae66bb60e6686b382c5a6584af67298190d80aa55aa3bb10a89a84dc5c296ab33c4db66d3ee7 SHA512 a0ecab84ef7816bb94baa70ca5182428a1257e3cd190ff848017b913491849ba5fca23ec3ddf68e5314fb285b4e35f4b53914d4472e12710def572677c447b67 -DIST firefox-108.0-gn.xpi 578516 BLAKE2B 504968cea686b304efb71d753ccb9d3ae08cbf069068b3f95d6cbc0c7a1031483d18a494b8ed4f69bb14fc751229e6e93b13c3b4d3448ea25e80d30bcba55b31 SHA512 2f8226643a90de1ecda9787a8bfcb2812585901837c131b05eb6ae5b536a72d0bd081699ebeef0d1dff30f1bbd1fc822f6b0343f722f1f427426cb87751c6da3 -DIST firefox-108.0-gu-IN.xpi 529438 BLAKE2B fb8596d159bb6d821a90379c03d852781dd1cb6d0f238d04a5eba9b501ba447de67068f998a56e1ad3418c11bd1b8780b453c4c1bc0d4cf923d8cbae6761882d SHA512 a491e6d5b7ffd5420d532692cf84bf873ad2e066b65b8568f0b7ec21d96db84974d0400d5843f7678605531e4cb4f0707a73d07b77ab4a28e770aaac22145e4f -DIST firefox-108.0-he.xpi 573905 BLAKE2B da15999966d997408b2d9cccc2bb34bac2fd91bc8d599c309bd13866e9ee6605a4e2a2c69ba49f3234d41996569f6cae6055bece1dc4fb0e6e0a0312496b979f SHA512 425b523deb0ce596b382eb16999945327fe575640cb666ae6637fd136fff82ac2adc4268e1f29627b2dd3a86ad9d202aa7ace937d6d43d2f48e4bd8278798bda -DIST firefox-108.0-hi-IN.xpi 558576 BLAKE2B 15c0e28821ee0d9f14cb962802465e0b584f9539c355ac310a22a1ebb1a0d6b173969f2dd4753f108f815b2bb90575ef24e6b03df9c9d233ed8cb4ae3136aea5 SHA512 84b1727baa88591320de28b4dc788dca67d98f7e4ec49530e175e5d0170982a0a56556f08941d539c9939f0f0b6e92754b2142d5cd5eeb251f68f1c33de8c167 -DIST firefox-108.0-hr.xpi 538310 BLAKE2B 68068a88ccc482353ccf3c86ce8188075b185cf90e9076721bf5adde726665f08706347f7fcbf3d4d0121f4a7b2cbca8a98eb4c864f3545e145cf619d82c5229 SHA512 35498b528c9e02dc84ed95bd3a5e2ea1710496d681b2f69674015eaf1dff1a026033d1003c27e8a6159cb348dbf80620d18078772e7c00c7509001a826b9d4cf -DIST firefox-108.0-hsb.xpi 581692 BLAKE2B e1f0ca85b2d45f1c7a1e4e1a31a4d592b941581cb643bda2bb93e80bea819b58bef2130fbc16f52b11a6b0acecba13e84d7c6fb0b074c094962207d913504ed0 SHA512 ad01eb3ba7f9b51e3d56487e39bc8f92d02c6828f120243d9db95dade62bcc3e8f2de7a0cc583ba4607fe89163c8e3454ed6080371a1f58d78441a163d2425e0 -DIST firefox-108.0-hu.xpi 587849 BLAKE2B 1a9662b40161f77d0950142fd533425c8cc5d5e6793b02070de4e0886dee60a3d46f97e1e9b2ff5caa6d4966db85a8b4e2523713fc7f84c931367d81504a8225 SHA512 ae7e016cc9d692e9fb86acf6dcb37859b12a8d02fef942313b82998c7aeaf76a3978730f631fd5e976eb5d6abd87a239ab65c3870711d20ab4942e9dcb145108 -DIST firefox-108.0-hy-AM.xpi 594651 BLAKE2B fd7efe69c01c97e7fcfe5d273d8049ea57481762cc82f396ed253b4a4103c568cfee621629faf3a598e6be35c8fcfe90317315fc9d917f5733cdf28079e31b00 SHA512 48a1abff3259febc2347732fdeb4d9ed252e11ea16540455a19f5ba7962ca85e188c7c391b33c4f8d0d69a4672531946cfa1cd83848d229ed33b77aeb918c1fd -DIST firefox-108.0-ia.xpi 551760 BLAKE2B be3d90ff2ebf705a5469c9443968d8ebd6c1888fa3657a7f653f193b8dbc418b610c819999d7e68d60234def2d058317e0f9b45b1d34d7d0ad68bb76672725c8 SHA512 c8f24d36bcb4dbe40ca71ef1c77e7b4cf3e57b5e78833c2ed54ba5295b0f21548133ea8d33a4059db7c7b953a24e5a97bb28748bd8b88b9e3071842a610e1e02 -DIST firefox-108.0-id.xpi 548618 BLAKE2B 8d439ea92047e4f1608e67413a988b965ab89890ad1f7ed905afcd5c9a9c74634043b2ea1f357f917ccaf99d762fb14157c9f390d05777e3f8d7451424cf3e61 SHA512 11c44a58e4d3da8e4d57d3123b724b69e566ffe4a24d285be823cea2c92c5ec816cc250c177728edbb90c02b9a823ce36dec0294e969db008b4b0fe52e650565 -DIST firefox-108.0-is.xpi 560732 BLAKE2B e503fec2ba4cdc725de9a0c600b1127c6b03983f6e62f153adc696d8399d7c2eda43b3b697ad3717c64f58bb2af1bcdf9ddaf1b2d2f50cde2ed828f2306b93cb SHA512 fa02afde8b9431a7b460b3a77d3c940d611a46922ae828e094ccaad0fc89c48b5ae109e155c52feb133a1b9dd83d6146720dcfe045de5b002e1d163aa8030376 -DIST firefox-108.0-it.xpi 488821 BLAKE2B 32dcc42e14ca263e9364ade7a93d2dc5f7fb4dabd8da9a0e4f5ed524025cd5c6b79b39c91473460f4c8e2050c0ea8acdf6c10f8ea7fdfcf18791fee83df60fc9 SHA512 bbcc6969ce1404b7ac54072f627f96dcafdba517b7768f7965822eb385b9a40c7798a28b758acc92fc22672883bf5d289ce16899638c42e8dfb41c3d23e70a4e -DIST firefox-108.0-ja.xpi 612097 BLAKE2B 7e5465d205568787c6db5304721993c77abd3e15681de27818b78da98c241d82ccce0e96249416db4c6eaf4500db3869cac70771b49db62053a2f624a509e602 SHA512 37ffe099bcc265069243fbea7d337cbddccee4634bfc5bf8aff91b88fd8304c16f30d3304cd0385b346302798ee717c8fbdabf427c514b2d850dd91b90d44a70 -DIST firefox-108.0-ka.xpi 616441 BLAKE2B b0248ae8165757f4b8e4121b01d73fdf06e2bb3eb85c92e0275bd1039514dfa5f9d26d293f24b1c4d489aca5aaae6c5c62f6ee24035c7759fc22c6ccbcdee2f5 SHA512 255c5b6237405a8a9d4bb16e2cd51c8e3b85db085f3d05e587a983a1c241c1ac9decde51bb1441f4d6c51d75922567f3687ba625015f7855856978c34dc50993 -DIST firefox-108.0-kab.xpi 569587 BLAKE2B 0b4cdefd1e83ca98ea92446acab645c792c29041eb592dcbd125370f33c9b373067dedce60eb47b9d45ee8ed63d77fcc9490c2d800d7814a41adc68e401406cd SHA512 74a4cf4de33067c3c76ba183ff494a79cb2dd4e44de5f8e809b33cbbb21e2a914981cb99fd27502e5b3216e8709dbbc57d9f5cbd31c19d036ec380f83f32a8f6 -DIST firefox-108.0-kk.xpi 639483 BLAKE2B 2891aef45e05c95d75e3cded2f50aa30e06dfd325cf6eb69e00264643c150460d026cb75cdf028f5102965397fd343bdae99bc1f92058adcfc341cd0cfcee5c0 SHA512 e9c3da1db9ab54884f4a1c761ae4431ed83f6f15249c5fb4e69f065406a0f6dc0bfed0614a4ca941260d56f1b85f08effdab55f159f4cf78c98883c4ab47f262 -DIST firefox-108.0-km.xpi 531197 BLAKE2B 4243bf61f44f9dcb9a151698224600b72475017d518d7352f531864e1e45bc0c95f2c0fe879118251899f6d1953cca08d594d8184d2c1109bce29568fcb9d073 SHA512 5d0c67bc8495ca5283c8e2204d2cc2f9e49f8023121ca3bb321ce488ae74b698b8ecd133419d0f4b604cb62b98a039746df3713bf08ae611208c7f124e0040d4 -DIST firefox-108.0-kn.xpi 496781 BLAKE2B 9eb00c9afaf58c950359160c14dd1d863103d744d7c8b9001f5b5c73fad7e9f44e576046587156b8e2a450692d85878de21146d6c8740e42cec9270bc3ceea8e SHA512 0590c56803c13be97ae06674781a32f7db87a7c0b9b6ee854d2ddaa0cbb11400d255f6d3b05caff2a4d812d02c6d99c1d2a0d93d2b206f51ee162c5d335b6e4e -DIST firefox-108.0-ko.xpi 598484 BLAKE2B 680051c6b1c250c637d3cfef1e39d1077d3041fa8002e62ed12e204da98c3ee44968fd72fe3b71443ff02c2ef48bbb19fd460d8e48e0c84ec2297f0ec96ac20e SHA512 6580137e6b7d19d7a11c1b560a5933e02aec69ceee4c3efd9828aa1857967dfd3e7ade2e5b79beb73e1bf536fc1ad9880e86d496a5ba6415bf273bc46cbbf21e -DIST firefox-108.0-lij.xpi 471417 BLAKE2B 47d5f6d9437be743d24248b553748f6272cdf19528e6b3a622d71f0f52da7c6a6a1ce529774949a139f11c3677cf2501768caa5af1ba879bbaecfff35d4fc171 SHA512 0811bb15737b7689475c9699d5eed2a4266ec7779a5f4dd95dfa9b1c7a506ef99c0a1c0635ea5ad66573f0f712034d886630854371021df0a59d788d70139afb -DIST firefox-108.0-lt.xpi 566404 BLAKE2B 608c3eb5ede3e45d4029872da6b33d438a34f8dd00dbec8d860b83243513927242124dd075c28f74401f2b8103d1fc9fa58f6af6e2bb0e284196ce4031c883de SHA512 a11f3947712829d9f5ae5f3191f19012a5a509677620d04ae836b4e31f7a11e716bd537ef5f4718444bed68b57165fd52fd43a86cc331c5612ca1b89ef7901c7 -DIST firefox-108.0-lv.xpi 466194 BLAKE2B 86eaf251422527298feeaab94b969415065ab43a17355956afebcf35e74247e9cb764cba239e3d05c74ed7b9fd5b8e0b52c9f8c866e9aecc81c2d2a2767ee492 SHA512 da796d4240ce257ad91bef1e64c2e96360ca947b126d3ac217cd8ee657aea82e6ee60756e8f687df794a3b9555813e45e0ed68a80ecb0c62eba954aba8cba4c1 -DIST firefox-108.0-mk.xpi 485634 BLAKE2B 37c66613689cb40546a44a47ac22745962d1e53baf1e5374f86dd150fdaed48462def4539242a6b749f91b1bb4e8b82b1849990349621efee60aab83ec54193b SHA512 bbe807d7edc4f9b9ffffee7f6ae88f1796ae743d0f42e43048b4b97892a6cd705bd879fe4da631f93ea80260fa2f0d53ef6bae21b2a8dfcd52dab46bf5975846 -DIST firefox-108.0-mr.xpi 531995 BLAKE2B 738f3bfe8d7cef2685fce74fb2d5389e47c367563d4e27b4cbab624227e1d904e1187246685e8c8580ab0f01676a806f52751f2110c03f1bdb595abf83df6dbc SHA512 0d26a58ff20ea5a8548ade7d9d8b22d2b09cb4ed50fd4968d339d81a733207a88cea432fe1a648ba6d53fe87913f63d8326c72f6f41532ef3fccb2f461b915d3 -DIST firefox-108.0-ms.xpi 450657 BLAKE2B d4fdd02bb0be86428df9da03cc951ec28be2538b2c16ac7d3501069b94c0f2e730229d07fd009a41001aeb1233570ffe8fb0ca96d4ea838736465f7d78b583d3 SHA512 2a2a5f82d4d965c3a1f01dcc68e3297a11cf619c3846b1ecfe47e2d2eadff9a1039b2d6599baf926ee8c969f0a676b9d66e5d6ffb01aa560dea5b0f9453d52f5 -DIST firefox-108.0-my.xpi 517676 BLAKE2B 50acdf122560703635b3a4941bcd3dc8938ce378812ef1c5d5efd39ad65cda4ece773f98c1cbfe7faac2d302d6c441923bd89a46c3d96773ca90e1394e112025 SHA512 91804176e9f4239d0ff161a3dc5e8475f2d7482c3699e892e42290929202ff1f3c91a92ef6f071930c86b659372d7765154f96d9eea55afb66d545c2a5cd4168 -DIST firefox-108.0-nb-NO.xpi 549684 BLAKE2B 838cfcd8a655c5a61475a27788064ab6701a2270525d4f2a9278e3eff187af0754a6d87cb0026f6298b9c359063016db347b26bad951355e28ee967816b5638c SHA512 4ce8139b1740981bb23b474c48030b937b65185469f146f9cf124ae431c710a6153468236b679add895252b16a218e125575f950abfb52d892c386c40d0a645a -DIST firefox-108.0-ne-NP.xpi 485231 BLAKE2B 67bb1ffc50bb8b9a1b0dc793423069040dcb3f9014112b6c4550a50ca68444060fd55ef81f9cfb7dde08836f586148f85a93a8147ac7bea704009933735bb77c SHA512 2178bd37af507e89b10861f471abb17ec7099a5c8d9ffdc48709c319fc4f316041e32b09c67da84ac8cce4c4642f455f84e0a8cff792849329b9abb2a325c9af -DIST firefox-108.0-nl.xpi 557494 BLAKE2B c72b7e6aafc1d04cef49289e3fcf203db10eaa1bb7e87d3ef5fea652aa09e5ad6d39675cc145eeefd55bced1d436f69300155548ce3675c126f9feaf57d39471 SHA512 892ead871d7616f52175115e443e6e73793a3222b55ce4c7d25f0ed523e39bf433415a36c78fe0cd882407aee00d6d9ebc0cc0452aca70e3b923391ae0ed0147 -DIST firefox-108.0-nn-NO.xpi 550012 BLAKE2B c0ebdb20b0730ee317df29ccc10c15b3be6a0f269d8a0eebcf438a2205cca11391a12e090fb378125c3d9307ffc9f5c0c4e7c68b0a6206198c9fd0aa8794d967 SHA512 f6b74a5a676a17bc7f6fbf47a3f442b539b0f3156ac7449c4716d7fd24bc8c2477d92f545c1603b6c973369af9210e05f0eaf0adc087bb7eef0cdc8e135cdd72 -DIST firefox-108.0-oc.xpi 574018 BLAKE2B 538ec14e4ba756dc69b3e30bf752644ddae6aed43ad512ba227b57bda50e2a07a22e3eb28d03dbde33045a3ce5f9434fffaaf8e31448fb86fc4420301daa4ec8 SHA512 875e03e24cadbfb70641081cc7d95c2aafa19bb2798106a6662887758d50e5f34a1b477b330c39793495f8021acf52a52437914cfa892efaadef866b9859be53 -DIST firefox-108.0-pa-IN.xpi 625821 BLAKE2B d5d41d21baf1d58e5c64f0a8075623dc5584d6b82ff83ce5414b1859b0b58b51abde253e397e76bd34d1753fd9b8d84e1a24022a930504649bf81e17da47ea5c SHA512 7ae6d14b7e51977b3b30880ba52565280d10dcdef3d9645fc184d3a00da47527182b0123084766c4da16a14b85dcd8a8aaf1948433ed774f07667e0d36f11832 -DIST firefox-108.0-pl.xpi 579972 BLAKE2B ea44ed659c54ea37d0e4d13d8ea8b613b8ab93e9c92ec33c27587703ddf8a37008f186125a40c2d70df62a059b631ea32cf0cf0defcd1d1a611138274f3755b4 SHA512 2ff258453e260c7b05f67bf3ecbc4ac145b3ed3e5d4ba217748984f2099c1fa7d4be5bd6526462d2bfa9093d6ec4d005665ee21e4cf69917cd97c8bc8fc33605 -DIST firefox-108.0-pt-BR.xpi 562412 BLAKE2B 4b9c6b0fd4b527c5ccbe6cf01f0ce24dc22332f203558c59258d115384fd3096d04d0ffc344de70fbd7b6549aed76a413d5a43faa41c6d0d1982089021daff0c SHA512 b5058a5cc1755ce837bce5f5316a5b1f23d92abeb0a137e8b1c025f1e1ebb0e2bef520877f89bc27d0f2591c2ea52fbe1db229e052c0922a734d508590d70b44 -DIST firefox-108.0-pt-PT.xpi 567179 BLAKE2B 5943a1745274dfb8e5ce83ffd636fc033fea75fed895dc19122ef70546d566d949058a8a07e9c4db3f03659fbadb9411618d3bd9d35dbb77243e42b32e259f3f SHA512 ee27210d137dbeb1bccb22b8e20857d3bc2677d2b94df13ce95f9b017311e749b3cba9f64f498a29f06fe0c9612cab06e0fead30accf8edf127cc80c520673bf -DIST firefox-108.0-rm.xpi 557258 BLAKE2B 737466a3f6cbf434bbcf58648544a8d0a476a8b958a6dc02ebe88aacf646fc34fdf8906fdf78ce80fe40cc606052b35dd0b917c0342e9aa9b9ab71615955ca8a SHA512 d1310534cc7ef9566d42a43e1e0d559d15347f395855469cc243998bdc9bba7ae263c01624eb435837ecb772aadcc05d0542348cc255b90147cb6b41b1e896f2 -DIST firefox-108.0-ro.xpi 534108 BLAKE2B c8b738e64b683b3e94a7cdbd2ce368516e8bd46c7cfdf68b59add943fe9e4f3d682c1cc38753236d90be53ea7d2474a125ea0643a09fc38311d8972766c5046e SHA512 7384aaeaaefd02d3b8bfede5956bf36042c5c0452895c9f5e722a9ae0224bdd1caa78c0b15b83ef1c39d14343c79ad5178e2b47512552a9507225fe4e03149c0 -DIST firefox-108.0-ru.xpi 651318 BLAKE2B 47381f7d191d4f0f3326c94bf50443014deb79052b3783b6758126960a46fc172061e545d45399ab94026beed67df9a8f92bbb8b7a44280bb7888ab1adf46ab1 SHA512 2071daeb2114214f1099d3f29b5c418c24820d0fd3cfd5e00ae73d29b6cfef4c53de97fd7c5cf239db4f0f87949bfb60c66f7aa57600b7911ff71a9f8471a73b -DIST firefox-108.0-sco.xpi 505174 BLAKE2B aec781b812d2c0d50ea133093878a4dd2b4cfa4eda44eed9295b6d12839674ffce9a3bd2ba39829a190afa26064721e08831e20302c609986f16239eb8c8d7ed SHA512 4d5dacab7021ad2e857f2f75a25f95d8e6322f394c1a8d98abee6695ba32faf710734082c4e6b8bbbf7550bcd80941184faefa608b74a2263b50e0d5d0bc10c5 -DIST firefox-108.0-si.xpi 572049 BLAKE2B 5a3cbbd1f77ecb1ac691485c130669428054bc87378a5831dd05b32ad2064ba04f2ea0cd1906e77917324a1e2a0a8f4a8e9ff108dc464f7edaba8a50d12ace1a SHA512 50ff2ddd1a23585ad8f45250ae4cd32770dc9d9642c136bb475ac653c1925786a67df8999ca82399bcf6a835d3b4596803fcdd69b57caf484fb31f87a69e2785 -DIST firefox-108.0-sk.xpi 587665 BLAKE2B 146755827993e802e498104c604731bc17cf1bcc7b12c0255aeebe4f6c8579e8fe52bf39ad09adced717f600fae96503d31e2a1d1cfa3f26c5daabac9a8dca63 SHA512 e56c727578b29095ad67b40b3057f50ac1c717704a194563cace8db2b0b4a6905ffff1d5e8de9bb99e2ecfb35debc21b89eea82f0b97374b1bbd2604d267ce69 -DIST firefox-108.0-sl.xpi 559750 BLAKE2B c3e42d1c8bd8cc7687d3f21f47e68d1b5135eef10b5f50e8ee5de7a3892bdf3c63ce354077994a3aad052a477dcbf3fdf9f72ca4dcbec34e9071cd45cdff8a71 SHA512 8a96bdd58288eda97b084f08af93d82442f9199a5e9e262deee738b3a3e6c856cc9cac0bd2143b6ded35c65e725a783caa6dd27a6a8f8c085543bdaa124a7896 -DIST firefox-108.0-son.xpi 422464 BLAKE2B 8afad92c35c7aeca455803819c68c2cb5c6426b404b8cabc653008112516f39782ffb605537b9663d7228911b9af642cabd2680f7e703e73df30820a17f83664 SHA512 35e020d2a025412ad297bb39353e475692cbf871a789b95adb8632df0c88384c10d2d815a1e80ea5247dab6f3f788d8aaa61ffaaeb0f47c3c1838b96be414d6f -DIST firefox-108.0-sq.xpi 574787 BLAKE2B 04ee94f761e2fe4c0c7c04145054f41adffdc5fca3dc30427e561a50395ebd38caed9d1ac0c382f20eff64906dd83f8e0e7cc90b770039ffdfcd5c4cae9a49a1 SHA512 a9cc80b7e95a0be8d8a74d0e8a481996ff5a2c550ba27213b689fba86a53a504fed2ec3e230c1a5cbe58cd441361a2261d43ebce3ae59dcecf31479d28ee47e8 -DIST firefox-108.0-sr.xpi 614999 BLAKE2B 6c1cda2ac17237e167238945d1a5a71adc81dea2acd07cd8c54f2f8afac74e0454364422ecfa6aef583aa791a9535d4fa14423ef42ff2c0935dc137ebf688b4e SHA512 d0de1758f1845fd55dc166797d47f9746a37d81d8790a2e1ee24cbc73f8db3fcb6a5ae0690cb7eb8a1cec3a61fecfd758b00ac0592a6b16af0a1e8e1627fe967 -DIST firefox-108.0-sv-SE.xpi 559333 BLAKE2B b6b99d4eba609690152fcef38529411b1e9cf58a9d7a02698d616d8f71b1d7595f0618b54907cc1de185f056ac28369d1734a6845b82b554c1d42bec09fc9387 SHA512 a828e5b78a22788359c4afa77219de596ad505fc2ef0a33a80615c87d6a67ae6ec09f65ee73486da5749dcc22be4ad721d7e0b7d31d04f313a785e999297009a -DIST firefox-108.0-szl.xpi 518193 BLAKE2B 0272eb92e24e61421f9949a6107d8e78b7a87b9f19b4c1626f7ab3f7ebe3c39c67e23a450ed2de31a2b0d3f70fbe75569bcf1e34a415b5c5817cf03487243961 SHA512 9de5b1e3abd9752528793524ac9ac32744fb8a47fee3e9fc0db42e9102249ee7b621824396e85f803e2ac78d91209c35a17c986afca5f864092653f9a692f421 -DIST firefox-108.0-ta.xpi 509717 BLAKE2B 8cdd03a7ea85c06075f02d18376787b7d74014cd75c6d5a70a9d9708125a55a9ec6ff4800f2322ad70909bf1a3adc7ebb005af0f65d3598b7423feb50eb5c980 SHA512 d2727befaa46da32cc7f7c1f5630c87cab89a923390eaa74141de084124fc743e194f9a8e68c21b8870e37b48f9a21bb9eea3ca48740a7240d0ab701fb689903 -DIST firefox-108.0-te.xpi 556975 BLAKE2B 95df2dff1b7b86728fb879db1606e1157fc54910290d18e2d68043170b1bd2278e9b1a6be5c9fe9619340307376da018144e7b0ea2a64b3087d4c4c0520f12bb SHA512 8d8a87b31330b47f5fad680f938fb2e43b45e0c45388c1f8c26f7b6381a47e5893900da75b4cb9c13a74a420d6fd287586bbc159476ffd388cc0f84431ec3e38 -DIST firefox-108.0-th.xpi 627887 BLAKE2B f2c25dc655a5469536e009396d14920e49cd4da5330a1ad27025843e0c7cfc3f50545e144f01734fc0bd1dd72e52f13c0d55a2fadde9a8ed24921ece6072d20e SHA512 79801769cdcfbbb774f6155556e2098f78ee03c8186bfe03f009175acb8471b2d7cc578fdde8d43856a329efe00e3eb55887b336267a8b84eb6672a78c382762 -DIST firefox-108.0-tl.xpi 522745 BLAKE2B 71b794994d8bab096aeb8798855e2b410362af8f577a18eeedabbd3029d27d39651f3dbeefb7317bf3c92e56c16921b9cd2c34f0f88639610de96e9311b9c5b3 SHA512 5499a53ebff03a474bd0e79126ddca2c962a38dec3c925284370b69f2866b50f0a52e5a81592e43cd440b2f8e305d98ab699bc02944c46a5d99bce416d0be60e -DIST firefox-108.0-tr.xpi 573046 BLAKE2B 757454b0823bfcf96295cf208a9e3fea30fe83e6b6df02ecae4b153c21ae3f4a7b10d95236b0963eca2f0a184f6cd49a37d4ebe7b61b842beadd4e498e966834 SHA512 86abfec9750461a6a4e7566bd46cec5ae6f332cc73a63928247cd2ad035e30331f9ebb62681bf5654d6e92bfeca2b4ee5a7a76f77894a841790664de57a37687 -DIST firefox-108.0-trs.xpi 487419 BLAKE2B 2f94b930b4b5ac222b886d159fe2a5cd7458827f6b201cec02fb78db877c49769520cabe3702aa8ea23603e1ee513a45d7c7b623418b33f5dcf1858663cb34ab SHA512 6e35df18e9ed14a77ba7e9ed253764473a4e063d5c6ab90a3a36f8d80bad7d2dd305360ab98a228e667c0c8fa77b5b9c1277fde5d45aafb74516e45e4053b8df -DIST firefox-108.0-uk.xpi 644540 BLAKE2B aa1045ec8eabe66259cfdaf550e0451f1e315d3998fe0b2a906c5afe4c0ab7364728d831186720280a9b974a7e446168fb73460fa7a9e6cea2022dba4e8e38ee SHA512 6d6c0be705adeed790352a3f243995336a47947ca7b48568dbf9423d9db990574a8a71a838acbcfac4b91b1ef94a55186a65c0e81712e621abb6d741d9412814 -DIST firefox-108.0-ur.xpi 559040 BLAKE2B 32b20c764a47c6a3dcb1d4ccc3716068a886851e6202038a717f28ac65ea723eda5183d6e53536393424ca23af8f5b1e3bf6f0f56e5811413614705ed960a305 SHA512 142dae638f70e7cb4095927e34effda348977fe3f19a8d412c04b480c20824f61680f3b544c3fa49f32461996bb55e7a644629bf544b73011b7cd787cf3a22cc -DIST firefox-108.0-uz.xpi 478513 BLAKE2B 58e82b9b07a2773f365732baa0ac583ed5f9a615c47685fa96c811548b9bc0338f7edb091e37e7f97d92d6a5d81545a7024a73eb5f748ddc2c5cf82d4533b3ba SHA512 dbc824d1f0e6a568d7446ea711db41938ea4429b4abc42b20f02d2db6b4f2bbb7316147e2da8100dd03474c40bab9373854b8e0483ad6aaedbe6170c5a42601d -DIST firefox-108.0-vi.xpi 594795 BLAKE2B fa0ed81572c0c68fb27d2c794e62aa3511dcbb8b2cf9f7107216d97248ab7923183aeca57f358629c40cd6da9075b33967305c9356a757f0720697f9b9b7cadb SHA512 a9bb4d2839b589ea12876edd8e9e6df5f8b00e6e4f9fe1de47fc588033034a2ef8d117062fd6e33479018f6b1eb0b64ba98baf2471a9c4ef8301eaddc26167ee -DIST firefox-108.0-xh.xpi 418351 BLAKE2B d537ed8956c3e1f80039e66f2a38e4df306d27a3555dfd2b70f200e4bce8f8b3f564ba2ab4d094259232ad94d416d495db5651ff8e5184ba078b430a31ec8a98 SHA512 39fc15ab75ca50234d06e274e11ff9d0c02178fc4df9d466d70620e378fd6be5c22f91ea700850bce0fa2f7d234807983fdcdd83fffc8c9bed916914fb80ef5d -DIST firefox-108.0-zh-CN.xpi 594372 BLAKE2B ccd72c1b6f242ff067f86013cc7d9e88fe306491355cb0139d9a21d1541017cd4b42787211d49a04814af3b63771cf25a6c4c055d0d5acc429facccbcd54ac1a SHA512 1d7e227b5f451ad5c09245b171af9e5d5407ab3efb94176a101264376bd37d781594688bd0c71cb3786a0de6a83ca511657ae613135c225c1911066c2097d0c6 -DIST firefox-108.0-zh-TW.xpi 595825 BLAKE2B e4f5ead0e7e53914a4a5898b1e8aa4849cb1c421032427c5ade7d7735f879f6c55747f4afb881ec18e2132bd8897a235e5a64e405b81fd5855e8fe063586aa4f SHA512 71234ce804de4d7e6a0d5661f65ececec6baf7e748345d47de8a19b2d390af805a70a64fb1d57ad694bd4ff7ba49941a5ffcd1980d6f9bd53965c39437e525ba -DIST firefox-108.0.1-ach.xpi 454485 BLAKE2B 0abc9417bf776897a75c404b156c787afd22892a4d08e65bee13a0bcf3f6594ce78091b4affb01b79c2ee9f1dff05e4565b6d803bce8cefd6a1a7bb2421a1e21 SHA512 362253ae52772bf455171f151304654ef1ee6b1c3fec8d02791cf19d0970f1df3997922f344f65dff6644664f1df150152192eb6d2347086130a1830f567dbc8 -DIST firefox-108.0.1-af.xpi 419603 BLAKE2B e2d0028c7fded599ff1b98b710a87871d9879d2814b8139e85eba9cbe45346f3a2eb817128cbbcacd0229107909e9ae764c762ee416be8daf89894374ec75720 SHA512 e4bef5c47c9a827774c6c3a74480ff775c8c954816cfa6aa143326f91b8b4dac4c4be50221c4b4e6ea741e33fd398ee3f5005bef813742df055bafe850cdd7dc -DIST firefox-108.0.1-an.xpi 501396 BLAKE2B e95378706ff47cb1c30684605ff55491c3cf7757a244f01aedc366e6f9724b63836ca0f21b20c2221b522187f88e6bae22f4e13e0220e2f886358bd780237c8a SHA512 9e75fe53d9012d414337dcabe162df501ec37864ea67598ccac53f9a5552c2fc959df641485ce8c78dab06707c881fef33cfe31f379cdf9f57ce587a3cebba53 -DIST firefox-108.0.1-ar.xpi 568727 BLAKE2B 09058ace0b602d190b5b3a6bf9be9f5a697a0d8835508799f7919089843f06d9a4d561002e8dfac0bc5782b9aeeff5102c686456bbd7ba2f9a55723be121475e SHA512 afd9a768ec60c43944b0ff8cc5c2d06a44e91b60baae7409606cc15b37ce15bf6648069b17e5ec3ee33359dbba841ed89f1880e4d849f4baedb1194e3f57b655 -DIST firefox-108.0.1-ast.xpi 487881 BLAKE2B da304792219a5d683944e5bd1ba05362f08774f143a10f61fe8f4b98eac8911baed3300d465eda7d16e6f135ce0eaefc3e49755ce14341a01c91eecc882527f4 SHA512 124d6c625bc7989e32e2b7f9197afd48ccd0292e69453a80c03b62ae4fa57aca57d037ab69db19352d516705e3fe2cc1e692dad696c70503bea15c4b81eeb17c -DIST firefox-108.0.1-az.xpi 490772 BLAKE2B fd4a4cdf0c040e4560ea7d984617743e03a44a491f587a1296a17e0c9bb1ba132f6e782d13c377ea5015fcba278ec4d3fd8f338a69117b389f2051a55867feb8 SHA512 cc91efbe4af4024a2c45fd1162576f75b17e403f5a82870726d24d823a28fbad0da6bfd6b105e5682dfa7f64ca6ae3b156c1e8278af7762d629d83890eb43a98 -DIST firefox-108.0.1-be.xpi 646994 BLAKE2B 555831e82016c11d1c145c01c1dd24f5fd2ec887d9d89aada9f08f4626085f728326e6c5406614871468ad605c84fa345bc39e04ebbbf5147503d5ed2dfca3ec SHA512 fefb1186cd8c7ac73822b4378f27911efe2c16dba06d4e90655dc27c16d36fb7c81ab04cd88dfb0d4db406092565a29ff9f51bf937ada83796291be6c2027e31 -DIST firefox-108.0.1-bg.xpi 580631 BLAKE2B 29d0192e2c59e14bd35413e06c4cccbeee745f12361cd512b536b1e65adb582860150e2d67303a6c1528af48f80408b84737f92276c96a618665bff5ef434961 SHA512 5c67ef1311abe7070b5cb9657a9d1083d32b4828c07322bae1c8ae0e6621141cf4761241802eda99df4e7870b0acf5f343beee20e3ca8b3e2ae5ffe7ad85fcdb -DIST firefox-108.0.1-bn.xpi 579708 BLAKE2B f9bba41ecf1d053c00f4785df8a30da46486a3885af3d1601f5bfb786b85c9c7f16f504b8f64bce67c1fa358c0b93fc6d8cd6a37aab7b0fa97341d21b2f12a28 SHA512 124f7b54ccf8091f8ee7d2a79c9223eb7f18ef8807439b9a9a44efad4e67170a54607b464eaa3104d1a0186ef007fd5b15bcb9273938f67d439e194738f77a65 -DIST firefox-108.0.1-br.xpi 542574 BLAKE2B d3c7779ba86f5ee4a816bb814637488b9bdc850031840a030b196568a6f79a241380aa1668fc3fc33a7cf19f5150585bd03889f53907e5247db3181f82dc0fdc SHA512 084dd3e9ef190d688fd95611b93257da7d0f582f630fa32e46ae25c79789bf556035adfa681c3a80213956b01927ec0a57d91d919a2bab0eaa1218e4900e5aeb -DIST firefox-108.0.1-bs.xpi 461626 BLAKE2B 40a1d6a94b5bf816f02109292afec856be0d0317e4c8e5b87d2ea85118bf12d1dbc562a7cae0b746824cf4e6f7b6aa47c136cfb1e86d540b54c02f151d86ef01 SHA512 f36e4a775a5c5421be11377ee46f19e4711a20366ba8defe45ed3f14cf9e20d451191b5c5aa916c428328de0d99d647eedeb11162f0d1a20dc3e1bbc93d6dc13 -DIST firefox-108.0.1-ca-valencia.xpi 540295 BLAKE2B 11e705164d80112efc18f3ecd7f6632a0635c9e41c093d9a21d87936f0828d19fffc89c2e148fcd1066d0f70fdef8deb9530aac51522233bad584a82856989ee SHA512 22462951c7e2ab0f557970937bf7aeda6085ce6125aa8298049c82d614fba6d0a275d1a178a30fd1fd08e547d4f26d54c5054a61ce7976d8d713d0cf5f5b2d4f -DIST firefox-108.0.1-ca.xpi 543816 BLAKE2B e1e121a9a066cc79e9e901a9b04c9418f2a9490b49bfb9ebfa59c5dcb3212382c5483ea55f4db68a4ae052c2bd17d84b7fcb8c26effa1855609a6303014eeff4 SHA512 70433695c9183a8ab6ccd77267acec18d0a9ea8f78d92ef5297c3f06fe3e0e00d97cd9bcc7dd338a04577413459b6b852f5a8a9cb06e04eed7982f8d71435573 -DIST firefox-108.0.1-cak.xpi 555253 BLAKE2B f0caf793f42c710f713d0e67185ea089c666e78c2a660bda60ec228d3f532e89ecab94b0b313ab72ff034b9bf101bc9b85da72bd7c4c36a14e886955cb93c4cb SHA512 ddccf2cdd12d07410660665d2a6f701a6b21bb727d5e72b3d4a87a56c34d79f4b301d2fe94c6fdf56a828f98251c2444d92136d5beb760dbdac11baed145420a -DIST firefox-108.0.1-cs.xpi 582587 BLAKE2B 6ea508648b3f1b35ee55c4c4ff56353456399b9152e75664c869290eb1a2f05536440cc84545fc65236de55b8443c810eaf5b4cf25dee2aed1e5e9683e5b613e SHA512 5041a1567d04235ade8915d4cf6ee08d629306bf68edfbac479dbac1c961cc6c65f76b5cc5750b1607f5a3e0fc92191e0be0eef3588a9c2dcca877c50b1854e8 -DIST firefox-108.0.1-cy.xpi 562653 BLAKE2B ca8dc2f1e42c30fc7228613acbf285cdf0412a775d973f9fa3eb60e0020a2067f5a1d6a662088b814be1dd7c4f90a92a9e5cf3875348b8c151c882670d38fd72 SHA512 e14a5cfecb24f58fbc5d6e405e44895dbdcc8f5bbbaa39642e5ebe0f8c566d8cbde928c35cf89717c77ebe008f00b23aeafefaa51af1dfafbb1194ad635fe143 -DIST firefox-108.0.1-da.xpi 552333 BLAKE2B 75db09a6e56ad334b6be4931281f9367917d1cb53c3ba4d30391dc27ed4a773647aa351c27b9457c968f0a8e8254488d5e26ad023a1f806514a84c74434966f4 SHA512 990c60d6a863e8b95d22f38a363fe2f2582ac1cee72e247beb297380b09da80a84e24fc34bdb5caacf509f661a6480cf494415df90369285b7d7227ca86ed7a4 -DIST firefox-108.0.1-de.xpi 573561 BLAKE2B 1a9fac0945f1f9de2cf2b6c2353993ac9d25d6cf00089925f33841ff56136844e7d5c9e5a4bbc766a8c5b387e072a715bbb82a41a9194835407e04a5a7225c13 SHA512 b651737e6542b022377b8d5105dc9acce8058f7e14becb0359372a8df39bcfd3905dec11a7a48081c913562372f48fcbaa41b81efe39928de91b470aac3f82aa -DIST firefox-108.0.1-dsb.xpi 583364 BLAKE2B 0f000eb18c2ca5b2a6424b20769eb5f587943053a8f9c612d839f581590967e716748b65fe2d98c517846379edf4402a78db72db3c6389171cfa9e7aae55462a SHA512 f97dad8cba691eb327740a488b0fd8d3514d06641c98db3ea3aed738fc1f7516d9dd40cc7c29ad04311a7ddd2aa92db48bef525c4471271a33dd52e087c91019 -DIST firefox-108.0.1-el.xpi 662923 BLAKE2B a4fca33637a1e290fd414da9f7c99abda7183d81beca135b92cdd857b36b42e7285ed4e80f0262d09ede8de5f44c94fcfe5dc633d7d599014aa7e8cdd4d244e8 SHA512 abb2fc9acf0bc8872506016797cb86944cf66feadf186378d1cd4ca4bba047d4594fec2cccd2a14db685a803cef79d68d992b9401a9c03fe6e9a969df5e8be59 -DIST firefox-108.0.1-en-CA.xpi 525756 BLAKE2B 140b29eff7a37d5a2d0524d6dd0610d89a8c7f132ae17763fc1243a6ee0081684120b69bf076d2aac5a1eac477eee1c46b68f3563b16d2d2bd28a56f473dacd9 SHA512 5715595d629403bb3b90f9afa45b1db3fc4160b800635fe29a84d5d738e362fb7dcf3ee9d360d61d6f59f789160b343e02548d9919c68e7a5a8970c60c4085c4 -DIST firefox-108.0.1-en-GB.xpi 528671 BLAKE2B 615998886e1466bd8744fa5137d05d847944033509e47fdf7698469574db9cec465bbf23e3696198a730e6b919239b2abbbd5b2071f246404f05397d72778a6e SHA512 21038c51136bfe9fa55bf9c8d08289d62afd2f77c8ff362c63043cedbce2d3a4d97a8457da6d6116069823cb9289cfc4b18be49df572550cbebf8c2fb9c1311f -DIST firefox-108.0.1-eo.xpi 554176 BLAKE2B d810db59ba02993e6e1308ef78e8f8f02992f9e08b5cc175f0adc51fc9f02804dec7cb4d8f9e671839da93fe1dfb778888436d89e6de2aa4fba33c106dc16e50 SHA512 5b055eb443f491bb968540a24efb544642d44f26681140e77c1e8ea52f943e09761a20f933b254371ce510af35d98ede188ad7235762736b8bbac7ba1d7e7c99 -DIST firefox-108.0.1-es-AR.xpi 567756 BLAKE2B 380091d915cfb0d20524a26ac0feea3b7a015cfcd3fc922e194f6b8685340488a91a344c0fe3d16ef9392102a1bf3d23c816092a42fe78b7be6653a80eab9853 SHA512 6f3191afc655db349fca58607fb680e58a3cff8abe004377cb9f1042ad9c341d79dd0cc70d1dfd243a9d47d426d5052c511bc0c94675f7a399de87b67ad53b60 -DIST firefox-108.0.1-es-CL.xpi 566902 BLAKE2B 3525b53995710f8688c4eb88312a4731312e0439335e986cb7a295cd4b3e929d7e4585ef40d4a3ea309cad89213f66d523b9bb3c73926c40bcbfd8d4a86161ad SHA512 f3cc7465d7f951df3cec45b367562dbf2dbf17173772550b16460fadb37d7029df0b5b05bbc67cb4b577a6e45f5b4b1e75a4f7b715709add377efe805a1b418f -DIST firefox-108.0.1-es-ES.xpi 559292 BLAKE2B 4493998ffbafe633b916202feba515a3eabdfd8c6ca304ff65fbe8d1b82d084d1b5bf7f89121e53b120aad0f610829410af73458d8d1e39c64ae6e4b1c9b9962 SHA512 1fcda93992488b4f52d071435e14adb49b303668caa537c35bf368efa4db96411a71de8b5766475ad0abe373c22d06d067651a448b6562a59d205bbfe725611a -DIST firefox-108.0.1-es-MX.xpi 569569 BLAKE2B 174867b4289a46e7225004a1089631e7cca516439cef2d183276ed357748742e859bb01bf4af413f31ea3a8a11667f55eedbf28904a2316c5bcbeb3221336a6d SHA512 2bbab59d6acd9a2bebc405f9655a8a21a32a86d65d3aa06e75eaaef650811a5f14359608006f1a57a7f89858895f5ddeb3cad0e0967bdb57c5b1c8ad1a350668 -DIST firefox-108.0.1-et.xpi 534529 BLAKE2B aa48b3c0b1daedee1f5e62c732eeb71b22ff4dc23f92a218f569b8f97b70e1328d6775ca6e28707e34c796f3b6c2036769ed4419aecdd3525574e632c1d4f094 SHA512 1b5262ec7b2cf9d941072974579d7457d6686c6cd67fd9d1061a6371463c6fee0827848eb31453d007599ad09cd08cddc5dc525ec2c6df9d33b4e61a08618678 -DIST firefox-108.0.1-eu.xpi 556953 BLAKE2B b7d7c4bbde26521f3f5b7dd63a3c65ae6993de2c0b8c3ac2346158c0a9945d7f150146bc824923ca68b073fd8b2033abbb787cb2734c0e0f4fd4e1a3cf4a45b1 SHA512 57521828d1cb674682bde33a4625fa5743f18b304b3e5358019196950a1e840ccde7ede71635e81bdf7f37a9961dcdb1dacc3c3f092a0afb49b1bcf1da37f824 -DIST firefox-108.0.1-fa.xpi 572386 BLAKE2B c710b86a46bff27740958a4558c1050bec64b1c912bfe9bc7cffd1ff33b5539d12249386142372e58429458b73e620169b2acc7b63f4a994cb09433b085507e5 SHA512 94b8e9282b4dcc2615588ad3f2d001513b8d385cf34c4a620b633b1b0dbd3119ddbf478662c3a335a22b2e6307d5887d7c2cf6ff5a94e9a3a54395a0b2e73dca -DIST firefox-108.0.1-ff.xpi 474480 BLAKE2B 2bd6bdc909c1199482ec1b4d36b5a01bf42a2547fb55d4ff3df7138c862c98581fc173b7595e6956b2694a646414453f4dc8c75b9c6a851f1934cd39d13ca973 SHA512 93d2367d7bd1aab8bc45d1eb784b45ea73d94a012767a675fa5de76bfe751bfeff61dc101812437e66bf507f8498a3a37755d74b73401e2c72428d269037b960 -DIST firefox-108.0.1-fi.xpi 552986 BLAKE2B d255e010307b671d3fc9ad3d96f62ef22a5b75d2e13ba89c09a1f997782e006e012afbffcbeb412c969cdc85ac948a79a0b3cc99997db7bf96078d5af34408f9 SHA512 7969b249db3a9fac6caea2be51da34edfca3edc9c6cd03252f1f3a4608f45ba0a024c47eba08d6d317a4967c757e46adc876c10c7d12b1e464ddf8cf7cc7e643 -DIST firefox-108.0.1-fr.xpi 579478 BLAKE2B 6c7b55d0eeb1039d766e2a1fd56b1ee21b81c3523c38daf7f51cc13ae84849c1a7896c8b0efcfec2b3ddf973b1b0c7a3053fd7496e4508be52c974a807120760 SHA512 1c561929ff4a75d792080b6d97e90be244c9ef377dc4804e1a37bd3a1f444685b7c7ec2e7be9966cb12ee80b0b93f9da89af2153e62220f3d838c8689b15ebed -DIST firefox-108.0.1-fy-NL.xpi 563349 BLAKE2B 8504707a95cbb631c64432e21b8a3fcbdd10161770d6c069ce9fd4a16594f1b6d37e39df7b74cf2af914a2726813a1109266a58929a4a13f6c2d98583ae519f8 SHA512 450a88bfdb9dc48a759705894b6202a1fdbaa4b72e0892e976b65795fd82a2d9988ed6f6e1b2a3e665c7d99acfb974f1b19d48461bf36bde1fba56a5f6565075 -DIST firefox-108.0.1-ga-IE.xpi 470251 BLAKE2B e556a567467cee0c27bf0bb2f46fe2a2b290bf4ec9bef41aa632c6e9d65a4b8eed8b140a0da6694c62f3d87f2354ad4f6a15f92c2b6a9a2611b8c088775de8ae SHA512 cb9e0a00950740c0ed63c8bc8abde00b6442d62d463bd72d4398a694416aef2d826f1923f7e5b573893e83f94c9ceecd1b5b3599f45362de092fbb5cdbc7245a -DIST firefox-108.0.1-gd.xpi 548826 BLAKE2B 86aea61613fe7b90ecf616bbf2c5c0d1ba768a738dd1e879bb9576cb49271c48ab311dcf1c43bfb6356212a504f9e0c6758f517a473f0296d1cf3aa6bcc930fc SHA512 e574dbe9d13b76892ff3c35509798d044cb931dfd69a1cabeb75ba5fa85d8307b68b5a44376bbaf4ff5ffa1aa2749a49ee10f9cb25bdaabdd489732903d813ea -DIST firefox-108.0.1-gl.xpi 543434 BLAKE2B f85b0b787371a871c9586a9a968013b664af716825fd6f77890c163cd387a2ec24d14d94375a619a672163d1b4468e69b9b5b275981394260a52c873f9be8ac1 SHA512 770cab00571294abc98d03f63e158cf253c8107d93ac6a54fc1e16ede9e3515a32fa51b7c2a7ef7a4241331af544272b98ef80595aec2b1d16a089234c9d6b75 -DIST firefox-108.0.1-gn.xpi 578518 BLAKE2B 7d2039d671c266f5a2412d2074f9eb4d2a07dbf96999172f127599193c81911a1abcc51efad193affae3a0820d8a3a40ba483d3c28b75e03dceec921f9e6ddbc SHA512 c2f2aa46c1412dc386218a090639dccae40120da085f74234b4f6ebdaa92f9783e8cd82a44597c5f0a26b63fc2685351cdb59364aaa414ec24993ab09a55975c -DIST firefox-108.0.1-gu-IN.xpi 529444 BLAKE2B 19961f006e76968292d1e6b869fe1fcf6580bca613f3ec465c66d425f506da3f3cd4606f108344bf688baf918dbda6794d0664e2a81d9ce0bb97edb70fd153e9 SHA512 5e5be8e697ef242a3e147ad0e3ee1fca0f51ade81cc0215881dcdb0f5d92a9c6163aa862bc9229a8dba95b80bd75008b4ed3068adbb1c34c4335dc667f1d8fa4 -DIST firefox-108.0.1-he.xpi 573905 BLAKE2B cdbafbf59efaaf973406ffd9fa3b1fcda6fdb25e6e3bcb57503bf6afd6a769fd3fe10b17e7758a99e6b7a8ebc7feb483a9757464858ba4890ec11a59c510ba2e SHA512 ed459ccd4392e44998a38b709f1acbe6bda9945391b3f1ea82858a611a073354af42230c0f25e4f8d2b514a42135d8ae8e135ee0eaf509f3982538701050ac36 -DIST firefox-108.0.1-hi-IN.xpi 558570 BLAKE2B 6802030173e991e7e77153a033842789fd1c141a82c8dd4a931aa927dd530e4a46a97364c66689e053cd3dc8094b4ab9ba2fa7ffa088cac7b85af7338b724517 SHA512 a8741f24cd0cc943dd6a7a0f4f1e9a937372d9aa7a684ecc4e109bcb3cd1151ea040b8713cde8f46fc72ab75c8603b1dadd86e24d6bb3569c56f30957b4f18b0 -DIST firefox-108.0.1-hr.xpi 538312 BLAKE2B 4c8c56dca5ef2f17abc84f18ce623120a47868bfefc717bbc95f5fe6271c6f7951d3ff308cfcc85145f6ab2c1c45f314c5b8dc08c839370661f0f7bf670287f3 SHA512 c02e8eb7d2ec67d9b7afc4fa501d2d53669035668ab37c4d4eefe4f920450556b0f024b06e9233b5bb9af8fe1af44b25667c858bab0607fe14cf20c220155816 -DIST firefox-108.0.1-hsb.xpi 581697 BLAKE2B e33cc4b0c3f2c294f3328a563c5ce5e867f0ee7369245a3d74f2205f85fc7c2071f4b548468fda3cb756923e8c5e72e05c1b977e3e269cda0e1456e784f31044 SHA512 839029b7ebb9c26bf5ec47a10ede9481b5ebb4e2dc6145d870c93a02f21aecf6f2baac3503c1f9384c8fd40fb84cec480c3b4ac1059bba3013d0dd20e46d682c -DIST firefox-108.0.1-hu.xpi 587848 BLAKE2B ee23d3c35f8634b2bf185cb8c6263241ceed5792c3c6323a63069906164b4fcfbf083185c166b340ed1647a1d10492617d117a3d9c0ff2203bd64eb7818a8c14 SHA512 741ed7e6103924331bbef94e78a07e55be947af78390a55aaaca9c2fb09d45ea995a1c6c842775caae4cf160713955f01aea1c2dbbd81083feb2777e1c8a261c -DIST firefox-108.0.1-hy-AM.xpi 594657 BLAKE2B 440a1550ea00a239943e3593852a05c64f2d7933474f27c0c042fb27fdaa67a168734631b76ea36543c5621cffd4bda733cd6b1b9b401b343bc624a43bcdff7c SHA512 dece73c576f92c789f627ddb62e6c3a3c0a35391e3eeb45efc416b8588a4ff8ce7c3bb88fad27f2327669599c67036e63129d4e79ef2bc0bfec05205c3850e8f -DIST firefox-108.0.1-ia.xpi 551763 BLAKE2B 340830190b2ea0bc90117f710cc9226a7c9fabc0dd7355ba80286354fdd2f8b6674854175640afbd95a0e8f6ac2a489361c2aabac397abdf37f43d95277d2de5 SHA512 93cabb343eaba18eceb22693ad0a68db187ea4f5b3c587a79ba3634fb1eefe8e052095671f059072c2e9c649b1c9aac1a73e8895965e9afd161af4b54e56782c -DIST firefox-108.0.1-id.xpi 548618 BLAKE2B 2786b0336924eac45a3e6a9cdd053fb68ce4095525cf36b25e790762e69a679c67b4ac06d71ebef324a5f74100fcd490135a61811d0c623041b7d2933edac290 SHA512 195f96265e4f706dbe0da1032e8e07e24558a5133139dbe4116d10005c938e110db3630967cecc1f7bf1ba439b91ddd96dd8ea9011c12c29f456392f798310e1 -DIST firefox-108.0.1-is.xpi 560731 BLAKE2B b8a96943206fa5f8961e2d98ede8ca50701ba8a8ac076b242422b61067ad3ebf0b146fa38d45a3a88102e712c29fb669f860b2472a43caa3981c91eb42826233 SHA512 a208d59e15d5a0b5e1a8156dc44f02197e90e2f0af458aa93fa5901b36a6c85240f44647ff1fb80512a7466f801b99e76d58663d256545aa2c6553f78b6eee73 -DIST firefox-108.0.1-it.xpi 488823 BLAKE2B d6640fd00dd8cbfa03826bc77e83566f532b0d109d2d4490778e87f65f62a262339f0205feaf509c0213d2b34752ec423fdd5f49398c446c4e6d6f301d46927b SHA512 76b47a47814a5b32f21c2372e4ee329f8da6ce71eb82b932f99b40eede57a92615e019ce0623e31a76f3fb0c8874f21932de120bfdbb0695198e8b118c17c34b -DIST firefox-108.0.1-ja.xpi 612094 BLAKE2B 9f156c87612e14b1a2b9fb5e143afe0c52ea41e135987ff444193dce3fcaaa2faf61a9910ca1625ec97cec4c54abf1aae894ddf40cd4cbdc598a14929137cb97 SHA512 8ef21bfa40d74549638f17ba4b93456184f8e52e596d842317da12964b607196aa51d72db724753c531922240f67ee3196bdeb962b1a8ccdfff17a5d117a4d9b -DIST firefox-108.0.1-ka.xpi 616444 BLAKE2B 998e65597172bb25bd6db9eb3c897a67caa6fc72d8521bf37428188a4f719b4de62dd90093258a12d5ada176b6b90be56ed80aeb11cda39133701d2457dc9be9 SHA512 01e6636f26b39c3829907185f7efdbd2b3783a0a87a4c9ab02960d2ae7957ae9e6d8cd0d55ac76442e2a9c539c9b4e30b8d605608ae96254bae70974ef4362bf -DIST firefox-108.0.1-kab.xpi 569581 BLAKE2B acc75790312160f3511990569699b08ca1ceb1128219adc0f3a1b35a721704764c709cea0432580bc5d237376c454cf32be8012dc4821643802bdbeb4dbe8466 SHA512 1be081b6872aa885e5209bdae2c069ae2353f9f053ab28c42c2eb3805531d1a9b8b6fda06d2831963df7b957db4627fab36c2493a0499d47843be38c390f97af -DIST firefox-108.0.1-kk.xpi 639492 BLAKE2B a9cb26b47080f368a07ecd267c32f12311a85ef1fd8933e32e035e59da0f8e826352880e79cd5693f33fef3507b3f2bfa55cd0efffdef19348b261419de8e73e SHA512 1f1082da21782f9e28c01c0a39e143d227aaa0f302bb8a96955f68ff522d6fee2e8d0f715392a187c614bb8c9d59c6a5d454f40e69ef69a16c4664ec1b6033ee -DIST firefox-108.0.1-km.xpi 531194 BLAKE2B 6706b252c59859691d4a856cc9fc505a99b7c8406e62eaa80a15249286335cad1d2f17e7870020ff43c0d347964c894fe00298212dae6fe3b02b40205b02ff7e SHA512 4dab956a89870e14a781247bd43633e1b34ad4753d99be0199aaecbfd1c8e2b59942a6c187b7ec81c977a44d00fabc5bb02f450d5dd175529d2b8833ba1d909e -DIST firefox-108.0.1-kn.xpi 496783 BLAKE2B a708685c4acd346ba3b25c9e9afeda904c3072903eab00bd4674e8a0f5b24e02e09420981d989a10265ba6939e22c73fc22c3b9cce1723586d2fef41d0becb97 SHA512 c058920af17a150bfab66850c437e0acd637c9a1034388a1e33020547f0bcbe71c5ee5767c9cba59f0804d032d7e76d58cdb789b66a0a46a568e85b0c230cf4d -DIST firefox-108.0.1-ko.xpi 598492 BLAKE2B 653d0a0da17d827031dbb1efc60f8817cb07ed4053fa2bdab2fd7c9f3c72873c35c8fa6dd23b453ed6ef04c190bf1950a477cd059dde29b36c87677e3fa43387 SHA512 442fd2ae62f908a345e1ef6ca139483c5881bf98d24fecdabcad80d554029d42d276fee7bd0e08416d524bb61f29021a88b4df34f7721d69a4a6e8f22fbdada9 -DIST firefox-108.0.1-lij.xpi 471422 BLAKE2B c37f4f9e6a52633c241782148bf58a1ed15ea9bd2d7a326b056fc2040815b4831761afca109da0ce022a2035a1b6ab75f042196834babe7d37a55498d4c0bf46 SHA512 365df5ff1bb6d4aff0eb44024f34dcbfb56332166839d8d49547f432e0a9e809f580512205d5c663c83b626a1f382d3e27e0356f2137095fe44d693fdae5c405 -DIST firefox-108.0.1-lt.xpi 566411 BLAKE2B c98ac524a351b05c2ec0c5fe7d91d81c32b173e71e9a341e95e1179be7865020482c3c842f93f447b21deedb27e9f17f1dd4708be900660704fbf1f497def5f9 SHA512 749b1078f6651d65726cc8adbf5dcc7798dc0dea11a64a65ccb871387d769d76da42b15a03658d93602d73d9da0e1e151856902b4fde273d4a201cfea485a5c7 -DIST firefox-108.0.1-lv.xpi 466194 BLAKE2B cdb2c5c8a8b6f7976f9c0437fd9b9165415c2b618fd99ddf449c390b6994a7c99a291a07f15641fcb8a2d1bf0c9db124d3053319329b1e7bb8b89ea7a8da028c SHA512 a2acf3f19cdcdd8c2c6681574b18f1d428074f22aed0f0d5c94391865ebd09482e9448d4868916aab2ac2402b922c25ca4c6c59de4b32781b27d38e3cbb188f9 -DIST firefox-108.0.1-mk.xpi 485625 BLAKE2B 64558d638ce6254ca7d00d872954355959190433f5a27cdac6d9cdfad7c5b89b98e3f6292a9b4fe8165386b3d12349db6a0482a522b02f625e8f8e57eac749fe SHA512 5dac4a474928057225920dcef61e520fcc86e563bc526e9ed192c4701d59d78dbce48f4d777aad1f5b2d048430ca147f64f05cfd9017de5e9ffc2628daea5cf6 -DIST firefox-108.0.1-mr.xpi 531997 BLAKE2B 8e7d92860df7b560b18429b29faf2843e58f8ff5d2fd7edb54c88cf5e0dd1440081b6e1fb06576c60962515c1a6cb22c5b36adb7d848c7f278293240a557c373 SHA512 a7b855591e96977fd948ffaa39aa628c459588ca54a247551834341c3913428255cedb4062e15d48c9ef4cb828fee83e602b331aec6d65002428ec05533e7aee -DIST firefox-108.0.1-ms.xpi 450666 BLAKE2B 43da25f1ab48157647f3073cbbadb8282c510ea2d1ddb071dce64a417138a0c4939c82d440be9685aa5e0ca7fbe3a72a9481219c715e549df2499f805af86667 SHA512 a5c78a4e1446b9f1815087f7fba7208d231b6c8ec7ad8d8657e229b9e88e1ff8ddb1e5be94471b5d3bcc05f1104aa1891b0a7f3bc03a6d01e8989eb3019de69a -DIST firefox-108.0.1-my.xpi 517675 BLAKE2B 6ea2552d75fb4699b471d47ce5e596074f7ab6450b43cef7b91bd22087751f25877a92d43dd3f0d609636c4da1a9fa8bc106b89d7b9a8b1853250d23413f9c20 SHA512 9cd762b64101c84acabda265be2d5c723b48f55cd234f28056d779a910f9b79d7b35d81f708783e48dec85479bdba53f763880b014a006a77a216739cd12adca -DIST firefox-108.0.1-nb-NO.xpi 549695 BLAKE2B 042f6a5a6857c0581bf5ba29007c261da0c111a9024eed5aef83548eb8a30e31696abad3def90fba14276429a04e4b5b7d04998c59f59b93539fc62b221ecad8 SHA512 89e1e8b2f0b3e8f963e415fae883c9e454b5e971e63726183ee2157fb68f50374f3a757214c9a9fe1eb0401311f8bfd52fc4c1bbee145f7dc275bac1a322fa6e -DIST firefox-108.0.1-ne-NP.xpi 485219 BLAKE2B 980fd5fb07264e463d086d35ef63cd9c3b46a41d3d9bda824806feeb9baed767d0635b2dfb8782eb65cc1e57256a13f7baaa27de4c2d3bdd0a26dbf7744319f1 SHA512 dbd087dc3227d0ac937d366765bd95956d6c02c5267254ff2a0ecb7c0287574a6526e830dc4055c9bffd2b4a809e5748894000d03093815d01863d2ae53903ff -DIST firefox-108.0.1-nl.xpi 557495 BLAKE2B 6634e2b0da522a7dd8b27c5219f4961e2e0b1f1820d1f24b0bfdfa3fa73c03b6e2056c501b0addda93e167ae12fd42a37ab22e13fbbbc802ed25fc3964f6cd0d SHA512 1bad888f40717cc8a6c4396b1f534b6ac83b09396a248dd043434ff4dffdef966cf961874af56592988437c5e4970feea93c09b79a1e35b3cf954a8bf139181a -DIST firefox-108.0.1-nn-NO.xpi 550010 BLAKE2B ebde674a01fd1304a642b7a9bcf2a6ba97d7589ff20a46da7e39cdcc5784703d8a3262f8ab44f4ebcd7be1249b6af7cbb4d7ad08020ccca06961c22110599a40 SHA512 4f04846259e79e7d75813efb3831f182c0e61d40029de4c2b2bb0dd1fe23f163fbbaf751022ef72592697669bc11bb52189a23a5e41adbd7d754e1e2b9973b45 -DIST firefox-108.0.1-oc.xpi 574012 BLAKE2B a28dc92c975ed02025569850b0d5216d8cbcc7cdb69472277e1c14a4c75d09970f0b864306fc4ea7adfbca43008cbf2b6fd18272c4d102b441222be59bc2e90c SHA512 30b9a525d0a304dc6c8b4939fa8c2059a3d5e7c2cb93e8b5d136e1808576f10fdc7a5fab4a56ef5625e968397b04c1d574fe6fbe42b82166a1d33d48a1683c09 -DIST firefox-108.0.1-pa-IN.xpi 625814 BLAKE2B dca86502f7004a43fabd24b949c86cc3d90841388f45f6493ad8061fc288e6ec463e19de92ba549abe8baa71f3dfafad3c613bcd4c9ab11b1d5a96440bd8eb88 SHA512 dc3bc159a0c6ea1a35e2fcae39a0b9ea6a05d38067841cf3d7f1646ac7a5b279e5a07eccb443bb3bc542b292ca8fefcd0cc689ee4b610350bd6fb8af33c4c82b -DIST firefox-108.0.1-pl.xpi 579960 BLAKE2B 58df0f973a39d5343cce9f84a7d3766815123cf06b56b24428ffd1d2e66dc0cf4b5d98aae4848ef791a108e18075c503a1121a9af5c55c2a8d0b4bb1a86ac4d7 SHA512 eb41f7b55a49fb3c4cb6336764f1ee9f3d8fd28eedd82465b8ec9f4a012ca5d1cdd43f7c07d90091899de85c68e73addf0f999f202f612db6f506402c942a10c -DIST firefox-108.0.1-pt-BR.xpi 562421 BLAKE2B 8fb3b37091eaa68e4a75afa8308024896f14f70eaf33aab74aba32b2f4fc1b1c40f48400ef478254b433694e8d753685c4769dabf311ba21dc432848f83aef80 SHA512 a60b2a6f747f6fcc056766d13ce902ff43d12779807ac9ce0a2f6f73ad05605156bd06b99f4fb28c624b212454a7dda7fe000830ea9569f45f97ebb05b82f7d3 -DIST firefox-108.0.1-pt-PT.xpi 567185 BLAKE2B ed1ccb7120f2253668ddab2dcccb938bb504bb138108a1863c27966e53a142f3de79b199673f4a1305301150effd5da08e0c4f972be0aafd883d16091970f14d SHA512 5b24ba366b45730e329daae885e231401820dd80f7a2c53e8268f54c574008b18f78345cc8e81a603fca94aa4d7599b1f6b8a2ae77b8b721af624215077129e5 -DIST firefox-108.0.1-rm.xpi 557257 BLAKE2B 133eef76081d6efb3c36dd9e29ba074e6d3fabf2d91684c419875bdaa2d84f211b2f31fe5076502cbbdeea7e55872424b5a7c11d6c9869029da9a87560454b97 SHA512 02aaf6373e76fcb403cad67e13279fedf665d9d5f109b81226f13d451dc4275fd570d1d965f62e3d00011470d3c656278804be96869d0306b461099438f63554 -DIST firefox-108.0.1-ro.xpi 534099 BLAKE2B 91b8ca6df19cbcf766b18a41e6a4fac0189a1e089f42ec5497c2604d338802e5505df7e289fbb2a57feb6193bde9b21154ff5d2fe7b3d1e690c0bf557f217749 SHA512 172e0c6623356b02340a00f47466ce3633fb90fc96c760df887c9efbab91cc376582e22cf1105fc2fad6a494e2cbbc73ded7ec1345a70e4386edebe557cb5a92 -DIST firefox-108.0.1-ru.xpi 651322 BLAKE2B bfdee2b40544df3434809a76e3c820727ad63752d8eb17dcc82301c4b12857bd2635f1639238211fe8760ea38bb017446dc457800d13e04f49510bc038fd99ca SHA512 f649882ecc726ba770879e295066cf01922f3db55fba29f2a939923bc5bcf0e0fbefcbc777a260cd8f79919fa892722ad75c5f3d2b557ad1a236c9fc1bbad9ac -DIST firefox-108.0.1-sco.xpi 505173 BLAKE2B 4a08fc57527e5a6648d62814814a2c9877c7cf2714d6af82ee0b2a2e47c0086dea383734f7816f4677c38230e21f3f026c867625a0b09acec5fe2f5a9da71d96 SHA512 54ed58abd13fbc206bddf074aec8a5e6681a128d6ed6c5fdde9776f7907b17de60bd44805caf5a66b62ff09b262beca479c6b037252faa912f19a76f8e9e01bd -DIST firefox-108.0.1-si.xpi 572043 BLAKE2B 350cccb1686073e508a1b04899ca79144439f4117f6fc26f2047e20923b5f68b363b286a498361b805e732c7133e0afd6e361599d6bdfc4c7785c02fefe13105 SHA512 c4c702f3b37c6c0fcf00d56fbcf52a456db69afad5c34d22e70fc8785ee9e27004ee86ad29e58a4baffbe03a354010be3e7d9b44f2bf1e4cd4a13ea23bcf48ac -DIST firefox-108.0.1-sk.xpi 587671 BLAKE2B 41fb2d5dc4ac0bbe6cc59407f9752330bc95b9dcc1b450cf335fe501e4830f157af302a4e9ffb520ef6d4f35534d5dde606c7826eda9714ee7038274c5f24bf0 SHA512 db38e087110f5f375b6b28c6d8e2e8b34e7a1edb60699b6a9107a84aad24eda2f0b8a986daa5a39fa9c6ad207c96ed086df3a362c422865aabf8e2d05526fd0c -DIST firefox-108.0.1-sl.xpi 559761 BLAKE2B 232394c02a7195889608a6fadc8097aa5b4a8ee16e4ec7857cd5339fbdeaed8c77a400c0f65f69c2ce6b54ccee05f5b981153633a719f008b49d8217686c5e32 SHA512 917949c0e7c2656932f06fd9310bc04558012e4a85aa527ac6e01b5f785364dca8db98bee4139ab75967c1d335e845c09cc23dcf7476e0fe740f790ff6b5a95a -DIST firefox-108.0.1-son.xpi 422456 BLAKE2B 15db088ec59c7e44177a875a4602440c3f99ea96ac54f9b644d0709f5c9fcb69baadf8c8b7bdd51b1881c6b00e7a8c5d765c3cf7810da6d633e58452573932f3 SHA512 86a90f8258d762c8723115c2c90e06761b30295415d056065db07b318f6abb19d9dba6218ffa0a74502d58dcae38c46da3036f239972b2c3c6c206bbb21db7be -DIST firefox-108.0.1-sq.xpi 574787 BLAKE2B 6f5e81ec3bb6bc3b61e2b69240400dc0755e5a21ab7cd4c35008131ec967a1cf10a370149f58345a1e69084e0f54e8e10d7f37a5d0abf9be61aaf8eb4f45c489 SHA512 d7cd6392b6caf9cd8c57cdbda31d6f7b2fefc3f5126b17d62a303ebcc0421b70952514261b8e50f4a3474c00a08b1c5ae358ac4dc8d1331cb6cea71bc3a8a5f9 -DIST firefox-108.0.1-sr.xpi 615008 BLAKE2B 792d71d8d3de6720bdb27932039ff4aa212dabab6f6c6d3ff5758d3a2b0be15a42f7cd092ea7306a801b7e5a164dec138003ed091da9e450e234a19e10061ac2 SHA512 9b5c797335aa8c2e453f24663cbaa37f9ca669650324c5b292933113f7b700cd39bee1e23c41805a5c9114cc9cdb2c3b8f3d2461d8fb18bf0e35dc21d8eb4fa3 -DIST firefox-108.0.1-sv-SE.xpi 559345 BLAKE2B 819940fb4d30676d85149cff13df1e562d2ee4e3800a1831bb0cdb044f14963ae3f85d797be2212f35e3e857ba32f4f64830ecad089dfaa43b7df22958cd5836 SHA512 4b03f924f52bd75ee01d66bb8fa7d5e4c753ddc0742f97a826348653a279396dbfc241a66dc0e62222b0779a31a8c1f98b81ca2b277fb10aaedacc60430fab09 -DIST firefox-108.0.1-szl.xpi 518204 BLAKE2B deea10cd0a4073ff3ec54434aff8c73997e485d458f94e8496826aa5983e951a9d24f81150481d866c191d610508170bca8697d6cf2912585a9d1ca3044d157f SHA512 a3b1b216e78f61690432a6419f8b8423a08e1cdbd2a344a73bb40396ac5b142e469ab9728b1ab6b054e887266cc05643559cbe0c0ff157d31f65133b625f49ce -DIST firefox-108.0.1-ta.xpi 509729 BLAKE2B 6e6c0ff855bc88a4e33f25960e2eb41a9e4c4b19c17d16fc95526c5b686045e781ef065c6c11c014a8639e2c09ebc1223350235c7cfe7b4aeeeba0a0385139b8 SHA512 6be51312154d7f327343dc3afe57228af887ea9759d89c579980034fbffec8df96cd5d0cd79bc909cd6a81261328d5a89d0559993d7ec9676e1ac1478c3c1028 -DIST firefox-108.0.1-te.xpi 556979 BLAKE2B d7b88eec32485da79c9faf584ad11fde87f7a8261a7787b3e0e757e44cffe06406e837c00e24d4b820284848d779597e0080e91846c3c89da99c727d493c5278 SHA512 166b72cc57859cb1a966af49dfdf002f029e080dc02d41f3b3b28a15670450d4ef3aac2955aaa2949caa8ff524e79fef8ec504d4511fb9f04bee16a76316fcf3 -DIST firefox-108.0.1-th.xpi 627888 BLAKE2B 6fa2b5b164c755d8139c2b054f0236731873f73fea74db9520ed72a5dde246ad6897eca89fc47a80088360ddc50f5a1c78c06560b0bdd78b71e3cc0912fa9f7a SHA512 d87de4c4b5fe1c7d093378e3dbf6644928e359d88e55fbb4e15d75e5f10dbe96c4a419a0d036205c22d681fe9afc504baf02817195c459b9148b5b567a51b6d8 -DIST firefox-108.0.1-tl.xpi 522751 BLAKE2B 318eefd13020e744da783da76fcaef33f9517c083631916c5d6ed7497213d48c962a59194f381efe62149df6e70b9f881b3a22ecf566ab12d97605036947bb03 SHA512 63d8836ffef5ed25ed1b63d2f04a531bab1d77361a912e3826fbdd72cdc1a9c10d397ad6a7f3f4317b29038d7ba8268c9f3148fd0042daedfc25b29790b749b4 -DIST firefox-108.0.1-tr.xpi 573051 BLAKE2B be4897f4518a9aa1db76b552658f53fcb73b1993e95138b28f18a0c47647c71334d37fe06b5cfbbc5474887286cbaf68dccbb1c1b965fe76211c6ac0b7675cc2 SHA512 f6db85bee3d5390ca4a01df9de7fd43cda3c176adc0682fd328f55a07c87514d70d3342a0097c009b36d1e629b9139f3e9f2f469e54e1f1c464867f0ceaa5311 -DIST firefox-108.0.1-trs.xpi 487417 BLAKE2B 76ed3e93822e4cd57ed9ab3508710103ba90a780055d1eba1c19ff769b31d377ec54b124c7a7176df18509ed3eb29cbb027beed4d4b0655779b24688f5fb2d3e SHA512 5191d76f88e4ec0cc3126bf16c315a16536a0d931cff9cb4a9c3a988caf494a1bcfc679324458fd18f0f490a4f00eb6185f286a9ae1d05f5d04c3586c7bc964f -DIST firefox-108.0.1-uk.xpi 644538 BLAKE2B dd4668552d78bebf088231685b0e2d27d3d4e55b9ec6f7483f15d3b17b51876238fe1b66eefb2dd87b3c30413e4a6cc59222a19f083ee7ef936fe24382dae39f SHA512 fa118eddf661bd3a17d0f4cca29786c8259b6aaaec7ec7ff67d3fc97c10ad82312267c656625c793bea4310acc8ac857ad3d7241c392e92fb2f498c5382fe3e5 -DIST firefox-108.0.1-ur.xpi 559040 BLAKE2B 8d9de2ed2a34e4bb5c4b5bc07f07b7b47e3b3fa7be18756ed284fa8847fe4eeeb4ecc3f1a5b12f339b077822a7ce4b36ca029246e9be830939ee231f8e2f34fc SHA512 9c482480cb741c57d3d955c109efe81a0f19762fa741114975c126a2112f5ae15b2808e9523f3d88e8cf634063cc861ec7b001801e866b082165df420b26d6a9 -DIST firefox-108.0.1-uz.xpi 478513 BLAKE2B 8d6996b019ddde66ef28c197d881ac8bb122b90b50d60c1dbd4d02a4d4f255f8531f620c9900b287188b7954503b1a673d3cf2af5bb1f5fef6871a2a71ab5a84 SHA512 5b401f30ab983c1b59d80009a746b9f530cb8a5a1730e709026036988b7dd08df9bf23b26599aa87d8d61785c228e9562b4617a3e7762a84ee208f75e7104a3e -DIST firefox-108.0.1-vi.xpi 594794 BLAKE2B e4e8a640eb55099fab21f6dca394d65bd11b191a4c5638a7ff806a4bdbacb02e7edc2c904a3909e05450923fcb9078634a8d32c585165dda045ecdbcb322b32a SHA512 0a9e7b90a0c5c5250a9e0273d1838aecf46d756b922b4a76ce44d77004ebc937161ee88f51b6996cfff445d2473738e2af815f5b191a35eb371760ef8e27442f -DIST firefox-108.0.1-xh.xpi 418350 BLAKE2B 3d4be6d583b1ae6920a907c25325cd7d75482d987cf9e990f4ab29984a4c32022b3664c25a23af19aeb9673f19329a06f4e969bb9be6517ea090a074f1623d07 SHA512 dce1700d0b736984164f9ceeb29292f7c6183a63953dcdb51519989f7e58745d44894514b52d6c94fb825cf9d8ed035753c1845db677b6a88cf4f5134cbdea81 -DIST firefox-108.0.1-zh-CN.xpi 594371 BLAKE2B 0c5305ab5d80a679d0ccfb200045351846e44139459a047ad58069f9d70c379d3c8ee00b89e61d4b5d26769c52458ac1ea9b94cc929b2285f21cd82736b417f2 SHA512 a4ab0dde55750b942592cdf836eb4c5a2a3758c51104b7068ba801e4abf0950907a88887c868e7a5ed82d1d82185e27eaa59c2ab3f01e4c68fd7f4b1efb42bf1 -DIST firefox-108.0.1-zh-TW.xpi 595832 BLAKE2B 2119b9f170e6d4e39632af1e8226e15383460e73f6fd7afe53b8366a88881b2fd4e38e2aa287894b164c64c08ec5f5a7b4a72897bd621560e23d2c8d7fabf4ce SHA512 d50ac669054cbd608e2fbd33964f468166628716729a2dda35950050c09029846b2995bbffa4490ba01adcc058219d26f72f1a4206aaca9611a31a7b4ac12c2d -DIST firefox-108.0.1.source.tar.xz 498268448 BLAKE2B fbdf5c32e81a676867375aa2a42f0f5d649fc6e37bff729d69c7a3477eb09e553f5bfa53625f9848ad0694388ddeba11d63350105228253dcdd8a303fb9c963f SHA512 e6219ed6324422ec293ed96868738e056582bb9f7fb82e59362541f3465c6ebca806d26ecd801156b074c3675bd5a22507b1f1fa53eebf82b7dd35f2b1ff0625 -DIST firefox-108.0.source.tar.xz 503688784 BLAKE2B ac8e5d613899df4634d7126735b219938b48f49c9306c09eb1669fadcc362f6d492ec3cb6d8a8113eced73fc3351c54d6e5d4ce70b1c77a3a87db22adb76ce81 SHA512 fa800f62cca395a51b9a04373a27be48fc3860208e34ecf74d908127638d1eb8c41cf9898be6896777d408127d5c4b7104d9ee89c97da923b2dc6ea32186187e +DIST firefox-108.0.2-ach.xpi 454489 BLAKE2B 55fc5f61e15600518e41f3ab6f05e4bc9df466754a4be63301c6fc49bf0326f1f49848072350a5a7e452b13149673c3853e02da4dcc31ced809e321254eca3d1 SHA512 635a9ac1bfcd238adf4bd3df25435ac64eb58e1224bfe9da41723bc1d6f918e74c122818079aa9a84c55964bd348735a2325fbb1dc5a37f33d396627d056eed5 +DIST firefox-108.0.2-af.xpi 419613 BLAKE2B c75573c642924c21cc84c79c55533a13dfdd43adb1bac8361e3ff9b1ca43b591a9bdf0850f5f9306c5c3811f88c5e45c2eae4c95efcd18bfc4f35cf40b2f14bb SHA512 27388512241e7057e1d8459fe017df43173f34fbe7d23a2c59fc2062a4cbe7a48026b103661e8026dbe82fe86129446020059fe822ae935e0f21fb7bb5a9ef80 +DIST firefox-108.0.2-an.xpi 501401 BLAKE2B 2f3890b335965f80a630ad678bc5810cdaa9f94a2739bdc08f69fed8351801ec6b3b09895763713028bd36fe5b25ecd70d3d4ad44ca2e4c44e91a94d10673fe2 SHA512 269e5198d8e20d3171714d0e4180baea9657220c0a46f1f83ece9cdd5cdcf94fdb6d9e917f5b9231502e313a2af79b3de25be5d8dc2d9afa0cb5b6800d5e1591 +DIST firefox-108.0.2-ar.xpi 568732 BLAKE2B db943bb687f5daf4bd375d9a9bd89925b983625d4bd795ba348c46b4fe956822d985c2acd81e9b368e03b589c5c1133832cf3b791e8934173e3408ff4c11a6a3 SHA512 4830e7ee72f3d631efa8cfb41db1cb07465167c023c2ea2ee8c5b7902891ee46684a7081878c1656164af69172456fcd2a25e3ccfef4d06b4e7cb5f8fef8e5da +DIST firefox-108.0.2-ast.xpi 487891 BLAKE2B abe77294f158de1da275c2506a725e4cdf956f874755e7272f471e6292394f0876341dcae25ba4c120cbd78a044a4d545410c8acf1507f9f7eb682ed2adfcd6f SHA512 ad43cd3666c6def3a05fddbcd4f9a0afc6185e0f629d24eba7ef24c5174b17e1a37f164605365124dc91ff85894d2dcbd68cc5b5f35df881dacfdb9328af0c62 +DIST firefox-108.0.2-az.xpi 490769 BLAKE2B 6d240f94c0b508684893e476fde23aaa845ff28ee2077050635bb75b083cd34b81324cb788cccb0365db1134818b4bd62ee71dc61e802ee3fcb1b9a31dc32326 SHA512 e1a8f7abfd5da8971eef050313d881721940bf320345e717913df24a6b745f7f71f63b51730ee00aaaea4941b8c775f2f114618b9e5e02c1f812fcd6cb923b6f +DIST firefox-108.0.2-be.xpi 647001 BLAKE2B 24c6b0761c9a27680f9580ebff35387ee424fe48e238983af6d4dad96f36a99b1aff3a22751e49496fffec531efb73b3a2219034c9ecddd11fd06c3209947b72 SHA512 06169ad3e83375c6b9fea9e8bea73ab2fb465296a0c8fa9fddec8d0cb846baba0e8f8cf8214522c6d685365de187a067d43b77aa3b9c8cdf0f18dce2dc0a4884 +DIST firefox-108.0.2-bg.xpi 580628 BLAKE2B e0a75b37a5af8cbf89c011cb40c28c75fbf16394ec83a0341d00eba82c5fdc42c2a5ca72b256b8f0cfe9477870371990942bfacfc00149028143ca37eba2788b SHA512 09a0388c3be2bf1f971baef95a9af35f8b6d01bbf9f02efc1dd19c0d7a012dc4c094dd087453844b6f07f1f57ff46cf8b8d430200888e872f38ba386932fe435 +DIST firefox-108.0.2-bn.xpi 579706 BLAKE2B 6ad0215c138eb1540455638e57af61761a7a08b8c008ab45f36d59994a96d447e4575a322bb01edafffd3a502d49b896b11af60f6840545fc3f27755bc512833 SHA512 a38514f09f84cc0dbc6dfa994402e4985d5fb4a60034ce107040d46fbdce554fda5ffe85c56d19e1bd305bc082f73e9e63752fa63263e9f4697dea65ce72075f +DIST firefox-108.0.2-br.xpi 542582 BLAKE2B b10fd2610a889791b310a49bdb4f21c8c2e89bfa81f6bed02c5161af0404d75e8147043b016383e5da6f9ae9dddcfd861d57e8238c7d1f8f843f0a9ce1a977f2 SHA512 9873bca1adc1345c93807f60f76f8ae383b751ebac1e81534cb8a192986e8da106cd29875102ea3fc2e58794c9de21c7bc3df0f679cce451ba02b3cdc9ba7395 +DIST firefox-108.0.2-bs.xpi 461634 BLAKE2B 7dc705c4b222d78e413e4c0acfbb4a3ac09ec5fcb99e638b0fb8a741b6ef2edac506fe2a78bc1212a980314d6ce10585acb7f3d8cb9a1191c363ded0e6ad56bb SHA512 e789c445fc5a694955ac147a9d956bb6c5b47c2b0caa09dadf02112478cfcd6d8ccca89b90fe2c24201401a212e3189951207e97a58f3b2f2e21f832e35d5f07 +DIST firefox-108.0.2-ca-valencia.xpi 540300 BLAKE2B 7a2e50e4dc1ed9ed863c294229534a978d5c37dd842ad47979a39c973ea4558d92f7539b9bc26da66dd666a22c9b430c0f655807658409889eb31d69f383c38a SHA512 322b4765b17f2e19ca79c96fb492986e384d054068c4425b1411444763b9b07e51fd862263705f0a472d860bc445adfd89281c0a39c4005da043333f88f7eed3 +DIST firefox-108.0.2-ca.xpi 543824 BLAKE2B 94e0d545c505be72a26df474c3ab8dc602469324e012e2a8f51806c079cec7c34661fc781e162ec30f241031514ea543022b8549def9d40bfcfbea6f16cf55bd SHA512 9287167e2c12c4626fbd430e4443f9df9c8841c83eb18923020545c4592176bd2c4965fad8ff0fb1743fc6621921ba7c4d9ba5432eada6f0ee50d8d379b7eebb +DIST firefox-108.0.2-cak.xpi 555254 BLAKE2B d0d7775050c9a738c3d086e584037e54f5c4e8ddc3e4b1aa434ecb9e3c53ddd71bb38707c524e28de15c9e4fb978e6469d510c78baabe605ccd0941f29e5c14c SHA512 774e2f113fb894ef926d0bebaa901d92a115aecd351bd20e15fe3fd265cd90bd9d3fb4fece8c8826b16e2a7852b937a9dd5c0dd8c4b377a4397017a6abdf3518 +DIST firefox-108.0.2-cs.xpi 582578 BLAKE2B 1a0b28a56903373abdf6d2b20dc59f98e0b75955163cc2d44a7af2e877844fe94f67217d0a39d3b413ffddaf68d35fd2d90577da13ca25a5da88abaf33084f0d SHA512 5e0104d424091d2463f1bbf43afe73b012f52c572beb3a9b5f16e23ca3718a52a3f7501766288c239d16df90aa239c8f25e2c0079548e479242f7c84d5b5922d +DIST firefox-108.0.2-cy.xpi 562651 BLAKE2B d72a613b3372332b960e741825ac7e4d56bb91f41c3f0bf995bf7e3a8d9dad245702e51a86e03840c3ca49cf52e9534ab6bbd1b8667d68e83c35c054425a522e SHA512 6f1e078a02eda4197dd1291554b5908fc624b63f6ebb454ea6e3e9a71e1eb21aa072908b6f25a22a706e2ebd27fc7af80c30bd4fcdc1d8fb7e01ad67cc0c19ef +DIST firefox-108.0.2-da.xpi 552350 BLAKE2B e2025b49c96108554741fcb43b50f3c0fa767655a32d5544bc1243059d7646d9526d5c3fdf9582201fb31d3a78fb74c1347a6bba57d7a211a78c02ee660ba2de SHA512 ebedfb0224fcb44b7bb070b0bbc4ef9b2878b1dc063639af65275a7c4b30a71a942c5841226728b2a30fc51c388c2046a02796a2e0cb2992ea52c6786507a27d +DIST firefox-108.0.2-de.xpi 573559 BLAKE2B fa4da5059bd14ca5c2ea051319ac2a41a0b8ac24ec58d9a56e708218495f26cebb457f78c53aabc2864ee7470d90bfc8802494ca58c1498314a3c3dff68a0299 SHA512 9876230eb6f41ae493561a34b7d5f05f2b6d2dbb7510807d12012038f1f09fef71b58225f34092521f96d56afbe0aad285bc9e6cbf29ec60b06f0a3b1a0cb7b3 +DIST firefox-108.0.2-dsb.xpi 583380 BLAKE2B d0c558cf058c1b1017aaad070bb1cf53dd8b4e5226f2751bffdd6d620806cae143df37468486d1b007f9667a8dc6cc6aa5cbddbcb09fb0412255956ee1c75ff5 SHA512 407818f1ad40d5c88fbad121b3a4a66070a11823e8445be6bba4d0f16cfbd0e2a1af652d409bb19c5c3fc1979cf47d7ee8f24d874950480a1307081c55759e09 +DIST firefox-108.0.2-el.xpi 662922 BLAKE2B 66dd77078be21a6305d955dc3a46894a58a4602ad80074bd41e434931cdd893279a25c7fd6aa81e9539efab1c08744a0f33913dda652df304907bd2f6e2b48f8 SHA512 e0652bfe6e5825f578b72eb713b0d98fc4c79e13f0aeba827fbd99e1f9012f23bb3025afa75aca541b996fd190c7c562ea107a4e3f17bbc42127ff3811f8a84c +DIST firefox-108.0.2-en-CA.xpi 525761 BLAKE2B 5b9c4ffe9e4ba92af7e5a9af09eb920d3327cab4d159b7201e17e0310d11ba68e6a063632aae11631cbbc8b6618fe3cc9c70cb1fd86978390b6fc63e248cb62d SHA512 40226451860683fd9f09f4c6acaf1876ef985d92416a719b25e4f6177d9ec0413780ba541be961b84850f27d00d5b7576e8245fa2d888a68362aeb20f9ff2110 +DIST firefox-108.0.2-en-GB.xpi 528689 BLAKE2B 4b94f7f71b6e5a668b1aaf2fe17c9892b98174e08e054609186d57fbb11227cdb563989cd8638a21554f1bc9e24ab077ecdc2b7f5d5195ab7007d2baf9a429b4 SHA512 14a08c3c9bddcad101a2c8ae1dc5d9fcd9b4c70c69cc428b639d1c21731e6f611149ff65a5639e7b64762feab49a812fb63eac1e1a17e841270c76aa9ecbd83e +DIST firefox-108.0.2-eo.xpi 554182 BLAKE2B 958cc2b9d29e4929918d0b7a2a8ca60937d6de7953cc7d5b4928c825fac57e63c7c9f0471b596365e45f29e72b3c2b0b4bdde9664403bfe13bebd48637a2a94e SHA512 f620ebba27a2a0b93fde069c5985bf236473859cd58297d4e23e900bd61126722526cae2626f2feea5cf0076bd6df1bc3310bf21e0de30273ca22631980cbc92 +DIST firefox-108.0.2-es-AR.xpi 567750 BLAKE2B bf7494a574471f64246eb046f2825ad9198df9c61740c4248501defebe26bd69cee9d0dff3cd5119d6c2367a6151a6aca2a0afe1a0efc8caf06de388c3fa9d7d SHA512 70c22911d61cda8269a9d6f29a99534cd224bfc9e8cca66facf706853af84ef0086aeda89e09ce3b46b1492f00d854924accdea6ba7252ec887532e9b616d622 +DIST firefox-108.0.2-es-CL.xpi 566908 BLAKE2B 1105f187dcbff845285e1464f67f60354344a95b5f9aeb012c1ae2a4a4cac8d00537fe807b6640af709421699634fb448952622e7062ebaeac0465469ce08d79 SHA512 fd3902e8e2834324a824a7e267d6ddb234b1e965f8fdc3ec3b1c4c53d1440ea36db51f1d2f2ffcc03c4c857d8184681af3c78c3dafaa4530777e142bfdddb604 +DIST firefox-108.0.2-es-ES.xpi 559308 BLAKE2B 7d1fae2d0fb6b8cdeb105a40c815456f64a021f864db478029edd06977f484b588481fd714885a642ae3bd8649ac207d803b97b0bcbb2a3651371e7a0e0f2428 SHA512 59087aaa9a07ead15a532778723661ba361f346a84dfbe9d9fab253c6099f2c1d3d20f0ad0ba904883c0250073065ab3b982b9eaddacf679cdefd7b06c8e1879 +DIST firefox-108.0.2-es-MX.xpi 569581 BLAKE2B 1e0d3bd95bc58df979ac3b6e5e1264f45f04e9741658c1ff5301bc0d2ddac150a08124ec16c72ebe3afa7b3910b4c0f9bcea84f7631ad251b92391b0cb81dbd6 SHA512 ab3209962ebce29ba398660c3a84abd1158583bb647318bd913342b1d16aff0ef68b74b4251d617dcc7d2efb9048dbcf726bb2e30876429c8e2b9c921b482741 +DIST firefox-108.0.2-et.xpi 534535 BLAKE2B ad5012473738b8cd7f8a4d95aee6a272547de1524decc82170e1833bc218de974681d93c0e392e3e039e5a7a3be883b32453f4c48c2b5eaad4603a5b25ee1649 SHA512 d9c413571b2f2743e37d53d7653fef13b419dd9e53f6cb423b7ebc10f7cf3efd72fce921406536954892605c387636f96edfc4a6d7640d7d05216baaa2e4a05c +DIST firefox-108.0.2-eu.xpi 556958 BLAKE2B 951630a6b2dcd2130324dca280fae3c759e6e45ca8118f8ea2cf6f0b19cf52235a2e4cb14b5fc85761b0e39819a5bd39fb26293ad50387b36db8bb55d75e9d06 SHA512 e58014302dac1aaff2cd43c623d3f0173e43671aced27ad5e600d9f7be25dcb7880846ab24335daf970292e697ea535b4b5e531d5edb49eb524e30100131448b +DIST firefox-108.0.2-fa.xpi 572384 BLAKE2B 8a6e68cc54c3c6f61ca9fda0d335ed5bcd348747c6e8549b5c8469c375e476fadb83fe1ce722d8bb4ac06654d0d54bb3cb270d780dc9bdd53a42a60ed8a8f3df SHA512 489c73d8fd1576b7070edc3ef35c95ac02a7c359a5944bad55a503178052c160608553bad8ffad93c4ad7923a6dc904e576051c7078ef52ad8d9893372027153 +DIST firefox-108.0.2-ff.xpi 474487 BLAKE2B 2b08ccc82e62bf754d96901a06f7267a28b45c22b3dfd0ce62b340d92200600c7c66f6f537fcd1cf2c6bd8c753cfab25098f3559daa0f56e287b86f9a1dbbae9 SHA512 b56cd975b5f047a2c986866db0f6d7530fee66e1c5433d6581e9fabf250b5faab5e23ae5385bbd0eb0f167727ee4ea52040460fcc6a0a3f86c695b31fcfac148 +DIST firefox-108.0.2-fi.xpi 552985 BLAKE2B ac4ed7b55946cfbb82ab68f018778c10985fe839a274d48314216590f2bdd8364e4d0b015190a7193c0230e63bedeb873889f51b595fe9b15f58c044cc0dbc12 SHA512 c6eec50f0ee685afabc281ca04a405064d2adc94790fb066a5ad850d45fef647acccb0f77de3509aa8fa9d91a0ea1e3d446cfa60c848c5d15fcd321c7240bd9e +DIST firefox-108.0.2-fr.xpi 579481 BLAKE2B a41d4f1d387ff303c5d53bbd6185148b682728a07f2d48e1d439c9f9389b4493a90be9ee61b2ecafc2011dac9dff81cdf20fa610dbe17b4536ea152f90deacda SHA512 55b3a2f2fbc1f9ed5531c572e63f4d2923202ee3eb90c6685fccb5714c272b49cda8d546078ac757942e7220d7bd9e152005df5db93e5a43e72d115b13a8b9b5 +DIST firefox-108.0.2-fy-NL.xpi 563341 BLAKE2B eb7673dff03e67688556001cc208898178f2482e71816f6ef55f96755effbc795fb58a52a1902301162e764f674d89e41459b4a6acdd560b803f71b6e99b4b38 SHA512 4d3091660b3470db3d16ba125edbec4d67d86a334e2ff5edec3cd7eb53d036f58b8d675e2f681a8c19485f777bbb628d8804bd54b4f7fa49b583c9958a8757c0 +DIST firefox-108.0.2-ga-IE.xpi 470255 BLAKE2B ec5f41f4ca2d98fb3f5266167d73a11ae0c97623a75376d36417664333f13c09f13ca545cf9c42b3a8e72adc9147bee94e4a5a681391ed0bc57064e70a60b3c4 SHA512 e08298dcb0d3a4073791d0ce970598c59891be453f3d5b66f6925085861ccf053ace6447000b9c09e26d1c7199bc942b6c29cfed7c9643732f88c633e8b93110 +DIST firefox-108.0.2-gd.xpi 548831 BLAKE2B de6309cca6065c6c1fe43f0cfe3111aa5abc43207cbe228341b537b0904a22d530a04db2a313eade2f40689c3fec1099bda42f36a3c393e61e95220318c8ba61 SHA512 f5b0cb9286c37dad2e71d541b49bbcdf8bfc4e6deecdfd7aa7227c93c42b1ec177242c95e2a5bcda6341243aa55617b924e6d0ade74bb97bf6b8d42c8052e009 +DIST firefox-108.0.2-gl.xpi 543433 BLAKE2B aa02cc4412f0976a9210782ad27071e456e3bb3e3a35207df7baeac304f92db3a94936321660236077da0af144b62f490aec32d9f492c1f967455ae5bf011c4e SHA512 cecfef1e7e40ff907063a1fd560ad2ca79e2e88dbf696c0a9d473ed35aa7f101cd9643dc1bdecda797f7552f35477dadf6fd9112da7aa8a6d34899e0db6951e8 +DIST firefox-108.0.2-gn.xpi 578518 BLAKE2B 4309bd61a686cee2f70cb66262558d6f309e2d7af5fb2664b63e40a21d5f3d62f8570742c3e19b8809f614f4cc2676c4b891568af164fe2d764f6a072d7af89f SHA512 6dd617956ff3a720217adfbc2784015b3a430f8687877604cfdcbdf39ad5bf0a5d5363073756fb4cdf0984a3cbc7a6aa1e17c67a2259a06daaa96c7de2dda765 +DIST firefox-108.0.2-gu-IN.xpi 529444 BLAKE2B 70ef657a6d96f1f0f2b8d856026a52df863cc4670afe992d0460dc5efa81117187d38c71d12ce60b773e3701fa50bff0876748ab88e262696ba13537063feb4d SHA512 34d3b8957ea4ac0d7e1a22a9a54b35788382184a556812ab799b45d9c634d34bd544402830651813a88061aa9005ea6fcfff2ec5dc84c31df633b8926c8cb662 +DIST firefox-108.0.2-he.xpi 573915 BLAKE2B 824d6bbd21f54beaa60bc35d8daeeb3cfe2f609aa7d4019a58ad26807da9dca88782578cbdcbd7aaaba4271a65997190af9aa1e6b9f4e14631349c6c12ac5aad SHA512 79aa5acc0499f4996817e7340737dcd8942dd234914713845ecc8653884e2233eea705ec2aef2989953ea02f97be044f49c59588480c95538c0e8621fd265103 +DIST firefox-108.0.2-hi-IN.xpi 558584 BLAKE2B 6a5d8c59e596eac909c55baab079f17032ce0c0104a074b3a22cc39dc29f33e919e972955a657cf35cb0faa02bf545d23f9d47cb73456522f07c8e99e31a7b9b SHA512 fb5009f2bad35b906c09b1331c261907caf26bde81f2eff74267d2930a3c0d5d3fab1db0ba7f6749cb5e57e9fe9f8efb2c6022cd9247f2a2d95fe08ad1b8ca40 +DIST firefox-108.0.2-hr.xpi 538316 BLAKE2B b070f1578f851ae0a7031eba0712dcde80b623f9745ab58f5a86a703bbb16d785a2a9e75615d21971b9217917d26d6d30eed05619dd86819f02a246c4a0c0481 SHA512 946bd5891cc03ff2575b49172460a5e7aaae6f8d46b6a871b21fe83c71b0421546a095a1eb3d25b4ccb139c7fe96286036189dc37a6045640a4b3ecc24825c3b +DIST firefox-108.0.2-hsb.xpi 581695 BLAKE2B f6d97d5af1689773ab8b74072e3244cb0060030a6b764d9534b08ab9dc9f969633b8f5972b72b09bb1a8bb0386339cecc6d9fd0f4d4e1ebacd5ff91a36207285 SHA512 6be0d3d833656d5e591be93d06cd84c95a7d8dec3e9ec9302177dd5cc3fffc9d28583c6f0bedf0366ad51a7828382b1cbb3b9f82e8efb61b95643243f8b8626f +DIST firefox-108.0.2-hu.xpi 587855 BLAKE2B e0062861f6f926b5450f4a4a07a3f2b6aa9e1249903f7f4279be345977e09e5ab6d26c9931c06e1f35f4fbd916322eaf41fc7577220a1e98464220ff3371a4c0 SHA512 67207ab8c4a6a3ead43699e19e952a1fb90fb8b95de785faaf3e479196034eca3c6a7311640edc8841a4c440b40dd517f148d14c4ec439a8bb4e729b3c1ee9a4 +DIST firefox-108.0.2-hy-AM.xpi 594652 BLAKE2B da131950ade7e123c8a5fd84a82c2369026af7c997bad00baf78b67963b74a431558d7a1cdf3a4e6a8c7d51bd08ce77dbb92a37462644e9b79d64b947a5f072e SHA512 a0e50cad6f0929597ddf168c42274186fb0f0dd217b652955b0681c87d93d7d30c52b4f4800c56b7464e2abe64498760b8195c74a44c600b3a57360f6c589cb9 +DIST firefox-108.0.2-ia.xpi 551764 BLAKE2B 2d709c8bff54a877aea23351527266d8166df327571381835684aa1102d8a69cd03bb58200a11ef62858a7cebbf1cddb34b5288cdbd4021188d3577f4031f8f2 SHA512 fe5b16c833fb66583b09cfa79b7adee82a399d12498b77b87e0a84b6c77e7f648c9ff31c3d2d16ae505f82a2f3d93b04a1b5848e4822f6c2042730b88208c33e +DIST firefox-108.0.2-id.xpi 548616 BLAKE2B 3552763058e1da4739b2ab8449a1ec8de361e62848aef92b25a7c23f0ac9bcba5c1eca59d3b59e72cf5056de08b3f8f772566805974639ff12019f138b4397ea SHA512 504394c78b5879e27fa7db57f906d86f483a121bc3dfc307bb788d31beb7040e2a9ecdb1fc06d69f253859360782e683be82ffa2884a97ec83968cfcb0f8f396 +DIST firefox-108.0.2-is.xpi 560749 BLAKE2B 4344f7d2d794ad131f961f36b4ed3f5285cae314b0381aee1fdbc86a5b659ed834767dda8b945f9f77214121425d0c7231a67335f598436868985f85a915808b SHA512 4c8b277dbc64b4cb837ddaf2e28ff9f4b748936e1e090dfb24df3b3b89dac7cf4693a5429b4488129ba7dc8fc1bc0c6908dcd810c84e38dea82d44fca42f8a01 +DIST firefox-108.0.2-it.xpi 488836 BLAKE2B 3a05c4a1abc4cd81985039202d1eefcfbf2435dbd0757f7c2322cb80a7cca8d88678d28469c43f9e7d0448a3b52fca27c174e6a4c697e2184a1fba326e97ae8d SHA512 14f8653b1c9737cf2cd0af7b0c7b7f9cdcce8b2114fc05a7150eadff7311b9e84715565d5cd87bf4a894a1f6d739527117fa7989fe10ffcb5b5381b7d86c542a +DIST firefox-108.0.2-ja.xpi 612106 BLAKE2B d9101041007333d3f41c5a0aa48fcd4040d3537266be3063087f1b4e81b0e074f68176e88eb45249e15224475e9539d44288b323cceca580e973d3ff73ec4476 SHA512 a52c921a48200a3c763cd8e2ce02c5eafb18a084c0b2bb3cd9fe41fe26b45fd623bf4391b64899d82d14b9bcfab532e717aac89f00f6bb5f3226aa54dec5220d +DIST firefox-108.0.2-ka.xpi 616446 BLAKE2B 455044325aace350015c8c0cca9ed15b226774e6a018c9e71cef63fd08f230a8f6644e6511a986e47cbac025ae1569484b5e3be486ddb08f75bdadf63ee025f3 SHA512 f5e2c0f8183042c1329fba0bb7e74951bff307df900ac115655bd42d92657dec3602a27ff588d558e4c21ba90ac9bc541f87dddf3efe4b97fed629e37c672cfd +DIST firefox-108.0.2-kab.xpi 569588 BLAKE2B 07d1d0048930e3b8448935b36e65ae9a002a1a96b82269f9e533a72c50dabbeb1b9272e56e5c0d330e03fb43d9796180a3b1634f6043e05a93bf76c3a236d9d2 SHA512 f99a14a9e0d58833641b5928b57c3b8ff52cfb8d7774ca129c9fc2d0144fd80533214f3f77b1743128e900224342ea9e021c5b8fdc8d8445395129fcec3b3c24 +DIST firefox-108.0.2-kk.xpi 639489 BLAKE2B d198646f6396bf54864b6caeffd78cb032393f624e1885c22aa967c24781579cc3fec16561b88bc8f4f1172b511daa72d30c47d7abfb0f892224961419c2bb79 SHA512 3ab50c41f3e9118c54465275f4105bf5e4b56e2096eed4f43f4639ffe72cff64b05e7b1790c75d4d54eacca1672dcba382ef741f7129aa1d0182a7c387f00f4d +DIST firefox-108.0.2-km.xpi 531206 BLAKE2B a57f365da6ea5f55d31dfe5389dd18b2cf5f0e37779acae8b9db590397509cd5a457fdadae3b38eee88baae84897ab5e6157a7d83e51488a4db94e3e7843dbdb SHA512 09d7340db2aad88866d609709ce0b97b12d04fb35eff43249720a808e56f04be0655df5b38da3ce06fc541056d0c424da8ab69e4ff3f749f2984b75fc42f8458 +DIST firefox-108.0.2-kn.xpi 496778 BLAKE2B 37c623199cb77898ab8a456edd0c3d11e77b60955067e8a4f3311fc5a8ae351b50620f6c49b1bfb193cf8c1a8b66c73bc745e4e5e2cd78f0aa50b76063cf96ae SHA512 a2505e4b0bd50dc50714346bf8c362655fdc82ed1ac3f3769fff69ddd221191a408b472b9d8bee09185e685ef10e629953fe0a8b1d836b304a6adf617c99a0a2 +DIST firefox-108.0.2-ko.xpi 598494 BLAKE2B 98d11ac0dfc967c42ffff21f7138b45144a8e1c0276386e1d80cf8acccbb7483b69905348a1e31a5c5c0a1646be42b5acfd621008d5570b11c09b5de4294f5cc SHA512 e7a32a7c0326cd7413aa1eb7b3a407605405b96dcfa3ae8836a3e345a31b69d83aa14abfa3ac4c442323c00c2eee66f444524544e33d854da8966855e3722ec8 +DIST firefox-108.0.2-lij.xpi 471419 BLAKE2B 1a3d50a87eacad3c85ba5e84fe8fcafe9c4747cbbb635562d81f2eebfecf8d89494b0b3dabe557831f852075f1172be7b8d3ab4d0b5c9373cb43f3078a09ad96 SHA512 d95895e346d2e33e2b25a23ec52ab5717933d5f2118e5c36d1975077b0a8f9ee356b74a2d30e3ce0b2573b4527097bc9b218cf9f160589998930c43d409f2239 +DIST firefox-108.0.2-lt.xpi 566420 BLAKE2B c7659739c431b90f88b0141585e131f9a4cb252565ec2684cfe4e1000fa29f69a9a18f6bde99f9552e06c0e6221dd119fa65622bbf14b512d3931ad6a2be8078 SHA512 0b58ee7c41f27a999c46375397c47b6163eae0bb67007544c7aa401a4481af6bf8f987a695546ceef2749e93a5dc7172a35a8e41f6118c9dc5db8040362869f5 +DIST firefox-108.0.2-lv.xpi 466199 BLAKE2B 84e68c830819c8ff3434c4b85b80afdfcb59d2ad30846fdac14df0b1c03bbec39f440ffecac0175594a54d4b30bd91b26ed4dbb4923d8ccc0011fc55914f561b SHA512 e4ef1e717b00e190897acace23b33e45c63ad79f50f0969ee4a010629571829ba685e8ef90aac51f507ad09da2a2f6ea285dc36bc501084be0583d6a6ffd1163 +DIST firefox-108.0.2-mk.xpi 485634 BLAKE2B 9e5e0837b0e1598690fb364eb2157ddb1b2cf5882039cdc293c5b785ea52e0efaf6e177beed87c8ed361addb0530432082db745cbbcf078415575acdc94d543c SHA512 bf9324c1b243d1f5e5ed42e2ea358be4920dd39edb5372e9864b062e0971085e3dbb8d0faef2851ab87e228541037cd5ce6e727e147c2f13cc0490f16e457a1a +DIST firefox-108.0.2-mr.xpi 531998 BLAKE2B 782411cf8124804f7a8325d70a3690c02853d72b45c26a3f368bccfa85540ac719868cfc67e32f0b0aa42b7cc16daad44a96863071955500af631121f4f59fc6 SHA512 737ece11efde388246a30b8d574bc2c2f41db4114c03d6aa71af7f6494931225e788eb848826533add863c7b48ced26e9c80a5c4ea5212e9b11ffbe40e4be9e0 +DIST firefox-108.0.2-ms.xpi 450666 BLAKE2B e589aa510967d95ecede7eff2d40db11035fd502f19a6be48d3f3f60e5e4bbd107a5e8b87aeeffb9f5e30f217e7bb93cfec54a838995b50c412499e86b0c3b03 SHA512 97e3416545cac59d07277b714b783ed6f103773471680e99fe067cfa9999a1b99a79106bf20ad1a211162ebfefc26165278d0f426f8d4c3cdf0ec82597fb3ea5 +DIST firefox-108.0.2-my.xpi 517679 BLAKE2B a8ddce4d313ceac260b9b178fe19208aed3f0335a21d6a0d98dbc682c5a636774341678859ae7153260adea1c3ff0f636acde4fd527f85dc78c404a59af81278 SHA512 26a15f83a029c2d44d94d7a5125601dbee5a5f88c510d15c0ef939243a8a21af120bcd0f9a92a18f8a107c63998afdcb54db6808d8d1347a34b7b2c4d42e3eef +DIST firefox-108.0.2-nb-NO.xpi 549692 BLAKE2B c8c5cfb9241d703462fbad1fb4b52b6d50d203db385a17fe0da2265ec8de42f2bd466d72420665ea962f9eed3d85b57a3f3a4ae873ecfd30ea59cd0f0e2bdf3a SHA512 e0173f8416ff9a6be4a1695336ae4d15d665db8719c72565e6ee2fea72c247b9b0e175b2944696ab92f9f944550b8fad2e1f6a52a8740fb73d7178f46f0c2799 +DIST firefox-108.0.2-ne-NP.xpi 485228 BLAKE2B ec5c22789a7609ec6c4301a4074b7057e6f5225a929034b38a71e225a23f740a0792f1415e435eaa496c05075c9f49cb8554848c6e492d49e2795dc7c1c8890b SHA512 151c62dd190ae997ade94c38125a8aa3b37348f2550c7e3f12f2133a276118208da531137f3cedbb364b3baa1058269555b17dfce7772b83a9d195b7a8fed65d +DIST firefox-108.0.2-nl.xpi 557507 BLAKE2B 73dccaeee1fd4ce16cf36d003622cada59251471db31c5fd52a07aafca221f3addd0ba4c83b0a8333a2fc18be969b77cb0dff6f617a125c5be0281c2a4035a95 SHA512 679f250329de71dbc09d9ecba7d0088cd485bfee7adac3174d7d7641e060f39522a527668f6ea4f4567b28b7c99933a6960f74b7f4cba49a0edda27333628c21 +DIST firefox-108.0.2-nn-NO.xpi 550020 BLAKE2B d8cff51c4c59bff45b55b4ca66979a5f3f030093704858220cbc0ad9e5bdcfa0cfddb3325e99f82e6326087e7409b04506bd8c224258d6ef91f951ebb94a4067 SHA512 b1b4875249ef2f1f582c49521aadbc01f3ff041794ab040326611f276dde41bd527a5a2b7114cf5c1d36e1fd58cf0af4eee46ae5c2ae6e4ce3801e1811171861 +DIST firefox-108.0.2-oc.xpi 574022 BLAKE2B 35d6199a42688db9c52d8966e83b4589cb6b4efaf446126f3981b454f862ad2bba7738d0598a9c210e03d090181c5d40ec3cf17e1a91aa49c736921de1da506e SHA512 324430a39862e06fa24d3f7dbb21e668c78e221ddcdeb3daf47b97bb5a66927df9c105aaa554e3f51386616eda27a0277860d7ba7a4a0958f91166cf9c846b6e +DIST firefox-108.0.2-pa-IN.xpi 625818 BLAKE2B 28baa0b5b0fd6276c14fd324c9c78f69c9ec7b66e268d0f25d226f57142e056ebfdb905902c5623218c29f51b71db89af6e4d2d4794e43311179aa772b5749a1 SHA512 f4970b6055369e631e56661c06bee915c3a1e88b4fcf4a71694947b98d1a49742b0104a560b84d55cbd6009aac3d02718e5ef0929f675f27bb9e549393ca4483 +DIST firefox-108.0.2-pl.xpi 579963 BLAKE2B c55d0fcca36a81b914fa9f03a2dd5628c208a81161d19a9511cc80dacdb763f6f4d2e1422097ff66d02e2e16dd2f790efcec32b4b3a7690c6f67b9dbbc461d5a SHA512 c2c926f4bfe736e4895a37403c7003572ecff4c43920c48fb7f71662095beae7103637e77049ee38046f395a4241a1369aefcd6dcee19743e175176b8e6abb7d +DIST firefox-108.0.2-pt-BR.xpi 562413 BLAKE2B d3417467b0ba9525ab5f81b15d16ab8862ca09717a354a2e8a80e74f336b958603c8c60da6953ec0440699e910b4032a30f4276e459bd3246ab61999bbe2206c SHA512 63f06daf8586e77f1746bf891cfc65a0f11ab6dc754f1f4de6322ad1ea0d5211a2a2c0af1d25b4c271a0a55cbe52cebde1065171dff1012fcd6142be94b11ec7 +DIST firefox-108.0.2-pt-PT.xpi 567186 BLAKE2B e5e8892547f31d1d152884424338942dada9cb6898f6cfb32ec09e62730bca43954c7e3dafa0a994cca51431cf015cfb0ca950dd5031aa41c48b3f5bb777ff70 SHA512 88b8faeccf7b7c8271bb59aeb2ccbafef329980c76c00b4e7bb14ea41ba265d69674582b0544a8177129b261ba39b3c20b26630e606b311169da63bfa01cc733 +DIST firefox-108.0.2-rm.xpi 557267 BLAKE2B caa4e930b86213eb0c5d3f07acd36ba7da1a71773a68fba57a894fe46987edaf580abf1a5cd2c5d6a51e7ab966b1511dbfbfcbcb562ecfde8fb5941880318c38 SHA512 50f07da7c05e07e5947d652846abccf0abe59353e1104df0768ea41d214041dad111afdce86f2dc7a316c3994513729eea4f3caf54bf7254697a4a4a615d8878 +DIST firefox-108.0.2-ro.xpi 534115 BLAKE2B 2bcef6216557d73065f8ea5e91aae0ad956711fdeefa5b97c28be12f07ffeb5327155863bb458cee4b674f9535bc8e864cecc79de604d881791021f3d31144b5 SHA512 c06bc81f3a2d34181323ea78a5e617571b50f375178eb5ac26c989b6b16f554eba4eaf5aa7e00502fb031c088c93833c06615e1ac3804277c59ed639f3a161ff +DIST firefox-108.0.2-ru.xpi 651328 BLAKE2B 58fe64e52c29a197cb5f8f17211f9a0222949f8e34afe8baf21d2bed6811106ad7812bb25575747d5c096363636144b0473b1401006c67454409bce40e8ab375 SHA512 147a37447e31a43aab428f8df4884bdafbba5ae465be684dd1f8ccfc18b384d213fbc63b6327f40fdbcd88354b24f691320f6e8cddecab7988fb7acdf80ef970 +DIST firefox-108.0.2-sco.xpi 505172 BLAKE2B 1da36b01e6ccd4cba1bc4eb14ba98cd7d05a1adaf799d78574f6247eecadda982a5e2475ad8a200b1419f78a06de52b1998b2cff50f1e97a5514431d0dea2a8b SHA512 e7ab13377a92ce03f73fbc07cf35092a3680f83f801c63cfa9806bba04fcdd6de7f4ec12de2891224cf54a87b6280b1eb52a7355a2530b6d38585e1f8ee6ac22 +DIST firefox-108.0.2-si.xpi 572052 BLAKE2B 4589468f8c9f8527aa49883621d606d015a23e8d1cdb92552beea08454684bbaf09ef3414362cdc91466c839565730aca3c666ba3ebd83ae4033563ccb82d06d SHA512 b222eb4f901d3fe6f0782b316ffe4471118c5a0ed5d3e17af3e5b530edf0b45215e73894e5f6cd46ab4bf5eac1bc858bf018cf0abe87b8e3862d1abf436790b2 +DIST firefox-108.0.2-sk.xpi 587676 BLAKE2B 77d1bb4b36d0e5e8ef7902aa4bf3892b58d221dcaa029922712218ede588dc626496e9f24c6d460b76e2e3c5f4fc6618161f087c383864264abb28b4c43f2b5a SHA512 c7685f7ea0f519c20a1110d7c83ba194b036ae89f43d1e071d000bf8cb63919ef010c542988f7cbd1e099e87de16f463b4c0003c35bb23a89d5e4e65b3662d5b +DIST firefox-108.0.2-sl.xpi 559754 BLAKE2B 524d5eabc143b2b2b8dd1f119229129e102a4460d86ad5877e85b4123dcbe86d2bce1f70c189098abe02710fa92fb641d9ca1c3a01a611abbafc8c4898280d1f SHA512 32f290f40669f2054d9737e0c2ce5b8cd00f98fbf37cad890f6b32a6efa0052ca92cac7f444e1146dae29afd4e2b28548fd3503ee6e5660aab15cca8319ad804 +DIST firefox-108.0.2-son.xpi 422457 BLAKE2B 86049a91dddbd36b3e1b03632fb73fefefc328f912515b7ee5d430de2ef8188ee51708c1cbe2a71d8bd3a496ff34d504e31bfaef48d7263452cc27a2050ee32b SHA512 c88c55d8779fdb7b3d18ac348db35cfe72f0eaaa903eaf10eb31238a1fb0fc701c0989ae20deb158aef342239fd5bb64a90d1f36bfdf54eda77376d5d8d113b7 +DIST firefox-108.0.2-sq.xpi 574789 BLAKE2B 723b529d967f183c516dad23ff298f1625dd7274ee4f4e94a7039759c1c5719442bd13146a17ee2c1776938492c40c3b0fde95a2175b0c60c338e59cde236b7f SHA512 2405a8d6546868cfcef61fa8a10c1dfd13d9ac60be0bfca6e1eaccf4cb24f360a643b29c3df919a6762208dbdccb2375b1b1cb21300404d8cc97e59e2bf002ee +DIST firefox-108.0.2-sr.xpi 615014 BLAKE2B 1530bfab060b0c95fadd575f18f1207fd693e3c6e09515690848a983b3c4a8a6132524d166bc69796de1199398dc108afcc4719a187b4890d04e181c3048b535 SHA512 e354ea9614374a566e28e3219a2a9364cec490234a48d657346108b05958b7f1db8233f9a8e2ffc5fa9d25a8a4a3eaef32c8154200e28a885ab8bcd393c94806 +DIST firefox-108.0.2-sv-SE.xpi 559345 BLAKE2B a27482ccb9ea6e6eac49df0264c7e614226f47cef0b534363931f00d0d4ce7d7049d94cff44a2e394b2c3da947c820301ac4bf44bc0c1bc0f6de77f083753e30 SHA512 fbf0d14f8ec38581a6e1dc864a8ac1e6f1e3cff469331e9a85ec9f56379d64d019f1afce1122327e64d0698ebe6c17c63833bea47669b7bf2e916b5c0dfc9bc1 +DIST firefox-108.0.2-szl.xpi 518195 BLAKE2B 0cddca3ee99a3463f0292d2c29bdb50246b9170cff5744067ab17be5c1bf626375a9bf53f77b5bda2e73df69832e642d056f1e159c7fc8741c8620ea6cb76feb SHA512 e41b9bb8aa9dfd087d8b51119974092bdf2e2c51ac2809ed73d15d9c830cc56a8b1c82a0aded834432cabad41c71e83766cd2e8495062119b8a741e5345c38d7 +DIST firefox-108.0.2-ta.xpi 509735 BLAKE2B 36bcf64e5813bc200b8892052e131f518c448681f81f8a209568f137d6fcbb9d9141ba1c26efdc548f34e41895ae2d4a95c5e903d02ce851ac824c39376f905e SHA512 b6ffc197d4d6605bd6f0fdcb443de63f31772d329070a4dc66bc38de40f38ba107942bfa3016192ca625c51f3579b6cf74cdd3e6c885bda52ced1ac1b31efdb6 +DIST firefox-108.0.2-te.xpi 556974 BLAKE2B cf0a63483608540f6a9175d5475841cc2f5f79f9d21775f6cfba2e8d84fca5a426cf3a5f1cce82c43a343f581da5c2105ecad7431bff20cfb1090236b13fa869 SHA512 1d1568ac561a6289c2b66d591c46517c3fa1e1f384bd1323cd666f22de54bcf73a4eef1e9922698dcb90d63a9be25cbc4fb7159bc2fb8d557d17b1f7adf10754 +DIST firefox-108.0.2-th.xpi 627886 BLAKE2B 77914460218e18b2c5bbf92f13195f824e9b16df2ce8ad70c5d1530b9a193c27c9db1772dc3885401e87e726dcb8627208c96620de66c83daa6937d228d60cef SHA512 a20ce62d234b9c1992c213818b54b45eed753963e5327ee7c430c948a90af4f6f0450bac92f40c0c9136072add833a2e7febd3ea1be97eded6c4dd16fdd9789a +DIST firefox-108.0.2-tl.xpi 522751 BLAKE2B 0ff9c30125ebff9c2cdc60c3e06bc667e8f1f004680f47cbcecfec8756e4e072363fac1ddb1db3b6de4b83c5eeebd8e631cdd2850a30baf14ff99a89c25ef09a SHA512 9b841211d34c2bc6e408364417af1a10bc4313dfbd1322ce1a4c9b4fb25e5dcc4e84be91f2d180bc178c58ed494ba2f6c725916641197d516736881b30591ef5 +DIST firefox-108.0.2-tr.xpi 573050 BLAKE2B 7e199a10e6bd12602c872c40fcf2bfff59083de6c1d8ac06ee62e400970dae3410a80a5210fbd4179df6b10f738c984ebb2167ecba8decc222b20168f31a528f SHA512 4762633981e0de7f516a0e18d10771ebda37b28c34f64dd9522781750db8a3c0f23b1fb4e88c52dd70c108dc409ed3e97e835b56663b54ad142cf64904e3b442 +DIST firefox-108.0.2-trs.xpi 487410 BLAKE2B 8f681bf9998beef1ad92811dc0edfb688336da4a919152d3a1d9c9680910fe4708d6037e0d3e08f5a4e4bc1f5a6b8417a77705d2aa6dc3778f04df86e95b2a9c SHA512 ffda66641e773a77241017492d2dbaa8593d96e8c6f26fdfdc45ea3df901224495224e47e2c0aa725e16cad1db7884e1b9b23e5ff7ec9a103a85a25ded43c472 +DIST firefox-108.0.2-uk.xpi 644541 BLAKE2B 85bab25574315584251e0c04ab385e1a7760dcc868a1592c88ee24f0dd8cd9987adc8e3aa7e712e5b7e816f025a6085b9abc4e533225367ea5f85245de562fdd SHA512 67565f1a87b9e74f71322ad68830c8ec53588882bb94e76649051ca0608db782c1a76f8216910f938fa5b9b299fd02a88038075a4646710cc6b73884dec46b9b +DIST firefox-108.0.2-ur.xpi 559044 BLAKE2B f25d371fcc7f54d410be51c281e856aaf6df27ed20f432e0c6ba1578d1fcc40dfb198e2db99b364a64ce421361fff6610975e9dc26d2f84e34aebce031cd5bb4 SHA512 a083010d20f1523b0516a906c3a9534386db7a805911932c4f66b0b42ba0af1859d9ac6a890ff37ea8d939d0b8f8491aa86d9473bcfe666b3b078b4bc62a00ff +DIST firefox-108.0.2-uz.xpi 478516 BLAKE2B 5cfc77860f9a8415ed307c2c69a4167745e8df8cd1f4ac3ce0ba7e4694cdd99d80ec14bc724aa1d5b50d35d59a6afb469bfa4b0832e9b8d615c818a5152a046f SHA512 f4cf153fdd317544e16c29199a3383153ea68a9e2e7c2bfa96e0694ab23bb1f44f954ca513ac5504a5756ef3b294a0a710502eebcb65240377b80030d7ebba80 +DIST firefox-108.0.2-vi.xpi 594804 BLAKE2B 309c4603e3e61227d3beb4a64c9a26510c90227f1e6be0907d2e42db2a18c483c9d46ba1679f53278a39e5b8cf54d81f2ca78a66b90e24f40a4de5b8ee58013d SHA512 fe223a5764f7148155191e667f7fe9bfe472d08c68ec4d7b3d44ea67ad9d6b83f984835866f8e62750abf49f29b7ee12397c7b8abe8a95c9c8b5966dfd262e55 +DIST firefox-108.0.2-xh.xpi 418360 BLAKE2B 347829edcf2de37df146ac3424fe11c1ed9574b0530dccf4695f805d71727f0d9c14c5c903f24fd1e2e3523b7a3450afb6dd5251e080f3508dcf372658eade09 SHA512 527172bc8cea3a7b006942f941be59924644017b47e72fc0227873f4c8e8af0e1e4f9df6113b58a9e06e7e844a62d458c093e604acf692933146f4ed464abff7 +DIST firefox-108.0.2-zh-CN.xpi 594362 BLAKE2B 290e6af6349cf6c0f863a1c60dbfcd096ed289df0e6f3f37a5e9699a486fb8a03d946506d307a90a3c977be7955867cec5a380fb940160cace64bc7006ef8b6d SHA512 b0a24d9152677fe6d2155e6e47112a22c246401a7c7c9e3a278e7e90c510151f6e1caa5bfae964d7f3f7f44018e9196b454ed660310f929123e751626c24bb7b +DIST firefox-108.0.2-zh-TW.xpi 595831 BLAKE2B d54dd8100a1ee6adbc7447430576d2aae7a0341e12ff472cc81250905052b1c9736c1b86df41b11343249a45bf340122499a05b3523e9ceede7bc2e8e7776e15 SHA512 c63edc0f214319a53b892d84fc81ec64008e1639e2c440333c5c3bbac57191636563a702be9402beb9a72b81c4d4e1cbb2205be76666c3a5adee3e594e0b9e3f +DIST firefox-108.0.2.source.tar.xz 509638740 BLAKE2B 8032c4250c975dfbe159eac8db3a8909c45b9ceccba206f7a5aba9650bcb40df658a50890efa5572d9cacc22411d6f1a2253905fff2d0791604debfebd986c29 SHA512 f856ef034fa4a526e19968aed092c9ee99e124d2d271ec1c1bbd091d9a03e23293d69c7a9ae17c43258cde7e73c294534b471e36441e576377854f607c9bfa3a EBUILD firefox-102.6.0.ebuild 36637 BLAKE2B b31901096a3206ba4b4b3499d617ecd1ba60610452a125754dc96b66e0d0987be17ab1548fee8dc40c79fd877d7e7c94d27f6595bdd67693fd1c8ad39eefffc0 SHA512 33bfe90d3da6ed4cb6965a18c827c7dc39e85f964a702f818111c506964880c74524dc5a2674199c159debdcae95e864faac7ca15d5847a7acd9c0d3d0c06da1 -EBUILD firefox-107.0.1.ebuild 38357 BLAKE2B 0d1343666d430e8e9436fb01955ed991692295a8b6b17de60b56c322d0022d56bfeb89da4e1f12bce8e2a52b8d694d3b7b27b7618499cb4f9fb2eca5715649bf SHA512 ff9a9d4c1571c2b18a66d797239a22dc378ecc4ef0e421e3375188356d7ad8730cbdce4f637e57052ea0cc26c258c9d7581d7f949055dbd0e19205614c5e5dca -EBUILD firefox-108.0.1.ebuild 38392 BLAKE2B 7106d71f4d049174738646b524b20fb3b00bb5f10936c32fd09e384a8cf5b3f05f1c18dde6947574896b60fd99ddc90f9d8e68493ff4f2022108b1d31d58964d SHA512 6d8c8280374a82012a666ff843c5586780b0e34c124aab43f4eda494d1dcc5aca299e06555981d519c7668e7f4c3b4eea8cdfcb43a0f97037caf191bbb9278b1 -EBUILD firefox-108.0.ebuild 38398 BLAKE2B 3f838036f149858f130d0e616990dfba6751edc54455d5dd1cca72105ee29db12a0925175cc29a5562aef5145ad64ded2732a994bfb3417e0c82d4e8eccba55e SHA512 2d5999ffcdec4a9cc55264d9bbe904fc0eb1e8c3bd2a4c9ce98848f152acb905628de3b590bc560f0564c99ac4f4d3b67c8ac0ca7c5c5c486591f64c0728260b +EBUILD firefox-108.0.2.ebuild 38414 BLAKE2B 125d0528fb6f29fcda0bc102e4eadcae9f273becf2f8ace589849dacd8b69a9db510bc83fbc64693d5c8c09ce6e5261b182c86a1ffa6287ef257830517e595f1 SHA512 1b567c9e0f976ab5dfc5a69465d045ddf7ee2080adf54b08a8f01319b0fd89eabea6da9f1a7d2904241883609c880f5b9333a6f2f9451fa93b6a2af430ba1f15 MISC metadata.xml 2219 BLAKE2B 064f486eecd2a66ef4c9cccef46803f877039bf16bc40b699a48e28e04e816d0ad434ce65ae2e056e1a4126a67a7dd7eff16040276159c1f5aa8966b1c0d7b6c SHA512 522b09ffc2857553e240b1e7c82c11ccc281dd87c720c6292ec9314b91319e0a55ca2838f17e878f5c1e58e4f22caa1b0c3b90506b65b350beff06f3f397d897 diff --git a/www-client/firefox/firefox-107.0.1.ebuild b/www-client/firefox/firefox-107.0.1.ebuild deleted file mode 100644 index e5d25a646f1a..000000000000 --- a/www-client/firefox/firefox-107.0.1.ebuild +++ /dev/null @@ -1,1328 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-107-patches-02j.tar.xz" - -LLVM_MAX_SLOT=15 - -PYTHON_COMPAT=( python3_{8..11} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -MOZ_ESR= - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="${PN%-bin}" -MOZ_P="${MOZ_PN}-${MOZ_PV}" -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" - -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \ - llvm multiprocessing pax-utils python-any-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,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -DESCRIPTION="Firefox Web Browser" -HOMEPAGE="https://www.mozilla.com/firefox" - -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" - -SLOT="rapid" -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" - -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" -IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" -IUSE+=" wayland wifi +X" - -# Firefox-only IUSE -IUSE+=" geckodriver +gmp-autoupdate screencast" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - wifi? ( dbus )" - -# Firefox-only REQUIRED_USE flags -REQUIRED_USE+=" screencast? ( wayland )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - !www-client/firefox:esr - screencast? ( media-video/pipewire:= ) - selinux? ( sec-policy/selinux-mozilla )" -BDEPEND="${PYTHON_DEPS} - || ( - ( - sys-devel/clang:15 - sys-devel/llvm:15 - clang? ( - sys-devel/lld:15 - virtual/rust:0/llvm-15 - pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) - ) - ) - ( - sys-devel/clang:14 - sys-devel/llvm:14 - clang? ( - sys-devel/lld:14 - virtual/rust:0/llvm-14 - pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) - ) - ) - ) - app-arch/unzip - app-arch/zip - >=dev-util/cbindgen-0.24.3 - net-libs/nodejs - virtual/pkgconfig - !clang? ( virtual/rust ) - amd64? ( >=dev-lang/nasm-2.14 ) - x86? ( >=dev-lang/nasm-2.14 ) - pgo? ( - X? ( - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - wayland? ( - >=gui-libs/wlroots-0.15.1-r1[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.84 - >=dev-libs/nspr-4.35 - media-libs/alsa-lib - media-libs/fontconfig - media-libs/freetype - media-libs/mesa - media-video/ffmpeg - sys-libs/zlib - virtual/freedesktop-icon-theme - x11-libs/cairo - x11-libs/gdk-pixbuf - x11-libs/pango - x11-libs/pixman - dbus? ( - dev-libs/dbus-glib - sys-apps/dbus - ) - jack? ( virtual/jack ) - libproxy? ( net-libs/libproxy ) - selinux? ( sec-policy/selinux-mozilla ) - sndio? ( >=media-sound/sndio-1.8.0-r1 ) - screencast? ( media-video/pipewire:= ) - 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-71.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= ) - wayland? ( - >=media-libs/libepoxy-1.5.10-r1 - x11-libs/gtk+:3[wayland] - x11-libs/libdrm - x11-libs/libxkbcommon[wayland] - ) - wifi? ( - kernel_linux? ( - dev-libs/dbus-glib - net-misc/networkmanager - sys-apps/dbus - ) - ) - X? ( - virtual/opengl - x11-libs/cairo[X] - x11-libs/gtk+:3[X] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libxkbcommon[X] - x11-libs/libXrandr - x11-libs/libXtst - x11-libs/libxcb:= - )" -RDEPEND="${COMMON_DEPEND} - jack? ( virtual/jack ) - openh264? ( media-libs/openh264:*[plugin] ) - pulseaudio? ( - || ( - media-sound/pulseaudio - >=media-sound/apulse-0.1.12-r4 - ) - )" -DEPEND="${COMMON_DEPEND} - pulseaudio? ( - || ( - media-sound/pulseaudio - >=media-sound/apulse-0.1.12-r4[sdk] - ) - ) - X? ( - x11-libs/libICE - x11-libs/libSM - )" - -S="${WORKDIR}/${PN}-${PV%_*}" - -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or -# overridden in the enviromnent (advanced hackers only) -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) -fi - -llvm_check_deps() { - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang ; then - if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then - einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use pgo ; then - if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then - einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -# Firefox-only LANGS -MOZ_LANGS+=( ach ) -MOZ_LANGS+=( an ) -MOZ_LANGS+=( az ) -MOZ_LANGS+=( bn ) -MOZ_LANGS+=( bs ) -MOZ_LANGS+=( ca-valencia ) -MOZ_LANGS+=( eo ) -MOZ_LANGS+=( es-CL ) -MOZ_LANGS+=( es-MX ) -MOZ_LANGS+=( fa ) -MOZ_LANGS+=( ff ) -MOZ_LANGS+=( 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+=( sco ) -MOZ_LANGS+=( si ) -MOZ_LANGS+=( son ) -MOZ_LANGS+=( szl ) -MOZ_LANGS+=( ta ) -MOZ_LANGS+=( te ) -MOZ_LANGS+=( tl ) -MOZ_LANGS+=( trs ) -MOZ_LANGS+=( ur ) -MOZ_LANGS+=( xh ) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json \ - || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -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' - - # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work - addpredict /dev/dri - 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}: $@" - "$@" - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- -} - -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_pkg_setup - - if use clang && use lto ; 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 - - # May need a wider addpredict when using wayland+pgo. - addpredict /dev/dri - - # Allow access to GPU during PGO run - local ati_cards mesa_cards nvidia_cards render_cards - shopt -s nullglob - - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') - if [[ -n "${ati_cards}" ]] ; then - addpredict "${ati_cards}" - fi - - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') - if [[ -n "${mesa_cards}" ]] ; then - addpredict "${mesa_cards}" - fi - - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') - if [[ -n "${nvidia_cards}" ]] ; then - addpredict "${nvidia_cards}" - fi - - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') - if [[ -n "${render_cards}" ]] ; then - addpredict "${render_cards}" - fi - - shopt -u nullglob - 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() { - use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch - ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch - 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)" - - # Make LTO respect MAKEOPTS - sed -i \ - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure \ - || die "sed failed to set num_cores" - - # Make ICU respect MAKEOPTS - sed -i \ - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py \ - || die "sed failed to set num_cores" - - # 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 - - # Clearing crate checksums where we have applied patches - moz_clear_vendor_checksums bindgen - - # 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 ..." - if tc-is-gcc; then - have_switched_compiler=yes - fi - AR=llvm-ar - CC=${CHOST}-clang - CXX=${CHOST}-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" - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB 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 - - # Set Gentoo defaults - export MOZILLA_OFFICIAL=1 - - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-gpsd \ - --disable-install-strip \ - --disable-parental-controls \ - --disable-strip \ - --disable-updater \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - if use ppc64; then - mozconfig_add_options_ac '' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - 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 - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - mozconfig_use_enable geckodriver - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - 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 - - 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 - fi - - if use lto ; then - if use clang ; then - # Upstream only supports lld when using clang - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409 - 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 - # This is upstream's default - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - else - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - fi - - # LTO flag was handled via configure - filter-flags '-flto*' - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - else - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # Modifications to better support ARM, bug #553364 - if use cpu_flags_arm_neon ; then - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \ - --with-thumb=yes \ - --with-thumb-interwork=no - fi - fi - - if [[ ${CHOST} == armv*h* ]] ; then - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard - - if ! use system-libvpx ; then - sed -i \ - -e "s|softfp|hard|" \ - "${S}"/media/libvpx/moz.build \ - || die - fi - fi - - if use clang ; then - # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 - # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') - local disable_elf_hack= - if use amd64 ; then - disable_elf_hack=yes - elif use x86 ; then - disable_elf_hack=yes - elif use arm ; then - disable_elf_hack=yes - fi - - if [[ -n ${disable_elf_hack} ]] ; then - mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack - fi - elif tc-is-gcc ; then - if ver_test $(gcc-fullversion) -ge 10 ; then - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." - append-cxxflags -fno-tree-loop-vectorize - fi - fi - - # Additional ARCH support - case "${ARCH}" in - arm) - # Reduce the memory requirements for linking - if use clang ; then - # Nothing to do - :; - elif use lto ; then - append-ldflags -Wl,--no-keep-memory - else - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads - fi - ;; - esac - - if ! use elibc_glibc ; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # Allow elfhack to work in combination with unstripped binaries - # when they would normally be larger than 2GiB. - append-ldflags "-Wl,--compress-debug-sections=zlib" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - if use system-python-libs; then - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" - else - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - 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 - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - 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 - fi - - if ! use gmp-autoupdate ; then - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - einfo "Disabling auto-update for ${plugin} plugin ..." - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" - pref("media.${plugin}.autoupdate", false); - EOF - done - fi - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install geckodriver - if use geckodriver ; then - einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." - pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/geckodriver - - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver - fi - - # Install icons - local icon_srcdir="${S}/browser/branding/official" - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" - local desktop_filename="${PN}.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" \ - || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" \ - || die -} - -pkg_preinst() { - xdg_pkg_preinst - - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse - # does not need to be forced into the LD_LIBRARY_PATH - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - einfo "APULSE found; Generating library symlinks for sound support ..." - local lib - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do - # A quickpkg rolled by hand will grab symlinks as part of the package, - # so we need to avoid creating them if they already exist. - if [[ ! -L ${lib##*/} ]] ; then - ln -s "${lib}" ${lib##*/} || die - fi - done - popd &>/dev/null || die - fi -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - elog "Apulse was detected at merge time on this system and so it will always be" - elog "used for sound. If you wish to use pulseaudio instead please unmerge" - elog "media-sound/apulse." - elog - fi - - local show_doh_information - local show_normandy_information - local show_shortcut_information - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - # New install; Tell user that DoH is disabled by default - show_doh_information=yes - show_normandy_information=yes - show_shortcut_information=no - else - local replacing_version - for replacing_version in ${REPLACING_VERSIONS} ; do - if ver_test "${replacing_version}" -lt 91.0 ; then - # Tell user that we no longer install a shortcut - # per supported display protocol - show_shortcut_information=yes - fi - done - fi - - if [[ -n "${show_doh_information}" ]] ; then - elog - elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" - elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" - elog "DNS traffic to Cloudflare by default is not a good idea and applications" - elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" - elog "(\"Off by choice\") by default." - elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." - fi - - # bug 713782 - if [[ -n "${show_normandy_information}" ]] ; then - elog - elog "Upstream operates a service named Normandy which allows Mozilla to" - elog "push changes for default settings or even install new add-ons remotely." - elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" - elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" - elog "concerns prevail, which is why we have switched off the use of this" - elog "service by default." - elog - elog "To re-enable this service set" - elog - elog " app.normandy.enabled=true" - elog - elog "in about:config." - fi - - if [[ -n "${show_shortcut_information}" ]] ; then - elog - elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" - elog "each supported display protocol. Instead we will only install" - elog "one generic Mozilla ${PN^} shortcut." - elog "If you still want to be able to select between running Mozilla ${PN^}" - elog "on X11 or Wayland, you have to re-create these shortcuts on your own." - 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 - - elog - elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using " - elog "useragent checks. To temporarily fix this, enter about:config and modify " - elog "network.http.useragent.forceVersion preference to \"99\"." - elog "Or install an addon to change your useragent." - elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100" - elog -} diff --git a/www-client/firefox/firefox-108.0.1.ebuild b/www-client/firefox/firefox-108.0.1.ebuild deleted file mode 100644 index 838f3ba06f1b..000000000000 --- a/www-client/firefox/firefox-108.0.1.ebuild +++ /dev/null @@ -1,1330 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-108-patches-03j.tar.xz" - -LLVM_MAX_SLOT=15 - -PYTHON_COMPAT=( python3_{8..11} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -MOZ_ESR= - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="${PN%-bin}" -MOZ_P="${MOZ_PN}-${MOZ_PV}" -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" - -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \ - llvm multiprocessing pax-utils python-any-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,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -DESCRIPTION="Firefox Web Browser" -HOMEPAGE="https://www.mozilla.com/firefox" - -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" - -SLOT="rapid" -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" - -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" -IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" -IUSE+=" wayland wifi +X" - -# Firefox-only IUSE -IUSE+=" geckodriver +gmp-autoupdate screencast" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - wifi? ( dbus )" - -# Firefox-only REQUIRED_USE flags -REQUIRED_USE+=" screencast? ( wayland )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - !www-client/firefox:esr - screencast? ( media-video/pipewire:= ) - selinux? ( sec-policy/selinux-mozilla )" -BDEPEND="${PYTHON_DEPS} - || ( - ( - sys-devel/clang:15 - sys-devel/llvm:15 - clang? ( - sys-devel/lld:15 - virtual/rust:0/llvm-15 - pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) - ) - ) - ( - sys-devel/clang:14 - sys-devel/llvm:14 - clang? ( - sys-devel/lld:14 - virtual/rust:0/llvm-14 - pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) - ) - ) - ) - app-arch/unzip - app-arch/zip - >=dev-util/cbindgen-0.24.3 - net-libs/nodejs - virtual/pkgconfig - !clang? ( virtual/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 - ) - wayland? ( - >=gui-libs/wlroots-0.15.1-r1[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.85 - >=dev-libs/nspr-4.35 - media-libs/alsa-lib - media-libs/fontconfig - media-libs/freetype - media-libs/mesa - media-video/ffmpeg - sys-libs/zlib - virtual/freedesktop-icon-theme - x11-libs/cairo - x11-libs/gdk-pixbuf - x11-libs/pango - x11-libs/pixman - dbus? ( - dev-libs/dbus-glib - sys-apps/dbus - ) - jack? ( virtual/jack ) - libproxy? ( net-libs/libproxy ) - selinux? ( sec-policy/selinux-mozilla ) - sndio? ( >=media-sound/sndio-1.8.0-r1 ) - screencast? ( media-video/pipewire:= ) - 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-71.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= ) - wayland? ( - >=media-libs/libepoxy-1.5.10-r1 - x11-libs/gtk+:3[wayland] - x11-libs/libdrm - x11-libs/libxkbcommon[wayland] - ) - wifi? ( - kernel_linux? ( - dev-libs/dbus-glib - net-misc/networkmanager - sys-apps/dbus - ) - ) - X? ( - virtual/opengl - x11-libs/cairo[X] - x11-libs/gtk+:3[X] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libxkbcommon[X] - x11-libs/libXrandr - x11-libs/libXtst - x11-libs/libxcb:= - )" -RDEPEND="${COMMON_DEPEND} - jack? ( virtual/jack ) - openh264? ( media-libs/openh264:*[plugin] ) - pulseaudio? ( - || ( - media-libs/libpulse - >=media-sound/apulse-0.1.12-r4 - ) - )" -DEPEND="${COMMON_DEPEND} - pulseaudio? ( - || ( - media-libs/libpulse - >=media-sound/apulse-0.1.12-r4[sdk] - ) - ) - X? ( - x11-libs/libICE - x11-libs/libSM - )" - -S="${WORKDIR}/${PN}-${PV%_*}" - -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or -# overridden in the enviromnent (advanced hackers only) -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) -fi - -llvm_check_deps() { - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang ; then - if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then - einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use pgo ; then - if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then - einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -# Firefox-only LANGS -MOZ_LANGS+=( ach ) -MOZ_LANGS+=( an ) -MOZ_LANGS+=( az ) -MOZ_LANGS+=( bn ) -MOZ_LANGS+=( bs ) -MOZ_LANGS+=( ca-valencia ) -MOZ_LANGS+=( eo ) -MOZ_LANGS+=( es-CL ) -MOZ_LANGS+=( es-MX ) -MOZ_LANGS+=( fa ) -MOZ_LANGS+=( ff ) -MOZ_LANGS+=( 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+=( sco ) -MOZ_LANGS+=( si ) -MOZ_LANGS+=( son ) -MOZ_LANGS+=( szl ) -MOZ_LANGS+=( ta ) -MOZ_LANGS+=( te ) -MOZ_LANGS+=( tl ) -MOZ_LANGS+=( trs ) -MOZ_LANGS+=( ur ) -MOZ_LANGS+=( xh ) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json \ - || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -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' - - # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work - addpredict /dev/dri - 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}: $@" - "$@" - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- -} - -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_pkg_setup - - if use clang && use lto ; 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 - - # May need a wider addpredict when using wayland+pgo. - addpredict /dev/dri - - # Allow access to GPU during PGO run - local ati_cards mesa_cards nvidia_cards render_cards - shopt -s nullglob - - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') - if [[ -n "${ati_cards}" ]] ; then - addpredict "${ati_cards}" - fi - - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') - if [[ -n "${mesa_cards}" ]] ; then - addpredict "${mesa_cards}" - fi - - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') - if [[ -n "${nvidia_cards}" ]] ; then - addpredict "${nvidia_cards}" - fi - - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') - if [[ -n "${render_cards}" ]] ; then - addpredict "${render_cards}" - fi - - shopt -u nullglob - 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() { - use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch - ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch - 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)" - - # Make LTO respect MAKEOPTS - sed -i \ - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure \ - || die "sed failed to set num_cores" - - # Make ICU respect MAKEOPTS - sed -i \ - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py \ - || die "sed failed to set num_cores" - - # 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 - - # Clearing crate checksums where we have applied patches - moz_clear_vendor_checksums bindgen - - # 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 ..." - if tc-is-gcc; then - have_switched_compiler=yes - fi - AR=llvm-ar - CC=${CHOST}-clang - CXX=${CHOST}-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" - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB 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 - - # Set Gentoo defaults - export MOZILLA_OFFICIAL=1 - - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-gpsd \ - --disable-install-strip \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - if use ppc64; then - mozconfig_add_options_ac '' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - 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 - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - mozconfig_use_enable geckodriver - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - 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 - - 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 - fi - - if use lto ; then - if use clang ; then - # Upstream only supports lld when using clang - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409 - 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 - # This is upstream's default - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - else - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - fi - - # LTO flag was handled via configure - filter-flags '-flto*' - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - else - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # Modifications to better support ARM, bug #553364 - if use cpu_flags_arm_neon ; then - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \ - --with-thumb=yes \ - --with-thumb-interwork=no - fi - fi - - if [[ ${CHOST} == armv*h* ]] ; then - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard - - if ! use system-libvpx ; then - sed -i \ - -e "s|softfp|hard|" \ - "${S}"/media/libvpx/moz.build \ - || die - fi - fi - - if use clang ; then - # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 - # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') - local disable_elf_hack= - if use amd64 ; then - disable_elf_hack=yes - elif use x86 ; then - disable_elf_hack=yes - elif use arm ; then - disable_elf_hack=yes - fi - - if [[ -n ${disable_elf_hack} ]] ; then - mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack - fi - elif tc-is-gcc ; then - if ver_test $(gcc-fullversion) -ge 10 ; then - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." - append-cxxflags -fno-tree-loop-vectorize - fi - fi - - # Additional ARCH support - case "${ARCH}" in - arm) - # Reduce the memory requirements for linking - if use clang ; then - # Nothing to do - :; - elif use lto ; then - append-ldflags -Wl,--no-keep-memory - else - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads - fi - ;; - esac - - if ! use elibc_glibc ; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # Allow elfhack to work in combination with unstripped binaries - # when they would normally be larger than 2GiB. - append-ldflags "-Wl,--compress-debug-sections=zlib" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - if use system-python-libs; then - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" - else - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - 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 - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - 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 - fi - - if ! use gmp-autoupdate ; then - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - einfo "Disabling auto-update for ${plugin} plugin ..." - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" - pref("media.${plugin}.autoupdate", false); - EOF - done - fi - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install geckodriver - if use geckodriver ; then - einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." - pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/geckodriver - - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver - fi - - # Install icons - local icon_srcdir="${S}/browser/branding/official" - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" - local desktop_filename="${PN}.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" \ - || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" \ - || die -} - -pkg_preinst() { - xdg_pkg_preinst - - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse - # does not need to be forced into the LD_LIBRARY_PATH - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - einfo "APULSE found; Generating library symlinks for sound support ..." - local lib - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do - # A quickpkg rolled by hand will grab symlinks as part of the package, - # so we need to avoid creating them if they already exist. - if [[ ! -L ${lib##*/} ]] ; then - ln -s "${lib}" ${lib##*/} || die - fi - done - popd &>/dev/null || die - fi -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - elog "Apulse was detected at merge time on this system and so it will always be" - elog "used for sound. If you wish to use pulseaudio instead please unmerge" - elog "media-sound/apulse." - elog - fi - - local show_doh_information - local show_normandy_information - local show_shortcut_information - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - # New install; Tell user that DoH is disabled by default - show_doh_information=yes - show_normandy_information=yes - show_shortcut_information=no - else - local replacing_version - for replacing_version in ${REPLACING_VERSIONS} ; do - if ver_test "${replacing_version}" -lt 91.0 ; then - # Tell user that we no longer install a shortcut - # per supported display protocol - show_shortcut_information=yes - fi - done - fi - - if [[ -n "${show_doh_information}" ]] ; then - elog - elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" - elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" - elog "DNS traffic to Cloudflare by default is not a good idea and applications" - elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" - elog "(\"Off by choice\") by default." - elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." - fi - - # bug 713782 - if [[ -n "${show_normandy_information}" ]] ; then - elog - elog "Upstream operates a service named Normandy which allows Mozilla to" - elog "push changes for default settings or even install new add-ons remotely." - elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" - elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" - elog "concerns prevail, which is why we have switched off the use of this" - elog "service by default." - elog - elog "To re-enable this service set" - elog - elog " app.normandy.enabled=true" - elog - elog "in about:config." - fi - - if [[ -n "${show_shortcut_information}" ]] ; then - elog - elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" - elog "each supported display protocol. Instead we will only install" - elog "one generic Mozilla ${PN^} shortcut." - elog "If you still want to be able to select between running Mozilla ${PN^}" - elog "on X11 or Wayland, you have to re-create these shortcuts on your own." - 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 - - elog - elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using " - elog "useragent checks. To temporarily fix this, enter about:config and modify " - elog "network.http.useragent.forceVersion preference to \"99\"." - elog "Or install an addon to change your useragent." - elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100" - elog -} diff --git a/www-client/firefox/firefox-108.0.2.ebuild b/www-client/firefox/firefox-108.0.2.ebuild new file mode 100644 index 000000000000..a231c6540f2f --- /dev/null +++ b/www-client/firefox/firefox-108.0.2.ebuild @@ -0,0 +1,1331 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-108-patches-03j.tar.xz" + +LLVM_MAX_SLOT=15 + +PYTHON_COMPAT=( python3_{8..11} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \ + llvm multiprocessing pax-utils python-any-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,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +SLOT="rapid" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" +IUSE+=" wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" geckodriver +gmp-autoupdate screencast" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" screencast? ( wayland )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + !www-client/firefox:esr + screencast? ( media-video/pipewire:= ) + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + || ( + ( + sys-devel/clang:15 + sys-devel/llvm:15 + clang? ( + sys-devel/lld:15 + virtual/rust:0/llvm-15 + pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) + ) + ) + ( + sys-devel/clang:14 + sys-devel/llvm:14 + clang? ( + sys-devel/lld:14 + virtual/rust:0/llvm-14 + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) + ) + ) + ) + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.24.3 + net-libs/nodejs + virtual/pkgconfig + !clang? ( virtual/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 + ) + wayland? ( + >=gui-libs/wlroots-0.15.1-r1[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.85 + >=dev-libs/nspr-4.35 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-libs/zlib + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/pango + x11-libs/pixman + dbus? ( + dev-libs/dbus-glib + sys-apps/dbus + ) + jack? ( virtual/jack ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + screencast? ( media-video/pipewire:= ) + 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-71.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= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + x11-libs/libdrm + x11-libs/libxkbcommon[wayland] + ) + wifi? ( + kernel_linux? ( + dev-libs/dbus-glib + net-misc/networkmanager + sys-apps/dbus + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon[X] + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4 + ) + )" +DEPEND="${COMMON_DEPEND} + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +S="${WORKDIR}/${PN}-${PV%_*}" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then + einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then + einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( 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+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +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' + + # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work + addpredict /dev/dri + 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}: $@" + "$@" + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- +} + +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_pkg_setup + + if use clang && use lto ; 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 + + # May need a wider addpredict when using wayland+pgo. + addpredict /dev/dri + + # Allow access to GPU during PGO run + local ati_cards mesa_cards nvidia_cards render_cards + shopt -s nullglob + + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') + if [[ -n "${ati_cards}" ]] ; then + addpredict "${ati_cards}" + fi + + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if [[ -n "${mesa_cards}" ]] ; then + addpredict "${mesa_cards}" + fi + + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') + if [[ -n "${nvidia_cards}" ]] ; then + addpredict "${nvidia_cards}" + fi + + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') + if [[ -n "${render_cards}" ]] ; then + addpredict "${render_cards}" + fi + + shopt -u nullglob + 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() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch + 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)" + + # Make LTO respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure \ + || die "sed failed to set num_cores" + + # Make ICU respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py \ + || die "sed failed to set num_cores" + + # 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 + + # Clearing crate checksums where we have applied patches + moz_clear_vendor_checksums bindgen + + # 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 ..." + if tc-is-gcc; then + have_switched_compiler=yes + fi + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-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" + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB 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 + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-gpsd \ + --disable-install-strip \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + if use ppc64; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + 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 + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + mozconfig_use_enable geckodriver + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + 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 + + 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 + fi + + if use lto ; then + if use clang ; then + # Upstream only supports lld when using clang + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409 + 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 + # This is upstream's default + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + else + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + fi + + # LTO flag was handled via configure + filter-flags '-flto*' + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + else + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + if use clang ; then + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') + local disable_elf_hack= + if use amd64 ; then + disable_elf_hack=yes + elif use x86 ; then + disable_elf_hack=yes + elif use arm ; then + disable_elf_hack=yes + fi + + if [[ -n ${disable_elf_hack} ]] ; then + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack + fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc ; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + if use system-python-libs; then + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" + else + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + 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 + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + 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 + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + local show_doh_information + local show_normandy_information + local show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla ${PN^} shortcut." + elog "If you still want to be able to select between running Mozilla ${PN^}" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + 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 + + elog + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using " + elog "useragent checks. To temporarily fix this, enter about:config and modify " + elog "network.http.useragent.forceVersion preference to \"99\"." + elog "Or install an addon to change your useragent." + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100" + elog +} diff --git a/www-client/firefox/firefox-108.0.ebuild b/www-client/firefox/firefox-108.0.ebuild deleted file mode 100644 index 6ce4c9468c19..000000000000 --- a/www-client/firefox/firefox-108.0.ebuild +++ /dev/null @@ -1,1330 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-108-patches-01j.tar.xz" - -LLVM_MAX_SLOT=15 - -PYTHON_COMPAT=( python3_{8..11} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -MOZ_ESR= - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="${PN%-bin}" -MOZ_P="${MOZ_PN}-${MOZ_PV}" -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" - -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \ - llvm multiprocessing pax-utils python-any-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,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -DESCRIPTION="Firefox Web Browser" -HOMEPAGE="https://www.mozilla.com/firefox" - -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" - -SLOT="rapid" -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" - -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" -IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" -IUSE+=" wayland wifi +X" - -# Firefox-only IUSE -IUSE+=" geckodriver +gmp-autoupdate screencast" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - wifi? ( dbus )" - -# Firefox-only REQUIRED_USE flags -REQUIRED_USE+=" screencast? ( wayland )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - !www-client/firefox:esr - screencast? ( media-video/pipewire:= ) - selinux? ( sec-policy/selinux-mozilla )" -BDEPEND="${PYTHON_DEPS} - || ( - ( - sys-devel/clang:15 - sys-devel/llvm:15 - clang? ( - sys-devel/lld:15 - virtual/rust:0/llvm-15 - pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) - ) - ) - ( - sys-devel/clang:14 - sys-devel/llvm:14 - clang? ( - sys-devel/lld:14 - virtual/rust:0/llvm-14 - pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) - ) - ) - ) - app-arch/unzip - app-arch/zip - >=dev-util/cbindgen-0.24.3 - net-libs/nodejs - virtual/pkgconfig - !clang? ( virtual/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 - ) - wayland? ( - >=gui-libs/wlroots-0.15.1-r1[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.85 - >=dev-libs/nspr-4.35 - media-libs/alsa-lib - media-libs/fontconfig - media-libs/freetype - media-libs/mesa - media-video/ffmpeg - sys-libs/zlib - virtual/freedesktop-icon-theme - x11-libs/cairo - x11-libs/gdk-pixbuf - x11-libs/pango - x11-libs/pixman - dbus? ( - dev-libs/dbus-glib - sys-apps/dbus - ) - jack? ( virtual/jack ) - libproxy? ( net-libs/libproxy ) - selinux? ( sec-policy/selinux-mozilla ) - sndio? ( >=media-sound/sndio-1.8.0-r1 ) - screencast? ( media-video/pipewire:= ) - 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-71.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= ) - wayland? ( - >=media-libs/libepoxy-1.5.10-r1 - x11-libs/gtk+:3[wayland] - x11-libs/libdrm - x11-libs/libxkbcommon[wayland] - ) - wifi? ( - kernel_linux? ( - dev-libs/dbus-glib - net-misc/networkmanager - sys-apps/dbus - ) - ) - X? ( - virtual/opengl - x11-libs/cairo[X] - x11-libs/gtk+:3[X] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libxkbcommon[X] - x11-libs/libXrandr - x11-libs/libXtst - x11-libs/libxcb:= - )" -RDEPEND="${COMMON_DEPEND} - jack? ( virtual/jack ) - openh264? ( media-libs/openh264:*[plugin] ) - pulseaudio? ( - || ( - media-sound/pulseaudio - >=media-sound/apulse-0.1.12-r4 - ) - )" -DEPEND="${COMMON_DEPEND} - pulseaudio? ( - || ( - media-sound/pulseaudio - >=media-sound/apulse-0.1.12-r4[sdk] - ) - ) - X? ( - x11-libs/libICE - x11-libs/libSM - )" - -S="${WORKDIR}/${PN}-${PV%_*}" - -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or -# overridden in the enviromnent (advanced hackers only) -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) -fi - -llvm_check_deps() { - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang ; then - if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then - einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use pgo ; then - if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then - einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -# Firefox-only LANGS -MOZ_LANGS+=( ach ) -MOZ_LANGS+=( an ) -MOZ_LANGS+=( az ) -MOZ_LANGS+=( bn ) -MOZ_LANGS+=( bs ) -MOZ_LANGS+=( ca-valencia ) -MOZ_LANGS+=( eo ) -MOZ_LANGS+=( es-CL ) -MOZ_LANGS+=( es-MX ) -MOZ_LANGS+=( fa ) -MOZ_LANGS+=( ff ) -MOZ_LANGS+=( 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+=( sco ) -MOZ_LANGS+=( si ) -MOZ_LANGS+=( son ) -MOZ_LANGS+=( szl ) -MOZ_LANGS+=( ta ) -MOZ_LANGS+=( te ) -MOZ_LANGS+=( tl ) -MOZ_LANGS+=( trs ) -MOZ_LANGS+=( ur ) -MOZ_LANGS+=( xh ) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json \ - || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -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' - - # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work - addpredict /dev/dri - 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}: $@" - "$@" - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- -} - -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_pkg_setup - - if use clang && use lto ; 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 - - # May need a wider addpredict when using wayland+pgo. - addpredict /dev/dri - - # Allow access to GPU during PGO run - local ati_cards mesa_cards nvidia_cards render_cards - shopt -s nullglob - - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') - if [[ -n "${ati_cards}" ]] ; then - addpredict "${ati_cards}" - fi - - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') - if [[ -n "${mesa_cards}" ]] ; then - addpredict "${mesa_cards}" - fi - - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') - if [[ -n "${nvidia_cards}" ]] ; then - addpredict "${nvidia_cards}" - fi - - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') - if [[ -n "${render_cards}" ]] ; then - addpredict "${render_cards}" - fi - - shopt -u nullglob - 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() { - use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch - ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch - 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)" - - # Make LTO respect MAKEOPTS - sed -i \ - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure \ - || die "sed failed to set num_cores" - - # Make ICU respect MAKEOPTS - sed -i \ - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py \ - || die "sed failed to set num_cores" - - # 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 - - # Clearing crate checksums where we have applied patches - moz_clear_vendor_checksums bindgen - - # 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 ..." - if tc-is-gcc; then - have_switched_compiler=yes - fi - AR=llvm-ar - CC=${CHOST}-clang - CXX=${CHOST}-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" - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB 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 - - # Set Gentoo defaults - export MOZILLA_OFFICIAL=1 - - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-gpsd \ - --disable-install-strip \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - if use ppc64; then - mozconfig_add_options_ac '' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - 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 - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - mozconfig_use_enable geckodriver - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - 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 - - 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 - fi - - if use lto ; then - if use clang ; then - # Upstream only supports lld when using clang - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409 - 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 - # This is upstream's default - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - else - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - fi - - # LTO flag was handled via configure - filter-flags '-flto*' - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - else - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # Modifications to better support ARM, bug #553364 - if use cpu_flags_arm_neon ; then - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \ - --with-thumb=yes \ - --with-thumb-interwork=no - fi - fi - - if [[ ${CHOST} == armv*h* ]] ; then - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard - - if ! use system-libvpx ; then - sed -i \ - -e "s|softfp|hard|" \ - "${S}"/media/libvpx/moz.build \ - || die - fi - fi - - if use clang ; then - # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 - # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') - local disable_elf_hack= - if use amd64 ; then - disable_elf_hack=yes - elif use x86 ; then - disable_elf_hack=yes - elif use arm ; then - disable_elf_hack=yes - fi - - if [[ -n ${disable_elf_hack} ]] ; then - mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack - fi - elif tc-is-gcc ; then - if ver_test $(gcc-fullversion) -ge 10 ; then - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." - append-cxxflags -fno-tree-loop-vectorize - fi - fi - - # Additional ARCH support - case "${ARCH}" in - arm) - # Reduce the memory requirements for linking - if use clang ; then - # Nothing to do - :; - elif use lto ; then - append-ldflags -Wl,--no-keep-memory - else - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads - fi - ;; - esac - - if ! use elibc_glibc ; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # Allow elfhack to work in combination with unstripped binaries - # when they would normally be larger than 2GiB. - append-ldflags "-Wl,--compress-debug-sections=zlib" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - if use system-python-libs; then - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" - else - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - 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 - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - 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 - fi - - if ! use gmp-autoupdate ; then - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - einfo "Disabling auto-update for ${plugin} plugin ..." - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" - pref("media.${plugin}.autoupdate", false); - EOF - done - fi - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install geckodriver - if use geckodriver ; then - einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." - pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/geckodriver - - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver - fi - - # Install icons - local icon_srcdir="${S}/browser/branding/official" - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" - local desktop_filename="${PN}.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" \ - || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" \ - || die -} - -pkg_preinst() { - xdg_pkg_preinst - - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse - # does not need to be forced into the LD_LIBRARY_PATH - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - einfo "APULSE found; Generating library symlinks for sound support ..." - local lib - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do - # A quickpkg rolled by hand will grab symlinks as part of the package, - # so we need to avoid creating them if they already exist. - if [[ ! -L ${lib##*/} ]] ; then - ln -s "${lib}" ${lib##*/} || die - fi - done - popd &>/dev/null || die - fi -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - elog "Apulse was detected at merge time on this system and so it will always be" - elog "used for sound. If you wish to use pulseaudio instead please unmerge" - elog "media-sound/apulse." - elog - fi - - local show_doh_information - local show_normandy_information - local show_shortcut_information - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - # New install; Tell user that DoH is disabled by default - show_doh_information=yes - show_normandy_information=yes - show_shortcut_information=no - else - local replacing_version - for replacing_version in ${REPLACING_VERSIONS} ; do - if ver_test "${replacing_version}" -lt 91.0 ; then - # Tell user that we no longer install a shortcut - # per supported display protocol - show_shortcut_information=yes - fi - done - fi - - if [[ -n "${show_doh_information}" ]] ; then - elog - elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" - elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" - elog "DNS traffic to Cloudflare by default is not a good idea and applications" - elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" - elog "(\"Off by choice\") by default." - elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." - fi - - # bug 713782 - if [[ -n "${show_normandy_information}" ]] ; then - elog - elog "Upstream operates a service named Normandy which allows Mozilla to" - elog "push changes for default settings or even install new add-ons remotely." - elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" - elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" - elog "concerns prevail, which is why we have switched off the use of this" - elog "service by default." - elog - elog "To re-enable this service set" - elog - elog " app.normandy.enabled=true" - elog - elog "in about:config." - fi - - if [[ -n "${show_shortcut_information}" ]] ; then - elog - elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" - elog "each supported display protocol. Instead we will only install" - elog "one generic Mozilla ${PN^} shortcut." - elog "If you still want to be able to select between running Mozilla ${PN^}" - elog "on X11 or Wayland, you have to re-create these shortcuts on your own." - 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 - - elog - elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using " - elog "useragent checks. To temporarily fix this, enter about:config and modify " - elog "network.http.useragent.forceVersion preference to \"99\"." - elog "Or install an addon to change your useragent." - elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100" - elog -} diff --git a/www-client/google-chrome-beta/Manifest b/www-client/google-chrome-beta/Manifest index 6c6eb35e4a37..f91e7885c55f 100644 --- a/www-client/google-chrome-beta/Manifest +++ b/www-client/google-chrome-beta/Manifest @@ -1,3 +1,3 @@ -DIST google-chrome-beta_109.0.5414.61-1_amd64.deb 93795260 BLAKE2B 581988aed82b4f2e83770831741bc137781c32548cde3f9e6acd98455c2d04c622ce2aeb330fb05dc5a0e0f4fea34476513f7c5a73dadf6ef45811c0fbe28491 SHA512 05a5a5420497979619e226c7f4165609f2864290196ddc9b21b4b9f70741d41bee8bda2153c42ea987420fe737bdaae2b56bfd326571b91e8e1049bedf694458 -EBUILD google-chrome-beta-109.0.5414.61.ebuild 2872 BLAKE2B d6ed78d15e795542e330f8d605ba1524926aa11fc6dc14547f59204f818194c66e3cc735340c5318a3d6653159a0b7f990a2a53d4ba6b68279d81640d346507a SHA512 3b15baaa9243a7ecaf8b0a5216ad1d33d0d67db37a463fdce9c56c06c7714c1ac88a55f631c4e35fa2fb04dcef13265a04ffb4ac08f515bc1c424dddf699b5b5 +DIST google-chrome-beta_109.0.5414.74-1_amd64.deb 93649004 BLAKE2B 973b0b03a0309df95d03e074a91003fb15021b134389bfd249092aab8b771c7767f70e371e015c43b456b07a3d2664ddd1898b38a70695cf609296cb7af92db9 SHA512 533acbe9fc40d7406729ebe9632510ba3269b7c973a21b3f0add9c19d13a6fb686c75faf6e6d3337dc3451b4c1d0307a7991e8316b79fe132df133e6157e3458 +EBUILD google-chrome-beta-109.0.5414.74.ebuild 2872 BLAKE2B 9643117a41620cd3c953e32c14ce636e6ee81fdfd7112704020af97e843cc09df30115d8612be664cc2db4d890ead759ebd83ebe7c85f948a1234b76047eb7ad SHA512 9299a45facde8b860825af0c020d0f1b69a54b4db393aac444437870fbbae920a69599e23ba1b332383b01b1ef8e9a1aee70cc08dcf7323df15d76bb66579005 MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986 diff --git a/www-client/google-chrome-beta/google-chrome-beta-109.0.5414.61.ebuild b/www-client/google-chrome-beta/google-chrome-beta-109.0.5414.61.ebuild deleted file mode 100644 index a67ba3786d8b..000000000000 --- a/www-client/google-chrome-beta/google-chrome-beta-109.0.5414.61.ebuild +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 2011-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr - sv sw ta te th tr uk ur vi zh-CN zh-TW" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Google" -HOMEPAGE="https://www.google.com/chrome" - -if [[ ${PN} == google-chrome ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -KEYWORDS="-* ~amd64" - -MY_P="${MY_PN}_${PV}-1" - -SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb" - -LICENSE="google-chrome" -SLOT="0" -IUSE="qt5 selinux" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - >=dev-libs/nss-3.26 - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl - net-print/cups - sys-apps/dbus - sys-libs/glibc - sys-libs/libcap - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - || ( - x11-libs/gtk+:3[X] - gui-libs/gtk:4[X] - ) - x11-libs/libdrm - >=x11-libs/libX11-1.5.0 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - selinux? ( sec-policy/selinux-chromium ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop" -S=${WORKDIR} -CHROME_HOME="opt/google/chrome${PN#google-chrome}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "google-chrome only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then - rm usr/share/man/man1/google-chrome.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1 - fi - - pushd "${CHROME_HOME}/locales" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - if ! use qt5; then - rm "${CHROME_HOME}/libqt5_shim.so" || die - fi - - local suffix= - [[ ${PN} == google-chrome-beta ]] && suffix=_beta - [[ ${PN} == google-chrome-unstable ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - pax-mark m "${CHROME_HOME}/chrome" -} diff --git a/www-client/google-chrome-beta/google-chrome-beta-109.0.5414.74.ebuild b/www-client/google-chrome-beta/google-chrome-beta-109.0.5414.74.ebuild new file mode 100644 index 000000000000..0989c02308b9 --- /dev/null +++ b/www-client/google-chrome-beta/google-chrome-beta-109.0.5414.74.ebuild @@ -0,0 +1,128 @@ +# Copyright 2011-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr + sv sw ta te th tr uk ur vi zh-CN zh-TW" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Google" +HOMEPAGE="https://www.google.com/chrome" + +if [[ ${PN} == google-chrome ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +KEYWORDS="-* ~amd64" + +MY_P="${MY_PN}_${PV}-1" + +SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb" + +LICENSE="google-chrome" +SLOT="0" +IUSE="qt5 selinux" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + >=dev-libs/nss-3.26 + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + sys-libs/libcap + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + || ( + x11-libs/gtk+:3[X] + gui-libs/gtk:4[X] + ) + x11-libs/libdrm + >=x11-libs/libX11-1.5.0 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + selinux? ( sec-policy/selinux-chromium ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop" +S=${WORKDIR} +CHROME_HOME="opt/google/chrome${PN#google-chrome}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "google-chrome only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then + rm usr/share/man/man1/google-chrome.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1 + fi + + pushd "${CHROME_HOME}/locales" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + if ! use qt5; then + rm "${CHROME_HOME}/libqt5_shim.so" || die + fi + + local suffix= + [[ ${PN} == google-chrome-beta ]] && suffix=_beta + [[ ${PN} == google-chrome-unstable ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + pax-mark m "${CHROME_HOME}/chrome" +} diff --git a/www-client/microsoft-edge-dev/Manifest b/www-client/microsoft-edge-dev/Manifest index 463310717863..ea426d761fbe 100644 --- a/www-client/microsoft-edge-dev/Manifest +++ b/www-client/microsoft-edge-dev/Manifest @@ -1,7 +1,7 @@ -DIST microsoft-edge-dev_109.0.1518.12-1_amd64.deb 138877934 BLAKE2B 4230f2c762df35ae68f2e6df5a9a169a538ecb8d0be6b61477a3923281ddc96dd0e905407a08dcd160e69c858941e8d54f5c6e2501be754fea52a13979b1b20b SHA512 16eb0747e7d3f73664446b79fc7274d29e42e29b74afde637055432ddc3dd8907b4000933c1dca6bbd7910e40b100641b86daa2cb14787575447bf6cac0c4b05 DIST microsoft-edge-dev_110.0.1543.0-1_amd64.deb 138810898 BLAKE2B 9eed98879ee32ca895ac363d3e4431d0d93e2af34bde10a4d2434b2302eba73677d5573a9a1a782a2d4ff6c38b33521fe79faaefa691b583d3c5352ce1c71e05 SHA512 23cf47804ebca85b74fe8e6e78ce94980d76f7683669dc1261cc685396d59d9b05a674a4e3a648dcb2597e7e34255e62ba440e61b2851fa14b2e3bfdaed77966 DIST microsoft-edge-dev_110.0.1556.0-1_amd64.deb 139213586 BLAKE2B a233bb8820f0519e83b20fca70001c8c0ef83190d8b55f6f3bd66579664924ee987457fa9309bf91c52f408d1b61bea0c4d93052aafd270a9b3f5c9f0f8f76f6 SHA512 c921aff209c57a2c0c4f8b382f3c3e279e02e9f1dbdcadb4e7130db6adf2f9c2a47738c93d0da6e218014e4476e2892ff362d129fc956a2c428a0197109e5be1 -EBUILD microsoft-edge-dev-109.0.1518.12-r1.ebuild 2610 BLAKE2B dc4f3f47b7fbaa1232eecbb32b41e945e89e76ca7f033ec23ecf81e5c2cf3362bd4652c22eefc590f2754cbd3893afe75626f0bdcda1bc24e0d9d804e44cc851 SHA512 19c1325ee3cfec7f21b882cadd3d6c4489ae2e6a4d023e282b4f286952e7d82a2d3fdedf0a49939d2e69d27964f7f36a89f5e646e19fffef6a6c526167fd3bca +DIST microsoft-edge-dev_110.0.1587.1-1_amd64.deb 139465230 BLAKE2B f8fb12cf665199c58d45de5e46d5ae3a8a1dcf833a7286973bef31829c6243f2d4cc98b30b5c0739fc1f7d50d2aabca8aef197e1065ffdab1ace76ee02dcd430 SHA512 f7be89ec12c197a47f1b8221ae61b148bc415ecc82325fedb248babbb4147d3f4aeb95cf0384e6c6a298a5d9b5a72f3bb4e2014a281a0003f0b3accf1c625ff5 EBUILD microsoft-edge-dev-110.0.1543.0-r1.ebuild 2610 BLAKE2B dc4f3f47b7fbaa1232eecbb32b41e945e89e76ca7f033ec23ecf81e5c2cf3362bd4652c22eefc590f2754cbd3893afe75626f0bdcda1bc24e0d9d804e44cc851 SHA512 19c1325ee3cfec7f21b882cadd3d6c4489ae2e6a4d023e282b4f286952e7d82a2d3fdedf0a49939d2e69d27964f7f36a89f5e646e19fffef6a6c526167fd3bca EBUILD microsoft-edge-dev-110.0.1556.0-r1.ebuild 2610 BLAKE2B dc4f3f47b7fbaa1232eecbb32b41e945e89e76ca7f033ec23ecf81e5c2cf3362bd4652c22eefc590f2754cbd3893afe75626f0bdcda1bc24e0d9d804e44cc851 SHA512 19c1325ee3cfec7f21b882cadd3d6c4489ae2e6a4d023e282b4f286952e7d82a2d3fdedf0a49939d2e69d27964f7f36a89f5e646e19fffef6a6c526167fd3bca +EBUILD microsoft-edge-dev-110.0.1587.1.ebuild 2610 BLAKE2B 609795e4a6fc2716b624555212f9ec2038cd17ad0af2133548ac99f63b8fc34733686f3fb845637cdcd589e3bbff7259540fa06c264fb51d23ac6b2570f0a58f SHA512 7cb6604697d8f55a7da5ec1b9a8b49921f0bb62810962c2b8de5f9197b40ab21fd0e2e59daebb7bdea56df8d3549cdcc4bb02bc1b8aea40ca02ebc6bff7a5d1e MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-109.0.1518.12-r1.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-109.0.1518.12-r1.ebuild deleted file mode 100644 index 9c041a631485..000000000000 --- a/www-client/microsoft-edge-dev/microsoft-edge-dev-109.0.1518.12-r1.ebuild +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 2011-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Microsoft" -HOMEPAGE="https://www.microsoft.com/en-us/edge" - -if [[ ${PN} == microsoft-edge ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -KEYWORDS="-* ~amd64" - -MY_P="${MY_PN}_${PV}-1" - -SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" - -LICENSE="microsoft-edge" -SLOT="0" -RESTRICT="bindist mirror strip" -IUSE="+mip qt5" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl[ssl] - net-print/cups - sys-apps/dbus - sys-apps/util-linux - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - mip? ( app-crypt/libsecret ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" -S=${WORKDIR} -EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "microsoft-edge only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -f _gpgorigin || die - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then - rm usr/share/man/man1/${PN}.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 - fi - - local suffix= - [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta - [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - if ! use mip; then - rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die - fi - - if ! use qt5; then - rm "${EDGE_HOME}/libqt5_shim.so" || die - fi - - pax-mark m "${EDGE_HOME}/msedge" -} diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-110.0.1587.1.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-110.0.1587.1.ebuild new file mode 100644 index 000000000000..ebc23fabaa28 --- /dev/null +++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-110.0.1587.1.ebuild @@ -0,0 +1,123 @@ +# Copyright 2011-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Microsoft" +HOMEPAGE="https://www.microsoft.com/en-us/edge" + +if [[ ${PN} == microsoft-edge ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +KEYWORDS="-* ~amd64" + +MY_P="${MY_PN}_${PV}-1" + +SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" + +LICENSE="microsoft-edge" +SLOT="0" +RESTRICT="bindist mirror strip" +IUSE="+mip qt5" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl[ssl] + net-print/cups + sys-apps/dbus + sys-apps/util-linux + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + mip? ( app-crypt/libsecret ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" +S=${WORKDIR} +EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "microsoft-edge only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -f _gpgorigin || die + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then + rm usr/share/man/man1/${PN}.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 + fi + + local suffix= + [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta + [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + if ! use mip; then + rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die + fi + + if ! use qt5; then + rm "${EDGE_HOME}/libqt5_shim.so" || die + fi + + pax-mark m "${EDGE_HOME}/msedge" +} -- cgit v1.2.3