summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-04-18 11:55:01 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-04-18 11:55:01 +0100
commit7288c6e5fa05acddbf692a5187d925ef85662b46 (patch)
tree54bfc06561e59d1ad1e6e7bdbd06b76fc4ba0d06 /www-client/firefox
parent5a1fb66df455454109e1de61d38b48f509dc68b8 (diff)
gentoo auto-resync : 18:04:2023 - 11:55:01
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest102
-rw-r--r--www-client/firefox/firefox-112.0.1.ebuild1379
2 files changed, 1481 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 2727ffc84bab..066004ae5fa2 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -107,6 +107,7 @@ DIST firefox-102.10.0esr-zh-TW.xpi 614579 BLAKE2B f43efdbc63293629474fb02f5cae5c
DIST firefox-102.10.0esr.source.tar.xz 479026088 BLAKE2B b4d8eaa6d72b009d12b435781c360f043bca7554d8b069b8d858399ece03f20703d7e36427a3f92d0b801a94b1c3f132904f21e51ba4118116bbfa4e5668d651 SHA512 f2b53c35bdd22a3de6f32699b832babcbf499667197c02dd50cf0b6cd956e0f4471f420938c2ab72f0a0686ed99fe74e3184afe9b5f7169130879b8f8fd99f0b
DIST firefox-102esr-patches-10j.tar.xz 21744 BLAKE2B 326f206dfcd5b6ea2f06f5f537505e23d358f6d7930f7e72fd8e54af88d97172170999c246af888278143810df42be9414541e47feb48b60732565a4ee38579e SHA512 5efa50b221abedbb84c1b3d19d8ac089ac5752448e8c90c6aed9f43bf3eee876b7e7050a1678bca65f6b23734c4945b016bf059a3921ad7290b0150538111bbd
DIST firefox-112-patches-02j.tar.xz 17296 BLAKE2B c47545a6eeec32c9a15aa0a5f9f4535e186a2b8e7c140b10f9e8665b90f9d1c74673dbbcd3e0e6e3a2232fe060f340884dbb431d755bf21537923efb4bb430e1 SHA512 d90c8cc81f5c885bce35d6872162eaefa529a37db905424eba2e223f3f02a22ecf63b503550df77d7e73b539573f2169b2f6c99e7a46623be1492467ee19782d
+DIST firefox-112-patches-03j.tar.xz 18620 BLAKE2B fa56645d97a4196ddbc2a39c3e700be46059d7c03c33957645426922cc7e83883ab7a4a75bf5e959ebeee8ac426fb88da6c149a478b8119280ff3920393bc5af SHA512 1b7106470a6d80842cc5e0006ada324c429e43298186c4971d403ca4e880d175c690352d9db2826925246f1ca4a3939859356f1564bd193ad3fd698787d164be
DIST firefox-112.0-ach.xpi 459577 BLAKE2B 3adb567d9b02f04e869236b7863d2f7425fe721f0c26bafd21aef30b0a761fc7dc0aedc7abf99429d6da19c6c33d4a7669edb1531526822e20d54d802f2bd92f SHA512 e3a0487ca57ba731bfbacf7628f497b623a68324d9464a73d18e36d3331dde434d05b73abe3d8864ce684d4bddd4d20b73ee53c397dfa9f665360dd612c7fc63
DIST firefox-112.0-af.xpi 423010 BLAKE2B 6f87c4cc3eab518c111793860845c34b3131d50500211b0e5b813b376c8a13d5aee071a40e9172e2482994234d4d5764e14a24bb68a9ae8b4b86e8bcb6f0b97a SHA512 000fd456377692eca76efde709d8526c599a38fb9839018cee726ca6359d3356f42f8620b892a9082cd8dcbad5c6be1346c7ef9bfed0b97910f7a343dc0e2cac
DIST firefox-112.0-an.xpi 503915 BLAKE2B 2e7e5fa8a7ade25e28edf32402a3132333019938d315483bacd3156c7c1cdeebae037d144f67a04d3dc16004012d0d855b5091249f83ebb55c84b680c903cce7 SHA512 45915bb76a712cfd437526f59bb56ce7b493bdc636f783cea1f7e4809d178189ac4622b733465147c82fece78cb49a5f81bb3ef91ee5c6f4ef55415bba55b672
@@ -206,7 +207,108 @@ DIST firefox-112.0-vi.xpi 606042 BLAKE2B 3c184485d465c57e0904d0b7a1bb8cb424e4ab1
DIST firefox-112.0-xh.xpi 421625 BLAKE2B 0903cc3932dfc29e474ba105d043f6c583e369890ca6696d0ea2eb503f2ce368a038e4ee75642f9cb06854d266ed80ff37def8b38bf87eb31449ea52c8c8b4f1 SHA512 ee13ed7e6a413ba34818cc40ea9a8806cee6cf4d08d8621f529a6c70918bb4c66aa87f2d951c547a832c184da27e079377ef5630a269a37768a93eb40cea122a
DIST firefox-112.0-zh-CN.xpi 605650 BLAKE2B 1d6bbc286f03b42259f474f89bdb20a4e77b762876ddfe4e1295d8c760ba9db38059e10e4269a26734bff4518c51cd9486d101b551fd3565d8bf6ad72ba44662 SHA512 f36708227a660e428a2f4a9e74eef73e43eb6ac5964ad7b7e2da57814ef57aeac4218ba16463262f440ece718b4aa6286643580dddb6c4de6d31b7176a28fe87
DIST firefox-112.0-zh-TW.xpi 607191 BLAKE2B 8c26c2d740e210fddff8a2c4eae20e71da4f5403e5b99e795a6b53ebadd35276c52b40154afbe39ee18c949f444b736857be45f7848921d333ab655c2dfbcc10 SHA512 2a96611526d6fd33f921af2ffba3c491d3521885e51d3d026d3c2f583e71a478383ce0582d2d2f5c1dced236ae4dca5a00be58c2db4cc4f8d105e842b571e3d4
+DIST firefox-112.0.1-ach.xpi 459591 BLAKE2B 8c86217426f182f317027e62e9b9e2d01dc422dd055c202b186867e07e9c9b1af2a62ce91e55c6b673bff73671429053cffa83206ac71170b14c99c5b39777c2 SHA512 2e0bd92d47a18fe7e77989e8c5146adb25db37888bf02e6a1d413e3cd1a1e19bec3350bcc8b20a9ea8c3a350261c93de5bb79a46d7292fab14f0f549e64097a7
+DIST firefox-112.0.1-af.xpi 423007 BLAKE2B c9c687ac2c4c679c798b5dc6423bb2e93d8712854871a0c820658a12605c665b93f9f9c78e5f97a4e684601cdef88ea90e348aaffdb1040d320edf634e090e4e SHA512 761ba8baf814c67291d4c331e5b64f0750a06ad3c49ccacaec80dae08aefd7e0bcbac96073c438d5afcb7c610b93a7e09c65ab525063d470a91c051d35db9cf6
+DIST firefox-112.0.1-an.xpi 503911 BLAKE2B c57f8be4ccfe819c6ec5b77fd7958f841abeb1ed52296b27847e7938dddd877d17020ec4912203f655fb929a0b00921e51225b5d3500328f505b2baaeb1dee16 SHA512 d73b72e4f091ada36ab2f07cc8b6a47d628d712b1af42c4687d4b0aead48cb7d47c10ccdf71e191a897cb6af8442b7b4118ee61e5a10f368060448c3c9a8ab9b
+DIST firefox-112.0.1-ar.xpi 570950 BLAKE2B 56e7e194ca7f158b76be1fcc253d5b10cca7763e6e40d8080c4326fa8bc2f24243326247635a83c26f3567b2b6d2b4bcc03708d417398a5e2231272af66116aa SHA512 0ae6e170b6ff5efc02cf8adca8daabd7c9dcbcac14d2ae4692f1606499b8ae45440ad63325cdb86cb7cc5a4173c78d132efb04b838dafa0aca74ffe75f4a26dc
+DIST firefox-112.0.1-ast.xpi 489821 BLAKE2B 6b80d95a0cc7cb0240f4e83b29bb813220e8a7bb9f6388a9c4575b022a21ea7064784314584f6e1c18feacb991af2dcfcaa001aeec3bf1c7411ae74d3e4a59e6 SHA512 94a33773a37139aa4228fae6b3d4d65219713f08849eb58e736f1915b7336b09f6093c23d8543c2402eed211a3481870f94a00b9dc8c90fd5d0adaf5eeaa13b6
+DIST firefox-112.0.1-az.xpi 492295 BLAKE2B cdac54e8c5adde985f6bf005bc0a3e8d017b83f008915260f33543f97f3c97eeb3b10b32cf9ba355fb16707d73a3678c1fca1e03e8f757f946978622e384af72 SHA512 66d240a105733aff33721376043c6dd3ae0c0c260c8ba95d3442227be7d7a59500c69732929e72808092ec17bc31d6852f34b80049f5f35420ef0034693fe403
+DIST firefox-112.0.1-be.xpi 659305 BLAKE2B 9b0179957ec9395ebf397db317d1cd4d9888ed041dd63d57dc79cd3446f756e185f4937dadc5062c6203d977a993e3a5c6ce046790ac2ec4c139147c43a662cd SHA512 e0d111c828301f94365ab8fc300817b8b662a6816ca07e7592b5b923924e32ca1e74ee797781b2273a970df3f08296a03857394bf3196796c697de79b5cbce99
+DIST firefox-112.0.1-bg.xpi 588441 BLAKE2B 93bac9b10d0bd85dcbb5bee3d854e811ce09ff6620c6c7f5245ae8d3e445f90f0e7621face2bdcc4204097ee1277c668d64243b5bba9bc674e26ee3534a8ffdf SHA512 ba378cc67a1ad42e47927ebf293c45aec041716f69519a5ab2f01684a82e678dbb9b77c2225428ae299ad63c0c36fbe3e05734b90fc62270b782572cddac17e8
+DIST firefox-112.0.1-bn.xpi 582019 BLAKE2B 35091c7796b7b9c92710ed546d39e1b088037ff2e686d0451646ef70e53d88feb35fcaf3aa0fe7a924e14e891378fb6f68e63eac1b0563f23fc0f79abae32e8f SHA512 066645f7da80a8615b5e87e8e2017bce6f91ecb93055fc53cba35597b97dd429de1a0055c080fa7380aa925ae86228a44a29388c9bddee5888a0902ce656b468
+DIST firefox-112.0.1-br.xpi 548363 BLAKE2B 6b9dccb14e24a61a91a2569af430974c818d781cc9e8c8fef54a3b8f68ba4db1910f414d125d8cea5b15bbf226c92d1d464ef12b171d86e4c9224c4e44c11180 SHA512 ea2fd290ae5fa173d1456af9447d3221ab3acf0d96bea0f3af115eeb237317c3295c12bc2c244784f895df3329bb3056720cb78e05cffcd6238711f7fe029333
+DIST firefox-112.0.1-bs.xpi 464492 BLAKE2B 6dfdff97c8395415d8d4016be80f2088b8bba54675932d4f52f4cb2a904426db3eba6eb55a64987b1896a2c64ca40ab0ddf171ca7acfad49a50d45d65b75cdc5 SHA512 a30008f01c82447caddc056fa44273655c4fcd7859f5a1fbd16f8d308b77d56d879359709d8b353e133078b7d4425f99d4d72fe4062ff947b7e7eec77712d135
+DIST firefox-112.0.1-ca-valencia.xpi 542849 BLAKE2B 10f824042799de6ee2a23f762fb3e5fc6a676492533754741cd2b0308571acdb875bbb0860509eb136a5059723e21eb9c6f80f87657467c73ebd9b3198ea194f SHA512 416c3029ec6a249138a3fac89e1617d226bc468019a14b85dc2d5e0b3d04c4658723519c9cc467d48527a7b03302c610eaf2ccd738ca1f3798c8c88fc0f33242
+DIST firefox-112.0.1-ca.xpi 558784 BLAKE2B 21e0b9d586e37d6e1ef9c670043a42f57a34aa0e77a54f2a67df2bed53c73f29346c5a11a15b3d08b555e08bef05c4d88676217fef71c87924f78f48c7eaf0ce SHA512 71130a0bf516f1695881ee8e1d682508763f39d2a3efaa312e6b578bef5cbeadd3c71d25e4e58fd244a6ea34fa4cc02ad22d0f184276e5338cd9bae26d910bfe
+DIST firefox-112.0.1-cak.xpi 580297 BLAKE2B e681ffce08c54988a645140d6a22e50e9662f6727045720cd88beef5539409f88dce65664a7e13b671a9ff7fc83bd02e521d361f199e99092fcb26179567ebc7 SHA512 86a04b0f5bb4669a81826f55d3809b0b7f2838a0a10880b737652d37b43917abffe991a49bb317c866f9ecb63dd8aeb7200ff628d2c492bdacc47d8087a19ad3
+DIST firefox-112.0.1-cs.xpi 594686 BLAKE2B 536defd744f4b5ac7f66c68f05377852e61d8f8ac4c68ab3e9133ca363ef361721f6aebae662873f91a112533e5cb402d35d8cb439a04d5fc426164f9ecd1480 SHA512 32bd19ebd8b2549e86413f67aecb83c8fc8a7f9cb47164deb5022bdab4dea9c3a0694246fa58e9fb90bf426a3cdaf70c8ac54e6e02e99e5ea183ca60a25f0b89
+DIST firefox-112.0.1-cy.xpi 573564 BLAKE2B 93932adde3129c85801612628fa498f7298ada4ea7d09369c600a61e7d4aeba81d84759fe9b4b8d624c5892e8ecadabde4ffaf755ca62f4c2c743e3bdd4de2ce SHA512 c1163ada3025270b2d2bb07d7e385c4cf80e9f8fe43fbb33a7a1b0d50ca2a401db480efbb09977819f935c8b50bd42da9565729b7cdbda0c37f1d6503b08d60a
+DIST firefox-112.0.1-da.xpi 563263 BLAKE2B ca11b4adfe2c43092199d6d892a6603daf9c7c2e78c5588ac1318ec0e53817a6d53a988ce6e187013f213bd8ba50d99cf2e32538e6a515d4b5a58c1906bb9811 SHA512 8190c9a7012f85626adaf8bcc6d8ca7e5903daeab3ef23fbd15dc1e681ac8ad367ebcd72dc2045d10584c1bf69148bc12c0208951f66873259a849adcfe03e10
+DIST firefox-112.0.1-de.xpi 584792 BLAKE2B 2eeb6fea0847d0788aeea2262fa005a641d32b23da0506252b5a48c8c2a8549e5bd6f25056a49685a55d03ba8a631df7879bdefcb39c8b9cdb4b2c2b71ff788c SHA512 9f4eed538841521af91c293d4c3de242d12de778e46ac2d7b5fa77a82b23c26e7e5ba7f9b9847160e7d19685897685613a2284d1f1e857646f8ed6892433d169
+DIST firefox-112.0.1-dsb.xpi 593196 BLAKE2B 1eb8e7e8a88756ebcb37dfb113e730edf00d04a79fa440796050c7068575088bdebd2bcaec3080a0817fd96759353c5c137d2c63edf1c05cad3540f4e902a7ed SHA512 3cf3e1782ced21e528c7c35d43443a60cb53dd93f5f7f40aeb2109f711e997ceb092a81dd1eda3dd3c8108aa48a03624f5688efc61462bd34827b1fba0112ba6
+DIST firefox-112.0.1-el.xpi 674357 BLAKE2B 8e8d2b35ee001529c77e279b20d523eea3a01b65a378248d03e0060498b347b17089dc0aab119b1bee6bf89b8326a7ed7e2b694c8b686236102a203043946da5 SHA512 f381e42326f5791025497bb843fdbb304d8c961c6aec2cb0c107d2ed992dcd6fbd5983952b21f42066a392405f3f68b65c28f79bd67a9f8b56b5f76127cd40af
+DIST firefox-112.0.1-en-CA.xpi 536335 BLAKE2B f92e18ed692fe7944a106998de883e68f92b6801a564b6d9b1a25c5fb15cfb04a35b27f8ff11464a083783607480820f22bc4f18a351515b95c66fd5ceb04952 SHA512 dd06dd274d992b5a1bcb0a84c489284e13c48464e6dc809570fad51d29002eee54475b98dc1b8889a5ac7a373ab5cf33560c77304488f8f34d1d26d8978654ba
+DIST firefox-112.0.1-en-GB.xpi 538969 BLAKE2B 5bd6d1f4023d15b9c8cf09877d708f30363eeee1e04c5880760b8eec51f0fd98900d608b2d3cb60459d5bdec19aecb2cc032f73a4c73ce63e711da52b10f1842 SHA512 ddc74fb0e87376a83a05d5d8748410542b3d7aa1a64900a0669f22bb61c961f3ac63b17cf726328ccd8cab78f3d5d516b7ac2d1ada9543d52099a893e22c19bf
+DIST firefox-112.0.1-eo.xpi 567003 BLAKE2B 46a9ed0872a27dfa0c9c9567c2a6c00b322aac03418c33f5fb75dc9ac405f74e8d6438ae904f4b805453d7ae71d50e5ee7ac97bb2467feaa5de3d11b57ec064c SHA512 2d57af09027aea19336d737f19cc9f6309385723f8de4998f06652473f0443f7f79595aa337c3fae2748ae51e8e7f19060a0e5d65a5fe42900326ed76d8c92a5
+DIST firefox-112.0.1-es-AR.xpi 578701 BLAKE2B c4a7168855a93590631f5b485dc535704fd6d5731dcaf47d30f026f0f2a0cc28562d71a444c08633462d9d0aaf3a31b934f4c0a9f462eee2ac7f9a39cee0be41 SHA512 2f5d7067cf4340570cb8020972f8ceada26f55c937d07bc980f35f1bd9706f9ff4801b7a3a977689df0cdf0dbcde4256eafe7eddc93646705c9c5e47dee47fda
+DIST firefox-112.0.1-es-CL.xpi 577896 BLAKE2B f41e907859d0a516df9d25417ba6785db287396b399df78f1c620ba3b9a85a2c8d3bc1f93fb66d74c6ff11a36720b8464b5a3cc66381e61b633edb10da5b505b SHA512 3d9d03cebb1841e92206466c2846e1de82e0da00d586c10c0fbe5305a78da92f078e9fad62b331f2c675555a7996473f88eeea5eda1563325270bdb33ed8e9ff
+DIST firefox-112.0.1-es-ES.xpi 571750 BLAKE2B f10ab5eac9b641eb9641dcb0155fc430a726054e860498b9e6bab772423d3f6ad95a375c9ab52403b126810e01af18a3caf505d21cacaa528055f777b9e30dae SHA512 499015b9a97b01874e8dc85eda7eac09da1d10936786a23e10702a941c601a7bc7ee8d0f97ac69e01cb2110bb71516dc59ed73c7bbf809c4e5ebdfd1f8460cf7
+DIST firefox-112.0.1-es-MX.xpi 579869 BLAKE2B d9d2950afd21f5968c56250292f1accb2d3610133b306655998cec4508ad07f0917db4ffa85d07331d5b9ecdb058d7f7282ed568db6b59bde73f42fa070a7ed7 SHA512 e0b81bb8b2f67baa59cdedd0ebdd81785bb70d018aa39a08b7ee0247b539e613c9b20444f2183fd498db032478b58d6c538dff7868a41bd91580d0fda2c87067
+DIST firefox-112.0.1-et.xpi 537334 BLAKE2B 5522e915282444202a436c31c962be72f9e93d8561c42f3a6ad2038a1dec0e5fe5a0704910e06ddcbec036211084455b8a68d1a75fac301e87059aff23bb9e41 SHA512 92dfa8baa4a5cafbcb7b6d85b392ca54787dff684904e2e4458fc3a62126e6ace634e63e0bdd1c6bde553dcb8a36e64308f835cf882b91a10c31330f2fbf9bc7
+DIST firefox-112.0.1-eu.xpi 565999 BLAKE2B 0da845c6b473d62267eb0df19a27837268ee91b22eafd15bd5ac87f15fe757931b1e07db212d47bafa775443f2d060e201d74dc9a2de7f9030b407d44e4d5bea SHA512 154b81c07554d5699f644713f5b55eef68f6326df1159e499bef31e6d376a2d716fd59fa1b16250e307021051a3325f06875b133484ed2ca725e1480b55e29f4
+DIST firefox-112.0.1-fa.xpi 581823 BLAKE2B 7669aeffc17856861d41ebce9f30409902d4ea8d28f3480f766456042b08ce91a1cb644b8162e9d4c48c7e3408737f8a5420fc9c5dd4a80dabdf340a30ecc355 SHA512 629447295e50138ec896adec9bab59c9c563207dd3277c8ccf80f313a0b161e474c1ccb3662915f2f96ec837941e83f4c0ad110352d71c9ff209f1e070760662
+DIST firefox-112.0.1-ff.xpi 476562 BLAKE2B 02b79388dafbdc57a228a4314418bc509cee4c706df2a50a7fe87ee8268116721ed4157dec71344cc4fe626bb5f78e52cb02acc520fb4e3c35be0dbe9ef25eb8 SHA512 e24f93b7c5624c252e6b09724ccc224ff8096980572b7a91bbff1a36f380d5f0aa4b5c40d37a640d125767201dc2683d54a284b992cae8282a4fcc12bf3e6285
+DIST firefox-112.0.1-fi.xpi 561263 BLAKE2B 7a24828bc3abdc98112ba2050dec07d972ec7bc486d43d2ccf8aa31f1de1592b2b6ef4ac3ed9374e18d38cb81aa108ac812db3cb89e5aa43bd7da68f3a5d558f SHA512 82c7424e2cdf17b6cff016129b78e258c46488e30a20577cd2a9272cfb9999a29e223b9ac2ef3f6190c105c59977d4842f736b827dbf75cd2ee87ff28f9421ff
+DIST firefox-112.0.1-fr.xpi 589434 BLAKE2B 833b6cae4825d2062f489d11a7e547a51f673eda2659817db09d98011f1b6902c68f0f42c5ebdca3fed682cd60e1522931edeb3b13d6b1b4a17d3887ed808b52 SHA512 071b2a70be578d72f38ea1cbb902bf3a6460053d8077e4ed97ef98f29d438686b6182e03673706ad6f631e94fafec18f7cd4a057ba15465f1bfb84c8da1dd80d
+DIST firefox-112.0.1-fur.xpi 583058 BLAKE2B b76d0e4a6fc1f58f41ff19d508c366036f3ff7cf950b464c669da0516c70e63a45d0d897227afe39017920f5ebbd98f77f0dbdd1b5ca707b38e93224c406d1db SHA512 8a044b24d76c48e6d12fdb3b65b0459da0c5eb1c8803071dfb2983f2fd39ebb6fc7a6d1ee5b2e15060cdcb39de69e164fc1cf3d4da5e97152ce6c613fb22d919
+DIST firefox-112.0.1-fy-NL.xpi 574242 BLAKE2B 5bd46a7d4bf2d4a3e9d978ddb209f1e0cc30d28f211021be22c384aefe372112d0dd85acc529e4bfa1b8a89e9d21aa542b548cbc5c024315cf9e341f33ec3027 SHA512 f78be49ad0c07dc098becb0efb887259c65166b4b1a7e9e3da57d356cc430f19e9decf62d06bc65c2089778bfd79833457014e0e0fa320fda040c035e339ecc3
+DIST firefox-112.0.1-ga-IE.xpi 473205 BLAKE2B ffc27e9ba118d524a6ae76308b8751bf8e8fea871e5e7413cd1551521bbe3e46e39bd1a762ad021eeed197de9dba93b0b02af6324503aae7ba92cd24a85a7239 SHA512 d616a63aa18d8f32638d3362ae73b1d1c66fe4a544059bc4f904f0d6c83de6a65554d2021b13e6fcdf17503b01ddd68177a2ead3a35e7fe1da25dc9001bf813a
+DIST firefox-112.0.1-gd.xpi 551292 BLAKE2B 26a4883e0abe7a56e40c13b444f2bd66d6c5b145298557b314b888ec98240e63640ecf47cc44e8d0485c13dc98a2e5facf828bad14b73364f9ecf7d1d5935d7a SHA512 73d57de3d316c9fd72b335c9167c08c6517d8f47887900f0c7e31bad335d243b24829242b68a3d199ef70057cf14fb1e9465982b36f12312ade7ae72fd07e6ee
+DIST firefox-112.0.1-gl.xpi 546179 BLAKE2B d2b97ff88994fefc588138bf0184188419363e2e7b2c85f78cc52ed29abe47a0ebc405401a679d8708c3c13742222805637dd88833be90f3e2b7eeedd2ef2e4f SHA512 d244b64cb21ec47d0807987bae638fd9bd5806d059a5a20633c27f61b28d283eff4d9e5f26928890bb0186ec026bedcda8c0e5d91a7a5dcea1f35a8b3f8f8835
+DIST firefox-112.0.1-gn.xpi 589197 BLAKE2B 0b96556be9f2f7dc00729975b4024e8f0cce21d95decd14b7777066656b8cdc21c24fca9c37edda5cecb6beb7a0ebbaabf66e371af6e4e6439f5c1106339b825 SHA512 1237792a946cf65d2528f19b60a6e280f3bd8befe5388686a9640daab19e8bc982260ca11852230bdd722070773e14e6f79174b4f96963d75374ba9f88f0c464
+DIST firefox-112.0.1-gu-IN.xpi 531466 BLAKE2B eacb66747d0d1a23914193c98e3abc37ef4d2d7bf7617adf66a7ab437090186bf8355450f09dfa45f46fea1269a849d6f07689ca0071784fdaaccfffcba57fd9 SHA512 6c0e9bb1e87abdbee60648211c394d08f417af4a7769c48c49e51b385b5017de567cf4c36c4b2fa784f048060cc40e4fe5872e5c6024aa34fb0ede7a90419642
+DIST firefox-112.0.1-he.xpi 582096 BLAKE2B b27671191eeb8dd74e0a69a900948c272b9b37bd025bcc47724e61cf18b66e7e896de18c67bb2b8ca1a9258697b3e5ed6d437d8bf6aee5682b85fc39c7860651 SHA512 a74fd8233e694d435ed33a6034e93728943d54a50d38382fb377c8afb7f286d0713d70ebbc1e7080f3927d42cb4020311feba09b96fda616437131fec1e24de2
+DIST firefox-112.0.1-hi-IN.xpi 560533 BLAKE2B c76746923aa06596bd588911f4f3886f5483e69af3e86fd54bb9e25db088957457431ad99b69fdb4815b9640038a640881901fcd7f6e1ea9850ff1b0910ef965 SHA512 bab7ecaa31387b8e7e13cfa66b518fb520b2edf902e0d2754b34cee0f85e25dd1999028e681e5e2f7caebf2bfdcb76b92a1cb4fcc7d2049cac5c0155f0720bbc
+DIST firefox-112.0.1-hr.xpi 549242 BLAKE2B b1454909a824e3c3c59042bcdb3ac80279c22c3b844d417580e3fa0eaaadd0bf61d401e9285ee937e258341c686a8e57ad9ca60ae0c5983079338d2dc6f58701 SHA512 90c077aabda3a88d09743aa3bdfcd4d374812d4e56c72fdf356b603a3f2f345956afa6ec32a88ee208bee9eeb644bce81a9283cac75a76f296ab468ac1bc596d
+DIST firefox-112.0.1-hsb.xpi 594281 BLAKE2B 2a6e17d60a436b9b672574b8d8899a564a69eb71811a302336901692ec90ab69ab981280285a8eee6dc8357dc29edd35e9446ba2cc3b04ae33d2ea8da180a57f SHA512 a7452e41305b5f7396c5c0de0d6e626f73c4f26233bc1ac14fdfdae008007bf501ef001e7845f183ec9ee89b7edf34fe41ba615f7dbbce9e2c7317e36c7473b6
+DIST firefox-112.0.1-hu.xpi 599393 BLAKE2B 3876436684e4f6660cd7f9be2efecb08bac128264e780964f704c49b301bb68648c67d2e9a1ea916193846a9e4848fe563eefec1512c03754f9afced172aa3a7 SHA512 60e7589cd9144b74c22c6cbc9ff4cd81d432eeab89d7b4a339b15eeb20c85d5f78e3cac16429e0b8c07c19d0cb146ec7afb3ac1b4813f2e209eee5ce537ed473
+DIST firefox-112.0.1-hy-AM.xpi 600437 BLAKE2B 1fec4e8afd0bb9e0c91897ba70d16893696382043a1816e52dc509055895083966ffbdfbf1bc5eb4db7df070943b7cd0d19cf3d2abb7335b10619a0dc561f2b8 SHA512 6d7bd384225f51e09db737a30184b9359e55a70a4209c1d85e65a7aee54b912daf0cf91876c304fe8fea16a5c382051fa491477bb4e24478204d018e987f9986
+DIST firefox-112.0.1-ia.xpi 562613 BLAKE2B f86308092d9e670d3607e468f61d8f1776dace99f8750bd7d0d425f7a9e9e14b384369776d40b54784722ddfb5a8320d8f022a1a84c891cfd45f5399dc3f6c74 SHA512 1c8fb6ad4a03e12d5d585f2e894c39b1d0093bc808df21c83aeab97519c19e521613e35cf72d02310e221e5b06703e7019950f529d6325a3e19771bbafb6c8a0
+DIST firefox-112.0.1-id.xpi 558185 BLAKE2B 9d16232196e5df7de731c24794d7311553b86ad1448cb5a8dbada430636151b6b3998fcc68874fc55aaed3b6d23bc92208be3ab3e136b6cfba9e0b095fcc1e99 SHA512 e9b5f5d42169fa3d6efcc386d5eb7586328372ca9dcd1e95679ba1927f682899ec93e85cbc038df5509f73dfd0094a7b330219ad0d6b4e9858537585e4a281b4
+DIST firefox-112.0.1-is.xpi 569042 BLAKE2B 40bbb7ce827ec601aeeb3c605cea3bcd6e7893d6cd20b4e9b91b839138888d50e590c48aed03daec8532f66d7c2ea4806d30124eeaa41bf5f19a818f8d6bb5df SHA512 7399ba1ff5b3e718ad239983e61d24734bfbf97f9c3922ba3c2e91d3e5adbe2cbbe45fd31311e501d6e7a7b77f8b372999aa764d7eba884a4f044352a4bcaf0c
+DIST firefox-112.0.1-it.xpi 500350 BLAKE2B 34a48b2e9edb20bf7751170e01b3018521f029d06edd659701ade458efb9603a8db1975d5d6c1b2b891a741a7d18bf5c89c1b9c2d33fa134dcb221dc0f57e2cc SHA512 fd96e381fc37b71e103324e369a32ccfc157ea797af060e8a7c5f0981660a1d60d5e45cc8b25dbe60404a22328290610dc5a420cc70ca363852ef2f54a8360af
+DIST firefox-112.0.1-ja.xpi 624649 BLAKE2B 8d141fef63f2ec24fcb794e367e1a402ab8a07a02094e6b46bb8c179a0c8a5bff3d230ee98471621a6707484440d5a8c502a9514d6402a98736152b6dc355c09 SHA512 5d674fa26d1318ac653156cadd17cda88398ef5f9b4553ca88e49a4843153852784bb73ab1e991688bbad9baa032a19ab15fa69c70703edce2fc18d7c7150f86
+DIST firefox-112.0.1-ka.xpi 628720 BLAKE2B d5fab0c1dd989e96ce3b91ea2b55bf3560ff0b295335784796004d7e181b5a345680d36d04cbc748ddfd4320335faa022840514fe4d8628ed39339dbc3791558 SHA512 6545f95711ffe4a2dabcdd852498fbd32e57eba97197c80471ee6b0f8deb8461f71578524a79fb14efbc8d9995c03286e5cb504f0b823e251193db0c522cf3ba
+DIST firefox-112.0.1-kab.xpi 580367 BLAKE2B fef2998aa04110fecf1a049db9e0dff44e947b12e66b843ad012d5b5ea461eff89f5a647a3e4493155b6ebc67ef86c8809e7492ef30f7521f7d3e09fe37b4115 SHA512 8cf6dcf3d7bfeea7ef265e62f9a9d06f43d7e7e53a295f88d2fe30470db971aef4cac5fde7b981e096602d70333da2634f1de331eb3803577e47bb5e63f6f89f
+DIST firefox-112.0.1-kk.xpi 650646 BLAKE2B 75ebadf8b6e5b7f1d64c67f80ee10092689a28db07f9bd1bdd434731d80d4f660507497e83c8fd5dadb73da44a3c33ce2f86953f130ccdaa977462d67c91c830 SHA512 9ae5f7265b05d649e84c262c2348ee929d8bfbd03183c30471284e3b9e65eb7cee1469a2b3fdc60548be074735503cfd742b40a6b236c6db5e2f8c187273105f
+DIST firefox-112.0.1-km.xpi 533366 BLAKE2B 34398c398d3611528091037900fa5d4a6494ec6deeee0c96058316e1f08958a1c94f83182c2200995881f955c4f78468c1d733b025ddc8cf9c09d118effccabd SHA512 8fda3821e0f30c5dbd3769d008bc7f0a58cf04cb6256c5cb07a7af14e1957d125b05c7e8ab3e30dada94241707e950425f29cfcb8f16c754e708bbe7035806c2
+DIST firefox-112.0.1-kn.xpi 498731 BLAKE2B 6e39d001b7219bd56dfc4535ac6e52974dbd64bccf292a68521f70b0a735e936ce188ed41e747791abdf297e93b70efaef8eb56bc1037f83b14f46a14abf62fc SHA512 a617c30f1cee711cb423c3ab781b120d5393444a4ffa8e0fe52859a7a872161b9de345a454f9eb3f52b2d6455e1eb2342ba9b56256f8eca61894b8f637532c5f
+DIST firefox-112.0.1-ko.xpi 609822 BLAKE2B a7681fa5bfd494fb5dc948fdef05a69b5b5601fbd420555c53063c75dc3f98524803a8a6313d5ddefc4d3d31e6d023e54d1914aad57ef9b79b02dd3ad91cddef SHA512 04c656c175b50299ae16cb65e0fbc7926fd9bf1f8602aec871265a3824178dcd540256d5f6e8680607231c3be07740eda73511d5afe076f8e2354d934523027e
+DIST firefox-112.0.1-lij.xpi 473595 BLAKE2B 3fb9875400b6ee20404a68c7d7771b0fac053e0296ef9989dde48446829baf2cc3fd9abd886301f7c0a77d590abba6820c0435bf1581b7611816419596d6c138 SHA512 3e7074777235905899a2bf0b05d456a596fe59805913a94312b50b1a02ed3046a7f1808d190152e125af268427da07f01989e495a9d32d0dbef92984974605a7
+DIST firefox-112.0.1-lt.xpi 569453 BLAKE2B 5631ee8896587e5e0032e8b021e8e9d3c27781079d54b1bb3edaa4a27d439fb3755068a0d7a5c3f24f677f03d1fef7446759d549e5f94553a0e02f8d9816b5bc SHA512 3db17015955786809fca3a92d55405288688af6b1e44993a0c73e0d69fe6bd1850f94f3e48aa5826dcee191aea28c0c994c2712bda2fcdbc4ea217c7e45832ce
+DIST firefox-112.0.1-lv.xpi 473273 BLAKE2B 34dbaba777aa04f6c2d6e1b15cfbf2f6c157b9c184d40806a509c309f42f20a063287068ebc06a0601336f64d8051fdfd77b805932548ee59c05d38c7018d490 SHA512 619008fe96d4fb0ae1075f061a7fda500e09008181df7d5fc031952e27ca9fd7c3ebb565a6611cb56224611f854680ade61e1f5e27f529cd22ba5c08fc78669f
+DIST firefox-112.0.1-mk.xpi 488931 BLAKE2B 95389c1636976f5135872fc065f58c9a1d2ed5d68d8bc2ce5122fa48907a78988b510f77f3b261bfb2227f0378be87185f59c192bbda5b5e5a3327e0539a806f SHA512 1b19b310e150ccc6241c64e3c4769afff92b30974b86c45d3649dfeffa1e4606f72c6dc10bb1a541ad5ee7f69073e85f2c73f781b8aab6812c78d391a2201147
+DIST firefox-112.0.1-mr.xpi 533814 BLAKE2B 93263f7360a7d8832c3c8bab10371dc3a7a9323c154fe4df63218b753666564d61e60eeac91fd0425f4363297dde4911503961f6bf94057dc5993b7fb2932f37 SHA512 4462c82e9ac268097ffc403783a5f0335200798b0f39918de5ee93652241f5db7da4d157657a5bbed851eb3375a33b95122d1bc95989cd5557fe98c704dfb405
+DIST firefox-112.0.1-ms.xpi 452945 BLAKE2B f40f2868df62b71c03b1035b2f9245d524cf070636c3262e6c5bc3a5d390ac88ce60020a2e7c0acddb8846036084ee96de85a9b00c0d229f4f493486617c8f9d SHA512 7434a68d140e0a06ff53bc70f96ef902a4f0cb386016e5d5da449da4ce783567efca2c9737d7c224333b533d3dca403e46d531959d5969234309af8eae129913
+DIST firefox-112.0.1-my.xpi 519346 BLAKE2B 18eebb66658ef23af0f897e2b65b19cba81c8183b61310f036898eaf00c2a3694492b01db84dd4fdbbc9f1742428d6d46839c49bb0e53763f6e8380a05c22339 SHA512 21be623fc120d9558e112d0a2a1a1e7dd93279f2030bd501fd4dbb81f8c67ac01f00d13c2ac83df1c7424139627c160bc1475accac58e3130956715686841a19
+DIST firefox-112.0.1-nb-NO.xpi 560426 BLAKE2B f9739cfb9880605cce26e05b2d8132e2a69036769165e811eca44dac308684ff3de0cfcab100ca5be3a033ab36b119afcc351cf6fe6cf0f98cb0176d1540834b SHA512 1566a849e922c2e9765c4daa0b823f194f2466946eb8c7c10201488db29b15ea46ca03b1e9dca2a1c3b0d353b9f394bd14b54fe00b9ae9d1c8a307f06d270522
+DIST firefox-112.0.1-ne-NP.xpi 487137 BLAKE2B a5489c0658245be585253bfc5d8a16f3963b97c586bac23080685bf808fff5f131ff140b5a93ff8e8a9e203384a0ba59a1c4e7555d268c2d367badebb6660a20 SHA512 139b8cd51d76f0aac3d9d89ef739a59b05b5357453ef0e8b630aec02589651ad42c3211d7ef134ca7780b530bed58267ebb0efdb330dd502a4926945c2b8d185
+DIST firefox-112.0.1-nl.xpi 568249 BLAKE2B e49aaa613b1fd5a230c4fc2b626db9859484b33a4e326a3de0fefa29e62da96b6287393642b01fb8f83591f59053b8baed06735f463eab4c2718bae2e2766c4f SHA512 5302d1cd8f7817d8b3962764887acf9cac7e3cb1459be91c6624bea9b07e03dbf8d87ea7f0b77da9579319af24de69c5e3191ac90c868429ad66cfd9e79f1d36
+DIST firefox-112.0.1-nn-NO.xpi 562958 BLAKE2B 7742000be8d9f0a044f17f4e7648a841c44fca5d6c22253209d4e38ac289584fe580fd69e23b7dbd7aed0dacec78974f41f16e53455ce1d2840db4ae9c61491e SHA512 66bd4cb84de9de849f808d728ba2a88b972040730ff6581f3de69d06e7b37d50fcd33e1c4a75b356205f6bf57e1a9d6d342f415f5bfe63fff6806bb8f0fd74b5
+DIST firefox-112.0.1-oc.xpi 584384 BLAKE2B a8e5428c09f1bd50f2fd2cf84f9b1fde0a63195762ae33458e24d292a260b9c4843d22345bfb7fe5a28cb066da2981f027834582ed279074680a11f654e156e2 SHA512 aba73ce401a80a39798fb7aba78651176b2d65e4681630500ac8287d091a8afd66ed6930b69153a4584cfafb670d307041694b892d08a7d470a54c2c88886915
+DIST firefox-112.0.1-pa-IN.xpi 639403 BLAKE2B a3218e31c179539de557d88723bb456206fcaadba3576b98c47b1a56383d3767d442da7496efa95b90db04f2528931c66f7b31947debffdbb54460d43ee4677c SHA512 ad1fa013cacfa5d7e9fd47c7ad3493438163a187784cdedc31643b9aed7672c2c57a0e8d128257dcc674b80ff26702ec6af2fdc4f68eb9943768b4ce64447e66
+DIST firefox-112.0.1-pl.xpi 591983 BLAKE2B 463993f4337faf0e3e68b668e2e46f64174cfe60a52b89373430aa84573241f96c52bea3d9c32acaabd61aa5cbac2f978b0f4c885a38a678bcb89cda55789c36 SHA512 f46c9d328e5cd82307dfea4494e2e06ae73dade3a3a437f257994d30f121aa9defed2f2d6f0a7195b000301c7d0bf4e37542bcce7ed130b2d18c9fdb71f580d1
+DIST firefox-112.0.1-pt-BR.xpi 572835 BLAKE2B b9efa0aa91a4b762bb4f558174d768e3420b8e5a181015cc2ab09ccf49c5e4c2a978e2cc6c5b0731f3d0b50322e56bf381ddc6d6c23b3c250129592daa097639 SHA512 1404846a5005bd50a269dd06deec89f6f18f9944dfeda2cb74d33d2acc5000582768a6d3530d88ece16058106027c46d077296b403f04aa6a9e70f362295fadc
+DIST firefox-112.0.1-pt-PT.xpi 578347 BLAKE2B ffcd82169747ab13f1d3a984cc1091a57e61aae077d2926681d6f0e08892dfbb94305555b6a5bd718bc73462458f3f51dea51e000dd9979be6e891bd57b872fe SHA512 6780a653a9a5762bb811c77a50951a89a46c223db0c45bcce346a889bcaf7f2e260f5ba177e08d026548288892597f7b48122ffa86ec064448d95a261f6401f9
+DIST firefox-112.0.1-rm.xpi 568717 BLAKE2B 946a092533cbc53cd8a393daf07619882b15dd94329601a872d192d6a82cfed10db9e563ff620897c5ed4b176b083d96285a5dd6ec3ffd3bf07b0f2dc13f400c SHA512 fa93862661ecfa89683715a46f4695b707880e3664e0fe5ef2b985038201a1f3c3bb578fa615109cc77c9a28e64847f28d2b9300aae1181a7a52dd22be4008c1
+DIST firefox-112.0.1-ro.xpi 537912 BLAKE2B f55a80a7580861f603d5f756e4028c4234d57da60fac1eb00a7ca244298a2fcbc664a004e80b50144f75089a738125586fb44f966718cf624e7215a831cfd0fb SHA512 94355f8dcde5026482db042227f83923e2a492d82be695553e247850d652ece3322a1e604a20ad0a3ff0e1ba69ef8ed4445a700f46cbeae1fce9fd205e892716
+DIST firefox-112.0.1-ru.xpi 663831 BLAKE2B c605608767ccb496334ade287874f783baebacb794e5c53381ed3423db17f5194fd66b4b20d1210a09139fb9cd0eb4a2cd99c5df138c4d2668dd717c8827037e SHA512 3828be5baaa42d666f390494777e796bc5a632b3998c4f4d9e5f6d11267e36cc05290695f43fc2697b8cacf165e81690c1f10db94e0109c560509c663fcd9bc6
+DIST firefox-112.0.1-sc.xpi 547977 BLAKE2B 1eb3b8eb4fe424a1dd983545fa2169586f6cf5b128a38b9de7aa700e2c6a4e14ead19af553d87867ee326e40c1d2b7e44dc72a7375e438766dfd1f12792ab1d2 SHA512 1d281ef058dce44a46b7613c0b7f3a69f8a37720633ff8f056432b875bd2b01110713014ab0ecaaec08ef461e25ef725e329e9286a3c0e7d66127b3b47d635aa
+DIST firefox-112.0.1-sco.xpi 507899 BLAKE2B 5a8eae3321bc66ef8ad0848ed55a638b06ef01947a96d2985a9be84cfd3f8a648754ae35be57a07015ab6705867393c6c96d257bbafe8f5e3929ead104da4ba0 SHA512 2852be2759ee4aa0b3538e307d41d27e9b1bf422c014c92d38caf1bfbf4d215a7cad7cedf6c94acd77580aaeea30daeba1c1fe5079e7680811e05dc11ac2a131
+DIST firefox-112.0.1-si.xpi 576300 BLAKE2B a80f4485d2dad228cf1303dfeee4a9d9bee51f00f7c49815c1dba225070a0104e069aa59588b8ba03a0c9a4028f20622d4bb060d6a5600e4ca392f9a4be0ea84 SHA512 c3bcb7d34b07e60bbf4f1d99d6e0aa8348d4006d4a7f8727b66cbdb26ba7483eabb70df999efc6ae02c0d73926205045c8ba937a1f087d1acea8cb8c39e6f44a
+DIST firefox-112.0.1-sk.xpi 599879 BLAKE2B cc9135dddea8105a6affecf5bf8370ec857efc7ac5263951900f36266f70ef01f8a5d296ba1e9b4bd269f7689bcec814ab93c63c3e88bc6896b2a5be47c02cd9 SHA512 b0094d8f4c1157e4b4bd5bd85ca4afdbb6104d37442c42bb76e2b15de0378f09e68090f7cccf3b6d9113a17580fdb4df854af5bc6da14d669e6d57566eb4b846
+DIST firefox-112.0.1-sl.xpi 571234 BLAKE2B 8f6c7e41b60d287177b7fab8830afa3c016eaccdd53e0f1ac8a348d0e58b3db8406c09b61137ee51c79273db92a490eafc433e750d6ce1a37b37f5488e14d486 SHA512 5bdcc008dcafad09864d35050160f036f185a67877a72457d3fa8b842502c286131ef18c7b839cbb5bbcbb0f68b4a6f6dddef25095f43308a9f94300182d51a3
+DIST firefox-112.0.1-son.xpi 424790 BLAKE2B a0ce4ce89fe8c510025f712241d290f3be6042b7f37db556780a317576bda00a0ec8783917fabb10d494d5ac00f78e3910600d5e1079608511e68b2b1f60c737 SHA512 b713dacbc15e6be8c98d3b5f1ea7b6eb7403a0abd5c24c8cd8b299712bc8d5f25f01abc860a57dd79e73bf2f56ea6899e2cc26f941321e33fd5b393775672334
+DIST firefox-112.0.1-sq.xpi 587589 BLAKE2B 7ff18f8110fdc0f2f0a89e726bb9b2585971f3ef2d3f9d478d6812d33484fa7216440192009b71fb1c5039cac70cd53f564e79f0973c0f9098cb05b555faa9d4 SHA512 643b6f688b0b7244b35700a23279c928678113057cbaad882a2702a735c08e2d7f94ef813ec95bde7f4bbeff5b61559eb89897193c2c674d73d74176e1853d48
+DIST firefox-112.0.1-sr.xpi 625890 BLAKE2B 222f0cf02d2725e4fed748d26c65ae34723fa6d1554a47e3456c4e3d4284328bd20a3ade56be26247705cb9f00a9f4ab6f16b14d39a268df89c7e6a3baa98e1e SHA512 2aa01e904da20cda4dfdd2c3be7a4f189112b5f19ae104d152cea23d86cd98ca429fdd452387c4e383d38d7b098ec9b42dbd7bea094978fc2aef08ba0e16841f
+DIST firefox-112.0.1-sv-SE.xpi 570227 BLAKE2B 206e7fc5a6ed0bc1f65b03dd0568f2ec759d89083812b4f2666d2cbdad3ef238c0c7e2182ca7530bbd75d24537cb43a7cfa936d45cef20c4e5c44a76ccbb527a SHA512 1cec94edb609bba1b73a433b8dfbbbecc1c807ae78f9aee34e6e170d42030dd504245da673d72723071412f24a3e1101b3d184b4407ea5eb70bfc284477fa76f
+DIST firefox-112.0.1-szl.xpi 520787 BLAKE2B 3144d8441ce7b0a80187b12f2f3d655331ea1c07b3cb31c4dcafa408888c264720f4d95af3340fd8373cf66ae1ac71ce81b548abd6c9b777367e6fc32a9e7ccd SHA512 30ccec463869964e93dd3a2aa27629076c3f2096741410b739637d4bbd2af8db9bbb866ec86acefa6923e818dcdf5b56953eb787052035fa1a13a4b5820356c6
+DIST firefox-112.0.1-ta.xpi 510937 BLAKE2B c8e0354f0d68276bdc5523430fb17cbe748ac316ec698ea478367c4cf359f2647ee92c1bbf5ead40fbd72504c24fc9a671c733217d7160704946fbdb80774889 SHA512 3107b50a81309afef20c850c4fbaf337638945fb9d5872ef2219f364b5bd44fb3eafee77d65d101694ac5c5578f245e4d535748daf09eebeecdcab171a090d91
+DIST firefox-112.0.1-te.xpi 558908 BLAKE2B 0b3765d57013e0338f8c07bf6eab511bc805b35dddb286b6a71dbc2917618747a86e965c38489995728e4adc2271b0d7864a17e11505fac75375da0da0947224 SHA512 11556eb92f885e95e2cb994b9cc61c9a1a0397394450d044f3411a079b1918bf7a1024dd1c0d1728812516bbee081f20dbfdb55976bb0c2aade82c0be0fbc478
+DIST firefox-112.0.1-th.xpi 642639 BLAKE2B 786c58ff814767a4c957cae3bf18a5eb773cf3d29b2649810aa6aa2cfa4f3dd9881926a633bd8232d08901ebaa4ba61c39e90ebe752d593440ed24e86d1b2baa SHA512 63239b89ee741f5ddc3ae7cf002d39f4b0aaaf2623cb26d488ea34bdfccea1a3af9baccdc4bc6064435575c8295fd72cdcc64840f6b8780adc41ac51c625dc91
+DIST firefox-112.0.1-tl.xpi 530630 BLAKE2B 076b5c51eae82e2562388a6f7f8c44f69a17496f76cecda6af2aa56ef449ddbd3bb230b63a4ae17aaac64b3f24cab3ed678f020dadc7b586373c92dc3016f9ff SHA512 3b130893edff7b31205da2083080bc6caad35e03db24020610e5923111816a1cad35fe220da32f5b397e2a6ab2f985759c66f538796b434daf42f5d1212d798d
+DIST firefox-112.0.1-tr.xpi 583010 BLAKE2B f42a7e3095d51ea346d605224f9c4e1c952470b6aad5efe09122110b6418c0fbb517ed482b28af1038e5e1b09126f7d964c6438fb8e2f4788ee6c5577b6e2943 SHA512 8c2133cd9e23c7130825142dfde85aa6346e5ff33ba61c006a948ae9185494509916c71a91bb0040700c2e8f57a64ee2e03ff6a9d9ca9299728415080093cb17
+DIST firefox-112.0.1-trs.xpi 489988 BLAKE2B df0894509595338e3f5a73fd6d13ba1bb4035dc3774bfac9782c1c7997fc15716e052a3db10d20b94b0ce0503df2db2685641ed16c326432e85d87f47bb91dce SHA512 1f4d340b50447f1ac940f238641900420b0d78d5d4981821363940896a35c1128f741ebda308b3477fb1a95bc8740d8704a63444f8e6f5b7a5634f834d7708a6
+DIST firefox-112.0.1-uk.xpi 657033 BLAKE2B e06f85662a0b13aa6a002e66281980b11dad13c9a222115e0dc5f4e2bf7d56bb211a6b640f3bd8cc143b78e4dba9ee175e6b4af4ae73fe9892df7b7a767a97b3 SHA512 521df8626f9aa2e869400f2b6b389b5020180d5e8a790e4ad5dab1b4fdbbc6cc8b1ca2a83c1ffe85531b5c0608524597fed381c8b9504df7738cab23e5d23218
+DIST firefox-112.0.1-ur.xpi 560846 BLAKE2B 53cef49439a8e00c213d724c5f7f65c5412f898589cbbe4dbde04e686de7a94f3caa02cea3b6e4b149061186467dd0d10116c9982e1106a6e96650725ae734db SHA512 8b875de7daf4b104f5de2d75d9f19612e644c436816d4765fab9abc4148e61ef1c8fcd4d564530be47c6ed6dd404d0011befb962efd588de16735795514055fb
+DIST firefox-112.0.1-uz.xpi 481182 BLAKE2B 4193b8d90097aa97874f30b0d0b4e685dd6d1934b1c0a3f5fa3ce5a6329398416ca778f96e26479a36306870daaeae5555494b66d0817eae715cb666fd1f47b6 SHA512 8484b4c4346b30f10e312c34638b2c2dfc25fd3445201966a3e4edb87816975b9a2119c7bcd236e17bea648703512290942ed92aee987a0d3f5b3680697ea6ae
+DIST firefox-112.0.1-vi.xpi 606041 BLAKE2B d2848c641cf6a5ff0276b3268c753d3e883df38a937e0a12e8484fc56079f55799cb9f2cbe2a6785f901f83c07ee5e1363d8f3a14849d645f63a1ccf5642c3bc SHA512 e8c393155b2ce668899d5ce025c0733487338ccd6ca9ef3c2d4d72c39231e64b906a27b4e3017649f51fce3530e42be2ac72d0e1436df1906243aecc7939c494
+DIST firefox-112.0.1-xh.xpi 421619 BLAKE2B fc2c90a1db0acb8adb63ab35db7dced4add5708c34599c102123e1558804c6d93fb9e802e993717425863497c36bb42eb093ee6185f284bb74a862661ea22b0f SHA512 914c3f3704eed621fa4b5d264a670c8285b90a9676182a53344ad66d8ae6ced40988288eced5b2022fb66216a7b299a9b0f227f1cb507cb20521db34056f755a
+DIST firefox-112.0.1-zh-CN.xpi 605634 BLAKE2B f7e38d12da2aa3abef33b368722123eb41751de3934da769a5aad61a3a6e72edf44555b0bc46757a23fb01b44bf91fd4e0adebe048aedcc76001ee161cc8c6dd SHA512 1987f3d5d83b339aab0b9958064f927b61cb9761c102f008339b08b14ab4b11bec34170334a3d4b7fae6c8c7e814bf1ef181f25c66fda0938927fddc37deaf2e
+DIST firefox-112.0.1-zh-TW.xpi 607189 BLAKE2B 95d3484406e81f2e82e3e6aa4530f3dfd76d80f7927dcfe56471f830bbdb58a07228e136690308bdf106211ff139400b639805ca07421de26497aff27520a149 SHA512 b42d7e2ad114fbd50ff74969012776ba26a93ad4ea8e9b777b1c314d28cd2e65fedff6e5fd4ab10c0bbc6aef8e28a99d72d9d10da98fb7cb9933e52f291b45f6
+DIST firefox-112.0.1.source.tar.xz 506649248 BLAKE2B 99f38d96cd3d2bc68835ee0fdbf2e9e3ab54324409092cd11ade096d8cf678e1fd69087897a4a4d9c4a30cdb08e0e14b881ef834028dec7598ee55eaae301f80 SHA512 23a5cd9c1f165275d8ca7465bebce86018441c72292421f4ed56d7ad8ada9402dc8d22a08467d9d0ef3ef8c62338006dfa3bcbddf12cb8a59eafa0bd7d0cda50
DIST firefox-112.0.source.tar.xz 497250760 BLAKE2B 6233ee202d000ddd5b0a2eafff09226abf2cf097ea3e1184442ad34e92f6fd408f1891a2063e459d419ba074218596f48c95c860246d4c46d2a4fca3df27a78a SHA512 6b2bc8c0c93f3109da27168fe7e8f734c6ab4efb4ca56ff2d5e3a52659da71173bba2104037a000623833be8338621fca482f39f836e3910fe2996e6d0a68b39
EBUILD firefox-102.10.0.ebuild 36945 BLAKE2B 7fa69a1943348e1dddb8143d3012a185054f66cb5d5147a9e69f502c7e29267c5e4ac06b6bad86e55122fb155c176912568fac3e8ef2daaac66ce4d9988a4575 SHA512 4f475808715fde3565fe415d0e8321ae38aba1c253824b6ee8f5fb1041beb935c516fe4ef034ca3ab736db968b99024ff2ee891d8cd30b5dd588e31439a0d6c2
+EBUILD firefox-112.0.1.ebuild 40295 BLAKE2B bd9fd48a43745fd3003c12dd65448be9d17b718ffd8a56061c6179da682c855702a7220366f2a5d6b6b2498d82cc869ddbe6ca085153820f2266f896850cf005 SHA512 60032f146604ec3ec0fafc556e3607ccfdd54755c5f71b434d5bae823520e1b25a298023e01ca2b5a28b9b9fd3873ea6ac15531315f38a9c2cdca841947f83bc
EBUILD firefox-112.0.ebuild 40323 BLAKE2B caa6d90fe78953e687a6ec6ef08ee1a4ceb77e05788064797bcc16b26386d48c5de09e7cd56b5b76946e4b4c2f60d6bc711a567c50b3908c7c062386b754a1ed SHA512 4c699107ec5e65a234dcf97eaaa4ded39a9f07382a06f2b51ac98a9a9c7dd63f8cb2fcd5be1f1f7eb22013685e87de7f3bde535722df66d1885abfbcdee24828
MISC metadata.xml 2219 BLAKE2B 064f486eecd2a66ef4c9cccef46803f877039bf16bc40b699a48e28e04e816d0ad434ce65ae2e056e1a4126a67a7dd7eff16040276159c1f5aa8966b1c0d7b6c SHA512 522b09ffc2857553e240b1e7c82c11ccc281dd87c720c6292ec9314b91319e0a55ca2838f17e878f5c1e58e4f22caa1b0c3b90506b65b350beff06f3f397d897
diff --git a/www-client/firefox/firefox-112.0.1.ebuild b/www-client/firefox/firefox-112.0.1.ebuild
new file mode 100644
index 000000000000..9b54c0545337
--- /dev/null
+++ b/www-client/firefox/firefox-112.0.1.ebuild
@@ -0,0 +1,1379 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-112-patches-03j.tar.xz"
+
+LLVM_MAX_SLOT=15
+
+PYTHON_COMPAT=( python3_{9..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 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,whissi,slashbeast}/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 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:esr
+ screencast? ( media-video/pipewire:= )
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ sys-devel/clang:15
+ sys-devel/llvm:15
+ clang? (
+ || (
+ sys-devel/lld:15
+ sys-devel/mold
+ )
+ 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
+ )
+ wayland? (
+ >=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.89
+ >=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-72.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/libdrm
+ 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}
+ 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-lld ; 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}: $@"
+ "$@"
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+}
+
+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() {
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+ ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
+
+ 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
+
+ # 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 ..."
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-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
+ export MOZILLA_OFFICIAL=1
+
+ 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-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-flags '-flto*'
+
+ 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
+ elif tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ 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 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}.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
+}
+
+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
+
+ local show_doh_information
+ local show_normandy_information
+ local show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla ${PN^} shortcut."
+ elog "If you still want to be able to select between running Mozilla ${PN^}"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ 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
+
+ elog
+ elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
+ elog "useragent checks. To temporarily fix this, enter about:config and modify "
+ elog "network.http.useragent.forceVersion preference to \"99\"."
+ elog "Or install an addon to change your useragent."
+ elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
+ 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
+}