summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2024-10-01 14:06:30 +0300
committerJoonas Niilola <juippis@gentoo.org>2024-10-01 14:06:30 +0300
commit48281b2e5048b3f3ab41d291086f4dca519502f3 (patch)
tree997730426c64a1b9d4cdf89537c29daa3a292df3 /www-client
parentprofiles/base: mask openjdk:23[javafx] (diff)
downloadgentoo-48281b2e5048b3f3ab41d291086f4dca519502f3.tar.gz
gentoo-48281b2e5048b3f3ab41d291086f4dca519502f3.tar.bz2
gentoo-48281b2e5048b3f3ab41d291086f4dca519502f3.zip
www-client/firefox: add 131.0
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/Manifest102
-rw-r--r--www-client/firefox/firefox-131.0.ebuild1369
2 files changed, 1471 insertions, 0 deletions
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
+}