Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Mon, 06 Dec 2021 15:28:14
Message-Id: 1638804471.acd5a3473a97ec2aa931d7902c4b3464870f4d4b.whissi@gentoo
1 commit: acd5a3473a97ec2aa931d7902c4b3464870f4d4b
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Mon Dec 6 15:13:30 2021 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Mon Dec 6 15:27:51 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=acd5a347
7
8 www-client/firefox: bump to v91.4.0 ESR
9
10 Package-Manager: Portage-3.0.28, Repoman-3.0.3
11 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
12
13 www-client/firefox/Manifest | 99 +++
14 www-client/firefox/firefox-91.4.0.ebuild | 1234 ++++++++++++++++++++++++++++++
15 2 files changed, 1333 insertions(+)
16
17 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
18 index 654271fd031e..84fb8b544780 100644
19 --- a/www-client/firefox/Manifest
20 +++ b/www-client/firefox/Manifest
21 @@ -193,7 +193,106 @@ DIST firefox-91.3.0esr-xh.xpi 435358 BLAKE2B 96c7c7f452184145ef154126b6c2fe6216f
22 DIST firefox-91.3.0esr-zh-CN.xpi 583248 BLAKE2B 3caf831df6288ec5c1025f20c1834b6993fb5f50349d9b8715e6e020ebe5e1dcb0bf62592f800e03066cf1564a8bcfe0cddc8e90f72f6d7e3298e1ecc97c71b3 SHA512 95044ccbd6ef200deec8e4d3143a3989277fa309182248d8bf3941c25778841243f525410c391d49aee33a6bfc9d6d625ea45ce96ab7df9e2d70264ce1a3a438
23 DIST firefox-91.3.0esr-zh-TW.xpi 583430 BLAKE2B 848ba2ff85a16105153a1810594ec9c76f4376aed110a896cb2de21b8a98574ed6d8ef1b5b290a2c650cac072e4bc7420405263595225170d51682fd5a0b8fd3 SHA512 0d4ab413bda98207f76d4b8ff5f895dbe2e42e67856a93027de18175927e24f7b3d1eb4beb6c1902f2dbd6bdd4e6e3ac164a7a1061de77acd43331b1dbc1d68a
24 DIST firefox-91.3.0esr.source.tar.xz 381117132 BLAKE2B 316ac4c7e673eb1db88da9e7c1ea7eea6c3f6b6ca4d4066100c165512e52374c84f637aed1fd5037b126ce2cf51945a5a6276a4974f557ed1da7ffe1674135f2 SHA512 7cf6efd165acc134bf576715580c103a2fc10ab928ede4c18f69908c62a04eb0f60affa8ceafd5883b393c31b85cae6821d0ae063c9e78117456d475947deaa9
25 +DIST firefox-91.4.0esr-ach.xpi 451228 BLAKE2B 525aac7e80d504b87a565f045f6ffefb5b8743d9f0606564d6c10dd2ba6ede526d451bd08bdf9ff4abea578f55cbf7dde1c0542ff8ac3640c3c8bda920d146fb SHA512 42be3bdc43b561b2148fcc08be8c4645c6ec15ebc1d689489f922c31234df2a88fa1dd481b7d8122c822b8487e2d1cd4e7a546909000603cc1d056afa83ff5e5
26 +DIST firefox-91.4.0esr-af.xpi 425096 BLAKE2B 8af222eee5d909eeaa76168a1601e59abf870e1d351b49495074c27eb12e1fe1160293aaa972633002a9e9bdae02a555e395f962de8fd9283ce86556ac73d6de SHA512 1a82f635d36a646973b0f08b1746bd476283f6e807ac31ef9fef48e59130367c7e138ba92038f7f2778c8f4455f9d6726871bbb9d563495b68b0e3f72cf1bd02
27 +DIST firefox-91.4.0esr-an.xpi 497865 BLAKE2B c4903662ae08d04a5193f4355ab273d09b71fefe3ed69f93ee80b577ea76ca0ff1921f31c8d4de852569a41d6eef54ae039d6557437761fce42d5c7babc632b9 SHA512 35da11f247f7180e2c5e720a1989d57bf575c7c8844b231c38b598c0df166891b9fbc86360fe7865908eee7f4119c037664f74002093a056e601fc65634361cb
28 +DIST firefox-91.4.0esr-ar.xpi 557243 BLAKE2B e1f4dd28e26227ef345673ac6b69eccbb3083d619fe0ad691586f2c132912589552e3a2d463efae30ac109d3bcef7a2b94aba78b0dd89b4a1ddec9537adb2e14 SHA512 cc5e9e60cc65314fef7c6b001a773f8ae7763342ba2979606dc4ef3efeab2af5cfe0443c953dd0796a2cc4f5bcd4671a6223fb921559d455794ac3c2606751fd
29 +DIST firefox-91.4.0esr-ast.xpi 496964 BLAKE2B 6cd56181f48260dc85982220d32599c5d99fc7607ee17cf607976d945b8fc04217e9bb5ed150db6e8b0d691c6d219f9adbe9e26fc52af8af106b1b635caec105 SHA512 619f8f5d96d325a068cd27589de9cf230be74b613d8cb983e4833cfc59641b5e716a3d7f1ea69027e1baea4ab5a34f21f836141e5bfc4d8257c8d81077c29804
30 +DIST firefox-91.4.0esr-az.xpi 487259 BLAKE2B 533a12abce11c5d39eb21291aae74efe0ca1a77a2169ce5be11cc64864b1cda5b28f04153c1f0c1c368b5183b248aca9596fc0c8e19466a5dc433ea5a54cdd54 SHA512 ea239697a214b6756e091655608514f3746a6ac0661cabe0241004d90854baf7d0f3191de361216dec70db00534bdd432495fc45531c1ba1162bf61d35ad4e5f
31 +DIST firefox-91.4.0esr-be.xpi 617852 BLAKE2B 0e9fa980b3bc459e3b9bb7f3e63c6c3b21a2ae30995412b62dd55d2865c5e8144d5bb236a884680839a227e2e5456b107cb4c39ef1220b6186ab8ed8649eb170 SHA512 848d39d99f72bdc0b470c9e0a9a347edc3a661a43342e68085c33974bbac0d7085548fadb391fa4eec12aa24d4e577e670899d503a70bcbd02d83032b4d6c8b3
32 +DIST firefox-91.4.0esr-bg.xpi 566071 BLAKE2B ce4def1ff088bba14618de255e33dcafe2c0e1116f5d58166361f1f8a27a7c608e5ebead3270766111598c2d43ce5a9b413798c4aa722960bcbd7da07386538f SHA512 e964a9ca742de974334b5f9a54dc3a0e6d7488a181ae7696a6130e2307d85cf1d39307ee4442bc663dab7a9a4d1850117a5eaac22e670852cedde4a18d2e0c46
33 +DIST firefox-91.4.0esr-bn.xpi 554437 BLAKE2B f0b7e820e5a06f9ba829fe61b903d8d363eb4793f8ba7463096ea9acd68abab500465c52ca9d577fda0b9f36eefcbdf62a4811be15abe9e2ed3af752853c5980 SHA512 95bed68b2e1c2954a8447cf5d782c9e650bd06e522163341890aa7e751ebd906404dfa8fa68e66749c0a69e5a1a17fabec827ecc0fac2bcd3db5ed4cb423346f
34 +DIST firefox-91.4.0esr-br.xpi 522501 BLAKE2B b2b2e43d3d6a0dce53b8fa6329951bb3ae14513a53f42078545c1bac0b42ed3854e367bfa9ddeeabea995c6f0c2709150dfeae474b6c9d22465057ae2c6cfbd1 SHA512 f4a4a21ccb7b7609dd7050f5fac57834b3806916ae2fe5a8d46dfea43715a80387ae776edc84cd151b2913ba0b3250896b2e0667dbcde5501873512a9897db26
35 +DIST firefox-91.4.0esr-bs.xpi 461651 BLAKE2B 173ae71acf7d349526871b71a17742723d5ec4ca8a4e4786c7e60611579aa1dc2d7d3aa98db263a0d6e3e9246b45fb1f923662691df5c0e7b9bf4119abb3bc5a SHA512 98227011b4167c3635507c1d3984854e049bc12f7d9ac27678bcc8c3db2c00df461d1b937c30e0ccade7fb90cff10ca354be84050f63730b05e6261bedc18c5e
36 +DIST firefox-91.4.0esr-ca-valencia.xpi 527261 BLAKE2B 08da181d15b6859851f294a97548685797e6de5a954615990bae0fb0de0f8a8af4267516397e7773e6d239734c12dfeb5c3597ed66e917cdd35b7ee929a27522 SHA512 e91197cff0a966fa294f9e7027eff1134b196489ff5ccf943f3c91a0deccc60a9b4acd02e932074196e5fcaf3702453058aca1f5efe57766d44cd21a7ea35082
37 +DIST firefox-91.4.0esr-ca.xpi 527631 BLAKE2B d759ba35fe9940a21ac969b9386f236ada30b5ea4ccfa702714de5aa2310a150db48a2dc5e2c46087e4d0d2abb51e60672eba9b9e8e941d3c33d2529328c13eb SHA512 2abef3037ba8d26669d64c710acb681136794e9d51c47f25dcc8d668e8cae65b708b072569379d6c272a54ba6027212696ac31777d79421eca3acd0fcbc75b91
38 +DIST firefox-91.4.0esr-cak.xpi 550924 BLAKE2B d41287e5d63273e97ba55748d6f94462db7fd0508be4bff7d59c7e79504f7f173826b891e52355545edc9110619755ab5b8bc635e65d2019d012df7185fba24c SHA512 86b021881ebc4bb1855cfc52509b16f864314947d7122da415ce057dc7daf7a3d4aa9621ed668152302f9eda1250c7426a8df9a717d92f7d1591097c4aea6c55
39 +DIST firefox-91.4.0esr-cs.xpi 559274 BLAKE2B a8e0f05e08b85020a70ba313ec16a4cdbe2e1815070449485bde0436750e42ca39bb1d2b530cf4c69928ac96a37f24868ad5dd09182c627ba8916cfb1eece052 SHA512 2a706df50f8245863b9d66265055c83ebe2fd8e19e2ec7f203aff4036025411a7c9163cf60b6f37e042d3f11cb5b4b3de920de2b26db9559525339261212201b
40 +DIST firefox-91.4.0esr-cy.xpi 538234 BLAKE2B dbc2747859d76eb542c30719364963b112e0643592ea6ebab75167eaa5db5f5c62427d601c3bd2106001965e988b098191b2c53b7be1a8237dbe3375aeb56e91 SHA512 3a4fa4f2a52bf028ba8b2bf370eea3ae0a0a50fe98e42eae8eed8aa0d5c828aabbf72b21a70dc99ccef3b6ce59956e01a0970b44bc9cd82cf3f7d30f48f9a898
41 +DIST firefox-91.4.0esr-da.xpi 530228 BLAKE2B ad7891974d63bef156efea37a634a53548fc924590c7caddc4df1aad12541f2052123aff1656064e38743764a6c5933b968ae750831dc5b7686f42cdc64cb7d2 SHA512 1feafd2c5af269318109e11f47bd1dc30c28027b02deeb2910c21e84ca988c0ef6e5b85adead7aa73581bcdc861445899996e61b370a039355bf15d63ea3309f
42 +DIST firefox-91.4.0esr-de.xpi 549363 BLAKE2B 8660c7d0d22382487bf45d573f93424706b07b4275e553e00faab26debaa156309918983b18ba60710b5694da7628c8bad89a92709f67303f63fb4974cf32143 SHA512 badfc5b13084cb6938a08e403fafbe128fe62f3eb799754b89037204f72a254601073d46b10d614f120ee9ae834cbac63ef6d2b2e632a1dbd29d8ba466f6a00e
43 +DIST firefox-91.4.0esr-dsb.xpi 562054 BLAKE2B 03ceae4f7c0b21a4a73ede81da1d87f28b36691ecfade984e0150367faec8397ebad2a53b5709105afd437fbc84da1673259993cf9c95c415a962db827a96a9e SHA512 bf46da14c7539d4e69a2a4ae9e11949b9013798587ed99d15831ba8e654d1d623dcbd26150668839b06196e24999b7ff6cc8f31c0c664b6d338e8423b813a26b
44 +DIST firefox-91.4.0esr-el.xpi 634551 BLAKE2B 4d6d237e1657db12df1d13887d45c636e0fbadc79feb9c27a16243bd6157c5b7f7d0c1b1cf29e05d58709c228929c0a4d2c4732d4c1d0f844f11606c50243494 SHA512 433003408c24815a5e05e0595a21fb6b5f1710cd672b343f9a708299e8c61f621d0b01cd9895610fd87214b6108ccbe9efbf8053a687b669d60864f69c45b2df
45 +DIST firefox-91.4.0esr-en-CA.xpi 506461 BLAKE2B 499bccc90ee2ccaf44fd82292ef193223b8ce0a8ee8714694d668fc52a1e550dcd90d75455810a3f167d50060decd5d491660f4958847872f30211477fc53329 SHA512 79db782768da33dbdf707d8e67d0fa361fd7651576b7fce5ba55fcea9d5b36b20961eb5564ca9f54dbf5dd8d21f8b106d1b7fcbe7b6e6c4704d54f9c0190e579
46 +DIST firefox-91.4.0esr-en-GB.xpi 507019 BLAKE2B e1143c3c00e0ec03be030b12b9988b7ad088fe2c833524b796ad4ad4e0a2e10d1754b217dc8e2bf280b1dd92a4a8f9cee9fb55875b6540847591827a0f687e99 SHA512 53cf821d5413f60c13e50cdaf9244b80c4f4783cd6bfe7c7c340b99c0d4f1f479950affcabca33db1d28da3302e30b157e78e972384b1d56eba06043c06d6d64
47 +DIST firefox-91.4.0esr-eo.xpi 528486 BLAKE2B e5c361e4c4fdee20d33ece92d5130f182a5af860d916040463e8292f14799bda0ced5da3cdd09844a85799e5991d9f25721e60c4a8e9b0321028d2f25a26085c SHA512 4c93457f3276f66d442321454d9ee020ab24966552ceafa980212638379a15da213f9bd08dfacab104803ab1258f3e3fa92c6f4a81548c7ee973871151900175
48 +DIST firefox-91.4.0esr-es-AR.xpi 542781 BLAKE2B 661c003673dddce5ca3cbddaf6a7166f65ddbd62eccfda55fd6e110ce2ee416d48a2be1522bd298e64c54aba72c8e0b55c233a5da46551970b1553c78911142a SHA512 cd7d4c39b4b010dd8c17497450297b7c3f8ccbbad1bc5b598700b88e4432c8c6a4c07652fe4f818b6c58028fa243bbfd987436ea9749303fe6e33da5756c68d6
49 +DIST firefox-91.4.0esr-es-CL.xpi 542423 BLAKE2B f620a3f923167105b6222f4f814bd16a3d39c791e91a034c10c4e2a74e82231ef11f967d4d10b74a51de965825b3d95213c0a4044d500e0825c22c74def52b7f SHA512 1df5c356c657bf009c0702d178c0a97ca6425350aefe46246d585bc914f9e957d45be2b8f098c79aeb6802c715879faa3c9ebda96ce1a1855151d0f031ff9c27
50 +DIST firefox-91.4.0esr-es-ES.xpi 533117 BLAKE2B 645808f4c09423f43cd323eaf5190259702fcabc29aa816a3eb64e63394b5571e0c4e23a87a5feb9e79145fc3d2dc6c4e48d12fa2f0df199690f8245aae877fb SHA512 4920c49813d2b996ca832f452d51226365bb39a44ac62645e3418749fbdd08e8e5ec8091eb9108e9039206d434091be570aa71cbb9732516752cf616b4465dc5
51 +DIST firefox-91.4.0esr-es-MX.xpi 541516 BLAKE2B 457044739b4f864c7c5647056c4b31eacb32d79296488668429683a33f7a4438b13a8832763f9e7628ae6094d8b7dd1ac72944d931e96a0e4a1a6883d5cd8878 SHA512 79b184125aae7311195d268af0d97aa274c9d26d8fd1d8b557db9860dd8e5cb17a5307a39a22be150fec18adc69649dae5e76922e9c46fe29cb32a6bfef8b46b
52 +DIST firefox-91.4.0esr-et.xpi 480346 BLAKE2B 5ac5375095f433be0d2d474c7ea808f826c2123b82ebdbd541bd03914972b4546c940f1334711ff16c75b9d07ef179bdecef8aba80b02c0350c4696d86655530 SHA512 d86bee23f2a22a09b8cd331a3f1ba3a17a3509c1941af64111d604895e8ae48c0ed36daaa72610037aacd039d2e1ae80a08182014163cb054a57bb4bd3c99029
53 +DIST firefox-91.4.0esr-eu.xpi 532520 BLAKE2B 88fce18bde87ac875adfb43fa5741ba2ff568f0ce8c1260c474d3f3a7af879ef4af699ee8a6b24d99aa6228dacca67b7897e9588f2b4c30679fe37bfcd511693 SHA512 c1cbafc7a7f2c462d7c2f43b830397dd02f9b6e12c01e45be154105b36cb62e56d18f662086dbe4127d91927dd5980157dc90dd4a8bbae8a663beb42dacc7a47
54 +DIST firefox-91.4.0esr-fa.xpi 553970 BLAKE2B 568cf1029ad7150c72f06adbdc80ce16235f6905fdd7545ab9aa8b5923b5f585f2e2d889260b5ee3cb30f6a0dfcbc24afc5b2e7307055dc4bfb02e735e40d640 SHA512 6c0d5114943d27b4d8b50a99235d6e85e6674a810e95c1999cd2061cdb9a7f1f63444857fe69d893a864a3f083ecd86fc4641d59edb9b15ec6f1287feb2a13ff
55 +DIST firefox-91.4.0esr-ff.xpi 469973 BLAKE2B 6dcbacee6086dec58fc2b619004cd505eecfb20ac914b2592c6e18864b4c016b535949241f1e8e806ef7609a3534c272b0339a701ca07fe92aa5e0fa2c7bf8e9 SHA512 3250d9e7c14370ad5379b081dfc4831ec5c4db6361cee3014f1c31d0b963d82da8cc5895ee8793d383fc508e0d78fb289f592f8dc1f75e1e70b61ffb6218111e
56 +DIST firefox-91.4.0esr-fi.xpi 526622 BLAKE2B b77cbdf5370e3535a3352cb956eac60f2f3facaa6f9934d6bd75d8570b0bac801a9f56cb44044974b9669595c54dbed95e48568759cfaf0f853f8fd89fc3b91b SHA512 38d6d9d1243ff26fc588b984114f8669136ac7e78e421d1dec0ea6bd12116ae49d85de5f3b559f21b0510c01a203cb8acc19f625047e13fd5d79238832a2af94
57 +DIST firefox-91.4.0esr-fr.xpi 553503 BLAKE2B 393c700caec3ccee3ca5e679f63b8463461750872c54090d5f619501ae4dadf0a475ca47da1dd7efd80335854b094d52f08df7ec4939a3978b7130ef8875c840 SHA512 fef38c360e58008da3ecfb261fc8cfc904fb4512159d4367e7e3d08173c1e675d2fd9a5ee0db5cf440f2eae18314998515a0fa1e78c855ec2b45cc95f70376fb
58 +DIST firefox-91.4.0esr-fy-NL.xpi 539366 BLAKE2B 618c96d6156799c5744d311368d7b29edb79887c6997260bdf74bc3ba6b6452ce7fa76265965e78732bd746dc19bf1512e7ddd9edd43dda9faa6166417cf6274 SHA512 062d45aa56fda9e7e77d0badde5a519190fdc804dee5d648d9d2ea75174ec6412395784992b50ac58e79d821492b248e6757f2c99c63a5649bd5bc52de74973a
59 +DIST firefox-91.4.0esr-ga-IE.xpi 457892 BLAKE2B f3f5c1ea1c1e122a896bf88774f8b76b8dfe48183c8896f5c64c705dc1ff0283a2f17b534301f4dbe2b621b5f6f6251d2085b28476ff21aeadc1cd15d9a14378 SHA512 e5aeb011f6e6b5adea4c04b01f994a6d4e3b4d368fd8a1efefd48fb631fca757463a71f2c3b519af7216ef42d540367fae3423e6e2dea038e51075c10b4c7b33
60 +DIST firefox-91.4.0esr-gd.xpi 529204 BLAKE2B 2d61fd5f3c221dc9ccf9a72948d28a9615c6d920989ede46ff888bd0f63754eef7db995d3744be398249db8aa7bec0d37f61c58ea1de016d4ccbb62b471ac58c SHA512 62222ade8a1ab7a60168040c25929155f5e9a6a769d40885b7f6471bfdd523457e09cd4810227dee5dc97092fe2862a66af62843a18a17be8cd0cb4d09116e6b
61 +DIST firefox-91.4.0esr-gl.xpi 537265 BLAKE2B f3913d321f6abea828a18f774e475da4d9d91bebe3e596a77719216ffbef7602a10c4501d0fa6c1ca1404c1121773a9cc2b4d8b1c02e20d971ea1516a05fec3f SHA512 1f3177618c182cec06c9c9d69efb016dd09ca80dcd1a809a5308c32e32737a3c18170de3f9f88b04f71a42b2090051c6c62f8578ad55488c5322e9667a0b1301
62 +DIST firefox-91.4.0esr-gn.xpi 554090 BLAKE2B 216907423db0a9ea6af0003cda1fa12b6b44fbfbaca7b71d241e9e05365e07ac99b2b2d8654937a840b4747a2916228edb9e66a56203e3b19e8fc4fc41daef6b SHA512 306e3474f30cd22e52e17a7f338f1ce28b2aa03cc8129eda8b24cf379d686068bc93cfe9c3cbbddf4e60fcb278a5c0c9cfa443fd4f34bd4b6bff3f924a6cee1c
63 +DIST firefox-91.4.0esr-gu-IN.xpi 527245 BLAKE2B 2dc7bff6a9a8117907aa0534100cda919926191793171b0e35dda3e3e0c66d7768ad77b24266de265b5a3dfca206d6c3f968870b2184badb71d99c1b0ab9e650 SHA512 ff631f7094c1d3d496a18bfc9279424f8165f2d3c0e9eb40a723e1f586e32602d9cd387cc4eadd6bb0e7a80996b94e5e9a774e4f2b010427cd26efcacd4fa947
64 +DIST firefox-91.4.0esr-he.xpi 553037 BLAKE2B 3700b0298b76cceef7a2363e1e99c9ca16d3e778def977f1f7ce93f3f6059e4f7dd136773a3e77dcca18511920f078a1f763d111a616e198bbcbecf9ab155584 SHA512 70e5125db74d1427d70cbb5e68c34520a960874897299eb35ef2846123ab82b737fd71d32adc92e7d04f632e4ee8b64a154aa0f8357a9ece277ab7669df717be
65 +DIST firefox-91.4.0esr-hi-IN.xpi 554560 BLAKE2B 2551147898282dc511a36400e392b3c4e19b4dd935ded68c61211afcad796cef7a22061768d6ce486e81e958fcb49f9a4c1f303fb847d0e9fc8c4066281d7fb6 SHA512 315fd73b64538eaa6c83bd32afe47a64eb16c3cac4c8710b79cbeb38b8e6de1d6e14b678e4d078b8a39735694a21add2695720f7bdcd96f7b5f41438b66bd6c4
66 +DIST firefox-91.4.0esr-hr.xpi 528149 BLAKE2B 307d94c1a9efc507f931e69c34ca89d13b0327176a8b022f497ec33d8e1698daee5f1cd3d61eb21892db2647654d155cef12b8fcd14b61394d3e80129217fdea SHA512 d25661ee98fe4dd552a98d5cf9d2a315551a6ef80e4a36418486967e0a85e7f09c26e3d01d4d692e57c12f10336898d854f57ed6d8b4576a7cd43da641b1817a
67 +DIST firefox-91.4.0esr-hsb.xpi 558158 BLAKE2B 429e76be5ec37826ef7a41b32fd966e4bd8bc62719732a9b2e0f52665dc3ccd91abe83857c687384610f28c5c887952a9c9662d7394071a49482600b21e01bf0 SHA512 d79e612ab8b21ead195298493b6e97cc38a648b66da8653032483c7cb4b481efb08bcd4aee6197a69c5d8692fcb1c85dff88a3e28b327e85855598ddb7d5207a
68 +DIST firefox-91.4.0esr-hu.xpi 561985 BLAKE2B d30551d2c287d19ffafcb034eeb3a1c645784307f545cd489a1bed92f445edfbd04794918e9a06c608c25b917f22f7c69be76b8b05f053ab83157895b76c5c3a SHA512 05fbbc80885d2fe40d4e2dc8b8b95ad3495a979c9b69a223cf38b67a3cb55dfae636bd63e051cbcea777085173797a075b8c37ca626984b7bf5165267e9c8485
69 +DIST firefox-91.4.0esr-hy-AM.xpi 576131 BLAKE2B adaa4291a56a0b7fb202e890d0f8a05b7dcf56d9b6ee38015895c145050d5d4022f5150770eca71403229423945f6692dea4c4ab43e9301403d6a5dcb54ef93f SHA512 1f233daad38800c7adce495053bc76ed5a101893b1d0187b73062bd45e96b3cebe83eb435c44da7b374ea0a76e00bfa78e3d816b050492497c1e254f25ab7708
70 +DIST firefox-91.4.0esr-ia.xpi 528328 BLAKE2B 71c39e655836fcb82004fe6a7d6308ab337d41b89312c57bc8c8081a05accf3a75cbf2dd443da4b3e99f35fe47e091219a27c94c8a971e3a5ce1fa9ad3ea6a50 SHA512 e345f378dd823b2e11a6efc4e9d9301d8eb5368e32d1a3b8e27ed9379c2c311214e67099f3ea6ef19c86eb40cf80f46eee0333e5e1d787f2c1c529a79797f323
71 +DIST firefox-91.4.0esr-id.xpi 517718 BLAKE2B 6ae152e686f9b55c067d9e3758f71e7690b8421352bcc562a375daa47ed1a7a811ab1f62f61c6a9ba9351952bb90bb208893787f4eae63943202d36545184f1e SHA512 a2974e9ecd45c4615164eaf55cebc7f01737f5dfdaf3547add722f33d215b013f4fe18546259dfb2943e08707ac196c74a5c5ecb6d2e931142b2874220b97e72
72 +DIST firefox-91.4.0esr-is.xpi 467919 BLAKE2B 3abc9ab10dd2eaee9bd335b715300bca43a03c63a7a2a292d45d2ac9f43b216848d498a02493e77ff5be9855f77290d23ae8c635aef29566702c55bde158a465 SHA512 293295d4dc560beb034fe565ecb828f80a1bac7486e297b315c0aa452ecf5ba759017e61f9a3edcebd8bdf2a6a02b5c7c8a3ea4db119d19cce76ca8df5eed197
73 +DIST firefox-91.4.0esr-it.xpi 455746 BLAKE2B dbaaed50f0d19596bd2eb7fe1584fa14296041e04eb987a845d21883ac14df80c33fe5fce6a5b66d8a062d5ce147242a31860d1d250038c0a6f56b738477f774 SHA512 6b517797d0df3d163fec14137184ae112c948c3146c271806546d9288e424797cbc8d664346d02e3eb702c1c920ee67d084015815da45457ff317bd4d4c060b9
74 +DIST firefox-91.4.0esr-ja.xpi 584266 BLAKE2B 8fd1614855bca5054cdab88daf77681fd9b8ec8487e62dafa6cf415322bb5992dcb57b4337c2afa7d9fcb863e4c26d608ec44af887f4faeb99c9322dd15cf8ed SHA512 d82eeb7df6274d12e53b48a6a5c5687dfaf963b9a41173eac1d7dbd1cb0d620f33f3551682f4e07343dc97ac9bb3d5993ee5c26978798522a8972b655426f908
75 +DIST firefox-91.4.0esr-ka.xpi 582191 BLAKE2B 50fbd0919e98d1fbec2f88506a412246590308c76ac541c9728236007e2c4a4e9d7e2c85eccb2c52fa376bd1453557f6a17ce688ed93e72994fb44cf21e0e1f8 SHA512 e867e77a3817c23104dde4f989cd0590d78cdf278d0b8ceffd5189e6b7bf37e86394fa246b444b86f1a8e79a627f02c316aa1a891c6caf33d791021004a3c890
76 +DIST firefox-91.4.0esr-kab.xpi 541441 BLAKE2B 4960041931a5e4ed22aae97f6a6ed72d2b181042a67ba85c9c96a44740ce2ed1644a14759c4704f6faa36e6395e600d1977447e98b38d6b6da415c974dc62260 SHA512 b114aa5f922a831e3fea8f2ad25ae54dbfb0840fb3979a55d72ce2b3ca59644e14075ef0da57c6b465603d51edf4ae81cdfd926f9ac0e428b09523d9e47a09ed
77 +DIST firefox-91.4.0esr-kk.xpi 602422 BLAKE2B b635982be599b6adbac1593e844f65e49987ea649abc6a41e0d5c112f1e2973c703025c834efc1f3161415e93e9e2dbcd3b76c03a845b380fc4641c14f004ac0 SHA512 81d163e25d069de9fd14440219f96ac5dde744458bea87bb906b2bdad21dcdf749b1639c6e3bae54e9cf50ff13f4425d07cd861c2890bb5c1b4cf902ec3c3aed
78 +DIST firefox-91.4.0esr-km.xpi 531026 BLAKE2B 694d6ffbf2e5155dbd5e6aad9cfc161309a9b4056b2e41bc4506700a69e1f5bc4ab458892bd6987ec9e67ab454c43fe9bbe4e3d2eb38dfc8681e2f4e29695f5d SHA512 d7e5e2b75885c03631154de1dba4bce1e605805751a2d34a2beaa50232e4af51a7c7069454be077ce65555903fabc5009195bb37978bb0fbc8d7ac976e5b52d1
79 +DIST firefox-91.4.0esr-kn.xpi 496518 BLAKE2B c0e0d5d8ef46e3cc3e013ee3eed5b5ccf71ad9b9331fe1c56ad451b9e5c70f04561ec29159f5d82e6007ac97d407535ff923be297500fcd5990e1d0d917d2360 SHA512 6185590550c9d78444c96f0f66fe6a7ef2ef46cc0220e485ddc8a9fedcaff2d779e2096dcced729c5d19732b7bb7408ea2550d87c66f5f94afddcedacb4eaaad
80 +DIST firefox-91.4.0esr-ko.xpi 574828 BLAKE2B 22ab4c2598fab7105f4fab62f7d37390a2c3ff5ff1334309ec7cc60406d1c4bbeab617c5511a0fbd0ea74ac7dceffab416aec2aeb6b2b307fd0c2a7b115a5952 SHA512 40ccea4f669d3d559837b0196fc1688d75e02aa39162e02913cb0d9c19a1d57d4705ba789d53c38f4cd2afcc888eb153e2ef79a0c618e04460b90f3ea95f329a
81 +DIST firefox-91.4.0esr-lij.xpi 468276 BLAKE2B b53d636db515a94135faa29e5951ef9f9628603bc6fb6d8e288c7e713294babcef48aabc70d53a1a2e5c5141551e2d5f3e941579f0cf40e553c3c8e8a98e8306 SHA512 c1e27148d9e18eaf972ab2e12ef6474afdce88f0eda7e81d20326bcc5f815b78fa60cf79c9bbb5483902141d8b46c048c94e06230ce5d13526f1aa56985f6885
82 +DIST firefox-91.4.0esr-lt.xpi 556483 BLAKE2B 76b7dec6dbbb222e8763b18563e33a74666aa1f566b31671eb44cc3908ec8cbccf73a496840be41ddbc7619c02bb8a2663af72417e4cef2f3cd48690606acfc5 SHA512 99dc34d152d48d544059f5e2c5e070dba68f6278de804a82b82919058a3308858fa00556f306fa67ec9e2dbf73b8bad7ad6eb29c415b34cca191271d7d3b4bd1
83 +DIST firefox-91.4.0esr-lv.xpi 460155 BLAKE2B 1f0de8813c7c05d4c8208adc0377637a1df9bdf0f5639c2bf2d5b440bc5c0772e60499acb1630e65f8912a253d7cd449b9afdad0b45a77d6b15c82ee3cb51bd0 SHA512 8f2506be64284e762b90f5c4771730f627110aac5377281ea17647d1bcf61e2911d0ec3d7664a7f6d3d7799e0a18f72422117d9cee36d8b18188da729bcffbcb
84 +DIST firefox-91.4.0esr-mk.xpi 463732 BLAKE2B 215c755574ce9204e1facb159b99b88730fa920b2029cdbe78a7e6815df30e4187e8b726f6893dca78a6bd71814524f742fc939f84198b81c6dd8590d3ab9ff5 SHA512 8fdc6e67a9ddf65281ca2e90942a3eff163eaddb694abf01672f1f2e5e7845d49543079e396ccc8a2403a2189143dda32f9053873c5e1927c3b09b7b7fc0cef9
85 +DIST firefox-91.4.0esr-mr.xpi 529969 BLAKE2B f9bd79323f907b67bb845f91138837d4ae30ff2f74366258a95f4104ea07c3840daec921a516fb929a59fda61df69a5f3ac0a18bb4bc73b26f9296f81286cd3a SHA512 0f489e4036ab4ccf7e07262f9253882505c0bba20f1e07f57e0fbedfc6e98c430e847e1d95285999fbde16be0d0757127447ed20c83fbecb0500df1f1b1c529b
86 +DIST firefox-91.4.0esr-ms.xpi 445085 BLAKE2B d8771fe6917e27c3052ea72b416dba33126bb7fb7bc6c29040df431385f04f2aa44ed80ec63f507ade28e6f64d6d02a63ced4349a6f2b7a899bab709a994fbb0 SHA512 8b0b4c4050cb7343b1bf13495c712352f244dd746f126fc4ffa620ce29cbf4bddfd3f02d822626e01c7a200f025073ccc918c7a759133bc772c2158edfe52bf3
87 +DIST firefox-91.4.0esr-my.xpi 514591 BLAKE2B 35db61858c48264ebadf7ee856861ef29c7da74f98816c72ca230eecd7051e960fb3206571b31fb1c4a13c2e02e1f4ee7922b0194f78e2751f99c57e1f08003f SHA512 5906da191e64af4273b077d49eb518d00ed96d13e54839e9b5f2a283f548b825d1c1331076644ca7791dc4cf3beec0e43b59331c741ef0a760281430a10d93a8
88 +DIST firefox-91.4.0esr-nb-NO.xpi 525627 BLAKE2B e96be9c59aaca41b37df77fc20be03fc011a20e121a35166dce6e2e69fd9f9245d373656e5122d876baab34e28a1360e9f7e1ef00c4b97ad409421bcc2fa595b SHA512 900267d676c41c0f83ba866139851a193f0267fbd531d0524f0e21b356763dc898f5777081870f6f3e4c69fc64653a93631c085bf4b6a420895b23e0032b0630
89 +DIST firefox-91.4.0esr-ne-NP.xpi 474185 BLAKE2B c3e041da59a92cf37e5b3a69debdce9392d2a95cfd513a3ded00c583ba424292ce54b8a7b7f9cb34b20d731803d0b5766e943132f868db1ef9fcb81a9e271a83 SHA512 3412c5be0a63dcc86831a9c85cd744528fc4d009c01295984e9b1fb9f8498abc17bab6dcd2a6dd5770d390bb6fcb9b934c2c367d71270f272fac222924bc01fc
90 +DIST firefox-91.4.0esr-nl.xpi 533414 BLAKE2B fe2537d5846d6d62fbab558cf4e5083c187237a364a6b80da8d17edebd1e973599d8cd6895d55991c20196cadfc45c06bfeae616a8542355b82bcadaef2ad4cd SHA512 6a156e7ee152273bfdd49d5af28d26b3733bbbd7c8b4d448d0413cd1dce0d086dbff1246c7464ca7925a502a71bcdb85b7346ff25888f3bd891fa76a59c94d30
91 +DIST firefox-91.4.0esr-nn-NO.xpi 527058 BLAKE2B 64e769dda2316320d75bc24b28827feb92cfe788dd349ff69c0f708f7f5578c565e85789a39fce97aa37a7e3f7647fa702209446cfa4bc3b391b606c2584bb57 SHA512 bf95f24d1d226fed9e75fc027166a6cfda3e691748fd06b132953d56c31e42ad8ed261264d5e225b7de32c138876873e40a8e67b564f507a50f80851d44f2784
92 +DIST firefox-91.4.0esr-oc.xpi 548919 BLAKE2B 0ace64b36a718a54d6b33d1d93107ee9485324c7b1b4137dc9fe84dcf70b85bf0f4ae75aedb67686972b493049bad11e7362bbd462d04f2a18ec78c942f0eb00 SHA512 27a72e76cb3b51589dc460b6995ee57fcfcf4f8e579a95edba87e0ab18ae857d289061933127968bde3aa29df3ed4f2772bc44105068019c0c74e453e7473e56
93 +DIST firefox-91.4.0esr-pa-IN.xpi 589463 BLAKE2B 7379cba877a4d5837fc597b9f18ef300b1093a66349dcc4c8d2d25b85074c8d45e1647ae22db909e3825f5dc3da0b606d6cb5d6723014943f6a292e61b3c2078 SHA512 da19812759622e3e76d02ea54c7431aea15293af2029817ef3005aa58421c7da1a144fe93905eb078653ccfce0436cc107039ccbed15d562ef5ce091d98f6d6a
94 +DIST firefox-91.4.0esr-pl.xpi 552660 BLAKE2B ce354c26bb6f8564f9fd776f1befa924c9e139d0d4b09684f1df0866717829551c260da38f3f819e39f2ad98dbd1e047b9458ae1f7f10f1f2df36df6942920e2 SHA512 8bc536bb7f45f6571cc625cae8178db182382846f49bb14d3c840f21c3fe778c396b1ad5ffa05bcaa53aca017cd8b9e3a1fc921024a88f67ddd497f76fc19bbf
95 +DIST firefox-91.4.0esr-pt-BR.xpi 538494 BLAKE2B 064f775abe3f0e7f692cf8ee7ec8de788f0099fd8a41d0f0c64d13fe309dd7596005a2b7af2f869a3e994879be2d94cd9fcd99ba25b3bf388a8ad08bd802c088 SHA512 c04526f15cad1e32371d3e1d95fe8975614cf3295f3a80299a7a0b921c2746ce4c4df0392d7e3e24926516aa5eaec0f48460601d3154ad2abe230b7b20502a84
96 +DIST firefox-91.4.0esr-pt-PT.xpi 542430 BLAKE2B 51460fd6d910c847d1e7ff7d918990dd41d0e875c1d76d36a6c7e56192058c76594f561eabc394e08ef635b9be4cc6344c758733de83baeb71410b663122c55c SHA512 cb5741451651dcd8720f79297c632b410ff22b9a4fcecc6c12359fd03e06ed414b87a07ddaafad5b49da4582068ad268b0bade8cd51ddd2bcdca3fca007cf3f9
97 +DIST firefox-91.4.0esr-rm.xpi 533244 BLAKE2B 0844973f8a88e55f1e60c41ebfd6e73051f0f1b7ecffa64343efcbe52cf1f9783379975b6a258b80e18352c384ccea76cdeecb9dd153bcbeedd3932a257d266e SHA512 1e6fd16b476a6440af3754411071ed0c5d3b483ea1b3dd1bab921175042f4ab7d894a308839e3d1cf67efa78884249f1589bab85892f46520196badc8c5dd928
98 +DIST firefox-91.4.0esr-ro.xpi 526985 BLAKE2B e8ce39ccb62069614e4a811061865cbac81a712ce5a8bcf1f56b9962367e69dbafa4f591ff695ae086ad95bf018c45158763835487b0ab388cb3424df3e5224f SHA512 a8f003cb9d935bf5528291e9b9175183036e069cd8f71b0d8aa13a2d387b9446c743b958f212141c956e4b52074c3d49b7839e6b1c7708c9d9d66bfa68504763
99 +DIST firefox-91.4.0esr-ru.xpi 622479 BLAKE2B 5c546e993726cfe05930d6663e55a9254e94808d91e8964bd6253b5a66b3f7fe0aa17fb95c6fe2211b40f1eb3205a142ab31ce0fca63a351402d1bd9e5be6e05 SHA512 c8dbcec0fdd628d5ee2aa7bd35df9d000ae4639d767125f9e60bb706718acc3f3c827c2da8bda592847ec180208c4f4a01499d92414b10e9a101cdfe5540d137
100 +DIST firefox-91.4.0esr-sco.xpi 503271 BLAKE2B 8085da172a519cf273a33e70dcd1f70f9423308186a09b2fc7775822e33a65ea3f0c751a8b04c812761259cff4fb604c5055dd34561581075c2bc71e7578c4db SHA512 bee9ec974bb56b86f243cafa3810462e1ded2ed1b356a80179323404a6ebc8076e71088b35eb1948f825d0dbd70fcb4617aad068eadd26537f5e2f2b5bd68976
101 +DIST firefox-91.4.0esr-si.xpi 485754 BLAKE2B 7898bc88ef5f480800efe25273b39345d5ecbf0f52fdd37db4f8c01b5f7aadf39def6ad1fcd8422fa2cc13542c73ac1ca4294ad01934895b857e5393df57b9b2 SHA512 3c0696368d4fe4963ff6ee4f4fa7ca15e4464eee567801e0ca10781095ca4d8a4128b0e393a1de6748492a001a941b3c9a072f07d3f4d020699f13dccbd36125
102 +DIST firefox-91.4.0esr-sk.xpi 562099 BLAKE2B c0c1e770acafcbb0c70a82235818b31d53f0b21447230fd88de12430585067ad418c59790f34ad45276b63e1f3cc6f07c3994d718bded1511f682445e83ec3b7 SHA512 dc3a49b3845ac78e6317a1651b072ea24c0c4e7aa68e2b61f0365d188e42cd6785cbdb1ae201b179d3a01fc3ef97f524b5fde1fd6649a3a86337a4db28a33c0d
103 +DIST firefox-91.4.0esr-sl.xpi 529903 BLAKE2B 69b9dbd60e92aebd07b31d5b52e7b7bd3973a05281dcc5801010ab0ca2221a661232d054ee4b544b1f0458b3b73cfa14e28871162fa639e83908a046b5317ba7 SHA512 f1d61aa23c06a165c93c15455f11e27a9fc77629fdf6615297f258999c4e7a1fd6ff6ea89efc6694252acb3215e6c752d2fb1d2b1ccc1e1a4dea9f1c61f064c3
104 +DIST firefox-91.4.0esr-son.xpi 424145 BLAKE2B 13973029336e622ae43522501fa715096db3bef7a2ab5b13e4ecc9bf45dda6083e5aef7b9daf078192f1ac2f846a29db58cfa7045915db01cd6f42721ce16614 SHA512 d397eab0f3e5ea3d9a7637f64bc1464f67adf76700a775524859d7e0833d1d4f7f9e1168e41a9e8283f8529c071128c5555ec4d270041dae1ce7113909d5b7d5
105 +DIST firefox-91.4.0esr-sq.xpi 544586 BLAKE2B 4ac371a525dd2df44cf6997a0e1c866980d4d861a8e80ea1d496e7f81016c814e654e4d6b4ac797c2d3e702bc0adff7a129c41ed3907133d0d2d952b8a61fef3 SHA512 23a606954e4d205aed77efef69eb509e5fe95326398932e0a8af36bde2fc3cf67b08b9a967be1f1b2d9901c7969aa0d1872f6f631df5642ff56c689fba743db7
106 +DIST firefox-91.4.0esr-sr.xpi 583086 BLAKE2B 46994159fc1ff22b78a6162c54e9dd93506fe604750a70c4a0fd395566403a46b95748c922696458a263307ed50472c4c9caeedb8959b65c002a18526795a0d3 SHA512 e8a9173c91738364e0ef4e9e8a42a5d9b75995ad10be60261407948404df0f31824c5dd93fb92e34b3f0a68ca7e41b51883b2e5eb45894d164ae8ea55d80dc20
107 +DIST firefox-91.4.0esr-sv-SE.xpi 536058 BLAKE2B 11ca31308f043605fa59a2856c8210715990c4e014925fc4fc07dc90c1400d622fcbdbc283bf622206e8ee6a4dd706e1aaa20e12d252f61bbc30dc6708e710ce SHA512 0be654894191d685a4ba9b4659d85b6ecdc1891687c10bfb89412f15ab8da4df07a1a9f64283efca4895b9c11413b9955283aa2bf3e088171e0e8f6ab5d5efb4
108 +DIST firefox-91.4.0esr-szl.xpi 508146 BLAKE2B 347121bdaaafcf3f91726c7ec6daa5b45d56470c39ecce3d27f00f5d7c4fe52478f1c7b8390480c58896addab012aa74ff0b41bbac57e82f3c18567be9444a6a SHA512 0564a38bc2c2eb65011d9e0a7d2ae923808739d5a29f8be54c2476ae11a607cec9fe9b2b3a28d35da9373dccfa803a19dd7084f0b85ba051e8bd7542ac52e7ce
109 +DIST firefox-91.4.0esr-ta.xpi 510667 BLAKE2B b4fc8de02fd9b4888158a4c10be33259bf60457f5ff210e595a1b93f723cce0d2abb260ea00d6138f0876cbb05cfa337b4eeb1aef6f008859fe968ed1c7cf0e3 SHA512 7492d64b776f6c187d186eb7479a2362da725be88c7ea6bf1d8b4914acd4f8130bbe9bc7b192770982645d2484ee0fcdb9b05356a5cdb416af208df583f6e590
110 +DIST firefox-91.4.0esr-te.xpi 547906 BLAKE2B 2002d8dceeb2b0a61577cb334402b68cff1c2f613542d87985d2739740fdb577a38501d37df6708bb158685f2eccb7fba75467b25394ae9fee6acd1afc64c1f9 SHA512 8b85b5d1beecac77167ad9abced138a2f0e8cc3b68b2188fb80dfe1852fc299705d32e150c1f8e250929c7af10d787fb2477d1e731683d954ac48a6e9995d075
111 +DIST firefox-91.4.0esr-th.xpi 597694 BLAKE2B e34e0be0d0b93015c4ee577f70f796ff9fdf02e3bab0f25f3e51489ef05b831d06ab3bb7f52aa29b72dd1a0824d0b4aa69d6cc69635810caa8f73b89c8897947 SHA512 e3665e291f71f2b4d11c974c255eeb9e7fb079b705e1f70451e45ce3aa206ecd0ec5b28207b57cf56a84cd5175bb8a8b0735fc23825fb1dbf93635574ea40f4c
112 +DIST firefox-91.4.0esr-tl.xpi 513310 BLAKE2B b549526e3d1db282210c81c68960dcfb95d67eb554a0931869b1390ff6ad81796b2e0768bde840827b2b56cd74b064096330c3aaaeb9245026fe503a2dc3c8d1 SHA512 336cbe0837696ac1f2153edc21481dc658afc35b0c61ea0c87b996036647fa220c447f3e7a8f0413e219336845cc9eb049dedf16840066533bb02f8dc41e1f54
113 +DIST firefox-91.4.0esr-tr.xpi 548362 BLAKE2B c878ba25cc461624cd86a6a8789cda55dd018e66113a50dc280fd62d2f9c5ca79eb3c7c471ebe511fa451cc72a28f38d3f6538895ad8b5df81db45e68d74a408 SHA512 70fd852fa95f8adadb8a1c7feb3d67700598b720cc49a01e133c16213a92f9afd8238816150f79b2f15f24168f7839dc7e00ea9afb7b2453e446e0f375995260
114 +DIST firefox-91.4.0esr-trs.xpi 488758 BLAKE2B 220d3383d3064b092c1eaaa19de4981f7edec0edbe1dacf06d866af846fc338120c64711f160a7a0ee04624528686b554c701e013042ebc907b439443754d8b6 SHA512 337d236b29d1cfc103052cd1c651e6140217c0afb9092be37feb81a964d8cebd6e26c8366457fe65ec4eb79379400f86c3635111f6ad17d11a86c304d395bca6
115 +DIST firefox-91.4.0esr-uk.xpi 615983 BLAKE2B f78f5dd87d49792374225e1ede6311f4c8ffe451b0427bd77f554487c255c94149e207183d79ad79c6eef5d96a3e4f8abfb6743d031bc7afb8ed93db5d9572ed SHA512 ad06e287b5c96bb990621b410d9c45db92bc3bfd9c5c204acfbea22c4f4aa09ee9e0b4366ce1c5bf174fc38c7ee664c5cfbeac3fe38ac874007499b3553931cc
116 +DIST firefox-91.4.0esr-ur.xpi 554113 BLAKE2B 5b7447e25f05d3211920051bc9e6fb807bf569dcb99f5a8ca383058a2fbcbe50aae5203f94f1242ae8e389a1ecf9a1602730a2445dfc5ca01afe96a551f7594e SHA512 00bb497a1729a74a67a83b0a7512822c4415bdc71bf940f9731785cc87869d98514b9c8fb12e8167ed0eef80aae4cea0b30f0410fed43924108ba49f8d0bf841
117 +DIST firefox-91.4.0esr-uz.xpi 465013 BLAKE2B 989f3dda30973403ca5c1eb8a129278105ef645889d4c6f32144c2970e54b13472860a815762f7b2c2bcc1646f227f0d63be5c284aa18a72b10a1d9366627234 SHA512 d38a60af12c379c3b4d0d24b478b3a964dc31afad481d3303a7cbf39555c29ef7fa33465203b632f88c586a4afac97da6d74a3ad1fe431d919133206c11ba439
118 +DIST firefox-91.4.0esr-vi.xpi 569116 BLAKE2B 983c10b007eaa88f324a16cafb90924e1a1d14c118616d1c526d4dbbf3ed6db339978d2de49f53afb53555f5bfaa63f4a02fc4469035a102332bc305c16ee533 SHA512 e33542cba623880b69ff11551380e893f6e6485c13855a9c4121bc88c1037c22510ab12efdc47737e3b389f6bbe278957c8fdc9ff8ad2f3c7e831db9de328ce8
119 +DIST firefox-91.4.0esr-xh.xpi 426318 BLAKE2B caa90a68a11059bab6d54800936f247c692b7eb8aae30178934d2486e635bb86b540601610062f32c6496399cb6f446741cacc559b7abd280eaa5392a894322f SHA512 08ef35e0bd42451280acf8b6d4c2c27b1c0b32fc070dd289d6405122f423e55b6eceb0b1235f865b5f95a0f257afb037f6cee48407014f7b435f712d7cd30867
120 +DIST firefox-91.4.0esr-zh-CN.xpi 571363 BLAKE2B 353648ce0c0b12a1e922e4169e4ed31e0dab3337a2e5fa53879e38aa454933cf4e76191da186053d888f755a1bca176e7e23d856f5b7aa9ca088e12a59791b0d SHA512 db04703780fe73b23025a984511f3e55189de663b563ed1c9dfb95de98e648842a623e5deac341fac9afd568b33f48ae574af8f5a49cbf808158551448deeaa8
121 +DIST firefox-91.4.0esr-zh-TW.xpi 572071 BLAKE2B df9f18fa4cbede2324aaff48c503b58cbe97f07394a2ddc00c7bb2a8e9e8f2ef0608374d726274bcd3890a97bcabbcbd25b56fe14db67c8cbe15948b612d5ba3 SHA512 e279a726a6014b6c473c275c8c3a786714757ca63d6311637f42787f2c5bc2778b36bf46302b932ee1a9cf478ac6a8e29382a389d84c29621d62642365b07360
122 +DIST firefox-91.4.0esr.source.tar.xz 379759164 BLAKE2B 073ad017a7a5569713bfea850d5572c6cc0e7c46dc3c89878a6405b024ee9a46453c8588b78d547f838b9d55a93a509a293f578a3ffac35b952e2bce84e931a7 SHA512 781bf62a0e1215cad7d90de7c822978997bfeaf71bde4e7124a732921d130762c6654417c708a299726039d1603ff5e0796106118ad4b2ddef4e9dac84887765
123 DIST firefox-91esr-patches-01.tar.xz 20768 BLAKE2B 22ebd261b445f1920448d9243e3e15ed2e4d393099552bf43f26c9705dd00f8b87b5720e94fc43a31dd96c3a88398e17da80f81953f0bf9658d75e4a85a31fc9 SHA512 5935545535366abf8681286a9bd745f95f83ebf0d69ba5ce600ae513a4391fc16ea7eb4addbe8ad27f97eae3c1fcb05a78e2fc0fbd4cbf7798a83b778b5e1535
124 +DIST firefox-91esr-patches-02.tar.xz 16900 BLAKE2B 6b8ca8bca3c35c6ea80b947610906e36883522e265e655a18c16ae3d62512de8c2b68666639a65c45d4d2949047994bbd4fb5506b1062441ac4774b14291e0c5 SHA512 7382ed736b830a260cfb78a14c8c34409741949f9fdcc95d4cae2cb0f0b2909b6fff3a3acf32209528c07aed89cc275ee37c76e34fec1c89a920662ad42a3bfe
125 DIST firefox-93-patches-02.tar.xz 32064 BLAKE2B a99ebed6fb2e3af8c3d1ef60182e56636f68c596fcddb0450853eaca7b65fa786ce3187dae9d1c5fbce0b9d8de0b2a60d441b38a26d6b1dcad8881c46c11d913 SHA512 7f51f30815dc2386afa1349f512d156d2da3cb2a50cd9c14e763cfdf00535c78bff82f25820977252c3e5c086fe31d59a753dce2d3758ebe4f30dcda7a41056b
126 DIST firefox-93.0-ach.xpi 452270 BLAKE2B c7fd81469026d99e21553ec59d0d005e906915483b3765898beba694cf31c02aef3c15789a5c2e2e2d1ee242aef323ca7fa1c142912917ec2ca02a8cb9c604fa SHA512 9a4c7f880801eb1c4391a57107e88e3d43e6ce0a1bd617ba4d11951957e2d62116f102e55bb62db22378460c68d2ecb3a9b9b0285951c46846920ae02360749b
127 DIST firefox-93.0-af.xpi 425657 BLAKE2B 8f0f1df2ddc330f386d831696dbbbd15f639b0d95ae4d85b268924116f93f1bce22adc10b6053873f0ed6d69f9067515774b7904f7595c89a25edffde2e25e97 SHA512 f8c122c624c139c0afea5920f063b981665771ae107d32b654206dc0d00a8173230a357ca72649bc636d02825f1af90d291b5e09f9b7044d05b4af1ce39f6e6f
128
129 diff --git a/www-client/firefox/firefox-91.4.0.ebuild b/www-client/firefox/firefox-91.4.0.ebuild
130 new file mode 100644
131 index 000000000000..fce6b3ab8852
132 --- /dev/null
133 +++ b/www-client/firefox/firefox-91.4.0.ebuild
134 @@ -0,0 +1,1234 @@
135 +# Copyright 1999-2021 Gentoo Authors
136 +# Distributed under the terms of the GNU General Public License v2
137 +
138 +EAPI="7"
139 +
140 +FIREFOX_PATCHSET="firefox-91esr-patches-02.tar.xz"
141 +
142 +LLVM_MAX_SLOT=13
143 +
144 +PYTHON_COMPAT=( python3_{7..10} )
145 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
146 +
147 +WANT_AUTOCONF="2.1"
148 +
149 +VIRTUALX_REQUIRED="pgo"
150 +
151 +MOZ_ESR=yes
152 +
153 +MOZ_PV=${PV}
154 +MOZ_PV_SUFFIX=
155 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
156 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
157 +
158 + # Convert the ebuild version to the upstream Mozilla version
159 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
160 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
161 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
162 +fi
163 +
164 +if [[ -n ${MOZ_ESR} ]] ; then
165 + # ESR releases have slightly different version numbers
166 + MOZ_PV="${MOZ_PV}esr"
167 +fi
168 +
169 +MOZ_PN="${PN%-bin}"
170 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
171 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
172 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
173 +
174 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
175 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
176 + virtualx xdg
177 +
178 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
179 +
180 +if [[ ${PV} == *_rc* ]] ; then
181 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
182 +fi
183 +
184 +PATCH_URIS=(
185 + https://dev.gentoo.org/~{polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
186 +)
187 +
188 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
189 + ${PATCH_URIS[@]}"
190 +
191 +DESCRIPTION="Firefox Web Browser"
192 +HOMEPAGE="https://www.mozilla.com/firefox"
193 +
194 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
195 +
196 +SLOT="0/esr$(ver_cut 1)"
197 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
198 +
199 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
200 +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
201 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp"
202 +IUSE+=" wayland wifi"
203 +
204 +# Firefox-only IUSE
205 +IUSE+=" geckodriver"
206 +IUSE+=" +gmp-autoupdate"
207 +IUSE+=" screencast"
208 +
209 +REQUIRED_USE="debug? ( !system-av1 )
210 + wifi? ( dbus )"
211 +
212 +# Firefox-only REQUIRED_USE flags
213 +REQUIRED_USE+=" screencast? ( wayland )"
214 +
215 +BDEPEND="${PYTHON_DEPS}
216 + app-arch/unzip
217 + app-arch/zip
218 + >=dev-util/cbindgen-0.19.0
219 + >=net-libs/nodejs-10.23.1
220 + virtual/pkgconfig
221 + >=virtual/rust-1.51.0
222 + || (
223 + (
224 + sys-devel/clang:13
225 + sys-devel/llvm:13
226 + clang? (
227 + =sys-devel/lld-13*
228 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
229 + )
230 + )
231 + (
232 + sys-devel/clang:12
233 + sys-devel/llvm:12
234 + clang? (
235 + =sys-devel/lld-12*
236 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
237 + )
238 + )
239 + (
240 + sys-devel/clang:11
241 + sys-devel/llvm:11
242 + clang? (
243 + =sys-devel/lld-11*
244 + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
245 + )
246 + )
247 + )
248 + amd64? ( >=dev-lang/nasm-2.13 )
249 + x86? ( >=dev-lang/nasm-2.13 )"
250 +
251 +CDEPEND="
252 + >=dev-libs/nss-3.68
253 + >=dev-libs/nspr-4.32
254 + dev-libs/atk
255 + dev-libs/expat
256 + >=x11-libs/cairo-1.10[X]
257 + >=x11-libs/gtk+-3.4.0:3[X]
258 + x11-libs/gdk-pixbuf
259 + >=x11-libs/pango-1.22.0
260 + >=media-libs/libpng-1.6.35:0=[apng]
261 + >=media-libs/mesa-10.2:*
262 + media-libs/fontconfig
263 + >=media-libs/freetype-2.4.10
264 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
265 + virtual/freedesktop-icon-theme
266 + >=x11-libs/pixman-0.19.2
267 + >=dev-libs/glib-2.26:2
268 + >=sys-libs/zlib-1.2.3
269 + >=dev-libs/libffi-3.0.10:=
270 + media-video/ffmpeg
271 + x11-libs/libX11
272 + x11-libs/libxcb
273 + x11-libs/libXcomposite
274 + x11-libs/libXdamage
275 + x11-libs/libXext
276 + x11-libs/libXfixes
277 + x11-libs/libXrender
278 + x11-libs/libXt
279 + dbus? (
280 + sys-apps/dbus
281 + dev-libs/dbus-glib
282 + )
283 + screencast? ( media-video/pipewire:0/0.3 )
284 + system-av1? (
285 + >=media-libs/dav1d-0.8.1:=
286 + >=media-libs/libaom-1.0.0:=
287 + )
288 + system-harfbuzz? (
289 + >=media-libs/harfbuzz-2.8.1:0=
290 + >=media-gfx/graphite2-1.3.13
291 + )
292 + system-icu? ( >=dev-libs/icu-69.1:= )
293 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
294 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
295 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
296 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
297 + wifi? (
298 + kernel_linux? (
299 + sys-apps/dbus
300 + dev-libs/dbus-glib
301 + net-misc/networkmanager
302 + )
303 + )
304 + jack? ( virtual/jack )
305 + selinux? ( sec-policy/selinux-mozilla )
306 + sndio? ( media-sound/sndio )"
307 +
308 +RDEPEND="${CDEPEND}
309 + jack? ( virtual/jack )
310 + openh264? ( media-libs/openh264:*[plugin] )
311 + pulseaudio? (
312 + || (
313 + media-sound/pulseaudio
314 + >=media-sound/apulse-0.1.12-r4
315 + )
316 + )
317 + selinux? ( sec-policy/selinux-mozilla )"
318 +
319 +DEPEND="${CDEPEND}
320 + x11-libs/libICE
321 + x11-libs/libSM
322 + pulseaudio? (
323 + || (
324 + media-sound/pulseaudio
325 + >=media-sound/apulse-0.1.12-r4[sdk]
326 + )
327 + )
328 + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
329 + amd64? ( virtual/opengl )
330 + x86? ( virtual/opengl )"
331 +
332 +S="${WORKDIR}/${PN}-${PV%_*}"
333 +
334 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
335 +# overridden in the enviromnent (advanced hackers only)
336 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
337 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
338 +fi
339 +
340 +llvm_check_deps() {
341 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
342 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
343 + return 1
344 + fi
345 +
346 + if use clang ; then
347 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
348 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
349 + return 1
350 + fi
351 +
352 + if use pgo ; then
353 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
354 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
355 + return 1
356 + fi
357 + fi
358 + fi
359 +
360 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
361 +}
362 +
363 +MOZ_LANGS=(
364 + af ar ast be bg br ca cak cs cy da de dsb
365 + el en-CA en-GB en-US es-AR es-ES et eu
366 + fi fr fy-NL ga-IE gd gl he hr hsb hu
367 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
368 + pa-IN pl pt-BR pt-PT rm ro ru
369 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
370 +)
371 +
372 +# Firefox-only LANGS
373 +MOZ_LANGS+=( ach )
374 +MOZ_LANGS+=( an )
375 +MOZ_LANGS+=( az )
376 +MOZ_LANGS+=( bn )
377 +MOZ_LANGS+=( bs )
378 +MOZ_LANGS+=( ca-valencia )
379 +MOZ_LANGS+=( eo )
380 +MOZ_LANGS+=( es-CL )
381 +MOZ_LANGS+=( es-MX )
382 +MOZ_LANGS+=( fa )
383 +MOZ_LANGS+=( ff )
384 +MOZ_LANGS+=( gn )
385 +MOZ_LANGS+=( gu-IN )
386 +MOZ_LANGS+=( hi-IN )
387 +MOZ_LANGS+=( hy-AM )
388 +MOZ_LANGS+=( ia )
389 +MOZ_LANGS+=( km )
390 +MOZ_LANGS+=( kn )
391 +MOZ_LANGS+=( lij )
392 +MOZ_LANGS+=( mk )
393 +MOZ_LANGS+=( mr )
394 +MOZ_LANGS+=( my )
395 +MOZ_LANGS+=( ne-NP )
396 +MOZ_LANGS+=( oc )
397 +MOZ_LANGS+=( sco )
398 +MOZ_LANGS+=( si )
399 +MOZ_LANGS+=( son )
400 +MOZ_LANGS+=( szl )
401 +MOZ_LANGS+=( ta )
402 +MOZ_LANGS+=( te )
403 +MOZ_LANGS+=( tl )
404 +MOZ_LANGS+=( trs )
405 +MOZ_LANGS+=( ur )
406 +MOZ_LANGS+=( xh )
407 +
408 +mozilla_set_globals() {
409 + # https://bugs.gentoo.org/587334
410 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
411 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
412 + )
413 +
414 + local lang xflag
415 + for lang in "${MOZ_LANGS[@]}" ; do
416 + # en and en_US are handled internally
417 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
418 + continue
419 + fi
420 +
421 + # strip region subtag if $lang is in the list
422 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
423 + xflag=${lang%%-*}
424 + else
425 + xflag=${lang}
426 + fi
427 +
428 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
429 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
430 + SRC_URI+=" )"
431 + IUSE+=" l10n_${xflag/[_@]/-}"
432 + done
433 +}
434 +mozilla_set_globals
435 +
436 +moz_clear_vendor_checksums() {
437 + debug-print-function ${FUNCNAME} "$@"
438 +
439 + if [[ ${#} -ne 1 ]] ; then
440 + die "${FUNCNAME} requires exact one argument"
441 + fi
442 +
443 + einfo "Clearing cargo checksums for ${1} ..."
444 +
445 + sed -i \
446 + -e 's/\("files":{\)[^}]*/\1/' \
447 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
448 + || die
449 +}
450 +
451 +moz_install_xpi() {
452 + debug-print-function ${FUNCNAME} "$@"
453 +
454 + if [[ ${#} -lt 2 ]] ; then
455 + die "${FUNCNAME} requires at least two arguments"
456 + fi
457 +
458 + local DESTDIR=${1}
459 + shift
460 +
461 + insinto "${DESTDIR}"
462 +
463 + local emid xpi_file xpi_tmp_dir
464 + for xpi_file in "${@}" ; do
465 + emid=
466 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
467 +
468 + # Unpack XPI
469 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
470 +
471 + # Determine extension ID
472 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
473 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
474 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
475 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
476 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
477 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
478 + else
479 + die "failed to determine extension id"
480 + fi
481 +
482 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
483 + newins "${xpi_file}" "${emid}.xpi"
484 + done
485 +}
486 +
487 +mozconfig_add_options_ac() {
488 + debug-print-function ${FUNCNAME} "$@"
489 +
490 + if [[ ${#} -lt 2 ]] ; then
491 + die "${FUNCNAME} requires at least two arguments"
492 + fi
493 +
494 + local reason=${1}
495 + shift
496 +
497 + local option
498 + for option in ${@} ; do
499 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
500 + done
501 +}
502 +
503 +mozconfig_add_options_mk() {
504 + debug-print-function ${FUNCNAME} "$@"
505 +
506 + if [[ ${#} -lt 2 ]] ; then
507 + die "${FUNCNAME} requires at least two arguments"
508 + fi
509 +
510 + local reason=${1}
511 + shift
512 +
513 + local option
514 + for option in ${@} ; do
515 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
516 + done
517 +}
518 +
519 +mozconfig_use_enable() {
520 + debug-print-function ${FUNCNAME} "$@"
521 +
522 + if [[ ${#} -lt 1 ]] ; then
523 + die "${FUNCNAME} requires at least one arguments"
524 + fi
525 +
526 + local flag=$(use_enable "${@}")
527 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
528 +}
529 +
530 +mozconfig_use_with() {
531 + debug-print-function ${FUNCNAME} "$@"
532 +
533 + if [[ ${#} -lt 1 ]] ; then
534 + die "${FUNCNAME} requires at least one arguments"
535 + fi
536 +
537 + local flag=$(use_with "${@}")
538 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
539 +}
540 +
541 +pkg_pretend() {
542 + if [[ ${MERGE_TYPE} != binary ]] ; then
543 + if use pgo ; then
544 + if ! has usersandbox $FEATURES ; then
545 + die "You must enable usersandbox as X server can not run as root!"
546 + fi
547 + fi
548 +
549 + # Ensure we have enough disk space to compile
550 + if use pgo || use lto || use debug ; then
551 + CHECKREQS_DISK_BUILD="13500M"
552 + else
553 + CHECKREQS_DISK_BUILD="6400M"
554 + fi
555 +
556 + check-reqs_pkg_pretend
557 + fi
558 +}
559 +
560 +pkg_setup() {
561 + if [[ ${MERGE_TYPE} != binary ]] ; then
562 + if use pgo ; then
563 + if ! has userpriv ${FEATURES} ; then
564 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
565 + fi
566 + fi
567 +
568 + # Ensure we have enough disk space to compile
569 + if use pgo || use lto || use debug ; then
570 + CHECKREQS_DISK_BUILD="13500M"
571 + else
572 + CHECKREQS_DISK_BUILD="6400M"
573 + fi
574 +
575 + check-reqs_pkg_setup
576 +
577 + llvm_pkg_setup
578 +
579 + if use clang && use lto ; then
580 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
581 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
582 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
583 +
584 + # temp fix for https://bugs.gentoo.org/768543
585 + # we can assume that rust 1.{49,50}.0 always uses llvm 11
586 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
587 + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
588 + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
589 +
590 + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
591 + local version_llvm_rust="11"
592 + else
593 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
594 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
595 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
596 + fi
597 +
598 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
599 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
600 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
601 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
602 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
603 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
604 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
605 + fi
606 + fi
607 +
608 + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
609 + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
610 + # bug 792705
611 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
612 + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
613 + fi
614 +
615 + python-any-r1_pkg_setup
616 +
617 + # Avoid PGO profiling problems due to enviroment leakage
618 + # These should *always* be cleaned up anyway
619 + unset \
620 + DBUS_SESSION_BUS_ADDRESS \
621 + DISPLAY \
622 + ORBIT_SOCKETDIR \
623 + SESSION_MANAGER \
624 + XAUTHORITY \
625 + XDG_CACHE_HOME \
626 + XDG_SESSION_COOKIE
627 +
628 + # Build system is using /proc/self/oom_score_adj, bug #604394
629 + addpredict /proc/self/oom_score_adj
630 +
631 + if use pgo ; then
632 + # Allow access to GPU during PGO run
633 + local ati_cards mesa_cards nvidia_cards render_cards
634 + shopt -s nullglob
635 +
636 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
637 + if [[ -n "${ati_cards}" ]] ; then
638 + addpredict "${ati_cards}"
639 + fi
640 +
641 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
642 + if [[ -n "${mesa_cards}" ]] ; then
643 + addpredict "${mesa_cards}"
644 + fi
645 +
646 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
647 + if [[ -n "${nvidia_cards}" ]] ; then
648 + addpredict "${nvidia_cards}"
649 + fi
650 +
651 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
652 + if [[ -n "${render_cards}" ]] ; then
653 + addpredict "${render_cards}"
654 + fi
655 +
656 + shopt -u nullglob
657 + fi
658 +
659 + if ! mountpoint -q /dev/shm ; then
660 + # If /dev/shm is not available, configure is known to fail with
661 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
662 + ewarn "/dev/shm is not mounted -- expect build failures!"
663 + fi
664 +
665 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
666 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
667 + # get your own set of keys.
668 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
669 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
670 + fi
671 +
672 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
673 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
674 + fi
675 +
676 + # Mozilla API keys (see https://location.services.mozilla.com/api)
677 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
678 + # get your own set of keys.
679 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
680 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
681 + fi
682 +
683 + # Ensure we use C locale when building, bug #746215
684 + export LC_ALL=C
685 + fi
686 +
687 + CONFIG_CHECK="~SECCOMP"
688 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
689 + linux-info_pkg_setup
690 +}
691 +
692 +src_unpack() {
693 + local _lp_dir="${WORKDIR}/language_packs"
694 + local _src_file
695 +
696 + if [[ ! -d "${_lp_dir}" ]] ; then
697 + mkdir "${_lp_dir}" || die
698 + fi
699 +
700 + for _src_file in ${A} ; do
701 + if [[ ${_src_file} == *.xpi ]]; then
702 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
703 + else
704 + unpack ${_src_file}
705 + fi
706 + done
707 +}
708 +
709 +src_prepare() {
710 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
711 + eapply "${WORKDIR}/firefox-patches"
712 +
713 + # Allow user to apply any additional patches without modifing ebuild
714 + eapply_user
715 +
716 + # Make LTO respect MAKEOPTS
717 + sed -i \
718 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
719 + "${S}"/build/moz.configure/lto-pgo.configure \
720 + || die "sed failed to set num_cores"
721 +
722 + # Make ICU respect MAKEOPTS
723 + sed -i \
724 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
725 + "${S}"/intl/icu_sources_data.py \
726 + || die "sed failed to set num_cores"
727 +
728 + # sed-in toolchain prefix
729 + sed -i \
730 + -e "s/objdump/${CHOST}-objdump/" \
731 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
732 + || die "sed failed to set toolchain prefix"
733 +
734 + sed -i \
735 + -e 's/ccache_stats = None/return None/' \
736 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
737 + || die "sed failed to disable ccache stats call"
738 +
739 + einfo "Removing pre-built binaries ..."
740 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
741 +
742 + # Clearing checksums where we have applied patches
743 + moz_clear_vendor_checksums target-lexicon-0.9.0
744 +
745 + # Create build dir
746 + BUILD_DIR="${WORKDIR}/${PN}_build"
747 + mkdir -p "${BUILD_DIR}" || die
748 +
749 + # Write API keys to disk
750 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
751 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
752 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
753 +
754 + xdg_src_prepare
755 +}
756 +
757 +src_configure() {
758 + # Show flags set at the beginning
759 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
760 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
761 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
762 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
763 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
764 +
765 + local have_switched_compiler=
766 + if use clang && ! tc-is-clang ; then
767 + # Force clang
768 + einfo "Enforcing the use of clang due to USE=clang ..."
769 + have_switched_compiler=yes
770 + AR=llvm-ar
771 + CC=${CHOST}-clang
772 + CXX=${CHOST}-clang++
773 + NM=llvm-nm
774 + RANLIB=llvm-ranlib
775 + elif ! use clang && ! tc-is-gcc ; then
776 + # Force gcc
777 + have_switched_compiler=yes
778 + einfo "Enforcing the use of gcc due to USE=-clang ..."
779 + AR=gcc-ar
780 + CC=${CHOST}-gcc
781 + CXX=${CHOST}-g++
782 + NM=gcc-nm
783 + RANLIB=gcc-ranlib
784 + fi
785 +
786 + if [[ -n "${have_switched_compiler}" ]] ; then
787 + # Because we switched active compiler we have to ensure
788 + # that no unsupported flags are set
789 + strip-unsupported-flags
790 + fi
791 +
792 + # Ensure we use correct toolchain
793 + export HOST_CC="$(tc-getBUILD_CC)"
794 + export HOST_CXX="$(tc-getBUILD_CXX)"
795 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
796 +
797 + # Pass the correct toolchain paths through cbindgen
798 + if tc-is-cross-compiler ; then
799 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
800 + fi
801 +
802 + # Set MOZILLA_FIVE_HOME
803 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
804 +
805 + # python/mach/mach/mixin/process.py fails to detect SHELL
806 + export SHELL="${EPREFIX}/bin/bash"
807 +
808 + # Set state path
809 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
810 +
811 + # Set MOZCONFIG
812 + export MOZCONFIG="${S}/.mozconfig"
813 +
814 + # Initialize MOZCONFIG
815 + mozconfig_add_options_ac '' --enable-application=browser
816 +
817 + # Set Gentoo defaults
818 + export MOZILLA_OFFICIAL=1
819 +
820 + mozconfig_add_options_ac 'Gentoo default' \
821 + --allow-addon-sideload \
822 + --disable-cargo-incremental \
823 + --disable-crashreporter \
824 + --disable-install-strip \
825 + --disable-strip \
826 + --disable-updater \
827 + --enable-official-branding \
828 + --enable-release \
829 + --enable-system-ffi \
830 + --enable-system-pixman \
831 + --host="${CBUILD:-${CHOST}}" \
832 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
833 + --prefix="${EPREFIX}/usr" \
834 + --target="${CHOST}" \
835 + --without-ccache \
836 + --with-intl-api \
837 + --with-libclang-path="$(llvm-config --libdir)" \
838 + --with-system-nspr \
839 + --with-system-nss \
840 + --with-system-png \
841 + --with-system-zlib \
842 + --with-toolchain-prefix="${CHOST}-" \
843 + --with-unsigned-addon-scopes=app,system \
844 + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
845 + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
846 +
847 + # Set update channel
848 + local update_channel=release
849 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
850 + mozconfig_add_options_ac '' --update-channel=${update_channel}
851 +
852 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
853 + mozconfig_add_options_ac '' --enable-rust-simd
854 + fi
855 +
856 + if [[ -s "${S}/api-google.key" ]] ; then
857 + local key_origin="Gentoo default"
858 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
859 + key_origin="User value"
860 + fi
861 +
862 + mozconfig_add_options_ac "${key_origin}" \
863 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
864 + else
865 + einfo "Building without Google API key ..."
866 + fi
867 +
868 + if [[ -s "${S}/api-location.key" ]] ; then
869 + local key_origin="Gentoo default"
870 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
871 + key_origin="User value"
872 + fi
873 +
874 + mozconfig_add_options_ac "${key_origin}" \
875 + --with-google-location-service-api-keyfile="${S}/api-location.key"
876 + else
877 + einfo "Building without Location API key ..."
878 + fi
879 +
880 + if [[ -s "${S}/api-mozilla.key" ]] ; then
881 + local key_origin="Gentoo default"
882 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
883 + key_origin="User value"
884 + fi
885 +
886 + mozconfig_add_options_ac "${key_origin}" \
887 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
888 + else
889 + einfo "Building without Mozilla API key ..."
890 + fi
891 +
892 + mozconfig_use_with system-av1
893 + mozconfig_use_with system-harfbuzz
894 + mozconfig_use_with system-harfbuzz system-graphite2
895 + mozconfig_use_with system-icu
896 + mozconfig_use_with system-jpeg
897 + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
898 + mozconfig_use_with system-libvpx
899 + mozconfig_use_with system-webp
900 +
901 + mozconfig_use_enable dbus
902 +
903 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
904 +
905 + mozconfig_use_enable geckodriver
906 +
907 + if use hardened ; then
908 + mozconfig_add_options_ac "+hardened" --enable-hardening
909 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
910 + fi
911 +
912 + mozconfig_use_enable jack
913 +
914 + mozconfig_use_enable pulseaudio
915 + # force the deprecated alsa sound code if pulseaudio is disabled
916 + if use kernel_linux && ! use pulseaudio ; then
917 + mozconfig_add_options_ac '-pulseaudio' --enable-alsa
918 + fi
919 +
920 + mozconfig_use_enable sndio
921 +
922 + mozconfig_use_enable wifi necko-wifi
923 +
924 + if use wayland ; then
925 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
926 + else
927 + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
928 + fi
929 +
930 + if use lto ; then
931 + if use clang ; then
932 + # Upstream only supports lld when using clang
933 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
934 +
935 + mozconfig_add_options_ac '+lto' --enable-lto=cross
936 + else
937 + # ld.gold is known to fail:
938 + # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
939 +
940 + # ThinLTO is currently broken, see bmo#1644409
941 + mozconfig_add_options_ac '+lto' --enable-lto=full
942 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
943 + fi
944 +
945 + if use pgo ; then
946 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
947 +
948 + if use clang ; then
949 + # Used in build/pgo/profileserver.py
950 + export LLVM_PROFDATA="llvm-profdata"
951 + fi
952 + fi
953 + else
954 + # Avoid auto-magic on linker
955 + if use clang ; then
956 + # This is upstream's default
957 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
958 + else
959 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
960 + fi
961 + fi
962 +
963 + # LTO flag was handled via configure
964 + filter-flags '-flto*'
965 +
966 + mozconfig_use_enable debug
967 + if use debug ; then
968 + mozconfig_add_options_ac '+debug' --disable-optimize
969 + else
970 + if is-flag '-g*' ; then
971 + if use clang ; then
972 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
973 + else
974 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
975 + fi
976 + else
977 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
978 + fi
979 +
980 + if is-flag '-O0' ; then
981 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
982 + elif is-flag '-O4' ; then
983 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
984 + elif is-flag '-O3' ; then
985 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
986 + elif is-flag '-O1' ; then
987 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
988 + elif is-flag '-Os' ; then
989 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
990 + else
991 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
992 + fi
993 + fi
994 +
995 + # Debug flag was handled via configure
996 + filter-flags '-g*'
997 +
998 + # Optimization flag was handled via configure
999 + filter-flags '-O*'
1000 +
1001 + # Modifications to better support ARM, bug #553364
1002 + if use cpu_flags_arm_neon ; then
1003 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1004 +
1005 + if ! tc-is-clang ; then
1006 + # thumb options aren't supported when using clang, bug 666966
1007 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1008 + --with-thumb=yes \
1009 + --with-thumb-interwork=no
1010 + fi
1011 + fi
1012 +
1013 + if [[ ${CHOST} == armv*h* ]] ; then
1014 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1015 +
1016 + if ! use system-libvpx ; then
1017 + sed -i \
1018 + -e "s|softfp|hard|" \
1019 + "${S}"/media/libvpx/moz.build \
1020 + || die
1021 + fi
1022 + fi
1023 +
1024 + if use clang ; then
1025 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1026 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1027 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1028 + local disable_elf_hack=
1029 + if use amd64 ; then
1030 + disable_elf_hack=yes
1031 + elif use x86 ; then
1032 + disable_elf_hack=yes
1033 + elif use arm ; then
1034 + disable_elf_hack=yes
1035 + fi
1036 +
1037 + if [[ -n ${disable_elf_hack} ]] ; then
1038 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1039 + fi
1040 + elif tc-is-gcc ; then
1041 + if ver_test $(gcc-fullversion) -ge 10 ; then
1042 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1043 + append-cxxflags -fno-tree-loop-vectorize
1044 + fi
1045 + fi
1046 +
1047 + # Additional ARCH support
1048 + case "${ARCH}" in
1049 + arm)
1050 + # Reduce the memory requirements for linking
1051 + if use clang ; then
1052 + # Nothing to do
1053 + :;
1054 + elif tc-ld-is-gold || use lto ; then
1055 + append-ldflags -Wl,--no-keep-memory
1056 + else
1057 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1058 + fi
1059 + ;;
1060 + esac
1061 +
1062 + if ! use elibc_glibc ; then
1063 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1064 + fi
1065 +
1066 + # Allow elfhack to work in combination with unstripped binaries
1067 + # when they would normally be larger than 2GiB.
1068 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1069 +
1070 + # Make revdep-rebuild.sh happy; Also required for musl
1071 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1072 +
1073 + # Pass $MAKEOPTS to build system
1074 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1075 +
1076 + # Use system's Python environment
1077 + export MACH_USE_SYSTEM_PYTHON=1
1078 + export PIP_NO_CACHE_DIR=off
1079 +
1080 + # Disable notification when build system has finished
1081 + export MOZ_NOSPAM=1
1082 +
1083 + # Portage sets XARGS environment variable to "xargs -r" by default which
1084 + # breaks build system's check_prog() function which doesn't support arguments
1085 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1086 +
1087 + # Set build dir
1088 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1089 +
1090 + # Show flags we will use
1091 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1092 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1093 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1094 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1095 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1096 +
1097 + # Handle EXTRA_CONF and show summary
1098 + local ac opt hash reason
1099 +
1100 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1101 + if [[ -n ${EXTRA_ECONF} ]] ; then
1102 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1103 + for opt in "${ac[@]}"; do
1104 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1105 + done
1106 + fi
1107 +
1108 + echo
1109 + echo "=========================================================="
1110 + echo "Building ${PF} with the following configuration"
1111 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1112 + [[ -z ${hash} || ${hash} == \# ]] \
1113 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1114 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1115 + done
1116 + echo "=========================================================="
1117 + echo
1118 +
1119 + ./mach configure || die
1120 +}
1121 +
1122 +src_compile() {
1123 + local virtx_cmd=
1124 +
1125 + if use pgo ; then
1126 + virtx_cmd=virtx
1127 +
1128 + # Reset and cleanup environment variables used by GNOME/XDG
1129 + gnome2_environment_reset
1130 +
1131 + addpredict /root
1132 + fi
1133 +
1134 + local -x GDK_BACKEND=x11
1135 +
1136 + ${virtx_cmd} ./mach build --verbose \
1137 + || die
1138 +}
1139 +
1140 +src_install() {
1141 + # xpcshell is getting called during install
1142 + pax-mark m \
1143 + "${BUILD_DIR}"/dist/bin/xpcshell \
1144 + "${BUILD_DIR}"/dist/bin/${PN} \
1145 + "${BUILD_DIR}"/dist/bin/plugin-container
1146 +
1147 + DESTDIR="${D}" ./mach install || die
1148 +
1149 + # Upstream cannot ship symlink but we can (bmo#658850)
1150 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1151 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1152 +
1153 + # Don't install llvm-symbolizer from sys-devel/llvm package
1154 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1155 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1156 + fi
1157 +
1158 + # Install policy (currently only used to disable application updates)
1159 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1160 + newins "${FILESDIR}"/distribution.ini distribution.ini
1161 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1162 +
1163 + # Install system-wide preferences
1164 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1165 + insinto "${PREFS_DIR}"
1166 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1167 +
1168 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1169 +
1170 + # Set dictionary path to use system hunspell
1171 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1172 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1173 + EOF
1174 +
1175 + # Force hwaccel prefs if USE=hwaccel is enabled
1176 + if use hwaccel ; then
1177 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1178 + >>"${GENTOO_PREFS}" \
1179 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1180 + fi
1181 +
1182 + if ! use gmp-autoupdate ; then
1183 + local plugin
1184 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1185 + einfo "Disabling auto-update for ${plugin} plugin ..."
1186 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1187 + pref("media.${plugin}.autoupdate", false);
1188 + EOF
1189 + done
1190 + fi
1191 +
1192 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1193 + if use system-harfbuzz ; then
1194 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1195 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1196 + EOF
1197 + fi
1198 +
1199 + # Install language packs
1200 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1201 + if [[ -n "${langpacks}" ]] ; then
1202 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1203 + fi
1204 +
1205 + # Install geckodriver
1206 + if use geckodriver ; then
1207 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1208 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1209 + exeinto "${MOZILLA_FIVE_HOME}"
1210 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1211 +
1212 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1213 + fi
1214 +
1215 + # Install icons
1216 + local icon_srcdir="${S}/browser/branding/official"
1217 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1218 +
1219 + insinto /usr/share/icons/hicolor/symbolic/apps
1220 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1221 +
1222 + local icon size
1223 + for icon in "${icon_srcdir}"/default*.png ; do
1224 + size=${icon%.png}
1225 + size=${size##*/default}
1226 +
1227 + if [[ ${size} -eq 48 ]] ; then
1228 + newicon "${icon}" ${PN}.png
1229 + fi
1230 +
1231 + newicon -s ${size} "${icon}" ${PN}.png
1232 + done
1233 +
1234 + # Install menu
1235 + local app_name="Mozilla ${MOZ_PN^}"
1236 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1237 + local desktop_filename="${PN}.desktop"
1238 + local exec_command="${PN}"
1239 + local icon="${PN}"
1240 + local use_wayland="false"
1241 +
1242 + if use wayland ; then
1243 + use_wayland="true"
1244 + fi
1245 +
1246 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1247 +
1248 + sed -i \
1249 + -e "s:@NAME@:${app_name}:" \
1250 + -e "s:@EXEC@:${exec_command}:" \
1251 + -e "s:@ICON@:${icon}:" \
1252 + "${WORKDIR}/${PN}.desktop-template" \
1253 + || die
1254 +
1255 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1256 +
1257 + rm "${WORKDIR}/${PN}.desktop-template" || die
1258 +
1259 + # Install wrapper script
1260 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1261 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1262 +
1263 + # Update wrapper
1264 + sed -i \
1265 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1266 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1267 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1268 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1269 + "${ED}/usr/bin/${PN}" \
1270 + || die
1271 +}
1272 +
1273 +pkg_preinst() {
1274 + xdg_pkg_preinst
1275 +
1276 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1277 + # does not need to be forced into the LD_LIBRARY_PATH
1278 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1279 + einfo "APULSE found; Generating library symlinks for sound support ..."
1280 + local lib
1281 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1282 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1283 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1284 + # so we need to avoid creating them if they already exist.
1285 + if [[ ! -L ${lib##*/} ]] ; then
1286 + ln -s "${lib}" ${lib##*/} || die
1287 + fi
1288 + done
1289 + popd &>/dev/null || die
1290 + fi
1291 +}
1292 +
1293 +pkg_postinst() {
1294 + xdg_pkg_postinst
1295 +
1296 + if ! use gmp-autoupdate ; then
1297 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1298 + elog "installing into new profiles:"
1299 + local plugin
1300 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1301 + elog "\t ${plugin}"
1302 + done
1303 + elog
1304 + fi
1305 +
1306 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1307 + elog "Apulse was detected at merge time on this system and so it will always be"
1308 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1309 + elog "media-sound/apulse."
1310 + elog
1311 + fi
1312 +
1313 + local show_doh_information
1314 + local show_normandy_information
1315 + local show_shortcut_information
1316 +
1317 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1318 + # New install; Tell user that DoH is disabled by default
1319 + show_doh_information=yes
1320 + show_normandy_information=yes
1321 + show_shortcut_information=no
1322 + else
1323 + local replacing_version
1324 + for replacing_version in ${REPLACING_VERSIONS} ; do
1325 + if ver_test "${replacing_version}" -lt 91.0 ; then
1326 + # Tell user that we no longer install a shortcut
1327 + # per supported display protocol
1328 + show_shortcut_information=yes
1329 + fi
1330 + done
1331 + fi
1332 +
1333 + if [[ -n "${show_doh_information}" ]] ; then
1334 + elog
1335 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1336 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1337 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1338 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1339 + elog "(\"Off by choice\") by default."
1340 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1341 + fi
1342 +
1343 + # bug 713782
1344 + if [[ -n "${show_normandy_information}" ]] ; then
1345 + elog
1346 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1347 + elog "push changes for default settings or even install new add-ons remotely."
1348 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1349 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1350 + elog "concerns prevail, which is why we have switched off the use of this"
1351 + elog "service by default."
1352 + elog
1353 + elog "To re-enable this service set"
1354 + elog
1355 + elog " app.normandy.enabled=true"
1356 + elog
1357 + elog "in about:config."
1358 + fi
1359 +
1360 + if [[ -n "${show_shortcut_information}" ]] ; then
1361 + elog
1362 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1363 + elog "each supported display protocol. Instead we will only install"
1364 + elog "one generic Mozilla ${PN^} shortcut."
1365 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1366 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1367 + fi
1368 +}