diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-04-18 11:55:01 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-04-18 11:55:01 +0100 |
commit | 7288c6e5fa05acddbf692a5187d925ef85662b46 (patch) | |
tree | 54bfc06561e59d1ad1e6e7bdbd06b76fc4ba0d06 /www-client/firefox | |
parent | 5a1fb66df455454109e1de61d38b48f509dc68b8 (diff) |
gentoo auto-resync : 18:04:2023 - 11:55:01
Diffstat (limited to 'www-client/firefox')
-rw-r--r-- | www-client/firefox/Manifest | 102 | ||||
-rw-r--r-- | www-client/firefox/firefox-112.0.1.ebuild | 1379 |
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 +} |