commit:     70d179391eeaa9ff904ebaa1d8a0b28653ae3076
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 24 12:08:00 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Aug 24 12:52:04 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70d17939

www-client/firefox: bump to v91.0.2

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

 www-client/firefox/Manifest              |   99 +++
 www-client/firefox/firefox-91.0.2.ebuild | 1149 ++++++++++++++++++++++++++++++
 2 files changed, 1248 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 6bb50419f87..320fb5f86c1 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -292,6 +292,7 @@ DIST firefox-90.0.2-zh-TW.xpi 588723 BLAKE2B 
295e5ebb3f810f1ab8b66f301ee5fcd67d1
 DIST firefox-90.0.2.source.tar.xz 380670372 BLAKE2B 
782e548663d3538d834feeea54c9fa54ff5580472b967bb60be331e591b782fff2a6877f2e8db29511ac4b4b3dff847f30dc8f0a8333ece3d4156d6ac10a723d
 SHA512 
4fda0b1e666fb0b1d846708fad2b48a5b53d48e7fc2a5da1f234b5b839c55265b41f6509e6b506d5e8a7455f816dfa5ab538589bc9e83b7e3846f0f72210513e
 DIST firefox-91-patches-01.tar.xz 22352 BLAKE2B 
2761467fed0a288f5ed58a2806eb73a00ae91f35d62284b48adf39898603a1dade82f7fc9a98a6154ee580fa7b010dc4bc2e656e6505bf9e3682c23698d02829
 SHA512 
1149e413af3fea1756754fe7ce6a273b00f07918074e16576d25113408e9c5a99cebb7e3a5195ff8dda343b8249e90b2778186d103a88f117ca7a3ac50ffa968
 DIST firefox-91-patches-02.tar.xz 22332 BLAKE2B 
d323054441c9383ccc88b0522cd2a8732df19af670aab6e57689a69f299ed97fe8cfeda0aff8dc7353d591705ce2c42957b21da1f449a58145d9343474d35f2d
 SHA512 
f70665c4dcf19b67ee7305fc3d683c03817e7089188a5033a6fe9ee32074820876b52e0bd32f585e1e5cb14e2fa4bcd1cf9928dab6f74f6753b4bf18919537c5
+DIST firefox-91-patches-03.tar.xz 22948 BLAKE2B 
b65585a1c84000872ce675cd531033522cd7ec7e3d3c4bb660269709f02944e8d88cc76c3b9b0059cf3ca85a3caad22168cf607aa1f4f2426eb0dd161b5ea249
 SHA512 
e970f8fda3257b871f3d8f1e185724ebdf5b4d91bfba6061a777242b7aee5a613fa4450af4f758c0f440d09483e65ca48ae79c91e040ba9c5e63d32d329a7187
 DIST firefox-91.0-ach.xpi 465289 BLAKE2B 
5caa3a3103616976d61880b893e48c5d5e425b409702b8cbd327a1111e1e359fa0341894500351fe24cc73deb8e7228b009e36332642c12d3afa92f9bc79c76c
 SHA512 
42ca4fa331f7a53171717831bc3309782f7cd91ff2a91a7d8169b04efa8896b200cb2937e4365f0413f74cac71c7c5a41085d4716beb9bf39b70f3f1993457c1
 DIST firefox-91.0-af.xpi 433157 BLAKE2B 
054cf19dbe8bead4d2a88ad5e8a2c6ad21569af45a10be1dddf7d44b179017fcb5575fe26063740bdc59b6b411e5decf2658bdc266f6bcb642207abf543bd9e5
 SHA512 
a7d07c25cee103086992e106f1448d6a5f7b614755045e6cc8d7e165a289bc7675034dc85be171a3677739fb9d88c38b5f5cdec58f120a129a022369185f8492
 DIST firefox-91.0-an.xpi 511816 BLAKE2B 
4ded8e0e43194412cd7641af85f238165a6b5a3d0d215ba913665efec8d172f940207320c75b4d38243d9a6a23d9ed9fbf01dd7ca78daf81dd7ebb480d34b396
 SHA512 
4edaa0cb4f24b0bf20be96f95fba5d9cacf29d47cd9f93b95c8a4314bae50901bdd4031277ac596a2a2b5077b52faccd21a73c4db1481c3501671f5c65c13922
@@ -485,4 +486,102 @@ DIST firefox-91.0.1-xh.xpi 435057 BLAKE2B 
02b8cd6ccd064c43111158efc842f305b497af
 DIST firefox-91.0.1-zh-CN.xpi 581947 BLAKE2B 
e536cd392e3eb452f7de9bb708974412e9e34f862fb9213917df4317f331005f29300e7a486302584a8c2e59c03088b8f4a1e3d780549e9006a62f22a495fdf3
 SHA512 
d2f1767782b9f9a3dd545bc3fd98c08da3fc9d4809c5eaed088518e0fb766813acfb498442486768aa90f0ecc9ed9e787b805a268c6a03a8ec381493ed694e4a
 DIST firefox-91.0.1-zh-TW.xpi 582122 BLAKE2B 
1cc357c92eb9a3ea42fc1c30e9aec966b6368a6c0ca60fa41415ff561d86cfb7e5bfaecbc69bc99b2e0ea8d93f0026c0c48b41b0fe06df5b784eb76bdf25583e
 SHA512 
9927feb39e7bf343414065d0ed8e308e9c754c393d59d0ad7fdc8a743d20d7eeb315b1fd0a8f5e004968d99ce2fb1cac3344ac973ecb31257ad8052612cd0f73
 DIST firefox-91.0.1.source.tar.xz 389052264 BLAKE2B 
5372d65561ef5f52b2d71d8b9401c2402413fb5bc027167356bb491ca3c979a5516da11f9b855a1d796146640a9f1308e808218099cfd64f9c3e61578dfaf348
 SHA512 
9388789bfe3dca596542b082d0eca7b1a6d1bbbf69eb97cc445f563d1a5ff0c9b530f3be02ee290805e311b0fcb392a4f5341e9f256d9764a787b43b232bdf67
+DIST firefox-91.0.2-ach.xpi 465284 BLAKE2B 
1827b3beb7ee055d363f3d993a02a732363e0a8f37cf9ca15fd97f0702779a7a1a2ff4a7594b3c85034db42f3b50124b4cdf1e2b38e0fb01f1a7ee16f83f00e5
 SHA512 
6f9016adcce981dfe122282e5806ea690e615af4c2542f996813eeeea81bea81ec87eac38f12baf9e0daad19af546a65753fdedc1cb715ee93ab30250dd8ba78
+DIST firefox-91.0.2-af.xpi 433156 BLAKE2B 
ea445ac7e7b0080ee0b454a6839ef378359945b9aa6fe9c8e99accb8343982127cb42d64a7ffc1f24edd5f0358d3eedfbc58828bd1f3a37058ab41dd160db5fb
 SHA512 
89866a7e818ecc53674b1bcebc7ef36af7b3ec8416cb8ad6b57f0ab4ad9a1445e99dd203aaa52631c5cbb9265adb9c13197abf593f0c5a4849660f40afa3e122
+DIST firefox-91.0.2-an.xpi 511823 BLAKE2B 
a0aee9d410bccda629ceae7cfb913519c31317bf2dae6290b36b764219154d4a7bc17dcabab0d7494b525edd374f5003f00acfada79d3efada0676a73c593963
 SHA512 
75a4a2ac929a629fa1392868abbdab4d3f86f94f93c15fa8f8029c84ad5c70054153a85b7fbdee47495a25efd7f829cad3992b3e87fcb950607a70fe58f1e48c
+DIST firefox-91.0.2-ar.xpi 573962 BLAKE2B 
7e7cd41eacdeca1773d3bf97a15270249b4514ca3ce30bf44d2ec3ac19394f0e1eb1f0fafe991ae850bd35fbcccfadcb9a469f6af9ffae7c4fae9a8d9c3ef22b
 SHA512 
2dca2e3828a381c08e48f5cf05449a62ce41d2ee5e86e5d74c6f128458e2ef7f748d8e93486dc40b942330e2481dc836bec38caaa957d18b512a3b48421f914b
+DIST firefox-91.0.2-ast.xpi 502953 BLAKE2B 
129f446a8d4d7d704423426a22c2fc0fab4c11bab737f1395a8bb3f9b0b9071942e4d076e98fefd487f673da7f5fc7a7debd701764559132be8dcefc33328b5d
 SHA512 
8af2bf2347ee42566c9e36872890212a08ec66c4b1d6eac97d43212d0b05617e5fdf8504eee6087344b4b4cff05b1b1e23b1433fa5fcfb9df6df7c0b8c57259e
+DIST firefox-91.0.2-az.xpi 500888 BLAKE2B 
cfaf3f2be8c9c2a99c68c91ecb05e2526e0caf6e80bf955708d6c6f35e0eb789ed8865e2c0343830865a201defb42ae1a09df8895bd38a1bc92c25e573212e51
 SHA512 
2e25186f03ced1a2c817dc05bef502b5eb62a46e58a42ef31f5fc8b1a6747e57bd2c132987e08aa4aea30745130b818c2acee0a685fb506d51964f6ff9348823
+DIST firefox-91.0.2-be.xpi 630158 BLAKE2B 
b01908e7234c26ce6bd1093639e6ffb9f184fe6bc9b3389bc70a405109dca768f98135e22989e7e071d6e49a61d9e5102d14785073cec6f458eabcfe54c1ac33
 SHA512 
589dd1b63468f2f6e08b769680f8217f21d73a2b16257eedbd5f100e9d17591476a7572a04e89c3a14e9d63662fd62ef9c56e9d756c2172461af015ea7bef0ab
+DIST firefox-91.0.2-bg.xpi 585089 BLAKE2B 
6759da23207731cfc0ea46a14f64863c97aa8e1d4f030664819407a91c37b458b64a3fd6902f005c070aba5bb9c42f7dfd4f5752bde00277147670b728b647f8
 SHA512 
945b973fe302fbb7344e6152ae5680927ae4df45f9b836b79e9de89f0739a162a41565517db8591abe09762564ed07709c3b7175d89803df27b54c9308e5da2b
+DIST firefox-91.0.2-bn.xpi 576482 BLAKE2B 
b3c12715a82cad54cd607c3ba4d97f8863850ba52bfd48395376f48d11b7fb2854de003a4c497cc5af06fee31e52d9e5ebf150f7c28085b0e5033a65ab69d7d7
 SHA512 
899f6c151b0133d18516247549651fc0a008d2f8a5a329976201f5d60192d3715907c56848933c3f03883bbac86b1e933414379bcf207ec4d3c9ed1639e3d745
+DIST firefox-91.0.2-br.xpi 534790 BLAKE2B 
66f419ae8b34b69c76e192f603d7b68aea2e9883fc74e1f24cfc010a5465cd3750310b29d06d674d861d634117efcb09f18e9fb186c12131a80db00a5bd95540
 SHA512 
6f97876cfa656d181c819beae2ec0d08bb13901538df0e5cfa27abafcfe43660b49f1db9e4dea3ac2da38f3a7f5925341449ca50c71cfffdf24aed9e93a94120
+DIST firefox-91.0.2-bs.xpi 473101 BLAKE2B 
6228b43cfb0397be9d0303b84c17338a338e4c84ee05e578714b9212812066d7209ca11bc80ab16308a53372b202fe60fccb7792e520e14a0c3e4d2edf9ce342
 SHA512 
d3cd6bb28e5adc4a8effa3907c4843813d583a2d4a04c5ba1371c9b9cd086c38158b7aa8baf2b91c1f917b60b79fc2214bc1b956cc12996ba1d0c58356d6b261
+DIST firefox-91.0.2-ca-valencia.xpi 543235 BLAKE2B 
80fc2be3f773136a409cc231321b21db4a7fcf1c927d460c4c10cd47fb14bffb9915a3d792d49646ea1798f164a7a00c994aacd376cc11c2d7634fefcfbd88d8
 SHA512 
e0a6e8d39d11caff521aad0fed3416a16097190b102db40970c63070eac4723831a428425abf9d6a1c4fb47ee18ef63cc3a7ef829938b528646f3ac14a46edf1
+DIST firefox-91.0.2-ca.xpi 541005 BLAKE2B 
411c713142c91d73902d09667a2ee058a8f13c2ce7dd2655655a63e349176f15d998625a63b1b37e497bc5ef053ee5165f8a4552738ea1b4d92f541e955d68c7
 SHA512 
782878ed186ddc0e64aaed91c66f02d4387b2493f81357d73e6a7c2f2f5612929f6d2fc955b927dd7d12ef5e18f9890589691ea834ce6232aa60474b11e66d75
+DIST firefox-91.0.2-cak.xpi 568042 BLAKE2B 
24f066877199909cbc65ae213e53f53f9393347d8ed16c09c54e9dd2e344715ee004d273e8a8720b60f71f993a93b986d0db80434e66ad9aeb7d998553ef5491
 SHA512 
14be651ab88b951617ae1f60b35ab61f4241268d261d9cbe2604e11bf2c4d0a8ccbc16a4ef980d88865d84112c4ff1577e7002b57a4af3cc1d90ccbf0693eb21
+DIST firefox-91.0.2-cs.xpi 571515 BLAKE2B 
ec03024b6e69364913f952b4ba56b7c4695f5067c7bb1115d7c27b1cf8f04abc7bc5ed023c3c5a6c673ee99356bff23af160a5ae642e741cb2b98b637fc9ed99
 SHA512 
b47773ce2f19f5e44de7ba59d27b01a533641d54b0354a2d0c1b4e6455f9ad9b8485f72dd03d2081d7780c2221c154b117b0f14e6669b2774fb11b19e1fd798b
+DIST firefox-91.0.2-cy.xpi 548289 BLAKE2B 
b0513e5f5eff768ad4061125a6de882a5046235115b115ec6da6e9d308b844a51482a189225c50906f675b7e47fa51cccd1028385ed69be809cc5ec22ef19ec7
 SHA512 
8eab5988490e1a0f396290f399ac47347bc269ea6ba6676a9e1ed6c52f9beb494687e1ee60eb1eb1b1a280be551c7c784a47925ce2652b4cac1cccd3712e14e2
+DIST firefox-91.0.2-da.xpi 540522 BLAKE2B 
5c33f02e1940e8dbef839967276c9fe8fcc8011f814790825433c6960bb35e9d624af4c35d615516e43f5d65a2320266612d10516ff0d209ec49396f6154cd28
 SHA512 
50b8d81b568e1c29cabd304427ade67fae622d1a1af589773c148c9c2e45651baaba6b9707bbd54b1f103cbefcdd476ec5623773a9fb44fcb8c0a4377661e001
+DIST firefox-91.0.2-de.xpi 560089 BLAKE2B 
47647865fa91e22e601b52ae2bcc8f2ac91619307551ef3dd260e258f7657d8ee164664eda40354a30e8c50be94402dca56b5ef9c53a2bc463c390130c8fd46b
 SHA512 
8267c893cebec1cb3198045bbc5ec2cea821abbe8ade3488eec27b1d599d74de87df4396b686b509866f850dc3b996a0e665f8ff1e3b510f08fd8d7a9035b39d
+DIST firefox-91.0.2-dsb.xpi 572860 BLAKE2B 
49debcc4b22fc28e7bd2b951b59898f4d60070dffb50f851759161731dabed3b8750424cb5d5517c9f71ef7c203b1f26ff370dcc0fdeae11fdb2a9606be4571b
 SHA512 
bc045c295d4a33507a4037003e3dc32cd632d88c31c89b10543e5ee57b733659bee5ebcb45629fadf79ace5c6a47fc3fd9cc06aa2e75ac43edc3d32bcd67fe0f
+DIST firefox-91.0.2-el.xpi 646568 BLAKE2B 
50a0fe00c2b14556f39d501232593289585213e66b65897f630e6688e1a3ab4b447ccd1634672148370c325712510e7dad884872360e8d8744db8901b51af849
 SHA512 
0e62e049b3a51ad1f2a2a95fa5ac62996a3e56a69a41355bc74e6af9ce487ec98e89a15237b351878c9a90f34f0ca5ce14d6d27659f432eafd11f960b4fa21a3
+DIST firefox-91.0.2-en-CA.xpi 515736 BLAKE2B 
f0de88e7c171910287fe40048c3c4e70c65856e6c7d6af06ff92edf4b0ff6600678f0f51164bb59b2315187200783068c0b28436d50004e64b944dc46c086684
 SHA512 
6b9b6a4fe029df7a283d78237b23f69bb57e84ff60055843dc422795dbec4fe92a396344c0be2467be7764d30f19d993c4af01e6935da688ad503090714ca610
+DIST firefox-91.0.2-en-GB.xpi 515982 BLAKE2B 
034e89bbc4419c77913370b19f587b437588aa7f9ec27a84aeba27887ce2e31e967d695d67ecb725b31ac0d84e3fb56eb34491927cb4604bec658883a55f6a47
 SHA512 
fee033b59fb4305a373a902519537ef3293c74ad5ecc5016ce499bf845400d34e7ae5915ff5f95a3384f5eda20ddee97578f9c1d8c7f055936c4800e5341bfbc
+DIST firefox-91.0.2-eo.xpi 542048 BLAKE2B 
374f51c5979d382e73c0bc4cbe7e4ea66112b4cea907f71cb140515632852a686ff0f3a1febd0f74e4c2c536977e7aec0c0eff43f33fe61ebaf3aa96238dc0c1
 SHA512 
cc0049d2b4b90833a66affb778a3481c1de0816bda7eb150616562c43fca9095d2d5704cc4c9edf346f29e30471c83848d15500a319caea5b04f7df8c0461708
+DIST firefox-91.0.2-es-AR.xpi 553517 BLAKE2B 
311b2b0e5f4c0704b2bb993bd9da749b84c4780fe0b4dbfd960c11f6c0e33ac5b74bd7d88bf0e8a993019f52e093e5b5915d6a05660a655fd189363415939730
 SHA512 
792532867883d33fc234a204291c9966b06870db3d15d8710beba6be7892ad5d7ab0141191390372b44042f9ab6a3ef81c113ab7a6a675306fbdaffd2b3378e6
+DIST firefox-91.0.2-es-CL.xpi 552534 BLAKE2B 
48891168c9de04fc35ee63cba20c0f0c03ae967e389a5cfdd6f6984663ccedd28d686f84d8ec4880b41938a5e64833c635c51b9b63c247f340aacc010beb2aea
 SHA512 
e774fdbdab10bdaa97d81a8e05963b60921143aac2149cc03aacd0ad8b89689882617ad3052b78286300a2d8c44fb549577cc84d78048e725a7ecc1a831470e4
+DIST firefox-91.0.2-es-ES.xpi 542522 BLAKE2B 
62d28273362e360317562939cfead517c5da7fe2d38b0e13123992e67dafe5ed4c06a5c426a28192719bbe6aee6cc59fc6d8e36bea10f8e544ec35e12c62b0ee
 SHA512 
c50e56de633f981f0e8e5fb0c82f5ea0e347d71434bd467aa56c131a01d605b44f955e6cfffddd0e9a7a12fef98d811830d032aef2ede7a3b8576ae164e8ccdf
+DIST firefox-91.0.2-es-MX.xpi 556676 BLAKE2B 
ed87e4b73f9827a31c4b257c797f5b117d37f436ad7876f6aea71052ed858b700f535597372a49db9297bf51c8cb2c3a053661642fdbc228beb85f63d6542c65
 SHA512 
e07113691b8fc1a6b798dd8327f95d725f635fac7e198fde00f833528a073c69eab6b88c7e1d4c50340475c7fe2c1416498ca243cc6843bd93da8ef1342db95f
+DIST firefox-91.0.2-et.xpi 494142 BLAKE2B 
4e8ace24cde2baf4826334e0fb7ae7209893bace1981f994fe3dd1c9b1cb4e7384eaa68db7974a8dfe0db2cba6ee468268f0852f47db81b975b02cd09c77185e
 SHA512 
1f53ae61a22fe59935b7b7be506f466909e27ea3a541bcf36174ceea89bce56fd35b15372c7adecb92173e87ca0706c1bd39011fea40c136768410d9c2d49d8f
+DIST firefox-91.0.2-eu.xpi 539046 BLAKE2B 
93cfe5c88109054e09fb0605d998bc4ebe9cde572332ed6fd8cef517e5afc50596175a08cbd041dceaa056c5a419cd494e6a75a2d19c54603b9d48be5b357424
 SHA512 
61bfe155b5abbcf15739576928e2f4f84f4898911fb862d2d51d45d4648d0f5ebfc7fab0770f64b295dbf604d6772883884d3f908dfeffbf6438f44ea1078f63
+DIST firefox-91.0.2-fa.xpi 561638 BLAKE2B 
f277a445a109761dea17a8601b62c1d03a53855d46ba17c5129aa5732695663499ae86ca279a1581db2bde6ee1b8dbec09506abb60ea8c39dd4550bdf735af8f
 SHA512 
c0821849b254977c6002b92f0a48020476531f6485260155ef103e4564f6628f3b097c24877cb86adfa6ab0afaa15786924e65e3f60a2284753f7ba52514eda9
+DIST firefox-91.0.2-ff.xpi 485699 BLAKE2B 
1d372646848dadb64a1ea0f084e762b8174f6f815fedd265dbe0b70af07a7fc472cc32ae755b18e4b9af8257dce5bfc18f67526a997e17734b4277573684b310
 SHA512 
bc34242897070e8593f8024f795d18e049fedd448d0084aff7b7d4765bd4d9b9458bb692cc54eae15872ebe7d2f22a00e732f1093a7628e216d4ccca0ba4615e
+DIST firefox-91.0.2-fi.xpi 539811 BLAKE2B 
d09217d946f8fdcdc9dd41b4d5c5bd9d9d30a37a1e1d4cc85b37c90d5e3a7874aa58c8297c7fb10ee437f738cdf64fef338c4aa0d92733c5f2c4a9aef877e0ab
 SHA512 
4d87dc2bcaec4b3a1d653797fb3a56a609931ce3a24ca277fe0a050d0fd7336e5ddef881e03f7c161184c857aa0d361a7b9c80258ab42bc4e9fa73d335a8d8b1
+DIST firefox-91.0.2-fr.xpi 564055 BLAKE2B 
7e6538a7246179fea01b20361334a7ce429e73f6cb7537c096ee512acc77192dc0e39546956c1cdffa9b497e4d14ba41ad38c5f5b583fe42f57032356086df28
 SHA512 
aa25c36a732d512c4d686698f69ed1467d82c02eb4476d8117959683f7aabd1ca580019e0450c39ecc95916b9e2765c4eeb5a94774ef3ca87e047830a8756925
+DIST firefox-91.0.2-fy-NL.xpi 549221 BLAKE2B 
b8b836dd7fa5f4f9bc0fb5ee9620db0ad2d1606ea26f49344433fbabb85321cfe760412d02fd61c010be25bc92f8793101e341527b8770375a20adfcc3c25666
 SHA512 
b452811f1fabc0240141996c393d2e0bc04a6d1163aa32e9cbcd381f2d505a0cc6b4d82192dfbfeb671346e111db16bbd6bf73712ce7015a3c4fbdcf438a0b2d
+DIST firefox-91.0.2-ga-IE.xpi 470699 BLAKE2B 
1da8c8d70e28dddf138b6750b6bb5b03ce95349e1108f14e395993aae0c9c2631b40742b10ff4b5763e2d5c145fc316ca2394bf14715467e4ba75b542d51f23f
 SHA512 
2d7cafdf455cf805ddb522152238dde6261964399f60bfaacf2c6cd70e54c047ae70fd0952254d34b7b1b4f9c85162687684f5e66c7d60ee0915571b96c78c84
+DIST firefox-91.0.2-gd.xpi 545686 BLAKE2B 
e6c5552211ca1b07426ae79e80fe9be7fb516ad831c4bb303f0aa1bb7e3f648062d0b29c9a617ed2bed3310dc51a28889232b4c413e93c6623126ff4fdb7a075
 SHA512 
5ebde92fbb0697745e8b8cb4d0eb40581a2a54f18fb967a90cbe7d90bf22ab9b1a40d04f7a52f1ef96c349167a4a50ef02476a68a5bf5d9fa911893a3a90f37b
+DIST firefox-91.0.2-gl.xpi 548390 BLAKE2B 
cacc1630f147ede28dab1c47d1eb4442077d0126fd5e02ab06572f33004e50f43a0a7365ef863ff0b3f983041b2b915cd34ce674c56602616912516dab39adfc
 SHA512 
644cec199ab6f9919b82b3d903cda3fa12557c9e7ac0df4e4d41e854d04f54fb98775e80d052aee6a840c1de008c83390c4402cd3a0703de1edd94ec7ec37a37
+DIST firefox-91.0.2-gn.xpi 565276 BLAKE2B 
7053cd1585af3a9f755a1f09132035e5b3e39f9b293364a411028fda8382dfe9ad91970a748c52dcad35fa526ddace25e0e032032dfcf8cd2008422b54be5117
 SHA512 
ca0476636fded14809fbc8549305b7f5d42382f973704f04fa6bd1cdfd378ce4340046a8ffc7959caf5345a5955cab235834d7830f77717a759e9404c8b74ba2
+DIST firefox-91.0.2-gu-IN.xpi 544513 BLAKE2B 
414c5705c7b9116754c7a64b9b270d5fdf08589e50993643165c61e2a0874eeec5ca11156c9dd8bb7ec2edca05ba0c476f4df10927907b3a10aeb4f4a6a4f509
 SHA512 
2fc8ba1bb037a70e20c3914f304aa8798fe4f7bef9814d73f21df7e4deb2abd708ec90fe8c257640d66249fb21efea3226564416d326705f10258defbd84ccfb
+DIST firefox-91.0.2-he.xpi 563140 BLAKE2B 
f4a9fb78602318778be27806f67afc4d638248472386dd5f1140cda9922a3d62439d06e1ebe0b19ed8adf86f256bac14ff7cd5a53e6fa82ab05b5f596813e2a1
 SHA512 
0100acf0f6cce50fb382ba9e70c5b95e3862779308a6f6038726914226f1948b556335aac498f2737217f0a77037af2545788515bd1ea643af37c855ad0833ca
+DIST firefox-91.0.2-hi-IN.xpi 575682 BLAKE2B 
b93b1cfef22c48dc1fd7c1b6cf2f6198428aabcd19a002bd60c2b17e14cfa68e93253391783c179f20a4b619cb75ce2b4b09a58228525f73c8c9376075476bfe
 SHA512 
8f9b0d18fb1ccac2df13faba3b84151e222b717b0110f3bed4b3800848bfd165c42388e3e81a76e7bd13356cbc1a85f4b6b8676f2c0179da3847beea5c7610cb
+DIST firefox-91.0.2-hr.xpi 544093 BLAKE2B 
522e7738189dfdfa741bbf6e071a2a0af759830b9ef055d6397f22a95da390e6a22d6d08e4c5cf61588d8d6decf0e986c80be0720640c56d5081f9eae373bab6
 SHA512 
3284e8570ed98d6d453d87fc3d0805015b5219c4dab9d5413622a5bc95ff6026811b30a6e64546b138884f9e1bcdb04144efe6efaca6666ad37eb0a89ec1ffa9
+DIST firefox-91.0.2-hsb.xpi 568931 BLAKE2B 
02948484c3d21a10bb1811921fbcc9a2e1d549358ba0436d4958edf85a5f3b5580d011ffa98c154c79c2349e3dbdd04f70993e70a62aaaf3a52d0a36d94b9540
 SHA512 
2767920e501cba28b842bb358dadea7a9b992b7324186dd1b4e6a8f3da404aa682a5f1e23d05c3c3ba79d5bd0550ed6631c07ceb3d35ec223974e6608c778dc4
+DIST firefox-91.0.2-hu.xpi 572766 BLAKE2B 
85196c0e3107768d3b50c32d12a44156bae2ad7bfecd5f3588c9fbba4d122da4d8fb09bb2e9582a7c35f19e74f8622bac6e791da022f151e37727a5841c1b6aa
 SHA512 
15be8f755bcdbd1c3f2ddb5f5e6861bb5b5eaac2fe6590c117b48d2a3dc841356d96c1385569a54eefb4232f3e0b9552f0082e9921f5dbd62a85e71519b4552f
+DIST firefox-91.0.2-hy-AM.xpi 599014 BLAKE2B 
6a08d2427f3ed840cd88575d84e862bfc46998e6c1f5c51ed975b4e7f7e2f8bff373d11b59c71fdc4da34ff16cb4ac81ee2f803effd7e8cb4095086f6c43ead0
 SHA512 
6d6edbb1cc88a9d4af446f7979b559ec9fa848e6c89d45f00e0cd74278f2c0863bd1f7c78710c0238fcac7dd9fa1f62e79d9ef04931bf2df94d1899eada3c913
+DIST firefox-91.0.2-ia.xpi 538523 BLAKE2B 
078f874a0252b40d0817ae333d157c0f18d9b3f84da9778702ef2ff96d55bab94395cfee04ae8b292fea36f7c8f7f3e62aea63a4aa4534073525532a60107760
 SHA512 
526712c639ced83b42602d160d020d66a1b5381db15e3be500d121820a697c48ba961ed5b874003e1df5b819da28107f620805b630b4fccd85613229841ebe47
+DIST firefox-91.0.2-id.xpi 533874 BLAKE2B 
165ddea29605321b3296ade87e8cf276fecc45848b3df036527eaacb566ec3b44ccc5a90611a4f815279e0aabb06eaaba6c8b432460bc6bed8d92bf63247b174
 SHA512 
333874f55731dca69937a4f43fe335c0c066af4506955af8eb3da82764c5c05394f359429ee38992c51a714c7d7e0f4427235d54c52f176865a03b291dbd0bf9
+DIST firefox-91.0.2-is.xpi 481340 BLAKE2B 
bb8c5840492f47ef79c763e2677fbafcfd90b3d16c54f9492958fae73c12f575265873fe310dc9010fd55a62d42c74572351a828b78edbcd479aadaacba5ff93
 SHA512 
d74497fab93316d556002558768bb28ca26d39198d745e9d252b6c97a46179e9a33a207d0aafca098ee83de79522d5e73d75e1fbac3c0f83ebbbacd3d2d0a7a0
+DIST firefox-91.0.2-it.xpi 467043 BLAKE2B 
aca3186e0e425f0532f9be8c647c44f2edb934fdebfb0197d122e921e181093ff38485bc9f9e18e32bd2d3ae68a23219def152d00d0d435b7b643832d635b595
 SHA512 
070fadc60b7f06591a1e9714a12f3f60be04f6fc42ed4ff8713d8755fe39c1a99345f8e9fc0bdb94a825e5cc582e7d671275946a125597f08c57152927bbddf6
+DIST firefox-91.0.2-ja.xpi 599312 BLAKE2B 
4535634b3469ee7e76f465ce87cb82baaff44bc69bf9b95c7691df876df4fe91bab899c48b3bbb2b665eef8259aa83251aa3c184b0296cd431a8e6c6ff82db0e
 SHA512 
a1e813820de9b5e44d7adb18f1451c55e62924ed769e394b9a7b38ff24c6a96e49f674402e76b53eeb43d19e597f7df9083f0158987462157f48940808d6f057
+DIST firefox-91.0.2-ka.xpi 600142 BLAKE2B 
e1a2ebaa905ae3432c06f448f4a2e4414caebf92148abdd52d8077784f5d6d5c63770c7c797d5bbacf206ec7f5ed6410dfc3315229f7e13f67df1b225175a434
 SHA512 
d99056aec02d3c62a3b6fac4d44bd7bf35edd73de32500f9dcf2ac5320d6fdaf93bf495303873dd725d80651d393786a3fce5d7eb68ca5ecfaec5be199c9f3e6
+DIST firefox-91.0.2-kab.xpi 557813 BLAKE2B 
bd0baf375f7318ce8f88883f52368b0d35132674ccda5905e2154b03e493db6452267069b482c290d3db005bca450c038257262207b2547872d66136a0d864a5
 SHA512 
3afa8920925b1c54d7b37b26056bd170e246615544bd4e3efdac9404602e4c17d6b7f019c56819f4dbd53505bee220e7edec91d85ed442fbebccdfee7130b6bd
+DIST firefox-91.0.2-kk.xpi 614348 BLAKE2B 
8cca4eaea30764e7156c55c13118d5ca1d9dda845be7894fe2bcfc734ace1d967e984cafd8e1a522298032a7f1f345847d806429cce0ea157ab12566c8f70d06
 SHA512 
12753ddc8419b830a0e6af938399902da277ee375cb29a144e32c1a71c5c5cb314c308ed1283bffea4127b70e5dada7449f141455fd148c0fbe0d85e56a817d2
+DIST firefox-91.0.2-km.xpi 544983 BLAKE2B 
648abe7d2f3c4dfab206330886bf64e9e5e6a121612ef8589bd6f9bb2ce0f74a2db5336098e9f7b15fd959bc562be7aaa6e5c957f7b601ceab0f06be9eb5e7eb
 SHA512 
5dedbefa7d088c87c009263ad6bf11b3c739478fb993a1b94fa10fa5d0e8771fe92db7548e52618543340f7d42774faf15a9ae834011577ad6a4f45d113163d9
+DIST firefox-91.0.2-kn.xpi 508521 BLAKE2B 
70d6936f6b213428e3a09c94d6cdf9ede084c9c96dc0dcf43134bf31f1bbc356cc69354c3a6e9780b5f208e6ce254f7e307d31f39d2d38660260ad374c438b5c
 SHA512 
e9bc6fa8cb3ebc9cd5d6f289b2d7f31a8f9063cf84819cd5e56e43db7a2d864ce2fcb09cf6602b53dd6cff595f62f50caa60343efd2ebed84c0c87bcf92c838b
+DIST firefox-91.0.2-ko.xpi 584343 BLAKE2B 
58a4c560788b2b8f9c7e7f577cab11c7ca34cb243685bcecab8b8a5453f8634289b61b30c8717d2487d3ba10f59bf76a09af4e156fa7cfa4c2b7b81453355638
 SHA512 
7fbd65d20d1f72f6ce83b8efc2d2d37515360060b2a58d0395e03eb297aa136a13f919187b29027512f7558ab489cf73d7edec344e37a91578a2c03a346d2f7c
+DIST firefox-91.0.2-lij.xpi 481930 BLAKE2B 
52dbe2aa33ce053073c0c157471d5c6be9c94743ec90523687f8ce70da96c17f64a59a1cf96c78f810e86a64b3ff573b366742184f617d7e4d713b3a8c85c564
 SHA512 
463bfffdae4e4969fdf9e1629dc44185e4774dd786d0a072b4ad3214230f0f6c8299b129b1dee1859a626cd2233e5c0af60128651b7722fb50b7892bcc873225
+DIST firefox-91.0.2-lt.xpi 567603 BLAKE2B 
f073ef003588d3fe0cfee368ddcfffbae6ef0b1a233f4e0ac9637b76b4724db5cc2452373098552103523d28426e71c6ab88149f0599cf40040c057dfc61b45c
 SHA512 
664557a9e4d05ceac2fac9d51b89a672824b83eacfe14744cbb639866ae0efdf743c6d245f5c870dc97209b015ddc9ccc2feec9b71af717355f5073fc0fdbb08
+DIST firefox-91.0.2-lv.xpi 473333 BLAKE2B 
f53f90bb380bf60d960c998affdcf2d250fb84da847a6904d67a54f437e0e0c522346276a3db6967d5153998ddccb1916a98ff70ea44182117d300f0ce950582
 SHA512 
d59618421f4c3b8dd85e8a2eabe08c3a858eb3c8a06dec84da7451c4f12bd0a1161db3b300bae138558b552ebf5bcdba18494272b08871b4d7d1d05d280c7c34
+DIST firefox-91.0.2-mk.xpi 473479 BLAKE2B 
6ff5f26980802fa7049fd550e56215807dda08fbf248f77c2d4d06255bf5d7c2897b5337582276b14ce7b11692c04c442d746559ac04b5d901dd6e53307e7cc6
 SHA512 
f8902b73f7dc119c960bf536817c47589f7d9bf4fad73ecbbb173bded865e96beeb1eee891ce69d4cd7be0732f7f07bf5a43290d79e32acb3b1d77ece720f1cf
+DIST firefox-91.0.2-mr.xpi 544869 BLAKE2B 
8063812be027d53982c5b2c52c576622c4b5ee8add2deede210c70eb3a9fa77b4b82d8f78c2277cbcfec64955a76ef7f91d290b354aa01275c6d98cd15211b6d
 SHA512 
75a95bd65b7caefd471a171fa56ceac1dcc73e65fb62d89af71da608fc44a802d3e239546f78340e9d61335765183dad85f1593cebbcfc7418d0e467a041e3f3
+DIST firefox-91.0.2-ms.xpi 457203 BLAKE2B 
459bc8db9573053491d7708cf7136fd8b25f0ee406f1058d49b46868242ab2fbfcaa00fd5dd97bba830dd4fc3d98eed944adacf7fcdc3219b35b438bc76625bb
 SHA512 
733971750312670a2345c3724585991e33e65d17126bd699be7c115da6f814700db01411776ea25adc2ee47ade78d6f8f18f4aa0b5e301dc749de5c1c2fdff26
+DIST firefox-91.0.2-my.xpi 530145 BLAKE2B 
42909546ba46ed0e12a93703cdf356407e2b1bd0296d74748fbee32415bd1c8cd647602c7c7312eff94b31ef27fcfe9fe947dbbb999c10978c06027d6f90efeb
 SHA512 
c24deca71aeaf03d083767b37758da97c20b735973bc7373d791b7d4f2d70175bd243b4ae8b65d3fd277cdf43d65133d7c536dec6e23aa395e68547176364ef9
+DIST firefox-91.0.2-nb-NO.xpi 534986 BLAKE2B 
6393d435d9bc7f6afd76def4ebb3a03efde327a3bb8a3fd84eabcb485d4fd340bd0dbd84918102ff10fb9b5e9f3a5783d2404010c448a3eab34e0fcc5084b35b
 SHA512 
bba89b13817da879d2fbc029dd42753122ef3ead9f24163c57f6e56daba4d83c69ec117dc729a87a8d217b073e0f623007e05bb5f15c5cc579a7a0c254ed9ad4
+DIST firefox-91.0.2-ne-NP.xpi 486178 BLAKE2B 
22793df48a5a2f62169a441934aa8975470f7765b32d6097b19320c3cb4e3890cf95f9b5a91e7590781e342bdf0fcf26ce4949208fb8ce89001b4d3bf3adc5db
 SHA512 
d4b67b1fde7c386cf0df744194e72df12e0341b85678378762d15ab86d0d9d1e03d9d251705986b5cf8bc67aaed54694d719b73426a2911b0ef3d1d00b76c14d
+DIST firefox-91.0.2-nl.xpi 543375 BLAKE2B 
7089b4c42afb164560e45727f655255c8f6d0c0530dcd18535524520a9b011aa145f097c0d260b5a16df007ecca58dc63c8516ec55aee2559a5217b120c03db2
 SHA512 
5668f48b70798f5da84951c1f95ab60ad2d7e354abdb75546684d0df2749381c68ce0d3f8e481c29aa9d7e942cf092aa03e3967cd914dd8abd5c7f8fa7ba7366
+DIST firefox-91.0.2-nn-NO.xpi 537542 BLAKE2B 
9bbb693c26e3776485d816cd032ecf380f3dde7785b9994f56c06d194127993bb22624b3d5a2d9e7c300b7676f9d1e8cb9627e9929cd80bce39c030e656e6949
 SHA512 
dab9c2c2bdb72fcf8463d82a351746c9cafa4b3400493098d8ebbb5c611a6b0563d070e36d7cc659351c45212551e7e77af023c91e13691d88a70afaea169484
+DIST firefox-91.0.2-oc.xpi 559028 BLAKE2B 
341ad88da64ac06e86cff2ff2f2b3a31e420a1529e64f0b626c0374272d123a808cf47aa30104bc3821488d1051f3020fdb5a91c5ad590069857029b39d64038
 SHA512 
7fee4a09dfcfdc84372faa8ade371441985d235c73e1cd0349c7ac8d280ccd5f9ac1efb86530cb5dade4face156d6299f8d14a0b3d7972a49898da56b816a5d2
+DIST firefox-91.0.2-pa-IN.xpi 605086 BLAKE2B 
d31232b6ab3154ca7c1b4f69308c24fd9fa7ae5e367e02d089cb8f759ee95397b504f6a94c059b6c822597fecff69703af59cec5f299fac62b97c396ad132a06
 SHA512 
86a98ac48c729fb308ece202dec5116732dad5b13c75a8fcb6dd4a3e7f1888f432a5aaffa0b4fcef7de409d3f5d2e6e32c4b762f0e0c2e932d5510361835d0d4
+DIST firefox-91.0.2-pl.xpi 562852 BLAKE2B 
45177be1a73deba99c21c00e92607567384fd93e632803b4babd3f6d0b2d4ee7106bb3cfaa713b44efa0f667bb524c0d4b0ed14f2cf3aef2ca46869e5dcec60f
 SHA512 
913c5fd1618e09fdcf404af08754022249ac4dc3580efc823a3ffa14876eab949b28c41ea99d291d59d0012cee5306509108ebbcfbb97cd1d3396f9510831d09
+DIST firefox-91.0.2-pt-BR.xpi 549002 BLAKE2B 
a12c8b2d7dd6f5228a547a79f5f6527cbce47b599076d372d87501f8b965299c538072dd1845efa52f94c579506a82129dd5623d3d66ec8f7a325aabbfa63d9b
 SHA512 
4de795d87061b9e4e6d484efd765d2cd68b68b98dcdcd58382095d8e4d7d3051650da3a28f01b632b5eb37c4c3e5f50f0a2dda3c97c02f5dd2097d472c957de4
+DIST firefox-91.0.2-pt-PT.xpi 552653 BLAKE2B 
a6b625df698b8dbb2686b140b8ad89a6e547197b91d397b72ce03b27357f037529eb4b9dc431b5a6c785f365dcbb0994060b87a11e77daad069687c7f39fba3a
 SHA512 
499152aadb03b3721dda8ca4f1943b56122e4cb9ddccfc90d1eddd6f7c116ba2f3746e686ac1b4057a2c3a821beda3d1d6aada651b545fe144b5c86f3780bbce
+DIST firefox-91.0.2-rm.xpi 543758 BLAKE2B 
b5c6b7c255cf47d565379c2d09978d54fa84da46b29601c3ef23dccb244417080f22e6c18e96fdf5ba4c657da8e7f3adba1f1b44436e40fd615b4f2ec6ad70de
 SHA512 
f3ffd1514fa4d664cbb5e0d1a3caa1c286dfce482665a111504d72c5e0c1f1db2148552c24e7daf801317c11732049df997134c481de790ae2962fa3c81a3183
+DIST firefox-91.0.2-ro.xpi 544870 BLAKE2B 
638192c620112619abd447597f9d7db7bc09cc5b1fc7bafc1986863ff0904f78695fcebb4271d3ddb86167436d98052aa2b7fc5fdc919d1751beed00204c0f85
 SHA512 
b4700a3b946df0210683d463fc244cbe345f4ab34b4240ed746f15096a4a00448bbe5a3bbfd7bed1909c7df39cb9e234cf33db3650096a8d1b34767fb6694f81
+DIST firefox-91.0.2-ru.xpi 635037 BLAKE2B 
1173448e8346105bf86e91be2467c5d5baa4f0afb8f79d83197acd3ede3fa88505a7f123f132a7dbab13c4bdc0aaf095815cc943056a1152569407b7d51afe63
 SHA512 
5e18f24daea284a47ec2a563d790e3dc8ae44ffdedffa684f737daee04fe480eedcf4ff60481d8c76becd0d1c16cb80954c612aa00162cf40390f9f2ac3727aa
+DIST firefox-91.0.2-sco.xpi 512252 BLAKE2B 
e91cd10d8db891b75f552cae391b9f20fc93e77ef9a01e13e3303425ec4758f63b5cf8806bbdecce2434f471f660148dc16c2bf9b872732f8156235995341809
 SHA512 
340626f186c46336b1b36c14f1b4e56d337ec0e04fe84a8cc2293b1cdf7b385d2068825fe81952ed28b983ad931a8e56d0e1828447a6fbad288a9016eca38375
+DIST firefox-91.0.2-si.xpi 496840 BLAKE2B 
3609ada9163696aba196d9748e97f8e6ea16510b0f55145d23c16d8868def2236a178c4b429f0bf9f479c75ed83623e306443e102dc82c87be35de12fd4a8fde
 SHA512 
7dfcfc0ebc6c2d9651c3274abfc25d100b451b55375a9e9380cc2586531ab08c0a5e1ce4d914f8b846f3d4f8c10ae33fe66c9d04817d01d5e7f3ef98239ea6d6
+DIST firefox-91.0.2-sk.xpi 572088 BLAKE2B 
86020743034e7e00783038256231e1bcb3f2054d3c679db716d71ecc42e5b3be18e3151180250f82bbd03c99d72b71a886f5d8cb7b08da4fe596fcd1de62e5bb
 SHA512 
5487d0ebf35a13368c3f2c4c6e933953ad43938f98a56660d7ee83156bfedfd5f766b8779ae0980aebebe6a4112cc3e90ad941159fed6767c4319c4bcbfed873
+DIST firefox-91.0.2-sl.xpi 542792 BLAKE2B 
05b78a248eecd982251e83aea8d4e180388e5ba2424d8642c8b8c37e9024622bce4c7e268067bd2c959602326f7ded61f3268c25c6048abaff277f6eb53dd143
 SHA512 
684d20192df92823fdd853d8a79582748e2c1f3d95d40b2896952b931b34feaf4eedf222aea640ff576f0fe68efb661a48acfa616263a3d41d9777a23ddcd992
+DIST firefox-91.0.2-son.xpi 432937 BLAKE2B 
592a2605a2fe3567e0dc5020382c3cad9ac152cfdd3793c679a1f776983cd9aa4cb83d59c39ff3dfca8c0e70c98fa8fa13ba5a11eed74ce906e2cd0c9f955aec
 SHA512 
cac2639b2358550d50ba53cea726dbe65717d40296d63dc0eff85bbebb3cf0186c70ef6e8d83857e61b06bd5c425c1a72aec34723541e2aaded96ae6838e616d
+DIST firefox-91.0.2-sq.xpi 562223 BLAKE2B 
49443861d6ecd85d6fe4383518a0b65b57055260d326778497042e771f62cbb830dc479e883fa154dd2f2a2dbf4061fde46f137f14e63b8bce76d4c90299f13a
 SHA512 
c6a65bd7fc49ad9fd5af2c7b8b86c42a90b81074ea16411adeb6794195fda74cd13fc61762f0962ba6252da8011c8279deaf2352ec9be3439254fdc38c398d45
+DIST firefox-91.0.2-sr.xpi 596028 BLAKE2B 
6ea53132a28738d54446b82fba65317a3f9f493f185f76595067d29a84551a69995d6676150946dc52df9df5f6836476d578b9609bb04f7ceda77f9bd8723e73
 SHA512 
c4e6b08d0e983bae2f76fc8b5d3c301dcb8103051d7d7d1766db7981972cfa8027cb178ddb854be6a95c4fb9c2b4a82336eee4fd5d4de7b6af4e98ad8d0526cd
+DIST firefox-91.0.2-sv-SE.xpi 546389 BLAKE2B 
20dde060f8e0bb1a0117bd8d3135dd5593720eac58a946df6f6572fcc1a3c558052dd8db4d696b3c56326685af149d02ad023388539f45c71c959b0e5c24671a
 SHA512 
42f66c348933a446aead3dbb115873e52a7f8ce428b75065ccac8e6bd6a3332f1f4a5e9fc30fd001f7e6fbce4c20f50c70f0aea52fe4f3bac605a1b94ba96e45
+DIST firefox-91.0.2-szl.xpi 522374 BLAKE2B 
3100df810f0b26de1c4ba3e868e6855ef444654ddae1f15b1b28ff721f64b5807eebb154dc41d6d7ef30184e35a532e3357229148cb502e2a34a2b08b29060dd
 SHA512 
4434ca0704390113fc22bcac26efdd376643b550d33f070493b2132421281983f1e0b4823b83319a3e11e274b9381d502fa193d52f7efe883ee6f801707b6e71
+DIST firefox-91.0.2-ta.xpi 523941 BLAKE2B 
2c87a6ead3ba80ae2d31353dedaeb6f58da25751684e5341517720690f8ab52201259aad7ce33ed78816d817a5d3a3a2147ab3bba6513ea044971a8f7f273cdf
 SHA512 
9c24dd0b1e17623af3166ca4078bee47a6958cd9287c8719a525f1c5ae8a88bc21044e8e83675c9e786be93fe6c1a4c30a91f1f68a880eae2351b4ad3bb050b7
+DIST firefox-91.0.2-te.xpi 564760 BLAKE2B 
314220ed7b4ebe6bb27d740360b608c4702051a6f2762429868c9a116c568f87ae34eb062d86782e0e753febc70daf02ae844c3fdd3f1ccd67d13f2a4c404ce1
 SHA512 
4170d39649828e1c8395fdcd1b0e5555ca2ca32e4003c68ead981b108ac98c5cf955bcfc74486c3e940d8e5ce21c9853a7fda88b98b50698a979f7258d4bdeb4
+DIST firefox-91.0.2-th.xpi 614152 BLAKE2B 
85b298f4dd95f35e7681fec5a736c3dcf27bea72d0c319292a342a8d5f72dd8764d02c98aac5e0d49326ac506cd8045715bbe8088e67062c97ec116e1f32779c
 SHA512 
0ea959243a6edb9433bf86dffa7cabb09b4b69dbda218a4e040625c75d543d5e5cb065dcf6ebaa346b347abe6cf0d76237458cae8fab04f1ebef3e8a9320de63
+DIST firefox-91.0.2-tl.xpi 531316 BLAKE2B 
0946e102605fc7c05c7e883b693cfeca11204f4d1d0793864e9c0f7a5c573b04f1714a72094e8e78b4106889068921a1c13b44ab77478352310c05507de9a087
 SHA512 
8f13de4fd691937296bb4c3e3d67b2d826b0e89ac0a972cf4ebe2bdabd4b5539bed9455a56f6211067900b9b003d388c90d96b2b25f4896ee9c78814a7bde6d2
+DIST firefox-91.0.2-tr.xpi 558469 BLAKE2B 
1f6b73ada217f445cc9eb04358f7d6e84ffb20283d4bad63afc735536851af4a7198cc2a4e32a8c2b2659d212b89783844e006dbedc1a613353f76a523a0ab38
 SHA512 
c947f20755b5691bdb115e15108f6a6783a74b372dccc6912749e25ded9d01e463b4346bcd1b8d2d8ee017c95573b27431056ed3878c547b36be81a8f108fc9a
+DIST firefox-91.0.2-trs.xpi 503653 BLAKE2B 
ce6c5aceeffc3ce0f3980d64c6111c917ab984020d03b18302422a1db3dc8f9d56544e27b45dbdc12d4f394f41d133624932e390c358572b1a8f5df780d62717
 SHA512 
f1b16b1a9e97344d6f0326e29939ccd9a2e71dec21748310b4c76ea4ccd130f6e3c0ddaef7596eff073315d8d57602c12361aba45e85785720e73ccdcbf0768b
+DIST firefox-91.0.2-uk.xpi 628579 BLAKE2B 
1276d8d95c61ab17748b3d5809b4fa1c0606b7eab417888e3e4f822295ffca7e1d5d38c6c3c5ee83b2dafd3fbef2462b942c245ab13e90775e252dadada43740
 SHA512 
314262e929bfeac9908709e01b78f0a42a9317e0c427cf47f87233353dcbee5ad12ca2b77a322c8a1bd481d43b42d133784170e5335429cf11ca16da838762a3
+DIST firefox-91.0.2-ur.xpi 572692 BLAKE2B 
3726bed6a61448343fbe39dd952045d74ea16e9910c1b4712e0e4145fc852242b675265929f06f4f32daf31e648438cd95bcf2e3077005f12e21b28392283402
 SHA512 
f0d2ef0ee280096c905b29b8cf81e8a561d789e51b8cc45ffba4f56a79854fc0a9d28270fa85d1db85642690bfb1e3d8b2c77cd04fb81a0ffe5dbf3e9198c00a
+DIST firefox-91.0.2-uz.xpi 480939 BLAKE2B 
c992594e78b95eb6678ac7beba5a5c332b3af5d9ea09ffa77e052e0b4745a84c4e27abc9423d9ae0db44eee15ee3e05880da378a83f86754e3b55179b862ed20
 SHA512 
9b65130a52b0eb05cafda63960ac0bca6f499d1bf9422685b8e21647665daa837331d7f59fc82a6bf55cb7824e851cc86529e140e5316ebe319e06669bd8bf1e
+DIST firefox-91.0.2-vi.xpi 580492 BLAKE2B 
9df06719539a0d9f9d55f6480bc438598eb632916b4254599df1aad25abb3ab3d379fb1d55d8dca39416dd9bd0e7f225c6579643a8a7883bf68aaf1d9783b56a
 SHA512 
684ca1c7c994d3a67a27b3e3c1318bb6dd0b668a49da13c4c5cfb4fe695915a38f6f9cfbb7bc7ee3e322b6139f0ab561ef741b11a12ccd418e747b03a70e18b7
+DIST firefox-91.0.2-xh.xpi 435041 BLAKE2B 
e51f7abe34cd7e65be01e3a5c0288cced33e85c0e63e4bb33e62f0972724c689d40113f40cbdbeccb84ca536b540fa3a1653d8853c461c28b7f353fca11db1a9
 SHA512 
eb6ba0cc1446d67663270505e7f9b215733dd6d668218197c1b5a7c95b22c237ea5f66cea6b8a9ba7e74699d50643927e77c95b29f2922cf30aff5ac1bc9dc7c
+DIST firefox-91.0.2-zh-CN.xpi 581941 BLAKE2B 
92ffe8fa9317e8240a522bf312333cf35359fc036e9caf6bdb8c56a4701163efbbe6f69145a0282963c255998c554a6f2f0876c31aa6c7396dc7bfd73f15ec85
 SHA512 
f09100f3d7555c00cdb33bc0b0a07488494baffe6bb8e7408c32196e91808625fcd9af24d4088bcbaa06637ccfc3f6e8772d29dc0c66b1335d09ca7a6e0ced55
+DIST firefox-91.0.2-zh-TW.xpi 582124 BLAKE2B 
962fe6182f240fa5f1bce94f7e1038c958aefa0736a1b3b36a3565d26acd6361d19dc31cd4747dd723e9069490b073b2b2fdd328af440efaeeeed6531bb00a72
 SHA512 
3315585c1cc781c2f8707f7f092e70374e93166884149ee9123ddd1cc5e6c4950ce6ea5050637181a79096544d3567f0c4c46dbd88ddb6eb1d3e06c2c5b7346a
+DIST firefox-91.0.2.source.tar.xz 381193820 BLAKE2B 
42e03ee63e9930a71716599fdeb538006e1a1404a81ecb0efc25511f4d2100b447c9c979d367c9f5fdd60c8ac667f50d36f250b1b755b8eb6eb8f7fdd909b612
 SHA512 
82084799524db6661d97d9942a01ca9edec2fae6b503c9dd2d79fca78bfef4ee0a888e5f5cf4cfa2b91d9c9392658bb8218bae2b9bec0fbcacfe73a174a4dbe7
 DIST firefox-91.0.source.tar.xz 380788436 BLAKE2B 
14cbe36c19b9dc64d3903994681bc42f2fbca30b97413088155620ec2a93433898bb1d247b55701bda61c4144cb8f1e460f6c2d5d5cdb57081a760f291c1a0d4
 SHA512 
a02486a3996570e0cc815e92c98890bca1d27ce0018c2ee3d4bff9a6e54dbc8f5926fea8b5864f208e15389d631685b2add1e4e9e51146e40224d16d5c02f730

diff --git a/www-client/firefox/firefox-91.0.2.ebuild 
b/www-client/firefox/firefox-91.0.2.ebuild
new file mode 100644
index 00000000000..b606ecd707c
--- /dev/null
+++ b/www-client/firefox/firefox-91.0.2.ebuild
@@ -0,0 +1,1149 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-91-patches-03.tar.xz"
+
+LLVM_MAX_SLOT=12
+
+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/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
+       ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox";
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0/$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
+       hardened hwaccel jack lto +openh264 pgo pulseaudio screencast sndio 
selinux
+       +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+       +system-libvpx +system-webp wayland wifi"
+
+REQUIRED_USE="debug? ( !system-av1 )
+       screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.19.0
+       >=net-libs/nodejs-10.23.1
+       virtual/pkgconfig
+       >=virtual/rust-1.51.0
+       || (
+               (
+                       sys-devel/clang:12
+                       sys-devel/llvm:12
+                       clang? (
+                               =sys-devel/lld-12*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-12*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:11
+                       sys-devel/llvm:11
+                       clang? (
+                               =sys-devel/lld-11*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-11*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:10
+                       sys-devel/llvm:10
+                       clang? (
+                               =sys-devel/lld-10*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-10*[profile] )
+                       )
+               )
+       )
+       amd64? ( >=dev-lang/nasm-2.13 )
+       x86? ( >=dev-lang/nasm-2.13 )"
+
+CDEPEND="
+       >=dev-libs/nss-3.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/libpng-1.6.35:0=[apng]
+       >=media-libs/mesa-10.2:*
+       media-libs/fontconfig
+       >=media-libs/freetype-2.4.10
+       kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+       virtual/freedesktop-icon-theme
+       >=x11-libs/pixman-0.19.2
+       >=dev-libs/glib-2.26:2
+       >=sys-libs/zlib-1.2.3
+       >=dev-libs/libffi-3.0.10:=
+       media-video/ffmpeg
+       x11-libs/libX11
+       x11-libs/libXcomposite
+       x11-libs/libXdamage
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXrender
+       x11-libs/libXt
+       dbus? (
+               sys-apps/dbus
+               dev-libs/dbus-glib
+       )
+       screencast? ( media-video/pipewire:0/0.3 )
+       system-av1? (
+               >=media-libs/dav1d-0.8.1:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-libs/harfbuzz-2.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}
+       pulseaudio? (
+               || (
+                       media-sound/pulseaudio
+                       >=media-sound/apulse-0.1.12-r4[sdk]
+               )
+       )
+       wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+       amd64? ( virtual/opengl )
+       x86? ( virtual/opengl )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+       MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+       if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+               einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+               return 1
+       fi
+
+       if use clang ; then
+               if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+                       einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+
+               if use pgo ; then
+                       if ! has_version -b 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+                               einfo 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+                               return 1
+                       fi
+               fi
+       fi
+
+       einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+       ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+       da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+       fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+       ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+       nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco
+       si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi
+       xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+       # https://bugs.gentoo.org/587334
+       local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+               fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+       )
+
+       local lang xflag
+       for lang in "${MOZ_LANGS[@]}" ; do
+               # en and en_US are handled internally
+               if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+                       continue
+               fi
+
+               # strip region subtag if $lang is in the list
+               if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+                       xflag=${lang%%-*}
+               else
+                       xflag=${lang}
+               fi
+
+               SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+               SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> 
${MOZ_P_DISTFILES}-${lang}.xpi"
+               SRC_URI+=" )"
+               IUSE+=" l10n_${xflag/[_@]/-}"
+       done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -ne 1 ]] ; then
+               die "${FUNCNAME} requires exact one argument"
+       fi
+
+       einfo "Clearing cargo checksums for ${1} ..."
+
+       sed -i \
+               -e 's/\("files":{\)[^}]*/\1/' \
+               "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+               || die
+}
+
+moz_install_xpi() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local DESTDIR=${1}
+       shift
+
+       insinto "${DESTDIR}"
+
+       local emid xpi_file xpi_tmp_dir
+       for xpi_file in "${@}" ; do
+               emid=
+               xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+               # Unpack XPI
+               unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+               # Determine extension ID
+               if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+                       emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; 
s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from install.rdf"
+               elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+                       emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' 
"${xpi_tmp_dir}/manifest.json")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from manifest.json"
+               else
+                       die "failed to determine extension id"
+               fi
+
+               einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+               newins "${xpi_file}" "${emid}.xpi"
+       done
+}
+
+mozconfig_add_options_ac() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_add_options_mk() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_use_enable() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_enable "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+mozconfig_use_with() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_with "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+pkg_pretend() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has usersandbox $FEATURES ; then
+                               die "You must enable usersandbox as X server 
can not run as root!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6400M"
+               fi
+
+               check-reqs_pkg_pretend
+       fi
+}
+
+pkg_setup() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has userpriv ${FEATURES} ; then
+                               eerror "Building ${PN} with USE=pgo and 
FEATURES=-userpriv is not supported!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6400M"
+               fi
+
+               check-reqs_pkg_setup
+
+               llvm_pkg_setup
+
+               if use clang && use lto ; then
+                       local version_lld=$(ld.lld --version 2>/dev/null | awk 
'{ print $2 }')
+                       [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 
"${version_lld}")
+                       [[ -z ${version_lld} ]] && die "Failed to read ld.lld 
version!"
+
+                       # temp fix for https://bugs.gentoo.org/768543
+                       # we can assume that rust 1.{49,50}.0 always uses llvm 
11
+                       local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 
'release:' | awk '{ print $2 }')
+                       [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 
"${version_rust}")
+                       [[ -z ${version_rust} ]] && die "Failed to read version 
from rustc!"
+
+                       if ver_test "${version_rust}" -ge "1.49" && ver_test 
"${version_rust}" -le "1.50" ; then
+                               local version_llvm_rust="11"
+                       else
+                               local version_llvm_rust=$(rustc -Vv 2>/dev/null 
| grep -F -- 'LLVM version:' | awk '{ print $3 }')
+                               [[ -n ${version_llvm_rust} ]] && 
version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+                               [[ -z ${version_llvm_rust} ]] && die "Failed to 
read used LLVM version from rustc!"
+                       fi
+
+                       if ver_test "${version_lld}" -ne "${version_llvm_rust}" 
; then
+                               eerror "Rust is using LLVM version 
${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+                               eerror "You will be unable to link 
${CATEGORY}/${PN}. To proceed you have the following options:"
+                               eerror "  - Manually switch rust version using 
'eselect rust' to match used LLVM version"
+                               eerror "  - Switch to 
dev-lang/rust[system-llvm] which will guarantee matching version"
+                               eerror "  - Build ${CATEGORY}/${PN} without 
USE=lto"
+                               die "LLVM version used by Rust 
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+                       fi
+               fi
+
+               if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+                       && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+                       # bug 792705
+                       eerror "Using GCC 11 to compile firefox is currently 
known to be broken (see bug #792705)."
+                       die "Set USE=clang or select <gcc-11 to build 
${CATEGORY}/${P}."
+               fi
+
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+
+       CONFIG_CHECK="~SECCOMP"
+       WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to 
play DRM-protected content."
+       linux-info_pkg_setup
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       use lto && rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make LTO respect MAKEOPTS
+       sed -i \
+               -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/build/moz.configure/lto-pgo.configure \
+               || die "sed failed to set num_cores"
+
+       # Make ICU respect MAKEOPTS
+       sed -i \
+               -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/intl/icu_sources_data.py \
+               || die "sed failed to set num_cores"
+
+       # sed-in toolchain prefix
+       sed -i \
+               -e "s/objdump/${CHOST}-objdump/" \
+               "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py 
\
+               || die "sed failed to set toolchain prefix"
+
+       sed -i \
+               -e 's/ccache_stats = None/return None/' \
+               "${S}"/python/mozbuild/mozbuild/controller/building.py \
+               || die "sed failed to disable ccache stats call"
+
+       einfo "Removing pre-built binaries ..."
+       find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) 
-print -delete || die
+
+       # Clearing checksums where we have applied patches
+       moz_clear_vendor_checksums target-lexicon-0.9.0
+
+       # Create build dir
+       BUILD_DIR="${WORKDIR}/${PN}_build"
+       mkdir -p "${BUILD_DIR}" || die
+
+       # Write API keys to disk
+       echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+       echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || 
die
+       echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+       xdg_src_prepare
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       local have_switched_compiler=
+       if use clang && ! tc-is-clang ; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+               have_switched_compiler=yes
+               AR=llvm-ar
+               CC=${CHOST}-clang
+               CXX=${CHOST}-clang++
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+       # Pass the correct toolchain paths through cbindgen
+       if tc-is-cross-compiler ; then
+               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+       fi
+
+       # Set MOZILLA_FIVE_HOME
+       export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+       # python/mach/mach/mixin/process.py fails to detect SHELL
+       export SHELL="${EPREFIX}/bin/bash"
+
+       # Set MOZCONFIG
+       export MOZCONFIG="${S}/.mozconfig"
+
+       # Initialize MOZCONFIG
+       mozconfig_add_options_ac '' --enable-application=browser
+
+       # Set Gentoo defaults
+       export MOZILLA_OFFICIAL=1
+
+       mozconfig_add_options_ac 'Gentoo default' \
+               --allow-addon-sideload \
+               --disable-cargo-incremental \
+               --disable-crashreporter \
+               --disable-install-strip \
+               --disable-strip \
+               --disable-updater \
+               --enable-official-branding \
+               --enable-release \
+               --enable-system-ffi \
+               --enable-system-pixman \
+               --host="${CBUILD:-${CHOST}}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --prefix="${EPREFIX}/usr" \
+               --target="${CHOST}" \
+               --without-ccache \
+               --with-intl-api \
+               --with-libclang-path="$(llvm-config --libdir)" \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-png \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
+               --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+       if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+               mozconfig_add_options_ac '' --enable-rust-simd
+       fi
+
+       if [[ -s "${S}/api-google.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+       else
+               einfo "Building without Google API key ..."
+       fi
+
+       if [[ -s "${S}/api-location.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-location-service-api-keyfile="${S}/api-location.key"
+       else
+               einfo "Building without Location API key ..."
+       fi
+
+       if [[ -s "${S}/api-mozilla.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+       else
+               einfo "Building without Mozilla API key ..."
+       fi
+
+       mozconfig_use_with system-av1
+       mozconfig_use_with system-harfbuzz
+       mozconfig_use_with system-harfbuzz system-graphite2
+       mozconfig_use_with system-icu
+       mozconfig_use_with system-jpeg
+       mozconfig_use_with system-libevent system-libevent 
"${SYSROOT}${EPREFIX}/usr"
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-webp
+
+       mozconfig_use_enable dbus
+
+       use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+       mozconfig_use_enable geckodriver
+
+       if use hardened ; then
+               mozconfig_add_options_ac "+hardened" --enable-hardening
+               append-ldflags "-Wl,-z,relro -Wl,-z,now"
+       fi
+
+       mozconfig_use_enable jack
+
+       mozconfig_use_enable pulseaudio
+       # force the deprecated alsa sound code if pulseaudio is disabled
+       if use kernel_linux && ! use pulseaudio ; then
+               mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+       fi
+
+       mozconfig_use_enable sndio
+
+       mozconfig_use_enable wifi necko-wifi
+
+       if use wayland ; then
+               mozconfig_add_options_ac '+wayland' 
--enable-default-toolkit=cairo-gtk3-wayland
+       else
+               mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
+       fi
+
+       if use lto ; then
+               if use clang ; then
+                       # Upstream only supports lld when using clang
+                       mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang and USE=lto" --enable-linker=lld
+
+                       mozconfig_add_options_ac '+lto' --enable-lto=cross
+               else
+                       # ThinLTO is currently broken, see bmo#1644409
+                       mozconfig_add_options_ac '+lto' --enable-lto=full
+               fi
+
+               if use pgo ; then
+                       mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+                       if use clang ; then
+                               # Used in build/pgo/profileserver.py
+                               export LLVM_PROFDATA="llvm-profdata"
+                       fi
+               fi
+       else
+               # Avoid auto-magic on linker
+               if use clang ; then
+                       # This is upstream's default
+                       mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+               else
+                       mozconfig_add_options_ac "linker is set to bfd" 
--enable-linker=bfd
+               fi
+       fi
+
+       # LTO flag was handled via configure
+       filter-flags '-flto*'
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+       else
+               if is-flag '-g*' ; then
+                       if use clang ; then
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols=$(get-flag '-g*')
+                       else
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols
+                       fi
+               else
+                       mozconfig_add_options_ac 'Gentoo default' 
--disable-debug-symbols
+               fi
+
+               if is-flag '-O0' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O0
+               elif is-flag '-O4' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O4
+               elif is-flag '-O3' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O3
+               elif is-flag '-O1' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O1
+               elif is-flag '-Os' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-Os
+               else
+                       mozconfig_add_options_ac "Gentoo default" 
--enable-optimize=-O2
+               fi
+       fi
+
+       # Debug flag was handled via configure
+       filter-flags '-g*'
+
+       # Optimization flag was handled via configure
+       filter-flags '-O*'
+
+       # Modifications to better support ARM, bug #553364
+       if use cpu_flags_arm_neon ; then
+               mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+               if ! tc-is-clang ; then
+                       # thumb options aren't supported when using clang, bug 
666966
+                       mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+                               --with-thumb=yes \
+                               --with-thumb-interwork=no
+               fi
+       fi
+
+       if [[ ${CHOST} == armv*h* ]] ; then
+               mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+               if ! use system-libvpx ; then
+                       sed -i \
+                               -e "s|softfp|hard|" \
+                               "${S}"/media/libvpx/moz.build \
+                               || die
+               fi
+       fi
+
+       if use clang ; then
+               # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+               # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+               # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 
'x86', 'x86_64')
+               local disable_elf_hack=
+               if use amd64 ; then
+                       disable_elf_hack=yes
+               elif use x86 ; then
+                       disable_elf_hack=yes
+               elif use arm ; then
+                       disable_elf_hack=yes
+               fi
+
+               if [[ -n ${disable_elf_hack} ]] ; then
+                       mozconfig_add_options_ac 'elf-hack is broken when using 
Clang' --disable-elf-hack
+               fi
+       elif tc-is-gcc ; then
+               if ver_test $(gcc-fullversion) -ge 10 ; then
+                       einfo "Forcing -fno-tree-loop-vectorize to workaround 
GCC bug, see bug 758446 ..."
+                       append-cxxflags -fno-tree-loop-vectorize
+               fi
+       fi
+
+       # Additional ARCH support
+       case "${ARCH}" in
+               arm)
+                       # Reduce the memory requirements for linking
+                       if use clang ; then
+                               # Nothing to do
+                               :;
+                       elif tc-ld-is-gold || use lto ; then
+                               append-ldflags -Wl,--no-keep-memory
+                       else
+                               append-ldflags -Wl,--no-keep-memory 
-Wl,--reduce-memory-overheads
+                       fi
+                       ;;
+       esac
+
+       if ! use elibc_glibc ; then
+               mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+       fi
+
+       # Allow elfhack to work in combination with unstripped binaries
+       # when they would normally be larger than 2GiB.
+       append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export MACH_USE_SYSTEM_PYTHON=1
+
+       # Disable notification when build system has finished
+       export MOZ_NOSPAM=1
+
+       # Portage sets XARGS environment variable to "xargs -r" by default which
+       # breaks build system's check_prog() function which doesn't support 
arguments
+       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+       # Set build dir
+       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+       # Show flags we will use
+       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       # Handle EXTRA_CONF and show summary
+       local ac opt hash reason
+
+       # Apply EXTRA_ECONF entries to $MOZCONFIG
+       if [[ -n ${EXTRA_ECONF} ]] ; then
+               IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+               for opt in "${ac[@]}"; do
+                       mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+               done
+       fi
+
+       echo
+       echo "=========================================================="
+       echo "Building ${PF} with the following configuration"
+       grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+               [[ -z ${hash} || ${hash} == \# ]] \
+                       || die "error reading mozconfig: ${ac} ${opt} ${hash} 
${reason}"
+               printf "    %-30s  %s\n" "${opt}" "${reason:-mozilla.org 
default}"
+       done
+       echo "=========================================================="
+       echo
+
+       ./mach configure || die
+}
+
+src_compile() {
+       local virtx_cmd=
+
+       if use pgo ; then
+               virtx_cmd=virtx
+
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+       fi
+
+       local -x GDK_BACKEND=x11
+
+       ${virtx_cmd} ./mach build --verbose \
+               || die
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from sys-devel/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+       # Set dictionary path to use system hunspell
+       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
spellchecker.dictionary_path pref"
+       pref("spellchecker.dictionary_path",       
"${EPREFIX}/usr/share/myspell");
+       EOF
+
+       # Force hwaccel prefs if USE=hwaccel is enabled
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+       fi
+
+       if ! use gmp-autoupdate ; then
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       einfo "Disabling auto-update for ${plugin} plugin ..."
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to 
disable autoupdate for ${plugin} media plugin"
+                       pref("media.${plugin}.autoupdate",   false);
+                       EOF
+               done
+       fi
+
+       # Force the graphite pref if USE=system-harfbuzz is enabled, since the 
pref cannot disable it
+       if use system-harfbuzz ; then
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
gfx.font_rendering.graphite.enabled pref"
+               sticky_pref("gfx.font_rendering.graphite.enabled", true);
+               EOF
+       fi
+
+       # Install language packs
+       local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name 
'*.xpi') )
+       if [[ -n "${langpacks}" ]] ; then
+               moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" 
"${langpacks[@]}"
+       fi
+
+       # Install geckodriver
+       if use geckodriver ; then
+               einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} 
..."
+               pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+               exeinto "${MOZILLA_FIVE_HOME}"
+               doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+               dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+       fi
+
+       # Install icons
+       local icon_srcdir="${S}/browser/branding/official"
+       local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+       insinto /usr/share/icons/hicolor/symbolic/apps
+       newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+       local icon size
+       for icon in "${icon_srcdir}"/default*.png ; do
+               size=${icon%.png}
+               size=${size##*/default}
+
+               if [[ ${size} -eq 48 ]] ; then
+                       newicon "${icon}" ${PN}.png
+               fi
+
+               newicon -s ${size} "${icon}" ${PN}.png
+       done
+
+       # Install menu
+       local app_name="Mozilla ${MOZ_PN^}"
+       local desktop_file="${FILESDIR}/icon/${PN}-r2.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 show_normandy_information 
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 firefox-91.0 we no longer install multiple 
shortcuts for"
+               elog "each supported display protocol.  Instead we will only 
install"
+               elog "one generic Mozilla Firefox shortcut."
+               elog "If you still want to be able to select between running 
Mozilla Firefox"
+               elog "on X11 or Wayland, you have to re-create these shortcuts 
on your own."
+       fi
+}

Reply via email to