summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-07-24 02:11:45 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-07-24 02:11:45 +0100
commitb49088575eb777ced2551f484da86317332d6087 (patch)
treebf9a151cf2d61956340d555659ffc098ee1da466 /www-client/firefox
parent514d1bbe260df2521fe60f1a3ec87cfcfde1a829 (diff)
gentoo resync : 24.07.2021
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest198
-rw-r--r--www-client/firefox/firefox-78.12.0.ebuild2
-rw-r--r--www-client/firefox/firefox-90.0.1.ebuild1182
-rw-r--r--www-client/firefox/firefox-90.0.2.ebuild1182
4 files changed, 2562 insertions, 2 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 5de3ab18d0dd..2f5ececdf00d 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -591,11 +591,207 @@ DIST firefox-90.0-vi.xpi 586288 BLAKE2B 3e357d30dd5feddebba17a4fcb19cd4ea24ef8fb
DIST firefox-90.0-xh.xpi 430173 BLAKE2B f33cf177ca73a5e507f273d22842ee507252615260561dd7b34319491f8936b2b38ea4882800f4beeb4a5d99e7f702628f471e8539e3ac943f794fc9f23e777f SHA512 8af951cf3e3c57f0b881983862e4f75c7c696a24ad25ae01bf649c0aa2d36b3e658723b3ec964741adcfb49f1f7380214cef88500bb8bde74fb030aa9043f150
DIST firefox-90.0-zh-CN.xpi 587658 BLAKE2B 316f42f5d3e28960afc1a9586771d8fc1f7c2a1ab429a1daf391817d089a02a92e3a757d0c73cfb43320d13f497d11b508848daf4bc1150353c37411f56823fa SHA512 bc7c6cb7300b0a3b002975a7e7b1c93bf89c4ffec272ceb980aa74bdaf4ed1d7786c545f1212dbe4aa7106eddf5b377cd0c9d0cc7e971b768246ad7ad9983733
DIST firefox-90.0-zh-TW.xpi 588100 BLAKE2B 671eb44db05a61d0077e6320147df6aad5723721eaf39f256b636abba15c03fb37439fb931cd7159badfa4c3f6b7a71b4503b72d0d27573e33e540a351c71e99 SHA512 be1a2f630027ed5fe1e1961fdf13da78af800178153b8bd389c512e5e5bb5093ab3b3169232810e4e863f96514b6fa0c69c92107465525c863934726f68da21d
+DIST firefox-90.0.1-ach.xpi 467563 BLAKE2B a30f7816f4d606c1465058d871fb492edfba413f515b076ca030b77fb79c8b183081791405ec5435845bb2569a227dba00c88350f39a5a177a1bf1b35131c09b SHA512 f49f245bda17b165cdae9e0d809051c669103db87bc48c93bec7086fb4d178d428619738a32dcd74c153ef3b09c34dda39ee061e379ea5e1e664fd161e1ad2f1
+DIST firefox-90.0.1-af.xpi 430695 BLAKE2B 2b354ec1bbebb37b35783113524594fe2b884bb9b269ee8b8d69d65f21844fb6c2099a5aa05ef6646c8d596bc71b30a2e85c807e23e039f5f07fc2dd52c5e07c SHA512 7e25f43572fc58462c94a83a5fe3be2bcb44f3745419b34bb224835bb7fe063a841b0598f85ee4284ad20365b0099bf2e01d04d068739adf68c152ab5612cf79
+DIST firefox-90.0.1-an.xpi 515449 BLAKE2B 5bbc0d9e7db02e96bb6587bd26608986cd3602aba35daaa468accb1f06e82995c2ce3509091f2c9c9b280c8eb40267b086acf2a343b0fb51d384ffd7d85cdbac SHA512 448222104996df23cb93cfb6fb89739bae2449f22c773cca9ef0e5442d0f825a58ec3ef7661d196495bb2c6ce7686a987ac55d6a80d6b838b838fdc8236f7305
+DIST firefox-90.0.1-ar.xpi 580200 BLAKE2B 6efc4c47593c8c259e637e2ab089dd2042bc1620e5d31af225ee6edaf7748cee28262a4680bfac6bbe85d77d8783428082f07ca1b113ab8d358e357412b3b434 SHA512 a80677952af00ec887e0726bf349c36371f5fce96ae395727942e0f0beed3e45bdfa2d53cf5964eb6251ce233b36229affe4ebee31a0c41eb6aa73215aca6dc2
+DIST firefox-90.0.1-ast.xpi 507903 BLAKE2B f0f1962483fa41eda3ba740c53bcde712d3db152379e15b502367f5b3b189c95be1ff17183ac24ac5d788f09aeb9897e0a0ef6170415ac42ec018d345aaab963 SHA512 98332f1a5f74e4358822c5d4e0e4139af2ec0cd7010ff8e4a7f6f8ee08e993c7e7c351fcc836a12fd0b7c1665268706c6941f26119292b5923d9dc66936fb9b8
+DIST firefox-90.0.1-az.xpi 503441 BLAKE2B d1c0fed64089657ffefe97a0c69f6bab42df2764db766551454ba5567522e2e5ef657f70587aae09d3b1d6a30be080f84ff5359d236768678c0e95b712505499 SHA512 91fa9eadfa0846a30beeff72acc5520903970b1fe756de0b19db93f3c540ccd88e9afa1d16e7ef5cd82f94524cf4a14408c568cdcdbb0a31f41be36c9d703204
+DIST firefox-90.0.1-be.xpi 636667 BLAKE2B 7a4f2dca65233c667b3b1ee21f55c62706ba929cdb598a492f3cba6bc0ded7b578201e81b0881807a933140b6e5f2173cec1e447aef7d5103eff958a821de53c SHA512 04dd0afd76166da9025fa9113cc20f309087860d9e86d2c2a3f7aeb027e20bdc1a1b87f65dba52039170a24b25315a2f3bce566e231e18f4299c1075bcd600c4
+DIST firefox-90.0.1-bg.xpi 590435 BLAKE2B d97d552caadf822476cf35f7c488bcdc2ed588450581eded137b57dc207fc1f4720352ccd4c6efe08f7bb36ba72cc3f3bcea5a8724fd74de584ff26e7e2b90d2 SHA512 0d1f5b229b32713b27d37102c361f5b1c7b9eb1b9e38b30391a9d32bc142c7c848a881dbd0c217fe69004a179566d247e77b31b22744c4ab4347d581a13fd3e5
+DIST firefox-90.0.1-bn.xpi 579582 BLAKE2B c577016265972d1d764dee0f5f23fa789ef9950e70998e803c896922ec59ff95b281e4c36b9304c50fc981808e598e94a0557397b0f7bcde0a1fd7e400d6c7b1 SHA512 17d897aa3269142fae4127da0134508970809e34a74de9878e2b9f1a3e5c62c3bdf2f067ea42068b18138a40458743aa830356357405dc8b678cbf1798537bb9
+DIST firefox-90.0.1-br.xpi 537487 BLAKE2B fc699ec4b602f6f51c7cbcd66ee9e97e34bd4fa0ab453eb45ee03d8c88e1f75a5dc0579a341bd28c95e50dcf4c49a5058cf74adc93a439d4b8548e7cfd64d60b SHA512 c588a26b6727f48c5812ad640101236dbbb95153c9ab38bc82fd7b6b2fc35e6a652f536082590c4f4b4a3122c2bd3a8d7203fa54722e7f233cda69e46b5d945a
+DIST firefox-90.0.1-bs.xpi 472335 BLAKE2B 96c1870305b7a690eed96bcb41066a08665f53409decade572bdc9e198b98a2d1be31faa331d109a0d107af70f90ff4341660bb3c08a2627fd6423d39473896c SHA512 c2ccb864d1b3c5b20ba574b94515948aa1c260048822a3e324664935aa452dfba022724f085efddb30762b7e1af481246f968205a4aa69758fc5c570b86cc08e
+DIST firefox-90.0.1-ca-valencia.xpi 548463 BLAKE2B e04fc7c21b2bbd7a9b71f23016a0d58a2d31469dbd39b14b78d8c43d9ec29c926f61c826ebc080a65e4531c42c3bc3aafdf095019da08711edd2615fbb4293bf SHA512 62bb4e239b797b1aea9a217c1478e220b9d4d2d4eae65d3ee99f9afb6231947982f04707953293ce8cebd10fb937e6f9fd44777edd5199953d361219e70382f5
+DIST firefox-90.0.1-ca.xpi 546577 BLAKE2B 867f7834d6463140d7d57c50c85ae9261c4fc73603fa8071a2a7ed10ff00b02b0e7982254309cf50af4dc3094121117f4494fa6d9b69b7bbfdadf5fd4457a95c SHA512 f8e8fa64da11cb0100a8a9c5f9ff9cf97616cdc24a308e50ed63d3bf4ed465d1546f5ed3c3bc1e06d1a71981ea1ba970c53654855a96ba094a3f74d90672ded7
+DIST firefox-90.0.1-cak.xpi 573755 BLAKE2B 7c7dda98de119ece958e1009e906a63ea1aa88f5f18f830b072ac8b365c73a9a572e29f6a47e0e0740441a9275fcdccec2e8c277f7f2b399256feb20de2521b7 SHA512 b741e9cbeba4214b188cfe0c638babfbfd12692e90e0e8593383f298f1e5d398cd2ea0ce4c49bb892446d6bc72493d06d16beeb1ff23d7cf08163cf9dd36e6c9
+DIST firefox-90.0.1-cs.xpi 577430 BLAKE2B ec80c26bc53f6acc5aab20e9a72f0d83ff089766c4e52a552c7022538bf6b768abce4f884a688a3ec064cffd3fb06eda33d5a074a8ab44d7c7e7b05d30c114f1 SHA512 1732ef51b6427ff0a3bfa37e84cd640ca9c4c856f136083efade14e98868680c42aaf1e21780acdb08b8ce7c15a32ba2ca6721d0eed1c1737e53f871a7f169f3
+DIST firefox-90.0.1-cy.xpi 554151 BLAKE2B 47c6de44dcb551663b99b2bcaab6e68a5ea1c073de37bca91444e06a55a926ed2398daff5c4b99f31e4c411de0a324cfe166cf739c2f60c67c935161e63ab4a4 SHA512 f516d5122465be7ff89cf5c90646f2b712f1c1868ec096c51603bf093f18c8d3d9572f0e3e8762faf5aee2ef6dc6100cc4f86b473aba5c7e4093cfc7f4df126b
+DIST firefox-90.0.1-da.xpi 543830 BLAKE2B 79f8d98bfe8015b51844ae44af19d6ba84aabb5d20ff825b0c9fa74fcab7e41e3464e6c1382343c5b72630d369e9418466077e15f1eb5473e5b3617a0746359c SHA512 c203a1b544c785a6d059a71e46e13329a4e6e97cf59fb2a83f45f2224888c442b8d821566b7e71120005fa9a28708824b9ae8a134efd5ede5f1fc4ef5b54a9db
+DIST firefox-90.0.1-de.xpi 565907 BLAKE2B b37ca7f0bb9c20d630ce07943343a744a67bf8902f7ee05c62bda49196933c6b8fd1875ccd0dc0215413b2d2ef8bb67914afe66fa700cc18b3fa025792bcd42e SHA512 2c6887b3ff9c11b44b7dce40883eb9f7b2b98c643d7bb3c3e418380f606965bf9bf286eab496d4e591b0595ea99f16461872f9607ea6d443cc16b13d448b4e4e
+DIST firefox-90.0.1-dsb.xpi 578732 BLAKE2B 994d2d7c9934afce2c76d3706fc35c112e98b64e5718618edfce8d2dfbad39b79fc245a8c33369c1f641b2e5ccadf489086b25d24618f0178d6319ed973bf912 SHA512 a096bdaaa5e2adb055b019d09ca2df27c414416944c0f0bdb27501ed98052c6daa5bb92dec5b9606da178e7d7b02ec4403319e5ddbc8bc54271d278774d903a0
+DIST firefox-90.0.1-el.xpi 653313 BLAKE2B 11e45840d7359d15a929872a3224e42ecc069a2b0051fe17ef59a6dab3a3f2bba11e57f3e49e256821010f514e5acf0a8080f76db69497fba3ec5a6e7605c79c SHA512 dc287455d86c89369163a4ccf56e3348d74210bffadcc9f1aa311d106ede11f0ea0048b4a45d4a398e9fe07a1f606ac7cb47a6ccf40fc8082fcc340ec90bb3a2
+DIST firefox-90.0.1-en-CA.xpi 520981 BLAKE2B 37f9d58a60b71c5c9f830fc3ed76ec4dc04166388eff87c75b0b3c5dc3f25138cd30c87edf963171fa4ad982216256c281537af5270d39dcaaea4738a765ebeb SHA512 db8f9c529e5ba055e56e7be5d906a2d63d0027ac9f9ccf17f3bfa0ab2084baf4dab490b24375f6bd2bdc2ce55fde9f31655d7de2b36288fe8e2160251d25ade4
+DIST firefox-90.0.1-en-GB.xpi 521294 BLAKE2B d70ceb560b0cba17b8c9a198e759012714b72b49b8bf103b340a68355d8a32d78eebfaa26fa0d5ac8330dc7d52937e14234d7a3d895a706d371444477581dd56 SHA512 f2a6cf86752c70dda3b4394e6bdb0c9f2f772ca91dfe4ff76dfd5409c48f44e6287c532c6777c19df8e633cb473a661a699021b81516a7e2caef8517342ec0e0
+DIST firefox-90.0.1-eo.xpi 546171 BLAKE2B 6ed24ad03698d384137248122edc8f4afcb1e1a3c4534114ba79614b2923bd7cf7a0c3852b9a6868722a877a12c8161e6a4d6c78ad0151e34f369b1dc16ba034 SHA512 15ff184598812a5cbaa8202c0728478b5a3ac10ed634554b1386c81892099e616faaee4cddc61cbb35d812e6ad641a78ba2cc2d66468f26e51766e332092498d
+DIST firefox-90.0.1-es-AR.xpi 559091 BLAKE2B a9164380b7908c6cd0a1d09e9bb74bad715be0bc6e953511dfa8e47cf6304f810f263c9fd05648de311fe3dbc785494ad1ab3e3937384be4427a956e2bad94ce SHA512 5bf406c19f61df5f16d8e35a027d3779e0f256ba1e9268611200c926b8b27619a41b63df68bbfb1519fd87469e7b6e7c0621697f8fd5ad32fed71327915ad4b7
+DIST firefox-90.0.1-es-CL.xpi 558226 BLAKE2B d6a3b3c4c86276e87737a7765e3671fc89f894ceeffed60665b91436d8fafe3e3a594182c8f72c7f9ff7126e797ff5bc2f038117af8219229f6f3aa178e78d03 SHA512 bbe0bcda78c434d0ed7e8b34f38f39a476b415e0d353722381655e3b753c81d221bc02e29469633ffed9620bb28ab339b49bcf5a13ae13c03a3ce608302fe481
+DIST firefox-90.0.1-es-ES.xpi 548979 BLAKE2B 63eb9b61c94a9000a754d6555fd468a04099ae198c27be4bd218ccce7bd93d226029f56b94ac0a4179a7173d82bd5510e9cb0fd822775f821ebf1acaf99cac93 SHA512 fed06130a8d868e86a57ea6b26dd1b5e5db7de6ce4a898bc039efbc17416a954d8eef96a1e10d66aba50c80e24d2b78a99ee0bd09ff8b9b09f5db7b380e064fe
+DIST firefox-90.0.1-es-MX.xpi 562420 BLAKE2B 57dfde811a33ed1ef52cb1e06045d52b7dd21b45054330bcff87d60440df5858d0288bfd9fb2835dc724559e5c4cc8154ca8f2444532bd33a86570518319f161 SHA512 c816b47239ed61ebca03f6766f4f665a37882311e2805566f5cd3da6a00797e2cdd4973cd3a4137b7309fdc02f45022adcc3446e906402c40fc727ca5d9c5587
+DIST firefox-90.0.1-et.xpi 496641 BLAKE2B c560f85ce62046723a7dff4fc7aa31cc4f25ba5301d5f93dd422a6e0559e7a041cf55476cb8399861cf132416cdac4990f0f3a6b10a1d22f535028662ad2826c SHA512 07cafeec25071e9d7c712ef5394cd49794d01c73a4acfb8dcc700aac3c3ac80b6e45606fbef2fb417123942bd8a9fdc50d64948fa8dd0f9845a1728eb48fcd35
+DIST firefox-90.0.1-eu.xpi 544759 BLAKE2B bed804c5daedb6d00f5beeb60da9b30e0a3252d2f09433deb0b1ba913961c6780edda3160552f7188f3db11fd35e62bf5a32e071ce981f42d8c58ea42e3dde72 SHA512 43da4484590334777b7acaec5e7962f5848bf17781f4085467125d6a1287d777d77f8143a637c3bf67c346e793ae2af18bc24915043377e6c65223421f90e7a0
+DIST firefox-90.0.1-fa.xpi 565130 BLAKE2B e94ffbcc42348bfb2b7b0448fb7ab0bfe86541250bf2f4673426cf74e4a9c553186b722291d00bda2dcb3f64bf5ebad0e5f044af736d623d21cce3b3ac6c1445 SHA512 4a5a26023ad95a61139c16dae1b1583b2ab0be31c64f0e32c92597b9d796f93a7b0cb15465f3d6e50ad06e7b78b4f916033ec60b51a8719dd473c3e69db54d45
+DIST firefox-90.0.1-ff.xpi 488041 BLAKE2B 52843f1d77a2e6bde4ce42e3eb7dbd1cb0ef01d0e1d46dc8418f182253b43c2706e326833ed733e4fbaf38fdc88fa83f0d0805f27fd40069fd4cdab0c7bd6d50 SHA512 2b9ea0f7225d0e5cc93d0fa942bd2785a12def41600a9afe2ebb69df6ce926b5aefa13237a7c9483dd2caf9121052ffbabdb04262ca8505ad8b65a523f160e6b
+DIST firefox-90.0.1-fi.xpi 545674 BLAKE2B 73bfc8d8f0cf4f6dab55e4ed804fb0a2a9a80b577e645ef6f2105fae5e285d404c3e0913b76ca3909ea49c846c9e2424a22d03c962bb9776a3d27cd1e51b44cf SHA512 6b66c1c7ceaeaef83adabac0c0988e9315da2e3e9ce42bbd845e642f2eaae4ab56968393690bef5d1369fff21dbdf566499316115149172189498576953cdfe9
+DIST firefox-90.0.1-fr.xpi 570206 BLAKE2B 4c8f2e9e4b0c762bc0498b08a76885adcb7c36164506c433b91dd5fd22e69a6ce91e93b966e64e762e9c96105e71252c12dd20783fb4065093f56db61904a5f6 SHA512 b142455937ba139f2385cc22f2da357e36a1d082a77731860d2115f9eaf8266a988bbd9cc1ec30dd899a5d1ed4831872a6f494e4d203151328006f782db04b51
+DIST firefox-90.0.1-fy-NL.xpi 555046 BLAKE2B 89d741eb945138cca6471ac0b3e3b09588c6b9fe5d2fac250d2f40cbf005f445c894cc152dc692855598e288c8d356ba1d0edfe5ddaf5d23c1526fb64cae3b70 SHA512 5df49977394f88e99c55f1f4e914d96614e70f30c5d611210b6e40283074968bc7906c44389164d5d9390248fada6aa8aa1940408982ef08c3a83a8039a2c171
+DIST firefox-90.0.1-ga-IE.xpi 473117 BLAKE2B b2da1ab90b7af89f970f4980a189640674e23a0cd88b5c0daaa88335ee48f36e531cff39ab80a2edfb60a2f6e1ded89101b04c5a45869886ccb3ba79fdc0ddaf SHA512 04bd5bc068fa2787d1af54d4ba780f1bb4bbc9f53c8826ad91e351c76742a2d4ac672bb8e8300dc89f2189d635ec00ee3e750ac0622296f85fb68e9fc6da3205
+DIST firefox-90.0.1-gd.xpi 550989 BLAKE2B 2e2bd993fd17743a892997c23671ddde4633acb77685de2949882921a53d11a9c7675da7eb292ea609d910a9ffb09a12356eaa73c331950249f4f5817a79a300 SHA512 640f27de1df4fff3b7da6bd01c69e16f9bc5b036e711d51bf7641cfd6a39aa0fd30b5b3f04c4c00ffe44397ae3079504b13c36577f8c9e772390b31009c24c4e
+DIST firefox-90.0.1-gl.xpi 554475 BLAKE2B 8052c752b431b96d9bfbc4c137f5c1f40d3377445631327cf79234774a324fd03c82701fd01884a945f02b3b8fbc96974a1665705f007d59c8b9e99d889e78fc SHA512 5fd8701e1d67c3bb065dc1f409cdd67089e883a0b76ed0ac9ee4d4f13be75aa9eebe4d22879529ac94ab4091b0a4ef981cee7abad1960acc755c2267b07bad36
+DIST firefox-90.0.1-gn.xpi 571174 BLAKE2B 5b71ff90d2128c9aae6fcd7ff87a9a8dffce9ce63fec18e7f0f336e17744dbf9365089d931025416da7bd1759f82a95b9556911b7ab2d253cbf649e162c7b4d1 SHA512 b359f7717a18cff6e4d3472215321d09f5077637c344ecf7da56639879b043ef6c5809913b011e125c985d022bb8e921328dcf4a96b90bd8d8231d462ed8f88a
+DIST firefox-90.0.1-gu-IN.xpi 547526 BLAKE2B a9586665e12001c1eb7327b8fc3b5edc2ba4ade85cdb11aeb8cafe1357771f1728b4b158ed3abfd2fc4d032b7f73019e536365a6e95aa17fc7ab1be7de5a7fb6 SHA512 f8459b05537ae768e3fef891a49202ca2351a7e2f3305d11a8c7b8b840d9f2f88efde014f0de078a9cf1f4eaa26db5a842d87cd140169827ce44d96975e21265
+DIST firefox-90.0.1-he.xpi 568991 BLAKE2B 57a4249c93f96fb7bc0d7a32ba41aa74b0661ca57cdcde2efbe695bb681835f8d3babb8b91ae8519a64b0e27ebfc0c6603fc85ebf09412a436e1fefc9b2bb29d SHA512 9bf1f56d47bca657848be539fc4aaf4cbe208deea22a9ecf912babc6e69587afefa8618f81b841d1634cfccc88d145d9cc0350a1b4527a16920459be57c2cc4d
+DIST firefox-90.0.1-hi-IN.xpi 579605 BLAKE2B e79e14b8f290f67003d3316506255944ff883d9d2600c7c95293eb4de96efcc53895ab22b2edb804e97b88a1fa9ebc9be7fe8210e21edeff1b4d7dfa3f710e21 SHA512 ca9517f8427dd756aa08cd6343cef09980530ec08d34b01075d274ccf898cf6885cc56f2f97d42dc6daae5f607b4f926834d4c40262e82512031ae28c35e425e
+DIST firefox-90.0.1-hr.xpi 549989 BLAKE2B 179e37c8303ce34809bc87274cd8bf4a82fb465efff9e4806540adbdbf15771e147bfd4285afbec602efab0f7a5a91d78ecd73954304cfb3749067563cf03d3d SHA512 b6b8ad078d5a97b401e492dd5654fbdd1da0acb1c190ca8224891ca0d8f55da08e535b8922d92e64f3b60408d680c8be3c070f1946ad1bea31ebb23bf0dfb0b3
+DIST firefox-90.0.1-hsb.xpi 574886 BLAKE2B 4544532f23189bd87d37059c6df790acdf8b2145e3ce3e1332e08bad02c1b8128e99a924f2ac1fa11c5394646e87123525ddd765a36ede1e1fc8fb821151d0ea SHA512 7096869a1d81a2ac7179576e60a18ef5b573c7505ef853404c6c7cec8eee2498cd4bb262f1cce62d71e02bf3e022bb18bbffab38bb98e40866554c701742f9d1
+DIST firefox-90.0.1-hu.xpi 578493 BLAKE2B 910f323df1b5844676c6f220cef8bf90720f410327e38fff709d1ff98037792287839895eaa275291884fd8edcb0b4eff13e73216f68d7dfea9400e44bb643dd SHA512 d95e663a2ea9d547252d7bb56451b62b0c2571499e715a9c5d0dbe7b8e14047bb3c24fadc5c8eec3f0a330c9d015984b1236fd803bb314c506502753b5f8448c
+DIST firefox-90.0.1-hy-AM.xpi 604407 BLAKE2B bcc43eba7b02525dffa4cdb2bf99a784e2da16960484292cdc5485d6be72b5050b64b10e82358eb73e10bb4680e8d8491623c5af44ec28f9207d82f4edd26e24 SHA512 cd592044b0de3e8a37cc43be6b0a9abecdee6d674806c9b2efd66f6d0c2a999198790a86545cbd15134b8367192765c82427fe39296a11cf7ea2d6c129255ed0
+DIST firefox-90.0.1-ia.xpi 543884 BLAKE2B db092153d18b7cd15a74f5bb9d5fcb253c6b69ec3b7a83f43ef74c3d79d95361b58c2eb07110dac5fed6ab77db9b6f9284b5a29f5c37beb688f5f849d40c7b2a SHA512 91650c07d39fba5cc76d60df856535bdf1e9eb5d837a87de1c46821f2f31a7733be5609374901a6ffc93090cbf0c5036f9dd7a2445a0c934ae85202264894359
+DIST firefox-90.0.1-id.xpi 540018 BLAKE2B 2866cda1253e0594ab3627459c600b3a52aea7facbdfbae7df98f1212f7f2ccfabfb887e10ff1bd9e6dcd230d667aab57d2f3c25bbea116b42aff5e32984ff61 SHA512 51401b509b947a45c7fc97f89cc1b10a9e42578a4b861f39bafa85b1c6096611929346f412907f94665413291aa78660b9df1e1325b87cf51bec1617ad428d1f
+DIST firefox-90.0.1-is.xpi 483701 BLAKE2B 12f83d8122e399405805f9a5fddb49db066d1e361e4a1ebb09f8dbaa7bdc5f0d2d5f1bfdb447f14a09e3944f4d909491b84c15e48b33f3144ccedb6692aa35a9 SHA512 4e96600455d02705375a4dc7939042d54b6effc8785ef3528476d36e135e987eeb3a1205373477eaeff09e080a47a40390efd92c7d5d777f37f535f49c6cc36c
+DIST firefox-90.0.1-it.xpi 472095 BLAKE2B 6c797b7272f88d5ae64ba62e2cc4fa662b1ecad4a2247f9ca170b315c0f619005cb5ef0a5f621522afc1e3421146ddede47c1969fbad1c4ab3229eac682bf4d9 SHA512 f4893dbf1834b5c2bc57d4b4e8341f17c6cccbfd9944928869159dcc430547479cd34ca633c8e2c376b975d03c50eb9df3b5628635a4fc420891bf633788e904
+DIST firefox-90.0.1-ja.xpi 605305 BLAKE2B 11ec52280078d6edf0ceea06572ea54e7c31de81ae8fa3d8d776a3f42d788e919af5838e8bfe325c77aef20681bc9e33dcb9c396eec015f5c304bd2ea449c605 SHA512 06c3adfe55ac510fa09a9952b66541b84470facfc73fdf8422beeb505865b3fbf61494bdcce2810e7966eb4eed0391a53686f5fd25a4f73587e508e17fd643e8
+DIST firefox-90.0.1-ka.xpi 606618 BLAKE2B 6c0d9623bd4ed893fd8527e97265f544fd6bcd5e044381dc2b0da9da416a8d98341daab642d966f174476f4c2fc37b9fdc3f488ee64364b86546a3016c955b51 SHA512 10ec5f34c551f4c095eac2d5ae0468cb7fc9e5209ac95740c3aa321f212b82b0599760da00110f64ead5a3e118bde07871ef9e7c5e9af89068bfc20fcaee1bae
+DIST firefox-90.0.1-kab.xpi 562723 BLAKE2B eebf8fe2b650132748beec57f468b4830f0c6a885fd21d215d1f734e93896d1d07b5eb7f85973ab80260fd301d197273ba783ecd5fbfc9f370d68e4354725a2b SHA512 480694521805d67a10818ae1f98cb42836d5719930713b68aa38d53aee7879a055ee0d8921baaa6d9841d5e068538ce64ec216e14b893e5602afc08106f9b67e
+DIST firefox-90.0.1-kk.xpi 621558 BLAKE2B c7d385c2e4ac96488f8596e5883f693ab91ece3bf6e0b3cd5d847c1169f07c0c81fd2585d7fcf640c05eb7d67e723f06959c2a90b62507ae8e4240cfb7827f66 SHA512 3345b0e31a162bcbc87230e7f01ba47cdd3836863d4adb267000bbbcbc976359ff289f5f1381cc3d6cfc30001cf1554d46395d530f802dc72081966823d8cf0f
+DIST firefox-90.0.1-km.xpi 546421 BLAKE2B f51e28d94255d3f0e7d4a830aa5284004d932f78f123ad701cb4d8ef18c9d39f3c0adb973dce710acdb74428521ab8af9ecbe01bb2adddfd1a84e71c5c2d9db1 SHA512 6da239caa4b2a2481eb42fd6f4efbdc4694e90ef4c1e71a627e42ccc3679ac390c275cb639a3476cbd266aaf45341a200a4351807635049c64942bb050c88da6
+DIST firefox-90.0.1-kn.xpi 510711 BLAKE2B f78f4f5054628ac2bc345066f309d43783d1400fa85ceccf6abf75d285bd83c6b5276a7e312b0b51ec4b2368aae4834fb16d458c61076e8ab1b7de6dde145f7c SHA512 f4d9f197b49b443c3cecf3535762686b3210f10cbf22c4403334081daf448b0c11f1f347af3d4f1d523a68e2ad0ba1141fbfb6897c4f1db91873a90f958c4aea
+DIST firefox-90.0.1-ko.xpi 590157 BLAKE2B 5a1a3353870ca211487e99c9d2b51d086d4ae4cdf15fb23e34991e4375e1abe3ba3ba31622d191ddcdb53ae36adde003015fd3f51b0f7d387fd053e6ecc93289 SHA512 dc4673e0eb02ffcaec666113f3a8ba412731fca3776d2819bf080b529f16cd36501b1e090d066e8ae0485fe137b1d289bc507692960ab8dd10b619941a550689
+DIST firefox-90.0.1-lij.xpi 484744 BLAKE2B c7c87de7ec80380db073ab34bf5ea5de962c29f0748752cb86afd1a6d9bab1020eb997d917440691701a89432605c1d0fa959bad0581eb9221ca27bd688f83b9 SHA512 5d3118803438e43b014e5eb7079dfa51afb131c548c08764601ba7f2040250994cdf74b6c5bbea3d8656661169852386a6042bbfdac2e857c6c35692c23ab969
+DIST firefox-90.0.1-lt.xpi 571831 BLAKE2B 7ec88a3b6772d41dd7fff3154234e1d3aaacb15b2b51981b635b13cf7b49a20846e263650fb84800326c9dc208bea2e9257bb7efb1fbd8830e0bb5e7a10cd2b2 SHA512 47e357b716a75b44cc703507d680ca71df91af4383be32637be3a3c2649909ac8645c734ae3257e68ab58b4e402e39475b6245584609f816b0ec1487ccdbf90f
+DIST firefox-90.0.1-lv.xpi 475676 BLAKE2B c6aa771d4123813e8e086673b9ba84b03a78d8b74908d0b11c1332dc40171c4f39e219aa2ba69ba7b2ec9e1f343a82056b8d18a1af95b318ed28287d7bd2394a SHA512 fa22507a1a28d9ae1bdcf04bddf7ba22598d6f3389b0bbeed4a20fd7029fc28f845627c5eff6db2998628e076ff48a03ba78a62cb9010b99f13713805e5d8bd4
+DIST firefox-90.0.1-mk.xpi 472343 BLAKE2B f78cc1d87ecd2849c2508f4a132971691a66f96f49b3a44970b9a3f0c8d6c2fb56fbe264737f46754c243afe724095d5b46d292bdba3923817d09ccb28951209 SHA512 72bf3948a3948079b2ffce5dcd56fcd9507db42adfcf005a77f1f03646fb4e3065076fca316a0e35c0a6fbfba36b71feb632a3796c4650db1d47dfba3badbf9d
+DIST firefox-90.0.1-mr.xpi 547689 BLAKE2B cbf722e8adcfb2f355123137d61872c7cd0c26a3ee60f0190edcc59b2c24eb71640fdb27f7ffe96e4b0b3533c0d37b1ebdaa368af1bc76697259c6f5941d4889 SHA512 2ce3b7318c7a58a37e7ee9ef2fd18228aeeb00ec313b340e17614e40ad260387ac9d7800a8ee404abd833845dd1092fc40aa75191827b3fb8fb5e4ccd7a8d668
+DIST firefox-90.0.1-ms.xpi 459291 BLAKE2B 30abfe885821c6240dcb5a20d25037392d1b1cc001188dcfe135f1d24af14fd5d40c0f839b49ea1fd6f798070dca31892c3868807a243dd095638505ac08f4e2 SHA512 740a0954aa61e12665e1fe0dcbbdafb14291b56e68686d28f8ed0d63e79b83061ffb9c3a29dfe188b1e162142fbec06cfe3643f1bb99f102dd01d8b041627df7
+DIST firefox-90.0.1-my.xpi 531244 BLAKE2B a4a133bec87f4bcea72dfe58f86749306dd180e15047cf6da401d6b0bd8dd865a01942c283dae594735133c7a6f021717ccfa90674ce1bf30e93ea919362a7df SHA512 49e9a2b9ecdb0b6830d5c4ce117d836912259183b8ce33e52ea53f95d78845fcbacfe0037db5d2dd5ceec39674bae71eb476cd963c3927fd732232d6c06483b7
+DIST firefox-90.0.1-nb-NO.xpi 540501 BLAKE2B a2c949325e861d437d69c8173609cf0062db681ed9d8b2d4c90d3816b27ea181b0ae9b079b66de57678c2200a103959547f7d5e083a6e696af8bd1c189aa9087 SHA512 d0178d9c479f8786ea81e861303205c43f85ce51a8f2b2bae3eef49060ff86c87379af795de9bfed36a6a6e5fc1ff3f614086b96a7a58dab2a52bf17425e1e86
+DIST firefox-90.0.1-ne-NP.xpi 488250 BLAKE2B 1ea7f4249a85e4b123c317852b31a1d4c0c2bdde66058cc66a2cddeea13f6be9eb80bbf79053266a661f4d2de898f48ebffa9034722c0b6bf1450d9637cf672a SHA512 e386310bf8dc2b1c72a5b62682b8189ccd60d7fb71a8c7df9f8c80ecd7e56b9d95d941ecff13fc866b627e77a2daf2cf09ae1496260a4e7666c2dc4d878cb01a
+DIST firefox-90.0.1-nl.xpi 548832 BLAKE2B a02ba3ce88030183ce63fdabd1e730cfdfcb38a907d92df37e2fb4fc1b5ac1a7c4de3df7828a6069e0b8442d85309454396bbcd5aee13b306b5d6d4e7831b2eb SHA512 a2c218a19b55e9eae308b49fe9bd32693686c1c8cb3aa203592de0e30b5529bb43a88e92e927dd1ad8f1f18d269a7f7693e99091102d02beaf119551de2c7ad0
+DIST firefox-90.0.1-nn-NO.xpi 543211 BLAKE2B f57ea76c1ffbaf650f75882e5a667701e30caeff578319c046f9ebd04df29bcfa39da84a36499ef0b25d295a76dca96eb0b710a46f78c99fa40cf0f75143a3a9 SHA512 845e6c71d771ccceaca224631f78ae0408482126f1beadd1890b64b43b36070f014cb92fcedab4fa82c6a1287f9e0eb87a28c65a98db078fae99cd405039557f
+DIST firefox-90.0.1-oc.xpi 565279 BLAKE2B 42bf5fee3c71dacb9837f266f989677c7c0b9930b34b2b91866d5cbbfe29609fefac5510891d9f9850b12597c34846b666b1dd94066bc5b808f44180eb17b5c9 SHA512 543b606c35d0c173752fc0e603160a004c684fcb0f2e7aad30bc2e1c772f68403bffc38ea97a1174eec26336d4ea82b13dbab98e7e1c1d38c96b2773c5bcdebb
+DIST firefox-90.0.1-pa-IN.xpi 612462 BLAKE2B ed516d3d2de5d6e40c8e6d92b84a10f157c1d236f2baf01a76a80b0420d28ac6c6660b02c6711295776995ab5b508bb215feec0e02951d933b569d566e89cdd0 SHA512 2d9abd3b3ebe6ddd0d0aeef48d9c49061505d2090bc2dbf6d1ffaf35b6fd99b60429b46c85db6af0477d1a0ad05ff453a57c2a0ab57a23b77c8c4a9b9ee0399d
+DIST firefox-90.0.1-pl.xpi 568699 BLAKE2B 16c3835d0637614ff24705bd4d2abf1f02876e2d35620db9c45a59579d314f63853d9d5d20a81fe767cc474001bd65a1efcdf58f730ab79755fc3897943301b5 SHA512 bd87870d8f960d6a16bf5b2cf2c21c2e4758ac9cfbde031b3346430b4b768102bf99e572cad9bdc384d8d569879cf0bf1a2b97ed4a3e33ca2501d6ab04030450
+DIST firefox-90.0.1-pt-BR.xpi 554548 BLAKE2B 1656bfecd902a811097caaebc121a9827166483369e68e74c3fae84ceebaa180f263a54986ad9ac788190b007db8c0e4e437b655d6765082c1a8c90eb4031821 SHA512 45b65b270b7b436331438aec2e2deeb63ba8f86ce6103a4ab0449642e17698806e26178efeaf26a4ab162075cb566cabd6e2305bc976e6d183ac35dcf573e17d
+DIST firefox-90.0.1-pt-PT.xpi 558173 BLAKE2B 492bb5003f2430207b4cbdd61529e4c36ff81df0b9313074f6b768d7c0621b8242934ce9d57a4203b8b1b8b3a8fa0c7bfa8d5f9591a11af5e1aaff92d60615ce SHA512 3a6e364b3a8d8ecfc6c8a6417d98c02d04957e1a73557e87a98e74de0c1d111b907612a3c9a779f1eaa8f819f171bd05fd798c7de1e232a0891c3dc69be1ba75
+DIST firefox-90.0.1-rm.xpi 547503 BLAKE2B 2d87fc0c3af1860e0fea0a5d381e23f5cc908b95461c0ad2a26a4ac291607aacd052bd67396d1a4cd2742edb81f75e5ad156fa88c74075d5eaf13592cd0dd6b1 SHA512 f6014616daba4feeb7a1e8fd5329b3ebf3a70794a3596ba716bf3ada2d005a9d22a5bd5dc67d51ffbbd1ad6c724601671c8332d16c99dcd5780f123bc3d7a962
+DIST firefox-90.0.1-ro.xpi 542097 BLAKE2B 1b62114e852af6662ddd389fce7e5d4c6138eded8157e7deeae2150d45ced14e514d71ec9fa597eccfbd73683a53cc8bd5c8bb390619dd41bab436d92b3cbe98 SHA512 5c96ec5e56d1d6773801fbcc761138097ae6eb1c2e21a2e6b4035b210a76871d7421f67ae54b12119968da0af70dd300a16a4233619b2d53bf1bde4164aab25e
+DIST firefox-90.0.1-ru.xpi 641411 BLAKE2B 9610816c6ae04edadab61a6db39aa739ba99e3aa9adcfc6e0cb97eb90310232526e80f36a48cc25c5f40e53ad2339a7301b0090c0d1449a9faf6bc75a1847b31 SHA512 e08c752107758e0ff5e9148938b4d4a21fbac2e3977dd88f9608054b4071917bcf2637a5c4232a2f2c4dbca48eb6e43a00f75aef309fd7659ccf5c2c39a5abb7
+DIST firefox-90.0.1-si.xpi 497029 BLAKE2B bb10d6b14684f186681f1f296d7dcb59d7d2a53610f35a9875359dce4493ea73568940a12ac58a61e27f19f69a1c3e1eb29bcc1f49e4fc18cdca155c3c497090 SHA512 833970c43c9326b9a9ed8a3f178201b86d8ebad66d2b0696947bcb1187d3f7958a6abf2065da08b1a725bd40e9c19fef4d8efcf4f2905081e236ef64f4cf08bb
+DIST firefox-90.0.1-sk.xpi 578292 BLAKE2B 028082c05bfe03f616056b4494487e14ecdd6fdc8dfa0267a0b3f451e65247fe28f5c8fe1808d53b8c6e1d29df7d9a3f4882fafddf8eb69bd4c1fc06c1726715 SHA512 477884de80be0ba0cb52ccee12ca05ffed9b0f5ca08fea94878619802bd35f3b355b4f68ebb16cf922b1be78859d09e0125ac5acb607f4582c9b72a2af558146
+DIST firefox-90.0.1-sl.xpi 547668 BLAKE2B f61794f628b490fdce7d769f056ca31c8d9b39909346c29cd108b9c9f5ac320157c022cca085ff200f398301968e0a47a4636e0e43a5b81283e39b829de56b45 SHA512 ad71713cd34c8db73bbf230ee75630c435145fc93f5f80c2fe12f2aa87086c27dfe431d6b63ce98679f36b817a090b15e80923332e01ce6fe89b91dd0bb0830c
+DIST firefox-90.0.1-son.xpi 427998 BLAKE2B 436c379781d1faedbb92e0e25ff97849a9b21c4360b95ef3d54831affdfd60cea01f9d7b53ca21fca5d9c03bb7632f7bcf350ce9c43251dddf35725726f69341 SHA512 e591de6888eb35c4ad441513235da632a99ee0d593dcd439ce69687328b13a8eb7f97847007285d07a0af0debe0b3b15f3a5e22c94a113efc23fd909a3ff34ff
+DIST firefox-90.0.1-sq.xpi 568604 BLAKE2B d21c1103537c9a62f935a97adc4df9e6653e63aa020e9eea343a5602e8e2b2317e6b4392ff563c27c588166771c3e38d3b437ba4d0e3f082e8e12746d5e56c1c SHA512 d53dd171bdb5431e880fdf6464fafea04ae54b693ee1d35f1e59e468878fbd9736d40f2562b8f82298cb5cec05588c1f2217fabb19f8b5ed95c2458b934f6aad
+DIST firefox-90.0.1-sr.xpi 602764 BLAKE2B 2de2802aa5ea0c277276a4e2cebb11371270cebf7e78b632df3cbdc6a21516c3cdbf8347af0e23d8427b2ab326fd673e80ded765551b0731df012b64b42b16b7 SHA512 8f87e8170098860a04a7dca4d897bb4935d019d1b8b906bd071554f72876977f2c8be811b1e0694090d10432fc849254053032f392eb635d966c4feaa9a0c793
+DIST firefox-90.0.1-sv-SE.xpi 551932 BLAKE2B 5120ceb910caf1d68a67fc489d3332d97609acd77e41845118aca945100a86778300586284aaceb16cacaf97641059314c99b5110d8ebb3b02c7b0814b332fe9 SHA512 81754326c6e34dd74969004394cfd5346d2946d0fe133b25ed00f34d0b5e5c6c3080a7ea6c5b7bf2cdead15c7a59fa944acb66d7beb656178a7c4b9d0fc283e3
+DIST firefox-90.0.1-szl.xpi 525932 BLAKE2B a2bc9440a8960450c810926c65ace1e0d45783b257482de444337e9f56a8ea66687daf4f73d15781bde1d18bf8a0a72b9e3c5b627021cfe03c854feccb189322 SHA512 5d3e2b4203ce1f247a19eb6a900778fe1d7a52ebc85658f53d819a89e843b2ae138a463117941a46a7564452d157133bc920614c421d7fa7600f023821db3b68
+DIST firefox-90.0.1-ta.xpi 526012 BLAKE2B 302a98bd0426cadd2461dc6d1cad9e22d6a62219bf6aa3543295c9b3b044b1b05162fde424498eb5dd0a7622a257f344e2355fafe13bb4aebacbf43d5d326f04 SHA512 159f870c5a7ddc3130892a9c5b54bad0a057d7cc79382a6cd1dc06cd27fe3011b77c968048e53e6d9dcd8841b8df8259e2136312bcd99fa3efcf2d98ccbf619a
+DIST firefox-90.0.1-te.xpi 568758 BLAKE2B 66bff30e615a47fa2575f57e3c07979a9fcec781a1e6770c4931d64837bc2723093fef569742a609d51ae597419690f41c69e42822382ef5d704aef55ac2ad51 SHA512 50a6f471594531b21edd3d5fe337734838f5d6a8853657d2021ba48f3fb492b19355fb6723b37439fca6a3406161efc1ea741b970a3547367848a9d6780a5dda
+DIST firefox-90.0.1-th.xpi 620993 BLAKE2B 2b8a6348b1f697fa031abc03a774d4ae94e73ad1a30cf1eacce9148c3de682e80e771028122f76009a7cb81612f56908dd47f9c3aa95cd51c09ef2207fa8d334 SHA512 9d24ba44a322cca2bd0488be7ae618d4ba195bd620865357c822f3171297123ae9af741ffd794d23a86ae01a7b8dba79d2015171b693cbc0ea322eb6060220b2
+DIST firefox-90.0.1-tl.xpi 533275 BLAKE2B 3750708f87f9e96c917342f4380486b215010531bb8b875f45285c72e57431dea6cc04a01f70bad16e53284fcb6882449b70480578f73f230136d43360e29944 SHA512 3d57655eb3ea8f0b4ce8b35279b537ea411300a372eca3da6aa9533cc164708d269c46763de19acc3f5240021eee8bd53ed8dc8074fadcf03e49efc3836d9845
+DIST firefox-90.0.1-tr.xpi 564312 BLAKE2B 05731029c793289914508f46d50f9603af0bfd48db91991767ac28ae9e84aff248a6f61541a8519323680e6ed24e8ce80ec9e12bb5085d78694020a1b923a36b SHA512 46a09eae3bf342fb0b4b4d4ffb15b6f87d8641397b87da12aaa1c407289bdf14c99d2a61633cc0525316a0f09987d068e533012703a53af35769dc5c266a8cc0
+DIST firefox-90.0.1-trs.xpi 506677 BLAKE2B 08da46351de4cb9d24b1fc07d1a5c92a604c931a4877ed7d7eda1da59c8c20b03a2511858caf84f4f2fcc1283d67a098f4887e9e13d58a2e0b23b83a403b9d64 SHA512 9070aa494fe4a25e115340e687534d2dc30edf63ba8eaf22d01d232536aa39c577ba032e31b29c646eab265692118845cfd8a9fa56d271cee5c469861f9a2275
+DIST firefox-90.0.1-uk.xpi 635103 BLAKE2B 431a3645dbf1f6e9fdffdaee16214ab96935bd51123024a0b2e7fce5f5157a89971a1e61422d10f501761f2e478336f8cef81d6fc541bc34a5425f8985d9c1ac SHA512 61d06b6317acd6f7146084f6da4c911c8a324cfd79f29eebe050e9c42bd17aa12e791d4e6a9d3191d048dc5cd7bdc1565fa159f7be4366a55931795ce120de7b
+DIST firefox-90.0.1-ur.xpi 577975 BLAKE2B 5ee7b72ae6b4b4ee5d3ac924af13f2ec7a711786bd2f161e77740607a2ff095f3440e862ba6304854097586a6d50a22eee9590cd0a6e8c79309a2f475fdd0588 SHA512 efb5f7cbb4833a7c446bfbbbe305e066dbb8a88ec3e24df93858a079ed6b5f768753e60baf9707d7b02da2e83b1b6aaa0cb17cda4c6c9fc830b32ceb857b03bc
+DIST firefox-90.0.1-uz.xpi 483019 BLAKE2B 2c16d2a9fa9153c06a5e18bd0ff63c1e9799d42ca3b0940f7e0882c54f393f62639fe38d63af34ae5f25d0674b1097fa08a4e47e040334bbef167b7e44899a6f SHA512 84ab9393d666b359c84f5b66b290236a4a3b78e4a4f186d6aa5ff5e97fc80bf2cfa9ec9cf633060eab5c974af56a6dc54d73d8aeb65eb255f62c9bb2115eb537
+DIST firefox-90.0.1-vi.xpi 586296 BLAKE2B 84a9030f542819e1b7a5190bebc3250d6bfb279c42c5ba5624a4c7cd05c91420ffe131f280289801ccd6ae10f06d5b5784f89b05983ff8fb75ce26a93fb65d7d SHA512 4f2fc779dc113ed9bffbb2abb51c3407f9a9bc90d2f5db9445876d39b646da6b5787e9ed41b2d1215c68117455438aac69ae339a92fc2664be172266cd0a13c0
+DIST firefox-90.0.1-xh.xpi 430169 BLAKE2B 0a312479f39d55f26f65dc169cdb781a72a39282ed89311e4c2d0df50fbd05c387b30e4d9aa7a8bc29d813b2ddf428f432a65b3071bbfd24acc49e73d53ccfb1 SHA512 aee61bdacd17ecea84be1f8c66360a2bd43ded757d2ececef35247222c89553b0b0ff7ecb2a32a0de7391757f24d06f9c8032bdf0ce51b1b9a21dee30105c3ea
+DIST firefox-90.0.1-zh-CN.xpi 587656 BLAKE2B 56ece7e539135c2002cd52f222aedaed17f7b2c4adccb2001a9595f572b837b3a273e2a5a0124a5b005e695ce476e32ff39c06b2e760eaa1878855e7aaaac3e9 SHA512 0ce6b36c395aa9182b882f46e80d7958a478326b7db5d2c18b33ea44a419da7ab2700b3222a2523d16ddd46a31152953ebbf2533ecb26bfda4b693a9ed4ea9ac
+DIST firefox-90.0.1-zh-TW.xpi 588101 BLAKE2B e15b3fef7649e09599aedb4e154737bc6bfa819fd0266d81579ae9b34a733db3f232cfdc7c8cc2955dc9a3b12bacdb840ac14f6e081cccae0c8883fbf68aeb4a SHA512 40f1c9d93e73e570bd423101ea07c8b23953d52a641466d7c6376b6875b28ec59bb1f1c2dfa1c6c20e582fb57e74fe354b845f4ca0573eec91ea244fbb6c1434
+DIST firefox-90.0.1.source.tar.xz 378978080 BLAKE2B f512781f5ef51cef5f72234c54622602f8f506c03f68ad2436f28b0e3ac9ba6a8bc35f840437c23a6ca989dbace4290d6ac5632c71cfcefeee2267bf4b64ce8c SHA512 9f87c3f3dad33e42a7a9d2161d7f23ff2e7184b2274f9081511c7982957ae9954784bd844a2348ff4744231415aac195d1f12971392db90be0375b4738acb590
+DIST firefox-90.0.2-ach.xpi 467582 BLAKE2B eb20fc04a512be8d1eba219f7541af93dda781080337d76bce276a5583bab5db1938bff037a238377250b6810232b77534bbcf835362ee385b4b1bb6aad60067 SHA512 2f726bfe18bc7e6aa3cde436e9c142382513a1175269b710449cbf7481dc3d91171d21ca1bc30563901bb35eb31befa3c2aba115ac596951d3d6aeb5b94bd1ed
+DIST firefox-90.0.2-af.xpi 430709 BLAKE2B 05cc8dde801efd97dfe56d1d102fa48e1b6e62b3e905648007dc488149628ad3eb297445319f0f1b620f2549d7830c16b81c53e06fdff1d43fcc70e815875256 SHA512 3865c9e96b66def2e640d747cf73ec97127b58e15e0fa01d5374d2ebe35a91d16a8176b68f4025122af56648415b47d03fe6a4a1e007a64da8a9ff4e1eae8ef8
+DIST firefox-90.0.2-an.xpi 515453 BLAKE2B fe5487cceed1fe4f941adf78760cbfa313f58408a5034eb72809e82b3a404e6515222058ae0fe8e7b18807eff8baa72a7ffcfe80798ce4ef9213be7bd52fc2f5 SHA512 1958e46092c05ba266896dffa83af98adad83572a31e769219b88a044ae132f2d2625154a20abbe997147188033f4924ef50e678d435aba9fdf0d8a291c89ed8
+DIST firefox-90.0.2-ar.xpi 580224 BLAKE2B 0ce2771752d9c3e6a2bb4d39b4eb4da5ba9ce4d530b04fe11b7775cc08107a78d3cdee033cd2a564523481cf69954fd07fc6adbcdc56ac0abea192be98fad91e SHA512 eaf2335811cf451dfff085efdd0256a3c72d08c59b1d31dbb08a968d40d5c20d45e590479e10738726bdc597a523c036a2b26bdbf41ee469a6bc3dd3254f0ea2
+DIST firefox-90.0.2-ast.xpi 508002 BLAKE2B 74158545d969e4181c4a80e3a1a2d9d2dd0e4d358c7846b9c426b25a00fac9d11bf10f8dc39e594ad9fc8395fa0e427d06824e3981a7dd7e59db1bbe4b0930c3 SHA512 7a5b98e537ea3a930016884fe13c1bc91ebb6f13267f759aa1c689a80f9e3243eafcbd8de16060bdacd6c59295b6a6fa5ad419cea3328acb20be5fd53f909b5e
+DIST firefox-90.0.2-az.xpi 503461 BLAKE2B 15c7e6b13ab47639c611df6c51ebdddc2a365b6f0ff0e93285e17f9de8b85f91d028467c3f80ffab4a1ba0e28d8f16543db994b5b6970c5a22a8d4e36713a6a3 SHA512 18f759e63ad51e9719b3e5f4695f8e592360e612835e9f9ea5cfc616bbe07fd46bf110f881b42663d0e2384f12d34ad3a9207aa62247e582b1cfc62065205210
+DIST firefox-90.0.2-be.xpi 637220 BLAKE2B 1e10160eeef6b14da9431ffbdb6b94b244477d23f9b38ecec6dc8a40a188461624cf5fe9395f93c41cb2701eb2e18367db1ee991debdf3927fb44db33631cb31 SHA512 c9eeece43756e020e39908ce1d99f238c3d581cfa66b9accf8ad23fc0691d461b976ffe7027e29cc21914a07c9b009c19d5a7d17013b70739d5cb13dfe20ae8a
+DIST firefox-90.0.2-bg.xpi 590496 BLAKE2B df82040f0991b69549e5983a6d3988bd71bee2aa367bfa2552d571cd1702e555ba0c488aed195f16541eff54a4b714e3d54ef6c99da573d451a69af44967ac85 SHA512 0429124d8eff17ba6cdb5b1f3b8107f1e37e8fba9445ad88532b5780db1e139d527bdf4bde37a1287657828a68357ee47e9d308b540f1130eaea65332ecfb3a2
+DIST firefox-90.0.2-bn.xpi 579586 BLAKE2B d989d0ffb3b396eff5f4cb3b42e503e52395715c371af60f7437e7c05d5153c1641c67ebd68870f019458ea9f9f32c888c7ffa8522d18403823571bbffd7835b SHA512 49d2b6d9bddb60140dabc91d7566318a7a33cc96664459fe75b29d07238a22056db615e6964b9cec9b0390cbd482bdedf4362acf144f752a8d82e7aeee76c360
+DIST firefox-90.0.2-br.xpi 539710 BLAKE2B 0691c6011c853e856577e7d2faf320b3d5cc276c360365f63f97fa03860ae1eafc02a31cda92506bfb3182a1eb2f345fc9f8661cd3446dc4dd11bafc09d587ac SHA512 630169e5a074099a3d965da66253c3707a3fc898a9b5aa3f5f5830c948c589e2f260ab6a50795417d19e63528658daadbeec2ef3117dc3c30d026cf9adb684ca
+DIST firefox-90.0.2-bs.xpi 475430 BLAKE2B a6fb2a37cd6517c5816e036eeb794ff0de0c71f75b620b795a463ab33a6e47c8982c060ad128f012972a8c6759a6ec5cc178f31f2d242b86949597fae59e372f SHA512 44208f322553d88e59fea067a1216f8795a0359d330ff26762b420031bf8f31ae87d3fa1579153e5e6dcb53058c048b1df49eda74deace4bec8262ea6fd0d20e
+DIST firefox-90.0.2-ca-valencia.xpi 548479 BLAKE2B ccda2b43e7ca3ccc3cb2bcdcc78e668d51b940d571c2c7a7dd117ace3cbba8696304aacf9dedaff9d3655e3dea96d0c694a4fe1788e8c0eb6c7e9d7595786c65 SHA512 64b6e4854cc9e1866a6ee7218d499dfa66a62680d36b2ba5973bcb99cdf09ce9664f078f0f93946575e4daeb872fbdeef28d7bd302113f83668be2376a1d4602
+DIST firefox-90.0.2-ca.xpi 546603 BLAKE2B 4a73a815709f2c9fd30be7bd282cd889d3babf08af0513e022999fc4ee789fa7ebc57a1b5798a465d46bc530830edceb1ff9b1e09889a139c25364436b32e09a SHA512 7b3d1f509dda3e9adaa8e15d12d1bb2a33c16356e7eebf99a0cf73fe2611bce6d84a9b7c328704dcc6caedb60fb9faffd9773e6e099f7379f5020b9c9263aaf2
+DIST firefox-90.0.2-cak.xpi 574164 BLAKE2B 442b69ff8957b047591f21ea22ce9d04a5d2ed88d870b321eecdb527c95dea94806ad76b8d88127548e35fd87f647b15c21e9a5c2f9ad7a7ff4582c94e500d48 SHA512 05a50ad71449ff9828fcbd4cb089d23c27fe885c43bb7f02bde303c0223f0e64036589e52049140fcdc1b92180d4f8fde430f2d984fdfbc3e0a0dec7bcf33bcc
+DIST firefox-90.0.2-cs.xpi 577720 BLAKE2B ddc2062e0bd2642236266c47bf763121d2581ab0cb99da04860fb33d688b26c4c887760feb7356c5808ce889497fd62b12e01f00b55131ca45031a9e977bf153 SHA512 7e277710908892964749f446b48a8624c199d5d45f780608ce0ac6a7a5f7cbf57cfd4ae986f79f76a46ef2a0b41828104daf97028b54a2d83f6f134597ec28a6
+DIST firefox-90.0.2-cy.xpi 554650 BLAKE2B a8b3f9879534e4f59763adc1ae6ac310d14223faaa23056cf7248130489f993228083fca854d15ee3392761c33fd37d506402fb657b51dd1a607432e9a1d19cb SHA512 c18522048efc7edbcba01c1bee79e43d5db7b9816ac32d91f4441d3a0cd65155581966372101f14264fed70eaec881d5a099995a5b4beb9c6a3af54c88045212
+DIST firefox-90.0.2-da.xpi 546288 BLAKE2B 580541804a971226172c4a5405c2d97e57b0a8f6eada7d0658cffd79bfd5e4b915cf29c8ca58887f328a2601103b52b328ce5fca67d5e7a261a09dbeea347d76 SHA512 41beb225ae75c34dab6133f98464f10e9b7faa6405a15199272d05039a4c0417f7bcb67c0b4d058b716c010b9afba7508779aab664fa9acfcdeaf8a12b336a6e
+DIST firefox-90.0.2-de.xpi 566471 BLAKE2B de4bed3a835be63460e938cfeb73ea00d3db1170a83fcddc7d67c7031028547205f1d9c016d46927bca1040ce9dde1a6dfe091647ea89d13425e559980baab67 SHA512 5dff86f82a0ae5dd86180d1bbb50af329a8d753905464728eb608e67db7cab66030d76617d119807642cbe16362498fef67658f07eda7ad7edc76a59093db3cb
+DIST firefox-90.0.2-dsb.xpi 579297 BLAKE2B 24b04ee03cbba2269150674c994c073c5f114cc56e8703a1f993b2572a64ad9c78c49c65bd4b064b785faf2f95c3676a978cd01b54bfb0b5a36fe9b8273c4a09 SHA512 1d2e7a9b4f701d05ce9af4420c3458872cce5e8be2ecf1644bedfac5dae294f13056ca649a112bd2d7d0fdfa5a50574a107cfc51eae3cbc3bccceadca94f78d4
+DIST firefox-90.0.2-el.xpi 652899 BLAKE2B 00d52fd1ac72f2ef57958b02cccc7270dc7f565ba3844dd0be495930eb7a26cd72c0f1c289961aa940fbf5dfe4b070159fe6f511df78ee26e0fc793e245a5227 SHA512 dd9e5a59bf81ba93ffb131fc4dff873e557cd252941c2986d37730752258a2034db44e53672e7e2174c6f5467fd784ea22538e8e2334b441aeae8e99a326ca96
+DIST firefox-90.0.2-en-CA.xpi 521250 BLAKE2B 0db675cf883e92fc41c640f9c599b7fca295ae4f28f686440ea2e2b9a4436445b9eee2c2fe6eb625b1cf96db87642c341084696b35911e52239486fe11d3ce6e SHA512 c1f4a0e29e4e7313b0ae8efea43cd436f199fc249dcd6fd15d6ad7b2be106a90e83f49083f7d1a018be580f783fae5bb07ed5c01012b5adc59526dabba72fd30
+DIST firefox-90.0.2-en-GB.xpi 521806 BLAKE2B 1a04f7c7953f1f32e11484ef2b21559428f37ae00911d5560a504e42fd2bffdbef8f18ca55f924ff19f62679e74f6886b4901bb3027a25f85ddb525c38416315 SHA512 42690b90fcedd3f42ef373c8bd987b0bf2fb19d30071e451c33ffe3f6baa9c089ff870dce41274841a06a6d126ad09364b399f2d44f96b69441dc9dfae2cbf35
+DIST firefox-90.0.2-eo.xpi 548059 BLAKE2B cd513f81964c574fbb8436d28e6af185c74009466ce843f18d7414a730b709b26c8c8588e5e9eaa3ed3c057ffe16ddf56b179f048fa180760155e04151946c90 SHA512 8a02dae10df6d178fc32cc71df44b85bc7f9645dcce699a67a0910f4a91e058e99d05464b62a00fda32d7e1d43c629d2b6401e89288d1532fc08cd4868b5916e
+DIST firefox-90.0.2-es-AR.xpi 559628 BLAKE2B 3d253e9bd11b29a3dd5783bad9e8b3e5f64b10baa3f497369c8175d295827159ff61b5a46abd4a0a6792838d18fdfb363316f64600bd4d786035e11fe4066129 SHA512 bbc319566de8dcb9911f76d5edaed504bb24bf5d65af518a5645f4941e8fddeab4e1fcc750d6a2ecb223b41c9746a5192822c99c7a30fd4e913d9177ac34f26f
+DIST firefox-90.0.2-es-CL.xpi 558527 BLAKE2B bd89d7e8cfdf892115438b7fc92a18c48b633e9f856c9a4821ea2a7dfb90120e1b6dd233854ea96c2f1cb7dbdadd71aa369a7c879092ab6b0b109ae21864ec25 SHA512 b70799b720dc11a06c641f8bc21726d16e1979a2bbc9bfa8ed3fce019c24298ef0539ea47bf497663971d6de5a8d7e42edd73eecf259e4af966f41dcfd1827ba
+DIST firefox-90.0.2-es-ES.xpi 548794 BLAKE2B f0320caafcc35a4e71abab33ae4a35f341d7f869661f7f7e2c8eec9fd68ac1d5be0502c9fae795005365f6d4e8d6024c86bb932ec3baf9b538b9595ee8ca06ec SHA512 5d2840475edb3659e7bf5428ddd92cf4929bb94a76884686a3c3271a6a4053e1bfe623d803488ab058b0b9860d9f4d659d36701eb6b90aaf5ea1723b3d83a0c0
+DIST firefox-90.0.2-es-MX.xpi 562244 BLAKE2B be7fbfe6d4780a871dea7127a786820ced8b139cd5ffd61989cf003ceb5d333910a9b7421a40008bf0290140a927a5ccdb0e389f9078f9b2a031cde00b5789af SHA512 b7fe64cf33d7be4ac13b66891a7b6ae350b5a8177537e321bfe1b8da2a1234980d0bfbc819102dba975d169baa9b26a356c80f41b41751d36e1ddf1defe5911d
+DIST firefox-90.0.2-et.xpi 496662 BLAKE2B 31829a9cc3c809b6a0d91a68671f44e197db7f5b9b10426dbf4722f74b577de1db4be84f11f48eaae0d1152ac82af5f9d86922dcce2cf75738d3322485c0de52 SHA512 906f6f819baf2a96dfe0189ed322cb25e046d38dec7037cf5526da71cfbf3d1c0de600baf31c511d08eb18067beb4bfdd35ce5f7de91364847d0a0a7b21c7a3f
+DIST firefox-90.0.2-eu.xpi 544791 BLAKE2B e8df641b3d57ec9d044f80c274de17e23e216257e0d78cd0e86450ba5fc39b18839896b3d3976e3be0ebf394b0d966d6ee4af0dafa2e3ca1a9751b3370d775a9 SHA512 920522a5fd26a53d27f15533f40c5972bd330037656b1c1f94828c4d7b87e33a446f49c4f311cc15dba16a931c73255887de25b91036a1057422a25727e6f481
+DIST firefox-90.0.2-fa.xpi 565155 BLAKE2B 1dc2ffd9990b923247d487670dd734c67db0ca5703834fa052f21684597de0bfc9902062d5c7f6fdfb4d68c85684fd93db5e060091af220c3c2ab74f4f9138aa SHA512 a929bfc80b3c217da3eae1773898a646d9c2c06d7e13578d1b3147a7497155953ca2a297156b1012ee7f8630b7764d2953ec25d610f958ee7a19965859666455
+DIST firefox-90.0.2-ff.xpi 488049 BLAKE2B 751ff1cc8b0cdb51af4f0cd42db3d1c96662d9994fbe5fd2e4a1d2a1ab57a9b4b5ae8bd8c3e5d3454de83365c6a1391be3e07ecfd58efcfa4ae7b412c402a826 SHA512 0b6e0b583f97722a57f9d28caa14aff4fe7d342e4f1b188a1b0186e865eaad3b1b5ab0d911a9187c082760e85b9f970c71be6e44d84827a575b102f28a7011f5
+DIST firefox-90.0.2-fi.xpi 545936 BLAKE2B 1d992fda4a9cbe8ff43c786277c55ca005888eac771095d037d595974ad6430994ce7c0f741acf96f175a816e800bc77496e318290914912ceba8a82e3c6ae68 SHA512 2143f3b989153534f61a394c94e9edc74f0070e8d6d389b455999d4cb4cb0597322871c100a1114adaf1073ef29d7cc5ff6c13e8f59de5f4064683dfe1f12fd5
+DIST firefox-90.0.2-fr.xpi 570078 BLAKE2B 75cf2bd14e3e8b67053aea83d492033ef46ddd88ab69a902f17a4e21c36e1fffd72d855d48be825da3928717eb726447435bf345f26b9edb5cbf949f08b19209 SHA512 a03b42c77585f70136aaaa3e102ab53550ec441933814e817f10a5ab846a47f5b1203738c22fdc07fbd7968421aa3be07fd3966f54a3d7a1f564e5733a4f01e9
+DIST firefox-90.0.2-fy-NL.xpi 555597 BLAKE2B 3508589c747154ebd7a9b712b58d38776990b8d9d2fbc6f83209a3e395b844a0bbc7ff0c62afbfefba58d509514fe0614bef7f711b1b44bad0605beffdd7c07d SHA512 5dac5d2c758eedfe7d351ba5185bf2f680d1816ab74256c9821b7846140130908976a979563438f910ddb51294ac8045e86620f9b35fc58e30ef4d9e3bc8cfae
+DIST firefox-90.0.2-ga-IE.xpi 473120 BLAKE2B d72e1ccb36942bdf00b337efd0231ae5b338a28e17eb6a5bc51e613df4658c27da61486319ac08d4f9a0373dd2f42e7358afdb29da680bafcb97b9a96f61a7f8 SHA512 9826db654e10053ebad1b78caa2bca440ec8ef2eec30e1d3f70b04679c5a89ae8eb9098531b13aed6957a2c4fc7a885e0ac7afa36d0f98d40fe0d95574c7ee55
+DIST firefox-90.0.2-gd.xpi 550980 BLAKE2B 19032850535ac7c4d5129ae61a901cefbfd14b7c0ecc6acc22ad29422290775c61f0343442f823dff4039f99a40428ce138987e178471190515c91b509eab110 SHA512 86d69a91cfc1c836cf2b5d8b25ad509e32fd5d1d3732379009e50b8d2a9222371e287a3e00c0d9541165d79bed59732b8e144f3b638e43db9838bc29d62d4b20
+DIST firefox-90.0.2-gl.xpi 554486 BLAKE2B 1bc91d2cfe2639d84dd080198d5129414c581ac3c02dce8b14aec1e6c4a169e9aa07d6ebfd8fa98dca4546fe85fd1a35054e561912c4744e07f0768f71c7aab6 SHA512 4f36662c5eab07f649aa21aa85dc57ec82c8ab7b961fcad80fe4f487c40a041b98c2102b4f7b96cb4259e931333db4ef357e4a69779412f4fabe7cc7f66f0b21
+DIST firefox-90.0.2-gn.xpi 571719 BLAKE2B 37d4265185ec26a8ea8e86b57aa0aae529295e1ad54e5229e0e108872fea8b039acb4dfd85153e8a9218db46ea59288558d9c60cedf04554bde32faac85275e9 SHA512 937a9bf0c77e2d5a5f7d48c0aecf6b27bd6377ef05a82e2f674c38bcaa392a3f2d92f7b6eed97551eb26f39758f215bbc102b01314c3326e54c0d70abf91aa7e
+DIST firefox-90.0.2-gu-IN.xpi 547542 BLAKE2B c207abe6581170975581f1ec5f074fff4113be5eb19a3f6113c2c6d660d66474c21a46b73ec87e4afdb03c04b9d052c77732b676108b89decbf04f2ed7cf3f71 SHA512 ec9de8cffd0ffc3828d69fadcf8c2a42215aa1d84474b08b3eab42d1466324cf2f5d5a035fd9f17b90230b3778eec7d229ea2d0fbf4aca6d652930249255a2c8
+DIST firefox-90.0.2-he.xpi 569407 BLAKE2B 7e69b976f53760242da74042d85573159082d3edd5e1d3ef1fd185b09c6863f8c275214d9a2fd420ca559f83099b393c979b701305e3c2c02bfb63aa8e0194fc SHA512 1094fd8b6d6435ba094d0ec2ed70a5b1d911059c1bb4850033209604521d21d8ff579e829224c494ed4046da16ab804381138a1d3893ad5b0e14787442136b3d
+DIST firefox-90.0.2-hi-IN.xpi 579616 BLAKE2B fbd00e727022b20e0bdfe3adea70558b5e992fcf40805d0ae3407ffc49b41db5579cbff3780bfb05825bcb7d2b5cd7265dc5fd18f6be934806ea461d3c2a2629 SHA512 209bbac0799e13114ce20f3ae853dfed6c4e4c56efe71a78d765b6c1f725a52b0e88b87d6cef6efeccc1391413f9d322f60f0fcf79b197a1ca2256ab7861dd88
+DIST firefox-90.0.2-hr.xpi 549998 BLAKE2B a051f4591139d4e51114b39df0089cf970f6cecd368785c36592b5f3d4d129850510044f6e3b48ad7298ede1b2765ab502de75530616195d7d636599b8c275fa SHA512 8d77ca7fd7dbca5926ed4f8becd356a8bd31b8ecea36fe26b8641ce9d02daac2268e71e19968ff9f3338b379e943f041a4518207491a170bb629ea4045e2a0f5
+DIST firefox-90.0.2-hsb.xpi 575410 BLAKE2B b952d82e59ac118efb537453ebe7a87c15792c52b005da779d7d06f7fd665e8dea05984ab07b9dde17371828fe6f44212aef4dd492a32e7f9d6ad87c68369be9 SHA512 b59caab36be18ffd000a9976e3703e9e8d520c523494f080ef020f49ca239af17ca97dfbfb7dc70d36a32bdb51388c8ba2e8d4c4195d6b15c0f6ac57895df6cd
+DIST firefox-90.0.2-hu.xpi 579113 BLAKE2B 206d00a85161b6aa2f2422d825a54fdb8a77c856f5da5a92c707729d078ed7a020d6f0b6e288bc117cdcddeded316811eabea264198633f11a27ec35e7a592d5 SHA512 8cc740c1454279b9bd20d78abf4ce352db596e85e879eeb335b79b00c0160de6b2a704f3c6c44d4231c80d2d40b58d676def68cd77bc2ed916eb617cbb0ad964
+DIST firefox-90.0.2-hy-AM.xpi 604422 BLAKE2B f49a46b07e6bd9aff619d6ecd142d53da4366899bfaa0cc13051b4132cfa8c81c16d0a1cb999b190373e64fda1434df9ce965c91969956dc1d4fd64c35fc5bb0 SHA512 737b37f8a96eeecd920297911cfaed9664c0327f7498cce5d0c0dd942335498cf7b15c203226dd3128b60a08a176556cfc8abdb434a77fbd5a846948faf4044d
+DIST firefox-90.0.2-ia.xpi 544431 BLAKE2B ef3eb4e133074467183d3a54f2cc6af6ded4e8edb618868115fa6366d61c2d379a3903c0eadad8ad2a0d0e2d9eb57539d317a04b784a41b45a2cab8d73e64a56 SHA512 e3a72c94be0f03c93f85ea9b7ea1b37542f759d5de9a0522003abff9c12f30ff377221794d351d82c2b23afc07631b7fbdc0c0e629655877714e0ea3f9e49c47
+DIST firefox-90.0.2-id.xpi 540133 BLAKE2B 52d47167ec02bb0917c0b84df77e34694594ed3f7493d1790fe036268f304b1efa1097ebcaf2eaa9347e73d07faf4fd46e97da1d8961c9b1eeb68e13b222a1f5 SHA512 c510bc024f902e795fc851b0709570f5d493cd9bfac12ecb6f552144dd8c96c1ba607e6fd05f765e0f0425792859e86e661579b89b700320c044d18b28171cfc
+DIST firefox-90.0.2-is.xpi 483713 BLAKE2B cae0f001ab5767163706140ca2ecf6e15c6db37a147882586d40073d2598fad2e5fcce962d4d51d0af5a925e634ef59117f5f93f70347237470f047d727083f8 SHA512 22da40eb5089e2a267a66c17c9ee8ee400753f0a9cd7337d8eebbb0d1e66f1ac31316ab875a6645107b7cabe884308f2a1d1d0a64ea96449c984ec74963d85b1
+DIST firefox-90.0.2-it.xpi 470917 BLAKE2B 2b8ad1812676dbca90ea2164e4b534a3f246bb883bb3db7dfdf90c324733563903ddbe4345803e77085fd37c5a099d9b787f94e01a413349c744ca67b25f519d SHA512 018de01e7aab5f3f8319ec1f1c74ffc5a77d9b6fb2e410f700785448d3c5cb267b095edb9c9cd69ed08ad529295a859086a7f5d4ba53c39e464716e206098606
+DIST firefox-90.0.2-ja.xpi 605314 BLAKE2B 34739e38a812f92c8579a226b36f2c7622eb758f2942069193715143f0d63e9f0b85e08ef4ecee75d1006a97304a6905b15e0e76c65b55d7e1d3cb29c45cbea8 SHA512 7687014e78fe50b692e97bbb22bb08c8c1e25b54aeb104b766587428aeda8fea935ccb089320e72dc1efaae7656c0de5485fc3905b98127b45f59e38ee58276a
+DIST firefox-90.0.2-ka.xpi 606361 BLAKE2B 618a913593b9ef7832fd810ffd769cadb47bb93ef9d9362b86539a3d6da86957aebe412364f32ad4c77974cb97fb801edb3938a29c2326a66796bdc0d3e1fb54 SHA512 2bd7a719dbcd9cf2d7881260d5c0ae0892882983d7d07c7e7348c6c82b2e2f861236afaf5f9ee4f60940f3a2a6d9d3865949c5e2e92b6f26c09c4081f752c412
+DIST firefox-90.0.2-kab.xpi 562888 BLAKE2B 96890638bab2d4acc87390ee56c4c26c93d5514c32ebbc1c833aebab51e793a2e3d336e2076912edbe68843f83c8f02559a3f36feeab56329eea8ee9dd0fa320 SHA512 c8397002c9027ac7786957076c202a6db069ec1eee58fe0623291b5a72821131007ce2eeecde1d522d06af571e4dfa87694977d25fddb0e3c76d84768cbab447
+DIST firefox-90.0.2-kk.xpi 621558 BLAKE2B f57a4466136e3ed9adb06d0b693e7a653d4a06cd25153f42cb35ec6387530b6029d6d6d08b5b9dd0d7a5bf6a17f6e46992b443491ef23fcbe0d05347788351cc SHA512 6ad921f93a0e788aa0f2d59a422643eb48b85f54eab32066e6eac1338d0e73e0a6882f73f562c3011e4f53db8f00f92817a3539086d8c97f4f3a7940290257ea
+DIST firefox-90.0.2-km.xpi 546445 BLAKE2B 0b5eeb9fb63549f3f9ff6c875418764e8191317bd8a167c2102face45b88dcb569c2df47fba209c5935e2fa7c8952b9f200de43cdd49caa0418b413b22ab8f93 SHA512 760431880427fe5abb65fb0a351fe80bc1ce84368c90b454594d6b13185254a19e88eaa2b095c38b9338c88230254df0fc0d1929fa24875458a1d7a8076ccd6d
+DIST firefox-90.0.2-kn.xpi 510724 BLAKE2B c24388d4c872b798ed62e83c6d15d8f9bb33be6d258e16af43f34d94d05df348df09295a2d9c2b7ea54ec876cd4a84570648f3d0c964ee3c628b246ca145a15d SHA512 4483428d7a968f259b13787e94b845e0a9ffe55be1fe83b5fdbda01a7bbb970c959d7b24acaef729b9814a0e54b32be7967191936671d0224e92bff35570699e
+DIST firefox-90.0.2-ko.xpi 590731 BLAKE2B d5178a54243b80c34dd3221fb0f9447cc9933ca03b7231ed13a006682f38a2f9b60734284a015326dda508c1801d50bcaa5fb6d299d13548012ab8c3bc89867f SHA512 7678485b6588e369067467250b5dc4a8009009850d3d63d8e2340d989b7ef383e81ea6af2f305a8b70115bdedcac5fabaf8a201eeb2b254de938bce818462e83
+DIST firefox-90.0.2-lij.xpi 484766 BLAKE2B 382c5ff77eb58e58e5c8e32ed0d7fe135d61974adaac1c990d514a1683c75d45fc68048a22f2d66ba0edc12e3ae119d9f75a217eb37cfee1180654c1288bd7f0 SHA512 3eca5e9266846d6b3c7ac108986da092dee5178e321aa8bf6892d4ffe009c2ab205ff86bd3d16076f8b9214b55578f81d0907bed9043c2c41e64e4316478de29
+DIST firefox-90.0.2-lt.xpi 572555 BLAKE2B 63f4b6095ed7e5cee86a4a25eefabea77a1c3ddc0562d7bfda0bdf08de5ffe90c9020e106d729572177386cff9461bf0427ecbc13368ea3dd8d6bb21388e18b2 SHA512 579ee64b4b3683a433b265b6c4c71d6c1006aa7c81e850b3b7f4d1ec7f3376c2bcfb89db76a5ced145343f11010fba24192f3fde365421b3e855b66755630e9b
+DIST firefox-90.0.2-lv.xpi 475696 BLAKE2B 2675056a88af23b89dbec450aa2ed11621f6de09bdc21f0d06bcdf662c1421d517660f30d7648debbd588ce23651f525bf2f5255af6305c27defb40bdb770d4c SHA512 d48159a8e812bd321db05e8a865a8f680feafb0e4767e0d35d74795eda5a889fea5e2d8745bb0d2b438594aa72bd73981c2c2474e0ec089a29e0eafab13f550a
+DIST firefox-90.0.2-mk.xpi 472368 BLAKE2B 91a36844e99016d7e2e4aa7d0d99680fa8d83e6a1e9282f6c3eda916e4cbaf826e8d66349eee4d905ab9c15eb6af7ccb7599bc0710e5a11d3dcfc39a0ca0a259 SHA512 408884c11556fca1371cb211a61f63ebda6df8df56ce02df0eedcb82d9e6ce72d77436bd9e2202d1e07e244ef08a62d2c7eb41ace62b813a8d80f6c134143102
+DIST firefox-90.0.2-mr.xpi 547715 BLAKE2B a1164b4b71eb42057bf0361e06cf2338f201c6926d7c6547ab256285a6fe7686d64a5674c909c95a31e920940b50c858b179f1607118cb19323e1c01cc075a28 SHA512 74abb04ef83fae4c570e82697ca2353a9e76772650a87e4e5f7c99f7591a8a84c1e5761a21cc2952a5846bfe873ab50339b958c9411141d2e636d1573e776b28
+DIST firefox-90.0.2-ms.xpi 459315 BLAKE2B 9231c3e855cf744e053e84978c97e071dbea39046434d7e6d1639e985ee5422ce71fa07f3189594873c3ef062fa9b1edc42bb3df1f6d8cf77ae456490f1938e1 SHA512 4dbeda882792988e58d6b6df7f2f7bc8b9ebd9ece288bc83f92561c62366ed8c59043528fbbff14fc4856188b22878a0bdc146ac95aa1a3e840a4f543ffa087d
+DIST firefox-90.0.2-my.xpi 531263 BLAKE2B abcc403d73d5fb9ba0f6e8baa8b01a0547dd4e94a809b66bb6a2dd30f2fbd0bd55bd16b6ea6d353140802d415b894e607f4a79a0be4468121c2cf7c9363c9cdd SHA512 11679d0de73764b3efa6578b858394b941d7e45587b8e46adde984b60db349981086855cdb67721b477853e19806efff54c2c2f1cab1ce11f395e6833fbb62e9
+DIST firefox-90.0.2-nb-NO.xpi 540211 BLAKE2B e73bfe5862495669d645543576b64b3d66534e3d9bf3b41dfd871dbfa4146bac3ed46a6f58ae369e237d76f9024e7b462c60c2afe0fe91c0d2555bbe92abbf66 SHA512 8b13a9a28c36fe4438c52d85c3948b5cedc6a68fff0e7968a952fc5183b69104df5b9d74b71ca43cf3018cbab184f019b556b30075bcf67cabd04549cfd22fe7
+DIST firefox-90.0.2-ne-NP.xpi 488264 BLAKE2B 25f40a5eb34b4aa07d3852f0967cdc37c4cb0dc58524bd5c3cc773d4db4c73bb9ba8969f4e8d70d43282586b479cf09e62af1aa823a77c656968ae824f31e847 SHA512 80ff7b32a58e631b88a46588039774c258d02312d0e2fd98589725b882e481e3ea9b48923a0b9b37dad3c777dccc8395608f20aea6d757d7be1b0f9170033659
+DIST firefox-90.0.2-nl.xpi 549132 BLAKE2B 61413733011e4fc81224f223f570027f2ae60b8fdd89acc9ea1bee2940a26c28a4ef18425e12182cec9ca40f7dcc829eb885193a9ea7cb10cf9b10e4c27d62ef SHA512 544abdd3cb7b19076ab96365c63dc521b3658420472d7afd83ea4d199bf9399652bae7a1945dcdc89262902b3060df75984f573cafe69ef2dfdb2d9cd2e32173
+DIST firefox-90.0.2-nn-NO.xpi 543785 BLAKE2B 851daaa399a7e15fb795365c3e81ba09e6ffffae19968c18b686e74f92cb7d8fcc84fce0383e791a59ac001790123c00791a5a763ab3e601bfdb7467f5928c47 SHA512 59ca8671c752e5a0d399166f8a4ce52cf20d158358d65810e85498bb00982a90a5fff86382f155d63f2060447d9e9119773bed41f389a88341d3034f10e4cf7a
+DIST firefox-90.0.2-oc.xpi 565026 BLAKE2B 63786a9a4c8a11828ca2e00d5eb718d9ed5171f1f5ec8554002d966884d5d2c7cd14ad89286537bf93b1e79255df5f191b9e9a7ba4fe238d6d083092706a4bfa SHA512 2bccaece0b3a0c0e8e3d9bc978c909fadae0d032a8a2e4df9778580cac0c60efb6228534ed8f1629281330e0532b0ded70118e9456995e6d43d9970cf41d4c68
+DIST firefox-90.0.2-pa-IN.xpi 612507 BLAKE2B 03d21a09f80ff1b4a7e6f5fcdad46036fb8c91f1eb46d04b7e7ea8bd84888a94e05a3b49004d1cd8b4d2b711287beea6f0c4a3dc2f8cebd772d6f5ccaa896e0f SHA512 da912c4ee934f2d44714ea31c139c1c794949466281a377c7fcfc314c6eac78fd85d5e795b11d8c24a131442c125b80fffc4c173b8e7fb08064db75bd3480cdd
+DIST firefox-90.0.2-pl.xpi 568488 BLAKE2B c9056f7a8569d435781e3a17983fbd7889ee2e87acbae27bc79d78cb129c08da9b3d623d746cedb12282f8668fad1f5929050bbb5a1cc066358147d5b74ec4fe SHA512 bcbfe1b6975ec1ae940b08be4f45d7f04f4f30a80536e1cf912fddd6cb899d4aceb470e8dea8424bc0cc36435d75a8e865ba91f04ae87b293f6119e9cbd6f7e8
+DIST firefox-90.0.2-pt-BR.xpi 554982 BLAKE2B fcc2d465fd7f5a15ea861e5c1150888a308851b5fe0cb62847a5c6ef83d059ed5c80c1cd5720665525f17d3fad512b7fdbbd82f28a206df2a5224e9e3ff3cc9a SHA512 6d1e85376bfeb12558617f710671c31473707d738d839e78e107e93711b80c975191210dc293f7837795ce8d2e0acfeb9af09796ecf491a701adf932a78b9ab6
+DIST firefox-90.0.2-pt-PT.xpi 558862 BLAKE2B acec5024cc929b4e29e624b00db49d108535e2d270967c1b60298badbfb5f424a133da648c995fb00afc828fb03389af9e2a65d3fd57fd7aad038283109996bd SHA512 2fafd35e5c0106f9a3bfe54f032e826a37e6b7cd98941a8ee0255bf56116b1d65bb31fce8f711f8f7d1431d0b97bbb94f53c5ec3910864fbcf6e8e774f70e0cf
+DIST firefox-90.0.2-rm.xpi 549899 BLAKE2B 9df12c0b8c193e33ba5822f909e9a1c91594f15baace3bb146b3e69ea93a526a37ff2ae72f65e4acf094ed08ea81b5f7541853f60dd4c819944b081dbcf89c83 SHA512 04858971ce69fd2d219a3d0ba97a5d72a5af88b6725f66aab79a8806a192cd6c6f4f17d0e5804abb937aac921e40a9494cdf41badc5ce6a96ec1d64ddf3d6470
+DIST firefox-90.0.2-ro.xpi 548131 BLAKE2B e6a19832c5252abdfb07a74374cf8604d0357e025d9093f9005c7ad252d162a99eb9cea38bb10f3a1554095747b8e7a3f950174f60fa219a9561ba9b861672a2 SHA512 9d65785acac5a8767960744a569aaf4bd9aace691376771415e6de9b6a3f392c70c406cd9837d7c6504931306132c0aa884dca83d785ea6fc66afe8cd7b4df49
+DIST firefox-90.0.2-ru.xpi 641994 BLAKE2B 9124781768996090200198864e0b24ca72d10c36e371b9631fc03a3a336a2a2cbd8a227ed12f8d3282c14b06b7a31efaad98f185b65cf29f602d8b958c695395 SHA512 8455deef343028d99810c01b3dcddff85bbcd31307dfd0aa461b0b66b194eea2d915be1abac7902b10bfa18e09bd16880c3b22f3e78a7bc62a7bc580c9e6b89f
+DIST firefox-90.0.2-si.xpi 497038 BLAKE2B 1b5bd85f054bdac7d3bad8e64f3a9d8fe2ca2912cf0231ec92213c9ab80f68bcf48109567115a8e6b5ec02ee5bff759a1a3a44496e19045da6871045ee392027 SHA512 6c1712c1f282ce5ff842aa39203f4fee5aa38df79c49f203dab0c3269b2b43c7d1a350da76d435de7b995fed1559784192137bb8b703ab08eea652481142917a
+DIST firefox-90.0.2-sk.xpi 578642 BLAKE2B 30fb46e4287edd81e32625926e3b8e510d6f4faa84247e4ce4646078c9e7c407e275a3e35473d530c2c425c351096e867ae1e88422231afb2729287cf52737c5 SHA512 742afc3b57cec29e12f546acbffc50dc34259655b934b7edeb0a431fad9f69a76891f4a3d504bd68325bc11af8eb090931f9c681041f26b4dafd330388b73dc9
+DIST firefox-90.0.2-sl.xpi 548456 BLAKE2B 7c47551255551b2fcab86fc8a0a75d7b3a86f1ddd17ca0dce53945b18290191f221b3230bfd8063573e55f42be9f6204583db1d2c960e0c3cc4db5aa569594d4 SHA512 85391db88fb1b87836a9509abd8b635562280b79ec6a501b7fe0a5da685028e5331d77168307a3cf395dd314cfeb61bc68405ae46ae70e6a6d724d6f46a1c73a
+DIST firefox-90.0.2-son.xpi 428012 BLAKE2B 0c1d466b53f148b315e4b4e1a621e4b0dac3f8ed789514a335940f8d1a48d5be9df072e7baa3b6c0ee79446834f2606ae4420cf8121c5423cb6b5a9467eb12ca SHA512 cbd2db587f7b2e94bb888d0649754c2a8f9b423f7ad88577cb629e5b4ea2a7ad203ce755003a3ccb2a6551910617bd4f62c8bef84775873cec7410f39c3bd1e2
+DIST firefox-90.0.2-sq.xpi 568627 BLAKE2B cd6dab95c8ae6f597ac62ca649e8037624a1c91768587d574eb5762bde10ef58e6c23d8ce5da9d5731a009c65d9fc901f602db435b8986c2b9f9bd8ce53d0d0b SHA512 66e7251f67f43340a8f9df2a45748032e8b859057993eb834cafc663146b594e25d54af81dcbdcf402b05a84512198f3f50205c73a45da9f4aab738aa03e08f8
+DIST firefox-90.0.2-sr.xpi 603101 BLAKE2B ef378fac2d8a5ba7df6753620a4bb0b28c9cd53861f4f15001707fd1517942c1e40e8911d10e830808490abcd131f9d7c36f8636d4f647a9af1750be0b192e58 SHA512 e7c5767d77ef0f705aa1d1c567bed89fc2b4da24d669faba9d60beb0bd12d9f8b45ebe0b0027d84e8194fa1000e63bd10a419b649e8e3c47eb045b4d1d220f40
+DIST firefox-90.0.2-sv-SE.xpi 552226 BLAKE2B 5114b1443f8ed57b05ad9bab185ae3fd4831f6c0bc434401721cc11bb5fc11e5e42a09b8da76d8f2a280dadfd5af6bfdd18081b43c3c17915dee34d1e506e102 SHA512 6986de8362530f0db5903d277f70188ff7e7e53e41c44c1f01ceac640b53262dd8bf92c9c967d8e33ce7c31cb39d9089c7d493ea6c28a9907c1ba67795d2607a
+DIST firefox-90.0.2-szl.xpi 525937 BLAKE2B a5c7eb4385823339d56ada2771a8cf130c8c29ccf7d60a65f0e88a7e1ede5413b663c6429efb92770ffbeb55f271f6df6b09b13c158332bddbfcd48b01ac2808 SHA512 6e0b0b0d20c19db95699156397d71bf5719c9f92b44864942bcbd5f1b6226f57998d92dcf8817f8030c09227dfed1780ad5671b4edff40e7270c7d3ce2c4e769
+DIST firefox-90.0.2-ta.xpi 526631 BLAKE2B d4b8bbf41992fbbaba840bfb19d62801a8b6d3921fc5c92379ce5baad6d5a45f7b730250cad9e90ee41220b7fc7ab3f360c0aa5b609cad2660965e69065ab6b3 SHA512 d88eb96df7bff317df242a8eec99140eae0eb121e1ed6ffa9242a9b540064666c0db9af36a4fa729e23bfd8fab9abbd32a2c5c3ff85b6ad2723be8da6ccfa956
+DIST firefox-90.0.2-te.xpi 568744 BLAKE2B 401da427b76f0c455aa880ef64721a8bc8d3ad25093cd67b48d4d37a65bef7aa6c02db37c94bbd7190ad036a49255351756f12f7c7bfb3894bdd8566cd4b63a5 SHA512 4388b917725a32522c0c50e72a4ff2e96eb61a4514bc6311adf8b99f386691720c78168007661790698d1aa14bdda9e28e0a24d35995460ad0f3ba642e8a20e8
+DIST firefox-90.0.2-th.xpi 621169 BLAKE2B 20bc114e791056e866ca87fa717270afec022ece33cf3568f445f460c690e5d98aaeb409744298d94b17b2655f6ea39165c0b4d2de7b1b87d94691e832f43b5e SHA512 b775f9b6235dd154a7f26ff194ea6de858c5c8d98698afe9eb2173e3ff388726572583c9f4b3fc4c762e244751c623151baaf0effd8a12056ecde7236e3ce0c7
+DIST firefox-90.0.2-tl.xpi 533288 BLAKE2B 9d2b4fe2251c08621b0fccc7492d8dd9879a80cccf64e7096e97e3125f5dbc06ea82e57fa52ef975c2da28d4226bd8a3cf77860140b3f5eb0055b476326701f7 SHA512 eb47c4a62a2b51131d0da056ac6ade774f59e8610fced36fad3cb64fa661c1eafa8e6fa8e6b53508ebc6a190cb45c68e17485310c215b96af2938a588452e57e
+DIST firefox-90.0.2-tr.xpi 564703 BLAKE2B f70afbf4ffb27efa5ed52cd102449a9a853afbe16271b431739e456f81a5603ba29b8faf8de16978c0f9dc41d554c2b4f5cbf7c74e454e8bed1d46639babed7e SHA512 8242f1173f9e3f3c596591bb6d14801d72870123619148087fca33e5ac7d74b52850c5ba772727a2c831009d36d975c0f3826bcc01846042f21531b0f7ddc8e4
+DIST firefox-90.0.2-trs.xpi 506694 BLAKE2B 00fb05e468dfa0e3c1ba6e572189be68118a45e17d9a5b929821b0bf063bbf114935f9ffb2fa12ff13ab3e0050de62f6c893b324d29df8922096bbe1f609042c SHA512 f174dcadfbf38d413040543bff026ff940448fb39337379cbd15c4254b12115329c682618d6d62850c62ae0b9607a83bf5182b0b16ddeeb6109605ea10fd277d
+DIST firefox-90.0.2-uk.xpi 635684 BLAKE2B 79f8a22184a62e25d52219fb662d8bab2e6844579b593d56ccf9036156e52111ee28219b1d6d25c8b959bba80104b560ad4679083a9a048284b780cd7e262859 SHA512 9289e74724069d8e3a881d5694a394da908b1c781df37a9bb163249a9730e157f34df91c290a6c2019980934b386da5e7037a3471117b41b08f3bd7c0e53914c
+DIST firefox-90.0.2-ur.xpi 577991 BLAKE2B 4f0cabc51071c71a1b0c88de4b699f16940136240a5d8a9f273434c4d56d69eddb4b04fbf1420bbebc85c0f00df031c15e4b21b66f19342b02e9348e0ecf3ec5 SHA512 80cab1941a57798914be843899e7c1164c28df0f293ec70efa00536221c3cb49a72ce327595085747367220bf399f681f1066018c7530b14bb42cc6fd0ce340c
+DIST firefox-90.0.2-uz.xpi 483022 BLAKE2B a125d2b044afff77a72e426ac1554465907a306139c1b602502d2ca77c03eb9768bbc3f90c3c2cc445d93d57fda97d164209a235e92bb7b606e4c6c9e5746ca0 SHA512 b799b862fb047ef0c48b351c8a7b42bf372dc6785beceb977ff4aac6933e3958f972706af77a74464a105d10a6ffba8be3cac5d9e1813575e04852af2800845c
+DIST firefox-90.0.2-vi.xpi 586903 BLAKE2B f1b143163e443d76a213e7c4aa57a5375adf809f9a8d2c246d036be9d67ab7678e1eaddf27a0c386935327bc44e4e21df1716c0f3dc2ea24a50b1077e31dcbc7 SHA512 3bb4186633e2b353266ac17fbd5277c4befe544e966d3d2d7312743966ee1f5407404f94542f25a3242521616a744108703d115a761a849832c9b0697b0bc406
+DIST firefox-90.0.2-xh.xpi 430182 BLAKE2B d849e34655c8b50abb2ce4d2197cdf8761b27129fe8fedfdaef04221ecd0300ac8a8ae998b07a39d21bf3a3187693e818846c92da0b5e7e3eeda522e536f86e9 SHA512 5bd4f80060e5b75f56b3a02489717f58bc39a33785c08bf3e308131f690437ab072860e3cc9cacc00eaa0f58da9cdf02491d75b31909f1d8f8423c1378d60ac6
+DIST firefox-90.0.2-zh-CN.xpi 588311 BLAKE2B 6656456291738d7b7651e14558a288eec053c1815fec33826e6db4c36058007d9131fb2c2847fda57f8ac75d8b5da9e7c0334db6c9cda0043c8bcb2a84db92c1 SHA512 6ee44936371e07a21903565bdacffb593a4a4fd64413bdc1f6998cb406afa11d934eea20e5ad5117468750d3eca53e80aa6afd9ece1c63ad4eae59a459a3b0c5
+DIST firefox-90.0.2-zh-TW.xpi 588723 BLAKE2B 295e5ebb3f810f1ab8b66f301ee5fcd67d147cc640daabbb12e481baf835a439992fc5e1d1195bcd8b28e91336281b2e94d207d77261ec1297c784fdc3fba5eb SHA512 a6b5747fc3986357f13db401dd93763f370e547e3fae61330108debd981fbc630f6af8003d6146e73cdcc948e4b79fc00614e6a257358155b3cfe0176d2e55de
+DIST firefox-90.0.2.source.tar.xz 380670372 BLAKE2B 782e548663d3538d834feeea54c9fa54ff5580472b967bb60be331e591b782fff2a6877f2e8db29511ac4b4b3dff847f30dc8f0a8333ece3d4156d6ac10a723d SHA512 4fda0b1e666fb0b1d846708fad2b48a5b53d48e7fc2a5da1f234b5b839c55265b41f6509e6b506d5e8a7455f816dfa5ab538589bc9e83b7e3846f0f72210513e
DIST firefox-90.0.source.tar.xz 378743212 BLAKE2B 5f70cd3a8b0ece81c332de6be85f7fdcace3936e4f67b4f3cf080766c28fb1f90694e157dbd4f6fa8ed8aed5550a899eee8f000c2bea228af4546cfb02757ade SHA512 233ad59e4ab2f08d2253b49235b51b26fa32fb7c285928110573ccbe67c79965d9401a6c58a3af2ad22b8a58ca5d9b3154e3e8c9d29b153acd16152d9b75442c
EBUILD firefox-78.11.0.ebuild 34070 BLAKE2B 11606c90bf3c12271ef312aa067401e35aead267b40c6b918ed9a7d87113fc09ded50d5bef859997382cd2f9b33b46a86fa9c0d11406c78325654f6a471f5df8 SHA512 5840743899fef2473bf72c146767be95843758826d7a9a4b027a6772eb572f8f4f522ff975c088bd21888fdaae4e8395a9370d0257a05f2270d289b0ad79bb66
-EBUILD firefox-78.12.0.ebuild 34233 BLAKE2B 82fb1bfff27d50408ce56311ef52980ea2ec091469432a6af369a112a9bf3394473113c3ab83d470cf1ef001fdcbb7c25ae187347e895440ef405579fe8932a2 SHA512 66a473292653070f2f628a4f93002de011690ef7837ebf30963ceed04ff9570f01875b87e399f02dc90636977ed50e583e34698363a7fe9bc15268912611e068
+EBUILD firefox-78.12.0.ebuild 34231 BLAKE2B 9b2ea45f07fe496c48bef55c7dc0c0e0a2326199bce1749c74debd122bfcc743fef00f4b832c882cd12426f841506be916c5411ee2830e22830488657fb30f1e SHA512 a50ff887ab082afe33f79187bc4fd1547e02d8375278270b06e5a5c3ffc5b319bb3d518f67057632ed28bbabae7db72610ee4a4999882dd7faadf5d5facc81a1
EBUILD firefox-89.0.1.ebuild 34087 BLAKE2B 04586ee4ab959c80c56317329e24b1af104758187bae2103ce81c8be21d8cd05a888e44c1cff3668c998d62118e7f09e9b383b679baf24e35a44fb181b02a9b4 SHA512 bf8a35aae22c49d29ac20768a222aebc601f91cf9d00c69145c778bed70a52813134fca01d51f9da308cc9c5e017fc670be2423af40a68700c441af1016c0665
EBUILD firefox-89.0.2.ebuild 34087 BLAKE2B 04586ee4ab959c80c56317329e24b1af104758187bae2103ce81c8be21d8cd05a888e44c1cff3668c998d62118e7f09e9b383b679baf24e35a44fb181b02a9b4 SHA512 bf8a35aae22c49d29ac20768a222aebc601f91cf9d00c69145c778bed70a52813134fca01d51f9da308cc9c5e017fc670be2423af40a68700c441af1016c0665
EBUILD firefox-89.0.ebuild 34087 BLAKE2B ce7444269154d92c92311f1ac22cec0a1d08545c9e706f665236dbb9db357c51942c04bc48e05785f8df09863b11672ec2f541cc04d1565d36376562fb999932 SHA512 624d2ff7a355ea39b2a43f2fb68f59113845025aafb9e5a3a9938677926206d79795dcbc054afe373b2c6a78c294c32f45676c0fe37b12ca29ceceaeedf14d94
+EBUILD firefox-90.0.1.ebuild 34223 BLAKE2B 037f674055e4d81adf41ca0f708a5c728a3932ff86673261031aa4ac94ba3e785af06ac1e13615bb836456049a37632f8c0301538863056702d702b564293e2e SHA512 e999a8e1f13e4d79ce8f346a0d3899cbe54e444641d445769f15075f932e60e4916b6082ec353ad1965411f180557654c087e6d171e9f59384c3d9f243659445
+EBUILD firefox-90.0.2.ebuild 34223 BLAKE2B 037f674055e4d81adf41ca0f708a5c728a3932ff86673261031aa4ac94ba3e785af06ac1e13615bb836456049a37632f8c0301538863056702d702b564293e2e SHA512 e999a8e1f13e4d79ce8f346a0d3899cbe54e444641d445769f15075f932e60e4916b6082ec353ad1965411f180557654c087e6d171e9f59384c3d9f243659445
EBUILD firefox-90.0.ebuild 34223 BLAKE2B 037f674055e4d81adf41ca0f708a5c728a3932ff86673261031aa4ac94ba3e785af06ac1e13615bb836456049a37632f8c0301538863056702d702b564293e2e SHA512 e999a8e1f13e4d79ce8f346a0d3899cbe54e444641d445769f15075f932e60e4916b6082ec353ad1965411f180557654c087e6d171e9f59384c3d9f243659445
MISC metadata.xml 2150 BLAKE2B cd105f3b1d98b1fde124c6362c2e23563c03086a507bdc0eb0e4944f2050787f96967c4cba6f4605e4adcdb200d0c0fded6cc2bcda7ea7720d270e1fd6f33525 SHA512 a588a09ad3481522b44097b3c5e51211d5fc918a6733f3b6f1b1cd7994523894917fa737de944c235d45bfb9b57def205ce645ff1ac62ef7d6c3f3c51d387556
diff --git a/www-client/firefox/firefox-78.12.0.ebuild b/www-client/firefox/firefox-78.12.0.ebuild
index 3e0e8d7fc1ea..08852893e373 100644
--- a/www-client/firefox/firefox-78.12.0.ebuild
+++ b/www-client/firefox/firefox-78.12.0.ebuild
@@ -57,7 +57,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}
DESCRIPTION="Firefox Web Browser"
HOMEPAGE="https://www.mozilla.com/firefox"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
SLOT="0/esr$(ver_cut 1)"
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
diff --git a/www-client/firefox/firefox-90.0.1.ebuild b/www-client/firefox/firefox-90.0.1.ebuild
new file mode 100644
index 000000000000..b2acecd2054c
--- /dev/null
+++ b/www-client/firefox/firefox-90.0.1.ebuild
@@ -0,0 +1,1182 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-90-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=12
+
+PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+ llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0/$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
+ hardened hwaccel jack lto +openh264 pgo pulseaudio screencast sndio selinux
+ +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+ +system-libvpx +system-webp wayland wifi"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.19.0
+ >=net-libs/nodejs-10.23.1
+ virtual/pkgconfig
+ >=virtual/rust-1.47.0
+ || (
+ (
+ sys-devel/clang:12
+ sys-devel/llvm:12
+ clang? (
+ =sys-devel/lld-12*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:11
+ sys-devel/llvm:11
+ clang? (
+ =sys-devel/lld-11*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:10
+ sys-devel/llvm:10
+ clang? (
+ =sys-devel/lld-10*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
+ )
+ )
+ )
+ amd64? ( >=dev-lang/nasm-2.13 )
+ x86? ( >=dev-lang/nasm-2.13 )"
+
+CDEPEND="
+ >=dev-libs/nss-3.66
+ >=dev-libs/nspr-4.29
+ dev-libs/atk
+ dev-libs/expat
+ >=x11-libs/cairo-1.10[X]
+ >=x11-libs/gtk+-3.4.0:3[X]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/pango-1.22.0
+ >=media-libs/libpng-1.6.35:0=[apng]
+ >=media-libs/mesa-10.2:*
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+ virtual/freedesktop-icon-theme
+ >=x11-libs/pixman-0.19.2
+ >=dev-libs/glib-2.26:2
+ >=sys-libs/zlib-1.2.3
+ >=dev-libs/libffi-3.0.10:=
+ media-video/ffmpeg
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrender
+ x11-libs/libXt
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ screencast? ( media-video/pipewire:0/0.3 )
+ system-av1? (
+ >=media-libs/dav1d-0.8.1:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.7.4:0=
+ >=media-gfx/graphite2-1.3.13
+ )
+ system-icu? ( >=dev-libs/icu-67.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wifi? (
+ kernel_linux? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ )
+ )
+ jack? ( virtual/jack )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( media-sound/sndio )"
+
+RDEPEND="${CDEPEND}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+ amd64? ( virtual/opengl )
+ x86? ( virtual/opengl )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
+ si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ # temp fix for https://bugs.gentoo.org/768543
+ # we can assume that rust 1.{49,50}.0 always uses llvm 11
+ local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
+ [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
+ [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
+
+ if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
+ local version_llvm_rust="11"
+ else
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+ fi
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+ && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+ # bug 792705
+ eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
+ die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clearing checksums where we have applied patches
+ moz_clear_vendor_checksums target-lexicon-0.9.0
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+
+ # Set Gentoo defaults
+ export MOZILLA_OFFICIAL=1
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-install-strip \
+ --disable-strip \
+ --disable-updater \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-png \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
+ --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ fi
+
+ mozconfig_use_enable jack
+
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+ fi
+
+ mozconfig_use_enable sndio
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
+ else
+ mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld when using clang
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+ else
+ # ThinLTO is currently broken, see bmo#1644409
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ else
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-flags '-flto*'
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ else
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ elif tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif tc-ld-is-gold || use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc ; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export MACH_USE_SYSTEM_PYTHON=1
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if use pgo ; then
+ virtx_cmd=virtx
+
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+ fi
+
+ local -x GDK_BACKEND=x11
+
+ ${virtx_cmd} ./mach build --verbose \
+ || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menus
+ local wrapper_wayland="${PN}-wayland.sh"
+ local wrapper_x11="${PN}-x11.sh"
+ local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
+ local display_protocols="auto X11"
+ local icon="${PN}"
+ local name="Mozilla ${MOZ_PN^}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ display_protocols+=" Wayland"
+ use_wayland="true"
+ fi
+
+ local app_name desktop_filename display_protocol exec_command
+ for display_protocol in ${display_protocols} ; do
+ app_name="${name} on ${display_protocol}"
+ desktop_filename="${PN}-${display_protocol,,}.desktop"
+
+ case ${display_protocol} in
+ Wayland)
+ exec_command="${PN}-wayland --name ${PN}-wayland"
+ newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-wayland
+ ;;
+ X11)
+ if ! use wayland ; then
+ # Exit loop here because there's no choice so
+ # we don't need wrapper/.desktop file for X11.
+ continue
+ fi
+
+ exec_command="${PN}-x11 --name ${PN}-x11"
+ newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
+ ;;
+ *)
+ app_name="${name}"
+ desktop_filename="${PN}.desktop"
+ exec_command="${PN}"
+ ;;
+ esac
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+ done
+
+ # Install generic wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}.sh" ${PN}
+
+ # Update wrapper
+ local wrapper
+ for wrapper in \
+ "${ED}/usr/bin/${PN}" \
+ "${ED}/usr/bin/${PN}-x11" \
+ "${ED}/usr/bin/${PN}-wayland" \
+ ; do
+ [[ ! -f "${wrapper}" ]] && continue
+
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${wrapper}" \
+ || die
+ done
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information show_normandy_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 70 ; then
+ # Tell user only once about our DoH default
+ show_doh_information=yes
+ fi
+
+ if ver_test "${replacing_version}" -lt 74.0-r2 ; then
+ # Tell user only once about our Normandy default
+ show_normandy_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+}
diff --git a/www-client/firefox/firefox-90.0.2.ebuild b/www-client/firefox/firefox-90.0.2.ebuild
new file mode 100644
index 000000000000..b2acecd2054c
--- /dev/null
+++ b/www-client/firefox/firefox-90.0.2.ebuild
@@ -0,0 +1,1182 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-90-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=12
+
+PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+ llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0/$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
+ hardened hwaccel jack lto +openh264 pgo pulseaudio screencast sndio selinux
+ +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+ +system-libvpx +system-webp wayland wifi"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.19.0
+ >=net-libs/nodejs-10.23.1
+ virtual/pkgconfig
+ >=virtual/rust-1.47.0
+ || (
+ (
+ sys-devel/clang:12
+ sys-devel/llvm:12
+ clang? (
+ =sys-devel/lld-12*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:11
+ sys-devel/llvm:11
+ clang? (
+ =sys-devel/lld-11*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:10
+ sys-devel/llvm:10
+ clang? (
+ =sys-devel/lld-10*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
+ )
+ )
+ )
+ amd64? ( >=dev-lang/nasm-2.13 )
+ x86? ( >=dev-lang/nasm-2.13 )"
+
+CDEPEND="
+ >=dev-libs/nss-3.66
+ >=dev-libs/nspr-4.29
+ dev-libs/atk
+ dev-libs/expat
+ >=x11-libs/cairo-1.10[X]
+ >=x11-libs/gtk+-3.4.0:3[X]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/pango-1.22.0
+ >=media-libs/libpng-1.6.35:0=[apng]
+ >=media-libs/mesa-10.2:*
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+ virtual/freedesktop-icon-theme
+ >=x11-libs/pixman-0.19.2
+ >=dev-libs/glib-2.26:2
+ >=sys-libs/zlib-1.2.3
+ >=dev-libs/libffi-3.0.10:=
+ media-video/ffmpeg
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrender
+ x11-libs/libXt
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ screencast? ( media-video/pipewire:0/0.3 )
+ system-av1? (
+ >=media-libs/dav1d-0.8.1:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.7.4:0=
+ >=media-gfx/graphite2-1.3.13
+ )
+ system-icu? ( >=dev-libs/icu-67.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wifi? (
+ kernel_linux? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ )
+ )
+ jack? ( virtual/jack )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( media-sound/sndio )"
+
+RDEPEND="${CDEPEND}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+ amd64? ( virtual/opengl )
+ x86? ( virtual/opengl )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
+ si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ # temp fix for https://bugs.gentoo.org/768543
+ # we can assume that rust 1.{49,50}.0 always uses llvm 11
+ local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
+ [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
+ [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
+
+ if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
+ local version_llvm_rust="11"
+ else
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+ fi
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+ && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+ # bug 792705
+ eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
+ die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clearing checksums where we have applied patches
+ moz_clear_vendor_checksums target-lexicon-0.9.0
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+
+ # Set Gentoo defaults
+ export MOZILLA_OFFICIAL=1
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-install-strip \
+ --disable-strip \
+ --disable-updater \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-png \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
+ --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ fi
+
+ mozconfig_use_enable jack
+
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+ fi
+
+ mozconfig_use_enable sndio
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
+ else
+ mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld when using clang
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+ else
+ # ThinLTO is currently broken, see bmo#1644409
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ else
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-flags '-flto*'
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ else
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ elif tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif tc-ld-is-gold || use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc ; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export MACH_USE_SYSTEM_PYTHON=1
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if use pgo ; then
+ virtx_cmd=virtx
+
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+ fi
+
+ local -x GDK_BACKEND=x11
+
+ ${virtx_cmd} ./mach build --verbose \
+ || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menus
+ local wrapper_wayland="${PN}-wayland.sh"
+ local wrapper_x11="${PN}-x11.sh"
+ local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
+ local display_protocols="auto X11"
+ local icon="${PN}"
+ local name="Mozilla ${MOZ_PN^}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ display_protocols+=" Wayland"
+ use_wayland="true"
+ fi
+
+ local app_name desktop_filename display_protocol exec_command
+ for display_protocol in ${display_protocols} ; do
+ app_name="${name} on ${display_protocol}"
+ desktop_filename="${PN}-${display_protocol,,}.desktop"
+
+ case ${display_protocol} in
+ Wayland)
+ exec_command="${PN}-wayland --name ${PN}-wayland"
+ newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-wayland
+ ;;
+ X11)
+ if ! use wayland ; then
+ # Exit loop here because there's no choice so
+ # we don't need wrapper/.desktop file for X11.
+ continue
+ fi
+
+ exec_command="${PN}-x11 --name ${PN}-x11"
+ newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
+ ;;
+ *)
+ app_name="${name}"
+ desktop_filename="${PN}.desktop"
+ exec_command="${PN}"
+ ;;
+ esac
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+ done
+
+ # Install generic wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}.sh" ${PN}
+
+ # Update wrapper
+ local wrapper
+ for wrapper in \
+ "${ED}/usr/bin/${PN}" \
+ "${ED}/usr/bin/${PN}-x11" \
+ "${ED}/usr/bin/${PN}-wayland" \
+ ; do
+ [[ ! -f "${wrapper}" ]] && continue
+
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${wrapper}" \
+ || die
+ done
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information show_normandy_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 70 ; then
+ # Tell user only once about our DoH default
+ show_doh_information=yes
+ fi
+
+ if ver_test "${replacing_version}" -lt 74.0-r2 ; then
+ # Tell user only once about our Normandy default
+ show_normandy_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+}