commit:     c2ea9974fabd95a3fa202aeb821198ee2379f336
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 19 11:46:54 2025 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Feb 19 11:48:18 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c2ea9974

www-client/firefox: add 135.0.1

 - update two configure options,
    --enable-system-ffi -> --with-system-ffi
    --update-channel -> --enable-update-channel

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

 www-client/firefox/Manifest               |  101 +++
 www-client/firefox/firefox-135.0.1.ebuild | 1371 +++++++++++++++++++++++++++++
 2 files changed, 1472 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 4aa31b43764a..e634484cfc8b 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -201,6 +201,107 @@ DIST firefox-135.0-vi.xpi 463945 BLAKE2B 
b0380f28be261ec67d15c1c5207dcb9f6d19f49
 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.1-ach.xpi 297495 BLAKE2B 
9266683415b54a5111841e2e1ee3d7806cecccbc0d18a81a6e28096d12837d562d86a74bb9a586c5f8d053109b4dafbf3607c7a86eaccb26a880f4160de9af5e
 SHA512 
2d6b6a628ae62238ef441bc529d1cb93dced3c0948601829a7112e1a77278b39a5aafd3f8514d7a1a72d200751ea108265790fa5df0746cda9150212455a47aa
+DIST firefox-135.0.1-af.xpi 269123 BLAKE2B 
58f1dd6c9351dbecea9738edba9f7fb9c686c919d09bb2d1f94e94d8404e26966c22c898131652766a81d628a510e82693c4fc06c4fc3a19339fa45ec138695a
 SHA512 
843d2aace99f2a429f481e2b13e8aa9cb73892bba6fbd17c9479c0559a83d608b4e3ac91de6b76eb8e7b76387222590470a57fdd3c674cddc77c5f22d8723b22
+DIST firefox-135.0.1-an.xpi 336071 BLAKE2B 
e6c9c1092a10568fe000bdf7cee6f5fea8151c7a61fa0471a799b75b1b89fcfa6b7b80a448b7b5554d867d55787ce2ca4e608a8d91bcc00cd454eee3a73fc668
 SHA512 
6c6e96d88b50c0e823b749b372ca00d1c52acaa60dce832dc465130dd7fe2c5b6ed99feaab955afeb9afa46e690b49de280febee820b09c3ecb31d3b8a9ac2b4
+DIST firefox-135.0.1-ar.xpi 431824 BLAKE2B 
0a3d72ba3d91cc7f5b43ab8123f59fc86acbd59c545e2f72661a21fc5c6590cba47398630d652bc387102416ee6ff735ac95ae34685be31bd19f70b01bf0e8c9
 SHA512 
c087d2b5e5962e1d5e5b2175759ce610764f58307773e6fd168e59d627cc5f8e89883d1135bd067926012f866b332255e42b5fc14f5709ce4a29f5900f4eeb30
+DIST firefox-135.0.1-ast.xpi 315338 BLAKE2B 
460177284538b48615a99b6b3b0dd56eb03600859b54a61d5cff2cfec675d57339e410567293c19e52d2269cc22cf66fb6db7d0bac9fdd6355b5bd5ff41cdc10
 SHA512 
c9ee6b6c32000934f38af3a4ede238090ffacda2c30de60c22aec15521df312acac657da3d4fd57f5adbd0e579cb35ed6b804f172b752e5a73e74d190670bffa
+DIST firefox-135.0.1-az.xpi 322596 BLAKE2B 
8a03d36d7cbf4c4ad230b69bc8cddd67e3ef6b177e26f0c231bf14e29d8d94c15e1c877ff223c5a7a3f4b9f49ce878df34cf615706ef73f2d96e7faab1d6c1f2
 SHA512 
3d01af7242259130f910aab49052be50881916f3c05a0d9e4a8b7976752b3df65fb02889f945b73c2eb7aed4f3d535310a20ac5a26ec14dbc51b88decd8dbbac
+DIST firefox-135.0.1-be.xpi 514712 BLAKE2B 
ff114ac03e2be2fb2a149aa6c307e23a4e39e0a64c40783d7c583b21e966b53a3681c2ac150a83519b225cc4db9117897ddd4497019a1d2043192b7c99782bb5
 SHA512 
7d84ac22f9af24aba0dd8a48b431f48b028aa46800fa57869b5274f9408ddb4171336d0b2537a96f16f5c98f5ba39f2df880651fb9238a2e2875283891b96122
+DIST firefox-135.0.1-bg.xpi 453358 BLAKE2B 
b688402d2a4a600da7c7a2aa4f5ea642b76633ee48dffef27c7e26ffce150692c5fa48461fe2a76def89c942f2b7a18fee1f619d37964925cf82e53136dcb80d
 SHA512 
300511d7f2fc8ed9b4c414fb007ee28d203939850e59443199b45f33cc3af9197e34bcd80c8ce8fe2470980fb2ea2f79bb7e0038e3715db51463ec9708568958
+DIST firefox-135.0.1-bn.xpi 417335 BLAKE2B 
00b31caebe399b29cb4dd280db466ae693d6e82f4c2b9c353286d789cbeab9da510292e1fc143132160f539d1abbec28ef6e0de18dd1a4e7b5f3ad7b94c1e352
 SHA512 
1cba778fe76ae0a85823db02a7c11e4bc98d3e685df2cd6ccaed456e3b0c61ff0f05f219a86f0e0117eb77b4a430a8609804d7ad1a99a3b6c69f3a2161419629
+DIST firefox-135.0.1-br.xpi 397374 BLAKE2B 
ecb27ca8599a49eebcb6d32d2f3cc69142f6c9ed35cc5d8dd3ff88968998b7e57c40c9d24bd56b3eb99d30efc50addcc060ebe95bf67bf0f2d56e5deef0ff430
 SHA512 
960a87d068b71a09901faf5d5f24932ee8864eb1ac7afb6b2574a7229c636e0080882a46dcd3bbfaa802f53ce1ca114c059ec3104bfc19f86c866f19ef09805d
+DIST firefox-135.0.1-bs.xpi 368182 BLAKE2B 
32c7d57cc3e3b0e6faee5bbf820de17175783662f5bda22bd262dbe9d4c0c7ff22f7576befde51524c8079d109cda105cfebbc8410bbbd0b9b363ab44bff4785
 SHA512 
0664c1707c277ce8f398869770d64fb3ebc538a98d350ba5cf19b54647c3fdac54d7c43038e1ff4598b92ba1b93a94ab03e6a12b1fa46efa71f8cf0727d27479
+DIST firefox-135.0.1-ca-valencia.xpi 362547 BLAKE2B 
9037f81892f6c2ea9a0f92065d73a753a4f3199b4e8487a133f57f825e92089716dfc5ba6a4688d18e371fd4c8156751d18e050022156c8f336748193762a1ce
 SHA512 
6019e84d39e78248ddffda6a9ec97eef037d41a3007d3085c0c03c9a820dab2f91ffac282e26a8000b209f412339eea1601ee107cb140d21dadf16a4ef47855e
+DIST firefox-135.0.1-ca.xpi 401642 BLAKE2B 
5aa9767b87b889d0fb5e0495e5e792538de95590e0e1fa003865b1b2996cdd76f60e2c2d3e91a81afd75afd4c2d91e9f32304dc2e91e2e5c2bb20cea2ffb992f
 SHA512 
59fd34eace6169fdf1eeb0ef7d8fd27105912b0e731bae5123216ad8986490cdedb6ec92aec1448bd57c1d5df9f7b5683542cf9e4adf3d34ff22c038f712f943
+DIST firefox-135.0.1-cak.xpi 397003 BLAKE2B 
092cd57e297ab8f5604ea5f1fdfc8a5ac695a8f9c9f4452845f63155085bee2e2cfd3d5e0b2ec07793c0f15c864e36ea3f81fc4c02b9ffe38a2f29234c427856
 SHA512 
b6bbcada750ee386db89920443d9335ecd9824c0c13b20d1e76033d6d2a71c2f5c01b51612a5da9f141e42b0b280ae313fc3c4f59a9691e994dea6336f0a9cc4
+DIST firefox-135.0.1-cs.xpi 469979 BLAKE2B 
14e92a3bdc5fcb3eecd38b6cec5dbc5b990fb4a219752705e7cb42e64dc383f9e78f608471e2140e53f1d70e943f9e3be2d2860a52163415ad851a6afd5d2b98
 SHA512 
6e5cb4450f93ba9f3c789b4c546020cfac3d7270af7c71697d383c7d27484a6c09b05bf4bacafc143365c1a212538c8f57eb72393d9ca796b7f0f9fc191e288f
+DIST firefox-135.0.1-cy.xpi 436428 BLAKE2B 
ff2ffe47894657fb8ca1b4fbe0bf3da5fbda85a13e24a62ea7286ddff0f63ad19aba473ffc98a0901475a94b3b74017e7f296f92985ca1a9bfe1b58b0d1be025
 SHA512 
090523f30e1db53b90e169854790d620164df229be56c3ac777bf775ad1ae341d23b62c1a07dc9c31fb7c41953bf7ce8c7e4ab1773bc9b3a2627220dcf5988d5
+DIST firefox-135.0.1-da.xpi 425956 BLAKE2B 
1a58716ee9bb5be47beb8326d4e1727afba33b576243109f1fc52c9223438058c21da2d2c8015d453e113885653d88597b2dc0747464d78b0ef87fcc7942c0b9
 SHA512 
30011d5be22d6c94d9fcd97cc4b0b6d8c60e7cf4ac2441a5c6cb2aab36c8b18ba1542f4ce2e6d318ecce145f9a6fc2d335553a621611a8068bc0f7c34d418c27
+DIST firefox-135.0.1-de.xpi 447590 BLAKE2B 
7fdc258b87c6748360da15dfa8c0f7e68e7c1b3944f3a416cd90c6e5faf1cf34dada37286f7822ef70b48a0821b573f25284ee324771fb2b98a848e37647a5eb
 SHA512 
34837a6d94a037047e4ed6701acd4fddfb1a45d7f956eafa0b4fed489d6f7fc7adac1c98cb1bc354636b2f24aa24312759eb6b2610aecbb4e7ca68e036879d3f
+DIST firefox-135.0.1-dsb.xpi 460611 BLAKE2B 
f2dd2b7f96609cfb31d84a6553857c2c3d78109a0986ee59cd140cd8125110c93285e0d1a4dfa5930e1a2f2f292a2da2a99893ce02a71b4e9f3f6970dae3e712
 SHA512 
f950be6b66594450a0254e311ca04489667da0751fedbfef6b8652ee063a4c3d96ae6b158d4b2ad5779243082c5f3c1bfda1ef9516b193c74efef1f23c6698ee
+DIST firefox-135.0.1-el.xpi 529586 BLAKE2B 
e98d15c3944e9c5db3ec346ab75abee39f8841144c5b444873c6d582e3e6421952408393c2097d0e0f75b3b3d863bf301ea854e06ff3dcebcf5ed543fbfac24b
 SHA512 
4618ea66047396bc891f58caaf735e8a0314efab6dcbde679e7a2942efbb09b55fa3a768768540e75bb692b2211f32f85c11a7b385f60def895536df30f74d3d
+DIST firefox-135.0.1-en-CA.xpi 406583 BLAKE2B 
0ac36eeba4bb46dd5a69009f6c7384d7f2c6ae42fb6ac09cd59e940c1646756fcfea57ac224007ad144a8b556f3b40a372be5fbf4df3dd0f37f038c71514e4e2
 SHA512 
b86a7fa7eea4848523da3e567a34c2ea01123dcdf474003960ff9a08ff0d33473d0fc93ad93bd2e62c611598ade59c509fbb99a12c9df1a85320831db8a16a8e
+DIST firefox-135.0.1-en-GB.xpi 406886 BLAKE2B 
6f757870cc30b5ee97dc5510b09098b9df8729a426233d78c1cc69bfc0d8a708034ba63c6d579033fc6efb8bfad5bcb980de29f1da74ac4034154b01ca2057de
 SHA512 
1895de6f494b67015b574fd9ab6746163c99ccc51e798ec5c57beae6cbcc41cc18f49db077bddd73db0dcd9abeaff9cfed70197005ca69c9e4b6b3afaae29f04
+DIST firefox-135.0.1-eo.xpi 428450 BLAKE2B 
1c73a84b44f57aa25ed2b0bb50a6aa78770728d0bbeccb0b88ba6af46bec41f20c1f3999988101bb07b627b6121cf7ccc62ee4dbfb7eb3855e91f96b2e31512b
 SHA512 
4c9597ce465df3f0fa27bcb1983e1b944ee86cef1e711921a2109611f76da70401ae6577f623467bd9c3965ede21b1860fce1360c0711761e70f7323fce87dcb
+DIST firefox-135.0.1-es-AR.xpi 440560 BLAKE2B 
70d60a45c271f07b7b8c34e28b85e3e1601a8c906200f03e0ae560014de174dd6b39bdb68a7971f1363404395621e83c45abc32c2c87b71c304efe95a647b4d3
 SHA512 
cd1e05b85ebadd395cf2bb3cea696b80e07596637ff4c972831a765b0bdb25304341acddb15b88addfbc06c870f34eb782d5fda1bb99d664758143846b66f80a
+DIST firefox-135.0.1-es-CL.xpi 441044 BLAKE2B 
777257309922a275a8060ce4afe0d2f7cd7f5514eb2a49a970c212aa3c1738322d43459206705279fd5bc49df360abd50db42a03d33b7140547437bea164d4f6
 SHA512 
65b9b8fa7112c95911b8d65b04701f9c96fe3ac2d7706b748d4d418c68c33135b2a62de95f1bc541be4bd84ccfbc4d9bc23b3bc04d9affd643a6b41069782d17
+DIST firefox-135.0.1-es-ES.xpi 441889 BLAKE2B 
a0e2d1b1d10503f15bb0d124b4efea91bdb8abf7f3d80679a75bc2c920428dfe97748a140533e9a2bd28659df8567491a3656de2083be5eb2d5785e9855263df
 SHA512 
c335f20d2aa8bb77a1603bdb1942d8dec0ccc5d7db8fd05a983b07ed1ee11d0d08c9bf9166723cbd995bc63539e7d33b53d95474a9d0a046dfe567273ac5f548
+DIST firefox-135.0.1-es-MX.xpi 444247 BLAKE2B 
d49ee5b9a5450917653968a286a51d1597050f006b4c30bc4e56d6e3d37928386bb823d4527d81edddd97450ac07ff1ddb96bf20648e9ab1a009331d2a46c72b
 SHA512 
36b8c87d83c111db98c5af825050da84f0c3c62b4ee111a8ed37fc0744425c347c39a9b816b4c535cf7b9e3386112aaefb026e095354e3885be9f1a9622bd02f
+DIST firefox-135.0.1-et.xpi 361088 BLAKE2B 
15fafd5a270ca61cafcb7047ee1405372199a0bd2f2c29b391276bf7d9d658c54b60a60c1be4921b07a611e39dfb717872a271e99b8a001dac96e6c1b6e3dee8
 SHA512 
3be02b3ddcab6148be52ae0506a112c3b6ca978582fa144df60f6a009e5bd17cc3192857830f3f1782fe18c2b331c3aa983ad8befb67e97a202d1448e370c48d
+DIST firefox-135.0.1-eu.xpi 413623 BLAKE2B 
0f8e0fe544583d5d978c850c996e767001ade4799c8929dcaa47aaf4695fa6d4eef1c31ae3bddc8dd55cdc0ef74c54831fa1e7628a93d7b9535574e3c3ea2a39
 SHA512 
5e1e0aca247fac0c4b4f2df65e66a972518cc9fe681690ed0d01892856faa98068ec19c739b0a2c90c43df69fcfcb8de59cd162f801e6d8c59cadd676c534c21
+DIST firefox-135.0.1-fa.xpi 417965 BLAKE2B 
2fdaae28aa78d7e2f6988e3bb379c6706e42fc848474567fa0cbd92b41c97d818e90558dcfedafcb84c6fac3c265e14a2440e0d02c97325c7b3d6907b8215589
 SHA512 
6b0e35cf3a072618b7e2d27f1c95684aee5ddb7f338349564c0e9a474cfa72003fa5d33213fb1249a3223e3ef5ecc3623475291dc3a9fb288aa087ca04e1dc1f
+DIST firefox-135.0.1-ff.xpi 313586 BLAKE2B 
84b015aeafecf3bb2eabff7a15f41af22a05220ebbc7907432bb0fb9ac6bea135308f6af1da7e925115c5c091ca19fcd3c6da7aea26bc5f0782f585ca5834826
 SHA512 
92177c37715c76637d390119d463699ee8e5edec72655685c1179beaee21f81e647c9d4aa45c8431d1853e1148d50915c28eff376508a23293b9dc27dde8dbe7
+DIST firefox-135.0.1-fi.xpi 423828 BLAKE2B 
9a3cc6dd45632983dcdb423aaaf8c804c8de874f8f64925e3d8f60998bcdc079c4777a83e1a810c951e0725a666a22e20fa2e34ec45bff39e2f16d9da7a05ccd
 SHA512 
cd14278b566f409cd2d7c8f670cccaae5c95e9220a7bf0d6e22db331ca6246e8000fc0914edb304a8153868ad7c7f004d547f0af2506c7ca0366186ab84d4b60
+DIST firefox-135.0.1-fr.xpi 453308 BLAKE2B 
27fbb222b3d7b0ad625b75e2ddbaea66ef71df35dc743aac0117839098612c4cfed58b0869787af59c8bcadef8539b71697b343da8842a63455443a78b5c81bf
 SHA512 
82121b99912b99892c50089ea91d62834c9341382c259611782039e00ad604e6915c041185a6bc641dfcbac2e75e3395cff35149af38dd66039ce00652bb1623
+DIST firefox-135.0.1-fur.xpi 439820 BLAKE2B 
0da6b7e3e37c4ed48b68a59884b0b4cd8346c79cc6405de443a080713aec906c7e15d84eb7b6d88829ae74919b7f499f0ab46149aa1a2fd5d11b9aee18642014
 SHA512 
960da85aff1e687ae9b92b4f40bc7a40d45648e36c707f58212a4ff8130c956894f2d258a4dfc4f2bf3fb7c5a6406ed4ea98a19361650e75ce86ac2f177d61eb
+DIST firefox-135.0.1-fy-NL.xpi 437080 BLAKE2B 
3e0e3c5ffb2439cb1a617b8b65c75ca4763a7332122c13867e8072a1d22c171fcede6a77246e1b44e0e24f9db5d6a0bf4ac99472ca66e0fcc4f136f4c922dd57
 SHA512 
51a4801672886a522e1ff2bcf339756efd90ad9cf14390960437bca6af6e0290bf3c308c2904c04b8268ddcb185fddb34f5e24482fdbc68b5f19c10caaca4bd0
+DIST firefox-135.0.1-ga-IE.xpi 309807 BLAKE2B 
bb56defe64d6d9c5e2157409936202221fb2f196f6271d554b02db0c761e91b2c101eadade42e0496c1c32bf1e30688a832c1924b4ecd295eaa5f45f589e2554
 SHA512 
11c6232163295ac5e26bc52146c3e10757f55b0ebe6be1ae0d7bfd7434afeb96c9a32cedb9bed9cb6d46771044757454e76bf0f148f7241a57461eaacecb9039
+DIST firefox-135.0.1-gd.xpi 405581 BLAKE2B 
586f8901f2af14682425cb3ec608e9cba10bc64874172eb0e8c4da5ca030546c71ab8d80dada521e346c7487cd5aff284c689a131ca071f60be52d7b5b689471
 SHA512 
abed8f156600cf6cb7417f75f7b17beec4c597fcee237ca794fe846d9451dabc6e739b216af451336a97eabce1fa3c6dcc60fa2d9dda05e13203fcb9b48515b6
+DIST firefox-135.0.1-gl.xpi 408688 BLAKE2B 
d144b68c1c35efca8d790ee6ea9f6d3a49f5848a7b237dcf69e2a89c096b619b29429feb6f017780f74d784ed093e45e32d75d444edb8e99c061e5a4a3434843
 SHA512 
9455a57fefc51b6edbb78093243c2b7a3af14d1cc69b9c307d4333ab212c70d0a0bda2ab0b910a19417e035d5926b8156cbae8aa44d624b1f20914352d758808
+DIST firefox-135.0.1-gn.xpi 444174 BLAKE2B 
0d8a2c70b8013b93bc59f724758f56952b000410474b325c372c5536912efdf86b93920c1106bfa9ea31f691304f6a2e95acaa7be3e6e149b3719bf59104f363
 SHA512 
dc20cd41c73f2afee993d622e78640993304a31f2abc72b0345aea68d1c991821d7e37c43571f859204dc4a83d368f1025a6cc45cac864afbab635bd7865e8cf
+DIST firefox-135.0.1-gu-IN.xpi 363078 BLAKE2B 
5eb316e45df8f2536a9e42c204434488bb593517c6fec22f559b474ab0b8300c0dd549d091366c39b289c9436eea7de2a575532c9baa88d8cbc66caadf44bed9
 SHA512 
5e76ef6f417ed37e8c8e58f98d0625550d6399f2f095b4b4c651997f2c49901ada3c4a194a54235c2858afa095a064882bf86f34d03d3714e1eb854f90038e2b
+DIST firefox-135.0.1-he.xpi 438089 BLAKE2B 
fb4c83fa9bf79dbb5f2f16a3dc53a68c1eb063d2c6de7ef26c05e461d5339137840418f38fffb15b78929fd799ecf9b2414799fb640b8bce4a4bfcedf3350eb2
 SHA512 
b88e79c8e14384cbf9913ea571f73da83d433a0364f33f7041c297a80885e0fba98180b15db56f7ab9e6c57a2daf400908b8b9bc5f1c5b9f7e7217d34dc25fdd
+DIST firefox-135.0.1-hi-IN.xpi 381632 BLAKE2B 
eb58499c10c9363eb819d461d1e902c2091158a2656be57f324318964c6dff8e632edfa6a1c6cb3527ba2699862e8970453f592877a8efef52ea43393cfcbca0
 SHA512 
005ff714caaa8eb859babe76be28e275ae559338df6ced1a2d10e6497b88aeb3c54a8bbf28bbceb262205b00ede4f7920f51c404f2264d8092515c5173773ac4
+DIST firefox-135.0.1-hr.xpi 431112 BLAKE2B 
b27786d3a0b31590d6ceb263a3d6c2a3b704fa2b6d34747c18e62aeeef94eb8ae164d0abe64ea34af47c445baaac3e32d64e07d7054d1de33681122832146e1b
 SHA512 
cf81ee763a92769c6fc45c171d8bcdce4f0a3c53157b9a5f7bc1e8a3146a31f86396496a8916ed2a142edac27dcf567305b9e493c6555ac2d5dac52f7abe4945
+DIST firefox-135.0.1-hsb.xpi 457167 BLAKE2B 
d52ca5d3fdb397b2ee0bd8885063d0d4885d7a518f4158514adf8830945c1b6d233958dd51db0010a95c521ef45e8d0bb780476d4007ac4869def8a59ec3e257
 SHA512 
2d9024cd2cb4f2983d692ca9d141243faa49d90816ce21140c93d32805fb72e21eee4cbf8c364716f1e60c3d8a819b02f44d14a176198725a07e587ed3bbd91f
+DIST firefox-135.0.1-hu.xpi 461009 BLAKE2B 
34cb4e1ac7c32aeae5720948b4c2621cd31e2ab8181c9f4e60a248c5f91a0535633279eccc617998f1cae21d0680efa7ed73fa03c6cbe25d2ef2f32539f0d536
 SHA512 
f9dd5d7c95b1bde03b5828bebff224c4f5c9c8033a872e4b0adb048c25a6acf746472a889f09e63eae5fec2f7bdac2f950fd25c70ee54bc34a2b94935cc221e2
+DIST firefox-135.0.1-hy-AM.xpi 450029 BLAKE2B 
25bab7d2b64380d8ed901197147cb10ddcd489022460c6d49971724be91144619b3e052f3f9d60f5f03caa9c7d06fd05a4d20238a7558384a83fcda0d142f383
 SHA512 
9e5496f8b0b07cd4e1dc7556f1e33a16fedc4c8b03a7e6503b5742520fca349470dc76762eef4402215ce10338651cb3b787b19310bd1aadae1b3679069af7d4
+DIST firefox-135.0.1-ia.xpi 425183 BLAKE2B 
333200f54d8a7f61c8ac38b9de93bb94dc4aab046a9f7693631a61c6dd5907018d303d5c8334e8213d0a5d72c7f086240a7afc2c0bac26f481dfdfecc04cc24d
 SHA512 
c958b09b10859ec44bc248329c954afbd65f6cb6ff6456a258e2095b25dce1b329ef28b7733a15cd6a81d8582b61227418531e2984573d4d5a6df21438c16785
+DIST firefox-135.0.1-id.xpi 414160 BLAKE2B 
6265bcd560b1c4a603414924c490a89c7dab14be59b8f43b26dd1859c0e726ed42ee45b114db61a0514af4520242192c7c94d018495be89c1c26c221835acf3f
 SHA512 
84e486b9593fb7bdf5aa7511f73691b4a9af3a0eb2bbc15d7571669ada1aa673d49ac7389cff0a3440ccdcfc367e0751e63e344fe66b5c913d4dcb7115d593ae
+DIST firefox-135.0.1-is.xpi 429201 BLAKE2B 
03b308590d8a6f4adcd918402996e28945c73f6632693c557f449e990894b9d7b84605974fce122b5ad47152ce9b5ed2216f20a9ed602443d49b316e1f96258d
 SHA512 
4836c91bbe866303720b9437a704990af056ef3bd9323ce203dfde35bc520b8d4c6e5b46aa807a7f901f7bb8ddccc59694c29465a4c0f644af225b979d0e421d
+DIST firefox-135.0.1-it.xpi 435816 BLAKE2B 
3e7810e42e6ffed790a05f9583f542155e7d23aeccf883d4cf28661e305698b9b16c75a5991c2ce5772b85c9f222fef10b43ec37b4c111de6e61aaac418e8ebe
 SHA512 
d171938026f8be378619e7c7682110299c60427244f945435f9966604adca65622058ac408476304281d4dd6c81bb5ade91a01e2d6ae92a540abc9dee8da0a3d
+DIST firefox-135.0.1-ja.xpi 476065 BLAKE2B 
26c2e5e06b95226d20069f215a19a109e5d80e1df680d3b7cf2e990ebd970fa445207c9ed60dfdf48ab5e8ad51cd47b60e2970b74a84d577931a9a12d7ac2149
 SHA512 
72eb9d183c46ba799ce657b023ec80397a3c8455fc99729b48255fc971036928a3bf79cefe84e6f64cd337b5117e9902e33b247d8bb37be46908a863a05c4256
+DIST firefox-135.0.1-ka.xpi 488860 BLAKE2B 
51d6757f2a6b15452023ad2a50ecc03ef459ee296993102d75dd16320f8f225f879ad6d6c4953320f33bc8eb023d879701fd1249a60b238a95fa18dfbf1611e9
 SHA512 
e5c3445b83cc811e532af6751a7cbcdbaa75e54237eeb178236c00638c6cfbc3f5c4249d97da07ab850a99de7e6d9c6f2677dff8ab3ef1d9fe6261b6c06d3ee8
+DIST firefox-135.0.1-kab.xpi 417288 BLAKE2B 
b96c1eb1b95f7425f5d7107405a526ad0b5e4d92a512616ebeab5931dfb7fa4a35a3299a198c4f1d1db70e3937d6f20d157a3df07673812f5aca7a9cc0abbb70
 SHA512 
07277ad130e68ed6701d8403dc07877e8522ff9b0ec7d462e5beb8772126ed9d258a6c0348b8073687d375bea17cd74c704b3b2f2a659b542386d5f4fbe37456
+DIST firefox-135.0.1-kk.xpi 504538 BLAKE2B 
e7a908a5541ce16ce723d6059136605ab49bf820e2699cb6ca868091b6bdc9c372f0b170036fe23afff56cb0ffaabfe42e34376d81e3185ce73ea7a6c3df7226
 SHA512 
f6f6e88bc3837baa3422a6c8b7955fdb45515e1e7d83dfe9f5dfe23821463fa55050e4f54c96c9492a5c040c1b5cb78a85fff6b5f45a193c1fd3c9ac4c1fac59
+DIST firefox-135.0.1-km.xpi 354092 BLAKE2B 
a470a7b0764ee50ed672aaaee6bd8dffd197be5ad4872a031a97c6971244607e5a0a48c108915588480e9c142add17f57b1054a9214bcbbd2865c8986e292ba0
 SHA512 
3f89cf3f3366303a2f414c4ec9413d110e7c38a78982cf77a6ec8db27c082142ba56509a4464c7bc5248aabc2f8165178d3f28671f8299e8e7f20b6982ed2044
+DIST firefox-135.0.1-kn.xpi 335951 BLAKE2B 
85b66adc4fbc29917e28672e16ca16ca2f8133284302e04b367d10cca1af87d7a6f49fd37cd8c58439b4a477213c7bb13dd17b1f60d2802f40ed88520a0d7d8c
 SHA512 
4162b64982bb2d9b521f6b423193c94ac5acb1a8b2feec1ad592a9722b98c1fad13e7dcb6c52f6f689ff0ec936cc290d61bf58435f47bafb2869ed7c29e785c1
+DIST firefox-135.0.1-ko.xpi 462012 BLAKE2B 
23c8d4ee921e803c0fc2463e8ac26564df733603b07b0ef2539fed68b990a0b31d2732f3ce606cd50bf7faef500a1118d64d97b6ae967640978c86b8c141c852
 SHA512 
e936a6ed2f82de01b66e6fb6a8e8f41b0c1e826902170784324adfb1841496155af995fe7e72088dbef93f05084dd6312e08a1688185a6233f839616c6db0d03
+DIST firefox-135.0.1-lij.xpi 321540 BLAKE2B 
dd35e6b10c04fe2a4bb31f2a4a239d3b2bcc181760833b7b74d8870da44167115f991b29f145737575606fad6234dfbbca456d667c15b3b817d158166b2ee8f6
 SHA512 
4a3222509da126d16fd388feb3d95c223435461ef8b72d1aee3acfd5efd19b7d7a25caa9e29a5f72693639be92e0b9d68948418f2ebc576c4aaa69a6ca814032
+DIST firefox-135.0.1-lt.xpi 385233 BLAKE2B 
bf75958d89d9f4f2527471b72bb114597bce00712556b441491e68ec196bdcd176177de70f7382de19010e6de3aac716dc023f2afd6fc4e065ab1424d32943be
 SHA512 
98c1210629ba7ba68cde4a0fd013b59bffcd29f58e7d6290c0c49188b94fdf945f252b87884e90e4c91f328e67d218ea18aee5f3087af61544cbea39e4346d5f
+DIST firefox-135.0.1-lv.xpi 393517 BLAKE2B 
66b64e9d0129bcbd50080746ec58ea93a44d31c8052d15da7ef6bfcee9b6afb003b35548063f8a8921761191389ea791b036308dd13306c8085d8b8b3927ee75
 SHA512 
05abd2fafa23d57f5cdfd16d31c5a1508c081a984f5e75d38e660922071568f9ffebbdb9cb5554e71af540c3cecce376c274b58ebb683cd90bf36628c735f1d2
+DIST firefox-135.0.1-mk.xpi 321144 BLAKE2B 
f41663c68d2d54747f788c763d9cbb91017d0a996845d34f0fca77dbbc9bd0833ee72236ab4b1c12b116c3ab246ba096ef7891f16bd764b40671d8b7436cbd98
 SHA512 
fe3b04995d999d91a063bd725b9aa02f68f24c45f01792c22ca21396a9d63122f86707a9d08e2deabb820f67307d9d432c8a7b132b687926b076e5a2c9907ad7
+DIST firefox-135.0.1-mr.xpi 360199 BLAKE2B 
289061c3958eaaa5c8f42856156a2bc04d61c54b4cecef2d9f57a5c562f24ebb35b591e3762cc2a3fa712b84aa7fa5453d738a8fbd4c8d484b1e02c3d4a3448e
 SHA512 
7c0a590c0b1205e306e2d59ccd78cdb25abedbe543e975b8da4f4dfe77fa0716265f6d5a30b50ae5ec9c5b2c72eab567eedfbee0dfeed72b4a21f47c4e9a56a6
+DIST firefox-135.0.1-ms.xpi 298704 BLAKE2B 
c519b169235d8a4e4789d074b1fd7a62f650b98146d68097cf747f71c36a3da566bc9827e79c4547df9bca7a9d07bcb1e7d131d11d23b2877930460c4c31fa4d
 SHA512 
22c89d22bb115a334dbc86c15173107883248eabc4210f01b67605ed6776466811b0c10d77ff734648c7ce01feb68542e3a937ac0d47b5098f5d9723f9afbdd9
+DIST firefox-135.0.1-my.xpi 347838 BLAKE2B 
d0e81bf98c516d4962c3d4301bcb94d48a0fe950178d8f3e16324255e19ace60c5a2273558d85d58710496fcff486729fb4cc4e0553b0d62b7a6488d625519d3
 SHA512 
d3db7da5e30d4c9ab3f5282c9b89db07958000e4f0011e77d8a66512d6ae75e681dc7fb092407d31bbb1df509d0907d4ad190479c61eb5f4558ac112627140cd
+DIST firefox-135.0.1-nb-NO.xpi 419393 BLAKE2B 
3a9e84d08767131b41b344d4e25cd070ff9a30c7147abe26675c3782f3c427301822be57e933ed15f58bf964e01f839609852b2333337819afe9bc08a4ac2356
 SHA512 
1a4593a23371dcb99abd1356cbfd92d3aa2078810a96c691ec929ca4d9df62645489ba153080bacc43c2ec23f7c77047dcac25c974fffe8f9c4116d3ff51de47
+DIST firefox-135.0.1-ne-NP.xpi 353603 BLAKE2B 
83406798e6487b270d83f8b500df7f9da43afcd618494b7ca9cbd4744c0f8eed1cd49ff424dde60f7ee2cad308b3ff1e7766f220505fb933b5dacfda71d2ca35
 SHA512 
7cba7371d59bffc4c5ee47add7d841afc084fd23af10204e18739da87b584f1772fac545f7a99ddf9b8403c031272f5d6a7a59e60c8baaccdc6aac1924e1f9b1
+DIST firefox-135.0.1-nl.xpi 431158 BLAKE2B 
867929b67b4b3981f6f7b9ea316e3e7d3f980bad4334e197420d71d067ba2abf56041f70dab4b650a2201962f8ca3d589b98c1595a5629060eee7637010fa242
 SHA512 
4d6814f77686aa0f43be825a981e53db3eb6d58b80dddb71aea0cda4fb3cb2c337b2edca849d4a8f256c7e3a30f904988921d0d545cff871c14aba784f7648b2
+DIST firefox-135.0.1-nn-NO.xpi 421329 BLAKE2B 
6d6d2895d26857187e54c23d7d548bf2289c9e7a1f9d2d3b8af3310f93eb110995e0e2090617fdebcb679639b774f60ade52db6c8370c93b84316802839cf37a
 SHA512 
9c8fadd9df55105bf71a8bd9c9c4addec50cc4a223f48f925e8b98934c506297027bef89a83c8efca6a293214957a815649b71f4126c57cf0a6af2b76d618200
+DIST firefox-135.0.1-oc.xpi 418976 BLAKE2B 
b61a537b95881dc45213f13124994a53fe05163b142041f32a1ac1b7fcabaf1b32769ffe48b20ad809dfea2013a89ad1266a4cbe08a5068c58d9c218ebf3bc2a
 SHA512 
ff191e6bf1a171b9c83757453c4eb7eb5a81d23a196087161fb85688a1cf412e02720c6cc64ee065662ee04342bb69efb1c2d0b30169bb8332fcb5ce73ab04c5
+DIST firefox-135.0.1-pa-IN.xpi 489772 BLAKE2B 
a1ac050989fb8645b44b63465dfffc2437204ece22579568c9bb591163f0178fb37401720bf2dae95bf76ab43f1245dcd5f788b9eae663bf541630f7ab0b0482
 SHA512 
e3c6678f99597d7ea1bfe3936bed7ec43d9e07c1c7fe2488f710efba6ba755310f1a7e43db0ae2dd426ee029ab1ad9362b3d27a201a5bff41f997a6de6be675c
+DIST firefox-135.0.1-pl.xpi 451664 BLAKE2B 
aa3a4c4eb5d54538e43c82aa5cb56a72983addf2afee6a196e95cba79612855c4e59a48aa030b3e3e3f335f77681f687a1d3b4a1cbf2d4aa1023d300e1566866
 SHA512 
321e9fd2036004ec9704c213c2038d712bcb1344065309b09656b143e3898d54ea043e3271d21c45e2b3456be56be0502973f9185083bb2f31e3e75fe3e4ea4f
+DIST firefox-135.0.1-pt-BR.xpi 435467 BLAKE2B 
6dc142a80d971b2ef3346c1be4000669c59753e0d6652c719f2e0835d266ef061628cdd7de00831de39eb8312a2259c7f1508b9266e6234b7d572a93b8e03797
 SHA512 
5aa700cb39649deeaad1ee4f4e3d9d609933ece091453dfd55e753a72e728a5ba56d58e094012f77ef00c21ff83e4dce3035ce9cfac90569755314147f0e8f1d
+DIST firefox-135.0.1-pt-PT.xpi 441391 BLAKE2B 
233dd7cdbd42ddf9255df7f238720d0493812dc3182723ebf08c9e86accf98fbc5f06bbed51c9b1aeff2b5264ad392a77f657035c0356b06319fabb590e5f15a
 SHA512 
efba48ca66d45951ff90302d19469fa1350e8dafdf5dd0bd9786cc96b7e93d3c88311892249bb5ac693c95043407b523f54ab0c19c8910ca5407daa2083a8ddc
+DIST firefox-135.0.1-rm.xpi 434738 BLAKE2B 
eb28c37473875a9cb65640a647c1c2278939cd2bace2566f2fd561bcfdd717560c9c619b7e7dbdfc4e81820828b18ca58f78bb239b28334c382de1c9d9932ea5
 SHA512 
c0d56ae4d3fd3ac0af777919d9d092e33fb146b326e1b7756cc80ee8f66a282e9d0742f78e4287b37aba8b0b8c6f6bc59115277d4557ddc30e0a68619a18dccd
+DIST firefox-135.0.1-ro.xpi 366578 BLAKE2B 
922a43afe59eb3ee2c7e015695e307bc74deab2bddd1af8e433231e3f3cb4828e3ebf81227faf4086de2943cc2303c7d87bf465c4026967d4a484ef48a72ba2b
 SHA512 
f79eaf961724adf2459138b4c014466c5918a4ffcb8d99afe02189ec09fe5e49d0c9938250c447d212a5eed96995796399521c9b24bf49abff431c95d73996ce
+DIST firefox-135.0.1-ru.xpi 518940 BLAKE2B 
dfc0c3b877c8640213e9592902c6d404ae9216399f22ecd590f07769b91d262f7bb1b99c8a9333dd3ff66efe2c10a1c5cad96f20e9dac9ba3accb29568fd69af
 SHA512 
9051525d98d3fce726d3035d6b5f0bc04e0aaa21371590343f8a9503829788d2db62c7f06aa9ef4f729666adb7e228efaffd38295fb82d5d7803a803d40cfce9
+DIST firefox-135.0.1-sc.xpi 399014 BLAKE2B 
d091afed20b999120d7a4f379eea9e79533a9cf9eb5c7d0848f3e62f02daeb2b690e89fe93ae36d1a1b20f363de1f09c74f75ac247d4ccc44aeadfa6f64055d7
 SHA512 
30ecc3ca1d16e67ba2370ba426092a66db808fbec530c9c637fa0f1e6e033134a92e0bac1712715c28fc4e8dad6dbf21d810fa93b9595e7b4c5bc5b8d84df5ec
+DIST firefox-135.0.1-sco.xpi 327578 BLAKE2B 
0b5064898e64f814895374a51adfbad227f36225e19a0c8804a19debb1f790bec64ab93bf4f5b37b30c6ef4099a5d21af2c20b3489515480cc278587ab648462
 SHA512 
b1d990441f96e121d9016042cca5a63c2602019cf6aa8c98c69d2131960be7645ec074416f63086e7a539ebe639bc1135f6791c5204219832d07de7236af395f
+DIST firefox-135.0.1-si.xpi 415051 BLAKE2B 
7dca36d8d6b7d0f76532528b19fdcce25493d140747819b27125bdc4c2c1a1e1525fecc91ca37ee027a460ab9333da2175d58355a01fc7c216556f725b1d669d
 SHA512 
5ada3b015beb09f86840e8b66663df23e143b7770fa513f3347048ecaf47f946ee8a5c081f25348c095d5d8428e2af6f3de9ccb4e77cf1a931af61576a57ff2a
+DIST firefox-135.0.1-sk.xpi 462399 BLAKE2B 
273ef0de9c606eb0b9c3f0541b744ba10af3043d2c4e1b8b26115a2a8b276a00497c4d0f97b19da8e7da8a79f43bdfa0faedd18a4a8f9c4b4139a5e1e24e7be9
 SHA512 
7fb73e1440e7f3fca80a7e73b58c0e1331f399f1153d196d00d80b1e313f3a9463670348b8e98c92a68123fc0f66b1ddf7156c99ba5cbc5a0adc265ea7759f88
+DIST firefox-135.0.1-skr.xpi 498196 BLAKE2B 
ec16698de5f740395ec57181dea47f9d5936b10c047a2f3ad08659c76d8b86f25c25628f2f771a93928dcb3597bc81c27dd58bdc634b78df95703c431ee66af8
 SHA512 
dcecb526f9eaea769561e543f44450c45a5d0114185f67f65c40762e5fb1629e2d2835f1c8df88952edd7b575973ca8e26ecddcd9a7e966d5ae4251c200ea3bd
+DIST firefox-135.0.1-sl.xpi 434139 BLAKE2B 
7e842a70925cff5684a1607b7648efaa5c086026d75278cd60bb38635c55e4f6d9bd736ce854a601f5d896855bcdccbb8cc7f22c0c7cf15d3e21f2a05ce9d4b6
 SHA512 
77b3b2c9822c8d1c9b8fa4437656fa0dd5c7480f7904d5e09eccb25a6156a621c00ebecabcbe6ebbc207b2a47e410879669b8c1ab50a7a6ff2e806aabf9439ba
+DIST firefox-135.0.1-son.xpi 275455 BLAKE2B 
4ead134d5ef7baa1b8f49404211e22538db3fd65587598e5d24187531be74009bb22dd772c4101840cc8195e73e08d8a5fd1d8e1a7033ff4893a28cc10af30c3
 SHA512 
b1f32ca1cbecdb93222ee512db56e0f2c2729157af930f9d72d2f57f0da956db71fb2304a1abdc85854d0423164fb34c5b6b370f7fa70269c40cc75ecbc8d3f6
+DIST firefox-135.0.1-sq.xpi 450586 BLAKE2B 
3ce600adf9ade78343828b778b8dd31c56859e80fd74039eaf637b6fc01876e0ef30d5b45d846826354e426d401f20065db240a2d07858cbde8c187a911f3344
 SHA512 
74cc62daa62d8d1c4f98e6f291fb386e53ba10c851735ff0b092a910c4ec64935b787052cee459772edfa23062866a0f845884d22db864b3077639227ccb55d2
+DIST firefox-135.0.1-sr.xpi 460567 BLAKE2B 
0d0b48fc433332805989a0b16c68b830f9ca8828098033067e1222725525d712e3ae380be70e1f9e286932ac16c573c35eb77c41d6672a0f92c532f744158a73
 SHA512 
932d51c5f01e525eaf7afebcc200e70e7710ebe7efd9628a9b1c3bc96f36415ee196d7b3986f26b59ab5e52769a3953705f07b897f00ae844ca1008a34b42ce7
+DIST firefox-135.0.1-sv-SE.xpi 431175 BLAKE2B 
13b8314dabefeccda2ee37fb1db979909c0aaef174706c48428af025f1fb1be66c0198eee7a889da178d891ead19e5f30f3126df3f01c9626909154b675a4e67
 SHA512 
ff7db1a7687f759521940aa15aff409204b9e7a4416d2c56c720dc8a87aec450e88791fe5bc7575611823467815c61d28424ad8abafa041d2287f21fe924214b
+DIST firefox-135.0.1-szl.xpi 347458 BLAKE2B 
4244ea4c5b787eb6e589beed9329cd946e9468b11c31a039126c3bb33c3fe419109fe3449952a70ec27c7d1996e72ff11795ae70d25c9cfca43f7f5a42b04031
 SHA512 
acdd5f23c968a8056ce7ff765975b9d25eed777d12c919fe8a641a9c784edde1373494e6e7b125711932c9a692c1f818f6bd9464354551f4925ac8c0d7671d84
+DIST firefox-135.0.1-ta.xpi 342274 BLAKE2B 
c8ece74eb41fa40ea94bd513e0aaa50ca0e7061c99ce3cac1c7e59895e0bdab34f764efdda6d71da2020bb8752c46187eae66ac3aa792597b90121abd55fdabf
 SHA512 
6255e724a644ae6d25b268def7dab89420b46fe4899c452fae476e4dd374782bffe95b0fdc981f9ba32ca741f409cd1aee89ac007ae21b4bfe5c08d0c4e41534
+DIST firefox-135.0.1-te.xpi 387208 BLAKE2B 
a7fba0938c96bfc6079a329e8cb07b8105455b3f09b51fb5792e2c127aa5f73250ff57fd9a903752b5735e745a1460642e0f1bf8c17055e88cc2b63dc294ab2e
 SHA512 
e2ce56e47bcaa15461d714753cbec8d6d5362da7dcd6ffc1425ee0bf7105bb49912607d05e30fc403ea061fddcc35b88c2947e8ed554042e26efadecdb1efa44
+DIST firefox-135.0.1-th.xpi 500057 BLAKE2B 
263ee9f621c05eef8b1ffa136b3335debb29564ff557b45302c2554104539e9e9b08e258e1e162d33db4c1b29fae3a5dcb6f7436072e591f1de1c5f54d28ce1d
 SHA512 
384bee4524546104695d32bd6803e2fac8a777da1abfb8ffa81dea6b0f623310a763102dccbc82c55a482735729aa34d34e77b123050eb43dbcb4a63abcb24e6
+DIST firefox-135.0.1-tl.xpi 354792 BLAKE2B 
005bfe6466cb7b41150c27e087ded1e7233248bce2cc16ee9ec747d93d23de30b7a6a139fcee4165dc7f2b4f9ea0b04fad29edd0e16593077ea0613c1e5b49bd
 SHA512 
30aa6cb1c1d0e54721195ea264f56f99f47bc8fc19e7cd057cd908c2036e5be87a5595f9e2ca3c6315e115e1b87c7634bc7ecd104af345c1c1bfa55992e4c75d
+DIST firefox-135.0.1-tr.xpi 442376 BLAKE2B 
4132cf0fdbd8aa094cda35742b0688b437d609c85883935733cb424f6f452f3e40e26f088a7e18182cceeeb0257320722bbfd385bbf10140d86a4c0a4e6ab55d
 SHA512 
0fe69c8011b7bc4efb81cd18fc10842b6227c88793664d8a5e2147b6d98604ab89523bef39dee9e74df1f549659c9a3e800a46e6be45971dc12c77fabc037835
+DIST firefox-135.0.1-trs.xpi 326310 BLAKE2B 
6af7d12d61786f2367dcbad7661e624b4b17362529180330324dbc527980005001fdc205448d7303ff3ca6efac3e391c64754cfef295e91684358e1be5d2ce98
 SHA512 
72bb6e9e45681fcff374460ca94eea7c663cd8304ae6cea567ae1e867e0177808c1c6e557135348e6c20159ae1b175f4b12025031532188b87a42387a51956b8
+DIST firefox-135.0.1-uk.xpi 510896 BLAKE2B 
c7a5809171173bc37eb40b7e7578d9e24623e697f9005857ae8d7860e9012ea289c9f2cc8abab13a82fcfdb19cb12c3b91faa109fcad768fb6eca7e91fe65bac
 SHA512 
30f601211684f1e52281e5b745e10db54752d05d1cb777ee861b6c5b0ed69b4f3ca8dfa47768144f1423e4b71854543974896793547ae4b5ab87a78ce796d1a5
+DIST firefox-135.0.1-ur.xpi 374846 BLAKE2B 
807f1abf458fbe556008e0994f7c0b4b44bf7a686aeec922bc030acf97c159e081890a6d017ae4c02132a6329bb5f1be0502cbe83fe266a68b317dc069f7c6bf
 SHA512 
a5af14651fb22ed79ca0f51c927d74dc995f82c7be612573697b6c4b131287cf32e4436de06b974bfab49eef2fb716df509281e56578d94d7d66035230088e28
+DIST firefox-135.0.1-uz.xpi 308113 BLAKE2B 
4472b2d57393339db2cd52b9e1c94b72a90e549fef8263b1313655c1dd0c40f2154efb54779c6243733c7c5218a9d013143282fee0c860bda2e4bf94ae3c68f7
 SHA512 
c91f7bdf7f68edb6028bc282769b8c740f4eadf76ff76a1d3130638ee43d5bac13ac80c1907b1a1f1ce7f75a5211f7bb351b1f6732d6e00b23d6489fb9e17e10
+DIST firefox-135.0.1-vi.xpi 463941 BLAKE2B 
10c4bc27ed3f084a0dc666d5e7f475bc342e9232da5ac80066999a69db910dc48f33d463a9a57164b92a298646162c2888d979fdb2bdc13acc1d1243c3410ba5
 SHA512 
5658503117647018dd58098d820f686e748120d13b08f497da5982929fd7ba23111ea1b36056c9c9d1e658e594830ee87b928c9593fd0c17572ff84fdf5ebcb1
+DIST firefox-135.0.1-xh.xpi 275833 BLAKE2B 
e1205d67059b0750a2250608f44f685a573e384ff33889e67045bc40dc2318708819a870b069e56f7bd6f1d89d34d7d7b1d017280b7d69a9ccb9e2ef6d979cf1
 SHA512 
6b628e2f9f51be63fd16201f5ad795e95d8dc5bce53ea33de15a517e70007c4634fc073a6f6216e30feb27eba01bdef5421d401c49a6765fad1efc5d8c007cd1
+DIST firefox-135.0.1-zh-CN.xpi 455588 BLAKE2B 
80a380df7f7333fc27a6c1c499c778a8c6a8fd12f703cf1249d95dae43fa21336ce7455555342e20d347d5e0a99b40e161b44727014d91cc85bb07f98a0a7961
 SHA512 
691bbcbd01bd5ffeccdff6ede65d2ca90fcdd01a8c87bdc57afc679dbb08a91c1e2f3ddf32ea2a5d8ecbb77d8f23b74c866fec0f8d91b673f5884f7f66d04ec6
+DIST firefox-135.0.1-zh-TW.xpi 458481 BLAKE2B 
f8c7dfd90b89c2f59d283c5f9d9299de81a6354ebecb91557b3fc1f286550071a624f9959416f890cbf1b4d38bf2ab3d83fd4ccced1e238339b0a3b15ee7340e
 SHA512 
388818279ba194a3de10ca2e5dce934397fc5931a943a81b163fe97caf28cb6adf2229b4c67082f41ffaa758221f258963368848ca20c2fc5f0225f1e25efb83
+DIST firefox-135.0.1.source.tar.xz 599617332 BLAKE2B 
a99e63f5622b3aa2cd5f686daa2fef60d82b55eea39d87b9a5b17403e8267fe5e542d73ebd32b07c80d3af5e69362fbd028bd338b5673de14b4dbbdc5034092b
 SHA512 
9ff7c2ab6bc1660e339cdcd7745f8bdac5be25d3a79b9f0393385935270d7ef488599856bc38c22ae0b067389fa71a6999703b74804a6e0ea8265eb99788cea9
 DIST firefox-135.0.source.tar.xz 613526736 BLAKE2B 
a9309d125b48988bc4e5c6989f2a1a0ee169dc7661a3d8d67d6bb32271812b2e22b885fa8384c027835ba1907fe00ad2fb8c8c1e8d87f8dafebbc9939c378edd
 SHA512 
7d283bcefe1e328901f15a88f5ff3da566bb0495ce5b9e3895e7a156020126a5743b6bffd69d94d9eb812e1868195ae92db162d29a5d98ee118fdb238469c089
 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-135.0.1.ebuild 
b/www-client/firefox/firefox-135.0.1.ebuild
new file mode 100644
index 000000000000..277ebf5efdd0
--- /dev/null
+++ b/www-client/firefox/firefox-135.0.1.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-02.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="7400M"
+               fi
+
+               check-reqs_pkg_pretend
+       fi
+}
+
+pkg_setup() {
+
+       # Get LTO from environment; export after this phase for use in 
src_configure (etc)
+       use_lto=no
+
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+
+               if tc-is-lto; then
+                       use_lto=yes
+                       # LTO is handled via configure
+                       filter-lto
+               fi
+
+               if use pgo ; then
+                       if ! has userpriv ${FEATURES} ; then
+                               eerror "Building ${PN} with USE=pgo and 
FEATURES=-userpriv is not supported!"
+                       fi
+               fi
+
+               if [[ ${use_lto} = yes ]]; then
+                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
+                       # bmo#1516758, bgo#942288
+                       filter-flags -Werror=lto-type-mismatch -Werror=odr
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use debug ; then
+                       CHECKREQS_DISK_BUILD="14300M"
+               elif [[ ${use_lto} == "yes" ]] ; then
+                       CHECKREQS_DISK_BUILD="10600M"
+               else
+                       CHECKREQS_DISK_BUILD="7400M"
+               fi
+
+               check-reqs_pkg_setup
+               llvm-r1_pkg_setup
+               rust_pkg_setup
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if use pgo ; then
+                       # Update 105.0: "/proc/self/oom_score_adj" isn't enough 
anymore with pgo, but not sure
+                       # whether that's due to better OOM handling by Firefox 
(bmo#1771712), or portage
+                       # (PORTAGE_SCHEDULING_POLICY) update...
+                       addpredict /proc
+
+                       # Clear tons of conditions, since PGO is 
hardware-dependant.
+                       addpredict /dev
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+
+       export use_lto
+
+       CONFIG_CHECK="~SECCOMP"
+       WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to 
play DRM-protected content."
+       linux-info_pkg_setup
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       if [[ ${use_lto} == "yes" ]]; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       # Workaround for bgo#915651 on musl
+       if use elibc_glibc ; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+       fi
+
+       eapply "${WORKDIR}/firefox-patches"
+
+       # 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-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-ffi \
+               --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 '' --enable-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
+}

Reply via email to