summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2023-05-13 12:00:29 +0300
committerJoonas Niilola <juippis@gentoo.org>2023-05-13 12:01:20 +0300
commitf17ff66bd8593efb4895ebfd84f8268dcb318116 (patch)
tree04eadd50b43fbfdcbc7b20937fdf37e65ec43b8c /www-client/firefox
parentnet-im/signal-desktop-bin: remove old version (diff)
downloadgentoo-f17ff66bd8593efb4895ebfd84f8268dcb318116.tar.gz
gentoo-f17ff66bd8593efb4895ebfd84f8268dcb318116.tar.bz2
gentoo-f17ff66bd8593efb4895ebfd84f8268dcb318116.zip
www-client/firefox: add 113.0.1
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest100
-rw-r--r--www-client/firefox/firefox-113.0.1.ebuild1409
2 files changed, 1509 insertions, 0 deletions
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
+}