commit:     61a7c69e943e04c5c7c786f63b67551b8e8eacd3
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu May 25 11:45:32 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu May 25 11:46:23 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61a7c69e

www-client/firefox: add 113.0.2

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

 www-client/firefox/Manifest               |  100 ++
 www-client/firefox/firefox-113.0.2.ebuild | 1409 +++++++++++++++++++++++++++++
 2 files changed, 1509 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 8a2a4caf608f..ede2144ce568 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -198,3 +198,103 @@ DIST firefox-113.0.1-xh.xpi 422788 BLAKE2B 
17750f9f0cd5f44996783f0f1b1afcb08c391
 DIST firefox-113.0.1-zh-CN.xpi 611653 BLAKE2B 
bfd688d17409f3effdb01c904c432ca53a6cc91aa5a0f527288ca5ced8130d89b94ca1e18fca68093d62d7c8439f8b7fc8c8c539688d231e6ac2a63626254dba
 SHA512 
a7106640cc65385a0bc5996aaf35d390ad4e1be7fb7650d0bb6b25fc73b4df899170d1872ba452f0737948419ac102d468168ff156493bad2f6a747339e7646f
 DIST firefox-113.0.1-zh-TW.xpi 613183 BLAKE2B 
a80f74253f92c6d5213e20a419d3974928645340b3855c9f40abbe63d0be45e39537ce45ff8e2858383c4ac530176138d11d90a3ba0501b82e30e3bc17a65516
 SHA512 
6bb4ca9953ee36e25409667ac156f22eda6a0ec38dd0e2d7d826d3890691280562e589addf9764370430eb946cdb3ee8c58b838c464396c8e7c6592379f7501c
 DIST firefox-113.0.1.source.tar.xz 502785808 BLAKE2B 
d87c98d29f9a29568a818bdbaf12a690ff60e16bb4b8f2a97c83280692533d04b089d015dca5b20fd0a03ca3763ef4a3b438f7105cbe877fda6044cc2c462a08
 SHA512 
67d6b777d138ef55dd813a15a483d0588181f3b83ba8da52bf6c1f10a58ab1d907a80afcfc1aa90b65405852b50d083f05032b32d3fdb153317f2df7f1f15db3
+DIST firefox-113.0.2-ach.xpi 460940 BLAKE2B 
deab23e630cb6a2d7dae687d3ff3d20bd07bcb4fbbeb4fec6be99d4cb119254f5e7f41dca6f37bf55aec924de838de01589b36748c78d15efbf67adbd2faae14
 SHA512 
ee80b1d7c60e24acdeb26de3f705be741c4f5030155ae7706a6c15793cc21fa987dcbdabdc39a0100668632c57153f59fb8593e3b32c4579dba5e0694ed75593
+DIST firefox-113.0.2-af.xpi 424028 BLAKE2B 
0be47c3b0fa7c2ed17e96beed83ce6ea12e9f511f4b8edde4514dbc14d5a35087218196be877997b4b5223652cbf162a21629c32cf6b4ff2b697d44397a97348
 SHA512 
7661a0cac606a6f6fd89ff29172a37d1f6188670a2629cb868710f89d27d9eef8c472509c97d928d61b8eaac1e1d90274902665b7b86b0ce1f1c4e267e560987
+DIST firefox-113.0.2-an.xpi 505331 BLAKE2B 
2c2c6f0d04d30baad98dbb20c33386786fd28935b6b11ebd2dea42a8ebaea0e4a87dfcfc0d56017a139c65af7d10dbec32bd3b080729441231cb2cdebb19f2a5
 SHA512 
3c87c2391f5805ae0e55d64f2e8937c1944aa55883b1ed9da69b2fefc7291ad7fca886f5956f8e4771fc0ef75be2322f678bdef4b483e7fcbb29e677ad674a05
+DIST firefox-113.0.2-ar.xpi 572298 BLAKE2B 
e8b0537f5e36b4eef876313d164193602fa76a1c191d675e0fffb47c35ab961e80f3cba895b85f616304e495a6e7282a0b9b99f5c91712facfd69e46a3c308d5
 SHA512 
664c18289a8dd1ae09235471c599863ca2559fcc4ab47ae68eb21517aac90bfcd6252268ac62f620904fe86a3e38c88b7d73168c0d0c1ce2cd07396be9e82905
+DIST firefox-113.0.2-ast.xpi 491662 BLAKE2B 
75dbb378dfc4d69c3308ec0246a74cd638ef73968e70497caaa2287b6f65773310a342dac584cf4929b6f113d04f54ef56bc0c75226ec171c0de9b35c1d27bc5
 SHA512 
b6b1ddc59e1f057de41949edb183c6795ac67ade5c2576622df226c7f496f8889cf744597c2f4ac49471a58d3dcd76346102ec6feb792b99adb6e9f8bdf1657c
+DIST firefox-113.0.2-az.xpi 493578 BLAKE2B 
31ee57ab65503a495f9df2b917b0c12395433c303a8f29486e0332bdd24b855f352e05c798b753ece3df299f163b9468639411b8d60c6d63997545a6ea862b6a
 SHA512 
fafc1c8b4ba2a6b784ada9aa489b29b7dc70001a1a610daa29e7c938c7167c69743d1b06c9f009e3308c076d5c3e6ac04c545b0b1cde97a3833b074f7fe4faa5
+DIST firefox-113.0.2-be.xpi 665969 BLAKE2B 
d07c671ef7e9bcb5e8a7e7a25d32e392eabef5599c0aed885b7b1ed5e5723c2857dbfac0b9b77f32b183a9d6dfe29edd6c94c55fc7ef7349d91e367c6e8395d2
 SHA512 
f5a3c3ae305a0666a29063991838c416d59140c4a84e2a787d7f02987c7cf5d21ee0629a665a1af9578b7e79e553b28a6125b95eef695621425bef8ee27c89fd
+DIST firefox-113.0.2-bg.xpi 589762 BLAKE2B 
f5a651de25f9aae263e816fbddccf761120e24714e88b4b300eb4667f6a845d8d8334706a6adec6963978c0a7b7e1eda3b6d14428aeb0db7202178edc260e1df
 SHA512 
bc58f200edd618b309f338fd7b0d76d2a84babfe7dcedc26ab026661656d62e7d814b5eb2386e8a4f6951c8e6ef2567a5e3ef0d6f661cb3cb5a92bb31a6bcbe4
+DIST firefox-113.0.2-bn.xpi 583365 BLAKE2B 
59c69a191b12e23868de36813745e6b8a03b54337281262d4804371a557f8adc7ef5e2617413994258a3eb0679b709a952102ee6592bfa987d70b4947f286a42
 SHA512 
b06c3644247a7a5131e5a44d218e86d84f0f84c48fb1ef1d0f1688e55137b72eff40df36a3387dd0dd4090f97484ac40f9c2b5de8ac4b8e9bc64daa9673a9cc7
+DIST firefox-113.0.2-br.xpi 549640 BLAKE2B 
2847ff73752d434ee50173ae062d00e195ae5f385d11ed7413871c50bab3818ef2a57a1992f0fd7186bcf745339167e34e16ea9e0d5bd078c1da0ca3db63bf4c
 SHA512 
8e3f6082e8d9a150fc033c38e5187a40c2c878fdbbace81aae507b35a122111108b4e1d7a7ea5e2be1b90d6dc31e0acee5f329ef607311cfb7f871e87b3c363f
+DIST firefox-113.0.2-bs.xpi 465657 BLAKE2B 
eff1c79f387d55ed7f6d3f250239d765231b53ecd58c131e1ce319409ed6e24f7857657ba18cdbc461a7ffba971772adb44c6acb1b8dc3248f01e4ea82633300
 SHA512 
429866da92f9155865fff5faaa9db7c64327d4b5ed5071580f43b50ec70af5be41223421137368b2891b3ee2b82a62cfdc4c699585974d98dc6c536238290194
+DIST firefox-113.0.2-ca-valencia.xpi 544161 BLAKE2B 
0b049f59e70efca271247f30f608943890f4e58754c69e92430df0fdc706ffa721543c9a7edb04507af707cf6a9e65d3add24e88ab857b33aeb891ff828a241d
 SHA512 
3682a386a07d6b737aedf035d3ed992840c240d4fcaab4dab91a98dba2292f4cc826b19d4576593e7b172f0b64eb994b180bc5e151a9fca522b2d2ded0b395ae
+DIST firefox-113.0.2-ca.xpi 564147 BLAKE2B 
bc4b5bac3f73482f1e577faa2f01d8d23642f7b32534d219afe5bc462e6f949659d779e437775338239e4e1ecb6f93c22ca984b6f6684fbaaa683481be14df80
 SHA512 
c606782b32e786d711ea8790ceee8e0bd9d5daaf45d8019fb34c52e92281f7244306419b916b0d0bef0a14bb2cc31df01c8918b50af3533a8b5087a9fe839781
+DIST firefox-113.0.2-cak.xpi 586891 BLAKE2B 
638c5dcbfde3372b39c3b1599157caf1bab353b288f8abbcf1cd459d6af5503733a6080e2bbac29d8fc1f44395b9a1df55bfb85386f957705102846c96db56bb
 SHA512 
d40ffcb900d0549da5d225a7f196b31fb0d5fbecfba947b7381a005b3ed3f5251ccf001ef56f9bfd783f4fbd25994fe9e8a1f243e0f7e4cc1944e61f9552b65e
+DIST firefox-113.0.2-cs.xpi 599481 BLAKE2B 
fc0b414453ed357d0113ad4511d902a3ace2d89f4f72abe43a5614f64f56cc7f3fe28388e22571f1bc7360fe5bfc9dd450295cbacf085e38e4e87eb644f9888b
 SHA512 
4eedcf903821096d10139251886ff89c3a23892ede20297b06baaec5244eb9caee94ec8cc88e4b0e863ce0e57351db46f386d36684448f617bc9489a5c647a9d
+DIST firefox-113.0.2-cy.xpi 579539 BLAKE2B 
610b081a168b3209d4a7bf3ba94be843ac9b905de2fcf5342538ce5fedf013de921939fe5c52bfbea50bba7023d5044b95d2e6fc9ea772b6a3a4bbd1e2c5c3a5
 SHA512 
b6123885b2b2fda99afea524dfd1872cc7f8abeb769df240ce488c19e5d2aec243aeb69df2d7cbb7da174dae2d576b0ed4483c80d8105c7e952f6449bf0570dd
+DIST firefox-113.0.2-da.xpi 568105 BLAKE2B 
5cc25278edd703e992c1903ae8aa113184e2f8eb09a407f7fcc1f9b4fbb708dd8b7714caacf44ab87de63cccca71318c42baf9955c7fa2f91af4bf78421052ac
 SHA512 
780ad8373a214581b64c0925b84aa4a751e0dd6c4bf32dff4f494d60e2c0720fb7d83fa6168188cc13a386ea3236191e7802f1df5060b6215dcf66901ba23013
+DIST firefox-113.0.2-de.xpi 590611 BLAKE2B 
a8704f8fea8d5e858f18831a9311675d89c005f3bbfc7f16d9e5254f846b5c86872aa8923340d3c15a6948681adfda4928b1209b2ea545ddbb7223db096d42bc
 SHA512 
9e5e4e6794c4cf259be946d17dda62df67b5d56c3f23646481afe2c10e034b70c29cd49732c3c3f524cf4e3daf496fe3607da787079596b105a5375da8e47c74
+DIST firefox-113.0.2-dsb.xpi 605165 BLAKE2B 
f865b33d81c1df6da65f98ae4812474c91e0325f117da75dc150dd6b9c27a3708002de28f7e34db161690ade1237d9ab5aaf357f44d03af1c1ba0f6160be0b3f
 SHA512 
d440ddaac699db06be78a0799a0cdd8133ee10826b815ab5188dfd701dc4e22c5e48a584770888aa3cc14bdc68a9f943afb94982b614181646d8288e7138f29f
+DIST firefox-113.0.2-el.xpi 678408 BLAKE2B 
9514c8f722680b744ae931e830571edd95c81d5a4295c7674cce78c2477e2af2cb12314a24a48b8636979edf0f1c623d23d54d89f12d35a544f7b64135f6c956
 SHA512 
27e0c266a9fee6d4c96b814cfe6db66ae5b4d833ea46e7cdf748a83e318d8cb6fab786be1daeffd0b33dc1b98d0aa19145d3cbf528d60606750925b02650ea5e
+DIST firefox-113.0.2-en-CA.xpi 539597 BLAKE2B 
1d8f54aef430e2568736bef9db4402a26e3c5450a9b7ed5c1baa858ce00671426d49766decd12dab9537bf34f80f86eedd99a473e2df0bc5eab456ef83f0d021
 SHA512 
6b24bb7cdfc43c5daef6ec0234ef74b920811a435e870a159af75b48c30ed98faefa2a0e56a27f39494faca273fe691f5f34582f9bd4be237b08c493ce5d4dc0
+DIST firefox-113.0.2-en-GB.xpi 544353 BLAKE2B 
d06fb8bfb42a72a308d3ad53cb591e7a08f8ac01d982f84268634f534b661995714c6e418941f3ed07a9bb38782d4812f86e9ca13e88ad93cb7bb9a2786cac3b
 SHA512 
bd0de81311df8af8a5dc45d65bd5b50b4a4f59ec42cd9cbc280467dd2460169fa82afc3f7836be38dfe1ec8a15a32cc03be0e0405727fd3ca24eb106d7387661
+DIST firefox-113.0.2-eo.xpi 572718 BLAKE2B 
c509df53c3b742d85645d2e2b02b431556112cc135e5798c995b59cd1c124b29a348e50fbb272d5417f2185eefd44bd2922729dcaf2b66df596432087243645e
 SHA512 
202f7a23e0d9d0016170c5bbbe05e8b162cb5fe105f61e327fe2d68e261109f109141d7c93647464179cfae730dfe78e40c86f3d79ab4968cd3ad1541d2fd834
+DIST firefox-113.0.2-es-AR.xpi 584473 BLAKE2B 
c8f235bdd84c0d605c0666ee0db060669b2d9cd85c220f02276fb3046968fa2c210c6d36ad715820be991b4b43b3d2240df5ee06341eef2e62d2a35a1d7637cf
 SHA512 
9a870832de836e2bf93c9376bac4907993af06bcd3cd63c2a645492611002bf723e234e33682ed76046b72e43ee60b61fa733fa4bf74378c08adaeb8f83ee773
+DIST firefox-113.0.2-es-CL.xpi 583617 BLAKE2B 
61f4d996dedc60f3d4e586cc1bf904566288ef28928caacc9ae1586b203fcdd934b4ef51efdd06ded48a9210b1eef39cace9a8814b35a37c48ea9720942cc6d6
 SHA512 
12878d232eba1f4f9e1bd7c5704890d7e4bac867722a53c5203d9ff174122b5e50ecd7f4b572ea71bd1d626883ec3d4812e8341eb5874de3eebf7efb82ca69d6
+DIST firefox-113.0.2-es-ES.xpi 576191 BLAKE2B 
ffc967cee53af5399f1c88d6772665829e612c752632ad67b797b5a4d0019cf780f93f296715343389625dadb2b1c06fc63a9afcd33b2e62ac8ebbe75a32ea1c
 SHA512 
2ca1025e086b60dfb211f3e3cd407c3685ac91ec00fcb40dcb78078beaaa1463d542c2a9ab98232a6e109dc3562295d786a58fe705f839dff72314549b27d208
+DIST firefox-113.0.2-es-MX.xpi 583075 BLAKE2B 
175f9069e5d6df2c7ad36f8610f15306fe810a88ffce254001e78a97549687da21b451b2e9664183d3e98d17df453012c1c7a18b1fc676889100dd730e2fba0d
 SHA512 
d090124b4955b0b3b1b3354961d2532cd76d885e1709986833e92acd9ee13eac700ee26f483627d112a4ab5f03f381365edb39748f273160e2eaf184d1c5385f
+DIST firefox-113.0.2-et.xpi 538575 BLAKE2B 
c3012921280b06aeb46991ccc8b5612e4165f988dfff76ef4d21f2286b125ef0b0ca84f3e54a2530e6c74627fb4168a12e8aeebd225a64ef6fbd0d78cf288021
 SHA512 
c257fd5be0cab779385f6c7d76b9940d7d18b099f327f246ed67a37e78399ee1d4fcaa66a9f516446eb09770a3b88f04e36f870c936ee8820dda33945b25110e
+DIST firefox-113.0.2-eu.xpi 570058 BLAKE2B 
3c8b49725820f08c92ca8ebd3d08eb499231fe63841dffc829eb6b8784a648d66ab486a972c5325e70996ba89e9aa119015bb1a5d0323e561c84717693185fd0
 SHA512 
101c74486f4d852a6fc986c6ca234c12199197ca3324dc26500b4495b9a89d9cd9985c3058d4cc0e7880973f923d18ed05afcc6260d1f37705b1ecc38b4d838b
+DIST firefox-113.0.2-fa.xpi 584245 BLAKE2B 
3d4455b44eb3795756c1ffd882101c4fa0d1ce6152762b6a573d35d4d93977c23cdaee447a4e042aac41b70de7b28117746b2ce4377b0b88ffbf6d648316709f
 SHA512 
e7d32b211340986167a7536964ca6d1ae686f65e42e6ba7df0a0522d5e59dff51553f30f16d587ee68d406198098974e39a4d970a70b9d1b15c2ec42070b7054
+DIST firefox-113.0.2-ff.xpi 477764 BLAKE2B 
5a33f7a7df9695db364476122d832b126e16f8ad8cfc89c98d9c04fa50b96242a308ef9e9d001df1ff776812475fe0591d01410e4eaa590f3d12289753324c48
 SHA512 
7d3b0499fe8b648a6a3f106ff0f94baeebf2c2b6e52d57f417ec59d2ac193442838a29bec9400bd18c2a0db68fc75253d096b58b5f05d42d0af394a2fd46e2f9
+DIST firefox-113.0.2-fi.xpi 567998 BLAKE2B 
e0795dfc1268a91f42a18502dfbd4556d959c0c386ad27a72804053ab66c0d677d12616757698c1d204f8efe9369c002ccb7475d6d6765fc39f50aab3664ae72
 SHA512 
e3e2371c759fcdf7f79eecb5c77151c69976efa6fd74b1fd03f74cf4512d280a9dc7f0ca8294121d801b226f596a8a4601d972ec69796fe96767e0a54458ffdf
+DIST firefox-113.0.2-fr.xpi 595794 BLAKE2B 
b4001e0b0b0e8d66c061037f1edea959aaeb431ea1d0847c9971dc114e90316b6bf0c8b5200e4edad0bbaf980e52593dcc7f972a4a1e7b23e2a59f57e151a4eb
 SHA512 
74de36a2c43e093ea1e193c23a5483c7ee0882391f023f679d9d47a55555f4ac8b982f864216b6ee986f7104a0e1af0a815f4dfc8b8e1e29700768f8d728ea95
+DIST firefox-113.0.2-fur.xpi 588901 BLAKE2B 
e28da34f76b39c9b095ffb965b04d3624455dcf032fa8a810bda5483f146a48c04b9c7624f9e8a98f7ab0d6f0ebf107e439e7b50810c5c6c34cec5a692951bb3
 SHA512 
b22190015a11d199a1d003a72fa55552b91839b4b1a69c42be63ef9ff3588c3a8834c8a314650e3a1f8a41448b9d34f107a8d746691d9359635a6a13840514d4
+DIST firefox-113.0.2-fy-NL.xpi 578752 BLAKE2B 
50a504caee2428e4f8c40a427b827e251d0ee7941823fdc9fb5ad769a61d82012acb4573b2b523d78961fb30b27d7f70597ba94298419ef3c844d054dafc6184
 SHA512 
d73ff1776d3e71424c9f2a3631908d5a8900ef00387876801bb49a1b06767c37806f7a57a9105430c999d828a57f127c9c48eee5c4d5c7412ce68436d696a415
+DIST firefox-113.0.2-ga-IE.xpi 474578 BLAKE2B 
afc552e387cdebf1240be0dde4c55cc4ac84ac38afeccc4a635707d8447c9e22c9387ea2eee8834c18ea4bb2fc7cd47004a8114c0d237b1720f587e5ab3ee8c1
 SHA512 
baf571ad1f8848d89a355be215b190a1be005c9861827aa4b760ef89cc17967d0279c3493e8dfab64afcba6abfd3226621d6f3e60afcba29e0244d03a179f7df
+DIST firefox-113.0.2-gd.xpi 560376 BLAKE2B 
86caf470d10199622f2cc71bc40e81711e5ea2f8e853426ba7c07215994dbadd64b8c843baf6c04b9f699719a3bcd4734725e203b09bfbd422b8acea68cae2aa
 SHA512 
f0af8ffe314d83feb21e64845659a856ef47cd1c382b913bb5478dbdfb261d7e635a69c270e7d957b4772f383aaae412b322a2817a759187ed391bbd6e4c45c6
+DIST firefox-113.0.2-gl.xpi 547674 BLAKE2B 
bc351520a34d2594ed59c4916c46e5c83573986a7f25018b90e6471e122da256fddf00c29dcc3dc57eeedae4f5736aa7f7d900de70c33afad6f442bb72dcd015
 SHA512 
d85a628bd88432e912d0c22caebfdf385b414e03b9f2e4c6148f1095a40439f873ed593dde740a3b39efceaabea6e022ab9193d2c23307d6416e82593cad8b44
+DIST firefox-113.0.2-gn.xpi 595117 BLAKE2B 
035435a6d2d0b3a6f2299c838419facf35d110be1c53e4370f5b9af3470d7a5180b4a7c9163a27e54a63ca4784f44ce8547954c3fcaa5ff27d6817745b865404
 SHA512 
622385d7c33b725ef6a08a9f6524a1ded1a10f3abbf8b61276bbce0e2f754c5f4a819280c5075e5fd9a5c14f51dee3a1939837c6004fdec82b7f14d0d530d5f8
+DIST firefox-113.0.2-gu-IN.xpi 532740 BLAKE2B 
f228f96f0753a674c399840d571ca2218470423502ad00cffb29838bfb2d17f4a6d403336a57219d2fef55f5d6d5fe48e99ee40e815d10b20bae76912d92fb3d
 SHA512 
e5c3960ce1c879a498de6f00c35e2657ed006f215b3b59a1caaacfe3f97916d9c3be52dbd5c2353610441aab43626bc21d97b069bd2532cdc365f44af6f5594c
+DIST firefox-113.0.2-he.xpi 589194 BLAKE2B 
bf642b9aaff5180fa74af7555a33400986575a916fc52e31b46aa0a0d7456b46ead53e5ee0cd0d7746d9340c8c47231ddb0ab73fca55a3116aab6061ad0f8c0e
 SHA512 
fd483b6d6d26b970c73c6ad60b1fbd32c2f6d2f64734dd3cf0baa67ade72f98a475bab1b6bdfe06ed6636fe73f15c890da88eba09f61c1aab98b6f16add0b34a
+DIST firefox-113.0.2-hi-IN.xpi 562004 BLAKE2B 
1c86261efadc105cf8108bee5cda96f70ffa5fc91e7ae446827216523bcb3d1d8bb474a9d5e4e904a643a7cd8a7aa40a91c33be63b49795cbed794bfcd5c86b2
 SHA512 
efe3368a762b1825d709d0f0c3cac69e4e45bd639e343ca7d4a7782b3f8678d58729d69a7dd4a6c062f53b25492357b9726728b6e8175118237f256c8b363529
+DIST firefox-113.0.2-hr.xpi 550557 BLAKE2B 
08b91e0c2e865a1408d6ae4354012519bf19abb892346f77622172adedc43cca793226eda9b0820bbe7e69fb62b0e025cb8f31c65e95a2cc5eb396d4e8fe92e9
 SHA512 
981395527b7dd467e158a6d135fc345577c955de3eb84f7126bcadd54a1d864fbec760d1e5a9e14b33d57c5181ca518d1526224dba9f6b5a98ffcffe08630707
+DIST firefox-113.0.2-hsb.xpi 601199 BLAKE2B 
389afd369916c97e5445e574f49aea231a8335ac0b3584033d22f46154d05cf0ab6c232cf7ae40b39f43259040a907a79cfa7c7e6fc04686daee20b9313d537f
 SHA512 
c4bc47fb70629235070908fb466be5f2c9da932c33a8e6bed9ed9559812b6f46b29adb65a61946a4b0354166a7bed7a5daf053c998152a040a9f1659040f05ff
+DIST firefox-113.0.2-hu.xpi 605475 BLAKE2B 
4aaef26b8fb913ed55eb1de4511877df1c30509b8e0161b2f32d8f60b633b9b024cec87579a9fd423c7af9d876672ed62c14114ed5718247e8f35163ecc3baba
 SHA512 
85355ab43f126ece587442018a26ac37c2db51fed258e8c94d840fcb59391065cbb3444f388570123efa055c8b0aa6ad55628688e5a140f57874a5887cd86dea
+DIST firefox-113.0.2-hy-AM.xpi 604450 BLAKE2B 
02c4ad5cee823ad263309713614c1016dd57c0ac775153cb25113546537726192af91d4fed51d8b6d7e284e765e9ca48b6bfd4d48f3d7a60518fb8ab9571ce65
 SHA512 
50c273cc630eb4b66eec529053a7650f84840e34efbfe0d0fb54fca6273762f207c78fb005d63cb6161a40c9ad2a8774612331b6f0c8f83c5ac8f1387169bfff
+DIST firefox-113.0.2-ia.xpi 568099 BLAKE2B 
e3161725fc4b1f306738aabb200e1b2a16e7dd5e1fb8f3a5f25b69564af0eec5a1daca339d6326ed212c23f732c58861aeedc0cf236b367500d231b01972620d
 SHA512 
bd401b5608a5334e7e8012b3e2a451c58a0e801a0aacb7f521ab8d5ca19266195c55a7557e5088e385a733f82971721ddb5d5bfddb3fb986a865c2b4a0d934c4
+DIST firefox-113.0.2-id.xpi 559882 BLAKE2B 
d1ae34032822fdd38a5c3b3983749387faa939be266c4ba8f228a08a3ed95e9736f5b6e9835edba77e9cc332741e9087c78f10dccea6ec6eb030382b5ee08a47
 SHA512 
1ad40ccd1849a6c3df21ee489eb9e74c40c3cb9b567e95b9a2726476e0aee7d9f881dd2b5390e92a4fc0c2c6bcf6a2376cd95f2fd76e7bdd7d88ccfed4cfa139
+DIST firefox-113.0.2-is.xpi 574433 BLAKE2B 
4d9184cc85b01d599b09238fa12837be62bdae96e181ab23af13343d17347ae7218749883d1ce517157000776f47b7a6d844a823fd57294a78ebc9f226a55318
 SHA512 
e3e37640a0de73c7c21fcef09c7da8ae2000ffa346b6a3f0c67acad640e614e97c65f32880f68bd163aca3f34491f14681c2b1adfc70a9d908e176e2169b4d95
+DIST firefox-113.0.2-it.xpi 505907 BLAKE2B 
4a5a5fd80b2d7595fbc49f753a51243885ab5bfe918666caa4105ac8c371e161a216a673e132b6d2dd76cc81dc29ed077097d67ba2648bb369b5ad0dc8dc5130
 SHA512 
020102fc6db57da6887caaba107d56e81a195b599f245001fb16f13db03b7adb1db71ddab09ced9a06db6cb06af354a4cc6f2fdb03732b87f579b258ce290dc2
+DIST firefox-113.0.2-ja.xpi 629323 BLAKE2B 
d130273c287caa92ab7dc83b5f27d001eaaf9a35a1fc4dfaf4cc9590069320f11311f0497f109bc8cf8714f9ae170d581810d18dd1f0549104bebe15e0fc0b80
 SHA512 
63df89ecb93ce8d41d84b5e59ba5e5c07be17eb0d5cc4eca52bac530536ddcabbf1871d9b9b8c1214080596b570a253bf4fa44e1c0894c04c836f39b7b3d9301
+DIST firefox-113.0.2-ka.xpi 631100 BLAKE2B 
43d16b5f8ec37e2ae15110968c7f6403236d9eeef03e967414343093838dba75f4ad9b0dfea4855b33caf6483603a5e49b875d34908942df0c3bccb6931efc60
 SHA512 
f0631f10683dbf6ed50ef030e06ccc39f348792f3adc76ef32bf23b4dc58e3d6287127c90c089df985cbc622bb35d9039e82599bba40826a6f18bfb9df26aa07
+DIST firefox-113.0.2-kab.xpi 584687 BLAKE2B 
8ac0ca9b7799178c0e12a4da45b3e00b23c538c7e9749008553c82e376d7675ddfea46b4adf6f3446dede11c563f16126800e0cdde6e274b666bbef67ae89ee6
 SHA512 
8c600932afb3a831a993d2a9f015ae73762906ecce122b92ad777fb416891ea99694c0bbb60e5e83174c4516c245052baa8435e71b08e0ff223392e6e65db720
+DIST firefox-113.0.2-kk.xpi 654255 BLAKE2B 
711336b51eb72b10eb50c9f06c9d0eda85f83c52d1fa586095cd2380e081c621bcae4941ae29b4be49327691122489042d37ff114bdb339f8dba4fffc5d25cfa
 SHA512 
35329696ea41c6c6719a36f834e4a585716b145c6dfc03a334bb598731bbc77851021ef45055d834fa7db09564aadd3f3ab86986189126b0681f00fa65f7fb45
+DIST firefox-113.0.2-km.xpi 534947 BLAKE2B 
82244d8ca1dc2c7a4f09a3a7fb3dfd42fba4f42cf7fc4eae5e74f39859c9ef3f49d1af9967a66418f08a985704ebcb5fa310e1f14eaaf7d5a39ffdd4146444d1
 SHA512 
9f4f11ba201a9a7da55d15e16402eba69e332ba409291a5594672f065c424b045db54718372ed97c319fc6cefc8f0b6d18a89ee9599f03ce00852db4af53b8ad
+DIST firefox-113.0.2-kn.xpi 500360 BLAKE2B 
1fb7c49cbab3eef33eaf43558ad7624ef865ae6a7f7bfd389ef917e99707ea8eed8265041c49b19beb6a26f5bd29d1fc0a618ee2a64b45bd3849ecb17e94a60a
 SHA512 
1ce3a0e4831d79c18078e30c4c31607c7557170ef401bc17cf91b2c58055129fa3289ae72b5b087419581af10bdddf888949afaaaf004e5fbfa9a09201cc9093
+DIST firefox-113.0.2-ko.xpi 615949 BLAKE2B 
8dd3105afa9d968d42a9c3062ca861b72f7755da0c649e4997a37624071b26391c905ef3929e5e26983b403c677402a7a6c083ddd1a047f57dcd20bb5cb23d61
 SHA512 
d0eae8fe23f6ea3d59618adebcd926ffbc0569efe9e04bf2c70060496fbf7f4f661dab62372f354f0bdee0937ee57273853688878ec3715c302e7c7dbd2a85d8
+DIST firefox-113.0.2-lij.xpi 474968 BLAKE2B 
575a0ea7dc1f37ce0b902a2b8748df2c7b7246ed81859d3b430fa5c7d4aa4c21cb1b48e3ce512d7a2a5a0413a930b9ead353ee7ac5ff46aa9e3004a112639f73
 SHA512 
835ae81c6aa4f1db7d356026379e23559cc96f7e6da7a7e7e2fa876f20c64bc522fb24d08cc79976131212744e436300154d9e796beb1a35a650509a2a0212f6
+DIST firefox-113.0.2-lt.xpi 570732 BLAKE2B 
dbfe1b69bc9635ae0bafb8eb7226aa28f97976a7eab6035d6bdde4e29074cc435f57871d6ef916d83d3807f2f46bdd141817d0a29b15a33951971005d64181ef
 SHA512 
b35e58e04bedaf2fed4b86839d71739e9af10daa47a426fcbe3681dae5c62b7ea5bf1a97ef0cd7444b77a4e601d4d77dcf3b901ac54373842d4f2e5d4d68a15c
+DIST firefox-113.0.2-lv.xpi 474351 BLAKE2B 
9975a91bb69a9f306b2296fb471aba371ef8f0ab7d5dd09b9fba8524d4b8908fe76ba4ce750d226a7f5a4a33f60adc58b6fdd57f7f33ef0387dc0996fe6bcb2c
 SHA512 
bd65b4a1af78a1fe7ece29a882677e098ca634e3aae84f6d2273a4d8907c6ba7757ac187a8747ba1b6ec31fa9138bf0e1a21bf232c8400ba0487d62e38df1679
+DIST firefox-113.0.2-mk.xpi 490180 BLAKE2B 
5838f2bda3e52ab7f796a9dd9d79c1f8cf40543e0f4e02edb582a0fafae782b91624c46a046a0d3051a7c399bb14d31866f5c7cc0de0b6b7bc1318a1b66374aa
 SHA512 
c20588a1733ca591a535dde6e236ab02dd496363547e5b36430d9a5441930652262d5e7a08468425f14fdbc1a463e78fb908f8fdd6032bb65bbd48762d01e938
+DIST firefox-113.0.2-mr.xpi 534960 BLAKE2B 
89f62bbdec26c9fbc5c60b403a228cb0485f23de08b6053ffad0ef265efd92092b86e5d7039663fb6229df5837956144f7211dd1019862888be3aab481de11b0
 SHA512 
a4f988fde4015d952565092ae148976665b9459bf4ca4bfb2b6659f25237f3dac4584cf9136af4dfc3bfa7ce15fe233dbf86fee4dcef053e4bb37351c1394fe0
+DIST firefox-113.0.2-ms.xpi 454091 BLAKE2B 
61fd21f764d67471f5858e56df7557c0614120c57d65e4ed8a5f202e119b35437a56fdc9f683a9fb16f16d95a04b0ee699dd2a4d7d2e07ef823b96d21e5feebc
 SHA512 
266f275e16ca1f9002c00ecba744c46206d9546929e7f20809701085b4891259dd17d3305afbd47e2bdd55649c17c4dc10cdbcff196af2c785a792ebd3e59290
+DIST firefox-113.0.2-my.xpi 520813 BLAKE2B 
cc31abfde20d608ac28c0ab28f485dd9651881d68e03ecbc9730f26010f0a8724a41d6e64120199ea0ea181bb209310a382bea2e4711460a897d569ba956c53c
 SHA512 
f04de6045c65da5a35b2753779c675b18ccd2376dd21f2baccdefdb173f15a5e8446ce2e73684df17a8a54482771e62f5665997fb3aa6c82549ba91ced4bd89c
+DIST firefox-113.0.2-nb-NO.xpi 563831 BLAKE2B 
b0eeaa8013b2d2ca000e8da383d2d3e63f556efc8bd3eb733be4611023e9a2c3cabc2cb53e1e067c4011499e17bf9eefa019901d831914e835d518d731d5f564
 SHA512 
133cecfa9211917fbac6628658cf6898bd014f54f68e8493f3d24c58854c95f12681a0d5cf5c9d379775217471536f101faab93498710578519ec8a6cc9f1063
+DIST firefox-113.0.2-ne-NP.xpi 488584 BLAKE2B 
314b25407e489702707ba315bd966b94926330a63f305587efa8591665b6f1b2c21f960f5e4cdf4da419d4598a3d1d25410d8ae17bda130065c49a7601bd12bd
 SHA512 
eea118613633ff0b7475fc101c21655a0b028a5927356bde07851f08641bf690b37e27b5bc2d9f55e94bf913d285c3632f25782cfd1094ca68b197c942430e59
+DIST firefox-113.0.2-nl.xpi 572760 BLAKE2B 
6f9fe989c2d0de58bad6480aa2400859b91c8bf35fc59c3ab7a6bcf9d2d14b567bd294df2bcc69247a5f5c141e3ade0bc39e29cd1ad89f542e2b0f452ad50479
 SHA512 
66b918e85829f7d2be269672624b90de05c582106ee1f89deb93097e53edf26f083c89343d63fd149265a26e82c33de75ceb138ee373dde9772c6c5b7dee468a
+DIST firefox-113.0.2-nn-NO.xpi 568523 BLAKE2B 
f6aaba579913d7bd6eb4467e861715c304d0e493f81195278223742b2cc175fc7d36e6fda08b4d46236b9f8c7daa46d43aa911adeb6bdd7fd8e9a278d844335a
 SHA512 
f70819d3419cf9dc0542e85b22e32717401825ae3dd0f236363240594c26480a3517d751c7297f993474ae5fbdd36b4e2ea3ac2989d51ea3e1c86ff232d25a4f
+DIST firefox-113.0.2-oc.xpi 589377 BLAKE2B 
df5b59150233845cd66007d49a79c9a7d9778266676ecbde8e91000fd46e6ccb0cbf59f4c60e24e4caf02c37450758b472a34abdbdca0f58885d799962a0f0a4
 SHA512 
7718d7b23a36e653a7d3f441e61bf512b9ca14a113c8ba6133599025068a2d0c9c8c9f7265d214e4dd2b15b48bf97f8b210557973cc506a411da075724c973dc
+DIST firefox-113.0.2-pa-IN.xpi 647318 BLAKE2B 
0472148e4a5db31c5d0984201f968b912783788bc45a98d8423a58f494f166a0a1541e36cfc9bf4a5b5a7ee4397ea1038a74033021e1c05f62ec9ecd644bd278
 SHA512 
c4476464e3b03602d3e8aab7ca7d5ca409b536770b11854fa18a9869d817a16e0ed1cc7e5c9001ca5fe396025090bfa6fa7a9bbc552091ff90fb1fb2a3aab886
+DIST firefox-113.0.2-pl.xpi 598086 BLAKE2B 
4b14c58a13328cd5fa3470e1c0c0da27ba66778ea9558c779b50561f2d6b6108ff2c427bedb389983563251dc44ced50eb5bc3852a1e4ce41f781bf822e982f6
 SHA512 
16f765eeca8b7877c7b7d8acb532496a323d16340700e6fd6546eb0204caf7759d7196e0bcef4626d8b326215d897f1726d9d6a22ee35f094ccd46ff2c600290
+DIST firefox-113.0.2-pt-BR.xpi 578658 BLAKE2B 
2ffc3148a52a393aa903ef639bb49537b1aedfccce6988b356a2a3cd47a2b68e103aa360b01f7bceb57c46fa1d4c095e68632142e854b3d02c5a6d0e904b66c2
 SHA512 
612079ed62d663dabe2de2ff56ab0c123201fce23faec16caac602b854f0f1ef769e59dbe80adae6d16735fd5ed777371cb7db5779c1e202fb9ee9e700759288
+DIST firefox-113.0.2-pt-PT.xpi 583010 BLAKE2B 
3553d4e871485e7b2aff68e111589bb950ea56e40b84f54115b0c6ae0ae7ffc97ae8ac38a51ac5f0aaede4a004fc5a45b6e03c6b3ab25a2dbaba357fb3b4517a
 SHA512 
ecef540e441402a68d913a8db333faa17d3bd51057a1d882dbebbc04478d04e1deeec1e0b6db4c99b3bd910a0e9206b4ca7a8801bcd88b49db2f6185e7ab62d0
+DIST firefox-113.0.2-rm.xpi 574482 BLAKE2B 
c78736af98d688a854e737b5021a1312f3db681d2c776de74983c99f36dee0957dbe7c986b3d5bd7d856dae513431e163afc0285bff8980951d4d7149cff8c2e
 SHA512 
e0102132b3bd5d4b4af5d270750f5b80a148ba52e3f22b725d3036252bd8a34444c0a295edc77b5c61369a229766a9a9182e98f4ecaf1aba0883face83aafe28
+DIST firefox-113.0.2-ro.xpi 539288 BLAKE2B 
753ee894d3c81b530f59ef674971ba42548d44c9eea002325ad403e42dc92e78987c59ce8aaf1dbb8b1bed5e744609c4acbc77e502334ddbb60ce5e64f427d50
 SHA512 
13eeea82acae451cfde169dc4bc91e30a2f04303d65c51526e9e0608ad287f7839bc7920f3521419bd0f264088fbb4996a8aa1502943186a53a732c1b766e83f
+DIST firefox-113.0.2-ru.xpi 670905 BLAKE2B 
d10910fb4bfb7626892a55988de98a19585bb64b61aa466d7b51832b617bc73cb43eda2975c0edc7a422cfa3c4647955936b274d07e1a79736f558400ee12082
 SHA512 
6fe6a3384e0787209a48735d2e566b116cf6df1556035101ef0f695d0357b7d9ebe27bed4469775cf1665a14e403a4d01c29329022b00ae2258ef20a6cc33856
+DIST firefox-113.0.2-sc.xpi 549540 BLAKE2B 
d5102b7fe3c87d2316c746f52ae11112ec19bf8011e40c0973e89001fba3ffa41b45923ffb87aef622f27eeb2ae414df534435965a74a3aba4dddefd0f69ea40
 SHA512 
4fa6a1348bf35f15a53026030bff45eaff316512c045b2d0bb54dac9bc3cff0b22c93192f069fa67dae7fd8430a5f53c058a6459a47a6d1aeff3a74c2332b909
+DIST firefox-113.0.2-sco.xpi 509088 BLAKE2B 
4b0fcda489d1028483679e9910e49fee85f83d993589ce3c19d6cae95eb3c7d04d18b46a5717f3a726b6ce240caa76677672f28c732349dbb7c0cccd3813f391
 SHA512 
b7969ceb1cbeb30c974ff3506a74c8d394ebb872e57fe89fbca36a686bf9f5557cdd10e685745564a87513ea2c163424f5bfa8353fdae39e5ed122ae2c7d37b8
+DIST firefox-113.0.2-si.xpi 578767 BLAKE2B 
a37b2552c903e20610cc39dc4483b32e1f3573647347b4dfb294c028bf40e4f9664df40577a1f6935eb7102c3f5ccf09a5cd18b9f98799508da3cce026cd3687
 SHA512 
006ea4a716fe56d8a7e373a035c64e973627266c7bbfec64e5c6d625b6953ac2478810bcbeeb7ff8bb2739c2bc29e4f4cb359edfd68064736226d1f271c51086
+DIST firefox-113.0.2-sk.xpi 606287 BLAKE2B 
76396559d058ba36268ea61a86a0aa59439f45fa9d394eb033682db98c2023f3949c739d668a1339b912aa1d73fce1f48f8ec61834e1a5e5d36717c6907331c6
 SHA512 
81a9d8bae5cd1b885d2fdc2b4859b7aaf572c369658e654e8bc68cb72841ca3cc0382d1a9e542213289ed4b7f93ee4fe2393a987a840d850a7c29316bf549ead
+DIST firefox-113.0.2-sl.xpi 575406 BLAKE2B 
ba8b39cc3dbca6e4014e382ae5416d44e3187987e2c0ab42e93d7247742ebec1b03a4309181a112a4f5acbfd752ad0a102ff0e6d4801c4839a1bb982a7514dc4
 SHA512 
46e1c9d6d9a1099b2958adccbdcb850612ce508d9cdaa80d69fcff4d6c9a6ed9ef8de56aafe65be8256c7e695e4ece98250667ad8eac4030f61af6194c7c2ccf
+DIST firefox-113.0.2-son.xpi 425947 BLAKE2B 
9ab56a96e18a70753fea4cec7936c044db5ece8dca848655a41353f29a5fb02584519cfc3ac0a9dc1ea4db4620bcfa6b92901065942df497a4107612a5e75d87
 SHA512 
2fb528f99663a594446d77bd35f1544d5df90ff1b9505802c06a3c04f182ce8a9893c5b2aa42445a2ff6dd4e72c933e3a8b6bb4985d626fbc4606ee7188ab0d2
+DIST firefox-113.0.2-sq.xpi 589370 BLAKE2B 
60140cd28f927c2c83880de8278c55a78d28f8fd6868830f5db2b208786eeff3dbb2bc302758fd192950a4989f84bfe11fb440378f336b05b3b95e17c8c446fd
 SHA512 
30da2f8f49da9911473c567f814584991e1dbe292e46ba7b06954e4e3b4230c4795bd362bf28e4ba544eb2e80288c75a2dcc364cf1745b9d70685c5e4ee36e58
+DIST firefox-113.0.2-sr.xpi 633735 BLAKE2B 
32f60eabe83f854e0634a32ce09086f8447ca005845a8c645fa4ea4c44b56b547f1fb9595244e46e3b7aa0b0ebb322dba29b2ca47fe046bab4bf276285ed5aaf
 SHA512 
17d4c2c38c918c99ee5f6219f284ee3a58ba62d1e564ba312b1c285980a031441213cb53a375b09aa55be2d35987819be0a7de62d04936aeb2ce9bd37d26b8bf
+DIST firefox-113.0.2-sv-SE.xpi 575937 BLAKE2B 
d5a98ced3fc2fe309e9027e78d80a63c477bc45ff91b1d0d044b824fd835c8a3c63eb5dfd1e72272fe411bd366ecfba91d1ca3c2bdddb7cd99ffe980da0f416f
 SHA512 
5b3f94c1a8179b898398de5482941e506766bcc2431cdc47c5c7fc2998f5c5a798a5c02a580c26b365f255557a7324c4db7d2194d4a3c6e12da4ba119f1c353d
+DIST firefox-113.0.2-szl.xpi 521942 BLAKE2B 
1845960aee4c356deb38244f38d8da21659c02f53413e492042e9c00a4389c69b90e6b7269a6aede371279163b72bb9ad2da5996391879c9d71ec4c7a3f277a6
 SHA512 
79349e9000ac47d8365badb33a7d30d7c559707d5cac6e78036017e635d2180729dcd1148f7525bb7d63b2c5d928f57933a25faeba2fa6d217d8af6828d488ed
+DIST firefox-113.0.2-ta.xpi 512532 BLAKE2B 
e601796c21448eb92d53b5c242ce17032de067e7613820b28b6138669de3df962b18f918238f0d6e8a40f9708147badb895b15d0f41fbb8e9d135579b788ea18
 SHA512 
15b46279df5469e2e47b9c4cb5a7835effeb560d42339758389c1ee17e35e930d0f8e24ebe27fce84fa16cab7682f2d2e03eb808169644b156d21f54a65c10ce
+DIST firefox-113.0.2-te.xpi 560993 BLAKE2B 
8d59b082e796494351fdb5e7ade07d4dbfc76f607a2b49112ca4a5241598345ead9ef317eef80055d90c8fc8457ffca293618fca18938f5116ae3f989dde65a1
 SHA512 
58186d8ccbaae01e8b426715548c4caa50f4835456d1c100d79e10b01f235869fd6fb25849d439d34aa406c229365831d1ecfb8db6d5b7140a072abbf6135663
+DIST firefox-113.0.2-th.xpi 644417 BLAKE2B 
a39368b2cd8ee18fa719f1228a500129e03187c38606e731f0e2f6d71bab4a884419af7ac6621de10796859cfe0fe18a8dc8c6a49429f32903a911091d090b0a
 SHA512 
d0e57c62804a54372251aa649141211c03a9ce3357b26c9ac2d9650c66f0ce08d523596a2b8cefdab909e3e47fdf71ff8e9e6c9be920dff2a88e75ca7bc51cdd
+DIST firefox-113.0.2-tl.xpi 531911 BLAKE2B 
5f663f5c438fd0b3f3f6122a71678f410ee623227ca3265b3e37d3e1d416f31e02004d6389a7d8796163d2a0c33238fd3366e9945af6b10d69ccb03cfb65edfc
 SHA512 
dde830f23da90161d6f05f9bac2f7f7be1fd3902769f3846922a02cd979c1edab71e43576bfca1330f35dc40c748a10b2dc09599f805f83bf08b3a4c1dcdb2ee
+DIST firefox-113.0.2-tr.xpi 589105 BLAKE2B 
37a23379dd7f92e1ec74f12d1b7088d6ef1f91be364b91765f2a6be36170779874c26765c7b10a9ebf408f48a84acd9229917fd05db4544f45b508abb1fc3b56
 SHA512 
e93dc6c39cf2876a42f71dadba48b0e568a97e178f17f9db7f399f2c3ea723bfdc18b1963603fc30c58856009f0f007744ee49d04c484e88fd34646e31ab1045
+DIST firefox-113.0.2-trs.xpi 491608 BLAKE2B 
f628f97efa589ff3d0daee5d1b66229559628cd023900db60bdaad622ef72f1b7668945a2fbb245f97d89cc72a986263def352334d76c5f9dc775ccef0deaff9
 SHA512 
bbc2e3cac1a25442f0464b07c6986a7591e84a9b3a8fec3c33c9890116d1bd4b4fa0406d35f7f8e3f59bef9358e1714d3a095610ba1177f9bea25e3510ba280b
+DIST firefox-113.0.2-uk.xpi 663982 BLAKE2B 
6bbd019d839ff780651b5f20c98cdda3f201c3febc58f958ad22e9e1ce92ed7f0be915c578f4a98df9c8a7c7db7a9f2d9c94a294d9f0b6ce173ca604d1210d11
 SHA512 
d00cf48b4b3f2c1c184022dfdf883f6e754627557be97e9c440e59c56ad555dae8a880a9f9d038ccf8cc191a08b1dd7c3737430cc00f532171f2aa659d5cf9b8
+DIST firefox-113.0.2-ur.xpi 562157 BLAKE2B 
6295826bec7900656a626ef072f907a7d44821cb44ea915f778c534ee4f659adad743dde1055c93387fa31c46a3b3aa7eafa899626eb3e92ee630bb4dbe61a4e
 SHA512 
120f589d64c8abafa017525ee733f4101471cd7f8b67a0737d9ba48cd65bda46a35ed8ceef8b5b431819c5de7dc99a8adb948e0df4e76b7d5b15f971d4996cf8
+DIST firefox-113.0.2-uz.xpi 482163 BLAKE2B 
d5ebebc38c08505d4f0e1ddde913a560fe98cece45f665455baeb0259c0566171bee1e920fc9a4985ece9b707eb9ebaee8d9281872ba316ca53ccd7f17b6fece
 SHA512 
22f03522d685869fb9d4b674210fef29089fa997ae782ede0fa1c5476a160b320c83c498b0442e1258bff7819dc1da33efef37b204d1c8b1d8bf0f467bba539f
+DIST firefox-113.0.2-vi.xpi 612244 BLAKE2B 
be4a0001fa1494fa94c9759431e53c52b6912769b1ac8370e24954d5664ae11359cfea149bbf729308c1678042db35477da47246ca7e213c8f1ea8314085bcdd
 SHA512 
3ad57fb47e6c79100572cfce742393ed75f6d155d58148d37f7f685d8a3fe3ba1b346044c7cc72e5ea28e5a86fed9368865f6799ea29ad2e5b8711ce99eef12b
+DIST firefox-113.0.2-xh.xpi 422785 BLAKE2B 
066d50c827f0cca04b8da1543c98021306884f97612b5f63cfd049c8a82a308443471be0caae53ad9d294347474584c50014bf4aa6eedb90661090a72e66857f
 SHA512 
c5ce10c43dfb147e04e09ccfa106ef8e398d49a69b2f5fc24e72b891e892cec3b921a317df9f55f708aeb99571d54f84b46408a986f3ca34525a3a2af7150f94
+DIST firefox-113.0.2-zh-CN.xpi 611651 BLAKE2B 
6d427ec1b97e653628f83cca402e859c8dd7febdd047e67a19858c0cc85e3a866cf9eb42a6c9aaf9ca9ba54627d8f2e406a9144cbe2180dc83d2e4152926932d
 SHA512 
0fbb954cdb79038ab66e6715181c4ee33579a41ae7911b4080005dfd22a5bef7cb53746599009cc4781922e349402b6bd36c4361c1f18671c1f715e3444d6e8f
+DIST firefox-113.0.2-zh-TW.xpi 613181 BLAKE2B 
c197d28285fc8b1f14ad38509219823821e753a661c7a8f0f0f51b0a23e8f11acdd3f3cd131194ce852a98926ca267b1559e7987940f463fbd6c822b769ea712
 SHA512 
c50cb9d6f4844bdcd8d7ba81f263658ccdcf3cc9afbcbd241085cf6f4961289e2abf92e012ddded4083fce77e31eb13d73bd607e594030e23581c5dadf43bc95
+DIST firefox-113.0.2.source.tar.xz 500503164 BLAKE2B 
29be5865db0fd5de0d74d8f906301277eb3eeb0ef53db0a27398a0410fd2b8f973074cf58e00c718b5c7ef2b71295513adc1a905444e8b74f5b9be3a701d9b6d
 SHA512 
7b1ff7d547fda02901f54a2593e03598a830698192003d833e27b85db0e00571ff66e03ebd4089e76fa65b09df000cbb2542450beeabb0b310875910603e6743

diff --git a/www-client/firefox/firefox-113.0.2.ebuild 
b/www-client/firefox/firefox-113.0.2.ebuild
new file mode 100644
index 000000000000..00e00080656d
--- /dev/null
+++ b/www-client/firefox/firefox-113.0.2.ebuild
@@ -0,0 +1,1409 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-113-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=15
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+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 optfeature 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/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 ~riscv ~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 +jumbo-build libproxy lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent 
+system-libvpx system-png system-python-libs +system-webp"
+IUSE+=" +telemetry wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast"
+
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       pgo? ( lto )
+       wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+       !www-client/firefox:esr
+       screencast? ( media-video/pipewire:= )
+       selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+       sys-devel/clang:15
+       sys-devel/llvm:15
+       clang? (
+               || (
+                       sys-devel/lld:15
+                       sys-devel/mold
+               )
+               virtual/rust:0/llvm-15
+               pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
+       )
+       app-alternatives/awk
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.24.3
+       net-libs/nodejs
+       virtual/pkgconfig
+       !clang? ( >=virtual/rust-1.65 )
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )
+       pgo? (
+               X? (
+                       sys-devel/gettext
+                       x11-base/xorg-server[xvfb]
+                       x11-apps/xhost
+               )
+               wayland? (
+                       >=gui-libs/wlroots-0.15.1-r1[tinywl]
+                       x11-misc/xkeyboard-config
+               )
+       )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+       >=app-accessibility/at-spi2-core-2.46.0:2
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/libffi:=
+       >=dev-libs/nss-3.89
+       >=dev-libs/nspr-4.35
+       media-libs/alsa-lib
+       media-libs/fontconfig
+       media-libs/freetype
+       media-libs/mesa
+       media-video/ffmpeg
+       sys-libs/zlib
+       virtual/freedesktop-icon-theme
+       x11-libs/cairo
+       x11-libs/gdk-pixbuf
+       x11-libs/pango
+       x11-libs/pixman
+       dbus? (
+               dev-libs/dbus-glib
+               sys-apps/dbus
+       )
+       jack? ( virtual/jack )
+       pulseaudio? (
+               || (
+                       media-libs/libpulse
+                       >=media-sound/apulse-0.1.12-r4[sdk]
+               )
+       )
+       libproxy? ( net-libs/libproxy )
+       selinux? ( sec-policy/selinux-mozilla )
+       sndio? ( >=media-sound/sndio-1.8.0-r1 )
+       screencast? ( media-video/pipewire:= )
+       system-av1? (
+               >=media-libs/dav1d-1.0.0:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-gfx/graphite2-1.3.13
+               >=media-libs/harfbuzz-2.8.1:0=
+       )
+       system-icu? ( >=dev-libs/icu-72.1:= )
+       system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+       system-libevent? ( >=dev-libs/libevent-2.1.12: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= )
+       wayland? (
+               >=media-libs/libepoxy-1.5.10-r1
+               x11-libs/gtk+:3[wayland]
+               x11-libs/libdrm
+               x11-libs/libxkbcommon[wayland]
+       )
+       wifi? (
+               kernel_linux? (
+                       dev-libs/dbus-glib
+                       net-misc/networkmanager
+                       sys-apps/dbus
+               )
+       )
+       X? (
+               virtual/opengl
+               x11-libs/cairo[X]
+               x11-libs/gtk+:3[X]
+               x11-libs/libX11
+               x11-libs/libXcomposite
+               x11-libs/libXdamage
+               x11-libs/libXext
+               x11-libs/libXfixes
+               x11-libs/libxkbcommon[X]
+               x11-libs/libXrandr
+               x11-libs/libXtst
+               x11-libs/libxcb:=
+       )"
+RDEPEND="${COMMON_DEPEND}
+       jack? ( virtual/jack )
+       openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+       X? (
+               x11-base/xorg-proto
+               x11-libs/libICE
+               x11-libs/libSM
+       )"
+
+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 && tc-ld-is-lld ; 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 ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+                       einfo "virtual/rust:0/llvm-${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}*[profile]" ; then
+                               einfo 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] 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+=( fur )
+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+=( sc )
+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}"
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', 
and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold 
linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+       local out
+
+       # Ensure ld output is in English.
+       local -x LC_ALL=C
+
+       # First check the linker directly.
+       out=$($(tc-getLD "$@") --version 2>&1)
+       if [[ ${out} == *"mold"* ]] ; then
+               return 0
+       fi
+
+       # Then see if they're selecting mold via compiler flags.
+       # Note: We're assuming they're using LDFLAGS to hold the
+       # options and not CFLAGS/CXXFLAGS.
+       local base="${T}/test-tc-linker"
+       cat <<-EOF > "${base}.c"
+       int main() { return 0; }
+       EOF
+       out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version 
"${base}.c" -o "${base}" 2>&1)
+       rm -f "${base}"*
+       if [[ ${out} == *"mold"* ]] ; then
+               return 0
+       fi
+
+       # No mold here!
+       return 1
+}
+
+virtwl() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+       [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to 
be set; try xdg_environment_reset"
+       tinywl -h >/dev/null || die 'tinywl -h failed'
+
+       # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman 
doesn't work
+       addpredict /dev/dri
+       local VIRTWL VIRTWL_PID
+       coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo 
$WAYLAND_DISPLAY; read _; kill $PPID'; }
+       local -x WAYLAND_DISPLAY
+       read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+       debug-print "${FUNCNAME}: $@"
+       "$@"
+       local r=$?
+
+       [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+       exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+       return $r
+}
+
+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="6600M"
+               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 && tc-ld-is-lld ; then
+                       local version_lld=$(ld.lld --version 2>/dev/null | awk 
'{ print $2 }')
+                       [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 
"${version_lld}")
+                       [[ -z ${version_lld} ]] && die "Failed to read ld.lld 
version!"
+
+                       local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep 
-F -- 'LLVM version:' | awk '{ print $3 }')
+                       [[ -n ${version_llvm_rust} ]] && 
version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+                       [[ -z ${version_llvm_rust} ]] && die "Failed to read 
used LLVM version from rustc!"
+
+                       if ver_test "${version_lld}" -ne "${version_llvm_rust}" 
; then
+                               eerror "Rust is using LLVM version 
${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+                               eerror "You will be unable to link 
${CATEGORY}/${PN}. To proceed you have the following options:"
+                               eerror "  - Manually switch rust version using 
'eselect rust' to match used LLVM version"
+                               eerror "  - Switch to 
dev-lang/rust[system-llvm] which will guarantee matching version"
+                               eerror "  - Build ${CATEGORY}/${PN} without 
USE=lto"
+                               eerror "  - Rebuild lld with llvm that was used 
to build rust (may need to rebuild the whole "
+                               eerror "    llvm/clang/lld/rust chain depending 
on your @world updates)"
+                               die "LLVM version used by Rust 
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+                       fi
+               fi
+
+               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
+                       # Update 105.0: "/proc/self/oom_score_adj" isn't enough 
anymore with pgo, but not sure
+                       # whether that's due to better OOM handling by Firefox 
(bmo#1771712), or portage
+                       # (PORTAGE_SCHEDULING_POLICY) update...
+                       addpredict /proc
+
+                       # May need a wider addpredict when using wayland+pgo.
+                       addpredict /dev/dri
+
+                       # 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
+       ! use ppc64 && rm -v 
"${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.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
+
+       # Respect choice for "jumbo-build"
+       # Changing the value for FILES_PER_UNIFIED_FILE may not work, see 
#905431
+       if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+               local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+               elog ""
+               elog "jumbo-build defaults modified to 
${my_files_per_unified_file}."
+               elog "if you get a build failure, try undefining 
FILES_PER_UNIFIED_FILE,"
+               elog "if that fails try -jumbo-build before opening a bug 
report."
+               elog ""
+
+               sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 
16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" 
python/mozbuild/mozbuild/frontend/data.py ||
+                       die "Failed to adjust FILES_PER_UNIFIED_FILE in 
python/mozbuild/mozbuild/frontend/data.py"
+               sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE 
= "${my_files_per_unified_file}"/" js/src/moz.build ||
+                       die "Failed to adjust FILES_PER_UNIFIED_FILE in 
js/src/moz.build"
+       fi
+
+       # Create build dir
+       BUILD_DIR="${WORKDIR}/${PN}_build"
+       mkdir -p "${BUILD_DIR}" || die
+
+       # Write API keys to disk
+       echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+       echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || 
die
+       echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+       xdg_environment_reset
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       local have_switched_compiler=
+       if use clang; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+               if tc-is-gcc; then
+                       have_switched_compiler=yes
+               fi
+               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,
+       # AS is used in a non-standard way by upstream, #bmo1654031
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       export AS="$(tc-getCC) -c"
+       tc-export CC CXX LD AR AS 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
+       mozconfig_add_options_ac '' --enable-project=browser
+
+       # Set Gentoo defaults
+       if use telemetry; then
+               export MOZILLA_OFFICIAL=1
+       fi
+
+       mozconfig_add_options_ac 'Gentoo default' \
+               --allow-addon-sideload \
+               --disable-cargo-incremental \
+               --disable-crashreporter \
+               --disable-gpsd \
+               --disable-install-strip \
+               --disable-parental-controls \
+               --disable-strip \
+               --disable-tests \
+               --disable-updater \
+               --disable-wmf \
+               --enable-negotiateauth \
+               --enable-new-pass-manager \
+               --enable-official-branding \
+               --enable-release \
+               --enable-system-ffi \
+               --enable-system-pixman \
+               --enable-system-policies \
+               --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="${ESYSROOT}/usr/include" \
+               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+       if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+               mozconfig_add_options_ac '' --enable-rust-simd
+       fi
+
+       # 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.
+       # bug 833001, bug 903411#c8
+       if use ppc64 || use riscv; then
+               mozconfig_add_options_ac '' --disable-sandbox
+       else
+               mozconfig_add_options_ac '' --enable-sandbox
+       fi
+
+       # Enable JIT on riscv64 explicitly
+       # Can be removed once upstream enable it by default in the future.
+       use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' 
--enable-jit
+
+       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
+
+       local myaudiobackends=""
+       use jack && myaudiobackends+="jack,"
+       use sndio && myaudiobackends+="sndio,"
+       use pulseaudio && myaudiobackends+="pulseaudio,"
+       ! use pulseaudio && myaudiobackends+="alsa,"
+
+       mozconfig_add_options_ac '--enable-audio-backends' 
--enable-audio-backends="${myaudiobackends::-1}"
+
+       mozconfig_use_enable wifi necko-wifi
+
+       ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' 
--disable-unified-build
+
+       if use X && use wayland ; then
+               mozconfig_add_options_ac '+x11+wayland' 
--enable-default-toolkit=cairo-gtk3-x11-wayland
+       elif ! use X && use wayland ; then
+               mozconfig_add_options_ac '+wayland' 
--enable-default-toolkit=cairo-gtk3-wayland-only
+       else
+               mozconfig_add_options_ac '+x11' 
--enable-default-toolkit=cairo-gtk3
+       fi
+
+       if use lto ; then
+               if use clang ; then
+                       # Upstream only supports lld or mold when using clang.
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang and USE=lto" --enable-linker=lld
+                       fi
+
+                       mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+               else
+                       # ThinLTO is currently broken, see bmo#1644409.
+                       # mold does not support gcc+lto combination.
+                       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
+                       # lld is upstream's default
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+                       fi
+
+               else
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "linker is set to bfd 
due to USE=-clang" --enable-linker=bfd
+                       fi
+               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
+               mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+       else
+               mozconfig_add_options_ac 'Gentoo defaults' 
--disable-real-time-tracing
+
+               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
+
+       if use elibc_musl && use arm64 ; then
+               mozconfig_add_options_ac 'elf-hack is broken when using 
musl/arm64' --disable-elf-hack
+       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 PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+       if use system-python-libs; then
+               export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
+       else
+               export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+       fi
+
+       if ! use telemetry; then
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_CRASHREPORTER=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_DATA_REPORTING=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_SERVICES_HEALTHREPORT=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_TELEMETRY_REPORTING=0"
+       fi
+
+       # 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
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+
+               if ! use X; then
+                       virtx_cmd=virtwl
+               else
+                       virtx_cmd=virtx
+               fi
+       fi
+
+       if ! use X; then
+               local -x GDK_BACKEND=wayland
+       else
+               local -x GDK_BACKEND=x11
+       fi
+
+       ${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-r2 \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+
+               if use wayland; then
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel wayland prefs"
+                       pref("gfx.x11-egl.force-enabled",          false);
+                       EOF
+               else
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel x11 prefs"
+                       pref("gfx.x11-egl.force-enabled",          true);
+                       EOF
+               fi
+       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
+
+       # bug 835078
+       if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+               ewarn "You have nouveau drivers installed in your system and 
'hwaccel' "
+               ewarn "enabled for Firefox. Nouveau / your GPU might not 
support the "
+               ewarn "required EGL, so either disable 'hwaccel' or try the 
workaround "
+               ewarn "explained in https://bugs.gentoo.org/835078#c5 if 
Firefox crashes."
+       fi
+
+       elog
+       elog "Unfortunately Firefox-100.0 breaks compatibility with some sites 
using "
+       elog "useragent checks. To temporarily fix this, enter about:config and 
modify "
+       elog "network.http.useragent.forceVersion preference to \"99\"."
+       elog "Or install an addon to change your useragent."
+       elog "See: 
https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100";
+       elog
+
+       optfeature_header "Optional programs for extra features:"
+       optfeature "desktop notifications" x11-libs/libnotify
+       optfeature "fallback mouse cursor theme e.g. on WMs" 
gnome-base/gsettings-desktop-schemas
+}

Reply via email to