commit: d52ab402f1dfc92f397c9eb375ef332148b80b38
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 16:08:16 2024 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 16:08:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d52ab402
www-client/firefox: add 115.16.0
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
www-client/firefox/Manifest | 100 ++
www-client/firefox/firefox-115.16.0.ebuild | 1393 ++++++++++++++++++++++++++++
2 files changed, 1493 insertions(+)
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 467c26035646..f249ac884932 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -98,6 +98,106 @@ DIST firefox-115.15.0esr-xh.xpi 414955 BLAKE2B
fcbe5f7b559c90382d4d45b808ba35242
DIST firefox-115.15.0esr-zh-CN.xpi 657103 BLAKE2B
a7927017d440780ee1ab7a4f2a9075bb071db4ca38f9bd05499606d8a3a28d9daa3bdfa1895bce263e9a81dcf984042e1447bbbd96d4b3e34249045a6567ac28
SHA512
af3399e9eafd53a9644bbc7c8e714e4b497f0ef64f98b3b4e2bd0d28949031aa3f23f78e973baa4286622673ddc5f55c03906bc6059ba6a10448fe0da68f4996
DIST firefox-115.15.0esr-zh-TW.xpi 659312 BLAKE2B
a73185e11f1b6db6def7ebf6ac1bc54aedb459822cb97768c7699a2fcc0ed74ee4dc96c2cc9a7a9952d3dd3c58da9340042e6a75f4fa0f9b52dcf98a88066a46
SHA512
ae7d6d80e645e5a69d8d0fb9a245e7ba0cce82ebcb7a167cf0a4d5a5e306dd58130bd550c66aa814bc0b30a2d57282dcbd44acea47370a6137ff4404eb124034
DIST firefox-115.15.0esr.source.tar.xz 507920832 BLAKE2B
997a3148b7019fbec95e1e003561a1135c27a769ff92a675debff540b20213a21cf96f9f2e9cb1db4e8c81702b7fcf7e1ba35045dc7dfd705957d099350ea9f3
SHA512
0df4c498c99cce08903004d2e0f9e977a19f7de86240aa82dba179b60f1d67ca3021eb474f56bddc38035e773eeb5d99bb3e1b0756d9f7583dc8e1f747f477ba
+DIST firefox-115.16.0esr-ach.xpi 459029 BLAKE2B
65cb136e1560f939bcaaf4d28c0cfc69422f72ec05b276d466cb7c6a5a0dfc7c22c722b95668e8fe6188aee39d5bfd60f8601184f8bc264c4db6a3753ed7f575
SHA512
c7fdf0f438c9edc4766008e4b117c2deb799166105f7f9dcf275ea643840ab12e27e997713ba760e6feb8b86758e2cd020c55aeb3402f07575e3c73ca647bba4
+DIST firefox-115.16.0esr-af.xpi 415177 BLAKE2B
fdb9e4460a9421f4ab9356adbd3b70a85b36b296424ee71420d26b70f9805decfb465d86fd3c174ec0b2497353994d65d36e75c0f7bd3a3c70bacd14b409c236
SHA512
252891eb3c12e3ba33c9c40633af42f2b8e1baf32facda51188f56213dd2ea0d8033c8a8dff87e31844190ed9ff7b0464da34fe1c521c047f842ac0d164e854a
+DIST firefox-115.16.0esr-an.xpi 499570 BLAKE2B
3c99f14d9d97e4c03a7e8574b599ae28db6f63b9d01fd3f333b5be4c291aedec493e8ea9aa8d44e6ed8da0d0a6f226ed863aa74ebca4752259e330095d7a5596
SHA512
b69973467a6234b96a3baabc6b74196ffd2cca3ec5cbffc665094b413e8d15471334e2dbc2cb264e14027a40a8f3340c4c720ef52ac1ed714c1b322cac9c1fe7
+DIST firefox-115.16.0esr-ar.xpi 606285 BLAKE2B
3d966801b4d600fd9aadbc43229c62e54a684d731a290a358f748302b944199f4f726abd7251e21ead09d9f8b7b9151b11e4f2e66ad976bc6b537464712b1e11
SHA512
99de40fce0ee625253c54541b77b96132b9a4bd636c7fefd6b921bcd0e785bfde2d56fa2664dcc7701825c777cc5c83bc3b2d13f0b2f1e0e05bc5f418ea81643
+DIST firefox-115.16.0esr-ast.xpi 491337 BLAKE2B
2f0a96c92a0b9af0dc27da7d6773dc99ef035e7c24f52fb76a7934f8e92ae0d040beb4b495a3a65c50c45ef3ad49ec43a8c5aea02d8fdb820fda13352f085fdb
SHA512
7e8cbcead5298f8315a5cdf38dbafe87f31bef1a64816566c90bad42eb649b1e1a7e6784e66146e8b73ba99693802918dab55a68ebe5d788ba457b83a614a676
+DIST firefox-115.16.0esr-az.xpi 486090 BLAKE2B
c692d683458e52c6e0bba34a3b356c91477fe9e52d88ce11bce5e6972dd5e7f3cf76e055ebf911e92c2c181696fd0b93230e875e4fdff9d2095606c5473665ad
SHA512
6834939981eadedd6c565af6e82004a589942f1f275ca3504e282ea689380f8e3d582a69930dcd689e1b6bc5847a56141c94558ff41afc7c97f8fafcdb6dd766
+DIST firefox-115.16.0esr-be.xpi 715661 BLAKE2B
813ec9b51eb940616bd785bd7186ba85c9c253c789404f7e01b0c9d4f40f3079fa8a7edef9607f3ced73f5c25fa88421efc4c05f8e4b8f3a87a3bd24b9b66347
SHA512
00b0dd0e55a1e3d1a36e8dc6be6e71490b2c4c4886211a0d078e9904179504a415359c4b9bc380df3e7e8283465c9a257b25e6a388a0a928d08a2ff4dbe1bf4b
+DIST firefox-115.16.0esr-bg.xpi 600397 BLAKE2B
c46c78f0632d51c7fc2b4dcf5e2d0140c3bd7095d2fc56c088c328e8590a527abfb7f3f9b4ee8517eac2fec779bbfe5f9c0a8926c0cee203fbe5c7c090f4ae64
SHA512
c7f8efed4dd111a842091e60d8d57434bb362d909454c72f1381afe6dd195a5d4c03012d8b92a1ebd49e77d997fbf97343a06831cd90824d3ddec66b6a29ca99
+DIST firefox-115.16.0esr-bn.xpi 576344 BLAKE2B
fd11642f18af552844ab33d7646632719b3c9b199b247cef59fe32bb0e98b21415da0d8bcc1d269329fed5e824626e97ecf28a954417973478206f0f1f138cfe
SHA512
925ce29218851554923a05e652ce9b6fa3f8d520bb722de61e6ad34caa9b1b9d766142058e137c50ff2358d343df22b2a40514c96baead0310c08bf222135cbf
+DIST firefox-115.16.0esr-br.xpi 584991 BLAKE2B
745ca4092473b6b59b6e8bba42f5f9b84c79bf93b6ecb5f9151e20a977e9df95a75d77e7fc2b2dfe55081cd6b01d8195a23b0833c930217b3370becf97600e02
SHA512
93b2cfcefae329fc1190c7a64ad65ae420aacdb8be32baed2960d35dda866efa436e0fa117ff52b47909701484ac4412a5b3dd93865b7291223c18f391fcbca3
+DIST firefox-115.16.0esr-bs.xpi 496779 BLAKE2B
755099fec8e1b930980a5a419f87170cdc7376c3b332dcf0db745b8ed7355933ef3900dee98c67d02a4b99425eb86100583596bc3c026bbd64cee083640779d0
SHA512
e6de1c9327b71919f352ee51d87c0483ca87455528a565268eadcefac38f3f8e7b41e5dde59d100271732b68e7e0e41a0bc514d0b4b6affb5c4a3518c979f0c7
+DIST firefox-115.16.0esr-ca-valencia.xpi 539265 BLAKE2B
c2f89eaadd20f13017f936bdb2a9843148aefe8310178c4f9f711a3537aa9d1c3b89ef9dc307ef3a1bad7359a886b5c379402195d2f8395fb5d9472ee5a8436e
SHA512
792d6dbdad1bee6c1ace53d73440069c64fff614697830f8a70cef86688dab99796127a0d1a92093b86865d9f44b7936430db06d94525efeb866f72e773a5d68
+DIST firefox-115.16.0esr-ca.xpi 591045 BLAKE2B
af3853aefcd84c8013841f42d9fa3b1fe49e00192771523a73aca46efc1676945e1aab66b1b149ecce4ba49e9901cb1fd5201cbc7c66f97631deb91885ffbe74
SHA512
d6f2d526226544d466aa6dd6ddeaf76cb00482def3f0fc43baada35ca6a51d4c937242f2c6c6699c8c8145d063af63cc4386b4d12edeedc2a4ab388782dcc2c7
+DIST firefox-115.16.0esr-cak.xpi 586729 BLAKE2B
a7fa0e199c850bdd322e081ac84137898031a3ad9fb18281f283f21bb45c5b329737639558570a174fe1923166366a26e50ff80e2f910ee03c8c9c374b5c6d32
SHA512
037f464d56c5181de4b97f686cfc2ff6a7fd9113f071792f63de9d1749c30bd73243c844a5c9df565b68b93c2a77f28375bd96f3ac1c38b361ace7d87e43f106
+DIST firefox-115.16.0esr-cs.xpi 659582 BLAKE2B
3b4bda260f590635f8f0ea5f8d2cf9dc23fb48ead8d2002fac07578a9b2f5127f973fc0a89a9bfed0b476689fb45b754ba3280b13b5c6474dbb3fda2f3e26be6
SHA512
acf81cafc4ed752aad01298e8965f192ca1137d08bf6ce20c2671add233a07e986da7d86a80ace0234f45bda70ef54b766d88bcc82758f3894323351cb41ffd9
+DIST firefox-115.16.0esr-cy.xpi 622578 BLAKE2B
aa063d83ace8af604089125ccee500e71c47697edb00e01a73409b4e6dcc14bb9d0ffa30b452aed2673b97688b968ad4f902494c505fa1f4ccfca61bce883e5f
SHA512
7e1dcc45f9c04140d14cc9a38d86a06a341a6bbafbaa9827b13d3b6012388ca0a161025c60617640e033d8da8e475cc5309a6fa2bc75e16c86917c65fd0e7536
+DIST firefox-115.16.0esr-da.xpi 611176 BLAKE2B
a52f244f8dec674eddd70cf3ae2d5f09b53249c9eb0403712d838090a9af7a1168b1f54b76656c8cfbcff5f2a1faecc889f418b9602ff37496a400eb824153a6
SHA512
b9c8a88eb9f380e2dd56580aa88b652163f2d99529cc63fc650ce6372780f4f488fda0af12f38e678034651bf2e31410680d76f73ce93ba6ec783a6ba3455ecf
+DIST firefox-115.16.0esr-de.xpi 632366 BLAKE2B
2a1fb1a123f7d88b959f98ddece9d3f18337daa93362ab632bc5cf9940966a0ce509af15093aeb757c808e738553229661cf09bbc330a3c8cb67d0450b16f93e
SHA512
2de58d4b4041700c2591246fd1320cd5179b5997613114e6c2a50faa097fdad064b445ed98b117ec3bb21690559710725523423d181541934acb33edd0be6211
+DIST firefox-115.16.0esr-dsb.xpi 651481 BLAKE2B
0d7e7f667e35dbe4639963f52f73b1a2e22657aa6f26d3714c6ca7933eca81c19cfc91470abdb986b8d375b137a7f66ea0ea306eb4648f74827b8a86c97e1f66
SHA512
2e6c25b556ae7d079b53d7863c1643f7c6b9a207b504f502c835e7c93f710f4d50e08b1d5ef36b839114e0e030c6a2b04386a1f1ebe624fb483d7316bf5798da
+DIST firefox-115.16.0esr-el.xpi 734625 BLAKE2B
14df77c5bd1eb33d636161e52c535f863da0ad5ca5db022714c15d89a66756ff3c1036ee2c61790582dc9c460e62cddd0288e1c55f7ffcf80f586b2d0ea87135
SHA512
fbb400c9fcfe31b961b3270c1a4b572c648000a6608c3885e6a5345cbc06c09ffc74d007120645b9871faef7255d202a572fc72bf2c25fda6b4529c0d35306aa
+DIST firefox-115.16.0esr-en-CA.xpi 584140 BLAKE2B
dc56bc189b6698af646d475ca28ba1975bd8bb35b08b8056a74c6fc59b327844a8e39caf6dd5daa052346cfad9c89b0b96af6d79ef14a5a6f8ba855861d61c8c
SHA512
0ec267a5f31d5486e8ff1a419f5565e4cb58f12c9e011641bb7d40f44725d6b35c2ada2fa9e730d55e8bb06e81e8b42bc95d1f3a858435f7c155f75d4d46321f
+DIST firefox-115.16.0esr-en-GB.xpi 585206 BLAKE2B
bfecea46b35aec3b8babcefd03a9623485a3485e3b58386e5d0a3d3093489bff52753ddef79ef1ba6192bedb81c006f8d51cdd07b7f3ace6b2bfc336e09fc42b
SHA512
7528bbf45370d66edb704f23f41ab8344eab6fa80dce66c439d97ff23da367a3cea90c4cd2f5b05cc5243e900b67e5081841f95ea7eecce06531f3119d4424ed
+DIST firefox-115.16.0esr-eo.xpi 613418 BLAKE2B
e3c81ecb34a072e248c2be34229c522fa9135197e63100e47c9c348de3860306bf4183771abbfa5183da1089eab107831acc8021f584f32ba0441b909eaa5755
SHA512
9248145401c45e7b33fe7fac7cf851c8f8613a9d7a8ceb255129b9200462cf9399205d7dc9511d0bb8e1a557d0c813a67834a40b72fd761ad456b38185a0b639
+DIST firefox-115.16.0esr-es-AR.xpi 628383 BLAKE2B
102ab1a9a77ec8a2595505ffd5a4acc95d1910fed5c58b9c8eb88888628340cbc22e0a7ed822908da2b4af4df338dd73453e61d19a6d79473b2d65fbfe1208b4
SHA512
8ab7beb39d7b3847f2335ae5aaa087f7238775900828efa0fdd28d8de15e94a76360fd6b1ceb9d1c484322a416e00c2d51b16a3ff08a83e21148462049a70706
+DIST firefox-115.16.0esr-es-CL.xpi 627709 BLAKE2B
c6b2a8d24f63e22838635c56fb65d42340b0dfafa4c397ea5c0d74e0773b56dceb0c6a5c5e982d364f7b218f2ebdd76fa5eb2578613ba001642dc54867653b7d
SHA512
464abc3d760a08c81db70c69fc09080d2e4a11eb09fbe2ac1abf59989bbf1797ca6ea6d4b767173b0474db922bbb23eca06108f8dc0fb0f6e9852aa8cd91bdd5
+DIST firefox-115.16.0esr-es-ES.xpi 621485 BLAKE2B
1e948318edaa54373de36e2a64dbdcdd6857a7a2955a43d673fecb199bf3ddf61a53031e0e0ee341ed950dd0002dc7c5c7ec90fa41e312b3afa909220d8e06a7
SHA512
ea93b0de35b337a692bf1b957aee7a814142486ece0d6bd95c203edeafac6fe9d35e6353adb77dcc43dcbb3c289ce36f232ba0859905d8069c12c158321d1647
+DIST firefox-115.16.0esr-es-MX.xpi 597934 BLAKE2B
48f9125910715771674d10b2d141a031072165c244410301b21c784f6e400446f32feb383af69fd95c85b2f8736d83ed7639551992d72ac9e00dec90cca1561f
SHA512
af0537f4a087419f6ee5e2d5be572cef0e863ae8ae0548b82eb093a1ceedb2b1354503cbaadefc869f45993f956db0b812fc051d45cc12a43bd4cdbab87fc8ed
+DIST firefox-115.16.0esr-et.xpi 533027 BLAKE2B
4a1eb6c0f515c042f421c20f43c327c5d2c0c29f88ce3f8235784aa98713f1ce10fcd6ed22f9fc82b723bbc17dc53fbbbc7e39cbc8409625ba8168b78777bca3
SHA512
b149673b1fd6a1953f3c3f4a83aa0bfde0877b015f9762f4cbc261a299c26ec3ff01631c2141bb770aa9774a66839d2108f7fb2bf7db0831a26a2a835e0ad3ce
+DIST firefox-115.16.0esr-eu.xpi 594639 BLAKE2B
2cbba6b6faa6ae1e30bc782d84966fc161d41012e261d24d06d2f954e6ff351493ee9a6ca3bb905d1a0bb0f8e18d0507c327eb8d28c1cbc1548b774a7dd62c3e
SHA512
1741c9dec8c62b446dd73c47cede6f315fee6b29a2dfc4951452d88baa0edbdd847692c751b5063827ab0be2d6754821a8f61e23cc0f8911e4381cac414d93b0
+DIST firefox-115.16.0esr-fa.xpi 584363 BLAKE2B
016ead584cff3c8ad25e00cdfecfadbe974bf8da711e92eb886fca9363c2e8f627a874a018abad739c5666440301d60d9981df86b510322f32b7856ced6a3cd8
SHA512
da88cd407d8c690181058f5d7a02a7e49edfb6b24b3ab91c8605eebfad899a0603feee369543f6105ef7460de3a7a200fb982ead4c378c15867de9d500896bef
+DIST firefox-115.16.0esr-ff.xpi 471726 BLAKE2B
5c9a8a662d64b22207a9dc7d85b02d1d0f09c9f677425b15dd652bde91cbd038d5e9c8c9ac4eff37d3e1a13e378b80eb9e8b14100345d9cd37f33a825c895423
SHA512
23a52121eaaf1c11e5b9a13854e170c4d2d3b141836eed0206571f70a83759890434483d6a0b92a3d0bc76d50ffa4e3ca5d6d8f23d592716ceb089b9852c5aec
+DIST firefox-115.16.0esr-fi.xpi 604626 BLAKE2B
806d271935fb426f3638a174c28d37b1a88dd0bd49c38fee0f36a4f61408077f45b806cbec4d453d17c17c3c0f97d95206cf61022fba4bb91fc6b1de2ebc3e26
SHA512
18b637257860b0341677b08c5d79605bcffc4d4d5ff45ba5fbe421104b8da81e8397cd0067c3664bd8756d6076824274fae301674ba8676a1626abf4e3e1438a
+DIST firefox-115.16.0esr-fr.xpi 640838 BLAKE2B
190341adb7d2d18db697ab605b6455677e2e17b99478c5b03400eb94ad399f135098e568df52d6dd9d3a38d3112bd3e50887199b9821516070a7e514b4128f2d
SHA512
9b249f372d96ab38e4ac03012f74f2cbde0fa8cef51723d5b88afe4f49f322848462b4aa7798a70b2dde166bbf9360e5a9ef89381711f0bd18c029a549fc2337
+DIST firefox-115.16.0esr-fur.xpi 634493 BLAKE2B
6ff95def15fc612f381a6540334ebe211166e066b2d4ae3864f9e276ff7ecd2c4e125790912196d2dc732a5dd71ee9db3ef0daaa2846ab8d2cc32fd497508987
SHA512
529c55b8f980542eb8f198d6b41c76555c12209570ba6b0f186f1a08efaa6b03445e66cb4f4381ca94153775f033d5577abedaeaa17cc54e01f26e42dd9e7a9a
+DIST firefox-115.16.0esr-fy-NL.xpi 624078 BLAKE2B
5fcbeb43271c1d08c1760cc8790ddea8ae7081391a39540669db0534c9f1f8a92b1448d66419c98c9e00c50785aca01ff0fbc4e82e79433267c06e2c1a6988cb
SHA512
b957bb70d8ff6e553e365e406509fd12bf15512351919db5b7eb390045671e4d6582a4438c61e11e5d81c5a2d1215369f8602382510195d9300cd84013d91cff
+DIST firefox-115.16.0esr-ga-IE.xpi 467639 BLAKE2B
a60dd612ebc98680f934dca91b7d26c82ae2afc76bffa6c25615687c1da6f33e983cf22e04bea415ca8e6d54f9b3a4d81732746a523bb40ba749aa94c592789f
SHA512
6d08a024d267f60de39b4c3a435133c10bb972a89f38d95241a67f2766f80f4e025d726ac0b0e83f9f8c676c7d642c4559b4eee9fd0ecc73a50099c8c0827514
+DIST firefox-115.16.0esr-gd.xpi 589975 BLAKE2B
34b0c9582c5180db1718e32c485ca66f01666f1f797569554fafecd6ae6dd973df509ac3442bdc9d9584c87bd093faa03b6bbb7d4e0431ac390c5a8b86be36cd
SHA512
26ebd23dd5e09c8f4b2427d547d288d73c206a2656d7dc87d8148b1159c1cb8bab79be955acedf1f172386fff5dcc6294229090be12ac9fd695a8a6a2d0b4896
+DIST firefox-115.16.0esr-gl.xpi 599983 BLAKE2B
e4b2e71efaa579fe7703121d234e12eab7ada1114d2b93d775cc75ef6e7f2aa7b8e341826a64cf9ccbd53aaf4594d81e1cf0a2daf01c2ffb2bdc17cf37ae1a22
SHA512
ec56d80450f00505f537dc0213954d5bb8994cdaea625b98376693d359954ceaeb3b0b310993c00d4c198118b6e5dbbf1c88b9f6ced0bc25d9aa3a8e308adb87
+DIST firefox-115.16.0esr-gn.xpi 637898 BLAKE2B
795e1c44547576efa2fd21e2bf8a063610e4329f455fc6e8539962b272b8daab61880502e749a7f0882b5fb7e34dfb8ba38ad7069f853bc2f138824f8b51dfbf
SHA512
b95f69b513e0bbb9568239219473c6969cb923db188ebf6fbb482b6af8e1e538e0b3c3f11810f0fa9c9b7ef0989866128d6fbc198d23ae67d86ced36a9c2a9a5
+DIST firefox-115.16.0esr-gu-IN.xpi 523387 BLAKE2B
3afc05e91151029c2389f6bb1f61305453115cc7af41812ff5272f94cc77347eeb429fc307791e7ab531bb991a5b243e135541635e2bd7344ecb9ed7fa4485da
SHA512
f0e8b23bf58f9dcc644d9106dc83778f405b68fa3a2fa240bf69a120dc5cb48376550eb263ae80569b66c6c320444dec3afd7590441c4150810acac5ddc37cab
+DIST firefox-115.16.0esr-he.xpi 629103 BLAKE2B
4051e378e0f7931f24d6f5a76b86a7e6b9658590d592faf3d77e2bbc441fc5d8f2e6c64e1ae4d4ccfe902564e480040187c26c2a69fc0b2b47e65c136e4d277a
SHA512
c2f294a62aca9e189825f9b20f95ac12428791a8aeef27b28961f103b484301f4465ebd27d98dac130f093120a1e2093b2428106fd8519c9ca7921e554105490
+DIST firefox-115.16.0esr-hi-IN.xpi 561259 BLAKE2B
e897885157793f368cbf3512a68ded48094224d597c4915e89a48663d4d17b556ba85f65af9c3892d5f112a76afc7a31f5a92fb6731bc9234ca774cda893d2a6
SHA512
5578d448f4f352d64287fafad2efd455494f3fc127eb85ba7ddbb63d75f2642f1bacfedaaf4fb68d6f7363faa14059765b498855ef21e1984d2922cca8a5174c
+DIST firefox-115.16.0esr-hr.xpi 554547 BLAKE2B
cd8f5be9cd2380b7dac7b064d6c7b9264f2df06555ff617a6b1994f21fc0563aacbb7f729ae165fb1c24456ddf4224cc695bfa3730a916cddfc660ddc60f1de3
SHA512
e277149940e54c926f67b131575a00b09fa021bba2147a8f32fe3ea21d00a51b91d2a42823a08397f16ce9fad4a6a6d0833df7c0dd7397c02a56cc3d7a745db2
+DIST firefox-115.16.0esr-hsb.xpi 647500 BLAKE2B
46e8130a18772f87d539650c88155bf32f35282cec1aac584ccac5efed74cfb9e2bef71cec79cf603aa60b84967184296effb40892b2fef40cc8fd28cba9032e
SHA512
05a2e52a9a8c902a0dda60a2ea958cc85c114433d8044c3ccea7f628cdbc9f863cbb9614026ac5d604a3b4244bc0f1f07cac80a68066ba84820d9875a65c3225
+DIST firefox-115.16.0esr-hu.xpi 649859 BLAKE2B
5be250e28add2b14160191fd0081be0cf7e2e3b95fba1d14ce68123d2765356a60e237ef6be95634671b08dd520f4133303c1d0f4a3af0d465c950b10f24a87f
SHA512
7bd31ba3f6a518462eba791050743d79bb92fb530ea00770d1bb79c9723cb50ae4ba395290073f571fe66de1cc9f66f04ba9dcfa9e61bbd1df75dc3043ad1b84
+DIST firefox-115.16.0esr-hy-AM.xpi 647646 BLAKE2B
b77e4ae642c71e11554d459e67a1756a3a84b85f98205ade09a9f0c36caeafd4e77c5b778855d7b9481b8e6105aa16a89710596284471683397f8055c6b71a21
SHA512
a49ad35cad7b2c2aa0608038c9598084c5e1620c2f5f8649ef4d10bc2102a89cc3f6b5fd119475271e7172391ec684e74ddc46c357b204ce9f4d6f216886c06e
+DIST firefox-115.16.0esr-ia.xpi 610840 BLAKE2B
cadb9622774264b3fb890c9d082e78110f1abb286003c1f99f91ac8aa572c474bd1dc967fdae33f3b4bc19ac40a54418d27817d0ad7577bd17a11e20a9bd1d1b
SHA512
38ee4041447374f9da3e47af3278b73e54aeada595162d221ca9e956292c2a623dd546cdbece470f3700235443198c52c0370aa08a7995c9d1b6409171887072
+DIST firefox-115.16.0esr-id.xpi 573420 BLAKE2B
9fa806a478a08443116a6391305cf635e5260043f5654ce727d5a30ff7c3fe84a21640189bb47c2885a6c8887764f9d808cde76a02d21a655ac60045cac2cc28
SHA512
45bcc770e69a195b50b7b6b144ae7ee9ee1e1e97873ec3743f1d749cce3c9b0fca26ba597e5761f76ccfbd4c303dd2b68883bf42ca50e00fa550f2fe5c67c8c6
+DIST firefox-115.16.0esr-is.xpi 611651 BLAKE2B
106d3f16d4bd610c25270ff8182d3e19abe6056c96c812359e6606f3d2bff864d2f0574aff59f5602459fcab124f08984703b83324af6811d74cc0031e13e9fc
SHA512
590dd304fe5f4a5f4985c7d6288cf34544b1a684475dad07443ee30e647ceeb35239e3297cb834bb37f882a96b0667aa2bd4733f0fa901d469cf253a05febd11
+DIST firefox-115.16.0esr-it.xpi 567125 BLAKE2B
e3be50a505df11de24333ee772d95781524515f5dcb03bde692e55dd5e72b8b45c44f1e1e932b67930b42d72fbbffbf1b51d0e8b479fcd2c49551eb6cde2344e
SHA512
1d87fe5c7266cff6d6fd3896c36e210ceabdf6bc3c31d512bc8a6623c71c8ecbfe80641154ca78a1a185e115451ab8bcc6a1de6242d3dc01d304bd8777d37ebf
+DIST firefox-115.16.0esr-ja.xpi 676020 BLAKE2B
344fef71f4973fb7f4778a32b9ad2fe1c9ea85b03b20ca235ca37e8f66a9d29190e8ad82607ad306cda860e4ba1a8e5d2199fcfa3063dfe624aec23301d2169d
SHA512
42a2a54985c724344c4ffabedda92815a1b88ff591faf88eb7d48ae8136338a2f371fe6f8e5fd52b8114b3f9d9d94924a418c2a8850d8a2184abc9d20bc5c748
+DIST firefox-115.16.0esr-ka.xpi 657982 BLAKE2B
9460ed674a372162f954c590dd5c9b936961dea37cb9c44d73bcd2a99956ee8d0f4627a81ba575dd22ce4d8f78b9ca0e1f30cba5279cc423c22dd007eb8cf7f5
SHA512
05b88a6056211ef084a01c3f9ce4d9abc229916d6ee853804969f4a04e9416e41a6cb2e8ed06d9719cb4dbc7bdf696e0e9c7283cde4d8821570fb01fe16da661
+DIST firefox-115.16.0esr-kab.xpi 604028 BLAKE2B
6058b0112f5914a55a997f34a9e529927271f15d7c7cac6eea3df2e08fdaae133332f9a32334398c273da7f7aacde94980226a77e9527569c472a647bfed6692
SHA512
0362d8599d2e7d398ec26d4285e2857ea731438d22a986eb213a2db0afbe2a9da1bd38a2a310bec6b64ffc336f580005a2bfad609308f691981cf1cb2d576d3e
+DIST firefox-115.16.0esr-kk.xpi 709069 BLAKE2B
0e97c4f5dec753ea48d99333e55a881c780ac467a94724055cee35454ce7126d0ecee622451b7427d2366d0acf12b0731aff1e8fd948a6e101c98ed30d2b4e11
SHA512
c16793aed0434f18d0ce6b11ce0f6cdc0d2911c337d3635a280f5bf1b83fcf13d0997f57835d52f1937097c09f582a71df193d9999f80a3d4d08e40d1840d3f6
+DIST firefox-115.16.0esr-km.xpi 522327 BLAKE2B
0ab24aaf841f930809f2589c77e84fc4bfb98078223d16f520205bf13a5ad2795721ac942bd5b3f4ae51cad69a90188d23816a9ce213b0a5fbba9492f0f26385
SHA512
3dbf33cd1e2f4adf5dfe6edaa732b4e41cfd6e3430254b014ba2a03c31ae6a63c41e4854583131d0066ddda2a1726db66fa35908f5dec4476816e2eb29851ffc
+DIST firefox-115.16.0esr-kn.xpi 488200 BLAKE2B
1e36d1e90d20b127de591e66692024cc39eff1185ec2956f68947d8a0f3174c77f9986c48336b9b2eea52700a47d500e10dae270ba1ad0a803d748296215e49a
SHA512
dd2ed7016e5135f74d60ef40e6642e013979c218d4f002598ab590ac80d8a647380d888c715a0f059702e3b0ef6bdad6948f263cb48417d98d59d80393aa779c
+DIST firefox-115.16.0esr-ko.xpi 662485 BLAKE2B
6f22d72504fd9c5e4f70d05f9f85b939f5ad4b80e459d706be8539b0082a9f2d7ff757c0af18e5a733c623fafb3e6afc931d3fa14371076d2db35ee83f01da54
SHA512
0a5dfad2dfae1608b82995d6462103317e0d34ddef0c86b55852a251e2252b6a59e3746285a5fcd1cd60ff47fe1dfe976ff0a7f558e322384805c39e6604617b
+DIST firefox-115.16.0esr-lij.xpi 479116 BLAKE2B
6027f75e7a352cede3addcd184277d69a510f1f882371fbfeea53bf1d40fcfecfa9c56fd5524ed538a4963a333248b1134a7f67d77897b6548c0684667f26237
SHA512
fa369bd94fe785e04df5e92914be52e0af57de6d76343ab4cc85c608c9edfc64c577aa89c0f93b0fe65b35c615661cf30c2e2925a108f5c6b928fc1ad322440e
+DIST firefox-115.16.0esr-lt.xpi 566215 BLAKE2B
97b63a4857ed756cd416e52386a8fef791df711cac3b799dd4ede6538f7d6483db463fa0a9f02227f3ec472e790191bb405a4229eb2ee66abdd1828d548592d5
SHA512
a526cddd9ff530449b75f85f251a74e54bd3d3037cefd3388213f562be4906514a93c4fd9cb2a3249f77c28444a2c2803844dcb0cc4200b75982af6780c5053d
+DIST firefox-115.16.0esr-lv.xpi 568816 BLAKE2B
31c5a79e585f71608da5ab93415d54bcd59255031a55a4cf802d39ad256c39ed5d3022364406866a998f3ab18adb34ef0e595435469a788b6278653348d028c6
SHA512
aad666d44ce892b02df937e8c0f9f186c525fd37f4d13f628548ba6c6811f73b55081ec6369469fccd8f83e3bbd29a18c5bc3b2a0a17824d7da0f164c4ed0b52
+DIST firefox-115.16.0esr-mk.xpi 490535 BLAKE2B
7afbb5ca285c3f4d048a8169949db771d814638b7ac00f8a5fabb8851e8298ac73e4e14d7733731ceecc74a1e6b3206d5892bbadff9c6aa0f75a12885ed69bf2
SHA512
fbe5746f3dfc8fd916d60810103f8c1c17488add34587df0f9883ce12b7b2efc12535925225a89311e0726743fe8bf1d5c2faf879b23a95352112a6ea72a43be
+DIST firefox-115.16.0esr-mr.xpi 526889 BLAKE2B
d0d71942413334a173a2a192aa0e0082139e2908a9f1070fdfefea6d85f3bc31246b531e2f448d1c71931152403d9cabe77e4587b5366c705554923e56e12705
SHA512
681f1294d5dd988e51a4799a554fb8ef5403e92fa5726848bcbe858dc43b70acec6a803242abca4d3c2ee8bb9e21c05a80948eac59ed3f5dd9a5e969be322a4c
+DIST firefox-115.16.0esr-ms.xpi 445505 BLAKE2B
6849faccc435364973fa705a26216128b3abc3af01fe60f987311d96d1cffa36707500ba09bb872ff7b558995fb7328f81a2c1b7578a1061685132608401e2d3
SHA512
d1954e2b8d218ded5e362bae3111095ad06392c6a430e7a15b6de9fcf841883bcc2c4103955acc3f20f2b1718d5cc478454cf0076ddcee44a3b20bdb78e28383
+DIST firefox-115.16.0esr-my.xpi 514927 BLAKE2B
b985c4915f0197963a75746039f2c623c8280474be502a389afb1e09bbc1063e6fa15763dd04b93f9a1e23f8b29a73dbf5e63fa6bc72042250084da80345d06e
SHA512
b9813b9df3724b57c167fb377cc3fd748c390e72a9d84c59f3408d55b437b0db93bcd04d026b084cca3253c757b5d70b983004c3e3c711e47963def50f8b00bc
+DIST firefox-115.16.0esr-nb-NO.xpi 607318 BLAKE2B
c37ab6c83553d4186e38238e7f663fcd591a4106ae1ec3bcdd87d24b5136a41951bf0f86a2a1be8a79d071a6ac528a62b6bcc5234ad9fcfb122c5b5a7cc13043
SHA512
b03624b99b56b0b998c14765c417ae89f48c460c74320c562a9e00f608a5cb617664a86e5385c4170feadd31653add351ca9caa4f540aa8575aaf941e34b9d13
+DIST firefox-115.16.0esr-ne-NP.xpi 506997 BLAKE2B
acafc388605edd9f550bdf094e5accfa74713d09ce728f34dc5870ccd9af385c47386887b1e0ae80bb6eb8eeeae84a6407f78e0af8430abe481a63295f0777a8
SHA512
721fde27a0baffc5b8af5cd756f3df7417be418b9fc032e8730ff35ccd17ab2fdf40772830af67e856d41f2ba4a6d5784306004d4cc7a3d06a45dc22cc983fca
+DIST firefox-115.16.0esr-nl.xpi 617756 BLAKE2B
d16370f47ee9c528d6b8ec0eacd74337c03993d31bbe30c1efeac7a6f278878f6c296cbe2fd658368f2e175a9dcaeda972fddab278481e76ba9ed81c97847eed
SHA512
28f2c7d0183520f618ec39278ecca7165182b08835730f9a583ac2b4cc6b728cffec2b79840221efe07495e04633fda637f9978718f83c7660ba91eef36d8cd9
+DIST firefox-115.16.0esr-nn-NO.xpi 609734 BLAKE2B
d062212c635ab1a7078511fae31049ea7ab666e9eb4909e123b9c7e83b148a1df07ba714835246567a5fcd14ea8acc73dd19e425a434c6b85d705f7b188a17e6
SHA512
539b99de97c549580e79e638c5d287794e66a2b250d3ed2e9545483186ce8adcd978308e510df0b99dbe49c0c8c703084721d49abea37e82c9b9d9a7e851f419
+DIST firefox-115.16.0esr-oc.xpi 607913 BLAKE2B
73758255a4de2f8b1479b2fa7b15f11c4122c390546c37881696bfec4533058e15ac8004cbc0c6e8f94e47bf6cb8cccc1e3fe67fa61b2ea7bd2cfccd13dbc35c
SHA512
32b7f0ca0075522c2be574db0474f813b82e84ecc4059aafe4c5b1159801eb3cf3ee8fca2b44508935a6d8fca3551c6be06d0d8f8b370e6346dbb58a9ce22051
+DIST firefox-115.16.0esr-pa-IN.xpi 687700 BLAKE2B
ce14060ac69b3ecb1b6ddde49ca7e0d9112ba99fb2e5e27f63c9fb1cb217a4f9eafa1335fcbed3f5fe986119db0488d064b155f59570f95d4c5154661a3f80a2
SHA512
1ce517994163c2b94629e854c748dd46a9c7e8023334edd6d85230443a500ecdf6ed241ae03b3b3d35e0b8b9b6a9357d0c3d52a33290a4a186911c7430442a5b
+DIST firefox-115.16.0esr-pl.xpi 636468 BLAKE2B
6d57b7dfb7475ff3afe2e46791c2f23f1f8ddc3f6a5253dfa8e627fd41ae161392098cfc633e292de858d1d707a04079f9e3fc7dcaf058bc204209f6ab707064
SHA512
6afa67de2764554c882c9dbbf9409fe4e6977fe068a40d5f93d4363e09c9d42bb117cdc0231e6bf64b453d06ff8d14cf08f24851d35e5e54f61c5e272729024c
+DIST firefox-115.16.0esr-pt-BR.xpi 622534 BLAKE2B
c0910cf65dd7825216ded706eeb9fd49a582fc8a2d4770885d9a0bb51c9f99d93bca60b94242507ee552516bc226bae1b621143bb2c47a311acf89771f83bfe8
SHA512
d7cc39b37cb5844fa633444be600ab765280b7b6dff4d946aa972bea4fa129776a38c8037b030a70c7b1aca34e211c47cdbb27f380efd5b296a47a1032972adc
+DIST firefox-115.16.0esr-pt-PT.xpi 626580 BLAKE2B
3ea957746013bef5d92598a5853441b86560b2e02228cbf4704db55138dbbf0696fd2270057277a3ee0660866e16f0dd62afa511e9b85ce8f3ad7a4dc4618b41
SHA512
f3b9b86117e2bc972340f2fa1795b608d1a80bd018290ff140bb53779f7eab36dc32df3a0e6dd31e752afc033a8b554f771bc441efbf14a2c33f34aa40a88c91
+DIST firefox-115.16.0esr-rm.xpi 617337 BLAKE2B
1de9b0c86820e5fdcbf76fccd149373d50e949e30f912c7a43a453dcb5ac740f73350a20fa4845372ab0a86e7f2b3224b499da06785ddedb3323459743d8c143
SHA512
99ee6f5fae451df2a7ec13ad27ffc1a07b242f6b45bdb0b685b13f62e4f954ba2c049f392d398c852b6c6f3369562b3213c07bd560475b8bdc44521609a6b709
+DIST firefox-115.16.0esr-ro.xpi 543551 BLAKE2B
03d35b6e563783a2dd102c0be8f1f45596b2cfcd16272cdab03c9f5a416118bec3049a77672a2cd329841843de7ac1830c51549b277d502dc31a4c12b0111898
SHA512
4baec787bc842e5df7c667d96072a8a761854bb22db9a0679b0d4284dd35187de8b51e0a28edfb9e3c572223bb2be76dbe596359cd4931c5150bf0dac356d3a5
+DIST firefox-115.16.0esr-ru.xpi 721764 BLAKE2B
1aacaa675240a4fbaef8423960b1afcbff460586be2b4b1c9eccc11bf955e17a39d04d0a0b0a4b320c90b121ad150a0f0e78104fdf5dd33f6dff2ae0f9c974c6
SHA512
f24928f2c9e28c9085242bbfe5a2d3239c265ab560e8ebe3991cefc185cdc9e144cae4b59664a12bf67adc851d177f2720ba4884507ce09bcbe3bb20940a27d7
+DIST firefox-115.16.0esr-sc.xpi 582737 BLAKE2B
d21a131b28cc6c20ee094ea7f80760ab9ddcc90735c465a8e09fbf47d5b5b84437cef22ba9a07954fc11669f66983ad42dc35565350a1d0146b0d577872a5ee9
SHA512
1d70624b43de1090ced64ae4f3b2062dbb8629f45b94903658c7402ae468ee4c5f99b425f61baaf3e87fe2cabac168c1c9bddcca96567aca4d42d68e77f21b22
+DIST firefox-115.16.0esr-sco.xpi 505666 BLAKE2B
cee7f7a836d4ac83c38bc07dbd7646e438b8a904ff48a8d47984e653ec57d6b206c31ac799d32712be158d9fd6790cd305fa8a15d93a7a03c4c091fab2d4eb33
SHA512
c943be11da35b35f01ad0c47b3cf170c1c4154ffa58069cdef59e9dada39651cf2f89b8edca4d62d8bf7317c45f76eaa6c5185f4e26617003105d603fe0fabf2
+DIST firefox-115.16.0esr-si.xpi 606455 BLAKE2B
644ba7b68ddbaff05894221912cb5a40c1f24ea2affb20d55b9ccfba0744ba9caa1a6be1d595b6f6d3dad1b604da817c04227594a967cc886f83f3bacc309464
SHA512
57209350ea656798137b699279620e8da48fd51eca5892b4a66eb35f4a26afc2f43275d320df2954f10fbfcb3de9d0bb5fbd83121772ecf67f3d02dfd0f66d06
+DIST firefox-115.16.0esr-sk.xpi 652369 BLAKE2B
cc05bf6a040f0af397c132b0d2da9a416147b66e2252fbe37585994bf5e4da78793a8dfae6e393dc25163c5b5eee3536fb2060546832cf0d85d2b9a29c33fc3f
SHA512
e0df20ad2214ac38a603a1088bb56c79c4d7b628f31bbf257fc1f55c0b36b016f148c57ce49e5bd5d4348ef97d4e65d527bd8246fd044db63ee2777f6ecf620b
+DIST firefox-115.16.0esr-sl.xpi 615214 BLAKE2B
add85188762ccb9cf439180a2b3fde00ad962809b7127b7e45daa2840d62df47b9c6c97f48ec45ecad8b25488aa609da689395d1d7d09c15e352748983df17fe
SHA512
0ed9839422d3851312bf76639a0f59a99937ba26e6772654cc5039d98827a4e1db2bbb6ab34d97dd6d6aa6009003c8a6d02dfb9a2b6cc24eb0bf309273e35f58
+DIST firefox-115.16.0esr-son.xpi 413687 BLAKE2B
73465e1b37f27aa69e27c476f98481929f42fb33669862382ba1b32f63c0358e71cbb12e89e72df164e1b26adb045f0e02a8cd31d8bd6bf5dc65a4af02423962
SHA512
674dfdabd8fb72785970d64e54d9eae9472495e15897a8336617eaf6138870bddf59188c331a87275925328d00ea6389966cad83d4a571ebb95f05589329145e
+DIST firefox-115.16.0esr-sq.xpi 636144 BLAKE2B
902af855b0a5cb25f2e2fc5296dfcdada67e3e9c882ef25554774f12433d6e03acad2d22f04625d125e6728bb2903bd9e568ba3de81e010d70b4f4ebb6dfcf21
SHA512
3746566693671c113616ce0f46ac11d27611abab5e9e8a0f516b83e4205bee8234bc527c47d13f9307834236296a6e6c6ae98f985e0fc7869735aea5caeba3c3
+DIST firefox-115.16.0esr-sr.xpi 633255 BLAKE2B
3c5066c13efc9ca5b1a8ffb4c89acb82bae3bbbf35799923a1717e0e9c8b569b7e5a4fc52cefee0aeeec72021ec4ced9f64da709b7621001918b944d08779835
SHA512
66a723d499b45a1ba801c43d43bbfcfdbe41197d7ac33f5d4f40dc382478e124cde446ceed5ef271f3aace9fe3d165167d775131c536c3d46c21580829414d31
+DIST firefox-115.16.0esr-sv-SE.xpi 619433 BLAKE2B
f259f7455fff9a5d13673aa512420d22238cc531107b8f743ae86152ffbbc62fe7bdbbe8ea8004af1bd0973f706fe65f0de4dca8af4f7456a85bb2e2fccecf9c
SHA512
28efd04e377f6a843a6003bc4bb68c50f501f398e08d0ed7c357ae7bbe0bef759403dadbebeeb13547994e3c314551504bfab3a2657341b7f2510add7e86bd8e
+DIST firefox-115.16.0esr-szl.xpi 521044 BLAKE2B
44d9f39287885dbf809a969de9ecde41ac3322bfffb37bec729ca9282ba42ac9ca51b4f359f0875c89ac73b733d9cd0c171c03b7585a3e241711d3ebfae7da08
SHA512
9d026d2da85460f7ca7367db34e7304da0d88cfc4d9cb546ad8ad0a097f0c7b3a35f067da4d7bd8a1058a4d73465bf721bfcaf3cc209340af7063b8e39aafd2f
+DIST firefox-115.16.0esr-ta.xpi 503645 BLAKE2B
ab980e91ca127aeb88e214831ef84234f793e225848b0a594c2c907523218a3cc10f793d548c016c59151ba6b95143168c105bb7f4ce224f326c30afe31c93f2
SHA512
1988d0642d364669a5beb0ecdf95dc1bf222279e9560a9138569ee58f8e5ff264ee396dc38bde90c5b0f741e105467236c49c59aea7fd2342870e73d2db66dfa
+DIST firefox-115.16.0esr-te.xpi 556760 BLAKE2B
80838fcc8dda0b983072057618c1c8e6e72d4fb09574dc3e8db915636ff2730d7c435ed84aba69579c611c5f9b74bca8286eed9e201d14fbf8686031dcc582e1
SHA512
0f8b86e931a7bc418fce3895d3b2f4ea173225ce51e55acb2bb4aca01ed9980545f35c8b49c051183aba06f5e85601286053490610d99967fc0fca4c8df7d6c0
+DIST firefox-115.16.0esr-th.xpi 693431 BLAKE2B
1c833d90a1b84ccd9c12177d6d6e370dd6f5d3269152bd38ca7d6ff9ab8a9ea959468716f15e3e757434b005c291293dbd548d56f37fa3b2902424be8d4eb494
SHA512
02633ce4f89a286da5e08734d6cc4aef8baf68d42c9b597971974391d506139c8b5b2e30e0056c15c3c48c6f13faddbd331d0018ebab3b441e58ce93f19f8f4d
+DIST firefox-115.16.0esr-tl.xpi 527809 BLAKE2B
263aa6f54fb1e8ce4dc35a9b8d2ec5605b30363f6f3acec58a83f4df24a1ea56d336c365b5748a17f074c2aa8ff13b611974cf986e01245881b49ed07d47b6c3
SHA512
cae485160e3b7b145e2422b133839e2a643118ad75795830715ee56349111f4b15daf708fecfc529362f9f34da2f6d6942be77d6b307755dd0fa92c008004da7
+DIST firefox-115.16.0esr-tr.xpi 631873 BLAKE2B
a498e23af990a49b75944ea18cd6b013c4423ac2791295f3766dfef5974ae49c3e80f2362ea8cda3282d26fbeee6cda34d02a1d42040425501145804ba8fc66f
SHA512
67f3b2103d27b3e5cd4276b147c7e025a1f26e21a087c6582de25fad820008be20dd8c73f761e6637092f08112c3f2f48256667bfd7d98e4261347a125614a91
+DIST firefox-115.16.0esr-trs.xpi 498678 BLAKE2B
ac667dac80c2f45d30d3ea2f89a6f194bb1158d26678e919cb7bf780d7fb53d5d61f21302d2dd74fdb52032b0c671196738c9444924dd390d8f2973972625b7f
SHA512
8e4ef36b39f48d8264eaa590f4cf5e036e07ffeadd3486750dd0264895ff4abf3acc5710478e7a5b7969619fc08db00189c9278debcff923da8b9b0562dab6e3
+DIST firefox-115.16.0esr-uk.xpi 707293 BLAKE2B
b5be6d13597e5797152099b1021c7ff4aa2150e7bc8ac468d56c7d9cf85487c9b3b1494af4a79c6cb8b883145c99f89c96f7f57a6660ae653c90ce9199b1ddf4
SHA512
655e82ae2cc16471d3aa23258a1b16f74c0782ddc54e115d8ce228d8edd84132e72a96ee24cf59ff4bcc5c9d8aadbc7d9a19704962b105d11f569e8a5fada032
+DIST firefox-115.16.0esr-ur.xpi 554813 BLAKE2B
814a25bb08cafcd68ec48159ed36af438382408f1f6022649125e0a1130c3513127cad0bc781fa157e953085d009e7f256ce166480c6f421a1ca3a373948e9d4
SHA512
7f9ff915c0db049d607247ed41bdb460a25a51a31e53590bfe0790043d8742c2a97c09283136349e9514e53f66d2d3c7ccacf2de0cd9be31c0adcc283a02eb98
+DIST firefox-115.16.0esr-uz.xpi 474686 BLAKE2B
cffa1fbd1b8b1dc67e7d215fe4f70682718e8385a39c10e21806d026cfae01666e6be07d533b9bb216a3f0193e284951019542e183c5e227d692b941a293e750
SHA512
3372a421bd478c4e5133a00b72f267d6ccdd22db5d3543809425110bbdce8c03cedddbc4e5699fc089a194709753a8d148c794532d41578ce3b4b661735df654
+DIST firefox-115.16.0esr-vi.xpi 654026 BLAKE2B
2346fa9e2299bf406ca7325b52efb6eb9f950eda10b9a0a1827f8f460bbe36c48db09c542581e6dc294ccc9b2d614060ab84af4fd2f48310855c8bde237dff5c
SHA512
eadba43c5f8c400d5e698a2528f47951127bff770b8dfae6773a69fad9b2a0c088d3555cf51e2057dffef7b415b7b37a2e552b9b561f2c0e93e99571a254d965
+DIST firefox-115.16.0esr-xh.xpi 414950 BLAKE2B
152db7e63f9b4882ced06824dd97752e2467422353968c90cc71809e29bb8581c4f6fce97031bcc13aed1f6059984170a3cbdf85a77f13b76ab9af7c815b5d45
SHA512
af7b9a6da6ecaa7d168801ce966ccdc208238b8ad8df053b1230ce50be7a6d86e6e7be6ed30f933a51c9c9d2b591dd7939c5b3d37b3008230dfc6bdbb949fa91
+DIST firefox-115.16.0esr-zh-CN.xpi 657110 BLAKE2B
25bf61a14ed6c9722d1258e7ec00a6923a5f1c3968769440e1ebd6a7784576495da5ba5bd0012026281d51c561ddd9d199ef9b4864be72c2ebba90b3aa546154
SHA512
1a39f0b4ff5f7795b277ea3b1691162db9bcd26dd8d3da260a50349687245ecb1e5486afb17ce7508e66dfb5b5dd67a50b56f97b4196911f42b8549aad86ed91
+DIST firefox-115.16.0esr-zh-TW.xpi 659312 BLAKE2B
7f1c0266bced59f5252e6b3d6c56e4d0554065c9729073db87c9a6fdfd4d14c80e9945b2d760b6c64329e92f0aeeff20fa9b0e4c9e0ccae96b8308c0d07567b2
SHA512
c5d165b36c86d3f0334c461c7af9a53eea8394890a6ec067bf03b4708d04d5360a6e69d5542bd51a3678a1c44bef12a927d4f0abce22fa6736396d6624c2de63
+DIST firefox-115.16.0esr.source.tar.xz 515133700 BLAKE2B
9501b617b346d56f6de975f88974be6fdc3d4a901b2a1b952b6bbf6cc46384084260078d23c52bedff83a65bec4ea5ec78c3bcaac86c78d0b44e796317534840
SHA512
b6f93ec3d6acac5df177253c65b833c017e65ed6e78e96ff029098443928d291f6f67164aedb83d80aa28ee9dee305086597798238d3330e35183030e53e3550
DIST firefox-115esr-patches-13.tar.xz 51360 BLAKE2B
a048bfadba989ebbd4c6e3df97d303d6853844e66ed92f5f5f322acf18866218b91d52dbbece63827de283eef855c932d67e329c8d93200aa83f11268a5d1b2f
SHA512
186ec72323e621362dcef1bc67c476716aff97dfad701faa9220a7302e798d3cb4ed90d5ea59e3e92f016be29875bb5219787635db99a8848b7c76e4e2e09e90
DIST firefox-128.2.0esr-ach.xpi 465016 BLAKE2B
70b8839a5028d7b87218116dd44fa724fdc1aee91c371bd5e84112a9153568d7186ef4237f707e08b9e22f0208affd03141b49fa4b842cc82faa5ebe7f19004f
SHA512
688b8fdb84a6bf069650a65218615d605cd9cbd52435261f3f4fcae749cd67373fb1ce34c24bd3d0712c5e9416a2c111e2bd245050130423c944b64ca9092c1b
DIST firefox-128.2.0esr-af.xpi 418343 BLAKE2B
6b52d8b28d7e1095257927e2e894276cacf131fbd8827bb321729787d4f2b9d35418c5b834a87c30fe035f31f03c003d3691d2350ffa6972d1ef8de15952fe6a
SHA512
70bfdc67a3f2ad213de61387f611bd9f6231eabc7012f190b84020ee3c75d70579d88db5cc1995f86fe1eeae72c31438f64019824c4ea28ed589b39cc12b9dd9
diff --git a/www-client/firefox/firefox-115.16.0.ebuild
b/www-client/firefox/firefox-115.16.0.ebuild
new file mode 100644
index 000000000000..31b6c0937aff
--- /dev/null
+++ b/www-client/firefox/firefox-115.16.0.ebuild
@@ -0,0 +1,1393 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-115esr-patches-13.tar.xz"
+
+LLVM_MAX_SLOT=18
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+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
multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs
virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz ->
${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+SLOT="esr"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack libproxy lto openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+system-libvpx system-png system-python-libs +system-webp"
+IUSE+=" wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ !www-client/firefox:rapid
+ screencast? ( media-video/pipewire:= )
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/clang:18
+ sys-devel/llvm:18
+ clang? (
+ sys-devel/lld:18
+ virtual/rust:0/llvm-18
+ pgo? (
=sys-libs/compiler-rt-sanitizers-18*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:17
+ sys-devel/llvm:17
+ clang? (
+ sys-devel/lld:17
+ virtual/rust:0/llvm-17
+ pgo? (
=sys-libs/compiler-rt-sanitizers-17*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:16
+ sys-devel/llvm:16
+ clang? (
+ sys-devel/lld:16
+ virtual/rust:0/llvm-16
+ pgo? (
=sys-libs/compiler-rt-sanitizers-16*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:15
+ sys-devel/llvm:15
+ clang? (
+ sys-devel/lld:15
+ virtual/rust:0/llvm-15
+ pgo? (
=sys-libs/compiler-rt-sanitizers-15*[profile] )
+ )
+ )
+ )
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.24.3
+ net-libs/nodejs
+ virtual/pkgconfig
+ !clang? ( virtual/rust )
+ !elibc_glibc? (
+ || (
+ dev-lang/rust
+ <dev-lang/rust-bin-1.73
+ )
+ )
+ 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.90
+ >=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
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ dev-libs/dbus-glib
+ 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 )
+ screencast? ( media-video/pipewire:= )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ dev-libs/dbus-glib
+ net-misc/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/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ 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
+ )"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM
slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot
use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing!
Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!"
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..."
>&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( 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}"
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld',
and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold
linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+ local out
+
+ # Ensure ld output is in English.
+ local -x LC_ALL=C
+
+ # First check the linker directly.
+ out=$($(tc-getLD "$@") --version 2>&1)
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # Then see if they're selecting mold via compiler flags.
+ # Note: We're assuming they're using LDFLAGS to hold the
+ # options and not CFLAGS/CXXFLAGS.
+ local base="${T}/test-tc-linker"
+ cat <<-EOF > "${base}.c"
+ int main() { return 0; }
+ EOF
+ out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version
"${base}.c" -o "${base}" 2>&1)
+ rm -f "${base}"*
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # No mold here!
+ return 1
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to
be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo
$WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server
can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and
FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto && tc-ld-is-lld ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk
'{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1
"${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld
version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep
-F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] &&
version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read
used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}"
; then
+ eerror "Rust is using LLVM version
${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link
${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using
'eselect rust' to match used LLVM version"
+ eerror " - Switch to
dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without
USE=lto"
+ eerror " - Rebuild lld with llvm that was used
to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending
on your @world updates)"
+ die "LLVM version used by Rust
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough
anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox
(bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is
hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to
fail with
+ # a traceback report referencing
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build
failures!"
+ fi
+
+ # Google API keys (see
http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own
distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see
https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own
distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to
play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if use lto; then
+ rm -v
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ if ! use ppc64; then
+ rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+ fi
+
+ if use x86 && use elibc_glibc ; then
+ rm -v
"${WORKDIR}"/firefox-patches/*-musl-non-lfs64-api-on-audio_thread_priority-crate.patch
|| die
+ fi
+
+ # Workaround for bgo#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply
"${WORKDIR}"/firefox-patches/0029-bmo-1862601-system-icu-74.patch
+ fi
+ rm -v "${WORKDIR}"/firefox-patches/0029-bmo-1862601-system-icu-74.patch
|| die
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post your rustc -vV
along with emerge --info on Gentoo's bug #915651"
+ fi
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # 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 cargo checksums from crates we have patched
+ # moz_clear_vendor_checksums crate
+ moz_clear_vendor_checksums audio_thread_priority
+ moz_clear_vendor_checksums bindgen
+ moz_clear_vendor_checksums encoding_rs
+ moz_clear_vendor_checksums any_all_workaround
+ moz_clear_vendor_checksums packed_simd
+
+ # 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"
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB 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
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-wmf \
+ --enable-legacy-profile-creation \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more
arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly
+ # Can be removed once upstream enable it by default in the future.
+ use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64'
--enable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+
--with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ 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
+
+ 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
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ 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 and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd"
--enable-linker=bfd
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to
system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to
USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to
system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd
due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-lto
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ 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*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug
666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ # With profile 23.0 elf-hack=legacy is broken with gcc.
+ # With Firefox-115esr elf-hack=relr isn't available (only in rapid).
+ # Solution: Disable build system's elf-hack completely, and add
"-z,pack-relative-relocs"
+ # manually with gcc.
+ #
+ # elf-hack configure option isn't available on ppc64/riscv, #916259,
#929244, #930046.
+ if use ppc64 || use riscv ; then
+ :;
+ else
+ mozconfig_add_options_ac 'elf-hack disabled' --disable-elf-hack
+ fi
+
+ if use amd64 || use x86 ; then
+ ! use clang && append-ldflags "-z,pack-relative-relocs"
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory
-Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ if use system-python-libs; then
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
+ else
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support
arguments
+ mozconfig_add_options_ac 'Gentoo default'
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash}
${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org
default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if tc-ld-is-mold && use lto; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with
mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path",
"${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated
rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+ 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
+
+ # 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 geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME}
..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}-esr.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ 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
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound
support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part
of the package,
+ # so we need to avoid creating them if they already
exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins
from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so
it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead
please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and
'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not
support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the
workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if
Firefox crashes."
+ fi
+
+ readme.gentoo_print_elog
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "fallback mouse cursor theme e.g. on WMs"
gnome-base/gsettings-desktop-schemas
+
+ 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
+
+ if use geckodriver ; then
+ ewarn "You have enabled the 'geckodriver' USE flag. Geckodriver
is now"
+ ewarn "packaged separately as net-misc/geckodriver and the use
flag will be"
+ ewarn "dropped from main Firefox package by Firefox 128.0
release."
+ fi
+}