commit:     378e151bc78d66639de234f4d17f1703164ecc6d
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  1 10:39:47 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Jun  1 10:40:17 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=378e151b

www-client/firefox: add 91.10.0

 - bump EAPI to 8,
 - add upstream patches to fix gcc-12 build on esr.

Closes: https://bugs.gentoo.org/846971
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest               |   99 +++
 www-client/firefox/firefox-91.10.0.ebuild | 1244 +++++++++++++++++++++++++++++
 2 files changed, 1343 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 8db5259c58df..bb10fd755053 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -196,6 +196,104 @@ DIST firefox-101.0-xh.xpi 418658 BLAKE2B 
68a9f90c2b92d8ed36e47d73077720b86e91abe
 DIST firefox-101.0-zh-CN.xpi 567077 BLAKE2B 
051b082f6f6eab983b3eb6ac94fd673b80e4db1aebc533240d6b029905d7ae8de39cbf15d7eac67f5cfc9f8370951591f9a6e2153b806e174222447195f3dc4a
 SHA512 
37c646b5c1c2ba49b20dcbb197f8856c2198de66705c11279ac790ef2be25dde843fab1a96f767129b15080445a961079edf4e9d58064f7d521357c596fa9fff
 DIST firefox-101.0-zh-TW.xpi 567648 BLAKE2B 
1b9cdf34a9553c665b38b8b02814fdca8536ffd30da6d92c1ded2d3b0706d933809193705e05578f362f5a2653c88aab5a6c92290f88a55f1e31104d8be18ea9
 SHA512 
0a0680d6fd6d158a7bc0b5f19e24028647b3eb63b571bc4dc4741a2e647fa4d8de4120bf2fdba6481890cf75bf293e7c7779050f219738bbe23cfcf334516e5d
 DIST firefox-101.0.source.tar.xz 490975228 BLAKE2B 
7d819a8d66df38a80929d83ed42bcaf0c3fab431c8593a98c8381a4757776540475ca77fdcbcc144e1ba7c27b851d51da653d375a34a9dbe9785a09d319554c4
 SHA512 
fffe7e0940c1443fcdc5b205677764cb4e04b29f33fcfafb2857d383700584f309806b81fc4989efb56cc12a3cca1ff7d451b647050c43e98777b5c952ed5d56
+DIST firefox-91.10.0esr-ach.xpi 453209 BLAKE2B 
14b4549f563075b1b91e626993d0bd9ded4798ed61a747e2bb11d0f1325fe3d506773b675148f3d4b292fd3799d92e3d9968679000879d7e4ae9dd75bec37815
 SHA512 
eab581d3b6e87f88b5ddeadcf805fc456ba5abdf8bcd571d961609aefefc35aefad841c078485a8509ff679baca516d2425f472a49bbe19fa782d8c8f52bc726
+DIST firefox-91.10.0esr-af.xpi 426923 BLAKE2B 
bfebf65937d882cce010f41ac4e3bf0a91659b03d103a2bcd6975ceb1dfe8e4c6f93d18c9f9ee80b65d29f602b0894006c820d1fced79c38099b100696cde9c8
 SHA512 
b88dc4bb84e80752c1d3dfaee88f829312b063be11abaeb5d3b0a95e4441be7f89ce2fd090d50786bbc01839a08b9ff85c98a4d54c9304259078242187056426
+DIST firefox-91.10.0esr-an.xpi 499888 BLAKE2B 
67b8233f0cd6f3e1a0d7b9a3f98c1f98af4239e11e3b768d7825f11fb4c998bed424e605500ff9d470c1fe525b20a7d6cb28ebc1cf3b7edf104712d71a6a8f43
 SHA512 
ac68029cef8e543dfc7f954baa518cdd25180e5f9ddfee9114fcbff2cd9cc9784f7486c10c38e5c4980cbda5fc63b26d393ec1ef4457731378e48c762d16ca68
+DIST firefox-91.10.0esr-ar.xpi 559678 BLAKE2B 
e109b833d73d69eef943db296930e117003572343287bd877b05742d2af5bf18db3ab0dffc7711ceba72d6e6d442c7ac0ed450d607a90b52a6c91e64a47868da
 SHA512 
583a1b3cbc69956dcf74f27e8cc5f77848b590b888bf29754eefc33d8994b9c4e013c1f080f26e68b3cc3e409882e6ee48786b087d4763ccc544104d37e7c1b6
+DIST firefox-91.10.0esr-ast.xpi 498577 BLAKE2B 
10997c7fa2bbc3a933a892640477b30852a10876880d8c1adb47d0b1098cb94819b8812d2ee85948ad3b9fde8e3f08599302b89f08a6f046e29e0faed27d0040
 SHA512 
6263aa2c0d0455555abc7fecbe2576259493d75faf9f93e7701bd512c591e538905510fd590b93e871155e5fc01aba95188ee9a6b563cf3059d95ec1dc8449b2
+DIST firefox-91.10.0esr-az.xpi 489429 BLAKE2B 
7919b3733e6f2be5fef1b8de463e81691c4e24c7788bf05b387e994dce5b9e8b0723fda93ceb4f081890d51065dd0dd86805a81f58fc2fbf9b6031fe97fb5fea
 SHA512 
e52aeedd4035fb52a0110bc929acd3f5c57aed4a700810ddcbbba25bcd68323cd13bdc2a67c3d4c8ea6bd2e258efc98955bc2abcb54cce981855c89e070b0ba9
+DIST firefox-91.10.0esr-be.xpi 622605 BLAKE2B 
2e46be354910fbb5af2d6e29c442ab0cf611fa09886350840f491959e64f361f58b0faea813f312e6cd13fbb0ba3950317860686b575c4d8bafe3a16212d05d3
 SHA512 
f57cf538dbba1350676115da5e25847b5e1b6eadf6c89bf10fa6122af8360f41e5a4c183f54aec149b3254096e0b4f40fd6ae91e077324463ddb85793cd36ade
+DIST firefox-91.10.0esr-bg.xpi 567639 BLAKE2B 
29e8bee289cbb144dae289071b1580ab75046cf10016bca117307ff07bb8e2c5243dec814337592f6d3c8f6e3145402a94a7a344ce3f571ebfc49af6be6ab1a6
 SHA512 
a238a676a8cbf7743f438a13b271721a3df76bc8f0ce7b26b17435ba4957c5f01fb09fb34ca597c569826f3a6257bcf750028a22205d0ca5c7cfa26ab35da7ba
+DIST firefox-91.10.0esr-bn.xpi 556819 BLAKE2B 
167b4c1c48c1f0584e532258a9f4635404fe91706a4a509f0f0ec5dfdf03b1d83cf48ed9a5e1fa36d65e563d6d491876a9a5eb56c1c263c4f61cdc38da339f7f
 SHA512 
f94a61f3fb70da5590f9ce3224386855cd05bbcb5c7c51c8933f8c3c7c75cadbec858e18f0bc38d2150f72c40032e3b3a4795b6f25243978d83c3e2df829f69f
+DIST firefox-91.10.0esr-br.xpi 526249 BLAKE2B 
c0a399ae78ab1c8a401eb9a08d8d81ec1d059240e4d14173485417bf438acad81919a61b084f515a66768bb7aeeb2a3d8f5ec338f6ac85e2d9652cd94cc71c77
 SHA512 
a2bff7bbc7477a8897735c50e9217f1f38994f868f74e4ed0d252b95021bdd87f9a88e4e12c92bf293bad644ea1e6c20afaf5e94ad64cef0a1b1c9de04db6e9b
+DIST firefox-91.10.0esr-bs.xpi 463548 BLAKE2B 
273b42583f5cb84a3e9574893a7d7121d1f3d183fb823f9cb11f33772003684cdb0211d4c01c72220f4f4c75c50e5d4934f46ae8fbcd609416d0a9c4c57be47d
 SHA512 
e21b4c0b4ff71b56401639e8be8701bc34fced4e3fcc3a29be3641bcf2b860f1df6e331f34e9406adff4813c79a089e0ad9403431b87f786a997c93567202b69
+DIST firefox-91.10.0esr-ca-valencia.xpi 529389 BLAKE2B 
30715e8475882004ccc4897cf04aeb8acc663bcc5a0765643a8a3b1d42397e6a63a5450c461a576ca572ebbb91c0fb38f71af8aac93a21f29b09a80d3b12ed00
 SHA512 
79e9bc156957e70eaf999f356da1c2be405891af4b748121707ad8c644be3b1203f359a6757016fd0e43eb4484adb42242712a6aa76ca3b037121d926b3e1796
+DIST firefox-91.10.0esr-ca.xpi 532471 BLAKE2B 
6d485566453ac2b3ea1a465c9a906b1eb4a9e98a308f1c8c3ad8fe26804600de6bb3eed4b421fa7e98b98ecf0b4367dd49e21a33751b4fe54ce2e30de6f751c3
 SHA512 
41cdf1ea11b8b83888dab1e4a1dddd5e2a47b485a99afa28aa146105452d319f95126545274a2eac98116222cd63882b09ba9fadd3fd931fbf486e288d8bb249
+DIST firefox-91.10.0esr-cak.xpi 552604 BLAKE2B 
07ff125597a09010b1bbd81d0155b35e247a398f5b028110758860f7a42614db393de4fc439f7450885252df3afd65d8c2ee2166f7b9c31a5f207cab8e969459
 SHA512 
04bbba3aa9afb0fdd387ff1daeccd18e3248e49532779cccc1976408b0ac7d87c96699142f42ed6f2783a04e18fba3f038e150ab53fe164c36643895fcd8348c
+DIST firefox-91.10.0esr-cs.xpi 563183 BLAKE2B 
abd311d14d4224189fd873bdee98f4ca9e74bdba2b45904f1bdb9ef526fbcc7c5c48c419602075d04d18b06af431f5732ac966aa9681b52e00efe6d1cb883136
 SHA512 
24276debe4681f1165c9651cf86717cb3e6c28282e682cee27ef2696e94990bbba1e1bdd964cbec0fb709f748bd095af3f4accb3b1f401d7b1124bc0a70e8a41
+DIST firefox-91.10.0esr-cy.xpi 542210 BLAKE2B 
65f3255b6eb61ff0753816624bcaf5eaaba2d21559bdc8cab77a017dad7584ffd35d70e62fd8aff45f1758f066b63df61c43a836c47ac81ba15f20fe99fd82d9
 SHA512 
823a35361ea82709e3e1cf5b57177e994b99497ad98418fc8c6b1777325aa9a202867a41707c60f78cbfa029331420104784b8499e5f6b897b4be23f4371cbff
+DIST firefox-91.10.0esr-da.xpi 534156 BLAKE2B 
6a14678ca9c1209c7f00d21ac5da418217d2885b23b5d2523dd2fa3ffcf52266d6b68aa65c3ccb9f9f108d2121a9e5a95a475911f466fe50b9ddfd39dcbdff71
 SHA512 
4aeb408f7309d12cb151916084d5f8975f912256a1ab4f1692bc186842cfa8885eda3be7d9b1504d99e922451792e8ae8af946ffdc48ad256827bdb63f4f04da
+DIST firefox-91.10.0esr-de.xpi 553581 BLAKE2B 
c0e183960495fb9549dce473539eab5a1f40e2d20253047d37e849231117c0782bff859f85b595198a13baa476d9d1cdb56e6a3bbac9079056dcdc106fed970e
 SHA512 
760d0f0ebf6cf26e0e79a7bcd34c129a4427d5564291d6772099746baaebfa7148afc4f7ce7fe4af3f09b5e1f5bac99c43a414f18eeef6679cc251a8ce100148
+DIST firefox-91.10.0esr-dsb.xpi 566488 BLAKE2B 
323186fca07427b6acd26b5df55f8cd7004bb86a97cfa52dd389982cacbb9f37418ae09cc945825f5abec7fe7eca23209ece6839c0a1068100324963824ad59e
 SHA512 
4c8a29305dcba4591116f1a422915b23aa31d2f0cfe388ebae058222745417e2308bc2cebcb4d9b593c7f31b7615e0503ef61f1dababc6290db3109cd6e9152b
+DIST firefox-91.10.0esr-el.xpi 639150 BLAKE2B 
66189f74ace2c977144333864bbe1338571ffaff5b5cd1e58a842d826964b2f3c1a3a9f3767afea1a75f61189170e1915dd8d126335c5b950ddfd410adb77783
 SHA512 
9a4b9dda7cd508afd16497980f750b8fc4d1c1dc586efeae4a0682c3488b1e957010744a23e948022734763aa8c0bbf11292482048e08ff5fadeb807d6c0fac2
+DIST firefox-91.10.0esr-en-CA.xpi 509577 BLAKE2B 
5cbae30dab01a6bb2e5b7c7c197b5ba032cb8268b2252b74127b95e5061ce14d2c501942bfae86678ad11f8122bc1e85212a8edc540c50d6f28b13b20b81e3de
 SHA512 
fc62ac2377adf9b43a448b0ff8ae6dad3013048419e51884bd5e194ac6f5eddec4c21295690410cd0688638f2f47555889e1cc592281414e637f30c8e20410a1
+DIST firefox-91.10.0esr-en-GB.xpi 510584 BLAKE2B 
59b087618fd0cbfe3b82fc4dd8c711d82c19e71b6fc2f43d0fb5daa847da0ddccc58f47ab5d762b1bbd0396431acff39a30a244fdb375412badece730544d125
 SHA512 
068b0bb9426b3e43e71a6ec46ae730baa967600fe23f8c7ad14f0413b336bc47d851643b5b6c25b6bd4eab4acf62bb75b86fab96f97fed7b685a605cfb578ec4
+DIST firefox-91.10.0esr-eo.xpi 534802 BLAKE2B 
287783dcc557f0582f25c863e94f840061ad0f497ec78e6c21b570f4437e26687cad9a4cb0a18bc0e1e0758be48b6a673a4b82b1e0f90a3bb585b3993e587df1
 SHA512 
eff66e746a36df76fb8f01f799e5222e14bd1cba6c9454132d65bf2d4ee7b676d0488f3407846f1352693656e789c3095729b63b4f69a9909a44a3c0d2a4d5ea
+DIST firefox-91.10.0esr-es-AR.xpi 546687 BLAKE2B 
179965ffc11fdb9ecd4e72847d47f7bdd9d536d0f92dd8d41fb2f68ffa48f4b6d24ce045876d6bc5e01c6a07ca59dc5ba7a9855a5be48ef8eaa3b5dacae5aa3c
 SHA512 
e3800b508ff7778e7e7377b57ef8ad18230e42d69aca0d657bfe6c7d6689b98b71fce1d8886cd09da869ed5b8b988f27c83d83e44d33d5edd06de13a68f6213e
+DIST firefox-91.10.0esr-es-CL.xpi 546378 BLAKE2B 
92884da8d4daec8c3f53382213d5452ed470e0aa7cd97c565cdb09cd414afe26d71163e6d9bfed88ad2ac1330c345a4cf6a0a9c78c89effb7fb80766c44bd532
 SHA512 
301d5dbdcc0733a10ea3a14618abab092f87dd094d742b3df60a3d68140150df16c4cb39fb7b3a4a5da22f27dea51bb71751147f5e247ebe4732e6890d658c45
+DIST firefox-91.10.0esr-es-ES.xpi 537071 BLAKE2B 
00ff613346d19492657bde4a54e7cee871bef9660083b0304871fa832a401abb2fba2314b573c8241f04e012e4b5f772c6f259306467efbb7fac84fa64cdf6e7
 SHA512 
aebdc2c3f587f3d6b9ada6d0add899db8c621a58330c96815f4aed17bdc07b26103a36fdc9d7b2d3cb391d5701aa4f6599c5136f0ee2fa83f02d12d7904eb5cd
+DIST firefox-91.10.0esr-es-MX.xpi 549997 BLAKE2B 
d26908e829abb6f004aa5ce490e6ad0d62072b5e54393a98449745b5a30cd97b0f835a873a037fd3cf58d50131004069e315f2f936f13feb8e39c4fff2d18b86
 SHA512 
5d2b305f98bcf5ea17ec3a980a6456c0b461f69c3862a6794e18325059b880f6ec8d4f476d1943fa6b25a7327bc39aac0bb434785ff4b6c111179d54efc4a353
+DIST firefox-91.10.0esr-et.xpi 506667 BLAKE2B 
e0ad3f7abc63dca3325bac67ea506ee0d069797a5a67f9b5e7a97fa01eb515c8cf664220a6149f4cef22576f96a785132f3e37124ebdb2cd9c09187a5bcd3a98
 SHA512 
73168dd4dcc480c1f940ebded44bc9eb2103348775e50976df02f5a4003095be3cdaf28d6230e80067675d23158061c63ccaf6860e3980b845639a7a7433bd70
+DIST firefox-91.10.0esr-eu.xpi 536327 BLAKE2B 
a9dc75cb52d710a7b8659ad26b1d2290e32114bad896212230c7e5db49a85be88fad1ac6b09e0ad73909b8e19271ab45cfbc0cf921d6996ff6a5462bf06492f4
 SHA512 
1440c2932c02bb76f1dc0255316381b2cf060d19fd113a0477bc3cd1ddfc5effe65688f45041af9dc572a05d283ae4000944ac465ae61edcf8f59217155f9347
+DIST firefox-91.10.0esr-fa.xpi 559376 BLAKE2B 
9e8b7dc64eac66b5430d867428e315b75ad5cb1e89f093924e53f84277b42be3fe5dffe6930c0bc156c76f250a9219ca1409d90b9bdf4a7b75122ef188494b29
 SHA512 
bd8bd78eea80cd11a1c95ba51f65f1b6918f670e849feb4d79d3d7c1107ec4a4caf335fead1d1a818ad5a4062b1bf8ebadec4de579b51fca95fb87a361bd9bcf
+DIST firefox-91.10.0esr-ff.xpi 471867 BLAKE2B 
8791e54364182abebb21ed9d4c6a4a1941f0feb1bbf37190b8f77d39fea9081da05720f0ffe1ba076261f634a5f878e6d3c6fe1d08d43005a28f2e7ea4c2d7e2
 SHA512 
f7b887108ee458abb5fb8d790e0e0758a0ddaacdb15e92fac219bfdb9a670cca74acf69a72b4211748f9dd420be3959a2f9607de4010ea9a8bf747ef468147cd
+DIST firefox-91.10.0esr-fi.xpi 531473 BLAKE2B 
8a688aadd3a9c2e455006e45dc6dfaa07950a24bd00dbaf15ff3aa35e0dfeb972ce6bb8e43a8edf8c5407af167f3b39b894bc304fecb4de7ac4841068c327ba6
 SHA512 
efe0c44beacbbcf110133af732a824332defd096c2f1e992a2af991574fffb63ac2c0d1b53fabc97c027184172fbcdcaef4ac5246b58399f08dc2d3cc2235222
+DIST firefox-91.10.0esr-fr.xpi 557615 BLAKE2B 
879b5b16570f613312375b688f9ade043a50b7be1d0e2b36ffaee20196e498f01a9f975216986c1e84fef2dc1e5892aee1ce9084515062143cf0b8b3b9c344b7
 SHA512 
9c02d2615575959e42b1a2fb73486d31b3a94614619e4e24439ceb98976709c47043279a6171b7f7d564649b8ce668f0b3b62d1df8e4fdd6246f9d08b6683453
+DIST firefox-91.10.0esr-fy-NL.xpi 543301 BLAKE2B 
88cebd6ec0d1ff2d472d20a59631af7af363c085542569d06ad2a2d180f2128a17b25cf12686f63f2e61f0447c59e461cc232d2f9f766c6f12a495470243a1eb
 SHA512 
7d2c4765539fb1b53c41b557e64078c08977c4d015b2011a90cc4fec8954c63d73c08ddc9d2ea5033c648bbdca58f38ad3734921e5c52cd918b2fb0e1891444a
+DIST firefox-91.10.0esr-ga-IE.xpi 459826 BLAKE2B 
0c93d02708369dbbac4f4368c20be55ca746c1bbaa0906bae29b8a000ee5cd655fe9a7234e2f53fd36fc40968c2beaaeab6642a1ac78c621a93b26352bf3d858
 SHA512 
f37c152dc2916ad3f76d2ba73adc4665b029dae19a0411421c4191a4533faa29e52d159d4b91a71d95c3286548b0843ee33a8946d70b0236790e845f52ff2081
+DIST firefox-91.10.0esr-gd.xpi 530858 BLAKE2B 
c4bb622c7dfbef70ea0b559cf19cd3d4de3d4b832e2330fc55c3671fd787b689750536ea1b51ef86bf755663417eb11500b9bde361c3df089ee97c7d2eb78975
 SHA512 
13c32568ab40f55af053f89e12d76df0ef078aed33f52e55795beb277571a052a57db5775193ab60be023aab0bb7d0f4bb9848c3bd44c296417c6feb8a341aa2
+DIST firefox-91.10.0esr-gl.xpi 541301 BLAKE2B 
96c8e2db166de1b5127c5c5f401901d34ec5b60fc98513470c1382a4be15856fb55d58cb7cdd494e4ffcd5900114966b2cd1d2932b6af94e7b6856ab3f3e34dd
 SHA512 
4125fe9323a63311a26ae68e9bec03ae2a1d3497a21a72a73bc461d629fd4605fc51e08dd5b5ec427ddd272342b40a58b08bc6e0664d7374a98edc28e3865df7
+DIST firefox-91.10.0esr-gn.xpi 557606 BLAKE2B 
7c504fde30f0aff5a45606438bcd2a0bcda9d8f9d20219c330cebebb6a78cb7293b587087a3479e8122deb7339986f71b9752760ea733cf078f607c5a7e7aed6
 SHA512 
33e3eb66f53671886c82832bd6879e325fc67aa9753af9ff3bbb001799c04f09f6be92d831fa973bbb4f582faeb73b50fc2c7819f04fc694c09b986c3b2aee6c
+DIST firefox-91.10.0esr-gu-IN.xpi 529539 BLAKE2B 
225c463ff8505f034cd6410ca4b9f6a69eed80ddf50c89a398ebdde2c037373494b0175fc9a9a39f5c366eb19396e94661a801f8cd2e341d260fe27737343bfb
 SHA512 
acdd7c2460b312ec89b7430d077974328f7302c1536cbcb8c9254dae75634b2694c4fc1aff49674a2dac76a07a7857af7a1fe3bd5048c9abe933753daf0cb581
+DIST firefox-91.10.0esr-he.xpi 557201 BLAKE2B 
5141f2d0426b9426e79c8ad1ddf05e3d94fdcd87dc8e19d76969a1386f6fb6a0953b1f5b6ecbb195b481320c2105f2a62cfc134f8abc292059f46273e94e3da0
 SHA512 
d6129aa406019c2d3eb20c081071f37f96da6716a1f869c46e691a3ddc69af122c1a82aa67ad1e712d383781676e040708033adbcde297508e0f190e98824e00
+DIST firefox-91.10.0esr-hi-IN.xpi 560651 BLAKE2B 
2c845f6a471f5ad924ddd5123d29c62a6c882242874fa05415d3dda012152a4916870d5ddf7b8e76e20395dafa55a9c53412b30990684d6926122781dcfa4c6e
 SHA512 
6878e89f166c0c0d85fbd9e6755f20fde51562e13b9f5c2425be836605981caee405949d90c570a8dc3376f2fb2a7def33692469471878c2ca070e16560ca7ed
+DIST firefox-91.10.0esr-hr.xpi 530053 BLAKE2B 
c8bb37e92df70dbc836f89afdb46c27bf8392b1d081501231fb87d8c8e901cda5da4289694c45e04a2cd96901da71311c57f8f16be5fb701230ddfa4ac0e1c33
 SHA512 
dc983147efa992d720bfb8d1da5fb929f2ecf0f188345bc8334444c5e7c9927824e369885c9bebf3729640f2f06119da8120296a0ec0bd94162d81477c1b9bde
+DIST firefox-91.10.0esr-hsb.xpi 562629 BLAKE2B 
132f53274f2f32eb0d5fab20a9f1155fea76eaecafd8e1bcf5266e1e2fdcae0190064b2bb4fe0607633e0478bc23f75805d6ae9450cca2c3087ba9a45cd48561
 SHA512 
c731e98e96b04f426068425a2d0d83abcaebc2e2e55076e1f02aa21e4edde52fd08bcd61035a70243fc7732844688bcbd9cd24c3e91549c82231765b36232f9e
+DIST firefox-91.10.0esr-hu.xpi 566076 BLAKE2B 
66149533bdddf48740b99f3e4ec0c230a4af43d9c70f59684b7c48a8bd5e5e2c0148e0134f8a910dd86f62818347968808eb7bb7f1c5e6ee9b71dcea0323b326
 SHA512 
9670f1a29b412ec5d0a1ef87888d8876cddd9d2162a53019959fa188bd623812d129ea1fc136364a2660f2dc5d2fb5735eb309e3ac33069f386129d57d8d1dea
+DIST firefox-91.10.0esr-hy-AM.xpi 579759 BLAKE2B 
42b010958b26fb4e5cb341c048d02fa70d45d7ce4850fd85e8c12d8c882629d780e74a65a9b76e66568e0ba34c8e63a269003866008203bd694cbb367954230c
 SHA512 
e300b92183ef947a5936bb914881a104d74731f6cb9480433989541df0defaf79037f8f52ccda2438eeea1ae720a389304b5820628efc3c9966e0e4cc7233d5f
+DIST firefox-91.10.0esr-ia.xpi 532146 BLAKE2B 
038ab2c78a3ab9b4b0eefccc2dff3d3923d82b6a2d5febbd9200b114f203b0065564cbe41a83d3d29a00e298f959ca158f059bbeb2a1a48a21a60f4f85df19df
 SHA512 
df26efd5b304f3857e50117973f190f135f40d9b95c5e200a6bee8127b05b30361cc3592b02ba942670034ce1f4b781ec68539496924fc0aaf2795cb52ba71ba
+DIST firefox-91.10.0esr-id.xpi 519823 BLAKE2B 
794ae49c7c6380157d77a3bb7397228c6e8bd04b2d30cc4f431657c41160c6ef805053b17bc9b5b18b0db86e891427d14b08d572ca3ec14f17afa3567a796bea
 SHA512 
73b74193aed945db3b8b2ebb56759f7e16cc8df9a2038d40d5b3d70acb1c978c8419bba9b99a5c74ebaee9a216ae6830a9327fbec53deb5b87540c00021be117
+DIST firefox-91.10.0esr-is.xpi 470229 BLAKE2B 
ac06af247e5dd9185c47af31e1bd2635a4228a74de0e4c5bb22f059e3b1d98c3a2bf3f2e5d7a942564ba1c24f80504f89dae0a4e3c598b3a9262230a12fdd4a6
 SHA512 
f1e255eca459eee380aaccb935e24d1a0d3577ec55e4df5c0930fd536d3f0de952a40390ad621e3e176fdd8476430921602925d5c00921517a9487e2a1b8755b
+DIST firefox-91.10.0esr-it.xpi 459085 BLAKE2B 
32564b93bd34c2df64f48645f6bbc8f3d228b75c164f752b4a65fc31ee3a53e0c32212b5b199c9988e2ea61a4d1664c5ffb4043a76c5842d4ca65daa32c346a6
 SHA512 
228e4a140d5f8e8b58491dce994e355ef7093f07398c76c4fc7390bdbd2a21c82c5eb1fb06d17ae2207a5ed926ede966e299d96d207629fd7e858ae1aecd2a6d
+DIST firefox-91.10.0esr-ja.xpi 588079 BLAKE2B 
8894158369a45dae6a1b2100ee30f48a7eb6ba4b3ce7c421119a032541f44d8dfd02c3ea771c30b58f1bb9e695f0279c8fd566395e71f974c757784a69604480
 SHA512 
5fe5e4b4ee4526cdef4119af2d5a4dcfb4a4fa98272bc7b2f326c4a39c9d3e9dc2d72592974c23ec80b23235bcc5df75cc9581c91ae820bffe677f908c49e3c4
+DIST firefox-91.10.0esr-ka.xpi 592255 BLAKE2B 
24d6f95242f5daf2f85ad63239aa24379bbf01ac6ed923eb7ac60a8f11a6415af4a47d9232bebd00f9e093e1a0cd41c02425130ee844e8b6a6477dcd0ccaab46
 SHA512 
53fbcdd2cd01ae0ab181b0c70c05ed50a9a6239a3b9e0339e647dcad562043b37c2bd0a0d544672cdc357fa45fe5c276d2cf77bbbd1f21945e5045784bc688c8
+DIST firefox-91.10.0esr-kab.xpi 545012 BLAKE2B 
c8069b231a4909841915e7feb26dd6222e08964ea926bc5516d32ef4350972a33c026899f08e9955f57bd306e02f0a295c6fb5bbf24df91f44b4fb6fea487e09
 SHA512 
3d94f643c90830acc84e56a5ae493df083bc91ebe4cae1acea454ad67528ad2e711ae690447c0e6d1c2a8c3f9cfbb0f6b31d3c231418327c04c4262a9f656bde
+DIST firefox-91.10.0esr-kk.xpi 605552 BLAKE2B 
c2d5efb8ddb10ac5ee211fee08cc2eb8f18a4b34e835b8350cf13bbc99ebc20c0e4ae03efcf64e195543319920aacf5b3367ef7c2a3823acbc2e3bb750e505f4
 SHA512 
ae68a9cc2297e6da1c286d47f0ea29cdad38d0ea864c03d4dd06a456bfd3a2214e9b63f45359908622f5b08956685b8cbc31a121c28087604b0f1bdb09172996
+DIST firefox-91.10.0esr-km.xpi 533116 BLAKE2B 
7bbbdc28d1021f579b842869a82fb71bd9e528bc9e529b8b77fbe0d566c36bd6399ca881d15bbf5818c881ac4d2f59436c1408de9aa07b543cff4c1f5f42419a
 SHA512 
00ba517e7842921aaa5c81d237d7f96bcf72380305863c1d4ae55c381441bc29dd6d882248571deb1e5b54c6e6965d806fe8b0930c25b45ee929ac679edc83e2
+DIST firefox-91.10.0esr-kn.xpi 498973 BLAKE2B 
3488ca7b7c831a779170d39d57c0cc3cfd05935acff632972f81efcae42845f2a3ef671a3ca8e62c236a9ca3b3f6d45d6e60fee9a03410903426ec42b13f92d9
 SHA512 
db43b329c80bbd639e4711cc572a4a7fbe604a9b5c1d5a31e81fcdae0bf440b7a5bff4ca4e76443366980783a45542877d94dfcf36a83ade978533fd33292365
+DIST firefox-91.10.0esr-ko.xpi 579053 BLAKE2B 
27b001322f3fbafd8a11cc3809c5342877fe92dc5eaf5011400a4a0576f7a15c30bc5bb87efabc9dc12fed42c2813a35e0b90cdea0958f8c8fd94df9e1a7e7a7
 SHA512 
c3ae94561d2f50af38185d771d79597d516d97da9724db346ae304061515d721af822c648cce85a2db37fd6216573283043c6c42d3f4242ace9e371f3ee19d0d
+DIST firefox-91.10.0esr-lij.xpi 470176 BLAKE2B 
f729ec2b1e3dfc3fd29afdf1bc5f537b84ecad76f72800b44da6c4fdce621ba01cec9eee0a842b66eb0a24ca9d56d34a5e3982f619a1ab040b7cf8ec48e9cb5e
 SHA512 
43fb845ec99e1a20a0f860b6a771ee1364958c4ef46c5158f4e09e1fafac045a9bbd093249c102c9b57326dbfdee7a9fe148139f34814114d303381784569f55
+DIST firefox-91.10.0esr-lt.xpi 560100 BLAKE2B 
fadb0080af0c78c04103ecbe2d2c6c45221c0c3438c1bc97c9e979617838d38b741abf1f4844958efac9ab298d2c39e4fb0c240f02f71aa728c9325216148e13
 SHA512 
0873ca244a688346a74474202de1b0d63ffbcbcdab7ed8938467f9f8340c3be757720597db3121eb9b2dcf9fdb4191787f7509cee4910aeb8cc119007f82d2bf
+DIST firefox-91.10.0esr-lv.xpi 462452 BLAKE2B 
5e6c79c39a319236dc320e333471ecbea4eab046f74a0752d60c2eecf561c229c20b18d23e47b4336f21f05c43c537f63f760dbde55e26aa695354fe62967d26
 SHA512 
d2d6ca0a55942a10692ad8d278e5ad69f585bb392bdc09a0a601ec43e36aec6750e0fbe54851cade7018b2373c4089443554e3b7fda9b73c7c3a13a17a06fed6
+DIST firefox-91.10.0esr-mk.xpi 465341 BLAKE2B 
51627496d199ffd93e95ec4c2e367574f6be83cf36a7723127aa31ef6fcc66cc024899bfec689443e375d8d42123777b39b56079d2442c3d84e3bd09cb770564
 SHA512 
b4c4342f40729bcf5a66a120179328b0ff5542cbf25d6478611370328cea8cc597a6aa729678a9ff52374b68b2a27cc04702effce7486a83fc8b7340aff377f2
+DIST firefox-91.10.0esr-mr.xpi 532131 BLAKE2B 
0ba5130a85db83137ed3063879714636ef4f60c811a76f031a1f53fa48d567cb06bb6f710c06f8ce2d035e7bebc6508f6f43ecf58ed477c459f7f1ffa6fe04da
 SHA512 
f124ba3a373945a1dd0d0490fb8ccb3c36909b2772b60384d32520c00bb69f425f037a51d067d8114f85f5189793da0b1a2b909a64afd825ad6ec3a4da40e075
+DIST firefox-91.10.0esr-ms.xpi 447351 BLAKE2B 
e3c5fa267f1db84ba5c9e582951612d6073ae3357488eb6f658c90dd8c03e64f6d4bd8aa83b61be2942986e7bd8c66d68e55c695bc2a56889377ec2d3f0065ac
 SHA512 
477a7c7ff39dd077462cb938c7ab2cf4f073c60d0d8e123bcb24ac9cbf3a0f4db0e51e8d0202b7b6facd92e8987b3da3947fac428a3ecfc1433b07d162bde64d
+DIST firefox-91.10.0esr-my.xpi 516296 BLAKE2B 
c1fbf976c3192674eb1817627d06723a6eb159f4b17fe3449f34ea6f1fe6bb3477ec6dd73119f7d9efcb3b4711bf894021641e5b8d972ab0b99f1fa9a2bebc72
 SHA512 
4dc5c8c417b1fee1c9d33604f33e823443488e2760207ca0c3e09d814a019d7f34206c7f4661522e4d35d5bc47515a7aadd1356e2f284dc7b4a21013c08a00d2
+DIST firefox-91.10.0esr-nb-NO.xpi 529424 BLAKE2B 
7d9789d0691e1f832bca084d1d9d9395beb6f2e57828aae714b084a5c2e7e6a27deba7f719f3fd306f9eeb6603126dcac10cbdd5736741b097f0ad5011932467
 SHA512 
2b83c83f50c95e576587f5382feb5cdc45b4e67c91f9a30a5300b446f2821761ec89cd44fc3abe5f7d5a06e3a29aeb52192d1c1701e52f938a1adab4d6f9fc0a
+DIST firefox-91.10.0esr-ne-NP.xpi 485212 BLAKE2B 
42cd98de4d28dd84205f1eba61e19c6e31b3b269487bd3e016c80335751b041433e9cc2f7b730dcb79f1e7b355914e752792cd8ad14601f01605c4d107df2c2f
 SHA512 
1b0cc3b3c7c4e474d3de96d47117a362989026a1f3e0e04006e40cf1f68a2ac80c8245fbf1288abbf6f89b26e1a5f63bbd583664a9878dc42aa3e066c9fcfe5e
+DIST firefox-91.10.0esr-nl.xpi 537394 BLAKE2B 
22ccdff6dac4b1f8f6301e14fc09a4da8696703147c14b79a539e0108127e72bd13fd6b52b0b80d776fd731f225c322e4545b7d300bd844e4af1b6e49b7e289f
 SHA512 
0a61f71240bf59da85709184bb177398b2d750e34fc1aeef33c1cb99328a661fe8e6777104f71264f3bb995abbaf1d34ab2dadce166b92239f01c1d4110cee07
+DIST firefox-91.10.0esr-nn-NO.xpi 531676 BLAKE2B 
4cedfcb143b7fdfa6007fe645b4ed80e1275ded862ce3be8cd8df4b3e9ce52a16b8968486275026df2c672c293735d96df28ba378b4939ff7c98ce7fc23aaee0
 SHA512 
a119bdc76ccaf2e1b90ca16f7b3a5b74592f9cd98e948be68a71049400552672c92d859591dba0b293606e47379233a3a6b6722f52a8c29b76fcaa39a9e1b40b
+DIST firefox-91.10.0esr-oc.xpi 552957 BLAKE2B 
f9c03080c0354177cc9b4878e233171025ec866f2af18aaba6dd3856cd3c3104822ece0220eb21c183a35f19824a8399fe6ada7bc63039452b91e44abc245731
 SHA512 
db9e5ca3083abd1821f73b989b134f0b318f0a78f3dd1e55efce4a82b996c793671ce2b64550d8030a3c1f0baf3ce714cefad2e70fabb2f144ea4c2416e28a5f
+DIST firefox-91.10.0esr-pa-IN.xpi 595976 BLAKE2B 
7836497ea23383da342b8645862c22e431bf5e85d3af262fec250d445f91f857a2b048d7661ef638102ff4b01a28892443be6fe1424b510f5934298214ba86cf
 SHA512 
a03e1be488ec30b84fc8413347ce650db6131cf332c0ae99ae7dd3768eab8bfd700f976246406c5d223b82a9792097e6ad3aaabf6ca5ee09e0301d1b533e26c4
+DIST firefox-91.10.0esr-pl.xpi 555623 BLAKE2B 
c929d2f0eff13607022cdfa0bb0dae0f4987bf3d9ba64f0432087a726a9fca0e59a1b53edd7aa08a350992c2e2ef8d47d8aea802a45ee7a2979fc2a27b4a1944
 SHA512 
f759ca7cc8dc05fcfd6496b44ccbffd656234fe1a8f70edc19912ef19c503072618a38ad321c7030829046e53a5d704a0d789ba09a043b3549af95fc3ac889ae
+DIST firefox-91.10.0esr-pt-BR.xpi 542617 BLAKE2B 
c852980429bbd5a0cd56aded1183f04173fe1cf94d29c12a952afda844ea6da51b8153b61a2433e67f9ef57ec383b834aa1a116513f8f02d21278d739ddbf5de
 SHA512 
29f85f6f9ce89c1dc1b8f054a40ff4a53b6fc0b13957dd7deccf320e7b65f2bf610bd3a609832e7d2913a0d00860e94ad3d32987e4da83533526a971cfcc2ad6
+DIST firefox-91.10.0esr-pt-PT.xpi 546349 BLAKE2B 
7268d2426dbec0b8c53eb8c8279e51cc84ea4811da09b136a1124dfe65c6bb9ab5f667e86572d5cbae6c383b158f1709d3700d1af37deb9d24b8c308bed78457
 SHA512 
76f1c95ac5d9407d6bd78815beb7266167b7af42a0d8ed141061d6a1d508dfc16e42c4d99dace258ea6f9c5ddc17a5bd15da46638cb19502acb57e85838f885c
+DIST firefox-91.10.0esr-rm.xpi 537369 BLAKE2B 
4e23362f393a97d8f8a1437ea411b2e56b8ecd2af6464cbfedc0bd07cd2ab7e4bb1a032d4c2d5a09e69b8d30c00f7cbf423b268cfc42239a700ec80f7a738a36
 SHA512 
463fc248d04d5e711d428dd68dae0cdb17d1d2a20ba445459810210bc92b47ef96bd5d84c0b2f1cdde2c35c10844299fb0b36687ad846eb649abb987641089a3
+DIST firefox-91.10.0esr-ro.xpi 529330 BLAKE2B 
f03f9fd463c4d57ffde72f3e02c550f74aa3ee8f5b7e15a62d5ec470b7a040beabc7a0599a993972e83c2b21d81fbf322a57d901fa49c2135ac0d3e4a88ee8f1
 SHA512 
90df5f6c393291e3d207753f704e83d0ae47419c0d9cda853ed2d4079c4eddb6e75f33658d75845de41c832687527fb25701e3577f8f63b16c8555c5a3c543d1
+DIST firefox-91.10.0esr-ru.xpi 627127 BLAKE2B 
5538f1672d0424fccc7922b7879a752a8adef19142793b0b0bf7cdc87b8b472803c9d4a1938d2d6f26bbfd67bf2d40a49a97f8dd66205aa8ea2e32ff6e516fed
 SHA512 
e407befe1f4d84cd84efe3ce038b18395673dbe32b2a22abc2a560abad4450fab7ac8e3a4171f3957f140d9de553c47220f61d97da0af1db2b19cbf2463c36c6
+DIST firefox-91.10.0esr-sco.xpi 504856 BLAKE2B 
918f8080595b7d2f62789ede959ce59e117ed228ceb5e35936b7b8f80aaf21bcef914c378408d33f2a1f1f215e191d61033643ce5d027eb69d0f9fc4de02976f
 SHA512 
b8baaf5425aafbce321a5ce175cb1a141a628be283b6be2dd4c5d933efff2a0e58a2410c9ca55459079169d069b3ed63a3c44cb0f82952b2f87e96b08a75d53a
+DIST firefox-91.10.0esr-si.xpi 487949 BLAKE2B 
d11ad761530848646bb99fe9bbd5dd78d898eb705a5abc22709038e879f1666610eee9e52f1a095d62ba3ba7bc7a4bb2caba8124c52fa247e4fc1f6869b718aa
 SHA512 
20f4211db6233dadc5d8ef1e27d74ef097531fbfa8fd9ba75976b96f6cfde5f1b7d68aee51a78bdfd672448f77fbfbd203d99f657a8bdf0513f09f7387caefb6
+DIST firefox-91.10.0esr-sk.xpi 566488 BLAKE2B 
f33c4bdb576ef40cc68238ab25bef7b2e46d870ea03b385424c52a0e689c0c6063d46b19251e8d970acc40036cc0ce7fedd0b4c79c5f164e366d9e3ebf9cb8b4
 SHA512 
c5daa178effe571c9012585ea2a756aa60352f6fc37cfabf6f4c006324088196240617c477c66e7b150302a328a1cbf4dda8d967a85bbaa2a1d363113deb0b07
+DIST firefox-91.10.0esr-sl.xpi 538008 BLAKE2B 
bac0d9dabfaa7429887b1fdbce2dfc7c1c4c5f10d0c0356bd58fee97241d0c07a9add16a872f0edd8b119219a479227b6ad4936a0cea315981b4be13f8eb0684
 SHA512 
ed831f02eec0240b820ec89a58d9929b8b43774d8cc8ab01a8f7206ad116f1358c5e1bf4ad6027c304bf6f9053987defce77f9050c307a8e55fe61dd26f98ad3
+DIST firefox-91.10.0esr-son.xpi 425996 BLAKE2B 
ac14015172aa89805cf23b76d47dc2cc19a70a51ffb60d18f65573ae146ae073c311402f9907bf45c9bc105ad5a03998254626edf2b5f82f977d3cd990d6e0e3
 SHA512 
62d56c60556cf52b48ce8803201d67aca68bd00ad9ddefb679bab0c3d15fc0f5aa6fa993b19a6cf208bb1036ef9969554bf3bd048a5ec852411d4a22beeb68aa
+DIST firefox-91.10.0esr-sq.xpi 555999 BLAKE2B 
5596fdc11f8264bc3389e061dc3c453f817e039d5e8d287348c241673be04f2ddca87856ca9dcef675e7c27ab27cf2c5b9a40ade3ab86a38845d3f1749ed5553
 SHA512 
22346d1542560ab20ae77d749373d57b85049a28bd93b014649bb0997e7eec09ea85272bb8b108193adf339d07ae5c10b77789377e6277a40a624c5eec458670
+DIST firefox-91.10.0esr-sr.xpi 586079 BLAKE2B 
c0f1fb33eb99eaef830e28957cbb9185010569d075746fa15987793d8cf0a8b72974c81c71e939198fd5060aa2b9e8455f70c222276d9ac9c584a2a44f7ccbd1
 SHA512 
54c0d3fd2d75c1f5b8828a8bb3be0e0bbbf9ca8f0819f6442ca1250f168b4e525a9c4b15ded0f7c6681b7efc05303045b95ffd566297b7cceb345d5371fd8281
+DIST firefox-91.10.0esr-sv-SE.xpi 539962 BLAKE2B 
f05aab4ac50b4d128a3e3d676561b2ffc4876d7ddf43acc5fe13fa50e139bf0c3c89cb1a03a44d3fdc982963edc0d112702a192c29092b455dadf19a85485873
 SHA512 
1ad2d48a46c1578578e05e96955bc63626398bc7df2a4e4c406feacbd86980e0d5aedcec0537bd64872f27beefca8fd0632aa16cd66a0f338b74ab347b68ecc8
+DIST firefox-91.10.0esr-szl.xpi 509818 BLAKE2B 
a05df7124139800848263aa4b6d7547999e6fd68e24f70b68b942d07acbf253146f9db6af0202cfc18716f64237ce49458e472e8dac3d2b59cf5e3963bdb8bcd
 SHA512 
3de6c75ffcd2184bd1e118783be17681895830f21f44a63faac958ad7c444da0ec19003605985d1114dcae2dc99fb84f9fc2392f9fdbebe79d5eb835f59f7ae9
+DIST firefox-91.10.0esr-ta.xpi 513809 BLAKE2B 
c13ea87e1f8ad3bd5e92b09b94b3c26d91c237b3f3a847fa127e8b171bb8c63afebb6ec8562d6588c4dcaf6b638cfa63ed7b7e197439f34861067c85290380d8
 SHA512 
79d09633816544db1c0f4c0bb999d3289f81e66d85b1bdacdb300a94c4fb5a7f5f9e190590b3772fc3d16171adb9ee77fd63f76865e4cfe3f1ac81b905d915d7
+DIST firefox-91.10.0esr-te.xpi 549964 BLAKE2B 
91c56e1b067946ef3b1336aa27a7944b05300178c24e3c187cfefebadef689cc6f3da22cfed31642fa37536c8c0912866b43085c9ffdadef394ac40100c6c55d
 SHA512 
7da11fe8f0b3b9b8e782aeaab7a998bc48021cf7543416b504177ac233316ee1189c96dcace90efce10818dfc32333fdf6ee51f9087280466d894bce7b673127
+DIST firefox-91.10.0esr-th.xpi 607065 BLAKE2B 
b4807351a42c84636907e4276f42933dfd76f61ea3f77b92c9dc490b841979155d2d3e0a3f875a23a6b492015a309cfeacc16f344120608541aff8787089f6b7
 SHA512 
dc16436057526ff39b5311151a0648c2dfdc553a46f4170fcd47efb6081cadbc52970d640299ae8cebb34d5be1eb3ca96c98e8572f23e77ee7201b6a98e03b71
+DIST firefox-91.10.0esr-tl.xpi 516115 BLAKE2B 
9e7f0d17cbc8a683ec3556e587dc7c3415957c539b37bf86cc86af0741e8cde9c8ba3ab5c584bb9b86d3c0ebb422310da34c4011551568735c71b12d897f5f4b
 SHA512 
cf8bbcf5906d3569238b47144b0c36e284aa5aa526619afb2a45c9e839dd231c42e474412eca2122d564ee2a3841b3eba28d277f646a4a7462978b078cea8fdf
+DIST firefox-91.10.0esr-tr.xpi 553675 BLAKE2B 
d4ae8769dd08ef5c86b39f3ad2f5a711a71903f4c2ecb96c32863127bdc2d79947cb4e832454bd64e28b0a5e3de6b5a11473979f80f0a378ed4e7de5da52f471
 SHA512 
a6178148997efdf1aa0f7410c6bdb0fe99808d015adfc315bdae1daace68f651359d3170a8410bba0cf5c4b9c85cb15dd9becc628147106186d449d03d66b09f
+DIST firefox-91.10.0esr-trs.xpi 491082 BLAKE2B 
4332598be9881a13d1a4a8fcd121e9ae9e762c4d2fcae5d62868266f94f7cccf78f6ce011199f436eb82257ef9f7b512d37312741afd6c2bb020990720b487a9
 SHA512 
710bb1f6714a1a79884dc5522b4a7d465fb8bc4f4b8c6aa4458a34a96c5b3b23e482744517e7fca53702dadf5fd8635abc18397e86807aff6127f895229e7353
+DIST firefox-91.10.0esr-uk.xpi 620497 BLAKE2B 
93e49ee14ffd918f5ddb0d42914d7d5f7a63653828e1f3cb50a7594af76283c0b4f49e3c6d789ae7cc5d8211c585237068afc5d95346cf0e7e0db9d9cf1e1ddb
 SHA512 
e75619fbdf6f71715d66a0e7c5acc6e396bf2426606c33eb94281215e71a6c92249ab2615c376c767c02952a20e3afba219883901a3c09eb49416fe59ca3b77b
+DIST firefox-91.10.0esr-ur.xpi 557310 BLAKE2B 
88f34a65e6bbdd0fde5590fa708b823bf37ad7fcf864e0eac8f8dbeca98894896f810c96280b3e2b3a097ad0976dabba2de37aa2213284976295274d6528fe08
 SHA512 
819ebc0c9d45657ca9ea9768e100025962c2cec73a7e1cfcff64b3bcc0901bcb6863a8bdd4d30a3775d13527bbbc83ed3885bbec05c38ee40f8f3c0d1681787b
+DIST firefox-91.10.0esr-uz.xpi 466868 BLAKE2B 
1a673ea378f0f99c9d25bb79a6ac1319aafa04285a2d54840b2d5e6114ecb70979927d0dd840be105766d8e60aa868ab7e35aef8821911af1e52c76f4ac3b9fd
 SHA512 
aec723d51354d7be14788d4d2c375aa033f561b5fe4d7ed964bccb45abcd6d5d0f84a8973c80b7605128eccd3c53a0550917fac93966c80f691dded02ce5ecff
+DIST firefox-91.10.0esr-vi.xpi 573482 BLAKE2B 
9a355ab145b72a05b40cd55babdb23c290f9c07fe2af3cc1ac2c1ef498538754adad5e23379f8c5f12d3ad038fbcb7df50f8b15ebba99a5d046d569e33d2afbd
 SHA512 
332f1c254909e8241b45600485ae43e934a89e74a0d5325146245533ac0b623a011da15f17fdb20cdb83694ae7cfec57f8286c0d4ee7a81e0ec1eec4074b2f86
+DIST firefox-91.10.0esr-xh.xpi 428175 BLAKE2B 
40897b955a0f3b54b4b4057a871a5aa60f8f26f61f248313197c9b2bdd4bcd1d3d4f7ce545a4430a7a4c12e302afc6d1ebb40575dc01822ae1d24a232316c1ef
 SHA512 
8cf4d3a8cd525e7d8d349ff6fe2079259014506b9595efea6fcfea3e04c9a58de20d1b10e89b5013d158c9307970bc65c1cce83da0622a6332557fa7c87bd4f9
+DIST firefox-91.10.0esr-zh-CN.xpi 575371 BLAKE2B 
ab139a8305601c53895eab447643461717f17d350bfb5e1d3aa687e71f7d136555eb7c02405c67e2c675341fa9e0e24217f0cd608e47127cce1b89d5444dc64f
 SHA512 
388b0023ed00752834daba082e81131fe83b8697c42a7b7541ac23fcf3fb369d3fd985bbf30e2530911a71c5755df813cab8f29e9323d84191b3cdbca76210e5
+DIST firefox-91.10.0esr-zh-TW.xpi 576233 BLAKE2B 
1afbb5ad4fb00bd4acbe0b71eb53e08a61b4ec38e22706efe2052454bc53b98bd87e5083e6f9b47574b4793a25551ca3f2e44b587586c7fe2c5de5f277de7ade
 SHA512 
5422dddbc5d7ad54088a9258d5fd0a3a15d7b15dbac5080d7a897539d9dfb6fab258a0d76abceda87c123f66211649fd384bb249405af9e8099a3b7c12cf20c5
+DIST firefox-91.10.0esr.source.tar.xz 380454768 BLAKE2B 
a28103041af99732545dcf5ff0c6ea999252f7006602b9f74c388afadb32f98927ec10fb1f5ff30029c18a0f7d26dd27584f4d129de6671d6728a49ade07b451
 SHA512 
8344b829d7bd86250afdd4cb582e27ed5705b3ef48aec50b9a39abc17deba86c9fd721f4667f5c2155e3d7cd1d6e1f82ff8e218ced3a16a4e06bb414ee0690f8
 DIST firefox-91.9.0esr-ach.xpi 453213 BLAKE2B 
6ad8fb45ebed65b82ca407ca81e1a32cfae6da2dc93b7c06746f47829b4434a7fa41db3e8b0b307cc65e141485b3164595bed8df12b9ececaf86c251514203db
 SHA512 
6886cbfcaf422a853811f56077a6b29c432bfa34fdc3768e62dde52d477ce99dedda2aba542e2813343b547b350b8d39d32784e496f8d18a02f9fa0954fcc470
 DIST firefox-91.9.0esr-af.xpi 426927 BLAKE2B 
5375b04882b53a6ce1828a01a565d49ba02ceb076b89b8a64ff93f07573ebf3594db7ecae373b550496532a61ad2b4bcf62d2854278b517641c8b052cf8c8009
 SHA512 
7c374825faa131baa771bc4aa836656b1e456dd862db0d9fb52f13206c43f1162de30a0192ca023f0dc1ed98ad351a921917a6ad56ebffa4cfa3643b8210a478
 DIST firefox-91.9.0esr-an.xpi 499888 BLAKE2B 
f16f44afb6ae2d766a56e5eaa632c07616f0a4c6160625ac2013a0db8180fd8f83cf99d6291cf9d1458326b0dc155a992293682c05d790677f851f5a7d6fb910
 SHA512 
39069d165df48dea9047dc25dbc2ef8fd2f31249b487638f0769680da4d0a3841fa9bedfc23cdb7f4d563408914c052f388825f331b3a5104169bd79a1c49691
@@ -393,3 +491,4 @@ DIST firefox-91.9.1esr-zh-CN.xpi 575374 BLAKE2B 
648216d3c14cd32f083eff3e14dc9003
 DIST firefox-91.9.1esr-zh-TW.xpi 576234 BLAKE2B 
99295f79be73b1b50043e995c44848443a3c4d0441b1703c5c1821eb7c3d9c1f7deda75ffdef2cab4f6aca21dcf93ece6fd91356c26b9e9b87df4c65622dbf6c
 SHA512 
96d15cd33e0a0d0b31c6a2b552f2295cbbf7aea2a74d704c4940149bee16fd94d99cb72e9cfc9555f439760aa86d02801f3d9953a9814110bc14a4d0af4205f1
 DIST firefox-91.9.1esr.source.tar.xz 378762560 BLAKE2B 
6a29d262396ec63718d4569f37f14f496c46530a3997e05c41c69163e65f2deb382b983cac7adbd2246be9922a644af03a927328cb424bb1e138e87f49208b5d
 SHA512 
d432d559f2c5f4b0bc66a755db7d61585e24a727cd8d18630854b3fb8633d54baf61ed65b580345b13d52b66288aa15ca8ca5cfcde8231e88108241f0b007683
 DIST firefox-91esr-patches-06j.tar.xz 17668 BLAKE2B 
ebe51e06197b70b0f0661724e1ccf2f2aaf0e0eb4576e795963c6a0f9c32f293825b8d2a487dcadd8e5e1cb5db7c756016c50f34e6bc6df451b44e54ef76686e
 SHA512 
3af533a49c5e4a6fdb5be2225256655d402055332ba98f3aa159fcc78c4a9901a541b63d68cb02440f55ede04858388881118f655efebc75b18c316e0ab522a7
+DIST firefox-91esr-patches-07j.tar.xz 18900 BLAKE2B 
ace76bc00c3053e60c39186e460b0b422a24bb3393091324470045707dc18c631c41d5d4e61b67dca6dc2e881b7dcffce256f5b897766f994ad46b23df96b77a
 SHA512 
2fca4a5fec8fb79541b9dddec5a632a9a88fca845cac15aa963ab686eb80e8e5ad23186166f97ed88327e6c5bd7bae6178b32760f26d560c0b685ef3b3f638f4

diff --git a/www-client/firefox/firefox-91.10.0.ebuild 
b/www-client/firefox/firefox-91.10.0.ebuild
new file mode 100644
index 000000000000..96aab564c030
--- /dev/null
+++ b/www-client/firefox/firefox-91.10.0.ebuild
@@ -0,0 +1,1244 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+FIREFOX_PATCHSET="firefox-91esr-patches-07j.tar.xz"
+
+LLVM_MAX_SLOT=14
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=yes
+
+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/~{juippis,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="esr"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent 
+system-libvpx system-png +system-webp"
+IUSE+=" wayland wifi"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver"
+IUSE+=" +gmp-autoupdate"
+IUSE+=" screencast"
+
+REQUIRED_USE="debug? ( !system-av1 )
+       pgo? ( lto )
+       wifi? ( dbus )"
+
+# Firefox-only REQUIRED_USE flags
+REQUIRED_USE+=" 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.51.0
+       || (
+               (
+                       sys-devel/clang:14
+                       sys-devel/llvm:14
+                       clang? (
+                               =sys-devel/lld-14*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-14*[profile] )
+                       sys-devel/clang:14
+                       )
+               )
+               (
+                       sys-devel/clang:13
+                       sys-devel/llvm:13
+                       clang? (
+                               =sys-devel/lld-13*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-13*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:12
+                       sys-devel/llvm:12
+                       clang? (
+                               =sys-devel/lld-12*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-12*[profile] )
+                       )
+               )
+       )
+       amd64? ( >=dev-lang/nasm-2.13 )
+       x86? ( >=dev-lang/nasm-2.13 )"
+
+COMMON_DEPEND="
+       >=dev-libs/nss-3.68
+       >=dev-libs/nspr-4.32
+       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/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/libxcb:=
+       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:= )
+       system-av1? (
+               >=media-libs/dav1d-0.8.1:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-libs/harfbuzz-2.8.1:0=
+               >=media-gfx/graphite2-1.3.13
+       )
+       system-icu? ( >=dev-libs/icu-69.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-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+       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="${COMMON_DEPEND}
+       !www-client/firefox:0
+       !www-client/firefox:rapid
+       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="${COMMON_DEPEND}
+       x11-libs/libICE
+       x11-libs/libSM
+       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=(
+       af ar ast be bg br ca cak cs cy da de dsb
+       el en-CA en-GB en-US es-AR es-ES et eu
+       fi fr fy-NL ga-IE gd gl he hr hsb hu
+       id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+       pa-IN pl pt-BR pt-PT rm ro ru
+       sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+       # https://bugs.gentoo.org/587334
+       local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+               fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+       )
+
+       local lang xflag
+       for lang in "${MOZ_LANGS[@]}" ; do
+               # en and en_US are handled internally
+               if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+                       continue
+               fi
+
+               # strip region subtag if $lang is in the list
+               if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+                       xflag=${lang%%-*}
+               else
+                       xflag=${lang}
+               fi
+
+               SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+               SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> 
${MOZ_P_DISTFILES}-${lang}.xpi"
+               SRC_URI+=" )"
+               IUSE+=" l10n_${xflag/[_@]/-}"
+       done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -ne 1 ]] ; then
+               die "${FUNCNAME} requires exact one argument"
+       fi
+
+       einfo "Clearing cargo checksums for ${1} ..."
+
+       sed -i \
+               -e 's/\("files":{\)[^}]*/\1/' \
+               "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+               || die
+}
+
+moz_install_xpi() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local DESTDIR=${1}
+       shift
+
+       insinto "${DESTDIR}"
+
+       local emid xpi_file xpi_tmp_dir
+       for xpi_file in "${@}" ; do
+               emid=
+               xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+               # Unpack XPI
+               unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+               # Determine extension ID
+               if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+                       emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; 
s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from install.rdf"
+               elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+                       emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' 
"${xpi_tmp_dir}/manifest.json")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from manifest.json"
+               else
+                       die "failed to determine extension id"
+               fi
+
+               einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+               newins "${xpi_file}" "${emid}.xpi"
+       done
+}
+
+mozconfig_add_options_ac() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_add_options_mk() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_use_enable() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_enable "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+mozconfig_use_with() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_with "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+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!"
+
+                       local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep 
-F -- 'LLVM version:' | awk '{ print $3 }')
+                       [[ -n ${version_llvm_rust} ]] && 
version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+                       [[ -z ${version_llvm_rust} ]] && die "Failed to read 
used LLVM version from rustc!"
+
+                       if ver_test "${version_lld}" -ne "${version_llvm_rust}" 
; then
+                               eerror "Rust is using LLVM version 
${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+                               eerror "You will be unable to link 
${CATEGORY}/${PN}. To proceed you have the following options:"
+                               eerror "  - Manually switch rust version using 
'eselect rust' to match used LLVM version"
+                               eerror "  - Switch to 
dev-lang/rust[system-llvm] which will guarantee matching version"
+                               eerror "  - Build ${CATEGORY}/${PN} without 
USE=lto"
+                               eerror "  - Rebuild lld with llvm that was used 
to build rust (may need to rebuild the whole "
+                               eerror "    llvm/clang/lld/rust chain depending 
on your @world updates)"
+                               die "LLVM version used by Rust 
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+                       fi
+               fi
+
+               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 use pgo ; then
+                       # Allow access to GPU during PGO run
+                       local ati_cards mesa_cards nvidia_cards render_cards
+                       shopt -s nullglob
+
+                       ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+                       if [[ -n "${ati_cards}" ]] ; then
+                               addpredict "${ati_cards}"
+                       fi
+
+                       mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+                       if [[ -n "${mesa_cards}" ]] ; then
+                               addpredict "${mesa_cards}"
+                       fi
+
+                       nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+                       if [[ -n "${nvidia_cards}" ]] ; then
+                               addpredict "${nvidia_cards}"
+                       fi
+
+                       render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ 
/:/g')
+                       if [[ -n "${render_cards}" ]] ; then
+                               addpredict "${render_cards}"
+                       fi
+
+                       shopt -u nullglob
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+
+       CONFIG_CHECK="~SECCOMP"
+       WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to 
play DRM-protected content."
+       linux-info_pkg_setup
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       if use lto; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       if use system-av1 && has_version "<media-libs/dav1d-1.0.0"; then
+               rm -v 
"${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
+               elog "<media-libs/dav1d-1.0.0 detected, removing 1.0.0 compat 
patch."
+       elif ! use system-av1; then
+               rm -v 
"${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
+               elog "-system-av1 USE flag detected, removing 1.0.0 compat 
patch."
+       fi
+
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make cargo respect MAKEOPTS
+       export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+       # Make LTO respect MAKEOPTS
+       sed -i \
+               -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/build/moz.configure/lto-pgo.configure \
+               || die "sed failed to set num_cores"
+
+       # Make ICU respect MAKEOPTS
+       sed -i \
+               -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/intl/icu_sources_data.py \
+               || die "sed failed to set num_cores"
+
+       # sed-in toolchain prefix
+       sed -i \
+               -e "s/objdump/${CHOST}-objdump/" \
+               "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py 
\
+               || die "sed failed to set toolchain prefix"
+
+       sed -i \
+               -e 's/ccache_stats = None/return None/' \
+               "${S}"/python/mozbuild/mozbuild/controller/building.py \
+               || die "sed failed to disable ccache stats call"
+
+       einfo "Removing pre-built binaries ..."
+       find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) 
-print -delete || die
+
+       # 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_environment_reset
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       local have_switched_compiler=
+       if use clang && ! 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 state path
+       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+       # 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-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${ESYSROOT}/usr/include" \
+               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+       if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+               mozconfig_add_options_ac '' --enable-rust-simd
+       fi
+
+       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 "${ESYSROOT}/usr"
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-png
+       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
+                       # ld.gold is known to fail:
+                       # 
/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
+
+                       # ThinLTO is currently broken, see bmo#1644409
+                       mozconfig_add_options_ac '+lto' --enable-lto=full
+                       mozconfig_add_options_ac "linker is set to bfd" 
--enable-linker=bfd
+               fi
+
+               if use pgo ; then
+                       mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+                       if use clang ; then
+                               # Used in build/pgo/profileserver.py
+                               export LLVM_PROFDATA="llvm-profdata"
+                       fi
+               fi
+       else
+               # Avoid auto-magic on linker
+               if use clang ; then
+                       # 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
+       export PIP_NO_CACHE_DIR=off
+
+       # 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 gentoo-prefs.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+       # Set dictionary path to use system hunspell
+       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
spellchecker.dictionary_path pref"
+       pref("spellchecker.dictionary_path",       
"${EPREFIX}/usr/share/myspell");
+       EOF
+
+       # Force hwaccel prefs if USE=hwaccel is enabled
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+               >>"${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 menu
+       local app_name="Mozilla ${MOZ_PN^}"
+       local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+       local desktop_filename="${PN}.desktop"
+       local exec_command="${PN}"
+       local icon="${PN}"
+       local use_wayland="false"
+
+       if use wayland ; then
+               use_wayland="true"
+       fi
+
+       cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+       sed -i \
+               -e "s:@NAME@:${app_name}:" \
+               -e "s:@EXEC@:${exec_command}:" \
+               -e "s:@ICON@:${icon}:" \
+               "${WORKDIR}/${PN}.desktop-template" \
+               || die
+
+       newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+       rm "${WORKDIR}/${PN}.desktop-template" || die
+
+       # Install wrapper script
+       [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+       newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+       # Update wrapper
+       sed -i \
+               -e "s:@PREFIX@:${EPREFIX}/usr:" \
+               -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+               -e "s:@APULSELIB_DIR@:${apulselib}:" \
+               -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+               "${ED}/usr/bin/${PN}" \
+               || die
+}
+
+pkg_preinst() {
+       xdg_pkg_preinst
+
+       # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+       # does not need to be forced into the LD_LIBRARY_PATH
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               einfo "APULSE found; Generating library symlinks for sound 
support ..."
+               local lib
+               pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+               for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+                       # A quickpkg rolled by hand will grab symlinks as part 
of the package,
+                       # so we need to avoid creating them if they already 
exist.
+                       if [[ ! -L ${lib##*/} ]] ; then
+                               ln -s "${lib}" ${lib##*/} || die
+                       fi
+               done
+               popd &>/dev/null || die
+       fi
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if ! use gmp-autoupdate ; then
+               elog "USE='-gmp-autoupdate' has disabled the following plugins 
from updating or"
+               elog "installing into new profiles:"
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       elog "\t ${plugin}"
+               done
+               elog
+       fi
+
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               elog "Apulse was detected at merge time on this system and so 
it will always be"
+               elog "used for sound.  If you wish to use pulseaudio instead 
please unmerge"
+               elog "media-sound/apulse."
+               elog
+       fi
+
+       local show_doh_information
+       local show_normandy_information
+       local show_shortcut_information
+
+       if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+               # New install; Tell user that DoH is disabled by default
+               show_doh_information=yes
+               show_normandy_information=yes
+               show_shortcut_information=no
+       else
+               local replacing_version
+               for replacing_version in ${REPLACING_VERSIONS} ; do
+                       if ver_test "${replacing_version}" -lt 91.0 ; then
+                               # Tell user that we no longer install a shortcut
+                               # per supported display protocol
+                               show_shortcut_information=yes
+                       fi
+               done
+       fi
+
+       if [[ -n "${show_doh_information}" ]] ; then
+               elog
+               elog "Note regarding Trusted Recursive Resolver aka 
DNS-over-HTTPS (DoH):"
+               elog "Due to privacy concerns (encrypting DNS might be a good 
thing, sending all"
+               elog "DNS traffic to Cloudflare by default is not a good idea 
and applications"
+               elog "should respect OS configured settings), 
\"network.trr.mode\" was set to 5"
+               elog "(\"Off by choice\") by default."
+               elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+       fi
+
+       # bug 713782
+       if [[ -n "${show_normandy_information}" ]] ; then
+               elog
+               elog "Upstream operates a service named Normandy which allows 
Mozilla to"
+               elog "push changes for default settings or even install new 
add-ons remotely."
+               elog "While this can be useful to address problems like 
'Armagadd-on 2.0' or"
+               elog "revert previous decisions to disable TLS 1.0/1.1, privacy 
and security"
+               elog "concerns prevail, which is why we have switched off the 
use of this"
+               elog "service by default."
+               elog
+               elog "To re-enable this service set"
+               elog
+               elog "    app.normandy.enabled=true"
+               elog
+               elog "in about:config."
+       fi
+
+       if [[ -n "${show_shortcut_information}" ]] ; then
+               elog
+               elog "Since ${PN}-91.0 we no longer install multiple shortcuts 
for"
+               elog "each supported display protocol.  Instead we will only 
install"
+               elog "one generic Mozilla ${PN^} shortcut."
+               elog "If you still want to be able to select between running 
Mozilla ${PN^}"
+               elog "on X11 or Wayland, you have to re-create these shortcuts 
on your own."
+       fi
+}

Reply via email to