commit:     f0bcab291020e064d08220f5c260b1924ae5d0a0
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 14 16:14:44 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon Mar 14 16:26:17 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f0bcab29

www-client/firefox: add 98.0.1

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

 www-client/firefox/Manifest              |   98 +++
 www-client/firefox/firefox-98.0.1.ebuild | 1248 ++++++++++++++++++++++++++++++
 2 files changed, 1346 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 00cb0c5e7fdc..c93fd2fde74f 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -392,4 +392,102 @@ DIST firefox-98.0-vi.xpi 575125 BLAKE2B 
e996e59a5f71a6f655b0c56f49c635dba3a3e764
 DIST firefox-98.0-xh.xpi 418707 BLAKE2B 
03bc835446859494f5f976c253718bf43f8ba48d8b954a514c5ce9aea7320ecf74ae2bc5cd82b2fffe65ab72dee3bc9a67ac1a6ad25a8d559b4f7dc434d5272a
 SHA512 
cdad7ed754af89419de8a8eba31ca741057681322c6ee57220f1d0576382852629ad9943ef24a0d5d6cb66ee2d0fdeccbc14bdb54916949c6a803c037f895791
 DIST firefox-98.0-zh-CN.xpi 576897 BLAKE2B 
ad79391d382fb4763f5a4f7d0e6185d9acead561721d93db8df841e30a758a9fe92342a4b58a421a108cd7d5ab5027ba6424d6a87cd5180f95036a20f80d5816
 SHA512 
ecea9db5ceef5ed40bf1e873a31ec965e3d3788f8e5507b6ab07e840eb2d680e37ffc5444563baaa802aef2e98d44afac93b7bbe95cdb1a773f853c92366e550
 DIST firefox-98.0-zh-TW.xpi 577899 BLAKE2B 
4bd84e3596280c52b6f33c88b5078d7229e0987f7661d3ab1a97fe6586432f0edcb6a9a9d5b66e8741838295b40a1c3f6a36db766b64521b1cf6b848dc83e242
 SHA512 
e075a0c92a6b1887e3f352b74fb1f19f58da716785e476c1b5a9a7f8d4b96d1ad3e512bc9b2736c96e9f70ff04b10a753597d3e0d2ed2d68c61e9de01533ad18
+DIST firefox-98.0.1-ach.xpi 449115 BLAKE2B 
3f3ffda09e08703af086676e3b809ec0ed4e4aa0308ca733854b2b70659daae8f1861f3230bb5f6eb3e8213a09986b38f8ff6e14ff10dacc4bc99adb3cfb9aa4
 SHA512 
50a0743de10ab08888253c5ef539cb5f19a7f6b95793617e07ebdbffd323e2221d48275cf9fd57c25c0fdbeb610c01b76bcf7770edd5b53d4d2fdebf141406a3
+DIST firefox-98.0.1-af.xpi 415418 BLAKE2B 
cfcc396a6e48694d1f2896dbffef14f78dbfffd145f73e87bd781113f2420f20b170f572a81b20a314e1b4bc4f6519070f053c5cba67148746e325ecc4227244
 SHA512 
753a89f1d47df4e22c5a162f3892fd3d5783b07183da0862c758de42571998f9018c2a0cc3cfc533ebce73db77ca2375bf008c4f4a5befbd70461357a227be01
+DIST firefox-98.0.1-an.xpi 495398 BLAKE2B 
6eb99eca0e8759338ea1ec4e989c7238fd941083ec3184f5d5477e5f88fb3004a4b86455934b43496fedd6aa85b6ab448adde4f5ec7f0405516efa5e031321e1
 SHA512 
ef1907b2f2089a4e13723244abff6ef725453200075b5fd8d51b3725fea93eec5a45ef83dc0a60e29e6a559d0aa3baefdabe5618f9bad1890fc0281f60d93c73
+DIST firefox-98.0.1-ar.xpi 564949 BLAKE2B 
59c5c23a5911b128c8f192416efa7c5d7fa6e1fca114d426848524bee1b8e6b3d04a743b2344bfa5533ef21165683db1dbd31d2d4c625e902fd4bb7ec222c63b
 SHA512 
22e3f3123de96a8e08aae62508b6f3d0729925fcb3e82526c886c73d2497f1447e7eb057df043d7d543606e1eafcd5e48c864768b89e0a93f83c69830cfb8668
+DIST firefox-98.0.1-ast.xpi 493527 BLAKE2B 
2e9c948782952c0ecfabafc6d9d79daa18ccc8ac601e02fca2664d0edd1e8943f97aea457ce26d4e6684ccb05c37c43314f9efbfe31fc2e3a5b43bbffbce6680
 SHA512 
e9bd482b5bc7f99ad431d71b4219fb1f9bf6ebe1d3435d57e9f3332278faed1de4851cf7a53c342b6ecbaedd856b9dcbef6cd83a576aeb486f2004604b2282f0
+DIST firefox-98.0.1-az.xpi 484500 BLAKE2B 
ca8605b0d7036fe1a48c5c55efd028c587c79bb4298aaaa559341a7e6a045aec6cf3034261c0640ecdb932cfa17a24252b72ccf1003ae1f7854d40290ea22744
 SHA512 
6696383ad00bdb8e3fe47f31bb03728155adfe85ca27dd5115cbd532de61a35bde0a84fe731562e1e8499ee87d018a386f515f4ba2130220bfef891afbc6890b
+DIST firefox-98.0.1-be.xpi 622441 BLAKE2B 
c41333fb97fd8945561cf9f99d09a3316a9df98936dee4d9d83a464223913fea2fd8f7bf7e6cd720902b7a8a79a36c38157b1629e7e7fb4f2e2919831cd3bc23
 SHA512 
e48dec99011edbd0eafe3c7c9d5f849ea15d03c3ea4d2809871ab78fd95860a27097d9fd125bcceb81ff0da168bfbe9b6c6139cb3bbb2a1d149f2b1cdd1e56ef
+DIST firefox-98.0.1-bg.xpi 564851 BLAKE2B 
7e646fefcbf78005a12dc3d5bc12e41ea16d7c1909b57eac3dfb522824108fc2d52567b344887a43a5cf668d96351fee9e46c7682ed57b19ba0f341a8732c3e5
 SHA512 
41f81572fe523be1436f1c5474a2ff1d4b0d3ae794ef7b9843b6d0560c1d98b9a2a4310d32684152b00120ec9c59728283297ebe495baf525ad50a25a458f31b
+DIST firefox-98.0.1-bn.xpi 554264 BLAKE2B 
acadc0de83924561434cc76a7498ee1e82d5b8a8f3e00d048ece64c0fe0a18ce7fecd52aa6cd54affb6e4d9dfc963647b0e3a2baa3e7ee07b92dd90a7b3c776c
 SHA512 
04d643109adabb28fe729a8fc9fb1324d2eac98b5106214773132416af0689dc4b1295241458fbcc5908e723de45ab0d0480d844a5fe70810c7b0979fd8fb154
+DIST firefox-98.0.1-br.xpi 529011 BLAKE2B 
cd6598a4c7849324f03bbf6225c7e82d557001ea3f202755fb85409697f40f0df5015c0c0eb5183c22f14bb16a125667561b0d816edd6c39558b301fd2b7957b
 SHA512 
01d5b87089b6dd1984b531c066e61a697ec4869671a6a52c328b7d078e728de012753f190dfe6cb71876bede592b255e18d9bd3475b124c9659111b024e60ed9
+DIST firefox-98.0.1-bs.xpi 459053 BLAKE2B 
860f43be6fc8ea5e55f0ed5392ee7d3e834e14415a1484bbe15c50fefebe6f8175a9795e2e0836df2a27bc972141d53090e874f884a8af468a2a77dc3a50fcb2
 SHA512 
c47b6edf5f253e4112292adf8c102936840d88a43c3aa4a3606b3253204c0d332a1f2678414359be7234f855dedb7d5d31c3e9d488d60783b430fe64dbad816e
+DIST firefox-98.0.1-ca-valencia.xpi 536651 BLAKE2B 
2c3b0c13c2b41dd40439e0b28ce215a313350701e1d28ed456b36fa0b1947a85f7fee6ae0f93342ab30112eb8953b8496be3260483838969637b8a470edf3367
 SHA512 
fab242c331cfb2a68fb62519b1beb6a6710391be94d7e459915e6d1dcad2b678ee8a8efd312b40795872b9b0f0e53567de4f3c38f2f4fd7df7b76c018338dd58
+DIST firefox-98.0.1-ca.xpi 529097 BLAKE2B 
10585c88e9e9c7623a2434103667829d3d6796cacaac18da6bc8ff7173de5fb152cd10e22aa5fd52a78487bfaed92194a07bc02028729a397a2ce44e2d3d1c09
 SHA512 
a48d1b47d4dc59575cdd1810116d7f54d420b88b9bcf0739a4279313d38a14f730a92239caccc8715577f3f5de066ce55a4c63b887b95f51adcf403e9ab5387b
+DIST firefox-98.0.1-cak.xpi 552680 BLAKE2B 
4697fb3792adc33bed2a15cb7ccf3a2a86797653b88e4eaead859006b5c286765cd0f54d00f42000769a9d013e9026b9a0366d6838cb965b4c77204ee5c4c7c7
 SHA512 
3c6e885f03a9624b4bfb01ec819c17ae7fc17f9131f8413fb1dd7d50e4cfbcffb247dcb05dab0ea83bf3fba81fa6334ed90bb571add721fdb5657a48febcb1d8
+DIST firefox-98.0.1-cs.xpi 563944 BLAKE2B 
d81d82dd72806faf45a1ee22e6018d417a63b26f01291fa8dfa0c10c11cc1db261782d1f225034785492afbf7c25b18db1320228ad1158be7e27ad8af8812ab1
 SHA512 
b581cdd09b64bc3ce4bec462343446bb9463f7a9244c2b20e0ea727b82e6c17b66b50a4ee997e989c42f1eeb30058b99cc025b9b5d270b9a8c5816d0f3324a11
+DIST firefox-98.0.1-cy.xpi 543641 BLAKE2B 
5c44d00fe3cfeb1e3682976aae395a6576a9d2d9cba5c8f1eec905f208dc430d98f6dffee5e93bceccb333f19117357c8b72da42f4a00140717e3d72ad34d06f
 SHA512 
fad3c0b45997ab80e03c2f9e61edc544e44d1182e9e5bd122abc534c95cbbb9556c693a09bd4359bc38c43bdc982e5f6679d53bd6b1750513ed3fcc4c534c721
+DIST firefox-98.0.1-da.xpi 535624 BLAKE2B 
db020e010bc4319086ed4304e6190e908af80a74c68ddf2ef40353c679754fcf03eeeca9755169998dad206c867c1082e1b4c3cb5c713d46f32c49ccd2c23136
 SHA512 
7084e2a9f55266cafc0c8ce420e0208ac1823a783effc72f51255fe37065f0932088fe9ccead046a3d481ae604f6d004e268237f7a7422f051d602daad37726a
+DIST firefox-98.0.1-de.xpi 555207 BLAKE2B 
e924e69ec6150a50d9f3decc4416203a068c3ad5df0fef3dd84a142d41cf0ad0bbcdca02916da9cbf070473b6e70de5ad75fa0fd0fa6b7683b71182679cc6262
 SHA512 
e399bced302df79a1cc8d1fc0071199b625d76abc9050ce78cbec2ff0bacca27a2fc0a783816bfb266badaa5a229973f472810f51e86942eecead648faf77fb3
+DIST firefox-98.0.1-dsb.xpi 568154 BLAKE2B 
5dcf949e02f19f2476a34fed4028e7cd40a8aa74b7015b178a0b35b486bce65aa7810bf46f244e88a08e2013f33155516c6e2a6221291c7a245df8fba9c53722
 SHA512 
ded79c09780670b593c9310bde471a7516526d438a8ff40d1a4830f6a5f01856cbbfbf703f4ddea21fc6addc14a5683ca9648e699f4d5b24adb044a59b433a37
+DIST firefox-98.0.1-el.xpi 641164 BLAKE2B 
e64b3d9608d11481c68437bcdf9f933c32340789b77e12de35ba665457020a8d90237cdc9063054409849c7bd06cfd56c58cc9055b9bce8f20b13cee4e5568bd
 SHA512 
1f0624cc597d6182fce3300fb55aca3b7e612d08fff88077a1ee7829d8ff980e62b0730ae085f0fc5a6eefb6ab230bbd02c0a3ee77d7e0ee0ee592bfcb5f7ee8
+DIST firefox-98.0.1-en-CA.xpi 512244 BLAKE2B 
484ca9f44e8f07cc12e5a228bd04a8f94f0505148a87bba814ab956ba3b97aae1814c4f4173bad289a3970b3212fba6ce02a9912a4e7d8b91e030030d1f4993d
 SHA512 
5c2bcea340276764aa24c42f33fd6ccd47e7ae6ae20e5f2d0e4d4eefd3579f57d03061283877a9f4f82571a1676090bd3c59405525b136b63ef4ada48794d8d9
+DIST firefox-98.0.1-en-GB.xpi 512576 BLAKE2B 
77e805473504ba0ec8d560665326cc4f1d30a09fe48eb346cc60109fdb011f485ebe6d504f93d2930fbd3f0791119209dfe763284f344c926fe366470ee074cb
 SHA512 
8d283c957445fcd330352fe4fba466e670455ae90ec2d80f210d398b140afddedecc0954321b893992812f79c64f9c1a91298ce7a5314fc8df5dd8dcd7a54750
+DIST firefox-98.0.1-eo.xpi 534798 BLAKE2B 
f158d1691c7793fcac17d1dc443478c780c9ff8a0a0d43900662c37cfcc747abd38d44635d04c9071992c1de3631fed8ec3514ac48c8c58136300418621e7263
 SHA512 
621fa3e0d1c57a7e25cbc4a70836b3f590659f371eee40ae3e381edc77be6468090e0fbe289187e78ea6bee0b9ad46caf551a85262592f1e2a63ad1a63bee1c8
+DIST firefox-98.0.1-es-AR.xpi 548278 BLAKE2B 
8a2f1bf9a73b65b4e3813198e696784660dc05665221694ef8aaddf6de3ec017c6ea8289932fea449f245dcaa5a2cf9ed457920e49c278b66854865b4a184605
 SHA512 
de1b99a379da4d9f84875eb0131f7ec760dfe22a772c70336b65f648b28968207620b308d9555c821d89d3d6d82712c3cfc9097d9ce4f66d7d0d22f8f2076168
+DIST firefox-98.0.1-es-CL.xpi 547617 BLAKE2B 
e7dc48553163a408bb963162e90cf6dbfee6c8b45f3bf9478c215a0fe4314d444a6a81cd9e54065c6b96c331b65849455158b4c1d1568fa4820018d338caab74
 SHA512 
1e86f8b15382e2bb4df2a8595242e2f5dbfd63b6c304be56b41a70be5f562cf9dcacb41017f03996da70b13ca8087779ae0411ff21c5b654e4d6a919382d8f71
+DIST firefox-98.0.1-es-ES.xpi 538878 BLAKE2B 
63080c79fa9aa2ed064de9dd8ba253f7f763e965757a59d429f83ce41d476e3c67baf3b63ff1f09783905681812234054fd3dee332d30b134ef237711e7714bb
 SHA512 
f36dd99f3442f8a04ad501bad1420742a785d8f4837b2c06815f513f163973357d0e775f729ebeeca0641e49f99c8695228cdba634d2a909ccc3862d79ef75ec
+DIST firefox-98.0.1-es-MX.xpi 551618 BLAKE2B 
ee696f30967f883a05d4b9468f40381d5929a68c38b23396f5dd6e1c7bb7ee0cc4e401f626a7e59a34758eb2fe6aed7fb658f25b7dcb135812cdd0013917757c
 SHA512 
5c6bfcf238e4b75574396a843fed87febedfdfa410d484020b34e0528405dd9cbed5df5a64b549570944fba503023e4c60d8189e77702633b0109d1f55e548cc
+DIST firefox-98.0.1-et.xpi 529517 BLAKE2B 
18284d25eea4dd28accbfe943fc7248a266ad2ee23c69ff40de43ab08d974571ca827201e859713d39d20334325304b36db3a3b9a567904d6b8168262d163cd9
 SHA512 
78cbc3bbdb0376581d37fda290f5e4f9bd5e27f2499a2c7b97ba198a2a674b68450181963a164abcb878e67180f0a375760aaffe0e021b3d8c83c997be899f34
+DIST firefox-98.0.1-eu.xpi 537988 BLAKE2B 
de0b3eb90293bf136d8f13458ac4de5eb8923700abd0cf0e37278c6b82c7e5e862f1e5115ff8c0ead80cb7e821253131fb2708ca569451cc98c235b49676166f
 SHA512 
67ec61486587d18aefa2d2669251929acb4de949ad5e142715924da99728eb7325c8b669ff1e798f5b63bbb86ef4ee3367de3440eae338026d3476c0558626e0
+DIST firefox-98.0.1-fa.xpi 561227 BLAKE2B 
b4309015ba7d4deae4bb6759198e40146cbb8b4337ac72da516814e831d088f3318a469e8b5af71948d76d42c664839d01ab8b18d4bece95fa20ce9e7975897c
 SHA512 
42c9cc74891d54e6a20c07c012170bb595e5766966abfb49f424163d46e5e101a0f91680768129add8a09a79a24bf0c7ad1f3dccccc3be22361da3cdb7c3a6ab
+DIST firefox-98.0.1-ff.xpi 468214 BLAKE2B 
05c7b4cbd90ea4bee9b8056e359821f9674a647fae82191cd0caa0c9abd40405171fc52a4af666748f46703eff27092f56baadd86797de95948c207f9b9acba6
 SHA512 
a39a7a1523719cf8a26f3850d6e161d5409bb98ea3a1d0c9e7642a44581b8f65624b6fb37775fedc8cb790567c15138656c7a94d84fb0c6e84c750dcfa87b00e
+DIST firefox-98.0.1-fi.xpi 532683 BLAKE2B 
596fdca1e3dbbb23287c22f6af9c6411671c9e096eb56a34acc79e65b8ca61018f80a50b6ef84fb2c9abb32e6f3d94c50414b8aed9cbd892b18df6f891c262f0
 SHA512 
92f08309f12534b07ae00d1e7785e9cc9870661091c1615d1c4b2b291446c8ba2d1a05f45596baced72803938a1c68cc5dfba0d758982e2f8f2699f44b88a6d7
+DIST firefox-98.0.1-fr.xpi 559537 BLAKE2B 
3df7e19b335620c4cd1a041b8377a7ce9d428bdd8a299c2e355662f68ba9287a91644d32042292bd2f7e12124d9ed18b6410d8f74949da271d8089105ee40ff0
 SHA512 
ffe6a8fa4b1ea61e3d44662ca08b90b4a8f3bfba7eeff3997a6a9b354c7cf625bb6875afe5a2741f82a8661dccd3d43866315e673aa4b3ddb9709f767ae63223
+DIST firefox-98.0.1-fy-NL.xpi 544618 BLAKE2B 
2b151e987e4ad92bb798801a2906c335a68bda12db9f0012ad2d0a9647a5894a7561d45d5d2ae650a3e145e8e89a326774e7797b3133fd08db8ad21cb66b4324
 SHA512 
e56058308d397bc0abad91fa2639c171221f45f25edad40cdb0fd0fbaab35fe2c988d4b3a7aac3051b6fa558f82f9de097add84b9ff5160c4316cd4c36493570
+DIST firefox-98.0.1-ga-IE.xpi 465493 BLAKE2B 
425853c64c77cb8bf11dfeed89daf73673b58968beef5e2a15af675f7e1e4fcde15731fd51d56c6c22896fab97edb55b077fbdd2acc2f0fe562abe4f5d32544c
 SHA512 
2848c4e7f0a6562404ffa092ffe9d35bb42e86975645d9cb7f02d792c479ad0bf4e3aa0b4c7eb0104c3788affcc6744cfbf0773a70281ca8abc1623f76bd961f
+DIST firefox-98.0.1-gd.xpi 528872 BLAKE2B 
1b5b0086526c35e7a13551b0948582b0d90d433cb77c3bb5e2a4a5f5fa3746453395f1544ab25100c9ffc0dc51d746df709aa82fcb770ad7f8af21adc68e14aa
 SHA512 
fce8d471ab292db96945cadb082edf7da44891880c71c5bae2185fd6ec055de1288b9e867f5204b17d326f95a76256b35ad72d2668914a816746a83e27546cd0
+DIST firefox-98.0.1-gl.xpi 541869 BLAKE2B 
ea1a0c47906a1c13ff3b8d0019401dbe9cff4a736b27c62754747f164eddb66fbca984829fd528f945573bd713d235330c9b7e5408fd7aa60d386f64f37d0b83
 SHA512 
547c87dcf6e7fd2d8bbf624a7f4752aeeca117f830e6dc98c9437628289da7a78057dd06efb91a2fa1dda7f09c9d6f6a6601a9be8cbfde823ff417e356c52058
+DIST firefox-98.0.1-gn.xpi 559404 BLAKE2B 
e18353bf28da9cf3e33205804b3ba83a9d18a1c54f99b6fd487a9dd33345825ceae80f9884acf4b86a1aa546e8f30656f0cada65eb11f0367e7ba750ff23b003
 SHA512 
5d9ec228b79a191620e450d9d85ea3d9aa7cbaf342797fc9cb38158595acca3a13c35957650537d4afc62a39c4ebb05e3f5cb09dc5817974553ca06688a539be
+DIST firefox-98.0.1-gu-IN.xpi 525481 BLAKE2B 
e5fd7d9de2f4476ce8221436a6fde8c00906f2a9c4553d32e777c10d036eeee8d06755e9b1316f7ee6e57c923f6afd906c8847e89226166767ef6d9fbbf0380a
 SHA512 
4f90fdd1ccc98cfe7871339efc9e064f8577405806fdb22a4e04af16db9b0079f50364095017726d2827a6358cb838f2e16b5d0561ddcf5b0113e2e1e9b249a5
+DIST firefox-98.0.1-he.xpi 558300 BLAKE2B 
e27a1a5c97c1bb96111f19f3f47793c6c3a237e984f0f9776b3b19858ced1d3b1ca5a6c4c5b70f4bc6e225b7e106f85396f91167c13bcf18699bb35f3a3292ba
 SHA512 
1e58df1e892650f0fda7e09d34a434a460e5f200a8b4903e59c2b94423f3cf0fe74af15fac1eeda04908be9dd14ab1cbe74abdd6fdbe74f79d87c24ca4c6e999
+DIST firefox-98.0.1-hi-IN.xpi 555955 BLAKE2B 
362e2339847fe94e2b0c03c5948e99f4190618ed91c37db7ccd49a8469653688bfe9ddb2942f836173201fb7902c5d7126103deef7d50b737ee0f331d5de4ae5
 SHA512 
89d61c7d27fa7d4dcfda369913c6c8681c05c74b7a3ca4c0e1948014d977bbd25e9f3053bb3f9fa80b795cae64e3d14d127dd07854a022a203efe07c0001aa4a
+DIST firefox-98.0.1-hr.xpi 530093 BLAKE2B 
db8a09fc7d466c1167be8e26be5a3aaf177b5f54db2baf1aa022d7e28f2e05f5ccbde06f32ac21a747a970a94d78a9d4a0aff1d0be9b95f8a77673d28ef0bbb3
 SHA512 
bc61c11208fcba7294bb715786c4228d6fcf038d2c49aa86c44fe517fb7041c08ce727147897a167685f5fee9094c828eda4da1c2a665726333efa1093757723
+DIST firefox-98.0.1-hsb.xpi 564227 BLAKE2B 
020db10b1a118a56f51548ceb994e0a8c1c64beb99ce72c308c70f06d96dd8cf42a32f379d7b4a88f9fd59a0fa6545d4a5f878ad847d946ffa7e5aa1e07341aa
 SHA512 
fb200e43bc92521f6fb54cd0f2c06d0399d773b3efd0152af8e75a1b98fe5d2abab16e755c1aac5bbecb0df92caee2c30b73bbbc286d18db39a1789088843b34
+DIST firefox-98.0.1-hu.xpi 567462 BLAKE2B 
9edda07281adc6c9e1c70a35711338f4ea9f5c2451d07b36bcad08e9ce51e708d057c90c0b68d1271b29b500e30f92082c450b6bed0da4e63782cb56d739370e
 SHA512 
e333e2cd51ea9a0de9c62b5eb9dd730dd59d7d1b8c9e83137ea66be6e7fb520d11b925b242425c0017d9b309a31dba1011b8ab32241dfcc1671b15ac69439681
+DIST firefox-98.0.1-hy-AM.xpi 578963 BLAKE2B 
4080a74827b2725f84615bf6b26a100f5d61ff66b500dab2beef42fb836fa26cddd6f3dd9ed4a481c10ba812b03211c31c9cdbeb4e3ff2ae7728182c95ef8e06
 SHA512 
4dad13e9e20e3dd1eccf2fb4fff51ea625ee46529550b0ca6a2c3e716e55938994aab3ba685e14348f68f3cd8a9c56315084e3a82ae5570bbd7409dd7f348318
+DIST firefox-98.0.1-ia.xpi 533676 BLAKE2B 
d40225917e838c3ff80fc28166feaa1efe2035058513cebdf8d188a144fc108e8c92f3b2a3234b94e419d9e67116a239aa8eb54fa64db6fa8f69d2088b28f6a1
 SHA512 
e01fc410bbd6ced018d985c838b3ae4e15fb31efd2cdb7f7b7897c523cc7a91fd51b6b50afaf2da95aa7dbd1dcbb633c48827d705b5e4211d130191d5d68791a
+DIST firefox-98.0.1-id.xpi 528727 BLAKE2B 
28834a504e1305b642f39d2f94fb2a2270c9a69cf43e6a45a97053c063274d3f9ffa61f483d4563043d71ce8116823fd06c4f58a12afaecfa832cb0284083961
 SHA512 
d275f70a54ce83e9ad1106dabf61c75b5792231cf16580d7c921d372d74de72a8bea4e0b5b5f1d5a2881a4e7a4517ac38b2ae3075e3fc7bd32bb39a9f0028d6c
+DIST firefox-98.0.1-is.xpi 536089 BLAKE2B 
bbe5bd015f936d0448ffac9c1b8a18c56919374a25b543c9e3dcec4cedfac939fce0b37be73505387f016e8d096ff1ba46b580aa68df416b7ae0766352912bcc
 SHA512 
8f674d763dcba1ec56dca0d32341b2de05fb05f06727ab775b4742762eaef324e498e5f170e883498205a9e60161bfb8213212760ac5296a5d60a3f96d58b077
+DIST firefox-98.0.1-it.xpi 460867 BLAKE2B 
0462c53568c9f37576139ed8a6a9ad833831367df4438fd011053142561eaed3426b867859bfc5f114fe4bb484b40a0e0982e5e857af54a9bbf6790e76ef98aa
 SHA512 
592c65ab3394e8b7938a380b288be73cf2847b5d9a4054f2594b26535ec35982aee281825bc0cf13a9728ca1dff11d197c48d0ec7abe2f5bc8a78e1b8fa9b586
+DIST firefox-98.0.1-ja.xpi 589742 BLAKE2B 
9eaa4b0662d2599b01190af979e1250213727db25efa6fb62ec664de1907574df066b7735e7ac78454607620645618da64db83854c801692384e7754fcbdd191
 SHA512 
ba4f413bab41b5c1d031334342f211fc9cfdf35319155b5b1fbda10b0b757df18a0a777a7172d78d7f5f3f1282020d8c46e71e639a80930f05a7a817c472ec73
+DIST firefox-98.0.1-ka.xpi 592745 BLAKE2B 
3156bbdd2042983ebb78d001bc456458207f72ca3843c9e35c0f4338af535381434524f63227e43ca48ca203e6b3d4c349b1288e8e0a9c898c035fa366bbba29
 SHA512 
40ad8257437a8087cbb65d937b145c4c92ff74929007af0d24287380a7c5668fecc0e555f655dfeb3bbd5858173778c04ba1ea1a24adf0cc31ea3cf812e21fe0
+DIST firefox-98.0.1-kab.xpi 546512 BLAKE2B 
df9b1e175b89170f8e341fb2562241d613aa162dec874cbda231b7bcc69ea304c857f3dddfdc457de3ad24f4820409445c991f766a203b476bc1e207faa719d8
 SHA512 
6875832cb01ced61fbdcfd4341705a80056e59deea155bae9e380f49a62b1c34cc3f0f17f83eff7b4b6569fd7b1e0db339862c053277d840ca229d7f9b893772
+DIST firefox-98.0.1-kk.xpi 615277 BLAKE2B 
dda02bfedbebe67174590b9330b660cd1ecbf60f3c1bad8bf6ef9adccf825ff5c940baba94954dc078e017a4bc113f1e8ede39a205d0324ae4cc3771b07af4fe
 SHA512 
f08ac9b4d61ebc6d0c130ef2b98e2a49ca822d9418f1573603d8f1b2a4dd0708a232e34ef79e5fa8c7a9454466c1172cbf05e35fc54a88a0265c0e358e80ba42
+DIST firefox-98.0.1-km.xpi 525556 BLAKE2B 
b70dc6938293e91498cb49c81f8ed6fff5a3bc6e791aa561c1c0be28f2568a4f5ee26cfcf7fbfa2f1be66cf6d688963680c599c9c485f6c3e8663ef5942a93a9
 SHA512 
f7ed8575ffa98adaade87c153c73232ac163df84fdbce9668a1deb2f405ae839a26d9f59b134042eb4e1fa7e9e3b8afb94334677a475f118b7c97902737a6c18
+DIST firefox-98.0.1-kn.xpi 491254 BLAKE2B 
c3418cdf1dbdd172d65177dc79eddf5683b6303e37d0586730c212edb67f924ad9a93d35b93e22312e73279537395bbe5ad3e343d6dcc9ead1bbaf75d5569362
 SHA512 
73b95f5d274850680ab984f376b04e822b599cb4a4358a72ef250fedc4834a20c1ae0bb057fabab3fa48b0ffb98ec8f07c6f422610d7ec9e885c47a093bc429c
+DIST firefox-98.0.1-ko.xpi 580644 BLAKE2B 
2700c2b3b9bc78871ec9f2e4621d1d3ebd329fbc5459742101b7fa00b4c4c6432f66d743b325101e853da55dfcd734168f4d796271a6c8f058549974807427aa
 SHA512 
673b7fe8cc4dcb582b58640f8ef083046c9b4714b5c04f34ecd6770f177e77ff76f8333f855170764fc3398d4dc78f3e19c8320847999500ba9648d51fdd2536
+DIST firefox-98.0.1-lij.xpi 467063 BLAKE2B 
b37d5d3f2a172a0252db11b96f219d3cd2bbde52dcb99d76e7c24c6c6f35a497bbdf9d7855d5ccc4149d7294363ca3417c360d675a527a3e2f47efcfbcec5fcd
 SHA512 
0a516b93c6bf0d5d0fb351e1c352fb7bf46f67de3fcc0ed119163fbc7be996395125ee619e90da13bdafbc41227c21da35d1f1b168c3db4ea5fd0e4eaf51e5d3
+DIST firefox-98.0.1-lt.xpi 559743 BLAKE2B 
f4a5d7276eba47c198d36fab42cebb6bf5c61822a4c22505f3a7f1edb7b60ca0ce050ea64c312c24e609a73777500d5d146bbdd02a2cdb0f4f1fc516828d0e6d
 SHA512 
a6c814bb0ef4e3768f7e575d35ad4bcb4eb3aa60d6fb0ba82881e16b41514aaadf65c7430c324c5389d14d9bd6a13ee2ea7eb1b2dfb3c999b4f441e645e97919
+DIST firefox-98.0.1-lv.xpi 459215 BLAKE2B 
a656d1ad61e57ee8046286637750703eb8005e357c0c9af91d3afb5f840d89838281e08fbee55e580f21484f5f913f99a28677bb886ecd7c31456585ca3e45b6
 SHA512 
f427a0f8da32f3a71d80a73789ca7e9cd0c554504123d26181822c50d25ea7de074d12f9d3744482f180a715c552c90a3d8b23c40c46249d5c1064cc9d6714f6
+DIST firefox-98.0.1-mk.xpi 458854 BLAKE2B 
6498d18981ee9530842ea45d5880e745e4f9f355fa4258856707c5144e6ef1aa3e0bf5e9971864906270b26760a1032d9f1da01c633e24bd2d706b8739d85f86
 SHA512 
8573fbaaf74119d58da3ab782d448eeeb3cac4e141b9a7f3c36e83ceeb3eb90972f4dd8eac07a2bd80c2b9eaa297d7b065a043644a77811733888b60e7ae3d39
+DIST firefox-98.0.1-mr.xpi 528063 BLAKE2B 
0cc99c1956bd5c837b93a803fe0888e8446290c1d4aecaf1b4a5214fb138ab75c6063db748351a4d91efb5eea2249e8d52ab90cffecc5c8abd6def4100d5b862
 SHA512 
714cff617106f07a8c93e5b4d5ca30aec3895ea6b4ccdb6effd44288e41f1811717991f20c340af8899528b68c15676fd93c9d8a7cdc70ae8688b4b2d252a5be
+DIST firefox-98.0.1-ms.xpi 444218 BLAKE2B 
8c66d89dbf1f1783bf761390c89aae2e44135ff12b925221f96393ecefc2d235ec9ffb3ca290687723d1a04f82bf42477dcec08d73673b6ede026a67c728435c
 SHA512 
a215321bdebd58d2722c43f499ad91c2d73fdd518c1ecf80e2c54908c7cd0c780ed21e5861ec5c61a6b3ee47d0fea3013cf96b923cca022399a7d8dd6e3dfd60
+DIST firefox-98.0.1-my.xpi 507139 BLAKE2B 
cec5d3ee2d0f8707a07408526d57ba6ecac5fa76443cdedada184654444b008a95345286ea47fe45447b5b21d5e53da1aaf3315bc448da33f7e3769d51ec59e3
 SHA512 
72fb9e0b7e48fa82d1922ce2d578deceaa43952ec0b836ff94385976fbafa2ddfa7d0dc87fe7e8a3fe2f54025d2ce00256dbf5642603c27b1f6368795295f13b
+DIST firefox-98.0.1-nb-NO.xpi 530503 BLAKE2B 
32e4e291e98fabc8e5706bd5fe8842df23ba274a70574309460abd4066f4430bec81676eb6f651c9bea24641c2f7a9732212888d90d607c854561cca68f49601
 SHA512 
016db32faa2bd4dc04a4068cb3cbadfaac8a478c266325282d91f10e44db853d0c8aac5b794820e71487a033cd95b6e3f0348268fe94a2a75cac0ff1bdd69acf
+DIST firefox-98.0.1-ne-NP.xpi 477715 BLAKE2B 
91f9e6c5d8f26f96f36f4435d532b70214159718fa9e0a68c7d2f1955be8129e687f32f9e529bccbacd2381e12b19fd6a7d56d122492362b9a23bf95ec6ab0cf
 SHA512 
167a160ed8ccc0770f4c116a8ce4150e08bdccdb0cefae999222027d976a6df280aa181358b7aa75550618217cf462dfe7c8dc4864f19cb3221178bc230e585b
+DIST firefox-98.0.1-nl.xpi 538884 BLAKE2B 
5532b250d9e079606bd2f80e250f7d0d0e9b24d766dd1a16a1291b248405817d5bf6e0347cbae7d0de14af705531c7259ab1a2f45846c70a3ef7e42a745fd973
 SHA512 
9f0f404fda7cfefa832b0876fe850999914593840c5c40b23660529d0913284d47844de4cd291e4e7c36914cdfd50b37fb1d6a15b581839d1c2d096d93f4bdad
+DIST firefox-98.0.1-nn-NO.xpi 532912 BLAKE2B 
5d34ffc25156bdd0fea756fadb0c4aae967e44ab24579b81104b92e898aee9fb88a9253d6f2daafb00c3ed4abcda8911477fc0eac1d8bcea844121a146ce1e93
 SHA512 
005bcaf3d880bb8704eea96072ff5973faff91216d77c21451a97a33ecd2e8a2aa35a5ec01a154fd92efabd112d527769f00e34488029956b93f13c40cf139f3
+DIST firefox-98.0.1-oc.xpi 553363 BLAKE2B 
560b7f32fef5659f1baa73c7980d90a9af10231c8a9519e2e33db4a9166afde6b79a78cc5b6eb2c42474143bb636fc69c16d233230a531ad88fbf3d45a438a06
 SHA512 
88ddf5709c14d8c8ce14d701866e3fb8548b20b563f619375d055958065fa9283523e13ba0d5c7857703e70cd00ba81e8bb4186d0c36eafd82551a52703355f2
+DIST firefox-98.0.1-pa-IN.xpi 594955 BLAKE2B 
795cb59447e77e4c0e1c86758527882eab9ea6b4fe2929fbe0991621d18b5fbe95efad8e197b9288bd6729105a3f63aba3ac8172113b986c7de9738270c9c917
 SHA512 
2afcef2efaf36608074f73021250828c4ab59f7b43052186e0a00c1721c54eb0f0fa154b6915741c9808e225a4dd1aef2ec99ef9341a76241f0d61fd9e35a588
+DIST firefox-98.0.1-pl.xpi 558268 BLAKE2B 
447d7bfbfbbb8fa2fe8a694c525ab175245418f1c1868cbf67e0f109e9bccd913c523b551eb7a0a3c9a6b59a5da4a792186739e69d42aa2f20c4997c909ccb88
 SHA512 
2035a4ad783c4de79e241e9e79d972153a4abb1202ed53f1109a1583de2adc65bc0a2735c77545998041a3919081a17a5a49b7c916860ea230e6535084eebd53
+DIST firefox-98.0.1-pt-BR.xpi 544102 BLAKE2B 
528f0736317d40dcd81b84c136b01c804fdc9d18aeb283cfd1d826506d696149dd47095a69b58b0626261e056120d27e2ba1cad2d2461d2b986d168738227254
 SHA512 
1a8a9a425ad6ebcd49fd41c0685930fe64cf6630273623d5999f94bad21740b0c69b9a63c16a03523b8d6cef5529a8b766160b4b89c44b4b3467c4c407889184
+DIST firefox-98.0.1-pt-PT.xpi 547539 BLAKE2B 
09c89d26e50b40a963cc2842b90a137007f1207a8d960d15c86ac0a73298f26a84b2f058a866743744fb959652455dfcf43d84e686f796868242b80fce75088c
 SHA512 
339f45c02ebba2a7dbf8d07eb236c35ddf562bb28cf6b317920d081c9e9908552b7a28e64893eb5a8652fc3d9e845ac5d03663e5f0a89ea51588006a1df4f50b
+DIST firefox-98.0.1-rm.xpi 538501 BLAKE2B 
227cc1e33286438441f7dc3e53786af1ce4b22eb3b6932744ca2d18a947517d41924d1a0cfc8d389af0e03f219718b02c15af0f71cf25f4e57a1af30b2785428
 SHA512 
a833e076db1f6cec616707f019a0031fe54ab786a2596a353d14dc16fff8f83e61467b17e47272f6757fe68570196ec850dc5430afbca51df86f91123e57c84d
+DIST firefox-98.0.1-ro.xpi 527831 BLAKE2B 
46f8ee017ec19357d52a85d2f9fb309640304c3b97956c6634355acd3961d7be1126bd86cf812f23d65ec792b030c8a2190cd79b1fff5e1fb8ca966d40cbb3cb
 SHA512 
05e2136f24e20452c83a91d4b3ed66fee163179610c4ab1c12d884f84a2ff4bf2f2f8e9503134d8f097fa8310ab25c36bee2a2a20dada54d7171e82d9b02c0c3
+DIST firefox-98.0.1-ru.xpi 630431 BLAKE2B 
c4c020298bcbb8c412c06eb9c5448b2db99f44bfdb561a145e02d498458ecbeac3c2082c20ba3844a92575b13c048ac6ff1b528425d0cc2508f2baacb56f1401
 SHA512 
c21ce4ad1cbd74c63ab022406d8fbdedba5d4d7dadd00b9c1bb80d4acea7eefae1de784e89688acd8184cff5d831910a1f6b006d29b0ad631a6f19482bcac773
+DIST firefox-98.0.1-sco.xpi 500795 BLAKE2B 
e86dca1d175744ab8326ade134523ef9d5327db6ce7bbd6442b1968228a62d46c7e898c4af57f3066a81efa70a69e05bc6741b24bb4b823e8efb982b101318bb
 SHA512 
37edf528a26af923570507097335b9659da86886bc5625d9d7723b3c2b85277cddf6cbab1e41e6082513ab00a83a383bc1d275fe7205b43d71a68e33ec1e0c44
+DIST firefox-98.0.1-si.xpi 481256 BLAKE2B 
597a4cb47bad7be9618af969a211b633c867e8bfd2931a5b819b37be99f2b9b12726e02fa8b209ab177c71ff9f75f205ef150acabb705f5dc4655daecc6348db
 SHA512 
a657306e9f6fa4ec0bc75bea3774726455e070ab2d2aa7fd61527f5daba850ac9355114dac6b2e720540764778d7291a8502ab49b50526656142e7ee3c0bab33
+DIST firefox-98.0.1-sk.xpi 568206 BLAKE2B 
a58a8bdfdea4c847474019ef6815a7a891d77f9f2182f35741b52bcb2c1a1729e8e00f6ae38375b1c87696ef8b4166c97acc0017bbf0a545ca164d26e6e7e2ae
 SHA512 
f9d34b6ea8d6d309af88032f29cf958ff9b29ea4567d8dcde6a619e7f18b498ce2a44db99995fefa9cb8fe1ebf467343e900a972783b2c892bdf659958de678d
+DIST firefox-98.0.1-sl.xpi 539539 BLAKE2B 
d8a607d56e8beb66e037449e8da7482f76400cb751c11a4e4ce1d2e1132580886152cfa4dc623cafed55b576b4c517256f247992cfcb496d732c1cb63627ebea
 SHA512 
9cfe91d79b7cc8dec0890e2b4337e20bceab384b8de10321b25da0b451a9cc841abffdf5a1de49846a9f0ea0d5ff56cb41844cc08be3f85697afb71cdb7e1cea
+DIST firefox-98.0.1-son.xpi 416604 BLAKE2B 
a5ed6077d7b6f9cce529a0313d3b3f5136d8de220884945be7003f13a8e8c7b3707bdb41843af3affd5281f39c218081ef44cc299d52972dd36e084e7a6366bc
 SHA512 
a96b7ebd0e88c54e59f6f9a01eb7b9a502be16db71008c2f5a5d47d3245d04ee345716abc1442855b942b4f61a303aa1034b836abc3230b43774bab5db085960
+DIST firefox-98.0.1-sq.xpi 557461 BLAKE2B 
0ba27cf0e1fed156012a3178b95cb9a81e6f65b0b11baca4bb41f47f6fab30ee69ffde45ee65be48e0687e07a8f31b52374cbf61908395d2b2b739dbcc60f539
 SHA512 
86fa96ab61586631d3efd1a486fa553b854655a78c35f54534bfac243bd3a391404c999812d7e78ee8921a903773b1983e2e7936168c2108ebd88c17e5a6c349
+DIST firefox-98.0.1-sr.xpi 584454 BLAKE2B 
2e4d6b4c77081aecf469c1480f50e60b06eeedd1099dc1619bcd345b40b28aaf02084055fdd7b702b3d015f5c9605db5dcbf7ef804bc8afd860bc5658e7a8218
 SHA512 
37bb9b79a8f24cb7b08b2fe8ef38b61e79d052b954563d03018399d44759d1b595188ce46ade7479eb911fdccbbc354fed85df3bd595bad399a69560533dd214
+DIST firefox-98.0.1-sv-SE.xpi 541377 BLAKE2B 
62e05078866fcd5cd75bc96ae9613dcd9bbc559e94a7ce9bb810ffa8a61d63733499428b544e6dd346e37afef8a1b438650e1992078561f46dd0ce62d0d86be4
 SHA512 
831fb7ed84b36a31dc7e61d8f0aed04216d323e753cfa2e61038815afdb58f27d15379c191419bc470df4d85f130c54896ce35d4012d172ed7d185ec284370aa
+DIST firefox-98.0.1-szl.xpi 503393 BLAKE2B 
dea4140c68dcd028dc98ff9d310f94a163535a02156d9fe852e8526f4a15a824938b111fbfeed19f21d25bc5de4d3bcd113612f15d7727b4ea086ec031bdb911
 SHA512 
5d4d015eac4e03f8ce4f29f02459c56a5e8370d9aae1b5cac712f93f4809b154b6f04070a9f5bfff350f3d2f4e5ed5c2b30da34bef317fc5960d0c53f0c74714
+DIST firefox-98.0.1-ta.xpi 508277 BLAKE2B 
aebaf3157f63f4f24e20fc77f499494300c24b741ad378d9b3e0cdfcd5953713c4985630702075e0e08886b52ad4756ba71a0247d8127d46e60b67471f698c08
 SHA512 
d24cb3828b8e4c305b6ec1f36ea4de3fafe8b6bba288fbf3a57b6ae76951da5f69aa597dee5cfa081a2cfd80629fa78b9eec444c916c46703b25a71636d10b60
+DIST firefox-98.0.1-te.xpi 546046 BLAKE2B 
7d39cddac9d657006b7b54130b4ca5fbb419d9bef0516478c83b1036a6a0f4edcdb1c9856ae3005c1a916639a31ebf032c294f4d3c0621cba7cc60cf56b87327
 SHA512 
76e3c81edc91033c3b8f46ae0a7e9b858a7f7234c92b551047b026690e686b25375d0564a9e89aa9e4649fab4faadc8f98ec8c1ca41c4b13471bd9b0fcc9e5e5
+DIST firefox-98.0.1-th.xpi 606220 BLAKE2B 
75e434f6ccc56d864ab148f951f685f7275ff1bbbe21ea1412edc8ff328f8b2408eb63117932b6889673cdce14377fd680db466058f20ba6f1a9d7c88e3d0d8d
 SHA512 
3509c59fd92bc3c0c34143621ad89f33e303e6715fdc563055719cff818fb5452aff8888d96bd1ad9274371ca15909b8dba215a27995a0253b5004b1ea442ecf
+DIST firefox-98.0.1-tl.xpi 517822 BLAKE2B 
9ea010059d9f976a1e65f01323cc24d7a3bc543e52fb1c6258832b481aea48345c01c50a3048efee244ef59e4e2c56ad1705a9cdfdbc3594f87bfde351ab04e6
 SHA512 
cc21651d39e3ecb5942b17f78718c247b176f81734b553b5ed1bb6d469ff77f9fa566e12370c2a0fc8e62762833879a03777df9b1374f8e519a6a4e42b2378a7
+DIST firefox-98.0.1-tr.xpi 555789 BLAKE2B 
184d4102cadaf6240dfe1863d793e2a639ce96df272ccfe8c3964217b36322e2990b32c007db0040ad02b2fc2d4e7fac0185cf2950072160ee0a247eebd68807
 SHA512 
1e4db1b1aae6d374f48fe79a25f29d7000fb1d36b38a5fe422415b50f9d5d7bb252e5723e52400cca182a7ce7b4a52f8a7eeaaf3abc4aa2d2d828b3116c17e54
+DIST firefox-98.0.1-trs.xpi 486918 BLAKE2B 
604555757a494741f0ae91a23b0fff592bf43573aec3ed6d35d594017b4304c1843a668f4bca647b3a6fba45192a52634c1a3e7dc38dce6bb61f7d2d37dffacd
 SHA512 
1c35902b80bc88fdd130042e365cc4748430a529b4ac114a9980ded2dd64947140d11f28031b30d9c2d005faceb572c16b8d8b6a5edc9bf0b3208f1072c94720
+DIST firefox-98.0.1-uk.xpi 624009 BLAKE2B 
26d93db47973c743f44f8cf97f7257b60f11efe507258b442ab595740992a02611be59fd1041db920e1dd815b3eae39620efe5990b04ab49d436a670503f1148
 SHA512 
51de9e4fde25be9c9af4ba332fe66b4b61f9ccc4462b380e8d70b8f91f48998284c6c9441cd9d1a1845500901a3bc0a55cdf85e0896b03710296c5f39b84393b
+DIST firefox-98.0.1-ur.xpi 555137 BLAKE2B 
6d29dcb2abc0d117f83b474a592f3d2842c06443d32605b2abff956955835cb3e251647bc462f1b7a202d77997b3ab9f31f598ef22c5eb651f089db598d8fc95
 SHA512 
2dca99aba3963a48bb3d4bb1d641707e7d641b9fd5e4d9bda265edf6189b00a678a206c3fc9afb5006ecce5b2896d1b167bbcd64312c5de96e31ebb6ddd650ab
+DIST firefox-98.0.1-uz.xpi 473454 BLAKE2B 
aacff41a3b090bb526978065aaa22744940bb092c361a72f39b8078d79ba54e6103ead2d3ab5aa22b845845b02c8a7b6f1bc14da896889c0efbeede3a8b30f8a
 SHA512 
f9be8a42323a2334ce0964628075800176f3530dbd51004c4fad429d519471840b357f487bb318d5069545a245a1f93b240564afcd107bf77457fcbdf4c5e5e3
+DIST firefox-98.0.1-vi.xpi 575128 BLAKE2B 
012f3b54577ab9f999c64f25ec9b24bf2aab76dbada5c6196929cef1d188529cf1644505857bbe037ad26290cef83e528590d943448ad89fc4bb29e90acfe99b
 SHA512 
a713d05d1bb8394879dd08ede6047f4dc27005f2f514a1332b56b8b22b6ae3a58eb5d1bd432a1d6dc94974310d34c57b1da6624eb36d8f51641c0314ecce2abf
+DIST firefox-98.0.1-xh.xpi 418703 BLAKE2B 
c206102dd222166f75b0484e282d93733956586baebf84bf1ff3914a6a21004ca2ab13ec66f735c25cd1879b026b12278fb94185ef544fdce5f294697419ad35
 SHA512 
337a32aad5d182707f2c88dafd694f19dea954661d32283475f335a8c4c9d49264dac7eae90c8ac80bfcc2d35f51f6f498542b7c8f9fbba72ff963fb5ed6f418
+DIST firefox-98.0.1-zh-CN.xpi 576893 BLAKE2B 
0f27722cb8bf7beb398f426ab041340cf5dc819604fce7d8d20172783d9af2b15bba30155f283d31fd02431a4c80306a5e657e3d7293712c193e40c08d1e939a
 SHA512 
037acb37e7ef140f447834b9666623e521ea1cf4a08f639e85cdca465cd1a5ee90218c1113d11fcb357e183c680d67a49e45f08d172adcd94c309e5a78cfcb3a
+DIST firefox-98.0.1-zh-TW.xpi 577893 BLAKE2B 
ad7daf9de62c1b6409dbd939b758c6a718bc7aaacadbefe1bb6a95441a1ba5464bbd08b21a35969d182548ba5e2d5d0484d4de10cd0bb0bddb923090cd175fc7
 SHA512 
79cb2b3822cef9c82acfbd9cea1a6e2fe8b3ffba90cf8e9de8ef633fd53257e72a3202d78ae24de6307cf8f5ad65aa166d5b39a7cce057ae20efa6bf1fdf7b77
+DIST firefox-98.0.1.source.tar.xz 490409456 BLAKE2B 
5499d97e59b5747a6fd6a45c8caf9b44d488d8c28de78cd2e61dfb7877e8b4ee11a8440bd43274dbc4357201da7059c6fcae443439dc478a5ccccdc01b146161
 SHA512 
1434ff775e6cdc6d9a75fa0e6d07a4680ada86ecfd7b65208c597ed765e847d900b68df355e6bea6461f6d86ee7a8b2ce3117f23826ad144bd87dfe64ee39b42
 DIST firefox-98.0.source.tar.xz 480141332 BLAKE2B 
a0c3e1677647f9e428dc02620631092c1df22a36b03210cc127827be899eb92cb0fe6d742518ebcf344401e7a2ffaa8dd1c57de3f4b452a1d8993ab56a217804
 SHA512 
5b9186dd2a5dee5f2d2a2ce156fc06e2073cf71a70891a294cf3358218592f19ec3413d33b68d6f38e3cc5f940213e590a188e2b6efc39f416e90a55f89bfd9b

diff --git a/www-client/firefox/firefox-98.0.1.ebuild 
b/www-client/firefox/firefox-98.0.1.ebuild
new file mode 100644
index 000000000000..39d01591759f
--- /dev/null
+++ b/www-client/firefox/firefox-98.0.1.ebuild
@@ -0,0 +1,1248 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-98-patches-03j.tar.xz"
+
+LLVM_MAX_SLOT=13
+
+PYTHON_COMPAT=( python3_{8..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/~{juippis,polynomial-c,whissi,slashbeast}/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="rapid"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack libproxy 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 )
+       wayland? ( dbus )
+       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.57.0
+       || (
+               (
+                       sys-devel/clang:13
+                       sys-devel/llvm:13
+                       clang? (
+                               =sys-devel/lld-13*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-13*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:12
+                       sys-devel/llvm:12
+                       clang? (
+                               =sys-devel/lld-12*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-12*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:11
+                       sys-devel/llvm:11
+                       clang? (
+                               =sys-devel/lld-11*
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-11*[profile] )
+                       )
+               )
+       )
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )"
+
+COMMON_DEPEND="
+       >=dev-libs/nss-3.75
+       >=dev-libs/nspr-4.32
+       dev-libs/atk
+       dev-libs/expat
+       media-libs/alsa-lib
+       >=media-libs/mesa-10.2:*
+       media-libs/fontconfig
+       >=media-libs/freetype-2.9
+       virtual/freedesktop-icon-theme
+       >=x11-libs/pixman-0.19.2
+       >=dev-libs/glib-2.42:2
+       >=sys-libs/zlib-1.2.3
+       >=dev-libs/libffi-3.0.10:=
+       media-video/ffmpeg
+       >=x11-libs/cairo-1.10[X]
+       >=x11-libs/gtk+-3.4.0:3[X]
+       x11-libs/gdk-pixbuf
+       x11-libs/libX11
+       x11-libs/libXcomposite
+       x11-libs/libXdamage
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXrandr
+       x11-libs/libXrender
+       x11-libs/libXtst
+       x11-libs/libxcb
+       >=x11-libs/pango-1.22.0
+       dbus? (
+               sys-apps/dbus
+               dev-libs/dbus-glib
+       )
+       libproxy? ( net-libs/libproxy )
+       screencast? ( media-video/pipewire:= )
+       system-av1? (
+               >=media-libs/dav1d-0.9.3:=
+               >=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-70.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:esr
+       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="6500M"
+               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"
+                               die "LLVM version used by Rust 
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+                       fi
+               fi
+
+               if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+                       && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+                       # bug 792705
+                       eerror "Using GCC 11 to compile firefox is currently 
known to be broken (see bug #792705)."
+                       die "Set USE=clang or select <gcc-11 to build 
${CATEGORY}/${P}."
+               fi
+
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if use pgo ; then
+                       # Allow access to GPU during PGO run
+                       local ati_cards mesa_cards nvidia_cards render_cards
+                       shopt -s nullglob
+
+                       ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+                       if [[ -n "${ati_cards}" ]] ; then
+                               addpredict "${ati_cards}"
+                       fi
+
+                       mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+                       if [[ -n "${mesa_cards}" ]] ; then
+                               addpredict "${mesa_cards}"
+                       fi
+
+                       nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+                       if [[ -n "${nvidia_cards}" ]] ; then
+                               addpredict "${nvidia_cards}"
+                       fi
+
+                       render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ 
/:/g')
+                       if [[ -n "${render_cards}" ]] ; then
+                               addpredict "${render_cards}"
+                       fi
+
+                       shopt -u nullglob
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+
+       CONFIG_CHECK="~SECCOMP"
+       WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to 
play DRM-protected content."
+       linux-info_pkg_setup
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       use lto && rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make 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
+               AS=llvm-as
+               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-parental-controls \
+               --disable-strip \
+               --disable-updater \
+               --enable-negotiateauth \
+               --enable-new-pass-manager \
+               --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 \
+               --without-wasm-sandboxed-libraries \
+               --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="${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
+
+       # For future keywording: This is currently (97.0) only supported on:
+       # amd64, arm, arm64 & x86.
+       # Might want to flip the logic around if Firefox is to support more 
arches.
+       if use ppc64; then
+               mozconfig_add_options_ac '' --disable-sandbox
+       else
+               mozconfig_add_options_ac '' --enable-sandbox
+       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
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-png
+       mozconfig_use_with system-webp
+
+       mozconfig_use_enable dbus
+       mozconfig_use_enable libproxy
+
+       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
+                       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 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 MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_MACH_SITE=1
+       export MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_BUILD_SITE=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-r1 \
+               >>"${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