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: Thu, 07 Apr 2022 07:07:30
Message-Id: 1649315098.2287bfe2683a7101089828457a42c2563f404968.juippis@gentoo
1 commit: 2287bfe2683a7101089828457a42c2563f404968
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Thu Apr 7 07:04:58 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Thu Apr 7 07:04:58 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2287bfe2
7
8 www-client/firefox: add 99.0
9
10 Bug: https://bugs.gentoo.org/836866
11 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
12
13 www-client/firefox/Manifest | 99 +++
14 www-client/firefox/firefox-99.0.ebuild | 1258 ++++++++++++++++++++++++++++++++
15 2 files changed, 1357 insertions(+)
16
17 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
18 index 2f02698ba065..026a17867e5e 100644
19 --- a/www-client/firefox/Manifest
20 +++ b/www-client/firefox/Manifest
21 @@ -393,3 +393,102 @@ DIST firefox-98.0.2-xh.xpi 418712 BLAKE2B f4487c2fa0ce8a7d6a098ca1c71f0d67d86825
22 DIST firefox-98.0.2-zh-CN.xpi 576898 BLAKE2B 7fd46fc40d47895b9667c1fa9e06cd30151a14b1b757430de8bf4f6f34a20896ea9c231b1d8173da4774e37ec0d0cab5bec69b5f178c27958e481810a137f3bb SHA512 f27dc78f853cfa4ee34964096b80a6b1f19ddc5f8a8e2f3bc5c8d15f95112ff99194ef7dbb97a1fc9d23f553166601670a5a01407bb515518fbc8e338b2744a9
23 DIST firefox-98.0.2-zh-TW.xpi 577898 BLAKE2B 271fb14f82b014f6d9705380df3eaa739d432b7edf58bc14126b5a02950e55a88e16d2e6b70eab59f8eff2ebdbc3411eb37bacdbc459358cb89264bf6d3b7012 SHA512 68b2a143750c4bbe268c02ff9b3028955151033a89ad698ad8a761d5f90b34e5fe75ed3e604e1b5c03b68fba55af470c6c92da80674516da9d627c7aa9ad4ecd
24 DIST firefox-98.0.2.source.tar.xz 479907760 BLAKE2B 41b0237acbc061366927612472aece6559ba48b8073eae6b0f79a5f00f21a232e092ef0a332cfded1ca5cf4b6bcd9cddc1ff78236ff3fe883960092e98a9497e SHA512 b567b53fcdc08491063d535545f558ea56ec5be02ca540661de116986245b79f509e0103cea5661faf9f4b3d30b67758ebdb4b30401e260ee27cbb300203f36e
25 +DIST firefox-99-patches-01j.tar.xz 16820 BLAKE2B 321770bea44c15c7ca4906f3a6f9346f4d4e325acb1528327d9a2038f6cfe64817676b1708d1f26fff16ce371357d74fce38853e410bb450b4d85f1345e3286a SHA512 8a5aff7687cdfa15012cd64145bbbd23be993d4c65e66ba49164dc41e39e51de2851ef441740156fdbfcee754f12c922d897e04bb7d2b40d554371e96f6dbf69
26 +DIST firefox-99.0-ach.xpi 449721 BLAKE2B c7e8713121c95276226663f5820a866e961f4b7e1d9bab9c87c27df1487ea085bca254bfb9d309a62d9e52f6f2729be566f94a1f69b00335afeff7c2b9775498 SHA512 16b4aa08dec9ffbc65a35d9445e5495c12bf309e7195da3ed996fd8122bdbb1c27c049722736fbf0747eb6096de58cf9bb3a3b3764202d13fab4769416c0acdf
27 +DIST firefox-99.0-af.xpi 416003 BLAKE2B e02494593e7c1ab3bc0b82877a8ab24be3633bb3b3f442f20cc4b30bce07ded3d3c3cdb7be0f95521cebfd7a10ac605e9eaf3665cf4e27deb195c20fb7b02461 SHA512 c6ef101a7907da05962086d2e6b3e94305459807ed85097463533a769d52582870ec127248106f6f956e0636beb087917cd5d858a37f45e84776619eab99574d
28 +DIST firefox-99.0-an.xpi 496153 BLAKE2B e97b274c48e46ac4fb22099fc545dae3bd743825fa4dcdb2a58e6443e632dda32dc1b2a702388665ab12430f3d65c80c0576f3fc31bbdf292cda7b890cb15b9f SHA512 b819acd1412e28d5f979c7780ac2a8dca9955f82945ab9e8ef9e712a08ec43ab363b78b62336b701264ede94662470abdadd8469decd34b2f3eed9ac9e359dba
29 +DIST firefox-99.0-ar.xpi 565516 BLAKE2B 55f8c309da8c58f8e2f3ae44d98aedd70a7c25df49a247c6c58d2c3dee57d494082729c99a71acdc20d484af021c3212cf77297be37c4de2a9d4102a8bab680a SHA512 4ff032b3750da76d0c78d91a3d96c00e8926da61dd03c758eff7f1f1bcdd15e4527c8e3b9795eefc12214df8f0263e9d3e03f23dd242edf69c8d65c8ea79203d
30 +DIST firefox-99.0-ast.xpi 494109 BLAKE2B af9c2a8e8d8d4a7ac711a8cca5ff5621b54a8061dafa6ee9cfd85580225428d499731295a4fd8e6a6d7ea5a66e96e7e3fd6514002673c7f0a34bd76abe52c3e3 SHA512 6ebc09d80f4555487fd53b8553a8720e09e3c1e8730e2a3768c2568b31041d41a919b2bedfcb837a811ff3ddfbd304145b3cc218ef55faf8c1a7f0ab8204a1bf
31 +DIST firefox-99.0-az.xpi 485109 BLAKE2B 8c7667827a2cf2e856c8e6f805c2e3fbadd9446d99d92bda08d0c6c19107c46dd248c4e209ca1a45385a3e271afca04d68387d3df54302aba094bc39d2d63a57 SHA512 ee93aa36d6824f9c5b15838cc2ca7a4d7061274d89806a070cc1cdb905978b6c3f1df44d414530fa853345fa90c645d8509c1750dc0ef04ccbc95daf3310beb5
32 +DIST firefox-99.0-be.xpi 626140 BLAKE2B 02bda3236d64d250fa879c81a8066a3d215061500848fcb2a8ca6ee3b179d5afa62adac5df3810225bd5505ef4391c629b7e5e220e652e7f21e1bcf17d1f2612 SHA512 16ea5f0e0e912b54b872b5adfcc97d8e7f7dc3b63ca83cd7b3060da57486b7433aa1924bfa825ce4b03497e30bb31ca2b101cf8971efb8af64e115e1ef6e3abb
33 +DIST firefox-99.0-bg.xpi 567195 BLAKE2B a5ced2f430203da02b3234d63ed09c983abe7594645743b25bd3c9c26947351475c5af2ec4906eb50ba4e9ff29453e9b639b84dc9ce959dcee8a775763324cd3 SHA512 0ac5b7ea7732b8fd29ed3f0e242195414c1ffca504b4d08dca30ef95fe579e74bb3c2c2c54ee53157d961cfaf3838bb743164faefe75560e4af5431a98e65826
34 +DIST firefox-99.0-bn.xpi 554976 BLAKE2B e4884783d31234a6e5f14cee33dba389e56b1012ef97e4c4265d1686aad49cb62d4a25308d14b01ea3fc28f0aa27c3ab698a84fbdb224a5c8c9ec1faa0a5fb52 SHA512 5d3d092cec0aabaad016e89430b5b4c736c6420ca73e2fc4453c9abdf06741d40bde33692d5f9dd1fd2bdfed60b115a8ca72c8c9ef6fe88ea9e4651f75ebd266
35 +DIST firefox-99.0-br.xpi 529530 BLAKE2B d0f17167d8c719b0a8078a1973fbc56774973e36fab45424ff55062607c8e34b73b6a6f9c1bb02e534df42c5a19ec7990e53c773605e4206d4bab498cad6a42d SHA512 1e9e5dc3d6aecdf72e928db50f3278ea3f3eaba700b5899f61bea030ec9ead8104d4d6fd98b106e347ce3d124e97cbc94bb6620f76090a71b7d9dc830715ede7
36 +DIST firefox-99.0-bs.xpi 459683 BLAKE2B 5d2e63f65118537fd43fa8738c409d3707aac5c1001f9afc06ced3c26d6f31b235870d4d45a33b481ba9d4ee31cbc439490a8d44452dbe27de16ec1d56a09052 SHA512 47e15fc416429095b448030e90a699666ede4ac6e3babd59493c6e0b276e26b100593756234b11396dc1da82496960d9e5d5ec300617397ba63d29c88391ba03
37 +DIST firefox-99.0-ca-valencia.xpi 537194 BLAKE2B 206de3ac19447bbe0ed2a2f2ce7b7357debdc6d1caa1391a1c7ffdac54717a2ea6a62e06e8a60529bec88c04b10dc9b31044abed1a9e6be1fe0966831d13b443 SHA512 a063f3783685c6d227eb58b9e12ce4a02a0038f244ed153462fb405a8362c392e76cb64fcf064f206e0be762378816047481c2a901a7c90638e3c069b9adca68
38 +DIST firefox-99.0-ca.xpi 530875 BLAKE2B 3e69fcda7482edd27a91a8f389b78da0446d08ad35bd1392e78ee3848c0fbe323b03d9b4aeec220856ed9552971859a99f8ce18c65f7e95d72d633692907fd84 SHA512 1924094f0c0deaad034d3f34e4e528d34b28530e41e068b8e4277e6331bdfacda670cafe2732dc106a427666b9c2b72ae3b2aabd2af3cf8fbd72394f09c2f662
39 +DIST firefox-99.0-cak.xpi 553816 BLAKE2B 1cae27b12c0b79a8943d4071485c93fe74e04d8a5a7a67c22d24caf88ae01a5b95b054e362aadb8f0a7b10cec58c677a240259455b90883c44e78ded7c8ebae5 SHA512 60a9d7019dd2824c2dae505b5cf5b44038073ca356b58e11870b4f7fcba0cfec95b5dd8fa39a515959fa40b0f98886bdee6f98087be543854f8f4dade4de81d7
40 +DIST firefox-99.0-cs.xpi 568907 BLAKE2B 55e440a2c97860e9e7bdf3af22d9097a74f4ec42771977fdf645756a25369fe16cc173310618b91f8333aaac374519c0bc6b1edd3d180bb5e4e08fddd6151528 SHA512 b4df00bfcd4ce558d5c2aa2e104c2a68c6c4858bb6c64f4edaaf602a154f7dfd9a9eb257bbf1e1708c52f3a49074f2904c7b3acaff820a65f1387a1aecbfb75a
41 +DIST firefox-99.0-cy.xpi 545779 BLAKE2B 2fc71834460ef8abced2b0775ae38029167f93c9e4723b899c2e782697e11a87a199ad8be992ae641a5ab7153d156b0939a691aabd912011e105b5cac286eadd SHA512 084f372ba47e539a0c89b9f440c3bcfb6f0262056e4af7e641cd83a27de7b41e8020157b8fe23837ab854aa351113440fd05050ccf1f751f44b028cf92e5643c
42 +DIST firefox-99.0-da.xpi 537629 BLAKE2B b797529fc322696566c6299e78ac7edc0b740ee7f0bb9491ab908163c3db1a94dfba6d41051620e3e74704e78398a42c708a6d1d41813768ae67a8af0f08932e SHA512 a602fc22f042f9a717edcab51922e1db213fe7b4c0aa121b2a5e2f1015316aa82e5428b01c9221cc1abc228bf717bf006fd7e64826d791873e514b46acb782b3
43 +DIST firefox-99.0-de.xpi 558431 BLAKE2B 862ffab977b3d0a8e25909833617fad0a4b10fc283854c3d76494858b5a4fa59208a6a9e41a87d89fa743c6caadea181b4152f358f4ef894eb0910b71b47fab4 SHA512 c7887b0cdd584f3271d3143c7c7110f8192797795dfa3dca83de3015659cc74e9b982478bb2c7156fd426df4ba0c745ba0f019b502f5a6cff7792391a9665ffd
44 +DIST firefox-99.0-dsb.xpi 570293 BLAKE2B 5361dc038b50ff1c223f649c12ba95cce069f47b8759904e780e02ca473aa8363ca893415d37c17f4153850abde7948e236c5f9a5126fed1a24e0bf0b70cb53e SHA512 1c448de95025903c3d10be019f1bcec23a2789bde1d95fd50f99fb66dede0d480c1145605842227c8423c297fd176b6a6a37e1ea8fa1e34008c6647012a0b543
45 +DIST firefox-99.0-el.xpi 644717 BLAKE2B e4ba6c9e01c6eb28bcb7972132dc29fccd66a517c75e110dfeca3aed61d3c56725710091431f85c476fb9f06af04c93e9bdbbcc4b583cbb6e807804de371285f SHA512 a64ce10b30d6cc4afdac1f678ac169b30ffc00c111b512d0e740d7219ab6ce94bc7e05f32b2c63372f59fa75b21f7fd422957faf28b7785d6b4a89f65bb87ac0
46 +DIST firefox-99.0-en-CA.xpi 514325 BLAKE2B 17ec4f667e9ace747539cdb0f3584a276bac6d6916cd891ea75e02d95983019ed79b2f55b7728d612de5959da8ddcff04b5e37ddd57a781c55ef5d7fd7cca8e1 SHA512 351e7404a0036ebd8ded3e1b6e910dc7336bc5614570ef0ae7b81bbfee09d409dcb4a6fa05cf4730f943487a11b9b761a8a06af97530c361c537de354002b529
47 +DIST firefox-99.0-en-GB.xpi 514657 BLAKE2B cf6adabddb265421c315f5c2107122699ff6e711d7378e327613cc1527dab082242e923fe0c2a8523c61c288e067af74c18627c88c802c1ef3e8fb8b4df073c7 SHA512 4318b20e5b2ab6c8f9dbfa8f30d1842d98842253087babc593dbb6486fc70896149a8c237d4b3b902b05e8fd9cc2ad27ea42d844ad1958ffdc7bdd128812c57c
48 +DIST firefox-99.0-eo.xpi 540860 BLAKE2B b76571a14cda8d6c94fd968dd4b7a9895a05709ee9c41e6b956e4ed9c2eb9f66f73174238fe417ea10af0839f58c4484801ef7cb2400a0b9bb162660f5cbd3ac SHA512 421f04ed2c80d29bcd508afba1e0a133d1e485e990c18b7ad32fd9bc7237322961116204de3446641c83b67985c665d6205536e841187de551bce329905cb674
49 +DIST firefox-99.0-es-AR.xpi 550329 BLAKE2B 027802820d959fcc8993ac88528ddbd05961f639d85fb6b5160bf2228a2af3aadd19eb6463cfe2d7e8f1f4cf9856f4940d8a34ed718a66ad23109166f3cfb185 SHA512 2483ad87c3f60be1592de88a594a9bb9500388d2de6389ea9652365a85dc0a736e25a690940957be0045f7ac2767787431c958dcfb04afac3d93bbba750be353
50 +DIST firefox-99.0-es-CL.xpi 550832 BLAKE2B 91947ae89d779b3d8d98fe776db58b927bf1957f61764c597e846198975658e8be691e0f7c439d4c1700113bc5ac90e0d32ece1ee02f0de35127f627bfe0cc93 SHA512 ef1140939ce68e99ade7f62946a990fc751283ed838b5862b7556853c3777036c4fa9663ce8d90fbc473c7d5179a1f6b32c0efe12bcb435ac0de488912f97a77
51 +DIST firefox-99.0-es-ES.xpi 540968 BLAKE2B 65546f0817a149d2efd41adb9424c22d31797ffaa5f102429a3b4db6c7e7e748ebc55cf2adb3e06c50ed84f45ce57c5d917ed4d62ad5fa4936f0bf62d85775c1 SHA512 ed2b19c6cbd116bd389b91846bbc9cfe3e35d59fb520dd4bd2dab95d8695ad3ef85889e2de736213ce57306ab660d9d3e745ff01a3bcb9fafdda7c7985c3e18f
52 +DIST firefox-99.0-es-MX.xpi 554932 BLAKE2B 0bb4a96bdbd7e2d43d62f63fc6ec06243f8c30d5a4a62f68b8054a02b97a8b1dfb508bff6d3c40ae55f37cdfca3007a326e963f90344980c696144fa44210895 SHA512 79cbc9f54c88515b5db533a4f631485ce48877db6d85065930f8d25f8a7fc341c53ce0a0a2b1d42d9a5e3a7fbde6b68e0087067f253f31b078e04c780a2315f0
53 +DIST firefox-99.0-et.xpi 531568 BLAKE2B 838eaf12caa38fb7ff194748e82b7ffd51091eb1f0e106f58c114e51464e9cff5da72bb72dceee6176ee9f3552abb320cf156bbc88ae5a6c88c27d0e519a523c SHA512 9a4fcbba9114f485d8f41702db6b19692976382f11acdb43ed3cfddc4753d768e034e10fa28b5e9cdfa3c020bfd0f77103a06ecb87d2d6a8ffdce607ed112393
54 +DIST firefox-99.0-eu.xpi 539144 BLAKE2B 5b97c4987a209a053719c3b36fae5a5201ebf53b22159df377d9d7a8b462897108119794309c47997056553364abca0afb47a80a4f4bdc69d0f42e53080a038e SHA512 e4baa47a4b76cb9cd5dfa05f5c5d5b57638e721ccdc39e77b57753c6449998705dd763b7c9db9d2aa07937561dd5de6d2f96b0b32c741bbaa00833604a5f9f32
55 +DIST firefox-99.0-fa.xpi 561862 BLAKE2B 1bb3433dcc78e4dc2e2421d274daeafc0948890051112c60acdf94a508ac910eef0d5df379219bcce39ee55064a7f5d483a1fc5ee03b79885d84201e8f3f887e SHA512 4582efb9abe3c56fd2b333b53e873e5b14ad218de18143a68925908fb1f00c7fcac757c6e2c112b9caa15d591c943c54a6415c814043aaaee87ba64c47ce5df2
56 +DIST firefox-99.0-ff.xpi 468838 BLAKE2B ea5c9d16556b0590f0cd0eaee2911cd793485cd7c827d0c1fa0d619d2eb04dae3b96ea07fd01d3ee734b7267bfe260492abb39db830c9de8a750767bfbebb351 SHA512 644689266e6a65cfe887fc8fe60cdb4d523766c48da11af5a865a29e3d1df30ef7d3249034003d0a18234938aa637507efb558a415029ea31d98ffe3fcd49462
57 +DIST firefox-99.0-fi.xpi 534594 BLAKE2B b31bc57212f8cefec74e9862b4e5eb9a1fc15e78262bdedca5430d34f346ef8e3819f583b22f4bc4dc33ee59fae8693853af2c36b2fb09ab735b1cf4d8a60ee5 SHA512 55efbe30272f9d425095093d9cab15195da7968678d1d3331937fd430d38b5e7f8574fbaa5597cfd3615ddb313b1b1c64d5e141941ff2d218705eafbf0fe1c71
58 +DIST firefox-99.0-fr.xpi 561570 BLAKE2B e6af2915f711712fc2d8eceeff4ed060228d153948b0e843ad8a4a66aee171b2762c4154ec758531213bd933a2f38c94edd892745081675891bd83baa4c906c3 SHA512 8b483d342f762c6e358ca603499b4d13f5ed7cbf26500ae96c3d4535a3aa4ba95819c999aca16670f8679493c2a1c61ce2bbc5e820f285ccd0c7145341bee003
59 +DIST firefox-99.0-fy-NL.xpi 546703 BLAKE2B 2367236253ad9330a95da161719f5eff652b1f29b941188f1be6385ea1eb439805aed81d9cfbb6e4d3ab03ba66e4c905236cbc2845f98d135bcc90e1c75fa829 SHA512 69a682b632764c42f623ba3cf1a8abc5966e085def3e43c69531b333285254650f9d1e6b16b0d650cdfeeea09a28d265ef6a6a418183238494ed109170dcd254
60 +DIST firefox-99.0-ga-IE.xpi 466068 BLAKE2B 5acad6cb71b88381b64f91d7294574f134aaf4f37847054b00f494d63929dbaad70889a5907b0cb65cd69b3e4d0aa9172c99af5ea59b2e00f7e0111a6d36aec2 SHA512 cc556bf43381ed34a7dfac1758370c694f15175a074a84854f24afa23c2c1dd4252b07a3c985c41be5385842178bb23a82ab549547469604ebb94e7209d1a818
61 +DIST firefox-99.0-gd.xpi 529615 BLAKE2B b3cae85f556eeef289a9d0152d1cd6769cf40772bcff81fadfa35f82b3c9de75166f14316fb0668f3752c1ef5f553851e661b4911c9b3c52db91cd53017cafe0 SHA512 8a2300d664d3779265c6172a2af90b12e12c8fa0e64d37002ec704f431a53f3b388a8b80aaef41918c0f59b2e9c211eb8cce95c3be31ec5cc432f037f3e25ed0
62 +DIST firefox-99.0-gl.xpi 542511 BLAKE2B 2985b747ffd90061a2e9a2cd0c0a9ebf7738a6fb34000fd49cf4405e6e1c52f656bb95336365352a18bb7e7b49cfbf23395c0f4d84244b10e1b71d9acbfb1062 SHA512 8337c2f82ac36d93c12a341ce10d7c93dcae1cc8761f1908b41092b3c367870038613aad7521f470e23f00b584c8231a033bc92479c03d07a36158f795f29130
63 +DIST firefox-99.0-gn.xpi 562973 BLAKE2B 805380b283428907c8603aad4c9cc1138a205be2883e4368b8cf627974db515c7ed43dc5f61cef769354d2bed6f946459d7d473df774a918d55591a1e74d64ce SHA512 66a9dd8cdc7cc82fd73aa012b2e61d10ef403ca52fe1554c798c47eb9c97bb037ede4994b60b6408cfc746c1c1fda5cdc9460f44804589b8bd3fed9999500433
64 +DIST firefox-99.0-gu-IN.xpi 526093 BLAKE2B 6f12d18e2ba6fe4aee2256b47ce678ba3f139697bfbaf9d2ae1cd2f8e6ad252987273f9500360aefa1a841d12e3ed08f16873d998b2e40bf4f1b45b69d4181ce SHA512 5fae7543101b2e6ea4050b722304b0a48a9bf896b11441a68fab1c29b4634c69c8cbc4be3f5870d5624650cab09cfa9a3a47aae4c4fefe5e53811351243b0a7f
65 +DIST firefox-99.0-he.xpi 561367 BLAKE2B d4059b7d35f9e576b1519a83a7b0937ef648d596bf95d66bc7d30920bd0eefd6f4af734512988472f0ae1c76a866f290c86474699c45e7839856bc158ada3520 SHA512 ec591f2843ddd7ae819c71218ac01a13897771540d4b9d4fd460e4a85007993d5bd3a54e9e78f5267d91ad9bfe92f0ccdaa7b520154e880c1ae1dc7100122146
66 +DIST firefox-99.0-hi-IN.xpi 556463 BLAKE2B 00bd06a09ebb23923e5a2a0ddffe0564e4be6a4d843ae9acb4e1b847578c508b044f7c2cbe6bf449f92ed52a87e21ad82a100c37e7b693900d55097d323ac22e SHA512 8a3c856e4b70d70de0e85f5d4166d7c439f820de6c3620cf033fce842ee7f663eb332216178dde897d01eded72b0c6399738ceb0f818b564905da5ce9727aa61
67 +DIST firefox-99.0-hr.xpi 530648 BLAKE2B a231433f2e9d4cff10429ec7d40f73b193069853ed8930d7630ca2e4da1eeb66511ca67f98d1511b060f993f16c37a5a56deddeabe327ac164948cb711c1242f SHA512 f649d761725fd3244a67cf1d763e55ff9e3bd0a6aa7fcf6903d7918b78b3a737f29c8db67c0a4c2d7bceefb05158f8acf5de7a60f826f95bf588471020c30070
68 +DIST firefox-99.0-hsb.xpi 567362 BLAKE2B c8bcc8ea21318177f7f0661f39dfba0b45bc20d452c85b5925773a286b66eb75952587cd870b9b01207fbaf541fc75e9af30b7b461a9b10d3c80ece214877b94 SHA512 f7e1fe32407fa08ef6227af0fd22f035f3532cef6592f5e070024b47a909703d123a583636358c48e9ef250cf741a8b50a4c2c18bf4c9d2de8486e2f4cff889f
69 +DIST firefox-99.0-hu.xpi 570901 BLAKE2B 4955bd34d024af6aad70e6b9979f18b84c7da475e8fb1eefb5dffac224bd9cdc5ebd3ebee610dc5c3aad35e085738a5bf1b798cda2fb834ebaf305a7c5fa4391 SHA512 e8be3fafe73a99aa6f2f993b4f4b0ff26d9bbcda3852690f7dbe85fa4c7793782f10e2dabad18451c8ed87dc84830285805ba5cb9809782ac4777fa546927257
70 +DIST firefox-99.0-hy-AM.xpi 580530 BLAKE2B ca08b180d48e4b3039d6f3e59a2f649a69faf6deb6a21a2d6e64c34cf96980ea2c437de4874fe2dea091e2f0bfddcfa6e4d4d85a246bb50429d491ecbc0dba87 SHA512 48505c7945630b0060357c630551819f6f7e572668693534dc0ba6e1508a74ad85da875bdee60d78b7573942006a4ea59b4a06fcd638f137cc192282ef684727
71 +DIST firefox-99.0-ia.xpi 536927 BLAKE2B 23c32b474544b66c3abcb4a332956d1fed62ca4dc8b3053c2563aa645371a18128615647294827cbb68a87d1a1be0f3c9c98698367ebae79690a9bf7f0970830 SHA512 892205fc00d16e25551a2d07f87296f5ee6a0dfb29e62e302903f0adb601e687c4740c24d3df5775106597d9d483e71bf3ac5fd269014899e566176a2ea4ae6c
72 +DIST firefox-99.0-id.xpi 533457 BLAKE2B cffaef8a022c59a77e2ca469b776bf87836c76cbc2395b56d9cc9242b51c0138e19047e3f86ebf599031d9e1f36e69507053a66e27113f7de8ed319bebc161ad SHA512 cc2da0ec4a15b7242deccaed8bbe16720bfc4ec604ce68a907e8eccb24f6a3214d6c8fd051cf7bb1eda88f0a0f203e0ae9b896c63a0d5d6c5bfb6ffbfd9f6c24
73 +DIST firefox-99.0-is.xpi 539733 BLAKE2B e9a073ee0cd493e6370adbf61b76e52d0ba10f9caecdba542ea6312c630c1604f729e6cf1f16401a85f33de6bf1d3d8cc54a6e172b1c1abffa89ac9cfb750b9c SHA512 712f6ff71878bc7d5395282aba828df9a24fcddc9ea53fad4f69be7cc159b5eb65f5bc9d9ab98672e85f3fc7138ebf33809f55e4fd8fe46c21f4bca943ff1afe
74 +DIST firefox-99.0-it.xpi 463735 BLAKE2B 9827a186c17181d032407e718b6dae5df7fd5e5e9265d5f3c4786361a30a2fe58b6cdbc6929a5958a791458dc37f295a556e3220e56516397c7896f85454a8fa SHA512 b4eece80b317540458afa30ecde331bdf4d95981b0f376dad84ca59bf699c38e9ada0dd0796ac2f7eaaad16eb4ab0c09fa4c4fb949a5429b06fd355a6f4ca6cf
75 +DIST firefox-99.0-ja.xpi 592082 BLAKE2B d3b3a76d1a64efec369af63422155b6e6b0f2ce67b0ca12c68f18e685c2def7d8a4819790ffd64403d0184d86a6830679ee2da06ff55ab1609d8aeb0c4f8dc53 SHA512 480c7bd4314425869f9799975ea01bcd5ff93ac50bbcd987402dbf107ad6574a5799d61ad92843513e6eb0e476cb6f2125a73351eb3425d47394f0d720c96cdf
76 +DIST firefox-99.0-ka.xpi 595025 BLAKE2B 072904eaf4025f159c429b45e2f5599d6eb6fb8ea30f5e6bfcc8bc3e0ab2d4e906d549259ad2409f35cad6bd7e9f619793c9f1527a38896685a03666e949b7ed SHA512 5d027dcf6efaf9e3f5adad47efe7f8dc93cea25e64d551c8a3c3a305ea5a8bf73707c884e44df2286335321593c9ead867e2213b0f266c09f67bb17af0fcf230
77 +DIST firefox-99.0-kab.xpi 548760 BLAKE2B 2705460e525b4646a72451d439c4dc900118080eca35db412e23698f35fc03e3d3eb56e615da1ff9cb88eaefb93cdfbb7e3fc31ee1d9ab44855837737ab99c68 SHA512 a58d4373a5b744339fd946337ffcda46027aa76d3394ff184a01d867390215eac8d3a98e27d05349eb2cd12620b50b38af4c857c36bc16d15dca27234450b504
78 +DIST firefox-99.0-kk.xpi 615899 BLAKE2B 8ef40d65b3b8c0cf3537c76c6393e51e298b5a5e1f1106add87f485bc2cb826f6571d133827de925127aea2fb5d4dcb573ecdb134cd6f3f5497ae98eb1303a13 SHA512 2fef33eeade5a8db0796aa35e6390c0b48c0e28271be2b5bd778eabb796564f96a00a8c98ee5a1a7d283874fb4d715dc688e6a77c123f4bf629d7884556316ad
79 +DIST firefox-99.0-km.xpi 526280 BLAKE2B 0cef56d013c2c4be64daa178bce1a257eb64015324c078bd152fc6a62127fce16da520daba20b1d1df7f78a2be6b73a605159648650800f3ce3de433bc12e1fa SHA512 d8dd45884c9343616e9fefee8e37b85b18793273105c0d122b98d635795f875c15a1590279f0c8a9293dd48293039ee724ec5e0dc4ae6ccdadd29aed30de0634
80 +DIST firefox-99.0-kn.xpi 491869 BLAKE2B 11ae6d2a4e0cce8e4f7328db317287636cc71139e6b113be43d19f4b0652a204cbfa41cae2d8bc2e5ceb4e114535fa3133499fd19777641802b5855366a4a91c SHA512 cb1b454ff59622e5aeff103e58185b15005ebd82bfe336684ee8d7f48c7392b3ba527e42e12136af849b95a37d59525bec3cad92cc3431583b2e2f80d9e131b1
81 +DIST firefox-99.0-ko.xpi 584216 BLAKE2B 45829f077cb1814dd5c750b6006f742d57750e2c18ca8e74294a1e918ddcd06dd0faa1e9c7644879ed01c480fce6e3ea344262f9bfdb531004da953a6c759893 SHA512 229e0432afb312b8674d175c04d098495b30aff11ba34dbe5f69bbe22533d9cd73b2acac65f42c0f1c0199fd7f82fa804c041b0f7e795be4ae59702186675f15
82 +DIST firefox-99.0-lij.xpi 467637 BLAKE2B 6c49b9e18c5311a680ea8363fea8e656e4891054480a63c40f0b2ac02d2070b9adf1c3cb14565335ceae28ca1c2376f48b8c4b2384570c3c0d58625d74c0653b SHA512 900fd493695306036f9d6b8184e1bc9a5a2559e44e37fb6a7bd2837ecb4651ff99aa85445f83f3989488f63bc1cc312311fd4b92e2b3027267a813abe1d15a9f
83 +DIST firefox-99.0-lt.xpi 560313 BLAKE2B 324dc9f5aa670ecfff4216fc8e312a0e11201d3eea7ca5dfaefaabe438b90773f58f140b4ab5a40a95247651d10c35cd653f052c26ed8404efde1c95d4ea49ad SHA512 e888f5d0e7beec61f0941e90a6c32462574634714ba74289898cead32d8a5c2b9c9de7c58892616527a5eca3e25674cbbc1b545f845257a48a74ebd7b238f11b
84 +DIST firefox-99.0-lv.xpi 459813 BLAKE2B c5168163597d89361d9995724a62e223e5b1c200147699629c4ee726aa85400d2d08b73f9745c9bb6d1318ada17340a26be08df7d93a4631e81b73af3e8d18ac SHA512 b9d2f2ab7dcd135e26f9f12fc6ff4cf399a8caf0cdbd0dc6628917d07a6abaaa7142c57b34bc2921277f0e7c369202b45a77f810804550c0a4504f45d8cc2755
85 +DIST firefox-99.0-mk.xpi 459515 BLAKE2B 20ab0f82eed934502b3c25403cab57b0e29cec9fb38e1fcfb8f0d0b52352c3fbe540810caf13f2a4cdb8bd0cd2dc64f262bf7a5a75dfaa1daef769a51897c53b SHA512 2a08b3eb50ebd2738563cf139e86415218314de7a58be3d462a267c83e7b754c0dea406c5f9f067e90aacbaef66ae0d473cae81a5fdf0f482f3f79240f9a7e5f
86 +DIST firefox-99.0-mr.xpi 528743 BLAKE2B 86918fcb5e5cda7a07c1ba87f32baeda87b032c3edc5b6c61c338f92e503fa21c214e832d3488bfbf4aa69813c77df433ba4d94adccf2303cde8a261621923c1 SHA512 7f341caf00525d35405774ff274c74251a516f59241f1669a8212d8de4b00941b2bb7ddb8c7fa83d52e234773a90cd805fec4931c0aa4cbbddeefb757103a662
87 +DIST firefox-99.0-ms.xpi 444837 BLAKE2B 38703eb5cc2e1d1a2509e08c00176c7076f76d964b3e66e4465a75c7fda008749573ab4793f2ae77dd837243876238524de830c4cb269fdf64b83e389c66398c SHA512 1d7ad1ad05215aac736013f60a6349256976a5c86c38c61a18f04837b724d60923aabe841da2d663a5637e0074af6fc5d999ff053a4175f631f51808f4063574
88 +DIST firefox-99.0-my.xpi 507782 BLAKE2B 735f48e42cb252591647a9410c04cdb65de76cae803212ea6eb48452f3a54fb5772704ec9c118b0be86751844845df1c04922f9166c953e7cc5b7172140f3234 SHA512 7b6a4051f4780b556737d49278443a2a70f17d22e8d6d1c11482481343afa807efaf03d14abc1df33b1f7ed3e918b3c746132ca4956bb28fee8a01868f940f58
89 +DIST firefox-99.0-nb-NO.xpi 533046 BLAKE2B 220cc6ca9620145cee267d8ecec9d663d5985fad1da58ac628fdf52564bb1e6d03761d85d554ed782b4cbb54d2f24139ab10c06dcf252d4804d61ef5ecf40e42 SHA512 93e8cd48c326309cef6b4c55c9bb304bac87ba1635ae1709446d18b99a74c04705ba2187862e5eaa80fd0ff5819b83f1c46683ee22abd300649ac0540708eb4f
90 +DIST firefox-99.0-ne-NP.xpi 481375 BLAKE2B 8e1df31ef8cf39ac794f83bd98820951b4b267f59c22a252ee0596c9c23572db976281808c47634bcc9a739034b4ef84f46ec4175bba677024d62464765e40a6 SHA512 1a03d31a0f929e974808b50f47fbe99006890bee24dd1efcc2af68c101c8ae21db001a764ac9ca5706f9f636d6253478184ab9cea7e71de4438fa30b3627d73a
91 +DIST firefox-99.0-nl.xpi 540944 BLAKE2B 991669aec24abe2083b0af4924c899a48f057605d55376ba9b2271d5aef3c6c01faea76b9ab330eb4a697f774c9bd715dc4a7738bb0146981e17c0f8048a9593 SHA512 f5e6d3640a7fa2a3151bfb549ad75d1dccb600d32d79afec3be0c354ea2fc7fecd9602b485628f9f630420252315abb14ef2ae44efe86c16d1708f23d913570a
92 +DIST firefox-99.0-nn-NO.xpi 536079 BLAKE2B 9537d3b1f904fae2d68552f3b6c6cf2f1688bfa917d906be4ab604f170ccb1461ca9e6c5a4d1b679ca69a93281d0fc4a8a4866fcd92d3c1b775bf441fa6fe032 SHA512 dcfeac4a9018389e24d2c990b8a30b64fd19a4a8fe1b2ab6d36dad27e915dbf0d9f813449ad5d32fa7c03a5f8fd966b2d49c1c287dfaf3bdfea23f3c7fc832e2
93 +DIST firefox-99.0-oc.xpi 556561 BLAKE2B bece32306c3e031da7c9a1c034344485623329b82608328c9d28a7fc04489a1261ad95771c6ab5991ab16bfb5497ba98a05bfe9bb630eb0d5139bb39618a0847 SHA512 68b6d986c5e00458a9934e249fd22fa8adde0201563f2c933f888132615f0159c4267b934084c80d68a4705e4b003b34245cc68e886b97d30fb91c1796af8f01
94 +DIST firefox-99.0-pa-IN.xpi 596224 BLAKE2B 5fa139210ac7e4c6988704c8d3ac0ac2a009a0b3006b695a7b94ce0bcde3043cf1bdb8af63436f13641e6f79978e7d696ff23fa45c0ae8750f1b0081bb8f7ba4 SHA512 d054e99739ae43a400077f52ffff3d0668584f6e389a20ede84a81252c3ffa61fea00219d4014e5d8fe64b8dc44aa83ebdc38b2d525f2330d216589926634368
95 +DIST firefox-99.0-pl.xpi 562209 BLAKE2B 191cc9583e8f8d7e7af7fd7e49aafd47c4eda88f2ccc798c9c0341b7dbbcfa53539b52abc12ae4a146c3fc0ca6e77762ecac7f6685ad94f941944ea03cc304d9 SHA512 59eef155da48abe70e1dd43ee5b366c9d4d28b76b4e81122618af985dc2c5e5ca577142c777cc009c7f61cb7278e03716c68461ea60ee1a62cfb07fd174b75db
96 +DIST firefox-99.0-pt-BR.xpi 547403 BLAKE2B 2dd54d092ed0a368b48c9625884c4ada27378123de8327a66ffb2a63ae4b9d82995137d5219a67203747ec90003f91589e665e39f3ecaf9b68e210fea277d80d SHA512 0faf2c222e72a53b032f3373dbff2370d6bc7d76d97fcf0d148118a45f96145a4cf0e433839b498cdf98bd41ef8b6eee5256af4fab364e8cb1cb58b4fe7c2f86
97 +DIST firefox-99.0-pt-PT.xpi 550893 BLAKE2B 18755dbf84d38f7e093e3aa3b703a2ed4f3ae5362c7679b12e0304cce0bfb04f7251e40431d275f4779593526cdb6ed39ac18a834c55913901520c822110c673 SHA512 5025e133227fef149da7e21d6a19115439a6e18aabe88ebeb7a90b2ec2c3be01b25808846636d242cbac62c5dedea2c463419456c9fd91f8c849d9851295ae7b
98 +DIST firefox-99.0-rm.xpi 541758 BLAKE2B e5219dc337e3f1ab281c51f778b97c02bc23ef4a8f105cecb6fe4698e2f600e6f4d2dec9eb009d3841b5dae579f8643035fde84f4605a79ef01dac95b1870dc1 SHA512 01a9b16f2afc275a2d2407cc8bfe40fe4260fe306bcef3038ce1ff5f3a128eba4a6bd47fe996bec248e6f9fa04cde077e9b54731a3027ade9bb2e133002bd4a1
99 +DIST firefox-99.0-ro.xpi 528428 BLAKE2B 65875e722cbe25b60fe07b3472f09d46486622dfd71a28c6162e5fad035592d275dd37194493620ca96b48d866f3949daffe6de01c3d8d05a89f81e4d8a84c75 SHA512 8a4c4625cafa702887788b4d17db360ed55cd1d475805ca2da129ee173601f09415b682f6215034a3db0c217eafadbe1a27f5026a7965971c07cf415c333caca
100 +DIST firefox-99.0-ru.xpi 632943 BLAKE2B 4b4d76783db0ebfd22d7e3968d9a6afb44702b7066b51e4f93693ebe5b86345aff9fadc22a18c8f7824f0e53562c6801659057a84dc9ad9fe896e1a55c46f04c SHA512 be90923a0f89462d74dd2b646995c841a27f366806905e125ca8ca355c092aaaec2c0406668ceda7b89ded53fd43a07da0c4867436ed89f02a3f61f8ffb955cc
101 +DIST firefox-99.0-sco.xpi 501405 BLAKE2B 188eece514b7ff9e4120aa9663f45d94617786f4196f435b1ef84adeda6779f10813178fc7654ad1aab3e5bd42fb5344ad7567db965c2e3c0a496642b65200ba SHA512 cdcd16d91e448fd060dd1a60429805ad0523b2c3df64488e649f5dca9800b4518c9d5da4373c38157c34b8c55b7b8b2892602f33b240cbb7f19bb4d8a5c4a78b
102 +DIST firefox-99.0-si.xpi 481964 BLAKE2B 12c0b5f93519cd780567a1a145cfa13b938e764aee7d53cf2bfc1ec4702b0df3d72179e3bf598082281d3366fa684ea09ce2641c5a23edf9648b638edf11f096 SHA512 b0d177677d3d4ae671d7ea5135c6014b51827c65982d5ab39c01d217f1f2382c03556bffe0919b0f4900cee9c86baa72527c9bc3d7c3347e2488215095c4bc90
103 +DIST firefox-99.0-sk.xpi 571721 BLAKE2B a7c04150015bc7eea53ceadeb4eb9b3d17a7601dd7327ce7c0c48082cb7118486bdf06139f148ea07d83a90b036cc29b43750800c091fa613bb98e9afd80bf89 SHA512 59242d700d28882b5fb1015a8cabb828d99a2091fb1825cba681488b431edc830b169a58557c337a98388679dabde5a43d80bb0f4b70b68c112ec8ebd2ce377f
104 +DIST firefox-99.0-sl.xpi 541738 BLAKE2B 9453cb7c0b839319b430f066e1606cc0569d889627ffed849969f8676e0229b5af395b427e3b347567bfc3f9ff1c11e9059c6c1afe536973121a2d6439b69e46 SHA512 8b62c7a6f0682bdd7b979a95e2189f5328f0d1bf6409079a2d518d266b28f68dc60935f89c736797fd7c1d998d2f5cfddd532906e94198fd54cbad5ca2039471
105 +DIST firefox-99.0-son.xpi 417249 BLAKE2B 243ddb54fb38be924a3d6049996d80a8de6622e4eefce5fc7f432afbcc4b87fd1552b1275b7c0d3f4b489c115906ce716abfb22ed49bb92ac37a94309e2c25a1 SHA512 725ad6fc929fa931fe207b6c484d7f9593b2efb69aa58c41fe09657934f020f8b7a538dacf159213a168994eafe07fce12afbd91487f0028f92a0c4ce01b745a
106 +DIST firefox-99.0-sq.xpi 558047 BLAKE2B ceaec9a13ff7eaa68331372cec7f706b525d6f3a727211831c41a0074f70b90cfdb65c573b86e838db7783097b77736b4e85b660d80f51badbf9856cc580485c SHA512 c207f4574d4d84bc0c0ac7e630e7d766eb75b941e8a5ffd99ba6158536680821798cabeac2fae8399246603f6423c53925c309db8946dda0b6f686b3395d906f
107 +DIST firefox-99.0-sr.xpi 585311 BLAKE2B f07d84e4b30ebcdcf409ab5e850c9101012921e0762f35940365ed22709386895e2b9e76fa935ab0f4777933fdb4c2e031d82cd812ebd0b01f057b389fdddc75 SHA512 92726ddc990055aec76824e2ab50f169c2132dbdc784d517cfc873994a83c040cc68e059f659cbad8272a38f5135c50e998b53badbf63b946b827dbd1c6f0f45
108 +DIST firefox-99.0-sv-SE.xpi 544644 BLAKE2B 936712407f7b65fe41bb7e1e819f797afe27380018a298da9f159e9f360ef997387f806f84b8d9b7c9f8aad5964b1b21f62b33aedadaf4bd5f2edcdf9fdc3ce3 SHA512 a25702a257a20302aa0c4af4d8505bb4ba3a34a9e47cac8b50edbd3918ca0e3480bdd7a728680cea729acd1cc945c724c5fec4609cca9ab0ca6d585395aaaec8
109 +DIST firefox-99.0-szl.xpi 504193 BLAKE2B 412b0dfd773431bb6187350ec4f33717a9390944dccbc96613e6aac00e54be5501b0cd3e55ccaa8247ffdbb541e5d0a40c21ebce8268a706047f2b7ab75caa04 SHA512 4c785d14217928711ff85e6ecc64888fb530c27d98d36d404d52651b2f880d9db5d08174f27343df5e7050eda70d0e7c6f4affb8ce5212755c1fc95a3d06205b
110 +DIST firefox-99.0-ta.xpi 508914 BLAKE2B 253dbedaffe4994b8402089a44c3813f9de4fba3044ba71e73b507d3a2c35be1e56985e11ac05c4679fbfa342ccc9cecaec1d0008de235c920cb4edb8cebf634 SHA512 9ef9bf609351407ad642a8d843abf1a12ed632939a5cf40d2c901df841a3fff04a2963ebae8bf6482d2cd4a8247b037a478b94983f3e38ffe6b02776b45380a8
111 +DIST firefox-99.0-te.xpi 547027 BLAKE2B 41f22125ae1049f4094028a682affcc41edaaf04c6b2abce6c623e4492245f0c90e5cb8e683ef5fc9a98e966b673dcee26e562cfef79ac39aa97f89dc71d385a SHA512 2af967333317b929fb410d4e1906b8417b82d240457df0499f80a66c36d979ed2b356d3842272ae2c6fb669addc5b4f54e82cb3f68997c95917fc1f35093a1e2
112 +DIST firefox-99.0-th.xpi 610969 BLAKE2B 457d959adf5e222ed316086b34df90a2e5aa5b15f5f8204a8541608dd1ef09ea18041c453902850e21dd222e4669e77b99a4cb17e12ee7f911bd076e34fe772e SHA512 688667925a8f939e3ef076be62704c4ddaac37e327a3462fc66520b085c33c0da79613eb239b52b9a2122adb985c48f64e5dd1a8113ff1da46a04575647fdea8
113 +DIST firefox-99.0-tl.xpi 518541 BLAKE2B 9ea4a91e98fffad6d78c8f047c603168b40d3c6b22744d2fc6155e0885509bd3a9da3abac629ce8e3474aeb7bd3370c4786e9a9182adf971fdf673a2a55af074 SHA512 805253a6f6419345141eee84a19893476112ca0e2ae171560851477142565e4b147611ae89b6dcf748fd4ae7b1bb7934f86350515bb22e712bab7ac0f5ec7b64
114 +DIST firefox-99.0-tr.xpi 556441 BLAKE2B b7304ff0f1f869461dbc8a5ca4107dbd628187d537314dcd4e2e9a415abafce839acd4bcca1086d4fd2d571803db6598b24840d50fb64067a831b4232bb86ecc SHA512 1bb6b66a0306bf233e1c14d5ff927019f5238962ead7206da1b43b8c759289570c25799a61ae44378895e6065fa282e66997b5ef744163007d2ebc627846c654
115 +DIST firefox-99.0-trs.xpi 487536 BLAKE2B 951a737aedaa3de550d69a5b5a98858e8d1ec19c772f2ff393bd1ff94c7765bbbc2aa16c8b4c5ddeb96e9924dc418023b885a23d66870503900ee0e2f936e535 SHA512 fd63b3cc5311cc2d69f386e46e4413ea37354425f1674f465436828ae3f1101e51f275919cc1ed1955c6949f99ed0970bb9ac15f34fe9cd39d93a4f0108ddf20
116 +DIST firefox-99.0-uk.xpi 626610 BLAKE2B 63d28aa806d82f3043529ba9918b2d9ea2c86c5bbc1e99e18030adfb213b81e17f6b3248061d37a8e5a084856f5e12164a754e5ffc443972ba5d108b530e6d1c SHA512 cad87433958e966427e7de4b3ca89fded6f8dcf062776f5ed3961fea16e3e244f22246a7099caaac8db6f573eba1996be0182b96157bd5d43e79b1e9a4a31569
117 +DIST firefox-99.0-ur.xpi 557230 BLAKE2B 1676b3946b48587fdd7b7f1ec9038565af3acb6f612fc7f270fd1e7802e3f7cd40f953a92dd0c20f90b38ec7e46a5fd97e9f05dcab1099839be3b4f00e015322 SHA512 54f05b07d1534a75744aa53b8dc5222953e67a5956bca8dfc847e062c666dbe7aad500ac39bee67a03a6ab80052a88f0bb3d07a3959996bd8e99928e5841216d
118 +DIST firefox-99.0-uz.xpi 473991 BLAKE2B af8bc282a42e985fce7c07d80d49f60d591407a72ddc7f48025d93aba1d5c5a6485b743d7342ffb463cf306d75858578badd1ec8b37156558b4ae3b42103dfde SHA512 ddc15b990472fa0fc5da5d29424ee3ab4a5edd12b276460dc0ead4d3556cd1f015f0157bbe0f4cb636a8f09d024ffd7c7e9062ff4ceee02613a520b3925c0275
119 +DIST firefox-99.0-vi.xpi 578293 BLAKE2B 0723be60c68ee442114807fccac9043de9e6f7469dcd41411b4d6da71d5e037acb5d5d135e982917f86acef4ee381353462cdceb3aa92e8236738055f9e95320 SHA512 e9f1768560eb22675ae16b1e4022bdcfa8054952d90eaaa63a60077934104ce5ae8bed5d2fb124678e437fcf52138c769612902fe05caca77ed4dbc7223c7cbd
120 +DIST firefox-99.0-xh.xpi 419421 BLAKE2B 525a613ee2a7e8a8707ea9eec2dfd581bb6be8d852e90b8363711ab16f152048599fc304e9fa3a5d9d691e35aa1bcc4d9f18a8817ac23cf26e2bf462bbe005ca SHA512 a894a2694d7eb6c684bcf3cef95873439beafd1d474deb76d6deda1723f5ea470aafe4c9a7c1793e5ae67a2d25acdeaa0226842151a62920936812b5713b5dbb
121 +DIST firefox-99.0-zh-CN.xpi 579051 BLAKE2B 8a8aa9cb70c90ea4ed54efc328728b0be1d892479669acd0c00a004340b3565267dea004256e2d121a96bc3bfdb556edf68560a44a033bf63b4a0fdf4e38e2bd SHA512 75aa7422fb008f872f6ab011de3dab131dd8f1ac38af48d1a91a7624332838717da7c88d0ebb53ed152d23e0661c1194e016f50ea16108eabaf327d5e0ba83e9
122 +DIST firefox-99.0-zh-TW.xpi 581404 BLAKE2B a9c4387bead7208590b0befcea8d1c3fba17f7b5c3b872ecdbabf3759494c542508c63cfb6e26b9712f0b48283ebe054f25e67391ab3ca29d7166a6d92685306 SHA512 331f92554b28283c6906b560e700aa5a8ad1c0d31f16fcef6f18e2812c129b088d51e3783fcfa1d354970fa8e152d978cd72956eb28758e59df8e1931b60537a
123 +DIST firefox-99.0.source.tar.xz 486210264 BLAKE2B a8eda24a8919aa7fa3d5dc00b5c645ea69a3e5d0f07b8fa211707195fab3626b390f1e551955d438d37821fd3b5d923fcb285df26ad30a77cf4409557d6bff7c SHA512 08f6d5a668140c4275aba6df463ed3af596043dfe5f27573583afbc1e9f6b27ebca79a52ce2c9598261c631b400b5378744e9e70f51ef9c4098b419e9904aa7c
124
125 diff --git a/www-client/firefox/firefox-99.0.ebuild b/www-client/firefox/firefox-99.0.ebuild
126 new file mode 100644
127 index 000000000000..e54e0111654c
128 --- /dev/null
129 +++ b/www-client/firefox/firefox-99.0.ebuild
130 @@ -0,0 +1,1258 @@
131 +# Copyright 1999-2022 Gentoo Authors
132 +# Distributed under the terms of the GNU General Public License v2
133 +
134 +EAPI="7"
135 +
136 +FIREFOX_PATCHSET="firefox-99-patches-01j.tar.xz"
137 +
138 +LLVM_MAX_SLOT=13
139 +
140 +PYTHON_COMPAT=( python3_{8..10} )
141 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
142 +
143 +WANT_AUTOCONF="2.1"
144 +
145 +VIRTUALX_REQUIRED="pgo"
146 +
147 +MOZ_ESR=
148 +
149 +MOZ_PV=${PV}
150 +MOZ_PV_SUFFIX=
151 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
152 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
153 +
154 + # Convert the ebuild version to the upstream Mozilla version
155 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
156 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
157 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
158 +fi
159 +
160 +if [[ -n ${MOZ_ESR} ]] ; then
161 + # ESR releases have slightly different version numbers
162 + MOZ_PV="${MOZ_PV}esr"
163 +fi
164 +
165 +MOZ_PN="${PN%-bin}"
166 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
167 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
168 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
169 +
170 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
171 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
172 + virtualx xdg
173 +
174 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
175 +
176 +if [[ ${PV} == *_rc* ]] ; then
177 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
178 +fi
179 +
180 +PATCH_URIS=(
181 + https://dev.gentoo.org/~{juippis,polynomial-c,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
182 +)
183 +
184 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
185 + ${PATCH_URIS[@]}"
186 +
187 +DESCRIPTION="Firefox Web Browser"
188 +HOMEPAGE="https://www.mozilla.com/firefox"
189 +
190 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
191 +
192 +SLOT="rapid"
193 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
194 +
195 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
196 +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
197 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
198 +IUSE+=" wayland wifi"
199 +
200 +# Firefox-only IUSE
201 +IUSE+=" geckodriver"
202 +IUSE+=" +gmp-autoupdate"
203 +IUSE+=" screencast"
204 +
205 +REQUIRED_USE="debug? ( !system-av1 )
206 + pgo? ( lto )
207 + wayland? ( dbus )
208 + wifi? ( dbus )"
209 +
210 +# Firefox-only REQUIRED_USE flags
211 +REQUIRED_USE+=" screencast? ( wayland )"
212 +
213 +BDEPEND="${PYTHON_DEPS}
214 + app-arch/unzip
215 + app-arch/zip
216 + >=dev-util/cbindgen-0.19.0
217 + >=net-libs/nodejs-10.23.1
218 + virtual/pkgconfig
219 + >=virtual/rust-1.57.0
220 + || (
221 + (
222 + sys-devel/clang:13
223 + sys-devel/llvm:13
224 + clang? (
225 + =sys-devel/lld-13*
226 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
227 + )
228 + )
229 + (
230 + sys-devel/clang:12
231 + sys-devel/llvm:12
232 + clang? (
233 + =sys-devel/lld-12*
234 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
235 + )
236 + )
237 + (
238 + sys-devel/clang:11
239 + sys-devel/llvm:11
240 + clang? (
241 + =sys-devel/lld-11*
242 + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
243 + )
244 + )
245 + )
246 + amd64? ( >=dev-lang/nasm-2.14 )
247 + x86? ( >=dev-lang/nasm-2.14 )"
248 +
249 +COMMON_DEPEND="
250 + >=dev-libs/nss-3.76
251 + >=dev-libs/nspr-4.32
252 + dev-libs/atk
253 + dev-libs/expat
254 + media-libs/alsa-lib
255 + >=media-libs/mesa-10.2:*
256 + media-libs/fontconfig
257 + >=media-libs/freetype-2.9
258 + virtual/freedesktop-icon-theme
259 + >=x11-libs/pixman-0.19.2
260 + >=dev-libs/glib-2.42:2
261 + >=sys-libs/zlib-1.2.3
262 + >=dev-libs/libffi-3.0.10:=
263 + media-video/ffmpeg
264 + >=x11-libs/cairo-1.10[X]
265 + >=x11-libs/gtk+-3.4.0:3[X]
266 + x11-libs/gdk-pixbuf
267 + x11-libs/libX11
268 + x11-libs/libXcomposite
269 + x11-libs/libXdamage
270 + x11-libs/libXext
271 + x11-libs/libXfixes
272 + x11-libs/libXrandr
273 + x11-libs/libXrender
274 + x11-libs/libXtst
275 + x11-libs/libxcb:=
276 + >=x11-libs/pango-1.22.0
277 + dbus? (
278 + sys-apps/dbus
279 + dev-libs/dbus-glib
280 + )
281 + libproxy? ( net-libs/libproxy )
282 + screencast? ( media-video/pipewire:= )
283 + system-av1? (
284 + >=media-libs/dav1d-0.9.3:=
285 + >=media-libs/libaom-1.0.0:=
286 + )
287 + system-harfbuzz? (
288 + >=media-libs/harfbuzz-2.8.1:0=
289 + >=media-gfx/graphite2-1.3.13
290 + )
291 + system-icu? ( >=dev-libs/icu-70.1:= )
292 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
293 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
294 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
295 + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
296 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
297 + wifi? (
298 + kernel_linux? (
299 + sys-apps/dbus
300 + dev-libs/dbus-glib
301 + net-misc/networkmanager
302 + )
303 + )
304 + jack? ( virtual/jack )
305 + selinux? ( sec-policy/selinux-mozilla )
306 + sndio? ( media-sound/sndio )"
307 +
308 +RDEPEND="${COMMON_DEPEND}
309 + !www-client/firefox:0
310 + !www-client/firefox:esr
311 + jack? ( virtual/jack )
312 + openh264? ( media-libs/openh264:*[plugin] )
313 + pulseaudio? (
314 + || (
315 + media-sound/pulseaudio
316 + >=media-sound/apulse-0.1.12-r4
317 + )
318 + )
319 + selinux? ( sec-policy/selinux-mozilla )"
320 +
321 +DEPEND="${COMMON_DEPEND}
322 + x11-libs/libICE
323 + x11-libs/libSM
324 + pulseaudio? (
325 + || (
326 + media-sound/pulseaudio
327 + >=media-sound/apulse-0.1.12-r4[sdk]
328 + )
329 + )
330 + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
331 + amd64? ( virtual/opengl )
332 + x86? ( virtual/opengl )"
333 +
334 +S="${WORKDIR}/${PN}-${PV%_*}"
335 +
336 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
337 +# overridden in the enviromnent (advanced hackers only)
338 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
339 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
340 +fi
341 +
342 +llvm_check_deps() {
343 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
344 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
345 + return 1
346 + fi
347 +
348 + if use clang ; then
349 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
350 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
351 + return 1
352 + fi
353 +
354 + if use pgo ; then
355 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
356 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
357 + return 1
358 + fi
359 + fi
360 + fi
361 +
362 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
363 +}
364 +
365 +MOZ_LANGS=(
366 + af ar ast be bg br ca cak cs cy da de dsb
367 + el en-CA en-GB en-US es-AR es-ES et eu
368 + fi fr fy-NL ga-IE gd gl he hr hsb hu
369 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
370 + pa-IN pl pt-BR pt-PT rm ro ru
371 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
372 +)
373 +
374 +# Firefox-only LANGS
375 +MOZ_LANGS+=( ach )
376 +MOZ_LANGS+=( an )
377 +MOZ_LANGS+=( az )
378 +MOZ_LANGS+=( bn )
379 +MOZ_LANGS+=( bs )
380 +MOZ_LANGS+=( ca-valencia )
381 +MOZ_LANGS+=( eo )
382 +MOZ_LANGS+=( es-CL )
383 +MOZ_LANGS+=( es-MX )
384 +MOZ_LANGS+=( fa )
385 +MOZ_LANGS+=( ff )
386 +MOZ_LANGS+=( gn )
387 +MOZ_LANGS+=( gu-IN )
388 +MOZ_LANGS+=( hi-IN )
389 +MOZ_LANGS+=( hy-AM )
390 +MOZ_LANGS+=( ia )
391 +MOZ_LANGS+=( km )
392 +MOZ_LANGS+=( kn )
393 +MOZ_LANGS+=( lij )
394 +MOZ_LANGS+=( mk )
395 +MOZ_LANGS+=( mr )
396 +MOZ_LANGS+=( my )
397 +MOZ_LANGS+=( ne-NP )
398 +MOZ_LANGS+=( oc )
399 +MOZ_LANGS+=( sco )
400 +MOZ_LANGS+=( si )
401 +MOZ_LANGS+=( son )
402 +MOZ_LANGS+=( szl )
403 +MOZ_LANGS+=( ta )
404 +MOZ_LANGS+=( te )
405 +MOZ_LANGS+=( tl )
406 +MOZ_LANGS+=( trs )
407 +MOZ_LANGS+=( ur )
408 +MOZ_LANGS+=( xh )
409 +
410 +mozilla_set_globals() {
411 + # https://bugs.gentoo.org/587334
412 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
413 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
414 + )
415 +
416 + local lang xflag
417 + for lang in "${MOZ_LANGS[@]}" ; do
418 + # en and en_US are handled internally
419 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
420 + continue
421 + fi
422 +
423 + # strip region subtag if $lang is in the list
424 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
425 + xflag=${lang%%-*}
426 + else
427 + xflag=${lang}
428 + fi
429 +
430 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
431 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
432 + SRC_URI+=" )"
433 + IUSE+=" l10n_${xflag/[_@]/-}"
434 + done
435 +}
436 +mozilla_set_globals
437 +
438 +moz_clear_vendor_checksums() {
439 + debug-print-function ${FUNCNAME} "$@"
440 +
441 + if [[ ${#} -ne 1 ]] ; then
442 + die "${FUNCNAME} requires exact one argument"
443 + fi
444 +
445 + einfo "Clearing cargo checksums for ${1} ..."
446 +
447 + sed -i \
448 + -e 's/\("files":{\)[^}]*/\1/' \
449 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
450 + || die
451 +}
452 +
453 +moz_install_xpi() {
454 + debug-print-function ${FUNCNAME} "$@"
455 +
456 + if [[ ${#} -lt 2 ]] ; then
457 + die "${FUNCNAME} requires at least two arguments"
458 + fi
459 +
460 + local DESTDIR=${1}
461 + shift
462 +
463 + insinto "${DESTDIR}"
464 +
465 + local emid xpi_file xpi_tmp_dir
466 + for xpi_file in "${@}" ; do
467 + emid=
468 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
469 +
470 + # Unpack XPI
471 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
472 +
473 + # Determine extension ID
474 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
475 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
476 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
477 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
478 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
479 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
480 + else
481 + die "failed to determine extension id"
482 + fi
483 +
484 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
485 + newins "${xpi_file}" "${emid}.xpi"
486 + done
487 +}
488 +
489 +mozconfig_add_options_ac() {
490 + debug-print-function ${FUNCNAME} "$@"
491 +
492 + if [[ ${#} -lt 2 ]] ; then
493 + die "${FUNCNAME} requires at least two arguments"
494 + fi
495 +
496 + local reason=${1}
497 + shift
498 +
499 + local option
500 + for option in ${@} ; do
501 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
502 + done
503 +}
504 +
505 +mozconfig_add_options_mk() {
506 + debug-print-function ${FUNCNAME} "$@"
507 +
508 + if [[ ${#} -lt 2 ]] ; then
509 + die "${FUNCNAME} requires at least two arguments"
510 + fi
511 +
512 + local reason=${1}
513 + shift
514 +
515 + local option
516 + for option in ${@} ; do
517 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
518 + done
519 +}
520 +
521 +mozconfig_use_enable() {
522 + debug-print-function ${FUNCNAME} "$@"
523 +
524 + if [[ ${#} -lt 1 ]] ; then
525 + die "${FUNCNAME} requires at least one arguments"
526 + fi
527 +
528 + local flag=$(use_enable "${@}")
529 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
530 +}
531 +
532 +mozconfig_use_with() {
533 + debug-print-function ${FUNCNAME} "$@"
534 +
535 + if [[ ${#} -lt 1 ]] ; then
536 + die "${FUNCNAME} requires at least one arguments"
537 + fi
538 +
539 + local flag=$(use_with "${@}")
540 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
541 +}
542 +
543 +pkg_pretend() {
544 + if [[ ${MERGE_TYPE} != binary ]] ; then
545 + if use pgo ; then
546 + if ! has usersandbox $FEATURES ; then
547 + die "You must enable usersandbox as X server can not run as root!"
548 + fi
549 + fi
550 +
551 + # Ensure we have enough disk space to compile
552 + if use pgo || use lto || use debug ; then
553 + CHECKREQS_DISK_BUILD="13500M"
554 + else
555 + CHECKREQS_DISK_BUILD="6500M"
556 + fi
557 +
558 + check-reqs_pkg_pretend
559 + fi
560 +}
561 +
562 +pkg_setup() {
563 + if [[ ${MERGE_TYPE} != binary ]] ; then
564 + if use pgo ; then
565 + if ! has userpriv ${FEATURES} ; then
566 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
567 + fi
568 + fi
569 +
570 + # Ensure we have enough disk space to compile
571 + if use pgo || use lto || use debug ; then
572 + CHECKREQS_DISK_BUILD="13500M"
573 + else
574 + CHECKREQS_DISK_BUILD="6400M"
575 + fi
576 +
577 + check-reqs_pkg_setup
578 +
579 + llvm_pkg_setup
580 +
581 + if use clang && use lto ; then
582 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
583 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
584 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
585 +
586 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
587 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
588 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
589 +
590 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
591 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
592 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
593 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
594 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
595 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
596 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
597 + fi
598 + fi
599 +
600 + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
601 + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
602 + # bug 792705
603 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
604 + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
605 + fi
606 +
607 + python-any-r1_pkg_setup
608 +
609 + # Avoid PGO profiling problems due to enviroment leakage
610 + # These should *always* be cleaned up anyway
611 + unset \
612 + DBUS_SESSION_BUS_ADDRESS \
613 + DISPLAY \
614 + ORBIT_SOCKETDIR \
615 + SESSION_MANAGER \
616 + XAUTHORITY \
617 + XDG_CACHE_HOME \
618 + XDG_SESSION_COOKIE
619 +
620 + # Build system is using /proc/self/oom_score_adj, bug #604394
621 + addpredict /proc/self/oom_score_adj
622 +
623 + if use pgo ; then
624 + # Allow access to GPU during PGO run
625 + local ati_cards mesa_cards nvidia_cards render_cards
626 + shopt -s nullglob
627 +
628 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
629 + if [[ -n "${ati_cards}" ]] ; then
630 + addpredict "${ati_cards}"
631 + fi
632 +
633 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
634 + if [[ -n "${mesa_cards}" ]] ; then
635 + addpredict "${mesa_cards}"
636 + fi
637 +
638 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
639 + if [[ -n "${nvidia_cards}" ]] ; then
640 + addpredict "${nvidia_cards}"
641 + fi
642 +
643 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
644 + if [[ -n "${render_cards}" ]] ; then
645 + addpredict "${render_cards}"
646 + fi
647 +
648 + shopt -u nullglob
649 + fi
650 +
651 + if ! mountpoint -q /dev/shm ; then
652 + # If /dev/shm is not available, configure is known to fail with
653 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
654 + ewarn "/dev/shm is not mounted -- expect build failures!"
655 + fi
656 +
657 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
658 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
659 + # get your own set of keys.
660 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
661 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
662 + fi
663 +
664 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
665 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
666 + fi
667 +
668 + # Mozilla API keys (see https://location.services.mozilla.com/api)
669 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
670 + # get your own set of keys.
671 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
672 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
673 + fi
674 +
675 + # Ensure we use C locale when building, bug #746215
676 + export LC_ALL=C
677 + fi
678 +
679 + CONFIG_CHECK="~SECCOMP"
680 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
681 + linux-info_pkg_setup
682 +}
683 +
684 +src_unpack() {
685 + local _lp_dir="${WORKDIR}/language_packs"
686 + local _src_file
687 +
688 + if [[ ! -d "${_lp_dir}" ]] ; then
689 + mkdir "${_lp_dir}" || die
690 + fi
691 +
692 + for _src_file in ${A} ; do
693 + if [[ ${_src_file} == *.xpi ]]; then
694 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
695 + else
696 + unpack ${_src_file}
697 + fi
698 + done
699 +}
700 +
701 +src_prepare() {
702 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
703 + eapply "${WORKDIR}/firefox-patches"
704 +
705 + # Allow user to apply any additional patches without modifing ebuild
706 + eapply_user
707 +
708 + # Make cargo respect MAKEOPTS
709 + export CARGO_BUILD_JOBS="$(makeopts_jobs)"
710 +
711 + # Make LTO respect MAKEOPTS
712 + sed -i \
713 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
714 + "${S}"/build/moz.configure/lto-pgo.configure \
715 + || die "sed failed to set num_cores"
716 +
717 + # Make ICU respect MAKEOPTS
718 + sed -i \
719 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
720 + "${S}"/intl/icu_sources_data.py \
721 + || die "sed failed to set num_cores"
722 +
723 + # sed-in toolchain prefix
724 + sed -i \
725 + -e "s/objdump/${CHOST}-objdump/" \
726 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
727 + || die "sed failed to set toolchain prefix"
728 +
729 + sed -i \
730 + -e 's/ccache_stats = None/return None/' \
731 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
732 + || die "sed failed to disable ccache stats call"
733 +
734 + einfo "Removing pre-built binaries ..."
735 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
736 +
737 + # Clearing checksums where we have applied patches
738 + moz_clear_vendor_checksums target-lexicon-0.9.0
739 +
740 + # Create build dir
741 + BUILD_DIR="${WORKDIR}/${PN}_build"
742 + mkdir -p "${BUILD_DIR}" || die
743 +
744 + # Write API keys to disk
745 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
746 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
747 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
748 +
749 + xdg_src_prepare
750 +}
751 +
752 +src_configure() {
753 + # Show flags set at the beginning
754 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
755 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
756 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
757 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
758 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
759 +
760 + local have_switched_compiler=
761 + if use clang && ! tc-is-clang ; then
762 + # Force clang
763 + einfo "Enforcing the use of clang due to USE=clang ..."
764 + have_switched_compiler=yes
765 + AR=llvm-ar
766 + AS=llvm-as
767 + CC=${CHOST}-clang
768 + CXX=${CHOST}-clang++
769 + NM=llvm-nm
770 + RANLIB=llvm-ranlib
771 + elif ! use clang && ! tc-is-gcc ; then
772 + # Force gcc
773 + have_switched_compiler=yes
774 + einfo "Enforcing the use of gcc due to USE=-clang ..."
775 + AR=gcc-ar
776 + CC=${CHOST}-gcc
777 + CXX=${CHOST}-g++
778 + NM=gcc-nm
779 + RANLIB=gcc-ranlib
780 + fi
781 +
782 + if [[ -n "${have_switched_compiler}" ]] ; then
783 + # Because we switched active compiler we have to ensure
784 + # that no unsupported flags are set
785 + strip-unsupported-flags
786 + fi
787 +
788 + # Ensure we use correct toolchain
789 + export HOST_CC="$(tc-getBUILD_CC)"
790 + export HOST_CXX="$(tc-getBUILD_CXX)"
791 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
792 +
793 + # Pass the correct toolchain paths through cbindgen
794 + if tc-is-cross-compiler ; then
795 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
796 + fi
797 +
798 + # Set MOZILLA_FIVE_HOME
799 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
800 +
801 + # python/mach/mach/mixin/process.py fails to detect SHELL
802 + export SHELL="${EPREFIX}/bin/bash"
803 +
804 + # Set state path
805 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
806 +
807 + # Set MOZCONFIG
808 + export MOZCONFIG="${S}/.mozconfig"
809 +
810 + # Initialize MOZCONFIG
811 + mozconfig_add_options_ac '' --enable-application=browser
812 +
813 + # Set Gentoo defaults
814 + export MOZILLA_OFFICIAL=1
815 +
816 + mozconfig_add_options_ac 'Gentoo default' \
817 + --allow-addon-sideload \
818 + --disable-cargo-incremental \
819 + --disable-crashreporter \
820 + --disable-install-strip \
821 + --disable-minify \
822 + --disable-parental-controls \
823 + --disable-strip \
824 + --disable-updater \
825 + --enable-dom-streams \
826 + --enable-negotiateauth \
827 + --enable-new-pass-manager \
828 + --enable-official-branding \
829 + --enable-release \
830 + --enable-system-ffi \
831 + --enable-system-pixman \
832 + --host="${CBUILD:-${CHOST}}" \
833 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
834 + --prefix="${EPREFIX}/usr" \
835 + --target="${CHOST}" \
836 + --without-ccache \
837 + --without-wasm-sandboxed-libraries \
838 + --with-intl-api \
839 + --with-libclang-path="$(llvm-config --libdir)" \
840 + --with-system-nspr \
841 + --with-system-nss \
842 + --with-system-zlib \
843 + --with-toolchain-prefix="${CHOST}-" \
844 + --with-unsigned-addon-scopes=app,system \
845 + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
846 + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
847 +
848 + # Set update channel
849 + local update_channel=release
850 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
851 + mozconfig_add_options_ac '' --update-channel=${update_channel}
852 +
853 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
854 + mozconfig_add_options_ac '' --enable-rust-simd
855 + fi
856 +
857 + # For future keywording: This is currently (97.0) only supported on:
858 + # amd64, arm, arm64 & x86.
859 + # Might want to flip the logic around if Firefox is to support more arches.
860 + if use ppc64; then
861 + mozconfig_add_options_ac '' --disable-sandbox
862 + else
863 + mozconfig_add_options_ac '' --enable-sandbox
864 + fi
865 +
866 + if [[ -s "${S}/api-google.key" ]] ; then
867 + local key_origin="Gentoo default"
868 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
869 + key_origin="User value"
870 + fi
871 +
872 + mozconfig_add_options_ac "${key_origin}" \
873 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
874 + else
875 + einfo "Building without Google API key ..."
876 + fi
877 +
878 + if [[ -s "${S}/api-location.key" ]] ; then
879 + local key_origin="Gentoo default"
880 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
881 + key_origin="User value"
882 + fi
883 +
884 + mozconfig_add_options_ac "${key_origin}" \
885 + --with-google-location-service-api-keyfile="${S}/api-location.key"
886 + else
887 + einfo "Building without Location API key ..."
888 + fi
889 +
890 + if [[ -s "${S}/api-mozilla.key" ]] ; then
891 + local key_origin="Gentoo default"
892 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
893 + key_origin="User value"
894 + fi
895 +
896 + mozconfig_add_options_ac "${key_origin}" \
897 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
898 + else
899 + einfo "Building without Mozilla API key ..."
900 + fi
901 +
902 + mozconfig_use_with system-av1
903 + mozconfig_use_with system-harfbuzz
904 + mozconfig_use_with system-harfbuzz system-graphite2
905 + mozconfig_use_with system-icu
906 + mozconfig_use_with system-jpeg
907 + mozconfig_use_with system-libevent
908 + mozconfig_use_with system-libvpx
909 + mozconfig_use_with system-png
910 + mozconfig_use_with system-webp
911 +
912 + mozconfig_use_enable dbus
913 + mozconfig_use_enable libproxy
914 +
915 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
916 +
917 + mozconfig_use_enable geckodriver
918 +
919 + if use hardened ; then
920 + mozconfig_add_options_ac "+hardened" --enable-hardening
921 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
922 + fi
923 +
924 + mozconfig_use_enable jack
925 +
926 + mozconfig_use_enable pulseaudio
927 + # force the deprecated alsa sound code if pulseaudio is disabled
928 + if use kernel_linux && ! use pulseaudio ; then
929 + mozconfig_add_options_ac '-pulseaudio' --enable-alsa
930 + fi
931 +
932 + mozconfig_use_enable sndio
933 +
934 + mozconfig_use_enable wifi necko-wifi
935 +
936 + if use wayland ; then
937 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
938 + else
939 + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
940 + fi
941 +
942 + if use lto ; then
943 + if use clang ; then
944 + # Upstream only supports lld when using clang
945 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
946 +
947 + mozconfig_add_options_ac '+lto' --enable-lto=cross
948 +
949 + else
950 + # ThinLTO is currently broken, see bmo#1644409
951 + mozconfig_add_options_ac '+lto' --enable-lto=full
952 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
953 + fi
954 +
955 + if use pgo ; then
956 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
957 +
958 + if use clang ; then
959 + # Used in build/pgo/profileserver.py
960 + export LLVM_PROFDATA="llvm-profdata"
961 + fi
962 + fi
963 + else
964 + # Avoid auto-magic on linker
965 + if use clang ; then
966 + # This is upstream's default
967 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
968 + else
969 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
970 + fi
971 + fi
972 +
973 + # LTO flag was handled via configure
974 + filter-flags '-flto*'
975 +
976 + mozconfig_use_enable debug
977 + if use debug ; then
978 + mozconfig_add_options_ac '+debug' --disable-optimize
979 + else
980 + if is-flag '-g*' ; then
981 + if use clang ; then
982 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
983 + else
984 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
985 + fi
986 + else
987 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
988 + fi
989 +
990 + if is-flag '-O0' ; then
991 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
992 + elif is-flag '-O4' ; then
993 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
994 + elif is-flag '-O3' ; then
995 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
996 + elif is-flag '-O1' ; then
997 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
998 + elif is-flag '-Os' ; then
999 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
1000 + else
1001 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
1002 + fi
1003 + fi
1004 +
1005 + # Debug flag was handled via configure
1006 + filter-flags '-g*'
1007 +
1008 + # Optimization flag was handled via configure
1009 + filter-flags '-O*'
1010 +
1011 + # Modifications to better support ARM, bug #553364
1012 + if use cpu_flags_arm_neon ; then
1013 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1014 +
1015 + if ! tc-is-clang ; then
1016 + # thumb options aren't supported when using clang, bug 666966
1017 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1018 + --with-thumb=yes \
1019 + --with-thumb-interwork=no
1020 + fi
1021 + fi
1022 +
1023 + if [[ ${CHOST} == armv*h* ]] ; then
1024 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1025 +
1026 + if ! use system-libvpx ; then
1027 + sed -i \
1028 + -e "s|softfp|hard|" \
1029 + "${S}"/media/libvpx/moz.build \
1030 + || die
1031 + fi
1032 + fi
1033 +
1034 + if use clang ; then
1035 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1036 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1037 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1038 + local disable_elf_hack=
1039 + if use amd64 ; then
1040 + disable_elf_hack=yes
1041 + elif use x86 ; then
1042 + disable_elf_hack=yes
1043 + elif use arm ; then
1044 + disable_elf_hack=yes
1045 + fi
1046 +
1047 + if [[ -n ${disable_elf_hack} ]] ; then
1048 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1049 + fi
1050 + elif tc-is-gcc ; then
1051 + if ver_test $(gcc-fullversion) -ge 10 ; then
1052 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1053 + append-cxxflags -fno-tree-loop-vectorize
1054 + fi
1055 + fi
1056 +
1057 + # Additional ARCH support
1058 + case "${ARCH}" in
1059 + arm)
1060 + # Reduce the memory requirements for linking
1061 + if use clang ; then
1062 + # Nothing to do
1063 + :;
1064 + elif use lto ; then
1065 + append-ldflags -Wl,--no-keep-memory
1066 + else
1067 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1068 + fi
1069 + ;;
1070 + esac
1071 +
1072 + if ! use elibc_glibc ; then
1073 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1074 + fi
1075 +
1076 + # Allow elfhack to work in combination with unstripped binaries
1077 + # when they would normally be larger than 2GiB.
1078 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1079 +
1080 + # Make revdep-rebuild.sh happy; Also required for musl
1081 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1082 +
1083 + # Pass $MAKEOPTS to build system
1084 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1085 +
1086 + # Use system's Python environment
1087 + export MACH_USE_SYSTEM_PYTHON=1
1088 + export MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_MACH_SITE=1
1089 + export MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_BUILD_SITE=1
1090 + export PIP_NO_CACHE_DIR=off
1091 +
1092 + # Disable notification when build system has finished
1093 + export MOZ_NOSPAM=1
1094 +
1095 + # Portage sets XARGS environment variable to "xargs -r" by default which
1096 + # breaks build system's check_prog() function which doesn't support arguments
1097 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1098 +
1099 + # Set build dir
1100 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1101 +
1102 + # Show flags we will use
1103 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1104 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1105 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1106 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1107 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1108 +
1109 + # Handle EXTRA_CONF and show summary
1110 + local ac opt hash reason
1111 +
1112 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1113 + if [[ -n ${EXTRA_ECONF} ]] ; then
1114 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1115 + for opt in "${ac[@]}"; do
1116 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1117 + done
1118 + fi
1119 +
1120 + echo
1121 + echo "=========================================================="
1122 + echo "Building ${PF} with the following configuration"
1123 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1124 + [[ -z ${hash} || ${hash} == \# ]] \
1125 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1126 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1127 + done
1128 + echo "=========================================================="
1129 + echo
1130 +
1131 + ./mach configure || die
1132 +}
1133 +
1134 +src_compile() {
1135 + local virtx_cmd=
1136 +
1137 + if use pgo ; then
1138 + virtx_cmd=virtx
1139 +
1140 + # Reset and cleanup environment variables used by GNOME/XDG
1141 + gnome2_environment_reset
1142 +
1143 + addpredict /root
1144 + fi
1145 +
1146 + local -x GDK_BACKEND=x11
1147 +
1148 + ${virtx_cmd} ./mach build --verbose \
1149 + || die
1150 +}
1151 +
1152 +src_install() {
1153 + # xpcshell is getting called during install
1154 + pax-mark m \
1155 + "${BUILD_DIR}"/dist/bin/xpcshell \
1156 + "${BUILD_DIR}"/dist/bin/${PN} \
1157 + "${BUILD_DIR}"/dist/bin/plugin-container
1158 +
1159 + DESTDIR="${D}" ./mach install || die
1160 +
1161 + # Upstream cannot ship symlink but we can (bmo#658850)
1162 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1163 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1164 +
1165 + # Don't install llvm-symbolizer from sys-devel/llvm package
1166 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1167 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1168 + fi
1169 +
1170 + # Install policy (currently only used to disable application updates)
1171 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1172 + newins "${FILESDIR}"/distribution.ini distribution.ini
1173 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1174 +
1175 + # Install system-wide preferences
1176 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1177 + insinto "${PREFS_DIR}"
1178 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1179 +
1180 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1181 +
1182 + # Set dictionary path to use system hunspell
1183 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1184 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1185 + EOF
1186 +
1187 + # Force hwaccel prefs if USE=hwaccel is enabled
1188 + if use hwaccel ; then
1189 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r1 \
1190 + >>"${GENTOO_PREFS}" \
1191 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1192 + fi
1193 +
1194 + if ! use gmp-autoupdate ; then
1195 + local plugin
1196 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1197 + einfo "Disabling auto-update for ${plugin} plugin ..."
1198 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1199 + pref("media.${plugin}.autoupdate", false);
1200 + EOF
1201 + done
1202 + fi
1203 +
1204 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1205 + if use system-harfbuzz ; then
1206 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1207 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1208 + EOF
1209 + fi
1210 +
1211 + # Install language packs
1212 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1213 + if [[ -n "${langpacks}" ]] ; then
1214 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1215 + fi
1216 +
1217 + # Install geckodriver
1218 + if use geckodriver ; then
1219 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1220 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1221 + exeinto "${MOZILLA_FIVE_HOME}"
1222 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1223 +
1224 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1225 + fi
1226 +
1227 + # Install icons
1228 + local icon_srcdir="${S}/browser/branding/official"
1229 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1230 +
1231 + insinto /usr/share/icons/hicolor/symbolic/apps
1232 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1233 +
1234 + local icon size
1235 + for icon in "${icon_srcdir}"/default*.png ; do
1236 + size=${icon%.png}
1237 + size=${size##*/default}
1238 +
1239 + if [[ ${size} -eq 48 ]] ; then
1240 + newicon "${icon}" ${PN}.png
1241 + fi
1242 +
1243 + newicon -s ${size} "${icon}" ${PN}.png
1244 + done
1245 +
1246 + # Install menu
1247 + local app_name="Mozilla ${MOZ_PN^}"
1248 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1249 + local desktop_filename="${PN}.desktop"
1250 + local exec_command="${PN}"
1251 + local icon="${PN}"
1252 + local use_wayland="false"
1253 +
1254 + if use wayland ; then
1255 + use_wayland="true"
1256 + fi
1257 +
1258 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1259 +
1260 + sed -i \
1261 + -e "s:@NAME@:${app_name}:" \
1262 + -e "s:@EXEC@:${exec_command}:" \
1263 + -e "s:@ICON@:${icon}:" \
1264 + "${WORKDIR}/${PN}.desktop-template" \
1265 + || die
1266 +
1267 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1268 +
1269 + rm "${WORKDIR}/${PN}.desktop-template" || die
1270 +
1271 + # Install wrapper script
1272 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1273 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1274 +
1275 + # Update wrapper
1276 + sed -i \
1277 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1278 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1279 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1280 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1281 + "${ED}/usr/bin/${PN}" \
1282 + || die
1283 +}
1284 +
1285 +pkg_preinst() {
1286 + xdg_pkg_preinst
1287 +
1288 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1289 + # does not need to be forced into the LD_LIBRARY_PATH
1290 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1291 + einfo "APULSE found; Generating library symlinks for sound support ..."
1292 + local lib
1293 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1294 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1295 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1296 + # so we need to avoid creating them if they already exist.
1297 + if [[ ! -L ${lib##*/} ]] ; then
1298 + ln -s "${lib}" ${lib##*/} || die
1299 + fi
1300 + done
1301 + popd &>/dev/null || die
1302 + fi
1303 +}
1304 +
1305 +pkg_postinst() {
1306 + xdg_pkg_postinst
1307 +
1308 + if ! use gmp-autoupdate ; then
1309 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1310 + elog "installing into new profiles:"
1311 + local plugin
1312 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1313 + elog "\t ${plugin}"
1314 + done
1315 + elog
1316 + fi
1317 +
1318 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1319 + elog "Apulse was detected at merge time on this system and so it will always be"
1320 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1321 + elog "media-sound/apulse."
1322 + elog
1323 + fi
1324 +
1325 + local show_doh_information
1326 + local show_normandy_information
1327 + local show_shortcut_information
1328 +
1329 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1330 + # New install; Tell user that DoH is disabled by default
1331 + show_doh_information=yes
1332 + show_normandy_information=yes
1333 + show_shortcut_information=no
1334 + else
1335 + local replacing_version
1336 + for replacing_version in ${REPLACING_VERSIONS} ; do
1337 + if ver_test "${replacing_version}" -lt 91.0 ; then
1338 + # Tell user that we no longer install a shortcut
1339 + # per supported display protocol
1340 + show_shortcut_information=yes
1341 + fi
1342 + done
1343 + fi
1344 +
1345 + if [[ -n "${show_doh_information}" ]] ; then
1346 + elog
1347 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1348 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1349 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1350 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1351 + elog "(\"Off by choice\") by default."
1352 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1353 + fi
1354 +
1355 + # bug 713782
1356 + if [[ -n "${show_normandy_information}" ]] ; then
1357 + elog
1358 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1359 + elog "push changes for default settings or even install new add-ons remotely."
1360 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1361 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1362 + elog "concerns prevail, which is why we have switched off the use of this"
1363 + elog "service by default."
1364 + elog
1365 + elog "To re-enable this service set"
1366 + elog
1367 + elog " app.normandy.enabled=true"
1368 + elog
1369 + elog "in about:config."
1370 + fi
1371 +
1372 + if [[ -n "${show_shortcut_information}" ]] ; then
1373 + elog
1374 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1375 + elog "each supported display protocol. Instead we will only install"
1376 + elog "one generic Mozilla ${PN^} shortcut."
1377 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1378 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1379 + fi
1380 +
1381 + # bug 835078
1382 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
1383 + ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
1384 + ewarn "enabled for Firefox. Nouveau / your GPU might not supported the "
1385 + ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
1386 + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
1387 + fi
1388 +}