commit: aa2b2df7d8d3053c676e98f9f162266778211be5
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 1 03:31:12 2025 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Apr 1 03:31:12 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa2b2df7
www-client/firefox: add 137.0
- drop fix-wasm-on-llvm-profile.patch - the 'define' line it modified has been
dropped from upstream code completely,
- drop mls-rs-dwarf-rust-workaround-fix.patch - the updated crate is included
in this release,
- nss requirement bump to 3.109,
- RUST_MIN_VER bumped to 1.82.0 which means only llvm-19 compat available now.
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
www-client/firefox/Manifest | 102 +++
www-client/firefox/firefox-137.0.ebuild | 1371 +++++++++++++++++++++++++++++++
2 files changed, 1473 insertions(+)
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 9ff579fe3980..7f374733d6ed 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -305,5 +305,107 @@ DIST firefox-136.0.3-xh.xpi 273257 BLAKE2B
6e07dd72d826ad4f42d9f40620ec20cb8d942
DIST firefox-136.0.3-zh-CN.xpi 454860 BLAKE2B
7e348fc0966edc49d5846385e3cfc9dd07298ce54732bb2b7e39942620c513e4fe0eccba3eda01e1d0d3dd437dcf55a14d6e9eb76614a514c8df13c08f93ca19
SHA512
9dad343d44c142283731b86feb7736bc977d0e695321090840405a88130b064f75aee5d57e3254b5de3109ef877589964d0b96159f0e168c30aacc46c03c0d3e
DIST firefox-136.0.3-zh-TW.xpi 457685 BLAKE2B
acd6fcf01ca1a18132b89f3f519684200ae8cc4ccb961abc0bfc416a61d2a567556bc4b8f762b8fdc4a48ff90bdfc58e0b049c3c6f7843eb4462d77cc4d04716
SHA512
4a033670cd88cda125543846deebfe49b2a6377bf514d3677688c50fb1425bb19e44f6d2c5ee99f04cd3ff949710fa8f09266bbe6fa16f778b751ac825e64553
DIST firefox-136.0.3.source.tar.xz 601432848 BLAKE2B
7f9c686744273ae00edfb64f0ba12dc46bab901e3a23e8ece1e9633bbbda9e83d03c6373a76596a2d9126b541d25311d40204240d6220354820264346a485e2d
SHA512
59cb54bc946aecea810169970aad4ba3f7b3092e56f15f86ff3d51fa2752c89632a057a1bda016f0005665ec5099d9b9f9a4786b9c02e3f5656eb2003b6a1747
+DIST firefox-137-patches-01.tar.xz 13584 BLAKE2B
f22ee7977e738bb782014dda53ac20c4928fbef93616b1a11d474599d79a549dbf66e5a1eaf40d1ba1745bc3345162cf1f2107ef9a8ae72c63b8d9850460380d
SHA512
b577486e8cfb2dd2da37802a9a7f4e2bf16094bf4ed22a8c2bf91019cf74b23942a1884a58bcbad055c7ca480f944cae35e85aadf92d98059be0eaacd4b8a464
+DIST firefox-137.0-ach.xpi 300716 BLAKE2B
acc9e2b03371ea2d178bdeb8d17b48c58ed18a2ddd65b0d8a8223a143f0b512f3d3d60dfd6d05c522ec292edfd2a96c8d693d8d2cf08a198ed89a6df10157bdc
SHA512
d4930c8ebaf53d1dbb6c35efba9c82d74bb4c33879093bee324b8b3fb1cf082fe330cfcdc8a2d55ecf69afaf870aac726326e3749f83b4b147ca629287490784
+DIST firefox-137.0-af.xpi 272237 BLAKE2B
b3fc5d9f41d00b616a0bcec3be823a283bac4c07c9e2ea4aa319a4d29ecac84f36f07a53373f0a7d245f39e727825739b2708a955f841eb740decc99dbe4920a
SHA512
d158e9f79069a2b5edd5b68528a894d52d02a2f8360c1963062cdc67a22e2819dc610d710697b3cd000de6a6c22dfccc60111a3350f7d350a9d5f452b741e95d
+DIST firefox-137.0-an.xpi 338701 BLAKE2B
a45c9e37f30ffbdb5a2838955fc53cb32d8bec15e1c9d18e3f68f7c6e82c7bdd36b7651b42456d22fba5efce00987036272b54002ba7e2105750cb2c176e183c
SHA512
aa6c9ac1450e41686044a7769707251ad7fb727a640eb1188186c2ec1c39d0665d4f5bbab1e04748f0bce714b2f778a7497eba17a737872385db4779dd269638
+DIST firefox-137.0-ar.xpi 441341 BLAKE2B
4792f8d94a71fdb599129a1adad03f865a76299c70548a00d30249b2747685382076a4df656a2dcc223864b75dc963c52db9f9b21fd8bd25ebc34512aa2e6af3
SHA512
54ff2dcce3e407ab735d52da9d800a35d1cdbbc7822f96df8c28c7d3725a3115b50007be2e335c13051f242da82f2f92f54d8093d5d3ce7dcf27fa623e4a6af7
+DIST firefox-137.0-ast.xpi 319618 BLAKE2B
45dcd7f6f7327da06e8be6a04efcbcad2c16b2a3b50d7bf15267d3e327a1062b6c4695617ccf36be3748343030d596827f52243608f4decb4baca6f90edb5bdb
SHA512
a833de8df6ee25c4422fcefdcd7678e00d9f3b1f920c7936c64e99a99da3690f8e2c775b486419b7366a72214b0d78501eaf46f86df70562bfa72a6fd2e94364
+DIST firefox-137.0-az.xpi 325049 BLAKE2B
42cf038bba290a580e0b8ef366d13e78d564b9c00fdf58357dce321c667f89d41c9f03a6f9359138021ad660bfd5a44f45135e517ab8faeead500487346ef2ab
SHA512
40e66813f052d042f536a4f9ea39d25a45fcd4761e6b780fda42231b84968503cd577f9c86621d0880b684df305c960fd2b408ac9c38b578de3d9d79dc8a4fa3
+DIST firefox-137.0-be.xpi 522144 BLAKE2B
5e8ac301937772c4d4075c66331f787fdfab24eb2c7e7c3f59c2d0070e2bf1126afb90b67102e7d849af08768b37d838f63b8c2a40948395cc0b0d223614510e
SHA512
9314538c11a84c93de2bbd0627cb1b09e0ae65d6a36f2bf9ae59757909b574a6c447825a5295274685bed9feb306e616993dc418bda408fcd97daf5bed0475f3
+DIST firefox-137.0-bg.xpi 453689 BLAKE2B
29aac1a4f9aeb3b1e8b8acafe99f843644f4c7e6c8188bb68705b246a126b99c8cda49c6d3b1b084e5ca7bf4a71f91bd971b6b8fabece95c6a408aaf5fdc1f04
SHA512
e01a7a57d04207665493387c8ba850460c8f79a9d735b2fdfb3c8099df4454afa269aed2e6d6b4f7828e93a76bca6260bdf94ee2c2cd21ea4e41a4a184dfc6b8
+DIST firefox-137.0-bn.xpi 419514 BLAKE2B
24102666d1a9992209bcea93cb52fb6e832e60d432ba6f8a8eaa0600046b856da801155ff46b1969b5bdba950173471b6724de667cf96cc0aace7a2331c149d2
SHA512
c312cff9df167f4c5c457dd7341dc39735c721a3c4ed24a4b493a83309d19561bc4bfe6c9265e3a29a8946ff81c864a43258c922f0a89704494d6d1bcd8642bb
+DIST firefox-137.0-br.xpi 400645 BLAKE2B
155c7ba1ddcae97ceeeff872583abe794bdd86f00eb8ca31e62a83b024115640b93d75d46911128e654c36ff88b6d5d44bc418d7fed4fd41f461a7e3a29e904f
SHA512
8839c8031708aac2ca9c243757fb368e2960ff0df4a9fc75d3450ef1f99b079dea55322e57e32b25c0c791412dc380b794579191e2380eafee1264b24fe7e436
+DIST firefox-137.0-bs.xpi 370537 BLAKE2B
cd161c1baa087128429d154db7813c3f0b8cd3b24a2c5522fb80894ff3b5d6f299c2c8eaf5f37e6a8c28eb8a25c970b9a334fa537492e8b2547b0b64cdaa20d8
SHA512
576ae4c307e6310a537c55818017e9b2558d9d330f9e2c64116c1206dc27c9d8952e06d9a6bad496afcc68aff34ce83a2b522ce3079c811bf6557ac39831162e
+DIST firefox-137.0-ca-valencia.xpi 365080 BLAKE2B
797dc673c6cef2194b87f151610c6276cd67c4a9db5c69cd40a915e33c7933a40c68547dc1dfa4e9b36470fd8b67a096238b9ce5b0e0ec064c0ea94b602cfc9a
SHA512
17f5f59e9f23513628d6552967c3c565b169a0db65f21ddb274e334a75831eaa1c36db5d5b01d0b80d9cf9f1401d7a03c1b63cad229a011cff4911a247dfc734
+DIST firefox-137.0-ca.xpi 405805 BLAKE2B
d69935db3ba10f263e8ec9776f166705243040b6d26582faf4518eb63fea1322993b81538b21b96ad6c50b0654f9767126c25531daf6403c60181ca585af11c2
SHA512
fd45b9864cb356217224d58ffd2226e0e70b70248ce94be0625d6363e732fd654b9bb98fe07bb8e8578462cd5313b1d67f9b6f33fc94ab5992fc2a531eaea1bd
+DIST firefox-137.0-cak.xpi 399171 BLAKE2B
1556158752a18e3583aa73b27099af410b0d9fb29b94c89273d9408599f607d44bb928d2bb911eba2e4601be49de6616ce5906df06b9c6663df563dd39168392
SHA512
ab22b793b28a025e660cd490512838d5ad1c283f53b2ef6439011f61b1a398de2bc8a175487434925c062bc460a7488d2313607ba2b898d1931de5acbe3d38ca
+DIST firefox-137.0-cs.xpi 477193 BLAKE2B
37338dd1e242a0da296e469c484b679aa75074ab8bd9095523c7c83f3b1acecc26f89c6caa2d99c547ae79b4df6eee5613fcc01f61a64168fb2bdba0ad54417d
SHA512
de6b3cabb72d4a48529bc190d456887fd3da2a650cc063ab79f85a78e8d4b487ae7f9b8f4f5abafdf0c8b658aec5f326aec2c62e270880cb011a66af9c3046ed
+DIST firefox-137.0-cy.xpi 443584 BLAKE2B
6e38b35e5ee0e2bddf93b1f5a1f80b1ee0eb36e9aebce032154903a9e8ee0ce8970b329b0f0159c03db15571bd41ae3ff6c16672ca4a7d9f5c021ebda55c542f
SHA512
235ae38643a334cd848c47d7d81ef93a3fef3be45b0d69b0a09f322eb6f62303910e64c7daec4d8247682cff8c468c21f961c28a9a6726a9ff1cf3f0046acf97
+DIST firefox-137.0-da.xpi 432988 BLAKE2B
8d30a315efb29d2ee921ba3899d0e795083e8dc727a03da4a88d1071bd060023d2024de9f4d906f312671f15839adb27eed825797e5575b2debd6132d9450d29
SHA512
dd65e706faa15c64539a7e807d14cb4475cf3c90983d5e9cb78b6189ad2515574693f414cd6f265d42199b124a6f155b5d94227cb7466836bf81476629e5273b
+DIST firefox-137.0-de.xpi 454586 BLAKE2B
2af36a12153c130aabbef85a7c8d795b53e2ff0ffc2d345cd7cc0f9d228e967d6753aee5d8be81e8e9ac5a441ef15fe29a08d01f4fd458ea9c96c30d19ed4fa3
SHA512
efbc346eb7b50ff4539c31830b2eb513bceff7b3dc4128b05fb57ac97b0b23b03aed922edb048624b894aeaabd3965cd6a22ed943a4951d62199591dd36a925d
+DIST firefox-137.0-dsb.xpi 467763 BLAKE2B
4f96a4e90bdcf68074de66d224582272f6d5350f0b4cee27e35fcf73d1085ba28e2f45bbd1b339017892d0355fa7356e91102062a126f2e55ea995f5033dfb14
SHA512
b1249171b73d04988d987536dca5640dbc6e2361754bf4b7d472d1b04e7e37b91ac78de60b1f207a6e191a4c41dae27e9143c7300d2430eca03ddcf0d463b792
+DIST firefox-137.0-el.xpi 537993 BLAKE2B
352ad0fdbd0e92ec8825a9b101910a00418a27a55e127ffd231e7d6c87257132b6a6c67f01c4b4c057ad5f513e201041908d32419037460792b153508b6c8eb3
SHA512
5f8264e5ce5af688e68e0f6600024d7b8657fc3245482b2588c03bb3505f8f14ea33c2c9f63a0b0432619bd59ba82aca5200e26caf1c45484e87f8a29c3c0d59
+DIST firefox-137.0-en-CA.xpi 413415 BLAKE2B
5a025b430a2ae68a2ebab8cf3011d544cc49ac07fa1e3a4c25e4eb2cc3bafd75b2796db5c7fb6afacedfe097542b0bd15477a40238f9bd37dc75f2c9d3b337e6
SHA512
003096037c023c3284b73e3139e5c95e6719e0e338a76a9e71fee1d2b917bfda73e847ffe332f9ba8f5012ed5ee6374b5e3e8e848ac76aa75e883ae3b18e83a5
+DIST firefox-137.0-en-GB.xpi 413688 BLAKE2B
19d7436cde43c5efbd0ce50efa1f13b94a387bcc28f223770a590752414a4366b3ca963ba46a1c2a306230f6690b0692ee56fba70ce8047ffe46c45bd6781276
SHA512
464aaa65674a81e8d2d195c6957ca635a666afcd0aba90fb35cfb0e45fb6bdac17117a5d7b096194c90d268ebf1cad4b9b47338f7ae8e79a42e6951ebf8c3881
+DIST firefox-137.0-eo.xpi 434084 BLAKE2B
e440034a079530043c7f5f1cb17340e9cc141110be30cc6976947e9d931b12352af626f3acedf0eccd6f642a4f87ebd752f7fff32aaab3f97afcafc52d354e69
SHA512
bd92071c26ebd03f3c2ba25293eca3a745288beaa4e47adb8fbc3203f8562d72a6cf0cadabd6b19febf4d52421b5ab05a6fc965e50acd16d56ca6472d7df9ab4
+DIST firefox-137.0-es-AR.xpi 447449 BLAKE2B
131cd4e0e4ea0cbd09eee5fa88039ca868307c64b40999a1dec781e2e6b4c0b18f54cead2a9d63567bde0f0d2958fca85d48df688fc3dacf1e625cbd8c7c5868
SHA512
4c2b1c3dffd864d9d609cb64cbee6e82e9e91f87c490fcc4b08be4cf729c64b71d2bb7f66e92a8354520da74305072e33a8c69f81d49678d7a07db1ee01d4d12
+DIST firefox-137.0-es-CL.xpi 448160 BLAKE2B
3f21454924d3010f216d9382dc978ca3f6796e969cffae1281ec9cce6abbe5363bb329d134e67d7965da3326f75f73ff7afc11108616f2ad04c735c6378f1bfa
SHA512
3cd70f074e1ee921022df2ca05721184b80da1d88026f2a1644d9f34cd5417da9114faea1abb0ea54a6d2dbc6f43c05f96c37a0e09700d05d067a605ceca95d4
+DIST firefox-137.0-es-ES.xpi 448964 BLAKE2B
68253924802cc80a47cc026e3074d4735fade8b1590c3e58b28faedf455ccce5c42abeba9d70d68cf122190d2c8fbe4a8bee6d4995911b1c00b07996576bcfdb
SHA512
c55adcb0ccc94c44bdc260e1af09ec0af8e89cf3c592d0e1f127d50ad81b92dd1470edda90c5bf2faba6c2a8b18c719850922b4bb6d30c6ad1c22ac6593c7549
+DIST firefox-137.0-es-MX.xpi 449075 BLAKE2B
c9dc74f4b8637427dfd856b00bf6e8736460576a5e82f3d32f57151fe5333bcf50dbdd42df2bb15cb8d909c3a26093935676ba9f4128b8dab8327b3880ba06b3
SHA512
f66ac4b3ae6723b22475cdb012d1773e6388323bb0b6589a70ce11ca052356f4630c45bad2893976d73ecf36856fc7d9bca8ff4189d386dd94712763f198fb63
+DIST firefox-137.0-et.xpi 364135 BLAKE2B
a6cf16605069479c4348d5438db591e26b7f14993a6d5c5b946400ac515333e37a818638c2b4799adcf80cc930ee5fd5bff709143d8d67a53bfa877a66f86e52
SHA512
7ec8d2557d66733c35dcc7ffd53a64335c520fc49fd532ece784b298091beeb063582a9eafb333b495b8a22a4bbe4acc802984579dd10180313554084a63065f
+DIST firefox-137.0-eu.xpi 418653 BLAKE2B
b34ca94b9171061cb8804541cb294fc78d646733ff83d401eb236e9fa0e3fc431997f1cc383ff9c60c08a78515aa8ddff8e79e18fe9239f2aa86aecce6e8b4b8
SHA512
e29319f018e213dcf2438f5e155935b9f0c39b80a76059ec47d231ce70edc51154e42a8b225e23898a04dcfd51a11c6a63d6774e5d55955fb904af204d5a266c
+DIST firefox-137.0-fa.xpi 419707 BLAKE2B
d75970e23b8033eda8c70593afd1ee6cea19aea6eddd8573b52e1967dc9159065311fea6adcfb51ce36e2b0f788bde02e291288ddfa657518bd452a5b82138e4
SHA512
4c2c286e351aac0299cf7b82d2789e4b2dc4a3bb314faa66861cc0f8faa85f0a36c21bf0506789e6210f4d577328909513079d489345a6502c48ca1e2c3c205a
+DIST firefox-137.0-ff.xpi 316609 BLAKE2B
78ede1b4fe119eb48bb3e69c775b8a6b23af601e159df54888123fd1086b63f6e243d3131f4a5898c1f545d5480ebbde9ce47157654afb0ebb9479bdf0d8fe8e
SHA512
f403e84f8ebfd8a153a55ef64105631d06d978f3ed9983f475897d1af1e5b4626d26a4650b5d921638b4dd8cf115d3d65092504daa05374efe2b756f9d19e156
+DIST firefox-137.0-fi.xpi 431193 BLAKE2B
f64dd05f45d13770305782885ee088c13406191a0cfb97107186d0b7ecf487dac707c9422f93d369314cef232d5f153ade791051b43a3eb7fc8464a9fc54a960
SHA512
db960cedda5bafea3513fb8767351eb54bda339f77ecea2c1edcc54e9f463ad9f5b382f2e4c7ee08a2a11142e68d41e09d2d5d0749a7ded4272849cabc6bd44c
+DIST firefox-137.0-fr.xpi 459879 BLAKE2B
a361d1bc1b3c454e9d6c30c859e5a26fd735f8bf28f7ce64c5beded9f547edbfb04925bb06ad6f37dc87960dfc3a0e818f6ca53d530efc50b205458d92308d17
SHA512
5f0ca38a78e21f3e7ad887d7a30b9096b720364a937f9ff296ce0fc3f4dab9aef66745729da5a4dd104c972c85246d81be69efe698c76e368cbf66e1d97e1aef
+DIST firefox-137.0-fur.xpi 453477 BLAKE2B
38c853201cc54ebf83778b6603131563fd9db27ea74ac7da72e6801dd09ee31028ba13e241713f43b22183d04f39baa353abb94e0425e324fdfaa32f1f945853
SHA512
5f80de9a908cfa44880e0ba26aa5678fada69dac45a65481a8d476f5155f2e1eb16c0177fac75fed84d6b8c54d1e072886deec07ee526de281886bd80ea6f452
+DIST firefox-137.0-fy-NL.xpi 444070 BLAKE2B
8d5b53bcff071caa7f4d154575b3a5536a8c1fc3fed99c644fb98fdf38fd710689c6f3aaee125e291791a80ea7ad26195cac073d2f04d96eb852e709e9904932
SHA512
e9a28410d1a2a2e0b83b77607d8088ebffb79778f49e62c2ff265d7d297552647cedf1dedc70f0af466aefe35146b6ecbd620e0309971b843c89fa942ce8f73f
+DIST firefox-137.0-ga-IE.xpi 312658 BLAKE2B
04a315fd7a4ee9cac90fc97009df3b38e401c94d91fe1fe8122d3bb4a7fcfbb7fd365002cf5082e86f0dd2771f9696671e8f31a2ea893e9371f6a11e471ca5dc
SHA512
32d24b749ed6eef81c6bb9589b66c5a1843f1eda18a49a1742ee7e537f31b33fd65cb3d4ef8278d34b13289a81edcf1c0589cd72e671c7459a7b781726581156
+DIST firefox-137.0-gd.xpi 407630 BLAKE2B
f29909b3a44081cc8da1fe1915846ba34a2e331d9a15b979cb31a83e38004e39e36512dc1b3f2a214b44abe04999816db54b0b8b4d02bf10c8aaf5924d461c44
SHA512
2944d4d8eebdd69c884bd3a06ce42648597cd256885585e7f3a970b46cbb79e163dd67618f912e8571337348d49d61640d6a1bb0785e4d95392722ca0381a272
+DIST firefox-137.0-gl.xpi 411529 BLAKE2B
6f2ab20d1c7b73fc0ed84566eac723a9effb83ad7e4ad7cbddd28ddf2d1637df44bc70428cf961355d95ad942f1b8abfb61cd1a22df67476c9aa5647fc85d93a
SHA512
d6e676976fa8f8a516b96cd4d1c8da9834402c0673da5560d192eba74ec0e909b56fd43ba973145161e2610d3b36ffa093f8ee1b1847c7b4dfadc4e16662cfb8
+DIST firefox-137.0-gn.xpi 451254 BLAKE2B
0deb6d6be80007026fc1d462c47ce197dc9fce160f46183b5d3df20900b96570eb42b473d4cbc0adcbcbc575eb305615eae0f3540993664ec130a90190c7a8fd
SHA512
c746ed3b0a74bc843717196142b7e06071fa0fc63a1733c8f473e18c1afcad96ed4944c8ad221926c6c3cac57de265f3d5969e9cd843fae5ed648ad9f187622a
+DIST firefox-137.0-gu-IN.xpi 365573 BLAKE2B
4a6cf4eea0f8364d58801633e8eb65b4e621f3bfcdc03563b77be58b889354873d0e6ff90cdd0edf3659a3ea9ff6a488ffb62f00621f00c0fc4e880cd63e9e44
SHA512
93b733329672366008138dfe12e53cbc641552a9b6430dfd9572f56a2db0535194ec5d3633fbd16b501593891abe0d7d4a525d44cb2b68ed177b95a299a03aa1
+DIST firefox-137.0-he.xpi 445578 BLAKE2B
fc1fb4d2ac1408df88b1b1cad0b490e4fd4aaa9fdc9ef69843347788478a089a610bc4e13614e28e17459a8cd0a70515da248740edf8a0566022d473b2369f35
SHA512
c85f43b50ce11eed8dae464b2e0d5110cbe96079b37c090f05c7b15031982e1d5d0dcc2c7f1e47df69b42869c597e5b5a2333dc133bfaea779ea1e2959d10c41
+DIST firefox-137.0-hi-IN.xpi 384073 BLAKE2B
2cc814ea4334e66ef23521b0f84ab5de99db3776c56ccf7ba286cc2c88c97bcda5632168a3b3e9fb02fa941a3f90da2cdbee4b848f912d689354a8cf14cffc1e
SHA512
056cb0ff815bfc91a27e78e5d931a429d9b4cfa8f884f9d9f575d62d4acf27e87f99757fc96eaf2ded43d9b5a8a8ad7acbe8426494858028a8c8ca055727280f
+DIST firefox-137.0-hr.xpi 436085 BLAKE2B
fd36eee95888482984808f3569b43798a388359f6bca2011e55d3135c75d4ef4f333a038ed669446ffa8233dfee0d4746d0bfd6bab89ffc5d6545c5f0fbe2222
SHA512
47d1f37e0eb2dc17c19380fe9d2e70686ab07829b2097288bb2999fdb9b602e4a973cb6a07dd44e9a4fb5895a71daacebcdefcc57e3207c548e6fbfd1981e091
+DIST firefox-137.0-hsb.xpi 464394 BLAKE2B
fedbfafba7edde7ab5a22c9b1577e84b0c8545d91e7af6042c8aad6bb35587f96966707df94d2b69cdb0bd62f2a8056f16c57bcb78f57d5d64415ef3532dfa35
SHA512
0b806351d613b67771e284bebf8f5295b61bdb6098bba92b22fb490507b26ca0d0b9d5e804c95ffce7df152c2585b134617e3e49cacf5e0a5c00c1a40683a354
+DIST firefox-137.0-hu.xpi 468460 BLAKE2B
06fa6c3dceb8b2dc127a3d7a32dec61e9da2a135e8105aa9065e91efbf60994dad5aaf5553775980a2a251d09b75cbf27dcb3045495960a6afcd560ad4a65b88
SHA512
b71e0e64c04a4f74a5839c3b04da039e7c4d9a66dec5d4712957de9230fee5f0c2cbab8bdf16c99c7fad0393673f07514b6662f88b44e1536755bd9758cc59f0
+DIST firefox-137.0-hy-AM.xpi 456352 BLAKE2B
055235dde135c0e554e8fe4092813c30145c7c9a0554b22169a5d9b0b8fcd2b131127f849b13a70ea744b527be52a8ec85a19f2e60e1da50bc55c0c23838da01
SHA512
3437ecdfaa61c22f71dd964fb3b677a1c9b79460ccdb47e1650e6de890157d8854ac406ae49f4fdd52df4eb2daba02b8a8d36084ce780c24ed40c57cce565a1b
+DIST firefox-137.0-ia.xpi 432135 BLAKE2B
e6f2a60c4305e1164060c4a558eced82cdd576bf57c3a0b0fc0abf9533ea4693af44d37b3101e5830755af26c7637c563d38f8c2c95f8149c9f8ff41730d1a48
SHA512
a439070a76162c309a5b99b6100ddbc99d4ab9ec8d8d3ab8c481331e4e2704dc8beae80ccb6c30df9a0421cd781a28bf5d87b9d7cdb3795d875b3df90affd4af
+DIST firefox-137.0-id.xpi 427145 BLAKE2B
f1742b0f4fdeab4091a1402996498ee8a183a2fa26b34eef714fb6158aa74960eb36411431a9cc773f959a5077f8a06f5ac290a8355946c14268e613faff8a5c
SHA512
7fbf9d0a6caf93721a195f56026ebe1f97e8cbc55b309497208c0b2844fb974d78ce3906cd420ae69b1b607a7930cd8d772872f07b22c00b0184c9c5bc545cd3
+DIST firefox-137.0-is.xpi 437698 BLAKE2B
c39f140318712d775591d9a9e7d1c9d8017bda06262f6c2f47c6eb2ccf9ac3f92fdc05f492d370aca25697316896f408aae984405ce530489812d87f4f3908d7
SHA512
fe6136e5be844cc216255f1c7a6dca83e0d7ae82636b025af21b2c6568a5c3e90bce8690b93c2ad24c17ea965b66f7339f61709da10fd0a2623359d357fe6043
+DIST firefox-137.0-it.xpi 442700 BLAKE2B
92c8bc98a3c5a87d96312a2f20b681989ab61f9c8eb591703fb49b45a42da07a39ae941d9bd29c98f7a3612b989829a0842c970bc03b496805d41c1bba514a1a
SHA512
000fb1c6cbb1bf4bd52de91b01a4bfa025afcabc419e6c02c88df890df541fb30994bca1e79890651c5ffd78b34c45b9fe61bbe338cacba442ff6976198f8e3b
+DIST firefox-137.0-ja.xpi 482877 BLAKE2B
c2256e0b2bd7ab710b558414e8306c995736c6dcf2a79faf4fb04ad0da01ac36f3345c0945d2a84ad6ab8cbdfe347a1ed222090ca81ed1441ee72f4513bce8cc
SHA512
0077c137a02e7e0041983310d7a81baeb16cae3268263a7bb37cb280adbf80d39e689729f63f5b4b9ab7e02acf7ff504ab54b6f029d604e20a0148011c15b931
+DIST firefox-137.0-ka.xpi 496322 BLAKE2B
b154d2efa27f9a6b20ffa9c7aa0109521ac7c5790f26a823b425949a793e4b85f35dafda8b388c93df3d9db0bf895dbd1369b2d2fbd13a17f079b8c015d433c9
SHA512
44fef4f7357e759d6b5d7f111387f8a67e4eaaf8a976e78655dbb96930bbd27af7420b612a8c11250af6fdb35432d1f8f0dc45ab07c89833cb0a829ba64da443
+DIST firefox-137.0-kab.xpi 418889 BLAKE2B
cd4b856e1d264df9168cec34a0b09e54910522b813dd52fe2b1a9bd99b418fbe1c5840a327fcbba55167bb1b4eddcf431cae44bc0ac85780ff56b0332c3f0095
SHA512
dbfddd49c7fd57e55a48598b6b9ceb4b606149098f5c67d66325dc704d580b7f9f6e19d2580ee0c00917c3729942f12cf6736ef70bf1ec4afda667791c860f2d
+DIST firefox-137.0-kk.xpi 507553 BLAKE2B
fb341eef34b49b8a65fefc25ce1da99197c972859f9991e2142a51abd4848d3edfbce5a1e56faf3f011c55e7f01f831dee0d29d0b898657316f849b6c38aa882
SHA512
613f995971db275222f048a79839f9d04e9915113bec65795a50d96ea54aaebbfc4d2992b87525cf917d1b7bf729142cf9052169048067f507c082913d1a0fb7
+DIST firefox-137.0-km.xpi 355349 BLAKE2B
51d274a0af4fefd267151d1e2426a72987251cd50c6d6791de6902b432a289ec20f11446a5d5eee3514bda4a30a836d8656ee2bf4c29a93621e850b15de731a0
SHA512
810c717faa26c99674bdf5d0f40f61a6e384674ff4a8cebcad74196a060c480159b5ca851a0c870470931e138b23b7d15599717725abd3bd882ce1d44d981aba
+DIST firefox-137.0-kn.xpi 338143 BLAKE2B
aec102a38a83b3d3e35d6231446b56c0729368af3d20805a2de27b8299500c0e9b339afe2131bc6ccc55ed1c5034746c1f1bec59ec0dd547aac42ee995bd1dc8
SHA512
0b4ff2bb8d5df999d311d8bd68cd6b5d711bc831c0c90eaa528443b51fe7cc373e1fd4a3a53d395071ce6ad4185b6a5b49e527f0d5298b36256d86f26a5fdf7a
+DIST firefox-137.0-ko.xpi 469133 BLAKE2B
9e8a1bec1a8d0edca04e994702ed09742e37846e6fcf89440deb11cdc0e6aa1f5599781e96f08ca3f9fb5b0c6204f5e70ed88459d40019adc50919075923b11a
SHA512
40973aaebae0db27cab52f1e622fa7d2e7102c0ecf5664673469ff72083727d09376c5815085537c0e1b2daa500c530c76723d64eb33e5fb9960cfd073cc7cbe
+DIST firefox-137.0-lij.xpi 324536 BLAKE2B
e28aef0c8ef7b30ec786965c61062956a764019fa8635c0039fac51ce684a6bdbbc8239d92ab81a6a9135e7e1933f410250e0e267c0d4501b777479aa7815048
SHA512
90234f46d1f5127129ff40f029b3d86c410ccb63e8e0a722d10801ecb4921b84191c16f5b27b09d02c67e8ffaee439050dcbe5e90704764554f1e6c71396452a
+DIST firefox-137.0-lt.xpi 387190 BLAKE2B
38dfcee315154ac9fcd4affc87d524e9ffab3472fb4dec3d5cbd2dd34784cc43ea6f96eca34e7f041739fd311590a0286380ec3ac86bdbb6fd278f7c23f95d54
SHA512
eef907ba73e5de161bb4eb5306a6c26bb4257ab83dde873fb712a128d2aa6343b27e4e6ef538506d66504ae263443270b05472b9f9325a13e7a70105ac74da0b
+DIST firefox-137.0-lv.xpi 395878 BLAKE2B
70c6afc2b71a27ba7b51a88fc3fb70290b38fb45277b06ed2ed837f0b97e0fc1bdd606da2f33fcb6ff748ca8e10a85f032a7bba360081357e8ec7df292348830
SHA512
864604d05f8b7ff3e4c4e9e06aff54cc72d5fd6b805dbaa12e15a9802316f60cfacbc7bd735d99f26206e59bcd9a5a343643fec72bd2059144ae647d2a91a025
+DIST firefox-137.0-mk.xpi 323833 BLAKE2B
994eb05b12c26e3257ef8140c959af7cc48cfad77786661219f7ab5388e3effac7e3058c001b8d73004904ef38227efd6e7cb1b56bce38fb03ea092f4f7f7bc0
SHA512
ec93afc7660376d0d8fa1d4e31dc8095014438274223ec61b027abc8ea5f5d2616b35890d10d679549edbd209a897641e764e4095dc56cd1bd821f7e5340b289
+DIST firefox-137.0-mr.xpi 362605 BLAKE2B
da1e94918d0f967e0ee1fe1a90f401a817080e6df3d774b8f274ccf8be147732a8370b4de4de39a9ae6edf3b800fbfc9367460303daa4f8450aa904d3534ec54
SHA512
45b2360b19718f56961444cd9aa2441626eb7fb5794bc2c39cfe0d609d915686152143e2cf113887a15eb9f6a4505d6e38867407f9f1ed8d14d876011f604b7a
+DIST firefox-137.0-ms.xpi 301535 BLAKE2B
042c51da632acdfd65195eb15219447d5279c844023a28c6f7353c7fec969c7032b0be3d1dac26257001ed548a0f814d6cde79c5ffa6839c4158da549bfa6b50
SHA512
44c9466b299f1cc1960505c51b52c27542b160360b9b2898f4b51b7e364d88a4fa7a1a3e3a52fa3becace6419da3e71643b0d996f8ccf5b5601b1f230697a99c
+DIST firefox-137.0-my.xpi 349436 BLAKE2B
7fba28b72b5d378f74263cbf62c87df389850e0a601aa044b6d162cb91f7d9a818abf48699358dadc2d43b9a621ba078803a970910b1c706410c217ff19df64a
SHA512
e40098170368431b3b71ebd496b2788bbd6fd7747d0fa1de4568b7a73f5dbb744ec0184b91ce8cbf050b0bda315a6bb254df0cfe2242499013e7e7a2491be499
+DIST firefox-137.0-nb-NO.xpi 425884 BLAKE2B
31214f64f2593cd5e7bcca88b13ada59bba70b55cf19ace922cac429d88bb7a344b76fb258a4973a6345b5d4e3d1880c2690025079bbb6a8b0e5ef554ddfcf0c
SHA512
3e26a2c713f5099b9b63b38c56169b391bcb047bb58cef5fa78738ac4aa59f38a65bea3196c650469838c2ab76b7cd2be8890447060e5a5e968c357c369105ed
+DIST firefox-137.0-ne-NP.xpi 355671 BLAKE2B
b8cfc6efa7a44646a7ef3f65b6215abd5d819d3bd939f047ce4543f60c2efe66d65c934f3101f0ab5e498b621c7fa2f90edfa0bf088bc03adfdb7ca9004efb42
SHA512
32d5aae8b19952469801e1f87953c0417e293e582e9cfc9b792970ea22ad25f72c3aa85abd70aa39c1e0453e0f69073a1a3691e4269aa0aad222dd217b443a3b
+DIST firefox-137.0-nl.xpi 438094 BLAKE2B
abac7cfe529d4c22b261fca50aaee8c4e4f83e112899a6d3030ddcf4ecab5af3a4e025fe2901c2bbcf8804a3448341e275ffb1cd4b0f29910028b4e20cef9812
SHA512
018f644d65a8f66ab88e23643a2219544be4406b72542f336f06a6879a2c57fe977fd6de22d318bb52fd540d7e814b17905ea8ca1a6c791dba33b85d1998d8b9
+DIST firefox-137.0-nn-NO.xpi 431905 BLAKE2B
e9157d1003601013bd319580676ad0fbe804187e9524a47130d6272c13afbcbd90ca03185e956b376197b3193115841abedbfb994b7f05d93bcd96b952759c3f
SHA512
fdad241f5fdd24e11e35d0fbabfc4fcea36e95fdb154189ba0fb965571b4ebf96dbbe506e6f9e2943654614b38b6b9c44c9dd7b4a9a9089bba2e20c6e2293411
+DIST firefox-137.0-oc.xpi 420803 BLAKE2B
844b6745d266de203db2944fe0c82a0b51911eb26670aa712d2a12af35c555570bf7abe8f6b54aaaa30698ac7b19c2cea939fa15baad18efb48547f60398f33a
SHA512
c2e8f4b627c2d0a4091e61ca7b90c5c204d2706c8e48dd4ae4cab01baf8cfdf5db1a8956d0eb83f9bf6ab4c93240f768e915503a054ac75ae0f4d46151ff65aa
+DIST firefox-137.0-pa-IN.xpi 497642 BLAKE2B
65df247b0e1ffd6e9d59defb1c76f345c437a466dcf265a6b814519b6fa40b8e82dade593faca1a2c1eb599a91771860eb2a4bb78cb2435eeda3f362d566cf1d
SHA512
f65fa70ba2c92c0229d848ec8ad00e524fb762fa8e86ef70385dc5b1bbb76cf017c8cab736999818f264d277589e093d9e4148de831646abfa5a870aa7a6fd53
+DIST firefox-137.0-pl.xpi 458698 BLAKE2B
5b6a441b1594f77536839ca4039ecb5bc9d4d62bc4ca1f21d6374345a0066b3a1ac4502c60a7d242a21a296b930e70e5a789deeadfd63e88034541d0f8b2e323
SHA512
0d17a6871c43e98051a2f1afe8882bda51d5c5d5d50232b58add09b7d8c5adb451e926a03ee614eaceb53484780bab5467ef2ea530a348a5610563bcaa1e3432
+DIST firefox-137.0-pt-BR.xpi 442501 BLAKE2B
7a6a2e1acafeab5e5530659b5aa3e9e6cf8cef390fa51a832f2d5c86ce1d3f06f0648238332cff357dcfa00174190c57ff791e2f16fc32d0fcee31482917dee7
SHA512
267289719f8a34ab0be94fff51523513a62439e1e52f52f2c62e62e525433d2e2a25b29442fe8b397f955a08c4f37b2195b0d99de9cae46d201b307be51f3385
+DIST firefox-137.0-pt-PT.xpi 448290 BLAKE2B
b0008a6ac694425d260b52f94e825db4e1b0585307144c9053e5919c5d53a52533e95927c8ba205773e57a0e35a2e3d6ae6c3a799e5fe0aa9f0f4ba4c407e04a
SHA512
49075f03344060753492174fc0c379232ca5449f915f0907c3262200ba41cb3f326060b6c59179b09f9944200e73de0b36f9b0bcbadd6fd4da67a3b9b097e9a7
+DIST firefox-137.0-rm.xpi 441872 BLAKE2B
e08ab276c0a86457144c84c974cf763a3d65cc60f0ba38ba09c2df9ddafa9f1a66960bf28677c77468d607b42c23a32fcdafd4159b0653efb4c810b6600a48a0
SHA512
84cd97e351a358d81e4731829bf38b08564e8f7b63e64cc2f82e4f7f13d890262b06cdbb76799ddee3dbe73b673a95037df2b646fb911a565e0cb345a132c63c
+DIST firefox-137.0-ro.xpi 368388 BLAKE2B
ff23a74e84f89673262b54a0804b4301d522eb88e7ce2532b9eb90a3b4517e96aec3f679b5a0dc6501134ff183f0e9c536f892f6c77b1def29900c91175f18b8
SHA512
10f6c90efda673db11d71c97fdead7e263e21f1dc99d249d3594113aa7c9f27dd6d49a00f8f128e50c915fcb9390416170bf4caaa5bfd36c479a52dce9728dbb
+DIST firefox-137.0-ru.xpi 526381 BLAKE2B
3e7e303d1d00eda5919eb215f6e1c7889788af29b8b1191aad4d8c73804c6e830db7d28c803ae98fb01c1acf87ae39b3b6c931d195aa296899d30b11ac2b9174
SHA512
4f6c555529681ee72fd72f46a924a81c143b81b419a70c849e6aaab9c1253f1983d1c602be3f80550502dd83a6599c1ddb00e6308dcf29bfa1443ce6af421376
+DIST firefox-137.0-sc.xpi 410899 BLAKE2B
9d01f973a41720d66b575cceaed236f74d3fe8d5989aa6fb6ac842699f9789a5b3542e45cf3b6d97e2b7d1d5b833f814e46dd55ea2be1dd1f61f9e84b29f8b81
SHA512
91e7f1fbee2f4da24896a32a3aa5023b7aef5f174b4ac79b9a76b2cd85106e8a49d26cbb6468d2fe8daa5c0d699bbeec967a9f991147bac2e7a1452324a3ada3
+DIST firefox-137.0-sco.xpi 330268 BLAKE2B
671df59925ad0236d6325f6c79dfd87de119c85737253f2973538df3805b46ce53152cce9c3cbfa88ff552f0cb02577e5f01f26c99af1cd70c6b87f384b0b141
SHA512
2c41e9a4fca6ba782d4a3db340b69e3e89704d9c72d5181ee9d89aeb34e55056fc4cce67a07e205a730cc24c72610a93df763e00e8bb466bb7302f808c026110
+DIST firefox-137.0-si.xpi 419746 BLAKE2B
bbd0e12b2b56246a2668fa890eb0b7865ff9c1bb06ba7560d922e0c8d40e322d72f12a597d59f9280b1b745f37f321ce6861362a8cfb73c94daaa5369d7a0845
SHA512
7618051ed3994138c8dca17b14d2ee1a9da067a4d0a554956bcd8b529aa0614052707c2db7bd5769defb81862373d7b0d80500341fad58fde079f205fedd3028
+DIST firefox-137.0-sk.xpi 469642 BLAKE2B
c108c67bbc7bac7bc21253ce592eb6e9d12cbf4b6f131cbec05a5daa20aa3425fc50819d15273421d2373fe95ef7ed1ffd632d2ea9d26baa7dc037d11192ac18
SHA512
d4d96651eb5b84dfea689da9f72af38657869b6b27b8467420bdb45bb195b0e102bbfcd87a45e8773dde8b7ed87be51ce584a2198d3f482308c6784078d237e5
+DIST firefox-137.0-skr.xpi 498907 BLAKE2B
523e1606af0c328112ee35b19a6b9b93ae691d6c669d0e21e2596c0a0473dc23ef5b21e848f1cae40793b9cb975b36629a2a2ee673067f2d216830de0d0ccda6
SHA512
ed680ff919f2c553808f8e9ffbaa99f4d3aa2fbe1b3db863fdf1d5aa3d1fe55416d7d9b9b5666a5c93e9aab0dede3f040e2905ba4c95feb1de98b21bb2239f22
+DIST firefox-137.0-sl.xpi 442004 BLAKE2B
8ede691a2ba24a2324f389ea0d8f96229b66c56957b8bbb3444bd5ceb66b2afb8613df9f4319dd4a8f82a54296c752b6ff397e95e8fe27e258df8febc437b772
SHA512
ee1a8029758cf971a9730259e2e2841a594744a7bcad47eb2ee755039ef3ee7135dde404770490a3bb49739f0676a4b97900265db04babe58e656240fb0e50cd
+DIST firefox-137.0-son.xpi 278731 BLAKE2B
54a2b1ba54a9794e1a18e28d0eed7aa668cac60bb476fe2f98a67fe0d6aed3a7d4b883e454f2ccc7564ac5235ed31892afbd80eec4a719f4317a24b70a355114
SHA512
565f3f1ca5b0d3693ab3372cec95da887106fc522d8d52a825983bf09f68540a1e277ce0f999ee691178e9d65415cbddffdf9601e1a9bec4ef1032deb6927481
+DIST firefox-137.0-sq.xpi 457300 BLAKE2B
2236b8ece524a697784fc6f161d9acdffeb6bb11defcd8af70ae386d3bae32897d38fb9d54fa15e50372ec6bdec4878e21ae866c02c1d0294f216afccf90e122
SHA512
0eca13b00eae7e5d2ea76c12277a462514ef9cc60f3b23a88888e6840ebfbcc9b8027536f022a7b25dea0e0189463a170190b0ec4582b76a11685e022bfa548b
+DIST firefox-137.0-sr.xpi 461357 BLAKE2B
17dc3aa429f553ee3aefc0fefd7d113420f4735a016e0aa075e151e6ae4e46dab3ae49c1e167aa8c677b9c4a64dd4794c96f1abe60a0a92a26e8c4fd2ea4b3ff
SHA512
41ad9863e8992de6d7ad77323f10a67bfaffd5a90cfd88efd491fbcdd7edebb6fc5a05bf1ab4cca44911e7d1589b5acef4ea5f52d9a3db2f6d54b7d89460f521
+DIST firefox-137.0-sv-SE.xpi 438140 BLAKE2B
0ce27ff6c05185595cac54e098980ea249b86bed1608bffe8f38b57f4b49fd62beb52605ed935f22c260ac499511220678896a09dd3588f2d1e2bca0a461110a
SHA512
807e6237847ca4c9ad76b049dee97dee39265a39c26ff84254066246035142c773baf8e093241469c9f793bfbe8d3f990d2e890c8a87f40c7a1bc83e05ae4f09
+DIST firefox-137.0-szl.xpi 349494 BLAKE2B
d8d091e7b6b6d500ade46ce67d1aaad7721dd0360e66abc187949916c00267f96a8eb7ba50a44c0389727f61dba885a13ec05904d4775dec48df757164345571
SHA512
c228862de4295a3daf042b38cfa8ad7fa8cdd3506cb2d123c18e6ed30d6cc683d94fda05809b46e05379cedf3b7f21c7761fc944269a9539f8f9e2f30ce60a1d
+DIST firefox-137.0-ta.xpi 343874 BLAKE2B
0bf59d197cbf2fd617046c728d1dce6fbd645e5f06402d7eb16c1200d21f710773b1b1f457c755bab7e68c787a19c527e9d69d284d26292533de0763b204c1d8
SHA512
50fd8b641360d39ddfa0b4ca424703104f41bf8dd843600c48cec844ad9444a634ddaaf3db468e1a1aeb28c76f8ea5378f51a72df5fff2fc0db968a7b0ace691
+DIST firefox-137.0-te.xpi 389772 BLAKE2B
7edfbccbf586d82ed1accc7e32fdfa4091c488556e8bed402506129dcbe6a687c9bdb95262c6341a5607fd4794a9dc5c2662631a45e17880fff11327e8bccb8b
SHA512
c98b2c343e69fa9d18cdb135294e7b92b0a1e153ef24743f369aa0fbaa7acbd4e451e7ab01ebd1a31f94d9cf1f139325286383b8532a975dbbbea2b7139fdf51
+DIST firefox-137.0-th.xpi 507329 BLAKE2B
c1c8b466a2cb3c558acf8f2dd911cbb7041bca097a67f08b235088d5e0a321ace450cb0eb0d61ee4b2129b2534f668975e0e684707f730501b4280d5cc175098
SHA512
0c299d835b147774a270132485e694d0cb00fcfa6959189616aa905392fa2abc54a1ddcd29e05490754a52bd0acc4ae5bcffe9d9d5cd6a4fe1cec01e2c4b4a8b
+DIST firefox-137.0-tl.xpi 357142 BLAKE2B
557555f2b2509ea97f47cff363616d39ae51c20d4d01268532c5420a5a4f32a2020a019c7f6565211331df5716b4df7bf690a69da1bba8fc3303b6bcb674e994
SHA512
a1836406561a6135704bfa74b4f97772376fee2abaf49dd81da702a12773492f4ca628e7ab04a07490ddd0c5ff0a05414c8c584ceaa06f5f1d8095b5601f0127
+DIST firefox-137.0-tr.xpi 450206 BLAKE2B
3969732b8275a47864a58d03fd4c8429c45c9d911bee4827dc96fe00cc6be85760fbc46781cb79547557dd4f5e5082882d6fdb30b11a99ef8c7595768bcdee61
SHA512
1fa748df368701ffbb79d87a69deb0f7b559e440a512fd8c091dfa83340480c972d69c4894fffc0da78be2a3b02fee46e3bd48d6b64efefe4ec605f2847b000d
+DIST firefox-137.0-trs.xpi 329269 BLAKE2B
64e489e048ed2433c18da82c7bfe450d8a9ca1fb8d827cf7ed8d8db44c5079aaab310dcb8477f578ba24ded4273da6185cddff7950d46ba35f9041af42098438
SHA512
18f83b1f01c760c472c479452b9d57692f72a503cd3a7442bd91bd69fa0c5d331b2f4e9361ff378dc167f6cfc630e977e1e5cc69b9ddde3095b357c6b1a9e307
+DIST firefox-137.0-uk.xpi 518147 BLAKE2B
cf719fe5494fdc18a5a91d620439a3c27dab3ee13992a7689537562bb1c17610a52541de2d13280846bf501a651403cf5beb81e7c86346e99019f7cc3a5ab954
SHA512
9de97bed8c54f6bba3e4aa7143ebed303b584f0295e229a18f8cc11155b69e8441116366bf79c52f0bc796f2ca8699a8ecc95289fc483d991849a85eb9c5f703
+DIST firefox-137.0-ur.xpi 377234 BLAKE2B
1e0413708ee54a8c1c2af5192273bd0cd0d6f8bb3a94a86a91b4c2092786939732cf83dc841a7b6de9e4429ed0b9e5c64f46ad2dc73c43f2f3cd5573fb100850
SHA512
a10468590f32076080a63438bc9fdd2234c50fe89a3219386f6de32ed60c514c8bc4179357077aa66b9e308fc29cd38694b6fd2c2551e731e88de518520d1d39
+DIST firefox-137.0-uz.xpi 310804 BLAKE2B
3ea12b5b6b6c40e09aadf478310f22233f873ba113b38c46f8d2357a665ec65d15759f6cb15d4bf086e852b8c7dc38bb7b48369bd9c73dbfc37a97e6f0c95516
SHA512
4eac9e2d5e48c9704eda5c7f347f0311b60d7819ca17611380b43d080ca56cc6b72aaa7e843495de8b4c9108147795a89ff38880f877d7024d65880b0284c67b
+DIST firefox-137.0-vi.xpi 471357 BLAKE2B
95a351330f1dbacff23a53dc235c127a6b1dc8b26451b2949311fd14b2b020ff19bb503813d07ba09d54eb545bb6162bce959c94f4999d490acbd4f44b831933
SHA512
7ebc37d4b9f3a795d8d3b60f90b4ecbcb637df60b27db026f0343dbf9cc7c01494b6df67b1b139cc3b104456d6c4476ff5e91cf51e7ae7f542af1ed7b2e0f3e8
+DIST firefox-137.0-xh.xpi 278679 BLAKE2B
ca8da76ac1534e27138dd15fae95a219613a800c75e1cb50b51a6396407a86bd934005972eb2bc3da566909d6d2722db313040d03bcb11541eb77439c03e775d
SHA512
0b45a5924197bc6dfee20cabb8d8190f2e7b53976e4905219ddc5c2aa6e3b0035e735b4b33302123b9f6ebb00b453735566c892a510f80e81260063ac99fde18
+DIST firefox-137.0-zh-CN.xpi 462573 BLAKE2B
cc4f669fe6d9a3f9a63d4113f242f00d2f543ae13779511988a320d0f95ccab0677e74d83c29fa87bcf8584333ba68eff70c70036596d75bf55e759be97394b9
SHA512
c1a170938947bfb4524571fc6f58215f574b27914cba2d15ce1fdd4d5aa6486cafa6bb9d5e988ea4291219e5433756915589a4841fd4cdb653a3bc2658a4bd38
+DIST firefox-137.0-zh-TW.xpi 465659 BLAKE2B
789d711b0a820292242cf10772c90296f4fa737a1162eb90496124585de66be9870b7292ea889ace5fb47d00b9234b0117c94847883c5387e753bd2b487a5f7a
SHA512
b6ba47e754bfc116c082769dd93224faae464d078ef20bc5eb6be318abec72115a6f9631caab313b3c384f76715235fe3bdcc10734434be86f7b41f038ad12c4
+DIST firefox-137.0.source.tar.xz 593165900 BLAKE2B
09556f8f22292442dbe350ffef285745e0893428129ea1a5b9eaecf47d6847d585bf5cadc902ca0e39333aa391b8892f1a958948037faf1653a0a4480b726c5a
SHA512
81a2c0cc14ffc2e49e49379e6c2ab56cfb6e13b66666a64f3abff44a43bb2e7dc17274d325d1c20af062d40bff8063d788d4b2f931a7a646db8b07204ca6b481
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.ebuild
b/www-client/firefox/firefox-137.0.ebuild
new file mode 100644
index 000000000000..110ae871dc5f
--- /dev/null
+++ b/www-client/firefox/firefox-137.0.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-01.tar.xz"
+FIREFOX_LOONG_PATCHSET="firefox-136-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
+}