summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-11-21 17:12:48 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-11-21 17:12:48 +0000
commit46de1a2f454a1465026d681f5dfe8db7dde5b126 (patch)
tree6871da55d74dda8a63f87755749c25c5a439ecbe /www-client/firefox
parent5b68b3c83eeba9cd1f69f8bce1194794975b84d3 (diff)
gentoo auto-resync : 21:11:2023 - 17:12:48
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest101
-rw-r--r--www-client/firefox/firefox-120.0.ebuild1438
2 files changed, 1539 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index d8aae52ab654..0913748bdbf7 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -412,8 +412,109 @@ DIST firefox-119.0.1-zh-CN.xpi 609155 BLAKE2B 2e7358f866834f6991d54b40872234baac
DIST firefox-119.0.1-zh-TW.xpi 612610 BLAKE2B 1b98a3492e14867a8ee8bc3449465af7f365c3be6b092857bdc83045540b1b28d3c9bb864d395bfd50f273ee9a21a7acc583361939b5d6a3a233529ff3d5536d SHA512 a510a590bc457d1ea70392bfdb3e7bc36ba43b379361d547ca55eadd9d44a6ce59c24cf01667df6e014bb164f0333ae728a1ecf9939065be71923cc22fb83c52
DIST firefox-119.0.1.source.tar.xz 524717896 BLAKE2B b5a2ceadf05692d482dc8114634902d33c32c908e60394bf2e6b38afd8d83830d40c83afec28f7257e269595196140c0a8a1f345232f29c649a202d51ca39c68 SHA512 4f3201aee10e7b831cc384b2c7430a24f4de81f703115a917f9eb7acecb2ae1725f11af56c41257a056bb9d7a4d749d590cc9baffcd6e13852be45aaecf8163a
DIST firefox-119.0.source.tar.xz 523093112 BLAKE2B 4fc9852839a65b05c0861eea1d3c99aa9ef8eef02ba02dab15720d0da62b219f0fc2c4bdda1741dcf0eed316b88f032580c7cf433c4d09170b5c8e19e8ad4e1d SHA512 4b555c444add36567fd538752b122f227cf78bb70b72c79e6d8ae8d9c2e61c3cdacfae79c37970753b8b5c7716b28c686071eb7b551773c30a76852f3550676c
+DIST firefox-120.0-ach.xpi 452406 BLAKE2B c7d90c68f9533e0dde831575026061301a0359ae1b07dcc09d836216e75f42c485bb82a67376e2ed910ea46091efdacf8adb6fcb1d5a0dd1f7a85a140496bbc6 SHA512 ae6035a73d48e7f42627f180825765e7194e6afc1dd1d6ca1b626e472e6ac570d0dcffb19e69623a9dc4639a2969270b91b75948cc62308dfdc2b455a828b443
+DIST firefox-120.0-af.xpi 408350 BLAKE2B e841d6e1e11d2aa0747d6d1bab06eed8fd64942fa72e9661e47847c4f78d882ac3b07c497b14a0ca334742e07ff79278fd98b49cb38db06e8d91ff9971a320bf SHA512 721f33a479c528551bb8dcb9dea3cd5f6bf9be7be1c5851b3b6e7814104ab66aaa5e1103d25787eae4c94a846ab2d13da5f6b3d3b880e5d5b2cae4ed590adb6a
+DIST firefox-120.0-an.xpi 493113 BLAKE2B 438187930e8687fe7d90bde56112a7512b57292b224f3784a8a715fe28ccf2a29e2bc800fe252ccd180b6c1e0e2eb114cac2dfc091314134e9ba3f32c2fcb2a7 SHA512 4bf1bf696315bb39b0e0eb0325df1e55ec7bfc6ebc32671c30807e10b71f10405fae6e64a5b60f5ceba234c9fe3cdb4411080c0da6d63f8888f9e0b53c7a2ac0
+DIST firefox-120.0-ar.xpi 583117 BLAKE2B cb9a2aa3343a902f971a777d8f86ff8439025217b269a564d7858ea8342bc13decf1203329b26d528f0fb2b15d6ab30df9ff412faaa15bb96f23748a73702e44 SHA512 d4f639551959dc56e014f4d83b24b521eebd78cdd2151292091af38a69d83527b2a15a8d46ce3f05ee23ec035b3e00ada1955b81d8eb25c83e4c6d1cb9da9a08
+DIST firefox-120.0-ast.xpi 485205 BLAKE2B 9bac8cd48b0e7e6862a96a50ddf8aea0aec61451c1dd6fe17dd411b1ec32f56ca33462d20d8c0e8b239fff99508b2fe61ae37402ae7c01d9b5823e6f5378ff48 SHA512 a8e015911a8e627f1ad14513292b133cbf81f08abbf09630eb98d7adacfd649fea0872405858e34d22efd629c5132b09dadd4ed408f1edf3557c1cfba6ab4fa7
+DIST firefox-120.0-az.xpi 478982 BLAKE2B e8f587cd8803f1c799ec2005da19bf1ab987ba5e9af322ee8ad99a848332fa214e1acb19002e680bc387461f848d765e5f13fdf6916cf01cbc8f3c8119b66ddb SHA512 9978735bb2ae30d361c6af39eaad52cf158fb5f488974aa7df60815c31b4fe176fce9b761f8209fb933a3ec8afa4223a3f7736ddd079e796bc71b6a0873befd8
+DIST firefox-120.0-be.xpi 672593 BLAKE2B 2e9175a98a94ef61254d693e4a19f02116788f195ac33d271191b888d420e53100812b43b3aab154fbb77c8343474185ff1883b517ca8639d094526593945c4c SHA512 2e8c27425fd916da6b45c297ca2d2ff7b741e0abbce09476ab354eef403ff7230cf7bf52f03c086af4a19755bcc937f029ef5ab9d4eeaf55e4e57770b9aaff5f
+DIST firefox-120.0-bg.xpi 574997 BLAKE2B 21e758cd76b9a3d8614256cb86e542cd74634baf43623e9127adeccdca065965ac5ac872f62da8c0ab7710bf0c898b43b1a8419db4e233649852874fdf54929b SHA512 b774f3660fc7e31bf03d69cd79be7df3bc940cde74ee1683df11d18ac2c4c27ffac1fc64b706f952ed19e6e3f436e1cb7c3fd1e06744491bc38b8b585bc40e11
+DIST firefox-120.0-bn.xpi 569024 BLAKE2B 1d11fdf20d9eaf0e29953da0e038f9e11da8a508fff895bbab2b3578aa443b7b1aece1b6796befd4a110836e385f93b67bfb48c16c6e4de47b7e3d0b8844519f SHA512 b8c2580a6ee4a28d1205bac4b6897fcfecb1162769f0c41364494f20112aed0ba38e10ac756650a0d7429959a7aeece31e9ffd35cf4c2e5f99b29cb4e31a72df
+DIST firefox-120.0-br.xpi 554037 BLAKE2B e5c5118e057ec4e157e968b749dad23b1d8cd40f1a0d34006f3fddf44a2b9f370a32892894b44dd9f791757d3a3c70f4a317b6faff0014917fc6c6670fe20ee6 SHA512 61c6d1743d2ffeb180e8f1044a2b4f5213008c2e2a6a0897326fa5447ee196c11d590ae9f5ddb1457cf5b6b3fbbc33bef1bcbf7fee6ee9bcb51b3bb25a914e12
+DIST firefox-120.0-bs.xpi 448503 BLAKE2B f035af7ebf978f684f969d74324a53f6869ef1f1477dfc86d2bf7e5e521a79469a30d406861a5c5dacdb915c190a165a9891594b527455604596d5e982667dd9 SHA512 5c91bc974ce6c1524840b3128f506c96c24752831d7a593d602f9bd91ab106d86386751586177e655b68b8460f00ba784d44b05d14a678c1a3ca4dc239aba1d5
+DIST firefox-120.0-ca-valencia.xpi 532971 BLAKE2B 556d3f3002f1037b12792a217793e91440e936887b0a3f0fb41110654c310bb376ba88081455fc46ba542690236fcc5667e88a7299c6ced4c21e5dbaae2181c3 SHA512 7a9ec7e27bbfe1c8d08033590b193cc3311bc17e9cf9ec1bb8ea47a402d95429ef51552cc5d3a3a80f54a5fa8ffab2618327aa44b2d8799f883ce6b9f13761f7
+DIST firefox-120.0-ca.xpi 565169 BLAKE2B c72f458d04ca239b2d28f25f87c545dfaef7ef76a060d66f6e46bc5746563cbf653bb73e66a5ff8e265349da9340368125b06047585ad05065395cadb26793b4 SHA512 4d104c9f63bbfbf926a2577a21ad99597f3e72e2bf23d20c1693b54d4a9e25a445b8173758fc264901a4662e664e1b5dc21db6be0ae6bbd810992dfa4bffb989
+DIST firefox-120.0-cak.xpi 577836 BLAKE2B 867707f7a350fc1da4a2475fc5219ba96ff128a216adb961bedbe967b45a56e6a9e9bccdc55def824d6aaad33da5973b259e0756790eb9be0adf2357fe9ec762 SHA512 0775579984919c65236339092c97508b2694792194f1bbdc5bac1ae146be96ed9620eab588d54470ccffef1d60dd9290217e00d5c4d8a954b4cae339067445d8
+DIST firefox-120.0-cs.xpi 619090 BLAKE2B e7e1e73a75e80cba12da570018b93c85cd78ce7ef4238e3c93531b709e24892c87ddb4333c6a8d7054583cebeb296022b62abaead5027de0761b2d8bf6d9eb9c SHA512 bd1a10ef5517ac910c2b0180b231d386bc4392355440b2907e547f166413d6a1fdc4ee1ceee8a8570c978514e5c0db7beebbcedebc9216c1c393afe0e8c6d8b4
+DIST firefox-120.0-cy.xpi 586540 BLAKE2B 974da65434258e2f928a5f7682a3e2e8e06fc79cd432c375d8f58a616125a04f8346afe3fcb67d47aa88f104b0838068dfd3eea42ac565c3be7a0721672dfc5c SHA512 d8f25c76b0feb05cd23f6f536fadd851d9d812e4251d92bc8c183e92a7bc24e1880178f80e0d82988a0f4d7f432bf940ad607199b5b10461e7c5466b5f3359c2
+DIST firefox-120.0-da.xpi 575578 BLAKE2B 2ef7f4debd36c8b9e813bdff27cb3305c29ea62873ae8192f63e86adacce9aed1a5541fab29f5e6698371c298f6d6e003a562c334f125f1397d5118ef0f6d43e SHA512 a5e52283efe130b4b0326a30179858131945cfa8ad56d36d82e2e4c8979c0b6e23b87ea39ce340d0fc2fe33f684ed11b31a21ea6d68a7158e5f02eb6b0e2f9cd
+DIST firefox-120.0-de.xpi 596555 BLAKE2B 75da932d7072cfd2c8b1e6719b2bbb13b55e64024f14ed115c841576ece8fecb2abbfb5995855329e1bdf269888f06f154121228aa5168eb65bfc2b8ad170414 SHA512 6ecef5dc1f4146ce029c2b63419f9eebc09dcca2b4f0cc2815eb6a1cf126c266a5693eb7bd94165e2000f82a68429339d49d1bf588df386b28d52a94aa02c39f
+DIST firefox-120.0-dsb.xpi 611850 BLAKE2B fd4051a3c388ecef450150caa0af53c09ba5fbd5ff366ba31e270dee2f121081c6ef2d05efb3b34d393a5d5de6e81bb50e8ad197d64e6fa86b3d6ec952812b91 SHA512 91567ab56029076636440126baf1278bc8b25c7046f975e2964a8deb4a212d4c6062253d43d7f3b000c1c11d53f1298e5ebdcb17c63857ea90c9bc82b59c4926
+DIST firefox-120.0-el.xpi 689496 BLAKE2B 8f600525bd1c0742529156fd97abe23ff1e20dcc4aaab9e5b30ea9ad246364ffd67cb568db431446fe9ba18be9ba5c920ecdc01b3ea32fd6a734f12b2d8c6399 SHA512 faa148fc1b561bc20d7b52f3eec4ffd45dc2513abde2e5743eb2421a46a7699373ca7527974949c9c57d866c974739865fe2dd06d24810cde973d1bcdbec9bca
+DIST firefox-120.0-en-CA.xpi 546882 BLAKE2B 13c393a6adeee961a2e66d8afd49f400e169115e6bcb0a86956efe6b7e17fe5d3c6fd8be3c456032acb1883cd36193cb66abb02813a5692989ddc3d927eab231 SHA512 0e205047fcfc66842abf1043b2d54b39ab91a27df1a4074154f7190d3937cf83510291a033e5b504599b8c185c8862b50c1bed4d74583e9518315c39feb99078
+DIST firefox-120.0-en-GB.xpi 550564 BLAKE2B 8aa3287d99b2de81b0e2dfc37beb74c501cbf6d36802736af904b0cf1852ce00ac6e9ed7dd7edf920c0ef2848e4dcdfa7adf097734bcf23a854abf1811a6c384 SHA512 a7af406e68161f42aaea0fdb4132c5f9ec626dbd1f4f3331f812ab294035e1445ec7c6f06f3f41c3cdbebd836a9035d45a6d71613d90eaa684e48b33f2e2e4c9
+DIST firefox-120.0-eo.xpi 579374 BLAKE2B d90e97b10fa77c5f344fc65e9606308c834c92f15bbadfefb427a928ebd6b9b34fe669e6b55afb0056623497d991851d7cebdfb10050878dd370db61bf6e0808 SHA512 9efdbee1ed0dd128049b1497a43e66efefb987d6bbe5ea325a1a59150c7380f697962e71affbce0d0ef6ee3b51128c0eb3a1a8362c00e0ab9f97bb6c561fc46f
+DIST firefox-120.0-es-AR.xpi 590606 BLAKE2B 7bb9675f35150314b75a77efdc77842f097d9e2eef025475b68ef75e8c6e8d3d41f4f839beee0f6a0884fa2eaa5200dc0cd312a3843070c737f1d37ed9d42695 SHA512 1584f188eb6d35540a9a441dfca8abf0445a0f1bdc6ecd590378a49e2642fcfb2814131b8984ee643310a89aa358a180802c4b93f042ce0361a09b656a1d0392
+DIST firefox-120.0-es-CL.xpi 589730 BLAKE2B de129f9f700fd7d77679165ea9b668c4f909589d81f9bf492fd8c8c3b97b95318a00973c4e6e4c9984e19d8224634823ad462da66cdc7a627d2ab7dddf6b1729 SHA512 018d44f89b19f5237add5ace7fff4bffb7c6f8bd224a71f4a3ea2a18e4cf0d60512d390998aea242c52fe224a65c09c0a126110bd6df5ad9bf5a5851788766eb
+DIST firefox-120.0-es-ES.xpi 584305 BLAKE2B 26d829d75e75d595eff9656c5d9031de476c8e9c6e3b9dc870d72515db69bb9e048c942cc7a93587eeaf78fd8a8fa1984d3f50b54b75a41f34b07205f20f7631 SHA512 0c9faadc9301e55b29070021eec919e3b331410fb39a4650aea389d12a7d3820e6701cd206619ba6da0791ac934e3863b3948ce710e1df24421aa5aabaaa4f20
+DIST firefox-120.0-es-MX.xpi 576742 BLAKE2B 5235a82d8104358e5b4dc9d05f1067dcd5ffbea12e3bf3f59614185a350de3176575c91dbabe04659915dea17f513742fa9f0956c44ad023967bf6c33e3ffc1e SHA512 63942bffbb3aba206330f74e4488df79b18eca24edbc9b145389f7a792d07a9062024390707b504bf7d94856f24544cea42cc2c0cf3ff5945e3cf061d715c7d4
+DIST firefox-120.0-et.xpi 526678 BLAKE2B 12065765efeaf3f4710677190134e3dac241a8c5c60e3d027cbc4481602803410aa85fc2c708084f950002c43b41095c80ae094b208e4e2d6f98bf783b6624ab SHA512 7ac3781877c58b7ac71aab8818277924274c2244b37db21827a194ef354e5bb440e9b0574776dc951d185e3f0c580962e54cb681d12b841190d291ba7cc41343
+DIST firefox-120.0-eu.xpi 574217 BLAKE2B 66c85ddcc4ba01068b48ec00112da9399493fb25bc021ca15673332fba6737392070ed7d2275607c25ccbf7ff04e656eeddd2fb25aff30664230e073f0953c88 SHA512 466e8d81e156bccee90e1cfdd73040fde61d10508ea5e258d0427baa0a4ca27cb82f0786b1c505253e151660ac015446dd787e73005e72f697572fa2918a1867
+DIST firefox-120.0-fa.xpi 577067 BLAKE2B 6ee1fa5bdc550cc58b7ee8d2d804c4856773c64a06ac9fbd13dd0c02dbec9c7a6b3e1bee6237bcc26e43b4d0a7d145255ecb7d659c30d19b93dd4fa5aecebecb SHA512 0cb985e113487d41409c3b503a7670566194a8396c60271fb9f196396a7bef2f37118da62a6ea5f25e3fde220a9f319bf407bb11efcf005dd227bb3ceb1b1756
+DIST firefox-120.0-ff.xpi 464034 BLAKE2B e190a7c6074628bb68a75d28155de8391e9746351f04abc3866db41bfc20a1dd722444d0a8b4a5d24dd48c247a400794aaac15e1a8e09f6ab0f49969769feca6 SHA512 de31e863389c8d3d5b22b5883aab139dfcd67529f332c61e37dfae905c18da3c72865e2cc8229d41105e790e956b1f4cf0a5cb6e8a1fe0a6994c012e8f34fed3
+DIST firefox-120.0-fi.xpi 573136 BLAKE2B 23782e9e36cf0f371fc12259b17d338097d09b9e6a2323f4c3cf5b78af9b93c8d771c55621738fbd0d3823ed011b4addd5370fb4c0cae27f8e4df819cba86af0 SHA512 0325e13ae4f30da13659f43b5e575606e72cf1fba4415c1db8882c225b7740d54da1e05ed61591080221958f4a181e4ec80c393b8d1cb1ee242ee4d1de4ec259
+DIST firefox-120.0-fr.xpi 602900 BLAKE2B a24fb56a6c23509cf4444e7d3edb74dea097bf4fa1831fe23e419f44477fc3493111b0683ee30acad4e62754c4e9e8dcfabaa91226b6ba3549dacf0b1ebb5511 SHA512 f3e40acd388d0b6eb6b446cbd7cacab7d55a4cff253d4d7af601dccefcd0256c430647769747f42e0b695cc635ef8c3668545828abd9b862250b84ea73e25d6e
+DIST firefox-120.0-fur.xpi 595583 BLAKE2B 2f2f01c7e9d4eb48724f8db37677dda6e4c8124f8d5031bbbfea9f49d02b4196fa75baa715619a39290749e0716060ab85d1deef4354e83fa9eaa069405d4b14 SHA512 b2c108c242ce6b89ade036f4ff741762285a70f1e3d4074e5c874af2ac96db3cc4387d50a012a52df5bf724198a498de36a8b6457c5f3f036379c4a6075c74c6
+DIST firefox-120.0-fy-NL.xpi 586202 BLAKE2B a59cf047bdf690e41481d60660d4aa26c4a2e3f26c423045e2f32d50cf9f26c54efc92c938d204b06aa55b6931465562268ca923a67b1aa953e1f29e2f3b6e57 SHA512 b71bb34a14a6bfe50d0417ce69af5559e46dd6197242b1b5384eb57c525a58bde77bea644035c16f31862a39e22b3079bdff228c685184e5cee8879cd35206b6
+DIST firefox-120.0-ga-IE.xpi 461297 BLAKE2B 74c69afd8dd33b907494e545bb6a8a72ec47792a48908c4cdbf610cc1d0ded7ad07b19ab419bbbf3c9b56ec29de01cec85c02e1af40dea9ad06e6d68f82dcd14 SHA512 427e7e8dadbc37b09889b28542603aee5930935c57f065e3adaa7d51bc529344f94386c876f44b688b6568bc615731b4d588558d828c65b22eca772fc0af5439
+DIST firefox-120.0-gd.xpi 578544 BLAKE2B e07b05b79025eeaba3a531366b18d5f25618820688ff19e3f428cf07989df056007c28859b6f9c8a3a5a6d137337fb69073bc691dc9f76bf6157c097fc0f4a06 SHA512 ab147ecc3852e2b9590813e137b0490a2e79573f3473a47e141e6b767df74ee7de4274b7cc2b20c971d7cf63a32ede2acddef82ceb185c9ac49b01406a2fe79b
+DIST firefox-120.0-gl.xpi 584964 BLAKE2B e14155602ab9a7dc229f4ca8749e75d7d8644d294d9797771e9c275285dba8faeaa23d665bde0591e8136aef7a258dba9b1fbe79a546a815ae98565f4e888bcc SHA512 7b3a38f897e37d732bfafaacffd1906cfdb4e722788b7a4a025eb016abedb3c8d6516b6d75c38b2f389851f119d9ecc019062f95b88d2e7a1cbe33bbcf75328d
+DIST firefox-120.0-gn.xpi 601450 BLAKE2B 5d651a4b2bc78de402aca1b5275814c1705d230cfc3e4a928200d1f96c450eb90514a229b20683a7b5a017625ab1409a763d268766e983cb1a0fcea5f3937eb4 SHA512 c8d3f90be4d57dc8f066f7f2eb054ac236908cbfbe95c668aefe72fc10975086f68bdca56cd3cb8eeca84f16b02965845e8b2035c437e65dbd39341efb40628b
+DIST firefox-120.0-gu-IN.xpi 514874 BLAKE2B 1ee76d006772886652b6e9a77a425c7b82189b0d98b2e6f784aa36c5544abb25c5d89476120fefdddd0b8c26683bed7ef2acc968f4e16b87ce0cf03bcafcbb14 SHA512 2077658d3d9ab888672815043aa922bb39299b6c556de64dcbdc1e1dcca50c673ec8d71f41467f6ea03b9cf3c1ed404e4b2a111985542d6e7f02847bb679fd04
+DIST firefox-120.0-he.xpi 595912 BLAKE2B 79a1a6b529e4ebec5ae3dbc0e25a48afa9629273c3f7fe276c85e972164d5229d0e1f6c9bc203366580672c09a5354786d69852e9238fe005b92208ed9c22a46 SHA512 c6295d2fb053b74a63447a894743151c03a4e1267a5a1a9de97e00ba5db4d4de69ea95d493e345ab6943ee0fd0f8bc9d4fecb1ab32574d25f8845aa1dbbbac31
+DIST firefox-120.0-hi-IN.xpi 552908 BLAKE2B 7757e050c0d83c14097138ede489dfbe56a3e4c42d68d674faa48e1208497339500d1aca749dd8e29bfa260f1c5b74ff20889a9b87f6b5fa0f9669e6bdbf5163 SHA512 6770d8c035b33b1424ea52fff5ec29a1fe87b79962dd50c1784aa294bcecefc3091b7335fbad45ce2083456163e8e6aa79f94d53f00f256f59f43d4b84a1ae14
+DIST firefox-120.0-hr.xpi 543691 BLAKE2B df09a13e528a81a2d7a4e214b9d9c99ab8cf30260d9c71ac03bcf97b30491e4c2f79b68ae2bcf96e18f9a1b2ed7e227b33d3e90e11358f5ee1437a66d1330bec SHA512 d4a3fda12f23b14add1aa5ed1c955ebfd731a668d38e4c31ac81fc3d6df1f56b2cecee1bcc4ab56e454e9ee5867869e097b07901fdd19b8cd8c0a1aea91c180a
+DIST firefox-120.0-hsb.xpi 607813 BLAKE2B 920ef6fdfdad523846fe4065f683ebdecc0b0aa4b9878df6aea4a3f008ace88ec606b46d416549155338a2dc50f98254d9249c43b6b58d1bc7ca05577bd85a28 SHA512 6b8946f5ea59daae91970b3deecdc6f0c5f52de97c0c6972fd029a2f9a4da822793a1504c9119f21e993876f2acfbc36e1b4e0d860f417c16aee2060db657809
+DIST firefox-120.0-hu.xpi 612038 BLAKE2B eb791e1f8bf7994151733c682d3a2c47add61d68672721b4ea013b0da6df594d6f3eba162edad5b1190b6e6b8bcf0ece8435f5af14afcadd0b2cb3a80420ce3f SHA512 6fc7e311bdbb7da2cc26bcb6cea1cd2732cb60f881b6a6e65063b3158d23c6cc927fb735dba1e3ad55fa27fb8b83f959fedb6b243000a78c1da8b5b1eaa20f1e
+DIST firefox-120.0-hy-AM.xpi 592649 BLAKE2B 25a72eb1db6c7a72f50bae3e5f873040c15742b41c3c715a2d00a19535c57692b850d8438c27f0310a719e6253f36d9383e1767bce37d882eea8d844e46f374e SHA512 ca053c7b0bf9b62ca51310c71b731734a1015d08680aae926a6031d81ddb00e5543de663fe5d766ad2d641d921f099d8c06d9af6009397abea619ad513788e48
+DIST firefox-120.0-ia.xpi 574393 BLAKE2B 3779b0164bc3edb11c2ffb920c15bdefc63babe3ce15c5c8f2c372d9471ecba87c39adca4ee5aa51580637796419b085fe8157d1885db866cf58d50fda1fe5ab SHA512 7003d64e172757550006646aed2c3e6bd0706ce39fdc35b8fcdbbba15c782f57ec6136e34d70fd27fcef25590efaecec3d261ee18f2e3f71ec841cda9f46dd2b
+DIST firefox-120.0-id.xpi 550921 BLAKE2B b3658e27e9ecab242bf1ecf8116110cd6163317e8f545ae0b71cab1b55c435b837552b008e156a23a22e485c97ff28d25681f270f96efc22771acff6528d227e SHA512 46adf7e0ab75dd736b1b6816b543b0ce9ddfc1e9fcf08081ff3efc21388a699a02cb7b1a9d4e539a75d153608d8f1cdbd93e7b0b3c462a788872c94de46ff48d
+DIST firefox-120.0-is.xpi 582920 BLAKE2B 4f3c5f7a297e6398d068fbce6b0e028ee9bbd050c8fd9c6bf3840d805a00c81c5382c0db2010fb04456f46759c69edfe0f46ee4cd138ac4827a2efa0dacd6f5c SHA512 6ef53b652d5acf79a36cfe6c78e402f2331903e12adbdc8f619aeb2bebccb60030d808885822fda67bf076ee7e7c0c22126a15a184c91c68f227468522ec2032
+DIST firefox-120.0-it.xpi 533821 BLAKE2B 21350b9147e0d970712b40550a2c24ae6554cae1ce48ee2b13fb983344afb9a2f6b1b55db57e5f663ef66a2e2bd94f94611790eefbcde0c311b6f6056c4b1954 SHA512 d45b0b0186b0ead9bb2a2b1255fd544facdd004a3d60f228e7e9cf9d60aa20ed59ae533a39fada0cb63e2c6e376823878fb7c5c823377e8ac9325d3efa6e5329
+DIST firefox-120.0-ja.xpi 639939 BLAKE2B e05e7a42bb8e5a87a98823d809262694648ab332a06f7aec8b42aaa6edf3c1c167e2620f9d5c83c3b9de836c4c6612e732af6cbb934e855fa11331228771867d SHA512 77bfc480ee2ebaa1c46114d0f43284b18556dd6fb376b70f53a368f36674fefa16ac823f54ab8cbc01e6fae3770166c34e0a04683a8643f5940ceedae3324937
+DIST firefox-120.0-ka.xpi 641105 BLAKE2B 9241b8edc78c0a937b559e6fd0e2969068e95ace143e41c7af539c7a19563234847be596783a73dcf1676e8069554c512ef53bdc133a58ee0fdb1d5c2354ad4e SHA512 9d95769e553909b857b8a5598ab4ac199aa8a4db29f4b1fed59d7ba60580efea4cca47a92455360851fb33a1e3dca0f2e20ff2ceef9037865174dcbc2da1905a
+DIST firefox-120.0-kab.xpi 581406 BLAKE2B ae4a446ce7bf468fdcc34da52a5372cd05af2e001dfd9ccc0618a97a8bbb9b5dc7e3ba9657b2dfd8589f7cfd422417bf22124ea576306fb3125ce6ce5f2903b5 SHA512 94356f55eab6a67bb567236243a4e942fd56374374dc16f8edd7d4abd2006b53d6dbbc8e10bd176b68a5cc3a857876fdfd96d3487944fa919f8dbcd36610d9ed
+DIST firefox-120.0-kk.xpi 665639 BLAKE2B fdb9b5490573b50a84dd50a9406853dbd02c49f4992e0bd83126e50f6c115b4a440adbe449cb7b0b97378b813459c5301b81d43291f60605a8d592cea357f10d SHA512 de66a5a1a9440d91a0118e4b26115673f129bb87735ae21d8b8ec057430af6254d8dce3b2eb1ebfc0cb2d9f7cfccf5b5dd82a2669969b1b5f05af23d11ede19e
+DIST firefox-120.0-km.xpi 515273 BLAKE2B 03d6f2dfd56794e6f4aeab098e5c3b9c04722b4d7e1693631f52d4157c9db3476dc2b72e2068d5606d6e8619584356d3463266b088c81c94db19e8a3be26d932 SHA512 70bee02117d1cd0ea2374b6d8aa363c020f897dfe76e0a973800ba19c5d10a3fa2cbc2f4e332e743e2a2391c9097ccec3495628e440277e3825e36b2596f35eb
+DIST firefox-120.0-kn.xpi 480481 BLAKE2B 34415aa151df6535611f550fa0c3304eead1e8c1bb16ccd1a6f6dd0afb46bf72298f6cf5bc804fce6621f50738bf7c41ce5fe258b18ce50e145fc67ee76af24b SHA512 2a4789c9563ead4c6f96c6d6cd07c3bc6907ab9e2298ffa3cdf42eff12d83db4ea598462411803f40a8dfb0625fbfb8af0606ba02eb0d76801a19a21379eb2bd
+DIST firefox-120.0-ko.xpi 622307 BLAKE2B 5102d9208a62e3e63f43f76e814b832ffbeb6f4f1b9996d5df0fc29b1f3e834690efde59bc0aa3b10f67298657aecd3961d2999c4fd1a12da239c5b5005c366c SHA512 3d2f4420c82cc250f14385b9ec3e82c287bda88903e858a485228e29199223f2277033ee1a8b99d0873b1d2adadaf4e409f5ba2c316184739f7dad08679aa8e4
+DIST firefox-120.0-lij.xpi 472229 BLAKE2B 540b767c0faa48159de53e700db45879cd515b77cb6cbf35928a042ac729e4281629790f85f68dfb2faac4b563c409249fa70bfe1600c35133348524ba6b2246 SHA512 d17451cab5d999ee98eb0044d4a872d1e5ec72aa06a2cc1da44d6903114c1b90a9c036d2a6b0bf2b4c3757ac4bed8e1d1ae63a0057c5fd68b09e7a8d8f0c29ca
+DIST firefox-120.0-lt.xpi 559266 BLAKE2B 67368d131ceb6fae03990099e9bda66204eaa3bfd5d25db4dfc379a77ee06bae9f3299b605e5e31afd501d21410d156f5862d682cdec8357b4e9305a73cda66e SHA512 1b3654e49ec4e46aabe41ea12587d2faa272e127e08f2caf64ac2081c2e023e38e7732c80612ce9fc48a6cc270f78d77d8cb19c7fbe7486fcaf328573e5677f5
+DIST firefox-120.0-lv.xpi 457815 BLAKE2B 7783d74c10d9012b298a05623704c4ccfcc87185e10b272ac682cf9e307af629b8bb4f82045627116efe4d059bbe08a08c038d109ba672a3b4bc389aa9721ee7 SHA512 9eeb93c867ca5ed249bb6e79c3910d53149fbc80c9e24390367e530c4f208d7f16812442d59a75056348d56f0dc59a99486c304dcd1344933b5df5b39dc91b30
+DIST firefox-120.0-mk.xpi 483133 BLAKE2B 66f5efccfff5960ac6e04e0434e1a9b83e4f4f7360720e7c826d48bb1c460f12e22c81a2058e5403a0400a156084a67f5edda7db436bc550cfca889414bc2ae8 SHA512 84dd686364887921b1d564f0f3f8ddbeae41a85af6c70fb142edef59f9879fc60a0fea5f45bf6369ce54061e62b9c58165202094c089c56a32096dd84d84d5e8
+DIST firefox-120.0-mr.xpi 520053 BLAKE2B ec5991a961d0273664ab2741aa1a903e70028002bcabefc3b2dccf5cf1ce56eae642fab358308842723afdeb917ae2cb96b2997da3a4a89b33a1356633b1f997 SHA512 e3368fec58bd1c5a251cc218838db32285996fe1519d2773976cf995ea594c22596d9d3d725250622f29bb178c6e958c7161b384bbf86bb6eae67e3a597e6d5e
+DIST firefox-120.0-ms.xpi 438040 BLAKE2B 9ee96ff6f57d9b033928687f24501c0ee7907017d92c67f56fa180f37d3c002bfe5ed8b19f33e2f208607f73e06032bc967f54fdf9efd7f98de85ab542791119 SHA512 6200202d97f6cfc14fe0e9f182350da48eeb348d4cbb0c191b8527fdb42ffc4ebd8974bf322712459c9cb693e9cb68d68305f7e6f536f8c048a146f1512d1c3f
+DIST firefox-120.0-my.xpi 501457 BLAKE2B b36a9201462c34ca1714d70a95334f9c9c6eb97d7a2d11e63d13a1efdb19db95f489ee640acb8ed13379c5274fee0c7dd839d575f738d71d830cbe1312f2ee5a SHA512 6a0db0b8eef99b59588c8e789ba23874a92ecd6c870b4c3e93c13cb840dda0da33c8c6a2cb62ba72e23ce9582befafed2f5331273997b83c804388e936f3d204
+DIST firefox-120.0-nb-NO.xpi 569538 BLAKE2B 3824178b5448fb834b8af56037e0e81ab379e0e3afd8926728275c34c8a70765c1b06e05aad722a2bfbeb880409869f8d1abcc4291c92b478c4ff057f246d019 SHA512 07321aeba2a5fb1a0530879c3bbe0aef0f26658bbf9e9c9578313387db8b90d9e985a5bf34c3476f47e58eba3518b1b547c8861feaa0d38734c34814df1c23e5
+DIST firefox-120.0-ne-NP.xpi 476899 BLAKE2B 3fd540a501dff26bb57df8daa6ef2e5ceb03628eeca61c44d48ef9cbcf4d16ef0745b5bd9f867689f28ed97f3967adc7c11e69b002ddd3f63f0c759e450159bf SHA512 fc6bcbb7b4c69f638ab27c58bc0927c74a35f016df7ae0f08e6c6578a622a16cfdc56c3dc212d33b552dab677e9eed8be9a306aeb72ca546ad5681a3c373766c
+DIST firefox-120.0-nl.xpi 580272 BLAKE2B 8eeef36b53652ac776702414e853465a1343a76a53b8d7dba2c74702f877b75fecb17a1ea5a622889ef5c92bebb6188b0f504838577225234bb95e33c9a99652 SHA512 c06d2ddb364cfea3c959e0878959799bc4637a68cb809fc69badbe5c1036658e4d529439f935fb9dd72d259d21e6fb02e0af0154be98bb288d0e0ed8205df338
+DIST firefox-120.0-nn-NO.xpi 573630 BLAKE2B e679c107e158199afd2898a134f7d25c92b828d696688c157fc3bd2be29d61f946f86def436a6272c3179424b68b0e2feccbadd2b0c72b4daa276dd8485fde20 SHA512 047b7d79610de0c3edca01e9520e38c6eb4c27be60e09ac3822f6c7f61328ce41f9137106e2e9e74cb56adb50d9e384ab7e99c4f6213f5b918e7480fafba35c7
+DIST firefox-120.0-oc.xpi 590380 BLAKE2B a19229e45060a86b94bd79d3522c3b8a152b2099fd66c14ae6e76a6c8f854a3549302502493fd5cc6daba4f3a0949ac149f011ceadd28ce4dbd6a647864c78dc SHA512 42d396904377862e6faa693f7ad61ff1969fc2173b103b5e1eb916230aabafea1e1a54751fa587dc16003befb833e50f5541f2b141d5d50c215441adaf03c594
+DIST firefox-120.0-pa-IN.xpi 655485 BLAKE2B e5eaf112a79c532bf1469eed6e7b0680694971b8e83a10921ab85f04d5e99a044b0793b9f511a5cbfeb1080d7279acbecb9780986633097e7092df46702e1ac7 SHA512 6e33afb5fc1cd24545dc1a22ce86f13b8eb63b1998bd1ee4acef52489a75f69bb15d14ea59c8b3eac67343c333d2b63c360eca034e3fe63b0140104b4ca48502
+DIST firefox-120.0-pl.xpi 600032 BLAKE2B 27249db13bd9aaf94e3f827852a1764676f8721c795719f2eca986a379f5a9db755290abe6739adecfcbaa2819f5d7b2ae475f0fc660cae38c9be51b68810fc2 SHA512 5411258618ddb00c03935233956e5514c019a88b0e8eb0a7256baa2ff0b6427673c867fe036c17292cf795d097660e64cc3348af24da4e03b8891063c5d8f0e7
+DIST firefox-120.0-pt-BR.xpi 585130 BLAKE2B 0b6f9f63cafeca626c894b9a4608788294561c946169dc62236c9a5680ad270b8c6e0065a9c3147ce32aa019f1ae7d85198bc8327bee722c4f1820f66dae76b1 SHA512 84bebb83d7a0ac3a921ec26503f06f63a5a96a021e0c63ac185fd9bb39834f96a0f9c4c34ae748af2e9079e9865f1aaec3b40bd3f6ee6b3aded8cb2e96de1860
+DIST firefox-120.0-pt-PT.xpi 590786 BLAKE2B 0e78f63c585359bc54e8d7f44ef9e4354820dd317468a8397f25159dce1c80eb586e70356bdd54c26dfebb3fee6865fa2e38e81a154e4b19377dc32511e7ce9b SHA512 04971edbe41f5c7b14b3eba48b843dde1436d87449a7b05e64de77e8e3013398b49bb242db53795f08b28a81b2d1028a1b29fa5dbdee7ecf00102fb95bd228c8
+DIST firefox-120.0-rm.xpi 580730 BLAKE2B f2077586f497cb131ac0f638b4de648cc0e9efc9d230f205fb26f8bc1bf77aacabcc2ede200441fdecc2b5dd72117e787916e277c15b9216bb24e1376abfc4fa SHA512 d7c38b2a7e4a07d473785222b360979bbbfd812b67731b68140a35e584a5dbab20dac6df67366b3eb26155a23b193a0abfa3e186f9375d1abdbe92f75d72dfd4
+DIST firefox-120.0-ro.xpi 536119 BLAKE2B 0f4e68de0026c0c2af668bfb446379a0d8cefbd5f052d96a5f4a93202cf6745341167c03029b24d948b413a0228adea3f25f9aadb3bc2fa56f55e0a4f4d296a8 SHA512 5c655d6a1b4e75bbaec19e98a0e04d036d0e44311cd2b4161da733c4aa11a17da691d8c71b71740ecd74a0a7412ca47e8a8c31d961b818669f6bfd895f7c501d
+DIST firefox-120.0-ru.xpi 677185 BLAKE2B b81621dfdcca4b15a1946b35b291b8ea67d814d85464839009ef784517b60bb7fd0966c6b966d29892548d589758211e82b32b4cd3ae115dd36cdb7efa2fa06f SHA512 93ee1371453f49c1287eadaf947f35f16671e3c4d5f15a87e7f1b90c22948b4307de764f4540198c50b453ae84c853b84e1f009e1850b88b6b0e132b1f656bb8
+DIST firefox-120.0-sc.xpi 552168 BLAKE2B edcebe1626835df919c88860e6a3384e53aa023cf1a8571ba29515e17eb287f9a6451e06f7814a7da1427da7a8a24d1b617cb3b822273cc285fa7bc71af35e7a SHA512 cf64cc211827d646338d379b5ae6904b775f2f1e15cb3ee7e722ccff5e35814ec25653e34c4bb3951fc3f058d3470f2ea6f2149543e2a0b422074b12b320bc29
+DIST firefox-120.0-sco.xpi 499305 BLAKE2B e52f23621b1c28033994ca9909d5f96a3dcc27e5959af7e5c6bb5a945576b5e26a8dccb78dcb3218ccaa20d09426e04486d5b5027e2ed603561780c085bae001 SHA512 758dba289ae617169c2c4176c903372ec74a86add361089f2552ad8aafcfc70db3493a4c015084468e81a548fe700855e36bbc2bcb0c10d6436c1a6693ee99b4
+DIST firefox-120.0-si.xpi 592555 BLAKE2B b2ccb130054ed461efba6097a7e56070365fd0b307209b66b20830a1f8fe2463131509385afb5c40fcc3e421f6768fce4d651cafddbf987966024d7e0fda2b40 SHA512 edcb6aac348aed2f31329ef9b459057cf22653c45108ef189d43213fe1daccd3f140ae7f1ec8afa7a3102497db5d45348b4eb97747751cb84062d4b51b15b208
+DIST firefox-120.0-sk.xpi 612768 BLAKE2B d2bfcc0b9087abd97ff949117c6e85cc5c2c97d5b5d37e8c7c7bff922163809b5bf1944d16d24b90ccd922585d2920049b28d0d65cae9fee87ab01c2b443886d SHA512 269aae4b8e74a28cf9ceb4a2fecf97b8c5c902f42f0aa76361b4e5eac0aca4c877a751b46a3cf4dcebd308a1897ba02e8d67b2aa95151eab2d04dc6cdf327f2d
+DIST firefox-120.0-sl.xpi 585679 BLAKE2B 31fe727be302d26706f7bd308f85da54a86054cfff750ba3bb49f70fc907d88f5e3f113ef186fad3f852fb2a5fdb1c9c1566353b6f4d8c4847e39eed5d6d2e8b SHA512 debaeaed957daea13fd006049afa214ff8655de8e372b38eccdf2f15c37f2b38939f474381b7d9b2e2dc6b4f3272836fa7da8010ee0b954e5b1da53c18b4fb1a
+DIST firefox-120.0-son.xpi 407006 BLAKE2B 7e03ddaa76b4c83ce64dea7fdc822d50f3a17ac7321258e9a456f103dbde67fcccea1600c7e00242985d8361274bb90027883eaa0fd412c51a91b90e256a29fb SHA512 23c2ebd11456a5f025734cb2daf3da01390183a9bab1451a17a9c8c861db8165f753669cecf1d4aaa4467a21ff8a1d7b6fc0bf315a895765e136a6fe24291127
+DIST firefox-120.0-sq.xpi 599916 BLAKE2B 570da175a93da274150c260c67f5c0e5c1649a5504a743ac5e91368ee2e1a1b6a712275260f28fe2c4dcc85af045cc72f072a8aa79cc65d4829c030bf559815c SHA512 89e1f258131aae40f3bcfe4c5ca7c545a28598984be1310c5d45e7bc32c1c2f59d4b7731444c4725e526a452b7b03a326c58e9cffb61a7cc1399e80316611abf
+DIST firefox-120.0-sr.xpi 626285 BLAKE2B 572412b8254516181a4c0dd0b5baa05b63db1d3297bbec9232bacfb4052ff80383332ca638db94b15ce82c1e084a42f1866515afb319effb80e3ead392d394ff SHA512 fbb8871d1dca5fe26d934adfffa11c0aa9460cf634c976a0b0435be16a9fa8d5651c0e76b94c1f47a231c99d21dc0319d708239481289b594eb1e6b3f4824d6d
+DIST firefox-120.0-sv-SE.xpi 582173 BLAKE2B c7069fc2f0accc179eb0f27ca0c81db65c46f0e1da2cbbd6991ea045703ecc431fff020ca79758d2d041da936111154a42913fbd044cd6747d69db04b8f89678 SHA512 e614141e02a20e13f392fc8eab07f58979c5c06f14982f047db9202e6fd77df9e4226213e3bf4e89ae4b7894049652f5c48a1b086aab9f19b493c3468709649d
+DIST firefox-120.0-szl.xpi 514307 BLAKE2B cf532f15623fc96f57f436de320fe695b46eb18d7e16ac0d55a0dc551b3f727c722c5dec0d14dddd9dad756ad4e1be2bef1a7ff51ecbef51a4edf3a8e48b706c SHA512 3d654516756fe262577a80efa592ea5aaaa2f4598f761f63314fe71273ad14be314740eb7945f0100e0383e4ab11b78fe1841f1c62911eac28c85f275ec34373
+DIST firefox-120.0-ta.xpi 496508 BLAKE2B 1b31ce8d31c51c6695f21c4e0848add1e0172ef2c0118719eb6a482f8587fa6470fa0d8935d16a348c6aa9fdb5280a9c6d76dbe11e3c8fcbb26a54dd7492668f SHA512 5a686b5c4881afa6ed5a7a1d3b66ff130333648df7fe28ec80da737099cd08ef854afc67a73a0768c6877f19481709f2ba8f810b35d63504a3d0ec12d633d0c7
+DIST firefox-120.0-te.xpi 547380 BLAKE2B 98d42f0152acc07758bc02a86197d280f6011ae5b353dccb64a87ad350720248344ffdb133410cb51b7a76abac5abc18af894c1b80cdcbc8502e52a457fcdce3 SHA512 47c79c449888773269539155d395e336c15faca3635d7f54835de637698b0637c7ad789af4be2a22018b2302ac6ba1b6c49a196fec35d6533ccc6ba60f278903
+DIST firefox-120.0-th.xpi 652902 BLAKE2B 8858036d324e0f73be94a67916a8e128f22c46fd7541f2d3b939aa849e785c4ee21a54e50b12a49a0becb662ab294131b14c27640111bf4a046215cf4b69e7d6 SHA512 ffc7f5a920eeea18e5e6c16c422800621faf673176eb0e94c19635bd749640813d3250499f8cab781ed24c7ab9fea66fc3fe87e1c35123cb367e51e3cf2b92e0
+DIST firefox-120.0-tl.xpi 521853 BLAKE2B e45f70147abd9a760ba6338f8495b551d793038a6f22b5485203ae147f474bcbd30da93a7ecfa5c219155e4f5055dd184f5ea5cb27f6d59cbef5a8c735dbb2c3 SHA512 5d9e6e324815eaf162c05c8e9a625b60e2c8c54979553ab16afc04ff7b8eedc0c99c899b5ffd8403054f2c46c3daa3b52d582d3df9358791577c79d318e36983
+DIST firefox-120.0-tr.xpi 594042 BLAKE2B c089915acdfd1339ba636399bed85104f67a1350be3ded63a520dd86931f4272e0bb30fc9e586c03b0e575fea4a10d89faaf098d5c63050bea07c0a01f50dc0b SHA512 a1be2f460377cc5b28b519ae986f519c8273e15f1f72275d06f2d686fd07266b4785b1fe505dd480ec9684c93845cf2ac88dd7c91cc3bb868f0e8caca3237fb0
+DIST firefox-120.0-trs.xpi 492013 BLAKE2B 8e5aa0960619fe34d54a7060c265921f14dd773fdc051d6038bbb7127e3c35b26b4e8791ab0ffcccf20d082e8f12c6ac71f1c92bc515455c6199bb0979fc4358 SHA512 0a8662d804457c699d504a52ec2f44c1c6e6f22c5f23887aed96e842b084c1f8de32465ecc68e5fff00daaa8d94c02609380853c027a2d8ca6cd5722eb38b0a5
+DIST firefox-120.0-uk.xpi 670139 BLAKE2B fb3fe7074b21ea9f2b00a3b9d443f288e7804b05db347e7fb8b6d7e9ba759a95a725648aac6f7338fad01f180026b352a76e55bfec740da6281a2f5acfdcc5c3 SHA512 7f7aa75cf698447ea4fc74a2fcc51c6a5fe592ee9435ebafa735748b502d9dab563550fb4a48afd5f720423b952b4cda40397985bbfda8067e43ae213600bdf1
+DIST firefox-120.0-ur.xpi 548354 BLAKE2B 28e4360e6a81742e28f4dc984bf38af00efc9e2c292eda732f608d95baed5a9b61ed85339375ac2c7a641d60fdb2b276998c0ef61bf485f5defac775a1445ee8 SHA512 69e7b169ae9cd2c51bddf2bf192648b2ebd0bafb5a471351722a4673b629123f6b720a16405e924277dd75b7dbfc4b6ee366d28b22ec460744a37d5a9a1bbea8
+DIST firefox-120.0-uz.xpi 468509 BLAKE2B 4a6d550f3f2aa2c1c39b88064038d47328061291c74797b8ce1e027c57935dc696aed79752446841bea3ba79349704fdb1dc8b00e2d225a844e0e943511c0f76 SHA512 e09f5a854d3fa4fb6d805cde752713a1360bad3f1aee5e407d72b011b6e15ef8e9728e86293d6933f58a6fe31d6a89b38d3e0d72066cb23011773f947f0486fd
+DIST firefox-120.0-vi.xpi 619247 BLAKE2B d240d1103a57f3394b43e8555fe9ad619f8901b2584cf4a1a10d12ace6a50e52eba33c0ff9827f824fc71540fd8d1c8d2d8b3727d7aea1104a2a173f33893c5a SHA512 cf4c74ccf11aaca3ca93949a542d5016fd7f9356139d3b8ea4fa95e82c78e18f97dcb2c3e6b48f1daad3fde8c6e15ffccb8dd2072310e4c7368b965f2e54266c
+DIST firefox-120.0-xh.xpi 407994 BLAKE2B 6706bdad139958af05c1ce43cd195d3403aec23662192565f4fcc8ba39df6b82076f1e040d52d3f6184a2932775c2e7462e49a77f5ad00c08f38f6834a56215b SHA512 9474ad515a3e1df95faf5dd63f54b31fb4954aa4604f0e037f0efb15bb114707aa017999719814d24c3932ef5c0d4d34c602c4cfa2e267423185f883dd239cc9
+DIST firefox-120.0-zh-CN.xpi 618138 BLAKE2B a274aa8f386061edacf4ae4334fbb87830aefee17f39dde83b0ad609ec82ebe82a8ad401b4459e5da8005d8d5a28c452fb81804d1cc70a9691a7fefca3df0a3a SHA512 ef58d34db483705eb92d2b6b0c8b36003d2223c33ad809c7c51167e92abc864fc8e15638773a35a071898150254e1498e8b3efb60434ac95ca92796a056b9793
+DIST firefox-120.0-zh-TW.xpi 620086 BLAKE2B 212b97f85a45dfb937c4908d49966d4209aed7670c4500e9a543b1e362b03b28a39cb95114be096d2e7ca7087d0747d0f6d1a77ec284a53dbce0b676791011fc SHA512 5288468095d200085c73947da40e6ff3518e1cef6779fbad514a71c7905c406844153e6e1dfa695c401bede0ad6120acf7a302e91562eb2aa579a13dc8c9dee8
+DIST firefox-120.0.source.tar.xz 534394880 BLAKE2B 06f11d9d6f705c13c3288f1757d68c7c910e258b3efa643f0f0168fba0d585f758082af3905c951e227894df0c092965663f52196ee1fc3477195748e0049767 SHA512 31d5f9e1d4173280c8de6d9b8551bc6bba5e2c49b84f944f50d42002d5b39c2fb743bc130f26c81160388a102b8301b94a0a378ecdfa6f943860f971a860df8c
EBUILD firefox-115.4.0.ebuild 39480 BLAKE2B 0ef1ada0c7f524918634bc3d542f7fed773af909d8fd9cf7f91afdc4c46fba47ba78f04bd82427b0ebd801bacdfba430652ea39bb1bec3cc8c80309cba7bfee1 SHA512 e10853614b2dcdf2ef448af99463ed21d70a808e4acf889c857f2d098719973dac991a9ec0d409f7baabaca9b72697dc6ad13e956212e73d068a1988db4051e2
EBUILD firefox-118.0.2.ebuild 41915 BLAKE2B 1325c101c8a1bf7f3a39a731d4a0624e2210ca3d8a8cdf10b0a011cb0e69ce08d532c79d5bda014b8de0901323fde94bba0b8e76654c068d23596ade7e3f4d6f SHA512 99ee8834fe2ed43abb502455bbd6123b0836b1ba61995150c735415b2886c0251426c29fdf7c25a6e62de6643ee3983ae8520c09418bbd8f4f7f2e0e235f73bc
EBUILD firefox-119.0.1.ebuild 41818 BLAKE2B bc857ad7cc6e8ebd006d3af29004124e8c059e0650f233fe8cf00836dabe376953c17a6e3a43aa67e500fff4701362ab12692863c236d32723d315f912d642d4 SHA512 30d50c65d787bf318c8d23d3896ce0b3f286c6e9f7a151ad70fa1c0f8cada174d3df7760ea32e9590f1b4deba351917740f4b6610c260549cd3277cbdaf504bc
EBUILD firefox-119.0.ebuild 41577 BLAKE2B 1aff3763db9eeca4a8fd47c89e33e78dde9751ef239a1c9990811db54eb34620e97207bc96077b09ef807613ad967cd8fc1d2b555367252b12fc60498f461cb2 SHA512 edd2b34450982c57580d156285c1bf70fcc77e9dff2fb9812a31fe22f52d2c820d18144bd2ddaf55b6ddd53070754db0fa03128012c248cb0ca54054e1a3c0e7
+EBUILD firefox-120.0.ebuild 41970 BLAKE2B 2214d7e791241001d56f40fac527de94d6737b9162b0b88dc0237c6fcaece31f8cb7764fb13e5d54e284ac9ff43401c7013ab5d28dba2d9b4b13dc38663012a6 SHA512 c6ae61f94c59af6035d3c8fc3ec604d4a83eb89b8282a78134144a33c7069b37df2ba08eaf4bc6c21d57ef5894924caa2ea6baaac52d95ee63c8f71ff7facd76
MISC metadata.xml 2658 BLAKE2B 4e52ee338d13627658328468081959897f9ffba3d0729a03975f756ed95e2649e21a40de4933c0a2bdd9c1d4dc6cea973f503a3d448f49f73ec3eafb933f6845 SHA512 1062c2e2a49757a8e3b027db5d425113ce6e7bdba630786109caedbb3717c7600094c7bb3fbc83e1887d96e464f0dc48bdbcff16d396ea5481f36040e0e4c70d
diff --git a/www-client/firefox/firefox-120.0.ebuild b/www-client/firefox/firefox-120.0.ebuild
new file mode 100644
index 000000000000..c7fbedecf97e
--- /dev/null
+++ b/www-client/firefox/firefox-120.0.ebuild
@@ -0,0 +1,1438 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-119-patches-01.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=
+
+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="rapid"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack +jumbo-build 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+=" +telemetry valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast"
+
+# "-jumbo-build +system-icu": build failure on firefox-120:
+# firefox-120.0/intl/components/src/TimeZone.cpp:345:3: error: use of undeclared identifier 'MOZ_TRY'
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ !jumbo-build? ( !system-icu )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ !www-client/firefox:esr
+ 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.26.0
+ net-libs/nodejs
+ virtual/pkgconfig
+ !clang? ( >=virtual/rust-1.70 )
+ 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.94
+ >=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? (
+ 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= )
+ valgrind? ( dev-util/valgrind )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ 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
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Workaround for bgo#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply "${FILESDIR}"/firefox-115.4.0-icu-74.patch
+ fi
+
+ # 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 checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+ moz_clear_vendor_checksums proc-macro2
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-wasm-function-references \
+ --disable-wasm-gc \
+ --disable-wmf \
+ --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
+ elif use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --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
+ mozconfig_use_enable valgrind
+
+ 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"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ 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
+
+ # elf-hack
+ if use amd64 || use x86 ; then
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold, bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+ else
+ if use clang ; then
+ mozconfig_add_options_ac 'relr elf-hack with clang' --enable-elf-hack=relr
+ else
+ mozconfig_add_options_ac 'legacy elf-hack with gcc' --enable-elf-hack=legacy
+ fi
+ fi
+ elif use ppc64 ; then
+ # '--disable-elf-hack' is not recognized on ppc64, bgo#917049
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --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
+
+ if use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --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
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ if use valgrind; then
+ sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die
+ fi
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if 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
+
+ # Install the vaapitest binary on supported arches (+arm when keyworded)
+ if use amd64 || use arm64 || use x86 ; then
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/vaapitest
+ fi
+
+ # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded)
+ if use arm64 ; then
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/v4l2test
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # 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}.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
+}