Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Sun, 25 Sep 2022 06:42:23
Message-Id: 1664088137.42f93fe1a1cf9167db000fb5e5b21fc01c428287.juippis@gentoo
1 commit: 42f93fe1a1cf9167db000fb5e5b21fc01c428287
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Sun Sep 25 06:41:12 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Sun Sep 25 06:42:17 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=42f93fe1
7
8 www-client/firefox: drop 91.13.0, 102.2.0, 104.0.2, 105.0
9
10 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
11
12 www-client/firefox/Manifest | 395 ---------
13 www-client/firefox/firefox-102.2.0.ebuild | 1274 ----------------------------
14 www-client/firefox/firefox-104.0.2.ebuild | 1278 ----------------------------
15 www-client/firefox/firefox-105.0.ebuild | 1287 -----------------------------
16 www-client/firefox/firefox-91.13.0.ebuild | 1236 ---------------------------
17 5 files changed, 5470 deletions(-)
18
19 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
20 index 03c70bc3e780..3589f6dd7c00 100644
21 --- a/www-client/firefox/Manifest
22 +++ b/www-client/firefox/Manifest
23 @@ -1,101 +1,3 @@
24 -DIST firefox-102.2.0esr-ach.xpi 443117 BLAKE2B 2f51f80dcf1c375a8aa17bf3548c1dcbde77e8c5e2ddbd9cfa6442df190f4b82afd3dbb51671169563279f43906bdd637c3d84716bb624daa4224751c96f0574 SHA512 7845c5ff08d5393c84977fc53998b3fa85f33375eab75d5fe58a83b7baaa4e437908bbb87b26c25015b8a4f924edf8b03b8e2fc9977d60ae2ca98c813e2a8eac
25 -DIST firefox-102.2.0esr-af.xpi 408454 BLAKE2B 10b406e9525dd2a8c95d2f54ee6b99f42821e74224ad95a72e41977bd57a40077b82887d7cb45718616ab92c34f921626bbf178d76c0c372d9132d31234bba74 SHA512 45cb00b40353169e8dea93f812bbe012698a2ef99cc9ba80e5f192ea0848e34bef4f511ed409d7a0c94a456a7315e0ea3a39877029bb05dd1c2e5b5fc536c60e
26 -DIST firefox-102.2.0esr-an.xpi 486996 BLAKE2B e5c5fe85ccfb4f587af54a3e6edb3704daf3a85032294e81b6c783670b4780e675ff5fbf8803de69a66f74935b60e6739439585b9149d9e8bea8684208ec9d3d SHA512 aae8ee12e58888e3246918233ba2e08c48725e4d7d6fe6c2d8e3def23f34d0426211d7a8c144c8b936d3713456e3f510e4a0487922e7527df55d8ca1155cc978
27 -DIST firefox-102.2.0esr-ar.xpi 550925 BLAKE2B b8d307b2f5cf6a507f23f780bd084c151b9b51fcfa31e2157afa543bc5af33d190345e59a03fd33ba1756fa3b7ce286541881685429ad25474e18299fa7aa901 SHA512 4d21f00d42e37953982199fda14d24e608b14e26cedf08331f7d0d07f3b3e872e5490b79067d63ec23b795a13caf2e5cfe55dd30c9b2b1f2ce8917b59374f0d9
28 -DIST firefox-102.2.0esr-ast.xpi 483312 BLAKE2B 8eb1a459f7527c9c7d1450c684711a0ba948a1bd5b141e6441ddfa663ed471aa74ce8604523be28ca80cc72fd68af61009c4e05dd0914fe918a29898e36c0adf SHA512 d36ead76b77dbe37d886e66774a53c04411cb237441ecbcada40c4c08e1ca0303766f7eee1c0b63e15ef3cec63ecbf330c914ec90b895a2a8a059947c5758d6a
29 -DIST firefox-102.2.0esr-az.xpi 474708 BLAKE2B 4892da38653ce4c6fa02239dbe717e5def960e7c31ae1def8e1b4e50b5dea9ec20e200871bcba88d9735920ee0f3c70cd3c68021165d62b7a88a841e388d9f7e SHA512 18f471be51f02abec75c7b67b16cd0493ad0afe36f6176c57ab002b073435d2fff072880ef44535a3f3f42449ccc3bf160b09f711d167d4a7befc9c5987f676c
30 -DIST firefox-102.2.0esr-be.xpi 613482 BLAKE2B 8c82c4e655494feb47954f4fb7da0cc592fa6bd39f8a14f02ae2b2331d9c9b69c239ab25c7f94c6031871c6a0a7aa8db08160b6166e7200de84e989dde523234 SHA512 53f98f38405e3dbcdc93c7cb616b1272451cc1d588604fe5e0a888e7aa5c8273146de556a3662fb50b516ff15efd85f18c42ec10e85f0b68c0a0fc040b1a7685
31 -DIST firefox-102.2.0esr-bg.xpi 563645 BLAKE2B 92195668a613a78fe52a30e1a811d1516f1b163e3ece5565d4fced760fbe1a5e93b736d9506e46727ac2c2df2730c6831e61720e3d9623a1049fed6b1be47358 SHA512 2998c95d8497f999dd958564a596172d9b223f29a764b04d82d7336f7ad6626ae217e1c9f3c152472347823cd4e718d4837fc96c5b536f9f2f1056ae1123713c
32 -DIST firefox-102.2.0esr-bn.xpi 565253 BLAKE2B 2d82b636c83a60b7a21dd78de4a049b0d3f7005840047c3cc45eab9930efc4010fa433a9569ba60b001a2ce739c30356b00f7216ac26ae8b459b14899456723d SHA512 a26bee769ecc8837c8da89a9047a81d4c6a5e4cca1ff4fcf687b7a36ad83802bc91ce983c1a12169c08fa6f843ecefb72c30ac40fd1b9eef443e1b3c3b30adb3
33 -DIST firefox-102.2.0esr-br.xpi 521036 BLAKE2B 83ed8ea0cdf36ff212bb6a9ac45f7ff2de40b9d3456d8a26d829ed9f6bd803768875ba871c55092f8f758c907f7606b4be0257c71f69d0da19c088e439de9d6d SHA512 20db78bcf2e3cd78492b04d4641e9a22809cc6c86e29a623227a54af9bfebac37c6be6b619b707736ac5f8f31a59889ba524989c9b60a0f24e21a1c6a8e02925
34 -DIST firefox-102.2.0esr-bs.xpi 451833 BLAKE2B 030a7348f92935db2493616bd5ff0a626a6af7d12c49a2efdcb2f74fce14764eb100394f42ece3a3e95dafe7a49ab8c48b4e9ad6e6a76c88be96b70497d78231 SHA512 c48931f47512d4b2c3668c8a175e8738d254361acca7afdb4dcce526ee429b0858a39b8cb1b4947c1c30fc60dffe2f61e72ddbe7eba05a57fd2dc379f32f22c9
35 -DIST firefox-102.2.0esr-ca-valencia.xpi 526181 BLAKE2B 7dbafb073a7097db3f9b8909cfa4cdab85f70984df26437bde8ace14315350a8a3a1ee6ae69184047bcec79f5e511946cbe533da9a2ca94fefe115dce25f2494 SHA512 8c7efe3791efdc847cf0071d72111b57a2fcced960309a55cd30f7e804458aecd5614fa77e98d8e46bcc582cee005588531c5446d11f2b53efe8899e51cb2f1c
36 -DIST firefox-102.2.0esr-ca.xpi 522652 BLAKE2B 666c1cb2850681180ddc0a60b0de31b8768da260a607cb254b73523f6f25becf16331ae63e954370c3105eb2f31da6db04f79f2484f0c39a74c52a9c99bb734c SHA512 ab3e7bd92b04f458942b959ff9025ba899623a9ad51e56b3b7a8c7e3d1f60fcb83cacfd03fe11571836cfa329fe055bebd6f45b4a2475a1190622736a097be15
37 -DIST firefox-102.2.0esr-cak.xpi 539676 BLAKE2B 25f1a914903916f09daa28aca3f05d1a8b9ef7e4d0a160657a61b3718969b238454d2813f989adde7dcc1689d15bcc4487c6b7f8f2e44e6050a778bb25b97e61 SHA512 833b93b07bd732c4a21b63430e4520bc36008257e253fdd9f3289c171c5c033267d30d7fe7e2905dc2dbd64469d7c37e4ce081f2368e9ce8af9333ddd0c33e4a
38 -DIST firefox-102.2.0esr-cs.xpi 556823 BLAKE2B deec630388eb9f68e08bcf1c527a7ffc4d9cb684d48c0ae6d7f1f6d23dae427d373a709e03c3322c87234921112fa1ee1691779d2c09d69403fc997d562c8c7d SHA512 f1ab9f205eb3859c5b2ac1a4247b6df8e626213ebac6d746f53a4912f9280165b28922fc2cef93f104f8cf318e3b9f7c6ebb5a2806846e0171d72f2ea9852fe7
39 -DIST firefox-102.2.0esr-cy.xpi 533753 BLAKE2B a6fb3f98bc9f25ea406d772cc2b37b578ec6bb7a011db0dedd7092a5f5407952b851001a2b208a166dec7c4f66e942056ac97be12be7f01b98ef7c3e178a0e9f SHA512 cd3b6bf72ec7dac40868f5cab69c63c23a6d0f0aa89a653584eb1d7e61b792d767410399718a415f96c8d0caa134e99c8982495b95a8e81915c297c390915d69
40 -DIST firefox-102.2.0esr-da.xpi 525909 BLAKE2B a0621e2c4461b0d3ce9052d717c8c4b473454878b18eb501d59372f85b7c471c9a4b7e2af99866de2bd9ffd0e964c02b61e059df174a9e4f483d19d37a06324b SHA512 d1bc8f217194f38467b4a1167151fa110bdef55e1440efc7e0fa21af7b7bcfda613f8ae6b5f4633930a925e54623f88b3c2d8adab3bb667191b876986836e8ec
41 -DIST firefox-102.2.0esr-de.xpi 544846 BLAKE2B 56e6f3dc149b48f88c532be48580f7ec5f7ecc58f125ebce21caf0ae8f2adb00569bc8e7a580742df409d20e79fbf6f68830feab57a6ddcfe76d6ee25dde17a8 SHA512 cb72dc89683e9f788cb623a2c4757c23b5ab62bbab215495c9a8d2a87ff5d114070aca12990deba11b69b2abf615d8f21484af0ef7c3f765c0f5c732302ab987
42 -DIST firefox-102.2.0esr-dsb.xpi 557555 BLAKE2B c240ffb38301ba5e8ffbed510d1928ed6ab062a3f8ea80336077bdc6c44fbc39feff1c1a754490c5a0e7d327e394f83e34c26ff8b0817b33dee5b02dfa6b9760 SHA512 9f0f761084c505864d9c07958cdb3c534eb866dc736eddac91fe971c426334941e17000cff1322d8e8bcafbb1a816719b110f99b81b026e1820e1dd3f382bd6a
43 -DIST firefox-102.2.0esr-el.xpi 628794 BLAKE2B 5f7f5243fc69d2161d8959e29c2b2fa86ab630d3f67a098cc258d627fa5b3dea49f0bb7aab6a902c4913971b7843f3d31a47fc2aedcb0f66203bad5603eafbca SHA512 dbb7689aa56ae0437b7438b0d8be3439b6fe7f96221245453a03ac11ae9d3fe71ec9da05725d818d73de157987f5040ae3171b8463c84c779b2b93fe6a88a63f
44 -DIST firefox-102.2.0esr-en-CA.xpi 501972 BLAKE2B 5ee7f5ea9f4984084368ae63900a92632745d6dae9ae4f91281909bd53b95969d54010f76a8cdfa5c0309d5760cd70b37b444bc9b32faa01bdad2842f7f7b568 SHA512 27c84295d5295c9fe5bebc3c0bcf76da07c3020e7c6273d1c5576fd3f6164917505700ac985cd20b011b1baebe3ba5f22b047e0a84997ede1d7f396067972160
45 -DIST firefox-102.2.0esr-en-GB.xpi 502463 BLAKE2B 4d320926cf920937d5e94d3cffd87d8cbb13b5a88c609d9fcb7a90e2b78886bedd145560941055cc836ce75b6cadbf55ba13a6da2ce627a0c1bf2e607caa910d SHA512 7c27a189dc22e49a706c64ef614b4a3ec3bf9992484fb65a8ceddb2a73ec3b621bdd0d5f2e529bc47354fef19f942a7178a581f6a15e04c33c8a254e20dc22c7
46 -DIST firefox-102.2.0esr-eo.xpi 528420 BLAKE2B 0867af39981b0ab238a9c60d824a07ee068f939f57e6aed9a5c05fd04b349986080f1674ea1073e386ea5eac4517a9afa393d326ce042530d91f7dcbc5750992 SHA512 cd1e2c2aa3b7065686de386d095432b23243e19fc2abcd88faa8473043ef7bd8bb8dc7a5b4a9e8297365fdfe6dab9feddfb68b07c667f970b056b672651ea3a9
47 -DIST firefox-102.2.0esr-es-AR.xpi 538394 BLAKE2B d179f509ba60d9a90f2d16c0e2db740e48e29a4265fe4fd94a10f814bb5b8d226a59753ca11b75e28d840267d40b8889751f6775e6ffd58eb92b56355d273465 SHA512 5d61c6a7a5ec90e6e8daf68fedb657201b686808d052c658cd9e7f38a838fa413e000789f84729bb08b342641ce3a396b89069023054e6b24c78ac9e2c5d0e2b
48 -DIST firefox-102.2.0esr-es-CL.xpi 537632 BLAKE2B 5832404ba8c3e51be5f0328be1be199e45c9b74d66eae8e3c45e4555938563a2f55678ab327cb31d1cfbf3b6ee9d55c8cb63dec41d9420f610d634f2aa4a20ac SHA512 aa22606a8e08f1617f68408e5e3f8f60993bcaaaedb1ac9969e342020dd3f2d3d86959d31cd12f2ff51c944b583baa003be597ef96f22c30c0bd5826ba362d28
49 -DIST firefox-102.2.0esr-es-ES.xpi 529045 BLAKE2B 0645ac996bad268c802589be11b7496a0fc55c5b2f03bc4adb8f94a6429ff638653211f0f62eb5b653778f9778bda66b6fb8e60e62fd5b8b14946f5d77e42264 SHA512 780262d84b1ae08dd17681a0a34805f9fd5f2429b7151b850ec55ad4a6fbcea431127d0b366aed64778536e3b73d0979ada41b81b369880114f61c697f27717c
50 -DIST firefox-102.2.0esr-es-MX.xpi 541460 BLAKE2B 165958236e6ea6eac4fa0aeadbca566ee78f4d719b6cf95c41d3416e82b099d1dc6cf5aaabed210f1d1f19a83a85165034360f9677c39fa3ba834010ff8af4cf SHA512 66eb40301a41e698df33493df55c3926a5f8411e04df772eca0719aa38fc598d033a7675ed67b66cc058e92dc402634a46d4caf5f4fbb4a2f79b0558e893b114
51 -DIST firefox-102.2.0esr-et.xpi 520000 BLAKE2B 6c824205b933252188ae2a6b2e2e276258ee487cc708ce73460c30f71599e720078aedc8218afa4089aa31103034f0ad2d2118e3d0b1b228b65aaf140462b97a SHA512 741e2c9dd82c3f88a21a754f3438a00b5897841af134ef574b5a02e2ca72823a2fd0c2f1f258647c581604665fba7f5b4cc506f26a6f186cb7bb42ecd1fd28fc
52 -DIST firefox-102.2.0esr-eu.xpi 528112 BLAKE2B 41c7ed67e2c1635733daf213d4c1b7a0d852c5a7a21eb878458fe3bf99aa37ca17dbf6df87a744501c912b96dd51286d1f269d650b2dc455e733f0286d7b78c2 SHA512 f67bfb3d645a8b1574a1fd591641ffd74048bb22c7b7acc86c6f3a483afd33457f5d881f7dd42bb69fae94a29439ba39183ccbb401e5118a0b3a601c9b43f56a
53 -DIST firefox-102.2.0esr-fa.xpi 550809 BLAKE2B 6d9684d9707fe354f7a150319ea08fc2fbdd85a3f622629aed44077ae0e5e051bf83bc872d1211d9c8c95f7663ee4fc17d7c939cac67dc9afb9cdab241dd993c SHA512 2288e1e88b0b81534a5bf595e6994689f67bec3432dff15b59baeb70d7c877be5dc50182c7ba5a5c245f6cf00d8cdc9468aac6cb1f394ebb4e4c5098a2748c8d
54 -DIST firefox-102.2.0esr-ff.xpi 460985 BLAKE2B 170f9aa47b1275c2d6da4d67618705d06394ca24a006e4a291b0c61c7e10ab7023dfbcffbf29e988596ba48d6b84a6ec0ccb0a5b94555b85e334008e169f845a SHA512 0efacf79a82b19b519ef1e33d31ceda9c6ae20aa6e8418ae6c06aa35ee9272e7d49d8594936b560bdcf455046e3314fbab1d1f5d3ffe9d4d5ac48d5954f980e2
55 -DIST firefox-102.2.0esr-fi.xpi 524260 BLAKE2B 983263ecc86b5193ab98268af915603925ba088d311a307af572d124ae7986d8a033812ee0ea2a4319dc41dd6171c0af19567549b7df347f3f1f73387d0c37da SHA512 45fe681d43a51b1d48a4094994926a96cc96f23aca08fcf39ea02d80aa32c69606e12b55ed9b518ef9d3565d7d92bcc71c348b42527c160ac1ab92b687071c1c
56 -DIST firefox-102.2.0esr-fr.xpi 549036 BLAKE2B 942f2f1298a67e7149e769e4654b845795e63f0e03741e18c42f7f8aab3395ca8cae4562501ac135abb26f6f3d7a726146648677b8d71266b3383590ac4c8364 SHA512 5aa5e1addb1c6a7a6a981da31bc2dc3f760585a83cb3bcb0cdddbe8b58d355227c1db56e53066bad6b8833ac1827f3d66a59fe2c5c5882322986d02847164960
57 -DIST firefox-102.2.0esr-fy-NL.xpi 534938 BLAKE2B a790f8e3dae3c026e3e32c2ca7d5d76cf1e851dadded936f285fe584d690111cd685e0851c6888853b00ef693463f53a64511e4f193f25c92bfae16715de6a5d SHA512 6cff24008247f7694f766294b5595877a9b6aab936726db0083f231b6b76a463318969cd86764e2595c7a39447a3e94f776c69630bcafc081a8d8f5b30b01d34
58 -DIST firefox-102.2.0esr-ga-IE.xpi 460709 BLAKE2B 2c5e49b6ddad4e8ffe6a9ea3dec13e7d8fe93430458273e0ce08a38110b412f13f32a442411544d0fd4c66ece099f21931d6a98365bb29197749120f2ea1dd90 SHA512 6d60cd18f8a56be25df8148612053923171e978a1c1807ec5857f926b671efe4932424d4dec294b45ba214a14c48fb53e2dd19b85a01f1258b8a3457194ece9d
59 -DIST firefox-102.2.0esr-gd.xpi 522594 BLAKE2B 4a0647e8bcabb10e76b6d37e34f7286dafe2935e94dba2af2dbbbb7a41305412f2f0a6103f26e033826ed0422203d7e07696239cf38c5bf6425798b3dc5ece5a SHA512 d782fb7183b21e85ef2bc31c8acabdee19cea1e5e7bbbb38a80966432f73827b3c95c955658f87a9126edfc035253d032f440874ef9c2ee2ce2e05c8f594183c
60 -DIST firefox-102.2.0esr-gl.xpi 528497 BLAKE2B 4f8b9a8e742c497973bc81aca0fea30561cd01c58416983c5ece064a7c061f48206b272f193ca67e30b3b3e906343296be2c27d9724070a55fc00550558e46cf SHA512 56e825e036d907501d9306a14a852cb69ce7a21ef9fe8f361640ff8a15497a32406a4a0e01979a2b8a858335926691b26c97049a8d9661f82139ae2e2a53be32
61 -DIST firefox-102.2.0esr-gn.xpi 549557 BLAKE2B 6cc69add318c7e2aafae13450219f457943e2f765594aeb2622c670beb5a3a99f85c917a1ce98a9f386d7e6aeac78f581c7ed4245296a8c20698e4b27e8d2cbd SHA512 077c85e47d7d32b82fc67c9db61444c4d512249998111ae86cf24755ef7576e965e795f412fe1d63a780b0de64f074c39f2043fbed809228180f5bf7af07c5b8
62 -DIST firefox-102.2.0esr-gu-IN.xpi 516016 BLAKE2B 624fb2a75fe21e44d9c1fd211ee36d4b9517dbe67d6316211f0993a094f0bd5d0758bfcbac7fd0d181e1a438f111012e9330320891a4d8bbc0d7aa933c4ff115 SHA512 93f9930fa478909c019a5926e962cc994c9649b3b7dfe930fe4bb8e3072fec849e7f5699da3a334f3d1436d918eadef1f7a8c9e82b7bd238d9f9064fd2dc66fa
63 -DIST firefox-102.2.0esr-he.xpi 548993 BLAKE2B 3fabe974de3b75f9be271896b54e78d684fedec05cd86619aa619638bb5fd199d58c11ee15ce126740e43119bc19b743a6591e1c53193d3e4046b77b61fcd819 SHA512 dc58db1cc35b2892b6ae47697ff411a76824506336eff2165240ec8ce93011afabcb56b4142e08c5560140c8e94773d891fe93ffc764cc69d71f467ebfbf9047
64 -DIST firefox-102.2.0esr-hi-IN.xpi 546131 BLAKE2B 6b024c31fb35f9910434029653a15c31a5eea89a136f6ad7c4f2d9f2c3af08d5e749e17d1b8359ada136b1e5cff59962a2550e71c9916230867a6bbcfbfb3cec SHA512 afedc5db2da35567f6ae8adbe39acf3c4a4692bc6c52c58620e3c9297263e09eb52841e1f25eb632b250c5f878dec02a9f743a78966c40f522001d936871bd84
65 -DIST firefox-102.2.0esr-hr.xpi 518893 BLAKE2B 4a602edf0fe16b9759dd7bf19fcfa1649974f39498e8e688a7c33f9b5bacca85f8e41e58adf2e27ffe57b56820100458f8e2a5b4530d06929825b598609a06ab SHA512 8d8e3490fe52deaa28c6eac3759f6c34775b829cd7102792eefb1ff57b5306eb7f315ee19828a9fbdacda117a350c3bf57b549e2209cee93b600f24dc648752e
66 -DIST firefox-102.2.0esr-hsb.xpi 553797 BLAKE2B e48f7faac5bf91c9e54237619cfa05eedda8854c606830154b5800984e8e389fb14e19df7d8ddd25907851b915382ceb7f85280a0ce799f1f4e207ab33a37bc8 SHA512 0a365998fadd5edd308b786beae5b8dc0b2eba8e349dd0f6cc93c5c9d5255a021b4b20793d74c2828c72e149e18e0145cfe569b714b9c04656af5a7288a74c02
67 -DIST firefox-102.2.0esr-hu.xpi 556878 BLAKE2B f80694c8fa1202dd7ce58b80dad4e709427c2933570db01ff3e3766785841c75b51520fa37291ea979998f3c75b7071c13b44a3538beec0f79caa8cd3315cfc5 SHA512 5891a7176f08e8a73afa59701d309035eab802196456847fd41b1de4b6e8aa88d706f9536c55701ae7b187fc78db3a4890238a53967ed97cf9d0ceba1a5b70ed
68 -DIST firefox-102.2.0esr-hy-AM.xpi 567857 BLAKE2B 4bce3927e4eb5ce839b642172b92d38d581c417802f3cbd25c709dcf8206b5bae73e1dfd020457950d756292bb1a61841b7a78f04cf0177dbde1d99c40c2fe02 SHA512 5c32cb8eccd65629f5087935d76cb63a1eb2fc13a436863a97f4363f7336f82fe4048b3dbec530fba0ac976c561d02cfedf63b20e433dcbfcc4cd7b83a561856
69 -DIST firefox-102.2.0esr-ia.xpi 523756 BLAKE2B b5c5f4b4868de6f07073aa285f7350a94ffc6bd1c0c1591f2964c839b26cb75efc669d35b0056fc43ab7501a977fa7cf271256f98ff27f012c1598469cf43967 SHA512 5185b52bf7f4f29070c5b2fb950b93e1904377ce4171958013f34ae7d7eb50f61084cd25666fb5d8b266a4de1be417d8eeb4d2d74be029e00f9408e3716bee8c
70 -DIST firefox-102.2.0esr-id.xpi 521254 BLAKE2B b61027a76921aac7e3733e3ccf81ce5c5f1d915ee5916cc5a820c2a605c210630968453f6a00fef78a05539118a37c31b7ece046de27a20d8a1107aeaef36609 SHA512 d2de1289678f9b037bb357882a9ee3a66d3b2a11f2772f48cfedcb1e97dbe598ba48f898c69855b9fe561f111dbae2716da2ccdfdfc9df4091a4abc3df0ac196
71 -DIST firefox-102.2.0esr-is.xpi 528388 BLAKE2B ead72cdca02b263ca539d4cf35fa3494054c04b3909643c2f29f9eb0629df5492b8549cb1698e13e97d94dd9bf1cbdacd80ea6cda482a9ff133153c9af6dc6f8 SHA512 4b0e79a3b1187ec87f5d688f237ba9af3ef4f0879bde590cc95084ef5facf64ad195ee8a83f116fa34ed41267713d7288c8651e2dae023ce03aa032ab483425d
72 -DIST firefox-102.2.0esr-it.xpi 449761 BLAKE2B b07586918ad875a7353c3b6b5abbd0c2867b80d4b9036394962ac5da78e23ae05693d24ccdd503693cf9b82a0c5ffce5257a69120f4720ae8315745d1224adf7 SHA512 5d7430c4af76a2db0b71d21f7bc78075618543edee177f14b2aebf81c17143e4605d033d8d6bfb1d53bccefee1162f4af526c42e4933e84f29f4f8d4aec0f005
73 -DIST firefox-102.2.0esr-ja.xpi 573753 BLAKE2B 6e2eb6ac96ef32ee864a85ce10a5be61c9238ae32ad94f39cb0b083c9015be03e6112f2742ee0213198e187840da07174b8baa304269765a554ca4fb17e27226 SHA512 0e416dab96fa1c4cb9d8ac988984b4a4c702a5760e9809db7f10d952340f8666c30ee7ff9b83eed4019a0f5ef0c58db1eb18e88eaaae10dfe2148b0e29246f64
74 -DIST firefox-102.2.0esr-ka.xpi 581247 BLAKE2B ad8fac22632cb0b50cc6b82d0c2dc9476a84de19bde2bd6e8415162919bd88b6d6a1d441a5cf2b016e3cd9de1f9101ff82473e7e33dda69aafa2bd44f8530b64 SHA512 ce0e8d128b8b1d01892475dc4d68412af2faa8303a75651738456d6f1fb5100eed0f021c5499fae7b5706ebffd23c367854e8032a92c1e4cba8ddff4ce37f353
75 -DIST firefox-102.2.0esr-kab.xpi 543022 BLAKE2B 57533e86fe636149c2c43ae40a6cecc3e00a2d22c8bd1d7a025fd81c0f13f122114da5de0ad77fbf61cc4aec2fd7ac9ca1f7e98b106e133940527421e60b2a6b SHA512 de7637d70360445575af2e62706ba91cc4472b2d7121659073c257e84ef8726d81fcfa3dfe8cf50c7661a3834df033d30f938b7cc149dc8921ef431f6daa8c6c
76 -DIST firefox-102.2.0esr-kk.xpi 604865 BLAKE2B 61ee4a8116dd9ed9c482ac5b7c4f43d13c2a68fc11b1ed563b73f6a00e889e95b5eaaca11c6a089c2fd7149455ff275a6a306700004da61d18732fbbefab782a SHA512 d7ae8e6b4b38cff3be5caf57767cd56cea5b6cc5f66f61e88b80d969f9a9be20645ae022a3feff75e591bde8609eaf31c7c6ac7c9c43fbe36b25f303931433c4
77 -DIST firefox-102.2.0esr-km.xpi 519619 BLAKE2B 8cff62344198232bdc94b6ae33a7c30bea974b3387b276ffe47f1ab10c58dbae40784faed8435e2a9e4126c9a178c74cc655eda5e142c5f117d545ec4c9368e9 SHA512 a1e720ba9e6d066121ddf88b47aa0ed15576d6e7ebc38cbac2565000b2ddbd8c885f4fa4143df2d1cf47373e7122f2d5cf79d0436c68d6ad16b5f0e4e16fc298
78 -DIST firefox-102.2.0esr-kn.xpi 485576 BLAKE2B 63fa7fe94f65a7ec309dceac2bdca77401f91318d76f6f8e7b980137c566b82bbaf3574eaf57a6ead6097abf634705a6dc1c529d5ea5441a5ecc8f76b4986224 SHA512 02cee7c414ae6d1f51a98edd05cf731084e38c57db061a70fb6b2303105c17dcde290cdb1e6f123c8dd67bb3dc30b06dd50843fb8106faf9bdc617fb6ad5ee94
79 -DIST firefox-102.2.0esr-ko.xpi 570098 BLAKE2B e190edecc2f2f29e9c0ea983e1cabe0e61c2a846389b196a9fe8f9281edfad03ddedc20ed9c4198bd04ab176760137efe09159f73be16e73f592dfa1befb88e5 SHA512 f0b2a11a7badae6c0b97639969575579b212056897cb44d26fe5894200f1d5e75df1152d3c2cfd7a048f995b405a5c8d40fe5ec86805c48465de60d3fe592e13
80 -DIST firefox-102.2.0esr-lij.xpi 459204 BLAKE2B 97d6783b0df8b16ba750351448e54d0fce7c7ca8b68d89906ca87cd945df13e3cf353cdada7efac95e66e85bb844fc99107aea15e4b8c3b1aed7aba3a80f2c2d SHA512 13cb4625b80879ec58c1a5b9d971cf37885b4be9b7dc52d29bff168e90b43d5cd67513ee6a91c8d9b1ce92af6a8cfe6bd22d7e2fcb12283b26c0c0ffdf3735ad
81 -DIST firefox-102.2.0esr-lt.xpi 549846 BLAKE2B b310c4deda11df8696ee059cc765b9b8f424822f3ce0045f1415c96c2884f2f709fbae71980a70087b34791b8a64c6e7cb9cde757e6fc5c44ebe5dbd2da06450 SHA512 cb455972603e27a68e0dd1d84a3ac6b049d848da865505745054bcadbbb9a51bf89704b80b0fdfbdfea5b94d4f8a0ddc49809bbcdc4d0abb4f2beb52f206848f
82 -DIST firefox-102.2.0esr-lv.xpi 452075 BLAKE2B 2a09ee36053b2404a3f462368aaba8614cd8a79ee261642ff5b07847562486036dd86662d21704908433ac4976dd0ba9cda022b99aacd7d56a2e6714b0310c19 SHA512 58cf8de8822b02053a6e4427fa82ba848f7eeee2126ce172b4cf3e870feb3826275a718b14bf0a27dce8cd2387cd3f0874a198fb29522ee628c0428994e7e706
83 -DIST firefox-102.2.0esr-mk.xpi 458899 BLAKE2B 05482b9e20b9a37cf1b7b85665c8f2c618f07212ff12c95a4d554f9c8297a0c2270d919bd158a7453be87bc2ca0125ebffc8991123924868a3d1496da70020e4 SHA512 640cd99a0b1b419d576181c7bed9db50d41ce7665c5e0cfeba8700a71a7823eae0140a261b0aaca544e28a99e5d5a32eaed3b7a095b78dc1359ecd5d93fd4c62
84 -DIST firefox-102.2.0esr-mr.xpi 519586 BLAKE2B c61d2aa57ad4c35ce2bf54bb10b3e7978552b1de871b8c646ad095b79d020b187dc75730abd58ebd519178310879aa939b1f76cfa6cc278941ad09e87acea666 SHA512 c7765ebbf6838a92f560aa08ec2110d0e7ce9f24f3ddade3b8471d9d57bd2c0b74b8a535bd037e11f0a7ff5fa6910508578cc899ad3d5ba32741e7954f09bd8f
85 -DIST firefox-102.2.0esr-ms.xpi 437308 BLAKE2B fc20942a113a56d06dd2883d21c46a9530dbfe36d53f61e46946f1362d138b0bc5cbeb488a98dd57adffaec546dd3c13eadf029c61980be908bbcb2bcf395ff3 SHA512 b0e674ea53b0f0bc9f0b77ceb18c6215df2e2397050b03c363ff4c1a11d584e03c04381cbf9d6f9c8bb7a8fdb0544beee5884728c7ed057026eeb3c36bf09d8e
86 -DIST firefox-102.2.0esr-my.xpi 498767 BLAKE2B 22d95369f2fdc8b3089dce3af33b69b66032997730c542a89e0fa7dc3db3aa77a1a894612df50b98096b112140e46f5dcc9d471332f732b72c2765864689ca35 SHA512 753842f43580616d4c3cea461e1775a6ab24793adcc84a96176f0e04ea8edc3b8606c899608837e9a7ab2f4e8d81d2f8716e0a14e043b9edefc0c6246d1783a0
87 -DIST firefox-102.2.0esr-nb-NO.xpi 521322 BLAKE2B 4e22796207e61c6cc3aa54faed9688fd82cd6eec2dfe52e49bd359582bdc43e4adef16cc9be9114b418faa9ae968b9ff77498f229d9b3df0ec201c012d1e511b SHA512 94b5c9f624e45aff6b4ac48b3286807e8b01fe276fc2f5a0e416e326bf4fecedab6e82d2c114a8e6c9227cdabc98004d5bb44e22f228b759dcf819180d17beff
88 -DIST firefox-102.2.0esr-ne-NP.xpi 477726 BLAKE2B 30cf0d17f1bb77495d834054a3adff88e268f04d280936f9bcaa5821a8f8fbe7cc59fc07802e47d79cfb2aa21fa3f51fd2056b20e16749588744aa6eea49d8ec SHA512 970d5761a33a8e68ba0d782571e9e0463017afe4bfb65485a54915c9bbb2c304d695921f007bbbe2b469a5a28dd2c6bca42091dac68144a021fea69158429b05
89 -DIST firefox-102.2.0esr-nl.xpi 528931 BLAKE2B b4d448b0dbfde84719234cc53a22c3383a411767dc858d4b83628ac8712a628c750b7466b2ced3ba412f8a5aca42c620f22d32111499dfc634477c797e60043b SHA512 158eacc4afe842df0bddd725d9c2941227d84e805763d8b313ee9fe1f065bcb4a8ce7ce493a362e257ad000c1b98e31a7604cd090a03cfcbb355a551e5bfb02b
90 -DIST firefox-102.2.0esr-nn-NO.xpi 523254 BLAKE2B bc708dcd0a46ab2613f3a9720ead3676abfc82f152684c3f0ed66e687b3a53c07706db699adeb55dc1bf3f1fab3110a8a4ba2cca131c90bf0429ddfa91a78634 SHA512 0b2be5d135e5d9f04fce970085c130c87afc4c78963f9f64720fcdf73b59e0d1e9ad45868a864aaa34b7179c7def805d775d7471624f281ddd1aa09405747474
91 -DIST firefox-102.2.0esr-oc.xpi 544581 BLAKE2B 4bca4ec863b3ea9a897580d1d9fb5cf45a894a539619a86f9e8db6eac4ddd330495fb7adfb90ab6c15f3ac9dac338196b1654d07f449e385a0e7a372d8751f0c SHA512 2339d6b819fcb8b8f2d431f27c53e147004e0bf7e6148acd78a464ae60c3dae09d3ac2e9d2fc73e6beeb38e2d577b15b591ad164db5c5f7b244b54aa4c58a606
92 -DIST firefox-102.2.0esr-pa-IN.xpi 587402 BLAKE2B 0f64f3d54aba2f2d7c23ce5ab62adebc562c15b36bf628bfedf9d83e9e31170208564a404496aa46301ae5b583d4684a9d5b03ec0856ef8ab56d01dd45184db8 SHA512 8d4234b1aa7187b64cc7ee6eedc8fba0081c569eb2878ca9cde8f758b54f9761c4f24c9c7a75bb3c0e96bbfd1615ba283ef87b8a8b8cfc79f71e0d2ef229bdc3
93 -DIST firefox-102.2.0esr-pl.xpi 548922 BLAKE2B 319345618f30f1a463e47c3001e0d33ca08e8e5d10580e1d53bccbb517759b68b609d6f3e65127466717bf5b77a7a75cc9df10a5f1d676e9b93a316226d41b2e SHA512 86f370ff0d826c2a9c2aa318ff2bbe1fa06dc6c26f9a19d5261f41f5ded742d2eab1748ad9e4d61143b67451962921fc9ffa38afbd65b75d1714bd97dc782337
94 -DIST firefox-102.2.0esr-pt-BR.xpi 534190 BLAKE2B ca3d3af63b1d568321427be97074c0482478ce17f96661bc02f686019e7946f351dfdbf4c738ee5aa83ca464b240b14d8b1f177f8abb774265ff626cd2e8f72a SHA512 974229b833c74cccffbb0c7d29e43f6c4dfd7c38c9d578b93c7b551a648ba737cca5145fc11d88cd7f8b2c654725e8cf77aaef47adbbb80ac14f8588bec88630
95 -DIST firefox-102.2.0esr-pt-PT.xpi 538018 BLAKE2B c1a9dfc56c53f3797c37e2b0512d6a8f904dcac1f7a59abcce19305dd447822558497baf9729e6d27dc1bda78dd7f33ed0802ece499de407427a329955cef024 SHA512 dc7f2e53ace6344bcf79229b1923fba7ceb14259ba554a659fd2f7716d1c9292cd97f05c60017f7fa23594f6aeae03174e27bada7bef36bab8bc8909ef76f73e
96 -DIST firefox-102.2.0esr-rm.xpi 528323 BLAKE2B eb7082866e30216f3bdad0a8eba32d41eb1d9d4860656b2af797255650a2f609f044886ba9e72442f30256cac4cdbc80ad67a6e923b27fd73c9119c0edbff155 SHA512 fc259606b15627de5930d380cc3c9aec79808ce71ce3ef147ec961a9ce8ac5a3996603fb5faa76138c5c5779bafef737ce788ac05e9da9255e4fa400d1aaba9f
97 -DIST firefox-102.2.0esr-ro.xpi 515802 BLAKE2B 52cfaf43f926eb3a870a767fdde9d700abfb379974590c68c0d416b21d1861e4ddf626937e7f8dde4075af436cad0dd5a05e8f98a18197c02ab24ef5e6c3af86 SHA512 29f7fedd2c5ccdd197347c3c5fa550c528b55f78c9c2ac96d3980b284df4b7a0dfaf7b9688a13001bf7e0d766cd33577e589eb10380f838f2bdbdf2c743c091c
98 -DIST firefox-102.2.0esr-ru.xpi 617124 BLAKE2B f14ac851cb617fa9fd788038c84c07d4836cf13e346487e46533da8c40e8738f3b40f6883b8de46b3b0683d1d68a311aa87b638634ed47fac0e81f4325f05b82 SHA512 e894d11924d4f2df65f67a4a5187185c54604b008ecd0d28efd268955d1c217652cc45db093e69fb42b473ee494b814669632f603e504ccb49f0616f43c0ae8d
99 -DIST firefox-102.2.0esr-sco.xpi 485596 BLAKE2B 47a9d5b3cac50a4809eb453e48f89ff4b2a75dcf59ae721b3b855900cae8d5843f5cb75c85b1805b2a95e2593f18082718f795f28ce20cf51bb25fcdb9d4812c SHA512 8e786a5d0c650b98b861ffa5c915f9e869ef424f2e6aaf91d003375b3b78f57020ced95fa6066f463049d9264fe900a00887c9c8aac025a9f7d5fc132846d4c6
100 -DIST firefox-102.2.0esr-si.xpi 473408 BLAKE2B 9774022c40d5c7ed91c02f61167761c493d1ceda424d1aacb5b9fe0109d1e68ccb69b0e5114deff86664e15dc9cc4e131f1ae493f526e63fa6e74379f19f2b13 SHA512 d088ec6b5df8852f41388458dbba00c3a9ec23c3e0c6edbd6775355bd347a0a33aace032152f972b96b1f871f0d6ca8ed8a0fbb75beab5f69b2417b11f5f7515
101 -DIST firefox-102.2.0esr-sk.xpi 557523 BLAKE2B 60b7799b65c6e0c30e0b29b6e18b5f5e244e8fcb3cb4b8aaeb70621cc22c7b76cec3f99abba3c1b0b1f0378a3f4e532de56414e583a4de3cb60da3709ae2dc3d SHA512 8b6491c8fa8665a7fad7d12e4aa1e34c96512582576adef5f8462582bf2655e99c323c7a44d3ce9a0f4655d0bff52b92190a223a45beb9357838fb75003e398d
102 -DIST firefox-102.2.0esr-sl.xpi 531190 BLAKE2B 5a254b1a400dc2c554783175c3702cd45ee0f1eb8b81738669980884adc919f9186c92831d7fe04e8e31bed8561d0e3a42a84e99bc4c4866ece689085789940a SHA512 3d15bda3e14b0d40970392a8069be1c331d602e34c2a5fa167102cfa7a19f546b73aa0450d7be3d9a213c6ec1b8652991c1de08b6b1063da54ecdaf4039f7a29
103 -DIST firefox-102.2.0esr-son.xpi 415193 BLAKE2B c6463a4633c6f9801ae4f67cb4bbf1f79a62147806d847306a0b2a30fcee7d0eacd6d74efac02374146f9960827b5eb3705e604553300486975d58aefd274310 SHA512 c25136462301491d348aa594c11db1ff2caa805522340a959aac9e95e6e6fe6af8ecbffa7403a86b3fa27d2b46ae94ea1406d3057c2cc7852a279d776ec05f76
104 -DIST firefox-102.2.0esr-sq.xpi 546098 BLAKE2B 42667ffba53b320e5116cd754ed0eb4eb68a0ac3e736db28a77b79e77eb16a7699c05e861bc91faa48b1dfcda935c5135c01e260c024a210dde943f1953f25c3 SHA512 5d1856269c5c9a7bd131ad1a53ef3c10a0e0794c3f1a342734a1ca7a960be0a0fd26387b30d83a7f8cffc0eb345bbc6858ca445932a00145864ce12fb6ad6cb9
105 -DIST firefox-102.2.0esr-sr.xpi 571127 BLAKE2B ec066162fd0b1093d9aa201482e70f4404a6c50c4f6adcc48962e41e35a06fad47b4eace4a43266b240ad863689d84cc94c0a98aa4c8530b9f9864fcb8835461 SHA512 770abf797de1b304fa7ce5118f46616030dc865df0b12e3f66f3241cb11bafb69c3769c6552e51eb4694bd9b7adc1d8fccc808ab476509902e341a14c88c1f9d
106 -DIST firefox-102.2.0esr-sv-SE.xpi 531432 BLAKE2B 7161b592bccc98fda714dc79b89031fb86a285f48945f7ea7a948f16b100f35925070d189fc2d2fd2f88216db9e378609ee165094115f9e16f1444f8a277d460 SHA512 8bed5cf65cc108f4da9c703b43bb2292e50e01da8f572e73887e8f8b5fcf2b89bfd57a781c2a68546c64a788dfa39adcf0242928cb3d986aa9ae86d18b288995
107 -DIST firefox-102.2.0esr-szl.xpi 497440 BLAKE2B bdb15f0fc93ddc96ef4a9b9e615bd4627820e3500ebb6878983d759bc537eeb17e8965cf79b970351a59d85f77754ad03091d2faaec0d6159621659fc69d27bd SHA512 00a1e2ec15f1e57831a43c83609fa75cf613642ee12bfaec503fe66e2b4e44f88315b9f63e48ab0678e2b5c165d8268c007e5ba2f063c5d608d61804780be85c
108 -DIST firefox-102.2.0esr-ta.xpi 499404 BLAKE2B 08d6aaabd78be656ffaed155ef40b0c82a969b0feec481606193c0d17d36c72653d7a24fa7dea5a94d94052aa6187107f2dd30e6db227a6b13d0ff31f0f6aaf0 SHA512 ee53902c32bf450535723a34a5d2f0bbd15d191e4a9af4d401f733629ddeb2225406a16b8dd9a0472ab7e11fc5d0c5639b949d5e0bc7d4213165a974ebca4c1c
109 -DIST firefox-102.2.0esr-te.xpi 540276 BLAKE2B 579e7a0d37cac6de5a08ee872a4cd13445c6461037c757aedc4e0791340d40c4d4d306c39fad3d912c02941f3dab0e480633c6f91391237a212fdae3a07528e8 SHA512 6f03dc3efc6ed418fd660f4f003f0ba52030ec3c0f66f43a211bec11def28ba0babccd754593ec37fed386d79cd315c62f6d374eadc4bae3ceb322c3d4be5bdd
110 -DIST firefox-102.2.0esr-th.xpi 598741 BLAKE2B 70f344a320e7d06a5e57b3319afc533869aeee5864cec6b5f278e313829448df40868cb297ef9e69ccb323121f94407596192925809d8d639d728a58257a3007 SHA512 bbc1dd9d4f54a36825105f6c9680beb2f28f2e86ea8a85ac83a18eb210f9c8cdd9bcf74c6c8413ec171a021246cd07866b27cf18e86595446d688fd30b6b3908
111 -DIST firefox-102.2.0esr-tl.xpi 505604 BLAKE2B 61e811cc002f3cc49c29a0cc96bdfdcbe0d049b18de099101588e0f5caf92310572903bb819803e3cd8c267a493f80c56a0b06a29a3e3bba0dce58ef3bad4e36 SHA512 e0660882f6246629d9998aa52d5bd6857cd20f198ed5b5430af1dc5309a422ffff136ebe5fc210c5d18e280d9d1ace0af01daa64c93365198186fea6e749642f
112 -DIST firefox-102.2.0esr-tr.xpi 544809 BLAKE2B 9dd365210108ef3fb897facaa2035936f09682e11add793acbfbdff2327c471125b756c74fc5a338b0372eda4e773b20058a9776c08f85c69d73f72d09b25fa8 SHA512 0f780daca7f7c273054ac9101ad228a23a18735b4ac1df56e2d1b42299056c03aa44c337d53b564e36264b8c7d7fe362bc4096d62d467ceefff6491192dbaf99
113 -DIST firefox-102.2.0esr-trs.xpi 477876 BLAKE2B 8f862a3ece2995caccf8c517c159adee32a5d9fe798c1be13f49235bcecd950fce57f1890c9af06d1eae7a798755292d3fbd66c8f783fc1263189de44b64fdcd SHA512 c6d8ec6cd433e984d1697c381b0797ac8a2c4adc6fafc7d0a2a72076b1790d7cea694fc753b0a4dfd56acc806184327e0f3f39fb9e149a20cbc0565d13becd26
114 -DIST firefox-102.2.0esr-uk.xpi 610935 BLAKE2B 0560f6ad934344883de0c87d7a26346060405d8bea22550f0be0c61d4a82a9c86959823d9d5480e397df3885272ee60cc22bbb15fe669a21af8af8c4c27eaaf0 SHA512 f7fb1b15232ecac742c8715a4f55022498300bc4643b55c7df98e46f670da327aa3d3749e22507f9feea9b1b95789d3d6da4652a9f3f91868dce064dccda7bcf
115 -DIST firefox-102.2.0esr-ur.xpi 547846 BLAKE2B 3dd838eb21ec5abbedd46de8592525e3b65d82ce38f1d8ddf3a966c78b52c8db85b48e1f9fad61b1cccf9787524bb86ff6b79c55eb5e8afcd2055f112e5bfb0e SHA512 1bf89153ed72314b79a5e919ed3911dd35b3c2f1c7075a7c11cd51778aca78b2521222e5b0e44b5ab4ad44760e0c92adbfc7c7ba65756471beb84deadb02b1df
116 -DIST firefox-102.2.0esr-uz.xpi 467341 BLAKE2B 6567e0d6b498855560c86c18f77e43410a2f321f73517e967e6a6701f013fe2cb1a916c36014cff842c9bb35e8c73afe9bb59b5733d3fdd1303cb147ad8a4ac2 SHA512 ab4cd7aaf7dd400999efbcb575f54f696670e47641b20c4daa7d8465eccc0ae7f9bc64667b815088e64ba4fbe9c400c72147b551fa12439cb7e7c6d18fbd405a
117 -DIST firefox-102.2.0esr-vi.xpi 563716 BLAKE2B af0ff48527f4ba9ae66ea09530e732abec0ebcffdad17901ba46d0b24503fca83e4b47e44e0dea27497ce3d8b52a38f9dd7030982b4cdf1d9c9faa47f97b99ab SHA512 d1ba9b6c9646c4d7f3928f212454dbe2f1bb64169583234d96568b28f667d8c4d7dd696e12c15b9dd47a8f73e4af689fa3c2658230a9890a91cd83d2da3a9b22
118 -DIST firefox-102.2.0esr-xh.xpi 418249 BLAKE2B d7001ce2c211a5d71590c9fcc43dbf479ae3d262839b8c5027e80286f7a30fdea36c1830f6aab0c8b51d154a88b23f96029779b0194fe53a65e09c7d3e61b81f SHA512 2295fcd3a8cfa5ff73cf9664b7690c6f06d7f0ad254588c4da8fdd555ad938dda4b47def44b54d8f94fcdec23615392505cb92b7b0b81065800c7c8e7cc87d92
119 -DIST firefox-102.2.0esr-zh-CN.xpi 566196 BLAKE2B 0d0443a0f98b6ae856eee288a56f4f56911182eaf9b919834eceec49c93015550ffcd1aa2c47bc8510c0e1b728ebd3d17740b313d23d84b434765bff5145df66 SHA512 4fda8beb539fd6217d56f2dff889056e5adc6e10b262faab1460653847666c8532d143f3837429c81d4868b830a2a8661407cb40c8924319b6a7b3a22f9299b8
120 -DIST firefox-102.2.0esr-zh-TW.xpi 567162 BLAKE2B dce18534fd98658ed8adcd4df78d2ef0830db508ebd23e0ea72b41c05d7e25519c25713826105840f3f4f401f540eaf26dd2c9348c80b67ec1266d6789b947ae SHA512 99125bed1cc36f1c409208c5e6476443328e5f5408d45989a99d90ccaec69fed87fd4febd74369589cf6f44f08c63a1fa6bd3bd1b3da21dafc51d627459554b9
121 -DIST firefox-102.2.0esr.source.tar.xz 479840072 BLAKE2B 00975ffc02a11619d971731d53fbd480e9e6940d2cb9bd77c529b790e9734db85cc48b4e70d5acf447d221620feb8e9d9b8d129d07f270acd0d388574b129ee4 SHA512 06d753867ccfe1b2c79148cc60bc816b47a2abfa98219808868e9028bef1763d982ef7012698d06b8959cce79163d7926baf5f9d5ca9daa18c51fbf0efc59993
122 DIST firefox-102.3.0esr-ach.xpi 453455 BLAKE2B b89f8b8b5a42f703b84a5f003c8d4c3ff9cb82e86ef522c6495664f4f6462ab25f650bebc362474641ae5749c7f8d4e2249f68c528888ac1b7c848c431aafcf3 SHA512 1c5bad68c11af14db55c2c950df243621538f3bc0341953482c4333929452e4fb32d4cb625c0a0969afdded17904e72b75276bde86470bdd45a06ad48f2b5c47
123 DIST firefox-102.3.0esr-af.xpi 418247 BLAKE2B 6c75efa232644b892aae95a73b6cc66b357610f6a32b1ddd82ca4078c5245f3228f506c809847a3bff0ae49b9b7acaef405fc19c000762d4611a3fbf53d29fd7 SHA512 e60e9753293086fc26684fc4e5932f14a3a7f4b65cf590a750dcd47b95bbba75605b31b8e5a3daedaf1177867de3e7ba90e87df256937c1d6f737928536ea3a8
124 DIST firefox-102.3.0esr-an.xpi 498403 BLAKE2B 4f7666361af01b53b4f5a046fc956cf72de668772c7cab5dbc841104c5526ade61fed2c577c0742c4841e2abd77dff6cb9e804698c5ad9f519c2740ea2991a13 SHA512 f55efa9f76df914ec8371ea902406d60f0ef6ac13825fe1d0e45c2e587d299dc2480b4df6536fda74f1f6f8438a2566a8dcb503c56ec41e805331684c3829065
125 @@ -195,204 +97,7 @@ DIST firefox-102.3.0esr-zh-CN.xpi 589094 BLAKE2B d496632b1f029535012ad3b43e93534
126 DIST firefox-102.3.0esr-zh-TW.xpi 590469 BLAKE2B 71323bfe2c05d01e38ad6629291a83f82eb2b5486a133d0836e5982d6ca8e2fda0ec11e66d874dfefff31b6b42237324b80146ac643b78d557102a8b693f6847 SHA512 3038339af3b2c01824c17bdcdfbe64354c63e4bc55b6bd463297c1f875c49980a747c5447f9f468ff567d6bb2b883b2cec91a1d716fed3245aa1a1bd840412fc
127 DIST firefox-102.3.0esr.source.tar.xz 478260896 BLAKE2B c40ddcfefee874f6dff5d175331144461917269e912d959af20aa19cb8bdc57209403d1e5962311614be8fede33733f734c19bb0d32d881421fa1197539dce5f SHA512 35357791f4de8b474780083a22fb52b7846b8012cbf01403f2b9526151d11c196ce0f9fba8e0f16d8235d7259af6fba1bc3acbb5b7e79129a28f390467aa7556
128 DIST firefox-102esr-patches-02j.tar.xz 19688 BLAKE2B f26b8dd2613712ab49db34247c432769386ac066238b86c0eea367cebbd167334f822866129d0874efc35da4da686e6185881649b0b3095dede28ec8c658a3b2 SHA512 456cd2b7d9f907080afb5225d353154117624fa938f24dcfae7ada03f5b39572e5d6d6e1a4bba7825465b48f6d38b04e5c0f69556c82d4ebbe1463e11dc809d7
129 -DIST firefox-104-patches-02j.tar.xz 18596 BLAKE2B 9fbd9a901f956498375ee1ca4a237b8c24e4dcbed504debf8ba90e890628ae2c45a8dcb51efa8ff81b1f2f119ad51c235172ae3b2c31b97312cdbbb343f7e34f SHA512 43b345a5f2c1549695b1cc6faabd91e42dc859a24aad998bcbc38a5d68e550eeac412f7a342f3aa6061e308fad4230b80329c5d9a13dfae638a1eb1eb1a46357
130 -DIST firefox-104.0.2-ach.xpi 458326 BLAKE2B eba568e83dd1103b5e6ec2a955aca8c866526ea276f9da0279932c8ab531d3ac0ceb53bafd5ee93dbc2762c1b4a6baca31fa85f6328e6f8c8ec9419e4e9faeaf SHA512 4f28bceea0d5e74a777b77a460399bbc90012c3010ba3f663c0ebc122f8e8eb659518f9a696d547380e0210a4d47f8dce86f162c5174697537fb5ae9acc90ac0
131 -DIST firefox-104.0.2-af.xpi 423660 BLAKE2B 01af740806fc537f59476a761c468b9a388c9075c22f8aed4dc26362ccd9a276b5452c7294cf11776e4f16f5a584c8db9f0803647243bf237bc8dd5e5d93de6b SHA512 e57bad8e8f4292d0d4334cb3821ee99e1391b26dcf1f1fe3ec94a5e4a36240c74e0cbd6d7aba0b851d77858bfba7b9aab3e91c72aec6cc5a83a54a848feef4f5
132 -DIST firefox-104.0.2-an.xpi 502550 BLAKE2B 8388698af62217b8eb15f4f020702543556d5995b2e8ae3c70bfc83b1a4c54974fe13eca0ffac1eacb81c38bd02bfd44f1cf84bd5b46a2c84ab3326b25c37ec7 SHA512 08c2157844b28e5f4736744d163220d72daace953679a63e99d44cbcf0b186eb19ba7d30eab9e157852584fe98044926f2787e4a60134d3f4f1d5bc4a250a8d5
133 -DIST firefox-104.0.2-ar.xpi 565459 BLAKE2B a24c5d9771b06db7b83275e7303757dfec585817ad3f46cf8fd43c0aa3c523ccb1f9aad56a1e3b334bd8ef05d1768cdf8d4f75ec73071fa55436b63be78e8507 SHA512 5245d86cead3a00cd616db52e2ae45362e943ecff727962407789465b231e44f40462073ba7d9bdc87345fc135e2ef126b535e965f252f1f0df90502cfd7be27
134 -DIST firefox-104.0.2-ast.xpi 498361 BLAKE2B ffda33cb72504a9f21fdea8fe5a2656e6d43eecb8bc3c6c9ed39fea4702a8c7b7909027de23dc02ffeb124f1d178f161e19e2ac4a0615d6a8f4b6f5eadb98f79 SHA512 732993329e1368951935b61aeedb7796d453fa43824d010c31fbcb10c9c1f31064b3caadfe3ef6ebe37f84674eba79152aab29910cac95cf71b146ce22dcf5c7
135 -DIST firefox-104.0.2-az.xpi 489605 BLAKE2B c11b22540a8450e45f2d0c423f5a359428e47139451a1a4ec9519e145a29caedddcfa4d226951167cf9c7ad205df045c4b14bceaa1b9ffa31b6aaa53d8c42de3 SHA512 6e823109df3d34a16fb6fb60588d89651946fad16aa2cbb1fdfb071757d20dc75a024b82dd1318770815ae581749862a2e700df4b3c50e3271e40cc71f81be9b
136 -DIST firefox-104.0.2-be.xpi 637262 BLAKE2B ef30f08cab2bd8bebe19f66a996b9a39d3467f93c423010b4388f9894352b933b1683fb7b04cdf37b44a8ae869e57fb1f33f56084182ec0b69b27bd2410e01bf SHA512 4ba3be25706e72d9b263f233e3bd4fad6873b0f391cf35f32f407b55df9affdb4a5e5c1fc68e8ae416127074d397f03ac4b5320860b93e20927b77fb88cf97c4
137 -DIST firefox-104.0.2-bg.xpi 581967 BLAKE2B 8ca3bb0173ac93dc9cb83fea951dbbda423daf39cd5b68e5bd9a9a36d965df24307f5315a5fa18ba0d0e05dbccda99996ee13422e7fd42e18231e90f6b142e88 SHA512 245fef211927dd71c8df1496b0f332c7a0b4fdb2205475f29321c153908a76b6761f2d36628b53fe8ff4e1522ad469477b75e8c95cba4040f44b71acaa1e0470
138 -DIST firefox-104.0.2-bn.xpi 580175 BLAKE2B a467e3f1e7d941599ab1d811228b3901797cbbbf87ee543e245ead92b5794c54db57ca126f7875239c2cdc5e72af2c0ba92cef2b96ac81ae4f96580e08a5b1a2 SHA512 2e0d0a8248ee33499f6c85a9c9b1d3fee77286ed6d2be2eb53449e85a4e6b89eec6e50c0e69462a8ea1371addf572a2436e52218e321b72344b197548090ed68
139 -DIST firefox-104.0.2-br.xpi 535106 BLAKE2B 6d7905c37b5a95f04f811aeb7f7aed270ae788ad58742d7afc684bcc48538ec4578ce66220c5c4486f8af86ae3764dcb605ab10ea276fa5e4c6608f494546ceb SHA512 ceb5c77cfaea5643440f28151adf46655f8006e18ccbe8ded35bdd7b0106b1dcb8ae1304d272c416f5fe44bf0418b993ae22e2a16fc4c56267ff96583786156e
140 -DIST firefox-104.0.2-bs.xpi 466916 BLAKE2B f069399cba7841ef672fdfbbfc42508aa45d5a66ee8ffc9a56bbe088e639d35bb4c294ce98534de554f3fe42af181d4a04b535f93368d9716eb3aec3a234304b SHA512 45e31938a380b73d71ff00c83b207b96938b51ffa3a5b28a24e735a9fae448e3dfd4b1174a5f2593184204ed364135ecf898722ddf39dafe91ae3229bdbb1a61
141 -DIST firefox-104.0.2-ca-valencia.xpi 541640 BLAKE2B fbb73222bfb6536cdb14fd30706a88abdde731d77983b2d9708a357bfdf2f20990724ddbd88889f060a1e094474fcacad3a29b84752a52bb8a14df1dd6f20ab0 SHA512 9e3207aad59ae10a4e416662261f51f41f3e42b79213258551975075e61ecf138848f7722f67794e470991142cc2dc8bd84ddbdae071b7abc34aac8a6bea4693
142 -DIST firefox-104.0.2-ca.xpi 538207 BLAKE2B 0c4e285f208eb221735a52aad6206244d8d4a70b809251d8dd3baca8ec8256fc7203943c570841707046d34cf811ce4cdb2709464ddbd41b5621050b81d4e567 SHA512 ca0e1872f86fa6a01bc8e14d4f74d79ab28542e946f2ce9c93357be6782af762d8379b3f18440e92145a3c03a4ff9fc3439191ac2accf2fffbbb40fa0de9e257
143 -DIST firefox-104.0.2-cak.xpi 555062 BLAKE2B e41ad0653b236cff60f420fb6233fd87732248fad6b1cb973a6d4ccefef244c89468ff350a8c4ed28572e18422456f9998ae1b74eed9c0e65a9f166e08d7156b SHA512 14064209482c0014e3b6b370b6559724fcfe6c67f9156cb4425ad721eb71a33a882220c7bf265382efeddfa95973d02b316fd6068572c9f632bb0d043363b92f
144 -DIST firefox-104.0.2-cs.xpi 575363 BLAKE2B 5c21b2a148b84a890a1e771576219ab57d2aa1b8c70ffa0589f564b0b90a6e232ab616a33f375c1ce0d6ac2236213e942160e04853b7ef63f9f819cf75811a57 SHA512 c94c5e06087f62a4bb8c5c834887d83e5d87d4317c00e36936ed74e6c4692ecde2fd79ea3abe6af1c65b048edc0f6366143422bfe6e0601efd258e76c618b6ff
145 -DIST firefox-104.0.2-cy.xpi 551514 BLAKE2B 291fd2283f25f3fecd6437658643755d59fcf7e0aa28b5ccb9b0596613eb5b9373b1d382c55cd25781d614f3d2bd11453b467752f3fd9005b20d6431da6f3164 SHA512 fde532dc5f6e4fea2a319aeae3bf54136d11a2d7ba69ec9e48f90d95fa4e1eb7744361a64f73764f300a185b67bb6ecb3577e7dcf6a50f648b8651cf62a19f26
146 -DIST firefox-104.0.2-da.xpi 538915 BLAKE2B b10542146d5d3d5f8a39e69e7347fa9b60e334e795dfd2aa262f437c7f33a517196dc1a2f0693da9a5c2b6fc2d796fa1fd47db88f3de65e4ad301e809bb8bce8 SHA512 f62c96f743b451f24f5713b34822ef2c23289cb2847e288af50b81c972f4745c8f6f6ce8152f4fe272f22a9641b2d71386217e5f9b5821f5b20745a2fcfda663
147 -DIST firefox-104.0.2-de.xpi 565797 BLAKE2B ff7844e28c9a771472a9af322c8ca17c53895d0ec32d58f553fec9cb2c74d5bc5c6df65060bf23a0dd6edbac7c876dd0f4b1ec210e44f92c8d620dfa83d5d246 SHA512 d68771876497c2bf2734df0286ca300d7b1d0696a50be1c81328a79af83678d0e1cbe61e70cc7e26d218c11ccfa0b63e9175ca4947815d1975f17af0d2dff799
148 -DIST firefox-104.0.2-dsb.xpi 579604 BLAKE2B ba93063590990235bf4467b7b47fd8fdf19fe1b89add7efbd4a2827c352bbe5999ae0c1fd7f6843e23c6dff4cada84f5806edb6254d942a0e2a4d4e55ad14b0b SHA512 9ad92ee5cc7db646b41153e1c8ebddf825871a58a4defe67ee2e0653ddbb2a71633eeb93f119448537bbed06784154ea54ce4d1db8ad7a4c834d3d25d662b4e1
149 -DIST firefox-104.0.2-el.xpi 650587 BLAKE2B cf82f02d4623fcc813e900bb844de5c98faea8c438f5487df528a700b4fe3b6d6991f3d5ba602359462df10aedd167a846f14f6d163dba7100d58c1b401621c9 SHA512 e2088e9998e5b27a46961f81c44d67f32a207be82505a412f975acf42fa91498aaefca5d4089d2f4d89b971f0ff13991cad7f2b26a5f3f2ebe9104db2648602f
150 -DIST firefox-104.0.2-en-CA.xpi 517610 BLAKE2B c281cdae8b2d1e523dbaef73926322713404f37068257e25f7da72f545ad6415d070a01ae3ede5414e6cb88b511a2920aa8a2a7875fc9ac6b648bb695f46cbe2 SHA512 5bbf9e621e015f011635444e9450ed670d85db5939c14254a8cb23249efc5d5f87d845a7b1b213b33958f382caf9ad75a0fc787ad1c3b133a88febf41a5c1955
151 -DIST firefox-104.0.2-en-GB.xpi 523106 BLAKE2B 8081bf809186e183545a7f0db03d7b27a97299797dbd655b34ffedf5346a3bcacf17bad7979c845b1db2e83a2c580890f74f27dd98773fa69cbe26e86153709e SHA512 13af7448ffb96ee8a12ad42045b8f87bc4e33b2c14b7bcabe54a2624f55e512ebfc668b1f53c26a0225b583a725a9f15c2f22e6f5185e5f9b6fe4a7c71574850
152 -DIST firefox-104.0.2-eo.xpi 549738 BLAKE2B e0289c88fa73b6c61cc19e570a12baaaa5612c1e818442cb8c798616553c7785e00e5896e9d516a427b744b01a5f3a12b3dd5d9716d00461601c06963922d7a3 SHA512 453557ea1206e9c845261e34245fbd3bbbced67fb1b3cbcec044fbfc0ff21a9ddc1317f1523b1fdbccf26a9ac5bd14f2ba44481639d3764631f6742dd17f7ef3
153 -DIST firefox-104.0.2-es-AR.xpi 560341 BLAKE2B bf87d49c6c90c66cb0f15f6deb9736a66724dbffaf1be32e21b8b838cc07c7c5723e6274fd26924867e80a115a7cd80c68a39bd8519eabe12dbf315a53a4a497 SHA512 24b2d56754009f88eeb2e27c2f5d58b3a770fb6fc58b9a584cdee9d6b4585279e2004551884970953b157b9a9863c49d9263b5aa1eaa4f9912228223f4f3a80a
154 -DIST firefox-104.0.2-es-CL.xpi 558250 BLAKE2B 6e6f6b75b818b16a2fd9e563fa56ac8c258b3da9222ac75620e13ab08195cefa423cb59acf5ae73c6898263d0cf7e8d122f824631fd027c6e2dfab4779d4f2ab SHA512 c45defe8e990158dcc28866a8ce5d96efd84807747df554889cbc00f71c3a578f985b99498a6caa26416f929488d071e68b2cf01da3ce30c39d5c00bd324a203
155 -DIST firefox-104.0.2-es-ES.xpi 544276 BLAKE2B 559ee0364a9f148ec4ff23e10ae0f495dc864f771182994a9103a7468128f9b53ebcd01ebc7d5a4699546d363b804e8c346cf75327016a51c17c6d2fa5849623 SHA512 1375de6cba0f898cb4deb2b15e8ab38508ed9246281f201244c9646eb26e6a1817639ad56c5719b5bcdb0b388d9f7490464e11b10544c635982f1adea86009e1
156 -DIST firefox-104.0.2-es-MX.xpi 563474 BLAKE2B 74948a2592aed6c5c41f8ff3a60650c43c89e5200a751a5273f5ad614f9b969f8036c7ba58881c31f7e453f89226c1eab9ec6fdcec5dc21f241531d0b3da57f9 SHA512 f1b8ad1ca65d080af6927d26fcf68986238d33b535e42056a75105a915d9ef6090df25e3dee2b52a10bfef1b04fc8352c97c1f410704142bbf7946be78ede69a
157 -DIST firefox-104.0.2-et.xpi 535031 BLAKE2B 8affb0c0f26a8147f9b520f9d636d530866aa7d557762e2db1c2b60c674a62aa77a82a30b4a649da678515adffd4daa514632d5f69389154e5d57e8321fd2dbc SHA512 4f29e2976c004fffff32427640759b7b2ffb207560085b164ffcbe8689e6428e5deb76e890b1bec503e90395454a48102192c77c5b1cdfa0524f09830344b556
158 -DIST firefox-104.0.2-eu.xpi 544756 BLAKE2B 553f8a7ded3842c8cca116734014cf7cef19c2749967a0be81b2caf26671fb9e1512439e9184831cabf4897da3bd829bed9a7da4b91775c8fdc1a0fc15b26538 SHA512 13942deeb6090f446000cfb99e9d46933cbc7cd7bd4a372eb17fca002e5d0edea87f13375ec8420a9534608f66a6f770db90923ef21b11ee0f1b83fc023784b6
159 -DIST firefox-104.0.2-fa.xpi 565986 BLAKE2B 03ade13b6d05c0df6c0ec427e0d25b3f4d7db56e4da0c170ba5dc17f0693b2368be8352c2886760f391af98be5d67dcbb3499ee1ed9c8e7c5588535dc459b4c5 SHA512 1d02176e74225461fd33fbdfd2dde29bf05ccff9a0b098181497cab666de6139b36a1728ef983e2c230b1547cafe5c8b4f2f5e7ae7023276e148da5509c14128
160 -DIST firefox-104.0.2-ff.xpi 476474 BLAKE2B 610623aa2f76a1ab752e3810a9a111e3ded2e2d9b254f03c6b14fbeba0dafcd670d99b8fbf9f9793f068329c2e6d0c199e11e1862c025f40207fe4ca03c49c52 SHA512 b9efac26d03a43f853b48a2a3df0f1dc52cfd850a6be8e53391803387d4d70dafcdae583d289c86703ce4e3afab217638b0a938195bb766d1d45ba9b664fdd2f
161 -DIST firefox-104.0.2-fi.xpi 542875 BLAKE2B 23aac293dc2df258ef6cd22110857b0f6d719067e5cb752a896a5a508500fd59a5019be219ff64141739672ad1ef3914249dd7c697ddc7c743fbb3d783f0d2c7 SHA512 690c139b0fbf3b1a5c3bc933be07bd9e1b5e9dd255353e7581510e86400ddb2541f5c9648e54881bdce17c80cb94bdb68a145283e7a719c7cc1e5af887b22a68
162 -DIST firefox-104.0.2-fr.xpi 569002 BLAKE2B d12873b0918c77250187e74abf5fb10db8f141ccb2bf27a5450c5aa0ffddcf9889e08d352634cd62288689d6b17a8d99f69dcc5eba5da6185ba54a2e2bc35f09 SHA512 01f2a73af0513b02dec4ec6d5b1f66684840429d499a445b0fa5d407e97c2474d00b334ca2d83fb1379af90a7ec01114d15b13feeed252fe11d9c7a3e114ceb6
163 -DIST firefox-104.0.2-fy-NL.xpi 550629 BLAKE2B cf656d8602e617e11e411e169902503076325aa9be53d6f44dd1d84278830bc3bddc46f32889aa7c4f8938dfffa89d6dc2b8d1a1b9f81ab4ab20a4bc63617f00 SHA512 9814daab15dcb79926ff2071ffd1f53b317b9927e1474cd66b0115c2a4c8c29284d4fc4e9cbe805fc3a71bf107051b3648739549ae35d961c11e36ac756eb5fc
164 -DIST firefox-104.0.2-ga-IE.xpi 475935 BLAKE2B f83456f09a923310e7c7235370bf6ef63029f7a4dc5bf0ee672d54c31f033f15d7dcf65cfdc2cedab34b3a2c7a7758ddd0e373880208b2a3675c439a33f9f073 SHA512 11f0867fb28fe4be0364075d010e8c40c6fcb7905343257aa52d8037be4902a427694c3788b5ce7d0d97f0e70fb2ca65a38dd3e05295a55fcc8c83a76a11fc90
165 -DIST firefox-104.0.2-gd.xpi 547851 BLAKE2B e5ed1ca5a2b7613f75779bc82af6b4c323b8d4d69e2af3e91b0f846472dfb7f282d84bc4f3aac6b0264bd5734cd77e9bb50b63980d3696ba1f6f28cba71fdecc SHA512 9fff6d8df73bca29335c6d77676dbccbeedc160ee04f7b7f180b719119eeea242bf08bf96f12c60e0f48fe31b6928e7f7306d3aae2a98c03d5a24c29f819b9f6
166 -DIST firefox-104.0.2-gl.xpi 543918 BLAKE2B c88cd2977f218804800cfd401289b682dba030be44a848a3f543f1075d26a4d803acbb3a585a34e607aed9b0eddc3af7158bed98e69ea74c2b4e6913b321929b SHA512 b9a7a46f0ccddaeb9d6ebd41132ca9847a0fe509a0e542016c58e5dcff56d82e796829b7b423bcfdd623a36601864e3fb85a930e0c49ced99eaa523f00f8e605
167 -DIST firefox-104.0.2-gn.xpi 570941 BLAKE2B e485a8ecb9d3394665d206b2be869d8c0ccab8a352cb7f95db8eabe9470e645b3b701de90125b32c6f21c4cf8caae0df904d476866414b958ca750baf61fa745 SHA512 53e28cd51314cffc1126cf764f187b623b857f4be25df672004a53c7ad2a915b55cf20a80fa2d4f1041326e8511cf95ade9593e2cf2820da6685126796214d10
168 -DIST firefox-104.0.2-gu-IN.xpi 531087 BLAKE2B 7d9c061782bf2e60ef1e0e6745cc07f29fce37c25941b93a3251a620b7e49e3341a8c22e41e9534717af9c39cf3be03444cec22796ab70695a8b449acae3345d SHA512 6a7e1f3c617e2e053993e9e849a5ac26468c45eb505eab17975d67189dffe71299de05b78b93bec3b0f72a4ed754bd8c755cebbae4a1300114c8c60bdd4baf81
169 -DIST firefox-104.0.2-he.xpi 568690 BLAKE2B 0c393e3e8dabf1fd45cd3f9e7d8ed93e98183381904c5810eea23cdcb176c7cfbe19efe2b9fb82a76215614e3850fa4c0de1873f56d6037b7f36ecbcb434033d SHA512 061b5f708124b6132e07a16da4f9eba721c1bfdef34d5d162264d7f5dd6dcc752cee85628140384e84828e27d7648226740eb3578099cc6df942fc86c715367d
170 -DIST firefox-104.0.2-hi-IN.xpi 561058 BLAKE2B 5cb73acfdb6a385aff23b9fbe972cb1909ee0316029b9db7a138780cee09c74250ce4d9f89b0e1b7e0dc8e8bd732fee374fade181dd73aa098c6b72aedf1b84c SHA512 eb904fc4a4948622904b0305cf31a6cd6adb009986e781ada451fd5afc9e176dad55c9c4b4801f7944096fe1bc8fa1f9c4e0827a8baca6419246ff0114c8b5b4
171 -DIST firefox-104.0.2-hr.xpi 534657 BLAKE2B dd9787c2c9b31811473be927050c9b1c4fdb5e6f9a825dece3ea0b242d0ded54a463521fe28e161f57d35c2ff91c175c2397e290ce33d64ce9d69998402b97db SHA512 b33af66c484bd864e12c57819f81f1bd820c5ac7c4be2273004760f1cdbf1d60d18ed8d8eaec028d69b98b91499c7d54d5930d7f334a1169422f25b6c14d94a3
172 -DIST firefox-104.0.2-hsb.xpi 575816 BLAKE2B b64c30464f23a405d80af7f151604770d9e00311f032a07c3f5eeb2c9154a04af6f5b08d67524dfe0dfab8f8fbd6db25629ff035bd0432a8d5394f91de5ba98d SHA512 07cccd30c47061374c258dd1aa2dd108200f7fae1a71d9b4feca0f1e57a1388ab0df96aff5e1234dae61bbeea2ccd4dffe6be6cca8b75b607746cbcac678e80e
173 -DIST firefox-104.0.2-hu.xpi 579195 BLAKE2B 3b2d8a291af5332a32512b77193ba0173c4ac71af179d9a2cf0142bcadbe50c10a3737e74a641b6d742148f3653ce9c8aa5a4ac40598df0ae9443d4225d0020f SHA512 8ab23f207768aac41b915207e4ad10ce08cc8176f12d6bbb48b5e1d60e8e58fc4d03bd66124505133fb7c9fe13db407a3c98517b043daecab713b8587cfae8c3
174 -DIST firefox-104.0.2-hy-AM.xpi 586082 BLAKE2B fd2b2e146d44eda1b29f34a484430b3c979247defc02fc38f33d50d8f05d7fbdded2bed1186ebb45a658e7c1188742d0d889b1fd0ad5288ddb78556ed44487b8 SHA512 7f551c7705a6f32af16130821752ffeed6377c0547841bf95025f5fd46d5fe6398ba81c5361368f918bf0542e56b3b000ca4b89bbfb4a025b0fc342e65b0fa71
175 -DIST firefox-104.0.2-ia.xpi 545112 BLAKE2B f235f35f103507e3e59a0233e5bd66ca67b0612bc9e963775f6df6d7b9fa1b26d8947b3ffe12addc142c3a3fbe5c1558e37580223658804ff6ec79bfbf16092e SHA512 41e3de0ae1b5400a5bf7010753ec35947d25d4c1c5d925ed38ee42c236ada7b3b55e0b29cea8d344dfc3001c2ccf24fdf6d340b86e330f5597a3a5f9461ce7b6
176 -DIST firefox-104.0.2-id.xpi 541012 BLAKE2B 15fe09f1af3d4ed75dd28e9adde2d52f773ea2cde0c182ee37b4323d741a3de01dcbddaa2a796440a0d694af2cfb189fb39ae7e5ddf037f29a7dc07a2e46f904 SHA512 0df2db48fa09b8abdc265d8827bc1c9a545322a92784936c177a1c99ce108dddc28b586ace4d179f3695cfdc586c50c3a7fd459bbdff632e5e6cf1b23c3202c9
177 -DIST firefox-104.0.2-is.xpi 549353 BLAKE2B fc7e0b8b35afceaaf96dfbd358e8670932a001376f1b219b33068882455f75477ed1f0e99fdcfd180f741230ece77d563ef4736798d7d88e970fbf11846e2390 SHA512 93b61ac3111377c50477d23504bd0bb609ab5601066c912568bba891648f6deba50ff2c55ff2a14258ce43e83c5f6b3709041035c5b139f46359468efed2de38
178 -DIST firefox-104.0.2-it.xpi 462409 BLAKE2B f2208d8c889d6937c8ce8a3925b7061d313463a45b31a59e4d6f64fdcdc67ffdb32da9a2fdd275423581d2b52065e5aa4c87d0d4fdefef1874f586c05ac1c018 SHA512 ab65d2d54bcb38a773cdac731c5db3a9ca0ac79e02eb6a03cf77bb899d20053192acd4eae69c0d6f842393280b5cc6770b97cd00266266b6f951f1c8a62209f1
179 -DIST firefox-104.0.2-ja.xpi 583511 BLAKE2B d769b895197a1b326969d458ae212ee99e605ccf6f9c2088f7df4695d44da2e856979331dbe00dbe66b1a9a04436edec88a236a5f1a6d19bcbafacd356acc64c SHA512 0144170739bb4d8eac58fc42e0a3eee96bd483b44c74589ff19b06e8c68ad9715d1b6c5ee7ed7f95ab52a1924ea3e5cf12335ff7cddfefcb50be0039a4e3898f
180 -DIST firefox-104.0.2-ka.xpi 605075 BLAKE2B dacca3b949b763f00f5178f51e0c4dcad3c6e161b92385a35cc5413fb7b38f1d773da0d9c852104b59f1a13d9109e3ac3bd89476abb5cdbfcebc8e534f94fa83 SHA512 c9372d719c1253c2bc41a2b2c84639b450405c1d0453ac26113ca71183d12a91620b54d239ca516b3c663d4359b177ffd92fbdfccbb248d3b121120e01c35f05
181 -DIST firefox-104.0.2-kab.xpi 564774 BLAKE2B 73e5c096e428adb0671439aa793f72dd607f69a68d77d19b7db58284ed1dc12512cf3742a3cf2600b70ba29805710510bcb534a0a098ffa3e81817147b3b3730 SHA512 438fbcd104f57ba3a8387a107269ad94559826f42ff54d3bdebc74a89f46a5111ef86513b4433c9c98d9dca296d8f32b5d91360e642184f7affbadb8791ecafe
182 -DIST firefox-104.0.2-kk.xpi 624338 BLAKE2B fdee3a760b4f5ef7f1e19bc252a39bb4e04a17bede17237efdc5de1d9b15160ea80736ef80c80c61dfac4bba768f2b2bed0ea68e9c70126ee84918119cad4058 SHA512 1c0e61c9e4e5aa317d89006d705b705bcf27dc5dc4d06b575b2c6eee8cca4c51cca5f247bdd21dd6b91deafeb0c7f6c7374e8e65a236a83fe38bb6ee8911f1c7
183 -DIST firefox-104.0.2-km.xpi 535678 BLAKE2B 55f09b663c4d494f20ed5abf2a4d370f18aa27d893ca4af0c3fcc2cc3d5d6df4e1beffeda77a0c010a3be12e0d67267bfc1684da7d6c6cc5bc4b806a5078b800 SHA512 4b0bb70ad8383295227a3c2dbd1f71a26be19d2f191d2441f847ecf446f3fc34e936365ad6f28aaf9d37e3cdd05f983247af40d18a20dd4d97b2f7525e99c843
184 -DIST firefox-104.0.2-kn.xpi 501811 BLAKE2B 91c10203ca612990d2cfa7c34da95b07fa6e4435e7bc47cb8fe960ee78c9e84162387663842a7f18e68f0ffb383bd9f2f6d40a13e099a5bd9f64eccb82debc42 SHA512 faa77ead49b2f23c4341121e6807e040bafecc944952fb23d5bdba13446b9abf945c845b94c4ccae43868bf9dad57e75299fe839476c18bbd0f4db9bdfd23ac4
185 -DIST firefox-104.0.2-ko.xpi 591407 BLAKE2B 0b527af5227aef906da4e1c45914b3a6bc4b66cd1937572d2b76304363f2f65a1e8b868ff024d908ceddfb2347abc6741e4dc61911fcd8192d9f6cc038cac651 SHA512 68814e14780df9a7a187e79be29fa1dd908857425b7380572d43e75e3ca6605af6bb76d3a9381111ed0092acdc9d60f0d5b0f1e5be2848de8667e7835129ea55
186 -DIST firefox-104.0.2-lij.xpi 474405 BLAKE2B 5a4c1bc5f8f7272cb9163480bbd8a25bc3d1c6340a1941bd0633336ca26ec60b38f18333929a205385fcf0a0df32b6e25c5c8598bf9fac5b845369ce5ad4c1a9 SHA512 ddfa714af433aa00c20d0e8e1b9fd62e574899b44e2d85b5d154b25f7821e64ac72dbd682405c9c69d557c4b8e173c347ff1eead667adfd20ed28e995727da60
187 -DIST firefox-104.0.2-lt.xpi 565097 BLAKE2B a89668e28b08a451f5c72b8915cf1bc412583e6a42347cf496ad2084f46ae240a738d4b5e2e361d50508255b2b4980290e47f37ff241e0cbd5cf17bd0e16a75d SHA512 fea77e6029978a87e0b2bc4e24765d08e4f7d5f24c23f7aac6e2fe12960bdba4ff1f57eb11135980410a60b86d37727b07f51b1a0107d49b7cbd83bb0f4e0ac4
188 -DIST firefox-104.0.2-lv.xpi 467541 BLAKE2B d7c089020c3d4e1c9636b2ff384f7ef8ab4ea103e9ad7f7e904a69376c464d89e15fc771621acd939abe976a53ea8143a74fbc6f9565e44f44cfe12bcc8aeff9 SHA512 918cc44d3186936af80b70af6f93af2f3369aeb02071aa821d3a84d5f3605a506710016be6755431ddbfe2d9dd3f4a11e267088fe806c1cf4820c2464aafc03c
189 -DIST firefox-104.0.2-mk.xpi 479893 BLAKE2B fd1be429544a93fbc82cfb0debba56756280925b4be87f78cbacffa6a827d772a199ba5ec447fd140702441903dc35cd637404bb645c5cbb6274abade12974e0 SHA512 ca356f2914391d4f31bbf56ac1381e29e951a5de062d5f53b85f01ded9afd85ce9287cd6e77b44410210d3ba3416ad3459d56ff39ccba9734d5a5559c8f4fd33
190 -DIST firefox-104.0.2-mr.xpi 534736 BLAKE2B e8fd67730c09b788f3193da293fdb5df66e92a6cda85fc92619bd760d7a1ecf89bc9169cdd4de6d099b098e86cbe3758dba2b130624991a10dea13550b607cb7 SHA512 e7c449b3afe7d54a7c10fa7335223c28b514eb658224f19207110182d2157088ff305b68ae2929ea2cde6e6094e05f18c68073cd11b5bc1fc1d7537c19a6ef60
191 -DIST firefox-104.0.2-ms.xpi 452537 BLAKE2B 7aa8b23139abfbf7f331f2bf2ef4fbceba868507b596feee67e064d7a9d5e7402683361fa87616efcca23e27a192bd79f283909d4426b087cc21a7ab18e2a3b0 SHA512 f46ccc7a9ef8e0a279f4d97f99bfefd69a216eebff1204185ed3f097e4f21b34ae6e5864e5a4e3c37625d0833de22bdf84bc97076c91c480d4f2a0691544ca79
192 -DIST firefox-104.0.2-my.xpi 514693 BLAKE2B d1de9b5a1dfcba6f61628567006265f22bf377887a165ae50fb69b5561056af89264f9604493aebfe6e765d67dfa26b58a5f424c8fa2a852080045988ff88e5d SHA512 7f96a580f3bccdebba899c7b4b7dc663f935b2ed38432d7d2afa8284aec59064ad219de899d746c2608f7461ce8eeb1ca057cf1a5cceff16b964ec819c4600d1
193 -DIST firefox-104.0.2-nb-NO.xpi 542663 BLAKE2B 30e36f0df79f6dad882ca20b707a8aeaadd38b3d4d7de30a8f81daf1e7e375dbd1dd8be6f0e3abc65127463af6b6347c8d8d510e06c3b7f631e5be66de28c76f SHA512 24a34d18bcdabb2d3133f8bd33cb50cd8545e6888012dc3504978fc6253fcd02a59ef78fa06612ccd3f87c79bc550f02867ad903fba1cb0ab9818f77e416e1cd
194 -DIST firefox-104.0.2-ne-NP.xpi 493556 BLAKE2B 82777d0afb5a6a3d8ab165b3ed87bd7f34e8eb6d2378d6e55ebc2d265badcbfac127c7f5e34db0e686e644f15f6893effa2176813bd19df89117b1d876e24410 SHA512 10cacea8ba5df7d544ef6981bdaaa73eb37fa9435f20209e950a24c7866a749429b37a40c301f78acb4fd3a219943c183cb232b6bdc7a78a858a39b504b996f5
195 -DIST firefox-104.0.2-nl.xpi 546995 BLAKE2B 5569b6043117a74ce0cc64c61cd29f336586d74dd63237a31fca4d6a0b9c7327833707d117b1a7d1f41edb674685d2fe920b3d754721836b343f2e9eede0ad4e SHA512 77b3b31d45e38b3a12e2c12ad9cf13728fa25bb190d05cd661d79055a52f0dc57677313e4b6cec0f9d4249626075c3bb4450833b35365368a3564cb8d83c1b68
196 -DIST firefox-104.0.2-nn-NO.xpi 544294 BLAKE2B 898c7c24d1de75ee1940a10f82df38682dfff5a2944f87786f61295a0bf97484ddcae2d0ed51ceb4868ba1b1dee8b5afa93c969e6c7b4b45e13cd42a8d8300b0 SHA512 8554e49a01b276f6435e93143671f9f56132c792bfa21211bacaefdcda7723cb041c23c0967ac3529cfcf31f55c00ae3794ce5335e1a2fa242281272a31791c9
197 -DIST firefox-104.0.2-oc.xpi 560766 BLAKE2B a4c1da0b761b873e6b6fc765c74daaeb215a5fbbe9a58299f357ce94c0e616914a8d080b8563fc9dcbae89f70c36b1cfc34796d134ac6860e9633f24de91f5a4 SHA512 66b4817308e4a2dc5b86b312228644ef5d17c6fafa28d550c15c454c44938609819fe4b6fb11130717adc82fddf3f71432e0591d0fc44d9acaf5aeb63a704efe
198 -DIST firefox-104.0.2-pa-IN.xpi 611567 BLAKE2B a4780b8f89950b426218c9a4e1e3a9fe739dbaac580224f9c7c808ed68a21e6f54f70f2f8e030658dfdd37b99a5aa1a10ba947da66e4d5dd61b9605749eaafa5 SHA512 c8ddc7152ec400290ea15af4418be3f720952619360a1241effdd6dd9d02069b1ada1d8c47183e26f64ec9f48e4bb6a63ad3bd836a10cae5a3bacbb1575c4e9c
199 -DIST firefox-104.0.2-pl.xpi 570618 BLAKE2B b4d9e8917c9fad9f60829e89f31c11e8d6f75a301ce78b3cecc9bc2146903f27f40f13217466ad1d1b57f04825a43e9cefd8b5c4237060156c94ec17f6abcc08 SHA512 a3f28c4b0d3ab945f12d98f7c940985964bffb1e242649d1454b48f9c56217082cfee908c4120fac724b171a60c18ace9a60c6d3b880b411a7a1069eacb6721f
200 -DIST firefox-104.0.2-pt-BR.xpi 555651 BLAKE2B a77a3da9e06f66c7031d27e7ce026a8d19120fbd880761b8a02d85a8589ad4c361cbdfdf8f11d262f57393ad3613b74cc8b985e37ec12a99280b253b1be22a06 SHA512 c1901bf67af05d2cbeba3270b3f84d910e650ec87030da430060329159f1c06d8ac8127250cfa11c411d55e2937a2fcab8b398c7a7cf40992f8517accaf8bbb8
201 -DIST firefox-104.0.2-pt-PT.xpi 558703 BLAKE2B 38c4d74b99324709fa8814121e8c6a20a2c3871cdf96820b6239867666853782ea6818a21761a4cd46ab49f7f68e2b9e58789640839d73a4b9639b49ee868e75 SHA512 b040ebfc1d8154be8a25122b506ad5409b0ff3dbfdd6c6ee6f5e9c25b62b9f6f7106d2717393d1a626e05d8282272102dc407f754078a2567e20d5d722c63d73
202 -DIST firefox-104.0.2-rm.xpi 542682 BLAKE2B a9d16f598707c547fb22fd45a7cced5daf5aea54a5e5453a576100f90b79698d3eaf2d889b3831e363c19c9e1972766a3cd6e3be197f0ff15fc41cbf677092d7 SHA512 2d733da1d482116cfa873f9d21e3fe906adefc590916ac8c72fef87f4c1b84da64510f9aefb52b515d5f9d46685be0fbe3c81ef1030776edd2284f8827a0290e
203 -DIST firefox-104.0.2-ro.xpi 532721 BLAKE2B 5910aa63fe13613e395a632f8b9e2211400c355832a7866f3f78c2e749ae8a213a1bc49332b97125cbd7419accb9a217e8096b2b9c05d0716077540a95ab8783 SHA512 11d8c4ab421bef3b0c6304aa0866996b286aa39fde990a8baef3003c321788fe45953253679accf7498d9e49630ecde7bfcd1404216e0588a3b84111fd903505
204 -DIST firefox-104.0.2-ru.xpi 641381 BLAKE2B cccf8741ad367d94e85b3306efaf5a73e579a7f280a69f5e349aad4ede74f8b7dc7401d86ba7a654e15f762e91ffcc887133c0076e145ea8e29859350f72218b SHA512 f43801dfb7b4b563076be332e4f0d94086eb4bd6fd0116e704b3c2c2ee02410229058d87679ed7a505b2d9a4c009044781c65608ca90bd82214ae350facb28c6
205 -DIST firefox-104.0.2-sco.xpi 500778 BLAKE2B a3a8b37151a4e468a46a422d2b3aa5de9e1bc90d280975b4540d62989f4c5a07e1e37361ee008969131a3dfe2d4e4f3ce1b9202ffe94aace28a4722de64cae0e SHA512 e3a97e2f80efc1b09ec7cebc1f7dd0feab86ff3158feb23d8c9bd6c360163156daac238ba13ae8ea809bc8420f36e5159a5cf988eb9f9993eb77c219b51bc0f7
206 -DIST firefox-104.0.2-si.xpi 489433 BLAKE2B 47fc22dae2bc5cfb82091dd4fe9657a23301a90fbb058ac822403aca5d19475c77a2f62f3c07ba473a388da3b991029868d8a7a1eaef74667ff037a34d8ab25a SHA512 31634d5905fc4b776b3d4748a66e18f4dbda4f4452bfde6fa0de6d9f14bb4997fdd56cc5760a6ac1deb9641cb6e7d3a546a3c203559ffda56c7a18a2f22f1295
207 -DIST firefox-104.0.2-sk.xpi 579412 BLAKE2B 4507728de2be1f116ca322952918c09c8274a625bcd87be97139ce0305bcd4213ade330eea88cd0887b7c4d373eb60920b82f7b4dcb3a8b2c7e501525d3fa44d SHA512 c1c7674a5a6695ebe5828fe4600cfe90b73a4336dc9d8a4b39a44717003c7bfa2a59b7a1def40a05dd7c1c625abc4475a42b75e319aa2c4b824f3549919dc289
208 -DIST firefox-104.0.2-sl.xpi 551989 BLAKE2B 45cc6aa904ff54bc622588a516145c11affcee1f101cc01961779df40c91d328a338084be1731ede3c98afd55505783cb258b1bc526514c1d26b5890ce0b25ad SHA512 35c5d429b5da09eeb25b29b5717baf1a217f08a8344fbf4ca3501ccb7ae3964e2f07eee6781c4ce54699cc7943e360396ae803ddc047cfb831979bf8946b34a8
209 -DIST firefox-104.0.2-son.xpi 430377 BLAKE2B 910c6e0d9c9dc5f190e8964bd57fa56a3dfe8f34f0c1931af622672def0a2e01509000f6d307522216a33ba321648f6bf5469e4dd80a566ae7b1c7330f164c4b SHA512 ffb2d40c57bb2a5be29034a7612787fc907e8521971ee6eea6773bce3ecd7d16c6bcadb87d50087c39fc2353df8a4308223f425c2b649b9824cec92170be5313
210 -DIST firefox-104.0.2-sq.xpi 560587 BLAKE2B 4837bc7591ceb25c7fb2a221bdbfd543e090b2ea8b5c44dbbcaf8688c21330e2b99daedce6dfce32d69dbc49c5396beddffaeab327af802083cbf0139e6986cb SHA512 f0933273ed4dd4aecd84aac240296a0abf81bf5ce7c7f2ff9e27c801a350e39878ba605e764016cff6beca075a4e7d6ca3c2f0a9d5e3a134414c8d3a2744b7c6
211 -DIST firefox-104.0.2-sr.xpi 586828 BLAKE2B 5398fd1f0836f0ad2e4676847e598c7c927cca1ccf2afef49aee8dc88dc6c5f005b8370acff10e12c62f6f7330f69c4c8c0c5d05aca5fc9c7c5bb73ab25d5d5c SHA512 41c5a081e29045c409e71607316586e32e57ec1deee123e1cd0350af286d4e2695ddda67b88c60a7cca85a6580fa5be2e762670be18d656f2edcd6b183a57f7b
212 -DIST firefox-104.0.2-sv-SE.xpi 552457 BLAKE2B bdac1c06ba7bcd9f8c57137962c99d8cb4034a703a93e1dbf23f8c60de6d9b2e727d2bd4e70c286307bff01ca066553106d3fa90fea420eabea3facc30ef16a6 SHA512 66ff2db0d7c0831d059104bbc59e77baf2fb81ea9423dd37823b56015fbadcd832bed5de1fe8f920b89642cd8269852b8d8b2371b056ccb841d01c53c7d62ab9
213 -DIST firefox-104.0.2-szl.xpi 512566 BLAKE2B b1a1a7dbccc82d2e3aef0b25d8e54e98633378a8b1e9cb72dfce8cb73bdd1249aea4665e8bce4bf373a670531b83d49df9fda7a148890c55eeff40837d27b4ba SHA512 839961de70bfc74824b9361976a45e7d90e85169184d62dd68cb5a14e39120e8d5491374b61bbc5cbde77700420e07b2e6ff90b00e3f06231a5af72eeeceab9c
214 -DIST firefox-104.0.2-ta.xpi 514626 BLAKE2B 24c84edab7c312d8dde9db6a96216691b3b336a3fd8c66f0a4c28aac6d01183e54e4d1f68154e8da415b29f3190a117b8297df2f7310eaf9df6e7abee7ffbca5 SHA512 e956d0cff374bd2150f2a6790908cc6b53959cb027286b9436560c7c5f722e99ca8f5f467501bb6fe48fa3ed2a84de4a6a26f9a24d8d65e5cdec26f595644e25
215 -DIST firefox-104.0.2-te.xpi 555351 BLAKE2B 6d0c4cb7f424c9e436f43b1d8a666e1f3567e96cbc6a193430015b5837c47fa6621359f1a2663a36182064b7cd3d19216d3ce14230e9465528102eb9ed745c56 SHA512 bbdcd6b22ad44e15341c14b4e306871fb7baf5a03f481b118452b1e7883116032fc319428dd2f9c2b4e21a1129d2d254d9b6c9ce4e8ca9e495042247e48a552e
216 -DIST firefox-104.0.2-th.xpi 615063 BLAKE2B e0a59897d7a711e50683389dae6ca24ec4f3cf959d6170ecac8d28736cbf25c266a3d7b6f525c8be953d5e757a8554f596e41e43d8aefc0886119ca5f3299b48 SHA512 74e2fb4d02935471a3fa8834ccd17b308185fa6885d3dc96b89ef91f480725ce3f0ed02d497f080ffae26b0bc08a296d83e724ef95c20b4d0c79f2fb31608616
217 -DIST firefox-104.0.2-tl.xpi 522947 BLAKE2B 5ecbb3dfb7cd90ba0dca4ffc10d91b902eaa5ddb2f8be787dd55e76f57787b2f818a06b0a3306db7729ee56050e4a418b751fdaea1095d40716dc0342dbf6e57 SHA512 47c8e4bf7ba37533c2e847ded560a247030dabcae0c8aecab36f2629baf2e4ddf0312fd3ff67ba626847352c77f5648bd78a319bc920abe912eb62227fde476a
218 -DIST firefox-104.0.2-tr.xpi 565840 BLAKE2B ec7cf17d980d3440b794b8844bb86486b592bf960b0310766046f565204b6a09350972ce7118337c38af451da1b56c61d1a56cbe3898ea24f23db201fd3a57e7 SHA512 bb35b12bb3061468a7962e36dc50d3ad816923547884e806a0885c037cb6ed295b4da3c7883632306284afc384924ab5d8ac2defb10efb79939c50564918d5c8
219 -DIST firefox-104.0.2-trs.xpi 493325 BLAKE2B 4468010a1636039dc8b145c0e8ab9a85d539d3057122c980fa19bef519e5fd28f9b5ddfd769140afea766f2611a8b2e221c9bcc949e2eb2b588ac0d2d4e460c4 SHA512 9fa625cf809e5b977bdb1ccc5b44a97a9069d0ddd42953a658fb611cf62bf454aef0664863fc8ca740b617b5e3b0192703a665cec25049ffd8a61aa55722822a
220 -DIST firefox-104.0.2-uk.xpi 634724 BLAKE2B 58c27984a0f65ffb9b99b580dcffa1037e317273f40e7350959a41beb4eb2ebdba63bbe0cc7060ff351db5ebf2ff395475087cb2ba6063c4fa42df5f2bd53ebd SHA512 ebf9950f96dddf1ec631043eba76ab068eac495eca4f2f0c9b7841bc784d8c41b7583ffebd0ee2d0daf8dde60675ccfd9e8762f4bfb60e89a8b4f0846f5a4373
221 -DIST firefox-104.0.2-ur.xpi 561599 BLAKE2B 92b5e4feb21f7b55ce925cea694d807d35a4cb7fb6f2a9f13cada3247b13369e98a37ae650d804dfc7b267df9d2cde48a8b3b270ce50c5bc58871ed1e8ea52f9 SHA512 531b635f002fcbae5536073394cc7db0ee22360be611825c28d41c88dfd85aeb5a5c870e7ddd16da02c46f076c6a401a60817b6ce9caa1615dd50fd8ac443fc2
222 -DIST firefox-104.0.2-uz.xpi 482135 BLAKE2B eb48023485dcd1784b0b61089e532e8b97a81343ad640e2ee2c124d451857a9d3279e45c6533bfad75299451cb06114a9f28d74727cbaaed34ef12078b2ead4b SHA512 43f1ea76e556e3f3f3ef9e8641add09c6888d88f5852d04e8a9e0ba4f610642cd675b8b90c0ed82134553bb95e6c256bf892b05ff037b3c5ba9c29564a97e391
223 -DIST firefox-104.0.2-vi.xpi 586736 BLAKE2B a31bd0c4e7c92a0a6db1110c7cd04d38ef4560657eb517f06cea1685f9dd7c12af02d343c1f9ed4399f9ee5caad698e50b4211707a100758fe5e665f39e291d8 SHA512 6f0e0888769c35c635a290cf1bd7f130fdd0db17c891160e07d1c8ad6ecb0d568b5900610d352160fa300691f50aff0d9fc1be47ec5f9c8c2e29f47b03fb3b0a
224 -DIST firefox-104.0.2-xh.xpi 433349 BLAKE2B 86121f6ba9e13baabd0e96217fd8518e8d14b955db8eda0ce06482eb457841038d9723000f3853670c4c5e3a65e6930d7b315c36badf46f124a8599bb1440e3f SHA512 ab33c67e838bf07564189d75102792b121e4428205d62d7fc482441cefea77e5f73162f95f044110955031cdf3de849a245d2904788965f434f79cc21e2f0031
225 -DIST firefox-104.0.2-zh-CN.xpi 587664 BLAKE2B 0c210fe7c503a579b860ecc328033b3e547a6717a384f1bac9e8483e859e9c8cf07dd40ed9cb7d7c2989097a6850dc2da6ae179ee5e5bf6288e1dd145126eddc SHA512 684ccf3095aacc200440b4b33b91c24a75c08f47fbd1be5704ad9d7ce95aeaa1169032efc0b5b692124047238b41dea617ae22c126a60dc5a788ba8a4acdb353
226 -DIST firefox-104.0.2-zh-TW.xpi 588467 BLAKE2B 67bbf28ecb6f4a8305c551893fde3e4a8771c47d02928fb06e003c8e6badc1af9bbec131759446c76da571084857c27566e90b5bf99dd6f5d024398b5bc66163 SHA512 8421fd070afd584f933b0912e74cfa9f62ee5c007749bbea44ea0a20ece130570a2450463da136ff9b00bea010872dedf47e21aff51de9e21bf87bbae2f911cf
227 -DIST firefox-104.0.2.source.tar.xz 478270500 BLAKE2B 1a8317a2880fd412449f18868b0ed7b5a757083a7622ec06fb48c01314774e5645527a217e38a98279494f3140d55414bb3fbe3c0731690e383aa5b617607dd5 SHA512 bf0d972add11566f5ef6402a22abd82122945de9fa9aab6ed7bb7e41d0843d41948a6d95c0769b0b704c066c8ff6e3f3bf26fcf288c64cd3b3f09a13d4dd467d
228 -DIST firefox-105-patches-01j.tar.xz 18160 BLAKE2B 2acbe25186abb4830db69af6aafee4b63c84e22ba5114d111439f7cab6c49884ab96ce0c62d619d0e8892c84a1fcba7d5e6f0700c0ad45cd7307393b42c14fb1 SHA512 77adbf56f48ba0da5b0e790765a5a1399151337f7945359b861c96bea5e6e4429fcade52a337c04ae2e7dcbf296658ef8c835d48c15ea19491f43137a2159784
229 DIST firefox-105-patches-05j.tar.xz 19144 BLAKE2B 61bdd5bde8fcb0f71f45595dfd289e3798ae9ae64e2c7bb3db54816a5ba494cfb0bcebbc42d47f4cc395260a01c6444588ebf0ccae481cbe0db5e3d42646cb78 SHA512 140da5d340ea38d0d431533961d7219414162046d6e1f6c0af582ebf5a92ed4b8a88a87991dc231434bf5a0e7250244283b2d36f519fbcbb62d5bf82d8f10187
230 -DIST firefox-105.0-ach.xpi 462391 BLAKE2B 518b3592cb9fbbf816850c04a6ff88646a588cc9e611d8e2deb035b0ba1f0ea54f838cc0315b932e3ac0b3890a5c5a2ac0dc66246d9dec2f502d43d6a274b0a1 SHA512 b4ee588178257cc2bb3a4a782680a00697fe0caf5e5751be3aee3414df08c20ba8feb0514dd0fe53c0d9fee335c38d5eaad226fbe2dca048b83203baba23030e
231 -DIST firefox-105.0-af.xpi 426869 BLAKE2B 31ab4be151e5d7a11fc6ea6ab4434932d795b6440490fa8f68869dffa4c55dbf0f9bbe9ca85e0d71a26f86e34fdeb4bfc11d647bebd60080c274015234012be1 SHA512 ccedfe2193f0dd2b4d895851742b00cdca7d347ca10522a5f1bd32dafe89a4ec030f271eaa22b1f9e7029012ea4c11fcc798cdd6d8f540783aa72336517b4522
232 -DIST firefox-105.0-an.xpi 507324 BLAKE2B 24b911cb0f68c0e0b354fb915ba81d14c1c7c57d7252c50563145b25a9a1f8cb921c83c6a9f58821b7465e9aa168e5c2af9c9fdb51005699b83e8a6c09e063a2 SHA512 e6220b2d71503c5e131ebeffbeb0a573ce48d15cb9714524de970ce52925c40adca7f2829b615924421a8d4185da03b892613c63107bbc7d8a9d9d6e2a31686f
233 -DIST firefox-105.0-ar.xpi 571515 BLAKE2B 7986ec6af983f8aa48da55b12aa1446b22bd9b8781cd56d68d4f93c2658e907ffa8dfe67820b1bea251498bea7edd30cbfeef02e5943fa67cae00b7fd5d254c5 SHA512 3d7d6a5b17655ec63aa8eed367190eecf7e6ec6fdc50034f6c530897187d8a53bdbb1d25b968138ca10503dfb6674b3004f820b73d1a67a26a42e20d3a8820e2
234 -DIST firefox-105.0-ast.xpi 502221 BLAKE2B 322274a9a3f4081de8cbb49d194270f785399da6eb0fb015afad2ab02c9e2b261694fc2a3681632dcf429307c0beb212abe49afffb360b3641c67fef514aa2bc SHA512 bfcb39e7f99b0a769f18bcc6a19f3ca3185ab89dbe881d38991ebfa4b7eefb2cae5682bf9492edf2cceaa27a9fd3f78d73b6b7afc061d928bca5e21b0b0d7922
235 -DIST firefox-105.0-az.xpi 494476 BLAKE2B 90cf2183440fcf180630592d08da65ea8408cb3c40873fd0eadafca2a9cb06d6e5418be9a5f8140f724ae925cf8df3fbfb6b51022c0d6e6e9782253d7065ae55 SHA512 464da710136325c2969efd62f26c390b25733d806493edc943824b2816f0dcb8eeb88261e89048fbc1183b7e292f46400ecdc6f60b822495f0e237e813b9bb1d
236 -DIST firefox-105.0-be.xpi 647118 BLAKE2B b5164bbb0b6b3c69220081dbe7e49c41f0de50cd366f347c042a32807fe41534eabd4d150b736d4f38eec70c24d12d4c6409fec35d09734cfe49e0b3a60bbedd SHA512 5139b62fa2ba825148a12f4379daa6cefc1ece69b4220c983c45f6e414a10bebea9c0ea0a1cea8e7bc0758723abc147c9150a5c2699ff8e6b542f179912312cd
237 -DIST firefox-105.0-bg.xpi 587139 BLAKE2B 2f9047c7740781c41faebdd6764c69c17b1b7cdab13760fd56251191db6062fdb8af282e776cf4a0ca72c7fb517831b426e913c7fb3860a08a0085c0b790498b SHA512 2150eda7eecc111d2d9b01e2bf258405e11943cf84e513d8cbc63690c680dbdec3c5c87411d9e92d5e710ece46e686438260990c635078abd3285b5ce89e1e53
238 -DIST firefox-105.0-bn.xpi 585360 BLAKE2B 612e307b297a424356069b0e96dd7bec7dfca1a01afe04ea128968667a2b81cefbd85cef04a49daf16c0b5feeb82b68abc5e24da36673e2307df969a7f90fd49 SHA512 d3d4be2d7a1bb9b3c1fec8af9e79fb0af69024e432571079ed09b83163f09663e33e508709494584dd0050dc1c692d424dea0f7ccb0de83fa2754d65e746b1e1
239 -DIST firefox-105.0-br.xpi 539955 BLAKE2B 9780398c9c47d70707ffd6cbfc30eff20d5be4808df1675b8cbeeaa66ea58c15dfa995b7650db934c398157ec9b945756af74f5b586400b4fa8c4926099d5fa5 SHA512 920ccb7a2fa27392da378cca4ac4d85a1409b837731985bb70b997d3e495874755c8f9d4563b7b00ba2ce5279e4c3417b490d3a82d57294df8288f0574fc0470
240 -DIST firefox-105.0-bs.xpi 470942 BLAKE2B c448a0bc7b21db3f1cbbab3d39b19d48aa21a9eb60b4a56ab04f5231de3c8d11112a1c7d568e32a98b9b0e94bac511845295f713da31b4b9a6f72ff65823a554 SHA512 c035792c7209a8bdfaba460d3b0add9132de080de6fcc3cbda4e007c6e09af61a890acb2a8fb5630690dab1a782fe3989ae2c520cab7893b09678c1426ff2b22
241 -DIST firefox-105.0-ca-valencia.xpi 546411 BLAKE2B abdc3ad0bb4736fc5601d8c61e39956028585b45569ea6247c92648e58743e256daf1d3f24a9d31eb756d015d7bf8881c69e7ad38296bd0619b9d0ca18e41c0a SHA512 d9e7902212625c0452ec5a85d0b1bcebe2819ac0d58e98e4a2aeafd2a49a044abf76abf7f2bfd9371eaa54998d34697c9fefb026bd1e21a63f2ac88376dd9b7e
242 -DIST firefox-105.0-ca.xpi 549850 BLAKE2B 7a888717d1af8c42009ce82800601f55e79d62f573b89b1caf0858614b6e22194decdb67044848b79e650d6a0be1cb373ee34942428ac2405952153b5ec0d8d8 SHA512 d5d79173acf0589d45e87e29736d02f75ed190d204417b77a392276369a9b757cece3740108f5829b1e48934f4cbdbdff712b2f78e2e65f3b879b895b6f586f3
243 -DIST firefox-105.0-cak.xpi 559984 BLAKE2B dd80d3110193e43c84d9da5154f923f87677872ea47b945897d05bde0d365f8858ae7b8f44c42d13a20d736af7a95e371f2f012b0acde0fc2a440b3dca0dd294 SHA512 1cd94db4d76622c55d4f7abdef34e7f91aaf5e353ed1816d7c9b80b8e3a2c8e1a5183cb0c30eaf1c90e381d9ee7e5ee6cde8cd811c6586fb93494bb6c7186482
244 -DIST firefox-105.0-cs.xpi 581729 BLAKE2B 666d15f6dce17d7525cd446780b69cd68e663be35162bb94ad84a739ecd6586b85abdd923cfcbcffb1d67baf0f843f861ad2c672e19397794bfe44fd6ec37896 SHA512 15bbabc1de218a372da7faa95a015ed5264df75143f3c3234854ee75144def6b22ed5ea5b30784c043ec0a0fff0bf8ac21e5db5f310d3911b73f60d70264feee
245 -DIST firefox-105.0-cy.xpi 562725 BLAKE2B 79360272309b236f4246b8d83d4d83ba9a9a3ec19c46fa9c044e3a0f83ae143d784f61b647241c30d84ac5fcc99832331ec46dc90d0b0bd4e1536679f964b84a SHA512 ffbf678454c66e73ce5631dbe93efc9435b187d1703d5d2eb684111291768a75be186c71c0a112ffa4f7ed9a05311384dcd8d80781bb2d2845da19cb0615db14
246 -DIST firefox-105.0-da.xpi 553589 BLAKE2B 62fdfd8c6c0f8659459078289775b0dd1453404d1e5ae899b4d58de43d9a4622c83017e396962219f72389f22b32d10865203aece1c673eb8eda2f3415feab37 SHA512 fc1fa288fd0bf4638376c32062ebf117ac10a907fe36e9730f76956ce15f43d63e8ae1b9ed9b87980423b33cdbf59d936e01daa5e3add6954d7f5458d4aec4e2
247 -DIST firefox-105.0-de.xpi 574350 BLAKE2B 18e6bb652780fd13eea21b0f7a16e26601bdec7caadad2885d951193b9e80192c687937083f49710dcb7408d6be4829cef0adcad3c8b3ea838301c61f08d1a88 SHA512 b7f3bf6f68c43e8da47f1caeb9f48a16200c6aa33d9c1fbe88e9f2c566fc4e237a5315c4d31544681bf24749e37a4f162527d57a4922a47c31fe034900508c26
248 -DIST firefox-105.0-dsb.xpi 587684 BLAKE2B cb500a529baa29324d564472ccbc836c227900f0a141c70978e59f20673bd61d7e7139b1084abbf511fa4cb3861b6d694a96fca5e8e9737fd7bf048d0659db9c SHA512 944d69c3632e12594f61cf91eba407f71aae2e5bd483db8f261b2b64a599ff3b95a67aae6f2ebc9ff9dd4f79524ace480d99bf6ccfa4ee9664539462127bc298
249 -DIST firefox-105.0-el.xpi 663172 BLAKE2B acd710ed1178dfa20e7d54248f99941d6bbee580dd230455d7c8256ead07898b16a7d856054561457e24bdead14e0e4121f55e25255506e6cc51cedd63687974 SHA512 d4144295ea1929466f2efadaf833b44be2f9ac5b796cd2d4dfea51f134a3d5a6fe4db569c9c66c0be2123b208858cf1d14889a8d65deb18f276ddd05fd7048d4
250 -DIST firefox-105.0-en-CA.xpi 523058 BLAKE2B 75c34195de8e535e5fa85b601ec1ccccd010662ab0044246bb5211017223416173898dae8ee2b4d400d206619a2d423b508ade6f0ee56e5703395dcd07cbd7f0 SHA512 976ccb29f80980c5cf80543e650276f3e624787fe26758859f6bbaffbad2538d7db99dfa692fc2f9c8492a06d5b1fcf419c12e51b0a895114e584d36f729d3a8
251 -DIST firefox-105.0-en-GB.xpi 530699 BLAKE2B 858de4b72d6680f83604483c84edf5b656531c9e5dcc5e0331632c5645b50fbe4fa2e05183d032fea0f258e933400e9d124e940a0fd3a16fa8ac0f4564946f46 SHA512 9181ddafb4d03cfc7d1bcd16e4b92cfbcf220fab932f266b7c6c24bc98c3d90e9fa5b966fbe544885e9798f353f261d9a5ec1341b30219fc0937f7bea5da0e63
252 -DIST firefox-105.0-eo.xpi 554046 BLAKE2B b2220066890e47e08ba87f8b6886ac4eff2b88d8003ce8469bb3b104ec7fca2d7f84deb5a180f8538be4a79e82bec4b008ed40f1dbd00ded8befc157ef57caf8 SHA512 955d5b73ea8dd7edc501a385e707a376c48170cb19c69784b382d5b890a7d42bd613936190cc52f99c7d0ae0be9af62e111ab48c599ccb608d9c0816bf226104
253 -DIST firefox-105.0-es-AR.xpi 568709 BLAKE2B 0e152903bb46b13a22aa02777021cdc4e14141740283f2a52cf2ecd885ff6449e3cc266d92124cac6768b2a85c1dadcc057f6c8dd3c4ad85b334f661869ded32 SHA512 1fd92c2246df6a5320377f5f9983d4c098a0508226d8e866ae6c03c4c98935f2ca838e6de541bbec1b4ee1569e42a1d2416ff6489f16911ef79bd4d27411a75b
254 -DIST firefox-105.0-es-CL.xpi 567806 BLAKE2B 1be487ab3f56aac176b337fa727964f500265bbf7c4bdbdef98444cdd2f032a4879cdfb58acfb58203ce409b7d6a3d9ab75df6a6eae1b0bcd58c289572da8229 SHA512 7d3881ccbb76349849812aad858f30cfdc468402249df77058230afde59297051d540b0d4d5a05db3209f0065558eb74da17f2f4cc0bd0b3966a2a967016b2c7
255 -DIST firefox-105.0-es-ES.xpi 553317 BLAKE2B 7c8ff9d42c9343c75ed4360aadb0704a4986db6d2165b6a8bd5e80562fa9ebd0bb5736098b8770f15ec13707eed05a29ba3132d5b17e6ced3a47377639fc8804 SHA512 08741a2a0f8ccd3a401d1743da174d41639ea5a541ef70170ab641acaa1688699565a0bbbd9557a0d8481a79b1d5af2582ae98dee9b7803b3bf7c9c8fc63ae96
256 -DIST firefox-105.0-es-MX.xpi 571862 BLAKE2B e86cc6d277cc50f687309398f1060109e2a80ba180495ce20f8568f8a15a50e6cabe3f3dc8548d59da5a19534d96aee8985880923d4447715d907bf9cdcbacdc SHA512 a1ca0c654f388e4fbd3888d1ddab6c0451fb5d46117aea76cfbc139cd24861f45e0c70348bd7c6b2a9b765f7fe19417d7a34be00e547bfef4112dd3cb0dbd668
257 -DIST firefox-105.0-et.xpi 539881 BLAKE2B b1063c03b9f37e5867eea4ba0e7f79a0056362aea929ded13292c937faecef21d4c7bbd923695972912920b22a7ab9c6735ffbe3c4738eacf572f4684e5dae63 SHA512 29f5c8242762fb28dfe944eb071cf6b4bba82cf300181da2817ac3d3b3c9da4558eaa2cf8357a4980d3024d10c1eab929a8112d1504035991c828e9f508900c5
258 -DIST firefox-105.0-eu.xpi 556228 BLAKE2B 93dd1796836d3a15b1f72ccdda4779ef06d344970718bc593c08e7b3832ae364cfc1a95e0a009a0b089bbe2f3757272002aad6642ac1609057e30e1da1cd19a5 SHA512 ecee6a561a51f59b9b7788942c5c6341ca112ece9db4edb69277b2f64c2e7652392640f3937c9a3c4f91bc270381d6597a16ff6b51d5cc4ee1067768f442f7f6
259 -DIST firefox-105.0-fa.xpi 571110 BLAKE2B 401844e080a74762f28f106c5c602d23ae6a07b0ba7cb25b147b2fb548efa630956f4fa547d26627865c2837d20e595af02b3d3f1072fd7747545aedddfa3335 SHA512 4be6922847fab0622c81b63e8e180035a364df5f120dc1d6a84fa85a5c852deb0197ab9f1d60a0db54b77f156e62f1dc2ef528711fdce26d52c11fbaee2f51e7
260 -DIST firefox-105.0-ff.xpi 481136 BLAKE2B 27fe9c34aa4d00285ed9a6035b8b921237852a7c5aded61855d95749cb377303409097a34eb667025d249f8bc06467a5389896376cc35e98ccd5b031ca4d21bd SHA512 cf35094cd2978bdd44660faf9a29e2ed5ef6ca8bbbd464499c82f193cf0c125f909785defba730aace1d789da88abd47ad3b8a9d0a76b29844003fc6a8063f99
261 -DIST firefox-105.0-fi.xpi 552062 BLAKE2B 8f52878f31e8a224b5ac06069007e25f606740f14eb37d6f24278ad45677fc8186b01b071ce5e571fdc206c83c6eee638303a08d62a2b3081542056804004f61 SHA512 7dac8adf410da53e1614ca2358ea7f3b06f66f019e58c94a15fb652dfe2135fcec1248ad5a2f1b56cbf8e174accacbf16d2190806c6597aead880b45bb9cad71
262 -DIST firefox-105.0-fr.xpi 580211 BLAKE2B be25a8e129d640fd8931b013d3ef79a0b2c10a8784eee5e72d7bb9e681a6d4ab3377799b5270da1a2ab0265a0e0b43cde56bc5a322ee791114f00591cc6582cd SHA512 10111f8792befd7069eccac01c91e648595f622fd7d17e37ce6f5c656d49c286c4869997b306b560bff696e30afbd15f6f85d7989290fe871bcb8c27c88e1862
263 -DIST firefox-105.0-fy-NL.xpi 564513 BLAKE2B e68e5fcf8d4b5bb4ba5d64806058ef87ed78675091638583b5ef435766c40b9c90b7191b20cbb542653e4af7a9cc5346b190851a7e8cf6072e6d5b4398f7f978 SHA512 31488b4bb233e76085b9a2462e81833bc9d7d46dfca73f35ec50a12ab881d217d031fda92fbf540275c2bebdbdbfce836eb22937fe8ed46c9d59df679bb27600
264 -DIST firefox-105.0-ga-IE.xpi 479289 BLAKE2B 12e16417e7fcb89b8ec60dcdb3e25397c904cfb272f58994551aad2f6c434825d70848af68087710cdab67cc4dcfa47c95b73a5d068abaaa0ff0097116c0d768 SHA512 0ceb64d5d4fcfe8e1c02b34d28305904ff1a330a1300882561b25af7a3109cd2e772f49f4ca83c818c6df37828ce8bf12bd7bbc2fcc27d6db11068a315a1e02e
265 -DIST firefox-105.0-gd.xpi 552645 BLAKE2B 5476f373edcff5327de9285e8df600a7b4bad0770cd7b159cab6084e5c1944ca2f933b64858d4807f08bc9c6c40b44a8da98ff5d35659153689e1a376da7e43c SHA512 03faef5fa0ddbe50bae585d180100d3d668b26803de94ae526d23a3764df8bb6bdd6a30229c8a3f2e4da2440b2660ba3ec149384e21d96ed60830b228a65c095
266 -DIST firefox-105.0-gl.xpi 548771 BLAKE2B 96f99730a77cb0567a795749e9113d03a3f28d714bcc7aa9ffaa456e00749f60bf761e652179bd914930899adec40104be59d3cee99990a79406b7bf4d72ce09 SHA512 58107209fc005b44a683eac0489629a60913bf6405ce18e834ee43b5c533906df962edb23a574606e2dd5648501fbde93735e43d6bf499494114300564f225e2
267 -DIST firefox-105.0-gn.xpi 579017 BLAKE2B a24aa45193226265f20a8ab8c29c2111043689db07ce50008f573db406a569add2690556056f2e9e4c2a345ff0eb966a9398aa94f0de77d9a0fa06cf10a63a89 SHA512 80be6dfb2a2e7ce7e68991fc2f35a54a6249bd720adc06d0d913f8f465c5e97c958b051ab60b5c575f80320d1a880630558ab83d94eeb7460b1abd914c5982e8
268 -DIST firefox-105.0-gu-IN.xpi 536338 BLAKE2B b75b9a86b08834b4f8289cc82649b73e800e4f2d3cbe387e622c93d400b3e1450a18c4cb7eb29f52fe27b4acddb5ab18d2ab5f5103d91f049384bce6f931c25b SHA512 e0547cecea69ff88f396cef93283a360c747add582a470cd1f894ce036d224f3f73918cac92785ba38a9d0ee58f6c88892d3432f598cc6ef15142f66fda7bd6f
269 -DIST firefox-105.0-he.xpi 575460 BLAKE2B db24f91d8496eb68eaf6ab3738634bc99d53890736f4e821f528607c8bb4564749cb6698116f48878246aaad6ce84af5b33226f6df23f3f7c1cbd699ab33c4d3 SHA512 9b238a9e9e04690f96cb8ac204d387b2d27effe706857093317e37d24140a79ec05f729bc20c2f7aa1a7e3e1259eaa942fbdcc35f00f68423243343b19d81237
270 -DIST firefox-105.0-hi-IN.xpi 566798 BLAKE2B c4beebf4d1469ebe7c44dde7714f4857f59dfc06e5f0c5671bee82f2e01c4f5e87b2f0c5f3dde5027977ed49f718529cd314cd9dae55c62e9e96eb80e5b10244 SHA512 30e2b3de8f6f68a9f53a386ae96b45c6cde45c512b247dfa2aafa29fdb564e9dbf342de79e4f1af28d67eacff87cc4783244c5507ee51add20340821a62021b6
271 -DIST firefox-105.0-hr.xpi 539459 BLAKE2B 6b39a370a07997a7e62f4248a7dbfa627f0aef1343362b35e221a6364e45d0ae54dfb57f37780452d8585ee5ca25d79cf7c4a4b30346862b02fc05b8c70390de SHA512 7e300696f256f4df213ed373ca6c7d47aa9256dd0caa6a10ffeafce2883edce15c0939461e5cba583ee309a030d100ade4a456e84efc295f790e2e9400bfc302
272 -DIST firefox-105.0-hsb.xpi 583863 BLAKE2B 93f82e33980547b5c57a67005176abfda4115b3a216302c1d14a66f73471eac409f44ecfa6258e54fd36ab1312c6166972a99984a62c1030a215037f1ad7b6da SHA512 d87a15be0e85a687cdb98313c3a7dde03f5c55a880eeb529a9a0b2dda4e3065eb1d1361834043549b1479a0b60b1b2e879eacdf65f553945d1681c8fdb2b4465
273 -DIST firefox-105.0-hu.xpi 588449 BLAKE2B a57997cd1cbac8e6391454c19a32bf5a993d4567af6bda8676ed1de70f428da0634b18e2b136527b2f147bcc0d83244318dbecbf7cb522a54af3fb9474307738 SHA512 6a3770f80402fea7e1efdebc2d6abf41a097c6909745b62dff0880da63529d6993bbab9bd2a15a96c51a282c43dd6ee060970b9559d486fcd315ef364aca8797
274 -DIST firefox-105.0-hy-AM.xpi 591352 BLAKE2B f23b8df6b56269fce491c3024e78c638b6f1e7d6c7c89e62868af3c2a5133bd4ee05d38b45854a2f177ee0a6c85564d8a0168e48652110ce4efa91b5d85c8ae7 SHA512 7b0b6088e57d8d16ad1315379572077c6d45619d530897f8473c9b8afd46ab9337a97c9b1627b6bd210d3ab2b776fd825f2953a0751fa6f3b5cb57b26c92f30a
275 -DIST firefox-105.0-ia.xpi 553254 BLAKE2B d723d6f3009c11a51c216a90eed2e03675db55146ee7546e6fede2f6c72e3a065ccd7943b08b9a9802ee797bbc3989d3a90df264cd99823957b5baffb2a322fe SHA512 b46c013dd0d3f4b3bae3941421e913c594beef27c8d1f473150d1bec2d83fdd360e176693ac1fce6106dcceff1420badb45589ed5cfdf28a5b854725af685579
276 -DIST firefox-105.0-id.xpi 550328 BLAKE2B 3c8330f3f30b391d41160ced36a9e1624ec690dc9ea1cba5174a8f0db406329156e58f21e91ecfc585c1e823e29b8ef6d1ecf57990e93231a4091c2eb13b3d75 SHA512 b77f30e2e93d1823eff7654fc4683f29720e64a870d2b3f128ab2946267693a0b22a60a16fdfacd2d6e4ecacc876c6fae7f1af225edd5de37e8d004b2323ceaa
277 -DIST firefox-105.0-is.xpi 560803 BLAKE2B 2f28b4c948d952598e17770b9eef2ecd6bc00c5ad05db33d59ced3239e5e82ff4cd35315b3324c5d381d79393327c8094bd0df57c50f2f022297bb79ad155785 SHA512 31771a373cac848a869d50ef6e2cf75d3fd1d4b7006c675952f44d2918d0a6332a901ca93c02c0e35a3a14c3d4bfb984c0c709921301d2201ea5a0b1a51cd834
278 -DIST firefox-105.0-it.xpi 471260 BLAKE2B 99638b000d56a7adc52173ec286c9398a3bc032f3f8d6d2fcda12d37a172aa4520f373588c53f3a84c21e3c3ed65f37e5a593810190594afc97e5fc6e9549fe1 SHA512 09ecbdcdc30e87613d2f87fbef4fcd39a2f41b351f917059004f92f9eeec7cd504ec79e5aeed7c9e674f652777639697f9a6ad973f213fa577ff1080a16fb0e8
279 -DIST firefox-105.0-ja.xpi 593770 BLAKE2B b9046c203e81892e11310ed46671d9f8f0227211aad441f8904dcb94d82c47f28daa87294df94d3c9a61722939c1fab65bb698751fcff790828d9a24fb70c13f SHA512 e031c6915862a5feb633cb39a2c72e6b9d265db231a6f3a64416ed6911ce1aa725f85b751366f613ac4903a75f090fd7a03dd5ec6dad7078f546d66bf33d73a4
280 -DIST firefox-105.0-ka.xpi 614606 BLAKE2B 91c8869a36cff0e8cb4e018222c4f5e207ab669daa59675a84ae32179058ac67ca48c0db817e670b965e3484b2dc3fd7f165f2ef94d943af5c8a46b5463ab58b SHA512 b944f7edfa5283674a3425a4b0130c74c4ee5a80494597b1f3a67cf65957820343326dda96daedb347757bb4e9f704c06fc3b8f839ee4439f0fd35df8fc90f47
281 -DIST firefox-105.0-kab.xpi 573721 BLAKE2B a1434c8e0c074dabaef2a34096123af3d0367c8cf625f60a144c746231711b54ce7af7fea44d840cb830cbd58cddfe2dba1cbc9b0ff7c22b0ce30e1c55c477fa SHA512 ad287eaef61903e040ab1900583efc268cf67f551eb35136a8eadf5208c840722c6d2fa2e627a7596902a0f304941ff33240844dd901f858c5460a1bd9281c16
282 -DIST firefox-105.0-kk.xpi 631192 BLAKE2B 40a7b08c2913b482d6a16c7bd043b6b88de4a9afd7cb96840d06761bd5fe58eed5d5d3e2f32b7511ddd3f7f362a19cbd7665ffcd6d79b2540592a3eaa6b5f6d1 SHA512 890a098495a80ed2069d8a85406d1309655f7f4b90e19b7fe75857138b86425b5cc19e85e58fb5cd43a10ddbf924c191c2164e395e033b4ec2b0baa90e77b8f7
283 -DIST firefox-105.0-km.xpi 540636 BLAKE2B 3cee1fe8f0fd605436c6a70480e82651c58ec9c85109f716f4dcfc3521af99181efba3702156033b20172c521789172053c410fdf95b83700cd864dbf52dc309 SHA512 d0c53c1b4994c8752b508f74593179284692fd3608a57ab48bd5f4aea762a3961603d20aa0a1948d459faf5fe38290da2666449dc91af5b692eadedc24bdec05
284 -DIST firefox-105.0-kn.xpi 506456 BLAKE2B 887f41af6106df63d038771e73a4a0ab630a6bdc895c51f7ac353baec9fa89f11867b1e46513201ccc180ac2160819a0d378ec60ef5157cb39de3ff624fa2d7d SHA512 d99a560226e96cafaab2170d69c098da127c62fcc6e162bbb8499a176dbebe16cdce983ef0ec204be8b3a3d426f685f6bcc18afc921a6e1a314a7e8d29375a6f
285 -DIST firefox-105.0-ko.xpi 600511 BLAKE2B 17d0ba694c396d9147b0c42bb63e10fabf28cc5921cb46c8e1b5db318246e1271128d7247ff97de325ce38b4bfcac4cc5d195aa92afcfed10bc77212e2caf0a2 SHA512 f5d6b959fbdd4a51ca066bde5e3633d3c1af455ddcc6508f4c23c0591bd058e0220e356561130b95c61b87b751a4c7e6216c3e52d1b532f1d395e8ea1915bf13
286 -DIST firefox-105.0-lij.xpi 479007 BLAKE2B c3ebfa92f42b674c02574e90d10c2d64ece9fbe284f9c36fd5db18701ec862a18a19df6a6590ac657fc9f9690d891d6cb2e361ed092cf58d38d03d58ff2695d3 SHA512 dbc7136a1f1fc5705d2b02048fa8e1ebb1f052a3531bd7a87aad6bf83e379cc8c1b0f644a68c7b6ec25bffd2318e62a182863c63b04d623b5ae7687af23c7004
287 -DIST firefox-105.0-lt.xpi 570052 BLAKE2B 6ba0174c3deb84a0f3d8ad4558826f723b2fd15fafdab63e5eb9c8e8a15045d7b3375d84f426f69ac69c7b05210ff363474a05da501924e9e4bd2253a6b5ab60 SHA512 2545590f43ff0e3cdd027b0023e7d4677702151be3484600808988c586efeabf77e4e5b3b04b2f70221b6ba78e1f36d4de8a049cc5ec0208901f286e4fcf861c
288 -DIST firefox-105.0-lv.xpi 472201 BLAKE2B 328fe46dafe89586a1f8eead3704f2ca65d83e3c2930a903f5ce91a5f1eb75ffa4d063489e4a24937bf95e5d6ab6ace242def6107de26a7b6116202518203a14 SHA512 ca09b9c5e13f803e081b181d5f65d06f2a58c763bb0a10511314a80100f4d7d2fce7131cf128b838839a05158b6f14141e1c7b26c53188ed4d7f57fc7fc018a4
289 -DIST firefox-105.0-mk.xpi 490859 BLAKE2B 38b9a5d250ee7c4cd7093dd6da3d3c289726d75cdbfdcd992f343d5cf9a783ca553a543593996baf3f03f697ea15a1392048da3bcae21de3a1da70a301a4a246 SHA512 0b83d8477fdbcdf5ea386cf4f9538e9d58d52793391dd4bde7271bcc90ae58bdeead3df184f88f17b54fcf7ac3fea584d5b5fee0ceb8ddd477660698009d8392
290 -DIST firefox-105.0-mr.xpi 539886 BLAKE2B b00ae908acccb3eb23ec6cae816b32d315f29e820d76d52b523e53325af8decec6b6b5acf467b5e994dc76fda9946336ad2895399d4e823ce07a871f135150b4 SHA512 c054444affed517f7507984498e84dc4f779d98473235cea864a7f7dc3b474f1121a9d6677eac85599e0b4ef186bb1c68fe8f37be72859f1f3edce9407015307
291 -DIST firefox-105.0-ms.xpi 457110 BLAKE2B 25cfebd14cbe0164252689a99b9ebc1a0991996b30626efc547a1c869e5de4a4a4707d1d356fda8f6469af67ec5a3f06f1a3c5092219101fa174cbafd8dfc9b6 SHA512 3279fa8016effaa64b61a51e843782972db118e21928d1105a381355304fbec41d163a35e02cb47d49d55584b5a86b1d3d34774f8ce24ac781d4118348d99a7f
292 -DIST firefox-105.0-my.xpi 520836 BLAKE2B 278a46b4718f265c6e8442896f9a0e837dba0535df55fa85e4703a574dbab18d75ce548bca15df399381ea97637855f96d82bdd33227f4237d87384a3d99bb5e SHA512 3419279f6b1a05408ba547a01d4950803e7708d6dbda4b38f1788d6d450f18a920d09efa547168c43a67155da9bca18bab8569b871f2bb3f35a240e6d863a2b7
293 -DIST firefox-105.0-nb-NO.xpi 549440 BLAKE2B d776d923ccd85b33b8c686b60bea715c4fbdc10e2cd0f4f08fdc132625a4149d1fccc6947d532f1e67263c54cddd6cbf1a6ea7d2499e6133c7a1ed0eafc28c43 SHA512 cd8a90956635c01c729015949447c5d060e9f1e447b9290824e332efb953b5c0d31a601ce16f50dc6f15ed6467e383256613226195b2758d4a1168580fa46c3b
294 -DIST firefox-105.0-ne-NP.xpi 498114 BLAKE2B 5e5573f549cc721c8a6e507da3cddf29df748d2e563837cd4f28135f153f844d9591c53b1738bf216c8194f62dddff1f555482ab53d481e2f7ccec8292d1a78b SHA512 b90e3f35d0c3cc249b95b9e0693221c14967fa07a20afa528b717884285b3c62ef2dde5d65058907f0ff8a264544eb9843c1ca44ee54380f79b81b413f1be25f
295 -DIST firefox-105.0-nl.xpi 558679 BLAKE2B f0098d310b3d180abaa565e3fc55eb8d7f7b0a8f1b1cee8ffc9fca12fbbe5ec569b6e15912e880a7219e9783af2751ce342f43f37ce76dca400526c4cd3f1c64 SHA512 f984d5b81c24ee8f36d177051542ff8ce06b984a2ef837b3410aed75c7565c0bc309e19c32ea9a419c01dc58d755518708b39b7194cb5e279fa2be3470b3f8ce
296 -DIST firefox-105.0-nn-NO.xpi 549946 BLAKE2B 7e4830e951881c9423a3ceee904a6b7848f7a78622841eb44eedc1d25a855e92a8621e3a37b63d14fe7d63417de2d90dee0cc153007b291864a843e4efb994ee SHA512 4734c8cf916c85d1c3342e2c1a561ec0680efe4e98a382467a4fb5fb514b14372d29c587ea0f5530881bdf314962b57ed6954472577d64372ea636673ddad174
297 -DIST firefox-105.0-oc.xpi 569592 BLAKE2B 9f2d041dfd06745506a31ef2b76025c7fa8d12f7d1750db148630582e21046fbab38e5b8764668731590a0e65f09ec97d0beb67d165a6dfddd944234422ea897 SHA512 3e1076ee5fa0531fba9fa5a37a56645f5ecdadbf27adb392dfd65dcfab5fbcd56fe0b9f08234c3ba192a827c33a5d493123411cd5809cf935090bb9223c206ec
298 -DIST firefox-105.0-pa-IN.xpi 621200 BLAKE2B c36857c0214595febbc3fd1c9fc6a41b677d1c72d79dd6e67e9a55cdb7712f3dff9a90ab09fa9677a83f71c93d2eae1e9f09f18655edd9afda2bf282f9ff846e SHA512 7a3d0761a0736d0386cc658afd14946ddb843c8a380c79c1813a0eb093339ba342d1389ac16c5fda2951790622e276caa8e99cc6ef7d30e0edc7a397765e16b0
299 -DIST firefox-105.0-pl.xpi 579327 BLAKE2B 7364acda33029575189c4e84379320b96bfbf7343f0d6da45b15e66f61410bc190624f4b066c8e7cc00f2803fc6597e31714db41fe7f49d58d59178aa6f41f5c SHA512 151c63dded1a08c2316818f72236dc907de3b8f91b89595015cfd7bcee1a2b4d11830d5ca1cdb812de5c70f9c2d7b1b6a803c48ad02f7b12942185b028143ac1
300 -DIST firefox-105.0-pt-BR.xpi 563715 BLAKE2B 19ee561ac8f503519d4b4d323b542441dff0a7a60a22e1d76960adcf03bb2d46651274db0943cf01e802f22468dadf3911a668feafa51df9cee1a8265bece87e SHA512 445f31e9e5582ea911f9fa8bcf2d52735c48273da8e2c0d5df219ef1e23827b8a053e4a7f38107b78a580f76f75802275acd1228fbcec12133e6198fde1d2272
301 -DIST firefox-105.0-pt-PT.xpi 563873 BLAKE2B 27f3940da60991ca53b136e02c879c77a6a4a87791d4e3d74c69d79005f71107fb6ef84518f95994be6333944f431a69e7b4919b288b87d551dc23adaa0a5363 SHA512 34a669c09bc275e7b1d2e800c01bd527ad43bd837be4a16ae51df1920cd8a17a7d8e1743abe478df68d569ed4aba878d8627b35f93ae4ea3c5cad0a576c7dcac
302 -DIST firefox-105.0-rm.xpi 547518 BLAKE2B 2c67c5e8bcbba1fae3760a3700863c49d147868ce1009f7e4d4076f2991cbd8d52aa3b97c385592e92a4fc965bcd2b4326099d4825360cb5c7726385e5041ec7 SHA512 ad6c601e038c893b2bfbfb083fc09534001f853d0d91807dd6b686cdb7139621ff6523a60c17d159b14759ef00a334ab65ba953f5e16f3f088305343793844b8
303 -DIST firefox-105.0-ro.xpi 537768 BLAKE2B 8a5f9a93f71f492a2b354cb66eb8775873594a28e6907d77bf21dbbbbd5a4bc03c5867ab38a5b19ce26a8c215957ae927833f4fd031f321cc7c4fe5974fb10ea SHA512 5234754893df799538d00c9bbc0509470ee0558cd7dceabd80fc8cd45be6f68c5e078b474e88c07d0cd28ac6b2329deba076da315e584f470cac02e6de971348
304 -DIST firefox-105.0-ru.xpi 651152 BLAKE2B c8b5ddaf3955daf81b1c3109a28bd5c1f9d789797932c65603ee2c9628abed1516b8010230c75ce83045c8233e7465ff8ab6579bf5460f6eec7866ab257637d3 SHA512 132d0fdd7d0027f364cddacde8d2858def95f3d27ed5fc76fcbe160c26944897ef345739bd709a7f4955bb4122e0d1b7c34ee8f69fedd434448858f6c1a93c01
305 -DIST firefox-105.0-sco.xpi 505203 BLAKE2B b831362c3c03eb46b1797b8481f7aa8e345cf1809d0ed055ed1051cb0a191a44704d7ae0eb041373b45fc8a22ad5ff5d1a8d16991070cea17d76ce9f5765ee82 SHA512 5c990fdda7f7a587344c7dfd2ac5fd40c303a0fd3525d271bc1588dddd7fb0d656954c789d171983a59ad8425a2b6f299fc0324922d39a0964785c155b722bbb
306 -DIST firefox-105.0-si.xpi 573125 BLAKE2B fb53b2ff54316990eb3edd0c059deb6a08f62e55bf3b515ac4deb5498fc0e432b56815972b87fbccbafb7aa19a8628b7a8417b938ea98603a8f4d78632b29728 SHA512 3061c7e44c31c754a9608d22c0e02f1d0649df9090dcd91c7bbe607a16a1034b89d75a0a2812dd5ded3c5962862d6a0e729eb1fa0733d54624ca48f3ec472d36
307 -DIST firefox-105.0-sk.xpi 588214 BLAKE2B 212fb528898ab2447e9d09dee1db229adba4e67f63a78618e0064f858aa93484b0265084e1eabc1f715a5b3fc0a60aabe5d5699cd7151c2bd151730b2a4cdbaa SHA512 e9681134cd349d2a64c60beaee02d9fa9cd55d99b8a0d1296996db7e1f240c148ef62b34c9fdc1aa9fe3fe58ce0b3c4daef77ffb564c88b7dbf9445073f021ac
308 -DIST firefox-105.0-sl.xpi 561108 BLAKE2B 9dcfcd71cce3fd0218875b71cd4984c5797f48bb1508ed46c1ca28d040011951043f62fdd2e1331bd3f044c551355850b6ce7b3a0a34a49402f8435e1456e283 SHA512 593d913f31cd62d13bbdca59ff2b3e54551d72d3e161c4c13a2f77937d95717cb78b201ef7c8af249b0d9162972c0161df783f64b071f8aebfe3e8080f0f195d
309 -DIST firefox-105.0-son.xpi 433314 BLAKE2B d86b43f67b8156ca213c6d3c59ae0a1035a882dd65aaf497e853ea815d3cf487073b8e4030affb80614d1f79a6e3ef22d70f4685d5591e7c77d49cbe04c08d7f SHA512 437ef372ab79cb5bf36d7a1805ed4253955cd8293cc60512156baa679f22bce8b9a2c127e0038c226b6aca279e40a5597eeb891c6633e987e61b89009f25ec46
310 -DIST firefox-105.0-sq.xpi 565438 BLAKE2B c26483ceee5196fe31f7154e5b3a544e477add30c974a89b22205a9d07c2f38f8e10c65c18e103f4ad309e458e81462f520717c98c24fb8b2741ec14499135a7 SHA512 6fe64021f01ac8877cc30612fdf957277e2a2b0d77460d3a75b5d12be807330621f805d0ab4858ee217a07c22d662bf5c43f361daab3c6f52af58a319c06821c
311 -DIST firefox-105.0-sr.xpi 604650 BLAKE2B 86cb703f3ac2ce2fd5260cfa4f72c2b5e18f651be839813debef827cf21285d031b6af18d756369bff848c46df8e5955a17f4fae0b008f42c96c160a740028dc SHA512 e5f07a3b9acf5f7103613ad0059ef1e9d6a8cb3930f3a6dabe807747f75dbc3e9c74b14104031b3795b01483e9bba7b6c7adbd8a6b6e1ca5f992465a4969f724
312 -DIST firefox-105.0-sv-SE.xpi 560616 BLAKE2B 0cb7eb69fc2831b7e31ae8cc724c0c20e234d32b431997f0ded1f4392b41739ff5addfc6ba55fed19cea7fd2874d8d9361f35dfd936b147df408387280bb4aa3 SHA512 3a4619f618d2bd47445b4acc16c065c34967eab09a891b1fd81f1ef2885fd4c350b871829d74beda2ae78ffb83598379a2b0037405b1d4931de7628fb68082a4
313 -DIST firefox-105.0-szl.xpi 520743 BLAKE2B c017823733cc8c7aa663ff0d2390d7713cb09765ccdabab8883ae6a8260e17e6a5e1ddb62dcde381faead167a226e2235b39797d76e2613bc29bd14d52503d46 SHA512 ad08c5bb2e6ff3da15900d43e6756ae51870b7aca91b5400888d2fc9780929f78605445fe32bce7cbf8a6051700658136213a705b2d36a445852a346788f246b
314 -DIST firefox-105.0-ta.xpi 519016 BLAKE2B 6ef09bde897cf09f424b1c86f8f6f62bb1ab47bd864821399d2bbae2e310c8a2d38941d7ac1767d2875cb54aab4baa945da42087bb516abaf36f951fd9054f8f SHA512 3d9a2d7552479342a8bc8141619e95018ec738033d7b61e9b5d81a4ca9dd54fac9f36baaf24a4f1b3e86ac6dd399acc22ae325c0d7c48c7b538bf6538515e801
315 -DIST firefox-105.0-te.xpi 560549 BLAKE2B d59cff66c4026428eee5f7d6e00f09e4d27a25ce4443ae55659e6c3989ef5dec39ddbc3976a205b463de66bdcdf49888ab8894e557eb8bb1d2958d5efffb1c3c SHA512 79f0dcf66565b45e0c5c0a2910f276f8d32355b90c3f4d089a5a934fb1d77f15d3a1936baee51b0bf360c9670b88dce4905b311e0338d437c6c05414d1e9d9d6
316 -DIST firefox-105.0-th.xpi 621828 BLAKE2B 0cc3253d4573a32c15e6cd00dab4011f8881039bde1a4438f76b44b4a276b6fc00096c4cd5c80b337caa68a7f30ea58b5ce5980ab42119eb99e02f7287eff33d SHA512 b9b84266d1ac5f6f676dee29abfb07a4ca13690e45d0f04774bee6cad317b95110a80af9afb8d6c66e246e33c57015a5d41c6810583e96b1bcd5986c0ecd8190
317 -DIST firefox-105.0-tl.xpi 528005 BLAKE2B 26ae127c0a7189aa8a320c7c78a2f9fd30a5a99a0042428b9cf0825e4e4adb516d8c3c36341b49355f196dd4b47cd53568cc0f28a645429eba85046418ccefa5 SHA512 c449ed87ca56f18dc70bfbcfce5e737b00513ea2221a5cc0ec5e357b0372434058e4045d488b1723834468e29bfb1ad5a7b0f4f34691a5da82bb103047a033cd
318 -DIST firefox-105.0-tr.xpi 574327 BLAKE2B dca8147b6b00d823cba9655daafda6938cd10990a5b43640001f55e8608cb54b32d3c66a623252b45e947761d703ef25c03a5d8c95bf287f536716f3ea17e8bc SHA512 b95162aab0e1c8530602dbbc7c26d798768085f10ad4d7d36e9934d956f4b3a1cd6529c48c9dd63a52098b88190dce2ab087b9a1f72691c4fcc82c659cc9cad2
319 -DIST firefox-105.0-trs.xpi 498807 BLAKE2B b95619ff1112814fad74979fe2556f65f218cb64d70f7d3270f02ba7f6ef8cc350cf1d04c0a7a3bd9b18f7e36310b215c1cca5ff15624ba2c89123fd5009abba SHA512 b8f1b2e23ce6cf9228c14ff7314e307021003983d0db7533e0937bdee102b41061e1c6982637730c797f20cdef9b89659ac3ea1eda9006241e19a11b1fac7f37
320 -DIST firefox-105.0-uk.xpi 644336 BLAKE2B 0af43ff97b71621eaf2f7d028af2fb27c446fd0d193ec5f7e7ad37bf591a5e23454df5ef8960081a7c0bb6d3cb89a4d07ec11c33244a72b395ad15919de225a5 SHA512 bc656f7f3b1f81471e446ee9b7e62b0cf80b466a55f23f3fa4d0147549f13f0c93272350b0b0ea433f91ba0c2bc669c373667a5d97d5ba7bb4d8a8102401289d
321 -DIST firefox-105.0-ur.xpi 566535 BLAKE2B 97b2d3ef7d1560ace7445a68acc36ae529617b592197309a302d1476f7acbf3bb79cdb04ad45bb90ee4052a51006178e1b0be6b9cf1c8efd6789711f0b764a0b SHA512 4729113722992f47bba9aa95ee46d374fd5fe775a4033cc99b226c42a1b68f0177c280b1c921eb6865e4d159558c24ba4628659771c65d4001ecfb9150d17d90
322 -DIST firefox-105.0-uz.xpi 486874 BLAKE2B f7bcf82e4f33c452deee3d061718dff75a638b0b2cd77baed7d6011d46a8a4e87e2ab1d7e9bf9e1484d88e953c691731de068c7522cdca4bb3d736da434d17a0 SHA512 616812a38b878bf019252ce373e9a03965f646e0e1793f624b1f806af89065d2de981ba946afb9d697ee310d8948bc7062c917cc4f07ae65ffd0d320abf3aef0
323 -DIST firefox-105.0-vi.xpi 595124 BLAKE2B c27899ee403a140819545214ec94c76511b03293e818d012ab071f3f1f7608685cbf565771ff9d3c66cfe18970e7baf444256371b9a9d9cbe9462aa8000fec2a SHA512 c18a29b4ab803c33f1a7ea39e349208bc82312f38d5b037009b0b3bc71343f7e9b2807de396b074188f49d0e532be14571b88d456b6bdcf9c4f36133ffe63958
324 -DIST firefox-105.0-xh.xpi 435737 BLAKE2B f879915c310fd039863708758ec14da34d38ae5f4db79f03e054a626f2a9214394131f4e2caf4b5a899e23a97aaf14e5f6b338c80333cf648ee9a5b7f58ae8af SHA512 a7256f6529f3b60ba3807f0ed02fd5089aa81b7972ab0918c2822717c672ef3946d236c55dd03292c88a871c9fca665b6d0d2ffc75d173304348d07b56426339
325 -DIST firefox-105.0-zh-CN.xpi 596363 BLAKE2B dfd583934ee29157fb45212dc842135f945b0a05a246982d49c11a1e044c7d75fd501e7ce449336936a4a8115b7e9bd1d3570ba57bd3cb9d5275009c7ac2572e SHA512 0ea263baada245adb5bfa850a83018ef42e9d4f8b0ac4bb8459281d5f179a9dc0a2d2a64505e115ffc15ea37243411b8630d3c83a885c4b84c922e128b48cf4f
326 -DIST firefox-105.0-zh-TW.xpi 597428 BLAKE2B 7fc6a94076a5031292c52de3bbe3bffd463d7ce8ac0ab2fe08df38ceb2c7fe011c91171fe569ffd79c4eaf1d0b1b11688f6c64db55f204d735c43908f2db4f15 SHA512 dba7949b44d3429f6b14525862f4ac7aee43e90c8f9b8485db7d1eef82d37da38c817873cdf56f555481999b0ed32264a76e4430cd65c112768b072226506df1
327 DIST firefox-105.0.1-ach.xpi 462395 BLAKE2B ce1c579e09fca70c69e12120744c4c8064fb4c341237cb9dbaab65f0ae7b506d51325d9319694e010d8deb9d882def54e2796f3fd268833823c88471990414e4 SHA512 802acfdb41cf7f08aef47280c4c9c371c5e445c53b95d1d66b59f94d4ce4b60420d468af9efa9d30530cec411b931759b7eb057fb49396bb12897a5ee05df662
328 DIST firefox-105.0.1-af.xpi 426884 BLAKE2B 869356a1a29749128266ff2e206310fa8cb3acd88b4b4fa31d0a1f23b1e1f0d13df6b824f4a14522582babb50862ecd04ebf2acc9d9dbe3d35f4a1939bc2fd47 SHA512 a650df3751203592574e358b9f591a8b7e01db86bc3e3ae95765024a42a1afe6c009f6b22d18243bf4e7e976731cc412e972ce6d60b79d2a48badee4e6970880
329 DIST firefox-105.0.1-an.xpi 507329 BLAKE2B f6e6d5a3663dd81de2abb949ed8ab04cce2797d36cb7d34c42efe7136a7ee7cb3495ce139508c8704d58c9216a4fc9288710160b71198bedd32008b6e653a319 SHA512 93eb1cd05cc575581ce5fe344564053e6d6cf328952f85b9b5937f5b8af047eec4b322a94c5de254bce4f240cade090591a48372ff402b77562adbf53b422a2a
330 @@ -491,103 +196,3 @@ DIST firefox-105.0.1-xh.xpi 435741 BLAKE2B 4cc4ab55df561b95948dd6b5e389bf6a1e357
331 DIST firefox-105.0.1-zh-CN.xpi 596364 BLAKE2B 18c80655c480efedd506922bfc0d4430eda525a1b4a15db66851032c25dd0e103efd8e246003699996a01137972ceff1b60ca50cafa8ee8c9ac8b2657726654f SHA512 51a8bcd726e46f28e404f3866abb8ef36b01163ffaa42e23ff73cf596b920b7225f0bafa2f587389f585577aca379c4ab1805c808dedb36ddf05dc90468417c7
332 DIST firefox-105.0.1-zh-TW.xpi 597433 BLAKE2B 904ba9a3e987c3cde42aec94017000d5744e69195dc7382891f6443aa748f26f670bcc7c6e9da8f1954da8bc295c2f469fa666ca02141caa71fc467d5b4715f7 SHA512 c39cf3d846c43a1942ced5ead5c70610faa6089b8d87dd32a16d7d5909a28e051b122699947a8117e2ea34a8ba463d5b481f68fb231b33872b5c4b4d70e25024
333 DIST firefox-105.0.1.source.tar.xz 475536540 BLAKE2B 9ee260d5fbebf48fa3158e917e04707ceadf21961623b323d7f3c598ae754bf7cb9280d9cfe009c48ca52e9dd2d6c40d1b788f429bb0e3e9d620163dad3b2b4b SHA512 66ef7cd5028953e7da9d55e127135739c9d85be68ec633b71c52d6c9427edb0bd8a38504148484cd322adcefb57bfefe6e57cb15855f195508fe438864f4322b
334 -DIST firefox-105.0.source.tar.xz 487471648 BLAKE2B fb911cfb117433994927bfc0b05cd31ea86993be0b728d3b9dcda7dd3608c8b8a3a6eb6b4dada643abd2e109e9c551495a7bc92909bbb6db93763c0a66ac465a SHA512 a48f323f874b538402630a9094daa83189b3ca319feddc80fd66d087eca13f21c8b2d85be9c29e948c18cb7c524adac44e135adcde4d4592738e104ae9c1a734
335 -DIST firefox-91.13.0esr-ach.xpi 453223 BLAKE2B 88b43c79620d3e0263f7e251a41c8ee88f10798982d8a0db3d8d545b83aa4e3da75140f5d9bf879f2229ea831668344cefddf6c67ee45f3169c7d854cf53a90d SHA512 795ca4fced227f29861de8fe2e93acb339d41de8b09c941244f4b62c8e7835971ec4366bcb3a35aaa75e779087248df459364c262f2fd7b294a6d7176b74e1ef
336 -DIST firefox-91.13.0esr-af.xpi 426921 BLAKE2B c0a89908f46ba666c9d3c9e916636e5aeff7564a0f2132213aa443c5dfed474006dd65dc8f47d0e0fa30d5435c810937da98536b3408dae62c428a5f1f4bbe78 SHA512 8c8a40cb2117479c08c13077eeffcd3473b4e2fd9164269da58a68b3c0e77c339184a2edca79ae80480f2b7e41c42e598a9350f01061b424cef1aab35a7480bd
337 -DIST firefox-91.13.0esr-an.xpi 499888 BLAKE2B 5a3bf70080e5ce5fee3a47955678a179e716474c4f341cff1ebffef0401b2b24d0e61b30c772b3863a9b3e62bad68a37ba4037b8fea332d40194ad905fcedad1 SHA512 8935e71639824517870e679bfe4edd8870b37c36a4ec6d5e4a93c9496c5df551fcac14dab397be12f80e0a3f5fa14253f1995d0ee2e4328dd05219901299898b
338 -DIST firefox-91.13.0esr-ar.xpi 559670 BLAKE2B e3ef0c84a954ca2ccd7510c0c1f2055fb9803602175ebeb373a1c952d3fb1883753734347bd2deb22474bf16fe12a8c4a00712fee042be86004d7cf8fc09e03f SHA512 a2e2fa7c2cbbe42f8cffb45eea60084f1010a02e1b2c30cd7c03f09451cf7d49623860db3d892eabe4f5b68c445f005eb9cb063b91f3252b9040387b635b05ad
339 -DIST firefox-91.13.0esr-ast.xpi 498574 BLAKE2B 4faa3cd0abcf640f509640c50d043d8039e8962be497186029543e1597f583b4d3fc68c5fcadfd31f8f56a75871e750b1bf261a6af092cd8672e3427ef01a34d SHA512 201cc367019ea28a9416ad06faa06ca25c956a9e5d125484b396968a81ed1e545961a664493b6e9ab840b5363eda7e43414957b6eeac3146f9a69c032ca9227d
340 -DIST firefox-91.13.0esr-az.xpi 489442 BLAKE2B 4671332c5aa979bc7134b2b1464e1862ba892d727a4c7543fd5d581dbce62871737c8dfc38ee4e973d219200e80de024e67e39222a70c9144639a2a0775155ac SHA512 af752135f6ca035fa0ddc0ccb00f42652a93efd34573357d76777d3a513802da6a3ddbcf129f33b3f3c8909d37cefe9ac8f1146804462d3e8ebe65d032ef3c7e
341 -DIST firefox-91.13.0esr-be.xpi 622604 BLAKE2B 4f574f4dbe34265ad6dec0d3a70523a0230a22bf8d0e86aa08ed943a4cfc4969c38dad07767d1c6663b8eb9c37a0f940db5d0b85facbf838c399b0043bb80209 SHA512 18c468fe5e132cbc856f1c64c07ca2dadbd26f15bf3316fbdde6a8c117acd9baffddd4a65c10e0fb3a62e6a6bedf5688a552d706ca02b40f5f4e7809de4500c0
342 -DIST firefox-91.13.0esr-bg.xpi 567637 BLAKE2B 5d36444dcd3cf055cb8e414195537b19da4094c5d525f5f738c205fb0ba75a739a520ce7646dea4a87cad078ad481eee34cc3a30ee91fb60e04a9e5d551f84db SHA512 b875720d537068d96701ac302b631859eaa06a39f42b037d5bb9298f83a21a1842a00aec8272ece26658bc188c2484576838966286bee811e3c3413866dd6418
343 -DIST firefox-91.13.0esr-bn.xpi 556817 BLAKE2B 3632c91e9175c4fa2efe27e26b39d617df6b354584b59432125363e92d041bfbcb0ffcc3706d5ffcec132fcc32cc678808d58b2c189747d6b6c1c28b4048c4ec SHA512 334fb0284d803458ee7b1599bc9ec93b7600e66b248857f26a84ab0cf4b8f24ef04799c6ece0ee417acf075bf29842276c4b9d6ba689ffbe3576c34994f7bba6
344 -DIST firefox-91.13.0esr-br.xpi 526261 BLAKE2B 6cf9f4fd76b1578d17b70cf442b51b69888f6c759d3e354db8300ca81c2ef50104a9830089ceff3c5af156ff10f7ea9f3b3e2071d66b32d07a951f6608a6675b SHA512 92f786fbe732cac4fae38a7b16aef064c79ba9f5c874b5364d33e9164e74fd1aa2f44e5363c0eb354c485ae226ea3b02f3d8423e3ee07a903f3aec95c006be1c
345 -DIST firefox-91.13.0esr-bs.xpi 463560 BLAKE2B 90757f791bbc7b38b6108760bd1e9c56b05654a4af8a0eae7f3aaeb6522e7dd5a8c710f5857a04d0ad8ca43ac79f5fecb9db482a9e1c1427c0f7aa8c16632bda SHA512 b16fabfe09700a682aa94d2dad8bda3a9f2d7ab048cdb8d27c39730ecc7b8903b3ea7d81e7bca8e58591a227aeede6063da028f73078a09dd7a188a7d4b2f454
346 -DIST firefox-91.13.0esr-ca-valencia.xpi 529401 BLAKE2B 0bc1c37e4a08d9d6f7b02d36125ca8062b8f587e8028a4d97e472363d4c948097067dd98204ed88c3440245758f6ecf251cb114db2ed8f18b0a913cb55391dbc SHA512 686516e72f86480acf35534d18b9ad76853a439733a7d5b38c7b919417f9e68470f3b7fe4035926df1afe16585b0c783d505d259fd91405176ecdab7c9676583
347 -DIST firefox-91.13.0esr-ca.xpi 532471 BLAKE2B c8d996d5a27d1d5396bd2e7359e19a386047ebde3fe9a18687d6440c7fbd4fb59b8122de6055ddf8b9d44e120b516d849eafd016ade36b88dca00e774ca42e90 SHA512 a5c925e84227aa4deadca8a780bdef74a0bd4b4732e973bcfe5352e1b1932065547fa7807a4308d8993fb17034d7a445c3e993d77ae02874cd89e649a1f440d8
348 -DIST firefox-91.13.0esr-cak.xpi 552611 BLAKE2B c6ac62da8287654b3c7e1bc4f0941059e5981b1d99d35ee5af2c4ecaec6b26da6ffa8b58754ba1a48451a60bce279f257af05ed4615cd8bdfa6b4b00e59e4af2 SHA512 b9795c438b01ffd48a649fd25bb379b49d89afc084e1c2f9cbae4af92419bbc7387bf4cab82d284f1e277273c9d9a19abf444cdaf4635ce839943bb08484c0fd
349 -DIST firefox-91.13.0esr-cs.xpi 563176 BLAKE2B 37181f88370addeb66315092bc82f1e8aaf5a399ee85c14bf94820e09b697094f89f4fb4ad33d117df79f06b5df4b36590f372eea473f36b3f3ff0511844a4a8 SHA512 10fcd15d8cc66fd0518869f84bf123f94fe04da379f062f0211d4403272f77e23601a9f10fa9b191ee1e7c6c15d32f28efb0d834856280f5ca8b78257eff4fbb
350 -DIST firefox-91.13.0esr-cy.xpi 542220 BLAKE2B 03fb0aa335ef0ab6d144f6d99f53c4a1af389db8cf44c61b611a61021b15601c51b67d1e403d8eaef42e54e129cee4068e2a58c56ab006f6f73927af809d7668 SHA512 36edf842c83529e9174747449567258e7e459a3a51edd123d40c83d4ddce34038b0fbbf07665a5506ae8c2bc7724939fbfef5c8b743b1be383220a5321d657c5
351 -DIST firefox-91.13.0esr-da.xpi 534151 BLAKE2B a8fbd9e16183b57b942db75ecc87dee57973692936d1590911cc8752f142b366bb6f506c1f0e29cd5c463f760a88f3c176263f8da479ea5ca3142527298283f9 SHA512 204b67e53b2e023f0ae4282b6ad7a70f67d88ab817ccfadcae5084386d30ae3fa83bfdb2b254b0438e5a2824b16e3ce0e95c6029a19a0b16e3781f2e0a740cd2
352 -DIST firefox-91.13.0esr-de.xpi 553591 BLAKE2B 0f079748002df2ddcafad403c98a9811b9719feeb98fa339dbd0b747754947e31bc4633ae964216282c3c1d581f7617b3cd7fe879a02d40ca149d6328504aebc SHA512 ba6eafc9319ce239b20c5932978da01100b355b37e709429863ec4bd5f6cd9da4d36fb7e0e1e9877419e63aaea94e9e120471f6ae0105e734e82cb4b764d8403
353 -DIST firefox-91.13.0esr-dsb.xpi 566480 BLAKE2B 9db1a8ea575ff845a4967cd8e2cffde25d5d36781d6d227bfaf64df47456e393c1af7e9c21361d3e99580dba94c2fd3c0b56d20f508e95590550666a022b9ce3 SHA512 c53bf9302de4197dfcd003ed35b87b5b66a01314f9691197ab4a314590f70dc0132303a2a1ca3a7d62e4e667616dcc515296b468630df32ec142bee408ba7ee3
354 -DIST firefox-91.13.0esr-el.xpi 639147 BLAKE2B b48a02f6749b3b72b9642ce387c56572ce969ffda0f858cf2181d0e75f6a9e670c7370d291e417cccc6b2b20afce417fac78ecca087735c5b6b91566dedf03c5 SHA512 b0d8f4fa28d0f62ad130bc664f35ae29b0d9ef5092aa7d87cf577fb249f3fd4cdad93a88bebaa0f5a8f965fad8acfd22ba53440c6bc1c3d1e920e19036aa3991
355 -DIST firefox-91.13.0esr-en-CA.xpi 509575 BLAKE2B 0d0fa8c9b7a3f14ac5cd1228b819dd2d362f23c64579564312da62f73c27a750bd91034b8b5cf4976cbcb77abf5ad65afa267b638ea1fea0925716c5b12992c0 SHA512 c807b355617fc015d145469bae5eb8db5991d27362f6011b61e7c98ba66fa1cdd0c4e1ef0b9cd5eaaa7e39a015b7af9e83e92c9ad29b7a26d4091961ec8321f7
356 -DIST firefox-91.13.0esr-en-GB.xpi 510583 BLAKE2B ac97614588e269d6d60f41964706027cff6371980fcac1003474231cede283cdb4520d389a0bab3b597e708e41cec07b744374a5cbf5062f1704e4cbcee8132d SHA512 f7d6fcc931b3acbf1051a031d8904de3f8a0c3f490ab86ce6ad831cda435e1a47303a41632fd60e48dffd9b94c220c7eddc8e9b3de802f801e9408b4a93108b2
357 -DIST firefox-91.13.0esr-eo.xpi 534814 BLAKE2B 1f89e3fea148c1d82d8af66a7e8c613b3fcf773451639109166a6cba33d949e428d10f0e3b6c0fc2eeb4317b5362ecd096b32e30ea412b5e2b1b9e783bf4934c SHA512 2e0bfe6d7a08da837251e2b334142c06f597acc85e4e68cae79dc3e157ad39be3c85eddada5be2105eececd8648974156a5b24d71da3d22d0b24ebd4e40f354b
358 -DIST firefox-91.13.0esr-es-AR.xpi 546684 BLAKE2B 1c40ee32574150ab515a38199ccf79bb561b930b94c12b442cc093ba54cd9911b3f8c0da8cd2f4d66a7fb96e0febe7396a430fbad220e95181cbe03dbfb2227a SHA512 73bbe6d696bc116871860e0498a15add1b10efd55574ddfecbca847e348dd98849db57bd70098879809fc820be65ed4b4230a02b9a3a2a6294c740f5b4e9e41e
359 -DIST firefox-91.13.0esr-es-CL.xpi 546379 BLAKE2B 737de2228470868b8c2c7ed0d352d54a91e360889acfe0e7cf2e4c405301b17c643cd8246f018e9cd672a19c86e0e5630c56d779e137875d0618c140808873f7 SHA512 478509669d663bacfdec2c585c3b210a833dc5bd3a875ef13168727ce087121c643d8403bf834798ac5047169f878f45f0bcf1181c63402418cdde14b5bbea1c
360 -DIST firefox-91.13.0esr-es-ES.xpi 537070 BLAKE2B a65eb8091b99a83e6a05e117ef59fa0b95230ffec88d14b6cd7109df5fd9bd5bd7221861731668085460dcd611cebb4395957f267353782b9ff89db381c5ae79 SHA512 ebc2ea63e8a423f0ee34f655d7b908ef0625ee2ffdae7ef910c06622d064aefded0cb1ab5aefcc25b5f7b6af7b2a62c02f5088dc8cea0ca95cc56737486bcaf2
361 -DIST firefox-91.13.0esr-es-MX.xpi 549997 BLAKE2B 22ee7ee40f56e4b9afbe1cd4d35c644d80b80796a392e59d312758dc82c7a03f761e48a408b3dd7e2ca4d6fc79cb28769f6fa91bb05d063b411639f0481b8310 SHA512 2afbf71292e173e9438c0aec5fc9ce50e6805d8857f6b93dc0b89918fd360c2af286b2bc222e15de3107d8682e408d1125378d050b7e33ab13cd89c1bba29121
362 -DIST firefox-91.13.0esr-et.xpi 506670 BLAKE2B 6fc6802509aa11bbe1bf1b07d8a0cde326fbf33f3fcc55c44b5a0fa2c9ef46bb1c27066dda4be1c1c844ae3b591c55dac3346a154227c46cf64d3ea9c9843d1f SHA512 d6b55fcbdfc6e887a739afc2b00fc61d9c0e5a31c019d2a179fb0076d821ca28f0c69c588bb7d75f415fc8d1a5a4ae5dd149a0cc7445da4cceebebf9da034ee4
363 -DIST firefox-91.13.0esr-eu.xpi 536340 BLAKE2B f2f2d832a0cfa7e421d7de682ae4d54393dfc7e5bfae6141a4ca8a189fbee60653bef8fb489a9d329615e2f48fdf928ebad00c6a5e74423e135024a113a750b9 SHA512 e08e799c0592f36011e56d531cc57352e84f4787be37951f7bbc8a756caf6ac0749a7bb7f40404f02cf93b78e7db94c34a53600cebb86d4c10527c082f6836d6
364 -DIST firefox-91.13.0esr-fa.xpi 559384 BLAKE2B c6ac0edd19bbcf76c6130260de629bb522770da0464f8623af73fa07e008ab164a9dcd52bdcd7767d0901364922fb4d0a8718ef40bb96d2f74bfaba778ef8401 SHA512 c691581530cea9f825421bdd052210f0e565ed09a68607419555e2c3500cb047a768a6786d390ab02474e7daf640d8c4f6f6edd28483f657d2a2eb0dcbb6adae
365 -DIST firefox-91.13.0esr-ff.xpi 471860 BLAKE2B 5c38546863ae1aec216d2816472807e1b371beb295ca8ded203f90240dd3b3c5f202e8ce450083352a5c5b45372f7cd5e40cd40f89dc9d1113f5320f5d60f6fb SHA512 8027306193f313518993a67d7248d5a958b8c2199332cece7ad0f329e562837ec2f73310b13063344a1a9ba31f2444ce6935bb9cc24740badf2749c579b5df5a
366 -DIST firefox-91.13.0esr-fi.xpi 531484 BLAKE2B c166b2d10cd22a87fa96033218188d3c79f1f8a4163c3e6d2afc581b47b588211590fc9acad2315d3133bca1927c90eead9a21a418ddc2a2333c88bc8afa98c9 SHA512 03746ffb488e09cf7b6b7b32f1c962bccbdbaf0dae433517a1cca1609210928f5f3fa438c9f9c7a86bebdb8502df420496f4b8e1cb07212b4d42046faeb99b96
367 -DIST firefox-91.13.0esr-fr.xpi 557617 BLAKE2B 3acc76017f989bc9e2aa8b2e9f310b39abbdee7c8b40c76691683f8b56887fa73bded6a5d0c3f93cebe8fb3563db256c30fa605e36847bc0ba53fb65ac732a06 SHA512 6d63ae25a96abfb61b31bc7d40c7544a748c4bc8b4d4184787f45b712d371b39813e2e3ed7027732902109a4861af68b433cd46ba3c70a562b369720c5f0b474
368 -DIST firefox-91.13.0esr-fy-NL.xpi 543305 BLAKE2B ee0719ae8a65a38ae8a2b3ea30f139e5d7fe1c5590a98b0f2be6eaa9976e2e40007e430f1ea3841aaf8b257bc192252d0f716dfb58aeeef73c64405aa2b5053b SHA512 56399b8596a100bc43f1ca6f5e84a78c3891ea61d0353863c44e1e0e5d161ad2b874ea3c991a4531a66007375a067a1f66dc825539e2b9f7a468877eb673d834
369 -DIST firefox-91.13.0esr-ga-IE.xpi 459833 BLAKE2B b6c09bf669e6f0cfee2e080b24ae24bcbdc954e77859d8ec93e92514d294d199681c992ace4b51482e288b429282193e3351d25ee92dfcee88f24692c2b01693 SHA512 6517f3db9ce1236fe95747695996d59dfdc249a28e8461b5ffdfc4e5bd6232fb9712199ac3c8d0b09a5ae12a19f222dbec08471b9a6ce22a15a6d05c13c5e689
370 -DIST firefox-91.13.0esr-gd.xpi 530852 BLAKE2B 75c49bb13c300b59041247860940092c4b3ef6fcf1d500cd8ca26e04fa75525a1f0e1e555a4be1010ead41caa280bfe09bdbb4e880ffd67021efe4287d6aa32a SHA512 9b72673c9899df87ed093d86e1505084e32055d9f6b9cf6c2c86ba72775937c7c155a240745115eb07d10605eae7ad8bfd4e99787ea82b77d689dc6656500ceb
371 -DIST firefox-91.13.0esr-gl.xpi 541304 BLAKE2B 32a62771acba1bacd794758dc64a64e783fd0e046771714a1ea253d15f1d12d90066bc7a6223ff7b05c1922ad16288dea1090509cc4ab1378c066a83cfe8d7c1 SHA512 989b2ec058ffeb6d5bb9d6148e72469b8ef77a0dbed23fcac8310762abe54686cd129a357f6e9b8b03271b64b300fa581a5675473d95b34c6b37ba4deb7d0704
372 -DIST firefox-91.13.0esr-gn.xpi 557596 BLAKE2B 7e57206c1b09e29477179fa1ea6880b38f09c24efdb3ab30dbf70e8be083b8d0c749a502e63116e517c2540466b0b706c259b64291af6e012c966887535ba55c SHA512 2c00601715a706a7793318f182af6ebf988229680f4618dde818617ecf45e17ebbd65a1d746e373374ed8ee638695223a3de13472dd36579e99b6d25bdd4c220
373 -DIST firefox-91.13.0esr-gu-IN.xpi 529544 BLAKE2B 4eec19b70b20e188a819edfe412fe006aae41f38578bf64b225b05daeacd16716604be3a62cffd561ca76a17e01e919ce39fddfc160914813b22c26417510816 SHA512 621a348303a67ab1805c0c5ad5de73f824e841832a37c59b13fa87ed95bf3953584baa2e839047e21a453c8bd7efa241dca0d0afb351f69de3a42ca4a063dab5
374 -DIST firefox-91.13.0esr-he.xpi 557199 BLAKE2B 3a0a7bf4dc63efd5a4010b8dba490955c2cc8afcee4d3683287fb7be981c3d995f1c60922f0f7309c459650593bcc44753fb7433d0e6fd00f8cdae0967e7ff94 SHA512 76e860db3c88c438fbf712a497554276d489b42f9b0019464ad6519a5861472f465a8325e19efffc2eac040d7f10ec37c4ac0bf800937f4387bfe18f56cc4966
375 -DIST firefox-91.13.0esr-hi-IN.xpi 560656 BLAKE2B 0f1e52f755d17560d2e604a6320e392da8ab3b1d2decc13fa88bb9f35355104337e668e2cd28c7c47daf3cc18b98dfa5b186c37477ccd51ecde5ed49e1f20b69 SHA512 1d7576f43b18bcb2a50ff00705444cb695f180d4c718e6718d98e4bda59a9900a88da9cd7184098512bc4f5afc4f6ff859f172f4111e0f0cd754f45d68eea25b
376 -DIST firefox-91.13.0esr-hr.xpi 530056 BLAKE2B 79ae53fb0f9b023d327100b4c40c0896e964d0d561516f5923a0a770811de35f678c9be655a1a0839e42cafdc638e505ccea499f72b6533075fe17eb5e5d947d SHA512 018d08acb39e9d6c472f58f7d502a995d8aef81cc4b3536e5aad94726631f4071cdab5330a2395e79fdd59df0160cee34b397d82fb1c2cddd9313868581121d6
377 -DIST firefox-91.13.0esr-hsb.xpi 562631 BLAKE2B 2e64d6e996839910d90f666606355e952c4bbc2ac6c5f73003ecd4ad0511370226a751f26238c8c5ee491496ecff99b995c32409508ecf2e389863bfe2023729 SHA512 b3891ec1a7066d6f8b51c4d3edd83390f9e82c6f6ed9d1fec6bdb8cf989fba0ba31dd409d58609db8825006d21409ca7649d79425faab2a8c8f1a84d2ee494f7
378 -DIST firefox-91.13.0esr-hu.xpi 566077 BLAKE2B 0f1ec32cb992f4310a1c2b9c75a020746094dd0ffdee1d4dfd100f28f3a87fb95cd699978782ea8db0518b4019e376d402fd041c1372362abedc5e0985a7fe1e SHA512 ff6978f6a908b58e0d25d4f2b605de743f2d3b5e18569904400e3bb521d77b6f5ea641d5b7125bbd52e9dad6c8d77ecfc19d0b0e96671de6b1801f628101efde
379 -DIST firefox-91.13.0esr-hy-AM.xpi 579766 BLAKE2B bf7c7f5854dced733bda8d66a07b5bfb4217f0872f8bbb6d4949314da68969b798354e0d267f244654aa3316a7919cba51ce564c63d4a2dd7bffec2467c51a3f SHA512 7ca2a30c3b331e1c47f314d27430e30f042d7765dd82557cea2ad838555b4e5d41304bc251398865533c6dc02ce3e7238c881b3e0df6c1decd3181c09211e84b
380 -DIST firefox-91.13.0esr-ia.xpi 532150 BLAKE2B 6a84af573de80a57e883ea08f5dcd39c07a1fb96a93948014ba3c1a6daee97d10def51de0817031cbd00b5a6f84c16cdc9351cc7797e3bc6efbcbf47fdfb24f8 SHA512 4c94b12bcb35900e588322dde1b77bfb1dcc4347d389b6ee896a73c0647f1c1d592d7cb8aebfe1a3947dcf3ca61a34dbc83dedef64e87a3a0c06b69a52997f59
381 -DIST firefox-91.13.0esr-id.xpi 519829 BLAKE2B 63bec85e56cc7d3794a7eac11a2e2ee1da2742cea3101b1a9ba67b6ab422c7ce8ba787ebc30869feeada692cc5c2b48125288a1c560b73ca991faa14bd880f50 SHA512 0cf09caeb860e8cf76ca30c74f1c27e0345b601617b6f1982e618f6f094c4d2f57bf81d2b91b2a8ec35f59ffde515f5616d60c12c27bea63737d2f334c1e094c
382 -DIST firefox-91.13.0esr-is.xpi 470229 BLAKE2B a7801c61d1411918c4a24ed87f1102c9ff5e6fb69c60f9d811f5cdc1941929c569f56cb566b910459c0201ed58dda4daf9bcd348f424dc39d8c7a4e0565ef8bb SHA512 220d3bb7065102ae101ad48e8a4e069b8b0036ddf80f5c21b97709ec2625b71f3bf735af992d7c373f717306857757ecaba6426ba1b44ae633afca27193a4e58
383 -DIST firefox-91.13.0esr-it.xpi 459091 BLAKE2B c71b280b3e5da33873d3b35b69b7e981003d814cd3cc89bbc1aade3301d3440665c6ffaaf7d285b0ab2454ddee54f599df7bcc6c506b33e37765b26a8e72d7f8 SHA512 87041afcbef526c4c49609d7924c51802a39cddfa809843828dfe54c65a7079e76098ec816676c5015366204dd30f9fb70dd4726ac58098a971345a274696632
384 -DIST firefox-91.13.0esr-ja.xpi 588081 BLAKE2B f8fcd4e422fef752e45ef4808e32aa66670ab94fbe629e489410bae132d85425518b0e94ed3bf5be0ce4e5a549026ce16e3063fdec7ae93594444b62284a28c6 SHA512 5a9ebf1f8fe7ad3179bd643252cf3c4e63c0b9a591cbc068c6d02ab2aeec74cf5a72a59601e1dd2f3bce3f2f0ffca4f89799c1451dd767ac51ba2d824a4bca65
385 -DIST firefox-91.13.0esr-ka.xpi 592244 BLAKE2B b32f816643599cfa4ff8c8267200801535266475fec6ee9af6eea14d251e11cfd4b63775ab72d243050cf49a50deba3fce865b72882066f195976df8a10b5f43 SHA512 d73a3c14c28a3141fdecef71b2333ba937622d77cf99b14b30c22fe7ec92dfc42ffaf9310b61864caaec312830f2e63e3f9b9723abea8a8dbb5607f5f2d8ea0d
386 -DIST firefox-91.13.0esr-kab.xpi 545020 BLAKE2B 192c91966c760d87b77521d4f614d73f7f36e1dcdc807a6790c668bbe1deccaac4b7b7ec4a060f0214117d500c74fba647da815774d873650910676d75c5a19f SHA512 23c90274e66dfafa1f451164cd7a657f5d3bd891c8a50b0d4371df7998c33a6c032af331a3277bc6f4cce44dac12fca71ca9c91f77604677728212b29da326d2
387 -DIST firefox-91.13.0esr-kk.xpi 605546 BLAKE2B 75fb7c7c409befa552001ce4f01d1b9dc483158c350bb25e199c923e960296f973124ed332b35d40f0fb6d0b70df8bef2c5896b2e748571b4b748b448ef98a11 SHA512 ea265a34f76af51f11b2dfbcdfbd909974fd2bb0309bdc48b3cb5000be477058772ad18630011facc8bb2f68e5930bd79325808251eb66381ba558eb9b92fd50
388 -DIST firefox-91.13.0esr-km.xpi 533113 BLAKE2B d3c2de9bdf3caa72e026aedaff3a5b9e209ad54c71921fae945a8694baf5309329087bdf32f09b3413d166e2d594b57e4c86cac718f0bb5c4dc033f499b0cba4 SHA512 7d043b5eb1124f63b89c6c5fdc76cbc3287879baa11e1428ca9d5fc06d9b3c7bffaec6c7ff798d1215574a268f89673e105eb465d7a754e73ac9698d1ce5bf68
389 -DIST firefox-91.13.0esr-kn.xpi 498978 BLAKE2B 8e5b676cbfad2f08ab5b1b688e65e799b10c0966e21404d36e39b632ef7bd11e3134fec6821f64112b5e619c616207291e6a505d07c251fe198dcde648b0f6b5 SHA512 e8bf3fd103b81f208740a8a934e3b941b0530334ec65cd653ab84af6c9509d5a1bac1a1be5eb983ddf69607c0172eee87f46104b179de9a0adb97a17b64a52d2
390 -DIST firefox-91.13.0esr-ko.xpi 579063 BLAKE2B 1b8a27020b23eb2958ddcfb596fb23f28c12bedaa7e3d9d73096e62e01c48dd93ab702e4c5a2fcc81f0fbd422f2031c8c44ff686e2f1c227ba009056b1c8e061 SHA512 78c1162a1ca76eaa7393088cd26e13a782e2d6cdd90f6bdd762e2fa2f4e77bf2f4fcfc67f25ecca44663c42997759a9242f5ed6ec68717bdb926cbcaba36d400
391 -DIST firefox-91.13.0esr-lij.xpi 470176 BLAKE2B 5762ba0e15386fcac487506e40bec130139f8ef373d2ac4b4a02b240dd64ce805c86817d48009338a722f60a2afb37348ca67d013260d7346e7b39cdf64b95b6 SHA512 3084b7301bdaec7cdc1bef9918e5a1066f98e2447f26d4798f837ad879d6029b43be73facc327121fe35512c557bfefcd7301b05699aeb721ac9b5c1b5efd35f
392 -DIST firefox-91.13.0esr-lt.xpi 560119 BLAKE2B 6babe37fb047aa3b4dfec8c2d6e3c8a7ee94bbbf31d567e4f45f7f2c31f21e3a1b0c91c5586503c99bda1155078e973cbe7edfff6338973b9fc5055b0f342ef8 SHA512 015ea53316ae16b778af4efbae82fcf4df9ed794c7e39a5c5ccc7d7e9cc5b80872a15d876901760e47dab1461588dba5e9fb2c47abd5982c96c4b2f6103ab987
393 -DIST firefox-91.13.0esr-lv.xpi 462457 BLAKE2B eb8c5e6e65e54c6dd5c6d48607dab9a968568c878696b4cb67d1d5c57f8e495bac210dbde231cd59887c077f7de60423c7b9e5a7118b01483d4d3100fed3a1f3 SHA512 7dbf0ba338c4b0b237cc857e87c487126c20c6b8e547e4b4a6a688e6c5415121b27a101a15901818754d7899a8b69bb98160dd776761ed043b0881b59e492a55
394 -DIST firefox-91.13.0esr-mk.xpi 465351 BLAKE2B b2777a900b87a51102aafff3f06f10a0aa0d55d96ecf017407e3e91e30e734a9a4321f60601351cf48d491891d84914fa1e4c1a9bbbdd3e68ebdd6f510dc1015 SHA512 c711d748049541e8e625a6cc99a1922ea9aa74c1cabc560e2ea56a26cfd80b60b3ffe68a1348acf957aebc6e6532fb8f9fa9a82a8a1b8cb5df23cc4eb2795945
395 -DIST firefox-91.13.0esr-mr.xpi 532121 BLAKE2B 8be2589c99bf3aa4fa5404ad52d31cfab0612a7b79c9a07c10d067669ebc758b0d03eb2738656b1c723ff489c725993f2d396928d76154268a0139a31e1fd11e SHA512 96b5e75c334912604cbd0b7b1facce258fdac4423c26de57d85f286479b4f7a89d5b308b9c9cf1c730bbd8736770f908c62c6d9ae2a8692534191866f720c29a
396 -DIST firefox-91.13.0esr-ms.xpi 447336 BLAKE2B 9d0d5b302c442bbec30c2de7d504e6379c739a0ef6d9a7009a6179ab1e5987ce2dee8058c94c59359afc186a56227bc96cf601f56a24cdd2e3d25988a269008b SHA512 47ab282d76ba96711944133508a8e3772895908b8201f635f76d4026eb90768f512ebd0b38110bd46f352fafd299061e8a67db855fe9590a54ce382e61650a17
397 -DIST firefox-91.13.0esr-my.xpi 516294 BLAKE2B 1f8dab25f5cb9473b1e5852a7c44322d9b264b057d65869b7423399aa82f9d15ae5e1d8adfbdf5f4d42547030a6f820bae8dfef1d25556fef9b5372b9cbb2b85 SHA512 4f38020879ba3d81105f9842ab7bee54f42a5661661dfd21c2dd4e7525b7ce8d772031f2308d155af6aa102222f3cfe97fef20ed70a8dc2e71184f83d2bd5401
398 -DIST firefox-91.13.0esr-nb-NO.xpi 529429 BLAKE2B 4a5c123c51378716c261fa8e0faea3295b38ed686948be02c807e4b18f31e07ebbe84be04dc95f09c49a95304bf949129d7f757f179ae237847d6b99e01c3234 SHA512 a2509c58d8f9c15e01c0cc63ce50aae51542330049cde6af229777648bdff61a7eafd41750ffad81d8fe1cc906da4da68a2996e03caf089c5faf785c9b974030
399 -DIST firefox-91.13.0esr-ne-NP.xpi 485211 BLAKE2B 1ad16fc443f6c69bbf324a69ae2cb133ba96f1315625daf6b4af75d670980ab8ac010c6a89da1aadde687323259f3f506dce544986013536675e01db876948eb SHA512 cb89fd53a3460c7ece9daacda242ec0c9995c7745d6159ab2f49ffc174eeeebbdca48094db2e3310515b4d8181135f052a3d5449b44003e7b067ab0c3704ca7a
400 -DIST firefox-91.13.0esr-nl.xpi 537382 BLAKE2B 049a896deb0ac73a055224371b948929a810810033b4013c22e13d1c5caf57d63259ea6c51ce6c47b56b0884f6c76ed67779dc945957b3a4398632e3820f95e5 SHA512 698a8143b7d2239b0ccdf46a150937c2403ab68724b5ac3457210f465cdd4ee3e999f41c3af6c462c63deb083968c92eb7001fa9f1d9a0e2d1704a6dc9ba5903
401 -DIST firefox-91.13.0esr-nn-NO.xpi 531679 BLAKE2B ec2034022158a2f88fe368ec07be0d8dbbe40d9999b6a8ce31904092e5eba5c47c7069edfb7f165a2197a06d9d6c8dc3ec9102fc9e9157bea13f7618b32a0707 SHA512 7bd12e16ae9edbeba7ac56e7394bf60e0670d3eb4be1e5f22a7dffe6395b56e78b7caa08eb2127187ffd0f6c0277c6cf6d3b47682860e55412461af2719c3eef
402 -DIST firefox-91.13.0esr-oc.xpi 552964 BLAKE2B 48f3dbf777e048f49b38054c9cdd3503b4db724ef0fbb6a5b13780febb31f9c2a8fe51a16d1ea9950172fcbd15c3aa41366605da54e8dea671235c9a7ef44a74 SHA512 26788f788cfd497b1ee6d649b68605702a7c2fa726488f7a16369287de14b9a81a6b2a18cdee7f7dbd5ac9257a566bd9f2e9293b742f76ad814b8f25294583a0
403 -DIST firefox-91.13.0esr-pa-IN.xpi 595974 BLAKE2B bbdad97825f71685a70db69e1af92a648dfccb62127a33366185af9b12f9f8f28026db1f007d952fd72f03db915f626d9fa4dcfc06a5cf17957852529ed3cc23 SHA512 32062c982bfe64890353221221f6ff06fa8f0751c789c958c11cf7931b0dd6ab9ceb764e4e0b78e90988beaa2a845880bd572d0f2565b8e131f266041bc58f29
404 -DIST firefox-91.13.0esr-pl.xpi 555617 BLAKE2B 00dae5d262805b77d78e409f301e07bdc225326515d93a372cbd199dfc4a44d6531ae85d8ab6283245c49e26d4b2869f7553b6e85a354a64470f08b82a4fb0ed SHA512 dd076f21fa72d5ed79be42977230c90e7f92b4e87e6c95a289fd7a1c148d695702828cf2571601a26d6f3364b5fcfaad057d4946cbe33029ad3efea283fa0f5d
405 -DIST firefox-91.13.0esr-pt-BR.xpi 542617 BLAKE2B bb65fbac1e31a33f6596600e0b98aada3397c27d778903a5f276bd77f23f999d56fe2b5fb5f0c445deddc2f0c5bcaef956f42ea625cfb8e3abe9d6a400549958 SHA512 a416dd4963ed9132c2b2e0979b4795d32f06a9ba2d1af7ccf3bd207941ebc3e7f0766e1eedcfa36b888913e7f8c6d09f9ace1b44883379f7ffebdf5020f63568
406 -DIST firefox-91.13.0esr-pt-PT.xpi 546342 BLAKE2B fcf7fc7f82675ebcabfc3241cb6482dc9cc9c092aab5657d8d2b73c8ba437c4f830e58dfb57ca215bb4924376779eaf8f9fd6396229eed53a1f4caa6b1c39a29 SHA512 6cfa09c3e05527466711f18bf05ec43429881d74c449863c2e8faefe8f1145fe5155bcb9d09f50b0012ae9959ac2ce61c4539451879b50d4adb6053c0a4d1968
407 -DIST firefox-91.13.0esr-rm.xpi 537364 BLAKE2B 66503e95a8a312ec4c8687f228c068382031161651df03556246e380bc75ce88251e0fb2a8d34b74274075861e4eb2dbf32bdd461f2fe36c57479f9c59c62748 SHA512 3c3cb3d9db5a3cfaef2c8c15df8b5a5991733ef2587cceeb3f995ab6bffc4a26c4c724ca3a1ed96b7d2fc796e205c584c5f330888e9e955f7fcce1847290447a
408 -DIST firefox-91.13.0esr-ro.xpi 529330 BLAKE2B 643ea3aa3f4cf17150e462612721b340d919c4b1b2b44eb7bf0950469b20ba61f94dfc6bdc52559938f73b2b4cd735805e9d43b2bca7780dc63b3d4c05a5a81d SHA512 eda93f9616867366c401789ab37ca54acbc964b601f9972957676c7d421a85715ff2bc0cc00e9bc694185c9df8fc09bd38784a922f72b02fedfbeca3b56d9a2e
409 -DIST firefox-91.13.0esr-ru.xpi 627117 BLAKE2B dfd394807094b8c6fd3486f7037c6a5eba0f1dbb4bc0146d3046ecb34041e816b3f7894c72251419a74f857a680a25654c79222d5478db168acfef268661b69a SHA512 768c6da81031487d2d3fe3810f20ecb1d2b9ee634263e3f1ca209ef4433ed3b402e679cbacb0e96e2f9671003219283ad4a9fc2341ce0ac6c3d5c8eb5cfd6569
410 -DIST firefox-91.13.0esr-sco.xpi 504852 BLAKE2B a81bf7b33185f8156e04ccbb2e62444ff94d06516f4f5e7312a63f7480920fa3de4d6a13a105e3a68c02271df379bf8c8ec44b2c8cfd682dd4ef483562e3df4a SHA512 92630be148f598973f555982dd17747b7764c2653b31ac59e72108adf38923c33b6a9902c2dfab5c738919bb5e8c9c90ff56dbbc866ce2a71cb2dd1972fb39fe
411 -DIST firefox-91.13.0esr-si.xpi 487964 BLAKE2B aab283c4a909ca5b98eb837e840e3cdf2d54b4f7d6b150917c57dbade5f3544be2246f33121876d51b7577bfd25337615c355da267d56a9872de00e93bac2edd SHA512 cc1af012f2af35a667763aa044221a8de16320ea3f8f9da3ad62f0b81867080929e838765ddada10f07113eaf4c486c051adb25daed849d21b72bca60a299dab
412 -DIST firefox-91.13.0esr-sk.xpi 566484 BLAKE2B 920964bd1bc1545eb38114f589e6eec0c6df52bbc475a189b5b4176ba715e3c8b425b7324e8165bdd8282552a808bd1a45b032528e67bf1a9cfb1d53d5bfa461 SHA512 50b59da5b54cc13523124f6a7e58404d41b0ff2813c7d4e4adf5c31ae5ae4a762f1571967a396b60a5f3a61bf450d4603cb2a03372f9abaab322f2a6a4f90f20
413 -DIST firefox-91.13.0esr-sl.xpi 538008 BLAKE2B 6dad7f28266a1adc3826a5eb8f1c5c82bca15e84983b7188e69c9b80f15d306f76e907baa2b02a8d5c0bdf7998d743b0667c9fb2045aca8ec239311a6d5202b3 SHA512 bbc9cb54426b773d14042d01c692f246594c12e1db37fcfc3734a4932d676143d298d83ae08ad6784a8005b5c5258f6336f8ae314f5465c1e21d1fc839544f34
414 -DIST firefox-91.13.0esr-son.xpi 425996 BLAKE2B c0d2d4050d2ebf7f2d2a5ec677bb9e382873924f4f21cdd1943e030c284ddbb74c632e2ae7e108a98f6963539e851bb9180584791a3acd157e60ac05add502af SHA512 21cffcd75867ca519a3347e9efdd82ca3c468de247210a9e859192dcf6334c9b9899a060ea50770c227d1af7f05fbae4ee70d056ef0e105695069a3887692d09
415 -DIST firefox-91.13.0esr-sq.xpi 556001 BLAKE2B 22804052c6441a58a65f1bf57cf9fed6222f30c1a3b26af27f0de8face4042594b752eb3b05f584b3b47434cced38611066ead52716fdc3c3bc32a3a727b454b SHA512 4d29f7fced0982bc1c1c250e34c3fc50347a0da122256502aafca045217edb3db19a70682767b438a9886d79774eb821c2692810b781a8d74c67f6b0bba80f47
416 -DIST firefox-91.13.0esr-sr.xpi 586076 BLAKE2B b8f68b1dfbb01bf10ea7e0f43941967d94c6eade9a1fd08edeee528cb5f156fa1e84281d387cf551c1fc22e16abc9a1b97c1891e3707b08b2f6e7e986770621b SHA512 6335cc7fef789b791ce352fe1ca22d5faa7ad554245fbbdd696e23b7cbb6e7b3dfae04b826cd17f0d66207ffe9dea2740729fb6794e362543ccfc126281ac8ac
417 -DIST firefox-91.13.0esr-sv-SE.xpi 539962 BLAKE2B 5cefd5aafaa0cae413290bd679286a7b7190397f953922f6e4cf3d10583557fb99b143ba1e8e135172418097984e3d8b5d2c30bc0aa897e1e3507573e6fba215 SHA512 a657a1ad738b64ac1e943e54e4434ed62a778e6082e91447da8f0a89bd67d1493f15dccc7a6dbd2b2d33d27834fe137921072959680f75dd217db67f60fa0880
418 -DIST firefox-91.13.0esr-szl.xpi 509815 BLAKE2B 5e37f22a5629d0c5eb5113b7906d7bfa4c98a4fa074a43d2193d3ee5a69030686d0f36eb89a96f3776e084f938717cd47ae85a3997244d94712d46da831bae52 SHA512 81d63f5179864736ee8f4243d125ab1f3359ac02cabb65e5d5cf5fa88b2064ccd19693b7d59fca8cdcd0c8516b56d057f63f5d8f034c1d9d13f39b8f61f60250
419 -DIST firefox-91.13.0esr-ta.xpi 513819 BLAKE2B ea59af76cb7d02a6eff775dc46c075fd3cd6f33c6e4b880072714f87b0d08f7fb96584b699cf250c3d38e461881a38aa615cb18303ec1b1ef620fa0511dfd980 SHA512 64d18c128989c3906455d6e8398eceb4bbf2615efc7723330292ea3b43154a0cd630528f42a053435c749da69de3e9711c2d9c8739d3066f85f865d94df58d3e
420 -DIST firefox-91.13.0esr-te.xpi 549962 BLAKE2B 636cd90f43fb3bd34a6b4e0517475b840ee4510d8d815b000bca09f540683cabb5a383a482e8b3264a9686a9d6568e4c5ff7e956217b312419a17d51aa706431 SHA512 b7b488aab7dffd34974cd32ada6debf43844c2c957361d728bb5776e0dba128191e22169210f18d0dd6541333bccb5220ec3eea5aa6c848ad46f2b06bab43606
421 -DIST firefox-91.13.0esr-th.xpi 607066 BLAKE2B 268b4bfc0b7bc1b9c5e2e8c7a39e5ceef2ce413648e57e72fcf46be4a29b53899e6bc0108d1006053b0009766c9231cb4fca1bc291e0552e787f4d04c84dc1fe SHA512 37a21a18b88c50f0e3524fa40e625d52e7b28c1dabebd4d75ec66b77774984079ae6317af074109fb652edfd765115135f10c1811a678e699ec7eeecda6c9d9d
422 -DIST firefox-91.13.0esr-tl.xpi 516121 BLAKE2B d8c21f4fc3882f06162f6df8c443a5a3b8c36f75174508b84cfd9766c083bd72b8b1b958ad788dc299aa7cc8dff76daae5360abb66c4bb87d37ed45ad7998edb SHA512 92f77f91f0536600868182327ef33bde6e9d8cc16194818f3540e0721c652ddcc37f48969b3ed34e9b134f9b266ef975f0025c3e2e6bbe17b98a4be006afdb12
423 -DIST firefox-91.13.0esr-tr.xpi 553675 BLAKE2B 66dcd0eca6cfeae8fcbc733f08ec65d0e56a4c05caea28f0ee823ad90e9fbd14c36b950b40c081fd05a7a60f6c7f2e74492dcae1ead310ba9e2d7820a8934232 SHA512 f05f2bc52fc0a61f502fdb36eb098d15dec522098ae3991a44e5aa9c7aaf293cc67c288febf15908dce65696870dc0f68f5f52b8b14d76977b75f3ff0c2488ed
424 -DIST firefox-91.13.0esr-trs.xpi 491086 BLAKE2B f6218f44a07ee2c54548dbab486fc0cbbc06334bc1b8b646870497d8efa41a80abc771338b26a7eb249f90fd6e613a2e03a31c76107158b1bbab532776908589 SHA512 fd69b897d000abab6de9ed67012de3cc9ed237c6067b6d30c17fe2786bbe447664f99fde7e203f62589410392e65c3adf310bc018129220b576087fdc9d1fb22
425 -DIST firefox-91.13.0esr-uk.xpi 620506 BLAKE2B 45112b82d28abfbf78aa9ded9e09bb530b370ef7832760b5d02d16f97792de5654f01810c9737580cbc7e0081012b8e4a0500d4c6cc12f5c7b24d031dfd1eebb SHA512 ebffa27fe6d4f8e1197a1d2b4f570cc8a64680725c33c3babf862a4b31430727db67b1281d3b88bcda8602adac5207ef9ee579f70dfdbc1c63ed8f6fb427beb7
426 -DIST firefox-91.13.0esr-ur.xpi 557309 BLAKE2B 48a1998617dba393690b01bba19ddfbec929d14421f27c3292f617edc3561f33a00cb62b19874d2b7c9ee1c2aff22e5bbca5b054fde8c5422da2fcc5d7c4d76a SHA512 890668f8b5062c98266d86817b9f8176d422b772b742b44323ff71b28672776e9dabefd94c1a917e2fd1fd8e58b7e705ef214d22bc05200bf8d8dd8354781c32
427 -DIST firefox-91.13.0esr-uz.xpi 466859 BLAKE2B a2c22d1497b51f1cfaeb8fc9b90fe51b3948f40d5afa6a75830a13f3924a874af166f604eaf5c1154b8792bba6b248dbb9edef8992c635c0dd309afe661fc87f SHA512 4e049105f284b880b174a0e148c21d7caf207c14a0f64358b111195937967b44a5870ba65f3cd3f5c4b3aca014d56304ce26548cabdbee41228b11ff1d035ab0
428 -DIST firefox-91.13.0esr-vi.xpi 573487 BLAKE2B 3b887c8550829640207e1e96deb1f40bfcd1a6a728199c9ee92d19dd5b742c8366fce0d449c54565caabda294643503a394371e04bde40165f07e656d8ec2650 SHA512 62472ad4f562f6d677338bae6a9a47ed8714af01deabd6ca501196c36dd316192f3095fb6525a3223a117638a7b2d5a856aca5c539d65268dbf946e8c5b9f0f2
429 -DIST firefox-91.13.0esr-xh.xpi 428180 BLAKE2B 20517a1e2631d00af75a30707773dd4a7201ae5f0f8460ec08eca93d874b541b3d0e67eb0073493404f5139713e50da8d9dd58f2021cbb876a970ebf75f505e4 SHA512 34632e068473a7c4c6c12fe5d7f390577e364c03371296a4839add1420960ce8be97e36347ea318ef1561cd143d513dbc50d94509369d33addb4b52fdacf9d34
430 -DIST firefox-91.13.0esr-zh-CN.xpi 575367 BLAKE2B eb11d145bf514a5c20fd8c8f9fa2b56abfffca3d8ba7bd9a17eed2a2bc9e41f4d2639d7de4c93bf0fa6db4af1c7924dd5a2ee8c9da78041f6d39388f0c0978c2 SHA512 209b0de0c33b1839852c15e3db17ef5f838f4d0943016528f45d9cd31b32af70fc60ddf4064529df33dfd74fb36141e9b11f3ced9b6f4287151e752b95aebb3a
431 -DIST firefox-91.13.0esr-zh-TW.xpi 576229 BLAKE2B 44189d585fa0725a7aa1db911acc1d243a4fbe3bc69ef863fc3387b1d20b5e70f364dca850021b6a8532a8dc9651ce6b803a543ee5f4ab88cb0e14e263b97c57 SHA512 23b25460fbcd49921431c03b50aced2465181e7fbe7cd1595afeb5d9648a7736fa8d7b07f3215ef86f5d85b13b732d967aeaf9204f766b9ff60ce01e8fb969c9
432 -DIST firefox-91.13.0esr.source.tar.xz 380053584 BLAKE2B 75d0daa512b3a2d41974a0169778be9ef19a100de2bd382add9831860ca93976585a41e760b6a7ec753268fb78f9f61049780fa7961834248bc8157cfdcc2827 SHA512 38b4cc52de21e76d6061e6ba175e1cbfd888a16070aa951f5a44283f2db9d7e94f2504621f0da78feac6e71491a6d0e7038f63dd0ae112dcad700eb02e9aa516
433 -DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c
434
435 diff --git a/www-client/firefox/firefox-102.2.0.ebuild b/www-client/firefox/firefox-102.2.0.ebuild
436 deleted file mode 100644
437 index eead7ebd749a..000000000000
438 --- a/www-client/firefox/firefox-102.2.0.ebuild
439 +++ /dev/null
440 @@ -1,1274 +0,0 @@
441 -# Copyright 1999-2022 Gentoo Authors
442 -# Distributed under the terms of the GNU General Public License v2
443 -
444 -EAPI=8
445 -
446 -FIREFOX_PATCHSET="firefox-102esr-patches-02j.tar.xz"
447 -
448 -LLVM_MAX_SLOT=14
449 -
450 -PYTHON_COMPAT=( python3_{8..11} )
451 -PYTHON_REQ_USE="ncurses,sqlite,ssl"
452 -
453 -WANT_AUTOCONF="2.1"
454 -
455 -VIRTUALX_REQUIRED="pgo"
456 -
457 -MOZ_ESR=yes
458 -
459 -MOZ_PV=${PV}
460 -MOZ_PV_SUFFIX=
461 -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
462 - MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
463 -
464 - # Convert the ebuild version to the upstream Mozilla version
465 - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
466 - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
467 - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
468 -fi
469 -
470 -if [[ -n ${MOZ_ESR} ]] ; then
471 - # ESR releases have slightly different version numbers
472 - MOZ_PV="${MOZ_PV}esr"
473 -fi
474 -
475 -MOZ_PN="${PN%-bin}"
476 -MOZ_P="${MOZ_PN}-${MOZ_PV}"
477 -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
478 -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
479 -
480 -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
481 - llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
482 - virtualx xdg
483 -
484 -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
485 -
486 -if [[ ${PV} == *_rc* ]] ; then
487 - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
488 -fi
489 -
490 -PATCH_URIS=(
491 - https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
492 -)
493 -
494 -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
495 - ${PATCH_URIS[@]}"
496 -
497 -DESCRIPTION="Firefox Web Browser"
498 -HOMEPAGE="https://www.mozilla.com/firefox"
499 -
500 -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
501 -
502 -SLOT="esr"
503 -LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
504 -
505 -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
506 -IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
507 -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
508 -IUSE+=" wayland wifi"
509 -
510 -# Firefox-only IUSE
511 -IUSE+=" geckodriver +gmp-autoupdate screencast"
512 -
513 -REQUIRED_USE="debug? ( !system-av1 )
514 - pgo? ( lto )
515 - wifi? ( dbus )"
516 -
517 -# Firefox-only REQUIRED_USE flags
518 -REQUIRED_USE+=" screencast? ( wayland )"
519 -
520 -FF_ONLY_DEPEND="!www-client/firefox:0
521 - !www-client/firefox:rapid
522 - screencast? ( media-video/pipewire:= )
523 - selinux? ( sec-policy/selinux-mozilla )"
524 -BDEPEND="${PYTHON_DEPS}
525 - app-arch/unzip
526 - app-arch/zip
527 - >=dev-util/cbindgen-0.24.3
528 - net-libs/nodejs
529 - virtual/pkgconfig
530 - <virtual/rust-1.63
531 - || (
532 - (
533 - sys-devel/clang:14
534 - sys-devel/llvm:14
535 - clang? (
536 - =sys-devel/lld-14*
537 - pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
538 - )
539 - )
540 - (
541 - sys-devel/clang:13
542 - sys-devel/llvm:13
543 - clang? (
544 - =sys-devel/lld-13*
545 - pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
546 - )
547 - )
548 - )
549 - amd64? ( >=dev-lang/nasm-2.14 )
550 - x86? ( >=dev-lang/nasm-2.14 )"
551 -
552 -COMMON_DEPEND="${FF_ONLY_DEPEND}
553 - dev-libs/atk
554 - dev-libs/expat
555 - dev-libs/glib:2
556 - dev-libs/libffi:=
557 - >=dev-libs/nss-3.79.1
558 - >=dev-libs/nspr-4.34
559 - media-libs/alsa-lib
560 - media-libs/fontconfig
561 - media-libs/freetype
562 - media-libs/mesa
563 - media-video/ffmpeg
564 - sys-libs/zlib
565 - virtual/freedesktop-icon-theme
566 - virtual/opengl
567 - x11-libs/cairo[X]
568 - x11-libs/gdk-pixbuf
569 - x11-libs/gtk+:3[X]
570 - x11-libs/libX11
571 - x11-libs/libXcomposite
572 - x11-libs/libXdamage
573 - x11-libs/libXext
574 - x11-libs/libXfixes
575 - x11-libs/libXrandr
576 - x11-libs/libXtst
577 - x11-libs/libxcb:=
578 - x11-libs/libxkbcommon[X]
579 - x11-libs/pango
580 - x11-libs/pixman
581 - dbus? (
582 - dev-libs/dbus-glib
583 - sys-apps/dbus
584 - )
585 - jack? ( virtual/jack )
586 - libproxy? ( net-libs/libproxy )
587 - sndio? ( >=media-sound/sndio-1.8.0-r1 )
588 - system-av1? (
589 - >=media-libs/dav1d-1.0.0:=
590 - >=media-libs/libaom-1.0.0:=
591 - )
592 - system-harfbuzz? (
593 - >=media-gfx/graphite2-1.3.13
594 - >=media-libs/harfbuzz-2.8.1:0=
595 - )
596 - system-icu? ( >=dev-libs/icu-71.1:= )
597 - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
598 - system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
599 - system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
600 - system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
601 - system-webp? ( >=media-libs/libwebp-1.1.0:0= )
602 - wayland? (
603 - x11-libs/gtk+:3[wayland]
604 - x11-libs/libdrm
605 - x11-libs/libxkbcommon[wayland]
606 - )
607 - wifi? (
608 - kernel_linux? (
609 - dev-libs/dbus-glib
610 - net-misc/networkmanager
611 - sys-apps/dbus
612 - )
613 - )"
614 -
615 -RDEPEND="${COMMON_DEPEND}
616 - jack? ( virtual/jack )
617 - openh264? ( media-libs/openh264:*[plugin] )
618 - pulseaudio? (
619 - || (
620 - media-sound/pulseaudio
621 - >=media-sound/apulse-0.1.12-r4
622 - )
623 - )"
624 -
625 -DEPEND="${COMMON_DEPEND}
626 - x11-libs/libICE
627 - x11-libs/libSM
628 - pulseaudio? (
629 - || (
630 - media-sound/pulseaudio
631 - >=media-sound/apulse-0.1.12-r4[sdk]
632 - )
633 - )"
634 -
635 -S="${WORKDIR}/${PN}-${PV%_*}"
636 -
637 -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
638 -# overridden in the enviromnent (advanced hackers only)
639 -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
640 - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
641 -fi
642 -
643 -llvm_check_deps() {
644 - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
645 - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
646 - return 1
647 - fi
648 -
649 - if use clang ; then
650 - if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
651 - einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
652 - return 1
653 - fi
654 -
655 - if use pgo ; then
656 - if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
657 - einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
658 - return 1
659 - fi
660 - fi
661 - fi
662 -
663 - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
664 -}
665 -
666 -MOZ_LANGS=(
667 - af ar ast be bg br ca cak cs cy da de dsb
668 - el en-CA en-GB en-US es-AR es-ES et eu
669 - fi fr fy-NL ga-IE gd gl he hr hsb hu
670 - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
671 - pa-IN pl pt-BR pt-PT rm ro ru
672 - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
673 -)
674 -
675 -# Firefox-only LANGS
676 -MOZ_LANGS+=( ach )
677 -MOZ_LANGS+=( an )
678 -MOZ_LANGS+=( az )
679 -MOZ_LANGS+=( bn )
680 -MOZ_LANGS+=( bs )
681 -MOZ_LANGS+=( ca-valencia )
682 -MOZ_LANGS+=( eo )
683 -MOZ_LANGS+=( es-CL )
684 -MOZ_LANGS+=( es-MX )
685 -MOZ_LANGS+=( fa )
686 -MOZ_LANGS+=( ff )
687 -MOZ_LANGS+=( gn )
688 -MOZ_LANGS+=( gu-IN )
689 -MOZ_LANGS+=( hi-IN )
690 -MOZ_LANGS+=( hy-AM )
691 -MOZ_LANGS+=( ia )
692 -MOZ_LANGS+=( km )
693 -MOZ_LANGS+=( kn )
694 -MOZ_LANGS+=( lij )
695 -MOZ_LANGS+=( mk )
696 -MOZ_LANGS+=( mr )
697 -MOZ_LANGS+=( my )
698 -MOZ_LANGS+=( ne-NP )
699 -MOZ_LANGS+=( oc )
700 -MOZ_LANGS+=( sco )
701 -MOZ_LANGS+=( si )
702 -MOZ_LANGS+=( son )
703 -MOZ_LANGS+=( szl )
704 -MOZ_LANGS+=( ta )
705 -MOZ_LANGS+=( te )
706 -MOZ_LANGS+=( tl )
707 -MOZ_LANGS+=( trs )
708 -MOZ_LANGS+=( ur )
709 -MOZ_LANGS+=( xh )
710 -
711 -mozilla_set_globals() {
712 - # https://bugs.gentoo.org/587334
713 - local MOZ_TOO_REGIONALIZED_FOR_L10N=(
714 - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
715 - )
716 -
717 - local lang xflag
718 - for lang in "${MOZ_LANGS[@]}" ; do
719 - # en and en_US are handled internally
720 - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
721 - continue
722 - fi
723 -
724 - # strip region subtag if $lang is in the list
725 - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
726 - xflag=${lang%%-*}
727 - else
728 - xflag=${lang}
729 - fi
730 -
731 - SRC_URI+=" l10n_${xflag/[_@]/-}? ("
732 - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
733 - SRC_URI+=" )"
734 - IUSE+=" l10n_${xflag/[_@]/-}"
735 - done
736 -}
737 -mozilla_set_globals
738 -
739 -moz_clear_vendor_checksums() {
740 - debug-print-function ${FUNCNAME} "$@"
741 -
742 - if [[ ${#} -ne 1 ]] ; then
743 - die "${FUNCNAME} requires exact one argument"
744 - fi
745 -
746 - einfo "Clearing cargo checksums for ${1} ..."
747 -
748 - sed -i \
749 - -e 's/\("files":{\)[^}]*/\1/' \
750 - "${S}"/third_party/rust/${1}/.cargo-checksum.json \
751 - || die
752 -}
753 -
754 -moz_install_xpi() {
755 - debug-print-function ${FUNCNAME} "$@"
756 -
757 - if [[ ${#} -lt 2 ]] ; then
758 - die "${FUNCNAME} requires at least two arguments"
759 - fi
760 -
761 - local DESTDIR=${1}
762 - shift
763 -
764 - insinto "${DESTDIR}"
765 -
766 - local emid xpi_file xpi_tmp_dir
767 - for xpi_file in "${@}" ; do
768 - emid=
769 - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
770 -
771 - # Unpack XPI
772 - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
773 -
774 - # Determine extension ID
775 - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
776 - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
777 - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
778 - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
779 - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
780 - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
781 - else
782 - die "failed to determine extension id"
783 - fi
784 -
785 - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
786 - newins "${xpi_file}" "${emid}.xpi"
787 - done
788 -}
789 -
790 -mozconfig_add_options_ac() {
791 - debug-print-function ${FUNCNAME} "$@"
792 -
793 - if [[ ${#} -lt 2 ]] ; then
794 - die "${FUNCNAME} requires at least two arguments"
795 - fi
796 -
797 - local reason=${1}
798 - shift
799 -
800 - local option
801 - for option in ${@} ; do
802 - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
803 - done
804 -}
805 -
806 -mozconfig_add_options_mk() {
807 - debug-print-function ${FUNCNAME} "$@"
808 -
809 - if [[ ${#} -lt 2 ]] ; then
810 - die "${FUNCNAME} requires at least two arguments"
811 - fi
812 -
813 - local reason=${1}
814 - shift
815 -
816 - local option
817 - for option in ${@} ; do
818 - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
819 - done
820 -}
821 -
822 -mozconfig_use_enable() {
823 - debug-print-function ${FUNCNAME} "$@"
824 -
825 - if [[ ${#} -lt 1 ]] ; then
826 - die "${FUNCNAME} requires at least one arguments"
827 - fi
828 -
829 - local flag=$(use_enable "${@}")
830 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
831 -}
832 -
833 -mozconfig_use_with() {
834 - debug-print-function ${FUNCNAME} "$@"
835 -
836 - if [[ ${#} -lt 1 ]] ; then
837 - die "${FUNCNAME} requires at least one arguments"
838 - fi
839 -
840 - local flag=$(use_with "${@}")
841 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
842 -}
843 -
844 -pkg_pretend() {
845 - if [[ ${MERGE_TYPE} != binary ]] ; then
846 - if use pgo ; then
847 - if ! has usersandbox $FEATURES ; then
848 - die "You must enable usersandbox as X server can not run as root!"
849 - fi
850 - fi
851 -
852 - # Ensure we have enough disk space to compile
853 - if use pgo || use lto || use debug ; then
854 - CHECKREQS_DISK_BUILD="13500M"
855 - else
856 - CHECKREQS_DISK_BUILD="6600M"
857 - fi
858 -
859 - check-reqs_pkg_pretend
860 - fi
861 -}
862 -
863 -pkg_setup() {
864 - if [[ ${MERGE_TYPE} != binary ]] ; then
865 - if use pgo ; then
866 - if ! has userpriv ${FEATURES} ; then
867 - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
868 - fi
869 - fi
870 -
871 - # Ensure we have enough disk space to compile
872 - if use pgo || use lto || use debug ; then
873 - CHECKREQS_DISK_BUILD="13500M"
874 - else
875 - CHECKREQS_DISK_BUILD="6400M"
876 - fi
877 -
878 - check-reqs_pkg_setup
879 -
880 - llvm_pkg_setup
881 -
882 - if use clang && use lto ; then
883 - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
884 - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
885 - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
886 -
887 - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
888 - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
889 - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
890 -
891 - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
892 - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
893 - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
894 - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
895 - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
896 - eerror " - Build ${CATEGORY}/${PN} without USE=lto"
897 - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
898 - eerror " llvm/clang/lld/rust chain depending on your @world updates)"
899 - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
900 - fi
901 - fi
902 -
903 - if ver_test $(rustc -V | tr -cd '[0-9.]' | cut -d" " -f2) -ge "1.63"; then
904 - ewarn "Rust-1.63 is currently unsupported for building Firefox-102."
905 - ewarn "Please use 'eselect rust' to switch to a lower version, then resume"
906 - ewarn "building Firefox."
907 - die "Rust-1.63 detected. Use eselect rust to choose <1.63"
908 - fi
909 -
910 - python-any-r1_pkg_setup
911 -
912 - # Avoid PGO profiling problems due to enviroment leakage
913 - # These should *always* be cleaned up anyway
914 - unset \
915 - DBUS_SESSION_BUS_ADDRESS \
916 - DISPLAY \
917 - ORBIT_SOCKETDIR \
918 - SESSION_MANAGER \
919 - XAUTHORITY \
920 - XDG_CACHE_HOME \
921 - XDG_SESSION_COOKIE
922 -
923 - # Build system is using /proc/self/oom_score_adj, bug #604394
924 - addpredict /proc/self/oom_score_adj
925 -
926 - if use pgo ; then
927 - # Allow access to GPU during PGO run
928 - local ati_cards mesa_cards nvidia_cards render_cards
929 - shopt -s nullglob
930 -
931 - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
932 - if [[ -n "${ati_cards}" ]] ; then
933 - addpredict "${ati_cards}"
934 - fi
935 -
936 - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
937 - if [[ -n "${mesa_cards}" ]] ; then
938 - addpredict "${mesa_cards}"
939 - fi
940 -
941 - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
942 - if [[ -n "${nvidia_cards}" ]] ; then
943 - addpredict "${nvidia_cards}"
944 - fi
945 -
946 - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
947 - if [[ -n "${render_cards}" ]] ; then
948 - addpredict "${render_cards}"
949 - fi
950 -
951 - shopt -u nullglob
952 - fi
953 -
954 - if ! mountpoint -q /dev/shm ; then
955 - # If /dev/shm is not available, configure is known to fail with
956 - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
957 - ewarn "/dev/shm is not mounted -- expect build failures!"
958 - fi
959 -
960 - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
961 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
962 - # get your own set of keys.
963 - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
964 - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
965 - fi
966 -
967 - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
968 - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
969 - fi
970 -
971 - # Mozilla API keys (see https://location.services.mozilla.com/api)
972 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
973 - # get your own set of keys.
974 - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
975 - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
976 - fi
977 -
978 - # Ensure we use C locale when building, bug #746215
979 - export LC_ALL=C
980 - fi
981 -
982 - CONFIG_CHECK="~SECCOMP"
983 - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
984 - linux-info_pkg_setup
985 -}
986 -
987 -src_unpack() {
988 - local _lp_dir="${WORKDIR}/language_packs"
989 - local _src_file
990 -
991 - if [[ ! -d "${_lp_dir}" ]] ; then
992 - mkdir "${_lp_dir}" || die
993 - fi
994 -
995 - for _src_file in ${A} ; do
996 - if [[ ${_src_file} == *.xpi ]]; then
997 - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
998 - else
999 - unpack ${_src_file}
1000 - fi
1001 - done
1002 -}
1003 -
1004 -src_prepare() {
1005 - if use lto; then
1006 - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
1007 - fi
1008 -
1009 - eapply "${WORKDIR}/firefox-patches"
1010 -
1011 - # Allow user to apply any additional patches without modifing ebuild
1012 - eapply_user
1013 -
1014 - # Make cargo respect MAKEOPTS
1015 - export CARGO_BUILD_JOBS="$(makeopts_jobs)"
1016 -
1017 - # Make LTO respect MAKEOPTS
1018 - sed -i \
1019 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
1020 - "${S}"/build/moz.configure/lto-pgo.configure \
1021 - || die "sed failed to set num_cores"
1022 -
1023 - # Make ICU respect MAKEOPTS
1024 - sed -i \
1025 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
1026 - "${S}"/intl/icu_sources_data.py \
1027 - || die "sed failed to set num_cores"
1028 -
1029 - # sed-in toolchain prefix
1030 - sed -i \
1031 - -e "s/objdump/${CHOST}-objdump/" \
1032 - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
1033 - || die "sed failed to set toolchain prefix"
1034 -
1035 - sed -i \
1036 - -e 's/ccache_stats = None/return None/' \
1037 - "${S}"/python/mozbuild/mozbuild/controller/building.py \
1038 - || die "sed failed to disable ccache stats call"
1039 -
1040 - einfo "Removing pre-built binaries ..."
1041 - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
1042 -
1043 - # Clearing checksums where we have applied patches
1044 - moz_clear_vendor_checksums audioipc
1045 - moz_clear_vendor_checksums audioipc-client
1046 - moz_clear_vendor_checksums audioipc-server
1047 -
1048 - # Create build dir
1049 - BUILD_DIR="${WORKDIR}/${PN}_build"
1050 - mkdir -p "${BUILD_DIR}" || die
1051 -
1052 - # Write API keys to disk
1053 - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
1054 - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
1055 - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
1056 -
1057 - xdg_environment_reset
1058 -}
1059 -
1060 -src_configure() {
1061 - # Show flags set at the beginning
1062 - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1063 - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
1064 - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1065 - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
1066 - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1067 -
1068 - local have_switched_compiler=
1069 - if use clang && ! tc-is-clang ; then
1070 - # Force clang
1071 - einfo "Enforcing the use of clang due to USE=clang ..."
1072 - have_switched_compiler=yes
1073 - AR=llvm-ar
1074 - AS=llvm-as
1075 - CC=${CHOST}-clang
1076 - CXX=${CHOST}-clang++
1077 - NM=llvm-nm
1078 - RANLIB=llvm-ranlib
1079 - elif ! use clang && ! tc-is-gcc ; then
1080 - # Force gcc
1081 - have_switched_compiler=yes
1082 - einfo "Enforcing the use of gcc due to USE=-clang ..."
1083 - AR=gcc-ar
1084 - CC=${CHOST}-gcc
1085 - CXX=${CHOST}-g++
1086 - NM=gcc-nm
1087 - RANLIB=gcc-ranlib
1088 - fi
1089 -
1090 - if [[ -n "${have_switched_compiler}" ]] ; then
1091 - # Because we switched active compiler we have to ensure
1092 - # that no unsupported flags are set
1093 - strip-unsupported-flags
1094 - fi
1095 -
1096 - # Ensure we use correct toolchain
1097 - export HOST_CC="$(tc-getBUILD_CC)"
1098 - export HOST_CXX="$(tc-getBUILD_CXX)"
1099 - tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
1100 -
1101 - # Pass the correct toolchain paths through cbindgen
1102 - if tc-is-cross-compiler ; then
1103 - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
1104 - fi
1105 -
1106 - # Set MOZILLA_FIVE_HOME
1107 - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
1108 -
1109 - # python/mach/mach/mixin/process.py fails to detect SHELL
1110 - export SHELL="${EPREFIX}/bin/bash"
1111 -
1112 - # Set state path
1113 - export MOZBUILD_STATE_PATH="${BUILD_DIR}"
1114 -
1115 - # Set MOZCONFIG
1116 - export MOZCONFIG="${S}/.mozconfig"
1117 -
1118 - # Initialize MOZCONFIG
1119 - mozconfig_add_options_ac '' --enable-application=browser
1120 -
1121 - # Set Gentoo defaults
1122 - export MOZILLA_OFFICIAL=1
1123 -
1124 - mozconfig_add_options_ac 'Gentoo default' \
1125 - --allow-addon-sideload \
1126 - --disable-cargo-incremental \
1127 - --disable-crashreporter \
1128 - --disable-gpsd \
1129 - --disable-install-strip \
1130 - --disable-parental-controls \
1131 - --disable-strip \
1132 - --disable-updater \
1133 - --enable-negotiateauth \
1134 - --enable-new-pass-manager \
1135 - --enable-official-branding \
1136 - --enable-release \
1137 - --enable-system-ffi \
1138 - --enable-system-pixman \
1139 - --host="${CBUILD:-${CHOST}}" \
1140 - --libdir="${EPREFIX}/usr/$(get_libdir)" \
1141 - --prefix="${EPREFIX}/usr" \
1142 - --target="${CHOST}" \
1143 - --without-ccache \
1144 - --without-wasm-sandboxed-libraries \
1145 - --with-intl-api \
1146 - --with-libclang-path="$(llvm-config --libdir)" \
1147 - --with-system-nspr \
1148 - --with-system-nss \
1149 - --with-system-zlib \
1150 - --with-toolchain-prefix="${CHOST}-" \
1151 - --with-unsigned-addon-scopes=app,system \
1152 - --x-includes="${ESYSROOT}/usr/include" \
1153 - --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
1154 -
1155 - # Set update channel
1156 - local update_channel=release
1157 - [[ -n ${MOZ_ESR} ]] && update_channel=esr
1158 - mozconfig_add_options_ac '' --update-channel=${update_channel}
1159 -
1160 - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
1161 - mozconfig_add_options_ac '' --enable-rust-simd
1162 - fi
1163 -
1164 - # For future keywording: This is currently (97.0) only supported on:
1165 - # amd64, arm, arm64 & x86.
1166 - # Might want to flip the logic around if Firefox is to support more arches.
1167 - if use ppc64; then
1168 - mozconfig_add_options_ac '' --disable-sandbox
1169 - else
1170 - mozconfig_add_options_ac '' --enable-sandbox
1171 - fi
1172 -
1173 - if [[ -s "${S}/api-google.key" ]] ; then
1174 - local key_origin="Gentoo default"
1175 - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
1176 - key_origin="User value"
1177 - fi
1178 -
1179 - mozconfig_add_options_ac "${key_origin}" \
1180 - --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
1181 - else
1182 - einfo "Building without Google API key ..."
1183 - fi
1184 -
1185 - if [[ -s "${S}/api-location.key" ]] ; then
1186 - local key_origin="Gentoo default"
1187 - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
1188 - key_origin="User value"
1189 - fi
1190 -
1191 - mozconfig_add_options_ac "${key_origin}" \
1192 - --with-google-location-service-api-keyfile="${S}/api-location.key"
1193 - else
1194 - einfo "Building without Location API key ..."
1195 - fi
1196 -
1197 - if [[ -s "${S}/api-mozilla.key" ]] ; then
1198 - local key_origin="Gentoo default"
1199 - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
1200 - key_origin="User value"
1201 - fi
1202 -
1203 - mozconfig_add_options_ac "${key_origin}" \
1204 - --with-mozilla-api-keyfile="${S}/api-mozilla.key"
1205 - else
1206 - einfo "Building without Mozilla API key ..."
1207 - fi
1208 -
1209 - mozconfig_use_with system-av1
1210 - mozconfig_use_with system-harfbuzz
1211 - mozconfig_use_with system-harfbuzz system-graphite2
1212 - mozconfig_use_with system-icu
1213 - mozconfig_use_with system-jpeg
1214 - mozconfig_use_with system-libevent
1215 - mozconfig_use_with system-libvpx
1216 - mozconfig_use_with system-png
1217 - mozconfig_use_with system-webp
1218 -
1219 - mozconfig_use_enable dbus
1220 - mozconfig_use_enable libproxy
1221 -
1222 - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
1223 -
1224 - mozconfig_use_enable geckodriver
1225 -
1226 - if use hardened ; then
1227 - mozconfig_add_options_ac "+hardened" --enable-hardening
1228 - append-ldflags "-Wl,-z,relro -Wl,-z,now"
1229 - fi
1230 -
1231 - local myaudiobackends=""
1232 - use jack && myaudiobackends+="jack,"
1233 - use sndio && myaudiobackends+="sndio,"
1234 - use pulseaudio && myaudiobackends+="pulseaudio,"
1235 - ! use pulseaudio && myaudiobackends+="alsa,"
1236 -
1237 - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
1238 -
1239 - mozconfig_use_enable wifi necko-wifi
1240 -
1241 - if use wayland ; then
1242 - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
1243 - else
1244 - mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
1245 - fi
1246 -
1247 - if use lto ; then
1248 - if use clang ; then
1249 - # Upstream only supports lld when using clang
1250 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
1251 -
1252 - mozconfig_add_options_ac '+lto' --enable-lto=cross
1253 -
1254 - else
1255 - # ThinLTO is currently broken, see bmo#1644409
1256 - mozconfig_add_options_ac '+lto' --enable-lto=full
1257 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
1258 - fi
1259 -
1260 - if use pgo ; then
1261 - mozconfig_add_options_ac '+pgo' MOZ_PGO=1
1262 -
1263 - if use clang ; then
1264 - # Used in build/pgo/profileserver.py
1265 - export LLVM_PROFDATA="llvm-profdata"
1266 - fi
1267 - fi
1268 - else
1269 - # Avoid auto-magic on linker
1270 - if use clang ; then
1271 - # This is upstream's default
1272 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
1273 - else
1274 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
1275 - fi
1276 - fi
1277 -
1278 - # LTO flag was handled via configure
1279 - filter-flags '-flto*'
1280 -
1281 - mozconfig_use_enable debug
1282 - if use debug ; then
1283 - mozconfig_add_options_ac '+debug' --disable-optimize
1284 - else
1285 - if is-flag '-g*' ; then
1286 - if use clang ; then
1287 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
1288 - else
1289 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
1290 - fi
1291 - else
1292 - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
1293 - fi
1294 -
1295 - if is-flag '-O0' ; then
1296 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
1297 - elif is-flag '-O4' ; then
1298 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
1299 - elif is-flag '-O3' ; then
1300 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
1301 - elif is-flag '-O1' ; then
1302 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
1303 - elif is-flag '-Os' ; then
1304 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
1305 - else
1306 - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
1307 - fi
1308 - fi
1309 -
1310 - # Debug flag was handled via configure
1311 - filter-flags '-g*'
1312 -
1313 - # Optimization flag was handled via configure
1314 - filter-flags '-O*'
1315 -
1316 - # Modifications to better support ARM, bug #553364
1317 - if use cpu_flags_arm_neon ; then
1318 - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1319 -
1320 - if ! tc-is-clang ; then
1321 - # thumb options aren't supported when using clang, bug 666966
1322 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1323 - --with-thumb=yes \
1324 - --with-thumb-interwork=no
1325 - fi
1326 - fi
1327 -
1328 - if [[ ${CHOST} == armv*h* ]] ; then
1329 - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1330 -
1331 - if ! use system-libvpx ; then
1332 - sed -i \
1333 - -e "s|softfp|hard|" \
1334 - "${S}"/media/libvpx/moz.build \
1335 - || die
1336 - fi
1337 - fi
1338 -
1339 - if use clang ; then
1340 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1341 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1342 - # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1343 - local disable_elf_hack=
1344 - if use amd64 ; then
1345 - disable_elf_hack=yes
1346 - elif use x86 ; then
1347 - disable_elf_hack=yes
1348 - elif use arm ; then
1349 - disable_elf_hack=yes
1350 - fi
1351 -
1352 - if [[ -n ${disable_elf_hack} ]] ; then
1353 - mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1354 - fi
1355 - elif tc-is-gcc ; then
1356 - if ver_test $(gcc-fullversion) -ge 10 ; then
1357 - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1358 - append-cxxflags -fno-tree-loop-vectorize
1359 - fi
1360 - fi
1361 -
1362 - # Additional ARCH support
1363 - case "${ARCH}" in
1364 - arm)
1365 - # Reduce the memory requirements for linking
1366 - if use clang ; then
1367 - # Nothing to do
1368 - :;
1369 - elif use lto ; then
1370 - append-ldflags -Wl,--no-keep-memory
1371 - else
1372 - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1373 - fi
1374 - ;;
1375 - esac
1376 -
1377 - if ! use elibc_glibc ; then
1378 - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1379 - fi
1380 -
1381 - # Allow elfhack to work in combination with unstripped binaries
1382 - # when they would normally be larger than 2GiB.
1383 - append-ldflags "-Wl,--compress-debug-sections=zlib"
1384 -
1385 - # Make revdep-rebuild.sh happy; Also required for musl
1386 - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1387 -
1388 - # Pass $MAKEOPTS to build system
1389 - export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1390 -
1391 - # Use system's Python environment
1392 - PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
1393 -
1394 - if use system-python-libs; then
1395 - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
1396 - else
1397 - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
1398 - fi
1399 -
1400 - # Disable notification when build system has finished
1401 - export MOZ_NOSPAM=1
1402 -
1403 - # Portage sets XARGS environment variable to "xargs -r" by default which
1404 - # breaks build system's check_prog() function which doesn't support arguments
1405 - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1406 -
1407 - # Set build dir
1408 - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1409 -
1410 - # Show flags we will use
1411 - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1412 - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1413 - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1414 - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1415 - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1416 -
1417 - # Handle EXTRA_CONF and show summary
1418 - local ac opt hash reason
1419 -
1420 - # Apply EXTRA_ECONF entries to $MOZCONFIG
1421 - if [[ -n ${EXTRA_ECONF} ]] ; then
1422 - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1423 - for opt in "${ac[@]}"; do
1424 - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1425 - done
1426 - fi
1427 -
1428 - echo
1429 - echo "=========================================================="
1430 - echo "Building ${PF} with the following configuration"
1431 - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1432 - [[ -z ${hash} || ${hash} == \# ]] \
1433 - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1434 - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1435 - done
1436 - echo "=========================================================="
1437 - echo
1438 -
1439 - ./mach configure || die
1440 -}
1441 -
1442 -src_compile() {
1443 - local virtx_cmd=
1444 -
1445 - if use pgo ; then
1446 - virtx_cmd=virtx
1447 -
1448 - # Reset and cleanup environment variables used by GNOME/XDG
1449 - gnome2_environment_reset
1450 -
1451 - addpredict /root
1452 - fi
1453 -
1454 - local -x GDK_BACKEND=x11
1455 -
1456 - ${virtx_cmd} ./mach build --verbose \
1457 - || die
1458 -}
1459 -
1460 -src_install() {
1461 - # xpcshell is getting called during install
1462 - pax-mark m \
1463 - "${BUILD_DIR}"/dist/bin/xpcshell \
1464 - "${BUILD_DIR}"/dist/bin/${PN} \
1465 - "${BUILD_DIR}"/dist/bin/plugin-container
1466 -
1467 - DESTDIR="${D}" ./mach install || die
1468 -
1469 - # Upstream cannot ship symlink but we can (bmo#658850)
1470 - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1471 - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1472 -
1473 - # Don't install llvm-symbolizer from sys-devel/llvm package
1474 - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1475 - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1476 - fi
1477 -
1478 - # Install policy (currently only used to disable application updates)
1479 - insinto "${MOZILLA_FIVE_HOME}/distribution"
1480 - newins "${FILESDIR}"/distribution.ini distribution.ini
1481 - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1482 -
1483 - # Install system-wide preferences
1484 - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1485 - insinto "${PREFS_DIR}"
1486 - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1487 -
1488 - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1489 -
1490 - # Set dictionary path to use system hunspell
1491 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1492 - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1493 - EOF
1494 -
1495 - # Force hwaccel prefs if USE=hwaccel is enabled
1496 - if use hwaccel ; then
1497 - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
1498 - >>"${GENTOO_PREFS}" \
1499 - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1500 -
1501 - if use wayland; then
1502 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
1503 - pref("gfx.x11-egl.force-enabled", false);
1504 - EOF
1505 - else
1506 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
1507 - pref("gfx.x11-egl.force-enabled", true);
1508 - EOF
1509 - fi
1510 - fi
1511 -
1512 - if ! use gmp-autoupdate ; then
1513 - local plugin
1514 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1515 - einfo "Disabling auto-update for ${plugin} plugin ..."
1516 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1517 - pref("media.${plugin}.autoupdate", false);
1518 - EOF
1519 - done
1520 - fi
1521 -
1522 - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1523 - if use system-harfbuzz ; then
1524 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1525 - sticky_pref("gfx.font_rendering.graphite.enabled", true);
1526 - EOF
1527 - fi
1528 -
1529 - # Install language packs
1530 - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1531 - if [[ -n "${langpacks}" ]] ; then
1532 - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1533 - fi
1534 -
1535 - # Install geckodriver
1536 - if use geckodriver ; then
1537 - einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1538 - pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1539 - exeinto "${MOZILLA_FIVE_HOME}"
1540 - doexe "${BUILD_DIR}"/dist/bin/geckodriver
1541 -
1542 - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1543 - fi
1544 -
1545 - # Install icons
1546 - local icon_srcdir="${S}/browser/branding/official"
1547 - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1548 -
1549 - insinto /usr/share/icons/hicolor/symbolic/apps
1550 - newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1551 -
1552 - local icon size
1553 - for icon in "${icon_srcdir}"/default*.png ; do
1554 - size=${icon%.png}
1555 - size=${size##*/default}
1556 -
1557 - if [[ ${size} -eq 48 ]] ; then
1558 - newicon "${icon}" ${PN}.png
1559 - fi
1560 -
1561 - newicon -s ${size} "${icon}" ${PN}.png
1562 - done
1563 -
1564 - # Install menu
1565 - local app_name="Mozilla ${MOZ_PN^}"
1566 - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1567 - local desktop_filename="${PN}.desktop"
1568 - local exec_command="${PN}"
1569 - local icon="${PN}"
1570 - local use_wayland="false"
1571 -
1572 - if use wayland ; then
1573 - use_wayland="true"
1574 - fi
1575 -
1576 - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1577 -
1578 - sed -i \
1579 - -e "s:@NAME@:${app_name}:" \
1580 - -e "s:@EXEC@:${exec_command}:" \
1581 - -e "s:@ICON@:${icon}:" \
1582 - "${WORKDIR}/${PN}.desktop-template" \
1583 - || die
1584 -
1585 - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1586 -
1587 - rm "${WORKDIR}/${PN}.desktop-template" || die
1588 -
1589 - # Install wrapper script
1590 - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1591 - newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1592 -
1593 - # Update wrapper
1594 - sed -i \
1595 - -e "s:@PREFIX@:${EPREFIX}/usr:" \
1596 - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1597 - -e "s:@APULSELIB_DIR@:${apulselib}:" \
1598 - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1599 - "${ED}/usr/bin/${PN}" \
1600 - || die
1601 -}
1602 -
1603 -pkg_preinst() {
1604 - xdg_pkg_preinst
1605 -
1606 - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1607 - # does not need to be forced into the LD_LIBRARY_PATH
1608 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1609 - einfo "APULSE found; Generating library symlinks for sound support ..."
1610 - local lib
1611 - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1612 - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1613 - # A quickpkg rolled by hand will grab symlinks as part of the package,
1614 - # so we need to avoid creating them if they already exist.
1615 - if [[ ! -L ${lib##*/} ]] ; then
1616 - ln -s "${lib}" ${lib##*/} || die
1617 - fi
1618 - done
1619 - popd &>/dev/null || die
1620 - fi
1621 -}
1622 -
1623 -pkg_postinst() {
1624 - xdg_pkg_postinst
1625 -
1626 - if ! use gmp-autoupdate ; then
1627 - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1628 - elog "installing into new profiles:"
1629 - local plugin
1630 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1631 - elog "\t ${plugin}"
1632 - done
1633 - elog
1634 - fi
1635 -
1636 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1637 - elog "Apulse was detected at merge time on this system and so it will always be"
1638 - elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1639 - elog "media-sound/apulse."
1640 - elog
1641 - fi
1642 -
1643 - local show_doh_information
1644 - local show_normandy_information
1645 - local show_shortcut_information
1646 -
1647 - if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1648 - # New install; Tell user that DoH is disabled by default
1649 - show_doh_information=yes
1650 - show_normandy_information=yes
1651 - show_shortcut_information=no
1652 - else
1653 - local replacing_version
1654 - for replacing_version in ${REPLACING_VERSIONS} ; do
1655 - if ver_test "${replacing_version}" -lt 91.0 ; then
1656 - # Tell user that we no longer install a shortcut
1657 - # per supported display protocol
1658 - show_shortcut_information=yes
1659 - fi
1660 - done
1661 - fi
1662 -
1663 - if [[ -n "${show_doh_information}" ]] ; then
1664 - elog
1665 - elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1666 - elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1667 - elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1668 - elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1669 - elog "(\"Off by choice\") by default."
1670 - elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1671 - fi
1672 -
1673 - # bug 713782
1674 - if [[ -n "${show_normandy_information}" ]] ; then
1675 - elog
1676 - elog "Upstream operates a service named Normandy which allows Mozilla to"
1677 - elog "push changes for default settings or even install new add-ons remotely."
1678 - elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1679 - elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1680 - elog "concerns prevail, which is why we have switched off the use of this"
1681 - elog "service by default."
1682 - elog
1683 - elog "To re-enable this service set"
1684 - elog
1685 - elog " app.normandy.enabled=true"
1686 - elog
1687 - elog "in about:config."
1688 - fi
1689 -
1690 - if [[ -n "${show_shortcut_information}" ]] ; then
1691 - elog
1692 - elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1693 - elog "each supported display protocol. Instead we will only install"
1694 - elog "one generic Mozilla ${PN^} shortcut."
1695 - elog "If you still want to be able to select between running Mozilla ${PN^}"
1696 - elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1697 - fi
1698 -
1699 - # bug 835078
1700 - if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
1701 - ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
1702 - ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
1703 - ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
1704 - ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
1705 - fi
1706 -
1707 - elog
1708 - elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
1709 - elog "useragent checks. To temporarily fix this, enter about:config and modify "
1710 - elog "network.http.useragent.forceVersion preference to \"99\"."
1711 - elog "Or install an addon to change your useragent."
1712 - elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
1713 - elog
1714 -}
1715
1716 diff --git a/www-client/firefox/firefox-104.0.2.ebuild b/www-client/firefox/firefox-104.0.2.ebuild
1717 deleted file mode 100644
1718 index 24cea78da335..000000000000
1719 --- a/www-client/firefox/firefox-104.0.2.ebuild
1720 +++ /dev/null
1721 @@ -1,1278 +0,0 @@
1722 -# Copyright 1999-2022 Gentoo Authors
1723 -# Distributed under the terms of the GNU General Public License v2
1724 -
1725 -EAPI=8
1726 -
1727 -FIREFOX_PATCHSET="firefox-104-patches-02j.tar.xz"
1728 -
1729 -LLVM_MAX_SLOT=14
1730 -
1731 -PYTHON_COMPAT=( python3_{8..11} )
1732 -PYTHON_REQ_USE="ncurses,sqlite,ssl"
1733 -
1734 -WANT_AUTOCONF="2.1"
1735 -
1736 -VIRTUALX_REQUIRED="pgo"
1737 -
1738 -MOZ_ESR=
1739 -
1740 -MOZ_PV=${PV}
1741 -MOZ_PV_SUFFIX=
1742 -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
1743 - MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
1744 -
1745 - # Convert the ebuild version to the upstream Mozilla version
1746 - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
1747 - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
1748 - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
1749 -fi
1750 -
1751 -if [[ -n ${MOZ_ESR} ]] ; then
1752 - # ESR releases have slightly different version numbers
1753 - MOZ_PV="${MOZ_PV}esr"
1754 -fi
1755 -
1756 -MOZ_PN="${PN%-bin}"
1757 -MOZ_P="${MOZ_PN}-${MOZ_PV}"
1758 -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
1759 -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
1760 -
1761 -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
1762 - llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
1763 - virtualx xdg
1764 -
1765 -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
1766 -
1767 -if [[ ${PV} == *_rc* ]] ; then
1768 - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
1769 -fi
1770 -
1771 -PATCH_URIS=(
1772 - https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
1773 -)
1774 -
1775 -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
1776 - ${PATCH_URIS[@]}"
1777 -
1778 -DESCRIPTION="Firefox Web Browser"
1779 -HOMEPAGE="https://www.mozilla.com/firefox"
1780 -
1781 -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
1782 -
1783 -SLOT="rapid"
1784 -LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
1785 -
1786 -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
1787 -IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
1788 -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
1789 -IUSE+=" wayland wifi"
1790 -
1791 -# Firefox-only IUSE
1792 -IUSE+=" geckodriver +gmp-autoupdate screencast +X"
1793 -
1794 -REQUIRED_USE="debug? ( !system-av1 )
1795 - pgo? ( lto )
1796 - wifi? ( dbus )"
1797 -
1798 -# Firefox-only REQUIRED_USE flags
1799 -REQUIRED_USE+=" || ( X wayland )"
1800 -REQUIRED_USE+=" pgo? ( X )"
1801 -REQUIRED_USE+=" screencast? ( wayland )"
1802 -
1803 -FF_ONLY_DEPEND="!www-client/firefox:0
1804 - !www-client/firefox:esr
1805 - screencast? ( media-video/pipewire:= )
1806 - selinux? ( sec-policy/selinux-mozilla )"
1807 -BDEPEND="${PYTHON_DEPS}
1808 - app-arch/unzip
1809 - app-arch/zip
1810 - >=dev-util/cbindgen-0.24.3
1811 - net-libs/nodejs
1812 - virtual/pkgconfig
1813 - virtual/rust
1814 - || (
1815 - (
1816 - sys-devel/clang:14
1817 - sys-devel/llvm:14
1818 - clang? (
1819 - =sys-devel/lld-14*
1820 - pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
1821 - )
1822 - )
1823 - (
1824 - sys-devel/clang:13
1825 - sys-devel/llvm:13
1826 - clang? (
1827 - =sys-devel/lld-13*
1828 - pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
1829 - )
1830 - )
1831 - )
1832 - amd64? ( >=dev-lang/nasm-2.14 )
1833 - x86? ( >=dev-lang/nasm-2.14 )"
1834 -COMMON_DEPEND="${FF_ONLY_DEPEND}
1835 - dev-libs/atk
1836 - dev-libs/expat
1837 - dev-libs/glib:2
1838 - dev-libs/libffi:=
1839 - >=dev-libs/nss-3.81
1840 - >=dev-libs/nspr-4.34.1
1841 - media-libs/alsa-lib
1842 - media-libs/fontconfig
1843 - media-libs/freetype
1844 - media-libs/mesa
1845 - media-video/ffmpeg
1846 - sys-libs/zlib
1847 - virtual/freedesktop-icon-theme
1848 - x11-libs/cairo
1849 - x11-libs/gdk-pixbuf
1850 - x11-libs/pango
1851 - x11-libs/pixman
1852 - dbus? (
1853 - dev-libs/dbus-glib
1854 - sys-apps/dbus
1855 - )
1856 - jack? ( virtual/jack )
1857 - libproxy? ( net-libs/libproxy )
1858 - selinux? ( sec-policy/selinux-mozilla )
1859 - sndio? ( >=media-sound/sndio-1.8.0-r1 )
1860 - screencast? ( media-video/pipewire:= )
1861 - system-av1? (
1862 - >=media-libs/dav1d-1.0.0:=
1863 - >=media-libs/libaom-1.0.0:=
1864 - )
1865 - system-harfbuzz? (
1866 - >=media-gfx/graphite2-1.3.13
1867 - >=media-libs/harfbuzz-2.8.1:0=
1868 - )
1869 - system-icu? ( >=dev-libs/icu-71.1:= )
1870 - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
1871 - system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
1872 - system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
1873 - system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
1874 - system-webp? ( >=media-libs/libwebp-1.1.0:0= )
1875 - wayland? (
1876 - >=media-libs/libepoxy-1.5.10-r1
1877 - x11-libs/gtk+:3[wayland]
1878 - x11-libs/libdrm
1879 - x11-libs/libxkbcommon[wayland]
1880 - )
1881 - wifi? (
1882 - kernel_linux? (
1883 - dev-libs/dbus-glib
1884 - net-misc/networkmanager
1885 - sys-apps/dbus
1886 - )
1887 - )
1888 - X? (
1889 - virtual/opengl
1890 - x11-libs/cairo[X]
1891 - x11-libs/gtk+:3[X]
1892 - x11-libs/libX11
1893 - x11-libs/libXcomposite
1894 - x11-libs/libXdamage
1895 - x11-libs/libXext
1896 - x11-libs/libXfixes
1897 - x11-libs/libxkbcommon[X]
1898 - x11-libs/libXrandr
1899 - x11-libs/libXtst
1900 - x11-libs/libxcb:=
1901 - )"
1902 -RDEPEND="${COMMON_DEPEND}
1903 - jack? ( virtual/jack )
1904 - openh264? ( media-libs/openh264:*[plugin] )
1905 - pulseaudio? (
1906 - || (
1907 - media-sound/pulseaudio
1908 - >=media-sound/apulse-0.1.12-r4
1909 - )
1910 - )"
1911 -DEPEND="${COMMON_DEPEND}
1912 - pulseaudio? (
1913 - || (
1914 - media-sound/pulseaudio
1915 - >=media-sound/apulse-0.1.12-r4[sdk]
1916 - )
1917 - )
1918 - X? (
1919 - x11-libs/libICE
1920 - x11-libs/libSM
1921 - )"
1922 -
1923 -S="${WORKDIR}/${PN}-${PV%_*}"
1924 -
1925 -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
1926 -# overridden in the enviromnent (advanced hackers only)
1927 -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
1928 - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
1929 -fi
1930 -
1931 -llvm_check_deps() {
1932 - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
1933 - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
1934 - return 1
1935 - fi
1936 -
1937 - if use clang ; then
1938 - if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
1939 - einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
1940 - return 1
1941 - fi
1942 -
1943 - if use pgo ; then
1944 - if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
1945 - einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
1946 - return 1
1947 - fi
1948 - fi
1949 - fi
1950 -
1951 - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
1952 -}
1953 -
1954 -MOZ_LANGS=(
1955 - af ar ast be bg br ca cak cs cy da de dsb
1956 - el en-CA en-GB en-US es-AR es-ES et eu
1957 - fi fr fy-NL ga-IE gd gl he hr hsb hu
1958 - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
1959 - pa-IN pl pt-BR pt-PT rm ro ru
1960 - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
1961 -)
1962 -
1963 -# Firefox-only LANGS
1964 -MOZ_LANGS+=( ach )
1965 -MOZ_LANGS+=( an )
1966 -MOZ_LANGS+=( az )
1967 -MOZ_LANGS+=( bn )
1968 -MOZ_LANGS+=( bs )
1969 -MOZ_LANGS+=( ca-valencia )
1970 -MOZ_LANGS+=( eo )
1971 -MOZ_LANGS+=( es-CL )
1972 -MOZ_LANGS+=( es-MX )
1973 -MOZ_LANGS+=( fa )
1974 -MOZ_LANGS+=( ff )
1975 -MOZ_LANGS+=( gn )
1976 -MOZ_LANGS+=( gu-IN )
1977 -MOZ_LANGS+=( hi-IN )
1978 -MOZ_LANGS+=( hy-AM )
1979 -MOZ_LANGS+=( ia )
1980 -MOZ_LANGS+=( km )
1981 -MOZ_LANGS+=( kn )
1982 -MOZ_LANGS+=( lij )
1983 -MOZ_LANGS+=( mk )
1984 -MOZ_LANGS+=( mr )
1985 -MOZ_LANGS+=( my )
1986 -MOZ_LANGS+=( ne-NP )
1987 -MOZ_LANGS+=( oc )
1988 -MOZ_LANGS+=( sco )
1989 -MOZ_LANGS+=( si )
1990 -MOZ_LANGS+=( son )
1991 -MOZ_LANGS+=( szl )
1992 -MOZ_LANGS+=( ta )
1993 -MOZ_LANGS+=( te )
1994 -MOZ_LANGS+=( tl )
1995 -MOZ_LANGS+=( trs )
1996 -MOZ_LANGS+=( ur )
1997 -MOZ_LANGS+=( xh )
1998 -
1999 -mozilla_set_globals() {
2000 - # https://bugs.gentoo.org/587334
2001 - local MOZ_TOO_REGIONALIZED_FOR_L10N=(
2002 - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
2003 - )
2004 -
2005 - local lang xflag
2006 - for lang in "${MOZ_LANGS[@]}" ; do
2007 - # en and en_US are handled internally
2008 - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
2009 - continue
2010 - fi
2011 -
2012 - # strip region subtag if $lang is in the list
2013 - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
2014 - xflag=${lang%%-*}
2015 - else
2016 - xflag=${lang}
2017 - fi
2018 -
2019 - SRC_URI+=" l10n_${xflag/[_@]/-}? ("
2020 - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
2021 - SRC_URI+=" )"
2022 - IUSE+=" l10n_${xflag/[_@]/-}"
2023 - done
2024 -}
2025 -mozilla_set_globals
2026 -
2027 -moz_clear_vendor_checksums() {
2028 - debug-print-function ${FUNCNAME} "$@"
2029 -
2030 - if [[ ${#} -ne 1 ]] ; then
2031 - die "${FUNCNAME} requires exact one argument"
2032 - fi
2033 -
2034 - einfo "Clearing cargo checksums for ${1} ..."
2035 -
2036 - sed -i \
2037 - -e 's/\("files":{\)[^}]*/\1/' \
2038 - "${S}"/third_party/rust/${1}/.cargo-checksum.json \
2039 - || die
2040 -}
2041 -
2042 -moz_install_xpi() {
2043 - debug-print-function ${FUNCNAME} "$@"
2044 -
2045 - if [[ ${#} -lt 2 ]] ; then
2046 - die "${FUNCNAME} requires at least two arguments"
2047 - fi
2048 -
2049 - local DESTDIR=${1}
2050 - shift
2051 -
2052 - insinto "${DESTDIR}"
2053 -
2054 - local emid xpi_file xpi_tmp_dir
2055 - for xpi_file in "${@}" ; do
2056 - emid=
2057 - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
2058 -
2059 - # Unpack XPI
2060 - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
2061 -
2062 - # Determine extension ID
2063 - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
2064 - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
2065 - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
2066 - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
2067 - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
2068 - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
2069 - else
2070 - die "failed to determine extension id"
2071 - fi
2072 -
2073 - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
2074 - newins "${xpi_file}" "${emid}.xpi"
2075 - done
2076 -}
2077 -
2078 -mozconfig_add_options_ac() {
2079 - debug-print-function ${FUNCNAME} "$@"
2080 -
2081 - if [[ ${#} -lt 2 ]] ; then
2082 - die "${FUNCNAME} requires at least two arguments"
2083 - fi
2084 -
2085 - local reason=${1}
2086 - shift
2087 -
2088 - local option
2089 - for option in ${@} ; do
2090 - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
2091 - done
2092 -}
2093 -
2094 -mozconfig_add_options_mk() {
2095 - debug-print-function ${FUNCNAME} "$@"
2096 -
2097 - if [[ ${#} -lt 2 ]] ; then
2098 - die "${FUNCNAME} requires at least two arguments"
2099 - fi
2100 -
2101 - local reason=${1}
2102 - shift
2103 -
2104 - local option
2105 - for option in ${@} ; do
2106 - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
2107 - done
2108 -}
2109 -
2110 -mozconfig_use_enable() {
2111 - debug-print-function ${FUNCNAME} "$@"
2112 -
2113 - if [[ ${#} -lt 1 ]] ; then
2114 - die "${FUNCNAME} requires at least one arguments"
2115 - fi
2116 -
2117 - local flag=$(use_enable "${@}")
2118 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
2119 -}
2120 -
2121 -mozconfig_use_with() {
2122 - debug-print-function ${FUNCNAME} "$@"
2123 -
2124 - if [[ ${#} -lt 1 ]] ; then
2125 - die "${FUNCNAME} requires at least one arguments"
2126 - fi
2127 -
2128 - local flag=$(use_with "${@}")
2129 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
2130 -}
2131 -
2132 -pkg_pretend() {
2133 - if [[ ${MERGE_TYPE} != binary ]] ; then
2134 - if use pgo ; then
2135 - if ! has usersandbox $FEATURES ; then
2136 - die "You must enable usersandbox as X server can not run as root!"
2137 - fi
2138 - fi
2139 -
2140 - # Ensure we have enough disk space to compile
2141 - if use pgo || use lto || use debug ; then
2142 - CHECKREQS_DISK_BUILD="13500M"
2143 - else
2144 - CHECKREQS_DISK_BUILD="6600M"
2145 - fi
2146 -
2147 - check-reqs_pkg_pretend
2148 - fi
2149 -}
2150 -
2151 -pkg_setup() {
2152 - if [[ ${MERGE_TYPE} != binary ]] ; then
2153 - if use pgo ; then
2154 - if ! has userpriv ${FEATURES} ; then
2155 - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
2156 - fi
2157 - fi
2158 -
2159 - # Ensure we have enough disk space to compile
2160 - if use pgo || use lto || use debug ; then
2161 - CHECKREQS_DISK_BUILD="13500M"
2162 - else
2163 - CHECKREQS_DISK_BUILD="6400M"
2164 - fi
2165 -
2166 - check-reqs_pkg_setup
2167 -
2168 - llvm_pkg_setup
2169 -
2170 - if use clang && use lto ; then
2171 - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
2172 - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
2173 - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
2174 -
2175 - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
2176 - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
2177 - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
2178 -
2179 - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
2180 - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
2181 - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
2182 - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
2183 - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
2184 - eerror " - Build ${CATEGORY}/${PN} without USE=lto"
2185 - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
2186 - eerror " llvm/clang/lld/rust chain depending on your @world updates)"
2187 - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
2188 - fi
2189 - fi
2190 -
2191 - python-any-r1_pkg_setup
2192 -
2193 - # Avoid PGO profiling problems due to enviroment leakage
2194 - # These should *always* be cleaned up anyway
2195 - unset \
2196 - DBUS_SESSION_BUS_ADDRESS \
2197 - DISPLAY \
2198 - ORBIT_SOCKETDIR \
2199 - SESSION_MANAGER \
2200 - XAUTHORITY \
2201 - XDG_CACHE_HOME \
2202 - XDG_SESSION_COOKIE
2203 -
2204 - # Build system is using /proc/self/oom_score_adj, bug #604394
2205 - addpredict /proc/self/oom_score_adj
2206 -
2207 - if use pgo ; then
2208 - # Allow access to GPU during PGO run
2209 - local ati_cards mesa_cards nvidia_cards render_cards
2210 - shopt -s nullglob
2211 -
2212 - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
2213 - if [[ -n "${ati_cards}" ]] ; then
2214 - addpredict "${ati_cards}"
2215 - fi
2216 -
2217 - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
2218 - if [[ -n "${mesa_cards}" ]] ; then
2219 - addpredict "${mesa_cards}"
2220 - fi
2221 -
2222 - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
2223 - if [[ -n "${nvidia_cards}" ]] ; then
2224 - addpredict "${nvidia_cards}"
2225 - fi
2226 -
2227 - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
2228 - if [[ -n "${render_cards}" ]] ; then
2229 - addpredict "${render_cards}"
2230 - fi
2231 -
2232 - shopt -u nullglob
2233 - fi
2234 -
2235 - if ! mountpoint -q /dev/shm ; then
2236 - # If /dev/shm is not available, configure is known to fail with
2237 - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
2238 - ewarn "/dev/shm is not mounted -- expect build failures!"
2239 - fi
2240 -
2241 - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
2242 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
2243 - # get your own set of keys.
2244 - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
2245 - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
2246 - fi
2247 -
2248 - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
2249 - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
2250 - fi
2251 -
2252 - # Mozilla API keys (see https://location.services.mozilla.com/api)
2253 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
2254 - # get your own set of keys.
2255 - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
2256 - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
2257 - fi
2258 -
2259 - # Ensure we use C locale when building, bug #746215
2260 - export LC_ALL=C
2261 - fi
2262 -
2263 - CONFIG_CHECK="~SECCOMP"
2264 - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
2265 - linux-info_pkg_setup
2266 -}
2267 -
2268 -src_unpack() {
2269 - local _lp_dir="${WORKDIR}/language_packs"
2270 - local _src_file
2271 -
2272 - if [[ ! -d "${_lp_dir}" ]] ; then
2273 - mkdir "${_lp_dir}" || die
2274 - fi
2275 -
2276 - for _src_file in ${A} ; do
2277 - if [[ ${_src_file} == *.xpi ]]; then
2278 - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
2279 - else
2280 - unpack ${_src_file}
2281 - fi
2282 - done
2283 -}
2284 -
2285 -src_prepare() {
2286 - use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
2287 - ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
2288 - eapply "${WORKDIR}/firefox-patches"
2289 -
2290 - # Allow user to apply any additional patches without modifing ebuild
2291 - eapply_user
2292 -
2293 - # Make cargo respect MAKEOPTS
2294 - export CARGO_BUILD_JOBS="$(makeopts_jobs)"
2295 -
2296 - # Make LTO respect MAKEOPTS
2297 - sed -i \
2298 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
2299 - "${S}"/build/moz.configure/lto-pgo.configure \
2300 - || die "sed failed to set num_cores"
2301 -
2302 - # Make ICU respect MAKEOPTS
2303 - sed -i \
2304 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
2305 - "${S}"/intl/icu_sources_data.py \
2306 - || die "sed failed to set num_cores"
2307 -
2308 - # sed-in toolchain prefix
2309 - sed -i \
2310 - -e "s/objdump/${CHOST}-objdump/" \
2311 - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
2312 - || die "sed failed to set toolchain prefix"
2313 -
2314 - sed -i \
2315 - -e 's/ccache_stats = None/return None/' \
2316 - "${S}"/python/mozbuild/mozbuild/controller/building.py \
2317 - || die "sed failed to disable ccache stats call"
2318 -
2319 - einfo "Removing pre-built binaries ..."
2320 - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
2321 -
2322 - # Clearing checksums where we have applied patches
2323 - moz_clear_vendor_checksums audioipc
2324 - moz_clear_vendor_checksums audioipc-client
2325 - moz_clear_vendor_checksums audioipc-server
2326 -
2327 - # Create build dir
2328 - BUILD_DIR="${WORKDIR}/${PN}_build"
2329 - mkdir -p "${BUILD_DIR}" || die
2330 -
2331 - # Write API keys to disk
2332 - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
2333 - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
2334 - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
2335 -
2336 - xdg_environment_reset
2337 -}
2338 -
2339 -src_configure() {
2340 - # Show flags set at the beginning
2341 - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
2342 - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
2343 - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
2344 - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
2345 - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
2346 -
2347 - local have_switched_compiler=
2348 - if use clang && ! tc-is-clang ; then
2349 - # Force clang
2350 - einfo "Enforcing the use of clang due to USE=clang ..."
2351 - have_switched_compiler=yes
2352 - AR=llvm-ar
2353 - AS=llvm-as
2354 - CC=${CHOST}-clang
2355 - CXX=${CHOST}-clang++
2356 - NM=llvm-nm
2357 - RANLIB=llvm-ranlib
2358 - elif ! use clang && ! tc-is-gcc ; then
2359 - # Force gcc
2360 - have_switched_compiler=yes
2361 - einfo "Enforcing the use of gcc due to USE=-clang ..."
2362 - AR=gcc-ar
2363 - CC=${CHOST}-gcc
2364 - CXX=${CHOST}-g++
2365 - NM=gcc-nm
2366 - RANLIB=gcc-ranlib
2367 - fi
2368 -
2369 - if [[ -n "${have_switched_compiler}" ]] ; then
2370 - # Because we switched active compiler we have to ensure
2371 - # that no unsupported flags are set
2372 - strip-unsupported-flags
2373 - fi
2374 -
2375 - # Ensure we use correct toolchain
2376 - export HOST_CC="$(tc-getBUILD_CC)"
2377 - export HOST_CXX="$(tc-getBUILD_CXX)"
2378 - tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
2379 -
2380 - # Pass the correct toolchain paths through cbindgen
2381 - if tc-is-cross-compiler ; then
2382 - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
2383 - fi
2384 -
2385 - # Set MOZILLA_FIVE_HOME
2386 - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
2387 -
2388 - # python/mach/mach/mixin/process.py fails to detect SHELL
2389 - export SHELL="${EPREFIX}/bin/bash"
2390 -
2391 - # Set state path
2392 - export MOZBUILD_STATE_PATH="${BUILD_DIR}"
2393 -
2394 - # Set MOZCONFIG
2395 - export MOZCONFIG="${S}/.mozconfig"
2396 -
2397 - # Initialize MOZCONFIG
2398 - mozconfig_add_options_ac '' --enable-application=browser
2399 -
2400 - # Set Gentoo defaults
2401 - export MOZILLA_OFFICIAL=1
2402 -
2403 - mozconfig_add_options_ac 'Gentoo default' \
2404 - --allow-addon-sideload \
2405 - --disable-cargo-incremental \
2406 - --disable-crashreporter \
2407 - --disable-gpsd \
2408 - --disable-install-strip \
2409 - --disable-parental-controls \
2410 - --disable-strip \
2411 - --disable-updater \
2412 - --enable-negotiateauth \
2413 - --enable-new-pass-manager \
2414 - --enable-official-branding \
2415 - --enable-release \
2416 - --enable-system-ffi \
2417 - --enable-system-pixman \
2418 - --host="${CBUILD:-${CHOST}}" \
2419 - --libdir="${EPREFIX}/usr/$(get_libdir)" \
2420 - --prefix="${EPREFIX}/usr" \
2421 - --target="${CHOST}" \
2422 - --without-ccache \
2423 - --without-wasm-sandboxed-libraries \
2424 - --with-intl-api \
2425 - --with-libclang-path="$(llvm-config --libdir)" \
2426 - --with-system-nspr \
2427 - --with-system-nss \
2428 - --with-system-zlib \
2429 - --with-toolchain-prefix="${CHOST}-" \
2430 - --with-unsigned-addon-scopes=app,system \
2431 - --x-includes="${ESYSROOT}/usr/include" \
2432 - --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
2433 -
2434 - # Set update channel
2435 - local update_channel=release
2436 - [[ -n ${MOZ_ESR} ]] && update_channel=esr
2437 - mozconfig_add_options_ac '' --update-channel=${update_channel}
2438 -
2439 - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
2440 - mozconfig_add_options_ac '' --enable-rust-simd
2441 - fi
2442 -
2443 - # For future keywording: This is currently (97.0) only supported on:
2444 - # amd64, arm, arm64 & x86.
2445 - # Might want to flip the logic around if Firefox is to support more arches.
2446 - if use ppc64; then
2447 - mozconfig_add_options_ac '' --disable-sandbox
2448 - else
2449 - mozconfig_add_options_ac '' --enable-sandbox
2450 - fi
2451 -
2452 - if [[ -s "${S}/api-google.key" ]] ; then
2453 - local key_origin="Gentoo default"
2454 - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
2455 - key_origin="User value"
2456 - fi
2457 -
2458 - mozconfig_add_options_ac "${key_origin}" \
2459 - --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
2460 - else
2461 - einfo "Building without Google API key ..."
2462 - fi
2463 -
2464 - if [[ -s "${S}/api-location.key" ]] ; then
2465 - local key_origin="Gentoo default"
2466 - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
2467 - key_origin="User value"
2468 - fi
2469 -
2470 - mozconfig_add_options_ac "${key_origin}" \
2471 - --with-google-location-service-api-keyfile="${S}/api-location.key"
2472 - else
2473 - einfo "Building without Location API key ..."
2474 - fi
2475 -
2476 - if [[ -s "${S}/api-mozilla.key" ]] ; then
2477 - local key_origin="Gentoo default"
2478 - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
2479 - key_origin="User value"
2480 - fi
2481 -
2482 - mozconfig_add_options_ac "${key_origin}" \
2483 - --with-mozilla-api-keyfile="${S}/api-mozilla.key"
2484 - else
2485 - einfo "Building without Mozilla API key ..."
2486 - fi
2487 -
2488 - mozconfig_use_with system-av1
2489 - mozconfig_use_with system-harfbuzz
2490 - mozconfig_use_with system-harfbuzz system-graphite2
2491 - mozconfig_use_with system-icu
2492 - mozconfig_use_with system-jpeg
2493 - mozconfig_use_with system-libevent
2494 - mozconfig_use_with system-libvpx
2495 - mozconfig_use_with system-png
2496 - mozconfig_use_with system-webp
2497 -
2498 - mozconfig_use_enable dbus
2499 - mozconfig_use_enable libproxy
2500 -
2501 - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
2502 -
2503 - mozconfig_use_enable geckodriver
2504 -
2505 - if use hardened ; then
2506 - mozconfig_add_options_ac "+hardened" --enable-hardening
2507 - append-ldflags "-Wl,-z,relro -Wl,-z,now"
2508 - fi
2509 -
2510 - local myaudiobackends=""
2511 - use jack && myaudiobackends+="jack,"
2512 - use sndio && myaudiobackends+="sndio,"
2513 - use pulseaudio && myaudiobackends+="pulseaudio,"
2514 - ! use pulseaudio && myaudiobackends+="alsa,"
2515 -
2516 - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
2517 -
2518 - mozconfig_use_enable wifi necko-wifi
2519 -
2520 - if use X && use wayland ; then
2521 - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
2522 - elif ! use X && use wayland ; then
2523 - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
2524 - else
2525 - mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
2526 - fi
2527 -
2528 - if use lto ; then
2529 - if use clang ; then
2530 - # Upstream only supports lld when using clang
2531 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
2532 -
2533 - mozconfig_add_options_ac '+lto' --enable-lto=cross
2534 -
2535 - else
2536 - # ThinLTO is currently broken, see bmo#1644409
2537 - mozconfig_add_options_ac '+lto' --enable-lto=full
2538 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
2539 - fi
2540 -
2541 - if use pgo ; then
2542 - mozconfig_add_options_ac '+pgo' MOZ_PGO=1
2543 -
2544 - if use clang ; then
2545 - # Used in build/pgo/profileserver.py
2546 - export LLVM_PROFDATA="llvm-profdata"
2547 - fi
2548 - fi
2549 - else
2550 - # Avoid auto-magic on linker
2551 - if use clang ; then
2552 - # This is upstream's default
2553 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
2554 - else
2555 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
2556 - fi
2557 - fi
2558 -
2559 - # LTO flag was handled via configure
2560 - filter-flags '-flto*'
2561 -
2562 - mozconfig_use_enable debug
2563 - if use debug ; then
2564 - mozconfig_add_options_ac '+debug' --disable-optimize
2565 - else
2566 - if is-flag '-g*' ; then
2567 - if use clang ; then
2568 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
2569 - else
2570 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
2571 - fi
2572 - else
2573 - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
2574 - fi
2575 -
2576 - if is-flag '-O0' ; then
2577 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
2578 - elif is-flag '-O4' ; then
2579 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
2580 - elif is-flag '-O3' ; then
2581 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
2582 - elif is-flag '-O1' ; then
2583 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
2584 - elif is-flag '-Os' ; then
2585 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
2586 - else
2587 - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
2588 - fi
2589 - fi
2590 -
2591 - # Debug flag was handled via configure
2592 - filter-flags '-g*'
2593 -
2594 - # Optimization flag was handled via configure
2595 - filter-flags '-O*'
2596 -
2597 - # Modifications to better support ARM, bug #553364
2598 - if use cpu_flags_arm_neon ; then
2599 - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
2600 -
2601 - if ! tc-is-clang ; then
2602 - # thumb options aren't supported when using clang, bug 666966
2603 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \
2604 - --with-thumb=yes \
2605 - --with-thumb-interwork=no
2606 - fi
2607 - fi
2608 -
2609 - if [[ ${CHOST} == armv*h* ]] ; then
2610 - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
2611 -
2612 - if ! use system-libvpx ; then
2613 - sed -i \
2614 - -e "s|softfp|hard|" \
2615 - "${S}"/media/libvpx/moz.build \
2616 - || die
2617 - fi
2618 - fi
2619 -
2620 - if use clang ; then
2621 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
2622 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
2623 - # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
2624 - local disable_elf_hack=
2625 - if use amd64 ; then
2626 - disable_elf_hack=yes
2627 - elif use x86 ; then
2628 - disable_elf_hack=yes
2629 - elif use arm ; then
2630 - disable_elf_hack=yes
2631 - fi
2632 -
2633 - if [[ -n ${disable_elf_hack} ]] ; then
2634 - mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
2635 - fi
2636 - elif tc-is-gcc ; then
2637 - if ver_test $(gcc-fullversion) -ge 10 ; then
2638 - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
2639 - append-cxxflags -fno-tree-loop-vectorize
2640 - fi
2641 - fi
2642 -
2643 - # Additional ARCH support
2644 - case "${ARCH}" in
2645 - arm)
2646 - # Reduce the memory requirements for linking
2647 - if use clang ; then
2648 - # Nothing to do
2649 - :;
2650 - elif use lto ; then
2651 - append-ldflags -Wl,--no-keep-memory
2652 - else
2653 - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
2654 - fi
2655 - ;;
2656 - esac
2657 -
2658 - if ! use elibc_glibc ; then
2659 - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
2660 - fi
2661 -
2662 - # Allow elfhack to work in combination with unstripped binaries
2663 - # when they would normally be larger than 2GiB.
2664 - append-ldflags "-Wl,--compress-debug-sections=zlib"
2665 -
2666 - # Make revdep-rebuild.sh happy; Also required for musl
2667 - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
2668 -
2669 - # Pass $MAKEOPTS to build system
2670 - export MOZ_MAKE_FLAGS="${MAKEOPTS}"
2671 -
2672 - # Use system's Python environment
2673 - PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
2674 -
2675 - if use system-python-libs; then
2676 - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
2677 - else
2678 - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
2679 - fi
2680 -
2681 - # Disable notification when build system has finished
2682 - export MOZ_NOSPAM=1
2683 -
2684 - # Portage sets XARGS environment variable to "xargs -r" by default which
2685 - # breaks build system's check_prog() function which doesn't support arguments
2686 - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
2687 -
2688 - # Set build dir
2689 - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
2690 -
2691 - # Show flags we will use
2692 - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
2693 - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
2694 - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
2695 - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
2696 - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
2697 -
2698 - # Handle EXTRA_CONF and show summary
2699 - local ac opt hash reason
2700 -
2701 - # Apply EXTRA_ECONF entries to $MOZCONFIG
2702 - if [[ -n ${EXTRA_ECONF} ]] ; then
2703 - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
2704 - for opt in "${ac[@]}"; do
2705 - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
2706 - done
2707 - fi
2708 -
2709 - echo
2710 - echo "=========================================================="
2711 - echo "Building ${PF} with the following configuration"
2712 - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
2713 - [[ -z ${hash} || ${hash} == \# ]] \
2714 - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
2715 - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
2716 - done
2717 - echo "=========================================================="
2718 - echo
2719 -
2720 - ./mach configure || die
2721 -}
2722 -
2723 -src_compile() {
2724 - local virtx_cmd=
2725 -
2726 - if use pgo ; then
2727 - virtx_cmd=virtx
2728 -
2729 - # Reset and cleanup environment variables used by GNOME/XDG
2730 - gnome2_environment_reset
2731 -
2732 - addpredict /root
2733 - fi
2734 -
2735 - if ! use X && use wayland; then
2736 - local -x GDK_BACKEND=wayland
2737 - else
2738 - local -x GDK_BACKEND=x11
2739 - fi
2740 -
2741 - ${virtx_cmd} ./mach build --verbose \
2742 - || die
2743 -}
2744 -
2745 -src_install() {
2746 - # xpcshell is getting called during install
2747 - pax-mark m \
2748 - "${BUILD_DIR}"/dist/bin/xpcshell \
2749 - "${BUILD_DIR}"/dist/bin/${PN} \
2750 - "${BUILD_DIR}"/dist/bin/plugin-container
2751 -
2752 - DESTDIR="${D}" ./mach install || die
2753 -
2754 - # Upstream cannot ship symlink but we can (bmo#658850)
2755 - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
2756 - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
2757 -
2758 - # Don't install llvm-symbolizer from sys-devel/llvm package
2759 - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
2760 - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
2761 - fi
2762 -
2763 - # Install policy (currently only used to disable application updates)
2764 - insinto "${MOZILLA_FIVE_HOME}/distribution"
2765 - newins "${FILESDIR}"/distribution.ini distribution.ini
2766 - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
2767 -
2768 - # Install system-wide preferences
2769 - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
2770 - insinto "${PREFS_DIR}"
2771 - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
2772 -
2773 - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
2774 -
2775 - # Set dictionary path to use system hunspell
2776 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
2777 - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
2778 - EOF
2779 -
2780 - # Force hwaccel prefs if USE=hwaccel is enabled
2781 - if use hwaccel ; then
2782 - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
2783 - >>"${GENTOO_PREFS}" \
2784 - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
2785 -
2786 - if use wayland; then
2787 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
2788 - pref("gfx.x11-egl.force-enabled", false);
2789 - EOF
2790 - else
2791 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
2792 - pref("gfx.x11-egl.force-enabled", true);
2793 - EOF
2794 - fi
2795 - fi
2796 -
2797 - if ! use gmp-autoupdate ; then
2798 - local plugin
2799 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
2800 - einfo "Disabling auto-update for ${plugin} plugin ..."
2801 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
2802 - pref("media.${plugin}.autoupdate", false);
2803 - EOF
2804 - done
2805 - fi
2806 -
2807 - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
2808 - if use system-harfbuzz ; then
2809 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
2810 - sticky_pref("gfx.font_rendering.graphite.enabled", true);
2811 - EOF
2812 - fi
2813 -
2814 - # Install language packs
2815 - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
2816 - if [[ -n "${langpacks}" ]] ; then
2817 - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
2818 - fi
2819 -
2820 - # Install geckodriver
2821 - if use geckodriver ; then
2822 - einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
2823 - pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
2824 - exeinto "${MOZILLA_FIVE_HOME}"
2825 - doexe "${BUILD_DIR}"/dist/bin/geckodriver
2826 -
2827 - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
2828 - fi
2829 -
2830 - # Install icons
2831 - local icon_srcdir="${S}/browser/branding/official"
2832 - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
2833 -
2834 - insinto /usr/share/icons/hicolor/symbolic/apps
2835 - newins "${icon_symbolic_file}" ${PN}-symbolic.svg
2836 -
2837 - local icon size
2838 - for icon in "${icon_srcdir}"/default*.png ; do
2839 - size=${icon%.png}
2840 - size=${size##*/default}
2841 -
2842 - if [[ ${size} -eq 48 ]] ; then
2843 - newicon "${icon}" ${PN}.png
2844 - fi
2845 -
2846 - newicon -s ${size} "${icon}" ${PN}.png
2847 - done
2848 -
2849 - # Install menu
2850 - local app_name="Mozilla ${MOZ_PN^}"
2851 - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
2852 - local desktop_filename="${PN}.desktop"
2853 - local exec_command="${PN}"
2854 - local icon="${PN}"
2855 - local use_wayland="false"
2856 -
2857 - if use wayland ; then
2858 - use_wayland="true"
2859 - fi
2860 -
2861 - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
2862 -
2863 - sed -i \
2864 - -e "s:@NAME@:${app_name}:" \
2865 - -e "s:@EXEC@:${exec_command}:" \
2866 - -e "s:@ICON@:${icon}:" \
2867 - "${WORKDIR}/${PN}.desktop-template" \
2868 - || die
2869 -
2870 - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
2871 -
2872 - rm "${WORKDIR}/${PN}.desktop-template" || die
2873 -
2874 - # Install wrapper script
2875 - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
2876 - newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
2877 -
2878 - # Update wrapper
2879 - sed -i \
2880 - -e "s:@PREFIX@:${EPREFIX}/usr:" \
2881 - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
2882 - -e "s:@APULSELIB_DIR@:${apulselib}:" \
2883 - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
2884 - "${ED}/usr/bin/${PN}" \
2885 - || die
2886 -}
2887 -
2888 -pkg_preinst() {
2889 - xdg_pkg_preinst
2890 -
2891 - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
2892 - # does not need to be forced into the LD_LIBRARY_PATH
2893 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
2894 - einfo "APULSE found; Generating library symlinks for sound support ..."
2895 - local lib
2896 - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
2897 - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
2898 - # A quickpkg rolled by hand will grab symlinks as part of the package,
2899 - # so we need to avoid creating them if they already exist.
2900 - if [[ ! -L ${lib##*/} ]] ; then
2901 - ln -s "${lib}" ${lib##*/} || die
2902 - fi
2903 - done
2904 - popd &>/dev/null || die
2905 - fi
2906 -}
2907 -
2908 -pkg_postinst() {
2909 - xdg_pkg_postinst
2910 -
2911 - if ! use gmp-autoupdate ; then
2912 - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
2913 - elog "installing into new profiles:"
2914 - local plugin
2915 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
2916 - elog "\t ${plugin}"
2917 - done
2918 - elog
2919 - fi
2920 -
2921 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
2922 - elog "Apulse was detected at merge time on this system and so it will always be"
2923 - elog "used for sound. If you wish to use pulseaudio instead please unmerge"
2924 - elog "media-sound/apulse."
2925 - elog
2926 - fi
2927 -
2928 - local show_doh_information
2929 - local show_normandy_information
2930 - local show_shortcut_information
2931 -
2932 - if [[ -z "${REPLACING_VERSIONS}" ]] ; then
2933 - # New install; Tell user that DoH is disabled by default
2934 - show_doh_information=yes
2935 - show_normandy_information=yes
2936 - show_shortcut_information=no
2937 - else
2938 - local replacing_version
2939 - for replacing_version in ${REPLACING_VERSIONS} ; do
2940 - if ver_test "${replacing_version}" -lt 91.0 ; then
2941 - # Tell user that we no longer install a shortcut
2942 - # per supported display protocol
2943 - show_shortcut_information=yes
2944 - fi
2945 - done
2946 - fi
2947 -
2948 - if [[ -n "${show_doh_information}" ]] ; then
2949 - elog
2950 - elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
2951 - elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
2952 - elog "DNS traffic to Cloudflare by default is not a good idea and applications"
2953 - elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
2954 - elog "(\"Off by choice\") by default."
2955 - elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
2956 - fi
2957 -
2958 - # bug 713782
2959 - if [[ -n "${show_normandy_information}" ]] ; then
2960 - elog
2961 - elog "Upstream operates a service named Normandy which allows Mozilla to"
2962 - elog "push changes for default settings or even install new add-ons remotely."
2963 - elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
2964 - elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
2965 - elog "concerns prevail, which is why we have switched off the use of this"
2966 - elog "service by default."
2967 - elog
2968 - elog "To re-enable this service set"
2969 - elog
2970 - elog " app.normandy.enabled=true"
2971 - elog
2972 - elog "in about:config."
2973 - fi
2974 -
2975 - if [[ -n "${show_shortcut_information}" ]] ; then
2976 - elog
2977 - elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
2978 - elog "each supported display protocol. Instead we will only install"
2979 - elog "one generic Mozilla ${PN^} shortcut."
2980 - elog "If you still want to be able to select between running Mozilla ${PN^}"
2981 - elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
2982 - fi
2983 -
2984 - # bug 835078
2985 - if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
2986 - ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
2987 - ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
2988 - ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
2989 - ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
2990 - fi
2991 -
2992 - elog
2993 - elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
2994 - elog "useragent checks. To temporarily fix this, enter about:config and modify "
2995 - elog "network.http.useragent.forceVersion preference to \"99\"."
2996 - elog "Or install an addon to change your useragent."
2997 - elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
2998 - elog
2999 -}
3000
3001 diff --git a/www-client/firefox/firefox-105.0.ebuild b/www-client/firefox/firefox-105.0.ebuild
3002 deleted file mode 100644
3003 index 30bb5fdcd1dd..000000000000
3004 --- a/www-client/firefox/firefox-105.0.ebuild
3005 +++ /dev/null
3006 @@ -1,1287 +0,0 @@
3007 -# Copyright 1999-2022 Gentoo Authors
3008 -# Distributed under the terms of the GNU General Public License v2
3009 -
3010 -EAPI=8
3011 -
3012 -FIREFOX_PATCHSET="firefox-105-patches-01j.tar.xz"
3013 -
3014 -LLVM_MAX_SLOT=14
3015 -
3016 -PYTHON_COMPAT=( python3_{8..11} )
3017 -PYTHON_REQ_USE="ncurses,sqlite,ssl"
3018 -
3019 -WANT_AUTOCONF="2.1"
3020 -
3021 -VIRTUALX_REQUIRED="pgo"
3022 -
3023 -MOZ_ESR=
3024 -
3025 -MOZ_PV=${PV}
3026 -MOZ_PV_SUFFIX=
3027 -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
3028 - MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
3029 -
3030 - # Convert the ebuild version to the upstream Mozilla version
3031 - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
3032 - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
3033 - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
3034 -fi
3035 -
3036 -if [[ -n ${MOZ_ESR} ]] ; then
3037 - # ESR releases have slightly different version numbers
3038 - MOZ_PV="${MOZ_PV}esr"
3039 -fi
3040 -
3041 -MOZ_PN="${PN%-bin}"
3042 -MOZ_P="${MOZ_PN}-${MOZ_PV}"
3043 -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
3044 -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
3045 -
3046 -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
3047 - llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
3048 - virtualx xdg
3049 -
3050 -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
3051 -
3052 -if [[ ${PV} == *_rc* ]] ; then
3053 - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
3054 -fi
3055 -
3056 -PATCH_URIS=(
3057 - https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
3058 -)
3059 -
3060 -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
3061 - ${PATCH_URIS[@]}"
3062 -
3063 -DESCRIPTION="Firefox Web Browser"
3064 -HOMEPAGE="https://www.mozilla.com/firefox"
3065 -
3066 -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
3067 -
3068 -SLOT="rapid"
3069 -LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
3070 -
3071 -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
3072 -IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
3073 -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
3074 -IUSE+=" wayland wifi"
3075 -
3076 -# Firefox-only IUSE
3077 -IUSE+=" geckodriver +gmp-autoupdate screencast +X"
3078 -
3079 -REQUIRED_USE="debug? ( !system-av1 )
3080 - pgo? ( lto )
3081 - wifi? ( dbus )"
3082 -
3083 -# Firefox-only REQUIRED_USE flags
3084 -REQUIRED_USE+=" || ( X wayland )"
3085 -REQUIRED_USE+=" pgo? ( X )"
3086 -REQUIRED_USE+=" screencast? ( wayland )"
3087 -
3088 -FF_ONLY_DEPEND="!www-client/firefox:0
3089 - !www-client/firefox:esr
3090 - screencast? ( media-video/pipewire:= )
3091 - selinux? ( sec-policy/selinux-mozilla )"
3092 -BDEPEND="${PYTHON_DEPS}
3093 - app-arch/unzip
3094 - app-arch/zip
3095 - >=dev-util/cbindgen-0.24.3
3096 - net-libs/nodejs
3097 - virtual/pkgconfig
3098 - >=virtual/rust-1.61.0
3099 - || (
3100 - (
3101 - sys-devel/clang:14
3102 - sys-devel/llvm:14
3103 - clang? (
3104 - =sys-devel/lld-14*
3105 - pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
3106 - )
3107 - )
3108 - (
3109 - sys-devel/clang:13
3110 - sys-devel/llvm:13
3111 - clang? (
3112 - =sys-devel/lld-13*
3113 - pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
3114 - )
3115 - )
3116 - )
3117 - amd64? ( >=dev-lang/nasm-2.14 )
3118 - x86? ( >=dev-lang/nasm-2.14 )"
3119 -COMMON_DEPEND="${FF_ONLY_DEPEND}
3120 - dev-libs/atk
3121 - dev-libs/expat
3122 - dev-libs/glib:2
3123 - dev-libs/libffi:=
3124 - >=dev-libs/nss-3.82
3125 - >=dev-libs/nspr-4.34.1
3126 - media-libs/alsa-lib
3127 - media-libs/fontconfig
3128 - media-libs/freetype
3129 - media-libs/mesa
3130 - media-video/ffmpeg
3131 - sys-libs/zlib
3132 - virtual/freedesktop-icon-theme
3133 - x11-libs/cairo
3134 - x11-libs/gdk-pixbuf
3135 - x11-libs/pango
3136 - x11-libs/pixman
3137 - dbus? (
3138 - dev-libs/dbus-glib
3139 - sys-apps/dbus
3140 - )
3141 - jack? ( virtual/jack )
3142 - libproxy? ( net-libs/libproxy )
3143 - selinux? ( sec-policy/selinux-mozilla )
3144 - sndio? ( >=media-sound/sndio-1.8.0-r1 )
3145 - screencast? ( media-video/pipewire:= )
3146 - system-av1? (
3147 - >=media-libs/dav1d-1.0.0:=
3148 - >=media-libs/libaom-1.0.0:=
3149 - )
3150 - system-harfbuzz? (
3151 - >=media-gfx/graphite2-1.3.13
3152 - >=media-libs/harfbuzz-2.8.1:0=
3153 - )
3154 - system-icu? ( >=dev-libs/icu-71.1:= )
3155 - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
3156 - system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
3157 - system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
3158 - system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
3159 - system-webp? ( >=media-libs/libwebp-1.1.0:0= )
3160 - wayland? (
3161 - >=media-libs/libepoxy-1.5.10-r1
3162 - x11-libs/gtk+:3[wayland]
3163 - x11-libs/libdrm
3164 - x11-libs/libxkbcommon[wayland]
3165 - )
3166 - wifi? (
3167 - kernel_linux? (
3168 - dev-libs/dbus-glib
3169 - net-misc/networkmanager
3170 - sys-apps/dbus
3171 - )
3172 - )
3173 - X? (
3174 - virtual/opengl
3175 - x11-libs/cairo[X]
3176 - x11-libs/gtk+:3[X]
3177 - x11-libs/libX11
3178 - x11-libs/libXcomposite
3179 - x11-libs/libXdamage
3180 - x11-libs/libXext
3181 - x11-libs/libXfixes
3182 - x11-libs/libxkbcommon[X]
3183 - x11-libs/libXrandr
3184 - x11-libs/libXtst
3185 - x11-libs/libxcb:=
3186 - )"
3187 -RDEPEND="${COMMON_DEPEND}
3188 - jack? ( virtual/jack )
3189 - openh264? ( media-libs/openh264:*[plugin] )
3190 - pulseaudio? (
3191 - || (
3192 - media-sound/pulseaudio
3193 - >=media-sound/apulse-0.1.12-r4
3194 - )
3195 - )"
3196 -DEPEND="${COMMON_DEPEND}
3197 - pulseaudio? (
3198 - || (
3199 - media-sound/pulseaudio
3200 - >=media-sound/apulse-0.1.12-r4[sdk]
3201 - )
3202 - )
3203 - X? (
3204 - x11-libs/libICE
3205 - x11-libs/libSM
3206 - )"
3207 -
3208 -S="${WORKDIR}/${PN}-${PV%_*}"
3209 -
3210 -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
3211 -# overridden in the enviromnent (advanced hackers only)
3212 -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
3213 - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
3214 -fi
3215 -
3216 -llvm_check_deps() {
3217 - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
3218 - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
3219 - return 1
3220 - fi
3221 -
3222 - if use clang ; then
3223 - if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
3224 - einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
3225 - return 1
3226 - fi
3227 -
3228 - if use pgo ; then
3229 - if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
3230 - einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
3231 - return 1
3232 - fi
3233 - fi
3234 - fi
3235 -
3236 - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
3237 -}
3238 -
3239 -MOZ_LANGS=(
3240 - af ar ast be bg br ca cak cs cy da de dsb
3241 - el en-CA en-GB en-US es-AR es-ES et eu
3242 - fi fr fy-NL ga-IE gd gl he hr hsb hu
3243 - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
3244 - pa-IN pl pt-BR pt-PT rm ro ru
3245 - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
3246 -)
3247 -
3248 -# Firefox-only LANGS
3249 -MOZ_LANGS+=( ach )
3250 -MOZ_LANGS+=( an )
3251 -MOZ_LANGS+=( az )
3252 -MOZ_LANGS+=( bn )
3253 -MOZ_LANGS+=( bs )
3254 -MOZ_LANGS+=( ca-valencia )
3255 -MOZ_LANGS+=( eo )
3256 -MOZ_LANGS+=( es-CL )
3257 -MOZ_LANGS+=( es-MX )
3258 -MOZ_LANGS+=( fa )
3259 -MOZ_LANGS+=( ff )
3260 -MOZ_LANGS+=( gn )
3261 -MOZ_LANGS+=( gu-IN )
3262 -MOZ_LANGS+=( hi-IN )
3263 -MOZ_LANGS+=( hy-AM )
3264 -MOZ_LANGS+=( ia )
3265 -MOZ_LANGS+=( km )
3266 -MOZ_LANGS+=( kn )
3267 -MOZ_LANGS+=( lij )
3268 -MOZ_LANGS+=( mk )
3269 -MOZ_LANGS+=( mr )
3270 -MOZ_LANGS+=( my )
3271 -MOZ_LANGS+=( ne-NP )
3272 -MOZ_LANGS+=( oc )
3273 -MOZ_LANGS+=( sco )
3274 -MOZ_LANGS+=( si )
3275 -MOZ_LANGS+=( son )
3276 -MOZ_LANGS+=( szl )
3277 -MOZ_LANGS+=( ta )
3278 -MOZ_LANGS+=( te )
3279 -MOZ_LANGS+=( tl )
3280 -MOZ_LANGS+=( trs )
3281 -MOZ_LANGS+=( ur )
3282 -MOZ_LANGS+=( xh )
3283 -
3284 -mozilla_set_globals() {
3285 - # https://bugs.gentoo.org/587334
3286 - local MOZ_TOO_REGIONALIZED_FOR_L10N=(
3287 - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
3288 - )
3289 -
3290 - local lang xflag
3291 - for lang in "${MOZ_LANGS[@]}" ; do
3292 - # en and en_US are handled internally
3293 - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
3294 - continue
3295 - fi
3296 -
3297 - # strip region subtag if $lang is in the list
3298 - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
3299 - xflag=${lang%%-*}
3300 - else
3301 - xflag=${lang}
3302 - fi
3303 -
3304 - SRC_URI+=" l10n_${xflag/[_@]/-}? ("
3305 - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
3306 - SRC_URI+=" )"
3307 - IUSE+=" l10n_${xflag/[_@]/-}"
3308 - done
3309 -}
3310 -mozilla_set_globals
3311 -
3312 -moz_clear_vendor_checksums() {
3313 - debug-print-function ${FUNCNAME} "$@"
3314 -
3315 - if [[ ${#} -ne 1 ]] ; then
3316 - die "${FUNCNAME} requires exact one argument"
3317 - fi
3318 -
3319 - einfo "Clearing cargo checksums for ${1} ..."
3320 -
3321 - sed -i \
3322 - -e 's/\("files":{\)[^}]*/\1/' \
3323 - "${S}"/third_party/rust/${1}/.cargo-checksum.json \
3324 - || die
3325 -}
3326 -
3327 -moz_install_xpi() {
3328 - debug-print-function ${FUNCNAME} "$@"
3329 -
3330 - if [[ ${#} -lt 2 ]] ; then
3331 - die "${FUNCNAME} requires at least two arguments"
3332 - fi
3333 -
3334 - local DESTDIR=${1}
3335 - shift
3336 -
3337 - insinto "${DESTDIR}"
3338 -
3339 - local emid xpi_file xpi_tmp_dir
3340 - for xpi_file in "${@}" ; do
3341 - emid=
3342 - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
3343 -
3344 - # Unpack XPI
3345 - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
3346 -
3347 - # Determine extension ID
3348 - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
3349 - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
3350 - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
3351 - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
3352 - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
3353 - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
3354 - else
3355 - die "failed to determine extension id"
3356 - fi
3357 -
3358 - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
3359 - newins "${xpi_file}" "${emid}.xpi"
3360 - done
3361 -}
3362 -
3363 -mozconfig_add_options_ac() {
3364 - debug-print-function ${FUNCNAME} "$@"
3365 -
3366 - if [[ ${#} -lt 2 ]] ; then
3367 - die "${FUNCNAME} requires at least two arguments"
3368 - fi
3369 -
3370 - local reason=${1}
3371 - shift
3372 -
3373 - local option
3374 - for option in ${@} ; do
3375 - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
3376 - done
3377 -}
3378 -
3379 -mozconfig_add_options_mk() {
3380 - debug-print-function ${FUNCNAME} "$@"
3381 -
3382 - if [[ ${#} -lt 2 ]] ; then
3383 - die "${FUNCNAME} requires at least two arguments"
3384 - fi
3385 -
3386 - local reason=${1}
3387 - shift
3388 -
3389 - local option
3390 - for option in ${@} ; do
3391 - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
3392 - done
3393 -}
3394 -
3395 -mozconfig_use_enable() {
3396 - debug-print-function ${FUNCNAME} "$@"
3397 -
3398 - if [[ ${#} -lt 1 ]] ; then
3399 - die "${FUNCNAME} requires at least one arguments"
3400 - fi
3401 -
3402 - local flag=$(use_enable "${@}")
3403 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
3404 -}
3405 -
3406 -mozconfig_use_with() {
3407 - debug-print-function ${FUNCNAME} "$@"
3408 -
3409 - if [[ ${#} -lt 1 ]] ; then
3410 - die "${FUNCNAME} requires at least one arguments"
3411 - fi
3412 -
3413 - local flag=$(use_with "${@}")
3414 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
3415 -}
3416 -
3417 -pkg_pretend() {
3418 - if [[ ${MERGE_TYPE} != binary ]] ; then
3419 - if use pgo ; then
3420 - if ! has usersandbox $FEATURES ; then
3421 - die "You must enable usersandbox as X server can not run as root!"
3422 - fi
3423 - fi
3424 -
3425 - # Ensure we have enough disk space to compile
3426 - if use pgo || use lto || use debug ; then
3427 - CHECKREQS_DISK_BUILD="13500M"
3428 - else
3429 - CHECKREQS_DISK_BUILD="6600M"
3430 - fi
3431 -
3432 - check-reqs_pkg_pretend
3433 - fi
3434 -}
3435 -
3436 -pkg_setup() {
3437 - if [[ ${MERGE_TYPE} != binary ]] ; then
3438 - if use pgo ; then
3439 - if ! has userpriv ${FEATURES} ; then
3440 - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
3441 - fi
3442 - fi
3443 -
3444 - # Ensure we have enough disk space to compile
3445 - if use pgo || use lto || use debug ; then
3446 - CHECKREQS_DISK_BUILD="13500M"
3447 - else
3448 - CHECKREQS_DISK_BUILD="6400M"
3449 - fi
3450 -
3451 - check-reqs_pkg_setup
3452 -
3453 - llvm_pkg_setup
3454 -
3455 - if use clang && use lto ; then
3456 - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
3457 - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
3458 - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
3459 -
3460 - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
3461 - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
3462 - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
3463 -
3464 - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
3465 - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
3466 - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
3467 - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
3468 - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
3469 - eerror " - Build ${CATEGORY}/${PN} without USE=lto"
3470 - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
3471 - eerror " llvm/clang/lld/rust chain depending on your @world updates)"
3472 - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
3473 - fi
3474 - fi
3475 -
3476 - python-any-r1_pkg_setup
3477 -
3478 - # Avoid PGO profiling problems due to enviroment leakage
3479 - # These should *always* be cleaned up anyway
3480 - unset \
3481 - DBUS_SESSION_BUS_ADDRESS \
3482 - DISPLAY \
3483 - ORBIT_SOCKETDIR \
3484 - SESSION_MANAGER \
3485 - XAUTHORITY \
3486 - XDG_CACHE_HOME \
3487 - XDG_SESSION_COOKIE
3488 -
3489 - # Build system is using /proc/self/oom_score_adj, bug #604394
3490 - addpredict /proc/self/oom_score_adj
3491 -
3492 - if use pgo ; then
3493 - # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
3494 - # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
3495 - # (PORTAGE_SCHEDULING_POLICY) update...
3496 - addpredict /proc
3497 -
3498 - # May need a wider addpredict when using wayland+pgo.
3499 - # addpredict /dev/dri
3500 -
3501 - # Allow access to GPU during PGO run
3502 - local ati_cards mesa_cards nvidia_cards render_cards
3503 - shopt -s nullglob
3504 -
3505 - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
3506 - if [[ -n "${ati_cards}" ]] ; then
3507 - addpredict "${ati_cards}"
3508 - fi
3509 -
3510 - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
3511 - if [[ -n "${mesa_cards}" ]] ; then
3512 - addpredict "${mesa_cards}"
3513 - fi
3514 -
3515 - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
3516 - if [[ -n "${nvidia_cards}" ]] ; then
3517 - addpredict "${nvidia_cards}"
3518 - fi
3519 -
3520 - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
3521 - if [[ -n "${render_cards}" ]] ; then
3522 - addpredict "${render_cards}"
3523 - fi
3524 -
3525 - shopt -u nullglob
3526 - fi
3527 -
3528 - if ! mountpoint -q /dev/shm ; then
3529 - # If /dev/shm is not available, configure is known to fail with
3530 - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
3531 - ewarn "/dev/shm is not mounted -- expect build failures!"
3532 - fi
3533 -
3534 - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
3535 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
3536 - # get your own set of keys.
3537 - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
3538 - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
3539 - fi
3540 -
3541 - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
3542 - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
3543 - fi
3544 -
3545 - # Mozilla API keys (see https://location.services.mozilla.com/api)
3546 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
3547 - # get your own set of keys.
3548 - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
3549 - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
3550 - fi
3551 -
3552 - # Ensure we use C locale when building, bug #746215
3553 - export LC_ALL=C
3554 - fi
3555 -
3556 - CONFIG_CHECK="~SECCOMP"
3557 - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
3558 - linux-info_pkg_setup
3559 -}
3560 -
3561 -src_unpack() {
3562 - local _lp_dir="${WORKDIR}/language_packs"
3563 - local _src_file
3564 -
3565 - if [[ ! -d "${_lp_dir}" ]] ; then
3566 - mkdir "${_lp_dir}" || die
3567 - fi
3568 -
3569 - for _src_file in ${A} ; do
3570 - if [[ ${_src_file} == *.xpi ]]; then
3571 - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
3572 - else
3573 - unpack ${_src_file}
3574 - fi
3575 - done
3576 -}
3577 -
3578 -src_prepare() {
3579 - use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
3580 - ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
3581 - eapply "${WORKDIR}/firefox-patches"
3582 -
3583 - # Allow user to apply any additional patches without modifing ebuild
3584 - eapply_user
3585 -
3586 - # Make cargo respect MAKEOPTS
3587 - export CARGO_BUILD_JOBS="$(makeopts_jobs)"
3588 -
3589 - # Make LTO respect MAKEOPTS
3590 - sed -i \
3591 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
3592 - "${S}"/build/moz.configure/lto-pgo.configure \
3593 - || die "sed failed to set num_cores"
3594 -
3595 - # Make ICU respect MAKEOPTS
3596 - sed -i \
3597 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
3598 - "${S}"/intl/icu_sources_data.py \
3599 - || die "sed failed to set num_cores"
3600 -
3601 - # sed-in toolchain prefix
3602 - sed -i \
3603 - -e "s/objdump/${CHOST}-objdump/" \
3604 - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
3605 - || die "sed failed to set toolchain prefix"
3606 -
3607 - sed -i \
3608 - -e 's/ccache_stats = None/return None/' \
3609 - "${S}"/python/mozbuild/mozbuild/controller/building.py \
3610 - || die "sed failed to disable ccache stats call"
3611 -
3612 - einfo "Removing pre-built binaries ..."
3613 - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
3614 -
3615 - # Clearing checksums where we have applied patches
3616 - moz_clear_vendor_checksums audioipc
3617 - moz_clear_vendor_checksums audioipc-client
3618 - moz_clear_vendor_checksums audioipc-server
3619 -
3620 - # Create build dir
3621 - BUILD_DIR="${WORKDIR}/${PN}_build"
3622 - mkdir -p "${BUILD_DIR}" || die
3623 -
3624 - # Write API keys to disk
3625 - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
3626 - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
3627 - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
3628 -
3629 - xdg_environment_reset
3630 -}
3631 -
3632 -src_configure() {
3633 - # Show flags set at the beginning
3634 - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
3635 - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
3636 - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
3637 - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
3638 - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
3639 -
3640 - local have_switched_compiler=
3641 - if use clang && ! tc-is-clang ; then
3642 - # Force clang
3643 - einfo "Enforcing the use of clang due to USE=clang ..."
3644 - have_switched_compiler=yes
3645 - AR=llvm-ar
3646 - AS=llvm-as
3647 - CC=${CHOST}-clang
3648 - CXX=${CHOST}-clang++
3649 - NM=llvm-nm
3650 - RANLIB=llvm-ranlib
3651 - elif ! use clang && ! tc-is-gcc ; then
3652 - # Force gcc
3653 - have_switched_compiler=yes
3654 - einfo "Enforcing the use of gcc due to USE=-clang ..."
3655 - AR=gcc-ar
3656 - CC=${CHOST}-gcc
3657 - CXX=${CHOST}-g++
3658 - NM=gcc-nm
3659 - RANLIB=gcc-ranlib
3660 - fi
3661 -
3662 - if [[ -n "${have_switched_compiler}" ]] ; then
3663 - # Because we switched active compiler we have to ensure
3664 - # that no unsupported flags are set
3665 - strip-unsupported-flags
3666 - fi
3667 -
3668 - # Ensure we use correct toolchain
3669 - export HOST_CC="$(tc-getBUILD_CC)"
3670 - export HOST_CXX="$(tc-getBUILD_CXX)"
3671 - tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
3672 -
3673 - # Pass the correct toolchain paths through cbindgen
3674 - if tc-is-cross-compiler ; then
3675 - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
3676 - fi
3677 -
3678 - # Set MOZILLA_FIVE_HOME
3679 - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
3680 -
3681 - # python/mach/mach/mixin/process.py fails to detect SHELL
3682 - export SHELL="${EPREFIX}/bin/bash"
3683 -
3684 - # Set state path
3685 - export MOZBUILD_STATE_PATH="${BUILD_DIR}"
3686 -
3687 - # Set MOZCONFIG
3688 - export MOZCONFIG="${S}/.mozconfig"
3689 -
3690 - # Initialize MOZCONFIG
3691 - mozconfig_add_options_ac '' --enable-application=browser
3692 -
3693 - # Set Gentoo defaults
3694 - export MOZILLA_OFFICIAL=1
3695 -
3696 - mozconfig_add_options_ac 'Gentoo default' \
3697 - --allow-addon-sideload \
3698 - --disable-cargo-incremental \
3699 - --disable-crashreporter \
3700 - --disable-gpsd \
3701 - --disable-install-strip \
3702 - --disable-parental-controls \
3703 - --disable-strip \
3704 - --disable-updater \
3705 - --enable-negotiateauth \
3706 - --enable-new-pass-manager \
3707 - --enable-official-branding \
3708 - --enable-release \
3709 - --enable-system-ffi \
3710 - --enable-system-pixman \
3711 - --enable-system-policies \
3712 - --host="${CBUILD:-${CHOST}}" \
3713 - --libdir="${EPREFIX}/usr/$(get_libdir)" \
3714 - --prefix="${EPREFIX}/usr" \
3715 - --target="${CHOST}" \
3716 - --without-ccache \
3717 - --without-wasm-sandboxed-libraries \
3718 - --with-intl-api \
3719 - --with-libclang-path="$(llvm-config --libdir)" \
3720 - --with-system-nspr \
3721 - --with-system-nss \
3722 - --with-system-zlib \
3723 - --with-toolchain-prefix="${CHOST}-" \
3724 - --with-unsigned-addon-scopes=app,system \
3725 - --x-includes="${ESYSROOT}/usr/include" \
3726 - --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
3727 -
3728 - # Set update channel
3729 - local update_channel=release
3730 - [[ -n ${MOZ_ESR} ]] && update_channel=esr
3731 - mozconfig_add_options_ac '' --update-channel=${update_channel}
3732 -
3733 - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
3734 - mozconfig_add_options_ac '' --enable-rust-simd
3735 - fi
3736 -
3737 - # For future keywording: This is currently (97.0) only supported on:
3738 - # amd64, arm, arm64 & x86.
3739 - # Might want to flip the logic around if Firefox is to support more arches.
3740 - if use ppc64; then
3741 - mozconfig_add_options_ac '' --disable-sandbox
3742 - else
3743 - mozconfig_add_options_ac '' --enable-sandbox
3744 - fi
3745 -
3746 - if [[ -s "${S}/api-google.key" ]] ; then
3747 - local key_origin="Gentoo default"
3748 - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
3749 - key_origin="User value"
3750 - fi
3751 -
3752 - mozconfig_add_options_ac "${key_origin}" \
3753 - --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
3754 - else
3755 - einfo "Building without Google API key ..."
3756 - fi
3757 -
3758 - if [[ -s "${S}/api-location.key" ]] ; then
3759 - local key_origin="Gentoo default"
3760 - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
3761 - key_origin="User value"
3762 - fi
3763 -
3764 - mozconfig_add_options_ac "${key_origin}" \
3765 - --with-google-location-service-api-keyfile="${S}/api-location.key"
3766 - else
3767 - einfo "Building without Location API key ..."
3768 - fi
3769 -
3770 - if [[ -s "${S}/api-mozilla.key" ]] ; then
3771 - local key_origin="Gentoo default"
3772 - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
3773 - key_origin="User value"
3774 - fi
3775 -
3776 - mozconfig_add_options_ac "${key_origin}" \
3777 - --with-mozilla-api-keyfile="${S}/api-mozilla.key"
3778 - else
3779 - einfo "Building without Mozilla API key ..."
3780 - fi
3781 -
3782 - mozconfig_use_with system-av1
3783 - mozconfig_use_with system-harfbuzz
3784 - mozconfig_use_with system-harfbuzz system-graphite2
3785 - mozconfig_use_with system-icu
3786 - mozconfig_use_with system-jpeg
3787 - mozconfig_use_with system-libevent
3788 - mozconfig_use_with system-libvpx
3789 - mozconfig_use_with system-png
3790 - mozconfig_use_with system-webp
3791 -
3792 - mozconfig_use_enable dbus
3793 - mozconfig_use_enable libproxy
3794 -
3795 - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
3796 -
3797 - mozconfig_use_enable geckodriver
3798 -
3799 - if use hardened ; then
3800 - mozconfig_add_options_ac "+hardened" --enable-hardening
3801 - append-ldflags "-Wl,-z,relro -Wl,-z,now"
3802 - fi
3803 -
3804 - local myaudiobackends=""
3805 - use jack && myaudiobackends+="jack,"
3806 - use sndio && myaudiobackends+="sndio,"
3807 - use pulseaudio && myaudiobackends+="pulseaudio,"
3808 - ! use pulseaudio && myaudiobackends+="alsa,"
3809 -
3810 - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
3811 -
3812 - mozconfig_use_enable wifi necko-wifi
3813 -
3814 - if use X && use wayland ; then
3815 - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
3816 - elif ! use X && use wayland ; then
3817 - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
3818 - else
3819 - mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
3820 - fi
3821 -
3822 - if use lto ; then
3823 - if use clang ; then
3824 - # Upstream only supports lld when using clang
3825 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
3826 -
3827 - mozconfig_add_options_ac '+lto' --enable-lto=cross
3828 -
3829 - else
3830 - # ThinLTO is currently broken, see bmo#1644409
3831 - mozconfig_add_options_ac '+lto' --enable-lto=full
3832 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
3833 - fi
3834 -
3835 - if use pgo ; then
3836 - mozconfig_add_options_ac '+pgo' MOZ_PGO=1
3837 -
3838 - if use clang ; then
3839 - # Used in build/pgo/profileserver.py
3840 - export LLVM_PROFDATA="llvm-profdata"
3841 - fi
3842 - fi
3843 - else
3844 - # Avoid auto-magic on linker
3845 - if use clang ; then
3846 - # This is upstream's default
3847 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
3848 - else
3849 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
3850 - fi
3851 - fi
3852 -
3853 - # LTO flag was handled via configure
3854 - filter-flags '-flto*'
3855 -
3856 - mozconfig_use_enable debug
3857 - if use debug ; then
3858 - mozconfig_add_options_ac '+debug' --disable-optimize
3859 - else
3860 - if is-flag '-g*' ; then
3861 - if use clang ; then
3862 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
3863 - else
3864 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
3865 - fi
3866 - else
3867 - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
3868 - fi
3869 -
3870 - if is-flag '-O0' ; then
3871 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
3872 - elif is-flag '-O4' ; then
3873 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
3874 - elif is-flag '-O3' ; then
3875 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
3876 - elif is-flag '-O1' ; then
3877 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
3878 - elif is-flag '-Os' ; then
3879 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
3880 - else
3881 - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
3882 - fi
3883 - fi
3884 -
3885 - # Debug flag was handled via configure
3886 - filter-flags '-g*'
3887 -
3888 - # Optimization flag was handled via configure
3889 - filter-flags '-O*'
3890 -
3891 - # Modifications to better support ARM, bug #553364
3892 - if use cpu_flags_arm_neon ; then
3893 - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
3894 -
3895 - if ! tc-is-clang ; then
3896 - # thumb options aren't supported when using clang, bug 666966
3897 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \
3898 - --with-thumb=yes \
3899 - --with-thumb-interwork=no
3900 - fi
3901 - fi
3902 -
3903 - if [[ ${CHOST} == armv*h* ]] ; then
3904 - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
3905 -
3906 - if ! use system-libvpx ; then
3907 - sed -i \
3908 - -e "s|softfp|hard|" \
3909 - "${S}"/media/libvpx/moz.build \
3910 - || die
3911 - fi
3912 - fi
3913 -
3914 - if use clang ; then
3915 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
3916 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
3917 - # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
3918 - local disable_elf_hack=
3919 - if use amd64 ; then
3920 - disable_elf_hack=yes
3921 - elif use x86 ; then
3922 - disable_elf_hack=yes
3923 - elif use arm ; then
3924 - disable_elf_hack=yes
3925 - fi
3926 -
3927 - if [[ -n ${disable_elf_hack} ]] ; then
3928 - mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
3929 - fi
3930 - elif tc-is-gcc ; then
3931 - if ver_test $(gcc-fullversion) -ge 10 ; then
3932 - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
3933 - append-cxxflags -fno-tree-loop-vectorize
3934 - fi
3935 - fi
3936 -
3937 - # Additional ARCH support
3938 - case "${ARCH}" in
3939 - arm)
3940 - # Reduce the memory requirements for linking
3941 - if use clang ; then
3942 - # Nothing to do
3943 - :;
3944 - elif use lto ; then
3945 - append-ldflags -Wl,--no-keep-memory
3946 - else
3947 - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
3948 - fi
3949 - ;;
3950 - esac
3951 -
3952 - if ! use elibc_glibc ; then
3953 - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
3954 - fi
3955 -
3956 - # Allow elfhack to work in combination with unstripped binaries
3957 - # when they would normally be larger than 2GiB.
3958 - append-ldflags "-Wl,--compress-debug-sections=zlib"
3959 -
3960 - # Make revdep-rebuild.sh happy; Also required for musl
3961 - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
3962 -
3963 - # Pass $MAKEOPTS to build system
3964 - export MOZ_MAKE_FLAGS="${MAKEOPTS}"
3965 -
3966 - # Use system's Python environment
3967 - PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
3968 -
3969 - if use system-python-libs; then
3970 - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
3971 - else
3972 - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
3973 - fi
3974 -
3975 - # Disable notification when build system has finished
3976 - export MOZ_NOSPAM=1
3977 -
3978 - # Portage sets XARGS environment variable to "xargs -r" by default which
3979 - # breaks build system's check_prog() function which doesn't support arguments
3980 - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
3981 -
3982 - # Set build dir
3983 - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
3984 -
3985 - # Show flags we will use
3986 - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
3987 - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
3988 - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
3989 - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
3990 - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
3991 -
3992 - # Handle EXTRA_CONF and show summary
3993 - local ac opt hash reason
3994 -
3995 - # Apply EXTRA_ECONF entries to $MOZCONFIG
3996 - if [[ -n ${EXTRA_ECONF} ]] ; then
3997 - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
3998 - for opt in "${ac[@]}"; do
3999 - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
4000 - done
4001 - fi
4002 -
4003 - echo
4004 - echo "=========================================================="
4005 - echo "Building ${PF} with the following configuration"
4006 - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
4007 - [[ -z ${hash} || ${hash} == \# ]] \
4008 - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
4009 - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
4010 - done
4011 - echo "=========================================================="
4012 - echo
4013 -
4014 - ./mach configure || die
4015 -}
4016 -
4017 -src_compile() {
4018 - local virtx_cmd=
4019 -
4020 - if use pgo ; then
4021 - virtx_cmd=virtx
4022 -
4023 - # Reset and cleanup environment variables used by GNOME/XDG
4024 - gnome2_environment_reset
4025 -
4026 - addpredict /root
4027 - fi
4028 -
4029 - if ! use X && use wayland; then
4030 - local -x GDK_BACKEND=wayland
4031 - else
4032 - local -x GDK_BACKEND=x11
4033 - fi
4034 -
4035 - ${virtx_cmd} ./mach build --verbose \
4036 - || die
4037 -}
4038 -
4039 -src_install() {
4040 - # xpcshell is getting called during install
4041 - pax-mark m \
4042 - "${BUILD_DIR}"/dist/bin/xpcshell \
4043 - "${BUILD_DIR}"/dist/bin/${PN} \
4044 - "${BUILD_DIR}"/dist/bin/plugin-container
4045 -
4046 - DESTDIR="${D}" ./mach install || die
4047 -
4048 - # Upstream cannot ship symlink but we can (bmo#658850)
4049 - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
4050 - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
4051 -
4052 - # Don't install llvm-symbolizer from sys-devel/llvm package
4053 - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
4054 - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
4055 - fi
4056 -
4057 - # Install policy (currently only used to disable application updates)
4058 - insinto "${MOZILLA_FIVE_HOME}/distribution"
4059 - newins "${FILESDIR}"/distribution.ini distribution.ini
4060 - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
4061 -
4062 - # Install system-wide preferences
4063 - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
4064 - insinto "${PREFS_DIR}"
4065 - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
4066 -
4067 - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
4068 -
4069 - # Set dictionary path to use system hunspell
4070 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
4071 - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
4072 - EOF
4073 -
4074 - # Force hwaccel prefs if USE=hwaccel is enabled
4075 - if use hwaccel ; then
4076 - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
4077 - >>"${GENTOO_PREFS}" \
4078 - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
4079 -
4080 - if use wayland; then
4081 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
4082 - pref("gfx.x11-egl.force-enabled", false);
4083 - EOF
4084 - else
4085 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
4086 - pref("gfx.x11-egl.force-enabled", true);
4087 - EOF
4088 - fi
4089 - fi
4090 -
4091 - if ! use gmp-autoupdate ; then
4092 - local plugin
4093 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
4094 - einfo "Disabling auto-update for ${plugin} plugin ..."
4095 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
4096 - pref("media.${plugin}.autoupdate", false);
4097 - EOF
4098 - done
4099 - fi
4100 -
4101 - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
4102 - if use system-harfbuzz ; then
4103 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
4104 - sticky_pref("gfx.font_rendering.graphite.enabled", true);
4105 - EOF
4106 - fi
4107 -
4108 - # Install language packs
4109 - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
4110 - if [[ -n "${langpacks}" ]] ; then
4111 - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
4112 - fi
4113 -
4114 - # Install geckodriver
4115 - if use geckodriver ; then
4116 - einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
4117 - pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
4118 - exeinto "${MOZILLA_FIVE_HOME}"
4119 - doexe "${BUILD_DIR}"/dist/bin/geckodriver
4120 -
4121 - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
4122 - fi
4123 -
4124 - # Install icons
4125 - local icon_srcdir="${S}/browser/branding/official"
4126 - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
4127 -
4128 - insinto /usr/share/icons/hicolor/symbolic/apps
4129 - newins "${icon_symbolic_file}" ${PN}-symbolic.svg
4130 -
4131 - local icon size
4132 - for icon in "${icon_srcdir}"/default*.png ; do
4133 - size=${icon%.png}
4134 - size=${size##*/default}
4135 -
4136 - if [[ ${size} -eq 48 ]] ; then
4137 - newicon "${icon}" ${PN}.png
4138 - fi
4139 -
4140 - newicon -s ${size} "${icon}" ${PN}.png
4141 - done
4142 -
4143 - # Install menu
4144 - local app_name="Mozilla ${MOZ_PN^}"
4145 - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
4146 - local desktop_filename="${PN}.desktop"
4147 - local exec_command="${PN}"
4148 - local icon="${PN}"
4149 - local use_wayland="false"
4150 -
4151 - if use wayland ; then
4152 - use_wayland="true"
4153 - fi
4154 -
4155 - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
4156 -
4157 - sed -i \
4158 - -e "s:@NAME@:${app_name}:" \
4159 - -e "s:@EXEC@:${exec_command}:" \
4160 - -e "s:@ICON@:${icon}:" \
4161 - "${WORKDIR}/${PN}.desktop-template" \
4162 - || die
4163 -
4164 - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
4165 -
4166 - rm "${WORKDIR}/${PN}.desktop-template" || die
4167 -
4168 - # Install wrapper script
4169 - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
4170 - newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
4171 -
4172 - # Update wrapper
4173 - sed -i \
4174 - -e "s:@PREFIX@:${EPREFIX}/usr:" \
4175 - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
4176 - -e "s:@APULSELIB_DIR@:${apulselib}:" \
4177 - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
4178 - "${ED}/usr/bin/${PN}" \
4179 - || die
4180 -}
4181 -
4182 -pkg_preinst() {
4183 - xdg_pkg_preinst
4184 -
4185 - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
4186 - # does not need to be forced into the LD_LIBRARY_PATH
4187 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
4188 - einfo "APULSE found; Generating library symlinks for sound support ..."
4189 - local lib
4190 - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
4191 - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
4192 - # A quickpkg rolled by hand will grab symlinks as part of the package,
4193 - # so we need to avoid creating them if they already exist.
4194 - if [[ ! -L ${lib##*/} ]] ; then
4195 - ln -s "${lib}" ${lib##*/} || die
4196 - fi
4197 - done
4198 - popd &>/dev/null || die
4199 - fi
4200 -}
4201 -
4202 -pkg_postinst() {
4203 - xdg_pkg_postinst
4204 -
4205 - if ! use gmp-autoupdate ; then
4206 - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
4207 - elog "installing into new profiles:"
4208 - local plugin
4209 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
4210 - elog "\t ${plugin}"
4211 - done
4212 - elog
4213 - fi
4214 -
4215 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
4216 - elog "Apulse was detected at merge time on this system and so it will always be"
4217 - elog "used for sound. If you wish to use pulseaudio instead please unmerge"
4218 - elog "media-sound/apulse."
4219 - elog
4220 - fi
4221 -
4222 - local show_doh_information
4223 - local show_normandy_information
4224 - local show_shortcut_information
4225 -
4226 - if [[ -z "${REPLACING_VERSIONS}" ]] ; then
4227 - # New install; Tell user that DoH is disabled by default
4228 - show_doh_information=yes
4229 - show_normandy_information=yes
4230 - show_shortcut_information=no
4231 - else
4232 - local replacing_version
4233 - for replacing_version in ${REPLACING_VERSIONS} ; do
4234 - if ver_test "${replacing_version}" -lt 91.0 ; then
4235 - # Tell user that we no longer install a shortcut
4236 - # per supported display protocol
4237 - show_shortcut_information=yes
4238 - fi
4239 - done
4240 - fi
4241 -
4242 - if [[ -n "${show_doh_information}" ]] ; then
4243 - elog
4244 - elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
4245 - elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
4246 - elog "DNS traffic to Cloudflare by default is not a good idea and applications"
4247 - elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
4248 - elog "(\"Off by choice\") by default."
4249 - elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
4250 - fi
4251 -
4252 - # bug 713782
4253 - if [[ -n "${show_normandy_information}" ]] ; then
4254 - elog
4255 - elog "Upstream operates a service named Normandy which allows Mozilla to"
4256 - elog "push changes for default settings or even install new add-ons remotely."
4257 - elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
4258 - elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
4259 - elog "concerns prevail, which is why we have switched off the use of this"
4260 - elog "service by default."
4261 - elog
4262 - elog "To re-enable this service set"
4263 - elog
4264 - elog " app.normandy.enabled=true"
4265 - elog
4266 - elog "in about:config."
4267 - fi
4268 -
4269 - if [[ -n "${show_shortcut_information}" ]] ; then
4270 - elog
4271 - elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
4272 - elog "each supported display protocol. Instead we will only install"
4273 - elog "one generic Mozilla ${PN^} shortcut."
4274 - elog "If you still want to be able to select between running Mozilla ${PN^}"
4275 - elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
4276 - fi
4277 -
4278 - # bug 835078
4279 - if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
4280 - ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
4281 - ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
4282 - ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
4283 - ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
4284 - fi
4285 -
4286 - elog
4287 - elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
4288 - elog "useragent checks. To temporarily fix this, enter about:config and modify "
4289 - elog "network.http.useragent.forceVersion preference to \"99\"."
4290 - elog "Or install an addon to change your useragent."
4291 - elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
4292 - elog
4293 -}
4294
4295 diff --git a/www-client/firefox/firefox-91.13.0.ebuild b/www-client/firefox/firefox-91.13.0.ebuild
4296 deleted file mode 100644
4297 index bbb4a12b57b8..000000000000
4298 --- a/www-client/firefox/firefox-91.13.0.ebuild
4299 +++ /dev/null
4300 @@ -1,1236 +0,0 @@
4301 -# Copyright 1999-2022 Gentoo Authors
4302 -# Distributed under the terms of the GNU General Public License v2
4303 -
4304 -EAPI="8"
4305 -
4306 -FIREFOX_PATCHSET="firefox-91esr-patches-10j.tar.xz"
4307 -
4308 -LLVM_MAX_SLOT=14
4309 -
4310 -PYTHON_COMPAT=( python3_{8..10} )
4311 -PYTHON_REQ_USE="ncurses,sqlite,ssl"
4312 -
4313 -WANT_AUTOCONF="2.1"
4314 -
4315 -VIRTUALX_REQUIRED="pgo"
4316 -
4317 -MOZ_ESR=yes
4318 -
4319 -MOZ_PV=${PV}
4320 -MOZ_PV_SUFFIX=
4321 -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
4322 - MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
4323 -
4324 - # Convert the ebuild version to the upstream Mozilla version
4325 - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
4326 - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
4327 - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
4328 -fi
4329 -
4330 -if [[ -n ${MOZ_ESR} ]] ; then
4331 - # ESR releases have slightly different version numbers
4332 - MOZ_PV="${MOZ_PV}esr"
4333 -fi
4334 -
4335 -MOZ_PN="${PN%-bin}"
4336 -MOZ_P="${MOZ_PN}-${MOZ_PV}"
4337 -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
4338 -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
4339 -
4340 -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
4341 - llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
4342 - virtualx xdg
4343 -
4344 -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
4345 -
4346 -if [[ ${PV} == *_rc* ]] ; then
4347 - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
4348 -fi
4349 -
4350 -PATCH_URIS=(
4351 - https://dev.gentoo.org/~{juippis,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
4352 -)
4353 -
4354 -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
4355 - ${PATCH_URIS[@]}"
4356 -
4357 -DESCRIPTION="Firefox Web Browser"
4358 -HOMEPAGE="https://www.mozilla.com/firefox"
4359 -
4360 -KEYWORDS="amd64 arm64 ~ppc64 x86"
4361 -
4362 -SLOT="esr"
4363 -LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
4364 -
4365 -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
4366 -IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
4367 -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
4368 -IUSE+=" wayland wifi"
4369 -
4370 -# Firefox-only IUSE
4371 -IUSE+=" geckodriver"
4372 -IUSE+=" +gmp-autoupdate"
4373 -IUSE+=" screencast"
4374 -
4375 -REQUIRED_USE="debug? ( !system-av1 )
4376 - pgo? ( lto )
4377 - wifi? ( dbus )"
4378 -
4379 -# Firefox-only REQUIRED_USE flags
4380 -REQUIRED_USE+=" screencast? ( wayland )"
4381 -
4382 -BDEPEND="${PYTHON_DEPS}
4383 - app-arch/unzip
4384 - app-arch/zip
4385 - >=dev-util/cbindgen-0.24.0
4386 - >=net-libs/nodejs-10.23.1
4387 - virtual/pkgconfig
4388 - >=virtual/rust-1.51.0
4389 - || (
4390 - (
4391 - sys-devel/clang:14
4392 - sys-devel/llvm:14
4393 - clang? (
4394 - =sys-devel/lld-14*
4395 - pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
4396 - sys-devel/clang:14
4397 - )
4398 - )
4399 - (
4400 - sys-devel/clang:13
4401 - sys-devel/llvm:13
4402 - clang? (
4403 - =sys-devel/lld-13*
4404 - pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
4405 - )
4406 - )
4407 - )
4408 - amd64? ( >=dev-lang/nasm-2.13 )
4409 - x86? ( >=dev-lang/nasm-2.13 )"
4410 -
4411 -COMMON_DEPEND="
4412 - >=dev-libs/nss-3.68
4413 - >=dev-libs/nspr-4.32
4414 - dev-libs/atk
4415 - dev-libs/expat
4416 - >=x11-libs/cairo-1.10[X]
4417 - >=x11-libs/gtk+-3.4.0:3[X]
4418 - x11-libs/gdk-pixbuf
4419 - >=x11-libs/pango-1.22.0
4420 - >=media-libs/mesa-10.2:*
4421 - media-libs/fontconfig
4422 - >=media-libs/freetype-2.4.10
4423 - kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
4424 - virtual/freedesktop-icon-theme
4425 - >=x11-libs/pixman-0.19.2
4426 - >=dev-libs/glib-2.26:2
4427 - >=sys-libs/zlib-1.2.3
4428 - >=dev-libs/libffi-3.0.10:=
4429 - media-video/ffmpeg
4430 - x11-libs/libX11
4431 - x11-libs/libxcb:=
4432 - x11-libs/libXcomposite
4433 - x11-libs/libXdamage
4434 - x11-libs/libXext
4435 - x11-libs/libXfixes
4436 - x11-libs/libXrender
4437 - x11-libs/libXt
4438 - dbus? (
4439 - sys-apps/dbus
4440 - dev-libs/dbus-glib
4441 - )
4442 - screencast? ( media-video/pipewire:= )
4443 - system-av1? (
4444 - >=media-libs/dav1d-0.8.1:=
4445 - >=media-libs/libaom-1.0.0:=
4446 - )
4447 - system-harfbuzz? (
4448 - >=media-libs/harfbuzz-2.8.1:0=
4449 - >=media-gfx/graphite2-1.3.13
4450 - )
4451 - system-icu? ( >=dev-libs/icu-69.1:= )
4452 - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
4453 - system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
4454 - system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
4455 - system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
4456 - system-webp? ( >=media-libs/libwebp-1.1.0:0= )
4457 - wifi? (
4458 - kernel_linux? (
4459 - sys-apps/dbus
4460 - dev-libs/dbus-glib
4461 - net-misc/networkmanager
4462 - )
4463 - )
4464 - jack? ( virtual/jack )
4465 - selinux? ( sec-policy/selinux-mozilla )
4466 - sndio? ( media-sound/sndio )"
4467 -
4468 -RDEPEND="${COMMON_DEPEND}
4469 - !www-client/firefox:0
4470 - !www-client/firefox:rapid
4471 - jack? ( virtual/jack )
4472 - openh264? ( media-libs/openh264:*[plugin] )
4473 - pulseaudio? (
4474 - || (
4475 - media-sound/pulseaudio
4476 - >=media-sound/apulse-0.1.12-r4
4477 - )
4478 - )
4479 - selinux? ( sec-policy/selinux-mozilla )"
4480 -
4481 -DEPEND="${COMMON_DEPEND}
4482 - x11-libs/libICE
4483 - x11-libs/libSM
4484 - pulseaudio? (
4485 - || (
4486 - media-sound/pulseaudio
4487 - >=media-sound/apulse-0.1.12-r4[sdk]
4488 - )
4489 - )
4490 - wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
4491 - amd64? ( virtual/opengl )
4492 - x86? ( virtual/opengl )"
4493 -
4494 -S="${WORKDIR}/${PN}-${PV%_*}"
4495 -
4496 -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
4497 -# overridden in the enviromnent (advanced hackers only)
4498 -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
4499 - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
4500 -fi
4501 -
4502 -llvm_check_deps() {
4503 - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
4504 - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
4505 - return 1
4506 - fi
4507 -
4508 - if use clang ; then
4509 - if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
4510 - einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
4511 - return 1
4512 - fi
4513 -
4514 - if use pgo ; then
4515 - if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
4516 - einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
4517 - return 1
4518 - fi
4519 - fi
4520 - fi
4521 -
4522 - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
4523 -}
4524 -
4525 -MOZ_LANGS=(
4526 - af ar ast be bg br ca cak cs cy da de dsb
4527 - el en-CA en-GB en-US es-AR es-ES et eu
4528 - fi fr fy-NL ga-IE gd gl he hr hsb hu
4529 - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
4530 - pa-IN pl pt-BR pt-PT rm ro ru
4531 - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
4532 -)
4533 -
4534 -# Firefox-only LANGS
4535 -MOZ_LANGS+=( ach )
4536 -MOZ_LANGS+=( an )
4537 -MOZ_LANGS+=( az )
4538 -MOZ_LANGS+=( bn )
4539 -MOZ_LANGS+=( bs )
4540 -MOZ_LANGS+=( ca-valencia )
4541 -MOZ_LANGS+=( eo )
4542 -MOZ_LANGS+=( es-CL )
4543 -MOZ_LANGS+=( es-MX )
4544 -MOZ_LANGS+=( fa )
4545 -MOZ_LANGS+=( ff )
4546 -MOZ_LANGS+=( gn )
4547 -MOZ_LANGS+=( gu-IN )
4548 -MOZ_LANGS+=( hi-IN )
4549 -MOZ_LANGS+=( hy-AM )
4550 -MOZ_LANGS+=( ia )
4551 -MOZ_LANGS+=( km )
4552 -MOZ_LANGS+=( kn )
4553 -MOZ_LANGS+=( lij )
4554 -MOZ_LANGS+=( mk )
4555 -MOZ_LANGS+=( mr )
4556 -MOZ_LANGS+=( my )
4557 -MOZ_LANGS+=( ne-NP )
4558 -MOZ_LANGS+=( oc )
4559 -MOZ_LANGS+=( sco )
4560 -MOZ_LANGS+=( si )
4561 -MOZ_LANGS+=( son )
4562 -MOZ_LANGS+=( szl )
4563 -MOZ_LANGS+=( ta )
4564 -MOZ_LANGS+=( te )
4565 -MOZ_LANGS+=( tl )
4566 -MOZ_LANGS+=( trs )
4567 -MOZ_LANGS+=( ur )
4568 -MOZ_LANGS+=( xh )
4569 -
4570 -mozilla_set_globals() {
4571 - # https://bugs.gentoo.org/587334
4572 - local MOZ_TOO_REGIONALIZED_FOR_L10N=(
4573 - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
4574 - )
4575 -
4576 - local lang xflag
4577 - for lang in "${MOZ_LANGS[@]}" ; do
4578 - # en and en_US are handled internally
4579 - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
4580 - continue
4581 - fi
4582 -
4583 - # strip region subtag if $lang is in the list
4584 - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
4585 - xflag=${lang%%-*}
4586 - else
4587 - xflag=${lang}
4588 - fi
4589 -
4590 - SRC_URI+=" l10n_${xflag/[_@]/-}? ("
4591 - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
4592 - SRC_URI+=" )"
4593 - IUSE+=" l10n_${xflag/[_@]/-}"
4594 - done
4595 -}
4596 -mozilla_set_globals
4597 -
4598 -moz_clear_vendor_checksums() {
4599 - debug-print-function ${FUNCNAME} "$@"
4600 -
4601 - if [[ ${#} -ne 1 ]] ; then
4602 - die "${FUNCNAME} requires exact one argument"
4603 - fi
4604 -
4605 - einfo "Clearing cargo checksums for ${1} ..."
4606 -
4607 - sed -i \
4608 - -e 's/\("files":{\)[^}]*/\1/' \
4609 - "${S}"/third_party/rust/${1}/.cargo-checksum.json \
4610 - || die
4611 -}
4612 -
4613 -moz_install_xpi() {
4614 - debug-print-function ${FUNCNAME} "$@"
4615 -
4616 - if [[ ${#} -lt 2 ]] ; then
4617 - die "${FUNCNAME} requires at least two arguments"
4618 - fi
4619 -
4620 - local DESTDIR=${1}
4621 - shift
4622 -
4623 - insinto "${DESTDIR}"
4624 -
4625 - local emid xpi_file xpi_tmp_dir
4626 - for xpi_file in "${@}" ; do
4627 - emid=
4628 - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
4629 -
4630 - # Unpack XPI
4631 - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
4632 -
4633 - # Determine extension ID
4634 - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
4635 - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
4636 - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
4637 - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
4638 - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
4639 - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
4640 - else
4641 - die "failed to determine extension id"
4642 - fi
4643 -
4644 - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
4645 - newins "${xpi_file}" "${emid}.xpi"
4646 - done
4647 -}
4648 -
4649 -mozconfig_add_options_ac() {
4650 - debug-print-function ${FUNCNAME} "$@"
4651 -
4652 - if [[ ${#} -lt 2 ]] ; then
4653 - die "${FUNCNAME} requires at least two arguments"
4654 - fi
4655 -
4656 - local reason=${1}
4657 - shift
4658 -
4659 - local option
4660 - for option in ${@} ; do
4661 - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
4662 - done
4663 -}
4664 -
4665 -mozconfig_add_options_mk() {
4666 - debug-print-function ${FUNCNAME} "$@"
4667 -
4668 - if [[ ${#} -lt 2 ]] ; then
4669 - die "${FUNCNAME} requires at least two arguments"
4670 - fi
4671 -
4672 - local reason=${1}
4673 - shift
4674 -
4675 - local option
4676 - for option in ${@} ; do
4677 - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
4678 - done
4679 -}
4680 -
4681 -mozconfig_use_enable() {
4682 - debug-print-function ${FUNCNAME} "$@"
4683 -
4684 - if [[ ${#} -lt 1 ]] ; then
4685 - die "${FUNCNAME} requires at least one arguments"
4686 - fi
4687 -
4688 - local flag=$(use_enable "${@}")
4689 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
4690 -}
4691 -
4692 -mozconfig_use_with() {
4693 - debug-print-function ${FUNCNAME} "$@"
4694 -
4695 - if [[ ${#} -lt 1 ]] ; then
4696 - die "${FUNCNAME} requires at least one arguments"
4697 - fi
4698 -
4699 - local flag=$(use_with "${@}")
4700 - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
4701 -}
4702 -
4703 -pkg_pretend() {
4704 - if [[ ${MERGE_TYPE} != binary ]] ; then
4705 - if use pgo ; then
4706 - if ! has usersandbox $FEATURES ; then
4707 - die "You must enable usersandbox as X server can not run as root!"
4708 - fi
4709 - fi
4710 -
4711 - # Ensure we have enough disk space to compile
4712 - if use pgo || use lto || use debug ; then
4713 - CHECKREQS_DISK_BUILD="13500M"
4714 - else
4715 - CHECKREQS_DISK_BUILD="6400M"
4716 - fi
4717 -
4718 - check-reqs_pkg_pretend
4719 - fi
4720 -}
4721 -
4722 -pkg_setup() {
4723 - if [[ ${MERGE_TYPE} != binary ]] ; then
4724 - if use pgo ; then
4725 - if ! has userpriv ${FEATURES} ; then
4726 - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
4727 - fi
4728 - fi
4729 -
4730 - # Ensure we have enough disk space to compile
4731 - if use pgo || use lto || use debug ; then
4732 - CHECKREQS_DISK_BUILD="13500M"
4733 - else
4734 - CHECKREQS_DISK_BUILD="6400M"
4735 - fi
4736 -
4737 - check-reqs_pkg_setup
4738 -
4739 - llvm_pkg_setup
4740 -
4741 - if use clang && use lto ; then
4742 - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
4743 - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
4744 - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
4745 -
4746 - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
4747 - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
4748 - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
4749 -
4750 - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
4751 - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
4752 - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
4753 - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
4754 - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
4755 - eerror " - Build ${CATEGORY}/${PN} without USE=lto"
4756 - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
4757 - eerror " llvm/clang/lld/rust chain depending on your @world updates)"
4758 - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
4759 - fi
4760 - fi
4761 -
4762 - if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
4763 - && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
4764 - # bug 792705
4765 - eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
4766 - die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
4767 - fi
4768 -
4769 - python-any-r1_pkg_setup
4770 -
4771 - # Avoid PGO profiling problems due to enviroment leakage
4772 - # These should *always* be cleaned up anyway
4773 - unset \
4774 - DBUS_SESSION_BUS_ADDRESS \
4775 - DISPLAY \
4776 - ORBIT_SOCKETDIR \
4777 - SESSION_MANAGER \
4778 - XAUTHORITY \
4779 - XDG_CACHE_HOME \
4780 - XDG_SESSION_COOKIE
4781 -
4782 - # Build system is using /proc/self/oom_score_adj, bug #604394
4783 - addpredict /proc/self/oom_score_adj
4784 -
4785 - if use pgo ; then
4786 - # Allow access to GPU during PGO run
4787 - local ati_cards mesa_cards nvidia_cards render_cards
4788 - shopt -s nullglob
4789 -
4790 - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
4791 - if [[ -n "${ati_cards}" ]] ; then
4792 - addpredict "${ati_cards}"
4793 - fi
4794 -
4795 - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
4796 - if [[ -n "${mesa_cards}" ]] ; then
4797 - addpredict "${mesa_cards}"
4798 - fi
4799 -
4800 - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
4801 - if [[ -n "${nvidia_cards}" ]] ; then
4802 - addpredict "${nvidia_cards}"
4803 - fi
4804 -
4805 - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
4806 - if [[ -n "${render_cards}" ]] ; then
4807 - addpredict "${render_cards}"
4808 - fi
4809 -
4810 - shopt -u nullglob
4811 - fi
4812 -
4813 - if ! mountpoint -q /dev/shm ; then
4814 - # If /dev/shm is not available, configure is known to fail with
4815 - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
4816 - ewarn "/dev/shm is not mounted -- expect build failures!"
4817 - fi
4818 -
4819 - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
4820 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
4821 - # get your own set of keys.
4822 - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
4823 - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
4824 - fi
4825 -
4826 - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
4827 - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
4828 - fi
4829 -
4830 - # Mozilla API keys (see https://location.services.mozilla.com/api)
4831 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
4832 - # get your own set of keys.
4833 - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
4834 - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
4835 - fi
4836 -
4837 - # Ensure we use C locale when building, bug #746215
4838 - export LC_ALL=C
4839 - fi
4840 -
4841 - CONFIG_CHECK="~SECCOMP"
4842 - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
4843 - linux-info_pkg_setup
4844 -}
4845 -
4846 -src_unpack() {
4847 - local _lp_dir="${WORKDIR}/language_packs"
4848 - local _src_file
4849 -
4850 - if [[ ! -d "${_lp_dir}" ]] ; then
4851 - mkdir "${_lp_dir}" || die
4852 - fi
4853 -
4854 - for _src_file in ${A} ; do
4855 - if [[ ${_src_file} == *.xpi ]]; then
4856 - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
4857 - else
4858 - unpack ${_src_file}
4859 - fi
4860 - done
4861 -}
4862 -
4863 -src_prepare() {
4864 - if use lto; then
4865 - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
4866 - fi
4867 -
4868 - if use system-av1 && has_version "<media-libs/dav1d-1.0.0"; then
4869 - rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
4870 - elog "<media-libs/dav1d-1.0.0 detected, removing 1.0.0 compat patch."
4871 - elif ! use system-av1; then
4872 - rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
4873 - elog "-system-av1 USE flag detected, removing 1.0.0 compat patch."
4874 - fi
4875 -
4876 - eapply "${WORKDIR}/firefox-patches"
4877 -
4878 - # Allow user to apply any additional patches without modifing ebuild
4879 - eapply_user
4880 -
4881 - # Make cargo respect MAKEOPTS
4882 - export CARGO_BUILD_JOBS="$(makeopts_jobs)"
4883 -
4884 - # Make LTO respect MAKEOPTS
4885 - sed -i \
4886 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
4887 - "${S}"/build/moz.configure/lto-pgo.configure \
4888 - || die "sed failed to set num_cores"
4889 -
4890 - # Make ICU respect MAKEOPTS
4891 - sed -i \
4892 - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
4893 - "${S}"/intl/icu_sources_data.py \
4894 - || die "sed failed to set num_cores"
4895 -
4896 - # sed-in toolchain prefix
4897 - sed -i \
4898 - -e "s/objdump/${CHOST}-objdump/" \
4899 - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
4900 - || die "sed failed to set toolchain prefix"
4901 -
4902 - sed -i \
4903 - -e 's/ccache_stats = None/return None/' \
4904 - "${S}"/python/mozbuild/mozbuild/controller/building.py \
4905 - || die "sed failed to disable ccache stats call"
4906 -
4907 - einfo "Removing pre-built binaries ..."
4908 - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
4909 -
4910 - # Clearing checksums where we have applied patches
4911 - moz_clear_vendor_checksums target-lexicon-0.9.0
4912 -
4913 - # Create build dir
4914 - BUILD_DIR="${WORKDIR}/${PN}_build"
4915 - mkdir -p "${BUILD_DIR}" || die
4916 -
4917 - # Write API keys to disk
4918 - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
4919 - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
4920 - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
4921 -
4922 - xdg_environment_reset
4923 -}
4924 -
4925 -src_configure() {
4926 - # Show flags set at the beginning
4927 - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
4928 - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
4929 - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
4930 - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
4931 - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
4932 -
4933 - local have_switched_compiler=
4934 - if use clang && ! tc-is-clang ; then
4935 - # Force clang
4936 - einfo "Enforcing the use of clang due to USE=clang ..."
4937 - have_switched_compiler=yes
4938 - AR=llvm-ar
4939 - CC=${CHOST}-clang
4940 - CXX=${CHOST}-clang++
4941 - NM=llvm-nm
4942 - RANLIB=llvm-ranlib
4943 - elif ! use clang && ! tc-is-gcc ; then
4944 - # Force gcc
4945 - have_switched_compiler=yes
4946 - einfo "Enforcing the use of gcc due to USE=-clang ..."
4947 - AR=gcc-ar
4948 - CC=${CHOST}-gcc
4949 - CXX=${CHOST}-g++
4950 - NM=gcc-nm
4951 - RANLIB=gcc-ranlib
4952 - fi
4953 -
4954 - if [[ -n "${have_switched_compiler}" ]] ; then
4955 - # Because we switched active compiler we have to ensure
4956 - # that no unsupported flags are set
4957 - strip-unsupported-flags
4958 - fi
4959 -
4960 - # Ensure we use correct toolchain
4961 - export HOST_CC="$(tc-getBUILD_CC)"
4962 - export HOST_CXX="$(tc-getBUILD_CXX)"
4963 - tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
4964 -
4965 - # Pass the correct toolchain paths through cbindgen
4966 - if tc-is-cross-compiler ; then
4967 - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
4968 - fi
4969 -
4970 - # Set MOZILLA_FIVE_HOME
4971 - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
4972 -
4973 - # python/mach/mach/mixin/process.py fails to detect SHELL
4974 - export SHELL="${EPREFIX}/bin/bash"
4975 -
4976 - # Set state path
4977 - export MOZBUILD_STATE_PATH="${BUILD_DIR}"
4978 -
4979 - # Set MOZCONFIG
4980 - export MOZCONFIG="${S}/.mozconfig"
4981 -
4982 - # Initialize MOZCONFIG
4983 - mozconfig_add_options_ac '' --enable-application=browser
4984 -
4985 - # Set Gentoo defaults
4986 - export MOZILLA_OFFICIAL=1
4987 -
4988 - mozconfig_add_options_ac 'Gentoo default' \
4989 - --allow-addon-sideload \
4990 - --disable-cargo-incremental \
4991 - --disable-crashreporter \
4992 - --disable-install-strip \
4993 - --disable-strip \
4994 - --disable-updater \
4995 - --enable-official-branding \
4996 - --enable-release \
4997 - --enable-system-ffi \
4998 - --enable-system-pixman \
4999 - --host="${CBUILD:-${CHOST}}" \
5000 - --libdir="${EPREFIX}/usr/$(get_libdir)" \
5001 - --prefix="${EPREFIX}/usr" \
5002 - --target="${CHOST}" \
5003 - --without-ccache \
5004 - --with-intl-api \
5005 - --with-libclang-path="$(llvm-config --libdir)" \
5006 - --with-system-nspr \
5007 - --with-system-nss \
5008 - --with-system-zlib \
5009 - --with-toolchain-prefix="${CHOST}-" \
5010 - --with-unsigned-addon-scopes=app,system \
5011 - --x-includes="${ESYSROOT}/usr/include" \
5012 - --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
5013 -
5014 - # Set update channel
5015 - local update_channel=release
5016 - [[ -n ${MOZ_ESR} ]] && update_channel=esr
5017 - mozconfig_add_options_ac '' --update-channel=${update_channel}
5018 -
5019 - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
5020 - mozconfig_add_options_ac '' --enable-rust-simd
5021 - fi
5022 -
5023 - if [[ -s "${S}/api-google.key" ]] ; then
5024 - local key_origin="Gentoo default"
5025 - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
5026 - key_origin="User value"
5027 - fi
5028 -
5029 - mozconfig_add_options_ac "${key_origin}" \
5030 - --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
5031 - else
5032 - einfo "Building without Google API key ..."
5033 - fi
5034 -
5035 - if [[ -s "${S}/api-location.key" ]] ; then
5036 - local key_origin="Gentoo default"
5037 - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
5038 - key_origin="User value"
5039 - fi
5040 -
5041 - mozconfig_add_options_ac "${key_origin}" \
5042 - --with-google-location-service-api-keyfile="${S}/api-location.key"
5043 - else
5044 - einfo "Building without Location API key ..."
5045 - fi
5046 -
5047 - if [[ -s "${S}/api-mozilla.key" ]] ; then
5048 - local key_origin="Gentoo default"
5049 - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
5050 - key_origin="User value"
5051 - fi
5052 -
5053 - mozconfig_add_options_ac "${key_origin}" \
5054 - --with-mozilla-api-keyfile="${S}/api-mozilla.key"
5055 - else
5056 - einfo "Building without Mozilla API key ..."
5057 - fi
5058 -
5059 - mozconfig_use_with system-av1
5060 - mozconfig_use_with system-harfbuzz
5061 - mozconfig_use_with system-harfbuzz system-graphite2
5062 - mozconfig_use_with system-icu
5063 - mozconfig_use_with system-jpeg
5064 - mozconfig_use_with system-libevent system-libevent "${ESYSROOT}/usr"
5065 - mozconfig_use_with system-libvpx
5066 - mozconfig_use_with system-png
5067 - mozconfig_use_with system-webp
5068 -
5069 - mozconfig_use_enable dbus
5070 -
5071 - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
5072 -
5073 - mozconfig_use_enable geckodriver
5074 -
5075 - if use hardened ; then
5076 - mozconfig_add_options_ac "+hardened" --enable-hardening
5077 - append-ldflags "-Wl,-z,relro -Wl,-z,now"
5078 - fi
5079 -
5080 - mozconfig_use_enable jack
5081 -
5082 - mozconfig_use_enable pulseaudio
5083 - # force the deprecated alsa sound code if pulseaudio is disabled
5084 - if use kernel_linux && ! use pulseaudio ; then
5085 - mozconfig_add_options_ac '-pulseaudio' --enable-alsa
5086 - fi
5087 -
5088 - mozconfig_use_enable sndio
5089 -
5090 - mozconfig_use_enable wifi necko-wifi
5091 -
5092 - if use wayland ; then
5093 - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
5094 - else
5095 - mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
5096 - fi
5097 -
5098 - if use lto ; then
5099 - if use clang ; then
5100 - # Upstream only supports lld when using clang
5101 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
5102 -
5103 - mozconfig_add_options_ac '+lto' --enable-lto=cross
5104 - else
5105 - # ld.gold is known to fail:
5106 - # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
5107 -
5108 - # ThinLTO is currently broken, see bmo#1644409
5109 - mozconfig_add_options_ac '+lto' --enable-lto=full
5110 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
5111 - fi
5112 -
5113 - if use pgo ; then
5114 - mozconfig_add_options_ac '+pgo' MOZ_PGO=1
5115 -
5116 - if use clang ; then
5117 - # Used in build/pgo/profileserver.py
5118 - export LLVM_PROFDATA="llvm-profdata"
5119 - fi
5120 - fi
5121 - else
5122 - # Avoid auto-magic on linker
5123 - if use clang ; then
5124 - # This is upstream's default
5125 - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
5126 - else
5127 - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
5128 - fi
5129 - fi
5130 -
5131 - # LTO flag was handled via configure
5132 - filter-flags '-flto*'
5133 -
5134 - mozconfig_use_enable debug
5135 - if use debug ; then
5136 - mozconfig_add_options_ac '+debug' --disable-optimize
5137 - else
5138 - if is-flag '-g*' ; then
5139 - if use clang ; then
5140 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
5141 - else
5142 - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
5143 - fi
5144 - else
5145 - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
5146 - fi
5147 -
5148 - if is-flag '-O0' ; then
5149 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
5150 - elif is-flag '-O4' ; then
5151 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
5152 - elif is-flag '-O3' ; then
5153 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
5154 - elif is-flag '-O1' ; then
5155 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
5156 - elif is-flag '-Os' ; then
5157 - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
5158 - else
5159 - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
5160 - fi
5161 - fi
5162 -
5163 - # Debug flag was handled via configure
5164 - filter-flags '-g*'
5165 -
5166 - # Optimization flag was handled via configure
5167 - filter-flags '-O*'
5168 -
5169 - # Modifications to better support ARM, bug #553364
5170 - if use cpu_flags_arm_neon ; then
5171 - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
5172 -
5173 - if ! tc-is-clang ; then
5174 - # thumb options aren't supported when using clang, bug 666966
5175 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \
5176 - --with-thumb=yes \
5177 - --with-thumb-interwork=no
5178 - fi
5179 - fi
5180 -
5181 - if [[ ${CHOST} == armv*h* ]] ; then
5182 - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
5183 -
5184 - if ! use system-libvpx ; then
5185 - sed -i \
5186 - -e "s|softfp|hard|" \
5187 - "${S}"/media/libvpx/moz.build \
5188 - || die
5189 - fi
5190 - fi
5191 -
5192 - if use clang ; then
5193 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
5194 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
5195 - # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
5196 - local disable_elf_hack=
5197 - if use amd64 ; then
5198 - disable_elf_hack=yes
5199 - elif use x86 ; then
5200 - disable_elf_hack=yes
5201 - elif use arm ; then
5202 - disable_elf_hack=yes
5203 - fi
5204 -
5205 - if [[ -n ${disable_elf_hack} ]] ; then
5206 - mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
5207 - fi
5208 - elif tc-is-gcc ; then
5209 - if ver_test $(gcc-fullversion) -ge 10 ; then
5210 - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
5211 - append-cxxflags -fno-tree-loop-vectorize
5212 - fi
5213 - fi
5214 -
5215 - # Additional ARCH support
5216 - case "${ARCH}" in
5217 - arm)
5218 - # Reduce the memory requirements for linking
5219 - if use clang ; then
5220 - # Nothing to do
5221 - :;
5222 - elif tc-ld-is-gold || use lto ; then
5223 - append-ldflags -Wl,--no-keep-memory
5224 - else
5225 - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
5226 - fi
5227 - ;;
5228 - esac
5229 -
5230 - if ! use elibc_glibc ; then
5231 - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
5232 - fi
5233 -
5234 - # Allow elfhack to work in combination with unstripped binaries
5235 - # when they would normally be larger than 2GiB.
5236 - append-ldflags "-Wl,--compress-debug-sections=zlib"
5237 -
5238 - # Make revdep-rebuild.sh happy; Also required for musl
5239 - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
5240 -
5241 - # Pass $MAKEOPTS to build system
5242 - export MOZ_MAKE_FLAGS="${MAKEOPTS}"
5243 -
5244 - # Use system's Python environment
5245 - export MACH_USE_SYSTEM_PYTHON=1
5246 - export PIP_NO_CACHE_DIR=off
5247 -
5248 - # Disable notification when build system has finished
5249 - export MOZ_NOSPAM=1
5250 -
5251 - # Portage sets XARGS environment variable to "xargs -r" by default which
5252 - # breaks build system's check_prog() function which doesn't support arguments
5253 - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
5254 -
5255 - # Set build dir
5256 - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
5257 -
5258 - # Show flags we will use
5259 - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
5260 - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
5261 - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
5262 - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
5263 - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
5264 -
5265 - # Handle EXTRA_CONF and show summary
5266 - local ac opt hash reason
5267 -
5268 - # Apply EXTRA_ECONF entries to $MOZCONFIG
5269 - if [[ -n ${EXTRA_ECONF} ]] ; then
5270 - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
5271 - for opt in "${ac[@]}"; do
5272 - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
5273 - done
5274 - fi
5275 -
5276 - echo
5277 - echo "=========================================================="
5278 - echo "Building ${PF} with the following configuration"
5279 - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
5280 - [[ -z ${hash} || ${hash} == \# ]] \
5281 - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
5282 - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
5283 - done
5284 - echo "=========================================================="
5285 - echo
5286 -
5287 - ./mach configure || die
5288 -}
5289 -
5290 -src_compile() {
5291 - local virtx_cmd=
5292 -
5293 - if use pgo ; then
5294 - virtx_cmd=virtx
5295 -
5296 - # Reset and cleanup environment variables used by GNOME/XDG
5297 - gnome2_environment_reset
5298 -
5299 - addpredict /root
5300 - fi
5301 -
5302 - local -x GDK_BACKEND=x11
5303 -
5304 - ${virtx_cmd} ./mach build --verbose \
5305 - || die
5306 -}
5307 -
5308 -src_install() {
5309 - # xpcshell is getting called during install
5310 - pax-mark m \
5311 - "${BUILD_DIR}"/dist/bin/xpcshell \
5312 - "${BUILD_DIR}"/dist/bin/${PN} \
5313 - "${BUILD_DIR}"/dist/bin/plugin-container
5314 -
5315 - DESTDIR="${D}" ./mach install || die
5316 -
5317 - # Upstream cannot ship symlink but we can (bmo#658850)
5318 - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
5319 - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
5320 -
5321 - # Don't install llvm-symbolizer from sys-devel/llvm package
5322 - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
5323 - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
5324 - fi
5325 -
5326 - # Install policy (currently only used to disable application updates)
5327 - insinto "${MOZILLA_FIVE_HOME}/distribution"
5328 - newins "${FILESDIR}"/distribution.ini distribution.ini
5329 - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
5330 -
5331 - # Install system-wide preferences
5332 - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
5333 - insinto "${PREFS_DIR}"
5334 - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
5335 -
5336 - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
5337 -
5338 - # Set dictionary path to use system hunspell
5339 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
5340 - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
5341 - EOF
5342 -
5343 - # Force hwaccel prefs if USE=hwaccel is enabled
5344 - if use hwaccel ; then
5345 - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
5346 - >>"${GENTOO_PREFS}" \
5347 - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
5348 - fi
5349 -
5350 - if ! use gmp-autoupdate ; then
5351 - local plugin
5352 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
5353 - einfo "Disabling auto-update for ${plugin} plugin ..."
5354 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
5355 - pref("media.${plugin}.autoupdate", false);
5356 - EOF
5357 - done
5358 - fi
5359 -
5360 - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
5361 - if use system-harfbuzz ; then
5362 - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
5363 - sticky_pref("gfx.font_rendering.graphite.enabled", true);
5364 - EOF
5365 - fi
5366 -
5367 - # Install language packs
5368 - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
5369 - if [[ -n "${langpacks}" ]] ; then
5370 - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
5371 - fi
5372 -
5373 - # Install geckodriver
5374 - if use geckodriver ; then
5375 - einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
5376 - pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
5377 - exeinto "${MOZILLA_FIVE_HOME}"
5378 - doexe "${BUILD_DIR}"/dist/bin/geckodriver
5379 -
5380 - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
5381 - fi
5382 -
5383 - # Install icons
5384 - local icon_srcdir="${S}/browser/branding/official"
5385 - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
5386 -
5387 - insinto /usr/share/icons/hicolor/symbolic/apps
5388 - newins "${icon_symbolic_file}" ${PN}-symbolic.svg
5389 -
5390 - local icon size
5391 - for icon in "${icon_srcdir}"/default*.png ; do
5392 - size=${icon%.png}
5393 - size=${size##*/default}
5394 -
5395 - if [[ ${size} -eq 48 ]] ; then
5396 - newicon "${icon}" ${PN}.png
5397 - fi
5398 -
5399 - newicon -s ${size} "${icon}" ${PN}.png
5400 - done
5401 -
5402 - # Install menu
5403 - local app_name="Mozilla ${MOZ_PN^}"
5404 - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
5405 - local desktop_filename="${PN}.desktop"
5406 - local exec_command="${PN}"
5407 - local icon="${PN}"
5408 - local use_wayland="false"
5409 -
5410 - if use wayland ; then
5411 - use_wayland="true"
5412 - fi
5413 -
5414 - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
5415 -
5416 - sed -i \
5417 - -e "s:@NAME@:${app_name}:" \
5418 - -e "s:@EXEC@:${exec_command}:" \
5419 - -e "s:@ICON@:${icon}:" \
5420 - "${WORKDIR}/${PN}.desktop-template" \
5421 - || die
5422 -
5423 - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
5424 -
5425 - rm "${WORKDIR}/${PN}.desktop-template" || die
5426 -
5427 - # Install wrapper script
5428 - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
5429 - newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
5430 -
5431 - # Update wrapper
5432 - sed -i \
5433 - -e "s:@PREFIX@:${EPREFIX}/usr:" \
5434 - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
5435 - -e "s:@APULSELIB_DIR@:${apulselib}:" \
5436 - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
5437 - "${ED}/usr/bin/${PN}" \
5438 - || die
5439 -}
5440 -
5441 -pkg_preinst() {
5442 - xdg_pkg_preinst
5443 -
5444 - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
5445 - # does not need to be forced into the LD_LIBRARY_PATH
5446 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
5447 - einfo "APULSE found; Generating library symlinks for sound support ..."
5448 - local lib
5449 - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
5450 - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
5451 - # A quickpkg rolled by hand will grab symlinks as part of the package,
5452 - # so we need to avoid creating them if they already exist.
5453 - if [[ ! -L ${lib##*/} ]] ; then
5454 - ln -s "${lib}" ${lib##*/} || die
5455 - fi
5456 - done
5457 - popd &>/dev/null || die
5458 - fi
5459 -}
5460 -
5461 -pkg_postinst() {
5462 - xdg_pkg_postinst
5463 -
5464 - if ! use gmp-autoupdate ; then
5465 - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
5466 - elog "installing into new profiles:"
5467 - local plugin
5468 - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
5469 - elog "\t ${plugin}"
5470 - done
5471 - elog
5472 - fi
5473 -
5474 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
5475 - elog "Apulse was detected at merge time on this system and so it will always be"
5476 - elog "used for sound. If you wish to use pulseaudio instead please unmerge"
5477 - elog "media-sound/apulse."
5478 - elog
5479 - fi
5480 -
5481 - local show_doh_information
5482 - local show_normandy_information
5483 - local show_shortcut_information
5484 -
5485 - if [[ -z "${REPLACING_VERSIONS}" ]] ; then
5486 - # New install; Tell user that DoH is disabled by default
5487 - show_doh_information=yes
5488 - show_normandy_information=yes
5489 - show_shortcut_information=no
5490 - else
5491 - local replacing_version
5492 - for replacing_version in ${REPLACING_VERSIONS} ; do
5493 - if ver_test "${replacing_version}" -lt 91.0 ; then
5494 - # Tell user that we no longer install a shortcut
5495 - # per supported display protocol
5496 - show_shortcut_information=yes
5497 - fi
5498 - done
5499 - fi
5500 -
5501 - if [[ -n "${show_doh_information}" ]] ; then
5502 - elog
5503 - elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
5504 - elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
5505 - elog "DNS traffic to Cloudflare by default is not a good idea and applications"
5506 - elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
5507 - elog "(\"Off by choice\") by default."
5508 - elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
5509 - fi
5510 -
5511 - # bug 713782
5512 - if [[ -n "${show_normandy_information}" ]] ; then
5513 - elog
5514 - elog "Upstream operates a service named Normandy which allows Mozilla to"
5515 - elog "push changes for default settings or even install new add-ons remotely."
5516 - elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
5517 - elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
5518 - elog "concerns prevail, which is why we have switched off the use of this"
5519 - elog "service by default."
5520 - elog
5521 - elog "To re-enable this service set"
5522 - elog
5523 - elog " app.normandy.enabled=true"
5524 - elog
5525 - elog "in about:config."
5526 - fi
5527 -
5528 - if [[ -n "${show_shortcut_information}" ]] ; then
5529 - elog
5530 - elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
5531 - elog "each supported display protocol. Instead we will only install"
5532 - elog "one generic Mozilla ${PN^} shortcut."
5533 - elog "If you still want to be able to select between running Mozilla ${PN^}"
5534 - elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
5535 - fi
5536 -}