commit:     7c940dbb5bd63c49acf193b82a68ef21bd7d4aaa
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Sat May 21 09:18:13 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat May 21 09:19:35 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7c940dbb

www-client/firefox: add 91.9.1

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest              |   98 +++
 www-client/firefox/firefox-91.9.1.ebuild | 1244 ++++++++++++++++++++++++++++++
 2 files changed, 1342 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index db2c66d32064..2a5b2ceb4995 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -293,4 +293,102 @@ DIST firefox-91.9.0esr-xh.xpi 428177 BLAKE2B 
197dcfc2298edfa0b421322c275998dea40
 DIST firefox-91.9.0esr-zh-CN.xpi 575381 BLAKE2B 
662cf6768693e480184a7e789d1a823dd12aa7c710f5d8dae46398d78d2f827683c7d983ee31116937db841887f32acd4ddf75a34fdf29f8c9cb90b113a3f82d
 SHA512 
ab6adcc8f1071aacda8452b0d58d26ee8f1072189b7459f9191e3a4c1b4a9f864ca3483fe6bf9f642f962d5f223d5f11364173349519a7ce7a4c7451c08d27cf
 DIST firefox-91.9.0esr-zh-TW.xpi 576235 BLAKE2B 
643c0d43f76a30eb1e6b9dae66798a6c4bde081e95585327377c7890c06eb27f1a35bb886ed3dcb6ff42e8766d0429fe5c7129ad8df1fb8735bba86f1860223a
 SHA512 
326ae088155fe30964ce58b564dfc0879d5f94b14c31173194e424f3a2862a4619d76852118403ac92ed61581e5419395f219cdb8bc9a3056beded03d3b83d96
 DIST firefox-91.9.0esr.source.tar.xz 384516460 BLAKE2B 
5b265ff907ff520edadb1211ceb9201419349555bc4ab9acbf1d50ce9f0a9bbd26b830f58aec899d882c25f8036bf4ea1df39c7ad144d0305c69826816eec48a
 SHA512 
fd69d489429052013d2c1b8b766a47920ecee62f0688505758f593b27ae66d6343b9107163749406251aedebdf836147e4d562415a811b04d7ab2ae31e32f133
+DIST firefox-91.9.1esr-ach.xpi 453222 BLAKE2B 
5550856eb82e8774104400f1da02d6c4da95ebf01867c4706603c05e0678c308f5452bf3beb89936cfd89679553871b0e54fc17ab18e47f132e1984b60c0392d
 SHA512 
b781130b79e20ae9f69f92dfda2cd12da58af023a0d39b58cc53032f8ca99eb8e5013bcd3017886b4a8b725caeee2215fe3d5f6df2d287245911f01dff6a603f
+DIST firefox-91.9.1esr-af.xpi 426915 BLAKE2B 
e069a50208c4f233d518ae91099e7f23b85f24ce0361f60372e07a2303a6235a06018429b0dbeb55bf601cd3255aa62301c4e762e2146591357d4ccc07aeff33
 SHA512 
9e1ca5c60675146b2b62bb7856582cd9d7cee81b8cda0efe57c631adaf0239f43c12aca7fc194e90742baf3de3313923d644a37281f7e09ab0f42094e35dd919
+DIST firefox-91.9.1esr-an.xpi 499887 BLAKE2B 
662a8c02774140eaa890d42ee2308e71f5fbe14c1fc58acfae8a9fe3a8595b1593575521430bbd20ab251095d867b952a868d55378fbe08e1bbb3c94bdc39717
 SHA512 
c873a8f091a2f673b1bbb0b0c7718b4d41fa4ef4930190ce866ecca19f7ed10428f2c6080dd77f1c80fae2cbbc8123d835033cd2e3fcfd8a43942c0ba812ea27
+DIST firefox-91.9.1esr-ar.xpi 559677 BLAKE2B 
968db49cadc2e3f98a8a789cb407f78d300848545f5dee231c99505e6bd9baaaf41c921f4152312fff78b050a38768fcd15a3c160f2c64490588002ad25b5486
 SHA512 
7bddc8e37d0bbd213af50f87c050e52b7908a8fbc7e60961d7bc2ae8d04bef0d4d759e369e7206537ff3456d45e9eb4257fe1c571e3bfedff3e17e3593438a34
+DIST firefox-91.9.1esr-ast.xpi 498573 BLAKE2B 
4a6a71cee53a5ebf58552150f27fc915c22e020e6b286441930f1c465be5b38f37e3869b9ea1b0fc434156316c31e649e93d562e74efc778c186f02aab7c9d50
 SHA512 
67e4c9bfadb4d2b8ff9e12e89e0b500431de8f4f8dddec51384e5f01fae66e0b50a2522360481018467627524e682ecb4b93f601a8f3a5bbfcd6629d6b0249c8
+DIST firefox-91.9.1esr-az.xpi 489432 BLAKE2B 
846a3ed39d26c80bf86794c80ae59b616f1af42be79fcb4c3e689f466c27540460d3569792bc7532e35fd254b58f1447d7ee32ea1bf7450bf1a110c539ffa840
 SHA512 
33511baba4e7b2d26ac690f68ffb71301b535da8c69a4653fc8fe19757987df23d31b5fce075b18dc61143c3f03d40503a41be51bd0821f2ef9546f5a71056f5
+DIST firefox-91.9.1esr-be.xpi 622606 BLAKE2B 
0f82eee79d75e9c575f660ffef2fb8a913e5a9d83dd562419f0f326727ffd187546eb48ed8628d731704a98044d43bdeaa14cd2b0134e84eed5091fd0e226335
 SHA512 
57d5e45299d81da56e4ee7010796bb4d66775eda4eaa7b8f488861e11966d298d071b5b8b677629c3a3ac73b937e5555aeb0e4675cee38f3842c58bb62a4ed43
+DIST firefox-91.9.1esr-bg.xpi 567637 BLAKE2B 
5730b6e43099a9dfdb3974b59cbf6402241714385f2094718f38a568b8cd0712ed26d026f5028480600875318538defbac6652199497d226f58d6237af153407
 SHA512 
6f99f08c8c6c6ff2e5e1f2384bd5bde7b92ca51ea60f6337f24196e7a1afe482137077fbb5b5123ec54a6665084771d77ee38614710a1e2db1421558a519dda7
+DIST firefox-91.9.1esr-bn.xpi 556821 BLAKE2B 
e9abdd49a51c0fcbd59b2874e7fcbfb8b083ad4af9bc220ab8cbec20cbdb7eb27db775f5a50420a332400b630c14f5a6b17e527e48d466e26eec627086c22024
 SHA512 
56d7ce8a8083723ec1a8b779f4c13c432c1c6624ccee509aa766b72d28be909631627d2a8353be85b1fb78eead99d79d379f2dd7191c4f2763621e2e036b3098
+DIST firefox-91.9.1esr-br.xpi 526248 BLAKE2B 
85fd150812ea09da4ee969af0304dca74c20cb60cfb9da6f70ec129de908dc540f2dc058d694cc5f6ea940d9aa5d68f3fe0e892fee8dd9f5efdd40a59c8708f4
 SHA512 
376d1d606079434be8409f3f5503115cfe01962c86a6868b6a72b2d63cd09ea130f651c1a8a6e0ff61928ad8e513cfa9c695bc24ec671c1b2aa01174fdcfee04
+DIST firefox-91.9.1esr-bs.xpi 463562 BLAKE2B 
5a53c90be2bbc928927fd2ae53e5b45c118b1e417da6036053e0aa3c2bc79978faf9906310b508f59cc147af1d1a1b84e2ecd9ab663c95e58eb4a9678c771ad6
 SHA512 
e18f4f4fe2e80824cae025be4f83757f73607037e4836102c9566395e174ed5c45c9a70690b618b54a8197b9c3700daad33eb6006fdb0f63c8557442032d883a
+DIST firefox-91.9.1esr-ca-valencia.xpi 529401 BLAKE2B 
fd6ba308413455c43a8545c7a294db8696411c891f028a8ff3d7e0649f69e891b94a0d1c042ee2bfa2c411e8bbc2fa06a02968dbc421f14e9bd5c51f61eed54f
 SHA512 
09b137a2d91e72e9bc0411bd3cda1ded17b2794475a19fda4e75c18b9504d4e4e732f85323da66f689c56d1b3fed214895513764dd7002ff382d4e7a09337c0e
+DIST firefox-91.9.1esr-ca.xpi 532485 BLAKE2B 
b8aea4942c1670d79eaf26c3071ddf26dc7a511b9dbef05238eb268f59ad3fe63cedc43a1d9ee7f07f3392edc5f06842799728fc218f2e3ff36d1cda48dcef82
 SHA512 
e5899c96a65f174dcf91c55644114aec547c521b602ba59cdd469f8bca5e7e454e00074410887ed159fb6b3ae790fee1d6e31c071d23eb9061617b82f1b52bb5
+DIST firefox-91.9.1esr-cak.xpi 552604 BLAKE2B 
54f8ff565e503d56b47a4dbd39f01768bf27e4cf93abb8ea0fc134437a1ee86005197d2e7477ac3592e1b2c2967065b0b0b202e67c6101a8a2a4802b4f008fff
 SHA512 
9dd5b7d388c8761f28357abfa134b576960e5b6a4768ec2bc7b3e02018a731db6ddb9e40463f3c6cb696fa8ff6efa3a79e622dcbe904a70f4171a6d517ac8692
+DIST firefox-91.9.1esr-cs.xpi 563178 BLAKE2B 
81e0c44a700f2279b5c25d7f7e12bd2b05e99a3dfb8f3d02a9f99ce1def663a2ec9818bfc6ec5c2609aa3433e5f56aeacee22e67b43dbc4ee9b7e0ad46bd5455
 SHA512 
746d1b6bd22384b9a4eb059da37715b0070cf426218c62be6a3c8a6d440972d389aea3584f0615af9d28d6df05a909bf55ab2dd6f2ff3bd370dabc1924fedc5a
+DIST firefox-91.9.1esr-cy.xpi 542220 BLAKE2B 
9b621a600c49d1b9976c91ad7841647d57454436a438e0fac80d07c633c2e3823c6ffe2164ebe1d7253a208998177f563b543580173e4138a573081b932d39cb
 SHA512 
77663420b067c402ebe7e62d74a275511f46bc28cc9241ed8c20156fa51c6881c8faf5ab96cb37f56ddc808723cd48af100404442ac463c7a17dda6e7d58625c
+DIST firefox-91.9.1esr-da.xpi 534156 BLAKE2B 
03b76b9562b22258a5f672dfaede305ba2032224f3fcca26d54def02bb8a3512e72504ca2ef1f584b56d214041094eeed0a3a7d93b6a41f8f0670d5367a213cd
 SHA512 
820b3dfa62476c672a48746f31b8483e04ebcb98982d493e5196766424877b3dddbd43c769b69ae3ca7fb144df2b9cae3afe402f5f97a6bb0d3c3475be9742da
+DIST firefox-91.9.1esr-de.xpi 553581 BLAKE2B 
4dfb1571da036e05d7ba8bdbe7dd55447d89dfda95170e788b03147a9b16daa7807a3f9e1820866e3880f0226370f91f77a4ddb928334c555c85d66ae067631b
 SHA512 
8f05ab8c73933d8013026a057438320dc6550de35749a53bf8688b7ccd86004c24cb085af30ba8e117f1d58727eb96dc2cea8c49fa18bdcec63e393c1fa5d5e6
+DIST firefox-91.9.1esr-dsb.xpi 566474 BLAKE2B 
064bfd378742726c87aa2eaa37c071caf8d130271c04f1e44e104c5518e62ebaf7a11fec78e7bd7db75e854d5ad41756d722f09ff0b61a4f9d60988f2bc30cb1
 SHA512 
0e4509f32f45bc2429eb5b8be813ac4e39b7b68ce6e8454551766763ffd344574700611a53c022b40a9dab46081b67447e956255cbc5851a92ed4e8e9bb471d7
+DIST firefox-91.9.1esr-el.xpi 639151 BLAKE2B 
3089a6f0a85eedb2acaf2b32db4f043b5628af4a02a5b70722a8f46441ec12c4fb8cbc5d3fe915327d189c128468ca86fc4c6abd9c4eaca8a407239d01d47ee8
 SHA512 
027de93fa2db2143655ef5ec5868036b69f4062973a99b3a2036cc742fe275815cd809c44a9de085ef669b07affffa19460323a2589c7f7dc6b33c0a6942959f
+DIST firefox-91.9.1esr-en-CA.xpi 509576 BLAKE2B 
f455e6cac08d3acb9e0a38ca77d20fa4aa4686f7e6cdca190ffd460c7bee0fa23357295bfb47491629811ce3d38730c18c21b2d054d51e8218a3ba836bd7e706
 SHA512 
158990ef837d3326ae926f4c024e759284c615ef0b289233538e931c9349ba6d9068db35496ac0a17a6936c0b7c555a6f0598e63ef7b6f9468bfa2a1a01e05c5
+DIST firefox-91.9.1esr-en-GB.xpi 510588 BLAKE2B 
b6dc5ce54aacaf1b1bcbda83e52ea9eec4c356079be6b1bec5b77feb1ab8087631a39a6a21e91471981ddd8dd945f3d1b9f34946e74d89a097083af7a7dbf3e1
 SHA512 
435931dd5cf36705bf3c52d55d8fa682db70314650f3c29fb4215e48717e2087f8a4fd3609f989c963c49dccc89882f1c4069b2cf3173d443da5275bc359465a
+DIST firefox-91.9.1esr-eo.xpi 534799 BLAKE2B 
2fee158dfa3dea6ef3abee975366c433554c0719cb4c558c16fcdcc02ca9345f1c7b7688f8323332939a20ab06a9949895582d713bb0686c18fb076b117e9884
 SHA512 
8e28b390e1f3d8c226a6908a80a4e36ed3aefdaa875c412d5cc4fd1fca8d864375b77a089deed703d74dc945dcd6a55368d090d3d5ec215bf528ec1211dce4fd
+DIST firefox-91.9.1esr-es-AR.xpi 546672 BLAKE2B 
c4d6667677f2b6acecf55f1588923f5a89cce4c7b7b93a75ee4461cc783da74a8d5127370802c46457b792c5eef3ae11cf3893dbf525f50f83da74c9e78c6869
 SHA512 
9ceeb1abd3a3672aa52fa6ad1078a8e60e3cfab5f71a972384d3eaa5da7bf28cf60f94631fda813782acfdcc1aec0f6db185639f4c51297dc83417cdc0fd41bd
+DIST firefox-91.9.1esr-es-CL.xpi 546372 BLAKE2B 
5903a48a83f5524d350021719f8f195cebf24efc0e93d0d62a74e0f21bf26a6e5429e959a6fba3498221ee0e2e1b321abd151c95244cbbb39300081cde84e4a5
 SHA512 
14f2ee5d7b04540ba70b79b2d28b97540086c747f0c85270971cf0a1b09b8108fb1ffe809983c790f07df69e650dea642815ecbb9f030c13af5627fd6caafafd
+DIST firefox-91.9.1esr-es-ES.xpi 537065 BLAKE2B 
e15aa0038b59a4ba1ef14fa5165a6ef6bfd38869daf70c1057d195f9d715e87108b5c2eced9996651cabb487f6acdd8df94eb67d96a9ec59d3625766116d90c5
 SHA512 
5fab44dd92453658c45875178dcb254e8b0525fbb0c80f203dea9d550cb8a56b6cdc170fcd393c519a23f1b98701e3cb42e9f4686ff4ca2efbccdf1aebf691b2
+DIST firefox-91.9.1esr-es-MX.xpi 549990 BLAKE2B 
dbe9dd632256c9edf5a047ee9b0ae989d7be4fbd53a3daed631292702f03cd30e871962dee18cdb6e649bf9271eed318ec27c87b9efce62a233c83bd6621e879
 SHA512 
9d093eda62eb4956eac6cc22407096c029a464339a4daf897ebbae58de5286930d3dfa06b1b292de8285f27033ab00f6cc9c9ab3a35a8befd33ce22c8df32d62
+DIST firefox-91.9.1esr-et.xpi 506667 BLAKE2B 
c98156cea556ece84a7975acc3e5946a02aaf2bcdebdf26794cab02e163d7421379e0489fa44fbd8d05c0319bda7971881d98a5f1d532fac32714aebccacb0f1
 SHA512 
d843161f279afa5b00a87b150e0aa79133e637847971078c375af74132b41f6c8d5a3cb0da7955cc7b58dc79b7722272d4bad9575f89a9d89729decd261efbff
+DIST firefox-91.9.1esr-eu.xpi 536326 BLAKE2B 
15824e5680c82e482b1a674371caa49466c505c9713b36159fa09f96e1058bc0f7977d0114ef3ea011c326f54dc2d6d434f46887b61dbd74ba6c9db2a828b70e
 SHA512 
e5441778071e11b266fe1f8ca8acf2d2c7b0118ad2ed9c5ae73f8160be8ac336eeb7d327984e3582d7c12daee43cdd1889be98777ebb49a08f78a3bedddd0f59
+DIST firefox-91.9.1esr-fa.xpi 559381 BLAKE2B 
33f299cdc791ba0d0b3c9bfda29925f5fa7da66f266318623247d02fe37aa18a9895c1b5ca5d22034572767f2e7b701b3496736a3526546b9594e5e62a9ae2f2
 SHA512 
e7797bdd7fc34900b5da8587fff6292870c72e3091dc276ea6a392b0cb8485470ec7a775f957d02390cc623c2ed6fef70ef6962543150666c18f15eeece866fe
+DIST firefox-91.9.1esr-ff.xpi 471865 BLAKE2B 
4b2629c6a6d16be4657245518213e05a985e22c6c3d49cf48c7898be055532eb37600212ecee9da0320d9609ca2eb71d9033c66d046db51f89776bae5b1d2eea
 SHA512 
903affd8b0df0dbbdcc77a978fb3c51d6cab5607ebadc82336fc12be313afc82b4aeed6a3c5b865567c603b5576e94c0311e7b16a1c9c3c8ab46620c960adade
+DIST firefox-91.9.1esr-fi.xpi 531480 BLAKE2B 
abeccd533f5790410e9367b96a9073f5afc4e19aa82e030a21694b1eb55e6a643c04a78ec41dd691a02f86de61d7b0347523e6e787b6a46778c83ba44b6dff30
 SHA512 
2c05cee8fa839854c6ea2aedbea12b9ffbf2747beb20f6ff6d5d61c9e4288fce4d7b4d81bb48d47501ddebf12a7c31df247013f29f541f4bb0e33475b3530321
+DIST firefox-91.9.1esr-fr.xpi 557617 BLAKE2B 
885ba7b74f7f0aa9dd0f58308a3b20d19d915fac5b3e1ece262a7d5195c894048c0a5dc639156e68006f1eed5b18b15e7df0ce2eed6d8f1db0f2a78e2de4ed31
 SHA512 
c19ee76fb0eeb93fdb7e2f50e395324b4e545ef7adb707285f7799c754ee2b02163a593197e66f5b0c4ad04a1f83ac1cee68e5579039120f5d56eac954e16ce1
+DIST firefox-91.9.1esr-fy-NL.xpi 543307 BLAKE2B 
9c266fd328450d473752e33613bff9a20745c79d84eac3e184b90ccb27026f56aa38f66ea8f6ef0853bd1187cb306a0838a8c4cb093cf8e3ee83d2245d558f18
 SHA512 
f8ff4d61303014371e8bfa3fe03aae0896038446ff92c026005d3945385da18acff3cecf3d2d105fc36a6abdb8310016236a0ad1099412305dec803ae2ab27d6
+DIST firefox-91.9.1esr-ga-IE.xpi 459828 BLAKE2B 
aa63e6a18ba74b0a7dc77fc882739356d1261a1b80afa57dfced0a558371a88db47134e2cfc9c03d590027b41b159ebdb0dec262b5f2cc6e6f0e27dc86765829
 SHA512 
f223c06ac8af6e78847d8c4cda932ec6512e46d8af6763fc2ef5d2bb83d523279ac6e9213eda79a807e7da69b8f9dc36d27f81a16fc9c56f202d64cd5870e34d
+DIST firefox-91.9.1esr-gd.xpi 530843 BLAKE2B 
4d28655cb29ce768d30ee31b18e5f108af8b330e402d5e9419baf517322325efad394f112e2aab2f3e696287bb15970b010e98437c60d8e18c6b49524938a21a
 SHA512 
3c9f70cc62a43168d82d912f70928016f75129341a01c2bce9c710fe8028baefb989eda6903b1d647fe1fb6f2e6d2d65a6da257cb8270fc96519861de1928b85
+DIST firefox-91.9.1esr-gl.xpi 541294 BLAKE2B 
7453533acc5886a09ad705ccbccbea86565fe4bba5f307239dfbf538e2668733009aa2d4fb188bf22ed6b3df8b66f0ea5da5b2d3cacab71ff7ea46e55c4777c0
 SHA512 
6473d9e11f2a887c43d89e7bb6480dd1830c3f28cf9f9c59d796952411d3d57b52b7570b737cea96b418969d8c64e41c4bc9cff110defa42f67bd345caafe07b
+DIST firefox-91.9.1esr-gn.xpi 557605 BLAKE2B 
f145d4bcf4ad293b671570f783469b598d977f1faeb75c370cae15714c0800f98e285d7775413769b6b634943b5a34e593f813e099a19eb8859bb500d981987d
 SHA512 
061aca44b5551af76d5c261aafe980b4e589dd8f4cacdb6facf93d62d0bb72f4b186ebe4badf55b19f1011464314e201b027eddec7348a04d131d5a7a844954b
+DIST firefox-91.9.1esr-gu-IN.xpi 529553 BLAKE2B 
790c509d8d863163464da7049a61040b1abb7f39713850d68565f14338066b3595fb8b721f40f0173d76740bae75377f244e960d8138c77e6e80293da4b1b212
 SHA512 
7efd3a293bced416799f2d58b668330d41f9b7af74cd7307652d3a459e596fe5032b39a5991f71b1a34a3fc73393fef0bb287ea26a6db02a3e0ff50564e6e28d
+DIST firefox-91.9.1esr-he.xpi 557203 BLAKE2B 
bddd143ea31d68da53fd96b5cfd569b7d5111de3b388357f2cc4b083085a88a001640817f0a92d2793bc4555834cf821b164cacd62a520c9c3763a34d73bbfc4
 SHA512 
5c49ba571476c7b50270a76b8fa7bc1e55037a189387e4b9ef113b755a0acf8262dda17193f4ce7fe9a75e1b2bfa6cdbca1fc60b66cb09dcb3b0c89932899d25
+DIST firefox-91.9.1esr-hi-IN.xpi 560656 BLAKE2B 
e9d8b8c4cfa926b5b82f4d57dbe8f3e4d1b46befad05ad11dab7f179e31318a5cb289cd2772fb264fa02ce9c9372e9eefe93a875d61fed048e578eea85f6fc89
 SHA512 
76615c44b23ffbffd929734ade318e2bf339a92e0ac2f4196d547eb677e23230fd65996f7b3b6fbda9bbc0fd4b90727dba9385bbb0129eb7c7a3f37613cfdf8e
+DIST firefox-91.9.1esr-hr.xpi 530056 BLAKE2B 
fe5dbfb8918c7ca02834deed5210ff332d92c40331e881eb0c08fda6f2c481e054079eeae9fa3e9080d36d12a233e3262d33d9dffefea9bc16464b15cafcb462
 SHA512 
c1bf048d5793872e73369b64e60776a2aea64904b330d92a32027948298465bb0950dc18928ef9878fa0b879b47dd32557865921107daed2a5bc7cee1031d514
+DIST firefox-91.9.1esr-hsb.xpi 562620 BLAKE2B 
f8b9f9b2db9c6df9aa8ac2f553e4b49721af1456d5dbfab4a04c60e87207ab1152684afae7db4a49fb5e6f716e16902eb1fcbb583f6dd40f5a0c7bb01d18245a
 SHA512 
e37de9afa30e7f7bb7595de2277d059c9c522f79fc78a0e1fd2512b4dd1886cd45992b0b3d3656b53a52829ea6e0d72511d1af9231a4442ab0963e46cc2d8ffa
+DIST firefox-91.9.1esr-hu.xpi 566074 BLAKE2B 
91196be1e199d3b2b3bde0e8fa49dcf6c26cd2ad9266fad575482a0d24133de208b16095d075bd4ffa5cf23c5faad17cdb10966229d20afbf4954124e9bb2092
 SHA512 
b2844cbc1c82cadff2b8a30f10c65b8157cb60b49a9d16b7b318f2e18f1b29c98b9544666b2469403d3da3ccc51bf2c6a692b88522e7f47e1888dbe9b82e7b79
+DIST firefox-91.9.1esr-hy-AM.xpi 579763 BLAKE2B 
32d76dd9d59a8063ef9576a4ea736a417ee16774d44199b67756c6de429d79e47d30544f4ca908127769c967c5b99ba3668ce0d803589c72ec6aa5c22ceb6ba3
 SHA512 
fa2f16d6f79aa59f046e10e0c0897ef2d077ef5082f782fd09159360c4a89d64504b63bfa8362c7e6db780c4bb6926e32b9caf352ba0ad6c7e270663a70382d4
+DIST firefox-91.9.1esr-ia.xpi 532145 BLAKE2B 
6282e25ecdbedea796c91fc3d71697d21a08dd405a390e499f52fc339272aac6b61e5f0f580c5061902a2637757adc53d6e75762e397b6321f99d5fd9cd90fbc
 SHA512 
d97daec38b31b1c86f3a2589713e33c08e574806ebae32d132e5579b9713abdf9d6cec77b2b8b687e36fe2451711d8ea58cd7974b5b5e7077db7cea591f53595
+DIST firefox-91.9.1esr-id.xpi 519823 BLAKE2B 
38bc78d5b7f6fe5079e2a7e96d2d50b21320e895b7b83e9e5ef9c8ecd0ee36848afe28ee19fdd65ae81e34afe4a1754a43d4b3a3f83455333e004b9405b30271
 SHA512 
09af676cedc70d678e42ca19f4aa3cccc756b83abf0b8e7e49501c2d01ff803c61527850f6be054f1e04cf303ae0af8d874ff1720be16f6718901c93bdccecb2
+DIST firefox-91.9.1esr-is.xpi 470231 BLAKE2B 
7d2ff1ae88799d66834abf798ff7e5d5b6cf1ffacec67c72fe65237af3dc00d3fb5b024934dfab2786d2d11bf157b39d975af5581336b3cba0ad81eea0922bdb
 SHA512 
f686caf87fdf376589f3e123b6f8cf9deb834bf194e3daa69c02ab8f0fea3adc149ba743dec3b5b99cb80c145c35c448dda944925bdf2058e09ed544483f2706
+DIST firefox-91.9.1esr-it.xpi 459088 BLAKE2B 
3b9587d1e5fd81fb1611f57b8ae128b4027193ee467bed3dea1321b4eca02a8d236b28bba7c1fee9e2ca67eb00b934bdc8239b9da51e12551f59013a036ddc4a
 SHA512 
4bc7a22143fd625d86fbc29413012e3a5a7a02445c2a2475e318aca6a8f835f134b88aa6b3e96c955226524e8b0afbcb15daba0de23001b2cf63e62ef9a015a2
+DIST firefox-91.9.1esr-ja.xpi 588075 BLAKE2B 
cebc4be09516bb221b668e5534b6a76d5bbdc3b99ab5932911666aa7787bdb281eed3f280f76cdf2d3675453e2a691230fa13484593afe17c68225a44a72171e
 SHA512 
2d02f6118beed171c89521140184028c9e435f825e7b060fbb918ef28eea066a949a2b6e279d1c688faafdc0792f714c087e8755e29c6bc12c1acdd8b69ff764
+DIST firefox-91.9.1esr-ka.xpi 592252 BLAKE2B 
16aed9cf86bbac3766a8d6e0093657960b339fde38dc5087234b979e767309662faf0640b5b5a042ac45b96b105c3280b30bd607a8a1bfa40920aed5cf5e765a
 SHA512 
2c4c5b0a8c7ea7dc966a35ef11db5d784fa73087646ec011900fb59a3b5c5de2617d8c5155b749097764841e1350fb0ef8bfe203722cee5114f6d807008b9ee0
+DIST firefox-91.9.1esr-kab.xpi 545030 BLAKE2B 
59c13345e0a6bdebcf8bc038f77a67678aa3c4903af45a86dce6aafed90388fec171b7c99540f223bd795e4b836be64ff55f19572d6880afd6cdd50f56e449f3
 SHA512 
c752b507581dc83638a0fc996875d6d6cf65baa8a5bcbb4a1ca7b26f048eb7647266d00bee3dc96658c27cab303e01fce85c26e7db9024a5e1b6b8a1c2a7176a
+DIST firefox-91.9.1esr-kk.xpi 605562 BLAKE2B 
b36b641309bfcd249b3089d7136f3134db59694fdb0c739f1c17d1793b095fd56a4c95b3c23827b127cb9b888845fea1f6c6024dbc047e6c593d802c2e1fd351
 SHA512 
9a44cec5bf6c8215ae31f378f78db6b46451292167b111caec08242da85d8e82868597bfa255390238bc032e22eb9bf3cc51a73cb72e515e0b39eb05f2e7c889
+DIST firefox-91.9.1esr-km.xpi 533112 BLAKE2B 
3ae4a8845f25c8cf027652b64225398c77d7d6871b25e38b288117b6a34ba4223a7d1237dfc4c0011e3387d451fe98be7d55a48d68754034c95fcf0c43fa578c
 SHA512 
b652f31ad1bc5c699e53b2cbc74ac5489c8a564e477a270f646a5587f854ef6da20d69955932291689ef64be5debdb79106b099f9437becba14ae93195dfe74d
+DIST firefox-91.9.1esr-kn.xpi 498971 BLAKE2B 
0bc2da3c752d1c65f46b476150eef74c80de90a41c52f4a1ffce2f9369635a5ae100636477049dfc20cb99a8b97dd2c68ca0ab94c252b8930b103f2fadc39d2e
 SHA512 
88aa0a85af340af45233e317d5da9f541d12352e20775c35f0a1920be83308167db2d1bf75078fda88e48dbf15670c02125c62e6dfeae866ec15262049950175
+DIST firefox-91.9.1esr-ko.xpi 579067 BLAKE2B 
5aed9fea4a2bac4bbccfc34725eca03619736a4a2a9f6dc57b23a6d7a8d295be32e21df0f9614e289a2d7d895d1b6d6e5842ef232dd89d369de6e72ebeccd4c8
 SHA512 
4408527acf84fc18a1c26aeed2317ddd28060c2d25d038264f913770485044e4cd2017eb5a5ef9d5092a8ccf4451ee8a4053a5b91bf5483ec83f9e63bb7910a4
+DIST firefox-91.9.1esr-lij.xpi 470170 BLAKE2B 
a3ea904016e490786916064c43d2bbb776af8f8091172d2980d7ef1f202aa17c063fbd687ef1f2157b0f818edf1fd1884641d270bb433e4bb295e1e60bb1a84a
 SHA512 
dba8018f18d28245edaef1a0c4701d495c18462b6ec2ddaec6435277e7eb2feef070824725a1436ac27f00f6e9c2ec1b9081c6d14f6c38ee1bccafa59cd72d2e
+DIST firefox-91.9.1esr-lt.xpi 560116 BLAKE2B 
9aadc232586e23bd6919ccac383d1ff4871c878ce7cc0b7b9af6e3896e81b0645928fbc679e43a1391c5ba9ca98215b816a81af065401abb67c98ca051089a98
 SHA512 
59672597ca224c0132e99262edf6af64a6a81b96bbab0e4a5e04c981a2eaeb0b1c4ee142e5648fcbc3f69f666c318b5d3dae88a5b9e94b0901dcd22f361766db
+DIST firefox-91.9.1esr-lv.xpi 462455 BLAKE2B 
65995ae3c6c91f2003e4d87baaca922cc053bd0637c638f3ffed7b5910a937cb973f5df33cfe4b1246880807acb849225d22900c7653c676a4e31a8ad67efe7f
 SHA512 
d2e891ee66a1205362c2fcc7035582358e0950d3a3643840662feeb9ddf4c51950357d56a018ac4c3962a237746aa19eb443a6fb691741c5cace65e3f3bde224
+DIST firefox-91.9.1esr-mk.xpi 465349 BLAKE2B 
a80cd7f156d0e4c49d0cf2fb4085726c60fb813e37f55e29f3f70b83cbd005e6d70142cbed84f0c4e2005fa30bb776b9003f8b894edcfd0cdc50da48cdd1f5b9
 SHA512 
c63a3911e551111d91d6e9202e15be504b807b26e0ff06e697171cf2d0dd1b75ba61b49366d499aa197b5ef1ced74006b0109c76fc2ac3d2af6b29069442d0d7
+DIST firefox-91.9.1esr-mr.xpi 532118 BLAKE2B 
bf2b584486f166c7573fbc755dd9d9db448e1f2cdab2d603e665c24df1c8215f1ac269a1d84a928e6653450bdbcd5623bdecaeb3b1ab56a30f858bdeb6abdb4b
 SHA512 
6874d5d052f33f3dda355224326f1d5c67d0ed1412a56af90ea978bb28ef4c71b56ef3a2d8a5ce1d36c817e0cb925c597be90b541c1bd3582ecaa9f366fc314b
+DIST firefox-91.9.1esr-ms.xpi 447342 BLAKE2B 
5ceadaffb34b36637468bce4d11f65643b2e261582f641f39ad863d2fe35f80554e85cd4bac8ad58d97fd58306063a6e60d5226260c98e0611f3f3830a09ec54
 SHA512 
cec5236c5fe5b185c5f2e345997118d4f73720c63f3a2bd256e10f81fae3b9e5d7c6fd91221cbca49c04538dc975944e82683f93986a574e8dd5f197847fc2aa
+DIST firefox-91.9.1esr-my.xpi 516304 BLAKE2B 
de84ab8fd66959d036ecfc64b5dfae1b35a03c626380004ed61bc64f71d115d07b782728dfd8312d36db1671521fb651ca518c5e4ae50c9c5572c9af0b4b170f
 SHA512 
c943f9c09395121eda413a40fa57590f1e2f54e98d4674b380dfe51aa7c122ba9b662ddc71debd6444fb1a94436bae74a36fc62a36410e7229c95ddb29eba9cf
+DIST firefox-91.9.1esr-nb-NO.xpi 529420 BLAKE2B 
c925b38c737004df912e1480e083f9ea0ecd77ca6ce66a1ff16d7c1c2476407e808d2992f666fa0cbe54062858f19dc4af46db6eb11f82ff87eb2f28a93ae6e7
 SHA512 
08b688dfbb92bb78ef56f94982b0292470a459f449bed084e1495ff3bfa135dded5b973d135af64840a473917e9aaccd35cdecfcd0477c761918c2238bdb3145
+DIST firefox-91.9.1esr-ne-NP.xpi 485210 BLAKE2B 
24b85fbc2f42be9142ad8863b875e1223545010f845c842401964b2dd10368b8e2e7a6b72d7613f8c2f4f789840ee13d0a7a420a30d4513f08d7bd87290395f6
 SHA512 
c2f930c464990b78b2220cede3c10adb3412a17e781822a7e7774fda8508a70478b9cdafc11fb09042c6412f01355015855bcca8e6567cbd67897209675c4274
+DIST firefox-91.9.1esr-nl.xpi 537385 BLAKE2B 
e84e999c1087ecb111557492b0f328bc090f5017ed55712e346b4073da3aa85e576406ac8f172f9ca170e94741dcbabf9fbc3b1f4d3eb021cc95081cce6730bc
 SHA512 
73426bc62d0698dee1925bfe38eba79cdd13fc547a3ba1f241e05eb7acd3367c1cdab3927223c9496f142bf01f56a9b9e6231b578f6628f548991f8009ec933b
+DIST firefox-91.9.1esr-nn-NO.xpi 531672 BLAKE2B 
50d75604b7a680e187c03d716fd818210879b4c75c0fd1e2dc37020f0afddb311c7fbf95ecbb5b792aaa72d7ab145a0ab4aa6b5ecdf23dad58e19979b203ebda
 SHA512 
acf5b91d5d16e06c91309b64943f1333e6d0b3ce1471578760602865d676d7f82443e6390eaa44cddb9b90756ec7ad5ff16e61c61097880bc36b44ac60002d2f
+DIST firefox-91.9.1esr-oc.xpi 552948 BLAKE2B 
803acee6a14542099fccc29f9f05611783b45627babd73b5ed381eb29aefed03b1eeb3644b5a8c2a77650534dbe246d51724a70a2b42321d2b9cabec87461ab9
 SHA512 
9b78464ce4c4385506ea3725e083cfd6f897d8b538e356f1731fb8de4f9d8f0fae8b1ba24dba806a7a62f720775bada419a25977090d85febb59b0b660d07c43
+DIST firefox-91.9.1esr-pa-IN.xpi 595973 BLAKE2B 
8b40e6e92e3f84ae14a841c2f80359de437b45bb41cfbaa957afdb8af5f619219b568cf2b207a71ae793f9e490b7d1f73bfffff683daee584a9f8c44e05627ef
 SHA512 
8abd72654b7f6eda8437e6dadd28fb7d1bb728a44c132d3a79349fc3bfeb5fc771371034ef7f25743e695699f18431314566ba51ef377c26c420306d76ca0d79
+DIST firefox-91.9.1esr-pl.xpi 555620 BLAKE2B 
66ad201404d3bf666df0c943eb114229a6284f6f018958c027f7893f2986955ead2b04493aa39bf2502822f8c0c0a6f91dfb5828abd9ba63e31db5618c0261a2
 SHA512 
c8b760307ff30eb66849a32894828e05430c1f015bba64259e17a04c86f8310622a97336b1764f2724f2fe572650995b454c1a34cf0fa9e06af3ead723c02cf8
+DIST firefox-91.9.1esr-pt-BR.xpi 542614 BLAKE2B 
e4611fffc38eaf573419e309ffe0ce2a7809c9cc3ef6c16a5a0c86dd79eeb97fe5f558f5f05d0c53823231e1a6c8f1d2e37559a495eb2aef5f3bdf4d9a16411a
 SHA512 
edb2a0616aec6b66db75bfbc208113b4d365a8afcb5811fcd178774c27231326a5a239fa994f9d9c11bf3ff0d9307f826b28355039803e09e463ed055fc432df
+DIST firefox-91.9.1esr-pt-PT.xpi 546343 BLAKE2B 
d8270e4685cc9bf95a395e6eff640358385b74b8e5edec0945b9ebba8ae0a511801a87fe2da94092b2abd5726c2c8ed41ad31f13ac688c70577ed9adcd5b4b3c
 SHA512 
f1e6d2fe8f8faf8e584153c5c6a4320270876933acecea9e52af341cd21b17e9e34cb7ce7ae330e3c4312b9e44d4a689fc785c04cc1d454a693d46065f456a29
+DIST firefox-91.9.1esr-rm.xpi 537373 BLAKE2B 
005c4fb619272a3fad78737a4842327af64b5882b0d22e541161ed4e0ea3d15d47734c37cfa533769e285a8e8e7d57288aea34e2f25fc7f243e03fa95b6ee6f8
 SHA512 
f74ab71952e7ab7dba7641b1ce37e2bd2de0d3f8de0ef2e30c57d85b1de763a301839a9401192e717068a9ac97e23d59815f73d1f4b1e1a57663c08622d3fd4f
+DIST firefox-91.9.1esr-ro.xpi 529329 BLAKE2B 
a8941be0d66926dce3955d09367fa84d43910baf4d96a50a73f8a7bb4a83b287d13e79a991753a8bb2c19eb90a4b4ba7ec173aaf6befc3974b2b03488bd4932a
 SHA512 
154a508357aac7ef127fc43bf09d35ecdebb93696f317ff8ebe5fe020ef489e09232316e993f575f8d6bdb4357a137bd5f88d0644e2e4f3a9a7beb9a2a5b6603
+DIST firefox-91.9.1esr-ru.xpi 627116 BLAKE2B 
7a1657da615e62c58220b2c89fa7bf8e56dee3718503e267f0d6fcc91365d2a094ac4f62102883f3744131ae51eb2e98fb6e0befd9c522ffbac68cb18c2afb42
 SHA512 
1f3fc8e30eacfce4ef422882cb0dcf7f71a42135a80e8d8c62fdfe22dd76d6eaf717d1367cc60fd9804cdcffd417d3e0228f1715bcf375c6333009ea5dc1cd5b
+DIST firefox-91.9.1esr-sco.xpi 504858 BLAKE2B 
a45797d067999eb63f2cb658b43418c6575caa3b87294cdd696cdc416426c5e3fff73ddeb2152ca20011af3ed6098dae8bfc24b92e6391086ffd2987d1fdc100
 SHA512 
21e88f7d60c19a8808ef64ff76c41f29f6a7e69d8c340206729bc8b2e73f1de1d7df74cc969de8a5e3aa5cb59533991631e051b653f94a96d1f7bc182920d493
+DIST firefox-91.9.1esr-si.xpi 487947 BLAKE2B 
bb8a8f31f28ebc61ace748912ad473607de504e85e64dd345b9b17c1877fd7805c804965275770f09efc52630ad6d4dc07663b58d23840001c275febc613c5a5
 SHA512 
700a2c09911c4282fa255a0954d6cd888fd75e7c9cfe73291705f99d66072946085dd152c9eb91787a8ca889ca4f5195f21cb078dacbdd18a204c19cd577c8b1
+DIST firefox-91.9.1esr-sk.xpi 566483 BLAKE2B 
a6072e81a755e4844cdc4023d09cbb46cb4c612b57bdaaa58d108fa9a8a7a784eeb58aaa11cae9e8a1b6a24fcc93da45f89d5117421d115d8a4feddf9843b3fc
 SHA512 
3c53a19f2885b1095d205d1eb6c2bcb2d0970d23c0c6d458d5f7a2327fef8b04800bb0ed5bd196aaa179ea5d2859bbcbde91fbeb95d9dd6fc66a8938a41f71bc
+DIST firefox-91.9.1esr-sl.xpi 538004 BLAKE2B 
af47d79db52e8c2a2dd785e504827a2186bae8703df68567e585653d64dea3167c7eefee6eafeb115a2fe1e7681741115990ced597d295b72999824c135c4120
 SHA512 
af1092970ea2bd7adbca1f8a84534e8bf64d77e9ae4c1615f9d5fdb6fa2e0788cf3a90c91edef106be2d8556d1371fc63661518132e5ce431256825a44a5dd58
+DIST firefox-91.9.1esr-son.xpi 425998 BLAKE2B 
487df6aa909c87bfe92228f06d927bc6a8457620c8f22efb09bba602623d7580afa58601bf06fc5d78d195518d44366b73221cd6f65b4a324ec08e16edf9216a
 SHA512 
f5b162ade2655ca6f287f7a9ef1407abe0cbefd30848bc25c3e30088bc44b98a44859a0ba25bd17d0dd229af0718b648e7bef83562ff4e8a4972fec3dea76dbb
+DIST firefox-91.9.1esr-sq.xpi 555994 BLAKE2B 
bb821d5501db1c96dfd9c6ddfc991c87cf63a8f449ee01f1bf0ed2d61d40889450831de79d33bfb6f15561e4d20fc869149e0f5a7d1eb5fe48a6d0445a1d5626
 SHA512 
6c4b8d9cc05a4f755b842b6bcc1f2ca1458092e80423db463251887cc8190291a24ec8b2e559dee3c9e5fda85c0468d4b516b67e33150724d19e980c4a367648
+DIST firefox-91.9.1esr-sr.xpi 586082 BLAKE2B 
354959cac670b32a5f5d2380c4114f35f1cb9b2c52b7df34db3d1dacca167c54da1f30a8f5606522bfa6d3e1b0cfa0a08ffcc137c9b0d8c6a1ef0e63e64ba37c
 SHA512 
b4a34eaf37b48a52f6749c9fdbed0a9c41e2d4d84079703bc13e3a104640c45893b4c9174eea73108eda3a58a07857272d5bc540b9319bb06ec67d50c861b8ac
+DIST firefox-91.9.1esr-sv-SE.xpi 539963 BLAKE2B 
80ab209d720e76a174cfe41d5c7310a9b0ccd85cc57204c6e43a1430536e03da14fd76e0f8895fe7255c99d3f2d0278162b35c325c8b38fe6c496ba82ee214d5
 SHA512 
bcb2d7d96684017ea2eeca52f052abbd692d7cf103ab3459885760bcd2eb928a580a12f3b11e54ddd7a548204aa44939affe69025be81ff8fb523c5aff54e381
+DIST firefox-91.9.1esr-szl.xpi 509816 BLAKE2B 
099c3960229cb3b5f8886fd2e86fe986fca70e154ffe24e3ed74551a53b93bb2e2e2a7bf8ff575f10a007cef1c9ea15ed36d91d309e902bafd6e3f27b521f11e
 SHA512 
3bac1641db53469828d91d825e7cb02c699b97654410a57d8a021501643fe258a5e83c7aa25d09cb54ea915c0d41ad180a265009d103dae61e3a14311c153032
+DIST firefox-91.9.1esr-ta.xpi 513811 BLAKE2B 
968aac9d23823537f5d377cb684ed8f95ae22a2d7f9807ee4b5d805ec51253c9f8962c1cee99c281b59684dd85cf8d8a8782554b0869fc19eafe70d462c92cb1
 SHA512 
3d6b2c63ccc2625ff32d0b2c5c4203f505f76cdee2a45c9188c15559ca738f026ce89c5611505e3ba399625b51d656f55a3ad249d81964a933b911e911184141
+DIST firefox-91.9.1esr-te.xpi 549966 BLAKE2B 
015a03521d9affa8e49e9bb19179bfd51363ae049168ca5fbb8f290ceaeb5bcba2c116617c16f7c48e4d3a6603823b2da7e88883fe61eb86216b3b60765e1a5d
 SHA512 
3bc521c96b83d2758546ba0610f90f7d61c109cfefda733e4a7c313c6a3be3bb9959af9c329c4946f919ef35feeb7d75cabd20b2c8888f6112c7f273db69b9a0
+DIST firefox-91.9.1esr-th.xpi 607071 BLAKE2B 
db26efc7d518b56a453c812274f541dac2dd60c93615bf41e9e4adbd177b7d8d5eb35ca0d5177a663152ece4228a4cc6d71fec86d95c7991e60f44e9914b2a2e
 SHA512 
3f84af32a2541b7ac6c3bf3e0fa94f0f9571b7d87f6666edea74968b4756eb16d03896ac59ca9e1ace723f7a9b82826cfc0029ee6699a640b602c6cdf3da78c4
+DIST firefox-91.9.1esr-tl.xpi 516119 BLAKE2B 
0573afd14e27855451b1d2535e3d2b6bf4abaa62b70104690c29fda2e6f123817c5c7742dccfe9254b5df1efc78064c8a066c828ab512487fd07831f573d14be
 SHA512 
db2611e587850059f7ce3aa816bddd1a63690a3d8b7f8fad841dbe9c1320ea9e4ce0cf21b571a1e8275969b6bd20905a43939d49e637a4b0f37fa3911a3e81b9
+DIST firefox-91.9.1esr-tr.xpi 553679 BLAKE2B 
6144533323d7829b0ff90735bea858bd072f3568bef8f3dd5b26632e1fd28384ce1d417b61601a9573e721071d2f4d6c45694197d132594241686c97b44779ce
 SHA512 
f76ebf7635bd37069607a243302afc1352641b3e608fa636205f0fd95290eaad3eb759d335baf0dfbaf92a951ccb600d50464c40192a91fda6116969a618c5ee
+DIST firefox-91.9.1esr-trs.xpi 491089 BLAKE2B 
77e305b6b16feda88921b09b13e905fbe17d8eeff20d0bf751d7ba002e947d014df87057383fb9ea2ae08c4b7c476294c15e259f6bc283797f41511673025bd7
 SHA512 
1c7d345c07dbbce80421fceddebd354a5f8bbb022f0b6c5cbeb9017b8ec4752439da966126ffb3c8ce616c4a08a3442e34c47af77722f0af575b8b979079a548
+DIST firefox-91.9.1esr-uk.xpi 620501 BLAKE2B 
34a9646628b8f6d4a1f702111ba1f813dfe58d7cd264db23b5c911f95fd01d1424f9b984a8006a0f58130c9e20c9c6bdb8acd69a9170fbb5052815ba4732f872
 SHA512 
2d1b27e661f9154f67b5716fe57599b3f5975a24a95bddc9e7f5c8569f279647754d1f6a96945edabc15a5f92298298047c3cfb486ed212483a8d9678b75e87a
+DIST firefox-91.9.1esr-ur.xpi 557306 BLAKE2B 
1a4f45153d2db372f59c07ba3fbe25ead2b8d07e63401166877d21b7a0208d923581df7ebd190247c601010c140279b85f59a304b6a15fd533de66e3fcec8963
 SHA512 
f2e39006b8eb1802659fb5e81f30e142e8b56afc69fb3b3552ccef590c1b0068436cc46604387df377c21325300bb9066168e7d21a5b397c630b19e70a63de65
+DIST firefox-91.9.1esr-uz.xpi 466870 BLAKE2B 
85d035d8159620d674212b5d590e4f2682487816108919f2a4f92f654f6607bc9a63506cf85706397643d1a5124a5233cc96ac2b4b53344d31b984dc5a6649a8
 SHA512 
5792f04ce968a6700c6a3bbd227415c48e38ccff49f27a54b147e93a5a68629e438ef670c04047121a9d916fbf44461eb2e3f16006a11162bac50b60085a788e
+DIST firefox-91.9.1esr-vi.xpi 573493 BLAKE2B 
283d5c6f13dd0fb4263c44927b699298fb47acad8f9d12e6c3ce81ff81eb5cf1e16f1d178ec0c7bbe6dc75087a63338dd5bde533565c122fb91e36877d969874
 SHA512 
9b1ce6ae44fe4ea9d0999b144899e12ab9d1272a8a3254b97ae60a0730bf3ce5feec8c8242edd82a5a8fa936204a91f02e9f70a8da61b16317ecaecb9b24f75a
+DIST firefox-91.9.1esr-xh.xpi 428175 BLAKE2B 
b445487874b3c2a3292803737c9ff9c30b6d01598ea46bc3aeb7187e633452ddd9e3b4434851fbb40fbfb33970eddf16751c67b35d863a7a297e1d050bd26adc
 SHA512 
20dddc04ea84ad8c64b9f5b41b12cf79a880677a020ad7e65c43c246f580ffa654f4466919a83fc6a0798f3473266c91bf9166ef95f1b21eae59a9ec76e42f91
+DIST firefox-91.9.1esr-zh-CN.xpi 575374 BLAKE2B 
648216d3c14cd32f083eff3e14dc9003e4bbfa1a3f0e042ab9d573c2d89c5d937fa3d013c33fb568a0b766189c1fd97e5a648db21b54d47c294571e3bf193b4a
 SHA512 
5b759292e367b8987df8259bd929d5ce1f05517d9472e9436e6860c4a9a21369e70a0c38f601b9e09b94618e6f5290e33d2e45b2c29d0af748ffb5177f24cea6
+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

diff --git a/www-client/firefox/firefox-91.9.1.ebuild 
b/www-client/firefox/firefox-91.9.1.ebuild
new file mode 100644
index 000000000000..ebbc741090fb
--- /dev/null
+++ b/www-client/firefox/firefox-91.9.1.ebuild
@@ -0,0 +1,1244 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-91esr-patches-06j.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_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-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