commit: e550e788f7753e6a354a9c0d108b6a392fa75cbf
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Sun May 18 14:04:10 2025 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sun May 18 14:04:10 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e550e788
www-client/firefox: add 128.10.1
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
www-client/firefox/Manifest | 101 ++
www-client/firefox/firefox-128.10.1.ebuild | 1380 ++++++++++++++++++++++++++++
2 files changed, 1481 insertions(+)
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index d66419cfaab8..4be670bc7c2d 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -99,6 +99,107 @@ DIST firefox-128.10.0esr-xh.xpi 452424 BLAKE2B
65408e14ad04c9b7442d6472cca9ce2ca
DIST firefox-128.10.0esr-zh-CN.xpi 686329 BLAKE2B
6f0c6526e06ad31d87404ab22d98ed86b8d46dbdb6db009be0d439bd87f120754dcd595ba96902955c7076e56b6d5791d6fc13ec8f38998fe5300430236721c5
SHA512
606c64d34ac13d1bb8f9da88e8b13f7ea907fff2c806d96b192e50d547f4b70ee71d1197f7d3e112db44a7583e4d7be2cb27a9f2d43cddaf94d818107c0bbf2c
DIST firefox-128.10.0esr-zh-TW.xpi 689141 BLAKE2B
9af1f2ef2897f1d95d7c58886dc5fb0c89854ea95d9cc30c8059d8f0f04b6994329df4b5c4c6e4ca2f3cc3a2be30fcd5cdb25dfe719dacb1f2468a1f6387ced6
SHA512
c9b3b94956255d94fd08458f78b94ce7775e3868cbc6392d94bb693cab1cd065cca4b9297091c30d464f1166085617938da0b2c177bbd7873a072b2513f650ee
DIST firefox-128.10.0esr.source.tar.xz 556644356 BLAKE2B
8ff5d2301d02ea32dc9c7635bdaecdb2f8a859c9f0a3875d10f9e0531e60768a88a51761e49de34c2c0ade73bf661db2f1bdbf0b72e19783415a23d14a4cc528
SHA512
c0f349cba626e6ec16ff0b52b7d21e05681acd1377fd1111992860f8079373f631ff997d833a3596c72a6d8c6e4f1d051927fa719f1d37a72553dcbd5348659c
+DIST firefox-128.10.1esr-ach.xpi 482240 BLAKE2B
5f90915bd7fc7f0e0807f701fe3258f8cd9e5688dde1194fc89252d30fd084d17de18e8224cdb74916f744af14bc35a27414a0a6c86c900806da916cec7bae95
SHA512
77c152cdc2706a72655b199bf2a4a8dfb88ccaa78df15956869c226046e90ca6f43e962dbb500c7dd779b32d73ff8007aa275eee67f725e5428e72ef416c8643
+DIST firefox-128.10.1esr-af.xpi 446596 BLAKE2B
999768a0f57b563e71773c2adeb9a186109ed295c41746c2cbfb76549ac9e0ed8c870731759da7b8cc2203515e592c5ab0b8c7e89b01b1da5482dcacd94501dd
SHA512
242ce9718ac2c1b39f324f145e5fdc5d3cf554a7efe09663ecf72abf62d5d402ade5b1c5ab1e6c86e1f957b9aa4ae06fc9d1ccf83afffd34038e7864f440cb3c
+DIST firefox-128.10.1esr-an.xpi 526058 BLAKE2B
41d3a1a7cccae174abd954b363a18c12b124854177fe6d07868af6a6fee039877710cce0094ae16224f609fda6f64c4d49122b7cda56680bef59f963365721d9
SHA512
b65d092a1975b40988ed0fcd27d778c0c689fffd86112295f55fe266a7339e6e675421a6d71e2422cae969abcb294e92515988385d22938305b91230a9f8a74e
+DIST firefox-128.10.1esr-ar.xpi 650463 BLAKE2B
2fe244b40e5e3e938278f5b0c56b5f469f98c279d97a9f514c5979c0574efcdff358c528994a093acdaff2d2a951b054c41ce7d312f1048773302cb8f048f093
SHA512
1b9725e952208de2f036828d7452a165f61a2f60024c002970c34ec209bdb4b88da98b7044aa2d2ebf34438c1e3225696ec1124b5b6f8695781b82c3f623c304
+DIST firefox-128.10.1esr-ast.xpi 508565 BLAKE2B
2bb640c73d1837001f350584afdd98d39b75b9a625d9f61a8853266960cde736cd388d02ba299486d8352572f708a322ac6006fa9e57923253f2c4ec8d202352
SHA512
7f690754e442573ebd3c1b126ec42b49c57f42ecfcfed93549140a820543a7b88406337494d910060f8584082d456306900972a900c26059e098d1a738e92d15
+DIST firefox-128.10.1esr-az.xpi 509839 BLAKE2B
89fb4ea73cce53ced76845a3f621404eca24adac194bf23f507e86017cb84928bf19490adb6e2d1cdf84f595d9c9596ec9a45b13e12295028ef68b26e1490734
SHA512
f26d2628271a7bda5a329cc3006d0ea32735af2103dd56e38805743de0075a7b4f2b32423127d753cb4356e29361d268fe44b9511c4d0575971178515f825045
+DIST firefox-128.10.1esr-be.xpi 748084 BLAKE2B
3e9f93b70e3a96aedc62d58b61bacbc81182388029dc2fc5664744164f34d3cf68379c7fee279f9c9a9bf270cab80050dd947559c015753092a75f0d3698de1f
SHA512
58d22695c48bf6ff11ce7af92e9b1f0af9c597f2d7fa6e608462722bf8136ba9a5e1443a3c362855db2be1ac38b440fab6717181fa087ede8ade34b53199e53c
+DIST firefox-128.10.1esr-bg.xpi 672068 BLAKE2B
503fee1fd5dc0712f3e2cf0a997c885285543f0e36a00d36996e9d51d84ec1ced2157ae21025190f978bce6fad0bf2dfa3e8bad04b59bdaee68c94bf20a18e02
SHA512
1a013d26af37baeaab28da19b6cfe3c37e6bc215a3a9a8a6c7ff9010a45d030f3147aee4c20cd2d9b8833c51cae844135414aa0b558ebbee8b15a694b75e62ae
+DIST firefox-128.10.1esr-bn.xpi 624734 BLAKE2B
a0ad0b5f3ca5bbf187d9f22353e1f4423c4406425f6a371cb160d599a1d5fcaeb02ddbde630218002733f25d81d850dd637cea7b0ee4754d4153d684ac903d1d
SHA512
2f7ed2d00dd4efa97d5315bfc32e11f83c0222979ddc0b18a7822144ae2520919c984d903aeca3f8f2d013fc718cef65d567c0fd5f657b4bf711ef743c96f82d
+DIST firefox-128.10.1esr-br.xpi 598745 BLAKE2B
b5b0cedeca0f4e40647cd63635d0bd8a3055d5d697f130f1845eb9b8072bc15fed5007a23b0ebea2ec37e49828e33b39ce5fcb949d517eb82f3490b9449c1fe6
SHA512
54ef70538f9c5961f223b2d6ce245ef1f91d5ad4452312304a74945544bb250c4b63193f8a8ea9904504e9cbe1e7050f83695c08add34be963058ebcc86e8fed
+DIST firefox-128.10.1esr-bs.xpi 566003 BLAKE2B
208a7ceba94ad37a059b7ac3e65e534ab6f8875969d64e6d15a7377461aa62113963f8b111eee68f8e3c2d1611d5b7d8def018c21a9d653dfd3a74039a2fa453
SHA512
a96683a1bd689e95286b9a6866c8779f7b8f99220e33ad81971a60ace30bc5b6bfffc280baa28635d15bf4bcf3a1888bca47f64e306ca5d57f71e8e251d558f0
+DIST firefox-128.10.1esr-ca-valencia.xpi 561151 BLAKE2B
7d7458d43c0d222974785aa7a225b15578139de565748768b9b70625ca421b82c0ade97dc2d5353c79774f6c74ec4bbf5bee841f3ece1035b09ea660dbb85ce7
SHA512
f131a7c4cdd2642e572c063daf1e9a952e551de539690266bcb6e2c9d8140480bfaf24272b67ca8d925a810908550af838cd8a30672c44e8c8cbe07ca8ca19e8
+DIST firefox-128.10.1esr-ca.xpi 609961 BLAKE2B
30542a9bb821ec1f19fcbeef66356a4dfb40067b4c2584060d6edb68f875d7436fa3b88ea90523c6a3b8fa4d314444400262acb4502a58e1740d462782cb9298
SHA512
364b4984a4165f609c0845afd963d2029f65cd8f23b66f7ea9bebe346e1a8a6803acbeb9d138a84bd06f179f59ca5c5f2d6c9c7da45826f8f5686b4236caf596
+DIST firefox-128.10.1esr-cak.xpi 601475 BLAKE2B
44e3a079468e4bd84f3d9c9c6831c32fa3cdfa3d7d69150cda33576460062fe864b1ab5d8162f7c9e45d46ac2cbb99b85cfd76959d6020cd79f48cc3b83b54c7
SHA512
82293bcd989cbf2120b03d43f739f11f8796c767b175b72575cf2cc5e047f42bb7b40d161c3faaeaf59c5a2ad0a9c8fcbd28d6a60ccd7bb9710be16b4d7a0d1a
+DIST firefox-128.10.1esr-cs.xpi 690625 BLAKE2B
837575c32508de665837572da9c41ec5126d5c03f05b788cedd4c176db8b817176aa9804bc9ffa7664686fe89878933f259c9239a8bdb12f809e83419a929581
SHA512
4f80e37e8c1abd5b07e0475ce7176ce8488d372d137ac54ba9d8866f5f409edfcac40e55db5a1b44b8b272315426be904381fced0939a517561f18ee3672d5c3
+DIST firefox-128.10.1esr-cy.xpi 650609 BLAKE2B
003a155cd8b224833b8a200ac9f2b97caff2e4360520f3d8c4b749831d138c39c85159a49e173d087157ee9d4ec5e4623f00e4c64fbe7adf2c28f01755f1854a
SHA512
c534e0b5ea39a9d8c4ee1f7b5adab5fe538c4593740840c34974f9c4edad3a3b75bd27bcb735048fdf941522e05376bcec9c0aedfbfe75f95ad4081858072136
+DIST firefox-128.10.1esr-da.xpi 638635 BLAKE2B
355f0b026e75e6e47fb4e897156d5c8d5449a11295a2f0f8a1267016de5b28fb4bc79966bca612f3c138c223119fc2426bead41f3795cab8b7f95244735c9eb6
SHA512
85def8a21b0f60e3b0a67ce23b35aaa3ebee6867cee5e123ec38201747502c40c370f4e4fd41d5d0d10490f6804614f013d5d12a0ded28aa95ad0d77b83f1c7a
+DIST firefox-128.10.1esr-de.xpi 663131 BLAKE2B
eb541394dcdc6281ef48964449b212cb152f81b3bb87ca36534c771beba1ad9992b4148ffe05c4caa3e6127906159bbdf952812e5547ad2ccccbdae6f97bc970
SHA512
6341e6fcf7e98041723a01656cd02269544c8768ec97362c6d260b50d0ec9ff47360f19f8321166f8b82f3f40e80bb1534459b1bef2b38d81a66cac390321cc8
+DIST firefox-128.10.1esr-dsb.xpi 679875 BLAKE2B
ee5b446a9d857c2fcdc7382afa5973c9c4ff9cf44062ce72d48aff0c1916a539f998b58dd7378a7fc3c8de117afde512f1ddd7e577d81920e86caf3d2ad5f85a
SHA512
55e2080818acb0c26c31a090e31a379dde18253a788ff56e6a52f118d072d657ee6f9fcc4f5feb5a57e640e5134c273d8a15ead0b92fe0d61549c540a730c8c2
+DIST firefox-128.10.1esr-el.xpi 764550 BLAKE2B
0cb197feab0173dd830e100e9de75dd7626396ca07310619ad2c62e21241fa66a6cfbc2aa1492304443330e1effb5ade9bfd798360deaf248de154335cd2d806
SHA512
27e340c3f5f2dc49fa4b5dd8e34fdd6d95c32a4538ef5dfec6ba70d4a358aba7a9342083324bb9269b82910e33e0745c60e291e630fcc1b9269cf84da52aef68
+DIST firefox-128.10.1esr-en-CA.xpi 610419 BLAKE2B
f36261eee4e896ea99f8cf460e089143ae4bbb5b816bf01bf04d0fb06947c5909e78e1973e52c117d5058d51d6cd9c024959d52b63783b2ac8773539f4243378
SHA512
eded316f08085c02a8e66311ad29fcae1d60606aa213a4f394865a53dc3351f4880b2d342b23882cc97e763e1f6dd120b39b24a54c41e354587f8e992ed2edaa
+DIST firefox-128.10.1esr-en-GB.xpi 610776 BLAKE2B
c1f117c6d965fac6a788ac7de7d0940c8dc926347ce8b7ddc26c97c2856aa419421db607717d76a413391f4a3c00b2f5a9968495b5c16118eb15954992f0ac60
SHA512
e874046e4cb04759f72713892bd19c85997a19ddfa2f205afa86b847596c3feddbb93b887d0425f050b3639dd54ad641dcc0e0fa226f17149ffe4956ced235eb
+DIST firefox-128.10.1esr-eo.xpi 643531 BLAKE2B
57356305adeda7c3126aa25eb0e521743dfd62f5d6d6a516ab41a6b72416fb4c879448a783627257b1a5bb8fdd73ad436564a3bcb96ba22175bc88c682c4b6c9
SHA512
1d224d0090c05dfe034c94d61a2cc0e32b843c090d6c0e360edcbb2f5db003934f35c80268cbe8f27702893d495ff0eb2c373ec6dac5c171b4442e1af254c216
+DIST firefox-128.10.1esr-es-AR.xpi 655621 BLAKE2B
fc951b5c54491b69d80fb29d70158b145dce5f9fec49da3b34c65fc0ad3b443353bb6cc7fd0d900df5f5d3702dd47ef302d623b192e177b1279e9f8ae2302270
SHA512
0f6415363a1f3070effd9c5ecffa59edf0f3b01b846d0fb9c85fc9014223892ca2ed0cacb3cb4acfcd4a2da32a9c0c787f8945d8fb728bd81d3be3deaa2341d7
+DIST firefox-128.10.1esr-es-CL.xpi 656061 BLAKE2B
f703ad28a2ce9f5cd110b4b521ee8565f959d7e82104a904727eebeceda67d249d10d2426fbde682e93101ff629e753bf4fb92d766c34768d123cd325ae18b5f
SHA512
c63d9d36e906ee6ccc9346bf8b38d997188e041914bfb82cdf0e526264bdb3a3f133dab6f398b93c70f4749771315d1da99cbc3d13db8b8581069a33400f5ba6
+DIST firefox-128.10.1esr-es-ES.xpi 655182 BLAKE2B
3e67acd8f8c459252fa9e10ca2ee0ccb894dee5ad8269d10a61bb900204abbb2b790eb6195a831d45e9c79eec5d35784ca68edba9566f2baa02bd9bf94bc193c
SHA512
0a0d349210b09c6d9939d3a3418d1c4eba90c9a1cf75b7ef9e0a903e0cefeb63b2f18db680168f7eaf37316945155a8a47b2daef8dfb7d64c24fc051a98f4a36
+DIST firefox-128.10.1esr-es-MX.xpi 657392 BLAKE2B
7c6d383c1bbcc220601ab3804aeb61b5b60e9b0f9bba324744344576c01878aa429f48d929f0197b7208d8d3a0bec7136dbc93d6b028e27e9bbb213ec1cd4887
SHA512
82d7062f09e1e9b3913acfdad9ab18ceb8e69b1d60e309e17349131e3842007e98c2f09acc5843fa424d2dedaf91793479da9174e36594b12af7e0a694b69734
+DIST firefox-128.10.1esr-et.xpi 556265 BLAKE2B
da714fe962c00b0a339d1f2134226977125e272f8a9cdccfef80a0e8df8243be70bcbc5443f91289484d4f32f0393d3040d0e114a0c3666c9b0af3e9a40c377f
SHA512
a6f50adbbe2ef758733e4ecd6f5dd16400813029f6c36046774caeb783938ece5bfa425d9af058b3a185b729f7237b127d2019f7c0df9f2be97ed2d7fa8e34a1
+DIST firefox-128.10.1esr-eu.xpi 623950 BLAKE2B
bd9740aa3cf2ea8343237e597198004f4c099cac727d60f70323565dae409a61f7ddceffe922d68bff96ff208c66ee6c972bc65088cc92e51e4a70be556b8b9e
SHA512
bbcb07f7ea5b44aeb0d03335ff650a6cef8f0678249698432d1470dfca513dc5b2a522ac13e6613bdbd819f966da23c253f36a09d97d69565ae3ffede5aded47
+DIST firefox-128.10.1esr-fa.xpi 631011 BLAKE2B
43020a044130cbe782898cc619a7c4b39791e065b9038496adfa27488bc3566039e85abb9e3ba124fff3d92f81f76354acf44726f1c15e5cca4bf889f182c184
SHA512
2bf4f9f96f536bbfa8506f60df4dbc9f7c46308054114ee5d9759e5ec1685a8496a49022589da47aabb1a56f777370e11e8d181fcc2422fc86e9e40ddaa994ad
+DIST firefox-128.10.1esr-ff.xpi 497838 BLAKE2B
da297f4d824ec41fa55351747050d800e4b7f1f678dd23dd6fa6d4b5489908c914f408b2e4d4ce9450488e415151c89531d3dac011da324963968a393fab5f90
SHA512
04bc891d21296e07517c18416204187ad302787ea15c8c820bc4c430bc36fe25a27ee206a87eea7dde4c50dbb2b8cbf8cdb17af39a23424d0c84eb718e98d567
+DIST firefox-128.10.1esr-fi.xpi 633886 BLAKE2B
05b20a977d8834e24329df88ef747a770ada625b9e81c0d37a573ecf8a9179ed11fa844df84899923adc69854be2832fdaf240975d3520f843fdb26f60528a2d
SHA512
2077969274692c15a77c55abcd347c1950a4dbb54bc665260c238e76b8245dc7ee226438f8dfbe34555ab70bf7c6e296f25889b4948fd6fcd9b30976bbc54836
+DIST firefox-128.10.1esr-fr.xpi 669616 BLAKE2B
f06e8aca10c591831fdba9c46fd6c477431bf93d625641b9184e218d249a66df82ece891dc4f8e53a020ddd1cd527c7b3a903a0ecbe69884a7eb11a7e82486a9
SHA512
bb7a9989087d3d626507026d3b913adf5b00c592d51236e364ea8f572b946aad5ea70da7dd658828023987fc56cbdd7e0efed6bb9bf5e94432a0338446b77ff9
+DIST firefox-128.10.1esr-fur.xpi 651565 BLAKE2B
811002972488c5a36be84f0a310b3995295964ee188aa6edebd4fc31c2112dc010be16dbfeac6ed31e2bcb6c38a4d7ba9f9b6ada1a90f1e1e88231659c560db7
SHA512
9d32a2ed6853bdc7efa942836e84f9e606b646967b6bcea8e917e7d0d30d043be0e71e91e0de9e8231f7544ee9a82c662eecdff64fb1333b6bb776ac20236dee
+DIST firefox-128.10.1esr-fy-NL.xpi 652083 BLAKE2B
3f7ed45e5a71b404f986cb4b1ec27cd7d0af40c93c0e1bb79e5f2733ea5bf63c873f5b500d9a835e055c11f3f580d9c90f63a8644d244393dfe768188fd570dd
SHA512
47aa70cb223ad5b4e12481f4d925031476a53b72a9b815853b28e6fbac76860e076842dcab5f9c6c0d36286f4ee7284239562082b0cdeaa756c3d2723dcabd97
+DIST firefox-128.10.1esr-ga-IE.xpi 490836 BLAKE2B
7e0f197f82932735b6fb0d940ec264d4e8c31fcd293cc9f1835d9379bffd8457413b2351ec16725504e821ddb43906f501ed292205ecc13d4b215b6578505199
SHA512
e33b49a43afed85c5ba4d3418a9b2ed2f6f2534ef3d2d56c5b57bf8335cc73b2f6dcd5fba8722cd69a588de7664a6f83fed9b49fdd662c21e63e669540da9126
+DIST firefox-128.10.1esr-gd.xpi 609615 BLAKE2B
b6320419ad64ca117f0ab5c8b99fbd18ba428043036636175ed0905a7ab183a274e224f9ec27fc61e404f0a4f185e687ad35f5cf3397982866325e9567a37dda
SHA512
a6093c631f22f7b3c4d531d5bc4dbd0553c91a6ab49a9dea816f9802493aebc2c2b92ffeefc68d8c8a83cdf515ea5e0d1525e0d77f552c9233485f6b7ef00614
+DIST firefox-128.10.1esr-gl.xpi 615550 BLAKE2B
5534850655cb005ef7e5280eff39272bded38403699f65cba137d791b9bb10dafb13faef8514c0eaef3993d1ac82450237d91c215b6d78d37446708ed6f69eea
SHA512
43ddc8c9d82638c67142bb7932866286ad308da689ac652682ed35f87ab059438bfc6d5370a44756ce68161a4e5b813beadc538a5f1f83d282703aeb1d5dd8dc
+DIST firefox-128.10.1esr-gn.xpi 659905 BLAKE2B
af60c3d7cd3e9aceae04c0357a811825564264ebdeef43ca314fd7874cf2779fb98eed5be99dbbbccca69d31668c7823087ba3d938e5945b0792d8097b3e6873
SHA512
2e2e821d70df8fea4ee93e218bc57611e63834ff55693156704dcc4c728daffd25547d36ba84825b9c996d23701a7137eb6edb386b0f968b8dabbebab39f0c90
+DIST firefox-128.10.1esr-gu-IN.xpi 552334 BLAKE2B
e422c30edd08bd44e76a9f0ba966e618876f583946cc15650cc338e23e31e1ac6b7699111085c1f34cb5e9eccca24a0dee13263e550c9a8e054650888d777485
SHA512
d1abbbb888b46a7171242f19558c0d139479a8d66e2e081475407c43bd30bddcd77a87ac96ec514652bdbdb4beb1db504e7b74b3faedc05cb3705109788eddb0
+DIST firefox-128.10.1esr-he.xpi 659466 BLAKE2B
71ad350fbbde6138f77c6e0ac0389cf0377b974d228fda0faf69e19746b4f2d934e09bebcf71298cb18c0916dc9853a42f65abc71359f40914ec56767eff854e
SHA512
c81ecdbb51fde9d9ab9968ab07cf06a8aaae9ceb5c7f38620f81580957479cee5c3dfb35dc06fc3123086877a31bd9223c724ff64e9577eee44292b20797f984
+DIST firefox-128.10.1esr-hi-IN.xpi 578979 BLAKE2B
5caec24f7b7b703024d4932a67201d834c8ca2a766708074e16ed38d94ae54d0ab53921f7d7d3ef716177984654463811f3d437194d32a5f033787a8a3088b16
SHA512
7038d0eff092ecedaaf24cf0a179e9355583bdd13a29a53f131779aaac7a7752f10aa993864b91579f035667c83afa69375e425b569a9b0a311dd8cd972df464
+DIST firefox-128.10.1esr-hr.xpi 645465 BLAKE2B
e26790236699c147cfffb7e0acdd3cd0ced7990168f624ec459be94000ce28b075b01e7a171162203d07d0d5280596ee9d7b8643e22218a8268d4731a3b802f1
SHA512
3b8753d5b484930f08ebe55ed051807c18bc5a9fc02a48546bd990a9300c6c44816b54877d5feabcdefd5d114dc0435a3c1ea6f253c17dde202ad30be34a09dc
+DIST firefox-128.10.1esr-hsb.xpi 675862 BLAKE2B
4cb1239189a4328a6f5b326d05a3726e7ba3417540ea52ce750dc12fa4cdc53572b32208b2c3836870a9589815e54e2cd8f01d1813f5cec77687905fce13f939
SHA512
d01e46c84d988f7babf9bfc82ad1578ee82d91d63e71974e074152b57990b87d3a45ba3e34a7f36a710e7ee46abad959f7a154aedb3ca49425ac3abffd264379
+DIST firefox-128.10.1esr-hu.xpi 679681 BLAKE2B
ba6e79b336955a13121112691eaf7904f64e63ced37c837d07a7f7e0ef362596390e08a4b80a8947987d42a776e80d6550ee71b6d3bf92246578e1ea4619bc1b
SHA512
8b9d7d36704e22b9a87aceb4239bc9a26d6a91a87ab70b9de86c921c96dfa340b865a246811261b7dd001772a8ba7f42e0f49a9267fd64a58c99451d51412c25
+DIST firefox-128.10.1esr-hy-AM.xpi 664448 BLAKE2B
be31d4388fc8af207f91cceba06623571ad1d816d16b325f349f92f84706d61aa2cf3592f2f59aac29912179c1fed093a9d7fbe1658396145e14990e268ad38a
SHA512
65f0ce1735de41771f2a0752baae784811050dc70b8cfc5554c3323d0468ac03dfcca0bbe7191cd088badb2990895435d77a07277f3efc215710e0db6ce11782
+DIST firefox-128.10.1esr-ia.xpi 637955 BLAKE2B
da8b4b08cf3f166fe19106c58171358f2281eae018785597f6ebd70e28c054aee75bb6d1fa0743fd1a4671b91e39ba7da753ddef75cb0c8dce9eb99cb1ca697b
SHA512
984aa8bba9ee64bd40628119cefbac2b57229c09221ea308da9320196a8f87d901725e8ceece99edb3c64c9d2a62c4061026a92b5b8d46d7c4d8b8bdcad2a6d0
+DIST firefox-128.10.1esr-id.xpi 625996 BLAKE2B
9a0dd04b5956d4f513a58f790f5bcd012a4edbb3c0a0bef04928ed94f47817498d13fed2b95d9cde02bad6ceca3e6f3a32b88d22c8efe9e6ae380262f4ec8baa
SHA512
816699f5d4ce7a81fe07e8bf930a2dc200d9ce5a84dc3c09cca08011feb00614de2671dee30b71a3e30d0656e66421739d9e81050bfe1afabe8e41281ece014d
+DIST firefox-128.10.1esr-is.xpi 646726 BLAKE2B
a2076b5e550dc4c04a1da56d42ba0e2df7fb84c4e300cfc3d2033cbb13b673fff4124e2df22d27eb4eb359a9323f58ea64a6a6fbe6a7391dec5ca0198d89ea37
SHA512
0de8d17b6a88be05ec0ba18aaac7aec051cdda09d9faf578b71653b81060ed44724c6689cf8dbf10a571512efd01f25dee349dbaba5cc81ab4a95a85a1f9904c
+DIST firefox-128.10.1esr-it.xpi 648855 BLAKE2B
3d1333c86a57eea746801357b79d64294287190f8c0cb9c94128f8f72242a853ed525b3115d1fde42d2e44517dbe8d2fdfa5b39ab0d9b5bdc0e97a19233322ab
SHA512
7257e9f235197d02df388d1b4c170b3f73100f2ecb585520fec693403a0c2511a40382a74a40f184fb53677684caad485ff45d7c3017bfd3aafa33f88e2c3b5f
+DIST firefox-128.10.1esr-ja.xpi 704115 BLAKE2B
5fb6a85b85d6c9601bfc17b17a886234a169eef312121342bc89237fd225181a187118df2106c16012e106bcec3bf5aedf41e382b9bf6ab1930e1be458ffbb47
SHA512
9f11992d163f39e54cb4673e40c08b987a2c07a87d7df50f53c10e29c48a8f580646f810c0a2392c52bb1b9d70963c77af0a07e6dea167085db049c2ba639a6d
+DIST firefox-128.10.1esr-ka.xpi 714504 BLAKE2B
48bcf7bb11b534652aa519aeedc7444e2ce80dcb95ba5be84c6cdb84682bcd9a4d23cdb7b3b9093df94f0413729fdf5716e4cf0a9c720b41d2ac58751cda4366
SHA512
37bffa7bf53a8a9dc7eab8d7ed48246cf31ccab2a935ad40bf881cbb632c0cdeeeb80a8923f2a4eeb204eacdf5127f3d56370511bef2972a921f4452dc07f8be
+DIST firefox-128.10.1esr-kab.xpi 626278 BLAKE2B
203b993d493db99f80515abee3f83454ec10025781a9caf2a4d7d9fe21b6c02b596c08dc0c3f0cc290215c03c80b9bb4da2ddcada965ab1be786a22a6614786b
SHA512
91b71a6cad88a5e12347cb00a3e8c799563bf75ff9d981be4012d2bee2852c7620107ed0b5b687b4b05b863c066d1bad427c8cd71bf44c71b0f2d5bfe7737f26
+DIST firefox-128.10.1esr-kk.xpi 734546 BLAKE2B
ed01602a57f5f4f6723fa9b13a10c054bb8b6c7d539f9ed7603abf11329e8f3e790ecac924514af861fc428a6bf2509dd08b6924f1439458dc006f890956cc46
SHA512
a35026a780eb363352b15133f82525f5d3e5a0b12bf1235d51b4746aab8a623642c8538c9b4cb8f9b03b68a69a531608fd4ef77e1ce019ac8cd7b2338d309f05
+DIST firefox-128.10.1esr-km.xpi 543180 BLAKE2B
4a36da5373dae781e7066005b0bf9cc45270a0e1a391a1d11409c028a276f333eeee3cc2d1707e2c7d15c9f9a4f63e01e8b420f1daa48382b91c06fdee378df6
SHA512
fe7694aade2d59b5d9fed87095eb429657f3290c8008379c408e968f993b0adf9a48ac52917aa8b8e73bbf438edc3ff379fed054155d12213da822911c1571d5
+DIST firefox-128.10.1esr-kn.xpi 520322 BLAKE2B
ec6afbcd2f48a69c5f605fbea993b32e23bdc6e104962d8a09836c386c0f0e4990bc38dd528a18aa3f10e34b30c39ab2a8e7bd565432a17fd8d7682f2b9c6565
SHA512
3d6e3f3a9a9ee9814ba8fcf58465128b589f3f2257278bb4c9b2bd3880865379a9f95baa0163511b04cdd89f442c7b039b09d893e25f466a76925c7ebb64f012
+DIST firefox-128.10.1esr-ko.xpi 690536 BLAKE2B
494bc4d2eca4884151d7c33307c46417cb2807b9462baa8cac3f730ba96eb80106d4437875e779ecec0d373d91d02f6d76b7b279380a1bc05bafa114eaa062ed
SHA512
3b1d9d43a254064063f88b91544d17fc776bb93d6e6e00c794db5ee14e7ec6cfa74e63023ca92e21dbd83b16df35d856fa2b2249bd06544e95d48e0f407dcff6
+DIST firefox-128.10.1esr-lij.xpi 506297 BLAKE2B
fcaa10e4523959a19f9e08ff28147ca30b35f75e4f49e2993dffddedb4d6242835487826ed8e371023d8c62fa23ee2f95751a92102b827ab2381c71370429a4a
SHA512
1f25f4793f4b328a3ac32efdc10e36315a009523abd13ceefc0314ef0aa88e1811cf7ef95e17ff5a3ddd4a17008d78c4a2eadb2a4e374d54d6afff2183e11d1b
+DIST firefox-128.10.1esr-lt.xpi 585995 BLAKE2B
13f6dacb5c6b5be8eb16d77d861a457b83dc30edae12b1b9aa364f1e1a9b0b8a60548715f3f20b6c48870718c6374580784aaf2bc778189fee3bab445d42a959
SHA512
71f787e71a25c3c0dac7e7ace704c5b742a37bdb7950b4b46716ce0f3341c5aa7a2aaa02741a6d0518637901bc334ec56ab1408641205ba18df553bd9eb5d077
+DIST firefox-128.10.1esr-lv.xpi 595100 BLAKE2B
7756c55399387c483720b6be3119dee7f65ea9ea3fb09b8f82a11745660726bbfd99b5b43951991f10c616e211e09abb03b3d37559136440a5206a067e03476a
SHA512
2e66664a374d32ba09c374f7dfad9b0e7b6ae977da3efe81e6592525e81e3720a614fc6bc8e737506c148cec21f6d67f7380a863de5863f82eb1a6b7335a798c
+DIST firefox-128.10.1esr-mk.xpi 511084 BLAKE2B
d40afa43f82708c76290b430389723256826942c590b87e924c41cd44dade555a58e1ba733edcb505ef48b32ef36884b6b7f308b715f944fc6c419d7e45d0bab
SHA512
a05b774706390e5fea01884f1abf0619edacfc3c9547917bbbb3b2d5bbf774fdbbf136180e811788305b9ba5efa6026e2c02fa6b1f517a64c601550ad6017452
+DIST firefox-128.10.1esr-mr.xpi 552805 BLAKE2B
27ba8aee6bc6ba7ec9475587c13c34c1a72b37b497cf47127d88027331bac468807d021420ecb38ccfcb0454189f0a2a3a3076138d1c1ad5f8de27f922203b9f
SHA512
ffc90cdb12db670716348e0f19558588844434d115ef8ad2e7b7e77ee7958169064f0103024e7de29a3445cde5908112d9051adec1e89bbedca866a582749964
+DIST firefox-128.10.1esr-ms.xpi 477959 BLAKE2B
82e8f6ceb0cafdfe99a34861128548a05956923a267704ae86d786362a61f85b7e567f98aec2fbf4a312a2e6fad74c3276d3615feec32493fe53776a7c276674
SHA512
9401bf8c4a2ef4df255e21b753bd220503a37d717076eb70d69e8d4a67e6e7d61dd9bf2ea7fbb9291aa405fc2fc42e98b38fd740c579acaea1aa945a2aee9429
+DIST firefox-128.10.1esr-my.xpi 540054 BLAKE2B
0771b62384e1e1493bb34254673071c6c8c7c4946643937c956cac10bdf2e58180710bdc32d07db455d02c4c5ed6ef959f05a91763d955ec5619567d78ac83a2
SHA512
93a9db1ba6e1ffed374163774c1c66fbc2cfd98cc60572dfa259f71f5d8c2b7f894fe9bd12caab24fe85ab3abdd34488043c06e0d9e650e60f31e3df7fb8a6f5
+DIST firefox-128.10.1esr-nb-NO.xpi 627681 BLAKE2B
f64acc34efeb9986fa42d73d36e0cdb29a4db04008740380c0a5b80b5a85b3777cbdbbaf0e8a4f5222a45ce84e6ca86aac6ce0209707f76bbad96401dc0cc32d
SHA512
906eb3656dd09c93b870541e6202e899617282219f97e0fec47db881bb07687ce4c119c2c4207ecbf5e828e50e96350f5aed9d9f8e826a17d70f492e2874746f
+DIST firefox-128.10.1esr-ne-NP.xpi 543822 BLAKE2B
04522ae3a2a23cbe0c8506dc8b2c113bd2e9e60b2c4d5270b9b0366bcfa668d9665ffe30fbd977a01e6dfa29fb1eeb834ef47e909aa21c1538b3115eb95a19d9
SHA512
c7e309d254c4e986529797aa6424c6d302357622a39e7ee4950f8f1912f9aafee713f6c612a1764613e3e02a3c0f7fc3cac6b6a6ea850dd5b6f93c5e246ac2b8
+DIST firefox-128.10.1esr-nl.xpi 645177 BLAKE2B
665ed156a27d9d234555088c0fe23c4887dc6d75db747c7dab0be1ba8a1ef0c50d97e15553b7f819934d658f248fe1a62a488307d29a4b482cfb1f9606161b89
SHA512
ab827f5769e81c258ae38b09f82caaf0c6ec32f7a831a1158490699c32c651167ec8f67d27fd891c2ee91ae900b6a68cb4a4d1bfbffd4cfa6269993cab77ede4
+DIST firefox-128.10.1esr-nn-NO.xpi 630282 BLAKE2B
da9501df8a52597aa1a9e9a112b9144ecf7d585833ed24c13186f3173752d7b6da6d560af5e999abd3c63a4d2ab5f68560d9bf8e9997dcd6413f79200458b147
SHA512
3114380f7666235a1fbfc0edd839df1c6832458f1a3325feff74cd2a98928b79c69995f6b7bff0fda4116a1cb21f18578d399d08675a814404c7fc8dfeb0cc36
+DIST firefox-128.10.1esr-oc.xpi 626828 BLAKE2B
38747edbbe0d770baadf1de5e49bde57b40ded1b5dadfe52a2261160d76570ed7ccd03c976b5b236008f6ddeddc3d3578e5ab97534bf0b9a9f846aa2b1d8eab8
SHA512
e91e6d1aa87489716c20a2d313a663d3638b9fe7d1d6a86da98b546dbf4a448a8c7982fc827d86bbce64135dc3599b5488dc36bfff762724591a37cbf8b72ad1
+DIST firefox-128.10.1esr-pa-IN.xpi 726719 BLAKE2B
3e3bc269a4e2dfb879859907febae75f5b8182f8be8554d348a773c672bff4c33735f757b63a7dce10a476837d80d5b677ae5c220623afbf683cab8d1e5bd7f2
SHA512
3824544414cd8ed5b3553359ff56c6c6d61738a7eeb8a3cbce2265de9865e769d7c0bb7d02b3418dac63f386b2878d83e1f8bbf02d6306df6903012e12b1a9b3
+DIST firefox-128.10.1esr-pl.xpi 669243 BLAKE2B
ca823b68dd456e32ee36597b9cedd7d6f97afa042061a8369d5f65bfc219817a30f18005c578c832e81736634dec0911c643f7f4a137a84b4902179447787961
SHA512
d0950093e0dd9a03777b8df7700033bf42b26904a50014782fb493c0d3bb7ff4284571995967e01408a792a7f2fac1ce8d06db6f7eaf83c4883af9783ca51fbf
+DIST firefox-128.10.1esr-pt-BR.xpi 650222 BLAKE2B
d4a4ff287b99cee74e97be14749ad2b79ad7a8680a5e819b9574e6a70103d310c6ed5bdcaa260a7d4c1e0bc0eb2d95797bfbc463929c715291fb391bf1579428
SHA512
f4e89859c82935be9b5ae22f458801adf861caccc1a19d13cf043708b2a58bc8d248511f91be3798571fa99cc8f00e76c51e8cd35fe0bd227b541d9f70990288
+DIST firefox-128.10.1esr-pt-PT.xpi 654869 BLAKE2B
ff49dc41d87c6d4030ccdec404354bd08faddd32ffec6fca7d14a975e00784d64c42e836a9cc6fa75551ad3f9b72eb7220282694f1880214569b6fda9419f44d
SHA512
4b227a66310cf8bd9862175ee6f01649f68e476b3f854c577f2d87833524380204206c9e564c24576b00e62738f6885e7db0edd1d9f8eae1ae70bd6d61bd8262
+DIST firefox-128.10.1esr-rm.xpi 646696 BLAKE2B
358b469f0da51fb994afd92c0085bb8e15da008ccc4c921375cf4755180f517546e97df87b76e6acaa805585b91fd0feb8a99822601ac1254b51317ebb60d9a3
SHA512
7f0c3a25c8d780692a51c80b3ed72bc447b5425567abb984ebc5837ea74d42549ace2c7d1266683033312cfdaf694460e9c2268715b91572523659e33e13f66e
+DIST firefox-128.10.1esr-ro.xpi 562854 BLAKE2B
4c654c2d96a90029a640a49a6d5c018b02db232d5bee39a7e41cec3a1f5afce1939a46db911dde94e7a0869f6ed63e56ec45d728e31bb7654bca7a399655469e
SHA512
af6eb240618a9930f6fb99a3c4e141c53e04b605d244c2c93a07e8c574b179f82c66ad196b564df729e9a118a4e33bbc2e64d8101e82750440e2f443a8410112
+DIST firefox-128.10.1esr-ru.xpi 753068 BLAKE2B
e1ca5884fd6f2a59e7fbd2a70c1d8637c9a4c4c8c7ba9da43cd8904d46ee152abeb6bc52af1a1ff7a15112dd519e56b6c66594a09fc1bd3a2fa32c8ded612b31
SHA512
e90ebec3950aa28a3722b31fda965a166de709d9db12b801957af354bb0300f0c94f39816788e5f5a6fc3a67f8952f5aacddc3c8e321070b1d0a521873cbca94
+DIST firefox-128.10.1esr-sc.xpi 604294 BLAKE2B
419984b47d4cf225e2a85941152050c4852e100feae27be8f86ab4371eb56dc0d6b6c39a7e732c2ea3e1c2a477cc0d261c018ccc5af2abb6d0f7e7498828cc19
SHA512
5ca9ad02993e467787d54eaaac2082f168c982d97c0c7707612e14c5e1c502fff97ddaab46d74ad588d0a3359e9c71bdee87cd5fc18f1bce59e27e6685b06c8b
+DIST firefox-128.10.1esr-sco.xpi 524657 BLAKE2B
f663fe0b0207aa7953f7d3f20546752a4d6d0f8ec919de04e61f8582ed961e718f7dea1e861f39416127bb21e8c08f770ffc2297296c47f3abb36363cfa1d30d
SHA512
97903bad65b56d8e1547eb2b797afced02416b17c8f5c2bbb09a36e54105f1edf2312c2f1d6777d0f8cf262cc4bbdc88be24d08fd754431891b1ef4cd7651331
+DIST firefox-128.10.1esr-si.xpi 628189 BLAKE2B
66f3f298644c19e0babf0225e38fecf9151ec275f706648974b8e8ebedbea60fa4dc9a0317d09cbdc2e94cb75fe7efaf049bd19d2630ee84a534834118b9bd78
SHA512
f6490549b7b8b46f76ec56a69e7a9cd8349944181374eabf7c6a1b7dc7ca47d1f5608f7ae822cba481f69f3d6642e2c972dc3f8a40d47941bf8927f3b8b3cc22
+DIST firefox-128.10.1esr-sk.xpi 682224 BLAKE2B
e2753ba3bed81794dafe811b9aa8baa61476fa722319cd2816d0b26879348a1a9a4bcc5c3cf5a79b078d0763e576eb9eab583f1c76ea05d24f8409ab95037b64
SHA512
f2d70ae6522cd1a8caf320dbee9f2948ba5ed327ea07b6873c119cabb00995f4e6f3e89e423710600d057af80b131d848ed9ef8c2bd54028edac72a99b407176
+DIST firefox-128.10.1esr-skr.xpi 726693 BLAKE2B
4d6b1d531ab4d424acd9514eb19d95bc3c86e7c3485c5bf1be7e645b302cc171e63a8285afdcaff26f14cfac2415aa63b81db1cb5b2dbdf3f49639cbdc05979e
SHA512
da7265cd1b54c456cac99593f56d804042f0f8de9f67652fa93368eb5afdb0d572a15abda10d7dbcc74c33b6e61aa6c5fbca9305c2391cfa724ec855174a426d
+DIST firefox-128.10.1esr-sl.xpi 649037 BLAKE2B
8b6328deea3b6131886338929ad78092d7c2686dda6054bcd0ec637de6f08df5eacb080983ef1bdcb83fc7161baf248c3bafb8dc74162adc221d3ac2074c8789
SHA512
3b5602d2fae66eeacf369d207d3fa2b122660e92c9ef776b9214242bf818a05651bf4e9020e38bee715c4a58dbc58da8f1cae322d9a1d7e80a81d40986be9a2d
+DIST firefox-128.10.1esr-son.xpi 451694 BLAKE2B
a6e55fe3a866a146902bcbe986af69b06d72f713f097e54115bb5256778a5c3b22691f83b71872c2b6a2e04a24cbb4191794136420962b8fe46834d560b72dfd
SHA512
e32ad75d8d95058097c676ed2aa07a7697a18fb93a3d32ef4a7531add4a3f8b9eb654378fd1cfa949d79ba26cf5b66bcaa5ca97a4866a487996b1e94539deb5d
+DIST firefox-128.10.1esr-sq.xpi 665750 BLAKE2B
ec5ad69564ea658fadd5545be123e7893dd04ae43b19711706c43e4164baa60a859ee576af39fb64e91adbd303f2fc51206e60d6e38551dfda75f350625b50a0
SHA512
fbc61797f4573c670e71c45a4a994fd2eefbe724f80afcb9bd7fc1d60e270e452ce98966764de98d77af70f659efe594ffb5f6321fb1d96391c67b86dadbcc87
+DIST firefox-128.10.1esr-sr.xpi 678428 BLAKE2B
94b0020a45731a57f5518f43138b07684ee394630cdc15bf8d5f86c956368d1e85f3985a3e30588c74a472da6d312a2d938447d09f4e06e39787d31a32eae447
SHA512
993521245c1c70e9422f5ea89cbf0ae4fd95fa46b1ab23d6f4a746d20aae3ffa12fde94a51a4f1b169559d036b6da4f964b94060ae6b858babd608edd85debda
+DIST firefox-128.10.1esr-sv-SE.xpi 646483 BLAKE2B
3c4cf87b12a16256d842861fde9d9714494a92b909fcc0f6c87ca9519f12be31a13c9f05fb10226d922bcbb51d00fc69ab7964a008d62753fc9f1edc4155dce5
SHA512
7b24b7c0f4816c24e0ab7b7b4865033cbc0b6f905beb92a19f77e45fef08a39e9848731fdc70f6ef47563cb37350c5f1ed12187eafbf5d99fec1e843add167f7
+DIST firefox-128.10.1esr-szl.xpi 541720 BLAKE2B
93c8557b912d9aa67a7705de286576c7303eb4ae01542cf0474dfd007254a2b5266507fa7ced6bbe1f46c112a5e975de885cfd8c41fa0d33ff5d9da797db0286
SHA512
4094abb3559815e96a0de27ae08e442a32f42632516cf3a0dc9cb4671f158c742aa0d88ee34f62913f76ce35288746208b84452cf7afd4fd5f8f98e8c51e1e9a
+DIST firefox-128.10.1esr-ta.xpi 530530 BLAKE2B
5c4d902fbc306088984313bc7c2f76ef039025f88458a6653b330592f0e360f1ce5261feb9d09a32d788a43cbdd0cf7125136d55dffa49598993e6524171a458
SHA512
3feca25fcdc1db8b9f42d9a9e13d5f6a2e50135c92fd0ec8238d00a5aa8f91f2f3834180e97805ed58db08e2488c5f78d03ff86e4b9b61273fe154f6d3622488
+DIST firefox-128.10.1esr-te.xpi 583135 BLAKE2B
46a25996c71dfd4266d42044ac43a30bb565db8ad83921f946ef69a24991c8bc31638579242c14b3fe7e39e083ded15a6bb922fe030041cda2e7996e3da3911b
SHA512
ac7a408fbdd78215f50b231e1d4c58f784ee231aabb58e499ace409bc6476aa8f857c8c3f9bcee349fdf5a9bf03400295c21b9533253224fe2b3dc1a308267f3
+DIST firefox-128.10.1esr-th.xpi 728449 BLAKE2B
6536c0883a86c7553fe20f094e70175ee03b747ce31a2137dc2e92cc64ee05ce3bd2a4acdffc7896664e040d5875fa04fc5da3c22118b6c7fb4d7795fb4513f5
SHA512
db97df123394232e6e9641012412d1dff6cbafc1ada2fd9c9884351ff8b3bf61138c16908bd2c330a540757e6d00c81af8e2efd13a2265ca56aff8ef7ceaac13
+DIST firefox-128.10.1esr-tl.xpi 546947 BLAKE2B
1e43008204d6d56f91c188c242d724df393ed09341c1fc4a963eae2201653d457a995f6144b21971993d44413be3a11479676ab9eddd1831c3a0c1b8f5614162
SHA512
79e9c11027ef4130a9db2091f5e7fd8939aa4cc6cc61603aaaa2866ae6ad8e1de9b71622c75f9991c4ed9c7f5f720994c0b96f71537b0fa41c09418272187d07
+DIST firefox-128.10.1esr-tr.xpi 659465 BLAKE2B
446aa7ede5ebf238f723c236fd48ed4ffad5b334efc277e8510389046dc419bc4032edbfed3d70dbc684a13cda47a6bf201f64cc5faf31b77357161ef339e06b
SHA512
3d7382e014c25c020488799b290b8d640d33f8d2b54825698c814cfee4c72db9b77ed0d03cbf7345c54e92876f5943a0ff9743f2c8e13a7017ddb48540a02f98
+DIST firefox-128.10.1esr-trs.xpi 522149 BLAKE2B
6a8ec5afe1392b5fbddf9d723ad69c65ed3e17fcd352b23fd920f6f9e737b131ccfcf4898c73b985357f9201c738964c5a55b2edf075ceaccd6e9cf873be13f6
SHA512
95b666637bccd027baba59d2183c36331a90b48c2fbe4c7fb54542b727584cb336c03b21433f0106ab50db65a3a8366c675e9b2e81153580bfe293dc7b13fc7a
+DIST firefox-128.10.1esr-uk.xpi 744002 BLAKE2B
38d18cf4743bfe213fc89359ba08efe721408c5977621d0cadbf1dbb5a3e079a213c7bba023003fce150357bec77956b1ba2c468e81980eb09f26777ec632500
SHA512
0227d555151683b5e5ac23ae7842b529d4745399d0785a8ac854c6582a8194202da6708c1583f572caf4ec5f6db7c75d54fcb9f516f1a75243b866fc50ec6947
+DIST firefox-128.10.1esr-ur.xpi 574500 BLAKE2B
d95636ace6d7767bc33cf5babe5b503a68c55594394c78dede552b65c646c502b60ecfdc403922a38ac685bb3c334578d01533017475990b009277406e2930b8
SHA512
55e4db8510d431e645adb6b32fc9afa518a9405754c9770c6c133600640cb6af02b8eb863d0f504985427962814729f591e1bb902aee976d437c27de78bb2318
+DIST firefox-128.10.1esr-uz.xpi 495298 BLAKE2B
9e65f681a6b704444147089a4fe3c793e0a791fb68a1b6fe7b5bdf719b19ac02f04c5ff61dd436907526f823fbdb1ab608b13c3a858b7ed6365705faea0010e1
SHA512
97318afbdb179de85a051c1fb5a428500e45ccb2e3c7636a61ee7741be4227af6bc34d309797bbe7d8f2bf9158f5cd6afa1818f6fd6d06591afff23335b79eba
+DIST firefox-128.10.1esr-vi.xpi 683655 BLAKE2B
02b7ab2bca23b255efb4a1d59c5915409acac86f35f38251fda5841b5897f5ff4c279eee4b923329837228fd84281916498f9c78a071f3fb5d6c3ca0357d81c5
SHA512
8e8234ddda08f9cb26e4b053e47d69ba49a30ae4f639b920b8ba0b0026975de3fd290a570d5c7d6b7ca0632aa1c1dcad4ca832089224df3132f30a70b1c8cf89
+DIST firefox-128.10.1esr-xh.xpi 452428 BLAKE2B
ccb66d656fa2b733da41baeaf42dd8764bfa8a41c91ca1a0e77deeaf0b716c21331ad04fb69ef85102d882db0276255a3103774a72d5e54aa7f9e02fc8538cf2
SHA512
0194cc7c282515b3cac71974b14847bfe9f2c248f1c49a13f6bbfade6ddde4b37c0f7683490906f46edaa2824bcec58ee35d3fb369d2a2e0b7e009662f3c1c3d
+DIST firefox-128.10.1esr-zh-CN.xpi 686333 BLAKE2B
a5c159264033d784c99507b8d12e5e3504a6b8a2b547ec17cf2e669544b67a4245a6c2814c20af660a6045b8268a9bf994f8250996f062d21d505580696111b4
SHA512
8af1272402a96d3d472dac8630e6ac7ef1b55e53dcb6dfee20aceb083294aceaf50ed3b7d394a19168c5314dc736da1a8d7f14754c827b65da5b93fb32e4f871
+DIST firefox-128.10.1esr-zh-TW.xpi 689143 BLAKE2B
9842f49e40646d41b2222c099eb271ab5b59af365a4616be84c11e18ff8451e04f2505c2f1b4f01468b77f46d6ac88bbc1fc8c00c243a9b4c1e2c55fa1148bc2
SHA512
3ebc37ff47f6c78a0a86d8d024520c8251ea821952244e227a6184ce102507dde5f9323f40ded01220a6c480ff7296d8d89ab44a5561f8863ae00155f7749d98
+DIST firefox-128.10.1esr.source.tar.xz 568752664 BLAKE2B
6fe2da50fcc49ecd1304bd167fd73dad312ae9364ba7a33fe9216cb4fcdb6f806f637dd6aa8857516fd516366c31e19a6120c56c6568f20b2eb87bb6b5b84fff
SHA512
6e7363d8cbecda1cedaf534ac10dc046b5f515399ec754492357e8a558c61ee3389f7bb90aa929dbcb4d6eba041ae1e778a0a8f90aa1e1f939eea517333b6c45
DIST firefox-128.9.0esr-ach.xpi 482233 BLAKE2B
de820fcad4cb94ada5be9abbee203379cd299ae739e0fca00ac3a9593b906639aeebd7dcd783ea44f9bfcba25a8fa69d9c6f252693d12c8d4448d95aacf62472
SHA512
bd57885d8b5123adcc3c00f486a695604319e8741623e8fb9fd59d2ec2d734283d04ef2bf606a591d8a9d1b492aac6df33732996bad366126fd629d229b93324
DIST firefox-128.9.0esr-af.xpi 446591 BLAKE2B
c3e423119747c01e68bfc5ff09050191d07d192b43ea1bdea6643bb71bd565821b545d9cb5b7d85595a0859c557797eb6599a1af467d812dbd8ce5a6cb384276
SHA512
ca9626db10d7ddcf9163fe13a5e690f3d1bb9aaf3453d391f4d41cad36a06ad080bc2dae2fce6e0b9748170b2fd6ca9068d28a457f5e655dcef44b6cb5d91af5
DIST firefox-128.9.0esr-an.xpi 526053 BLAKE2B
f4262addd499702ea6f7fc4f1562e05287f7b10ae487c3435dcab00c912410f3e36c5fab2b7a1630d9e158c48e9fde8777920b9fd3a62ad603495c8508243746
SHA512
440a2fa1f2890316ebfbfeb25c5b903bbc743121374561671d0915e20ad8d3817a60ad673f251ba7d73605b8a47af36174e37f4c97d7715ddb2b551eb5564ae9
diff --git a/www-client/firefox/firefox-128.10.1.ebuild
b/www-client/firefox/firefox-128.10.1.ebuild
new file mode 100644
index 000000000000..26646b3a89c2
--- /dev/null
+++ b/www-client/firefox/firefox-128.10.1.ebuild
@@ -0,0 +1,1380 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-128esr-patches-11.tar.xz"
+
+LLVM_COMPAT=( 17 18 19 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+# This will also filter rust versions that don't match LLVM_COMPAT in the
non-clang path; this is fine.
+RUST_NEEDS_LLVM=1
+# If not building with clang we need at least rust 1.76
+RUST_MIN_VER=1.77.1
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=25.0
+WASI_SDK_LLVM_VER=19
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+ HOMEPAGE="https://www.mozilla.org/firefox
https://www.mozilla.org/firefox/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.mozilla.org/firefox"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info
llvm-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 rust
toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz ->
${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}
+ wasm-sandbox? (
+ amd64? (
https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz
)
+ arm64? (
https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz
)
+ )"
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio
selinux sndio"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+system-libvpx"
+IUSE+=" system-png +system-webp wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry
wasm-sandbox"
+
+# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being
llvm-19 based, and
+# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19
is already stable in
+# Gentoo so it should be widely adopted already - however, it might be
possible to workaround
+# the constraint simply by modifying CFLAGS when using clang-17/18. Will need
to investigate (bmo#1905251)
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( jumbo-build )
+ wasm-sandbox? ( llvm_slot_19 )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ clang? (
+ llvm-core/lld:${LLVM_SLOT}
+ pgo? (
llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.26.0
+ net-libs/nodejs
+ virtual/pkgconfig
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ || (
+ gui-wm/tinywl
+ <gui-libs/wlroots-0.17.3[tinywl(-)]
+ )
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.101
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 )
+ )
+ system-icu? ( >=dev-libs/icu-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[networkmanager]
+ )
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ hwaccel? (
+ media-video/libva-utils
+ sys-apps/pciutils
+ )
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" !www-client/firefox:rapid"
+else
+ RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
+ einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM
slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then
+ einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot
use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ if use pgo ; then
+ if ! has_version -b
"=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo
"=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( skr )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi ->
${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d;
s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine
extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p'
"${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine
extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})"
"${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})"
"${flag}"
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to
be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo
$WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server
can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || tc-is-lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+
+ # Get LTO from environment; export after this phase for use in
src_configure (etc)
+ use_lto=no
+
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+
+ if tc-is-lto; then
+ use_lto=yes
+ # LTO is handled via configure
+ filter-lto
+ fi
+
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and
FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ if [[ ${use_lto} = yes ]]; then
+ # -Werror=lto-type-mismatch -Werror=odr are going to
fail with GCC,
+ # bmo#1516758, bgo#942288
+ filter-flags -Werror=lto-type-mismatch -Werror=odr
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || [[ ${use_lto} == "yes" ]] || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough
anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox
(bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is
hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to
fail with
+ # a traceback report referencing
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build
failures!"
+ fi
+
+ # Google API keys (see
http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own
distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see
https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own
distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ export use_lto
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to
play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if [[ ${use_lto} == "yes" ]]; then
+ rm -v
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply
"${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+ fi
+ rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch ||
die
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use loong; then
+ # Only the LP64D ABI of LoongArch64 is actively
supported among
+ # the wider Linux ecosystem, so the assumption is safe.
+ export RUST_TARGET="loongarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ elif use riscv ; then
+ # We can pretty safely rule out any 32-bit riscvs, but
64-bit riscvs also have tons of
+ # different ABIs available.
riscv64gc-unknown-linux-musl seems to be the best working
+ # guess right now though.
+ elog "riscv detected, forcing a riscv64 target for now."
+ export RUST_TARGET="riscv64gc-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post a new bug with
your rustc -vV along with emerge --info"
+ fi
+ fi
+
+ # Pre-built wasm-sandbox path manipulation.
+ if use wasm-sandbox ; then
+ if use amd64 ; then
+ export wasi_arch="x86_64"
+ elif use arm64 ; then
+ export wasi_arch="arm64"
+ else
+ die "wasm-sandbox enabled on unknown/unsupported arch!"
+ fi
+
+ sed -i \
+ -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \
+ -e "s:%%WASI_ARCH%%:${wasi_arch}:" \
+ -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \
+ -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \
+ toolkit/moz.configure || die "Failed to update
wasi-related paths."
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed
sedding multiprocessing.cpu_count"
+
+ # Make ICU respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py || die "Failed sedding
multiprocessing.cpu_count"
+
+ # Respect MAKEOPTS all around (maybe some find+sed is better)
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding
multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py
|| die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+
"${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py ||
+ die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed
sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py
|| die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py
|| die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py || die
"sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \)
-print -delete || die
+
+ # Clear checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see
#905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to
${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining
FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug
report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\",
16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+ python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in
python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE
= "${my_files_per_unified_file}"/" \
+ js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in
js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key ||
die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F --
'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1
"${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}}
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-valgrind \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-ffi \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+ if use amd64 || use arm64 || use ppc64 || use riscv ; 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 loong || use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly, since it's not activated
automatically via "known arches" list.
+ # Update 128.1.0: Disable jit on riscv (this line can be blanked to
disable by default),
+ # bgo#937867.
+ use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64'
--disable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+
--with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:'
"${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends'
--enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build'
--disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland'
--enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland'
--enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11'
--enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ # wasm-sandbox
+ # Since graphite2 is one of the sandboxed libraries, system-graphite2
obviously can't work with +wasm-sandbox.
+ if use wasm-sandbox ; then
+ mozconfig_add_options_ac '+wasm-sandbox'
--with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/"
+ else
+ mozconfig_add_options_ac 'no wasm-sandbox'
--without-wasm-sandboxed-libraries
+ mozconfig_use_with system-harfbuzz system-graphite2
+ fi
+
+ if [[ ${use_lto} == "yes" ]] ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS
configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ mozconfig_add_options_ac "using ld=mold due to
system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to
USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd"
--enable-linker=bfd
+ fi
+
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to
system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to
USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to
system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd
due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ # PGO was moved outside lto block to allow building pgo without lto.
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults'
--disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS'
--enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS'
--enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default'
--disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default"
--enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it
instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold,
bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold
linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack'
--enable-elf-hack=relr
+ fi
+ elif use loong || use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on loong/ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported
arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting'
"MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting'
"MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting'
"MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting'
"MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support
arguments
+ mozconfig_add_options_ac 'Gentoo default'
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash}
${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org
default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with
mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from llvm-core/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated
rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+
+ # Install the vaapitest binary on supported arches (122.0
supports all platforms, bmo#1865969)
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+ # Install the v4l2test on supported arches (+ arm, + riscv64
when keyworded)
+ if use arm64 ; then
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/v4l2test
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to
disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the
pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Add telemetry config prefs, just in case something happens in future
and telemetry build
+ # options stop working.
+ if ! use telemetry ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry
prefs"
+ sticky_pref("toolkit.telemetry.dap_enabled", false);
+ pref("toolkit.telemetry.dap_helper", "");
+ pref("toolkit.telemetry.dap_leader", "");
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name
'*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions"
"${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+
+ # Prefer the upstream svg file they use when packaging flatpak so it's
always up-to-date.
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg
firefox-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local desktop_filename="${PN}-esr.desktop"
+ else
+ local desktop_filename="${PN}.desktop"
+ fi
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ if use gnome-shell ; then
+ # Install search provider for Gnome
+ insinto /usr/share/gnome-shell/search-providers/
+ doins
browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+ insinto /usr/share/dbus-1/services/
+ doins
browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+ # Toggle between rapid and esr desktop file names
+ if [[ -n ${MOZ_ESR} ]] ; then
+ sed -e "s/firefox.desktop/${desktop_filename}/g" \
+ -i
"${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini"
||
+ die "Failed to sed
org.mozilla.firefox.search-provider.ini file."
+ fi
+
+ # Make the dbus service aware of a previous session, bgo#939196
+ sed -e \
+
"s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox
--dbus-service \/usr\/bin\/firefox/g" \
+ -i
"${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" ||
+ die "Failed to sed
org.mozilla.firefox.SearchProvider.service dbus file"
+
+ # Update prefs to enable Gnome search provider
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable
gnome-search-provider via prefs"
+ pref("browser.gnome-search-provider.enabled", true);
+ EOF
+ fi
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins
from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and
'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not
support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the
workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if
Firefox crashes."
+ fi
+
+ readme.gentoo_print_elog
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "fallback mouse cursor theme e.g. on WMs"
gnome-base/gsettings-desktop-schemas
+ optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+ if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+ optfeature "hardware acceleration with NVIDIA cards"
media-libs/nvidia-vaapi-driver
+ fi
+
+ if ! has_version "sys-libs/glibc"; then
+ elog
+ elog "glibc not found! You won't be able to play DRM content."
+ elog "See Gentoo bug #910309 or upstream bug #1843683."
+ elog
+ fi
+}