commit:     f17ff66bd8593efb4895ebfd84f8268dcb318116
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Sat May 13 09:00:29 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat May 13 09:01:20 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f17ff66b

www-client/firefox: add 113.0.1

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

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

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 36f13974ff4d..0e07de331c36 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -396,4 +396,104 @@ DIST firefox-113.0-vi.xpi 612249 BLAKE2B 
5f4c3761c0c0897462488312829097bf7b84988
 DIST firefox-113.0-xh.xpi 422782 BLAKE2B 
1ab73e467f71bb9a569226c04b538815b9db9bc647ead603dac3ef69746508fbb5440b6c8cd018a8cd00b01994c6e3a09e3679bf54c2f1c9d60df7abd30cf373
 SHA512 
c590ba4ea3c06ec6bea0d2700a4ef632390f8893c37b6b0996b1212d6ed4c9a7e4cfd49a982fcedcd48518740e974f79097165be71829c545e086875cd152463
 DIST firefox-113.0-zh-CN.xpi 611658 BLAKE2B 
cd8b24c7a8b3fe81176f2ee5e3ae39be69896bdf71f709a8ad7332bb46ee2d9c9110ba0ca681c6972eae86338906691b5c6caf94871da58cd36e0341dcf1c674
 SHA512 
d5a24cff452c1d97679060c5abf0b158ed1fe3f859ae47a391af0719d4a8b9c832ccfecffa1ada2e09bcdf766188d42b51bc4a3022b549bf6ce0f2923e158061
 DIST firefox-113.0-zh-TW.xpi 613181 BLAKE2B 
1f1d513bdc1bbee9d7500110aaabf6dd864541bb6e875b79a7067b3a393bc24aae9abb4c44e6146485192effb0a94db6d4f078174c013d9b471284e817e02eb2
 SHA512 
f0ecde9845601504bb2f323d5cb872c525be89b434b3cbdd2b8d013a81cba5d57a1b1b9f378d8e0705a6df0715d0612a259f1ae70d06015b2843f1c326cf6eaa
+DIST firefox-113.0.1-ach.xpi 460938 BLAKE2B 
9b0f52e9e7ca34054d4478f9f654a4612c8ec439aa8da00ba389f175453a78cd4fe9703fa803ce0292fe09ce7907a5ae21091d9333abc61f286b1b39369033f9
 SHA512 
b8dea2aca103e99e648b76e34051a89eabb3c03e206a7d7632481b32ac622a019046d94693f39d7759fd4da28e1f61544043cb0401fd9e81fac1d2313608226c
+DIST firefox-113.0.1-af.xpi 424031 BLAKE2B 
be16167f496815fedc58ddd1817ca48f9ad5f8b97e2e5095143c160d2874c5c68791aacfc459d0a78e260970090de0ca9e05dab3619d10ebd2b470f0895b6f14
 SHA512 
b98c5e4c9bb8f267ef09f7c8945b30aa2d4be918d5340e67d9cefd45e72e877c651827c2972d33bfccb93b2193cd0ee951f7f2f4c4b34d0ae373b58e1a815ec3
+DIST firefox-113.0.1-an.xpi 505343 BLAKE2B 
80c3b1dbec0dc5ef34e52f167576537f7bbe2e74c651b25e12620155f38747adf8c4c7fb5df072f54dc98525cf7480f2d38b7542a1dfeac01520589be31dd004
 SHA512 
8d6fccb70f0f760c623d57a6a7525c26c1a9dacacba902be9a853884af66426a2a152f029577ab6168812ca5e8e00179f46a9baa0bc3be28c9394732756ddbe3
+DIST firefox-113.0.1-ar.xpi 572298 BLAKE2B 
a433848758c1a2f1719098daacfb79409be829c833c1de0885028e607fddb4d00a4666a6689da189d2f8c33f43a7d6d9b559a996a876c74c60fbced35e82fb14
 SHA512 
2cb5aa02ba35c18b27a9a199f35681395d7b8375ca74ada2b46c0303dffcca4bece43ecb4c965c3da9fd45cc8e791e2167c7f171774080fac15fd957802d3103
+DIST firefox-113.0.1-ast.xpi 491647 BLAKE2B 
48fde3a2def0508bf057ecfe7bd88f09594b9ffbbe8dad663c81b3ace4f246f2edf651d3089ecccca6b4a7edbf2e543da62846d242ee4c26d1525580c5394034
 SHA512 
c0c98a8b06e9f65f23cc8a218af5c266a3554c7f4cc1fce29bb36e510274f306a98ba69bdb5863579d93d51d97595dc6e2e4a54fad5fccbd2606fcf3068c53ed
+DIST firefox-113.0.1-az.xpi 493586 BLAKE2B 
84ba5888fbfb18bcdc0898afd8efdf3a7ff77cd600beda77b18fcda9823350802382b8022cd4d8dfc9ba073b5830580f10d049abe0f2f7d897489e087b08df97
 SHA512 
8475f8e6556ea55e26752b4bb6e533e4ebe31119de2301e172139cfe0d971a30e9ff49802a890f8524cc157612b4f8d47b93d1443c4ed27743111c45036d0fb1
+DIST firefox-113.0.1-be.xpi 665964 BLAKE2B 
1ff70870519645f3d333d1709a4dd55af6415a486574607818547f5c8c4b49117c7fda743d3f78a7b8ac3d2a5f49be689f17ed413e5002f4a79458e7df788463
 SHA512 
31dbe806b744c529870ebeb08d788f18825e4b15084d6196cc93b332d5faeec39d7a0bd175a856914f49874bb5f3ecd820029ee7f33ae6d1ed330263a5f7ee16
+DIST firefox-113.0.1-bg.xpi 589766 BLAKE2B 
5f5a9faf1059e98f5d412eed9558f8eecf969a0da0c5273b43321d7b4093d3043f3f62854706cd673245112c7ebd7672cdcb07cd8bfe03d8cb02770b6210f163
 SHA512 
00059857f9fd96a4a01fc0b87fcf870baa1c286bb66dc381d9ada6dfa4535318e59fcefe7bc43f856703cd044a253e7cda12aba61c958cacc538d61eb2a5aa21
+DIST firefox-113.0.1-bn.xpi 583367 BLAKE2B 
2b261bc267a0cab90fdda3ecfccc7b9b9633b243f7c04341edd816bdff8ce1e21814c6c6993c11c9f53c7b8d9bac11ef78022857389aa24481f6508f79300bc6
 SHA512 
49fb976d232563672d25eff294e43f05017e987d75e2ff04a085ca213de5073748a40f3556b0792dd4579eceff2ddfd1f02a14cb3e43a7deee81d71ae77b3091
+DIST firefox-113.0.1-br.xpi 549628 BLAKE2B 
ab4928f8222fb3f84d27bc09bf60756ffcf749032ae502c755ae0a994a9876e7347630842b749bbad6c518424110f5d100ee67ced7d8751b543bf81647c85828
 SHA512 
9fa1930ebffcf792890facfdb0c6c8a89705aa3a3eba89b922ad991aa5ba0de70bc6520b8bff5e07aec236f9001e61f31f716e05119a8263c5c81b21bb1d7cf8
+DIST firefox-113.0.1-bs.xpi 465675 BLAKE2B 
f5fcd4410e2663faf67f19ee237d9477e94d26d181e5940a83dba63c4acfa01d25dec9cb4c087a16a83b103fa3e0bd8f6e0fba6d2537803dde92b99cade397f1
 SHA512 
1c92418048837846c71404d0df70d442b6863daa1da6c0050b7176b75fc41b82da8dc8072134be57f42498109ad8f95326c0a9a0b5ff90759847f809a2e9d5fb
+DIST firefox-113.0.1-ca-valencia.xpi 544169 BLAKE2B 
c8f57807be8f907601e4f93c32d46a03518cac193943ff97978dd31c46c7d69588b6b0290ee01bc0c4867eb2d46ef7425d61507a2c91e8813942a96908ef36b5
 SHA512 
baac6e5729f826f42b6be01c02322e54b7b578d33cd7951cf70a0ac165a22c835f07b8b80d1016b6e656c310fa7cf1acc15a6853d9645f6d1f6c52bce5afbe78
+DIST firefox-113.0.1-ca.xpi 564151 BLAKE2B 
f4b2f4ed11174b94a7aff6124573488ce02aa8e70a89abc6fa3c0ebf227c6b351e6c5b46ba1eb00c2d4767eb354c96d7ceddeb1fda667c67e49b0e6866e77979
 SHA512 
ded82f8d51cce1d60e1f6a8b91cb0232645590e60b90084f735a0db5aca1ab776d2d7d7cadb48bf6873e1749392fef78a546d18482cbf0ab47498fb6fd2ad7e3
+DIST firefox-113.0.1-cak.xpi 586886 BLAKE2B 
4e2e695d4c2e19443eb487a432318ed182be6e474a53c14fb2447110d4804e94769c9e9556ae72f3e1290c621518d9070bcee65c2d17d11005a7e18b65c8ffe9
 SHA512 
b97aa19a80466b18ea05535ebeb1c3825d6ac875a792b26b022aa822ad838a0802353e8cfe11b4797333ff1a1657df008dfbdc431b4cfacecb9670041cddaae5
+DIST firefox-113.0.1-cs.xpi 599487 BLAKE2B 
585d9d32e2d29b9a332bef8e48b6cc9b25e6a71ec81e5b147d4a2cf27a6fc723ea0c3062b7291bf7ff5453c3299b66de4e8ff8641ca2cd8685ccd3b805d4938b
 SHA512 
cafe83c31d505e1cc17f85ee17e177de6ff3369919b84a5997e3257570eeb545dd3357bbe50a9ce1f318cac570939fd3daca52b847de7409fe1d995a44b99d85
+DIST firefox-113.0.1-cy.xpi 579541 BLAKE2B 
8b9a4e799647248c2dd1c4d13215688e25bd378d934faa0c2651e35f449d6fc2b5aed5de198ddaf3e05fcba2cab74d733a9f4d297490abd58f44aff9f1872c75
 SHA512 
1a30e75c821c688906604fd68354cb4f8f3dcedd60801b258ad5e52840599095db8697586c43ab8a56db9ad8686188346be12bcede38cf483073f8df86f06f16
+DIST firefox-113.0.1-da.xpi 568095 BLAKE2B 
c0733c75ce109b99a06a9032d8606b46edcf1ec8746ed185df598dabf66e57c829323f820ee640da7081cfe6d91486685bdb045b9dc5f93392e29079defabcd4
 SHA512 
34c0b34a18e1c84d1267b1d7f26b0bf8ecbdf01d08bd7513b3728ef26c89f22883b9d78702572b29db5c5ebcb380fece48df1cad5b0244b578dc56b0764d354e
+DIST firefox-113.0.1-de.xpi 590616 BLAKE2B 
47375070436a69f20ca1eabc63ae5290c27c55061eadce4f7fa4eed828754a2b9552524baf6890773826025a2c76d4a08cbca7c1a676f918046416fa3c4eecd7
 SHA512 
7635dea1e629720ba2548a560a56a4b815cd0627aaeaf5381e596b548c7cd4552f9835b3fe365d40e0bc8326edf6638a2f15aa6e11cb9075878b4947ce74a684
+DIST firefox-113.0.1-dsb.xpi 605165 BLAKE2B 
242de6fd710fb70d8c6df69184c3c7d61d0f384d3497cdba712b0397b577d958e38b71bead14cce281a1dd22764347a73c96ae8f4e8eab77ea31ce2377487b28
 SHA512 
28850698286190351bc63df146da9a1845ccd4d2334169e07ac6512eb7405962441f4aff5950dcd874e24e4ddc1dec42a43b2daf90503bddbf3f84ea52b29acb
+DIST firefox-113.0.1-el.xpi 678413 BLAKE2B 
bb79d46a10d3a7aff194f07c12b3703d2b363f4cfc441ecae2cd3c5cc52c9303e5481e945bf5f8b1c1f806bab5bbd58e37b58b6998257084f8a4df753b6263e9
 SHA512 
9025f7beb03d9d8c4b5f0d6312caa965b5e05ac810dd2414ad38c3957c000a3adad7b417d258e6ee22ef5ae514e0eed91cebb98d411a161d67d02042ef4e13e2
+DIST firefox-113.0.1-en-CA.xpi 539604 BLAKE2B 
831d5463a6d69802849a01b0c26cd042e0bf585d27e93b3e7f961d1f030b51483b7b13bc1a6e872c73f4129772d4633259525f657efd30675ff6aa8bdedb17e6
 SHA512 
95db7de37e4de9af16c44255cfe46235f1fe22c89513081e447cf04b64f685b7cb438186c8b63bca5c15373b195cb5cd6752ac6afb1093ef55acd8b7c254e420
+DIST firefox-113.0.1-en-GB.xpi 544349 BLAKE2B 
925cbd739c28b518b651731be28de175254e5261e72296a49fa37e203f49397eca667119ae2b824a13e6e45ad91481b9bd2946b6f937f5347c0f9f9271f1744a
 SHA512 
51e528efece594f1ddf66b2bfb13889999caf48478b7a7987a2d2e7e3644d92dd85e0d0e405536f15cba18c97afdf8ef5fbcffc80be18a4a796321f6d6b8f87a
+DIST firefox-113.0.1-eo.xpi 572716 BLAKE2B 
3932d7bf1ae89e55dff93c994f264f692c2ec730830adff9dc7c2783c494fa230507e4ec333df83d5ce12c54189236c806866a71d43ce6720d19da5c3abba662
 SHA512 
027f9057d390cb1b6cb96448bf673186fadac3564aa0f913ef58b3dfce587ee66c3b6a33360ee70704a966ead3c0a7c91c93c539a4cccacde9d9dcf4b715aa62
+DIST firefox-113.0.1-es-AR.xpi 584477 BLAKE2B 
631e4ccffb73a3261472bee60c138833e1203f15936fbc11fdef98a0f539d801dbd462d9e70b05610ff7cdefc6745e9d8fbd8342d8a28ec4f0f71e03eab8f25b
 SHA512 
21bd880edd59cc489477c6fb60c333efa9290ba08b17f650466cbcd159ede9538126af527d75db860e52918873babba865567e9907881519add124ce2b894c22
+DIST firefox-113.0.1-es-CL.xpi 583616 BLAKE2B 
35567817b9182010fb352444ccf5fecee40b427d47ef9e364ef08a13604ee57f6e4d90b7e39dc2eb564b51b4880cdb8f184741e31e1e1b1c94d11e872ebd0a65
 SHA512 
f6d6d273b35a6a9c346f2ad5daaac6534d444e3637e312b829936de3d8419eab1d528371f54408301a4ac02cbecb3ae117a6d423b1ef360cd3d6b91260bcde19
+DIST firefox-113.0.1-es-ES.xpi 576191 BLAKE2B 
a9cde3b37a4a1e83593bce78379c24df8081369c6211da4fbb667facb9488811cfd3ee1c532dc7f1f309aede83a9c3d6fe3987e56b7ee942254f5411067ffb3f
 SHA512 
b084b3cace4e66205a7b99085bd90ddea3d4571da71fc16bf6f55a7175811a91d3a42ea6fd93fc99b94300cb4f12c6cacf0a396233543d63f2e85bcdad8213a8
+DIST firefox-113.0.1-es-MX.xpi 583070 BLAKE2B 
1084c72cd5980df19ed4aa9eb498d96338964eecc4fd9bdb4e33840006c1169000c1e40970c6ab63eec1e548142b24537fe9d5bfb7e92985eeaab4cb8ce913b6
 SHA512 
ae05659797739953a680e5ee5d11d9534bd6b2b0949d48ec6abb6c963e53e5fb98302f6ee336a3988e56634570261def4f3fb117082b16a0843564e210f44999
+DIST firefox-113.0.1-et.xpi 538562 BLAKE2B 
9941a891f0f6766b4097e1c936a854c2c33e19608bb421526b3ef065add485e07608f0559b42e2e952381017f30680e5e5009af60a599cce9287cf4b58e82bd2
 SHA512 
3d94eff3f7a4c53980da7fc0746cc693f3256fe171551042d89408754eceda27d577c664e3a39e1b505e13d872184b74999fca0304f325b3973394f679fc9a7c
+DIST firefox-113.0.1-eu.xpi 570063 BLAKE2B 
04ab7ac45bcb1dd76696061c7bcd0dc097bc1a620dcc27ade78d9e38a147c9be88fc44cdbb0424f3e85269a00167629a9e97cec897ad507f9187f383c5a1f5f4
 SHA512 
e4a5275333740f728cd47ad8564d71f3f9105077025fd2725864b77eefbe8552d546c71a11c64298add9f01dfbba1bd95272bc28086438cddfe651d7ad4ba446
+DIST firefox-113.0.1-fa.xpi 584244 BLAKE2B 
1a6cb8b18a4ed04fb349d96b123c838758c99cfe78e13eaf94c4680f29a422602273016ae744b5928212b0612609c84d8e75f194b4adc13ae6d6cc5a60e3d648
 SHA512 
cf5657df9316f30a549c54f11b0871f990d9986c9123d54ab32caa4d5efee0b0493f4eca211e605ada1a697eace9abb43eef178dc211cbcb9c3919a3cd40f080
+DIST firefox-113.0.1-ff.xpi 477767 BLAKE2B 
93a802b625d58992a71f69d5a0403d8eb96ffdee861b22c534e73674c73315185a2e13b81dca4b8b9758dc7dcc18ce0dab8adb1d8c1a2a90fcc715ecc5f32288
 SHA512 
7ff48ccd4f3a768b956996cfbf99bd513c529524e8c59902f4fb583f013c0cabfc9fab02add8af492a14a126d13ef5a95d87fff21a659fe61b6595a321fb4bba
+DIST firefox-113.0.1-fi.xpi 567994 BLAKE2B 
671658bd0c504bb93ec91d1da19fd167b9c1cee8a324f7919fea66b0c2b12e56a471e5c48c3d181922f11f0a52e4473ec6ed79c3c483ed0d054fea292c5ee905
 SHA512 
1ec1fbc3b97ec0079e44d7454e12ffadf66c7d4650233f12f80652980ebf4f64141498723901d81f4e1772062f4263f066c9456d8db974450a9412a676d20130
+DIST firefox-113.0.1-fr.xpi 595798 BLAKE2B 
32e5007f539d5eef8811112752f45bb37cc34bfaca69af82e149eb0cf82c2a5f3353f38be158eba003e103556cdbdcf802b357b9827a993d0f6363cfc04e15eb
 SHA512 
57f73e42514df246502ae4ed66f730b898da18fbc91e0e432d71dca43693fef4c99705faac50f7929d47ec439f616216f4e154ea5cc3b89adce865d36345fb8a
+DIST firefox-113.0.1-fur.xpi 588905 BLAKE2B 
d167f615c62f5f7ec894625b84759c4efdf41519e152baac450a6938ba89459c316a56ac310bb152b35a60f0939c0ae8f42a30d5820e7ddbd13356e10d609543
 SHA512 
d3d82df6028316d9c8e08d62bd02de2bd318e3eceb5f6e6ec22827e7b4992bcb8ea92f4c3d70c54f177869b83270b4877f76481c1e9f69a6e3b45fe9cd7b8243
+DIST firefox-113.0.1-fy-NL.xpi 578747 BLAKE2B 
334129e51621632ed24be4ef63f77a05480fc7d7246a025247e3b17cdd1274256ac11d41205980f4895268c2aafcf6485450c093088e1ecdd387b9e59bdb6454
 SHA512 
68dd2c2b4131c553edfb18c8f6a1ae305c5f8dd49f66f15c234886acf1dc1a11843a9809d628b8e8cef549694f96910a4ebf2dd46abd1995f449d4d8981aeab3
+DIST firefox-113.0.1-ga-IE.xpi 474591 BLAKE2B 
83198a3fd4fa2f9abe31326bf212cb802d2e14fc9ee5bbcf5f07cd00cade5526cbf29bae818459c424e708a673df8a64fbef926d0ec4a7dd1d9bc9af56ebf403
 SHA512 
c64a53508d56f162cf73f3549bf7f34dc701168cb7dc1c151d4e5f57b7df9b9be2b9b493eca7398e329f4dac9d7843d27a2d8eff12ffb8ab1fc330685ccb021d
+DIST firefox-113.0.1-gd.xpi 560381 BLAKE2B 
c43c76453021555a9299e0a38b0d4185628806eaf97bc075ef69b6df8218fe78fd1f6f255fd905354e21db6c4b3b0798a9c1233e51f548f6ac3f3fa762d0b70f
 SHA512 
a7778b9dce92387c0f6bac09bb53b63323345c89bab71efc3af1b4b81d576a062236facdfd078e3bb34976e95dde30a3eb6bdd942f31020c493af5675146e723
+DIST firefox-113.0.1-gl.xpi 547681 BLAKE2B 
153a5ab767a2e3a9ab8811bc48609868fe8119f2bab6f79a827594c6e25b30d3ac863552e1ae81bde6d07b5684376b10f1116eaa56bdbd22b508235710453ff1
 SHA512 
455947c7088db07e421bd1e6d3a96828e753d08eda77392202d887c2c7518d06509440071802ac21a7095678db9a9dce38fd7a02848eb518b9d1e4d81cbafbcd
+DIST firefox-113.0.1-gn.xpi 595120 BLAKE2B 
68842146bc4cd12031933aa11bf843ac24f3fca3ac0997a7182d75fcb537b3e712ab547011d8d1f84be027aa6ed2117df03701e05d4b359ee2138d569c365e82
 SHA512 
a83d3b6762f5c423e1646c797575c886f8a2d9abbd96483050e80c423cdff8bff61362805ae99ccdb7fa27fc46250f9983e357ba7ed809dc3291d7a19b38d643
+DIST firefox-113.0.1-gu-IN.xpi 532737 BLAKE2B 
1723f59f88f335777442bee8ea52b33182c96a2117be27013d33f1be5c298625969487bd568ddb00c68c326a4cb7609fdf0fd551c8438388cd828644f29239e7
 SHA512 
aa74ff59c74eded395b778d207538d6b00ce1229473519f2b10ebd5ace28c2341dc088795f03085db57edb8c55352e5a10f7754d65490a7239bdcf813a043a70
+DIST firefox-113.0.1-he.xpi 589200 BLAKE2B 
b0d3597f75dc8c10abd5a3c1ba4aaf0606f5c51ce040400ce618063986e1d6b6a93faca8f2e7a1c65d5abd8833fc3850abf32b0f6b37cb2f8f5726f8ac051252
 SHA512 
87ac528739b6441f87e7148db1f19502035f0a4c06c338aeb382c4df4e8bd07c3203eb040f14e1701eb4209d3652016a259ca93084edded95e3ba21a22885baa
+DIST firefox-113.0.1-hi-IN.xpi 562010 BLAKE2B 
a505419ef4594ae6b7a84d599612690b5411329df75efbb47493eb17718fb2be7ea77ed0c14220e335215a366c48dff3f63e5e6ac6d85a0dab1fc40bcc0240a2
 SHA512 
81a028e4db16fc5c92a7ad15565fa65cabc4f518a8c23672af513ccd7bd5d9ac0f64e00bd3803066b0c0e898ec11a70eb5b45a7f461e281692ef7bb38a4f8c45
+DIST firefox-113.0.1-hr.xpi 550562 BLAKE2B 
9e267911702ea9661eccdf65978fa422a32f6a3857c26c6c036231a82b920a68a7c26f8fff31ddf5bb5d2160580c3d3db901bfdd217e2cf03a9a9c241b94942b
 SHA512 
68dcf6dca97adb8853d3a3a3ef0217401c9f9b4dc48d14b3b73e015be4118f516a447f2c8c761bc468d9dadf05d48a3ba5b2f274567e4eb0b11fea73e151d8b0
+DIST firefox-113.0.1-hsb.xpi 601208 BLAKE2B 
3efe62e8c0177031ab3aeb608611ff849ccf0b1f1c81edf12aa75a535eda51f7a44e773a063c2f7915fe1dad9f6b0096af848fe48ed8a993a2a84e39e22a6a1f
 SHA512 
f64e29bdb1fe5cc50b7923e26a1cac3d86a2946e34f7183397cba37a9d57dd86a3b5f0d52b576dcff507b27b0f7892952e8cdfc270a7da9a21acaf6f76a53d5e
+DIST firefox-113.0.1-hu.xpi 605471 BLAKE2B 
ca4c3694ea4a7663865187f55299c87eeee7976ea019c98af71509f33b036b450ec904c8d1d07922b27e0fac05523a61f907024af23b24a4487ebf049a4ba36b
 SHA512 
c81b9a03f5113a34f074c535b1d4824f8690b8ebd172d4e3567f5bb86c207c42f8fde15e4630a5b07b8f19e119faeb4b8e6232bfd325d3b3b9168ef52d5ef32b
+DIST firefox-113.0.1-hy-AM.xpi 604441 BLAKE2B 
fcfd8828f0d60206b4e44edbe7d2986191c60fedb5981f105361c24b2b7453af73e858a8772b21ceef5853d2cdf1c734316f28c47a1f4c05b2bed59e5f5c951e
 SHA512 
0c3c804c0b67571f60db2eda80e3a4fd7dcd4d942babe3ca4231e55d70c0a1587e634abacb95d284a775c823480ce83355257dc2ee8489ffa8ecc77ad3db2367
+DIST firefox-113.0.1-ia.xpi 568104 BLAKE2B 
231988478cdabcba7f87d1aad1cb75ef4c3c7a2fb0c8b6be2f72f1ad8999d39f2339b3d361ee231ded61047c79fb5e94b53410692e223dab793010dc65cd20ed
 SHA512 
8b718794e1f429ee9fa65000b8cd7932197720ca9b0f597a0a7f47f5310e2af7127050f814d434ea40484175d083f2df083b4e6a9f397b1cbc98913871eb7490
+DIST firefox-113.0.1-id.xpi 559883 BLAKE2B 
323b5750701b2b6f6a0cd3db1decb5f7ba57826c4b0e896254f568a203143c63ee192f9a828f391c5ece7ae4b6d1d0d5d1a3ac6d5812f97a0e829948b964a3f0
 SHA512 
6f1cbbbf153ac956bb085bc0585fe7859d3994ddb2b2962b2b4e7eb6faecd8b9a06fd151a093019800f3d1b228c1306a1090e127ac14ec248cef195953a8000a
+DIST firefox-113.0.1-is.xpi 574435 BLAKE2B 
40683c2fb3059a57e8e36f5f85462048be4a9fe4cf75a5c305e57b0e1ce499837bf257577ba0c3f7b55e95d6e28d241883610d9d4442ee2bd81469d1cf34f4f1
 SHA512 
fbd6f42d69e7a0ab8c8ef50fc3a964ddbecf9233fdc8ec775d6007c036c0281121f39c583970e06ce925bfe835d8bc3453d685f7db98255e6b9d974bcf744287
+DIST firefox-113.0.1-it.xpi 505904 BLAKE2B 
c4c36ea40248b3ebcb7edf6374a19edc8928bef4a4dff3dc09d533b9218f696dfa945a4e468d8190349538db3953bd57a89091226a130e7705d1db229e9b7a5c
 SHA512 
a0479dd8d46700cc2af4045196c4702723d5ad26497823ca57d29cca899b8fa0e12e785e4df59d27452ac8ad7f1b8a2f09b387a948f90bb7b0063947131cd76b
+DIST firefox-113.0.1-ja.xpi 629322 BLAKE2B 
04da08806797f682e9d30694aa59f788ec560bdd604f32fde12d204c75969e6574f5d2b89f63725c229f9c778d3aefbb4c385f9190bbb239e6262718446444ee
 SHA512 
7315cbcc5bfc44d20bd173fe81b01e903b4abfb28f0a229027fc6447e836416aea96837ca5795145082297eee7c2f177b26de2ff889cbc4bb3c5bd6a9f0d3158
+DIST firefox-113.0.1-ka.xpi 631109 BLAKE2B 
96390cc4e72b183154ebbfb38a5d688868a2a97ce5f8c5228fbbb106f74952875c39affa210d71347bbd9a85246bd50f1d75aaef86e34ed7522390af84b0ca7d
 SHA512 
d5737cddc064b70b02611fef6d81557393ef5a28d605be8492685cec8e72dad7f9eb50e87dcb34c82c90ecfddaee926038299c06305ae2d293dd0e9c7740683f
+DIST firefox-113.0.1-kab.xpi 584694 BLAKE2B 
5d7eb275a51bc20dc8e3c58a66e882422f6df895a92f13affc17dfe957552dcac07007a3f49eef4bd65c44709699faea99dcee7b36bcebca51277d4531417327
 SHA512 
b9f93d854c5072f4fb12f463d8482b2dcfc4ec88b1cd7d2e9dc03583e869ac9e5f4ceecf6f7d1a331a7b5bb29f0c2b3be35ec657106a4ddbea034109f45fdf9d
+DIST firefox-113.0.1-kk.xpi 654256 BLAKE2B 
1b56aa7e8b3b89a0554bef7e3c37ed7048a1ac4d414d789d7931a41c506cebd0f0da4949a3038e4f3a5200fde6234d06ee032af0c162b380cc3160a66efcb075
 SHA512 
5908fffa5f4dacc7bf7736349a7de0d964f861cd20e8b17f64285960f0363b529df88de1b38ede16c12d8b710cbb494c4133ee45b747f6056cc45fa72d91f57c
+DIST firefox-113.0.1-km.xpi 534948 BLAKE2B 
e81cbafe7dbf5d140bfe03f00d5dde0048e2e68ab9a3fb6dbd5b89b5154c64914c18fafab2a8089d8c0c67d6d8e47010056fa7a9d344b36ffb7c86795de433bf
 SHA512 
f70ec7641f7f3ac72c389249fd69f9908d3d1362cc8dbb12b65296de35d69b1ab94ea322ec1531d1bbcd29be4b3fc3ed4d24a63fda3724471753354c9e2b4c4a
+DIST firefox-113.0.1-kn.xpi 500350 BLAKE2B 
6814f8559ef391d46254a9ba0c2e5b12b0dd63b11e34054518cb09414fb8533cf21265b02d31390abfced9ea354aa40b40b8b5979b720b42815a9a464d368d0c
 SHA512 
6366e4de65850b4f71157078ac9e223e0aee3b30b9c3eed87c60f61260809f280f3c18ada9ae12b41066c00ab590c3696125b72a408acfa6134539079105069b
+DIST firefox-113.0.1-ko.xpi 615959 BLAKE2B 
5b794a35d5f4f351b5193c2ebc088d1388e66ee844b637240afb1e49e9771202515d8492eb47eae55f69666c9667f36fd13e6caafea551985812b14fb58f9493
 SHA512 
75c99917d26ea70441bba7cd8b91e0fb12aac412343d587650677fc303a0c86d25cfe58e13cd67fa993510c9e143a8e23ac7283b9dd2370d58fca831a04094ae
+DIST firefox-113.0.1-lij.xpi 474962 BLAKE2B 
395dd3f6424d5db94b07d3aafc51f91e96f0d3ff3694f37dfd56774fa961a98bc04117e58279caaf4322c66c2af550c74bf33734d9efaefcd83b8e670ee6e256
 SHA512 
ce026adda9a53f5689f8b119407134f39a08833d99831c61da7b3474aaa99330258fa53d97e1f5d6c58f5218bd440bcc8235cbc5e1feb12eccd15aaf0cd09252
+DIST firefox-113.0.1-lt.xpi 570740 BLAKE2B 
5a8901df937d622a3fc73bd2b84b6757ad607fea7e0a98ae1dc5a44025c5437032c6ea2bd6b8456a2806342d0662f7cb398af3226f83d27447f8908eaeda39b9
 SHA512 
46789b229250183346e7b750f82c22446eae6b796fd90fe9e70c5cd3c78868aa575bebea7a2b1300e28006b9cb88e6382d393933d58c80a1d7305a75dbd64ca1
+DIST firefox-113.0.1-lv.xpi 474353 BLAKE2B 
1b83f7067856e7bc8118d3218077e989a701c410f5f669ec81ab273251b7fa0ba230fff5df55f0f445e25e698d360b310dcc66d35113fc258f6e7e5661ea697e
 SHA512 
f4d4bd105f10cd29fb5b46be00d5f7ce7d3ba4b8f7467508757cfc69c641ca0e794a1f3d384c340164d45cc3a16d60627b5f64e8ef689406f208eee1458e3a2f
+DIST firefox-113.0.1-mk.xpi 490182 BLAKE2B 
6f68934b1bef44a2be5df61ec095e38ad3d0ec3afac953640e40f052f6986c3f6944cf2be4fe5f5f9ff044c65129e51c1a89fb7d7d77819e40d559b95184114a
 SHA512 
4ac38858a7d3056a6d6aab8731c51bb7c221c95f195cef096687e1a53b18193696fb634d3da7a44a94c8929c2a0917a12115d0edc79a26dad6f74f3500c0dc1b
+DIST firefox-113.0.1-mr.xpi 534959 BLAKE2B 
578fc8406dc3aafa82846254192a50b0e75dd566f28b9ef3a76e6711d7021dc764ba4a676310c977962a7e3a84ea04cb082475f3bfd8e133439166a74245e3ff
 SHA512 
2ecaca55097627834a0c2a9a1e5d5c322bdf740b2c28396e392cfd9147b1870bf33e5006642a3cc4389cdf9b49e46aac45e6a1b98c3db323d9f9879a962ba983
+DIST firefox-113.0.1-ms.xpi 454095 BLAKE2B 
e569c6dc5968864ddb2c17405387b70fa8005e65e5c45958f2345f75e4d7d8f79e25495a3eba5552325366ba114a3028432f1a3a2efd935b4d0d2e468cdcc85c
 SHA512 
b3374112194f928f8ae87ed3d694e1c1c101f7d461f50286fec2624b32f01b49377b5530e7618393b3c6fa24ee2fb30e66d966e792715bd15607cf9755956008
+DIST firefox-113.0.1-my.xpi 520823 BLAKE2B 
5b7e45bdb55e9cf15670eed1b55879de5bf90de97ba4bbb8f744012277667a693025adcb0a6247ae60ea8caad6b84bf973ec4fd0c6bc8c7f00bdbddb940a0ceb
 SHA512 
8d79b93663eb5835d9435df27a6146aa26aaf7b470ddba4bacc0bb7529fc4d78e31a2d86829188a858a836047f472e95564fa2c19be4a04cd9c8cfdc3c1d9f63
+DIST firefox-113.0.1-nb-NO.xpi 563834 BLAKE2B 
d8b834dd95acc8f0e77ffaedca8cdfc9534c56f30d4de3fff9c7fe9aaa59a2a50bb7440bf40fd6f464cd122d0ad1e8d786dfcebce0975164f349e8f1a842dfff
 SHA512 
e474858a4e25a4911b5da05c463cb9691817502320f1ddba844d6d020089d13e2502b18367f15fc9c585c2af09695b74439f8cf5d162f4301a1f5979ddb61d03
+DIST firefox-113.0.1-ne-NP.xpi 488594 BLAKE2B 
42d39044479f2660180d112a3e51f13451a6b8c4d759d5bd5539ae460c23a529a399d5983630bb58f554460189623833ae0bd9bf9b6201defe790a2b1911d8f1
 SHA512 
dd5f3e4e7d58a2598a2526fcadd5acfa7a7b7368821b39fc70ad0a4e862275b2aebb8e6fcd9c3b9beddcbd545b71f3322c4ac0be17805fe53ad8253882cb9076
+DIST firefox-113.0.1-nl.xpi 572756 BLAKE2B 
7d5e379251d9dfd162dcbaaebdaa4c685fdb284a84e7e9c49ef4d259b4c29394426686aef62f2dd9d94dc14b08102e397a367e71d705778a756f5f0d6cc02a8c
 SHA512 
74e6da66d9176df5d54429e8979c1ed7f58382d4ddb916c7db2c6a6634e9eda319e245f336a5c545ec096ecdeb6aa8bc9b0003e883e6d070c371b63b400a40d5
+DIST firefox-113.0.1-nn-NO.xpi 568521 BLAKE2B 
51240a7dcba8604d2d1fc7e5c283b37bec5f16aed89fcd925bfbe161c608b9cade6ceb2b46ec7a38294b08f5e1b0e67176c15e52d25d114141b20306fa44ecac
 SHA512 
1c37edd00baf35ff5eaf2b2c6736d3499b9f2c3ee870b22f109ec4380cee609678742483fd554a00c063e3149cb39033d7ca1c6e954f54623faf72d4b9904fd3
+DIST firefox-113.0.1-oc.xpi 589366 BLAKE2B 
9b568f84cb9b24aa4727098f76056d048cb1a2969b194dcd1280b1a7fdf8bc1c0e5b2e18646d48558f3d29ddcaad06d66c8775c72c44808e335b3826b3ab1e5b
 SHA512 
7da7de7844528d4b32bfbe43c111262937591672d002dc00c4bf6d6c63d51ca1024b5b0dcbb99d6c2e82608bd6aecef8dc08691808b0d860a9716c099390712a
+DIST firefox-113.0.1-pa-IN.xpi 647308 BLAKE2B 
66119ec6801bd657fe965da0f77f9700a4436e57afae40ddd7f62ac248ddfd38c75930687117b6d5479298c820a973d51a1de1c8701022564452bd3fd28aae96
 SHA512 
491b90fc9aa5da2246f525182787a5ad9d11fce80ddf1ed64fd305ca419b7ac01c428977ede960f36b9c2d68a3feb6e591969f0654dc922017a08a6ad03bbf6b
+DIST firefox-113.0.1-pl.xpi 598082 BLAKE2B 
5f1506bc5a17f41ff1996fbe571f1de95949781516f64ef0d9c737a3a9d9176a165a58f047209212be361ffb758e7af76f872d99de0136bc0b5283ba8391fbca
 SHA512 
7ec3f649680daeca92321d40f3e84d77af8114f645dbb8430be763e738d2ea303162daf59fc4d6816e0fd87bcb940bf075a77e2e1ba401b683bfe1a0bbae104c
+DIST firefox-113.0.1-pt-BR.xpi 578652 BLAKE2B 
15e8fa0aca166bf2ffcbc0149e3d97b82b91b4a4310a35b7cf38d390a298c93d3ab900631569f4de66b3b9c02c3e93dd0f2d937cc942bc808c60adf67f81edb5
 SHA512 
8d96823faa738120e953a49b2e093bf547e73f661e77bb94444009494466a7d0b333342315c89f008df85357f7840916d01ecfe26bd651b8f75a69ff038d4dd9
+DIST firefox-113.0.1-pt-PT.xpi 583005 BLAKE2B 
9262f56a999414f3eff0c3173c7004d1729c27c9d24a7a1da31e3ef235b8c36dff367b49bc2e0477fff46d433cab2b7c0340b91c15e8ff06bc239fef7af51b19
 SHA512 
b88deeeec3ef1cb3090b92ab007c7b818f1d3d25045f02f153ca36db9ddf8564b8fa0ade699aaff5d7b75908d72cfad5d7667b6a57f7bd84015da62c90469b98
+DIST firefox-113.0.1-rm.xpi 574484 BLAKE2B 
057f4d0a9e8516b749088bf85269e9668f5b7a41fbd6343ab9de7c78279f37e73cf38088a37e479b991d967c87db0e0e99cf4fdfef7c4a68b99a63a84f43cd57
 SHA512 
780e158e44ca5569782c6caf2c2fd7d3ca8ad573f24d4d1fa70f9d34ea7625bff668b3140b423fcc8251f7eb64f8cdb20e2ccd2f2cfd1cac3e8179b6215bfc60
+DIST firefox-113.0.1-ro.xpi 539290 BLAKE2B 
48db0a5f19c9fdd22725e242b7112d81bda81a9d57497de3e4cbc08864215098be6a9abf2c2f36c73f4d39dbe7addd827112fe4360f26f4b070d85895bf5d539
 SHA512 
d6b4bda784aa37d330de1de8c34f011138bb0fd986529b3d44fe3cb15ad6be3342ffd2f168815f68bc387391cf9aa06668cc0dfa0e9b6678db64fa6e47d030dd
+DIST firefox-113.0.1-ru.xpi 670906 BLAKE2B 
ad63eb91d8e8488f4c5a7845f924f56dd4350a6d96467064ed6b5656e5fab54e062e54018716668bade9f150af81da088ce60cef2016813eafcef2f86a0fb82b
 SHA512 
9068da62aae7c29f12e4840a4f15bd90947a527f4c307b34ad39fc899ccffb273db41ef54ac8c19cd3bf04ca1268f908a897a9344c4cefc17e202c7c6901b683
+DIST firefox-113.0.1-sc.xpi 549546 BLAKE2B 
ce43f76f39d1c8d1c8d7ae8a7c312c5cf6833b5636ded4350fd2a36edc303b69efa492303f62506f2c1bf5fbd8d1c6fcf1553a1e6e8eed805230a80290ceda07
 SHA512 
bbe6b5e0ed79e5b7890bd88d601b92101163884538a47290bd76f43b9abbed4c44e59237b304b3f5a6f393ff1f6ebb1b6c4330b49ca19b5622b76f60867eaa6e
+DIST firefox-113.0.1-sco.xpi 509095 BLAKE2B 
3fdc251f794e347459ab8396564b27c2057446ad950f4f42bb8b2a05185221dd9b73b1812c6b1b05a37f786342aabf0a38e1a2bdcca9c8e0aa4f51caf1dde69f
 SHA512 
82cf7efaba8dfe9807696b810b8d100736d501dba2e784ef1d472885888bc6f3b4cb6ced10ec187a2b5fc7ce0364386e4a91c72f4237f20dfcf740018cc61831
+DIST firefox-113.0.1-si.xpi 578774 BLAKE2B 
c72d96436830859fc4162c8c1343f9d88e5c3b681ed5eed83e2ab3ffd344e493d0c94b3ad05e459a7e38020cbbf2e082c3f3077ff7f66574b313a467cc0206fc
 SHA512 
c39c096f1e85601fd20e7cd5cf386f77bc00b251e2204daf31218ae783201f7807541cebaf20030d3f66d9ddcca746050541fc63b1629dc4de073d2943221a47
+DIST firefox-113.0.1-sk.xpi 606291 BLAKE2B 
3dbc56cf9d99cf6062a023a717e34e860b4b228978b2f840c7cd82aaa6e11e3ca8083a8521672cd0b9b60efbca7f82e7e981571595161a2b03807f0945d3225c
 SHA512 
8cc324ced56e2b6afa4be05417bb568fc523271010e709118c0cbf6e0bcbf27859decb19d0dddedc3cdf402f8a7545afaaaa4d2a347d38939817d7dff68954e3
+DIST firefox-113.0.1-sl.xpi 575404 BLAKE2B 
7858c29a2c7de9f5a0f63d8344a444f78320bdc58aa540fd8b0070dc1e09c86b9bad1e5e3642d07e7c42e071321bc5254a9c4d8cb76168b81c7e89542c50af8b
 SHA512 
5349499e394115697407a4ec7d22e4cfd799d0e21e6dcb3362cfdd954cb1b78819199e8abca85d3e9c719e0580026c5edefeda9f6a80d7033b1755d395df3f3b
+DIST firefox-113.0.1-son.xpi 425942 BLAKE2B 
9a1f179b98ea700e40cab24e8af0d4e9ff5195c5197f5f7ad32b3920e1c9ad00193c6017165327e5f012c9ba1bf5996b43a068e368e821a153ac2956f527e992
 SHA512 
ff21e6b4a2c1db90af614b374a3220a7a47ba2cbb4e75242e222be1a9ae46ff386b407a23556db5b5cef73d7ca379ff8363ae59fedced38a36afd659049c2e63
+DIST firefox-113.0.1-sq.xpi 589367 BLAKE2B 
2327fe7a6d3ea63f9ec2cc51279a54aa380a8aad96b99faecb8f880eef289b569a7684dcb0ab0883d79f617cc3cbf306bd3c6546aa13f3f87a06dc4fffc48fc6
 SHA512 
28e71c7970a764680c7a511b9e52280cf9d3cb829ac5d1d2e343395db5be1a7e60aa60b04b92c66d6b9c405616b1a5d2a955d4c269d4128f4baba86f3c151acb
+DIST firefox-113.0.1-sr.xpi 633731 BLAKE2B 
5b51b8f4ad514ae7c7e97c9e4b8b3ba1c805dcbb53f2003993147923c8033547e4fd82bfb9b779969ef3671109102ca583f8bd9db7630d8a794a43c10669b50c
 SHA512 
c29241d4b103e65bf5e48af3b7ebd9d674a57fc2f6dbc9cc5ef75380d0dc82b51bd17b6556d8de72d97d7fb758cbccc9831ff9c476f8de258bdd1e4aa3402a3a
+DIST firefox-113.0.1-sv-SE.xpi 575939 BLAKE2B 
2800b8c183c6d9c1451964c64b263d2720bb997466b8032eac14bde2fbb66726c23ac9b34d419196ded53760aa736fb314b19d989c5790851d02f6b2f02967f0
 SHA512 
3b1a23bb0b65ab74270f72fffdd1f8d9ad37e1be3013e6800daaa0c3d22fefa6c7b7cba7918dce0b7fe7f0b505a331f547729c24eacff26b3f8d1ef2ff7fc53c
+DIST firefox-113.0.1-szl.xpi 521953 BLAKE2B 
72585195e70cb8d1cea90f574482fa2d617edc6727655f24e6bb49853c3fffc2fc2d545dc5bc3d20a130753d62ddcb13effb59fdee105d1cc2a97eb4c9d7a477
 SHA512 
0a3de025c5005ad6aa5a951e05517d20d13b32005ef997d4a996e8c43e86a7a1df5ae5b4e8af3d38d9c1eee1fd8e8b327b95556e96bd6a70033593248da6be0e
+DIST firefox-113.0.1-ta.xpi 512539 BLAKE2B 
d74fb353d78d3a261c1939524e1c66a4df96f5d9d165511f08befad184bf15461758c8822b6fdbdbc0ffd5e94fa5604b8d399cfbe156323b58a4a68986cc4557
 SHA512 
91a55a3c0383dfd11d7593c29cde2575f9af3290988f317db5940252f737ae914e396de18eb84ea9d48c640245a5542743d0a41d0ff823aa0c7f439ab262ccb9
+DIST firefox-113.0.1-te.xpi 560987 BLAKE2B 
b6d653ee09e9aa9f9b56bd206988c71a709fd25654185bb1087d401b65a886f0b70b9820e32c8d4737e2467b7d466b56a4eb6dbeecbdb7311c5afe1058797372
 SHA512 
7a040c8395e9e0b59c027d094ae298d0696b2465028d1a76543262e6c4860ac19e283da6cc96f2a033874b167d80655a26a9003bec1bd2872d45430e1aae2345
+DIST firefox-113.0.1-th.xpi 644414 BLAKE2B 
95e3dc7d33a24d75cbf5f1035392224f6bd2a5460d7905b96b4d4cce01685099edcc6798303aea8833ef6909f418a818f33f61551d51236457bf19c97b4adcf1
 SHA512 
36bdc1cacb79f98bbc579844b771b884e60f84127062db79caa8b0b9a40083210bbba52a9b8723869477574cd6152fd162b79098e4d7497bcb04d2c4bd4dff17
+DIST firefox-113.0.1-tl.xpi 531911 BLAKE2B 
aeb11fcf7f6e7f570bfd8b085daf5b134098f0c7dd2ee89b2e43fec5a7402dedbebfb60309410890254e07f58ee41a9ff5ec36c5c260b1b4a4a76892636cea7d
 SHA512 
c715459d7e348ab4c377555f34322eae1c6dc8d4004f6748589a5d7e71505b70b126403b6cb7a00a88247a58adf0558ff26dbbce7aaa66825c77b14c45e59932
+DIST firefox-113.0.1-tr.xpi 589097 BLAKE2B 
b5055cf39204099597da7fb14d6ce4ad4720c41b59513c7607933f7a380296e89b90406f0fba7f0a642aa0ccebdf42038b3c828d0a2492f7d716355863d50e93
 SHA512 
27f2e010333034ccc37323a70bb9ed81bd1946629720b082c119e94fbe9013acdac7453b4fd33509d6c858c07db82daacb1d969096fe856798cb2de50f4921b9
+DIST firefox-113.0.1-trs.xpi 491612 BLAKE2B 
34a331c498d8279d153f738382ac7ba0457700c9eba7457aa4fb0493a0e544e747117b4bf04b8c563b91854c11ec03e81dbeb0751a7e85c5b30a91ce5fbc1583
 SHA512 
831bfc6ad812777e3f2da619552910aa516e1d0e96243e3665da2afb0ab602dcc7d0aea91b2dec3623949829e1bef09e1b1048ed57579ff609c3893e176fed6e
+DIST firefox-113.0.1-uk.xpi 663984 BLAKE2B 
30dbf8d543c4c521cf8e8c49531ae6d9fc1be0ec5f61ef1d3e293111ce12c9587c9a51742986ea6abed58e469ecd38d2032bbc6f27b8e6910b05bca01b10f333
 SHA512 
93b7f45a4fcb0d8da026e18a4a8cf92ef59547f8091f47e3d7f44cb64c8d68d98b1ce830c0490d04201b03e658852743564e2cb29c7d517d413db2f048fa5d70
+DIST firefox-113.0.1-ur.xpi 562158 BLAKE2B 
10ab103436ecc5967a52dc3e159f6efdf0b58f0cb058e0d9a3cb9cf51bf4cd2c9bdc1817457e3d37828aaa9f993ef2a2c68957b7d8e1364fd357241eefd9e935
 SHA512 
8485fa1c6e9dd5b12bdf2c7cf0062b39699701084ac2a055dc77cd2942cf1a0c6453a05b2b536ba48d91b75f0a31b23bc45cc45f8543c50a4dfe6e9d0e4bf472
+DIST firefox-113.0.1-uz.xpi 482166 BLAKE2B 
f562ed4ea85479d4d166115e131044ca35503b53a96dd03d966c3f5a72fd28f82c07b244820114e3af1b1e1ef6a95b7fa0e877cf64e5cb7870baa121218dc2ee
 SHA512 
895554f48a71cd47fb7de4771e36017edb3b1b720d68177f5613117be371b1daca2cbc7691ab847db2618757f87e187397d761e84251fb5ab4e56f5139edefcf
+DIST firefox-113.0.1-vi.xpi 612249 BLAKE2B 
922ba4b3d6a575206e0e957fc12725d1ed5f557e376dcf993050a1f0d3c61fe6244518359a18c6a84e43745abc84db599dfb0e5bf0f19ee21a70ec7249bc146a
 SHA512 
28f7a6eb18cb3fe2f8d08bd37f196ca871e13d149e371beb668e262efdfa3454425dfdfdabdb0c1fb7fd30f6878f33900cda3ae9ec61cea4385649ad1c597998
+DIST firefox-113.0.1-xh.xpi 422788 BLAKE2B 
17750f9f0cd5f44996783f0f1b1afcb08c391543301513a918dd36d1994b5ea7657c4fbf8015ae8c9922c28e0e041b3da37bae642649cdceadfa48caa581f243
 SHA512 
ab10a8fbfc7638bf908572197048d68ccfa69c5f0ca0756e798dcd2db61ce884d13bdfbfc12c693b098a6a66d4a6ebbb366006ddedbdf4af1a79edbc19ebf63d
+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.source.tar.xz 499018844 BLAKE2B 
1506901352ea84b8016080aa81a0f431b8620c64c0c54364ec56d1878b6413ad965c2d9f39a9bb06d2356c206702283400918b4fb0fa3dac380360f54e60b146
 SHA512 
96b0f0774083270f4fcce06085b177ced25ba05da7291d777f1da1d5bbad30721bc6363b76e06ccb64fc092778c8326a426a8bfdfa3cbaafd4f1169b924744a5

diff --git a/www-client/firefox/firefox-113.0.1.ebuild 
b/www-client/firefox/firefox-113.0.1.ebuild
new file mode 100644
index 000000000000..00e00080656d
--- /dev/null
+++ b/www-client/firefox/firefox-113.0.1.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