commit:     d434bea91a972d44d7c50fa6343b4983f4aeebe3
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 16 10:43:13 2025 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Apr 16 10:44:13 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d434bea9

www-client/firefox: add 137.0.2

Bug: https://bugs.gentoo.org/953891
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

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

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 8ff14fd549bc..50aef8402e5b 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -203,5 +203,106 @@ DIST firefox-137.0.1-xh.xpi 278690 BLAKE2B 
63f8f22b47b518f41c3a2091fbe56e18a9c58
 DIST firefox-137.0.1-zh-CN.xpi 462571 BLAKE2B 
444ac5ec16c484d82efb5d1f3b4e8509c0f16f8591f74c30cc0b1274eefc6b68b00830e1939fbc6162694ae5fb58a80cf48be00729e95c7a5358bfc492227774
 SHA512 
e96c752ed17169fb138437fb304d1d3f78f7afb454a7221a4153e875262cc29450efceab8c3fa60447e43b27d6797ff903af7cc58b62801fc23997eeafadd7c7
 DIST firefox-137.0.1-zh-TW.xpi 465658 BLAKE2B 
fc8822eeab93cbadbab81683998686f35f46fb568df2a619e2d76dd9887c80b6eb0b90046d6d101a63a1587c743f3853149fd7dfd8125932f99b8204e3498fdc
 SHA512 
be24144f63372510d6ffcb2623353672f5fb38a0a0fa2b0a665b5db0a63ce2e60b645046f522cd2324f64c376ab16eac6424322bc6fdf3ee6f8cd9689bf957eb
 DIST firefox-137.0.1.source.tar.xz 592801600 BLAKE2B 
e2c5d31817133a80a89f78806ad8d54d9ebf71e05b1c2fcd2a4e7cd3052ac004f38361eb1476ec37dc68acb153fbef383be4076dac9049910e21860c9e8f9c8b
 SHA512 
cc2cbe3dd65696849c1b197b908887c111083fa8b5089aa4eae6f33ee404db29c566619c48b77fb495ad7f9dc94a2d9d910e5b2aaf8644db1d00368091f9dcb6
+DIST firefox-137.0.2-ach.xpi 300713 BLAKE2B 
7a10b035f8a4bc5267244b49253f676b9b0d4ac5425a63e5cd15602541925fa7b84337502316da1dcf463d78d23396320dd6f2516e32ce97d9c2833389c82dcb
 SHA512 
6bf4c2666aee7e16a3df297d65f42186ab39b393acecfd7aae6ff840249c79807f13e3006edc5a9e29d7084a5d64f07272899f2d16bd9f92e2ec8a770938adb2
+DIST firefox-137.0.2-af.xpi 272240 BLAKE2B 
c78fe5961ea80d3213c625aee24c79d87c002ee2881074fa69f8fd220b1fd316e81dc0bf4a1a2bfc8e710a50dc35fcad9e3030666ca869e6996b1cfb15072be2
 SHA512 
e5f63074c14975a6cdaf111dc9031b515d3b588ffedfcc63aa7abc898d71087979f9cf0ee2d98a9186b2d5c1dec6c31948b4902e1e33399083f8aaa0155e936b
+DIST firefox-137.0.2-an.xpi 338699 BLAKE2B 
50eac4a96f89dba4d88f361af096b2d85579228e739ac7ee1e890324e5ac2bc873f5b17aa99a43d7a6d08847729b4b7b495b26ea2c08d5f4aa6e046998d535c1
 SHA512 
67f5b94dca3e39aa9bc5338633165f64fff95287d39b8ae334a13c040e0c6ccca198a5839678fdf38f6ad8aaefa75ff57b86fa4c690d82bf02c110cb89305d52
+DIST firefox-137.0.2-ar.xpi 441347 BLAKE2B 
6557a3a9fd85e87ab322102acb6758a1e4207e96349f52e526fb5505520b7e4f72228c2f979297cf19a6cf430d22817261e034787fab4b6860c5d3b3f0a6e939
 SHA512 
ee9d599d04617c5144155857946f1defbea8c8a1d171e74d5f59e2419273409b4b20a2fee8daffe769d73c6d1e47ff806897d0777b43f77f23cf6520b1439a4e
+DIST firefox-137.0.2-ast.xpi 319610 BLAKE2B 
2586e90d3253c86b9afd20b5b4f9103cd17cc9fc7d9d36b32d14107aa82927b2a887d3b825439237da74f126b622a4ca6ab063e7b68888b8098cec9cf0a54451
 SHA512 
7e384b6f48d7316dfd6b8a3352aa3572eb3fe63c771f69ebd83675e33d1b2311f58eda20feb0791815455fbb86fd62a5f331af9aa647f161222826a1623164f2
+DIST firefox-137.0.2-az.xpi 325038 BLAKE2B 
fb9f7c8d7b39ff7c0cbd9b133689eb00f321632f1f81159cf7711da080efa5f2aecc65fa00fd8ff1ef9db5d102eefc89220f9b6ec192c51eea7e2d9c38c861ba
 SHA512 
469afa8ca8b9b6d81727b4170688dca6eea33955823d335ac649f8d6f9ff3cac133f5634ff3a69bba8054940083c90f5b4bb381fcd3fa8090b3c7277d666a083
+DIST firefox-137.0.2-be.xpi 522139 BLAKE2B 
f9b3142ad84896fadfacac58199a19bf8e8be93ddbfcc5a3ef7cabba2217b7cf3b6b37243dbd2f301e8fbc381122833e251efdef59654ff9a72b19980ed26aeb
 SHA512 
2d7f9361b8a7eda87cd708fafd03ed95cc924adb6be57e6ea685915501d1eacb59936eaf544461db1480bf15c1ad27284a282e274053db468e23199e8ea8e3ad
+DIST firefox-137.0.2-bg.xpi 453687 BLAKE2B 
d4a0d49e0f0593067fd290fa7015805c4415f83e08f56637169e0765a987f77bd026301f92f07b84888ad49e4212710b10819910d00fd4b797aec42607a0b6d5
 SHA512 
cb37f4f918b50c0dfe220ba5a5ec6d835da372c13a87b9d0c4efb7cb7c2afdacf2f6ed0260a0ed8d925cde243dd72ecfe49f2944a1bc1bef40c013bab568c82d
+DIST firefox-137.0.2-bn.xpi 419520 BLAKE2B 
8bad8a842ca069a59a74530c04778816365990d8f8ac0207fdad540462bff0c16d131d28140faffad138522cb443ed54c2a43d77cd853eaf265be92c87b4fbdf
 SHA512 
acf5be9e62ca894df8d7884715e3e5c4432060322535d0d69d0a117b6ada80b8a5c2bf7168e91893cfe025cd90aca8321a29c1b664ecf0b4b99c9e8553da1257
+DIST firefox-137.0.2-br.xpi 400653 BLAKE2B 
3d6886630d7b8d97a88e7c38cf76d9e03ac207769625d9500b6505fa80fb22084d130da4d5d55f788f23a55251b6f398316a4b2adfb1c8bf45a95b3917936956
 SHA512 
c7584ee0275dcf8f6196c1b46f8b355b80316df9299ad61ea52906f3cd7bc93e83f94af39a673ec2e16b161412b9f7cac89d936313844e94cd0ddca77391b35f
+DIST firefox-137.0.2-bs.xpi 370540 BLAKE2B 
490d732e03b4939b867c16f8bb10ac0d43f2204028063d9b21d58577902e927b0c6e6fac9f81f9ab77a262394aff2450df66cf66be79efe280592fc68561a5bd
 SHA512 
663b7518855e15f176d3e7545265c67622b3dbae24eee415dbff8635707349c91ed3db564d36551df025bea7c90c0c46de4dd6e394f7780ba85415605fcf96ff
+DIST firefox-137.0.2-ca-valencia.xpi 365091 BLAKE2B 
846af8b0936e9e032486e4967326fa2f6511a031a42ead49ccfc1d705ede92aa9a3a86dd7e2b32cec21c0f6ac4cb1fb56e0ca2d2e2c76d2186a139b9db965c9b
 SHA512 
a15532045d58033476d16530eb057f13db242d36ba1f6a4ab78e9f8d291cdb0070c55bcd8a45d15fad5e67a2af658a7f6861e4bc564b5bf410f94b3c2fe2fcbe
+DIST firefox-137.0.2-ca.xpi 405797 BLAKE2B 
23fe81259519b374c315faa97001611b8a0f96d704cea16701c8e18336a2e90b1fefff026b3c5eb8b4f5a282efe89f60f4a1f5d9fc39e34be51042de69d3f5d0
 SHA512 
238cdaa9c2a624e0916a4d3c61f3d7644c8fbca524e0eece2057ae924f04a07b08a197545e32836b1f173cdbeae4db9f43b7b47bf5fce6516c1c71440475bca8
+DIST firefox-137.0.2-cak.xpi 399171 BLAKE2B 
dda10dd54f9fae73c94a1bac9234bc66044e97f8f9cf5654e638d7fa2ed53d47af758509633c64a6cc49c6b876a51d9270353460d29a9c17324f19482feb1483
 SHA512 
588363661d5d8e04e24372699440a88890a7f8999e5a40a4da7ca9d51c6269b91fae83d69bb33ba8c07e8c18df9d5856a2ad4d8ed3f0facb2e8f5bb5d5942d0e
+DIST firefox-137.0.2-cs.xpi 477187 BLAKE2B 
2b5c2df9303a080abbc9ac8ddbfddd9566aeb000587c1d2745f007bfb23858575674aaedf1bce8a997b9469551e9e3fd26f9f04117b5016cdf2138b22599c279
 SHA512 
c4474c091d480d284013f5b5d0e3bc521f5cfb6d9e02d9b9b5e671d9d2a429633f074f76ef4f1abf3fe8f9a1a795d5e3be1f6a875f5425d931cdf938f91e94fe
+DIST firefox-137.0.2-cy.xpi 443576 BLAKE2B 
5d2366b9347576ef4e59ca333c4e97a6c1c55c4c14ff7765427ffc1964790bfd76432f1947267107084a437bd2ce8f605307436ff6c1553f4c44b23cd578e962
 SHA512 
47820af82614f59ca103ba1a060203abd4e0a67f318b1d7987f8fb4a1cb36f797730d0b0ec14367c495c004ca1f25920f8e4303625434255cc8bcf490c2bafeb
+DIST firefox-137.0.2-da.xpi 432986 BLAKE2B 
574c5312384535e883bff5a157ac706a0a0352fa2101d029fd7b0006adac4b029b616fb3500a11713b8e3e35ffd221e69b7eefc978f0624baa51ff5c42dd8f72
 SHA512 
8ffd1f3f138faffef30aa617210f2cd20cfa9bf04c1007a251730c1fe7fdd2a930b5b42c87735a6ca53b0488bd43df77a7f64d91d3781a72f78ea474c838de88
+DIST firefox-137.0.2-de.xpi 454564 BLAKE2B 
66fb4441c91db3382246531694ec52fc4cbd2fb2d08d1f618effd0ecf9ca76c30ad0ebf4131e92178723d866b8f0e75ffbd915f769e064d3502edc2225759e72
 SHA512 
85bfeac1dba1d4a7c92ce13919f7d3564df0bff5ad6f1900317c74db3e943026df604f7887610036920cc21b7e18dbd54f15d913401bf208872366208a45a195
+DIST firefox-137.0.2-dsb.xpi 467760 BLAKE2B 
38a5971093c851c11517704aa1c293cbd37af75f8d44016239e2b197ce8b26bdd385be1c4f20d6122baec318f2914ee3db000499b425d7b8a4c51c07624be029
 SHA512 
4938290137ac40c605c67c77a49860638a2fea1285102fa1a23ccdc1dd58efbaf90f499169835d8e13d84cec86c625b2c4b088d36304388c420f968bfddd095c
+DIST firefox-137.0.2-el.xpi 537985 BLAKE2B 
a437d6945b262e6babce1db45876debaff481cd89385dd6b228edac17f0bfb626b27c3b62e4d1214336f51fd748e42ca8a04665ea18f7c153b92d89104312450
 SHA512 
4706d4613621d223f122bdce221701be74fdaad886b2c9894dc2eb8ce95871d39a1e15898471edac4c4aabd28284f394f3e3064163e7df8e2f45a88bda0cca98
+DIST firefox-137.0.2-en-CA.xpi 413431 BLAKE2B 
9030ddd4d332519173c132b98e6996735a955f556fe89dddac9141a12fec3d274c3f5bcc11905e90deb1ddde2a0cba33091506884db0713cab41c55d70eeb95e
 SHA512 
fe52ef734d2d0e08cd3dd52755342442834cdb8304d1c0dc1a99a7e6f9efe50bfad999734aea817fa12a6fb820fda7193f40cda09b5c32f8ff01bab376e9083a
+DIST firefox-137.0.2-en-GB.xpi 413701 BLAKE2B 
04c96af0a14e7aac6f65ed808409b59fd7d38c362b8dc4b6b1daf3c5a56e1af707de5c0a132034f2c08e01663d8396b6f4d195399a7664ed549aa48d76fcb4ba
 SHA512 
5536ec531f742d1570ea7abe2a6f14081a27b3f10d9a8dcf22df6ce1b01449659e27c982977a1de663d7915d502c0ddbefba7d2b4d08d1ca6818201656de4322
+DIST firefox-137.0.2-eo.xpi 434079 BLAKE2B 
46895f1d0ab8aec23355be79ab24f088227d5af8edf12cfc66cf301cba1ff9f967405a83424293011c42bedee38e73c06f0c35ffe52100bbbdd33c703043e288
 SHA512 
617e15ed34b250e66a9ca82044bf155b80cf1647633ad7d653a94cceb502630242e8cc2fc5ae7f437b8cfeb442df2fa7c6481bed114bc351db8fbf4bc4ee5061
+DIST firefox-137.0.2-es-AR.xpi 447445 BLAKE2B 
9d967c728ec0d7401721694ce8cf37e764ae51377d44e0eaa2f16992143d19944d75c1e57f33854af4813c05b4a88fe5fed01a824fab41be3d83a5de804e5ad1
 SHA512 
fbff5fcfe2e8c8b939cd9d5f02e3a7c72a4a0f00258583a21f09f348b2c83e11875e6de33ee082d1fa8f9ab5b94731d031370932e8d7cf9d307ecc134155eeca
+DIST firefox-137.0.2-es-CL.xpi 448162 BLAKE2B 
a3f2c4ca9a2c4d9fd2b0e8909c28f71824506dbb15e1bb3663715be62bf91fa7ec97261af0cc6a1f977c5a49881a1f97753a3e7a9e5b64e4562e9bc76fc69fd9
 SHA512 
bb9ebb2f6d13881fc5000b899b63e99e94030eeed8f43a6ae95db56b86b8ee8249eb76cbcdb3c704153df4d9d527db5129446a2e8fe9949e9b376f90dce544d0
+DIST firefox-137.0.2-es-ES.xpi 448959 BLAKE2B 
e8bfffcb6914325ac9ed9aea2c6259350c5aa0908c716a78194985ad55edf092dbf2fe6495d29e8bd36e3b931d7b37b341984bbfc5d040a92fc7ddf5e6487222
 SHA512 
00317235ee92ade7448387a2c7dbb4c5d9d35a2c19bd1cba552d82fa2e56cff23f9bc8f2eaea0a0269e12e1afafb43b9f31ec31749009865ba7b29d84e1b0276
+DIST firefox-137.0.2-es-MX.xpi 449085 BLAKE2B 
bc3c1650b04831b630824adb11185d75df49073848afdd0d3d60bac0f9df10569089ca7ca97e390d5a0933a52805e6450b9c74ddd8d010be1e4c65b89f60584c
 SHA512 
7e004004eae84fb7002426488d057f58e7bc0fab78e70d9d2e95747652a7991986c27ea58fa14e9b37b3715a60057fbdca6618f1872d5a5986f2f1e7e04da9e0
+DIST firefox-137.0.2-et.xpi 364136 BLAKE2B 
a2fff2021620fe474f3bca7374b4bb450b12f33b1c138f055399875cef22838a5ef49199ecad347cd06ce20ad95750d981e7b802461b7a561b38bc7a70887748
 SHA512 
2fc7fef98eb9414b2d732aa84319945620294b998a4a9b6c5209947289c3fd34ad3a9796d5563428604983216864f6ecdf01ae42de1eef2f22a38a958866b2a3
+DIST firefox-137.0.2-eu.xpi 418651 BLAKE2B 
321b0d10a9e5a646b766370a6f068a68c82db5230f44359ab3a9011d4a6047d78b6a0e5872dc5af3af6977bebf1ab783242c9d5a39990a4f7e82f271909fde81
 SHA512 
12aa2b73264f411024127830833837db0c9e02a201eebcbf5da9c903e97c2d8cf9eee19d5b28f5dd05d1e2eed830a617957ff707490f345784fce8073285e4b4
+DIST firefox-137.0.2-fa.xpi 419707 BLAKE2B 
b0474ba89b27cd7b6978fa40d49e27b3460f138b61f7c751712086d39cb640b9a74fded14208be26b7ef548410c083f09b67dec85ab54455199036b46b4f1434
 SHA512 
7f7a01bccb16d33dcb9f625882644e6e6c76a01ed4514ee02012fc044f1d9f8c9ac65aefc9e6fbe0c582e62f8e507e9812f97777ed65f077814ba4fe3b2dfc12
+DIST firefox-137.0.2-ff.xpi 316610 BLAKE2B 
97e636450236e4b27dac95569fb4471bc05347ce6a3050db3875a54a9886ecf530d1c64c52478a10a1878888266e032ec0abdd966aa37de7db8dcabb00f2ca8d
 SHA512 
c904c037464f4e68186d9f3d1b985f78e2cb23457f89c9f45112d40d965e616f27f0dc64b25827edfbf1b6eea9555602d0257e348b280c8d90069146f177a149
+DIST firefox-137.0.2-fi.xpi 431190 BLAKE2B 
40df7cd3f5241a9e9e30608df05021fe599c9c7771c117d66c8c0f1b886657fce2a76a2de8dc3207cda4152577dbc571a846bbb96fad76308950e630300831df
 SHA512 
02230e91c4eb94ac4658fb8b1b4d00f951329ca8413e4335248b1fa18a5844e63914b7c8788a652e8a27600f6b11afffeca911db8c7486a6c6f079d4f678486c
+DIST firefox-137.0.2-fr.xpi 459873 BLAKE2B 
9968ad55533708ee4a4d37be838465e85738b7e078db04e3ed43279475b2282bb4987e0ba5c9eb713671650a4c7015b9ef65fa6a436c2b3454e3aac8790f5d37
 SHA512 
7d840e67f7f99b54d7dc1747f2f2e922299f7730a1f019fe870683f7a45076b3d36c6636f78feafc4275b948cc920ba356a70b315fe329dfbd1d9f819e83d312
+DIST firefox-137.0.2-fur.xpi 453475 BLAKE2B 
2a904bda4b631c7ee024cccd0957989a5c74bde63efe218eab77c3897df21380aa0a2b5b8de5b98abba47241772477a2bdd7b98b49be3ed0ba0380541b97250d
 SHA512 
d5f0b30e3be5f47a388b0a35f58e51dcbda5104ebbed2c0f24e8cda44efe174fc6bd2916accbc0ed52de8342c5f51ea7a0fcb48e1ac7f599d390f6ffbf599571
+DIST firefox-137.0.2-fy-NL.xpi 444069 BLAKE2B 
0a086ccab2ec376a71ee310cb94e2df62c4d9611daab5a378d8480d6a78f72b50794fdec9074b8cbb746e80610eaec0b8c00b89c117552e327c7465f2ea45b29
 SHA512 
7c8fc78c864634dc84f5773be2d04167b56688b55cc1b45a5e5ffb3d41b01b8cd7de92c8b4d52c4fb17da1f0e38489b5d70861d6612cd645d88e47fdcca47c84
+DIST firefox-137.0.2-ga-IE.xpi 312652 BLAKE2B 
dcd67e3de0f397b1b729407aa9b386cbeeb279135bae648044365075bfe0121f6a9b05cd7736c2137a0fa90d4e89823c04566557d23f58f69bb808ecf74b827d
 SHA512 
a873f2e9f894dee8de66673fafbecf61d222f2fa8ffeadef179c097ac4927e96306aa0d8d5d919291cb61ba9fff23e21b34a44e9d38d3ebd22561c2a710c65cb
+DIST firefox-137.0.2-gd.xpi 407631 BLAKE2B 
d15d04c78c6f1386cb08d01f2246e404fa4d7cabbdfe1df0b736a4574018d43cc72ae710f80fcadc89bc70d6d83ee169df94d4428cc45f2d576dfabf528fe1b7
 SHA512 
a1f7cc2077655c7b82d863eae4fbd8459a2e56cf17ea9d1d4018fac225d423f8e00bb95705a1417785bf964cc855d35595ebc5cf584067f1cf2902c0eecb864f
+DIST firefox-137.0.2-gl.xpi 411524 BLAKE2B 
055b09072e169382951509ddf8250705dd20fcb4d13ff22ea4400862bfba474ea75015b6a7dee93075e0223ac3b80939110593043b12921c8e8a83b728ebe038
 SHA512 
ec621d7aa90f5073b104a9fb763ebd6e811d55c7584e2d93d9cd6b483069cf5ffd3502311bd683c7598378e1b013a80ce8d0c1540a6d4503ba04b9742f980da4
+DIST firefox-137.0.2-gn.xpi 451249 BLAKE2B 
18245a8575b46e6b8033083228b1a31000478f7fc915732bbd35376bd8918689384ec3f4545142e66c08a6c9b2116c6942c9695a1ca4b30c794d7918b211cee4
 SHA512 
f837863e81640ed60e7335ceb65a64a8fdaffe669aa2856067f99d35937b244217416c2766e2b60ec040a3e5aa65d3a946b45311cf4db3d7151ffda6a6baf45f
+DIST firefox-137.0.2-gu-IN.xpi 365568 BLAKE2B 
bd6dcef89e757d740809d9409f7f52677c7fe7aa0b5814fa0839c3df3d6f41e6a1579f361b364198a12562005bec23ee8a4e0f95106e4011f830889f144a9052
 SHA512 
e5bf74bf632a18c1ce2ddb4127f329bea2eb3ba675e887c76ca16b37be70b11579d6b9c5897e2327f4311b9114bd77b755ee1218076db4e6afd6115f72dcfe8a
+DIST firefox-137.0.2-he.xpi 445582 BLAKE2B 
5eaedc3fe980713b6c783c1f10a4f3d6acfd4c814111840a165dff070c710ab2b9730a7e3667cb21a89fe750374498072aa4815815258822e442f63745499a9e
 SHA512 
172849f99c7e3144a87c7ada192979922142f278980f2a95031341d766b95b85ab84141e4e596bacd7cdb4aec02411be72dd0bbadd12e4f8cfe351cc158a4464
+DIST firefox-137.0.2-hi-IN.xpi 384068 BLAKE2B 
5ffd4c26e71a716fd8557361b27270e0fda0be859eeb20ff2045e81b5956341ba40d4e26364703f52f883c0bbb5d278a958904fce8f95e5a39a02a513627269f
 SHA512 
098e0409b811cc5807a9743cebc320b48ed72d30555d5655dd3899c5bf6a85c2c599d15cb61e351d82fc42994afb0fa54e016dbf6eadc632671c757172830870
+DIST firefox-137.0.2-hr.xpi 436091 BLAKE2B 
622555368bc55cab5ab19909f0215732c10d9704f1677513d4fd806b5db406198ff2e45c1a3d05f4e5b5056df35474a94346cf9b4ff52758953ab4a0edaeeb13
 SHA512 
5a6e20b709bf9080d0ebf9c5df0f8db6a3ec7e34e35422f121ca700a8465e5b3d8e5f1ceea40d4361a2f51ff487e4287f5cf05e52e265fd23085d986b865fdd7
+DIST firefox-137.0.2-hsb.xpi 464387 BLAKE2B 
2bdb357414f525963ee50cd6f496080b42c9d7572ca8c5d99b37086d3811e640735ba097107869183f48ae24f0dd3ebc069a489289c178e7773aa16762cd2089
 SHA512 
851829922db3af42483f8a478493df3811ecd2b64de280fd8a4b1c1106b9df349baeeaa195ad04506d9d522baf945ef79fa0c182ef34a84016c6c502c4046387
+DIST firefox-137.0.2-hu.xpi 468458 BLAKE2B 
c7fe024f6d4c60ab5292da1134a715c5b0b72d29f22ce5425fd86676dd702f86917dcca7c4c398b1e5c386fc10bdb8d1f71a400e1acc7e806a8db3be1f69fe14
 SHA512 
1d6f867e230d6ae8b0507529f1aa640c1cf4e6878a5afae42109aa82f35c30b60663da54f229b26ba95cc325ebd0078460873d13c72ee720561493f1704b912f
+DIST firefox-137.0.2-hy-AM.xpi 456354 BLAKE2B 
c46839a7e495f477450c4852939495b5f836163121165f428c33dac4af4bbb4728099df4a011d2803c396f9cf79c6e80e470b0018fd6ee62d51ec8ecf19f1c73
 SHA512 
c6c551794c6b552f6ab5b974613607a350346da82d63832c0666015632fb0c5502b31b8e30269a5a40200ff2fd8873fcbedd856d2086fc18f51182471c3ce5d5
+DIST firefox-137.0.2-ia.xpi 432150 BLAKE2B 
e9cd04153e5e99caf774a4c430448875ab4317e7b2cf0f3bc83dbe646e40568605211eff6c2fe77499c906903d8aa0b6dc1bbe4f76f0926c9d8c4d4dc3ee06c1
 SHA512 
a90df21500850d17d16b70de8033d171795649c5d8eff6ba0d6709f3b207467d251783c848678f13b30716f892105148beafd8acf09c6bc3b2ac09207bd73158
+DIST firefox-137.0.2-id.xpi 427156 BLAKE2B 
d41448ffd8cc52206c2166aa1f102b7f29d21d9af502d4882bdc7ca79b020eb96762151e1a7eb3577772aa5482b30e23129ba0487b666cc4765a00519c38b86e
 SHA512 
e00d913d649618564700cedc62e9e329a4b4a100a557a33548330c564c4ef2f7f35e1dee91cff268f348f33b77ffeb1e6068eafadcf188fdabce52dc4680dbb4
+DIST firefox-137.0.2-is.xpi 437693 BLAKE2B 
1ce401c1a7aa21ad91231f7285eeeb4a0286a76ae12d0ff1b544e8180886ff6fd7d9df531d0bb070eaa8e23af4ea220d2a5428e50cc23cff3313f5c57ee2085a
 SHA512 
6cab647167067c5e21b936bb9a71ad221319781d9c053171bfca22e86d0c7310cdfada04cbd627d939e0f54c62430cd9f48eb7df5252b3b8921cb1569f1655fd
+DIST firefox-137.0.2-it.xpi 442695 BLAKE2B 
8d64e72fdfcabc1933aff26fcd649d0eb81f9e5d4ea3d080ca0b1aeb680386d1793441f33466d4f4bf114d42a9f8cff11b64d53b384a386a318d4444180dee0e
 SHA512 
bb98dbaccf9476ab2acbfbb80d6e74db21f0adf98655981b625b78eaa66d40da91f8def2427bd69befb857dd79a012617c59328abedbd894b98dfeb5059f9487
+DIST firefox-137.0.2-ja.xpi 482890 BLAKE2B 
2a8d2960ebae20bbaeea53925e9427193ac823b5969a7aa5f8f884b63fd972a2afa81687b6e6dd6e15be265026f29863fe7b5acae074abb7fceeae522f91c0cb
 SHA512 
400eb2277f73d33c11da7271ddbe746952afa3833165fe21c84a05e94867e6b36d81ded98e896b1827e5759108446229088eb45d6eed340c40b12a6605033b02
+DIST firefox-137.0.2-ka.xpi 496317 BLAKE2B 
fd1c3db04d948a4c2451f1adde36bc8ed5deac2d1a38a5d3399118d25cb35c6e1c0442229625c62cdb46812baa0f66be25227b97660ee62ea053e462ce12595a
 SHA512 
d8ce9ecf51f03ed952ff4e11a40f2b608d62d7ced44538941dff4e8790c64fb07c3d9436184336ddae278573f8ab9bbf970a5a5384fb66e26dc12746c7bb87e5
+DIST firefox-137.0.2-kab.xpi 418897 BLAKE2B 
d13c9c3ba6f37928fcc8835267d5e769f0c38b689af3b9e675590f930dcd380461b1b91e33c9a86ea5ca754d047ff17156783bd2918e1790f04ccc5108579fd6
 SHA512 
c3abcea98937a7384c548a24fe956dd832f6fd046ec49dbc40c3a5c1f3b34904fd46322e7de8d23efc19bbaa581b103673820a9a326c674ff987d904a1888113
+DIST firefox-137.0.2-kk.xpi 507543 BLAKE2B 
055232115c3bcd84c9fe76768f85157799eb8d648a21f322617b7c6a83d47c98efef428104c18e3413daee84c7812464615a0b43644302af484164cf36713030
 SHA512 
a20e7f8ae0d6110daab6dc29ebe2bd768f020993926469b6d0cd43c39ebc21f73253b6620032e5954d990492965ca8a325cf69c460eb700e255f48469251b1a0
+DIST firefox-137.0.2-km.xpi 355357 BLAKE2B 
72f31710152870ea78e4d5d4d4bc7e852c22d9599304f48e50023532f9facb7b39e4a36bb825cbba9155635a3939bb757eabf36aeefe00441fab4b77d533c46b
 SHA512 
41d1ad6b28dfe545c933fdff405faab164cbc59cda7a55f170d523aacfe68fcb5145aad9bc0c1bc67928012fa56d7c4f7361009a5411953271c866cd34c45f57
+DIST firefox-137.0.2-kn.xpi 338137 BLAKE2B 
86ff451443208798fb5075e637ce100276e342897845c9a53783d8de2dcff402ec337b229eba9ae2c39bcb293b8176d4d7c011ebeb58f90448461988f8b0b68e
 SHA512 
4f50c7d8c043d82d1382f42b07b70107aba6fcff4c42335bcabc44c48207e9801a9395412f34c5e2e749bf2d78000b7d6eeeaf36d7a92d466272864d196ead4e
+DIST firefox-137.0.2-ko.xpi 469147 BLAKE2B 
7d8f48fa496d951f8d8d6eb37802e50f79a8c48336e3a0502cf00e674db5f7ced34eb706e68eb7f6135d853d56045468109d5242e2d56f40e2137b6f734e0f0a
 SHA512 
9e93bb501818402f9b6623957d9d361c66213f50733db1dbeaf1fb3d1aed9c80e7f6a37ff25deed8ff4c1471defa18c1105349977bf8cf6d5ea30f75e4b480ee
+DIST firefox-137.0.2-lij.xpi 324547 BLAKE2B 
fda4ba726e6bf6a6a0493798fff8a35be89ed86a26efd141b6d4e2c239d4e94aae9ace2efdc75ceded850885656fdccefe2a4cfa3388b883ff86fd8969bc335d
 SHA512 
9906d5cbb72db748403e1b044dbb107c0355ca54b163d99cb370b7e2c1b39f0f12815009abe858985c279aa472c88cb96d1f235d57bc9c963f36ad8302bd3a0d
+DIST firefox-137.0.2-lt.xpi 387196 BLAKE2B 
e82a8e84f4e65630177bf07e1dd6eb96e0aabe5efa7dc4dc4086a9a2d6ba9a33e55427a98a885d4295304839e739816859e17b37203e552034a5a3cd0ef3cd8d
 SHA512 
7aede65284ce6c44d7c3a0399cbad735a1a2704ef0acfcf2442fde20e876e06b44703b7587d390e78d0a65f37821ebc1ff80a31b2dd44c5a94f1bd0f37ceb9dd
+DIST firefox-137.0.2-lv.xpi 395883 BLAKE2B 
4eace92e1930e86653cd56b044baf52a5a69b5b038470d1dca9dd77e10ea1a4514bf0eae332d341501ee70721f85543a69d97499d7f7050f9b4a70ce9743f545
 SHA512 
b58acd2f303b08310c064922ad6ea671732c64f9df0cc3cb061b740bfebd67aa6d00ad00b34d37cdcca67869262995418bffdf917f50afa5fed3ddea49513b02
+DIST firefox-137.0.2-mk.xpi 323824 BLAKE2B 
c18b3f4eb392c125be38fa2a672e8a7afcb14373d9a56df6dda5f832504e8d41a30f46e652e4b35f51150292d1240fbdd960dbc7ef0d10919ecc1b5001b95200
 SHA512 
95e59028c4e3b4f237bc788931edc566c63cf14aac163345c46fc6b41f684828831973001566dc9ff98abe18540547c45ae0ade698959086614e6d5f902fb403
+DIST firefox-137.0.2-mr.xpi 362598 BLAKE2B 
53fd2a705badbcea2afcbdc848e183a7126fa606205d922000db17f4de437cae1726bd09b8773f0dc54ad1d7439c7403a6c05a15eea51ff7094177373665fe5f
 SHA512 
bab910f14b6130dc26b54cb0903dfd14ac5fd55cbf03478a670ed90c6b25e3135195edb47d3ed6ea0d1d46659054712e0abbeed152842feea98ea490230f8684
+DIST firefox-137.0.2-ms.xpi 301534 BLAKE2B 
1e764f3cb9833202c6c8950a81fad2df75e0f449115a9b80ab3cc1ec38411cc075dde9b0b733b6a25ef111c9750c730f777c5326a13533fb902191ebea3ba8a0
 SHA512 
f52a46ebaa318c364c8c1e83c39151ad18941e4511ccb56c9187c3675d43503ba77b7133fd765b808c385e0a079ad92f697a38e409105e6e35db4b9273f4b038
+DIST firefox-137.0.2-my.xpi 349442 BLAKE2B 
c9bb9d6e37800f011e9e80fb9235027b1312988a76303cc1ef9c34cf5d7d62799ffb3b84686237d92949d58e2b4c8f92376203681353f9e70bb9c0e2452ef45a
 SHA512 
03af5894ee939cfdd97a1df299f625fbbc2cb11a473f1445d1b1022d2691b440bddce261f830d2800006fc33faec8676caad5dee030a1a5c5c9abd574a562b27
+DIST firefox-137.0.2-nb-NO.xpi 425886 BLAKE2B 
8c20c35bfadba4b573cc0324f810ba10f81bd6dc32e381bb7ffe67eeb5c869ffb06a378c555d08b76bb9569751a6176024b0f8143f2dc681a4d5f588cbf41140
 SHA512 
4b1ab954482d1ca18b1ffa82f10c33a394b1432e2a259e97065df78a8f12136c05e0e2e8f39594e6a93723ce844b7642b3baaced9cd8ba41785006192622e88d
+DIST firefox-137.0.2-ne-NP.xpi 355678 BLAKE2B 
71613c4133bc2f9310959a62b8435863a7c87af6614039ca63db82849378e32603a377397f0a663978b804e4a33840af6b967a18b12793c5ec0c6173ddabe294
 SHA512 
873c7191b9ba49d9e73958a327efa225f843ad42150171fbcd0b822d39de20cabed0aa115d4c49137856a1103add643ce0c24af58c4013e935f83125b2fadd31
+DIST firefox-137.0.2-nl.xpi 438094 BLAKE2B 
25274feeb14c55fa9c943309769e80d3050ec9f6c30c427632589d2d224e7da41dab1804d4541d9eae1478851f7ba7309b8ec732a137fe7503ce70eea3dbab03
 SHA512 
57db002addee6b730f09d3d1ff05041b5690546d9e77be0fd9b3add5a68fa70d0d29e91b9782c7a9fb98d6617d31a4e40072a8124f9236b730efb3291eca30f8
+DIST firefox-137.0.2-nn-NO.xpi 431912 BLAKE2B 
f867551b5d53330f1f539ff3fde466d81c43551674891a293bea27922940167c1e15dec5d0f2bb73a37c9f586d51e5e8c040efa62029b40380aaf2ccd9970c31
 SHA512 
214b4f1a1e012a578e174224412fed5bdb560c887ba22ef793497cf3ba492168e867e7336fc0db6e335d220f440aeb6cf1d4c5bd172fee2c23debbb5c99035ca
+DIST firefox-137.0.2-oc.xpi 420803 BLAKE2B 
4f64d3f8a0c450ce84180e6b52ea13a84fb21b07c97c2dda8c93c41cff1959875c62b2c9afdbef34896139e3c3ba32a6b3e583ce72d62a4883052bc0fc8ca1bb
 SHA512 
876173874ba03fbdffd14e4230f0525c8080a576e157435c7e2773ecdaa3c5cd176364e58082d641c163410ad22b2f71862a727759836b41fb441e9be12205e3
+DIST firefox-137.0.2-pa-IN.xpi 497645 BLAKE2B 
424b45477af8480d34a16e5b8124576f2fff62488b8b9f1a31503de29a38c0a82cdee0f30ed86a007399cb37e448738c8ca5b0a943238a68b14e56c7c0befc56
 SHA512 
96e0ff3a8aea048dd9b0a5aa12418d069a54ba258ed0b2aca33adf162c26da647ec78428a60eaa6cdf4e6794125f97e90353834c034b29bca51b1b23ac489f96
+DIST firefox-137.0.2-pl.xpi 458697 BLAKE2B 
63b4099af56af2ac32cf4071f7ed494b74c47105edf3bfe2da3be8c9f1833596b13b10f9380b5ed571853ae894ad1da3050b3d8c8a9a5d43adb6a8dc9edcb05f
 SHA512 
86fcf9d2ba205e62ab9732672dd868b67bed009ea97429f3bf8ed2cdb80b919a9ec5fefe10fded7f4dd5b7a3ebc2f80945d34cb7549fef77b87a182145ff3bef
+DIST firefox-137.0.2-pt-BR.xpi 442497 BLAKE2B 
dfc2e6bdb1d75be84040e79419caa4ad13caa18ad1aff31fabd797ae720847ad0348acba6df69fc94db61decd831687e0adbd8e89b863427c30e5c8566c6ce63
 SHA512 
4668c2f60ae8f982c01908673f7a3ddef06ccfed2234ae74c9f3e46d71ccb64fc1c84488e34661bc4ac16077b8c19ab3128128c1bc0a3e4c77f96d521a312e27
+DIST firefox-137.0.2-pt-PT.xpi 448287 BLAKE2B 
2fdacf2249c09d0eb46a5947d98a465ca0ea55b01bf4a5f02e72ccebbb14a3d628092a100edca34fc876acd1ad699922b4349f7edf8e8bd9bd922a46b922fabc
 SHA512 
954cb08ada1221695b47187eaf87b5b69bd47d7fe1b42ddc6acf2ac33d53eefbae19769b0314011e13cc0db7e0252fb2156b0a92a68d8cfb10066b3e96454783
+DIST firefox-137.0.2-rm.xpi 441883 BLAKE2B 
e1536d3d68aa1463577b9c60651d8c51e550b33401900fe2ad78ec6d22af7bc5859305090898e4a2e804c6437fd5bf69764ab1f6bc06b0e326ebb76cd6ee4e35
 SHA512 
81931747284c75408545f996c3439c308e2adfb41e5bdaf67c50e711971025506361af1fa25c8ac936f8e35b922bd2620ebc1431d6f5bfb174f1746cb19d4337
+DIST firefox-137.0.2-ro.xpi 368383 BLAKE2B 
c50f0a8f40bca4d8be15162c0500862ca65f4e1ba64880bacb9dbb5a3dd0596b79f125ee6577d40117db8b0198f6eec07c15725183c356c94baf1c96a41f93b6
 SHA512 
173605c0b668ecee39c28c9cd5196bce47ac17a47e0c31ac8ecc659b227c17977a391a25fc3768a77dde56880bce76fe6f9f51b28a8bad063e58c7ba39af160b
+DIST firefox-137.0.2-ru.xpi 526385 BLAKE2B 
1fee6c4ee77737e0565a82154cd3a5110314b25d842c23b87cd24ae59cb3828d33477d45ac8cff35d03cb30beb1fdfce651d18e31296216598034bc600382e1e
 SHA512 
b79cbb2922fe7235dbb0ef89058934b4c84652610409203705e9134b7cc63166f96a7fa68a8d9b66b4987c59d9235f31d28e23957fc5aeeffd44d29c3322fd14
+DIST firefox-137.0.2-sc.xpi 410897 BLAKE2B 
843070dfd39851c9e8e36fdf8a33d6ba39a94862867013760dc58f2d2783cd2c292783ace6be42384d8356a60af6890468ab51f2f04c7c8f467c9eb55a64601a
 SHA512 
3d0c232f147d59c28c53209a11ef25639a84cd81312ecb3ce7cf5adf2832149af3c218c72be65c696e3961b3739452626ba14e369e5f8bb426e71fb6096fd300
+DIST firefox-137.0.2-sco.xpi 330272 BLAKE2B 
ed484ede29bc30432a32ecd33ec79dfa4ba10731a5bccbc6f9be791a237169db0f9b7b166e78e62773bd1a0c4a2f8640e6acbe6345c8e67363b1c67f458bc53a
 SHA512 
9b4f7c3c797279d4956a2799f610321f9d222613d0893bfba0e214dd749ec293b94afe5294e7280e22515835840dabf9016de3c72cac29cc1d967e1778209df4
+DIST firefox-137.0.2-si.xpi 419749 BLAKE2B 
d1c4b3f5dfc728fd77a5e7bc6fbfe6f98f0b4fb8bc18d665dbff6f8adde1687e4753229a02911d3348cdf7fb1a36f6f34538a63de00f1e1b852dd0af5c890e63
 SHA512 
8c27cda2dc4c0f3265bb2cf1a1cdfaeef46fe9cfb8952ee54bab4cf013ded932cd5c0f22e693c6939801f5cdbeb114c85e4d6997fc07eefc927c4661adf4074b
+DIST firefox-137.0.2-sk.xpi 469635 BLAKE2B 
9742849d2261b905957306503bb0887560f142e224c3439ce1a027c1ef40eff33a9a972157c529b8fad60b0b43097765afc482588f260a2f30383325df13d592
 SHA512 
5395eab96df59593692d57aee3c2d0abe6cdc2e11a7d8b35eefa407b787a0f3648cce68ea8eb16206a5a14a94fed77ae19713e8621965640c6dd83e0197ead93
+DIST firefox-137.0.2-skr.xpi 498915 BLAKE2B 
b4663856d59108e9e64af7ccb34a733d8a721bc9f7a07ce9dacc10ed99d503ca2acc7515b158f90cd553f3e0d1021f2f3d61d5b74b88db69cd57f1062175411c
 SHA512 
876cd52f4c39c7fa47f2720fad65be603336139802c5cbe90829d61a5047b47f1239a23967af6b505e0126ec1f29b68c005a18d3fb680f27164c93beaed40852
+DIST firefox-137.0.2-sl.xpi 442016 BLAKE2B 
6d75c5eca065a05da89625aa3a7d39a0ec0f8b3b86786dae165863eded07719cf9261322e6cc7699184547dc43ed66a8ebe5958d21e6f9f51b89980250c531c1
 SHA512 
417ed3ecdf776fb0d113005a9309995f51a1134b44229fc1d8fa11a3c3f19bb06ffc8d78f7c279b1404c0ea6d4059e24cf870d08590ae3f75a83b0947b68a7b1
+DIST firefox-137.0.2-son.xpi 278726 BLAKE2B 
1e555859bbcc37c7290002c4b89b73e076374962527587627cc829d5091f131262d08337c82a9fd28f5dae38d0282f292f670c5bfd65301bd449a83b96d39fd0
 SHA512 
13dbc9a64e3daefccfaa257a8210d0aadb9ed23b07c2e43a52490723db85cb380cfd03112064a38ed33cfc6df2b4bfc2c23c0a8e546fda8a023d90053bdcd49c
+DIST firefox-137.0.2-sq.xpi 457299 BLAKE2B 
df6621706acb6eb9b9ffab6d9928b68d1ca502a007142579ec9d2ec20f18b1c91fd1a87624e1a3c069f449c6b155be0c9cb510dab404d226d6f89dc61a388a80
 SHA512 
84d16438ecaf832f0aa28e7350c23b88536522313e32bdeb8861df2d2abd979442b5dc475d1f189fd331891004b35cda14b48eae2422841a43def426968ee3c5
+DIST firefox-137.0.2-sr.xpi 461359 BLAKE2B 
359477e47e1cbbca04f194df1c584a23feb5ef4ae26a8e715bb5571d010209a52ca289f1999fd93de3cfb35fab2ad5e101dac4f29b32bffd766623fd56a9e431
 SHA512 
e31411f596fd8aa4899ad689ab50283115b914b602071c345d502994ab60f1e712a91543710ad91b4f8366566a0a0522b2f6448aefd9fe0ea5e4d440b206cb65
+DIST firefox-137.0.2-sv-SE.xpi 438154 BLAKE2B 
f5f3872ac1e35fd9404fad0db1dc52840b1890f2531252c4fcf6226835dc905f40d9f1c41b56416514cc5b9ae9dc4eaa75476c088c31a2b9fbfec1858d53f00f
 SHA512 
5694b543d5542e2e31e38d77285a4f095360a9dd309c143eb9c8c16008c230cfa9c8683ac3fe2627a1f9edbe3fa0f35353ee425b2602ad7e778087b744081fec
+DIST firefox-137.0.2-szl.xpi 349484 BLAKE2B 
d460022976b39a43d30239aa04b93f559b20f1381d735529d54a7fae51b6ad1158974257727a249912e9f5cf52cbc435cf4027f8420d3603e497ed9ea1a6471b
 SHA512 
b5ee43eb9b1f3a5862793d9bd4b59d05c776c01d6b65034079901d9ae4f24920efe5d7e5f3729039c817f074ad8eac8cb511b574951e59d8aa8a020985dc9fef
+DIST firefox-137.0.2-ta.xpi 343858 BLAKE2B 
eed2cce2df19fc330354d3edf1d78e7f69a32f5f81dbe0f214a794bbafe9774e01f7a633dfb4da57be61bae10d0e6f7b56904ec453ebccf243cabd58440e9e3a
 SHA512 
a16e29179d5c82eccb059889c4fb74eb7bf608415aad08907d6fe9f3b68ecb49803f366bee99f5cd237eb36736219dab978ba576d7f734fd7d3de519a1f630e8
+DIST firefox-137.0.2-te.xpi 389777 BLAKE2B 
152986c3fd89da6f11fa821d4e30e9aff0a9754c46d08d113e3cb69d64f6ad0661244c832cad80dcfa590404edb69a4f6e22e5c14cf634877c97a2a7e49f00b3
 SHA512 
4afecc78d7f4640e944ed3cdba112a084a5057237f67056bef5ba6defdcf12a09d4275b8c10ba782da202b955fc9e905bed22c16f0875b943d3895dfbe99db12
+DIST firefox-137.0.2-th.xpi 507326 BLAKE2B 
c6f3ba205942cc53e212f4927e58e6f2e6046dd4fcfac2557439b80cc2bcd6e2292863d442c6d2944d90fc8bdeb8e8f8df0011d535c4176aed6551c9582585d3
 SHA512 
8a760be55ff20940ee502336da940f55c91e5837b27d2a6f4abdacf380974a30bd487f5104394b5b8d5feccf3f40511ed1de1741f4034b5e04fff20d16c41989
+DIST firefox-137.0.2-tl.xpi 357147 BLAKE2B 
3b86fe687fe094e139298d2656d711e9e420b7e024295410fa6d21842bba5ac3ba311735a43f3a1eac7844dcfc833372818f8e6b46f66a65d6980f31a5c09315
 SHA512 
0c7cc7960eda52820f80eb7e5273f141b3b3bfc92e34b1820801900e0afcf22fd58b6b09a8f51c528997621a81ac8c697a57aa1dbd90d7aad2b7d56d0fb1fdc6
+DIST firefox-137.0.2-tr.xpi 450214 BLAKE2B 
7100648cb96a423d18d1b494da930a08caa5784009ba3cbd8abbcd4361b1c1ba1c10455ad201ca72d2ec0624d5eaad537bdae0fa8253c50cd9765cd1f53d6fa5
 SHA512 
f8efb3e1e1ff8251c11b578e8bac970fb52c247985621d43b3137cfc5b165aad8564ffda14c4b3dfc3f44d85dabdda4be7b5cea7fb434b3ba294476f639fd789
+DIST firefox-137.0.2-trs.xpi 329280 BLAKE2B 
a634c5fefdddb4cfaba34b882438ab58189220fec2827bc86df732fcdae248edc4c0c6afcf9d992896d1e8e11d89f814acec448f1e24793d350a1f444a0fae12
 SHA512 
2d5718f35140f6d08cae625f08155fc01c4e00caccfb1ae174e52e535d31fabce15689d6cbb370cd7d0b3ab574994c857728fecc8b4bfce3c9520186ab616734
+DIST firefox-137.0.2-uk.xpi 518142 BLAKE2B 
fcc456409ce15554a25f7a7c47521c413173e8ff1c40f82d13056834c1c73461efb616c47cd9eeb616b7861958ebec3546e26810082aea278f3cc69af0588ebc
 SHA512 
fb85192424b3cfd4108c00e380723220a329788dcac9e0ada466bcda0a310d315e1193367d68b1866c81123c53e9a0375cc9ca54b233a3cddc45621ae7c0a189
+DIST firefox-137.0.2-ur.xpi 377240 BLAKE2B 
9343625624488f48ea7490d0d0eb286065ec66d376c89e63e7fe1ca850d2c357b28a66d7ad778f223687adda0b7bb21220254fad21ef9292f9eebce157b63ce3
 SHA512 
704b3e75507843991d3c110c0ebddb7df3ce77fa8aa91d8d02403ca3ca3f2018398d4de6bb80dd799e3c1eca93f46f51f4cfe0bf4f1ad27a89b23abec4f994eb
+DIST firefox-137.0.2-uz.xpi 310805 BLAKE2B 
7a05b1814b04bd78080a28d19c5c75889bb57990f8fbfbbfe1ce80239dcced66b60b82f58d14ef4ec294e4215972a980324d22f3578126aa4f361142b0a7b360
 SHA512 
d977564f95b0059876f441e5f5dd85840b2dccd0fe09b995151f6400e07e05f21e4ffc2e14c9d143f1f98714a3343e3b0d2a34fc8e2025fbe0e9df7acb85cc54
+DIST firefox-137.0.2-vi.xpi 471354 BLAKE2B 
7b35008aceff8695361d8dcf379af124b605ea39947410c1f4f9f0b4d6eb8e326f0ff4caec639c5c1698523b2b4e91647bd814b87c3f6fd313367b7f0ac5350f
 SHA512 
a7268f5ea7f4fb70297a1fe8871f31a2c5e3d2a84bbabf5deb279c9e242bcc8ee8ae0cf312cd814b87daa7fdb18da7e213c3ee00543f5a45662abb5efa1be62e
+DIST firefox-137.0.2-xh.xpi 278686 BLAKE2B 
33e51eb98a1267c949b8ab0abbc173b709d7a3ed02a536be90ef452e04bdbae7a4b4685fb4b7ba05769c6728d20aac9653efb05e02e1dedfba552bb45b176d4b
 SHA512 
4d2809a3ee365bc16f4681c8d7c222adf91fb2875d8723e8cef4907dda72b6442ee9858438b6c1d89a7339556f8a03a5c6dd18f3ef7630950e4605e7840fa2cf
+DIST firefox-137.0.2-zh-CN.xpi 462568 BLAKE2B 
f3a781c1bb3c5297206caa3229f05a789ae5dc59667886646001b9a6ba4d7bd0d4b9e336bbb3ef91c8b0935bf7ba56b63b59a3f8210116958e2a4c6cbeaac104
 SHA512 
652fc99cbdecb265a82a12b0822581985101a055e0e924feefe06d6b6a9bdeb7ae9107249b652d58694c6ccb167edfdb957b68b031d024291d274bd80f9f35dc
+DIST firefox-137.0.2-zh-TW.xpi 465652 BLAKE2B 
4c26831c1e4633d7ae44b9328b4e8123e1cfe783c538dd2c1fbd9952decc6d7b9ee16237eb31c98f4fdc1e291607a6a5f4c344c72d95d3d6924eebfc0201fd24
 SHA512 
757d52cb62a90a01f2cc7cedf7327814b70ee5850ccba967a096154a497d49668b085839088849e10bb3dd7fb5630f3b7811b4a673eb4e2fb9d885a6793c7b4c
+DIST firefox-137.0.2.source.tar.xz 599825260 BLAKE2B 
2484e141ac0a3ffaace0991c126ef53adfbfa3a4c6ac70d7c54bbddb34a01146d53e457190ab67ce74662e4605ca21b531521c3a1cc7bff66e742d063a26bb33
 SHA512 
82140c4325233ea2e2f579088cebb98c0e8db8848b4018cff95d4ed42bf847049ed6520fc051d930ee267a5acb008908170825d381589da0d109ca04a61e1c24
 DIST wasi-sdk-25.0-arm64-linux.tar.gz 115160800 BLAKE2B 
1ce22aaea87d0720d40d46ebdd96508c8fb0593b53c4489022fd5a1a9afb043a26a6e162a992d73454f612f2b6ab01e17a99c189c0c8b8c2d2d68fd96fabee1b
 SHA512 
ef4eff22c1efec4dc5ab199d09d93ee0004f9fa67b32cac0030f8b6a40def10f714391cec8e803c200995dd8bfad3ebad9ec79b4195aa6b2ea61ea47a8b9e61f
 DIST wasi-sdk-25.0-x86_64-linux.tar.gz 114450290 BLAKE2B 
07618828d4c25d67421aa72d38fc49bbff9052b8ecfe0fa9f4207e71880e9c650f458567cfa5bd389d5f830fcfee89142a77d33c29e7bccd1da7ddba2bc47b95
 SHA512 
716acc4b737ad6f51c6b32c3423612c03df9a3165bde3d6e24df5c86779b8be9463f5a79e620f2fc49707275563a6c9710242caca27e1ad9dd2c69e8fce8a766

diff --git a/www-client/firefox/firefox-137.0.2.ebuild 
b/www-client/firefox/firefox-137.0.2.ebuild
new file mode 100644
index 000000000000..f8481a329237
--- /dev/null
+++ b/www-client/firefox/firefox-137.0.2.ebuild
@@ -0,0 +1,1371 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-137-patches-02.tar.xz"
+FIREFOX_LOONG_PATCHSET="firefox-137-loong-patches-01.tar.xz"
+
+LLVM_COMPAT=( 19 )
+
+# This will also filter rust versions that don't match LLVM_COMPAT in the 
non-clang path; this is fine.
+RUST_NEEDS_LLVM=1
+
+# If not building with clang we need at least rust 1.76
+RUST_MIN_VER=1.82.0
+
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=25.0
+WASI_SDK_LLVM_VER=19
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+       HOMEPAGE="https://www.mozilla.org/firefox 
https://www.mozilla.org/firefox/enterprise/";
+       SLOT="esr"
+else
+       HOMEPAGE="https://www.mozilla.org/firefox";
+       SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info 
llvm-r1 multiprocessing \
+       optfeature pax-utils python-any-r1 readme.gentoo-r1 rust 
toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}";
+
+if [[ ${PV} == *_rc* ]] ; then
+       
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}";
+fi
+
+PATCH_URIS=(
+       https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
+       ${PATCH_URIS[@]}
+       loong? (
+               
https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET}
+       )
+       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 ~loong ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio 
sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg 
+system-libevent"
+IUSE+=" +system-libvpx system-png +system-webp valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry 
wasm-sandbox"
+
+# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being 
llvm-19 based, and
+# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 
is already stable in
+# Gentoo so it should be widely adopted already - however, it might be 
possible to workaround
+# the constraint simply by modifying CFLAGS when using clang-17/18. Will need 
to investigate (bmo#1905251)
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       pgo? ( jumbo-build )
+       wasm-sandbox? ( llvm_slot_19 )
+       wayland? ( dbus )
+       wifi? ( dbus )
+"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+       selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+       $(llvm_gen_dep '
+               llvm-core/clang:${LLVM_SLOT}
+               llvm-core/llvm:${LLVM_SLOT}
+               clang? (
+                       llvm-core/lld:${LLVM_SLOT}
+                       pgo? ( 
llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+               )
+               wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} )
+       ')
+       app-alternatives/awk
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.26.0
+       net-libs/nodejs
+       virtual/pkgconfig
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )
+       pgo? (
+               X? (
+                       sys-devel/gettext
+                       x11-base/xorg-server[xvfb]
+                       x11-apps/xhost
+               )
+               !X? (
+                       || (
+                               gui-wm/tinywl
+                               <gui-libs/wlroots-0.17.3[tinywl(-)]
+                       )
+                       x11-misc/xkeyboard-config
+               )
+       )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+       >=app-accessibility/at-spi2-core-2.46.0:2
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/libffi:=
+       >=dev-libs/nss-3.109
+       >=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-76.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.45:0=[apng] )
+       system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+       valgrind? ( dev-debug/valgrind )
+       wayland? (
+               >=media-libs/libepoxy-1.5.10-r1
+               x11-libs/gtk+:3[wayland]
+       )
+       wifi? (
+               kernel_linux? (
+                       || (
+                               net-misc/networkmanager
+                               net-misc/connman[networkmanager]
+                       )
+                       sys-apps/dbus
+               )
+       )
+       X? (
+               virtual/opengl
+               x11-libs/cairo[X]
+               x11-libs/gtk+:3[X]
+               x11-libs/libX11
+               x11-libs/libXcomposite
+               x11-libs/libXdamage
+               x11-libs/libXext
+               x11-libs/libXfixes
+               x11-libs/libXrandr
+               x11-libs/libxcb:=
+       )"
+RDEPEND="${COMMON_DEPEND}
+       hwaccel? (
+               media-video/libva-utils
+               sys-apps/pciutils
+       )
+       jack? ( virtual/jack )
+       openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+       X? (
+               x11-base/xorg-proto
+               x11-libs/libICE
+               x11-libs/libSM
+       )"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+       RDEPEND+=" !www-client/firefox:rapid"
+else
+       RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+       MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+       if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
+               einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+               return 1
+       fi
+
+       if use clang && ! tc-ld-is-mold ; then
+               if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then
+                       einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+       fi
+
+       if use pgo ; then
+               if ! has_version -b 
"=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+                       einfo 
"=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+                       einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+       fi
+
+       einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+       af ar ast be bg br ca cak cs cy da de dsb
+       el en-CA en-GB en-US es-AR es-ES et eu
+       fi fr fy-NL ga-IE gd gl he hr hsb hu
+       id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+       pa-IN pl pt-BR pt-PT rm ro ru
+       sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( skr )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+       # https://bugs.gentoo.org/587334
+       local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+               fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+       )
+
+       local lang xflag
+       for lang in "${MOZ_LANGS[@]}" ; do
+               # en and en_US are handled internally
+               if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+                       continue
+               fi
+
+               # strip region subtag if $lang is in the list
+               if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+                       xflag=${lang%%-*}
+               else
+                       xflag=${lang}
+               fi
+
+               SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+               SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> 
${MOZ_P_DISTFILES}-${lang}.xpi"
+               SRC_URI+=" )"
+               IUSE+=" l10n_${xflag/[_@]/-}"
+       done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -ne 1 ]] ; then
+               die "${FUNCNAME} requires exact one argument"
+       fi
+
+       einfo "Clearing cargo checksums for ${1} ..."
+
+       sed -i \
+               -e 's/\("files":{\)[^}]*/\1/' \
+               "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local DESTDIR=${1}
+       shift
+
+       insinto "${DESTDIR}"
+
+       local emid xpi_file xpi_tmp_dir
+       for xpi_file in "${@}" ; do
+               emid=
+               xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+               # Unpack XPI
+               unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+               # Determine extension ID
+               if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+                       emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; 
s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from install.rdf"
+               elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+                       emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' 
"${xpi_tmp_dir}/manifest.json")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from manifest.json"
+               else
+                       die "failed to determine extension id"
+               fi
+
+               einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+               newins "${xpi_file}" "${emid}.xpi"
+       done
+}
+
+mozconfig_add_options_ac() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_add_options_mk() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_use_enable() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_enable "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+mozconfig_use_with() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_with "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+virtwl() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+       [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to 
be set; try xdg_environment_reset"
+       tinywl -h >/dev/null || die 'tinywl -h failed'
+
+       local VIRTWL VIRTWL_PID
+       coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo 
$WAYLAND_DISPLAY; read _; kill $PPID'; }
+       local -x WAYLAND_DISPLAY
+       read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+       debug-print "${FUNCNAME}: $@"
+       "$@"
+       local r=$?
+
+       [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+       exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+       return $r
+}
+
+pkg_pretend() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               # Ensure we have enough disk space to compile
+               if use pgo || use debug ; then
+                       CHECKREQS_DISK_BUILD="14300M"
+               elif tc-is-lto ; then
+                       CHECKREQS_DISK_BUILD="10600M"
+               else
+                       CHECKREQS_DISK_BUILD="7400M"
+               fi
+
+               check-reqs_pkg_pretend
+       fi
+}
+
+pkg_setup() {
+
+       # Get LTO from environment; export after this phase for use in 
src_configure (etc)
+       use_lto=no
+
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+
+               if tc-is-lto; then
+                       use_lto=yes
+                       # LTO is handled via configure
+                       filter-lto
+               fi
+
+               if use pgo ; then
+                       if ! has userpriv ${FEATURES} ; then
+                               eerror "Building ${PN} with USE=pgo and 
FEATURES=-userpriv is not supported!"
+                       fi
+               fi
+
+               if [[ ${use_lto} = yes ]]; then
+                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
+                       # bmo#1516758, bgo#942288
+                       filter-flags -Werror=lto-type-mismatch -Werror=odr
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use debug ; then
+                       CHECKREQS_DISK_BUILD="14300M"
+               elif [[ ${use_lto} == "yes" ]] ; then
+                       CHECKREQS_DISK_BUILD="10600M"
+               else
+                       CHECKREQS_DISK_BUILD="7400M"
+               fi
+
+               check-reqs_pkg_setup
+               llvm-r1_pkg_setup
+               rust_pkg_setup
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if use pgo ; then
+                       # Update 105.0: "/proc/self/oom_score_adj" isn't enough 
anymore with pgo, but not sure
+                       # whether that's due to better OOM handling by Firefox 
(bmo#1771712), or portage
+                       # (PORTAGE_SCHEDULING_POLICY) update...
+                       addpredict /proc
+
+                       # Clear tons of conditions, since PGO is 
hardware-dependant.
+                       addpredict /dev
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+
+       export use_lto
+
+       CONFIG_CHECK="~SECCOMP"
+       WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to 
play DRM-protected content."
+       linux-info_pkg_setup
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       if [[ ${use_lto} == "yes" ]]; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       # Workaround for bgo#915651 on musl
+       if use elibc_glibc ; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+       fi
+
+       eapply "${WORKDIR}/firefox-patches"
+       use loong && eapply "${WORKDIR}/firefox-loong-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"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || 
die "Failed sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed 
sedding multiprocessing.cpu_count"
+
+       # sed-in toolchain prefix
+       sed -i \
+               -e "s/objdump/${CHOST}-objdump/" \
+               "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py 
|| die "sed failed to set toolchain prefix"
+
+       sed -i \
+               -e 's/ccache_stats = None/return None/' \
+               "${S}"/python/mozbuild/mozbuild/controller/building.py || die 
"sed failed to disable ccache stats call"
+
+       einfo "Removing pre-built binaries ..."
+
+       find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) 
-print -delete || die
+
+       # Clear checksums from cargo crates we've manually patched.
+       # moz_clear_vendor_checksums xyz
+
+       # Respect choice for "jumbo-build"
+       # Changing the value for FILES_PER_UNIFIED_FILE may not work, see 
#905431
+       if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+               local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+               elog ""
+               elog "jumbo-build defaults modified to 
${my_files_per_unified_file}."
+               elog "if you get a build failure, try undefining 
FILES_PER_UNIFIED_FILE,"
+               elog "if that fails try -jumbo-build before opening a bug 
report."
+               elog ""
+
+               sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 
16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+                       python/mozbuild/mozbuild/frontend/data.py ||
+                               die "Failed to adjust FILES_PER_UNIFIED_FILE in 
python/mozbuild/mozbuild/frontend/data.py"
+               sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE 
= "${my_files_per_unified_file}"/" \
+                       js/src/moz.build ||
+                               die "Failed to adjust FILES_PER_UNIFIED_FILE in 
js/src/moz.build"
+       fi
+
+       # Create build dir
+       BUILD_DIR="${WORKDIR}/${PN}_build"
+       mkdir -p "${BUILD_DIR}" || die
+
+       # Write API keys to disk
+       echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+       echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || 
die
+       echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+       xdg_environment_reset
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       local have_switched_compiler=
+       if use clang; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+
+               local version_clang=$(clang --version 2>/dev/null | grep -F -- 
'clang version' | awk '{ print $3 }')
+               [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 
"${version_clang}")
+               [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+               if tc-is-gcc; then
+                       have_switched_compiler=yes
+               fi
+
+               AR=llvm-ar
+               CC=${CHOST}-clang-${version_clang}
+               CXX=${CHOST}-clang++-${version_clang}
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain,
+       # AS is used in a non-standard way by upstream, #bmo1654031
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       export AS="$(tc-getCC) -c"
+
+       # Configuration tests expect llvm-readelf output, bug 913130
+       READELF="llvm-readelf"
+
+       tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+       # Pass the correct toolchain paths through cbindgen
+       if tc-is-cross-compiler ; then
+               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+       fi
+
+       # Set MOZILLA_FIVE_HOME
+       export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+       # python/mach/mach/mixin/process.py fails to detect SHELL
+       export SHELL="${EPREFIX}/bin/bash"
+
+       # Set state path
+       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+       # Set MOZCONFIG
+       export MOZCONFIG="${S}/.mozconfig"
+
+       # Initialize MOZCONFIG
+       mozconfig_add_options_ac '' --enable-application=browser
+       mozconfig_add_options_ac '' --enable-project=browser
+
+       # Set Gentoo defaults
+       if use telemetry; then
+               export MOZILLA_OFFICIAL=1
+       fi
+
+       mozconfig_add_options_ac 'Gentoo default' \
+               --allow-addon-sideload \
+               --disable-cargo-incremental \
+               --disable-crashreporter \
+               --disable-disk-remnant-avoidance \
+               --disable-geckodriver \
+               --disable-install-strip \
+               --disable-legacy-profile-creation \
+               --disable-parental-controls \
+               --disable-strip \
+               --disable-tests \
+               --disable-updater \
+               --disable-wmf \
+               --enable-negotiateauth \
+               --enable-new-pass-manager \
+               --enable-official-branding \
+               --enable-release \
+               --enable-system-pixman \
+               --enable-system-policies \
+               --host="${CBUILD:-${CHOST}}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --prefix="${EPREFIX}/usr" \
+               --target="${CHOST}" \
+               --without-ccache \
+               --with-intl-api \
+               --with-libclang-path="$(llvm-config --libdir)" \
+               --with-system-ffi \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${ESYSROOT}/usr/include" \
+               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+       # Whitelist to allow unkeyworded arches to build with 
"--disable-rust-simd" by default.
+       if use amd64 || use arm64 || use ppc64 || use loong || 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
+       elif use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-sandbox
+       else
+               mozconfig_add_options_ac '' --enable-sandbox
+       fi
+
+       # riscv-related options, bgo#947337, bgo#947338
+       if use riscv ; then
+               mozconfig_add_options_ac 'Disable JIT for RISC-V 64' 
--disable-jit
+               mozconfig_add_options_ac 'Disable webrtc for RISC-V' 
--disable-webrtc
+       fi
+
+       if [[ -s "${S}/api-google.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+       else
+               einfo "Building without Google API key ..."
+       fi
+
+       if [[ -s "${S}/api-location.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-location-service-api-keyfile="${S}/api-location.key"
+       else
+               einfo "Building without Location API key ..."
+       fi
+
+       if [[ -s "${S}/api-mozilla.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+       else
+               einfo "Building without Mozilla API key ..."
+       fi
+
+       mozconfig_use_with system-av1
+       mozconfig_use_with system-harfbuzz
+       mozconfig_use_with system-icu
+       mozconfig_use_with system-jpeg
+       mozconfig_use_with system-libevent
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-png
+       mozconfig_use_with system-webp
+
+       mozconfig_use_enable dbus
+       mozconfig_use_enable libproxy
+       mozconfig_use_enable valgrind
+
+       use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+       if use hardened ; then
+               mozconfig_add_options_ac "+hardened" --enable-hardening
+               append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+               # Increase the FORTIFY_SOURCE value, #910071.
+               sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' 
"${S}"/build/moz.configure/toolchain.configure || die
+       fi
+
+       local myaudiobackends=""
+       use jack && myaudiobackends+="jack,"
+       use sndio && myaudiobackends+="sndio,"
+       use pulseaudio && myaudiobackends+="pulseaudio,"
+       ! use pulseaudio && myaudiobackends+="alsa,"
+
+       mozconfig_add_options_ac '--enable-audio-backends' 
--enable-audio-backends="${myaudiobackends::-1}"
+
+       mozconfig_use_enable wifi necko-wifi
+
+       ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' 
--disable-unified-build
+
+       if use X && use wayland ; then
+               mozconfig_add_options_ac '+x11+wayland' 
--enable-default-toolkit=cairo-gtk3-x11-wayland
+       elif ! use X && use wayland ; then
+               mozconfig_add_options_ac '+wayland' 
--enable-default-toolkit=cairo-gtk3-wayland-only
+       else
+               mozconfig_add_options_ac '+x11' 
--enable-default-toolkit=cairo-gtk3-x11-only
+       fi
+
+       # wasm-sandbox
+       # Since graphite2 is one of the sandboxed libraries, system-graphite2 
obviously can't work with +wasm-sandbox.
+       if use wasm-sandbox ; then
+               mozconfig_add_options_ac '+wasm-sandbox' 
--with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/"
+       else
+               mozconfig_add_options_ac 'no wasm-sandbox' 
--without-wasm-sandboxed-libraries
+               mozconfig_use_with system-harfbuzz system-graphite2
+       fi
+
+       if [[ ${use_lto} == "yes" ]] ; then
+               if use clang ; then
+                       # Upstream only supports lld or mold when using clang.
+                       if tc-ld-is-mold ; then
+                               # mold expects the -flto line from *FLAGS 
configuration, bgo#923119
+                               append-ldflags "-flto=thin"
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang and USE=lto" --enable-linker=lld
+                       fi
+
+                       mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+               else
+                       # ThinLTO is currently broken, see bmo#1644409.
+                       # mold does not support gcc+lto combination.
+                       mozconfig_add_options_ac '+lto' --enable-lto=full
+                       mozconfig_add_options_ac "linker is set to bfd" 
--enable-linker=bfd
+               fi
+
+       else
+               # Avoid auto-magic on linker
+               if use clang ; then
+                       # lld is upstream's default
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+                       fi
+
+               else
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "linker is set to bfd 
due to USE=-clang" --enable-linker=bfd
+                       fi
+               fi
+       fi
+
+       # PGO was moved outside lto block to allow building pgo without lto.
+       if use pgo ; then
+               mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+               if use clang ; then
+                       # Used in build/pgo/profileserver.py
+                       export LLVM_PROFDATA="llvm-profdata"
+               fi
+       fi
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+               mozconfig_add_options_ac '+debug' --enable-jemalloc
+               mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+       else
+               mozconfig_add_options_ac 'Gentoo defaults' 
--disable-real-time-tracing
+
+               if is-flag '-g*' ; then
+                       if use clang ; then
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols=$(get-flag '-g*')
+                       else
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols
+                       fi
+               else
+                       mozconfig_add_options_ac 'Gentoo default' 
--disable-debug-symbols
+               fi
+
+               if is-flag '-O0' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O0
+               elif is-flag '-O4' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O4
+               elif is-flag '-O3' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O3
+               elif is-flag '-O1' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O1
+               elif is-flag '-Os' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-Os
+               else
+                       mozconfig_add_options_ac "Gentoo default" 
--enable-optimize=-O2
+               fi
+       fi
+
+       # Debug flag was handled via configure
+       filter-flags '-g*'
+
+       # Optimization flag was handled via configure
+       filter-flags '-O*'
+
+       # elf-hack
+       # Filter "-z,pack-relative-relocs" and let the build system handle it 
instead.
+       if use amd64 || use x86 ; then
+               filter-flags "-z,pack-relative-relocs"
+
+               if tc-ld-is-mold ; then
+                       # relr-elf-hack is currently broken with mold, 
bgo#916259
+                       mozconfig_add_options_ac 'disable elf-hack with mold 
linker' --disable-elf-hack
+               else
+                       mozconfig_add_options_ac 'relr elf-hack' 
--enable-elf-hack=relr
+               fi
+       elif use 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
+
+       if use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-jemalloc
+       fi
+
+       # System-av1 fix
+       use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+       export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+       if ! use telemetry; then
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_CRASHREPORTER=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_DATA_REPORTING=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_SERVICES_HEALTHREPORT=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_TELEMETRY_REPORTING=0"
+       fi
+
+       # Disable notification when build system has finished
+       export MOZ_NOSPAM=1
+
+       # Portage sets XARGS environment variable to "xargs -r" by default which
+       # breaks build system's check_prog() function which doesn't support 
arguments
+       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+       # Set build dir
+       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+       # Show flags we will use
+       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       # Handle EXTRA_CONF and show summary
+       local ac opt hash reason
+
+       # Apply EXTRA_ECONF entries to $MOZCONFIG
+       if [[ -n ${EXTRA_ECONF} ]] ; then
+               IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+               for opt in "${ac[@]}"; do
+                       mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+               done
+       fi
+
+       echo
+       echo "=========================================================="
+       echo "Building ${PF} with the following configuration"
+       grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+               [[ -z ${hash} || ${hash} == \# ]] \
+                       || die "error reading mozconfig: ${ac} ${opt} ${hash} 
${reason}"
+               printf "    %-30s  %s\n" "${opt}" "${reason:-mozilla.org 
default}"
+       done
+       echo "=========================================================="
+       echo
+
+       if use valgrind; then
+               sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g 
-O2"/' .mozconfig || die
+       fi
+
+       ./mach configure || die
+}
+
+src_compile() {
+       local virtx_cmd=
+
+       if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; then
+               # increase ulimit with mold+lto, bugs #892641, #907485
+               if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+                       ewarn "Unable to modify ulimits - building with 
mold+lto might fail due to low ulimit -n resources."
+                       ewarn "Please see bugs #892641 & #907485."
+               else
+                       ulimit -n 16384
+               fi
+       fi
+
+       if use pgo; then
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+
+               if ! use X; then
+                       virtx_cmd=virtwl
+               else
+                       virtx_cmd=virtx
+               fi
+       fi
+
+       if ! use X; then
+               local -x GDK_BACKEND=wayland
+       else
+               local -x GDK_BACKEND=x11
+       fi
+
+       ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from llvm-core/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+       # Set dictionary path to use system hunspell
+       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
spellchecker.dictionary_path pref"
+       pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+       EOF
+
+       # Force hwaccel prefs if USE=hwaccel is enabled
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+
+               if use wayland; then
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel wayland prefs"
+                       pref("gfx.x11-egl.force-enabled", false);
+                       EOF
+               else
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel x11 prefs"
+                       pref("gfx.x11-egl.force-enabled", true);
+                       EOF
+               fi
+
+               # Install the vaapitest binary on supported arches (122.0 
supports all platforms, bmo#1865969)
+               exeinto "${MOZILLA_FIVE_HOME}"
+               doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+               # Install the v4l2test on supported arches (+ arm, + riscv64 
when keyworded)
+               if use arm64 ; then
+                       exeinto "${MOZILLA_FIVE_HOME}"
+                       doexe "${BUILD_DIR}"/dist/bin/v4l2test
+               fi
+       fi
+
+       if ! use gmp-autoupdate ; then
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       einfo "Disabling auto-update for ${plugin} plugin ..."
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to 
disable autoupdate for ${plugin} media plugin"
+                       pref("media.${plugin}.autoupdate", false);
+                       EOF
+               done
+       fi
+
+       # Force the graphite pref if USE=system-harfbuzz is enabled, since the 
pref cannot disable it
+       if use system-harfbuzz ; then
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
gfx.font_rendering.graphite.enabled pref"
+               sticky_pref("gfx.font_rendering.graphite.enabled", true);
+               EOF
+       fi
+
+       # Add telemetry config prefs, just in case something happens in future 
and telemetry build
+       # options stop working.
+       if ! use telemetry ; then
+               cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" 
|| die "failed to set telemetry prefs"
+       fi
+
+       # Install language packs
+       local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name 
'*.xpi') )
+       if [[ -n "${langpacks}" ]] ; then
+               moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" 
"${langpacks[@]}"
+       fi
+
+       # Install icons
+       local icon_srcdir="${S}/browser/branding/official"
+
+       # Prefer the upstream svg file they use when packaging flatpak so it's 
always up-to-date.
+       insinto /usr/share/icons/hicolor/symbolic/apps
+       newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg 
firefox-symbolic.svg
+
+       local icon size
+       for icon in "${icon_srcdir}"/default*.png ; do
+               size=${icon%.png}
+               size=${size##*/default}
+
+               if [[ ${size} -eq 48 ]] ; then
+                       newicon "${icon}" ${PN}.png
+               fi
+
+               newicon -s ${size} "${icon}" ${PN}.png
+       done
+
+       # Install menu
+       local app_name="Mozilla ${MOZ_PN^}"
+       local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+       local exec_command="${PN}"
+       local icon="${PN}"
+       local use_wayland="false"
+
+       if [[ -n ${MOZ_ESR} ]] ; then
+               local desktop_filename="${PN}-esr.desktop"
+       else
+               local desktop_filename="${PN}.desktop"
+       fi
+
+       if use wayland ; then
+               use_wayland="true"
+       fi
+
+       cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+       sed -i \
+               -e "s:@NAME@:${app_name}:" \
+               -e "s:@EXEC@:${exec_command}:" \
+               -e "s:@ICON@:${icon}:" \
+               "${WORKDIR}/${PN}.desktop-template" || die
+
+       newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+       rm "${WORKDIR}/${PN}.desktop-template" || die
+
+       if use gnome-shell ; then
+               # Install search provider for Gnome
+               insinto /usr/share/gnome-shell/search-providers/
+               doins 
browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+               insinto /usr/share/dbus-1/services/
+               doins 
browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+               # Toggle between rapid and esr desktop file names
+               if [[ -n ${MOZ_ESR} ]] ; then
+                       sed -e "s/firefox.desktop/${desktop_filename}/g" \
+                               -i 
"${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini"
 ||
+                                       die "Failed to sed 
org.mozilla.firefox.search-provider.ini file."
+               fi
+
+               # Make the dbus service aware of a previous session, bgo#939196
+               sed -e \
+                       
"s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox 
--dbus-service \/usr\/bin\/firefox/g" \
+                       -i 
"${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" ||
+                               die "Failed to sed 
org.mozilla.firefox.SearchProvider.service dbus file"
+
+               # Update prefs to enable Gnome search provider
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable 
gnome-search-provider via prefs"
+               pref("browser.gnome-search-provider.enabled", true);
+               EOF
+       fi
+
+       # Install wrapper script
+       [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+       newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+       # Update wrapper
+       sed -i \
+               -e "s:@PREFIX@:${EPREFIX}/usr:" \
+               -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+               "${ED}/usr/bin/${PN}" || die
+
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if ! use gmp-autoupdate ; then
+               elog "USE='-gmp-autoupdate' has disabled the following plugins 
from updating or"
+               elog "installing into new profiles:"
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       elog "\t ${plugin}"
+               done
+               elog
+       fi
+
+       # bug 835078
+       if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+               ewarn "You have nouveau drivers installed in your system and 
'hwaccel' "
+               ewarn "enabled for Firefox. Nouveau / your GPU might not 
support the "
+               ewarn "required EGL, so either disable 'hwaccel' or try the 
workaround "
+               ewarn "explained in https://bugs.gentoo.org/835078#c5 if 
Firefox crashes."
+       fi
+
+       readme.gentoo_print_elog
+
+       optfeature_header "Optional programs for extra features:"
+       optfeature "desktop notifications" x11-libs/libnotify
+       optfeature "fallback mouse cursor theme e.g. on WMs" 
gnome-base/gsettings-desktop-schemas
+       optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+       if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+               optfeature "hardware acceleration with NVIDIA cards" 
media-libs/nvidia-vaapi-driver
+       fi
+
+       if ! has_version "sys-libs/glibc"; then
+               elog
+               elog "glibc not found! You won't be able to play DRM content."
+               elog "See Gentoo bug #910309 or upstream bug #1843683."
+               elog
+       fi
+}

Reply via email to