summaryrefslogtreecommitdiff
path: root/www-client
diff options
context:
space:
mode:
Diffstat (limited to 'www-client')
-rw-r--r--www-client/Manifest.gzbin6213 -> 6221 bytes
-rw-r--r--www-client/chromium/Manifest21
-rw-r--r--www-client/chromium/chromium-132.0.6834.159.ebuild1432
-rw-r--r--www-client/chromium/chromium-132.0.6834.83.ebuild4
-rw-r--r--www-client/chromium/chromium-133.0.6943.27.ebuild (renamed from www-client/chromium/chromium-133.0.6943.16.ebuild)44
-rw-r--r--www-client/chromium/chromium-133.0.6943.35.ebuild1434
-rw-r--r--www-client/chromium/chromium-134.0.6988.2.ebuild (renamed from www-client/chromium/chromium-134.0.6958.2.ebuild)54
-rw-r--r--www-client/chromium/files/chromium-134-qt5-optional.patch133
-rw-r--r--www-client/dillo/Manifest4
-rw-r--r--www-client/dillo/dillo-9999.ebuild1
-rw-r--r--www-client/dillo/metadata.xml2
-rw-r--r--www-client/elinks/Manifest10
-rw-r--r--www-client/elinks/elinks-0.17.1.1.ebuild4
-rw-r--r--www-client/elinks/elinks-0.18.0.ebuild214
-rw-r--r--www-client/elinks/elinks-9999.ebuild15
-rw-r--r--www-client/elinks/files/elinks-0.18.0-build.patch22
-rw-r--r--www-client/elinks/files/elinks-0.18.0-sftp.patch22
-rw-r--r--www-client/elinks/metadata.xml1
-rw-r--r--www-client/epiphany/Manifest6
-rw-r--r--www-client/epiphany/epiphany-46.0.ebuild79
-rw-r--r--www-client/epiphany/epiphany-47.2.ebuild (renamed from www-client/epiphany/epiphany-46.2.ebuild)8
-rw-r--r--www-client/falkon/Manifest5
-rw-r--r--www-client/falkon/falkon-24.08.3-r2.ebuild83
-rw-r--r--www-client/falkon/falkon-24.08.3-r3.ebuild5
-rw-r--r--www-client/falkon/falkon-24.12.1.ebuild3
-rw-r--r--www-client/firefox-bin/Manifest302
-rw-r--r--www-client/firefox-bin/files/firefox-symbolic.svg68
-rw-r--r--www-client/firefox-bin/firefox-bin-128.7.0.ebuild364
-rw-r--r--www-client/firefox-bin/firefox-bin-134.0.2.ebuild364
-rw-r--r--www-client/firefox-bin/firefox-bin-135.0.ebuild364
-rw-r--r--www-client/firefox/Manifest307
-rw-r--r--www-client/firefox/firefox-128.7.0.ebuild1376
-rw-r--r--www-client/firefox/firefox-134.0.2.ebuild1371
-rw-r--r--www-client/firefox/firefox-135.0.ebuild1371
-rw-r--r--www-client/google-chrome-beta/Manifest4
-rw-r--r--www-client/google-chrome-beta/google-chrome-beta-133.0.6943.35.ebuild (renamed from www-client/google-chrome-beta/google-chrome-beta-133.0.6943.16.ebuild)0
-rw-r--r--www-client/google-chrome-unstable/Manifest4
-rw-r--r--www-client/google-chrome-unstable/google-chrome-unstable-134.0.6988.2.ebuild (renamed from www-client/google-chrome-unstable/google-chrome-unstable-134.0.6958.2.ebuild)0
-rw-r--r--www-client/google-chrome/Manifest4
-rw-r--r--www-client/google-chrome/google-chrome-132.0.6834.159.ebuild (renamed from www-client/google-chrome/google-chrome-132.0.6834.83.ebuild)0
-rw-r--r--www-client/microsoft-edge-beta/Manifest12
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-133.0.3065.19.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-132.0.2957.106.ebuild)0
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-133.0.3065.31.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-132.0.2957.111.ebuild)0
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-133.0.3065.39.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-133.0.3065.10.ebuild)0
-rw-r--r--www-client/microsoft-edge-dev/Manifest8
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-133.0.3014.0.ebuild126
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-134.0.3081.2.ebuild (renamed from www-client/microsoft-edge-dev/microsoft-edge-dev-133.0.3054.1.ebuild)0
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-134.0.3096.1.ebuild126
-rw-r--r--www-client/microsoft-edge/Manifest4
-rw-r--r--www-client/microsoft-edge/microsoft-edge-132.0.2957.140.ebuild (renamed from www-client/microsoft-edge/microsoft-edge-132.0.2957.115.ebuild)0
-rw-r--r--www-client/opera-beta/Manifest8
-rw-r--r--www-client/opera-beta/opera-beta-116.0.5366.13.ebuild173
-rw-r--r--www-client/opera-beta/opera-beta-117.0.5408.22.ebuild (renamed from www-client/opera-developer/opera-developer-118.0.5411.0-r1.ebuild)0
-rw-r--r--www-client/opera-beta/opera-beta-117.0.5408.8.ebuild (renamed from www-client/opera-developer/opera-developer-117.0.5405.0.ebuild)2
-rw-r--r--www-client/opera-developer/Manifest8
-rw-r--r--www-client/opera-developer/opera-developer-118.0.5419.0.ebuild (renamed from www-client/opera-beta/opera-beta-116.0.5366.7.ebuild)4
-rw-r--r--www-client/opera-developer/opera-developer-118.0.5425.0.ebuild173
-rw-r--r--www-client/opera/Manifest4
-rw-r--r--www-client/opera/opera-116.0.5366.71.ebuild (renamed from www-client/opera/opera-116.0.5366.35.ebuild)0
-rw-r--r--www-client/seamonkey/Manifest4
-rw-r--r--www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild4
-rw-r--r--www-client/seamonkey/seamonkey-2.53.19-r1.ebuild4
62 files changed, 9495 insertions, 670 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz
index ec40bd88e691..738aef79a561 100644
--- a/www-client/Manifest.gz
+++ b/www-client/Manifest.gz
Binary files differ
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index c3e6f53a2d48..3257bf0ed0b8 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -4,18 +4,23 @@ AUX chromium-131-oauth2-client-switches.patch 1991 BLAKE2B 846bfe0368e432d1ed155
AUX chromium-131-unbundle-icu-target.patch 504 BLAKE2B 9f29fa863e218bc9e6761795cd86f9e4621ee8d3105ea20e5c7acf2895c89d566e526daebadf6cd9c33ca7e4e228eac2cf8f2e61b0880bdcd1b54237ed1bf9a8 SHA512 6fb097dbc59326b078ed0e19a7d0301c5dd68f6a4a77533732c24396361019c2aa4480776604cacf6670a8ac943557c58fdaab99c9104078935409b430b29de9
AUX chromium-132-bindgen-custom-toolchain.patch 4011 BLAKE2B 928f6bbf9ceedb063744d985b0da69e28dba37a9da33758700cf64d69a4dddfd1bf27753f9b5972ce36a09f3586b7e67448cb5de1871f8b15cccffa90dd483f3 SHA512 cb2e6e11d0d49810064586916166af2cfe7d60eae1363835081937a03708d74c80bdeffa82cd51a848ba31eaf0667abdbeaf3001bc3dbdae29a30e1857d6ee8e
AUX chromium-134-oauth2-client-switches.patch 1867 BLAKE2B e5266308b7c1506f82b811e865b482886530c4c26d062d6e15155e5ef4031d7c8d680730e5fc8ab1df899d9ffacd8be01db3b43c2817a756a1cfc5d54296a9c7 SHA512 a8d95d5c10b2561fa30bf593aaf177507666cc46dd966ea048e6ee99db6dfd3a7b11962203374770ec2d508198ba14fceeb93dd5795276794a2e7adb58a363fe
+AUX chromium-134-qt5-optional.patch 4140 BLAKE2B 2a5879384a95fa0a9edf2e6506b2f374f6366ef0bd5f248b14333cbe721c5ad85d04101cf7a15a207c476525a8ba22645d8446c684363b3fa8b9c642c89b8fbf SHA512 b9fba4b3d33430a9565a6605f8d525618e6691622095bfe17f781e030e4395cb5ed25242625761ca16b19da8014e4afa1335fc6719cae78c8b3594c9e9092978
AUX chromium-browser.xml 407 BLAKE2B 168d78b0855546ca559cfb51aff0bc85d5e6ae974c25eb76e4a02f6d11659489c6e40397a0b2f7bc1fda336fd2c6dd8c863fccc3340719210b41c7fef51927f4 SHA512 b767fb4fd1925029d95560fc14cb7ab12ae43b2fe923e92d75e733b9723cbe1dcdf6df041a2b62554e98b79b47ef3f6028c773e72e6fd53166a021d49657aeca
AUX chromium-cross-compile.patch 323 BLAKE2B 8d5091ce5287422c9688ede2563360a96b8bd34b9750dc1c8f0b6ca9aeff2c066fac2da169396baa131d971c087c78f9af53999df0e102d1f57176f5e8d3dd57 SHA512 06d3afc1aa19e57daac0e4bad37e1f365a68408240430e5e818e5a4f12e3b7519214eafa463633e447e7029f4ae13ea864ca347ad1fac117702a0be88718a954
AUX chromium-launcher-r7.sh 1631 BLAKE2B ae28d758264446511fd2b64ba69fe920144b351e8833e0e98f43d00633e850094c288b5d97d1a84801ea13aceb294623692c86c1b9be5811b7b97fa8a07a1ecd SHA512 1e97f8394bd8bb4b29570b1b85176efe6258314a596f079bee1c4018113e0023aa54a93690ba8de2a00d127af10dbe2cc3fb3127b72b841c6f28f9e7bed820e0
AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739
+DIST chromium-132.0.6834.159-linux-testdata.tar.xz 299714080 BLAKE2B e6b4691524548d4a316852d88e7f7893571c870375613686fd53503c79cdbf02a4aa2d4a64591ce5069704044031a3579cfab99e439cf2675c4bbbb6011a9f9c SHA512 b20c57e06195fc4a3e12d035d421801a64c3d7dee3ace760e3a8349fdfdbda4c52abcaf01cf0920d668683a7c89a949862b995dd96a98323de2b300ac6067718
+DIST chromium-132.0.6834.159-linux.tar.xz 2196432176 BLAKE2B ec797628558a62cd73b47979ecaac5ab50c3af01e6f0b2018a6783e2374f341e48681ff3975333a31d26af06d40e6af3051a123f29442eda1a9d63ef371aef30 SHA512 afe6e8df6a46401fe4d21e3d9e1f06f2bc1c680705b2d79206d933b0c7cad81a5045a46019d8e79bee3e16a57b83a5b9ff024dd570f9f7e29b1784088dd2f01b
DIST chromium-132.0.6834.83-linux-testdata.tar.xz 299789728 BLAKE2B 043d122ef3ee62012cf55ca2754df932d0e48f08df06b78551cb79ec0c4781a52d5333b02645a981748c2c75928ebc91a21d7caf5e248d94b55fbf6ba4f8c974 SHA512 8122b750f22bb61e257b201bac731975f001a801b626d1ca0b037bc8f6cba34fcd104e47efc48c5122838e8196cdec720fb4a30af8ed0f00eb8943bda67da2d0
DIST chromium-132.0.6834.83-linux.tar.xz 2193406712 BLAKE2B 65cd156a97bcb4888ed30fc29f30e58e5c701e371454ad16427898ec8c51d54da10c36d1bc05157ad64ad4ca3e4b8c54cdd81c82f7f4c57abe6af71c8c050b13 SHA512 f5f1e1f620988ae5cbf042eb0acad5cc00bcf1854d3fb78574ea123dbeb8f5b065dff3fbd5f169c6acf3ed4bc7394d066b1bf6de53b8ccf1ac0432cfde8585fe
-DIST chromium-133.0.6943.16-linux-testdata.tar.xz 299224176 BLAKE2B 80850cdc182cd8825d3b4ed7392ca00d2b35bd208815ad900e59f493a1d64644c7575b496ee67d761591fa66e6b3b3856b3508abd109a49398c4cd7041073fde SHA512 3c2c3e1236787c39796d6b2b61cc7660d8d6f6b46d5cb554631e3e5a82b209ebcbec0a75174305434bc732af616e48f59a8111153d7d69d4def4919bda604af1
-DIST chromium-133.0.6943.16-linux.tar.xz 2300561364 BLAKE2B 017121eae6209b12faa07cfae86d7c81f4a544f8cf7ec7b20d36150902fcc238c76124317a42b59952134a6804411c8a664ac50403edcd4be71d19450c020bee SHA512 942ab013749b7038c143cc4ced89dba28d3420bf50831ab28ed5bc769896ed23aa3a3c51312767a2bc6708cc0800493a6f62fe3b403d5488bdd5b8867fb26e01
+DIST chromium-133.0.6943.27-linux-testdata.tar.xz 299232560 BLAKE2B 88cd384d378bab17d622f4d5d58a0173215f4e4b7b4450ae0ac50d9e56270b8012f767a317eb6ace8530e339bf865d7432799dcdb62d227ef3c0c9a3cc5fcbbd SHA512 c8af61effc377b90845ffb2cddf4068c9d5c2e1e50706b94a124ce4c5dd492bd1ea5eff6404d4a7e427619fe1ae68b94c3c7d9698fa4e1246a9d9a4cdd830c1c
+DIST chromium-133.0.6943.27-linux.tar.xz 2300194124 BLAKE2B 7219cc54f799cc5ab4d64c90454f47495028ff291d4b96a5c504efdffc993e75d60b906b59211e681263276e1292f0fdcbb46c32c409f9d5dd72aa6d726b66fe SHA512 e7c0fd65782de14b3f9a2be5f2bb5a8ac8cf26216b3924026d0257d94bd82558ea349bfa6f34cff9768a39d7670dcb9144873a4d46ef63b9d4c93c4056a6f728
+DIST chromium-133.0.6943.35-linux-testdata.tar.xz 299240992 BLAKE2B e47816d917a497e7efcc34a0523f1689c76db2f63d7df0b71fd3446af5a722d7cdd18debca36c91be93f4f8f59e0c73161ae354a2c5d56b709896e0d98faf116 SHA512 5d62eb7d6b90f74667b5983510db6eb527248192cc8b211a635d51bdd79a22995da247ec7aa172862eec1c4e927ca077837816f6242895ad792ed2887dbfd7f5
+DIST chromium-133.0.6943.35-linux.tar.xz 2300569892 BLAKE2B 38955ac4de9040ba7368e657ff6a818efdc0f0f073e5c7e24dcf36ff582916206c14214d60846308fcbc590cf2e2170d8ffe18fc8ec58edf6238b32b63943db3 SHA512 e8a897e669364739b1ea0beed8c63197bba446047b6c6bc931dd154947fc73bfe2cf7d1f70d53f5a2151d58cd137c43aa369f96d1645d202081ec367b0d36318
DIST chromium-134-clang.tar.xz 54177680 BLAKE2B ebe3e42ba0950f067b0febec65e575ec510f64a056e0a1a9dfffebde02809429c98461638784149dc31423ade29f1dbe4b060af06d8371c0ca8d10d83c7d8617 SHA512 4cf26e6f895ca1b268afcde296f2e7c761f99584170e1f3deecb1c5501be2121f173934a4598124bed69d0bd266f799bf03adfdb2190cb9f23c1212072a8bace
DIST chromium-134-rust.tar.xz 124591376 BLAKE2B c062e7283994ef15055a37f66a1c01dfcbcf03d16b7de48e7d017cec479f306999112dcd0f016157cfd0334349b55ae29512be3063dc6c3de90311520e90a5c1 SHA512 09be07ff0adfcc2928b28f5763a7e18bb7ef1f0cbf4a2475e3e6ae19a0a310a4a8f323375b947a48247853412119781bc9fa1422e24b96423c071f68337d6766
-DIST chromium-134.0.6958.2-linux-testdata.tar.xz 299837732 BLAKE2B 68060ea0c84e951d2cd8427842e5a4bd3cb15a0b4bdd05ec068f8b38c3a14453c02659cdeb77106ac892a88750ea88db124e13bdccdb97eb4bde6d5dd2cdd776 SHA512 ccc7f985b69c72fabbfb9de86aba0872663076d20154338f8ab93e00c883e07040edaf1c1fa8e5c6e76c65fabf70d408fa7fd43149ac2d8c063492c82b7efd99
-DIST chromium-134.0.6958.2-linux.tar.xz 2282858364 BLAKE2B e615acbae612d186445a5e14254dd9f3f9a4cea3ccaf89bdaa0333e3f9ecc21fe7ff000c1df433e64568f298cc0c08e471f019312e894356701a9daa66b1c384 SHA512 061a5625a243df3b3d2144503f8562112cc358f71b4eebf08947343f1bc87cbd5dd6c56f30f1c432bd19d2f339e40fc5d31ae7058123a0952fcb6f47b1e83234
+DIST chromium-134.0.6988.2-linux-testdata.tar.xz 299844124 BLAKE2B df40b1a459525bc23abbc3fe40ed9b6e532f18afc4c918995919bd66591a22599bd09dbb327679e51d997b9e4600bacafeaf9721d75891f55c57c7efbc90c7d3 SHA512 4c310193f2d244a8633a9c03c3ac1231d888094cfb6abe93af188bdf6a81961218b801ec596b4dee9f2454473c54d7e26f78ec0be29ee4a2b67ae75ba6deab43
+DIST chromium-134.0.6988.2-linux.tar.xz 2287904388 BLAKE2B 4ec7b0308e4d13ee008fd147d52ffb49e5755c8c89c3ffaf660f43b6f8550fff92cb419a8e9cfe32059b45ce1f7c433a1470b677854a5cc286221d538094b01c SHA512 199c6de63585a352956080613101bc22147335648624b66c73741962fe3502474648d42060945139bb7b13935e71bc1d35bb35ad73e2ae5dfabc0657a2ff2e64
DIST chromium-openpower-a85b64f07b.tar.bz2 387899 BLAKE2B b01fda2d64ce73068d1536a10cc0896f07a4b714cdb25698b1df8b3252baa0c21c4209b307cf1cb554854f6d0bfe3cd35e06aaa8d02ac5d409a119335084c324 SHA512 05eee81677e8766808441c939bee68e2e6c58ec91f471d88a40181d2eda78614a0a6d27d92ff8f9dda564d12f3451bace4ff2727594748c5c238a3533038019b
DIST chromium-openpower-c11b515d9a.tar.bz2 396039 BLAKE2B c05653e6bb62188c18864e783197853f4c41f88d1c928044a0ea0cb4677bc17806fac266ab100cbbcec3cb0d964bf2172917df95679927c1f1a88fa34aef4f53 SHA512 e9d9bbb2dd8d998060c78dfd5bbaedc548a8c44b442f6259304797326c585046144a6bb8aa4e24c44b3b56068189bee8a01267db2a392e90fd5603d06c0ef9ff
DIST chromium-patches-132.tar.bz2 5040 BLAKE2B d5bd84dd90b395c6a15135637f51f931c72a2f301b1c24e9b938c744f2767fa36857b8edfdf5c44cf085a1efcb40475401fec226ce43446442f32fb174b55355 SHA512 29833b306a34ab6562ee58eb03669818da7235cd36666b27d829bcbd3c4d0035a530fb6be1c33cf88c1c11d43e68e3781f9b9602c0c004e7a37ffa69f9ee17c7
@@ -23,7 +28,9 @@ DIST chromium-patches-133-1.tar.bz2 10661 BLAKE2B c8a141bd10e628533e373b08969f95
DIST chromium-patches-134.tar.bz2 10184 BLAKE2B 5ff1022205ef3e0e88b43e6c20d33a86386d80b837135eaa5451b004f09290de3b765694e31c9e6e840ec7e0537bbe6164a61224a55e17cd04356f1d5af8ee37 SHA512 29fc1f70a95501e0f82e2bb66f7eefab2bd75995d660271ab0dd043b18663107547faddf71b555b82da39e31393c7220893e09d4b28a71b18855d82399e3512b
DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
DIST chromium-testfonts-f26f29c9d3.tar.gz 32750602 BLAKE2B 498f8b2e0811c98dc3d4aaa75559e69c782afb4bd12328cfdb7244ddba5cae7ee47becd27b2549d7b36bed417601f70f4c192934b0f08496cef1547d0502d93c SHA512 96b090446862997c8134e2971f0e38793ecc1208d547e554c9b651ccfb4127c4de86754903fea57a7292a2823c45117bae0ec13ed87aed20c248fb779579fbde
-EBUILD chromium-132.0.6834.83.ebuild 49526 BLAKE2B df824b63565149e1d2166ecdd0f607438beaeaaa932415ee4c304910ccccb1d3defe5b81c7934aa0c147bf94bffccae628ea61bd365db34b467369a939fb3ded SHA512 12bf9837a959daba6f08a297d76f9a82d452592df4ac6f1db7e2cb27d6f26f89ef5cebc64f0bd6f29641b3d3153924b2de69c6a5483afb135809e3318c1b07aa
-EBUILD chromium-133.0.6943.16.ebuild 49597 BLAKE2B 0270b4a1f0508bb4928801a1af0d3cd5ebacfa9b669b1d1581a087faa7cb0ed764575e3c2b6692c7bfc6cb47d5381a6e0a66fd5a16b3b27a9d21b21af375fd3e SHA512 6843276a3ebc9afaebe2b5dec535a00bf67c0631a29ee378f8f06b2e3414689c0963ba651752e5124569b3117de4280bfc3658b8c204e587e54f16956059981e
-EBUILD chromium-134.0.6958.2.ebuild 55382 BLAKE2B 36c19098d3765707e2f9402879dd009ef5c335a206f7484f100f7e210b749914984b6eb600146054797486f41f8d21790dad26c58ff8e85356675d233772efa6 SHA512 468b2ea59a5a1eb2ec40f10e0c28c2eed9d80880e3418ff604ccb53f0cf8339c69d8b54965e5891a3fb10f8879d1cd87a9b63a5057be97cf3a1fb9963446cdc0
+EBUILD chromium-132.0.6834.159.ebuild 48888 BLAKE2B 4ca3322a15355745d4b5717aa6e2aa446286e4e835e6305b6a008c0ae8f17de655d98e302b689c6511542fd5695713e2816890fc84c1c34b89767a9fb8906e30 SHA512 a6fb89ed63ecd50435f97683fd359dd7cda5c4a1442e3c32418d45000524230a9a2bf289d66baa748b8f4f6896dc04239a3b01c8f501588016b1d401bc570560
+EBUILD chromium-132.0.6834.83.ebuild 49528 BLAKE2B cedc4f663fc50cd65ba4f43036e0825a034923e8018614101f486d4f67a7fd2a964fd44b876ac29bee63f12761ce2cf2c28f4ddb250bd0bd52f7cba24448eb47 SHA512 a6360a509c05ccb0a5d91dbae1b7311624b887590ab864b470eb108875edfa5058004ad6a2ed4cbd3c7600710751d82a3d148c16342e3ccdc67878489f9cac63
+EBUILD chromium-133.0.6943.27.ebuild 48957 BLAKE2B 7521085b58aa3808a9f0f093365bbfc8727b87b0d4730a36467f93b3465ab2db9317e4982bca6881bac1d925a7b99ee3e0772a86464d2e3981939c388baf942d SHA512 177145373fbb79c9002ad2f2cd13a8e3d267808bc76d3023c59cafa46ff580246584bdec2e7233a3f7fc9a637c3ca7158cb9cb5028f67f0ba115089a25f8c744
+EBUILD chromium-133.0.6943.35.ebuild 48959 BLAKE2B 5a15acf51d075289de8896438a2c3c7c47135cb5585f27bd9b39f256f2b867bd2f2cfbfed6af5f1a58bf0b99f1f05919d04347f32e28c1e48c1229e9097dc295 SHA512 6b4fb58c8eacb452e7d47c728774cf8d8bf595fbdd32935d65c0e414f2c9c9e734e4800d82996209a9f7fc03367861e2ea83bb01dc6e635807e36a6f01c7a394
+EBUILD chromium-134.0.6988.2.ebuild 54736 BLAKE2B 5c5aa77e347f4f8d6764c8091da6de4455cf0067081ac3a2258c5c23564d77a1e6d8c6cad64711815ec9b14c42690833d8459236393b8942cd00703e0ab4547c SHA512 e0f0f2e919c73fbf3bcf230a74d87ca49738e23778dae080c7dcfaf2970ed894ec1514ef2491d74b46eb0e128a243ae3fb59f7166e9ecbc565df45f60cd3c283
MISC metadata.xml 2090 BLAKE2B 1dc2cb3c8aad13022f4ec8ccae5f87635a5a7846f5a06c797e816322ab33d9ef2629a3409612020e42f981391d41bb501297360d9f777afc81c9fe65078ef059 SHA512 d543d25b779ea63edc5f94e564c2e2c40760b76b933e6e090a6c8c70f71720cf2f764a1fdba3c75efabff8cb0119348665c06657fc38fae615bd20882a06e2e9
diff --git a/www-client/chromium/chromium-132.0.6834.159.ebuild b/www-client/chromium/chromium-132.0.6834.159.ebuild
new file mode 100644
index 000000000000..60627e7364d9
--- /dev/null
+++ b/www-client/chromium/chromium-132.0.6834.159.ebuild
@@ -0,0 +1,1432 @@
+# Copyright 2009-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# PACKAGING NOTES
+
+# This uses a gentoo-created tarball due to Google CI Failures.
+# Use 133(?) as a base for new official tarballs.
+
+GN_MIN_VER=0.2165
+# chromium-tools/get-chromium-toolchain-strings.py
+TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35
+
+VIRTUALX_REQUIRED="pgo"
+
+CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
+ hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
+ sv sw ta te th tr uk ur vi zh-CN zh-TW"
+
+LLVM_COMPAT=( 19 )
+PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_REQ_USE="xml(+)"
+RUST_MIN_VER=1.78.0
+RUST_NEEDS_LLVM="yes please"
+
+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="c11b515d9addc3f8b516502e553ace507eb81815"
+PATCH_V="${PV%%\.*}"
+SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz
+ https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
+ test? (
+ https://chromium-tarballs.distfiles.gentoo.org/${P}-linux-testdata.tar.xz
+ 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 )"
+
+LICENSE="BSD"
+SLOT="0/stable"
+# Dev exists mostly to give devs some breathing room for beta/stable releases;
+# it shouldn't be keyworded but adventurous users can select it.
+if [[ ${SLOT} != "0/dev" ]]; then
+ KEYWORDS="~amd64 ~arm64 ~ppc64"
+fi
+
+IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
+IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
+IUSE+=" qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3"
+RESTRICT="
+ !bindist? ( bindist )
+ !test? ( test )
+"
+
+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:=
+"
+
+COMMON_SNAPSHOT_DEPEND="
+ system-icu? ( >=dev-libs/icu-73.0:= )
+ >=dev-libs/libxml2-2.12.4:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ dev-libs/libxslt:=
+ media-libs/fontconfig:=
+ >=media-libs/freetype-2.11.0-r1:=
+ system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
+ media-libs/libjpeg-turbo:=
+ system-png? ( media-libs/libpng:=[-apng(-)] )
+ system-zstd? ( >=app-arch/zstd-1.5.5:= )
+ >=media-libs/libwebp-0.4.0:=
+ media-libs/mesa:=[gbm(+)]
+ >=media-libs/openh264-1.6.0:=
+ sys-libs/zlib:=
+ !headless? (
+ dev-libs/glib:2
+ >=media-libs/alsa-lib-1.0.19:=
+ pulseaudio? ( media-libs/libpulse:= )
+ sys-apps/pciutils:=
+ kerberos? ( virtual/krb5 )
+ vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
+ X? (
+ x11-base/xorg-proto:=
+ x11-libs/libX11:=
+ x11-libs/libxcb:=
+ x11-libs/libXext:=
+ )
+ x11-libs/libxkbcommon:=
+ wayland? (
+ dev-libs/libffi:=
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:= )
+ )
+ )
+"
+
+COMMON_DEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ app-arch/bzip2:=
+ dev-libs/expat:=
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ media-libs/flac:=
+ sys-libs/zlib:=[minizip]
+ !headless? (
+ X? ( ${COMMON_X_DEPEND} )
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ media-libs/mesa:=[X?,wayland?]
+ cups? ( >=net-print/cups-1.3.11:= )
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango:=
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !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 )
+ )
+ $(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] )
+ )
+ ')
+ pgo? (
+ >=dev-python/selenium-3.141.0
+ >=dev-util/web_page_replay_go-20220314
+ )
+ >=dev-util/bindgen-0.68.0
+ >=dev-build/gn-${GN_MIN_VER}
+ dev-build/ninja
+ dev-lang/perl
+ >=dev-util/gperf-3.0.3
+ dev-vcs/git
+ >=net-libs/nodejs-7.6.0[inspector]
+ >=sys-devel/bison-2.4.3
+ sys-devel/flex
+ virtual/pkgconfig
+"
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+
+For native file dialogs in KDE, install kde-apps/kdialog.
+
+To make password storage work with your desktop environment you may
+have install one of the supported credentials management applications:
+- app-crypt/libsecret (GNOME)
+- kde-frameworks/kwallet (KDE)
+If you have one of above packages installed, but don't want to use
+them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
+in /etc/chromium/default.
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+pre_build_checks() {
+ # Check build requirements: bugs #471810, #541816, #914220
+ # We're going to start doing maths here on the size of an unpacked source tarball,
+ # this should make updates easier as chromium continues to balloon in size.
+ local BASE_DISK=24
+ local EXTRA_DISK=1
+ local CHECKREQS_MEMORY="4G"
+ tc-is-cross-compiler && EXTRA_DISK=2
+ if tc-is-lto || use pgo; then
+ CHECKREQS_MEMORY="9G"
+ tc-is-cross-compiler && EXTRA_DISK=4
+ use pgo && EXTRA_DISK=8
+ fi
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ if use custom-cflags; then
+ EXTRA_DISK=13
+ fi
+ CHECKREQS_MEMORY="16G"
+ fi
+ CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G"
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+ fi
+
+ if use headless; then
+ local headless_unused_flags=("cups" "kerberos" "pulseaudio" "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
+
+ # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
+ # We'll set these to clang here then use llvm-utils functions to very explicitly set these
+ # to a sane value.
+ # This is effectively the 'force-clang' path if GCC support is re-added.
+ # TODO: check if the user has already selected a specific impl via make.conf and respect that.
+ use_lto="false"
+ if tc-is-lto; then
+ use_lto="true"
+ # We can rely on GN to do this for us; anecdotally without this builds
+ # take significantly longer with LTO enabled and it doesn't hurt anything.
+ filter-lto
+ fi
+
+ if [ "$use_lto" = "false" ] && use official; then
+ einfo "USE=official selected and LTO not detected."
+ einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
+ einfo "and to be consistent with the upstream \"official\" build optimisations."
+ fi
+
+ if [ "$use_lto" = "false" ] && use test; then
+ die "Tests require CFI which requires LTO"
+ fi
+
+ export use_lto
+
+ # 936858
+ if tc-ld-is-mold; then
+ eerror "Your toolchain is using the mold linker."
+ eerror "This is not supported by Chromium."
+ die "Please switch to a different linker."
+ fi
+
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+
+ # Forcing clang; respect llvm_slot_x to enable selection of impl from LLVM_COMPAT
+ AR=llvm-ar
+ CPP="${CHOST}-clang++-${LLVM_SLOT} -E"
+ NM=llvm-nm
+ CC="${CHOST}-clang-${LLVM_SLOT}"
+ CXX="${CHOST}-clang++-${LLVM_SLOT}"
+
+ 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
+
+ # Users should never hit this, it's purely a development convenience
+ if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
+ die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
+ fi
+ fi
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+ unpack ${P}-linux.tar.xz
+ unpack chromium-patches-${PATCH_V}.tar.bz2
+
+ use pgo && unpack chromium-profiler-0.2.tar
+
+ if use test; then
+ # A new testdata tarball is available for each release; but testfonts tend to remain stable
+ # for the duration of a release.
+ # This unpacks directly into/over ${WORKDIR}/${P} so we can just use `unpack`.
+ unpack ${P}-linux-testdata.tar.xz
+ # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location.
+ local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts"
+ local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz"
+ tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts"
+ fi
+
+ if use ppc64; then
+ unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
+ fi
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local PATCHES=(
+ "${FILESDIR}/chromium-cross-compile.patch"
+ "${FILESDIR}/chromium-109-system-zlib.patch"
+ "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
+ "${FILESDIR}/chromium-131-unbundle-icu-target.patch"
+ "${FILESDIR}/chromium-131-oauth2-client-switches.patch"
+ "${FILESDIR}/chromium-132-bindgen-custom-toolchain.patch"
+ "${FILESDIR}/chromium-134-qt5-optional.patch"
+ )
+ shopt -s globstar nullglob
+ # 130: moved the PPC64 patches into the chromium-patches repo
+ local patch
+ for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do
+ if [[ ${patch} == *"ppc64le"* ]]; then
+ use ppc64 && PATCHES+=( "${patch}" )
+ else
+ PATCHES+=( "${patch}" )
+ fi
+ done
+ shopt -u globstar nullglob
+
+ # We can't use the bundled compiler builtins with the system toolchain
+ # `grep` is a development convenience to ensure we fail early when google changes something.
+ local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {"
+ grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
+ sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn
+
+ if use ppc64; then
+ 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 isa3.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
+
+ # This is a nightly option that does not exist any current release
+ # https://github.com/rust-lang/rust/commit/389a399a501a626ebf891ae0bb076c25e325ae64
+ if ver_test ${RUST_SLOT} -le "1.82.0"; then
+ sed '/rustflags = \[ "-Zdefault-visibility=hidden" \]/d' -i build/config/gcc/BUILD.gn ||
+ die "Failed to remove default visibility nightly option"
+ fi
+
+ default
+
+ rm third_party/node/linux/node-linux-x64/bin/node || die
+ ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ # adjust python interpreter version
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+
+ # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party'
+ # whitelist matches use the right-most matching path component, so we need to whitelist from that point down.
+ local keeplibs=(
+ base/third_party/cityhash
+ base/third_party/double_conversion
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ chrome/third_party/mozilla_security_manager
+ net/third_party/mozilla_security_manager
+ net/third_party/nss
+ net/third_party/quic
+ net/third_party/uri_template
+ third_party/abseil-cpp
+ third_party/angle
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/ceval
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/volk
+ third_party/anonymous_tokens
+ third_party/apple_apsl
+ third_party/axe-core
+ third_party/bidimapper
+ third_party/blink
+ third_party/boringssl
+ third_party/boringssl/src/third_party/fiat
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ third_party/brotli
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/beautifulsoup4-4.9.3
+ third_party/catapult/third_party/html5lib-1.1
+ third_party/catapult/third_party/polymer
+ third_party/catapult/third_party/six
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jpeg-js
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_3
+ third_party/closure_compiler
+ third_party/content_analysis_sdk
+ third_party/cpuinfo
+ third_party/crabbyavif
+ third_party/crashpad
+ third_party/crashpad/crashpad/third_party/lss
+ third_party/crashpad/crashpad/third_party/zlib
+ third_party/crc32c
+ third_party/cros_system_api
+ third_party/d3
+ third_party/dav1d
+ third_party/dawn
+ third_party/dawn/third_party/gn/webgpu-cts
+ third_party/dawn/third_party/khronos
+ third_party/depot_tools
+ third_party/devscripts
+ third_party/devtools-frontend
+ third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/devtools-frontend/src/front_end/third_party/axe-core
+ third_party/devtools-frontend/src/front_end/third_party/chromium
+ third_party/devtools-frontend/src/front_end/third_party/codemirror
+ third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
+ third_party/devtools-frontend/src/front_end/third_party/diff
+ third_party/devtools-frontend/src/front_end/third_party/i18n
+ third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/json5
+ 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/third-party-web
+ third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser
+ third_party/devtools-frontend/src/front_end/third_party/web-vitals
+ third_party/devtools-frontend/src/third_party
+ third_party/distributed_point_functions
+ third_party/dom_distiller_js
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ third_party/fast_float
+ third_party/fdlibm
+ third_party/ffmpeg
+ third_party/fft2d
+ third_party/flatbuffers
+ third_party/fp16
+ third_party/freetype
+ third_party/fusejs
+ third_party/fxdiv
+ third_party/gemmlowp
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/highway
+ third_party/hunspell
+ third_party/iccjpeg
+ third_party/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/jstemplate
+ third_party/khronos
+ third_party/lens_server_proto
+ third_party/leveldatabase
+ third_party/libaddressinput
+ third_party/libaom
+ third_party/libaom/source/libaom/third_party/fastfeat
+ third_party/libaom/source/libaom/third_party/SVT-AV1
+ third_party/libaom/source/libaom/third_party/vector
+ third_party/libaom/source/libaom/third_party/x86inc
+ third_party/libavif
+ third_party/libc++
+ third_party/libdrm
+ third_party/libevent
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libphonenumber
+ 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/mesa
+ third_party/metrics_proto
+ third_party/minigbm
+ third_party/modp_b64
+ third_party/nasm
+ third_party/nearby
+ third_party/neon_2_sse
+ third_party/node
+ third_party/omnibox_proto
+ third_party/one_euro_filter
+ third_party/openscreen
+ third_party/openscreen/src/third_party/
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/opus
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg
+ third_party/pdfium/third_party/libtiff
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/chromium
+ third_party/perfetto/protos/third_party/simpleperf
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private_membership
+ third_party/private-join-and-compute
+ third_party/protobuf
+ third_party/pthreadpool
+ third_party/puffin
+ third_party/pyjson5
+ third_party/pyyaml
+ third_party/qcms
+ third_party/rapidhash
+ third_party/re2
+ third_party/rnnoise
+ third_party/rust
+ third_party/ruy
+ third_party/s2cellid
+ third_party/securemessage
+ third_party/selenium-atoms
+ third_party/sentencepiece
+ third_party/sentencepiece/src/third_party/darts_clone
+ third_party/shell-encryption
+ third_party/simplejson
+ third_party/six
+ third_party/skia
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ third_party/spirv-headers
+ third_party/spirv-tools
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/astc-encoder
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/marl
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
+ third_party/swiftshader/third_party/SPIRV-Tools
+ third_party/swiftshader/third_party/subzero
+ third_party/tensorflow_models
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/tflite/src/third_party/xla/third_party/tsl
+ third_party/tflite/src/third_party/xla/xla/tsl/framework
+ third_party/tflite/src/third_party/xla/xla/tsl/lib/random
+ 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/unrar
+ third_party/utf
+ third_party/vulkan
+ third_party/wayland
+ third_party/webdriver
+ third_party/webgpu-cts
+ third_party/webrtc
+ third_party/webrtc/common_audio/third_party/ooura
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor
+ third_party/webrtc/modules/third_party/fft
+ third_party/webrtc/modules/third_party/g711
+ third_party/webrtc/modules/third_party/g722
+ third_party/webrtc/rtc_base/third_party/base64
+ third_party/webrtc/rtc_base/third_party/sigslot
+ third_party/widevine
+ third_party/woff2
+ third_party/wuffs
+ third_party/x11proto
+ third_party/xcbproto
+ third_party/xnnpack
+ third_party/zlib/google
+ third_party/zxcvbn-cpp
+ url/third_party/mozilla
+ v8/src/third_party/siphash
+ v8/src/third_party/utf8-decoder
+ v8/src/third_party/valgrind
+ v8/third_party/glibc
+ v8/third_party/inspector_protocol
+ v8/third_party/v8
+
+ # gyp -> gn leftovers
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ third_party/xdg-utils
+ )
+
+ if use test; then
+ # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}'
+ keeplibs+=(
+ third_party/breakpad/breakpad/src/processor
+ third_party/google_benchmark/src/include/benchmark
+ third_party/google_benchmark/src/src
+ third_party/perfetto/protos/third_party/pprof
+ third_party/test_fonts
+ third_party/test_fonts/fontconfig
+ )
+ fi
+
+ # USE=system-*
+ if ! use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz-ng )
+ fi
+
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+
+ if ! use system-png; then
+ keeplibs+=( third_party/libpng )
+ fi
+
+ if ! use system-zstd; then
+ keeplibs+=( third_party/zstd )
+ fi
+
+ # Arch-specific
+ if use arm64 || use ppc64 ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
+ fi
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ # it has to be done before unbundling.
+ if use ppc64; then
+ pushd third_party/libvpx >/dev/null || die
+ mkdir -p source/config/linux/ppc64 || die
+ # requires git and clang, bug #832803
+ # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
+ # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
+ # since we're not in a git repo
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
+ generate_gni.sh || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+
+ pushd third_party/ffmpeg >/dev/null || die
+ cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
+ cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
+ popd >/dev/null || die
+ fi
+
+ # Sanity check keeplibs, on major version bumps it is often necessary to update this list
+ # and this enables us to hit them all at once.
+ # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd)
+ whitelist_libs=(
+ net/third_party/quic
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/libjingle
+ third_party/mesa
+ third_party/skia/third_party/vulkan
+ third_party/vulkan
+ )
+ local not_found_libs=()
+ for lib in "${keeplibs[@]}"; do
+ if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then
+ not_found_libs+=( "${lib}" )
+ fi
+ done
+
+ if [[ ${#not_found_libs[@]} -gt 0 ]]; then
+ eerror "The following \`keeplibs\` directories were not found in the source tree:"
+ for lib in "${not_found_libs[@]}"; do
+ eerror " ${lib}"
+ done
+ die "Please update the ebuild."
+ fi
+
+ # Remove most bundled libraries. Some are still needed.
+ einfo "Unbundling third-party libraries ..."
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed.
+
+ # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
+ mkdir -p buildtools/third_party/eu-strip/bin || die
+ ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
+}
+
+chromium_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ # We already forced the "correct" clang via pkg_setup
+
+ if tc-is-cross-compiler; then
+ CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_AR=${AR}
+ BUILD_CC=${CC}
+ BUILD_CXX=${CXX}
+ BUILD_NM=${NM}
+ fi
+
+ strip-unsupported-flags
+
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ # https://bugs.gentoo.org/918897#c32
+ append-ldflags -Wl,--undefined-version
+ myconf_gn+=" use_lld=true"
+
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
+ myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+
+ # setup cups-config, build system only uses --libs option
+ if use cups; then
+ mkdir "${T}/cups-config" || die
+ cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+ export PATH="${PATH}:${T}/cups-config"
+ fi
+
+ # Don't inherit PKG_CONFIG_PATH from environment
+ local -x PKG_CONFIG_PATH=
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ fi
+
+ # bindgen settings
+ # From 127, to make bindgen work, we need to provide a location for libclang.
+ # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
+ # rust_bindgen_root = directory with `bin/bindgen` beneath it.
+ myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\""
+
+ myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\""
+ # We don't need to set 'clang_base_bath' for anything in our build
+ # and it defaults to the google toolchain location. Instead provide a location
+ # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h)
+ myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
+
+ myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\""
+ myconf_gn+=" rustc_version=\"${RUST_SLOT}\""
+
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ myconf_gn+=" is_debug=false"
+
+ # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
+ # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
+ myconf_gn+=" dcheck_always_on=$(usex debug true false)"
+ myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
+
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ myconf_gn+=" is_component_build=false"
+
+ # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
+ myconf_gn+=" enable_nacl=false"
+
+ # Use system-provided libraries.
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ fontconfig
+ freetype
+ # Need harfbuzz_from_pkgconfig target
+ #harfbuzz-ng
+ libjpeg
+ libwebp
+ libxml
+ libxslt
+ openh264
+ zlib
+ )
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if use system-png; then
+ gn_system_libraries+=( libpng )
+ fi
+ if use system-zstd; then
+ gn_system_libraries+=( zstd )
+ fi
+
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+
+ # 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
+
+ # See dependency logic in third_party/BUILD.gn
+ myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+ myconf_gn+=" enable_widevine=$(usex widevine true false)"
+
+ if use headless; then
+ myconf_gn+=" use_cups=false"
+ myconf_gn+=" use_kerberos=false"
+ myconf_gn+=" use_pulseaudio=false"
+ myconf_gn+=" use_vaapi=false"
+ myconf_gn+=" rtc_use_pipewire=false"
+ else
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+ myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
+ fi
+
+ # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
+ # using dlopen. This helps with automated detection of ABI mismatches and
+ # prevents silent errors.
+ if use pulseaudio; then
+ myconf_gn+=" link_pulseaudio=true"
+ fi
+
+ # Non-developer builds of Chromium (for example, non-Chrome browsers, or
+ # Chromium builds provided by Linux distros) should disable the testing config
+ myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+ # The sysroot is the oldest debian image that chromium supports, we don't need it
+ myconf_gn+=" use_sysroot=false"
+
+ # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi)
+ # instead of the system C++ library for C++ standard library support.
+ # default: true, but let's be explicit (forced since 120 ; USE removed 127).
+ myconf_gn+=" use_custom_libcxx=true"
+
+ # Disable pseudolocales, only used for testing
+ myconf_gn+=" enable_pseudolocales=false"
+
+ # Disable code formating of generated files
+ myconf_gn+=" blink_enable_generated_code_formatting=false"
+
+ if use bindist ; then
+ # proprietary_codecs just forces Chromium to say that it can use h264/aac,
+ # the work is still done by ffmpeg. If this is set to no Chromium
+ # won't be able to load the codec even if the library can handle it
+ myconf_gn+=" proprietary_codecs=true"
+ myconf_gn+=" ffmpeg_branding=\"Chrome\""
+ # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
+ myconf_gn+=" is_component_ffmpeg=true"
+ else
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+ fi
+
+ # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
+ # Note: these are for Gentoo use ONLY. For your own distribution,
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info. The OAuth2 credentials, however, have been left out.
+ # Those OAuth2 credentials have been broken for quite some time anyway.
+ # Instead we apply a patch to use the --oauth2-client-id= and
+ # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
+ # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
+ # Chromium without baked-in values.
+ local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
+ myconf_gn+=" google_api_key=\"${google_api_key}\""
+ local myarch="$(tc-arch)"
+
+ # Avoid CFLAGS problems, bug #352457, bug #390147.
+ if ! use custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+
+ # Debug info section overflows without component build
+ # Prevent linker from running out of address space, bug #471810 .
+ filter-flags "-g*"
+
+ # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
+ if [[ ${myarch} == amd64 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
+ fi
+ fi
+
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = ppc64 ]] ; then
+ myconf_gn+=" target_cpu=\"ppc64\""
+ ffmpeg_target_arch=ppc64
+ else
+ die "Failed to determine target arch, got '$myarch'."
+ fi
+
+ myconf_gn+=" treat_warnings_as_errors=false"
+ # Disable fatal linker warnings, bug 506268.
+ myconf_gn+=" fatal_linker_warnings=false"
+
+ # Disable external code space for V8 for ppc64. It is disabled for ppc64
+ # by default, but cross-compiling on amd64 enables it again.
+ if tc-is-cross-compiler; then
+ if ! use amd64 && ! use arm64; then
+ myconf_gn+=" v8_enable_external_code_space=false"
+ fi
+ fi
+
+ # Only enabled for clang, but gcc has endian macros too
+ myconf_gn+=" v8_use_libm_trig_functions=true"
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ # We don't use the same clang version as upstream, and with -Werror
+ # we need to make sure that we don't get superfluous warnings.
+ append-flags -Wno-unknown-warning-option
+ if tc-is-cross-compiler; then
+ export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
+ export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
+ fi
+
+ # Explicitly disable ICU data file support for system-icu/headless builds.
+ if use system-icu || use headless; then
+ myconf_gn+=" icu_use_data_file=false"
+ fi
+
+ # Don't need nocompile checks and GN crashes with our config
+ myconf_gn+=" enable_nocompile_tests=false"
+
+ # 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
+ myconf_gn+=" enable_freetype=true"
+
+ # Enable ozone wayland and/or headless support
+ myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
+ myconf_gn+=" ozone_platform_headless=true"
+ if use headless; then
+ myconf_gn+=" ozone_platform=\"headless\""
+ myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false"
+ myconf_gn+=" use_glib=false use_gio=false"
+ myconf_gn+=" use_pangocairo=false use_alsa=false"
+ myconf_gn+=" use_libpci=false use_udev=false"
+ myconf_gn+=" enable_print_preview=false"
+ myconf_gn+=" enable_remoting=false"
+ else
+ myconf_gn+=" use_system_minigbm=true"
+ myconf_gn+=" use_xkbcommon=true"
+ myconf_gn+=" use_qt5=false"
+ if use qt6; then
+ myconf_gn+=" use_qt6=true"
+ local cbuild_libdir=$(get_libdir)
+ if tc-is-cross-compiler; then
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)
+ cbuild_libdir=${cbuild_libdir:2}
+ cbuild_libdir=${cbuild_libdir/% }
+ fi
+ myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
+ else
+ myconf_gn+=" use_qt6=false"
+ fi
+ myconf_gn+=" ozone_platform_x11=$(usex X true false)"
+ myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
+ myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
+ use wayland && myconf_gn+=" use_system_libffi=true"
+ fi
+
+ myconf_gn+=" use_thin_lto=${use_lto}"
+ myconf_gn+=" thin_lto_enable_optimizations=${use_lto}"
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ if use official; then
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+ if use ppc64; then
+ myconf_gn+=" is_cfi=false" # requires llvm-runtimes/compiler-rt-sanitizers[cfi]
+ else
+ myconf_gn+=" is_cfi=${use_lto}"
+ 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
+ # Disable PGO
+ myconf_gn+=" chrome_pgo_phase=0"
+ fi
+
+ # skipping typecheck is only supported on amd64, bug #876157
+ if ! use amd64; then
+ myconf_gn+=" devtools_skip_typecheck=false"
+ fi
+
+ einfo "Configuring Chromium ..."
+ set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_configure() {
+ chromium_configure $(usex pgo 1 0)
+}
+
+chromium_compile() {
+
+ # Final link uses lots of file descriptors.
+ ulimit -n 2048
+
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # Don't inherit PYTHONPATH from environment, bug #789021, #812689
+ local -x PYTHONPATH=
+
+ # Build mksnapshot and pax-mark it.
+ if use pax-kernel; then
+ local x
+ for x in mksnapshot v8_context_snapshot_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+ fi
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests")
+
+ pax-mark m out/Release/chrome
+
+}
+
+# This function is called from virtx, and must always return so that Xvfb
+# session isn't left running. If we return 1, virtx will call die().
+chromium_profile() {
+ einfo "Profiling for PGO"
+
+ pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
+
+ # Remove old profdata in case profiling was interrupted.
+ rm -rf "${1}" || return 1
+
+ if ! "${EPYTHON}" ./chromium_profiler.py \
+ --chrome-executable "${S}/out/Release/chrome" \
+ --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
+ --add-arg no-sandbox --add-arg disable-dev-shm-usage \
+ --profile-output "${1}"; then
+ eerror "Profiling failed"
+ return 1
+ fi
+
+ popd >/dev/null || return 1
+}
+
+src_compile() {
+ if use pgo; then
+ local profdata
+
+ profdata="${WORKDIR}/chromium.profdata"
+
+ if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
+ chromium_compile
+ virtx chromium_profile "$profdata"
+
+ touch "${WORKDIR}/.pgo-profiled" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
+ # Remove phase 1 output
+ rm -r out/Release || die
+
+ chromium_configure 2 "$profdata"
+
+ touch "${WORKDIR}/.pgo-phase-2-configured" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
+ chromium_compile
+ touch "${WORKDIR}/.pgo-phase-2-compiled" || die
+ fi
+ else
+ chromium_compile
+ fi
+
+ mv out/Release/chromedriver{.unstripped,} || die
+
+ rm -f out/Release/locales/*.pak.info || die
+
+ # Build manpage; bug #684550
+ sed -e 's|@@PACKAGE@@|chromium-browser|g;
+ s|@@MENUNAME@@|Chromium|g;' \
+ chrome/app/resources/manpage.1.in > \
+ out/Release/chromium-browser.1 || die
+
+ # Build desktop file; bug #706786
+ sed -e 's|@@MENUNAME@@|Chromium|g;
+ s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
+ s|@@PACKAGE@@|chromium-browser|g;
+ s|\(^Exec=\)/usr/bin/|\1|g;' \
+ chrome/installer/linux/common/desktop.template > \
+ out/Release/chromium-browser-chromium.desktop || die
+
+ # Build vk_swiftshader_icd.json; bug #827861
+ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
+ third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
+ out/Release/vk_swiftshader_icd.json || die
+}
+
+src_test() {
+ # Initial list of tests to skip pulled from Alpine. Thanks Lauren!
+ # https://issues.chromium.org/issues/40939315
+ local skip_tests=(
+ 'MessagePumpLibeventTest.NestedNotification*'
+ ClampTest.Death
+ OptionalTest.DereferencingNoValueCrashes
+ PlatformThreadTest.SetCurrentThreadTypeTest
+ RawPtrTest.TrivialRelocability
+ SafeNumerics.IntMaxOperations
+ StackTraceTest.TraceStackFramePointersFromBuffer
+ StringPieceTest.InvalidLengthDeath
+ StringPieceTest.OutOfBoundsDeath
+ ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker
+ ValuesUtilTest.FilePath
+ # Gentoo-specific
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/0
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/1
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/2
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/3
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/0
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/1
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/2
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/3
+ CharacterEncodingTest.GetCanonicalEncodingNameByAliasName
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGFPE
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGILL
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGV
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGVNonCanonicalAddress
+ FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe
+ FileTest.GetInfoForCreationTime
+ ICUStringConversionsTest.ConvertToUtf8AndNormalize
+ NumberFormattingTest.FormatPercent
+ PathServiceTest.CheckedGetFailure
+ PlatformThreadTest.CanChangeThreadType
+ RustLogIntegrationTest.CheckAllSeverity
+ StackCanary.ChangingStackCanaryCrashesOnReturn
+ StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree
+ SysStrings.SysNativeMBAndWide
+ SysStrings.SysNativeMBToWide
+ SysStrings.SysWideToNativeMB
+ TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest
+ ToolsSanityTest.BadVirtualCallNull
+ ToolsSanityTest.BadVirtualCallWrongType
+ )
+ local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")"
+ # test-launcher-bot-mode enables parallelism and plain output
+ ./out/Release/base_unittests --test-launcher-bot-mode \
+ --test-launcher-jobs="$(makeopts_jobs)" \
+ --gtest_filter="${test_filter}" || die "Tests failed!"
+}
+
+src_install() {
+ local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+
+ doexe out/Release/chromedriver
+ doexe out/Release/chrome_crashpad_handler
+
+ ozone_auto_session () {
+ use X && use wayland && ! use headless && echo true || echo false
+ }
+ local sedargs=( -e
+ "s:/usr/lib/:/usr/$(get_libdir)/:g;
+ s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
+ )
+ sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
+ doexe chromium-launcher.sh
+
+ # It is important that we name the target "chromium-browser",
+ # xdg-utils expect it; bug #355517.
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
+
+ dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
+
+ # Allow users to override command-line options, bug #357629.
+ insinto /etc/chromium
+ newins "${FILESDIR}/chromium.default" "default"
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+
+ if use bindist; then
+ # We built libffmpeg as a component library, but we can't distribute it
+ # with proprietary codec support. Remove it and make a symlink to the requested
+ # system library.
+ rm -f out/Release/libffmpeg.so \
+ || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
+ # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
+ einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
+ dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
+ /usr/$(get_libdir)/chromium-browser/libffmpeg.so
+ fi
+
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
+ doins out/Release/xdg-{settings,mime}
+
+ if ! use system-icu && ! use headless; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ doins -r out/Release/MEIPreload
+
+ # Install vk_swiftshader_icd.json; bug #827861
+ doins out/Release/vk_swiftshader_icd.json
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ # Install icons
+ local branding size
+ for size in 16 24 32 48 64 128 256 ; do
+ case ${size} in
+ 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
+ *) branding="chrome/app/theme/chromium" ;;
+ esac
+ newicon -s ${size} "${branding}/product_logo_${size}.png" \
+ chromium-browser.png
+ done
+
+ # Install desktop entry
+ domenu out/Release/chromium-browser-chromium.desktop
+
+ # Install GNOME default application entry (bug #303100).
+ insinto /usr/share/gnome-control-center/default-apps
+ newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+
+ # Install manpage; bug #684550
+ doman out/Release/chromium-browser.1
+ dosym chromium-browser.1 /usr/share/man/man1/chromium.1
+
+ readme.gentoo_create_doc
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+
+ if ! use headless; then
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use gtk4; then
+ elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
+ elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ fi
+
+ if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
+ ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd"
+ ewarn "indicates that the Gentoo handbook was not followed to completion."
+ ewarn ""
+ ewarn "Chromium is known to behave unpredictably with this system configuration;"
+ ewarn "please complete the configuration of this system before logging any bugs."
+ fi
+}
diff --git a/www-client/chromium/chromium-132.0.6834.83.ebuild b/www-client/chromium/chromium-132.0.6834.83.ebuild
index afebf0bd7d16..c062383cf03c 100644
--- a/www-client/chromium/chromium-132.0.6834.83.ebuild
+++ b/www-client/chromium/chromium-132.0.6834.83.ebuild
@@ -409,7 +409,7 @@ src_prepare() {
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}" )
+ PATCHES+=( "${patchset_dir}/${isa_3_patch}" )
fi
fi
@@ -1113,7 +1113,7 @@ chromium_configure() {
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=no" # requires llvm-runtimes/compiler-rt-sanitizers[cfi]
+ myconf_gn+=" is_cfi=false" # requires llvm-runtimes/compiler-rt-sanitizers[cfi]
else
myconf_gn+=" is_cfi=${use_lto}"
fi
diff --git a/www-client/chromium/chromium-133.0.6943.16.ebuild b/www-client/chromium/chromium-133.0.6943.27.ebuild
index 259ac654d394..b86265c53fcb 100644
--- a/www-client/chromium/chromium-133.0.6943.16.ebuild
+++ b/www-client/chromium/chromium-133.0.6943.27.ebuild
@@ -25,7 +25,7 @@ RUST_MIN_VER=1.78.0
RUST_NEEDS_LLVM="yes please"
inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils
-inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-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/"
@@ -52,7 +52,7 @@ fi
IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
-IUSE+=" qt5 qt6 +screencast selinux test +vaapi +wayland +widevine"
+IUSE+=" qt6 +screencast selinux test +vaapi +wayland +widevine"
RESTRICT="
!bindist? ( bindist )
!test? ( test )
@@ -61,7 +61,6 @@ RESTRICT="
REQUIRED_USE="
!headless? ( || ( X wayland ) )
pgo? ( X !wayland )
- qt6? ( qt5 )
screencast? ( wayland )
ffmpeg-chromium? ( bindist proprietary-codecs )
"
@@ -133,10 +132,6 @@ COMMON_DEPEND="
x11-libs/cairo:=
x11-libs/gdk-pixbuf:2
x11-libs/pango:=
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtwidgets:5
- )
qt6? ( dev-qt/qtbase:6[gui,widgets] )
)
"
@@ -146,7 +141,6 @@ RDEPEND="${COMMON_DEPEND}
x11-libs/gtk+:3[X?,wayland?]
gui-libs/gtk:4[X?,wayland?]
)
- qt5? ( dev-qt/qtgui:5[X?,wayland?] )
qt6? ( dev-qt/qtbase:6[X?,wayland?] )
)
virtual/ttf-fonts
@@ -171,7 +165,6 @@ BDEPEND="
')
>=app-arch/gzip-1.7
!headless? (
- qt5? ( dev-qt/qtcore:5 )
qt6? ( dev-qt/qtbase:6 )
)
$(llvm_gen_dep '
@@ -265,7 +258,7 @@ pkg_pretend() {
fi
if use headless; then
- local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland")
+ 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
@@ -374,6 +367,7 @@ src_prepare() {
"${FILESDIR}/chromium-131-unbundle-icu-target.patch"
"${FILESDIR}/chromium-131-oauth2-client-switches.patch"
"${FILESDIR}/chromium-132-bindgen-custom-toolchain.patch"
+ "${FILESDIR}/chromium-134-qt5-optional.patch"
)
shopt -s globstar nullglob
@@ -410,7 +404,7 @@ src_prepare() {
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}" )
+ PATCHES+=( "${patchset_dir}/${isa_3_patch}" )
fi
fi
@@ -1074,7 +1068,9 @@ chromium_configure() {
else
myconf_gn+=" use_system_minigbm=true"
myconf_gn+=" use_xkbcommon=true"
- if use qt5 || use qt6; then
+ myconf_gn+=" use_qt5=false"
+ if use qt6; then
+ myconf_gn+=" use_qt6=true"
local cbuild_libdir=$(get_libdir)
if tc-is-cross-compiler; then
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
@@ -1082,21 +1078,9 @@ chromium_configure() {
cbuild_libdir=${cbuild_libdir:2}
cbuild_libdir=${cbuild_libdir/% }
fi
- if use qt5; then
- if tc-is-cross-compiler; then
- myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
- else
- myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\""
- fi
- fi
- if use qt6; then
- myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
- fi
-
- myconf_gn+=" use_qt=true"
- myconf_gn+=" use_qt6=$(usex qt6 true false)"
+ myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
else
- myconf_gn+=" use_qt=false"
+ myconf_gn+=" use_qt6=false"
fi
myconf_gn+=" ozone_platform_x11=$(usex X true false)"
myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
@@ -1114,7 +1098,7 @@ chromium_configure() {
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=no" # requires llvm-runtimes/compiler-rt-sanitizers[cfi]
+ myconf_gn+=" is_cfi=false" # requires llvm-runtimes/compiler-rt-sanitizers[cfi]
else
myconf_gn+=" is_cfi=${use_lto}"
fi
@@ -1438,12 +1422,6 @@ pkg_postinst() {
elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
elog "to CHROMIUM_FLAGS in /etc/chromium/default."
fi
- if use qt5 && use qt6; then
- elog "Chromium automatically selects Qt5 or Qt6 based on your desktop"
- elog "environment. To override you need to pass --qt-version=5 or"
- elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in"
- elog "/etc/chromium/default."
- fi
fi
if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
diff --git a/www-client/chromium/chromium-133.0.6943.35.ebuild b/www-client/chromium/chromium-133.0.6943.35.ebuild
new file mode 100644
index 000000000000..8695c76bf77c
--- /dev/null
+++ b/www-client/chromium/chromium-133.0.6943.35.ebuild
@@ -0,0 +1,1434 @@
+# Copyright 2009-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# PACKAGING NOTES
+
+# This uses a gentoo-created tarball due to Google CI Failures.
+# Use 133(?) as a base for new official tarballs.
+
+GN_MIN_VER=0.2165
+# chromium-tools/get-chromium-toolchain-strings.py
+TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35
+
+VIRTUALX_REQUIRED="pgo"
+
+CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
+ hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
+ sv sw ta te th tr uk ur vi zh-CN zh-TW"
+
+LLVM_COMPAT=( 19 )
+PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_REQ_USE="xml(+)"
+RUST_MIN_VER=1.78.0
+RUST_NEEDS_LLVM="yes please"
+
+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="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6"
+PATCH_V="${PV%%\.*}-1"
+SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz
+ https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
+ test? (
+ https://chromium-tarballs.distfiles.gentoo.org/${P}-linux-testdata.tar.xz
+ 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 )"
+
+LICENSE="BSD"
+SLOT="0/stable"
+# Dev exists mostly to give devs some breathing room for beta/stable releases;
+# it shouldn't be keyworded but adventurous users can select it.
+if [[ ${SLOT} != "0/dev" ]]; then
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
+IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
+IUSE+=" qt6 +screencast selinux test +vaapi +wayland +widevine"
+RESTRICT="
+ !bindist? ( bindist )
+ !test? ( test )
+"
+
+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:=
+"
+
+COMMON_SNAPSHOT_DEPEND="
+ system-icu? ( >=dev-libs/icu-73.0:= )
+ >=dev-libs/libxml2-2.12.4:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ dev-libs/libxslt:=
+ media-libs/fontconfig:=
+ >=media-libs/freetype-2.11.0-r1:=
+ system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
+ media-libs/libjpeg-turbo:=
+ system-png? ( media-libs/libpng:=[-apng(-)] )
+ system-zstd? ( >=app-arch/zstd-1.5.5:= )
+ >=media-libs/libwebp-0.4.0:=
+ media-libs/mesa:=[gbm(+)]
+ >=media-libs/openh264-1.6.0:=
+ sys-libs/zlib:=
+ !headless? (
+ dev-libs/glib:2
+ >=media-libs/alsa-lib-1.0.19:=
+ pulseaudio? ( media-libs/libpulse:= )
+ sys-apps/pciutils:=
+ kerberos? ( virtual/krb5 )
+ vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
+ X? (
+ x11-base/xorg-proto:=
+ x11-libs/libX11:=
+ x11-libs/libxcb:=
+ x11-libs/libXext:=
+ )
+ x11-libs/libxkbcommon:=
+ wayland? (
+ dev-libs/libffi:=
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:= )
+ )
+ )
+"
+
+COMMON_DEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ app-arch/bzip2:=
+ dev-libs/expat:=
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ media-libs/flac:=
+ sys-libs/zlib:=[minizip]
+ !headless? (
+ X? ( ${COMMON_X_DEPEND} )
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ media-libs/mesa:=[X?,wayland?]
+ cups? ( >=net-print/cups-1.3.11:= )
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango:=
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !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 )
+ )
+ $(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] )
+ )
+ ')
+ pgo? (
+ >=dev-python/selenium-3.141.0
+ >=dev-util/web_page_replay_go-20220314
+ )
+ >=dev-util/bindgen-0.68.0
+ >=dev-build/gn-${GN_MIN_VER}
+ dev-build/ninja
+ dev-lang/perl
+ >=dev-util/gperf-3.0.3
+ dev-vcs/git
+ >=net-libs/nodejs-7.6.0[inspector]
+ >=sys-devel/bison-2.4.3
+ sys-devel/flex
+ virtual/pkgconfig
+"
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+
+For native file dialogs in KDE, install kde-apps/kdialog.
+
+To make password storage work with your desktop environment you may
+have install one of the supported credentials management applications:
+- app-crypt/libsecret (GNOME)
+- kde-frameworks/kwallet (KDE)
+If you have one of above packages installed, but don't want to use
+them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
+in /etc/chromium/default.
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+pre_build_checks() {
+ # Check build requirements: bugs #471810, #541816, #914220
+ # We're going to start doing maths here on the size of an unpacked source tarball,
+ # this should make updates easier as chromium continues to balloon in size.
+ local BASE_DISK=24
+ local EXTRA_DISK=1
+ local CHECKREQS_MEMORY="4G"
+ tc-is-cross-compiler && EXTRA_DISK=2
+ if tc-is-lto || use pgo; then
+ CHECKREQS_MEMORY="9G"
+ tc-is-cross-compiler && EXTRA_DISK=4
+ use pgo && EXTRA_DISK=8
+ fi
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ if use custom-cflags; then
+ EXTRA_DISK=13
+ fi
+ CHECKREQS_MEMORY="16G"
+ fi
+ CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G"
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+ fi
+
+ if use headless; then
+ local headless_unused_flags=("cups" "kerberos" "pulseaudio" "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
+
+ # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
+ # We'll set these to clang here then use llvm-utils functions to very explicitly set these
+ # to a sane value.
+ # This is effectively the 'force-clang' path if GCC support is re-added.
+ # TODO: check if the user has already selected a specific impl via make.conf and respect that.
+ use_lto="false"
+ if tc-is-lto; then
+ use_lto="true"
+ # We can rely on GN to do this for us; anecdotally without this builds
+ # take significantly longer with LTO enabled and it doesn't hurt anything.
+ filter-lto
+ fi
+
+ if [ "$use_lto" = "false" ] && use official; then
+ einfo "USE=official selected and LTO not detected."
+ einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
+ einfo "and to be consistent with the upstream \"official\" build optimisations."
+ fi
+
+ if [ "$use_lto" = "false" ] && use test; then
+ die "Tests require CFI which requires LTO"
+ fi
+
+ export use_lto
+
+ # 936858
+ if tc-ld-is-mold; then
+ eerror "Your toolchain is using the mold linker."
+ eerror "This is not supported by Chromium."
+ die "Please switch to a different linker."
+ fi
+
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+
+ # Forcing clang; respect llvm_slot_x to enable selection of impl from LLVM_COMPAT
+ AR=llvm-ar
+ CPP="${CHOST}-clang++-${LLVM_SLOT} -E"
+ NM=llvm-nm
+ CC="${CHOST}-clang-${LLVM_SLOT}"
+ CXX="${CHOST}-clang++-${LLVM_SLOT}"
+
+ 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
+
+ # Users should never hit this, it's purely a development convenience
+ if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
+ die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
+ fi
+ fi
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+ unpack ${P}-linux.tar.xz
+ unpack chromium-patches-${PATCH_V}.tar.bz2
+
+ use pgo && unpack chromium-profiler-0.2.tar
+
+ if use test; then
+ # A new testdata tarball is available for each release; but testfonts tend to remain stable
+ # for the duration of a release.
+ # This unpacks directly into/over ${WORKDIR}/${P} so we can just use `unpack`.
+ unpack ${P}-linux-testdata.tar.xz
+ # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location.
+ local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts"
+ local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz"
+ tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts"
+ fi
+
+ if use ppc64; then
+ unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
+ fi
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local PATCHES=(
+ "${FILESDIR}/chromium-cross-compile.patch"
+ "${FILESDIR}/chromium-109-system-zlib.patch"
+ "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
+ "${FILESDIR}/chromium-131-unbundle-icu-target.patch"
+ "${FILESDIR}/chromium-131-oauth2-client-switches.patch"
+ "${FILESDIR}/chromium-132-bindgen-custom-toolchain.patch"
+ "${FILESDIR}/chromium-134-qt5-optional.patch"
+ )
+
+ shopt -s globstar nullglob
+ # 130: moved the PPC64 patches into the chromium-patches repo
+ local patch
+ for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do
+ if [[ ${patch} == *"ppc64le"* ]]; then
+ use ppc64 && PATCHES+=( "${patch}" )
+ else
+ PATCHES+=( "${patch}" )
+ fi
+ done
+
+ shopt -u globstar nullglob
+ # We can't use the bundled compiler builtins with the system toolchain
+ # `grep` is a development convenience to ensure we fail early when google changes something.
+ local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {"
+ grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
+ sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn
+
+ if use ppc64; then
+ 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
+
+ # This is a nightly option that does not exist any current release
+ # https://github.com/rust-lang/rust/commit/389a399a501a626ebf891ae0bb076c25e325ae64
+ if ver_test ${RUST_SLOT} -le "1.82.0"; then
+ sed '/rustflags = \[ "-Zdefault-visibility=hidden" \]/d' -i build/config/gcc/BUILD.gn ||
+ die "Failed to remove default visibility nightly option"
+ fi
+
+ default
+
+ rm third_party/node/linux/node-linux-x64/bin/node || die
+ ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ # adjust python interpreter version
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+
+ # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party'
+ # whitelist matches use the right-most matching path component, so we need to whitelist from that point down.
+ local keeplibs=(
+ base/third_party/cityhash
+ base/third_party/double_conversion
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ chrome/third_party/mozilla_security_manager
+ net/third_party/mozilla_security_manager
+ net/third_party/nss
+ net/third_party/quic
+ net/third_party/uri_template
+ third_party/abseil-cpp
+ third_party/angle
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/ceval
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/volk
+ third_party/anonymous_tokens
+ third_party/apple_apsl
+ third_party/axe-core
+ third_party/bidimapper
+ third_party/blink
+ third_party/boringssl
+ third_party/boringssl/src/third_party/fiat
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ third_party/brotli
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/beautifulsoup4-4.9.3
+ third_party/catapult/third_party/html5lib-1.1
+ third_party/catapult/third_party/polymer
+ third_party/catapult/third_party/six
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jpeg-js
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_3
+ third_party/closure_compiler
+ third_party/content_analysis_sdk
+ third_party/cpuinfo
+ third_party/crabbyavif
+ third_party/crashpad
+ third_party/crashpad/crashpad/third_party/lss
+ third_party/crashpad/crashpad/third_party/zlib
+ third_party/crc32c
+ third_party/cros_system_api
+ third_party/d3
+ third_party/dav1d
+ third_party/dawn
+ third_party/dawn/third_party/gn/webgpu-cts
+ third_party/dawn/third_party/khronos
+ third_party/depot_tools
+ third_party/devscripts
+ third_party/devtools-frontend
+ third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/devtools-frontend/src/front_end/third_party/axe-core
+ third_party/devtools-frontend/src/front_end/third_party/chromium
+ third_party/devtools-frontend/src/front_end/third_party/codemirror
+ third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
+ third_party/devtools-frontend/src/front_end/third_party/diff
+ third_party/devtools-frontend/src/front_end/third_party/i18n
+ third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/json5
+ 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/third-party-web
+ third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser
+ third_party/devtools-frontend/src/front_end/third_party/web-vitals
+ third_party/devtools-frontend/src/third_party
+ third_party/distributed_point_functions
+ third_party/dom_distiller_js
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ third_party/fast_float
+ third_party/fdlibm
+ third_party/ffmpeg
+ third_party/fft2d
+ third_party/flatbuffers
+ third_party/fp16
+ third_party/freetype
+ third_party/fusejs
+ third_party/fuzztest
+ third_party/fxdiv
+ third_party/gemmlowp
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/highway
+ third_party/hunspell
+ third_party/iccjpeg
+ third_party/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/libavif
+ third_party/libc++
+ third_party/libdrm
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libphonenumber
+ 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/mesa
+ third_party/metrics_proto
+ third_party/minigbm
+ third_party/modp_b64
+ third_party/nasm
+ third_party/nearby
+ third_party/neon_2_sse
+ third_party/node
+ third_party/omnibox_proto
+ third_party/one_euro_filter
+ third_party/openscreen
+ third_party/openscreen/src/third_party/
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/opus
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg
+ third_party/pdfium/third_party/libtiff
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/chromium
+ third_party/perfetto/protos/third_party/simpleperf
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private_membership
+ third_party/private-join-and-compute
+ third_party/protobuf
+ third_party/pthreadpool
+ third_party/puffin
+ third_party/pyjson5
+ third_party/pyyaml
+ third_party/rapidhash
+ third_party/re2
+ third_party/rnnoise
+ third_party/rust
+ third_party/ruy
+ third_party/s2cellid
+ third_party/securemessage
+ third_party/selenium-atoms
+ third_party/sentencepiece
+ third_party/sentencepiece/src/third_party/darts_clone
+ third_party/shell-encryption
+ third_party/simdutf
+ third_party/simplejson
+ third_party/six
+ third_party/skia
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ third_party/spirv-headers
+ third_party/spirv-tools
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/astc-encoder
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/marl
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
+ third_party/swiftshader/third_party/SPIRV-Tools
+ third_party/swiftshader/third_party/subzero
+ third_party/tensorflow_models
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/tflite/src/third_party/xla/third_party/tsl
+ third_party/tflite/src/third_party/xla/xla/tsl/framework
+ third_party/tflite/src/third_party/xla/xla/tsl/lib/random
+ 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/unrar
+ third_party/utf
+ third_party/vulkan
+ third_party/wasm_tts_engine
+ third_party/wayland
+ third_party/webdriver
+ third_party/webgpu-cts
+ third_party/webrtc
+ third_party/webrtc/common_audio/third_party/ooura
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor
+ third_party/webrtc/modules/third_party/fft
+ third_party/webrtc/modules/third_party/g711
+ third_party/webrtc/modules/third_party/g722
+ third_party/webrtc/rtc_base/third_party/base64
+ third_party/webrtc/rtc_base/third_party/sigslot
+ third_party/widevine
+ third_party/woff2
+ third_party/wuffs
+ third_party/x11proto
+ third_party/xcbproto
+ third_party/xnnpack
+ third_party/zlib/google
+ third_party/zxcvbn-cpp
+ url/third_party/mozilla
+ v8/third_party/glibc
+ v8/third_party/inspector_protocol
+ 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 test; then
+ # tar tvf /var/cache/distfiles/${P}-linux-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}'
+ keeplibs+=(
+ third_party/breakpad/breakpad/src/processor
+ third_party/google_benchmark/src/include/benchmark
+ third_party/google_benchmark/src/src
+ third_party/perfetto/protos/third_party/pprof
+ third_party/test_fonts
+ third_party/test_fonts/fontconfig
+ )
+ fi
+
+ # USE=system-*
+ if ! use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz-ng )
+ fi
+
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+
+ if ! use system-png; then
+ keeplibs+=( third_party/libpng )
+ fi
+
+ if ! use system-zstd; then
+ keeplibs+=( third_party/zstd )
+ fi
+
+ # Arch-specific
+ if use arm64 || use ppc64 ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
+ fi
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ # it has to be done before unbundling.
+ if use ppc64; then
+ pushd third_party/libvpx >/dev/null || die
+ mkdir -p source/config/linux/ppc64 || die
+ # requires git and clang, bug #832803
+ # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
+ # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
+ # since we're not in a git repo
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
+ generate_gni.sh || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+
+ pushd third_party/ffmpeg >/dev/null || die
+ cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
+ cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
+ popd >/dev/null || die
+ fi
+
+ # Sanity check keeplibs, on major version bumps it is often necessary to update this list
+ # and this enables us to hit them all at once.
+ # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd)
+ whitelist_libs=(
+ net/third_party/quic
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/libjingle
+ third_party/mesa
+ third_party/skia/third_party/vulkan
+ third_party/vulkan
+ )
+ local not_found_libs=()
+ for lib in "${keeplibs[@]}"; do
+ if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then
+ not_found_libs+=( "${lib}" )
+ fi
+ done
+
+ if [[ ${#not_found_libs[@]} -gt 0 ]]; then
+ eerror "The following \`keeplibs\` directories were not found in the source tree:"
+ for lib in "${not_found_libs[@]}"; do
+ eerror " ${lib}"
+ done
+ die "Please update the ebuild."
+ fi
+
+ # Remove most bundled libraries. Some are still needed.
+ einfo "Unbundling third-party libraries ..."
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed.
+
+ # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
+ mkdir -p buildtools/third_party/eu-strip/bin || die
+ ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
+}
+
+chromium_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ # We already forced the "correct" clang via pkg_setup
+
+ if tc-is-cross-compiler; then
+ CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_AR=${AR}
+ BUILD_CC=${CC}
+ BUILD_CXX=${CXX}
+ BUILD_NM=${NM}
+ fi
+
+ strip-unsupported-flags
+
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ # https://bugs.gentoo.org/918897#c32
+ append-ldflags -Wl,--undefined-version
+ myconf_gn+=" use_lld=true"
+
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
+ myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+
+ # setup cups-config, build system only uses --libs option
+ if use cups; then
+ mkdir "${T}/cups-config" || die
+ cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+ export PATH="${PATH}:${T}/cups-config"
+ fi
+
+ # Don't inherit PKG_CONFIG_PATH from environment
+ local -x PKG_CONFIG_PATH=
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ fi
+
+ # bindgen settings
+ # From 127, to make bindgen work, we need to provide a location for libclang.
+ # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
+ # rust_bindgen_root = directory with `bin/bindgen` beneath it.
+ myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\""
+
+ myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\""
+ # We don't need to set 'clang_base_bath' for anything in our build
+ # and it defaults to the google toolchain location. Instead provide a location
+ # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h)
+ myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
+
+ myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\""
+ myconf_gn+=" rustc_version=\"${RUST_SLOT}\""
+
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ myconf_gn+=" is_debug=false"
+
+ # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
+ # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
+ myconf_gn+=" dcheck_always_on=$(usex debug true false)"
+ myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
+
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ myconf_gn+=" is_component_build=false"
+
+ # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
+ myconf_gn+=" enable_nacl=false"
+
+ # Use system-provided libraries.
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ fontconfig
+ freetype
+ # Need harfbuzz_from_pkgconfig target
+ #harfbuzz-ng
+ libjpeg
+ libwebp
+ libxml
+ libxslt
+ openh264
+ zlib
+ )
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if use system-png; then
+ gn_system_libraries+=( libpng )
+ fi
+ if use system-zstd; then
+ gn_system_libraries+=( zstd )
+ fi
+
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+
+ # 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
+
+ # See dependency logic in third_party/BUILD.gn
+ myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+ myconf_gn+=" enable_widevine=$(usex widevine true false)"
+
+ if use headless; then
+ myconf_gn+=" use_cups=false"
+ myconf_gn+=" use_kerberos=false"
+ myconf_gn+=" use_pulseaudio=false"
+ myconf_gn+=" use_vaapi=false"
+ myconf_gn+=" rtc_use_pipewire=false"
+ else
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+ myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
+ fi
+
+ # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
+ # using dlopen. This helps with automated detection of ABI mismatches and
+ # prevents silent errors.
+ if use pulseaudio; then
+ myconf_gn+=" link_pulseaudio=true"
+ fi
+
+ # Non-developer builds of Chromium (for example, non-Chrome browsers, or
+ # Chromium builds provided by Linux distros) should disable the testing config
+ myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+ # The sysroot is the oldest debian image that chromium supports, we don't need it
+ myconf_gn+=" use_sysroot=false"
+
+ # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi)
+ # instead of the system C++ library for C++ standard library support.
+ # default: true, but let's be explicit (forced since 120 ; USE removed 127).
+ myconf_gn+=" use_custom_libcxx=true"
+
+ # Disable pseudolocales, only used for testing
+ myconf_gn+=" enable_pseudolocales=false"
+
+ # Disable code formating of generated files
+ myconf_gn+=" blink_enable_generated_code_formatting=false"
+
+ if use bindist ; then
+ # proprietary_codecs just forces Chromium to say that it can use h264/aac,
+ # the work is still done by ffmpeg. If this is set to no Chromium
+ # won't be able to load the codec even if the library can handle it
+ myconf_gn+=" proprietary_codecs=true"
+ myconf_gn+=" ffmpeg_branding=\"Chrome\""
+ # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
+ myconf_gn+=" is_component_ffmpeg=true"
+ else
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+ fi
+
+ # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
+ # Note: these are for Gentoo use ONLY. For your own distribution,
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info. The OAuth2 credentials, however, have been left out.
+ # Those OAuth2 credentials have been broken for quite some time anyway.
+ # Instead we apply a patch to use the --oauth2-client-id= and
+ # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
+ # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
+ # Chromium without baked-in values.
+ local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
+ myconf_gn+=" google_api_key=\"${google_api_key}\""
+ local myarch="$(tc-arch)"
+
+ # Avoid CFLAGS problems, bug #352457, bug #390147.
+ if ! use custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+
+ # Debug info section overflows without component build
+ # Prevent linker from running out of address space, bug #471810 .
+ filter-flags "-g*"
+
+ # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
+ if [[ ${myarch} == amd64 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
+ fi
+ fi
+
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = ppc64 ]] ; then
+ myconf_gn+=" target_cpu=\"ppc64\""
+ ffmpeg_target_arch=ppc64
+ else
+ die "Failed to determine target arch, got '$myarch'."
+ fi
+
+ myconf_gn+=" treat_warnings_as_errors=false"
+ # Disable fatal linker warnings, bug 506268.
+ myconf_gn+=" fatal_linker_warnings=false"
+
+ # Disable external code space for V8 for ppc64. It is disabled for ppc64
+ # by default, but cross-compiling on amd64 enables it again.
+ if tc-is-cross-compiler; then
+ if ! use amd64 && ! use arm64; then
+ myconf_gn+=" v8_enable_external_code_space=false"
+ fi
+ fi
+
+ # Only enabled for clang, but gcc has endian macros too
+ myconf_gn+=" v8_use_libm_trig_functions=true"
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ # We don't use the same clang version as upstream, and with -Werror
+ # we need to make sure that we don't get superfluous warnings.
+ append-flags -Wno-unknown-warning-option
+ if tc-is-cross-compiler; then
+ export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
+ export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
+ fi
+
+ # Explicitly disable ICU data file support for system-icu/headless builds.
+ if use system-icu || use headless; then
+ myconf_gn+=" icu_use_data_file=false"
+ fi
+
+ # Don't need nocompile checks and GN crashes with our config
+ myconf_gn+=" enable_nocompile_tests=false"
+
+ # 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
+ myconf_gn+=" enable_freetype=true"
+
+ # Enable ozone wayland and/or headless support
+ myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
+ myconf_gn+=" ozone_platform_headless=true"
+ if use headless; then
+ myconf_gn+=" ozone_platform=\"headless\""
+ myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false"
+ myconf_gn+=" use_glib=false use_gio=false"
+ myconf_gn+=" use_pangocairo=false use_alsa=false"
+ myconf_gn+=" use_libpci=false use_udev=false"
+ myconf_gn+=" enable_print_preview=false"
+ myconf_gn+=" enable_remoting=false"
+ else
+ myconf_gn+=" use_system_minigbm=true"
+ myconf_gn+=" use_xkbcommon=true"
+ myconf_gn+=" use_qt5=false"
+ if use qt6; then
+ myconf_gn+=" use_qt6=true"
+ local cbuild_libdir=$(get_libdir)
+ if tc-is-cross-compiler; then
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)
+ cbuild_libdir=${cbuild_libdir:2}
+ cbuild_libdir=${cbuild_libdir/% }
+ fi
+ myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
+ else
+ myconf_gn+=" use_qt6=false"
+ fi
+ myconf_gn+=" ozone_platform_x11=$(usex X true false)"
+ myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
+ myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
+ use wayland && myconf_gn+=" use_system_libffi=true"
+ fi
+
+ myconf_gn+=" use_thin_lto=${use_lto}"
+ myconf_gn+=" thin_lto_enable_optimizations=${use_lto}"
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ if use official; then
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+ if use ppc64; then
+ myconf_gn+=" is_cfi=false" # requires llvm-runtimes/compiler-rt-sanitizers[cfi]
+ else
+ myconf_gn+=" is_cfi=${use_lto}"
+ 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
+ # Disable PGO
+ myconf_gn+=" chrome_pgo_phase=0"
+ fi
+
+ # skipping typecheck is only supported on amd64, bug #876157
+ if ! use amd64; then
+ myconf_gn+=" devtools_skip_typecheck=false"
+ fi
+
+ einfo "Configuring Chromium ..."
+ set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_configure() {
+ chromium_configure $(usex pgo 1 0)
+}
+
+chromium_compile() {
+
+ # Final link uses lots of file descriptors.
+ ulimit -n 2048
+
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # Don't inherit PYTHONPATH from environment, bug #789021, #812689
+ local -x PYTHONPATH=
+
+ # Build mksnapshot and pax-mark it.
+ if use pax-kernel; then
+ local x
+ for x in mksnapshot v8_context_snapshot_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+ fi
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests")
+
+ pax-mark m out/Release/chrome
+
+}
+
+# This function is called from virtx, and must always return so that Xvfb
+# session isn't left running. If we return 1, virtx will call die().
+chromium_profile() {
+ einfo "Profiling for PGO"
+
+ pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
+
+ # Remove old profdata in case profiling was interrupted.
+ rm -rf "${1}" || return 1
+
+ if ! "${EPYTHON}" ./chromium_profiler.py \
+ --chrome-executable "${S}/out/Release/chrome" \
+ --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
+ --add-arg no-sandbox --add-arg disable-dev-shm-usage \
+ --profile-output "${1}"; then
+ eerror "Profiling failed"
+ return 1
+ fi
+
+ popd >/dev/null || return 1
+}
+
+src_compile() {
+ if use pgo; then
+ local profdata
+
+ profdata="${WORKDIR}/chromium.profdata"
+
+ if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
+ chromium_compile
+ virtx chromium_profile "$profdata"
+
+ touch "${WORKDIR}/.pgo-profiled" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
+ # Remove phase 1 output
+ rm -r out/Release || die
+
+ chromium_configure 2 "$profdata"
+
+ touch "${WORKDIR}/.pgo-phase-2-configured" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
+ chromium_compile
+ touch "${WORKDIR}/.pgo-phase-2-compiled" || die
+ fi
+ else
+ chromium_compile
+ fi
+
+ mv out/Release/chromedriver{.unstripped,} || die
+
+ rm -f out/Release/locales/*.pak.info || die
+
+ # Build manpage; bug #684550
+ sed -e 's|@@PACKAGE@@|chromium-browser|g;
+ s|@@MENUNAME@@|Chromium|g;' \
+ chrome/app/resources/manpage.1.in > \
+ out/Release/chromium-browser.1 || die
+
+ # Build desktop file; bug #706786
+ sed -e 's|@@MENUNAME@@|Chromium|g;
+ s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
+ s|@@PACKAGE@@|chromium-browser|g;
+ s|\(^Exec=\)/usr/bin/|\1|g;' \
+ chrome/installer/linux/common/desktop.template > \
+ out/Release/chromium-browser-chromium.desktop || die
+
+ # Build vk_swiftshader_icd.json; bug #827861
+ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
+ third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
+ out/Release/vk_swiftshader_icd.json || die
+}
+
+src_test() {
+ # Initial list of tests to skip pulled from Alpine. Thanks Lauren!
+ # https://issues.chromium.org/issues/40939315
+ local skip_tests=(
+ 'MessagePumpLibeventTest.NestedNotification*'
+ ClampTest.Death
+ OptionalTest.DereferencingNoValueCrashes
+ PlatformThreadTest.SetCurrentThreadTypeTest
+ RawPtrTest.TrivialRelocability
+ SafeNumerics.IntMaxOperations
+ StackTraceTest.TraceStackFramePointersFromBuffer
+ StringPieceTest.InvalidLengthDeath
+ StringPieceTest.OutOfBoundsDeath
+ ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker
+ ValuesUtilTest.FilePath
+ # Gentoo-specific
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/0
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/1
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/2
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/3
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/0
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/1
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/2
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/3
+ CharacterEncodingTest.GetCanonicalEncodingNameByAliasName
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGFPE
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGILL
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGV
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGVNonCanonicalAddress
+ FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe
+ FileTest.GetInfoForCreationTime
+ ICUStringConversionsTest.ConvertToUtf8AndNormalize
+ NumberFormattingTest.FormatPercent
+ PathServiceTest.CheckedGetFailure
+ PlatformThreadTest.CanChangeThreadType
+ RustLogIntegrationTest.CheckAllSeverity
+ StackCanary.ChangingStackCanaryCrashesOnReturn
+ StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree
+ SysStrings.SysNativeMBAndWide
+ SysStrings.SysNativeMBToWide
+ SysStrings.SysWideToNativeMB
+ TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest
+ ToolsSanityTest.BadVirtualCallNull
+ ToolsSanityTest.BadVirtualCallWrongType
+ CancelableEventTest.BothCancelFailureAndSucceedOccurUnderContention #new m133: TODO investigate
+ )
+ local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")"
+ # test-launcher-bot-mode enables parallelism and plain output
+ ./out/Release/base_unittests --test-launcher-bot-mode \
+ --test-launcher-jobs="$(makeopts_jobs)" \
+ --gtest_filter="${test_filter}" || die "Tests failed!"
+}
+
+src_install() {
+ local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+
+ doexe out/Release/chromedriver
+ doexe out/Release/chrome_crashpad_handler
+
+ ozone_auto_session () {
+ use X && use wayland && ! use headless && echo true || echo false
+ }
+ local sedargs=( -e
+ "s:/usr/lib/:/usr/$(get_libdir)/:g;
+ s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
+ )
+ sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
+ doexe chromium-launcher.sh
+
+ # It is important that we name the target "chromium-browser",
+ # xdg-utils expect it; bug #355517.
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
+
+ dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
+
+ # Allow users to override command-line options, bug #357629.
+ insinto /etc/chromium
+ newins "${FILESDIR}/chromium.default" "default"
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+
+ if use bindist; then
+ # We built libffmpeg as a component library, but we can't distribute it
+ # with proprietary codec support. Remove it and make a symlink to the requested
+ # system library.
+ rm -f out/Release/libffmpeg.so \
+ || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
+ # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
+ einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
+ dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
+ /usr/$(get_libdir)/chromium-browser/libffmpeg.so
+ fi
+
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
+ doins out/Release/xdg-{settings,mime}
+
+ if ! use system-icu && ! use headless; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ doins -r out/Release/MEIPreload
+
+ # Install vk_swiftshader_icd.json; bug #827861
+ doins out/Release/vk_swiftshader_icd.json
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ # Install icons
+ local branding size
+ for size in 16 24 32 48 64 128 256 ; do
+ case ${size} in
+ 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
+ *) branding="chrome/app/theme/chromium" ;;
+ esac
+ newicon -s ${size} "${branding}/product_logo_${size}.png" \
+ chromium-browser.png
+ done
+
+ # Install desktop entry
+ domenu out/Release/chromium-browser-chromium.desktop
+
+ # Install GNOME default application entry (bug #303100).
+ insinto /usr/share/gnome-control-center/default-apps
+ newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+
+ # Install manpage; bug #684550
+ doman out/Release/chromium-browser.1
+ dosym chromium-browser.1 /usr/share/man/man1/chromium.1
+
+ readme.gentoo_create_doc
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+
+ if ! use headless; then
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use gtk4; then
+ elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
+ elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ fi
+
+ if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
+ ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd"
+ ewarn "indicates that the Gentoo handbook was not followed to completion."
+ ewarn ""
+ ewarn "Chromium is known to behave unpredictably with this system configuration;"
+ ewarn "please complete the configuration of this system before logging any bugs."
+ fi
+}
diff --git a/www-client/chromium/chromium-134.0.6958.2.ebuild b/www-client/chromium/chromium-134.0.6988.2.ebuild
index ac347ae5b096..f1390c2b8256 100644
--- a/www-client/chromium/chromium-134.0.6958.2.ebuild
+++ b/www-client/chromium/chromium-134.0.6988.2.ebuild
@@ -42,7 +42,7 @@ RUST_NEEDS_LLVM="yes please"
RUST_OPTIONAL="yes" # Not actually optional, but we don't need system Rust (or LLVM) with USE=bundled-toolchain
inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils
-inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-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/"
@@ -77,7 +77,7 @@ fi
IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +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 qt5 qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3"
+IUSE+=" +proprietary-codecs pulseaudio qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3"
RESTRICT="
!bindist? ( bindist )
!test? ( test )
@@ -86,7 +86,6 @@ RESTRICT="
REQUIRED_USE="
!headless? ( || ( X wayland ) )
pgo? ( X !wayland )
- qt6? ( qt5 )
screencast? ( wayland )
ffmpeg-chromium? ( bindist proprietary-codecs )
"
@@ -150,19 +149,15 @@ COMMON_DEPEND="
media-libs/flac:=
sys-libs/zlib:=[minizip]
!headless? (
- X? ( ${COMMON_X_DEPEND} )
>=app-accessibility/at-spi2-core-2.46.0:2
media-libs/mesa:=[X?,wayland?]
- cups? ( >=net-print/cups-1.3.11:= )
virtual/udev
x11-libs/cairo:=
x11-libs/gdk-pixbuf:2
x11-libs/pango:=
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtwidgets:5
- )
+ cups? ( >=net-print/cups-1.3.11:= )
qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ X? ( ${COMMON_X_DEPEND} )
)
"
RDEPEND="${COMMON_DEPEND}
@@ -171,7 +166,6 @@ RDEPEND="${COMMON_DEPEND}
x11-libs/gtk+:3[X?,wayland?]
gui-libs/gtk:4[X?,wayland?]
)
- qt5? ( dev-qt/qtgui:5[X?,wayland?] )
qt6? ( dev-qt/qtbase:6[X?,wayland?] )
)
virtual/ttf-fonts
@@ -196,7 +190,6 @@ BDEPEND="
')
>=app-arch/gzip-1.7
!headless? (
- qt5? ( dev-qt/qtcore:5 )
qt6? ( dev-qt/qtbase:6 )
)
!bundled-toolchain? ( $(llvm_gen_dep '
@@ -291,7 +284,7 @@ pkg_pretend() {
fi
if use headless; then
- local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland")
+ 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
@@ -485,7 +478,7 @@ src_prepare() {
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}" )
+ PATCHES+=( "${patchset_dir}/${isa_3_patch}" )
fi
fi
@@ -648,7 +641,6 @@ src_prepare() {
third_party/libaom/source/libaom/third_party/SVT-AV1
third_party/libaom/source/libaom/third_party/vector
third_party/libaom/source/libaom/third_party/x86inc
- third_party/libavif
third_party/libc++
third_party/libdrm
third_party/libgav1
@@ -720,6 +712,7 @@ src_prepare() {
third_party/rust
third_party/ruy
third_party/s2cellid
+ third_party/search_engines_data
third_party/securemessage
third_party/selenium-atoms
third_party/sentencepiece
@@ -780,10 +773,11 @@ src_prepare() {
url/third_party/mozilla
v8/third_party/siphash
v8/third_party/utf8-decoder
- v8/third_party/valgrind
v8/third_party/glibc
v8/third_party/inspector_protocol
+ v8/third_party/rapidhash-v8
v8/third_party/v8
+ v8/third_party/valgrind
# gyp -> gn leftovers
third_party/speech-dispatcher
@@ -1159,7 +1153,9 @@ chromium_configure() {
else
myconf_gn+=" use_system_minigbm=true"
myconf_gn+=" use_xkbcommon=true"
- if use qt5 || use qt6; then
+ myconf_gn+=" use_qt5=false"
+ if use qt6; then
+ myconf_gn+=" use_qt6=true"
local cbuild_libdir=$(get_libdir)
if tc-is-cross-compiler; then
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
@@ -1167,21 +1163,9 @@ chromium_configure() {
cbuild_libdir=${cbuild_libdir:2}
cbuild_libdir=${cbuild_libdir/% }
fi
- if use qt5; then
- if tc-is-cross-compiler; then
- myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
- else
- myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\""
- fi
- fi
- if use qt6; then
- myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
- fi
-
- myconf_gn+=" use_qt=true"
- myconf_gn+=" use_qt6=$(usex qt6 true false)"
+ myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
else
- myconf_gn+=" use_qt=false"
+ myconf_gn+=" use_qt6=false"
fi
myconf_gn+=" ozone_platform_x11=$(usex X true false)"
myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
@@ -1199,7 +1183,7 @@ chromium_configure() {
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=no" # requires llvm-runtimes/compiler-rt-sanitizers[cfi]
+ myconf_gn+=" is_cfi=false" # requires llvm-runtimes/compiler-rt-sanitizers[cfi]
else
myconf_gn+=" is_cfi=${use_lto}"
fi
@@ -1276,7 +1260,7 @@ chromium_compile() {
usr/lib64/chromium-browser/libGLESv2.so
usr/lib64/chromium-browser/libVkICD_mock_icd.so
usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
- usr/lib64/chromium-browser/libqt5_shim.so
+ usr/lib64/chromium-browser/libqt6_shim.so
usr/lib64/chromium-browser/libvk_swiftshader.so
usr/lib64/chromium-browser/libvulkan.so.1
"
@@ -1541,12 +1525,6 @@ pkg_postinst() {
elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
elog "to CHROMIUM_FLAGS in /etc/chromium/default."
fi
- if use qt5 && use qt6; then
- elog "Chromium automatically selects Qt5 or Qt6 based on your desktop"
- elog "environment. To override you need to pass --qt-version=5 or"
- elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in"
- elog "/etc/chromium/default."
- fi
fi
if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
diff --git a/www-client/chromium/files/chromium-134-qt5-optional.patch b/www-client/chromium/files/chromium-134-qt5-optional.patch
new file mode 100644
index 000000000000..57606f8bf3e0
--- /dev/null
+++ b/www-client/chromium/files/chromium-134-qt5-optional.patch
@@ -0,0 +1,133 @@
+https://chromium.googlesource.com/chromium/src/+/0d8d0e0943489b59e452b4d0214959821880ad7f
+From: Matt Jolly <kangie@gentoo.org>
+Date: Tue, 28 Jan 2025 12:00:57 -0800
+Subject: [PATCH] UI: make QT5 optional
+
+To build with `use_qt6`, QT5 (`use_qt`) is also required.
+This is undesirable for downstreams who are actively working
+to drop support for QT5 (e.g. Gentoo).
+
+To resolve this:
+
+- Add `use_qt5`
+- Replace most `use_qt` conditionals with this option;
+ these appear to be from before QT6 support was added.
+- Use `use_qt5` to gate some previously unconditional QT5-related
+ items in chrome/installer/linux
+- Remove `use_qt` as an argument, instead set to `use_qt5 || use_qt6`.
+
+This change should not impact the current behaviour; if no options
+are selected QT5 and QT6 support will be enabled, using existing logic
+unless one is explicitly disabled with `use_qt{x}=false`.
+
+See-also: https://bugs.gentoo.org/926166, https://bugs.gentoo.org/948836
+Signed-off-by: Matt Jolly <kangie@gentoo.org>
+Fixed: 328182252
+Change-Id: I22ec7a068356412d3f9fce68a19aee4f8c89892c
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6205488
+Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
+Commit-Queue: Lei Zhang <thestig@chromium.org>
+Reviewed-by: Lei Zhang <thestig@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1412471}
+--- a/chrome/installer/linux/BUILD.gn
++++ b/chrome/installer/linux/BUILD.gn
+@@ -77,10 +77,10 @@ if (enable_swiftshader) {
+ packaging_files += [ "$root_out_dir/vk_swiftshader_icd.json" ]
+ }
+
+-if (use_qt) {
+- # Even though this is a shared library, add it to `packaging_files` instead of
+- # `packaging_files_shlibs` to skip the dependency check. This is intentional
+- # to prevent a hard dependency on QT for the package.
++# Even though this is a shared library, add it to `packaging_files` instead of
++# `packaging_files_shlibs` to skip the dependency check. This is intentional
++# to prevent a hard dependency on QT for the package.
++if (use_qt5) {
+ packaging_files += [ "$root_out_dir/libqt5_shim.so" ]
+ }
+ if (use_qt6) {
+@@ -206,7 +206,7 @@ if (build_with_internal_optimization_guide) {
+ }
+ }
+
+-if (use_qt) {
++if (use_qt5) {
+ strip_binary("strip_qt5_shim") {
+ binary_input = "$root_out_dir/libqt5_shim.so"
+ deps = [ "//ui/qt:qt5_shim" ]
+@@ -399,7 +399,7 @@ group("installer_deps") {
+ "//components/optimization_guide/internal:optimization_guide_internal",
+ ]
+ }
+- if (use_qt) {
++ if (use_qt5) {
+ public_deps += [
+ ":strip_qt5_shim",
+ "//ui/qt:qt5_shim",
+--- a/ui/qt/BUILD.gn
++++ b/ui/qt/BUILD.gn
+@@ -101,10 +101,12 @@ template("qt_shim") {
+ }
+ }
+ }
+-qt_shim("qt5_shim") {
+- qt_version = "5"
+- if (!use_sysroot) {
+- moc_qt_path = "$moc_qt5_path"
++if (use_qt5) {
++ qt_shim("qt5_shim") {
++ qt_version = "5"
++ if (!use_sysroot) {
++ moc_qt_path = "$moc_qt5_path"
++ }
+ }
+ }
+ if (use_qt6) {
+@@ -122,7 +124,10 @@ component("qt") {
+ defines = [ "IS_QT_IMPL" ]
+
+ # qt_shim is in data_deps since we want to load it manually.
+- data_deps = [ ":qt5_shim" ]
++ data_deps = []
++ if (use_qt5) {
++ data_deps += [ ":qt5_shim" ]
++ }
+ if (use_qt6) {
+ data_deps += [ ":qt6_shim" ]
+ }
+--- a/ui/qt/qt.gni
++++ b/ui/qt/qt.gni
+@@ -6,27 +6,20 @@ import("//build/config/cast.gni")
+ import("//build/config/sanitizers/sanitizers.gni")
+ import("//build/config/sysroot.gni")
+
++# TODO(crbug.com/40260415): Allow QT in MSAN builds once QT is
++# added to the instrumented libraries.
+ declare_args() {
+- # TODO(crbug.com/40260415): Allow QT in MSAN builds once QT is
+- # added to the instrumented libraries.
+- use_qt = is_linux && !is_castos && !is_msan
++ use_qt5 = use_sysroot && is_linux && !is_castos && !is_msan
++ use_qt6 = use_sysroot && is_linux && !is_castos && !is_msan
+ }
+
+ declare_args() {
+- if (!use_sysroot && use_qt) {
++ if (!use_sysroot && use_qt5) {
+ moc_qt5_path = ""
+ }
+-}
+-
+-declare_args() {
+- use_qt6 = use_qt && use_sysroot
+-}
+-
+-declare_args() {
+ if (!use_sysroot && use_qt6) {
+ moc_qt6_path = ""
+ }
+ }
+
+-# use_qt6 => use_qt
+-assert(!use_qt6 || use_qt)
++use_qt = use_qt5 || use_qt6
diff --git a/www-client/dillo/Manifest b/www-client/dillo/Manifest
index 96f5dacc8963..8dd6028707f0 100644
--- a/www-client/dillo/Manifest
+++ b/www-client/dillo/Manifest
@@ -2,5 +2,5 @@ AUX dillo-3.1.1-remove-which.patch 1026 BLAKE2B 2cc500b296d7273a3b0a883575061785
AUX dillo-3.1.1-unused-constructor.patch 1916 BLAKE2B 1eae8440df79137bcdba2ecb0efd981a009ee33863a4e389828a31b1020aac4cc49eca51a61a7df412d434ca3695cbc78ea8c56a925af34f7bd774d966a09a5b SHA512 1b4137bf4f3edd45043883e8c5a54cb8077dcfb2e89e20a83ee5fe3e9593317a387475da3f8af3c462dae3df8e394c60cd23880d6a48ea39176bd4a1c03c15ca
DIST dillo-3.1.1.tar.bz2 1026711 BLAKE2B 81fbaf527f89160bfddf4bc51048dab8f1487b735e6d9cb9679deb46cda666158bb6b0d469ec28691167cd9d9657a12f5d5f5ed5b6c1cb0102963d611b4e2ece SHA512 2f6ad315c246638e91af13fbeb8a846b756c222aaf2275efb1bff6bae08130bb4b8fda9c09cd33925911c424fe536cf7a587e6657de9a13d63733714c86533c1
EBUILD dillo-3.1.1-r2.ebuild 1892 BLAKE2B df5cc940f87fe2d2e8231173a10e569dbad884d2f5cd4ba58b527eada8d1d482e777c077316449184e16e5afcb6ff61a2daecac603bda5fd8d8e06e594a20640 SHA512 d7b4e4e0cdb41695fa8a39ea5f401d71581c5ddd757cdb806400edee5d077b7374c69e3f68d883ff5a4ed337fbfae704995115a35d5daeb8e898d0bc44720300
-EBUILD dillo-9999.ebuild 1795 BLAKE2B 387ba4f5f487279d5558530322802cb32321fba478f2c82fcd8dcc1f243bb2e0fbe87e7c68bfc3ef57fcc6aae2f62a7e9f2c7033125ad34b08c5dd77fbf40c5a SHA512 a62cc3e668d5bdb735e6dbab105d29629d5fab6a11c142e6454b52f45a62ed4e8e24f306fc3a6484d86c3b1ed552c7c11e0261ec93d11c03f2fa5b3f7aaf098b
-MISC metadata.xml 645 BLAKE2B 1c0dc7392fa848bf1f229641929105e23f3be0253035c4da8d1b8ac499ed60a90ca7578ffc2a4fdcd8808f25fab8e93678081b621d0cb68f0629e19554958a2d SHA512 10acbeacf15254145d7cc2dbedc75d064f045b0c7d76e5facbf364e15c9e0af1fcf3ab12803323dd827c7540de71770926ddbd123a851da16dad2cd5e1f89248
+EBUILD dillo-9999.ebuild 1856 BLAKE2B 6f83b50969ab2df9a2c8b7c8737ef0d416e349672785e2c4ba2728eb1fa95543e1736b689959bfb53fcb229fb83f6f5892d1b284e7699cc1b737efa568147b3c SHA512 b3fb926fdbcd72cf26c1205837c8f651759c89a999cc548af9db36bc166b96e382da7bc9ba2ffc286e5794bfccbd761ed80e3b7d5ed2967f7c3d13b0722a1820
+MISC metadata.xml 645 BLAKE2B da5b0c62fa76d7273a6d269cbdfefe83dcd129d40628dbf847c24e064ce2cd89f9ed0eb6bb06125c02a323ae47f038b6a2857ed83ca165e5517ebd9733b3c69b SHA512 fbabb23d3a04391db5e9e08f9ad5898a1e56033154b7108dc33d00843988d9c2a03cf1e53fc2109ae054c4f97f4f613a5f42c56f8dc1e8182ea7020a1c0254ad
diff --git a/www-client/dillo/dillo-9999.ebuild b/www-client/dillo/dillo-9999.ebuild
index cd0dca3283fe..c660f5759b1b 100644
--- a/www-client/dillo/dillo-9999.ebuild
+++ b/www-client/dillo/dillo-9999.ebuild
@@ -69,6 +69,7 @@ src_configure() {
$(use_enable png)
$(use_enable ssl tls)
$(use_enable xembed)
+ --enable-svg # Vendored nanosvg dep, no point in disabling
--enable-ipv6
)
diff --git a/www-client/dillo/metadata.xml b/www-client/dillo/metadata.xml
index 3e919778f73f..050eeabdb68e 100644
--- a/www-client/dillo/metadata.xml
+++ b/www-client/dillo/metadata.xml
@@ -2,7 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>Kangie@gentoo.org</email>
+ <email>kangie@gentoo.org</email>
<description>Primary maintainer</description>
</maintainer>
<use>
diff --git a/www-client/elinks/Manifest b/www-client/elinks/Manifest
index bfe902dd7a52..25eefd21212f 100644
--- a/www-client/elinks/Manifest
+++ b/www-client/elinks/Manifest
@@ -3,9 +3,13 @@ AUX elinks-0.16.1.1-perl-5.38.patch 1527 BLAKE2B 1a39c77ef9d29490c745e58998e6798
AUX elinks-0.16.1.1-python-3.12.patch 974 BLAKE2B 65d50497cf889704ea9a4c0c23b6ee2108fd2c8312ea5be7758dc6e99d06edb57a30533b92e1893829549009c46a4cfb37e726f1a1cff203f48e5d394c1cd826 SHA512 a0b457e47762dd0c25d49d8c98f9d325e21232e431b6569c16cd9c6b989e79791bf182c1790f9193370c9abd31235ab1408c14384a70138b4e2d707f12067948
AUX elinks-0.17.1.1-gettext.patch 1863 BLAKE2B 114cc2c7496e4278441b3f0e434552eb1f3c7ebcc13f8b62580eae7cc1a9d8a13eacee3f5e96581b4c43ecd83f47e1f8f9df244749bf42dee1e13ef38a1ded83 SHA512 398ff4b8da7d560091eb55a645128a5fd1721c46cfba52381d17749f21b323188191d523ef9ff4954193f931dfff33cbc4f166930c500bb1dcf4a8337fa379db
AUX elinks-0.17.1.1-sftp.patch 4296 BLAKE2B 6a9a7242669cd1349161507fdb24f5df15f17e0ae3310bc30a4d0c566decb7408602600f4b98935f51e57b63456e6697b3174b00ee92d49f0cb50a04ecebf620 SHA512 d66ffe068bec0fae880313bcaa7b3eab999421d2b1bcb69810c31d35e4ff5d205a810e94499d4fec07e01492ce5cd2125c85cc09819d7fec846d2b3ee08a13c9
+AUX elinks-0.18.0-build.patch 894 BLAKE2B aa68d43fb32f52118a492541ade8bf97ce5d247ba1a72cd54108527d1fbfaeeb63911b5043619aba8dd139e135c840c9c932d8ee0d519a06b32138fa04125f85 SHA512 d6fd6e3a69936d69fa53c9aeab0b1ec1e9d91d21f6a3de5c3d527d4278aede7693ab8220bedd89afd4d209ac396b1b93530a287eccfac5b107a3b1dba4d58c40
+AUX elinks-0.18.0-sftp.patch 797 BLAKE2B 5c8aeddf5525a5584e2a9487f3200d348fbd50780746a442308e2a054375780dfdf004bcfc6898677ef6d6a196a5393ab00c55296e362b71e6757ffcd6649e2a SHA512 d0a16700d361d4b0f6fecc369ab721cdadf31e9a24c843e1b1daec25bef586324a89bad1a39aec7a4fce51c0eb561bb436bba941be052d1d86406f783fdfaaee
DIST elinks-0.16.1.1.tar.xz 2037292 BLAKE2B 05578eaa7a88f0abe4472b876a1f72645d32119ce807a61962f8d24a5b444240d3b94189bf25142c0e51e2d404d5992ace07ecc23ef1316d5f3942736b265267 SHA512 49e03ff4766e29b6fd4324d226e415ca1329a84d4a44fac40ecd72186dd104de88c3e541810a008dc6f1d1ed889a45edbef159cbc6ac3860756ca21261ffec8a
DIST elinks-0.17.1.1.tar.xz 2001036 BLAKE2B 2158e7630e64977b5250d544159bff0b90953ef7d51870d5e96ce8e36858596e6341bf774ad1717ed4808859d4be316fe75587552e61a8bbfcb00a0366a85e81 SHA512 7ad78f7d6a43341ae252c29f0c338e466cbedf8b40aefa9fa1939dbc62a9c9307b0a423b17181fce3bce1364fe6b6bdb80509ed90719965de174c9258b90902f
+DIST elinks-0.18.0.tar.xz 2078656 BLAKE2B 84ad13a1f374d85bb74d57fe905df4f2f1d062acb89a43197e0f0767cce3779749f4cee7ad15655fe35bc6545799b5f8264498f05a47eca6cb571541e3bcef1c SHA512 e0ff737e06d4b591d362257b9a375b938f9d6222cf6ee4df2065c7b47f883a5eacf76dabae8fc7c0b32cf9b7df56267752217d6999b0ae24c2482763b5b0ccb9
EBUILD elinks-0.16.1.1-r100.ebuild 5185 BLAKE2B 5a1745bb13e840d883b964bc1017fd774d16df8be198e601a0d9f309674bdeff5ce697c63a5b452024aec21a21d5acc6152f2713c3834ff8e049e3a997b49fe1 SHA512 9a94d4773f5599fee9227672704065acba5f256597ececf4ac6d44c68fca7b8f6a59747e164f55a817d799c63414395eb14a4d07af1594ff42062f041cf5304c
-EBUILD elinks-0.17.1.1.ebuild 5497 BLAKE2B ffb87b9dbeb5a617e53434e8892f78b3076a86a4661cdcf9b85095cfc9e18ad341d9330b4da80dcf316c289bc584945655fb3a295824f89f48c7dc9cc1c927fa SHA512 15da1070391a124c9a9f92f0dbbf620203d01281d7755a8cc9ccd18751f0dc9fa5ce7f7e010fe4c2e2610a5c797ab6e54e539b16908ca38bd5ab6eeb068f2530
-EBUILD elinks-9999.ebuild 5296 BLAKE2B e77536bc7f8e0f117575026360d0643f9f6c4f2b26dc002d6f6816bc03f484908bc29e63f28fc327a987cea33e323862d638c0c049ee8bcc773e69e2d94c42bf SHA512 57a18adee8d60bca924f15c0e818f83ca5432722b6e86354328496d6b4248f657c02f20401a2c55da441a2821c0a5a41d901ab92a4cf9e2a4a464075ca9f9328
-MISC metadata.xml 1108 BLAKE2B c1606bb87c902d273a083406ed4b8aeee0a9fb3af56813fe4c9fd34bfb8aaf04a67540ef8daf193c4378810134f36784e755317fdf7fd6357e109d60c20bd756 SHA512 372652a1744438df72d47d57ac05b1f737665e991eff04fe31c5dd3d22b4694053429b71a34a72b80d1c6f60c023a89572fbad734b8b5359ee1df04e86315d55
+EBUILD elinks-0.17.1.1.ebuild 5491 BLAKE2B c2b9bb3c050717ff17db4797c4d300d4886cf606f5ba68382680dededcdedede34bbb63615743da2fbc013d1fd9c51e61b80117ca593cd34c987fabfc92bbae9 SHA512 1891020e49583f22ffa5bb9bdc75d0311b3974f1b4a415c8ac3fff9ede9fec43c4522306073915e5acee10678c1f8a7456cd1488e8b84617ce470ceda6a655ad
+EBUILD elinks-0.18.0.ebuild 5573 BLAKE2B a8b9f750ec11816c7e4cbf8c2e8d16f94315fa4f8f29301ce8efaf3402f71c260bef2b81b0c67ad096dde3ae0d901daefa6c40995333a2f3cc3d4a12bea0a4b9 SHA512 2f2b35d4cccf7594aa6cdc030b087bb48e30ecf4edc0266307e44fb0f789422614b51fc00a1f1da9c6525bb8c7b79e2e4e5cb58eb9fc0f5d2c69cf918a49cd28
+EBUILD elinks-9999.ebuild 5497 BLAKE2B 67453b3019d05f4859957c1f456d86a9e304431c412db8b598549804fe6cba6ccbe6733ba1e10423bbde21a0c2195c1bfe1591051e952b1c24e2a3381fe0d414 SHA512 e48cf4ae0c4ea65a9f2f5f7e1c0aa301e4125f3c8a9a2f7ab0a979ab23fa032866da82064c6ff2d0610f4f8ab358ec26bf4cbae98ba2ee774c5c17d3878d4972
+MISC metadata.xml 1193 BLAKE2B fde547df5b9166e328b1a2dd215e209104b21b4cc2f2b37e3e1882c5204e8705a97724daca6fedf9bbfbb75a399f37245a2c099d8524acacc8e7cf3bbe79b970 SHA512 a17e729f799223a1bd7a88a41ac10575f621d13acdadb1d75118b86632f6ed03993894a38537594621f987e95224dab4fcddae5f2bbe3b7d8129db672aa67764
diff --git a/www-client/elinks/elinks-0.17.1.1.ebuild b/www-client/elinks/elinks-0.17.1.1.ebuild
index 9b8c200b66dd..f231ab55fcc7 100644
--- a/www-client/elinks/elinks-0.17.1.1.ebuild
+++ b/www-client/elinks/elinks-0.17.1.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,7 +19,7 @@ if [[ ${PV} == *9999 ]] ; then
else
SRC_URI="https://github.com/rkd77/elinks/releases/download/v${PV}/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="GPL-2"
diff --git a/www-client/elinks/elinks-0.18.0.ebuild b/www-client/elinks/elinks-0.18.0.ebuild
new file mode 100644
index 000000000000..739024d9aa3f
--- /dev/null
+++ b/www-client/elinks/elinks-0.18.0.ebuild
@@ -0,0 +1,214 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_REQ_USE="deprecated"
+GUILE_COMPAT=( 2-2 3-0 )
+PYTHON_COMPAT=( python3_{10..13} )
+LUA_COMPAT=( lua5-{1,2,3,4} luajit )
+
+inherit flag-o-matic guile-single meson lua-single python-single-r1
+
+DESCRIPTION="Advanced and well-established text-mode web browser"
+HOMEPAGE="http://elinks.or.cz/"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/rkd77/felinks"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/rkd77/elinks/releases/download/v${PV}/${P}.tar.xz"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="bittorrent brotli bzip2 curl debug +doc finger ftp gemini gopher gpm gnutls guile idn"
+IUSE+=" javascript libcss lua lzma +mouse nls nntp perl python samba sftp ssl test tre unicode X xml zlib zstd"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ guile? ( ${GUILE_REQUIRED_USE} )
+ javascript? ( curl libcss )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ sftp? ( curl )
+"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.2:=[unicode(+)]
+ brotli? ( app-arch/brotli:= )
+ bzip2? ( >=app-arch/bzip2-1.0.2 )
+ curl? ( net-misc/curl[ssl] )
+ gpm? (
+ >=sys-libs/gpm-1.20.0-r5
+ )
+ guile? ( ${GUILE_DEPS} )
+ idn? ( net-dns/libidn2:= )
+ javascript? (
+ dev-cpp/libxmlpp:5.0
+ dev-lang/mujs:=
+ )
+ libcss? (
+ >=dev-libs/libcss-0.9.2
+ >=net-libs/libdom-0.4.2
+ )
+ lua? ( ${LUA_DEPS} )
+ lzma? ( app-arch/xz-utils )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ samba? ( net-fs/samba )
+ ssl? (
+ !gnutls? ( dev-libs/openssl:= )
+ gnutls? ( net-libs/gnutls:= )
+ )
+ tre? ( dev-libs/tre )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ xml? ( >=dev-libs/expat-1.95.4 )
+ zlib? ( >=sys-libs/zlib-1.1.4 )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( dev-lang/perl )
+ nls? ( sys-devel/gettext )
+ test? (
+ net-dns/libidn
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-sftp.patch
+ "${FILESDIR}"/${P}-build.patch
+)
+
+pkg_setup() {
+ use guile && guile-single_pkg_setup
+ use lua && lua-single_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ use guile && guile_bump_sources
+ python_fix_shebang .
+}
+
+src_configure() {
+ # This file is severely broken w.r.t. strict-aliasing and upstream acknowledges it:
+ # https://github.com/rkd77/elinks/blob/d05ce90b35d82109aab320b490e3ca54aa6df057/src/util/lists.h#L14
+ # https://github.com/rkd77/elinks/blob/d05ce90b35d82109aab320b490e3ca54aa6df057/src/meson.build#L44
+ #
+ # Although they force fno-strict-aliasing, they do so inconsistently and not for the testsuite (!!!).
+ # Just add it again.
+ #
+ # DO not trust the LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ local emesonargs=(
+ -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+ -Dhtmldoc=false
+ -Dpdfdoc=false
+ -Dapidoc=false
+ -D88-colors=true
+ -D256-colors=true
+ -Dbacktrace=$(usex elibc_musl false true)
+ $(meson_use bittorrent)
+ $(meson_use brotli)
+ $(meson_use bzip2 bzlib)
+ $(meson_use curl libcurl)
+ $(usex debug '-Ddebug=true' '-Dfastmem=true')
+ $(meson_use doc)
+ $(meson_use finger)
+ $(meson_use ftp)
+ -Dfsp=false
+ $(meson_use gemini)
+ $(meson_use nls gettext)
+ $(meson_use gopher)
+ $(meson_use gpm)
+ $(meson_use guile)
+ -Dgssapi=false
+ -Dhtml-highlight=true
+ $(meson_use idn)
+ $(meson_use javascript mujs)
+ -Dipv6=true
+ -Dleds=true
+ $(meson_use libcss)
+ -Dlibev=false
+ -Dlibevent=false
+ -Dluapkg=$(usex lua ${ELUA:-0} '')
+ $(meson_use lzma)
+ $(meson_use mouse)
+ $(meson_use nls)
+ $(meson_use nntp)
+ $(meson_use perl)
+ $(meson_use python)
+ -Dquickjs=false
+ -Druby=false
+ $(meson_use samba smb)
+ $(meson_use sftp)
+ -Dsm-scripting=false
+ -Dspidermonkey=false
+ -Dterminfo=true
+ $(meson_use test)
+ $(meson_use tre)
+ -Dtrue-color=true
+ $(meson_use xml xbel)
+ $(meson_use X x)
+ $(meson_use zlib)
+ $(meson_use zstd)
+ )
+
+ if use ssl ; then
+ if use gnutls ; then
+ emesonargs+=( -Dgnutls=true )
+ else
+ emesonargs+=( -Dopenssl=true)
+ fi
+ else
+ emesonargs+=( -Dgnutls=false -Dopenssl=false )
+ fi
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ insinto /etc/elinks
+ newins contrib/keybind-full.conf keybind-full.sample
+ newins contrib/keybind.conf keybind.conf.sample
+
+ dodoc AUTHORS BUGS ChangeLog INSTALL NEWS README.md SITES THANKS TODO doc/*.*
+ docinto contrib ; dodoc contrib/{README,colws.diff,elinks[-.]vim*}
+ docinto contrib/lua ; dodoc contrib/lua/{*.lua,elinks-remote}
+ docinto contrib/conv ; dodoc contrib/conv/*.*
+ docinto contrib/guile ; dodoc contrib/guile/*.scm
+
+ # elinks uses an internal copy of gettext which ships files that may
+ # collide with the system's gettext (https://bugs.gentoo.org/635090)
+ rm -f "${ED}"/usr/{share/locale/locale,lib/charset}.alias || die
+
+ use guile && guile_unstrip_ccache
+}
+
+pkg_postinst() {
+ elog "If upgrading from a version prior to 0.17.0, you will need to move"
+ elog "your configuration from ~/.elinks to \${XDG_CONFIG_HOME}/elinks"
+ elog
+ elog "You may want to convert your html.cfg and links.cfg of"
+ elog "Links or older ELinks versions to the new ELinks elinks.conf"
+ elog "using ${EROOT}/usr/share/doc/${PF}/contrib/conv/conf-links2elinks.pl"
+ elog
+ elog "Please have a look at ${EROOT}/etc/elinks/keybind-full.sample and"
+ elog "${EROOT}/etc/elinks/keybind.conf.sample for some bindings examples."
+ elog
+ elog "You will have to set your TERM variable to 'xterm-256color'"
+ elog "to be able to use 256 colors in elinks."
+}
diff --git a/www-client/elinks/elinks-9999.ebuild b/www-client/elinks/elinks-9999.ebuild
index daa906d436ce..d5826981e998 100644
--- a/www-client/elinks/elinks-9999.ebuild
+++ b/www-client/elinks/elinks-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,20 +24,22 @@ fi
LICENSE="GPL-2"
SLOT="0"
-IUSE="bittorrent brotli bzip2 debug finger ftp gemini gopher gpm gnutls guile idn"
-IUSE+=" javascript libcss lua lzma +mouse nls nntp perl python samba ssl test tre unicode X xml zlib zstd"
+IUSE="bittorrent brotli bzip2 curl debug +doc finger ftp gemini gopher gpm gnutls guile idn"
+IUSE+=" javascript libcss lua lzma +mouse nls nntp perl python samba sftp ssl test tre unicode X xml zlib zstd"
RESTRICT="!test? ( test )"
REQUIRED_USE="
guile? ( ${GUILE_REQUIRED_USE} )
- javascript? ( libcss )
+ javascript? ( curl libcss )
lua? ( ${LUA_REQUIRED_USE} )
python? ( ${PYTHON_REQUIRED_USE} )
+ sftp? ( curl )
"
RDEPEND="
>=sys-libs/ncurses-5.2:=[unicode(+)]
brotli? ( app-arch/brotli:= )
bzip2? ( >=app-arch/bzip2-1.0.2 )
+ curl? ( net-misc/curl[ssl] )
gpm? (
>=sys-libs/gpm-1.20.0-r5
)
@@ -73,6 +75,7 @@ DEPEND="${RDEPEND}
X? ( x11-base/xorg-proto )"
BDEPEND="
virtual/pkgconfig
+ doc? ( dev-lang/perl )
nls? ( sys-devel/gettext )
test? (
net-dns/libidn
@@ -110,10 +113,13 @@ src_configure() {
-Dapidoc=false
-D88-colors=true
-D256-colors=true
+ -Dbacktrace=$(usex elibc_musl false true)
$(meson_use bittorrent)
$(meson_use brotli)
$(meson_use bzip2 bzlib)
+ $(meson_use curl libcurl)
$(usex debug '-Ddebug=true' '-Dfastmem=true')
+ $(meson_use doc)
$(meson_use finger)
$(meson_use ftp)
-Dfsp=false
@@ -141,6 +147,7 @@ src_configure() {
-Dquickjs=false
-Druby=false
$(meson_use samba smb)
+ $(meson_use sftp)
-Dsm-scripting=false
-Dspidermonkey=false
-Dterminfo=true
diff --git a/www-client/elinks/files/elinks-0.18.0-build.patch b/www-client/elinks/files/elinks-0.18.0-build.patch
new file mode 100644
index 000000000000..87187a528310
--- /dev/null
+++ b/www-client/elinks/files/elinks-0.18.0-build.patch
@@ -0,0 +1,22 @@
+commit 7bce7c203244b0afbec3a916ef3abfbd4cea2658
+Author: أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmoudy@users.sourceforge.net>
+Date: Sun Dec 29 18:14:47 2024 +0100
+
+ Fix default value for libdomdeps to empty list instead of false
+
+ When it was false, meson complained that it shouldn't be a boolean
+ value, see: https://salsa.debian.org/aelmahmoudy/elinks/-/jobs/6836245/raw
+
+diff --git a/meson.build b/meson.build
+index 69b7975..c0f7d3a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -555,7 +555,7 @@ if conf_data.get('CONFIG_ECMASCRIPT_SMJS') or conf_data.get('CONFIG_QUICKJS') or
+ endif
+
+ conf_data.set('CONFIG_LIBDOM', false)
+-libdomdeps = false
++libdomdeps = []
+
+ if conf_data.get('CONFIG_ECMASCRIPT_SMJS') or conf_data.get('CONFIG_QUICKJS') or conf_data.get('CONFIG_MUJS')
+ libdomdeps = dependency('libdom', static: st, version: '>=0.4.2', required: false)
diff --git a/www-client/elinks/files/elinks-0.18.0-sftp.patch b/www-client/elinks/files/elinks-0.18.0-sftp.patch
new file mode 100644
index 000000000000..d0e024b4a031
--- /dev/null
+++ b/www-client/elinks/files/elinks-0.18.0-sftp.patch
@@ -0,0 +1,22 @@
+From 22a72290ac41d27238a8861eea60b5cf3878b94b Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sat, 18 Jan 2025 15:50:32 -0500
+Subject: [PATCH] [sftp] add declaration of ftp_curl_handle_error
+
+fixes compilation error when sftp is enabled but ftp is disabled
+---
+ src/protocol/curl/sftp.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/protocol/curl/sftp.h b/src/protocol/curl/sftp.h
+index 2ec5a0542..5b42bccaa 100644
+--- a/src/protocol/curl/sftp.h
++++ b/src/protocol/curl/sftp.h
+@@ -12,6 +12,7 @@ extern struct module sftp_protocol_module;
+
+ #if defined(CONFIG_SFTP) && defined(CONFIG_LIBCURL)
+ extern protocol_handler_T sftp_protocol_handler;
++void ftp_curl_handle_error(struct connection *conn, CURLcode res);
+ #else
+ #define sftp_protocol_handler NULL
+ #endif
diff --git a/www-client/elinks/metadata.xml b/www-client/elinks/metadata.xml
index 2c7701cba575..6c05bbc00043 100644
--- a/www-client/elinks/metadata.xml
+++ b/www-client/elinks/metadata.xml
@@ -16,6 +16,7 @@
<flag name="gopher">Enable support for the gopher protocol</flag>
<flag name="libcss">Enable support for cascading style sheets via <pkg>dev-libs/libcss</pkg></flag>
<flag name="mouse">Make elinks to grab all mouse events</flag>
+ <flag name="sftp">Add support for sftp (requires <pkg>net-misc/curl</pkg>).</flag>
<flag name="tre">Enable support for regex searches via <pkg>dev-libs/tre</pkg></flag>
<flag name="xml">Enable support for bookmarks via <pkg>dev-libs/expat</pkg></flag>
</use>
diff --git a/www-client/epiphany/Manifest b/www-client/epiphany/Manifest
index e8cda1610b3a..012437b179e8 100644
--- a/www-client/epiphany/Manifest
+++ b/www-client/epiphany/Manifest
@@ -1,8 +1,6 @@
AUX epiphany-46.2-disable-web-view-test.patch 737 BLAKE2B 9a280c5123f1e9afa23d066b11f56fac01e86700bf96b63b330cdcc6e928cbbac16dd782aaa0329d41a959db6cd35c1a9a97727326da6bc00f837da78263a027 SHA512 d0ee294077c673b055a2a9aab5164910950ea56dbd62291226f801bee3d46315a6a29b4e62711b1cf6566e9b26cd03b57e7c76dc3cbd2fe35050673808a2b980
-DIST epiphany-46.0.tar.xz 4014980 BLAKE2B e9e72dc562b4ee63698e5b2c8f87945988cd5c585a10ee6782cd2a2fadbdb363292227869ed7f39f46305e007729594a37fc06a384a7a53e2061c2b3da181ce5 SHA512 55d1e89294e0f7cfae10b6aa28f43028bd34053e1d829168bf59b9cce8a8128a2ed7e9b94b8665e0f36e03adae845e0a26ff40c83abbc9962f06ac75e3c36a79
-DIST epiphany-46.2.tar.xz 4021080 BLAKE2B f1ed20b1bd22ab047bff04276ac915996827d64b5edd7dfee6ae816522338f614b1329b051b84064cb1448590de7a432d521146a5a94915605f3841e6fc8c5c7 SHA512 fe564b2cb1c5f3528f974826d17608f133b8b99cc3dcfad1c641bf7aef792addbcb2418b7dba5a3c56305ee5fc2c955a5a12d1e64c50a60376f638cad3766ec9
DIST epiphany-46.4.tar.xz 4013588 BLAKE2B f6f7044a0e20dd6fc696a1d667f37ecbf20d2ee2e21c42ccb26143565ac7629f436c6edffe5a022433de9b19db27007d57b3c135414af87d45fa3a551462822b SHA512 4bc3166152e1c3ee9bfd269000038d3c635824f2e3c7caa0b15deed69fd753658092479435244c1c89952fc4e1da14dcf6ccc910635949a0591b2c763c0adc19
-EBUILD epiphany-46.0.ebuild 1593 BLAKE2B 48273dd684071347113b0833a9ade6b134488c5afc722ae78f11574e12a0eed97f29e3ea0035b0364e5fecda0401964ffdedd1826c515d1b92320e95f5186e65 SHA512 c25c19f5c0624ab9185a89f31f4598df120825e12c2fd512de8bc3d51d082625ddf29987fe7ac0df4bf96ef9fb55a256543db9f67bd029d0dfcffb328c1bdca1
-EBUILD epiphany-46.2.ebuild 1945 BLAKE2B 58de78ca252fd99f1aac126076e706b7b481a13da8fc37eac2534a77b5d3f995310f69103068fce4b4e4b913ebc68a3996185bbf1ad3f2f15369b2bd5b88176a SHA512 4272c920e93bca41157461a04f442e08288f299773274167d7fb773fa0d96de744fa4f0a5e6d226c5c3136fff21a0aa4d31f4392b55516aee28b23ec43f1319f
+DIST epiphany-47.2.tar.xz 4091372 BLAKE2B 889f49e06e21daa72185851d3b52bf163f7c19bd3fe393335ebd56ea9c16d019ae8aef1306c748b2cf500b9e30be64525120cac4276259822b4b23aa13dcd13f SHA512 8e9d9346b4de60391a8cb790008f5b1ff32e7521a4e3da49882e5ca60ee18a6b5be32ddf5b201405937048eb158798b79118fdbeb7b8a83cbb60a20765752503
EBUILD epiphany-46.4.ebuild 1943 BLAKE2B 51b1b223ec7abc7ab689051bd0652f365bc95d74ad064c53d7fb0620e8f64b1c28830ee61de7af0c4b5b016d5ca48fb5b532ed40b7b12d5cab8323161bd4701d SHA512 d6f22f9cf3de7af9c0931bb5daac8bdee61b0e92c3f4b1fa708212803f03b7db909884bffe74ed63f880afd38f16f99102a87a5ceb18714cc81350cd40b7dd85
+EBUILD epiphany-47.2.ebuild 1950 BLAKE2B ba40de2dc85c47d83a50d495843ebc1fb0bdcc464fe042114a5a3df5d29746dad251c09e8a06fc32a55ef10afc0128dd9c42bf38f4ed20a59ee8653cc46c0724 SHA512 5ccb5fdd568691b81d9b7985bf118a14a851cd7ee2ee16d428327c40b8107afff791a78147f2d148d5f58758d7ac96713664f898407548b0cb050aa0cef474ad
MISC metadata.xml 349 BLAKE2B 3d863d6eb39cc99c7587d53af80d4df96f5c1bb534e406ee904d3b39f947c24e1153707581473e1477d984cd7be541925b4ff002d546f5d50f1115d1ad639362 SHA512 10d54acb787b2d9dab84b43fcc0e578d7afcae36142bef5028ac3838bfce6ae63348a4e05ee97eaa2f7d90204457990c9cf604c8df0dd714d62b907bf4da3019
diff --git a/www-client/epiphany/epiphany-46.0.ebuild b/www-client/epiphany/epiphany-46.0.ebuild
deleted file mode 100644
index ec8981565f3c..000000000000
--- a/www-client/epiphany/epiphany-46.0.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit gnome.org gnome2-utils meson xdg virtualx
-
-DESCRIPTION="GNOME webbrowser based on Webkit"
-HOMEPAGE="https://wiki.gnome.org/Apps/Web https://gitlab.gnome.org/GNOME/epiphany"
-
-LICENSE="GPL-3+"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
-
-DEPEND="
- >=x11-libs/cairo-1.2
- >=app-crypt/gcr-3.9.0:4=[gtk]
- >=x11-libs/gdk-pixbuf-2.36.5:2
- >=dev-libs/glib-2.74.0:2
- gnome-base/gsettings-desktop-schemas
- media-libs/gstreamer:1.0
- >=gui-libs/gtk-4.12.0:4
- >=app-text/iso-codes-0.35
- >=dev-libs/json-glib-1.6
- app-arch/libarchive:=
- >=gui-libs/libadwaita-1.4.0:1
- >=app-crypt/libsecret-0.19
- >=net-libs/libsoup-2.99.4:3.0
- >=dev-libs/libxml2-2.6.12:2
- >=dev-libs/nettle-3.4:=
- >=dev-libs/libportal-0.6:0=[gtk]
- >=dev-db/sqlite-3.22:3
- >=net-libs/webkit-gtk-2.43.4:6
-
- dev-libs/gmp:0=
-"
-RDEPEND="${DEPEND}
- x11-themes/adwaita-icon-theme
-"
-# appstream-glib needed for appdata.xml gettext translation
-BDEPEND="
- dev-libs/appstream-glib
- dev-util/gdbus-codegen
- dev-util/glib-utils
- dev-util/itstool
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
- xdg_environment_reset
-}
-
-src_configure() {
- local emesonargs=(
- -Ddeveloper_mode=false
- -Dtech_preview=false
- $(meson_feature test unit_tests)
- -Dgranite=disabled
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/www-client/epiphany/epiphany-46.2.ebuild b/www-client/epiphany/epiphany-47.2.ebuild
index 033df849ad9a..ddb3c58035fb 100644
--- a/www-client/epiphany/epiphany-46.2.ebuild
+++ b/www-client/epiphany/epiphany-47.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
inherit gnome.org gnome2-utils meson xdg virtualx
DESCRIPTION="GNOME webbrowser based on Webkit"
-HOMEPAGE="https://wiki.gnome.org/Apps/Web https://gitlab.gnome.org/GNOME/epiphany"
+HOMEPAGE="https://apps.gnome.org/Epiphany/ https://gitlab.gnome.org/GNOME/epiphany"
LICENSE="GPL-3+"
SLOT="0"
@@ -21,11 +21,11 @@ DEPEND="
>=dev-libs/glib-2.74.0:2
gnome-base/gsettings-desktop-schemas
media-libs/gstreamer:1.0
- >=gui-libs/gtk-4.12.0:4
+ >=gui-libs/gtk-4.13.3:4
>=app-text/iso-codes-0.35
>=dev-libs/json-glib-1.6
app-arch/libarchive:=
- >=gui-libs/libadwaita-1.4.0:1
+ >=gui-libs/libadwaita-1.6_alpha:1
>=app-crypt/libsecret-0.19
>=net-libs/libsoup-2.99.4:3.0
>=dev-libs/libxml2-2.6.12:2
diff --git a/www-client/falkon/Manifest b/www-client/falkon/Manifest
index c57ebd3faec9..0bf0511c6067 100644
--- a/www-client/falkon/Manifest
+++ b/www-client/falkon/Manifest
@@ -1,7 +1,6 @@
AUX falkon-24.08.3-fix-printing.patch 3375 BLAKE2B 220d83cbba1d18be9c2eeeae813806d4c9f025de62000af9b9257bbbc0ffd235a0fa29d1a4aa9ff830b463c1ea9653c620f2c448658eb2ae2147bc2fc0e229e2 SHA512 bcfcace0f5887dc1b2ffc67721aaaa7561d8ebde56ecd263a0b94797821d0c4aec8bb74a4fe02af49214cd05edc2661b115923819cd89ca3d078213f2059c9ae
DIST falkon-24.08.3.tar.xz 2635964 BLAKE2B 07417017ee93f598749048d331827904d2cb7406ee9bac5da77bddc720e7c3131f655b6cb6ef35a84db73e62a11f435d347841047371590d4a889e44946a2706 SHA512 1c6020d805668de38be95f9d63a07c5b6eafb200b6b181d59c791a145ffb8926c5ecf5feb9f46c5d69deb682692574b8a557271d08f945cf1a52c1eee7b2d55b
DIST falkon-24.12.1.tar.xz 2654264 BLAKE2B ed9e70aea4caf20da69795997e55d44c4b9fe1c0ca40b7b4296195a0b602103131184c886bde7793b59822caae6cc315af380810eb30ef707b5d0b5a294a142f SHA512 b990f304f82ad5663f62585727b2eea7f2c7702d08c7a0b299f6890090f76e968cc9ba6100a6787e74d7d77edac0aafccc6792f08250613c0ece3f8c17fde448
-EBUILD falkon-24.08.3-r2.ebuild 2123 BLAKE2B 7fbb0e0c4b1b9b7526559a052732aef8a3ee854737d50a72de861487f37142d22e4103887ee28092d2d39e2229572a6ded3652623ed1fe2d2b0adf66796932f0 SHA512 9e18616a5fefa25a02fed4d1b2d88c4d6ca4215379dbb31c1073b81a0791c781239139be1a0503f770bffa470b0066bd4b747d6f8ff63af38e63dd760d99db41
-EBUILD falkon-24.08.3-r3.ebuild 2189 BLAKE2B 26f3d75e7171a00eb6841e2b2e55faaba4cc44b6793fe4252e491485c14d87f4090cb5f5d06fdf0b61f7119c0c06b36cc9a4cbc986885dfb72cd2f4e001ddd34 SHA512 949058f3a8b08fb96e054cfc56716cdece5f5ea751a4924bd778c2c2f41c18454b38768c43dae46412ce2c15491c766e6a8f22cae8950f1fdd052cfbfb3f7cf6
-EBUILD falkon-24.12.1.ebuild 2125 BLAKE2B 4e7c5d00263c34c164bac80104335a6428399f7397fa1e7786e5ed656654533555ddef170470b6ec6e2637252d6c1537d5ddd5e91ec0c424b8c8a322510105a7 SHA512 f0c480fca32d74945d38f995f67f84448a693926a180da06be4fe1efb9676cc330c91fc4101372247e0e4146262946d26c1cb89e6ce2306d5fc5ae606e60fb28
+EBUILD falkon-24.08.3-r3.ebuild 2134 BLAKE2B 994eede0c91445971e3a41e37cabfe29b15900cbf887e3583483f32a162b7392ebfa45b29b1a35e16348797c09d57c4407013b3d085c226e01fdaa53c8040980 SHA512 ffa4c6596fe8c29f5d0f85ef25f86e3a10cfb075512830579ad49b34d86cbd72da5c2637347a2f80f1d9222fedbc3e27dc8f9fe1a10bfff2a2fc8d8cfe07f2ba
+EBUILD falkon-24.12.1.ebuild 2072 BLAKE2B 60e3d491303b672b1e5ded5abcd43e8c568d9eb86a2c67678c22923411810a8dfaa49160d407eb4012abd27cc642589aea5c6c40a25e26c2f00da31247554bf4 SHA512 1c3afc48012dc14e2e38dfd7cd061946a1f6018044466dafe2d8ed7c9aca33db3ef3b49ff54ff25e9505540bd7701084d138045175889a5de7ca0529c6c912cd
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
diff --git a/www-client/falkon/falkon-24.08.3-r2.ebuild b/www-client/falkon/falkon-24.08.3-r2.ebuild
deleted file mode 100644
index e6874c742db9..000000000000
--- a/www-client/falkon/falkon-24.08.3-r2.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_TEST="true"
-KFMIN=6.5.0
-QTMIN=6.7.2
-PYTHON_COMPAT=( python3_{10..12} )
-inherit ecm gear.kde.org python-single-r1
-
-DESCRIPTION="Cross-platform web browser using QtWebEngine"
-HOMEPAGE="https://www.falkon.org/ https://apps.kde.org/falkon/"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE="dbus kde python +X"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="test" # bug 653046
-
-COMMON_DEPEND="
- dev-libs/openssl:0=
- >=dev-qt/qt5compat-${QTMIN}:6
- >=dev-qt/qtbase-${QTMIN}:6[dbus?,gui,network,sql,sqlite,ssl,widgets]
- >=dev-qt/qtdeclarative-${QTMIN}:6[widgets]
- >=dev-qt/qtwebchannel-${QTMIN}:6
- >=dev-qt/qtwebengine-${QTMIN}:6=[widgets]
- >=kde-frameworks/karchive-${KFMIN}:6
- virtual/libintl
- kde? (
- >=kde-frameworks/kcoreaddons-${KFMIN}:6
- >=kde-frameworks/kcrash-${KFMIN}:6
- >=kde-frameworks/kio-${KFMIN}:6
- >=kde-frameworks/kjobwidgets-${KFMIN}:6
- >=kde-frameworks/kwallet-${KFMIN}:6
- >=kde-frameworks/purpose-${KFMIN}:6
- )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep "
- >=dev-python/pyside6-${QTMIN}[gui,positioning,uitools(-),webengine,widgets,\${PYTHON_USEDEP}]
- >=dev-python/shiboken6-${QTMIN}[\${PYTHON_USEDEP}]
- ")
- )
- X? (
- x11-libs/libxcb:=
- x11-libs/xcb-util
- )
-"
-DEPEND="${COMMON_DEPEND}
- >=dev-qt/qtbase-${QTMIN}:6[concurrent]
-"
-if [[ ${KDE_BUILD_TYPE} != live ]]; then
- DEPEND+=" >=kde-frameworks/ki18n-${KFMIN}:6"
-fi
-RDEPEND="${COMMON_DEPEND}
- >=dev-qt/qtsvg-${QTMIN}:6
-"
-BDEPEND=">=dev-qt/qttools-${QTMIN}:6[linguist]"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- ecm_pkg_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_KEYRING=OFF
- -DDISABLE_DBUS=$(usex !dbus)
- $(cmake_use_find_package kde KF6Wallet)
- $(cmake_use_find_package kde KF6KIO)
- -DBUILD_PYTHON_SUPPORT=$(usex python)
- -DNO_X11=$(usex !X)
- )
- use python && mycmakeargs+=(
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" # shiboken_helpers.cmake quirk
- -DPython3_INCLUDE_DIR=$(python_get_includedir)
- -DPython3_LIBRARY=$(python_get_library_path)
- )
- ecm_src_configure
-}
diff --git a/www-client/falkon/falkon-24.08.3-r3.ebuild b/www-client/falkon/falkon-24.08.3-r3.ebuild
index 77b5e21cab13..743860393db4 100644
--- a/www-client/falkon/falkon-24.08.3-r3.ebuild
+++ b/www-client/falkon/falkon-24.08.3-r3.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://www.falkon.org/ https://apps.kde.org/falkon/"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 arm64"
IUSE="dbus kde python +X"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -40,8 +40,7 @@ COMMON_DEPEND="
python? (
${PYTHON_DEPS}
$(python_gen_cond_dep "
- >=dev-python/pyside6-${QTMIN}[gui,positioning,uitools(-),webengine,widgets,\${PYTHON_USEDEP}]
- >=dev-python/shiboken6-${QTMIN}[\${PYTHON_USEDEP}]
+ >=dev-python/pyside-${QTMIN}:6[gui,positioning,uitools(-),webengine,widgets,\${PYTHON_USEDEP}]
")
)
X? (
diff --git a/www-client/falkon/falkon-24.12.1.ebuild b/www-client/falkon/falkon-24.12.1.ebuild
index 46095f11fb25..b171ec517eae 100644
--- a/www-client/falkon/falkon-24.12.1.ebuild
+++ b/www-client/falkon/falkon-24.12.1.ebuild
@@ -40,8 +40,7 @@ COMMON_DEPEND="
python? (
${PYTHON_DEPS}
$(python_gen_cond_dep "
- >=dev-python/pyside6-${QTMIN}[gui,positioning,uitools(-),webengine,widgets,\${PYTHON_USEDEP}]
- >=dev-python/shiboken6-${QTMIN}[\${PYTHON_USEDEP}]
+ >=dev-python/pyside-${QTMIN}:6[gui,positioning,uitools(-),webengine,widgets,\${PYTHON_USEDEP}]
")
)
X? (
diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest
index 8eae67e23c0e..e95fe1688e63 100644
--- a/www-client/firefox-bin/Manifest
+++ b/www-client/firefox-bin/Manifest
@@ -2,7 +2,7 @@ AUX disable-auto-update.policy.json 53 BLAKE2B f8df63721191d84d8f1ceec263f63c44f
AUX firefox-bin-r1.sh 2644 BLAKE2B caee879dbaa5f45dbe55c4c4a7b2bcff02a86e41adfebffd8a51a9fd98b3378219dc7a10aafd048e8869d9fbc8b5bb607cd03df1e10a46afdf09eeef64ee2104 SHA512 d79cf2090405486d3508abe120b4f99e769710704ef497a4e9d18ff41a796f4e35afed6a2b861813b249e744c6be48dab8cff4a8e99ea348a042c2401c667304
AUX firefox-bin-r3.desktop 7956 BLAKE2B 4df62b7ae4c9e642ac84f2054a4f9ab8c201b76b7739be21d47c19f66af7342ae9b1b2e57348087fe0099b45f7194d09b9a41800a68682679e6e9f373730ccc1 SHA512 f90c7e8fa6be49b7b82d376e8b12133edd079d3ffe441b06f32db12c5091edaa0dbe0c82e3ab3b67e07f52a0a846734dca4a787848d121476b3f7f38d82bff7d
AUX firefox-bin.desktop 325 BLAKE2B 563cea3569a5a4952ded5c0324fa7d3a574a1c5d0fcd310f3f82de2b0fe07412d9768f6be2f467e3e315d89f501b1fe2cc319ffa92f072f4fa6cf6e2af4c2d20 SHA512 409ec95a1ee449e2a0a915358fb9c8c3e4bcec8026cb503f1b7dcd815bda9ff5745158ed01cc190c9a0adf5b4e9d644efe5ee3e0232bd8419324c1b6600c863f
-AUX firefox-symbolic.svg 7432 BLAKE2B 33a552ffb9850f6b9cd3cb8d9f7f80268ac08f00a0bd5eb15d892c6fbb950f8cacf6058b9c838f5be1ae1b53541f143a1ec0c1302ae85b49100b166fcbccdce6 SHA512 ba7db9a7c95a051bcd84e4c09c802fc55ee3c0d1d06ec1b169b04e414259b75bbe92fe584aee41a1e3f71e71c160df8bedf5393449e5024110ed27dbc0579ea8
+AUX firefox-symbolic.svg 2508 BLAKE2B 2656e59bfc8a7d1cf4d64201f4ff0c1eaa2c9588b85a4311b311f592ef0588564420c4795736a1609a725f2757c769b0ad1390b58525f558ce578632697d99db SHA512 1ead8e400571a69a1e4deccbaf009b3b524268cb03b5af17455e21a8d54594225ca3bd75bde16f325d8f8341760e32ad4bc39b54e6a1e7dd7959d10c79e58fdf
AUX gentoo-default-prefs.js 570 BLAKE2B dd38592aa2a1e26185bb39ad95594dfcc57343e1027d7b125a82531c70e4cffe1f2a19519e1f3c07129faa5012b909bd45e6f65f05ac43f0503c752178b5904c SHA512 2b93206b979aa7cf88a6141805219db0a5134ea87c92a8f9a4bd16bc102bf6ed3d55c77f2f47a300262bb2848b878e8881c0037434441f13ddf1826661e7c6ff
DIST firefox-128.5.2esr-ach.xpi 465495 BLAKE2B 26ba49c6a195f46358e02cbf51fb523b5321a9be7567e7ea3a6c7bdd1e39cefc298cbee2ed9af99da39d236ebd7468d2fd11c330a54f0df9e1f19ce1777753f1 SHA512 05f806acfeb4af169d6e0204c0cec9559bd51052ec9a10cd9badf3bf8fa18406dd3a66d2784725b9b13597f1fd3d287dbb71e3b6ced86b80478519554b9b0834
DIST firefox-128.5.2esr-af.xpi 418835 BLAKE2B 7023f777b5791833f14b626b2994295a1d1107852f12cc00b9ed0ec781e5d50741e35c0c1623bcc2fbe3dc71966f65e0ad2d968373589124d094bb84c84a093e SHA512 ba3261cb8debccccfb6734bad534bba439bb440d8ae5b61b49e344e8180bb2de37629abc2e0f2845d43cd8cc553ce7129bcd5328b297343e3e49f095c5e79ba4
@@ -198,6 +198,103 @@ DIST firefox-128.6.0esr-vi.xpi 673230 BLAKE2B bc2dd96a1a960238055cf50b2997d50dd8
DIST firefox-128.6.0esr-xh.xpi 418478 BLAKE2B 54d8625ccc0303bd0168476884a60a2018044e6d10c503ae7077bd27076bafe8326d390d3f86ce7a4bbdce60a42467d62ef56ac74437f537c843613e5791693e SHA512 905c1136f9dfbd372efa13a3174d52dde3674eeb9f3f1c0f5fcb3a6ca4efe591c7e77731ff69619f4a81e8f6550e8f26ecb504509128b91f06e99604d2d667ff
DIST firefox-128.6.0esr-zh-CN.xpi 675204 BLAKE2B 25bf725f17d878b72125bef0d3f18e8424b3cd19c53ea98e6b5822b278b39e71e60cd19efb8f5d300b19d185e14f3f92eaa8f5247475b7fb81d90b3bba9fcc74 SHA512 ddeb8b74783d6654d9becda9108b1e2285d761de7170f850b854b78006a59775f341772de5806a50758d675f341e34b64b195772028d07a75cd6ceb27da0918b
DIST firefox-128.6.0esr-zh-TW.xpi 677426 BLAKE2B b1c7f621ef3a73053ac60f57845d721fbedee579f098beac71f3b9d97b60c6a9ef97963829b4911cc1215f7a1dc935f3c9d30720b92f0eafa0f9d4ee46ebabb1 SHA512 1c415b1c94bbaabd6bb454a517aba30b7c19bab2a57641b48aedc2362ed8cffac1956cf56adee45ede9a9604dd1ce270d294b56363e859cf9e12e24d7adae48a
+DIST firefox-128.7.0esr-ach.xpi 465483 BLAKE2B c0717d674ff6ef9d4b9cb16ee4a6a023467408364be0b95ad9c483d3ed2e85b07b7ba0b7c855235cc6fb476e7bf2db1489bd013d72459e65f47eeda6b2bd6155 SHA512 e52338351c9c04f52a1cb2b78a252e1f419c2595d173e565a4ef902bcc4bd78ecc37acf7ba6eb3062ba8d09a2ac2fa83a72593abf020492ec437d843754bb5a8
+DIST firefox-128.7.0esr-af.xpi 418819 BLAKE2B 3d040b9ed03ef6f458d591d3db5f2c58b52ae2bed6b0b591fc0fb5ac179ed2f5cd577b9d2e1523fd152bb883716654f07eb1ef3eab659244fdbf7c6e2b0f3f84 SHA512 2f51ea8f920a2b5e694ebb847098f9807c1392ca0cebbda156904894314fc6221f428f4dffdeaf298681192b486341baaf25f75e896be191456317168de10c41
+DIST firefox-128.7.0esr-an.xpi 508460 BLAKE2B 0e2328a7dbeba03e903e4773f3d1915f4afa79f3766e1f3e901cdb5e6201d5dd959093cbe2410c28549a409c04b2c5731d3b1bbdcbee699b78dcdbfff66feb1e SHA512 1da8dcd4b9b1dcaf1a3f324dc9057beb40e18ccdbe249f6121b629a05059e1de4c2385d773f52ebf043acf550ce1f3fd88acef5f070c25f6919a874b3e1ed0a7
+DIST firefox-128.7.0esr-ar.xpi 630804 BLAKE2B 409aa9ba28b196014526e3f78fc89e658722892c237539f110f56567ec16e6ab10896fc83a5998e7269dbe9e31ff369668c50e5f856187a43074a5d8e3ef45bb SHA512 9595b1a87b7f59b632b29718539b8ef830df19426940f5c04b837bc0dafdb10ff2be62d90d486395b8f0dc26b2bd60aa58f8aa48de0eae25ba26e580b5476b72
+DIST firefox-128.7.0esr-ast.xpi 497755 BLAKE2B 25dc917d95d110a54c594f2ca0812cda91af64ffaf45ed731cf5fe56b50a652ffc88900215fa6ce1fd5c2c800755b0fc10d234c0746b23ddf959ce12666d49d7 SHA512 b645b69ec25be8339c067a9f7c24640e778be70a09f4aeff0b57d76d43bb7b3cdb085c069784465626b3527b956d905ed741cf46747dc09c2b202b118cf7f397
+DIST firefox-128.7.0esr-az.xpi 492196 BLAKE2B 341f22a0da5ef46e09002c373bda7eb3ab5b772a54028dd3ff93e368644e8a17e10421879e529af1caad647c619a1e556360c92d52e65301f6b2cbc4de23c4e9 SHA512 ccfe501bf75ace33d0dc9e0b8271fa715e9b9e3c2bab6395d49a3671e6fa8e11d6530f2e04763b282991995f8110763fe8b1b9a0484437347f6cfa65f2d407db
+DIST firefox-128.7.0esr-be.xpi 731599 BLAKE2B bc61e97d46cf47fa32af39c8ef5e5a0fdcf7433f4eb940218e635c89b3a2d108e8236b0a909e541fc5cf60c23b8a23243dc8aa283804edf3e8e7ebea6bb28710 SHA512 ea2dd0562293447b3a3b67d286f45a35cf0b61496a3ba4129d05018af0add11ff78c758341bbff550104a6d96766b5fae6d1d96b7a0093b9f18623e572adf64a
+DIST firefox-128.7.0esr-bg.xpi 647383 BLAKE2B 8970cf49ffcb0ba77ea13bafd52638939fcce83c6d847d9319418eb1efaef243a0154412ac2242bd27f9c4cfe943057fecded3e5119aa718a97f3aba688df43b SHA512 6bd507162933c12c089254d3cc52fde6be7bf8fd07dbdaff17db9617557e52fbc9d07d6bdd982facc9989e8a58cefcb405939aa381e6b145b0b96803bf0b6ec9
+DIST firefox-128.7.0esr-bn.xpi 582959 BLAKE2B 69085d183ecf08712c95e06081d6acea16b9b198996d3772b7534e2988c9e0cf432f234bf693630751ebcf386cd4039fbb1a1558cc726e323a2df7504db81474 SHA512 76bff1022714f4cd634133975b939b6f5eade0be0677272ff82a896bbe79829ac8ac2b774502a8c08984ce968a9a6ce1012478f62f733379a682309991128141
+DIST firefox-128.7.0esr-br.xpi 595350 BLAKE2B f7ca2f9bc0624213cfab8c8b656374825dbc243453cf804250b5999d9ab8eb31bbf35a5c6e158ccac70fa43aa765903c4ee2f4f310089f16e3bd1858c208fa24 SHA512 20bb0d649fb3264b9614a1962a78a6fb1de956e973c0f929c72abed1224f134b61e293e1f52568e9b5d1dd9b69dace3497c89376fa47c1470ba1abf6fba5d69b
+DIST firefox-128.7.0esr-bs.xpi 515699 BLAKE2B e464b7f37c7b4bfc1f82d9b35a81ce713cfb2e8af347bf922b1e0d5b9af254a622c3e380b027681d0767a33cd8878a4279436f303cfbab81696a0e1531955b1c SHA512 647aa9b0a31f447feda5f2486825e0d2585682378f27136a5bd875f8528dd95ac5acf3ba9e15603e8443f13956d15f67336239f25a461579596ff9f8376cb46c
+DIST firefox-128.7.0esr-ca-valencia.xpi 547674 BLAKE2B 42782fb0776edbd7e8531f6b40425069479bdecc483512a69966d4fef2e570939b3ca09645e702b3a592ceef27fc660470a8d469acecb7467c2c2741b0af225a SHA512 4731c7e66f80f30f50bbb0a8d4d74a342c5159fcf207e51885f84f471cceaf334c176d70f953151f5d2de165463d3d75822d04e1cc5a0e13e7e43f74fa367a2d
+DIST firefox-128.7.0esr-ca.xpi 599211 BLAKE2B 4a3a64b94b72c22308474b4230fe7159a24ddc096ad279031c81314e3412a0973d6cebbda5912aa04e5bcaa2ce5b5ccb97cce8f60184bde411cc06a5a82ab909 SHA512 d999ebf32fb7ab11d6eb2e2739926769e716c37568336d50a8de9bd89c8debc7c8562ed8e5b59e3d414ce5f8f8867859e08918bf521b796003ddb9d3ba3b6666
+DIST firefox-128.7.0esr-cak.xpi 594639 BLAKE2B 65ffa086eecac9a70df7cc28ef129c39a0b49e9dc880805af2a7173b485818c7487784f129a4211b8f5b9fd97252593f4e87dd8029bc27d2f11fae11ccea0c11 SHA512 9d4429772183a9868a360cdc0df0aefbe4239eb324197939334ca858352e67d4de0e255cd096f13bbf91911ec65582697ea16962327c358f47a171921049f4ab
+DIST firefox-128.7.0esr-cs.xpi 675127 BLAKE2B 4a8a22a479eaff56aeb5d83ff0b2db0086f9fb0a8f4a021fff1b7507d7d9762caa882ca0e1f03bf37ab0619b9e1be0c9351529d33ca466d4e2595d756084376f SHA512 7637cb7036b0ea5b0b0b3d47128ba4ac75a50dae788e1d55098431d21d61ab45f0a2e5f41e346d4691ee82ad933660be6a62bb056434fee13bb242771506daaa
+DIST firefox-128.7.0esr-cy.xpi 641505 BLAKE2B d550bed591b840b7a9ea9ca420899e22f47b20d2347288b35ecef2e05d5c68eddecc0309020feb021f030776af4097cec6aa677f621509ef2bd0efb6e8524b0f SHA512 1fda03acf5f9b6c121b8fd0c80b381a0bfd1fbd055d89ecb0b4598629e022ee94f9087d6db70e69e547d7e7425c9ad3e7d1750face58b6a230000301fa3ecb9e
+DIST firefox-128.7.0esr-da.xpi 624953 BLAKE2B a09caf036a30b41978254d006756badcbdc6c952ceb5216f5fd5c9073e3f4a4773c3c18e243d0c34a46fa0e8738a93a8e3dc14e1f15df520cd77ec0e19aa7f56 SHA512 1848b785ebc27d3440b76528ac40b39fe74ebc124d7d11deed977d4d2a03feac87b8bcbd326b32ea88ad829d218515b298110cc7427a6d3b806815b190de09de
+DIST firefox-128.7.0esr-de.xpi 647908 BLAKE2B 44dffa5bc188000d04009d4c809d16edad8bfc62264f80b911629a8d282d281d25016396281a6287eaffbc7384284cdf9d26c1109f51ea515930aa48d42a5d39 SHA512 9f54dacdea129f7e6ceefbe6f68995d0b032b594f6a754dc7b7ae7df8f77c5284c404a83decafc72b74e5e3a78a7ff12d1a52bf07fd764bb451233c05b7928e2
+DIST firefox-128.7.0esr-dsb.xpi 667677 BLAKE2B c708712ee3a962bcfc8f67a6d786166b156446ea4e4079af5fba5aac95b16a38ddf74fec29e71bc2ee960874d9bebb0e4ac65124173c089d171e33742a63031c SHA512 3e46e6466e5672944fdab9d5a9bd5d2a2535d2acc5f75187070831946788e8ba63db775ccbb48bc52a36b3232ce2f8b2cba57e756ecb73582463c2a3d5c2a41a
+DIST firefox-128.7.0esr-el.xpi 752451 BLAKE2B 746f6dea14a29766707292d6cafc0710105dc16d2f7890d7dc9e57fc590aa27783bfcd28a8ac4041de9849d0e5198de35a33ccf364cfbd82ab369eb70297f261 SHA512 f5084c71326762fa049b6d20a2a67cd1e4c7fdb133c9f30f4af20085092105b22b68f62e86f0ef177a886d802bec5ffd665154dc6e7997e459e72a581a5b35c0
+DIST firefox-128.7.0esr-en-CA.xpi 597230 BLAKE2B 3a44aef6adc8289ef4cc3197c8e38e37ff1191ff9ba6240647a8b9172e70df9ccc80e9c9828bb26ee9a194e76c76567ffb0371e085e6d99e1d490b6260aa1ba2 SHA512 099b8afd7c7fb5daacb947e20e5e64c208ede29c7b72b8e020e6005b00554b32e136c282f679fe8ca7850bb1c7c6adbb8409e304938a64d539118bce163e6b8c
+DIST firefox-128.7.0esr-en-GB.xpi 600792 BLAKE2B c4a5943c47511ae3513c5ed12e7574a95dc6158d76dedef0d9bf8c76f50977ca3c80903064f6463a636cf87af897cbee0df56f1fa94b5635799b7ffdfcc1c5a7 SHA512 d69461a248da1ddca21ee93865eea8a4283c37687c2c75c568555c37b898e2788cc86009941c891ec50838e9fb2333fbaf7a46f771edc78956c4a7752c3fa51a
+DIST firefox-128.7.0esr-eo.xpi 628830 BLAKE2B 4ec7ab9524b668b65b71007d52657e4b7770ae6cc4662115806118a1965af7b14d95a5375c724f606cff8b7412b0de558d1c2425a4d8e08bcc21f663c0a8729f SHA512 3b5a3a134ab1dc4f883ccbec519fe4c939a22148786543a30ad19fd99bf28e63111032ec160e90d28abeb89fa5a43db138a29878038eaee0dc55364990ac120b
+DIST firefox-128.7.0esr-es-AR.xpi 644964 BLAKE2B d00f51be339de81c93c3a51cd21e9feb97a6393aff925a356dde0efb3c93d03f4f718f8efcce8cee1ebb83b782983dea5b6ad2371e92f3f4be622cf5a7e1b4f0 SHA512 b22c2a96975d412629a1e79a616a505d951bbc4699681a456606352a929a64f1686203987637059d02d0d9f82c45218580bb0138ce9a4edac95850f871a1ba3e
+DIST firefox-128.7.0esr-es-CL.xpi 644428 BLAKE2B 43cdb3b7afb889113ecbf51d84793e40132274efb1cb04b0b9449a4f93ea14e254b9bee6056582cd2666a18080a24f2a8e9dc431d9bb700f0937cadfe5695e91 SHA512 51889302b604ae367dfb23e2ad80b87d3c5e7119b7f515c0b466a9cd3104f7cb9f3fcddbc0ad00d2da46de6d248ea342808f6f426d4daf69ea7d89e6a0e7f5e3
+DIST firefox-128.7.0esr-es-ES.xpi 637339 BLAKE2B 67d7bc561e56438e0aeaeaa9b7670b36d7c26c939f22877c0a6eb0f8e6131ccce9d8e15a03e3b4bff9db55ad37a66d0521a54b10ac69eb61983343a50852b7b5 SHA512 94e5cd9ad2037c17f3f23711cb51b13ba6cd6c4c1c229e42eadd60863c457225e5077b6055384f638115f83228efddb16925e39371b4105c5bbc170825670853
+DIST firefox-128.7.0esr-es-MX.xpi 638918 BLAKE2B ebce9d0fbbd89eac929a4b05c81981c005a21db7cc48d82ff9b139550b9afcb6d0f5f5aab142887f7f1bb8c8508aa8ea902bd518354e02f557e8d768486f2705 SHA512 5648462262f63f0f71aa288e9283d2fb607ebff512e9f92368dbc07cec54d29daa201b2a5c29648fdf0f7f60605306cef5a1a5d501cd3585c2a66baf68dc2972
+DIST firefox-128.7.0esr-et.xpi 541123 BLAKE2B 582a9411e0ffdf3dc8e0330961f93f016a4a51d68c21d556c875e82dd46294d9f2bfc873decb26fbd6065176615657ea2117d9555640187933e4467619ac21d2 SHA512 0c78f511c9a919f078c7548fd6dac2955a9fd39107ce7c9824beb51a529c40b018bb015ede00e0627ed01f57fcd0fc17e23e87d0c248cdd25284679a00f395d0
+DIST firefox-128.7.0esr-eu.xpi 612333 BLAKE2B a0bd8dca7ec305e44d5069cdd53f5967a53e7ae89587916e3e11c06df242b44ca4c5ab3237d73c6354e94dcc471035d736790499f9527f6ec6c18b6574df3345 SHA512 f022b60feaf1875ed5ded956001c9c9b69dd1fccd452d3f8755d73d422a641539e34a97e8bd62e470a24bce075ef7e529f72125ad107def218c15a3eb2ff52ae
+DIST firefox-128.7.0esr-fa.xpi 593839 BLAKE2B 9750819f819ccc0db3f872c7ff5438fcd1d2edb98ec1cd6d93fcdcb31327d0ce9e493302a8c5b77eb14600731e5539b81816fdf95b35f5228fc5b16db6d4dea6 SHA512 e271e3f84bd19ce671cd676864bf521bab9655aaf5b5377ec3c53c6667ad36e15465fd17b7725883d2360d85047c183633a8582b39f51ead3824970576aac71b
+DIST firefox-128.7.0esr-ff.xpi 477474 BLAKE2B 66398649808ddc748feff2c31d7110aafeb0a13cbf012e75263ad126fd852d325288eeb6127d659af2e54b32a7484f795e0b92d3daa289d42f36e549a655aabf SHA512 5ce43cceb00fa1cee1fd77dd05894593092923aee63ccb6b3cbb04b674c13f5813549db6393f33f11a38985d829d3ece0b3481ad654420f0e33fdbf11b9a969d
+DIST firefox-128.7.0esr-fi.xpi 622991 BLAKE2B 10912886bf3baf02dee4ffc14de89e64245d6846bafdb5c6cdec099f4b95c4e21dd462e4af42bf38072349c9d4cbbb9bed5db8203f5910a1ef7612c0b7f9f300 SHA512 1f3759b7618167194910692bdb4a4721e56ff9b0689d321faffa9c8ce4bbfe03c2f3dbff2e738fe098c01f05ab5e74a2086cf531a3ed9779c04d9dda2489c21e
+DIST firefox-128.7.0esr-fr.xpi 655856 BLAKE2B 3454d2a9114c8e45bda9af1d9658ab0960c4538dc2ebbae0e28aa68dad1371d6af139d9c83e785155b3a812b0a2db898ec2b726439ce40e6a0fd42bea0461dbf SHA512 057b2b5a19ff9aa876f4399ff10bb4b170fa3c27d9015c094dddc1dbfb66ff7eb359e143c4bdee4e80caedaa29c0b913abfc1108cf0a21d38476a94383e6e0f7
+DIST firefox-128.7.0esr-fy-NL.xpi 640610 BLAKE2B 5262f46e3771d921dfb64cbee52a8e2aa346c94db891940d87941dca98b1d4e301f306afa03391fcc6546720d2c3d16ca5feaefc3b3329688a9d95d636486490 SHA512 7a8bc523ad28074792e28ca654b22954b905f148d2ba93423d2de52cf5e78380dcecb8622cbbd5cedabb9cbaf30d46d81f8420f4a397917e20cfe99c51d740d9
+DIST firefox-128.7.0esr-ga-IE.xpi 472340 BLAKE2B fd89516f031ecb68b1534e31aa68c5e6f746276096003d77ccfcb4173117fa7ce2ee1be5ffcaa1f5b87e8fd3968705feae7dc38a24fcd6afa3646167cc2c6e84 SHA512 a313b0275def574823739c81519b6148d622ac69c249a2df41a2ba5116f42e816707798825fafa25d089c3077c4bf9bc7cfb1c2bc1220d01c13445b2eafcabf5
+DIST firefox-128.7.0esr-gd.xpi 598315 BLAKE2B 4aa692e993bcfeccf794d69fdcac60d1f35388994dd5fccd964d9eccee696b5a8711bb15dab753f87544dee9ce5e10425ed4edc3b57c7c72b3f21caa19b98131 SHA512 dd46afdbaddc04f8c2cfcc9b53f477275dbcd0d89433894924b49b89bde2d07b593e3b3a37a0cd939b17ab96166d9ff322d9fe9774ef60c1149bc05855aa50b0
+DIST firefox-128.7.0esr-gl.xpi 609630 BLAKE2B 124ea0a0765672a031042a4237eb601f6d252c6c8cf87fd4e5410626f7e68dd76fc4512c70d9f5369744536c9093c52fdea324a4296ead3105c95e9c336f0fd4 SHA512 a289a316228eeba2f536b0853c41e24c02a48acdf77c82f75be4952adac7a9b93ac47f40429c1e6c2da7b8da240dd3b43de1fe028747fdc3c2e942fe2d5d70aa
+DIST firefox-128.7.0esr-gn.xpi 652876 BLAKE2B a4db36dadd148715796e486f3042a55b8d98999e5b3749f39810bee568d0a98a8796ffc072c9c9242979ac36537e62caa2cbfe2ad3edb1eb44593820fc14a747 SHA512 9c8988e1b136ddb7ef5f86f495d10ab804eae80498e26e9a7745b485e204f1d5b8897a94142355a68b577174a4e7e2dda8c6e0a726b90ded00468ac32f05f8f5
+DIST firefox-128.7.0esr-gu-IN.xpi 528791 BLAKE2B 95868d0d7e297751bdccfa2355626d461db15d77e4eb7194531668d29f7ca49aaa61742bb4da9bcb942762f25c61eec315d3fb618e525165229e386f23f8c0f0 SHA512 6580a50e9e22122a6b400e1b258937c7adf5c247a27cb20eebf0f5536d69fad9e15f428d2735d5f2f8dfd267e2b05136aa7e008769f032ab4f685167a5954d3b
+DIST firefox-128.7.0esr-he.xpi 647295 BLAKE2B 9ce86e695e77b7f969d5838b51ac8dd16b0481a90c85eb1360405ba2ef84b03351d23eb0d7d50b8417c727f71e366cdb341ca2f9f7a2d104ae22317f754e7ab6 SHA512 c5d4d9f5ef1ab78b2cfa0ba0438bd59a8d2db9d1c1d6d93f8b049409d868aeca78df41b21b1fc77a2064890910a5b1520c07514885daa73d889b44cac6e2e968
+DIST firefox-128.7.0esr-hi-IN.xpi 568352 BLAKE2B 8ec3f01b955928e5146c6f50a3b750615501ec2f83a437b6de77029c77991dd6f6c1091b4970de8c60e615d4296f0cb892c424182093fb81add68da6ec24f3ec SHA512 51334f50656598a69cd873199612e2e693eb0288d3886d00f14c2edb911f271db75887499aa2cda406980180fe16d241ac1c4757362ef28616f768e40c016a80
+DIST firefox-128.7.0esr-hr.xpi 619164 BLAKE2B 39dbc0cc488b81d1d410fd8a933452322fde38a616a939a731e5d8a10b6d6df98044a6da88f43fecd244865234f9e195089bc37709de646519fa8b15daa7b027 SHA512 d9c57531683612ddccf934edfa76e7aafa6de5ebfba159b6293a23c55d6d1a943f13d03f405582fb88e1b1a41ee2526ef39eace8cebe0d24a204b837ce574986
+DIST firefox-128.7.0esr-hsb.xpi 663542 BLAKE2B 88afd15084f8ea35a3897bcf9e8280d75788b09240aca1d81848ca95a72702751204fd4b32ae301a891dd489bcfd11c353de992633592ba5eb3ccafed1c91276 SHA512 fb03efc01d7ed389399d94d57493dff5fce8d9e3bd5b8f71ed79c991954ae6d553d5a56e6fa9abf105f6c3413fc80c53c97b310a9846c30df789ea83f08ecbbf
+DIST firefox-128.7.0esr-hu.xpi 667800 BLAKE2B 9d030ca60ad9225d4a21ca81dd3ba8a0fbd4cdcb717e11e76465c5fc58d268226e6a3bdf2fcadbe86e02188744a567107bcacaa2d78349b65f69bb7829880221 SHA512 d3903de671f16660928c7c1a39dfeb1b78e39cf2fbfceee68b322eab47df9e4e9ddb4d1a86f35588c375f5e34a82c2c2621da3d5ad7d5eafd09784e6bc09e0af
+DIST firefox-128.7.0esr-hy-AM.xpi 653033 BLAKE2B 9b290ba98e839690825ef1537304394dcd53fabfe696eda264d8b35ca19a1b6043cdf26c3f1020ba3a712f3674a4039a301670fbec2d1b30fcc866615e546550 SHA512 6b5d7e05eb402bbc619e8dd0a963c3669ed1cb771d8f5eb89932e9d32c811b00f931b44f2dbdca9555ac287add8e30da1d5d44babadb1e2f752e7c1d75a4c9c5
+DIST firefox-128.7.0esr-ia.xpi 627664 BLAKE2B e6c6d40f1f7c43eb18656a1bf4e8ae9b5a9948208641d4c7b3feb8c84f78ec516c815bcd540b10e910a8c8a343d651a07c0ff491b5631837d5b99f4b6ca50dd6 SHA512 87c9d8f3e0839bcd0ab58abe329a65718be7fd07a38c1bcd3a9b4f0775431f14efef9d95e5165bd09718cc3591c29149426016ff6d1e5a45624d283dbabb40ac
+DIST firefox-128.7.0esr-id.xpi 587626 BLAKE2B 7881f0f950fe4109cc87b440771eaeb729ed246a52fb1a3a30ff5d09dd9c6417c8c6b4f2e886e570f08345e31113fbc3f3b71d5c21c061f07d5b15411ee829a2 SHA512 0cba7c09a86a146255c2e749d47fa37f23b7f20e01d74e7433aa5f29deafba0cac5bff3ab217a90648bfb52036b716babc7a1fed794357b4f8ee96dbf2d083a1
+DIST firefox-128.7.0esr-is.xpi 630678 BLAKE2B e9fa508910c260bbe3ba19880f26c101d31f03238b853974e9af255f028294e82289273537b55fc7e5c2cc37e966f92aec65243a5fd6040b00c532001c6807b0 SHA512 4a4671ef535faeba0dfba5afa1eef39d1803510ace737665f271f51cf7e6fdf3a1f7642f93f77dd5797c023bfa1392662de1495596f72d6a7b533285b4ffff2f
+DIST firefox-128.7.0esr-it.xpi 584344 BLAKE2B 0e2f576cc9d5b7c1c6227d87cb97fccf4e4ca7da88ca65dbdef7920c7a043bda578d6db78fd712c726d674fac44f24ccf9e552c193dcb4345629a74a68e57ff3 SHA512 4a75a3d263214d11d00e39700ef311378b10950256b34590fb4c00391e378610a71bbd49f41320633c4656d607aac984e242c96d2dd8ca22f3925b5b3f4eeb60
+DIST firefox-128.7.0esr-ja.xpi 691952 BLAKE2B 9d9b914fb4d174dff9e01a2a27da7ae69be4b1927d53df84ffb2d2145c54dd867d7f239f27f82974e004d9e2c6083d84b6b0a45db72f825427125d57cc3f2e2e SHA512 8d5c5de551f79396886e33b1199fdc6bac5b0969b3c9a1f84b8239b9b62e954fdde34b6e069d118fad5ca1cfe1568bc36441ec24ab6739991c898372a65f88ac
+DIST firefox-128.7.0esr-ka.xpi 662317 BLAKE2B cd1be8ff1ac777b96732582b0900a067d9a3f61c0ca476e00c095c11655d399c5189186aa5bebff4132a7d20f664b178951bb5c40df3728a0d5cfce82c73278b SHA512 a330c2858a8b2087fc166d7d08a89dd246778ae23700a1a2ee241f1d9835b60f1588f052a05bcf15fc2cdf1ce89f11dc43f595b61468a819bfcfa4069df644b1
+DIST firefox-128.7.0esr-kab.xpi 619284 BLAKE2B 996765046e2e0fcc9288781701da47af7a44ca03bb1bdf2279f7e796202112bbf9aff9d969d9ccc2048e26271a67d0cc28f787967335c7f7338427848c5febb3 SHA512 d84ba6dd112bba69534ae93819b12ef63e59f31ff8ff2a731627da81ac10d9eb62835ab583bdcaa0764191b07d66c8fe42a7fd5886b3bc9e83d514d431d00a75
+DIST firefox-128.7.0esr-kk.xpi 727325 BLAKE2B 2643479c1f79870a5a9ca255b42530de886ea3497d321d2976894aee62f853da66fb4982c66683542593e80e07f5308bd309405cae3deceac2b6177c1de6d6a5 SHA512 34908a6925293e0b488af13b3155a5cdd50492e8bd89e67f911fc7bae9c401234732860b331861ecfaf161e30a4aa3ddec7f62dd87fc6d20694e089ba6f5c23c
+DIST firefox-128.7.0esr-km.xpi 527178 BLAKE2B 3c6597c835b2ea286ae025ebd72746433ec84d6c19cea3eb9b0a365da32bd64191a65d2124f031dc4505d008eccf5c0733432d4e92c569c40fc2216cd4367746 SHA512 53d4e90429a8d318bbb2c720fff0e1d49a426521ebdba3dad2a1e4f9f6f2b917293595a4e9b912b96cc3b06d07a650b74cb78c4193bc20e7c121ac38ae640a0a
+DIST firefox-128.7.0esr-kn.xpi 492548 BLAKE2B b6c0af5c1059376f526cc945e8e1a4f20f672055ed964c632ef46e24a82e4af8a58040a20ede07dce05d073730f79dcad51ee7bd9979c951527bc31f70e3ceff SHA512 0ef3b15d5101155b904513ebd64a8941be2ea282462252db8ac73e957fba005779cea4ebc047a20c22000b5b304c5ed06f2671363b99fcb877b41189572aca8f
+DIST firefox-128.7.0esr-ko.xpi 679384 BLAKE2B 948b547b92e165ea2bff6ad817243766bea8bb09d558fbba193c9bd5c484c4d610d9fdfe79fa2edf731f3a6b795ea4f4514807a469ed21b1536babeeeb2f71f8 SHA512 09ac3c0db7802207d8a22b93581a170c361e2b706410c205e7f479924426ec704328f9daa82417d9ecaf4a4a08217b045122bf6490d97e6ba1dc9e4cd9f80b53
+DIST firefox-128.7.0esr-lij.xpi 485540 BLAKE2B 60ad3114e58b01334b7d2b3ea3b92cf6fbb0d2581e413787b1a8f71da3ccfd26d1f1c55b7e48871b8ed78b8fd823e19544c205c38aa2869e5cd756074d21f863 SHA512 a5706941340de16a7d691e92255d2a01faa8d2bdf089647450dbe16e8405cb0787e1b15d5f2daf58212f9a23389a9693d997187f234e66bea4c97fec01f3b934
+DIST firefox-128.7.0esr-lt.xpi 574118 BLAKE2B 9711278e06f0e560fc94cf7eca2f9e488ab41bcdeaca5848b0b3198529c13172849b69269e51eae52bdf75ab744e278bf980142d6dab0c6a0b7747bbc4d4276a SHA512 1f05ffa418eace17236c0eb16e60e85017d913cb89b247125692bb230b98df5d0aa0c91da2023ac3f65cb2d07a8ccc079c7906115505cdffaa26755c28bcfcd4
+DIST firefox-128.7.0esr-lv.xpi 587212 BLAKE2B c2681b7304ab4343f7d35d6a2b148d56b294530088545034dc73e6c677696293b64a11b14b72b58a24610c19ed464ff5170f6a37caaa9603b39f9921b894b819 SHA512 65e6c6ad4d72646a3ace4593ac9760019ee5da05a5a11f1591fab321413be64d67ffbd4f40724a16499a9178a109864a407818db2b8bf25489fa114580b61868
+DIST firefox-128.7.0esr-mk.xpi 495164 BLAKE2B 268a89c36e1f56cc33a4a82a1ee30361c05353607cde0bfd5007b16d7a6391203cd731e78dc909d3a90727ac59d209c85e5c6567e33810bf632889026d7de270 SHA512 351264d6e2359e8e219f0d6897cf4c3ba0626d41aaf44ce6570e820815fd77fd42e31859cacb1d87781b6298f3f421c2e00f76f8e954a46db1147ef8c855bae2
+DIST firefox-128.7.0esr-mr.xpi 533536 BLAKE2B 8e3fefda058d6a94ba5e38285028f4a605efa6438a226c0c53e67bcf8941692df5f3f60449956b2445d3ff24484077d1bc1faefd5ba24c7462c46c79e044bc3d SHA512 b429cc0199bf8e74378cfec1f2b778b4afc2020bbd69ddd159028cf3ef2441a73f800ef60fdd55b537f766f6cf5c026b8b30c5925795424cf1f704eb7634740c
+DIST firefox-128.7.0esr-ms.xpi 451145 BLAKE2B 124f5991d2dd7160de00a1f3eea26989fd5965643b6f9f5dcc7aaa4fac4eca049b1964b14888fe41008dd2408164ec5be9de94b7e27bb4a76f7ae3d48ad80342 SHA512 93a1d4f60d388f50e5a10c60d41539a8ca3064a28a06380b50544e9b09877d711288b7ae4fe84d9ca5119d699b4c628fec7bfc16b30466d23678258c46a5f3bd
+DIST firefox-128.7.0esr-my.xpi 519907 BLAKE2B cd2c32a1a07f3a5f2d98bef5ce3cddfccba1f9788a94b89dc350f2c802f1f80230a765c4cd7f7e63cbae864990ab775a32dd13d3267da166a56db92d0fca7bb8 SHA512 44f22affc656e750f8e5788ddf0fa544f6736d46460fe89ca189207d0c1e92b71e3bbf6136a4f8e4022b22f0dad5e003569543b72218c6a7e8f28dba9b8a60a6
+DIST firefox-128.7.0esr-nb-NO.xpi 620016 BLAKE2B e38751f0c073f0cadec543fbe3872b97233edaad0932dde584d3828a4203bd472c822dfe741fc3b53fe2e44fd608a87fa9fc2ac9ff137fbb40c69108a0860116 SHA512 62b8b7dd394635a376ea893b6443f6d809b54efbafb6cd34f60ec14fd665f7b5595bc3b793aa24d682e4d50850ee5ca8ce34f744070cd7d451bb7c6198a29ddb
+DIST firefox-128.7.0esr-ne-NP.xpi 522150 BLAKE2B eaaa681fd5bff9be32fcf7849dccbfaa4013b11128e1ddd9bdabddd510a819521eee51a188e86b938e6e0a45f0bece4f4313ee014f5ba0e79c544e57a5370f37 SHA512 15a3b568548bdb6e7a9c0077d25a26e26bc452c4da2f0b83e0f3b362d5680156f729324e51561dba8e088a5f32d9b7851e49b8226c8c91c20c6119e4c36dd8ba
+DIST firefox-128.7.0esr-nl.xpi 634319 BLAKE2B 3e2c93e9b88dd59f899a3cbb5e2043ad8d81626b491eb0c13482320ec15106bc3fdb6489b6dad917cb54835cdce2ebce698f66dafc04daaaded82633fcd0762d SHA512 3a5ca8ed7a390f8fa1ff1428e464ad0117412ac545f83654fbe5db676560907f960464d5172755449ed3dfd18a18fed41dfef72b49bb503bb5391f040f449d79
+DIST firefox-128.7.0esr-nn-NO.xpi 622824 BLAKE2B 0ff6b48abc184e6caa2e851ba759d1d15c43c8b0e64ad1a88a62c3f35e1793fb0c687ad52e08a37155d4cf285a5aafa70ee3f3d5cb0baaa69ed71345361fcdec SHA512 dfbdbb24b235e6f83b95e57d363b35ef06922000aba4c8f9f92fbca00328dc4bb07d9519e230fefae658ecd890a60d9959834988309c36486dee90a4c4144fb1
+DIST firefox-128.7.0esr-oc.xpi 615788 BLAKE2B 67e41d5fe310bb5f4c532a228d98cf3d9762213b3794709e1b01422c62b56e97e6b57954069971af11dcb9f88f9aa09da6bb2bfe5492e033e853ccdd8bc6194a SHA512 89b6d950044423ce10b76d21c56955eb10139fc03e7f0c8d9b7e5b5ceb5ae563b6a11e9a95d839ceb87c0f294ca8bdc97b3a24a6ca863b7fba5e1265bb412fc5
+DIST firefox-128.7.0esr-pa-IN.xpi 711068 BLAKE2B c213219faac28be54a1fbd211c4e3feeffad79b7752746d19d027d9418b79cac0c72c932141b73cbb113f9b162edca8ac312490b10fe7bbfbba141818f6d33de SHA512 00c077a2053e9402eb94102c1d51d19a3b5201875932ecaf1c97705f8656b3adb25476d6b60980e06552005165110315c5a99399d42247aa86366cdb049c10b4
+DIST firefox-128.7.0esr-pl.xpi 648791 BLAKE2B 7c917f35ee5b001bec2dc05b0669f54608a5bfa0e162edfaf7d865543096d60e194b7b9706ea8d81a0b43b1ef51e34a71166cbb55c2602fe4d6e9812bca21aa9 SHA512 282fb1cb78614289f922992a92895d2f87239062d26ccd4fde8857abb26736339f45306506e22547a8a10ac3197e9f8138444c77ea82ecf9db3a42053df60df1
+DIST firefox-128.7.0esr-pt-BR.xpi 638904 BLAKE2B dcaf73f669ff48050c53960a8bf5c31bb35e31a6958854aad41a1f958867d190a482ac00a7ceeb84df51236df6bcf4f2f3fcc2d1db15a644a79ab1902b69907b SHA512 d96966539ac61aaf47f6d0bf7b6f39682dc0c4cbda3320799fa67d17fe933625eef7c6ef2cb2bc3c53e2fe6a358a20928019a638473dc59be56b8886682a6be0
+DIST firefox-128.7.0esr-pt-PT.xpi 642502 BLAKE2B 945bec76ad9a18010ffd6c1d525754420d88252193e7e982605d6af73259f528b5d01695c59981d908a1c57067266dd6a1556cc57fe822f64f547a86cbd0d41e SHA512 9857306f575d00f560740083a045b3db7a36be8f694b4c40e66fafedffedd2d091b24c3e93953d88568f75f701427b427431cdd573aacf4fe83cbe967410a4b0
+DIST firefox-128.7.0esr-rm.xpi 631436 BLAKE2B 4c8d165dcffd1a72c0853727ebe32bda6619e5a8c4e57d64cb4947efa374fbb51759cbde8710f20badb7018c21b6e777d983b81d5f8983e6311512d702723b4c SHA512 b20b2e7c444045f3e3faf21384d96273e32fcb4f3bd6b2082ba91fa4ea611db25311d887af29cd7cf957dd73c096c6c33c5a2bf74f6b52bafd914b5c161e73b1
+DIST firefox-128.7.0esr-ro.xpi 551219 BLAKE2B a2b834fbf41e5298aacbef031038848bb6c1e1ce53db7f310258f2ccb64334bbdfceae9683d4a3586a6bcb24b56b124eb1460410f29cff4ee30180e2bd77a65f SHA512 12e616de8eca4205b74f31d249f754f72a07d3cd402c13e500239879f1230eb475216b070f0d76864c426279b085c86b20531212550b6985926a042659485e60
+DIST firefox-128.7.0esr-ru.xpi 740411 BLAKE2B 05d00c4d9d3d96714294a21ef0ecceab3294defe56f1b52dc0d0bae8d7c6477cb9ac2aab7e1cf1523773ed72a4ed553093b87c8b70b180394e813fd75e67a9c1 SHA512 9038136cde24e027f20146cdd1ca6a447b244b47477bb2e3f86e21d9250126f8c66809b267c662902d6cc0f27000b61f01d46f2f14948e8072bd8f1bd69a8b6a
+DIST firefox-128.7.0esr-sco.xpi 512689 BLAKE2B 08574018942cbda4bb29f65976c0abceeb0f42795894f74a0f8c8d983a853f641092d3c82cd5e696274b768e82d5d41b58887308ea46241a97ec47b5feb06a4e SHA512 247348eede7945534df99e2ab0db1c139c82326215e30270f187ae83cc0275433434288578347b14e94b48c6891ee0c671061806bf2fcfa5e3a4e8da3109864c
+DIST firefox-128.7.0esr-si.xpi 621560 BLAKE2B b389c17829334ba6690c99fc1fa3958018a4a34755aea8fc7b4b6421039d70eb5b9bf2d87ec992e1aa184ce00d3b72781cf7a693f76bf9e8e378e0dd3a56c6b9 SHA512 390b59b7454d6b47eb484dfe94d8d891c17e482c88d21db60ad77e74ab229b9a6c0feb7a1d757ae6aefa52973521578d5f6a11d354301851ba57a0958ccad7d1
+DIST firefox-128.7.0esr-sk.xpi 670797 BLAKE2B e116ce5e829e9c913fda86447dc7ec2809cae1b87d9f78de84c3ce3e2bc13a7d5d0bca871ebb45d9b43627a21c2984fdb3d608e269e25c948d94a75b6bbdb2a7 SHA512 d5c1870dec6beead2fac388dff8435df3d82cf971d41e980d05e6d3ac114e5a33a944b38369a8596c3ec79f92e1b880d8cb294c046183c3fc111c308a89c1933
+DIST firefox-128.7.0esr-skr.xpi 722718 BLAKE2B 99a2e8c28f611ad00fd432da3a26d1fcf05a85583b99be6164a2e6c35838a7ca16919fe5e6c9fe00631e1f4ce9b7e95f29687fc007206011613098b12a94ea03 SHA512 daf4c7b29876b01649126425680895625455e604da0a0558d5ee73725e21d7ed4432ba514077b889b6530727ce63479e0f6beda9e5680498d394d4b33846d541
+DIST firefox-128.7.0esr-sl.xpi 633851 BLAKE2B 0a3272001301f713bf9ed00719fe70f5ecfafcb52f7a6f831e0586b4ff68e0ed1def6c3b67aeab2850d3a5f2317547ec5da9ef6de5fe3df62b583d747dae7507 SHA512 2776585628cb1dabf862af5bd7c3bdf73af17cd02dc9b6196c25c3bc00faf6ce46712921aca5af128a6452398c651e87579608bd837f7e7b9d058d2bc5eefe68
+DIST firefox-128.7.0esr-son.xpi 417712 BLAKE2B 8cf6bae8eff9f4b946e9a7501655b815336139694b9f38e7dcce74b9328988dfe70c1cfe33f7c36ff9db21e892aa8d8a58880136ec3bdcc055fb3a30ac1b9f5c SHA512 2a6372a4dbbc8d016095bab8dc10134355924df1b4359ce3369687829340448e749664cef778564bbf9983ba4f7203202c073c88fa4aeb77443efc7acdd9e1af
+DIST firefox-128.7.0esr-sq.xpi 652190 BLAKE2B 9d366dd4d20b279a26d941de02ef7d899da591ab15e6f9dc5cf765f44de9f93cabba972b28309821c2a9f5ab280de9403142c885483613d3c90c01cc3cb38742 SHA512 e029bd46301ca976d05bae682582a08e27a7011ef56332ec8a0c3837ff38ca85c28ebcd56399cd2e277e963eb5a1a5a6a0b82c2e0599a741a1635a0ef3ce41e7
+DIST firefox-128.7.0esr-sr.xpi 640904 BLAKE2B 6300348ca3da0c2b7d0cddaad074a59e7235e1641082506efcdbf7008d34a44599510b72d80fe5e4184b2e7e63ba5edcf4a98552a782692d6e7fd93e2099e151 SHA512 8e0ea23425f43d0bf59205343843f5897d5bbfb4932cde90b7672c5dd7c569b0d1edf2af3d896815739e8d02e5c8915c30fc52db0687f0edf71047ba92fd80b6
+DIST firefox-128.7.0esr-sv-SE.xpi 635651 BLAKE2B cc106559218e46ea06d5e340ad78a80fb1d0074d9e6276d243e59210d94ea76556b8e4fb86af1888c907431ac01e03de69cf599d274d678071e83a0e6fb515e4 SHA512 51bb6328afc91a3ee4df5438e99ffa869058c21af724267087b0681eb305e8f35bcdb923cc5d9bc3032abba6a98f9380e71f9a723a1076a8b8f855f124770aeb
+DIST firefox-128.7.0esr-ta.xpi 508804 BLAKE2B 074faf25b48574c392f5c0284389818c195f54044ad3f0b622bae99acbd9760dacd1252528c08ca18103348a95a23dfc5f725415e498c8f000148c64da4d0560 SHA512 c3e307a704ef9466aa22dfafb39769fd013487c24b489b29ba5fc4316c130e3194527bfe1ed79813e4943a8be7942059895b9ce07c8f26e5ab47f8c9aa79910c
+DIST firefox-128.7.0esr-te.xpi 565170 BLAKE2B a23016f2268708443f541cee6fde09ae715d95c164224a5908902bc6408ae8f5168f7e2cd536b5c4d2edef6fafb64b803f68c38314a8f817c20af0575af8955e SHA512 5a78c2f212e33ab8879e16291ef6c4ed4a2024d6984c04ae46f35777f0c7760ce5f12079f783fb16d3619d43874b4bb7fe84d2cc0df46ab557a9a4cc7f0d7a9d
+DIST firefox-128.7.0esr-th.xpi 711787 BLAKE2B af023c3fe7f90b625eb3c7cd20c82c90da2154789b464ee2c472430b4846cf02f5ad86ef9fd3b78da6a7473554351ef43963727c1a77ff8e51b4d9714c9502e5 SHA512 129798e28f5927afa37fbac3a2c7fb1ecf819baeb3f0bc769629c9f330c247b99d8224cfe52111d40177f909f8c924c3e72b476484cbaa07c0675c91968066ce
+DIST firefox-128.7.0esr-tl.xpi 535613 BLAKE2B cb44f58c7d64ef26547d90b33286d03e9bac330046a782ffb79b6156b044362adbe663339e4d5942b469216a27a97abd17e928c2599c40595bd7f2572aa9ef0c SHA512 859c7f00780631db0bbea50fbc1957ae8047f8e65b4dcea35b0c29a33d96a6163aebf1edbc0f589d68e33afbe60601feedb28d746b2590c555ce636634d120fb
+DIST firefox-128.7.0esr-tr.xpi 649208 BLAKE2B 684163a4797dc431db6a5979f048e146ccb0fa11b5011b71f66e9698748a572ac6663207e6ac27d2268297e095ec18bea16f4617af72e132779fbf1a807cafb9 SHA512 8360ee4ec520d0fef0d19701517a446ed3bfda48c5e76615677f3ef3e21ff176d4384f6afc727c73e5958781b575d04cd6f2e919910df784c4e5a5c97b6431c4
+DIST firefox-128.7.0esr-trs.xpi 505791 BLAKE2B 6212157a0801f4ba66aaa6517c7d971499bc5e8505d59b1d7f3c17eaba5eb96f861edeeb570916b719bd14a1697138bcbdc13f2ebfeb42ca2c1dbf9f0618f73c SHA512 33ae70d2f59b14022fd640abd3cc5d66f0584332eebf9cec783026b646d12d597c9e5940e65cd7a062a4c2bf754aa91846bbf56130669d190e729526c90fdaeb
+DIST firefox-128.7.0esr-uk.xpi 731686 BLAKE2B 99220a16fdd4f9146ffc950347ed782f1ffaa9a3a58f96cc02f19b6c1eea5ca96b9914b538716d7948d65b81b72235cc4737acb3edec9bfd925a5bc9b0b9e171 SHA512 b60f5e0bd0f14fd050c1f0382f8609184083647cb81f28d5691dfbde941153a0df2bf8f6dc75ae26fa1e7ac342c0faa8ec441210be112cc4a513b7b19b89eb5f
+DIST firefox-128.7.0esr-ur.xpi 561779 BLAKE2B ed14106cf11a82a74f4842b44b2d6a0075178b7a2dcfab48e0eb6a348646857893c2020697fcfc2ff7e2b7cd33dc68fd6e5f24cb1e6bd4a5d7b61b7a9714578d SHA512 f68bfd0fbddc0dbb12ddf9d29cd4b5baf8d795040d5059516740e3df09b7e791ff51882d21f8ef8d746cd12bf52c2b34a830a647a0b1f231a00fe5b63772e4d3
+DIST firefox-128.7.0esr-uz.xpi 480212 BLAKE2B 2530f502082bdc1ea377b821a7fd220557077b80bf476548790cc2561530b586a014b71a52558fdc4aa9868a51a995f208efed8a48834023e09064139ea54d3f SHA512 df42eed1bfe2821aaeabe02324454ff76641c674c48d3f14f681ed8c36eff4967b13002e41bfa8aeb34fbe7e57ee2e3e9a8027b2d3d009fb6e5b751f535fcb4b
+DIST firefox-128.7.0esr-vi.xpi 673226 BLAKE2B 31ffe88a73ed83975a81e541531c4a985c25754d0b055363920ed4287816a0a11cbdb88055613bd1087d96543444c98bee6c74c72ac4335f332f97607a43f0d0 SHA512 99cae768c73f615683b41e581cafab1a5164c366f7a7d8020103878eae014fa214cb2f85705b15c1656031314031f45f36b273326ea7291abe8866c0aae9b243
+DIST firefox-128.7.0esr-xh.xpi 418474 BLAKE2B b44cefd8149e389013cf36495c62be4726ba97e85278321c9853156f85084a9470346c0f88a446f6ae6327cbacf04bb4c8456da3c76c84f9c3b03cf608e7a28a SHA512 2e3910f114fc2e3d7d7f8fb8a0ffafe7f2528a5b8ee9689ca8c9fe5eb93d401a9b35bf06eac8f89a47fa45eb3108fbf769309108dbc46f394a2b2c65be5eae43
+DIST firefox-128.7.0esr-zh-CN.xpi 675201 BLAKE2B e07f861f85c0abce293798029206ac795755eff1647bf1842eeb2f7169217303041d2506498dec27e5e0c679534bfc8450477a169c16ed8744b7b8dcde04a3fa SHA512 9ebeae24f93cc2bcb49b8c482ff474ebe3357286d2fd35864e4a1e156d1cea5933fc776e18b75fc686ec84f91e355e49a8ad9e5f9bf044b8ca3a7d0bbe2bc0cc
+DIST firefox-128.7.0esr-zh-TW.xpi 677437 BLAKE2B f2587278e02f26340261501b694c372fa7164b2113572176305263c10479466fb481e3bc5d857bfd068caffc5c7efdc9c6a77506eb955b035b0c707fbfc3af39 SHA512 d6b2df29a1bc98e49a96953c315f3aeb4fbea66fc9691d37085d0946c3710f6f0174927fe7103009343cc038f4eedbadacd592a4eda24b1d3f7f395474853c7c
DIST firefox-133.0.3-ach.xpi 468546 BLAKE2B 6da604850f3d69b4eb65a42e3d7c48a9d88803f91dd95b5fde30801a2041ca2cf0f11083fc565f21ed30c6588471bbdd8019f6d4cff8734b67ea105d2cfaef2f SHA512 8ee31a3c51ed6d2d1fdfbf98750ab54e0c2ddd96cb836a2ae310dce095f0b29bafb731329af845208c9b04fcacdcfb2fc92405a01394200e41453d4b1bb1759e
DIST firefox-133.0.3-af.xpi 421558 BLAKE2B 0a9adf8f87950c28cd7cc56ab75a391d2795cdcb60b6d9f7680a7456cd0886e169376ff18dd0e0fbb3ed702ea333c8668c2bf3a635ff6e54f2913a93fe668b5c SHA512 2196953781da16c7e01128ffc89325c1f13d55f6d9528f0dac0671954fb7a0f7da3f55a31e821efefeefea65d32339945ff988b90febc91a4750779f21b919b0
DIST firefox-133.0.3-an.xpi 511311 BLAKE2B ae9c162cca93513a10ef31e1e43421b7a1caec7928cf63a658f95e34aac9f1c81c58d314f8cd8bee54fe2f6f91bd418c63dcc2758a6ceb92a31dc0e2d9594b83 SHA512 372ef860f44df17c7e2f1a8a53504b11156a19238b350bf189ad5c7d647ebd1a3e1235993ea989569610e5606644f5c2d768535b0e82c9ac9cd8b9d14eb2242c
@@ -489,19 +586,222 @@ DIST firefox-134.0.1-vi.xpi 683427 BLAKE2B 0b9926c6ea07a0f43ead4201d4d639358f37c
DIST firefox-134.0.1-xh.xpi 421000 BLAKE2B e294f811b4631e5f82a4cb5bd78b6975a57aca1e4d81ceab9847579823f6f38652551bd8df931f9798a5afc23ea6e70cd9a5e6b64f18deb797b1eb4b4012d15e SHA512 cd46448d84f973d38887d19d57a34e9bb049ba4f550d8acc901c67a0825460fd8970df1e2a88560f633234919840e77aeb29d39561a51da026484b783d2543a1
DIST firefox-134.0.1-zh-CN.xpi 684489 BLAKE2B 2113c7de306fce3c07f98a2301bb9a86e4a9ff0b5dc4af4f1a99b08b787f71a99aca078fc0d7eb1cd86cdf04d46ae5b42f7fb0018bbada84e6e6ad9115de9e0f SHA512 beeea5e91bb502bd560b8100033dc922b51f2e06da01754845ffdc58c08b62154f3ccbaf6b71a4b12da8bb30da5ec2a63b7019c1665a881757fca7f6f8a8f2cc
DIST firefox-134.0.1-zh-TW.xpi 686744 BLAKE2B 77b3cc5fa4e33e2ff940599082bb741bbd0dd3d5f75ce1f9c3f77c8440ee6b7eaca575883215756a5c40290bf706b4580f9a7b4a9d03277098e86105424d3020 SHA512 fe9393f2b5ed97c24efb82181df81d971238440bc41f6f716f66a3359dc9d8b583a81af8c69b504cdf2ae99fa69bff53f8240293c126eb2b06130e3ce031dc76
+DIST firefox-134.0.2-ach.xpi 468183 BLAKE2B 91455b0dea7133afa08a028baf85c7af1152c668ec18d021c2c4b52cdd022a783fe6ff957cd0a0d465c68f2404ff32e269988baa8730e9fa164b0bb3ac590ea5 SHA512 28620fa421c375ece3d4557f8cf6c6e03af641fa2e37672cdc243b40e773fc9204bd8d950dc7570006bf55d941c3d26cf57a170c79e3e4dd9c0768562af6e6ec
+DIST firefox-134.0.2-af.xpi 421167 BLAKE2B 08b0592f6787e4a24e96ae5c4bfbcbef2d9aeea236020133e975537bf62e3658114f83fff2a76fb6dae46e85f5f951bbbb64d22b9e967f755672015be36a143d SHA512 a1794da6b6e2f8db7092e6821bc943b103ba8dee951b9f3397592df72f24c923b9065013ad9a4daca4b85339cb32b3274f6b4d16d2e9c977c13fed9536563f52
+DIST firefox-134.0.2-an.xpi 510946 BLAKE2B 29ca8a6c28143f52f88430224b83042db01810839b662038807813d4c83b08b5e9fd5d89899ed09e0ea2c7ba5a6299fe4566e809451c0ad89fcfec1236323823 SHA512 db600a4c5f5535c88fece4a47a2b6e734b0b36fa575e09ee1dc5913462c56d88011c2a32cee6269ef2ebac0769f6f0af4807b7ca8cb86f1bf827ee40c8ec8aa7
+DIST firefox-134.0.2-ar.xpi 633887 BLAKE2B 45ff400fd076dd182de8320bac741bfaccec8f285734e5e9b74b045e3c5322e156096e1c4b290b204b22ba8c42507bd892637e3f5ac682d172982951b3fba33d SHA512 1f5217a22582ddc0de9b308a5202ed9501f0a46a16edbb7cac5dda5b3a7e30c2a89c6de6f526a2a5ffd90602d220df577e23d16fc91fae7d434651e9fabdd6b6
+DIST firefox-134.0.2-ast.xpi 500088 BLAKE2B 24a5e6a8d25ed3d6acd75bb4f42bd111b981e3bc053c36d204fe9346a4b726f264c6f2c6e60babf6f13b38b6b0ba854e4898ee4db7381a025553e2ccc3225bb9 SHA512 536a4cfb4125b03c4a78a1e131296f639b9eb1c5010b35f0f4bd83ecbca2777c732b6484f97a4204da404f3558f036453518996fa410b1093a8756f928fdc365
+DIST firefox-134.0.2-az.xpi 494909 BLAKE2B 1396f12aa5694db9259e2a336340bea9c6ce149388472941bf815341558cef15bb8c21e6238c6b8d9957a529e35337160e94a2d06dd99885d089346db48e5ba7 SHA512 d55196ce86cf7735e5c54006ac1bff60152aca55c99b67ac8778ab24db186eb6d7b7028967a643d264033e36b1cac25353869b41a9a114915014a04a856cf8e3
+DIST firefox-134.0.2-be.xpi 744293 BLAKE2B 9487c2484b456c2f654e3f663eec7da783b7a156553eba084f1df3acabbf58ed69677251d3f1dfe2cbe7b0bbac0144790035a6497fa47d8457b32e366c5e63b5 SHA512 eb9e39c7521668756a516570dc6eed4ec179473debcd48c5ed74d6a1ef03893b6f4086c1b2e1badaeb6ed477b61c2a9e5ff3a5022ed33120ec62f50cd8e37271
+DIST firefox-134.0.2-bg.xpi 670910 BLAKE2B 15cb1c571dd14259be536338fcab9e459f45bcc0c4af13a74453fd79b8450520afa895a1503e22665e357e43b0d61cf8f18bc464efcf4af0b3be0916718d9b2a SHA512 1fac3d9fdc25cf206ee4bcb0da63190d90f755f49f17544dfee7eb312ea53f1c397e35d71d365931e5db407806cee6260da57fe31251980cdafbca633878eecb
+DIST firefox-134.0.2-bn.xpi 615526 BLAKE2B c1c21e1f36a807a566f83176421fb48fd55eb0936ae8d71150c5e29c76e09ba3f91d46ae416754ab7b289f9c06be7a69f348061370ed8e9bab96d71fd32bc7ca SHA512 3d766eee4762e1a8c820406f361c8a71278f84f602df323bf24d3904a72a39a66fd220f265e14844ebf255a20dc2cd7d932f38ff653d688745e09c7217914492
+DIST firefox-134.0.2-br.xpi 598071 BLAKE2B 341ced2776436334b5ef85427f138a78378c0f21c6f82c094bbc05af41d40d6bdf934fa5814e5443464d3e7fd86347f594d96e60b4274a38c33868e5a0abf26f SHA512 e030429a56df0d4cb1cf939c07be904a4dad342c8ea725f09bdc46af79bad0d02f446717400551d332d1873a3b7a29d7468df829274109010192ed0da1dcc8a2
+DIST firefox-134.0.2-bs.xpi 557246 BLAKE2B 45aa9f9a02cba0001996fb24ca06f162f478aa25c76303f09cdb7b948dad7e5a0941ef7a1acafcd223c94b2879eaed62dbdc89204dc37954d987148a576e9e77 SHA512 d5756568967d997614bb282f16752a9e31d867b65d58b98e1bdb4e314f098f4b16b39c646d4776faa17ab558dab8ff6611a656faac622d6365686948e951a12b
+DIST firefox-134.0.2-ca-valencia.xpi 550244 BLAKE2B 22b43f335fb1e929013bd9526476b2e910547aa94f4405225ad3016e6e4bd214a5844bdb11b48d307575ba8a17f1878525c4fba871b9b16e77db0310962630c9 SHA512 ef1f4c5f179291872083730de90df2f1176bd29c8afb4e2d777c2a0049946f37a0319a58b5500dd0fd56f9a67deb49165a18f89c3ec61cad57634817e05eedb1
+DIST firefox-134.0.2-ca.xpi 607770 BLAKE2B f1c6051911fa9c84aace6d130d466e20488f34f962a1f0e2d9f05f6ee9890d5a4ab282c0de9500a013edc8a8cabf7873476fc387f76cb8e02b8cadb1102dcf65 SHA512 788b5d971cb7062c834898a1cb8b37908e84e30ca3917c526f978697721d1a0c889ee941332fc40a24aa34a59278e5db648e467662d440bb2514446533e948e0
+DIST firefox-134.0.2-cak.xpi 597772 BLAKE2B d8ea4ce4f08ba4e45ab38c7b872c490d7a1b85b4394abc3c8d3f72ab30a2e41cfe56836f5f2a2ef72349ccbb9140904b945ad725c7d655a032385435a7e81fe9 SHA512 75d3097873ff94553e4f0fa2e08c6de495b096a365be09d16c4d5dd28c8b0b6085bf72905faacb4ded3a72f473824a838e4f7466f8e1c6dbf2aa3cbf984f7c12
+DIST firefox-134.0.2-cs.xpi 688678 BLAKE2B 4613b877cfcd46c3956484fd231b56a0c23a816dff6ee0cd6e26de153b41381c3b0d950904da0910579dcdc0f073a3336f25de8a1d270336eba2448e5ea574e6 SHA512 82747ce8469b514aa367284e55fb79c022430276b394a56b76903b8784bd7c569093216cdf0ae922542aafb768048e7a5e165c45b21791f6bd8016d9ac90303f
+DIST firefox-134.0.2-cy.xpi 649384 BLAKE2B 6ef3a13bbc34ba3cbc7f8be369c3a414a80f8d19ab91958349c6820c15d00b9a8cc2acc0e79375025ac5705f45eb6ae6efac6cf93794adb148981a581a431ad2 SHA512 8fe21142730e5c321c741cb214e5814580a38ae8ac8bdd6d468f24e138950396df6238c5f087db7e8e2ae9dbd5e68454b3b206659edad50633098253b7e73c58
+DIST firefox-134.0.2-da.xpi 637279 BLAKE2B 7565d0cd6ede4bc1a236666f1dc44b6c2115e954167f9154b7ba85cfcd365cd5d147464e8f2120c39f5ead4bd774209fa8fd8514495d3054bbb95a2c20a27516 SHA512 f5d99d52b7febb34fe5cd7a7334044855f74ac8a919d8382e4abeccd7bd60113672be8b0bd47ab31c764f5092d31d66f566bb217ae1ed4b9e7bffde6e8fe6937
+DIST firefox-134.0.2-de.xpi 661274 BLAKE2B 121bbff7df561b7e404b86ab7a74cb2149d25059ad48249b24aa7272dcf0758817498229099d95eccd44e04fdae51aac4c48df670cce4311cf6872522c2c9bb6 SHA512 86cd284f5c648fccdfe28771c2a9b06ce879864052ae5953c0246c763bbc0e749fa79aa19c00ff4de28a946569c0a921ea8d4851bbf19e45ee5cc9150eac051a
+DIST firefox-134.0.2-dsb.xpi 678095 BLAKE2B 9119f2cce2193148d29063f9ac59e80d300270079c3ef28bfc7f7a578f3bc569c5fb0dd95223f9ca8288b22c0a4c8668bdec8b00887185a74e3538df3b53413a SHA512 199f80c42027ebf314180ee92c25f6bb4e6c8fb62287b7a67b41f15a9a1651bff680e35030a654a8c83c19c1cdd88724ea5e102b4d3066a7e236f2413467774c
+DIST firefox-134.0.2-el.xpi 760453 BLAKE2B 1f471a7e754b8fac4fc9aafdac2c0c58536e1822400b67952fe6c80ed5a4d8ea3c531fbce704a153ea7367e351010eabfd3150bd0874f9ece691fa535b90aebe SHA512 100e5e21cac15208e3c5ff76c3b0fff2dcbf33b2d0c643c0ffa7e5fae246a8a6212b92c33dc63325f0eab18e923511fdab662dfac744d1ed304bb338efd3f47b
+DIST firefox-134.0.2-en-CA.xpi 607988 BLAKE2B a38f9093d70522ce28e0080fcfdde6f201b259d833a3eaa86bc359b98c512ef150f4aa460c26e7dc66df215f50d1511ade196e8a9e5f82052e035499ed54f0d4 SHA512 4e68eabb1e3addbe3c709930723df8406a005ee96209078e2ab38d85db3e2237a760d5d88dbc76de7919f2acd323e548f62123bfaf4795256277e9959c2390cd
+DIST firefox-134.0.2-en-GB.xpi 609125 BLAKE2B 13baf2846643d2e1365d9a2111957300c8642c78a3675d59e29da50fbd6ffc7cf2cc0736f117896b9b9fa3e07e7d4f950df823b92dfcde6f11f5e11c62e30942 SHA512 04f9a3c61c87490dda717c80ae2c4b865064af9e8e0f6f72426ea2f47ef12f730097a48c5aee9d42c2ee0929e958a3eef84a11de6f7fdfa2b62e2b8cc9c990e4
+DIST firefox-134.0.2-eo.xpi 640107 BLAKE2B e0af3b4a51a1d6ff021b552ac337d965b9bb8bb9e4eacac75fc5894c9f685dd4780876332ef86f74ded4543676fbd472bd69b7716d026cae1687c0ee4f3dd39f SHA512 7bf6cd4c901a9db4c873d596f4518aba219c7e347ded0546cb1e508643f5e4b9d145fe43db2b2c3c18b21e57bb221b4b7ca2eb61252d06cbb9e1df5d71fccd8d
+DIST firefox-134.0.2-es-AR.xpi 654030 BLAKE2B 672ff2459977d08013fa39cf98588337078f58ea3ebba74a9cc13e25498aa31a061163e7a38423a8f3043e3b065b7c469d12ab5b6b96a5ce4ea6deb691432a46 SHA512 a68772f891a68ec7c683932859d1367ad96fbf167a6488629b93e42e861d6d4222ca9f723c9076481fc0765e50a1956c9128ad4b292fd736d95f24998edba8be
+DIST firefox-134.0.2-es-CL.xpi 653727 BLAKE2B aa596062cf6ebc7cbf7a0d5ebd077179ca0ace4873e277fae77528be48199d3aba4e5b87634b9c06c8168a0990973daf49b291cca71cf68dca338f032d522caa SHA512 9e68c4b40ee9080b6c86f214eca9da736a4e6f1860188944fb60d4d99f353e8a93b744b46973b0e80714d64bb629b2ddd34ea95d4e375a67d747b169a1992883
+DIST firefox-134.0.2-es-ES.xpi 648576 BLAKE2B 8f9d4384b42d10933d99b23eb3b0e9b1b3da622325f9fd11d61fe9b29225048797030f453289a4eeb89440a98d8b76baf57cedf7c6bf76ae16031b790c132b3d SHA512 80f54a6531522abe30da8e2a0d6fc01a70dd3d573b2bbc99d80c409e02ca52fd51f4feaf5df4b11548899b09ea26bf750bb22c74e8643cc4b38537bf8896dbc3
+DIST firefox-134.0.2-es-MX.xpi 657172 BLAKE2B 65d7318c90b5f3e2c4093ef1b2b1e06b308b005fcba9778474cf17bf3534cac0379d3eeb14d6f7608c35f99a30d21e3b244297b801e51d86a35ec954ebda2b51 SHA512 aa6c12525c7a2fa808ffc48203eced3ae17f4d9131f85b3bb1240d8ef6ed67cc05db091b7d0c896622a6b662adcc035d57515dca091f82072c0a615022e05a4b
+DIST firefox-134.0.2-et.xpi 546712 BLAKE2B 7f7d14c2a4f145684e43818c66836eefdad661bcb23e48e0415a46377bb8f320d832573fedb3b3e40d47489940d8eb5430a3999535afd3ae4c7f7c736c6ac205 SHA512 747b51562dd3de57ee5d0c115b244589c6eb300a69c74a6a5373f942a9e88f106abe87e79043922580b2523051233f52bb21536063255bd3f1217efd4d214244
+DIST firefox-134.0.2-eu.xpi 622846 BLAKE2B 5cc311e6e69ed1c618dea710dbf390e9be23a4b5108d9bc2167edf916e30637a6c236969c62f2fe7bfcd65ca8a8f12542e68fa79905e5d8ec6208b961f216b96 SHA512 d61649cacab14051df4bdb8c84a9c07d75534a1aefcbaeff42949cecddb3e936ac20ae87db924b3bb624ccef8cf09c58c4bde295bcbbcb5dc46387ee1090c592
+DIST firefox-134.0.2-fa.xpi 625173 BLAKE2B 8a83f91f813742b553aa2e0729f453e30a6ba63544a5a78cefce822b1d5b30bad27b0c97a4d16757f7d88b0554678f6a0e436826bd1fa0af275bd79070a07513 SHA512 4272de5ae5ab383412972cfce469b1149d28993e4e11d2637bb5dea281d70fe3b434f8565058c491cb069f185a94324e82e380d539a4443408332eeff23e0b99
+DIST firefox-134.0.2-ff.xpi 479990 BLAKE2B 7d9b9df4107b0060dbdddcb3862e34488b95a74a37f8ca89b8840f1a823b34a013c347c297e6941ce3e939a0706d4d92b78eebcb818facf69a11f9607ed4d0b5 SHA512 563a20402a591390a33b0f20da2752c1990f35e57a8d200bd188e877d99eec80f12febc2779ac26a72db639165500271463cd1755cb5dc97d0646785191fdb15
+DIST firefox-134.0.2-fi.xpi 634175 BLAKE2B 95b0932aefc452a2e9b29861ce6c738379ca248f5dc20a6ef17a42705637ce957011e9bc44b73ed1b9e0b17a137a06909299f5732e5e74856b0cc488b9508e23 SHA512 9ad86fa96130a0522c33b5bbe8f5a809dde0f2761c982ff14723abf10984707e707d9bd87f4e75efe4f8868412884f5537847fbc6c246b7309072089b415c143
+DIST firefox-134.0.2-fr.xpi 667545 BLAKE2B 76564df53bff5d1a01272bb460d6d91c79b5f78d9e6bca078e07955c4f4c0f116b4e7f8b7abad35f7ece426113c2ea60d223d831b2c397e7fa7b451f7378e4f8 SHA512 389b2b916d08358de46f9fbd60a2462c4d362a1a3db7af611ab16c596f9cc0b8bc52517b479cf78e42efe28c72768ae14d03296d964330679cd20aada0767b5f
+DIST firefox-134.0.2-fy-NL.xpi 649698 BLAKE2B faf13b822920f297bdab3fb722307a9e87d5f5682595fe467318305120d92ff22ca2a8e749a600a104cef8f3ff64315b1a6a5dd95866ee24bd5de0a912cb204e SHA512 11a028ab6dc5ebbf0c6ab9f52b75f2ca59cfcaa47a9a90ab77d228c0d838a5102ae1d994c45d10dd9785ca020a7308a645ae45f2c0dec1f3f7d049593421cf0a
+DIST firefox-134.0.2-ga-IE.xpi 474980 BLAKE2B 4e2f1835f9ce5136655f8e0ff1a7e598af38c08ae55ac1d2937517fce36040722daaa60c5de1894bc3d7cf8619b75948097d21859ee7eb09918dd9d6b5bc48b1 SHA512 dc76d77c1648a942c08dc9091c7b016e18b7a2c284a4f6bbf4e58651bb520c4de6319d61d0836b69a526b1e15478ad697da7d459e9eaf335d792794a2e59082d
+DIST firefox-134.0.2-gd.xpi 603300 BLAKE2B ee7f7ea015f6e08e0017fdd8cf8b2a15e1d12c894712c5fa06aba0305300863d1741e6443a48ffb9a69fc84bfb3745a55c62fa1a1564d8ecd41739b12d03b5a5 SHA512 d7612b7726ff3bd7cca2df22e38ece666b6d94a6b575c8f77dd098f067aff7d85f087c4428ea9ee79490eed5162cb7250ae2aa109e3b92aa9bd49574b98c7577
+DIST firefox-134.0.2-gl.xpi 614898 BLAKE2B 69322faa162013925e25e00d684252e8ea453ffb5dc99272e7971628ea5c06ff0d45f039251906ddedc25ebe10103e1294fb2d9feb4f4bfa4609b14872467a25 SHA512 f387aa44a401007b7fa3da1edf11b3ba42969d92ed1449928991f604a889bf8d952d9fb8dde823b1f4a7ca2ac23009554e5ff06ffd477a04a66daf6ec2586d97
+DIST firefox-134.0.2-gn.xpi 661083 BLAKE2B 7e5fed42738b3891ab58f658e9fb38c16428b4ca79e57e2e661c12ea60ae03f9b69e6861c7d25af82eb45f0083fe296515421379c7a44a8ef9e47661d684ff3c SHA512 9b1edcd8510acdc8cce031b3753f6ffd65dae202fff987e8a1955f1eaeac7c494c5870b24678e052d565ce885a89f2f3aafc34b768f81efa92fa56c5420af7a3
+DIST firefox-134.0.2-gu-IN.xpi 531506 BLAKE2B 32da48c3da174c5dbc784fc289556b28de43a78e4be1e13f51baf9ad333d3248ef37e9af2e51932b13c31344d95be4aa1b95369a7acab86d7e9c443fe9045716 SHA512 3ea36f9a30c60cf715f2253448784e8a2cdc241ef6022c92333e92078aedf132b8932dc67e94d91458d46ea8a649fac4db54e0de510cc5281431fc05afdd0dba
+DIST firefox-134.0.2-he.xpi 656250 BLAKE2B c1eab0002cb46ed5b4a938ab176103e8c98ddfa116b62499b90556186ad2506606b5189d88d5f3dd7f456ce4cdc00de6a4f05a3a279c235bea03af50ff351185 SHA512 3f203a678471a86ecb5ac9ade5337fa5df1a1f9f4cce5509b3cfa7e555aba52899283086922468d1c4fd10d7e6f626c6e1c60faee6cae6153a2db3948ee126a6
+DIST firefox-134.0.2-hi-IN.xpi 570951 BLAKE2B 2070be5756dda4f052dbf44a102a981e175d7ea677e3f12d059abe95908bd285385a96c6e7ec1178b964e5ebfac4ede72bdf9a46f70991256019059fa3583123 SHA512 26170c931087ebf07da2a4d9b047dc28e671b0d0edaf686ff316a8dbceac75155b3baeaa7cd95023596fc1c6828b24f140d8b5777e603ddfe9af4cdd4148d532
+DIST firefox-134.0.2-hr.xpi 633364 BLAKE2B f2b25071146afe6a855a49f69834253d1fa0e7f293e91b05327cb3e39a8aa677379a302b063875d1a798971ab0ddb2096525243c2c92abeffbadfc9cfbf517c8 SHA512 14cfd5dee97851fd66ace3c8f783023a3e1f15995c1d1bc33a1608b0127533d142926aeb1816fa46143414a20e25d8cd26a32b6e9dc0b0f43d950aaabf775433
+DIST firefox-134.0.2-hsb.xpi 674094 BLAKE2B 6946a02e5206db18b7e7858ccabf92c8ff89bb19b515945bb3ab37f32242ab8794024bef63c37ab0b6d1254bbabf355ce85bc2f3f31ac6b784b97b39f66c835c SHA512 5ff6d30ace7065540c177e8f593df1b0084812223844f12b9b2cf01929bd0deb2eaca15b8c73d6fc98e8990fd1e5d7bfe67f91659ac88b5310cad4981dc34d3d
+DIST firefox-134.0.2-hu.xpi 678171 BLAKE2B b2de66091fb9750ceefa589cc816dc86fb15ac050144d2900f226f41ee9321eee741290bb496b3a222aa1b0c1349521fdd27e7a0cb3310b1b69ade1b561676d0 SHA512 756bc161ea6debf018ef1b3689d56e2dc14cadf3e1a297481131d16a5a0d16be7e46dbf30964df8042c727af6ade87b9a0f4f85fc72a6982e72fe42b8648ff4f
+DIST firefox-134.0.2-hy-AM.xpi 661668 BLAKE2B d0629f388ccd7eea29b7a62c15b2869f60eb061808e12f67972c3cc94c114d67cafc5051c693506d72ed7c5e4558b055866e04dc2b5780b36606f6a3d70aa043 SHA512 95cb4e2e269b7fb5b061798713e53e6756882df1a522767c5546c7ea022e2da5fb388580398627f83ee7ca38f2879bc2d7b78e222172c881471e509bfe218d5d
+DIST firefox-134.0.2-ia.xpi 636641 BLAKE2B 0ad7121b94e38d1b87366cb76ce922c1388a5120cf56a8732c5b3e38be748d70f7ed105e4557fd1c51d27e3cdf32579b1bc1d6b0ec6dbe08cfd7cb6afb9c414d SHA512 d4b50fce3087c9bc86172e80f61af1c49a5726d82e4b217473c011d7d29a997b8b98d101c0f7c6ba59b968ec82d0be33383fa23fa04522a13e447e12917f56b0
+DIST firefox-134.0.2-id.xpi 620030 BLAKE2B d19441f894fa01bfa9d70ce0ffc22ebf288106a3c5316a92f7f1a4253765e4ec34ba1b112e4900446b89761364e58f7ecd1c816a1fc944bedd5ae578f66cd356 SHA512 f9f585e99bf9f09957f92deba6c7131767a9379d5770e776acaad1bdd170f6fcb5f8d91a50ada6d777d307ebd1e7e3648a09d2621a2dfcb90496851929855a32
+DIST firefox-134.0.2-is.xpi 642113 BLAKE2B 1650c60e471026f224ea44938f5de3ec347a0567e2262a3b592cd675e6127268e38bf9a4812da817e53abbb9c45d891cbc3e445f20bbec73121e94b956d59835 SHA512 670276c003825ee87e2ee9b875b3cb65c7b681af17e3371765f77fb257d2ae768f6e72f58a05caae13e7c686d4abee62cf358ebcb31bdfc4ccea395019d9265e
+DIST firefox-134.0.2-it.xpi 646155 BLAKE2B c3a61b0ee00cffd33a1a4cdd151925f130937eab32abd0fcac8d01ec16c1d22d4451edbfbd171cd8d37d443ced974c30e6359907765ae44043838845df6b589b SHA512 47d05d3a2864cc16ab798f9fba75ab60f7f84972b0a8d6777d7a16ada927912eeff5f47505ab0318d177adf5a06dcae066c38d612c50fc161977aca42b5657c5
+DIST firefox-134.0.2-ja.xpi 704020 BLAKE2B 21bbb707fde92fd102c02e05887d43522a6516cdf3828d4b8944a0fd285650dac73815bef11460e351dda3f033d6fe5f8fe3e22a938f7b9ae9a4acbeb23001aa SHA512 1630e3a3ab7fce57b326313948088afc16f9d078584b62f3a086d41616dcf12fe4c69a717964b315a19c8599ae0c4c6b3fedec92cebe4fec2736956a8d78fa09
+DIST firefox-134.0.2-ka.xpi 711237 BLAKE2B dd0113c3d3d31be04380a249458c1deaf436238d3613100f46a722cf4c9ec7196921959820a57fff35c531a09366d719d6cbb7bd5b58d14ead19f3c6fb810d45 SHA512 99823fbf10be1a22d40f809d6f176358666e087536c249da17b5febc0184a702cff3f3c6daae9116eacef2b24cf84d7e20c127809480c0971c22cbf4992ee34c
+DIST firefox-134.0.2-kab.xpi 626325 BLAKE2B 4a6e407a984e1c67c9807e6064872fca46e98db8995c3f7f0486d11ac6e5cde12dc19850868971ecb4e16e250548284b416a03af40c337f91aa60650382bd8e6 SHA512 0a536b59d7e892d347b2bc50c83fe24795d36d2d187cad8866a7cd11b8d94aba8796f1d033372a4d43817efdf61881ef383fa48b96e3918e89aac1f461eb6d81
+DIST firefox-134.0.2-kk.xpi 734771 BLAKE2B 3ca4504c41e83efd367df9b8fc0322f6b4c56a90af0149486969ed641a9a9fa29afe6c8e8f6576aa41c5515a3366ca502c7319b3c08baafa9fca623ac051c66d SHA512 a5750f94a84ec6e54e5d0b9962be729f3f6c71f3926b5bb48cfbd881013b734ae3afe94863ccb2a290ba593537515ded16973320d04143104a5abe2181fc3162
+DIST firefox-134.0.2-km.xpi 529767 BLAKE2B f1e01001e37ec62f75a999cd0b9de498f5c6765174bf42bcbaf1b0dbc52fa734f8e6c2673a5d1f439ddc65b945f7ef1f045b9ef4dc05f744e1be7590f9ac6b60 SHA512 a60caaf040a14ea072aa25b2165361f87af0005731c594c15dd05e7abc9e435e76575a51594a1b8d0706905fde23b5bd780ac9bbdbe72d8dcb326403da8cdf11
+DIST firefox-134.0.2-kn.xpi 494772 BLAKE2B a64a6320bc280805c7d2177d8df97061dbe56410cc1157ddc9cab78ecd91ec948ccec2eff611e623f2e70dd43821ceba07ce6c3939ca6255384981925e69008b SHA512 9db4d0d538d091217c6f8dd0d8bee01afcf3f98aa2197055222744468cffd8cded43d53b702dd4d8c62a7ccfb57c1f3a6abde473d58bfbda774719f5acdb368e
+DIST firefox-134.0.2-ko.xpi 688667 BLAKE2B a460fe1b491db2ca958ff81053c3fd1f1865f20ceddae3e5a318470deb5cd16cc566dd0b06427b7db28467b122cab2462841c467fd88aa6edb6590626008ed7a SHA512 d3eb1a9f32a86bc2898240983beec368b5855c529d3eb5ec39616f60ec531ab538dff4a8ac1bfe0f7822b898dd27ee73492978de360057c5a10915ecc4d7ad70
+DIST firefox-134.0.2-lij.xpi 488326 BLAKE2B f1c72e8d2a1c4ce715d8a88ade1166dc2871e547dd4d6b0b03cd97aebfea7fcf3ec90bd97cd5d80bbf72ee5f9ce311eed86a41a3e0c5ce3f4a40b22ffc432f01 SHA512 3252e2db8e744075aad460a245a4bffdea90963f32b3e1a44157a752fb473b56dccf1b25157312870b3ffb3cdbe1b0fac0c12b987e3a25ac999dace5fb714f1c
+DIST firefox-134.0.2-lt.xpi 577197 BLAKE2B 9f3b73599d8290f9c002e6f25aec7957603093f7f0a1fa897915a08bdffd4608d0ded77a6851e2a5e9c0910037b37847796f14891eb18fa3f8547d11095f56d8 SHA512 62ef191c57989fa58389d512d3bba0523c105bb6450f3965e4405ed862d00d21e4761c9d90f4e8b1b712e04e0178fc0dabe56328e94c657c90e006690950f480
+DIST firefox-134.0.2-lv.xpi 590048 BLAKE2B 9ed8da5fdc57463a2b9cd3628b297d36fa5f091a1a4f26122728ac2125cf0b8a5d30aacae22289fcc8e8a751471bcb3ee0ee50679f6254e52aa20fbc23ef76ee SHA512 11696c0ccecb557d71d96130df6125c4b13b08200412aaf36f0a64ec44b5b9959cda3da9dc88b8630df5099e5c528b99eba150b97a8f526271ef657b6275d368
+DIST firefox-134.0.2-mk.xpi 497209 BLAKE2B 42e2aff8e6717830b95f572ddb009624214b75fab977abbfb3b614bc0ced814aee91afe162df8d98c555b2825c59055c3b658ce19e97e1453e8048960e468722 SHA512 4a1bc08b54d00bfc05fac6843c72648dfa130b0c6666087d62d944de632799c7dae9d46042e34e5855cd9713f8ebee83c2cbf0bcd7825086ec4456f025a56255
+DIST firefox-134.0.2-mr.xpi 536144 BLAKE2B 4eed7afb68feba320e023a13733acc7f24b4833480b5bce429c9ee25d8b5b3110d61b84917fc145de05f12e19412d13d80ca9d0632c995f9a9954e3fc4ede0b2 SHA512 21a052b0aab09ba2ef83231a46b67c179e8a3cf2b47e4bc913849d40e11109bfcd90805b129778cc5faceaed6b787a55514ca8ea155db063011ab8fb82e832ef
+DIST firefox-134.0.2-ms.xpi 453844 BLAKE2B 1a18ab8fa4948dbc26396f2b3649334d4a95916b682de36754fee8b5a9478247de9ed4084808dd082c5ea8843e2d5cc906d84a867a6b68d00033477b8f16812c SHA512 4b22c1092adf696508d45e396a334debee949679cd4e4f745ec32c3927c703bc92c8e463b09f99c84c6a5b4f8ae7e50671843b2e5d160e54b5cd74d3b4569d2c
+DIST firefox-134.0.2-my.xpi 522472 BLAKE2B f9356284b54fbfb432a55ca6f9e66150fdb9fed71a94866a7d3c37d5def73fc27bed6d5ed9ac367c04e8ff3f981ab489be08a70c615a6d2e7022259a6650b619 SHA512 eab10e0b8563f223ec3a19160cb6a095fe1f85b544d3df119964446951218a22585aaf7ac0f597e1ae41146b009fc59e6f77609ef47eade7b684861a807790b9
+DIST firefox-134.0.2-nb-NO.xpi 625557 BLAKE2B 51f8d44e3a15a52a7bc63d29e38d715c7c13bd781532c80f6903dbacf9607bd4e4e4eecb1f21fd58c4839a75f147d32144137cb38632ab585ad4907866a9d8d5 SHA512 17ffea7c83f88aee8cf0859b12a27de016bf2108be0f514dcc60296c1dfac7732bf286f907bcd9f671d17bee08a8d6301ade164876b2a7693fcd577aaa70da7d
+DIST firefox-134.0.2-ne-NP.xpi 524801 BLAKE2B e7ffa1b0fcc78f6c895ce9b9338ea8478ad61c6cdc89da77e048fb44edc3a77e4b5b70202a32d7c1f78e7b2a08503a259e0155ece02fe4364070a8cd2a7b273a SHA512 3bb166bce1de86f2d63ae106aaa38365efe5a3d7296d1495bddc7c6e408d3530223d6323826aec6c6f0c8a56f614b2401b13b2fec783fca2df68dbcc5680b99b
+DIST firefox-134.0.2-nl.xpi 642842 BLAKE2B 7abe0316d0225894fe82eae71dfd4552b7454f9cce8d67e5d4e3a015dd4d97b958fc0ad65b4c45ea671d0bf3d60d4a007969145ce1be546d1989abbee6046db9 SHA512 19c48cc4466a7fab770a558967d48012d3b8524b7009cc1031b8ff65ef2215f03a4db97a2cbe0b8f7e975d10fb5d737ddfc7c8e0adb0d334cc252c81527c1e40
+DIST firefox-134.0.2-nn-NO.xpi 629847 BLAKE2B 72347e2c0dc988c32fa03634b7060e0edf4e68ae48b0c4d141713145cbec14b7b7f95566b4b2c6f348b0db7d22f0af4143fdcecd2afd256f7e4bb75a54b0bec1 SHA512 25ea6c572de098a03e977dfc43cc1d5eb5b0b6f01558fe19d9841f315e74c35362f4a74a7e52c82c5f9abcb3ba34cfdb6d208291fef0ecee0ae5d2355b278a36
+DIST firefox-134.0.2-oc.xpi 626184 BLAKE2B 9bb0f6fff001d5a48b8da9ee57982e41dba5a1839337763701cd3478925a518c1c232fc3768751340ee9028733401ecfb9caf8139ef152d058cbd2c63d325708 SHA512 b8541481e6502c4d21b910cd2b82afe6b82ac00cd792b3fad42544a9a85712d553473b5a647a0c54fb41fb50a9d4f8d40127089dc702612053d31db8f4adf3a8
+DIST firefox-134.0.2-pa-IN.xpi 723087 BLAKE2B 98c4db6d88f73969e6bea7207dfc44b44ad6486afa0454f4023f49341bbce3bbc6e91085d9ab5abad412ba81c6082efd82950744b9359898911e633b29f7423a SHA512 79cc7f20d3c2c3137cb8c9d6d3ec085eb72c1b814b4167ff6dc3c1092b9e212bbd4462f211d2d12702fd52ee7ed1bc5ffca4edd50b74f3b977facaebf27424c3
+DIST firefox-134.0.2-pl.xpi 661727 BLAKE2B 8c188693e8826a4e7a4b3ec1a66998274b704c9b5031ed97d604d756c99cc5e8197e3dbbab0e820701aeed71cfedca7a54a031e21a0d21c3808ee46bfc58a56d SHA512 a920c895d696f9e684551c3c33be2326b16b05a35d9e97c24cc93f957336f7842db9c833c1e42402cf8fb84e4080a677f8087a3edbe8220b141b6f7c87f89668
+DIST firefox-134.0.2-pt-BR.xpi 647959 BLAKE2B 64e241fa624eed060dba10add81d63c32d54b8fe0c927ddbb4d8568af6db5efa6f8f21e703900ba7b8159aa1ff53ecc8ac4afb7d714c5b0c039f78dec226790d SHA512 c13a0bc90c230f64b961f2d9c40ef884596722ea04739a3da6e90aebdeaa8deb7b5dc2c0112aea6d62c60e8f34f7d51d3ea5050af2eda2aecbb91bc807a046a6
+DIST firefox-134.0.2-pt-PT.xpi 654966 BLAKE2B 84baddb4e46c48f98651d61480b3e609371cceeb52bba684c37f1da46af61621743d440c802dfdadf3ce597af6d915b8c358a578d73b381c3f82a65b5dc788a1 SHA512 31788b3bc476f6019ada36486ad90f3e476b1c6f20d6ecde2333c19956a8761647717fd037229c4aea02454bfb5b8b0926eae8e76d64e24ae8f2c5b89412f582
+DIST firefox-134.0.2-rm.xpi 644069 BLAKE2B 971efe6bc012c621fcfcb0582ab2dc8b3471a8b0fbc4ba7a5082ddfe8be6048e53452950d0bc7d5dbe40592c1e715194ff238a7d45347a7da17f0162fc441cfb SHA512 edd13362bd17eb0fe37f97db839e402ff740d725c149c66b7b830e2d223f2c29876150705f95628213231103111504a64668f1c0975e3f24a62f409acfb60e34
+DIST firefox-134.0.2-ro.xpi 554203 BLAKE2B f7bc2c860db254f5ece82eff1467c784585810c3b4a0aa879302a41437695bb24559030917a3d473f2ebd61d3f02b437ee28637dbcb60fee5d153489367fb33a SHA512 ad7054dc38d11724cd97fe0cdcd0fd77028c4782aaf549c03b0086e84daf86b1a1244c074aa214ec871bbf0e338af534b1d2624646cd79c3d26d81603a0be27a
+DIST firefox-134.0.2-ru.xpi 750994 BLAKE2B 5c3caf97acd758bddab7ebc75e4372e6c333bb7b41b9cdcff9a00c55e0c72a7376b4ddd1a6f553b63a5867821272713cd70ed43c3ff561f56bf52a0e14d505c8 SHA512 39f74044e69959717fba65b6c95943a7d29c848c8b338aff5410bc0f608c50d0b52422192929c83d1bad74f328d228969a2ab008a6fd409054751fe3249bdb45
+DIST firefox-134.0.2-sco.xpi 515423 BLAKE2B f4acfed405aa27c2f01114f97c1a086f23b696a93dee91bdc31a265020ec87c09ed0b530b074aba675fe21a7b71bbcffe0169f59d5d3ed8b0f6e0e4bf30fc6d1 SHA512 c87053eee836f81a6680d38d70322f2944e919604d90c3df3b8c589b745ab80140026ee4758eb3825de4d1349187ab27df52136d9f0de19a72eca26efee61292
+DIST firefox-134.0.2-si.xpi 626869 BLAKE2B 1439f04b2666ea656757cccce4507c290a295bec746ddde94b3cce29218b2ae66608985d6e6276e0ad140a998d10924f33544864874a64d761788f3f12a05951 SHA512 4ff1fd4b0af8a65b8108307864b131083380c69a39f6e3feffc8ff7e5e209d58431f99415ade2a57d211eda7537625ecda5384f4079158f73d97bf00e105528d
+DIST firefox-134.0.2-sk.xpi 680484 BLAKE2B 0d407ed97a02195f45120010e97412add658c6b4373c3b23851af6db6d0bb6db2a56fd12d0939e82df53e60c21d24af7427077f5f11f236cf3d05fed4b9fb4db SHA512 3a50f280da4a62ecd3e91c376ff24eb96a605189e3c4975064ed56c8a9d9a9906cc723ee166bc7b74c942dbef9b596aefc4e3afa67361498ba9375b338ac4a01
+DIST firefox-134.0.2-skr.xpi 727794 BLAKE2B a93a3967e7a1c61e43a849fa5b560e9ea1491335ff183c508ed5c402725ff075fee5040e3bc51d7752647fa955f732d225ec70b5b974f308b72d7951a912949f SHA512 d0f0bc5427f00ea16cbef9404a2699fd2a34fdc4abef0d328bef90ae8bf7a9244b5d205b388db714cc9fc4b4caad2b2399db5924e483bd7d18da18c006ef229e
+DIST firefox-134.0.2-sl.xpi 647153 BLAKE2B 8e54d1c994721e4e19edbc707f56f5bfbd8ee6fe05e5cfe499e005ce19e54c645bbf0b20872dd0d7763123c69cdd7cee6c12b5b29138daddb7a42c955c5f970b SHA512 1dac80c77b1d6a2c0661b238067d424b4a40d78b29d42096bf45aad1121c54c27783539c529a41983eb546cd5f311c43812ce0debfcb8fd2fecda00617a5695c
+DIST firefox-134.0.2-son.xpi 420280 BLAKE2B 66c2e089d4657b8666ff5eaf01279c96f48dd84f074039dfdb2b6104b9ce3bc3524e57698744382f2cb8bbbac8847c613f8cae9dbb3ef43b32915314f14878ca SHA512 a59617ef750e221cc7efc1e9d5f4058324be42f786619cd4c1f173dd94ea96962d3e53ede27602d00a63fc1ce0258b3abfdb63a3fdf833240de3eec51dde3ba0
+DIST firefox-134.0.2-sq.xpi 665690 BLAKE2B bf63c5f42e94edca443461606d1c87f1d391597b72fce85c2dd318fa274636205730aba40fd3374e86165cf06046e94b080a3aa113eacbe3bb3123dcb03a100e SHA512 8c31684a1a1fcdbfa93a0a579868098ba8b83aaaeb86e65c464dbb4f36b4fa747a3b4772a243f2f7d2dc18f71a3a5c93cec3941b9c4b4b049be97d15c94d4a36
+DIST firefox-134.0.2-sr.xpi 676502 BLAKE2B a41d7cd2779dafaccd63272113a9a16b531e8c7377bb1310f734a3a0177fee77698cf42af2537c142d49c84f9d1cfeb431955c74702bc76c1e4dba56184a7573 SHA512 54b3fac720a9f6b5e4b9c0ea2f7267f1a481cf1df5fa20e28a6cbf2f2efbc6f1643ea151e0b1aa04e98f062b39533f4cb472317e0b72bdff32bf4e83bd432ac9
+DIST firefox-134.0.2-sv-SE.xpi 644572 BLAKE2B ac727677d059374609860768bb094abac9556d7c0f5d3556f05290f7a29a71a3d065211feecc2465537a65b674cbfdb7436d8c93aa5988e891053ffea6ee0f0b SHA512 0cf3006e822bff478c31e9712b473222855dac3cc3796d0616c0adca82040506daf66a25c5a50b82fe37dece9f47950c2b4f98ae914f32c6997769f62577184c
+DIST firefox-134.0.2-ta.xpi 511217 BLAKE2B 35c2badfed05a3a174132c9a743871b716e9dff0fb51eb5ffe82534613805d0426d7b4aec9bcf619a1ef52946abd9da2fac0a561528eb6577c179988c31d1dbb SHA512 8ea523da807a016445755ebaede060bbd1d16f113769b8ad6e946ed62539d07ab647109a4c83a034236a444b37c71095e5aa9be1f87e9d15e105853876951a87
+DIST firefox-134.0.2-te.xpi 575366 BLAKE2B 1b43e4999e2f2004b8db03136b80fa5c530d4f8b81d7239a815839872170a399d06a7668bb8dd2b359907bb206c3c28ce298ff17214ae51b480525051620a156 SHA512 0c241e6a30ac6e87de1c5d2c92042460f01203e8c26d14495fca18db3891fc503a5e8bc61348debf5f26a38df0b0a982f4ac499e43d1b6dbdc17fa0096ec7b59
+DIST firefox-134.0.2-th.xpi 727730 BLAKE2B ea5b4de061fe582cf1f33ebdbe9eb7522ef5caa271ca63833c8d3d203df4f149f08c5b8071facad810d6273b94c2f323b04dc86bb0de0d6f8d20bc9cfaf65016 SHA512 e9160fa79349d3e3ab5d39fa7b852b838aca3709347307b177e9374e0305016b9734558aadc43b155bcb03d20e0b14df53add6c65c9ca7e05575cf87fee5900d
+DIST firefox-134.0.2-tl.xpi 538546 BLAKE2B bf74822975816060da61f23591e27963fefd73ffe9f1f6d885eaeed663a344d50c3a905d5d26a39aea9927e6f464c7d91af8c831d578c4b888dd7c73475d7f93 SHA512 e3f54f4c670041a3e9b52724f37aea1dbb5816e8e09693d6d6bb9034acb1fe132be1dd01a8dcb963d4e96f9a2c8b9bfc39a62afd55ffb06214a94ebb325a7203
+DIST firefox-134.0.2-tr.xpi 656854 BLAKE2B 55f9847bfee9eb1a32570279b5715757ce6af15013a2e1dcbdd2ab4202e3bb26009326b0a1f6e55fefd65741ee3102cb5f892df044a042c0d80f426f99319c01 SHA512 da63d31d0c9ed9f29e429bb2e7b6d14d762de940af26330a8cc4f65424563d88dfc19ba5613fe60839c42a3686d347dca6a4e62acac4f38231d48346b671c4a4
+DIST firefox-134.0.2-trs.xpi 507810 BLAKE2B 0086999e232a3789d69abce703f887c787933db386b2095352c6521cabaaef5531cc52e36617113b0f2fbd89218bba9fd341d20f60e46521e66bcaa8c76c4e6e SHA512 60c96fbb59905007356db428a8f194af8e4cd91308487436597e7c61cd9fe1d72a533e001a0bf2d038e7eea77ded60ac705536257647aa3f9e4391cf24c10431
+DIST firefox-134.0.2-uk.xpi 742078 BLAKE2B 2589e3f00726dbbcd12f353ec0079b6ce37806cd92718e19e79d028f721de1dc6d66ff2b2ca85c5470cc2bcd974c8cc000fd298c957c170a77f29951ddd498ac SHA512 54500430a4045620255fb5d21427eb299cab4bba1135379b006dfa1bf0c35bdc98b24549718ea093319771aaa735d4990e104432e3b1920341b0cc355e0eadd0
+DIST firefox-134.0.2-ur.xpi 564367 BLAKE2B da26c584e0ebf2074636e8e622408b0b69610f609c7053748c7f64b98233fc9012a98d3ce13abd7085af67a3fca8783384eae345d2173ace89e214ed4559f2c2 SHA512 3b6e514cdbba4506422ee039c2ce4d0011d98d2be1e968ae528ee2bf79c6f80db3f766f70fe43ab8b0391869005346f4d8ae00bebc036be6727beedb2685cef8
+DIST firefox-134.0.2-uz.xpi 482832 BLAKE2B 4f0e7de6855da62732786c90447e68cee03068c9a647f3bbbf7495c58e8889e3c0611bcf144dc51fdb17fa3014e67cfce28712fa357d7e4a5ac922b1d004caa0 SHA512 bb17b008e3745b34855c2668e68a0de5ac09bcaadeb88affd0cf6741ca162e99177c7d9f19fd68f4b1714b5d4312bf9ef8366e813d0f6fab3baf95a6659d759e
+DIST firefox-134.0.2-vi.xpi 683438 BLAKE2B 34ec85bb8c88758feb26b7d3fb0d9e166f731ac873b2fd182f11ecd5cc95feaa506b3e6cffb012efbe550d64623668b9a21bdf6cb482d57f0fa2b36892da2240 SHA512 506b0e4038328f3aa4dd7bfc439dd3805be7ac932c42c1140c4aabce3f19d5b95dfc94fe3e781480cd35b665c23aee1047f6efeaa15fe44af16d74c3a97cac58
+DIST firefox-134.0.2-xh.xpi 421008 BLAKE2B b0110c3a1930c312f385985b00b1e2bfb19666b137c4e2adc708a89fbfb921b4e5fde794d5d2651d1f45290ad7ededd7310e116d74d0b520329f7697e0bd1dd5 SHA512 8626397cb9642845a2f6d7c39511ad8d9d9f16d2d55c38d1804ec84919900f28a7fdb4e03312e3fd711fab21dcc3ca9db344405baaea9776cb255bd256728c26
+DIST firefox-134.0.2-zh-CN.xpi 684487 BLAKE2B 086b88dfd1451614af4da8b51ac180aeab8e47ecf69c6e5148738491f221a06d34c28254ea09ac951ba25f644b9024c917118d2818f583d0f259847f635b0f9f SHA512 3d2f762eeaad47dfff627087d174074d3a89507734c662c974ab5c4b5f587541ed62e8e59d5aeaacd881283b1f311c495894c60f4cb7f6dfb5feaf2508ea030a
+DIST firefox-134.0.2-zh-TW.xpi 686743 BLAKE2B c3a157e5fae193476bde6722d32b1ea4e65cbd3bde891e76830ac193b609de6302291b6eebc5eb3a54575244738763a1c538f621d5bfe2f6715ad98009e83db5 SHA512 8fcbd4a0c897a9a0731283ccb78fa35d799957cf8fee1f70892c65f106efd42ba5b2024eb227952c45f4212a1bc2ddb65e7d7ac8cd61608c7c837d29b2c6b517
+DIST firefox-135.0-ach.xpi 297493 BLAKE2B e9f6422239452ff716089945cfec4696c6f48c92f283e412788b8b70f95f1c6e7aa14ab85d983a4423a76e5a110b5043bd966636942e2714626ca3b14797dc02 SHA512 173b83bceedaadefa5cfdb5aa6996803e41f8f7efddd89d3dde7778fd7b04b99d6d3c2bc3622a2246c78e9c3c308694fada412d17a2539de3ab63712335e0455
+DIST firefox-135.0-af.xpi 269128 BLAKE2B be97eb56a031773a7c647d72181ee3af86ee7fb23e94a34f5b0d7fc47af3e3dd01a67e81a5bae13d30985c1c6ff75ba5a6de91af8d0803c32d0e3cd0c5f73fba SHA512 e6352c7da7985cb1564fddf8c8e8445baf47a27e16fde93148aaf2f45a92177ef4b507b83c4df90308fb5d00035d3059404a49c1425cd943caa30049fd427c4f
+DIST firefox-135.0-an.xpi 336069 BLAKE2B a77ff09e247c491a1f252941f7133013709a1be1586755b0f99cf879b8056561901ba4e98259b30e5fb68f49f44496614177f62c8ed14aa0bd188eec09446d77 SHA512 265045e54a0a8f6676080228b3b353b96f61f4986db23b654fe04884852a112ef12b216bf3377e02023fcf861973f5bb4a3decebd703809a21e606effdb015bb
+DIST firefox-135.0-ar.xpi 431817 BLAKE2B 60cf45f7e24f9f498124d764d3833a44327d877e80afca959682cab03b29ca0fea2b8cbb6c77dd4015b4619e81c796a6cb0f4c907ebad96b5448c33bf96b3ad4 SHA512 342ce17248824caad5651410747ec052e549ecc5e509d76a7161ce84255e15ba99ed9492e3870d4ccfcac68885d7fe8eb1b9ee87c7efac64e317352982a025ce
+DIST firefox-135.0-ast.xpi 315336 BLAKE2B 2703997a8afcbdaf92389fc5a23e19d2045ef9613fd3bf6d8e7993da22ff399fd5a02376f15b1b7d640fdcaf369ea6da8097b5569172adfcca2ee38fafde61ef SHA512 458659ed77cc154db7a352f9b8a4475af88ec334a5aa99cb63a18d042d4acb39e874ee2031ca788cdcfc0ba25a8f7ebe670d10cbbb6b2dd94060decf1f49e196
+DIST firefox-135.0-az.xpi 322601 BLAKE2B 8d040883e00d4cb611784a63aa51c6f0b093b552c693ddc221f57a4d25fa644ffe008bac05984a542c9b7934cb0dda13e6b42dae855627e1321399f12f32b4f7 SHA512 fd95aa34a63226f4944ac222da90862469a0f163f81b0cd119755ee69229e4b98e8dc48f4150472a50b32ec1a07f57476becdccf88c878702aff12bcf7b9b375
+DIST firefox-135.0-be.xpi 514716 BLAKE2B 9e02365f5aef9ab137a7ba6f4e3c85755f094622886f502e18677568bf85feea8f6bde32548e8efa15f910c576b64853d055ab63bb7eeb4c3fe23ccbe470cbe6 SHA512 d8a9df409b76674e2db61c3adf412f4e5b2772d28c089edef87a6c405700bdc26cc2802cd34678347ce4806ff8483d836226ae2ddb361b59afb6728df66126c0
+DIST firefox-135.0-bg.xpi 453357 BLAKE2B 6f319995b33d890017b57e47a0ece2b018025726e69b4c1b35d7ea1af147cd5b9480af48d4fe2bede027d643edf6e01240a493fdd6777aefb7f1d1aa8e6e85df SHA512 588014fb0409e9322de4e1ef7a9d51d4f9b8d0af2862b47bd0931727e1fbf0fbc014fed8a0c888b398a134677c4563603537d7dd634c4b9688d505b927d5e175
+DIST firefox-135.0-bn.xpi 417341 BLAKE2B 3fbc61821c280a855400f853a8fb5510d8f18036a9c231844a0b86c73fb89ae19f589df5225c7267b8dd1369cc3ead3daf29032f375a3dbb120503291e90d0a9 SHA512 f3fe9fd4e0699d745d712d768e0a33c789a859f222565ce966673d526c367adbf92b6eb669b6c29bb17cc083db86d00a2568d03f83617ab4dd53e591c73f08be
+DIST firefox-135.0-br.xpi 397376 BLAKE2B 08214939a4a1393f466533d460f074f6dcfa37a49a3e0139cf3c2ca94d26342e0109332b9d3b437c796081d53aa106722934f3a9c8764acd716b422444e172c4 SHA512 7521edb5706d6d3508f301c42a9c8ca8f231ba3308a0b479bc7fca896b3880cf450c942c760dc28ac63a480c08d8546ad376c18f546a3bd6a49a1716213970fe
+DIST firefox-135.0-bs.xpi 368182 BLAKE2B d118f56290181a198401ad90e53ea878ac4ee35e6b387d3b43cb0473430e34c985b40d347a2e214480326df3c612f671cbaec3ad0e7fabcc1cf0864216b0cbdc SHA512 f0ba0ae5132bcc86b64bde4625d8ec7e00d4ee827b7835352fb1696f4a7d49fe482dd38b90efd4d8d206214a2462f02497a2add6a8a17f87db6fc29491a6dceb
+DIST firefox-135.0-ca-valencia.xpi 362554 BLAKE2B c3da4af360eb1a96c7ac1790de422a16d473c09bbe19642aad2ac0639d3bd5c1166cba2904cc99e1ee168959259e1eaeea4d3c40be2380c109c686072d0206e8 SHA512 d736021e1233e910b07a36ccfbe5024dd869283ca11bc93f472a637262a9bdf5b2f8b3be51f5d70855f21da1c863435085a87544cb5567b41dadadc9f458424a
+DIST firefox-135.0-ca.xpi 401650 BLAKE2B 635eae49c3fc449391fae1415bd42c6ef7aedfa2d139eea3b0858b29a7075c986a31d13b48c934c97f7d33e9db6ff76e4d88cbe7187d93e7229b55cf840f1ba0 SHA512 e2fd2452ea05a356ed6013983412b01e0fd6d1600e119f9cb011e9668cf12cdad356f3cba1eeae3628d1ddbf26e30cf43e9a30aed2bb98c46ec5ca9362667386
+DIST firefox-135.0-cak.xpi 397000 BLAKE2B 67a61f7d031ad6e2898d227c0f3755ff46e6a13ca12205d69b3cfd89d081c401441f79f1ec8976a48614039526e0ea09c90523d395865e322c279c56ea8e6d15 SHA512 496e0dd73b63d33082187e373af2bf0db199fb3ab7887b4a2c07b9277eb1cea2d4b47fa340ae07494f67a83e3c9a6c157309e67611f211d5e024f608f5e59cd6
+DIST firefox-135.0-cs.xpi 469983 BLAKE2B 0f855ff4c3e9c25705e7b4e9504c8e4a15e4d40766bd43742357aae4777098a5d7c0e14bc01af8f3ef0e022d13f45b18904198723c3e6994d4c686e1ef4e151c SHA512 f9d3111e3ca978534672dc5c74984223c702c80faa0857844916b2ebf72f43c8d63f607914825db0cae0697323d80cf6a7d808538cc8abf1baf8015e0670656d
+DIST firefox-135.0-cy.xpi 436445 BLAKE2B 4ef407ecef6c3c050efa2af5040a8c5cffb85fc5de4f7c706ae5d5153812f6c8c3e677c1d5ab2c94250c0c7e17ea828c91365bff6af63b8d9d4eacf5fa2a7b8c SHA512 985cf3a79a751dd4f0db00f20802c4f5a32d10ce0113a159b0f264a5191aebdd941db53d550416b5f26ca91c3ba9ff804ecefd215f399d0b7a88e69ef607bf19
+DIST firefox-135.0-da.xpi 425954 BLAKE2B ba8248b39fac38bf39b161d5dff850994076abec798add82cb37be15d32d853c04dab0f968d1d69304f2784a3bbeb0b180aa1b85a3912ab8c54c3614cc15b01e SHA512 68b88357e86bd5a31ba484dd34e30f81729730a72d3b70c627ea2666c24513b5c6f0276fea68867271a208894f834e993bec9db35014310092c589829d631e26
+DIST firefox-135.0-de.xpi 447596 BLAKE2B 5a3f99bdfb193c909a7306fbfe0ac1f293525d406ee66ca9e467413508be00e729ffb19fb3077f6da77613b752a89cc4b960f9b0121621862a21b8657be2a13b SHA512 c088e4d17d8ae51c50514ddee313d9cb36aebb6e7d351c6a937100182ea936c9d1839d82727c7f5af733ec13f0d146b7cd3f6bd8691dffeca26f51863e8f1161
+DIST firefox-135.0-dsb.xpi 460614 BLAKE2B 4067d1c73874017336f5fd06f31cbe5f320d5e1c5ed55f483c22ced92f20cdd82356b3c0ee523cf22c247e153f27f866ca547d891a0b867ff06b0d55c635f7f5 SHA512 6cff7add689f2b840a147420c4c0ac6377539c24de3ef0d4844c046a29e29fea57018e7422cdcd3f113ea3f7d0d54620e0235bd6627b2a26f30a565a5b3590ec
+DIST firefox-135.0-el.xpi 529587 BLAKE2B 656176c0e93187096a9844e42ed967743b797f4dc8272d82323fd9230d4e71320880beb37870da66a07b51fe314382de820e60860b0df741c446b15e0c5b7ebd SHA512 ea537b4b54aeb627c758cbdf6cae490797359f3083210141c9721420a0ee70237ac0b4bb79ee4a341117095764b77d8fa8731944c849212b5d2597b4df4bc52b
+DIST firefox-135.0-en-CA.xpi 406581 BLAKE2B 9b282040221264bf9f017fe4bf06bf6f1c72c76a43324cf0d0ee4016b87bb7abca20e5363e0943424e45e4bd48404fe1c9beafdc3761f00356d59bea80726a37 SHA512 ea8df3a03c07b2f386101de84fb1b3ef4db1cba15f633d006c617c229f44b80189c6612c83f023e3c3b0e8267f26b50458e4e0eb0d975a80f2f218546b77d3e7
+DIST firefox-135.0-en-GB.xpi 406887 BLAKE2B 67c85a35416b58dbdda2e866c1ece51b35101fd28b215656842f9cba533328679e55a833df5d79b0dcf6bc77f6ba122d1f1b80a96f74dd91d9251a6c6ade445a SHA512 01b56f7e5be3e7e652abd20808add74a81d4618cea4f26064192e0f0d3ef708dbb890e34db8606f0c5e25f1eebac52afdaa52f52892cdaef6fbbab120f644ff9
+DIST firefox-135.0-eo.xpi 428440 BLAKE2B 4e26589e08987579f2ed76ff7dc2c09a9dcf2518c6a26a335bfa185555ec6124b8e08c03b26ce1b09be5a49bcdca981eb8c246f50908e51900e9f25f7591c116 SHA512 0c1e74502528ba3bbf63f3542ec29b5b254abd667cdbd62a50f47b42ae2a7f1b6301a0a6862882e58b0bcc66abc0ce82b45fefc6202c3f811f0a480d468728fe
+DIST firefox-135.0-es-AR.xpi 440561 BLAKE2B ecab809ad15ca7afce22acac95233a3caac689df46df8936adf18442e2771b06337bd5d2595bea7de9d1760e1eee8ef4c2bd06f8ffef13897ea2bb96d40e1aee SHA512 48ef21d3e616e68cd17388e04ed77028480ff8f170349f9c59daedab81f8bdc692664686f84673e11e27330ad78f35d401f40d86b13ac20e0c4abd1bef09c76e
+DIST firefox-135.0-es-CL.xpi 441039 BLAKE2B 22c296c84b965396a5e3ab92d8492b238a0f1a9103f460ca9285ad16123ef1d67eee4c6c549212d3fe028a7c4fe0a87ec5c17da81f7cdf13851e71c5aeb85158 SHA512 2bbba3bad248df17edf64423e966ccfe6f2add8da2b0d3cde999f2b9c419ab878538927d00824dc8d2934d5d4d849ab57639f44229f3601f98711da0a6c52341
+DIST firefox-135.0-es-ES.xpi 441899 BLAKE2B ddbb0c5f1443bc8df98ffb2fe50a208fc96fda8545a68f428714d0b24d82b4a69865b3dd51ccf0dbef6c238eb9300df0cfce1cf7e08530afc358af0787840d0d SHA512 e07be4e269c93609795b5e42bf222150457f22e7f94b3ec7f40ee36bddcd602a04b5f92d61fe650c528bf37e9f5b35e83488d42935018f7e775d77047d52214c
+DIST firefox-135.0-es-MX.xpi 444249 BLAKE2B c15d4c3f9418a44712dbdf4b55c1d4135ee57a0c42e87ce7de238fb1fd8a54aa74289b7193326cb9a6fa8bf28c3bd13385ad93be7ff4f58d3e855fc204a8395c SHA512 6653c6591105093d4c2e0416f0a207689688793ec9b7c021c5029a6e096f0307086ebe26c33fe469f5ebfa851941fcbdc01e23f2932c7e51b9cbe181f365afc9
+DIST firefox-135.0-et.xpi 361095 BLAKE2B 1ad3e8fe5eb05f8fd9bca0b7d39adccc9b012a6bca9bdac71040b2e96887c4e4cc7b3eda1920a847c970570952e1c1a120cddc94316c391e1a381fc7b38c4026 SHA512 85227d3e1ad337a7a5802c5481625f9d3d233d6a2c1fab8ba1a3c4ffc969a49d2773438e5b55da0db9310e090a06e2f8bfdfb39db124b96826c9d3f9602304f2
+DIST firefox-135.0-eu.xpi 413640 BLAKE2B 14a4096a0391a56b0259405d873f42eba309ec6904a354683c8f82646ef2bb3f6e4bb0ffe38cc5938195ebb38b867175cd8271840a2b71abb240239a1e343eda SHA512 60af5206599c15960e0b268666c03cefd4ecbe3ad0d13aa4d3e911d720edf9d0a4a2c306782c6e0a528e414d9a1873bc12bcd5ced598622aa0242c35f80656b9
+DIST firefox-135.0-fa.xpi 417970 BLAKE2B 87eddb677f1a6c7cf184e30c1c03662737e3b81829ce32217308e5f5113b9b9049581bced23265ebb8753021d9df81b2787170110663ab049ce9b288c3aff7f8 SHA512 9e5fb1cf96ed2d8d9253f03327d58bfc6e1b722520650954999dc411dd302232c4e45cbe047ef6b43775c374a719774930b6a14865cd74aae8927e5d7cbbf3f5
+DIST firefox-135.0-ff.xpi 313582 BLAKE2B a7677e3b5c96ef46dac870c2cc1e747981ccdc1d59b02f6f47c005ad7b342b4b75a66b5a9f6d2e570ebccef22467cc5513d78834dd293354caf3a141014f50f0 SHA512 385526ebdae09c8a49ada77fb206c9971e64a3a91cf80e1242e099541edae314b3ee1e739d1c792f5fd9e90b20bb36f42aa86a6552516c6c9307bfbe7235d78a
+DIST firefox-135.0-fi.xpi 423825 BLAKE2B 87fa391106c2041c3c80dc7ffa8e62d83686f331f41a032b5ff1dba6f707d4a1dea617e88343824992e95e8b39dbb2ef65393bf64aff12ee3ab636850fc42125 SHA512 ac01766654019a2fda4ed9a2cf2ba70d165a48aa7297a9120c0dbed8ea7ca5fb472f5c806e98278ffdaf58d804813f56c239e4665654abb269e278f5d75ede6a
+DIST firefox-135.0-fr.xpi 453316 BLAKE2B b3e9f781d1e1af9a60cbc175baad96285f506ebcf16828e5f7a5ae9ff21cf30d0c3349b06f01a950ca84ad908e6d54ca582280639fe4da06bb8f27166c181d16 SHA512 83ff9e348d6898a55496bd802be00fa80d0f1311a5d7735dcafecef22a53c43fc50ad3f909ea7d7a58ee8fd7afd82d2df19497a250f71afc52b7d6d4006f960c
+DIST firefox-135.0-fy-NL.xpi 437083 BLAKE2B b267b3eca8dcc3762ef4b15ff213b4b4b9d2bba77a17884c1ba29dfe6f26f71f6fe621fbd6072b5f755e608d8f485f5c0e4ee6e68f85e638f1f501b736c953de SHA512 5057fe78aeb12fa48bbf6359ae24dc8fbf8457055458bf3ee8e816a7b49f4622b930fdb6d20486261b1dd2dae3251948a80beaebe288330663b95631f63c3325
+DIST firefox-135.0-ga-IE.xpi 309796 BLAKE2B 499862541307718ce0b31791570a10f6cbd530de8e9a51dc1da0a28f1a7dee7642fe23614f9ddbf1cd14a0911840a360d17ceebe37e93085ff94d9b2b3874468 SHA512 e4645a5f78d4c84df77cf15f6360d2391210b3e26c8c506e1e3db6fa5a3300c17b8f4f66971962a529d3295582ddcb0dc7247e9e5c7864733b39319bb2f96d7f
+DIST firefox-135.0-gd.xpi 405574 BLAKE2B b9a1dcc89117645dca0693d49032cc7e8845cf62a772cd650ac3908ba9c1632ab27de6ab9edf33e87eeea1237904f73f6a50e962f8c20a56747919be24d457ef SHA512 2a7e5f1974248bad03f68bc8d8a989337e3bc5a2ffb9139395398d35f33bf9239d0d44921d7383b73628f0b09556304d5eef2bc883ca60663b368dc7d1ce5e2b
+DIST firefox-135.0-gl.xpi 408689 BLAKE2B d66b1aadfbbfc817c9d72d3bba77debe76b635327f4950c1485405c09edc2f52c4d5401b21239ae4f7b77cbbd0fb90e76bfc1f6573ba8fae4ba4c35ecc78cc32 SHA512 cfe6c046bbd3d46eac6d745f77e8c4748e3756a97a632ca37b06c850d9f46299f4d10f6fbe0fee0403e2a7322c7ff4a820f2cfc289aaa88616108df5c54eb210
+DIST firefox-135.0-gn.xpi 444176 BLAKE2B f9758a62f996406bcf1509cbfdbc5ff1ab344414042c8549da6b82bb982385422de15e40b9a9ac546e5b1d90506d5f1c716771bbf09018bc0d19e0a45b2682bd SHA512 672a9a8b592b3e647f7a2d5043f78d292d015103425817716cdefed1a8fafeba8acf579bd5ea01b69ba451e247d5e274ed2686278440b1a6a9f49cfe4ea1c1f0
+DIST firefox-135.0-gu-IN.xpi 363080 BLAKE2B 489386089ebb4b661880efcf5f1f11ea08c8411c3d5bc7595f2b527a301878e4d7b6c96fdba3fd0dc5cb8caf705e78bb36cde2c5e1a9e1d9c9742ef83d4998d3 SHA512 0e281185c6bff66069dbb133744837e64b217cc70b808a10398229a9d703291e75efab1bfe12ffde13f231d5437981e560799d3da15a4f191bad5d0ba21d7549
+DIST firefox-135.0-he.xpi 438091 BLAKE2B 5a1b14a68b29c9312db70d2a850b6aa63d8bea54afa1052c852aebdd6fe4dd63d658e6ae712c148ec38c09823f882468b392198850969820951c34f6abe9aa06 SHA512 74106d18f01c931e47ddf958de68aa5f6c7814e2c5c4c0ce79f277f8e0c28959c3fa01adbd5aa60d53ee2abc0ab8d7b4020c9159ff171f0ad2a0f3fb7af0001f
+DIST firefox-135.0-hi-IN.xpi 381627 BLAKE2B 4d3d4bf705980a2fe8bfcb882f1b90d663667a57f624a93cc7200d0e92fb5a140023b1be5068f4ef76f794082d7f66646fb4372fd90f6c5ffd49276b789d5e45 SHA512 dd24fe792505ed24182085e46651c661a7f388b95310e1acc0147b45f255eff9a2eea9956b975ce8af135beccc1236c8f5f5097c186fdbc66ebfcf5e75dc2657
+DIST firefox-135.0-hr.xpi 431103 BLAKE2B 26eb17bb67c0a1d9d38538ebb40a633ab9ac82030372eadf748b5bc369ab040552b909de5850ddd5da1d962bbe74a97825728dab5034190034cf232193acae22 SHA512 65889480ae9395d80a31c76ff0471a45634800e014b6c75bdf97bde40b70cb2f6d6958812161e4aedf6aead23a7cfe7fff727f770c06273d7f3996f76a7575a0
+DIST firefox-135.0-hsb.xpi 457172 BLAKE2B 8875df22fea5965bdab1e66d7aba629640b507c6f7564400bec9f0afd370059c2d38fa32c8b95b59f150b7b3081bb849ffa3309b6a91f2634d61264cf759cfda SHA512 e679413acf9d1c56e5a639e6be3fe1a3753fc86db69411cc30684945b2e72a7cf33ee0a54e8e629a3c116f6b00a79e1e2a827e8ecc399cd6a3fa1e541148f9cd
+DIST firefox-135.0-hu.xpi 461006 BLAKE2B eb9af5bb99723785a30f1a91f10d057ddb5ff3186b8bbd1136107336143662197464ed3a55073b85ab7bd91cebe756c3688c5087559f7293faa7b740a36ea50d SHA512 96bafaa7b09707fd73532a5a9d7415f2feb3ff846877a2b23b148b208150edb5fb393ae25d3bdb465d667e1095891f0297ce921a33cf870089c171022f374599
+DIST firefox-135.0-hy-AM.xpi 450030 BLAKE2B 6e03c06abfd7ace9200f4dc3918003551e4aeb4816b32d9a40ba26e31c91a7744fb4d4c6efbe3c7b371b8e57967e025f3062f2b40c8dc681968d07cd4808d96d SHA512 896cff86eadb0b2de93d316fa0fa0d88bf745e4eb521c211dc6d92394be235a50782c4d9073ff0833d0735fcb8d3c197c9f67191558650807b8dfe4fb9c04cd9
+DIST firefox-135.0-ia.xpi 425189 BLAKE2B b12938520cacf8aec9d7bd97d9670e6bdd6d34e0c74d428f372921b5d9d4afc4b571ee56f176774778bb38d6c4b5521cbe0c54c24d6c9dffcda96770cf046cf0 SHA512 78fb6f00e949f3466c1d8a0c63879b56c4de7abdc9030aa3d1aa9cbd041eb81b3b8ea159c1287655db01b75c4da3823c1adaa019e4e569d2e0ecf62e58799f4f
+DIST firefox-135.0-id.xpi 414159 BLAKE2B 310b5e0ad36ba9028f36acd538f9ba410c6b680e5e7f2afb0250230f8417417e73579ef92cf74bd15a83c657f8fb96d8e22977b1a4fd54983b3fdc8c42975f11 SHA512 36c0fd620d6cf258a9309c1b3817738505822dc6ff3ebddef788f1d6ee2e366572134e7ac4d530db8246fea377f2057b850dd80301757a29239804d51f94ffca
+DIST firefox-135.0-is.xpi 429197 BLAKE2B 4d7358dce2269be61a6d3be3a68c70406264f1ca87eb8f04da7e2ef91e5938d61bb4634fc11fe87d6164c1da49603873559115d17f691183d0957a1bcc53013c SHA512 d887911a9c6cdd090c35b859ef5442f8aa8555124af9055c5f4e8183933fd50f13611308bb897375a959a2d76d98fb6d74239ff95ae85f7c14d9a33e4a5bfc89
+DIST firefox-135.0-it.xpi 435818 BLAKE2B 6140fc9d96b9749cc438cec133bb7203dd97cbcb1c843af7e16b692450d425873dc99e756751746805ffc9126820f3896aa7fe716c3cdcdf9413a6d0eddc1948 SHA512 738db1df3bcd1dc800978e6157b7de4ab2867d722bc2a3a7887224c1cadc23872748c28dbb81bf1f03fb92fdaf0ec51d716aaa6aabafbcda540ed696a2e1887b
+DIST firefox-135.0-ja.xpi 476070 BLAKE2B 47fba0406ec77d7060538452aae0762fa0b9cba1d0521aee4915b3778486ed191d37240a46dfb974f51cc4ec16dcae2669f2acec6a1687dbfe3cd74ed3769557 SHA512 c606748ae92047539b6a6fb862156d3fb44680c93392f0db39da6897010c1011bc2582070ff9c3bb4efa3c96108283310b7fa4349c235651d76cc7ef9ffb121c
+DIST firefox-135.0-ka.xpi 488870 BLAKE2B d2d27093e730facc071e669eea814a8d02a2e9585926a48533fd1b853ae6fa5992a6cf2b21e984d028e6dc247e39ae23182952a2212d40c10e2e81fe13cfbf9e SHA512 c0f824324856f67bb9e71f015be0f5eb49c4298a0d55f775ab2d18aa40fd928d9253f127dedde80622280681b2a8ea479cc6c862b2820747af9ac917e0f54628
+DIST firefox-135.0-kab.xpi 417296 BLAKE2B 600e7344460694ea9c3b345dc2c4952fb1a58c57742c06a5204d2fb6c96f044910898e89dd0c2dcade2856c5078d6a9c92384bf3cd8cdadd7798afa37e79ea60 SHA512 cd07fef85afa56803f982275844f88a2b171dec9bad268b3086729de6a146382a59920d5ad3c9fd27c3913dba963fd34b5ccada47c346f74103b58cf90883f08
+DIST firefox-135.0-kk.xpi 504538 BLAKE2B a11229d2d72f20d5885907252ad4f14d300e1cc9063a58505c0558394c1739843fc717f5e412bc973bcc40854e3b4642f72b864a5b306443b8591827617b729e SHA512 56e2eee2ac233bac6f6963e977afcbff7022d08efbb8e1a7847dbf23180e2a7da35db3d27f1a1f7d9bb8f7db78fb4451133583a995b1970211d41d27ef426932
+DIST firefox-135.0-km.xpi 354099 BLAKE2B 444baf19ced49f553dccfbc9aa8097ed523cc518967202c29bd145dffe81bd5a65b6d1912966134dc71514c7f8ec9cd3dd50777317305f8dffc1c7a8e687bd4a SHA512 b4ba282581d0b9c2b302544cd915a849fd1f5bcdbf9153dccbd08edfc79ac96f8c3e5f3e7a5f789ccf3de5b804da5697be5d463f9843eec9896d4a0133badf17
+DIST firefox-135.0-kn.xpi 335954 BLAKE2B 577206e716f781537670fcb502a6c3627e89d9a0bd0c03b8f4c111142a29773ac043646052d68896b2fad8bc2f97a8c8d6f1b2534bee8f664c3d4ece5a7829e7 SHA512 f37028e52bbf4ba3550551872dea35f961f57cd984395dadaed46cdce045f91982b1c9b195c917fce7e022ae2a8eabf419dce1f66cfde0da180481034af414d7
+DIST firefox-135.0-ko.xpi 462015 BLAKE2B 2f0330d2e26050e02df365166c3ed3a2b5310d938bbf91eced7f43593c20fe6f156c29617bb321f24512d50db12a029e9a41e1c70b571fd113989e03b8ea39b5 SHA512 65210b12fac64c8732b72a92c6624367ff0522a8234072f582dbf42d77c03f01924971b3c48809e7e07164ccd66884c6beb1e51545e9985bc94024d3ea8349f4
+DIST firefox-135.0-lij.xpi 321522 BLAKE2B b6507673aadccd1745982c429661e98b51d7f32bca2e50e342935e35f6a690f6c6f7a2526b5f68af7634756cc3c5d4be80441bfbe6b4b2d00f7dfdbfa55b3a8b SHA512 59eebb2dfbb765ae23f0e8f90517890b54d8b372bfe9d808139ffdab59b0117364db5adb2fb8a002884c0fc6c7a3205d9d33d1aacc82c39040b649a4142dfffa
+DIST firefox-135.0-lt.xpi 385226 BLAKE2B d6d2c1e49487d180d8e180f3c75ee8977bdddf510b9535b6d144d47bce9f6b68edc7b9273936c8fbec9e1f70372e57797f7a574a9bb4d53333413f7a2ed9a6ef SHA512 e76ad7464c3734da6ace415157faf80ef4cf43b79493bcbb838313854d8769d6a092acb91814ccce19ff64d7e178fec855274db4eb673d8d8c97fe6678f4f6ca
+DIST firefox-135.0-lv.xpi 393510 BLAKE2B 9007d90272789a9f00244f0224d129baa7cb6ce05e7072f857698379e5f73086cb250de77b9448f465ac563771a46d0bcfe8bce4dc1d56023a5fdf2d320b2cb0 SHA512 19ba4c2b82b1b2381150b83e40e1f8b86cde4c941dfa7c125d34199a3811f0b3180103b68c7efb8a8faa2d3bfdc85811d1d96a972606e3a5d5ba768503fae6b8
+DIST firefox-135.0-mk.xpi 321151 BLAKE2B fce71272d8e723e3b291999614553e070f26d30df4ef6177cc44f5355d60d088b139ae3446be9da32f1ef2d1e28141ef99ca4a2c7554d57b666f3df96b1e23a6 SHA512 1fd6442541d8f0c50bfea50c90f8352b4e2ddb7eecf0ee14e686c3c484a5ffa1df4ed4629ff730a3ae04a2713f2d4a33db01544fff3e22630e00a78ce331736f
+DIST firefox-135.0-mr.xpi 360204 BLAKE2B 0437fac35c7c69251a62cfde0cdb6e6fedf9b28aa12bcfd68caa95df40e48bf93b43d27d32cce9a96c76f318e213049361c7448bdb8d143e5b7231c2b6f97527 SHA512 5af69a8c1b8fb8e4ac01eb884ae4b51ae401fcb95d87fe912895338e9f4b48d1a30061203f6ee62e17ff566da39a8f941236d2770a6c8d6447a43f72117df43b
+DIST firefox-135.0-ms.xpi 298704 BLAKE2B 8bc4113a75d0946e3647999492170289bfe81411a69934fc45233c9cc0ba0c50824ff2535661d97fc6173ce1fe243e2db3051d7cdcaf22d3353f1e78864b75b3 SHA512 0c7f629c330879bb4736454a1221dd680f4bc1cf16eda07b840a06a07e13e6d674090d0b973a3a4cf2dbe91afc632d01d855681af77d20936c527e4271822593
+DIST firefox-135.0-my.xpi 347843 BLAKE2B 38403b97074bb1bc69e15c3baabc8955243d2fa410d5429e31ab70b8c179c81d375fa09e552eba15bd72d60c4c7683b05332fe92b8aff42c039acace1a1c7345 SHA512 5ea6a82be3972097e44f3bb14baf1c474f9f12a108872576421120ac141023ecc147d98e43a3f7115d1e7fe3ae6e41fc878ccd8482841b85734edf1606daf786
+DIST firefox-135.0-nb-NO.xpi 419406 BLAKE2B bf0086f19730295ec016fc65887a1ffe1d3162d4f6cc97101be0d88636fcfa6cff1060dfa84dad58cd068496d3ef05abcfebc336d324f45bff54f7c66915c4f1 SHA512 a303ab153786d614240c67802ecf736d39469f8344e57f30a2fb64115b510d013e39660fa4c42406569b331acc246195eb9e49fb25e71c4d23121f53b5854340
+DIST firefox-135.0-ne-NP.xpi 353604 BLAKE2B 1a6305400f39457a834094d216e86b1121bbf26cbf6c335802a6970280e10193f2e294bfe00c311f54aca203e9a48bfb679ebc56fe820ee55a97177fc90980ae SHA512 335d8110051f01edece87660c585b6979556ff332eadc376eaadb6be7289d875ba8da858e83d0b1bd7769fbb7cfc9ed216d3dd96d0bea49f9d118656b99e1765
+DIST firefox-135.0-nl.xpi 431167 BLAKE2B 2e40b12df70c51d6cf7ffe260084e909423d978545b1ea069b3268c5f1e22f10a04e6c83022e474e557ea6206216739d7075ac2e4d1f1c0d422cff773a3834b0 SHA512 90cea7983b06bcbb844f34664ae049c0cddc3af74a82a94acc795756a0b88c28ee9ea06bdad7d46d15585406fd9c9c5c7c016e6832e3d0911d4e567be56ad7ee
+DIST firefox-135.0-nn-NO.xpi 421332 BLAKE2B 5dac4395102aa5b3413ed2439a958d7a3ea8f1d800cd8a7f8572cbdfc5183994e25e4f2bd8b75cf613be09446c5fb8ac24708a78ebfab9e962eae324e4481f09 SHA512 6f37214135d7c7e88606844787430c6c5fd06afccadfe58609831a825f3d9f1a80a33bf79064a9138f23d7d6a496ed1147ad3d5a9abf94814c7aa0bfa09083ae
+DIST firefox-135.0-oc.xpi 418984 BLAKE2B fef85dd0c93b3906bf046459a1b1e5020a428cf1a6533966e08bb8602e40100a29c7e60e1f16622a4334b2aa5439a6feb6cbfc547a3921445bb9b0a472a4bf00 SHA512 5099ae6fad9bc97181d30524112c581b2670a7faa5d39320cf8e1a89824178fbb42d1fb88ed8d918c213a77be7087414b034dbe2f6eaf56f426d01968cd4de41
+DIST firefox-135.0-pa-IN.xpi 489774 BLAKE2B f6853fa4b8a9bba4cba995046db17b0022b6f2ffdd31780bbe720c8c6384f76d0b9bed3483448ce1c73bb9f5b063df1af7e75dcc07d749483e5154256129556d SHA512 69c87156c4246d0ef785bc12b2f4041ffa964bcee9b596fa4931ac69aaefdc8e1c4e13adc8adc792c00514b4fc9b26a31ed548b0762487a6b64acd85b0cfde4f
+DIST firefox-135.0-pl.xpi 451665 BLAKE2B e42c0c85bd8f4fa145c5962b8d652bc5c789d0329e03bceccbc4f92d64ae0de31eba52b43eb21a389ac6c601f18acfa870c3c8a34e212417dbb8746785d20e38 SHA512 924f985abac49912c1d8a5c528eb8417dad036ee59616296b1982744419c7511cfa8e4b904b582713263787847514934737f37c3692f1aeb107b44b3f524bd7e
+DIST firefox-135.0-pt-BR.xpi 435482 BLAKE2B 4b5b04ce25416d590b9ce63b850fa1b247a79d977fdde83b162c5f5be5f8eccb7c836e6d3f0f19ddffb2dce509b87747510995938e34832bb60c04bb500009e6 SHA512 4cda680d8f09e8336ddc4f6f7e3c161d0b6046b1f69f7e429157eb0a41ea8fcd34b5e9548a9eee6fc0d6ffb4d4d9383289b7e820e0784dc33e284094b3d80746
+DIST firefox-135.0-pt-PT.xpi 441403 BLAKE2B ab95bd7f368756b0dbd05b40fe6249d062adcd3f65da58604612a11aeb14096682a38e44cd405c05aa16f73dca32696489b1566aab5c39e607dd4634fbec6a5f SHA512 dcc6de10bfb92f1b50515af3926711fde07f3b81d333fc86a9c7017a4f554fcdc0b75fa0ba641ff6d6e7c7db735d94ecf146361e1dd6624f7a2447fb4b664414
+DIST firefox-135.0-rm.xpi 434740 BLAKE2B 2938ea3eaeb0006efdc6745c50214543f822bb249153c6e28cb3692cf6ca9d1762a20f5bbaaf683f18be9af0a1715a9feb2a7119c7e89a570d2f5cb80082e64f SHA512 4dea5841509b484a812822741c5aadc4483ea8f7b23f81469ce49a220718c32fd454d2367161a71671b25e1e9eca06204c93e70f364bd237e2339e6cd15c6bcb
+DIST firefox-135.0-ro.xpi 366575 BLAKE2B 6f683848091c0593042685728135d66e7adb5c90d707eca134f1cc7410ef4afdf00e369323081fb757a40e66d86c3c18344e200d130c70cbfc079d48ba3afe71 SHA512 7a6c90f868be3261babc485a8ff6dca955b7330a0c5bc544b4cef82fde7a8cb1b559348741a9d58b06e053088ba71f61807f7e27e824c885122cc34b919b9f27
+DIST firefox-135.0-ru.xpi 518943 BLAKE2B 23f4bdafd399fd7853930109108ec79aeafb1e50db2ff43ae90ab5416e74fcaf13562b453b8b4c20eed5c4e2c32cf8443e92fff66be9d36ea13cccb89b62d4de SHA512 6b08bac9df91ffcbd6c0c10d22283109262e6d45f9dad7b969cf251024f85c0c69d17797e4de91a15db47474822306ea334475870f3139a43316ec6fa01e0493
+DIST firefox-135.0-sco.xpi 327583 BLAKE2B 2baf474753165c29165d874a02086800218c4ddfd856723232d29f71c86780ddae3421ff5b537672f05aff2baa53a1400642879497aed76e8656a9ec3b566c81 SHA512 2bec81b15e5b7768540c5e65a3a36aa2ee04413397855bf467f9fa6e3f254fc42d0b1ac26a87208d7bb40be14e3c9b793c8006162c15a558372c8ac5e6aa8c61
+DIST firefox-135.0-si.xpi 415064 BLAKE2B 245873f81f78efd16769c8b92259b3033977b87b5833d49e2193203a6b09279c58928ba2286bcb6625950c968785e5c5e3f503d8d9566ca580e85b2e7725133e SHA512 88c7677caa97e7227a69249388711b734030bdd7503a43a2e8587dadac40919263e3854bd31849483379d0810dbd87925790f23b942c2ce072cc43fbce13d873
+DIST firefox-135.0-sk.xpi 462402 BLAKE2B e64af04be159b1d8789c60661caf3d54c05d2b818b4603e464285448903cdeda7afbd55e43c42e02f0c18524f63c07dcbd580a1415db3da08948e02a9f2fa135 SHA512 085584ab6260170faa5ab816f30aad138604b4213eac7767b12007765a49740058f75447c91dda55b5309b838c55ebbdffea62555e94e56b5c9604cee1b36000
+DIST firefox-135.0-skr.xpi 498199 BLAKE2B 5d9b010ccd9aca267a308461c20b3de0304738d899b13882a1c2a8e074b754050c5963b2cf4e081ea2587542b006587433380eee03012a026c8182947eb00efe SHA512 954a8d29c778f93187ec83f1b6e29bc4181bd01571a260257fc4abcd9d51f6e0c254e3effb948e77ffe6ed383c6d47c67256d75f46b710168c954138ad2ae88b
+DIST firefox-135.0-sl.xpi 434148 BLAKE2B 9685a67ec60791b12765c67bab5bf1a4f2e9768605b074484ba36dcf84cd7e853c68afc808db632e1bb0b98ba257adcba98f699aaf82e88188926fb907cddd14 SHA512 58dd2c335fe866582611644c952602319ecc64157cd9b187126856d517553d1b35555e6fc7fb54de75ffd7273c6e5e92659ad7ffaa48112f6389885d74ff09f3
+DIST firefox-135.0-son.xpi 275455 BLAKE2B 4021e8fa3751324007c0c3fbcdbb928b4195fdd80b8de787cba3384958ef549238dd0da44c7d92926f776e4c157f4ccd593a792f64ed0857317f076edee9f5dd SHA512 66ce598cff7e3be199d20d9ce80d9e8dac559ff5ab115084fc99aae0ced59599b8ae880bb6f73b164983bbfce382e89ff2aea24b36054f31d53b96dcadb4e3a8
+DIST firefox-135.0-sq.xpi 450593 BLAKE2B 52894beeecb7fd1d55727c3013e6eae1fd1e69cd6c9d8d6c741bc5c36817b622f9ae33c2a779904c6be1474a529a14a3c6404e722296ff05b2cb6784ec1f5d8d SHA512 aff2aa1dcb5e86076917a75f82413a285e9330e4578ba37eb8327957cc7e7beb3968d5809e1d1d59e77f070bc6d459cd984eb54234b76a22124d73944d8d424b
+DIST firefox-135.0-sr.xpi 460576 BLAKE2B 96d5a9a3060897ef9abef614c1cadef3ea6ffa538303bf926206a7ce22a529d9e9b5dd227bfc567eaa6443e1b18e093f4f036848870fd280830ab86e436a3cd7 SHA512 649da4dcd223de2eaf04f0cddf23154268db81cb99bb2361020fd625f03bf81119ce430e49da94b8c7792e3a3d92317e951a033ceb2bae93daf5f1e398319c73
+DIST firefox-135.0-sv-SE.xpi 431175 BLAKE2B 6510b35ce1f7f02c7410a6e4fcec1ab1ffe372b8bc9df1bdf6a0d1d1f91605496d276c8c02be58384a08551f4107eee4fef22d2da4b5e1c740580bf8e19a59b9 SHA512 856edc47287d7c8ce827cd39a7bf56380f01380001ab0bbac33a871670a1bbed977276eb5b948a30e08eff7eb98ea5713848db6b8e91da23778fbdf5df249b66
+DIST firefox-135.0-ta.xpi 342265 BLAKE2B 503b1b22508638f6ddf8a28722f7369d64054cc7c061019277fb5591c14fb91b719c71b5c577822f7926d28e241a8fee7e73a80293f348af6bc85b4bf1471bbe SHA512 100b9b2fa63f9db8b99c824d8a2b220d2d0c6e426ec3eab1fd220747c54e8391ca3adb880af4b9e3bb9348cd9779fb444a4982a63a74808fa8571d42b8e4e0f4
+DIST firefox-135.0-te.xpi 387215 BLAKE2B 5d9f5519776cee3d1175355df7f1afbc2a8a0cbe7d4a270241a57254b36580ef499333f0c0395b942126f24cca512b9e6c020fe3c4ed192ba7fb2f24a8d1e2ee SHA512 ed97495775e8e20a3b604cfe67b4f58263bfeb4caea9692a1d7f2aab4020c4153662fb1781dfd0ea70202848f8bde2f0c081eb7a04d8de6a6de0a22da8f65c48
+DIST firefox-135.0-th.xpi 500064 BLAKE2B 541d6cb287186df84de489de5b3c45dc86954180dab25bb6878522af1ff1a4c2ac177026077a15e6954e576474a699597e7d98ff24824e3d1639e488845c8b58 SHA512 d3e3664bd35b5e0b12fbfc6827cebceb0ef12b0442d5f597492830800e9bd8bb0015fc342c1ddc8a76abf4d8f40073bd79cdd47b87a7e273a5af179add25dde5
+DIST firefox-135.0-tl.xpi 354787 BLAKE2B 8ceb51f40565e48c9c9498c3990d260a4a14819eb0dd9d177cbb447d0f69095bba7ce7da146c9e75b97e5a7bf0d5e2fa0284e31359624d2dd119d5aa810bdec5 SHA512 4ece9b2d48d2d81d3131aeecec47f5111d40d5007efee591cf9473f8bd22f41eca05e7304796334e6f4cef3880e653fd77750adf64ca9ee5734c8c5f241e3ba1
+DIST firefox-135.0-tr.xpi 442379 BLAKE2B 83a36293c8e24818796981a30127f1aa862e3406c0810e814a75a11d9a97c09d740978d76e1f79f39c6a5602ca620fecbc6d3aae6ab860325b2d87dc02756f45 SHA512 a071ff3a06e49d27f0ae71f5750bd25cc5c9a433817761ad2332b012b83b2f08d0b141e3344f6a98d93bfccab7e9fb588afce1e47bcef73c4b31ba5c161dc366
+DIST firefox-135.0-trs.xpi 326319 BLAKE2B 7ec1e441dd9265e1f73b407c42dd9a4b5efdcd52185a0d09a6a26785426edcb0ebfd7ab0ada20a167d05de9ff7ce6d7e04a6f63a367715caca33fc61c2a721af SHA512 87928838da938af07c1674019579fdc0778d13bd13af5db6891356f73468cca5a9f7612a34d764606f3e124737e80c6ee7a3d643106a6b3a892cbb79c56d7701
+DIST firefox-135.0-uk.xpi 510886 BLAKE2B e00ac1c282da95f3ed397a34448514eec6051d65520bdbbf46972574f04e2e3384969da7862d7e80d90e55e54a690f9ef901a09abd9e493165c9e66cc32199d6 SHA512 ebaca0dd3e7bb6f3857eddb6525e12a672a1984d6dbde6f747a5d7fdfa6bc010762f5e66f2b036606c0f1720c13f94a17257c928df5b1f681ff44c4b5f2b8ee1
+DIST firefox-135.0-ur.xpi 374855 BLAKE2B 1576cf57492c3a3eb1efb52a22922db9cebc69993b849d9ce9283f8b0bb4cdfa6cb4361256559d78866e00e960cfa95091058fc029be68300f66951b81b1677c SHA512 4d759c75fe0905a202340c5eec8cf806522d5d287dc4b28dac5677f73b592f688ab2914e23cfe300b45b1a2fd07b56bf495fac648e5ef8d0d06ef44bd4821236
+DIST firefox-135.0-uz.xpi 308112 BLAKE2B 6701697183ecded30c0c395bf1c4fbd79985d91596fe6d9d0ab18c41135f6cf510a51db9de5bc4c4045b28443f80faf1b1359ca192f60a9f1ed235c90ec41c6a SHA512 a8fc7839b612277c9bd1302c8977b679279247022b9325e7e43cc7dc65c69d2c84ba1a7e24c43fca1334b10109b7c71f0e78a7824c957c124cf91c06f6d748f8
+DIST firefox-135.0-vi.xpi 463945 BLAKE2B b0380f28be261ec67d15c1c5207dcb9f6d19f49dc7e1711c66a74766826ff68ac1875b6c93f30a9928e678b8f86269018416a01561e0979f7af1827b89fcfe79 SHA512 25f0832ca485f722b6aaf0fc5517bbf9e6aba7c450f40797c003f1cefb66cf364b773dbf29b45018c287159aaf942b362ac0762b3c9a11b58a107aa8de94b6a5
+DIST firefox-135.0-xh.xpi 275831 BLAKE2B bae380fde3744475fb2f45f6e4f16f228bd2f8fb0f118a7ab41ec01125b134f5660dad2d631b73dc9638629741ec3392e6bba3497f41d7cde5ce20c02190cc95 SHA512 0ddd50d6a61117a5528c59f2208d1f123384b7a436e9f6ff848a171fb4a689e3f1246474e50f69c9496e72d88fc86ab2d59e50f3c267c3cdf7f4c20cc3990d78
+DIST firefox-135.0-zh-CN.xpi 455592 BLAKE2B c98b1d6b40de79364aac1f00d5873fb33db274b8c8d4c6d76e74ba1c5ab35cc9981112ba02be760844d9b44534032e4fd3b0d814b0b67060cf6d3ca9e80865b9 SHA512 903222a913298c1c15dfffd6ec6de2fe2817d678f3004fc0739d7e63175ae91cd2f75ae5dc718df7ca70f9af646b3690cb20a10743339faa0f22142b65ba6a42
+DIST firefox-135.0-zh-TW.xpi 458490 BLAKE2B 226ff3062418d0827d01df1efe5080f5703fd8f4edfb9ffca2eacf7db496dfbf69458127380a6057e263f0d9166ca14d515baa4c8b4504a8bd390a9d2a14e87d SHA512 69aa1a2f600528db8bdce44a7056ab3c1b05a08b9fe82dc6b5d9246b4e0d4a4166241e6834ec2894c5a14a096b29d335134597652e4ce3c8b2a774b05739e8a9
DIST firefox-bin_i686-128.5.2.tar.bz2 88105701 BLAKE2B 7b939adeea9a6373c45513076ea21d67c320beb61c5514bec151bd044094b5e2dff1b0e2a0f5718975a3d22faee5c25a2b4f29564c3336ac5bde6e89311e381b SHA512 b7cda570a73523516b31792d14c53388fc197ea24131fd885ec2447dfddc030fb9d5cd040c788cb299ee701eb8cfcd4567d986acd7ed9f304336cdb4ad0cb5ab
DIST firefox-bin_i686-128.6.0.tar.bz2 88053413 BLAKE2B 029e72ebb128fbeb4957a1ec570834e39080dacb9200b100b4f1f04a1beb298d5e589e904ec7a4a5c4808c6270ed2cf453cf3d5b1d51bbaafd89561d9c548b00 SHA512 580e2833fdbd315d152000e8d91998122fc0d09b95a179609d5f19aff47fda5747147443103425ae6873c0c7679206b2f6999ec46d25ff083177a5aeb2848323
+DIST firefox-bin_i686-128.7.0.tar.bz2 88135059 BLAKE2B ed2de6556b59eb2566e154281b05cb553c1d7e48e9d41b51f3c0c89b8aa86bad8d24afbf6c202600a4943556539c03fab1c019a32e6687a111c0b778967d1368 SHA512 8162826a83dace6c54c086424d39c6f6aeabd349855b594ec50268a79511a6293e2d1fa28b7ab3a45d2e7af1a0fd1ac4b77cd9b6be2375215733ec9879a2f85c
DIST firefox-bin_i686-133.0.3.tar.bz2 91076838 BLAKE2B 17e76bdcdef72c4729ac3bc97b9ed0b40fbca05dd49ce43d5875ba6a6af2b12efd4c8c149c688483dc000f88c3841defbb47f70584cef1626cee6e4f8aeb23c2 SHA512 21b9f400cb2be49615c44be5028dd1dabd7e76c54a4a89864606a7c9ba7bd32fb87fd592421c1b4229cadd06a862fcbc3332703797622b485e5a9266c6c943f3
DIST firefox-bin_i686-134.0.1.tar.bz2 91561315 BLAKE2B 18ee672392d7d910ed3b9e08ed16fb1ca4ab2a40feb20659d263722358a353a16799c3dc0f2e970996e8a0eb957568118b2e2b47e35a833a14af1648aa206485 SHA512 a34757e46cd95d69cf98f7541c8a92bf232dcfb98521c19693048e6b27dc92b3d287a58f0e4281ecbe3ac09ac311bb7eeb71cd9ad95e78defffb3f2d32bdc3c3
+DIST firefox-bin_i686-134.0.2.tar.bz2 91514634 BLAKE2B ec307ac890b2fa128149caae62aa6e3bf67649c81b979ab957d90ab7e752515ca129d4b8f520caa8c053a8757ccd4668a12ee47ffbf1bfbe5f0bf625e31afd2d SHA512 d7803c469af1872d48669ff9956db9ae2c2aa3f34133323e1f1e7de544aa6f44e82dcec21918ccbbfa73c5f54fe68e85b6ee36f570f4b1c583690b3f0f2f4b7c
DIST firefox-bin_i686-134.0.tar.bz2 91691672 BLAKE2B de7cf31c7d13ce4ce7f9316ed2ef3f3f48840468f2a6452deb84364f666bf463230be23760d2bbd7f3fc5ff93e062a836dbe31e29e9411ad65ab60d3e3c68fa2 SHA512 76007936da48940871419cb6d64728108dd1ca2c47bb3d69466623588b51e8f99f2cda2fbe4dca47e7d4102cbca0a3251550fd9b51d7212e43fea3b5601fe443
+DIST firefox-bin_i686-135.0.tar.xz 75211412 BLAKE2B f097b5a02e057a21b3f0907139490a9ac46aced0f875fc1fc47823bc7c3a340bec77d1b94168cbf376977a53870dc954cbfc76324763f233bf91ff895997f4bf SHA512 bcd1c909732965692dbd3888d3c3eb317e153f504cc23824247d2b3535bf2ca1a61aade471c409d5a48914bdbcc2333d793f7df307e5eaea1c7dfb6c10c57a45
DIST firefox-bin_x86_64-128.5.2.tar.bz2 86795865 BLAKE2B be3466ca68de34bb32935cec4ac2eccd04fcaf3f4fd786573a2d00a7e0a108c920029eb635912b9bd6b5a78c4aad1302c05c51af8ccf76c6eeb2b3f67bf86996 SHA512 84117928f87166c884823aa63edb3b3ea067f00b26efbfd59d42b71b9e17b32102e05be629a45d46c1d6f06f1b67e5bcf312c25d36f0a513ca414bb4e5128523
DIST firefox-bin_x86_64-128.6.0.tar.bz2 86756811 BLAKE2B acabef818f34376361c83a51dee7a3c0687f0899640f3a7b5b6c0598f8bb17763665151b02b51c15f92af47ac2e2b37ca90143e8bc957a256132753617ed40d8 SHA512 38d6367fb5556c86df933cc6859e3ea7a5571643ea8815c65eb2029539e07fce8092ee13cd3ae603120751d0edc994bc9afeebe0fb3ef2065106c4c4d75600b4
+DIST firefox-bin_x86_64-128.7.0.tar.bz2 86834571 BLAKE2B efba11dd5eab50c7af83887ef7b3e7b3e247f4058f171bf007eb6cda808c1072bb44e6712b0b0b92796657027ecf149e184022120ae4f5275bad081201333640 SHA512 bb030b09f71f66b939e0bf5251c693629ac5bb7cf22a3bd57eadee1483d661d2c77c2c11b7d43866524eb5838a9303ac6135768b74e7c5b3d3ecb904a90047a4
DIST firefox-bin_x86_64-133.0.3.tar.bz2 89495132 BLAKE2B b66760769d17661bdfd7053968b632612a158bf604a5f687b6036e62547b364a16bd109fe068a5a1f8d100d99e8b1a27f310697a662295cfd838b9d916b9c746 SHA512 6d0c1e3afb5382a31d8cab5107de8c6d9ac07b233cf76154113ad074f1d0f555ccdb56898cdfff2075c97a13670f7f00049f761875612b2196ff14c5752a0034
DIST firefox-bin_x86_64-134.0.1.tar.bz2 89774359 BLAKE2B d72416a3be6d82778af54fe00225ca32b92e3d955fb82c8db68889b838dde87986952b4a08eb799382a7c724324cc85cc7c19ba074bab3974d250452f8c14b50 SHA512 2e19abad3e7e05b3934cd35c86ce88c0f3f5232c1c2e4c7164a96de0e0e065d996dcf2bb94d828ada88a62a65f6d96540bcef5749f1a442fc05dee52c14bb13a
+DIST firefox-bin_x86_64-134.0.2.tar.bz2 89684823 BLAKE2B e28427f52b83a56f4bfc3e6073125d8e142fcf66b7640e0f52a354451bff96ad622035a002582dafc6674e488749e883b2b29a779620da6ef162cce0415b55d1 SHA512 8e1a6687353ff41e3ff08be52910aa2254dc431472f02331d0257195d056dbf6e89a7ebcd563d02d62c934c8ac7a52b7795514def83966a0688bcd23893b293c
DIST firefox-bin_x86_64-134.0.tar.bz2 89698416 BLAKE2B 99f8dbbf1a2cb4b5db5040a2acd2af877830b8ebcf9aed8d8ae5bf307e2e3d6aba9a0cb11f58f17bf86e5545cf5e4bba9fdc85e82ffc7f9bb1a6ff15141b9cee SHA512 6d49b9bd7acd5441b51e7cd414233e16e1df70552c2d61021e630477645bdbbe9af8fd95e8d6b8dd8b48bcf1b619b6de14681a7fcfb26a3915a626d1dd9d8404
+DIST firefox-bin_x86_64-135.0.tar.xz 72868548 BLAKE2B 4211bef2dade11910e6de4f55c83fa009d92b22cd6f8c00c28f44fcc0c5efa0c0220225f2a4d3101d2f16dafa0aa656479dc1e4914e7567d3f92a7718e84c2e9 SHA512 6e04b2dacb6ef428ca9248b9ecac7a66ad13e3268a8a7bfb54418afb336583a9ce2694c39954ca0352b897ed7553ffb1a493cd72763770781ccffcef9ce5425a
EBUILD firefox-bin-128.5.2.ebuild 10660 BLAKE2B d08ecfd2f64ecd3642e95dfef294f3dc49fb9680df2c5bb078adc616179a8cd96311e20c24406af3d087a1f0fb5056f10b53d2256718787d800a0a07faaca6d2 SHA512 04a5a0993ef6d8b2d337d1b63d123acf7c1aacec34e371f128acbe1e4d536c66d79a8c22bb4fc74cca509dc103059d4206e12089895582a2d5376c740f45683c
EBUILD firefox-bin-128.6.0.ebuild 10660 BLAKE2B 6a6f2daf6cc17dff9a9798f5920cb80455f5835cc8132938925bf214af2f489251520f9e07865e15d149b66e0d886997a446f388c1d8b7fd8ff5e2a92f8dfd4a SHA512 7eb1796cef3dca35d600b0ed82112065070eb89a8555ed874365965e4ba5d967c977818f523e910d80a43bd58b5e32d0fc266fd1bd44779a7d93bc3a520e5a6a
+EBUILD firefox-bin-128.7.0.ebuild 10660 BLAKE2B 6a6f2daf6cc17dff9a9798f5920cb80455f5835cc8132938925bf214af2f489251520f9e07865e15d149b66e0d886997a446f388c1d8b7fd8ff5e2a92f8dfd4a SHA512 7eb1796cef3dca35d600b0ed82112065070eb89a8555ed874365965e4ba5d967c977818f523e910d80a43bd58b5e32d0fc266fd1bd44779a7d93bc3a520e5a6a
EBUILD firefox-bin-133.0.3.ebuild 10657 BLAKE2B 747b1af11b40446b3f0e511358630be02c62df0a5f44f850af5d1a15d45b9fe2c970eb5b4f1a27cb220675dfaa73abc4c5f00d411b25b9ac1144e9d93f717a49 SHA512 796e0223babd49b0ce4973af71334b58566adeb846802122bb1ab27f35c39a9733817b5562dd423520f9fe41f4ee920f06944765c55409b346ca748437fa1cf6
EBUILD firefox-bin-134.0.1.ebuild 10657 BLAKE2B c73b81a6fc5c2bdab9890b579e886e13875c42f477ba1d5eeacbca7425a6c226b834ce9467a2779373333e4704df400337273b8934479f80f9c55451136f2b02 SHA512 a4385c20e6fde2036c9f703bbcc9360dd140725d5d3f461876f918b376ddfeb48c9a4e04e8301726f99215463031896cf75b20f9f4f4232d7d8216558f5274db
+EBUILD firefox-bin-134.0.2.ebuild 10657 BLAKE2B c73b81a6fc5c2bdab9890b579e886e13875c42f477ba1d5eeacbca7425a6c226b834ce9467a2779373333e4704df400337273b8934479f80f9c55451136f2b02 SHA512 a4385c20e6fde2036c9f703bbcc9360dd140725d5d3f461876f918b376ddfeb48c9a4e04e8301726f99215463031896cf75b20f9f4f4232d7d8216558f5274db
EBUILD firefox-bin-134.0.ebuild 10657 BLAKE2B c73b81a6fc5c2bdab9890b579e886e13875c42f477ba1d5eeacbca7425a6c226b834ce9467a2779373333e4704df400337273b8934479f80f9c55451136f2b02 SHA512 a4385c20e6fde2036c9f703bbcc9360dd140725d5d3f461876f918b376ddfeb48c9a4e04e8301726f99215463031896cf75b20f9f4f4232d7d8216558f5274db
+EBUILD firefox-bin-135.0.ebuild 10653 BLAKE2B d03dd8653d556509231caad5e947680971a9651e70f6201c357479e6ab6f0af3fd4894bcfa3dab692d5314689af1ea0acfa4f61968d2115e994194746047cc3a SHA512 70f0da11184706196db9e5e20a08daf9d47bc01bf98111605e7f3c05303dc9986207234e52b2786ed72f0ba9633d4a447be26e780ab46f2f5a8cd5d1bfc97831
MISC metadata.xml 444 BLAKE2B 859a9628086f30da043382e969ee4413a663b6b0c71442472155ac434399eb0df210b5dbbc33e01488368469c81863ab53573f32b2d5ac321d236da60da609c2 SHA512 80fe43fe64650905c201a151f330d0a83ed3d89ff103828a4deddc68d4abc69e1a89f2f677d969a0164fb71b261cbed90164731dc5b11fe518a24ed48342209d
diff --git a/www-client/firefox-bin/files/firefox-symbolic.svg b/www-client/firefox-bin/files/firefox-symbolic.svg
index 2078eea40b69..1858ced70e96 100644
--- a/www-client/firefox-bin/files/firefox-symbolic.svg
+++ b/www-client/firefox-bin/files/firefox-symbolic.svg
@@ -1,64 +1,6 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="16"
- height="16"
- viewBox="0 0 16 16"
- version="1.1"
- id="svg3758"
- sodipodi:docname="firefox-symbolic-quantum.svg"
- inkscape:version="0.92.2 5c3e80d, 2017-08-06">
- <metadata
- id="metadata3764">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Gnome Symbolic Icon Theme</dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs3762" />
- <sodipodi:namedview
- pagecolor="#555753"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="1"
- inkscape:pageshadow="2"
- inkscape:window-width="1591"
- inkscape:window-height="909"
- id="namedview3760"
- showgrid="false"
- showborder="false"
- inkscape:snap-global="false"
- inkscape:zoom="1"
- inkscape:cx="3.8851213"
- inkscape:cy="12.517918"
- inkscape:window-x="143"
- inkscape:window-y="60"
- inkscape:window-maximized="0"
- inkscape:current-layer="svg3758">
- <inkscape:grid
- type="xygrid"
- id="grid3768" />
- </sodipodi:namedview>
- <title
- id="title3754">Gnome Symbolic Icon Theme</title>
- <path
- d="m 15.054715,6.9884649 v 0 c -0.02034,-0.133652 -0.04071,-0.2122775 -0.04071,-0.2122775 0,0 -0.05225,0.060583 -0.138743,0.1748124 A 4.9808937,4.9808937 0 0 0 14.703694,6.0103229 6.4034781,6.4034781 0 0 0 14.270352,4.895288 4.6469845,4.6469845 0 0 0 13.87447,4.2163686 Q 13.793063,4.0947376 13.708437,3.9805045 C 13.444828,3.5499376 13.142365,3.2867867 12.792269,2.7891599 A 3.6101075,3.6101075 0 0 1 12.333953,1.5474054 5.0151173,5.0151173 0 0 0 12.113814,2.3599798 C 11.754468,1.997397 11.441832,1.7397963 11.253142,1.5640539 10.322171,0.69459485 10.430396,0.24367816 10.430396,0.24367816 v 0 c 0,0 -1.7389294,1.94102274 -0.9855522,3.96297904 a 3.8848199,3.8848199 0 0 0 1.2949452,1.726432 c 0.728868,0.6012222 1.513693,1.0743371 1.927612,2.2832561 A 3.8741829,3.8741829 0 0 0 11.21337,6.6823034 3.5023502,3.5023502 0 0 1 11.490854,8.0697401 3.2946971,3.2946971 0 0 1 7.4621982,11.27934 3.0343219,3.0343219 0 0 1 6.6459244,11.001852 3.3219834,3.3219834 0 0 1 5.667782,10.09771 l -0.00463,-0.0078 0.058274,0.02125 a 3.0061106,3.0061106 0 0 0 0.4162344,0.111409 2.6028293,2.6028293 0 0 0 1.6570605,-0.195631 C 8.3154732,9.7379218 8.6308831,9.5237932 8.8866339,9.6084266 h 0.0046 c 0.24974,0.079514 0.446755,-0.1628244 0.2682391,-0.4162632 A 1.3596868,1.3596868 0 0 0 7.8423564,8.6778985 C 7.3211426,8.7537416 6.8434027,9.1241907 6.1603222,8.7653097 a 1.4470953,1.4470953 0 0 1 -0.128107,-0.075371 c -0.04625,-0.026369 0.146605,0.040234 0.1017455,0.010233 A 3.3899676,3.3899676 0 0 1 5.7047808,8.4439577 c -0.010172,-0.00822 0.103133,0.032367 0.092497,0.024039 A 1.6561356,1.6561356 0 0 1 5.3495968,8.015168 0.80517516,0.80517516 0 0 1 5.3190728,7.2964766 0.63405807,0.63405807 0 0 1 5.5965603,7.0356384 c 0.088333,0.043485 0.1429059,0.076305 0.1429059,0.076305 0,0 -0.040235,-0.073997 -0.061972,-0.1128365 0.00786,-0.0027 0.014794,0 0.022662,-0.00513 0.077233,0.033293 0.248351,0.1202544 0.3385341,0.1734358 A 0.46987818,0.46987818 0 0 1 6.19362,7.3061637 c 0,0 0.030994,-0.015351 0.0079,-0.079998 A 0.41623066,0.41623066 0 0 0 6.0414753,7.0300927 h 0.0074 a 1.3596868,1.3596868 0 0 1 0.1970213,0.1225561 0.96149289,0.96149289 0 0 0 0.078625,-0.416232 0.54479973,0.54479973 0 0 0 -0.031914,-0.2312396 c -0.024511,-0.046254 0.013876,-0.064746 0.056885,-0.016135 A 0.45137905,0.45137905 0 0 0 6.3129456,6.378979 v -0.00372 0 c 0,0 0.024511,-0.031916 0.035615,-0.043486 A 0.66134433,0.66134433 0 0 1 6.4484481,6.2503678 4.6122987,4.6122987 0 0 1 7.1259793,5.9048971 C 7.3174429,5.8211545 7.4760733,5.7573477 7.5084475,5.7388339 a 1.0637007,1.0637007 0 0 0 0.1355052,-0.1040612 0.91015778,0.91015778 0 0 0 0.3052354,-0.5272274 0.73996569,0.73996569 0 0 0 0.0079,-0.082324 v -0.023118 -0.013967 0 -0.00552 0 -0.00611 0 C 7.9293085,4.872475 7.749868,4.7943251 6.8119611,4.7064478 A 0.81997449,0.81997449 0 0 1 6.1413599,4.0776254 v 0.0042 c -0.013416,0.034225 -0.025431,0.068909 -0.037456,0.1040572 0.012025,-0.034685 0.024051,-0.069373 0.037456,-0.1040572 v -0.00742 A 2.3762148,2.3762148 0 0 1 7.0598423,2.9339361 c 0.024051,-0.019416 -0.096192,0.00512 -0.072152,-0.014798 A 2.3845397,2.3845397 0 0 1 7.2328039,2.8155414 C 7.2748921,2.7979724 7.0524371,2.7128704 6.8558842,2.7336774 a 1.0174527,1.0174527 0 0 0 -0.3496338,0.082324 c 0.046253,-0.039773 0.1849968,-0.092498 0.1521605,-0.092498 a 2.2499581,2.2499581 0 0 0 -0.713142,0.2696255 0.14521828,0.14521828 0 0 1 0.01387,-0.064747 1.1099484,1.1099484 0 0 0 -0.4458297,0.3440843 0.58966016,0.58966016 0 0 0 0.00462,-0.080469 1.3300881,1.3300881 0 0 0 -0.2187525,0.2053404 l -0.00417,0.00321 A 2.9066776,2.9066776 0 0 0 3.6684873,3.2618132 l -0.00463,-0.0042 h 0.00554 A 1.3610743,1.3610743 0 0 1 3.3803631,2.9339159 l -0.0074,0.0018 -0.00877,-0.010174 C 3.3285694,2.8728322 3.2920343,2.813172 3.2545731,2.7465739 3.2277502,2.7003291 3.2004619,2.646216 3.1731756,2.5902563 c 0,-0.00372 -0.00416,-0.00513 -0.006,-0.00552 -0.0111,0 -0.01896,0.05133 -0.028212,0.037927 v -0.0028 A 1.9923577,1.9923577 0 0 1 3.0080744,1.8396896 l -0.0074,0.00372 A 0.87130958,0.87130958 0 0 0 2.6704677,2.2753541 c -0.028212,0.063362 -0.046248,0.098047 -0.064746,0.1327329 0,0.0028 0,-0.00461 0,-0.016194 0.00416,-0.031916 0.018037,-0.097585 0.014799,-0.092497 -0.00323,0.00513 -0.00553,0.00882 -0.00877,0.013415 A 0.80147532,0.80147532 0 0 0 2.4956586,2.4848515 1.0891367,1.0891367 0 0 0 2.4262868,2.661518 c -0.00276,0.00973 0,-0.00832 0,-0.029599 0,-0.02127 0.00416,-0.059199 0,-0.051331 L 2.4161148,2.600475 A 4.3935464,4.3935464 0 0 0 2.0461275,4.0040946 1.3976101,1.3976101 0 0 0 2.031791,4.252909 v 0.00742 A 3.0653076,3.0653076 0 0 0 1.6539417,4.7690529 7.2174403,7.2174403 0 0 0 0.85524217,6.725337 4.7871157,4.7871157 0 0 1 1.2830334,5.9756593 6.9371784,6.9371784 0 0 0 0.79974461,8.5192901 6.582457,6.582457 0 0 1 1.0078598,7.7659142 6.3854411,6.3854411 0 0 0 1.585032,10.755373 6.9542899,6.9542899 0 0 0 4.3372422,13.87618 v 0 a 6.0196208,6.0196208 0 0 0 1.6038754,0.768639 c 0.07492,0.02728 0.1507676,0.0541 0.2284646,0.08 -0.024511,-0.0096 -0.04625,-0.02034 -0.070761,-0.03098 A 7.2609132,7.2609132 0 0 0 8.179966,15 c 2.494615,0 3.318287,-0.949928 3.394136,-1.044738 v 0 A 1.2625664,1.2625664 0 0 0 11.8687,13.559386 v 0 q 0.07216,-0.02958 0.145679,-0.06335 l 0.03097,-0.01397 0.05597,-0.02635 a 5.2315572,5.2315572 0 0 0 1.053064,-0.659489 2.5436321,2.5436321 0 0 0 0.98184,-1.433687 v 0 a 0.89628343,0.89628343 0 0 0 0.01343,-0.660421 q 0.03838,-0.0606 0.0791,-0.129501 A 5.8762526,5.8762526 0 0 0 15.1107,7.7140393 v -0.0027 c 0,-0.027291 0,-0.054583 0,-0.081863 A 3.5754215,3.5754215 0 0 0 15.05473,6.9884887 Z"
- id="path3756"
- inkscape:connector-curvature="0"
- style="fill:#bebebe;fill-opacity:1;stroke-width:0.46247858" />
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg id="Assets" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
+ <path d="M190.368 150.591c0.157 0.009 0.079 0.003 0 0zm-57.874-28.933c0.158 0.008 0.079 0.003 0 0zm346.228 44.674c-10.445-25.123-31.6-52.248-48.211-60.82 13.52 26.5 21.345 53.093 24.335 72.935 0 0.04 0.015 0.136 0.047 0.4-27.175-67.732-73.254-95.047-110.886-154.512-1.9-3.008-3.805-6.022-5.661-9.2a73.237 73.237 0 0 1-2.646-4.972 43.757 43.757 0 0 1-3.585-9.5 0.625 0.625 0 0 0-0.546-0.644 0.8 0.8 0 0 0-0.451 0c-0.033 0.011-0.084 0.051-0.119 0.065-0.053 0.02-0.12 0.069-0.176 0.095 0.026-0.036 0.083-0.117 0.1-0.135-53.437 31.3-75.587 86.093-81.282 120.97a128.057 128.057 0 0 0-47.624 12.153 6.144 6.144 0 0 0-3.041 7.63 6.034 6.034 0 0 0 8.192 3.525 116.175 116.175 0 0 1 41.481-10.826c0.468-0.033 0.937-0.062 1.405-0.1a117.624 117.624 0 0 1 5.932-0.211 120.831 120.831 0 0 1 34.491 4.777c0.654 0.192 1.295 0.414 1.946 0.616a120.15 120.15 0 0 1 5.539 1.842 121.852 121.852 0 0 1 3.992 1.564c1.074 0.434 2.148 0.868 3.206 1.331a118.453 118.453 0 0 1 4.9 2.307c0.743 0.368 1.485 0.735 2.217 1.117a120.535 120.535 0 0 1 4.675 2.587 107.785 107.785 0 0 1 2.952 1.776 123.018 123.018 0 0 1 42.028 43.477c-12.833-9.015-35.81-17.918-57.947-14.068 86.441 43.214 63.234 192.027-56.545 186.408a106.7 106.7 0 0 1-31.271-6.031 132.461 132.461 0 0 1-7.059-2.886c-1.356-0.618-2.711-1.243-4.051-1.935-29.349-15.168-53.583-43.833-56.611-78.643 0 0 11.093-41.335 79.433-41.335 7.388 0 28.508-20.614 28.9-26.593-0.09-1.953-41.917-18.59-58.223-34.656-8.714-8.585-12.851-12.723-16.514-15.829a71.7 71.7 0 0 0-6.225-4.7 111.335 111.335 0 0 1-0.675-58.733c-24.687 11.242-43.89 29.011-57.849 44.7h-0.111c-9.528-12.067-8.855-51.873-8.312-60.184-0.114-0.516-7.107 3.63-8.024 4.254a175.21 175.21 0 0 0-23.486 20.12 210.5 210.5 0 0 0-22.443 26.913c0 0.012-0.007 0.025-0.011 0.037 0-0.012 0.007-0.025 0.011-0.038a202.837 202.837 0 0 0-32.244 72.81c-0.058 0.265-2.29 10.054-3.92 22.147a265.794 265.794 0 0 0-0.769 5.651c-0.558 3.636-0.992 7.6-1.42 13.767-0.019 0.239-0.031 0.474-0.048 0.712a591.152 591.152 0 0 0-0.481 7.995c0 0.411-0.025 0.816-0.025 1.227 0 132.709 107.6 240.29 240.324 240.29 118.865 0 217.559-86.288 236.882-199.63 0.407-3.075 0.732-6.168 1.092-9.27 4.777-41.21-0.53-84.525-15.588-120.747zm-164.068 72.1z" fill="#fff"/>
</svg>
diff --git a/www-client/firefox-bin/firefox-bin-128.7.0.ebuild b/www-client/firefox-bin/firefox-bin-128.7.0.ebuild
new file mode 100644
index 000000000000..63d369476e43
--- /dev/null
+++ b/www-client/firefox-bin/firefox-bin-128.7.0.ebuild
@@ -0,0 +1,364 @@
+# Copyright 1999-2025 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.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.mozilla.com/firefox"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit desktop linux-info optfeature pax-utils xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 )
+ x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )"
+
+DESCRIPTION="Firefox Web Browser"
+
+KEYWORDS="-* amd64 ~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
+ 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 icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local exec_command="${PN} --name=firefox"
+ else
+ local exec_command="${PN}"
+ fi
+
+ 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-bin/firefox-bin-134.0.2.ebuild b/www-client/firefox-bin/firefox-bin-134.0.2.ebuild
new file mode 100644
index 000000000000..4c5943a46216
--- /dev/null
+++ b/www-client/firefox-bin/firefox-bin-134.0.2.ebuild
@@ -0,0 +1,364 @@
+# Copyright 1999-2025 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.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.mozilla.com/firefox"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit desktop linux-info optfeature pax-utils xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 )
+ x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )"
+
+DESCRIPTION="Firefox Web Browser"
+
+KEYWORDS="-* amd64 ~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
+ 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 icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local exec_command="${PN} --name=firefox"
+ else
+ local exec_command="${PN}"
+ fi
+
+ 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-bin/firefox-bin-135.0.ebuild b/www-client/firefox-bin/firefox-bin-135.0.ebuild
new file mode 100644
index 000000000000..e868cf5a6f6e
--- /dev/null
+++ b/www-client/firefox-bin/firefox-bin-135.0.ebuild
@@ -0,0 +1,364 @@
+# Copyright 1999-2025 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.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.mozilla.com/firefox"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit 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 )
+ x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.xz -> ${PN}_i686-${PV}.tar.xz )"
+
+DESCRIPTION="Firefox Web Browser"
+
+KEYWORDS="-* amd64 ~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
+ 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 icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local exec_command="${PN} --name=firefox"
+ else
+ local exec_command="${PN}"
+ fi
+
+ 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/Manifest b/www-client/firefox/Manifest
index 576d25bce642..b112f3249164 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -311,6 +311,107 @@ DIST firefox-128.6.0esr-xh.xpi 418478 BLAKE2B 54d8625ccc0303bd0168476884a60a2018
DIST firefox-128.6.0esr-zh-CN.xpi 675204 BLAKE2B 25bf725f17d878b72125bef0d3f18e8424b3cd19c53ea98e6b5822b278b39e71e60cd19efb8f5d300b19d185e14f3f92eaa8f5247475b7fb81d90b3bba9fcc74 SHA512 ddeb8b74783d6654d9becda9108b1e2285d761de7170f850b854b78006a59775f341772de5806a50758d675f341e34b64b195772028d07a75cd6ceb27da0918b
DIST firefox-128.6.0esr-zh-TW.xpi 677426 BLAKE2B b1c7f621ef3a73053ac60f57845d721fbedee579f098beac71f3b9d97b60c6a9ef97963829b4911cc1215f7a1dc935f3c9d30720b92f0eafa0f9d4ee46ebabb1 SHA512 1c415b1c94bbaabd6bb454a517aba30b7c19bab2a57641b48aedc2362ed8cffac1956cf56adee45ede9a9604dd1ce270d294b56363e859cf9e12e24d7adae48a
DIST firefox-128.6.0esr.source.tar.xz 563259116 BLAKE2B 401c54e4c3e81dd1d4aa9fed072e5266a7549d9ac05e03f9755d3da192c9c46d2bc636e8bf0a7fad2269074615789ab274b897c8bd75fd524f4a5f138c3aa1d5 SHA512 49bce966e062766861712bd65cca46a438b339fe31598f69e4fe64da78ef6f8b4581c1d502341ef1c032aafaab2f4f88e69cb93a0b845ba7173fec277ae695b5
+DIST firefox-128.7.0esr-ach.xpi 465483 BLAKE2B c0717d674ff6ef9d4b9cb16ee4a6a023467408364be0b95ad9c483d3ed2e85b07b7ba0b7c855235cc6fb476e7bf2db1489bd013d72459e65f47eeda6b2bd6155 SHA512 e52338351c9c04f52a1cb2b78a252e1f419c2595d173e565a4ef902bcc4bd78ecc37acf7ba6eb3062ba8d09a2ac2fa83a72593abf020492ec437d843754bb5a8
+DIST firefox-128.7.0esr-af.xpi 418819 BLAKE2B 3d040b9ed03ef6f458d591d3db5f2c58b52ae2bed6b0b591fc0fb5ac179ed2f5cd577b9d2e1523fd152bb883716654f07eb1ef3eab659244fdbf7c6e2b0f3f84 SHA512 2f51ea8f920a2b5e694ebb847098f9807c1392ca0cebbda156904894314fc6221f428f4dffdeaf298681192b486341baaf25f75e896be191456317168de10c41
+DIST firefox-128.7.0esr-an.xpi 508460 BLAKE2B 0e2328a7dbeba03e903e4773f3d1915f4afa79f3766e1f3e901cdb5e6201d5dd959093cbe2410c28549a409c04b2c5731d3b1bbdcbee699b78dcdbfff66feb1e SHA512 1da8dcd4b9b1dcaf1a3f324dc9057beb40e18ccdbe249f6121b629a05059e1de4c2385d773f52ebf043acf550ce1f3fd88acef5f070c25f6919a874b3e1ed0a7
+DIST firefox-128.7.0esr-ar.xpi 630804 BLAKE2B 409aa9ba28b196014526e3f78fc89e658722892c237539f110f56567ec16e6ab10896fc83a5998e7269dbe9e31ff369668c50e5f856187a43074a5d8e3ef45bb SHA512 9595b1a87b7f59b632b29718539b8ef830df19426940f5c04b837bc0dafdb10ff2be62d90d486395b8f0dc26b2bd60aa58f8aa48de0eae25ba26e580b5476b72
+DIST firefox-128.7.0esr-ast.xpi 497755 BLAKE2B 25dc917d95d110a54c594f2ca0812cda91af64ffaf45ed731cf5fe56b50a652ffc88900215fa6ce1fd5c2c800755b0fc10d234c0746b23ddf959ce12666d49d7 SHA512 b645b69ec25be8339c067a9f7c24640e778be70a09f4aeff0b57d76d43bb7b3cdb085c069784465626b3527b956d905ed741cf46747dc09c2b202b118cf7f397
+DIST firefox-128.7.0esr-az.xpi 492196 BLAKE2B 341f22a0da5ef46e09002c373bda7eb3ab5b772a54028dd3ff93e368644e8a17e10421879e529af1caad647c619a1e556360c92d52e65301f6b2cbc4de23c4e9 SHA512 ccfe501bf75ace33d0dc9e0b8271fa715e9b9e3c2bab6395d49a3671e6fa8e11d6530f2e04763b282991995f8110763fe8b1b9a0484437347f6cfa65f2d407db
+DIST firefox-128.7.0esr-be.xpi 731599 BLAKE2B bc61e97d46cf47fa32af39c8ef5e5a0fdcf7433f4eb940218e635c89b3a2d108e8236b0a909e541fc5cf60c23b8a23243dc8aa283804edf3e8e7ebea6bb28710 SHA512 ea2dd0562293447b3a3b67d286f45a35cf0b61496a3ba4129d05018af0add11ff78c758341bbff550104a6d96766b5fae6d1d96b7a0093b9f18623e572adf64a
+DIST firefox-128.7.0esr-bg.xpi 647383 BLAKE2B 8970cf49ffcb0ba77ea13bafd52638939fcce83c6d847d9319418eb1efaef243a0154412ac2242bd27f9c4cfe943057fecded3e5119aa718a97f3aba688df43b SHA512 6bd507162933c12c089254d3cc52fde6be7bf8fd07dbdaff17db9617557e52fbc9d07d6bdd982facc9989e8a58cefcb405939aa381e6b145b0b96803bf0b6ec9
+DIST firefox-128.7.0esr-bn.xpi 582959 BLAKE2B 69085d183ecf08712c95e06081d6acea16b9b198996d3772b7534e2988c9e0cf432f234bf693630751ebcf386cd4039fbb1a1558cc726e323a2df7504db81474 SHA512 76bff1022714f4cd634133975b939b6f5eade0be0677272ff82a896bbe79829ac8ac2b774502a8c08984ce968a9a6ce1012478f62f733379a682309991128141
+DIST firefox-128.7.0esr-br.xpi 595350 BLAKE2B f7ca2f9bc0624213cfab8c8b656374825dbc243453cf804250b5999d9ab8eb31bbf35a5c6e158ccac70fa43aa765903c4ee2f4f310089f16e3bd1858c208fa24 SHA512 20bb0d649fb3264b9614a1962a78a6fb1de956e973c0f929c72abed1224f134b61e293e1f52568e9b5d1dd9b69dace3497c89376fa47c1470ba1abf6fba5d69b
+DIST firefox-128.7.0esr-bs.xpi 515699 BLAKE2B e464b7f37c7b4bfc1f82d9b35a81ce713cfb2e8af347bf922b1e0d5b9af254a622c3e380b027681d0767a33cd8878a4279436f303cfbab81696a0e1531955b1c SHA512 647aa9b0a31f447feda5f2486825e0d2585682378f27136a5bd875f8528dd95ac5acf3ba9e15603e8443f13956d15f67336239f25a461579596ff9f8376cb46c
+DIST firefox-128.7.0esr-ca-valencia.xpi 547674 BLAKE2B 42782fb0776edbd7e8531f6b40425069479bdecc483512a69966d4fef2e570939b3ca09645e702b3a592ceef27fc660470a8d469acecb7467c2c2741b0af225a SHA512 4731c7e66f80f30f50bbb0a8d4d74a342c5159fcf207e51885f84f471cceaf334c176d70f953151f5d2de165463d3d75822d04e1cc5a0e13e7e43f74fa367a2d
+DIST firefox-128.7.0esr-ca.xpi 599211 BLAKE2B 4a3a64b94b72c22308474b4230fe7159a24ddc096ad279031c81314e3412a0973d6cebbda5912aa04e5bcaa2ce5b5ccb97cce8f60184bde411cc06a5a82ab909 SHA512 d999ebf32fb7ab11d6eb2e2739926769e716c37568336d50a8de9bd89c8debc7c8562ed8e5b59e3d414ce5f8f8867859e08918bf521b796003ddb9d3ba3b6666
+DIST firefox-128.7.0esr-cak.xpi 594639 BLAKE2B 65ffa086eecac9a70df7cc28ef129c39a0b49e9dc880805af2a7173b485818c7487784f129a4211b8f5b9fd97252593f4e87dd8029bc27d2f11fae11ccea0c11 SHA512 9d4429772183a9868a360cdc0df0aefbe4239eb324197939334ca858352e67d4de0e255cd096f13bbf91911ec65582697ea16962327c358f47a171921049f4ab
+DIST firefox-128.7.0esr-cs.xpi 675127 BLAKE2B 4a8a22a479eaff56aeb5d83ff0b2db0086f9fb0a8f4a021fff1b7507d7d9762caa882ca0e1f03bf37ab0619b9e1be0c9351529d33ca466d4e2595d756084376f SHA512 7637cb7036b0ea5b0b0b3d47128ba4ac75a50dae788e1d55098431d21d61ab45f0a2e5f41e346d4691ee82ad933660be6a62bb056434fee13bb242771506daaa
+DIST firefox-128.7.0esr-cy.xpi 641505 BLAKE2B d550bed591b840b7a9ea9ca420899e22f47b20d2347288b35ecef2e05d5c68eddecc0309020feb021f030776af4097cec6aa677f621509ef2bd0efb6e8524b0f SHA512 1fda03acf5f9b6c121b8fd0c80b381a0bfd1fbd055d89ecb0b4598629e022ee94f9087d6db70e69e547d7e7425c9ad3e7d1750face58b6a230000301fa3ecb9e
+DIST firefox-128.7.0esr-da.xpi 624953 BLAKE2B a09caf036a30b41978254d006756badcbdc6c952ceb5216f5fd5c9073e3f4a4773c3c18e243d0c34a46fa0e8738a93a8e3dc14e1f15df520cd77ec0e19aa7f56 SHA512 1848b785ebc27d3440b76528ac40b39fe74ebc124d7d11deed977d4d2a03feac87b8bcbd326b32ea88ad829d218515b298110cc7427a6d3b806815b190de09de
+DIST firefox-128.7.0esr-de.xpi 647908 BLAKE2B 44dffa5bc188000d04009d4c809d16edad8bfc62264f80b911629a8d282d281d25016396281a6287eaffbc7384284cdf9d26c1109f51ea515930aa48d42a5d39 SHA512 9f54dacdea129f7e6ceefbe6f68995d0b032b594f6a754dc7b7ae7df8f77c5284c404a83decafc72b74e5e3a78a7ff12d1a52bf07fd764bb451233c05b7928e2
+DIST firefox-128.7.0esr-dsb.xpi 667677 BLAKE2B c708712ee3a962bcfc8f67a6d786166b156446ea4e4079af5fba5aac95b16a38ddf74fec29e71bc2ee960874d9bebb0e4ac65124173c089d171e33742a63031c SHA512 3e46e6466e5672944fdab9d5a9bd5d2a2535d2acc5f75187070831946788e8ba63db775ccbb48bc52a36b3232ce2f8b2cba57e756ecb73582463c2a3d5c2a41a
+DIST firefox-128.7.0esr-el.xpi 752451 BLAKE2B 746f6dea14a29766707292d6cafc0710105dc16d2f7890d7dc9e57fc590aa27783bfcd28a8ac4041de9849d0e5198de35a33ccf364cfbd82ab369eb70297f261 SHA512 f5084c71326762fa049b6d20a2a67cd1e4c7fdb133c9f30f4af20085092105b22b68f62e86f0ef177a886d802bec5ffd665154dc6e7997e459e72a581a5b35c0
+DIST firefox-128.7.0esr-en-CA.xpi 597230 BLAKE2B 3a44aef6adc8289ef4cc3197c8e38e37ff1191ff9ba6240647a8b9172e70df9ccc80e9c9828bb26ee9a194e76c76567ffb0371e085e6d99e1d490b6260aa1ba2 SHA512 099b8afd7c7fb5daacb947e20e5e64c208ede29c7b72b8e020e6005b00554b32e136c282f679fe8ca7850bb1c7c6adbb8409e304938a64d539118bce163e6b8c
+DIST firefox-128.7.0esr-en-GB.xpi 600792 BLAKE2B c4a5943c47511ae3513c5ed12e7574a95dc6158d76dedef0d9bf8c76f50977ca3c80903064f6463a636cf87af897cbee0df56f1fa94b5635799b7ffdfcc1c5a7 SHA512 d69461a248da1ddca21ee93865eea8a4283c37687c2c75c568555c37b898e2788cc86009941c891ec50838e9fb2333fbaf7a46f771edc78956c4a7752c3fa51a
+DIST firefox-128.7.0esr-eo.xpi 628830 BLAKE2B 4ec7ab9524b668b65b71007d52657e4b7770ae6cc4662115806118a1965af7b14d95a5375c724f606cff8b7412b0de558d1c2425a4d8e08bcc21f663c0a8729f SHA512 3b5a3a134ab1dc4f883ccbec519fe4c939a22148786543a30ad19fd99bf28e63111032ec160e90d28abeb89fa5a43db138a29878038eaee0dc55364990ac120b
+DIST firefox-128.7.0esr-es-AR.xpi 644964 BLAKE2B d00f51be339de81c93c3a51cd21e9feb97a6393aff925a356dde0efb3c93d03f4f718f8efcce8cee1ebb83b782983dea5b6ad2371e92f3f4be622cf5a7e1b4f0 SHA512 b22c2a96975d412629a1e79a616a505d951bbc4699681a456606352a929a64f1686203987637059d02d0d9f82c45218580bb0138ce9a4edac95850f871a1ba3e
+DIST firefox-128.7.0esr-es-CL.xpi 644428 BLAKE2B 43cdb3b7afb889113ecbf51d84793e40132274efb1cb04b0b9449a4f93ea14e254b9bee6056582cd2666a18080a24f2a8e9dc431d9bb700f0937cadfe5695e91 SHA512 51889302b604ae367dfb23e2ad80b87d3c5e7119b7f515c0b466a9cd3104f7cb9f3fcddbc0ad00d2da46de6d248ea342808f6f426d4daf69ea7d89e6a0e7f5e3
+DIST firefox-128.7.0esr-es-ES.xpi 637339 BLAKE2B 67d7bc561e56438e0aeaeaa9b7670b36d7c26c939f22877c0a6eb0f8e6131ccce9d8e15a03e3b4bff9db55ad37a66d0521a54b10ac69eb61983343a50852b7b5 SHA512 94e5cd9ad2037c17f3f23711cb51b13ba6cd6c4c1c229e42eadd60863c457225e5077b6055384f638115f83228efddb16925e39371b4105c5bbc170825670853
+DIST firefox-128.7.0esr-es-MX.xpi 638918 BLAKE2B ebce9d0fbbd89eac929a4b05c81981c005a21db7cc48d82ff9b139550b9afcb6d0f5f5aab142887f7f1bb8c8508aa8ea902bd518354e02f557e8d768486f2705 SHA512 5648462262f63f0f71aa288e9283d2fb607ebff512e9f92368dbc07cec54d29daa201b2a5c29648fdf0f7f60605306cef5a1a5d501cd3585c2a66baf68dc2972
+DIST firefox-128.7.0esr-et.xpi 541123 BLAKE2B 582a9411e0ffdf3dc8e0330961f93f016a4a51d68c21d556c875e82dd46294d9f2bfc873decb26fbd6065176615657ea2117d9555640187933e4467619ac21d2 SHA512 0c78f511c9a919f078c7548fd6dac2955a9fd39107ce7c9824beb51a529c40b018bb015ede00e0627ed01f57fcd0fc17e23e87d0c248cdd25284679a00f395d0
+DIST firefox-128.7.0esr-eu.xpi 612333 BLAKE2B a0bd8dca7ec305e44d5069cdd53f5967a53e7ae89587916e3e11c06df242b44ca4c5ab3237d73c6354e94dcc471035d736790499f9527f6ec6c18b6574df3345 SHA512 f022b60feaf1875ed5ded956001c9c9b69dd1fccd452d3f8755d73d422a641539e34a97e8bd62e470a24bce075ef7e529f72125ad107def218c15a3eb2ff52ae
+DIST firefox-128.7.0esr-fa.xpi 593839 BLAKE2B 9750819f819ccc0db3f872c7ff5438fcd1d2edb98ec1cd6d93fcdcb31327d0ce9e493302a8c5b77eb14600731e5539b81816fdf95b35f5228fc5b16db6d4dea6 SHA512 e271e3f84bd19ce671cd676864bf521bab9655aaf5b5377ec3c53c6667ad36e15465fd17b7725883d2360d85047c183633a8582b39f51ead3824970576aac71b
+DIST firefox-128.7.0esr-ff.xpi 477474 BLAKE2B 66398649808ddc748feff2c31d7110aafeb0a13cbf012e75263ad126fd852d325288eeb6127d659af2e54b32a7484f795e0b92d3daa289d42f36e549a655aabf SHA512 5ce43cceb00fa1cee1fd77dd05894593092923aee63ccb6b3cbb04b674c13f5813549db6393f33f11a38985d829d3ece0b3481ad654420f0e33fdbf11b9a969d
+DIST firefox-128.7.0esr-fi.xpi 622991 BLAKE2B 10912886bf3baf02dee4ffc14de89e64245d6846bafdb5c6cdec099f4b95c4e21dd462e4af42bf38072349c9d4cbbb9bed5db8203f5910a1ef7612c0b7f9f300 SHA512 1f3759b7618167194910692bdb4a4721e56ff9b0689d321faffa9c8ce4bbfe03c2f3dbff2e738fe098c01f05ab5e74a2086cf531a3ed9779c04d9dda2489c21e
+DIST firefox-128.7.0esr-fr.xpi 655856 BLAKE2B 3454d2a9114c8e45bda9af1d9658ab0960c4538dc2ebbae0e28aa68dad1371d6af139d9c83e785155b3a812b0a2db898ec2b726439ce40e6a0fd42bea0461dbf SHA512 057b2b5a19ff9aa876f4399ff10bb4b170fa3c27d9015c094dddc1dbfb66ff7eb359e143c4bdee4e80caedaa29c0b913abfc1108cf0a21d38476a94383e6e0f7
+DIST firefox-128.7.0esr-fur.xpi 651348 BLAKE2B 3b9f5f5607a6ae7451d3749d979e22d9782a3fc35a963238442a64f2602bc3093cd6173a1bc5d6e23e6ad29665f26b35ddcdc92712818418c54fe719a6fc05e0 SHA512 7706db7c71cb29557ef2e5da24c284195b54fe6b614db987272964de7679cb1c113bbd58af324d761b04d57d20d664c7cc16365495c78f6737ee44d2e858c459
+DIST firefox-128.7.0esr-fy-NL.xpi 640610 BLAKE2B 5262f46e3771d921dfb64cbee52a8e2aa346c94db891940d87941dca98b1d4e301f306afa03391fcc6546720d2c3d16ca5feaefc3b3329688a9d95d636486490 SHA512 7a8bc523ad28074792e28ca654b22954b905f148d2ba93423d2de52cf5e78380dcecb8622cbbd5cedabb9cbaf30d46d81f8420f4a397917e20cfe99c51d740d9
+DIST firefox-128.7.0esr-ga-IE.xpi 472340 BLAKE2B fd89516f031ecb68b1534e31aa68c5e6f746276096003d77ccfcb4173117fa7ce2ee1be5ffcaa1f5b87e8fd3968705feae7dc38a24fcd6afa3646167cc2c6e84 SHA512 a313b0275def574823739c81519b6148d622ac69c249a2df41a2ba5116f42e816707798825fafa25d089c3077c4bf9bc7cfb1c2bc1220d01c13445b2eafcabf5
+DIST firefox-128.7.0esr-gd.xpi 598315 BLAKE2B 4aa692e993bcfeccf794d69fdcac60d1f35388994dd5fccd964d9eccee696b5a8711bb15dab753f87544dee9ce5e10425ed4edc3b57c7c72b3f21caa19b98131 SHA512 dd46afdbaddc04f8c2cfcc9b53f477275dbcd0d89433894924b49b89bde2d07b593e3b3a37a0cd939b17ab96166d9ff322d9fe9774ef60c1149bc05855aa50b0
+DIST firefox-128.7.0esr-gl.xpi 609630 BLAKE2B 124ea0a0765672a031042a4237eb601f6d252c6c8cf87fd4e5410626f7e68dd76fc4512c70d9f5369744536c9093c52fdea324a4296ead3105c95e9c336f0fd4 SHA512 a289a316228eeba2f536b0853c41e24c02a48acdf77c82f75be4952adac7a9b93ac47f40429c1e6c2da7b8da240dd3b43de1fe028747fdc3c2e942fe2d5d70aa
+DIST firefox-128.7.0esr-gn.xpi 652876 BLAKE2B a4db36dadd148715796e486f3042a55b8d98999e5b3749f39810bee568d0a98a8796ffc072c9c9242979ac36537e62caa2cbfe2ad3edb1eb44593820fc14a747 SHA512 9c8988e1b136ddb7ef5f86f495d10ab804eae80498e26e9a7745b485e204f1d5b8897a94142355a68b577174a4e7e2dda8c6e0a726b90ded00468ac32f05f8f5
+DIST firefox-128.7.0esr-gu-IN.xpi 528791 BLAKE2B 95868d0d7e297751bdccfa2355626d461db15d77e4eb7194531668d29f7ca49aaa61742bb4da9bcb942762f25c61eec315d3fb618e525165229e386f23f8c0f0 SHA512 6580a50e9e22122a6b400e1b258937c7adf5c247a27cb20eebf0f5536d69fad9e15f428d2735d5f2f8dfd267e2b05136aa7e008769f032ab4f685167a5954d3b
+DIST firefox-128.7.0esr-he.xpi 647295 BLAKE2B 9ce86e695e77b7f969d5838b51ac8dd16b0481a90c85eb1360405ba2ef84b03351d23eb0d7d50b8417c727f71e366cdb341ca2f9f7a2d104ae22317f754e7ab6 SHA512 c5d4d9f5ef1ab78b2cfa0ba0438bd59a8d2db9d1c1d6d93f8b049409d868aeca78df41b21b1fc77a2064890910a5b1520c07514885daa73d889b44cac6e2e968
+DIST firefox-128.7.0esr-hi-IN.xpi 568352 BLAKE2B 8ec3f01b955928e5146c6f50a3b750615501ec2f83a437b6de77029c77991dd6f6c1091b4970de8c60e615d4296f0cb892c424182093fb81add68da6ec24f3ec SHA512 51334f50656598a69cd873199612e2e693eb0288d3886d00f14c2edb911f271db75887499aa2cda406980180fe16d241ac1c4757362ef28616f768e40c016a80
+DIST firefox-128.7.0esr-hr.xpi 619164 BLAKE2B 39dbc0cc488b81d1d410fd8a933452322fde38a616a939a731e5d8a10b6d6df98044a6da88f43fecd244865234f9e195089bc37709de646519fa8b15daa7b027 SHA512 d9c57531683612ddccf934edfa76e7aafa6de5ebfba159b6293a23c55d6d1a943f13d03f405582fb88e1b1a41ee2526ef39eace8cebe0d24a204b837ce574986
+DIST firefox-128.7.0esr-hsb.xpi 663542 BLAKE2B 88afd15084f8ea35a3897bcf9e8280d75788b09240aca1d81848ca95a72702751204fd4b32ae301a891dd489bcfd11c353de992633592ba5eb3ccafed1c91276 SHA512 fb03efc01d7ed389399d94d57493dff5fce8d9e3bd5b8f71ed79c991954ae6d553d5a56e6fa9abf105f6c3413fc80c53c97b310a9846c30df789ea83f08ecbbf
+DIST firefox-128.7.0esr-hu.xpi 667800 BLAKE2B 9d030ca60ad9225d4a21ca81dd3ba8a0fbd4cdcb717e11e76465c5fc58d268226e6a3bdf2fcadbe86e02188744a567107bcacaa2d78349b65f69bb7829880221 SHA512 d3903de671f16660928c7c1a39dfeb1b78e39cf2fbfceee68b322eab47df9e4e9ddb4d1a86f35588c375f5e34a82c2c2621da3d5ad7d5eafd09784e6bc09e0af
+DIST firefox-128.7.0esr-hy-AM.xpi 653033 BLAKE2B 9b290ba98e839690825ef1537304394dcd53fabfe696eda264d8b35ca19a1b6043cdf26c3f1020ba3a712f3674a4039a301670fbec2d1b30fcc866615e546550 SHA512 6b5d7e05eb402bbc619e8dd0a963c3669ed1cb771d8f5eb89932e9d32c811b00f931b44f2dbdca9555ac287add8e30da1d5d44babadb1e2f752e7c1d75a4c9c5
+DIST firefox-128.7.0esr-ia.xpi 627664 BLAKE2B e6c6d40f1f7c43eb18656a1bf4e8ae9b5a9948208641d4c7b3feb8c84f78ec516c815bcd540b10e910a8c8a343d651a07c0ff491b5631837d5b99f4b6ca50dd6 SHA512 87c9d8f3e0839bcd0ab58abe329a65718be7fd07a38c1bcd3a9b4f0775431f14efef9d95e5165bd09718cc3591c29149426016ff6d1e5a45624d283dbabb40ac
+DIST firefox-128.7.0esr-id.xpi 587626 BLAKE2B 7881f0f950fe4109cc87b440771eaeb729ed246a52fb1a3a30ff5d09dd9c6417c8c6b4f2e886e570f08345e31113fbc3f3b71d5c21c061f07d5b15411ee829a2 SHA512 0cba7c09a86a146255c2e749d47fa37f23b7f20e01d74e7433aa5f29deafba0cac5bff3ab217a90648bfb52036b716babc7a1fed794357b4f8ee96dbf2d083a1
+DIST firefox-128.7.0esr-is.xpi 630678 BLAKE2B e9fa508910c260bbe3ba19880f26c101d31f03238b853974e9af255f028294e82289273537b55fc7e5c2cc37e966f92aec65243a5fd6040b00c532001c6807b0 SHA512 4a4671ef535faeba0dfba5afa1eef39d1803510ace737665f271f51cf7e6fdf3a1f7642f93f77dd5797c023bfa1392662de1495596f72d6a7b533285b4ffff2f
+DIST firefox-128.7.0esr-it.xpi 584344 BLAKE2B 0e2f576cc9d5b7c1c6227d87cb97fccf4e4ca7da88ca65dbdef7920c7a043bda578d6db78fd712c726d674fac44f24ccf9e552c193dcb4345629a74a68e57ff3 SHA512 4a75a3d263214d11d00e39700ef311378b10950256b34590fb4c00391e378610a71bbd49f41320633c4656d607aac984e242c96d2dd8ca22f3925b5b3f4eeb60
+DIST firefox-128.7.0esr-ja.xpi 691952 BLAKE2B 9d9b914fb4d174dff9e01a2a27da7ae69be4b1927d53df84ffb2d2145c54dd867d7f239f27f82974e004d9e2c6083d84b6b0a45db72f825427125d57cc3f2e2e SHA512 8d5c5de551f79396886e33b1199fdc6bac5b0969b3c9a1f84b8239b9b62e954fdde34b6e069d118fad5ca1cfe1568bc36441ec24ab6739991c898372a65f88ac
+DIST firefox-128.7.0esr-ka.xpi 662317 BLAKE2B cd1be8ff1ac777b96732582b0900a067d9a3f61c0ca476e00c095c11655d399c5189186aa5bebff4132a7d20f664b178951bb5c40df3728a0d5cfce82c73278b SHA512 a330c2858a8b2087fc166d7d08a89dd246778ae23700a1a2ee241f1d9835b60f1588f052a05bcf15fc2cdf1ce89f11dc43f595b61468a819bfcfa4069df644b1
+DIST firefox-128.7.0esr-kab.xpi 619284 BLAKE2B 996765046e2e0fcc9288781701da47af7a44ca03bb1bdf2279f7e796202112bbf9aff9d969d9ccc2048e26271a67d0cc28f787967335c7f7338427848c5febb3 SHA512 d84ba6dd112bba69534ae93819b12ef63e59f31ff8ff2a731627da81ac10d9eb62835ab583bdcaa0764191b07d66c8fe42a7fd5886b3bc9e83d514d431d00a75
+DIST firefox-128.7.0esr-kk.xpi 727325 BLAKE2B 2643479c1f79870a5a9ca255b42530de886ea3497d321d2976894aee62f853da66fb4982c66683542593e80e07f5308bd309405cae3deceac2b6177c1de6d6a5 SHA512 34908a6925293e0b488af13b3155a5cdd50492e8bd89e67f911fc7bae9c401234732860b331861ecfaf161e30a4aa3ddec7f62dd87fc6d20694e089ba6f5c23c
+DIST firefox-128.7.0esr-km.xpi 527178 BLAKE2B 3c6597c835b2ea286ae025ebd72746433ec84d6c19cea3eb9b0a365da32bd64191a65d2124f031dc4505d008eccf5c0733432d4e92c569c40fc2216cd4367746 SHA512 53d4e90429a8d318bbb2c720fff0e1d49a426521ebdba3dad2a1e4f9f6f2b917293595a4e9b912b96cc3b06d07a650b74cb78c4193bc20e7c121ac38ae640a0a
+DIST firefox-128.7.0esr-kn.xpi 492548 BLAKE2B b6c0af5c1059376f526cc945e8e1a4f20f672055ed964c632ef46e24a82e4af8a58040a20ede07dce05d073730f79dcad51ee7bd9979c951527bc31f70e3ceff SHA512 0ef3b15d5101155b904513ebd64a8941be2ea282462252db8ac73e957fba005779cea4ebc047a20c22000b5b304c5ed06f2671363b99fcb877b41189572aca8f
+DIST firefox-128.7.0esr-ko.xpi 679384 BLAKE2B 948b547b92e165ea2bff6ad817243766bea8bb09d558fbba193c9bd5c484c4d610d9fdfe79fa2edf731f3a6b795ea4f4514807a469ed21b1536babeeeb2f71f8 SHA512 09ac3c0db7802207d8a22b93581a170c361e2b706410c205e7f479924426ec704328f9daa82417d9ecaf4a4a08217b045122bf6490d97e6ba1dc9e4cd9f80b53
+DIST firefox-128.7.0esr-lij.xpi 485540 BLAKE2B 60ad3114e58b01334b7d2b3ea3b92cf6fbb0d2581e413787b1a8f71da3ccfd26d1f1c55b7e48871b8ed78b8fd823e19544c205c38aa2869e5cd756074d21f863 SHA512 a5706941340de16a7d691e92255d2a01faa8d2bdf089647450dbe16e8405cb0787e1b15d5f2daf58212f9a23389a9693d997187f234e66bea4c97fec01f3b934
+DIST firefox-128.7.0esr-lt.xpi 574118 BLAKE2B 9711278e06f0e560fc94cf7eca2f9e488ab41bcdeaca5848b0b3198529c13172849b69269e51eae52bdf75ab744e278bf980142d6dab0c6a0b7747bbc4d4276a SHA512 1f05ffa418eace17236c0eb16e60e85017d913cb89b247125692bb230b98df5d0aa0c91da2023ac3f65cb2d07a8ccc079c7906115505cdffaa26755c28bcfcd4
+DIST firefox-128.7.0esr-lv.xpi 587212 BLAKE2B c2681b7304ab4343f7d35d6a2b148d56b294530088545034dc73e6c677696293b64a11b14b72b58a24610c19ed464ff5170f6a37caaa9603b39f9921b894b819 SHA512 65e6c6ad4d72646a3ace4593ac9760019ee5da05a5a11f1591fab321413be64d67ffbd4f40724a16499a9178a109864a407818db2b8bf25489fa114580b61868
+DIST firefox-128.7.0esr-mk.xpi 495164 BLAKE2B 268a89c36e1f56cc33a4a82a1ee30361c05353607cde0bfd5007b16d7a6391203cd731e78dc909d3a90727ac59d209c85e5c6567e33810bf632889026d7de270 SHA512 351264d6e2359e8e219f0d6897cf4c3ba0626d41aaf44ce6570e820815fd77fd42e31859cacb1d87781b6298f3f421c2e00f76f8e954a46db1147ef8c855bae2
+DIST firefox-128.7.0esr-mr.xpi 533536 BLAKE2B 8e3fefda058d6a94ba5e38285028f4a605efa6438a226c0c53e67bcf8941692df5f3f60449956b2445d3ff24484077d1bc1faefd5ba24c7462c46c79e044bc3d SHA512 b429cc0199bf8e74378cfec1f2b778b4afc2020bbd69ddd159028cf3ef2441a73f800ef60fdd55b537f766f6cf5c026b8b30c5925795424cf1f704eb7634740c
+DIST firefox-128.7.0esr-ms.xpi 451145 BLAKE2B 124f5991d2dd7160de00a1f3eea26989fd5965643b6f9f5dcc7aaa4fac4eca049b1964b14888fe41008dd2408164ec5be9de94b7e27bb4a76f7ae3d48ad80342 SHA512 93a1d4f60d388f50e5a10c60d41539a8ca3064a28a06380b50544e9b09877d711288b7ae4fe84d9ca5119d699b4c628fec7bfc16b30466d23678258c46a5f3bd
+DIST firefox-128.7.0esr-my.xpi 519907 BLAKE2B cd2c32a1a07f3a5f2d98bef5ce3cddfccba1f9788a94b89dc350f2c802f1f80230a765c4cd7f7e63cbae864990ab775a32dd13d3267da166a56db92d0fca7bb8 SHA512 44f22affc656e750f8e5788ddf0fa544f6736d46460fe89ca189207d0c1e92b71e3bbf6136a4f8e4022b22f0dad5e003569543b72218c6a7e8f28dba9b8a60a6
+DIST firefox-128.7.0esr-nb-NO.xpi 620016 BLAKE2B e38751f0c073f0cadec543fbe3872b97233edaad0932dde584d3828a4203bd472c822dfe741fc3b53fe2e44fd608a87fa9fc2ac9ff137fbb40c69108a0860116 SHA512 62b8b7dd394635a376ea893b6443f6d809b54efbafb6cd34f60ec14fd665f7b5595bc3b793aa24d682e4d50850ee5ca8ce34f744070cd7d451bb7c6198a29ddb
+DIST firefox-128.7.0esr-ne-NP.xpi 522150 BLAKE2B eaaa681fd5bff9be32fcf7849dccbfaa4013b11128e1ddd9bdabddd510a819521eee51a188e86b938e6e0a45f0bece4f4313ee014f5ba0e79c544e57a5370f37 SHA512 15a3b568548bdb6e7a9c0077d25a26e26bc452c4da2f0b83e0f3b362d5680156f729324e51561dba8e088a5f32d9b7851e49b8226c8c91c20c6119e4c36dd8ba
+DIST firefox-128.7.0esr-nl.xpi 634319 BLAKE2B 3e2c93e9b88dd59f899a3cbb5e2043ad8d81626b491eb0c13482320ec15106bc3fdb6489b6dad917cb54835cdce2ebce698f66dafc04daaaded82633fcd0762d SHA512 3a5ca8ed7a390f8fa1ff1428e464ad0117412ac545f83654fbe5db676560907f960464d5172755449ed3dfd18a18fed41dfef72b49bb503bb5391f040f449d79
+DIST firefox-128.7.0esr-nn-NO.xpi 622824 BLAKE2B 0ff6b48abc184e6caa2e851ba759d1d15c43c8b0e64ad1a88a62c3f35e1793fb0c687ad52e08a37155d4cf285a5aafa70ee3f3d5cb0baaa69ed71345361fcdec SHA512 dfbdbb24b235e6f83b95e57d363b35ef06922000aba4c8f9f92fbca00328dc4bb07d9519e230fefae658ecd890a60d9959834988309c36486dee90a4c4144fb1
+DIST firefox-128.7.0esr-oc.xpi 615788 BLAKE2B 67e41d5fe310bb5f4c532a228d98cf3d9762213b3794709e1b01422c62b56e97e6b57954069971af11dcb9f88f9aa09da6bb2bfe5492e033e853ccdd8bc6194a SHA512 89b6d950044423ce10b76d21c56955eb10139fc03e7f0c8d9b7e5b5ceb5ae563b6a11e9a95d839ceb87c0f294ca8bdc97b3a24a6ca863b7fba5e1265bb412fc5
+DIST firefox-128.7.0esr-pa-IN.xpi 711068 BLAKE2B c213219faac28be54a1fbd211c4e3feeffad79b7752746d19d027d9418b79cac0c72c932141b73cbb113f9b162edca8ac312490b10fe7bbfbba141818f6d33de SHA512 00c077a2053e9402eb94102c1d51d19a3b5201875932ecaf1c97705f8656b3adb25476d6b60980e06552005165110315c5a99399d42247aa86366cdb049c10b4
+DIST firefox-128.7.0esr-pl.xpi 648791 BLAKE2B 7c917f35ee5b001bec2dc05b0669f54608a5bfa0e162edfaf7d865543096d60e194b7b9706ea8d81a0b43b1ef51e34a71166cbb55c2602fe4d6e9812bca21aa9 SHA512 282fb1cb78614289f922992a92895d2f87239062d26ccd4fde8857abb26736339f45306506e22547a8a10ac3197e9f8138444c77ea82ecf9db3a42053df60df1
+DIST firefox-128.7.0esr-pt-BR.xpi 638904 BLAKE2B dcaf73f669ff48050c53960a8bf5c31bb35e31a6958854aad41a1f958867d190a482ac00a7ceeb84df51236df6bcf4f2f3fcc2d1db15a644a79ab1902b69907b SHA512 d96966539ac61aaf47f6d0bf7b6f39682dc0c4cbda3320799fa67d17fe933625eef7c6ef2cb2bc3c53e2fe6a358a20928019a638473dc59be56b8886682a6be0
+DIST firefox-128.7.0esr-pt-PT.xpi 642502 BLAKE2B 945bec76ad9a18010ffd6c1d525754420d88252193e7e982605d6af73259f528b5d01695c59981d908a1c57067266dd6a1556cc57fe822f64f547a86cbd0d41e SHA512 9857306f575d00f560740083a045b3db7a36be8f694b4c40e66fafedffedd2d091b24c3e93953d88568f75f701427b427431cdd573aacf4fe83cbe967410a4b0
+DIST firefox-128.7.0esr-rm.xpi 631436 BLAKE2B 4c8d165dcffd1a72c0853727ebe32bda6619e5a8c4e57d64cb4947efa374fbb51759cbde8710f20badb7018c21b6e777d983b81d5f8983e6311512d702723b4c SHA512 b20b2e7c444045f3e3faf21384d96273e32fcb4f3bd6b2082ba91fa4ea611db25311d887af29cd7cf957dd73c096c6c33c5a2bf74f6b52bafd914b5c161e73b1
+DIST firefox-128.7.0esr-ro.xpi 551219 BLAKE2B a2b834fbf41e5298aacbef031038848bb6c1e1ce53db7f310258f2ccb64334bbdfceae9683d4a3586a6bcb24b56b124eb1460410f29cff4ee30180e2bd77a65f SHA512 12e616de8eca4205b74f31d249f754f72a07d3cd402c13e500239879f1230eb475216b070f0d76864c426279b085c86b20531212550b6985926a042659485e60
+DIST firefox-128.7.0esr-ru.xpi 740411 BLAKE2B 05d00c4d9d3d96714294a21ef0ecceab3294defe56f1b52dc0d0bae8d7c6477cb9ac2aab7e1cf1523773ed72a4ed553093b87c8b70b180394e813fd75e67a9c1 SHA512 9038136cde24e027f20146cdd1ca6a447b244b47477bb2e3f86e21d9250126f8c66809b267c662902d6cc0f27000b61f01d46f2f14948e8072bd8f1bd69a8b6a
+DIST firefox-128.7.0esr-sc.xpi 598928 BLAKE2B 9c74330d7ecd4a6a4235928c507d063830ab6e28a2b93c341e46c8904d14967f9df5b11deb0599703753b278098b7d0bbc4b8bda3938a296f9120806367f4a2a SHA512 5116bb2ac9a0f047984d2879ef7ebb845d5a1505d0e537e42844964d4c4e942bf4a3f294da61b3393ea48ce6679c0f61ee42e897137070bd91ebe071c53a6473
+DIST firefox-128.7.0esr-sco.xpi 512689 BLAKE2B 08574018942cbda4bb29f65976c0abceeb0f42795894f74a0f8c8d983a853f641092d3c82cd5e696274b768e82d5d41b58887308ea46241a97ec47b5feb06a4e SHA512 247348eede7945534df99e2ab0db1c139c82326215e30270f187ae83cc0275433434288578347b14e94b48c6891ee0c671061806bf2fcfa5e3a4e8da3109864c
+DIST firefox-128.7.0esr-si.xpi 621560 BLAKE2B b389c17829334ba6690c99fc1fa3958018a4a34755aea8fc7b4b6421039d70eb5b9bf2d87ec992e1aa184ce00d3b72781cf7a693f76bf9e8e378e0dd3a56c6b9 SHA512 390b59b7454d6b47eb484dfe94d8d891c17e482c88d21db60ad77e74ab229b9a6c0feb7a1d757ae6aefa52973521578d5f6a11d354301851ba57a0958ccad7d1
+DIST firefox-128.7.0esr-sk.xpi 670797 BLAKE2B e116ce5e829e9c913fda86447dc7ec2809cae1b87d9f78de84c3ce3e2bc13a7d5d0bca871ebb45d9b43627a21c2984fdb3d608e269e25c948d94a75b6bbdb2a7 SHA512 d5c1870dec6beead2fac388dff8435df3d82cf971d41e980d05e6d3ac114e5a33a944b38369a8596c3ec79f92e1b880d8cb294c046183c3fc111c308a89c1933
+DIST firefox-128.7.0esr-skr.xpi 722718 BLAKE2B 99a2e8c28f611ad00fd432da3a26d1fcf05a85583b99be6164a2e6c35838a7ca16919fe5e6c9fe00631e1f4ce9b7e95f29687fc007206011613098b12a94ea03 SHA512 daf4c7b29876b01649126425680895625455e604da0a0558d5ee73725e21d7ed4432ba514077b889b6530727ce63479e0f6beda9e5680498d394d4b33846d541
+DIST firefox-128.7.0esr-sl.xpi 633851 BLAKE2B 0a3272001301f713bf9ed00719fe70f5ecfafcb52f7a6f831e0586b4ff68e0ed1def6c3b67aeab2850d3a5f2317547ec5da9ef6de5fe3df62b583d747dae7507 SHA512 2776585628cb1dabf862af5bd7c3bdf73af17cd02dc9b6196c25c3bc00faf6ce46712921aca5af128a6452398c651e87579608bd837f7e7b9d058d2bc5eefe68
+DIST firefox-128.7.0esr-son.xpi 417712 BLAKE2B 8cf6bae8eff9f4b946e9a7501655b815336139694b9f38e7dcce74b9328988dfe70c1cfe33f7c36ff9db21e892aa8d8a58880136ec3bdcc055fb3a30ac1b9f5c SHA512 2a6372a4dbbc8d016095bab8dc10134355924df1b4359ce3369687829340448e749664cef778564bbf9983ba4f7203202c073c88fa4aeb77443efc7acdd9e1af
+DIST firefox-128.7.0esr-sq.xpi 652190 BLAKE2B 9d366dd4d20b279a26d941de02ef7d899da591ab15e6f9dc5cf765f44de9f93cabba972b28309821c2a9f5ab280de9403142c885483613d3c90c01cc3cb38742 SHA512 e029bd46301ca976d05bae682582a08e27a7011ef56332ec8a0c3837ff38ca85c28ebcd56399cd2e277e963eb5a1a5a6a0b82c2e0599a741a1635a0ef3ce41e7
+DIST firefox-128.7.0esr-sr.xpi 640904 BLAKE2B 6300348ca3da0c2b7d0cddaad074a59e7235e1641082506efcdbf7008d34a44599510b72d80fe5e4184b2e7e63ba5edcf4a98552a782692d6e7fd93e2099e151 SHA512 8e0ea23425f43d0bf59205343843f5897d5bbfb4932cde90b7672c5dd7c569b0d1edf2af3d896815739e8d02e5c8915c30fc52db0687f0edf71047ba92fd80b6
+DIST firefox-128.7.0esr-sv-SE.xpi 635651 BLAKE2B cc106559218e46ea06d5e340ad78a80fb1d0074d9e6276d243e59210d94ea76556b8e4fb86af1888c907431ac01e03de69cf599d274d678071e83a0e6fb515e4 SHA512 51bb6328afc91a3ee4df5438e99ffa869058c21af724267087b0681eb305e8f35bcdb923cc5d9bc3032abba6a98f9380e71f9a723a1076a8b8f855f124770aeb
+DIST firefox-128.7.0esr-szl.xpi 527825 BLAKE2B 3c3dbc45eede87d9dd17e1123bd797049236ba2608fc83237b017cd66e2d68e6e266a21d564c95eb9fdf215205feb377503c6b3e673e11cd1558122df58a5519 SHA512 858409e6189e3cc9a2e01e10cdf02c54484dc5b0a2e5f02fb5287b7fc59526b113d40859bad9e1095bc20f256515f70008d498de57fbcc85da58668e116b76e4
+DIST firefox-128.7.0esr-ta.xpi 508804 BLAKE2B 074faf25b48574c392f5c0284389818c195f54044ad3f0b622bae99acbd9760dacd1252528c08ca18103348a95a23dfc5f725415e498c8f000148c64da4d0560 SHA512 c3e307a704ef9466aa22dfafb39769fd013487c24b489b29ba5fc4316c130e3194527bfe1ed79813e4943a8be7942059895b9ce07c8f26e5ab47f8c9aa79910c
+DIST firefox-128.7.0esr-te.xpi 565170 BLAKE2B a23016f2268708443f541cee6fde09ae715d95c164224a5908902bc6408ae8f5168f7e2cd536b5c4d2edef6fafb64b803f68c38314a8f817c20af0575af8955e SHA512 5a78c2f212e33ab8879e16291ef6c4ed4a2024d6984c04ae46f35777f0c7760ce5f12079f783fb16d3619d43874b4bb7fe84d2cc0df46ab557a9a4cc7f0d7a9d
+DIST firefox-128.7.0esr-th.xpi 711787 BLAKE2B af023c3fe7f90b625eb3c7cd20c82c90da2154789b464ee2c472430b4846cf02f5ad86ef9fd3b78da6a7473554351ef43963727c1a77ff8e51b4d9714c9502e5 SHA512 129798e28f5927afa37fbac3a2c7fb1ecf819baeb3f0bc769629c9f330c247b99d8224cfe52111d40177f909f8c924c3e72b476484cbaa07c0675c91968066ce
+DIST firefox-128.7.0esr-tl.xpi 535613 BLAKE2B cb44f58c7d64ef26547d90b33286d03e9bac330046a782ffb79b6156b044362adbe663339e4d5942b469216a27a97abd17e928c2599c40595bd7f2572aa9ef0c SHA512 859c7f00780631db0bbea50fbc1957ae8047f8e65b4dcea35b0c29a33d96a6163aebf1edbc0f589d68e33afbe60601feedb28d746b2590c555ce636634d120fb
+DIST firefox-128.7.0esr-tr.xpi 649208 BLAKE2B 684163a4797dc431db6a5979f048e146ccb0fa11b5011b71f66e9698748a572ac6663207e6ac27d2268297e095ec18bea16f4617af72e132779fbf1a807cafb9 SHA512 8360ee4ec520d0fef0d19701517a446ed3bfda48c5e76615677f3ef3e21ff176d4384f6afc727c73e5958781b575d04cd6f2e919910df784c4e5a5c97b6431c4
+DIST firefox-128.7.0esr-trs.xpi 505791 BLAKE2B 6212157a0801f4ba66aaa6517c7d971499bc5e8505d59b1d7f3c17eaba5eb96f861edeeb570916b719bd14a1697138bcbdc13f2ebfeb42ca2c1dbf9f0618f73c SHA512 33ae70d2f59b14022fd640abd3cc5d66f0584332eebf9cec783026b646d12d597c9e5940e65cd7a062a4c2bf754aa91846bbf56130669d190e729526c90fdaeb
+DIST firefox-128.7.0esr-uk.xpi 731686 BLAKE2B 99220a16fdd4f9146ffc950347ed782f1ffaa9a3a58f96cc02f19b6c1eea5ca96b9914b538716d7948d65b81b72235cc4737acb3edec9bfd925a5bc9b0b9e171 SHA512 b60f5e0bd0f14fd050c1f0382f8609184083647cb81f28d5691dfbde941153a0df2bf8f6dc75ae26fa1e7ac342c0faa8ec441210be112cc4a513b7b19b89eb5f
+DIST firefox-128.7.0esr-ur.xpi 561779 BLAKE2B ed14106cf11a82a74f4842b44b2d6a0075178b7a2dcfab48e0eb6a348646857893c2020697fcfc2ff7e2b7cd33dc68fd6e5f24cb1e6bd4a5d7b61b7a9714578d SHA512 f68bfd0fbddc0dbb12ddf9d29cd4b5baf8d795040d5059516740e3df09b7e791ff51882d21f8ef8d746cd12bf52c2b34a830a647a0b1f231a00fe5b63772e4d3
+DIST firefox-128.7.0esr-uz.xpi 480212 BLAKE2B 2530f502082bdc1ea377b821a7fd220557077b80bf476548790cc2561530b586a014b71a52558fdc4aa9868a51a995f208efed8a48834023e09064139ea54d3f SHA512 df42eed1bfe2821aaeabe02324454ff76641c674c48d3f14f681ed8c36eff4967b13002e41bfa8aeb34fbe7e57ee2e3e9a8027b2d3d009fb6e5b751f535fcb4b
+DIST firefox-128.7.0esr-vi.xpi 673226 BLAKE2B 31ffe88a73ed83975a81e541531c4a985c25754d0b055363920ed4287816a0a11cbdb88055613bd1087d96543444c98bee6c74c72ac4335f332f97607a43f0d0 SHA512 99cae768c73f615683b41e581cafab1a5164c366f7a7d8020103878eae014fa214cb2f85705b15c1656031314031f45f36b273326ea7291abe8866c0aae9b243
+DIST firefox-128.7.0esr-xh.xpi 418474 BLAKE2B b44cefd8149e389013cf36495c62be4726ba97e85278321c9853156f85084a9470346c0f88a446f6ae6327cbacf04bb4c8456da3c76c84f9c3b03cf608e7a28a SHA512 2e3910f114fc2e3d7d7f8fb8a0ffafe7f2528a5b8ee9689ca8c9fe5eb93d401a9b35bf06eac8f89a47fa45eb3108fbf769309108dbc46f394a2b2c65be5eae43
+DIST firefox-128.7.0esr-zh-CN.xpi 675201 BLAKE2B e07f861f85c0abce293798029206ac795755eff1647bf1842eeb2f7169217303041d2506498dec27e5e0c679534bfc8450477a169c16ed8744b7b8dcde04a3fa SHA512 9ebeae24f93cc2bcb49b8c482ff474ebe3357286d2fd35864e4a1e156d1cea5933fc776e18b75fc686ec84f91e355e49a8ad9e5f9bf044b8ca3a7d0bbe2bc0cc
+DIST firefox-128.7.0esr-zh-TW.xpi 677437 BLAKE2B f2587278e02f26340261501b694c372fa7164b2113572176305263c10479466fb481e3bc5d857bfd068caffc5c7efdc9c6a77506eb955b035b0c707fbfc3af39 SHA512 d6b2df29a1bc98e49a96953c315f3aeb4fbea66fc9691d37085d0946c3710f6f0174927fe7103009343cc038f4eedbadacd592a4eda24b1d3f7f395474853c7c
+DIST firefox-128.7.0esr.source.tar.xz 569300208 BLAKE2B 08bf5b571707b7a5acf1ebde12e370be5999e3ac8cac2e952fae635faa16e07ba4d9d0a00b304ba43b5a327c825cae04c1ccf8434456e27d4c396e5b09a4b6a7 SHA512 26f9661b395b85a44b42bd72ef1ad976c614216c68f6c2dd834d0ac8b84b9c9f398b8ac550a47396995d96e6bb5fa9a50064d7f2f526bddd45aed5039ef131b8
DIST firefox-128esr-patches-07.tar.xz 18856 BLAKE2B 44d0ddf11518c7eef0a96de4f475a6ae1535e43e5bf89b8f61dc95330f28d6a053d08e6a183cf71432107256c83cd6ee6f742b235ca82babe4dd83698bf80d07 SHA512 60b4f18f5d91fc25f86cceccd561b55f167299908fbf2f9d7d69a8ce299c643f0b538d613d4348e42dd17c3812e4fa315e15004614af1f40fbe2adda417a1a81
DIST firefox-128esr-patches-08.tar.xz 17564 BLAKE2B d904b74fdae2e76866ded11de5377a7b6883d35996b358ae3419ffb7da53b04b2c7d4bb10d48998a8318a84e8221de39955289cb33a8f278c131b4af2006be62 SHA512 344a2d04dec679cd8ed714dcecc9dd5b56696803cee9267e7c0c45c439d78728e7eae674bb5f0a64f2e5802dc59c1ec25f1703885024d88bda8a02e2b3e0d69e
DIST firefox-133-patches-06.tar.xz 20296 BLAKE2B 4665a955e844460ecad42bb888c15772a16a8c28ece22e3130803cbb7ee00272c067ce160525f45efa4441e1e74084262ea012ad5e9b30afa7ebd66ef5abe7ef SHA512 1b630605c4b91acf56deefb476d8aaf2ec6c37b4fd79b09fb2eeec79113d92c8f3417301afe8b0da4d1992291b7c17d1eb37e877de2c3d0503021b0eccc53c7e
@@ -617,7 +718,210 @@ DIST firefox-134.0.1-xh.xpi 421000 BLAKE2B e294f811b4631e5f82a4cb5bd78b6975a57ac
DIST firefox-134.0.1-zh-CN.xpi 684489 BLAKE2B 2113c7de306fce3c07f98a2301bb9a86e4a9ff0b5dc4af4f1a99b08b787f71a99aca078fc0d7eb1cd86cdf04d46ae5b42f7fb0018bbada84e6e6ad9115de9e0f SHA512 beeea5e91bb502bd560b8100033dc922b51f2e06da01754845ffdc58c08b62154f3ccbaf6b71a4b12da8bb30da5ec2a63b7019c1665a881757fca7f6f8a8f2cc
DIST firefox-134.0.1-zh-TW.xpi 686744 BLAKE2B 77b3cc5fa4e33e2ff940599082bb741bbd0dd3d5f75ce1f9c3f77c8440ee6b7eaca575883215756a5c40290bf706b4580f9a7b4a9d03277098e86105424d3020 SHA512 fe9393f2b5ed97c24efb82181df81d971238440bc41f6f716f66a3359dc9d8b583a81af8c69b504cdf2ae99fa69bff53f8240293c126eb2b06130e3ce031dc76
DIST firefox-134.0.1.source.tar.xz 602467028 BLAKE2B 8ca00a9701eedf9b29aaf33ff1fbb57f515a006dc747ebac358383a49ab8492315ca321bd5b8e1c6d9966d5fefd83c0493c6df6419abddd3f07396ec7495e2fa SHA512 3f40ca5a753a66e08af4e8b12d75feab67b0567ecffd34f5cf013f49aeb809ccd458c8011e9456dc902c24eaf626078117874514eb40cee5574eafce93ee772d
+DIST firefox-134.0.2-ach.xpi 468183 BLAKE2B 91455b0dea7133afa08a028baf85c7af1152c668ec18d021c2c4b52cdd022a783fe6ff957cd0a0d465c68f2404ff32e269988baa8730e9fa164b0bb3ac590ea5 SHA512 28620fa421c375ece3d4557f8cf6c6e03af641fa2e37672cdc243b40e773fc9204bd8d950dc7570006bf55d941c3d26cf57a170c79e3e4dd9c0768562af6e6ec
+DIST firefox-134.0.2-af.xpi 421167 BLAKE2B 08b0592f6787e4a24e96ae5c4bfbcbef2d9aeea236020133e975537bf62e3658114f83fff2a76fb6dae46e85f5f951bbbb64d22b9e967f755672015be36a143d SHA512 a1794da6b6e2f8db7092e6821bc943b103ba8dee951b9f3397592df72f24c923b9065013ad9a4daca4b85339cb32b3274f6b4d16d2e9c977c13fed9536563f52
+DIST firefox-134.0.2-an.xpi 510946 BLAKE2B 29ca8a6c28143f52f88430224b83042db01810839b662038807813d4c83b08b5e9fd5d89899ed09e0ea2c7ba5a6299fe4566e809451c0ad89fcfec1236323823 SHA512 db600a4c5f5535c88fece4a47a2b6e734b0b36fa575e09ee1dc5913462c56d88011c2a32cee6269ef2ebac0769f6f0af4807b7ca8cb86f1bf827ee40c8ec8aa7
+DIST firefox-134.0.2-ar.xpi 633887 BLAKE2B 45ff400fd076dd182de8320bac741bfaccec8f285734e5e9b74b045e3c5322e156096e1c4b290b204b22ba8c42507bd892637e3f5ac682d172982951b3fba33d SHA512 1f5217a22582ddc0de9b308a5202ed9501f0a46a16edbb7cac5dda5b3a7e30c2a89c6de6f526a2a5ffd90602d220df577e23d16fc91fae7d434651e9fabdd6b6
+DIST firefox-134.0.2-ast.xpi 500088 BLAKE2B 24a5e6a8d25ed3d6acd75bb4f42bd111b981e3bc053c36d204fe9346a4b726f264c6f2c6e60babf6f13b38b6b0ba854e4898ee4db7381a025553e2ccc3225bb9 SHA512 536a4cfb4125b03c4a78a1e131296f639b9eb1c5010b35f0f4bd83ecbca2777c732b6484f97a4204da404f3558f036453518996fa410b1093a8756f928fdc365
+DIST firefox-134.0.2-az.xpi 494909 BLAKE2B 1396f12aa5694db9259e2a336340bea9c6ce149388472941bf815341558cef15bb8c21e6238c6b8d9957a529e35337160e94a2d06dd99885d089346db48e5ba7 SHA512 d55196ce86cf7735e5c54006ac1bff60152aca55c99b67ac8778ab24db186eb6d7b7028967a643d264033e36b1cac25353869b41a9a114915014a04a856cf8e3
+DIST firefox-134.0.2-be.xpi 744293 BLAKE2B 9487c2484b456c2f654e3f663eec7da783b7a156553eba084f1df3acabbf58ed69677251d3f1dfe2cbe7b0bbac0144790035a6497fa47d8457b32e366c5e63b5 SHA512 eb9e39c7521668756a516570dc6eed4ec179473debcd48c5ed74d6a1ef03893b6f4086c1b2e1badaeb6ed477b61c2a9e5ff3a5022ed33120ec62f50cd8e37271
+DIST firefox-134.0.2-bg.xpi 670910 BLAKE2B 15cb1c571dd14259be536338fcab9e459f45bcc0c4af13a74453fd79b8450520afa895a1503e22665e357e43b0d61cf8f18bc464efcf4af0b3be0916718d9b2a SHA512 1fac3d9fdc25cf206ee4bcb0da63190d90f755f49f17544dfee7eb312ea53f1c397e35d71d365931e5db407806cee6260da57fe31251980cdafbca633878eecb
+DIST firefox-134.0.2-bn.xpi 615526 BLAKE2B c1c21e1f36a807a566f83176421fb48fd55eb0936ae8d71150c5e29c76e09ba3f91d46ae416754ab7b289f9c06be7a69f348061370ed8e9bab96d71fd32bc7ca SHA512 3d766eee4762e1a8c820406f361c8a71278f84f602df323bf24d3904a72a39a66fd220f265e14844ebf255a20dc2cd7d932f38ff653d688745e09c7217914492
+DIST firefox-134.0.2-br.xpi 598071 BLAKE2B 341ced2776436334b5ef85427f138a78378c0f21c6f82c094bbc05af41d40d6bdf934fa5814e5443464d3e7fd86347f594d96e60b4274a38c33868e5a0abf26f SHA512 e030429a56df0d4cb1cf939c07be904a4dad342c8ea725f09bdc46af79bad0d02f446717400551d332d1873a3b7a29d7468df829274109010192ed0da1dcc8a2
+DIST firefox-134.0.2-bs.xpi 557246 BLAKE2B 45aa9f9a02cba0001996fb24ca06f162f478aa25c76303f09cdb7b948dad7e5a0941ef7a1acafcd223c94b2879eaed62dbdc89204dc37954d987148a576e9e77 SHA512 d5756568967d997614bb282f16752a9e31d867b65d58b98e1bdb4e314f098f4b16b39c646d4776faa17ab558dab8ff6611a656faac622d6365686948e951a12b
+DIST firefox-134.0.2-ca-valencia.xpi 550244 BLAKE2B 22b43f335fb1e929013bd9526476b2e910547aa94f4405225ad3016e6e4bd214a5844bdb11b48d307575ba8a17f1878525c4fba871b9b16e77db0310962630c9 SHA512 ef1f4c5f179291872083730de90df2f1176bd29c8afb4e2d777c2a0049946f37a0319a58b5500dd0fd56f9a67deb49165a18f89c3ec61cad57634817e05eedb1
+DIST firefox-134.0.2-ca.xpi 607770 BLAKE2B f1c6051911fa9c84aace6d130d466e20488f34f962a1f0e2d9f05f6ee9890d5a4ab282c0de9500a013edc8a8cabf7873476fc387f76cb8e02b8cadb1102dcf65 SHA512 788b5d971cb7062c834898a1cb8b37908e84e30ca3917c526f978697721d1a0c889ee941332fc40a24aa34a59278e5db648e467662d440bb2514446533e948e0
+DIST firefox-134.0.2-cak.xpi 597772 BLAKE2B d8ea4ce4f08ba4e45ab38c7b872c490d7a1b85b4394abc3c8d3f72ab30a2e41cfe56836f5f2a2ef72349ccbb9140904b945ad725c7d655a032385435a7e81fe9 SHA512 75d3097873ff94553e4f0fa2e08c6de495b096a365be09d16c4d5dd28c8b0b6085bf72905faacb4ded3a72f473824a838e4f7466f8e1c6dbf2aa3cbf984f7c12
+DIST firefox-134.0.2-cs.xpi 688678 BLAKE2B 4613b877cfcd46c3956484fd231b56a0c23a816dff6ee0cd6e26de153b41381c3b0d950904da0910579dcdc0f073a3336f25de8a1d270336eba2448e5ea574e6 SHA512 82747ce8469b514aa367284e55fb79c022430276b394a56b76903b8784bd7c569093216cdf0ae922542aafb768048e7a5e165c45b21791f6bd8016d9ac90303f
+DIST firefox-134.0.2-cy.xpi 649384 BLAKE2B 6ef3a13bbc34ba3cbc7f8be369c3a414a80f8d19ab91958349c6820c15d00b9a8cc2acc0e79375025ac5705f45eb6ae6efac6cf93794adb148981a581a431ad2 SHA512 8fe21142730e5c321c741cb214e5814580a38ae8ac8bdd6d468f24e138950396df6238c5f087db7e8e2ae9dbd5e68454b3b206659edad50633098253b7e73c58
+DIST firefox-134.0.2-da.xpi 637279 BLAKE2B 7565d0cd6ede4bc1a236666f1dc44b6c2115e954167f9154b7ba85cfcd365cd5d147464e8f2120c39f5ead4bd774209fa8fd8514495d3054bbb95a2c20a27516 SHA512 f5d99d52b7febb34fe5cd7a7334044855f74ac8a919d8382e4abeccd7bd60113672be8b0bd47ab31c764f5092d31d66f566bb217ae1ed4b9e7bffde6e8fe6937
+DIST firefox-134.0.2-de.xpi 661274 BLAKE2B 121bbff7df561b7e404b86ab7a74cb2149d25059ad48249b24aa7272dcf0758817498229099d95eccd44e04fdae51aac4c48df670cce4311cf6872522c2c9bb6 SHA512 86cd284f5c648fccdfe28771c2a9b06ce879864052ae5953c0246c763bbc0e749fa79aa19c00ff4de28a946569c0a921ea8d4851bbf19e45ee5cc9150eac051a
+DIST firefox-134.0.2-dsb.xpi 678095 BLAKE2B 9119f2cce2193148d29063f9ac59e80d300270079c3ef28bfc7f7a578f3bc569c5fb0dd95223f9ca8288b22c0a4c8668bdec8b00887185a74e3538df3b53413a SHA512 199f80c42027ebf314180ee92c25f6bb4e6c8fb62287b7a67b41f15a9a1651bff680e35030a654a8c83c19c1cdd88724ea5e102b4d3066a7e236f2413467774c
+DIST firefox-134.0.2-el.xpi 760453 BLAKE2B 1f471a7e754b8fac4fc9aafdac2c0c58536e1822400b67952fe6c80ed5a4d8ea3c531fbce704a153ea7367e351010eabfd3150bd0874f9ece691fa535b90aebe SHA512 100e5e21cac15208e3c5ff76c3b0fff2dcbf33b2d0c643c0ffa7e5fae246a8a6212b92c33dc63325f0eab18e923511fdab662dfac744d1ed304bb338efd3f47b
+DIST firefox-134.0.2-en-CA.xpi 607988 BLAKE2B a38f9093d70522ce28e0080fcfdde6f201b259d833a3eaa86bc359b98c512ef150f4aa460c26e7dc66df215f50d1511ade196e8a9e5f82052e035499ed54f0d4 SHA512 4e68eabb1e3addbe3c709930723df8406a005ee96209078e2ab38d85db3e2237a760d5d88dbc76de7919f2acd323e548f62123bfaf4795256277e9959c2390cd
+DIST firefox-134.0.2-en-GB.xpi 609125 BLAKE2B 13baf2846643d2e1365d9a2111957300c8642c78a3675d59e29da50fbd6ffc7cf2cc0736f117896b9b9fa3e07e7d4f950df823b92dfcde6f11f5e11c62e30942 SHA512 04f9a3c61c87490dda717c80ae2c4b865064af9e8e0f6f72426ea2f47ef12f730097a48c5aee9d42c2ee0929e958a3eef84a11de6f7fdfa2b62e2b8cc9c990e4
+DIST firefox-134.0.2-eo.xpi 640107 BLAKE2B e0af3b4a51a1d6ff021b552ac337d965b9bb8bb9e4eacac75fc5894c9f685dd4780876332ef86f74ded4543676fbd472bd69b7716d026cae1687c0ee4f3dd39f SHA512 7bf6cd4c901a9db4c873d596f4518aba219c7e347ded0546cb1e508643f5e4b9d145fe43db2b2c3c18b21e57bb221b4b7ca2eb61252d06cbb9e1df5d71fccd8d
+DIST firefox-134.0.2-es-AR.xpi 654030 BLAKE2B 672ff2459977d08013fa39cf98588337078f58ea3ebba74a9cc13e25498aa31a061163e7a38423a8f3043e3b065b7c469d12ab5b6b96a5ce4ea6deb691432a46 SHA512 a68772f891a68ec7c683932859d1367ad96fbf167a6488629b93e42e861d6d4222ca9f723c9076481fc0765e50a1956c9128ad4b292fd736d95f24998edba8be
+DIST firefox-134.0.2-es-CL.xpi 653727 BLAKE2B aa596062cf6ebc7cbf7a0d5ebd077179ca0ace4873e277fae77528be48199d3aba4e5b87634b9c06c8168a0990973daf49b291cca71cf68dca338f032d522caa SHA512 9e68c4b40ee9080b6c86f214eca9da736a4e6f1860188944fb60d4d99f353e8a93b744b46973b0e80714d64bb629b2ddd34ea95d4e375a67d747b169a1992883
+DIST firefox-134.0.2-es-ES.xpi 648576 BLAKE2B 8f9d4384b42d10933d99b23eb3b0e9b1b3da622325f9fd11d61fe9b29225048797030f453289a4eeb89440a98d8b76baf57cedf7c6bf76ae16031b790c132b3d SHA512 80f54a6531522abe30da8e2a0d6fc01a70dd3d573b2bbc99d80c409e02ca52fd51f4feaf5df4b11548899b09ea26bf750bb22c74e8643cc4b38537bf8896dbc3
+DIST firefox-134.0.2-es-MX.xpi 657172 BLAKE2B 65d7318c90b5f3e2c4093ef1b2b1e06b308b005fcba9778474cf17bf3534cac0379d3eeb14d6f7608c35f99a30d21e3b244297b801e51d86a35ec954ebda2b51 SHA512 aa6c12525c7a2fa808ffc48203eced3ae17f4d9131f85b3bb1240d8ef6ed67cc05db091b7d0c896622a6b662adcc035d57515dca091f82072c0a615022e05a4b
+DIST firefox-134.0.2-et.xpi 546712 BLAKE2B 7f7d14c2a4f145684e43818c66836eefdad661bcb23e48e0415a46377bb8f320d832573fedb3b3e40d47489940d8eb5430a3999535afd3ae4c7f7c736c6ac205 SHA512 747b51562dd3de57ee5d0c115b244589c6eb300a69c74a6a5373f942a9e88f106abe87e79043922580b2523051233f52bb21536063255bd3f1217efd4d214244
+DIST firefox-134.0.2-eu.xpi 622846 BLAKE2B 5cc311e6e69ed1c618dea710dbf390e9be23a4b5108d9bc2167edf916e30637a6c236969c62f2fe7bfcd65ca8a8f12542e68fa79905e5d8ec6208b961f216b96 SHA512 d61649cacab14051df4bdb8c84a9c07d75534a1aefcbaeff42949cecddb3e936ac20ae87db924b3bb624ccef8cf09c58c4bde295bcbbcb5dc46387ee1090c592
+DIST firefox-134.0.2-fa.xpi 625173 BLAKE2B 8a83f91f813742b553aa2e0729f453e30a6ba63544a5a78cefce822b1d5b30bad27b0c97a4d16757f7d88b0554678f6a0e436826bd1fa0af275bd79070a07513 SHA512 4272de5ae5ab383412972cfce469b1149d28993e4e11d2637bb5dea281d70fe3b434f8565058c491cb069f185a94324e82e380d539a4443408332eeff23e0b99
+DIST firefox-134.0.2-ff.xpi 479990 BLAKE2B 7d9b9df4107b0060dbdddcb3862e34488b95a74a37f8ca89b8840f1a823b34a013c347c297e6941ce3e939a0706d4d92b78eebcb818facf69a11f9607ed4d0b5 SHA512 563a20402a591390a33b0f20da2752c1990f35e57a8d200bd188e877d99eec80f12febc2779ac26a72db639165500271463cd1755cb5dc97d0646785191fdb15
+DIST firefox-134.0.2-fi.xpi 634175 BLAKE2B 95b0932aefc452a2e9b29861ce6c738379ca248f5dc20a6ef17a42705637ce957011e9bc44b73ed1b9e0b17a137a06909299f5732e5e74856b0cc488b9508e23 SHA512 9ad86fa96130a0522c33b5bbe8f5a809dde0f2761c982ff14723abf10984707e707d9bd87f4e75efe4f8868412884f5537847fbc6c246b7309072089b415c143
+DIST firefox-134.0.2-fr.xpi 667545 BLAKE2B 76564df53bff5d1a01272bb460d6d91c79b5f78d9e6bca078e07955c4f4c0f116b4e7f8b7abad35f7ece426113c2ea60d223d831b2c397e7fa7b451f7378e4f8 SHA512 389b2b916d08358de46f9fbd60a2462c4d362a1a3db7af611ab16c596f9cc0b8bc52517b479cf78e42efe28c72768ae14d03296d964330679cd20aada0767b5f
+DIST firefox-134.0.2-fur.xpi 652564 BLAKE2B 98f4716015835a0749439400113517d32a29a7f94de952f4c26d534beb4b9a050cf461b1a125bd36feb945c10d181d2c144ce02c20411af1080aeff312f65fc4 SHA512 96deab0467b2f92b3a298de3139dfcfbde89c094771bc391d652120211d6e095cfb8ebe19f5c85aeb06a70939fe2b609110254d76370b1bbf0a85f0c35571586
+DIST firefox-134.0.2-fy-NL.xpi 649698 BLAKE2B faf13b822920f297bdab3fb722307a9e87d5f5682595fe467318305120d92ff22ca2a8e749a600a104cef8f3ff64315b1a6a5dd95866ee24bd5de0a912cb204e SHA512 11a028ab6dc5ebbf0c6ab9f52b75f2ca59cfcaa47a9a90ab77d228c0d838a5102ae1d994c45d10dd9785ca020a7308a645ae45f2c0dec1f3f7d049593421cf0a
+DIST firefox-134.0.2-ga-IE.xpi 474980 BLAKE2B 4e2f1835f9ce5136655f8e0ff1a7e598af38c08ae55ac1d2937517fce36040722daaa60c5de1894bc3d7cf8619b75948097d21859ee7eb09918dd9d6b5bc48b1 SHA512 dc76d77c1648a942c08dc9091c7b016e18b7a2c284a4f6bbf4e58651bb520c4de6319d61d0836b69a526b1e15478ad697da7d459e9eaf335d792794a2e59082d
+DIST firefox-134.0.2-gd.xpi 603300 BLAKE2B ee7f7ea015f6e08e0017fdd8cf8b2a15e1d12c894712c5fa06aba0305300863d1741e6443a48ffb9a69fc84bfb3745a55c62fa1a1564d8ecd41739b12d03b5a5 SHA512 d7612b7726ff3bd7cca2df22e38ece666b6d94a6b575c8f77dd098f067aff7d85f087c4428ea9ee79490eed5162cb7250ae2aa109e3b92aa9bd49574b98c7577
+DIST firefox-134.0.2-gl.xpi 614898 BLAKE2B 69322faa162013925e25e00d684252e8ea453ffb5dc99272e7971628ea5c06ff0d45f039251906ddedc25ebe10103e1294fb2d9feb4f4bfa4609b14872467a25 SHA512 f387aa44a401007b7fa3da1edf11b3ba42969d92ed1449928991f604a889bf8d952d9fb8dde823b1f4a7ca2ac23009554e5ff06ffd477a04a66daf6ec2586d97
+DIST firefox-134.0.2-gn.xpi 661083 BLAKE2B 7e5fed42738b3891ab58f658e9fb38c16428b4ca79e57e2e661c12ea60ae03f9b69e6861c7d25af82eb45f0083fe296515421379c7a44a8ef9e47661d684ff3c SHA512 9b1edcd8510acdc8cce031b3753f6ffd65dae202fff987e8a1955f1eaeac7c494c5870b24678e052d565ce885a89f2f3aafc34b768f81efa92fa56c5420af7a3
+DIST firefox-134.0.2-gu-IN.xpi 531506 BLAKE2B 32da48c3da174c5dbc784fc289556b28de43a78e4be1e13f51baf9ad333d3248ef37e9af2e51932b13c31344d95be4aa1b95369a7acab86d7e9c443fe9045716 SHA512 3ea36f9a30c60cf715f2253448784e8a2cdc241ef6022c92333e92078aedf132b8932dc67e94d91458d46ea8a649fac4db54e0de510cc5281431fc05afdd0dba
+DIST firefox-134.0.2-he.xpi 656250 BLAKE2B c1eab0002cb46ed5b4a938ab176103e8c98ddfa116b62499b90556186ad2506606b5189d88d5f3dd7f456ce4cdc00de6a4f05a3a279c235bea03af50ff351185 SHA512 3f203a678471a86ecb5ac9ade5337fa5df1a1f9f4cce5509b3cfa7e555aba52899283086922468d1c4fd10d7e6f626c6e1c60faee6cae6153a2db3948ee126a6
+DIST firefox-134.0.2-hi-IN.xpi 570951 BLAKE2B 2070be5756dda4f052dbf44a102a981e175d7ea677e3f12d059abe95908bd285385a96c6e7ec1178b964e5ebfac4ede72bdf9a46f70991256019059fa3583123 SHA512 26170c931087ebf07da2a4d9b047dc28e671b0d0edaf686ff316a8dbceac75155b3baeaa7cd95023596fc1c6828b24f140d8b5777e603ddfe9af4cdd4148d532
+DIST firefox-134.0.2-hr.xpi 633364 BLAKE2B f2b25071146afe6a855a49f69834253d1fa0e7f293e91b05327cb3e39a8aa677379a302b063875d1a798971ab0ddb2096525243c2c92abeffbadfc9cfbf517c8 SHA512 14cfd5dee97851fd66ace3c8f783023a3e1f15995c1d1bc33a1608b0127533d142926aeb1816fa46143414a20e25d8cd26a32b6e9dc0b0f43d950aaabf775433
+DIST firefox-134.0.2-hsb.xpi 674094 BLAKE2B 6946a02e5206db18b7e7858ccabf92c8ff89bb19b515945bb3ab37f32242ab8794024bef63c37ab0b6d1254bbabf355ce85bc2f3f31ac6b784b97b39f66c835c SHA512 5ff6d30ace7065540c177e8f593df1b0084812223844f12b9b2cf01929bd0deb2eaca15b8c73d6fc98e8990fd1e5d7bfe67f91659ac88b5310cad4981dc34d3d
+DIST firefox-134.0.2-hu.xpi 678171 BLAKE2B b2de66091fb9750ceefa589cc816dc86fb15ac050144d2900f226f41ee9321eee741290bb496b3a222aa1b0c1349521fdd27e7a0cb3310b1b69ade1b561676d0 SHA512 756bc161ea6debf018ef1b3689d56e2dc14cadf3e1a297481131d16a5a0d16be7e46dbf30964df8042c727af6ade87b9a0f4f85fc72a6982e72fe42b8648ff4f
+DIST firefox-134.0.2-hy-AM.xpi 661668 BLAKE2B d0629f388ccd7eea29b7a62c15b2869f60eb061808e12f67972c3cc94c114d67cafc5051c693506d72ed7c5e4558b055866e04dc2b5780b36606f6a3d70aa043 SHA512 95cb4e2e269b7fb5b061798713e53e6756882df1a522767c5546c7ea022e2da5fb388580398627f83ee7ca38f2879bc2d7b78e222172c881471e509bfe218d5d
+DIST firefox-134.0.2-ia.xpi 636641 BLAKE2B 0ad7121b94e38d1b87366cb76ce922c1388a5120cf56a8732c5b3e38be748d70f7ed105e4557fd1c51d27e3cdf32579b1bc1d6b0ec6dbe08cfd7cb6afb9c414d SHA512 d4b50fce3087c9bc86172e80f61af1c49a5726d82e4b217473c011d7d29a997b8b98d101c0f7c6ba59b968ec82d0be33383fa23fa04522a13e447e12917f56b0
+DIST firefox-134.0.2-id.xpi 620030 BLAKE2B d19441f894fa01bfa9d70ce0ffc22ebf288106a3c5316a92f7f1a4253765e4ec34ba1b112e4900446b89761364e58f7ecd1c816a1fc944bedd5ae578f66cd356 SHA512 f9f585e99bf9f09957f92deba6c7131767a9379d5770e776acaad1bdd170f6fcb5f8d91a50ada6d777d307ebd1e7e3648a09d2621a2dfcb90496851929855a32
+DIST firefox-134.0.2-is.xpi 642113 BLAKE2B 1650c60e471026f224ea44938f5de3ec347a0567e2262a3b592cd675e6127268e38bf9a4812da817e53abbb9c45d891cbc3e445f20bbec73121e94b956d59835 SHA512 670276c003825ee87e2ee9b875b3cb65c7b681af17e3371765f77fb257d2ae768f6e72f58a05caae13e7c686d4abee62cf358ebcb31bdfc4ccea395019d9265e
+DIST firefox-134.0.2-it.xpi 646155 BLAKE2B c3a61b0ee00cffd33a1a4cdd151925f130937eab32abd0fcac8d01ec16c1d22d4451edbfbd171cd8d37d443ced974c30e6359907765ae44043838845df6b589b SHA512 47d05d3a2864cc16ab798f9fba75ab60f7f84972b0a8d6777d7a16ada927912eeff5f47505ab0318d177adf5a06dcae066c38d612c50fc161977aca42b5657c5
+DIST firefox-134.0.2-ja.xpi 704020 BLAKE2B 21bbb707fde92fd102c02e05887d43522a6516cdf3828d4b8944a0fd285650dac73815bef11460e351dda3f033d6fe5f8fe3e22a938f7b9ae9a4acbeb23001aa SHA512 1630e3a3ab7fce57b326313948088afc16f9d078584b62f3a086d41616dcf12fe4c69a717964b315a19c8599ae0c4c6b3fedec92cebe4fec2736956a8d78fa09
+DIST firefox-134.0.2-ka.xpi 711237 BLAKE2B dd0113c3d3d31be04380a249458c1deaf436238d3613100f46a722cf4c9ec7196921959820a57fff35c531a09366d719d6cbb7bd5b58d14ead19f3c6fb810d45 SHA512 99823fbf10be1a22d40f809d6f176358666e087536c249da17b5febc0184a702cff3f3c6daae9116eacef2b24cf84d7e20c127809480c0971c22cbf4992ee34c
+DIST firefox-134.0.2-kab.xpi 626325 BLAKE2B 4a6e407a984e1c67c9807e6064872fca46e98db8995c3f7f0486d11ac6e5cde12dc19850868971ecb4e16e250548284b416a03af40c337f91aa60650382bd8e6 SHA512 0a536b59d7e892d347b2bc50c83fe24795d36d2d187cad8866a7cd11b8d94aba8796f1d033372a4d43817efdf61881ef383fa48b96e3918e89aac1f461eb6d81
+DIST firefox-134.0.2-kk.xpi 734771 BLAKE2B 3ca4504c41e83efd367df9b8fc0322f6b4c56a90af0149486969ed641a9a9fa29afe6c8e8f6576aa41c5515a3366ca502c7319b3c08baafa9fca623ac051c66d SHA512 a5750f94a84ec6e54e5d0b9962be729f3f6c71f3926b5bb48cfbd881013b734ae3afe94863ccb2a290ba593537515ded16973320d04143104a5abe2181fc3162
+DIST firefox-134.0.2-km.xpi 529767 BLAKE2B f1e01001e37ec62f75a999cd0b9de498f5c6765174bf42bcbaf1b0dbc52fa734f8e6c2673a5d1f439ddc65b945f7ef1f045b9ef4dc05f744e1be7590f9ac6b60 SHA512 a60caaf040a14ea072aa25b2165361f87af0005731c594c15dd05e7abc9e435e76575a51594a1b8d0706905fde23b5bd780ac9bbdbe72d8dcb326403da8cdf11
+DIST firefox-134.0.2-kn.xpi 494772 BLAKE2B a64a6320bc280805c7d2177d8df97061dbe56410cc1157ddc9cab78ecd91ec948ccec2eff611e623f2e70dd43821ceba07ce6c3939ca6255384981925e69008b SHA512 9db4d0d538d091217c6f8dd0d8bee01afcf3f98aa2197055222744468cffd8cded43d53b702dd4d8c62a7ccfb57c1f3a6abde473d58bfbda774719f5acdb368e
+DIST firefox-134.0.2-ko.xpi 688667 BLAKE2B a460fe1b491db2ca958ff81053c3fd1f1865f20ceddae3e5a318470deb5cd16cc566dd0b06427b7db28467b122cab2462841c467fd88aa6edb6590626008ed7a SHA512 d3eb1a9f32a86bc2898240983beec368b5855c529d3eb5ec39616f60ec531ab538dff4a8ac1bfe0f7822b898dd27ee73492978de360057c5a10915ecc4d7ad70
+DIST firefox-134.0.2-lij.xpi 488326 BLAKE2B f1c72e8d2a1c4ce715d8a88ade1166dc2871e547dd4d6b0b03cd97aebfea7fcf3ec90bd97cd5d80bbf72ee5f9ce311eed86a41a3e0c5ce3f4a40b22ffc432f01 SHA512 3252e2db8e744075aad460a245a4bffdea90963f32b3e1a44157a752fb473b56dccf1b25157312870b3ffb3cdbe1b0fac0c12b987e3a25ac999dace5fb714f1c
+DIST firefox-134.0.2-lt.xpi 577197 BLAKE2B 9f3b73599d8290f9c002e6f25aec7957603093f7f0a1fa897915a08bdffd4608d0ded77a6851e2a5e9c0910037b37847796f14891eb18fa3f8547d11095f56d8 SHA512 62ef191c57989fa58389d512d3bba0523c105bb6450f3965e4405ed862d00d21e4761c9d90f4e8b1b712e04e0178fc0dabe56328e94c657c90e006690950f480
+DIST firefox-134.0.2-lv.xpi 590048 BLAKE2B 9ed8da5fdc57463a2b9cd3628b297d36fa5f091a1a4f26122728ac2125cf0b8a5d30aacae22289fcc8e8a751471bcb3ee0ee50679f6254e52aa20fbc23ef76ee SHA512 11696c0ccecb557d71d96130df6125c4b13b08200412aaf36f0a64ec44b5b9959cda3da9dc88b8630df5099e5c528b99eba150b97a8f526271ef657b6275d368
+DIST firefox-134.0.2-mk.xpi 497209 BLAKE2B 42e2aff8e6717830b95f572ddb009624214b75fab977abbfb3b614bc0ced814aee91afe162df8d98c555b2825c59055c3b658ce19e97e1453e8048960e468722 SHA512 4a1bc08b54d00bfc05fac6843c72648dfa130b0c6666087d62d944de632799c7dae9d46042e34e5855cd9713f8ebee83c2cbf0bcd7825086ec4456f025a56255
+DIST firefox-134.0.2-mr.xpi 536144 BLAKE2B 4eed7afb68feba320e023a13733acc7f24b4833480b5bce429c9ee25d8b5b3110d61b84917fc145de05f12e19412d13d80ca9d0632c995f9a9954e3fc4ede0b2 SHA512 21a052b0aab09ba2ef83231a46b67c179e8a3cf2b47e4bc913849d40e11109bfcd90805b129778cc5faceaed6b787a55514ca8ea155db063011ab8fb82e832ef
+DIST firefox-134.0.2-ms.xpi 453844 BLAKE2B 1a18ab8fa4948dbc26396f2b3649334d4a95916b682de36754fee8b5a9478247de9ed4084808dd082c5ea8843e2d5cc906d84a867a6b68d00033477b8f16812c SHA512 4b22c1092adf696508d45e396a334debee949679cd4e4f745ec32c3927c703bc92c8e463b09f99c84c6a5b4f8ae7e50671843b2e5d160e54b5cd74d3b4569d2c
+DIST firefox-134.0.2-my.xpi 522472 BLAKE2B f9356284b54fbfb432a55ca6f9e66150fdb9fed71a94866a7d3c37d5def73fc27bed6d5ed9ac367c04e8ff3f981ab489be08a70c615a6d2e7022259a6650b619 SHA512 eab10e0b8563f223ec3a19160cb6a095fe1f85b544d3df119964446951218a22585aaf7ac0f597e1ae41146b009fc59e6f77609ef47eade7b684861a807790b9
+DIST firefox-134.0.2-nb-NO.xpi 625557 BLAKE2B 51f8d44e3a15a52a7bc63d29e38d715c7c13bd781532c80f6903dbacf9607bd4e4e4eecb1f21fd58c4839a75f147d32144137cb38632ab585ad4907866a9d8d5 SHA512 17ffea7c83f88aee8cf0859b12a27de016bf2108be0f514dcc60296c1dfac7732bf286f907bcd9f671d17bee08a8d6301ade164876b2a7693fcd577aaa70da7d
+DIST firefox-134.0.2-ne-NP.xpi 524801 BLAKE2B e7ffa1b0fcc78f6c895ce9b9338ea8478ad61c6cdc89da77e048fb44edc3a77e4b5b70202a32d7c1f78e7b2a08503a259e0155ece02fe4364070a8cd2a7b273a SHA512 3bb166bce1de86f2d63ae106aaa38365efe5a3d7296d1495bddc7c6e408d3530223d6323826aec6c6f0c8a56f614b2401b13b2fec783fca2df68dbcc5680b99b
+DIST firefox-134.0.2-nl.xpi 642842 BLAKE2B 7abe0316d0225894fe82eae71dfd4552b7454f9cce8d67e5d4e3a015dd4d97b958fc0ad65b4c45ea671d0bf3d60d4a007969145ce1be546d1989abbee6046db9 SHA512 19c48cc4466a7fab770a558967d48012d3b8524b7009cc1031b8ff65ef2215f03a4db97a2cbe0b8f7e975d10fb5d737ddfc7c8e0adb0d334cc252c81527c1e40
+DIST firefox-134.0.2-nn-NO.xpi 629847 BLAKE2B 72347e2c0dc988c32fa03634b7060e0edf4e68ae48b0c4d141713145cbec14b7b7f95566b4b2c6f348b0db7d22f0af4143fdcecd2afd256f7e4bb75a54b0bec1 SHA512 25ea6c572de098a03e977dfc43cc1d5eb5b0b6f01558fe19d9841f315e74c35362f4a74a7e52c82c5f9abcb3ba34cfdb6d208291fef0ecee0ae5d2355b278a36
+DIST firefox-134.0.2-oc.xpi 626184 BLAKE2B 9bb0f6fff001d5a48b8da9ee57982e41dba5a1839337763701cd3478925a518c1c232fc3768751340ee9028733401ecfb9caf8139ef152d058cbd2c63d325708 SHA512 b8541481e6502c4d21b910cd2b82afe6b82ac00cd792b3fad42544a9a85712d553473b5a647a0c54fb41fb50a9d4f8d40127089dc702612053d31db8f4adf3a8
+DIST firefox-134.0.2-pa-IN.xpi 723087 BLAKE2B 98c4db6d88f73969e6bea7207dfc44b44ad6486afa0454f4023f49341bbce3bbc6e91085d9ab5abad412ba81c6082efd82950744b9359898911e633b29f7423a SHA512 79cc7f20d3c2c3137cb8c9d6d3ec085eb72c1b814b4167ff6dc3c1092b9e212bbd4462f211d2d12702fd52ee7ed1bc5ffca4edd50b74f3b977facaebf27424c3
+DIST firefox-134.0.2-pl.xpi 661727 BLAKE2B 8c188693e8826a4e7a4b3ec1a66998274b704c9b5031ed97d604d756c99cc5e8197e3dbbab0e820701aeed71cfedca7a54a031e21a0d21c3808ee46bfc58a56d SHA512 a920c895d696f9e684551c3c33be2326b16b05a35d9e97c24cc93f957336f7842db9c833c1e42402cf8fb84e4080a677f8087a3edbe8220b141b6f7c87f89668
+DIST firefox-134.0.2-pt-BR.xpi 647959 BLAKE2B 64e241fa624eed060dba10add81d63c32d54b8fe0c927ddbb4d8568af6db5efa6f8f21e703900ba7b8159aa1ff53ecc8ac4afb7d714c5b0c039f78dec226790d SHA512 c13a0bc90c230f64b961f2d9c40ef884596722ea04739a3da6e90aebdeaa8deb7b5dc2c0112aea6d62c60e8f34f7d51d3ea5050af2eda2aecbb91bc807a046a6
+DIST firefox-134.0.2-pt-PT.xpi 654966 BLAKE2B 84baddb4e46c48f98651d61480b3e609371cceeb52bba684c37f1da46af61621743d440c802dfdadf3ce597af6d915b8c358a578d73b381c3f82a65b5dc788a1 SHA512 31788b3bc476f6019ada36486ad90f3e476b1c6f20d6ecde2333c19956a8761647717fd037229c4aea02454bfb5b8b0926eae8e76d64e24ae8f2c5b89412f582
+DIST firefox-134.0.2-rm.xpi 644069 BLAKE2B 971efe6bc012c621fcfcb0582ab2dc8b3471a8b0fbc4ba7a5082ddfe8be6048e53452950d0bc7d5dbe40592c1e715194ff238a7d45347a7da17f0162fc441cfb SHA512 edd13362bd17eb0fe37f97db839e402ff740d725c149c66b7b830e2d223f2c29876150705f95628213231103111504a64668f1c0975e3f24a62f409acfb60e34
+DIST firefox-134.0.2-ro.xpi 554203 BLAKE2B f7bc2c860db254f5ece82eff1467c784585810c3b4a0aa879302a41437695bb24559030917a3d473f2ebd61d3f02b437ee28637dbcb60fee5d153489367fb33a SHA512 ad7054dc38d11724cd97fe0cdcd0fd77028c4782aaf549c03b0086e84daf86b1a1244c074aa214ec871bbf0e338af534b1d2624646cd79c3d26d81603a0be27a
+DIST firefox-134.0.2-ru.xpi 750994 BLAKE2B 5c3caf97acd758bddab7ebc75e4372e6c333bb7b41b9cdcff9a00c55e0c72a7376b4ddd1a6f553b63a5867821272713cd70ed43c3ff561f56bf52a0e14d505c8 SHA512 39f74044e69959717fba65b6c95943a7d29c848c8b338aff5410bc0f608c50d0b52422192929c83d1bad74f328d228969a2ab008a6fd409054751fe3249bdb45
+DIST firefox-134.0.2-sc.xpi 602168 BLAKE2B ebd0edaa3ac43d267334cd054ff7764ea7aabb1978a97b70b735e16100c30ed5eff98fcd1f5bd00829406d7849d883d6a2cd94bd01c049cf3d80505f3633e862 SHA512 3f17c57b1136f5be1ecd51155c0cf38be8d4b0a8a9442b8dcc46f7c40e5d0645b581fe5ed47edb97e6716f8db089ddcaa714b18a1b774217abc0de5199a20498
+DIST firefox-134.0.2-sco.xpi 515423 BLAKE2B f4acfed405aa27c2f01114f97c1a086f23b696a93dee91bdc31a265020ec87c09ed0b530b074aba675fe21a7b71bbcffe0169f59d5d3ed8b0f6e0e4bf30fc6d1 SHA512 c87053eee836f81a6680d38d70322f2944e919604d90c3df3b8c589b745ab80140026ee4758eb3825de4d1349187ab27df52136d9f0de19a72eca26efee61292
+DIST firefox-134.0.2-si.xpi 626869 BLAKE2B 1439f04b2666ea656757cccce4507c290a295bec746ddde94b3cce29218b2ae66608985d6e6276e0ad140a998d10924f33544864874a64d761788f3f12a05951 SHA512 4ff1fd4b0af8a65b8108307864b131083380c69a39f6e3feffc8ff7e5e209d58431f99415ade2a57d211eda7537625ecda5384f4079158f73d97bf00e105528d
+DIST firefox-134.0.2-sk.xpi 680484 BLAKE2B 0d407ed97a02195f45120010e97412add658c6b4373c3b23851af6db6d0bb6db2a56fd12d0939e82df53e60c21d24af7427077f5f11f236cf3d05fed4b9fb4db SHA512 3a50f280da4a62ecd3e91c376ff24eb96a605189e3c4975064ed56c8a9d9a9906cc723ee166bc7b74c942dbef9b596aefc4e3afa67361498ba9375b338ac4a01
+DIST firefox-134.0.2-skr.xpi 727794 BLAKE2B a93a3967e7a1c61e43a849fa5b560e9ea1491335ff183c508ed5c402725ff075fee5040e3bc51d7752647fa955f732d225ec70b5b974f308b72d7951a912949f SHA512 d0f0bc5427f00ea16cbef9404a2699fd2a34fdc4abef0d328bef90ae8bf7a9244b5d205b388db714cc9fc4b4caad2b2399db5924e483bd7d18da18c006ef229e
+DIST firefox-134.0.2-sl.xpi 647153 BLAKE2B 8e54d1c994721e4e19edbc707f56f5bfbd8ee6fe05e5cfe499e005ce19e54c645bbf0b20872dd0d7763123c69cdd7cee6c12b5b29138daddb7a42c955c5f970b SHA512 1dac80c77b1d6a2c0661b238067d424b4a40d78b29d42096bf45aad1121c54c27783539c529a41983eb546cd5f311c43812ce0debfcb8fd2fecda00617a5695c
+DIST firefox-134.0.2-son.xpi 420280 BLAKE2B 66c2e089d4657b8666ff5eaf01279c96f48dd84f074039dfdb2b6104b9ce3bc3524e57698744382f2cb8bbbac8847c613f8cae9dbb3ef43b32915314f14878ca SHA512 a59617ef750e221cc7efc1e9d5f4058324be42f786619cd4c1f173dd94ea96962d3e53ede27602d00a63fc1ce0258b3abfdb63a3fdf833240de3eec51dde3ba0
+DIST firefox-134.0.2-sq.xpi 665690 BLAKE2B bf63c5f42e94edca443461606d1c87f1d391597b72fce85c2dd318fa274636205730aba40fd3374e86165cf06046e94b080a3aa113eacbe3bb3123dcb03a100e SHA512 8c31684a1a1fcdbfa93a0a579868098ba8b83aaaeb86e65c464dbb4f36b4fa747a3b4772a243f2f7d2dc18f71a3a5c93cec3941b9c4b4b049be97d15c94d4a36
+DIST firefox-134.0.2-sr.xpi 676502 BLAKE2B a41d7cd2779dafaccd63272113a9a16b531e8c7377bb1310f734a3a0177fee77698cf42af2537c142d49c84f9d1cfeb431955c74702bc76c1e4dba56184a7573 SHA512 54b3fac720a9f6b5e4b9c0ea2f7267f1a481cf1df5fa20e28a6cbf2f2efbc6f1643ea151e0b1aa04e98f062b39533f4cb472317e0b72bdff32bf4e83bd432ac9
+DIST firefox-134.0.2-sv-SE.xpi 644572 BLAKE2B ac727677d059374609860768bb094abac9556d7c0f5d3556f05290f7a29a71a3d065211feecc2465537a65b674cbfdb7436d8c93aa5988e891053ffea6ee0f0b SHA512 0cf3006e822bff478c31e9712b473222855dac3cc3796d0616c0adca82040506daf66a25c5a50b82fe37dece9f47950c2b4f98ae914f32c6997769f62577184c
+DIST firefox-134.0.2-szl.xpi 530486 BLAKE2B 389cd7b376393e3e0b61d7692fd49ef323340421d3aba5eef188ae1cde42d2557c6b45f026de194614283893e553eb633fe73862a70ca9c0aa2b68ab6ef08f22 SHA512 5053c677c79c067a227153c50cb170c73ba2e13343b3ec45b158b9f90e6b39b3b2fe356e66f6c5423fed398aa9ef9cd2eacfee746b174d0ccd95e489b734cc09
+DIST firefox-134.0.2-ta.xpi 511217 BLAKE2B 35c2badfed05a3a174132c9a743871b716e9dff0fb51eb5ffe82534613805d0426d7b4aec9bcf619a1ef52946abd9da2fac0a561528eb6577c179988c31d1dbb SHA512 8ea523da807a016445755ebaede060bbd1d16f113769b8ad6e946ed62539d07ab647109a4c83a034236a444b37c71095e5aa9be1f87e9d15e105853876951a87
+DIST firefox-134.0.2-te.xpi 575366 BLAKE2B 1b43e4999e2f2004b8db03136b80fa5c530d4f8b81d7239a815839872170a399d06a7668bb8dd2b359907bb206c3c28ce298ff17214ae51b480525051620a156 SHA512 0c241e6a30ac6e87de1c5d2c92042460f01203e8c26d14495fca18db3891fc503a5e8bc61348debf5f26a38df0b0a982f4ac499e43d1b6dbdc17fa0096ec7b59
+DIST firefox-134.0.2-th.xpi 727730 BLAKE2B ea5b4de061fe582cf1f33ebdbe9eb7522ef5caa271ca63833c8d3d203df4f149f08c5b8071facad810d6273b94c2f323b04dc86bb0de0d6f8d20bc9cfaf65016 SHA512 e9160fa79349d3e3ab5d39fa7b852b838aca3709347307b177e9374e0305016b9734558aadc43b155bcb03d20e0b14df53add6c65c9ca7e05575cf87fee5900d
+DIST firefox-134.0.2-tl.xpi 538546 BLAKE2B bf74822975816060da61f23591e27963fefd73ffe9f1f6d885eaeed663a344d50c3a905d5d26a39aea9927e6f464c7d91af8c831d578c4b888dd7c73475d7f93 SHA512 e3f54f4c670041a3e9b52724f37aea1dbb5816e8e09693d6d6bb9034acb1fe132be1dd01a8dcb963d4e96f9a2c8b9bfc39a62afd55ffb06214a94ebb325a7203
+DIST firefox-134.0.2-tr.xpi 656854 BLAKE2B 55f9847bfee9eb1a32570279b5715757ce6af15013a2e1dcbdd2ab4202e3bb26009326b0a1f6e55fefd65741ee3102cb5f892df044a042c0d80f426f99319c01 SHA512 da63d31d0c9ed9f29e429bb2e7b6d14d762de940af26330a8cc4f65424563d88dfc19ba5613fe60839c42a3686d347dca6a4e62acac4f38231d48346b671c4a4
+DIST firefox-134.0.2-trs.xpi 507810 BLAKE2B 0086999e232a3789d69abce703f887c787933db386b2095352c6521cabaaef5531cc52e36617113b0f2fbd89218bba9fd341d20f60e46521e66bcaa8c76c4e6e SHA512 60c96fbb59905007356db428a8f194af8e4cd91308487436597e7c61cd9fe1d72a533e001a0bf2d038e7eea77ded60ac705536257647aa3f9e4391cf24c10431
+DIST firefox-134.0.2-uk.xpi 742078 BLAKE2B 2589e3f00726dbbcd12f353ec0079b6ce37806cd92718e19e79d028f721de1dc6d66ff2b2ca85c5470cc2bcd974c8cc000fd298c957c170a77f29951ddd498ac SHA512 54500430a4045620255fb5d21427eb299cab4bba1135379b006dfa1bf0c35bdc98b24549718ea093319771aaa735d4990e104432e3b1920341b0cc355e0eadd0
+DIST firefox-134.0.2-ur.xpi 564367 BLAKE2B da26c584e0ebf2074636e8e622408b0b69610f609c7053748c7f64b98233fc9012a98d3ce13abd7085af67a3fca8783384eae345d2173ace89e214ed4559f2c2 SHA512 3b6e514cdbba4506422ee039c2ce4d0011d98d2be1e968ae528ee2bf79c6f80db3f766f70fe43ab8b0391869005346f4d8ae00bebc036be6727beedb2685cef8
+DIST firefox-134.0.2-uz.xpi 482832 BLAKE2B 4f0e7de6855da62732786c90447e68cee03068c9a647f3bbbf7495c58e8889e3c0611bcf144dc51fdb17fa3014e67cfce28712fa357d7e4a5ac922b1d004caa0 SHA512 bb17b008e3745b34855c2668e68a0de5ac09bcaadeb88affd0cf6741ca162e99177c7d9f19fd68f4b1714b5d4312bf9ef8366e813d0f6fab3baf95a6659d759e
+DIST firefox-134.0.2-vi.xpi 683438 BLAKE2B 34ec85bb8c88758feb26b7d3fb0d9e166f731ac873b2fd182f11ecd5cc95feaa506b3e6cffb012efbe550d64623668b9a21bdf6cb482d57f0fa2b36892da2240 SHA512 506b0e4038328f3aa4dd7bfc439dd3805be7ac932c42c1140c4aabce3f19d5b95dfc94fe3e781480cd35b665c23aee1047f6efeaa15fe44af16d74c3a97cac58
+DIST firefox-134.0.2-xh.xpi 421008 BLAKE2B b0110c3a1930c312f385985b00b1e2bfb19666b137c4e2adc708a89fbfb921b4e5fde794d5d2651d1f45290ad7ededd7310e116d74d0b520329f7697e0bd1dd5 SHA512 8626397cb9642845a2f6d7c39511ad8d9d9f16d2d55c38d1804ec84919900f28a7fdb4e03312e3fd711fab21dcc3ca9db344405baaea9776cb255bd256728c26
+DIST firefox-134.0.2-zh-CN.xpi 684487 BLAKE2B 086b88dfd1451614af4da8b51ac180aeab8e47ecf69c6e5148738491f221a06d34c28254ea09ac951ba25f644b9024c917118d2818f583d0f259847f635b0f9f SHA512 3d2f762eeaad47dfff627087d174074d3a89507734c662c974ab5c4b5f587541ed62e8e59d5aeaacd881283b1f311c495894c60f4cb7f6dfb5feaf2508ea030a
+DIST firefox-134.0.2-zh-TW.xpi 686743 BLAKE2B c3a157e5fae193476bde6722d32b1ea4e65cbd3bde891e76830ac193b609de6302291b6eebc5eb3a54575244738763a1c538f621d5bfe2f6715ad98009e83db5 SHA512 8fcbd4a0c897a9a0731283ccb78fa35d799957cf8fee1f70892c65f106efd42ba5b2024eb227952c45f4212a1bc2ddb65e7d7ac8cd61608c7c837d29b2c6b517
+DIST firefox-134.0.2.source.tar.xz 589962348 BLAKE2B e1d4eb6fd528fa405e1487ceb256a28946f703d39758594f65950feb1448f7423545162d411255c559c4ba697c5e14c7cf7fdbdabfdfdda9663f24c53737a742 SHA512 74d631ecbdb5607cfcc4de408947b3b129e36b3d1daa501827aebc81f48c878f9bade875875c466c07c651f26b5388ff2d2d2087e66e0613d8914abaa7ddf5ae
DIST firefox-134.0.source.tar.xz 604421068 BLAKE2B 599049006a65bc70ce7a43b8412a260e033888609fefdec33a7aa4cf5427e0a89a725e6a74b396097a9263acafc9251f9a54294c666af1f7355c66ffeff4a007 SHA512 1275a686dc0a27b48df4ae05616511512f676e03474e3095b2521eac25a385d345aa3e8786716dbe812af49e07d72b32772479089d648968e2004ca0c9c35344
+DIST firefox-135-patches-01.tar.xz 13732 BLAKE2B 53829369b5d460572dab4b7090b15247daae2bf35ed470ceb8e5966289bb35315160cfe7e76e69569ec4150a4632b0c95544b8ef162294b294af92b9cf3832b9 SHA512 33c79231d27df64541df2a8b78eb39af93480313eb227affdc419b7926a08d02bad90e3eaaac15019ddbba3765a2e6de724e4577b1044507361ee83eefee4625
+DIST firefox-135.0-ach.xpi 297493 BLAKE2B e9f6422239452ff716089945cfec4696c6f48c92f283e412788b8b70f95f1c6e7aa14ab85d983a4423a76e5a110b5043bd966636942e2714626ca3b14797dc02 SHA512 173b83bceedaadefa5cfdb5aa6996803e41f8f7efddd89d3dde7778fd7b04b99d6d3c2bc3622a2246c78e9c3c308694fada412d17a2539de3ab63712335e0455
+DIST firefox-135.0-af.xpi 269128 BLAKE2B be97eb56a031773a7c647d72181ee3af86ee7fb23e94a34f5b0d7fc47af3e3dd01a67e81a5bae13d30985c1c6ff75ba5a6de91af8d0803c32d0e3cd0c5f73fba SHA512 e6352c7da7985cb1564fddf8c8e8445baf47a27e16fde93148aaf2f45a92177ef4b507b83c4df90308fb5d00035d3059404a49c1425cd943caa30049fd427c4f
+DIST firefox-135.0-an.xpi 336069 BLAKE2B a77ff09e247c491a1f252941f7133013709a1be1586755b0f99cf879b8056561901ba4e98259b30e5fb68f49f44496614177f62c8ed14aa0bd188eec09446d77 SHA512 265045e54a0a8f6676080228b3b353b96f61f4986db23b654fe04884852a112ef12b216bf3377e02023fcf861973f5bb4a3decebd703809a21e606effdb015bb
+DIST firefox-135.0-ar.xpi 431817 BLAKE2B 60cf45f7e24f9f498124d764d3833a44327d877e80afca959682cab03b29ca0fea2b8cbb6c77dd4015b4619e81c796a6cb0f4c907ebad96b5448c33bf96b3ad4 SHA512 342ce17248824caad5651410747ec052e549ecc5e509d76a7161ce84255e15ba99ed9492e3870d4ccfcac68885d7fe8eb1b9ee87c7efac64e317352982a025ce
+DIST firefox-135.0-ast.xpi 315336 BLAKE2B 2703997a8afcbdaf92389fc5a23e19d2045ef9613fd3bf6d8e7993da22ff399fd5a02376f15b1b7d640fdcaf369ea6da8097b5569172adfcca2ee38fafde61ef SHA512 458659ed77cc154db7a352f9b8a4475af88ec334a5aa99cb63a18d042d4acb39e874ee2031ca788cdcfc0ba25a8f7ebe670d10cbbb6b2dd94060decf1f49e196
+DIST firefox-135.0-az.xpi 322601 BLAKE2B 8d040883e00d4cb611784a63aa51c6f0b093b552c693ddc221f57a4d25fa644ffe008bac05984a542c9b7934cb0dda13e6b42dae855627e1321399f12f32b4f7 SHA512 fd95aa34a63226f4944ac222da90862469a0f163f81b0cd119755ee69229e4b98e8dc48f4150472a50b32ec1a07f57476becdccf88c878702aff12bcf7b9b375
+DIST firefox-135.0-be.xpi 514716 BLAKE2B 9e02365f5aef9ab137a7ba6f4e3c85755f094622886f502e18677568bf85feea8f6bde32548e8efa15f910c576b64853d055ab63bb7eeb4c3fe23ccbe470cbe6 SHA512 d8a9df409b76674e2db61c3adf412f4e5b2772d28c089edef87a6c405700bdc26cc2802cd34678347ce4806ff8483d836226ae2ddb361b59afb6728df66126c0
+DIST firefox-135.0-bg.xpi 453357 BLAKE2B 6f319995b33d890017b57e47a0ece2b018025726e69b4c1b35d7ea1af147cd5b9480af48d4fe2bede027d643edf6e01240a493fdd6777aefb7f1d1aa8e6e85df SHA512 588014fb0409e9322de4e1ef7a9d51d4f9b8d0af2862b47bd0931727e1fbf0fbc014fed8a0c888b398a134677c4563603537d7dd634c4b9688d505b927d5e175
+DIST firefox-135.0-bn.xpi 417341 BLAKE2B 3fbc61821c280a855400f853a8fb5510d8f18036a9c231844a0b86c73fb89ae19f589df5225c7267b8dd1369cc3ead3daf29032f375a3dbb120503291e90d0a9 SHA512 f3fe9fd4e0699d745d712d768e0a33c789a859f222565ce966673d526c367adbf92b6eb669b6c29bb17cc083db86d00a2568d03f83617ab4dd53e591c73f08be
+DIST firefox-135.0-br.xpi 397376 BLAKE2B 08214939a4a1393f466533d460f074f6dcfa37a49a3e0139cf3c2ca94d26342e0109332b9d3b437c796081d53aa106722934f3a9c8764acd716b422444e172c4 SHA512 7521edb5706d6d3508f301c42a9c8ca8f231ba3308a0b479bc7fca896b3880cf450c942c760dc28ac63a480c08d8546ad376c18f546a3bd6a49a1716213970fe
+DIST firefox-135.0-bs.xpi 368182 BLAKE2B d118f56290181a198401ad90e53ea878ac4ee35e6b387d3b43cb0473430e34c985b40d347a2e214480326df3c612f671cbaec3ad0e7fabcc1cf0864216b0cbdc SHA512 f0ba0ae5132bcc86b64bde4625d8ec7e00d4ee827b7835352fb1696f4a7d49fe482dd38b90efd4d8d206214a2462f02497a2add6a8a17f87db6fc29491a6dceb
+DIST firefox-135.0-ca-valencia.xpi 362554 BLAKE2B c3da4af360eb1a96c7ac1790de422a16d473c09bbe19642aad2ac0639d3bd5c1166cba2904cc99e1ee168959259e1eaeea4d3c40be2380c109c686072d0206e8 SHA512 d736021e1233e910b07a36ccfbe5024dd869283ca11bc93f472a637262a9bdf5b2f8b3be51f5d70855f21da1c863435085a87544cb5567b41dadadc9f458424a
+DIST firefox-135.0-ca.xpi 401650 BLAKE2B 635eae49c3fc449391fae1415bd42c6ef7aedfa2d139eea3b0858b29a7075c986a31d13b48c934c97f7d33e9db6ff76e4d88cbe7187d93e7229b55cf840f1ba0 SHA512 e2fd2452ea05a356ed6013983412b01e0fd6d1600e119f9cb011e9668cf12cdad356f3cba1eeae3628d1ddbf26e30cf43e9a30aed2bb98c46ec5ca9362667386
+DIST firefox-135.0-cak.xpi 397000 BLAKE2B 67a61f7d031ad6e2898d227c0f3755ff46e6a13ca12205d69b3cfd89d081c401441f79f1ec8976a48614039526e0ea09c90523d395865e322c279c56ea8e6d15 SHA512 496e0dd73b63d33082187e373af2bf0db199fb3ab7887b4a2c07b9277eb1cea2d4b47fa340ae07494f67a83e3c9a6c157309e67611f211d5e024f608f5e59cd6
+DIST firefox-135.0-cs.xpi 469983 BLAKE2B 0f855ff4c3e9c25705e7b4e9504c8e4a15e4d40766bd43742357aae4777098a5d7c0e14bc01af8f3ef0e022d13f45b18904198723c3e6994d4c686e1ef4e151c SHA512 f9d3111e3ca978534672dc5c74984223c702c80faa0857844916b2ebf72f43c8d63f607914825db0cae0697323d80cf6a7d808538cc8abf1baf8015e0670656d
+DIST firefox-135.0-cy.xpi 436445 BLAKE2B 4ef407ecef6c3c050efa2af5040a8c5cffb85fc5de4f7c706ae5d5153812f6c8c3e677c1d5ab2c94250c0c7e17ea828c91365bff6af63b8d9d4eacf5fa2a7b8c SHA512 985cf3a79a751dd4f0db00f20802c4f5a32d10ce0113a159b0f264a5191aebdd941db53d550416b5f26ca91c3ba9ff804ecefd215f399d0b7a88e69ef607bf19
+DIST firefox-135.0-da.xpi 425954 BLAKE2B ba8248b39fac38bf39b161d5dff850994076abec798add82cb37be15d32d853c04dab0f968d1d69304f2784a3bbeb0b180aa1b85a3912ab8c54c3614cc15b01e SHA512 68b88357e86bd5a31ba484dd34e30f81729730a72d3b70c627ea2666c24513b5c6f0276fea68867271a208894f834e993bec9db35014310092c589829d631e26
+DIST firefox-135.0-de.xpi 447596 BLAKE2B 5a3f99bdfb193c909a7306fbfe0ac1f293525d406ee66ca9e467413508be00e729ffb19fb3077f6da77613b752a89cc4b960f9b0121621862a21b8657be2a13b SHA512 c088e4d17d8ae51c50514ddee313d9cb36aebb6e7d351c6a937100182ea936c9d1839d82727c7f5af733ec13f0d146b7cd3f6bd8691dffeca26f51863e8f1161
+DIST firefox-135.0-dsb.xpi 460614 BLAKE2B 4067d1c73874017336f5fd06f31cbe5f320d5e1c5ed55f483c22ced92f20cdd82356b3c0ee523cf22c247e153f27f866ca547d891a0b867ff06b0d55c635f7f5 SHA512 6cff7add689f2b840a147420c4c0ac6377539c24de3ef0d4844c046a29e29fea57018e7422cdcd3f113ea3f7d0d54620e0235bd6627b2a26f30a565a5b3590ec
+DIST firefox-135.0-el.xpi 529587 BLAKE2B 656176c0e93187096a9844e42ed967743b797f4dc8272d82323fd9230d4e71320880beb37870da66a07b51fe314382de820e60860b0df741c446b15e0c5b7ebd SHA512 ea537b4b54aeb627c758cbdf6cae490797359f3083210141c9721420a0ee70237ac0b4bb79ee4a341117095764b77d8fa8731944c849212b5d2597b4df4bc52b
+DIST firefox-135.0-en-CA.xpi 406581 BLAKE2B 9b282040221264bf9f017fe4bf06bf6f1c72c76a43324cf0d0ee4016b87bb7abca20e5363e0943424e45e4bd48404fe1c9beafdc3761f00356d59bea80726a37 SHA512 ea8df3a03c07b2f386101de84fb1b3ef4db1cba15f633d006c617c229f44b80189c6612c83f023e3c3b0e8267f26b50458e4e0eb0d975a80f2f218546b77d3e7
+DIST firefox-135.0-en-GB.xpi 406887 BLAKE2B 67c85a35416b58dbdda2e866c1ece51b35101fd28b215656842f9cba533328679e55a833df5d79b0dcf6bc77f6ba122d1f1b80a96f74dd91d9251a6c6ade445a SHA512 01b56f7e5be3e7e652abd20808add74a81d4618cea4f26064192e0f0d3ef708dbb890e34db8606f0c5e25f1eebac52afdaa52f52892cdaef6fbbab120f644ff9
+DIST firefox-135.0-eo.xpi 428440 BLAKE2B 4e26589e08987579f2ed76ff7dc2c09a9dcf2518c6a26a335bfa185555ec6124b8e08c03b26ce1b09be5a49bcdca981eb8c246f50908e51900e9f25f7591c116 SHA512 0c1e74502528ba3bbf63f3542ec29b5b254abd667cdbd62a50f47b42ae2a7f1b6301a0a6862882e58b0bcc66abc0ce82b45fefc6202c3f811f0a480d468728fe
+DIST firefox-135.0-es-AR.xpi 440561 BLAKE2B ecab809ad15ca7afce22acac95233a3caac689df46df8936adf18442e2771b06337bd5d2595bea7de9d1760e1eee8ef4c2bd06f8ffef13897ea2bb96d40e1aee SHA512 48ef21d3e616e68cd17388e04ed77028480ff8f170349f9c59daedab81f8bdc692664686f84673e11e27330ad78f35d401f40d86b13ac20e0c4abd1bef09c76e
+DIST firefox-135.0-es-CL.xpi 441039 BLAKE2B 22c296c84b965396a5e3ab92d8492b238a0f1a9103f460ca9285ad16123ef1d67eee4c6c549212d3fe028a7c4fe0a87ec5c17da81f7cdf13851e71c5aeb85158 SHA512 2bbba3bad248df17edf64423e966ccfe6f2add8da2b0d3cde999f2b9c419ab878538927d00824dc8d2934d5d4d849ab57639f44229f3601f98711da0a6c52341
+DIST firefox-135.0-es-ES.xpi 441899 BLAKE2B ddbb0c5f1443bc8df98ffb2fe50a208fc96fda8545a68f428714d0b24d82b4a69865b3dd51ccf0dbef6c238eb9300df0cfce1cf7e08530afc358af0787840d0d SHA512 e07be4e269c93609795b5e42bf222150457f22e7f94b3ec7f40ee36bddcd602a04b5f92d61fe650c528bf37e9f5b35e83488d42935018f7e775d77047d52214c
+DIST firefox-135.0-es-MX.xpi 444249 BLAKE2B c15d4c3f9418a44712dbdf4b55c1d4135ee57a0c42e87ce7de238fb1fd8a54aa74289b7193326cb9a6fa8bf28c3bd13385ad93be7ff4f58d3e855fc204a8395c SHA512 6653c6591105093d4c2e0416f0a207689688793ec9b7c021c5029a6e096f0307086ebe26c33fe469f5ebfa851941fcbdc01e23f2932c7e51b9cbe181f365afc9
+DIST firefox-135.0-et.xpi 361095 BLAKE2B 1ad3e8fe5eb05f8fd9bca0b7d39adccc9b012a6bca9bdac71040b2e96887c4e4cc7b3eda1920a847c970570952e1c1a120cddc94316c391e1a381fc7b38c4026 SHA512 85227d3e1ad337a7a5802c5481625f9d3d233d6a2c1fab8ba1a3c4ffc969a49d2773438e5b55da0db9310e090a06e2f8bfdfb39db124b96826c9d3f9602304f2
+DIST firefox-135.0-eu.xpi 413640 BLAKE2B 14a4096a0391a56b0259405d873f42eba309ec6904a354683c8f82646ef2bb3f6e4bb0ffe38cc5938195ebb38b867175cd8271840a2b71abb240239a1e343eda SHA512 60af5206599c15960e0b268666c03cefd4ecbe3ad0d13aa4d3e911d720edf9d0a4a2c306782c6e0a528e414d9a1873bc12bcd5ced598622aa0242c35f80656b9
+DIST firefox-135.0-fa.xpi 417970 BLAKE2B 87eddb677f1a6c7cf184e30c1c03662737e3b81829ce32217308e5f5113b9b9049581bced23265ebb8753021d9df81b2787170110663ab049ce9b288c3aff7f8 SHA512 9e5fb1cf96ed2d8d9253f03327d58bfc6e1b722520650954999dc411dd302232c4e45cbe047ef6b43775c374a719774930b6a14865cd74aae8927e5d7cbbf3f5
+DIST firefox-135.0-ff.xpi 313582 BLAKE2B a7677e3b5c96ef46dac870c2cc1e747981ccdc1d59b02f6f47c005ad7b342b4b75a66b5a9f6d2e570ebccef22467cc5513d78834dd293354caf3a141014f50f0 SHA512 385526ebdae09c8a49ada77fb206c9971e64a3a91cf80e1242e099541edae314b3ee1e739d1c792f5fd9e90b20bb36f42aa86a6552516c6c9307bfbe7235d78a
+DIST firefox-135.0-fi.xpi 423825 BLAKE2B 87fa391106c2041c3c80dc7ffa8e62d83686f331f41a032b5ff1dba6f707d4a1dea617e88343824992e95e8b39dbb2ef65393bf64aff12ee3ab636850fc42125 SHA512 ac01766654019a2fda4ed9a2cf2ba70d165a48aa7297a9120c0dbed8ea7ca5fb472f5c806e98278ffdaf58d804813f56c239e4665654abb269e278f5d75ede6a
+DIST firefox-135.0-fr.xpi 453316 BLAKE2B b3e9f781d1e1af9a60cbc175baad96285f506ebcf16828e5f7a5ae9ff21cf30d0c3349b06f01a950ca84ad908e6d54ca582280639fe4da06bb8f27166c181d16 SHA512 83ff9e348d6898a55496bd802be00fa80d0f1311a5d7735dcafecef22a53c43fc50ad3f909ea7d7a58ee8fd7afd82d2df19497a250f71afc52b7d6d4006f960c
+DIST firefox-135.0-fur.xpi 439818 BLAKE2B d89c6062902ea39a3a71e29e0677c3879521ec4187e21163d28ce6adcbd2dc6095cf8fb85ddef8a3c135feb6b5274496655427e3217139b5fde2d0a03532b7cd SHA512 8316d5b70054ac6d8de703b6fe4adce98ff9d29baf742f5f4c7b8ed36f34b69f6c27885e00a33ddc8dc7b0fb457f68276e5af1261ce51149c2616d6bc742cbfb
+DIST firefox-135.0-fy-NL.xpi 437083 BLAKE2B b267b3eca8dcc3762ef4b15ff213b4b4b9d2bba77a17884c1ba29dfe6f26f71f6fe621fbd6072b5f755e608d8f485f5c0e4ee6e68f85e638f1f501b736c953de SHA512 5057fe78aeb12fa48bbf6359ae24dc8fbf8457055458bf3ee8e816a7b49f4622b930fdb6d20486261b1dd2dae3251948a80beaebe288330663b95631f63c3325
+DIST firefox-135.0-ga-IE.xpi 309796 BLAKE2B 499862541307718ce0b31791570a10f6cbd530de8e9a51dc1da0a28f1a7dee7642fe23614f9ddbf1cd14a0911840a360d17ceebe37e93085ff94d9b2b3874468 SHA512 e4645a5f78d4c84df77cf15f6360d2391210b3e26c8c506e1e3db6fa5a3300c17b8f4f66971962a529d3295582ddcb0dc7247e9e5c7864733b39319bb2f96d7f
+DIST firefox-135.0-gd.xpi 405574 BLAKE2B b9a1dcc89117645dca0693d49032cc7e8845cf62a772cd650ac3908ba9c1632ab27de6ab9edf33e87eeea1237904f73f6a50e962f8c20a56747919be24d457ef SHA512 2a7e5f1974248bad03f68bc8d8a989337e3bc5a2ffb9139395398d35f33bf9239d0d44921d7383b73628f0b09556304d5eef2bc883ca60663b368dc7d1ce5e2b
+DIST firefox-135.0-gl.xpi 408689 BLAKE2B d66b1aadfbbfc817c9d72d3bba77debe76b635327f4950c1485405c09edc2f52c4d5401b21239ae4f7b77cbbd0fb90e76bfc1f6573ba8fae4ba4c35ecc78cc32 SHA512 cfe6c046bbd3d46eac6d745f77e8c4748e3756a97a632ca37b06c850d9f46299f4d10f6fbe0fee0403e2a7322c7ff4a820f2cfc289aaa88616108df5c54eb210
+DIST firefox-135.0-gn.xpi 444176 BLAKE2B f9758a62f996406bcf1509cbfdbc5ff1ab344414042c8549da6b82bb982385422de15e40b9a9ac546e5b1d90506d5f1c716771bbf09018bc0d19e0a45b2682bd SHA512 672a9a8b592b3e647f7a2d5043f78d292d015103425817716cdefed1a8fafeba8acf579bd5ea01b69ba451e247d5e274ed2686278440b1a6a9f49cfe4ea1c1f0
+DIST firefox-135.0-gu-IN.xpi 363080 BLAKE2B 489386089ebb4b661880efcf5f1f11ea08c8411c3d5bc7595f2b527a301878e4d7b6c96fdba3fd0dc5cb8caf705e78bb36cde2c5e1a9e1d9c9742ef83d4998d3 SHA512 0e281185c6bff66069dbb133744837e64b217cc70b808a10398229a9d703291e75efab1bfe12ffde13f231d5437981e560799d3da15a4f191bad5d0ba21d7549
+DIST firefox-135.0-he.xpi 438091 BLAKE2B 5a1b14a68b29c9312db70d2a850b6aa63d8bea54afa1052c852aebdd6fe4dd63d658e6ae712c148ec38c09823f882468b392198850969820951c34f6abe9aa06 SHA512 74106d18f01c931e47ddf958de68aa5f6c7814e2c5c4c0ce79f277f8e0c28959c3fa01adbd5aa60d53ee2abc0ab8d7b4020c9159ff171f0ad2a0f3fb7af0001f
+DIST firefox-135.0-hi-IN.xpi 381627 BLAKE2B 4d3d4bf705980a2fe8bfcb882f1b90d663667a57f624a93cc7200d0e92fb5a140023b1be5068f4ef76f794082d7f66646fb4372fd90f6c5ffd49276b789d5e45 SHA512 dd24fe792505ed24182085e46651c661a7f388b95310e1acc0147b45f255eff9a2eea9956b975ce8af135beccc1236c8f5f5097c186fdbc66ebfcf5e75dc2657
+DIST firefox-135.0-hr.xpi 431103 BLAKE2B 26eb17bb67c0a1d9d38538ebb40a633ab9ac82030372eadf748b5bc369ab040552b909de5850ddd5da1d962bbe74a97825728dab5034190034cf232193acae22 SHA512 65889480ae9395d80a31c76ff0471a45634800e014b6c75bdf97bde40b70cb2f6d6958812161e4aedf6aead23a7cfe7fff727f770c06273d7f3996f76a7575a0
+DIST firefox-135.0-hsb.xpi 457172 BLAKE2B 8875df22fea5965bdab1e66d7aba629640b507c6f7564400bec9f0afd370059c2d38fa32c8b95b59f150b7b3081bb849ffa3309b6a91f2634d61264cf759cfda SHA512 e679413acf9d1c56e5a639e6be3fe1a3753fc86db69411cc30684945b2e72a7cf33ee0a54e8e629a3c116f6b00a79e1e2a827e8ecc399cd6a3fa1e541148f9cd
+DIST firefox-135.0-hu.xpi 461006 BLAKE2B eb9af5bb99723785a30f1a91f10d057ddb5ff3186b8bbd1136107336143662197464ed3a55073b85ab7bd91cebe756c3688c5087559f7293faa7b740a36ea50d SHA512 96bafaa7b09707fd73532a5a9d7415f2feb3ff846877a2b23b148b208150edb5fb393ae25d3bdb465d667e1095891f0297ce921a33cf870089c171022f374599
+DIST firefox-135.0-hy-AM.xpi 450030 BLAKE2B 6e03c06abfd7ace9200f4dc3918003551e4aeb4816b32d9a40ba26e31c91a7744fb4d4c6efbe3c7b371b8e57967e025f3062f2b40c8dc681968d07cd4808d96d SHA512 896cff86eadb0b2de93d316fa0fa0d88bf745e4eb521c211dc6d92394be235a50782c4d9073ff0833d0735fcb8d3c197c9f67191558650807b8dfe4fb9c04cd9
+DIST firefox-135.0-ia.xpi 425189 BLAKE2B b12938520cacf8aec9d7bd97d9670e6bdd6d34e0c74d428f372921b5d9d4afc4b571ee56f176774778bb38d6c4b5521cbe0c54c24d6c9dffcda96770cf046cf0 SHA512 78fb6f00e949f3466c1d8a0c63879b56c4de7abdc9030aa3d1aa9cbd041eb81b3b8ea159c1287655db01b75c4da3823c1adaa019e4e569d2e0ecf62e58799f4f
+DIST firefox-135.0-id.xpi 414159 BLAKE2B 310b5e0ad36ba9028f36acd538f9ba410c6b680e5e7f2afb0250230f8417417e73579ef92cf74bd15a83c657f8fb96d8e22977b1a4fd54983b3fdc8c42975f11 SHA512 36c0fd620d6cf258a9309c1b3817738505822dc6ff3ebddef788f1d6ee2e366572134e7ac4d530db8246fea377f2057b850dd80301757a29239804d51f94ffca
+DIST firefox-135.0-is.xpi 429197 BLAKE2B 4d7358dce2269be61a6d3be3a68c70406264f1ca87eb8f04da7e2ef91e5938d61bb4634fc11fe87d6164c1da49603873559115d17f691183d0957a1bcc53013c SHA512 d887911a9c6cdd090c35b859ef5442f8aa8555124af9055c5f4e8183933fd50f13611308bb897375a959a2d76d98fb6d74239ff95ae85f7c14d9a33e4a5bfc89
+DIST firefox-135.0-it.xpi 435818 BLAKE2B 6140fc9d96b9749cc438cec133bb7203dd97cbcb1c843af7e16b692450d425873dc99e756751746805ffc9126820f3896aa7fe716c3cdcdf9413a6d0eddc1948 SHA512 738db1df3bcd1dc800978e6157b7de4ab2867d722bc2a3a7887224c1cadc23872748c28dbb81bf1f03fb92fdaf0ec51d716aaa6aabafbcda540ed696a2e1887b
+DIST firefox-135.0-ja.xpi 476070 BLAKE2B 47fba0406ec77d7060538452aae0762fa0b9cba1d0521aee4915b3778486ed191d37240a46dfb974f51cc4ec16dcae2669f2acec6a1687dbfe3cd74ed3769557 SHA512 c606748ae92047539b6a6fb862156d3fb44680c93392f0db39da6897010c1011bc2582070ff9c3bb4efa3c96108283310b7fa4349c235651d76cc7ef9ffb121c
+DIST firefox-135.0-ka.xpi 488870 BLAKE2B d2d27093e730facc071e669eea814a8d02a2e9585926a48533fd1b853ae6fa5992a6cf2b21e984d028e6dc247e39ae23182952a2212d40c10e2e81fe13cfbf9e SHA512 c0f824324856f67bb9e71f015be0f5eb49c4298a0d55f775ab2d18aa40fd928d9253f127dedde80622280681b2a8ea479cc6c862b2820747af9ac917e0f54628
+DIST firefox-135.0-kab.xpi 417296 BLAKE2B 600e7344460694ea9c3b345dc2c4952fb1a58c57742c06a5204d2fb6c96f044910898e89dd0c2dcade2856c5078d6a9c92384bf3cd8cdadd7798afa37e79ea60 SHA512 cd07fef85afa56803f982275844f88a2b171dec9bad268b3086729de6a146382a59920d5ad3c9fd27c3913dba963fd34b5ccada47c346f74103b58cf90883f08
+DIST firefox-135.0-kk.xpi 504538 BLAKE2B a11229d2d72f20d5885907252ad4f14d300e1cc9063a58505c0558394c1739843fc717f5e412bc973bcc40854e3b4642f72b864a5b306443b8591827617b729e SHA512 56e2eee2ac233bac6f6963e977afcbff7022d08efbb8e1a7847dbf23180e2a7da35db3d27f1a1f7d9bb8f7db78fb4451133583a995b1970211d41d27ef426932
+DIST firefox-135.0-km.xpi 354099 BLAKE2B 444baf19ced49f553dccfbc9aa8097ed523cc518967202c29bd145dffe81bd5a65b6d1912966134dc71514c7f8ec9cd3dd50777317305f8dffc1c7a8e687bd4a SHA512 b4ba282581d0b9c2b302544cd915a849fd1f5bcdbf9153dccbd08edfc79ac96f8c3e5f3e7a5f789ccf3de5b804da5697be5d463f9843eec9896d4a0133badf17
+DIST firefox-135.0-kn.xpi 335954 BLAKE2B 577206e716f781537670fcb502a6c3627e89d9a0bd0c03b8f4c111142a29773ac043646052d68896b2fad8bc2f97a8c8d6f1b2534bee8f664c3d4ece5a7829e7 SHA512 f37028e52bbf4ba3550551872dea35f961f57cd984395dadaed46cdce045f91982b1c9b195c917fce7e022ae2a8eabf419dce1f66cfde0da180481034af414d7
+DIST firefox-135.0-ko.xpi 462015 BLAKE2B 2f0330d2e26050e02df365166c3ed3a2b5310d938bbf91eced7f43593c20fe6f156c29617bb321f24512d50db12a029e9a41e1c70b571fd113989e03b8ea39b5 SHA512 65210b12fac64c8732b72a92c6624367ff0522a8234072f582dbf42d77c03f01924971b3c48809e7e07164ccd66884c6beb1e51545e9985bc94024d3ea8349f4
+DIST firefox-135.0-lij.xpi 321522 BLAKE2B b6507673aadccd1745982c429661e98b51d7f32bca2e50e342935e35f6a690f6c6f7a2526b5f68af7634756cc3c5d4be80441bfbe6b4b2d00f7dfdbfa55b3a8b SHA512 59eebb2dfbb765ae23f0e8f90517890b54d8b372bfe9d808139ffdab59b0117364db5adb2fb8a002884c0fc6c7a3205d9d33d1aacc82c39040b649a4142dfffa
+DIST firefox-135.0-lt.xpi 385226 BLAKE2B d6d2c1e49487d180d8e180f3c75ee8977bdddf510b9535b6d144d47bce9f6b68edc7b9273936c8fbec9e1f70372e57797f7a574a9bb4d53333413f7a2ed9a6ef SHA512 e76ad7464c3734da6ace415157faf80ef4cf43b79493bcbb838313854d8769d6a092acb91814ccce19ff64d7e178fec855274db4eb673d8d8c97fe6678f4f6ca
+DIST firefox-135.0-lv.xpi 393510 BLAKE2B 9007d90272789a9f00244f0224d129baa7cb6ce05e7072f857698379e5f73086cb250de77b9448f465ac563771a46d0bcfe8bce4dc1d56023a5fdf2d320b2cb0 SHA512 19ba4c2b82b1b2381150b83e40e1f8b86cde4c941dfa7c125d34199a3811f0b3180103b68c7efb8a8faa2d3bfdc85811d1d96a972606e3a5d5ba768503fae6b8
+DIST firefox-135.0-mk.xpi 321151 BLAKE2B fce71272d8e723e3b291999614553e070f26d30df4ef6177cc44f5355d60d088b139ae3446be9da32f1ef2d1e28141ef99ca4a2c7554d57b666f3df96b1e23a6 SHA512 1fd6442541d8f0c50bfea50c90f8352b4e2ddb7eecf0ee14e686c3c484a5ffa1df4ed4629ff730a3ae04a2713f2d4a33db01544fff3e22630e00a78ce331736f
+DIST firefox-135.0-mr.xpi 360204 BLAKE2B 0437fac35c7c69251a62cfde0cdb6e6fedf9b28aa12bcfd68caa95df40e48bf93b43d27d32cce9a96c76f318e213049361c7448bdb8d143e5b7231c2b6f97527 SHA512 5af69a8c1b8fb8e4ac01eb884ae4b51ae401fcb95d87fe912895338e9f4b48d1a30061203f6ee62e17ff566da39a8f941236d2770a6c8d6447a43f72117df43b
+DIST firefox-135.0-ms.xpi 298704 BLAKE2B 8bc4113a75d0946e3647999492170289bfe81411a69934fc45233c9cc0ba0c50824ff2535661d97fc6173ce1fe243e2db3051d7cdcaf22d3353f1e78864b75b3 SHA512 0c7f629c330879bb4736454a1221dd680f4bc1cf16eda07b840a06a07e13e6d674090d0b973a3a4cf2dbe91afc632d01d855681af77d20936c527e4271822593
+DIST firefox-135.0-my.xpi 347843 BLAKE2B 38403b97074bb1bc69e15c3baabc8955243d2fa410d5429e31ab70b8c179c81d375fa09e552eba15bd72d60c4c7683b05332fe92b8aff42c039acace1a1c7345 SHA512 5ea6a82be3972097e44f3bb14baf1c474f9f12a108872576421120ac141023ecc147d98e43a3f7115d1e7fe3ae6e41fc878ccd8482841b85734edf1606daf786
+DIST firefox-135.0-nb-NO.xpi 419406 BLAKE2B bf0086f19730295ec016fc65887a1ffe1d3162d4f6cc97101be0d88636fcfa6cff1060dfa84dad58cd068496d3ef05abcfebc336d324f45bff54f7c66915c4f1 SHA512 a303ab153786d614240c67802ecf736d39469f8344e57f30a2fb64115b510d013e39660fa4c42406569b331acc246195eb9e49fb25e71c4d23121f53b5854340
+DIST firefox-135.0-ne-NP.xpi 353604 BLAKE2B 1a6305400f39457a834094d216e86b1121bbf26cbf6c335802a6970280e10193f2e294bfe00c311f54aca203e9a48bfb679ebc56fe820ee55a97177fc90980ae SHA512 335d8110051f01edece87660c585b6979556ff332eadc376eaadb6be7289d875ba8da858e83d0b1bd7769fbb7cfc9ed216d3dd96d0bea49f9d118656b99e1765
+DIST firefox-135.0-nl.xpi 431167 BLAKE2B 2e40b12df70c51d6cf7ffe260084e909423d978545b1ea069b3268c5f1e22f10a04e6c83022e474e557ea6206216739d7075ac2e4d1f1c0d422cff773a3834b0 SHA512 90cea7983b06bcbb844f34664ae049c0cddc3af74a82a94acc795756a0b88c28ee9ea06bdad7d46d15585406fd9c9c5c7c016e6832e3d0911d4e567be56ad7ee
+DIST firefox-135.0-nn-NO.xpi 421332 BLAKE2B 5dac4395102aa5b3413ed2439a958d7a3ea8f1d800cd8a7f8572cbdfc5183994e25e4f2bd8b75cf613be09446c5fb8ac24708a78ebfab9e962eae324e4481f09 SHA512 6f37214135d7c7e88606844787430c6c5fd06afccadfe58609831a825f3d9f1a80a33bf79064a9138f23d7d6a496ed1147ad3d5a9abf94814c7aa0bfa09083ae
+DIST firefox-135.0-oc.xpi 418984 BLAKE2B fef85dd0c93b3906bf046459a1b1e5020a428cf1a6533966e08bb8602e40100a29c7e60e1f16622a4334b2aa5439a6feb6cbfc547a3921445bb9b0a472a4bf00 SHA512 5099ae6fad9bc97181d30524112c581b2670a7faa5d39320cf8e1a89824178fbb42d1fb88ed8d918c213a77be7087414b034dbe2f6eaf56f426d01968cd4de41
+DIST firefox-135.0-pa-IN.xpi 489774 BLAKE2B f6853fa4b8a9bba4cba995046db17b0022b6f2ffdd31780bbe720c8c6384f76d0b9bed3483448ce1c73bb9f5b063df1af7e75dcc07d749483e5154256129556d SHA512 69c87156c4246d0ef785bc12b2f4041ffa964bcee9b596fa4931ac69aaefdc8e1c4e13adc8adc792c00514b4fc9b26a31ed548b0762487a6b64acd85b0cfde4f
+DIST firefox-135.0-pl.xpi 451665 BLAKE2B e42c0c85bd8f4fa145c5962b8d652bc5c789d0329e03bceccbc4f92d64ae0de31eba52b43eb21a389ac6c601f18acfa870c3c8a34e212417dbb8746785d20e38 SHA512 924f985abac49912c1d8a5c528eb8417dad036ee59616296b1982744419c7511cfa8e4b904b582713263787847514934737f37c3692f1aeb107b44b3f524bd7e
+DIST firefox-135.0-pt-BR.xpi 435482 BLAKE2B 4b5b04ce25416d590b9ce63b850fa1b247a79d977fdde83b162c5f5be5f8eccb7c836e6d3f0f19ddffb2dce509b87747510995938e34832bb60c04bb500009e6 SHA512 4cda680d8f09e8336ddc4f6f7e3c161d0b6046b1f69f7e429157eb0a41ea8fcd34b5e9548a9eee6fc0d6ffb4d4d9383289b7e820e0784dc33e284094b3d80746
+DIST firefox-135.0-pt-PT.xpi 441403 BLAKE2B ab95bd7f368756b0dbd05b40fe6249d062adcd3f65da58604612a11aeb14096682a38e44cd405c05aa16f73dca32696489b1566aab5c39e607dd4634fbec6a5f SHA512 dcc6de10bfb92f1b50515af3926711fde07f3b81d333fc86a9c7017a4f554fcdc0b75fa0ba641ff6d6e7c7db735d94ecf146361e1dd6624f7a2447fb4b664414
+DIST firefox-135.0-rm.xpi 434740 BLAKE2B 2938ea3eaeb0006efdc6745c50214543f822bb249153c6e28cb3692cf6ca9d1762a20f5bbaaf683f18be9af0a1715a9feb2a7119c7e89a570d2f5cb80082e64f SHA512 4dea5841509b484a812822741c5aadc4483ea8f7b23f81469ce49a220718c32fd454d2367161a71671b25e1e9eca06204c93e70f364bd237e2339e6cd15c6bcb
+DIST firefox-135.0-ro.xpi 366575 BLAKE2B 6f683848091c0593042685728135d66e7adb5c90d707eca134f1cc7410ef4afdf00e369323081fb757a40e66d86c3c18344e200d130c70cbfc079d48ba3afe71 SHA512 7a6c90f868be3261babc485a8ff6dca955b7330a0c5bc544b4cef82fde7a8cb1b559348741a9d58b06e053088ba71f61807f7e27e824c885122cc34b919b9f27
+DIST firefox-135.0-ru.xpi 518943 BLAKE2B 23f4bdafd399fd7853930109108ec79aeafb1e50db2ff43ae90ab5416e74fcaf13562b453b8b4c20eed5c4e2c32cf8443e92fff66be9d36ea13cccb89b62d4de SHA512 6b08bac9df91ffcbd6c0c10d22283109262e6d45f9dad7b969cf251024f85c0c69d17797e4de91a15db47474822306ea334475870f3139a43316ec6fa01e0493
+DIST firefox-135.0-sc.xpi 399026 BLAKE2B 73ba2060249b21d29728bc8cd6655f9744c3de16071b02443ff4af1571c9aa7fc3c497b6618af4b0af769f98ea4e6517f3991e3b3746b7590241c5932d1a921d SHA512 82e33913bc354890d0ef7fc5c185a90938cf08e6b1e78b9564c87d4472627d07b0e5c1e348f509cac76092e57adbacac4590d7f13ead3d4f6bc5d7371eefb0fc
+DIST firefox-135.0-sco.xpi 327583 BLAKE2B 2baf474753165c29165d874a02086800218c4ddfd856723232d29f71c86780ddae3421ff5b537672f05aff2baa53a1400642879497aed76e8656a9ec3b566c81 SHA512 2bec81b15e5b7768540c5e65a3a36aa2ee04413397855bf467f9fa6e3f254fc42d0b1ac26a87208d7bb40be14e3c9b793c8006162c15a558372c8ac5e6aa8c61
+DIST firefox-135.0-si.xpi 415064 BLAKE2B 245873f81f78efd16769c8b92259b3033977b87b5833d49e2193203a6b09279c58928ba2286bcb6625950c968785e5c5e3f503d8d9566ca580e85b2e7725133e SHA512 88c7677caa97e7227a69249388711b734030bdd7503a43a2e8587dadac40919263e3854bd31849483379d0810dbd87925790f23b942c2ce072cc43fbce13d873
+DIST firefox-135.0-sk.xpi 462402 BLAKE2B e64af04be159b1d8789c60661caf3d54c05d2b818b4603e464285448903cdeda7afbd55e43c42e02f0c18524f63c07dcbd580a1415db3da08948e02a9f2fa135 SHA512 085584ab6260170faa5ab816f30aad138604b4213eac7767b12007765a49740058f75447c91dda55b5309b838c55ebbdffea62555e94e56b5c9604cee1b36000
+DIST firefox-135.0-skr.xpi 498199 BLAKE2B 5d9b010ccd9aca267a308461c20b3de0304738d899b13882a1c2a8e074b754050c5963b2cf4e081ea2587542b006587433380eee03012a026c8182947eb00efe SHA512 954a8d29c778f93187ec83f1b6e29bc4181bd01571a260257fc4abcd9d51f6e0c254e3effb948e77ffe6ed383c6d47c67256d75f46b710168c954138ad2ae88b
+DIST firefox-135.0-sl.xpi 434148 BLAKE2B 9685a67ec60791b12765c67bab5bf1a4f2e9768605b074484ba36dcf84cd7e853c68afc808db632e1bb0b98ba257adcba98f699aaf82e88188926fb907cddd14 SHA512 58dd2c335fe866582611644c952602319ecc64157cd9b187126856d517553d1b35555e6fc7fb54de75ffd7273c6e5e92659ad7ffaa48112f6389885d74ff09f3
+DIST firefox-135.0-son.xpi 275455 BLAKE2B 4021e8fa3751324007c0c3fbcdbb928b4195fdd80b8de787cba3384958ef549238dd0da44c7d92926f776e4c157f4ccd593a792f64ed0857317f076edee9f5dd SHA512 66ce598cff7e3be199d20d9ce80d9e8dac559ff5ab115084fc99aae0ced59599b8ae880bb6f73b164983bbfce382e89ff2aea24b36054f31d53b96dcadb4e3a8
+DIST firefox-135.0-sq.xpi 450593 BLAKE2B 52894beeecb7fd1d55727c3013e6eae1fd1e69cd6c9d8d6c741bc5c36817b622f9ae33c2a779904c6be1474a529a14a3c6404e722296ff05b2cb6784ec1f5d8d SHA512 aff2aa1dcb5e86076917a75f82413a285e9330e4578ba37eb8327957cc7e7beb3968d5809e1d1d59e77f070bc6d459cd984eb54234b76a22124d73944d8d424b
+DIST firefox-135.0-sr.xpi 460576 BLAKE2B 96d5a9a3060897ef9abef614c1cadef3ea6ffa538303bf926206a7ce22a529d9e9b5dd227bfc567eaa6443e1b18e093f4f036848870fd280830ab86e436a3cd7 SHA512 649da4dcd223de2eaf04f0cddf23154268db81cb99bb2361020fd625f03bf81119ce430e49da94b8c7792e3a3d92317e951a033ceb2bae93daf5f1e398319c73
+DIST firefox-135.0-sv-SE.xpi 431175 BLAKE2B 6510b35ce1f7f02c7410a6e4fcec1ab1ffe372b8bc9df1bdf6a0d1d1f91605496d276c8c02be58384a08551f4107eee4fef22d2da4b5e1c740580bf8e19a59b9 SHA512 856edc47287d7c8ce827cd39a7bf56380f01380001ab0bbac33a871670a1bbed977276eb5b948a30e08eff7eb98ea5713848db6b8e91da23778fbdf5df249b66
+DIST firefox-135.0-szl.xpi 347461 BLAKE2B 2a427c28babcf26929de229b8459a13e021fb11197cfe3ad8904ad14223f03903715bd06cbc953114ccc2fbc0b65c92101e67c985c79cc224db2e51078b09b46 SHA512 de2506df7cc00fd86fc8f13c1648e30ab5767117c2bdc494ff75bef91895055dce30fa5fceeb12190bb8c685b3f927003f4f7f75a425fdf02c44f2e4ecb71451
+DIST firefox-135.0-ta.xpi 342265 BLAKE2B 503b1b22508638f6ddf8a28722f7369d64054cc7c061019277fb5591c14fb91b719c71b5c577822f7926d28e241a8fee7e73a80293f348af6bc85b4bf1471bbe SHA512 100b9b2fa63f9db8b99c824d8a2b220d2d0c6e426ec3eab1fd220747c54e8391ca3adb880af4b9e3bb9348cd9779fb444a4982a63a74808fa8571d42b8e4e0f4
+DIST firefox-135.0-te.xpi 387215 BLAKE2B 5d9f5519776cee3d1175355df7f1afbc2a8a0cbe7d4a270241a57254b36580ef499333f0c0395b942126f24cca512b9e6c020fe3c4ed192ba7fb2f24a8d1e2ee SHA512 ed97495775e8e20a3b604cfe67b4f58263bfeb4caea9692a1d7f2aab4020c4153662fb1781dfd0ea70202848f8bde2f0c081eb7a04d8de6a6de0a22da8f65c48
+DIST firefox-135.0-th.xpi 500064 BLAKE2B 541d6cb287186df84de489de5b3c45dc86954180dab25bb6878522af1ff1a4c2ac177026077a15e6954e576474a699597e7d98ff24824e3d1639e488845c8b58 SHA512 d3e3664bd35b5e0b12fbfc6827cebceb0ef12b0442d5f597492830800e9bd8bb0015fc342c1ddc8a76abf4d8f40073bd79cdd47b87a7e273a5af179add25dde5
+DIST firefox-135.0-tl.xpi 354787 BLAKE2B 8ceb51f40565e48c9c9498c3990d260a4a14819eb0dd9d177cbb447d0f69095bba7ce7da146c9e75b97e5a7bf0d5e2fa0284e31359624d2dd119d5aa810bdec5 SHA512 4ece9b2d48d2d81d3131aeecec47f5111d40d5007efee591cf9473f8bd22f41eca05e7304796334e6f4cef3880e653fd77750adf64ca9ee5734c8c5f241e3ba1
+DIST firefox-135.0-tr.xpi 442379 BLAKE2B 83a36293c8e24818796981a30127f1aa862e3406c0810e814a75a11d9a97c09d740978d76e1f79f39c6a5602ca620fecbc6d3aae6ab860325b2d87dc02756f45 SHA512 a071ff3a06e49d27f0ae71f5750bd25cc5c9a433817761ad2332b012b83b2f08d0b141e3344f6a98d93bfccab7e9fb588afce1e47bcef73c4b31ba5c161dc366
+DIST firefox-135.0-trs.xpi 326319 BLAKE2B 7ec1e441dd9265e1f73b407c42dd9a4b5efdcd52185a0d09a6a26785426edcb0ebfd7ab0ada20a167d05de9ff7ce6d7e04a6f63a367715caca33fc61c2a721af SHA512 87928838da938af07c1674019579fdc0778d13bd13af5db6891356f73468cca5a9f7612a34d764606f3e124737e80c6ee7a3d643106a6b3a892cbb79c56d7701
+DIST firefox-135.0-uk.xpi 510886 BLAKE2B e00ac1c282da95f3ed397a34448514eec6051d65520bdbbf46972574f04e2e3384969da7862d7e80d90e55e54a690f9ef901a09abd9e493165c9e66cc32199d6 SHA512 ebaca0dd3e7bb6f3857eddb6525e12a672a1984d6dbde6f747a5d7fdfa6bc010762f5e66f2b036606c0f1720c13f94a17257c928df5b1f681ff44c4b5f2b8ee1
+DIST firefox-135.0-ur.xpi 374855 BLAKE2B 1576cf57492c3a3eb1efb52a22922db9cebc69993b849d9ce9283f8b0bb4cdfa6cb4361256559d78866e00e960cfa95091058fc029be68300f66951b81b1677c SHA512 4d759c75fe0905a202340c5eec8cf806522d5d287dc4b28dac5677f73b592f688ab2914e23cfe300b45b1a2fd07b56bf495fac648e5ef8d0d06ef44bd4821236
+DIST firefox-135.0-uz.xpi 308112 BLAKE2B 6701697183ecded30c0c395bf1c4fbd79985d91596fe6d9d0ab18c41135f6cf510a51db9de5bc4c4045b28443f80faf1b1359ca192f60a9f1ed235c90ec41c6a SHA512 a8fc7839b612277c9bd1302c8977b679279247022b9325e7e43cc7dc65c69d2c84ba1a7e24c43fca1334b10109b7c71f0e78a7824c957c124cf91c06f6d748f8
+DIST firefox-135.0-vi.xpi 463945 BLAKE2B b0380f28be261ec67d15c1c5207dcb9f6d19f49dc7e1711c66a74766826ff68ac1875b6c93f30a9928e678b8f86269018416a01561e0979f7af1827b89fcfe79 SHA512 25f0832ca485f722b6aaf0fc5517bbf9e6aba7c450f40797c003f1cefb66cf364b773dbf29b45018c287159aaf942b362ac0762b3c9a11b58a107aa8de94b6a5
+DIST firefox-135.0-xh.xpi 275831 BLAKE2B bae380fde3744475fb2f45f6e4f16f228bd2f8fb0f118a7ab41ec01125b134f5660dad2d631b73dc9638629741ec3392e6bba3497f41d7cde5ce20c02190cc95 SHA512 0ddd50d6a61117a5528c59f2208d1f123384b7a436e9f6ff848a171fb4a689e3f1246474e50f69c9496e72d88fc86ab2d59e50f3c267c3cdf7f4c20cc3990d78
+DIST firefox-135.0-zh-CN.xpi 455592 BLAKE2B c98b1d6b40de79364aac1f00d5873fb33db274b8c8d4c6d76e74ba1c5ab35cc9981112ba02be760844d9b44534032e4fd3b0d814b0b67060cf6d3ca9e80865b9 SHA512 903222a913298c1c15dfffd6ec6de2fe2817d678f3004fc0739d7e63175ae91cd2f75ae5dc718df7ca70f9af646b3690cb20a10743339faa0f22142b65ba6a42
+DIST firefox-135.0-zh-TW.xpi 458490 BLAKE2B 226ff3062418d0827d01df1efe5080f5703fd8f4edfb9ffca2eacf7db496dfbf69458127380a6057e263f0d9166ca14d515baa4c8b4504a8bd390a9d2a14e87d SHA512 69aa1a2f600528db8bdce44a7056ab3c1b05a08b9fe82dc6b5d9246b4e0d4a4166241e6834ec2894c5a14a096b29d335134597652e4ce3c8b2a774b05739e8a9
+DIST firefox-135.0.source.tar.xz 613526736 BLAKE2B a9309d125b48988bc4e5c6989f2a1a0ee169dc7661a3d8d67d6bb32271812b2e22b885fa8384c027835ba1907fe00ad2fb8c8c1e8d87f8dafebbc9939c378edd SHA512 7d283bcefe1e328901f15a88f5ff3da566bb0495ce5b9e3895e7a156020126a5743b6bffd69d94d9eb812e1868195ae92db162d29a5d98ee118fdb238469c089
DIST wasi-sdk-24.0-arm64-linux.tar.gz 119660865 BLAKE2B 5067fe0d63a8be0e3466131a7f1e0a92185e09879e5256b8d12428606920fb074198d7c5b4f949466f5179852f53911333baf8fb2409068de4a9a6c4d62bbd96 SHA512 412df3d066ef4a175bc5a10353d4bf853c6aee101a024b84b2fc10c1e2a48c0dde1b7162c08a56726861a5b5b9838c05da75c5069d3454513ed862ba3f4629bc
DIST wasi-sdk-24.0-x86_64-linux.tar.gz 118879731 BLAKE2B 385dced143f463427e48839b4c9a810161b2791f0a1a335ad53b1cff9e20fd004b1c24c80443ec213f448dc31a5b1748f447569161c88ca8fc01b3bf35421aa6 SHA512 e320e1d3965324dcc435aab15e0ec3597dae914fae9634af4e7181a76609d35fd01cdca07621f39a6c894b528055e2d014ce0c1fcfe23a154343f51fb48928bc
DIST wasi-sdk-25.0-arm64-linux.tar.gz 115160800 BLAKE2B 1ce22aaea87d0720d40d46ebdd96508c8fb0593b53c4489022fd5a1a9afb043a26a6e162a992d73454f612f2b6ab01e17a99c189c0c8b8c2d2d68fd96fabee1b SHA512 ef4eff22c1efec4dc5ab199d09d93ee0004f9fa67b32cac0030f8b6a40def10f714391cec8e803c200995dd8bfad3ebad9ec79b4195aa6b2ea61ea47a8b9e61f
@@ -625,7 +929,10 @@ DIST wasi-sdk-25.0-x86_64-linux.tar.gz 114450290 BLAKE2B 07618828d4c25d67421aa72
EBUILD firefox-128.5.0.ebuild 41203 BLAKE2B c7f12ff1ec0ab88d1ba0d2e96e5fcd62ce294715906b9bb381090e89c7b33e5f42035cbf9366d3eec5be6d3c5506654025cfed5a1c5c1e51b2b959a5f6ef440f SHA512 bb574b16d9782045837514d0434f3a627398cb75aef7aa7fbf68bd151dc5d24806ad8c711b33fba4c65d0f9072ea7989c30eb5957811a023e0a948ded93aed2e
EBUILD firefox-128.5.1.ebuild 41205 BLAKE2B 62be1b1a02d0630eadbf2b441febb6d02bb9a0633ea8c46d0fe35bd5df9ca30ab85b854d5c1bf5c8fce0e5fa020d6085d358e69b80ed43f919dc5eeb80a0171f SHA512 299056c24bda66a12cb4a29518b522fb7551729631d01d2db3d54a5c5dda6bb568d6cd5db27c57f686231034397162841739cd6e49ff244fc29ebfcc05f1cd32
EBUILD firefox-128.6.0.ebuild 41758 BLAKE2B 52d51a1d0935179c0cc46c541e1645ae850b89400ec65bcc74ad4dcc23c76c922da2104ba44501c8b1f16655410d55f126348054fd3968ed3c9c0714920437c1 SHA512 4c125c2316f9678bd77d662337ae785b384c23f894d0769cab210bd444920b108f7f0b15baec04334903056b654e9f842d0fdd106fa79a80e45f8c1226009272
+EBUILD firefox-128.7.0.ebuild 41826 BLAKE2B 7caf74cdf28ba30644f774cb6100a800299ff21a03e0da83ca0c1aff26d66b6686bb621e7495d640b482e3303aed9fede39d2e4d87c09f7233f612c7f0e56906 SHA512 bb7e0e91dd8481b9bf7f6de1ec935867e1dfb88b6cf4c9bcd37b4f2373119655d522c5d484f90ed533bdc340decb3ca263cf36703818501ff31bef1ee724ef28
EBUILD firefox-133.0.3.ebuild 40775 BLAKE2B 80594fd1b2501bda3d6852cb9af0c0eeb25852c4dca9fda50c45af48b439fa716f624a5c6885855c72370edf540bcf216ebbe097ac1e922c9281c3c645a8d7ce SHA512 90f5653a1f8b81bf99a87f4198b28d4a207c7421fcf88a19a4cc57b360e69e944561afe571e357f9d0f2e09709f182260bc03d4b08edd7a31cbe4fcde394b9f5
EBUILD firefox-134.0.1.ebuild 41083 BLAKE2B e3c1339be6577370c54853d08abe549be982de7188427bd138103d7c6ba883956a280a6263cd86224e3926d62f4fd8f57dcedf810a9e3c432812bb5453443774 SHA512 c0e4115dd53a93c18fa98e622b7386d7f27d6899eb333d1b1a93027a1804ceb65ed93861ab2bb7d1bffa7d746735acd8b6eec2a54ed1a41cb7fb6e750d35bd78
+EBUILD firefox-134.0.2.ebuild 41083 BLAKE2B e3c1339be6577370c54853d08abe549be982de7188427bd138103d7c6ba883956a280a6263cd86224e3926d62f4fd8f57dcedf810a9e3c432812bb5453443774 SHA512 c0e4115dd53a93c18fa98e622b7386d7f27d6899eb333d1b1a93027a1804ceb65ed93861ab2bb7d1bffa7d746735acd8b6eec2a54ed1a41cb7fb6e750d35bd78
EBUILD firefox-134.0.ebuild 41083 BLAKE2B e3c1339be6577370c54853d08abe549be982de7188427bd138103d7c6ba883956a280a6263cd86224e3926d62f4fd8f57dcedf810a9e3c432812bb5453443774 SHA512 c0e4115dd53a93c18fa98e622b7386d7f27d6899eb333d1b1a93027a1804ceb65ed93861ab2bb7d1bffa7d746735acd8b6eec2a54ed1a41cb7fb6e750d35bd78
+EBUILD firefox-135.0.ebuild 41149 BLAKE2B 2202479dda5e31a4d44163134ea012d5af2009d12ec8ef6bae20f0df03d1901210f53107f1af6da887382592333e91b2cd062d76a578462640d3b419b70b07b4 SHA512 7ee3ff2eeaacd7f8a45d02bef6bc90f325650a64708d652ead0ad73ff9d90844df1dd5ab773786a23afe28e59814bbfc7b2b134d03415288bc3f0e337d14bca3
MISC metadata.xml 2730 BLAKE2B b9afb69e8ce59ffbf2804d7d2fc0540bbf4f6cbf4e2290b198339421fb1d27cadf26681d66e28797b2cff0778e07795a9cb5a8a842e68dda8c502d1d5522b044 SHA512 f093bd263102c298e6c3a05a2fb6729b34809a3bbcc5c4ebc5d308d9b6efb371ebb0392e2f12bed3d333a49123cc0ca450ac94c3653fbbe431a63acc18085551
diff --git a/www-client/firefox/firefox-128.7.0.ebuild b/www-client/firefox/firefox-128.7.0.ebuild
new file mode 100644
index 000000000000..6448d4c13a44
--- /dev/null
+++ b/www-client/firefox/firefox-128.7.0.ebuild
@@ -0,0 +1,1376 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-128esr-patches-08.tar.xz"
+
+LLVM_COMPAT=( 17 18 19 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+# 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.77.1
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=25.0
+WASI_SDK_LLVM_VER=19
+
+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.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.mozilla.org/firefox"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 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 ~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-png +system-webp wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox"
+
+# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and
+# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in
+# Gentoo so it should be widely adopted already - however, it might be possible to workaround
+# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251)
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( jumbo-build )
+ wasm-sandbox? ( llvm_slot_19 )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+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.26.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
+ <gui-libs/wlroots-0.17.3[tinywl(-)]
+ )
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.101
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 )
+ )
+ system-icu? ( >=dev-libs/icu-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ 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
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || tc-is-lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ 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_lto} == "yes" ]] || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ 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#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+ fi
+ rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ 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"
+
+ # Make ICU respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # Respect MAKEOPTS all around (maybe some find+sed is better)
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py ||
+ die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clear checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+
+ # 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-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-valgrind \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly, since it's not activated automatically via "known arches" list.
+ # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default),
+ # bgo#937867.
+ use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ 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
+
+ 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 ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./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_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 >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs"
+ sticky_pref("toolkit.telemetry.dap_enabled", false);
+ pref("toolkit.telemetry.dap_helper", "");
+ pref("toolkit.telemetry.dap_leader", "");
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+
+ # 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}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg 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-134.0.2.ebuild b/www-client/firefox/firefox-134.0.2.ebuild
new file mode 100644
index 000000000000..af9245e50f9b
--- /dev/null
+++ b/www-client/firefox/firefox-134.0.2.ebuild
@@ -0,0 +1,1371 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-134-patches-01.tar.xz"
+
+LLVM_COMPAT=( 17 18 19 )
+
+# 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.77.1
+
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.71"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=25.0
+WASI_SDK_LLVM_VER=19
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+ HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.mozilla.org/firefox"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 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 ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent"
+IUSE+=" +system-libvpx system-png +system-webp valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox"
+
+# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and
+# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in
+# Gentoo so it should be widely adopted already - however, it might be possible to workaround
+# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251)
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( jumbo-build )
+ wasm-sandbox? ( llvm_slot_19 )
+ wayland? ( dbus )
+ wifi? ( dbus )
+"
+
+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.26.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
+ <gui-libs/wlroots-0.17.3[tinywl(-)]
+ )
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.107
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 )
+ )
+ system-icu? ( >=dev-libs/icu-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ valgrind? ( dev-debug/valgrind )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[networkmanager]
+ )
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ hwaccel? (
+ media-video/libva-utils
+ sys-apps/pciutils
+ )
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" !www-client/firefox:rapid"
+else
+ RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "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
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif tc-is-lto ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="6800M"
+ 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="6800M"
+ 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"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ 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
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+ python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \
+ js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ elif use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly
+ # Can be removed once upstream enable it by default in the future.
+ use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+ mozconfig_use_enable valgrind
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ # 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
+
+ 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 ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ if use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ if use valgrind; then
+ sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die
+ fi
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if [[ ${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_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 >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs"
+ sticky_pref("toolkit.telemetry.dap_enabled", false);
+ pref("toolkit.telemetry.dap_helper", "");
+ pref("toolkit.telemetry.dap_leader", "");
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local desktop_filename="${PN}-esr.desktop"
+ else
+ local desktop_filename="${PN}.desktop"
+ fi
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ if use gnome-shell ; then
+ # Install search provider for Gnome
+ insinto /usr/share/gnome-shell/search-providers/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+ insinto /usr/share/dbus-1/services/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+ # Toggle between rapid and esr desktop file names
+ 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-135.0.ebuild b/www-client/firefox/firefox-135.0.ebuild
new file mode 100644
index 000000000000..97544cba3f39
--- /dev/null
+++ b/www-client/firefox/firefox-135.0.ebuild
@@ -0,0 +1,1371 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-135-patches-01.tar.xz"
+
+LLVM_COMPAT=( 17 18 19 )
+
+# 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.77.1
+
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.71"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=25.0
+WASI_SDK_LLVM_VER=19
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+ HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.mozilla.org/firefox"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 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 ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent"
+IUSE+=" +system-libvpx system-png +system-webp valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox"
+
+# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and
+# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in
+# Gentoo so it should be widely adopted already - however, it might be possible to workaround
+# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251)
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( jumbo-build )
+ wasm-sandbox? ( llvm_slot_19 )
+ wayland? ( dbus )
+ wifi? ( dbus )
+"
+
+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.26.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
+ <gui-libs/wlroots-0.17.3[tinywl(-)]
+ )
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.107
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 )
+ )
+ system-icu? ( >=dev-libs/icu-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ valgrind? ( dev-debug/valgrind )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[networkmanager]
+ )
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ hwaccel? (
+ media-video/libva-utils
+ sys-apps/pciutils
+ )
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" !www-client/firefox:rapid"
+else
+ RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "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
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif tc-is-lto ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="6800M"
+ 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="6800M"
+ 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"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ 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
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+ python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \
+ js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ elif use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly
+ # Can be removed once upstream enable it by default in the future.
+ use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+ mozconfig_use_enable valgrind
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ # 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
+
+ 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 ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ if use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ if use valgrind; then
+ sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die
+ fi
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if [[ ${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_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 >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs"
+ sticky_pref("toolkit.telemetry.dap_enabled", false);
+ pref("toolkit.telemetry.dap_helper", "");
+ pref("toolkit.telemetry.dap_leader", "");
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+
+ # 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}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg 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/google-chrome-beta/Manifest b/www-client/google-chrome-beta/Manifest
index 046d6836a8c9..fee07356a4ce 100644
--- a/www-client/google-chrome-beta/Manifest
+++ b/www-client/google-chrome-beta/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-beta_133.0.6943.16-1_amd64.deb 114090924 BLAKE2B e01d4785a1709c0722de2c9473333a9899abf060cb6ef43ba1f1c06e04977f4824fd7b5415cecc45e0e93cd09f31ea8376fd04416b30c26cdad73060cd8f9c07 SHA512 2772aa95d60c86644815af0a0c317ef7a77aea0b6e526239f8d317f146262d6bd00621342ca13cbd5aee91d94bc3543e9aabbfc8a196f34a619434942c134657
-EBUILD google-chrome-beta-133.0.6943.16.ebuild 2983 BLAKE2B e36a832884fdb51ae96740ad16e5358003ccb60f7639434bd7a05ec25b0a5f0dc1c7f5206d117a7a3880a97a45038acac416aeab6e80e4fe19a2c48f4b240ede SHA512 a34dcd0513f6b5a05b9ae914783d842b785a15687b16a546b0e2a47d27f52f31f7ea8659846cfdbc71066353c3e63a775ecfdcdbd5e2f18a5a639ca4851ea7b2
+DIST google-chrome-beta_133.0.6943.35-1_amd64.deb 114035348 BLAKE2B 79ef203d9c12fda1b2783ebe7d7459dafabba85b12517363c16698c6025f665ef85eaf5d34e4f0e0ffbe51b0ccbab61ff6ed153a845067a0e4e99c74eccdd4a4 SHA512 d54e1fe23bc9a13d33e3e13a5e5777c9c889f6b6f9cc3ea5ac8c8c5404ac15441995afc42d75f4de947b5641caca71c76bd87dd0e077d6d35e42b579e25f07e8
+EBUILD google-chrome-beta-133.0.6943.35.ebuild 2983 BLAKE2B e36a832884fdb51ae96740ad16e5358003ccb60f7639434bd7a05ec25b0a5f0dc1c7f5206d117a7a3880a97a45038acac416aeab6e80e4fe19a2c48f4b240ede SHA512 a34dcd0513f6b5a05b9ae914783d842b785a15687b16a546b0e2a47d27f52f31f7ea8659846cfdbc71066353c3e63a775ecfdcdbd5e2f18a5a639ca4851ea7b2
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome-beta/google-chrome-beta-133.0.6943.16.ebuild b/www-client/google-chrome-beta/google-chrome-beta-133.0.6943.35.ebuild
index edbd80731e3d..edbd80731e3d 100644
--- a/www-client/google-chrome-beta/google-chrome-beta-133.0.6943.16.ebuild
+++ b/www-client/google-chrome-beta/google-chrome-beta-133.0.6943.35.ebuild
diff --git a/www-client/google-chrome-unstable/Manifest b/www-client/google-chrome-unstable/Manifest
index 643ad031d40a..d2b0420f51e8 100644
--- a/www-client/google-chrome-unstable/Manifest
+++ b/www-client/google-chrome-unstable/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-unstable_134.0.6958.2-1_amd64.deb 114406436 BLAKE2B d6e635a6609c2f00c9cd4ec1089e9f5a8d8a0184256c81db122853cbd910ef91a7eae3d02be87aecde6ece336336a703227a81aaa12202f5fdd8c0fa776f4e6f SHA512 04a6b931b52c35a32cedbc4dea2734479af753310d27b8ef4cd510c5c640ec151358de4964b84974fe89912daec7a9e52b058b7063177dd2dc374003904b929f
-EBUILD google-chrome-unstable-134.0.6958.2.ebuild 2983 BLAKE2B e36a832884fdb51ae96740ad16e5358003ccb60f7639434bd7a05ec25b0a5f0dc1c7f5206d117a7a3880a97a45038acac416aeab6e80e4fe19a2c48f4b240ede SHA512 a34dcd0513f6b5a05b9ae914783d842b785a15687b16a546b0e2a47d27f52f31f7ea8659846cfdbc71066353c3e63a775ecfdcdbd5e2f18a5a639ca4851ea7b2
+DIST google-chrome-unstable_134.0.6988.2-1_amd64.deb 115492464 BLAKE2B 78f319dcd04f3d9dda8bbe35f0dbe44a07757be5334dfeb0b5baddf952492bcd20635a222e02ee979efecedddceebb63f1730bfbe11f673ea11c4f7411c67811 SHA512 d45863386be93e7f05fa28da57b81ee4f2ece60d6c1da2a9361c8b01b637ab9b0ee2486e65f9140ccc2111079f405795a8fb35637658c651f5668409a7d16812
+EBUILD google-chrome-unstable-134.0.6988.2.ebuild 2983 BLAKE2B e36a832884fdb51ae96740ad16e5358003ccb60f7639434bd7a05ec25b0a5f0dc1c7f5206d117a7a3880a97a45038acac416aeab6e80e4fe19a2c48f4b240ede SHA512 a34dcd0513f6b5a05b9ae914783d842b785a15687b16a546b0e2a47d27f52f31f7ea8659846cfdbc71066353c3e63a775ecfdcdbd5e2f18a5a639ca4851ea7b2
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome-unstable/google-chrome-unstable-134.0.6958.2.ebuild b/www-client/google-chrome-unstable/google-chrome-unstable-134.0.6988.2.ebuild
index edbd80731e3d..edbd80731e3d 100644
--- a/www-client/google-chrome-unstable/google-chrome-unstable-134.0.6958.2.ebuild
+++ b/www-client/google-chrome-unstable/google-chrome-unstable-134.0.6988.2.ebuild
diff --git a/www-client/google-chrome/Manifest b/www-client/google-chrome/Manifest
index ddf71bb7ab95..b4e699933b5c 100644
--- a/www-client/google-chrome/Manifest
+++ b/www-client/google-chrome/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-stable_132.0.6834.83-1_amd64.deb 112253548 BLAKE2B 1e1b263174d97493820e28fc5cc538a216c5436881938fe6dc1b139d9111450f691c4095803f4ffdff2325d7d823a146f99741b48b1cf664547b2ca7bf7074a8 SHA512 3e8b9fcf711f89241b17071f1187021d651c5ea147395e1d12f1d9f47e7b1f0704fc217bb2fa04b13ee3c8b6eac2f84da4a26140c536c03dd5ae466afa033d5c
-EBUILD google-chrome-132.0.6834.83.ebuild 2982 BLAKE2B 91c3b7c4f601d24b8550bd58a41f62d3288d3897e645f7a0e3977bfefdb43e5399db07195aba1a9c5b3b441e8dcd7b59f13a62c5020e6ade9f2ec85dfc312130 SHA512 4aa39c52957b5a93860f457c755ac37b83b7dcc00f960f1bf3e38f00a9a5f029beeb3715583a659e38f93d4b56900f0cca0ad835bb8b30951e8f52952ccc45c8
+DIST google-chrome-stable_132.0.6834.159-1_amd64.deb 112524488 BLAKE2B 44c058eca7d926a92ff9108160b589c57a686d724d1b740bd0e462286c51f55b4849acc6a9fa9a2d6a737cdd79490d1ff3eee45cad79e7ccc54d763c12f2ed5c SHA512 35f1ceb71fafa9151861902ea6ac8376f6fba030c5ea766538d61c148a8afcdee45f5ebb9e20845af041835f2dc3676fa6695d624d2eb92b13a3aec7b5ac655b
+EBUILD google-chrome-132.0.6834.159.ebuild 2982 BLAKE2B 91c3b7c4f601d24b8550bd58a41f62d3288d3897e645f7a0e3977bfefdb43e5399db07195aba1a9c5b3b441e8dcd7b59f13a62c5020e6ade9f2ec85dfc312130 SHA512 4aa39c52957b5a93860f457c755ac37b83b7dcc00f960f1bf3e38f00a9a5f029beeb3715583a659e38f93d4b56900f0cca0ad835bb8b30951e8f52952ccc45c8
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome/google-chrome-132.0.6834.83.ebuild b/www-client/google-chrome/google-chrome-132.0.6834.159.ebuild
index f579ec5a9cbc..f579ec5a9cbc 100644
--- a/www-client/google-chrome/google-chrome-132.0.6834.83.ebuild
+++ b/www-client/google-chrome/google-chrome-132.0.6834.159.ebuild
diff --git a/www-client/microsoft-edge-beta/Manifest b/www-client/microsoft-edge-beta/Manifest
index 82ddcc874eb5..32451c201d69 100644
--- a/www-client/microsoft-edge-beta/Manifest
+++ b/www-client/microsoft-edge-beta/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-beta_132.0.2957.106-1_amd64.deb 168228374 BLAKE2B 409f4c72731f60810796f17fae40f07b33d813bf751ee54439c85ba15f8bc3b6ad2010a51b2a41e525d79a41d2435ac15b5d6992dcdae0f5e5c22239ba2ffd42 SHA512 b0e5d90b66f39595505526776a74678457d3d7b3b268e38e309c34f8f8dc702e3b10a92c2c091ec868b1e1bdc216901bd0ca633bb3e991573aaec1eb7e5614ec
-DIST microsoft-edge-beta_132.0.2957.111-1_amd64.deb 168276318 BLAKE2B d620074731ae9af2162d76fdb977c8fd44655794cdec09ca418344df092c3b0e681c417496467d63fed886e73ec374b152c247ef2b9089274b97e17d38d793b3 SHA512 5ee59f429e3cac4d8b67ad569fd4e27368b307c58b5303fe19e12aafb0a0245449a501350dae999335832301d583af8304a6b66e717dfb9614fc502ec6234297
-DIST microsoft-edge-beta_133.0.3065.10-1_amd64.deb 169738070 BLAKE2B 30231288a498b65809c242abe2fdfa520b0a83aa0e038e540dc9819765e1bc58d12cc6dad32f62de3ad69207310d0641d00494f6ff94b6d7a3d6931a61d82aff SHA512 91d1417930a8403c096de56e1134939529df5eacf02545f7cf6c6557a1590892d859bc8910041bbb0e6e3ffb4cfa4226ff2b01ff3a49bd6cb15b55dd9ab7d3f9
-EBUILD microsoft-edge-beta-132.0.2957.106.ebuild 2712 BLAKE2B f41865950ec1dbb730972c1f8f7ff4f33782bb2ff45597b8977134dbffd1e0dcecf45fdd7f030f904b291d7d20e06aee2783aeb45951127c5dba08f13d59dbdd SHA512 c95aa0f4e886830508b4ec3051cb5f8c8a50470ad29a06dffffaa22b690aea73e89d07661ac84943d7f195efed30242db01101ce5a2f2a466d6070a8a313b48a
-EBUILD microsoft-edge-beta-132.0.2957.111.ebuild 2712 BLAKE2B f41865950ec1dbb730972c1f8f7ff4f33782bb2ff45597b8977134dbffd1e0dcecf45fdd7f030f904b291d7d20e06aee2783aeb45951127c5dba08f13d59dbdd SHA512 c95aa0f4e886830508b4ec3051cb5f8c8a50470ad29a06dffffaa22b690aea73e89d07661ac84943d7f195efed30242db01101ce5a2f2a466d6070a8a313b48a
-EBUILD microsoft-edge-beta-133.0.3065.10.ebuild 2712 BLAKE2B f41865950ec1dbb730972c1f8f7ff4f33782bb2ff45597b8977134dbffd1e0dcecf45fdd7f030f904b291d7d20e06aee2783aeb45951127c5dba08f13d59dbdd SHA512 c95aa0f4e886830508b4ec3051cb5f8c8a50470ad29a06dffffaa22b690aea73e89d07661ac84943d7f195efed30242db01101ce5a2f2a466d6070a8a313b48a
+DIST microsoft-edge-beta_133.0.3065.19-1_amd64.deb 169719258 BLAKE2B 9efe7f37bb114b620c4bde99ae2e54782b5172db7bb15ddab65aae43b3223662cfed674ee022f85d2d9f2e6850a99060163adac589c6ca71b9a1de9e04f1a494 SHA512 7fe8081242a1f8510ca604b4869135316813b003c505fbe21539d52d90b739df0b26cf61f043bc214d1cbc5ecc031e3be59b62f99cc3e776d5d6de0391d7f4b5
+DIST microsoft-edge-beta_133.0.3065.31-1_amd64.deb 169767854 BLAKE2B bea34fbb840556985be42a6c06a36fda115a12ac40ac67c7af547c23c11e3194909c9abf04d281c9afa829f5022f903bf7757de91a50be7b6ea61db9b526c4b2 SHA512 0d794aacec9491ef9308801082899b135383fef5cbf176ece7016f02dc5d1f3b9b2105da73d694b9de09d988a8007f99e54f3285ac6816ef658b69ac438df30c
+DIST microsoft-edge-beta_133.0.3065.39-1_amd64.deb 169760778 BLAKE2B 0407d73842adadaff95894e9d15b02193e6815563a04edfbb0ce2b6b1d4e2cac25a364320abf96c0ab9ce96547c8046ed2fcba722957d63b7a71df4e842333cc SHA512 aa548002a3eaae3ec896022798270658789e9f6bb4c89a15890642c046ca87b54ec260d25a320afe732a4f76751b62fa75c43492a17660c6c870bd279e129064
+EBUILD microsoft-edge-beta-133.0.3065.19.ebuild 2712 BLAKE2B f41865950ec1dbb730972c1f8f7ff4f33782bb2ff45597b8977134dbffd1e0dcecf45fdd7f030f904b291d7d20e06aee2783aeb45951127c5dba08f13d59dbdd SHA512 c95aa0f4e886830508b4ec3051cb5f8c8a50470ad29a06dffffaa22b690aea73e89d07661ac84943d7f195efed30242db01101ce5a2f2a466d6070a8a313b48a
+EBUILD microsoft-edge-beta-133.0.3065.31.ebuild 2712 BLAKE2B f41865950ec1dbb730972c1f8f7ff4f33782bb2ff45597b8977134dbffd1e0dcecf45fdd7f030f904b291d7d20e06aee2783aeb45951127c5dba08f13d59dbdd SHA512 c95aa0f4e886830508b4ec3051cb5f8c8a50470ad29a06dffffaa22b690aea73e89d07661ac84943d7f195efed30242db01101ce5a2f2a466d6070a8a313b48a
+EBUILD microsoft-edge-beta-133.0.3065.39.ebuild 2712 BLAKE2B f41865950ec1dbb730972c1f8f7ff4f33782bb2ff45597b8977134dbffd1e0dcecf45fdd7f030f904b291d7d20e06aee2783aeb45951127c5dba08f13d59dbdd SHA512 c95aa0f4e886830508b4ec3051cb5f8c8a50470ad29a06dffffaa22b690aea73e89d07661ac84943d7f195efed30242db01101ce5a2f2a466d6070a8a313b48a
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-132.0.2957.106.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-133.0.3065.19.ebuild
index 32c5a4f611f9..32c5a4f611f9 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-132.0.2957.106.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-133.0.3065.19.ebuild
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-132.0.2957.111.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-133.0.3065.31.ebuild
index 32c5a4f611f9..32c5a4f611f9 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-132.0.2957.111.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-133.0.3065.31.ebuild
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-133.0.3065.10.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-133.0.3065.39.ebuild
index 32c5a4f611f9..32c5a4f611f9 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-133.0.3065.10.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-133.0.3065.39.ebuild
diff --git a/www-client/microsoft-edge-dev/Manifest b/www-client/microsoft-edge-dev/Manifest
index 6833168c6c93..6bcc352bcad5 100644
--- a/www-client/microsoft-edge-dev/Manifest
+++ b/www-client/microsoft-edge-dev/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-dev_133.0.3014.0-1_amd64.deb 168560610 BLAKE2B 6605181310249479c2735211d14919f37bcc9818b699eb7d68d4abe269d7e2305cfc208cfe236c21697c3a7a1d87e785813a2a64c6d781795f4240279c99c518 SHA512 158be0e0873952a3f9f002ba98123d9542005291ac298b5f3137cb783de7ab19ad655bf5966982b248c287a072efcd23c2275af8f67fb3c311586ed768d1dfca
-DIST microsoft-edge-dev_133.0.3054.1-1_amd64.deb 170070226 BLAKE2B 32955289661dcf3bffa545fee6849b44d303ea3e9260ec1146ee4dd4e4b3fdf376da64fb4380a64b7f08142264690af969ad4eafde20a834d801c16433618bd4 SHA512 0c5a40bb3234dd23ae4e11e5b8dc8050becd936af76ec9328c6ac6fd5670cdf6ffea8b74494910a5329e4880fb4134ead09f8545333bef7a30b76162c3d52780
DIST microsoft-edge-dev_133.0.3065.7-1_amd64.deb 169717050 BLAKE2B 03ac92615860728473167a274bff69d01f8c3645dd8ebdb21aaa675e9365a396cf246e70e72aaaaced0c9426697490da2b0a1b9b52687ed74d5916d18e5342a6 SHA512 fdd9a184549192793b3e7d08a9dafb31c63e714acf8e831d67d7d02f4b66d6f15205149afa4fd52dc2ad7dc04dc1691c76c75e9e8ce8a3f32b35fb191ec3a426
-EBUILD microsoft-edge-dev-133.0.3014.0.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
-EBUILD microsoft-edge-dev-133.0.3054.1.ebuild 2712 BLAKE2B f41865950ec1dbb730972c1f8f7ff4f33782bb2ff45597b8977134dbffd1e0dcecf45fdd7f030f904b291d7d20e06aee2783aeb45951127c5dba08f13d59dbdd SHA512 c95aa0f4e886830508b4ec3051cb5f8c8a50470ad29a06dffffaa22b690aea73e89d07661ac84943d7f195efed30242db01101ce5a2f2a466d6070a8a313b48a
+DIST microsoft-edge-dev_134.0.3081.2-1_amd64.deb 170096930 BLAKE2B d1fad7c23e5f0d719c68b3f4042418f383c9478a202e9a773a5c6a75b09d6d1c06b1a51f902d271f50ad1f68bcda2ebb26a74795a20b868be6ee6b0d018aac1a SHA512 122311cdec9ff3459baa95b27f37c10ba81f0b7117cce95239f78b7421677b4e1493c6482eb77862081b72187143eb0be2917efa4a82fe7c79fae9ab257190d0
+DIST microsoft-edge-dev_134.0.3096.1-1_amd64.deb 170413658 BLAKE2B 38a9ebff89995a855df76dd21fe553756e4aed0889cb8dac04554e35d8ea06ac8674fde4c5fe0585c30042b36100e26ee5570f67342ba4be63952f8fc5e666de SHA512 657d0baa9c381762458add495f7e76da6d714af92c68a567f22d250be5dc8d54ba7b044a514fcbd70a0f3e23cf3db381658bebcda7f97b9a7dd8663cbce25d18
EBUILD microsoft-edge-dev-133.0.3065.7.ebuild 2712 BLAKE2B f41865950ec1dbb730972c1f8f7ff4f33782bb2ff45597b8977134dbffd1e0dcecf45fdd7f030f904b291d7d20e06aee2783aeb45951127c5dba08f13d59dbdd SHA512 c95aa0f4e886830508b4ec3051cb5f8c8a50470ad29a06dffffaa22b690aea73e89d07661ac84943d7f195efed30242db01101ce5a2f2a466d6070a8a313b48a
+EBUILD microsoft-edge-dev-134.0.3081.2.ebuild 2712 BLAKE2B f41865950ec1dbb730972c1f8f7ff4f33782bb2ff45597b8977134dbffd1e0dcecf45fdd7f030f904b291d7d20e06aee2783aeb45951127c5dba08f13d59dbdd SHA512 c95aa0f4e886830508b4ec3051cb5f8c8a50470ad29a06dffffaa22b690aea73e89d07661ac84943d7f195efed30242db01101ce5a2f2a466d6070a8a313b48a
+EBUILD microsoft-edge-dev-134.0.3096.1.ebuild 2712 BLAKE2B f41865950ec1dbb730972c1f8f7ff4f33782bb2ff45597b8977134dbffd1e0dcecf45fdd7f030f904b291d7d20e06aee2783aeb45951127c5dba08f13d59dbdd SHA512 c95aa0f4e886830508b4ec3051cb5f8c8a50470ad29a06dffffaa22b690aea73e89d07661ac84943d7f195efed30242db01101ce5a2f2a466d6070a8a313b48a
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-133.0.3014.0.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-133.0.3014.0.ebuild
deleted file mode 100644
index 0ff710cc5ddc..000000000000
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-133.0.3014.0.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 2011-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-inherit chromium-2 desktop pax-utils unpacker xdg
-
-DESCRIPTION="The web browser from Microsoft"
-HOMEPAGE="https://www.microsoft.com/edge"
-
-if [[ ${PN} == microsoft-edge ]]; then
- MY_PN=${PN}-stable
-else
- MY_PN=${PN}
-fi
-
-MY_P="${MY_PN}_${PV}-1"
-SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb"
-S=${WORKDIR}
-
-LICENSE="microsoft-edge"
-SLOT="0"
-KEYWORDS="-* ~amd64"
-
-IUSE="+mip qt5 qt6"
-RESTRICT="bindist mirror strip"
-
-RDEPEND="
- >=app-accessibility/at-spi2-core-2.46.0:2
- app-misc/ca-certificates
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/nspr
- dev-libs/nss
- media-fonts/liberation-fonts
- media-libs/alsa-lib
- media-libs/mesa[gbm(+)]
- net-misc/curl[ssl]
- net-print/cups
- sys-apps/dbus
- sys-apps/util-linux
- sys-libs/glibc
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3[X]
- x11-libs/libdrm
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libxcb
- x11-libs/libxkbcommon
- x11-libs/libxshmfence
- x11-libs/pango
- x11-misc/xdg-utils
- mip? ( app-crypt/libsecret )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5[X]
- dev-qt/qtwidgets:5
- )
- qt6? ( dev-qt/qtbase:6[gui,widgets] )
-"
-
-QA_PREBUILT="*"
-QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop"
-EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}"
-
-pkg_nofetch() {
- eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures."
-}
-
-pkg_pretend() {
- # Protect against people using autounmask overzealously
- use amd64 || die "microsoft-edge only works on amd64"
-}
-
-pkg_setup() {
- chromium_suid_sandbox_check_kernel_config
-}
-
-src_unpack() {
- :
-}
-
-src_install() {
- dodir /
- cd "${ED}" || die
- unpacker
-
- rm -f _gpgorigin || die
-
- rm -r etc usr/share/menu || die
- mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
-
- gzip -d usr/share/doc/${PF}/changelog.gz || die
- gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
- if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then
- rm usr/share/man/man1/${PN}.1.gz || die
- dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1
- fi
-
- local suffix=
- [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta
- [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev
-
- local size
- for size in 16 24 32 48 64 128 256 ; do
- newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
- done
-
- if ! use mip; then
- rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die
- fi
-
- if ! use qt5; then
- rm "${EDGE_HOME}/libqt5_shim.so" || die
- fi
- if ! use qt6; then
- rm "${EDGE_HOME}/libqt6_shim.so" || die
- fi
-
- pax-mark m "${EDGE_HOME}/msedge"
-}
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-133.0.3054.1.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-134.0.3081.2.ebuild
index 32c5a4f611f9..32c5a4f611f9 100644
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-133.0.3054.1.ebuild
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-134.0.3081.2.ebuild
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-134.0.3096.1.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-134.0.3096.1.ebuild
new file mode 100644
index 000000000000..32c5a4f611f9
--- /dev/null
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-134.0.3096.1.ebuild
@@ -0,0 +1,126 @@
+# Copyright 2011-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit chromium-2 desktop pax-utils unpacker xdg
+
+DESCRIPTION="The web browser from Microsoft"
+HOMEPAGE="https://www.microsoft.com/edge"
+
+if [[ ${PN} == microsoft-edge ]]; then
+ MY_PN=${PN}-stable
+else
+ MY_PN=${PN}
+fi
+
+MY_P="${MY_PN}_${PV}-1"
+SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb"
+S=${WORKDIR}
+
+LICENSE="microsoft-edge"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+
+IUSE="+mip qt5 qt6"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ app-misc/ca-certificates
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ media-fonts/liberation-fonts
+ media-libs/alsa-lib
+ media-libs/mesa[gbm(+)]
+ net-misc/curl[ssl]
+ net-print/cups
+ sys-apps/dbus
+ sys-apps/util-linux
+ sys-libs/glibc
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3[X]
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/libxshmfence
+ x11-libs/pango
+ x11-misc/xdg-utils
+ mip? ( app-crypt/libsecret )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5[X]
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+"
+
+QA_PREBUILT="*"
+QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop"
+EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}"
+
+pkg_nofetch() {
+ eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures."
+}
+
+pkg_pretend() {
+ # Protect against people using autounmask overzealously
+ use amd64 || die "microsoft-edge only works on amd64"
+}
+
+pkg_setup() {
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+ :
+}
+
+src_install() {
+ dodir /
+ cd "${ED}" || die
+ unpacker
+
+ rm -f _gpgorigin || die
+
+ rm -r etc usr/share/menu || die
+ mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
+
+ gzip -d usr/share/doc/${PF}/changelog.gz || die
+ gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
+ if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then
+ rm usr/share/man/man1/${PN}.1.gz || die
+ dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1
+ fi
+
+ local suffix=
+ [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta
+ [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev
+
+ local size
+ for size in 16 24 32 48 64 128 256 ; do
+ newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
+ done
+
+ if ! use mip; then
+ rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die
+ fi
+
+ if ! use qt5; then
+ rm "${EDGE_HOME}/libqt5_shim.so" || die
+ fi
+ if ! use qt6; then
+ rm "${EDGE_HOME}/libqt6_shim.so" || die
+ fi
+
+ pax-mark m "${EDGE_HOME}/msedge"
+}
diff --git a/www-client/microsoft-edge/Manifest b/www-client/microsoft-edge/Manifest
index 6e3bdbec0f84..990cc9a84112 100644
--- a/www-client/microsoft-edge/Manifest
+++ b/www-client/microsoft-edge/Manifest
@@ -1,3 +1,3 @@
-DIST microsoft-edge-stable_132.0.2957.115-1_amd64.deb 168269722 BLAKE2B 9b20632dbc0baf6923a6c2be8f54485c2ecbe8e3bbedefa636a55f2bb857252f39b9b7b5b13853d903597991b6c52dbe684de219c12372f6920129912cfcf1e1 SHA512 00f959692a8fa2193ba617195a9a13abacc2ad88a58362bd8d6cf0e42ced2ebdec59c7645db576cf8bfe6f0b413b3aad8467f071b75ab7d3827abe90241be726
-EBUILD microsoft-edge-132.0.2957.115.ebuild 2711 BLAKE2B 1cef2fe33fc00ab9a62bbdbcbbbaab7055008a28eff8f68c23b8449463bfb109954cb9d81701de4f12ecb70aab8fbbf3f6c5c80005165be0194cfbabfbb8f382 SHA512 e82da94a16fc77c620e9314032cc84ec81b04607cfbb554be9073e8d7148c57cb80c1e0f1eac918894e9ddbedf812116abdc5f4e41a423f69f392be5e9ffd264
+DIST microsoft-edge-stable_132.0.2957.140-1_amd64.deb 168231542 BLAKE2B 65ab8ca09a3d17c947a65b9e94e74c0b5f96f42ceb7ef28c99e3fb4f69021f0f6f78816321c06b030e0f428a2ccf5ef37b0abc58d275ce57be59f429cdbb8d5c SHA512 68d484e77cf206c30db95b4e8aa4e6691f0c7f8b20b6c745932b41499a5c2270638723d620226722968ec589b82e7b057a8e8ce794eda1d59cf5f14f10530e56
+EBUILD microsoft-edge-132.0.2957.140.ebuild 2711 BLAKE2B 1cef2fe33fc00ab9a62bbdbcbbbaab7055008a28eff8f68c23b8449463bfb109954cb9d81701de4f12ecb70aab8fbbf3f6c5c80005165be0194cfbabfbb8f382 SHA512 e82da94a16fc77c620e9314032cc84ec81b04607cfbb554be9073e8d7148c57cb80c1e0f1eac918894e9ddbedf812116abdc5f4e41a423f69f392be5e9ffd264
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge/microsoft-edge-132.0.2957.115.ebuild b/www-client/microsoft-edge/microsoft-edge-132.0.2957.140.ebuild
index a61bd8cbcd59..a61bd8cbcd59 100644
--- a/www-client/microsoft-edge/microsoft-edge-132.0.2957.115.ebuild
+++ b/www-client/microsoft-edge/microsoft-edge-132.0.2957.140.ebuild
diff --git a/www-client/opera-beta/Manifest b/www-client/opera-beta/Manifest
index 189c02d761c4..65bef99048d9 100644
--- a/www-client/opera-beta/Manifest
+++ b/www-client/opera-beta/Manifest
@@ -1,7 +1,7 @@
-DIST opera-beta_116.0.5366.13_amd64.deb 124345880 BLAKE2B f374a0a5167c7d571334d6369d9addf97375cbd34e90d301b6ac6fdcb301c8554e63c8d4fcabfad9e59aeaeb6d3a4b03566d69d9649b526c977a3fd84c92844b SHA512 4ad232663b1f224ec2ec544297fe3b0a34feb819d8b1e1d441e13d4337a6de835a8d9eaa656b88ba68727936a297ea8b6636ea1d7c7000a78ac924057690027f
-DIST opera-beta_116.0.5366.7_amd64.deb 125054764 BLAKE2B 08c80ce7acd935102c26bf10fd90681af1a3287f8dc9528b336b501eb34e1f37a91d43f37be31aa712c6f3595f717a25de865e81547507ee52e8f33aeff1af1f SHA512 2a12ec9eeceb87ade212b32338e7d2b91af642baafc2435b31248acadc064b014a2ddc4a01a0333162a854653b8b1dc9d1890af2d424c2922337f55f2835c340
+DIST opera-beta_117.0.5408.22_amd64.deb 126393076 BLAKE2B aa93a3ca8cd17925a46d419cf7561d15dfb9d334e0fb9029cfd8ca17d45d6b2a4f6f2aa6849801ef6be71987914889c08832cd230dcf2bf9bca32ad2be33d057 SHA512 6c98cb226ee850b9b27ceea585cb6da2c20afb2100e9e74cdd7d5f91eec582c41332b9c34d627acf9006cea415e5663bf160ad55ab93be5ae7cbc328535385f2
DIST opera-beta_117.0.5408.4_amd64.deb 126400584 BLAKE2B 673c7b300e6fe87f44071d65c191ea248691eb3074d167107b0e9a73d395af2bdb37a5da63b7be5189a3583c5833aa53c3674a6d7e5c118932b55f70ed63dd41 SHA512 e5fdea04227b9c56d9e3d6efe3376c4023130f6a5a68ac2e07d31f30ff80cc27e0ac7ef65ee2300b02619f2233b3b6d755ded80387822e1ec4ccbed16c390873
-EBUILD opera-beta-116.0.5366.13.ebuild 4223 BLAKE2B d8b358f78b5203a159cb1797cab1deb7c5c3da180f3ca9fd3cfbaeb82d9f483ac7ee2b8e3b738e2a0cf9bdb20bc37abd5b6c0f8eae4a8441b6cd878b5466af34 SHA512 88de1249c99550fc606c4db4856436054973d7ef8cf267057cad05100a005d9ff55489015faafad22a562b17eb2faabd435000626bc330bd41d6454f7f9365bf
-EBUILD opera-beta-116.0.5366.7.ebuild 4223 BLAKE2B d8b358f78b5203a159cb1797cab1deb7c5c3da180f3ca9fd3cfbaeb82d9f483ac7ee2b8e3b738e2a0cf9bdb20bc37abd5b6c0f8eae4a8441b6cd878b5466af34 SHA512 88de1249c99550fc606c4db4856436054973d7ef8cf267057cad05100a005d9ff55489015faafad22a562b17eb2faabd435000626bc330bd41d6454f7f9365bf
+DIST opera-beta_117.0.5408.8_amd64.deb 126398136 BLAKE2B c996f8cf4d1d4487553920290e2d5c8acde1efd6ef78292711e5d7581bdcaa1551933dbbedbe550535ee388f3d34c0bbc4cbcb289b76d6ca2b60e32ce2578ad8 SHA512 cd1fbee18c8967e08dbca2edc7998b363f0c97b98f43d65da80bd3ce2802a9e9e9cce600406c2d69456208134ae2cba4e545076aa54e6970cf961bf0bd2117ee
+EBUILD opera-beta-117.0.5408.22.ebuild 4223 BLAKE2B 47001aa24b4bba2a42df6ef504cfc6838b43ebdaa2d128e0442002274bc98e383473f5347e71739462ba157e0bd6b1a5ee2fc374ee8e2307e44b779e02538e83 SHA512 b740e28f99383f9dd7bdd8687c3b9de79d17d709a48c8044e9bd9cbf93139e717ac0a798840cd782e7081af72e44c355af6d1fcbefa85a1f0e99e692394d15bd
EBUILD opera-beta-117.0.5408.4.ebuild 4223 BLAKE2B 47001aa24b4bba2a42df6ef504cfc6838b43ebdaa2d128e0442002274bc98e383473f5347e71739462ba157e0bd6b1a5ee2fc374ee8e2307e44b779e02538e83 SHA512 b740e28f99383f9dd7bdd8687c3b9de79d17d709a48c8044e9bd9cbf93139e717ac0a798840cd782e7081af72e44c355af6d1fcbefa85a1f0e99e692394d15bd
+EBUILD opera-beta-117.0.5408.8.ebuild 4223 BLAKE2B 47001aa24b4bba2a42df6ef504cfc6838b43ebdaa2d128e0442002274bc98e383473f5347e71739462ba157e0bd6b1a5ee2fc374ee8e2307e44b779e02538e83 SHA512 b740e28f99383f9dd7bdd8687c3b9de79d17d709a48c8044e9bd9cbf93139e717ac0a798840cd782e7081af72e44c355af6d1fcbefa85a1f0e99e692394d15bd
MISC metadata.xml 544 BLAKE2B e8594a0cb9a73ac5901ece78db220822043dca9faec994810af426f96e2ece7fdb069c5f1d639f66d1236ec83e6c46e50bd21c49f8a075cf0de41c9db9afd8a0 SHA512 2361ebdde2707166e465058b41a893b4c14db7c7ba8f4fe34f7ab34da4275f0af691e55881232a9253f5d793ff76e61d57689f56dd8ab879fc3ecb3294fc8777
diff --git a/www-client/opera-beta/opera-beta-116.0.5366.13.ebuild b/www-client/opera-beta/opera-beta-116.0.5366.13.ebuild
deleted file mode 100644
index 1cab05aa0a7e..000000000000
--- a/www-client/opera-beta/opera-beta-116.0.5366.13.ebuild
+++ /dev/null
@@ -1,173 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CHROMIUM_LANGS="
- bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id
- it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi
- zh-CN zh-TW
-"
-
-# These are intended for ebuild maintainer use to force RPM if DEB is not available.
-: ${OPERA_FORCE_RPM=no}
-
-inherit chromium-2 pax-utils xdg
-
-if [[ ${OPERA_FORCE_RPM} == yes ]]; then
- inherit rpm
- OPERA_ARCHIVE_EXT="rpm"
-else
- inherit unpacker
- OPERA_ARCHIVE_EXT="deb"
-fi
-
-DESCRIPTION="A fast and secure web browser"
-HOMEPAGE="https://www.opera.com/"
-
-SRC_URI_BASE=(
- "https://download1.operacdn.com/pub/${PN}"
- "https://download2.operacdn.com/pub/${PN}"
- "https://download3.operacdn.com/pub/${PN}"
- "https://download4.operacdn.com/pub/${PN}"
-)
-
-if [[ ${PN} == opera ]]; then
- MY_PN=${PN}-stable
- SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" )
-else
- MY_PN=${PN}
-fi
-
-# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version
-# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium)
-# Does not need to be updated for every new version of Opera, only when it breaks
-CHROMIUM_VERSION="131"
-SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}"
-S=${WORKDIR}
-
-LICENSE="OPERA-2018"
-SLOT="0"
-KEYWORDS="-* ~amd64"
-IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6"
-RESTRICT="bindist mirror strip"
-
-RDEPEND="
- >=app-accessibility/at-spi2-core-2.46.0:2
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/nspr
- dev-libs/nss
- gnome-base/gsettings-desktop-schemas
- media-libs/alsa-lib
- media-libs/mesa[gbm(+)]
- net-misc/curl
- net-print/cups
- sys-apps/dbus
- sys-libs/glibc
- x11-libs/cairo
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:3
- x11-libs/libdrm
- x11-libs/libxcb
- x11-libs/libxkbcommon
- x11-libs/libxshmfence
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/pango
- proprietary-codecs? (
- !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
- ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} )
- )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5[X]
- dev-qt/qtwidgets:5
- )
- qt6? ( dev-qt/qtbase:6[gui,widgets] )
-"
-
-QA_PREBUILT="*"
-OPERA_HOME="opt/opera${PN#opera}"
-
-pkg_pretend() {
- # Protect against people using autounmask overzealously
- use amd64 || die "opera only works on amd64"
-}
-
-pkg_setup() {
- chromium_suid_sandbox_check_kernel_config
-}
-
-src_unpack() {
- :
-}
-
-src_install() {
- dodir /
- cd "${ED}" || die
- if [[ ${OPERA_FORCE_RPM} == yes ]]; then
- rpm_src_unpack "${A[0]}"
- else
- unpacker
- fi
-
- # move to /opt, bug #573052
- mkdir -p "${OPERA_HOME%${PN}}"
- if [[ ${OPERA_FORCE_RPM} == yes ]]; then
- mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die
- else
- mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die
- fi
- rm -r "usr/lib" || die
-
- # disable auto update
- rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die
-
- if [[ ${OPERA_FORCE_RPM} == yes ]]; then
- rm "${OPERA_HOME}/setup_repo.sh" || die
- else
- rm -r "usr/share/lintian" || die
-
- # fix docs
- mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
- gzip -d usr/share/doc/${PF}/changelog.gz || die
- fi
-
- # fix desktop file
- sed -i \
- -e 's|^TargetEnvironment|X-&|g' \
- usr/share/applications/${PN}.desktop || die
-
- # remove unused language packs
- pushd "${OPERA_HOME}/localization" > /dev/null || die
- chromium_remove_language_paks
- popd > /dev/null || die
-
- # setup opera symlink
- rm "usr/bin/${PN}" || die
- dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}"
-
- # install proprietary codecs
- rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die
- if use proprietary-codecs; then
- dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \
- /${OPERA_HOME}/libffmpeg.so
- fi
-
- if ! use qt5; then
- rm "${OPERA_HOME}/libqt5_shim.so" || die
- fi
- if ! use qt6; then
- rm "${OPERA_HOME}/libqt6_shim.so" || die
- fi
-
- # pax mark opera, bug #562038
- pax-mark m "${OPERA_HOME}/opera"
- # enable suid sandbox if requested
- use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox"
-}
diff --git a/www-client/opera-developer/opera-developer-118.0.5411.0-r1.ebuild b/www-client/opera-beta/opera-beta-117.0.5408.22.ebuild
index 4ee8f9792fe3..4ee8f9792fe3 100644
--- a/www-client/opera-developer/opera-developer-118.0.5411.0-r1.ebuild
+++ b/www-client/opera-beta/opera-beta-117.0.5408.22.ebuild
diff --git a/www-client/opera-developer/opera-developer-117.0.5405.0.ebuild b/www-client/opera-beta/opera-beta-117.0.5408.8.ebuild
index 604325658279..4ee8f9792fe3 100644
--- a/www-client/opera-developer/opera-developer-117.0.5405.0.ebuild
+++ b/www-client/opera-beta/opera-beta-117.0.5408.8.ebuild
@@ -42,7 +42,7 @@ fi
# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version
# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium)
# Does not need to be updated for every new version of Opera, only when it breaks
-CHROMIUM_VERSION="131"
+CHROMIUM_VERSION="132"
SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}"
S=${WORKDIR}
diff --git a/www-client/opera-developer/Manifest b/www-client/opera-developer/Manifest
index 0e95692af0a7..142a921e1355 100644
--- a/www-client/opera-developer/Manifest
+++ b/www-client/opera-developer/Manifest
@@ -1,7 +1,7 @@
-DIST opera-developer_117.0.5405.0_amd64.deb 127733944 BLAKE2B 8e865990c21253be8b8191d2e611bb05d18754a69e30b0fd4a18911d5d50445c80faea3c4d3387375d6d3273a5e0ef13395805817760442512d6f7055188e026 SHA512 719dac3dc7a63a97f320c95dce22994485d3767a973a2cda46cc27a3cb54c0173afabb40cd71004830618bae1550bd42fa2de465f8fde1388555828882bf9016
-DIST opera-developer_118.0.5411.0_amd64.deb 126407304 BLAKE2B 6a04f1d9e23bc231e56654206e4d9ef8e11cd265dac1dc37e0c054967e1baec3577913a719d5363aa91d1b5d8c919a62d6c5b0f3b3efc3a52126ab9acc9cb3df SHA512 8d59a2d20611b2364967476b977749efb40328f3f13bb61557933012f7894f4250afed44217c1c389b5e7d35390d57407963a05e0d7ddabcc6918e01ea133fc6
DIST opera-developer_118.0.5415.0_amd64.deb 126514628 BLAKE2B 62eb78cac2359b2da897d03ad4e8aa2a731dfdf68d7c36071dc4555aa533af6523483897129cf0c9bad2ef21d33130611f6fe207d1d90096ccd9f34f081a5685 SHA512 8349fd299fd3360d64debfe384af954fc5398ded0be767cf1e3473a77da86e686cfd80d7f2343d7bf6677711eba913e95bea21f62d45b3446593569848667fba
-EBUILD opera-developer-117.0.5405.0.ebuild 4223 BLAKE2B 166a4d0c99c144710fdcfb8c6603dea8cd442c414c8a097c92113ce690f3b0bb1d07cfdaadee94d7ebf285682f55363492a1590685a7ac7eef438b0cd23daf55 SHA512 6f2538edbda5c86c45bb83c3c2eed418c6ef49101fc021650b6c8415ada8c241a12bd40ca193689d63fd9ce722992f344320daa31f879b28797ab087279efebb
-EBUILD opera-developer-118.0.5411.0-r1.ebuild 4223 BLAKE2B 47001aa24b4bba2a42df6ef504cfc6838b43ebdaa2d128e0442002274bc98e383473f5347e71739462ba157e0bd6b1a5ee2fc374ee8e2307e44b779e02538e83 SHA512 b740e28f99383f9dd7bdd8687c3b9de79d17d709a48c8044e9bd9cbf93139e717ac0a798840cd782e7081af72e44c355af6d1fcbefa85a1f0e99e692394d15bd
+DIST opera-developer_118.0.5419.0_amd64.deb 126498576 BLAKE2B 8c089b7c9131f5a7b275ca6ba06b41f6f3d204a2a1145a0c1c953e17c87a594e0a821026055ef85a8c6ae943e83d152f944c29464d1335084f8314595db7428b SHA512 a50002cf4a7b500fdf5c3cc8410c3a5174e332ec6d98acf301c732c594e73a64ab011a8ea6120a00db0554aa29eaf0baa0699048fd7769708cbc992881728d21
+DIST opera-developer_118.0.5425.0_amd64.deb 126588276 BLAKE2B c79b5bfc6713474af1420c2256f08995f06a6e7c115c9d103f397f1f9a709acbb311eb665b2a5095f98465bdc17c0a21e3b7642562914d477407e708726f1695 SHA512 9149dd99e2d27b45fe0ca2ddc2ecc8487362a39165fbc816ece66bb8d8ca8800eddca1addc7b69d53ad491d53899396cb2fbc2ef119bb597374ff718403ca53f
EBUILD opera-developer-118.0.5415.0.ebuild 4223 BLAKE2B 47001aa24b4bba2a42df6ef504cfc6838b43ebdaa2d128e0442002274bc98e383473f5347e71739462ba157e0bd6b1a5ee2fc374ee8e2307e44b779e02538e83 SHA512 b740e28f99383f9dd7bdd8687c3b9de79d17d709a48c8044e9bd9cbf93139e717ac0a798840cd782e7081af72e44c355af6d1fcbefa85a1f0e99e692394d15bd
+EBUILD opera-developer-118.0.5419.0.ebuild 4223 BLAKE2B 47001aa24b4bba2a42df6ef504cfc6838b43ebdaa2d128e0442002274bc98e383473f5347e71739462ba157e0bd6b1a5ee2fc374ee8e2307e44b779e02538e83 SHA512 b740e28f99383f9dd7bdd8687c3b9de79d17d709a48c8044e9bd9cbf93139e717ac0a798840cd782e7081af72e44c355af6d1fcbefa85a1f0e99e692394d15bd
+EBUILD opera-developer-118.0.5425.0.ebuild 4223 BLAKE2B 47001aa24b4bba2a42df6ef504cfc6838b43ebdaa2d128e0442002274bc98e383473f5347e71739462ba157e0bd6b1a5ee2fc374ee8e2307e44b779e02538e83 SHA512 b740e28f99383f9dd7bdd8687c3b9de79d17d709a48c8044e9bd9cbf93139e717ac0a798840cd782e7081af72e44c355af6d1fcbefa85a1f0e99e692394d15bd
MISC metadata.xml 544 BLAKE2B e8594a0cb9a73ac5901ece78db220822043dca9faec994810af426f96e2ece7fdb069c5f1d639f66d1236ec83e6c46e50bd21c49f8a075cf0de41c9db9afd8a0 SHA512 2361ebdde2707166e465058b41a893b4c14db7c7ba8f4fe34f7ab34da4275f0af691e55881232a9253f5d793ff76e61d57689f56dd8ab879fc3ecb3294fc8777
diff --git a/www-client/opera-beta/opera-beta-116.0.5366.7.ebuild b/www-client/opera-developer/opera-developer-118.0.5419.0.ebuild
index 1cab05aa0a7e..4ee8f9792fe3 100644
--- a/www-client/opera-beta/opera-beta-116.0.5366.7.ebuild
+++ b/www-client/opera-developer/opera-developer-118.0.5419.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -42,7 +42,7 @@ fi
# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version
# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium)
# Does not need to be updated for every new version of Opera, only when it breaks
-CHROMIUM_VERSION="131"
+CHROMIUM_VERSION="132"
SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}"
S=${WORKDIR}
diff --git a/www-client/opera-developer/opera-developer-118.0.5425.0.ebuild b/www-client/opera-developer/opera-developer-118.0.5425.0.ebuild
new file mode 100644
index 000000000000..4ee8f9792fe3
--- /dev/null
+++ b/www-client/opera-developer/opera-developer-118.0.5425.0.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CHROMIUM_LANGS="
+ bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id
+ it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi
+ zh-CN zh-TW
+"
+
+# These are intended for ebuild maintainer use to force RPM if DEB is not available.
+: ${OPERA_FORCE_RPM=no}
+
+inherit chromium-2 pax-utils xdg
+
+if [[ ${OPERA_FORCE_RPM} == yes ]]; then
+ inherit rpm
+ OPERA_ARCHIVE_EXT="rpm"
+else
+ inherit unpacker
+ OPERA_ARCHIVE_EXT="deb"
+fi
+
+DESCRIPTION="A fast and secure web browser"
+HOMEPAGE="https://www.opera.com/"
+
+SRC_URI_BASE=(
+ "https://download1.operacdn.com/pub/${PN}"
+ "https://download2.operacdn.com/pub/${PN}"
+ "https://download3.operacdn.com/pub/${PN}"
+ "https://download4.operacdn.com/pub/${PN}"
+)
+
+if [[ ${PN} == opera ]]; then
+ MY_PN=${PN}-stable
+ SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" )
+else
+ MY_PN=${PN}
+fi
+
+# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version
+# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium)
+# Does not need to be updated for every new version of Opera, only when it breaks
+CHROMIUM_VERSION="132"
+SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}"
+S=${WORKDIR}
+
+LICENSE="OPERA-2018"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ gnome-base/gsettings-desktop-schemas
+ media-libs/alsa-lib
+ media-libs/mesa[gbm(+)]
+ net-misc/curl
+ net-print/cups
+ sys-apps/dbus
+ sys-libs/glibc
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/libdrm
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/libxshmfence
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/pango
+ proprietary-codecs? (
+ !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
+ ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} )
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5[X]
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+"
+
+QA_PREBUILT="*"
+OPERA_HOME="opt/opera${PN#opera}"
+
+pkg_pretend() {
+ # Protect against people using autounmask overzealously
+ use amd64 || die "opera only works on amd64"
+}
+
+pkg_setup() {
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+ :
+}
+
+src_install() {
+ dodir /
+ cd "${ED}" || die
+ if [[ ${OPERA_FORCE_RPM} == yes ]]; then
+ rpm_src_unpack "${A[0]}"
+ else
+ unpacker
+ fi
+
+ # move to /opt, bug #573052
+ mkdir -p "${OPERA_HOME%${PN}}"
+ if [[ ${OPERA_FORCE_RPM} == yes ]]; then
+ mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die
+ else
+ mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die
+ fi
+ rm -r "usr/lib" || die
+
+ # disable auto update
+ rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die
+
+ if [[ ${OPERA_FORCE_RPM} == yes ]]; then
+ rm "${OPERA_HOME}/setup_repo.sh" || die
+ else
+ rm -r "usr/share/lintian" || die
+
+ # fix docs
+ mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
+ gzip -d usr/share/doc/${PF}/changelog.gz || die
+ fi
+
+ # fix desktop file
+ sed -i \
+ -e 's|^TargetEnvironment|X-&|g' \
+ usr/share/applications/${PN}.desktop || die
+
+ # remove unused language packs
+ pushd "${OPERA_HOME}/localization" > /dev/null || die
+ chromium_remove_language_paks
+ popd > /dev/null || die
+
+ # setup opera symlink
+ rm "usr/bin/${PN}" || die
+ dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}"
+
+ # install proprietary codecs
+ rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die
+ if use proprietary-codecs; then
+ dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \
+ /${OPERA_HOME}/libffmpeg.so
+ fi
+
+ if ! use qt5; then
+ rm "${OPERA_HOME}/libqt5_shim.so" || die
+ fi
+ if ! use qt6; then
+ rm "${OPERA_HOME}/libqt6_shim.so" || die
+ fi
+
+ # pax mark opera, bug #562038
+ pax-mark m "${OPERA_HOME}/opera"
+ # enable suid sandbox if requested
+ use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox"
+}
diff --git a/www-client/opera/Manifest b/www-client/opera/Manifest
index 766182c7d919..59a6d124e16e 100644
--- a/www-client/opera/Manifest
+++ b/www-client/opera/Manifest
@@ -1,3 +1,3 @@
-DIST opera-stable_116.0.5366.35_amd64.deb 128188572 BLAKE2B 6644efc1233d65bbe2b0cfc2129c9dd113d43dd0bdb03083a93a5d7942dad7f5d1f682dd6aeccdf2844349f3f46de7e3c6c5bff695c339e419aa3712fa52c37d SHA512 4f2487f7a2596d69455745a0e7934551d053417ced3d9268521d56e3e6afa58c64355ca85ea95de8afc4f7550de0e2cbe58cb20932fba20a5806741cc20e9c8e
-EBUILD opera-116.0.5366.35.ebuild 4222 BLAKE2B d1a9c534f272f812559510703339cf834b9ceef10d745c17eef671ff30fb36eac0bca3ff2b7a8c8844a0d3633efcb89cc2c862c23456a05a53991d39e1ef93e0 SHA512 442397cc39b64873ecaf09d5c2920fa7c2cdcbe18667ad9e60161bd3733aa5a045c0ea0d17e1f142d91a3ab9bf7a6925e75b0935436490f2563282bfedcc6796
+DIST opera-stable_116.0.5366.71_amd64.deb 128207532 BLAKE2B ae6b9e72d37d852708626e7a3b0912fe17a29ed984f9c12abc340f6d0cd034e98c57f55fecb56adc4f07df646784a092d0962f58d9da9a0aa15440b21d305435 SHA512 9e739be41436ff175c088081b10ad5c810858b6e01a822e507504e38184a2587a3aab80845ce60efceea1d37e4fc45a7ecb2e785c34b10c475e09391d76d2cf8
+EBUILD opera-116.0.5366.71.ebuild 4222 BLAKE2B d1a9c534f272f812559510703339cf834b9ceef10d745c17eef671ff30fb36eac0bca3ff2b7a8c8844a0d3633efcb89cc2c862c23456a05a53991d39e1ef93e0 SHA512 442397cc39b64873ecaf09d5c2920fa7c2cdcbe18667ad9e60161bd3733aa5a045c0ea0d17e1f142d91a3ab9bf7a6925e75b0935436490f2563282bfedcc6796
MISC metadata.xml 544 BLAKE2B 94b2f6807c021794769fc62b041c69bd08a0d307c51db96109bd45a1fff240d586c51daa91e894055e47291505750f07e9054b6b1b364a691c18f5711acbe9b4 SHA512 691c7b62fa7c8a46e4cc981a2f211a1609b1c57620aca668b001eeaa2cbcd2f38299680c4707a73a8f32ee19b054cd131a2b09600bac30b8530af35142694ff7
diff --git a/www-client/opera/opera-116.0.5366.35.ebuild b/www-client/opera/opera-116.0.5366.71.ebuild
index 4a38b4f4f31d..4a38b4f4f31d 100644
--- a/www-client/opera/opera-116.0.5366.35.ebuild
+++ b/www-client/opera/opera-116.0.5366.71.ebuild
diff --git a/www-client/seamonkey/Manifest b/www-client/seamonkey/Manifest
index 347833d46ec0..cc36b4930dd6 100644
--- a/www-client/seamonkey/Manifest
+++ b/www-client/seamonkey/Manifest
@@ -6,6 +6,6 @@ DIST seamonkey-2.53.18.2.source.tar.xz 252310768 BLAKE2B e10ad79a25d5b6c0a6d1d89
DIST seamonkey-2.53.19-patches.tar.gz 172606 BLAKE2B c634f536d1fb6d6be76f246ac76c0656297644c8993a55cc7f809e3a3577c391b563dea9f01d8cd4b35fc0042c61a9019466d951eaced35656c44032cca44a68 SHA512 9b895e0c592609da109ea16c45466e3d978907a92a3f6eed12f9849ea7258212876b07d3fee8fffbc72a0b168722369ccef44c550dea606799db4498ba9c292f
DIST seamonkey-2.53.19.source-l10n.tar.xz 13430044 BLAKE2B d100d077655353317a5416417008289671b1008ae1a533b7b2dff9f4413b146c5fe94b2b53d88291186c4487c06928da973fd900deb8ece317b189a4dba9f470 SHA512 c5b6e3ca0b5d43b230aa528cf04a3264b3e3aa40dc16ba29fe4f2668f97cdaed2edd5fc1ad5afe6203088a3f80b7557ed702c75c496aee69396bad8da2f27545
DIST seamonkey-2.53.19.source.tar.xz 249145892 BLAKE2B 2446c89a9d6aa98a47c71a21a317844c7225f1a633ba59ae6e00aa58da8f5d624c03a9d452c49d3d1bea5c552fcce47a5f661b86ae60d4c3d67bf4de10f92d38 SHA512 fda052d7fb21837cdc79df80eec64f6c973b3fc3fea2ce3554115ba9b623fdf998dd461d5932562c088d2204c4da88e53f90f24e914a6d98382334bba3218e88
-EBUILD seamonkey-2.53.18.2-r2.ebuild 16974 BLAKE2B 9ce0c13bbb86c569bf1c8086854fd30dceb5bc08738f0bf32e68464fd022428334b0e0a2b367783aff2d17a4005d28b5e29af0f6d3f75c96f79934c0f7804bd4 SHA512 d62a355c179d8ed81f316b1c30c312463efaace017df2d4f070d7404845a3767422d760f9dc32806c38b62a089017d68968fffeb8b1ae02d4eb9619576cd7ed4
-EBUILD seamonkey-2.53.19-r1.ebuild 16904 BLAKE2B 05613a29c48964bace2b50fcebd588b5e41350f2c2e45aea28288a4f121f630120ade0180a1836fbb94f71228d43a4137f8bebce234a9ff30fcd0811fcd46a29 SHA512 2c93176fa854c407558c03a6612ded2c976dca1251f59df2a6e7bc4a6c31d54cd86fec5f27a7fe931159b929c2cc5370aeeccf689da67fcfaf95e8bb548cd7fa
+EBUILD seamonkey-2.53.18.2-r2.ebuild 16977 BLAKE2B a240547e9993f9d089107cc24e2782b5324b24983bd587a20094e5ab093807909dcecc1e79c8ad15ae3b089ce51bc7c6c7bcfb16da09358675bcff5ac711f0b6 SHA512 f817b4eebbbe5e7936613ffdcf571a0669b956bf6b0f2cd0046f39724e75fae71f48206b8fc24b2f559940cac6015ea7843d340a5fa2594f3dafc659834a2c10
+EBUILD seamonkey-2.53.19-r1.ebuild 16907 BLAKE2B 35304b4aa71d684eb643fb0fd92175be874dceaa0f71dd9f70f9c77d9a50204646eb89b6bcbeb36dcd83fc564d2e29ad9f8c9c6d70d25c572331c32d59459ab4 SHA512 3cd2aacf7e3f40c649b32fc3d235a4ab43e1e762658780c738f2813a07dfc9f63fc56d521b4fc23ac2570c4dd2a844dba68bc8fb0518f033cd42f072a3a1f3ab
MISC metadata.xml 2182 BLAKE2B ee38b9fda8af84b2559c9ce96f7cb5caadb2835bc7151013dca9afd29a9c56526ea59c79fa7943d243317544a80a2fbaf8020441e9865463712b3d11e5cd7933 SHA512 c67988e076776ab7bad9730d3d54c9a5780d00bc282654cf14fef4f5957354880d9293e2db57bdb820ad2a0a06111fe121ea841d8c0bb1941e2781ee585914bb
diff --git a/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild b/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild
index f92ed6f18e89..114f2294ce01 100644
--- a/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild
+++ b/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -62,7 +62,7 @@ BDEPEND="
')
virtual/pkgconfig
amd64? ( >=dev-lang/yasm-1.1 )
- lto? ( sys-devel/binutils[gold] )
+ lto? ( sys-devel/binutils[gold(-)] )
x86? ( >=dev-lang/yasm-1.1 )
"
COMMON_DEPEND="
diff --git a/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild b/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild
index 586ceaba7a5c..79f8dc991a4c 100644
--- a/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild
+++ b/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -62,7 +62,7 @@ BDEPEND="
')
virtual/pkgconfig
amd64? ( >=dev-lang/yasm-1.1 )
- lto? ( sys-devel/binutils[gold] )
+ lto? ( sys-devel/binutils[gold(-)] )
x86? ( >=dev-lang/yasm-1.1 )
"
COMMON_DEPEND="