summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-03-24 19:16:39 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-03-24 19:16:39 +0000
commitcee0d6c25c93cd5692a3703f9b4ab679a9dc16b1 (patch)
tree5863902e98eede2b898ab58f0d3191dfeeb320d3
parent6072f8561ab9bac3afef70c3d2eded878700f382 (diff)
downloadbaldeagleos-repo-cee0d6c25c93cd5692a3703f9b4ab679a9dc16b1.tar.gz
baldeagleos-repo-cee0d6c25c93cd5692a3703f9b4ab679a9dc16b1.tar.xz
baldeagleos-repo-cee0d6c25c93cd5692a3703f9b4ab679a9dc16b1.zip
Adding metadata
-rw-r--r--app-i18n/fcitx-chewing/Manifest1
-rw-r--r--app-i18n/fcitx-chewing/fcitx-chewing-5.1.11.ebuild36
-rw-r--r--app-i18n/fcitx-chinese-addons/Manifest1
-rw-r--r--app-i18n/fcitx-chinese-addons/fcitx-chinese-addons-5.1.12.ebuild50
-rw-r--r--app-i18n/fcitx-configtool/Manifest1
-rw-r--r--app-i18n/fcitx-configtool/fcitx-configtool-5.1.13.ebuild71
-rw-r--r--app-i18n/fcitx-hangul/Manifest1
-rw-r--r--app-i18n/fcitx-hangul/fcitx-hangul-5.1.9.ebuild31
-rw-r--r--app-i18n/fcitx-lua/Manifest1
-rw-r--r--app-i18n/fcitx-lua/fcitx-lua-5.0.16.ebuild45
-rw-r--r--app-i18n/fcitx-m17n/Manifest1
-rw-r--r--app-i18n/fcitx-m17n/fcitx-m17n-5.1.6.ebuild38
-rw-r--r--app-i18n/fcitx-qt/Manifest1
-rw-r--r--app-i18n/fcitx-qt/fcitx-qt-5.1.13.ebuild71
-rw-r--r--app-i18n/fcitx-rime/Manifest1
-rw-r--r--app-i18n/fcitx-rime/fcitx-rime-5.1.13.ebuild30
-rw-r--r--app-i18n/fcitx-sayura/Manifest2
-rw-r--r--app-i18n/fcitx-sayura/fcitx-sayura-5.1.6.ebuild (renamed from app-i18n/fcitx-sayura/fcitx-sayura-5.1.3.ebuild)6
-rw-r--r--app-i18n/fcitx-sayura/files/fcitx-sayura-fix-cmake-4.patch12
-rw-r--r--app-i18n/fcitx-table-extra/Manifest3
-rw-r--r--app-i18n/fcitx-table-extra/fcitx-table-extra-5.1.11.ebuild (renamed from app-i18n/fcitx-table-extra/fcitx-table-extra-5.1.9.ebuild)2
-rw-r--r--app-i18n/fcitx-table-extra/fcitx-table-extra-5.1.7.ebuild28
-rw-r--r--app-i18n/fcitx-table-other/Manifest2
-rw-r--r--app-i18n/fcitx-table-other/fcitx-table-other-5.1.6.ebuild (renamed from app-i18n/fcitx-table-other/fcitx-table-other-5.1.4.ebuild)4
-rw-r--r--app-i18n/fcitx-unikey/Manifest2
-rw-r--r--app-i18n/fcitx-unikey/fcitx-unikey-5.1.10.ebuild (renamed from app-i18n/fcitx-unikey/fcitx-unikey-5.1.6-r1.ebuild)5
-rw-r--r--app-i18n/fcitx/Manifest1
-rw-r--r--app-i18n/fcitx/fcitx-5.1.19.ebuild131
-rw-r--r--app-i18n/fcitx/metadata.xml1
-rw-r--r--app-i18n/libime/Manifest1
-rw-r--r--app-i18n/libime/libime-1.1.14.ebuild53
-rw-r--r--app-office/joplin-desktop/Manifest1
-rw-r--r--app-office/joplin-desktop/joplin-desktop-3.6.6.ebuild104
-rw-r--r--dev-lang/algol68g/Manifest1
-rw-r--r--dev-lang/algol68g/algol68g-3.11.0.ebuild42
-rw-r--r--dev-lang/kotlin-bin/Manifest3
-rw-r--r--dev-lang/kotlin-bin/kotlin-bin-2.3.0.ebuild59
-rw-r--r--dev-lang/kotlin-bin/kotlin-bin-2.3.20.ebuild (renamed from dev-lang/kotlin-bin/kotlin-bin-2.2.21.ebuild)3
-rw-r--r--dev-lang/typescript/Manifest1
-rw-r--r--dev-lang/typescript/typescript-5.9.2.ebuild43
-rw-r--r--dev-libs/yoga/Manifest1
-rw-r--r--dev-libs/yoga/files/yoga-3.2.1-fix-tests.patch59
-rw-r--r--dev-libs/yoga/metadata.xml18
-rw-r--r--dev-libs/yoga/yoga-3.2.1.ebuild36
-rw-r--r--dev-ml/ocaml-markdown/Manifest1
-rw-r--r--dev-ml/ocaml-markdown/metadata.xml12
-rw-r--r--dev-ml/ocaml-markdown/ocaml-markdown-0.2.1.ebuild46
-rw-r--r--dev-python/deepdiff/deepdiff-8.6.1.ebuild3
-rw-r--r--dev-python/deepdiff/deepdiff-8.6.2.ebuild1
-rw-r--r--dev-python/redis/redis-7.1.1.ebuild1
-rw-r--r--dev-python/sip/Manifest1
-rw-r--r--dev-python/sip/sip-6.15.3.ebuild48
-rw-r--r--dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260323.ebuild4
-rw-r--r--dev-qt/qtdeclarative/qtdeclarative-6.10.9999.ebuild7
-rw-r--r--media-gfx/krita/Manifest3
-rw-r--r--media-gfx/krita/krita-6.0.0.ebuild (renamed from media-gfx/krita/krita-6.0.0_beta3-r1.ebuild)7
-rw-r--r--media-plugins/obs-move-transition/Manifest2
-rw-r--r--media-plugins/obs-move-transition/obs-move-transition-3.2.1.ebuild (renamed from media-plugins/obs-move-transition/obs-move-transition-3.2.0.ebuild)0
-rw-r--r--media-plugins/obs-source-clone/Manifest2
-rw-r--r--media-plugins/obs-source-clone/obs-source-clone-0.2.3.ebuild (renamed from media-plugins/obs-source-clone/obs-source-clone-0.2.0.ebuild)2
-rw-r--r--media-plugins/obs-source-dock/Manifest2
-rw-r--r--media-plugins/obs-source-dock/obs-source-dock-0.5.1.ebuild (renamed from media-plugins/obs-source-dock/obs-source-dock-0.5.0.ebuild)2
-rw-r--r--media-plugins/obs-source-record/Manifest2
-rw-r--r--media-plugins/obs-source-record/obs-source-record-0.4.7.ebuild (renamed from media-plugins/obs-source-record/obs-source-record-0.4.6.ebuild)2
-rw-r--r--media-plugins/obs-vkcapture/Manifest2
-rw-r--r--media-plugins/obs-vkcapture/obs-vkcapture-1.5.5.ebuild (renamed from media-plugins/obs-vkcapture/obs-vkcapture-1.5.3-r1.ebuild)0
-rw-r--r--metadata/md5-cache/app-i18n/fcitx-5.1.1918
-rw-r--r--metadata/md5-cache/app-i18n/fcitx-chewing-5.1.1117
-rw-r--r--metadata/md5-cache/app-i18n/fcitx-chinese-addons-5.1.1218
-rw-r--r--metadata/md5-cache/app-i18n/fcitx-configtool-5.1.1316
-rw-r--r--metadata/md5-cache/app-i18n/fcitx-hangul-5.1.9 (renamed from metadata/md5-cache/app-i18n/fcitx-table-extra-5.1.7)16
-rw-r--r--metadata/md5-cache/app-i18n/fcitx-lua-5.0.1618
-rw-r--r--metadata/md5-cache/app-i18n/fcitx-m17n-5.1.616
-rw-r--r--metadata/md5-cache/app-i18n/fcitx-qt-5.1.1316
-rw-r--r--metadata/md5-cache/app-i18n/fcitx-rime-5.1.1315
-rw-r--r--metadata/md5-cache/app-i18n/fcitx-sayura-5.1.6 (renamed from metadata/md5-cache/app-i18n/fcitx-sayura-5.1.3)4
-rw-r--r--metadata/md5-cache/app-i18n/fcitx-table-extra-5.1.11 (renamed from metadata/md5-cache/app-i18n/fcitx-table-extra-5.1.9)4
-rw-r--r--metadata/md5-cache/app-i18n/fcitx-table-other-5.1.6 (renamed from metadata/md5-cache/app-i18n/fcitx-table-other-5.1.4)6
-rw-r--r--metadata/md5-cache/app-i18n/fcitx-unikey-5.1.10 (renamed from metadata/md5-cache/app-i18n/fcitx-unikey-5.1.6-r1)8
-rw-r--r--metadata/md5-cache/app-i18n/libime-1.1.1416
-rw-r--r--metadata/md5-cache/app-office/joplin-desktop-3.6.614
-rw-r--r--metadata/md5-cache/dev-lang/kotlin-bin-2.3.014
-rw-r--r--metadata/md5-cache/dev-lang/kotlin-bin-2.3.20 (renamed from metadata/md5-cache/dev-lang/kotlin-bin-2.2.21)6
-rw-r--r--metadata/md5-cache/dev-lang/typescript-5.9.211
-rw-r--r--metadata/md5-cache/dev-libs/yoga-3.2.114
-rw-r--r--metadata/md5-cache/dev-ml/ocaml-markdown-0.2.116
-rw-r--r--metadata/md5-cache/dev-python/deepdiff-8.6.14
-rw-r--r--metadata/md5-cache/dev-python/deepdiff-8.6.24
-rw-r--r--metadata/md5-cache/dev-python/redis-7.1.14
-rw-r--r--metadata/md5-cache/dev-python/sip-6.15.316
-rw-r--r--metadata/md5-cache/dev-python/types-python-dateutil-2.9.0.202603234
-rw-r--r--metadata/md5-cache/dev-qt/qtdeclarative-6.10.99992
-rw-r--r--metadata/md5-cache/media-gfx/krita-6.0.0 (renamed from metadata/md5-cache/media-gfx/krita-6.0.0_beta3-r1)4
-rw-r--r--metadata/md5-cache/media-plugins/obs-move-transition-3.2.1 (renamed from metadata/md5-cache/media-plugins/obs-move-transition-3.2.0)2
-rw-r--r--metadata/md5-cache/media-plugins/obs-source-clone-0.2.3 (renamed from metadata/md5-cache/media-plugins/obs-source-clone-0.2.0)4
-rw-r--r--metadata/md5-cache/media-plugins/obs-source-dock-0.5.1 (renamed from metadata/md5-cache/media-plugins/obs-source-dock-0.5.0)4
-rw-r--r--metadata/md5-cache/media-plugins/obs-source-record-0.4.7 (renamed from metadata/md5-cache/media-plugins/obs-source-record-0.4.6)4
-rw-r--r--metadata/md5-cache/media-plugins/obs-vkcapture-1.5.5 (renamed from metadata/md5-cache/media-plugins/obs-vkcapture-1.5.3-r1)2
-rw-r--r--metadata/md5-cache/net-firewall/xtables-addons-3.294
-rw-r--r--metadata/md5-cache/net-im/element-desktop-1.12.1317
-rw-r--r--metadata/md5-cache/net-misc/rclone-1.73.313
-rw-r--r--metadata/md5-cache/sci-libs/arprec-2.2.204
-rw-r--r--metadata/md5-cache/sci-libs/cgnslib-4.5.117
-rw-r--r--metadata/md5-cache/sci-libs/clblast-1.5.317
-rw-r--r--metadata/md5-cache/sci-mathematics/easycrypt-2026.0315
-rw-r--r--metadata/md5-cache/sys-apps/hexyl-0.17.09
-rw-r--r--metadata/md5-cache/sys-apps/pandora_box-0.20.013
-rw-r--r--metadata/md5-cache/sys-apps/syd-3.51.016
-rw-r--r--metadata/md5-cache/www-apps/chromedriver-bin-144.0.7559.13212
-rw-r--r--metadata/md5-cache/www-apps/chromedriver-bin-145.0.7632.15912
-rw-r--r--metadata/md5-cache/www-apps/chromedriver-bin-146.0.7680.165 (renamed from metadata/md5-cache/www-apps/chromedriver-bin-146.0.7680.164)2
-rw-r--r--metadata/md5-cache/www-client/chromium-145.0.7632.1594
-rw-r--r--metadata/md5-cache/www-client/chromium-146.0.7680.15317
-rw-r--r--metadata/md5-cache/www-client/chromium-146.0.7680.1646
-rw-r--r--metadata/md5-cache/www-client/chromium-146.0.7680.8017
-rw-r--r--metadata/md5-cache/www-client/firefox-140.9.018
-rw-r--r--metadata/md5-cache/www-client/firefox-149.019
-rw-r--r--metadata/md5-cache/www-client/firefox-bin-140.9.016
-rw-r--r--metadata/md5-cache/www-client/firefox-l10n-149.012
-rw-r--r--net-firewall/xtables-addons/xtables-addons-3.29.ebuild4
-rw-r--r--net-im/element-desktop/Manifest1
-rw-r--r--net-im/element-desktop/element-desktop-1.12.13.ebuild215
-rw-r--r--net-misc/rclone/Manifest2
-rw-r--r--net-misc/rclone/rclone-1.73.3.ebuild76
-rw-r--r--profiles/package.mask/00-gentoo1
-rw-r--r--sci-libs/arprec/arprec-2.2.20.ebuild14
-rw-r--r--sci-libs/cgnslib/Manifest1
-rw-r--r--sci-libs/cgnslib/cgnslib-4.5.1.ebuild111
-rw-r--r--sci-libs/clblast/Manifest1
-rw-r--r--sci-libs/clblast/clblast-1.5.3.ebuild66
-rw-r--r--sci-mathematics/easycrypt/Manifest1
-rw-r--r--sci-mathematics/easycrypt/easycrypt-2026.03.ebuild52
-rw-r--r--sys-apps/hexyl/hexyl-0.17.0.ebuild26
-rw-r--r--sys-apps/hexyl/metadata.xml6
-rw-r--r--sys-apps/pandora_box/Manifest2
-rw-r--r--sys-apps/pandora_box/pandora_box-0.20.0.ebuild35
-rw-r--r--sys-apps/syd/Manifest2
-rw-r--r--sys-apps/syd/syd-3.51.0.ebuild76
-rw-r--r--www-apps/chromedriver-bin/Manifest4
-rw-r--r--www-apps/chromedriver-bin/chromedriver-bin-144.0.7559.132.ebuild28
-rw-r--r--www-apps/chromedriver-bin/chromedriver-bin-145.0.7632.159.ebuild28
-rw-r--r--www-apps/chromedriver-bin/chromedriver-bin-146.0.7680.165.ebuild (renamed from www-apps/chromedriver-bin/chromedriver-bin-146.0.7680.164.ebuild)0
-rw-r--r--www-client/chromium/Manifest5
-rw-r--r--www-client/chromium/chromium-145.0.7632.159.ebuild2
-rw-r--r--www-client/chromium/chromium-146.0.7680.153.ebuild1744
-rw-r--r--www-client/chromium/chromium-146.0.7680.164.ebuild32
-rw-r--r--www-client/chromium/chromium-146.0.7680.80.ebuild1744
-rw-r--r--www-client/firefox-bin/Manifest100
-rw-r--r--www-client/firefox-bin/firefox-bin-140.9.0.ebuild361
-rw-r--r--www-client/firefox-l10n/Manifest100
-rw-r--r--www-client/firefox-l10n/firefox-l10n-149.0.ebuild180
-rw-r--r--www-client/firefox-l10n/metadata.xml10
-rw-r--r--www-client/firefox/Manifest105
-rw-r--r--www-client/firefox/firefox-140.9.0.ebuild1393
-rw-r--r--www-client/firefox/firefox-149.0.ebuild1385
155 files changed, 5740 insertions, 3904 deletions
diff --git a/app-i18n/fcitx-chewing/Manifest b/app-i18n/fcitx-chewing/Manifest
index c091a1d82481..fec096eef2f2 100644
--- a/app-i18n/fcitx-chewing/Manifest
+++ b/app-i18n/fcitx-chewing/Manifest
@@ -1 +1,2 @@
DIST fcitx-chewing-5.1.10.tar.zst 35978 BLAKE2B 98ebcdbe6560f567929f36bd10d782f9abcfb4934b1d0cb321a39577b701d5cb5d0f94dce0d98bd89f041ceb17a04df499999234d48725d96ca033e686333494 SHA512 3dacd597be3625eb462171e9c0db406d3fe54721e7ea6689f5c1ba326cef08fa72a6fc6ce2935c1b32ce2d62f4a5bab956d87668e7835b9e1d12386e5eb98042
+DIST fcitx-chewing-5.1.11.tar.zst 36878 BLAKE2B 04f7440c0284df764347b8e17adc97b619ca929cfe953c741abaff362d1ae1a23b2ccbf682034aa5833d0a791589de8b84df9a27ad7439bc9b8a455937a6f7ca SHA512 1f571a69309fa801be059342c26613f70e848ccf42be3ceae578ff0d7e967e17f457d0fa801011f9fe04b4122a375be24cc37ac15892e3debb2a30b0a0513a3d
diff --git a/app-i18n/fcitx-chewing/fcitx-chewing-5.1.11.ebuild b/app-i18n/fcitx-chewing/fcitx-chewing-5.1.11.ebuild
new file mode 100644
index 000000000000..d2b86700d8b8
--- /dev/null
+++ b/app-i18n/fcitx-chewing/fcitx-chewing-5.1.11.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="fcitx5-chewing"
+
+inherit cmake unpacker xdg
+
+DESCRIPTION="Chewing Wrapper for Fcitx."
+HOMEPAGE="https://github.com/fcitx/fcitx5-chewing"
+SRC_URI="https://download.fcitx-im.org/fcitx5/${MY_PN}/${MY_PN}-${PV}.tar.zst -> ${P}.tar.zst"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="LGPL-2.1+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !app-i18n/fcitx-chewing:4
+ >=app-i18n/fcitx-5.1.13:5
+ >=app-i18n/libchewing-0.5.0
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_TEST=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/app-i18n/fcitx-chinese-addons/Manifest b/app-i18n/fcitx-chinese-addons/Manifest
index fd4889d89cc7..70ab4e8d6ffd 100644
--- a/app-i18n/fcitx-chinese-addons/Manifest
+++ b/app-i18n/fcitx-chinese-addons/Manifest
@@ -1 +1,2 @@
DIST fcitx5-chinese-addons-5.1.11_dict.tar.zst 1020827 BLAKE2B 6d44c41ea6858fe9516eafbb7e3166cf9bfca6153e9f81631275d442a6ae35596cd70faf6968ffc5bbcb72972f840a13fcf747e177ab0bf7c38e85121c388538 SHA512 30c5a8ff6354c46eceaa541b83b81b6e8c325f9695fbfa4e96837ecd80cda0d9ca3c0de3c9c841bf98734937459f4c5ec5eeb01ca2fa0b6fccef0cfff39d8f9e
+DIST fcitx5-chinese-addons-5.1.12_dict.tar.zst 1023851 BLAKE2B 3c3ab3ff9f569c7e746fa9b7cc0d00e50db932848d0ffe8498a7cda3e83ed2bb379bb5892f75354b4d24d03d35bc45d70009ce1dcbe8bb282c8fb28717e05dc6 SHA512 15551ad121acfe1568fc034739b58ec05a5126ffff84b1cc91064174b7a8d6d5990c0ad10478032d487f46d91c2c7886d6df0e6a2441f90bf868b97ef12c6680
diff --git a/app-i18n/fcitx-chinese-addons/fcitx-chinese-addons-5.1.12.ebuild b/app-i18n/fcitx-chinese-addons/fcitx-chinese-addons-5.1.12.ebuild
new file mode 100644
index 000000000000..ca30e2a4f5ce
--- /dev/null
+++ b/app-i18n/fcitx-chinese-addons/fcitx-chinese-addons-5.1.12.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="fcitx5-chinese-addons"
+inherit cmake unpacker xdg
+
+DESCRIPTION="Addons related to Chinese, including IME previous bundled inside fcitx4"
+HOMEPAGE="https://github.com/fcitx/fcitx5-chinese-addons"
+SRC_URI="https://download.fcitx-im.org/fcitx5/${MY_PN}/${MY_PN}-${PV}_dict.tar.zst"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-2+ LGPL-2+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="+cloudpinyin +data +gui lua +opencc test webengine"
+REQUIRED_USE="webengine? ( gui )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-i18n/fcitx-5.1.13:5
+ >=app-i18n/libime-1.1.13:5[data?]
+ >=dev-libs/boost-1.61:=
+ cloudpinyin? ( net-misc/curl )
+ gui? (
+ >=app-i18n/fcitx-qt-5.1.4:5[qt6(+),-onlyplugin]
+ dev-qt/qtbase:6[concurrent,gui,network,widgets]
+ webengine? ( dev-qt/qtwebengine:6[widgets] )
+ )
+ lua? ( app-i18n/fcitx-lua:5 )
+ opencc? ( app-i18n/opencc:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ kde-frameworks/extra-cmake-modules:0
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_BROWSER=$(usex webengine)
+ -DENABLE_CLOUDPINYIN=$(usex cloudpinyin)
+ -DENABLE_DATA=$(usex data)
+ -DENABLE_GUI=$(usex gui)
+ -DENABLE_OPENCC=$(usex opencc)
+ -DENABLE_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/app-i18n/fcitx-configtool/Manifest b/app-i18n/fcitx-configtool/Manifest
index a914315600f9..10f392c080e5 100644
--- a/app-i18n/fcitx-configtool/Manifest
+++ b/app-i18n/fcitx-configtool/Manifest
@@ -1 +1,2 @@
DIST fcitx-configtool-5.1.12.tar.zst 145960 BLAKE2B d6109636e1eeb2e83f944be5d81f294210e20bad78ab138c0908a997b004824bbb7c862e38185d914bf53ad739ff2e65de1ee175f77abecce6f73c54d34a37b9 SHA512 bc0c2fa4fe4616f65c32f347260381a63a16dcba9c05065d81f2aa646f92154acea7324573de594e7cb4d5e8781f5e0b5a1f9385bd9038756829e96f3f6676de
+DIST fcitx-configtool-5.1.13.tar.zst 150555 BLAKE2B cf519aeb3a603bd95d5ebbc91aff62ea0bc9969f173042f927113c66ec1c2937dc2875a353b4088ed7935d760154e85e663507ea8b2cb418e260cd3c4b7e10c6 SHA512 4f2ae44936379a060ed0c6416d489e7d4585079ae66d85a5c85f01a5feb33c686a4136d4acc04d8a1a890ecbe51fd296b132d7486c8e54f1d53625269135ef5f
diff --git a/app-i18n/fcitx-configtool/fcitx-configtool-5.1.13.ebuild b/app-i18n/fcitx-configtool/fcitx-configtool-5.1.13.ebuild
new file mode 100644
index 000000000000..6f03e95929fa
--- /dev/null
+++ b/app-i18n/fcitx-configtool/fcitx-configtool-5.1.13.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="fcitx5-configtool"
+
+inherit cmake unpacker
+
+DESCRIPTION="Configuration module for Fcitx"
+HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx5-configtool"
+SRC_URI="https://download.fcitx-im.org/fcitx5/${MY_PN}/${MY_PN}-${PV}.tar.zst -> ${P}.tar.zst"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-2+"
+SLOT="5"
+KEYWORDS="~amd64 ~loong"
+IUSE="kcm +config-qt test X"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-i18n/fcitx-5.1.13:5
+ >=app-i18n/fcitx-qt-5.1.4:5[qt6(+),-onlyplugin]
+ app-text/iso-codes
+ dev-qt/qtbase:6[concurrent,dbus,gui,widgets]
+ dev-qt/qtsvg:6
+ kde-frameworks/kwidgetsaddons:6
+ sys-devel/gettext
+ virtual/libintl
+ X? (
+ x11-libs/libX11
+ x11-misc/xkeyboard-config
+ )
+ config-qt? ( kde-frameworks/kitemviews:6 )
+ kcm? (
+ dev-qt/qtdeclarative:6
+ kde-frameworks/kcoreaddons:6
+ kde-frameworks/kdeclarative:6
+ kde-frameworks/ki18n:6
+ kde-frameworks/kiconthemes:6
+ kde-frameworks/kirigami:6
+ kde-frameworks/kpackage:6
+ kde-frameworks/ksvg:6
+ kde-frameworks/kcmutils:6
+ kde-plasma/libplasma:6=
+ x11-libs/libxkbcommon
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ $(unpacker_src_uri_depends)
+ kde-frameworks/extra-cmake-modules:0
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-make-x11-dependencies-optional.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=yes
+ -DENABLE_KCM=$(usex kcm)
+ -DENABLE_CONFIG_QT=$(usex config-qt)
+ -DENABLE_X11=$(usex X)
+ -DENABLE_TEST=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/app-i18n/fcitx-hangul/Manifest b/app-i18n/fcitx-hangul/Manifest
index e2c7901ec9db..e6bfebfe9d32 100644
--- a/app-i18n/fcitx-hangul/Manifest
+++ b/app-i18n/fcitx-hangul/Manifest
@@ -1 +1,2 @@
DIST fcitx5-hangul-5.1.8.tar.zst 50346 BLAKE2B 59b55f36456b58a7bb20ec0a7230522519a981a87d753c838e955a0e8e8d832d25d8a81e39a846a82f699a1146993cf136224c53a8561b75dfdfa8b9110a1c7e SHA512 bb04cb2586ca5582eb3ffb3a37a2a415bba083e25d871a8136ca2466fce1d49e154c114f9869d9c6d1e2f50977e05f330f47386cc61dd2fd5ee03e2803ff5faa
+DIST fcitx5-hangul-5.1.9.tar.zst 50924 BLAKE2B 4e325a764c91c97c32ef35b41c21b3dd3531792beed035b9b29dbf53df2bf0634cca6156b60942777015261cf2cfceda91695067ca06217c87be9a7f36f18f97 SHA512 1254b8871e403b0fabec976c2aab34b5aabedddbcade94819e013b3c41e5fd9a2052ad13e2affc9c75f64ec3d5a78e44037091960c91183e3fc15c5972fcfb33
diff --git a/app-i18n/fcitx-hangul/fcitx-hangul-5.1.9.ebuild b/app-i18n/fcitx-hangul/fcitx-hangul-5.1.9.ebuild
new file mode 100644
index 000000000000..bc3053444813
--- /dev/null
+++ b/app-i18n/fcitx-hangul/fcitx-hangul-5.1.9.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="fcitx5-hangul"
+
+inherit cmake unpacker xdg
+
+DESCRIPTION="Korean Hangul input method for Fcitx"
+HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx5-hangul"
+SRC_URI="https://download.fcitx-im.org/fcitx5/${MY_PN}/${MY_PN}-${PV}.tar.zst"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+LICENSE="LGPL-2.1+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+
+DEPEND="
+ !app-i18n/fcitx-hangul:4
+ >=app-i18n/fcitx-5.1.13:5
+ >=app-i18n/libhangul-0.0.12
+ virtual/libiconv
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ kde-frameworks/extra-cmake-modules:0
+ virtual/pkgconfig
+"
+
+DOCS=( AUTHORS )
diff --git a/app-i18n/fcitx-lua/Manifest b/app-i18n/fcitx-lua/Manifest
index ac2e9d1c7fb0..4e2ba35aeca2 100644
--- a/app-i18n/fcitx-lua/Manifest
+++ b/app-i18n/fcitx-lua/Manifest
@@ -1,2 +1,3 @@
DIST fcitx-lua-5.0.14.tar.zst 40916 BLAKE2B bd69c015af2c386ca3574d7176e76713f468ba68c4b8fc1369be293730c20ff31cccc5ff12a9379c9d16233bae7b16a968954cf5fc2b406400e95ec0cff0f3fb SHA512 87b8fc3e8d41d08e83281140a905fa63f4b927ee8355b2e7c4d06b862cc08d35b6c39d5d8116c90dc47cbc0e046ae0b98086fea1b019d2eb140dcbfa6eec4b28
DIST fcitx-lua-5.0.15.tar.zst 40964 BLAKE2B 3d7475026fd0f263a1041d1f34ff14d1b4d4394797962bed78c676921c47ed9d23cb26ae2d04d10729ca127cb1db20c511b228d7dd1013f49d4cb057a19ea410 SHA512 fc7d979022294ed9b62a3b804312ba3c4bfa27452c5bd357170d68505a25f3b637c510c90c27f5f11532170cb6910c79b32d3004ee3f25b99583fa7c4a940929
+DIST fcitx-lua-5.0.16.tar.zst 41326 BLAKE2B a41d5979e87a321002bc745ee27eb2b632bce2870a952cd6384b0a3c1dd1d3c417b18b7873d527977b2edb7d8068fa42b3e115d9ddca26f7197764ec1690caf1 SHA512 ae6e4570344705dd825961c2a7aa76eaa5dea6342f5262f4dc99957d212f59b06707a2e808fae9c25c8cc747134a573e667b7ccd95f0f50e18af849580dc7c96
diff --git a/app-i18n/fcitx-lua/fcitx-lua-5.0.16.ebuild b/app-i18n/fcitx-lua/fcitx-lua-5.0.16.ebuild
new file mode 100644
index 000000000000..638e34a5c26d
--- /dev/null
+++ b/app-i18n/fcitx-lua/fcitx-lua-5.0.16.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+MY_PN="fcitx5-lua"
+
+inherit cmake lua-single xdg unpacker
+
+DESCRIPTION="Lua support for fcitx"
+HOMEPAGE="https://github.com/fcitx/fcitx5-lua"
+SRC_URI="https://download.fcitx-im.org/fcitx5/${MY_PN}/${MY_PN}-${PV}.tar.zst -> ${P}.tar.zst"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+LICENSE="LGPL-2.1+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="+dlopen test"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ${LUA_DEPS}
+ >=app-i18n/fcitx-5.1.13:5
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ kde-frameworks/extra-cmake-modules:0
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+pkg_setup() {
+ lua-single_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_DLOPEN=$(usex dlopen)
+ -DENABLE_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/app-i18n/fcitx-m17n/Manifest b/app-i18n/fcitx-m17n/Manifest
index 2bf65cc4bcf0..3076c8553e58 100644
--- a/app-i18n/fcitx-m17n/Manifest
+++ b/app-i18n/fcitx-m17n/Manifest
@@ -1 +1,2 @@
DIST fcitx-m17n-5.1.5.tar.zst 28699 BLAKE2B 1c5bf2dcacd00170174c9d626ac5b1c70ad4a060b1e412bff34fcc42a03c925136c4512c295f53a0b85d517d9fe184a69727f96ccd0c250451890b88dba89a8c SHA512 74aecfb436a3324844219e17ccf81d85622faefa4f3733e2e53f72601cbfaa2a45fd6ce1788d4a1c8a8e49e32274412138ef2198d4290ab5fc509f3ce6901d49
+DIST fcitx-m17n-5.1.6.tar.zst 29237 BLAKE2B 1a30600685b304b3c3c86eecbfc6afba95f373227b307d3da24878d36fffaff1ddf9f97d3282458653874f1b737b0ab3356dab36d6984a21ceabb691134d9dc5 SHA512 95ef072bfbd37d326f316f2ebefac7c1e8dff342550046bfa968ddd6c46acb9d849bda936bd24a29b2fda8731a8d60a1de3cf71d39a5d82294b69096372e0f80
diff --git a/app-i18n/fcitx-m17n/fcitx-m17n-5.1.6.ebuild b/app-i18n/fcitx-m17n/fcitx-m17n-5.1.6.ebuild
new file mode 100644
index 000000000000..715b06ced79d
--- /dev/null
+++ b/app-i18n/fcitx-m17n/fcitx-m17n-5.1.6.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="fcitx5-m17n"
+
+inherit cmake unpacker
+
+DESCRIPTION="m17n-provided input methods for Fcitx5"
+HOMEPAGE="https://github.com/fcitx/fcitx5-m17n"
+SRC_URI="https://download.fcitx-im.org/fcitx5/${MY_PN}/${MY_PN}-${PV}.tar.zst -> ${P}.tar.zst"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+LICENSE="LGPL-2.1+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# m17n-gui>=1.6.3
+RDEPEND="
+ >=app-i18n/fcitx-5.1.13:5
+ dev-db/m17n-db
+ >=dev-libs/m17n-lib-1.6.3[X]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ kde-frameworks/extra-cmake-modules:0
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/app-i18n/fcitx-qt/Manifest b/app-i18n/fcitx-qt/Manifest
index 1e8e48ef9cec..dbbf4795b699 100644
--- a/app-i18n/fcitx-qt/Manifest
+++ b/app-i18n/fcitx-qt/Manifest
@@ -1 +1,2 @@
DIST fcitx-qt-5.1.12.tar.zst 130569 BLAKE2B dd5d1b4b286b507c9b0c7bf6f269a9a1278550bfd31ee7995f122cc83626b8ead86d394c7a490c57b364d58c00d9a9574e994f27b6fb711a4876db8e8c37670e SHA512 c708d1c993ecbcb5b38f41e39269c880f7f8a720bc9ff62230d955e1ef8067c67db6a929c203a98fdee8a4f6e9ca19c6bb687230547c7a15ccf4adc9c6008e09
+DIST fcitx-qt-5.1.13.tar.zst 131573 BLAKE2B 11f69c1d7d5136f2b3ddcf8ca4b0b8a1ddf92543a5c1d7c3a8894c1436043461f00c4ea00b6f28ca4e878bada2b16c31d09477ffc5b36668d36ac321ae34ff3b SHA512 5a2c92fb35fc3015257ad367a9df0be2895c7b9317d801d2c0f973122340792acfa489fb97a664426f3522e967fb6a4e2b127cd3b74a84220d24149f92714e49
diff --git a/app-i18n/fcitx-qt/fcitx-qt-5.1.13.ebuild b/app-i18n/fcitx-qt/fcitx-qt-5.1.13.ebuild
new file mode 100644
index 000000000000..7bdac46fb613
--- /dev/null
+++ b/app-i18n/fcitx-qt/fcitx-qt-5.1.13.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="fcitx5-qt"
+
+inherit cmake dot-a unpacker
+
+DESCRIPTION="Qt library and IM module for fcitx5"
+HOMEPAGE="https://github.com/fcitx/fcitx5-qt"
+SRC_URI="https://download.fcitx-im.org/fcitx5/${MY_PN}/${MY_PN}-${PV}.tar.zst -> ${P}.tar.zst"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+LICENSE="BSD LGPL-2.1+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="qt5 onlyplugin staticplugin +qt6 +X wayland"
+REQUIRED_USE="
+ || ( qt5 qt6 )
+ qt5? ( X )
+ staticplugin? ( onlyplugin )
+"
+
+RDEPEND="
+ !onlyplugin? (
+ >=app-i18n/fcitx-5.1.13:5
+ qt5? ( dev-qt/qtconcurrent:5 )
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5=
+ dev-qt/qtwidgets:5
+ wayland? ( dev-qt/qtwayland:5 )
+ )
+ qt6? (
+ dev-qt/qtbase:6=[dbus,gui,widgets,wayland?]
+ wayland? ( dev-qt/qtwayland:6 )
+ )
+ X? (
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ kde-frameworks/extra-cmake-modules:0
+ virtual/pkgconfig
+ !onlyplugin? ( sys-devel/gettext )
+"
+
+src_configure() {
+ use staticplugin && lto-guarantee-fat
+ local mycmakeargs=(
+ -DENABLE_QT4=no
+ -DENABLE_QT5=$(usex qt5)
+ -DENABLE_QT6=$(usex qt6)
+ -DENABLE_QT6_WAYLAND_WORKAROUND=$(usex qt6 $(usex wayland))
+ -DENABLE_X11=$(usex X)
+ -DBUILD_ONLY_PLUGIN=$(usex onlyplugin)
+ -DBUILD_STATIC_PLUGIN=$(usex staticplugin)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ use staticplugin && strip-lto-bytecode
+}
diff --git a/app-i18n/fcitx-rime/Manifest b/app-i18n/fcitx-rime/Manifest
index 8f4106798efb..3fdf5093baea 100644
--- a/app-i18n/fcitx-rime/Manifest
+++ b/app-i18n/fcitx-rime/Manifest
@@ -1 +1,2 @@
DIST fcitx-rime-5.1.12.tar.zst 64150 BLAKE2B add4551d81ec53f81f7d5e0704a3903bd2e9ee910f8e0fe622935634701e634fd0f426e573e1207bba70e305b4e6fe3be4e80a9609bda62fcf32497f2aef0a22 SHA512 7dd5df58e9b6431ece32410e21fd8b435647940d477583bc41bf6ab0ce0de9372bb5c3012f77d200f52f9e1d180b63a14a1a459e499ada8e1be916ff5967a2b5
+DIST fcitx-rime-5.1.13.tar.zst 64700 BLAKE2B 257f65f1696c2c1eca0411d76a9d4c458595f12369be4c30708006c72b1078675419f4a0005403404ef6c045503aded7ea2263346d00e76ef69b045174b4b8ed SHA512 ddca509582aa46366a872fea42a4a92abd382b58a126a01c4f68112b4031b3092d49836e348e24376d94b799ec6e4429bb15b9c2233a5ee80e865ec6e55da97a
diff --git a/app-i18n/fcitx-rime/fcitx-rime-5.1.13.ebuild b/app-i18n/fcitx-rime/fcitx-rime-5.1.13.ebuild
new file mode 100644
index 000000000000..6bcead082a38
--- /dev/null
+++ b/app-i18n/fcitx-rime/fcitx-rime-5.1.13.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake unpacker xdg
+
+MY_PN="fcitx5-rime"
+DESCRIPTION="Chinese RIME input methods for Fcitx"
+HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx5-rime"
+SRC_URI="https://download.fcitx-im.org/fcitx5/fcitx5-rime/fcitx5-rime-${PV}.tar.zst -> ${P}.tar.zst"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+LICENSE="LGPL-2.1+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+
+DEPEND="
+ !app-i18n/fcitx-rime:4
+ >=app-i18n/fcitx-5.1.13:5
+ app-i18n/librime
+ app-i18n/rime-data
+ virtual/libintl
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ kde-frameworks/extra-cmake-modules
+ sys-devel/gettext
+ virtual/pkgconfig
+"
diff --git a/app-i18n/fcitx-sayura/Manifest b/app-i18n/fcitx-sayura/Manifest
index d525378bfcc7..72e6b76fe141 100644
--- a/app-i18n/fcitx-sayura/Manifest
+++ b/app-i18n/fcitx-sayura/Manifest
@@ -1,2 +1,2 @@
-DIST fcitx-sayura-5.1.3.tar.zst 25613 BLAKE2B cfa8db8baa700867579cf364ea6d2a4cc31da49bd5e5e087dd31f93f012b7d5d87dfdd9eee58e3110108d709c562a877532e95400b64cd2643f9c0af75582e27 SHA512 30733d695840607371f5ff0c82014df80455f087fd746265a786692c3e9fa55ecdc781259fe007eb95acc129125d7394580f54b762fd27f264233a469032e4f3
DIST fcitx-sayura-5.1.5.tar.zst 25653 BLAKE2B 007247b1e0a66b7220643730c645a70bef1875ebb763ef4bb54d4c6df0e6943f373c4fca10031f1b399944ae716afc53f2efa8d7a5f231bff70ea0eb4a5abd6d SHA512 81d71285044f1a6ff6a3dd61a7308543cd8f9d327b8162f09d1dabff4362f534591d9c066b6046acb9a12b48697cea790309f5c5256902996a143299b4f27a0f
+DIST fcitx-sayura-5.1.6.tar.zst 25863 BLAKE2B 6395ad53935fdfae6a4ebbf54eda65778bce085319d4ddffff606cc57bac55e48009875464c28d00adad1b255437695520087e027e53568451e1789f10510b31 SHA512 e2012a16dfc53bdd02c300d4e9371d1621f0cbaa11baea618710ad719032b758ef4003475c1297066689e7c1ed163a1aaa4404bc772441dc4e9f9b041c19577a
diff --git a/app-i18n/fcitx-sayura/fcitx-sayura-5.1.3.ebuild b/app-i18n/fcitx-sayura/fcitx-sayura-5.1.6.ebuild
index e500c7603fd8..9e0ba2a225fd 100644
--- a/app-i18n/fcitx-sayura/fcitx-sayura-5.1.3.ebuild
+++ b/app-i18n/fcitx-sayura/fcitx-sayura-5.1.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2024-2025 Gentoo Authors
+# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,7 +22,3 @@ RDEPEND="${DEPEND}"
BDEPEND="
kde-frameworks/extra-cmake-modules:0
"
-
-PATCHES=(
- "${FILESDIR}/${PN}-fix-cmake-4.patch"
-)
diff --git a/app-i18n/fcitx-sayura/files/fcitx-sayura-fix-cmake-4.patch b/app-i18n/fcitx-sayura/files/fcitx-sayura-fix-cmake-4.patch
deleted file mode 100644
index 049d6532ee62..000000000000
--- a/app-i18n/fcitx-sayura/files/fcitx-sayura-fix-cmake-4.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Backport of https://github.com/fcitx/fcitx5-sayura/pull/4
-
-fix build with cmake 4.0.0
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.0)
-+cmake_minimum_required(VERSION 3.10)
- project(fcitx5-sayura VERSION 5.1.3)
-
- set(REQUIRED_FCITX_VERSION 5.1.12)
diff --git a/app-i18n/fcitx-table-extra/Manifest b/app-i18n/fcitx-table-extra/Manifest
index a18191270dad..cdf9cf9bef48 100644
--- a/app-i18n/fcitx-table-extra/Manifest
+++ b/app-i18n/fcitx-table-extra/Manifest
@@ -1,4 +1,3 @@
DIST fcitx-table-extra-5.1.10.tar.zst 13784495 BLAKE2B 8bfebf6a942f7affc3a1535b8eb6e3f0586648deda0df58aae8581a7e52b5e026fc6cf36e0ef1bb1e837f133284fc0769e14b7a47963c6df784aac322b1e88a8 SHA512 77de35afcc65af6026457541937dee49281faa0a7569f0d61955db4a736ca011fb6c2ab25093a7e1141310c4737543d6724231b9a06824641b2fea91bbcdf178
-DIST fcitx-table-extra-5.1.7.tar.zst 13838076 BLAKE2B a0668cb3a418a91a3f66cd5f86d403cc7e01ae9ff91322a4cd99355cb2079c4cc371bc952351f8d7958086ebc7f62ed95a27cfbe2f5d456aa8f155e2a3da4510 SHA512 13268ba2109a404a2b04adf18a6cc15e1333a907c06cd8eec7c548c26e62cad73c1095ba4bbccbc1ec70b5f794f17ec67c268f318e9eaead659f4adb870363d9
+DIST fcitx-table-extra-5.1.11.tar.zst 13784696 BLAKE2B 2e80d554c40d1a6c6a0528a25d83d523d57f8d61e5932c4fc5c38005ac9a0464f2e72d28f1a72bb73cb39629e13e1377811910ccb6ff8c629fd4953218042c31 SHA512 9bab9fb31e071394d27ddd1d654f3654e643895fa9e1abcdc6637e5ac066d76f6d3cc829708e75d3d2f0ada95faa3e08546db8d08446154cf2b16795453ed136
DIST fcitx-table-extra-5.1.8.tar.zst 13785617 BLAKE2B 13f2ff4f94bfe6a61468dca1df0083ce84ac9de32dd1e85041cd7ad03332052697630b8befcebfffdb8477beda20edd9e5fe3a25ecf968fc7e6487a76ef20bc2 SHA512 a7bb036983813b694b6c38dc4e68192f409e408099b289a0e5222aa26475ed091830ee8e3d78e71a90a02f9aa2f653e8b9925ca936ac62b1a50893c465b50392
-DIST fcitx-table-extra-5.1.9.tar.zst 13786132 BLAKE2B cd033e0e5fd9956f0be384116cf0caf6276d1a67984d677f2ea70bde9a51184defc25a0393f77cb5921a4457a240e1458144692dfb4639e7fb20c648acb36cd8 SHA512 eb85e1082ad93abe17362a3976b70d2f5da95b1eaba5d476af7848e8456a2f4ad6a6685de30ed14af8ee456602467ba8f5bf79c3964497c00c4b89def567897c
diff --git a/app-i18n/fcitx-table-extra/fcitx-table-extra-5.1.9.ebuild b/app-i18n/fcitx-table-extra/fcitx-table-extra-5.1.11.ebuild
index 673c221c80b9..6c74a176f999 100644
--- a/app-i18n/fcitx-table-extra/fcitx-table-extra-5.1.9.ebuild
+++ b/app-i18n/fcitx-table-extra/fcitx-table-extra-5.1.11.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023-2025 Gentoo Authors
+# Copyright 2023-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/app-i18n/fcitx-table-extra/fcitx-table-extra-5.1.7.ebuild b/app-i18n/fcitx-table-extra/fcitx-table-extra-5.1.7.ebuild
deleted file mode 100644
index 45dc3ce0724f..000000000000
--- a/app-i18n/fcitx-table-extra/fcitx-table-extra-5.1.7.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MY_PN=fcitx5-table-extra
-
-inherit cmake unpacker xdg
-
-DESCRIPTION="Provides extra table for Fcitx, including Boshiamy, Zhengma, Cangjie, and Quick"
-HOMEPAGE="https://github.com/fcitx/fcitx5-table-extra"
-SRC_URI="https://download.fcitx-im.org/fcitx5/${MY_PN}/${MY_PN}-${PV}.tar.zst -> ${P}.tar.zst"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-LICENSE="GPL-3+"
-SLOT="5"
-KEYWORDS="amd64 ~arm64 ~loong ~riscv x86"
-
-DEPEND="
- !app-i18n/fcitx-table-extra:4
- app-i18n/fcitx:5
- app-i18n/libime
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- kde-frameworks/extra-cmake-modules:0
- virtual/pkgconfig
-"
diff --git a/app-i18n/fcitx-table-other/Manifest b/app-i18n/fcitx-table-other/Manifest
index ab140aa6eb78..382d37af16b5 100644
--- a/app-i18n/fcitx-table-other/Manifest
+++ b/app-i18n/fcitx-table-other/Manifest
@@ -1,2 +1,2 @@
-DIST fcitx-table-other-5.1.4.tar.zst 532235 BLAKE2B 6c9ab150a4e3ae3140b3f756cfebee6cb79b9b9ef161b7f23198fe0309b8ab1edfb634de394637c0ce936df9e1f92164ffcd550dbd9acbb75c01a81164526967 SHA512 19d4b54a8404efee31e14b8d8a8a66decfd50fc4c48ddbe0c1346fb785314eb0327bc11b376a389fc68c03cd721b1961dd113c0e7e89faf0c539c4a8ba87f47e
DIST fcitx-table-other-5.1.5.tar.zst 526950 BLAKE2B 892a83f0e345b859d0ec30aa55c168049ee65da26336531d956feef336a30a204aec9af622816f51d54812e3c1744ea53f1a32c05ce64603f981c3ffa6579f82 SHA512 af3061cb3c00b9bf299f2dd6b9e8ce2472b0386d8a87b2630d2bac61302f1f58783390fbd25e21591f19032e6f7e8217f4e0d3919a8e9fd2bd6621231bbc9a0d
+DIST fcitx-table-other-5.1.6.tar.zst 526382 BLAKE2B 71439c3e2d62e1aa38787bf225b910461497cf8658e602f5fb490f141ea57be8e32e30b22f4a641f93f197070557da041f66c4182023427e05c9373fa76f5763 SHA512 56dffcb927670b75a2f16a0ca6389abd59478817930000714d537f12a4e45e62d3b9cb7f8432098c5b80eb2519d28b0c8af11f2c1c47b8cb0745f3c3ebba58fb
diff --git a/app-i18n/fcitx-table-other/fcitx-table-other-5.1.4.ebuild b/app-i18n/fcitx-table-other/fcitx-table-other-5.1.6.ebuild
index 1b3b0bf2b2b2..f4ccf52248ba 100644
--- a/app-i18n/fcitx-table-other/fcitx-table-other-5.1.4.ebuild
+++ b/app-i18n/fcitx-table-other/fcitx-table-other-5.1.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023-2025 Gentoo Authors
+# Copyright 2023-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ SRC_URI="https://download.fcitx-im.org/fcitx5/${MY_PN}/${MY_PN}-${PV}.tar.zst ->
S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="GPL-3"
SLOT="5"
-KEYWORDS="amd64 ~arm64 ~loong ~riscv x86"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
DEPEND="
app-i18n/fcitx:5
diff --git a/app-i18n/fcitx-unikey/Manifest b/app-i18n/fcitx-unikey/Manifest
index 5280d8643588..3920c710cf88 100644
--- a/app-i18n/fcitx-unikey/Manifest
+++ b/app-i18n/fcitx-unikey/Manifest
@@ -1,2 +1,2 @@
-DIST fcitx5-unikey-5.1.6.tar.zst 114937 BLAKE2B 96c832dbea695f8d90910ae4a1d07c69a05fce5a2bc982f47dd4b2b4e0566607e76a9b8afbd769bf51317c080ab276feef4285b918f7e0e82375f09b0b97007f SHA512 05e13eb63fedc4dd6852c0fa42efd89ceba1f6d90a9d8d1c04547d0bc3877f46ebce4cfb0a495331d911401a070b10cc42d5d5af818cc9ba6c8923a87254e89c
+DIST fcitx5-unikey-5.1.10.tar.zst 115658 BLAKE2B 6877f2bcb83e942f5bed0c269e83d9a812ba5b2629cf2f7624b3153043915331d48395d738d524e971114cabd61bac0b82b3870d80c0d180e3bcd4b13b35d847 SHA512 444eaa5642c12072741e2236f2346b0f61429afaba79dba9a0ce99a21f28041221c6d04ab0b73a39025d8896bf3c09aab08edc57748de7913300d138f6ff6028
DIST fcitx5-unikey-5.1.8.tar.zst 114365 BLAKE2B b88b4b81acb1108720daddb17761a5dc6b4a678d625091fa33d724d7606ad855b4040796568d4701f129a093f6f9c5f3103b30b1431a5171b209531e8ec0230a SHA512 cee0bafc018624b8509504304278a1e0f86b8ac81021b0426d0281cfb7fd71c6fdb43a99a0605df0831a97433282ab15fb1382c51a56bed2969baeb7e6fc6d6c
diff --git a/app-i18n/fcitx-unikey/fcitx-unikey-5.1.6-r1.ebuild b/app-i18n/fcitx-unikey/fcitx-unikey-5.1.10.ebuild
index 2c287b009738..ea7b073864fa 100644
--- a/app-i18n/fcitx-unikey/fcitx-unikey-5.1.6-r1.ebuild
+++ b/app-i18n/fcitx-unikey/fcitx-unikey-5.1.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2024-2025 Gentoo Authors
+# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ IUSE="+gui test"
RESTRICT="!test? ( test )"
RDEPEND="
- >=app-i18n/fcitx-5.1.12:5
+ >=app-i18n/fcitx-5.1.13:5
>=app-i18n/fcitx-qt-5.1.4:5[qt6(+),-onlyplugin]
gui? ( dev-qt/qtbase:6[dbus,gui,widgets] )
"
@@ -32,7 +32,6 @@ src_configure() {
local mycmakeargs=(
-DENABLE_QT=$(usex gui)
-DENABLE_TEST=$(usex test)
- -DUSE_QT6=ON
)
cmake_src_configure
}
diff --git a/app-i18n/fcitx/Manifest b/app-i18n/fcitx/Manifest
index 57f25a844d26..8da66fbb8c01 100644
--- a/app-i18n/fcitx/Manifest
+++ b/app-i18n/fcitx/Manifest
@@ -1 +1,2 @@
DIST fcitx-5.1.17.tar.zst 8407147 BLAKE2B 9b99d9a53b5bcd89942b848e3b4adae0e8f950e3a679a2d30b995caadfe09472c7d9611e05f80504874cf8185108914faf1711a29e9a1d258b5789509901cab0 SHA512 fe3f13d7615ae823b0746bd731d0eac4df90b216c22c186c4f63ab71c0450f38adfa558e906a5493bb5eab873bffea913477c8dcb2ba7055668305cf995e235f
+DIST fcitx-5.1.19.tar.zst 10511702 BLAKE2B d836d281109076d5518b28bb2849b139a93fe500e72f614a7b5858aad200a32d1277b059a21af383ae7ff02a61b97aa7581582b00b1b8dce6ab1f58725cc5304 SHA512 7924fff0e1c5aaa6d9f5b1190e1f0cd9330d53b3dc071322f01b598e10aa08d09f61b4c995bb7b8a233a0130d6d97e38ccb166ef163154926afbdd204bd5fea8
diff --git a/app-i18n/fcitx/fcitx-5.1.19.ebuild b/app-i18n/fcitx/fcitx-5.1.19.ebuild
new file mode 100644
index 000000000000..b8a42c0e40bf
--- /dev/null
+++ b/app-i18n/fcitx/fcitx-5.1.19.ebuild
@@ -0,0 +1,131 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="fcitx5"
+
+inherit cmake flag-o-matic toolchain-funcs unpacker xdg
+
+DESCRIPTION="Fcitx 5 is a generic input method framework"
+HOMEPAGE="https://fcitx-im.org/ https://github.com/fcitx/fcitx5"
+SRC_URI="https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-${PV}_dict.tar.zst -> ${P}.tar.zst"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+LICENSE="LGPL-2+ Unicode-DFS-2016"
+SLOT="5"
+KEYWORDS="~amd64"
+IUSE="+autostart doc +emoji +enchant +keyboard presage +server systemd system-yoga test wayland +X"
+REQUIRED_USE="
+ || ( wayland X )
+ X? ( keyboard )
+ wayland? ( keyboard )
+"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libfmt
+ sys-devel/gettext
+ virtual/libintl
+ x11-libs/cairo[X?]
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango[X?]
+ doc? (
+ app-text/doxygen
+ dev-texlive/texlive-fontutils
+ )
+ emoji? ( virtual/zlib:= )
+ enchant? ( app-text/enchant:2 )
+ keyboard? (
+ app-text/iso-codes
+ dev-libs/expat
+ dev-cpp/nlohmann_json
+ x11-misc/xkeyboard-config
+ x11-libs/libxkbcommon[X?,wayland?]
+ )
+ systemd? (
+ sys-apps/systemd
+ )
+ !systemd? (
+ dev-libs/libuv
+ sys-apps/dbus
+ )
+ system-yoga? (
+ dev-libs/yoga
+ )
+ wayland? (
+ dev-libs/glib:2
+ dev-libs/wayland
+ dev-libs/wayland-protocols
+ dev-util/wayland-scanner
+ )
+ X? (
+ dev-libs/glib:2
+ >=x11-libs/xcb-imdkit-1.0.3:5
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ x11-libs/xcb-util
+ x11-libs/xcb-util-keysyms
+ x11-libs/xcb-util-wm
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ kde-frameworks/extra-cmake-modules:0
+"
+
+src_configure() {
+ if [[ $(tc-get-cxx-stdlib) == "libc++" ]]; then
+ # std::osyncstream used in fcitx-utils/log.cpp is marked as experimental.
+ append-cxxflags $(test-flags-CXX -fexperimental-library)
+ fi
+
+ local mycmakeargs=(
+ -DENABLE_DBUS=on
+ -DENABLE_XDGAUTOSTART=$(usex autostart)
+ -DENABLE_SERVER=$(usex server)
+ -DENABLE_KEYBOARD=$(usex keyboard)
+ -DENABLE_TEST=$(usex test)
+ -DENABLE_ENCHANT=$(usex enchant)
+ -DENABLE_EMOJI=$(usex emoji)
+ -DENABLE_PRESAGE=$(usex presage)
+ -DENABLE_WAYLAND=$(usex wayland)
+ -DENABLE_X11=$(usex X)
+ -DENABLE_DOC=$(usex doc)
+ -DUSE_SYSTEMD=$(usex systemd)
+ -DUSE_SYSTEM_YOGA=$(usex system-yoga)
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use doc && cmake_src_compile doc
+}
+
+src_test() {
+ # break by sandbox
+ local CMAKE_SKIP_TESTS=(
+ testdbus
+ testservicewatcher
+ )
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ use doc && dodoc -r "${BUILD_DIR}"/doc/*
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog
+ elog "Follow the instructions on:"
+ elog "https://wiki.gentoo.org/wiki/Fcitx#Using_Fcitx"
+ elog "https://fcitx-im.org/wiki/Setup_Fcitx_5"
+ elog "https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland"
+ elog
+}
diff --git a/app-i18n/fcitx/metadata.xml b/app-i18n/fcitx/metadata.xml
index b1b1420a877f..fee196325735 100644
--- a/app-i18n/fcitx/metadata.xml
+++ b/app-i18n/fcitx/metadata.xml
@@ -25,6 +25,7 @@
<flag name="keyboard">Enable key event translation with XKB and build keyboard engine</flag>
<flag name="presage">Enable presage for word predication (not stable)</flag>
<flag name="server">Build a fcitx as server, disable this option if you want to use fcitx as an embedded library</flag>
+ <flag name="system-yoga">Use the system-wide <pkg>dev-libs/yoga</pkg>instead of bundled.</flag>
</use>
<origin>gentoo-staging</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/app-i18n/libime/Manifest b/app-i18n/libime/Manifest
index 7e01ea77186c..79b1cba56852 100644
--- a/app-i18n/libime/Manifest
+++ b/app-i18n/libime/Manifest
@@ -1 +1,2 @@
DIST libime-1.1.13_dict.tar.zst 49597959 BLAKE2B afbd4e467241278c5bc97766362b2cb4d39dc695e7c0ab9587890a96f479389ffd41cec337b02450e5ca757ae70a67b2ede2cd69563b91d0ca3d72b25daeb835 SHA512 57d4ee307a464fd7a581a7da018dfea40185d7b8d888387d6b7f0c0b44084b4e1d69869139f621f31e92fca7a182f1f3c5c3ca2e4483f8730f5469ce9a1c9dc5
+DIST libime-1.1.14_dict.tar.zst 49597501 BLAKE2B d6f314f41a04a53fb12a77db4bc54a725b0554bd81b9f2f7659a3db5b9f8c65760e87b15285321097f152c48a2d27dfa8348d1b582f7f698446369b7271458c3 SHA512 2afe7dbfe7c087fa45f1175ad08cde59da3d7c8baf9413be6291f36b6786a1501f1b3ca3ec795b3852b1e87a3afb7eb099b258f053c2185ea03bf5885046c88d
diff --git a/app-i18n/libime/libime-1.1.14.ebuild b/app-i18n/libime/libime-1.1.14.ebuild
new file mode 100644
index 000000000000..d34ed51d2ed1
--- /dev/null
+++ b/app-i18n/libime/libime-1.1.14.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake unpacker
+
+DESCRIPTION="Fcitx5 Next generation of fcitx"
+HOMEPAGE="https://fcitx-im.org/"
+SRC_URI="https://download.fcitx-im.org/fcitx5/libime/libime-${PV}_dict.tar.zst"
+
+LICENSE="LGPL-2+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="+data doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-i18n/fcitx-5.1.13:5
+ app-arch/zstd:=
+ dev-libs/boost:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ kde-frameworks/extra-cmake-modules:0
+ virtual/pkgconfig
+ doc? (
+ app-text/doxygen
+ dev-texlive/texlive-fontutils
+ )
+"
+
+src_configure() {
+ # 957570 : remove unused kenlm CMakeLists.txt
+ rm src/libime/core/kenlm/CMakeLists.txt || die
+
+ local mycmakeargs=(
+ -DENABLE_DATA=$(usex data)
+ -DENABLE_DOC=$(usex doc)
+ -DENABLE_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use doc && cmake_src_compile doc
+}
+
+src_install() {
+ cmake_src_install
+ use doc && dodoc -r "${BUILD_DIR}"/doc/*
+}
diff --git a/app-office/joplin-desktop/Manifest b/app-office/joplin-desktop/Manifest
index 2d784facc435..ce3240e63048 100644
--- a/app-office/joplin-desktop/Manifest
+++ b/app-office/joplin-desktop/Manifest
@@ -1,2 +1,3 @@
DIST Joplin-3.6.2.AppImage 158099534 BLAKE2B 1886cbab3c61504594e4c242a0c7ab67e7b6112941136117ab8ab8f30f0e00bad7d5f99bd4ad59ffec168710e5b4cc081258cddbcf4a7dce9c5ad00a811b2a76 SHA512 8c0413d3a2ddd56d22a8334064c0f9df93d4ea4ea0bbd7d189edc32eaf8846bbdc05a89adc8ed6ae30cba4f759adb32f83df9b7b4520ef5d208518de852a6e9d
DIST Joplin-3.6.4.AppImage 158456161 BLAKE2B d3a06ca3ab782050b3478f789903f6e8a19bcd9e33fb55c7b1f60a7a1d3716a58192b8669a8edee7b64cf5263e706b1eaf964c85a9f8a79aba1f9f6689fec214 SHA512 71252b67c5f91d87005f63f74c42bd12175090b9427b3b50c1d87428a6e73c41388be34e4ec5cfebbc9b5ee32c2ed14d8962ecb9a1775f1b35e516a8d091acdf
+DIST Joplin-3.6.6.AppImage 158472364 BLAKE2B 950bc939af96be8b35960ce1da4e05acdb8935e76655be9d3d53c441ffdfa0cdd1bd629642d943ecc83dd5d7d33e9bab644e999692a4134d6031c26f28c47e0e SHA512 1a2c62bdd919b56dfd89e17862d19a55ac423e518bcf5fbe13e2006a5d2ebbe56d2c91286a628d709c9b6fbaf143b2c7967dda3ada44c3012613999ee37caf02
diff --git a/app-office/joplin-desktop/joplin-desktop-3.6.6.ebuild b/app-office/joplin-desktop/joplin-desktop-3.6.6.ebuild
new file mode 100644
index 000000000000..2c4bccf5d928
--- /dev/null
+++ b/app-office/joplin-desktop/joplin-desktop-3.6.6.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop xdg
+
+DESCRIPTION="Secure note taking and to-do app with synchronization capabilities"
+HOMEPAGE="https://joplinapp.org/
+ https://github.com/laurent22/joplin/"
+
+# NOTICE: This is a Electron app (oh my) and the upstream only provides AppImages.
+APPIMAGE="Joplin-${PV}.AppImage"
+SRC_URI="https://github.com/laurent22/joplin/releases/download/v${PV}/${APPIMAGE}"
+
+LICENSE="AGPL-3+"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+RESTRICT="bindist splitdebug"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ app-crypt/libsecret[crypt]
+ app-misc/ca-certificates
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/alsa-lib
+ || (
+ media-libs/libcanberra-gtk3
+ media-libs/libcanberra[gtk3(-)]
+ )
+ media-libs/libglvnd
+ media-libs/mesa
+ net-misc/curl
+ net-print/cups
+ sys-apps/dbus
+ virtual/zlib:=
+ sys-process/lsof
+ x11-libs/cairo
+ x11-libs/gtk+:3
+ x11-libs/libdrm
+ x11-libs/libnotify
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon
+ x11-libs/libxkbfile
+ x11-libs/libXrandr
+ x11-libs/libXScrnSaver
+ x11-libs/pango
+ x11-misc/xdg-utils
+"
+
+QA_PREBUILT="*"
+
+src_unpack() {
+ mkdir -p "${S}" || die
+ cp "${DISTDIR}/${APPIMAGE}" "${S}" || die
+
+ cd "${S}" || die # "appimage-extract" unpacks to current directory.
+ chmod +x "${S}/${APPIMAGE}" || die
+ "${S}/${APPIMAGE}" --appimage-extract || die
+}
+
+src_prepare() {
+ # Fix permissions.
+ find "${S}" -type d -exec chmod a+rx {} + || die
+ find "${S}" -type f -exec chmod a+r {} + || die
+
+ default
+}
+
+src_install() {
+ cd "${S}/squashfs-root" || die
+
+ insinto /usr/share
+ doins -r ./usr/share/icons
+
+ local apphome="/opt/${PN}"
+ local -a toremove=(
+ .DirIcon
+ AppRun
+ LICENSE.electron.txt
+ LICENSES.chromium.html
+ joplin.png
+ resources/app.asar.unpacked/node_modules/7zip-bin-linux/arm
+ resources/app.asar.unpacked/node_modules/7zip-bin-linux/arm64
+ resources/app.asar.unpacked/node_modules/node-notifier
+ usr
+ )
+ rm -f -r "${toremove[@]}" || die
+
+ mkdir -p "${ED}/${apphome}" || die
+ cp -r . "${ED}/${apphome}" || die
+
+ dosym -r "${apphome}/joplin" "/usr/bin/${PN}"
+ make_desktop_entry "${PN}" Joplin joplin "Office;" \
+ "StartupWMClass=Joplin\nMimeType=x-scheme-handler/joplin;"
+}
diff --git a/dev-lang/algol68g/Manifest b/dev-lang/algol68g/Manifest
index 989231807727..b782b38440a5 100644
--- a/dev-lang/algol68g/Manifest
+++ b/dev-lang/algol68g/Manifest
@@ -1,3 +1,4 @@
DIST algol68g-3.10.10.tar.gz 673261 BLAKE2B 384e232e5a61846c00f38333a5c13bef536dce4c53b884dfb57eb4a78ce37c56229a7b837d1f4378852f1a60560b0c8c4bcabe015f1abc705173c766df6fc199 SHA512 2e4bf78e8bd91ead86078aa09c5a94ec5bf96a514285603ac57b41e5ca5002a8b54131e90cd7b9c736f9be8dbeac61fb8cbe094f6f63d2727cfb3ceb2ad551d3
DIST algol68g-3.10.13.tar.gz 673220 BLAKE2B 7af7bc4b03110df631c233cd671b1ea5c198248bb504db196c165e9acd65fef21a7796dc406fca9bb8b1fd7ba45256a240173ad5dfda8ca436d50f1045f32390 SHA512 bba6be70dddaec987f45946559f5bf1cde4da0d78c8847a87c2d9f7619c6c312ade2c0098e6187e610706a037f9d21d839a4b9567418f32aa45f5469f329aaba
DIST algol68g-3.10.9.tar.gz 673256 BLAKE2B a82a535c5b69381651d05232a1d60308a590c0c3625ca2339259a41bf204c9fb025cfb6fcd900edb3509ded9266be7de6d70f7185b44115233208b5c7784f6f7 SHA512 d51b5796435a240fda7a97394f8b083ad2a77fa6575a88fe38266499cc67124963a49baa4b2bc229709713cb415df103aab0f45da1fcbfc6fcaa9bb8d1d9b8ee
+DIST algol68g-3.11.0.tar.gz 680452 BLAKE2B dcf5c52641458025a49d4279a3f2c57cfbbf04fd294179e9db0b111fb7e0470cf57a4299b2786beb0980ee89bbd88ad488e55c6e0a99a94b99d07bb29ac0a777 SHA512 5bc303f4a65988724fde319209482900bf30bb5152a02660166f018d1e27007f1ba9bc55640da15b28d3be56c9d5a650f3d2ade53e11a0e10fb8fc690ab1ae48
diff --git a/dev-lang/algol68g/algol68g-3.11.0.ebuild b/dev-lang/algol68g/algol68g-3.11.0.ebuild
new file mode 100644
index 000000000000..c6d284ac6f0d
--- /dev/null
+++ b/dev-lang/algol68g/algol68g-3.11.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+DESCRIPTION="Algol 68 Genie compiler-interpreter"
+HOMEPAGE="https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html"
+SRC_URI="https://dev.gentoo.org/~xgqt/distfiles/mirrored/${P}.tar.gz
+ https://jmvdveer.home.xs4all.nl/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+curl +gsl +mpfr +ncurses plotutils postgres +readline"
+
+RDEPEND="
+ curl? ( net-misc/curl )
+ gsl? ( sci-libs/gsl:= )
+ mpfr? ( dev-libs/mpfr:= )
+ plotutils? ( media-libs/plotutils )
+ postgres? ( dev-db/postgresql:* )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=( "${FILESDIR}/${PN}-3.3.21-configure-implicit.patch" )
+
+src_configure() {
+ local -a myconf=(
+ $(use_enable curl)
+ $(use_enable gsl)
+ $(use_enable mpfr)
+ $(use_enable ncurses curses)
+ $(use_enable plotutils)
+ $(use_enable postgres postgresql)
+ $(use_enable readline)
+ $(use_with ncurses)
+ )
+ econf "${myconf[@]}"
+}
diff --git a/dev-lang/kotlin-bin/Manifest b/dev-lang/kotlin-bin/Manifest
index b3a68527813d..921c4fa917a2 100644
--- a/dev-lang/kotlin-bin/Manifest
+++ b/dev-lang/kotlin-bin/Manifest
@@ -1,3 +1,2 @@
-DIST kotlin-compiler-2.2.21.zip 78710880 BLAKE2B cd28a7e43811ce2f42594d604759f217c29b959c7e848b921d2a114b79d62d968aa6a9972e3c53f4a9a7828148766d1a5586fddd9c54c120bc8ba6fcf4548598 SHA512 8c6494f53d205a0baab64eeeda7b60dd4d3c5aae6f51f6ba62eed727e92252ffb40fa68cf4b2db8aca2ce534e2866d0ae743e787815b0af1e030c453e3af9899
-DIST kotlin-compiler-2.3.0.zip 80761300 BLAKE2B 8352c9b00ff6a754c1664bf2d658af572753466fa93b3a9e37bdd80d7a54ee8ce1ea42aafb59706d18e40dba1aacd0d45c108c0408600e474000e7f8171d873e SHA512 0095d78f8f3b752f96ae7d6069876597102493b95d48b2e2b8af23ec7be7b2eb3378fa62c4a859b4f2905361667a31ae3dd6818e23960c605afe10776a1da6a2
DIST kotlin-compiler-2.3.10.zip 80764672 BLAKE2B ae2d21f7b5ed75b823f15b2689a2f64a27a662d44732cebfdc09f63262ffa45bbd27e6659fbd51260057350cc9bd20d07d5a2108db74b89c97c7ad78b0235cdd SHA512 f942c1c56c86935094eb003ecd8a573b092c95c437ba3eddedb128f6fe2c8b132bfe79997c721d7980271222d2de2c2adc292a8c2c620a0c43eded3a76aa5c54
+DIST kotlin-compiler-2.3.20.zip 83071760 BLAKE2B 1531554741152cc1116796d898a1cd08962962cdc64dabe8408744678b1ea026c303d591868818c24d4f27c24fd7855c8152049dad774670d9288b3af986d741 SHA512 29dda1fa2ad42a7668b39c4714c63661834b03d380606f2e6ca5dafad0d814137986f16e35352e19b82589319c5645eb824a5d9997a90ee2529a4251a6453a5d
diff --git a/dev-lang/kotlin-bin/kotlin-bin-2.3.0.ebuild b/dev-lang/kotlin-bin/kotlin-bin-2.3.0.ebuild
deleted file mode 100644
index 5efa76704267..000000000000
--- a/dev-lang/kotlin-bin/kotlin-bin-2.3.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-pkg-2 wrapper
-
-DESCRIPTION="Statically typed language that targets the JVM and JavaScript"
-HOMEPAGE="https://kotlinlang.org/
- https://github.com/JetBrains/kotlin/"
-SRC_URI="https://github.com/JetBrains/kotlin/releases/download/v${PV}/kotlin-compiler-${PV}.zip"
-S="${WORKDIR}/kotlinc"
-
-LICENSE="Apache-2.0 BSD MIT NPL-1.1"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-DEPEND="
- >=virtual/jdk-1.8:*
-"
-BDEPEND="
- app-arch/unzip
-"
-
-src_prepare() {
- default
-
- rm bin/*.bat || die
-}
-
-src_compile() {
- :
-}
-
-src_install() {
- java-pkg_dojar lib/*
-
- # Follow the Java eclass JAR installation path.
- local app_home="/usr/share/${PN}"
-
- exeinto "${app_home}/bin"
- doexe bin/*
-
- local -a exes=(
- kapt
- kotlin
- kotlinc
- kotlinc-js
- kotlinc-jvm
- kotlin-dce-js
- )
- local exe
- for exe in "${exes[@]}" ; do
- make_wrapper "${exe}" "${app_home}/bin/${exe}"
- done
-}
diff --git a/dev-lang/kotlin-bin/kotlin-bin-2.2.21.ebuild b/dev-lang/kotlin-bin/kotlin-bin-2.3.20.ebuild
index 5efa76704267..2d14ecc84ef7 100644
--- a/dev-lang/kotlin-bin/kotlin-bin-2.2.21.ebuild
+++ b/dev-lang/kotlin-bin/kotlin-bin-2.3.20.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,6 +8,7 @@ inherit java-pkg-2 wrapper
DESCRIPTION="Statically typed language that targets the JVM and JavaScript"
HOMEPAGE="https://kotlinlang.org/
https://github.com/JetBrains/kotlin/"
+
SRC_URI="https://github.com/JetBrains/kotlin/releases/download/v${PV}/kotlin-compiler-${PV}.zip"
S="${WORKDIR}/kotlinc"
diff --git a/dev-lang/typescript/Manifest b/dev-lang/typescript/Manifest
index f048030e0b48..e6eb9a8035f2 100644
--- a/dev-lang/typescript/Manifest
+++ b/dev-lang/typescript/Manifest
@@ -1,2 +1 @@
-DIST typescript-5.9.2.tgz 4376902 BLAKE2B 35db4b391eed81a6407bd23a6494a2f01a6979858ddf3ccd74b2b1f16fcae4e11e1c813340a234af4da852de1ad21e0fa22b0cf04910c22b1c01c77bd798f958 SHA512 0960735d0adcfea3a4862770d4ecc14d0b9845b7f2c435c93152755cdc141c644e566b9a7a2126dceb25a59d5157de9ded228a8d92ab489bb7fadff1970dd1f4
DIST typescript-5.9.3.tgz 4377468 BLAKE2B 851466b0e045c7ccd7b53c65c5c0bcb35a9ad89c4cf7afaa0acebcd41ff6580f9b2a8902b1f82ba9b46d833ea90d3e4cf529efebf3a2b139f276ee601023d758 SHA512 8e5d6f6733c38a72ebf5e52ddc9feded5e8580d130f508ef04f772b33f4a7d00c3e357d0ac2d98e2f290762694a454f86d795bd511e12e9a7cc2d9ba3394e04b
diff --git a/dev-lang/typescript/typescript-5.9.2.ebuild b/dev-lang/typescript/typescript-5.9.2.ebuild
deleted file mode 100644
index 3c3637607390..000000000000
--- a/dev-lang/typescript/typescript-5.9.2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Superset of JavaScript with optional static typing, classes and interfaces"
-HOMEPAGE="https://www.typescriptlang.org/
- https://github.com/microsoft/TypeScript/"
-SRC_URI="https://registry.npmjs.org/${PN}/-/${P}.tgz"
-S="${WORKDIR}/package"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64"
-
-RDEPEND="
- net-libs/nodejs
-"
-BDEPEND="
- >=net-libs/nodejs-16[npm]
-"
-
-src_compile() {
- # Skip, nothing to compile here.
- :
-}
-
-src_install() {
- local -a myopts=(
- --audit false
- --color false
- --foreground-scripts
- --global
- --offline
- --omit dev
- --prefix "${ED}/usr"
- --progress false
- --verbose
- )
- npm "${myopts[@]}" install "${DISTDIR}/${P}.tgz" || die "npm install failed"
-
- dodoc *.md *.txt
-}
diff --git a/dev-libs/yoga/Manifest b/dev-libs/yoga/Manifest
new file mode 100644
index 000000000000..fab1e2e2c998
--- /dev/null
+++ b/dev-libs/yoga/Manifest
@@ -0,0 +1 @@
+DIST yoga-3.2.1.tar.gz 2172950 BLAKE2B 0114dac62ab14a13902e0202a7c02d4b81521381f19c72ad08911a40c436b83a275248a0eecfae343fc84c80b54cc174b6d3e1d71d8e546cb520bc5ce3f6f798 SHA512 41ca044dcc7e404d5d3b052a85a650713bd31950a010a14658e25b1d065fffa16239cb93d2b00845d4e8443169ae50a91ad36080305f1be93e53ed481603a78b
diff --git a/dev-libs/yoga/files/yoga-3.2.1-fix-tests.patch b/dev-libs/yoga/files/yoga-3.2.1-fix-tests.patch
new file mode 100644
index 000000000000..13f719f9333a
--- /dev/null
+++ b/dev-libs/yoga/files/yoga-3.2.1-fix-tests.patch
@@ -0,0 +1,59 @@
+fixes:
+
+1. make building tests optional
+2. use system wide GTest
+3. fix -Werror=array-bounds= compile error
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 55f1a6df..fcfa593a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -10,7 +10,10 @@ set(CMAKE_VERBOSE_MAKEFILE on)
+ include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/project-defaults.cmake)
+
+ add_subdirectory(yoga)
+-add_subdirectory(tests)
++option(BUILD_TESTS "Build tests" ON)
++if(BUILD_TESTS)
++ add_subdirectory(tests)
++endif()
+
+ option(BUILD_FUZZ_TESTS "Build fuzz tests" OFF)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index c48bfb9f..fbf837f6 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -8,18 +8,13 @@ cmake_minimum_required(VERSION 3.13...3.26)
+ project(tests)
+ set(CMAKE_VERBOSE_MAKEFILE on)
+
+-include(FetchContent)
+ include(GoogleTest)
++find_package(GTest REQUIRED)
+
+ set(YOGA_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/..)
+ include(${YOGA_ROOT}/cmake/project-defaults.cmake)
+
+ # Fetch GTest
+-FetchContent_Declare(
+- googletest
+- URL https://github.com/google/googletest/archive/refs/tags/release-1.12.1.zip
+-)
+-FetchContent_MakeAvailable(googletest)
+
+ add_subdirectory(${YOGA_ROOT}/yoga ${CMAKE_CURRENT_BINARY_DIR}/yoga)
+
+diff --git a/tests/YGPersistenceTest.cpp b/tests/YGPersistenceTest.cpp
+index 929aee07..f171e5f7 100644
+--- a/tests/YGPersistenceTest.cpp
++++ b/tests/YGPersistenceTest.cpp
+@@ -275,7 +275,7 @@ TEST(YogaTest, mixed_shared_and_owned_children) {
+ YGNodeInsertChild(root1, root1_child2, 1);
+
+ auto children = static_cast<yoga::Node*>(root1)->getChildren();
+- children.insert(children.begin() + 1, static_cast<yoga::Node*>(root0_child0));
++ children.emplace(children.begin() + 1, static_cast<yoga::Node*>(root0_child0));
+ static_cast<yoga::Node*>(root1)->setChildren(children);
+
+ auto secondChild = YGNodeGetChild(root1, 1);
diff --git a/dev-libs/yoga/metadata.xml b/dev-libs/yoga/metadata.xml
new file mode 100644
index 000000000000..3ac46c3f4298
--- /dev/null
+++ b/dev-libs/yoga/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>peeweep@0x0.ee</email>
+ <name>jinqiang zhang</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>tanekliang@gmail.com</email>
+ <name>Yongxiang Liang</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-libs/yoga/yoga-3.2.1.ebuild b/dev-libs/yoga/yoga-3.2.1.ebuild
new file mode 100644
index 000000000000..c90aba8c9e82
--- /dev/null
+++ b/dev-libs/yoga/yoga-3.2.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Cross-platform layout engine"
+HOMEPAGE="https://github.com/facebook/yoga"
+SRC_URI="https://github.com/facebook/yoga/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ "${FILESDIR}"/"${P}-fix-tests.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_FUZZ_TESTS=OFF #Requires the compiler to be Clang
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}"/tests/yogatests || die
+}
diff --git a/dev-ml/ocaml-markdown/Manifest b/dev-ml/ocaml-markdown/Manifest
new file mode 100644
index 000000000000..f6e2e3192ecf
--- /dev/null
+++ b/dev-ml/ocaml-markdown/Manifest
@@ -0,0 +1 @@
+DIST ocaml-markdown-0.2.1.gh.tar.gz 9192 BLAKE2B 07839e6a5966a73c300432f8b6b8340ce54045cb2e08e962c7029a5caa74756d6dc302c37f34f16f06f936373a110a2316e84f2f0263556d52ba04c4799c5250 SHA512 48aa7332f04cf880046e2647c99a6ff60b026cf9e3130173713f431ebb68b3d394dd83290e5e4f9359faa1381115798548d85c7b4b3b121afcbbb78b8b757fa3
diff --git a/dev-ml/ocaml-markdown/metadata.xml b/dev-ml/ocaml-markdown/metadata.xml
new file mode 100644
index 000000000000..3ba5afc2901c
--- /dev/null
+++ b/dev-ml/ocaml-markdown/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ml@gentoo.org</email>
+ <name>ML</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/gildor478/ocaml-markdown/issues/</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-ml/ocaml-markdown/ocaml-markdown-0.2.1.ebuild b/dev-ml/ocaml-markdown/ocaml-markdown-0.2.1.ebuild
new file mode 100644
index 000000000000..93d50693e526
--- /dev/null
+++ b/dev-ml/ocaml-markdown/ocaml-markdown-0.2.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DUNE_PKG_NAME="markdown"
+
+inherit dune
+
+DESCRIPTION="Markdown parser and printer in OCaml"
+HOMEPAGE="https://github.com/gildor478/ocaml-markdown/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gildor478/${PN}"
+else
+ SRC_URI="https://github.com/gildor478/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+IUSE="+ocamlopt test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-ml/batteries-2.10:=
+ >=dev-ml/tyxml-4.3:=
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ test? (
+ >=dev-ml/ounit2-2.0.8
+ )
+"
+
+DOCS=( CHANGES.md README.md )
+
+src_install() {
+ dune_src_install
+ einstalldocs
+}
diff --git a/dev-python/deepdiff/deepdiff-8.6.1.ebuild b/dev-python/deepdiff/deepdiff-8.6.1.ebuild
index 2066d34b0ba4..d56dd735509c 100644
--- a/dev-python/deepdiff/deepdiff-8.6.1.ebuild
+++ b/dev-python/deepdiff/deepdiff-8.6.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023-2025 Gentoo Authors
+# Copyright 2023-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -30,6 +30,7 @@ DEPEND="
>=dev-python/jsonpickle-4.0.0[${PYTHON_USEDEP}]
>=dev-python/numpy-2.2.0[${PYTHON_USEDEP}]
>=dev-python/orjson-3.10.0[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
dev-python/pydantic[${PYTHON_USEDEP}]
dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
diff --git a/dev-python/deepdiff/deepdiff-8.6.2.ebuild b/dev-python/deepdiff/deepdiff-8.6.2.ebuild
index 4f0890c6c806..df4cc84200da 100644
--- a/dev-python/deepdiff/deepdiff-8.6.2.ebuild
+++ b/dev-python/deepdiff/deepdiff-8.6.2.ebuild
@@ -30,6 +30,7 @@ DEPEND="
>=dev-python/jsonpickle-4.0.0[${PYTHON_USEDEP}]
>=dev-python/numpy-2.2.0[${PYTHON_USEDEP}]
>=dev-python/orjson-3.10.0[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
dev-python/pydantic[${PYTHON_USEDEP}]
dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
diff --git a/dev-python/redis/redis-7.1.1.ebuild b/dev-python/redis/redis-7.1.1.ebuild
index 1272b41076a6..929b97781b1b 100644
--- a/dev-python/redis/redis-7.1.1.ebuild
+++ b/dev-python/redis/redis-7.1.1.ebuild
@@ -27,6 +27,7 @@ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
BDEPEND="
test? (
dev-db/redis
+ dev-python/mock[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/sip/Manifest b/dev-python/sip/Manifest
index c96f7f9054a6..482950ad668f 100644
--- a/dev-python/sip/Manifest
+++ b/dev-python/sip/Manifest
@@ -1,2 +1,3 @@
DIST sip-6.15.1.gh.tar.gz 2684607 BLAKE2B eb195d6de6de196630ee230a3ec561c57b50fb54b1ccabf33bc6838475c0d35968b1502daa8e5e9e78a9a875638261f2552a2a149e1625b23e117f832ba77f96 SHA512 fb14c7fae760dfed6719a1c5af284237a016b455897a4164f99dbaf86e92010d69dd2960133a64dedf0503fe102bfd0a1187873263370b556260e82f37aeb5ba
DIST sip-6.15.2.gh.tar.gz 2689763 BLAKE2B c6c521ad077b01cbb3cdf90f548959822256ea65f7dcce71790b336264f0401d92162efd56bdedc932f0da5e03eec11f1ad1fb1a0b6b11f7964c89930e1463b8 SHA512 c8fb5b4331e7c9dd491d71bd999be29234c340ac0fd8e6132cab703a8671eb6b3d7e8420f39b461b26fc9a8431ebc02699a01774e191f4b4ea4f4ab0af91d4d8
+DIST sip-6.15.3.gh.tar.gz 2690715 BLAKE2B fb2729a3c80e21c340e7374703b11ad5d90c35eb73fd1d9b873064d19f1c26cb88b60abad2a03dd2dbe8783a8d151d61b09718bc71f9c16142997abc047fab69 SHA512 6a496248d11f991692f2b0676081c3c846de4f9aa3c2fca071aed350f3f84916298e997d72e22b43829566042578ebc24df9c2788d8f4a46a07d3f485cc1adb0
diff --git a/dev-python/sip/sip-6.15.3.ebuild b/dev-python/sip/sip-6.15.3.ebuild
new file mode 100644
index 000000000000..f355d5351183
--- /dev/null
+++ b/dev-python/sip/sip-6.15.3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+inherit distutils-r1
+
+DESCRIPTION="Python bindings generator for C/C++ libraries"
+HOMEPAGE="https://github.com/Python-SIP/sip/"
+SRC_URI="
+ https://github.com/Python-SIP/sip/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2 BSD"
+SLOT="5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/sphinx-rtd-theme
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ # some tests currently fails to find test/utils without this
+ # TODO: try again without, used to be unneeded but not been looked into
+ local -x PYTHONPATH=${S}/test:${PYTHONPATH}
+
+ local EPYTEST_DESELECT=(
+ # logic for this test seems(?) inverted (XFAIL), skip for now
+ # given it's new and is only to emit a deprecation warning
+ test/gen_classes/test_gen_classes.py::GenerateClassesTestCase::test_Nonpublic_Superclasses
+ )
+
+ distutils-r1_python_test
+}
diff --git a/dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260323.ebuild b/dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260323.ebuild
index 4d9c63919d84..9ee72fee1d13 100644
--- a/dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260323.ebuild
+++ b/dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260323.ebuild
@@ -17,3 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+BDEPEND="
+ >=dev-python/setuptools-82.0.1[${PYTHON_USEDEP}]
+"
diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.10.9999.ebuild b/dev-qt/qtdeclarative/qtdeclarative-6.10.9999.ebuild
index c1843fa8b756..44a1f78c8f7a 100644
--- a/dev-qt/qtdeclarative/qtdeclarative-6.10.9999.ebuild
+++ b/dev-qt/qtdeclarative/qtdeclarative-6.10.9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2025 Gentoo Authors
+# Copyright 2021-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -40,6 +40,11 @@ src_configure() {
$(qt_feature jit qml_jit)
$(qt_feature network qml_network)
$(qt_feature ssl qml_ssl)
+
+ # qqmljstypepropagator.cpp:391:76: error: reference to 'Default' is ambiguous
+ # Not really looked into but does not seem to happen in >=6.11,
+ # so just disable it for 6.10.3 as it'll be temporary.
+ -DQT_UNITY_BUILD=no
)
qt6-build_src_configure
diff --git a/media-gfx/krita/Manifest b/media-gfx/krita/Manifest
index 638232f94c51..947b09c8eb47 100644
--- a/media-gfx/krita/Manifest
+++ b/media-gfx/krita/Manifest
@@ -1,2 +1 @@
-DIST krita-6.0.0-beta3.tar.xz 202402952 BLAKE2B 337295689644b4cbea174926b82be78c593e63fcbdf4cc7814d54549fc3fd1cef2135db7f552e9e67924a0bde284a7b580519114044afa4f56579c69063fc040 SHA512 cde71683dc08f404504a407e401b81320f36b13367e6e281564e24c3ce36e5a815dd9110595227e2271f72e2e31b4f49fdf87af5452cb957807468e92753b197
-DIST krita-6.0.0_beta3-patchset.tar.xz 17320 BLAKE2B 856a70c0ad1f1a57480df561b751290a05a406fb47d463e1468410200d2620fc72b95ad0dfdbd5c24a538b774fb8c3227c0acddd1fd5c6a8d6292b11d1231ab4 SHA512 9be10d8ffd92e03edab52beed32a02f94e98896ce7cd672f8b309855703aaf0f4ce600aa7fea7b4478f784654a49e439d2b267ded3e20d4721d69a2fd2e59c51
+DIST krita-6.0.0.tar.xz 203108612 BLAKE2B 825150fe84053ba87248e3d3a115188304472d2e694398a6b576e08c64b50dc6e29f465878cef345ab129581d0ff1665793950ef66ca9a5ca6732d6fbd2e98e6 SHA512 c1cc9fdc5c98ab1a52b96cf2343e38f7ae44ae971eb9566916fbfd706481257ee1745125d7311ceb8a402a32f96cf36cdaf96f3c52695851588b08d40a938eb0
diff --git a/media-gfx/krita/krita-6.0.0_beta3-r1.ebuild b/media-gfx/krita/krita-6.0.0.ebuild
index d554efdd0f18..70e6b015032f 100644
--- a/media-gfx/krita/krita-6.0.0_beta3-r1.ebuild
+++ b/media-gfx/krita/krita-6.0.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PATCHSET="${P}-patchset" # krita/6.0 branch @6c2a7d12
+PATCHSET=
ECM_TEST="forceoptional"
PYTHON_COMPAT=( python3_{10..14} )
KFMIN=6.16.0
@@ -110,8 +110,10 @@ PATCHES=(
# downstream
"${FILESDIR}"/${PN}-5.3.0-tests-optional.patch
"${FILESDIR}"/${PN}-5.2.2-fftw.patch # bug 913518
- "${WORKDIR}/${PATCHSET}"
)
+if [[ -n ${PATCHSET} ]]; then
+ PATCHES+=( "${WORKDIR}/${PATCHSET}" )
+fi
src_prepare() {
rm -r packaging || die # unused and too low CMake minimum
@@ -125,6 +127,7 @@ src_configure() {
local mycmakeargs=(
-DBUILD_WITH_QT6=ON
+ -DALLOW_UNSTABLE=QT6
-DENABLE_UPDATERS=OFF
-DKRITA_ENABLE_PCH=OFF # big mess.
-DCMAKE_DISABLE_FIND_PACKAGE_KSeExpr=ON # not packaged
diff --git a/media-plugins/obs-move-transition/Manifest b/media-plugins/obs-move-transition/Manifest
index e04e8abea133..9eac9f96658d 100644
--- a/media-plugins/obs-move-transition/Manifest
+++ b/media-plugins/obs-move-transition/Manifest
@@ -1,2 +1,2 @@
DIST obs-move-transition-3.1.5.tar.gz 170803 BLAKE2B b98fee861f16c275089da9bbab3f5227ad1f1ed6841c5ac4b1379b0039161f2169aca7604f28e8d97d485a8ad73f5613183bf25ee8446c4df575fb99811d0542 SHA512 d4a39c5c3022923e339c8f489bf864c8c630c0cae13bdc4b7c7f946779ff2d7d8a5052a054809c2e43e6fb06d4235d1a606584eb8fa0a900f3517c3a2702bb69
-DIST obs-move-transition-3.2.0.tar.gz 179310 BLAKE2B 2cb801fd683f6ba07d35d2f3a7aa4a144731aede6749afed5afd5615c33f242fd75422b9283fc32f2f81c37a41cb28f6c0b78c3b6058daede0692852ff01ddfc SHA512 57b4064a5b8e357addfa563db4d8bb95a93222c2a4dee8193d1b04ae26b4f1f5b864389b73e81d4f582b8e8772f7abc6f28c3e9bd15d4d214c07af9ffce82bbe
+DIST obs-move-transition-3.2.1.tar.gz 179113 BLAKE2B 8e267ec8f0922105da33d3e03d41e34b0980ef6a99e340bf0ca02b16e061de96d2464559705f5e7633e2588e3f43792390e09c2b2c11c3bd065d6a9cb7a35803 SHA512 6fc786eab134ceafde5e91559fa35cecd358d9b1eaef7e3e7767c44eb2a448ad5f422e21cc5e5c61722d1abac878ce746de247592f56b5042294181c8c07216d
diff --git a/media-plugins/obs-move-transition/obs-move-transition-3.2.0.ebuild b/media-plugins/obs-move-transition/obs-move-transition-3.2.1.ebuild
index 4d86ea5a1535..4d86ea5a1535 100644
--- a/media-plugins/obs-move-transition/obs-move-transition-3.2.0.ebuild
+++ b/media-plugins/obs-move-transition/obs-move-transition-3.2.1.ebuild
diff --git a/media-plugins/obs-source-clone/Manifest b/media-plugins/obs-source-clone/Manifest
index b19a419c2a9a..c944c9c70657 100644
--- a/media-plugins/obs-source-clone/Manifest
+++ b/media-plugins/obs-source-clone/Manifest
@@ -1,2 +1,2 @@
DIST obs-source-clone-0.1.5.tar.gz 55192 BLAKE2B df1f4903062f6dda0bde60bd6e1823f9ff6188d76e653b2b5a62f52f340ecb5b7437b53ef7b102c5843a5502d986cff5da944682bfa2b6e4fcf5ddfa23119eb2 SHA512 205eacadb1005aed954ed7a40bfd334c9defb4159a7be996d9d85bcf6999934abf96e7a9fc199bf2fd1d1a2efb1f43cc4e43b5c72b3872ad1f55049e6bdcc24b
-DIST obs-source-clone-0.2.0.tar.gz 62752 BLAKE2B 4f17a966f9fd2ba8724bfd1cb3f260e3c6159a38e16274d29f56795596789258d3cf628fbdc4c54d140c345266959fc34d49387bafabe72913d05d18faa2b9d5 SHA512 7a54a7213943de849a4b11b5e4db6550a609cdceb42a58fc2386f8c6bd7a8e1b6ec6d4915d66e7f22332ee11f36b7a5a50b9033d24c7272adce01b1a8882c5be
+DIST obs-source-clone-0.2.3.tar.gz 62985 BLAKE2B 1fed2ae91858554d2c4d8203dbca72908449127cd511fbac8d25a90a2d07ccb1b39b643638fe19c3546d2232da6a1028fc682d33d100498eb550df0fb42c0d0f SHA512 29e5582f98cbf86c55dba5d2cdb5ff4516bbd9be27bd2fd1e85e8b1e942f04439fe9e52128423d37d1d5106dd8f2d9c94f9effcb6a67c0915258f891075710cc
diff --git a/media-plugins/obs-source-clone/obs-source-clone-0.2.0.ebuild b/media-plugins/obs-source-clone/obs-source-clone-0.2.3.ebuild
index 571ce352fea3..e78d32e36294 100644
--- a/media-plugins/obs-source-clone/obs-source-clone-0.2.0.ebuild
+++ b/media-plugins/obs-source-clone/obs-source-clone-0.2.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/media-plugins/obs-source-dock/Manifest b/media-plugins/obs-source-dock/Manifest
index 41992ccb2325..3f5dce405f1c 100644
--- a/media-plugins/obs-source-dock/Manifest
+++ b/media-plugins/obs-source-dock/Manifest
@@ -1,2 +1,2 @@
DIST obs-source-dock-0.4.1.tar.gz 80885 BLAKE2B d79fb6c39b2f245ce9d22c0f1e2ce80d89aa4194c7a2762d5d402ecd7f9983d1d73add1106169de54f3b8020217e51ff8a7ef6dab38371598fdd1af8bfaadff1 SHA512 baf7c0ed4a3a7cc0361b35a6efe8eebc8336d0cdba7fdd363e41838e7e9d62e6a67b2615b62ca311453dbcf20253ed784a026343ff15c90e183ad06f2e370ed2
-DIST obs-source-dock-0.5.0.tar.gz 87807 BLAKE2B 50b780d06f32c4e612fe18aaf96d216b3bf790729aab52b58beb63199d3cdf7e04be990e7ba275f49eae9dd0ad8ca08e88352d408f694292841c0217719f029e SHA512 946ed391020dcf48c3c07f7c12e777a8b050ee798aefa099633c56a130eb1a8b65197f38df7d938cdd4e099ed37dd13123859a5c787f6d672580df852bb53472
+DIST obs-source-dock-0.5.1.tar.gz 87913 BLAKE2B 035416871f1a30fadd7f28a09ec09e071cae603cfd75d2e2fe968df9243469932d94cff851b51cbac0cd95328c4a5e703ed35e23a8c624bd547934f36b144d17 SHA512 d9b4078b9e2f86465cfd0b50f1cb520834fb650c22af27c750c38d6327867e062b18ba9fe002ed999279e59be5617d7d93f0d04b6de60b0693fdddf270655e7f
diff --git a/media-plugins/obs-source-dock/obs-source-dock-0.5.0.ebuild b/media-plugins/obs-source-dock/obs-source-dock-0.5.1.ebuild
index 18e4814113e2..c6df9dd4aa89 100644
--- a/media-plugins/obs-source-dock/obs-source-dock-0.5.0.ebuild
+++ b/media-plugins/obs-source-dock/obs-source-dock-0.5.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/media-plugins/obs-source-record/Manifest b/media-plugins/obs-source-record/Manifest
index 4ee4b5dc8072..5628f11af2a8 100644
--- a/media-plugins/obs-source-record/Manifest
+++ b/media-plugins/obs-source-record/Manifest
@@ -1 +1 @@
-DIST obs-source-record-0.4.6.tar.gz 67979 BLAKE2B 4b3047493c4a9affa2822b0c1458106b9049613f46a0d3678cefde64442292347d74119ea81fe07196abbd570e3f79bc7893aeb821ef32c87a07f4e79d727fea SHA512 5e393fb156744ade3ca3c129a030520ded0c76947688776bf7c02c47ab519b91f9115a990b568d32d14c22a56a15ed0b6b6f4c0855ca4f66bd36e87fcb1febe9
+DIST obs-source-record-0.4.7.tar.gz 68367 BLAKE2B 8b28d6eb0ee5c77a8f0855f40f01e7c734f8eec73504c649161cb784fd62a6b37563901b7e3e9e1ced220d41e0ee05071d6f3781fb3a01a27c5f25856b0ec04e SHA512 704fdad7493960953de7cc54b23f7134466afef8242cf0d650766a074c2ec91de35ee543794ccb7cd7457c4fd07cc5fde10fbd1062028b24ce3c8b1baaf124e1
diff --git a/media-plugins/obs-source-record/obs-source-record-0.4.6.ebuild b/media-plugins/obs-source-record/obs-source-record-0.4.7.ebuild
index 4a4e0fa0f1fd..7de8c68b6040 100644
--- a/media-plugins/obs-source-record/obs-source-record-0.4.6.ebuild
+++ b/media-plugins/obs-source-record/obs-source-record-0.4.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/media-plugins/obs-vkcapture/Manifest b/media-plugins/obs-vkcapture/Manifest
index bf0c4b326edf..dce8f13f3cbc 100644
--- a/media-plugins/obs-vkcapture/Manifest
+++ b/media-plugins/obs-vkcapture/Manifest
@@ -1 +1 @@
-DIST obs-vkcapture-1.5.3.tar.gz 61087 BLAKE2B 969ecb51e5403a23d6ac16af8cd51d422f621e2392c93e93f353fd6bd596a76d0a4ba7e586931beed6578fb0d61c5efed58fa3ce1fb58f64b021bc240d7b597e SHA512 fdc3e1dd3d86b2ef6e5721e235abad4e45a3b03ad386f237c6bcf168f23f125e2cf2a4d10d040a53fadb5633a426d13d3152080ebc70fbbccf49cfb1d9f385fb
+DIST obs-vkcapture-1.5.5.tar.gz 62059 BLAKE2B 066a0b31dc472ff8c46a20a994d852711bc88b7e0aa0863e6c9b3b885917d7e42af2fe95a6977925c4b0b05e80da359964bd867160600868eb5b5d8c95cbe411 SHA512 6cdc876db1e3cbb147bcc835b9ee076fc4c81b8495a59b7abdbedaacf6d70a9661de71d077be0773be72ba0c8b1a5d0a05708e7282fbafa9fd4d3cab94a38d5e
diff --git a/media-plugins/obs-vkcapture/obs-vkcapture-1.5.3-r1.ebuild b/media-plugins/obs-vkcapture/obs-vkcapture-1.5.5.ebuild
index 586be92c8773..586be92c8773 100644
--- a/media-plugins/obs-vkcapture/obs-vkcapture-1.5.3-r1.ebuild
+++ b/media-plugins/obs-vkcapture/obs-vkcapture-1.5.5.ebuild
diff --git a/metadata/md5-cache/app-i18n/fcitx-5.1.19 b/metadata/md5-cache/app-i18n/fcitx-5.1.19
new file mode 100644
index 000000000000..729416cdd6b9
--- /dev/null
+++ b/metadata/md5-cache/app-i18n/fcitx-5.1.19
@@ -0,0 +1,18 @@
+BDEPEND=virtual/pkgconfig kde-frameworks/extra-cmake-modules:0 app-alternatives/ninja >=dev-build/cmake-3.28.5
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack
+DEPEND=dev-libs/libfmt sys-devel/gettext virtual/libintl x11-libs/cairo[X?] x11-libs/gdk-pixbuf:2 x11-libs/pango[X?] doc? ( app-text/doxygen dev-texlive/texlive-fontutils ) emoji? ( virtual/zlib:= ) enchant? ( app-text/enchant:2 ) keyboard? ( app-text/iso-codes dev-libs/expat dev-cpp/nlohmann_json x11-misc/xkeyboard-config x11-libs/libxkbcommon[X?,wayland?] ) systemd? ( sys-apps/systemd ) !systemd? ( dev-libs/libuv sys-apps/dbus ) system-yoga? ( dev-libs/yoga ) wayland? ( dev-libs/glib:2 dev-libs/wayland dev-libs/wayland-protocols dev-util/wayland-scanner ) X? ( dev-libs/glib:2 >=x11-libs/xcb-imdkit-1.0.3:5 x11-libs/libX11 x11-libs/libxkbfile x11-libs/xcb-util x11-libs/xcb-util-keysyms x11-libs/xcb-util-wm )
+DESCRIPTION=Fcitx 5 is a generic input method framework
+EAPI=8
+HOMEPAGE=https://fcitx-im.org/ https://github.com/fcitx/fcitx5
+IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info
+INHERIT=cmake flag-o-matic toolchain-funcs unpacker xdg
+IUSE=+autostart doc +emoji +enchant +keyboard presage +server systemd system-yoga test wayland +X
+KEYWORDS=~amd64
+LICENSE=LGPL-2+ Unicode-DFS-2016
+RDEPEND=dev-libs/libfmt sys-devel/gettext virtual/libintl x11-libs/cairo[X?] x11-libs/gdk-pixbuf:2 x11-libs/pango[X?] doc? ( app-text/doxygen dev-texlive/texlive-fontutils ) emoji? ( virtual/zlib:= ) enchant? ( app-text/enchant:2 ) keyboard? ( app-text/iso-codes dev-libs/expat dev-cpp/nlohmann_json x11-misc/xkeyboard-config x11-libs/libxkbcommon[X?,wayland?] ) systemd? ( sys-apps/systemd ) !systemd? ( dev-libs/libuv sys-apps/dbus ) system-yoga? ( dev-libs/yoga ) wayland? ( dev-libs/glib:2 dev-libs/wayland dev-libs/wayland-protocols dev-util/wayland-scanner ) X? ( dev-libs/glib:2 >=x11-libs/xcb-imdkit-1.0.3:5 x11-libs/libX11 x11-libs/libxkbfile x11-libs/xcb-util x11-libs/xcb-util-keysyms x11-libs/xcb-util-wm )
+REQUIRED_USE=|| ( wayland X ) X? ( keyboard ) wayland? ( keyboard )
+RESTRICT=!test? ( test )
+SLOT=5
+SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-5.1.19_dict.tar.zst -> fcitx-5.1.19.tar.zst
+_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=a7e16c36e09fa0f32a3a5a854ab7d7eb
diff --git a/metadata/md5-cache/app-i18n/fcitx-chewing-5.1.11 b/metadata/md5-cache/app-i18n/fcitx-chewing-5.1.11
new file mode 100644
index 000000000000..8fec90388a87
--- /dev/null
+++ b/metadata/md5-cache/app-i18n/fcitx-chewing-5.1.11
@@ -0,0 +1,17 @@
+BDEPEND=virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.28.5
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack
+DEPEND=!app-i18n/fcitx-chewing:4 >=app-i18n/fcitx-5.1.13:5 >=app-i18n/libchewing-0.5.0
+DESCRIPTION=Chewing Wrapper for Fcitx.
+EAPI=8
+HOMEPAGE=https://github.com/fcitx/fcitx5-chewing
+IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info
+INHERIT=cmake unpacker xdg
+IUSE=test
+KEYWORDS=~amd64 ~arm64 ~loong ~riscv ~x86
+LICENSE=LGPL-2.1+
+RDEPEND=!app-i18n/fcitx-chewing:4 >=app-i18n/fcitx-5.1.13:5 >=app-i18n/libchewing-0.5.0
+RESTRICT=!test? ( test )
+SLOT=5
+SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-chewing/fcitx5-chewing-5.1.11.tar.zst -> fcitx-chewing-5.1.11.tar.zst
+_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=d03e9ada9115e54fdb94c99dd60aac1b
diff --git a/metadata/md5-cache/app-i18n/fcitx-chinese-addons-5.1.12 b/metadata/md5-cache/app-i18n/fcitx-chinese-addons-5.1.12
new file mode 100644
index 000000000000..73d4bdd37444
--- /dev/null
+++ b/metadata/md5-cache/app-i18n/fcitx-chinese-addons-5.1.12
@@ -0,0 +1,18 @@
+BDEPEND=kde-frameworks/extra-cmake-modules:0 virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.28.5
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack
+DEPEND=>=app-i18n/fcitx-5.1.13:5 >=app-i18n/libime-1.1.13:5[data?] >=dev-libs/boost-1.61:= cloudpinyin? ( net-misc/curl ) gui? ( >=app-i18n/fcitx-qt-5.1.4:5[qt6(+),-onlyplugin] dev-qt/qtbase:6[concurrent,gui,network,widgets] webengine? ( dev-qt/qtwebengine:6[widgets] ) ) lua? ( app-i18n/fcitx-lua:5 ) opencc? ( app-i18n/opencc:= )
+DESCRIPTION=Addons related to Chinese, including IME previous bundled inside fcitx4
+EAPI=8
+HOMEPAGE=https://github.com/fcitx/fcitx5-chinese-addons
+IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info
+INHERIT=cmake unpacker xdg
+IUSE=+cloudpinyin +data +gui lua +opencc test webengine
+KEYWORDS=~amd64 ~arm64 ~loong ~riscv ~x86
+LICENSE=GPL-2+ LGPL-2+
+RDEPEND=>=app-i18n/fcitx-5.1.13:5 >=app-i18n/libime-1.1.13:5[data?] >=dev-libs/boost-1.61:= cloudpinyin? ( net-misc/curl ) gui? ( >=app-i18n/fcitx-qt-5.1.4:5[qt6(+),-onlyplugin] dev-qt/qtbase:6[concurrent,gui,network,widgets] webengine? ( dev-qt/qtwebengine:6[widgets] ) ) lua? ( app-i18n/fcitx-lua:5 ) opencc? ( app-i18n/opencc:= )
+REQUIRED_USE=webengine? ( gui )
+RESTRICT=!test? ( test )
+SLOT=5
+SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-chinese-addons/fcitx5-chinese-addons-5.1.12_dict.tar.zst
+_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=7dc8bb249ff18716d83d06337bc57c4c
diff --git a/metadata/md5-cache/app-i18n/fcitx-configtool-5.1.13 b/metadata/md5-cache/app-i18n/fcitx-configtool-5.1.13
new file mode 100644
index 000000000000..b0b76f5087ed
--- /dev/null
+++ b/metadata/md5-cache/app-i18n/fcitx-configtool-5.1.13
@@ -0,0 +1,16 @@
+BDEPEND=app-arch/zstd kde-frameworks/extra-cmake-modules:0 sys-devel/gettext virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.28.5
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=>=app-i18n/fcitx-5.1.13:5 >=app-i18n/fcitx-qt-5.1.4:5[qt6(+),-onlyplugin] app-text/iso-codes dev-qt/qtbase:6[concurrent,dbus,gui,widgets] dev-qt/qtsvg:6 kde-frameworks/kwidgetsaddons:6 sys-devel/gettext virtual/libintl X? ( x11-libs/libX11 x11-misc/xkeyboard-config ) config-qt? ( kde-frameworks/kitemviews:6 ) kcm? ( dev-qt/qtdeclarative:6 kde-frameworks/kcoreaddons:6 kde-frameworks/kdeclarative:6 kde-frameworks/ki18n:6 kde-frameworks/kiconthemes:6 kde-frameworks/kirigami:6 kde-frameworks/kpackage:6 kde-frameworks/ksvg:6 kde-frameworks/kcmutils:6 kde-plasma/libplasma:6= x11-libs/libxkbcommon )
+DESCRIPTION=Configuration module for Fcitx
+EAPI=8
+HOMEPAGE=https://fcitx-im.org/ https://github.com/fcitx/fcitx5-configtool
+INHERIT=cmake unpacker
+IUSE=kcm +config-qt test X
+KEYWORDS=~amd64 ~loong
+LICENSE=GPL-2+
+RDEPEND=>=app-i18n/fcitx-5.1.13:5 >=app-i18n/fcitx-qt-5.1.4:5[qt6(+),-onlyplugin] app-text/iso-codes dev-qt/qtbase:6[concurrent,dbus,gui,widgets] dev-qt/qtsvg:6 kde-frameworks/kwidgetsaddons:6 sys-devel/gettext virtual/libintl X? ( x11-libs/libX11 x11-misc/xkeyboard-config ) config-qt? ( kde-frameworks/kitemviews:6 ) kcm? ( dev-qt/qtdeclarative:6 kde-frameworks/kcoreaddons:6 kde-frameworks/kdeclarative:6 kde-frameworks/ki18n:6 kde-frameworks/kiconthemes:6 kde-frameworks/kirigami:6 kde-frameworks/kpackage:6 kde-frameworks/ksvg:6 kde-frameworks/kcmutils:6 kde-plasma/libplasma:6= x11-libs/libxkbcommon )
+RESTRICT=!test? ( test )
+SLOT=5
+SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-configtool/fcitx5-configtool-5.1.13.tar.zst -> fcitx-configtool-5.1.13.tar.zst
+_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=8d9a7d30ea459269cc36e5b66400fc29
diff --git a/metadata/md5-cache/app-i18n/fcitx-table-extra-5.1.7 b/metadata/md5-cache/app-i18n/fcitx-hangul-5.1.9
index 08ae1a4a0d94..78144da48b12 100644
--- a/metadata/md5-cache/app-i18n/fcitx-table-extra-5.1.7
+++ b/metadata/md5-cache/app-i18n/fcitx-hangul-5.1.9
@@ -1,15 +1,15 @@
BDEPEND=kde-frameworks/extra-cmake-modules:0 virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.28.5
DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack
-DEPEND=!app-i18n/fcitx-table-extra:4 app-i18n/fcitx:5 app-i18n/libime
-DESCRIPTION=Provides extra table for Fcitx, including Boshiamy, Zhengma, Cangjie, and Quick
+DEPEND=!app-i18n/fcitx-hangul:4 >=app-i18n/fcitx-5.1.13:5 >=app-i18n/libhangul-0.0.12 virtual/libiconv
+DESCRIPTION=Korean Hangul input method for Fcitx
EAPI=8
-HOMEPAGE=https://github.com/fcitx/fcitx5-table-extra
+HOMEPAGE=https://fcitx-im.org/ https://github.com/fcitx/fcitx5-hangul
IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info
INHERIT=cmake unpacker xdg
-KEYWORDS=amd64 ~arm64 ~loong ~riscv x86
-LICENSE=GPL-3+
-RDEPEND=!app-i18n/fcitx-table-extra:4 app-i18n/fcitx:5 app-i18n/libime
+KEYWORDS=~amd64 ~arm64 ~loong ~riscv ~x86
+LICENSE=LGPL-2.1+
+RDEPEND=!app-i18n/fcitx-hangul:4 >=app-i18n/fcitx-5.1.13:5 >=app-i18n/libhangul-0.0.12 virtual/libiconv
SLOT=5
-SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-table-extra/fcitx5-table-extra-5.1.7.tar.zst -> fcitx-table-extra-5.1.7.tar.zst
+SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-hangul/fcitx5-hangul-5.1.9.tar.zst
_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=0db042fbda6ad2b9a45f0e8133516079
+_md5_=d895f282ddb8595de5bc6d852ae7ed0d
diff --git a/metadata/md5-cache/app-i18n/fcitx-lua-5.0.16 b/metadata/md5-cache/app-i18n/fcitx-lua-5.0.16
new file mode 100644
index 000000000000..cb001d055364
--- /dev/null
+++ b/metadata/md5-cache/app-i18n/fcitx-lua-5.0.16
@@ -0,0 +1,18 @@
+BDEPEND=kde-frameworks/extra-cmake-modules:0 sys-devel/gettext virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.28.5
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test unpack
+DEPEND=lua_single_target_luajit? ( dev-lang/luajit:= ) lua_single_target_lua5-1? ( dev-lang/lua:5.1 ) lua_single_target_lua5-3? ( dev-lang/lua:5.3 ) lua_single_target_lua5-4? ( dev-lang/lua:5.4 ) >=app-i18n/fcitx-5.1.13:5
+DESCRIPTION=Lua support for fcitx
+EAPI=8
+HOMEPAGE=https://github.com/fcitx/fcitx5-lua
+IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info
+INHERIT=cmake lua-single xdg unpacker
+IUSE=+dlopen test lua_single_target_luajit lua_single_target_lua5-1 lua_single_target_lua5-3 lua_single_target_lua5-4
+KEYWORDS=~amd64 ~arm64 ~loong ~riscv ~x86
+LICENSE=LGPL-2.1+
+RDEPEND=lua_single_target_luajit? ( dev-lang/luajit:= ) lua_single_target_lua5-1? ( dev-lang/lua:5.1 ) lua_single_target_lua5-3? ( dev-lang/lua:5.3 ) lua_single_target_lua5-4? ( dev-lang/lua:5.4 ) >=app-i18n/fcitx-5.1.13:5
+REQUIRED_USE=^^ ( lua_single_target_luajit lua_single_target_lua5-1 lua_single_target_lua5-3 lua_single_target_lua5-4 )
+RESTRICT=!test? ( test )
+SLOT=5
+SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-lua/fcitx5-lua-5.0.16.tar.zst -> fcitx-lua-5.0.16.tar.zst
+_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d lua-single 75fe955a36b18e199213c8739eaebdbb lua-utils 7c89927eda6f21c4c48136247077ab37 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=a8589ab6011f5524a260e12cf8fd608c
diff --git a/metadata/md5-cache/app-i18n/fcitx-m17n-5.1.6 b/metadata/md5-cache/app-i18n/fcitx-m17n-5.1.6
new file mode 100644
index 000000000000..a9022320d690
--- /dev/null
+++ b/metadata/md5-cache/app-i18n/fcitx-m17n-5.1.6
@@ -0,0 +1,16 @@
+BDEPEND=virtual/pkgconfig kde-frameworks/extra-cmake-modules:0 app-alternatives/ninja >=dev-build/cmake-3.28.5
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=>=app-i18n/fcitx-5.1.13:5 dev-db/m17n-db >=dev-libs/m17n-lib-1.6.3[X]
+DESCRIPTION=m17n-provided input methods for Fcitx5
+EAPI=8
+HOMEPAGE=https://github.com/fcitx/fcitx5-m17n
+INHERIT=cmake unpacker
+IUSE=test
+KEYWORDS=~amd64 ~arm64 ~loong ~riscv ~x86
+LICENSE=LGPL-2.1+
+RDEPEND=>=app-i18n/fcitx-5.1.13:5 dev-db/m17n-db >=dev-libs/m17n-lib-1.6.3[X]
+RESTRICT=!test? ( test )
+SLOT=5
+SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-m17n/fcitx5-m17n-5.1.6.tar.zst -> fcitx-m17n-5.1.6.tar.zst
+_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=5d82c0de269d715a4256e6aa243b87ce
diff --git a/metadata/md5-cache/app-i18n/fcitx-qt-5.1.13 b/metadata/md5-cache/app-i18n/fcitx-qt-5.1.13
new file mode 100644
index 000000000000..c0f06c2e77b3
--- /dev/null
+++ b/metadata/md5-cache/app-i18n/fcitx-qt-5.1.13
@@ -0,0 +1,16 @@
+BDEPEND=kde-frameworks/extra-cmake-modules:0 virtual/pkgconfig !onlyplugin? ( sys-devel/gettext ) app-alternatives/ninja >=dev-build/cmake-3.28.5
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=!onlyplugin? ( >=app-i18n/fcitx-5.1.13:5 qt5? ( dev-qt/qtconcurrent:5 ) ) qt5? ( dev-qt/qtcore:5 dev-qt/qtdbus:5 dev-qt/qtgui:5= dev-qt/qtwidgets:5 wayland? ( dev-qt/qtwayland:5 ) ) qt6? ( dev-qt/qtbase:6=[dbus,gui,widgets,wayland?] wayland? ( dev-qt/qtwayland:6 ) ) X? ( x11-libs/libX11 x11-libs/libxcb x11-libs/libxkbcommon )
+DESCRIPTION=Qt library and IM module for fcitx5
+EAPI=8
+HOMEPAGE=https://github.com/fcitx/fcitx5-qt
+INHERIT=cmake dot-a unpacker
+IUSE=qt5 onlyplugin staticplugin +qt6 +X wayland
+KEYWORDS=~amd64 ~arm64 ~loong ~riscv ~x86
+LICENSE=BSD LGPL-2.1+
+RDEPEND=!onlyplugin? ( >=app-i18n/fcitx-5.1.13:5 qt5? ( dev-qt/qtconcurrent:5 ) ) qt5? ( dev-qt/qtcore:5 dev-qt/qtdbus:5 dev-qt/qtgui:5= dev-qt/qtwidgets:5 wayland? ( dev-qt/qtwayland:5 ) ) qt6? ( dev-qt/qtbase:6=[dbus,gui,widgets,wayland?] wayland? ( dev-qt/qtwayland:6 ) ) X? ( x11-libs/libX11 x11-libs/libxcb x11-libs/libxkbcommon )
+REQUIRED_USE=|| ( qt5 qt6 ) qt5? ( X ) staticplugin? ( onlyplugin )
+SLOT=5
+SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-qt/fcitx5-qt-5.1.13.tar.zst -> fcitx-qt-5.1.13.tar.zst
+_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 dot-a e5200fe17cfd2ed6fa66edd80201763a eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=28ac11b631d2d5386e845849e9296be5
diff --git a/metadata/md5-cache/app-i18n/fcitx-rime-5.1.13 b/metadata/md5-cache/app-i18n/fcitx-rime-5.1.13
new file mode 100644
index 000000000000..b184a229caf5
--- /dev/null
+++ b/metadata/md5-cache/app-i18n/fcitx-rime-5.1.13
@@ -0,0 +1,15 @@
+BDEPEND=kde-frameworks/extra-cmake-modules sys-devel/gettext virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.28.5
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack
+DEPEND=!app-i18n/fcitx-rime:4 >=app-i18n/fcitx-5.1.13:5 app-i18n/librime app-i18n/rime-data virtual/libintl
+DESCRIPTION=Chinese RIME input methods for Fcitx
+EAPI=8
+HOMEPAGE=https://fcitx-im.org/ https://github.com/fcitx/fcitx5-rime
+IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info
+INHERIT=cmake unpacker xdg
+KEYWORDS=~amd64 ~arm64 ~loong ~riscv ~x86
+LICENSE=LGPL-2.1+
+RDEPEND=!app-i18n/fcitx-rime:4 >=app-i18n/fcitx-5.1.13:5 app-i18n/librime app-i18n/rime-data virtual/libintl
+SLOT=5
+SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-rime/fcitx5-rime-5.1.13.tar.zst -> fcitx-rime-5.1.13.tar.zst
+_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=ab905dfa920896d046c03572e431b5f0
diff --git a/metadata/md5-cache/app-i18n/fcitx-sayura-5.1.3 b/metadata/md5-cache/app-i18n/fcitx-sayura-5.1.6
index a377044f1a55..570bb80f7ecd 100644
--- a/metadata/md5-cache/app-i18n/fcitx-sayura-5.1.3
+++ b/metadata/md5-cache/app-i18n/fcitx-sayura-5.1.6
@@ -10,6 +10,6 @@ KEYWORDS=~amd64
LICENSE=LGPL-2.1+ MIT
RDEPEND=>=app-i18n/fcitx-5.1.12:5
SLOT=5
-SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-sayura/fcitx5-sayura-5.1.3.tar.zst -> fcitx-sayura-5.1.3.tar.zst
+SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-sayura/fcitx5-sayura-5.1.6.tar.zst -> fcitx-sayura-5.1.6.tar.zst
_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=a8537d99d32e261b58eaa04af621d6ef
+_md5_=5161f20de11d5fe7afe4bd8e5383e520
diff --git a/metadata/md5-cache/app-i18n/fcitx-table-extra-5.1.9 b/metadata/md5-cache/app-i18n/fcitx-table-extra-5.1.11
index 8b375cb69a43..3d1460a036f2 100644
--- a/metadata/md5-cache/app-i18n/fcitx-table-extra-5.1.9
+++ b/metadata/md5-cache/app-i18n/fcitx-table-extra-5.1.11
@@ -10,6 +10,6 @@ KEYWORDS=~amd64 ~arm64 ~loong ~riscv ~x86
LICENSE=GPL-3+
RDEPEND=!app-i18n/fcitx-table-extra:4 app-i18n/fcitx:5 app-i18n/libime
SLOT=5
-SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-table-extra/fcitx5-table-extra-5.1.9.tar.zst -> fcitx-table-extra-5.1.9.tar.zst
+SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-table-extra/fcitx5-table-extra-5.1.11.tar.zst -> fcitx-table-extra-5.1.11.tar.zst
_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=0a0fd34f3469a996297e95929569c2ac
+_md5_=62b886b626dffecc4ebe5a51f873c1e4
diff --git a/metadata/md5-cache/app-i18n/fcitx-table-other-5.1.4 b/metadata/md5-cache/app-i18n/fcitx-table-other-5.1.6
index 2cc1c71cd090..5e7d75597c68 100644
--- a/metadata/md5-cache/app-i18n/fcitx-table-other-5.1.4
+++ b/metadata/md5-cache/app-i18n/fcitx-table-other-5.1.6
@@ -6,10 +6,10 @@ EAPI=8
HOMEPAGE=https://github.com/fcitx/fcitx5-table-other
IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info
INHERIT=cmake unpacker xdg
-KEYWORDS=amd64 ~arm64 ~loong ~riscv x86
+KEYWORDS=~amd64 ~arm64 ~loong ~riscv ~x86
LICENSE=GPL-3
RDEPEND=app-i18n/fcitx:5 app-i18n/libime
SLOT=5
-SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-table-other/fcitx5-table-other-5.1.4.tar.zst -> fcitx-table-other-5.1.4.tar.zst
+SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-table-other/fcitx5-table-other-5.1.6.tar.zst -> fcitx-table-other-5.1.6.tar.zst
_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=5cc0a53685d7da438b26d6a989c0384f
+_md5_=137256d5b4397a6aa9dd32b67e178aa1
diff --git a/metadata/md5-cache/app-i18n/fcitx-unikey-5.1.6-r1 b/metadata/md5-cache/app-i18n/fcitx-unikey-5.1.10
index 65a7e917d4a1..73ab4609c878 100644
--- a/metadata/md5-cache/app-i18n/fcitx-unikey-5.1.6-r1
+++ b/metadata/md5-cache/app-i18n/fcitx-unikey-5.1.10
@@ -1,6 +1,6 @@
BDEPEND=kde-frameworks/extra-cmake-modules:0 virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.28.5
DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack
-DEPEND=>=app-i18n/fcitx-5.1.12:5 >=app-i18n/fcitx-qt-5.1.4:5[qt6(+),-onlyplugin] gui? ( dev-qt/qtbase:6[dbus,gui,widgets] )
+DEPEND=>=app-i18n/fcitx-5.1.13:5 >=app-i18n/fcitx-qt-5.1.4:5[qt6(+),-onlyplugin] gui? ( dev-qt/qtbase:6[dbus,gui,widgets] )
DESCRIPTION=Unikey (Vietnamese Input Method) engine support for Fcitx
EAPI=8
HOMEPAGE=https://fcitx-im.org/ https://github.com/fcitx/fcitx5-unikey
@@ -9,9 +9,9 @@ INHERIT=cmake unpacker xdg
IUSE=+gui test
KEYWORDS=~amd64 ~x86
LICENSE=LGPL-2+ GPL-2+
-RDEPEND=>=app-i18n/fcitx-5.1.12:5 >=app-i18n/fcitx-qt-5.1.4:5[qt6(+),-onlyplugin] gui? ( dev-qt/qtbase:6[dbus,gui,widgets] )
+RDEPEND=>=app-i18n/fcitx-5.1.13:5 >=app-i18n/fcitx-qt-5.1.4:5[qt6(+),-onlyplugin] gui? ( dev-qt/qtbase:6[dbus,gui,widgets] )
RESTRICT=!test? ( test )
SLOT=5
-SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-unikey/fcitx5-unikey-5.1.6.tar.zst
+SRC_URI=https://download.fcitx-im.org/fcitx5/fcitx5-unikey/fcitx5-unikey-5.1.10.tar.zst
_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=737bd3bedd5fb9ccff8995a9b0f99042
+_md5_=b9407ce669a5080db13004ae74a12b59
diff --git a/metadata/md5-cache/app-i18n/libime-1.1.14 b/metadata/md5-cache/app-i18n/libime-1.1.14
new file mode 100644
index 000000000000..228cb108d579
--- /dev/null
+++ b/metadata/md5-cache/app-i18n/libime-1.1.14
@@ -0,0 +1,16 @@
+BDEPEND=kde-frameworks/extra-cmake-modules:0 virtual/pkgconfig doc? ( app-text/doxygen dev-texlive/texlive-fontutils ) app-alternatives/ninja >=dev-build/cmake-3.28.5
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=>=app-i18n/fcitx-5.1.13:5 app-arch/zstd:= dev-libs/boost:=
+DESCRIPTION=Fcitx5 Next generation of fcitx
+EAPI=8
+HOMEPAGE=https://fcitx-im.org/
+INHERIT=cmake unpacker
+IUSE=+data doc test
+KEYWORDS=~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86
+LICENSE=LGPL-2+
+RDEPEND=>=app-i18n/fcitx-5.1.13:5 app-arch/zstd:= dev-libs/boost:=
+RESTRICT=!test? ( test )
+SLOT=5
+SRC_URI=https://download.fcitx-im.org/fcitx5/libime/libime-1.1.14_dict.tar.zst
+_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 unpacker a89c769f7dcf68bd2a6d23da9ede2ad2 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=02e84a0dfb8c799dad071e1f8a7fed0e
diff --git a/metadata/md5-cache/app-office/joplin-desktop-3.6.6 b/metadata/md5-cache/app-office/joplin-desktop-3.6.6
new file mode 100644
index 000000000000..3e70007b1a2c
--- /dev/null
+++ b/metadata/md5-cache/app-office/joplin-desktop-3.6.6
@@ -0,0 +1,14 @@
+DEFINED_PHASES=install postinst postrm preinst prepare unpack
+DESCRIPTION=Secure note taking and to-do app with synchronization capabilities
+EAPI=8
+HOMEPAGE=https://joplinapp.org/ https://github.com/laurent22/joplin/
+IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info
+INHERIT=desktop xdg
+KEYWORDS=-* ~amd64
+LICENSE=AGPL-3+
+RDEPEND=>=app-accessibility/at-spi2-core-2.46.0:2 app-crypt/libsecret[crypt] app-misc/ca-certificates dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss media-libs/alsa-lib || ( media-libs/libcanberra-gtk3 media-libs/libcanberra[gtk3(-)] ) media-libs/libglvnd media-libs/mesa net-misc/curl net-print/cups sys-apps/dbus virtual/zlib:= sys-process/lsof x11-libs/cairo x11-libs/gtk+:3 x11-libs/libdrm x11-libs/libnotify x11-libs/libX11 x11-libs/libxcb x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libxkbcommon x11-libs/libxkbfile x11-libs/libXrandr x11-libs/libXScrnSaver x11-libs/pango x11-misc/xdg-utils
+RESTRICT=bindist splitdebug
+SLOT=0
+SRC_URI=https://github.com/laurent22/joplin/releases/download/v3.6.6/Joplin-3.6.6.AppImage
+_eclasses_=desktop 26d57169ca094c04be416993844ec8bc xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=38c81d5b518f87d296c8ae6593df996a
diff --git a/metadata/md5-cache/dev-lang/kotlin-bin-2.3.0 b/metadata/md5-cache/dev-lang/kotlin-bin-2.3.0
deleted file mode 100644
index 17e2b59d9774..000000000000
--- a/metadata/md5-cache/dev-lang/kotlin-bin-2.3.0
+++ /dev/null
@@ -1,14 +0,0 @@
-BDEPEND=app-arch/unzip
-DEFINED_PHASES=compile install preinst prepare setup
-DEPEND=>=virtual/jdk-1.8:* >=dev-java/java-config-2.2.0-r3
-DESCRIPTION=Statically typed language that targets the JVM and JavaScript
-EAPI=8
-HOMEPAGE=https://kotlinlang.org/ https://github.com/JetBrains/kotlin/
-INHERIT=java-pkg-2 wrapper
-KEYWORDS=~amd64 ~x86
-LICENSE=Apache-2.0 BSD MIT NPL-1.1
-RDEPEND=>=virtual/jre-1.8:* >=dev-java/java-config-2.2.0-r3
-SLOT=0/2.3.0
-SRC_URI=https://github.com/JetBrains/kotlin/releases/download/v2.3.0/kotlin-compiler-2.3.0.zip
-_eclasses_=java-pkg-2 438c2725ea326202d7fc1eb31af76813 java-utils-2 b41327d85d12ce816943cf4d344add19 wrapper ebaa3beeb43f7e533872b6c37168c7ad
-_md5_=0d5c2f0730b056e1cb3d670c815cb215
diff --git a/metadata/md5-cache/dev-lang/kotlin-bin-2.2.21 b/metadata/md5-cache/dev-lang/kotlin-bin-2.3.20
index db8bb58cc9f0..c662567dd248 100644
--- a/metadata/md5-cache/dev-lang/kotlin-bin-2.2.21
+++ b/metadata/md5-cache/dev-lang/kotlin-bin-2.3.20
@@ -8,7 +8,7 @@ INHERIT=java-pkg-2 wrapper
KEYWORDS=~amd64 ~x86
LICENSE=Apache-2.0 BSD MIT NPL-1.1
RDEPEND=>=virtual/jre-1.8:* >=dev-java/java-config-2.2.0-r3
-SLOT=0/2.2.21
-SRC_URI=https://github.com/JetBrains/kotlin/releases/download/v2.2.21/kotlin-compiler-2.2.21.zip
+SLOT=0/2.3.20
+SRC_URI=https://github.com/JetBrains/kotlin/releases/download/v2.3.20/kotlin-compiler-2.3.20.zip
_eclasses_=java-pkg-2 438c2725ea326202d7fc1eb31af76813 java-utils-2 b41327d85d12ce816943cf4d344add19 wrapper ebaa3beeb43f7e533872b6c37168c7ad
-_md5_=0d5c2f0730b056e1cb3d670c815cb215
+_md5_=097ff694ee67bf899e1d5e5a564163b2
diff --git a/metadata/md5-cache/dev-lang/typescript-5.9.2 b/metadata/md5-cache/dev-lang/typescript-5.9.2
deleted file mode 100644
index 2b7e78c311df..000000000000
--- a/metadata/md5-cache/dev-lang/typescript-5.9.2
+++ /dev/null
@@ -1,11 +0,0 @@
-BDEPEND=>=net-libs/nodejs-16[npm]
-DEFINED_PHASES=compile install
-DESCRIPTION=Superset of JavaScript with optional static typing, classes and interfaces
-EAPI=8
-HOMEPAGE=https://www.typescriptlang.org/ https://github.com/microsoft/TypeScript/
-KEYWORDS=amd64 ~arm64 ~ppc64
-LICENSE=Apache-2.0
-RDEPEND=net-libs/nodejs
-SLOT=0
-SRC_URI=https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz
-_md5_=f4d59627cc5293ae07b7c5455778de75
diff --git a/metadata/md5-cache/dev-libs/yoga-3.2.1 b/metadata/md5-cache/dev-libs/yoga-3.2.1
new file mode 100644
index 000000000000..406028c8809d
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/yoga-3.2.1
@@ -0,0 +1,14 @@
+BDEPEND=test? ( dev-cpp/gtest ) app-alternatives/ninja >=dev-build/cmake-3.28.5
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=Cross-platform layout engine
+EAPI=8
+HOMEPAGE=https://github.com/facebook/yoga
+INHERIT=cmake
+IUSE=test
+KEYWORDS=~amd64
+LICENSE=MIT
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/facebook/yoga/archive/refs/tags/v3.2.1.tar.gz -> yoga-3.2.1.tar.gz
+_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=736e14f886b677d54986ee79c31d592c
diff --git a/metadata/md5-cache/dev-ml/ocaml-markdown-0.2.1 b/metadata/md5-cache/dev-ml/ocaml-markdown-0.2.1
new file mode 100644
index 000000000000..1ee20435782e
--- /dev/null
+++ b/metadata/md5-cache/dev-ml/ocaml-markdown-0.2.1
@@ -0,0 +1,16 @@
+BDEPEND=test? ( >=dev-ml/ounit2-2.0.8 ) dev-lang/ocaml dev-ml/dune
+DEFINED_PHASES=compile install test
+DEPEND=>=dev-ml/batteries-2.10:= >=dev-ml/tyxml-4.3:= dev-lang/ocaml:=[ocamlopt?] dev-ml/dune:=
+DESCRIPTION=Markdown parser and printer in OCaml
+EAPI=8
+HOMEPAGE=https://github.com/gildor478/ocaml-markdown/
+INHERIT=dune
+IUSE=+ocamlopt test
+KEYWORDS=~amd64 ~x86
+LICENSE=MIT
+RDEPEND=>=dev-ml/batteries-2.10:= >=dev-ml/tyxml-4.3:= dev-lang/ocaml:=[ocamlopt?] dev-ml/dune:=
+RESTRICT=!test? ( test )
+SLOT=0/0.2.1
+SRC_URI=https://github.com/gildor478/ocaml-markdown/archive/v0.2.1.tar.gz -> ocaml-markdown-0.2.1.gh.tar.gz
+_eclasses_=dune 4304f35da0fafecd98eb149d0b7ed4d4 edo a5e294016aa84979fcb2459749eb80b2 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09
+_md5_=cc49ad6573bcae47b84f2d2cb1b8f982
diff --git a/metadata/md5-cache/dev-python/deepdiff-8.6.1 b/metadata/md5-cache/dev-python/deepdiff-8.6.1
index dc9f66834fab..8790e77e31e9 100644
--- a/metadata/md5-cache/dev-python/deepdiff-8.6.1
+++ b/metadata/md5-cache/dev-python/deepdiff-8.6.1
@@ -1,6 +1,6 @@
BDEPEND=test? ( >=dev-python/click-8.1.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] <dev-python/orderly-set-6[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/orderly-set-5.4.1[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/pyyaml-6.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/pytest-7.4.4[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/flit-core-3.11.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
DEFINED_PHASES=compile configure install prepare test
-DEPEND=test? ( >=dev-python/jsonpickle-4.0.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/numpy-2.2.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/orjson-3.10.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pydantic[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/python-dateutil[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pytz[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/tomli-w[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/uuid6[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] )
+DEPEND=test? ( >=dev-python/jsonpickle-4.0.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/numpy-2.2.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/orjson-3.10.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pandas[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pydantic[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/python-dateutil[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pytz[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/tomli-w[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/uuid6[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] )
DESCRIPTION=A library for comparing dictionaries, iterables, strings and other objects
EAPI=8
HOMEPAGE=https://github.com/seperman/deepdiff/ https://pypi.org/project/deepdiff/
@@ -14,4 +14,4 @@ RESTRICT=!test? ( test )
SLOT=0
SRC_URI=https://files.pythonhosted.org/packages/source/d/deepdiff/deepdiff-8.6.1.tar.gz
_eclasses_=distutils-r1 62add15ed646bfe511af53e282621b39 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multibuild 83db098a835f71feb71761f72a694aa2 multilib 404b65bd5212cff83b3935c685419d08 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 out-of-source-utils 8e5093bd27b7f541a1913271f25d633a pypi a451be5a08e8eb46f927fc6dd163583f python-r1 5fdca77e34fc9af7d6eb47689f33f6bf python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9
-_md5_=e0e0a08f0c6f52d992ec811984b7334f
+_md5_=0ade1ba5063eb7a8e6a1f2a79faba01e
diff --git a/metadata/md5-cache/dev-python/deepdiff-8.6.2 b/metadata/md5-cache/dev-python/deepdiff-8.6.2
index 5ed862adf885..9d91845bccef 100644
--- a/metadata/md5-cache/dev-python/deepdiff-8.6.2
+++ b/metadata/md5-cache/dev-python/deepdiff-8.6.2
@@ -1,6 +1,6 @@
BDEPEND=test? ( >=dev-python/click-8.1.3[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] <dev-python/orderly-set-6[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/orderly-set-5.4.1[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/pyyaml-6.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/pytest-7.4.4[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/flit-core-3.11.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
DEFINED_PHASES=compile configure install prepare test
-DEPEND=test? ( >=dev-python/jsonpickle-4.0.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/numpy-2.2.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/orjson-3.10.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pydantic[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/python-dateutil[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pytz[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/tomli-w[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/uuid6[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] )
+DEPEND=test? ( >=dev-python/jsonpickle-4.0.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/numpy-2.2.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/orjson-3.10.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pandas[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pydantic[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/python-dateutil[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pytz[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/tomli-w[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/uuid6[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] )
DESCRIPTION=A library for comparing dictionaries, iterables, strings and other objects
EAPI=8
HOMEPAGE=https://github.com/qlustered/deepdiff/ https://pypi.org/project/deepdiff/
@@ -14,4 +14,4 @@ RESTRICT=!test? ( test )
SLOT=0
SRC_URI=https://files.pythonhosted.org/packages/source/d/deepdiff/deepdiff-8.6.2.tar.gz
_eclasses_=distutils-r1 62add15ed646bfe511af53e282621b39 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multibuild 83db098a835f71feb71761f72a694aa2 multilib 404b65bd5212cff83b3935c685419d08 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 out-of-source-utils 8e5093bd27b7f541a1913271f25d633a pypi a451be5a08e8eb46f927fc6dd163583f python-r1 5fdca77e34fc9af7d6eb47689f33f6bf python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9
-_md5_=e9ec49efb1cce6399b5cdb1c701a39a0
+_md5_=5fa006dcca1127e21345b6bd9f33bb07
diff --git a/metadata/md5-cache/dev-python/redis-7.1.1 b/metadata/md5-cache/dev-python/redis-7.1.1
index bc9c551a96a1..b040eb44761e 100644
--- a/metadata/md5-cache/dev-python/redis-7.1.1
+++ b/metadata/md5-cache/dev-python/redis-7.1.1
@@ -1,4 +1,4 @@
-BDEPEND=test? ( dev-db/redis dev-python/numpy[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] ) test? ( >=dev-python/pytest-7.4.4[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pytest-asyncio[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pytest-timeout[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/hatchling-1.27.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+BDEPEND=test? ( dev-db/redis dev-python/mock[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/numpy[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] ) test? ( >=dev-python/pytest-7.4.4[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pytest-asyncio[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/pytest-timeout[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/hatchling-1.27.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
DEFINED_PHASES=compile configure install prepare test
DESCRIPTION=Python client for Redis key-value store
EAPI=8
@@ -13,4 +13,4 @@ RESTRICT=!test? ( test )
SLOT=0
SRC_URI=https://github.com/redis/redis-py/archive/v7.1.1.tar.gz -> redis-py-7.1.1.gh.tar.gz
_eclasses_=distutils-r1 62add15ed646bfe511af53e282621b39 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multibuild 83db098a835f71feb71761f72a694aa2 multilib 404b65bd5212cff83b3935c685419d08 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 out-of-source-utils 8e5093bd27b7f541a1913271f25d633a python-r1 5fdca77e34fc9af7d6eb47689f33f6bf python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9
-_md5_=f2f5df6a99eb7ea28bbefb589efec96f
+_md5_=5d5742ec1a5dd8b4dac7f5aca6f39831
diff --git a/metadata/md5-cache/dev-python/sip-6.15.3 b/metadata/md5-cache/dev-python/sip-6.15.3
new file mode 100644
index 000000000000..53cf0addb574
--- /dev/null
+++ b/metadata/md5-cache/dev-python/sip-6.15.3
@@ -0,0 +1,16 @@
+BDEPEND=>=dev-python/setuptools-scm-8[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] doc? ( || ( ( dev-lang/python:3.14 >=dev-python/sphinx-8.1.3[python_targets_python3_14(-)] dev-python/myst-parser[python_targets_python3_14(-)] dev-python/sphinx-rtd-theme[python_targets_python3_14(-)] ) ( dev-lang/python:3.13 >=dev-python/sphinx-8.1.3[python_targets_python3_13(-)] dev-python/myst-parser[python_targets_python3_13(-)] dev-python/sphinx-rtd-theme[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 >=dev-python/sphinx-8.1.3[python_targets_python3_12(-)] dev-python/myst-parser[python_targets_python3_12(-)] dev-python/sphinx-rtd-theme[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 >=dev-python/sphinx-8.1.3[python_targets_python3_11(-)] dev-python/myst-parser[python_targets_python3_11(-)] dev-python/sphinx-rtd-theme[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 >=dev-python/sphinx-8.1.3[python_targets_python3_10(-)] dev-python/myst-parser[python_targets_python3_10(-)] dev-python/sphinx-rtd-theme[python_targets_python3_10(-)] ) ) ) test? ( dev-python/packaging[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/setuptools[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/pytest-7.4.4[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] ) python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/setuptools-78.1.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+DEFINED_PHASES=compile configure install prepare test
+DESCRIPTION=Python bindings generator for C/C++ libraries
+EAPI=8
+HOMEPAGE=https://github.com/Python-SIP/sip/
+INHERIT=distutils-r1
+IUSE=doc test python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14
+KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86
+LICENSE=BSD-2 BSD
+RDEPEND=dev-python/packaging[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] dev-python/setuptools[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 )
+REQUIRED_USE=|| ( python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14 )
+RESTRICT=!test? ( test )
+SLOT=5
+SRC_URI=https://github.com/Python-SIP/sip/archive/refs/tags/6.15.3.tar.gz -> sip-6.15.3.gh.tar.gz
+_eclasses_=distutils-r1 62add15ed646bfe511af53e282621b39 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multibuild 83db098a835f71feb71761f72a694aa2 multilib 404b65bd5212cff83b3935c685419d08 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 out-of-source-utils 8e5093bd27b7f541a1913271f25d633a python-r1 5fdca77e34fc9af7d6eb47689f33f6bf python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9
+_md5_=740f3c93684717946ce0d94c8433c1e4
diff --git a/metadata/md5-cache/dev-python/types-python-dateutil-2.9.0.20260323 b/metadata/md5-cache/dev-python/types-python-dateutil-2.9.0.20260323
index eb2d200f700e..7de1901d214f 100644
--- a/metadata/md5-cache/dev-python/types-python-dateutil-2.9.0.20260323
+++ b/metadata/md5-cache/dev-python/types-python-dateutil-2.9.0.20260323
@@ -1,4 +1,4 @@
-BDEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/setuptools-78.1.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
+BDEPEND=>=dev-python/setuptools-82.0.1[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) >=dev-python/gpep517-16[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?] >=dev-python/setuptools-78.1.0[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?,python_targets_python3_14(-)?]
DEFINED_PHASES=compile configure install prepare test
DESCRIPTION=Typing stubs for python-dateutil
EAPI=8
@@ -12,4 +12,4 @@ REQUIRED_USE=|| ( python_targets_python3_10 python_targets_python3_11 python_tar
SLOT=0
SRC_URI=https://files.pythonhosted.org/packages/source/t/types-python-dateutil/types_python_dateutil-2.9.0.20260323.tar.gz
_eclasses_=distutils-r1 62add15ed646bfe511af53e282621b39 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d multibuild 83db098a835f71feb71761f72a694aa2 multilib 404b65bd5212cff83b3935c685419d08 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 out-of-source-utils 8e5093bd27b7f541a1913271f25d633a pypi a451be5a08e8eb46f927fc6dd163583f python-r1 5fdca77e34fc9af7d6eb47689f33f6bf python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9
-_md5_=20954d1b1f37a2f72b01c1b740e3a06e
+_md5_=1e04c13f4da785c36dc6f47027f6daa4
diff --git a/metadata/md5-cache/dev-qt/qtdeclarative-6.10.9999 b/metadata/md5-cache/dev-qt/qtdeclarative-6.10.9999
index cb05aa648dcf..03b714cc2589 100644
--- a/metadata/md5-cache/dev-qt/qtdeclarative-6.10.9999
+++ b/metadata/md5-cache/dev-qt/qtdeclarative-6.10.9999
@@ -12,4 +12,4 @@ RDEPEND=~dev-qt/qtbase-6.10.9999:6[accessibility=,gui,network=,opengl=,sql?,ssl?
RESTRICT=test
SLOT=6/6.10.9999
_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 dot-a e5200fe17cfd2ed6fa66edd80201763a eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d git-r3 7b584b5dc33e3bc66ff5b9271bf41764 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 python-any-r1 891415dfe39ad9b41b461f2b86354af0 python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 qt6-build 932043121dc80a4db51d8e1580ebf801 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=ecbfc183d936c9fd46224c12889b56f6
+_md5_=dbde863e6f4163839408d4f2a1160a16
diff --git a/metadata/md5-cache/media-gfx/krita-6.0.0_beta3-r1 b/metadata/md5-cache/media-gfx/krita-6.0.0
index c93b8977c374..6bc2a1d1333d 100644
--- a/metadata/md5-cache/media-gfx/krita-6.0.0_beta3-r1
+++ b/metadata/md5-cache/media-gfx/krita-6.0.0
@@ -13,6 +13,6 @@ RDEPEND=python_single_target_python3_10? ( dev-lang/python:3.10 ) python_single_
REQUIRED_USE=^^ ( python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 python_single_target_python3_14 )
RESTRICT=test !test? ( test )
SLOT=0
-SRC_URI=mirror://kde/unstable/krita/6.0.0-beta3/krita-6.0.0-beta3.tar.xz https://dev.gentoo.org/~asturm/distfiles/kde/krita-6.0.0_beta3-patchset.tar.xz
+SRC_URI=mirror://kde/stable/krita/6.0.0/krita-6.0.0.tar.xz
_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 ecm c3772d432284de03db6df21d71be747a flag-o-matic fd3558f73f6503093adee69adf41020d kde.org 2eea56ed41440913be4caa3d255d2db3 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 python-single-r1 47d8ac9be330c9366112b78fd4f8ce57 python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=35fef0966cb2748200b5b0c3ea67ee1d
+_md5_=0cf7abe2cbba71abe8ffe229a94ccc37
diff --git a/metadata/md5-cache/media-plugins/obs-move-transition-3.2.0 b/metadata/md5-cache/media-plugins/obs-move-transition-3.2.1
index 45e59b902c57..86becf710e5d 100644
--- a/metadata/md5-cache/media-plugins/obs-move-transition-3.2.0
+++ b/metadata/md5-cache/media-plugins/obs-move-transition-3.2.1
@@ -9,6 +9,6 @@ KEYWORDS=~amd64 ~arm64
LICENSE=GPL-2
RDEPEND=>=media-video/obs-studio-31.1
SLOT=0
-SRC_URI=https://github.com/exeldro/obs-move-transition/archive/refs/tags/3.2.0.tar.gz -> obs-move-transition-3.2.0.tar.gz
+SRC_URI=https://github.com/exeldro/obs-move-transition/archive/refs/tags/3.2.1.tar.gz -> obs-move-transition-3.2.1.tar.gz
_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
_md5_=374208072a2b2777403d55810e1b57dd
diff --git a/metadata/md5-cache/media-plugins/obs-source-clone-0.2.0 b/metadata/md5-cache/media-plugins/obs-source-clone-0.2.3
index 423a092f75ed..25e5901f9284 100644
--- a/metadata/md5-cache/media-plugins/obs-source-clone-0.2.0
+++ b/metadata/md5-cache/media-plugins/obs-source-clone-0.2.3
@@ -9,6 +9,6 @@ KEYWORDS=~amd64 ~arm64
LICENSE=GPL-2
RDEPEND=>=media-video/obs-studio-31.1.0
SLOT=0
-SRC_URI=https://github.com/exeldro/obs-source-clone/archive/refs/tags/0.2.0.tar.gz -> obs-source-clone-0.2.0.tar.gz
+SRC_URI=https://github.com/exeldro/obs-source-clone/archive/refs/tags/0.2.3.tar.gz -> obs-source-clone-0.2.3.tar.gz
_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=f65d61caa24a851953dd1f5e87df8575
+_md5_=2e1ef6f41312faa351b948dae0ec3ddc
diff --git a/metadata/md5-cache/media-plugins/obs-source-dock-0.5.0 b/metadata/md5-cache/media-plugins/obs-source-dock-0.5.1
index 6cfa42a83264..5360c644f3cb 100644
--- a/metadata/md5-cache/media-plugins/obs-source-dock-0.5.0
+++ b/metadata/md5-cache/media-plugins/obs-source-dock-0.5.1
@@ -9,6 +9,6 @@ KEYWORDS=~amd64 ~arm64
LICENSE=GPL-2
RDEPEND=>=media-video/obs-studio-30.2.0[wayland] dev-qt/qtbase:6
SLOT=0
-SRC_URI=https://github.com/exeldro/obs-source-dock/archive/refs/tags/0.5.0.tar.gz -> obs-source-dock-0.5.0.tar.gz
+SRC_URI=https://github.com/exeldro/obs-source-dock/archive/refs/tags/0.5.1.tar.gz -> obs-source-dock-0.5.1.tar.gz
_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=69ef8eff7cdadecf9a9f2b3f65025b4e
+_md5_=1555263c41714cdda4d271191088c610
diff --git a/metadata/md5-cache/media-plugins/obs-source-record-0.4.6 b/metadata/md5-cache/media-plugins/obs-source-record-0.4.7
index a63231f46b81..c735ec42b483 100644
--- a/metadata/md5-cache/media-plugins/obs-source-record-0.4.6
+++ b/metadata/md5-cache/media-plugins/obs-source-record-0.4.7
@@ -9,6 +9,6 @@ KEYWORDS=~amd64 ~arm64
LICENSE=GPL-2
RDEPEND=>=media-video/obs-studio-30.2.0
SLOT=0
-SRC_URI=https://github.com/exeldro/obs-source-record/archive/refs/tags/0.4.6.tar.gz -> obs-source-record-0.4.6.tar.gz
+SRC_URI=https://github.com/exeldro/obs-source-record/archive/refs/tags/0.4.7.tar.gz -> obs-source-record-0.4.7.tar.gz
_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=1cfcc78ae3db4b253774d7a70d7ef5e5
+_md5_=e14c1b239c462f8327c61a4664cae447
diff --git a/metadata/md5-cache/media-plugins/obs-vkcapture-1.5.3-r1 b/metadata/md5-cache/media-plugins/obs-vkcapture-1.5.5
index 8dde11115737..35a5735476ad 100644
--- a/metadata/md5-cache/media-plugins/obs-vkcapture-1.5.3-r1
+++ b/metadata/md5-cache/media-plugins/obs-vkcapture-1.5.5
@@ -11,6 +11,6 @@ LICENSE=GPL-2
RDEPEND=>=media-video/obs-studio-30.2.0 >=media-libs/libglvnd-1.7.0[X=,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] X? ( x11-libs/libxcb:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) wayland? ( >=dev-libs/wayland-1.22.0 )
REQUIRED_USE=|| ( X wayland )
SLOT=0
-SRC_URI=https://github.com/nowrep/obs-vkcapture/archive/v1.5.3.tar.gz -> obs-vkcapture-1.5.3.tar.gz
+SRC_URI=https://github.com/nowrep/obs-vkcapture/archive/v1.5.5.tar.gz -> obs-vkcapture-1.5.5.tar.gz
_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 cmake-multilib 3f19d8d5fccba52076cdeb2281ad349f flag-o-matic fd3558f73f6503093adee69adf41020d multibuild 83db098a835f71feb71761f72a694aa2 multilib 404b65bd5212cff83b3935c685419d08 multilib-build d7802b3638ffc661375c0021cdd19efd multilib-minimal e9f54d75b074edc47d36994bbc1e2123 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 out-of-source-utils 8e5093bd27b7f541a1913271f25d633a toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
_md5_=fc0b8cfdd5e0fe36cb8a3d69d4817d3a
diff --git a/metadata/md5-cache/net-firewall/xtables-addons-3.29 b/metadata/md5-cache/net-firewall/xtables-addons-3.29
index bcbd1732f33a..89937cb23ce4 100644
--- a/metadata/md5-cache/net-firewall/xtables-addons-3.29
+++ b/metadata/md5-cache/net-firewall/xtables-addons-3.29
@@ -7,10 +7,10 @@ HOMEPAGE=https://inai.de/projects/xtables-addons/ https://codeberg.org/jengelh/x
IDEPEND=modules? ( sys-apps/kmod[tools] )
INHERIT=flag-o-matic linux-mod-r1 toolchain-funcs
IUSE=xtables_addons_account xtables_addons_chaos xtables_addons_delude xtables_addons_dhcpmac xtables_addons_dnetmap xtables_addons_echo xtables_addons_ipmark xtables_addons_logmark xtables_addons_proto xtables_addons_sysrq xtables_addons_tarpit xtables_addons_asn xtables_addons_condition xtables_addons_fuzzy xtables_addons_geoip xtables_addons_gradm xtables_addons_iface xtables_addons_ipp2p xtables_addons_ipv4options xtables_addons_length2 xtables_addons_lscan xtables_addons_pknock xtables_addons_psd xtables_addons_quota2 dist-kernel modules-compress modules-sign +strip +modules
-KEYWORDS=~amd64 ~x86
+KEYWORDS=amd64 x86
LICENSE=GPL-2+
RDEPEND=net-firewall/iptables:= xtables_addons_asn? ( app-arch/unzip dev-perl/Net-CIDR-Lite dev-perl/Text-CSV_XS ) xtables_addons_geoip? ( app-arch/unzip dev-perl/Net-CIDR-Lite dev-perl/Text-CSV_XS ) modules? ( sys-apps/kmod[tools] dist-kernel? ( virtual/dist-kernel:= ) )
SLOT=0
SRC_URI=https://inai.de/files/xtables-addons/xtables-addons-3.29.tar.xz
_eclasses_=dist-kernel-utils 6b5bab4e35c9a263b3f102ee53d96c65 edo a5e294016aa84979fcb2459749eb80b2 flag-o-matic fd3558f73f6503093adee69adf41020d linux-info efd923656513c879204fec6638eadee5 linux-mod-r1 c07d9d48506ae94ea189c64f2f78a94a mount-boot-utils 2551bac1a772f4b6beacb494a750ae92 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9
-_md5_=86f9c7d89fdf3ebf0f90cfedb0be84cb
+_md5_=cef9ba1151e7c0b29211c01df2bcb2b8
diff --git a/metadata/md5-cache/net-im/element-desktop-1.12.13 b/metadata/md5-cache/net-im/element-desktop-1.12.13
new file mode 100644
index 000000000000..b4d3312405df
--- /dev/null
+++ b/metadata/md5-cache/net-im/element-desktop-1.12.13
@@ -0,0 +1,17 @@
+BDEPEND=|| ( dev-lang/python:3.14 dev-lang/python:3.13 dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) || ( ( dev-lang/python:3.14 dev-python/setuptools[python_targets_python3_14(-)] ) ( dev-lang/python:3.13 dev-python/setuptools[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/setuptools[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/setuptools[python_targets_python3_11(-)] ) ( dev-lang/python:3.10 dev-python/setuptools[python_targets_python3_10(-)] ) ) native-modules? ( || ( dev-lang/rust dev-lang/rust-bin ) ) net-libs/nodejs[corepack]
+DEFINED_PHASES=compile install postinst postrm setup unpack
+DEPEND=~net-im/element-web-1.12.13 native-modules? ( dev-db/sqlcipher ) electron-40? ( dev-util/electron:40 ) electron-41? ( dev-util/electron:41 ) !electron-40? ( !electron-41? ( dev-util/electron:39 ) )
+DESCRIPTION=A glossy Matrix collaboration client for desktop
+EAPI=8
+HOMEPAGE=https://element.io/
+INHERIT=desktop flag-o-matic multilib python-any-r1 xdg-utils
+IUSE=electron-40 electron-41 native-modules +build-online
+KEYWORDS=~amd64 ~arm64 ~ppc64 ~x86
+LICENSE=Apache-2.0
+RDEPEND=~net-im/element-web-1.12.13 native-modules? ( dev-db/sqlcipher ) electron-40? ( dev-util/electron:40 ) electron-41? ( dev-util/electron:41 ) !electron-40? ( !electron-41? ( dev-util/electron:39 ) )
+REQUIRED_USE=native-modules? ( build-online )
+RESTRICT=mirror build-online? ( network-sandbox )
+SLOT=0
+SRC_URI=https://github.com/vector-im/element-desktop/archive/v1.12.13.tar.gz -> element-desktop-1.12.13.tar.gz
+_eclasses_=desktop 26d57169ca094c04be416993844ec8bc flag-o-matic fd3558f73f6503093adee69adf41020d multilib 404b65bd5212cff83b3935c685419d08 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 python-any-r1 891415dfe39ad9b41b461f2b86354af0 python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=f87296bcfe9b611424a16b03c8e8c6b2
diff --git a/metadata/md5-cache/net-misc/rclone-1.73.3 b/metadata/md5-cache/net-misc/rclone-1.73.3
new file mode 100644
index 000000000000..09a94ab7f67e
--- /dev/null
+++ b/metadata/md5-cache/net-misc/rclone-1.73.3
@@ -0,0 +1,13 @@
+BDEPEND=>=dev-lang/go-1.20:= app-arch/unzip
+DEFINED_PHASES=compile install pretend setup test unpack
+DESCRIPTION=A program to sync files to and from various cloud storage providers
+EAPI=8
+HOMEPAGE=https://rclone.org/ https://github.com/rclone/rclone/
+INHERIT=shell-completion check-reqs edo go-module
+KEYWORDS=~amd64 ~arm ~arm64 ~riscv ~x86
+LICENSE=Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0
+RDEPEND=sys-fs/fuse:3=
+SLOT=0
+SRC_URI=https://github.com/rclone/rclone/releases/download/v1.73.3/rclone-v1.73.3.tar.gz https://github.com/rclone/rclone/releases/download/v1.73.3/rclone-v1.73.3-vendor.tar.gz
+_eclasses_=bash-completion-r1 9e91505e030725688d1e953321a47501 check-reqs 12ab9d3fc16bfe1f87c6fb652324b57c edo a5e294016aa84979fcb2459749eb80b2 flag-o-matic fd3558f73f6503093adee69adf41020d go-env 17d0469a6d8dc4805a1305ded9af22db go-module 1333f0eba2be11d0afeadce17a07af4d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 shell-completion 0b655d0d825e157a5e99c463bddaac16 sysroot ba2e3d2f7daad91fdef9350dc789d87f toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9
+_md5_=e4106bb7ee7dde9790beadd8112b1dcd
diff --git a/metadata/md5-cache/sci-libs/arprec-2.2.20 b/metadata/md5-cache/sci-libs/arprec-2.2.20
index 70dc21c1ab67..d13832bb6f91 100644
--- a/metadata/md5-cache/sci-libs/arprec-2.2.20
+++ b/metadata/md5-cache/sci-libs/arprec-2.2.20
@@ -5,11 +5,11 @@ DESCRIPTION=Arbitrary precision float arithmetics and functions
EAPI=8
HOMEPAGE=https://crd-legacy.lbl.gov/~dhbailey/mpdist/
INHERIT=autotools fortran-2
-IUSE=cpu_flags_x86_fma3 cpu_flags_x86_fma4 doc fortran qd
+IUSE=cpu_flags_x86_fma3 cpu_flags_x86_fma4 fortran qd
KEYWORDS=~amd64 ~x86
LICENSE=BSD
RDEPEND=qd? ( sci-libs/qd[fortran=] ) fortran? ( virtual/fortran )
SLOT=0
SRC_URI=https://github.com/BL-highprecision/ARPREC/archive/refs/tags/v2.2.20.tar.gz -> arprec-2.2.20.tar.gz
_eclasses_=autotools 0698802996fcfe9a604eac3c1f6e7112 flag-o-matic fd3558f73f6503093adee69adf41020d fortran-2 ae6d43513003405bd4a48698fc20370a gnuconfig b4fa4889c6f586d6b069215a86dd9e53 libtool 6a96cd90e5da8c7c615015479f46f1a4 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9
-_md5_=02365a64de12e9278c90042965bde6c3
+_md5_=d6389f2288c62335adee687fa8071056
diff --git a/metadata/md5-cache/sci-libs/cgnslib-4.5.1 b/metadata/md5-cache/sci-libs/cgnslib-4.5.1
new file mode 100644
index 000000000000..579440b77e8a
--- /dev/null
+++ b/metadata/md5-cache/sci-libs/cgnslib-4.5.1
@@ -0,0 +1,17 @@
+BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.28.5 fortran? ( virtual/fortran )
+DEFINED_PHASES=compile configure install prepare setup test
+DEPEND=hdf5? ( sci-libs/hdf5:=[mpi=,szip=] ) tools? ( dev-lang/tcl:= dev-lang/tk:= x11-libs/libXmu:= virtual/glu virtual/opengl ) fortran? ( virtual/fortran )
+DESCRIPTION=CFD General Notation System standard library
+EAPI=8
+HOMEPAGE=https://cgns.github.io/ https://github.com/CGNS/CGNS
+INHERIT=cmake flag-o-matic fortran-2
+IUSE=base-scope debug examples fortran +hdf5 legacy mpi scoping szip test tools
+KEYWORDS=~amd64 ~arm ~arm64 ~x86
+LICENSE=ZLIB
+RDEPEND=hdf5? ( sci-libs/hdf5:=[mpi=,szip=] ) tools? ( dev-lang/tcl:= dev-lang/tk:= x11-libs/libXmu:= virtual/glu virtual/opengl ) fortran? ( virtual/fortran )
+REQUIRED_USE=mpi? ( hdf5 ) szip? ( hdf5 )
+RESTRICT=fortran? ( test ) !test? ( test )
+SLOT=0/4.5
+SRC_URI=https://github.com/CGNS/CGNS/archive/v4.5.1.tar.gz -> cgnslib-4.5.1.tar.gz
+_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 flag-o-matic fd3558f73f6503093adee69adf41020d fortran-2 ae6d43513003405bd4a48698fc20370a multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=d35c107848f16e4e7465305d773d8cb2
diff --git a/metadata/md5-cache/sci-libs/clblast-1.5.3 b/metadata/md5-cache/sci-libs/clblast-1.5.3
new file mode 100644
index 000000000000..83f5220ec301
--- /dev/null
+++ b/metadata/md5-cache/sci-libs/clblast-1.5.3
@@ -0,0 +1,17 @@
+BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.28.5
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=cuda? ( dev-util/nvidia-cuda-toolkit:= ) client? ( virtual/cblas ) opencl? ( virtual/opencl )
+DESCRIPTION=Tuned OpenCL BLAS
+EAPI=8
+HOMEPAGE=https://github.com/CNugteren/CLBlast
+INHERIT=cmake
+IUSE=client cuda examples +opencl test
+KEYWORDS=~amd64 ~riscv ~x86
+LICENSE=Apache-2.0
+RDEPEND=cuda? ( dev-util/nvidia-cuda-toolkit:= ) client? ( virtual/cblas ) opencl? ( virtual/opencl )
+REQUIRED_USE=^^ ( cuda opencl ) test? ( client )
+RESTRICT=test
+SLOT=0
+SRC_URI=https://github.com/CNugteren/CLBlast/archive/refs/tags/1.5.3.tar.gz -> clblast-1.5.3.tar.gz
+_eclasses_=cmake 3395ce6618fc5c7af03335471b896644 flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=86ac85ca447821fdf58c4126f426626e
diff --git a/metadata/md5-cache/sci-mathematics/easycrypt-2026.03 b/metadata/md5-cache/sci-mathematics/easycrypt-2026.03
new file mode 100644
index 000000000000..a66a69f6f49b
--- /dev/null
+++ b/metadata/md5-cache/sci-mathematics/easycrypt-2026.03
@@ -0,0 +1,15 @@
+BDEPEND=dev-lang/ocaml dev-ml/dune
+DEFINED_PHASES=compile install prepare test
+DEPEND=>=sci-mathematics/why3-1.8.0:= >=dev-ml/batteries-3:= >=dev-ml/camlp-streams-5:= >=dev-ml/pcre2-ocaml-8:= >=dev-ml/zarith-1.10:= dev-ml/camlzip:= dev-ml/dune-build-info:= dev-ml/dune-site:= dev-ml/num:= dev-ml/ocaml-inifiles:= dev-ml/ocaml-markdown:= dev-ml/tyxml:= dev-ml/yojson:= dev-lang/ocaml:=[ocamlopt?] dev-ml/dune:=
+DESCRIPTION=Computer-Aided Cryptographic Proofs
+EAPI=8
+HOMEPAGE=https://github.com/EasyCrypt/easycrypt/
+INHERIT=dune
+IUSE=+ocamlopt
+KEYWORDS=~amd64
+LICENSE=MIT
+RDEPEND=>=sci-mathematics/why3-1.8.0:= >=dev-ml/batteries-3:= >=dev-ml/camlp-streams-5:= >=dev-ml/pcre2-ocaml-8:= >=dev-ml/zarith-1.10:= dev-ml/camlzip:= dev-ml/dune-build-info:= dev-ml/dune-site:= dev-ml/num:= dev-ml/ocaml-inifiles:= dev-ml/ocaml-markdown:= dev-ml/tyxml:= dev-ml/yojson:= dev-lang/ocaml:=[ocamlopt?] dev-ml/dune:=
+SLOT=0/2026.03
+SRC_URI=https://github.com/EasyCrypt/easycrypt/archive/r2026.03.tar.gz -> easycrypt-2026.03.gh.tar.gz
+_eclasses_=dune 4304f35da0fafecd98eb149d0b7ed4d4 edo a5e294016aa84979fcb2459749eb80b2 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09
+_md5_=880c99e80e7be98f7c47731d7914e1c3
diff --git a/metadata/md5-cache/sys-apps/hexyl-0.17.0 b/metadata/md5-cache/sys-apps/hexyl-0.17.0
index c32563c9e1d6..c50415bf5623 100644
--- a/metadata/md5-cache/sys-apps/hexyl-0.17.0
+++ b/metadata/md5-cache/sys-apps/hexyl-0.17.0
@@ -1,13 +1,14 @@
-BDEPEND=|| ( >=dev-lang/rust-bin-1.88:* >=dev-lang/rust-1.88:* )
+BDEPEND=virtual/pandoc || ( >=dev-lang/rust-bin-1.88:* >=dev-lang/rust-1.88:* )
DEFINED_PHASES=compile configure install setup test unpack
DESCRIPTION=A command-line hex viewer
EAPI=8
HOMEPAGE=https://github.com/sharkdp/hexyl
-INHERIT=cargo
+INHERIT=cargo shell-completion
IUSE=debug
KEYWORDS=~amd64
LICENSE=|| ( Apache-2.0 MIT ) Apache-2.0 ISC MIT Unicode-DFS-2016 ZLIB
+RESTRICT=mirror
SLOT=0
SRC_URI=https://github.com/sharkdp/hexyl/archive/v0.17.0.tar.gz -> hexyl-0.17.0.tar.gz https://crates.io/api/v1/crates/aho-corasick/1.1.3/download -> aho-corasick-1.1.3.crate https://crates.io/api/v1/crates/anstream/0.6.17/download -> anstream-0.6.17.crate https://crates.io/api/v1/crates/anstyle-parse/0.2.6/download -> anstyle-parse-0.2.6.crate https://crates.io/api/v1/crates/anstyle-query/1.1.2/download -> anstyle-query-1.1.2.crate https://crates.io/api/v1/crates/anstyle-wincon/3.0.6/download -> anstyle-wincon-3.0.6.crate https://crates.io/api/v1/crates/anstyle/1.0.9/download -> anstyle-1.0.9.crate https://crates.io/api/v1/crates/anyhow/1.0.91/download -> anyhow-1.0.91.crate https://crates.io/api/v1/crates/assert_cmd/2.1.2/download -> assert_cmd-2.1.2.crate https://crates.io/api/v1/crates/autocfg/1.4.0/download -> autocfg-1.4.0.crate https://crates.io/api/v1/crates/bitflags/2.6.0/download -> bitflags-2.6.0.crate https://crates.io/api/v1/crates/bstr/1.10.0/download -> bstr-1.10.0.crate https://crates.io/api/v1/crates/clap/4.5.20/download -> clap-4.5.20.crate https://crates.io/api/v1/crates/clap_builder/4.5.20/download -> clap_builder-4.5.20.crate https://crates.io/api/v1/crates/clap_complete/4.5.55/download -> clap_complete-4.5.55.crate https://crates.io/api/v1/crates/clap_derive/4.5.18/download -> clap_derive-4.5.18.crate https://crates.io/api/v1/crates/clap_lex/0.7.2/download -> clap_lex-0.7.2.crate https://crates.io/api/v1/crates/colorchoice/1.0.3/download -> colorchoice-1.0.3.crate https://crates.io/api/v1/crates/const_format/0.2.33/download -> const_format-0.2.33.crate https://crates.io/api/v1/crates/const_format_proc_macros/0.2.33/download -> const_format_proc_macros-0.2.33.crate https://crates.io/api/v1/crates/diff/0.1.13/download -> diff-0.1.13.crate https://crates.io/api/v1/crates/difflib/0.4.0/download -> difflib-0.4.0.crate https://crates.io/api/v1/crates/errno/0.3.9/download -> errno-0.3.9.crate https://crates.io/api/v1/crates/float-cmp/0.9.0/download -> float-cmp-0.9.0.crate https://crates.io/api/v1/crates/heck/0.5.0/download -> heck-0.5.0.crate https://crates.io/api/v1/crates/is_ci/1.2.0/download -> is_ci-1.2.0.crate https://crates.io/api/v1/crates/is_terminal_polyfill/1.70.1/download -> is_terminal_polyfill-1.70.1.crate https://crates.io/api/v1/crates/libc/0.2.161/download -> libc-0.2.161.crate https://crates.io/api/v1/crates/linux-raw-sys/0.4.14/download -> linux-raw-sys-0.4.14.crate https://crates.io/api/v1/crates/memchr/2.7.4/download -> memchr-2.7.4.crate https://crates.io/api/v1/crates/normalize-line-endings/0.3.0/download -> normalize-line-endings-0.3.0.crate https://crates.io/api/v1/crates/num-traits/0.2.19/download -> num-traits-0.2.19.crate https://crates.io/api/v1/crates/owo-colors/4.1.0/download -> owo-colors-4.1.0.crate https://crates.io/api/v1/crates/predicates-core/1.0.8/download -> predicates-core-1.0.8.crate https://crates.io/api/v1/crates/predicates-tree/1.0.11/download -> predicates-tree-1.0.11.crate https://crates.io/api/v1/crates/predicates/3.1.2/download -> predicates-3.1.2.crate https://crates.io/api/v1/crates/pretty_assertions/1.4.1/download -> pretty_assertions-1.4.1.crate https://crates.io/api/v1/crates/proc-macro2/1.0.89/download -> proc-macro2-1.0.89.crate https://crates.io/api/v1/crates/quote/1.0.37/download -> quote-1.0.37.crate https://crates.io/api/v1/crates/regex-automata/0.4.8/download -> regex-automata-0.4.8.crate https://crates.io/api/v1/crates/regex-syntax/0.8.5/download -> regex-syntax-0.8.5.crate https://crates.io/api/v1/crates/regex/1.11.1/download -> regex-1.11.1.crate https://crates.io/api/v1/crates/rustix/0.38.38/download -> rustix-0.38.38.crate https://crates.io/api/v1/crates/serde/1.0.214/download -> serde-1.0.214.crate https://crates.io/api/v1/crates/serde_derive/1.0.214/download -> serde_derive-1.0.214.crate https://crates.io/api/v1/crates/strsim/0.11.1/download -> strsim-0.11.1.crate https://crates.io/api/v1/crates/supports-color/3.0.1/download -> supports-color-3.0.1.crate https://crates.io/api/v1/crates/syn/2.0.85/download -> syn-2.0.85.crate https://crates.io/api/v1/crates/terminal_size/0.4.0/download -> terminal_size-0.4.0.crate https://crates.io/api/v1/crates/termtree/0.4.1/download -> termtree-0.4.1.crate https://crates.io/api/v1/crates/thiserror-impl/1.0.65/download -> thiserror-impl-1.0.65.crate https://crates.io/api/v1/crates/thiserror/1.0.65/download -> thiserror-1.0.65.crate https://crates.io/api/v1/crates/unicode-ident/1.0.13/download -> unicode-ident-1.0.13.crate https://crates.io/api/v1/crates/unicode-xid/0.2.6/download -> unicode-xid-0.2.6.crate https://crates.io/api/v1/crates/utf8parse/0.2.2/download -> utf8parse-0.2.2.crate https://crates.io/api/v1/crates/wait-timeout/0.2.0/download -> wait-timeout-0.2.0.crate https://crates.io/api/v1/crates/windows-sys/0.52.0/download -> windows-sys-0.52.0.crate https://crates.io/api/v1/crates/windows-sys/0.59.0/download -> windows-sys-0.59.0.crate https://crates.io/api/v1/crates/windows-targets/0.52.6/download -> windows-targets-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.6/download -> windows_aarch64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.6/download -> windows_aarch64_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.52.6/download -> windows_i686_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_gnullvm/0.52.6/download -> windows_i686_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.52.6/download -> windows_i686_msvc-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.6/download -> windows_x86_64_gnu-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.6/download -> windows_x86_64_gnullvm-0.52.6.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.6/download -> windows_x86_64_msvc-0.52.6.crate https://crates.io/api/v1/crates/yansi/1.0.1/download -> yansi-1.0.1.crate
-_eclasses_=cargo be19d4b6a17dac5249b9273866e3b66b flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 rust 0d1cc00e0e91a021b50b0491e361ad41 rust-toolchain 76468983281b0a7fc167ca224f84ecfd toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9
-_md5_=aa74390ba0a1fdf5cb9e5e9ffe361f2f
+_eclasses_=bash-completion-r1 9e91505e030725688d1e953321a47501 cargo be19d4b6a17dac5249b9273866e3b66b flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 rust 0d1cc00e0e91a021b50b0491e361ad41 rust-toolchain 76468983281b0a7fc167ca224f84ecfd shell-completion 0b655d0d825e157a5e99c463bddaac16 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9
+_md5_=da9f13a9d36766fa456c7f3bc728bcd6
diff --git a/metadata/md5-cache/sys-apps/pandora_box-0.20.0 b/metadata/md5-cache/sys-apps/pandora_box-0.20.0
new file mode 100644
index 000000000000..481520d55662
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/pandora_box-0.20.0
@@ -0,0 +1,13 @@
+BDEPEND=|| ( >=dev-lang/rust-bin-1.88.0:* >=dev-lang/rust-1.88.0:* )
+DEFINED_PHASES=compile configure install setup test unpack
+DESCRIPTION=Syd's log inspector & profile writer
+EAPI=8
+HOMEPAGE=https://man.exherbolinux.org
+INHERIT=cargo
+IUSE=static debug
+KEYWORDS=~amd64
+LICENSE=GPL-3 Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016
+SLOT=0
+SRC_URI=https://git.sr.ht/~alip/syd/archive/pandora-0.20.0.tar.gz -> pandora_box-0.20.0.tar.gz https://dev.gentoo.org/~patrick/pandora_box-0.20.0-crates.tar.xz
+_eclasses_=cargo be19d4b6a17dac5249b9273866e3b66b flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 rust 0d1cc00e0e91a021b50b0491e361ad41 rust-toolchain 76468983281b0a7fc167ca224f84ecfd toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9
+_md5_=ad7875501d5d129459090cf4171e51ca
diff --git a/metadata/md5-cache/sys-apps/syd-3.51.0 b/metadata/md5-cache/sys-apps/syd-3.51.0
new file mode 100644
index 000000000000..a0dd421425b4
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/syd-3.51.0
@@ -0,0 +1,16 @@
+BDEPEND=|| ( >=dev-lang/rust-bin-1.88.0:* >=dev-lang/rust-1.88.0:* )
+DEFINED_PHASES=compile configure install setup test unpack
+DEPEND=static? ( sys-libs/libseccomp[static-libs] ) sys-libs/libseccomp app-text/scdoc
+DESCRIPTION=seccomp and landlock based application sandbox with support for namespaces
+EAPI=8
+HOMEPAGE=https://sydbox.exherbolinux.org
+INHERIT=cargo
+IUSE=static debug
+KEYWORDS=~amd64
+LICENSE=GPL-3 0BSD Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-3.0 WTFPL-2 ZLIB
+RDEPEND=sys-apps/pandora_box static? ( sys-libs/libseccomp[static-libs] ) sys-libs/libseccomp app-text/scdoc
+RESTRICT=test
+SLOT=0
+SRC_URI=https://git.sr.ht/~alip/syd/archive/v3.51.0.tar.gz -> syd-3.51.0.tar.gz https://dev.gentoo.org/~patrick/syd-3.51.0-crates.tar.xz
+_eclasses_=cargo be19d4b6a17dac5249b9273866e3b66b flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 rust 0d1cc00e0e91a021b50b0491e361ad41 rust-toolchain 76468983281b0a7fc167ca224f84ecfd toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9
+_md5_=7f98ad7b88e72e8c83a089ffd52f3d0d
diff --git a/metadata/md5-cache/www-apps/chromedriver-bin-144.0.7559.132 b/metadata/md5-cache/www-apps/chromedriver-bin-144.0.7559.132
deleted file mode 100644
index 089e7e41ec50..000000000000
--- a/metadata/md5-cache/www-apps/chromedriver-bin-144.0.7559.132
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=app-arch/unzip
-DEFINED_PHASES=install
-DESCRIPTION=WebDriver for Chrome
-EAPI=8
-HOMEPAGE=https://sites.google.com/corp/chromium.org/driver/
-KEYWORDS=-* amd64
-LICENSE=google-chrome
-RDEPEND=sys-libs/glibc www-client/google-chrome !www-client/chromium
-RESTRICT=bindist mirror strip
-SLOT=0
-SRC_URI=amd64? ( https://storage.googleapis.com/chrome-for-testing-public/144.0.7559.132/linux64/chromedriver-linux64.zip -> chromedriver-bin-144.0.7559.132.linux64.zip )
-_md5_=b14c199302456ff34a8d685808b29744
diff --git a/metadata/md5-cache/www-apps/chromedriver-bin-145.0.7632.159 b/metadata/md5-cache/www-apps/chromedriver-bin-145.0.7632.159
deleted file mode 100644
index 7bd06074b5a4..000000000000
--- a/metadata/md5-cache/www-apps/chromedriver-bin-145.0.7632.159
+++ /dev/null
@@ -1,12 +0,0 @@
-BDEPEND=app-arch/unzip
-DEFINED_PHASES=install
-DESCRIPTION=WebDriver for Chrome
-EAPI=8
-HOMEPAGE=https://sites.google.com/corp/chromium.org/driver/
-KEYWORDS=-* amd64
-LICENSE=google-chrome
-RDEPEND=sys-libs/glibc www-client/google-chrome !www-client/chromium
-RESTRICT=bindist mirror strip
-SLOT=0
-SRC_URI=amd64? ( https://storage.googleapis.com/chrome-for-testing-public/145.0.7632.159/linux64/chromedriver-linux64.zip -> chromedriver-bin-145.0.7632.159.linux64.zip )
-_md5_=b14c199302456ff34a8d685808b29744
diff --git a/metadata/md5-cache/www-apps/chromedriver-bin-146.0.7680.164 b/metadata/md5-cache/www-apps/chromedriver-bin-146.0.7680.165
index b7626e020b9d..8054b1884c6b 100644
--- a/metadata/md5-cache/www-apps/chromedriver-bin-146.0.7680.164
+++ b/metadata/md5-cache/www-apps/chromedriver-bin-146.0.7680.165
@@ -8,5 +8,5 @@ LICENSE=google-chrome
RDEPEND=sys-libs/glibc www-client/google-chrome !www-client/chromium
RESTRICT=bindist mirror strip
SLOT=0
-SRC_URI=amd64? ( https://storage.googleapis.com/chrome-for-testing-public/146.0.7680.164/linux64/chromedriver-linux64.zip -> chromedriver-bin-146.0.7680.164.linux64.zip )
+SRC_URI=amd64? ( https://storage.googleapis.com/chrome-for-testing-public/146.0.7680.165/linux64/chromedriver-linux64.zip -> chromedriver-bin-146.0.7680.165.linux64.zip )
_md5_=384239fcc92aecae0adbc23e0faeade8
diff --git a/metadata/md5-cache/www-client/chromium-145.0.7632.159 b/metadata/md5-cache/www-client/chromium-145.0.7632.159
index 94c325fd14bb..506aa1f82da7 100644
--- a/metadata/md5-cache/www-client/chromium-145.0.7632.159
+++ b/metadata/md5-cache/www-client/chromium-145.0.7632.159
@@ -6,7 +6,7 @@ EAPI=8
HOMEPAGE=https://www.chromium.org/
INHERIT=check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils python-any-r1 readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils
IUSE=+X +system-harfbuzz +system-icu +system-zstd bindist bundled-toolchain cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio qt6 +rar +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3 custom-cflags +l10n_af +l10n_am +l10n_ar +l10n_bg +l10n_bn +l10n_ca +l10n_cs +l10n_da +l10n_de +l10n_el +l10n_en-GB +l10n_es +l10n_es-419 +l10n_et +l10n_fa +l10n_fi +l10n_fil +l10n_fr +l10n_gu +l10n_he +l10n_hi +l10n_hr +l10n_hu +l10n_id +l10n_it +l10n_ja +l10n_kn +l10n_ko +l10n_lt +l10n_lv +l10n_ml +l10n_mr +l10n_ms +l10n_nb +l10n_nl +l10n_pl +l10n_pt-BR +l10n_pt-PT +l10n_ro +l10n_ru +l10n_sk +l10n_sl +l10n_sr +l10n_sv +l10n_sw +l10n_ta +l10n_te +l10n_th +l10n_tr +l10n_uk +l10n_ur +l10n_vi +l10n_zh-CN +l10n_zh-TW +llvm_slot_21 pgo
-KEYWORDS=amd64 arm64 ~ppc64
+KEYWORDS=~ppc64
LICENSE=Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Base64 Boost-1.0 CC-BY-3.0 CC-BY-4.0 Clear-BSD FFT2D FTL IJG ISC LGPL-2 LGPL-2.1 MIT MPL-1.1 MPL-2.0 Ms-PL PSF-2 SGI-B-2.0 SSLeay SunSoft Unicode-3.0 Unicode-DFS-2015 Unlicense UoI-NCSA ZLIB libtiff openssl rar? ( unRAR )
RDEPEND=system-icu? ( >=dev-libs/icu-73.0:= ) >=dev-libs/libxml2-2.12.4:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= dev-libs/libxslt:= media-libs/fontconfig:= >=media-libs/freetype-2.11.0-r1:= system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) media-libs/libjpeg-turbo:= system-zstd? ( >=app-arch/zstd-1.5.5:= ) >=media-libs/libwebp-0.4.0:= media-libs/mesa:=[gbm(+)] >=media-libs/openh264-2.6.0:= sys-libs/zlib:= !headless? ( dev-libs/glib:2 >=media-libs/alsa-lib-1.0.19:= pulseaudio? ( media-libs/libpulse:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-base/xorg-proto:= x11-libs/libX11:= x11-libs/libxcb:= x11-libs/libXext:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/libffi:= dev-libs/wayland:= screencast? ( media-video/pipewire:= ) ) ) app-arch/bzip2:= dev-libs/expat:= net-misc/curl[ssl] sys-apps/dbus:= media-libs/flac:= sys-libs/zlib:=[minizip] !headless? ( >=app-accessibility/at-spi2-core-2.46.0:2 media-libs/mesa:=[X?,wayland?] virtual/udev x11-libs/cairo:= x11-libs/gdk-pixbuf:2 x11-libs/pango:= cups? ( >=net-print/cups-1.3.11:= ) qt6? ( dev-qt/qtbase:6[gui,widgets] ) X? ( 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:= ) ) !www-client/chromium:0 >=www-client/chromium-common-2 !headless? ( || ( x11-libs/gtk+:3[X?,wayland?] gui-libs/gtk:4[X?,wayland?] ) qt6? ( dev-qt/qtbase:6[X?,wayland?] ) ) virtual/ttf-fonts selinux? ( sec-policy/selinux-chromium ) bindist? ( !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) ffmpeg-chromium? ( media-video/ffmpeg-chromium:145 ) )
REQUIRED_USE=!headless? ( || ( X wayland ) ) pgo? ( X !wayland ) screencast? ( wayland ) ffmpeg-chromium? ( bindist proprietary-codecs ) ^^ ( llvm_slot_21 )
@@ -14,4 +14,4 @@ RESTRICT=!bindist? ( bindist ) !test? ( test ) arm64? ( test )
SLOT=stable
SRC_URI=https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/145.0.7632.159/chromium-145.0.7632.159-linux.tar.xz https://deps.gentoo.zip/www-client/chromium/rollup-wasm-node-4.57.1.tgz !bundled-toolchain? ( https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/145-3/chromium-patches-145-3.tar.bz2 https://codeberg.org/selfisekai/copium/archive/fe1caafa06f27542c18a881348f78e984e2d9fe2.tar.gz -> chromium-patches-copium-fe1caafa06.tar.gz ) bundled-toolchain? ( https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-llvmorg-22-init-17020-gbd1bd178-2.tar.xz -> chromium-clang-llvmorg-22-init-17020-gbd1bd178-2.tar.xz https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-a4cfac7093a1c1c7fbdb6bc75d6b6dc4d385fc69-2-llvmorg-22-init-17020-gbd1bd178.tar.xz -> chromium-rust-toolchain-a4cfac7093-2-llvmorg-22-init-17020-gbd1bd178.tar.xz ) test? ( https://chromium-fonts.storage.googleapis.com/a28b222b79851716f8358d2800157d9ffe117b3545031ae51f69b7e1e1b9a969 -> chromium-testfonts-a28b222b79.tar.gz ) ppc64? ( https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/6e839bd94774ccf59b4c0db697fcf15c7bc1f22e/openpower-patches-6e839bd94774ccf59b4c0db697fcf15c7bc1f22e.tar.bz2 -> chromium-openpower-6e839bd947.tar.bz2 ) pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )
_eclasses_=check-reqs 12ab9d3fc16bfe1f87c6fb652324b57c chromium-2 6be3cf193def84c82ddae5c1f21ddbe5 desktop 26d57169ca094c04be416993844ec8bc eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d linux-info efd923656513c879204fec6638eadee5 llvm-r1 77771a412c60b32ce3205d377edd7b83 llvm-utils e7edb4086e31c8537574b263d899f826 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 pax-utils 5555f2e75744739fe100ee62c22d28fe python-any-r1 891415dfe39ad9b41b461f2b86354af0 python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 readme.gentoo-r1 9ca94b2d607e7454ca6cfb44ab8ce327 rust 0d1cc00e0e91a021b50b0491e361ad41 systemd a964c0cbe818b5729da1dbfcee5be861 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=cf7baacb16c741afaf73d8820244c621
+_md5_=2534d389dffe6172c1e21c07091618f8
diff --git a/metadata/md5-cache/www-client/chromium-146.0.7680.153 b/metadata/md5-cache/www-client/chromium-146.0.7680.153
deleted file mode 100644
index b2e121545f65..000000000000
--- a/metadata/md5-cache/www-client/chromium-146.0.7680.153
+++ /dev/null
@@ -1,17 +0,0 @@
-BDEPEND=system-icu? ( >=dev-libs/icu-73.0:= ) >=dev-libs/libxml2-2.12.4:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= dev-libs/libxslt:= media-libs/fontconfig:= >=media-libs/freetype-2.11.0-r1:= system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) media-libs/libjpeg-turbo:= system-zstd? ( >=app-arch/zstd-1.5.5:= ) >=media-libs/libwebp-0.4.0:= media-libs/mesa:=[gbm(+)] >=media-libs/openh264-2.6.0:= sys-libs/zlib:= !headless? ( dev-libs/glib:2 >=media-libs/alsa-lib-1.0.19:= pulseaudio? ( media-libs/libpulse:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-base/xorg-proto:= x11-libs/libX11:= x11-libs/libxcb:= x11-libs/libXext:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/libffi:= dev-libs/wayland:= screencast? ( media-video/pipewire:= ) ) ) || ( dev-lang/python:3.14[xml(+)] dev-lang/python:3.13[xml(+)] dev-lang/python:3.12[xml(+)] dev-lang/python:3.11[xml(+)] dev-lang/python:3.10[xml(+)] ) || ( ( dev-lang/python:3.14[xml(+)] dev-python/setuptools[python_targets_python3_14(-)] ) ( dev-lang/python:3.13[xml(+)] dev-python/setuptools[python_targets_python3_13(-)] ) ( dev-lang/python:3.12[xml(+)] dev-python/setuptools[python_targets_python3_12(-)] ) ( dev-lang/python:3.11[xml(+)] dev-python/setuptools[python_targets_python3_11(-)] ) ( dev-lang/python:3.10[xml(+)] dev-python/setuptools[python_targets_python3_10(-)] ) ) >=app-arch/gzip-1.7 !headless? ( qt6? ( dev-qt/qtbase:6 ) ) !bundled-toolchain? ( llvm_slot_21? ( llvm-core/clang:21 llvm-core/llvm:21 llvm-core/lld:21 official? ( !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:21[cfi] ) ) ) llvm_slot_21? ( || ( dev-lang/rust-bin:1.94.0[llvm_slot_21,rustfmt] dev-lang/rust:1.94.0[llvm_slot_21,rustfmt] dev-lang/rust-bin:1.93.1[llvm_slot_21,rustfmt] dev-lang/rust:1.93.1[llvm_slot_21,rustfmt] dev-lang/rust-bin:1.93.0[llvm_slot_21,rustfmt] dev-lang/rust:1.93.0[llvm_slot_21,rustfmt] dev-lang/rust-bin:1.92.0[llvm_slot_21,rustfmt] dev-lang/rust:1.92.0[llvm_slot_21,rustfmt] dev-lang/rust-bin:1.91.0[llvm_slot_21,rustfmt] dev-lang/rust:1.91.0[llvm_slot_21,rustfmt] ) ) ) pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 ) >=dev-util/bindgen-0.72.1 >=dev-build/gn-0.2318 app-alternatives/ninja dev-lang/perl >=dev-util/gperf-3.2 dev-util/esbuild:0.25.1 dev-vcs/git >=net-libs/nodejs-24.12.0[inspector] sys-apps/hwdata >=sys-devel/bison-2.4.3 sys-devel/flex virtual/pkgconfig virtual/pkgconfig pgo? ( x11-base/xorg-server[xvfb] x11-apps/xhost )
-DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack
-DEPEND=system-icu? ( >=dev-libs/icu-73.0:= ) >=dev-libs/libxml2-2.12.4:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= dev-libs/libxslt:= media-libs/fontconfig:= >=media-libs/freetype-2.11.0-r1:= system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) media-libs/libjpeg-turbo:= system-zstd? ( >=app-arch/zstd-1.5.5:= ) >=media-libs/libwebp-0.4.0:= media-libs/mesa:=[gbm(+)] >=media-libs/openh264-2.6.0:= sys-libs/zlib:= !headless? ( dev-libs/glib:2 >=media-libs/alsa-lib-1.0.19:= pulseaudio? ( media-libs/libpulse:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-base/xorg-proto:= x11-libs/libX11:= x11-libs/libxcb:= x11-libs/libXext:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/libffi:= dev-libs/wayland:= screencast? ( media-video/pipewire:= ) ) ) app-arch/bzip2:= dev-libs/expat:= net-misc/curl[ssl] sys-apps/dbus:= media-libs/flac:= sys-libs/zlib:=[minizip] !headless? ( >=app-accessibility/at-spi2-core-2.46.0:2 media-libs/mesa:=[X?,wayland?] virtual/udev x11-libs/cairo:= x11-libs/gdk-pixbuf:2 x11-libs/pango:= cups? ( >=net-print/cups-1.3.11:= ) qt6? ( dev-qt/qtbase:6[gui,widgets] ) X? ( 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:= ) ) !headless? ( gtk4? ( gui-libs/gtk:4[X?,wayland?] ) !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) )
-DESCRIPTION=Open-source version of Google Chrome web browser
-EAPI=8
-HOMEPAGE=https://www.chromium.org/
-INHERIT=check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils python-any-r1 readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils
-IUSE=+X +system-harfbuzz +system-icu +system-zstd bindist bundled-toolchain cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio qt6 +rar +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3 custom-cflags +l10n_af +l10n_am +l10n_ar +l10n_bg +l10n_bn +l10n_ca +l10n_cs +l10n_da +l10n_de +l10n_el +l10n_en-GB +l10n_es +l10n_es-419 +l10n_et +l10n_fa +l10n_fi +l10n_fil +l10n_fr +l10n_gu +l10n_he +l10n_hi +l10n_hr +l10n_hu +l10n_id +l10n_it +l10n_ja +l10n_kn +l10n_ko +l10n_lt +l10n_lv +l10n_ml +l10n_mr +l10n_ms +l10n_nb +l10n_nl +l10n_pl +l10n_pt-BR +l10n_pt-PT +l10n_ro +l10n_ru +l10n_sk +l10n_sl +l10n_sr +l10n_sv +l10n_sw +l10n_ta +l10n_te +l10n_th +l10n_tr +l10n_uk +l10n_ur +l10n_vi +l10n_zh-CN +l10n_zh-TW +llvm_slot_21 pgo
-KEYWORDS=amd64 arm64
-LICENSE=Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Base64 Boost-1.0 CC-BY-3.0 CC-BY-4.0 Clear-BSD FFT2D FTL IJG ISC LGPL-2 LGPL-2.1 MIT MPL-1.1 MPL-2.0 Ms-PL PSF-2 SGI-B-2.0 SSLeay SunSoft Unicode-3.0 Unicode-DFS-2015 Unlicense UoI-NCSA ZLIB libtiff openssl rar? ( unRAR )
-RDEPEND=system-icu? ( >=dev-libs/icu-73.0:= ) >=dev-libs/libxml2-2.12.4:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= dev-libs/libxslt:= media-libs/fontconfig:= >=media-libs/freetype-2.11.0-r1:= system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) media-libs/libjpeg-turbo:= system-zstd? ( >=app-arch/zstd-1.5.5:= ) >=media-libs/libwebp-0.4.0:= media-libs/mesa:=[gbm(+)] >=media-libs/openh264-2.6.0:= sys-libs/zlib:= !headless? ( dev-libs/glib:2 >=media-libs/alsa-lib-1.0.19:= pulseaudio? ( media-libs/libpulse:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-base/xorg-proto:= x11-libs/libX11:= x11-libs/libxcb:= x11-libs/libXext:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/libffi:= dev-libs/wayland:= screencast? ( media-video/pipewire:= ) ) ) app-arch/bzip2:= dev-libs/expat:= net-misc/curl[ssl] sys-apps/dbus:= media-libs/flac:= sys-libs/zlib:=[minizip] !headless? ( >=app-accessibility/at-spi2-core-2.46.0:2 media-libs/mesa:=[X?,wayland?] virtual/udev x11-libs/cairo:= x11-libs/gdk-pixbuf:2 x11-libs/pango:= cups? ( >=net-print/cups-1.3.11:= ) qt6? ( dev-qt/qtbase:6[gui,widgets] ) X? ( 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:= ) ) !www-client/chromium:0 >=www-client/chromium-common-2 !headless? ( || ( x11-libs/gtk+:3[X?,wayland?] gui-libs/gtk:4[X?,wayland?] ) qt6? ( dev-qt/qtbase:6[X?,wayland?] ) ) virtual/ttf-fonts selinux? ( sec-policy/selinux-chromium ) bindist? ( !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) ffmpeg-chromium? ( media-video/ffmpeg-chromium:146 ) )
-REQUIRED_USE=!headless? ( || ( X wayland ) ) pgo? ( X !wayland ) screencast? ( wayland ) ffmpeg-chromium? ( bindist proprietary-codecs ) ^^ ( llvm_slot_21 )
-RESTRICT=!bindist? ( bindist ) !test? ( test ) arm64? ( test )
-SLOT=stable
-SRC_URI=https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/146.0.7680.153/chromium-146.0.7680.153-linux.tar.xz https://deps.gentoo.zip/www-client/chromium/rollup-wasm-node-4.57.1.tgz !bundled-toolchain? ( https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/146-1/chromium-patches-146-1.tar.bz2 https://codeberg.org/selfisekai/copium/archive/fe1caafa06f27542c18a881348f78e984e2d9fe2.tar.gz -> chromium-patches-copium-fe1caafa06.tar.gz ) bundled-toolchain? ( https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-llvmorg-23-init-2224-g5bd8dadb-3.tar.xz -> chromium-clang-llvmorg-23-init-2224-g5bd8dadb-3.tar.xz https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-7d8ebe3128fc87f3da1ad64240e63ccf07b8f0bd-3-llvmorg-23-init-2224-g5bd8dadb.tar.xz -> chromium-rust-toolchain-7d8ebe3128-3-llvmorg-23-init-2224-g5bd8dadb.tar.xz ) test? ( https://chromium-fonts.storage.googleapis.com/a28b222b79851716f8358d2800157d9ffe117b3545031ae51f69b7e1e1b9a969 -> chromium-testfonts-a28b222b79.tar.gz ) ppc64? ( https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/6e839bd94774ccf59b4c0db697fcf15c7bc1f22e/openpower-patches-6e839bd94774ccf59b4c0db697fcf15c7bc1f22e.tar.bz2 -> chromium-openpower-6e839bd947.tar.bz2 ) pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )
-_eclasses_=check-reqs 12ab9d3fc16bfe1f87c6fb652324b57c chromium-2 6be3cf193def84c82ddae5c1f21ddbe5 desktop 26d57169ca094c04be416993844ec8bc eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d linux-info efd923656513c879204fec6638eadee5 llvm-r1 77771a412c60b32ce3205d377edd7b83 llvm-utils e7edb4086e31c8537574b263d899f826 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 pax-utils 5555f2e75744739fe100ee62c22d28fe python-any-r1 891415dfe39ad9b41b461f2b86354af0 python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 readme.gentoo-r1 9ca94b2d607e7454ca6cfb44ab8ce327 rust 0d1cc00e0e91a021b50b0491e361ad41 systemd a964c0cbe818b5729da1dbfcee5be861 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=ce602fca37809ee6d986b620340ceb44
diff --git a/metadata/md5-cache/www-client/chromium-146.0.7680.164 b/metadata/md5-cache/www-client/chromium-146.0.7680.164
index 4ce79f6f78ab..c0b53d1df7dd 100644
--- a/metadata/md5-cache/www-client/chromium-146.0.7680.164
+++ b/metadata/md5-cache/www-client/chromium-146.0.7680.164
@@ -6,12 +6,12 @@ EAPI=8
HOMEPAGE=https://www.chromium.org/
INHERIT=check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils python-any-r1 readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils
IUSE=+X +system-harfbuzz +system-icu +system-zstd bindist bundled-toolchain cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio qt6 +rar +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3 custom-cflags +l10n_af +l10n_am +l10n_ar +l10n_bg +l10n_bn +l10n_ca +l10n_cs +l10n_da +l10n_de +l10n_el +l10n_en-GB +l10n_es +l10n_es-419 +l10n_et +l10n_fa +l10n_fi +l10n_fil +l10n_fr +l10n_gu +l10n_he +l10n_hi +l10n_hr +l10n_hu +l10n_id +l10n_it +l10n_ja +l10n_kn +l10n_ko +l10n_lt +l10n_lv +l10n_ml +l10n_mr +l10n_ms +l10n_nb +l10n_nl +l10n_pl +l10n_pt-BR +l10n_pt-PT +l10n_ro +l10n_ru +l10n_sk +l10n_sl +l10n_sr +l10n_sv +l10n_sw +l10n_ta +l10n_te +l10n_th +l10n_tr +l10n_uk +l10n_ur +l10n_vi +l10n_zh-CN +l10n_zh-TW +llvm_slot_21 pgo
-KEYWORDS=amd64 arm64
+KEYWORDS=amd64 arm64 ~ppc64
LICENSE=Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Base64 Boost-1.0 CC-BY-3.0 CC-BY-4.0 Clear-BSD FFT2D FTL IJG ISC LGPL-2 LGPL-2.1 MIT MPL-1.1 MPL-2.0 Ms-PL PSF-2 SGI-B-2.0 SSLeay SunSoft Unicode-3.0 Unicode-DFS-2015 Unlicense UoI-NCSA ZLIB libtiff openssl rar? ( unRAR )
RDEPEND=system-icu? ( >=dev-libs/icu-73.0:= ) >=dev-libs/libxml2-2.12.4:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= dev-libs/libxslt:= media-libs/fontconfig:= >=media-libs/freetype-2.11.0-r1:= system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) media-libs/libjpeg-turbo:= system-zstd? ( >=app-arch/zstd-1.5.5:= ) >=media-libs/libwebp-0.4.0:= media-libs/mesa:=[gbm(+)] >=media-libs/openh264-2.6.0:= sys-libs/zlib:= !headless? ( dev-libs/glib:2 >=media-libs/alsa-lib-1.0.19:= pulseaudio? ( media-libs/libpulse:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-base/xorg-proto:= x11-libs/libX11:= x11-libs/libxcb:= x11-libs/libXext:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/libffi:= dev-libs/wayland:= screencast? ( media-video/pipewire:= ) ) ) app-arch/bzip2:= dev-libs/expat:= net-misc/curl[ssl] sys-apps/dbus:= media-libs/flac:= sys-libs/zlib:=[minizip] !headless? ( >=app-accessibility/at-spi2-core-2.46.0:2 media-libs/mesa:=[X?,wayland?] virtual/udev x11-libs/cairo:= x11-libs/gdk-pixbuf:2 x11-libs/pango:= cups? ( >=net-print/cups-1.3.11:= ) qt6? ( dev-qt/qtbase:6[gui,widgets] ) X? ( 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:= ) ) !www-client/chromium:0 >=www-client/chromium-common-2 !headless? ( || ( x11-libs/gtk+:3[X?,wayland?] gui-libs/gtk:4[X?,wayland?] ) qt6? ( dev-qt/qtbase:6[X?,wayland?] ) ) virtual/ttf-fonts selinux? ( sec-policy/selinux-chromium ) bindist? ( !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) ffmpeg-chromium? ( media-video/ffmpeg-chromium:146 ) )
REQUIRED_USE=!headless? ( || ( X wayland ) ) pgo? ( X !wayland ) screencast? ( wayland ) ffmpeg-chromium? ( bindist proprietary-codecs ) ^^ ( llvm_slot_21 )
RESTRICT=!bindist? ( bindist ) !test? ( test ) arm64? ( test )
SLOT=stable
-SRC_URI=https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/146.0.7680.164/chromium-146.0.7680.164-linux.tar.xz https://deps.gentoo.zip/www-client/chromium/rollup-wasm-node-4.57.1.tgz !bundled-toolchain? ( https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/146-1/chromium-patches-146-1.tar.bz2 https://codeberg.org/selfisekai/copium/archive/fe1caafa06f27542c18a881348f78e984e2d9fe2.tar.gz -> chromium-patches-copium-fe1caafa06.tar.gz ) bundled-toolchain? ( https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-llvmorg-23-init-2224-g5bd8dadb-3.tar.xz -> chromium-clang-llvmorg-23-init-2224-g5bd8dadb-3.tar.xz https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-7d8ebe3128fc87f3da1ad64240e63ccf07b8f0bd-3-llvmorg-23-init-2224-g5bd8dadb.tar.xz -> chromium-rust-toolchain-7d8ebe3128-3-llvmorg-23-init-2224-g5bd8dadb.tar.xz ) test? ( https://chromium-fonts.storage.googleapis.com/a28b222b79851716f8358d2800157d9ffe117b3545031ae51f69b7e1e1b9a969 -> chromium-testfonts-a28b222b79.tar.gz ) ppc64? ( https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/6e839bd94774ccf59b4c0db697fcf15c7bc1f22e/openpower-patches-6e839bd94774ccf59b4c0db697fcf15c7bc1f22e.tar.bz2 -> chromium-openpower-6e839bd947.tar.bz2 ) pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )
+SRC_URI=https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/146.0.7680.164/chromium-146.0.7680.164-linux.tar.xz https://deps.gentoo.zip/www-client/chromium/rollup-wasm-node-4.57.1.tgz !bundled-toolchain? ( https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/146-2/chromium-patches-146-2.tar.bz2 https://codeberg.org/selfisekai/copium/archive/fe1caafa06f27542c18a881348f78e984e2d9fe2.tar.gz -> chromium-patches-copium-fe1caafa06.tar.gz ) bundled-toolchain? ( https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-llvmorg-23-init-2224-g5bd8dadb-3.tar.xz -> chromium-clang-llvmorg-23-init-2224-g5bd8dadb-3.tar.xz https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-7d8ebe3128fc87f3da1ad64240e63ccf07b8f0bd-3-llvmorg-23-init-2224-g5bd8dadb.tar.xz -> chromium-rust-toolchain-7d8ebe3128-3-llvmorg-23-init-2224-g5bd8dadb.tar.xz ) test? ( https://chromium-fonts.storage.googleapis.com/a28b222b79851716f8358d2800157d9ffe117b3545031ae51f69b7e1e1b9a969 -> chromium-testfonts-a28b222b79.tar.gz ) ppc64? ( https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/eeff222874ccb0a1e67d0de18bcc9215eecd2105/openpower-patches-eeff222874ccb0a1e67d0de18bcc9215eecd2105.tar.bz2 -> chromium-openpower-eeff222874.tar.bz2 ) pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )
_eclasses_=check-reqs 12ab9d3fc16bfe1f87c6fb652324b57c chromium-2 6be3cf193def84c82ddae5c1f21ddbe5 desktop 26d57169ca094c04be416993844ec8bc eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d linux-info efd923656513c879204fec6638eadee5 llvm-r1 77771a412c60b32ce3205d377edd7b83 llvm-utils e7edb4086e31c8537574b263d899f826 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 pax-utils 5555f2e75744739fe100ee62c22d28fe python-any-r1 891415dfe39ad9b41b461f2b86354af0 python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 readme.gentoo-r1 9ca94b2d607e7454ca6cfb44ab8ce327 rust 0d1cc00e0e91a021b50b0491e361ad41 systemd a964c0cbe818b5729da1dbfcee5be861 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=ce602fca37809ee6d986b620340ceb44
+_md5_=1f3aae21979741341a04154a7d80fab7
diff --git a/metadata/md5-cache/www-client/chromium-146.0.7680.80 b/metadata/md5-cache/www-client/chromium-146.0.7680.80
deleted file mode 100644
index a5e5ce844577..000000000000
--- a/metadata/md5-cache/www-client/chromium-146.0.7680.80
+++ /dev/null
@@ -1,17 +0,0 @@
-BDEPEND=system-icu? ( >=dev-libs/icu-73.0:= ) >=dev-libs/libxml2-2.12.4:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= dev-libs/libxslt:= media-libs/fontconfig:= >=media-libs/freetype-2.11.0-r1:= system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) media-libs/libjpeg-turbo:= system-zstd? ( >=app-arch/zstd-1.5.5:= ) >=media-libs/libwebp-0.4.0:= media-libs/mesa:=[gbm(+)] >=media-libs/openh264-2.6.0:= sys-libs/zlib:= !headless? ( dev-libs/glib:2 >=media-libs/alsa-lib-1.0.19:= pulseaudio? ( media-libs/libpulse:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-base/xorg-proto:= x11-libs/libX11:= x11-libs/libxcb:= x11-libs/libXext:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/libffi:= dev-libs/wayland:= screencast? ( media-video/pipewire:= ) ) ) || ( dev-lang/python:3.14[xml(+)] dev-lang/python:3.13[xml(+)] dev-lang/python:3.12[xml(+)] dev-lang/python:3.11[xml(+)] dev-lang/python:3.10[xml(+)] ) || ( ( dev-lang/python:3.14[xml(+)] dev-python/setuptools[python_targets_python3_14(-)] ) ( dev-lang/python:3.13[xml(+)] dev-python/setuptools[python_targets_python3_13(-)] ) ( dev-lang/python:3.12[xml(+)] dev-python/setuptools[python_targets_python3_12(-)] ) ( dev-lang/python:3.11[xml(+)] dev-python/setuptools[python_targets_python3_11(-)] ) ( dev-lang/python:3.10[xml(+)] dev-python/setuptools[python_targets_python3_10(-)] ) ) >=app-arch/gzip-1.7 !headless? ( qt6? ( dev-qt/qtbase:6 ) ) !bundled-toolchain? ( llvm_slot_21? ( llvm-core/clang:21 llvm-core/llvm:21 llvm-core/lld:21 official? ( !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:21[cfi] ) ) ) llvm_slot_21? ( || ( dev-lang/rust-bin:1.94.0[llvm_slot_21,rustfmt] dev-lang/rust:1.94.0[llvm_slot_21,rustfmt] dev-lang/rust-bin:1.93.1[llvm_slot_21,rustfmt] dev-lang/rust:1.93.1[llvm_slot_21,rustfmt] dev-lang/rust-bin:1.93.0[llvm_slot_21,rustfmt] dev-lang/rust:1.93.0[llvm_slot_21,rustfmt] dev-lang/rust-bin:1.92.0[llvm_slot_21,rustfmt] dev-lang/rust:1.92.0[llvm_slot_21,rustfmt] dev-lang/rust-bin:1.91.0[llvm_slot_21,rustfmt] dev-lang/rust:1.91.0[llvm_slot_21,rustfmt] ) ) ) pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 ) >=dev-util/bindgen-0.72.1 >=dev-build/gn-0.2318 app-alternatives/ninja dev-lang/perl >=dev-util/gperf-3.2 dev-util/esbuild:0.25.1 dev-vcs/git >=net-libs/nodejs-24.12.0[inspector] sys-apps/hwdata >=sys-devel/bison-2.4.3 sys-devel/flex virtual/pkgconfig virtual/pkgconfig pgo? ( x11-base/xorg-server[xvfb] x11-apps/xhost )
-DEFINED_PHASES=compile configure install postinst postrm prepare pretend setup test unpack
-DEPEND=system-icu? ( >=dev-libs/icu-73.0:= ) >=dev-libs/libxml2-2.12.4:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= dev-libs/libxslt:= media-libs/fontconfig:= >=media-libs/freetype-2.11.0-r1:= system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) media-libs/libjpeg-turbo:= system-zstd? ( >=app-arch/zstd-1.5.5:= ) >=media-libs/libwebp-0.4.0:= media-libs/mesa:=[gbm(+)] >=media-libs/openh264-2.6.0:= sys-libs/zlib:= !headless? ( dev-libs/glib:2 >=media-libs/alsa-lib-1.0.19:= pulseaudio? ( media-libs/libpulse:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-base/xorg-proto:= x11-libs/libX11:= x11-libs/libxcb:= x11-libs/libXext:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/libffi:= dev-libs/wayland:= screencast? ( media-video/pipewire:= ) ) ) app-arch/bzip2:= dev-libs/expat:= net-misc/curl[ssl] sys-apps/dbus:= media-libs/flac:= sys-libs/zlib:=[minizip] !headless? ( >=app-accessibility/at-spi2-core-2.46.0:2 media-libs/mesa:=[X?,wayland?] virtual/udev x11-libs/cairo:= x11-libs/gdk-pixbuf:2 x11-libs/pango:= cups? ( >=net-print/cups-1.3.11:= ) qt6? ( dev-qt/qtbase:6[gui,widgets] ) X? ( 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:= ) ) !headless? ( gtk4? ( gui-libs/gtk:4[X?,wayland?] ) !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) )
-DESCRIPTION=Open-source version of Google Chrome web browser
-EAPI=8
-HOMEPAGE=https://www.chromium.org/
-INHERIT=check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils python-any-r1 readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils
-IUSE=+X +system-harfbuzz +system-icu +system-zstd bindist bundled-toolchain cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio qt6 +rar +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3 custom-cflags +l10n_af +l10n_am +l10n_ar +l10n_bg +l10n_bn +l10n_ca +l10n_cs +l10n_da +l10n_de +l10n_el +l10n_en-GB +l10n_es +l10n_es-419 +l10n_et +l10n_fa +l10n_fi +l10n_fil +l10n_fr +l10n_gu +l10n_he +l10n_hi +l10n_hr +l10n_hu +l10n_id +l10n_it +l10n_ja +l10n_kn +l10n_ko +l10n_lt +l10n_lv +l10n_ml +l10n_mr +l10n_ms +l10n_nb +l10n_nl +l10n_pl +l10n_pt-BR +l10n_pt-PT +l10n_ro +l10n_ru +l10n_sk +l10n_sl +l10n_sr +l10n_sv +l10n_sw +l10n_ta +l10n_te +l10n_th +l10n_tr +l10n_uk +l10n_ur +l10n_vi +l10n_zh-CN +l10n_zh-TW +llvm_slot_21 pgo
-KEYWORDS=amd64 arm64
-LICENSE=Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Base64 Boost-1.0 CC-BY-3.0 CC-BY-4.0 Clear-BSD FFT2D FTL IJG ISC LGPL-2 LGPL-2.1 MIT MPL-1.1 MPL-2.0 Ms-PL PSF-2 SGI-B-2.0 SSLeay SunSoft Unicode-3.0 Unicode-DFS-2015 Unlicense UoI-NCSA ZLIB libtiff openssl rar? ( unRAR )
-RDEPEND=system-icu? ( >=dev-libs/icu-73.0:= ) >=dev-libs/libxml2-2.12.4:=[icu] dev-libs/nspr:= >=dev-libs/nss-3.26:= dev-libs/libxslt:= media-libs/fontconfig:= >=media-libs/freetype-2.11.0-r1:= system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) media-libs/libjpeg-turbo:= system-zstd? ( >=app-arch/zstd-1.5.5:= ) >=media-libs/libwebp-0.4.0:= media-libs/mesa:=[gbm(+)] >=media-libs/openh264-2.6.0:= sys-libs/zlib:= !headless? ( dev-libs/glib:2 >=media-libs/alsa-lib-1.0.19:= pulseaudio? ( media-libs/libpulse:= ) sys-apps/pciutils:= kerberos? ( virtual/krb5 ) vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) X? ( x11-base/xorg-proto:= x11-libs/libX11:= x11-libs/libxcb:= x11-libs/libXext:= ) x11-libs/libxkbcommon:= wayland? ( dev-libs/libffi:= dev-libs/wayland:= screencast? ( media-video/pipewire:= ) ) ) app-arch/bzip2:= dev-libs/expat:= net-misc/curl[ssl] sys-apps/dbus:= media-libs/flac:= sys-libs/zlib:=[minizip] !headless? ( >=app-accessibility/at-spi2-core-2.46.0:2 media-libs/mesa:=[X?,wayland?] virtual/udev x11-libs/cairo:= x11-libs/gdk-pixbuf:2 x11-libs/pango:= cups? ( >=net-print/cups-1.3.11:= ) qt6? ( dev-qt/qtbase:6[gui,widgets] ) X? ( 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:= ) ) !www-client/chromium:0 >=www-client/chromium-common-2 !headless? ( || ( x11-libs/gtk+:3[X?,wayland?] gui-libs/gtk:4[X?,wayland?] ) qt6? ( dev-qt/qtbase:6[X?,wayland?] ) ) virtual/ttf-fonts selinux? ( sec-policy/selinux-chromium ) bindist? ( !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) ffmpeg-chromium? ( media-video/ffmpeg-chromium:146 ) )
-REQUIRED_USE=!headless? ( || ( X wayland ) ) pgo? ( X !wayland ) screencast? ( wayland ) ffmpeg-chromium? ( bindist proprietary-codecs ) ^^ ( llvm_slot_21 )
-RESTRICT=!bindist? ( bindist ) !test? ( test ) arm64? ( test )
-SLOT=stable
-SRC_URI=https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/146.0.7680.80/chromium-146.0.7680.80-linux.tar.xz https://deps.gentoo.zip/www-client/chromium/rollup-wasm-node-4.57.1.tgz !bundled-toolchain? ( https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/146-1/chromium-patches-146-1.tar.bz2 https://codeberg.org/selfisekai/copium/archive/fe1caafa06f27542c18a881348f78e984e2d9fe2.tar.gz -> chromium-patches-copium-fe1caafa06.tar.gz ) bundled-toolchain? ( https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-llvmorg-23-init-2224-g5bd8dadb-3.tar.xz -> chromium-clang-llvmorg-23-init-2224-g5bd8dadb-3.tar.xz https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-7d8ebe3128fc87f3da1ad64240e63ccf07b8f0bd-3-llvmorg-23-init-2224-g5bd8dadb.tar.xz -> chromium-rust-toolchain-7d8ebe3128-3-llvmorg-23-init-2224-g5bd8dadb.tar.xz ) test? ( https://chromium-fonts.storage.googleapis.com/a28b222b79851716f8358d2800157d9ffe117b3545031ae51f69b7e1e1b9a969 -> chromium-testfonts-a28b222b79.tar.gz ) ppc64? ( https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/6e839bd94774ccf59b4c0db697fcf15c7bc1f22e/openpower-patches-6e839bd94774ccf59b4c0db697fcf15c7bc1f22e.tar.bz2 -> chromium-openpower-6e839bd947.tar.bz2 ) pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )
-_eclasses_=check-reqs 12ab9d3fc16bfe1f87c6fb652324b57c chromium-2 6be3cf193def84c82ddae5c1f21ddbe5 desktop 26d57169ca094c04be416993844ec8bc eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d linux-info efd923656513c879204fec6638eadee5 llvm-r1 77771a412c60b32ce3205d377edd7b83 llvm-utils e7edb4086e31c8537574b263d899f826 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 ninja-utils d063ea1900a793f93eb095010d6d9156 pax-utils 5555f2e75744739fe100ee62c22d28fe python-any-r1 891415dfe39ad9b41b461f2b86354af0 python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 readme.gentoo-r1 9ca94b2d607e7454ca6cfb44ab8ce327 rust 0d1cc00e0e91a021b50b0491e361ad41 systemd a964c0cbe818b5729da1dbfcee5be861 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
-_md5_=ce602fca37809ee6d986b620340ceb44
diff --git a/metadata/md5-cache/www-client/firefox-140.9.0 b/metadata/md5-cache/www-client/firefox-140.9.0
new file mode 100644
index 000000000000..fb88c65e96a2
--- /dev/null
+++ b/metadata/md5-cache/www-client/firefox-140.9.0
@@ -0,0 +1,18 @@
+BDEPEND=|| ( dev-lang/python:3.14[ncurses,sqlite,ssl] dev-lang/python:3.13[ncurses,sqlite,ssl] dev-lang/python:3.12[ncurses,sqlite,ssl] dev-lang/python:3.11[ncurses,sqlite,ssl] dev-lang/python:3.10[ncurses,sqlite,ssl] ) llvm_slot_19? ( llvm-core/clang:19 llvm-core/llvm:19 clang? ( llvm-core/lld:19 pgo? ( llvm-runtimes/compiler-rt-sanitizers:19[profile] ) ) wasm-sandbox? ( llvm-core/lld:19 ) ) llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 clang? ( llvm-core/lld:20 pgo? ( llvm-runtimes/compiler-rt-sanitizers:20[profile] ) ) wasm-sandbox? ( llvm-core/lld:20 ) ) llvm_slot_21? ( llvm-core/clang:21 llvm-core/llvm:21 clang? ( llvm-core/lld:21 pgo? ( llvm-runtimes/compiler-rt-sanitizers:21[profile] ) ) wasm-sandbox? ( llvm-core/lld:21 ) ) app-alternatives/awk app-arch/unzip app-arch/zip >=dev-util/cbindgen-0.27.0 net-libs/nodejs virtual/pkgconfig amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( X? ( sys-devel/gettext x11-base/xorg-server[xvfb] x11-apps/xhost ) !X? ( gui-wm/tinywl x11-misc/xkeyboard-config ) ) llvm_slot_19? ( || ( dev-lang/rust-bin:1.86.0[llvm_slot_19] dev-lang/rust:1.86.0[llvm_slot_19] dev-lang/rust-bin:1.85.1[llvm_slot_19] dev-lang/rust:1.85.1[llvm_slot_19] dev-lang/rust-bin:1.85.0[llvm_slot_19] dev-lang/rust:1.85.0[llvm_slot_19] dev-lang/rust-bin:1.84.1[llvm_slot_19] dev-lang/rust:1.84.1[llvm_slot_19] dev-lang/rust-bin:1.84.0[llvm_slot_19] dev-lang/rust:1.84.0[llvm_slot_19] dev-lang/rust-bin:1.83.0[llvm_slot_19] dev-lang/rust:1.83.0[llvm_slot_19] dev-lang/rust-bin:1.82.0[llvm_slot_19] dev-lang/rust:1.82.0[llvm_slot_19] ) ) llvm_slot_20? ( || ( dev-lang/rust-bin:1.90.0[llvm_slot_20] dev-lang/rust:1.90.0[llvm_slot_20] dev-lang/rust-bin:1.89.0[llvm_slot_20] dev-lang/rust:1.89.0[llvm_slot_20] dev-lang/rust-bin:1.88.0[llvm_slot_20] dev-lang/rust:1.88.0[llvm_slot_20] dev-lang/rust-bin:1.87.0[llvm_slot_20] dev-lang/rust:1.87.0[llvm_slot_20] ) ) llvm_slot_21? ( || ( dev-lang/rust-bin:1.94.0[llvm_slot_21] dev-lang/rust:1.94.0[llvm_slot_21] dev-lang/rust-bin:1.93.1[llvm_slot_21] dev-lang/rust:1.93.1[llvm_slot_21] dev-lang/rust-bin:1.93.0[llvm_slot_21] dev-lang/rust:1.93.0[llvm_slot_21] dev-lang/rust-bin:1.92.0[llvm_slot_21] dev-lang/rust:1.92.0[llvm_slot_21] dev-lang/rust-bin:1.91.0[llvm_slot_21] dev-lang/rust:1.91.0[llvm_slot_21] ) )
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup test unpack
+DEPEND=!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.112.3 >=dev-libs/nspr-4.36 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg virtual/zlib:= virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/libdrm x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-3.10.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-76.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-pipewire? ( >=media-video/pipewire-1.4.7-r2:= ) system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) X? ( x11-base/xorg-proto x11-libs/libICE x11-libs/libSM )
+DESCRIPTION=Firefox Web Browser
+EAPI=8
+HOMEPAGE=https://www.firefox.com https://www.firefox.com/enterprise/
+IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info
+INHERIT=check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg
+IUSE=+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-pipewire system-png +system-webp test wayland wifi +X +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox l10n_af l10n_ar l10n_ast l10n_be l10n_bg l10n_br l10n_ca l10n_cak l10n_cs l10n_cy l10n_da l10n_de l10n_dsb l10n_el l10n_en-CA l10n_en-GB l10n_es-AR l10n_es-ES l10n_et l10n_eu l10n_fi l10n_fr l10n_fy l10n_ga l10n_gd l10n_gl l10n_he l10n_hr l10n_hsb l10n_hu l10n_id l10n_is l10n_it l10n_ja l10n_ka l10n_kab l10n_kk l10n_ko l10n_lt l10n_lv l10n_ms l10n_nb l10n_nl l10n_nn l10n_pa l10n_pl l10n_pt-BR l10n_pt-PT l10n_rm l10n_ro l10n_ru l10n_sk l10n_sl l10n_sq l10n_sr l10n_sv l10n_th l10n_tr l10n_uk l10n_uz l10n_vi l10n_zh-CN l10n_zh-TW l10n_ach l10n_an l10n_az l10n_bn l10n_bs l10n_ca-valencia l10n_eo l10n_es-CL l10n_es-MX l10n_fa l10n_ff l10n_fur l10n_gn l10n_gu l10n_hi l10n_hy l10n_ia l10n_km l10n_kn l10n_lij l10n_mk l10n_mr l10n_my l10n_ne l10n_oc l10n_sc l10n_sco l10n_si l10n_skr l10n_son l10n_szl l10n_ta l10n_te l10n_tl l10n_trs l10n_ur l10n_xh +llvm_slot_21 llvm_slot_19 llvm_slot_20
+KEYWORDS=~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86
+LICENSE=MPL-2.0 GPL-2 LGPL-2.1
+RDEPEND=!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.112.3 >=dev-libs/nspr-4.36 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg virtual/zlib:= virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/libdrm x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-3.10.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-76.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-pipewire? ( >=media-video/pipewire-1.4.7-r2:= ) system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) hwaccel? ( media-video/libva-utils sys-apps/pciutils ) jack? ( virtual/jack ) openh264? ( media-libs/openh264:*[plugin] ) !www-client/firefox:rapid
+REQUIRED_USE=|| ( X wayland ) debug? ( !system-av1 ) pgo? ( jumbo-build ) wayland? ( dbus ) wifi? ( dbus ) ^^ ( llvm_slot_19 llvm_slot_20 llvm_slot_21 )
+RESTRICT=!test? ( test )
+SLOT=esr
+SRC_URI=https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/source/firefox-140.9.0esr.source.tar.xz -> firefox-140.9.0esr.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-140esr-patches-07.tar.xz loong? ( https://dev.gentoo.org/~xen0n/distfiles/www-client/firefox/firefox-139-loong-patches-02.tar.xz ) wasm-sandbox? ( amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-32/wasi-sdk-32.0-x86_64-linux.tar.gz ) arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-32/wasi-sdk-32.0-arm64-linux.tar.gz ) ) l10n_af? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/af.xpi -> firefox-140.9.0esr-af.xpi ) l10n_ar? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ar.xpi -> firefox-140.9.0esr-ar.xpi ) l10n_ast? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ast.xpi -> firefox-140.9.0esr-ast.xpi ) l10n_be? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/be.xpi -> firefox-140.9.0esr-be.xpi ) l10n_bg? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/bg.xpi -> firefox-140.9.0esr-bg.xpi ) l10n_br? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/br.xpi -> firefox-140.9.0esr-br.xpi ) l10n_ca? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ca.xpi -> firefox-140.9.0esr-ca.xpi ) l10n_cak? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/cak.xpi -> firefox-140.9.0esr-cak.xpi ) l10n_cs? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/cs.xpi -> firefox-140.9.0esr-cs.xpi ) l10n_cy? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/cy.xpi -> firefox-140.9.0esr-cy.xpi ) l10n_da? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/da.xpi -> firefox-140.9.0esr-da.xpi ) l10n_de? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/de.xpi -> firefox-140.9.0esr-de.xpi ) l10n_dsb? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/dsb.xpi -> firefox-140.9.0esr-dsb.xpi ) l10n_el? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/el.xpi -> firefox-140.9.0esr-el.xpi ) l10n_en-CA? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/en-CA.xpi -> firefox-140.9.0esr-en-CA.xpi ) l10n_en-GB? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/en-GB.xpi -> firefox-140.9.0esr-en-GB.xpi ) l10n_es-AR? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/es-AR.xpi -> firefox-140.9.0esr-es-AR.xpi ) l10n_es-ES? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/es-ES.xpi -> firefox-140.9.0esr-es-ES.xpi ) l10n_et? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/et.xpi -> firefox-140.9.0esr-et.xpi ) l10n_eu? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/eu.xpi -> firefox-140.9.0esr-eu.xpi ) l10n_fi? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/fi.xpi -> firefox-140.9.0esr-fi.xpi ) l10n_fr? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/fr.xpi -> firefox-140.9.0esr-fr.xpi ) l10n_fy? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/fy-NL.xpi -> firefox-140.9.0esr-fy-NL.xpi ) l10n_ga? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ga-IE.xpi -> firefox-140.9.0esr-ga-IE.xpi ) l10n_gd? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/gd.xpi -> firefox-140.9.0esr-gd.xpi ) l10n_gl? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/gl.xpi -> firefox-140.9.0esr-gl.xpi ) l10n_he? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/he.xpi -> firefox-140.9.0esr-he.xpi ) l10n_hr? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/hr.xpi -> firefox-140.9.0esr-hr.xpi ) l10n_hsb? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/hsb.xpi -> firefox-140.9.0esr-hsb.xpi ) l10n_hu? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/hu.xpi -> firefox-140.9.0esr-hu.xpi ) l10n_id? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/id.xpi -> firefox-140.9.0esr-id.xpi ) l10n_is? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/is.xpi -> firefox-140.9.0esr-is.xpi ) l10n_it? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/it.xpi -> firefox-140.9.0esr-it.xpi ) l10n_ja? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ja.xpi -> firefox-140.9.0esr-ja.xpi ) l10n_ka? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ka.xpi -> firefox-140.9.0esr-ka.xpi ) l10n_kab? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/kab.xpi -> firefox-140.9.0esr-kab.xpi ) l10n_kk? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/kk.xpi -> firefox-140.9.0esr-kk.xpi ) l10n_ko? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ko.xpi -> firefox-140.9.0esr-ko.xpi ) l10n_lt? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/lt.xpi -> firefox-140.9.0esr-lt.xpi ) l10n_lv? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/lv.xpi -> firefox-140.9.0esr-lv.xpi ) l10n_ms? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ms.xpi -> firefox-140.9.0esr-ms.xpi ) l10n_nb? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/nb-NO.xpi -> firefox-140.9.0esr-nb-NO.xpi ) l10n_nl? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/nl.xpi -> firefox-140.9.0esr-nl.xpi ) l10n_nn? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/nn-NO.xpi -> firefox-140.9.0esr-nn-NO.xpi ) l10n_pa? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/pa-IN.xpi -> firefox-140.9.0esr-pa-IN.xpi ) l10n_pl? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/pl.xpi -> firefox-140.9.0esr-pl.xpi ) l10n_pt-BR? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/pt-BR.xpi -> firefox-140.9.0esr-pt-BR.xpi ) l10n_pt-PT? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/pt-PT.xpi -> firefox-140.9.0esr-pt-PT.xpi ) l10n_rm? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/rm.xpi -> firefox-140.9.0esr-rm.xpi ) l10n_ro? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ro.xpi -> firefox-140.9.0esr-ro.xpi ) l10n_ru? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ru.xpi -> firefox-140.9.0esr-ru.xpi ) l10n_sk? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/sk.xpi -> firefox-140.9.0esr-sk.xpi ) l10n_sl? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/sl.xpi -> firefox-140.9.0esr-sl.xpi ) l10n_sq? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/sq.xpi -> firefox-140.9.0esr-sq.xpi ) l10n_sr? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/sr.xpi -> firefox-140.9.0esr-sr.xpi ) l10n_sv? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/sv-SE.xpi -> firefox-140.9.0esr-sv-SE.xpi ) l10n_th? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/th.xpi -> firefox-140.9.0esr-th.xpi ) l10n_tr? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/tr.xpi -> firefox-140.9.0esr-tr.xpi ) l10n_uk? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/uk.xpi -> firefox-140.9.0esr-uk.xpi ) l10n_uz? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/uz.xpi -> firefox-140.9.0esr-uz.xpi ) l10n_vi? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/vi.xpi -> firefox-140.9.0esr-vi.xpi ) l10n_zh-CN? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/zh-CN.xpi -> firefox-140.9.0esr-zh-CN.xpi ) l10n_zh-TW? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/zh-TW.xpi -> firefox-140.9.0esr-zh-TW.xpi ) l10n_ach? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ach.xpi -> firefox-140.9.0esr-ach.xpi ) l10n_an? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/an.xpi -> firefox-140.9.0esr-an.xpi ) l10n_az? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/az.xpi -> firefox-140.9.0esr-az.xpi ) l10n_bn? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/bn.xpi -> firefox-140.9.0esr-bn.xpi ) l10n_bs? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/bs.xpi -> firefox-140.9.0esr-bs.xpi ) l10n_ca-valencia? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ca-valencia.xpi -> firefox-140.9.0esr-ca-valencia.xpi ) l10n_eo? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/eo.xpi -> firefox-140.9.0esr-eo.xpi ) l10n_es-CL? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/es-CL.xpi -> firefox-140.9.0esr-es-CL.xpi ) l10n_es-MX? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/es-MX.xpi -> firefox-140.9.0esr-es-MX.xpi ) l10n_fa? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/fa.xpi -> firefox-140.9.0esr-fa.xpi ) l10n_ff? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ff.xpi -> firefox-140.9.0esr-ff.xpi ) l10n_fur? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/fur.xpi -> firefox-140.9.0esr-fur.xpi ) l10n_gn? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/gn.xpi -> firefox-140.9.0esr-gn.xpi ) l10n_gu? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/gu-IN.xpi -> firefox-140.9.0esr-gu-IN.xpi ) l10n_hi? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/hi-IN.xpi -> firefox-140.9.0esr-hi-IN.xpi ) l10n_hy? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/hy-AM.xpi -> firefox-140.9.0esr-hy-AM.xpi ) l10n_ia? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ia.xpi -> firefox-140.9.0esr-ia.xpi ) l10n_km? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/km.xpi -> firefox-140.9.0esr-km.xpi ) l10n_kn? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/kn.xpi -> firefox-140.9.0esr-kn.xpi ) l10n_lij? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/lij.xpi -> firefox-140.9.0esr-lij.xpi ) l10n_mk? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/mk.xpi -> firefox-140.9.0esr-mk.xpi ) l10n_mr? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/mr.xpi -> firefox-140.9.0esr-mr.xpi ) l10n_my? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/my.xpi -> firefox-140.9.0esr-my.xpi ) l10n_ne? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ne-NP.xpi -> firefox-140.9.0esr-ne-NP.xpi ) l10n_oc? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/oc.xpi -> firefox-140.9.0esr-oc.xpi ) l10n_sc? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/sc.xpi -> firefox-140.9.0esr-sc.xpi ) l10n_sco? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/sco.xpi -> firefox-140.9.0esr-sco.xpi ) l10n_si? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/si.xpi -> firefox-140.9.0esr-si.xpi ) l10n_skr? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/skr.xpi -> firefox-140.9.0esr-skr.xpi ) l10n_son? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/son.xpi -> firefox-140.9.0esr-son.xpi ) l10n_szl? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/szl.xpi -> firefox-140.9.0esr-szl.xpi ) l10n_ta? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ta.xpi -> firefox-140.9.0esr-ta.xpi ) l10n_te? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/te.xpi -> firefox-140.9.0esr-te.xpi ) l10n_tl? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/tl.xpi -> firefox-140.9.0esr-tl.xpi ) l10n_trs? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/trs.xpi -> firefox-140.9.0esr-trs.xpi ) l10n_ur? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ur.xpi -> firefox-140.9.0esr-ur.xpi ) l10n_xh? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/xh.xpi -> firefox-140.9.0esr-xh.xpi )
+_eclasses_=check-reqs 12ab9d3fc16bfe1f87c6fb652324b57c desktop 26d57169ca094c04be416993844ec8bc eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d gnome2-utils a8cf148ec7f5ae0b1f1d33ae5f7f9e88 linux-info efd923656513c879204fec6638eadee5 llvm-r1 77771a412c60b32ce3205d377edd7b83 llvm-utils e7edb4086e31c8537574b263d899f826 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 optfeature 538bce96e5589935b57e178e8635f301 pax-utils 5555f2e75744739fe100ee62c22d28fe python-any-r1 891415dfe39ad9b41b461f2b86354af0 python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 readme.gentoo-r1 9ca94b2d607e7454ca6cfb44ab8ce327 rust 0d1cc00e0e91a021b50b0491e361ad41 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=d8cc849c8446b93509114cc23f2e1e2d
diff --git a/metadata/md5-cache/www-client/firefox-149.0 b/metadata/md5-cache/www-client/firefox-149.0
new file mode 100644
index 000000000000..429541dd024e
--- /dev/null
+++ b/metadata/md5-cache/www-client/firefox-149.0
@@ -0,0 +1,19 @@
+BDEPEND=|| ( dev-lang/python:3.14[ncurses,sqlite,ssl] dev-lang/python:3.13[ncurses,sqlite,ssl] dev-lang/python:3.12[ncurses,sqlite,ssl] dev-lang/python:3.11[ncurses,sqlite,ssl] dev-lang/python:3.10[ncurses,sqlite,ssl] ) llvm_slot_20? ( llvm-core/clang:20 llvm-core/llvm:20 clang? ( llvm-core/lld:20 pgo? ( llvm-runtimes/compiler-rt-sanitizers:20[profile] ) ) wasm-sandbox? ( llvm-core/lld:20 ) ) llvm_slot_21? ( llvm-core/clang:21 llvm-core/llvm:21 clang? ( llvm-core/lld:21 pgo? ( llvm-runtimes/compiler-rt-sanitizers:21[profile] ) ) wasm-sandbox? ( llvm-core/lld:21 ) ) app-alternatives/awk app-arch/unzip app-arch/zip >=dev-util/cbindgen-0.29.1 net-libs/nodejs virtual/pkgconfig amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( X? ( sys-devel/gettext x11-base/xorg-server[xvfb] x11-apps/xhost ) !X? ( gui-wm/tinywl x11-misc/xkeyboard-config ) ) llvm_slot_20? ( || ( dev-lang/rust-bin:1.90.0[llvm_slot_20] dev-lang/rust:1.90.0[llvm_slot_20] ) ) llvm_slot_21? ( || ( dev-lang/rust-bin:1.94.0[llvm_slot_21] dev-lang/rust:1.94.0[llvm_slot_21] dev-lang/rust-bin:1.93.1[llvm_slot_21] dev-lang/rust:1.93.1[llvm_slot_21] dev-lang/rust-bin:1.93.0[llvm_slot_21] dev-lang/rust:1.93.0[llvm_slot_21] dev-lang/rust-bin:1.92.0[llvm_slot_21] dev-lang/rust:1.92.0[llvm_slot_21] dev-lang/rust-bin:1.91.0[llvm_slot_21] dev-lang/rust:1.91.0[llvm_slot_21] ) )
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup test unpack
+DEPEND=!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.121 >=dev-libs/nspr-4.38 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg virtual/zlib:= virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/libdrm x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-3.10.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-78.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-pipewire? ( >=media-video/pipewire-1.4.7-r2:= ) system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) valgrind? ( dev-debug/valgrind ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) X? ( x11-base/xorg-proto x11-libs/libICE x11-libs/libSM )
+DESCRIPTION=Firefox Web Browser
+EAPI=8
+HOMEPAGE=https://www.firefox.com
+IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info
+INHERIT=check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg
+IUSE=+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-pipewire system-png +system-webp test valgrind wayland wifi +X +gmp-autoupdate gnome-shell jpegxl +jumbo-build openh264 +telemetry wasm-sandbox +llvm_slot_21 llvm_slot_20
+KEYWORDS=~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86
+LICENSE=MPL-2.0 GPL-2 LGPL-2.1
+PDEPEND=~www-client/firefox-l10n-149.0
+RDEPEND=!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla ) >=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/glib:2 dev-libs/libffi:= >=dev-libs/nss-3.121 >=dev-libs/nspr-4.38 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/mesa media-video/ffmpeg virtual/zlib:= virtual/freedesktop-icon-theme x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/libdrm x11-libs/pango x11-libs/pixman dbus? ( sys-apps/dbus ) jack? ( virtual/jack ) pulseaudio? ( || ( media-libs/libpulse >=media-sound/apulse-0.1.12-r4[sdk] ) ) libproxy? ( net-libs/libproxy ) selinux? ( sec-policy/selinux-mozilla ) sndio? ( >=media-sound/sndio-1.8.0-r1 ) system-av1? ( >=media-libs/dav1d-1.0.0:= >=media-libs/libaom-3.10.0:= ) system-harfbuzz? ( >=media-libs/harfbuzz-2.8.1:0= !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) ) system-icu? ( >=dev-libs/icu-78.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-pipewire? ( >=media-video/pipewire-1.4.7-r2:= ) system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) system-webp? ( >=media-libs/libwebp-1.1.0:0= ) valgrind? ( dev-debug/valgrind ) wayland? ( >=media-libs/libepoxy-1.5.10-r1 x11-libs/gtk+:3[wayland] ) wifi? ( kernel_linux? ( || ( net-misc/networkmanager net-misc/connman[networkmanager] ) sys-apps/dbus ) ) X? ( virtual/opengl x11-libs/cairo[X] x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libxcb:= ) hwaccel? ( media-video/libva-utils sys-apps/pciutils ) jack? ( virtual/jack ) openh264? ( media-libs/openh264:*[plugin] ) !www-client/firefox:esr
+REQUIRED_USE=|| ( X wayland ) debug? ( !system-av1 ) pgo? ( jumbo-build ) wayland? ( dbus ) wifi? ( dbus ) ^^ ( llvm_slot_20 llvm_slot_21 )
+RESTRICT=!test? ( test )
+SLOT=rapid
+SRC_URI=https://archive.mozilla.org/pub/firefox/releases/149.0/source/firefox-149.0.source.tar.xz -> firefox-149.0.source.tar.xz https://dev.gentoo.org/~juippis/mozilla/patchsets/firefox-149-patches-01.tar.xz wasm-sandbox? ( amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-32/wasi-sdk-32.0-x86_64-linux.tar.gz ) arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-32/wasi-sdk-32.0-arm64-linux.tar.gz ) )
+_eclasses_=check-reqs 12ab9d3fc16bfe1f87c6fb652324b57c desktop 26d57169ca094c04be416993844ec8bc eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd flag-o-matic fd3558f73f6503093adee69adf41020d gnome2-utils a8cf148ec7f5ae0b1f1d33ae5f7f9e88 linux-info efd923656513c879204fec6638eadee5 llvm-r1 77771a412c60b32ce3205d377edd7b83 llvm-utils e7edb4086e31c8537574b263d899f826 multiprocessing c4ce7cd4e666b59ad4165ec2de032d09 optfeature 538bce96e5589935b57e178e8635f301 pax-utils 5555f2e75744739fe100ee62c22d28fe python-any-r1 891415dfe39ad9b41b461f2b86354af0 python-utils-r1 5e598a2f2670ef9a4b2be470c0718b82 readme.gentoo-r1 9ca94b2d607e7454ca6cfb44ab8ce327 rust 0d1cc00e0e91a021b50b0491e361ad41 toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 virtualx 9741d451eb64ea8bb9faee90d68a9b68 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=6c2cc2e55044f423a86aaac80352c853
diff --git a/metadata/md5-cache/www-client/firefox-bin-140.9.0 b/metadata/md5-cache/www-client/firefox-bin-140.9.0
new file mode 100644
index 000000000000..5c597a49be9b
--- /dev/null
+++ b/metadata/md5-cache/www-client/firefox-bin-140.9.0
@@ -0,0 +1,16 @@
+BDEPEND=app-arch/unzip
+DEFINED_PHASES=install postinst postrm preinst setup unpack
+DESCRIPTION=Firefox Web Browser
+EAPI=8
+HOMEPAGE=https://www.firefox.com https://www.firefox.com/enterprise/
+IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info
+INHERIT=desktop linux-info optfeature pax-utils xdg
+IUSE=+gmp-autoupdate selinux wayland l10n_ach l10n_af l10n_an l10n_ar l10n_ast l10n_az l10n_be l10n_bg l10n_bn l10n_br l10n_bs l10n_ca-valencia l10n_ca l10n_cak l10n_cs l10n_cy l10n_da l10n_de l10n_dsb l10n_el l10n_en-CA l10n_en-GB l10n_eo l10n_es-AR l10n_es-CL l10n_es-ES l10n_es-MX l10n_et l10n_eu l10n_fa l10n_ff l10n_fi l10n_fr l10n_fy l10n_ga l10n_gd l10n_gl l10n_gn l10n_gu l10n_he l10n_hi l10n_hr l10n_hsb l10n_hu l10n_hy l10n_ia l10n_id l10n_is l10n_it l10n_ja l10n_ka l10n_kab l10n_kk l10n_km l10n_kn l10n_ko l10n_lij l10n_lt l10n_lv l10n_mk l10n_mr l10n_ms l10n_my l10n_nb l10n_ne l10n_nl l10n_nn l10n_oc l10n_pa l10n_pl l10n_pt-BR l10n_pt-PT l10n_rm l10n_ro l10n_ru l10n_sco l10n_si l10n_sk l10n_skr l10n_sl l10n_son l10n_sq l10n_sr l10n_sv l10n_ta l10n_te l10n_th l10n_tl l10n_tr l10n_trs l10n_uk l10n_ur l10n_uz l10n_vi l10n_xh l10n_zh-CN l10n_zh-TW
+KEYWORDS=-* amd64 arm64 ~x86
+LICENSE=MPL-2.0 GPL-2 LGPL-2.1
+RDEPEND=!www-client/firefox-bin:0 || ( media-libs/libpulse media-sound/apulse ) >=app-accessibility/at-spi2-core-2.46.0:2 >=dev-libs/glib-2.26:2 media-libs/alsa-lib media-libs/fontconfig >=media-libs/freetype-2.4.10 <media-video/ffmpeg-8.0 sys-apps/dbus virtual/freedesktop-icon-theme >=x11-libs/cairo-1.10[X] x11-libs/gdk-pixbuf:2 >=x11-libs/gtk+-3.11:3[X,wayland?] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXcursor x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXi x11-libs/libXrandr x11-libs/libXrender x11-libs/libxcb >=x11-libs/pango-1.22.0 selinux? ( sec-policy/selinux-mozilla ) !www-client/firefox-bin:rapid
+RESTRICT=strip
+SLOT=esr
+SRC_URI=amd64? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/en-US/firefox-140.9.0esr.tar.xz -> firefox-bin_x86_64-140.9.0.tar.xz ) arm64? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-aarch64/en-US/firefox-140.9.0esr.tar.xz -> firefox-bin_aarch64-140.9.0.tar.xz ) x86? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-i686/en-US/firefox-140.9.0esr.tar.xz -> firefox-bin_i686-140.9.0.tar.xz ) l10n_ach? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ach.xpi -> firefox-140.9.0esr-ach.xpi ) l10n_af? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/af.xpi -> firefox-140.9.0esr-af.xpi ) l10n_an? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/an.xpi -> firefox-140.9.0esr-an.xpi ) l10n_ar? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ar.xpi -> firefox-140.9.0esr-ar.xpi ) l10n_ast? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ast.xpi -> firefox-140.9.0esr-ast.xpi ) l10n_az? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/az.xpi -> firefox-140.9.0esr-az.xpi ) l10n_be? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/be.xpi -> firefox-140.9.0esr-be.xpi ) l10n_bg? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/bg.xpi -> firefox-140.9.0esr-bg.xpi ) l10n_bn? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/bn.xpi -> firefox-140.9.0esr-bn.xpi ) l10n_br? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/br.xpi -> firefox-140.9.0esr-br.xpi ) l10n_bs? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/bs.xpi -> firefox-140.9.0esr-bs.xpi ) l10n_ca-valencia? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ca-valencia.xpi -> firefox-140.9.0esr-ca-valencia.xpi ) l10n_ca? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ca.xpi -> firefox-140.9.0esr-ca.xpi ) l10n_cak? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/cak.xpi -> firefox-140.9.0esr-cak.xpi ) l10n_cs? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/cs.xpi -> firefox-140.9.0esr-cs.xpi ) l10n_cy? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/cy.xpi -> firefox-140.9.0esr-cy.xpi ) l10n_da? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/da.xpi -> firefox-140.9.0esr-da.xpi ) l10n_de? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/de.xpi -> firefox-140.9.0esr-de.xpi ) l10n_dsb? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/dsb.xpi -> firefox-140.9.0esr-dsb.xpi ) l10n_el? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/el.xpi -> firefox-140.9.0esr-el.xpi ) l10n_en-CA? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/en-CA.xpi -> firefox-140.9.0esr-en-CA.xpi ) l10n_en-GB? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/en-GB.xpi -> firefox-140.9.0esr-en-GB.xpi ) l10n_eo? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/eo.xpi -> firefox-140.9.0esr-eo.xpi ) l10n_es-AR? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/es-AR.xpi -> firefox-140.9.0esr-es-AR.xpi ) l10n_es-CL? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/es-CL.xpi -> firefox-140.9.0esr-es-CL.xpi ) l10n_es-ES? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/es-ES.xpi -> firefox-140.9.0esr-es-ES.xpi ) l10n_es-MX? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/es-MX.xpi -> firefox-140.9.0esr-es-MX.xpi ) l10n_et? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/et.xpi -> firefox-140.9.0esr-et.xpi ) l10n_eu? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/eu.xpi -> firefox-140.9.0esr-eu.xpi ) l10n_fa? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/fa.xpi -> firefox-140.9.0esr-fa.xpi ) l10n_ff? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ff.xpi -> firefox-140.9.0esr-ff.xpi ) l10n_fi? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/fi.xpi -> firefox-140.9.0esr-fi.xpi ) l10n_fr? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/fr.xpi -> firefox-140.9.0esr-fr.xpi ) l10n_fy? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/fy-NL.xpi -> firefox-140.9.0esr-fy-NL.xpi ) l10n_ga? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ga-IE.xpi -> firefox-140.9.0esr-ga-IE.xpi ) l10n_gd? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/gd.xpi -> firefox-140.9.0esr-gd.xpi ) l10n_gl? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/gl.xpi -> firefox-140.9.0esr-gl.xpi ) l10n_gn? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/gn.xpi -> firefox-140.9.0esr-gn.xpi ) l10n_gu? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/gu-IN.xpi -> firefox-140.9.0esr-gu-IN.xpi ) l10n_he? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/he.xpi -> firefox-140.9.0esr-he.xpi ) l10n_hi? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/hi-IN.xpi -> firefox-140.9.0esr-hi-IN.xpi ) l10n_hr? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/hr.xpi -> firefox-140.9.0esr-hr.xpi ) l10n_hsb? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/hsb.xpi -> firefox-140.9.0esr-hsb.xpi ) l10n_hu? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/hu.xpi -> firefox-140.9.0esr-hu.xpi ) l10n_hy? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/hy-AM.xpi -> firefox-140.9.0esr-hy-AM.xpi ) l10n_ia? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ia.xpi -> firefox-140.9.0esr-ia.xpi ) l10n_id? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/id.xpi -> firefox-140.9.0esr-id.xpi ) l10n_is? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/is.xpi -> firefox-140.9.0esr-is.xpi ) l10n_it? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/it.xpi -> firefox-140.9.0esr-it.xpi ) l10n_ja? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ja.xpi -> firefox-140.9.0esr-ja.xpi ) l10n_ka? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ka.xpi -> firefox-140.9.0esr-ka.xpi ) l10n_kab? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/kab.xpi -> firefox-140.9.0esr-kab.xpi ) l10n_kk? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/kk.xpi -> firefox-140.9.0esr-kk.xpi ) l10n_km? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/km.xpi -> firefox-140.9.0esr-km.xpi ) l10n_kn? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/kn.xpi -> firefox-140.9.0esr-kn.xpi ) l10n_ko? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ko.xpi -> firefox-140.9.0esr-ko.xpi ) l10n_lij? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/lij.xpi -> firefox-140.9.0esr-lij.xpi ) l10n_lt? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/lt.xpi -> firefox-140.9.0esr-lt.xpi ) l10n_lv? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/lv.xpi -> firefox-140.9.0esr-lv.xpi ) l10n_mk? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/mk.xpi -> firefox-140.9.0esr-mk.xpi ) l10n_mr? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/mr.xpi -> firefox-140.9.0esr-mr.xpi ) l10n_ms? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ms.xpi -> firefox-140.9.0esr-ms.xpi ) l10n_my? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/my.xpi -> firefox-140.9.0esr-my.xpi ) l10n_nb? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/nb-NO.xpi -> firefox-140.9.0esr-nb-NO.xpi ) l10n_ne? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ne-NP.xpi -> firefox-140.9.0esr-ne-NP.xpi ) l10n_nl? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/nl.xpi -> firefox-140.9.0esr-nl.xpi ) l10n_nn? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/nn-NO.xpi -> firefox-140.9.0esr-nn-NO.xpi ) l10n_oc? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/oc.xpi -> firefox-140.9.0esr-oc.xpi ) l10n_pa? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/pa-IN.xpi -> firefox-140.9.0esr-pa-IN.xpi ) l10n_pl? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/pl.xpi -> firefox-140.9.0esr-pl.xpi ) l10n_pt-BR? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/pt-BR.xpi -> firefox-140.9.0esr-pt-BR.xpi ) l10n_pt-PT? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/pt-PT.xpi -> firefox-140.9.0esr-pt-PT.xpi ) l10n_rm? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/rm.xpi -> firefox-140.9.0esr-rm.xpi ) l10n_ro? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ro.xpi -> firefox-140.9.0esr-ro.xpi ) l10n_ru? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ru.xpi -> firefox-140.9.0esr-ru.xpi ) l10n_sco? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/sco.xpi -> firefox-140.9.0esr-sco.xpi ) l10n_si? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/si.xpi -> firefox-140.9.0esr-si.xpi ) l10n_sk? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/sk.xpi -> firefox-140.9.0esr-sk.xpi ) l10n_skr? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/skr.xpi -> firefox-140.9.0esr-skr.xpi ) l10n_sl? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/sl.xpi -> firefox-140.9.0esr-sl.xpi ) l10n_son? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/son.xpi -> firefox-140.9.0esr-son.xpi ) l10n_sq? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/sq.xpi -> firefox-140.9.0esr-sq.xpi ) l10n_sr? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/sr.xpi -> firefox-140.9.0esr-sr.xpi ) l10n_sv? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/sv-SE.xpi -> firefox-140.9.0esr-sv-SE.xpi ) l10n_ta? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ta.xpi -> firefox-140.9.0esr-ta.xpi ) l10n_te? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/te.xpi -> firefox-140.9.0esr-te.xpi ) l10n_th? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/th.xpi -> firefox-140.9.0esr-th.xpi ) l10n_tl? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/tl.xpi -> firefox-140.9.0esr-tl.xpi ) l10n_tr? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/tr.xpi -> firefox-140.9.0esr-tr.xpi ) l10n_trs? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/trs.xpi -> firefox-140.9.0esr-trs.xpi ) l10n_uk? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/uk.xpi -> firefox-140.9.0esr-uk.xpi ) l10n_ur? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/ur.xpi -> firefox-140.9.0esr-ur.xpi ) l10n_uz? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/uz.xpi -> firefox-140.9.0esr-uz.xpi ) l10n_vi? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/vi.xpi -> firefox-140.9.0esr-vi.xpi ) l10n_xh? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/xh.xpi -> firefox-140.9.0esr-xh.xpi ) l10n_zh-CN? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/zh-CN.xpi -> firefox-140.9.0esr-zh-CN.xpi ) l10n_zh-TW? ( https://archive.mozilla.org/pub/firefox/releases/140.9.0esr/linux-x86_64/xpi/zh-TW.xpi -> firefox-140.9.0esr-zh-TW.xpi )
+_eclasses_=desktop 26d57169ca094c04be416993844ec8bc linux-info efd923656513c879204fec6638eadee5 optfeature 538bce96e5589935b57e178e8635f301 pax-utils 5555f2e75744739fe100ee62c22d28fe toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 xdg 3ef49a87c52c8b77c476351195dfe575 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
+_md5_=fe2fa40d9cbba0194831cf2494ba670e
diff --git a/metadata/md5-cache/www-client/firefox-l10n-149.0 b/metadata/md5-cache/www-client/firefox-l10n-149.0
new file mode 100644
index 000000000000..deadd6e0001f
--- /dev/null
+++ b/metadata/md5-cache/www-client/firefox-l10n-149.0
@@ -0,0 +1,12 @@
+BDEPEND=app-arch/unzip
+DEFINED_PHASES=install unpack
+DESCRIPTION=Firefox Web Browser's translation files
+EAPI=8
+HOMEPAGE=https://www.firefox.com
+IUSE=l10n_af l10n_ar l10n_ast l10n_be l10n_bg l10n_br l10n_ca l10n_cak l10n_cs l10n_cy l10n_da l10n_de l10n_dsb l10n_el l10n_en-CA l10n_en-GB l10n_es-AR l10n_es-ES l10n_et l10n_eu l10n_fi l10n_fr l10n_fy l10n_ga l10n_gd l10n_gl l10n_he l10n_hr l10n_hsb l10n_hu l10n_id l10n_is l10n_it l10n_ja l10n_ka l10n_kab l10n_kk l10n_ko l10n_lt l10n_lv l10n_ms l10n_nb l10n_nl l10n_nn l10n_pa l10n_pl l10n_pt-BR l10n_pt-PT l10n_rm l10n_ro l10n_ru l10n_sk l10n_sl l10n_sq l10n_sr l10n_sv l10n_th l10n_tr l10n_uk l10n_uz l10n_vi l10n_zh-CN l10n_zh-TW l10n_ach l10n_an l10n_az l10n_bn l10n_bs l10n_ca-valencia l10n_eo l10n_es-CL l10n_es-MX l10n_fa l10n_ff l10n_fur l10n_gn l10n_gu l10n_hi l10n_hy l10n_ia l10n_km l10n_kn l10n_lij l10n_mk l10n_mr l10n_my l10n_ne l10n_oc l10n_sc l10n_sco l10n_si l10n_skr l10n_son l10n_szl l10n_ta l10n_te l10n_tl l10n_trs l10n_ur l10n_xh
+KEYWORDS=~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86
+LICENSE=MPL-2.0
+RDEPEND=~www-client/firefox-149.0
+SLOT=0
+SRC_URI=l10n_af? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/af.xpi -> firefox-149.0-af.xpi ) l10n_ar? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ar.xpi -> firefox-149.0-ar.xpi ) l10n_ast? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ast.xpi -> firefox-149.0-ast.xpi ) l10n_be? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/be.xpi -> firefox-149.0-be.xpi ) l10n_bg? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/bg.xpi -> firefox-149.0-bg.xpi ) l10n_br? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/br.xpi -> firefox-149.0-br.xpi ) l10n_ca? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ca.xpi -> firefox-149.0-ca.xpi ) l10n_cak? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/cak.xpi -> firefox-149.0-cak.xpi ) l10n_cs? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/cs.xpi -> firefox-149.0-cs.xpi ) l10n_cy? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/cy.xpi -> firefox-149.0-cy.xpi ) l10n_da? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/da.xpi -> firefox-149.0-da.xpi ) l10n_de? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/de.xpi -> firefox-149.0-de.xpi ) l10n_dsb? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/dsb.xpi -> firefox-149.0-dsb.xpi ) l10n_el? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/el.xpi -> firefox-149.0-el.xpi ) l10n_en-CA? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/en-CA.xpi -> firefox-149.0-en-CA.xpi ) l10n_en-GB? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/en-GB.xpi -> firefox-149.0-en-GB.xpi ) l10n_es-AR? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/es-AR.xpi -> firefox-149.0-es-AR.xpi ) l10n_es-ES? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/es-ES.xpi -> firefox-149.0-es-ES.xpi ) l10n_et? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/et.xpi -> firefox-149.0-et.xpi ) l10n_eu? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/eu.xpi -> firefox-149.0-eu.xpi ) l10n_fi? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/fi.xpi -> firefox-149.0-fi.xpi ) l10n_fr? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/fr.xpi -> firefox-149.0-fr.xpi ) l10n_fy? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/fy-NL.xpi -> firefox-149.0-fy-NL.xpi ) l10n_ga? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ga-IE.xpi -> firefox-149.0-ga-IE.xpi ) l10n_gd? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/gd.xpi -> firefox-149.0-gd.xpi ) l10n_gl? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/gl.xpi -> firefox-149.0-gl.xpi ) l10n_he? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/he.xpi -> firefox-149.0-he.xpi ) l10n_hr? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/hr.xpi -> firefox-149.0-hr.xpi ) l10n_hsb? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/hsb.xpi -> firefox-149.0-hsb.xpi ) l10n_hu? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/hu.xpi -> firefox-149.0-hu.xpi ) l10n_id? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/id.xpi -> firefox-149.0-id.xpi ) l10n_is? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/is.xpi -> firefox-149.0-is.xpi ) l10n_it? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/it.xpi -> firefox-149.0-it.xpi ) l10n_ja? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ja.xpi -> firefox-149.0-ja.xpi ) l10n_ka? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ka.xpi -> firefox-149.0-ka.xpi ) l10n_kab? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/kab.xpi -> firefox-149.0-kab.xpi ) l10n_kk? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/kk.xpi -> firefox-149.0-kk.xpi ) l10n_ko? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ko.xpi -> firefox-149.0-ko.xpi ) l10n_lt? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/lt.xpi -> firefox-149.0-lt.xpi ) l10n_lv? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/lv.xpi -> firefox-149.0-lv.xpi ) l10n_ms? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ms.xpi -> firefox-149.0-ms.xpi ) l10n_nb? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/nb-NO.xpi -> firefox-149.0-nb-NO.xpi ) l10n_nl? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/nl.xpi -> firefox-149.0-nl.xpi ) l10n_nn? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/nn-NO.xpi -> firefox-149.0-nn-NO.xpi ) l10n_pa? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/pa-IN.xpi -> firefox-149.0-pa-IN.xpi ) l10n_pl? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/pl.xpi -> firefox-149.0-pl.xpi ) l10n_pt-BR? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/pt-BR.xpi -> firefox-149.0-pt-BR.xpi ) l10n_pt-PT? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/pt-PT.xpi -> firefox-149.0-pt-PT.xpi ) l10n_rm? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/rm.xpi -> firefox-149.0-rm.xpi ) l10n_ro? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ro.xpi -> firefox-149.0-ro.xpi ) l10n_ru? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ru.xpi -> firefox-149.0-ru.xpi ) l10n_sk? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/sk.xpi -> firefox-149.0-sk.xpi ) l10n_sl? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/sl.xpi -> firefox-149.0-sl.xpi ) l10n_sq? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/sq.xpi -> firefox-149.0-sq.xpi ) l10n_sr? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/sr.xpi -> firefox-149.0-sr.xpi ) l10n_sv? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/sv-SE.xpi -> firefox-149.0-sv-SE.xpi ) l10n_th? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/th.xpi -> firefox-149.0-th.xpi ) l10n_tr? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/tr.xpi -> firefox-149.0-tr.xpi ) l10n_uk? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/uk.xpi -> firefox-149.0-uk.xpi ) l10n_uz? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/uz.xpi -> firefox-149.0-uz.xpi ) l10n_vi? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/vi.xpi -> firefox-149.0-vi.xpi ) l10n_zh-CN? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/zh-CN.xpi -> firefox-149.0-zh-CN.xpi ) l10n_zh-TW? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/zh-TW.xpi -> firefox-149.0-zh-TW.xpi ) l10n_ach? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ach.xpi -> firefox-149.0-ach.xpi ) l10n_an? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/an.xpi -> firefox-149.0-an.xpi ) l10n_az? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/az.xpi -> firefox-149.0-az.xpi ) l10n_bn? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/bn.xpi -> firefox-149.0-bn.xpi ) l10n_bs? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/bs.xpi -> firefox-149.0-bs.xpi ) l10n_ca-valencia? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ca-valencia.xpi -> firefox-149.0-ca-valencia.xpi ) l10n_eo? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/eo.xpi -> firefox-149.0-eo.xpi ) l10n_es-CL? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/es-CL.xpi -> firefox-149.0-es-CL.xpi ) l10n_es-MX? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/es-MX.xpi -> firefox-149.0-es-MX.xpi ) l10n_fa? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/fa.xpi -> firefox-149.0-fa.xpi ) l10n_ff? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ff.xpi -> firefox-149.0-ff.xpi ) l10n_fur? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/fur.xpi -> firefox-149.0-fur.xpi ) l10n_gn? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/gn.xpi -> firefox-149.0-gn.xpi ) l10n_gu? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/gu-IN.xpi -> firefox-149.0-gu-IN.xpi ) l10n_hi? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/hi-IN.xpi -> firefox-149.0-hi-IN.xpi ) l10n_hy? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/hy-AM.xpi -> firefox-149.0-hy-AM.xpi ) l10n_ia? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ia.xpi -> firefox-149.0-ia.xpi ) l10n_km? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/km.xpi -> firefox-149.0-km.xpi ) l10n_kn? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/kn.xpi -> firefox-149.0-kn.xpi ) l10n_lij? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/lij.xpi -> firefox-149.0-lij.xpi ) l10n_mk? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/mk.xpi -> firefox-149.0-mk.xpi ) l10n_mr? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/mr.xpi -> firefox-149.0-mr.xpi ) l10n_my? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/my.xpi -> firefox-149.0-my.xpi ) l10n_ne? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ne-NP.xpi -> firefox-149.0-ne-NP.xpi ) l10n_oc? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/oc.xpi -> firefox-149.0-oc.xpi ) l10n_sc? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/sc.xpi -> firefox-149.0-sc.xpi ) l10n_sco? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/sco.xpi -> firefox-149.0-sco.xpi ) l10n_si? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/si.xpi -> firefox-149.0-si.xpi ) l10n_skr? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/skr.xpi -> firefox-149.0-skr.xpi ) l10n_son? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/son.xpi -> firefox-149.0-son.xpi ) l10n_szl? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/szl.xpi -> firefox-149.0-szl.xpi ) l10n_ta? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ta.xpi -> firefox-149.0-ta.xpi ) l10n_te? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/te.xpi -> firefox-149.0-te.xpi ) l10n_tl? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/tl.xpi -> firefox-149.0-tl.xpi ) l10n_trs? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/trs.xpi -> firefox-149.0-trs.xpi ) l10n_ur? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/ur.xpi -> firefox-149.0-ur.xpi ) l10n_xh? ( https://archive.mozilla.org/pub/firefox/releases/149.0/linux-x86_64/xpi/xh.xpi -> firefox-149.0-xh.xpi )
+_md5_=3d7e995f01702c8f30bf048201552f7d
diff --git a/net-firewall/xtables-addons/xtables-addons-3.29.ebuild b/net-firewall/xtables-addons/xtables-addons-3.29.ebuild
index ef451cea3ad4..ef0f67ab4bf4 100644
--- a/net-firewall/xtables-addons/xtables-addons-3.29.ebuild
+++ b/net-firewall/xtables-addons/xtables-addons-3.29.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023-2025 Gentoo Authors
+# Copyright 2023-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ SRC_URI="https://inai.de/files/xtables-addons/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="${XTABLES_MODULES[*]/#/xtables_addons_}"
XTABLES_SCRIPTS_DEPEND="
diff --git a/net-im/element-desktop/Manifest b/net-im/element-desktop/Manifest
index 7bc9f047725c..818fcc6882cc 100644
--- a/net-im/element-desktop/Manifest
+++ b/net-im/element-desktop/Manifest
@@ -551,6 +551,7 @@ DIST electron-winstaller-5.4.0.tgz 9141554 BLAKE2B 5d728643c5aac3362ce68199cc066
DIST element-desktop-1.12.10.tar.gz 2121762 BLAKE2B 3a9cc921bcef7528fd106a80f6ff5c1e8f68d81925226c871ec2671fc8d98207476edac20c329c39af6ab7e7db64294107b1faae1d874d583d393640a3bc3a79 SHA512 17a0326c72dc2b0e2c0a0d251a41fe38cbadb8b9d27a8139fde4d396cba30e82c82a15b8860a2199c4ae66943019e0e78e0c37db74891b4497cff6fcd9637838
DIST element-desktop-1.12.11.tar.gz 2087471 BLAKE2B 577b205eb0f93d9e7934d4dfff3789bf7e783512fabfe3465b6c6ed5c4cb104bcf66106b46e4aa2affbfaffcc286af2f633adad9f28a99c8fb19155857d007f9 SHA512 bc92730e494bf2fb8be7ad8fcee61f69d272767029dcdc87f6866259e907f726b84b754ef2d310981afe7546d5dc2d976cebd3464109ac0d4ff568904d86ba0b
DIST element-desktop-1.12.12.tar.gz 2088443 BLAKE2B 7d862c2d2a2af354ab65c635966b746dafbabb6aa9098e3df987eb4fc220d4b2e4dd0090a97a7575cc98ad598601cff4a1c875b5156d411587bee78263822cd7 SHA512 84ac411466041fc19bfaa7ea380cd2988d1fa1b30aa9942defd77a4274b20c1047a08d62ac90ffaacd1c145fd410e9e87c4e40e4564167451b5e187daf77d346
+DIST element-desktop-1.12.13.tar.gz 2091207 BLAKE2B 2b58a89fe6e0814b52183501d3d0898c61d82b9dab688e587ae70ef427cadd9a3eb6df596430b759df13a3fd510a658a40759e8455e1f5732b1bb438f70fc4ca SHA512 452e9e82256fc4b7c7b69d633ddebeb04422ea9509daade7cd23554c9aeb962729389c23d14cc56f575e5af6034766020c494733b2d7d3ca4e6b11d84f336e17
DIST element-desktop-1.12.9.tar.gz 2120893 BLAKE2B 04be292366d7ba26d24b951507ebe9987d190870c407f2bedd1b1965d075fde454f98178b697d1106a549c63829c93db04cf4a5f9d0f43ca59971322e2b466e1 SHA512 854f48959891b81e2843c7e1fb0c312ef1963b9209bd31429a564d86a7309fddc79fccd19c3ece07d8dc65069002b7c5fa241da1ec5d6543952f58a879af0bf4
DIST emoji-regex-10.6.0.tgz 5610 BLAKE2B 3a4a5eac40d15fef7400b368a9fc5ad2bc475c977139a23444b16aec3f8da37ec4f07678fab040e8bf011d28408fad920fff286692bb18d2e789f4ab7d749a2a SHA512 b68508f38612e589b15b6d7d7ab9e2583d022153a8e3ac46282a2578d41180ecc3a2b8018b5bf80fbd7f385ce00fd18ed9418a22fd42dd2a7c0c09f4fa3e70ec
DIST emoji-regex-8.0.0.tgz 6664 BLAKE2B e87c25921682c2e12bffb1dead98f01dc6993100db21890c70c08cc4228ed6ccd97f34c9d2c0cb4ff747e57e8cb8ec0ec458eba0c7cff5742a475888bf9b7e1d SHA512 3128d8cdc58d380d1ec001e9cf4331a5816fc20eb28f2d4d1b7c6d7a8ab3eb8e150a8fd13e09ebd7f186b7e89cde2253cd0f04bb74dd335e126b09d5526184e8
diff --git a/net-im/element-desktop/element-desktop-1.12.13.ebuild b/net-im/element-desktop/element-desktop-1.12.13.ebuild
new file mode 100644
index 000000000000..52849c68c500
--- /dev/null
+++ b/net-im/element-desktop/element-desktop-1.12.13.ebuild
@@ -0,0 +1,215 @@
+# Copyright 2009-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit desktop flag-o-matic multilib python-any-r1 xdg-utils
+
+DESCRIPTION="A glossy Matrix collaboration client for desktop"
+HOMEPAGE="https://element.io/"
+LICENSE="Apache-2.0"
+SLOT="0"
+SRC_URI=""
+REPO="https://github.com/vector-im/element-desktop"
+ELECTRON_SLOT_DEFAULT="39"
+#ELEMENT_COMMIT_ID="ae245c9b1f06e79cec4829f8cd1555206b0ec8f2"
+IUSE="electron-40 electron-41 native-modules"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="${REPO}.git"
+ EGIT_BRANCH="develop"
+ DOWNLOAD=""
+ IUSE+=" +build-online"
+else
+ IUSE+=" +build-online"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+ DOWNLOAD="${REPO}/archive/"
+ if [ -z "$ELEMENT_COMMIT_ID" ]
+ then
+ DOWNLOAD+="v${PV}.tar.gz -> ${P}.tar.gz"
+ else
+ DOWNLOAD+="${ELEMENT_COMMIT_ID}.tar.gz -> ${PN}-${ELEMENT_COMMIT_ID}.tar.gz"
+ S="${WORKDIR}/${PN}-${ELEMENT_COMMIT_ID}"
+ fi
+fi
+
+SRC_URI+="${DOWNLOAD}"
+
+RESTRICT="mirror build-online? ( network-sandbox )"
+REQUIRED_USE="
+ native-modules? ( build-online )
+"
+
+COMMON_DEPEND="
+ ~net-im/element-web-${PV}
+ native-modules? ( dev-db/sqlcipher )
+ electron-40? ( dev-util/electron:40 )
+ electron-41? ( dev-util/electron:41 )
+ !electron-40? (
+ !electron-41? (
+ dev-util/electron:${ELECTRON_SLOT_DEFAULT}
+ ) )
+"
+
+RDEPEND="${COMMON_DEPEND}
+"
+DEPEND="${COMMON_DEPEND}
+"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ native-modules? ( || ( dev-lang/rust dev-lang/rust-bin ) )
+ net-libs/nodejs[corepack]
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+#TODO: net-im/element-web -> runtime/buildtime dep
+
+src_unpack() {
+ if use electron-41; then
+ export ELECTRON_SLOT=41
+ elif use electron-40; then
+ export ELECTRON_SLOT=40
+ else
+ export ELECTRON_SLOT=$ELECTRON_SLOT_DEFAULT
+ fi
+ if [ -z "$ELEMENT_COMMIT_ID" ]
+ then
+ if [ -f "${DISTDIR}/${P}.tar.gz" ]; then
+ unpack "${P}".tar.gz || die
+ else
+ git-r3_src_unpack
+ fi
+ else
+ unpack "${PN}-${ELEMENT_COMMIT_ID}.tar.gz" || die
+ fi
+}
+
+src_compile() {
+ # # OLD_PATH=$PATH
+ # PATH="/usr/$(get_libdir)/electron-${ELECTRON_SLOT}/node_modules/npm/bin/node-gyp-bin:$PATH"
+ # PATH="/usr/$(get_libdir)/electron-${ELECTRON_SLOT}/node_modules/npm/bin:$PATH"
+ # PATH="/usr/$(get_libdir)/electron-${ELECTRON_SLOT}:$PATH"
+ # PATH="${S}/node_modules/.bin:$PATH";
+ # export PATH
+ # export CFLAGS="${CFLAGS} -I/usr/include/electron-${ELECTRON_SLOT}/node"
+ # export CPPFLAGS="${CPPFLAGS} -I/usr/include/electron-${ELECTRON_SLOT}/node"
+ export ELECTRON_SKIP_BINARY_DOWNLOAD=1
+ # yarn config set disable-self-update-check true || die
+ # yarn config set nodedir /usr/include/electron-${ELECTRON_SLOT}/node || die
+ # # #! Until electron-builder >=22.11.5
+ # # yarn config set ignore-engines true || die
+
+ sed -i 's/electron-builder install-app-deps/true/' package.json || die
+
+ # if ! use build-online; then
+ # ONLINE_OFFLINE="--offline --frozen-lockfile"
+ # yarn config set yarn-offline-mirror "${DISTDIR}" || die
+ # fi
+
+ einfo "Removing playwright from dependencies"
+ sed -i '/playwright":/d' package.json || die
+
+ einfo "Installing node_modules"
+ pnpm install || die
+
+ # node node_modules/.bin/tsc || die
+ # node node_modules/.bin/tsx scripts/copy-res.ts || die
+ pnpm run build || die
+
+ if use native-modules
+ then
+ pnpm run build:native || die
+ fi
+
+ # # Electron-Builder doesn't support ppc64 due to using precompiled binaries
+ # if ! use ppc64; then
+ # einfo "Editing ElectronFramework.js"
+ # sed -i 's/return unpack(options, createDownloadOpts.*$/return true;/' \
+ # node_modules/app-builder-lib/out/electron/ElectronFramework.js || die
+ # sed -i 's/return beforeCopyExtraFiles(options);$/return true;/' \
+ # node_modules/app-builder-lib/out/electron/ElectronFramework.js || die
+
+ # #!Error: With electron's node: "Unknown argument" electron/electron#25379
+ # #!Error: With electron's node: "Invalid package app.asar"
+ # /usr/bin/node node_modules/.bin/electron-builder --dir || die
+ # else
+ einfo "Manually preparing app.asar"
+ local distdir="dist/linux-unpacked/resources"
+ mkdir -p ${distdir}/node_modules || die
+ cp -r lib ${distdir} || die
+ # Copying yarn.lock allows freezing versions to the build versions
+ cp package.json ${distdir} || die
+ pushd ${distdir} &> /dev/null || die
+ pnpm install || die
+ popd &> /dev/null || die
+ # rm ${distdir}/yarn.lock || die
+ if use native-modules; then
+ cp -r .hak/hakModules/matrix-seshat ${distdir}/node_modules/ || die
+ fi
+
+ einfo "Creating archive"
+ /usr/bin/node node_modules/@electron/asar/bin/asar.mjs pack ${distdir} ${distdir}/app.asar \
+ --unpack-dir '{**/Release,**/matrix-seshat}' || die
+ # Remove unarchived copies of files (they are still in app.asar)
+ rm -r ${distdir}/node_modules || die
+ rm -r ${distdir}/lib || die
+
+ cp -r build ${distdir} || die
+ # fi
+
+ #cp -r /usr/share/element-web webapp
+ #rm -f webapp/config.json
+ #cp -f /etc/element-web/config.json webapp/config.json
+ #node node_modules/.bin/asar p webapp webapp.asar
+ #node node_modules/.bin/asar l webapp.asar
+
+ # export PATH=${OLD_PATH}
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/element-desktop"
+
+ doins -r dist/linux-unpacked/resources/*
+ dosym ../../share/element-web /usr/$(get_libdir)/element-desktop/webapp
+
+ exeinto "/usr/$(get_libdir)/element-desktop"
+ cp "${FILESDIR}/read_flags_file" dist/linux-unpacked/resources/element-desktop
+ sed -i "s|@ELECTRON@|element-desktop|" dist/linux-unpacked/resources/element-desktop
+
+ echo "\"/usr/$(get_libdir)/electron-${ELECTRON_SLOT}/electron\" \
+/usr/$(get_libdir)/element-desktop/app.asar \"\${flags[@]}\" \"\$@\"" >> dist/linux-unpacked/resources/element-desktop
+ doexe dist/linux-unpacked/resources/element-desktop
+ dosym "/usr/$(get_libdir)/element-desktop/element-desktop" /usr/bin/element-desktop
+
+ # # Install icons
+ # local branding size
+ # for size in 16 24 48 64 96 128 256 512 ; do
+ # newicon -s ${size} "build/icons/${size}x${size}.png" \
+ # element-desktop.png
+ # done
+
+ newicon build/icon.png element-desktop.png
+
+ make_desktop_entry "/usr/bin/element-desktop" Element \
+ "element-desktop" "Network;Chat"
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/net-misc/rclone/Manifest b/net-misc/rclone/Manifest
index 9558c092812c..591b5affcad4 100644
--- a/net-misc/rclone/Manifest
+++ b/net-misc/rclone/Manifest
@@ -6,3 +6,5 @@ DIST rclone-v1.73.1-vendor.tar.gz 17337429 BLAKE2B fdd9ed2758526046a8d97f59dd009
DIST rclone-v1.73.1.tar.gz 17663649 BLAKE2B a331c2a64b8bee7a0e73577922b6b2145bfe8ad539a0e8b9068d9dc4db594acfaf3b925b2527e6e2f2f373226bb7b8874e6033f1687da7dbd8dd18fd7f948c6e SHA512 bfadb10818c0e911057270466d3d93666410616e73601a2e59839c3e0f22ef27a526efeaa9d5980b5154df6f54c19089c95f202cd92969880840c2ea3df72613
DIST rclone-v1.73.2-vendor.tar.gz 16865889 BLAKE2B eae4a9cc16411390798fbe6dd085d1df00ff5f33215fba0ff4bf64c1d329b247f21bad2b1d44279038ca058dc6543388929cc7ca3e8304f1c53bb44b684bf142 SHA512 e4c7d0125c95c46f43ad9f6ee6bdd975f7c1737c43f8ec77dfa96d8222b71b2a739f2c487d53f1f2477791ca9071649ab1a6cd0db5507651bbe8de738e854f4e
DIST rclone-v1.73.2.tar.gz 17669200 BLAKE2B 3f92027122ee4624d268f52ac522d1e190bcc5d5a9c7536b3eca483696281062ddb1800c70a0137d7a0a06a5b5295786d4c777c73bb3fd4b0857c7d8c024e0b7 SHA512 1b9bfdfe8c4d8e014bcd9a810b60d8d204bd4374c6cc73b98ea7b5ecdae3ec281f923617779f3b549dd6203e3992721b8afe29dabd22628f8069df7d1034c6ac
+DIST rclone-v1.73.3-vendor.tar.gz 16885437 BLAKE2B ff3100ed10eeb32e03c1e14725cca955cd6f88012cdb0d9d30d185039777ecc694eca597b85d47cbc77aa7087d464c9fef1180eae3fa72eb5774c0c13149191b SHA512 638ef3b71796d19e5a698e85a2301e8cc1609968454f0a9559f991e8a20e143b23f5e4c579a5ba92e4756b9d31a9141eba12cd0162395eff672bb24b0f8e8cde
+DIST rclone-v1.73.3.tar.gz 17671784 BLAKE2B f5ace16a3fd93478c29d1941f9adfbf0a5377e38281c763859aa849d28a3d9d6d44739dae1cd23d4f1a1095b02a721935df2d1c9e456d82192457b6489fba892 SHA512 18f23365747f69f06fa64c0479c63a96db8482081c765d3b2b53df4b9e03dd48d863601b0434442861a5cd9bba9bed5b05ac0c9690352719d71d15dbe2846814
diff --git a/net-misc/rclone/rclone-1.73.3.ebuild b/net-misc/rclone/rclone-1.73.3.ebuild
new file mode 100644
index 000000000000..fd5f568aaa46
--- /dev/null
+++ b/net-misc/rclone/rclone-1.73.3.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit shell-completion check-reqs edo go-module
+
+DESCRIPTION="A program to sync files to and from various cloud storage providers"
+HOMEPAGE="https://rclone.org/
+ https://github.com/rclone/rclone/"
+
+SRC_URI="
+ https://github.com/rclone/rclone/releases/download/v${PV}/${PN}-v${PV}.tar.gz
+ https://github.com/rclone/rclone/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz
+"
+S="${WORKDIR}/rclone-v${PV}"
+
+LICENSE="Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ sys-fs/fuse:3=
+"
+
+CHECKREQS_DISK_BUILD="2500M"
+
+pkg_setup() {
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ mkdir -p "${S}" || die
+ ln -s "../vendor" "${S}/vendor" || die
+
+ go-module_src_unpack
+}
+
+src_compile() {
+ local go_ldflags="
+ -X github.com/rclone/rclone/fs.Version=${PV}
+ "
+ local -a go_buildargs=(
+ -ldflags "${go_ldflags}"
+ -mod=vendor
+ -o ./
+ )
+ ego build "${go_buildargs[@]}"
+
+ edob ./rclone genautocomplete bash "${PN}.bash"
+ edob ./rclone genautocomplete zsh "${PN}.zsh"
+ edob ./rclone genautocomplete fish "${PN}.fish"
+}
+
+src_test() {
+ # Setting CI skips unreliable tests, see "fstest/testy/testy.go"
+ # "TestAddPlugin" and "TestRemovePlugin" fail.
+ local -x CI="true"
+ local -x RCLONE_CONFIG="/not_found"
+
+ ego test -mod=vendor -v -run "!Test.*Plugin" ./...
+}
+
+src_install() {
+ exeinto /usr/bin
+ doexe "${PN}"
+ dosym -r "/usr/bin/${PN}" /usr/bin/mount.rclone
+ dosym -r "/usr/bin/${PN}" /usr/bin/rclonefs
+
+ newbashcomp "${PN}.bash" "${PN}"
+ newzshcomp "${PN}.zsh" "_${PN}"
+ dofishcomp "${PN}.fish"
+
+ doman "${PN}.1"
+ einstalldocs
+}
diff --git a/profiles/package.mask/00-gentoo b/profiles/package.mask/00-gentoo
index 36f60456812b..aec76457de91 100644
--- a/profiles/package.mask/00-gentoo
+++ b/profiles/package.mask/00-gentoo
@@ -396,6 +396,7 @@ net-analyzer/echoping
# setuptools-82 removes pkg_sources, inevitably leading to breakage.
>=dev-python/ensurepip-setuptools-82
>=dev-python/setuptools-82
+>=dev-python/types-python-dateutil-2.9.0.20260323
# Andreas Sturmlechner <asturm@gentoo.org> (2026-02-08)
# All remaining KF5 revdeps have been masked.
diff --git a/sci-libs/arprec/arprec-2.2.20.ebuild b/sci-libs/arprec/arprec-2.2.20.ebuild
index bce8b61e2d84..bb6317cc641a 100644
--- a/sci-libs/arprec/arprec-2.2.20.ebuild
+++ b/sci-libs/arprec/arprec-2.2.20.ebuild
@@ -17,7 +17,7 @@ S="${WORKDIR}"/${P^^}
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="cpu_flags_x86_fma3 cpu_flags_x86_fma4 doc fortran qd"
+IUSE="cpu_flags_x86_fma3 cpu_flags_x86_fma4 fortran qd"
DEPEND="qd? ( sci-libs/qd[fortran=] )"
RDEPEND="${DEPEND}"
@@ -64,9 +64,6 @@ src_install() {
exeinto /usr/libexec/${PN}
doexe mathtool
- exeinto /usr/libexec/${PN}/.libs
- doexe .libs/mathtool
-
insinto /usr/libexec/${PN}
doins *.dat
@@ -78,12 +75,5 @@ src_install() {
newbin mathtool.exe mathtool
newdoc README README.mathtool
fi
-
- if ! use doc; then
- rm "${ED}"/usr/share/doc/${PF}/*.pdf || die
- fi
-
- if ! use static-libs; then
- find "${D}" -type f -name '*.la' -delete || die
- fi
+ rm -r "${D}"/usr/share/doc/${PN} || die
}
diff --git a/sci-libs/cgnslib/Manifest b/sci-libs/cgnslib/Manifest
index 1f5ac61948eb..7bd8905438e9 100644
--- a/sci-libs/cgnslib/Manifest
+++ b/sci-libs/cgnslib/Manifest
@@ -1,3 +1,4 @@
DIST cgnslib-4.3.0.tar.gz 1472044 BLAKE2B 8fa59eb2c13b163553c03991af1886d2162295367094937c3b7bbbc687f098e736a927fb6835fabb43ecfbe59edcf0e58e8977e89eeb1ef12b26568fbdc78e2c SHA512 5db97b8df8cb5b108a65513e20774881c1dfa790dd96bec46119883d934db18e3f88450d287690cb785e0875af87a3ec32b6c4665c54edb623161122ee85aa93
DIST cgnslib-4.4.0.tar.gz 1979828 BLAKE2B 1bf7a5eb8a69a488707da6e945228e053486cdfc64508ae6362ca84777bb5c22a7238676f24ca453cc8b5e2825482d473a2b84c1648849bb6f853fc0aa0a9100 SHA512 86c16d40b524519362645c553c91bade9bb7e4bffde7bf4de96a7f471ae3779a15781efa91efa059b2af0b127f08a560d2e903df6b45e1c79eaec6061db226e9
DIST cgnslib-4.5.0.tar.gz 2085289 BLAKE2B 952368787bda49cb0eb82d3b99b173750e7418894055f733ea2cbb68a8564c15794679e7e4e8ffe6c67fa772f94f5964953bbba2d1ab5a479a2f1da7fd19b75e SHA512 0286ff2faf9102e5fb6d9bed764fd553756d62ae9be9dbb8b37ba6e2d3a7fec9337715320ec38a001960e39d397e846f2adbd4b54930c20e0304edacdd48fc92
+DIST cgnslib-4.5.1.tar.gz 2083640 BLAKE2B 711bb9423bc4d86a1d7912f13399c10559644d2e37523f4043bbcb11466ea6f1216228aa418c9838199eefa411730613b354ead3ddbe96f3811f5d75e11e7583 SHA512 f0a3f82824d81e2db4c992fc41e91c53158898fbf0b342c0c857e5e3f02d081df3822035b9eb558fe12c48ce36e4123810adc11f9b85e60e76e7de7f35a56162
diff --git a/sci-libs/cgnslib/cgnslib-4.5.1.ebuild b/sci-libs/cgnslib/cgnslib-4.5.1.ebuild
new file mode 100644
index 000000000000..52525a129097
--- /dev/null
+++ b/sci-libs/cgnslib/cgnslib-4.5.1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED="fortran"
+FORTRAN_STANDARD="90 2003"
+
+inherit cmake flag-o-matic fortran-2
+
+DESCRIPTION="CFD General Notation System standard library"
+HOMEPAGE="
+ https://cgns.github.io/
+ https://github.com/CGNS/CGNS
+"
+SRC_URI="https://github.com/CGNS/CGNS/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CGNS-${PV}"
+
+LICENSE="ZLIB"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="base-scope debug examples fortran +hdf5 legacy mpi scoping szip test tools"
+
+RDEPEND="
+ hdf5? ( sci-libs/hdf5:=[mpi=,szip=] )
+ tools? (
+ dev-lang/tcl:=
+ dev-lang/tk:=
+ x11-libs/libXmu:=
+ virtual/glu
+ virtual/opengl
+ )
+"
+DEPEND="${RDEPEND}"
+
+RESTRICT="
+ fortran? ( test )
+ !test? ( test )
+"
+REQUIRED_USE="
+ mpi? ( hdf5 )
+ szip? ( hdf5 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.5.0-rpath.patch
+ "${FILESDIR}"/${PN}-4.5.0-tk-internal.patch
+)
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ H5Pset_coll_metadata_write # Will be declared when mpi
+ H5Pset_all_coll_metadata_ops # Will be declared when mpi
+)
+
+pkg_setup() {
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ sed \
+ -e 's|/lib|/'$(get_libdir)'|' \
+ -e '/DESTINATION/s|lib|'$(get_libdir)'|g' \
+ -i src/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Needed for uses an internal header (bug #934122)
+ if use tools ; then
+ local tk_ver=$(best_version dev-lang/tk)
+ tk_ver=${tk_ver#dev-lang/tk-}
+ tk_ver=$(ver_cut 1-2 ${tk_ver})
+ append-cppflags -I"${ESYSROOT}/usr/$(get_libdir)/tk${tk_ver}/include/generic"
+ fi
+
+ local mycmakeargs=(
+ -DCGNS_BUILD_SHARED=ON
+ -DCGNS_USE_SHARED=ON
+
+ -DCGNS_BUILD_CGNSTOOLS="$(usex tools)"
+ -DCGNS_ENABLE_BASE_SCOPE="$(usex base-scope)"
+ -DCGNS_ENABLE_FORTRAN="$(usex fortran)"
+ -DCGNS_ENABLE_HDF5="$(usex hdf5)"
+ -DCGNS_ENABLE_LEGACY="$(usex legacy)"
+ -DCGNS_ENABLE_SCOPING="$(usex scoping)"
+ -DCGNS_ENABLE_MEM_DEBUG="$(usex debug)"
+ -DCGNS_ENABLE_TESTS="$(usex test)"
+ )
+
+ if use mpi; then
+ mycmakeargs+=(
+ -DHDF5_NEED_MPI="$(usex mpi)"
+ -DHDF5_NEED_SZIP="$(usex szip)"
+ -DHDF5_NEED_ZLIB="$(usex szip)"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ rm "${ED}/usr/$(get_libdir)/libcgns.a" || die
+
+ dodoc README.md release_docs/{HISTORY.txt,RELEASE.md}
+ dodoc release_docs/*.pdf
+ docompress -x /usr/share/doc/${PF}/examples
+ use examples && dodoc -r src/examples
+}
diff --git a/sci-libs/clblast/Manifest b/sci-libs/clblast/Manifest
index cc9ab979afc8..70a9c5b436d0 100644
--- a/sci-libs/clblast/Manifest
+++ b/sci-libs/clblast/Manifest
@@ -1 +1,2 @@
DIST clblast-1.5.2.tar.gz 419730 BLAKE2B 9954e39b490b75f3d989969260146ff9e9f5311865f13779e0ee8bc70578d6c51fd7c5e27af777a9d6c9703992d5acb164211aec39568f2f0ba1cf10db211b24 SHA512 6693704321bb7623a632ebfc71dcf07bbe4ba6c6f03a2ecf52bc10b401ae546bf82cdd3f6cc28aa9ea10f40dc7b2e86a6530f32cfbd522e24d4cf6a75c8c1100
+DIST clblast-1.5.3.tar.gz 425339 BLAKE2B 3773dbc5b7db1fe26097b7c813fd34178733e75e08c033bcbec5264da215f702cdbd5b6b4b2858570b653de0800c3f53bb4cdf68cb716a1f94ef7459fa717621 SHA512 58cb3ca88cd7a3c52292d31f7b00a160b49f2131d925249e8b83e0fe3c538b509805e7a64e0d13521780024000be1ca6909f47735c2ede161674cb9894170458
diff --git a/sci-libs/clblast/clblast-1.5.3.ebuild b/sci-libs/clblast/clblast-1.5.3.ebuild
new file mode 100644
index 000000000000..50f951c47c94
--- /dev/null
+++ b/sci-libs/clblast/clblast-1.5.3.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MYPN="CLBlast"
+
+DESCRIPTION="Tuned OpenCL BLAS"
+HOMEPAGE="https://github.com/CNugteren/CLBlast"
+SRC_URI="https://github.com/CNugteren/${MYPN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MYPN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+# Cuda is still beta, default to opencl
+IUSE="client cuda examples +opencl test"
+REQUIRED_USE="
+ ^^ ( cuda opencl )
+ test? ( client )
+"
+# Tests require write access to /dev/dri/renderD...
+RESTRICT="test"
+# RESTRICT="!test? ( test )"
+
+RDEPEND="
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ client? ( virtual/cblas )
+ opencl? ( virtual/opencl )
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/level2_xtrsv.patch
+ "${FILESDIR}"/level3_xtrsv.patch
+)
+
+src_prepare() {
+ # no forced optimisation, libdir
+ sed -e 's/-O3//g' \
+ -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/g' \
+ -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ mycmakeargs+=(
+ -DBUILD_SHARED_LIBS=ON
+ -DSAMPLES="$(usex examples)"
+ -DCLIENTS="$(usex client)"
+ -DNETLIB="$(usex client)"
+ -DTESTS="$(usex test)"
+ -DOPENCL="$(usex opencl)"
+ -DCUDA="$(usex cuda)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ dodoc README.md ROADMAP.md CONTRIBUTING.md CHANGELOG
+ dodoc -r doc
+}
diff --git a/sci-mathematics/easycrypt/Manifest b/sci-mathematics/easycrypt/Manifest
index fd42b2735784..1749074e5478 100644
--- a/sci-mathematics/easycrypt/Manifest
+++ b/sci-mathematics/easycrypt/Manifest
@@ -1,2 +1,3 @@
DIST easycrypt-2025.10.gh.tar.gz 1388382 BLAKE2B c49d8b60dfb3248d1291d14841f79373be50c2ee77848afc49f09eb02a97bde2203208d7567d1cff971e86e16e74d169b1bc88aeee7053c7ba16497e999113c4 SHA512 d1136aa0e2a389ff38b665bc729e070de6f8e8970eeac1b92a4ad9afc1f03d2d2464ac224fec2e3fef4745906b41e2f3a8d48937545c51949c76dbaf471acb08
DIST easycrypt-2025.11.gh.tar.gz 1434098 BLAKE2B dad0b25c40499b81acdf68025c7cc70ee34a5e407a3b4d25807b6684b153d18dfc60f8871dda2efded01435d049e9a228d1fe33f8540e6c9bdb6ad9d020dc137 SHA512 18eafb0d0934009fcfa1bfafeb6d69660b708dbc3c0bce9ef73543763367b7fea7e00e452dec7b517dffb5f65420643f7a1ee6d84729f10758cb19d93af70948
+DIST easycrypt-2026.03.gh.tar.gz 1497269 BLAKE2B 0391f3fc0c33d921d380863ebb064731ef043ec3a62275c302c67f194fe2894081ed3a992e25fd585af7c7b376ecc1b3fe4aee63bfc77ff9913fc45babd39197 SHA512 619cfe0a695f77b37dcefef819a8e6c9fe58434c03d7cadbde30d00ae7919c7293486909e9d498698e8cd7f45d83f2a40dcb8820c95a871e81637c3c4a13dda1
diff --git a/sci-mathematics/easycrypt/easycrypt-2026.03.ebuild b/sci-mathematics/easycrypt/easycrypt-2026.03.ebuild
new file mode 100644
index 000000000000..4c25e221dbda
--- /dev/null
+++ b/sci-mathematics/easycrypt/easycrypt-2026.03.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit dune
+
+DESCRIPTION="Computer-Aided Cryptographic Proofs"
+HOMEPAGE="https://github.com/EasyCrypt/easycrypt/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/EasyCrypt/${PN}"
+else
+ SRC_URI="https://github.com/EasyCrypt/${PN}/archive/r${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+ S="${WORKDIR}/${PN}-r${PV}"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ >=sci-mathematics/why3-1.8.0:=
+ >=dev-ml/batteries-3:=
+ >=dev-ml/camlp-streams-5:=
+ >=dev-ml/pcre2-ocaml-8:=
+ >=dev-ml/zarith-1.10:=
+ dev-ml/camlzip:=
+ dev-ml/dune-build-info:=
+ dev-ml/dune-site:=
+ dev-ml/num:=
+ dev-ml/ocaml-inifiles:=
+ dev-ml/ocaml-markdown:=
+ dev-ml/tyxml:=
+ dev-ml/yojson:=
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local theories="[\"$(ocamlc -where)/easycrypt/theories\"]"
+ sed -i "s|EcRelocate\.Sites\.theories|${theories}|g" ./src/ec.ml \
+ || die "failed to update theories"
+
+ default
+}
diff --git a/sys-apps/hexyl/hexyl-0.17.0.ebuild b/sys-apps/hexyl/hexyl-0.17.0.ebuild
index ac667b6697fb..0225cbb7eace 100644
--- a/sys-apps/hexyl/hexyl-0.17.0.ebuild
+++ b/sys-apps/hexyl/hexyl-0.17.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2026 Gentoo Authors
+# Copyright 2017-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -75,12 +75,12 @@ CRATES="
yansi@1.0.1
"
-inherit cargo
+inherit cargo shell-completion
DESCRIPTION="A command-line hex viewer"
HOMEPAGE="https://github.com/sharkdp/hexyl"
SRC_URI="
- https://github.com/sharkdp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/sharkdp/hexyl/archive/v${PV}.tar.gz -> ${P}.tar.gz
${CARGO_CRATE_URIS}
"
@@ -89,10 +89,28 @@ LICENSE="|| ( Apache-2.0 MIT )"
LICENSE+=" Apache-2.0 ISC MIT Unicode-DFS-2016 ZLIB"
SLOT="0"
KEYWORDS="~amd64"
+QA_FLAGS_IGNORED="usr/bin/hexyl"
-DOCS=( README.md CHANGELOG.md )
+RESTRICT="mirror"
+
+BDEPEND="
+ virtual/pandoc
+"
+
+src_compile() {
+ cargo_src_compile
+ pandoc -s -f markdown -t man -o "doc/${PN}.1" "doc/${PN}.1.md"
+}
src_install() {
cargo_src_install
einstalldocs
+ doman "doc/${PN}.1"
+
+ "target/release/${PN}" --completion bash > "${PN}"
+ dobashcomp "${PN}"
+ "target/release/${PN}" --completion zsh > "_${PN}"
+ dozshcomp "_${PN}"
+ "target/release/${PN}" --completion fish > "${PN}.fish"
+ dofishcomp "${PN}.fish"
}
diff --git a/sys-apps/hexyl/metadata.xml b/sys-apps/hexyl/metadata.xml
index 24ccbb8a7ce2..1bd26735cdca 100644
--- a/sys-apps/hexyl/metadata.xml
+++ b/sys-apps/hexyl/metadata.xml
@@ -2,9 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>thomas@binaryden.de</email>
- <name>Thomas Kemmer</name>
+ <email>Wuzy01@qq.com</email>
+ <name>Wu, Zhenyu</name>
</maintainer>
- <origin>binaryden-overlay</origin>
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/sys-apps/pandora_box/Manifest b/sys-apps/pandora_box/Manifest
index a4e54f90f76f..175b479a8ef9 100644
--- a/sys-apps/pandora_box/Manifest
+++ b/sys-apps/pandora_box/Manifest
@@ -47,6 +47,8 @@ DIST pandora_box-0.17.0.tar.gz 19545980 BLAKE2B 8b81252f742831036ff46e656c279b73
DIST pandora_box-0.18.0.tar.gz 19594874 BLAKE2B 7f468df585db8d3f84eadc4f2ea42d458c3253f9feb56952edd61ccb4bd8388d1a3194cd91afc9fb2f811bcba1c5cd367e9cde040c90fd4f0b03420f52c09ea1 SHA512 a3c56df0ae68cf6a2c40eb3342dddc07e8bc0b80fc6f044a6809c4abd61a7661dc803c4182234fa8b4d4f95e09cea6860ae9b571530fd73e803e3bc74cc1fca4
DIST pandora_box-0.19.0-crates.tar.xz 23295172 BLAKE2B 5eca8104f7ec47babe6b2b30fcb7cd8181540d4aa27e40209883d2ea529dddd9ae229f3eef60656ca3879acccacb98e61f0cb1b8fbe1dfdeda36e11082153a52 SHA512 354da8554e80c39bfa2e6d4c20fa461d52a7baf009dcd7621d8720afc345a5c97753d81d6738b844b7de4aba02ec3a061281aa1c6f8e7ae55c562968f0b4a847
DIST pandora_box-0.19.0.tar.gz 20153338 BLAKE2B 3f25d288a429ec5a105d55dbeb348bab2795f5459ed50d3ad8f9ea512509b892a5a178312c953c46e7c302639807a3e7bde907a9496ff46c2c6fabedae0c1630 SHA512 de8b9035de981a62371c537a829836c43654bfb7cb1543368016e91d0fe3dad6027dcdc82c9e7ebd0e58b837c5742086b24fa457571bdb5bf7a6b4cec04f5b82
+DIST pandora_box-0.20.0-crates.tar.xz 23543772 BLAKE2B 36c4c7ef264d758253d5c7f930e24feb3c4c26e8abca19ce73292711d6dd8e3c13ac1ab3a2f3e18899a9d8a669159d4cf927d5ba42e8279638777ba6ad700376 SHA512 b4256433adbe43da8c29b1f7a45d05592741b2835b22bf8f7c5de4e26504a0287a0f02b17e48c3bba2ac9c551412134ad88a019c6d8600bd23422ffd4a572c4e
+DIST pandora_box-0.20.0.tar.gz 20226177 BLAKE2B 8bed7c0b96fcd525326ecaf82ee1a1688b17fb54f8999d253818cee6d859a614910e949e2a7792b7cb17a8428904d3e0bbca0be45a27c1d2d83bb3aee553a971 SHA512 ddebcdb211f6bb04ac5cf009dff20aedc7ad0a88a88a5155cc51f810458980e70c470efc6add48f58064a666c7ca0a72d4c1a20b7677ef32e746e63cb1758e59
DIST patricia_tree-0.8.0.crate 23303 BLAKE2B 8ad59ed3dabbae7c936c6b194009fa9f275141f96158ca93a0b975c152e17861454ac6891fcdf4c542e8d7d8f9e5e132138d0df3d00d2124add81c72aa43db36 SHA512 c90d39ad358a418de8ff6e1f8f51e531dde71af7269b33553902722a5ec7f7df93d7b364007032284d06e3d6551f7e74a9e422bd767e9aee28d8c13fff630022
DIST portable-atomic-1.12.0.crate 191124 BLAKE2B bff1539437e3fc7aa596ad2c241f7749e4b5e23344942aac984319979268b7ff1a314270c7166570616fea79c38c0e9c2a83008ce94deab1a5a48575db13e225 SHA512 fa6560b8a0ff46e06cfa04bd7c8f42924914d27a7cf83b4c7ac73688da7fe1e81222eab77fa478a85dc2a1ce846f8b4cd71816c2aecaa689af26dd0925523e0b
DIST portable-atomic-1.13.0.crate 195086 BLAKE2B 232b1d78c459067819dd6662ed14d4aaa1bb8157cafdeb8a61b4726ecda05068350a6e53158d2eb321cea544c688e0b3d5ac05aea77f8259ee342430c91b01e6 SHA512 1eae32e2f45a3ab92a7aaa4914995927d99b7ae4c9d4e5bc817436a06583298a1557a94b4857649356d82178125493e6c5030750b5a489c3c4e6fc3f8d501bd7
diff --git a/sys-apps/pandora_box/pandora_box-0.20.0.ebuild b/sys-apps/pandora_box/pandora_box-0.20.0.ebuild
new file mode 100644
index 000000000000..9ef66655f65e
--- /dev/null
+++ b/sys-apps/pandora_box/pandora_box-0.20.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+IUSE="static"
+
+RUST_MIN_VER="1.88.0"
+
+inherit cargo
+
+DESCRIPTION="Syd's log inspector & profile writer"
+HOMEPAGE="https://man.exherbolinux.org"
+
+SRC_URI="https://git.sr.ht/~alip/syd/archive/pandora-${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~patrick/${P}-crates.tar.xz
+"
+
+S="${WORKDIR}/syd-pandora-${PV}/pandora"
+
+LICENSE="GPL-3"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 GPL-2
+ ISC MIT MPL-2.0 Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+src_configure() {
+ if use static; then
+ export RUSTFLAGS+="-Ctarget-feature=+crt-static"
+ fi
+ cargo_src_configure
+}
diff --git a/sys-apps/syd/Manifest b/sys-apps/syd/Manifest
index e567da2fd9d4..9320ef56df28 100644
--- a/sys-apps/syd/Manifest
+++ b/sys-apps/syd/Manifest
@@ -2,3 +2,5 @@ DIST syd-3.49.1-crates.tar.xz 20199020 BLAKE2B fa34578012a5c32629da095774d102480
DIST syd-3.49.1.tar.gz 19886982 BLAKE2B 9b25e9ea823660a52eaa2859ceb7b2c7afc06f3ac51be5e5c4fd4bbd66c9656a1b5866110d999a49a492c57251e2917bfeccd1baf5feb6a39b6c181e81bdc85e SHA512 0e0aace23d5de7c41051a7f76c4f1acec8978a5a51a52b6194d2366d8486c3ef547cd239784cd9da7650e007e127ddd08d0f6dc14c098961256b3fa3b9704f20
DIST syd-3.50.0-crates.tar.xz 23295172 BLAKE2B 5eca8104f7ec47babe6b2b30fcb7cd8181540d4aa27e40209883d2ea529dddd9ae229f3eef60656ca3879acccacb98e61f0cb1b8fbe1dfdeda36e11082153a52 SHA512 354da8554e80c39bfa2e6d4c20fa461d52a7baf009dcd7621d8720afc345a5c97753d81d6738b844b7de4aba02ec3a061281aa1c6f8e7ae55c562968f0b4a847
DIST syd-3.50.0.tar.gz 20152459 BLAKE2B d04d62eab4daa4b48c34c5d656289c267ee0480e95731828dcb670dc9d78a13fe611cfd02a88e00389cd50fcd50134dcbf3045aab821714c77c977010993670d SHA512 0484df71e22fd71f827fa607aad2c040be0af5fc1a3b8c18d95ea2457ed89f1f36472915cc05aa5ff56deade1c1763d02fb6525e782b3c1605ac14f8c2b1a7d9
+DIST syd-3.51.0-crates.tar.xz 23543772 BLAKE2B 36c4c7ef264d758253d5c7f930e24feb3c4c26e8abca19ce73292711d6dd8e3c13ac1ab3a2f3e18899a9d8a669159d4cf927d5ba42e8279638777ba6ad700376 SHA512 b4256433adbe43da8c29b1f7a45d05592741b2835b22bf8f7c5de4e26504a0287a0f02b17e48c3bba2ac9c551412134ad88a019c6d8600bd23422ffd4a572c4e
+DIST syd-3.51.0.tar.gz 20226853 BLAKE2B 517728f390ae27ab11872cf563809b1064e127fa44d57c3d95a38acdeea260ef676dd9f35a5836c08bf6571213dd8a1427c399584e3789463956de5f037c8fe6 SHA512 66cec05b14f8b6be17db3d509a0844ea7f11df00d232d6e34d38c5e85325e1c3b1c5d8dc24a94e022c0552fda6ea9a30851ade4ff3a3e4e0e7359c7bb38c32e6
diff --git a/sys-apps/syd/syd-3.51.0.ebuild b/sys-apps/syd/syd-3.51.0.ebuild
new file mode 100644
index 000000000000..39feacf32ba2
--- /dev/null
+++ b/sys-apps/syd/syd-3.51.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+RESTRICT="test" # fails with sandbox
+
+RUST_MIN_VER="1.88.0"
+
+CRATES=""
+
+inherit cargo
+
+DESCRIPTION="seccomp and landlock based application sandbox with support for namespaces"
+HOMEPAGE="https://sydbox.exherbolinux.org"
+SRC_URI="https://git.sr.ht/~alip/syd/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~patrick/syd-${PV}-crates.tar.xz
+"
+
+IUSE="static"
+
+LICENSE="GPL-3"
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-3.0
+ WTFPL-2 ZLIB
+"
+
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="static? ( sys-libs/libseccomp[static-libs] )
+ sys-libs/libseccomp
+ app-text/scdoc"
+RDEPEND="sys-apps/pandora_box
+ ${DEPEND}"
+
+S="${WORKDIR}/syd-v${PV}"
+
+src_configure() {
+ if use static; then
+ export LIBSECCOMP_LINK_TYPE="static"
+ export LIBSECCOMP_LIB_PATH=$(pkgconf --variable=libdir libseccomp)
+ export RUSTFLAGS+="-Ctarget-feature=+crt-static"
+ cargo_src_configure
+ else
+ local myfeatures=( "oci" )
+ cargo_src_configure
+ fi
+}
+
+src_compile() {
+ cargo_src_compile
+ emake man
+}
+
+src_install () {
+ cargo_src_install
+ mkdir -p "${D}"/usr/share/man/man{1,2,5,7}
+ emake install-man DESTDIR="${D}" PREFIX="/usr"
+ dodoc README.md
+ insinto /usr/libexec
+ doins src/esyd.sh
+
+ insinto /etc
+ newins data/user.syd-3 user.syd-3.sample
+
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins vim/ftdetect/syd.vim
+ insinto /usr/share/vim/vimfiles/syntax
+ doins vim/syntax/syd-3.vim
+}
+
+src_test() {
+ RUSTFLAGS="" cargo_src_test
+}
diff --git a/www-apps/chromedriver-bin/Manifest b/www-apps/chromedriver-bin/Manifest
index ea99fef31532..6e9f1be338c2 100644
--- a/www-apps/chromedriver-bin/Manifest
+++ b/www-apps/chromedriver-bin/Manifest
@@ -1,3 +1 @@
-DIST chromedriver-bin-144.0.7559.132.linux64.zip 9721507 BLAKE2B 4eed32fa6c1f6c6d6386bee3f1db6eced95b9475d04327cc4823c7ed9406791e3217e0109d019edc136001e8e9cd542d8b14e7e9762eb1220fcb2255f8b4e6ba SHA512 86d5125844d2f4e764b70f89b2a4eb233c56317db0cddee3db8b59289c24f1f8944dc346ad061efaf018998f81ffa3d2eeeab8fcd047e120fc8821d34077c75e
-DIST chromedriver-bin-145.0.7632.159.linux64.zip 9596267 BLAKE2B 5236a1f1c285792c5f5c46e94d9675e57afb8bca41697bff4283fcec5c89e2862ba9d2db8885c339e6e9c0cde291ce2e5fd02b008e252f4973fcc5c8b3353ff8 SHA512 6c0de7f1641325b89bb387b32ea519fc7516446da614cfdfeb71238ffecd597ba1088d13fb50fbddc643254cd2d891bee6d5bdb16fcc091a81ef9363e9447ccb
-DIST chromedriver-bin-146.0.7680.153.linux64.zip 9886010 BLAKE2B 182984ee20a2135b1fe82e49fca72395df9f487366767c86fa5be7f7e57e97e2865b3851ea8296140b4201013d495978446363c52b166c49f494d824a6335e55 SHA512 eba75a72b239e5fa45fb82e78d33967a014556e5f57523184225f6a3405e18a5be79a168a33ce7ad90c5a5d169b2dc83d3fe08b3e02287432f40e9de68c89c46
+DIST chromedriver-bin-146.0.7680.165.linux64.zip 9872214 BLAKE2B 5a7d57658b144abe5b6ef541dcfdf7fe0e62dc243ed720ea4cdbc54bc55d5d52b98d6f54c0ab7a9d0e93ff2ec74cc450dc6cd409639261e4edcec708f3b7cce5 SHA512 88e4bd65b36f6ddbd45e3dcadaa7de009c46d271d5082a9d71ea3961b908f3812ec59cb6515e197b19baa2aad1d8c71690452ee0d1cbea2efd90e9ace13181a9
diff --git a/www-apps/chromedriver-bin/chromedriver-bin-144.0.7559.132.ebuild b/www-apps/chromedriver-bin/chromedriver-bin-144.0.7559.132.ebuild
deleted file mode 100644
index 853ff6bc0572..000000000000
--- a/www-apps/chromedriver-bin/chromedriver-bin-144.0.7559.132.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# See https://googlechromelabs.github.io/chrome-for-testing/#stable for URLs
-DESCRIPTION="WebDriver for Chrome"
-HOMEPAGE="https://sites.google.com/corp/chromium.org/driver/"
-SRC_URI="amd64? ( https://storage.googleapis.com/chrome-for-testing-public/${PV}/linux64/chromedriver-linux64.zip -> ${P}.linux64.zip )"
-S="${WORKDIR}/chromedriver-linux64"
-
-LICENSE="google-chrome"
-SLOT="0"
-KEYWORDS="-* amd64"
-RESTRICT="bindist mirror strip"
-
-RDEPEND="
- sys-libs/glibc
- www-client/google-chrome
- !www-client/chromium
-"
-BDEPEND="app-arch/unzip"
-
-QA_PREBUILT="usr/bin/chromedriver"
-
-src_install() {
- dobin chromedriver
-}
diff --git a/www-apps/chromedriver-bin/chromedriver-bin-145.0.7632.159.ebuild b/www-apps/chromedriver-bin/chromedriver-bin-145.0.7632.159.ebuild
deleted file mode 100644
index 853ff6bc0572..000000000000
--- a/www-apps/chromedriver-bin/chromedriver-bin-145.0.7632.159.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# See https://googlechromelabs.github.io/chrome-for-testing/#stable for URLs
-DESCRIPTION="WebDriver for Chrome"
-HOMEPAGE="https://sites.google.com/corp/chromium.org/driver/"
-SRC_URI="amd64? ( https://storage.googleapis.com/chrome-for-testing-public/${PV}/linux64/chromedriver-linux64.zip -> ${P}.linux64.zip )"
-S="${WORKDIR}/chromedriver-linux64"
-
-LICENSE="google-chrome"
-SLOT="0"
-KEYWORDS="-* amd64"
-RESTRICT="bindist mirror strip"
-
-RDEPEND="
- sys-libs/glibc
- www-client/google-chrome
- !www-client/chromium
-"
-BDEPEND="app-arch/unzip"
-
-QA_PREBUILT="usr/bin/chromedriver"
-
-src_install() {
- dobin chromedriver
-}
diff --git a/www-apps/chromedriver-bin/chromedriver-bin-146.0.7680.164.ebuild b/www-apps/chromedriver-bin/chromedriver-bin-146.0.7680.165.ebuild
index dfbb34c99366..dfbb34c99366 100644
--- a/www-apps/chromedriver-bin/chromedriver-bin-146.0.7680.164.ebuild
+++ b/www-apps/chromedriver-bin/chromedriver-bin-146.0.7680.165.ebuild
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 51f404eb3060..df464c109caf 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,7 +1,5 @@
DIST chromium-145.0.7632.159-linux.tar.xz 1416662532 BLAKE2B 9ec13e6d5091bb6f89cdb107db75f1c226a2689e5a01c55349511957a7886721230b72fceb25eb97cc671bea4f56e2f0044ab139e0df8b26665e4b84ef8744d4 SHA512 a07d72ac4faa7ac6e5185fbdebcdf341563c5f07f5c83a33604884a832f11d28bcee3f67f12aeab11cff963ad5e1b1fc75d6baf92f7e8a7d3b25709d18783063
-DIST chromium-146.0.7680.153-linux.tar.xz 1477670416 BLAKE2B 43d6c38806eea829f406eac85f7cce974b23517f166e42c078e6a5235bd4770e7f32a84ef7b7fea44a648b359fa57255174c509e2bdcd27ba0566375446819c2 SHA512 b1f2bb6a3bd6f444fddb7023120c0fe62d25a0ae916af3db5ee528f273d2ee55009eaaa817fd6e64ca5c871045baed4ef597d15c9c011dc92e790b689a97af72
DIST chromium-146.0.7680.164-linux.tar.xz 1477150740 BLAKE2B 66e2776f381dc0252b5ac3f1c34543e3664d6ba83e134b7bc1102fa914953ffdbedadfa0c7f688958af4a42a622194609ddf90993a33747a4e963c90bb5d9f01 SHA512 6f9980e52f9ad243c2783b8fa5dcec3b894b761e778404364174de41a912a603f7777d15f30e52d8bfe422ca4d50204488b5cd99af2860cc35bfd277878a5df5
-DIST chromium-146.0.7680.80-linux.tar.xz 1476585876 BLAKE2B a17d332d488cee4a22e0357f6afda6111ca5d0ffa351e78b6e1fa26d747e11e50f93a2ad78cd4b5e2d4ed874956168230a63e614994967f2c8ad302ea1572ee8 SHA512 788de000ad1f6187c9dff2110c47a8f41b133f91a8837e4fa611163d66c011fb35d6169bce7c8c2667a00bd2d53d689338ba3a219f30a0ec2bd4cb394587dcd0
DIST chromium-147.0.7727.15-linux.tar.xz 1476147404 BLAKE2B 5a78963df608bfa6330d563595774db8a148566f43a90a531280a7a2e9c61d87b4bc1288540e39866ac4c804ae751cbbb439d047440aec10a2247f9d9e27142d SHA512 a7b62c1102ae147453a3090e3eab93652f71144b1df63da530d4cae5ef23b2b03abce0502d87c949cf4a422e8b134a52a12e9a08338ec733dea8e3e23bfb6cdf
DIST chromium-148.0.7730.2-linux.tar.xz 1475047636 BLAKE2B fc9a7ba6b0dd3a43d38614ee9ca44bd7070eadbbf2e437afe69fe2b0343663e371d87c3ba04aabad25e35903fb192db53bdde7d1459eaf394c40abc3b536840f SHA512 e36197a07114b172f30c6694c07ad2ad0cdefe7f022dd95f10e6e6110103b87717baca970153a1618fce135ff74a8ee9f0aa4bd43acc7cb09d147554d3f6b617
DIST chromium-clang-llvmorg-22-init-17020-gbd1bd178-2.tar.xz 57165612 BLAKE2B 7fdd52f8f72cf5fd5c32528bed47d0377d6d78ab14edd39f0301e93a73cff7b2dcbadeb1dacec32fff4c29439f0770f72a930b1461bc8713dadb6063d4bfa8ed SHA512 db7d58837a36b4b3b436de7c721cd71d8a51f476ed3dce37e18071fd925fb846ab1197ed75b88acff8b740ca0a1cbed4445f33d9bd5ce3e3e43b3c097f53e1df
@@ -9,8 +7,9 @@ DIST chromium-clang-llvmorg-23-init-2224-g5bd8dadb-3.tar.xz 57583584 BLAKE2B 7fd
DIST chromium-clang-llvmorg-23-init-5669-g8a0be0bc-1.tar.xz 58029996 BLAKE2B 31af4a901401a0c6a405bcf3569f411a88add57e13c0157fdb7a1af47c9122aef56686f8180b6d4a3f0493d8201a479e850de99ccc7ecf95fc559700309b8c0c SHA512 b72afc477e9654f4f59430dcdde9ba85b91613f6331594fb039df5c79cf8d26d3aaf80c62b8c3fe6504a514a7fc30a551ed277e47408cdf43212006dd4ea0153
DIST chromium-openpower-6e839bd947.tar.bz2 438048 BLAKE2B 50acf6c3d5b17c920dba89895d31effb36e1e234099258cfaff8f4b1735b0a401c2c239a1e53265b1dfdb2969df7cb04041b3aa0ecafc8d1e2fd90497db51629 SHA512 f87b33235a26768dda73364b85f7713f5b200a65ca8e28b09ad8f5798b7da80d1cb62b3308263d88e58c01439eb67e365c08466b80299c2b3eeebef52cb977f7
DIST chromium-openpower-a85b64f07b.tar.bz2 2940 BLAKE2B 671e22109410b84d026ee9e73f6112e99023707b97b6af204da8adca7fd53c85d6f5b634ad400596bbc1314f21a011a38a25aa029580529306cc1ad958d4a913 SHA512 34b3e93c23f320e8ce8164527544e37c771d3663951b032e1213db83c0559a85588dbedaa1c92a493cb3e187d6afc8a9601c9e82c07d8cb402e2f1e2dc4b4312
+DIST chromium-openpower-eeff222874.tar.bz2 438398 BLAKE2B 86ba3cf4fec44dab06a1d70369b859c25a8845056b3056ade4708cc274ff4892ba4abdda8164614d707e03118a6b86e953d55a1889c3efe08d7767b09bb3ae1a SHA512 4ae590a9db639971c691a52cf123c17c9ca06351112e5f50aa68e77c2a8affce4c596e22469c2d552b3b3b98861af08e24854f8165ee9069854d62054aec7f24
DIST chromium-patches-145-3.tar.bz2 18439 BLAKE2B c4ff5ff745348d08ba927a5b3210a9970d9a2c5dd78300c3c3d96198f49f32a90573a024d92d984dc62ebfc1fbd9edfd24e8bc7d0ed7a2bcfa2b22e400b79a78 SHA512 084b05c93a5a4506beec28e1a8c143bdd4021d28695a1cbb179595f020900336ac5364da3d2b5bb0ae77967e32292988134a29f6cc1ddb7eb67d29fec31dc75d
-DIST chromium-patches-146-1.tar.bz2 18524 BLAKE2B 4b00707bfb9d83a96f8fbfe1cf55b9dfd9347b93ff7f4ace249c6ec07bf63cf48bfee2e3207e7660213d190b253157ee07a3ff5c11fcb91e259d663f10cdd6dc SHA512 1c7e5bd4e8e0c010df4500bf8125b899672692dde0ad08dd8fb962a75440c46fa5d3216385c9ab186b750714775b2682f7eb326d43862582f73e6d0f13d7c0a9
+DIST chromium-patches-146-2.tar.bz2 18621 BLAKE2B d4c9ae6a2cfee50ea2d62cafeb19d8295a26fc7986ae11d5ed916736275720a066367bd3f4c381912aa43d219567ae83c4dbcc90c1cb6f096bd61b8283a3a4e2 SHA512 add724a848eb138a2f849b66528b3d2e4d5514b1171916cc8f4681a197eed3df5e4b45e9e1acd1e136f203d0f7d740f0badf6c5f72db7c56bbe39775f356b8d4
DIST chromium-patches-147-4.tar.bz2 18587 BLAKE2B 38da55afa2ceb6ce56eeb857611fbe9bbad8cd34cba8ed29e34c640d552c145e3a4fc64c57fcb70ec20581cd5639518be270f9a1cb8110bc9fe0f7ac06cfc3d7 SHA512 f39d5c0cf75b313a2c4675a359bccf825999bf19dd7fece8b61e15003c758cadf04871a5a1deab31e5d849efb16d596615ebc000d407d19ab9b01d47f7cc9f20
DIST chromium-patches-148.tar.bz2 18565 BLAKE2B f11e3c98ac8dfe9af7bd4a649281ae69c65708f398389358225852a60e593119175613f05c0480bc27a78bb29746d9549572ffd09a477608e319acb3f8e88153 SHA512 aaf00dce65a419c2c87638645dd44278334cc585ced42be24a91e1f0d61bbbf72f2304372163a20f3c4376445455383ca3fc50a744c54e5eed131900c629e071
DIST chromium-patches-copium-fe1caafa06.tar.gz 15572 BLAKE2B 4baa36a4536f9199caa89553fc10deac79ae7effa336fc4bd92fac59eb81a57749eead426e6f01ffecd9954b417eb34c29c899cc49a9d726fe65bf2e303712a0 SHA512 5310e48743a32f2f998b34138b1ed9667feed873ad16c18d3e495383f44a0d5df0f9634c7c4275cf1839002ae887ef58f6c3ec5fd9c5d46ad5114ffab439a664
diff --git a/www-client/chromium/chromium-145.0.7632.159.ebuild b/www-client/chromium/chromium-145.0.7632.159.ebuild
index 096692a4f6d6..750c32f9c5ef 100644
--- a/www-client/chromium/chromium-145.0.7632.159.ebuild
+++ b/www-client/chromium/chromium-145.0.7632.159.ebuild
@@ -86,7 +86,7 @@ SLOT="stable"
# Unstable in gentoo exists mostly to give devs some breathing room for beta/stable releases.
# It shouldn't be keyworded but adventurous users are encouraged to select it;
# there's official dev channel Google Chrome after all.
-KEYWORDS="amd64 arm64 ~ppc64"
+KEYWORDS="~ppc64"
IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-zstd"
IUSE="+X ${IUSE_SYSTEM_LIBS} bindist bundled-toolchain cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo"
diff --git a/www-client/chromium/chromium-146.0.7680.153.ebuild b/www-client/chromium/chromium-146.0.7680.153.ebuild
deleted file mode 100644
index a99321ceebcb..000000000000
--- a/www-client/chromium/chromium-146.0.7680.153.ebuild
+++ /dev/null
@@ -1,1744 +0,0 @@
-# Copyright 2009-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# PACKAGING NOTES
-
-# Upstream roll their bundled Clang every two weeks, and the bundled Rust
-# is rolled regularly and depends on that. While we do our best to build
-# with system Clang, we may eventually hit the point where we need to use
-# the bundled Clang due to the use of prerelease features.
-
-# USE=bundled-toolchain is intended for users who want to use the same toolchain
-# as the upstream releases. It's also a good fallback in case we fall behind
-# and need to get a release out quickly (less likely with `dev` in-tree).
-# We can't rely on it as a default since the toolchain is only shipped for x86-64;
-# other architectures will need to use system toolchain.
-
-# Since m133 we are using CI-generated tarballs from
-# https://github.com/chromium-linux-tarballs/chromium-tarballs/
-
-# These are bit-for-bit identical to the official releases, but are built
-# using an external CI system that we have some control over, in case
-# issues pop up again with official tarball generation.
-
-GN_MIN_VER=0.2318
-# chromium-tools/get-chromium-toolchain-strings.py (or just use Chromicler)
-# Node for M145+ should be 24.12.0 but that's not packaged in Gentoo yet. See #969145
-TEST_FONT="a28b222b79851716f8358d2800157d9ffe117b3545031ae51f69b7e1e1b9a969"
-BUNDLED_CLANG_VER="llvmorg-23-init-2224-g5bd8dadb-3"
-BUNDLED_RUST_VER="7d8ebe3128fc87f3da1ad64240e63ccf07b8f0bd-3"
-RUST_SHORT_HASH=${BUNDLED_RUST_VER:0:10}-${BUNDLED_RUST_VER##*-}
-NODE_VER="24.12.0"
-ESBUILD_VER="0.25.1"
-ROLLUP_VER="4.57.1" # currently manual.
-VIRTUALX_REQUIRED="pgo"
-
-CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
- hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
- sv sw ta te th tr uk ur vi zh-CN zh-TW"
-
-LLVM_COMPAT=( 21 )
-PYTHON_COMPAT=( python3_{10..14} )
-PYTHON_REQ_USE="xml(+)"
-RUST_MIN_VER=1.91.0
-RUST_NEEDS_LLVM="yes please"
-RUST_OPTIONAL="yes" # Not actually optional, but we don't need system Rust (or LLVM) with USE=bundled-toolchain
-RUST_REQ_USE="rustfmt" # Upstream run rustfmt on bindgen output, so we need it to be available.
-
-inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils
-inherit python-any-r1 readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="https://www.chromium.org/"
-PPC64_HASH="6e839bd94774ccf59b4c0db697fcf15c7bc1f22e"
-PATCH_V="${PV%%\.*}-1"
-COPIUM_COMMIT="fe1caafa06f27542c18a881348f78e984e2d9fe2"
-SRC_URI="https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/${PV}/chromium-${PV}-linux.tar.xz
- https://deps.gentoo.zip/www-client/chromium/rollup-wasm-node-${ROLLUP_VER}.tgz
- !bundled-toolchain? (
- https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
- https://codeberg.org/selfisekai/copium/archive/${COPIUM_COMMIT}.tar.gz
- -> chromium-patches-copium-${COPIUM_COMMIT:0:10}.tar.gz
- )
- bundled-toolchain? (
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${BUNDLED_CLANG_VER}.tar.xz
- -> chromium-clang-${BUNDLED_CLANG_VER}.tar.xz
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${BUNDLED_RUST_VER}-${BUNDLED_CLANG_VER%-*}.tar.xz
- -> chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz
- )
- test? (
- https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz
- )
- ppc64? (
- https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
- )
- pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
-
-# https://gitweb.gentoo.org/proj/chromium-tools.git/tree/get-chromium-licences.py @ 145.0.7632.76
-LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Base64 Boost-1.0 CC-BY-3.0 CC-BY-4.0 Clear-BSD FFT2D FTL"
-LICENSE+=" IJG ISC LGPL-2 LGPL-2.1 MIT MPL-1.1 MPL-2.0 Ms-PL PSF-2 SGI-B-2.0 SSLeay SunSoft Unicode-3.0"
-LICENSE+=" Unicode-DFS-2015 Unlicense UoI-NCSA ZLIB libtiff openssl"
-LICENSE+=" rar? ( unRAR )"
-
-SLOT="stable"
-# Unstable in gentoo exists mostly to give devs some breathing room for beta/stable releases.
-# It shouldn't be keyworded but adventurous users are encouraged to select it;
-# there's official dev channel Google Chrome after all.
-KEYWORDS="amd64 arm64"
-
-IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-zstd"
-IUSE="+X ${IUSE_SYSTEM_LIBS} bindist bundled-toolchain cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo"
-IUSE+=" +proprietary-codecs pulseaudio qt6 +rar +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3"
-RESTRICT="
- !bindist? ( bindist )
- !test? ( test )
- arm64? ( test )" # Tests require CFI, which requires LTO, which is broken on arm64 with LLVM 21.
-
-REQUIRED_USE="
- !headless? ( || ( X wayland ) )
- pgo? ( X !wayland )
- screencast? ( wayland )
- ffmpeg-chromium? ( bindist proprietary-codecs )
-"
-
-COMMON_X_DEPEND="
- x11-libs/libXcomposite:=
- x11-libs/libXcursor:=
- x11-libs/libXdamage:=
- x11-libs/libXfixes:=
- >=x11-libs/libXi-1.6.0:=
- x11-libs/libXrandr:=
- x11-libs/libXrender:=
- x11-libs/libXtst:=
- x11-libs/libxshmfence:=
-"
-
-# sys-libs/zlib: https://bugs.gentoo.org/930365; -ng is not compatible.
-# We _could_ use the bundled minizip, but that's against policy.
-COMMON_SNAPSHOT_DEPEND="
- system-icu? ( >=dev-libs/icu-73.0:= )
- >=dev-libs/libxml2-2.12.4:=[icu]
- dev-libs/nspr:=
- >=dev-libs/nss-3.26:=
- dev-libs/libxslt:=
- media-libs/fontconfig:=
- >=media-libs/freetype-2.11.0-r1:=
- system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
- media-libs/libjpeg-turbo:=
- system-zstd? ( >=app-arch/zstd-1.5.5:= )
- >=media-libs/libwebp-0.4.0:=
- media-libs/mesa:=[gbm(+)]
- >=media-libs/openh264-2.6.0:=
- sys-libs/zlib:=
- !headless? (
- dev-libs/glib:2
- >=media-libs/alsa-lib-1.0.19:=
- pulseaudio? ( media-libs/libpulse:= )
- sys-apps/pciutils:=
- kerberos? ( virtual/krb5 )
- vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
- X? (
- x11-base/xorg-proto:=
- x11-libs/libX11:=
- x11-libs/libxcb:=
- x11-libs/libXext:=
- )
- x11-libs/libxkbcommon:=
- wayland? (
- dev-libs/libffi:=
- dev-libs/wayland:=
- screencast? ( media-video/pipewire:= )
- )
- )
-"
-
-COMMON_DEPEND="
- ${COMMON_SNAPSHOT_DEPEND}
- app-arch/bzip2:=
- dev-libs/expat:=
- net-misc/curl[ssl]
- sys-apps/dbus:=
- media-libs/flac:=
- sys-libs/zlib:=[minizip]
- !headless? (
- >=app-accessibility/at-spi2-core-2.46.0:2
- media-libs/mesa:=[X?,wayland?]
- virtual/udev
- x11-libs/cairo:=
- x11-libs/gdk-pixbuf:2
- x11-libs/pango:=
- cups? ( >=net-print/cups-1.3.11:= )
- qt6? ( dev-qt/qtbase:6[gui,widgets] )
- X? ( ${COMMON_X_DEPEND} )
- )
-"
-RDEPEND="${COMMON_DEPEND}
- !www-client/chromium:0
- >=www-client/chromium-common-2
- !headless? (
- || (
- x11-libs/gtk+:3[X?,wayland?]
- gui-libs/gtk:4[X?,wayland?]
- )
- qt6? ( dev-qt/qtbase:6[X?,wayland?] )
- )
- virtual/ttf-fonts
- selinux? ( sec-policy/selinux-chromium )
- bindist? (
- !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
- ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} )
- )
-"
-DEPEND="${COMMON_DEPEND}
- !headless? (
- gtk4? ( gui-libs/gtk:4[X?,wayland?] )
- !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
- )
-"
-
-BDEPEND="
- ${COMMON_SNAPSHOT_DEPEND}
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- >=app-arch/gzip-1.7
- !headless? (
- qt6? ( dev-qt/qtbase:6 )
- )
- !bundled-toolchain? ( $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}
- llvm-core/llvm:${LLVM_SLOT}
- llvm-core/lld:${LLVM_SLOT}
- official? (
- !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] )
- ) ')
- ${RUST_DEPEND}
- )
- pgo? (
- >=dev-python/selenium-3.141.0
- >=dev-util/web_page_replay_go-20220314
- )
- >=dev-util/bindgen-0.72.1
- >=dev-build/gn-${GN_MIN_VER}
- app-alternatives/ninja
- dev-lang/perl
- >=dev-util/gperf-3.2
- dev-util/esbuild:${ESBUILD_VER}
- dev-vcs/git
- >=net-libs/nodejs-${NODE_VER}[inspector]
- sys-apps/hwdata
- >=sys-devel/bison-2.4.3
- sys-devel/flex
- virtual/pkgconfig
-"
-
-if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
- EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
-fi
-
-DISABLE_AUTOFORMATTING="yes"
-DOC_CONTENTS="
-Some web pages may require additional fonts to display properly.
-Try installing some of the following packages if some characters
-are not displayed properly:
-- media-fonts/arphicfonts
-- media-fonts/droid
-- media-fonts/ipamonafont
-- media-fonts/noto
-- media-fonts/ja-ipafonts
-- media-fonts/takao-fonts
-- media-fonts/wqy-microhei
-- media-fonts/wqy-zenhei
-
-To fix broken icons on the Downloads page, you should install an icon
-theme that covers the appropriate MIME types, and configure this as your
-GTK+ icon theme.
-
-For native file dialogs in KDE, install kde-apps/kdialog.
-
-To make password storage work with your desktop environment you may
-have install one of the supported credentials management applications:
-- app-crypt/libsecret (GNOME)
-- kde-frameworks/kwallet (KDE)
-If you have one of above packages installed, but don't want to use
-them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
-in /etc/chromium/default.
-"
-
-python_check_deps() {
- python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-pre_build_checks() {
- # Check build requirements: bugs #471810, #541816, #914220
- # We're going to start doing maths here on the size of an unpacked source tarball,
- # this should make updates easier as chromium continues to balloon in size.
- # xz -l /var/cache/distfiles/chromium-${PV}*.tar.xz
- local base_disk=9 # Round up
- use test && base_disk=$((base_disk + 5))
- local extra_disk=1 # Always include a little extra space
- local memory=4
- tc-is-cross-compiler && extra_disk=$((extra_disk * 2))
- if tc-is-lto || use pgo; then
- memory=$((memory * 2 + 1))
- tc-is-cross-compiler && extra_disk=$((extra_disk * 2)) # Double the requirements
- use pgo && extra_disk=$((extra_disk + 4))
- fi
- if is-flagq '-g?(gdb)?([1-9])'; then
- if use custom-cflags; then
- extra_disk=$((extra_disk + 5))
- fi
- memory=$((memory * 2))
- fi
- local CHECKREQS_MEMORY="${memory}G"
- local CHECKREQS_DISK_BUILD="$((base_disk + extra_disk))G"
- check-reqs_${EBUILD_PHASE_FUNC}
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
- pre_build_checks
- fi
-
- if use headless; then
- local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt6" "vaapi" "wayland")
- for myiuse in ${headless_unused_flags[@]}; do
- use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set."
- done
- fi
-
- if ! use bindist && use ffmpeg-chromium; then
- ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set."
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
- pre_build_checks
-
- # We haven't massaged any CFLAGS yet, so we want to do this before we force CC/CXX to prevent warnings.
- local want_lto="false"
- tc-is-lto && want_lto="true"
-
- # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
- # We'll set these to clang here then use llvm-utils functions to very explicitly set these
- # to a sane value.
- # This is effectively the 'force-clang' path if GCC support is re-added.
- if use !bundled-toolchain; then
- llvm-r1_pkg_setup
- rust_pkg_setup
-
- # Forcing clang; respect llvm_slot_x to enable selection of impl via LLVM_COMPAT
- AR=llvm-ar
- CPP="${CHOST}-clang++-${LLVM_SLOT} -E"
- NM=llvm-nm
- CC="${CHOST}-clang-${LLVM_SLOT}"
- CXX="${CHOST}-clang++-${LLVM_SLOT}"
- fi
-
- use_lto="false"
- local lto_usable="true"
- if [[ "$want_lto" == "true" ]]; then
- if use arm64 && [[ "${LLVM_SLOT}" -lt 22 ]]; then
- einfo "LTO is broken with LLVM 21 on arm64, ignoring CFLAGS."
- lto_usable="false"
- else
- use_lto="true"
- fi
- # We can rely on GN to do this for us; without this builds
- # take significantly longer with LTO enabled.
- filter-lto
- fi
-
- if [[ "$use_lto" == "false" ]] && use official && [[ "$lto_usable" == "true" ]]; then
- einfo "USE=official selected and LTO not detected."
- einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
- einfo "and to be consistent with the upstream \"official\" build optimisations."
- fi
-
- if [[ "$use_lto" == "false" ]] && use test; then
- die "Tests require CFI which requires LTO"
- fi
-
- export use_lto
-
- # 936858
- if tc-ld-is-mold; then
- eerror "Your toolchain is using the mold linker."
- eerror "This is not supported by Chromium."
- die "Please switch to a different linker."
- fi
-
- if tc-is-cross-compiler; then
- use pgo && die "The pgo USE flag cannot be used when cross-compiling"
- CPP="${CBUILD}-clang++-${LLVM_SLOT} -E"
- fi
-
- # I hate doing this but upstream Rust have yet to come up with a better solution for
- # us poor packagers. Required for Split LTO units, which are required for CFI.
- export RUSTC_BOOTSTRAP=1
-
- # Sanity checks for development convenience
- if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
- die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
- fi
-
- # Sometimes, when adding a new LLVM slot, devs (me) forget to install an appropriate lld.
- local lld_ver=$(ld.lld --version | awk '{split($2,a,"."); print a[1]}' || die "Failed to check lld version")
- if [[ ${lld_ver} -lt ${LLVM_SLOT} ]]; then
- die "Your lld version (${lld_ver}) is too old for the selected LLVM slot (${LLVM_SLOT}). Please install a newer lld or select an older LLVM slot."
- fi
- fi
-
- chromium_suid_sandbox_check_kernel_config
-}
-
-src_unpack() {
- unpack ${P}-linux.tar.xz
- unpack chromium-patches-${PATCH_V}.tar.bz2
- # These should only be required when we're not using the official toolchain
- if use !bundled-toolchain; then
- unpack chromium-patches-copium-${COPIUM_COMMIT:0:10}.tar.gz
- fi
-
- use pgo && unpack chromium-profiler-0.2.tar
-
- if use test; then
- # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location.
- local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts/test_fonts"
- local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz"
- einfo "Unpacking test fonts ..."
- tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts"
- fi
-
- # We need to manually unpack this since M126 else we'd unpack one toolchain over the other.
- # Since we're doing that anyway let's unpack to sensible locations to make symlink creation easier.
- if use bundled-toolchain; then
- einfo "Unpacking bundled Clang ..."
- mkdir -p "${WORKDIR}"/clang || die "Failed to create clang directory"
- tar xf "${DISTDIR}/chromium-clang-${BUNDLED_CLANG_VER}.tar.xz" -C "${WORKDIR}/clang" || die "Failed to unpack Clang"
- einfo "Unpacking bundled Rust ..."
- local rust_dir="${WORKDIR}/rust-toolchain"
- mkdir -p "${rust_dir}" || die "Failed to create rust toolchain directory"
- tar xf "${DISTDIR}/chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz" -C "${rust_dir}" ||
- die "Failed to unpack Rust"
- fi
-
- if use ppc64; then
- unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
- fi
-
- # This is a dirty hack, but we need rollup to build successfully and it's proving to be challenging
- # to build locally due to deps
- unpack rollup-wasm-node-${ROLLUP_VER}.tgz
-}
-
-remove_compiler_builtins() {
- # We can't use the bundled compiler builtins with the system toolchain
- # We used to `grep` then `sed`, but it was indirect. Combining the two into a single
- # `awk` command is more efficient and lets us document the logic more clearly.
-
- local pattern=' configs += [ "//build/config/clang:compiler_builtins" ]'
- local target='build/config/compiler/BUILD.gn'
-
- local tmpfile
- tmpfile=$(mktemp) || die "Failed to create temporary file."
-
- if awk -v pat="${pattern}" '
- BEGIN {
- match_found = 0
- }
-
- # If the delete countdown is active, decrement it and skip to the next line.
- d > 0 { d--; next }
-
- # If the current line matches the pattern...
- $0 == pat {
- match_found = 1 # ...set our flag to true.
- d = 2 # Set delete counter for this line and the next two.
- prev = "" # Clear the buffered previous line so it is not printed.
- next
- }
-
- # For any other line, print the buffered previous line.
- NR > 1 { print prev }
-
- # Buffer the current line to be printed on the next cycle.
- { prev = $0 }
-
- END {
- # Print the last line if it was not part of a deleted block.
- if (d == 0) { print prev }
-
- # If the pattern was never found, exit with a failure code.
- if (match_found == 0) {
- exit 1
- }
- }
- ' "${target}" > "${tmpfile}"; then
- # AWK SUCCEEDED (exit code 0): The pattern was found and edited.
- # This is to avoid gawk's `-i inplace` option which users complain about.
- mv "${tmpfile}" "${target}"
- else
- # AWK FAILED (exit code 1): The pattern was not found.
- rm -f "${tmpfile}"
- die "Awk patch failed: Pattern not found in ${target}."
- fi
-}
-
-src_prepare() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # We'll fill this in as we go. Patches go in chromium-patches.
- local PATCHES=()
-
- PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}/common/" )
-
- # https://issues.chromium.org/issues/442698344
- # Unreleased fontconfig changed magic numbers and google have rolled to this version
- if has_version "<=media-libs/fontconfig-2.17.1"; then
- PATCHES+=( "${FILESDIR}/chromium-142-work-with-old-fontconfig.patch" )
- fi
-
- if use bundled-toolchain; then
- # We need to symlink the toolchain into the expected location
- einfo "Symlinking Clang toolchain to expected location ..."
- mkdir -p third_party/llvm-build/ || die "Failed to create llvm-build directory"
- # the 'Chromium Linux Tarballs' seem to already have 'Release+Asserts/{lib,bin}'; not sure if this is an
- # upstream change - we're using the same scripts to build, theoretically. We'll still attempt to create
- # llvm-build, but we'll rm Release+Asserts and symlink directly.
- if [[ -d third_party/llvm-build/Release+Asserts ]]; then
- rm -r third_party/llvm-build/Release+Asserts || die "Failed to remove third_party/llvm-build/Release+Asserts"
- fi
- ln -s "${WORKDIR}"/clang third_party/llvm-build/Release+Asserts || die "Failed to bundle Clang"
- einfo "Symlinking Rust toolchain to expected location ..."
- # As above, so below
- if [[ -d third_party/rust-toolchain ]]; then
- rm -r third_party/rust-toolchain || die "Failed to remove third_party/rust-toolchain"
- fi
- ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust"
- cp "${WORKDIR}"/rust-toolchain/VERSION \
- "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version"
- else
- # We don't need our toolchain patches if we're using the official toolchain
-
- # Copium patches go here.
- PATCHES+=(
- "${WORKDIR}/copium/cr143-libsync-__BEGIN_DECLS.patch"
- )
-
- # Automate conditional application of chromium-patches
- # The directory structure is expected to be something like:
- # chromium-patches-145/
- # ├── toolchain/
- # │ ├── cr123-foo.patch
- # │ └── cr135-bar.patch
- # ├── llvm/
- # │ ├── cr144-baz.patch
- # │ └── lt-23/
- # │ └── cr145-bleeding-edge-llvm-feature.patch
- # Where `lt-23` means "apply this patch if the LLVM version is less than 23".
- # Only categories in `slot_map` will be checked for version constraints.
- shopt -s nullglob
- local -A slot_map=( [llvm]="${LLVM_SLOT}" [rust]="${RUST_SLOT}" )
-
- for category in "${WORKDIR}/chromium-patches-${PATCH_V}"/*/; do
- local category_name="${category%/}"
- category_name="${category_name##*/}"
-
- # Skip arch-specific categories
- if [[ "${category_name}" == "ppc64le" ]]; then
- use ppc64 || continue
- fi
-
- # We applied common patches above, no need to apply them again here
- [[ "${category_name}" == "common" ]] && continue
-
- # Unconditional patches for this category
- PATCHES+=( "${category}"*.patch )
-
- # Version-constrained subdirectories (e.g., llvm/lt-23/)
- for constraint_dir in "${category}"*/; do
- local dir_name="${constraint_dir%/}"
- dir_name="${dir_name##*/}"
- if [[ "${dir_name}" =~ ^lt-(.*)$ && -v slot_map[${category_name}] ]]; then
- ver_test "${slot_map[${category_name}]}" -lt "${BASH_REMATCH[1]}" &&
- PATCHES+=( "${constraint_dir}"*.patch )
- fi
- done
- done
-
- shopt -u nullglob
-
- # Strictly speaking this doesn't need to be gated (no bundled toolchain for ppc64); it keeps the logic together
- if use ppc64; then
- local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches"
- # patch causes build errors on 4K page systems (https://bugs.gentoo.org/show_bug.cgi?id=940304)
- local page_size_patch="ppc64le/third_party/use-sysconf-page-size-on-ppc64.patch"
- local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch"
- # Apply the OpenPOWER patches (check for page size and isa 3.0)
- openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" |
- grep -v "${isa_3_patch}" || die) )
- for patch in "${openpower_patches[@]}"; do
- PATCHES+=( "${patchset_dir}/${patch}" )
- done
- if [[ $(getconf PAGESIZE) == 65536 ]]; then
- PATCHES+=( "${patchset_dir}/${page_size_patch}" )
- fi
- # We use vsx3 as a proxy for 'want isa3.0' (POWER9)
- if use cpu_flags_ppc_vsx3 ; then
- PATCHES+=( "${patchset_dir}/${isa_3_patch}" )
- fi
- fi
-
- remove_compiler_builtins
-
- # We can't rely on the eselect'd Rust to actually include rustfmt, so we'll point to the selected slot specifically.
- local suffix=""
- if [[ "${RUST_TYPE}" == "binary" ]]; then
- suffix="-bin-${RUST_SLOT}"
- else
- suffix="-${RUST_SLOT}"
- fi
- sed -i "s|/bin/rustfmt|/bin/rustfmt${suffix}|g" build/rust/rust_bindgen_generator.gni ||
- die "Failed to update rustfmt path"
-
- fi
-
- default
-
- # Sanity check esbuild version before we start removing files.
- # We _could_ patch the version check out - in theory esbuild upstream are being super conservative after
- # arch(AUR) packaged an `esbuild` binary and set ESBUILD_BINARY_PATH=/usr/bin/esbuild, causing much breakage,
- # but this is fine too and exactly matches what upstream are expecting.
- # https://github.com/evanw/esbuild/issues/2894
- local esbuild_js="${S}/third_party/devtools-frontend/src/node_modules/esbuild/lib/main.js"
- local found
- found=$(awk -F'"' '/if \(binaryVersion !==/ {print $2}' "${esbuild_js}")
- if [[ "${found}" != "${ESBUILD_VER}" ]]; then
- die "esbuild version mismatch: expected ${ESBUILD_VER}, found ${found}"
- fi
-
- elog "Removing bundled binaries from source tree ..."
- # Purge bundled ELF files: These are non-portable and will cause issues if used instead of system versions.
- # Use `--wasm` to also remove WebAssembly binaries, if desired - they're portable so shouldn't break builds.
- ${EPYTHON} "${FILESDIR}/bin-finder.py" --elf "${S}" | awk '{print $1}' | xargs rm -f ||
- die "Failed to remove bundled binaries"
-
- # And now we restore any that we actually need, from the host system
- local esbuild_path="${S}/third_party/devtools-frontend/src/third_party/esbuild"
- local -A restore_list=(
- ["/usr/bin/esbuild-${ESBUILD_VER}"]="${esbuild_path}/esbuild"
- ["/usr/bin/node"]="${S}/third_party/node/linux/node-linux-x64/bin/node"
- )
-
- for src in "${!restore_list[@]}"; do
- dst="${restore_list[${src}]}"
- if [[ -f "${src}" ]]; then
- einfo "Symlinking ${src} ..."
- # Make sure the parent dir exists; some tarballs don't include (e.g.) node's bindir
- mkdir -p "$(dirname "${dst}")" || die "Failed to create directory for ${dst}"
- ln -s "${src}" "${dst}" || die "Failed to symlink ${dst} from ${src}"
- else
- die "Expected to find ${src} to restore ${dst}, but it does not exist."
- fi
- done
-
- # Until we can just symlink in a system rollup, we'll `mv` the wasm version and modify some files.
- # Do this after removing bundled bins in case we decide to strip wasm binaries in the future.
- einfo "Moving rollup wasm-node package into place ..."
- mkdir -p third_party/devtools-frontend/src/node_modules/@rollup/wasm-node ||
- die "Failed to create node_modules/@rollup/wasm-node"
- mv "${WORKDIR}"/package/* third_party/devtools-frontend/src/node_modules/@rollup/wasm-node ||
- die "Failed to move rollup package"
-
- # adjust python interpreter version
- sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
-
- # Use the system copy of hwdata's usb.ids; upstream is woefully out of date (2015!)
- sed 's|//third_party/usb_ids/usb.ids|/usr/share/hwdata/usb.ids|g' \
- -i services/device/public/cpp/usb/BUILD.gn || die "Failed to set system usb.ids path"
-
- # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party'
- # whitelist matches use the right-most matching path component, so we need to whitelist from that point down.
- local keeplibs=(
- base/third_party/cityhash
- base/third_party/double_conversion
- base/third_party/icu
- base/third_party/nspr
- base/third_party/superfasthash
- base/third_party/symbolize
- base/third_party/xdg_user_dirs
- buildtools/third_party/libc++
- buildtools/third_party/libc++abi
- net/third_party/mozilla_security_manager
- net/third_party/quic
- net/third_party/uri_template
- third_party/abseil-cpp
- third_party/angle
- third_party/angle/src/common/third_party/xxhash
- third_party/angle/src/third_party/ceval
- third_party/angle/src/third_party/libXNVCtrl
- third_party/angle/src/third_party/volk
- third_party/anonymous_tokens
- third_party/apple_apsl
- third_party/axe-core
- third_party/bidimapper
- third_party/blink
- third_party/boringssl
- third_party/boringssl/src/third_party/fiat
- third_party/breakpad
- third_party/breakpad/breakpad/src/third_party/curl
- third_party/brotli
- third_party/catapult
- third_party/catapult/common/py_vulcanize/third_party/rcssmin
- third_party/catapult/common/py_vulcanize/third_party/rjsmin
- third_party/catapult/third_party/beautifulsoup4-4.9.3
- third_party/catapult/third_party/html5lib-1.1
- third_party/catapult/third_party/polymer
- third_party/catapult/third_party/six
- third_party/catapult/third_party/typ
- 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/compiler-rt # Since M137 atomic is required; we could probably unbundle this as a target of opportunity.
- third_party/content_analysis_sdk
- third_party/cpuinfo
- third_party/crabbyavif
- third_party/crashpad
- third_party/crashpad/crashpad/third_party/lss
- third_party/crashpad/crashpad/third_party/zlib
- third_party/crc32c
- third_party/cros_system_api
- third_party/d3
- third_party/dav1d
- third_party/dawn
- third_party/dawn/third_party/gn/webgpu-cts
- third_party/dawn/third_party/khronos
- third_party/dawn/third_party/renderdoc
- third_party/dawn/third_party/webgpu-headers
- third_party/depot_tools
- third_party/devscripts
- third_party/devtools-frontend
- third_party/devtools-frontend/src/front_end/third_party/acorn
- third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
- third_party/devtools-frontend/src/front_end/third_party/axe-core
- third_party/devtools-frontend/src/front_end/third_party/chromium
- third_party/devtools-frontend/src/front_end/third_party/codemirror
- third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
- third_party/devtools-frontend/src/front_end/third_party/diff
- third_party/devtools-frontend/src/front_end/third_party/i18n
- third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
- third_party/devtools-frontend/src/front_end/third_party/json5
- third_party/devtools-frontend/src/front_end/third_party/legacy-javascript
- third_party/devtools-frontend/src/front_end/third_party/lighthouse
- third_party/devtools-frontend/src/front_end/third_party/lit
- third_party/devtools-frontend/src/front_end/third_party/marked
- third_party/devtools-frontend/src/front_end/third_party/puppeteer
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
- third_party/devtools-frontend/src/front_end/third_party/source-map-scopes-codec
- third_party/devtools-frontend/src/front_end/third_party/third-party-web
- third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
- third_party/devtools-frontend/src/front_end/third_party/wasmparser
- third_party/devtools-frontend/src/front_end/third_party/web-vitals
- third_party/devtools-frontend/src/third_party
- third_party/dom_distiller_js
- third_party/dragonbox
- third_party/eigen3
- third_party/emoji-segmenter
- third_party/farmhash
- third_party/fast_float
- third_party/fdlibm
- third_party/federated_compute/chromium/fcp/confidentialcompute
- third_party/federated_compute/src/fcp/base
- third_party/federated_compute/src/fcp/confidentialcompute
- third_party/federated_compute/src/fcp/protos/confidentialcompute
- third_party/federated_compute/src/fcp/protos/federatedcompute
- third_party/ffmpeg
- third_party/fft2d
- third_party/flatbuffers
- third_party/fp16
- third_party/freetype
- third_party/fusejs
- third_party/fxdiv
- third_party/gemmlowp
- third_party/google_input_tools
- third_party/google_input_tools/third_party/closure_library
- third_party/google_input_tools/third_party/closure_library/third_party/closure
- third_party/googletest
- third_party/highway
- third_party/hunspell
- third_party/ink_stroke_modeler/src/ink_stroke_modeler
- third_party/ink_stroke_modeler/src/ink_stroke_modeler/internal
- third_party/ink/src/ink/brush
- third_party/ink/src/ink/color
- third_party/ink/src/ink/geometry
- third_party/ink/src/ink/rendering
- third_party/ink/src/ink/rendering/skia/common_internal
- third_party/ink/src/ink/rendering/skia/native
- third_party/ink/src/ink/rendering/skia/native/internal
- third_party/ink/src/ink/strokes
- third_party/ink/src/ink/types
- third_party/inspector_protocol
- third_party/ipcz
- third_party/jinja2
- third_party/jsoncpp
- third_party/khronos
- third_party/lens_server_proto
- third_party/leveldatabase
- third_party/libaddressinput
- third_party/libaom
- third_party/libaom/source/libaom/third_party/fastfeat
- third_party/libaom/source/libaom/third_party/SVT-AV1
- third_party/libaom/source/libaom/third_party/vector
- third_party/libaom/source/libaom/third_party/x86inc
- third_party/libc++
- third_party/libdrm
- third_party/libgav1
- third_party/libjingle
- third_party/libpfm4
- third_party/libphonenumber
- third_party/libpng
- third_party/libsecret
- third_party/libsrtp
- third_party/libsync
- third_party/libtess2/libtess2
- third_party/libtess2/src/Include
- third_party/libtess2/src/Source
- third_party/liburlpattern
- third_party/libva_protected_content
- third_party/libvpx
- third_party/libvpx/source/libvpx/third_party/x86inc
- third_party/libwebm
- third_party/libx11
- third_party/libxcb-keysyms
- third_party/libxml/chromium
- third_party/libyuv
- third_party/libzip
- third_party/lit
- third_party/llvm-libc
- third_party/llvm-libc/src/shared/
- third_party/lottie
- third_party/lss
- third_party/lzma_sdk
- third_party/mako
- third_party/markupsafe
- third_party/material_color_utilities
- third_party/metrics_proto
- third_party/minigbm
- third_party/ml_dtypes
- third_party/modp_b64
- third_party/nasm
- third_party/nearby
- third_party/neon_2_sse
- third_party/node
- third_party/oak/chromium/proto
- third_party/oak/chromium/proto/attestation
- third_party/omnibox_proto
- third_party/one_euro_filter
- third_party/openscreen
- third_party/openscreen/src/third_party/
- third_party/openscreen/src/third_party/tinycbor/src/src
- third_party/opus
- third_party/ots
- third_party/pdfium
- third_party/pdfium/third_party/agg23
- third_party/pdfium/third_party/bigint
- third_party/pdfium/third_party/freetype
- third_party/pdfium/third_party/lcms
- third_party/pdfium/third_party/libopenjpeg
- third_party/pdfium/third_party/libtiff
- third_party/perfetto
- third_party/perfetto/protos/third_party/chromium
- third_party/perfetto/protos/third_party/pprof
- third_party/perfetto/protos/third_party/simpleperf
- third_party/pffft
- third_party/ply
- third_party/polymer
- third_party/private_membership
- third_party/private-join-and-compute
- third_party/protobuf
- third_party/protobuf/third_party/utf8_range
- third_party/pthreadpool
- third_party/puffin
- third_party/pyjson5
- third_party/pyyaml
- third_party/rapidhash
- third_party/re2
- third_party/readability
- third_party/rnnoise
- third_party/rust
- third_party/ruy
- third_party/s2cellid
- third_party/search_engines_data
- third_party/securemessage
- third_party/selenium-atoms
- third_party/sentencepiece
- third_party/sentencepiece/src/third_party/darts_clone
- third_party/shell-encryption
- third_party/simdutf
- third_party/simplejson
- third_party/six
- third_party/skia
- third_party/skia/include/third_party/vulkan
- third_party/smhasher
- third_party/snappy
- third_party/spirv-headers
- third_party/spirv-tools
- third_party/sqlite
- third_party/swiftshader
- third_party/swiftshader/third_party/astc-encoder
- third_party/swiftshader/third_party/llvm-subzero
- third_party/swiftshader/third_party/marl
- third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
- third_party/swiftshader/third_party/SPIRV-Tools
- third_party/swiftshader/third_party/subzero
- third_party/tensorflow_models
- third_party/tensorflow-text
- third_party/tflite
- third_party/tflite/src/third_party/fft2d
- third_party/tflite/src/third_party/xla/third_party/tsl
- third_party/tflite/src/third_party/xla/xla/tsl/framework
- third_party/tflite/src/third_party/xla/xla/tsl/lib/random
- third_party/tflite/src/third_party/xla/xla/tsl/platform
- third_party/tflite/src/third_party/xla/xla/tsl/protobuf
- third_party/tflite/src/third_party/xla/xla/tsl/util
- third_party/ukey2
- third_party/utf
- third_party/vulkan
- third_party/wayland
- third_party/webdriver
- third_party/webgpu-cts
- third_party/webrtc
- third_party/webrtc/common_audio/third_party/ooura
- third_party/webrtc/common_audio/third_party/spl_sqrt_floor
- third_party/webrtc/modules/third_party/fft
- third_party/webrtc/modules/third_party/g711
- third_party/webrtc/modules/third_party/g722
- third_party/widevine
- third_party/woff2
- third_party/wuffs
- third_party/x11proto
- third_party/xcbproto
- third_party/xnnpack
- third_party/zlib/google
- third_party/zxcvbn-cpp
- url/third_party/mozilla
- v8/third_party/glibc
- v8/third_party/inspector_protocol
- v8/third_party/rapidhash-v8
- v8/third_party/siphash
- v8/third_party/utf8-decoder
- v8/third_party/v8
- v8/third_party/valgrind
-
- # gyp -> gn leftovers
- third_party/speech-dispatcher
- third_party/usb_ids
- third_party/xdg-utils
- )
-
- if use rar; then
- keeplibs+=( third_party/unrar )
- fi
-
- if use test; then
- keeplibs+=(
- third_party/breakpad/breakpad/src/processor
- third_party/fuzztest
- third_party/google_benchmark/src/include/benchmark
- third_party/google_benchmark/src/src
- third_party/test_fonts
- third_party/test_fonts/fontconfig
- third_party/test_fonts/test_fonts
- )
- fi
-
- # USE=system-*
- if ! use system-harfbuzz; then
- keeplibs+=( third_party/harfbuzz-ng )
- fi
-
- if ! use system-icu; then
- keeplibs+=( third_party/icu )
- fi
-
- if ! use system-zstd; then
- keeplibs+=( third_party/zstd )
- fi
-
- # Arch-specific
- if use arm64 || use ppc64 ; then
- keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
- fi
- # we need to generate ppc64 stuff because upstream does not ship it yet
- # it has to be done before unbundling.
- if use ppc64; then
- pushd third_party/libvpx >/dev/null || die
- mkdir -p source/config/linux/ppc64 || die
- # requires git and clang, bug #832803
- # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
- # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
- # since we're not in a git repo
- sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
- generate_gni.sh || die
- ./generate_gni.sh || die
- popd >/dev/null || die
-
- pushd third_party/ffmpeg >/dev/null || die
- cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
- cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
- popd >/dev/null || die
- fi
-
- # Sanity check keeplibs, on major version bumps it is often necessary to update this list
- # and this enables us to hit them all at once.
- # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd)
- whitelist_libs=(
- net/third_party/quic
- third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
- third_party/libjingle
- third_party/mesa
- third_party/skia/third_party/vulkan
- third_party/vulkan
- )
- local not_found_libs=()
- for lib in "${keeplibs[@]}"; do
- if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then
- not_found_libs+=( "${lib}" )
- fi
- done
-
- if [[ ${#not_found_libs[@]} -gt 0 ]]; then
- eerror "The following \`keeplibs\` directories were not found in the source tree:"
- for lib in "${not_found_libs[@]}"; do
- eerror " ${lib}"
- done
- die "Please update the ebuild."
- fi
-
- # Remove most bundled libraries. Some are still needed.
- einfo "Unbundling third-party libraries ..."
- build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
-
- # Interferes with our bundled clang path; we don't want stripped binaries anyway.
- sed -i -e 's|${clang_base_path}/bin/llvm-strip|/bin/true|g' \
- -e 's|${clang_base_path}/bin/llvm-objcopy|/bin/true|g' \
- build/linux/strip_binary.gni || die
-}
-
-chromium_configure() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # Bug 491582.
- export TMPDIR="${WORKDIR}/temp"
- mkdir -p -m 755 "${TMPDIR}" || die
-
- # https://bugs.gentoo.org/654216
- addpredict /dev/dri/ #nowarn
-
- # 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
- libjpeg
- libwebp
- libxml
- libxslt
- openh264
- zlib
- )
- if use system-icu; then
- gn_system_libraries+=( icu )
- fi
-
- if use system-zstd; then
- gn_system_libraries+=( zstd )
- fi
-
- build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" ||
- die "Failed to replace GN files for system libraries"
-
- # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file
- # drop the last line, then append the freetype line and a new curly brace to end the block
- local freetype_gni="build/config/freetype/freetype.gni"
- sed -i -e '$d' ${freetype_gni} || die
- echo " enable_freetype = true" >> ${freetype_gni} || die
- echo "}" >> ${freetype_gni} || die
-
- if use !custom-cflags; then
- replace-flags "-Os" "-O2"
- strip-flags
- # Debug info section overflows without component build
- # Prevent linker from running out of address space, bug #471810 .
- filter-flags "-g*"
- # 949123: Several multimedia components explicitly build with specific CFLAGS and
- # use runtime detection to enable optimisations; unfortunately any of our CFLAGS are suffixed
- # to the end of the command line, which causes build failures.
- use arm64 && filter-flags "-march*" "-mtune*" "-mcpu*"
- fi
-
- # We don't use the same clang version as upstream, and with -Werror
- # we need to make sure that we don't get superfluous warnings.
- append-flags -Wno-unknown-warning-option
- if tc-is-cross-compiler; then # can you cross-compile with the bundled toolchain?
- export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
- export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
- fi
-
- # Start building our GN options
- local myconf_gn=() # Tip: strings must be quoted, bools or numbers are fine
-
- if use !bundled-toolchain; then
- # We already forced the "correct" clang via pkg_setup
-
- if tc-is-cross-compiler; then
- CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
- CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
- BUILD_AR=${AR}
- BUILD_CC=${CC}
- BUILD_CXX=${CXX}
- BUILD_NM=${NM}
- fi
-
- # Make sure the build system will use the right tools, bug #340795.
- tc-export AR CC CXX NM
-
- strip-unsupported-flags
- append-ldflags -Wl,--undefined-version # https://bugs.gentoo.org/918897#c32
-
- myconf_gn+=(
- "is_clang=true"
- "clang_use_chrome_plugins=false"
- "use_clang_modules=false" # M141 enables this for the linux platform by default.
- "use_lld=true"
- 'custom_toolchain="//build/toolchain/linux/unbundle:default"'
- # From M127 we need to provide a location for libclang.
- # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
- # rust_bindgen_root = directory with `bin/bindgen` beneath it.
- # We don't need to set 'clang_base_path' for anything in our build
- # and it defaults to the google toolchain location. Instead provide a location
- # to where system clang lives so that bindgen can find system headers (e.g. stddef.h)
- "bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\""
- "clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
- "rust_bindgen_root=\"${EPREFIX}/usr/\""
- "rust_sysroot_absolute=\"$(get_rust_prefix)\""
- "rustc_version=\"${RUST_SLOT}\""
- )
-
- if ! tc-is-cross-compiler; then
- myconf_gn+=( 'host_toolchain="//build/toolchain/linux/unbundle:default"' )
- else
- tc-export BUILD_{AR,CC,CXX,NM}
- myconf_gn+=(
- 'host_toolchain="//build/toolchain/linux/unbundle:host"'
- 'v8_snapshot_toolchain="//build/toolchain/linux/unbundle:host"'
- "host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
- "pkg_config=\"$(tc-getPKG_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=
- fi
-
- fi # !bundled-toolchain
-
- local myarch
- myarch="$(tc-arch)"
- case ${myarch} in
- amd64)
- # Bug 530248, 544702, 546984, 853646.
- use !custom-cflags && filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 \
- -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
- myconf_gn+=( 'target_cpu="x64"' )
- ;;
- arm64)
- myconf_gn+=( 'target_cpu="arm64"' )
- ;;
- ppc64)
- myconf_gn+=( 'target_cpu="ppc64"' )
- ;;
- *)
- die "Failed to determine target arch, got '${myarch}'."
- ;;
- esac
-
- # Common options
-
- myconf_gn+=(
- # Disable code formating of generated files
- "blink_enable_generated_code_formatting=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.
- "dcheck_always_on=$(usex debug true false)"
- "dcheck_is_configurable=$(usex debug true false)"
- # Chromium builds provided by Linux distros should disable the testing config
- "disable_fieldtrial_testing_config=true"
- # Custom patch: Enable building Chromium as individual channels (e.g. stable, beta, dev) that
- # use different profile directories, desktop entries, etc. This enables slotting the ebuild.
- "enable_channel_branding=true"
- # 131 began laying the groundwork for replacing freetype with
- # "Rust-based Fontations set of libraries plus Skia path rendering"
- # We now need to opt-in
- "enable_freetype=true"
- "enable_hangout_services_extension=$(usex hangouts true false)"
- # Don't need nocompile checks and GN crashes with our config (verify with modern GN)
- "enable_nocompile_tests=false"
- # pseudolocales are only used for testing
- "enable_pseudolocales=false"
- "enable_widevine=$(usex widevine true false)"
- # Disable fatal linker warnings, bug 506268.
- "fatal_linker_warnings=false"
- # 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.
- # note: OAuth2 is patched in; check patchset for details.
- 'google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"'
- # Component build isn't generally intended for use by end users. It's mostly useful
- # for development and debugging.
- "is_component_build=false"
- # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
- "is_debug=false"
- "is_official_build=$(usex official true false)"
- # Enable ozone wayland and/or headless support
- "ozone_auto_platforms=false"
- "ozone_platform_headless=true"
- # Enables building without non-free unRAR licence
- "safe_browsing_use_unrar=$(usex rar true false)"
- "thin_lto_enable_optimizations=${use_lto}"
- "treat_warnings_as_errors=false"
- # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi)
- # instead of the system C++ library for C++ standard library support.
- # default: true, but let's be explicit (forced since 120 ; USE removed 127).
- "use_custom_libcxx=true"
- # Enable ozone wayland and/or headless support
- "use_ozone=true"
- # The sysroot is the oldest debian image that chromium supports, we don't need it
- "use_sysroot=false"
- # See dependency logic in third_party/BUILD.gn
- "use_system_harfbuzz=$(usex system-harfbuzz true false)"
- "use_thin_lto=${use_lto}"
- # Only enabled for clang, but gcc has endian macros too
- "v8_use_libm_trig_functions=true"
- )
-
- if use bindist ; then
- myconf_gn+=(
- # If this is set to false Chromium won't be able to load any proprietary codecs
- # even if provided with an ffmpeg capable of h264/aac decoding
- "proprietary_codecs=true"
- 'ffmpeg_branding="Chrome"'
- # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
- "is_component_ffmpeg=true"
- )
- else
- myconf_gn+=(
- "proprietary_codecs=$(usex proprietary-codecs true false)"
- "ffmpeg_branding=\"$(usex proprietary-codecs Chrome Chromium)\""
- )
- fi
-
- if use headless; then
- myconf_gn+=(
- "enable_print_preview=false"
- "enable_remoting=false"
- 'ozone_platform="headless"'
- "rtc_use_pipewire=false"
- "use_alsa=false"
- "use_cups=false"
- "use_gio=false"
- "use_glib=false"
- "use_gtk=false"
- "use_kerberos=false"
- "use_libpci=false"
- "use_pangocairo=false"
- "use_pulseaudio=false"
- "use_qt5=false"
- "use_qt6=false"
- "use_udev=false"
- "use_vaapi=false"
- "use_xkbcommon=false"
- )
- else
- myconf_gn+=(
- "gtk_version=$(usex gtk4 4 3)"
- # link pulseaudio directly (DT_NEEDED) instead of using dlopen.
- # helps with automated detection of ABI mismatches and prevents silent errors.
- "link_pulseaudio=$(usex pulseaudio true false)"
- "ozone_platform_wayland=$(usex wayland true false)"
- "ozone_platform_x11=$(usex X true false)"
- "ozone_platform=\"$(usex wayland wayland x11)\""
- "rtc_use_pipewire=$(usex screencast true false)"
- "use_cups=$(usex cups true false)"
- "use_kerberos=$(usex kerberos true false)"
- "use_pulseaudio=$(usex pulseaudio true false)"
- "use_qt5=false"
- "use_system_libffi=$(usex wayland true false)"
- "use_system_minigbm=true"
- "use_vaapi=$(usex vaapi true false)"
- "use_xkbcommon=true"
- )
- if use qt6; then
- local cbuild_libdir
- cbuild_libdir="$(get_libdir)"
- if tc-is-cross-compiler; then
- # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
- cbuild_libdir="$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)"
- cbuild_libdir="${cbuild_libdir:2}"
- cbuild_libdir="${cbuild_libdir/% }"
- fi
- myconf_gn+=(
- "use_qt6=true"
- "moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
- )
- else
- myconf_gn+=( "use_qt6=false" )
- 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
-
- 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
- if use !ppc64; then
- myconf_gn+=( "is_cfi=${use_lto}" )
- else
- myconf_gn+=( "is_cfi=false" ) # requires llvm-runtimes/compiler-rt-sanitizers[cfi]
- fi
- # 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
- myconf_gn+=( "chrome_pgo_phase=0" )
- fi
-
- # Odds and ends
-
- # skipping typecheck is only supported on amd64, bug #876157
- if ! use amd64; then
- myconf_gn+=( "devtools_skip_typecheck=false" )
- fi
-
- # 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 && use ppc64; then
- myconf_gn+=( "v8_enable_external_code_space=false" )
- fi
-
- # Since we build from tarballs, we need to set the channel here so that it can be used in the build.
- export CHROME_VERSION_EXTRA="${SLOT}"
-
- einfo "Configuring Chromium ..."
- set -- gn gen --args="${myconf_gn[*]}${EXTRA_GN:+ ${EXTRA_GN}}" out/Release
- echo "$@"
- "$@" || die "Failed to configure Chromium"
-}
-
-src_configure() {
- chromium_configure $(usex pgo 1 0)
-}
-
-chromium_compile() {
-
- # Final link uses lots of file descriptors.
- ulimit -n 2048
-
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # Don't inherit PYTHONPATH from environment, bug #789021, #812689
- local -x PYTHONPATH=
-
- # Build mksnapshot and pax-mark it.
- if use pax-kernel; then
- local x
- for x in mksnapshot v8_context_snapshot_generator code_cache_generator; do
- if tc-is-cross-compiler; then
- eninja -C out/Release "host/${x}"
- pax-mark m "out/Release/host/${x}"
- else
- eninja -C out/Release "${x}"
- pax-mark m "out/Release/${x}"
- fi
- done
- fi
-
- # Even though ninja autodetects number of CPUs, we respect
- # user's options, for debugging with -j 1 or any other reason.
- eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests")
-
- pax-mark m out/Release/chrome
-
- # This codepath does minimal patching, so we're at the mercy of upstream
- # CFLAGS. This is fine - we're not intending to force this on users
- # and we do a lot of flag 'management' anyway.
- if use bundled-toolchain; then
- QA_FLAGS_IGNORED="
- usr/lib64/chromium-browser/chrome
- usr/lib64/chromium-browser/chrome-sandbox
- usr/lib64/chromium-browser/chromedriver
- usr/lib64/chromium-browser/chrome_crashpad_handler
- usr/lib64/chromium-browser/libEGL.so
- usr/lib64/chromium-browser/libGLESv2.so
- usr/lib64/chromium-browser/libVkICD_mock_icd.so
- usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
- usr/lib64/chromium-browser/libqt6_shim.so
- usr/lib64/chromium-browser/libvk_swiftshader.so
- usr/lib64/chromium-browser/libvulkan.so.1
- "
- fi
-}
-
-# This function is called from virtx, and must always return so that Xvfb
-# session isn't left running. If we return 1, virtx will call die().
-chromium_profile() {
- einfo "Profiling for PGO"
-
- pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
-
- # Remove old profdata in case profiling was interrupted.
- rm -rf "${1}" || return 1
-
- if ! "${EPYTHON}" ./chromium_profiler.py \
- --chrome-executable "${S}/out/Release/chrome" \
- --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
- --add-arg no-sandbox --add-arg disable-dev-shm-usage \
- --profile-output "${1}"; then
- eerror "Profiling failed"
- return 1
- fi
-
- popd >/dev/null || return 1
-}
-
-src_compile() {
- if use pgo; then
- local profdata
-
- profdata="${WORKDIR}/chromium.profdata"
-
- if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
- chromium_compile
- virtx chromium_profile "$profdata"
-
- touch "${WORKDIR}/.pgo-profiled" || die
- fi
-
- if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
- # Remove phase 1 output
- rm -r out/Release || die
-
- chromium_configure 2 "$profdata"
-
- touch "${WORKDIR}/.pgo-phase-2-configured" || die
- fi
-
- if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
- chromium_compile
- touch "${WORKDIR}/.pgo-phase-2-compiled" || die
- fi
- else
- chromium_compile
- fi
-
- mv out/Release/chromedriver{.unstripped,} || die
-
- rm -f out/Release/locales/*.pak.info || die
-
- # Generate support files (desktop file, manpage, etc.) See: #684550 #706786 #968958
- ${EPYTHON} "${FILESDIR}/generate-support-files.py" \
- --installdir "/usr/$(get_libdir)/chromium-browser" \
- --channel "${SLOT}" ||
- die "Failed to generate support files"
-}
-
-src_test() {
- # Tests may be flaky with usersandbox, and the test runner executes significantly faster without.
- # If you seem to be excluding too many tests for a particular milestone: comment them out, reboot, and
- # run the tests again. If that doesn't help, try FEATURES="-usersandbox" and send it because obviously the
- # chromium gods are not smiling upon you today. Do some runtime testing, obvs.
- local skip_tests=(
- # Wildcard exclusions (if all tests in a test suite are broken)
- 'AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/*'
- 'AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/*'
- 'AlternateTestParams/PartitionAllocTest.*' # 200+ tests, >= 1 crashes entire test runner with usersandbox.
- 'CheckExitCodeAfterSignalHandlerDeathTest.*'
- 'CriticalProcessAndThreadSpotChecks/HangWatcherAnyCriticalThreadTests.*'
- 'PostJobTest.*' # M145 - fixed in 146?
- 'LazyThreadPoolTaskRunnerEnvironmentTest.*' # M142
- 'LazyThreadPoolTaskRunnerTest.*'
- 'SequenceManager*' # Crashes test runner
- 'ToolsSanityTest.BadVirtualCall*'
- # requires en-us locale
- SysStrings.SysNativeMBAndWide
- SysStrings.SysNativeMBToWide
- SysStrings.SysWideToNativeMB
- # Specific test cases
- CancelableEventTest.BothCancelFailureAndSucceedOccurUnderContention
- FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe
- HistogramTesterTest.PumaTestUniqueSample
- PathServiceTest.CheckedGetFailure
- PlatformThreadTest.CanChangeThreadType
- RawPtrTest.SetLookupUsesGetForComparison # M146 ; also broken for alpine in M144.
- RustLogIntegrationTest.CheckAllSeverity
- StackCanary.ChangingStackCanaryCrashesOnReturn
- StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree
- TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest
- ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker
- )
- local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")"
- # test-launcher-bot-mode enables parallelism and plain output
- # Check individual tests with --gtest_filter=<test you want> --single-process-tests
- ./out/Release/base_unittests --test-launcher-bot-mode \
- --test-launcher-jobs="$(makeopts_jobs)" \
- --gtest_filter="${test_filter}" || die "Tests failed!"
-}
-
-src_install() {
- local browser_suffix
- if [[ "${SLOT}" != "stable" ]]; then
- browser_suffix="-${SLOT}"
- else
- browser_suffix=""
- fi
- local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser${browser_suffix}"
- exeinto "${CHROMIUM_HOME}"
- doexe out/Release/chrome
-
- newexe out/Release/chrome_sandbox chrome-sandbox
- fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
-
- doexe out/Release/chromedriver
- doexe out/Release/chrome_crashpad_handler
-
- ozone_auto_session () {
- use X && use wayland && ! use headless && echo true || echo false
- }
-
- cat <<- EOF > "${D}${CHROMIUM_HOME}/chromium-launcher.sh" || die
- #!/bin/bash
- # Wrapper to launch slotted Chromium via the chromium-common launcher script.
- export CHROME_DESKTOP="chromium-browser${browser_suffix}.desktop"
- export CHROME_EXEC_NAME="chromium-browser${browser_suffix}"
- export CHROME_VERSION_EXTRA="${SLOT}"
- export CHROME_WRAPPER="\$(readlink -f "\$0")"
- export OZONE_AUTO_SESSION=$(ozone_auto_session)
-
- exec /usr/libexec/chromium/chromium-launcher.sh "\$@"
- EOF
-
- chmod 755 "${D}${CHROMIUM_HOME}/chromium-launcher.sh" || die
-
- # 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${browser_suffix}
- # keep the old symlink around for consistency
- dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium${browser_suffix}
-
- dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver${browser_suffix}
-
- pushd out/Release/locales > /dev/null || die
- chromium_remove_language_paks
- popd > /dev/null || die
-
- insinto "${CHROMIUM_HOME}"
- doins out/Release/*.bin
- doins out/Release/*.pak
-
- if use bindist; then
- # We built libffmpeg as a component library, but we can't distribute it
- # with proprietary codec support. Remove it and make a symlink to the requested
- # system library.
- rm -f out/Release/libffmpeg.so \
- || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
- # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
- einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
- dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
- /usr/$(get_libdir)/chromium-browser/libffmpeg.so
- fi
-
- (
- shopt -s nullglob
- local files=(out/Release/*.so out/Release/*.so.[0-9])
- [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
- )
-
- # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
- doins out/Release/xdg-{settings,mime}
-
- if ! use system-icu && ! use headless; then
- doins out/Release/icudtl.dat
- fi
-
- doins -r out/Release/locales
- doins -r out/Release/MEIPreload
-
- # Install vk_swiftshader_icd.json; bug #827861
- doins out/Release/vk_swiftshader_icd.json
-
- if [[ -d out/Release/swiftshader ]]; then
- insinto "${CHROMIUM_HOME}/swiftshader"
- doins out/Release/swiftshader/*.so
- fi
-
- # Install icons
- local branding size
- for size in 16 24 32 48 64 128 256 ; do
- case ${size} in
- 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
- *) branding="chrome/app/theme/chromium" ;;
- esac
- newicon -s ${size} "${branding}/product_logo_${size}.png" \
- chromium-browser${browser_suffix}.png
- done
-
- # Install desktop entry
- domenu out/Release/chromium-browser${browser_suffix}.desktop
-
- # Install GNOME default application entry (bug #303100).
- insinto /usr/share/gnome-control-center/default-apps
- doins out/Release/chromium-browser${browser_suffix}.xml
-
- # Install AppStream metadata
- insinto /usr/share/appdata
- doins out/Release/chromium-browser${browser_suffix}.appdata.xml
-
- # Install manpage; bug #684550
- doman out/Release/chromium-browser${browser_suffix}.1
- dosym chromium-browser${browser_suffix}.1 /usr/share/man/man1/chromium${browser_suffix}.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 && [[ -z "${REPLACING_VERSIONS}" ]]; then
- if use vaapi; then
- elog "Hardware-accelerated video decoding configuration:"
- elog
- elog "Chromium supports multiple backends for hardware acceleration. To enable one,"
- elog " Add to CHROMIUM_FLAGS in /etc/chromium/default:"
- elog
- elog "1. VA-API with OpenGL (recommended for most users):"
- elog " --enable-features=AcceleratedVideoDecodeLinuxGL"
- elog " VaapiVideoDecoder may need to be added as well, but try without first."
- elog
- if use wayland; then
- elog "2. Enhanced Wayland/EGL performance:"
- elog " --enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL"
- elog
- fi
- if use X; then
- elog "$(usex wayland "3" "2"). VA-API with Vulkan:"
- elog " --enable-features=VaapiVideoDecoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE"
- elog
- if use wayland; then
- elog " NOTE: Vulkan acceleration requires X11 and will not work under Wayland sessions."
- elog " Use OpenGL-based acceleration instead when running under Wayland."
- elog
- fi
- fi
- elog "Additional options:"
- elog " To enable hardware-accelerated encoding (if supported)"
- elog " add 'AcceleratedVideoEncoder' to your feature list"
- elog " VaapiIgnoreDriverChecks bypasses driver compatibility checks"
- elog " (may be needed for newer/unsupported hardware)"
- elog
- else
- elog "This Chromium build was compiled without VA-API support, which provides"
- elog "hardware-accelerated video decoding."
- 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
-
- if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
- ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd"
- ewarn "indicates that the Gentoo handbook was not followed to completion."
- ewarn ""
- ewarn "Chromium is known to behave unpredictably with this system configuration;"
- ewarn "please complete the configuration of this system before logging any bugs."
- fi
-
- if [[ -n "${REPLACING_VERSIONS}" ]]; then
- local replacing_non_slotted=false
- # there could be more than one PVR
- for version in ${REPLACING_VERSIONS}; do
- if ver_test "${version}" -le "145.0.7632.116"; then
- replacing_non_slotted=true
- break
- fi
- done
- if ${replacing_non_slotted}; then
- ewarn "This version of Chromium has replaced a non-slotted ebuild."
- if [[ ${SLOT} != "stable" ]]; then
- ewarn "This channel has its own profile directory, so your existing profile will not be used."
- ewarn "To use your existing profile, either copy or move it to the new location."
- ewarn "See https://wiki.gentoo.org/wiki/Chromium#Profile_Directories for more information."
- ewarn ""
- fi
- ewarn "Any existing Progressive Web Apps (PWAs) will need to be reinstalled,"
- ewarn "or have the path in the desktop files updated to point to the new wrapper script."
- fi
- fi
-}
diff --git a/www-client/chromium/chromium-146.0.7680.164.ebuild b/www-client/chromium/chromium-146.0.7680.164.ebuild
index a99321ceebcb..e4d78260668b 100644
--- a/www-client/chromium/chromium-146.0.7680.164.ebuild
+++ b/www-client/chromium/chromium-146.0.7680.164.ebuild
@@ -52,8 +52,8 @@ inherit python-any-r1 readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg
DESCRIPTION="Open-source version of Google Chrome web browser"
HOMEPAGE="https://www.chromium.org/"
-PPC64_HASH="6e839bd94774ccf59b4c0db697fcf15c7bc1f22e"
-PATCH_V="${PV%%\.*}-1"
+PPC64_HASH="eeff222874ccb0a1e67d0de18bcc9215eecd2105"
+PATCH_V="${PV%%\.*}-2"
COPIUM_COMMIT="fe1caafa06f27542c18a881348f78e984e2d9fe2"
SRC_URI="https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/${PV}/chromium-${PV}-linux.tar.xz
https://deps.gentoo.zip/www-client/chromium/rollup-wasm-node-${ROLLUP_VER}.tgz
@@ -86,7 +86,7 @@ SLOT="stable"
# Unstable in gentoo exists mostly to give devs some breathing room for beta/stable releases.
# It shouldn't be keyworded but adventurous users are encouraged to select it;
# there's official dev channel Google Chrome after all.
-KEYWORDS="amd64 arm64"
+KEYWORDS="amd64 arm64 ~ppc64"
IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-zstd"
IUSE="+X ${IUSE_SYSTEM_LIBS} bindist bundled-toolchain cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo"
@@ -580,17 +580,14 @@ src_prepare() {
if use ppc64; then
local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches"
# patch causes build errors on 4K page systems (https://bugs.gentoo.org/show_bug.cgi?id=940304)
- local page_size_patch="ppc64le/third_party/use-sysconf-page-size-on-ppc64.patch"
local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch"
- # Apply the OpenPOWER patches (check for page size and isa 3.0)
- openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" |
- grep -v "${isa_3_patch}" || die) )
+ openpower_patches=(
+ $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${isa_3_patch}" |
+ grep -v "upstream" || die) # M146 `upstream` dir dropped but still referenced in series file.
+ )
for patch in "${openpower_patches[@]}"; do
PATCHES+=( "${patchset_dir}/${patch}" )
done
- if [[ $(getconf PAGESIZE) == 65536 ]]; then
- PATCHES+=( "${patchset_dir}/${page_size_patch}" )
- fi
# We use vsx3 as a proxy for 'want isa3.0' (POWER9)
if use cpu_flags_ppc_vsx3 ; then
PATCHES+=( "${patchset_dir}/${isa_3_patch}" )
@@ -611,6 +608,13 @@ src_prepare() {
fi
+ # Do this before we apply patches so that ppc64 can be applied without faffing around.
+ einfo "Moving rollup wasm-node package into place ..."
+ mkdir -p third_party/devtools-frontend/src/node_modules/@rollup/wasm-node ||
+ die "Failed to create node_modules/@rollup/wasm-node"
+ mv "${WORKDIR}"/package/* third_party/devtools-frontend/src/node_modules/@rollup/wasm-node ||
+ die "Failed to move rollup package"
+
default
# Sanity check esbuild version before we start removing files.
@@ -650,14 +654,6 @@ src_prepare() {
fi
done
- # Until we can just symlink in a system rollup, we'll `mv` the wasm version and modify some files.
- # Do this after removing bundled bins in case we decide to strip wasm binaries in the future.
- einfo "Moving rollup wasm-node package into place ..."
- mkdir -p third_party/devtools-frontend/src/node_modules/@rollup/wasm-node ||
- die "Failed to create node_modules/@rollup/wasm-node"
- mv "${WORKDIR}"/package/* third_party/devtools-frontend/src/node_modules/@rollup/wasm-node ||
- die "Failed to move rollup package"
-
# adjust python interpreter version
sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
diff --git a/www-client/chromium/chromium-146.0.7680.80.ebuild b/www-client/chromium/chromium-146.0.7680.80.ebuild
deleted file mode 100644
index a99321ceebcb..000000000000
--- a/www-client/chromium/chromium-146.0.7680.80.ebuild
+++ /dev/null
@@ -1,1744 +0,0 @@
-# Copyright 2009-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# PACKAGING NOTES
-
-# Upstream roll their bundled Clang every two weeks, and the bundled Rust
-# is rolled regularly and depends on that. While we do our best to build
-# with system Clang, we may eventually hit the point where we need to use
-# the bundled Clang due to the use of prerelease features.
-
-# USE=bundled-toolchain is intended for users who want to use the same toolchain
-# as the upstream releases. It's also a good fallback in case we fall behind
-# and need to get a release out quickly (less likely with `dev` in-tree).
-# We can't rely on it as a default since the toolchain is only shipped for x86-64;
-# other architectures will need to use system toolchain.
-
-# Since m133 we are using CI-generated tarballs from
-# https://github.com/chromium-linux-tarballs/chromium-tarballs/
-
-# These are bit-for-bit identical to the official releases, but are built
-# using an external CI system that we have some control over, in case
-# issues pop up again with official tarball generation.
-
-GN_MIN_VER=0.2318
-# chromium-tools/get-chromium-toolchain-strings.py (or just use Chromicler)
-# Node for M145+ should be 24.12.0 but that's not packaged in Gentoo yet. See #969145
-TEST_FONT="a28b222b79851716f8358d2800157d9ffe117b3545031ae51f69b7e1e1b9a969"
-BUNDLED_CLANG_VER="llvmorg-23-init-2224-g5bd8dadb-3"
-BUNDLED_RUST_VER="7d8ebe3128fc87f3da1ad64240e63ccf07b8f0bd-3"
-RUST_SHORT_HASH=${BUNDLED_RUST_VER:0:10}-${BUNDLED_RUST_VER##*-}
-NODE_VER="24.12.0"
-ESBUILD_VER="0.25.1"
-ROLLUP_VER="4.57.1" # currently manual.
-VIRTUALX_REQUIRED="pgo"
-
-CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
- hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
- sv sw ta te th tr uk ur vi zh-CN zh-TW"
-
-LLVM_COMPAT=( 21 )
-PYTHON_COMPAT=( python3_{10..14} )
-PYTHON_REQ_USE="xml(+)"
-RUST_MIN_VER=1.91.0
-RUST_NEEDS_LLVM="yes please"
-RUST_OPTIONAL="yes" # Not actually optional, but we don't need system Rust (or LLVM) with USE=bundled-toolchain
-RUST_REQ_USE="rustfmt" # Upstream run rustfmt on bindgen output, so we need it to be available.
-
-inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils
-inherit python-any-r1 readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="https://www.chromium.org/"
-PPC64_HASH="6e839bd94774ccf59b4c0db697fcf15c7bc1f22e"
-PATCH_V="${PV%%\.*}-1"
-COPIUM_COMMIT="fe1caafa06f27542c18a881348f78e984e2d9fe2"
-SRC_URI="https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/${PV}/chromium-${PV}-linux.tar.xz
- https://deps.gentoo.zip/www-client/chromium/rollup-wasm-node-${ROLLUP_VER}.tgz
- !bundled-toolchain? (
- https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
- https://codeberg.org/selfisekai/copium/archive/${COPIUM_COMMIT}.tar.gz
- -> chromium-patches-copium-${COPIUM_COMMIT:0:10}.tar.gz
- )
- bundled-toolchain? (
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${BUNDLED_CLANG_VER}.tar.xz
- -> chromium-clang-${BUNDLED_CLANG_VER}.tar.xz
- https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${BUNDLED_RUST_VER}-${BUNDLED_CLANG_VER%-*}.tar.xz
- -> chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz
- )
- test? (
- https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz
- )
- ppc64? (
- https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
- )
- pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
-
-# https://gitweb.gentoo.org/proj/chromium-tools.git/tree/get-chromium-licences.py @ 145.0.7632.76
-LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Base64 Boost-1.0 CC-BY-3.0 CC-BY-4.0 Clear-BSD FFT2D FTL"
-LICENSE+=" IJG ISC LGPL-2 LGPL-2.1 MIT MPL-1.1 MPL-2.0 Ms-PL PSF-2 SGI-B-2.0 SSLeay SunSoft Unicode-3.0"
-LICENSE+=" Unicode-DFS-2015 Unlicense UoI-NCSA ZLIB libtiff openssl"
-LICENSE+=" rar? ( unRAR )"
-
-SLOT="stable"
-# Unstable in gentoo exists mostly to give devs some breathing room for beta/stable releases.
-# It shouldn't be keyworded but adventurous users are encouraged to select it;
-# there's official dev channel Google Chrome after all.
-KEYWORDS="amd64 arm64"
-
-IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-zstd"
-IUSE="+X ${IUSE_SYSTEM_LIBS} bindist bundled-toolchain cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo"
-IUSE+=" +proprietary-codecs pulseaudio qt6 +rar +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3"
-RESTRICT="
- !bindist? ( bindist )
- !test? ( test )
- arm64? ( test )" # Tests require CFI, which requires LTO, which is broken on arm64 with LLVM 21.
-
-REQUIRED_USE="
- !headless? ( || ( X wayland ) )
- pgo? ( X !wayland )
- screencast? ( wayland )
- ffmpeg-chromium? ( bindist proprietary-codecs )
-"
-
-COMMON_X_DEPEND="
- x11-libs/libXcomposite:=
- x11-libs/libXcursor:=
- x11-libs/libXdamage:=
- x11-libs/libXfixes:=
- >=x11-libs/libXi-1.6.0:=
- x11-libs/libXrandr:=
- x11-libs/libXrender:=
- x11-libs/libXtst:=
- x11-libs/libxshmfence:=
-"
-
-# sys-libs/zlib: https://bugs.gentoo.org/930365; -ng is not compatible.
-# We _could_ use the bundled minizip, but that's against policy.
-COMMON_SNAPSHOT_DEPEND="
- system-icu? ( >=dev-libs/icu-73.0:= )
- >=dev-libs/libxml2-2.12.4:=[icu]
- dev-libs/nspr:=
- >=dev-libs/nss-3.26:=
- dev-libs/libxslt:=
- media-libs/fontconfig:=
- >=media-libs/freetype-2.11.0-r1:=
- system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
- media-libs/libjpeg-turbo:=
- system-zstd? ( >=app-arch/zstd-1.5.5:= )
- >=media-libs/libwebp-0.4.0:=
- media-libs/mesa:=[gbm(+)]
- >=media-libs/openh264-2.6.0:=
- sys-libs/zlib:=
- !headless? (
- dev-libs/glib:2
- >=media-libs/alsa-lib-1.0.19:=
- pulseaudio? ( media-libs/libpulse:= )
- sys-apps/pciutils:=
- kerberos? ( virtual/krb5 )
- vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
- X? (
- x11-base/xorg-proto:=
- x11-libs/libX11:=
- x11-libs/libxcb:=
- x11-libs/libXext:=
- )
- x11-libs/libxkbcommon:=
- wayland? (
- dev-libs/libffi:=
- dev-libs/wayland:=
- screencast? ( media-video/pipewire:= )
- )
- )
-"
-
-COMMON_DEPEND="
- ${COMMON_SNAPSHOT_DEPEND}
- app-arch/bzip2:=
- dev-libs/expat:=
- net-misc/curl[ssl]
- sys-apps/dbus:=
- media-libs/flac:=
- sys-libs/zlib:=[minizip]
- !headless? (
- >=app-accessibility/at-spi2-core-2.46.0:2
- media-libs/mesa:=[X?,wayland?]
- virtual/udev
- x11-libs/cairo:=
- x11-libs/gdk-pixbuf:2
- x11-libs/pango:=
- cups? ( >=net-print/cups-1.3.11:= )
- qt6? ( dev-qt/qtbase:6[gui,widgets] )
- X? ( ${COMMON_X_DEPEND} )
- )
-"
-RDEPEND="${COMMON_DEPEND}
- !www-client/chromium:0
- >=www-client/chromium-common-2
- !headless? (
- || (
- x11-libs/gtk+:3[X?,wayland?]
- gui-libs/gtk:4[X?,wayland?]
- )
- qt6? ( dev-qt/qtbase:6[X?,wayland?] )
- )
- virtual/ttf-fonts
- selinux? ( sec-policy/selinux-chromium )
- bindist? (
- !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
- ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} )
- )
-"
-DEPEND="${COMMON_DEPEND}
- !headless? (
- gtk4? ( gui-libs/gtk:4[X?,wayland?] )
- !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
- )
-"
-
-BDEPEND="
- ${COMMON_SNAPSHOT_DEPEND}
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- >=app-arch/gzip-1.7
- !headless? (
- qt6? ( dev-qt/qtbase:6 )
- )
- !bundled-toolchain? ( $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}
- llvm-core/llvm:${LLVM_SLOT}
- llvm-core/lld:${LLVM_SLOT}
- official? (
- !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] )
- ) ')
- ${RUST_DEPEND}
- )
- pgo? (
- >=dev-python/selenium-3.141.0
- >=dev-util/web_page_replay_go-20220314
- )
- >=dev-util/bindgen-0.72.1
- >=dev-build/gn-${GN_MIN_VER}
- app-alternatives/ninja
- dev-lang/perl
- >=dev-util/gperf-3.2
- dev-util/esbuild:${ESBUILD_VER}
- dev-vcs/git
- >=net-libs/nodejs-${NODE_VER}[inspector]
- sys-apps/hwdata
- >=sys-devel/bison-2.4.3
- sys-devel/flex
- virtual/pkgconfig
-"
-
-if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
- EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
-fi
-
-DISABLE_AUTOFORMATTING="yes"
-DOC_CONTENTS="
-Some web pages may require additional fonts to display properly.
-Try installing some of the following packages if some characters
-are not displayed properly:
-- media-fonts/arphicfonts
-- media-fonts/droid
-- media-fonts/ipamonafont
-- media-fonts/noto
-- media-fonts/ja-ipafonts
-- media-fonts/takao-fonts
-- media-fonts/wqy-microhei
-- media-fonts/wqy-zenhei
-
-To fix broken icons on the Downloads page, you should install an icon
-theme that covers the appropriate MIME types, and configure this as your
-GTK+ icon theme.
-
-For native file dialogs in KDE, install kde-apps/kdialog.
-
-To make password storage work with your desktop environment you may
-have install one of the supported credentials management applications:
-- app-crypt/libsecret (GNOME)
-- kde-frameworks/kwallet (KDE)
-If you have one of above packages installed, but don't want to use
-them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
-in /etc/chromium/default.
-"
-
-python_check_deps() {
- python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-pre_build_checks() {
- # Check build requirements: bugs #471810, #541816, #914220
- # We're going to start doing maths here on the size of an unpacked source tarball,
- # this should make updates easier as chromium continues to balloon in size.
- # xz -l /var/cache/distfiles/chromium-${PV}*.tar.xz
- local base_disk=9 # Round up
- use test && base_disk=$((base_disk + 5))
- local extra_disk=1 # Always include a little extra space
- local memory=4
- tc-is-cross-compiler && extra_disk=$((extra_disk * 2))
- if tc-is-lto || use pgo; then
- memory=$((memory * 2 + 1))
- tc-is-cross-compiler && extra_disk=$((extra_disk * 2)) # Double the requirements
- use pgo && extra_disk=$((extra_disk + 4))
- fi
- if is-flagq '-g?(gdb)?([1-9])'; then
- if use custom-cflags; then
- extra_disk=$((extra_disk + 5))
- fi
- memory=$((memory * 2))
- fi
- local CHECKREQS_MEMORY="${memory}G"
- local CHECKREQS_DISK_BUILD="$((base_disk + extra_disk))G"
- check-reqs_${EBUILD_PHASE_FUNC}
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
- pre_build_checks
- fi
-
- if use headless; then
- local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt6" "vaapi" "wayland")
- for myiuse in ${headless_unused_flags[@]}; do
- use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set."
- done
- fi
-
- if ! use bindist && use ffmpeg-chromium; then
- ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set."
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
- pre_build_checks
-
- # We haven't massaged any CFLAGS yet, so we want to do this before we force CC/CXX to prevent warnings.
- local want_lto="false"
- tc-is-lto && want_lto="true"
-
- # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
- # We'll set these to clang here then use llvm-utils functions to very explicitly set these
- # to a sane value.
- # This is effectively the 'force-clang' path if GCC support is re-added.
- if use !bundled-toolchain; then
- llvm-r1_pkg_setup
- rust_pkg_setup
-
- # Forcing clang; respect llvm_slot_x to enable selection of impl via LLVM_COMPAT
- AR=llvm-ar
- CPP="${CHOST}-clang++-${LLVM_SLOT} -E"
- NM=llvm-nm
- CC="${CHOST}-clang-${LLVM_SLOT}"
- CXX="${CHOST}-clang++-${LLVM_SLOT}"
- fi
-
- use_lto="false"
- local lto_usable="true"
- if [[ "$want_lto" == "true" ]]; then
- if use arm64 && [[ "${LLVM_SLOT}" -lt 22 ]]; then
- einfo "LTO is broken with LLVM 21 on arm64, ignoring CFLAGS."
- lto_usable="false"
- else
- use_lto="true"
- fi
- # We can rely on GN to do this for us; without this builds
- # take significantly longer with LTO enabled.
- filter-lto
- fi
-
- if [[ "$use_lto" == "false" ]] && use official && [[ "$lto_usable" == "true" ]]; then
- einfo "USE=official selected and LTO not detected."
- einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
- einfo "and to be consistent with the upstream \"official\" build optimisations."
- fi
-
- if [[ "$use_lto" == "false" ]] && use test; then
- die "Tests require CFI which requires LTO"
- fi
-
- export use_lto
-
- # 936858
- if tc-ld-is-mold; then
- eerror "Your toolchain is using the mold linker."
- eerror "This is not supported by Chromium."
- die "Please switch to a different linker."
- fi
-
- if tc-is-cross-compiler; then
- use pgo && die "The pgo USE flag cannot be used when cross-compiling"
- CPP="${CBUILD}-clang++-${LLVM_SLOT} -E"
- fi
-
- # I hate doing this but upstream Rust have yet to come up with a better solution for
- # us poor packagers. Required for Split LTO units, which are required for CFI.
- export RUSTC_BOOTSTRAP=1
-
- # Sanity checks for development convenience
- if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
- die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
- fi
-
- # Sometimes, when adding a new LLVM slot, devs (me) forget to install an appropriate lld.
- local lld_ver=$(ld.lld --version | awk '{split($2,a,"."); print a[1]}' || die "Failed to check lld version")
- if [[ ${lld_ver} -lt ${LLVM_SLOT} ]]; then
- die "Your lld version (${lld_ver}) is too old for the selected LLVM slot (${LLVM_SLOT}). Please install a newer lld or select an older LLVM slot."
- fi
- fi
-
- chromium_suid_sandbox_check_kernel_config
-}
-
-src_unpack() {
- unpack ${P}-linux.tar.xz
- unpack chromium-patches-${PATCH_V}.tar.bz2
- # These should only be required when we're not using the official toolchain
- if use !bundled-toolchain; then
- unpack chromium-patches-copium-${COPIUM_COMMIT:0:10}.tar.gz
- fi
-
- use pgo && unpack chromium-profiler-0.2.tar
-
- if use test; then
- # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location.
- local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts/test_fonts"
- local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz"
- einfo "Unpacking test fonts ..."
- tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts"
- fi
-
- # We need to manually unpack this since M126 else we'd unpack one toolchain over the other.
- # Since we're doing that anyway let's unpack to sensible locations to make symlink creation easier.
- if use bundled-toolchain; then
- einfo "Unpacking bundled Clang ..."
- mkdir -p "${WORKDIR}"/clang || die "Failed to create clang directory"
- tar xf "${DISTDIR}/chromium-clang-${BUNDLED_CLANG_VER}.tar.xz" -C "${WORKDIR}/clang" || die "Failed to unpack Clang"
- einfo "Unpacking bundled Rust ..."
- local rust_dir="${WORKDIR}/rust-toolchain"
- mkdir -p "${rust_dir}" || die "Failed to create rust toolchain directory"
- tar xf "${DISTDIR}/chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz" -C "${rust_dir}" ||
- die "Failed to unpack Rust"
- fi
-
- if use ppc64; then
- unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
- fi
-
- # This is a dirty hack, but we need rollup to build successfully and it's proving to be challenging
- # to build locally due to deps
- unpack rollup-wasm-node-${ROLLUP_VER}.tgz
-}
-
-remove_compiler_builtins() {
- # We can't use the bundled compiler builtins with the system toolchain
- # We used to `grep` then `sed`, but it was indirect. Combining the two into a single
- # `awk` command is more efficient and lets us document the logic more clearly.
-
- local pattern=' configs += [ "//build/config/clang:compiler_builtins" ]'
- local target='build/config/compiler/BUILD.gn'
-
- local tmpfile
- tmpfile=$(mktemp) || die "Failed to create temporary file."
-
- if awk -v pat="${pattern}" '
- BEGIN {
- match_found = 0
- }
-
- # If the delete countdown is active, decrement it and skip to the next line.
- d > 0 { d--; next }
-
- # If the current line matches the pattern...
- $0 == pat {
- match_found = 1 # ...set our flag to true.
- d = 2 # Set delete counter for this line and the next two.
- prev = "" # Clear the buffered previous line so it is not printed.
- next
- }
-
- # For any other line, print the buffered previous line.
- NR > 1 { print prev }
-
- # Buffer the current line to be printed on the next cycle.
- { prev = $0 }
-
- END {
- # Print the last line if it was not part of a deleted block.
- if (d == 0) { print prev }
-
- # If the pattern was never found, exit with a failure code.
- if (match_found == 0) {
- exit 1
- }
- }
- ' "${target}" > "${tmpfile}"; then
- # AWK SUCCEEDED (exit code 0): The pattern was found and edited.
- # This is to avoid gawk's `-i inplace` option which users complain about.
- mv "${tmpfile}" "${target}"
- else
- # AWK FAILED (exit code 1): The pattern was not found.
- rm -f "${tmpfile}"
- die "Awk patch failed: Pattern not found in ${target}."
- fi
-}
-
-src_prepare() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # We'll fill this in as we go. Patches go in chromium-patches.
- local PATCHES=()
-
- PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}/common/" )
-
- # https://issues.chromium.org/issues/442698344
- # Unreleased fontconfig changed magic numbers and google have rolled to this version
- if has_version "<=media-libs/fontconfig-2.17.1"; then
- PATCHES+=( "${FILESDIR}/chromium-142-work-with-old-fontconfig.patch" )
- fi
-
- if use bundled-toolchain; then
- # We need to symlink the toolchain into the expected location
- einfo "Symlinking Clang toolchain to expected location ..."
- mkdir -p third_party/llvm-build/ || die "Failed to create llvm-build directory"
- # the 'Chromium Linux Tarballs' seem to already have 'Release+Asserts/{lib,bin}'; not sure if this is an
- # upstream change - we're using the same scripts to build, theoretically. We'll still attempt to create
- # llvm-build, but we'll rm Release+Asserts and symlink directly.
- if [[ -d third_party/llvm-build/Release+Asserts ]]; then
- rm -r third_party/llvm-build/Release+Asserts || die "Failed to remove third_party/llvm-build/Release+Asserts"
- fi
- ln -s "${WORKDIR}"/clang third_party/llvm-build/Release+Asserts || die "Failed to bundle Clang"
- einfo "Symlinking Rust toolchain to expected location ..."
- # As above, so below
- if [[ -d third_party/rust-toolchain ]]; then
- rm -r third_party/rust-toolchain || die "Failed to remove third_party/rust-toolchain"
- fi
- ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust"
- cp "${WORKDIR}"/rust-toolchain/VERSION \
- "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version"
- else
- # We don't need our toolchain patches if we're using the official toolchain
-
- # Copium patches go here.
- PATCHES+=(
- "${WORKDIR}/copium/cr143-libsync-__BEGIN_DECLS.patch"
- )
-
- # Automate conditional application of chromium-patches
- # The directory structure is expected to be something like:
- # chromium-patches-145/
- # ├── toolchain/
- # │ ├── cr123-foo.patch
- # │ └── cr135-bar.patch
- # ├── llvm/
- # │ ├── cr144-baz.patch
- # │ └── lt-23/
- # │ └── cr145-bleeding-edge-llvm-feature.patch
- # Where `lt-23` means "apply this patch if the LLVM version is less than 23".
- # Only categories in `slot_map` will be checked for version constraints.
- shopt -s nullglob
- local -A slot_map=( [llvm]="${LLVM_SLOT}" [rust]="${RUST_SLOT}" )
-
- for category in "${WORKDIR}/chromium-patches-${PATCH_V}"/*/; do
- local category_name="${category%/}"
- category_name="${category_name##*/}"
-
- # Skip arch-specific categories
- if [[ "${category_name}" == "ppc64le" ]]; then
- use ppc64 || continue
- fi
-
- # We applied common patches above, no need to apply them again here
- [[ "${category_name}" == "common" ]] && continue
-
- # Unconditional patches for this category
- PATCHES+=( "${category}"*.patch )
-
- # Version-constrained subdirectories (e.g., llvm/lt-23/)
- for constraint_dir in "${category}"*/; do
- local dir_name="${constraint_dir%/}"
- dir_name="${dir_name##*/}"
- if [[ "${dir_name}" =~ ^lt-(.*)$ && -v slot_map[${category_name}] ]]; then
- ver_test "${slot_map[${category_name}]}" -lt "${BASH_REMATCH[1]}" &&
- PATCHES+=( "${constraint_dir}"*.patch )
- fi
- done
- done
-
- shopt -u nullglob
-
- # Strictly speaking this doesn't need to be gated (no bundled toolchain for ppc64); it keeps the logic together
- if use ppc64; then
- local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches"
- # patch causes build errors on 4K page systems (https://bugs.gentoo.org/show_bug.cgi?id=940304)
- local page_size_patch="ppc64le/third_party/use-sysconf-page-size-on-ppc64.patch"
- local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch"
- # Apply the OpenPOWER patches (check for page size and isa 3.0)
- openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" |
- grep -v "${isa_3_patch}" || die) )
- for patch in "${openpower_patches[@]}"; do
- PATCHES+=( "${patchset_dir}/${patch}" )
- done
- if [[ $(getconf PAGESIZE) == 65536 ]]; then
- PATCHES+=( "${patchset_dir}/${page_size_patch}" )
- fi
- # We use vsx3 as a proxy for 'want isa3.0' (POWER9)
- if use cpu_flags_ppc_vsx3 ; then
- PATCHES+=( "${patchset_dir}/${isa_3_patch}" )
- fi
- fi
-
- remove_compiler_builtins
-
- # We can't rely on the eselect'd Rust to actually include rustfmt, so we'll point to the selected slot specifically.
- local suffix=""
- if [[ "${RUST_TYPE}" == "binary" ]]; then
- suffix="-bin-${RUST_SLOT}"
- else
- suffix="-${RUST_SLOT}"
- fi
- sed -i "s|/bin/rustfmt|/bin/rustfmt${suffix}|g" build/rust/rust_bindgen_generator.gni ||
- die "Failed to update rustfmt path"
-
- fi
-
- default
-
- # Sanity check esbuild version before we start removing files.
- # We _could_ patch the version check out - in theory esbuild upstream are being super conservative after
- # arch(AUR) packaged an `esbuild` binary and set ESBUILD_BINARY_PATH=/usr/bin/esbuild, causing much breakage,
- # but this is fine too and exactly matches what upstream are expecting.
- # https://github.com/evanw/esbuild/issues/2894
- local esbuild_js="${S}/third_party/devtools-frontend/src/node_modules/esbuild/lib/main.js"
- local found
- found=$(awk -F'"' '/if \(binaryVersion !==/ {print $2}' "${esbuild_js}")
- if [[ "${found}" != "${ESBUILD_VER}" ]]; then
- die "esbuild version mismatch: expected ${ESBUILD_VER}, found ${found}"
- fi
-
- elog "Removing bundled binaries from source tree ..."
- # Purge bundled ELF files: These are non-portable and will cause issues if used instead of system versions.
- # Use `--wasm` to also remove WebAssembly binaries, if desired - they're portable so shouldn't break builds.
- ${EPYTHON} "${FILESDIR}/bin-finder.py" --elf "${S}" | awk '{print $1}' | xargs rm -f ||
- die "Failed to remove bundled binaries"
-
- # And now we restore any that we actually need, from the host system
- local esbuild_path="${S}/third_party/devtools-frontend/src/third_party/esbuild"
- local -A restore_list=(
- ["/usr/bin/esbuild-${ESBUILD_VER}"]="${esbuild_path}/esbuild"
- ["/usr/bin/node"]="${S}/third_party/node/linux/node-linux-x64/bin/node"
- )
-
- for src in "${!restore_list[@]}"; do
- dst="${restore_list[${src}]}"
- if [[ -f "${src}" ]]; then
- einfo "Symlinking ${src} ..."
- # Make sure the parent dir exists; some tarballs don't include (e.g.) node's bindir
- mkdir -p "$(dirname "${dst}")" || die "Failed to create directory for ${dst}"
- ln -s "${src}" "${dst}" || die "Failed to symlink ${dst} from ${src}"
- else
- die "Expected to find ${src} to restore ${dst}, but it does not exist."
- fi
- done
-
- # Until we can just symlink in a system rollup, we'll `mv` the wasm version and modify some files.
- # Do this after removing bundled bins in case we decide to strip wasm binaries in the future.
- einfo "Moving rollup wasm-node package into place ..."
- mkdir -p third_party/devtools-frontend/src/node_modules/@rollup/wasm-node ||
- die "Failed to create node_modules/@rollup/wasm-node"
- mv "${WORKDIR}"/package/* third_party/devtools-frontend/src/node_modules/@rollup/wasm-node ||
- die "Failed to move rollup package"
-
- # adjust python interpreter version
- sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
-
- # Use the system copy of hwdata's usb.ids; upstream is woefully out of date (2015!)
- sed 's|//third_party/usb_ids/usb.ids|/usr/share/hwdata/usb.ids|g' \
- -i services/device/public/cpp/usb/BUILD.gn || die "Failed to set system usb.ids path"
-
- # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party'
- # whitelist matches use the right-most matching path component, so we need to whitelist from that point down.
- local keeplibs=(
- base/third_party/cityhash
- base/third_party/double_conversion
- base/third_party/icu
- base/third_party/nspr
- base/third_party/superfasthash
- base/third_party/symbolize
- base/third_party/xdg_user_dirs
- buildtools/third_party/libc++
- buildtools/third_party/libc++abi
- net/third_party/mozilla_security_manager
- net/third_party/quic
- net/third_party/uri_template
- third_party/abseil-cpp
- third_party/angle
- third_party/angle/src/common/third_party/xxhash
- third_party/angle/src/third_party/ceval
- third_party/angle/src/third_party/libXNVCtrl
- third_party/angle/src/third_party/volk
- third_party/anonymous_tokens
- third_party/apple_apsl
- third_party/axe-core
- third_party/bidimapper
- third_party/blink
- third_party/boringssl
- third_party/boringssl/src/third_party/fiat
- third_party/breakpad
- third_party/breakpad/breakpad/src/third_party/curl
- third_party/brotli
- third_party/catapult
- third_party/catapult/common/py_vulcanize/third_party/rcssmin
- third_party/catapult/common/py_vulcanize/third_party/rjsmin
- third_party/catapult/third_party/beautifulsoup4-4.9.3
- third_party/catapult/third_party/html5lib-1.1
- third_party/catapult/third_party/polymer
- third_party/catapult/third_party/six
- third_party/catapult/third_party/typ
- 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/compiler-rt # Since M137 atomic is required; we could probably unbundle this as a target of opportunity.
- third_party/content_analysis_sdk
- third_party/cpuinfo
- third_party/crabbyavif
- third_party/crashpad
- third_party/crashpad/crashpad/third_party/lss
- third_party/crashpad/crashpad/third_party/zlib
- third_party/crc32c
- third_party/cros_system_api
- third_party/d3
- third_party/dav1d
- third_party/dawn
- third_party/dawn/third_party/gn/webgpu-cts
- third_party/dawn/third_party/khronos
- third_party/dawn/third_party/renderdoc
- third_party/dawn/third_party/webgpu-headers
- third_party/depot_tools
- third_party/devscripts
- third_party/devtools-frontend
- third_party/devtools-frontend/src/front_end/third_party/acorn
- third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
- third_party/devtools-frontend/src/front_end/third_party/axe-core
- third_party/devtools-frontend/src/front_end/third_party/chromium
- third_party/devtools-frontend/src/front_end/third_party/codemirror
- third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
- third_party/devtools-frontend/src/front_end/third_party/diff
- third_party/devtools-frontend/src/front_end/third_party/i18n
- third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
- third_party/devtools-frontend/src/front_end/third_party/json5
- third_party/devtools-frontend/src/front_end/third_party/legacy-javascript
- third_party/devtools-frontend/src/front_end/third_party/lighthouse
- third_party/devtools-frontend/src/front_end/third_party/lit
- third_party/devtools-frontend/src/front_end/third_party/marked
- third_party/devtools-frontend/src/front_end/third_party/puppeteer
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js
- third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
- third_party/devtools-frontend/src/front_end/third_party/source-map-scopes-codec
- third_party/devtools-frontend/src/front_end/third_party/third-party-web
- third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
- third_party/devtools-frontend/src/front_end/third_party/wasmparser
- third_party/devtools-frontend/src/front_end/third_party/web-vitals
- third_party/devtools-frontend/src/third_party
- third_party/dom_distiller_js
- third_party/dragonbox
- third_party/eigen3
- third_party/emoji-segmenter
- third_party/farmhash
- third_party/fast_float
- third_party/fdlibm
- third_party/federated_compute/chromium/fcp/confidentialcompute
- third_party/federated_compute/src/fcp/base
- third_party/federated_compute/src/fcp/confidentialcompute
- third_party/federated_compute/src/fcp/protos/confidentialcompute
- third_party/federated_compute/src/fcp/protos/federatedcompute
- third_party/ffmpeg
- third_party/fft2d
- third_party/flatbuffers
- third_party/fp16
- third_party/freetype
- third_party/fusejs
- third_party/fxdiv
- third_party/gemmlowp
- third_party/google_input_tools
- third_party/google_input_tools/third_party/closure_library
- third_party/google_input_tools/third_party/closure_library/third_party/closure
- third_party/googletest
- third_party/highway
- third_party/hunspell
- third_party/ink_stroke_modeler/src/ink_stroke_modeler
- third_party/ink_stroke_modeler/src/ink_stroke_modeler/internal
- third_party/ink/src/ink/brush
- third_party/ink/src/ink/color
- third_party/ink/src/ink/geometry
- third_party/ink/src/ink/rendering
- third_party/ink/src/ink/rendering/skia/common_internal
- third_party/ink/src/ink/rendering/skia/native
- third_party/ink/src/ink/rendering/skia/native/internal
- third_party/ink/src/ink/strokes
- third_party/ink/src/ink/types
- third_party/inspector_protocol
- third_party/ipcz
- third_party/jinja2
- third_party/jsoncpp
- third_party/khronos
- third_party/lens_server_proto
- third_party/leveldatabase
- third_party/libaddressinput
- third_party/libaom
- third_party/libaom/source/libaom/third_party/fastfeat
- third_party/libaom/source/libaom/third_party/SVT-AV1
- third_party/libaom/source/libaom/third_party/vector
- third_party/libaom/source/libaom/third_party/x86inc
- third_party/libc++
- third_party/libdrm
- third_party/libgav1
- third_party/libjingle
- third_party/libpfm4
- third_party/libphonenumber
- third_party/libpng
- third_party/libsecret
- third_party/libsrtp
- third_party/libsync
- third_party/libtess2/libtess2
- third_party/libtess2/src/Include
- third_party/libtess2/src/Source
- third_party/liburlpattern
- third_party/libva_protected_content
- third_party/libvpx
- third_party/libvpx/source/libvpx/third_party/x86inc
- third_party/libwebm
- third_party/libx11
- third_party/libxcb-keysyms
- third_party/libxml/chromium
- third_party/libyuv
- third_party/libzip
- third_party/lit
- third_party/llvm-libc
- third_party/llvm-libc/src/shared/
- third_party/lottie
- third_party/lss
- third_party/lzma_sdk
- third_party/mako
- third_party/markupsafe
- third_party/material_color_utilities
- third_party/metrics_proto
- third_party/minigbm
- third_party/ml_dtypes
- third_party/modp_b64
- third_party/nasm
- third_party/nearby
- third_party/neon_2_sse
- third_party/node
- third_party/oak/chromium/proto
- third_party/oak/chromium/proto/attestation
- third_party/omnibox_proto
- third_party/one_euro_filter
- third_party/openscreen
- third_party/openscreen/src/third_party/
- third_party/openscreen/src/third_party/tinycbor/src/src
- third_party/opus
- third_party/ots
- third_party/pdfium
- third_party/pdfium/third_party/agg23
- third_party/pdfium/third_party/bigint
- third_party/pdfium/third_party/freetype
- third_party/pdfium/third_party/lcms
- third_party/pdfium/third_party/libopenjpeg
- third_party/pdfium/third_party/libtiff
- third_party/perfetto
- third_party/perfetto/protos/third_party/chromium
- third_party/perfetto/protos/third_party/pprof
- third_party/perfetto/protos/third_party/simpleperf
- third_party/pffft
- third_party/ply
- third_party/polymer
- third_party/private_membership
- third_party/private-join-and-compute
- third_party/protobuf
- third_party/protobuf/third_party/utf8_range
- third_party/pthreadpool
- third_party/puffin
- third_party/pyjson5
- third_party/pyyaml
- third_party/rapidhash
- third_party/re2
- third_party/readability
- third_party/rnnoise
- third_party/rust
- third_party/ruy
- third_party/s2cellid
- third_party/search_engines_data
- third_party/securemessage
- third_party/selenium-atoms
- third_party/sentencepiece
- third_party/sentencepiece/src/third_party/darts_clone
- third_party/shell-encryption
- third_party/simdutf
- third_party/simplejson
- third_party/six
- third_party/skia
- third_party/skia/include/third_party/vulkan
- third_party/smhasher
- third_party/snappy
- third_party/spirv-headers
- third_party/spirv-tools
- third_party/sqlite
- third_party/swiftshader
- third_party/swiftshader/third_party/astc-encoder
- third_party/swiftshader/third_party/llvm-subzero
- third_party/swiftshader/third_party/marl
- third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
- third_party/swiftshader/third_party/SPIRV-Tools
- third_party/swiftshader/third_party/subzero
- third_party/tensorflow_models
- third_party/tensorflow-text
- third_party/tflite
- third_party/tflite/src/third_party/fft2d
- third_party/tflite/src/third_party/xla/third_party/tsl
- third_party/tflite/src/third_party/xla/xla/tsl/framework
- third_party/tflite/src/third_party/xla/xla/tsl/lib/random
- third_party/tflite/src/third_party/xla/xla/tsl/platform
- third_party/tflite/src/third_party/xla/xla/tsl/protobuf
- third_party/tflite/src/third_party/xla/xla/tsl/util
- third_party/ukey2
- third_party/utf
- third_party/vulkan
- third_party/wayland
- third_party/webdriver
- third_party/webgpu-cts
- third_party/webrtc
- third_party/webrtc/common_audio/third_party/ooura
- third_party/webrtc/common_audio/third_party/spl_sqrt_floor
- third_party/webrtc/modules/third_party/fft
- third_party/webrtc/modules/third_party/g711
- third_party/webrtc/modules/third_party/g722
- third_party/widevine
- third_party/woff2
- third_party/wuffs
- third_party/x11proto
- third_party/xcbproto
- third_party/xnnpack
- third_party/zlib/google
- third_party/zxcvbn-cpp
- url/third_party/mozilla
- v8/third_party/glibc
- v8/third_party/inspector_protocol
- v8/third_party/rapidhash-v8
- v8/third_party/siphash
- v8/third_party/utf8-decoder
- v8/third_party/v8
- v8/third_party/valgrind
-
- # gyp -> gn leftovers
- third_party/speech-dispatcher
- third_party/usb_ids
- third_party/xdg-utils
- )
-
- if use rar; then
- keeplibs+=( third_party/unrar )
- fi
-
- if use test; then
- keeplibs+=(
- third_party/breakpad/breakpad/src/processor
- third_party/fuzztest
- third_party/google_benchmark/src/include/benchmark
- third_party/google_benchmark/src/src
- third_party/test_fonts
- third_party/test_fonts/fontconfig
- third_party/test_fonts/test_fonts
- )
- fi
-
- # USE=system-*
- if ! use system-harfbuzz; then
- keeplibs+=( third_party/harfbuzz-ng )
- fi
-
- if ! use system-icu; then
- keeplibs+=( third_party/icu )
- fi
-
- if ! use system-zstd; then
- keeplibs+=( third_party/zstd )
- fi
-
- # Arch-specific
- if use arm64 || use ppc64 ; then
- keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
- fi
- # we need to generate ppc64 stuff because upstream does not ship it yet
- # it has to be done before unbundling.
- if use ppc64; then
- pushd third_party/libvpx >/dev/null || die
- mkdir -p source/config/linux/ppc64 || die
- # requires git and clang, bug #832803
- # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
- # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
- # since we're not in a git repo
- sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
- generate_gni.sh || die
- ./generate_gni.sh || die
- popd >/dev/null || die
-
- pushd third_party/ffmpeg >/dev/null || die
- cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
- cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
- popd >/dev/null || die
- fi
-
- # Sanity check keeplibs, on major version bumps it is often necessary to update this list
- # and this enables us to hit them all at once.
- # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd)
- whitelist_libs=(
- net/third_party/quic
- third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
- third_party/libjingle
- third_party/mesa
- third_party/skia/third_party/vulkan
- third_party/vulkan
- )
- local not_found_libs=()
- for lib in "${keeplibs[@]}"; do
- if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then
- not_found_libs+=( "${lib}" )
- fi
- done
-
- if [[ ${#not_found_libs[@]} -gt 0 ]]; then
- eerror "The following \`keeplibs\` directories were not found in the source tree:"
- for lib in "${not_found_libs[@]}"; do
- eerror " ${lib}"
- done
- die "Please update the ebuild."
- fi
-
- # Remove most bundled libraries. Some are still needed.
- einfo "Unbundling third-party libraries ..."
- build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
-
- # Interferes with our bundled clang path; we don't want stripped binaries anyway.
- sed -i -e 's|${clang_base_path}/bin/llvm-strip|/bin/true|g' \
- -e 's|${clang_base_path}/bin/llvm-objcopy|/bin/true|g' \
- build/linux/strip_binary.gni || die
-}
-
-chromium_configure() {
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # Bug 491582.
- export TMPDIR="${WORKDIR}/temp"
- mkdir -p -m 755 "${TMPDIR}" || die
-
- # https://bugs.gentoo.org/654216
- addpredict /dev/dri/ #nowarn
-
- # 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
- libjpeg
- libwebp
- libxml
- libxslt
- openh264
- zlib
- )
- if use system-icu; then
- gn_system_libraries+=( icu )
- fi
-
- if use system-zstd; then
- gn_system_libraries+=( zstd )
- fi
-
- build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" ||
- die "Failed to replace GN files for system libraries"
-
- # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file
- # drop the last line, then append the freetype line and a new curly brace to end the block
- local freetype_gni="build/config/freetype/freetype.gni"
- sed -i -e '$d' ${freetype_gni} || die
- echo " enable_freetype = true" >> ${freetype_gni} || die
- echo "}" >> ${freetype_gni} || die
-
- if use !custom-cflags; then
- replace-flags "-Os" "-O2"
- strip-flags
- # Debug info section overflows without component build
- # Prevent linker from running out of address space, bug #471810 .
- filter-flags "-g*"
- # 949123: Several multimedia components explicitly build with specific CFLAGS and
- # use runtime detection to enable optimisations; unfortunately any of our CFLAGS are suffixed
- # to the end of the command line, which causes build failures.
- use arm64 && filter-flags "-march*" "-mtune*" "-mcpu*"
- fi
-
- # We don't use the same clang version as upstream, and with -Werror
- # we need to make sure that we don't get superfluous warnings.
- append-flags -Wno-unknown-warning-option
- if tc-is-cross-compiler; then # can you cross-compile with the bundled toolchain?
- export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
- export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
- fi
-
- # Start building our GN options
- local myconf_gn=() # Tip: strings must be quoted, bools or numbers are fine
-
- if use !bundled-toolchain; then
- # We already forced the "correct" clang via pkg_setup
-
- if tc-is-cross-compiler; then
- CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
- CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
- BUILD_AR=${AR}
- BUILD_CC=${CC}
- BUILD_CXX=${CXX}
- BUILD_NM=${NM}
- fi
-
- # Make sure the build system will use the right tools, bug #340795.
- tc-export AR CC CXX NM
-
- strip-unsupported-flags
- append-ldflags -Wl,--undefined-version # https://bugs.gentoo.org/918897#c32
-
- myconf_gn+=(
- "is_clang=true"
- "clang_use_chrome_plugins=false"
- "use_clang_modules=false" # M141 enables this for the linux platform by default.
- "use_lld=true"
- 'custom_toolchain="//build/toolchain/linux/unbundle:default"'
- # From M127 we need to provide a location for libclang.
- # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
- # rust_bindgen_root = directory with `bin/bindgen` beneath it.
- # We don't need to set 'clang_base_path' for anything in our build
- # and it defaults to the google toolchain location. Instead provide a location
- # to where system clang lives so that bindgen can find system headers (e.g. stddef.h)
- "bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\""
- "clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
- "rust_bindgen_root=\"${EPREFIX}/usr/\""
- "rust_sysroot_absolute=\"$(get_rust_prefix)\""
- "rustc_version=\"${RUST_SLOT}\""
- )
-
- if ! tc-is-cross-compiler; then
- myconf_gn+=( 'host_toolchain="//build/toolchain/linux/unbundle:default"' )
- else
- tc-export BUILD_{AR,CC,CXX,NM}
- myconf_gn+=(
- 'host_toolchain="//build/toolchain/linux/unbundle:host"'
- 'v8_snapshot_toolchain="//build/toolchain/linux/unbundle:host"'
- "host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
- "pkg_config=\"$(tc-getPKG_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=
- fi
-
- fi # !bundled-toolchain
-
- local myarch
- myarch="$(tc-arch)"
- case ${myarch} in
- amd64)
- # Bug 530248, 544702, 546984, 853646.
- use !custom-cflags && filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 \
- -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
- myconf_gn+=( 'target_cpu="x64"' )
- ;;
- arm64)
- myconf_gn+=( 'target_cpu="arm64"' )
- ;;
- ppc64)
- myconf_gn+=( 'target_cpu="ppc64"' )
- ;;
- *)
- die "Failed to determine target arch, got '${myarch}'."
- ;;
- esac
-
- # Common options
-
- myconf_gn+=(
- # Disable code formating of generated files
- "blink_enable_generated_code_formatting=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.
- "dcheck_always_on=$(usex debug true false)"
- "dcheck_is_configurable=$(usex debug true false)"
- # Chromium builds provided by Linux distros should disable the testing config
- "disable_fieldtrial_testing_config=true"
- # Custom patch: Enable building Chromium as individual channels (e.g. stable, beta, dev) that
- # use different profile directories, desktop entries, etc. This enables slotting the ebuild.
- "enable_channel_branding=true"
- # 131 began laying the groundwork for replacing freetype with
- # "Rust-based Fontations set of libraries plus Skia path rendering"
- # We now need to opt-in
- "enable_freetype=true"
- "enable_hangout_services_extension=$(usex hangouts true false)"
- # Don't need nocompile checks and GN crashes with our config (verify with modern GN)
- "enable_nocompile_tests=false"
- # pseudolocales are only used for testing
- "enable_pseudolocales=false"
- "enable_widevine=$(usex widevine true false)"
- # Disable fatal linker warnings, bug 506268.
- "fatal_linker_warnings=false"
- # 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.
- # note: OAuth2 is patched in; check patchset for details.
- 'google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"'
- # Component build isn't generally intended for use by end users. It's mostly useful
- # for development and debugging.
- "is_component_build=false"
- # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
- "is_debug=false"
- "is_official_build=$(usex official true false)"
- # Enable ozone wayland and/or headless support
- "ozone_auto_platforms=false"
- "ozone_platform_headless=true"
- # Enables building without non-free unRAR licence
- "safe_browsing_use_unrar=$(usex rar true false)"
- "thin_lto_enable_optimizations=${use_lto}"
- "treat_warnings_as_errors=false"
- # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi)
- # instead of the system C++ library for C++ standard library support.
- # default: true, but let's be explicit (forced since 120 ; USE removed 127).
- "use_custom_libcxx=true"
- # Enable ozone wayland and/or headless support
- "use_ozone=true"
- # The sysroot is the oldest debian image that chromium supports, we don't need it
- "use_sysroot=false"
- # See dependency logic in third_party/BUILD.gn
- "use_system_harfbuzz=$(usex system-harfbuzz true false)"
- "use_thin_lto=${use_lto}"
- # Only enabled for clang, but gcc has endian macros too
- "v8_use_libm_trig_functions=true"
- )
-
- if use bindist ; then
- myconf_gn+=(
- # If this is set to false Chromium won't be able to load any proprietary codecs
- # even if provided with an ffmpeg capable of h264/aac decoding
- "proprietary_codecs=true"
- 'ffmpeg_branding="Chrome"'
- # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
- "is_component_ffmpeg=true"
- )
- else
- myconf_gn+=(
- "proprietary_codecs=$(usex proprietary-codecs true false)"
- "ffmpeg_branding=\"$(usex proprietary-codecs Chrome Chromium)\""
- )
- fi
-
- if use headless; then
- myconf_gn+=(
- "enable_print_preview=false"
- "enable_remoting=false"
- 'ozone_platform="headless"'
- "rtc_use_pipewire=false"
- "use_alsa=false"
- "use_cups=false"
- "use_gio=false"
- "use_glib=false"
- "use_gtk=false"
- "use_kerberos=false"
- "use_libpci=false"
- "use_pangocairo=false"
- "use_pulseaudio=false"
- "use_qt5=false"
- "use_qt6=false"
- "use_udev=false"
- "use_vaapi=false"
- "use_xkbcommon=false"
- )
- else
- myconf_gn+=(
- "gtk_version=$(usex gtk4 4 3)"
- # link pulseaudio directly (DT_NEEDED) instead of using dlopen.
- # helps with automated detection of ABI mismatches and prevents silent errors.
- "link_pulseaudio=$(usex pulseaudio true false)"
- "ozone_platform_wayland=$(usex wayland true false)"
- "ozone_platform_x11=$(usex X true false)"
- "ozone_platform=\"$(usex wayland wayland x11)\""
- "rtc_use_pipewire=$(usex screencast true false)"
- "use_cups=$(usex cups true false)"
- "use_kerberos=$(usex kerberos true false)"
- "use_pulseaudio=$(usex pulseaudio true false)"
- "use_qt5=false"
- "use_system_libffi=$(usex wayland true false)"
- "use_system_minigbm=true"
- "use_vaapi=$(usex vaapi true false)"
- "use_xkbcommon=true"
- )
- if use qt6; then
- local cbuild_libdir
- cbuild_libdir="$(get_libdir)"
- if tc-is-cross-compiler; then
- # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
- cbuild_libdir="$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)"
- cbuild_libdir="${cbuild_libdir:2}"
- cbuild_libdir="${cbuild_libdir/% }"
- fi
- myconf_gn+=(
- "use_qt6=true"
- "moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
- )
- else
- myconf_gn+=( "use_qt6=false" )
- 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
-
- 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
- if use !ppc64; then
- myconf_gn+=( "is_cfi=${use_lto}" )
- else
- myconf_gn+=( "is_cfi=false" ) # requires llvm-runtimes/compiler-rt-sanitizers[cfi]
- fi
- # 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
- myconf_gn+=( "chrome_pgo_phase=0" )
- fi
-
- # Odds and ends
-
- # skipping typecheck is only supported on amd64, bug #876157
- if ! use amd64; then
- myconf_gn+=( "devtools_skip_typecheck=false" )
- fi
-
- # 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 && use ppc64; then
- myconf_gn+=( "v8_enable_external_code_space=false" )
- fi
-
- # Since we build from tarballs, we need to set the channel here so that it can be used in the build.
- export CHROME_VERSION_EXTRA="${SLOT}"
-
- einfo "Configuring Chromium ..."
- set -- gn gen --args="${myconf_gn[*]}${EXTRA_GN:+ ${EXTRA_GN}}" out/Release
- echo "$@"
- "$@" || die "Failed to configure Chromium"
-}
-
-src_configure() {
- chromium_configure $(usex pgo 1 0)
-}
-
-chromium_compile() {
-
- # Final link uses lots of file descriptors.
- ulimit -n 2048
-
- # Calling this here supports resumption via FEATURES=keepwork
- python_setup
-
- # Don't inherit PYTHONPATH from environment, bug #789021, #812689
- local -x PYTHONPATH=
-
- # Build mksnapshot and pax-mark it.
- if use pax-kernel; then
- local x
- for x in mksnapshot v8_context_snapshot_generator code_cache_generator; do
- if tc-is-cross-compiler; then
- eninja -C out/Release "host/${x}"
- pax-mark m "out/Release/host/${x}"
- else
- eninja -C out/Release "${x}"
- pax-mark m "out/Release/${x}"
- fi
- done
- fi
-
- # Even though ninja autodetects number of CPUs, we respect
- # user's options, for debugging with -j 1 or any other reason.
- eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests")
-
- pax-mark m out/Release/chrome
-
- # This codepath does minimal patching, so we're at the mercy of upstream
- # CFLAGS. This is fine - we're not intending to force this on users
- # and we do a lot of flag 'management' anyway.
- if use bundled-toolchain; then
- QA_FLAGS_IGNORED="
- usr/lib64/chromium-browser/chrome
- usr/lib64/chromium-browser/chrome-sandbox
- usr/lib64/chromium-browser/chromedriver
- usr/lib64/chromium-browser/chrome_crashpad_handler
- usr/lib64/chromium-browser/libEGL.so
- usr/lib64/chromium-browser/libGLESv2.so
- usr/lib64/chromium-browser/libVkICD_mock_icd.so
- usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
- usr/lib64/chromium-browser/libqt6_shim.so
- usr/lib64/chromium-browser/libvk_swiftshader.so
- usr/lib64/chromium-browser/libvulkan.so.1
- "
- fi
-}
-
-# This function is called from virtx, and must always return so that Xvfb
-# session isn't left running. If we return 1, virtx will call die().
-chromium_profile() {
- einfo "Profiling for PGO"
-
- pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
-
- # Remove old profdata in case profiling was interrupted.
- rm -rf "${1}" || return 1
-
- if ! "${EPYTHON}" ./chromium_profiler.py \
- --chrome-executable "${S}/out/Release/chrome" \
- --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
- --add-arg no-sandbox --add-arg disable-dev-shm-usage \
- --profile-output "${1}"; then
- eerror "Profiling failed"
- return 1
- fi
-
- popd >/dev/null || return 1
-}
-
-src_compile() {
- if use pgo; then
- local profdata
-
- profdata="${WORKDIR}/chromium.profdata"
-
- if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
- chromium_compile
- virtx chromium_profile "$profdata"
-
- touch "${WORKDIR}/.pgo-profiled" || die
- fi
-
- if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
- # Remove phase 1 output
- rm -r out/Release || die
-
- chromium_configure 2 "$profdata"
-
- touch "${WORKDIR}/.pgo-phase-2-configured" || die
- fi
-
- if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
- chromium_compile
- touch "${WORKDIR}/.pgo-phase-2-compiled" || die
- fi
- else
- chromium_compile
- fi
-
- mv out/Release/chromedriver{.unstripped,} || die
-
- rm -f out/Release/locales/*.pak.info || die
-
- # Generate support files (desktop file, manpage, etc.) See: #684550 #706786 #968958
- ${EPYTHON} "${FILESDIR}/generate-support-files.py" \
- --installdir "/usr/$(get_libdir)/chromium-browser" \
- --channel "${SLOT}" ||
- die "Failed to generate support files"
-}
-
-src_test() {
- # Tests may be flaky with usersandbox, and the test runner executes significantly faster without.
- # If you seem to be excluding too many tests for a particular milestone: comment them out, reboot, and
- # run the tests again. If that doesn't help, try FEATURES="-usersandbox" and send it because obviously the
- # chromium gods are not smiling upon you today. Do some runtime testing, obvs.
- local skip_tests=(
- # Wildcard exclusions (if all tests in a test suite are broken)
- 'AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/*'
- 'AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/*'
- 'AlternateTestParams/PartitionAllocTest.*' # 200+ tests, >= 1 crashes entire test runner with usersandbox.
- 'CheckExitCodeAfterSignalHandlerDeathTest.*'
- 'CriticalProcessAndThreadSpotChecks/HangWatcherAnyCriticalThreadTests.*'
- 'PostJobTest.*' # M145 - fixed in 146?
- 'LazyThreadPoolTaskRunnerEnvironmentTest.*' # M142
- 'LazyThreadPoolTaskRunnerTest.*'
- 'SequenceManager*' # Crashes test runner
- 'ToolsSanityTest.BadVirtualCall*'
- # requires en-us locale
- SysStrings.SysNativeMBAndWide
- SysStrings.SysNativeMBToWide
- SysStrings.SysWideToNativeMB
- # Specific test cases
- CancelableEventTest.BothCancelFailureAndSucceedOccurUnderContention
- FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe
- HistogramTesterTest.PumaTestUniqueSample
- PathServiceTest.CheckedGetFailure
- PlatformThreadTest.CanChangeThreadType
- RawPtrTest.SetLookupUsesGetForComparison # M146 ; also broken for alpine in M144.
- RustLogIntegrationTest.CheckAllSeverity
- StackCanary.ChangingStackCanaryCrashesOnReturn
- StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree
- TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest
- ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker
- )
- local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")"
- # test-launcher-bot-mode enables parallelism and plain output
- # Check individual tests with --gtest_filter=<test you want> --single-process-tests
- ./out/Release/base_unittests --test-launcher-bot-mode \
- --test-launcher-jobs="$(makeopts_jobs)" \
- --gtest_filter="${test_filter}" || die "Tests failed!"
-}
-
-src_install() {
- local browser_suffix
- if [[ "${SLOT}" != "stable" ]]; then
- browser_suffix="-${SLOT}"
- else
- browser_suffix=""
- fi
- local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser${browser_suffix}"
- exeinto "${CHROMIUM_HOME}"
- doexe out/Release/chrome
-
- newexe out/Release/chrome_sandbox chrome-sandbox
- fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
-
- doexe out/Release/chromedriver
- doexe out/Release/chrome_crashpad_handler
-
- ozone_auto_session () {
- use X && use wayland && ! use headless && echo true || echo false
- }
-
- cat <<- EOF > "${D}${CHROMIUM_HOME}/chromium-launcher.sh" || die
- #!/bin/bash
- # Wrapper to launch slotted Chromium via the chromium-common launcher script.
- export CHROME_DESKTOP="chromium-browser${browser_suffix}.desktop"
- export CHROME_EXEC_NAME="chromium-browser${browser_suffix}"
- export CHROME_VERSION_EXTRA="${SLOT}"
- export CHROME_WRAPPER="\$(readlink -f "\$0")"
- export OZONE_AUTO_SESSION=$(ozone_auto_session)
-
- exec /usr/libexec/chromium/chromium-launcher.sh "\$@"
- EOF
-
- chmod 755 "${D}${CHROMIUM_HOME}/chromium-launcher.sh" || die
-
- # 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${browser_suffix}
- # keep the old symlink around for consistency
- dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium${browser_suffix}
-
- dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver${browser_suffix}
-
- pushd out/Release/locales > /dev/null || die
- chromium_remove_language_paks
- popd > /dev/null || die
-
- insinto "${CHROMIUM_HOME}"
- doins out/Release/*.bin
- doins out/Release/*.pak
-
- if use bindist; then
- # We built libffmpeg as a component library, but we can't distribute it
- # with proprietary codec support. Remove it and make a symlink to the requested
- # system library.
- rm -f out/Release/libffmpeg.so \
- || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
- # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
- einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
- dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
- /usr/$(get_libdir)/chromium-browser/libffmpeg.so
- fi
-
- (
- shopt -s nullglob
- local files=(out/Release/*.so out/Release/*.so.[0-9])
- [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
- )
-
- # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
- doins out/Release/xdg-{settings,mime}
-
- if ! use system-icu && ! use headless; then
- doins out/Release/icudtl.dat
- fi
-
- doins -r out/Release/locales
- doins -r out/Release/MEIPreload
-
- # Install vk_swiftshader_icd.json; bug #827861
- doins out/Release/vk_swiftshader_icd.json
-
- if [[ -d out/Release/swiftshader ]]; then
- insinto "${CHROMIUM_HOME}/swiftshader"
- doins out/Release/swiftshader/*.so
- fi
-
- # Install icons
- local branding size
- for size in 16 24 32 48 64 128 256 ; do
- case ${size} in
- 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
- *) branding="chrome/app/theme/chromium" ;;
- esac
- newicon -s ${size} "${branding}/product_logo_${size}.png" \
- chromium-browser${browser_suffix}.png
- done
-
- # Install desktop entry
- domenu out/Release/chromium-browser${browser_suffix}.desktop
-
- # Install GNOME default application entry (bug #303100).
- insinto /usr/share/gnome-control-center/default-apps
- doins out/Release/chromium-browser${browser_suffix}.xml
-
- # Install AppStream metadata
- insinto /usr/share/appdata
- doins out/Release/chromium-browser${browser_suffix}.appdata.xml
-
- # Install manpage; bug #684550
- doman out/Release/chromium-browser${browser_suffix}.1
- dosym chromium-browser${browser_suffix}.1 /usr/share/man/man1/chromium${browser_suffix}.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 && [[ -z "${REPLACING_VERSIONS}" ]]; then
- if use vaapi; then
- elog "Hardware-accelerated video decoding configuration:"
- elog
- elog "Chromium supports multiple backends for hardware acceleration. To enable one,"
- elog " Add to CHROMIUM_FLAGS in /etc/chromium/default:"
- elog
- elog "1. VA-API with OpenGL (recommended for most users):"
- elog " --enable-features=AcceleratedVideoDecodeLinuxGL"
- elog " VaapiVideoDecoder may need to be added as well, but try without first."
- elog
- if use wayland; then
- elog "2. Enhanced Wayland/EGL performance:"
- elog " --enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL"
- elog
- fi
- if use X; then
- elog "$(usex wayland "3" "2"). VA-API with Vulkan:"
- elog " --enable-features=VaapiVideoDecoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE"
- elog
- if use wayland; then
- elog " NOTE: Vulkan acceleration requires X11 and will not work under Wayland sessions."
- elog " Use OpenGL-based acceleration instead when running under Wayland."
- elog
- fi
- fi
- elog "Additional options:"
- elog " To enable hardware-accelerated encoding (if supported)"
- elog " add 'AcceleratedVideoEncoder' to your feature list"
- elog " VaapiIgnoreDriverChecks bypasses driver compatibility checks"
- elog " (may be needed for newer/unsupported hardware)"
- elog
- else
- elog "This Chromium build was compiled without VA-API support, which provides"
- elog "hardware-accelerated video decoding."
- 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
-
- if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
- ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd"
- ewarn "indicates that the Gentoo handbook was not followed to completion."
- ewarn ""
- ewarn "Chromium is known to behave unpredictably with this system configuration;"
- ewarn "please complete the configuration of this system before logging any bugs."
- fi
-
- if [[ -n "${REPLACING_VERSIONS}" ]]; then
- local replacing_non_slotted=false
- # there could be more than one PVR
- for version in ${REPLACING_VERSIONS}; do
- if ver_test "${version}" -le "145.0.7632.116"; then
- replacing_non_slotted=true
- break
- fi
- done
- if ${replacing_non_slotted}; then
- ewarn "This version of Chromium has replaced a non-slotted ebuild."
- if [[ ${SLOT} != "stable" ]]; then
- ewarn "This channel has its own profile directory, so your existing profile will not be used."
- ewarn "To use your existing profile, either copy or move it to the new location."
- ewarn "See https://wiki.gentoo.org/wiki/Chromium#Profile_Directories for more information."
- ewarn ""
- fi
- ewarn "Any existing Progressive Web Apps (PWAs) will need to be reinstalled,"
- ewarn "or have the path in the desktop files updated to point to the new wrapper script."
- fi
- fi
-}
diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest
index 16eb3a4bd228..c5457c0d5772 100644
--- a/www-client/firefox-bin/Manifest
+++ b/www-client/firefox-bin/Manifest
@@ -95,6 +95,103 @@ DIST firefox-140.8.0esr-vi.xpi 469141 BLAKE2B aa0171731101ecdb55fefe7a5f71392e9a
DIST firefox-140.8.0esr-xh.xpi 272795 BLAKE2B d2d1fd48616e85c0489935a203592dfa2dd81a9465b0381dac5ff96878b6b289c3250ee10116edb4dfaf6756174cf74cff271e73ccafb91e77327e7439c524ff SHA512 bb0ac20b97b8272a8ef041c1a3f7fbbac510886163115d4981f29dbf1cfedfef8abdc96d381a2dbf9675c823fe5f1285b8dfbecd7a5fd0a614918323974ab1f5
DIST firefox-140.8.0esr-zh-CN.xpi 460699 BLAKE2B 3976260e1335824a5b93c619e46e9bdcf29eb580ecebf68295f771cca04a577919e72d7603002a421adc840091172dfd8449c45fa6a0c2a4e8e94b6bcd565314 SHA512 f8ac0773fcd77b6daec1016d50589a6139261db3fc32eb45baf0097e2276fc414ca783c52f816468ab514363da4b90e0f33ac7b4f847fbd48c410942894424ae
DIST firefox-140.8.0esr-zh-TW.xpi 463741 BLAKE2B 7c2b0ed8a7f7c1ae9ebe448ee4925e25de7916398e259a07fbed1e812920980719162fa4ae15356f5dbac8b82f6ad334ae87f45861bd409c2e2208571059227a SHA512 a6cf29d586170508031ba18f0b7a8cd4c0d931b29ad819b371c08534528d4d7346a0c142dc397a6469d65ea38ada7d84bbb9c041002ba687ad4d80decf9bec25
+DIST firefox-140.9.0esr-ach.xpi 294355 BLAKE2B 7fa1c250bae6e8c6ce3776063e627f28ffa86909d432be20eb4772a2e4e4c88a299ababa4a6dca421c450ea8c91e71b4c126cf021ccb170ecabbb834bc77a17f SHA512 9e27eda45b2ccec239390b9dea04f072c78ac50a0bcc2b76d557984113bf99e8824b141f6af28c1aa83cb9d4ced4ca8fd85b96f9b246094ec5320fb1ab15c18d
+DIST firefox-140.9.0esr-af.xpi 266636 BLAKE2B 3563f47478060b4139e1d7b427db40a6662ab4a54d4f968cf804e8cbf42c4aa7b2a868a94aede0269577ae1ce225fd6ec77b0bf955a18b8c239f91e1b960acae SHA512 a5dec531c96bab7f317be6221d37abfffbf5842269096429b9ecc6dfb9d0fe65c2b41a897d0a459bc08932c9db97b821362a93e9b81207eb3e7e27515767eed0
+DIST firefox-140.9.0esr-an.xpi 332293 BLAKE2B 79deade6820cfb3ecd83d046714beec6f734ce3fbdd00daf8240ddb2ebb172a21f7ce4b37045153ac78157a83781f34c11d9bb3f4fbea2194a462f5559a43ff6 SHA512 9ad7ffbe14e6b069473fe58d1ab7dfa1561e83d699da5fe6c16e24313a06340bfc2c5ff779077e906143c71a032eb0f84eb16b2c772f651802cb0669d9750f80
+DIST firefox-140.9.0esr-ar.xpi 445284 BLAKE2B bcb0ae22e0e3760f2264f1bd7ea94e6a0fe7702d8c411bcc432a1d45e26f590c0c2e7a8aa87592f4f66e81c05f225d95469f8950f6898f9feacddc2dbfe41274 SHA512 738f192e3e283c8a2ebb33ef49d05c19b68cdb424d05a5b52e224913730152dc00c382770d0e0dba29ebbe5c39e38826c6685c35bfaa51151cdf03578d096bbd
+DIST firefox-140.9.0esr-ast.xpi 312214 BLAKE2B 8eb3572b10c4d49e1b37773a259b01832f4a7cfa1a4d65bcf052a3796fc8823819a817e1dce0a8efc8e63ddf8e4cc9ab56d658bb7e431144495836945149d91d SHA512 a50da1d60cb7dc8c1f2dae2fdc84d55996e407e8c172d730b279fb31f928f86babf994a681716c8de39e7610aa3a88e0a21fa8366d38f3ff901237865acd3ad7
+DIST firefox-140.9.0esr-az.xpi 318408 BLAKE2B d03be74c0beada0d1b73aef3012ea5ac7d411c3c505ec8908dc15eb8fb1f53b422931b01d97b18774981fcc181ca7b638a43fd63778ddda4aea44a8ab204c1be SHA512 deaae5be6b02617830a8909f66c52fea2c58d331f3f1a03f462bf6e7b4bb0d8f9c90c95d615bbb2bd613f58d0280bbb7277078e933a1128dd3370912554fedfa
+DIST firefox-140.9.0esr-be.xpi 521196 BLAKE2B f580fcc5983e77434b25e2f2f2ccc0ded9299176e7fa5393147f712df30ed458f4de8cba43d280de14912a3c5783b3b491b56670c29e47ec271554dd455cd467 SHA512 bd3a055223a0894ff2b2189948f1f763e3473c435c6764e03cf6e0b5471555e55458d6a32c07b71b5bf9132eebc8096a9544c38986634523529d1b92dabeca98
+DIST firefox-140.9.0esr-bg.xpi 457556 BLAKE2B d8af7bdea9c3060c225f196bf6167616e3354daebad2998f8a20a56964f02d27c92fe50da093aee4ddee6baa3fb24feaf9bfe4ebd33f3bc7bb1bcd800bcfea04 SHA512 b6f66e2da99c692540a008c16de00798ae906b29d4357db6138eaacb38e34908f00fca3ef46e2d2993ff6520e1fa7019e5a0976745b47e60b1951fc70fdbf297
+DIST firefox-140.9.0esr-bn.xpi 413370 BLAKE2B 55052253085decbe4192bbebf96fb398de62d55bee09772ef74320f9cb9a019537b7ba69c52b27b2c425d15b193e3ec4fe0859a9efcb957be90bbfdf38bff561 SHA512 360122683f4ca224914a2f8e8c16040a3092e4049131243258ad9b49ef1b105a2768601ed15204c6d0224ead3dec6f7face2143f5350b84ed3829153a218647a
+DIST firefox-140.9.0esr-br.xpi 395306 BLAKE2B 014cda17177511288e2beca223418323bb127abb63ac217dfdb46433c67fb99dfff3a29e83530de23b5eb338681f7f2e3df4f116812094bf589795d24593eed1 SHA512 4ee9e7c3921b906f99ecfc66e11c7e3b99fc907ee3801673e7f089d154577442069ebe0312e0237b9ea452129ee5c7c06d1fe78e7859901786d2104234847c62
+DIST firefox-140.9.0esr-bs.xpi 447168 BLAKE2B 5ad564a6c5e6df17906adb2cf4471cd941e7168def965412093a725c8dd7945248573ff0f33a4b72ae2e21e7ffb1e49edd6855967b82adab189a3d516c1a8985 SHA512 05972f53deb3569d6c8685536f0c1d5fefe2d29402ed9308cd00ea2f5b763cdba9d71f3aed265bb2cc99f1ccec31f15e3ceeb0f2748b59b1c14b0cc5a0ff54f9
+DIST firefox-140.9.0esr-ca-valencia.xpi 357934 BLAKE2B fa72e6b907a91aa38e6e6cf530a47123dded239423953587e9e9aebf4410917a7b5dffa07ff51249f0189a23908edfdd37d56a15e166ee139c936cca65029cb7 SHA512 cae016f6d4fe74c3184b45ec4e75174fbe8b4bce20ab83bb90461a9c21b3bab36a21eed1e29b5c2c40b4f124f073784266f185b6c035e4527e34c71267864d58
+DIST firefox-140.9.0esr-ca.xpi 404823 BLAKE2B 200b9a9c07ec690d08fda006a04e470f3a39b50547323d7b0ca20565d606b265598462f835898f93a7cd21dcff19af562e77079693f88dbb5e881d79f9834526 SHA512 a878479fb4a1a15fbe5e6e6d691a4f07ed66c619737b86b4e8381d03e5311c9bf19d67ed30958fc54cba782579b8ff43b65ff05c0831cb5f0195e1099ae13dda
+DIST firefox-140.9.0esr-cak.xpi 390832 BLAKE2B 0ac71975a674af5f7084b3132b177e52d095ffab160b0d9bdc14d7521348e22af09516f09979150e0276e61413539893e3d337518528a34684903a99bb2cf683 SHA512 c099b3c392a80de733d894530c4a34447a663e9d6a9e1d1807ca4241184ba29bc4d716b4d46d48439ed640b56a0ac55c83ba6594ece9fa1711d8e4b982eaa8d8
+DIST firefox-140.9.0esr-cs.xpi 475925 BLAKE2B b9b7a98299386620da70e355372f8ec439c889e500d89d8d24130feebdffe6d8a0e48ad5276fc25f0965647fb8d5474d258547a33693ac2d9150e6e87ea918c5 SHA512 b0030445ab94db9ce834bd25c7c3d9fbc36632853d1a2026b3a582cd26f8224f16802fee28b3844db81f6796136e2e3cdaaffe34a90e98d8d255721730480e46
+DIST firefox-140.9.0esr-cy.xpi 441956 BLAKE2B 3c357aa0e11d8a3510c11c57548d5774242ef940dc0766aa323ba31a7a0385cfcd4a4816295aea9f3a5690ba138b5cbc6edc364dfd58d31b8359de5f71813adf SHA512 9f3d2cac05b5a15c61bcff376c8c08c839d074d6000d8b74e628ed8016677c298dbba91e87b66dcd116978ed0c2e31167fbb732441b606be425ae946a70bca04
+DIST firefox-140.9.0esr-da.xpi 431121 BLAKE2B 5b994e3b195cd60def1c8766c47630584f480add35b0ba46799c183609d061b13a76c73a39a3c7ce9cf53cea290a36985933b4e1b4d2ab9bd819d537b97eef16 SHA512 e07e22c7c286063265a7bee6befbe044c2e59c5426c7530ee0dcf68c34e84754bee61fff91374b92fa920819467edc215f3756ae58df7a96e07c93e2dda465b6
+DIST firefox-140.9.0esr-de.xpi 452700 BLAKE2B bd3c3a056ca84d0a264dd50bbfcb5b50345767e98ceb6ceed889e9b2d277e99091917a36cce57efa28008320fa1647c2742e8cd9ffb7e7125cafca2ac24e909a SHA512 2b2ccd1e4ef7eb819d8ec651fb6bbda4347df110e91ad99211d201ac57c06450dd5a63225e6c9ec3660221e8644a0ee9fd6f1f04e06c3f13bed30112651061c3
+DIST firefox-140.9.0esr-dsb.xpi 466068 BLAKE2B e622bde8ee1f67b4d09898e3e8e4215a4d09d07cebc73a0de764960810463352226035e820959b981c397b3b70460486060c2be849c88299eca416aa55fe320e SHA512 8879411e76339047c95f459863fad9ed5d8b13a9fd379789db4b3b24d364d1978d5ffd37e6690c30640428423d8691ff596e84a9f46e3f97f97450e75e2e2aa5
+DIST firefox-140.9.0esr-el.xpi 536819 BLAKE2B 012dd1614700dee9350b5333502412f2f7f9f4c0fa6fbee2f7a1527e610257527a3f5b0e1e1d377a460ef56ad6b102fd353c421d6d28229d5e44a58412d0d049 SHA512 0b159d7305598b720575a057a1de7ce5e9a0335eb3ffa90ee0a75361955018cc35613bccbe38737804426deb6958dfbbddedf5bbb0c8c34f7847011aae39f21a
+DIST firefox-140.9.0esr-en-CA.xpi 411055 BLAKE2B cfe753ed3b0f3dc67da718347ce85a3f2091c926c8a01b230db07fdfe8616e275a6352118a407a6ac9e2de77678e4e481ad7706c77bfa7590ca73df58bf33561 SHA512 1c23ccc7c1b622d98dd23b4fb3e5c1be4be1e9308f2fb7b0f9a92456254e54e6c7437110a986c3962142114b2b756cf10d4fbcba44160b445d09f43d9cd7e6c7
+DIST firefox-140.9.0esr-en-GB.xpi 411398 BLAKE2B 517a4e7f21baded56dba08857747c805a948b22d71f6917957769e0acc3fdacafc0de96ae66b729d332aab3360e75e7d55154afad965a40b483975f1ee8a33ab SHA512 57be8835341f8769bd5f22b417af1a5a0a095162980ea0ca3a1f0845adda2493af89e86f70fc7e5ed1d62f5abcc8d537b53e1ba9f23973d3f3bf10d3566db4ad
+DIST firefox-140.9.0esr-eo.xpi 433460 BLAKE2B e8bbd53ef3f9d58f44d2b6af47c31bf1f0264fa94239ec63b03dc6cdfac586b3107ffc99dc179162364aedc6719eabb494b80849d044b4c99dbae4351b0913dc SHA512 0d562520343d6ddbdd21474f142f7044c0b956673bb256295b400d14213171c89faf6ab67e00975de639b729693b64bdf83776df5021989b6553ec5f091a45dd
+DIST firefox-140.9.0esr-es-AR.xpi 445510 BLAKE2B 4d88a7237aa478c6d1ee54e20df55bc55398c90a7064220325ed9e5d80e48e414591bf159b3bbaf00b1066fa17c1ffe43d0a02ab2f6a6de600e260ba4b69b783 SHA512 aa5662b0fcf4048059a469e1a98a462484a198c58084fcc70f8a1bf7d471476548e47261d6e6d7af39d0310e885b7285d62b112acf7e60080293e8c169b001d4
+DIST firefox-140.9.0esr-es-CL.xpi 446304 BLAKE2B a5b9e85ebdb859cb0564cfcd2024eb0d1b75cc501cfb7f2a7bce603db59b2d5fced7237ef227fba9f9acd76245dee16b9eebd9eee77cbce73e2624cee1ae4ff6 SHA512 5c7d875476bfbbe57a7e50847562647dc663ecaa550f871ddea69d27d64b367e922f905723e82bff234ac0ec750874669006a87be585d0d38ebf384b006f141f
+DIST firefox-140.9.0esr-es-ES.xpi 447006 BLAKE2B 46ca54870b9efe15bd8814e53c7815f0bf097140fc22176d352d509b597b23bd159c5a9ec9606755975162745b0c51b64ec31bfe138e364f854450dceebc01cc SHA512 e8ae4772d366fc17a1ff9f056228f15149f165bede0ffbef3bd6ed7f4dbc823acab5f916801eb45e4e9a54c321a26e7d3cea294d13809b6f69dca8367909f504
+DIST firefox-140.9.0esr-es-MX.xpi 446236 BLAKE2B 7d8225ad9bbee259f1ed363871e1569171c750247b6457c3e69f943168ebfee90ab8ef49b15c0a6b045f7df9408e656795da09131165ce8115c382b2e4797586 SHA512 9d0803a988c66c980d12caec4e7a370a32d3ab6f90f968b4df28fa569a4b841b051070ab4cf21ce45dffb804e5da599c96f9a1d2b8a5fa3b0343743653c78525
+DIST firefox-140.9.0esr-et.xpi 359317 BLAKE2B dff0fc6fcf632dd4961ea2524411bec3e1696b2aa582e650ca9cb1789b4fe94931719e2869999f84e6f12c44227b9c5a8dd5618a068e338db8df930677ffe9cb SHA512 6bcc54c76087c79ec990b8c1020e2803cc611a2f0b03fa2e97c1c384b3bd3192de90895cf1d8eb198f5f2dcd5d402de683d89c4d25583bef08fe09444747bb8b
+DIST firefox-140.9.0esr-eu.xpi 417295 BLAKE2B 279391f3fbbc46c23a411e41624e1acf478c102b45c1fb66a5e462d2538b49817111fd9cfcd9b683837c30c69e52a6cc3a730df639173cbb3f75876c4d26a7c4 SHA512 736d0be1dde4d059f932d5d271fadcc1c2b5db889777d30a6f4b6eb41fca1ad5dbc4314a66554fb3fd0250913e539b3cff716404d0bf3e0385f140b7344a0e54
+DIST firefox-140.9.0esr-fa.xpi 421634 BLAKE2B a7a84a47f948ff566f32beade0a3ecb08d2ca55c9292fcf882d764e766cf387a4bb15990941efa15183aad8b4270d773d2558b6b312b9eb9f7f1c8d4ed71337f SHA512 6141c3bf6875e94bc2b80913e32556b33dc4ec5b19eb704b91d7280793366b3a27a97bba4feb88b85cd88b5916ab730933934d0410f6c4382ebe9165ae6de5ea
+DIST firefox-140.9.0esr-ff.xpi 310180 BLAKE2B b5924551413d6b7f31a4d02f41e08834775e01a14ce8894aee791d0217ed69c80d396a92cbc677db7f2d51341d78db2af43d1f2cc0cd0c7ec80c5c213fa8a9c1 SHA512 6b68c6a4e87782a876885793c2ee5ca5b5bbd341f50b1818839af14e6d1a0c98cc32c099bf837919951b4a258fe39c4401504f15ec8b924bed2a92c96df98b7f
+DIST firefox-140.9.0esr-fi.xpi 430156 BLAKE2B 77e4cd10c64d2d1112f82b8affbfd18e2137738ab06404737ce2f6061ece635705fd8d58cbb4fe05469c6f53958b9605fd745d8b500db1d425627d7716451d7a SHA512 b30ff2bf05f4acf2862f327654e36b3809cb01115d148a769a4798f40f702d102807e6a3d82955bbffc395e079e0fe822da1e9bc539e6345f18d116996d3ab02
+DIST firefox-140.9.0esr-fr.xpi 458442 BLAKE2B 2091ca24279bcb304cb5b0eeb6a74b81c29f314b2102769fb3573546ffb9e0235df3858ed8804020a9181d977299a41b06630ce7276c71806e1a3bb54e5f61b2 SHA512 b1556281688682547993f9610ebfcc65ab5706491a23f9bce683acef61c1b1377a67dbb5bef74aed1a04e4c5581416c56d4ae674d1a40a845e05c5937dde25b6
+DIST firefox-140.9.0esr-fy-NL.xpi 442162 BLAKE2B c45f4f4c77ca56c287a48c6d959aceafd67c42db6a6565f827a668fb44965a48bba6cc9f967bd2c109d84ef468e42912c7ce6a21c4526c719ee779a8002964e9 SHA512 33ccb64e9f90c5a2918da8400e39d6e052919c854e35c32c53658f30abb7b5ba30b58625342e8771e50d503aa9a59804107f20a4199fb30538a8bcf8a74dadc4
+DIST firefox-140.9.0esr-ga-IE.xpi 315279 BLAKE2B 22b0e5de86781310113ccb3cbc153c7b627a7d9607d22f8c78e05546e3ac45e8676bedfa438742d5b5f9380ae8585a791c3d199ab5ab9db1c31b2da0c038f0f8 SHA512 96fe3f2f1fefbb534ed775428de7114861654adee5ab1d50c601f797697ab04d3d4618b19e8cf310e1544029e336c4b8c90fa8b2bf91d3797cd2e689bc3d772e
+DIST firefox-140.9.0esr-gd.xpi 399424 BLAKE2B 07b320e310d119f8617a6b5057a922f358c6fb71b4b4fd444720a53c274a4f89930ebea292792e87d4d2903a1f74c5b67e82e94df9d10c0f20ccc48aacc6e0e5 SHA512 6cd2036d00fd75c52d4a753f4cc651cbb7994a9aeb1a17a0331cb38995eb12f22705c046676752965477a7234a523df975bdee85f91f73c0dff342455170752a
+DIST firefox-140.9.0esr-gl.xpi 442901 BLAKE2B 43997e335f79b4e8a45946dab252f537a1cc1e986802abe0e75a4ac64071b9c70f01969de6d1f9fa004438e73aac0a12702d2935a6cd769be85197eda3b3ae70 SHA512 4e62c7efd052612097ee2064b22c5470d9f70bcb2bf9e05664ad289759dfdd0b47b826bf261e95e61c7053ec041811de547af170a2f252197e50668841693590
+DIST firefox-140.9.0esr-gn.xpi 451077 BLAKE2B 0a5d4de589a7a4712fce7965505924d8a49c83b4eeac899a7027b4706d82cae721d9135ce14cd37e0d60368473b88b6426413fe61bea66950e670d8245d3a9b6 SHA512 f7babe714e6a03d894efb48bdc2cefb36eb39a7155bfb7ff21f18bc6d651614de64c1aed56601b2721d0bd3b43fc27cf0b6c3c820c0f4eacc31f30508b11cd61
+DIST firefox-140.9.0esr-gu-IN.xpi 358973 BLAKE2B ee9e3d6eab2c9f567356af16fc8e346d1cbaeab59abcb6de26edbf5ccfba6785d45eccb8dfa0b21472da0e4ce5149dba86088f2bdc5040bc0f8d3a44ca8252a7 SHA512 08451aef4dd00e121266a950ec124b4ddc152ca4403f5917ad62a6e03d9bfc5e4aa433280f180ff80f19d2c029c54d6addd9b072b5513a1213324fc45a283caa
+DIST firefox-140.9.0esr-he.xpi 444984 BLAKE2B f700da274c9774e9eea68710a852de3450662fb6cfcb21780a7755940e045449ed5f80905f4baf4c32201d8bae020192192a5c908b751ef83e4941274382f6e3 SHA512 e242d73f836d144d3021adeac76b96f48067f8b9877f98b6688c5bb3329ac11ea023c0ebd5c2a724186538ab8c9daf684f8e16e23a8ed3de6778824eddf3d9bd
+DIST firefox-140.9.0esr-hi-IN.xpi 377447 BLAKE2B 5f1d0a42a5be6f9453bb7a913a040c0d12e0491772ebc0b6a0a94708f4888e82c9e128eb27d02560e15a5f0b5a0be300dced47e746ba43e2b4439f7de20d46a2 SHA512 eae951b48a5d3ce4111d31e86c027df537591d9aa0bfe954d09e06a1ef67e736cd46e4dbce13d97ab1466e57ae234cfad54d16f466a3d31250f90ffc79f3a9c0
+DIST firefox-140.9.0esr-hr.xpi 437680 BLAKE2B 1f5adc8c8f18c0003fbeb8fde3726b354c49334f13f37d2c4c6b799744e77b47f6f1de79326a7bc276562c1a5941a733ab01e5190806dd46bd10c252bcd6cba9 SHA512 7c5c529dad2ef41dc0a925f460cfd827081f2fac9ae26b0094ac4a1fed93960f3a31c4d5809684b8c8042141dae08529f3f8ae19b02daeaefd6017f48f577914
+DIST firefox-140.9.0esr-hsb.xpi 462699 BLAKE2B 26a5512806db4309341dc3b3aee4f2d5ce00c9666f25eeec25c004cd69cede7775f1322c2ae540dccbeece3df0161cd501cb4658050af7f9b8d3e28e4e1eb053 SHA512 cb0593d35135280fb2cd51c7791027505fbc39e25f51c770c7eba264d2a34e92d25f4b1135dc75beddb033402bf5b90903594496df50d969b5336ba2f1c55315
+DIST firefox-140.9.0esr-hu.xpi 466165 BLAKE2B 8b2675aea7a5aad1a66b9528e6dd28189a2c14d1bd769426d4ae67c742df81e188fc850951f34f4aa196a7e8db34a41d6943d95a841ebd05cf76e9534ea72d5b SHA512 71b1fcef386faa26769f8ed2ada8852d9169ef9ba185397f3f6962279da23b1ef15fb671c0fec4eb8ae9f91243cf38e975627ade5aa6ae30e6866a9407f9d99c
+DIST firefox-140.9.0esr-hy-AM.xpi 461607 BLAKE2B 31b60419ed47e4b84c6f63e5c1b7ef67035c6f83337cbe4a3115970719f08c108ba2b570fa6595d8b4c75a539673cbb68222663f9c407f9f1b864475e1d6e8c7 SHA512 6406e49e41e7c17474b14ffe339e4a6c24a42cca6807ba527edb4025c130d67ec2fe5fbc4855a0b1fdbb4b8efd5db0c367d02a47adfaaf457254880d4efcc621
+DIST firefox-140.9.0esr-ia.xpi 430106 BLAKE2B 8ec0939309adc9c6a2f38f2fa7ddc3c50eea965e398fd6d8bbd08c39eb49d7b0baeead670e4d1625c3a27656c31a9c46f95fe62a9444bac4e2b99641d6c001fb SHA512 01be6ac640b4a3b5830568056af0f95abd0f707e6aa8d8e67e58f4a5060137861a33388d89b3ac0e6bed5edd2264eb02cdd436ce0be4c48098e2a88a60df24e0
+DIST firefox-140.9.0esr-id.xpi 422743 BLAKE2B c90a6e2132a4710a0878d567216669086d7f3fd13eed254fc7d561900a3025576fff5601effadb8b1f7310bc6f09129004fbba0f2c711c49af8eda3fd84ba3c3 SHA512 fe0c0dfb454227de13ef48fab0bd93b53a1abc78484f3bb209fb5a444ea6341a9cd7b9f07864961db62d5ea39f01e8baadd95af5825121b58fdec5039fed82fb
+DIST firefox-140.9.0esr-is.xpi 432677 BLAKE2B e9a2cae988fa828ddd12cd02a69a6852ae04071e710f9bad5b54806578919ff7cf6952177fbca71d3b9527838b6b480493f1da531d5988bcc246aad936eb9e34 SHA512 4b3010737d5bef3b7ff1125c5630ccc36a5c964f147f77e0f7c6c5ffe3245a771d38951ceac5ea6131b02f1d0b1c3f0eef8d18cf7645b5b7d31c49232980c2bd
+DIST firefox-140.9.0esr-it.xpi 440895 BLAKE2B 39b17b2cf2641756bfd5951dcecb3b46ca8fda42d78003c768abf5f9f09e229888d03da4db8ed12ba157cb2f913748061a65a64ec06b334b157578b08ba731a6 SHA512 917680bcc1c98c97c1d06f3f6531790918f7a8dbcc866092fe161304df12e3e59fad33826ae08b38c321ec8bb3379106e4c06bec0583b11825d9771f14b20133
+DIST firefox-140.9.0esr-ja.xpi 481309 BLAKE2B c2e524a71c2c848168daa31b5149da780c9ca29d8c4d176bc6fcbfd7b03a6f11c1905260c49a20cb3c08e101bcdadda6df57ed9ca38904f3cf7c038891e62bdb SHA512 32ed21ecdae07807403aed49d14a9208c6e59074578e4affda5bb9fcedc7722e77837de6c3c580f6041e4411f4a0e25cc2937270efdae1b6f4eccd9f4110b675
+DIST firefox-140.9.0esr-ka.xpi 494866 BLAKE2B e2bb10b070f02c3c6afbdb5bfea9118f33062539245b05df1ac877aa26cb6914be9d87109bc526d3c0e46b47af541691de18fc6238d6e014e15334a43058872f SHA512 f7283a227f298d82ebfc4dc7b87f4c06f4e3d4e489eb2119ff2d0d92a1cf0e57d4eb77a133dbbc9e0a4de1287b1d92d0e03aff6acdc7a738e2731290728415c6
+DIST firefox-140.9.0esr-kab.xpi 422846 BLAKE2B cc3b456e4e27848c53ae4d5b2341ef4228a69daa9a20b5c564e962ffbc7ab5c507f9c2e3a20dcbb6e7f1cac96ab9f15903b32447c161283dbe29cffc2a744b15 SHA512 e645610978bff30379581914acf4c6a3f25a044f92b0131ecc828c87712e132bc982b035d62a23b12ebfda861780a3b2c2a893cfbfe861152012c09412e7f31d
+DIST firefox-140.9.0esr-kk.xpi 506675 BLAKE2B 81be82bbc03f8965494c972d4c274111c88d95a49f7feba8d7905a22454fa6c965e940746c3fcb631861b41008ca14b78434ec337e27485ad66b9c69602e2838 SHA512 68def6ac7f803ff7f0ec6d6b02fefa0ef4decb5d7b13b182b8045744afd13e27de03311fb0ac6da13afaeb2ed17e9f2a3d9ebda477cc089a0c7657c731e076d2
+DIST firefox-140.9.0esr-km.xpi 348778 BLAKE2B 59def15cb07dbe9edd13deedbd3b5c6f4c18b1e696c9272bc140b78ad5ad9155fb64679ef46e8afd214cd94391b164003f0286236229791bce99ea886b859a00 SHA512 2a99fe3fd4aa01e46e5e141427045583849ab66023a0ae6bc66767f3c292d81fe1240407ec41cdb4180bd2203e35a7bb4173eaeaaab12f0059b489066d0e9df3
+DIST firefox-140.9.0esr-kn.xpi 331777 BLAKE2B ff3a8c684b7b76d95bef46a60046820ad668cd5327edc29448bede9ebf6024cc214ca5a4e5adaf5be86b6c7d5a1328ef90fae263f85b8feaab4c989cc017d164 SHA512 3fbefd572fae9f6d2d720f5889d1a9b721badd514e664c0f3dfc369d1fa0f567250f837f7d84f52a52f95b2cee5d45b0e7eb92a14d4231964a9b9d69fd97ac36
+DIST firefox-140.9.0esr-ko.xpi 467536 BLAKE2B 3d7bd6def7179eba6c3bc0af4f6032e28f05a5fd94bceb8b1dc50ab9e28a4be67bbc9d805b4dd93d0ff937c76d7effa8c732e168f567ba489ffbe476c079782f SHA512 7352b55a6d263030b2de64140f5342aeafeeb527de896c8e2c1522cca45f19f39f32314de49a01169cbd88cc0f9b9b92ca27bb306ba916d39607b63a0ba767ec
+DIST firefox-140.9.0esr-lij.xpi 319285 BLAKE2B ea7fc44650fa28dbf417d9b90eeb058a3a824736c758b262440a16463f8478eb1a109ef93c4f7a337d8b640f4c08985b9201ccd3dbacbfdcc48cba2ce0e8ff7b SHA512 11db1bd9f70e784eb848f619f2fef442b2734d5e0adf42b3b29d7a2d0d0d6863f97c45804a6c8e7ecd55eac41283e36dfb72fc6b5bcda6d0fab913edc2924630
+DIST firefox-140.9.0esr-lt.xpi 379947 BLAKE2B e507a3c2fb6f843ae8a4cb0734741340c770cacc03722e721247049d1556c8eea911ed16b69125bae9b36a0891e256fff64484bb68499329e2d38255ba9615b7 SHA512 6d5b064c004acf012195de679723b3ce4a64be527ed6b31486ba6e7a8ae97d2d1f28abe904bdb0724fa761051dd4c3672febfe96a32ef8e29ce1127a81a52264
+DIST firefox-140.9.0esr-lv.xpi 389074 BLAKE2B 095bebd349fc6bccb7ea512b5f418c93f743b919a7db36634e1b0f7ac85bbcb8574e7a8fba9c42ee9c1105667f6af175dbcc4dbacb78a009248d77140e4ee5b8 SHA512 a6edafa12f6f6180bbc4772f905f380e9f74cd10cd0667f44e4da376d12f9253831da074536e59b1c1e99e0413641dde8f01f3248d12bcb0873b4772adec87ad
+DIST firefox-140.9.0esr-mk.xpi 316833 BLAKE2B b993d0217d5819ee5d5bf5de468026c3fc70793c73e9d3716a470d063b833cbde734ff635e3c80ff16cb49a806c40966318fc8f89db783ec824297908436e12e SHA512 053f4d21c9d2d20ebc88ddb28df137f68fe270f46b0fc97782dcfd3a157c0863cee9e094071230ee59cc2b9c3c011d6912203cae46cd479cf1617972c1871078
+DIST firefox-140.9.0esr-mr.xpi 356242 BLAKE2B d8300ff97a6592ec8860a23dc362607d103168195f8cddbb2c2f603fbaa01afa77a88524899530652af8456f60cd4b54e5d6785625454fa90e895378c2dd9d74 SHA512 a3345a7bcb1020069b04e2cabdd16e4f95b645c958cbebbe00c38ae7010eb62bbd5d00a35910cc3180285ca3a7829d8882481f5fa8c78059811eae42ca475310
+DIST firefox-140.9.0esr-ms.xpi 295390 BLAKE2B c5ba662ed406ef5564bce176bd4117c64a92194d2f2884da53ee609e4250d0e5c4a617fdf719f6cdc06e219b9e2bb4517322012cdf8d02e13b3319b0bb992ae2 SHA512 b903b193bdc5a57f8a24628ec8d2ee75bf9212a9a0e78ab961ee8c1047d684830f260fbd428650a37c4442b0cc4a6fda3d1a0e61d3fc2d9439edace8319bf277
+DIST firefox-140.9.0esr-my.xpi 343028 BLAKE2B 77181f6fffcd92ee1e64434dddf1c58e3c0f56af3442d09f32c5e54b01ae50b1b9279d0606ecdd61624251a510be1aec96361e330aeec0062d9acf6915bef56c SHA512 bb763c578d3249f1aa7ab35f78ac738edb8734999c9190fcb68809b3ed8a4255ff788dd4c44bd1c27497ebaacfdb420c0a97edb4e99000d9ccec0277d4941755
+DIST firefox-140.9.0esr-nb-NO.xpi 429336 BLAKE2B 4edb95b650095c9044a61311bf763cdf715f8f202129811c28911be362e685c614dc533c23febc81705122565e6e2f578dbdf3ffb58c6175f0db986512918456 SHA512 f044040f48b79d3a2d867fa7b4afaa1c078bf0d2aa22a1f3a13496c863f6ea8d9ab6f3fd8b09fbbb329490bbeed92ae8c17ecb4fece1fee57a0485b5a783f11a
+DIST firefox-140.9.0esr-ne-NP.xpi 349008 BLAKE2B 792a3ace97b7b708ced4c492b3ac51cadd68b3de6f7d61b8485d331e47121648eaa610e4ad5f11d6ca8bd7073c91103869005dfd88989f6e065b757c4bf2ae54 SHA512 99ed834d2387545881087b596d977b17aa92cdbd1561301d3f9378f2e64102de571bb3b5ac808885e2e3a1cbab3058c61a47a2875fbaae3c2fbe40d19f70dcf9
+DIST firefox-140.9.0esr-nl.xpi 436179 BLAKE2B 21f8dcaa20c1ce9c8b83f64ad4a65ac68e336a1140b96d09ca480c74e2731da5fc9c717fe959193a374a2aa7ed1954a698797b01da9705b57c6d8f9ef3eb55f1 SHA512 e8c8520696e3c77a13c386e9b47814a8591f2db1497c27f849f18b85052697b3336f6c9aab66a116f01d0b44028317e77e4480ca94e7f079f18a35aeb6dec841
+DIST firefox-140.9.0esr-nn-NO.xpi 432216 BLAKE2B 2becfcdb81b4043a6753a9e3d88564effd88b8f04c4e0b8bc872160951fe900bde176a717fe72f0ac491d91d7e85b9a99b303f500e5625c78807f8c8ab223832 SHA512 4d039b485cc66366a3ed26771d3f496aeaa827e215aa553dff32573c8aa802f6fd2867cca103d4324d998136fdf94c17b2b1c9f3f9ee3028e2f2fbd9248237c9
+DIST firefox-140.9.0esr-oc.xpi 410937 BLAKE2B 15c8de9e8700d7eaad60bf1df78c88cd10800514af0456f459f8d70b1d24ce2d728d124004f34257b81975963dac3a188f2f9ad5d8aaee5e5eb6ebefeafced38 SHA512 c886000602a6ab438e7024a74fc4f92d7075aa1c6a9c6a3a009ad3f5d1c8a1c6771f401e7de61d7a4c8df77b88d3d9a872a79448d27e78443d9996471e3da2d2
+DIST firefox-140.9.0esr-pa-IN.xpi 494400 BLAKE2B b16ebf7baf08f6d1f89076479f8558ce82fb5078ddf6ccecc772b474b4a7340cba2db0500a7fdfc526da30c5a0129dc867f733a66c12e83a08bf1366197144df SHA512 28bb7d2a6b611655fa9e42499f73b5bc135ae92dce106d4f0d316b899117ab4f724710b72ffaf1eb767c86cc56232a061fc6514b9333336041180cc692da4bb5
+DIST firefox-140.9.0esr-pl.xpi 460923 BLAKE2B e333c36bf45f3d7babee1391412131c64add6ebbcdc3c3e7ef35af3c4d7fc734add1a4c35217a7dc7e61a2a4e2eb06547aae6c89563701c0466c7ce916018c16 SHA512 7d06f900601f58de064ac1f21e525aab385f853c432ef480ba85a6a8e9332e832c799e821ac33b719383bd4be783c715b8bef0364637a05da82f696be2051bd7
+DIST firefox-140.9.0esr-pt-BR.xpi 440751 BLAKE2B eac60f20d9ce0ee1b2e92232e4ec4ac7a1de503004fc38be2eb0f925086c2ac0f34b1313206b47c13e7b2d549c74364a599327eebf70ab37aa5bec94f67df745 SHA512 899ddd438cff18abfa382a6e2cfedf5e449aa7db74af587811fd92c2f24f759a5bff2e591e77bf9c76aafe9732d711c7bdb6f65fffe0b697f9f607ce60f24aa9
+DIST firefox-140.9.0esr-pt-PT.xpi 446410 BLAKE2B d595225ec65f0638886a8f471172fa1f74fcc77f0350f65c24f279bb8ebc1682c43db4785450041014fe5ada031668d08f73476ff0061e7ee39c3689c1507160 SHA512 c79e87de47d1d0ad39fabf422247f91302fd385a357383564f421a8ffc5a4f5b26797bf864ed25bf63b408b4163ed11cdfbae13fa4c973be105f342aaf67efd0
+DIST firefox-140.9.0esr-rm.xpi 438011 BLAKE2B 3b934c0c0a35a985de4cbceaf2aaadd64844375d42be97e0b2320fd0380ae02a08c0fe2262d834fc08b9c60d55668ea5bab50cc708903a5151c303e1990da34a SHA512 01bd84df83b9d5ce68f5e2428e0b504477478a12b089e10a446eabf679da8de7f4d0c2104926c41ab3d7010be8910de6e8d8fdf07ce2a4a9bcdbaa5d0b1d0502
+DIST firefox-140.9.0esr-ro.xpi 452826 BLAKE2B a9978afe2fd056ae9b584b25c0e3b653d2f880a58176d335f9c33e653fdd3543f22baae74f7aa336a40d2ee1038383bc95329d4b90831203c7cb5528b1916cd2 SHA512 b07672cd1313966d430527ad096a61c69ea83b7fb50439a1a70fe556d58115fb40644de809ce53c028d3158da2f5fca9ad8e5b99cdbce4ed8720c5cf36fcdebc
+DIST firefox-140.9.0esr-ru.xpi 525182 BLAKE2B 39bd83f2fe03f499e7b0cd35ae20833ef005dd49c6d8e34e0a477b86f238ae617e3bd74ab1b54f2efacf2d4440a542b2e64679bf3b63e9372581bf6bf0898628 SHA512 6df17e058a2ba0f5467480ac2d5c2336713e2697f54a018c2166edd69255f1d2635f0f8a1ac443091096f55d8c4ef1382e126217e1096ce709af9921b0db6610
+DIST firefox-140.9.0esr-sco.xpi 322650 BLAKE2B 711f1de9a721057dd5a5d2e2dd185b516c6b4671679660aefd12d06d8506927171fba21a8145794dd3dfac49b8f79853d902d621b3785cfed943fdc52c223544 SHA512 f273a4b438f7da1f8d5eed08f21ca5b6583a808a6b1118adc167f0703c502d92e21306df5384533320514d782504db0ad7886615e9fd2c8f58c7b01fd666410a
+DIST firefox-140.9.0esr-si.xpi 411609 BLAKE2B 5a9bac8aff0c43cffcafd338653fa200cf28c27a9d5e0f5386ee39141c624bacdfebf1d9b2b77590e1d48f1cecec4730afb781ac6a306093050ba359c5f99396 SHA512 f9343e51eb83689945981e79b94c4e79bf07e0262f469950eeb74d831af5f33b4e0926f8650eff6cb090ad0f0b927be4fe7a80e25e19ae170850267ff3eeb3f2
+DIST firefox-140.9.0esr-sk.xpi 468235 BLAKE2B a2c818fbb9fe7e5c6096ec9ba2154ac9c564d88ce4c01c4a861e4030e0e2ce08a1e6a75e8aba453af54bd861322630ae80f799ffab9943f35a2694c1be3970d0 SHA512 0e7fd7f2f9b093424328e349f8e4c45f99f423a64c539899999fdc5b379008a11e9bfb8cd01ee25f253dbbee4f196c3987b0a8d8f9d248f11a94d1b81b642494
+DIST firefox-140.9.0esr-skr.xpi 485869 BLAKE2B 0883324cd632a2560ec6764d71745c0659b118b98b83a95dc7eda18e9fab06c1945b3c2e48ee0ea5139c27012fcf6b193b60d8571239a93acb455dbb9ac5ed9e SHA512 4a801505419f3808f5ae05b9fd4d13ab81ff2ead1c5b2ce3a6f2407d02019989439768af65b463e5e6abfee56569b69d1d941614139d057ac665bb9123fd0c5d
+DIST firefox-140.9.0esr-sl.xpi 441191 BLAKE2B 8c27b3bf9cceca96e9fde58a9d802ac0dda43835aac0e4b961940f1e0acf8f586c0ba4fe6ce10d7a7c1ed507742409a4df722abeb947e2e66b343ba23c42247a SHA512 b72546feb56bc8a77b2e82f4dc25580ce4cdc8a2ff2e6f311ff41c140952197716216bc7863e7409c8d171f3423e9fe24297d90e27c18074324563f2f6615abc
+DIST firefox-140.9.0esr-son.xpi 273115 BLAKE2B a76eeccc40b82cbae04e4c114bf0ebd2ac4d42cef3401e0b98da0f876fc47fe8f400e98ce86024b95c566c523d5c4ec243d1642b745c06de3d5ca3a084757500 SHA512 026ecaf9c52bcf88625f9ca6d0555aec5cdf5bcd0318b926cae06029eafdc1e95567d359522ed03e7504b9a82c9a7b9e190bcab6eea2aefd454be934587fd534
+DIST firefox-140.9.0esr-sq.xpi 456011 BLAKE2B aa2b4ccaef3d26421f48d786f32554f2760afc377f003dd803b992289214f38301ff76216ba98594fd2aa7e601cf2364a67c1ca9c42d19f502ef6adea2b94657 SHA512 6acd9f1fa34addd97ff7653c7a9bfa82dc46a8f7fa22164e2500ed74a6c4ac9bb51f1c719e5ffc6e777a5a1d0a09d2e8b52685cb351e3dd1f08291a4524ba9c8
+DIST firefox-140.9.0esr-sr.xpi 453368 BLAKE2B 8d879166a8d8ca7b8b8df39eeed4bfdc606dcbbddc7cddbd2e759fe4e1df3e4fafd956129a30192e6cb29e718d28483f40cef949eb7ccd1f91b6046628c6d671 SHA512 35e7cd8c11b9c850e9e7281364f5168eda1cfd9a92ee0eab51362ba2689c83a725cc013c7a722cec65daebfd171d72ae77c43b9d17b90ca80fedcfad887511e5
+DIST firefox-140.9.0esr-sv-SE.xpi 436150 BLAKE2B 1d876da96eaa1401c2ab24befbcbe7b5ffd5f3f14e045d3c35809cc2ed0abf8e19533edb05b511a5fbe04f61f69db0ee2b8383b7d5a5860db87ccc85d14bb416 SHA512 6abe79a26e09be49dfd59ce18d75e3fc53eb558bca679b625b1f46ff004f60e65f24c6b3c3edab2fd48fdbb97154b67f9127a9081d710a4138168e230d470b37
+DIST firefox-140.9.0esr-ta.xpi 338145 BLAKE2B 1ef5932eff790fa3d613ca9efd29ce2ac0da4dd1d4741f19bff2d517bb481d31f1c615dda4f324037f697afd2f8796996ea9521209c9f902154f2124c2c3ece1 SHA512 e3d9cb6e886ef39cc3ad84296a829345bbe470e12aa24e66b0f1093d98a6a70c687a0011033e30107eb38b20d9a495c8fc55ff85b58aa413b87e2133233f9334
+DIST firefox-140.9.0esr-te.xpi 382185 BLAKE2B f9f7a0df7a811b90cfb866483e5575895ad16d5734ff617e68804569146a63fa8ee9867345ab70d6d885ab87d4e65fa9366d06222a62d0dc9190d2e449e04945 SHA512 b113fb876c0f90bad8e983fc29411b3baaa8f8c39a004cf9a563c5e2d57666f5e66dda8418e34c4d9a51ff230a077e22b3960194ab8456ef8d55bc1edf0fdedc
+DIST firefox-140.9.0esr-th.xpi 505497 BLAKE2B 9df1ee844abc9104a78eba55f12d67ca0ce27ca5187601a604b85233865ed28ad60d680ffb528b49ba780f8e9864fb604e1573e4027e1546016d0682e0e56013 SHA512 03c7fb65001e540725f32cb89cded598b1711204d0f69cea3ddfbc652952ff60844b1cd4fad0e24d4ae1398d710dd5c004002dfa00fc470239b87cb159a4472a
+DIST firefox-140.9.0esr-tl.xpi 356645 BLAKE2B 6dc26ae30a7cad3698fe18ae6262d2ed09cea92813532a319fa631e3b275eed4f9a421451c7effa3d7e662c2c99820988e6f3a3ae4d3d272933de13e58708b8b SHA512 b5ee3b6e7e917389b0d90a84ed9711f404426949711e32a762f6d81b7c03939a117a0c2f347a0d9f74b31980e0325db0b816c0960117fbc07f78fc40757c09bf
+DIST firefox-140.9.0esr-tr.xpi 449304 BLAKE2B 33873554eee430423383eb8a07e3de2632e6406e7a9e127eb4d4109348069445ab6d36dc9fc602cf2c4a3c7f42689312fcaf2808617aeaf5ba38cab0f4cd7c10 SHA512 3ea9bc93c95f1b9d9a488bca206ac75db94fd3885458ff84a02ace73f18e6eefc06ef5c7425278dc0b7bcde61fdbc8570119e36b89d2793787ab9df4e755b018
+DIST firefox-140.9.0esr-trs.xpi 324521 BLAKE2B 1878e22fd1c20f35f8abb507cd667b3db7650a62c86a3251f170a11f1a88cda23ebd69aa02c55e8349253ace53e9e1b4069bfef8d486220b79531ea381b5a3c8 SHA512 e504cc8a524c647b6ad8cdf7aebe3c46cbbd9444deecf8132f2d68f32003bd94619fc259108c372a71a5c0b7c936a4e899b543da16b54143982ea3140ae725db
+DIST firefox-140.9.0esr-uk.xpi 516732 BLAKE2B 973d922fcf744c8fa41546614c3ebea99a405803476573e525a01b570b1f02c35933f5f704f595384dd17991850562f4a7c70438d4ce840aedc1a35f6b0e01eb SHA512 f321a362774538c9a9eb2dbf92070e22d8303f5d814e39a421028986ddc64a8dea9b7af600f67381620a1fcdf95bca8d2204c6d184e8ef21c5e0f49619819b46
+DIST firefox-140.9.0esr-ur.xpi 370184 BLAKE2B 73342e9eba0dd5af3a952a613fb9c7cef055c5549175d1ea8a81c41af1d3a8ec4bd9eb26aa32e4b3ef342c918e19b05f03632fa548977db24f99215aca0ac04e SHA512 83e72b53ce26cd70fdb689192be782d765b5a5fd7abaa165ed81155784dfef38c4725921658a00ec5b7a2fb83fc381b06e784cfc1cb01d11a9d4c69d17e43556
+DIST firefox-140.9.0esr-uz.xpi 303471 BLAKE2B 1458b371f563d56966c2de2fb76bb1eade317714a2c605a7b1a0bb188a70cd13282d29ec1443f194f3a5d8639dd0a35336baa40a4c876d3124723e85762cbbe5 SHA512 f169a39fe8c803398b61cb4559e61c5eb65d0cd29625b7fe12db0c912ecec87d37dc6be9eb94a8eb4f5c3ca21b76668bd4cd39135e9701bf1f0d774110c7f05b
+DIST firefox-140.9.0esr-vi.xpi 469146 BLAKE2B 056be6b035d94738caadf02973bac6e820d4ce3c9822ae546bf4dfc67cc3754a26c9722490fd5b5481684cdc0a80ed1c6d239b4a86433351457a9380a5a929ea SHA512 6a0e7c4a54d60980c64afdae81abb2a20f54d65f4152423dd7e7e24dc974634699d873eb4a454f5a1abfa1f3fb633ac5cd7a2647e2c7115c75058b3c4639fe3f
+DIST firefox-140.9.0esr-xh.xpi 272787 BLAKE2B d040a6f4e8f9d65a1e0bd9c482e7832360641ebb0a04f537846e522302cf4037e452892db8fdddea2e9cf5012dabf24e50230f06b3c317a976a40d54840b388e SHA512 0513bf667f2e52e24c57e3373a31d00e83a6c9b6118762a815c914fef7e363cfb53d132db2cdc2dafb9eeecfce3a36bee1c5ca03d104100d3bd3b3ad7e1b61e8
+DIST firefox-140.9.0esr-zh-CN.xpi 460704 BLAKE2B 7c564d1c06daf5977d950c3166e98cf09bcedb68e13a141c17f0402c9c9254301214bb786042db32c8143c975c8687338a167669d6302b136c6f2ebedbe8fdfe SHA512 599f66cd0960dbd65b9dae5a458827728a651fb7520104bc509e34dca1683e90b3d9a3b9eb03f455d6bd79fbf89b4160fe24bacbd916efe9ea8b5b8011748eda
+DIST firefox-140.9.0esr-zh-TW.xpi 463731 BLAKE2B be847f725b7081ebdcc5418d9eafc31a5883919edfda98b50d77553d50937a86f808f19f79f259753b3517ebabc77df35edd753a9b4a1032125cb5c75a0ccde4 SHA512 7715940bd9a5a4e6952e26dc3e7938c614a5be420e5c4096dd325eefbbbd96c6493c9dfae1837d06b53cd52125b505ec3e3fda4caaff6ab3c2b227cc7788556e
DIST firefox-148.0.2-ach.xpi 295595 BLAKE2B 223719bfad10a92f2967488d07e0679f1b8cf3373813092f2a7e82e115283f4a691dfed1c6b3968d66022ad227cc9f16f291051bcceed81e9c19b1ed33831f9c SHA512 87a250caa1e05984c90d0b6c47c6f1d61d4759ce12bb7d47cef1e386de2ee34c34505450ab6cf46dbcc0bf4a3da67cb6fae1e962e83bd733c6ca1fe06ba64177
DIST firefox-148.0.2-af.xpi 268994 BLAKE2B bbc1022a38a9e18fd5aec8cd3d916dea67ca7d67a06280065ff568c4b2aa0f666b19aed62da6249dd82b3222d6decdd254fef72bc55f5b74a35a987a22b3876e SHA512 2cb20a6adb76dbb9c2211e38ed876e85a8b07884674c46bd8ecea3c0b96bd18807a942727af87b86b0bfc1f1925bed6b2223f52ccdca8072e0818ccf615ebc1b
DIST firefox-148.0.2-an.xpi 332903 BLAKE2B 054899fca3463540c05980728a257145bebae083f14fb811156c1907d35fd1108e515a3d9e99733b5fd1c503d15c37f54c6604edf32e5d52ab8af8a5547256bd SHA512 235eea6d3378d0e2b1e0309bbb77dd7b1a4175ec63207c019497a4b297e3155b3410fc06753a23a25725757188195fadd7c2f541dc03704e34c6517650a64bcb
@@ -290,9 +387,12 @@ DIST firefox-149.0-xh.xpi 271712 BLAKE2B 708e303c2b7cd1c8ef0575a4b1f40ce39ab41c6
DIST firefox-149.0-zh-CN.xpi 489028 BLAKE2B 2503bb6cc6ac678de0b6415bdf1b11f82b586abab3e4cf8b9ca5d51a0d4d99e67c4659c13bfa5bdc29e7de1c4e61306b463954517c90890057ab340115b2c5ff SHA512 feee1661fd504641c57446c9621931e937c16a6f211b5657302d6269cdd2ab97b5b1241362eddb62879beb79667759a99f58c45bd5c13a4f5736abba730025cc
DIST firefox-149.0-zh-TW.xpi 495341 BLAKE2B 74d44ce8ef8881131d9679bc15c70a755d3c3e8204d921cca7e58e2c1c3d5df95b1ba4efb30278a5e919fb83cddd05370a72da2c4f376705173192f1d12c91a7 SHA512 05b795f218a7126e0c619954eb5fd00da6b69a8264a5193f8deb377c4b87c4e19e227a2d66c42411ef20ce823604e911e2d01a74e404c955a094d84711321dd7
DIST firefox-bin_aarch64-140.8.0.tar.xz 66300412 BLAKE2B b87c6bb0fdb2f8db91e6124b86412d8e4ad6d41e5dfba67c645bdaecfae7960857c3f1b2194b7d5ff32ac446286526fb09c6973d9b499294001961b6d57f2ddc SHA512 9ca31cb9fffc967a208cc06380be1d3f5a679f2ca70231c6dab9b53cd6ffe66978cfe9f838d02d57446ffc0f9dff68d25c30d7b2a93c3bab0789786f278b16f3
+DIST firefox-bin_aarch64-140.9.0.tar.xz 66315656 BLAKE2B 2fd90396e6b8bc820413ff49212c6c240a3a812705d3f5440146304d64757a9a004862839326821e27aa70974438049f8691cf76087a48bd8253f7da801c8f10 SHA512 83ddb8f78be95aa2267d2c5cc4f8995b479e9065d0b3c834e5f5c7ec8ff50badd33a8e6839d5b53cbd98e6950978b1a64c6eeeb795c1d93230e78dc90e2474c5
DIST firefox-bin_aarch64-148.0.2.tar.xz 70583064 BLAKE2B 171ee1109c3ca31aa219a9a6eb1d7ab7186eda5fb8a2c5cd677e78c4433e673aa14da6d25011ff372b5aab51a194171aa850c778e3fef638862f6e38cae08c77 SHA512 e580386173811b3f791a374962218a823bc55dc96227aa19576b1674a544335a507516b32ab24216f74d3dd628a4c4409d8c5ceb35a68af81f47ded4a0bdafc4
DIST firefox-bin_aarch64-149.0.tar.xz 70856448 BLAKE2B ceea8841268770084a649e6d33adce64e4f1208a8577701509716f76c5aded33d4220a7813d81b98eb52ba44a9d3f8a96df4f02848a63668986769530eb09e09 SHA512 ec8decd9b9ed0edc17d8355717fe7945ff29104b8418419a3ee09d1d1858729f6a217387ccd0565fb7dc8cda89ab7ef87f7a8d74b68baa9c0bd851ed2d751d08
DIST firefox-bin_i686-140.8.0.tar.xz 78483416 BLAKE2B 75543c9ba72da7ea6ede66e1244ce76309920517191548ffff75b809fafec02d96170b2a202d1b48573448614d4af0f7db5f1f62d65299463ac34a3edfadcc7f SHA512 30ad48304bb877787d93c86696f6f42b81a45bcd87fbb0e64b9216f4c951e2b65ce4395e29c4a7f9da6699905e0c36248665bbbbceac65e434e32f50fc1370ec
+DIST firefox-bin_i686-140.9.0.tar.xz 78371512 BLAKE2B 837da4d97dca99274e5be0e10e7a1875523aac0e3e1ea4702a89867888648593cb54f10c0c50ed88d9a8c8c753ed87d46169f0b9fa2742138004ef0166272cfb SHA512 02f0fadf995181139351bd09476a44b2729c428eb04320165c27a50911c71cf2c819b385a5e23762362206d0eb76948c9f64fc0147fd74e90f97fbff0722e940
DIST firefox-bin_x86_64-140.8.0.tar.xz 75491388 BLAKE2B a6016b294abe37d2b0c1786fcfcf9d30f26b989acf5b7ae02c53b578f5503d74ce4fea26ab8c6ad9de265dc1c246ecdc71f00b1f4df34e906fa714b26a4d2422 SHA512 18ea98601bf17fe86588c99cbd9011a2260d1eddbb7c5e241d44aae44aaf765968a98488fdd040cd853ccfa10d38904d0cfbeeb94b8cb60e272db6f568b66e41
+DIST firefox-bin_x86_64-140.9.0.tar.xz 75058372 BLAKE2B 7101ea98150a9f218730ad391aee4e7d29863ba791b070d39fd2fb56eebc10a9f78199ab9fe922af2269cf98b3af4a5d94256a970396ffa24964174370f01d1d SHA512 1af13a9d67d30bd6a59efb1b578da50a043ae985a31eefcaffa899fc03cda754d47d9e38f54974ca8f95086fd45684196847b6e5acd389e6ed31e7f1ff4bd32d
DIST firefox-bin_x86_64-148.0.2.tar.xz 82303208 BLAKE2B 2c06055e2019a4f694cc932b7ea578a10807678d55c86f38869e0a71cb9abc6685285cb5e5ba317b4a4ef7925d7809c69871a3946d8bd2e13a5df15ab4c3dd67 SHA512 eb7687e5c085123a15e1191ecaf90069393811d6aaa23ac81a115742f9bf5782c2d49f7ec9c70d5f788c0491d18f53ff07549d280ef51bf370ae941a75feea14
DIST firefox-bin_x86_64-149.0.tar.xz 82479232 BLAKE2B 250dc3b0239b29541c1a536e4db1443c209ff7f91f49057463e63f5c9fd545d655586c70aea22684c6b7772751ecd293db36e816d11e032e827e8c3224b68e77 SHA512 931408a10615f6701ab21ba634dd4edf27df8e492defd7c076a56a7dda51c197fe8e4b034b8347326c30fa7cf604c833eeffc7565d0a8867fa116586c4a953cf
diff --git a/www-client/firefox-bin/firefox-bin-140.9.0.ebuild b/www-client/firefox-bin/firefox-bin-140.9.0.ebuild
new file mode 100644
index 000000000000..82aa62931221
--- /dev/null
+++ b/www-client/firefox-bin/firefox-bin-140.9.0.ebuild
@@ -0,0 +1,361 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+ HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.firefox.com"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit desktop linux-info optfeature pax-utils xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.xz -> ${PN}_x86_64-${PV}.tar.xz )
+ arm64? ( ${MOZ_SRC_BASE_URI}/linux-aarch64/en-US/${MOZ_P}.tar.xz -> ${PN}_aarch64-${PV}.tar.xz )
+ x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.xz -> ${PN}_i686-${PV}.tar.xz )"
+
+DESCRIPTION="Firefox Web Browser"
+
+KEYWORDS="-* amd64 arm64 ~x86"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+gmp-autoupdate selinux wayland"
+
+RESTRICT="strip"
+
+BDEPEND="app-arch/unzip"
+RDEPEND="${DEPEND}
+ !www-client/firefox-bin:0
+ || (
+ media-libs/libpulse
+ media-sound/apulse
+ )
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ >=dev-libs/glib-2.26:2
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ <media-video/ffmpeg-8.0
+ sys-apps/dbus
+ virtual/freedesktop-icon-theme
+ >=x11-libs/cairo-1.10[X]
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.11:3[X,wayland?]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libxcb
+ >=x11-libs/pango-1.22.0
+ selinux? ( sec-policy/selinux-mozilla )
+"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" !www-client/firefox-bin:rapid"
+else
+ RDEPEND+=" !www-client/firefox-bin:esr"
+fi
+
+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 skr sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+pkg_setup() {
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ mkdir "${S}" || die
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ MY_SRC_FILE=${_src_file}
+ fi
+ done
+}
+
+src_install() {
+ # Set MOZILLA_FIVE_HOME
+ local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}"
+
+ dodir /opt
+ pushd "${ED}"/opt &>/dev/null || die
+ unpack "${MY_SRC_FILE}"
+ popd &>/dev/null || die
+
+ pax-mark m \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \
+ "${ED}${MOZILLA_FIVE_HOME}"/plugin-container
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default"
+ local icon_symbolic_file="${FILESDIR}/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^} (bin)"
+ local desktop_file="${FILESDIR}/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN} --name=firefox-bin"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0.
+ # See bgo#916230, bgo#941873
+ local apulselib=
+ if has_version -r media-sound/apulse[-sdk] ; then
+ apulselib="${EPREFIX}/usr/$(get_libdir)/apulse"
+ ewarn "media-sound/apulse with -sdk use flag detected!"
+ ewarn "Firefox-bin will be installed with a wrapper, that attempts to load"
+ ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues."
+ ewarn "Please either enable sdk use flag for apulse, or remove apulse"
+ ewarn "completely and re-install firefox-bin to utilize pipewire/pulseaudio instead."
+ fi
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ local show_doh_information show_normandy_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ 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
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "speech syntesis (text-to-speech) support" app-accessibility/speech-dispatcher
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+ # optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg
+ optfeature "desktop notifications" x11-libs/libnotify
+}
diff --git a/www-client/firefox-l10n/Manifest b/www-client/firefox-l10n/Manifest
new file mode 100644
index 000000000000..500f460798dd
--- /dev/null
+++ b/www-client/firefox-l10n/Manifest
@@ -0,0 +1,100 @@
+DIST firefox-149.0-ach.xpi 292193 BLAKE2B 3d7117129cf1e9abc3fea6515e5cb9b33c62cf0e32d458db7e0c6c6dbe55e148c6265ba6fcf7cb9d0c1894c25cd3a0c6a1d8ce67247b87946e550a8b6c8f5e4c SHA512 93c1a9f20f279ffc7cf49ada0743bbc539a0551c04086229b891dc511a38a81c1fd720878129b165d6d01c55d047a2a9df7c8249a006562e2024eaf63e1c00f4
+DIST firefox-149.0-af.xpi 265691 BLAKE2B 1a79304f1f3fbf9f553866dda3baede126a2f8c81b1b47e3874bbe478574b260dc35880a80241ecb81722e1de1125565122a88e83c79eb89ff69653c6b17c94d SHA512 03a8a7c29ce00380f6f2785b4ffc7db01429e5a59542d1268853d25a7c6b7925c88853bb75800468e3e42ec507ede14bf1bac047f68f6fc1cbfc2e5cb1b7efd3
+DIST firefox-149.0-an.xpi 329417 BLAKE2B 0e2821748227d9ab75ab8285ee21b2eeb78824b800c56abe94c6e7b953a1f7a17a8049facabbcb40b7fc970d3db0c221feadbe41ecfaaf5f2ce562088e983f88 SHA512 6fd0139427a583bc31da3b207cb174c9ebcc134795fab52913f24de67a2a68acc3c6e0da506a23278e762530ac9f614e733460b59500d2391e10fb8b3b94a707
+DIST firefox-149.0-ar.xpi 449711 BLAKE2B ee4072ffd8b7a83911e429d71ca891b9720391817c985f70cc358697e5885691a316288f75b6c929496752d93aaf295cd6fa8920a0d843616c88ba182be64067 SHA512 7c117161ef32c5427ee811a421607a3f59c2efbea3bf6b52c2f3f42c89ad40a01e13e667c2cd58dc38239b5d0ac57b0f035c5ae471d3a2f91ae2fdff9f59ddfe
+DIST firefox-149.0-ast.xpi 310024 BLAKE2B 8fd68a7c99adf2d7c3de801bb10ee22ba407649a99678894b84065de1ddf73354a690bd87b57679b8a9f1784ed87dffe07172d3cc639682414cc661e0bba8a34 SHA512 40d15c67cbb7ab7a675bf9ab667edeb853800c31d4a59dda5ec260dfda0f8943587ae8dbed368a6fd3815c2f99bb7887953bb1aa735beaa6208ccdeec57db0bd
+DIST firefox-149.0-az.xpi 316104 BLAKE2B 90747130122dd171fa8b39bf5cb471df06b90cf0e13096ec01e531059438487b3aa9a3ca9eab7b62d00b9652a69f0ece3713b17e1a9eac9884593957301c1d84 SHA512 4c06241cdd190bd89c8f4203568438dfb9cf9f1cccbc50aecf54edbd004810efeb78721af711901cc071203e84992dde0be5a5b80ba1e0ea05685035c0350fb8
+DIST firefox-149.0-be.xpi 559501 BLAKE2B 77bf95e6c7cef94563b2b4ed642a0bb305409ec1bdd204b7d171d72becfeae31bb7f5554163d0693a0f97719e094eb63503eda934b74e7487c2b2e008764debb SHA512 4030ff1de2c02c715aa318f07ab1a77d5832b73fa3704bdf8458492615c559930c4b2617f509a6fe2f29e2560180063ea51173fb3ec1f5bb4a0b374f75a59b99
+DIST firefox-149.0-bg.xpi 459953 BLAKE2B 4c1ca4260d7da94a07071c66b908b7c399ea12b3735ad692d81f465c90a28dc4be442ede87a22c98f8e77bfef6cf3c57404d58b8f3b4591acfb671efb1127e6d SHA512 72798862d8a62890f7e83329690187df5072b5485e968a3059f5b7dc85e40f4af38794b022441d0e0155893ba77f95e6c2db3443ad1577c266b2fc41e372f8b8
+DIST firefox-149.0-bn.xpi 410064 BLAKE2B 86fbd1c499b517fae28f291585302260d788c88720791c4356e60c39fdc99096bfb97813fa297843ec3d767bea11cdffcf82f7e32b70562997a93efd33e55503 SHA512 2cda16a33023a0fe68b2a60a9a470a27b03274def3b8ce96d2cc066171a3095f00a6f764814ff813367650ef74f22dc05cea36c2888fa3435ef36fe85e9f3516
+DIST firefox-149.0-br.xpi 391493 BLAKE2B 164beb199819cf2ebc552c019202278490fdebf61e7888ca72444b62459e327ddfdc07e0d43a12ad50e52482e1696f661be40d50163c24c646ac424315657c98 SHA512 0eaff0ea1bf5519d8a1c66a84bfb3962ce5b80512b81c981bb39a05efc7ece037386c63805221f1ef93a92b81146a0da47d79eafec9e17ff0540e9fca6a8a309
+DIST firefox-149.0-bs.xpi 447221 BLAKE2B 102b236615489831b41c3d7ff75ec6b046eaa1e5b75a186159e76eb103b7fcb15a46c032e3da190dfe7721e36d54740d4341891ec9e8e196a60d33d44933130b SHA512 584e0b574242e8b248f613dc5d039176ba0499858b6d9ee239fe8164ab9534e73f5fe60bb34cf344cdb1009b0ba33b14d666a64700bd23772d35d13481b34c0b
+DIST firefox-149.0-ca-valencia.xpi 355199 BLAKE2B a79c229fbac4073524b827efd3643bb045859f854f94d539cef211c9691cbdff4e77f616913a70404c1cccaef3fc6e60a395050dd0c73d0f6c495524f53a9239 SHA512 6294048587818faacfa1c3e98937b44124526d66cd4f1173a989284a5fcaef1a831f7dad4cc8101521ae581408b05c34b4eeb3a28337492b62517fd4a76f4ff2
+DIST firefox-149.0-ca.xpi 413979 BLAKE2B 18c2f62006513d4a62f6f54208a3e2131d7d1585fb735c277739a0022e3587077c64356a21493bbb6c6cbd9fbc20e6b1f747b22c3ff37340457c91416aeb3298 SHA512 8d7babfeac903090ebda89ee8d8464b0fbf60be308b1a9b29ae5b2dcb5d21596e47f0005de3774596e81a13f4c01fba6266a7f2a56c31226f404b07c48960673
+DIST firefox-149.0-cak.xpi 387015 BLAKE2B 7a13301430ca068ea4688dabc03fda3dfac8198a11680162bc9446dd8db7fe2195747504df4c6a4a8b642421ea1ca857f8c79a5dd4d7c33dea6d89f0a5dd3086 SHA512 57d22d9d6ad49a5a2ce4375ab72a54624de628c73cbae5c42d90dd70862aac200bec70089da69e8f23234b85e86591c38504f5776e8e80d97fb11f96308f4cbb
+DIST firefox-149.0-cs.xpi 511554 BLAKE2B 5e83e10ad22ab21ae4d0c083937cf4847b7759dbf477a63663190f1cca27b03fe7a1f9abc31bdac00fd0c49172c84001aa78cabb2bcce5dfb0fb7a95c7e9acbf SHA512 57fc367ca435ae82b75d6cd6bceb3711dce19cd8f9be7ac461f28cc2259de1acedb8661978ca664ca5b40666632c15981a2a1797bb3ae7dd96a40d22538fefc8
+DIST firefox-149.0-cy.xpi 473293 BLAKE2B f11592143e85abd6e03a8fca70b3f9cf6daf7ded68a92b73c31659946fd4d6b8e17325f0e4d083abd0cf5d9912ac1da0545c4f5074e289378f8e25e70a1728bd SHA512 2d0db4bddfff91e6a2b6a7ac573ba587d491bd97fd5833d2349d78417f8284f861e272dc66e91a896603a45d757c003bf8ae5b118998dbdba78b2b40675bed0f
+DIST firefox-149.0-da.xpi 456246 BLAKE2B a0ffe6fac782f23ef1613436e070f6a89d3b8e7c471cb010bea91792862323848e0001837c92085085006791c217ebbe9cc58730433e8eb61cfce3fdcd0fb2c1 SHA512 66e9c1ad1fb681c8f8ff217e1c7741bcf5c8aba090c9da0d215dec973c340de661ddd9eddf7a62f4f5e6bad9c22cd876202b86604d1ca1b65850be408f107969
+DIST firefox-149.0-de.xpi 484748 BLAKE2B 8673b437770ff6461560160f1cbe74ef40e25e0c16e7c5c83db6194b0df26e2ea369c56f88a7bfeaa41cbef332be6b953e5500aa8d4976d6be16a13db0ff5909 SHA512 ec7e84bba2986d43afa7107e1363726cd886098adbc6c335f1c3c2bd2c7d310ef03f32aa0656b318d9a34acb1a47c4d4e15f6d45ba8c7ab0740064d5c043c98a
+DIST firefox-149.0-dsb.xpi 498591 BLAKE2B cb95fb5224b549b12a77c96bd0d591f74eb97ea427e8f01ce3524404f107a8c80b594e5f0f5faec568439b559a67b7d425985f4d2807a90ccc48b38867afc905 SHA512 ee591b0dcf005d7daf761d339b3bbd1d905b5904832ab677d45e62c058163b258e6d33f5cabd8ac1452ec1d07f0821950ab24a9d31963afb4c9aaf7e5c025f9d
+DIST firefox-149.0-el.xpi 575214 BLAKE2B 142118f0ba8b9d92a7692de5960ab8ecd62b190783300401e55bff0cac3a4100479f1950969419e8245d5c80801d1ad5b51ebb2789120564856419c912653f55 SHA512 2d0bd5155a849288cebcceb7bd927113f520db18a7bbc39b35d7513108fa258a67d3dcfc540837b574638545582fd32a547530179610f1f8019713205db10398
+DIST firefox-149.0-en-CA.xpi 432997 BLAKE2B cfad8002c456fd982684d25e768a88aa0b57d35aee445c9a5597f1a0643c51244b783d9425c656f6f3263a23a460142abdde3199e9aa7deaf218e2f47306eece SHA512 3cbc4d44d3fe531cadabdc8c50e95bec50c7c66800d1e154f08203bb03fc3e5736e98987ae43e24d59248c1ab9cc31782c2d280ef825ca0c3eb910ff718af152
+DIST firefox-149.0-en-GB.xpi 438683 BLAKE2B 290ccf66f3205f72ebc3fe982da7740dffc35c5cd12f1ca465b912599d3cab6599aea04cef4ed650d3f14b17cb7a23725d8dca6e111ed70b047176f6e4f3bc25 SHA512 1ab218411042d6514e591d028d3726c69986d0855fc616ff8c87c065965aa2adebc8ae6d64116d084fb3402404b662cfdb7539a66af38706cc6e81b1f971aa1b
+DIST firefox-149.0-eo.xpi 463493 BLAKE2B eb48013cb9026f86adccba441e9e9fefd51730ae159a5dacab8358112f93842eeb90e29ca7d26f832cbbaa73684c35e20e27296fcc8b00e4eb80d442979c346c SHA512 0d1cf23232362071f6498122ceeaec4f550bad191ef18e89057da72cb355f33f3e7807899b319e389c00fa5a01e39817040623aa37cccfaf4edde5d97c2152dc
+DIST firefox-149.0-es-AR.xpi 475830 BLAKE2B bf3267584352ce54fa6cc47d95618d9c82bf2881668e68c8f983f4d63ef7e87690e0d3596e0d8c6fd0f336b9d8a3e630a09428059aaae5923bf4775e15709aa6 SHA512 e6a8fc6f83b57ad99389d3fc33fcfd114f8a77c631634998d23418be4692f77822fa737e077d69e981f15f686cb2dc454f0a4b5916544d07f1508d553a4ffcff
+DIST firefox-149.0-es-CL.xpi 474612 BLAKE2B 9defa21cebec0bd6391b416dd1a33f11b1630d2c1e2ced154c2a32c23cd00486fa2d75ae2a8eaac6714e3d136067f64c87858e0af10b9d774a852330e2483fba SHA512 64c680b9d1ce0779710c2a6fcd95a010d9e39caf1a26ab319815904034def95617618e78faace966dad8ea51062bebaee0e4e7e32f7ed4d68ccc4d9b162d265d
+DIST firefox-149.0-es-ES.xpi 475623 BLAKE2B 12083a02c233a1253429186a8077b142b7343d5767b0c48f2e91d8aa467dd7202d97e849f59ac4fe44365aff4fd14a63822ffea01b7ac8433755c51c9f7b15d6 SHA512 c34b9a3c5bed525b3a1d33b6b1e819193a2a9cd6969c9c498bb2b2a220238b44a4bf5df2f07b7b5bc3958fb0521641bd5711d127737fe6e54cfed438e3f56a2d
+DIST firefox-149.0-es-MX.xpi 470346 BLAKE2B 898efbb43a9785d4bfbb3c79c7cd49b9fbdebdd85cbe23886e27c569e44dc78c678558446cd9a617f77dd6c4a0c9193750e3d3e9c354c00def1af1acd039bb95 SHA512 21e3d571624c40eca8fdf6b536aa4c9561f3f3481a6a089056266c1e58f3bf4676c7594ba79bac7a664b2b9b76b3a569e4aac6d17dd33cffeb11c20a0872cf5e
+DIST firefox-149.0-et.xpi 356077 BLAKE2B e8cc85624a6567809ede36e482544480dec8ef228d328110e24cb9c644352aedac5f9338b00448a35518ba774d4167cb4741031e99fdf1356980f3b55e40ccdc SHA512 ac0895e7ba791d6ab49c372b489119c6164e6863949697148da3478619cc1b3ef6a36a1016d8778949985dc8b5f11883118fb45bdd0da03d6e348af52c9ab2d0
+DIST firefox-149.0-eu.xpi 460026 BLAKE2B 13f54d8dbdf67fdcfe421fe0686dd24dbb41b404309e4806d745ddd368344daaecfae7bae12a78146bd1a593dbe54c95f870c0287305dd0857bcb3696640d07e SHA512 7bd1983520aafa6183b0b5f6745e782d007db1fb0e76e1da12600f1eb606d4f4d0858c3da603f060d5102a0240a0398132d491c95003a02e7654e27a1ad41a62
+DIST firefox-149.0-fa.xpi 417775 BLAKE2B ee212bb55942d67f009bac2f9f6e675ceb39126b98b600b09a905d7dc1bc3c3bd549d5b561a17d1e7a03050c3eb52fb694616bfa765cc73f6cc3bcb5a1d7fce3 SHA512 3c6ca904c9fe9c9af9681e0b9d14006e5bd9af1e73dc16d81cf7610ed08be0df8da49662e2add728023ce003a3a1dd9dfd0b1758e83d4a237697c1e13af40b51
+DIST firefox-149.0-ff.xpi 307762 BLAKE2B 71cf38285b66de554f6005669107400f5c7c1e09055a6e9539e5ecbff3c54e979990ca9675e7b2c56abf693591fcd46389e78c1b9ac4af51f370b417e8d41f40 SHA512 d398a131f071ba303957fced2f9dee362fc4b4188a01ebbf2f76ac3a4b4802746d29f61bf5fd381fb25c58f722006babd66aa248f368d456730f2fefd04ea75a
+DIST firefox-149.0-fi.xpi 460740 BLAKE2B f74ec41b3ffd1a93ab60b887d8e2abd0fbf233b118e763b599c6704544f2328dc8793adef36ce6266076f549e483cc577aba32471a63d9fab5d0b7286f69854a SHA512 a5c851a2dc6a8ba9d59048c17a78589c8d5244615cc5ccca0a48ef02999492143846e18079355c2674a2a33c7e710d4aa74187dfb52685dba85049def6064645
+DIST firefox-149.0-fr.xpi 490337 BLAKE2B d99dc2f6092f10c3bd1608ef825c47e3d9b7387a1def9bfb2aed013f81f5b34ad2c15aaca85020b9c0a0d1fb661cdded08d9957fe47f20f074a18672ce26a62b SHA512 c84ef8732fa18a798e3472183aa87a13d7e8556dacdb913338ba2deade6287f99765bfefc536b767e4ab8e4d906fcf8cd70ac359212b6c43c423a4d6ac463f26
+DIST firefox-149.0-fur.xpi 473932 BLAKE2B 754d4f8d6f198c3e5a2487a173db53d6793c826c9dc7832eab8133a68f1b40327a10faecfb0cb9295eb86ade02c475489e3c18319fbc2203a259bad392a9dab8 SHA512 b5c05d881e02c3240920aa29209363fc27e3467a66065ffdffcfc69f72de09bd3449948387f429ccb9cd0416ef9a7d5d99894c2bb2be1774a174a1936756e915
+DIST firefox-149.0-fy-NL.xpi 472406 BLAKE2B a513aa5d1b01f07200bc85baf8f2399ce736949d16d0b01e1d439209d04ec28b3a8683180b39e91b32a987f80c80035ac4f2ae6f3aa9728641e0c2ad430cdf5d SHA512 93b529ea628e37351857c4e491904fcc439547b911cbebcce548a1d6c66b03514d68e876158ec21ee6106d1b99569582babddda2c41eecf37962929755f713c1
+DIST firefox-149.0-ga-IE.xpi 313452 BLAKE2B 278a9e5eb21e8386837dfb737e39348dccaf6e8ec0c7aac4350f311fcb850735d40a559e27086bb3d704ee20c5028d4b6fa705363b634ea246aa121f794bf002 SHA512 e7d24a19bddb15cc706df0508c831414d91f3667580879c4f60bb92259bee8452a6d88dad45cb121fd57b2cddeae54759474141f871f0a9851b99c1aa581fddb
+DIST firefox-149.0-gd.xpi 406446 BLAKE2B 0e3f512a053a8915821024362105d5e823a47e83f40bf3f21ca93ccd55a519fcb6386c1be16a82390a64298735b125bd0914d87540b1f936817c238f81fb2c2a SHA512 1bfae010507ce668481e563ca5d08d884f438ab49a943f6b0a260bddf9b24fa89a75a51ac419854909d239c835880a169ad1ef6282e2f14faa11aae66a75cbf4
+DIST firefox-149.0-gl.xpi 443869 BLAKE2B adffd01596328685dde4ca4a502eabec260801cc111fb3461917700e96ae116e3275c7fc14f9784876253624f441696390a46918831b5f26b577261601f0cd0d SHA512 16fa1d6cb2e39bee91f56429169d7258c04b822008492e2ec4acc5a4df7ebc7c6c1b70c86d1b894d4a73d85a3fa9b77ac1d9400a812a7c2f720d0205aa5add25
+DIST firefox-149.0-gn.xpi 479270 BLAKE2B 56d6298a65040a7bac8ca327d1ff2b4907bafa7fd55d6554db9625ee099c1ce0d98f13137c9052bbae6b13d2a243ddc55d9dea447821831b951d6d6b8a8f9414 SHA512 bac18e06cca91db2bee449bc8b8f7fd40c4cdd2efd7d7056eed8449ea5191f5a2708000724ddf1d3025d4751a7b0ebade3fbcbb9089790d956347c970ab418dd
+DIST firefox-149.0-gu-IN.xpi 355975 BLAKE2B 0c7ad14024047bf14876eae37f540a35e08b78a625be89aceb770cb7d789ab96cca9a69df85c5402f94d91ccae6dd372fa4a8dc37d455be340a103692122d9f0 SHA512 b77df920087107991c9acecd27cce198fa59dff6f6baaa2c6eaec47145f1e018f6f6934ca7fd9f2783b6bf1ad235661c387a1161c7d740492fd139292f5c2508
+DIST firefox-149.0-he.xpi 476299 BLAKE2B 87553fff51b6c9662319c212533d16d6be9ea443a073948354d4c36941856926e185343996422a759c7a849d0fc6c009d78e90224ca89502c61a5cf101b3af03 SHA512 f0354dae02042b2606bb087d4c3e0e0472559955c03fb574f61e428aa6d45356e008365f96fce48a60d3b613a26aea26b782d96e6079de1ce2443169ddb9079c
+DIST firefox-149.0-hi-IN.xpi 374679 BLAKE2B 518e60ef62d1ea34867999e05680445a35d7809b77a22eb8d5d39cb1767dd4981c2c699ab8bfbd6c1f0ac7fa0009d2d6f7c631ce0f6cd762e8f20e6e9b37d18f SHA512 dd102781e600e05c34d8adc7d91356e994e6981cf8099d00cd282b436eb328cab8f0bbd3b6cc67a2e2f06e79500c5d994015470a74dfa72e59a330deadde5430
+DIST firefox-149.0-hr.xpi 463601 BLAKE2B 3c9ceb6aa95321682e1499cc0fd0913ab81e83e8881c89f74c25fca270094c8244060b21b314e2a83715beb3dd53eabe433df8b7663d4eec14cfff44d87cad1c SHA512 39b8b641c64ca0a378e811d595c2bdda4a63fd3a00623fdbf243e462becdd23fe2f29c103026a0b61f4e3335a187dcde255dad966bfd31636dbee8505417ee89
+DIST firefox-149.0-hsb.xpi 495222 BLAKE2B bb218c8fd583ac51712a26321596744e4e76a7546f1b420a590d9848db0cc42f4250402e6d3ddfc8337376362b48dd71a89a5c987fb92d6181778c8d0950b47c SHA512 bb24b276a835dbe0878bf246633dca1b5254ad7699e8014583c7d876ce24ecf68b7d5ffb9522bc0842a4b1382284bc4fd5af234a0e6b40e6ce81aed89295bcc7
+DIST firefox-149.0-hu.xpi 499340 BLAKE2B e61ce6192309d1e20d05e8f2a2ba46776bd1c8a6fc6802d3626d6c1f78a25c7ec191c0176892696edfec8618f648486a6501d423276497f696f95c86bd35de39 SHA512 06591c9eafb7e52b492222bc389e57389798c04a69af0ec0830818e192535143a281b9d860f755981a58502d503978c4865a4e9c12c13234a365ead31c2d72c5
+DIST firefox-149.0-hy-AM.xpi 478534 BLAKE2B 3f5e4fd23caca61519ca6d5388cdb6c9dbb7e3819ecffd3d4d34d0b8e7b7aef504dcfc1131b119a8f81cac47dfb703dc6a76772ce97576c985a9dc39ecf8d625 SHA512 c60f7e3d8f24c94203184837a7adb2db63177178575ce704d3bb1221bf90ae30b63e475af0161edafebe5572dd7c59b22c58c387af7effd88c9da636bc68e30d
+DIST firefox-149.0-ia.xpi 459661 BLAKE2B 70a77cb0e010619b78ed37eb3540cfbad8f8a3a02841480b455503a9005c439c1711af3a3f0bf8d86efeae81e263e2465618bd10078e83dbe875c35772db465b SHA512 1106d7d9c63bf1e731f6700c2cf3561eadd455255aaad9ed63fcf84397d815065d7f4c0632b1e2cb8ba0bbd4567c2ed9d94ed707f3ec80c1aefda0edb1b32822
+DIST firefox-149.0-id.xpi 430145 BLAKE2B cf4feeb49b6c30e8ba04cd778e717788cd13b09f2c4f023e8e1ae857e829af6b3760c8aab6a5ebb1d269bf61b295cf3cb9a2dfd45676d65d4d4bb8035c97d2f7 SHA512 3f7fd94a50cf7664aeb71abb3614d6a652289213157019fe9bfe9f78479e840588d65d7a22377c93a2b14076202d0d09c33ad55ef4a4a107f1dfeae44555a414
+DIST firefox-149.0-is.xpi 437318 BLAKE2B cbe36930a1d6641e62fca7ef305e34b28ad991d3c1bfecd071069f42a3d392249d1de6f1ca445fb9a990efb2c9c432c486e4fe43ae3a8fac362e819615e340d1 SHA512 4ed94f91115803e630c023c8492a395506d12e5e0c521cc631018109501da7f9400c0e32344172215ebe638c830a04f5d1eb2ddfa44eef10a85f2fdf879c1e62
+DIST firefox-149.0-it.xpi 471514 BLAKE2B 731d5e183e777383f9c0688316db3734854e491e513d1ebdcdbc6d84e9900283ce4453bb3044bef2b209ea235897e70ff2569ab4a9880c1ecacf196a67cfd682 SHA512 f99ab7f5cec66fd8601c2e153dd89b7c0652c3a0818271d87a503b0e7bfbaddbffcc2a41f9b768c15c74a21943fbe3dc834d23fc9bbc80741e5282c2c77d4dbc
+DIST firefox-149.0-ja.xpi 513915 BLAKE2B 1afdeebca807e43de2a03c4a3045630440f6400d4eee9be16fd6654c0088860f4dc76f7fefbf897e4c28526bf63acf8f4356bbbd716a1d048adee578a2afbb89 SHA512 ff7ba8a4ed7d40fe2188905837f9c95ed5d2cd9e970913b886c9b5edca33b47567b6402fb086749fafc76f1218b92e1f5c1e6779b2dca1bee9caaa2e9b7f8fdb
+DIST firefox-149.0-ka.xpi 532194 BLAKE2B a001cae33a5df452718e19dd7b8a5c40e95624da0de97f39a5653aa3cb53311e742889fdb4df1f1c0e45b35cb815706693a83184f6b2f3d20ae70e00c1c79457 SHA512 17bc653a696933dc0761056cf3fea1a63e09d8554913103d30eae1eab35f31084cd0706f8a01ca0f3faa486c604b4c1de0f2d70123a34d3f1823fcbe75dcc296
+DIST firefox-149.0-kab.xpi 423503 BLAKE2B 8c2dd0fe185e2f63f7ef6d126e4d9269e047e8bdc991550d27b4c1d8ef2beaa4e8eab0cf833267dbe4bd5968171422450c22226563908a8e8cf4c171d24c2606 SHA512 80a4250a97f7465cbba5817cb5a3f9a707fc1549d4360df2cb44cc174de7e43d736e53cc41bba8c74bcd74acd2c940104cba5424eab862b136c0c1fe6045d32f
+DIST firefox-149.0-kk.xpi 551164 BLAKE2B db2925477fa707d19b407cb25564a493574c5bddb4aeb49e383875c0487201ddf05d20e02a53fb6dc4b43c082aca26073fcbe64f6ff324d4df81d32f8faaf8ee SHA512 ac0937a2ff90ae1cd2af4dc5e6a43f101709d35d15641940a6544967d41a1c10fe346979840afffe4d449798a34b2ade0442009b4290c45886ceda77f3ae8870
+DIST firefox-149.0-km.xpi 372643 BLAKE2B e2f99569f73a77d4903ec64f654651746abd7a7d14a15bb15f5a32772c2af5868b8caef72fea5ede5808d1f80022a4c0c9364a3dab68685bcc233884aa3cdc0f SHA512 7d6ff3741b486514bd0527d5b67015f9e478b2e2ec1933faf322e4da77c3fe20931e258c8ea7fe73d34b65bd7fdcce86233f470420bef2ecc30f999e352297a9
+DIST firefox-149.0-kn.xpi 330009 BLAKE2B d441c4795b08d030ce8f09cbd268c6a3e2a2e84c638966e99c89fb0d2dbaaaad0acbfca04ad14ee95f7e87f3ed79453a101f91c8abf73db4c374691a80507e91 SHA512 c5fc9e5f6cf201a99125dd9e3cec1f22437bcd3d517b35f9c8b2b14adb05cb80bcd7f66f0e3078103785c6b0379d9001eeb71bdf9158797ab908c15b1f9c3c6f
+DIST firefox-149.0-ko.xpi 499017 BLAKE2B 9c64a8fd167cb9b84fd07407a0180f60a8f2c03f87c6093978cd9cf4f98ed9a350097eb96dc987a2e8d4b844271b9d1a72ed614be1554953ea1d4e88f13b7b81 SHA512 1a306c8925c476676e7eae5f9aa71aeb4326a8d5b201b8f4cfbe5008baa6cdc64a87e955425b7e00227db62d7dbb3d92165f3b54c53e5e1c77eaeaee981dcd0b
+DIST firefox-149.0-lij.xpi 317103 BLAKE2B d8f3d1857507e2bc2968b021b4b18e5747380eddcac60fb136fa628310dad198ba8b7d5c94c4ece45285846230cf8bba358bf6f53d40aac0a0a412792ace9e38 SHA512 f41001489f6fe5d47e3ecc808292d1f9396ac24176926f6fde2bae4f613546fd9148e90a44a822e73f66e909cba2da28bc83097c08a8558b39ea54243db168e3
+DIST firefox-149.0-lt.xpi 376875 BLAKE2B 5e50c9f170fcb8065d7fc5c914ff7d3a84bc8045812b9e9c1a3275498904c1c476d84af6550bf75c2d773d6882ac96b18517c02f8b8175a6361e2a91b98c9d9e SHA512 81fd1ca304397323d3e13438ea81d13cfde1e1d30535fb8df2957c277be130d4f27dc24093ce2d9bdc1aa6083a58fd509a99ed4f7df9b810604eff92945f2414
+DIST firefox-149.0-lv.xpi 388169 BLAKE2B 1c8aa3af2fc661b2bdb0b04a22cf0d9f5db36ca71b857547e6caf5c59666d9cda63ffca2d758b7a147ea56b35b7cf565b1287dadfe51e1061bede450482fd1a6 SHA512 0e3ada35f5243b1f03da1366569dd04428689dea35344f2ba24e58757c0beddcba337a2c7ff289a784952a1407442d5da813c9fede14209668ea90e347ba98c2
+DIST firefox-149.0-mk.xpi 318503 BLAKE2B 8a637286c59df9608fd321f64ce674971f3ad2edc7f9f4222d603722d81661647eeabb3be12f9043f00d4286d4b3082fd84d4b7aff280d86c55c7fa3fa922399 SHA512 0bad6376b9d3fab67c27bfdd8ac3876947d43075376a311605d09db399c9d873639a93515bce8a56d22e22fb09f4ab78e71ce4976abddb4d06afef7d70d7c529
+DIST firefox-149.0-mr.xpi 353837 BLAKE2B 5a54194f509c6919caff31eea230d8d45e23bc360bc545594e8f0249b4828e14396eb64a056da2d9cfa4bba77346d010bc70e8b2de5957b425cda06a92284994 SHA512 66c227171bed96eb7a89fc91683f0048401208512e8acb20988b40ab2e790507eb6cc50f88b18edef27d310cfeba1a72e71669cdbcd888a5bfd4819839cae78c
+DIST firefox-149.0-ms.xpi 293573 BLAKE2B d8c8868b2ed306f336708d69d4cf42319a038cecfa92dfe487d595e7bdcd27821f5072027b55ce9d807148513904fed16b5a4fb631cedc553cc233d43cdcd38d SHA512 8c7b6bbe69d816a4e9540c9f28b8482a63e9d954d20a3e5b2403fd560cbc8b1d856feafb5fd27214f2ff114f70198168c4a6fa3a9e6cb03b83d056d8d01de68f
+DIST firefox-149.0-my.xpi 340672 BLAKE2B 9fe1f2e60d2533fd326c00d1f1578c4be9e0ffe5aa012d5ea1bab951f569f5afb69633de0ddfb98490c4959ce7d42b0d29f89c5f9efb182891aa5a1cd4b2ebe2 SHA512 7f89941440cf609bc16a31224ebd604d3594ee87c80e12c844e7e8524bc068181d80ec467388259d09ccba74dbc75bd4135b909785d6ea1d1298943ec4e0c9cf
+DIST firefox-149.0-nb-NO.xpi 458791 BLAKE2B 5df1f1a993d17787517fb7ff2816c4cd1e7493f3ade498e8e1aa1a0a8bfeb3d055f158bd927274045b2df2297fb785bddb32f57a128386bc65013037065bd3f9 SHA512 6b1e8221cba3efc422ff5ffccffdc9be5a12ae15bd44d6f356c688dff978d9a1350987fe7d4056b80793e651f9701d92abb432dcbc9ee2cda1a8468b0cb231db
+DIST firefox-149.0-ne-NP.xpi 346178 BLAKE2B 4128ea2bc22c366f7d4132a5bc721bc7e2dededf30917c973061535952ff9ae4e462933b3af467994dd6ade636c3f607159dc76ababa2b498793bbaa0ac60cad SHA512 6172242766ff7134782fab43f5bd3b59f986f9f7b679ab971c5b373cff936fd101a0c233e3b75a7ec57db68f5c5bf36bcadbe128335d077ed0a750a9d5d3074b
+DIST firefox-149.0-nl.xpi 466211 BLAKE2B 6084ecca304c65d3b8895853197afe8ae8a41901a4c29906bb207d53907ef8123c7d57dee47ad407c97f014c99d816561fafa802711033e6445ea74d966b67e2 SHA512 86f6741cb914878c0467d37101b8ab8f3eaa6bbfce2222184d9d267c81f21088039629b4ced2b8da810cbea7a7682f679598425dff62ab6a8a629f5ddb5e6f3e
+DIST firefox-149.0-nn-NO.xpi 462033 BLAKE2B df32bba60f9061c2c59f33a94e96a25e79dc4099131ac4f2213cd1a3be2781d8b9765426225ab49cde40e6c83f4e004e0a2e4549d176f821a8f8c5885cc778d4 SHA512 cd969232d97f319619547e907c5717907d84d24d87c70de7dc7675853f865e27ace00f21d4f13120fa2ac9d9584e52797b24a4caf4a583efa53888fd1cb5ff7a
+DIST firefox-149.0-oc.xpi 409684 BLAKE2B a5ae52474237590b8f60a57834975472c4369d819d1bf88051aded665a7a16cceca7867815047b256616d13b21ad5be29b086b2f87e1f0f427aac79ebfa2d584 SHA512 e2c05b15f8428d70c240b83d07181fe77b6c3cfaff7603c7c13c18f9cc72c9dfd1eb5434f303cb9b9d9919fe160dc2c593c23ce8763e1d759697eef5258428c5
+DIST firefox-149.0-pa-IN.xpi 530538 BLAKE2B 90adbebb5c540ebdcf4dcb4b7a8a5668dd699bd6aba3e799bf4fb3655f4256fe6dde1484bd340f34036b3ea02e66e54daea13ecfec0c871ac148603607d5d3c6 SHA512 19b3e08f14df676a1b4c9f797fc4d72154a36311a7ef87a0481c08e7b01b99febbc4e9cdab6599dc1eec443a94f6460316fcf7ac4ccbc5bce9c0fb277d66340e
+DIST firefox-149.0-pl.xpi 496274 BLAKE2B c6b0342191b4742244e00392df3694976d9dd108c07e0c5c07971317ff3c7f2291da2358e538840214ff121684012737a62e8e579c9b3a3cde16aae3ce2a495c SHA512 29d49f7aaeeb572831ed9d9c0ab57bbbfde419db594bb0e7bfca5ec8c5722d12b409374168cacd58011dee6f5129df5ce2663288b4d7137191d0c3f7f57d7ad2
+DIST firefox-149.0-pt-BR.xpi 469507 BLAKE2B e21bb6b7d1bffecdc2bb9140dc74d9f0d2452c9a6829c29468a8ebaad95423c260b7542fdb38133d87cc2f0f53afca3bba6dedddb264387214bad0ee4a8a0f98 SHA512 3a5162e6722bd2c1f92204f2cc68c6c2f6c4fa41bddb437b2c132b3e7583da4cc65eeec009aa8896da3a312ee61ea1895a891d1360e65df283475d00b6656e33
+DIST firefox-149.0-pt-PT.xpi 461062 BLAKE2B d3621e500b3875c2b8608a773a25bfcd019c51f72d02434196e89f07d95355f43751af6372ee99c4b2cf7ac012e9bceb18fd325e459f6c24743b7ae1a00e26ec SHA512 3476e45c36a407a055956d86476d0625586f14f95a637ff48af62f483e35f7e0b995d367ebb7336a13ee6e20c162ffffd59b0c3f6d0d3f88f42b9c45593819e5
+DIST firefox-149.0-rm.xpi 452409 BLAKE2B bc99f5764880350c4adcf2cebd5810067f0f1d008c804099dceb2e36ca2f6bf5d32704ade07f104d4694d4753dd839c446de48221f8365bde7fb53938403c920 SHA512 c7800ce4f20ea8743c84933a8988e96d017fdf38740352877a216e259d0da5f994e74787e5aeecf76cebdb7103a67b9baa3b309ddee552443cf2922d716cf815
+DIST firefox-149.0-ro.xpi 480382 BLAKE2B fd7a145342b9dbaf0197eb95029c72280dfe0286eba1d819c0005355378e9b0b3447b3f0abacd7c51d61b1b2f36d68973ce76c13691ab18cfe00d52ead937ce5 SHA512 b655cc0ae0e809af5eb00a66caad700d5e8e878da4ba94df44fa05784ae37543fe6094d39fd89ddc03743dabb2252d878c6911d5b82df969fd14e8eaf81b255f
+DIST firefox-149.0-ru.xpi 563385 BLAKE2B a88fce4d04731d7a033b8c1bbe64af71fe22b63983e730de11d88518d96dcd4d4d335bac99ec713e296e5f2467e03d0d46fd6971519da7bd1c28860f7008940a SHA512 6d70038519ebb32ee0b636d178a46dc51f0794b5706a872540ebdb1b405a12a92f86ff0bc66ce0c18b0b60f48996814009b05aa86b8c7bb9cf72a707dffc39be
+DIST firefox-149.0-sc.xpi 420107 BLAKE2B a38df948c87dfdb06d4a757a8291b2f5792dea1708d8725df0d65876c523e1d89728cf376e0318bb0c554023f44d5f2169ab457903e888bf0787fac0e328cf4f SHA512 10c2d426b70d7bf904a12044c125b2e0b72099b7ad9b23a6fd099723a9afabc9896a84abeb0cffcb00abbded0284f2b857bc1894a25192df14e7a8622ca4dae4
+DIST firefox-149.0-sco.xpi 319912 BLAKE2B 850c03635bd765427f670db1bbb436ba395432e3c1a5ccc080d325b7d33a3350db0e7e8135da15ed4ecd517edf8479f749e1b87ef43f1462a02c63c554f41bba SHA512 31568c4f5908673f8c93cd6dd2e37bfad581ffe4cf875d24dc30af7eee07722ca7fbe5d55f8f400898014dc158dc5d75cd3e3c4c3f1b49666639a17bdc394f01
+DIST firefox-149.0-si.xpi 406431 BLAKE2B e5648a91a0083cf5b1f1ecb4c733c066ded1a36c44c4628b0c3f3b6fa1ddc132c30f4092f4ea489113cbc6a48fceb8cb19f4d6283c154ce31f4cb0c13ce1a6e6 SHA512 15145e148c6b430f1dbbbb19e7a82bbf472f60f21dfe70e27fe985d59e34c03c1d6e6a753e41dab1af16defe581e4160f8dd432b4f32776554614b5782682e59
+DIST firefox-149.0-sk.xpi 502304 BLAKE2B f0f8929c51df2b7e4a0e88e7bb3710b5c48512f221f694b425d96521919684fe9bba772341554201cc6b054c5548cfc5c665d397f90fb8446bb28542186f3585 SHA512 e3c3fae451a50070f7b62b17f666f2b4e3af6b7a8f30d8a871a78c97afbe5a7064a05c5e388f66b5f0b4f5461b806d2df38f8557cc57eed9bef0aa6d3e924789
+DIST firefox-149.0-skr.xpi 480790 BLAKE2B 73ac70169392e8060f1152d5742391d0b094a2f29d004fc2968108565cb4dae6c072943b268caab2382e25f707eee1dae352b988d6448331286f9e92301c3b18 SHA512 361a1a78957d36265ef3e4eebf5b8bdc8c92227e71e857c130a02eec4e5b0751b36fb588e914d9748658d821e93f90c4a971a4827db02d74efebc92880188b20
+DIST firefox-149.0-sl.xpi 466625 BLAKE2B 89b4824002d4267b674cf118aede8d43d010ffcf75c3ff09605fccafbbcaf1ecd7b727bf7091d1485a60d4a4e314f68b9b286bbac7819d53aba634d824d9b2a9 SHA512 ce604298830355feee2be391454264606ee15e098b5d02355bdb472a7cbad4ecd1f0edcaad4cb46e611fe61a7c019b243412680ac8df4d5acb101de6c86dedf8
+DIST firefox-149.0-son.xpi 272184 BLAKE2B bba964b923635fdf828efb8ef19598d756efb01d92c49db788fe803c635b1878836ebfd2aedef7db13f88df3f8d3788d6c7de098034baea50863ea8db173f471 SHA512 dbfb9c0cbfcc64a196cd7169d405456033846008e29dfd2dbd009ffb4bd9f38735a8a3ca8e65662a3974c55794a29d2f4da407471b87f4f47895e903e22116db
+DIST firefox-149.0-sq.xpi 487865 BLAKE2B ed4b8be183abc8075f070321123d47fd3cfc6ae0deee799d28e474f37dac7b1423c00a6d62bff6c31d1829862dffee4ba2a0eaf4d1b92387f7060c4ac9563e84 SHA512 134a1c45c1793e99c9c3d4836189c4727953db89bba7e525c1c368400bf4eb712661d0fb1905dd2cc897669a28405c2643f59054f397da37743460d4d6977095
+DIST firefox-149.0-sr.xpi 448709 BLAKE2B 49639c7bb7119e65342d4548bede976243d5542805f51140ce4624b560413381b3cb83c3c7df6f5ebed3bf4771718cdbb1e09eb9d50f948f7e6e8b467547c56d SHA512 adbedba4f0270dcf6c4fb594bd4855eb4de26e066f1a2e59ebaa63a8508458e21d1eba85b8940d04c54a553a2bc2b7b2f843d0c41e625076848ecb977dff36b8
+DIST firefox-149.0-sv-SE.xpi 465895 BLAKE2B 1d3a6ca02bbf52631e4f650a2fbf577d830ae178c9a0a98df0d4209752361f1be67386f0de4e347190cad84e78ac4d839599ce69364de3141a1af020302ec9cf SHA512 cc2c774ebac927fdf9fa5dde003b29c8b2edcfc6b8ab8145141cc692909af9a3775ecdcacf8888057d7b7f9e86c271171b11e00208f8a3f20a34fe69bea79dc2
+DIST firefox-149.0-szl.xpi 338474 BLAKE2B 6032b56edc0535258a41fbc9fed076b1bc851e1eca9e4d8e8fd540928a26c24f397fca96fc692806f6e884437c571f6cafc6982fdf39a9787a6bf23f4d000497 SHA512 3e82979f257f4ad9b0038a4d3e78b40bca66805fc752dcbbe0ac5911f41a0bbdd614982dcbe9bc8fe5465c7e22c4f406cbe97ebd5a0dda9f3718cd0c84c8e31d
+DIST firefox-149.0-ta.xpi 335792 BLAKE2B c941a76eb16262574a4b51b956982d53b9622f072d5fc482a8adcd06084a581c1d3bb7137077fe6d9be409433224819cbea0fbf6231a8de20f9f5eaa0b96df42 SHA512 c3c1a90ccfd061bffdffbfb23dd00c592516443c848395c5ab557e3af5ca4764979706cce4f7703b85df1b2d7ea3f384420a053a65c4144711fb54ba92e40bde
+DIST firefox-149.0-te.xpi 378842 BLAKE2B c64eee9af24974cd4c95c863faf33953e5967466c54810ae6f0277db706d5bcfd3e506fa586f7138e418dcf5d67ea35287c0edd868aeb18c3f4308b7cf9fbc62 SHA512 2ee55cf52f0f75ebfdcbb069c391d95e80c506b97667b3fcf8eb756b22a3e61de5f18dac6eb7df443a6d000258fad5c2ed5389f1ee702e1b4b210eacfc08e513
+DIST firefox-149.0-th.xpi 536737 BLAKE2B f23457079a8cf6dd51e1629418318584255ee56d856c0f95ab7f6f8292007be500718d984505f215ae721254c6cb11afa906b66ce8ee6ee0de41100e2d8ace54 SHA512 6b713b1bbea629fc02ceee617c53dc09c254c46b4b96bbe5bd8301e8543c3862a8a40b48e7dda7cf27cf5682521445d4183f614eb0f0bff0f302582506792e6c
+DIST firefox-149.0-tl.xpi 353105 BLAKE2B a5fb0ba77a177d229190b03780ed84df0efbe6201be448d56d980f71e6e104963d73b6d4c8cfc142674cf810de722654298066b7db1d46d41ea9697824ef578b SHA512 4b4d6c1b738d44a49abfcb1c601ad18685f2a3041b8fae2e5b47da179365ab3b7615228c0100fcc463dcdc6eeae48889e2bc276018257db456b0a666d1f1d02b
+DIST firefox-149.0-tr.xpi 479380 BLAKE2B 95cd35de80e607e3fad37a0f1e0357f47b4dace04f17b2b073e1360e0f8b2a981fdf28cb34dbc05b0d55f07703ee36bf062326a287895732443dc2159870e3f8 SHA512 5503084726b04aba0fa588ea1748178d2dbe2204ddc3f6e8daaad4b27b5e1d087ab186b31f7c425677ae6350b3ba795816f2ebd21c216a40918178b8099d21f1
+DIST firefox-149.0-trs.xpi 322185 BLAKE2B d3831e75bba6f2e3e8ad8320ad26d9302d960149656c0055836f5723b83d9a223cc2e309d53628820c0d7ef7f10de90c7486c8eac5ad6387e29d87a8a180ff00 SHA512 47da1870482b264fabfa56535a681310ec6efb09324d155d61d659c61cac657ccdbcf18cc60b6afb1d170885faf91d494c9993f034998aa5c3aa75cda296e0c9
+DIST firefox-149.0-uk.xpi 545025 BLAKE2B 46d1822cf90455fd985cab0c2e5f74d06242297ff2189c4e96fa3e4dfbc2317fe809def6842cdff5ad5f8ec5d94e548f00a6eb477de2261225fb71b157df1d6c SHA512 c89c465d526173d2862bb8047c0db1b9f58a71b83fa180eadada16344dca1e3cf86bbf2db6c25f015bc8de06ca8000216ef4d1437cd10e3d15ab0eb3233a161d
+DIST firefox-149.0-ur.xpi 367807 BLAKE2B 37bb7f63e7afcfcce3809efe6ce700334aab99211f11c332bff0a47d61257b09d9e97f514e4bb6918e63c9411afedea0d6bc818c8c5a92c73a55a20ae62c3434 SHA512 f68f97ce44d47465f06249036679f40ee9f69ae7bd434a853801641b757e217281e82b507bafdbd2726d673450c9b6c56093f285e2d704a9351003bcb9d83540
+DIST firefox-149.0-uz.xpi 301620 BLAKE2B 374ab1743d4514e1ab02ec70d6ece14e71e2e2430dd2eb24b162695132671e2496ea39da4c3c97f1d1c58bef986448a403dd0da5c0c41e2884b157f68f93ef54 SHA512 608bd26e10c70db8a594390f48daa466bc4620cce26bc0398fcfd9b6907cc749cdee1ac544aa6ae460f630256a1cfce2df17cd8fcbef6dec24f82113507c5002
+DIST firefox-149.0-vi.xpi 500962 BLAKE2B f2706ddb591e017fcbe12e57ac052aeaa6a221bcc693f59a94db0aef3e289e59d0e39aaf8565cf12b36a321a63f041da5f5776e767de990fb811c7ec4c0a002a SHA512 b58918d36348ebf35472d9c3184cbbb029278371c6ba35c8dd5eb4b5656a844435007d401b5441b69a20e73f00fdecc7fc90c40b624631f0160383a4b5cd0fc4
+DIST firefox-149.0-xh.xpi 271712 BLAKE2B 708e303c2b7cd1c8ef0575a4b1f40ce39ab41c688eff37170ac6309f63cd610f5b3e49c2f262b49843cfb8ae7a428db3a4ee7ddb4fb65343fb56a80103b6a2ed SHA512 81fb0f7e62b630e3980cbd8247bf00587d51a00941f378fe7d8e6bb50b9cf40817afb37f3e5e4fed19a3aae1fd197a2bb2bd13f03b5486aae5fa129000312eca
+DIST firefox-149.0-zh-CN.xpi 489028 BLAKE2B 2503bb6cc6ac678de0b6415bdf1b11f82b586abab3e4cf8b9ca5d51a0d4d99e67c4659c13bfa5bdc29e7de1c4e61306b463954517c90890057ab340115b2c5ff SHA512 feee1661fd504641c57446c9621931e937c16a6f211b5657302d6269cdd2ab97b5b1241362eddb62879beb79667759a99f58c45bd5c13a4f5736abba730025cc
+DIST firefox-149.0-zh-TW.xpi 495341 BLAKE2B 74d44ce8ef8881131d9679bc15c70a755d3c3e8204d921cca7e58e2c1c3d5df95b1ba4efb30278a5e919fb83cddd05370a72da2c4f376705173192f1d12c91a7 SHA512 05b795f218a7126e0c619954eb5fd00da6b69a8264a5193f8deb377c4b87c4e19e227a2d66c42411ef20ce823604e911e2d01a74e404c955a094d84711321dd7
diff --git a/www-client/firefox-l10n/firefox-l10n-149.0.ebuild b/www-client/firefox-l10n/firefox-l10n-149.0.ebuild
new file mode 100644
index 000000000000..324f27ede7d3
--- /dev/null
+++ b/www-client/firefox-l10n/firefox-l10n-149.0.ebuild
@@ -0,0 +1,180 @@
+# Copyright 2026 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"
+ HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/"
+else
+ HOMEPAGE="https://www.firefox.com"
+fi
+
+MOZ_PN="${PN%-l10n}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+DESCRIPTION="Firefox Web Browser's translation files"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="~www-client/firefox-${PV}"
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}"
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb el en-CA en-GB
+ en-US es-AR es-ES et eu fi fr fy-NL ga-IE gd gl he hr hsb hu id
+ is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO pa-IN pl pt-BR
+ pt-PT rm ro ru sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( skr )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_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
+}
+
+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_install() {
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${MOZ_PN}"
+
+ # 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
+}
diff --git a/www-client/firefox-l10n/metadata.xml b/www-client/firefox-l10n/metadata.xml
new file mode 100644
index 000000000000..1ec7aaa1b7a7
--- /dev/null
+++ b/www-client/firefox-l10n/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>mozilla@gentoo.org</email>
+ <name>Gentoo Mozilla Team</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 6fb59f6a8394..9282086a2fa2 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -100,6 +100,107 @@ DIST firefox-140.8.0esr-xh.xpi 272795 BLAKE2B d2d1fd48616e85c0489935a203592dfa2d
DIST firefox-140.8.0esr-zh-CN.xpi 460699 BLAKE2B 3976260e1335824a5b93c619e46e9bdcf29eb580ecebf68295f771cca04a577919e72d7603002a421adc840091172dfd8449c45fa6a0c2a4e8e94b6bcd565314 SHA512 f8ac0773fcd77b6daec1016d50589a6139261db3fc32eb45baf0097e2276fc414ca783c52f816468ab514363da4b90e0f33ac7b4f847fbd48c410942894424ae
DIST firefox-140.8.0esr-zh-TW.xpi 463741 BLAKE2B 7c2b0ed8a7f7c1ae9ebe448ee4925e25de7916398e259a07fbed1e812920980719162fa4ae15356f5dbac8b82f6ad334ae87f45861bd409c2e2208571059227a SHA512 a6cf29d586170508031ba18f0b7a8cd4c0d931b29ad819b371c08534528d4d7346a0c142dc397a6469d65ea38ada7d84bbb9c041002ba687ad4d80decf9bec25
DIST firefox-140.8.0esr.source.tar.xz 633564864 BLAKE2B dbbf560ae20c6eb384cce577d49fc71152dc3c72dde64efadfa12d975dda2e13aa1c6da7517e435d3e72b0501f440a5cb3a35a75796a42256627620572bf85f3 SHA512 3baca73c5c264884afa4b1d76ded4417119640e1161b8fed4ca406f0ec44e7f685258f5085f473dc9eff9057a6548a9b59cec3c696358dd1032503aa75f91d05
+DIST firefox-140.9.0esr-ach.xpi 294355 BLAKE2B 7fa1c250bae6e8c6ce3776063e627f28ffa86909d432be20eb4772a2e4e4c88a299ababa4a6dca421c450ea8c91e71b4c126cf021ccb170ecabbb834bc77a17f SHA512 9e27eda45b2ccec239390b9dea04f072c78ac50a0bcc2b76d557984113bf99e8824b141f6af28c1aa83cb9d4ced4ca8fd85b96f9b246094ec5320fb1ab15c18d
+DIST firefox-140.9.0esr-af.xpi 266636 BLAKE2B 3563f47478060b4139e1d7b427db40a6662ab4a54d4f968cf804e8cbf42c4aa7b2a868a94aede0269577ae1ce225fd6ec77b0bf955a18b8c239f91e1b960acae SHA512 a5dec531c96bab7f317be6221d37abfffbf5842269096429b9ecc6dfb9d0fe65c2b41a897d0a459bc08932c9db97b821362a93e9b81207eb3e7e27515767eed0
+DIST firefox-140.9.0esr-an.xpi 332293 BLAKE2B 79deade6820cfb3ecd83d046714beec6f734ce3fbdd00daf8240ddb2ebb172a21f7ce4b37045153ac78157a83781f34c11d9bb3f4fbea2194a462f5559a43ff6 SHA512 9ad7ffbe14e6b069473fe58d1ab7dfa1561e83d699da5fe6c16e24313a06340bfc2c5ff779077e906143c71a032eb0f84eb16b2c772f651802cb0669d9750f80
+DIST firefox-140.9.0esr-ar.xpi 445284 BLAKE2B bcb0ae22e0e3760f2264f1bd7ea94e6a0fe7702d8c411bcc432a1d45e26f590c0c2e7a8aa87592f4f66e81c05f225d95469f8950f6898f9feacddc2dbfe41274 SHA512 738f192e3e283c8a2ebb33ef49d05c19b68cdb424d05a5b52e224913730152dc00c382770d0e0dba29ebbe5c39e38826c6685c35bfaa51151cdf03578d096bbd
+DIST firefox-140.9.0esr-ast.xpi 312214 BLAKE2B 8eb3572b10c4d49e1b37773a259b01832f4a7cfa1a4d65bcf052a3796fc8823819a817e1dce0a8efc8e63ddf8e4cc9ab56d658bb7e431144495836945149d91d SHA512 a50da1d60cb7dc8c1f2dae2fdc84d55996e407e8c172d730b279fb31f928f86babf994a681716c8de39e7610aa3a88e0a21fa8366d38f3ff901237865acd3ad7
+DIST firefox-140.9.0esr-az.xpi 318408 BLAKE2B d03be74c0beada0d1b73aef3012ea5ac7d411c3c505ec8908dc15eb8fb1f53b422931b01d97b18774981fcc181ca7b638a43fd63778ddda4aea44a8ab204c1be SHA512 deaae5be6b02617830a8909f66c52fea2c58d331f3f1a03f462bf6e7b4bb0d8f9c90c95d615bbb2bd613f58d0280bbb7277078e933a1128dd3370912554fedfa
+DIST firefox-140.9.0esr-be.xpi 521196 BLAKE2B f580fcc5983e77434b25e2f2f2ccc0ded9299176e7fa5393147f712df30ed458f4de8cba43d280de14912a3c5783b3b491b56670c29e47ec271554dd455cd467 SHA512 bd3a055223a0894ff2b2189948f1f763e3473c435c6764e03cf6e0b5471555e55458d6a32c07b71b5bf9132eebc8096a9544c38986634523529d1b92dabeca98
+DIST firefox-140.9.0esr-bg.xpi 457556 BLAKE2B d8af7bdea9c3060c225f196bf6167616e3354daebad2998f8a20a56964f02d27c92fe50da093aee4ddee6baa3fb24feaf9bfe4ebd33f3bc7bb1bcd800bcfea04 SHA512 b6f66e2da99c692540a008c16de00798ae906b29d4357db6138eaacb38e34908f00fca3ef46e2d2993ff6520e1fa7019e5a0976745b47e60b1951fc70fdbf297
+DIST firefox-140.9.0esr-bn.xpi 413370 BLAKE2B 55052253085decbe4192bbebf96fb398de62d55bee09772ef74320f9cb9a019537b7ba69c52b27b2c425d15b193e3ec4fe0859a9efcb957be90bbfdf38bff561 SHA512 360122683f4ca224914a2f8e8c16040a3092e4049131243258ad9b49ef1b105a2768601ed15204c6d0224ead3dec6f7face2143f5350b84ed3829153a218647a
+DIST firefox-140.9.0esr-br.xpi 395306 BLAKE2B 014cda17177511288e2beca223418323bb127abb63ac217dfdb46433c67fb99dfff3a29e83530de23b5eb338681f7f2e3df4f116812094bf589795d24593eed1 SHA512 4ee9e7c3921b906f99ecfc66e11c7e3b99fc907ee3801673e7f089d154577442069ebe0312e0237b9ea452129ee5c7c06d1fe78e7859901786d2104234847c62
+DIST firefox-140.9.0esr-bs.xpi 447168 BLAKE2B 5ad564a6c5e6df17906adb2cf4471cd941e7168def965412093a725c8dd7945248573ff0f33a4b72ae2e21e7ffb1e49edd6855967b82adab189a3d516c1a8985 SHA512 05972f53deb3569d6c8685536f0c1d5fefe2d29402ed9308cd00ea2f5b763cdba9d71f3aed265bb2cc99f1ccec31f15e3ceeb0f2748b59b1c14b0cc5a0ff54f9
+DIST firefox-140.9.0esr-ca-valencia.xpi 357934 BLAKE2B fa72e6b907a91aa38e6e6cf530a47123dded239423953587e9e9aebf4410917a7b5dffa07ff51249f0189a23908edfdd37d56a15e166ee139c936cca65029cb7 SHA512 cae016f6d4fe74c3184b45ec4e75174fbe8b4bce20ab83bb90461a9c21b3bab36a21eed1e29b5c2c40b4f124f073784266f185b6c035e4527e34c71267864d58
+DIST firefox-140.9.0esr-ca.xpi 404823 BLAKE2B 200b9a9c07ec690d08fda006a04e470f3a39b50547323d7b0ca20565d606b265598462f835898f93a7cd21dcff19af562e77079693f88dbb5e881d79f9834526 SHA512 a878479fb4a1a15fbe5e6e6d691a4f07ed66c619737b86b4e8381d03e5311c9bf19d67ed30958fc54cba782579b8ff43b65ff05c0831cb5f0195e1099ae13dda
+DIST firefox-140.9.0esr-cak.xpi 390832 BLAKE2B 0ac71975a674af5f7084b3132b177e52d095ffab160b0d9bdc14d7521348e22af09516f09979150e0276e61413539893e3d337518528a34684903a99bb2cf683 SHA512 c099b3c392a80de733d894530c4a34447a663e9d6a9e1d1807ca4241184ba29bc4d716b4d46d48439ed640b56a0ac55c83ba6594ece9fa1711d8e4b982eaa8d8
+DIST firefox-140.9.0esr-cs.xpi 475925 BLAKE2B b9b7a98299386620da70e355372f8ec439c889e500d89d8d24130feebdffe6d8a0e48ad5276fc25f0965647fb8d5474d258547a33693ac2d9150e6e87ea918c5 SHA512 b0030445ab94db9ce834bd25c7c3d9fbc36632853d1a2026b3a582cd26f8224f16802fee28b3844db81f6796136e2e3cdaaffe34a90e98d8d255721730480e46
+DIST firefox-140.9.0esr-cy.xpi 441956 BLAKE2B 3c357aa0e11d8a3510c11c57548d5774242ef940dc0766aa323ba31a7a0385cfcd4a4816295aea9f3a5690ba138b5cbc6edc364dfd58d31b8359de5f71813adf SHA512 9f3d2cac05b5a15c61bcff376c8c08c839d074d6000d8b74e628ed8016677c298dbba91e87b66dcd116978ed0c2e31167fbb732441b606be425ae946a70bca04
+DIST firefox-140.9.0esr-da.xpi 431121 BLAKE2B 5b994e3b195cd60def1c8766c47630584f480add35b0ba46799c183609d061b13a76c73a39a3c7ce9cf53cea290a36985933b4e1b4d2ab9bd819d537b97eef16 SHA512 e07e22c7c286063265a7bee6befbe044c2e59c5426c7530ee0dcf68c34e84754bee61fff91374b92fa920819467edc215f3756ae58df7a96e07c93e2dda465b6
+DIST firefox-140.9.0esr-de.xpi 452700 BLAKE2B bd3c3a056ca84d0a264dd50bbfcb5b50345767e98ceb6ceed889e9b2d277e99091917a36cce57efa28008320fa1647c2742e8cd9ffb7e7125cafca2ac24e909a SHA512 2b2ccd1e4ef7eb819d8ec651fb6bbda4347df110e91ad99211d201ac57c06450dd5a63225e6c9ec3660221e8644a0ee9fd6f1f04e06c3f13bed30112651061c3
+DIST firefox-140.9.0esr-dsb.xpi 466068 BLAKE2B e622bde8ee1f67b4d09898e3e8e4215a4d09d07cebc73a0de764960810463352226035e820959b981c397b3b70460486060c2be849c88299eca416aa55fe320e SHA512 8879411e76339047c95f459863fad9ed5d8b13a9fd379789db4b3b24d364d1978d5ffd37e6690c30640428423d8691ff596e84a9f46e3f97f97450e75e2e2aa5
+DIST firefox-140.9.0esr-el.xpi 536819 BLAKE2B 012dd1614700dee9350b5333502412f2f7f9f4c0fa6fbee2f7a1527e610257527a3f5b0e1e1d377a460ef56ad6b102fd353c421d6d28229d5e44a58412d0d049 SHA512 0b159d7305598b720575a057a1de7ce5e9a0335eb3ffa90ee0a75361955018cc35613bccbe38737804426deb6958dfbbddedf5bbb0c8c34f7847011aae39f21a
+DIST firefox-140.9.0esr-en-CA.xpi 411055 BLAKE2B cfe753ed3b0f3dc67da718347ce85a3f2091c926c8a01b230db07fdfe8616e275a6352118a407a6ac9e2de77678e4e481ad7706c77bfa7590ca73df58bf33561 SHA512 1c23ccc7c1b622d98dd23b4fb3e5c1be4be1e9308f2fb7b0f9a92456254e54e6c7437110a986c3962142114b2b756cf10d4fbcba44160b445d09f43d9cd7e6c7
+DIST firefox-140.9.0esr-en-GB.xpi 411398 BLAKE2B 517a4e7f21baded56dba08857747c805a948b22d71f6917957769e0acc3fdacafc0de96ae66b729d332aab3360e75e7d55154afad965a40b483975f1ee8a33ab SHA512 57be8835341f8769bd5f22b417af1a5a0a095162980ea0ca3a1f0845adda2493af89e86f70fc7e5ed1d62f5abcc8d537b53e1ba9f23973d3f3bf10d3566db4ad
+DIST firefox-140.9.0esr-eo.xpi 433460 BLAKE2B e8bbd53ef3f9d58f44d2b6af47c31bf1f0264fa94239ec63b03dc6cdfac586b3107ffc99dc179162364aedc6719eabb494b80849d044b4c99dbae4351b0913dc SHA512 0d562520343d6ddbdd21474f142f7044c0b956673bb256295b400d14213171c89faf6ab67e00975de639b729693b64bdf83776df5021989b6553ec5f091a45dd
+DIST firefox-140.9.0esr-es-AR.xpi 445510 BLAKE2B 4d88a7237aa478c6d1ee54e20df55bc55398c90a7064220325ed9e5d80e48e414591bf159b3bbaf00b1066fa17c1ffe43d0a02ab2f6a6de600e260ba4b69b783 SHA512 aa5662b0fcf4048059a469e1a98a462484a198c58084fcc70f8a1bf7d471476548e47261d6e6d7af39d0310e885b7285d62b112acf7e60080293e8c169b001d4
+DIST firefox-140.9.0esr-es-CL.xpi 446304 BLAKE2B a5b9e85ebdb859cb0564cfcd2024eb0d1b75cc501cfb7f2a7bce603db59b2d5fced7237ef227fba9f9acd76245dee16b9eebd9eee77cbce73e2624cee1ae4ff6 SHA512 5c7d875476bfbbe57a7e50847562647dc663ecaa550f871ddea69d27d64b367e922f905723e82bff234ac0ec750874669006a87be585d0d38ebf384b006f141f
+DIST firefox-140.9.0esr-es-ES.xpi 447006 BLAKE2B 46ca54870b9efe15bd8814e53c7815f0bf097140fc22176d352d509b597b23bd159c5a9ec9606755975162745b0c51b64ec31bfe138e364f854450dceebc01cc SHA512 e8ae4772d366fc17a1ff9f056228f15149f165bede0ffbef3bd6ed7f4dbc823acab5f916801eb45e4e9a54c321a26e7d3cea294d13809b6f69dca8367909f504
+DIST firefox-140.9.0esr-es-MX.xpi 446236 BLAKE2B 7d8225ad9bbee259f1ed363871e1569171c750247b6457c3e69f943168ebfee90ab8ef49b15c0a6b045f7df9408e656795da09131165ce8115c382b2e4797586 SHA512 9d0803a988c66c980d12caec4e7a370a32d3ab6f90f968b4df28fa569a4b841b051070ab4cf21ce45dffb804e5da599c96f9a1d2b8a5fa3b0343743653c78525
+DIST firefox-140.9.0esr-et.xpi 359317 BLAKE2B dff0fc6fcf632dd4961ea2524411bec3e1696b2aa582e650ca9cb1789b4fe94931719e2869999f84e6f12c44227b9c5a8dd5618a068e338db8df930677ffe9cb SHA512 6bcc54c76087c79ec990b8c1020e2803cc611a2f0b03fa2e97c1c384b3bd3192de90895cf1d8eb198f5f2dcd5d402de683d89c4d25583bef08fe09444747bb8b
+DIST firefox-140.9.0esr-eu.xpi 417295 BLAKE2B 279391f3fbbc46c23a411e41624e1acf478c102b45c1fb66a5e462d2538b49817111fd9cfcd9b683837c30c69e52a6cc3a730df639173cbb3f75876c4d26a7c4 SHA512 736d0be1dde4d059f932d5d271fadcc1c2b5db889777d30a6f4b6eb41fca1ad5dbc4314a66554fb3fd0250913e539b3cff716404d0bf3e0385f140b7344a0e54
+DIST firefox-140.9.0esr-fa.xpi 421634 BLAKE2B a7a84a47f948ff566f32beade0a3ecb08d2ca55c9292fcf882d764e766cf387a4bb15990941efa15183aad8b4270d773d2558b6b312b9eb9f7f1c8d4ed71337f SHA512 6141c3bf6875e94bc2b80913e32556b33dc4ec5b19eb704b91d7280793366b3a27a97bba4feb88b85cd88b5916ab730933934d0410f6c4382ebe9165ae6de5ea
+DIST firefox-140.9.0esr-ff.xpi 310180 BLAKE2B b5924551413d6b7f31a4d02f41e08834775e01a14ce8894aee791d0217ed69c80d396a92cbc677db7f2d51341d78db2af43d1f2cc0cd0c7ec80c5c213fa8a9c1 SHA512 6b68c6a4e87782a876885793c2ee5ca5b5bbd341f50b1818839af14e6d1a0c98cc32c099bf837919951b4a258fe39c4401504f15ec8b924bed2a92c96df98b7f
+DIST firefox-140.9.0esr-fi.xpi 430156 BLAKE2B 77e4cd10c64d2d1112f82b8affbfd18e2137738ab06404737ce2f6061ece635705fd8d58cbb4fe05469c6f53958b9605fd745d8b500db1d425627d7716451d7a SHA512 b30ff2bf05f4acf2862f327654e36b3809cb01115d148a769a4798f40f702d102807e6a3d82955bbffc395e079e0fe822da1e9bc539e6345f18d116996d3ab02
+DIST firefox-140.9.0esr-fr.xpi 458442 BLAKE2B 2091ca24279bcb304cb5b0eeb6a74b81c29f314b2102769fb3573546ffb9e0235df3858ed8804020a9181d977299a41b06630ce7276c71806e1a3bb54e5f61b2 SHA512 b1556281688682547993f9610ebfcc65ab5706491a23f9bce683acef61c1b1377a67dbb5bef74aed1a04e4c5581416c56d4ae674d1a40a845e05c5937dde25b6
+DIST firefox-140.9.0esr-fur.xpi 451834 BLAKE2B a0490ac7a1f16d889224cc2c273a8b5e4f2ed6f9e80ebc17dca4d3c58ff887134ee27fd34ab20dc6330a7043254a1081a822338e93cc688d134e335787f0315c SHA512 452973e2facf5167b702997ccd5b66c2d495311ddd881ca018fd44188ec7484c8b3c2976c13da1022c28723277c7d5055fd70d388e90933b1e6d63f4f72d1e4c
+DIST firefox-140.9.0esr-fy-NL.xpi 442162 BLAKE2B c45f4f4c77ca56c287a48c6d959aceafd67c42db6a6565f827a668fb44965a48bba6cc9f967bd2c109d84ef468e42912c7ce6a21c4526c719ee779a8002964e9 SHA512 33ccb64e9f90c5a2918da8400e39d6e052919c854e35c32c53658f30abb7b5ba30b58625342e8771e50d503aa9a59804107f20a4199fb30538a8bcf8a74dadc4
+DIST firefox-140.9.0esr-ga-IE.xpi 315279 BLAKE2B 22b0e5de86781310113ccb3cbc153c7b627a7d9607d22f8c78e05546e3ac45e8676bedfa438742d5b5f9380ae8585a791c3d199ab5ab9db1c31b2da0c038f0f8 SHA512 96fe3f2f1fefbb534ed775428de7114861654adee5ab1d50c601f797697ab04d3d4618b19e8cf310e1544029e336c4b8c90fa8b2bf91d3797cd2e689bc3d772e
+DIST firefox-140.9.0esr-gd.xpi 399424 BLAKE2B 07b320e310d119f8617a6b5057a922f358c6fb71b4b4fd444720a53c274a4f89930ebea292792e87d4d2903a1f74c5b67e82e94df9d10c0f20ccc48aacc6e0e5 SHA512 6cd2036d00fd75c52d4a753f4cc651cbb7994a9aeb1a17a0331cb38995eb12f22705c046676752965477a7234a523df975bdee85f91f73c0dff342455170752a
+DIST firefox-140.9.0esr-gl.xpi 442901 BLAKE2B 43997e335f79b4e8a45946dab252f537a1cc1e986802abe0e75a4ac64071b9c70f01969de6d1f9fa004438e73aac0a12702d2935a6cd769be85197eda3b3ae70 SHA512 4e62c7efd052612097ee2064b22c5470d9f70bcb2bf9e05664ad289759dfdd0b47b826bf261e95e61c7053ec041811de547af170a2f252197e50668841693590
+DIST firefox-140.9.0esr-gn.xpi 451077 BLAKE2B 0a5d4de589a7a4712fce7965505924d8a49c83b4eeac899a7027b4706d82cae721d9135ce14cd37e0d60368473b88b6426413fe61bea66950e670d8245d3a9b6 SHA512 f7babe714e6a03d894efb48bdc2cefb36eb39a7155bfb7ff21f18bc6d651614de64c1aed56601b2721d0bd3b43fc27cf0b6c3c820c0f4eacc31f30508b11cd61
+DIST firefox-140.9.0esr-gu-IN.xpi 358973 BLAKE2B ee9e3d6eab2c9f567356af16fc8e346d1cbaeab59abcb6de26edbf5ccfba6785d45eccb8dfa0b21472da0e4ce5149dba86088f2bdc5040bc0f8d3a44ca8252a7 SHA512 08451aef4dd00e121266a950ec124b4ddc152ca4403f5917ad62a6e03d9bfc5e4aa433280f180ff80f19d2c029c54d6addd9b072b5513a1213324fc45a283caa
+DIST firefox-140.9.0esr-he.xpi 444984 BLAKE2B f700da274c9774e9eea68710a852de3450662fb6cfcb21780a7755940e045449ed5f80905f4baf4c32201d8bae020192192a5c908b751ef83e4941274382f6e3 SHA512 e242d73f836d144d3021adeac76b96f48067f8b9877f98b6688c5bb3329ac11ea023c0ebd5c2a724186538ab8c9daf684f8e16e23a8ed3de6778824eddf3d9bd
+DIST firefox-140.9.0esr-hi-IN.xpi 377447 BLAKE2B 5f1d0a42a5be6f9453bb7a913a040c0d12e0491772ebc0b6a0a94708f4888e82c9e128eb27d02560e15a5f0b5a0be300dced47e746ba43e2b4439f7de20d46a2 SHA512 eae951b48a5d3ce4111d31e86c027df537591d9aa0bfe954d09e06a1ef67e736cd46e4dbce13d97ab1466e57ae234cfad54d16f466a3d31250f90ffc79f3a9c0
+DIST firefox-140.9.0esr-hr.xpi 437680 BLAKE2B 1f5adc8c8f18c0003fbeb8fde3726b354c49334f13f37d2c4c6b799744e77b47f6f1de79326a7bc276562c1a5941a733ab01e5190806dd46bd10c252bcd6cba9 SHA512 7c5c529dad2ef41dc0a925f460cfd827081f2fac9ae26b0094ac4a1fed93960f3a31c4d5809684b8c8042141dae08529f3f8ae19b02daeaefd6017f48f577914
+DIST firefox-140.9.0esr-hsb.xpi 462699 BLAKE2B 26a5512806db4309341dc3b3aee4f2d5ce00c9666f25eeec25c004cd69cede7775f1322c2ae540dccbeece3df0161cd501cb4658050af7f9b8d3e28e4e1eb053 SHA512 cb0593d35135280fb2cd51c7791027505fbc39e25f51c770c7eba264d2a34e92d25f4b1135dc75beddb033402bf5b90903594496df50d969b5336ba2f1c55315
+DIST firefox-140.9.0esr-hu.xpi 466165 BLAKE2B 8b2675aea7a5aad1a66b9528e6dd28189a2c14d1bd769426d4ae67c742df81e188fc850951f34f4aa196a7e8db34a41d6943d95a841ebd05cf76e9534ea72d5b SHA512 71b1fcef386faa26769f8ed2ada8852d9169ef9ba185397f3f6962279da23b1ef15fb671c0fec4eb8ae9f91243cf38e975627ade5aa6ae30e6866a9407f9d99c
+DIST firefox-140.9.0esr-hy-AM.xpi 461607 BLAKE2B 31b60419ed47e4b84c6f63e5c1b7ef67035c6f83337cbe4a3115970719f08c108ba2b570fa6595d8b4c75a539673cbb68222663f9c407f9f1b864475e1d6e8c7 SHA512 6406e49e41e7c17474b14ffe339e4a6c24a42cca6807ba527edb4025c130d67ec2fe5fbc4855a0b1fdbb4b8efd5db0c367d02a47adfaaf457254880d4efcc621
+DIST firefox-140.9.0esr-ia.xpi 430106 BLAKE2B 8ec0939309adc9c6a2f38f2fa7ddc3c50eea965e398fd6d8bbd08c39eb49d7b0baeead670e4d1625c3a27656c31a9c46f95fe62a9444bac4e2b99641d6c001fb SHA512 01be6ac640b4a3b5830568056af0f95abd0f707e6aa8d8e67e58f4a5060137861a33388d89b3ac0e6bed5edd2264eb02cdd436ce0be4c48098e2a88a60df24e0
+DIST firefox-140.9.0esr-id.xpi 422743 BLAKE2B c90a6e2132a4710a0878d567216669086d7f3fd13eed254fc7d561900a3025576fff5601effadb8b1f7310bc6f09129004fbba0f2c711c49af8eda3fd84ba3c3 SHA512 fe0c0dfb454227de13ef48fab0bd93b53a1abc78484f3bb209fb5a444ea6341a9cd7b9f07864961db62d5ea39f01e8baadd95af5825121b58fdec5039fed82fb
+DIST firefox-140.9.0esr-is.xpi 432677 BLAKE2B e9a2cae988fa828ddd12cd02a69a6852ae04071e710f9bad5b54806578919ff7cf6952177fbca71d3b9527838b6b480493f1da531d5988bcc246aad936eb9e34 SHA512 4b3010737d5bef3b7ff1125c5630ccc36a5c964f147f77e0f7c6c5ffe3245a771d38951ceac5ea6131b02f1d0b1c3f0eef8d18cf7645b5b7d31c49232980c2bd
+DIST firefox-140.9.0esr-it.xpi 440895 BLAKE2B 39b17b2cf2641756bfd5951dcecb3b46ca8fda42d78003c768abf5f9f09e229888d03da4db8ed12ba157cb2f913748061a65a64ec06b334b157578b08ba731a6 SHA512 917680bcc1c98c97c1d06f3f6531790918f7a8dbcc866092fe161304df12e3e59fad33826ae08b38c321ec8bb3379106e4c06bec0583b11825d9771f14b20133
+DIST firefox-140.9.0esr-ja.xpi 481309 BLAKE2B c2e524a71c2c848168daa31b5149da780c9ca29d8c4d176bc6fcbfd7b03a6f11c1905260c49a20cb3c08e101bcdadda6df57ed9ca38904f3cf7c038891e62bdb SHA512 32ed21ecdae07807403aed49d14a9208c6e59074578e4affda5bb9fcedc7722e77837de6c3c580f6041e4411f4a0e25cc2937270efdae1b6f4eccd9f4110b675
+DIST firefox-140.9.0esr-ka.xpi 494866 BLAKE2B e2bb10b070f02c3c6afbdb5bfea9118f33062539245b05df1ac877aa26cb6914be9d87109bc526d3c0e46b47af541691de18fc6238d6e014e15334a43058872f SHA512 f7283a227f298d82ebfc4dc7b87f4c06f4e3d4e489eb2119ff2d0d92a1cf0e57d4eb77a133dbbc9e0a4de1287b1d92d0e03aff6acdc7a738e2731290728415c6
+DIST firefox-140.9.0esr-kab.xpi 422846 BLAKE2B cc3b456e4e27848c53ae4d5b2341ef4228a69daa9a20b5c564e962ffbc7ab5c507f9c2e3a20dcbb6e7f1cac96ab9f15903b32447c161283dbe29cffc2a744b15 SHA512 e645610978bff30379581914acf4c6a3f25a044f92b0131ecc828c87712e132bc982b035d62a23b12ebfda861780a3b2c2a893cfbfe861152012c09412e7f31d
+DIST firefox-140.9.0esr-kk.xpi 506675 BLAKE2B 81be82bbc03f8965494c972d4c274111c88d95a49f7feba8d7905a22454fa6c965e940746c3fcb631861b41008ca14b78434ec337e27485ad66b9c69602e2838 SHA512 68def6ac7f803ff7f0ec6d6b02fefa0ef4decb5d7b13b182b8045744afd13e27de03311fb0ac6da13afaeb2ed17e9f2a3d9ebda477cc089a0c7657c731e076d2
+DIST firefox-140.9.0esr-km.xpi 348778 BLAKE2B 59def15cb07dbe9edd13deedbd3b5c6f4c18b1e696c9272bc140b78ad5ad9155fb64679ef46e8afd214cd94391b164003f0286236229791bce99ea886b859a00 SHA512 2a99fe3fd4aa01e46e5e141427045583849ab66023a0ae6bc66767f3c292d81fe1240407ec41cdb4180bd2203e35a7bb4173eaeaaab12f0059b489066d0e9df3
+DIST firefox-140.9.0esr-kn.xpi 331777 BLAKE2B ff3a8c684b7b76d95bef46a60046820ad668cd5327edc29448bede9ebf6024cc214ca5a4e5adaf5be86b6c7d5a1328ef90fae263f85b8feaab4c989cc017d164 SHA512 3fbefd572fae9f6d2d720f5889d1a9b721badd514e664c0f3dfc369d1fa0f567250f837f7d84f52a52f95b2cee5d45b0e7eb92a14d4231964a9b9d69fd97ac36
+DIST firefox-140.9.0esr-ko.xpi 467536 BLAKE2B 3d7bd6def7179eba6c3bc0af4f6032e28f05a5fd94bceb8b1dc50ab9e28a4be67bbc9d805b4dd93d0ff937c76d7effa8c732e168f567ba489ffbe476c079782f SHA512 7352b55a6d263030b2de64140f5342aeafeeb527de896c8e2c1522cca45f19f39f32314de49a01169cbd88cc0f9b9b92ca27bb306ba916d39607b63a0ba767ec
+DIST firefox-140.9.0esr-lij.xpi 319285 BLAKE2B ea7fc44650fa28dbf417d9b90eeb058a3a824736c758b262440a16463f8478eb1a109ef93c4f7a337d8b640f4c08985b9201ccd3dbacbfdcc48cba2ce0e8ff7b SHA512 11db1bd9f70e784eb848f619f2fef442b2734d5e0adf42b3b29d7a2d0d0d6863f97c45804a6c8e7ecd55eac41283e36dfb72fc6b5bcda6d0fab913edc2924630
+DIST firefox-140.9.0esr-lt.xpi 379947 BLAKE2B e507a3c2fb6f843ae8a4cb0734741340c770cacc03722e721247049d1556c8eea911ed16b69125bae9b36a0891e256fff64484bb68499329e2d38255ba9615b7 SHA512 6d5b064c004acf012195de679723b3ce4a64be527ed6b31486ba6e7a8ae97d2d1f28abe904bdb0724fa761051dd4c3672febfe96a32ef8e29ce1127a81a52264
+DIST firefox-140.9.0esr-lv.xpi 389074 BLAKE2B 095bebd349fc6bccb7ea512b5f418c93f743b919a7db36634e1b0f7ac85bbcb8574e7a8fba9c42ee9c1105667f6af175dbcc4dbacb78a009248d77140e4ee5b8 SHA512 a6edafa12f6f6180bbc4772f905f380e9f74cd10cd0667f44e4da376d12f9253831da074536e59b1c1e99e0413641dde8f01f3248d12bcb0873b4772adec87ad
+DIST firefox-140.9.0esr-mk.xpi 316833 BLAKE2B b993d0217d5819ee5d5bf5de468026c3fc70793c73e9d3716a470d063b833cbde734ff635e3c80ff16cb49a806c40966318fc8f89db783ec824297908436e12e SHA512 053f4d21c9d2d20ebc88ddb28df137f68fe270f46b0fc97782dcfd3a157c0863cee9e094071230ee59cc2b9c3c011d6912203cae46cd479cf1617972c1871078
+DIST firefox-140.9.0esr-mr.xpi 356242 BLAKE2B d8300ff97a6592ec8860a23dc362607d103168195f8cddbb2c2f603fbaa01afa77a88524899530652af8456f60cd4b54e5d6785625454fa90e895378c2dd9d74 SHA512 a3345a7bcb1020069b04e2cabdd16e4f95b645c958cbebbe00c38ae7010eb62bbd5d00a35910cc3180285ca3a7829d8882481f5fa8c78059811eae42ca475310
+DIST firefox-140.9.0esr-ms.xpi 295390 BLAKE2B c5ba662ed406ef5564bce176bd4117c64a92194d2f2884da53ee609e4250d0e5c4a617fdf719f6cdc06e219b9e2bb4517322012cdf8d02e13b3319b0bb992ae2 SHA512 b903b193bdc5a57f8a24628ec8d2ee75bf9212a9a0e78ab961ee8c1047d684830f260fbd428650a37c4442b0cc4a6fda3d1a0e61d3fc2d9439edace8319bf277
+DIST firefox-140.9.0esr-my.xpi 343028 BLAKE2B 77181f6fffcd92ee1e64434dddf1c58e3c0f56af3442d09f32c5e54b01ae50b1b9279d0606ecdd61624251a510be1aec96361e330aeec0062d9acf6915bef56c SHA512 bb763c578d3249f1aa7ab35f78ac738edb8734999c9190fcb68809b3ed8a4255ff788dd4c44bd1c27497ebaacfdb420c0a97edb4e99000d9ccec0277d4941755
+DIST firefox-140.9.0esr-nb-NO.xpi 429336 BLAKE2B 4edb95b650095c9044a61311bf763cdf715f8f202129811c28911be362e685c614dc533c23febc81705122565e6e2f578dbdf3ffb58c6175f0db986512918456 SHA512 f044040f48b79d3a2d867fa7b4afaa1c078bf0d2aa22a1f3a13496c863f6ea8d9ab6f3fd8b09fbbb329490bbeed92ae8c17ecb4fece1fee57a0485b5a783f11a
+DIST firefox-140.9.0esr-ne-NP.xpi 349008 BLAKE2B 792a3ace97b7b708ced4c492b3ac51cadd68b3de6f7d61b8485d331e47121648eaa610e4ad5f11d6ca8bd7073c91103869005dfd88989f6e065b757c4bf2ae54 SHA512 99ed834d2387545881087b596d977b17aa92cdbd1561301d3f9378f2e64102de571bb3b5ac808885e2e3a1cbab3058c61a47a2875fbaae3c2fbe40d19f70dcf9
+DIST firefox-140.9.0esr-nl.xpi 436179 BLAKE2B 21f8dcaa20c1ce9c8b83f64ad4a65ac68e336a1140b96d09ca480c74e2731da5fc9c717fe959193a374a2aa7ed1954a698797b01da9705b57c6d8f9ef3eb55f1 SHA512 e8c8520696e3c77a13c386e9b47814a8591f2db1497c27f849f18b85052697b3336f6c9aab66a116f01d0b44028317e77e4480ca94e7f079f18a35aeb6dec841
+DIST firefox-140.9.0esr-nn-NO.xpi 432216 BLAKE2B 2becfcdb81b4043a6753a9e3d88564effd88b8f04c4e0b8bc872160951fe900bde176a717fe72f0ac491d91d7e85b9a99b303f500e5625c78807f8c8ab223832 SHA512 4d039b485cc66366a3ed26771d3f496aeaa827e215aa553dff32573c8aa802f6fd2867cca103d4324d998136fdf94c17b2b1c9f3f9ee3028e2f2fbd9248237c9
+DIST firefox-140.9.0esr-oc.xpi 410937 BLAKE2B 15c8de9e8700d7eaad60bf1df78c88cd10800514af0456f459f8d70b1d24ce2d728d124004f34257b81975963dac3a188f2f9ad5d8aaee5e5eb6ebefeafced38 SHA512 c886000602a6ab438e7024a74fc4f92d7075aa1c6a9c6a3a009ad3f5d1c8a1c6771f401e7de61d7a4c8df77b88d3d9a872a79448d27e78443d9996471e3da2d2
+DIST firefox-140.9.0esr-pa-IN.xpi 494400 BLAKE2B b16ebf7baf08f6d1f89076479f8558ce82fb5078ddf6ccecc772b474b4a7340cba2db0500a7fdfc526da30c5a0129dc867f733a66c12e83a08bf1366197144df SHA512 28bb7d2a6b611655fa9e42499f73b5bc135ae92dce106d4f0d316b899117ab4f724710b72ffaf1eb767c86cc56232a061fc6514b9333336041180cc692da4bb5
+DIST firefox-140.9.0esr-pl.xpi 460923 BLAKE2B e333c36bf45f3d7babee1391412131c64add6ebbcdc3c3e7ef35af3c4d7fc734add1a4c35217a7dc7e61a2a4e2eb06547aae6c89563701c0466c7ce916018c16 SHA512 7d06f900601f58de064ac1f21e525aab385f853c432ef480ba85a6a8e9332e832c799e821ac33b719383bd4be783c715b8bef0364637a05da82f696be2051bd7
+DIST firefox-140.9.0esr-pt-BR.xpi 440751 BLAKE2B eac60f20d9ce0ee1b2e92232e4ec4ac7a1de503004fc38be2eb0f925086c2ac0f34b1313206b47c13e7b2d549c74364a599327eebf70ab37aa5bec94f67df745 SHA512 899ddd438cff18abfa382a6e2cfedf5e449aa7db74af587811fd92c2f24f759a5bff2e591e77bf9c76aafe9732d711c7bdb6f65fffe0b697f9f607ce60f24aa9
+DIST firefox-140.9.0esr-pt-PT.xpi 446410 BLAKE2B d595225ec65f0638886a8f471172fa1f74fcc77f0350f65c24f279bb8ebc1682c43db4785450041014fe5ada031668d08f73476ff0061e7ee39c3689c1507160 SHA512 c79e87de47d1d0ad39fabf422247f91302fd385a357383564f421a8ffc5a4f5b26797bf864ed25bf63b408b4163ed11cdfbae13fa4c973be105f342aaf67efd0
+DIST firefox-140.9.0esr-rm.xpi 438011 BLAKE2B 3b934c0c0a35a985de4cbceaf2aaadd64844375d42be97e0b2320fd0380ae02a08c0fe2262d834fc08b9c60d55668ea5bab50cc708903a5151c303e1990da34a SHA512 01bd84df83b9d5ce68f5e2428e0b504477478a12b089e10a446eabf679da8de7f4d0c2104926c41ab3d7010be8910de6e8d8fdf07ce2a4a9bcdbaa5d0b1d0502
+DIST firefox-140.9.0esr-ro.xpi 452826 BLAKE2B a9978afe2fd056ae9b584b25c0e3b653d2f880a58176d335f9c33e653fdd3543f22baae74f7aa336a40d2ee1038383bc95329d4b90831203c7cb5528b1916cd2 SHA512 b07672cd1313966d430527ad096a61c69ea83b7fb50439a1a70fe556d58115fb40644de809ce53c028d3158da2f5fca9ad8e5b99cdbce4ed8720c5cf36fcdebc
+DIST firefox-140.9.0esr-ru.xpi 525182 BLAKE2B 39bd83f2fe03f499e7b0cd35ae20833ef005dd49c6d8e34e0a477b86f238ae617e3bd74ab1b54f2efacf2d4440a542b2e64679bf3b63e9372581bf6bf0898628 SHA512 6df17e058a2ba0f5467480ac2d5c2336713e2697f54a018c2166edd69255f1d2635f0f8a1ac443091096f55d8c4ef1382e126217e1096ce709af9921b0db6610
+DIST firefox-140.9.0esr-sc.xpi 410463 BLAKE2B f42bae826abc68f871dd1d23182697ff530e6d17cae7635b7e854b9b47bf3aeb3c2b6c5626286faaca2fc948d7485b4c68f44085ff5f211068f5494e57cdfd3d SHA512 f88f2e232af6166ed93f6c1972571b757c44967c267c66a5b3b6240c88d54ea192a6f58625ea78085fd509ef8c7ff3653b2766234c70259dabd48211ab8b6637
+DIST firefox-140.9.0esr-sco.xpi 322650 BLAKE2B 711f1de9a721057dd5a5d2e2dd185b516c6b4671679660aefd12d06d8506927171fba21a8145794dd3dfac49b8f79853d902d621b3785cfed943fdc52c223544 SHA512 f273a4b438f7da1f8d5eed08f21ca5b6583a808a6b1118adc167f0703c502d92e21306df5384533320514d782504db0ad7886615e9fd2c8f58c7b01fd666410a
+DIST firefox-140.9.0esr-si.xpi 411609 BLAKE2B 5a9bac8aff0c43cffcafd338653fa200cf28c27a9d5e0f5386ee39141c624bacdfebf1d9b2b77590e1d48f1cecec4730afb781ac6a306093050ba359c5f99396 SHA512 f9343e51eb83689945981e79b94c4e79bf07e0262f469950eeb74d831af5f33b4e0926f8650eff6cb090ad0f0b927be4fe7a80e25e19ae170850267ff3eeb3f2
+DIST firefox-140.9.0esr-sk.xpi 468235 BLAKE2B a2c818fbb9fe7e5c6096ec9ba2154ac9c564d88ce4c01c4a861e4030e0e2ce08a1e6a75e8aba453af54bd861322630ae80f799ffab9943f35a2694c1be3970d0 SHA512 0e7fd7f2f9b093424328e349f8e4c45f99f423a64c539899999fdc5b379008a11e9bfb8cd01ee25f253dbbee4f196c3987b0a8d8f9d248f11a94d1b81b642494
+DIST firefox-140.9.0esr-skr.xpi 485869 BLAKE2B 0883324cd632a2560ec6764d71745c0659b118b98b83a95dc7eda18e9fab06c1945b3c2e48ee0ea5139c27012fcf6b193b60d8571239a93acb455dbb9ac5ed9e SHA512 4a801505419f3808f5ae05b9fd4d13ab81ff2ead1c5b2ce3a6f2407d02019989439768af65b463e5e6abfee56569b69d1d941614139d057ac665bb9123fd0c5d
+DIST firefox-140.9.0esr-sl.xpi 441191 BLAKE2B 8c27b3bf9cceca96e9fde58a9d802ac0dda43835aac0e4b961940f1e0acf8f586c0ba4fe6ce10d7a7c1ed507742409a4df722abeb947e2e66b343ba23c42247a SHA512 b72546feb56bc8a77b2e82f4dc25580ce4cdc8a2ff2e6f311ff41c140952197716216bc7863e7409c8d171f3423e9fe24297d90e27c18074324563f2f6615abc
+DIST firefox-140.9.0esr-son.xpi 273115 BLAKE2B a76eeccc40b82cbae04e4c114bf0ebd2ac4d42cef3401e0b98da0f876fc47fe8f400e98ce86024b95c566c523d5c4ec243d1642b745c06de3d5ca3a084757500 SHA512 026ecaf9c52bcf88625f9ca6d0555aec5cdf5bcd0318b926cae06029eafdc1e95567d359522ed03e7504b9a82c9a7b9e190bcab6eea2aefd454be934587fd534
+DIST firefox-140.9.0esr-sq.xpi 456011 BLAKE2B aa2b4ccaef3d26421f48d786f32554f2760afc377f003dd803b992289214f38301ff76216ba98594fd2aa7e601cf2364a67c1ca9c42d19f502ef6adea2b94657 SHA512 6acd9f1fa34addd97ff7653c7a9bfa82dc46a8f7fa22164e2500ed74a6c4ac9bb51f1c719e5ffc6e777a5a1d0a09d2e8b52685cb351e3dd1f08291a4524ba9c8
+DIST firefox-140.9.0esr-sr.xpi 453368 BLAKE2B 8d879166a8d8ca7b8b8df39eeed4bfdc606dcbbddc7cddbd2e759fe4e1df3e4fafd956129a30192e6cb29e718d28483f40cef949eb7ccd1f91b6046628c6d671 SHA512 35e7cd8c11b9c850e9e7281364f5168eda1cfd9a92ee0eab51362ba2689c83a725cc013c7a722cec65daebfd171d72ae77c43b9d17b90ca80fedcfad887511e5
+DIST firefox-140.9.0esr-sv-SE.xpi 436150 BLAKE2B 1d876da96eaa1401c2ab24befbcbe7b5ffd5f3f14e045d3c35809cc2ed0abf8e19533edb05b511a5fbe04f61f69db0ee2b8383b7d5a5860db87ccc85d14bb416 SHA512 6abe79a26e09be49dfd59ce18d75e3fc53eb558bca679b625b1f46ff004f60e65f24c6b3c3edab2fd48fdbb97154b67f9127a9081d710a4138168e230d470b37
+DIST firefox-140.9.0esr-szl.xpi 341673 BLAKE2B 0c4187264af2bf3dd0ccc7007026177bc3a89248e7f7cecd8ccf636e7bac1f59255b4db6c3ad80304ab0cc597993caba7380da9c2fda133f9fbfc456e6092caf SHA512 368221ed728b08519065e32872899fed9b6cfe8b62c9064b762bcedd16f42ed999cec2a656bfb4be072cc8488f6c46cfc5add7d52528d8c52173bc3936a5d1e7
+DIST firefox-140.9.0esr-ta.xpi 338145 BLAKE2B 1ef5932eff790fa3d613ca9efd29ce2ac0da4dd1d4741f19bff2d517bb481d31f1c615dda4f324037f697afd2f8796996ea9521209c9f902154f2124c2c3ece1 SHA512 e3d9cb6e886ef39cc3ad84296a829345bbe470e12aa24e66b0f1093d98a6a70c687a0011033e30107eb38b20d9a495c8fc55ff85b58aa413b87e2133233f9334
+DIST firefox-140.9.0esr-te.xpi 382185 BLAKE2B f9f7a0df7a811b90cfb866483e5575895ad16d5734ff617e68804569146a63fa8ee9867345ab70d6d885ab87d4e65fa9366d06222a62d0dc9190d2e449e04945 SHA512 b113fb876c0f90bad8e983fc29411b3baaa8f8c39a004cf9a563c5e2d57666f5e66dda8418e34c4d9a51ff230a077e22b3960194ab8456ef8d55bc1edf0fdedc
+DIST firefox-140.9.0esr-th.xpi 505497 BLAKE2B 9df1ee844abc9104a78eba55f12d67ca0ce27ca5187601a604b85233865ed28ad60d680ffb528b49ba780f8e9864fb604e1573e4027e1546016d0682e0e56013 SHA512 03c7fb65001e540725f32cb89cded598b1711204d0f69cea3ddfbc652952ff60844b1cd4fad0e24d4ae1398d710dd5c004002dfa00fc470239b87cb159a4472a
+DIST firefox-140.9.0esr-tl.xpi 356645 BLAKE2B 6dc26ae30a7cad3698fe18ae6262d2ed09cea92813532a319fa631e3b275eed4f9a421451c7effa3d7e662c2c99820988e6f3a3ae4d3d272933de13e58708b8b SHA512 b5ee3b6e7e917389b0d90a84ed9711f404426949711e32a762f6d81b7c03939a117a0c2f347a0d9f74b31980e0325db0b816c0960117fbc07f78fc40757c09bf
+DIST firefox-140.9.0esr-tr.xpi 449304 BLAKE2B 33873554eee430423383eb8a07e3de2632e6406e7a9e127eb4d4109348069445ab6d36dc9fc602cf2c4a3c7f42689312fcaf2808617aeaf5ba38cab0f4cd7c10 SHA512 3ea9bc93c95f1b9d9a488bca206ac75db94fd3885458ff84a02ace73f18e6eefc06ef5c7425278dc0b7bcde61fdbc8570119e36b89d2793787ab9df4e755b018
+DIST firefox-140.9.0esr-trs.xpi 324521 BLAKE2B 1878e22fd1c20f35f8abb507cd667b3db7650a62c86a3251f170a11f1a88cda23ebd69aa02c55e8349253ace53e9e1b4069bfef8d486220b79531ea381b5a3c8 SHA512 e504cc8a524c647b6ad8cdf7aebe3c46cbbd9444deecf8132f2d68f32003bd94619fc259108c372a71a5c0b7c936a4e899b543da16b54143982ea3140ae725db
+DIST firefox-140.9.0esr-uk.xpi 516732 BLAKE2B 973d922fcf744c8fa41546614c3ebea99a405803476573e525a01b570b1f02c35933f5f704f595384dd17991850562f4a7c70438d4ce840aedc1a35f6b0e01eb SHA512 f321a362774538c9a9eb2dbf92070e22d8303f5d814e39a421028986ddc64a8dea9b7af600f67381620a1fcdf95bca8d2204c6d184e8ef21c5e0f49619819b46
+DIST firefox-140.9.0esr-ur.xpi 370184 BLAKE2B 73342e9eba0dd5af3a952a613fb9c7cef055c5549175d1ea8a81c41af1d3a8ec4bd9eb26aa32e4b3ef342c918e19b05f03632fa548977db24f99215aca0ac04e SHA512 83e72b53ce26cd70fdb689192be782d765b5a5fd7abaa165ed81155784dfef38c4725921658a00ec5b7a2fb83fc381b06e784cfc1cb01d11a9d4c69d17e43556
+DIST firefox-140.9.0esr-uz.xpi 303471 BLAKE2B 1458b371f563d56966c2de2fb76bb1eade317714a2c605a7b1a0bb188a70cd13282d29ec1443f194f3a5d8639dd0a35336baa40a4c876d3124723e85762cbbe5 SHA512 f169a39fe8c803398b61cb4559e61c5eb65d0cd29625b7fe12db0c912ecec87d37dc6be9eb94a8eb4f5c3ca21b76668bd4cd39135e9701bf1f0d774110c7f05b
+DIST firefox-140.9.0esr-vi.xpi 469146 BLAKE2B 056be6b035d94738caadf02973bac6e820d4ce3c9822ae546bf4dfc67cc3754a26c9722490fd5b5481684cdc0a80ed1c6d239b4a86433351457a9380a5a929ea SHA512 6a0e7c4a54d60980c64afdae81abb2a20f54d65f4152423dd7e7e24dc974634699d873eb4a454f5a1abfa1f3fb633ac5cd7a2647e2c7115c75058b3c4639fe3f
+DIST firefox-140.9.0esr-xh.xpi 272787 BLAKE2B d040a6f4e8f9d65a1e0bd9c482e7832360641ebb0a04f537846e522302cf4037e452892db8fdddea2e9cf5012dabf24e50230f06b3c317a976a40d54840b388e SHA512 0513bf667f2e52e24c57e3373a31d00e83a6c9b6118762a815c914fef7e363cfb53d132db2cdc2dafb9eeecfce3a36bee1c5ca03d104100d3bd3b3ad7e1b61e8
+DIST firefox-140.9.0esr-zh-CN.xpi 460704 BLAKE2B 7c564d1c06daf5977d950c3166e98cf09bcedb68e13a141c17f0402c9c9254301214bb786042db32c8143c975c8687338a167669d6302b136c6f2ebedbe8fdfe SHA512 599f66cd0960dbd65b9dae5a458827728a651fb7520104bc509e34dca1683e90b3d9a3b9eb03f455d6bd79fbf89b4160fe24bacbd916efe9ea8b5b8011748eda
+DIST firefox-140.9.0esr-zh-TW.xpi 463731 BLAKE2B be847f725b7081ebdcc5418d9eafc31a5883919edfda98b50d77553d50937a86f808f19f79f259753b3517ebabc77df35edd753a9b4a1032125cb5c75a0ccde4 SHA512 7715940bd9a5a4e6952e26dc3e7938c614a5be420e5c4096dd325eefbbbd96c6493c9dfae1837d06b53cd52125b505ec3e3fda4caaff6ab3c2b227cc7788556e
+DIST firefox-140.9.0esr.source.tar.xz 630445704 BLAKE2B adc5fbbfcb185355bda8055c986033477a64f806b0a7566e24dae1b3ce6bfd5830d08982240e3dec09e3efd37e6364c5495e9f5ebe05f4c06d7c4c7d848c1cab SHA512 bc03fd2a73d00a88bd0a3c9eeaefe618ffb34226fb7bc2fac4a02246ff29fe038423bf77538273ee6fac25fb1e3e4fa98bb522026ae3427a0ad5f41d2ec6ba98
DIST firefox-140esr-patches-07.tar.xz 125712 BLAKE2B df8cb80104d816966723de33c79aa56f2a0ff54bf1a8a0668b76c4bb1bf3a7fa181011850c3030c04c2b8abcd69bec2dc23d500cfb6a624704b0797b76af8062 SHA512 6735b7f00048a24f313f2a09a17c785d045b3ebc0e640c9b7932fd1e65b84284344adee73d058855aff6bf93384933323031799565838a6339b9d20684e162d4
DIST firefox-148-patches-02.tar.xz 12320 BLAKE2B 3c0611a59edca260fefe738da8dc8ebb83dad5c1a2a5b0a7b8a013f054adadbcc58220110e03cb780ee82eabd4605b81d0c898eb93e83ba9ed6ba659f657864e SHA512 8db83743a56a3125b6dd400ac694418c4deab4e5539d73d119ec7f31ec071d4e39a73f0aa491412eb6e03f9c970816e7ad04d46f78ceeae4dc9e85a0e4e83f20
DIST firefox-148.0.2-ach.xpi 295595 BLAKE2B 223719bfad10a92f2967488d07e0679f1b8cf3373813092f2a7e82e115283f4a691dfed1c6b3968d66022ad227cc9f16f291051bcceed81e9c19b1ed33831f9c SHA512 87a250caa1e05984c90d0b6c47c6f1d61d4759ce12bb7d47cef1e386de2ee34c34505450ab6cf46dbcc0bf4a3da67cb6fae1e962e83bd733c6ca1fe06ba64177
@@ -203,5 +304,9 @@ DIST firefox-148.0.2-xh.xpi 275031 BLAKE2B 0fb76c3491b8b7e5652b75c6ae025a8632af5
DIST firefox-148.0.2-zh-CN.xpi 487755 BLAKE2B 78e9fbf06372509fc404a70db7397173ddc984b5c8a37ff6360a7bf56ace94620abefcb8b12738bac85acbddcc6d1d3f446c31ee78d77b98d7f15023ddfce73a SHA512 920b750542ffce794a216e5cf5263b601c2f15722e712b09905ae57049f3192d7bfbebb5fcc6ebd2d903ad1c13b75fdf4da141c3d21702077cd9c0561c7e8773
DIST firefox-148.0.2-zh-TW.xpi 491355 BLAKE2B 3742fb4098c74461c94485970cfa7f8c9a8cfe61227332fa3e9a47bc00b92facc0f236da43fa593ab06284e14738c8dc30f07a86916b953c676d3d5fa74bdac1 SHA512 0837b801742d3b671ba91ff402b06e213224b6f829f1cb6ba5971aa7c2adaa5408a75346f452870cd28475d8a9466a7ca2525301691ed8a5b471d520821aa1d5
DIST firefox-148.0.2.source.tar.xz 664519028 BLAKE2B ba2036baf01584d37b25944a50b497d18e238334ec866846c676b518fbb66ede35404a7db73da7b54862c876fa262d679b4e1099368b7d905afbd1f499036084 SHA512 56a93ae5235f38704f2f56b6246daddadd3bcef1db797cca10202fb919ba2f0e1459defaaa41cf188f269108efaef1b76ccbfae33d50ecbd52765176b4320bef
+DIST firefox-149-patches-01.tar.xz 13204 BLAKE2B b28fac32a38842fb5fb205f8dbf07f239f072c356c91aab9ea1eb32f1f5e6b855da8d837c7ed72cc1dd3990f80e6eefd2bdd663e87ed46934096633f69d2b476 SHA512 5c97a0621030a1d302895c40e1ed29ad93799fbb3098bf0756e9ec2d2157308472da917c4062ffa75d75789b63374c204572499a1e4afa8809d269274b319fd3
+DIST firefox-149.0.source.tar.xz 702929664 BLAKE2B 8b1d084dc2b8a7de85cc54aef57adda94afa191d4adb7a6e6ef1339e8a3cc7a7d8a42df52f858bcff358f69382e163ba42b2142126dcdbd1ad1cdc4bad0c0114 SHA512 cdd871a7738fb70d85a703e89c4874d1bf44184b4c9b28901902adcbfa25c199675e746306bb59d66821e6ecd17e07c99b66a48d827f39acca6c3b012b95371a
DIST wasi-sdk-30.0-arm64-linux.tar.gz 119262670 BLAKE2B 59194c6459c98b0566522c97cceac61c68915629931546f8598856d726dff9f85742560afe9c86d6102a1faeb44c962b3935b8b6de326ea218158a32026319bc SHA512 ff794dd90c851b2c0b7ea2cb2ceddaf23cb4cb1c211e37ae3dcf12556e6a21e389c2b894ef52e68110ca085098ae3717b18a497a928b5d13b0a9dab61acb8b38
DIST wasi-sdk-30.0-x86_64-linux.tar.gz 119449290 BLAKE2B 7286b9079eeb160b0e033b7802f703b08e089e452c6558f1feb6d9cf8cd240fabea7f9a39d44b13b2793e69a02c569f64520d677d76a577bc2e35ce07c722212 SHA512 9b8dc1cec71aa9e870840b30f2b7307d6b48f965d50b724926745780e4e76411f5eb97e443970ecdead90a4932669cc18ae506439f22a24d06e2e8fe44d220b3
+DIST wasi-sdk-32.0-arm64-linux.tar.gz 142940986 BLAKE2B 45712415f916c2749bac9002157def84f75d005bcac0403cb9b5a814623a1e0c2a2f24092d55478ca5204afa82c7499cabf405b8e5c6e95a514351801da4a91c SHA512 e39f3130290e63a7c2674e8838bd6569ca6a630c0231e2a303d6bd4a6b7f9c78b59a99606193c3ba3e200d93d9221339d23653e98ef720632d54c5c6866dde69
+DIST wasi-sdk-32.0-x86_64-linux.tar.gz 143157058 BLAKE2B 62b83e2db70b24361962b392551c604b21c59535b8d34a5e652447d7b722b033327334f0e17381d28eaa6dcb31fb02aad9978c66b761fb592b6de502012aeb57 SHA512 f77c08d1eb0f8e765bed4955d4794b33bb38149df5a144bebbe43e91fce3cfda7210cdf57073c0ff23c1d3c68105b6c69b4782af1643a0be2f3310001a2398f0
diff --git a/www-client/firefox/firefox-140.9.0.ebuild b/www-client/firefox/firefox-140.9.0.ebuild
new file mode 100644
index 000000000000..428c6aadce87
--- /dev/null
+++ b/www-client/firefox/firefox-140.9.0.ebuild
@@ -0,0 +1,1393 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-140esr-patches-07.tar.xz"
+FIREFOX_LOONG_PATCHSET="firefox-139-loong-patches-02.tar.xz"
+
+LLVM_COMPAT=( 19 20 21 )
+
+# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine.
+RUST_NEEDS_LLVM=1
+
+# If not building with clang we need at least rust 1.76
+RUST_MIN_VER=1.82.0
+
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=32.0
+WASI_SDK_LLVM_VER=22
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+ HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.firefox.com"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}
+ loong? (
+ https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET}
+ )
+ wasm-sandbox? (
+ amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz )
+ arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz )
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx"
+IUSE+=" system-pipewire system-png +system-webp test wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( jumbo-build )
+ wayland? ( dbus )
+ wifi? ( dbus )
+"
+
+RESTRICT="!test? ( test )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ clang? (
+ llvm-core/lld:${LLVM_SLOT}
+ pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.27.0
+ net-libs/nodejs
+ virtual/pkgconfig
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ gui-wm/tinywl
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.112.3
+ >=dev-libs/nspr-4.36
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ virtual/zlib:=
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libdrm
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-3.10.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 )
+ )
+ system-icu? ( >=dev-libs/icu-76.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-pipewire? ( >=media-video/pipewire-1.4.7-r2:= )
+ system-png? ( >=media-libs/libpng-1.6.45:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[networkmanager]
+ )
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ hwaccel? (
+ media-video/libva-utils
+ sys-apps/pciutils
+ )
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" !www-client/firefox:rapid"
+else
+ RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
+ einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then
+ einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( skr )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif tc-is-lto ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="7400M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+
+ # Get LTO from environment; export after this phase for use in src_configure (etc)
+ use_lto=no
+
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+
+ if tc-is-lto; then
+ use_lto=yes
+ # LTO is handled via configure
+ filter-lto
+ fi
+
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ if [[ ${use_lto} = yes ]]; then
+ # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC,
+ # bmo#1516758, bgo#942288
+ filter-flags -Werror=lto-type-mismatch -Werror=odr
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif [[ ${use_lto} == "yes" ]] ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="7400M"
+ fi
+
+ check-reqs_pkg_setup
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ export use_lto
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if [[ ${use_lto} == "yes" ]]; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+ use loong && eapply "${WORKDIR}/firefox-loong-patches"
+
+ # ICU's subslot change should trigger rebuild on Firefox if it is updated 77->78.
+ if use system-icu && has_version ">=dev-libs/icu-78.1" ; then
+ eapply "${FILESDIR}/firefox-146.0.1-icu78.patch" # bgo#967261
+ fi
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use loong; then
+ # Only the LP64D ABI of LoongArch64 is actively supported among
+ # the wider Linux ecosystem, so the assumption is safe.
+ export RUST_TARGET="loongarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ elif use riscv ; then
+ # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of
+ # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working
+ # guess right now though.
+ elog "riscv detected, forcing a riscv64 target for now."
+ export RUST_TARGET="riscv64gc-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info"
+ fi
+ fi
+
+ # Pre-built wasm-sandbox path manipulation.
+ if use wasm-sandbox ; then
+ if use amd64 ; then
+ export wasi_arch="x86_64"
+ elif use arm64 ; then
+ export wasi_arch="arm64"
+ else
+ die "wasm-sandbox enabled on unknown/unsupported arch!"
+ fi
+
+ sed -i \
+ -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \
+ -e "s:%%WASI_ARCH%%:${wasi_arch}:" \
+ -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \
+ -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \
+ toolkit/moz.configure || die "Failed to update wasi-related paths."
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clear checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+ # glslopt: bgo#969412
+ moz_clear_vendor_checksums glslopt
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+ python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \
+ js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-updater \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-packed-relative-relocs \
+ --enable-release \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-ffi \
+ --with-system-gbm \
+ --with-system-libdrm \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-pixman \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+ # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default.
+ if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use loong || use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # riscv-related options, bgo#947337, bgo#947338
+ if use riscv ; then
+ mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit
+ mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc
+ 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-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-pipewire
+ 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
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ # wasm-sandbox
+ # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox.
+ if use wasm-sandbox ; then
+ mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/"
+ else
+ mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries
+ mozconfig_use_with system-harfbuzz system-graphite2
+ fi
+
+ if [[ ${use_lto} == "yes" ]] ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ # PGO was moved outside lto block to allow building pgo without lto.
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ # Avoid compressing just-built instrumented Firefox with
+ # high levels of compression. Just use tar as a container
+ # to save >=10 minutes.
+ export MOZ_PKG_FORMAT=tar
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold, bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr
+ fi
+ elif use loong || use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on loong/ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ mozconfig_use_enable test tests
+
+ # 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_lto} == "yes" ]] && tc-ld-is-mold ; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_test() {
+ # https://firefox-source-docs.mozilla.org/testing/automated-testing/index.html
+ local -a failures=()
+
+ # Some tests respect this
+ local -x MOZ_HEADLESS=1
+
+ # Check testing/mach_commands.py
+ einfo "Testing with cppunittest ..."
+ ./mach cppunittest
+ local ret=$?
+ if [[ ${ret} -ne 0 ]]; then
+ eerror "Test suite cppunittest failed with error code ${ret}"
+ failures+=( cppunittest )
+ fi
+
+ if [[ ${#failures} -eq 0 ]]; then
+ einfo "Test suites succeeded"
+ else
+ die "Test suites failed: ${failures[@]}"
+ fi
+}
+
+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 llvm-core/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+
+ # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969)
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+ # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded)
+ if use arm64 ; then
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/v4l2test
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Add telemetry config prefs, just in case something happens in future and telemetry build
+ # options stop working.
+ if ! use telemetry ; then
+ cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs"
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+
+ # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date.
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${S}"/browser/installer/linux/app/flatpak/files/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg firefox-symbolic.svg
+ dosym -r /usr/share/icons/hicolor/symbolic/apps/firefox-symbolic.svg /usr/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local desktop_filename="${PN}-esr.desktop"
+ else
+ local desktop_filename="${PN}.desktop"
+ fi
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ if use gnome-shell ; then
+ # Install search provider for Gnome
+ insinto /usr/share/gnome-shell/search-providers/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+ insinto /usr/share/dbus-1/services/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+ # Toggle between rapid and esr desktop file names
+ if [[ -n ${MOZ_ESR} ]] ; then
+ sed -e "s/firefox.desktop/${desktop_filename}/g" \
+ -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" ||
+ die "Failed to sed org.mozilla.firefox.search-provider.ini file."
+ fi
+
+ # Make the dbus service aware of a previous session, bgo#939196
+ sed -e \
+ "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \
+ -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" ||
+ die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file"
+
+ # Update prefs to enable Gnome search provider
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs"
+ pref("browser.gnome-search-provider.enabled", true);
+ EOF
+ fi
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+
+ readme.gentoo_print_elog
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+ optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+ if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+ optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver
+ fi
+
+ if ! has_version "sys-libs/glibc"; then
+ elog
+ elog "glibc not found! You won't be able to play DRM content."
+ elog "See Gentoo bug #910309 or upstream bug #1843683."
+ elog
+ fi
+}
diff --git a/www-client/firefox/firefox-149.0.ebuild b/www-client/firefox/firefox-149.0.ebuild
new file mode 100644
index 000000000000..2ce30a2bd64f
--- /dev/null
+++ b/www-client/firefox/firefox-149.0.ebuild
@@ -0,0 +1,1385 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-149-patches-01.tar.xz"
+
+LLVM_COMPAT=( 20 21 )
+
+# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine.
+RUST_NEEDS_LLVM=1
+
+# If not building with clang we need at least rust 1.76
+RUST_MIN_VER=1.90.0
+
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=32.0
+WASI_SDK_LLVM_VER=22
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+ HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.firefox.com"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}
+ wasm-sandbox? (
+ amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz )
+ arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz )
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx"
+IUSE+=" system-pipewire system-png +system-webp test valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell jpegxl +jumbo-build openh264 +telemetry wasm-sandbox"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( jumbo-build )
+ wayland? ( dbus )
+ wifi? ( dbus )
+"
+
+RESTRICT="!test? ( test )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ clang? (
+ llvm-core/lld:${LLVM_SLOT}
+ pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.29.1
+ net-libs/nodejs
+ virtual/pkgconfig
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ gui-wm/tinywl
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.121
+ >=dev-libs/nspr-4.38
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ virtual/zlib:=
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libdrm
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-3.10.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 )
+ )
+ system-icu? ( >=dev-libs/icu-78.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-pipewire? ( >=media-video/pipewire-1.4.7-r2:= )
+ system-png? ( >=media-libs/libpng-1.6.45:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ valgrind? ( dev-debug/valgrind )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[networkmanager]
+ )
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ hwaccel? (
+ media-video/libva-utils
+ sys-apps/pciutils
+ )
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+PDEPEND="~www-client/firefox-l10n-${PV}"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" !www-client/firefox:rapid"
+else
+ RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
+ einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then
+ einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+
+ if ! use clang ; then
+ if tc-is-gcc && ver_test "$(gcc-major-version)" -eq 15 && has_version -b "<sys-devel/gcc-15.2.1_p20251108-r1:15"; then
+ eerror "<gcc-15.2.1_p20251108-r1:15 and pgo detected. Firefox-145.0 can not be compiled"
+ eerror "with this GCC, when also enabling pgo."
+ eerror "See bug https://gcc.gnu.org/PR122620"
+ eerror ""
+ eerror "Your options are:"
+ eerror " 1) upgrade GCC to >=15.2.1_p20251108-r1 - note that even with the 16.0"
+ eerror " releases, make sure the patch set is equal or newer than 16.0.0_p20251109-r1,"
+ eerror " or use the \"trunk\" version,"
+ eerror " 2) compile Firefox with Clang by enabling the \"clang\" USE flag, or"
+ eerror " 3) disable pgo when compiling with GCC for now."
+ die "Firefox-${PV} with gcc+pgo cannot be compiled with the detected gcc version: $(gcc-fullversion)"
+ fi
+ fi
+ elif tc-is-lto ; then
+ CHECKREQS_DISK_BUILD="10600M"
+
+ if ! use clang ; then
+ if tc-is-gcc && ver_test "$(gcc-major-version)" -eq 15 && has_version -b "<sys-devel/gcc-15.2.1_p20251108-r1:15"; then
+ eerror "<gcc-15.2.1_p20251108-r1:15 and lto detected. Firefox-145.0 can not be compiled"
+ eerror "with this GCC, when also enabling lto."
+ eerror "See bug https://gcc.gnu.org/PR122620"
+ eerror ""
+ eerror "Your options are:"
+ eerror " 1) upgrade GCC to >=15.2.1_p20251108-r1 - note that even with the 16.0"
+ eerror " releases, make sure the patch set is equal or newer than 16.0.0_p20251109-r1,"
+ eerror " or use the \"trunk\" version,"
+ eerror " 2) compile Firefox with Clang by enabling the \"clang\" USE flag, or"
+ eerror " 3) disable lto when compiling with GCC for now."
+ die "Firefox-${PV} with gcc+lto cannot be compiled with the detected gcc version: $(gcc-fullversion)"
+ fi
+ fi
+ else
+ CHECKREQS_DISK_BUILD="7400M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+
+ # Get LTO from environment; export after this phase for use in src_configure (etc)
+ use_lto=no
+
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+
+ if tc-is-lto; then
+ use_lto=yes
+ # LTO is handled via configure
+ filter-lto
+
+ if ! use clang ; then
+ if tc-is-gcc && ver_test "$(gcc-major-version)" -eq 15 && has_version -b "<sys-devel/gcc-15.2.1_p20251108-r1:15"; then
+ eerror "<gcc-15.2.1_p20251108-r1:15 and pgo detected. Firefox-145.0 can not be compiled"
+ eerror "with this GCC, when also enabling lto."
+ eerror "See bug https://gcc.gnu.org/PR122620"
+ eerror ""
+ eerror "Your options are:"
+ eerror " 1) upgrade GCC to >=15.2.1_p20251108-r1 - note that even with the 16.0"
+ eerror " releases, make sure the patch set is equal or newer than 16.0.0_p20251109-r1,"
+ eerror " or use the \"trunk\" version,"
+ eerror " 2) compile Firefox with Clang by enabling the \"clang\" USE flag, or"
+ eerror " 3) disable lto when compiling with GCC for now."
+ die "Firefox-${PV} with gcc+lto cannot be compiled with the detected gcc version: $(gcc-fullversion)"
+ fi
+ fi
+ fi
+
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+
+ if ! use clang ; then
+ if tc-is-gcc && ver_test "$(gcc-major-version)" -eq 15 && has_version -b "<sys-devel/gcc-15.2.1_p20251108-r1:15"; then
+ eerror "<gcc-15.2.1_p20251108-r1:15 and lto detected. Firefox-145.0 can not be compiled"
+ eerror "with this GCC, when also enabling pgo."
+ eerror "See bug https://gcc.gnu.org/PR122620"
+ eerror ""
+ eerror "Your options are:"
+ eerror " 1) upgrade GCC to >=15.2.1_p20251108-r1 - note that even with the 16.0"
+ eerror " releases, make sure the patch set is equal or newer than 16.0.0_p20251109-r1,"
+ eerror " or use the \"trunk\" version,"
+ eerror " 2) compile Firefox with Clang by enabling the \"clang\" USE flag, or"
+ eerror " 3) disable pgo when compiling with GCC for now."
+ die "Firefox-${PV} with gcc+pgo cannot be compiled with the detected gcc version: $(gcc-fullversion)"
+ fi
+ fi
+ fi
+
+ if [[ ${use_lto} = yes ]]; then
+ # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC,
+ # bmo#1516758, bgo#942288
+ filter-flags -Werror=lto-type-mismatch -Werror=odr
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif [[ ${use_lto} == "yes" ]] ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="7400M"
+ fi
+
+ check-reqs_pkg_setup
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ export use_lto
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if [[ ${use_lto} == "yes" ]]; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#915651 and bmo#1988166 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ rm -v "${WORKDIR}"/firefox-patches/*bmo-1988166-musl-remove-nonexisting-system-header-req.patch || die
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-967694-musl-prctrl-exception-on-musl.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use loong; then
+ # Only the LP64D ABI of LoongArch64 is actively supported among
+ # the wider Linux ecosystem, so the assumption is safe.
+ export RUST_TARGET="loongarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ elif use riscv ; then
+ # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of
+ # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working
+ # guess right now though.
+ elog "riscv detected, forcing a riscv64 target for now."
+ export RUST_TARGET="riscv64gc-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info"
+ fi
+ fi
+
+ # Pre-built wasm-sandbox path manipulation.
+ if use wasm-sandbox ; then
+ if use amd64 ; then
+ export wasi_arch="x86_64"
+ elif use arm64 ; then
+ export wasi_arch="arm64"
+ else
+ die "wasm-sandbox enabled on unknown/unsupported arch!"
+ fi
+
+ sed -i \
+ -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \
+ -e "s:%%WASI_ARCH%%:${wasi_arch}:" \
+ -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \
+ -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \
+ toolkit/moz.configure || die "Failed to update wasi-related paths."
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clear checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+ # glslopt: bgo#969412
+ moz_clear_vendor_checksums glslopt
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+ python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \
+ js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-updater \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-packed-relative-relocs \
+ --enable-release \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-ffi \
+ --with-system-gbm \
+ --with-system-libdrm \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-pixman \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+ # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default.
+ if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use loong || use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ elif use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # riscv-related options, bgo#947337, bgo#947338
+ if use riscv ; then
+ mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc
+ 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-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-pipewire
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+ mozconfig_use_enable valgrind
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ mozconfig_add_options_ac "+hardened stl" --enable-stl-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ # wasm-sandbox
+ # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox.
+ if use wasm-sandbox ; then
+ mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/"
+ else
+ mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries
+ mozconfig_use_with system-harfbuzz system-graphite2
+ fi
+
+ ! use jpegxl && mozconfig_add_options_ac '-jpegxl' --disable-jxl
+
+ if [[ ${use_lto} == "yes" ]] ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ # PGO was moved outside lto block to allow building pgo without lto.
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ # Avoid compressing just-built instrumented Firefox with
+ # high levels of compression. Just use tar as a container
+ # to save >=10 minutes.
+ export MOZ_PKG_FORMAT=tar
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ else
+ # Attempt to fix pgo hanging with gcc, bgo#966309.
+ export MOZ_REMOTE_SETTINGS_DEVTOOLS=1
+ fi
+ fi
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold, bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr
+ fi
+ elif use loong || use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on loong/ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ if use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ mozconfig_use_enable test tests
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ if use valgrind; then
+ sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die
+ fi
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_test() {
+ # https://firefox-source-docs.mozilla.org/testing/automated-testing/index.html
+ local -a failures=()
+
+ # Some tests respect this
+ local -x MOZ_HEADLESS=1
+
+ # Check testing/mach_commands.py
+ einfo "Testing with cppunittest ..."
+ ./mach cppunittest
+ local ret=$?
+ if [[ ${ret} -ne 0 ]]; then
+ eerror "Test suite cppunittest failed with error code ${ret}"
+ failures+=( cppunittest )
+ fi
+
+ if [[ ${#failures} -eq 0 ]]; then
+ einfo "Test suites succeeded"
+ else
+ die "Test suites failed: ${failures[@]}"
+ fi
+}
+
+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 llvm-core/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+
+ # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969)
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+ # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded)
+ if use arm64 ; then
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/v4l2test
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Add telemetry config prefs, just in case something happens in future and telemetry build
+ # options stop working.
+ if ! use telemetry ; then
+ cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+
+ # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date.
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${S}"/browser/installer/linux/app/flatpak/files/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg firefox-symbolic.svg
+ dosym -r /usr/share/icons/hicolor/symbolic/apps/firefox-symbolic.svg /usr/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local desktop_filename="${PN}-esr.desktop"
+ else
+ local desktop_filename="${PN}.desktop"
+ fi
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ if use gnome-shell ; then
+ # Install search provider for Gnome
+ insinto /usr/share/gnome-shell/search-providers/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+ insinto /usr/share/dbus-1/services/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+ # Toggle between rapid and esr desktop file names
+ if [[ -n ${MOZ_ESR} ]] ; then
+ sed -e "s/firefox.desktop/${desktop_filename}/g" \
+ -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" ||
+ die "Failed to sed org.mozilla.firefox.search-provider.ini file."
+ fi
+
+ # Make the dbus service aware of a previous session, bgo#939196
+ sed -e \
+ "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \
+ -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" ||
+ die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file"
+
+ # Update prefs to enable Gnome search provider
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs"
+ pref("browser.gnome-search-provider.enabled", true);
+ EOF
+ fi
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+
+ readme.gentoo_print_elog
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+ optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+ if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+ optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver
+ fi
+
+ if ! has_version "sys-libs/glibc"; then
+ elog
+ elog "glibc not found! You won't be able to play DRM content."
+ elog "See Gentoo bug #910309 or upstream bug #1843683."
+ elog
+ fi
+}