commit:     b32dd9eb42acc6cca737fbd3e569c60142c302b3
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 20 02:36:35 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sat Nov 20 02:36:45 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b32dd9eb

www-client/firefox: bump to v94.0.2

Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 www-client/firefox/Manifest              |   98 +++
 www-client/firefox/firefox-94.0.2.ebuild | 1237 ++++++++++++++++++++++++++++++
 2 files changed, 1335 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 753e42f7acd1..c716ca58df80 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -392,3 +392,101 @@ DIST firefox-94.0.1-xh.xpi 420859 BLAKE2B 
68842d4622acbf1a23fed065eb73d9ee82922e
 DIST firefox-94.0.1-zh-CN.xpi 565916 BLAKE2B 
319fc21bdccf3989caffc60018720afda13be5c42bc109a9513b69e2ad5ad7c693fc91f8cc71f946567172969a798fcce9ebadd98732f46f11bf870e32de9431
 SHA512 
9f1e6321a0add7866bfff43acd1d128976eb46666fe672ec3ad632a556b1e20bf771b9e297becb136bdcb209e3b8f9e0dfcacadabc6c8b2f91c52dae230696e6
 DIST firefox-94.0.1-zh-TW.xpi 566573 BLAKE2B 
de71dcc798dbb394b9400d5801bda945cd80ded6c68c6e6c4c02bb269d16edfa00c02f21c361ab497071b25a2abf7520a0bca89b370c1bcec9b032c12f08c72f
 SHA512 
8ec5f1fbdfc8d7ce5669f652b2bd7392048559fe8ff9e9f9ab43bc3071ef4272ddeb5c607148ee426e1722fed38cccebe972ba0b7fa6539f09c84ea804610a9c
 DIST firefox-94.0.1.source.tar.xz 383929000 BLAKE2B 
2683906fdddf1b11229affd5aae3df2a7d5bac00e79c10f0c3a8203a456fd4398908d4b5706a1dda6b22caa6435074e7fb629698fd68a223cfdef377ca3e3219
 SHA512 
634665ed64f2ef205fad03ba023bc915df110c0d4b0a5e36aa470627808fbb3bce5418ea607f909d4e1eaf7d90c5dcacf398b8a434e26906dcfa366292a18b66
+DIST firefox-94.0.2-ach.xpi 447241 BLAKE2B 
45ab6c5afa8f211801b2e5fea93c0bf0c70cf7a3e5c6b8880472d82cba0fa74250676e71e5602702e4f3cea5958fa5cd571f1f9315dc912c72c4b1fa435d24e0
 SHA512 
ec020c6d306e1a948924ebf4981f408870a7ddb3c4f234a28b8dc02e0c62f354411817ba3cc482f2c2f11a3a6e4a980453de05b348fbb9ba36c0cd0e09929e33
+DIST firefox-94.0.2-af.xpi 418686 BLAKE2B 
688ef4c0cf5ec982549c0983d765409eab54624fe7e9d056c216626dfb0f9614b8c87e3eef58ed2cfd25f18fb481993458611828252b26110e970e550902cf36
 SHA512 
f5f8e4d0767de05266e7bd708de617a5f0e62e395c4b3b8569504e59407613a47af0c83ff18f568fc70f8e533cc07163c1c9477cbec29b53dbdb98335ae573e3
+DIST firefox-94.0.2-an.xpi 494464 BLAKE2B 
26ce20f2c8bf400a19f2fafa501420ce340c027176ed9898760df1d491677e57ce622f953c83256afddf565a858328fcc678240f2c4591b7b16696b66280bb5d
 SHA512 
0e72c470664fb899b7149467dc09baf808ab598e5a196733dbf81015218130b5c6a4736ffb0629030a2f9cebfe6384de8ac370b3fc4da2ab8843bef63060675d
+DIST firefox-94.0.2-ar.xpi 553194 BLAKE2B 
8e5399faecbd123455d68012dfcaecc327d0bf0d39fcdd79354fd9e8bd32adac35ad0bb251d12fb3ad47ebc68762e5a06fff4343c3868d5cb7992f4ef5fbd387
 SHA512 
60b4586507ec55a97b37699d1a8ac0cd83a2dbd902536fb515ac2af48249d2c88b45784a445f33d841778e8ac52c1d63e36c8ed8f9b1030ff8859597687126b0
+DIST firefox-94.0.2-ast.xpi 492807 BLAKE2B 
33da379ea64ce2bea60dc90538f68ca744c0892fee90dafcca586a20ac54ce7ce29a2623661f556f2b261329fa05d2a74df5c8c92d3eb35383f26e8c101fb22c
 SHA512 
d3b254251cc2116765344b444c0c8a30d91bae14241a4160bfd7b271ef17cb3413ff0eae5fa59327c800973e8e92b3d52458cc4a1666fc726f75f9b40f183b8e
+DIST firefox-94.0.2-az.xpi 482933 BLAKE2B 
3554916b8eaa6286e04d6e9482c9fb6160c02776fd925d2463ad776d6d8906596e3bc8d70fe32464ed053ae7282a6ac992e37c6fcef3132ac130797b6a67c5b3
 SHA512 
c719aa86485138bdc440fefb2310af32ed8b5a829fb718e137ec3cc670857631f9efcf4ef647d16a9a29b4f11f04ef2c3d919e6d8ee567bfa327b0ce0d0e91e4
+DIST firefox-94.0.2-be.xpi 612140 BLAKE2B 
d70c5edaec128c881a5a3aec89df266f41ad38edd464726a5db6bcbcc4607d37ca37704cf85aaa4d865f28135b6ce924b0e23ff8a5159b2095d08304132abef3
 SHA512 
a7db1120e5c0c304df64af6d9b7986eccf200dbd5d6c31c9053c87550668eb6410353c765ffa0eeecac7beb93c578588fe435496b5a43c7a396bf94a690d3b0a
+DIST firefox-94.0.2-bg.xpi 561583 BLAKE2B 
944ca406c6325efc03335027510fd33a41411705c3ed926f4ca3179cdaf4a84e71f110f2be7268b331536bdc3d92e15d30ea5024e43c3788d95b0c1e3d7c3c0f
 SHA512 
8ddf87b6c45ee8c31be1df9dac94c5673507a6e2a040dd1dbd412edd4a269b030a49fe7e4768d75078154d30a097b2eac01ed981a4fa4675411a259afde09580
+DIST firefox-94.0.2-bn.xpi 549624 BLAKE2B 
d3c299b557cdd0afe464e27a6816257811e12f41f446255fd1f2c40631927ab9ef1d765ef9375b3266d27e106853a754298f65b2acc2a0b89dd766a9d66d6cdf
 SHA512 
e6c19ee05eb5fbfa7fb5d755bb22997e1ff645a636424a03166e609ff0947276ca70166c48ac681aba9c7ee3e14aeebb406086f1969eaaa53cf074fa54caafcb
+DIST firefox-94.0.2-br.xpi 518905 BLAKE2B 
4cc925352c984328035ee4af4b348edccec50623f4a910ed6d818fb84333b7a8ffc8e97972eb8e33f33e7cb92e4875c45080cad973c8880d857e7b1333a78fda
 SHA512 
102092ecf445616c6331f21c760feff7f2f1fdaddd8881cee06bb4e8eba5d96b784f134fb44ccfd3ac3b19904aa6bf5962254ece0ce03dc9f4ebb24376052664
+DIST firefox-94.0.2-bs.xpi 457706 BLAKE2B 
e55946902028f0b78e9029e8bf1594502187c6b6193c53afa3e79668280d7a03d506090b108e2799e254a60c3d6732fbb2fa5dadd54c47ecc150bf95f24d055e
 SHA512 
ca59825b983f9a5f9561cf150419240f967c1bafe184adadf12819da3c7e2a1941289ad5625ed222a308a11ba3dca818e9806a386dac7890b51f7cd917a894c3
+DIST firefox-94.0.2-ca-valencia.xpi 523066 BLAKE2B 
2decde5c9fe01eb4f7a9d99b0d17569eb29934613b69a1b18e3cad6cb85be1e6b3d0ed1ebdc4bc5a84d9c66376b6af50afdaef84cfd7701ecb4e70e67df9084b
 SHA512 
54c51aca43d74f7ee447dcd091895036ef81c22cbd54afbd22790085b53c8a7b0a238d3eb8849b4c5549d742cc7d3d7278ff40b0f480d2a93bfa85b7373ddd14
+DIST firefox-94.0.2-ca.xpi 523662 BLAKE2B 
e0ff8d1f14e6181402c63d0987053cf86f141919121b8d17c26eed0a6423cec6dbad57455ecd617ec7a6d8aedfdb0302a0b04fc5fd46d824c0f38d2c888c5f03
 SHA512 
8ba8850570206a89bccf8fe5a6d49ab6273547db2e62dc9841916fb8fa1c973def60031cf3bcb6890935b2e5fdc7d2bc489ea4d5ec05042a635fffc5325986fc
+DIST firefox-94.0.2-cak.xpi 547147 BLAKE2B 
7dbabb3ed8e2b168de9ced2b25a434974eb6f6aabbefb09068d9592c2e951c5aaa17018c45978c3ace458e3943d7e539901dece19a0d4c64fc5a985570b2d1bd
 SHA512 
9be5f51886a00ace70345ac69bb9ea6e58a58aa8c35de176bbd9b21d94c7b1f93702b7f38f92c78761463234b031515238d8820d04401319dbf91141d0c17629
+DIST firefox-94.0.2-cs.xpi 555218 BLAKE2B 
daf21053d5b2ebe535a9cb83e1a6848add513f66d0fb18ec4a80bce0425907a5f12b020b38ba0bfbd4f88d629de31d19cb6c31f5d5ff463c3100fd7cdd9599ab
 SHA512 
4ca3434e3e4b9869d01070d23fa2a4abfe40c92bf0917c14e7e49a92d02884a7f768e3008d37bdca9c0df6ae9333717f661356415c3501b9456dd2d35a0cacfc
+DIST firefox-94.0.2-cy.xpi 533601 BLAKE2B 
d7fc74e0f52a114874d2f2cbc308f97773e907c44bcebe05881387cbf75098e0b3a77bbd381d9851e5673baf8d15f0fa0004d6f5b97071fd727f6a51a755454c
 SHA512 
a777f48021b2f0b9ce36c88489999bfae5fc53fcec07d1e609678a84ecb9cc9259043d1c3837a92bcbc2cb27e25cec8b9da32af8e80ce920be7f9e0d455aa1d1
+DIST firefox-94.0.2-da.xpi 525484 BLAKE2B 
c56dd25b8becef8ca454f0782aae86e708fd8015594c6eff7c509fd8b45c29ef40c3534b9ad561fea53fa4925a63693669a5f200a27e25f72c4c6238f5819d76
 SHA512 
fed02b6865402a2ad4fddaa6916da5948ed2b0e69e06211ed29f615970c5940676d64c6d78e80ab465f3377aa2b75198197178e83f09ae743e155af22147a4a9
+DIST firefox-94.0.2-de.xpi 544439 BLAKE2B 
37c346cff36d08de547073b1754b52fc76fbd9612ac472ea0be2912a9d4b441d448d91002b675ff9569a048fdc9fb5faaaf975f0fdf62157d7f818642a5fed76
 SHA512 
d51293f16402c73f2e233de57b38250cbbf7deae94ac6ae730586c0599d9c76a1257a3dfa8a54d1e18836647e66ef2a8a540b44b13de4814cbb1d6602655fef0
+DIST firefox-94.0.2-dsb.xpi 556987 BLAKE2B 
1a0808ba177c13ac1489cb9ee61276c4d9d60eb41da5652cf061d2364d08b9ac5ff3ae94a0a04fea172d85978f45c0cf53ab996e626afcab32e6a18342fedd9a
 SHA512 
fd9d171db4bc27bb38d7a6909b5fc6ea01ea106fb8ef6918a192fd24782bd97b1c77f81aff9e116cae4e6da8b4ff58cae419401933e97a90484a572c1b0bd339
+DIST firefox-94.0.2-el.xpi 628739 BLAKE2B 
3b455a0660c18017cba3f56ad41fcf9ec1c5c9dfcf8458be523afbbe90ed96b40ac7db6160ddafdfe47de15372e7fbfabdb1cb30ab714ee7e03bf1a637d66124
 SHA512 
504fe04376d5782ca538b63945b4744f744b4929b2b81db8f0838d7f5ac8af811aa3d8c6ef18ae6f4929688472bc2d7e5bad3b71ba4e91d412ca59d4c99ac3ec
+DIST firefox-94.0.2-en-CA.xpi 502078 BLAKE2B 
358f757912ba094351319bff00c958320a4423729113eee165f30cb73f16a45e01d79df3b7d70a2ea6f380eb30c144eb7d139958337a959356fc3bf903ed3fe1
 SHA512 
b509c317e8c890aec87586c1ce90ebed7e14410bcf3266a57ea0a400e95a6487d52d55ede0d03816489ea90df05d9c802a2679b62ab1fc71f212ed00486ee4ec
+DIST firefox-94.0.2-en-GB.xpi 502586 BLAKE2B 
d9f3f3d497902c8cfe31dcb62e893053ec66e046dcda3dfb97b5712a594329b09d281be5ce6c1377a48aeb9372dbf801da3a02db2eee1973b76ec0a54798d95e
 SHA512 
d2aaa2faf36aa8f61fa9a9d02d7c41170205089c9070b5bf13ac3f930d3e521e4cb8f6eed7a1dca15c0cd722b8bb7e76683d1d772f1bae25ae2a30ba9831e6f5
+DIST firefox-94.0.2-eo.xpi 524537 BLAKE2B 
9637e339a8a35f8e4f35e6321e45eeea2d84cb586aa26401a41b3bfa8618eff9be845c2dab6837e59af9a3cba7337f77c66e581cbd3135f6337dc83f90c15f31
 SHA512 
cb69432c7ca6df7d81e61fa32b8a69d5337d169c9218605be96eba6463145e51b2e4078cbcb37450d59f8630b6139c0812d05a6c4ae27cbd1918f40f42f83ee2
+DIST firefox-94.0.2-es-AR.xpi 538014 BLAKE2B 
6b979232a3c21b1dfb04fe9f3bd29ff4ef3466e153357226cf8cf7d5ab82e1888cb3f178a0fa08a02d86a1654f958735c779422c69f4ed44440953205d382b7a
 SHA512 
b1a3a27298396e05f6fe167ca769be5a3fda8253f81e0f395bbe6ba69649a2606d1851642fbe8aa45021912f7f3436630d39ebe21e41b263352001eeb5e99045
+DIST firefox-94.0.2-es-CL.xpi 537549 BLAKE2B 
62332c3785d4431a720174a76ba369995e4d9cd72fa66a87669e8b9b57448445633bd54a1b4cea570d165cb1334ff7f50225c1767cb04be2200ffc44f832ef10
 SHA512 
13a1fb2f8d7f0c29009cca0f83ba474f2d0491a2fbc75c5f9608034493323d04b1910a4fccae7602aece17437c2aea51246df57cdbfa22114810e3a610fefcce
+DIST firefox-94.0.2-es-ES.xpi 528306 BLAKE2B 
26f92ee9d9e8cd6a1962fa476cb3999c8bc37ff912ad7ad49a47ec4e758ef6df8f887a28099ae7feecbb1ed4482d5da55100703a23c6a1374e187cb2796c3d5d
 SHA512 
8a968018cced56048dbbea3cb05823ea82e144701e71e537b7e923a2eec3690171fba8a2ecb76d75d4f4316d399205489fed6eb229dfbc0467417a455091e6ba
+DIST firefox-94.0.2-es-MX.xpi 537717 BLAKE2B 
4fdd83f784e62451854300b14a24c5a5c48681c98fd158253bda6860bb427495c8256921301f955229e79e044129948ec0279a756b33b01dfe5ca6d708057a61
 SHA512 
04cfdc6b5b330926111b99ac191be07495dc2aa1d3825be6034e7069029a43b4bfbfc85fe037c3a2f68cd1fa743857adb7170e022050751f7fa7b2c19aea8a50
+DIST firefox-94.0.2-et.xpi 476279 BLAKE2B 
a7e0d032c7fe9e591ada8031798726b66f674434329604e28be24557ba67c51a9405ab6beb36bc6d7fdb077abb2a530cec0e742efaa4a4b78d7b169cdd2574d2
 SHA512 
c51912680984fa5f03fc4c1b7b097d3fcba6cca80ea5ae9663dfa19e79a16d5f881c30bd8a68758994e4a46e31835e6b061ebe7bac3d619163fe25e636ea091e
+DIST firefox-94.0.2-eu.xpi 527862 BLAKE2B 
5bb985414ef6fbc11fc94410ea8b04232c6b3273da002fa4aecba2a361425e03aa1ce54bb035f1db54f11b1271c7746c5c5832730336199be933584c5744c69f
 SHA512 
1cff76c9782bc3a0fe2bfd909f16bc460d9814b1ad9b1dfda75d7d2ab9054182816e050f24f0ed2eff81b76a0b85f7793da8ea0383728d94db12367b190ed852
+DIST firefox-94.0.2-fa.xpi 549491 BLAKE2B 
49cc0d17fd86affe21c48add896075d59b1e89be7da79abe3b5c89b0916e878a22db42305653ae46edf67c462d0350eb4504905bdacc3c61703bd0cbe947c1bd
 SHA512 
de8ca0076795f1f7a2157a40a8830a814c42b4582eec71576e55291faefcbe0cc8109663eb0f5718df29cce216a42875aa592e09b7817863659041bbdcd0cc58
+DIST firefox-94.0.2-ff.xpi 465162 BLAKE2B 
48b906dbf341f839e2d85d0957e23ebab7cca06bf24bd59560371aed848e15b8aa4b962e401ed1a70f761a855e3454b61005661bfe7d8b619f3b6bb21db148e1
 SHA512 
6d461ad28576d2b68bf7e9cb6d07a36476aa8313a99f22ec2f0b2cbaa06a19711b633067d8e455a9a888baff2b3d81d92a5718c806dfaa1435f4cf0be78dba87
+DIST firefox-94.0.2-fi.xpi 521930 BLAKE2B 
fc7540d31ed78481dbcbe61ba6317bd476a72b4ba5284bddb3ca0258ecfbc3dcfe2d579478eed7487f17cc64b882e13965f607d7e0d2d773412eb76ed68ebc27
 SHA512 
227d347a11878045a8dc9769a5cc3a42e703f18ce55de5fe83affc1e42d140bf3653d46d8a58b66cc0cbb38d03d04d5ba7addc00baca52cb382bac682234a68c
+DIST firefox-94.0.2-fr.xpi 548695 BLAKE2B 
c9820a1d717471c79e6a75274549d3b61a11d2629aa9bbec62550ccaad70c03cdaec35ee8989da512f3300a948757deca712932a3407b9c84148a6403c1128ec
 SHA512 
6b216502876f0c4a2249036657f9dd524630f800d6f56e222b9d9ce17dedd4c9fb3957bedc9c5ab9d72d75017fb568a906ba423d70ab828813bea29200d69db9
+DIST firefox-94.0.2-fy-NL.xpi 534445 BLAKE2B 
64c91aa7877fa4edee358829601e7ca386704daf0bbac789d91c9c9d6b5e68e5679ed3e4fe43d05359f347545567647f40ab191cb58d8c2e5cfce5a90ac7b847
 SHA512 
3d74117bd5365c15f67f905846d1f4b497af2b4f00b8c933d81faba7496c08e23c0ebfd3f44e0dff961b3a24e55980f46da2448a9728939ec53a0943621ab745
+DIST firefox-94.0.2-ga-IE.xpi 453332 BLAKE2B 
efc2dc6616c87151845b3e07605997af96179b6c258b67f0995f5c9ef7a8cb45cb51bc0273b08401334877a5496afd3511f6c50e6fe4194e67494960dee7bd79
 SHA512 
63f900ebc7bb2e5d37da544807f94379e2b84b059a5570f2296cc08fb490c64ff4f024d1be1159213379f92e33699cb27f35df88834492755a2024afa42c20dd
+DIST firefox-94.0.2-gd.xpi 525506 BLAKE2B 
81216eddb619142f928738e2ed078c45de9fb6a826db120f6dd3831dcb2de3412aeb1901d6544d4b1fcfc6e98c658f0c2a4e1e19f1d5817b4cd1b83b23c83f08
 SHA512 
0b69b62f04192e82b1a78ce36b3402cd20966c7c229fb5c5cc641cc616409374658bad0b64c2c67c738e8085b44c827d44b711f0ae13636167f299bd012c967f
+DIST firefox-94.0.2-gl.xpi 533070 BLAKE2B 
e70d280bcf7de7797e4d6840ec6e110303cc1b3f17885f29e89322bc8fdfbbe2432cfac5625f791ca31bef8e1f30e1815e0ceacadedabd38ad679bc9c67c3aee
 SHA512 
150f442e6f698e162a4f66bef67246bc20b75f13e9c7876aaca324852f8a356054f4497531b5a4b363933f842d97c31026cc72864ab8f6b0eb94010ae31d3619
+DIST firefox-94.0.2-gn.xpi 549083 BLAKE2B 
1206abf3ad515b66e1c7171d21b3aaa959aaa8e6af8b24409741000401bd6d86f9f7db4849bfe5acab25eb1f3e87b9515ccdd6009aebce19f551a558c5b53331
 SHA512 
67159f16c4c5f613f53403610b4ee9d9157677a48a866bb019b2830ee10376671793afff5da06551c786966f9a2cb16608cbcb66b9b91c209d8e1f2b4afc39de
+DIST firefox-94.0.2-gu-IN.xpi 522304 BLAKE2B 
734b01f9316e5a4e404208ff8ae13b36650342c25097eddf17177c35f3c7bd11e50cc6a12ba265d737205d8b036507bdd6786ef0d7afe203ce78988819ce59d8
 SHA512 
32824093a11e4726c8ca0a80b61737275df096403a3756c12ec60776da73448624800f7725500a684f75af99b3c596dbf2a777261e3ee32c548d29ce6b03e17b
+DIST firefox-94.0.2-he.xpi 548396 BLAKE2B 
4cfbc715ecd7a4fd0e2a0972160215e30c40ae46ed9fda258d56d7a99a9d1a83a1d6c8cad77bd258e6a29ed83a502f591e819b09faa558883171d7b012224eac
 SHA512 
aa8df7d8f38add33ca814ad2a2df09837b7820e8eed1f03c5cb3a39f214551522da2f84d0397f61ac5a1454a63acbdc862d11c201c3bf9f23d576d7a7f887dbc
+DIST firefox-94.0.2-hi-IN.xpi 549945 BLAKE2B 
857a41445ed57fa127d5d115752f3d88527383104ee49e488f4fa149ca8351da6d7ff81064d1178bb2f8edfab4de5c29990c9d5d1a92ecacd4343759b3eab8de
 SHA512 
f400cf5f672e232775af0d07f324921f29b12a368cdaf80b6d68db7cda343cca69988a66835ee0c45bfe36cdc505d3714bf3ab901b2ce020f7eec7a4602ffccb
+DIST firefox-94.0.2-hr.xpi 524458 BLAKE2B 
b1b098b59a133b9df1bb66bc6b960aa843da60a621696ac433f01bd8cbca601ca2d8909a707652f5d00fb6695c833d15d04a43f89af7fc0903d2117b52d3de98
 SHA512 
35d566be8614be5e9264ee618d3128e3a26db7552f88784d08d9a7e9bade25cd16d2c7e0b7f1f37574bc105ff89d0ea4faf215c691906d5d6ede56800d29afea
+DIST firefox-94.0.2-hsb.xpi 553063 BLAKE2B 
450366b43ee00152275fdf398703a8882aaaa3a3f5a4cd3c1e2b97e09db24da1daf0d677690d01ede0f339c069d2690cc6bbd8da75cb3489df0b9fe0ebcec969
 SHA512 
315ab12db114872919e1813d85d638b21e926f75deb7c5ab2ac76f5e77ada90b9ce68bfecb2d5963db52a1507398e9b8c8f3eb0bfc8e9ab85eadffc15719302a
+DIST firefox-94.0.2-hu.xpi 556846 BLAKE2B 
a4e07ee7cd71f876393d0818b61f74373b5172dd460c628012b1ade50035658ad3a89bc0a446f270f9b101d0c12db81be7b29a6f5b6e7795177878e6ef53c92f
 SHA512 
2fe86f270a290df8adb1f70f8835739fb62f8e25327692d5e35d080db2f03ec94d9c097f9502a4615de84c33a82279085024bbdc70a1ea41c6cf2bb69e090f8d
+DIST firefox-94.0.2-hy-AM.xpi 571835 BLAKE2B 
538218d30b5e1bccbac63d343e65753fabd6982f9c95e24d6d62ca8e9d98936b51c132c740be98f5812959ae673a47537ad61e4f728964d68f8d2579797ad1bf
 SHA512 
aa23c25ecf7ba4e6fc490fe78af3a9ed383dcff0e2afeaf3ccaf093da00d2a4c6f04a1c55e62fd94bdeaa144ca804568dc82089b7512677f87a7847825cc6077
+DIST firefox-94.0.2-ia.xpi 523712 BLAKE2B 
c9d6880548ab5ad240f4b9cfba5f080d2522eb46c1acf55edd0f1123af80609c0d2a3364a89227c13de129eb47ff3302c2125f8d25845c609cc0a9a8b1259fd3
 SHA512 
192810aefd0a8527f9b6389de53d511b83ed01ca5bb674bbcfc3246a90c1a1d80dd826f528175b8253fdc47f090bdd5c4d5a7d16a28b648e822c1b3dcd068e8e
+DIST firefox-94.0.2-id.xpi 514576 BLAKE2B 
4df208eaffd4d1d483b03727cff684cbbe896cbca27cd0b31e39232cd502b0a7c02063400a10133fd0fccd363b48573a5ec4cb763a70cb9e5995a043ac1d4a5d
 SHA512 
8625c881487aba8ebf242f12a28cd127788c7f02bafd8a087c15cd5e30e9bb9c05bcd94fdc27436d7949d9b5fa006804e9588f037f18a47c28702da13a474b16
+DIST firefox-94.0.2-is.xpi 463841 BLAKE2B 
7eef44a0d439b434fd6eced9e538d0a4c280fa9aed2bfb126c3479eb8d831469f3233ec2fa6aff5ddd1eeb44213ddedc57b5f53d2b040a6da527d2806da9d722
 SHA512 
96b67b975d0e67840ac1e4c2bb5465e36af0473819993f0abbb458d5d7261d4ac05cf902670326a70b541f353562259e6309a780765cfe138de6e27feae8e43f
+DIST firefox-94.0.2-it.xpi 452233 BLAKE2B 
044962343d5debe74ac7bb5cbeb56090bc14044d0cc471a6e7eb34345adfd8499f4306f426635a96799c16a544dff605e270563464d3defdd25b19211e63cd50
 SHA512 
1ed85ab4692e1e125815c3af771c6172854bd2c56f2ed2ac85ac4173b18a0d0a884475d0546e8f0fa8bf639c5b8a6218dcd30829e90c9ecf8ebbaebb1ee57d40
+DIST firefox-94.0.2-ja.xpi 578700 BLAKE2B 
36932449855551a578a1a9c4bf33170812df4d5663f3256544745493b602eca35ca95be878cdae1a43734c1bb68893602ecabd8c48a5562174b5b8c712776ee1
 SHA512 
4cbd33c2a53bfbb6517eea5c58bfe1599ebff52db4395398dbecb6bd369925d4bec6e9f1a5cc07199d6b5154df96b29514ee04d9e2da015395380cb13442ac32
+DIST firefox-94.0.2-ka.xpi 577468 BLAKE2B 
21258bbb0a60cab7d8c7d330e1a229448138dc103de9828efb6ba47237cf8ada8f48f75df57769dfcb20d64e5d61c77c1651c43a7cfab9a42cd630cf207b007a
 SHA512 
efa08fb14fc31ace656b7a7bf81e6c8cb8ed1900ff927f30655d28243f3c982e1333bfd39ed11171c680c32f14729323b52bb4fd3b0b4c139fa18ebd32fa7613
+DIST firefox-94.0.2-kab.xpi 538086 BLAKE2B 
186f84bb7e6167b87c0e9db92830384536d25d9d27fcaa5636fb963a4b047bff7192f7344c6bce67f6efe7c0e93f49eb3b651fc45c3d058e673d5393683bc25e
 SHA512 
b0862bb0521fdc6ae2f01fefcad830dc544fcabdb0ae8601c5ba6bcceff466babe69fa2e79b5e459fa21ca3bd5ecc2bcff5369dfb7f83f597c787f96be876d0c
+DIST firefox-94.0.2-kk.xpi 597580 BLAKE2B 
00db302742d9ed714b072b5ef06fb665fd253e753fad7f0191af1ecb1fe42430ac5feba2f471c5dcd89e4d1e2c4cb45c4e4a18e9ac1c2355221faa338af45f84
 SHA512 
2ce2467e43e62f1a312bed7f09dc561a5f23b76171915f47d964e470f914f391b15fb93948e0450849fe83f3497fc0544dd80364249bbec71e99ce7865a8989c
+DIST firefox-94.0.2-km.xpi 525523 BLAKE2B 
983f37f782593dad90246954c7c9bf705611b98091e7c200503aab575afb9cc819651d25ccc3355faed0f2baa3cdfe01387de6ba9a38dd0eab3e9b9c613a799f
 SHA512 
3de801e2dae88e9c9d7a0feba5197333d2f8ef664100597744eddaef7d62ce975d975fecc27a763140643eef1ae5059eb4ae3d6b440a7e43d697ae220f85506c
+DIST firefox-94.0.2-kn.xpi 490615 BLAKE2B 
8f7bb52298e9ceec108e90de61c9eb2e8fe1f55b78e16f8a6d26226651802d0d1baf203c371a2527732ebbea9336dab1f7b9494205fa82f9f7bb6ea08ab53bf4
 SHA512 
bca36cb7bcfc64b08e8e8230a948aef698a523eb3613bd38ca9e9f4917ead6ad15709994e5015015712208403e03b6469f89bbf02b9f382fd121d2a933596ad2
+DIST firefox-94.0.2-ko.xpi 569651 BLAKE2B 
87c2b70d08cd9d92aa3ae4b2f3904193fd7812f79be219f6615b7bfef282dc8bfaee89adb2d5e21a99e5afcd2a7ae4ced3826d7c94758ff5e809be1b854efb9e
 SHA512 
ac1a43e5af677e95506122105ecbc38fd5c583e576a764f37b1db91e5100298d377e997fcbd71c502cd49aa62c0563934f7d1b9d07601f99a6cfd98d8f7b0b11
+DIST firefox-94.0.2-lij.xpi 464138 BLAKE2B 
b1568ba6af9e5635251bea307c0b2f28e7fdf48f89996e2d3e21d796e7cacecb6dcc018e77293afa9d1966774278ae1529005daf99288f6ccd4536cfba311b7a
 SHA512 
722a9f800d955a9f38dbf876d219b2f0b83c90511502be723ae28cc1a4884a49786c7b2c0c672ee6b271b76e796bae4d6b2c12b5d8e0334be2cabd037279200c
+DIST firefox-94.0.2-lt.xpi 551591 BLAKE2B 
d035ec450f3c04e3aa7c74eb66c014c6fd1474912526a1ec5f259e0967e84406accdf8a2282530bd1fbc26895be6fb692b9bd6f2149154b447f06a44e6557198
 SHA512 
c08f442ca54213669b641fdb5b9f2379afc5caf8020fc6f78550e2c27fd8ac9e3fc80673fe2f3ac93b175e8aab591ca08bbc9dc53612b59749807a890feaff0d
+DIST firefox-94.0.2-lv.xpi 455940 BLAKE2B 
e7ffc5012327d99db8db74c51aa63c04b3bfd712b420184a7d70fa4aa10908626e7877d4afd626380730bbf4e5a7fc2730b50cbccccd7bb7c2786cc74b3c83ef
 SHA512 
2aa638651be14b78d2c65945708473cd34996465b6f1800d250f42b7e6f2d43ee13046902327f8620298f6bdfa9814def88faddb75deb3c0e45c93ebc697601d
+DIST firefox-94.0.2-mk.xpi 457960 BLAKE2B 
e1515eca79db422388ee19f86231761274ad36c42eb0bc89cca1d6746e16c3338dfda02d892d75641605a2b2336372bee7a26477ca6903d01c3999afc13d78d5
 SHA512 
210c16a4664638c7e381c795361413dfd91a19c36ec59cf07d4edf71d0ce0433d43b2c31e9348d45b220309a0b2d5a4067750cba669a7a8a58f4007b6a83f013
+DIST firefox-94.0.2-mr.xpi 525235 BLAKE2B 
526b979165480922b34e8b82a3a760591e86238cd9130d49a51ff56c276994d51dd9e3d347e756eacd255aa85cff5961a76658aec59278e3ddc0764adcb2115b
 SHA512 
b84e19de492c187b4b152f0498248cce68e7cfd63bc9a284659156a24927f7719b2e85ddf1fc3218d7030141093e73c1d082eff6a57385428cff4351e8b5aa2c
+DIST firefox-94.0.2-ms.xpi 441057 BLAKE2B 
8ac9392bbc8c504cd04e2a7c138874052de3b2b9343ff5d07b222b5465c45da7a54127a56e092bcea707d10acc04b25b617b6302f43dcf35965bbd17b7ecb46d
 SHA512 
93d0d0ab0cc7d0d26a7cf0b31d9f163ea43b534ecb649b92f5ce6de74c0bd12c157466b8f3246d4e1c09ba5d98f9218366128f58d279e3450a69f5e54639222a
+DIST firefox-94.0.2-my.xpi 509497 BLAKE2B 
2d060045a1a9fa7e44989c9c829bdae661d5c9d176ba9d25baf4827ed9935a7887aca420fab12a9976f0a29f8f198b25de7cc248810e9e8f791afb82e1ab56cc
 SHA512 
63883498a51f5678e6d347fae82bf00ee340bb2c1b45869d1dc7ab1f4b61ade479e63cdcbd3d09f9ef332ab253374c77743a3b4d2e5be2f8e9404f20ef260ad9
+DIST firefox-94.0.2-nb-NO.xpi 521046 BLAKE2B 
340855390db573b72b196a379614a3cfeab4313b6e60615047714b261c6af3eca2a3403d472deb7a3d6df0081a89f1f1dec8fcad04206fee298874a16dfd7fc6
 SHA512 
7dfd8390165d2e509e1affbdd25566d20a8e944f6a54fb8a1f48423c33708b85925e48c885a9890ff1855f7aeb82c765e588089c5ffaefe9a9ed17766bdf0a83
+DIST firefox-94.0.2-ne-NP.xpi 468907 BLAKE2B 
2a0d563b692a5fbf3dd3a3133380c693a85da0b8c1235521b0ed8fe8dbd6aeb45e57356f3d0f63cbccb9e92f4d942320ae6d9cbc32f7081f42ad51c22444b123
 SHA512 
ef9f9bf8995d7f6183d97a7f639c4a5abab9c299223f31d6f82ef3f745df51934fcdab352e6b97fbf43b7000e630a3c6f2b30a533d893e84924f8e5fc680020c
+DIST firefox-94.0.2-nl.xpi 528560 BLAKE2B 
bdd594201a354d73f1caf73198ec4baddb8c9567478c04fbadf1426af2b4744cdef394cef98a43a8bc61d7a203998d753afe4b907f580802081db0227000f14f
 SHA512 
301d4ce7a5ccda8ef5479266782b5948b5c0ab1b37a5f037eb09d6eda4065ab60523cc1f504446c0d5b37ea7c28ba6efa8be3439da8090bccc40a500f1642a31
+DIST firefox-94.0.2-nn-NO.xpi 522400 BLAKE2B 
ebc3667ab6391f81e93479b4911b06bf79f0ea8ab57ff28e17c7a3c4d549518dd7c292646cc3ed92e60faec34360328f3bc572af32e4d7f43c1288681b2c7240
 SHA512 
ddaf7a087d023a5e5bd2732f2d47ba022ea141dc48245762ea85374aee5f32234f54be2e95b7d8c9de860320fc4eef9df77bd2b17caf5a74e3e32af0250e6cb2
+DIST firefox-94.0.2-oc.xpi 544144 BLAKE2B 
bf087b4cacfd9e1baa757450232bf262f72a5834657e10f04dc7352f2d7aa8b43aaf437ce043239677f36242f8eec4ff1f1090f944aab5b5eef20b181aae4fd3
 SHA512 
5400ed47a38fd5796e36376426f4ffb8b06e9926a3f78b8d36bd2ab549aaea89b441b586453d366d3d403e38f2b408cfce2c35f50585104fc8c2878b1a90bee7
+DIST firefox-94.0.2-pa-IN.xpi 584317 BLAKE2B 
5c159d54d4bd428a67970e4a9048f60fef1041e428b61ee44240d4598adb8dc13778839606c5fb650c771cf0df35c4a28e670b2d4d6dcd714cfef6c914ffe121
 SHA512 
a84a38b34d2a51c108290f422eb43b47d3939d7417070b92b907599e5c7d6dfe1427004c843857047df8cba1ef9cf47faec8e549daded7d0d9a3beefd0938aa8
+DIST firefox-94.0.2-pl.xpi 547911 BLAKE2B 
8b9f80bdf28617bb0919e7fbcd2095f64d71f68348309cc55eb61d6a45edbe1c3d78c67591010fa8530928b940dcd7caae9e9c831b4eb6281726fe777ed005e0
 SHA512 
4d80368133d654733fda11b9f63a27df9a30b2b2e57b9cb67b21be18b6927b420e014913f56f16c64d4ea183f3db9da17ae5caa83ec5641fba65e163aa69a4ef
+DIST firefox-94.0.2-pt-BR.xpi 533801 BLAKE2B 
df1dd50dd2b55f4fd5cf8daaee03970b82665549aa9e104dc38a9cd74335daa04247ce47c52cd3af4be755a00d3a1a30f4ee85a617347d05d89dc8dff293e087
 SHA512 
f710bdb17ded7aee9e6da4f1f4a9b363f95c7666b9e79ebf1f405877582bc87f57032d4e0d92b1477d9cc0912f762244de797ebfef04c80d1a0b23c9a91b8819
+DIST firefox-94.0.2-pt-PT.xpi 537467 BLAKE2B 
510c74c6f82d9ba2b277ba0b5b11ef783c61fda7fe76bee15e2fda49610f7af34526f3e8b67989e32807f3831d505b3fca7f6c2b93f8c728df4b3d2332c93b27
 SHA512 
84f59904beddbb13ad02b7520f6b61d4b36e8dec52c62ec905d12cb96b36ad5da3572b0160eb5d2ee3461f9ecd1fc9d924c80692c0d18b08b055c4ac5a80d0bd
+DIST firefox-94.0.2-rm.xpi 528343 BLAKE2B 
d9bbcdd68e4b8d8b6fd67bb0f2ea2c59bdb0cd4afd167da16cd17e91182067df3fa45e752854e60b7c58a580f0a242b2a87afa37528afc8449d24a7491cb4d9e
 SHA512 
64fc17c5a788e4273a6eb0d09d20a1be71944857e4791dfef7bffee9b8a63d3ff0364ad6f6c23c3357e299db36947fba584f076adf15c387dfd3e612ea9a9c97
+DIST firefox-94.0.2-ro.xpi 523149 BLAKE2B 
b495a55c7d19016d075eaf867e0415f2d817fc382f9d4f8fa3d75c0fb70a1d6080455b75241a56939453257304396b86d0376d0458cc8c189f519bdb948bc459
 SHA512 
5662a7ba11cf1d6648550d7d6fa2ab30bff9b0262372356394c2e014cfb442968cbf679b9debdd45939a2a549b99be08bddd80011aa4db9ab914ea7b09824de4
+DIST firefox-94.0.2-ru.xpi 616898 BLAKE2B 
fe7d409353fc84436b4106c767c00323cbb26cdab9c931e44a5a0ee90605258e3b599aba863eb685e0bde852f46bf10e6dd18b4510817a9cab984a2df075ca96
 SHA512 
d886a5815b686a95e37a35408af6694dc9566c13731424517e9b78033f1ea8d818b31edb406872e467b09160f430c3c1c42f96a634ff23d05434d26c35adc053
+DIST firefox-94.0.2-sco.xpi 499431 BLAKE2B 
d0e9373beb7951ea8a69da54d19b5386c651555db0d5922260334ee0459555fecf94e86440ad9fc81d7dc13250f288c16d8e9146c631813a6287df510ff9bdd1
 SHA512 
1cbea6de062b8307602a4ab1867ff4ecf4676da5487f069b7750548b3a3093d9da3b43c1b8e265f5e62f4ce87bcadaf39af7cc10a46b1319b48cfc4d97511a77
+DIST firefox-94.0.2-si.xpi 480775 BLAKE2B 
b71e3d687fcdf17e66ebbb743023f68e91aa4d05a097eb20a9dc813c1ebd600886cd48bf125214df5879e988c0a2b004debc25396825b5d3ae3bdc3cbca1c8ac
 SHA512 
adb1c1ea6c103fb130b8ea2bfa47fcc80a90ebb0c55ce024800dfa9c7cd52d12729293188598148590eddc26f4c993721482b0a8e1f80c421f649cfe77138323
+DIST firefox-94.0.2-sk.xpi 557124 BLAKE2B 
b30d60616a110183caffc134c9c023971cbe7880948af9b622a021f2ec1c6d0936ae0e5b8598420da564917797701fe3a3d853a930c970aa44cf29b1dff6309f
 SHA512 
60b6dc0bfd9c84ca47918b5da5d4d01c3fc3934aea36202a3436efc0bfb432a7ad39b5da582bdb9db79c2db8c437a0213cce5075ce52ace135285d3b4a52036e
+DIST firefox-94.0.2-sl.xpi 526081 BLAKE2B 
6b521955468b1ac1bc5eaafe5a82633160f817d742fd339fe5c4a9d57bfc283123b5b38ac6123c5e20e80ab70e07818a5cb3b788a21d1bd7fa46e4e05f7026d8
 SHA512 
a1906178bf30c1b95c684a9fc6f20fa698f46b71e9ce41b42d442f7a892051821a8782081de25771b33fc97a3003c2ee646e452beef15a30fee9e39819ac983a
+DIST firefox-94.0.2-son.xpi 417660 BLAKE2B 
a2097cc3c284ad1fd6ed76aa14a1503cfec2d8b788453ee2f749ab789fc5a02e3a0bab14048fc88738092a1a8146563c67d8b1919e49cbf99caf31fbefc5d95e
 SHA512 
1576da7385def23b5bfa5f79ba577ed76075554eee35bac6e2803a63568bce79f5974b16ac5444927cde8fd94254d607255d6857de5eed218d51a170a78b6a5d
+DIST firefox-94.0.2-sq.xpi 541136 BLAKE2B 
153c9ecb4e3766cfa8be1677d090f5d80a7158b42c93ace2a5b67b9d1c709f1dc9db21dc6d81d2871ffecaac3662d156d59a91e52786f808693bc4ddba11fb6b
 SHA512 
2313bd6a14a6a97a64716f43c239419bf6d03359fc691dd64be2cbba3f8b93968ba48742657b06cbc792787df74821dde035620c0df5569ea86cd034c5cc2b88
+DIST firefox-94.0.2-sr.xpi 578413 BLAKE2B 
0dde7c2c41b6a6d0ed34cfc628600e53df01c055694c313d792fc0faecfbd96e555a26ff2bcb063f60614416571c36124b761065cd131c268e8d03b75df053e4
 SHA512 
d179f74587705bdada49fcef9296b66df7f3f3cd7366aef77c314401765e65781412f7af006f815fcc0151ff87edb5262023035873e9c471fe4435cb0498af8b
+DIST firefox-94.0.2-sv-SE.xpi 531347 BLAKE2B 
9994b72b10495e4fc1156a8855480144ba292c003a44694cdf03b74b9e9bda25ecf9b21dfe35ff204096df40e8d914a3d781f4c3c679e87314c71f057174f517
 SHA512 
f0123ec3a0504ae87a4ee312e599f98c24de686cbe2742e379b3cd4aba9303e8b7e84f07fa85d345431737e4a38bdc0db6637c15511908ea1d56885f3c858cf3
+DIST firefox-94.0.2-szl.xpi 504098 BLAKE2B 
03a9df24e076d4d7ef31aa07a7ee73b49051f25f0ab0158437d199c7c66f2eafdeeb32973f686e039660996e694b0f3a4acfe111f32ea6da2edfb21c5f219bf3
 SHA512 
dd0dbf93dd64f6eac19c4ba46bb71bec8e8ccbb4631c1efcf9f306c36326c04c88e3a63a687481394b6ddd62d9d7a08d764d7c250b3a39dfd71cd5f250c0902d
+DIST firefox-94.0.2-ta.xpi 504998 BLAKE2B 
a36fced51d868c0c6be302a108a07f6dfbdc6e1384a9465c65f05019fa324748d2ae97e5fbff09127fc3a8f0dbe37d18198fac3a67233a76af603bb036cc2321
 SHA512 
584784ee4da4407fa868e7348ebd073d70c6695e4c2ce61cf3a2bb15d6997e127ede25f7aed9db6b3134636ce67efbc4248103484a70846451511b0249097a8b
+DIST firefox-94.0.2-te.xpi 543391 BLAKE2B 
39011734116e0a010c3e93a3930abacabec508c93571d0a987f8eff2d8449c8f441dfd72d5a47dcbff33fec742980b7808d6ee477e471f63905ad0fd3612bec5
 SHA512 
dc43b3adc63b5f00e55049de01bafd83a5b0bb653ea78fd243e4abc6177d2d9cef33db442e6e130205adab500578b78e6c21244adeecf3a8ac51643ebcc37eb8
+DIST firefox-94.0.2-th.xpi 593110 BLAKE2B 
9c7ff0577261e5cce787bbf12a6bd19462044c0e3417283785adea30ead7c0ac15fb628a6f235e0d327ce51068365ba9a717059d2007b8dce3f3d04456f9574e
 SHA512 
21bc17c9b3e400f60c441c1001a4426b4fa23dc1fa7bf7ccc6bf1c2517263853e29ade67bd74e91aff31d80236209a20013178ff3cf24a8635f588c674ca77d8
+DIST firefox-94.0.2-tl.xpi 509890 BLAKE2B 
cb035ec0c874830603d12cb7622e0a5cc5d2d400b5f53d68807880bd0f4eaee05417a5b3f9a75e3cfceec7b6185069caf2b8ae03b8fd35fc7e0d82c159e7a0df
 SHA512 
200b5a1fc32677dc919ede7fd287fb0ed225303e77a997d05be28f0266f4fc2c4833537b389bf6d2441bb223d69a78395dfe43d0cf88619867f7cc7bcbfe59ca
+DIST firefox-94.0.2-tr.xpi 543539 BLAKE2B 
b3b6b6b13954b793917c845dcac0de3a5148c70b0738f46102e9628b7db1b45df2cc81000dcf76e851e1adef26185c8ee5bda9e3fc0d754a489f47c9bdf10276
 SHA512 
2aa55b25a5940a9950a6dea32204d18871e2d9564eca77c5bda1ad3455dcc79aba9425fa40bb00bf661e632d5ff06c43c5e0529109e8efe436c7f5183809b9a4
+DIST firefox-94.0.2-trs.xpi 484342 BLAKE2B 
f3e416dcaeffe33c1f711f6944ce535d18853a194e767dffd2861a381dfbd7b74b4142246b65d0c3e59b7fa41080b0e4b6dcae2da65a081e955f3aa77047bff9
 SHA512 
970138125e8dec4195e6841d75e0ff1d09e11bf45d1599c13986fc31723c40ce8cbf9f245412d2d344dd0fd236506169a1fc42648c8b7a02eba3a00d25230ee0
+DIST firefox-94.0.2-uk.xpi 610393 BLAKE2B 
a7c985ccc07fcfc1ae1ed2d3cd10a3aee5b7685b72deffcd3d3c4772028aa2bb3ed4497afaddce1c5cc8840cdc3ba51546f94ad5b16fc9d209a20945bb1bd9fd
 SHA512 
e7c9a2d71d405a8eda6d42e5953dd1d3f8ee7eed18183a350ca7f69c1abcfd6c27753e4bb73f8daabab2db96b75c08466de0edf470d1c37c4e21c306b1c1c01f
+DIST firefox-94.0.2-ur.xpi 549894 BLAKE2B 
cb59be47ed60201051d0b0505b9d2d36a4debfe41b06f91c63a7f398074563074d92c2a036321a79b772861ef8a98e00fee5b9b073f92eb941f8d384cd5cc482
 SHA512 
47f839cc20daf86f21e279d29e937fcf0b374ee85ce4be7bc848453c32342bd1e089bc27bb9ea0f6abaace25f0e589681c4d657e92f99c45dd4aeaafc64108dc
+DIST firefox-94.0.2-uz.xpi 460712 BLAKE2B 
84639e54b1950433806c9f76b09d06c5e40180093905639d43fdbacaa6bd93c9994564304392732bfe7b29b2f5497453b1dc80f9079532f6337430833c2de29b
 SHA512 
9239047d441655b1e0884da8a16d5aea415ffe2600e7ece7661850c61328439f04f738431e52a7f853842b7808eaeabb63033cdaca2997e1d34c9bcd52b2ee2b
+DIST firefox-94.0.2-vi.xpi 564620 BLAKE2B 
19dd083641d232cb399e4f8024fe1e5a01a0bbbaed6ce10a87c71d3d9af553effde221235fbf9d4fc6ddfdbb2e3fe7547d24d651f1a736ad4339558604610284
 SHA512 
df2511ca3e0a562f5d9a7ad29df08e47372aaf63f7bf11d850e8c5eff18f9534fc112007b1da71e0493262404c3865ed1bf40d004ed78d9e001bd5cb5a4cc210
+DIST firefox-94.0.2-xh.xpi 421170 BLAKE2B 
76ad46bddd3283e395aa06b740d65a8b8c2ab70d424e9ea39a4ada42006f2a3234d92fa6092a720261ea391a5a595d01d3e0122fc209d8431d434706eae90658
 SHA512 
e286288b09c60f6d0f2ec166cd64149441891ae8332e15f22d571b78d2b92f7d01aeb06de93f5072f8198151378298636216114ae23948bb0fb9d560d4eba73a
+DIST firefox-94.0.2-zh-CN.xpi 566220 BLAKE2B 
c011e86a071303e3f8957ff62a0ea9f6bfaa93b8b328f2e506af83bf0008e990e92cb275488b6767af5dbbec40986c7f7c8c63d1f50c25cd13710d900ef58e1a
 SHA512 
5d67af7ebfb197a112e40985eb9fc49f98885137314c40eed8e7fc136b5d7e97b5a3afc81bc33a5a8eaf1d27cc9a31a32a1eade2d8672abd3765bcc86fce2c23
+DIST firefox-94.0.2-zh-TW.xpi 566884 BLAKE2B 
315ff12d2acb993161bca86c3bb3fe69e0f9f90e37d67c0f3c79bcc463b4d1c7da10b70fde8067f85717d2d0435c23f46f5170625c63f06798fb7058f503f001
 SHA512 
ddfb47be87c55d1707c890004c066f57dd4adedb5b0ca8675854f9c18491d3f765cf1a5264253639c256ec1306329b7e63e15de07aa4559ecf9c680e297ba8cf
+DIST firefox-94.0.2.source.tar.xz 382896780 BLAKE2B 
fb10a7506399b410eb6147b2b0e93f1933b4420cf70b1c9e56210484de5930ddbcdc17e34abbb61734fae7a723a4032d250f872a684096c98f9c432a80b21273
 SHA512 
00ce4f6be711e1f309828e030163e61bbd9fe3364a8e852e644177c93832078877dea1a516719b106a52c0d8462193ed52c1d3cc7ae34ea021eb1dd0f5b685e2

diff --git a/www-client/firefox/firefox-94.0.2.ebuild 
b/www-client/firefox/firefox-94.0.2.ebuild
new file mode 100644
index 000000000000..eb7a24217862
--- /dev/null
+++ b/www-client/firefox/firefox-94.0.2.ebuild
@@ -0,0 +1,1237 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-94-patches-02.tar.xz"
+
+LLVM_MAX_SLOT=13
+
+PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+       llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
+       virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}";
+
+if [[ ${PV} == *_rc* ]] ; then
+       
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}";
+fi
+
+PATCH_URIS=(
+       
https://dev.gentoo.org/~{polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
+       ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox";
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0/$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent 
+system-libvpx +system-webp"
+IUSE+=" wayland wifi"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver"
+IUSE+=" +gmp-autoupdate"
+IUSE+=" screencast"
+
+REQUIRED_USE="debug? ( !system-av1 )
+       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: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] )
+                       )
+               )
+               (
+                       sys-devel/clang:11
+                       sys-devel/llvm:11
+                       clang? (
+                               =sys-devel/lld-11*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-11*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:10
+                       sys-devel/llvm:10
+                       clang? (
+                               =sys-devel/lld-10*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-10*[profile] )
+                       )
+               )
+       )
+       amd64? ( >=dev-lang/nasm-2.13 )
+       x86? ( >=dev-lang/nasm-2.13 )"
+
+CDEPEND="
+       >=dev-libs/nss-3.71
+       >=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/libpng-1.6.35:0=[apng]
+       >=media-libs/mesa-10.2:*
+       media-libs/fontconfig
+       >=media-libs/freetype-2.4.10
+       kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+       virtual/freedesktop-icon-theme
+       >=x11-libs/pixman-0.19.2
+       >=dev-libs/glib-2.26:2
+       >=sys-libs/zlib-1.2.3
+       >=dev-libs/libffi-3.0.10:=
+       media-video/ffmpeg
+       x11-libs/libX11
+       x11-libs/libxcb
+       x11-libs/libXcomposite
+       x11-libs/libXdamage
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXrandr
+       x11-libs/libXrender
+       dbus? (
+               sys-apps/dbus
+               dev-libs/dbus-glib
+       )
+       screencast? ( media-video/pipewire:0/0.3 )
+       system-av1? (
+               >=media-libs/dav1d-0.8.1:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-libs/harfbuzz-2.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-webp? ( >=media-libs/libwebp-1.1.0:0= )
+       wifi? (
+               kernel_linux? (
+                       sys-apps/dbus
+                       dev-libs/dbus-glib
+                       net-misc/networkmanager
+               )
+       )
+       jack? ( virtual/jack )
+       selinux? ( sec-policy/selinux-mozilla )
+       sndio? ( media-sound/sndio )"
+
+RDEPEND="${CDEPEND}
+       jack? ( virtual/jack )
+       openh264? ( media-libs/openh264:*[plugin] )
+       pulseaudio? (
+               || (
+                       media-sound/pulseaudio
+                       >=media-sound/apulse-0.1.12-r4
+               )
+       )
+       selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+       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!"
+
+                       # temp fix for https://bugs.gentoo.org/768543
+                       # we can assume that rust 1.{49,50}.0 always uses llvm 
11
+                       local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 
'release:' | awk '{ print $2 }')
+                       [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 
"${version_rust}")
+                       [[ -z ${version_rust} ]] && die "Failed to read version 
from rustc!"
+
+                       if ver_test "${version_rust}" -ge "1.49" && ver_test 
"${version_rust}" -le "1.50" ; then
+                               local version_llvm_rust="11"
+                       else
+                               local version_llvm_rust=$(rustc -Vv 2>/dev/null 
| grep -F -- 'LLVM version:' | awk '{ print $3 }')
+                               [[ -n ${version_llvm_rust} ]] && 
version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+                               [[ -z ${version_llvm_rust} ]] && die "Failed to 
read used LLVM version from rustc!"
+                       fi
+
+                       if ver_test "${version_lld}" -ne "${version_llvm_rust}" 
; then
+                               eerror "Rust is using LLVM version 
${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+                               eerror "You will be unable to link 
${CATEGORY}/${PN}. To proceed you have the following options:"
+                               eerror "  - Manually switch rust version using 
'eselect rust' to match used LLVM version"
+                               eerror "  - Switch to 
dev-lang/rust[system-llvm] which will guarantee matching version"
+                               eerror "  - Build ${CATEGORY}/${PN} without 
USE=lto"
+                               die "LLVM version used by Rust 
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+                       fi
+               fi
+
+               if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+                       && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+                       # bug 792705
+                       eerror "Using GCC 11 to compile firefox is currently 
known to be broken (see bug #792705)."
+                       die "Set USE=clang or select <gcc-11 to build 
${CATEGORY}/${P}."
+               fi
+
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if 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() {
+       use lto && rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make LTO respect MAKEOPTS
+       sed -i \
+               -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/build/moz.configure/lto-pgo.configure \
+               || die "sed failed to set num_cores"
+
+       # Make ICU respect MAKEOPTS
+       sed -i \
+               -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/intl/icu_sources_data.py \
+               || die "sed failed to set num_cores"
+
+       # sed-in toolchain prefix
+       sed -i \
+               -e "s/objdump/${CHOST}-objdump/" \
+               "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py 
\
+               || die "sed failed to set toolchain prefix"
+
+       sed -i \
+               -e 's/ccache_stats = None/return None/' \
+               "${S}"/python/mozbuild/mozbuild/controller/building.py \
+               || die "sed failed to disable ccache stats call"
+
+       einfo "Removing pre-built binaries ..."
+       find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) 
-print -delete || die
+
+       # Clearing checksums where we have applied patches
+       moz_clear_vendor_checksums target-lexicon-0.9.0
+
+       # Create build dir
+       BUILD_DIR="${WORKDIR}/${PN}_build"
+       mkdir -p "${BUILD_DIR}" || die
+
+       # Write API keys to disk
+       echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+       echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || 
die
+       echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+       xdg_src_prepare
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       local have_switched_compiler=
+       if use clang && ! tc-is-clang ; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+               have_switched_compiler=yes
+               AR=llvm-ar
+               CC=${CHOST}-clang
+               CXX=${CHOST}-clang++
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+       # Pass the correct toolchain paths through cbindgen
+       if tc-is-cross-compiler ; then
+               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+       fi
+
+       # Set MOZILLA_FIVE_HOME
+       export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+       # python/mach/mach/mixin/process.py fails to detect SHELL
+       export SHELL="${EPREFIX}/bin/bash"
+
+       # Set 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-png \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
+               --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+       if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+               mozconfig_add_options_ac '' --enable-rust-simd
+       fi
+
+       if [[ -s "${S}/api-google.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+       else
+               einfo "Building without Google API key ..."
+       fi
+
+       if [[ -s "${S}/api-location.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-location-service-api-keyfile="${S}/api-location.key"
+       else
+               einfo "Building without Location API key ..."
+       fi
+
+       if [[ -s "${S}/api-mozilla.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+       else
+               einfo "Building without Mozilla API key ..."
+       fi
+
+       mozconfig_use_with system-av1
+       mozconfig_use_with system-harfbuzz
+       mozconfig_use_with system-harfbuzz system-graphite2
+       mozconfig_use_with system-icu
+       mozconfig_use_with system-jpeg
+       mozconfig_use_with system-libevent system-libevent 
"${SYSROOT}${EPREFIX}/usr"
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-webp
+
+       mozconfig_use_enable dbus
+
+       use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+       mozconfig_use_enable geckodriver
+
+       if use hardened ; then
+               mozconfig_add_options_ac "+hardened" --enable-hardening
+               append-ldflags "-Wl,-z,relro -Wl,-z,now"
+       fi
+
+       mozconfig_use_enable jack
+
+       mozconfig_use_enable pulseaudio
+       # force the deprecated alsa sound code if pulseaudio is disabled
+       if use kernel_linux && ! use pulseaudio ; then
+               mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+       fi
+
+       mozconfig_use_enable sndio
+
+       mozconfig_use_enable wifi necko-wifi
+
+       if use wayland ; then
+               mozconfig_add_options_ac '+wayland' 
--enable-default-toolkit=cairo-gtk3-wayland
+       else
+               mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
+       fi
+
+       if use lto ; then
+               if use clang ; then
+                       # Upstream only supports lld when using clang
+                       mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang and USE=lto" --enable-linker=lld
+
+                       mozconfig_add_options_ac '+lto' --enable-lto=cross
+               else
+                       # ThinLTO is currently broken, see bmo#1644409
+                       mozconfig_add_options_ac '+lto' --enable-lto=full
+               fi
+
+               if use pgo ; then
+                       mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+                       if use clang ; then
+                               # Used in build/pgo/profileserver.py
+                               export LLVM_PROFDATA="llvm-profdata"
+                       fi
+               fi
+       else
+               # Avoid auto-magic on linker
+               if use clang ; then
+                       # This is upstream's default
+                       mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+               else
+                       mozconfig_add_options_ac "linker is set to bfd" 
--enable-linker=bfd
+               fi
+       fi
+
+       # LTO flag was handled via configure
+       filter-flags '-flto*'
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+       else
+               if is-flag '-g*' ; then
+                       if use clang ; then
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols=$(get-flag '-g*')
+                       else
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols
+                       fi
+               else
+                       mozconfig_add_options_ac 'Gentoo default' 
--disable-debug-symbols
+               fi
+
+               if is-flag '-O0' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O0
+               elif is-flag '-O4' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O4
+               elif is-flag '-O3' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O3
+               elif is-flag '-O1' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O1
+               elif is-flag '-Os' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-Os
+               else
+                       mozconfig_add_options_ac "Gentoo default" 
--enable-optimize=-O2
+               fi
+       fi
+
+       # Debug flag was handled via configure
+       filter-flags '-g*'
+
+       # Optimization flag was handled via configure
+       filter-flags '-O*'
+
+       # Modifications to better support ARM, bug #553364
+       if use cpu_flags_arm_neon ; then
+               mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+               if ! tc-is-clang ; then
+                       # thumb options aren't supported when using clang, bug 
666966
+                       mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+                               --with-thumb=yes \
+                               --with-thumb-interwork=no
+               fi
+       fi
+
+       if [[ ${CHOST} == armv*h* ]] ; then
+               mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+               if ! use system-libvpx ; then
+                       sed -i \
+                               -e "s|softfp|hard|" \
+                               "${S}"/media/libvpx/moz.build \
+                               || die
+               fi
+       fi
+
+       if use clang ; then
+               # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+               # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+               # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 
'x86', 'x86_64')
+               local disable_elf_hack=
+               if use amd64 ; then
+                       disable_elf_hack=yes
+               elif use x86 ; then
+                       disable_elf_hack=yes
+               elif use arm ; then
+                       disable_elf_hack=yes
+               fi
+
+               if [[ -n ${disable_elf_hack} ]] ; then
+                       mozconfig_add_options_ac 'elf-hack is broken when using 
Clang' --disable-elf-hack
+               fi
+       elif tc-is-gcc ; then
+               if ver_test $(gcc-fullversion) -ge 10 ; then
+                       einfo "Forcing -fno-tree-loop-vectorize to workaround 
GCC bug, see bug 758446 ..."
+                       append-cxxflags -fno-tree-loop-vectorize
+               fi
+       fi
+
+       # Additional ARCH support
+       case "${ARCH}" in
+               arm)
+                       # Reduce the memory requirements for linking
+                       if use clang ; then
+                               # Nothing to do
+                               :;
+                       elif tc-ld-is-gold || use lto ; then
+                               append-ldflags -Wl,--no-keep-memory
+                       else
+                               append-ldflags -Wl,--no-keep-memory 
-Wl,--reduce-memory-overheads
+                       fi
+                       ;;
+       esac
+
+       if ! use elibc_glibc ; then
+               mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+       fi
+
+       # Allow elfhack to work in combination with unstripped binaries
+       # when they would normally be larger than 2GiB.
+       append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export MACH_USE_SYSTEM_PYTHON=1
+
+       # Disable notification when build system has finished
+       export MOZ_NOSPAM=1
+
+       # Portage sets XARGS environment variable to "xargs -r" by default which
+       # breaks build system's check_prog() function which doesn't support 
arguments
+       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+       # Set build dir
+       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+       # Show flags we will use
+       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       # Handle EXTRA_CONF and show summary
+       local ac opt hash reason
+
+       # Apply EXTRA_ECONF entries to $MOZCONFIG
+       if [[ -n ${EXTRA_ECONF} ]] ; then
+               IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+               for opt in "${ac[@]}"; do
+                       mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+               done
+       fi
+
+       echo
+       echo "=========================================================="
+       echo "Building ${PF} with the following configuration"
+       grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+               [[ -z ${hash} || ${hash} == \# ]] \
+                       || die "error reading mozconfig: ${ac} ${opt} ${hash} 
${reason}"
+               printf "    %-30s  %s\n" "${opt}" "${reason:-mozilla.org 
default}"
+       done
+       echo "=========================================================="
+       echo
+
+       ./mach configure || die
+}
+
+src_compile() {
+       local virtx_cmd=
+
+       if use pgo ; then
+               virtx_cmd=virtx
+
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+       fi
+
+       local -x GDK_BACKEND=x11
+
+       ${virtx_cmd} ./mach build --verbose \
+               || die
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from sys-devel/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js 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