commit:     364d0eb807eb4f0f6748f0b1487962f3ff784e1b
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  6 20:04:43 2025 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon Jan  6 20:11:14 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=364d0eb8

www-client/firefox: add 134.0

 - rename 'wasm' use flag to 'wasm-sandbox' to more accurately reflect what it
   does - people have been confused about it,
 - since upstream has updated their bundled icu to 76, some of icu-related
   patching have been removed,
 - update nss requirement to 3.107,
 - update upstream wasi-sdk to 25.0 which is llvm-19 based and most likely
   breaks '+wasm-sandbox' with clang <19, therefore require llvm/clang >= 19 to
   compile with '+wasm-sandbox'.

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest             |  104 +++
 www-client/firefox/firefox-134.0.ebuild | 1373 +++++++++++++++++++++++++++++++
 www-client/firefox/metadata.xml         |    1 +
 3 files changed, 1478 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 0307b661e5eb..50ae392bddae 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -303,5 +303,109 @@ DIST firefox-133.0.3-xh.xpi 421372 BLAKE2B 
79238c6ce683f1d9cc585f8ce40e1603df46a
 DIST firefox-133.0.3-zh-CN.xpi 679309 BLAKE2B 
b6f9d3ac6055a258b78857dddffb89c97f2b77bd859bdab6bb20c7791f811267bcc09db2b451ed56855c074cbb9a7c6b09c375819e951f89d67b011178b30f82
 SHA512 
c42eba97f3069b38fdae933489c6dc1b9fbd7ab866830b4d3fbdbaf10969e1cf4665235193ae6985d032fd4007c12dc221f8a6f284625f60b36a043dcbf3c6b3
 DIST firefox-133.0.3-zh-TW.xpi 681633 BLAKE2B 
7f67226c9bf2a2d311b7a13c5aaf68bae1c784c53256f3e971490980f6d739f2dedcde7803d0f1955d6be8390ad461d3fe1f84083a7ea093624ae39564aa6ffc
 SHA512 
975b508f569eff982575a5d62387882a4fe0bc061ef5af510cdfcd4b8c04480b260d9bd89b0da857d481272b12ba5007b73b46938bcb24e2754139d7ec16a3d8
 DIST firefox-133.0.3.source.tar.xz 580071280 BLAKE2B 
e686408397a886e36ead739851ec190f108db2bda92b7147ec16c12233459dc23ab256ba125fb8902fb2a855ea76d9cb02e6c55ea62e7639f8700dba6bae9acb
 SHA512 
ce48beaa5bb1717d9b6dbfff035b1bb5de1456df14b6a91adfaf3ccfb7ac550ab7ee854546231424a920e01d981825253609fce2ec326c4aa1ca316bbbdb31f8
+DIST firefox-134-patches-01.tar.xz 13880 BLAKE2B 
4f80540acf09b51de091882318e205e1d9c7a8d65de62f453953d1e943321ba334d8f337244800e705fc38d7fac8c1cee87f4a8532020b708338cbbbb8b69426
 SHA512 
bd454754a5b14d9e34b8970d992639196672ee4472ee6c473287700c38f1a0127480c3a5eaf4de0a59ba72097f703fe231ef52fb4ab86d5dc5b99569285ce164
+DIST firefox-134.0-ach.xpi 468175 BLAKE2B 
a9eaab4624ae5675cc0f380c877b8aa5205cd768f640bdfac44e97714c1dd754f8bb89dcd2a71732438f6027b20b0f5f8493e839cf18640bc8d47b604034a1b9
 SHA512 
ca12411ab30de0f101656b4c2cc9914cc5602580ecb16a0af463c251de36d13641b468690961d4170dfcef89fb62242a73665ea320704e5c23227f5b6edbf8fe
+DIST firefox-134.0-af.xpi 421162 BLAKE2B 
a9bdd1b7f129a9d3a08df608e1b2d23a844b367bc2985fb6904ed233be5e0d57f36b840bf88712596117970ceb2d20c48f2afda4db3b6e767b1d7d39f72ab2f5
 SHA512 
36411f485e16856ca96fd5a8ad6a9f4b8266ccd880a9196b5f8052dfec32765e248c53f65930b9cc9b151123ad240edbd3095b7005ff132a6937cc48d2b9be25
+DIST firefox-134.0-an.xpi 510952 BLAKE2B 
ff0e62dc07bf174b68e691c5285931593312aad5b9522a8310dd5d78c6cde894d768cc394ca75082ea4085f80da164a8f46c632d30c09dc61d548a95362018e7
 SHA512 
2e1ea28b965ceb2ba8317635045b775084c239ab726a8c8ff5e95388abc09d54e4472914302f5b0c817801c3a962859ed3edb1c15a4cce39e5ccaa86899ae4af
+DIST firefox-134.0-ar.xpi 633883 BLAKE2B 
499a63f6432343a0e0917ccdc5b74a381114683fb22a0361f2fbf1f1a57722cc3896ebae5cf7c8d1ac59fdb7ac201a1cbdc9108a9903ff0227754a91ba0e3a99
 SHA512 
4033c754a91f88b4b883ce539940a8e13241770df6bf41f30fe1dbcf7eff3589b3e7b67696bc62abf64294c044e25f54cb28179ea1af672147a8247bb5926c26
+DIST firefox-134.0-ast.xpi 500083 BLAKE2B 
4806276202782d21fc715abd1f9acc3aa6c7971a419fdbcee9dbf11baccaaad6fb2176691631ddbea62351076cdeaa1f49454a2f383aff2aff9d1acec6b6c931
 SHA512 
2268f5d46db69cf61dfa9c7dd17f3178060180c856eb78fd0a930d98049cbbc81d1d7bcc542f55c586e59d417220ba7f6a6ef8862596d6fb7580434919b3e917
+DIST firefox-134.0-az.xpi 494914 BLAKE2B 
98fed19418868442f33ab74a1d9400e91b9e71e4e028b9cf29751730b7f315c4eb419cb6d146a3cf15acfa8404753e408571bf4a8ad8ba38387aac268fc7cef0
 SHA512 
e5f22868fec85d0082abb5ea8ba24ae6833d38f5f70d0e717aabea718c513bef58bb519feb9a889f5bc6ec4d6d18c1cc9b4b8916100e0344e426841416d0175d
+DIST firefox-134.0-be.xpi 744276 BLAKE2B 
5b85f995f7a8a065b8febb2cb31ca4681bce49c7df5a06d742c4bc47f3e0afba5a0181a09c58a3d3f9e99a2cda14a1489df68a31ec537c93dc155cce5b1ef51a
 SHA512 
40ccdab86a13601506174c395812ab285b212332aed946c309979332d050aedf10983114fe9540538b8d45a783d6712acfa6ddeb334bb06b9bb7cec6c6f0c1c2
+DIST firefox-134.0-bg.xpi 670917 BLAKE2B 
c74f8c258ff87da9036b7720fa8f1b667815cc369b59084a06b298fe8fd0c7278ec302596b834b514ffc89e194996f8dadf485d50b94a3687078482bcc6230b5
 SHA512 
2984937477e5e15cc78e8d14a58a3ced09a60e9e72cb0decce8950969ce954ac5e18889cf804cd28421a4c799adb8041e761b8c8fd444fd4a8f596069af0e944
+DIST firefox-134.0-bn.xpi 615540 BLAKE2B 
8598aecc24159a9ce4a3130351f7eb9a3d52121e9c4ddbb386101041818bfb7012b379e57e6a4162832278807fdd8c99e32230284934ae54b1dd1dbafd0624bc
 SHA512 
56b3394fd8da1f189db1ccd7b636307e592199db2f9109710591d4c9fd77fb25ac0ca8ebd317c91eb3fcba143bc2648844f4b74ed76f6bc9e58aa3c710501e2f
+DIST firefox-134.0-br.xpi 598074 BLAKE2B 
02a67188192651658c7bdea7a5256e11964e7ca86d479577bb9ec314b64796f47ffcdd21726e5b7b495196b26b7c4aa8d86f086c0c9b7eeb0fe556b61cb15e28
 SHA512 
280c030873b3e29ca1245ed0104b14a34c74e41bac485066058cb87f7e2e2df56fd5b89fc9378c7b018aff9e776e9e1032c2331011676c6c2bd2527c4607a57b
+DIST firefox-134.0-bs.xpi 557244 BLAKE2B 
c19d9a67887fc21ae1df78001759d5b44f45d2bb1e394c5e008ecc89fce9288b42f9320ed8b83bf1cabf83429be5e11bdb2edea8322a40bf8c1c1645805d8e03
 SHA512 
b4a8c5b09188afa95caa0694342160c8082b6b6668145e161d137144791fe85ef982ca852e67b56aab4301cfb6271259ae41eacbe6da211a2e07919f52c360d3
+DIST firefox-134.0-ca-valencia.xpi 550243 BLAKE2B 
2b94db9efa25a8d72d2071824d923da49fdae896d83ad2ad3a20f765cfaa7c0761f8e0befda7eee70f8db0a82d62daac9712946a2645a2ccdd70b55b558b3ea1
 SHA512 
48bbbe27199f39b3b7b6db5d3aa2b475978d234c50a2f4d1e82d62c4478c4ff3a0a4406b1b473d54560e95146fd82f15789a3655c47ca72130f07303b865e978
+DIST firefox-134.0-ca.xpi 607760 BLAKE2B 
e369bcf5ac6faec9e2b80267785f8e80ae5f38f1cbc80be82b8cbb676ff44543229d43d73cdaa8c31610ce427b30324bec42ce59affb164190c6b291e3747e1c
 SHA512 
0d411187a750975309071936c93e7ec5d179cf600acec8d5a63d00b5bc1124d6cd71d86c4ed29678bbd8bcceb56472c4ddb96231ffc704473e7cd27eeb0e8d73
+DIST firefox-134.0-cak.xpi 597775 BLAKE2B 
338ceee303e1f61923827c61bc183f36c210371a5df8f4affe9f43c946003f07071c8c2b0b25e3f0575a007f9d818e703781daec8cc84aeae661a5687ca0db78
 SHA512 
e94b4320478188cc2cbcac3818bdf01c739e84f1503427264a3c0f8fa81abb8bfad05fef05f2b87e7a0f2a5d3185cd7c3ee172917fd8560d9a97dff7b95183a5
+DIST firefox-134.0-cs.xpi 688675 BLAKE2B 
89750207ac3755d2ae8cd56f38d574447d7c547c153bd59779b6af421416c710fead0df0125ba41a3041ff096dce680abbf4cdcc2c61a88903051d0675be541d
 SHA512 
787dd821e6cc4d8dc8b077854b21a7e2b2a444cfdaef21cb905d87584c43270900f368de049a940211c82d8d34c5a944c101483cefe1aa98a6a5f01afaf512fb
+DIST firefox-134.0-cy.xpi 649374 BLAKE2B 
a012dcf4dc063dad39349feeebc57f65d2dbd19dd9bcb30c6e0cf352832e40f431b1354299ae87c5ba84ba8f59b125fbc4cabc46f8c1d5808d47f893fecbb5e1
 SHA512 
535104977911640070b0a90915eb12863fedb3dbb9aba673cf2ea3f336cf449fe09daa198f9852c8643369e85b9a6da8791a0e0a93892ec94b7111de3c6a9631
+DIST firefox-134.0-da.xpi 637277 BLAKE2B 
beac566965ad67645341e95370dacdac62744ccdf70fab3fa3766c2b7aa5dbaec8ad07638e379e6bd0d72785cb5b7a2bd2b49721e409fda8fc9dc458df2c9533
 SHA512 
7bfd03093ffe0ce226d556322a26889008b362ccea90bb02b195061c83ba214773113aeecc18c791ab7e8d181457008cb9908e9fc1d57bc1d9f76c3a35b0244a
+DIST firefox-134.0-de.xpi 661278 BLAKE2B 
2ae531ae6f9eb6a9f24267069e268f55e34cb3a8f316294000edecbfaeecce3256b0796131251fd88d1f796b1fa58049eae83c2a7fc7d239a1efa90bb046397c
 SHA512 
a4b859e5536c6c7f5dd54fc1bd275efb16bb2d37b83299967ba97d8368a17c6d3bfc66c7288fe0d56369010015d8b0b97ce453e66830a203c6e716fa00ea2b93
+DIST firefox-134.0-dsb.xpi 678094 BLAKE2B 
4ef86f513736609808ac2e2c0ec3b5a993795a24647c3871f4b2c877b9b6b03889629f6483d278ce86ab76c63c1c34a8a01241426d630a4ba19c4ac507bfd768
 SHA512 
e4c35f7544466b1f44b83b1837cd9100b57aebc574290ceed487cf38fa77eb9da8fea66c3c0043d7919b61e3c0ed9e7103ba5b9c4bd0e2189d7afcf1949dbdff
+DIST firefox-134.0-el.xpi 760444 BLAKE2B 
b01b4ed8767c4736ee103442d575947d984820c7c7b83e5302100c5b7e040d5d3977032a1e72eb4efb23e091fafcace0c374ac8c72bda5c952df1a8f8c8aee53
 SHA512 
1b85d8383a2186602f19125e0a2d8ea7a7e4fd2b7065db41419074254688f767c5d77c9874c768b83b5473d97519d50cc53025208d069e7fc6fb965a449e8fdb
+DIST firefox-134.0-en-CA.xpi 607990 BLAKE2B 
84aa24343d7f657f9170f532900e719673fe9a81c03d340c3fb0b9d7b204b13b87df9aad63405b5b53d60dbc6bed2480b8dba4cb66f3f4f141b894ed5383e45a
 SHA512 
8bd7905d288ca2efaa8e66aa24a00d062d15dfc82f256e9ce3c5d48f25196c625b4f9d03d2e848e417c6a77a98c47ddd142a390e5a1ad8b25bf08dcfbf5bb817
+DIST firefox-134.0-en-GB.xpi 609127 BLAKE2B 
621027a1962b61a62ad6ece1028fb18e86d01ca760fcb51361bbd3b2b9bc7787118378bb5a4149caae17045e1703bea4956869cc7b9414731e7d4ad0ebd912c8
 SHA512 
bb5c07495920787b224160e8b80965c661b3a5e3efc281205a4f72f15c9195f12feae1843832439ccc58f6b7db9e1fb3a415bed0cb23e1bb3d68558e55edea73
+DIST firefox-134.0-eo.xpi 640106 BLAKE2B 
dc07c9670fd4d7340c7df5d21fa4e4e6a51d278b97ee5937953e12008b0c39ab36c00fcb1c5e28a7ab47518e9dbf53dd8877fae94d1e839e522d83c27e91b8d2
 SHA512 
783337aaf0e88f64992e90ec659a59859282678ad9a1330ceae9f1ec0cf050732e6ea4547f0525cc39674c680c8323afed3daa6bf9c66c7a519ed7ba0679ddcf
+DIST firefox-134.0-es-AR.xpi 654030 BLAKE2B 
f903a48e6dbef2e5820b6d9f783b68297b7eba7f3cfefaac6e4376cca626321a4e03d5c65c248d592e78c42e23981eb3883c0e1395d840e013176942fbfc0ff5
 SHA512 
4eb99e6e13f63df53006eff38c03f2ca25e8494e5406ccaa23e7d3eb51aa2049ea1fb558faa114248af92d885d3010c01d9637401f60623102fa3a8e20c06b94
+DIST firefox-134.0-es-CL.xpi 653726 BLAKE2B 
92d312e3b68cf562d85a2980efc367a374bb380de5461770fddf66dd9a2f57bfaf4d1869c2bd433b56159ba91a4d65c07328b87615f38d7f5c39b2ad4f7572f0
 SHA512 
1175f079f704f3b4ecde696a0aa6a19646ca31f1ce7bd52762caefc7c9c88cb9ceaefe425d6ea2a86f9a428aad620ae83a9c4074c2820248333f9957d1e16d08
+DIST firefox-134.0-es-ES.xpi 648570 BLAKE2B 
4889a95618d3a66e6e351086f023d616507bad730f18f691088b612ba0fd5e722d8946f66c826fe91e072fbd431a9d4fc297bafcd5aacdc21fb93940fc737038
 SHA512 
19ce7b26ee126a95587368c40b08cfb1b856c573b06a6b5adabb9eeb9bcd1ec00a18b09e51ddbe2a0e11a54e65ce88adb159d6f275ab932fb6c13484d6082621
+DIST firefox-134.0-es-MX.xpi 657163 BLAKE2B 
55adbd7d260524a017c808aee37e22ee1c9aca9a92a812d6b79303fe2b2d2d12068a40883a5f43bebf1e400a201c9bdb75ae45521361a2372733e973231ce52a
 SHA512 
60de9104db9fd3e76f1f0611e9aed423c16ef957f8ce6a6f3534d3fcf80462650c5c7aaae3659b80f9d8df40a54dcce5656302956afdad23125ed9bb717d984d
+DIST firefox-134.0-et.xpi 546711 BLAKE2B 
6f76c5b5e2633c1024c8927427a2dff039fbebe68c5f5114d1e6d1296e07357636ef1438ec548169199d2bcf9cd7aec2d44b0b21298290f9b94c33ce6791433b
 SHA512 
83bfe20856f81493d222bd5d8676c3ea3b87553def038b3ba7cc15b0b5d35e7c1980df51f8ab036e0835f17029c9e776403a3e498353513ab3830d2bf586cd9a
+DIST firefox-134.0-eu.xpi 622849 BLAKE2B 
de83771937c91d360fc2aa62a7247fd66cf0dc6a8a78256e3577138d121ef810ba8058203d30f33c023a9434a481e95f31df1b98fbdfd8ee2a2859f1bac973d4
 SHA512 
e1638c31fd4dcaa1a082cc9f8b278c968dfe2b377381638e3682638f211a363beedb3221f33acb65e325ef98b3b75f2a812c5de991674fa4092246f68427da72
+DIST firefox-134.0-fa.xpi 625175 BLAKE2B 
29d1200918b50ab32150995f9c72ed3c3ed495a691b4d446c99d099c64ef4254fd4d4194d726904e04c1f17826313e2ab4a8afd048579007f750c804a065221f
 SHA512 
92a9bd736629e6ad97ffd6609ef6bed2be43a770a1e356b94e8fd74bd3471364d605141b8e257aca88ceaafc586424e79b7b63cb5a3258126b14ebbeabd6477a
+DIST firefox-134.0-ff.xpi 479999 BLAKE2B 
85c2fdec3c0e3f37e33f756e5751aae6e17f02d3d503f913200a2788b0b5aaa3492c46b6c381f633b96eaba3f13164177392658ceb2d18d39473b0b58760cb77
 SHA512 
779a6ce6ebf1d2dd82345a92a166d8e83e8216287d8a6066bdb46fdc42b9342f5556be11ed78625c87179567845b1eb93bb4d101ed7c39297bec657802bfb2c6
+DIST firefox-134.0-fi.xpi 634177 BLAKE2B 
c4a28dd11b971b7d3b74011d6d6137f6fd7890a98f860cdaee0cbbe9edf48bd511c08fe22bc2922aa3bb3d26665b745584a2bb712ca7df515c89bd6c70a8b4a1
 SHA512 
4f0479c83b457b575f70a149c37c90877a55100d8b3fcee0b5216d6b4d73b62e9e0d04467fedab9a2aaefe01b7feefcf2c4f623ab997ebbf3e6617739b349fdb
+DIST firefox-134.0-fr.xpi 667546 BLAKE2B 
510825119b5ae19935623860ac038c0345d3583f80d8c296b8e4f7aea2e474bcfda1cfd538fc2c79d8ec19ad88b12cc84f7f31f7b972b2364e752672d5ef14a6
 SHA512 
116e99d4f0b543739127131470b07f0fea478de71e395f999a71f99b799df8c1c33e7352472ec40b443d620a05269ce98587f74322e898e08daf0a236ca01606
+DIST firefox-134.0-fur.xpi 652563 BLAKE2B 
3faf2cb17a496470d49bda53f4811c517f77860a02c4dd4222b2bea97a1e4380f7ca6624ece7bd416686aff047cb7c40cfaff38bb20fb49cadbf77a32451f510
 SHA512 
febb5f87a803dd81459e92fd55c0236a4225d927df21ed95f0fbc9c6727c9e73916d18508acfaaa0b77bed013c6f7c39be0a5bf066d66c6767cd28c7bb356918
+DIST firefox-134.0-fy-NL.xpi 649694 BLAKE2B 
bf3f00c9b4c7bbfb103002a1382d3c99b44bfc157d8b9865137263515d950bb5d9797623844a2cd053746f2bf0c0db577bb12827c19e04a514bc231dabae69fa
 SHA512 
b2d7f8672ed0360b2ad95017cddb0b31f030e8e5dc87679a059e6b31ebe687eface7a7120224b55a310c476b82d1adb47c35858f71de77238f3ad9ae70892f3d
+DIST firefox-134.0-ga-IE.xpi 474982 BLAKE2B 
ebee8e595678b4dcd4adc159b9e81e42481746af9f90c8a4d0c26b04bf194804be7f2eea84d54115924e712725c8b7670b082082a737603ea4c516f9539a609a
 SHA512 
c28ee784a56b5535930645e7398c13c07ea6822486c6b9260ec20ea5ff0a0b30b7dafbd93b7abacb3880bd521243b72dae72ab33780afff1a1c4b4640d07fbb6
+DIST firefox-134.0-gd.xpi 603300 BLAKE2B 
019e09fd2c46919aac770689c17a06f8d3c83006e27f7f92b29cadefe529951c18f50f9e6081d4bc4e49895d0f28e49398fb957764cac912868226a088cb969b
 SHA512 
7f9535446536919fb9c6c4ee5f4cf8874d41e500a0a9cd65d1eaa436d7cfd8edbac2c4a1fc2b4481b53ab017019e5da176c45240c5525cc06d1e9fb7537df79b
+DIST firefox-134.0-gl.xpi 614908 BLAKE2B 
35c1cff09869b2fa556b112fb1e46deacc645f37f3af8dbf9ef4aca60596d06e966dd65a68554c365c5a72495bf94ee215b0b5a884d9dd316a30108e197cdc31
 SHA512 
ad794ad32fcea6c5d3d677f215c78cddcfb6f9bf7ce2001f13da5ae0bb3ab83fcf932b2ed5937a5248d96bb3b052f53a11c3ed9289b851e5c7d7573c80d0f986
+DIST firefox-134.0-gn.xpi 661081 BLAKE2B 
96af2541f39a6bf0d1f84210cb78a0eda3aaf698773a5d484dd76927fc3faca0a28581e95e42afbe404cb867f5730c4f15d1719011ee90fc875116ec154c5e94
 SHA512 
61f5612fbdfed0ebee60a118734761a9c8c382b0d50b8281566c9f3896a3eb509b86b2bf9f59de08a231f9af80bee9b40acfea8149e378b6e851a42d711cfdfc
+DIST firefox-134.0-gu-IN.xpi 531510 BLAKE2B 
aed65e51e72a525bfb74e9efe52af651c787bdce71962e2f035bea4b6c0af2c7d6b293a7c99c65c2e7b76748b58dc5c425759786eed73530be60860e654fbdc7
 SHA512 
b5daef8e06b003511a0bf34a7e802f3c278342d0d1964930e2904c002c76ad22d7c839b4450c88709f3da3662d8a8d97ad412806d9d2d8582c30a8bc17b2135a
+DIST firefox-134.0-he.xpi 656241 BLAKE2B 
e5e33c5205019120333e1bf28f0bc7ff5fc651e72452650fb3ff5211c773185149b5b0328c4384778f46f42a12f11e17cbf96af8d60908d71b43b41f88dbf4ef
 SHA512 
9948154b38aa50ec11a3f478682bf61c5f7a9d2c9022feb4b2e0e379c42901d5604e32a8455c4caa2a8e4bf94e9232d5b3d24e2e93d970f15570c45cadbc92f5
+DIST firefox-134.0-hi-IN.xpi 570956 BLAKE2B 
516aa55421d863261421ed8bf3dc93c63157aa4cf324be8ad2658780861128c5fb3828c5237208654e49cc0f11dd8cd64bb4e2b02f99e112f6077b2471a916a8
 SHA512 
6836bd4de8ba0c57a9a1e9f8079d6eab4230442fb3ab29e69a27c9e836afa11124a1c761b90a0ad2d37f21a98542d04d6c87f30d4ad83420a7ae49c6598b0665
+DIST firefox-134.0-hr.xpi 633368 BLAKE2B 
96b344a5bd091e574bfd0ca7350df579732484edcf54f3db709901cf63415d306b2c4919d8f7942dca3876892394732a975f245d652c50a487525a7d61039381
 SHA512 
aebfd94df4e98412410953b922850a58c37c6ca149b64a4301e4e0cc82d646a9e050260cd0e237e8e685415cdec6a377618cb7cd1db2773056f859ce003c2e11
+DIST firefox-134.0-hsb.xpi 674109 BLAKE2B 
7f053ef3ca21c59ad5d2d55ddda8136d54b60f51694131dfa4b5d8fc47ccde6d922c50967ccb1047ec607af489e1cb64313628a9f5fbd865d8741dae77c9a907
 SHA512 
a7885aaa5f03138dae3a70aecd77d090cc57d5deff3cd7c36b9b3c3a5250b814db1edd69f00d49845d98ba8ac0ee6130c88ecba23a3208010c26a5ac7b72d652
+DIST firefox-134.0-hu.xpi 678173 BLAKE2B 
1865fd393f9dea7fbc0bae251c0c6fa7a1f8047e87508e06c21f2d755635b372a713f32d4ecc32a112c77cec249d3e883900384085ecc2d652d9bce604d8e320
 SHA512 
5b1247bdf0fe4cc4a5ff31db0398589bf4b17fa72b6f61814f74fafbe52a00a0754ea0e5585cc909d14bda0a7a3301e5efa8501fe707c23b5d9c24d4732ba729
+DIST firefox-134.0-hy-AM.xpi 661671 BLAKE2B 
027c9a6ac7b9139b2e5b633c359005728b1d8f80f3627e1770702781b7b4ea039eb6d14b6aebf51d610659d72019b34efff3fcba9fe6f22aa0ff087e43865c4f
 SHA512 
48c686539e93f8b0510ee1484e261e0f700767fbace31c745d4242e8604c23921eb102e89136f96c8ff46e5caa360dcbe10fde2a3111785357fead8099938a9a
+DIST firefox-134.0-ia.xpi 636635 BLAKE2B 
52033a26972eda686ad6b18ed18552cb75ad79ad36f2b25ae1798cdf276efecfd480a0e8c7eb8e6907d95989251ef1210218ea6d80dc226c3c7a535720e18540
 SHA512 
8d7d17fb12797ac7866a202e213048195fd3a888f308153bddee559c308d974d3c28f4e7c7ba33f466276a5dd133adc6f47d043855562f2570ff229522c07371
+DIST firefox-134.0-id.xpi 620028 BLAKE2B 
4a6b509ed71d455a952098606db488e246441d5708036e2ec5c5da5f6423ff10807ddcf5159e0f30f102a3e651e81b2d50806e25ee45e5f0df4f86a8aa1e1325
 SHA512 
a198e8e85167ab37a158d2ce3dcaeac4a66875e8a3bcf14b9e93f1c041266165a8757f42d42f8bf333a8935968c61929b7a01e808f2bede03617d03dc34075b1
+DIST firefox-134.0-is.xpi 642110 BLAKE2B 
56b463c588dc2b43861ba7d16e08df029f390451702cf38eccdec73abd989c6e46216078c85cb870f983cf311ce1eaa65997caee07f685e06ac51e05ef5f1269
 SHA512 
26036a48139178aa4609bc70371814543830385224c8c9b5c9291356ba0f530426062c69b9b2d2bce92d10d927fda9aebbf78324bad01793ffc59b23cbc4fc63
+DIST firefox-134.0-it.xpi 646160 BLAKE2B 
8dca9f809cded5193b34b9682114aefeaf27383fabbbcc94a46de294959e301fd1454d868e242355078a989fe6da83951ddc02d693c38f481fe172d7009a3776
 SHA512 
39c328508f6bb53b0688ee40fcf7e50e21ff85a397fefa1612edb284f2b7e36502984ff8e543398db4c8b295f2c1523f260e97aaacabe27bc8d987ab950ba16f
+DIST firefox-134.0-ja.xpi 704024 BLAKE2B 
76aee1734dced3a87537ae0f8d7f82ff74171a87c4f9418c3f69359fef32ed199527c8e1ea1259a070e421d84c62d1d57bbf9cb5f7f2ccf6704013e60720d6d4
 SHA512 
9b1f0c27cfc472a22aef82fb446c8ddf923f997442a1369575c98723b33ec7a31da7b61bc5744cdab40d1f7812d6768c5f6c47db9c1b1dfa1648499d84bd98c0
+DIST firefox-134.0-ka.xpi 711240 BLAKE2B 
8f221b7f4ea16e5e2fb3d8c2cb274997f95f21f9419fb9606fd4a7e8e245a971d4a7f825d97c6c04d2bcc9a7a0ef996980e5bf3612c9b68a0d69cedca90f4df9
 SHA512 
f2ca38b1e8ebbe73c37d0c009b1ab65e103175a69c2d42a0c9e1e27576f1ac7051f051f2dfc323d417c3cffadaded2a178b2c927975a7377fe4d42a7f7e73eb6
+DIST firefox-134.0-kab.xpi 626328 BLAKE2B 
fe69b8c014967ddc649ed98e17f56967a2449f9b7107e9603d6202a97a093e4ffaa04431ca83867348bda9b5101ccbb936e3bcdde063eb2231e3012f8e06739d
 SHA512 
76c6e9db97ebd1daec554e24ab48564281b4ad8fd198f5750c14bc94bbb40115cb76716e4f5a7b44d0b7ab2073f68f4ceee23f8b5a6c4425734268d19c21d2a9
+DIST firefox-134.0-kk.xpi 734784 BLAKE2B 
6f77c28fd237f8ca9634ab0ad9fbe820dc78603b09ef3fe796b9152c4cb14bdfc3d0189c97ef3a6b19cfba01025ea112d3d6f46bbc7c0a7dc2f7e273d2edc6a4
 SHA512 
d2e32e4a9d9e2ad35b5fab0ef79921d60dc62e21e51b792f9316e60bf77394354e13b480cc4248579a31f470ed307ac8e66921f8cc5ae59c3fe73b5e209d72cf
+DIST firefox-134.0-km.xpi 529770 BLAKE2B 
d684dfcf62f0e5ec777e8dba8c58cd3ea0f3be9c3ff2db58164382b0ee11b03591bdc50604fab00bdd4d266a6e73202fb1bfabce854b15d9e1e9590cfd6bf5e2
 SHA512 
a4624a5cb60041ba2b94c199a0f6a8e09c5ce29f577bec7a791afc3d9eed944f9e416801c88fe158a0734f83d48a3076495e146095b2fa5b2ff481af86fa20ee
+DIST firefox-134.0-kn.xpi 494779 BLAKE2B 
8f2e7d9ad8d67d0b03982738d3db00ce921befb54f1bb67a4451013ea8f583f91c79a468de37abc59c073f77667ebb3f7116edb08f393cea4591695c4dfb3263
 SHA512 
92fbc828362f09572fbf909e4b50b3bf3572dd5495f6449c622d6072d89f50ac095f8ed48cb7cb99c9aa92195ef033ec3fa4a44b21fbb13aa07380004aa20210
+DIST firefox-134.0-ko.xpi 688670 BLAKE2B 
46552c5fb5a08da2e25a15baab5ed5d64aa9964e93ec6769a532f7e8808f56baa74b3c402eb80196f176c4fc90ebb3493971e2e70f96caf2da9e6e9d8f36f197
 SHA512 
b82a3c0d9aa69afc94f8e74fe1021cc28ff1d2521f432ade955940cf6c24418aebc3ca26f169d57ae105256d2cb34697d256ce4b9fb08f448c6d90eacc6fee50
+DIST firefox-134.0-lij.xpi 488327 BLAKE2B 
9a2b0ee6328da5b1efc83be48a0cc5eea886df98f1f1bd55e9b3ded4eeec1ab5c2bdf105eaaad0ac547f3c0cfbb8e8a558a25429abb0bc7dfb8391e52a007db1
 SHA512 
5e405965493f3aeedbff0f06852bc1ec40c3ea9b440fd18a9de169956a554fe0ca0b31aeeec9840de49e223e1a87a446d9921e92120b59d7ccc6ebbc6a3134cd
+DIST firefox-134.0-lt.xpi 577201 BLAKE2B 
fa99bf93f7298e69381a4a986c10fbe203629edbb51c761c08b7ea40dcd9c6a616611096a3036cbeeb1c6c8e7fc8b6e272d0319c00be273c84cff934745d25f4
 SHA512 
2f37c3b318b1d5d985e32755a8a351791e83a0cec6215d02e435ceab7915d08afb06870f0fb272a179a63fbdb94de1c3f84bb94a679bb7bad66a7da29c85b76a
+DIST firefox-134.0-lv.xpi 590048 BLAKE2B 
5a8623e003c2aef172d0796433797e9eb510b442066bcb45cb6fec5002e63fd7b81056f57f10ac59c905cc274e011e30ec92df5465e734b4297741156b7543a6
 SHA512 
73099be1cae3f0232acde3063d8b9f60bc3f22876449ffc53ab19e981db9927f7adce57553ddb80b2efa31f3db14bcb37257583c7c83360a2d65c2fb605f80d4
+DIST firefox-134.0-mk.xpi 497213 BLAKE2B 
bfad1e6a9c919f96d6692b2b2eea7ae841cae24cb532118b177c0c3fb99c040e72da88617f42ead86c63b9a83b945958a84b6b39839b91e9dd74e5e1e6c94baf
 SHA512 
2d102dfeeb17d66abf6c2c40b35d99541dab01d64ff143d28da1950a1ffc46e99cf45317b4382fdd0a25de9db331589590ee7d8976ba50e12de5360aba0071dd
+DIST firefox-134.0-mr.xpi 536143 BLAKE2B 
be8b5a11105da49ab2479fec5fb15fbf7efbd7de6838c326515d296bc4e1bc2ea5c4feed5d65ac5de0da62a46ad33675ae027c5525c6615bfb2ace406366d523
 SHA512 
59d7555d590cbf6dfb855725e9ce85f6d033a0b3fb714b92e9b9a954868ed590df55dd67b4a45bcd1b5f4c5c029cc65dd7b7fbf7ec9f71d50668082f417f283e
+DIST firefox-134.0-ms.xpi 453846 BLAKE2B 
ede75605082be68e8965eff116fc19741cf338d987ad0c03dae4bdb441aacd2c5151e2fa8655c15937b7a69033d9f88474928ce60560872d71b812aa23db49a4
 SHA512 
15dbc9b1c56d97aecc79ebe99965b05238b37c127cdcb4c52035fa88d23b7ab3f8f5b97b6cabf9193c77d37a669a2d4de52e31a0796d801b0443125412d2de8f
+DIST firefox-134.0-my.xpi 522468 BLAKE2B 
00a9e7328968c4ed0636c0531b835b1fdfaf94f451ea297e1dbcbe05c5946adee87a5ad9d6e20af897b4f56de0ce964773fdd90ace5f6e68ade4cc36b46d04a2
 SHA512 
e7794350f214bd015896e5c8cdd4a24e02b71a2bb73ae2f95ef23de030c7fb2e9f70431c342a99e12d8899da164ab820b56011f1ac7fb2bf313d51ff879b2596
+DIST firefox-134.0-nb-NO.xpi 625554 BLAKE2B 
9ef2a904ce19d095acc49ec9ef043ccca21d94c79f84b69356e8f812f2acdaef768eed0922e688728d659701e84d09eeafc405363e931cfd30cb660bb3177879
 SHA512 
ee97217855b3cdc73f4d4529ffffcb570026becafbe542a8477ccc743475762af69edaa788278a60b9ea8d733a8b20bcc7a17f9303a603daf5a09585eabad68c
+DIST firefox-134.0-ne-NP.xpi 524811 BLAKE2B 
c1d4403220341adec278fc204b44c1443fc94b00158a3deebd4bc1a5c790c9706e2bd18d150ecd27efdac966c57a2c32aa67d6f367bb1b752176020a1a484563
 SHA512 
47e50fdfe3fd4921e4cdcc2fc72501a754d0e51d3e149cc093b82b9c4ad00e0e9951c83afa19b7b1e85e96923e9ec31f6dcc55f8b992bf742affe662fc153b00
+DIST firefox-134.0-nl.xpi 642841 BLAKE2B 
ed7bd0d0419819f3d9939b598328598de04b03b02fd3b4b65b2f24a419824d34640bbc51d8374de78db222120629768eaaacbafcb894fe83e85ba5dfba4207cc
 SHA512 
44620f7fef6c7c4c3e41a966aca5902e58c1f04401e0e1bfd9cfca285355d00c82d038be55d62ab0769b3be0ca81400d12c731c2b82e4964c8ba05701387cdb2
+DIST firefox-134.0-nn-NO.xpi 629840 BLAKE2B 
fbbba8a0590f849df7b17e1cdad0a088649fd57a81fd008bc72c3d0a819773966bea710a7d234b3cd272e0650359031485e6c8c64cc97dbc03e09fca98679209
 SHA512 
d73d2338a401fb0fe950f78bf080f5021bd60da33077cc1a525c3da8b8297d2f9fe28f6d20bb3c0786f2c0f19dc65256456426d646533d60cb2d8adc9799fe7d
+DIST firefox-134.0-oc.xpi 626181 BLAKE2B 
51e33ed53bc1e730867ada9498c2cc69a0a81ffc7c3d79c293e8c378036690467297cc33cd16519fd48b44214998ececda9c8fce0082227230ace54dff615d3f
 SHA512 
67e2473eac8176557dce11ffae66c68bca5597f79d7f6151087acc3c2ee79806c34582d6e2337885a5941bc20c5524db4b0d081d8feb6918aada10ee15564f47
+DIST firefox-134.0-pa-IN.xpi 723083 BLAKE2B 
df9a2c5a04add3716b31aed17ed44389a24bdaf4d174ef7d728a74d5675a68857f2ac5944bd608e8da56a8c18c3ff02f3ecb07b5b43c7734ed7a2bb16dadcf03
 SHA512 
7ff4909d046317a4ef6329a109061d771a054672fced6365ec2c2d7487f665b98ea90ec5f5a45c9410e1916ad0122f92828a3267ea829cb38cca90ed9a503a17
+DIST firefox-134.0-pl.xpi 661734 BLAKE2B 
0f83a5628415325aa808244c91ea7cd5483b19b5d6237ba0b949fb0ea4a2e4b42d002467d6d6313b0870c0decfd1b28e4969a94a136f9ae9c7a4cf719281b70f
 SHA512 
ad8329ed1e96be483e9a1e809fa4dea71d867e7359b13e24db8b71dbda908972ed456ed89917eb0af4fffc4e8c952bf2060bd96dc46a4ca980ce839463765ae9
+DIST firefox-134.0-pt-BR.xpi 647955 BLAKE2B 
8c8006f9bc32dbd1c24827be85af0be7f895a40a2ea7d7a2ce5f57da82381f3f919d132dba4db181c84fdc216ebacf49deddcb0fa290a4c64bbd3513f7e67771
 SHA512 
5a5613be6cb85e6e5175b7ef028a6554c37748f6439bc8fbcb7c0a92c94c7e0a21c1b67e1b6d243fcb533af9c5550435f4a19e132df98642d089c00318ab6dd9
+DIST firefox-134.0-pt-PT.xpi 654969 BLAKE2B 
ef28cfb5c6432a7a6544f689b2650b220f539bbae2ba8db1643812eba253168abb91be37679550155b090c3d9111a6636aa13879018c79aee838de6ad075033e
 SHA512 
2f6119783cd9c5f7c8426b9be9dfcf3856c465e63966d38d4863b15734de53898c00fde3896beb965845bc0df2a33089b4353b82ca812660efd0ef73256f420e
+DIST firefox-134.0-rm.xpi 644069 BLAKE2B 
4e00656d142d6fe2b47e1c37c44daf99ba49ef5e2c977fc4608dce721870fd18aae83802576e917e36cb8e1036ad8784f7cd22d37ef3da2dd961d56f3c87ada4
 SHA512 
5e95251b36d4ac8cf36307c2fefa6fecdba532177efed439d12f5492aa6b3114b2f13c31411ae38a7e05e3f15da703c4f06f3c519309349424ea4140ad59317d
+DIST firefox-134.0-ro.xpi 554204 BLAKE2B 
152690cf27c8b66b1201ed2d5158ec466a2954cc94ea39d6781811fba05499fd127e9b0ee7fea54f48da69c183d91901e39f6e01fb124b51d0bfd0b002d23737
 SHA512 
a498a0be99a01ce8c70d099e32c25f1b84e9442fd940d288c2037e646db8cd408c7bae12f9a764759b04065a47aa455e5da7f9075d3e71e3be2516d19bb62cd2
+DIST firefox-134.0-ru.xpi 750993 BLAKE2B 
c1696b5da1d593a3439a27ceee154b12db6256c53cd45c29a684a2bdf6b4bbd3fdb8e70f76d488f8c5653db3875aa67049acbee5d10857cbc7ac9324280a0d8a
 SHA512 
8777c13f33b6c6cdd8a051fdd1b4671a77d9e8c74754ad16129f28042aa5ad44981eb2859b1abb9cac6b8caab8163d0f4b909a9817b52395b9c233c817fb7451
+DIST firefox-134.0-sc.xpi 602167 BLAKE2B 
a6c567999ff69fe2ce1e582bf1832ba9e5e96d522acdb8ab93dbfeb70131d9b241d71b0a1a16c18569e754c2415d6241acd4b2753c9da70b90334e9c42113403
 SHA512 
a4ca14be44f2b8ded0152b9c5bcffa710dba48d21f5ec96c47251e327b5cede1965281d2006c3ef881dadb317fcfa0b5bf962227773968b856946789a1e5e68b
+DIST firefox-134.0-sco.xpi 515423 BLAKE2B 
e1d0654918a714460c2790717346c469671735a07f330fcada32c4947991e7b0da93e497eb0e80d893f03b12097edf1d71dfed5cfa46eaa582ce8de73bcae4ad
 SHA512 
7cb519be6f4c23b311bf3423b69895c19fb14e6fd372a2b75fabc7ea2d8c63cedf42f28f3c6e61f37db47879ada678655238b223c21686d642a8cdd6cd80dcb7
+DIST firefox-134.0-si.xpi 626867 BLAKE2B 
077c7f1fc1320669968eaf605c6614799f6b2bafcd330b3f489a0624ff25e831a7bc38351bbb5adc0de64dbe04ced481f1c0e7a78ee45e868b5175fc8063f161
 SHA512 
b627fd841542107b098e4c6b7e705bec76f646e1822a99ed70daed8a5bba0048d9092aa958d1ae73bf7a41ff3d5fd74490d0b973e448f9d10091fe83d8001014
+DIST firefox-134.0-sk.xpi 680487 BLAKE2B 
c3dd9a39b74231e0af76498557d770898ba4620f95f144fc36d53d0ab588b350ca3eef5b8071764cbcdaa5d6005c23309d5bed497220ba8a340ff8582f99b1d6
 SHA512 
55b3c48e0593d0902042557245c5f2747e3796b24e5bdbf5bcd7c22a7c221684147058daa599eab3d0556fcde28620d81bbdb24a2ee874e15414ebed39f6384c
+DIST firefox-134.0-skr.xpi 727787 BLAKE2B 
43539ce890c628d4cfc07d5169de790964f1a56ff17b7760e08e189c0de717f6a7014ce94176e2cf3539067b2906ba3415f183d3646499e77d51e0b3f9a91077
 SHA512 
2df6f26d44f1e0fd8b61660b2e493c5f6d477de708b86a08d425b886c4973bb92a4b98d18f66a9e2e99966e47ace1c2a2f143ae82d3681a2d37454ce5cbfd91c
+DIST firefox-134.0-sl.xpi 647162 BLAKE2B 
59c456d0a606323663d03a7e76344ef8c5b7d909535017dee9a711bddb8672e1df23f10568ae5f09d49547dd97b4c03e28546bb2a13f3b45b706228c125e25d2
 SHA512 
c23b7540f60ccd69db8a462d34747babbd825ef35d0f68d72a1ae329889cfefcc0916ee7ffa6aebfd4cffd757a2ba6f1142cc3ee2a0cd95eda342fb947d9cbc4
+DIST firefox-134.0-son.xpi 420277 BLAKE2B 
dbf934e75653ccd7f8c7f987b5640aae1891c02a07baf0718e7cb0a633f20b079d910998242ce37f0105650e3a2777bc1f1da7fd46d799839707a615df060ed1
 SHA512 
9355c045bdb761e66bdd7ccb131993ae073015d9ce80712d64eff9fe7c27a109308dc14e6090103ccfe75c4d375b3348688cbedc47fda69cc6b13a95ebcb4239
+DIST firefox-134.0-sq.xpi 665689 BLAKE2B 
7283bb5bfee040c8404bb60b3a4bec4a420ce9287719cbb22c4f596b7b00f98b7db25292c69017c92575d1088b7819946db20b0eca69d8bb6a2d67e44573485a
 SHA512 
f1bca9246daba492d5e2ffb29781cd299eda64e4944ea885d1b25a8b31989831b83f830021862431ec5828c6bc35154a359b388af3dcb4caf8a28b0e3506e753
+DIST firefox-134.0-sr.xpi 676512 BLAKE2B 
5052293123365b0655010824485aac2188c41acf68593469970596350de7db000f98043d32f863f7032253ae1075539178dfcdce8c4411175a15559335737c55
 SHA512 
6ffc9baf2fa80bcc61337c75b28f77b9e5c9915dc8c4ab3db3d968be0f80d6f5cc62f3e3057b5423fd158b663066a0f9b938763548c8717182be9911c5ba9fde
+DIST firefox-134.0-sv-SE.xpi 644572 BLAKE2B 
2473d4381cc01a331621950916badbf6e8ed441f81bbee1f91fd86e218df50be1bc0c33a9f342454731072be9c1b39a05b0cedb1811a39c483952a676f471f36
 SHA512 
b364924165cc1e463ccb572ef79cfd2014352ccd4ed73d09215ce977f9682f0cb1f7653bcfadf26bd8f73eb1cfa9c7edc9509c1de19620eb3b7400b10792ada5
+DIST firefox-134.0-szl.xpi 530484 BLAKE2B 
cb68fb9eb03a1b2fae3d3359e9912e6317f7487709093151bda3270d0f27e803c21975964e02c424e7fe7c9a6e0ad78c3d5b6f8c7f73bf1861d1174dccf647db
 SHA512 
247dc50b03ee0db9773ccef63b69c81494ff9f68d9a7958730aa466ade17f1d01fcf186e9619767c49d75eaa8d9726ebf7b4f03c3fd24e820b8e4d2b53a4222a
+DIST firefox-134.0-ta.xpi 511223 BLAKE2B 
923c419aa600a129a26a4b6ae8f25a19b17804ba3b158904488c5fd072eaa04955dc74985f00baac68baf8583ac82b76607167873c3d86dbfc3ee76503c9208f
 SHA512 
6354017396ca9b0aa2c7ab1922194b6406cb14648d96c7dce53f6d59933245e21292009afa8154358e82ee46da98caec94c6728199cfe5af18fc6013911129ae
+DIST firefox-134.0-te.xpi 575374 BLAKE2B 
a6cd392aa090ab43c15a25547dc635cdc2515342d4e71c5107c8dfa584861a50615bfc9604439595de43c66878df45617c6f114fce42136cbc3f3a690187330a
 SHA512 
a4024e7e9a7301b93ffa0e19f770ab2380db675802d7ccb55f709d7ebdfa11188372b7eb8a83a2fcf44260943572ede7ea53823300609bba570151df356f732f
+DIST firefox-134.0-th.xpi 727737 BLAKE2B 
5db06b144fd0dcae2412ed238c2025e87069972057e6e00c27cbaca2c6864537bbcb0a527ae0f220b7e5a3e9faf02034733a29f026e75be4a95b2aaaadb1e3df
 SHA512 
f2580bd7fdce036cfe275d1bd0a44b31e93f155faccf980a4b662acc2b6daf6dc463911888d7a786ea107a0f8f986aa7999d792b24f908f87263b9ab6a5fa660
+DIST firefox-134.0-tl.xpi 538552 BLAKE2B 
15ee6b545f884659252025d983339d71498b258b50062a1ecf6f542697ae5c4556acb7ee898471ea530c97e6f754180cc010f91ec50c9815829615d179000c6d
 SHA512 
c14a59836795062f96059b6eca08b5b46dcf056bc360ddaed6181fa06f80aa8987955204b42da81b4e850816df265b50843e7b920f9e750f2f8e6530da0e16b1
+DIST firefox-134.0-tr.xpi 656854 BLAKE2B 
706941944a18ea03de340e471e418d4201058105cba51a6eada0805505dc8b17df8d62bfb95209fd8de67e7500106bb132aee58f4484002305cddfc2cafeb6b0
 SHA512 
f8e31694235fd77d5d1e3136dd3a53ce4680c07b3c243a0d70e2f32ad98801c3af7c417de2d129fdb170238e6b55499f213d4d6e2b7437b1fab9f6743b1200d7
+DIST firefox-134.0-trs.xpi 507813 BLAKE2B 
7f1fb796821aaf37fbf7052163fabedc57453f9cdbf2c4521db48e3fbe871dff6c2e873be091923073703cdc27668f31d13fee0ae82045f8dba4e7805af94d96
 SHA512 
9383f0a069e47f5ae6959df6ac026b69d074a7b163ff5c1f3c72861d558d0bf9ae0d280853414d84ae5d7b6f32688d134f5a5db0b6b27720747913e0c967248f
+DIST firefox-134.0-uk.xpi 742077 BLAKE2B 
bbc0c8813459ba0c0f54fbdaaecadc9c729535b896005f6d2947ca9ba09233e7507ff026579632604598e768d396fd34ac3291d25a0ad56855584b24ccdabc85
 SHA512 
920969f555f31fef82325d8cebd213a59c7b0d895044538cd34e5eee0b9f688657e76e9c0f7c6489a7bda660ff6747a7902515734277adea2a7939ce59a56d96
+DIST firefox-134.0-ur.xpi 564382 BLAKE2B 
90aec1224989da6d6fcc88e99416a02b84909bf018e594a09082fbfd4947cd9afd649e83b972a72791a2074ea4e01b93997bb6022dcebfc0c5987798d49fa2b0
 SHA512 
e1c354defed3fec88cba9869296ac698d380c7c4450135ede9409c0c049bba0af01e774591881bfb1a71536361e2d4c82e67848138a37cdced3bac6b6f4f37b4
+DIST firefox-134.0-uz.xpi 482831 BLAKE2B 
e9bdaf98797a83b71e49390d7f5a048158f771734d213165911160550d5cc092f4701922ff3ab5c58ebedca88ee45a369977d6ba76249797061987f986b694c5
 SHA512 
ebc41f4d9e12935d6d815eb782a41e7ebf8e237f3e0d3896f5330690b80454f00c36d3f067be26b068913bad93bea876a7519f557aa0c497298c6225a0b99161
+DIST firefox-134.0-vi.xpi 683428 BLAKE2B 
b734c15bfb6712a665ea53d27c6eadef985c3c40235b52d4438ffe8c3984b387468c95e4b1671ed179377d94b71eb60e7275520806707b5aed19ccf14cc044e8
 SHA512 
4e15d75acf84a780bc34cf11d78a0568fdae087be441870df82f8fbb6f99f6bffc45763542d5fd8983b4410d7c10d6c900730c7d55b3f611c2b302e71dbb8a83
+DIST firefox-134.0-xh.xpi 421002 BLAKE2B 
d491bfa4f6be41b9403e13e0c1752878222a0d8f6eb3a7466e19efb217a2916143beedaab4512378811faf733d2ab39e9355e4bdd7c45333499be970333b98a8
 SHA512 
2c6005ba3716f6124a4baeb3210b2cf90ee9dbc51a1b3ace99dc1a3b72d3142c6b62d91363be17629cc0819aba23ebf38fbd53eb37b929e04231eac52436c4b2
+DIST firefox-134.0-zh-CN.xpi 684492 BLAKE2B 
e0d23ae8493c56b890e1390e6f472cc6d8921f296f0b792fe7c4dc82c3af465597152ec41adbf819a5a775af8f2eb486f3a62c01de246dbadf106926dfe855b4
 SHA512 
71486999caa8e8a3f8b6420ebe97111855b132fe1f1837ae85af112cb5a30a6b264bc659060f9da48aa7c7745515dc30eb05e44b2ffeada09b5885e53231e443
+DIST firefox-134.0-zh-TW.xpi 686751 BLAKE2B 
cca65375ac4d4569873a79d331604c88022b9ec8a19967d5faeba855aa89092830cd1cebb16d45aa8135bf38fbdfec53c69a307e79965a8ffc4c308ac617aa56
 SHA512 
18d9b8025eb99302644b7a2c535e750414e0f419886c4fefb517403881798bc66aa5084e3878b9e37aface79a624c725a62f3b00a89825ac061ff2469a704485
+DIST firefox-134.0.source.tar.xz 604421068 BLAKE2B 
599049006a65bc70ce7a43b8412a260e033888609fefdec33a7aa4cf5427e0a89a725e6a74b396097a9263acafc9251f9a54294c666af1f7355c66ffeff4a007
 SHA512 
1275a686dc0a27b48df4ae05616511512f676e03474e3095b2521eac25a385d345aa3e8786716dbe812af49e07d72b32772479089d648968e2004ca0c9c35344
 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
+DIST wasi-sdk-25.0-x86_64-linux.tar.gz 114450290 BLAKE2B 
07618828d4c25d67421aa72d38fc49bbff9052b8ecfe0fa9f4207e71880e9c650f458567cfa5bd389d5f830fcfee89142a77d33c29e7bccd1da7ddba2bc47b95
 SHA512 
716acc4b737ad6f51c6b32c3423612c03df9a3165bde3d6e24df5c86779b8be9463f5a79e620f2fc49707275563a6c9710242caca27e1ad9dd2c69e8fce8a766

diff --git a/www-client/firefox/firefox-134.0.ebuild 
b/www-client/firefox/firefox-134.0.ebuild
new file mode 100644
index 000000000000..fd8ced9e760d
--- /dev/null
+++ b/www-client/firefox/firefox-134.0.ebuild
@@ -0,0 +1,1373 @@
+# 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 rust readme.gentoo-r1 
toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}";
+
+if [[ ${PV} == *_rc* ]] ; then
+       
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}";
+fi
+
+PATCH_URIS=(
+       https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
+       ${PATCH_URIS[@]}
+       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. While I hate this 
REQUIRED_USE
+# constraint, it's either this or removing llvm-17/18 compat, or having 
upstream to patch
+# clang-17/18 (not going to happen ever). Luckily clang-19 is already stable 
in Gentoo so it should
+# be widely adopted already.
+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/metadata.xml b/www-client/firefox/metadata.xml
index 0d8cb0c75363..8508735d5c7c 100644
--- a/www-client/firefox/metadata.xml
+++ b/www-client/firefox/metadata.xml
@@ -38,6 +38,7 @@
        <flag name="system-webp">Use the system-wide 
<pkg>media-libs/libwebp</pkg>
                instead of bundled</flag>
        <flag name="wasm">Sandbox certain third-party libraries through 
WebAssembly using RLBox</flag>
+       <flag name="wasm-sandbox">Sandbox certain third-party libraries through 
WebAssembly using RLBox</flag>
        <flag name="wifi">Enable necko-wifi for NetworkManager integration, and 
access point MAC
                address scanning for better precision with opt-in geolocation 
services</flag>
 </use>

Reply via email to