commit:     48281b2e5048b3f3ab41d291086f4dca519502f3
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  1 11:06:30 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Oct  1 11:06:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48281b2e

www-client/firefox: add 131.0

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

 www-client/firefox/Manifest             |  102 +++
 www-client/firefox/firefox-131.0.ebuild | 1369 +++++++++++++++++++++++++++++++
 2 files changed, 1471 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 4aafaf455aa5..d20414372eb5 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -303,3 +303,105 @@ DIST firefox-130.0.1-xh.xpi 420491 BLAKE2B 
2bf9207de33261efd8f5515bfadc7e02b5804
 DIST firefox-130.0.1-zh-CN.xpi 667372 BLAKE2B 
66ee8d30614ce9c37e2db50c8c033b301c3b0cbd97a52d694af8456b8c15f6b080a8d1354e03ce6137635c0b248d4ca171d412413df16e2d07904702f0bd95d9
 SHA512 
38f2c470ee5e6d36d2b9ad758f5692c32134323e79588b3f3b47b5ead4bcf44bbfc82605e7ce222cc5f58daeabcf8d49c78cabbc7ddef7075dfdfc7cb2f5f562
 DIST firefox-130.0.1-zh-TW.xpi 669294 BLAKE2B 
4bfe797d28c7406464406a6a6297227bb05e327a885a8960496c1740aa8787c88bcf04c48feaf3772e87a51f79ddd25f3896262e5cf91eccf52f3cd578dc794b
 SHA512 
034ce10936ed67f20aebb15d7179ac479755a828598a8972f5b4fe6fb61b8677330fe73047add6b7ff24cdd555e3fe4e82c27793663dba604ebe2c4c4376d1d8
 DIST firefox-130.0.1.source.tar.xz 566583020 BLAKE2B 
2d6496a4f476a5a276b70de43f5d58ce2a44007b754e05fcf757d4c1a1cdfcab910493f48e6a6e608b9719ab73cf56c066de56a4abc08ca42e83aa76f4f80c38
 SHA512 
163d1ce9f671a4716686955c43ff23d9f200f6c52dfdabcbb93af6a326c24aa5096404f42447b02b5a3ad02e2f60d17271783638fe027d24865aebb3e70e97fe
+DIST firefox-131-patches-01.tar.xz 22188 BLAKE2B 
7044be5613a50625e54694cf88ed1ee96fd2c4e39dfeeb10b68858f67eaf5a05697e70f9940a015aaa66c172590b9815c801967be578bc48996e20f753a87929
 SHA512 
1bef1dd2a8fd9fa0723be40d7d38343fe00f4375c15b1c2bdbe04624d94d6b96357d22c353e6ce0fe53d857c74aeddef09668cb3ebf8d6dd7a77966ca920ede7
+DIST firefox-131.0-ach.xpi 468402 BLAKE2B 
ff7a03490b95ed57cca023e49889f516a3bf976cc0ab2645ea182882b479a122639620348b6d64e947c24c54d78add8dbee9d19c497da47ddeb36e5f5618c63f
 SHA512 
e1947463e31a60ad49c27807927358a898b77493f773cb9e40fdf1e74c96cb94d026f746bacc37925f221215a444a6a43bafb4bbcdeb1bf15370a5935d782624
+DIST firefox-131.0-af.xpi 421438 BLAKE2B 
3cd24c8cdabe6b824643604dd7f942e717d3ef378f6836be1f7844980a2f5c963679fd090d2229fd320feebf911bc0aaa58ef0da45723cf132a871bf5493fbc5
 SHA512 
f14862872e33dbdf538cb5ab2f88e47b4187cfee99b340fb85ec5217e806ff7c1fa5a5d6e4ccb0c6b0554c74082dd544798fe2f9a44d354f8c0307bca57e2a76
+DIST firefox-131.0-an.xpi 509990 BLAKE2B 
2018de90214797db66f93acdbbee7ad8af8485b4936e60501b6f8efbcf9309d444eb07ac868a06e3c4def4bf4a46c6b89a57f740b5384d003a942c51dd026440
 SHA512 
477fd571cc00f91fa7f1752a0a22fe962036c5f71028ec8b006f11dd1538430db45aa939b45c10570ce08e8a46f1aa7c7a9f9dd3af5bc6fb4f22d9e6e4599dba
+DIST firefox-131.0-ar.xpi 616364 BLAKE2B 
68ff9c9c2294c02ccb230f04d1be847c62c7cde20f5e18b03835ac7cea740a66bdf9535a9c98861fefcb650777c5dee72353596faf3128825d44b1eb560434d1
 SHA512 
8b7b013a57b8666f3bc30ba390b463bb7ef6828b0e4834c3649d8240d0dadaf32bff2414ad56a2cbdffc375381182f943b4ee0d89746751670feb29e7edf7425
+DIST firefox-131.0-ast.xpi 500421 BLAKE2B 
1e2856d2ae6dbeb0de11537658bcaf311356c8fc12e834809d7ee12cef40435cae95d6ab5cf78835ea82f1fdd8f0bc3686b4e99ff03a9ac8092cfbbf7f24851e
 SHA512 
cbacacf09d9f4954241cb4f93688fbe9c525f4e89fea62c77e07c96d8ea183099b9e9cc46f306be5ecdeab13e4da310c51bbb673151328a3f9c5b33f4ef70fb6
+DIST firefox-131.0-az.xpi 495117 BLAKE2B 
82ca2e72b5ae2a14e9929e8c3c46caef805408e1bf551f0c91d9059af02e2a482991dc75349ec8ce6d5a7420b26c2d5a798d544e57887389724ef77b18fffb60
 SHA512 
3f5d46e1252bb0cf5a3dd20286959b787c88894303c36b83c0669fbee5c3bb968a9be75564abf66bbc569cf1c789955d36cdbbe821e6f20138f091980cf12e42
+DIST firefox-131.0-be.xpi 728089 BLAKE2B 
ea4fb234b650004b8cd70f31315c8c4cd563f59bf2c3169e81fd8caf3929ad3b3dda6e5227c55c94a1013cae2f9dbe8a6f733db7b8d6999e82dd70c71bf27f6c
 SHA512 
a4b627c3429e5353053d46d8c360720a6cafcc6cb2f6755ad45a1de4d81be81e08e9a0e9b0479eebdea07a39623229ec0ced88901391710d1b9a0771045584d1
+DIST firefox-131.0-bg.xpi 648277 BLAKE2B 
0e415945f2b3c0ea245283cde485a7e436b3a2104fbcc2a5f2ed3451652dbd84c714cbfd5e5f592b2ed44f216e33d12394f875657048c8c8117965a7e62ec346
 SHA512 
a8b321e91ad6afdf7e2df3a397cd356970211520d9faec14d751ded0aef09fbc281adf4a5fda0176ffae472af13f6eb8886f39360c071a59d7981dd97e5400ab
+DIST firefox-131.0-bn.xpi 585893 BLAKE2B 
67d316ff212a028ac132838a848ee8552bddf740d31d370bcd7392f7e0014418abbe93ec662799f25297894a2c0452ac69d5780e982a2fe87bdbd2ff06bd422b
 SHA512 
2efe242333ad2affbd95869f2e98894b4bc7b3b970a1b47473ef834af2b9b8a226038dd5cd513285d45f70bd2615ee2010af11901a078eb4a6145774ce0eaaab
+DIST firefox-131.0-br.xpi 594248 BLAKE2B 
33315d8867237c998e7500ce8a6f9a34ae5ca311be60952201ea8e4d7a93e38f2cd94cec4117488b3617bbadf7f27d91d01a417b3c5caae5c8f6fac9543d95b8
 SHA512 
8a12e8b044812be73482b4e42ba5f38bc8f2d564e6057b5977ec8e205be67fea518cd2ccb4b7b36b4a8852f8764f4bd49028fa098f9eb6dbfcdd129bf7b71b56
+DIST firefox-131.0-bs.xpi 513546 BLAKE2B 
67da47db1f19fb4c05ade52ab63148e9867d28c565e80d991fa5e06c477496ebf73d3ffbb62b5cf3da81ef763379774177a79f07d72574b24b51084cdba1537f
 SHA512 
41516ff247f82889a39166c41ca5d0972848d3521151483ddc0fbd4d7f0925dca3f855f65958f5b98746cc7a9ee71e232ae635eb55d9274e04ce8f1e8cbe5439
+DIST firefox-131.0-ca-valencia.xpi 550013 BLAKE2B 
874b12986659b88fed884845514a3969d3bfa2b6cab7201bd158ce895222a05cff0b181739342fc813816126d2355e8d3aa4a8bdde45e2f941547d6e0f54df1f
 SHA512 
058c3d994dc7b0feac8c6532dab2dd1e9b20612741b72a865ad3603edb5dfbf7140337554f456df103a9ae4bcc6b46e71a1322d1f7ed48648f4e1cf6f651fc8b
+DIST firefox-131.0-ca.xpi 601781 BLAKE2B 
716223404ded89d348f35c30513c197032638122a9c78688f0f19cfc07257cd69f3d5f6fe8e331b63e5bb2bbcd8ff616eb4090021af26968141d2236cad3fc3b
 SHA512 
82a2c7650939f06f8a02a10da5216f4f910e3ea36935bd5efe487169e74389e270bbb00790a8ca266facc561ee1f6e0eb9709f2190778508e0eba4affef3ff88
+DIST firefox-131.0-cak.xpi 597645 BLAKE2B 
f5b9e1fff7b6c8b84cceb6e3758fbfcc90761270d0e682050c8e002854b1ec8a321b2288b51e9d08fb01808b246862b2a84cdb99d2070174c381b1e4bc4865ae
 SHA512 
2047f4e7cda334009cb5de993b842f4c14e317746d4042a94d11dcb0d66ce92056c5365345d052ab8d87ab64ec40a24e7b6e5305b674d04745e5a34d82018c5c
+DIST firefox-131.0-cs.xpi 671339 BLAKE2B 
07ddb89b880cf5f72113b33abf1e25905eeaf9abbc78e112f0cf887d45fc5638f02bf8da7db13132eb830f542a2acce6d34e82d8261c75b98c08b1b267d53276
 SHA512 
64ff32884dbf27d1d6f087720cec6a460528562c9ff21bcd57105f6073e8336c0ac7dc94fa3d1cfee87a64bd92664b883885a007122c2f42075631d9deb61938
+DIST firefox-131.0-cy.xpi 635348 BLAKE2B 
33c4ee64853fe791937968ba0d6a6a653b068ea751390b7377fb2df7b68f7a38cec49f39deb13037b2713ed6692a042f4b6bf95e7f8627cf704684b7b16b0c35
 SHA512 
95d53859ff038f691f0f02e2cc3c264ec55e8f348c16189a4e3816734f545e97baf5c2ee2c26d10fa3c78a09b3482ae174c8617514ebd58b4b1c66d4c939bb48
+DIST firefox-131.0-da.xpi 623758 BLAKE2B 
cec6540977cb49cfc9d4bbde0617d2514682d9318999b5f1735d454450d312e967ece07447a2ce5493be21095f3c5ead83a0b357e87551d9b3149fa320f0b642
 SHA512 
419cce879fd04c5fd9b45844e75d7c876592f9ff07b97c0788135b16a34c6d43c831b92414d9d50a85f5c4a4e23ee9eabdb5f52674ad7886706594e9ff78a8c4
+DIST firefox-131.0-de.xpi 645492 BLAKE2B 
0339b74327d2f5d6b143189f154faf5379e0d590cf5c44a7d65d171557a4a939fc9325b44b82a5d10214cbec0870836f18ea4f154a23caa16cf0c2c4eeb43611
 SHA512 
08fe3396534c594d9915156c391ffa645b34ee0232fde8527ac348d6cb42b0ea94e55854e8303c6e8233e604cb66b1ead017c70f53582b290e951c93f3e63ee8
+DIST firefox-131.0-dsb.xpi 662252 BLAKE2B 
ab967b4bc8d6bafc852deac6bf6bef095186c036b77bd704b3e2949174e7b8aeeb5a80c08e57e02573c7ca0d1411dde56c8b783198939da1802b6a50a6f85be0
 SHA512 
c1122821590169c0655c366c7dcfefa053e3979c606d9789d5a2b15f4ab9c9bfa4b77cf4c7df7d208cc31ce92c1b5a99a3d24649cd7263c0d94d8f426985ed96
+DIST firefox-131.0-el.xpi 745648 BLAKE2B 
5c029d06dc041a9c61663a12ccf1e576782470b871780f2b0911670abe1acfc31551e2c00cf0951f7030c7a754059be412745393c9eac3ee6bcd47fbb774ea18
 SHA512 
077e34e92c2bf3b42a4c671cf3f336d27194d98f475d5b94cb27642927e400ed561072a15b0f843186acf5a916bc56c9f2833c9ff879f2e6a0d9e91302e506c6
+DIST firefox-131.0-en-CA.xpi 595187 BLAKE2B 
aa18bf5cdfc4b61b072aefc7c6109c798e311cbcb66de12715e5d302940ad60d567f2c16a9766e72736555f6eaadcba2e4d2aa68b13ef9fc28e0978b72ce725b
 SHA512 
68c47aeaba8ff6d41ac65ddef8c2ca854476f81dbb6ccb29b08340f2ab791b4a366c9b7d3a9e17c49d52180bc48c0a9113059be2126f532c1b5768d035c62cef
+DIST firefox-131.0-en-GB.xpi 595556 BLAKE2B 
d47a1b5f5ed3ea2e45fd2075bb21a92fda1e636b6673ddf3c2e5cca164ba2419a01027e661ed0d326801f7a00d8cc0b0c724c1c94ed70bc5275a43d64c7ee245
 SHA512 
5d3d57fe10c2c47416814b4682303ab237898b94f4d6608d4bc025bc2cc875153bf86b8500ed2d73c272c2ab77bd5377d4064e861719abb9f167273e86e8fe0c
+DIST firefox-131.0-eo.xpi 626840 BLAKE2B 
614d7be3dbdcf69dd879f640386b261903ee04cd7fb1619d2df42038ce649557261deeee3b4f77a3b1ae027285a908ba0a321057c66f9f1919255779ce63fdb0
 SHA512 
b295a77a6428560ed2eec15aca4ed2983bec422ef8ff167aaac6ed77d6e4e7a7e028555ce388bb550d8a9bfdccbcff525682cc7383707ed17921506c3907b42d
+DIST firefox-131.0-es-AR.xpi 638977 BLAKE2B 
a7ac7565bd2702aba18cfe7ff26c09e7a1909e4825a50c63f30fa031ff5f801a3eab9f605cdd1ed01bb70a8bd1c0bd1988dcb3a0c42d7831214e24405e825851
 SHA512 
56f2a962548f1a79b14d11429b807aca231927fb7194b4efac5874bff4491026f97d9ce3ab7946fc25b6b2d14b1f47ed4cd8f097e311e60b5741c4b106ed854a
+DIST firefox-131.0-es-CL.xpi 638182 BLAKE2B 
ddbf8b345592f3a74a1534eb1de5404198f67d561734c2116e963d32566ec72f8fcfbbb465fe5584813b685cc29d9e0e20db06178164c1a08b18e04b45a4d09f
 SHA512 
abd81af97e0ebedaff4d9807b74a513c390d7dbb64fefbd9a937e56865143f0917feac90fdf7d10e3a87d93eed2c7138de972dbabb73bae56f3f7732281cde63
+DIST firefox-131.0-es-ES.xpi 629780 BLAKE2B 
e526493301a9c73bb90a70c4ba0a1edf0f922be0cfc45ff25e69951331103872ab723baa1e395dd9516eeb80f65f478993821b7fc13e0f42ea9930fb375f39c3
 SHA512 
4b69a110e3deebc36d7fe2e5682ddb41d0a09cdffee016af62f9b68bf5e501909f3a9dc8ea49c6ac2acf52c8b98f8cd79524064f32ae8e5bfe567dc043fddc81
+DIST firefox-131.0-es-MX.xpi 627916 BLAKE2B 
97aca4101133d86c3b5f15e0634621a2f91ceb9a110344559c40c0059fff99d01ca2a8e32eaa6b7666a738ee3550656404986fdc2a50a124b08feeb4d9c53dd4
 SHA512 
b10ff8115244591c3fc8293cad52625bfe696571440bcefb34f5766c81b4c07b6274f565245af909c811cb10244ed00ec4ab59c8dcbded240ad80a47bbf7229e
+DIST firefox-131.0-et.xpi 544063 BLAKE2B 
b41277050d063a95138a77f65cd37cd81e3c69814e4bc83ff2633335244560fa3fb18c3fcf2c129993bca38ad0ff74f5e0d5a49f1c5e1123150c259be18646b4
 SHA512 
975e75e02ce3c4421e3eef900e28f8467e52637c10d22f5c43f7ef44e03b41cbed1b50e8744b91b10c63e6856a9014193545aed2e838fdb5498d2c8f9fd3c178
+DIST firefox-131.0-eu.xpi 606299 BLAKE2B 
8f87db5f6a46ee8174274db52abfc6900939f106bf7742bd7cd94f1f26eeb7cde8b7de5cba95f1c39c280737b20e7a498b46c51810bc5a084665d875b9d4c397
 SHA512 
03aa0f0d9e656bd69a782fa512dd14f429b82dc24a63cf906ee89dadeed012fba4ea444d8a9b764140b7eeff9bc23cf0594d905a86d45c9aa4f9322b90d09354
+DIST firefox-131.0-fa.xpi 595015 BLAKE2B 
61d2f0f59383d838c411b6042001f1875e590b48551ca81cd2aaef2cf12e829d6b1dd13c1968298330a6a98663edab5a75d75954fed1616fe6e7821291cb91d0
 SHA512 
ad8a685864fbc8e3bbecd8782d5ebcc1f53ebb47eb780ec64b405d7efef0e5fa8b29fb0abd2df205b6019047563d7eb3ca55a355896e342ab4b0d6a123f03137
+DIST firefox-131.0-ff.xpi 480069 BLAKE2B 
4da2ef30283d2eea200ca77bdfdc1842da93fd0da7d5241a051723304f15965978edc571cffabee872854a492699236aeae4d8d568bc99133ad8f6b202b0bd44
 SHA512 
3231593e348b3e5179f1c9c48359069d7f8e6bcec1c2870e4f005624362c32e242df15e7707732a7218fcd386038a3f97e6ca0a86feeaf81222d22a150778903
+DIST firefox-131.0-fi.xpi 619029 BLAKE2B 
6766865c9f1bfad847006a4c409f6f6f7512aa63ccaeb72ddfca56016ddc31dc9fa39e1faa34a9a45e76096b65c7541c9138523dee84016b0c4a388ee2435188
 SHA512 
0df1bc02c0980e8257fca44d15b03be698bdd29f59b4ca74f7f11f612de235bcc1be5eb2fdb96b4d0b14021e6e77f115314d3cadf5152e5c6a89ba6b115fc60f
+DIST firefox-131.0-fr.xpi 652461 BLAKE2B 
a18db864c5f5a0b72924a1537e7edbe54217010012aaa7cd3dfd87e23efa7290fbe38baec8d664bb4f4d253a7c8d1ee4761de23130384a74ed0db8fc93634ba7
 SHA512 
7e16965c24526f1b7599a07cd93b708eb02854f5cb5d5e3740479c1ff9ff0b96bcd35ae65216f20dff58b80e09daa3d03d95011b1611644c32915aab085d9750
+DIST firefox-131.0-fur.xpi 644994 BLAKE2B 
2d9ab4fbaed6d97ae5b3422c0e05cd5abfa9d73f6b576deb73e91c32fd171684fa780255306f11bc618dfd550ce4a9a04736b82598c16c22545323f483d89f17
 SHA512 
fcfef9d9369e785036e562cb5f242a7e812e99d7ca8c0a952a82c89fb54af6f24b8888158ed253acaf15fa2026aa9200d2ba624108a3dc4ea74f711693f1fdfb
+DIST firefox-131.0-fy-NL.xpi 634731 BLAKE2B 
a143de89d00b332e751625363c3135865f3dca8df8eb8dde601807b38c5bc12e34a453fc6ea9ab2b513099e98e7c7f8a894f858f54eb58870bb63b159ed610e3
 SHA512 
7d11e78232e19470be10139bf5d92eee49856b49f7b9ed252fd6ea2a452225a782b1d55927fcb34335e23246742de202ee0ccadb7fb11ea9f8a0e6876906cf72
+DIST firefox-131.0-ga-IE.xpi 475192 BLAKE2B 
16a079e79acf8df2c1d7fe2c71690c7c14da610876d3638cf2c9cb40de5a784264ba091d0a1026340b6385d8cbc45ec83f59387450d045c4688e136cd538b944
 SHA512 
d52b8471fd73944276757e4c9d84c7c7a6e25c6f3bb4a58d0f31401ed6249615de3e461238672b32904f67282699b94ba088ad963a7de5826e09673268d5e916
+DIST firefox-131.0-gd.xpi 601268 BLAKE2B 
424e834e1ce4de0c5f5121b7ccb5789680a572ef46b00aa340e62256fa7ab8763619c8213b294a52ff1264edec195adcd9e2e8b6e5d11478fd50e3bdbcc1ac94
 SHA512 
ae60976d73d7e238740690a379e2cb0fa3a460eda419cf8ff011ad372741f6e0d810d1e5848469922ee198e30aabd31fc8819dd17b6ee5f739363bebb8fe4d35
+DIST firefox-131.0-gl.xpi 612814 BLAKE2B 
5c7f925a3f551a53a4f74c1e1fe0991500125ca35c1385c5bc3ba716a59005d0d1e8c5437092b7bcdd8355bff1b46ccbeb55d35d0c41bd19f44d70aed561635e
 SHA512 
82616b47c9c59d752c549ed86b13a8641109e24dbfef1b9c26618d6e9eba32ca494a937ac661f0239f7003e699bfef7108a5d64717b0d72b5732df60caeb47c3
+DIST firefox-131.0-gn.xpi 647606 BLAKE2B 
e980aa121d2d98382fa3768727f7f3324c010b76842c54eceef39fddb5dece8873debcf07bdb8ce4bb1c62796e6bb75d4e422792d52b71ae75fafeaaafefc204
 SHA512 
07efb73257600aadfe875313725a2705f867831ead16ee75d54604ff0e2880d1502957fd698dfcc33316ea9f68c1e03e2cf6550ef4cff35ef8e3098f6d5d5ddf
+DIST firefox-131.0-gu-IN.xpi 531670 BLAKE2B 
7eba95b1afac79e63c359be28b9d515518494ef067ded4231786cfe88a31e7b04a49f6c6722669471bd4d6dd101109f136d05842274225be19f5626d462318bf
 SHA512 
27288b38b31c155fd31c91af07e63ff9a4913214dc292e229547b7442ae011ea8d3e3cc758433c9ab03ab29ea280b6802f6324c0e44e7f57d69a5b2044a2821c
+DIST firefox-131.0-he.xpi 641666 BLAKE2B 
bb3838fafce88524e10db28613f174108f0b1b8bdaba3d8b6552b9bf4d1ef93a61e7172a446c0294982f8f0f4faddfe942e715358a54a064e76ce8ca4fa5d727
 SHA512 
984b3e3095769945e748aeed5862bb5621390215259f10c04b2174edc2ee631bf222eaf129b9d3f9e78aba383fd21ed96c0824fd436797d710427b6a8c463dab
+DIST firefox-131.0-hi-IN.xpi 570986 BLAKE2B 
44a5e788694f67bdd9e9dc3bf584fb94256c35c2a93f23cf59336e33eb5235068b3891335aff6cc1381144d080320807b488027042690991284fe2ecf1a0761f
 SHA512 
8b24a07721096c9fab41eb029b38d47a489da1a467430a5d343fcc9efaf4d38add836413acaea5b1142f9b4109b1234db9034e9295dafc26ed265e4039ad3883
+DIST firefox-131.0-hr.xpi 621594 BLAKE2B 
672efaab9160cc38d9a31db3502beca56d3a4eb3181afd7364c20f7eed5171a90bb8d99270fa266aa8f6535692994173cf71a32813486655af54c2842cefa625
 SHA512 
bc38bacee90dbffac74bed98a3b31bdf5dc371ae5c67884d460d0bd272a2256bb5cbded45697e5f40cbbd304c874d20bb7eed6c294d726e8b89589b23bf2052e
+DIST firefox-131.0-hsb.xpi 658185 BLAKE2B 
d528baa863f29d43db14d431d21f8e96bc5ef61e5c8f59ab58d0e51d5f7dfa3641f607cb84895543ad584258c401f1bd375c451081b4ec59e33abd585594bc32
 SHA512 
960bba96e0b99cfbaf58251ddef977c326ce6a00d4c53ee2fda992b6aade301647391248c8ae282a247602c10b27928b14920d908c5ca0874116e2447c102004
+DIST firefox-131.0-hu.xpi 662943 BLAKE2B 
f37a12f6f8482c597e9d6dfae2c8e89cf694f3d3dc6d935976339efbd0d2622e71648e54cbfe74b638c8aef6c014b2a1992d90f56d26e6731adb2e9a18cebf68
 SHA512 
9df4743dd05a791209f5a9af6e3d68359d8a9ca970c9bef252659b1f23bcbe5e702bdae32139f1180715fa23f1548c9d8854825c117187ff0f2108c2f4957b89
+DIST firefox-131.0-hy-AM.xpi 655957 BLAKE2B 
a6c8892e6284ecfd07a19ac509ea6dbc2f8dab1b4ee6909106d8a564f1bbfee858b20ee91283796c92f2bc055d03d339c7a223980ce3d77e6cf4be30de11b4cb
 SHA512 
1e2dff44422d0cb00568aaaec837cf5480043b703735f672f64dc0c08de67eede417f00f90d2953aaf0fd5c936cca11a213e151fbfe0add0cfbbea116dde8f9f
+DIST firefox-131.0-ia.xpi 621926 BLAKE2B 
3d0a85d51f2054f65996ce0bb5a240d5fdf62ac4072bd122e6d8a986e86fcc2fee4611bbdff3f43dcc0f2e59a91e2c292146b4578d86db3e9294e1952376febc
 SHA512 
a5a1b5b9acb5e215c65f0922b071466f6f9d3a3443045263a69a1e18cbf8fab1fe10c79232178c2a9f71249d1d1465371c507e4bbaf529150bfe13c35980093b
+DIST firefox-131.0-id.xpi 589321 BLAKE2B 
4311f7e3922bf18c5dbb2c43039d247def2df5d4f377d2ceea54c038b0606757a1b427b1e0e0f5fbb5d7852ef8e09a300f3b854dc9e7692f12e0058b1c0aad26
 SHA512 
2d8da793c1373608bda30bb835f7f2b1282a61769a8b9ef1e4bc5535555c940786ae5eeeb58b9cf97ed360eaab4b740a256b095659c5eeb3221dbf3944d2fcc2
+DIST firefox-131.0-is.xpi 627295 BLAKE2B 
0584612cbf5bb7acfe8876726d30ee3b5519fc93d909b544849db686092f7639504af61c2e6967ae3b4b4b387f1fe65aec1e8223598ab47156256c7e8c810420
 SHA512 
8654ef268f037685e058eaef6bd0ff7e916fa4b68a3fa083778437ed3d38720da8b9cca57f2ab615a69ee73838b64016c9ea7bb3a62d6135d65fd056f8287dcb
+DIST firefox-131.0-it.xpi 578393 BLAKE2B 
06755ba6f7e2d54cbe0f5b3db8a13b4787a21b63b4d0098395143f94749bbf9eec7c4c760df8f6223322c96d2c7bba63eebe2c0b368e8cbb8c6c91cf192f8b70
 SHA512 
1e7643fa840201368c3e218b0d278351624fc0a2b742c96fb553282a5e7996e13aad7ba8efcd41886c7e88bdd5161f5806c7332436e6c259e81dc9e593114e34
+DIST firefox-131.0-ja.xpi 687804 BLAKE2B 
024983a7d29de9ccf53280796749ee119b5ae56c19ba12f0bbe8f74bab4f4507f03b21f5913e24b5efb240e9f11fda89596ca51ac4a76fe3d2e35eaa13fd9623
 SHA512 
da59fa6f60982826e2395e73c4cf58f49bbd0e910ba8b5e5cf79b262c43cc8685b251dd0e5c9a4bf4d3db6d8f1a66be852ebce93402df7f7fe7ff4b2adc7fdea
+DIST firefox-131.0-ka.xpi 665759 BLAKE2B 
59f863ee4146003fd5458138ec76b5a5fd9db781be8205550f23ce45d8a9616e3bbb7e80340671df0d2b7a86384d52f49895793145555e979fd02ea705ed14c6
 SHA512 
ef9801b1ca395c864e2e7aad802b3f93eeb29c0e64c8acce45f0d4bb796d4095b61506f43014aca13eece425a8cdad79e7b05c0d87c3391bfbfacf60fc57795c
+DIST firefox-131.0-kab.xpi 618858 BLAKE2B 
f8c4c018bf707bf7603d92a8ef0e914e1bafd730ddb24e313f67c53e63ac0ac942a464dc2d5c998f7bf0f7a38d3fa0f9f043f98d3dfbfafc0482ff303be31f35
 SHA512 
a55057341644a966bbef1ae19c3899e3c626419a1187db436a115b0a6bf90d873819096ac8e5b3ba378d1604668b9a7eed216ece11d2369e6fa9c4a65e5da01a
+DIST firefox-131.0-kk.xpi 720151 BLAKE2B 
0d8facdeb3d190f038714a860f5e5211776f44e695db2923197d7fdcdaa6ecef3b21b0ef157bb2f2b287eb0070c390009dabac168caded684a538cbc78b2f716
 SHA512 
d68440b27a48f90af325e9352557235d36e2814ad1e6de797cef42386c615d1367b3707eb6bc217abbab32714a4aa40fc81542af592dbab49e2eb319a8c5b0b0
+DIST firefox-131.0-km.xpi 530159 BLAKE2B 
cac5f1fb502af908e85ad61541126d357a47f1bbd44e9bdae0ffa6c1035af224e284cf7a0f65249e072d8f337996e084ffe292ebc4b200695bf07dd79d4558e8
 SHA512 
7b8e6dab2e9e9d1088949515e3561570d990f0f03ef200308f8af707630ce9e62084a85726f12289b3d1b0b95e4831e6e18e5cce3f985fa7feccc7138d800939
+DIST firefox-131.0-kn.xpi 495168 BLAKE2B 
907c3ef0fde43c602954c8d1bf71849da9fa51b2407b4de7c1744745ed2d705ab465d6108479790f3322eb5417d5289b8eb7ab7a833c3865e41671929b29037f
 SHA512 
42e5f13b12640fea3466be5ab443bc2ae6f79dd377eda4f465190e68f841c2c730de1758af2f13fd45841e0e98e8ff451375bbaf3aba28ec777152023d8334c3
+DIST firefox-131.0-ko.xpi 673052 BLAKE2B 
b52a927bf1769a86acbe2abab3f50390104c3cced7e9dd7693e4268bd61c3583ed2093dc8cad166a17801d705446c08b8ddb2cc33c0b2040251664ac889ee20f
 SHA512 
7699e4f8ce55dbfc68547d416467c0b6a6f880af3d80be1ee4989c709e2dafb31976f4c27a8611fc9c08051401368f22787153974868d1d6f031e7509df16745
+DIST firefox-131.0-lij.xpi 488457 BLAKE2B 
46635018001089b0d306bf6b142d93fea3d131439c7572a3dd1b4b35f25b033ef05588071724fe74117118504ad39f5741acee25bcb5a9861a95d09023456813
 SHA512 
9c5c2347b06628bdde767343983973cd6d782e3769c2e4c4b86ee4530547c3b8d922cf39f6b5f60729b9e21c5225a8d0456d1c39860766dcb330aaf744984481
+DIST firefox-131.0-lt.xpi 577191 BLAKE2B 
8d6d93e8525bd8f14f39046d1d8d2f3756c18447e66da3211ff10fd4823e69acb1ec92c0488fbf941c706454bd051c5d111ee13f68ffaebe2114b4a57ee8a9a3
 SHA512 
7a65a8b0c246e177e34ffa0ccf33d5bf275a3abc69c0671401e4a31cdfc4dc17bc7b1dbd97beb30dc725df47553ae290e5ee2d167e0f74201961ae68a8acfd9c
+DIST firefox-131.0-lv.xpi 590484 BLAKE2B 
0c3d28905dccd4f407a049be5a18561c4e195800de79de17bb5c81e41fa3db0a228aa893617a6dac586946c0b9ce531659b3cd38a6dcbe4da2d414ba6f977fc8
 SHA512 
d1fd0ebb2740f2897eb2556ce6b798225ccff4a80cd44bf79af2241bb324d13d17f2f222872eb323d6f5fbef46ba852bbd4102dfa47c6d825f3834d700c603e5
+DIST firefox-131.0-mk.xpi 497777 BLAKE2B 
0acf9cd240ed4a68f76080be3b6eaac4e681b171bc7e41452a350ab87c52721c72247052684dce823711215a5ab529c5431eeffb138d9580ec8a88c4d8c0fbec
 SHA512 
30d349fd976b7513a6e14ca4d2c9554c3ef678561fd3e7fef13241bddced9424d42c6e5fa47785294d2c92ce873d2c80d32693789d499380e3406c5b6dbb4f87
+DIST firefox-131.0-mr.xpi 536292 BLAKE2B 
d632d4e5ae295e8c4d21fea67d1217d640296d7e0baa8ffd28076d08ab5e1336e900e5f0d64b197d899db9d7f478c2d1d610b0af9a569461544cee3c7af57e19
 SHA512 
a8f479822b43a04672f85760bd5d0a9faaf1372507ae93b258634670b93abfa42d23abd3600f8f8d19516e9d8f6cbb9bedab953b84cae21eff7e156a93c47b7a
+DIST firefox-131.0-ms.xpi 454052 BLAKE2B 
446c504f14bafc9cf2fe83153739c3e33353cde6bbf9d6c23b077b046df9c08985cd47942bb0bb5631f2a4a498e74ecd3c092126623f2ecde69fa2adb9e0d947
 SHA512 
ed7a08fa943a3c48e0cda0d8e8ee0a2df6fa3b1a2bbfb5e447a9d46fcb48dd33c37737e392094cbef45310ad37c150568a3d8ffd26bf7ad7fc87412e3c22c45f
+DIST firefox-131.0-my.xpi 522635 BLAKE2B 
5d7615cdc5b6ec87af535ec4b08ae56c5dbf89fb854b187d39d82c41d7516172bc4bc3039d806f9e1d4972b2383f3d58a233adaf629a054fb08950d6233ee92d
 SHA512 
1478f89e314b2e0ba3e9e35d7473498f2f0baeb31d30fefcbcf7bcf8dd466f3a800883d9f199e63e5f5b16499272f315bfb5f74f1accdcfca699a07bb98b9aa4
+DIST firefox-131.0-nb-NO.xpi 619132 BLAKE2B 
8384d496d362f8665f43aa4cd842d0d325c39ff9194b68b30968c69a3c35e8978125449ab779524dd88554b309fd9e0d7b4b283aeff7599941d3a2956d7b04a0
 SHA512 
a7bf7e0284d74a6e81d868ab8fae04956c9ae12232ff8a2c38a433a5a2caac2acc8f0efccd1c74dbb18fc43b958907f8a039ab2c6163eebcee1ff24fee694307
+DIST firefox-131.0-ne-NP.xpi 525071 BLAKE2B 
e21d54102230bb1b0cb88590a025317142430b59b8be430bf8a49f5d03c381c3d82e8ec4dd07f71c8984811e480cbcebecc34bbd8032e071f47a2a8b489e7c1f
 SHA512 
dbb02f4ea31d80650b307e182e8dda2db5bbfd56f3cb06969b602ca2d50a68ca19d0c6ed1e1c5ffb672509afb6482b5e70efac015ca61814398a8807659de4ed
+DIST firefox-131.0-nl.xpi 628355 BLAKE2B 
6e13db80bdb35eb10f2054270e657538d8d65de442ec232c4879f278a91faa47d6e41782634e97dd48cbcb0b59aaa715bfe5699970172578f678ca5e3912cf65
 SHA512 
5c7e86e8ab6f724b56ba71a362922a9db6abbfed60ea5a4886ff2cca4614f75664f95e083dabf20a372a2f2bd0f43fa1371f87268ad5f65badbba293586306f9
+DIST firefox-131.0-nn-NO.xpi 621981 BLAKE2B 
fce6ec94259fdf72a9b7987b507f04d8b33d6bb530e3d0498452d3ce4610837d01a5f0d4ba7302847b5e292ae86f2dca425a4c8ff999596b4007d40d8bcc0c8c
 SHA512 
c3c44599f19fe306bb94cd7883576921e906bb228275dabc1cd0ae69a41476b8706385e9ace99159c0010a373aa46abd99bc8df39b6fc623e1fc5cc6f5edfa55
+DIST firefox-131.0-oc.xpi 618714 BLAKE2B 
f0aa5b9232c8ded31813f180214fb386ca6c85946f23638cd7baf0b79ac841281aadb752bd2d71c73a2c4f4f239462431e411d145c1c999f7a5538a3947d883b
 SHA512 
adb7874b3616f50ca28ff21ecbd4694c860a39c0e115be9a0ea4f61e40d54ece079b2a8ef40c5558ad035e5cda146f78d945c431f5bd3805e5a7617940f20aaf
+DIST firefox-131.0-pa-IN.xpi 705113 BLAKE2B 
533d5a3fbccc9572af692a5da8dcd02fc932cc25a51842f6f44c9712eb7a1746184dea474911771e985149243a26b3fc5f8fb0263d2d93b151d8593190c90cb6
 SHA512 
f61dbe5e20241a73996e9de4e531ad020d26f528e1ef09c03f26ed07e3f8784623a8158a2ccd778b7d957d9b95b14d316e1fc239550b06e76be198bf7ccd499b
+DIST firefox-131.0-pl.xpi 647708 BLAKE2B 
bdedae96e29967f217af000bf52e2bb1b33855c98bff658d9a3cc914b377b1b4aed8bec5d2ad0b525aa8815d0485b8b87f0d9d7202728ad8bdd7d5364df5a775
 SHA512 
0465d3f72a52003bf26d6fcfa686fdf7fb078e80c3a78ca20222facf1a741738afd2b54c8bc7dccf4f61bfb124dc89b10749896d8402495a3e6fb2c45dd9b964
+DIST firefox-131.0-pt-BR.xpi 633017 BLAKE2B 
c0ef3230361df746f3619a4bd0d69763fe52502fd642915e58d4ff57b5776de6076166379246d9c9589bb32823aa7e982af75c6d7b0ceae4e76fa56d271d0048
 SHA512 
3f541325545a58870000b4bcdf74301c457057ae7c420870f578319eb7f854a294063e6cfefef1ca3304339327b51a7c43274a4d526db23283a4d9b7f34da7ce
+DIST firefox-131.0-pt-PT.xpi 639638 BLAKE2B 
cf28f08e27a11189596b7d3ffdcd45da0481240f6e80569b1c8831cfbbf99735b2d8ae9a29061ecf871233294d4647a6949a1de276d93e59a4617c2c4c7c2e13
 SHA512 
bf3ef14f2da8203e07c7d29635791b81b63950c8aaf6eb285914d1b97113b39fab6e377baa3e0b63fb7890df9f16f7182c8e08e04e77ee61b98292df3db8f0fb
+DIST firefox-131.0-rm.xpi 629140 BLAKE2B 
5544f6cc438dd40bd8286a9e63d6a96326b5e3e75937a7082ed05b489a196c50c7f62a6cd959e0bbf657037bdd70840e01b872bef0402289466ecd6f464108fa
 SHA512 
2496e359aec52ce08aaabd49c1e74073064eae18898f2f89287b425c670d014fd91eea34a00478ba6ea483085b1607d567a86691c1174e9d3624fc5f1a0561f0
+DIST firefox-131.0-ro.xpi 554255 BLAKE2B 
27c85c68207e902d1c7484caf31ce84424ee9c23c53c9c841c752673152f157c7b29b96b594f97e5bd9582e70a090e6961e143067fb054062c0b390efffb7e70
 SHA512 
43f8c1241176479daf7ad497e4661b49581c4c947c836576810ba67db5e2a454ab1a7af01ccf4db3c32355f3697200e86bc3b5203f65b7c0895ccf197306eb5d
+DIST firefox-131.0-ru.xpi 732956 BLAKE2B 
2617978ac98dd89cd777fa818509a7772f09c31df8a660f1a36437a94832603c7a9ab034df8bd6fecbeb63e2089ca1bb34ab43286041148c1226f0a1034a0b02
 SHA512 
e7c44392d7f6711e066d6a2c7f8cf288dc5d19db9e0fdbe8947b0c4ed74e1b6a861c11863e5b1582f297a8bc72bed2f7f8edba68fd96d8f1714213bc7dd19b48
+DIST firefox-131.0-sc.xpi 594031 BLAKE2B 
733f33bd96450b951bc7c91864c6d1732eb8e1b25926c510f01fced39b3c4b186fdead510d2814e7c2bb9c8b4065e88ee06d22c36ff06245b95205c81b7fee8a
 SHA512 
61ca08f067ca57aeac843251cf68550b00252fc5207abdd914ac5e3ce4bdd20af1fd08b791e785f4c4f900bb61a77f8afd9d887f87fbc00df4914ed58d723c72
+DIST firefox-131.0-sco.xpi 515583 BLAKE2B 
1e968d4ae1eba91bcb41d2df8369c7a3a7d4b2a8453cf5c41b4e476b276ffea128cfa89744bd4b1435eaa839a934337df339e44c721a8a049048918e3208314e
 SHA512 
90d644b9562e72cae318a69874c8060c7b9986cc2eaf18174aa04ac5964cc5b9ea2122aa0ebfb39f8261a76ed1c0003ced7c3d76972a0511325c787db16948d0
+DIST firefox-131.0-si.xpi 617762 BLAKE2B 
add85164b60b29171c9ea28c31bc864dcea981d939d9d620e84875fed2438c2abe2652aedff6c73019942ee0381751f34ffd4857e885a98578845c0c43d383b4
 SHA512 
a8b81cd7d4435df7b9a784b592d1cefd3c9191414cf1727b47d14d8ce2d45730a8cd9aee780e6e54a0f69ff6f961c66ccc33b08c6becaa323c76cea14f9373ec
+DIST firefox-131.0-sk.xpi 664161 BLAKE2B 
c43b09f64edbd29c7e0aea0b02a72f32b94afa9647f421160252bc974205f7be1dcdd5cdf0fa983536bcd38c90d5962de7f555b3ee29c325119327b7e43a4f02
 SHA512 
5c9b3f63b2ae742e0000da7f0219d7da788df56d575649be6e6b21931ea875be90538b831b12eb87b9984b312b542f928b0fb8fea5b21842949f8202807aa5ab
+DIST firefox-131.0-skr.xpi 722675 BLAKE2B 
18636dc1bdba5462585d4f0816abdf1d68917108cfa092a6c5efa584405e0a89b10f2a725c13be4bec67672fc5f1d87cbb26c88155d0fa3c0da2f547f670de19
 SHA512 
5e1e2ceb377f3e75cb8623b1c300c82d8c06ce90b1daef15868d1e7081cff8243a839cd2aadf2bfea5d5679f54829c90981d81fee8f66d43b0e4c8a5660e9187
+DIST firefox-131.0-sl.xpi 630604 BLAKE2B 
378b92e18ef69ea3c440aed2c831f36fc3609c2261cd5e2dec4435071dadcf4e0c546d906e2775825b061199114eaa66044368e77b475c074eca4887c3324b6d
 SHA512 
85284c1c15154110cd172d58ff0198ad418422246cfeac03196da8a17a59c97f3027e8e58767afda7526c42ed8d5b3b4bd3584a7dda2948a8462c92112cf9bc0
+DIST firefox-131.0-son.xpi 420499 BLAKE2B 
430090a8ccb9da5614d4c00e9176f1250c423eba0fcaea809267d5657a0728d885a10161a2bc5ea23cf649fd0db5272dff218424333ccb55428b0390521ceac6
 SHA512 
df272bb57b2eda4a2ebba969e3971238262e8aac3cc8fca5c3930079a6a20edc89037d57edf52dc5cb6e661600286a9b60226b796949bc5a17a1b7bcd7cc7096
+DIST firefox-131.0-sq.xpi 649700 BLAKE2B 
afdb0c5127148c9d253318128bd577b76347ddd848511ddcc33a9628bb12c1b1e955036e2baa5106520073cba9244510171b9337ef6a995dd0c5930f36f32dcc
 SHA512 
e6d5b6d1ab8a8056cd8910160c535bda98e11b312f6ec69102ba59bdb6b058c19eb902b4a700deceb922a9999e7f7c5b3fca4ed730b9c559c41bd2eaba27fe63
+DIST firefox-131.0-sr.xpi 644244 BLAKE2B 
8dc70cb7d3954cb722031250923851a8755877e20ce431ea72427d02a2346692b3d7eb371f575e5e64c8e3dd5af78b160bdb93325fd3b2215f1cc2f861e6d210
 SHA512 
726e7dacd5cfab0015540150a219c9bd43749fd3dc834b46d8c36539e3544321c4b78d2e0af2d67f1a455f9d609bf4cd0990fe176526790db095d8edc91ee006
+DIST firefox-131.0-sv-SE.xpi 629846 BLAKE2B 
4a4eb8a0dca7fe169dafc33142b4d6e81e192aaf34ff4ef8b60e69ea1648a993c8c03e98c97569a24d60f98fa71bdf40960e8d6007ade9775b096bea77f9e226
 SHA512 
750555c774af6e19b1bed2f0065564cdffdeca494e0f692d5d9bb504c816171be26258c10001e21983e778403aa7d461f50e92642b1ab5ad6085453cf0dc0725
+DIST firefox-131.0-szl.xpi 530725 BLAKE2B 
b56ae6e1daf0af3866e4d6212b45c0938e3113247184dc09d2ef6ac24c2a0ba29b55625ce97fb5ca01534c2ddcfc6bdfb81bee015733c610f4aaa40d9b938d69
 SHA512 
00b3154fe42317664d50531dbdcf520ea38dd2768d9a36416847f0c13a6a1e926004951798f0ed8180b0c48eb5e50c1707289794bdefaf19a446ee80133bf865
+DIST firefox-131.0-ta.xpi 511445 BLAKE2B 
f417dde4fe08f5ae189b0ec82863865230546d57fa2513a2b672118a7b3e0e78a182e22e69313eff5f5124afa5042c778d086d8944e3cfb3ee2f384e1dd3faac
 SHA512 
2ebcfee3c48aeedf2d038ec3399c975ee6b7a5f6adf02a53d184c4f12ffa748f097431fe7d894c58f494d4ea0da0bd4a9ab6d5b9c1fe020b484ce38dae35bc56
+DIST firefox-131.0-te.xpi 565382 BLAKE2B 
983c70fab450eb34728b707b7f7964e95faea8fb489b6fc31a11db7aea4d5ffbb052c6318a9c43662afc36679adea184302e062a6b10ab146841ec5a39952fba
 SHA512 
c2f0a21e98a38319212d195a56d56cb92a01dba9c5097915a1c615e31ea52349a283ea392e5c780e6fcbbc3819a2ccf0c57cbbb9cbc5a3b5a0f121f7e54135c3
+DIST firefox-131.0-th.xpi 708981 BLAKE2B 
b6c43da1a88f48a747554a64ab4cf8d67924624177ab87290debf27dc72301da0932edaff4bc7738dd21222d0e57b63bdb1262c174f0910365516077a24048ab
 SHA512 
4793187198017f59c95472822cee34e95af9b857f6b9688d1a60e74a0d613eb668fb0bb06ff9ff9d482d4b9e8e780dec9184deb23f0b250ba30fb56c36247bd9
+DIST firefox-131.0-tl.xpi 538583 BLAKE2B 
01000b44a968556cbabf1b323d52eb1b2e447294ff4a57c0127da569d0366ce6f4e6333e6bfbbd9df27d5398940590d0220b3ea9df051819d6dd4a70fb790def
 SHA512 
fbc5f534f25eb923516e213966fc108e606566d85dfacff04844c94ade44671ad8f47850f4f3313db22e867cf6298ff3f027f2849088f2c386a215e861f4f0c5
+DIST firefox-131.0-tr.xpi 643429 BLAKE2B 
a0f35e8d454323845913d1f4f4bb7f6dc2ff7f16c546041ae972172b7330a1a5677edf16b8d91bc4828d62a43a48057cfad3ed2eb0afa1b378892637d74a3c70
 SHA512 
478d31b77cd95b00fe8f7be502547db501c38b78cc579b44f385cc84f5f432c8c124aaac15475edb12f72cc734a86649ba41ec15d42d6fdde2bb08fea5c68056
+DIST firefox-131.0-trs.xpi 508556 BLAKE2B 
a973739032a45f858e46ec1f9384e8fb71c3bb59f71e15160c1c77a2e70b7f012be3b789b61eb026f59862c1bc06c2de0d3a6214c1cbe9c98cf731dd6be975a7
 SHA512 
af53837e853efdfa46d490e3ee6e84478eef91b7ed4e35c7873134524dbf0197aebd50bf71618ef30baf7753c0ba8edd3f01914912bfa29b914b7e0d09b40b19
+DIST firefox-131.0-uk.xpi 724261 BLAKE2B 
51650a9c318cbd5051de6d7cf4e3a89f5bf54e25daf3cea10b6182a909625c243696801e8118ea1df1ac7fa776748216abdf92987d8d92e52f03a07c6f74094c
 SHA512 
cf5c8fc173f7d4925830252e632a1c5e8c229db4e3ae285896f27684a58d263cd9a69052d1bfca3a261331182311ec5e12cc6b60b18cab910569547c3b774f55
+DIST firefox-131.0-ur.xpi 564468 BLAKE2B 
d2e616c8e73cc6c5cefc08a64536a79dc40dc1e048877c561355b363b853edb7bde4a7ba819f9485a69eaaca8f00ef9f0902848024c295d395d18e7e8e0bfb6e
 SHA512 
b1cdb51ea9e102bab045da697791b117c898e0a7ed6559a6bd1d6f652d285ebccf3bab76c1182e81c7b00d482e2f1627d6d0bbf1c2e76c95bb250ebc3767fca7
+DIST firefox-131.0-uz.xpi 483057 BLAKE2B 
d55eef3cc718b9053f4432459605ffa7c49c33c840eae96d40d38f5e5b3d45c367b2371f0f98488bcaaab8cb1881429c2898a6621187b2fa4e7a9563ea4c24c4
 SHA512 
28d0682ade5e82d3777bdabc27ac4277ff1d935439d858f831f6d93e73adae0882a2af88bb32fc835117800903c59bcca6928e57ef24ddfca13d280e02353c8f
+DIST firefox-131.0-vi.xpi 667583 BLAKE2B 
ec659b907cb7a5b5882b10ee1bcab75113ab0e81796355934aef4a94d1d7cae1b25e7b97629118cb318828ca2aca12e4fe87da234c9c9cafaf3402dddead7d2b
 SHA512 
295674735c32a3198ff6c2731b7faef3ae85ecfadb320116460fe3efaa6de653ebe1db77a2ea4f2e54f82902065a672992d242f082305636f0f61be06a19a345
+DIST firefox-131.0-xh.xpi 421249 BLAKE2B 
a006441cd86f2e4c505492b21d7cc68df5751d5c6d62b03188d3ea5e44e47afb327f07c6745bc0486dfbb00dc268b3db941cad6f42b70462cbae5c2354f90601
 SHA512 
bb34983c8ec72f0247eb717a5e3805365ef6af7986d2315bc46b15b4380d007360bd9477ca4b71614fd3b920f53244f88f9d9ba3b6b86cc5d593debf0496e455
+DIST firefox-131.0-zh-CN.xpi 668952 BLAKE2B 
c1389fb8dec0f1188ac7b5721e8b27917bd29689ba5f47d3191ad702e19dda83fd6317f1a5fbe0783d66636aeb0c8306c5a27f015bc04ad2ea55130a8a61eb33
 SHA512 
1d7c967786304060409a4ccd669cee1653835e6e18bde61ff7b90e6090f193ab99eb8392d4b7af4a46b25f542a1281e87d5c06b2b783c4bdbdafc2aa172c2ca5
+DIST firefox-131.0-zh-TW.xpi 670927 BLAKE2B 
13de3debfffe7f4f8e4b7713c501bd273b6ab3144f5e4580a7b2d2f775006b87f90f88640f84974b86f9ac667b4d975407bb8ff4adaf0b03e4ec95580bc064d8
 SHA512 
e1603c59b42cc957db8a0610c562a757d7e5b7ea74fc4f5340d08e04f7d01742087482760bc7a128122e9e810d74a69dc2dfee78a0597f78f2ff2aa1382e4954
+DIST firefox-131.0.source.tar.xz 566366180 BLAKE2B 
ffb8c12ba76f8d06501287ba1c61279e9167f0684275d8cf7e2c3be0697326ded824ccd60f8e44ca7374b59e9e580b2dcba23d2dce4bb184d2e73faa86d9d5af
 SHA512 
324cbaadff4d19a18d56ca01ae7212ac8362e3f5933f3017a19b64c35d58606ace8bba3672790ecb48d4a849619cdc95701440701725e8eb2859d55f1e8d8e3c

diff --git a/www-client/firefox/firefox-131.0.ebuild 
b/www-client/firefox/firefox-131.0.ebuild
new file mode 100644
index 000000000000..f38e59b13795
--- /dev/null
+++ b/www-client/firefox/firefox-131.0.ebuild
@@ -0,0 +1,1369 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-131-patches-01.tar.xz"
+
+LLVM_COMPAT=( 17 18 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+       HOMEPAGE="https://www.mozilla.com/firefox 
https://www.mozilla.org/firefox/enterprise/";
+       SLOT="esr"
+else
+       HOMEPAGE="https://www.mozilla.com/firefox";
+       SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info 
llvm-r1 multiprocessing \
+       optfeature pax-utils python-any-r1 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[@]}"
+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 +jumbo-build libproxy 
lto openh264 pgo"
+IUSE+=" pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu 
+system-jpeg"
+IUSE+=" +system-jpeg +system-libevent +system-libvpx system-png +system-webp 
+telemetry valgrind"
+IUSE+=" wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell"
+
+# !jumbo-build? ( clang ) -> bmo#1914774, bgo#939004 - causes seemingly random 
compile crashes with gcc.
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       !jumbo-build? ( clang )
+       pgo? ( lto )
+       wayland? ( dbus )
+       wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+       selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+       $(llvm_gen_dep '
+               sys-devel/clang:${LLVM_SLOT}
+               sys-devel/llvm:${LLVM_SLOT}
+               clang? (
+                       sys-devel/lld:${LLVM_SLOT}
+                       virtual/rust:0/llvm-${LLVM_SLOT}
+               )
+               pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+       ')
+       app-alternatives/awk
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.26.0
+       net-libs/nodejs
+       virtual/pkgconfig
+       !clang? ( >=virtual/rust-1.76 )
+       !elibc_glibc? ( dev-lang/rust )
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )
+       pgo? (
+               X? (
+                       sys-devel/gettext
+                       x11-base/xorg-server[xvfb]
+                       x11-apps/xhost
+               )
+               !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.104
+       >=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-gfx/graphite2-1.3.13
+               >=media-libs/harfbuzz-2.8.1:0=
+       )
+       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 "sys-devel/clang:${LLVM_SLOT}" ; then
+               einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+               return 1
+       fi
+
+       if use clang && ! tc-ld-is-mold ; then
+               if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+                       einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+
+               if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+                       einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! 
Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+
+               if use pgo ; then
+                       if ! has_version -b 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+                               einfo 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+                               einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." 
>&2
+                               return 1
+                       fi
+               fi
+       fi
+
+       einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+       af ar ast be bg br ca cak cs cy da de dsb
+       el en-CA en-GB en-US es-AR es-ES et eu
+       fi fr fy-NL ga-IE gd gl he hr hsb hu
+       id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+       pa-IN pl pt-BR pt-PT rm ro ru
+       sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( 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 lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6600M"
+               fi
+
+               check-reqs_pkg_pretend
+       fi
+}
+
+pkg_setup() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has userpriv ${FEATURES} ; then
+                               eerror "Building ${PN} with USE=pgo and 
FEATURES=-userpriv is not supported!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6400M"
+               fi
+
+               check-reqs_pkg_setup
+
+               llvm-r1_pkg_setup
+
+               if use clang && use lto && tc-ld-is-lld ; then
+                       local version_lld=$(ld.lld --version 2>/dev/null | awk 
'{ print $2 }')
+                       [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 
"${version_lld}")
+                       [[ -z ${version_lld} ]] && die "Failed to read ld.lld 
version!"
+
+                       local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep 
-F -- 'LLVM version:' | awk '{ print $3 }')
+                       [[ -n ${version_llvm_rust} ]] && 
version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+                       [[ -z ${version_llvm_rust} ]] && die "Failed to read 
used LLVM version from rustc!"
+
+                       if ver_test "${version_lld}" -ne "${version_llvm_rust}" 
; then
+                               eerror "Rust is using LLVM version 
${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+                               eerror "You will be unable to link 
${CATEGORY}/${PN}. To proceed you have the following options:"
+                               eerror "  - Manually switch rust version using 
'eselect rust' to match used LLVM version"
+                               eerror "  - Switch to 
dev-lang/rust[system-llvm] which will guarantee matching version"
+                               eerror "  - Build ${CATEGORY}/${PN} without 
USE=lto"
+                               eerror "  - Rebuild lld with llvm that was used 
to build rust (may need to rebuild the whole "
+                               eerror "    llvm/clang/lld/rust chain depending 
on your @world updates)"
+                               die "LLVM version used by Rust 
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+                       fi
+               fi
+
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if use pgo ; then
+                       # Update 105.0: "/proc/self/oom_score_adj" isn't enough 
anymore with pgo, but not sure
+                       # whether that's due to better OOM handling by Firefox 
(bmo#1771712), or portage
+                       # (PORTAGE_SCHEDULING_POLICY) update...
+                       addpredict /proc
+
+                       # 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
+
+       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; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       # Workaround for bgo#917599
+       if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+               eapply 
"${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+       fi
+       rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || 
die
+
+       # Workaround for bgo#915651 on musl
+       if use elibc_glibc ; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+       fi
+
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make cargo respect MAKEOPTS
+       export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+       # Workaround for bgo#915651
+       if ! use elibc_glibc ; then
+               if use amd64 ; then
+                       export RUST_TARGET="x86_64-unknown-linux-musl"
+               elif use x86 ; then
+                       export RUST_TARGET="i686-unknown-linux-musl"
+               elif use arm64 ; then
+                       export RUST_TARGET="aarch64-unknown-linux-musl"
+               elif use ppc64 ; then
+                       export RUST_TARGET="powerpc64le-unknown-linux-musl"
+               else
+                       die "Unknown musl chost, please post your rustc -vV 
along with emerge --info on Gentoo's bug #915651"
+               fi
+       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/libwebrtc/build/toolchain/get_cpu_count.py 
|| die "Failed sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               
"${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py ||
+                       die "Failed sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed 
sedding multiprocessing.cpu_count"
+
+       # sed-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 \
+               --without-wasm-sandboxed-libraries \
+               --with-intl-api \
+               --with-libclang-path="$(llvm-config --libdir)" \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${ESYSROOT}/usr/include" \
+               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+       if ! use x86 ; 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-harfbuzz system-graphite2
+       mozconfig_use_with system-icu
+       mozconfig_use_with system-jpeg
+       mozconfig_use_with system-libevent
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-png
+       mozconfig_use_with system-webp
+
+       mozconfig_use_enable dbus
+       mozconfig_use_enable libproxy
+       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
+
+       # LTO is handled via configure
+       filter-lto
+
+       if use lto ; 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
+
+               if use pgo ; then
+                       mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+                       if use clang ; then
+                               # Used in build/pgo/profileserver.py
+                               export LLVM_PROFDATA="llvm-profdata"
+                       fi
+               fi
+       else
+               # Avoid auto-magic on linker
+               if use clang ; then
+                       # 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
+
+       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"
+
+       # Allow elfhack to work in combination with unstripped binaries
+       # when they would normally be larger than 2GiB.
+       append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+       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 tc-ld-is-mold && use lto; 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 sys-devel/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+       # Set dictionary path to use system hunspell
+       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
spellchecker.dictionary_path pref"
+       pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+       EOF
+
+       # Force hwaccel prefs if USE=hwaccel is enabled
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+
+               if use wayland; then
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel wayland prefs"
+                       pref("gfx.x11-egl.force-enabled", false);
+                       EOF
+               else
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel x11 prefs"
+                       pref("gfx.x11-egl.force-enabled", true);
+                       EOF
+               fi
+
+               # 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
+               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."
+
+               # 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:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+               -e "s:@APULSELIB_DIR@:${apulselib}:" \
+               -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+               "${ED}/usr/bin/${PN}" || die
+
+       readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+       xdg_pkg_preinst
+
+       # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+       # does not need to be forced into the LD_LIBRARY_PATH
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               einfo "APULSE found; Generating library symlinks for sound 
support ..."
+               local lib
+               pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+               for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+                       # A quickpkg rolled by hand will grab symlinks as part 
of the package,
+                       # so we need to avoid creating them if they already 
exist.
+                       if [[ ! -L ${lib##*/} ]] ; then
+                               ln -s "${lib}" ${lib##*/} || die
+                       fi
+               done
+               popd &>/dev/null || die
+       fi
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if ! use gmp-autoupdate ; then
+               elog "USE='-gmp-autoupdate' has disabled the following plugins 
from updating or"
+               elog "installing into new profiles:"
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       elog "\t ${plugin}"
+               done
+               elog
+       fi
+
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               elog "Apulse was detected at merge time on this system and so 
it will always be"
+               elog "used for sound.  If you wish to use pulseaudio instead 
please unmerge"
+               elog "media-sound/apulse."
+               elog
+       fi
+
+       # 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