commit: ab8dfe998a3938c13671cad104eaa73639dfc51c
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 19 17:17:01 2023 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Dec 19 17:17:58 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab8dfe99
www-client/firefox: add 115.6.0
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
www-client/firefox/Manifest | 100 +++
www-client/firefox/firefox-115.6.0.ebuild | 1384 +++++++++++++++++++++++++++++
2 files changed, 1484 insertions(+)
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index ccbe13accb91..0621454ea387 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -198,6 +198,106 @@ DIST firefox-115.5.0esr-xh.xpi 402436 BLAKE2B
f5bc9da8f839819bdd6ccb26b4b29e884f
DIST firefox-115.5.0esr-zh-CN.xpi 595484 BLAKE2B
a260d76f2c47969599fdff3ef9b948ac7baebfe1e26cebf1f61bfcb00f4027cbcb89e7067985cd7d5de544683176ee4a3ec8cdaa3d788ddad5da9f30f3724ec9
SHA512
2dc128b82824313ebafe3c147b99760d1a7da7a718b8d95f2897d13ba0b427a6a52e0c75258115598de1e9ab35de0972a933dd438d14a0326d9994f3faae9cbc
DIST firefox-115.5.0esr-zh-TW.xpi 597819 BLAKE2B
0fb3dc3a1fc7bd9fe60fc81cb78a278e3b1b5e827eb0dd8db8e26849ec3552cfab177e68766ea627569875d02e5ee0de1034f40c6a7184c07812a7e5ee2204be
SHA512
62f6151b44387cdb98fae20b7128b9e3fcaf648ae59486cdec3dc6efd33b68942b643a1df3a2647e8d205399e1f6437a766eec14acd1d90074f49ff6a487acbe
DIST firefox-115.5.0esr.source.tar.xz 512244040 BLAKE2B
899a91caeae8ed5b525e7f9343f727cb761f3376f6b298852b51bfde2129c685ac3f95b8b09ee5f295f3213672796ef5144e84b59c2ffce75be36ff93e40d7f7
SHA512
5ee722884cd545cf5146f414526b4547286625f4f5996a409d7f64f115633fb7eb74d202e82f175fd5b2d24cce88deee70020fcb284055fcdea3d39da182074e
+DIST firefox-115.6.0esr-ach.xpi 441053 BLAKE2B
173666079ed36816bfe11495b4cdf4a41629d00db66fcff7eda73dec05208f54432a8aee524949f52ec7c8ebcde38997351da260f776ff7ffad64ee4fe32423d
SHA512
f065204066d768542555f587535a84360b9d05f35702cb22aa671709a6648d17b28de51af1f90892a5996881ccdf7f89b2241b0f89cd79d8207fd244799a8ce4
+DIST firefox-115.6.0esr-af.xpi 402470 BLAKE2B
75184cf489e7cfb6157d561ad73dbe179db787d445ec093ab5dcce04179a0bc1fe64621350902a940600f05e2b4bdcbeeb7e5e0ba6d43ced5e4432e4f98043e3
SHA512
a9072bfe46e30eeafbb826b5e77f8b7fa4d8fabe624cd8ef767a6008676a1f293da29baeca547012bb8d6c475d7e0e232207520d93c88e0d400c1a8a166801ec
+DIST firefox-115.6.0esr-an.xpi 482935 BLAKE2B
e6695dff546c46d383672bd65064da050a6ef4725ac3dc5685a067bbe21021f38a67852b714cceb9d09c59103938670e8c9321f4a9ec178bf476ed033422025c
SHA512
f84047521e6d7653d1b5ceedd93cb0cd8d4fa8133df79cae052e2864a15718b577d77b7f50175ea67da2094991614ec1a9f52171df5a2806c88821ffcc8622f5
+DIST firefox-115.6.0esr-ar.xpi 549541 BLAKE2B
e94dc4981ebc02c427d7a87406f31baf44dea07c7011895a6c4d25aa357ed436f65fddd7cd3101357ba38232c5793721a2100331cfed8058e74565806858509c
SHA512
227eb965eaa9366e75754611bc275d4042ab6ca4d7531c5451ac806dfc4c07536e34efbbf549a461dfca3d3bb80098c3f55e2b9dcb7ab70947477a8da79c7e5e
+DIST firefox-115.6.0esr-ast.xpi 477363 BLAKE2B
1152a5179c895d1d1ab471633b1c05270303336bc0cbb7360fe95cdac3322eb3afdaaa37d8f186122c569da7a18cbd7931214d457868a6c827f4b5f92a7720cb
SHA512
8b2c276a2976730fa81b75757488b37cce6971ca5ff6fd40c2d748a91d2a5651743d065bf311ebeb541fccad0ded360b3c20ec46e863dd539f7258cb8d9518dd
+DIST firefox-115.6.0esr-az.xpi 470745 BLAKE2B
eeb0dc803e2c120b4c8dfc866eb6b654a2ad0f26f06b6257cf3756cf936d3f42fb4403895991fceafd7af425fe1bb9577d6ea00f234f3e9d387a195960a79a5f
SHA512
0dc114a505e03dce2c644609c19e068458548eb6321f01ed7fa8a4d397e6f27408979e9feb1a8e5c70c0a1226471478f7aad5098a9880983e8e6b055a8d1f649
+DIST firefox-115.6.0esr-be.xpi 647090 BLAKE2B
c0a4cc5a3f1c9fc8afdd404791c6f7cf49cb8ca61d0e38a317501837a6dbd4ac46ec2adf6ed44b1a278b5e2270b68b9d6e17b4a085971117b758c4f00c353147
SHA512
917fbae6310e2c135862268846f96cd11068aaf62e6fcac3f375744dfa3b268ca3705d3bbc5c357fac136e40e6f70cb572a297aabdde8b45a7c26d1c6252d366
+DIST firefox-115.6.0esr-bg.xpi 564175 BLAKE2B
d3f9327e7ae6599e704db46baf21440b795a22800e40d8e5716746040335f5b30a09befa17d1458b1e0c6ad70899e4d3558f537a451ed95664dd04db450c2fe8
SHA512
f6c871b712570a88b6bf22cdb69adc98e79e01f0848a5a6b87b3d21fe8267c0b7d40f14c6ee66b180deb7902f82fb42203a7a5459164ad16c45822824a1fcda4
+DIST firefox-115.6.0esr-bn.xpi 558438 BLAKE2B
524e8cd4a9cb5540afa3c83bcbe834bc3d11416d99deeeebc53e9cdeb8bfbaa127d17f61a722eb013d0faa40f6d6e1fc35ecd05f4ca3f0315f6cdb24e04f4de9
SHA512
5cc36c345dbb53a147e45bb215bbc44fd5f006d279f7ed79e84d1d9dae482a166bcbc63effdd2dd6a8d07ec75c65aa7367c8ed50945a49c679cb5ee5b79f83af
+DIST firefox-115.6.0esr-br.xpi 534388 BLAKE2B
24777e77f1d78f4c4eec827f6c0773e0b8d9155beca7633641dde61e27858b57bc5e120acfb488e48f44b2fe437c2bf4ea016437b585e9dfe776159e0b7350f3
SHA512
f49a83283ae4c12942081056d6896a8f7ae5d98f2f802c543fad4c523ead12c06b602dc19b9f2ddc3c2c68bcbb458a4af78a74be24ed8b8859ea853d18162028
+DIST firefox-115.6.0esr-bs.xpi 441274 BLAKE2B
b0f6ee10637cddb891200ffb6b55b8de21c0348150ee484ef8f2d0a8ea3de9c96b36b4e240ad178637f7729a87786b115ec1df1eeebb820fbee9943c5be9d7b6
SHA512
886e5726086d6783ccf018d2229b90c1cba0adfce5d961eefae2097d0e85da605a2ea62495e72cc066bb653a86b496ba7a21ea600a0f6a73d12f3409e16e0df8
+DIST firefox-115.6.0esr-ca-valencia.xpi 521954 BLAKE2B
6d59a57015a447301e5213abf0cef0df2cff350af0b1b363e61be2c0872586f93bb7a0bd98a8aca721916ceed474926ea56345955c762ae980d3391f68899501
SHA512
90e3446ba376d6cbc615068e77d5ada9fcd62448609ae437e61e24dc07ac9d97cb7188b2c0c17d14f5bde5b1a05c33b12c09857bae1abc9fa99ff85994a3e64d
+DIST firefox-115.6.0esr-ca.xpi 545482 BLAKE2B
358b3a86285e3d7321c03ce5e53e18be9e0ccb1eefdf4f4752b2e920b103a7a96c46c1f12233b913ea8948b721e5db127aa6d56f4eeabebb49cee8389269f7e3
SHA512
a2dd9e36d44972300c672dbbb18077ee9259d9b93007a39241d4973bc62715d25870710406eb22508b47b97af8811f8d98513102b50aa033d6dea204411f0ddc
+DIST firefox-115.6.0esr-cak.xpi 564588 BLAKE2B
e6a26ca942cebacac13779564ca8cc76d6a50d556d08327fe3d725c551422780cb1e1d4df91c089d24e709981d8d7234a89649e060717f4ee2a797536bd070f2
SHA512
7615fcdfbca569b0d57a79363439aa24327e8f31df83604eaf9512ee7aa2db642585f5aa5b8e1d58fa87d95b16fd8c393c7fbcedd9d062afa803c70fde635d24
+DIST firefox-115.6.0esr-cs.xpi 592264 BLAKE2B
94154966d92e5fb4d3d4a388357745f705f1233628de7a3cef0dbd07109060caa66d01443932521ee31dfb609e8ef6e992b90defeeab303617a71e80455f561b
SHA512
841265f6d09c7509e6aa879a2bab732560a28468149eaa8f95c1cdf112113b8c4c30de0971dfa7b38d9505dc618bb2e38082f86127360fe9e136be963239a033
+DIST firefox-115.6.0esr-cy.xpi 564701 BLAKE2B
3f286f5ec876b4df67a95e2e5b1e400aa265413bc02d676a996f0849e16c032476913c360a52f188a52027f57faf535c590a4a44a8dbb65861e868de6cf0c90d
SHA512
d7447bc143e1f145be9af36bf32c55b3d4348ea50543df689d2c69df2e5aa470c2640c0b076af2f4a38c7a478f30dea6f756dc307ead0a694b96867059d35c3b
+DIST firefox-115.6.0esr-da.xpi 554023 BLAKE2B
a7adbe1bfe65f8db4bae04d31e31e2d6df57afe7b7fa477a131ce7c0fd1e0e38900e36236fc1771910ab3b632d3ef0272c0927ef376baf6315602c9deb15cf24
SHA512
86806a03a031b9b0fa432968e0393b0cc05c386a905c7cc9bf7269cd02b946fdd2054d0488efc59275e29d22a79eccd9580fc9dd1bc8f17c30a26416289b859e
+DIST firefox-115.6.0esr-de.xpi 574622 BLAKE2B
c41bc498ce45d474b344c8666f7d673be485b39d05780651f2773c54bfd1456a430d05635d59f245e02df3221d9ed3fc2edb5aab49d9ff1e949cb4cf0cd72a65
SHA512
a235aea3484ecdc9997134ee62b08fe6792cdbdd02f229e20635e4e7823304994cf93746fd4fa27093f45689b4b8bf0d39e90c7f372ceb3a03c1c9469d3c7f18
+DIST firefox-115.6.0esr-dsb.xpi 589328 BLAKE2B
318d1bebbcf68a5b6e9653627213e3e793b69f69659fb2307b93d55e80dfc140999755378e1a3c8e5df8eebf442e43009b7d2dcb63c3551ad6d51cd8893bcb14
SHA512
7202080392d95208158ae5d9907f4a4097a448bc3b825a3f27519fbf59c92802d77f16363c9f817fb140c2238b303cb24056bedb735b2824258fd170f32ce2be
+DIST firefox-115.6.0esr-el.xpi 663758 BLAKE2B
9e2cf86b722ab840fd79cffb3becf42179ebd373e0d1c1e3a286162ecaea3568e5f4f817a4fffd5e1be2c540dbf7bded159d590b1d445bf607d2997a1b8cc301
SHA512
0f4832b764e721352fb62615942ed40707fdf2fab4ce4a45000b820ec1c511666ba5594368d8a14e7202bb82508f83a67d93729e9b6746119ec2374fa61773d9
+DIST firefox-115.6.0esr-en-CA.xpi 519422 BLAKE2B
974f92e7e933c127dfe1503a3382cd85e0031ec8f2de7ca9e559b705b6b70161e4a7710d31e41bc9041538e2e2ca6b562b388cbb749c27ccfba4b6b52ea852fe
SHA512
5370082bcd3ae0a1529667e090959992cf4ca41a3f6ac5ccd09055a8189283605de03d61373b7747eafb1547a5e9600ffcc6faf4d3952b45cf5f5b2c0d471ab2
+DIST firefox-115.6.0esr-en-GB.xpi 531053 BLAKE2B
6c95e92594c861a81b7e8f0e9c6ee81d3bf0509534aaa660acd53132b1ee7362e117fe3eae5217a37583df9cdb375be9f83928e58e1df64e79d206c9120aed01
SHA512
8943ac5c154819262f1a87da257239c9097eac7658fec90b8235baf6a4f2a21106e53006c0690a39ac4bfb3ee5e366619fdf14b307e433f9a8c75a43a8cae0a4
+DIST firefox-115.6.0esr-eo.xpi 556386 BLAKE2B
4a6fae4c3691ecfc36b3d1ba8534e161abde7f122bc9f5ed526c24dad68d1304cbdadd91981de24c6819f87c9644001ef2d298c5779b01156c427a6b74628db5
SHA512
815206474c09e8d3ba5e47f0281fa07dc85cfed6123e07a3b870adae637b6790e49676a50ec0193be7e6e18aabc615199b49b604f1c69b9871a763052c516bb7
+DIST firefox-115.6.0esr-es-AR.xpi 568958 BLAKE2B
b331433339a7288e3ac7b118b34d3907a0986549a2d44bdd0f9681f765242d4a97d9ca55d64ea4977ba55fa34092cf1746c1eddcd652d1e32427c24fa86f54ec
SHA512
bba821fd2d2c48c2b00e9a0af52d929d20d8eee84da0eb2bb0e01f152a2bab7275f87d31e7176371eeb43160da7943c1adf397d0b3324ffda55e109145ad9c67
+DIST firefox-115.6.0esr-es-CL.xpi 568607 BLAKE2B
e8fcf5bfef5a4f67960aee711e16940a6369d8f34ff29be524e99f1ab3e41c24aeeb6d1556fe12d5e8e8e588f7a2c2f43c69a10832f094af29666c85b99b42ea
SHA512
f17f37f6a9ea04682b93e1bbdba5f4ea99aac2a04b0a1a87419503dcabb8a3b51dbd2334cb47d5dd07d016cb127533d841ef1695046d7c09d0ecc11ca6598f47
+DIST firefox-115.6.0esr-es-ES.xpi 562054 BLAKE2B
b5015c645372228c01590ab72b35cc76416e2ade19f2e00f4a8090d1dc82d30527da37f837c64f5ca74b680d423f2fc6e14cd5c8dc175e063e78036cfebb6f29
SHA512
76059df8e8899ce2f058b4ee2d83a28e4ac51a405fee524ea57059447ef5c05b4d79274880f9207c60e48032e05d32a544f50038aeb6a08a61094f37f659548c
+DIST firefox-115.6.0esr-es-MX.xpi 565303 BLAKE2B
e6a737ac41db180f54de17c7e119e737449575af339c47950933291e5eb6e6bed1e223285287183cf11cc0d198701a47f6e33abe0c2f2839c047d63ca6068aff
SHA512
2b0b1b3f6fca6ef73e7a1556f88ca74d6aebf6250ed44720a9fbcd9a7c361b946d88d75cab570e3c42165130ce2e31d7ac833f36a1def5be8c6bbf6cf4d4a197
+DIST firefox-115.6.0esr-et.xpi 516134 BLAKE2B
9a9ed8eb36726a6b71bdfa847b0b6d1761989b4fefcffbf9bd8c63a3766dbf152b2bbaf1dbf58dac339f24d49d218841693031ebbb5c4e951af6dbfef0c170e5
SHA512
20b3048ab2d9038925beb7983f780179086cabbf41dacb0fc3b8b8113cbb2c992c9d36bc1ed88ff5d2517b072b8a586baf800767c6ae55f6db189aedea3b2459
+DIST firefox-115.6.0esr-eu.xpi 551614 BLAKE2B
28e20433017c41d120b380f4db995798fa32787ab0adf6152765e1e674007dec08d8e012b749690f78305adba13bfe52575b7dac59f952add947e144b9d8224e
SHA512
ecfa01e841c9a9e9528765c191fa872e7cee749aca974049e450ca992bbbb158ac5e7aa49cfacb4e5fb9a3f05fe9eacfe7420aa2d94d62171aca0ee780dc8414
+DIST firefox-115.6.0esr-fa.xpi 564547 BLAKE2B
6c3b76c419d73c35089c0e7a5b8bc9a49ca53dc5223c84c20f7bf57a77f9c78a9bddd61d6239aec9f0156ef5b7f554a3a796db27a9fd1fedf63bcd7db169a9e5
SHA512
eb2f835f241ebbad70eada0690390a032541ac148346949f51e99fcfb34bb1ddfadc0346df2f4a59927aa247c0d24dd17a3378b874d3ac2e8b721d8a21b71499
+DIST firefox-115.6.0esr-ff.xpi 457106 BLAKE2B
70b42f8d538d5c2c70f032952a64878db7ffeeeff8e91163b9331d04b6ada093d94ee56ed7703c22fe69e5ed6a15fec156760de600733ceb49b03117fe4c3a42
SHA512
b10d7027b1e851da962886b965f5c6d041a11de8a584f50e07d9c47af13e8474e076a0661c7b5297201de6fd2b41cff822cdd9ce6879950509f2955144f50862
+DIST firefox-115.6.0esr-fi.xpi 551248 BLAKE2B
47f00534a00a69435d90ca5a1e7e35d8a5fc7b6dea6524caf9c3d118d87abc4fe9211d35e08661ddf18f6ad0b46698d973458565350077ebc718a0bd8abdac37
SHA512
7f88ae088751dbb0493a3904a751034f489c15ccdc35f1f04bd710c7113c3303a06cd54708aac3b927570820b027d240c795cc806ca1abea0abfbcb94644e2c6
+DIST firefox-115.6.0esr-fr.xpi 580609 BLAKE2B
84671b7e0ee0fcfb20ac4b90f704f73bce3d09d81ad45f39f44a1f0ba677519e8a79e43561206e0f6204f07eb640853ea2698c598af087fe05c7cc8dcb4eab22
SHA512
93baaf663aeb9155fcda976a8b562e1b2b524530321e66b57bc155d3da0fbe6fedcfeff8a94c8712af4d22240115010af44eccb86f2e80ad08f15dd0a68d975e
+DIST firefox-115.6.0esr-fur.xpi 573079 BLAKE2B
e470c8e6bd7b1d79a915a1cc4ccd2a3c6bf934535b4bca588b92d6eb1494d42752a6a04796a927c04fe39c51c3339b8da0db1da4ac6d8047d275d764aca9c377
SHA512
ff99228e74e1a8096ca774f4a9f8309d2f60edc4ad9cfcb5047e9df0b0a4eb0e20faa4137165914740ba2f0ebfa76b141c38e5177734e03bfcbfb89700117221
+DIST firefox-115.6.0esr-fy-NL.xpi 564935 BLAKE2B
02d6edc6e7fabf10ac0128e638da5a956090bdc4804ecd4f77f4073d9d1f2c8e03b92ad3ab675b83845c5ac67ad4ac570b33c5d1840b99252c2d9b4af162c1bb
SHA512
d66f4cd9244fe5a11b033d2121ef47639df35ab45baa81fb071b99b161031ecf10942d567d12214ca83b5c6edfd5e3e5caeb37456bd704ac6c513928201b6574
+DIST firefox-115.6.0esr-ga-IE.xpi 454333 BLAKE2B
1b6be2d5477fa3910612fbae9e1121c25d77b610683c2edea07ebbac434dcade9eba69521810b05e6646e8f5912446f775e679469507e9e1dd9489b5533fc0a5
SHA512
652ee2537bec0892298eca1739ae9ac69c554daf547ec5cb9a757c68e09d1278b1f3fa3cc76d005658b7d1c1680210208a6c51a39dab79827fe84a677264ae0f
+DIST firefox-115.6.0esr-gd.xpi 566971 BLAKE2B
f71c516af2b1353e7f6c6229b9fa6761c7cf351e3ad5316585e8ef182ff6de4108aae425c4835b0c012ef4efefed6441deab738f19178b2d2a4371444310b522
SHA512
c8534e53ea9c2e812f13d1e86d0c8618d674ad73400e79df0ca92009326e8da4c22a480ab43086d30144f795ce400d096bbe89c0435f4e8c1b69215679609b50
+DIST firefox-115.6.0esr-gl.xpi 565476 BLAKE2B
f85bc198d1d50687c74a2fd382707d090a09a8a20c53b7005be864950d5ee3ee59f013429b1085c207f08d6c283540935697f324597db5adc7ed8907852d7364
SHA512
464e37cd4f2c1df04a22b0c2801b0d7e341206104b342b05b4e828d926ca7fe82db549917054d9b78dd3075fb93861cce92be9398327c671b837cf12b0c7e366
+DIST firefox-115.6.0esr-gn.xpi 577573 BLAKE2B
85d356533c913405331f9567e6f5f272c87fb00576c6f3db9126934c34d96f839ac094c56400af0f3339b4f3460ee939f0dc7b380a676e153b68e3f04d56ca70
SHA512
7d207909a2bc6713f0da49ebd0d43fbb97e6a9e8a5edc6b30f8b2a4bf215508a361c831bc1663bc41515ebe26cf5efd9b365f63bb6f13bfc9394d8d3b96790cf
+DIST firefox-115.6.0esr-gu-IN.xpi 506682 BLAKE2B
f432dcd1cf52ba5e704150611f18178689d43c8b841fdbbadf3e08d904bc31dd91e0ee6f70de65b7cbeb646b373cd4edbcf5413e77feb8ce5b09ea9229fb43da
SHA512
8a7027e6e572e14db5397ec7d1e470a68c533dc278323ab490110ed4502a71581e75bd013881fc15a04353d8f4c479720e820f7b52a5c4b4f243276208ff9d87
+DIST firefox-115.6.0esr-he.xpi 574389 BLAKE2B
196c5efff820213f7571725d3adebf67429617eff022e5699fa4794f95a41b9fd6d79399da2e9a2b72ba9189d21d1e261a8b20ededc7c5ff9207a965d2cae2db
SHA512
3def7f914e942120331cbb17d007a2dfd2df4d4e6ca0d2263bb54e1a52ad72261403de8932b1ccd82024d7ec9f3dd13b2eecc9d003fae662bbcedf105dd9b1ff
+DIST firefox-115.6.0esr-hi-IN.xpi 538823 BLAKE2B
4e574ad26d3e3f4a33ab88d504ef392ea6790d02c206c1139e13eb3713614a567d77c11f76a90862514f31fb13b9dc9bb5c2798893b992e09f3269adf06eb0ba
SHA512
5cf9382547f08fcd0dc734856067905eb0addf12fd760fca4f1e763f6a90fe2a991c14210823a97bfe202826484875ff63a9548cad6a4c05dc85a0eec0f25fc4
+DIST firefox-115.6.0esr-hr.xpi 531643 BLAKE2B
f14a0c3f56b914d486c783bca63b48bf656a800917b0972738c37190ac72d00f2f5ec40ba43d222cabf30336d33bfe17841988fb10135bc4a9ef6893ec931f59
SHA512
c7493db92c6153830bfe35dd25f3db5574b2c2f96b0a71c4c209f7ebfc3ee80a4195e8c7441c0c4c2af1e9463a445c795c628da1b5d78cde8567cc2d880cd0d0
+DIST firefox-115.6.0esr-hsb.xpi 585520 BLAKE2B
8ad458ad54af91fdc87c94932356718ca90200ef5796cc41f4b850fea469884742ad84cf02527c2b32d3188084f096da9541aae2db577ba3db60f161a91839bb
SHA512
74f817eaffe58c5c09301886914dd8c163745e51832ff5f14789b5f4f32db81d01bdc6470cc1fe49d42996ac56b82e04b3fbf7638f482484c865fcd09d849694
+DIST firefox-115.6.0esr-hu.xpi 588972 BLAKE2B
8ae6c42062d7e5a26d603230104de4c71d8482cba41a92381565664a248b0b8b4cb662be31cfe2e8f94749d0f226e30be69c7225135f0f261132d53645297fb0
SHA512
686daf1db39c4686e9f097101cd903ee3e3e9bdd670c9501842fe1ace1a0abf4496dcb7fed77cfb2b692458ebb6cdae685b568ce395912cc34e1b87d5e5cad78
+DIST firefox-115.6.0esr-hy-AM.xpi 579201 BLAKE2B
59a340de68d7a2b92af1aeadf80173cda398003ca3e3333ce614d780de976f64a68c6dda55fc6da453cb084dcaef75ed5ee77e5cc61dc477f13c7ae582c8d8b1
SHA512
2c741d133d39e196547b88e74d8f9020f2faa3bc246df298c6e05ae4c26f340e561aaf021b3aabc5ebec257637ab5737939fbdc6f3748ec3892c7bff6b87218f
+DIST firefox-115.6.0esr-ia.xpi 553078 BLAKE2B
920b8744c07d3a0b618871cfc8be749c7b8cc8c06f1d95777e8135d11144c477ee9e58b5fde8966d9cef71820c0e600a2a0f3b0adaee7eb4716ade5797c6bcef
SHA512
03506bc355d0815888019e46d2cf28121adee08728eff8180153ce9db3e814d438af3913ac90ca0b076c85d336171113f6445420e276a2e6a76060a3a3f59478
+DIST firefox-115.6.0esr-id.xpi 537751 BLAKE2B
2a214ad1e9fad564fceb4b32f63b871c5171347a5a25f3b52f4c7a3ef30e798071d5ca1dd0db98b35e5590b3411fbc831f32d491129dab60eac1ca641c15d931
SHA512
ccc46161111dc7991b85570bf2db9c6091f18fe55b16884b180f0eac90a29c0acb95ce5a714015c57363befafad1dcfd8ddad508b589f2a2950189e931070ddc
+DIST firefox-115.6.0esr-is.xpi 560803 BLAKE2B
86b1d5e8525478ee0cdbbca0cf24e81bc06f6be082b1136e215f1104cc6f68a7804eb49ced4e618f27a2461a72b2edf58164acdd6f5d193172505d995644540b
SHA512
40ff16466839bf9e6183ad08c864182ce874cef7e1e072cc2442ed3f20ba87a22ca934eb1777125bedb4e56a9a8a24544537d414377492e0411a5133e251b1bc
+DIST firefox-115.6.0esr-it.xpi 507477 BLAKE2B
ca01a0b8305d15145ab93314f3eeeaaebb80a78969548ed90699650bd3fcac4d61a236dd38cdd27509c248cccdf7d205fa6eb292b74678b568d6ace4314dcac5
SHA512
4bff21dfe1f2af95994adf237db30922b0a9cd09694f1aa85095c48184f7d6bdcb43946e324ff3d3fe986cf8417b6a11086e28263f358fcc094ddd684308d213
+DIST firefox-115.6.0esr-ja.xpi 634406 BLAKE2B
d5a208de68de9ca86952fabe5c7445a72c4305745aeb291ebb36826ca689609357473b96bbdffd67e403b73a31a1212b0dde59d386cc03493ec103569269700d
SHA512
4731de18cb422a4957632d8a0a4939be05c592e134cd8724e4d14823ecafd458c8f89b2cce14d21eeb204ebe09132c00189bac3c52b0e9b33782f53bf445132b
+DIST firefox-115.6.0esr-ka.xpi 610755 BLAKE2B
ba16ba5acf0e958d26d7ff0de422ed350505abc070db4f1e3bc3b9a9413bbdb2e087fa91e76e71c4424c46830380244ef923c11223f9aeefb19154b35cacf174
SHA512
c861b0ade357d4f32aabc82bd3c11ac9397c1fe7039153c599958045e4f68bac86426c695548b2c1d360580cb228a8a8c8968fedd2348f6e7cb966df57faeb2c
+DIST firefox-115.6.0esr-kab.xpi 562655 BLAKE2B
9ae760317c4aa734b7343e05a60737546bb268e57686073729c8f6071c2437a69e888b74c42c0bbda25696a6ca2afffb6e93c313996f091e413b814a2f20e0bf
SHA512
c377d0403fc4285009b12d37a9a675b51ab77ec978e90d4eaf94a050dfbb2fd110f532460cf7c11aa09802770a3ba3e8dd116493559ce155ba4826f0a3727176
+DIST firefox-115.6.0esr-kk.xpi 639131 BLAKE2B
55ac956937beb1b0437020f05ed59c813af6ab38eaaa6a1f8c5a724a4ccc10f0fa6156bb7e7f76c076d774dd28c4b5dac2cc5f4ee03685ea711a5850c02d87af
SHA512
8eabea694b73d374d5d88e5fa6bbd97f02c4ae694b618c6aae990817c2d5643d3ee3162c5dd8aa9404ac8561f2ade61da0bfcdf7b9571ec7e50d0949eb25e20f
+DIST firefox-115.6.0esr-km.xpi 508116 BLAKE2B
d052a48a702183a254430ea3d57775399b73b964515f4924316a13a5b18c37a4957b9b49137c0d41b7a58a184645d17abc9fdf0828a887191ab86d63e02be825
SHA512
309a68903e6c1d70f6950927f548963aa80fd1b6af049f686cb3c03f6cea39c5550ef395300fde06cb380283b44c2de5e1c93506d51fe61be913f2d2b510b34a
+DIST firefox-115.6.0esr-kn.xpi 473773 BLAKE2B
16cf10326506ca01e6887583c742b0ee1bc5b04ab412a8e3bff18106664efa5ee082181e1ed2de628da4c1c3c3d1de2d45d7e9f957e4e76430010f494fa97d30
SHA512
3100fab88ae66f0045c43203f22c98ab97ba66185f78f2d136f8d5c11b8be9823f35a26d54dda59a9bb47a08010268d9eb8e11ddd2ad641bcbfcca97b4ce037e
+DIST firefox-115.6.0esr-ko.xpi 600385 BLAKE2B
675d245159ed767e59bfc3bfb9090fc65d55d613a811754f2f99492ba1df7aa0e2f2148f63070c007e61de0bbf5fc6485d4567c569fb7a4ea60c9f3a1538497b
SHA512
7c6505e1300d8b53c87b279192a080425308fd159b43554dfada62ab28a86ba06cc216279fccf6a396578e77899da23afdc7e6c3373aea21766005520baaf3c4
+DIST firefox-115.6.0esr-lij.xpi 463745 BLAKE2B
4d5143e887086cd0155d5560b034a51397a572c4f9336dd37cc3237fe1bfd953cf638bfa2c1b8cc31c8e95b5d8c07c3a97e1dcffa59b8af76d95e946c29a4060
SHA512
511c66a3ff54224f39b2cbce7cf0544c2cca226bf1e07e17de8aec6b76a6ec20bd9b1625fadd5af6483b96d67993446acc260390d86c5b4cb2ea5507e9547ee7
+DIST firefox-115.6.0esr-lt.xpi 548297 BLAKE2B
54d8804129d6a9b817c06713aac782bbacb48b8eb3e52b6f2f06473604aba5ef95d03d3268c23d7dc8916c5f6790714cb84b89969c66777f7d705beb520cf493
SHA512
5eef8b4de36d9db0940b021822bd70210e4089c433f16ddb7ad29af77a2eeb5f645cc605c636c7203f5343de12c38918d43c24163e764293070a0d4824fbab95
+DIST firefox-115.6.0esr-lv.xpi 450742 BLAKE2B
5116427acf7fbd8ae7a941563554388180435ef198d1bd929582af06c2cc1aa785ebc6ca0fd4d1d4ad1d308f40a780bb501eb23cacb0abbbcc966b066157106b
SHA512
bde55c2fbf6f08d964a839cfa81d0d2fa9705efb22cbefa75839fafab39f13a6ed6e9e453696fd1f834bf0220a3c479a5b5bf60b1b2bdc52896608b8da21c3e6
+DIST firefox-115.6.0esr-mk.xpi 470110 BLAKE2B
c7020f5b064f939f5ba91245a8d2f03b48f6f9edbc8d52dff531b5b1591a3398a17ec1a7fc4e7ec7c7b9bf0d09bc6dc46bf539f1688c5a76042a3d3e5955cad7
SHA512
d66154990f27779dd2125c901d83a16a0c39576c2f16fa008c2e566f4fe047e99084374b6b60968bb8f87f1eb444dc37fcb32f0346eb6f5ea5d7b47612085c64
+DIST firefox-115.6.0esr-mr.xpi 510472 BLAKE2B
55d378194d4b298933da0f7419408147b345b4b1524193f97468a8f2d4b28b6396264dc3b370aeada302117bf6c80695ad73a421d3c64e0155936c2e12b78a86
SHA512
f2b5ce0974428c5970713b181fab996f01f99980b7dc1ee88b3220cef937cf494b1d5e2e947ddcfc7adf747fcecada0c6a23f9f4a3bafd893a906eeab23d1dd7
+DIST firefox-115.6.0esr-ms.xpi 431287 BLAKE2B
98f1e145105a4aeefa66895627822d1837d5da2977c518de78e44fa1fb46e53c2ffdbfa7ed46a92173c2a02a0a60f8b54930c54d212e88aa33a66655df9299b8
SHA512
5390b6212777f1b20b124cc94638faf745e3eeb2d827a12e49318bf3d879631a88a4160cf246589f9cc4f60a036f23380ae9375849c6401a528024f666c68cdf
+DIST firefox-115.6.0esr-my.xpi 493661 BLAKE2B
e4d6648557431cdad09d904c1962319a6cb5de8681a2cb218ee6658a9dfa83ba228bd7914ebccb47eb1eef747f9f13e22458468519baa8bea2cdc86c125250b1
SHA512
5bc748bb75d6a75493d4307f8389f5c3b4fe983e02eb33be4192180427f27055c514860d8c3d4d6fed05a005f57cae24c88ad3402f170769ef9308668de529b0
+DIST firefox-115.6.0esr-nb-NO.xpi 548972 BLAKE2B
6fdf475ed56bf17eab3698cfe8999a54683b44635b00cababc8528e13666dac0567376c5eefaa5b5ac3bb754b68379e90b83af680b0d125ec0416cd67e18d3c8
SHA512
400f18d316de2ebcf83967bc6d88412f4e83d794b6f692c0151c32e650c7842ec47d6803bc92913930f64c03fa43ec56a371bc20d1715554436887f699dde2b2
+DIST firefox-115.6.0esr-ne-NP.xpi 469000 BLAKE2B
6ee2a3e95faecd38ec8181c723759798cdc83262837640e284dbe572de719763f66a9f1945f93cfaf0e8a01e21277fb99c6ea221ab2e13707f90e4e0d3441f15
SHA512
800414a273627534dd8b8190028a528d2fe03fc8bb4566338c15dc4f49dd5d1a35a82adf569b47d034ccafd380caff8e7fd7cfc39a66f11c4eb2879db3d4ad98
+DIST firefox-115.6.0esr-nl.xpi 559193 BLAKE2B
e3927d0cf53dca6b592401a9af06b6d07de8b539a3c8a87aec142c1a35e0900524e0e645593f4736fdea752ac456af041905f3f50c8cf252511af42047b535f5
SHA512
5c2d03ee8f76b4964946a74fcdace134c9db43fd9919b9d67099088f86751a9187ffbeb4b69f1b77b0ed520d2ed61fd69e422339ae3338c2331f5d401d3387aa
+DIST firefox-115.6.0esr-nn-NO.xpi 551975 BLAKE2B
de6a56d4e7cc367d28653e6131bd29ae252d36132411d6bc9a3d47feb32396a7da9e4f11ce1955f3e1b1ff9701584f4080092a59be758768acc1e8341c2351f9
SHA512
c1d652df59377aa7e7fce3904d5d3a9fb3fde3d24102c8c5c2c9d318ce3d1869689a034b3e1fc12485b62d955aa72568a72cf104b1e7b071929251861046cdcf
+DIST firefox-115.6.0esr-oc.xpi 572146 BLAKE2B
63e693d14304e7f8824b54f65cd4438c25f631972c996dcdb23f8ed6d38bc336b73566135fe03d7fb63aab980c0f6c48e669e0800820003ca77d961697d4eefc
SHA512
dab5083c65221afab83c2333f91a9276d5eb66c0fabe0b0ca8d487a8b3d1b79727dc6da32f6a80657bd77f74ad2d2823c7c4692e55e25e95415db00e3c11f286
+DIST firefox-115.6.0esr-pa-IN.xpi 626122 BLAKE2B
f56f63f5a7771acf4732e99ade35913a48312d733363d960e6050ec18360cb9ab10a4fe2a716ff322b94d52aef7073c8c2809c85d2a80062c1c0f1c7a4ed5df5
SHA512
02d5b6026c8a3f2267df2e5a543ee8f5b5598a640f8e7128a2cb8d51c8acb59001e943f3af19129e6974be19840a7ba8d70abaecec616cd7f99c83ada1466076
+DIST firefox-115.6.0esr-pl.xpi 579836 BLAKE2B
e150d4d91e7baee2a6fe4bb08ad843ab983f3f932ad8f05ce7134a9f149c99d45f79eb430d542bbb9bd70fe0923bbc04380eadf32a5734a06806764eb20331b4
SHA512
b39d91b44c86fff07c540d616dbef2c3462f6ecfb1b0401a22ff808f0ecca376500c8035fdeb452264a197fc63d63a824587de482ece98b6ab15da815828d27c
+DIST firefox-115.6.0esr-pt-BR.xpi 563949 BLAKE2B
0fe4edccc656cc014ede4df9d757632fec9135b5bd18f52b1a2baeea5f30aaaffeb5f65c303795eb7912297e2af94982663b37635c047d93b3817192e0da0379
SHA512
314ca87ca59def629b24ed041c86880a3c00c3dd153d43a477e9eaa1f7978bb7493741c8c415dae1b98a84b12c2d74ea39e41ef620238466bf7c94b02dee0b7e
+DIST firefox-115.6.0esr-pt-PT.xpi 569050 BLAKE2B
a6cb13e02f9d09d7b231dbdb12f4bc80f8223052464638e78ddd46cbfe3ca42315e240a508b0cab028e4ad4709786008b451608a2816d78ae9fc399ffcdb35d7
SHA512
4cfb0ce083bc483018a4c333364c89266ad004e84fc616a273b891412c674d91678c2a3e67e6aad7ef719033bd4e8501d091618d355d1079656e2e724c50466b
+DIST firefox-115.6.0esr-rm.xpi 558671 BLAKE2B
8b726bf38ec4f55bcab40a61796951c23376a53711e76d5b5d9d1fada292063e482f4c2e70cd2889be9f33eadf3d3cf9814bf8884f40f3de0d80db5c69f7c1fa
SHA512
67bf28a589fbabf3a84734a3a1249903e83892d6881ba50dad6716f65f8bc58e6b1ec025c46d1c266364bbbbbee2de1cb0ef602f40576f7bd45c671c77da09d1
+DIST firefox-115.6.0esr-ro.xpi 524807 BLAKE2B
0d10adc9ac9d093337ee81c61bb4a1858030e1556b3825777cb118288dc6f12d527996f2bc04627f4bad4c461e27e9c8353dbce5b10d6fd889ef277c63d761bb
SHA512
6432bda4e5b3e19f5388cbd45d6a6e65d96d815c18c38c0084d37720e99a84fcd5a475a4de569a9b70b367a603276a36b79cd4e35382128c132feced70fad74d
+DIST firefox-115.6.0esr-ru.xpi 651424 BLAKE2B
8486ce2b04bf8a0c293fb87c8dc8faf39a5d610fd60fb6e9dddf8862226fa3286a65f68f6858093abed273bd51d1ee9baff78c8107954b99750c706739eec13c
SHA512
0dcdb611c8a5088f8929c54d0a52ea9a3498aaa912c91bc06c6fc1c9936c030124478a6eb8d6a9b27a27f3b88986e6a5b2b27075e3fd0a3af9e232b7da582685
+DIST firefox-115.6.0esr-sc.xpi 535156 BLAKE2B
0025cbfce7fa5f19d9774ff4217022041c9adaeb91fb8e33406b564aec4dd4103c3342aedb319d875bd7e1bcb3adae467baa1b86eda07a30d659256d6a173420
SHA512
5a8a1007194c2e0485745632e7e2129603226f4d80cfba52fd31cadeac90e3a51e2e728b80204e8985f1352f90ab92478fc0bfe6a913d6483b6f58a258ad4161
+DIST firefox-115.6.0esr-sco.xpi 489681 BLAKE2B
f13d6285c686f8181c4686cb18ff747032a83407dcb587845497444ee95c871e0bda40ea52843a9620db3a64f18cc1d0bbaab0a246c2c4cc981ae2a816d8f7a2
SHA512
c847050b4d958e04a9ee993c038bd40a12d3bd01c8eafaa84e49fc0f167c378a4b8ac20f5a8436939c1b51c39450262dd5f4499b7c06942e994efc6d5c54cc3c
+DIST firefox-115.6.0esr-si.xpi 569010 BLAKE2B
521ab3bf106ce6d3a30bde7bdf7d25cbbb1a040dc4fd4f1e38e6dbbdc71c1403f8ebf6b21d7e57de94a62574d79ddf6e2f81fe7dba4b4a1a21b17e04844dfa98
SHA512
837795f637b33b8c26e54614528fb34384f171acabc1b5345fec98446e2c24b5e4a6bb317a7e3cfb2db086278a0da19efddb8e987a631368c02f4a569c475ffd
+DIST firefox-115.6.0esr-sk.xpi 589731 BLAKE2B
ac59928ae58ea5162453f672d8bf62172608ae81ad8aa5cbca3253f795daff417f3665da6a486c17f717e3132edebf904f3e3cb070c05b685907f1e8b37f2e13
SHA512
0d30e2b13a9bbca81f7ae94ac52d0f606f5a7235c088e0a3768980c310b8ba064121e2ac8e89f09a610fed558e6b668c7b4cff2cae24644836bbd315b5c92f0c
+DIST firefox-115.6.0esr-sl.xpi 562529 BLAKE2B
b475d48b2a168ab21c207a15e79870e53fc57663f5dc61c46f8966170231b02fb265b072af6ba3b832ac4d756a3f079aca927eebe04258b4e01aaead7f5d5288
SHA512
686e26b46f3a044f17497b37e04072a3e1837ce58fbeb9b106287ecb97ee9749d5dc333aedd68846efda186b82081d69f402b4dac615c8d421bcf974068a86d9
+DIST firefox-115.6.0esr-son.xpi 400985 BLAKE2B
a3387de1f8be985b6e1d4b28ab68b70cf89f9eb92faf4080a58ebda840cade16d724a9b462acefbcf0e89a8b4cc7a68eb20616c7fc1941a7912d07ddfd441b74
SHA512
b9240d33b3182812d05c6c5a653a1ba10a42cb266bdd97a2df6e2103ac175a2075df07e94c6479a234bfe32da8e7d8ecda954d871af93e535418595030e844f9
+DIST firefox-115.6.0esr-sq.xpi 564471 BLAKE2B
8e2403c3cef02898bcc82ab7b2a40ce343917be79d2353f6eb4c85fe0693453b53b290b59cf545e3c246a1307ee4ecc446504d4fd2c3253c4f38b94e1fd2105a
SHA512
28f0ac6a69e0bea616ec835bad49280ee896424842b91eeaa20f04f024a9c32ff90907ec1769e9e05d660601c299e4eb7fc8ccfcb2632e5e22a9d47b81cfa873
+DIST firefox-115.6.0esr-sr.xpi 614009 BLAKE2B
58ba558760735cad302e9b413ff9e91f9e78426b97d6a2adcf9c9da899185790ee8d748e0966b8f32f0fe6ed20149c68bcb4e0f3063409b77e5faf9ac6f31c20
SHA512
6007d586434f01386a3d5a8a07248df105c9aac93500bfe8b7324d674714ee71039bf70b0a4fa412bbe41515114fc24490bbfdb649d5f9163bfa9847471f4a49
+DIST firefox-115.6.0esr-sv-SE.xpi 560565 BLAKE2B
c218fb61a0491c27d1692ebdfe6ff0d0f3e240c05d2f1249522e3800999c71f87759a8c35b790c02c2098a5c8560e6a95e99d0e8dd2b36716f2a805e89f93dbe
SHA512
12510fd431a62ed7ad8c690289b914a26a3f0d8ae05d8a965e0b2471d968bbe73ae16a0cb634550d0ea33a7fc92b049bf997fde00f3a52cd7791114b785d1458
+DIST firefox-115.6.0esr-szl.xpi 504136 BLAKE2B
1adca38128d651aa3c0e1be3f65c907dc84a6f90fac3ac0af840d98be4a6c1f242426966e5770c846c7f784c86a5044945e381aa16483b140f21ef94e16c83c7
SHA512
392d28ce6220a2e200ff44cd910c904e4d7ba4e95eec739bf3f035d851031a1b996cde94c3c5123f4fc80dc39c24aad2a60a8395d285598d0af7087bdeece002
+DIST firefox-115.6.0esr-ta.xpi 488870 BLAKE2B
4f905bdba77dfb10e6ec35b601a7a25c9939b0750d4067875d4525326392fb6fd42846a2ec34a6eac7d7f1f8fbe54bf28839cc40a627cb38a21a6054f530f457
SHA512
2695504cbb12b409e8a72c4e1f07f732ae8c4855519e1e4fbc441326266afe0ac0681856a986d969f727c2fa78bc7930236f0f73b1d8aba884945a828a122534
+DIST firefox-115.6.0esr-te.xpi 536169 BLAKE2B
fe1ca7de3ca5849fce7a9a47db44610e1588721574c5e4b62f8c432591d6e0bae29481e24306e8a2619cc8272802b8f99e1861e1ba52cef0e664905bf2fb04de
SHA512
9a407f3565519432619c985b25a109c78381a0b668375f643db5fc29899e07a0c3c3d3f22349e3422906cce6f8a9fb9223620a1f1dcc1b0d9d3ec41311f314fe
+DIST firefox-115.6.0esr-th.xpi 632046 BLAKE2B
b89c310dd78421c663de50920198ac6743ab6840815317f4a8cbcfacff85911a568b080ab4b164baf13f47229a77eedef74c461251e2dbb5ce44793d1adc131c
SHA512
91adc1e27ceae7a22ecab6742cccbc8a5cd6ecd7abb5ee92da612c1ecaf5251c081fe5f71f104149fb9a37a1055b9b408c6fb4fa6d85db94ae0695beb7de75b9
+DIST firefox-115.6.0esr-tl.xpi 511430 BLAKE2B
5705da84fe50a1fe4d5c53155bf0ca0e959db44a9a376b390f16676b3fd560b5ced73918c87404f8ec824520db3e542728f2e1a265fa433cafae21bcb899a502
SHA512
850fef1316107edafcc8a1a815bac82fadda576900eb8443d97492a8a120dbc837cf6aa0d1b013331aaaff03c6ef33606a90d24edde306b1ec2d702f39feddd6
+DIST firefox-115.6.0esr-tr.xpi 573253 BLAKE2B
8e45491d72b78e1eb2953565db84145a33e734514e377fc7527f4baa3fb90c7f11d4ec386621ad41157ec6aef7f08296ad4e948032da5f354b6128bf7dc1c03d
SHA512
c268b468901fcc540ad35efdc977705a7deca0f76c212a55acb46b9ce2c51ebfa0e8b8860b5aac4829e3653d27e36fd0933bb421d7e4950ad685413341937933
+DIST firefox-115.6.0esr-trs.xpi 479677 BLAKE2B
c5af0b2668e9dc9ae7a9fe7f51e0955d86f9049324fd2e78e3af942a8c408750466101c7598bc9a34587ce802f330c11b8786a65a9dc0c0a324d6ae36db50a78
SHA512
16dc6e0675615e2507d969aba73b42c1270367ac6b8565c8aa44ff237e1fed1d13d12332e0567a9180bcd5d3d73a6eba0eb8fe25186de4be259c5b2c3531193f
+DIST firefox-115.6.0esr-uk.xpi 645035 BLAKE2B
f5dffc6cc139199be8af87c168eb6234c189501f5af82fef65fb56d86cb19c297664d7c7834f403da537af1c7433a5dbf5e936c095c25dbdf9a0b685b3ac0b36
SHA512
ac14c8c47bad2bee53ca3e2c3f5f1b039c1ef974072e2ea38d35b3799725d3d49db63bb4540f2d4318ad1422dc5b99bc3c9574cba4634a727f433b06355f4f80
+DIST firefox-115.6.0esr-ur.xpi 538802 BLAKE2B
780f36faea9969393479eb2ea523a435ae7922a09def20ffdc98ca11d96d6ef2542c194c2625f240206998d3b5c201e61aa71fa3dabc6f5bba50edf31db094ff
SHA512
e41753f455bc7fda64b59656303a9e2ecd45c6acfcc6db48a3621e387de6a262d0eb9542c71ba7b52edc8eb62c4eeb47a43bf20b84d7042f176c77cb74b96235
+DIST firefox-115.6.0esr-uz.xpi 461757 BLAKE2B
7c9402a60f710c117a3c78f69c9fde421623b299140ff6ddde09d5886b90794378c10a1e61efc516930d6887ab24e4d91ab668fc61b5c4da215abefa072f8187
SHA512
ffcc03f0c804eef064516dec9b7493a5121de2e44fb8568af7366c87f9340f7c345cdea55a67f48d7b6f2aa3e40966a3a89e626593e7c70393432fb6241e6f5e
+DIST firefox-115.6.0esr-vi.xpi 595546 BLAKE2B
0b1ff8538882d74765558b4d10d666a1f66ba3573aa55603b02f2c271bac0442a179df9c54707eaeb25ec77b9cc2bb516bf4994c92c5dc04973b94af3176e017
SHA512
832d3e8df159fe64409b7ff0c03c22bd23e4fac8ed13fe8b4e78b9f4e910c65c2a738d004fa9c70156565e0313cae27ec73252cefff4fbb30a1768cf344d0223
+DIST firefox-115.6.0esr-xh.xpi 402437 BLAKE2B
e1f78ea102bc789819c80821270ed7d814f2b445de38f345fa3e9383ee1d7d734cf625360b9e5127ca361ebbb8f6980ed381bf5611066c705b0fd520e59af861
SHA512
400f2f0bc788511099eb818abea5a3f2492fa3b9462db178d62a4fc8f1973e1a51f96b68c0711f2251839541abbb8e62a37b54f7224e0f3927635c5a64267e72
+DIST firefox-115.6.0esr-zh-CN.xpi 595487 BLAKE2B
0e60ffd8eff1d52af2333fd596498bded0764531caedac0c7412af12c78cc45dd120a7a4c85b6ae5f6a9de27f8173f4be3e6ccf89b5399d8bc2ead3af7c31ea7
SHA512
75a46e891393f74ff09d35f2e46b58e9972a1f5b5152b26a68c975e059621e4cd652e5231ac31505ab9bdd2acc46f129bd21b762b11533e22f8e94e4e496b58b
+DIST firefox-115.6.0esr-zh-TW.xpi 597820 BLAKE2B
2e2e85eb4292c1b95486f4487de466c47e58f8c3d1fd43eddf77432044c7a3a85f5c1d33b655256107540a0e3d3368c28eb3a676249ff49a84ddb64d705b77f8
SHA512
d70aae9cbc4b2b83f37bdee66523309ed2961a6c203c3b7fa55658cee0e96555170dd5224b695f5a7e72b1cdac244b28b07a0827618674e40635de61d7e41cdc
+DIST firefox-115.6.0esr.source.tar.xz 511017732 BLAKE2B
80ab9a45f9170265751a913e789a54acd0503846a77e43fbfe181c3d5846d5945f5c4f4bf3a35231e250e15377f8d4abd0a01617b3a3b0f94197450300111360
SHA512
9fe23b5f715e35b788d9c8fefe6b7be8785789b4ae6f5649b05a54221934101c6e1b9580319145f9bcaebfbd00fcc33e97afb63f7d57ba102a6b02c874d324af
DIST firefox-115esr-patches-07.tar.xz 15204 BLAKE2B
d5c33ab66a3cab0f1d7b520b5cedd17a8d41260f560eb7624f19f9e7126810e5888e5e1af584661561e82c2dfb818d2c6c7906062f9ac7ad117cb09052163594
SHA512
c948c32766daed22c77d20e0ef3f499163e03adf2a6329b04a60ae9f0b377ad6c85fde3d3bee8c5b11ce7cb19b9e03836a60699af3ed074c4ee8530b63c390f2
DIST firefox-115esr-patches-08.tar.xz 15912 BLAKE2B
3f94deb17920672ad2184e813bd38e390ecaa50bfc6e00973db717bc56a5adb4f096224cc366da525db25aaa3d198d57716bcb765ddc906783532864e23dd8d4
SHA512
4474fbed14b2c4fac03d82f4b37849a69dbdd61fc15f01cefa373eb8a64a692f5a584247acdf7c349ab6965225c3cd47be3fc4523f93db5299680e2a22e94d94
DIST firefox-118-patches-04.tar.xz 49008 BLAKE2B
2f0ed88a710ee43464c58f95998b78db25104575c0739821cf043f38719ca7d948cfdbe22a08dcc88e721a1c9124de3ac974ff8500beffe1355bc0b450943ef1
SHA512
12dfc5f0bf4d3c2e3eeb21199e1a5082a51faca43d3d3910835651f9f64b54ef5f15e749efe399ea3720b46d614964435ee30d3ee7e8d208bb4f4b4633f76db3
diff --git a/www-client/firefox/firefox-115.6.0.ebuild
b/www-client/firefox/firefox-115.6.0.ebuild
new file mode 100644
index 000000000000..d3c35c49fd04
--- /dev/null
+++ b/www-client/firefox/firefox-115.6.0.ebuild
@@ -0,0 +1,1384 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-115esr-patches-08.tar.xz"
+
+LLVM_MAX_SLOT=17
+
+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}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz ->
${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+SLOT="esr"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+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: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-1.65 )
+ 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-libs/wlroots-0.15.1-r1[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
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# 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! 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'
+
+ # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman
doesn't work
+ addpredict /dev/dri
+ 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
+
+ # May need a wider addpredict when using wayland+pgo.
+ addpredict /dev/dri
+
+ # Allow access to GPU during PGO run
+ local ati_cards mesa_cards nvidia_cards render_cards
+ shopt -s nullglob
+
+ ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if [[ -n "${ati_cards}" ]] ; then
+ addpredict "${ati_cards}"
+ fi
+
+ mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if [[ -n "${mesa_cards}" ]] ; then
+ addpredict "${mesa_cards}"
+ fi
+
+ nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+ if [[ -n "${nvidia_cards}" ]] ; then
+ addpredict "${nvidia_cards}"
+ fi
+
+ render_cards=$(echo -n /dev/dri/renderD128* | sed 's/
/:/g')
+ if [[ -n "${render_cards}" ]] ; then
+ addpredict "${render_cards}"
+ fi
+
+ shopt -u nullglob
+ 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
+
+ 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)"
+
+ # 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
+
+ # 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
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm',
'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using
Clang' --disable-elf-hack
+ fi
+ fi
+
+ if use elibc_musl && use arm64 ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using
musl/arm64' --disable-elf-hack
+ 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
+}