diff options
Diffstat (limited to 'www-client/firefox')
-rw-r--r-- | www-client/firefox/Manifest | 405 | ||||
-rw-r--r-- | www-client/firefox/firefox-102.12.0.ebuild | 1278 | ||||
-rw-r--r-- | www-client/firefox/firefox-113.0.2.ebuild | 1425 | ||||
-rw-r--r-- | www-client/firefox/firefox-114.0.ebuild | 1455 | ||||
-rw-r--r-- | www-client/firefox/firefox-115.0.ebuild | 1458 |
5 files changed, 0 insertions, 6021 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 0a72745070f4..015a4d37d101 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -9,104 +9,6 @@ AUX gentoo-hwaccel-prefs.js-r2 265 BLAKE2B ac3053eb15e2dac446337c29184b5ec54fb30 AUX icon/firefox-r2.desktop 8137 BLAKE2B 5d0ce737c0e0969cb1a61de7989f5ca1ca0dff413d6d98bb0c93e0fed510b4e075a88fc117d3713e5e11ee7471ceaeffa9bc9dfd4282f3ddb1ea837d823e4887 SHA512 749a50b11d89c1329a52d13745ff8d5f801e565038cb5341319b4b515f36baf1c0c740003d6d01188c27e31d7ddeff58310e7b2420681292d0f2522bc5bd34b6 AUX icon/firefox-r3.desktop 8116 BLAKE2B 50b476a1be87bcca0bd6175b7a7f5e67ac5d3f40b0a5a99c2244036a9eea53fb518f59c1d87b18723c4ae6c261bfb692ef0b52c6714402b0a98da4b6867ab977 SHA512 07c9d89babe20fba9531396c9aa2b692aae77606be2b8a750481b6b8f9b3eab320fef313d1ed4b15d3fbc4cd94dfb56b62ce1a3e89ba7143c6aa9acc0f919bf8 AUX icon/firefox-symbolic.svg 7432 BLAKE2B 33a552ffb9850f6b9cd3cb8d9f7f80268ac08f00a0bd5eb15d892c6fbb950f8cacf6058b9c838f5be1ae1b53541f143a1ec0c1302ae85b49100b166fcbccdce6 SHA512 ba7db9a7c95a051bcd84e4c09c802fc55ee3c0d1d06ec1b169b04e414259b75bbe92fe584aee41a1e3f71e71c160df8bedf5393449e5024110ed27dbc0579ea8 -DIST firefox-102.12.0esr-ach.xpi 466441 BLAKE2B 39d1554d4b05c80a1c9721b61073266f3ecfa8d555baa274becf1eb70651c60ec43ffe34df89bb1549809d66bef80de66e3b9b4a494f616a545b8bfab2c75784 SHA512 f08ad62427923d989d0ef70aa9538197df9be35126ef32355c244ea2c5447bf12cbaba970db3e96f59e532c35ac7344597a0281dbcba4a6ed60cef806a89b8f9 -DIST firefox-102.12.0esr-af.xpi 429122 BLAKE2B 68354c625ba6d730e0d29d113f2472eecde55d0563ed169d0f0ee6a7580a73412a28912ce88e93293cbf51346f78caa4aeb8b3cedf9d47d74a3dd723b5d299e6 SHA512 a1e5dfb80d902c7f49e45fa6759cfedd39c8db708217e282d2235e2976dab46045154a2838bf4334cf1736d89452ecf3c8c0a23a4e8125eb08bfb004b5d1d0d4 -DIST firefox-102.12.0esr-an.xpi 510488 BLAKE2B 5cadb851728e8691f6f50832e3d95121d2e653d4385a29bf1611914526113d2bf8e470be70a60881b235dfac8ab03105559d66c4a810ce83d6e89e65dab3affb SHA512 e615f66f3088cee9c99203f637ef9d2db71d608ab00eaccce2a6de9d2487d84b81edc6ea91bf554ff441f8c45057e1d4495e0cdb29e4d259f56e6ffc574bc8b4 -DIST firefox-102.12.0esr-ar.xpi 578883 BLAKE2B 3353ade42c0469fba54364a01ed26e8a8a03201d0b3b862621d3de9b91fbe7ebd6f0c490e0528676f17d82991642df9ef13ff9a67d58994e83a4a42b8cd0ea68 SHA512 d18a4db75319611b7c713904999923d6686c017301b85235c9e3a1228f868b0ccf1a763011e5542424c3f0b02af847802711661e6304f124321b7bc8a342ddd4 -DIST firefox-102.12.0esr-ast.xpi 498099 BLAKE2B eb874f8f30a64be04785f0f0bca672293e49568f2234471363202c381dc2feedbbffb5edbdf7653308cce72047123b30c8c48bd6c5e24b2f43ec541566dbbbd6 SHA512 90bd4d3b498eb3c080ad8131e23b0871c2037a373b417540e79a90795e6086137c63fe16db06606fc28ec64961203b813d50d4e79909c08d636df379ed3ffe67 -DIST firefox-102.12.0esr-az.xpi 500787 BLAKE2B ea5e927b1e52c4175fedd5d7ad66585cebc3e8a449e343499f88e1430a862e117073fd4249b285a1f35973b0a5ccb75a189815d539070a3c43a20a4fe07e0782 SHA512 94ff9237efbd1703df9d9c7366d14b98ccc1fd1d7dbf6a14e4753db747ce879a97738a4e21853fa2723c0b04bad11c968ae21cf3f1fd44427f8c20d16e5fffae -DIST firefox-102.12.0esr-be.xpi 666686 BLAKE2B d165413d58ae1a0fb6c2f25b671665f1e251929d84ce5dec418065704b5988eea9b81d52ca45ab52497d926a45a4f6a10b47cbf4ec311c7cde5a3a2b90128b58 SHA512 da4127d747ef9f412547143fe050c240b269abcc0f54f2e761d2bc87ea356f45e0f8a629598d2f25fc9b4a9cbaaccb05e162e0ecee4c86403b268ce884f54300 -DIST firefox-102.12.0esr-bg.xpi 591347 BLAKE2B 6f8fd6206d4e7782077e4109328b7e7bd0893165a6d6d56d2bf04ff9b303be9129730498e5a63a0b3445d04d503b5d8fbff64324901a4106520de3f0839a5d9a SHA512 918e8faad7f4aaed157ea5d74133b2576100676bebce5381783ad73a31cd275b846dcaefd607ffeaa9299554a1012f8b473ac7f97a52717f03c5a65fd3037145 -DIST firefox-102.12.0esr-bn.xpi 591684 BLAKE2B 7e2782029aa775b5ea976089fe67b98aa3095426d930b8b87308def90ad0d0bd42c4c821b5145190039f61446749aed15342d1c9de770f4dc763e71a20f5dc95 SHA512 9d50a164226c951709b329fe640422c424eb5a9ae7eabbcfd57345d32add51be612de65b73bb129f150c1f703fa87d5cff07750852b6771072127c9fb664a06d -DIST firefox-102.12.0esr-br.xpi 555846 BLAKE2B 13f3d80119bfc29be0be2e954ae407b2c581c214ee58af2c3b9e863af775033c12c5282fab65324bfb2d6e24b15b469dcfb2b7b9063390c4abaaaacdd1b99643 SHA512 27cf52e542ebbb16d1eda69ffee1e25242e7fbb734176d867614ee96c06f00015d8a1839d7fad423d74bbae2cbc45eea7d3c40bb51b8ccd55539df13bb09d02b -DIST firefox-102.12.0esr-bs.xpi 471729 BLAKE2B 42c17083122be0caacd25281bc48b144151e63a3884495a24792f30cc0709d252056dd312416243d755d18aea139d5230cd16a539644cbdc7f71221bef896a5b SHA512 97463f60914e4b342ba3286d8a0fab85db55e9f9c977231eab66172e158093360c337d8800982db4f373ab33879d872d8c1c70b2d1e92fe67d90e04324286901 -DIST firefox-102.12.0esr-ca-valencia.xpi 549195 BLAKE2B 73bb49662a3ebf5b331ad7fb991225c4a461536cb8b700213a1108cfca60fb9c3678335e6dd1c084d8504644e4cf39ba3bac08e4c87c19ae9db5356c888f4e62 SHA512 9e62951ff6c1b6f67164247cbe79131899c513b4abd23323918fcf587d737f509b6b064294765e012e9ba0ea1d9cfe2ec720af48834f0090c74c6da1450c894b -DIST firefox-102.12.0esr-ca.xpi 561938 BLAKE2B e91bee4fc19eea45772fdd310d7bfe3e646092771133db3f82632f53ce8d192afb950bf1ab927c78b24087633bfbc2bab923505a7256c94232d92fe478a68fca SHA512 84d849579739a7b1bba5ee6b4c16af7a8ac343ea0af3d510f59549d67573e1149253c945351103d1bb98899c8d244322064b9356a332226eb7e13eef3adc0f08 -DIST firefox-102.12.0esr-cak.xpi 563846 BLAKE2B 296a3a93ac637c1f7cc7fe8db3aafeed5c5d7b563265f622b08958aad4a56a4c8000a52a2871bfb223d748caa68126806414458aafc6503cbdf05ad4960b76f2 SHA512 cba4f52dac5d63f668e0faf5c7ddf50c23bca6a1873f68c01691c8bca5486ae299f0be12756824e51f4230b513a642c349e0afa7e2870b54d49d2dd9d8631d28 -DIST firefox-102.12.0esr-cs.xpi 599807 BLAKE2B dbc3e1423cf14f6cbf957ec6f3a3480f3caf2125df9bae8932be3e985d0898de40755e5ff584d69a9ff993971eef0844f0883bfd58224ff1ed5209798eb74f84 SHA512 51fe86b3a4879c182da190c3aa6ea22ff5af6ca19a1698e0b1e381b82698bb039027ee764b1dfc2cd8004f83f64cae7730b201295335b6fe8b557f63cea9445b -DIST firefox-102.12.0esr-cy.xpi 579224 BLAKE2B 4f7f11e0f6768e724cee18b1911d55cc8b2b653c706d22433d45ae9c91378fd03265c0b09f8c8f042934bee7fc1073a05f1409ed255f02b21048937f6dee12b1 SHA512 fe0a4cb0fa5fb6c400bd09893b3398912cf5c632477fa1319dee39e3ccd84efa17b28e821a59ab6535a8c154d10dd5504ece2f0cc068e542d3c9ea24d0b78e8f -DIST firefox-102.12.0esr-da.xpi 570514 BLAKE2B 2dd4ca027f8614b7b4526cc91be7b9a02dc6437505b9e8211f359200aa6a2a350753529a8cff8f8c60d92e15d16d35fe9d15aa4524593d63142c98dd87156d5e SHA512 97d398e6d67207b346900ee7cee6a3c29cdc9f42fd964a69486033e6a43ad1aacea1183bd923b653ee4b83e3920669bca6ba455b44f524ffb801f98bf076e847 -DIST firefox-102.12.0esr-de.xpi 591576 BLAKE2B 541e6e5df3892074fc34d4fda1b89bdd4348d3371f8274aa5bc4c89148f3631b3b1dbae631734e91432445a9b585353b94d15e417186483a8c8632d7957bc5c7 SHA512 16353fbadac5dbafe98327ce65d0bfe74b1bf66d8133a239c4a78142b2da85294d057661146d706aab626e123de74a59e67e50800b9fa21fb0f5805aa93d0efa -DIST firefox-102.12.0esr-dsb.xpi 600367 BLAKE2B 730acc940899dd69a5f9a25c13d4e8047378d8cdb7c7bc2e71b576b259a4f5562a7b823223be73afebf2540d437710c2d433499891746ffe12efdcfab2848ef9 SHA512 6228c2594dd0592169966566bb946fd6829916bf04424e5ddd90aa008d1551fac4daa65b1d48ddb36c97d7756d0308f5ecd703a22f74f40e372d3e5837f818bf -DIST firefox-102.12.0esr-el.xpi 681657 BLAKE2B 24a6a4070da7846381c875611ab67964021769c80116e08e41aac388095c282e5f6ed7472f1fec7131b175d2beb7ce22e73d2edb589ae23715cb8280d94e1282 SHA512 bfc392a20ae0b09b37c1a3beaf01f8c464d6f7e4414fe67d3140ecc0855710573fa39ee40aad29b2ce35d25b1ba0506304f571ff4ed06d15b601c2dc63160445 -DIST firefox-102.12.0esr-en-CA.xpi 541057 BLAKE2B 02ae53f5e1bb1ce9747c680872bc20eab304b92a5ecc7a59c4cda0b99e94c2e6bd72846abc97692528d91f5c2d0f956efd482035d6e37e14a7c2701e31700e7e SHA512 4e57ec79a3a3d196dc7d35f25c65ed2a53e14702e16033ccb156bc4ec43df1433dfcd0d90e1e5b6e47163de4f95ea4eadaca9d9fe9e5ed9deb8518103975d839 -DIST firefox-102.12.0esr-en-GB.xpi 543994 BLAKE2B 27cf0dd8779ce2b53f3348bb6748e47a6e712a1c33909c5b5fb900620dca1898f7166a9186e80022d75e268cb187bab9b1ede4bf482b8179db3a36993adcb5db SHA512 ac25ae7b32c5c10d014e79b6ca4db59b560d0c0e57d4259a0ffce3d8770a02c70cd17e87b409d3f07415735c17eb355ebf115fbd5c8208ad350cff86ee5256a9 -DIST firefox-102.12.0esr-eo.xpi 571432 BLAKE2B 5c3bf5c4ac0d8806d280f3e4f2f903a6ec1a178e87deff1b2e3ae507b405c9fef31bdfe812b66da30645382d2eb07f025b8444ae215c34e689ce2f00fe6dc565 SHA512 fbac584940bed0294bdee3ef00c19137e38e63285ee456fb6a5b9d71d122edb1d33dec806120e7b0314ced120a313ee4853dab25d7298e09c0dbf69863a99546 -DIST firefox-102.12.0esr-es-AR.xpi 584195 BLAKE2B c7a98ad5e188be20c5b9e7eb70b11e06db917f113e12f1a66732c87c85d4526d04ba78bf3f6c55b3bd9c47d9833dd8992c6057f671e2b46fdb4baa2ca606f143 SHA512 4c774aea30733c2b4bba509d12916a692b2c5a0bcd52b4c45ed880d3f2c65bf768fc0936ea6b60931bc49c1193e86064d9aa0df12cf5645bfd295db708b9b570 -DIST firefox-102.12.0esr-es-CL.xpi 583183 BLAKE2B 08104bd749c950eefd924d2b380a22bb959ba429f047da8c0a357e39f1efe27c0cf45d0ab70e31dbdf2791a4f67dd02404c85a669030ed659a2f816c2a2e1378 SHA512 458dbd66dfa46d8419c2e74082259fd440a8866be40b98c9a1f4d0895161aec292b0615f054802ede354c76c838280b8ae9a8c8a20d7d0b13ed6763c4c4226ab -DIST firefox-102.12.0esr-es-ES.xpi 576085 BLAKE2B c10e6af3df5fddd5a72151c5169cfe8ee18c492ced66423a791dea51a3549f5f4e274527f2d7d09c34c9ab0f7ad445418b5fd4bca91880bce755edb85bf7bef9 SHA512 dfca94b0f47cf52f5681753f86d11693193fcfbcef56266e0e594e8fbcd54f56e6170a91a0c09b12128190a305683687807e233ece21718adca65d923c643989 -DIST firefox-102.12.0esr-es-MX.xpi 586668 BLAKE2B 1a27c89050a576eea6f92698356638f871274054d5b8489c67b5e9d42c9e85ffdd74076c0536d615d05f1f64c4d26e62eb8623e1da9d9bbce7ac5bb34e85597a SHA512 2ea543a89f0b689f06e9bc22a5779afb43466da42fafc1748081e06d095af61264eb1e778227d5348095cdce3d4a49fdc86e29c49b89073aa91d2c4272dd361e -DIST firefox-102.12.0esr-et.xpi 543291 BLAKE2B e352c467b34e9dc675e505c35ba1e9b6af24c4fd4bd8706e0765dba0316db0da489c98116f481ae751c640f38e792a685814912070144a80e1818a28c6c3ae20 SHA512 c0db6f9c6374a4f118d8ea34f22cc49359f6c92f7717877dceafb87596d8919e0ad84f2a6b0f33b674839b7f313282258bdb630d84a7e3975ba75998313da160 -DIST firefox-102.12.0esr-eu.xpi 572524 BLAKE2B 08c6856e3f45a9531d21128885b6ae329380f23793e2689b477c6d13b334a47b8716fc771d3777704064623116a93bd2bc071066f4d5116d795ab7f84165f0d2 SHA512 1e26686960542a66fdc725514b7bfe3699461f90bff8ae5e27b80887ddc1e4fc88abfa334bdb0a139587d9af9d5b810e6a4957a8b0d62961defaf51887c87305 -DIST firefox-102.12.0esr-fa.xpi 583111 BLAKE2B b943a678b0308febe96ec1e286d0a82db3e74c4c696f60e4f1ffd2cdc94ce9de3f8156365e26e3708129ac22e1cbb9b9fff9892e03c5d738adeaee8562603797 SHA512 89f6654e37489042007aa5311f039a377a6611098a8b0f3329e73669b39d9001d031d946c05f8f78cf254d594f55e3d6748db15c15e3802122763696406e7d47 -DIST firefox-102.12.0esr-ff.xpi 483127 BLAKE2B d1687c50235a40107c62a494065d536038bd73511c62e82117726ac18d147060ced557b3c4f3e25a381280319314ea0f3bde65065f8a6d095f8f7aa975c5546a SHA512 5186a6044b0b0dbb0c6ec0abfc8429b5d4da3f6679ca38f15ca186683dde438e9744c657fd80ddb4607e47f7d00cccf3ebfe8c5a6c4211c723170e10df67d94d -DIST firefox-102.12.0esr-fi.xpi 568235 BLAKE2B 80f9f625d52b0527d2c29bf54fe8419ff71da823ca4f9cf421295386ce6d64f23d3c2275df43f597a1dbfd0ba9ff4c2ade4169ef43524b8894c86e398abaa578 SHA512 e56b841b0c6be321b06730296bcd5f35d73920b897c3f1cddd799b77b23bedbdce35bfb458c28e697083ec035773e14e9f39eee9c1dd5f8625b9667c20d9240c -DIST firefox-102.12.0esr-fr.xpi 595538 BLAKE2B f3efbc55f4d759665ff454a3d88630ffd25c018de863c2e0e56998b903f6c693c275ec8fef25c5d6a9cb0f9f749df1945985f20a99ad8a2ed9921e0c8afeb838 SHA512 81f42de1a1dcf5c68b6e1f9aa278350e07441f4ed767c895c89083cfbab54a9f75d84a94d08c4b4a3b9a0df97478e958a1e60fec011d8c30d719a76eeb541cbd -DIST firefox-102.12.0esr-fy-NL.xpi 580229 BLAKE2B 63dd2100457c054e926f4ce7b0996390645bd0f76b7a554fed0691d2888422d63eed97a7bede8f06944cf19333637423879535fd75623c65f9bfe3884b8d21d7 SHA512 8fea2fc36214b4fa3962d9a46cdcd715d58447631ccd4ff0ca55053d35d32f3117ffc9b6cc6f056c403b678495397b849e4ab9f30d5daddcbe8209aeaadebccf -DIST firefox-102.12.0esr-ga-IE.xpi 480696 BLAKE2B 234e77995f8af8b9a1636e1d863175906cb70023fd4de8edccfdc9a30b63ca30fcc27a8b603e593a411c2a0410ab9af76a2aeca81b2bdf89b6eff4dfa9ec71ea SHA512 efde0a1b843941abc7a2cefb06d209c9ed6e8bd7dcf7298a0d4b67aab6c504057fcf4aa4ebccbc3517b37528a4323eaf24784514bd458b10e5fbc5145b18cc9d -DIST firefox-102.12.0esr-gd.xpi 557860 BLAKE2B 379287661e30e52779d14d6b77f7844d8faecc0a9c5a6432c7d965b92b02221f8e7de70280d41ffcad4b3f13e12f5c256cce61dfeb79aae28e0e916dc9fc5069 SHA512 2937774f1dd00c990b7126b3114427bcb80c7fc3b5a9bfe292ea5e02952b0171bb90630d1998676d7e3ecce3f4b9d83b658091da2b2d77ad8eb3112c8dd2ad33 -DIST firefox-102.12.0esr-gl.xpi 550719 BLAKE2B 2bd0304cd86338140706591fc7f2a746c349d710dcc31544b5f0c2dd81c7c781a2d6fbf8f1d38b51ec0e8a172c12eba8e33ca630e9b933bd1f8c8e6f759ce852 SHA512 fc4fb54dbea84bdc8aedc09e0859828a8cd3d92b3060448b3a945b23e7d370edf4515c0e738a407ca2080c98caeb87588e3a242bde3f68239783b0fcf3fa704a -DIST firefox-102.12.0esr-gn.xpi 595696 BLAKE2B 8d1cf641edec9d19006d811626e96eeb56ae7a6a5614d35498a195e131f30bf5b9e4c40e73aa5f53cbf1b5ed04c5497e1a4322d2582dfc77ed1f2d2602daa5b3 SHA512 9e009b6df53c7dc21ad81177ff5d8c9d11f6828bb8ef46380d52eebebca90c6e86afe474dc94bcf0136d36c01ca3de1ec546615c5923dd26a2e63af78ce69cb3 -DIST firefox-102.12.0esr-gu-IN.xpi 541907 BLAKE2B 079e7719230a657d155dc419e582835089f1aebdcf36888313653b04a734517521a8be940d9c5edd1baf9e847f4b1e0897ba577afe869a44d882f6c8f38ebcbf SHA512 c2bfc1c457cccad69f6bc7333c40a2b7585b90a5066e8d2d6daaec175172692248255ea850d560bedf2e9ffa1c483a543c55c121315532704cfb899a32a1864c -DIST firefox-102.12.0esr-he.xpi 591527 BLAKE2B c9fd9e563114a10d50a174edd1577b5a9bddf8564c48b840d17daf391654e0151b21fd411d184382eb4afc4f34705ba44c421aab2089c3ae4c4028601f46c9b6 SHA512 85e448dc0449be41f6c76696e6cf2a333d7c779fddc836ee06c4dcd55d62fe2a3550e8b43b795732db462a8efe5a8308bb8fb450ed37721c0711d35b60476064 -DIST firefox-102.12.0esr-hi-IN.xpi 570411 BLAKE2B 76c3a071929ee220796352b180aa34f451268ee88d9b73d47220dc1644e2455736f627954b8d3ef3aa6481f55714ce58a0016fd328672b3316b0be32edd59f4f SHA512 f3a42c868d9822bb7e40e06201aa02b3f401709665d181b6f6cf9b33634dc0493dd18affd97bc759c1afa604225b795e65de9f0c63530523649c26be97629c19 -DIST firefox-102.12.0esr-hr.xpi 555262 BLAKE2B de3fa62200b5c9038cb385cab5b325953105b5abfac8fb67f7305772b301040bed1fd0fc4160ba213b0d4147c3dc92d5223101e86b66a89243105ad26d450ea4 SHA512 701a433a57fb59887b8921a7ad6a1ab9c1638d95afb83c18d5288272bcc1ab59012574db7322954e03e857473164339a53ce303a453d884612000183a7be2585 -DIST firefox-102.12.0esr-hsb.xpi 599188 BLAKE2B d5a25dfbdded56f1139af0e3821ec7c1aef2e80dec68fca8990cecaf3f95ee4961d9b9600939c7c43fb839153a2aa7c426de8718f1b8989294d410f08c6bf4c3 SHA512 6560ee6c870c72041687107a1eeb25ee09cfa592931167f8361196b95b6e22ae5c9ccce7d883327461481d0d84e589eb248dc283741411b4724154f1fea1e6b9 -DIST firefox-102.12.0esr-hu.xpi 605253 BLAKE2B 4c5c54080e41253e90d14c30234eb4af6c06523daa9bb387f5ee86951fc99249165fc0ac7bac707e31a9be6b8a7eaec88761036e957e3439fae119a66ec1ac87 SHA512 f7755a4378dfd1e281a29c6e4a8b043f3ad78f439d81c578a5be6621f1ff11ebebb88fa9ccf110e5650af549fd32468abc8665640410d53266e488233a896385 -DIST firefox-102.12.0esr-hy-AM.xpi 607090 BLAKE2B f0a5552905bcfd3da2b553b38063f7bbb736a569f4bf2a97873b4f1b113e7328c88cb8085c02b355fb82c3cc2f3aa3d009513f0d45dcdbdfe95c326e88103b33 SHA512 6c18c7d221e7646a9b7e9d71edaff99c57fa3736d6bce7f27d4e2ec51b0a48ec5fa67a4bc89229422e4ee82d2903f94c83d4e789b1a517a08e9914dbe5cdb6e7 -DIST firefox-102.12.0esr-ia.xpi 567887 BLAKE2B 92f72032a49ab6427810f6e8947407ebfc4e58caa8f5eb9654c0c5ab362d520c82d5cdf6fc76a77a2fbb2bb7e9d8b0a6a6f74e7aeb644fa558694f024c0522c0 SHA512 119ef5ceaeef7d5bf730643429fac52ba7f23d834ef448e6ae19ffe58929535e6411eb472f9cb60acab126124be84ef99d82b7da57d99170c7fdd2daa00d751b -DIST firefox-102.12.0esr-id.xpi 564785 BLAKE2B ce02ecf00f4fd419edbba2cf6961acf9e9a1ffc95401e8ced6e11f10a03d5bacc69b6be34dc0fc1044653a80d6ff8e520d7db1a75f5e7c0741d150e4b6077249 SHA512 425ffcb4bf3172411c1f8b84c6f2505f312e5472177dcbebb3e39fa7a2c5446aa923ba50393beb69dfd5a9a7b3c25bb8136730c7a74ec521253517ab290afebb -DIST firefox-102.12.0esr-is.xpi 575723 BLAKE2B b3455e455384bd6b685013b56d2a5ca619ddaa0192cc7776d7bfb97448ca8623dcf8d035e0e6a960b6ffaae0950441fd2cfc2f75d363725bbba5eece40d037b9 SHA512 39396b176f705002111826b23c8518b4a48c07b61a1e63aeda1b21a09ef589b996ed76841e600c7e903f68efc02270cf250ba9760906ccb2663da8ea47e5d440 -DIST firefox-102.12.0esr-it.xpi 505288 BLAKE2B d3768d4ae42ade0d3ab9e055131b436dde34aad7de8d4e9f6fb23b168392c7429b97915b826fa806382ada31165d4ba1401883691619e3d376f117e38f2d3723 SHA512 4c736bcca4b1b8e45e6829ce1e85ba997f5cf0c00c724966f8bf7a38cb179ff200bb271ca6f35b2ecccf39172c6a5cc27222f5ef7da644cec609b50672de7eb7 -DIST firefox-102.12.0esr-ja.xpi 631476 BLAKE2B e3b75a09dedaef61fbaa383057edf9ac950ad37c63d42c23ceef4370a2b1ffa280c4b127b7910e5bf9e7707764c420797b47fe3a2337f785ccea2036fa7eb39e SHA512 9346f3887c7d5568bf1932c95e1e72d6d51c122efcf27555a2f69589bd8c9c91940bc877bd4cdb65e0b75b48ce048789f2e4c11238ad481552722829a377da8d -DIST firefox-102.12.0esr-ka.xpi 636004 BLAKE2B 872a4bd43a07ac72ea13fc691d652e87cf238849f07423082be3542ab36a0364b9c3d4e32a39ef32cef981f5863d2ec2f8433237682f4db4b87ea18bc26813b0 SHA512 f69da891596358e081fa321fb42e4c6f3578dc8454e7ea75ba823f583de6f26d3a3825457ea0d2ab2a53069aa3e8c40336f22f9ae272fcdde16ed504c5e741d1 -DIST firefox-102.12.0esr-kab.xpi 583630 BLAKE2B e0c619cdb66737577deb212ba77b131e578c27cf4a0cb92159668fdb76654580b8f6b8d2e64cfaba087e39a3a12dfff3beb9a9cb29bff21e9b572b7728b3e6cf SHA512 2223cc66c78c9947cebf285422f2b5a5f9466dcdd3c12e73bd613ead46d772961a47a9492aa6be27b86de3880ab24205387e59c1358966aba1b0479404dc5496 -DIST firefox-102.12.0esr-kk.xpi 658890 BLAKE2B 50da2c9e7b856238fcd9f137ef6d70c56eae55accaa04783027f7b4ea33295f226905bc4254104d20072e29f9d9b4284764440e3afa5103c67b6de8d3aaba59d SHA512 73dad831a23d4a8e7ed86492be96e216cc48c11015c77e62391749151bec21c36bd76cc7a76aba22b4462d45a7e56b02199ce26f1479d747cb2708f2d56b37da -DIST firefox-102.12.0esr-km.xpi 543899 BLAKE2B a2f2a2a8c7f723c4935a49e4201260b2a6fabaa174b8ce5d841c718d75dba405feb25188e131b90e7252d6963c6ad65966491619bcd9cda4e53c16dcc8226961 SHA512 0615960b26a11250b58d9c252f7b490fb3f3f14dcf6089bed91ae3da0fc04d71022dd367a2e69e44592bec51f1f08d84cc106a5cfcc16b5ac84e494f4c09b737 -DIST firefox-102.12.0esr-kn.xpi 508580 BLAKE2B 590caca7eea3f51677c4cf1920b26791a662b23c631659ff1b87228fa515fae15ad1e894d299c63d8268d4a80d905f1b070592e8674b129ee4c33553afc35088 SHA512 06b3cb8e444af844bfc5381d9db1e0fcc64ab9f0cc4b81479cc4c55336f30b9754d2db0d859160d54f9fc0d42846670d2e19c10e00af9ad2e04ba04ce2a5a082 -DIST firefox-102.12.0esr-ko.xpi 617306 BLAKE2B b72a643a015d6185ee7846877a2771abff967732c906a36fe9385351b5a4fd9f9fe030a68b171efbf332ae220c9cbd43e33a0514aa726e36894c535b681dd02b SHA512 dd161f63fdef14dcc3736c30b3b8a02b7345fe184d4bd654a136dc34f3cc138ca0cf940ad04d244d09894e6bfac3da44b8cd2dd9f699a28ec027eff33fde7162 -DIST firefox-102.12.0esr-lij.xpi 480138 BLAKE2B c41b2153e143774b9631ef1187c8f8fe57723a7a172037b66290e66fdcda83222f94f6f3eb05fd89c09661e7ace56cf8207254bdfa7252f6ab60164e8e997793 SHA512 476ffbd17e6e09011e3bbca1de654e122198ed34ce3903d20cc6bed9258ac3897f48d278b4a52bea69042f910bae1c1a215dba534b9cd6a9dccea5f18595ae32 -DIST firefox-102.12.0esr-lt.xpi 574771 BLAKE2B 5c5a4090256437f950cb0cc823cb3443fe6b2cf4b1ce0d85eda05947bce86850d3cdb2496e81de70055d508d3711c29ff6a0fc5ae1fb9f4e0cd2f4d8be6752ff SHA512 0be15bd29423ed73f96c82a3a8dca68f51745981bd26282064ee18e7a29855d5d2ceffc4d3b9be995c839e538792dc4d6eea51d0ec871a26abb91664e466c537 -DIST firefox-102.12.0esr-lv.xpi 479296 BLAKE2B 7cb8b1d0d875b4eb442f88f056fed37884875bdf87cda2c51c35f70c4951f588e8c587dba46659e02b0919d56c6265f98e27dfad908c1021672ef16ca6787370 SHA512 f8d22eb95d544a483468a79bb9cc9815a494cee60e27e0333d2f53a900fce7c3f4ce6a0ae742a482b6fa7bcf4d2871f9ad8dd118b8946155fbf79fa6936b6879 -DIST firefox-102.12.0esr-mk.xpi 497539 BLAKE2B d1a1ba98cd33f36a48ec3131ca4beb7e80a24d3bb64f15eb849ea741fbc6d64ca9bd031b67fad15ef4d4aee8a9e077ff2d0f136e56570e9baa5a0c6769b67dab SHA512 55f25abc87b25db2f5e01063fbe4cb8fc6060aea70bbf35ec9784bc4076c1faec52f85f9d14873dfd412fcd94a1ef42fd14fd76be3948f8d712773c7b57ecb48 -DIST firefox-102.12.0esr-mr.xpi 543731 BLAKE2B 4ad55372990e79384c5535e73c02a779d3254d7e75fd206169c06dea9341a3572d928e1f1fe2e9ca738a88383455c5bbf8a2b15d612883c1cfb133a077c5c089 SHA512 c721851964a4bf16e3703f5bdd7831efc18e4cd344938e800faefc5928ab8e383110e6af71fc026b681bff68e080db49e13aa582f858de2713ab3c8ff05ad59b -DIST firefox-102.12.0esr-ms.xpi 459031 BLAKE2B bc9e404c8e5ac9a8c31eeee9960b5c939d84da4d7e9d7bb9aedd5dc11b0549b610e3af36d99185e1296fcf1c6f3a87c78f4acdee2c6bb6a46312606b477ac398 SHA512 e08f0f6b8ff04fbf5931022a88c53c4954f826955a7dccbbc71fa3e1ba3f8c7ceabf6049bcc133811e6672dcacf58248ca3ef737e5ebebd26cde2774598b4ef4 -DIST firefox-102.12.0esr-my.xpi 529937 BLAKE2B 6b0d3ace5bb5678e491c4c5ffa66973c62913844fafef134fe99a85cad3fe8bde7bbfdddc6c6224139316178912e24b32f8712c64266c406c546927533924dea SHA512 c271d7e69b0c84469757c770ff9cd6738efdea8dabae60bed4201d460649acb57dc31bc028c1fd89459694d66b518188abbd2ec2d792e4871356636c0a3e3f02 -DIST firefox-102.12.0esr-nb-NO.xpi 565278 BLAKE2B ad25d4ba6e0ce9d771fafc5a7c82ecc88d7eaa7c0f4a4a4a91f6bdaea722df75ac78b469322a60f029b15affce0cda057acc85e4ab6d4386125e0c3da89deb4b SHA512 27040a3c01b1e938f3a8ac98cadb484fc1a1aa2823ae21cf9dea00ec641371e703cca1957320b34806590bba861df1c18b78928a71679da8a55dea2f2d655ab2 -DIST firefox-102.12.0esr-ne-NP.xpi 498083 BLAKE2B 9b5312d222230cea3e8d4a1b92b5baf08a1ce9c73a72186c4077f0766347565b702e6cf3ce57a9b2885bd1d79aca68aa981f16dca0d8392b49f471cc825b70d5 SHA512 482e5fcee9efde58aa8feadea1c114595f682e91123aa07b0cec78d47e716cbd59d42ac4654dc2981c6d0e83f4d2a91170700db88d8d21913be1288691fe9381 -DIST firefox-102.12.0esr-nl.xpi 573454 BLAKE2B 87ed14ef8f946751a755d3b7911323e5b7a9feed6ff0edd50cd355c49093870c6b0a36fe9652bbfd03d8bd418fc91663123626f22e019195afe24a09947f2300 SHA512 f7d73b3c77eb769bdd756d8d2cd91e89d2a70360d13b228398b4ac756256fc34b34e19a50952ca6921703b23086e9d3c4217f5b12ad0b373a244fe6a15c12375 -DIST firefox-102.12.0esr-nn-NO.xpi 566161 BLAKE2B 387544db308b4ab6189b9fe1e259595556d676474615facf1bd5f816f9954b478905dd96032afc025508ead2445c4ff4e1c0b0e6796408db96b3474c989d3524 SHA512 b0fa33a2566f75a361586347435a438e233f6ec350b24a27358598c989c1fa6dc6e77618170ee492ce905e131f202008ba64e2117c5bcde49f4cb6c6bde7754b -DIST firefox-102.12.0esr-oc.xpi 591135 BLAKE2B 457cedc3cd828c3c5517b16a5ae2e14a2a7be3338d2d333611dd613eb0d3ac61fbcb1774dac36bf57a19713072ae355f8eacfe117b6d30b22bf7d3341009afb7 SHA512 2e6c0f9400d03917857f4a7045452319f09e6af33fc70383c8adf4036de2d8de6c1e707aa4676e4831ebd51d475af9df85a12c2f0081d53b124e761f1a31671e -DIST firefox-102.12.0esr-pa-IN.xpi 648630 BLAKE2B 6cab03349c87edc03f6d3bed25ad66534acf2c951c9dc63f5e63809ea788237f2110481c44e110bbda9c2c4a16a5a2105c1caf56ecb137fd7fc1f6cdfefc37a5 SHA512 82c4a02c23afb2a76ad8e1854cd693b7726cf091efa996e8973b8f439995173e7a5dc8d9bd52a317769cd6c80804c088c5b66bf5061e80ef9cc3310ebc6d0041 -DIST firefox-102.12.0esr-pl.xpi 597075 BLAKE2B 5de447099682262001ed03d75c058851999a25e69bee0f5578d97efc15007af757516b16e55eb336c88390ef36f2b3ef9309aa4202add058db69c03197b7f879 SHA512 2de9847d22545d3682b6536287005a4853f55ead9475e10b60d98c6cb7fe348621442a3e31d10716b0ebf7f74212c545bba210961f1a3b511ad333a5e7f070c3 -DIST firefox-102.12.0esr-pt-BR.xpi 579018 BLAKE2B 5db98538203d752178bb1d01290dc652fb82baaf17cb19cabc248fe63293e500a0415e2a6c1cae13006b9d8aba7eff52e468f0ac4de53706e8270b9b9389a9ca SHA512 5e60897325331a6ff9584e0aa3fd0687b5831026d3f8821abbc335ba99d5cd57ae02550dfdb14170d41e1e1f407eed6ad8d924af75a2d7a38d3ab7facb35488d -DIST firefox-102.12.0esr-pt-PT.xpi 582848 BLAKE2B 7a4b0266ab733bf8ac4e244c0fcdf3e4139cab2eac7511a54951f34094512ada4cfd5fa1c60295788ce814286ba0c98bd3e6f47d321daeb6c0a40d591f1d5979 SHA512 9653e3fece068f5f9a94297923e2ace14f39c57d7cecb3512882ebac58cf1974be187d521c2b88b54545815c71ad2c1017719e87558d5d39b02be4e30e8e78cf -DIST firefox-102.12.0esr-rm.xpi 571918 BLAKE2B 83232f28bcf17ce8510cde5859c6d40d73b208186323fa02a004abb2f4e996a4e1369a339453605cdea65754451707291b9e0dea8850cccf10a6bb14a2e8a3d8 SHA512 5700636dd0fffbe06a4ec0817dfdaecd59c471bb79306e9af5ca13b0c578bacf8bf4825b6d34360a42a37bf06a8f139f4e31ed4f621195a7a22ecfd5770bfa26 -DIST firefox-102.12.0esr-ro.xpi 541908 BLAKE2B f9483a7afc02d04b19835a2aac50c98b3f88237203ea2b43b66497f366f693d4eced82664c9b28fc2e4d8282957b5019c2203ef6632341fc206b463b73436a32 SHA512 84b15cf910c360e463f1d0cb5837895323e40408bb0cf75ce88abe81ee0ccd4c7487e26afa17476493a9b173c873727848bfc2a278d90f7a096080eb93306cce -DIST firefox-102.12.0esr-ru.xpi 671120 BLAKE2B e3c10da53e3dc6a51c08c5dcec32484aa93ca22c9e0e8e49be3f99fc37d971829ddae4ff694c75f294d4692806af6f011b77f88f8d79fb2197a0f0a573c1eccd SHA512 442849167872610a9d8d77fff046b0a86c6afb1877f1a671419de30049cba7eedc5d8160ee43c6db2bdac75fe910de8922f043534458311363a66adc6128afbe -DIST firefox-102.12.0esr-sco.xpi 513233 BLAKE2B 0c464202d3771d896414870bc67e878ee756ca2ca15a84e7da6f09ac62ca2527388736b740e6f97b9cf38658bab2f226b5cd10314cd2a66d3e438d13bf1f306b SHA512 cc66efcba96588fe8ba9d2448734b5a648cc5186a46cce58f8f80ad13ec1fd657dfc5d0d40490468b2d2240b19a8af4b87aee2503b7992e5374040f0176113dc -DIST firefox-102.12.0esr-si.xpi 585625 BLAKE2B a5c0f976da657db0e80d61ae62e5450790b27d209b06150cf6b8e420f128c60bc8049d0263ff2ef7d542c9a7818111e3515a9b71464d5fac1e37a0c80eed9e83 SHA512 d607a2d5eed587d9d4bcec1da7ddca660fec67cdfcd1db2546aeb7925d618f9db146d232c6599ba0a505d9ffbad4f6fd66732c4cce43a35e80d784346f449ce3 -DIST firefox-102.12.0esr-sk.xpi 606127 BLAKE2B 7afcd99fd4e882282082b8f23d8b7a5dd9cc43b2ff9de4ad405cd804fc55644c53a289cab94c7b5382822ab4db3565b755482227d1f28b956ee41a61dd9f55fc SHA512 423fe17d89620c267cf08f9b46fb039b0c034139b707d75f228493189350d06961a6981ae3fa6840d19cb869c744f22fbe55837331b2b5bef1276a831f5b9ae6 -DIST firefox-102.12.0esr-sl.xpi 577353 BLAKE2B fb2fa8d40f2ee70c6457cb58738717a3caef159d66160553780aa9196dab92769ef6ff71fa5c28e2f893059ef28d03cd14f6cbe0593116f822e2154e57cb87cc SHA512 cc982b654728bb0c56d8d57bd16e893ee2e0c1d98e004ff080befa097dbf8823424d27629a3605236d55785da944c034924c1fb4d131164c7a44608672f71982 -DIST firefox-102.12.0esr-son.xpi 433051 BLAKE2B bb64187ecf8b9332eb302fa122a867a7e5f01d42647c59c8a41cd9d9ce0aa664e62b408eb7305f8047af4cc624d70e033c36c87d2a99002d95456d758afcf25b SHA512 665731901ebd828cd14da231faa02b66b28311ae1a09cdfb0879b8a7c8e39d30d8f20ad24e70351e84ecb29af12dc6ed76194dd6abe336fcd9e697514908670b -DIST firefox-102.12.0esr-sq.xpi 593402 BLAKE2B d2e3d64261d7e740f091125605be6dbd94dd897681ec0cb6af688585a6f424773467d314ebc30f47597b3b8abb204cf0bbc2dfac0b21aaa1017286a7b5d893e8 SHA512 b84c507fd2072af8666071bc331957d7f7501c122257047d93494a093c090e1b47228bc2119d4fbc45dd1abbbd605c526faadd14326a01d2b107f14a8e9ba887 -DIST firefox-102.12.0esr-sr.xpi 635142 BLAKE2B e23dc6396b62f8dfeabdf7526f14d87d072250a1f1ba71b1b06d57e80debdcceb83ff15ba6c00616bce3d0019065cc3a3b43359774b3e441c5df5cdb26d8943a SHA512 7b9aab8d30a8fc74bc34c432a5dc58ebe510a3230b64f31aed14459025b7e0ff525bbceaff7c0096ea4228586b651341644c54b40b4456596b098265c56b10d2 -DIST firefox-102.12.0esr-sv-SE.xpi 576046 BLAKE2B 6bf16d23ace19aefbd8fbc8340f543a0a19429be5a0b0f2755060c67dbf8db3bcc1ce5be70f8c07f4e9d8c9b355b92bb8c49e30f27642403425825129f2fb95c SHA512 2ba4e19852a111a1c0a06cca62c78036a682661f76895319459256fd849ecc63ea9c6aebfaf2364110c7d966d47ad69d387d955f87e25371a77dfe570ddab573 -DIST firefox-102.12.0esr-szl.xpi 527112 BLAKE2B 6677cb335c27b2a64faf145dd07e2e4de1d1e6a5b4fbeb922a3e9dd47951e426edb8b8f96b95eebcc2318d0d13a05de71f15dda80ccc594219c183c970c57f7d SHA512 4e125ce04b33baf30454064b19ec0e26f11269c912a1f780d2e8a05c41ed57d2e458aa43e1792150e51bba9a59b4df5c0c0ec0db1b2ece71eacae1db36a4c59a -DIST firefox-102.12.0esr-ta.xpi 522074 BLAKE2B 6d84ddd787886f42c67d42033e5a56dfe446bf7738e93b6e7a834b4fbd75d6abd703a2259ae80d683ec3809b72281c61814fb2c0486cff4cd2c128ce805ebbcf SHA512 8f1f3b4cc4986fc4e8861b863446e46201ec2bfdfe0aa4c544374120da184921552088aabfccf901ba346569cfe95cf21ee629730ada345c697a4900ef8d8fdc -DIST firefox-102.12.0esr-te.xpi 568444 BLAKE2B 77aa1ba68a15517a166185620316c389f17b6625834aa967c9b074f2cea34de0d4aae0304b3af9f06ea3e52111e3cf54b6cc7328858365fa515df5bc9b0b9c65 SHA512 28947b1f180ee61d52348c310ff241994589d929e5d789599e1f9b711662f39860a3e142171bdee8aae2f3747a0841707d15b2b78d85c95ed6e7e761cb23e7a0 -DIST firefox-102.12.0esr-th.xpi 649490 BLAKE2B 549a670f35aad43374472f46484f8222fa437687b361b3f45a3ddba72609dc953d62eda8e91c3ebd79940b84fd58e06eaa4c8e85283b93f2fe5bddafc2a17ed8 SHA512 62109462d1ca4ed9545b324559ca0214934877a42c98432186a6e4186667ed802f937e63c5c7587e7d3611f97a71851d38f3a3e833ed7b1a5a6ef976e9bf9ced -DIST firefox-102.12.0esr-tl.xpi 532359 BLAKE2B b85aaa9a4cddc87a8b906e689884f82e49008b20477695c8a7ad1ad097b523f4ecb36784369025a75da1583a2dda5872a467ea932e22b1cae7c64708e21e4650 SHA512 2db8614b1ba6fa5b1d0fec2a23d05415546f7ddd9cff244d29a01ed11ccdd6b95b1ef82a65fa04456e9c06718337630820bd365abe34b4423b17b6d7cd00fd80 -DIST firefox-102.12.0esr-tr.xpi 590506 BLAKE2B dde762a446b76f90773f787024e4fc54a214d39e75cb63ecaab4ecdf45706926d8bccc7fcb9fb9f48782426249e407c1f9a7bf3581f5167c1108bb5c1e2f50d1 SHA512 d8d99d1cc4c15ba96a533975ea2acbe498f16efd4c6131c65a2be794f696ec174c81ce1d2d81c8a5b265930eb77e76db074e2d9da5208405efba9a655238ad2a -DIST firefox-102.12.0esr-trs.xpi 497370 BLAKE2B 7eaa065e230e54fb5598468be04bd69b8a96a54db29afb23321ce0eb60799fa079c5b18617ccf7f666ac607f3031df98eee235b700dafa8a5e3b8bcb12909331 SHA512 9456433c6e48f54855935838e9315bb4f9ff3db5f5fe339b5adf2d3ffa1329da15810123205ac3b89235f8ae02a8231eb1ecd3d7e0ff6864fdf4041d195e5660 -DIST firefox-102.12.0esr-uk.xpi 664313 BLAKE2B a92b0b7fd767ca390ffdd4a7d84e7ef52291b067926fff4ab868889a550810cd1d7c2d7987e157f820c6db3acc18340b549fa244bdc1d7e99ec62be0e78b2a9a SHA512 7efa6b0df7197153776e06b0241d5a19a8e5a79b95ada7b42c6b0aa742f046d387d232a4dfcc2237e4034b6bce878e3bd86ed0724c8af1bf877c03299ea3525f -DIST firefox-102.12.0esr-ur.xpi 569918 BLAKE2B 4dc8da7402ced76b77c47c2797a63adca64a5c6f0f3b6dabfb727ec4cc5e53bddd2a2644d512d873296ef5710058beeacb5f4a0c8e6bdd39931d0cb22e54c9a3 SHA512 fd3c960f8553abc8959c3bca0639b974bd0f62030b562c4661a5eed5de691273eea142e8cbf1e592976c309a464ec3c629b14f2091dfac540b82b44e8b14c314 -DIST firefox-102.12.0esr-uz.xpi 488882 BLAKE2B 6716c035552c85293ac89ebc527f5c325a054fca23d90b67461882a47090b225e98baf83b4c989f222095327924d5f1a0eeacb135ad9e0de80acc8e6011b1490 SHA512 5fb27f2a731878dccefc2f081889549df3d0515a932ac282f514771838700563c51148e5044aeb646edfb7321c1d7c59e1c621972623877dd901de69da01d5a7 -DIST firefox-102.12.0esr-vi.xpi 611434 BLAKE2B b3886101a2f312b3b6a3dd46950c5e5f51157a5072a4825f9b2f8eb3a6923da653727af6610553d34ea8765234d488a22a28cda5942533c0fdaeac171351278f SHA512 c082c61631db309cb89c065e02ec7a2890768f75bb504193207a35ef957f219621868a334368f8cf325bf1250543ef92de5631ab0bfbd27cc709cc9ba084674a -DIST firefox-102.12.0esr-xh.xpi 427937 BLAKE2B 325a3bef2141bc839555100b3b865d05d165368c19a751b8a5c4523efc916c891a2e80e00383d64f6b6595da8990e8151a4ed969b9aa99c8ceceab80386835a2 SHA512 0b072a6b7faf00d169cccceeceeb851cee5168c1027c5c4666edb05c8373c9c21ed4be303adb66ab75138cc4028c7cd0edf13548b64c38864d4972d1cb775d0f -DIST firefox-102.12.0esr-zh-CN.xpi 613308 BLAKE2B aeabaef09c85706c179d3a4a1422c5e96e86932b6149d5d7ce7924ca5f739a8339b8396481363236932b5d843123b349b9f42f477c7008866593296ad64ea62c SHA512 bf176ca21fc9ad1b4b7fbede824be03e7324659093b3fb101c0f8931c029ca79bfb1581f5c843f23d9c552f73a1308ec931142f93368307282054ab281c42421 -DIST firefox-102.12.0esr-zh-TW.xpi 614577 BLAKE2B de26344ab031b0535c9e530f9bafc866156d80f0c9866589d6a4e1dc369a814eaa35a31ef78e124e5c46b5bea734a21ed152982e47c4428605a6ef9f623e4f8f SHA512 5f6b9bcbd1cce9594dbd6123d803e10a604cfb40b34681632ddbc9e670219fc679ead4856a11b15fb069ad438c6fc75d7f98ca9cdf2195e98349fc72111624f3 -DIST firefox-102.12.0esr.source.tar.xz 483008152 BLAKE2B ef5dcf7c7e6a46389a94b81f28d6b996bd56bc0a110f1e52dfbe00e5c766dad59a91494c3c2f2552a0cb1fef14c19bef6dcb6629e03f9e48d5163e75c59676b2 SHA512 2a85cf1e1c83a862c2886a63dcf3e3e8bca9dd3ed72c5d0223db52387fff3796bc0dcbb508adb8c10a30729f20554c5aac37f8ad045b0088a593d28e39d77fe5 DIST firefox-102.13.0esr-ach.xpi 466438 BLAKE2B 864867e81d0e5101b09f9561bb3c1aff9dbb5ad5ad9bc513126dacb8215524a0bc4e9427a15752b146ee20d5ab6a07d7dbe5d530dc54c03e1cef6e7b61cca3ee SHA512 d1cb24636411a0740503420d51df4104530a35d024f094d18c0e845c868b6badee3fcfa3ed4ddf1849baa07c6d147134be4c17906f0cce3a3d69c6b5705108b1 DIST firefox-102.13.0esr-af.xpi 429120 BLAKE2B 11bd513b3d3c86a470791a89b6df523866b262a923bb2ec66e622f0b180672d4b3ea6891912eff7cacdc8e6aa10a2b67cdab1bef58af23f8f8ea06ce04c0efcc SHA512 6f9d02cde6e7f455e44c0ee7e6f5f7abeddcb07d229fab66fb29923dacbf8faac50bbf686c802a28d86639ee67a0a566cc3a95b06bb319db32ce7413da5fb334 DIST firefox-102.13.0esr-an.xpi 510488 BLAKE2B aef317575387e6bf2e8ab404c89b4d657379e4f646921ff0afb2fc23261d4e9270202b0a3ca6b929767964086bd6dc4916b265296640a8c2d58573bcf5c359f5 SHA512 8b3e97acf2965380d8d720dc8e5c39cb3f541cb13d1afa0f6fdcf02156494ba971d42af21a8371de8e568b5a58c7cd319e4a4cd9b5f5089edca512dd58d2b651 @@ -206,309 +108,7 @@ DIST firefox-102.13.0esr-zh-CN.xpi 613299 BLAKE2B 315e07eb480c9374e5d9dbd963f72f DIST firefox-102.13.0esr-zh-TW.xpi 614569 BLAKE2B 68fdce9b0ece08978f8d514451a86a562e5d0cd7d9f0d1d99396013ec408eb6996206e8cbae4ebeba9be992da8b15b74076e875a05fa8a01d5bd1fe8471a0ac8 SHA512 70fd7d18b6662a328c8b1503adf27b42c9cd515a07eae325d56325aa459a5af84222779311d9162974b5763469e5c3e28c27833b72ca8155bfedf6d81d4315e4 DIST firefox-102.13.0esr.source.tar.xz 485854020 BLAKE2B c835146f8eb5d45bcc5eebb5a510cc1b0b1f36ad7b47ed10eed743e9fddc2555f3458f19ab75ed12a510e896be727bf2bbee8521af439f323c48d8c1bbd82499 SHA512 745f4a77e4c898313f11118274d27513f4baa16bb42d5b71d9bd0dbe8957dbf39a5f7ae8442cd711aca9b597bc909c04b44cb8d9094c57aa34e285e64f834fde DIST firefox-102esr-patches-10j.tar.xz 21744 BLAKE2B 326f206dfcd5b6ea2f06f5f537505e23d358f6d7930f7e72fd8e54af88d97172170999c246af888278143810df42be9414541e47feb48b60732565a4ee38579e SHA512 5efa50b221abedbb84c1b3d19d8ac089ac5752448e8c90c6aed9f43bf3eee876b7e7050a1678bca65f6b23734c4945b016bf059a3921ad7290b0150538111bbd -DIST firefox-113-patches-02.tar.xz 15672 BLAKE2B 6e863e333dbbc1f738a6a5560166dc5357bd2f3191ad90db7d01d5d30532ff5a83d5bd42407c03062059e6979b82da18d069f6b8a5725be2c35e15f1c556af8e SHA512 690f06d04e0d06537aa3330d0e2ce8b42c88390447c1fcc6b59eef878b483338f065eac45e899622c5970ee14c7cb777cc28e754a81bd01778185ef37156bbb2 -DIST firefox-113.0.2-ach.xpi 460940 BLAKE2B deab23e630cb6a2d7dae687d3ff3d20bd07bcb4fbbeb4fec6be99d4cb119254f5e7f41dca6f37bf55aec924de838de01589b36748c78d15efbf67adbd2faae14 SHA512 ee80b1d7c60e24acdeb26de3f705be741c4f5030155ae7706a6c15793cc21fa987dcbdabdc39a0100668632c57153f59fb8593e3b32c4579dba5e0694ed75593 -DIST firefox-113.0.2-af.xpi 424028 BLAKE2B 0be47c3b0fa7c2ed17e96beed83ce6ea12e9f511f4b8edde4514dbc14d5a35087218196be877997b4b5223652cbf162a21629c32cf6b4ff2b697d44397a97348 SHA512 7661a0cac606a6f6fd89ff29172a37d1f6188670a2629cb868710f89d27d9eef8c472509c97d928d61b8eaac1e1d90274902665b7b86b0ce1f1c4e267e560987 -DIST firefox-113.0.2-an.xpi 505331 BLAKE2B 2c2c6f0d04d30baad98dbb20c33386786fd28935b6b11ebd2dea42a8ebaea0e4a87dfcfc0d56017a139c65af7d10dbec32bd3b080729441231cb2cdebb19f2a5 SHA512 3c87c2391f5805ae0e55d64f2e8937c1944aa55883b1ed9da69b2fefc7291ad7fca886f5956f8e4771fc0ef75be2322f678bdef4b483e7fcbb29e677ad674a05 -DIST firefox-113.0.2-ar.xpi 572298 BLAKE2B e8b0537f5e36b4eef876313d164193602fa76a1c191d675e0fffb47c35ab961e80f3cba895b85f616304e495a6e7282a0b9b99f5c91712facfd69e46a3c308d5 SHA512 664c18289a8dd1ae09235471c599863ca2559fcc4ab47ae68eb21517aac90bfcd6252268ac62f620904fe86a3e38c88b7d73168c0d0c1ce2cd07396be9e82905 -DIST firefox-113.0.2-ast.xpi 491662 BLAKE2B 75dbb378dfc4d69c3308ec0246a74cd638ef73968e70497caaa2287b6f65773310a342dac584cf4929b6f113d04f54ef56bc0c75226ec171c0de9b35c1d27bc5 SHA512 b6b1ddc59e1f057de41949edb183c6795ac67ade5c2576622df226c7f496f8889cf744597c2f4ac49471a58d3dcd76346102ec6feb792b99adb6e9f8bdf1657c -DIST firefox-113.0.2-az.xpi 493578 BLAKE2B 31ee57ab65503a495f9df2b917b0c12395433c303a8f29486e0332bdd24b855f352e05c798b753ece3df299f163b9468639411b8d60c6d63997545a6ea862b6a SHA512 fafc1c8b4ba2a6b784ada9aa489b29b7dc70001a1a610daa29e7c938c7167c69743d1b06c9f009e3308c076d5c3e6ac04c545b0b1cde97a3833b074f7fe4faa5 -DIST firefox-113.0.2-be.xpi 665969 BLAKE2B d07c671ef7e9bcb5e8a7e7a25d32e392eabef5599c0aed885b7b1ed5e5723c2857dbfac0b9b77f32b183a9d6dfe29edd6c94c55fc7ef7349d91e367c6e8395d2 SHA512 f5a3c3ae305a0666a29063991838c416d59140c4a84e2a787d7f02987c7cf5d21ee0629a665a1af9578b7e79e553b28a6125b95eef695621425bef8ee27c89fd -DIST firefox-113.0.2-bg.xpi 589762 BLAKE2B f5a651de25f9aae263e816fbddccf761120e24714e88b4b300eb4667f6a845d8d8334706a6adec6963978c0a7b7e1eda3b6d14428aeb0db7202178edc260e1df SHA512 bc58f200edd618b309f338fd7b0d76d2a84babfe7dcedc26ab026661656d62e7d814b5eb2386e8a4f6951c8e6ef2567a5e3ef0d6f661cb3cb5a92bb31a6bcbe4 -DIST firefox-113.0.2-bn.xpi 583365 BLAKE2B 59c69a191b12e23868de36813745e6b8a03b54337281262d4804371a557f8adc7ef5e2617413994258a3eb0679b709a952102ee6592bfa987d70b4947f286a42 SHA512 b06c3644247a7a5131e5a44d218e86d84f0f84c48fb1ef1d0f1688e55137b72eff40df36a3387dd0dd4090f97484ac40f9c2b5de8ac4b8e9bc64daa9673a9cc7 -DIST firefox-113.0.2-br.xpi 549640 BLAKE2B 2847ff73752d434ee50173ae062d00e195ae5f385d11ed7413871c50bab3818ef2a57a1992f0fd7186bcf745339167e34e16ea9e0d5bd078c1da0ca3db63bf4c SHA512 8e3f6082e8d9a150fc033c38e5187a40c2c878fdbbace81aae507b35a122111108b4e1d7a7ea5e2be1b90d6dc31e0acee5f329ef607311cfb7f871e87b3c363f -DIST firefox-113.0.2-bs.xpi 465657 BLAKE2B eff1c79f387d55ed7f6d3f250239d765231b53ecd58c131e1ce319409ed6e24f7857657ba18cdbc461a7ffba971772adb44c6acb1b8dc3248f01e4ea82633300 SHA512 429866da92f9155865fff5faaa9db7c64327d4b5ed5071580f43b50ec70af5be41223421137368b2891b3ee2b82a62cfdc4c699585974d98dc6c536238290194 -DIST firefox-113.0.2-ca-valencia.xpi 544161 BLAKE2B 0b049f59e70efca271247f30f608943890f4e58754c69e92430df0fdc706ffa721543c9a7edb04507af707cf6a9e65d3add24e88ab857b33aeb891ff828a241d SHA512 3682a386a07d6b737aedf035d3ed992840c240d4fcaab4dab91a98dba2292f4cc826b19d4576593e7b172f0b64eb994b180bc5e151a9fca522b2d2ded0b395ae -DIST firefox-113.0.2-ca.xpi 564147 BLAKE2B bc4b5bac3f73482f1e577faa2f01d8d23642f7b32534d219afe5bc462e6f949659d779e437775338239e4e1ecb6f93c22ca984b6f6684fbaaa683481be14df80 SHA512 c606782b32e786d711ea8790ceee8e0bd9d5daaf45d8019fb34c52e92281f7244306419b916b0d0bef0a14bb2cc31df01c8918b50af3533a8b5087a9fe839781 -DIST firefox-113.0.2-cak.xpi 586891 BLAKE2B 638c5dcbfde3372b39c3b1599157caf1bab353b288f8abbcf1cd459d6af5503733a6080e2bbac29d8fc1f44395b9a1df55bfb85386f957705102846c96db56bb SHA512 d40ffcb900d0549da5d225a7f196b31fb0d5fbecfba947b7381a005b3ed3f5251ccf001ef56f9bfd783f4fbd25994fe9e8a1f243e0f7e4cc1944e61f9552b65e -DIST firefox-113.0.2-cs.xpi 599481 BLAKE2B fc0b414453ed357d0113ad4511d902a3ace2d89f4f72abe43a5614f64f56cc7f3fe28388e22571f1bc7360fe5bfc9dd450295cbacf085e38e4e87eb644f9888b SHA512 4eedcf903821096d10139251886ff89c3a23892ede20297b06baaec5244eb9caee94ec8cc88e4b0e863ce0e57351db46f386d36684448f617bc9489a5c647a9d -DIST firefox-113.0.2-cy.xpi 579539 BLAKE2B 610b081a168b3209d4a7bf3ba94be843ac9b905de2fcf5342538ce5fedf013de921939fe5c52bfbea50bba7023d5044b95d2e6fc9ea772b6a3a4bbd1e2c5c3a5 SHA512 b6123885b2b2fda99afea524dfd1872cc7f8abeb769df240ce488c19e5d2aec243aeb69df2d7cbb7da174dae2d576b0ed4483c80d8105c7e952f6449bf0570dd -DIST firefox-113.0.2-da.xpi 568105 BLAKE2B 5cc25278edd703e992c1903ae8aa113184e2f8eb09a407f7fcc1f9b4fbb708dd8b7714caacf44ab87de63cccca71318c42baf9955c7fa2f91af4bf78421052ac SHA512 780ad8373a214581b64c0925b84aa4a751e0dd6c4bf32dff4f494d60e2c0720fb7d83fa6168188cc13a386ea3236191e7802f1df5060b6215dcf66901ba23013 -DIST firefox-113.0.2-de.xpi 590611 BLAKE2B a8704f8fea8d5e858f18831a9311675d89c005f3bbfc7f16d9e5254f846b5c86872aa8923340d3c15a6948681adfda4928b1209b2ea545ddbb7223db096d42bc SHA512 9e5e4e6794c4cf259be946d17dda62df67b5d56c3f23646481afe2c10e034b70c29cd49732c3c3f524cf4e3daf496fe3607da787079596b105a5375da8e47c74 -DIST firefox-113.0.2-dsb.xpi 605165 BLAKE2B f865b33d81c1df6da65f98ae4812474c91e0325f117da75dc150dd6b9c27a3708002de28f7e34db161690ade1237d9ab5aaf357f44d03af1c1ba0f6160be0b3f SHA512 d440ddaac699db06be78a0799a0cdd8133ee10826b815ab5188dfd701dc4e22c5e48a584770888aa3cc14bdc68a9f943afb94982b614181646d8288e7138f29f -DIST firefox-113.0.2-el.xpi 678408 BLAKE2B 9514c8f722680b744ae931e830571edd95c81d5a4295c7674cce78c2477e2af2cb12314a24a48b8636979edf0f1c623d23d54d89f12d35a544f7b64135f6c956 SHA512 27e0c266a9fee6d4c96b814cfe6db66ae5b4d833ea46e7cdf748a83e318d8cb6fab786be1daeffd0b33dc1b98d0aa19145d3cbf528d60606750925b02650ea5e -DIST firefox-113.0.2-en-CA.xpi 539597 BLAKE2B 1d8f54aef430e2568736bef9db4402a26e3c5450a9b7ed5c1baa858ce00671426d49766decd12dab9537bf34f80f86eedd99a473e2df0bc5eab456ef83f0d021 SHA512 6b24bb7cdfc43c5daef6ec0234ef74b920811a435e870a159af75b48c30ed98faefa2a0e56a27f39494faca273fe691f5f34582f9bd4be237b08c493ce5d4dc0 -DIST firefox-113.0.2-en-GB.xpi 544353 BLAKE2B d06fb8bfb42a72a308d3ad53cb591e7a08f8ac01d982f84268634f534b661995714c6e418941f3ed07a9bb38782d4812f86e9ca13e88ad93cb7bb9a2786cac3b SHA512 bd0de81311df8af8a5dc45d65bd5b50b4a4f59ec42cd9cbc280467dd2460169fa82afc3f7836be38dfe1ec8a15a32cc03be0e0405727fd3ca24eb106d7387661 -DIST firefox-113.0.2-eo.xpi 572718 BLAKE2B c509df53c3b742d85645d2e2b02b431556112cc135e5798c995b59cd1c124b29a348e50fbb272d5417f2185eefd44bd2922729dcaf2b66df596432087243645e SHA512 202f7a23e0d9d0016170c5bbbe05e8b162cb5fe105f61e327fe2d68e261109f109141d7c93647464179cfae730dfe78e40c86f3d79ab4968cd3ad1541d2fd834 -DIST firefox-113.0.2-es-AR.xpi 584473 BLAKE2B c8f235bdd84c0d605c0666ee0db060669b2d9cd85c220f02276fb3046968fa2c210c6d36ad715820be991b4b43b3d2240df5ee06341eef2e62d2a35a1d7637cf SHA512 9a870832de836e2bf93c9376bac4907993af06bcd3cd63c2a645492611002bf723e234e33682ed76046b72e43ee60b61fa733fa4bf74378c08adaeb8f83ee773 -DIST firefox-113.0.2-es-CL.xpi 583617 BLAKE2B 61f4d996dedc60f3d4e586cc1bf904566288ef28928caacc9ae1586b203fcdd934b4ef51efdd06ded48a9210b1eef39cace9a8814b35a37c48ea9720942cc6d6 SHA512 12878d232eba1f4f9e1bd7c5704890d7e4bac867722a53c5203d9ff174122b5e50ecd7f4b572ea71bd1d626883ec3d4812e8341eb5874de3eebf7efb82ca69d6 -DIST firefox-113.0.2-es-ES.xpi 576191 BLAKE2B ffc967cee53af5399f1c88d6772665829e612c752632ad67b797b5a4d0019cf780f93f296715343389625dadb2b1c06fc63a9afcd33b2e62ac8ebbe75a32ea1c SHA512 2ca1025e086b60dfb211f3e3cd407c3685ac91ec00fcb40dcb78078beaaa1463d542c2a9ab98232a6e109dc3562295d786a58fe705f839dff72314549b27d208 -DIST firefox-113.0.2-es-MX.xpi 583075 BLAKE2B 175f9069e5d6df2c7ad36f8610f15306fe810a88ffce254001e78a97549687da21b451b2e9664183d3e98d17df453012c1c7a18b1fc676889100dd730e2fba0d SHA512 d090124b4955b0b3b1b3354961d2532cd76d885e1709986833e92acd9ee13eac700ee26f483627d112a4ab5f03f381365edb39748f273160e2eaf184d1c5385f -DIST firefox-113.0.2-et.xpi 538575 BLAKE2B c3012921280b06aeb46991ccc8b5612e4165f988dfff76ef4d21f2286b125ef0b0ca84f3e54a2530e6c74627fb4168a12e8aeebd225a64ef6fbd0d78cf288021 SHA512 c257fd5be0cab779385f6c7d76b9940d7d18b099f327f246ed67a37e78399ee1d4fcaa66a9f516446eb09770a3b88f04e36f870c936ee8820dda33945b25110e -DIST firefox-113.0.2-eu.xpi 570058 BLAKE2B 3c8b49725820f08c92ca8ebd3d08eb499231fe63841dffc829eb6b8784a648d66ab486a972c5325e70996ba89e9aa119015bb1a5d0323e561c84717693185fd0 SHA512 101c74486f4d852a6fc986c6ca234c12199197ca3324dc26500b4495b9a89d9cd9985c3058d4cc0e7880973f923d18ed05afcc6260d1f37705b1ecc38b4d838b -DIST firefox-113.0.2-fa.xpi 584245 BLAKE2B 3d4455b44eb3795756c1ffd882101c4fa0d1ce6152762b6a573d35d4d93977c23cdaee447a4e042aac41b70de7b28117746b2ce4377b0b88ffbf6d648316709f SHA512 e7d32b211340986167a7536964ca6d1ae686f65e42e6ba7df0a0522d5e59dff51553f30f16d587ee68d406198098974e39a4d970a70b9d1b15c2ec42070b7054 -DIST firefox-113.0.2-ff.xpi 477764 BLAKE2B 5a33f7a7df9695db364476122d832b126e16f8ad8cfc89c98d9c04fa50b96242a308ef9e9d001df1ff776812475fe0591d01410e4eaa590f3d12289753324c48 SHA512 7d3b0499fe8b648a6a3f106ff0f94baeebf2c2b6e52d57f417ec59d2ac193442838a29bec9400bd18c2a0db68fc75253d096b58b5f05d42d0af394a2fd46e2f9 -DIST firefox-113.0.2-fi.xpi 567998 BLAKE2B e0795dfc1268a91f42a18502dfbd4556d959c0c386ad27a72804053ab66c0d677d12616757698c1d204f8efe9369c002ccb7475d6d6765fc39f50aab3664ae72 SHA512 e3e2371c759fcdf7f79eecb5c77151c69976efa6fd74b1fd03f74cf4512d280a9dc7f0ca8294121d801b226f596a8a4601d972ec69796fe96767e0a54458ffdf -DIST firefox-113.0.2-fr.xpi 595794 BLAKE2B b4001e0b0b0e8d66c061037f1edea959aaeb431ea1d0847c9971dc114e90316b6bf0c8b5200e4edad0bbaf980e52593dcc7f972a4a1e7b23e2a59f57e151a4eb SHA512 74de36a2c43e093ea1e193c23a5483c7ee0882391f023f679d9d47a55555f4ac8b982f864216b6ee986f7104a0e1af0a815f4dfc8b8e1e29700768f8d728ea95 -DIST firefox-113.0.2-fur.xpi 588901 BLAKE2B e28da34f76b39c9b095ffb965b04d3624455dcf032fa8a810bda5483f146a48c04b9c7624f9e8a98f7ab0d6f0ebf107e439e7b50810c5c6c34cec5a692951bb3 SHA512 b22190015a11d199a1d003a72fa55552b91839b4b1a69c42be63ef9ff3588c3a8834c8a314650e3a1f8a41448b9d34f107a8d746691d9359635a6a13840514d4 -DIST firefox-113.0.2-fy-NL.xpi 578752 BLAKE2B 50a504caee2428e4f8c40a427b827e251d0ee7941823fdc9fb5ad769a61d82012acb4573b2b523d78961fb30b27d7f70597ba94298419ef3c844d054dafc6184 SHA512 d73ff1776d3e71424c9f2a3631908d5a8900ef00387876801bb49a1b06767c37806f7a57a9105430c999d828a57f127c9c48eee5c4d5c7412ce68436d696a415 -DIST firefox-113.0.2-ga-IE.xpi 474578 BLAKE2B afc552e387cdebf1240be0dde4c55cc4ac84ac38afeccc4a635707d8447c9e22c9387ea2eee8834c18ea4bb2fc7cd47004a8114c0d237b1720f587e5ab3ee8c1 SHA512 baf571ad1f8848d89a355be215b190a1be005c9861827aa4b760ef89cc17967d0279c3493e8dfab64afcba6abfd3226621d6f3e60afcba29e0244d03a179f7df -DIST firefox-113.0.2-gd.xpi 560376 BLAKE2B 86caf470d10199622f2cc71bc40e81711e5ea2f8e853426ba7c07215994dbadd64b8c843baf6c04b9f699719a3bcd4734725e203b09bfbd422b8acea68cae2aa SHA512 f0af8ffe314d83feb21e64845659a856ef47cd1c382b913bb5478dbdfb261d7e635a69c270e7d957b4772f383aaae412b322a2817a759187ed391bbd6e4c45c6 -DIST firefox-113.0.2-gl.xpi 547674 BLAKE2B bc351520a34d2594ed59c4916c46e5c83573986a7f25018b90e6471e122da256fddf00c29dcc3dc57eeedae4f5736aa7f7d900de70c33afad6f442bb72dcd015 SHA512 d85a628bd88432e912d0c22caebfdf385b414e03b9f2e4c6148f1095a40439f873ed593dde740a3b39efceaabea6e022ab9193d2c23307d6416e82593cad8b44 -DIST firefox-113.0.2-gn.xpi 595117 BLAKE2B 035435a6d2d0b3a6f2299c838419facf35d110be1c53e4370f5b9af3470d7a5180b4a7c9163a27e54a63ca4784f44ce8547954c3fcaa5ff27d6817745b865404 SHA512 622385d7c33b725ef6a08a9f6524a1ded1a10f3abbf8b61276bbce0e2f754c5f4a819280c5075e5fd9a5c14f51dee3a1939837c6004fdec82b7f14d0d530d5f8 -DIST firefox-113.0.2-gu-IN.xpi 532740 BLAKE2B f228f96f0753a674c399840d571ca2218470423502ad00cffb29838bfb2d17f4a6d403336a57219d2fef55f5d6d5fe48e99ee40e815d10b20bae76912d92fb3d SHA512 e5c3960ce1c879a498de6f00c35e2657ed006f215b3b59a1caaacfe3f97916d9c3be52dbd5c2353610441aab43626bc21d97b069bd2532cdc365f44af6f5594c -DIST firefox-113.0.2-he.xpi 589194 BLAKE2B bf642b9aaff5180fa74af7555a33400986575a916fc52e31b46aa0a0d7456b46ead53e5ee0cd0d7746d9340c8c47231ddb0ab73fca55a3116aab6061ad0f8c0e SHA512 fd483b6d6d26b970c73c6ad60b1fbd32c2f6d2f64734dd3cf0baa67ade72f98a475bab1b6bdfe06ed6636fe73f15c890da88eba09f61c1aab98b6f16add0b34a -DIST firefox-113.0.2-hi-IN.xpi 562004 BLAKE2B 1c86261efadc105cf8108bee5cda96f70ffa5fc91e7ae446827216523bcb3d1d8bb474a9d5e4e904a643a7cd8a7aa40a91c33be63b49795cbed794bfcd5c86b2 SHA512 efe3368a762b1825d709d0f0c3cac69e4e45bd639e343ca7d4a7782b3f8678d58729d69a7dd4a6c062f53b25492357b9726728b6e8175118237f256c8b363529 -DIST firefox-113.0.2-hr.xpi 550557 BLAKE2B 08b91e0c2e865a1408d6ae4354012519bf19abb892346f77622172adedc43cca793226eda9b0820bbe7e69fb62b0e025cb8f31c65e95a2cc5eb396d4e8fe92e9 SHA512 981395527b7dd467e158a6d135fc345577c955de3eb84f7126bcadd54a1d864fbec760d1e5a9e14b33d57c5181ca518d1526224dba9f6b5a98ffcffe08630707 -DIST firefox-113.0.2-hsb.xpi 601199 BLAKE2B 389afd369916c97e5445e574f49aea231a8335ac0b3584033d22f46154d05cf0ab6c232cf7ae40b39f43259040a907a79cfa7c7e6fc04686daee20b9313d537f SHA512 c4bc47fb70629235070908fb466be5f2c9da932c33a8e6bed9ed9559812b6f46b29adb65a61946a4b0354166a7bed7a5daf053c998152a040a9f1659040f05ff -DIST firefox-113.0.2-hu.xpi 605475 BLAKE2B 4aaef26b8fb913ed55eb1de4511877df1c30509b8e0161b2f32d8f60b633b9b024cec87579a9fd423c7af9d876672ed62c14114ed5718247e8f35163ecc3baba SHA512 85355ab43f126ece587442018a26ac37c2db51fed258e8c94d840fcb59391065cbb3444f388570123efa055c8b0aa6ad55628688e5a140f57874a5887cd86dea -DIST firefox-113.0.2-hy-AM.xpi 604450 BLAKE2B 02c4ad5cee823ad263309713614c1016dd57c0ac775153cb25113546537726192af91d4fed51d8b6d7e284e765e9ca48b6bfd4d48f3d7a60518fb8ab9571ce65 SHA512 50c273cc630eb4b66eec529053a7650f84840e34efbfe0d0fb54fca6273762f207c78fb005d63cb6161a40c9ad2a8774612331b6f0c8f83c5ac8f1387169bfff -DIST firefox-113.0.2-ia.xpi 568099 BLAKE2B e3161725fc4b1f306738aabb200e1b2a16e7dd5e1fb8f3a5f25b69564af0eec5a1daca339d6326ed212c23f732c58861aeedc0cf236b367500d231b01972620d SHA512 bd401b5608a5334e7e8012b3e2a451c58a0e801a0aacb7f521ab8d5ca19266195c55a7557e5088e385a733f82971721ddb5d5bfddb3fb986a865c2b4a0d934c4 -DIST firefox-113.0.2-id.xpi 559882 BLAKE2B d1ae34032822fdd38a5c3b3983749387faa939be266c4ba8f228a08a3ed95e9736f5b6e9835edba77e9cc332741e9087c78f10dccea6ec6eb030382b5ee08a47 SHA512 1ad40ccd1849a6c3df21ee489eb9e74c40c3cb9b567e95b9a2726476e0aee7d9f881dd2b5390e92a4fc0c2c6bcf6a2376cd95f2fd76e7bdd7d88ccfed4cfa139 -DIST firefox-113.0.2-is.xpi 574433 BLAKE2B 4d9184cc85b01d599b09238fa12837be62bdae96e181ab23af13343d17347ae7218749883d1ce517157000776f47b7a6d844a823fd57294a78ebc9f226a55318 SHA512 e3e37640a0de73c7c21fcef09c7da8ae2000ffa346b6a3f0c67acad640e614e97c65f32880f68bd163aca3f34491f14681c2b1adfc70a9d908e176e2169b4d95 -DIST firefox-113.0.2-it.xpi 505907 BLAKE2B 4a5a5fd80b2d7595fbc49f753a51243885ab5bfe918666caa4105ac8c371e161a216a673e132b6d2dd76cc81dc29ed077097d67ba2648bb369b5ad0dc8dc5130 SHA512 020102fc6db57da6887caaba107d56e81a195b599f245001fb16f13db03b7adb1db71ddab09ced9a06db6cb06af354a4cc6f2fdb03732b87f579b258ce290dc2 -DIST firefox-113.0.2-ja.xpi 629323 BLAKE2B d130273c287caa92ab7dc83b5f27d001eaaf9a35a1fc4dfaf4cc9590069320f11311f0497f109bc8cf8714f9ae170d581810d18dd1f0549104bebe15e0fc0b80 SHA512 63df89ecb93ce8d41d84b5e59ba5e5c07be17eb0d5cc4eca52bac530536ddcabbf1871d9b9b8c1214080596b570a253bf4fa44e1c0894c04c836f39b7b3d9301 -DIST firefox-113.0.2-ka.xpi 631100 BLAKE2B 43d16b5f8ec37e2ae15110968c7f6403236d9eeef03e967414343093838dba75f4ad9b0dfea4855b33caf6483603a5e49b875d34908942df0c3bccb6931efc60 SHA512 f0631f10683dbf6ed50ef030e06ccc39f348792f3adc76ef32bf23b4dc58e3d6287127c90c089df985cbc622bb35d9039e82599bba40826a6f18bfb9df26aa07 -DIST firefox-113.0.2-kab.xpi 584687 BLAKE2B 8ac0ca9b7799178c0e12a4da45b3e00b23c538c7e9749008553c82e376d7675ddfea46b4adf6f3446dede11c563f16126800e0cdde6e274b666bbef67ae89ee6 SHA512 8c600932afb3a831a993d2a9f015ae73762906ecce122b92ad777fb416891ea99694c0bbb60e5e83174c4516c245052baa8435e71b08e0ff223392e6e65db720 -DIST firefox-113.0.2-kk.xpi 654255 BLAKE2B 711336b51eb72b10eb50c9f06c9d0eda85f83c52d1fa586095cd2380e081c621bcae4941ae29b4be49327691122489042d37ff114bdb339f8dba4fffc5d25cfa SHA512 35329696ea41c6c6719a36f834e4a585716b145c6dfc03a334bb598731bbc77851021ef45055d834fa7db09564aadd3f3ab86986189126b0681f00fa65f7fb45 -DIST firefox-113.0.2-km.xpi 534947 BLAKE2B 82244d8ca1dc2c7a4f09a3a7fb3dfd42fba4f42cf7fc4eae5e74f39859c9ef3f49d1af9967a66418f08a985704ebcb5fa310e1f14eaaf7d5a39ffdd4146444d1 SHA512 9f4f11ba201a9a7da55d15e16402eba69e332ba409291a5594672f065c424b045db54718372ed97c319fc6cefc8f0b6d18a89ee9599f03ce00852db4af53b8ad -DIST firefox-113.0.2-kn.xpi 500360 BLAKE2B 1fb7c49cbab3eef33eaf43558ad7624ef865ae6a7f7bfd389ef917e99707ea8eed8265041c49b19beb6a26f5bd29d1fc0a618ee2a64b45bd3849ecb17e94a60a SHA512 1ce3a0e4831d79c18078e30c4c31607c7557170ef401bc17cf91b2c58055129fa3289ae72b5b087419581af10bdddf888949afaaaf004e5fbfa9a09201cc9093 -DIST firefox-113.0.2-ko.xpi 615949 BLAKE2B 8dd3105afa9d968d42a9c3062ca861b72f7755da0c649e4997a37624071b26391c905ef3929e5e26983b403c677402a7a6c083ddd1a047f57dcd20bb5cb23d61 SHA512 d0eae8fe23f6ea3d59618adebcd926ffbc0569efe9e04bf2c70060496fbf7f4f661dab62372f354f0bdee0937ee57273853688878ec3715c302e7c7dbd2a85d8 -DIST firefox-113.0.2-lij.xpi 474968 BLAKE2B 575a0ea7dc1f37ce0b902a2b8748df2c7b7246ed81859d3b430fa5c7d4aa4c21cb1b48e3ce512d7a2a5a0413a930b9ead353ee7ac5ff46aa9e3004a112639f73 SHA512 835ae81c6aa4f1db7d356026379e23559cc96f7e6da7a7e7e2fa876f20c64bc522fb24d08cc79976131212744e436300154d9e796beb1a35a650509a2a0212f6 -DIST firefox-113.0.2-lt.xpi 570732 BLAKE2B dbfe1b69bc9635ae0bafb8eb7226aa28f97976a7eab6035d6bdde4e29074cc435f57871d6ef916d83d3807f2f46bdd141817d0a29b15a33951971005d64181ef SHA512 b35e58e04bedaf2fed4b86839d71739e9af10daa47a426fcbe3681dae5c62b7ea5bf1a97ef0cd7444b77a4e601d4d77dcf3b901ac54373842d4f2e5d4d68a15c -DIST firefox-113.0.2-lv.xpi 474351 BLAKE2B 9975a91bb69a9f306b2296fb471aba371ef8f0ab7d5dd09b9fba8524d4b8908fe76ba4ce750d226a7f5a4a33f60adc58b6fdd57f7f33ef0387dc0996fe6bcb2c SHA512 bd65b4a1af78a1fe7ece29a882677e098ca634e3aae84f6d2273a4d8907c6ba7757ac187a8747ba1b6ec31fa9138bf0e1a21bf232c8400ba0487d62e38df1679 -DIST firefox-113.0.2-mk.xpi 490180 BLAKE2B 5838f2bda3e52ab7f796a9dd9d79c1f8cf40543e0f4e02edb582a0fafae782b91624c46a046a0d3051a7c399bb14d31866f5c7cc0de0b6b7bc1318a1b66374aa SHA512 c20588a1733ca591a535dde6e236ab02dd496363547e5b36430d9a5441930652262d5e7a08468425f14fdbc1a463e78fb908f8fdd6032bb65bbd48762d01e938 -DIST firefox-113.0.2-mr.xpi 534960 BLAKE2B 89f62bbdec26c9fbc5c60b403a228cb0485f23de08b6053ffad0ef265efd92092b86e5d7039663fb6229df5837956144f7211dd1019862888be3aab481de11b0 SHA512 a4f988fde4015d952565092ae148976665b9459bf4ca4bfb2b6659f25237f3dac4584cf9136af4dfc3bfa7ce15fe233dbf86fee4dcef053e4bb37351c1394fe0 -DIST firefox-113.0.2-ms.xpi 454091 BLAKE2B 61fd21f764d67471f5858e56df7557c0614120c57d65e4ed8a5f202e119b35437a56fdc9f683a9fb16f16d95a04b0ee699dd2a4d7d2e07ef823b96d21e5feebc SHA512 266f275e16ca1f9002c00ecba744c46206d9546929e7f20809701085b4891259dd17d3305afbd47e2bdd55649c17c4dc10cdbcff196af2c785a792ebd3e59290 -DIST firefox-113.0.2-my.xpi 520813 BLAKE2B cc31abfde20d608ac28c0ab28f485dd9651881d68e03ecbc9730f26010f0a8724a41d6e64120199ea0ea181bb209310a382bea2e4711460a897d569ba956c53c SHA512 f04de6045c65da5a35b2753779c675b18ccd2376dd21f2baccdefdb173f15a5e8446ce2e73684df17a8a54482771e62f5665997fb3aa6c82549ba91ced4bd89c -DIST firefox-113.0.2-nb-NO.xpi 563831 BLAKE2B b0eeaa8013b2d2ca000e8da383d2d3e63f556efc8bd3eb733be4611023e9a2c3cabc2cb53e1e067c4011499e17bf9eefa019901d831914e835d518d731d5f564 SHA512 133cecfa9211917fbac6628658cf6898bd014f54f68e8493f3d24c58854c95f12681a0d5cf5c9d379775217471536f101faab93498710578519ec8a6cc9f1063 -DIST firefox-113.0.2-ne-NP.xpi 488584 BLAKE2B 314b25407e489702707ba315bd966b94926330a63f305587efa8591665b6f1b2c21f960f5e4cdf4da419d4598a3d1d25410d8ae17bda130065c49a7601bd12bd SHA512 eea118613633ff0b7475fc101c21655a0b028a5927356bde07851f08641bf690b37e27b5bc2d9f55e94bf913d285c3632f25782cfd1094ca68b197c942430e59 -DIST firefox-113.0.2-nl.xpi 572760 BLAKE2B 6f9fe989c2d0de58bad6480aa2400859b91c8bf35fc59c3ab7a6bcf9d2d14b567bd294df2bcc69247a5f5c141e3ade0bc39e29cd1ad89f542e2b0f452ad50479 SHA512 66b918e85829f7d2be269672624b90de05c582106ee1f89deb93097e53edf26f083c89343d63fd149265a26e82c33de75ceb138ee373dde9772c6c5b7dee468a -DIST firefox-113.0.2-nn-NO.xpi 568523 BLAKE2B f6aaba579913d7bd6eb4467e861715c304d0e493f81195278223742b2cc175fc7d36e6fda08b4d46236b9f8c7daa46d43aa911adeb6bdd7fd8e9a278d844335a SHA512 f70819d3419cf9dc0542e85b22e32717401825ae3dd0f236363240594c26480a3517d751c7297f993474ae5fbdd36b4e2ea3ac2989d51ea3e1c86ff232d25a4f -DIST firefox-113.0.2-oc.xpi 589377 BLAKE2B df5b59150233845cd66007d49a79c9a7d9778266676ecbde8e91000fd46e6ccb0cbf59f4c60e24e4caf02c37450758b472a34abdbdca0f58885d799962a0f0a4 SHA512 7718d7b23a36e653a7d3f441e61bf512b9ca14a113c8ba6133599025068a2d0c9c8c9f7265d214e4dd2b15b48bf97f8b210557973cc506a411da075724c973dc -DIST firefox-113.0.2-pa-IN.xpi 647318 BLAKE2B 0472148e4a5db31c5d0984201f968b912783788bc45a98d8423a58f494f166a0a1541e36cfc9bf4a5b5a7ee4397ea1038a74033021e1c05f62ec9ecd644bd278 SHA512 c4476464e3b03602d3e8aab7ca7d5ca409b536770b11854fa18a9869d817a16e0ed1cc7e5c9001ca5fe396025090bfa6fa7a9bbc552091ff90fb1fb2a3aab886 -DIST firefox-113.0.2-pl.xpi 598086 BLAKE2B 4b14c58a13328cd5fa3470e1c0c0da27ba66778ea9558c779b50561f2d6b6108ff2c427bedb389983563251dc44ced50eb5bc3852a1e4ce41f781bf822e982f6 SHA512 16f765eeca8b7877c7b7d8acb532496a323d16340700e6fd6546eb0204caf7759d7196e0bcef4626d8b326215d897f1726d9d6a22ee35f094ccd46ff2c600290 -DIST firefox-113.0.2-pt-BR.xpi 578658 BLAKE2B 2ffc3148a52a393aa903ef639bb49537b1aedfccce6988b356a2a3cd47a2b68e103aa360b01f7bceb57c46fa1d4c095e68632142e854b3d02c5a6d0e904b66c2 SHA512 612079ed62d663dabe2de2ff56ab0c123201fce23faec16caac602b854f0f1ef769e59dbe80adae6d16735fd5ed777371cb7db5779c1e202fb9ee9e700759288 -DIST firefox-113.0.2-pt-PT.xpi 583010 BLAKE2B 3553d4e871485e7b2aff68e111589bb950ea56e40b84f54115b0c6ae0ae7ffc97ae8ac38a51ac5f0aaede4a004fc5a45b6e03c6b3ab25a2dbaba357fb3b4517a SHA512 ecef540e441402a68d913a8db333faa17d3bd51057a1d882dbebbc04478d04e1deeec1e0b6db4c99b3bd910a0e9206b4ca7a8801bcd88b49db2f6185e7ab62d0 -DIST firefox-113.0.2-rm.xpi 574482 BLAKE2B c78736af98d688a854e737b5021a1312f3db681d2c776de74983c99f36dee0957dbe7c986b3d5bd7d856dae513431e163afc0285bff8980951d4d7149cff8c2e SHA512 e0102132b3bd5d4b4af5d270750f5b80a148ba52e3f22b725d3036252bd8a34444c0a295edc77b5c61369a229766a9a9182e98f4ecaf1aba0883face83aafe28 -DIST firefox-113.0.2-ro.xpi 539288 BLAKE2B 753ee894d3c81b530f59ef674971ba42548d44c9eea002325ad403e42dc92e78987c59ce8aaf1dbb8b1bed5e744609c4acbc77e502334ddbb60ce5e64f427d50 SHA512 13eeea82acae451cfde169dc4bc91e30a2f04303d65c51526e9e0608ad287f7839bc7920f3521419bd0f264088fbb4996a8aa1502943186a53a732c1b766e83f -DIST firefox-113.0.2-ru.xpi 670905 BLAKE2B d10910fb4bfb7626892a55988de98a19585bb64b61aa466d7b51832b617bc73cb43eda2975c0edc7a422cfa3c4647955936b274d07e1a79736f558400ee12082 SHA512 6fe6a3384e0787209a48735d2e566b116cf6df1556035101ef0f695d0357b7d9ebe27bed4469775cf1665a14e403a4d01c29329022b00ae2258ef20a6cc33856 -DIST firefox-113.0.2-sc.xpi 549540 BLAKE2B d5102b7fe3c87d2316c746f52ae11112ec19bf8011e40c0973e89001fba3ffa41b45923ffb87aef622f27eeb2ae414df534435965a74a3aba4dddefd0f69ea40 SHA512 4fa6a1348bf35f15a53026030bff45eaff316512c045b2d0bb54dac9bc3cff0b22c93192f069fa67dae7fd8430a5f53c058a6459a47a6d1aeff3a74c2332b909 -DIST firefox-113.0.2-sco.xpi 509088 BLAKE2B 4b0fcda489d1028483679e9910e49fee85f83d993589ce3c19d6cae95eb3c7d04d18b46a5717f3a726b6ce240caa76677672f28c732349dbb7c0cccd3813f391 SHA512 b7969ceb1cbeb30c974ff3506a74c8d394ebb872e57fe89fbca36a686bf9f5557cdd10e685745564a87513ea2c163424f5bfa8353fdae39e5ed122ae2c7d37b8 -DIST firefox-113.0.2-si.xpi 578767 BLAKE2B a37b2552c903e20610cc39dc4483b32e1f3573647347b4dfb294c028bf40e4f9664df40577a1f6935eb7102c3f5ccf09a5cd18b9f98799508da3cce026cd3687 SHA512 006ea4a716fe56d8a7e373a035c64e973627266c7bbfec64e5c6d625b6953ac2478810bcbeeb7ff8bb2739c2bc29e4f4cb359edfd68064736226d1f271c51086 -DIST firefox-113.0.2-sk.xpi 606287 BLAKE2B 76396559d058ba36268ea61a86a0aa59439f45fa9d394eb033682db98c2023f3949c739d668a1339b912aa1d73fce1f48f8ec61834e1a5e5d36717c6907331c6 SHA512 81a9d8bae5cd1b885d2fdc2b4859b7aaf572c369658e654e8bc68cb72841ca3cc0382d1a9e542213289ed4b7f93ee4fe2393a987a840d850a7c29316bf549ead -DIST firefox-113.0.2-sl.xpi 575406 BLAKE2B ba8b39cc3dbca6e4014e382ae5416d44e3187987e2c0ab42e93d7247742ebec1b03a4309181a112a4f5acbfd752ad0a102ff0e6d4801c4839a1bb982a7514dc4 SHA512 46e1c9d6d9a1099b2958adccbdcb850612ce508d9cdaa80d69fcff4d6c9a6ed9ef8de56aafe65be8256c7e695e4ece98250667ad8eac4030f61af6194c7c2ccf -DIST firefox-113.0.2-son.xpi 425947 BLAKE2B 9ab56a96e18a70753fea4cec7936c044db5ece8dca848655a41353f29a5fb02584519cfc3ac0a9dc1ea4db4620bcfa6b92901065942df497a4107612a5e75d87 SHA512 2fb528f99663a594446d77bd35f1544d5df90ff1b9505802c06a3c04f182ce8a9893c5b2aa42445a2ff6dd4e72c933e3a8b6bb4985d626fbc4606ee7188ab0d2 -DIST firefox-113.0.2-sq.xpi 589370 BLAKE2B 60140cd28f927c2c83880de8278c55a78d28f8fd6868830f5db2b208786eeff3dbb2bc302758fd192950a4989f84bfe11fb440378f336b05b3b95e17c8c446fd SHA512 30da2f8f49da9911473c567f814584991e1dbe292e46ba7b06954e4e3b4230c4795bd362bf28e4ba544eb2e80288c75a2dcc364cf1745b9d70685c5e4ee36e58 -DIST firefox-113.0.2-sr.xpi 633735 BLAKE2B 32f60eabe83f854e0634a32ce09086f8447ca005845a8c645fa4ea4c44b56b547f1fb9595244e46e3b7aa0b0ebb322dba29b2ca47fe046bab4bf276285ed5aaf SHA512 17d4c2c38c918c99ee5f6219f284ee3a58ba62d1e564ba312b1c285980a031441213cb53a375b09aa55be2d35987819be0a7de62d04936aeb2ce9bd37d26b8bf -DIST firefox-113.0.2-sv-SE.xpi 575937 BLAKE2B d5a98ced3fc2fe309e9027e78d80a63c477bc45ff91b1d0d044b824fd835c8a3c63eb5dfd1e72272fe411bd366ecfba91d1ca3c2bdddb7cd99ffe980da0f416f SHA512 5b3f94c1a8179b898398de5482941e506766bcc2431cdc47c5c7fc2998f5c5a798a5c02a580c26b365f255557a7324c4db7d2194d4a3c6e12da4ba119f1c353d -DIST firefox-113.0.2-szl.xpi 521942 BLAKE2B 1845960aee4c356deb38244f38d8da21659c02f53413e492042e9c00a4389c69b90e6b7269a6aede371279163b72bb9ad2da5996391879c9d71ec4c7a3f277a6 SHA512 79349e9000ac47d8365badb33a7d30d7c559707d5cac6e78036017e635d2180729dcd1148f7525bb7d63b2c5d928f57933a25faeba2fa6d217d8af6828d488ed -DIST firefox-113.0.2-ta.xpi 512532 BLAKE2B e601796c21448eb92d53b5c242ce17032de067e7613820b28b6138669de3df962b18f918238f0d6e8a40f9708147badb895b15d0f41fbb8e9d135579b788ea18 SHA512 15b46279df5469e2e47b9c4cb5a7835effeb560d42339758389c1ee17e35e930d0f8e24ebe27fce84fa16cab7682f2d2e03eb808169644b156d21f54a65c10ce -DIST firefox-113.0.2-te.xpi 560993 BLAKE2B 8d59b082e796494351fdb5e7ade07d4dbfc76f607a2b49112ca4a5241598345ead9ef317eef80055d90c8fc8457ffca293618fca18938f5116ae3f989dde65a1 SHA512 58186d8ccbaae01e8b426715548c4caa50f4835456d1c100d79e10b01f235869fd6fb25849d439d34aa406c229365831d1ecfb8db6d5b7140a072abbf6135663 -DIST firefox-113.0.2-th.xpi 644417 BLAKE2B a39368b2cd8ee18fa719f1228a500129e03187c38606e731f0e2f6d71bab4a884419af7ac6621de10796859cfe0fe18a8dc8c6a49429f32903a911091d090b0a SHA512 d0e57c62804a54372251aa649141211c03a9ce3357b26c9ac2d9650c66f0ce08d523596a2b8cefdab909e3e47fdf71ff8e9e6c9be920dff2a88e75ca7bc51cdd -DIST firefox-113.0.2-tl.xpi 531911 BLAKE2B 5f663f5c438fd0b3f3f6122a71678f410ee623227ca3265b3e37d3e1d416f31e02004d6389a7d8796163d2a0c33238fd3366e9945af6b10d69ccb03cfb65edfc SHA512 dde830f23da90161d6f05f9bac2f7f7be1fd3902769f3846922a02cd979c1edab71e43576bfca1330f35dc40c748a10b2dc09599f805f83bf08b3a4c1dcdb2ee -DIST firefox-113.0.2-tr.xpi 589105 BLAKE2B 37a23379dd7f92e1ec74f12d1b7088d6ef1f91be364b91765f2a6be36170779874c26765c7b10a9ebf408f48a84acd9229917fd05db4544f45b508abb1fc3b56 SHA512 e93dc6c39cf2876a42f71dadba48b0e568a97e178f17f9db7f399f2c3ea723bfdc18b1963603fc30c58856009f0f007744ee49d04c484e88fd34646e31ab1045 -DIST firefox-113.0.2-trs.xpi 491608 BLAKE2B f628f97efa589ff3d0daee5d1b66229559628cd023900db60bdaad622ef72f1b7668945a2fbb245f97d89cc72a986263def352334d76c5f9dc775ccef0deaff9 SHA512 bbc2e3cac1a25442f0464b07c6986a7591e84a9b3a8fec3c33c9890116d1bd4b4fa0406d35f7f8e3f59bef9358e1714d3a095610ba1177f9bea25e3510ba280b -DIST firefox-113.0.2-uk.xpi 663982 BLAKE2B 6bbd019d839ff780651b5f20c98cdda3f201c3febc58f958ad22e9e1ce92ed7f0be915c578f4a98df9c8a7c7db7a9f2d9c94a294d9f0b6ce173ca604d1210d11 SHA512 d00cf48b4b3f2c1c184022dfdf883f6e754627557be97e9c440e59c56ad555dae8a880a9f9d038ccf8cc191a08b1dd7c3737430cc00f532171f2aa659d5cf9b8 -DIST firefox-113.0.2-ur.xpi 562157 BLAKE2B 6295826bec7900656a626ef072f907a7d44821cb44ea915f778c534ee4f659adad743dde1055c93387fa31c46a3b3aa7eafa899626eb3e92ee630bb4dbe61a4e SHA512 120f589d64c8abafa017525ee733f4101471cd7f8b67a0737d9ba48cd65bda46a35ed8ceef8b5b431819c5de7dc99a8adb948e0df4e76b7d5b15f971d4996cf8 -DIST firefox-113.0.2-uz.xpi 482163 BLAKE2B d5ebebc38c08505d4f0e1ddde913a560fe98cece45f665455baeb0259c0566171bee1e920fc9a4985ece9b707eb9ebaee8d9281872ba316ca53ccd7f17b6fece SHA512 22f03522d685869fb9d4b674210fef29089fa997ae782ede0fa1c5476a160b320c83c498b0442e1258bff7819dc1da33efef37b204d1c8b1d8bf0f467bba539f -DIST firefox-113.0.2-vi.xpi 612244 BLAKE2B be4a0001fa1494fa94c9759431e53c52b6912769b1ac8370e24954d5664ae11359cfea149bbf729308c1678042db35477da47246ca7e213c8f1ea8314085bcdd SHA512 3ad57fb47e6c79100572cfce742393ed75f6d155d58148d37f7f685d8a3fe3ba1b346044c7cc72e5ea28e5a86fed9368865f6799ea29ad2e5b8711ce99eef12b -DIST firefox-113.0.2-xh.xpi 422785 BLAKE2B 066d50c827f0cca04b8da1543c98021306884f97612b5f63cfd049c8a82a308443471be0caae53ad9d294347474584c50014bf4aa6eedb90661090a72e66857f SHA512 c5ce10c43dfb147e04e09ccfa106ef8e398d49a69b2f5fc24e72b891e892cec3b921a317df9f55f708aeb99571d54f84b46408a986f3ca34525a3a2af7150f94 -DIST firefox-113.0.2-zh-CN.xpi 611651 BLAKE2B 6d427ec1b97e653628f83cca402e859c8dd7febdd047e67a19858c0cc85e3a866cf9eb42a6c9aaf9ca9ba54627d8f2e406a9144cbe2180dc83d2e4152926932d SHA512 0fbb954cdb79038ab66e6715181c4ee33579a41ae7911b4080005dfd22a5bef7cb53746599009cc4781922e349402b6bd36c4361c1f18671c1f715e3444d6e8f -DIST firefox-113.0.2-zh-TW.xpi 613181 BLAKE2B c197d28285fc8b1f14ad38509219823821e753a661c7a8f0f0f51b0a23e8f11acdd3f3cd131194ce852a98926ca267b1559e7987940f463fbd6c822b769ea712 SHA512 c50cb9d6f4844bdcd8d7ba81f263658ccdcf3cc9afbcbd241085cf6f4961289e2abf92e012ddded4083fce77e31eb13d73bd607e594030e23581c5dadf43bc95 -DIST firefox-113.0.2.source.tar.xz 500503164 BLAKE2B 29be5865db0fd5de0d74d8f906301277eb3eeb0ef53db0a27398a0410fd2b8f973074cf58e00c718b5c7ef2b71295513adc1a905444e8b74f5b9be3a701d9b6d SHA512 7b1ff7d547fda02901f54a2593e03598a830698192003d833e27b85db0e00571ff66e03ebd4089e76fa65b09df000cbb2542450beeabb0b310875910603e6743 -DIST firefox-114-patches-01.tar.xz 14276 BLAKE2B 43acab108287e7fa816ead70d26ee79944ee78749754ef2ed01f2265d4f7a5989a753df6a876780a1355f349c8724603e51bd541b5b25a05d33fa1c29015df59 SHA512 b6f442f800a16edfb343b4479ab46da7fc43834e30dca5f7e3eccef2842d650986f64f99cd043ebde1d93751377ebc02088b1a64a61faf08e37f01ede5badb2e -DIST firefox-114.0-ach.xpi 469754 BLAKE2B 7b1afa24c667a43909a546c7b0a6ac0983ac11b3e6c370c72466231fd9c3471aa1d667125dbe3ed0e67da974703af78d12a066ce4e247b06a5f996bf12077dd4 SHA512 0f8e3ddc70407f8a6f2324480321a80bc7fe6f74417bbc51dd3856ce8223ee316a934f8dbc9928e4e46e5d110ef4789e9d658e1f8abad8af19ec024967faa1ab -DIST firefox-114.0-af.xpi 431874 BLAKE2B 7249f707a2597af882d0b82380618e618f8ef3d1fe338c67fe50c0f325aa5a91b494faf58564b036f4c26d1774ea930fd3cabf98c3c2cf3d4e1812ae2290e01d SHA512 d4ba863d4f410bc260a5908997de28d03251af92e93041cbdd2dd7e6b59c0daf5083df77dea810392c402889ae4ab22233b30eec79082e676e750e4b1c074c11 -DIST firefox-114.0-an.xpi 514897 BLAKE2B 7b10a06d95839fbc667650828434108394a1000d717e9e33d295956ef0a17218eedcd27f1db83afdfc0fee365b533d74f1e0e19fe10a69d79fd1841858f1a684 SHA512 0ae7d016d7772c0baf5f0be2dad6c0bb8a2208760ec5948d4259ea6db8b2809bd03826bd935f34ed157657ffc067ac7900c992b229694cf2647a45a2a9704a66 -DIST firefox-114.0-ar.xpi 583782 BLAKE2B 1cc71f055bb7c769d03de615113e2b4aca6b7f89f2eb57ceeba73e0c7265a18a3ffec3d64a6b0d0c00f02b5f5b198cfd5617deaeace4f57a8c002da189cb8be9 SHA512 84f40bfe62d8d6a91a7ff20974aa483b4062b0b9a2dcaf0dcbeb028c9d6d2c50e49505a742499895f8c532ada89282f2148741bfd5eb4edba26ba8f312750404 -DIST firefox-114.0-ast.xpi 499206 BLAKE2B e47ca9d19c391d2bd407ee99dee4707f3039ff3a75aa9b16cc2653b391a519af3f09d50b7e46c599ebe8c39b26ac3d37f50bd6369e0ca715b2dabadabc363624 SHA512 1d46f6aba4ea7a4591edcd39f836931a83d562972d3723087442bf5ddc0ae0eff355ff20ecbff3d5503970ba3509aa91823cfe5ef989ce0812d34831a56b9b1f -DIST firefox-114.0-az.xpi 502910 BLAKE2B 8d0eb7ed9a84186b2d99979eabb0590dc34d5c3f1a592af65ddd6f131d8b3f4e6fc7eb584c809ae3ff581d25d06596b3c1da696d85b0e5f73a189565f3dd7ba6 SHA512 771cdf17379e424151a066436eea8414c4ffcdfee224e2dc5de4a3dcc7dc3024b2c4a12095001c4f169ac4a6c65eca4d0d24f72187d114af440943fad03a1f7a -DIST firefox-114.0-be.xpi 682523 BLAKE2B d83fa12060be7dc38434ab87e3934f69cf7a6109543dc790c0f7afd4a59a277d29151ab186a5bec58b027cf80ca2f50aa5972bc10760af24bccafa0b01c56997 SHA512 974d6c6dcf776a2fd675d639796b94c1126f0fe086313622572876114ed75986b0fda6e97ad817c2f21782ca005adf061233e5b0611b22a64fec4a0eb91d5eb9 -DIST firefox-114.0-bg.xpi 600488 BLAKE2B 971c9f40e130eecd6a8e675f25b1236a5c53e5d119e6431d42ad78f37a23e2f4f5d25f9fc653e8ae2aee1360099e28ecb8f8423d858e0c21e88a688feb047ea5 SHA512 efb80734bf503c84993053c8602739359c2b846a4003940facf58bf3886937f1fb57e4ee8c819776899e326098841c97e1d53e2390407b3c63959301c6c21c20 -DIST firefox-114.0-bn.xpi 594236 BLAKE2B 6433f42f1cb893840a0ca0e88017d55ec6daca79774a0667db426d71fee495b87b11c10e79a9cb7af79662dc31b569a546520947c874e03f39f4da9d1bcbc63d SHA512 a008bd7720536a5aac371bcfc75fd4b5ceaa5b53800b586052794135ba7e50403544966a01cc6685e92c79cf8b99c578e1a79c2637c38a4802bd86d88e0342cc -DIST firefox-114.0-br.xpi 565513 BLAKE2B 2cee0969e05eac0c86c10d3b1cd80e018739a817193130737d0709e83cf72a8a8792dcf37b61c60517facc102f30a9ef2c1407a12852b9177a2e18f395ccfa9d SHA512 339ef6110f4f9cdc10b05573098ccc82d55c158b9336213933553dd088078cab59dc7d44f6c2e66591baf1eefe1ac3a9cb2f8d0f53a10dfa834e06daa5018ad6 -DIST firefox-114.0-bs.xpi 474903 BLAKE2B fb4d50c8f87d3df8e5158d2c7c80eb7a4e2a11d239f989535f9cf72ba2c665648284db1708f96ff4e865a6722fecb8ce74322a439418a8d7e4280cd08d7b6fda SHA512 bff8acb2486b3415c55d6b9fa8a6de9242e616fcbc7a8ca1cf149f7db40950b6f09a483f62d2c23c39bedd5f2de3c7ca0667465b757f9e6e3be5423ed7a5b73d -DIST firefox-114.0-ca-valencia.xpi 554202 BLAKE2B e0beea7570a9b9fb4af8f84d01e4357d9f9ad82cb91604c887b648adc0206f841182ac9d4a2b0dbfa141a8ceb3ebbb685e4d3974367dd23db4f85fe886c2899e SHA512 822a4da5c9af7e0d4b72fd7de6cfec944913926d445b3cb788bb8bfb72a4bad854a55f06556a6d8ce2e8fe49b17b83771bd3096fa20416333f6d7610fa3a72e0 -DIST firefox-114.0-ca.xpi 574638 BLAKE2B d480272b99d498d40b469451ead69b7327b499f6f6a616969aaea63e0b9fcbbef36e0cebbeecb1315b8e9e9cadba32482640e86fc4052ed2195e4fb9872e00f1 SHA512 5e942bc7b01df1f5505e1d1fe803f0c516b8972b9692bd6b6556514055aeea90e0161b6cf4b85a5a69eccae9b42791bd89e6b5cb264a070eac0d9e9fe8a3c200 -DIST firefox-114.0-cak.xpi 599301 BLAKE2B 9cfdfdd440473483fb3578ff5608ccc599a9db9ee772cf61d28262652257eadcce32a4aef40bd699e63a44b44120b5eb04abd5a8dc92b12d6faed6a15ff5f9dc SHA512 c87974ec8c3ecd498da494e97f8c6ee1e6494d47c6b8862c7477281355dd56e8e12defc24b7a9a90e2226346d109d2a00f9b014812e0e659c42553daa0bd3a86 -DIST firefox-114.0-cs.xpi 618666 BLAKE2B 66b551e35408e7ea2eb9d60902005b4d0ba01243d44c8e3a21973a6e8294ba4dafb7a2b23eb17aa52081c055c2c96ae1fc72dbe8c58c95b114edac04d507a741 SHA512 4791736daf4be4e24729223d382a061bda915ee64c72f37ec5de803d471a4c43542474561083d1d7771ef5d61d62a6c27c9d3122aaf11436e2baf5154909ee8c -DIST firefox-114.0-cy.xpi 593764 BLAKE2B 535a1e94820025dc0a02110596c2cb8553ab74006d4e02c2e4287349abcbf9c51b6c543c7c62a7a96a6938b4d60c70e48c4923bc7de02131c40bc964bff05151 SHA512 f97937dad0df51933887b4236d1b97fdacbdf83b9bc7ed574de7012b7e62d05f348ac8e76ec67353372db06ff18c99578d3b6d9d38782a0a198496d7ddd17c28 -DIST firefox-114.0-da.xpi 581425 BLAKE2B 7958cef6df09de8136ca9fc8d6bae1287d6e6c1663449ce234c74b88717a9964f6e68065e398b1474a4339b6b60749aecffaad04c975731773de2d69edc72b27 SHA512 61e72776f712077323d91dbbfb20e85a5176e196ddde19d822bdf0857d76fd19a158f968b719e5886441bd67e1692d2f3918c63508a701a7916431a5b84e2ee6 -DIST firefox-114.0-de.xpi 605020 BLAKE2B 699229f37a8a21f3167f0e1c5c6a7ccacf254d79d430fefd0fd8c50c910e2679c2aa693aeef052f5cf24ef5822133580aa8782f53bb0cc2394051d15f77cbc59 SHA512 0d3a0a14c700c733319cfa11cd8f4e9e2ff3c4757d3048dd119dc2c79cb4d6026c6a9a6974a7727fd357bf71d4cf740b10879008e1bb97c5319ab6223b9c564b -DIST firefox-114.0-dsb.xpi 619599 BLAKE2B 17181053e6727244e195edffd6295032c77d71f9fb9431dafa6302d85391b1b0a12cd2f76940fc4818a1f61049060d1ca750a21505a3049420365c85aca1d786 SHA512 41ebfe47f5e437a682ff2104935306e6bd4e7a6f6bb657414fc7fa63af931dea7ad553e8ad212047de79993c34cead43e97f6cf905d6cbfe7db90228c0a64b09 -DIST firefox-114.0-el.xpi 697278 BLAKE2B 45d1cffb43dc1f4f777ff72b3defef6d53acdcabd6dfadf22073efcfc2c94aa89f2fd5418410f93defc04554f529c8d9e9ef7dd8ef2acf662d89ceddbfabf43f SHA512 19af2e128d7a5f6bfa5a96a842d6718f38ce4457f700a11f428e55dc9830c12188d36d0f59085f4ad62897cac41f0680cd0b362a45b22a25ff8afe29a3a5d685 -DIST firefox-114.0-en-CA.xpi 550409 BLAKE2B 141632949b59b005b5c9debaec057b89108415c1391e400146ce0c7120c42f6ab6a2779b49c4434c09097e1b6635bf8855c44cfb1292df819457fcef5c400714 SHA512 bdca1364f312846d04fa0331c237fbcf48b92ff5eb3038282b82adfe63f0ac745dc0247d3c2032ebc28c7a9edaf4a371280d2e2b37a059a0c3aa49cc9b736c67 -DIST firefox-114.0-en-GB.xpi 557766 BLAKE2B 19caa81a7482ec64438aa4188c905d62479e2fa5350508339f82635ae5df75f4975ad0a8f97726b4de7e5b5cbd187f7eafabf944c95073f9433cde4ba2839d0a SHA512 498df1b1a5444c2c6838d1dd38759ac8fee5cfb96a2e9a94576c3311378b70977493b8f73ff2be225b86dbde1b6ea2e7644196dd0c46127e0b192b06312c4531 -DIST firefox-114.0-eo.xpi 582683 BLAKE2B 1ae8b2fd7ad10695a4160a490e427bdf95b09f69b42615de5b70ceb0bbf5991e489f2f3ac584ae9121673cca9de52c2861495cd319328b0b2282b830f84210fa SHA512 12785c2bf91485c45f313d07039edaf094e77d8d620f289c8f02b7e3b3dfaecada0b242404869b415d435ab8864012e73877bfa5e33ef5408e238fae3ec06282 -DIST firefox-114.0-es-AR.xpi 598768 BLAKE2B 9e015532fca4212ab3ca8a8651eadcdfb69b19af27997cee5da659f5fd2cef3a51bf81addfffc46ab0e8550d9bc3f632517f0564f8744d93e54271569e12a8b1 SHA512 78571fbb140b1ae97e30d64ab927c209865ae04c910422ff7f90c4c22d63f238a7a6a852fc72a8b7209e63c147c8fcfec59930ccb162ff21c8929bbc3b427d70 -DIST firefox-114.0-es-CL.xpi 597227 BLAKE2B 598c0d3a4f5c99ec4239a258530cd3cfcf6d13ff48793de60fc35b5f77d11d9bfb31cc894db1bf77d36419bd4de1366ebf5a728a43102dae2c5814b931a386f7 SHA512 fd7d2406461127b10c631c4250c773c528578e1ead9ae5c4c1d5fb7978a0bdd00ddb03047af017507cae82b2017e4d5ab20c6092749cfd17c6dc087ee7b801e0 -DIST firefox-114.0-es-ES.xpi 590807 BLAKE2B bdc7a1e3f1841e058691897e59a2a9d3638ad53f152c627c8b3b5825dfe267bdedc28c7c43952347098d70d57373b74cd8cfbc470896d394086794a518ee840f SHA512 0895232d292179b4e7b3d79d727d4fdf410646397973417561eb0463f39a7e5bba33e33417962000457a73806dd5437d5b4268282c67fa6ea7e26fb709c0224c -DIST firefox-114.0-es-MX.xpi 599671 BLAKE2B 34b6a45178b033fb9ef99916decee2f8dccd16b5be15f90aefb97df8a93a9a906c5ad8c200390a0f1b3683a86c30e88e32946b28f69d1ebfb64b12401b544860 SHA512 dbb2bac442c3e0f8653db5e88ab1367f9b4a102354225cce2812d8b4378d42d0c20162f902aa21ee03e7d91e083860772618c07d17071e7f3cdc50193e356093 -DIST firefox-114.0-et.xpi 548663 BLAKE2B 3fc09c4fea57c1f87f2ed7299fd7b76032673dece96cf0ca8b19c603eba32ab8d581dc58c0127c71805fe63e40e35589c2c7c407b4258c34305238634724cbb3 SHA512 c469274f4814174014dc0608ee5295d23410e9e6ba6cbe03334aa53ef896e46bfdc9f2012021ef5b26e2fb38835001e442ae32a7b04492ad8d449b98daa09328 -DIST firefox-114.0-eu.xpi 580405 BLAKE2B 14044ac976b5a3bf2da9562ba4d0f397c103567b49eb5d65aa411e7728c0313b0ddbe90c232535ff6bdcf12605cba1d19f64fa89f5336a0a9121c1d94acb1b90 SHA512 81b8b55f7624656d7d8d6e29d9d7f628db601d8deb09f9c00c69f8682b4bcd0617e4f73ecbe627fd309f3b17a7f91c49d49246a3ec3473a0daf6ed9c42e39001 -DIST firefox-114.0-fa.xpi 600095 BLAKE2B 0a70189ac642d35b7e4176f967dc5651bd885f46701148df680e27274e06f587f88209c8d964edde31b9c730a911f15e9d2745cb9797fd9b31c04a78b19e7a09 SHA512 edd5648c935e872a6fc231895177dd23564ddea224b7cda97fa8b0ad9c8feb5216373664cd735c03f69645684eec69b053063aa301e05b8cf733c0943766ea8e -DIST firefox-114.0-ff.xpi 486662 BLAKE2B 1f562c11b2058142aded9543f5fbc54a88d336a7032b24b9c0fd7c8cb82991803ee505c77e2eed53512462edf78a5d1bb4f4e61bc9c548326bc8776fa81acc0c SHA512 fe6dc460e7056bbdd327d6c2581f28ca794f9e0beafc7ff271056cd68eb0663441507737eb0bba52cf2818d68ffe94056fe22d38d5305e6b18f5be3ce1313346 -DIST firefox-114.0-fi.xpi 581644 BLAKE2B 2c14b38fc4f255fc7d1e27db6bd7e883a7ad5537d56bb6bc0d365c17a0f3274d5d07b1cbf578f0119fc1b9932bb8d96a3b0f29a5c82a2fe37a040ea25c2cc560 SHA512 4e956f3525979907cb01e3b153437b00460ae9008e994208179cf3dd44da9d1c7ae045856109b545481b8dce55b03b4085840c0d6c421152569eb96a1b45c00b -DIST firefox-114.0-fr.xpi 610080 BLAKE2B 86be68c5370bcb017863107f1f21d56c6fa912c5986bddfaaf6bd6cbbafe592c414076ad47d9202bf8a3e64240d40f986f0e78a3d9a1b6b036bfb6711fa45828 SHA512 d6ff0a193f9f64ed4135b409494c937c892c4b84dfca9dee5dcd8adee1cc24016768451b149dba52d7f74ce692e8bba51cf93a1a5837ba12d5e50d72f14bac6c -DIST firefox-114.0-fur.xpi 603410 BLAKE2B a184d7ea5562bc53215850073d7716ac744d4dfdfe559dbd2fe4b98ed2637574c0f563a5312c2de276b851f7a235e3f869e4ca8252a8bac59bf9adb5835470be SHA512 5975aa7669007677b2f62178ae4235d02f7627287f1cf7a293f5a745f1cfc457bca73284fa6be4cd4deddca7ef2789990e7c70a9d96a9f040befd465b4d5b7cb -DIST firefox-114.0-fy-NL.xpi 593883 BLAKE2B 9cd1889525c3752acfcd704baeb125f7f6897d7286a9b82592d1e8bcd15111e50efc3d95c130dc9f68f52e56f8087c66c1e1a82567b367aed55731d749cab310 SHA512 ae4d7142e9708438b9f787a7f08456250de5d97bb03a2cdc2b0b0eb11f9fbf959aad7f9ca257b4f124360c374f05c5ba7b51fd9cee9f8cd814d9895c98db623a -DIST firefox-114.0-ga-IE.xpi 484110 BLAKE2B 563937cdc142aaaa513c5fc9f20cd195bf01639367bef535e0764d9dc3c5267301baba4c2626bbf90c6945ee1569543d4d5aa20dd6ed8434d0923c7632974dc0 SHA512 6084caa9c7541f6af25771d63186bc9507a1863bf3b08074b847404a07f6e767d11676606bb3585603b8f1f917f5c34c31c02aa92490b3f73ef45646b053b8ea -DIST firefox-114.0-gd.xpi 602887 BLAKE2B 81fa83307fbe4e28b02e5f841ee60230d73b48e6c8b54e9a787a080eb7e3a99f4baabce02126fe02ae8b6de8b762bd19c1fd2360d4fd35f0172273476e4789d0 SHA512 5892f92ef3029128a1ffd3d4bfe716a657983595e40d064e070cb35e298a5644bef64b22bea809542b6d6ee7859dfbe18b86abd0c376eaf5f8b6b83698e0f952 -DIST firefox-114.0-gl.xpi 594251 BLAKE2B 32c33c2ded77f7ac3c4759901e53eaa1e0434234d30e10b023e85deb96b84203f6d36ffa3de15fa048c6af3ac39de999a850704a7cfe92616b7c03af95d55811 SHA512 5d40d56ec689cbd483562c15abea193887ab2f44e1bad8eca7c67058275ad443ce4a37cf8e57ef4429271b6792ffe01ae45d7f42645991bebf226f76aab75c24 -DIST firefox-114.0-gn.xpi 608385 BLAKE2B db40401d2712a07700fc77ba607a447f789548b691d99857ae962359ac1b50241d2a178ece34335501218e9beced99a0a34d59f2224008995ad1bdd5456d4111 SHA512 5ca2044c4b7d9b9b94a86fa5da12839eee854c7419145a41809ae292f1ab55d5a8b947be4f7036ff8184231e5f083dca8de3851fee8547311b065fad89d4d6b0 -DIST firefox-114.0-gu-IN.xpi 542890 BLAKE2B fdd21c70beb8e33130ffa05d2ba7cc33af6f54298b31a41e72fce25a01f35e6ddcf8adc987bf3b787d5f8fd47c117d1b119f49d9f5ecb7963bb8d670481c54df SHA512 4ed0ed2d7b2fc465096475e823a7083615a4e738282f7ed664c883f252b7003a78238800b738a8b8a8aeb61f64db4a83170c6b5184df4984b01924f3b80db6fb -DIST firefox-114.0-he.xpi 602841 BLAKE2B 1d4b95ade0846ba2aedee7c53271a7d8c41997039a5a98ca482dbaa45c2c6f1b9a6424915fcb012eac71995aa877554ebc506ff82e042a21680fc1bcd8bfaa90 SHA512 17a14af5cdbb6cc111985cb848adf8cf876ea14dec9e10672bb8d1f838ed9df10ed45d5f2aec4fbb17abb654983b3ce198efb4d3f53a135fac806887af1633ec -DIST firefox-114.0-hi-IN.xpi 572445 BLAKE2B b8f19fbc662db6b8d005876ef992c5ee2525ff5d662bb2dbf716b74102af3a35a7c3ff1b8c58b007b4e87dcd4bc45b911ba7d4ec3246ccb1f402c203a6ddee3d SHA512 0d23ca2d0454b195b70893dc10d9574058a153718a5b29a86bc5a5032dbcd8c4b5382f5d99925fd25b3903dd26a937fbc6be0a10cf127c63bb77da2b03f900b9 -DIST firefox-114.0-hr.xpi 564430 BLAKE2B bacf27fe786c8c1951b0d596a5b8c9156530dd2323a8be7072b3e317b9779266ba79a3b8955d9f4b86da5aefa4f1519d0be0baf29d1702bd1b8a079a9b11da8b SHA512 551fdacc07bb084d58fe98d0ee89e571f621df21c4ca5c010d83371575bad8ce260bcb38bfb945b73bf2220c399859276a7f2c4b8b5990240764819313160884 -DIST firefox-114.0-hsb.xpi 615585 BLAKE2B 5657e64b16f9fd7c4e71e431b8c950ff37a9bdc4e52812d4d9705c773c800dedb743e215611217c7ba5fbac5edb9ead45ed4e2f733d051063be9ca743a7b3653 SHA512 9f7c547e074a2fe5b1ac0e19e209a5b93d7a9e2d1505ba36de975b4e6bbadc455c1b0769b863a6aef8fd771a29ec007d8731aa3499cc2c3628a556f2fa3f6f49 -DIST firefox-114.0-hu.xpi 619937 BLAKE2B 0eecaf7bf60bc65548729adcd2964f12be91be47b2f2a31873c1b1739c5dbd05531c16b8b51c3b624dff391faab2486f7bb0a634bea888fd5e9d7d88bfa5ac05 SHA512 534eab76894ed1ccaa4b5ac1e22c8671c216a98fab24024ea396cf708c7ef23632c3f559ab2b62c82de362fbcb728ec35d57ba4e02640d7513e663bc3c5c8f3c -DIST firefox-114.0-hy-AM.xpi 615202 BLAKE2B 00ed15f39416adb74c09a8d939d04d976c7bdbee3995f173ebd7f51247ed08d77c7014eaebab06dafbea65817929383b9efdd27e78dfd1a976360f2ae9876599 SHA512 4b99582cd76637d7027d851e33b5cf7cc0bf2f6d6a5fe33eecea5d56a070c1118f7dca733fae9a86e26d9b013272e843ec8d83d8e5e189d50e180c49c6010dd8 -DIST firefox-114.0-ia.xpi 581881 BLAKE2B 73074c044cd4491758a287031acdfa26c42286fc2d99c6bc9070b0c174bd76dd26aea065b5c612138ddf205c4b2cf4f6ba092b0525587a5486eabcba96e96c6f SHA512 c2e651e16c347d79910d6932876a1679c8f3ca0588b14c079cba087cd6c42ed11a5b731b1274f14631c39466001a350101d03feef6c7a2159a50d1b1100c7490 -DIST firefox-114.0-id.xpi 570695 BLAKE2B 7323c1f9cf8dee87d48de5ec4f65ac98fd01da89e70bb27deeb3e4bb232f1e0ae2a99ef7771ca9155c9931eb568c16438ce4830fed76851df3cfa22a9d32157a SHA512 43049601ecda00ad7be4e82aa60cfde71653682720e6eed2f4274aec21c15739e966b9fc5f3b33ed229652b4b469ec90f61a8d68fe5d213f70072ac6c1be4800 -DIST firefox-114.0-is.xpi 588850 BLAKE2B a46c71219fb28bbcfdc9185650a7b6f3a30aa0876c0dfe5588db1befecf4af31867e9a3f50acb19d25f0769c5364fe440e2689f5a961281ad702c4e701adee73 SHA512 d2607b03bb703fdb2fc8525d31aac1b34b613a551023f49632bdd77769454ddba0166bc9e39f0abc303098ee6ca01f02bf1222eae7a3497e9414c95765d876b5 -DIST firefox-114.0-it.xpi 526225 BLAKE2B 1434e91fcd9d30cdde081260b11426fd85b31eed179c03f6ca9dcf5c7073e6e4b922fdb918855ed1a525066e4ef3f912fb2e1d159dd80d024b7a898ed688410f SHA512 0dbb35ff72e74f3335f11a482e4cd0167dd12a2b61277096c9337e4d0f96a28897777a859c23279bf9f39c1ae006682631cefe70324be3ec59936be5ebe23e29 -DIST firefox-114.0-ja.xpi 643593 BLAKE2B 3046944a255ea7fa49b84ed4cb4f313c0d64f34b2bdee1182e2131f8d490ba33077787f7f975286a995d67bb0a6c3ef3c9c1159459dcc3361f2e48328d7191df SHA512 2f3701f63e89b37bf1cb46f4256604dac186f16722c25575b207323d89b5da66d1e2ae0546b2d6aa396b2361776386b1f4de9ac5eb8a055d28da12a54b10c2b7 -DIST firefox-114.0-ka.xpi 651095 BLAKE2B f3a2dc5fd9b83b69902fb7182447462ebf61b097067361f83ae4e9692cddf9db2552a6d3eca4b64bd51198326f0e0793d9ae49964e1d0ce56a589fa4ed949683 SHA512 300e2088b7693942cbb6e117331934c1f97128b3619eb1674b3c7b7bad72403df3fb6e40c0689fef6a18cc279b981573e892ea28998f37a4c2fc6a33b38f67fc -DIST firefox-114.0-kab.xpi 597222 BLAKE2B 96fb6af96108e853398192e2d7c3d024ecc1c5b4a8d550fe24b1f4c50047a38e53d430621278da511eda0234f24ea785222d469b58016fa798926e93183bc21e SHA512 a75f63fd4ecf74455bc453fcb61c33197e6756c38727c85f1270e45e4720841e41942a8de4f047cb32deecb9e1707b7603a3c443c8605b745268ca1ced4b801e -DIST firefox-114.0-kk.xpi 670859 BLAKE2B f867d696d94368adf120ba58188832ce2896c0d18bc9df63b47ddafb45f5b267a27e75125aec18a85f6324127859b01c42cdb447cfdc624f2b2d6b1ab9d2076a SHA512 6b4523a20db029a262e398372305041f7e5e80eec35c41fe8ade6cf07cf6e7f26cffa17734430bfb8e74c42b0dcc0626442b5aa650a86a0cfbb43277c7067980 -DIST firefox-114.0-km.xpi 544997 BLAKE2B a62ceab158ebea940522a823bf2c0fd2fb1c39a804da6315c462a753b438ff629797ab969a460e6f812ac2407d340fb95792428dc653452b1efb304705e4d486 SHA512 e2a0d87ca4c25c4d82a60568e48929ef9373ad4d8e752b008dd07adb3dafce38287013f7a4852efd9debe6f0da8b7ccb06555a76dc2ca421e9e4c8f0b4e53fca -DIST firefox-114.0-kn.xpi 509832 BLAKE2B 1f65c28da4acd2e91989e3caf6c2fa10b74a8ab52f479869040449ee08b9c783381c23898626a167ca837fa28cdbed31209f02de7cd43b6ed85f2a39fab0493e SHA512 52f38399cafb6720e0e381780ae188b42ce74dd6c8e5aba937a8e33daed1d625ed470e3c0fd5b18da364027f653caa5bf7f0fda0943043c491a62dc40ad6ae0f -DIST firefox-114.0-ko.xpi 630756 BLAKE2B 13f0b5c40a8d584a7821720cf7b851483062fddf3d18dce82a4f11543b452826d620bc216291df74840cb844bd8fc6c7cf9934d794df6abefeaf23633194ca63 SHA512 994e7853f1885d9f6fea0d28b6ccc12e51dbbeed694886530fe14f426c01ff40805f72c2f2d51f4f34d4074feb5008ff44217d54549028b806e3a92c5924b886 -DIST firefox-114.0-lij.xpi 483927 BLAKE2B 49949d12ac57627f70f40ab30517616c22b0ff26d505118a175a0b972ae4df77277169fbfe252e1cd0d1bc04b8da2ed2617c0500a11a93254a2e6722c1a05fe9 SHA512 7994f59bcaaa2b4576fed90b24b05ad01622d3a43b1949953c2d0676601df862ddfb03743325463090ed4ce87bc37a8adcd0545bb16722d2063ae386dc256eb8 -DIST firefox-114.0-lt.xpi 583460 BLAKE2B 580251cb1391ff9e75fc55b73753f6d69a33cd613caf201d6b684ff3bb8e3443d29e802a796e342aa0f0bd2c5a16ac355a116ad3f218576e5d8e910385312b75 SHA512 9ee2ae47d298a528e118e4b000e0e146c2166499e0386a5483a155352220767347336b649a4e45f5719e3443bb234ec827c42c09d5b0eb87b75a0c8b8b1c73d6 -DIST firefox-114.0-lv.xpi 483457 BLAKE2B fa7cd660f3e5ee530938d9cb285db0f6af1f62b0d6b0c22edcd16698a919ebcc2f31e0ae8d405039af043b40565ae8fa5a38c19fea5261c6d0420ec842b96427 SHA512 d4e954e9fcd0130dfa617efe9046580ca3e0a92eb4212293314158ab03e08f41edcdaacf0e3319bb1f9d3b46b6cfcd3986dccc762cbef3cb8a6f6d53acea812d -DIST firefox-114.0-mk.xpi 498713 BLAKE2B 6476dcc582af9a265403c4f6ebdd45936ab36f22596765d897f74513267261cc0186ffaf58d93a4ce68933d5f43a10a9d1e662161b2cb29a2b5f5f1c7f0d146a SHA512 3fc909e49b52bb42c175d6eebb1ce585b0c971315fe99414b79bd3fa4f18608bcdb5be4c68fa06471a44e84fc30731dad4d0315b1410c65a43c4bb65b3c37c52 -DIST firefox-114.0-mr.xpi 545414 BLAKE2B c325a1fae1c479aeee5a087cafcf3b1d7002c8d483f3f3f3feeee117ab641e9f8ffaaff793ab123cc52604175b62f97dc6e654e8d848bcf46691d3f1f022fa26 SHA512 183bbb44eae5cdfcd1fab10e1f4a7f9f6be1888881c46a5ef7e323bde309dad8238711848ae3d43cd668603cd88d223c3511166c11c020988f657b482650d91f -DIST firefox-114.0-ms.xpi 462624 BLAKE2B 128fa39ca556656d53f45d0561fb7da5389abcccfe85d82aaa098779411c5889d00dc412f70f6cf90723df28ac31785f1fb63d530364786a5bbfee0dcc450203 SHA512 b6707b6176da6f07620dfd38d8106e114060bb209f69e09aea87658b24fd512357b9ca4a26a3ca47aaeb05f29970a9dac6b0180d9476b17ca825a516e63d9b1c -DIST firefox-114.0-my.xpi 530516 BLAKE2B 1918d0df185ecb62d28f26b71537487fae670549506e1b01b87c266043dc0d50ad719a04bac26244f4236ab95bb555e9f89b2545ffebe4eba27081e0f399018f SHA512 bc6fd2d86dce81f2fd24f08e36ea9ce125193f102cc483a4086605677eb7a078205a99ba63b4d507b62a876f80410b403bcd4edab77a4a94b0021b64e00e0199 -DIST firefox-114.0-nb-NO.xpi 579551 BLAKE2B dc6a6296a47e2de94f75a936b21de3831044accb971f5a6802d15cf209cb101fede1731892fb2de69911e217ccc2eee0f4045e7cc36f8ae0f446cd93773f9be5 SHA512 08c9558a683cd4341fe9db998e4c91a6954712549e6c848bdb06642907a457497c11473d68f6cb59fa6ea160d088a02bed792166c77c3fe3c1fbb749ba564305 -DIST firefox-114.0-ne-NP.xpi 498497 BLAKE2B a86b797963c21402fb97e9f07f083fd671cd6e4ebc6c8e2f1d089dd89cd6b80178b4819778e6fde562455eff54330f861743dcb76ddfb524bc011d1e2425d048 SHA512 72e05e2ccae9d68b43ffcd35596f72388a650c8d47a4e1b5d20ade97eaf66c3572c980fba9092a28ef6d04cbde0c97e665ae55aefcc1664a12d493789d871cc0 -DIST firefox-114.0-nl.xpi 587744 BLAKE2B 4bc99ee15eeffeeaa56d6f051949884b80648d3ff66cb0fe5011461fffb6799fe2a917c592ee0efa3ad89cbb2401adf8a4b71590ca7e729106738d5709880abc SHA512 082ee888530de6a08c797870c404ce95d6cd178543f14fff3d6738c9275bc322b1a8d6564af37c14c43a9e283f5bcdc714b18dff0f1e4b6925aaac1d09d86fe7 -DIST firefox-114.0-nn-NO.xpi 581013 BLAKE2B aa9dfd00595cefabc24a909817ea8d02c9e3e43d208973b2a9ce447ae8ca8d370dc5c7b839c47e73a72937be3b0e0cf6de40ab1d60475b85c2121dff4b93110a SHA512 146c4859dc4e765d4f8f4e5730823345009610a848085cf619e36a57871dccf4a4a08cfd3bc4b413c06f9de7a1b96b720222764370e32033683c413f44de7864 -DIST firefox-114.0-oc.xpi 602223 BLAKE2B 991ed41dec850ee48135a1ab30922e233ee6bb312e469019d37beb49ace11d40e64545734e5273f0003f8cd00790bb1b4324a8b460643484a421ca3b070eb972 SHA512 0c8ceae8af65ef4bbe4110f89ad1a756c518170bf68821027a13ff9287512b3cc0124152025766e0dba4f5b331eca872101820815363ba6b6df7cb6e047b19b2 -DIST firefox-114.0-pa-IN.xpi 661767 BLAKE2B 61898f1dbb8634a3fa811661058354b7998dc145d1379b84a3aa6ca44570927705030791bb819e3b02a4750b8b699b964c30e4e5d1f06e1ebf5fc60fd343573a SHA512 0a2e269b72e1470dc2cedc2f4fe82e7e3137b3c8dd8278ca4f11be35f51c1f779c4fade830902f4397205259357195b572cf30ea62569c3db37d248ca5b2703f -DIST firefox-114.0-pl.xpi 613057 BLAKE2B d4205bf35653713cefae871dfa05db931cdc95a1dfe8dc43d2770afffe0fd526222b4b8a845c87bf4ab36a129e9e0460a03479edcf6cd18ff48fe5f5ccc4d378 SHA512 f80bbf14901b076dca1d7e592d31f9bbb9b6b90a83a379d364bd447f9fcd2b4843ebfe295b7e6baaed8b6b2992f0f38e97ab7fb4f104ee7d16dd18c6dce8af98 -DIST firefox-114.0-pt-BR.xpi 592839 BLAKE2B 76109ea673c6ebb137225d4be17a6182079165a544c5e82240d7eba781312be45c396e5413ae01e62f615533797f5c3446b20fa1ae91c8471eda92c51f09ef3f SHA512 667c330be1af9091e4247664077544cdfc8bacfc59e134b6f2f5002fbb1f7b775a464372c20d8e275f7bbb1f33a06211e4a125958b879858f4004cc30f34f0de -DIST firefox-114.0-pt-PT.xpi 598528 BLAKE2B 252566cd7c445eb3b58c3bf5a04f64b6f8dfd5ddd2eb4130539064525cfc76806bac9446e8f0afbbbd2482c8440426cbf3f09557a72870d44bc8e7859717e7b1 SHA512 559e30469716055cf8f747b80ad481a850a84c2cc34bfbec2ae23e8f369c5a812f39f48eca425247cbb747abe5dc6b83d498aa14c12069552e5835f9b2afd6d9 -DIST firefox-114.0-rm.xpi 588758 BLAKE2B d38c0dbfc918f4c7924c19b796517a75b4329511db75188d32cde7d244f417ed0781b5b44bebc76460ad447d229c27fd48d838ce1a7844261efd29d3d5336a44 SHA512 5ef75baf1e2a76303ff6930f65376dd406d5b331ca770fea8fc23f18bde87a040d4401f03e128c1cfeabdb827ed21c5b6707a5804a830ba78a97592dd9afbf10 -DIST firefox-114.0-ro.xpi 551327 BLAKE2B 0f7a79708ad6c0c2bc31c5a80b50cd83fb4b0637e11f309cfd8daa8c39439de70fb76bceb7c3c88c92a4a46d855f1b2b0c3732e2c97972f21fbb7a11724d86ea SHA512 14b0ad777d29738e429e0d5c199d601595c4ff26004f4e841e85939f0c5bd0d3088d7a8d613e43e2a54f03b0374533742c38b9b3eb1225977e8a6f6d61fa5ecf -DIST firefox-114.0-ru.xpi 687292 BLAKE2B 4f0c42fcc33fbbbfd43a08517c2c14b5c4c7d6ec74a24c5c546fe7d76339cd6fa87c83048af8c8f67c0636a3167fd5fb24515637d31784293f93431deb99329b SHA512 18927c312cce47b8e770f597b2facecec465738a4e9f0ed8c929cda5529bb2c995f0c21cdcd7f3b47719fd2c2607e0adccae92a383a725161e093d59076d9175 -DIST firefox-114.0-sc.xpi 565806 BLAKE2B e1a8dcb62f6a413cff4d5f830eeea80daa46cd6418e36be3a39815149efbe081ef0faf67fe04400329e2bbf70a428ac068b28618b3a06b45f8a28fe4060b577a SHA512 cb1e69ea5dfa9c362ff710564977e225ea45b00c712a6616cb819d5223e64b56a0fe1a2fe69a0f80b6455dbc9722e13520da01e496c3c558f43035faac330efb -DIST firefox-114.0-sco.xpi 518579 BLAKE2B 86f2d00883bb2639d03cd3236dcea453f7e121423a3d034d5dd7e0ed4c92dd7e5e68e89e85c12a2e104e0979ad046576eca77edf3ba1832dd8f8809ff4463e19 SHA512 b2d8c4251802bcca9af28c2b716ca92e0dc8dedd2dcef6f611d66e0321b576d176d45cab8d2ed0d4f36fb7007f4ea13a38daa988d53b94c2579a371944ba613a -DIST firefox-114.0-si.xpi 588199 BLAKE2B 5cb4a320ff9f968191f4a85458e4fd83b499cfc4e1df75c095a2b5081081b7b86d9b9e068d7aefa102cd08c0c64c3c4caec85c2f57140c3bfce2a61ba1eac37f SHA512 fc82db8b75b04920fedd4d047781e0521e0a91a6218d73aaa30be1d26d35f68b42f0c8abd2ec00defd0328fa01a10fcda39479db803d40f5ffd2af15bb553fc8 -DIST firefox-114.0-sk.xpi 620921 BLAKE2B 1e45603849b91627cb648ef3d06441a48a3d99f40c559df8b85a226faca46f26e4a86b93772ab244626f66000a6dee56dccea8a24fbfa57e92ec75c8ceda0599 SHA512 5820632cfdd05a47d2bbc7fb485b3b7effc41bbbda7975dbad6dc1e114ba801ba561d806aa91dd551a3eeec474ef426c346d6a6c3925b607003ce6e3201f3698 -DIST firefox-114.0-sl.xpi 590620 BLAKE2B 987ea5ab0f6bc16d25ee8ee4bcc65c512b296644aa77ba19d8d74f4dabb83347e846d9748943a12f94c7b8903806f70485803f9ef72958b03d61139182735f06 SHA512 3f63fa91589b63a83cb9ebca7dd5dbba20e264950f30e13349181bab5684ee5fe3b8b0f5758e2962200703a7b53c37c475ed02b4c5cf93585260693f7b69ae7e -DIST firefox-114.0-son.xpi 433865 BLAKE2B 48b47b718ea6a426149019e32c046a557df2c299e9b20e6537d626f1e036a5a68a4a359d837a5f1717b65cc901acaf908468fe023dac09509548288f871ff4b4 SHA512 461bc75ae363efe3bf1a37f40d15462b731c416bebd38a7f3286734ec9a114df97e0d0524d1d3c825a7a2419f8e2e14d36ecacc6222adbaa118f9721bc35b724 -DIST firefox-114.0-sq.xpi 599886 BLAKE2B 663e32592dfc313fb217e2dad80c1ac0523df80412cbec1ce8e24ec02259d5e46dc673351c0d8363c00cc5f38e2bacb691412b46a78e8ba94982d33e5ab606b9 SHA512 8fbd0288a73503d5368850192c030af91e3a30e310f8c62433e660bf4ef3675657eb3e98cf66f46ff386ac763baa3da085461885d60e9a26ac9ae160640a95d1 -DIST firefox-114.0-sr.xpi 648660 BLAKE2B a3a8299bfd968d2eb0b74b32754547f759642e8ba3b90003dd80a96c3c8bd4ec1e91e263eabae388f7a35f578f9f9e68ced6d44dae601b22c367ac1adb592bca SHA512 fefd412e16e97520ffcb3f0dc3bbf09a50aa56826bb995076377c575aedc4485c8c14e7224544a6143bd9270ecc96874ef9ddfb947f5daa58ec08dcbd11e0043 -DIST firefox-114.0-sv-SE.xpi 589715 BLAKE2B 70b3986c5d68da2016e8f075f04b1942c3fcded7b7063b3f159ea84f5500effd75e37995ce1f7762165a16ca76971922b04bd1ac6868449d9fa3f2c323f59337 SHA512 1dd8c4983e29aa3c844785a79f52b41bc068799d157eac395e7443e8b7b2389f0435edc21bfced15cf77d81f651ec170c8e40bc8180a273f188c31f1f38f756a -DIST firefox-114.0-szl.xpi 532196 BLAKE2B 0b63716ceab4495a895834225420bef43ebd404fb8569bd71834677a93af8ce79bf48cc54c79b0409e2facb204674a940aef048e2bec33ac2ee3a1df6ada7a1f SHA512 297bcc7e201d46b7514ec236eda363045613ce6061c0d9d1baf05dcb8193b0610f1f0befac8acfb2a1571fb3e1c365d8ed0bde8aa0fddb765fae6d9be4e61656 -DIST firefox-114.0-ta.xpi 522180 BLAKE2B 33ff8bba6aec2f026450a40a80615749eb7ed10b999fd43c5e8ccd3c4409c4e8e0c81a36181a49574e316c0bde43ad56d005afe2efb0534d31616d6de24719f2 SHA512 615f1ee85fea3b80e966cf6fefbb1e7606ff15a854c915ad339ecba2dc3bcd77414dd24b084c85f774c0c9341bf0c385640e57916a812b22f5aafa950763f903 -DIST firefox-114.0-te.xpi 571348 BLAKE2B 798abc4bdf3b047b863e1f2d86f3b78bddd70166a0e7cc1880d193e4fed40a7687e73a320eb59d3bf536ad4b984af1f62bcf92936a7178041dc20857c8912127 SHA512 8164a147410a69947d984f537a354b876fc0cdf3c9af7d10f3eb4776212bf53deb9d8664e5af676c85e399d43bc0df624bbb0a91da387d9eaa8d431a685f5ba7 -DIST firefox-114.0-th.xpi 665261 BLAKE2B 25b850a5d872cdc091f3cbca7ec07b7f00a4612fa58b693e74cf7950425f360068b0f8e8f2dcdfa4fb05472c6dfd6e2d1cb50d03fa8134623f80559ffa411ebc SHA512 5165251192214d73d1d7c103a4331cb24f88d54e4410dd74b0fb278bd7c3e8840067797caf5bcf3c3e920d512f579faff0f2b6f06fbc92ff3a4ea106eebe02e8 -DIST firefox-114.0-tl.xpi 541485 BLAKE2B e6a1346a31ef4bfb08446fa8715dce4abe19cd2d44e7542ac0539d04053a6ce517c0b190379a941d255cf60149fd4051ce54a1603709a8cc52ea825c1de96f8a SHA512 3b220729c927cf47e87c302cf2a6e2809e1bd92cd26a6a308020b97093e6e9fb0eb4ede352443fb7609b5db6a67fc2124af0e721f6ed64344a0fc3ab5143969d -DIST firefox-114.0-tr.xpi 602921 BLAKE2B 49801865a2441d8624757e3ba3b6567826a849cf3beacaf644d3d1db77eaa1b7272bc68399f2e04d1c4625c88ffea564aeef8413d4100e89a1d1c72793572b0b SHA512 2bf46e30e06cdd1934b6ca187b50db68b23da3d20f975b4532448ce5d53f5b7180dec07e8b249cad8c0a0a3a88b7a73071776ccae663071f35073961c60e4f84 -DIST firefox-114.0-trs.xpi 502329 BLAKE2B fa2b29faa60f01bb40a61bfebb5714bd1b5d20d37d16028af8b60ebcecffcb4e4b62b30f06098db0c129679786d304e3cad4c8212ad5cc7548595079041c2f1a SHA512 ac28b8c7789665715481e373c94deb8a9a67cf584e601b75929d13bfaa8bd6f7098aaf6f2ec85846c1a72c8a09654579673c428cc1680bd51846f5524b9d7dc0 -DIST firefox-114.0-uk.xpi 679235 BLAKE2B 0706faff92213d76eca476eed07b2531aeb62bd09df93f5c44d7638e482fae31561b9937bf5d91a7cdff2a8a8dfbe26ec1b0a080fd44145ab8d222de59362d06 SHA512 901cd5ad6c366d0f9bd70485de6bbe10f2054acd0e7bb03fbd85af24a341c74f931758a1d5e734b7a922329f43e033cf77dd92469bee27ce3a80473cc5325ab6 -DIST firefox-114.0-ur.xpi 572237 BLAKE2B b3317d5040e3247a911dcbad617d1e3dfaf9548409b4157858d988617a8e3dcad068836125259067261134b1f98d061338aed1bfeef89ff9cfb1e2b5244a437e SHA512 165f3fe2c1b6fae3435d9645cdfb1ea1ba8eaa638c84cbd42e9a5015429b8856f1f3f67ee4f7353cd145f5182450e97fa661d7d2c19de1b65fe7a5bc857cfe12 -DIST firefox-114.0-uz.xpi 490809 BLAKE2B 718a3530097010381f252a530c8be04569bb50bfab46e92a8b0d25e182f59322e45a55a523bbde5ae473c64268704b7b2c530d710a07c05789e1d929c2ad6d11 SHA512 49185cd9246461ed41f9d60d42eb80c7478dbee6325baadcba5cd58f9702d6eb702a3c57bc04170fde8ea9fedfcaf0f220784899bafd57ca0e82abecb9183a00 -DIST firefox-114.0-vi.xpi 626079 BLAKE2B af815c9914bde9ed4336ab44dfe75573741f93fca84fe786d7eadfbc20451155a52fb29a1d9937f1cbfdb83954ec8c4a7a0ddc5f0a5a999232eb5a49a54e3e46 SHA512 5df0360539d48d76379f255a888bc48bf924e85815b0b17f0227206f4feece51509943b4bcc36d6020c22b7ebd5165acb83dfae45784873e97edc6e07a139688 -DIST firefox-114.0-xh.xpi 430782 BLAKE2B 1dc42e20d7c9affe144b56ccc12ecf3929d881ace62b643d4cb8d97c5b342c9ac6b22a8c285b69ce00afdde291472e974f058a141b8d94bc3a3b66c57dfbedf0 SHA512 c4dca4b0050458d77f67b0d995c8482baf111d1876f8337bef86e573cc854eaeb69b92f95d9ca14d7f091b34b5ec7f4761d1b9b0be4055ec248a067c411062cb -DIST firefox-114.0-zh-CN.xpi 626215 BLAKE2B ec604a691292d4d843722f21ae986fcdd23c249fda9bcb37c192285c761618c9ee923ebe25ec434d08c47fa319fce1babea07cedb317c8333c6c1915dab87753 SHA512 6576b5a8917b83b519e931bbf05e727c75b621c4de01379cda01e2d8a860159950cd66f315745f8b6327b10d2663a2cb1def624b432cda7a094f02e632c50a16 -DIST firefox-114.0-zh-TW.xpi 627563 BLAKE2B 04ef461bec76ec8149a9d48857e4d360c45f543140dd529789428d58ef177010b655e5cee0b8cd14c8b4b91ce72eb9752708c2794f9d45c148ac4161fceee9be SHA512 bfe1f952aaeb635e823bd2e4f968cd263287d35f705d17cd3870ddcc995acddd4e023b9812e50195ba8cdd82dadd68266f6abe226c1f969a453afcce354d777c -DIST firefox-114.0.source.tar.xz 498436588 BLAKE2B 09d29112a487bc23c0e54380bf5e6ef5c62639aa53b6cca7c9a61b2452f4ee0e1a1b9f7ca996ddb78b842170fa67be0dc926c17956ab505e42966d443a798f34 SHA512 c6929d34583f25119738d1c817a24fd358fcada1f0ba5c14bab07c2acd35f18a012f23d054bfe8c6b12c0dda7bd3abdc7a305a36c7a4d36542885abeea3aafec -DIST firefox-115-patches-04.tar.xz 18724 BLAKE2B de21a44f7af96e99c5046f28e59c92adaaa517e034c24fba4baca5e0840d439d384afe5d230730250922fd901daadc7d9a72fd10b716f99ce6541a8b4aa78e4a SHA512 d8bb44c0ef40198c3ec5cae2daa85ca0dc51e6903f1ba318e530efdeaa7a20f69ad09ae305619d59dfe21412888171483659b42800c8b73be4210d4bfa00b8f8 DIST firefox-115-patches-05.tar.xz 19028 BLAKE2B d1c11aca4ddbe4c685a7db28807a99baff8bd748e387ad0f00472d76da61fbe5071340b6dfb7207061294aeae97167a3d74ea0ef2729fc7715945ebd523f49e0 SHA512 580c2706161eace59b9e4fde17af742dff03c9a83532d5a8bfda9c76741e1e48d457782d2dfe435a6d5d03f4c2616a1669035d88f8e71f624db3abe7f6a7ec7c -DIST firefox-115.0-ach.xpi 469323 BLAKE2B acf6ba5b45e646cb7e7baa5b9c8858f6ce3ea4c93573e0d735d997dc2a3fa3b56c6987205d9d6cfa4673a3770010b2b95f88a4b2e0791e765b86cf03671c87c8 SHA512 96eec943ca55df56c049dedddc6e36dbd8f987c2cfe1a76bd11f7a8b027a02bfa3bcf50d64ebcc07a4119e634062d17dcdf515952f2b9b633bca7764b8289e5e -DIST firefox-115.0-af.xpi 430127 BLAKE2B b60e1fce53b3b72f5e310d4c81d59d55cc4b7f6680f40b35b9d6035d07bd8eb84bb7ea8e727766270a23d990bfe097c559895d8f3b8a0d052a91b0ac7475ed4f SHA512 e58a0aec9a360deb3b3cd7aae6e11c2c5f839710163bc180065bf26c5ac03424fe02cf946fe9b2eb4217b3eb133e6120b520ff75ff6000c57fed94182c7dc4f9 -DIST firefox-115.0-an.xpi 514837 BLAKE2B 3ac14201242f8ae6ba77a3fb0e37ceb2ceed34a9fe6252f1ff310aea10b427847050e9b190dddcff2b78e6767daf991854dcbc70eab2c7df78994bdac422a22b SHA512 67f654a645d58c044667c8a12fc02844f219d2f00962b8b659fca840c821d853fee0ba15d612ed96dae11666107e5ff1ca983ba32cc91779a1bd501a426dcd98 -DIST firefox-115.0-ar.xpi 583860 BLAKE2B 32a1324e9feedb8c82616b02e0c2a1d439b1842f64a5b3133afc1895ba472172d89b155bdd7530ca506b26a937f979a14c64c71468b4f0b762a0fd58566c4cda SHA512 f6cd085577423bc05a70b39a350b777275cfdb2417d97f4061d3d1da10587de4ea58890f54317543ab221301e1c87015775895f915c2885d72030ba7ab062abc -DIST firefox-115.0-ast.xpi 496713 BLAKE2B b9acfaf492af9ba4ac672879e48f89c8fab85c573caf70ba5a6b9c6c8c1dce0de4e5206958794706bb563cbd5a4dd08bbf483fdb9f26b054fe1082db02d89ad4 SHA512 06e4863e0d1bd25a755a8996d3e377899210c4351d6a98bf4245880e2bcdb3f633ed7a5d94c2879c8c038de636c01edb9cb0c54fd5705b91f0e215fdb696900c -DIST firefox-115.0-az.xpi 501984 BLAKE2B e242faddc02b11f76c491e3b83074371856e8c7c91d884d7581ac520b5fee425f88b06abb5bb566b15ff758fd719e84e5f0ec201e12702e09a817d3ead54abd4 SHA512 2a5b79da74538cf265511434befde24fb2d8c90df10bc23add0ae9003846886944fa962651f5ad92b7939c7d8373011cf7221afe2b4e44c5432e74320395aadc -DIST firefox-115.0-be.xpi 686957 BLAKE2B 0947853cee92d08b5d07173167f818fb4e1f3762d4b8a9038268a9eb72b328eeb070233daa5290fc4af5049c4ae7587abf7cf7384c8c768181d55d4c8b7a974d SHA512 d15ad246c2af2cecb4c58ff857372ca8964c3371242a158656f263ecb59eb32f32e772b5ea946d09a2bf47ea1dea37cb72b31c1b5d339350b0bce2f205d96c4a -DIST firefox-115.0-bg.xpi 600442 BLAKE2B d6679cdde0cf2c531f50abaee66e3c7100c0e0771567fed65aee3ecf03c8fc8ec4f35452a2a0ea707fb1617c2235cfa6b8e08b33f041c50e390609007938a79b SHA512 f9f8a7f382ec8c416cd321a7eb47041512e42e4028a7c8420cb271fe25be1ef2734cc80ef86c056b16340227f33b6ea4ba0618f0ec039032e595865854a8b49d -DIST firefox-115.0-bn.xpi 593723 BLAKE2B bf87b085ba2cc515bca0ec5a99c7ed2c502fa464f29c2a843c6dff0e1a1dfb696b6685bfc5aa71e11e7787a10e325f1a737baedd52793f162ffb14dc845e1340 SHA512 5cef8e494e00baad9f3405f0a667ce0809e060517643ad41e03d37273a006ef22e31113ef66d04c54028dd8aaae91692cc9e300a2fcb5ac87d750a0828f76427 -DIST firefox-115.0-br.xpi 565383 BLAKE2B 9080ec465f886d07717dd4778389a7fd48e131fca7ac5fd79c8a1805b1cd770cd5846e34e0fb25c04e333c8707ef603100ed4f1789f430fc6ca67eb9d5503ca3 SHA512 0e75b613b766ad86aced077451ed65b08596570645c0a3dcc1b0dc00ee2aa004d10d10b6a8fcfbb61c6d05c3e533bab4d2d69de66cc9aba574ff91e1e8321586 -DIST firefox-115.0-bs.xpi 474031 BLAKE2B e6e13730f8444588ba9e4b55e2e0b4ba39f151c0e00074d0ae6d325c7c324d0c910e5a761bebf591e063f3590c3f88a0fc46362aa7c85e5c279af8c80063d56e SHA512 8d07e686f8fe73543e6245d88cfd1ab0e482a7df4ce13d58939211db5fb48309a19be3b1cdc6d88e95aadaed3bcc88ae0b417116433563a9e3a1856279406ffa -DIST firefox-115.0-ca-valencia.xpi 554621 BLAKE2B 9185c4a7d950f33928ecbc2feffdd4213930f663dc3c5cfd56509b5c09e8b798da4abbaa1ee9e1df941e6c1e8f2e8014563e755d2c4c835d75029f5b9d453f03 SHA512 f69cd5c73f9cbcbfb50fb54961f83f03d1711d7943739c86254b59ac1fe8a2d82e35334f0bd4dd3c20d787dbbfe205ea8e65ac57fdfd6bfb7325c6b4580f35cf -DIST firefox-115.0-ca.xpi 576650 BLAKE2B 09dd8b01db8e2b7014ca3f21c81fbe02ec1b274f0761a02f8ae7c073d48f2bb5fa7149dee4911fba96af398edeeb64892ea2ee0e12ab26c0ebe95c3493b34a0b SHA512 09586581bd1ff2b1bf56ddfbfec0e27793f9f4fdd6f0cb0d05cee821bdc5b0bb62fcaa13f4956d57d84bc4b45802074af678e043b5acaa03e06aeb8429e47e67 -DIST firefox-115.0-cak.xpi 599851 BLAKE2B d59b69406e68059c8a3d8db37539bfb2d3814ce47f0300086a801210a549428f3f98c7cc74f24b261413e18461497c5c5536d1c896d090abe88210a392a79079 SHA512 98b131d5b1d223a538485b9b0d0327cc261f71e6f76badb53e9cefb4d9bc79374e2edcb9b02825542a7c790d8a7c639d9e8f30c5d12aedba5f643cf8bf8aa69c -DIST firefox-115.0-cs.xpi 627674 BLAKE2B fe1f28135d977df8fc27b14f8320d31117ce83212396d7ca3d74a592b1387b5978c75c5b4482f86231cfa285a82e2d9dd24ff7f02ce74d3079cd925161bef3dc SHA512 865bcce330ff8aa8b1b21bd3eb220ead26154eba6a51458b2eb17ddb6385125d81e4cd04a6308edc83458fb93ebdcbcd091c6b8fbe45d2a1e2fe98b40daf9de6 -DIST firefox-115.0-cy.xpi 598156 BLAKE2B fe95ced7bbcd0be932e098f385c706b52452a442dd17e9e3986f9f3917e47c1560b7756bde1b66651a06689739ce1518bcd3cd4f30727da1884c576983d6e5ab SHA512 7220d48a100d5a40bc5b3779e447ebe4bd355a28bdeaee6ee4e11fd014dcc814662161cac76f0c6f5f726e281fa1c6a02e6b7a4f0ffbc886fa0932e9f6bb2e41 -DIST firefox-115.0-da.xpi 587176 BLAKE2B 6b89b935ed124b31b4b9e3552d0db192bd2c90de69e414d80fbb6907eb87e36526e03c839ed9d72cf8e3dee8c11036ef8061b07db4ac5be48ab23c907ccae34c SHA512 ee7be208120e967714f9eacfff8eb2e96b1b083ea7c9191d449af690c37d8e579aea091b7468139697a993c777024b1973781f813421dd41c993b72243e0234f -DIST firefox-115.0-de.xpi 608951 BLAKE2B 8b672194c6e172cb260d38010df3f82f8ab13b82a99bff1c9a14923f718ef47818265af2d50e05b86a1fa9a1ac3ab42ba6720f694a2f72d17dba9e733a8db9c3 SHA512 b064902bfdaaa3efdeb95b066b62b328c400fef3c10f31f3a43c5edb5c617c8441d0c57c0edaab80448590904329f00ccc8f7b4ffbf31501eb059475b618257b -DIST firefox-115.0-dsb.xpi 620446 BLAKE2B 5ea32c1fdceddfffd40765690d4bba406ff54a8cb782ac02e946ae016ac0d529fd335f5719f0a0154bbecf9a9db182457ccf865574d6cd25786de96039149996 SHA512 81ce0de8399b878ddf3f7a9980b8c9d0e9466f53037534f01c93a514af527e2e977277db976df2bef125d5b3c5f3a81c298dfcde7f90cca1ed1c17775a1fa8ab -DIST firefox-115.0-el.xpi 703012 BLAKE2B 364b87bb7e91acf444b0cdf1adbc25d6dee86a8a866b291bcda00074dd6f55e618fb97f29f43f1c0693822ef15c3419b737310633c81a4ff86fd3b528c5e5eb9 SHA512 e2695d7fdfdc36e3a7688d093aea64cd8f064453ae418f2e40a4e72aef68c4b157c9643d06536255b3514ee4dc83ea3f6b8116d939849f29dc6d5535d62221c7 -DIST firefox-115.0-en-CA.xpi 551498 BLAKE2B ab35e3b204b711f4ae1753f4eb2a1595b8cc6de5df8846f05be16acb5e3901567142733da29e93a3052e8c29fc5fefe483b779d9a1b74e9f8072a4417aa485f5 SHA512 07b7fd89932b77cc105c2d9a3dbd314929ac1e4002c88fee08b548e9a2dba302ef67c86edd98088a94fd7a991055df395d72c546f536328a6db135a884488af2 -DIST firefox-115.0-en-GB.xpi 561370 BLAKE2B 80f9b4a05d024a1c832a2b9482beef237c23b64ab9184afb9f3822bd027edb0a2973039769dc90100d14571218df14498116c7688ffc29385266dd9ce76d2273 SHA512 0d3e872e6e03cb496f7fe3503b5ecd4662ccae9ee514bb17fa118b4d9a7028e82e6ab9c77ad8a6308cd7dfe13c1cbe9bba7cb66dae199aa7e4b9f8eee93dd250 -DIST firefox-115.0-eo.xpi 583949 BLAKE2B 06a185b05d8f3a2e4f804d031ee93787794b59c2476e9cd9314f2f45e00b098de84853db861d099f9cceb8a63374a01e427221af7bde08b6f5ea03f2b865bc1f SHA512 639bf60269b593e7893ddbcc27538057d8a7db1823af78f4c9c5f7e49606add2a5f05baf65efc5b30f07f82d594b31964d3f5169dfd71011351ca92b95698847 -DIST firefox-115.0-es-AR.xpi 602624 BLAKE2B eed559239f38b9e5810cc3b7b9ffdd5c7a84cf484c08740b7142c85d6e91f9b87862a7fb21619db16c4701ed1553db548fc43439adaced43bc2c00b2674607e2 SHA512 d78fe353eab6f2708746419475c8f4570ba9fbc05470abb0b052265117d03206295757a6618f0030b3da2fbd61446738841485cad0d6cc8816036afe84fa0fc9 -DIST firefox-115.0-es-CL.xpi 601297 BLAKE2B a419512b45201e05ace6b0ef0e854db15a3a3f5c03f8b989b7c0474374352034cd305bb3c4c34a8cff5c4d27bc34a1da78dd1b667d89db32b0a745f3ecde3afd SHA512 d54b88bda2b4b38859d4c06e91fa02596d6d4bb725297e1090c25763691f044d58209374cdf0779666b196655f744a6bbd0d6b5b6c052966c5f3cbab5a3bf603 -DIST firefox-115.0-es-ES.xpi 595240 BLAKE2B c0b54de9fca3d5bceebf0876371c284076859b4a4499867deba09df8a14e1574e9a279206fbc1dbb5bc07a0bba6072a4a7c185092d9699f1c659dbd0f390ed53 SHA512 b264d68a1bf7c3aa02b6675b99b937d461774471acaa97854004f23230d18e400d31a3b8b9a5a4b8b837bd20101846216d9ca4671f3e2a0f15f016e8beb26375 -DIST firefox-115.0-es-MX.xpi 600969 BLAKE2B 2bf515ca1920a91c0ca07c11f3ab9ed9b19471ac9eed4a2232a838cb21c84be78551862c3223487c3a75a828da13570d7620b9e2fedb8262a0e8740c7550d24d SHA512 62b8bed642737b98b555b11ffcbda317d07b21acab524e95752c791e93853e9bcef22b7054e47220fe4c5e5b440dda6045bb3232c9aa87be850e0cfbdc850987 -DIST firefox-115.0-et.xpi 548989 BLAKE2B 84aa9c639f7d898d30a0e2473aaad57d8bdf8ef569306999c25c9ed1b96ab8005a80e79ccd8af81da9ad9a015b085b081bcc3927807504289648d70b2a41d6a8 SHA512 fb5b7e56aeb973eb240ada3a05d1a09f675c8a0edd7b5a0d58f79c5bc6ef7c77eb66df1d16b2153a2951e73047b0d7f0c57c2942f69f2686ba2e79c29f96f1b5 -DIST firefox-115.0-eu.xpi 586425 BLAKE2B c66e2411c52b6458d21f32c5e000c711506e4844e52e72aec0b2bc9c53dc75cdfd586e39754ccd7508eda1b4ef370df36477bb44f41937ca8b16bd6f389ea294 SHA512 17f07fa8351e73b3de5523fa136fd51cf59b772bdde80fd78a445dd1f515c98096e7578cd9a9d5e27625decb0658ff36822821704333511a7759f9b9deb490db -DIST firefox-115.0-fa.xpi 601519 BLAKE2B 5df06132cb78e058e52ab5094463b4a93d056202a31a2e0c98004b693333afe88dda8227e63b816962e1b94809eb179ea5014485f95477350e34ac59468f4a7b SHA512 f6bc3274f2a646fc9aeaee27332c736dfd0769c57319be89eb0a186bc7052f4b2f0ae44fabc65a70a1974d9af071853227d4a489b66d50edc3e58a6402c7350b -DIST firefox-115.0-ff.xpi 485916 BLAKE2B 14392981765478f957b98a224c84e83afb9a4acc2f4174c45b293551cb6bba4755df2af87326586408ac3333c8c6c29eafbcbf5ade3c1ef109ca8a41f96d21b4 SHA512 83618aabcae4c312214ab795beb02d178a76c7cc01baafcdd7e9bf6751a7ab7c0fb78b5daf6a2a5d846a36600fd6227122b2c9a34bf73ce79bf48a740a40d8af -DIST firefox-115.0-fi.xpi 586042 BLAKE2B 151e8a3f21d1cfcc0badc24527f1915942cd62d21f21fee4384cb4d06c901f07c64fe466036bc77dc05186bcbcb573701192899f7693a7e61c3a761eac0e82a9 SHA512 42cbc1af00a6c3048b3cf30e687047e69dd79c5796d479b4535ecab8840feb9bab9e52d252bc89c86bfe261c76267c29f7ef2e08929040b3b86e62a0b9f2b234 -DIST firefox-115.0-fr.xpi 615060 BLAKE2B dbde8cf870335fd03328fb270b81955a5766e4eb0c7c35a02480a2a92ff5d824c965581053c097195fc073a24cf6af1188969d9ef2cea61d7132df29689f0a5d SHA512 16383ab981b4f89ea6c359f107ebcd383d281e493d4959f16558876b2c0aecf6b083089b44b52b3de9504f60650ba4f3eb0f850e455b92ed13942a21cbb58e7c -DIST firefox-115.0-fur.xpi 606886 BLAKE2B c7062d1aef8bda67e896f701b06a5c283b04a732ddf251f353775411cf54d223f9e7fa43ea5a0ad94f0a9a5967b1f7190f4145b9a6810393e3c77d863ead4727 SHA512 1a378540df75601fc403ff68d33c0e3c4edc61a4d9e0c5dee7544d4f9dc89026497a099bc1b95fb21366fbc181053448dc402c923b1a8856c850661ec94aa79f -DIST firefox-115.0-fy-NL.xpi 598085 BLAKE2B 7c64adbaf1aefc0c54cbac8d5de7c38d3378fad2d1714b16faeae8b8fabbf323c70dc16a5f6d00324ba6da3019b2b6cfd8e7da715c1a4d2d6e53414edd6c752f SHA512 30349acc92f571b4bc1fdca685d9b872ba4254a697d89f6afbd958d1a3021e691e178af7430ec02928349aa19cd0a2d938ebfa8880d3c2309d9969a3b650e89f -DIST firefox-115.0-ga-IE.xpi 482381 BLAKE2B fc32ed29597500a8df7f7a886da71b4ee4d71cf2a2fe58870f075f2fe3005f364782686afa32814555162c9c7bcac643e8d733cea9e0adca9343154bab8f49ae SHA512 fe2ac607c4fe8c391aeb19b24346df5ce8dd3e4b8e6cf08fad5165de8dd5230f11ed73cc1ca99685adf46d25d9a69c23f5ef06462e7505696e5a45b092485b1c -DIST firefox-115.0-gd.xpi 603642 BLAKE2B f6db5c71b702228107f433b08ee88d6b5f57a5536bf6bbd8d5ca1470f2a35791f9d94b278da03e8d24bd29fbfbdce73f8e6c505bb1a7c1b6a546cecf3f1ad99c SHA512 985e194461c06bec0acbe224fd4667f11ce7385d48c505450137f8346751266b3fc8b7fac0ba1795a7adf823b2e6ea1ff90851f1fd0220e41e536ee54f207928 -DIST firefox-115.0-gl.xpi 598447 BLAKE2B 95ebc26fa2b1ddd81e4645f9d3fc5277caf99885b33aef7063f85ab170ebb7ede8f5917fddfaf2752f3e93d5b7db082ec4db7041ddbcbd939ad64a77d26cbee8 SHA512 bcb475d5fa8124a177a1aac56fe8ceafc0ef5bf23fa27e6b7cdcb4b6229853b3690ddba2432eb3cd809bd39d881d4ee706af9eecf7e7b52eb04b504ce1730d32 -DIST firefox-115.0-gn.xpi 612060 BLAKE2B b87348e75b840bc46b5f9013417fd60dfc52f4c5437108e7ffcb3d3a411e1863d40aded4dac21dce86a6678728a767a07e0eda01e758feff821385ac6fe5d2d6 SHA512 6984920296a920c953aa72a6c0744a44c5e3f3cc09e2c549b3888972da60d3d04abbc77379c8b7ecf748ef51f1955eed29fb9e2f3e13c749a8d972d08fca86dc -DIST firefox-115.0-gu-IN.xpi 541879 BLAKE2B a1ae7cc54f89ba23fe73dcf29c345318182f0635debb1d9efc99f912ee41eafa8b2dc08721551f3709ef8b448881a506512351509cc56b7511dd9c8c7c44adb8 SHA512 af211f79308a22bbe8259f0a0eeea016bcd838bfcefcff51131989925c8a8c46a8f727a7739fd12ec8d548e7fc980138b59fdc8bc3365d7698784cacd89024a8 -DIST firefox-115.0-he.xpi 608010 BLAKE2B 31ca0065202772f4c81c270fa7ba4ff6874d43f190f4481b509bf25aceb3856c1ec7fb255857ee9b3f0c99373ecd43a1c1c2dedf86800799eddbb930895cdf16 SHA512 a45007ab6f16451ae63e03180cadd8df36f089701947973316be5cf6321ed68e40442fd89f6ddde70c25ebe689f351a4bbcc6a4474bf5168d850f045b1f09e7c -DIST firefox-115.0-hi-IN.xpi 571178 BLAKE2B 20ad609b77e22d21200593df401c4f5696534dabceb7577d4c25ff86f899ab638c8378862acc2744404765213c9fa55a3b3f85e42a0964d04b700a01cade3ed8 SHA512 409d5f46b14e89efcade96fbf17465d1cea72bbbd1cfa9c588ebfca16fd2cba6d45107d41c7c669f8a27a480e00138df7527997e5003a35840d4beefe58d4894 -DIST firefox-115.0-hr.xpi 564504 BLAKE2B 0dcf6b0fdaba07f3356edea5946d777f721bde005e5deabf667fe51dedda37cf8951543764b77bfb41ebfac33bd534a1017e9074932580373d09d2456464c344 SHA512 0dd0b4469d33fda4b2b352150b3487d85c7fe4e656e89eec3019f34eac10e380005cf60a11a890509b6a3698b084eb20680b9d89602145e399cc55c708644d9d -DIST firefox-115.0-hsb.xpi 620455 BLAKE2B 29ce7d313aeba4d8253b6fc56bfc803c95e190d549e0f4cebffe84e9a69afd1fe1f354ac836416f80b7726ad3eeab67e8ba0a9967766c121579657dcc439efbd SHA512 f50e012b64c9fb1a8d3891f10ea1d7b774442bd324b0c7fba88ce76038a5ab17edd5b2fcc0107ea13c1a8315c0ecbc0a679a4957256e14863c7294b86f0958ab -DIST firefox-115.0-hu.xpi 623862 BLAKE2B eb11291006c7539cdef35dd1054af7c8bbac6d0c94e8624a783579f1ee9b3836e23ae98c008b41bba3590bb2c782979eb0bad8522f63237d9aff472d62bcff62 SHA512 7271d6f6c8ff3268d9fdaecab5d00767964ae322770892ad6c1db985fb93d862d2c0e7b8d15b8b352fcbc38d5c421ed8b16ba71fb4ff5aee584007bf81e4995a -DIST firefox-115.0-hy-AM.xpi 614925 BLAKE2B c6d3e7155af491060bb88a23cdf4db537f3700822cf04998945065dbe26b68ac718069b30d417a753b92b5e286d0ff223d0605d2934ccddacdba89a415c9f709 SHA512 46893dfc94e3b4901977ca133a1048a45b9c4c57ed81112229a68d7fdc747e289c9e077f33b72ca49cb6e1957193c72d636b257f4c5a6ca624a00b76714fac17 -DIST firefox-115.0-ia.xpi 585627 BLAKE2B 02a7613deef7bc02bbd8595475e55588cb43e46d5f899040b1b28aaaffc57d29ef4141a372162311d6aa4ae9ba2dd170a0ec632adfe1848e6abf923e4a5b4c7d SHA512 be6f754911c9001c1e2b12c7276436495cf2b15806c7f3b721d84ba853d5b2541be2d975d211aa10854505ed78f5eb9e161987ea7a1df16a69d26e2a58a67cb6 -DIST firefox-115.0-id.xpi 571365 BLAKE2B 18addfc6364ff0368c750554d7c06b9bb9550eb473c03705db1064c04b062224744fe6b5bbce5c30434459d90f4c9a80430836a84c4d89e2b429dcf056cb558d SHA512 01f44ca55b18fc62a46995a0ca5042232286be423c27221be2b27f7809d8a22d33a4b470d2dd55475908f029ad3f567131756ec2e9773531b90dc07e490e2708 -DIST firefox-115.0-is.xpi 593515 BLAKE2B bb572bd2185b7d37a7073d54da59b39ab12afc5e2aea5e78d7923a60c6d7eb6e2d270b5bd85a45a02b22ee649730ba5a7f0dcfe5420957cf1b7d8f6f5d24a5d5 SHA512 bab962f78c82de9071148bd540892f4e0d922165590e299345a1dd376f122837c6bcdbd83ee74897354bd39b78fbacbc9f219569cd637908bc8e1cb86d9df039 -DIST firefox-115.0-it.xpi 536400 BLAKE2B e42bf23cbfbf98c1d7cd10742fa38c8a4dc386d5727b1b4b6aaeebae786200dba595bf164c6e33adf2c4d7024ad0dafb08fd22b0a316ed495ee3e7b5d3e76aed SHA512 59115e5e877511b7c7f180577348ebd26c1139924479cd80678226aa861ea3309609319594f629bbd673d73e66438ec448490d9a0d097118c35744c65bedeb83 -DIST firefox-115.0-ja.xpi 648099 BLAKE2B c65c268e19b5f57db271964b80655b3e8c909aba7c6cd7e5de04e10c9d4d0c214ef0f06d095622378f3818214e06dd3eeee7bdf52e44db78a656d2a4bad61747 SHA512 ac40a8b7f43c471ce75a16f72dd275c23ac2219f8f9fd21572c14542d96b692c9f93969d1685cfa6f5324e8c3b7b2972ab174f304c6cdafbc7a7f6f9e64bbec5 -DIST firefox-115.0-ka.xpi 651351 BLAKE2B 0e7093f6d1fc277c6307d4611e0df977d70c7ffe724a0ef4331a327ff4e915283bff570fbe98e77894d2a6d28c46a0be61b1d22c32ed3dd22a48aa041608b641 SHA512 3fcabf254bbf6f2cb298f8b962abf165167cedf8d9830a9f8cb179410c8c7f9eb44da02e01641404c5a7db264ad6c396d79f9a337a9322cb9b8be7da19b56e7c -DIST firefox-115.0-kab.xpi 598563 BLAKE2B 3255924946f466f63e1dfaaf9d5e83e0cb7fb7105d2a53c13898dfcf9d1c65f2b47de74d20a5efe671537a5314fbc1893ac9480fc5c5eb0423f924b06a8613bf SHA512 40cd89cac3cb28ab3bbb123c5439e9786ddd5c413d37a003debccaa300dd5b5fcf5688cd432071d01742de828b12606e5b7f5f6400d606a48ced376ae639f75f -DIST firefox-115.0-kk.xpi 674098 BLAKE2B 35d2664e9b9268f669164949d4a91b008d4661eb0ce903ec921ba6c29f05b736c91fbf0f7e2f2a78e31b5bf6482485d92e6993c8456f2203fb76d1b3deaac21d SHA512 e63f17dee22752647d25276416d0f0949ecbe185b287c3669926edf2057a6d4234998e4c8b8bef64a277b2afa9bd39c34846fcba125ad72dfff9822f98390fb3 -DIST firefox-115.0-km.xpi 543685 BLAKE2B 45f13ef0f1e54dd7f599438faa07dff887d21b819c59a9b3059a36e51b414cf509445b172bcd3f8524bda7cb1de3ceeaea9be5b8fc38704171ff46867a7b1a9f SHA512 a918d03fcee91ad32da8c67abe1a0270dddf859ba872fc6e44bebf95cfd44ba5c743d47a1ac1c32943692602b55195b46abb23de93131b080c6cb32ae6358f5a -DIST firefox-115.0-kn.xpi 508145 BLAKE2B d16c60dd10f8534f85d8faf3c73276890a63f26e0dbf4c1641e824e1341bae4d6d9dbec88f20660369920ff2eb01ba9f3717015cfe19fca9c805dabb92205410 SHA512 e793e1272f6810d90eae35876248bc69dddae61443c58ba8efb9da41b015e8b16a6f13633e9fc8fd5cc8a79be3cc1bb31b68d28a21468e601c55fad4f072083f -DIST firefox-115.0-ko.xpi 634974 BLAKE2B a50ceb29c6d706a8665d7c31b673d3bd5c8ffebcdf34bbf2205e4f0be5f18adf44a366fbd3a5be717101245d01d1f4bf6e2081b877618de4be33786b36cdfd93 SHA512 8a41c23034990c784a2a166a6c895da5dcf267991aa6fa8970f49a54faabde92bcd02f108725e07889d5d4566c1360203d86b7ec5575a167cf01a8d3bd2fc46f -DIST firefox-115.0-lij.xpi 493479 BLAKE2B 8ae8568b18b561be194fc43b010134b881dfeb91679c235914a4202c4afc39ce41a75df06c0ab42c7353460795adb30dd50d6017d6ae1403553438febeeaf967 SHA512 34d4954983413eaa0c0f4b4867420b67d686a0c35691842be2c8ffebcb0a8d527cb07e538885302256c3703faa364a66bcb4aa948bf3b902c94a7e386db46535 -DIST firefox-115.0-lt.xpi 583783 BLAKE2B d49e14d36f9241dd23ab2864b995ef88b3fdab7963ebcf17e3a55edef6250f32fe92f10ca142fb74488ebf4b9146de8588328fec9022eaa2de794d948dbebc25 SHA512 7e828c59709c1f2b0ec0096b5123d2e55243b4baf8a38a8d0d851ea58c81a1091b28d20fcd0348abd86b86ff74961809744318d8a97f67a9f8b44d12654faefd -DIST firefox-115.0-lv.xpi 481423 BLAKE2B 49e047b55f019d12bf5f4ee8e236d4fa2fe161694440c165c1b5d98f87c9d38f251aec4273642a39bc15a9f1acc3aa899b33889fb5647976d424f8b58e8bd8de SHA512 a02d4acdaba005efeac9d5784a5446d41fc4ef0646cc4865dcf214e7c4a6ef80deb856875cfa99f61a4bdbba97106fa1555f71fb34bf8114a03e991037ed54c9 -DIST firefox-115.0-mk.xpi 496401 BLAKE2B 350096469a8123b6d944c3edfba925c39e51ff269402c77bf7df63eae125185e47971031b4b1d7a7e7781855405d24413eac527b318a2c9b44385c187b0a28ff SHA512 659b1ee42080110a2a7de7d6cfa427aa6c0a4a4169cf66983ecbed736c618aee51ce17533de65be994b46f6f8665ff1ffe6fabf1209f97a5c30ab4b252857853 -DIST firefox-115.0-mr.xpi 544681 BLAKE2B 5fa02dc03780f87ce09bce25d1aa829c458635a96f76674baa5df6637d2cbadd193490e8ea38391793bdaf05f2279e575b9953ca9f1553c33638d03f1c789716 SHA512 a1d3e8e070e934fa79d9d7bbc0008d88a5b9012f3dac4d349edacbefcff1dfd4027a0aa3e09bd90ec491353d3c7e9902e340c93b21ff0b42c596d1d7bbd5f64b -DIST firefox-115.0-ms.xpi 461873 BLAKE2B 0b42bf06c77020d6fd6248e9156dec09239dc17f9407d7ab29eaa8662a6464ae3521501172d1df0dac56bfc938bdee790b377dfa4ffb28e5c69d534a0730dd11 SHA512 27ff6e6ffe4f8f1d8369ea67eaee0982954fe964b7d27c5f7a3885349dcde9cbe6ba49d653321b59d112159f43e244323ee52339fbf0f64a28fcdc43e2574e6f -DIST firefox-115.0-my.xpi 529045 BLAKE2B 1c82712fa3ea44cd2d6c8387e9cfe3aa178ad6f66a24b3583284585b9eaee8da5185598adf91ea56bd8943724c751d82086961a51da596f5fdb52c368e97018a SHA512 c45772e45beda65440b3c3170cc9764e65b0d2bacc129f0f44f8f5b359803fb16bbbdbfef517c589b94a9ab165148e37a7cb2c7cdfb382012e6325d06c87aac1 -DIST firefox-115.0-nb-NO.xpi 582798 BLAKE2B d3eb90b81a731a86cbb2180d9b06e99d5484639247645e05e6e474d32bf85338355c1836e46ea821f0d2accbbe9d88974d53e7c6ab2568639e3fe3cf6a6872e8 SHA512 b5d07d6f6c5e5ceac5a676ab90472bba4ece4f8782d0b64d9c0f2ecb04a5ddccf6707d920f242fedc3fb231b7e0aac24321c71d6286ca165b99559478cde55ca -DIST firefox-115.0-ne-NP.xpi 496628 BLAKE2B 0f8924ba1e479517c265d8b1ec0ef7ae0caa5b8c36e3d272350389973b3b8c816b5da1ccf36b5819664cddf5bfac272a1e1e2ee2be8621ca43430ec37478586b SHA512 ae359757ec10146c59bc151e5b2bd36c908947fad1659e50e7426b84e20ebcd4ab09c0a143088c976dafa860028e9458002d8b303012ef048157bcc3e567b0b9 -DIST firefox-115.0-nl.xpi 591940 BLAKE2B 1bc30b8535096b98b6b2bd30963eb1c55c8f9cccec0f5d7946e93bb31d6a49c5f6867a4c09ee1dc747a633a32827982f1f8ad1c50283be59dd4743155341ddff SHA512 c23a69e5a881bc5bd8da2e36c72379cff5f3908ab5626ad39327ba5c7e236f372d25551c57c0a508c5e0228ccdd23a8a647886ad092a142c152c988ca56fb8f1 -DIST firefox-115.0-nn-NO.xpi 585567 BLAKE2B dfcea0f685efecf1d7f55e4c8d337e8047e1726afb18576573e4e9024fa36b1dacf47f862dc88f443378ba1f6c7f13db6b015465d09a51c9a8b991703e7f2c75 SHA512 0d0129b9cbfea0c5fad34851f8a3195dff380fc52f8a758818bf9d4511ebbbb0503417c5ce2a9a360355cf10bdc7f80962aee3d2b9a81ca497eec50fceea385d -DIST firefox-115.0-oc.xpi 606886 BLAKE2B 4c94a2d3fe969d7a19ff09701cb981c0f9a53be753aad5d881b9bc8f6077d689b6b93b9627f13893e66517f23a612954590cbc040f6abb07f2ae993bf1403f48 SHA512 40880d25a66ef128121eeec8a3937b7bea7b2dfd114a5266bd80dd8728c033f006e693eee64c3d402b5eb4edb842ed81efd62d9bce3400387b3eae685a7f8e84 -DIST firefox-115.0-pa-IN.xpi 665209 BLAKE2B 5279093866d41fd83bf8e5814e6fbc241c7dfc485211ff1387828675c60f6b719a5b2f88baba8af11d85bff4f97f4df4d15b98299545337ec36b20cf1da66dc5 SHA512 967d818786cc48956c5e9a29724536cf37a218a57d4ab3a22ddb615330ed0836d47f126f1ae74c59c1ba842209c3d299fce5990689e4c543f58e3ec950aeed4a -DIST firefox-115.0-pl.xpi 617013 BLAKE2B e4df7d5f055985a8a54371f2e35b8fa0d0ff3164ff1a545ef5e17f86bca383c6fb6f5eeb08b79e3cdac04befa3ff67d0439c45f5b9db359febd5626430e446ff SHA512 f6c4f9545d11d67fe5e53fc2829bdd159da79806413bd1da7413ef347a8bfb0de16948751460051d6717896f97ba48b588e39c32343475d2a232d2d83cb99c10 -DIST firefox-115.0-pt-BR.xpi 596737 BLAKE2B fd32ddb82135c7b8def7a1f5b2cc389b65b8b65fab83c5618039e73260fd18e6c690aa153b86c189745a7a5e07040312fad6f984dfd2c3cada28d33e8394e327 SHA512 8f0c9db44e620e4be08d63fb8e3939e4a7c2e108d1c85b7c79a79eb98e89abdac729bbdf2e92a63bb7b3a571292066fb1a86a484484ae105b7903731c744b8c9 -DIST firefox-115.0-pt-PT.xpi 598844 BLAKE2B 82126c931a28278d982881a3410971f9c29c5a38af9b9426320d1e8b02573c696fd6913345a3e4fddec4ac87b59cd1d801c974c07f5fe9e09e08a5fd5e855823 SHA512 7d4e1764c6a1a978cbee827dc232c2c83854b878dcf6071ceff3ad2981e2351fce7a009e8270d8dc8ec7d290ea62e3f826aca252ec24534ea9fc2f8239ea904c -DIST firefox-115.0-rm.xpi 592654 BLAKE2B a773dbe0ada3946ca3f0114cfa01957ffe4cae4a7d050582241f475f8165c48e1dc263aa8cdcfb6e095ba42308ff7b6252cef19ed5ed65da60e88e8d61a59ee2 SHA512 3bcf5ac252dfa6832c7618456ef96c9e5bc99e7a9383a9de7c76844cb592ae60ad44acf4a6525e32627e9dc36848969ec37246505893dd26a399d845159c931b -DIST firefox-115.0-ro.xpi 556990 BLAKE2B 9398a2e339be0dd6b2e87df063d13221cea47b570f50b6085467e125673ddec064aeb1d9f5be7fbbd067db0682ebe03230d08b02ce4570d3702c4b9f57c17334 SHA512 0462907802031b86c0030dd96cef07264eb023fb36b5e41187c07664b853bf5725445bc9c4ebef58614be93ceca6744d498e94913ea108ec843b26e7b102139d -DIST firefox-115.0-ru.xpi 691640 BLAKE2B bd79c1b3431035b25c1da5bd6c079f5395ec625d36211100a3dbd955c1dd79d6724d61c0294ae959a97babb2b95da4b93bb06d84d3f1c8cb31201a33e4d9853d SHA512 6495a9f5acd87252c6c5682e2ec04824109f43a5d37e2415dda57a927556c8b08531149f3e26a3ab194f9f3721393160f9c0a2de56146bf7d18dda656e2b4a9b -DIST firefox-115.0-sc.xpi 567077 BLAKE2B 7145548d6a7fe13d3dfcc917d933849d962dca018424a456e93c77e6eb45e3429d4f9cc1e6d2540eb8b51db2b77e9988804a6e7d3842a336302b1903d2d00299 SHA512 be3870912da3b96e2c7540fc248e0587865a8fa57bde87d095324bda8844eb84a38dc18a1459745abaee5b6d0701cbf554e0747b6e132f60e1e500900eb9ec2c -DIST firefox-115.0-sco.xpi 518337 BLAKE2B 1d7ae0ed063b954cec82b6fbc5129ce4042ba32c22ba41efbfeb4711fcf450152b4712144f4b0ef8fffc74b625f35e187c862e2447d8352e9c063f1dedb09610 SHA512 f04e4d1c7aaae01e0778d92c487cf496d53aefe4caa852e997e45f72dfa86fdc1bb3ef6edc2cb0ee96ef6dcaa7fcf26d83cf7be479cd29c0133a07d0887c0d99 -DIST firefox-115.0-si.xpi 593124 BLAKE2B 2e26e0f2efd089ba4b34e8912cc87cdfe7cb3d469997e58a57aa958e021a9abd6b76c44e115151636dd826f3b1d09d4a809b2d2f30f2204fec9554ed7861feac SHA512 f06c72408a476c147887caeb5df8624800f7c9ec70b9fda0597a2ba71f91cae3039dacf434345c119074014ac00dd077aeb225938de9e456f333e8a148bf1b86 -DIST firefox-115.0-sk.xpi 625402 BLAKE2B edd155a9667eb4d1243ffd03a0103fb7310adcc5be4e2f8dbe3ea5d6f2297d39ffa45669114b58ebf1d56646f59deec602b209f00beb7c503ae2528f31f7178f SHA512 bf77e9c2627b44094c7d7eaecd7f702b7974d6f45323446ace8cdcc777cfc8fae62012cb5657c77bb131a129e92be1939f08045c6216fa110a2d01e7ddf717d3 -DIST firefox-115.0-sl.xpi 596057 BLAKE2B e823f208c490ccde23b4178afd56e824823c2a05f89a6dd7c8465c6aede8c009859e62f8493fc0ff2cf7de34411a666249b2749a35fc681de84359169c618b46 SHA512 34f7afb32c8c510aa5055bbe2c75971e2562afd4410f574b8c92f4def8b69d19ab0c1a48a6b4ed98b386d70b97e36d46f6ad1e8b1bcf90d00cd78a5404e2c284 -DIST firefox-115.0-son.xpi 432497 BLAKE2B 49a186b5553c1ab42740513ec1b87f1666039076ba9a72919361784d994ac53b9957cfedd2fa745bf412b85b9cf347fc4c59f674a42143ad790a3ac97553742d SHA512 619be73df867a7179820f6d2ab45f3f01098541afd37a5df7952b767e9e10145ad493d06bd01a25aff941d08bc53de7efcf42e37998f9e0b9ec563bc4fd0c700 -DIST firefox-115.0-sq.xpi 600793 BLAKE2B 9eb98617904946c380963c7db6887aeb00898686c2efa62b54520b63d7950151d427d834855f7d55119032a161630d60375a5c758bcce387e1c0c10f9311c206 SHA512 4506df3ec6aca690b2e708650a564601a9c03cb25f6fcdadfc7e3376349fffbd3bd5ffb81ad62b086c82080827e71ac4e15a5a70d8194d1fea9633646ce0cdca -DIST firefox-115.0-sr.xpi 653896 BLAKE2B bcebcaa4a75aedfced2b1d05acaf68dbae09133dcd976dd5be439dc88929a3ccb842ae883c5b28eb821f591cb78f8ff5b832676f26752f66c00c3098aa7b1729 SHA512 767dabb85aa65c4ca26bad24b98465365a7095d9672f84ac07c4e849bb03b9e6d6055402e3bdcd032acace907109f69952fad5ba2db91329684071f76d3ab854 -DIST firefox-115.0-sv-SE.xpi 593892 BLAKE2B ce614c13d9f9b27e8a7d60fd6cd101646e0ff2446c35fe0f35721877d040dbb231790d64670ae7d378280b4d36a91398840dbd8927cc1fff2b8f88a7079d1c23 SHA512 bcb9b7f6a13b1525d3a2608f12951d9f030100f0c814d448bbfbcd23ab752008c4899bd157abd487ff57ffc85a10ed68151ff8c983e66b391d26ce4611735703 -DIST firefox-115.0-szl.xpi 534124 BLAKE2B a25c61c87cc9b525037d63a63f21c5bb6cfe7278d61e8cd158d5a173b7f78c8a2b0a970adacd3d629584f765bfd5ae073cda4793a3a943f86b9e90f4bdf8f345 SHA512 42a1cc72030604ec4f3218863065933837d6bef774ec42217cca4663184fad13582b90d30b42932093624bf38c3562743a3766ac83bb1c970d770a569ff9daa7 -DIST firefox-115.0-ta.xpi 520718 BLAKE2B 4871972ce721c76fea4c8ea3a62da1402bbdfa69cea74faf57f5d02e872c17777686b8295f1a627e3fdf808ecea79ce57e814ecefd472ef741dbf6d97b0a5061 SHA512 94cf50ffc354f614f9e1d180ac43b1c48e79c46a8b2039be825cd86d1cf540dc484b7ced1bac9d2c062c187e2530f3d087c07a8374faee438849ca1744a51a6a -DIST firefox-115.0-te.xpi 570042 BLAKE2B 54ed438aafbc78ed8d9ca2bc87c0835403ad6a2f43ce1c25a82b18d32134c79ef3362952464c3403e00d0ebbda095188435fc00dc0a37e1c51c8aeb6f05c2294 SHA512 fa6f4402a0c701e66c678bd3bd08d39eea1d56abda80e748d96f66e53ee2f637cba77a5993f02c4a0fb27014cba9da1980a683aa6d1ac11a8dc2223b8aee5933 -DIST firefox-115.0-th.xpi 667031 BLAKE2B 53076afeb87c9027e3c2d864880a24986d030eab0f35f1f38126b3fb8601d9edf365514042e6da5dc6cdd0fde3664107b388d7c4f89207f940f753c9b36b8573 SHA512 8dfa0382ea21f55387f422f39e14da5529357163f069e58b2450e518b85e57b6f5f1438cb6a0759a8e52f5785f881c0b3fcbe8c64559644f15486f084009619a -DIST firefox-115.0-tl.xpi 541132 BLAKE2B 0f071fdedf89d642ab4eece4eb50fe9320fa48626a0754a8ef6dcdc4dc626fa09e5335c68bcec82b2ded9941714d21a3afea0838d98eb8fb612c725fc43b9dd8 SHA512 e1c8cfa9bfa4e56fe7ff0d0a92901946bf4a0fc629a6cdcda93af62ad983c71658bc43375d26005c74a4300e9d076b216bf5566d55ed417aceaad274335c2431 -DIST firefox-115.0-tr.xpi 607283 BLAKE2B 46fa8a2bcbc9d2c00aee43b3a34e4d7b69365b4d8a34d7664fc59682006ffd292a9b332d172866707bc8f7fca1aaa72e66ca4dd2c209a37916e08a63d29df335 SHA512 fd7d088bb1b72ffbddb07f32bb5ac93b1cab2051beca78ac7bf32c6729819777ae6e4557af33af75c14e606922bcfa742ac1a8410c2864ed3c6409506cd2a6db -DIST firefox-115.0-trs.xpi 501893 BLAKE2B 6c5dec9dc0a223858a6c285c14b0e1c9d684a40d448aa12717da38ff860b14553e62aa3e752a85a93a9c7486a4e885c2230e2847c364d989d7159bd496e0ab02 SHA512 bbf6cf5434dd17e765ab6c135b30829e5a4b9e19fb2cabe071827bd46b253d2d5c7a1ea097ecf5383825d6e253e2d8ab96f1d97ee14304d6047ee46fca5f8cbf -DIST firefox-115.0-uk.xpi 684819 BLAKE2B 4d9163c890645efbb27233ba51579e8fec42f30d8bf822e10f0e660407f0adbb58252e42e446aeb528cbc49a49351bbd0edca2dee7b9795fd5142c799f42353c SHA512 8970e2ce1b312fc5618d6a547e6e7b0c7688483a354f3f8bd6ae4d2b0ea6ed9c38e80686e0bb055c91d3c5b428637722959c7417171c7626333385753af1bb8a -DIST firefox-115.0-ur.xpi 570586 BLAKE2B 7c2f57a9ec094062afbb0a9025fcd3d907676b32665dd40018c55f7a3465b52a352acaa673e5bfc035be0efbae1080127439da9efe94f69fa4ef5ae64b42341f SHA512 4210e9d081d260c8ea860ff5e664e532e1f230727c199331ebdf00d0ab7f22616813af79c8f8fc6e83fde39e7e14c125cab19afbed7b92c0692a32afacac9548 -DIST firefox-115.0-uz.xpi 488313 BLAKE2B 7186fe5c3e14f0d52d8ff3ef0bef5a285e57285bdc867e0611d93db148874d23d70c7427d0f2082231407c0d6a9e9e78e0ad686841868636d197914b4798b633 SHA512 3485f3f4fa74bd0d7a6c500f2c18cfa077ae90b5b952dea25352031990fca4dd832897e9a8782e39db7c12017dcb28a80b0a04a05d4236171123428742370d31 -DIST firefox-115.0-vi.xpi 631054 BLAKE2B 78293b383d62796d9731cfa669671c3405faba23119c20767893cf5df3d66cef59b5fc406d243808a4c68e1fed793bfd2ef05193379452d1c56078757ca7c525 SHA512 c2910481a0950ed69a52283b70c40e3c7ad5840865efc07cfc82f8e5deec1144fd80b60e62324c73eba0dbc675b57ee0f89f8b20220e818ae77e1b4bb943871c -DIST firefox-115.0-xh.xpi 429450 BLAKE2B 206183f10758acde849aaddf3ac261c49fc49c274ca643ae46b0609779b18b85391df3a2f3e34b4854f4234860df374c8aadb2711a0220f8414dcd0988c0fd9a SHA512 e696b5a960f12173e6766002f6cb8b743c422ea13d0067ca1c78b6626846fb42216dec1fac536407c3a4466cbc48c25cc7526544537a3be4215882f6beceeb24 -DIST firefox-115.0-zh-CN.xpi 629739 BLAKE2B 4fdd9f7534512796b5540aa08a0519bebeb12b1d41ebfa6b7669de94a68769b53bbb90535c5b7473f3791378fdd92a7bd3901189dcf93e6a8a5fa437a45ba9bc SHA512 9ba2ccfe09104ee005f39a6171724f0fdfa89d11dac3d1747c77d431513ac4cec1b5cd869ad003f8b07249fdff7bdc335e7596a5326b4e6d738809d1d79a610e -DIST firefox-115.0-zh-TW.xpi 631510 BLAKE2B ceb95485fd162e056a4d02b310d751d3023963d4cd64d11205fd06198ee4757c83601cfa65163ecb2c1868fdf7d8872beb0b1dc491dd4b59fba98330398d8fb0 SHA512 afa77b7e710329af3cb1c8b1fd65a42e5c2bac52495a3917047b7fa7e5d813cb4e39d03e649e6aed34449011926cd82baa2c7fa31eefb969f9806c1d9485b052 DIST firefox-115.0.2-ach.xpi 469325 BLAKE2B a2989debc49362fabba6dc6d7d47cb4fb65aeb898e52e45d7ecb7bd7b5343c94600adad3e614f57c14491cc5c62e3dedf38839b8b06fcdf0dc1f62d220953d4b SHA512 373ad7914d4cf2348faa21f8539bbea2583d8e35bc00c647d8c68bfdaf59f67dc9aa413d62d45c1f4ddc120d92e854cec34721d5e4238f3abeb1fda95970c3bb DIST firefox-115.0.2-af.xpi 430126 BLAKE2B 87f2a05edc259b463261be7e6115df4a69facce3b49c766f7b3f55b6f3540ddd4e3c24b880e2f4da054fc5fa004ac7bde1bc6627f9804282e9b28a7e3f0577fa SHA512 2e79fd92f8ef924aae69cfabe86aabaf0cd9aca96e37e651fee5981a22336fed801a490ce0b4cf74e41966a24f88148384eec2b36054b35ec0a5c38b5f055b84 DIST firefox-115.0.2-an.xpi 514826 BLAKE2B 32441bf332e8e5aa66c6df851084c6dfb28faa5fa1bd45b46ef6fba15882694d689314109482027402fb8fffe9fc3a037a2ee3a185450096dd339e871b230989 SHA512 c462a6e9cd53db577ea705801c4492fd9cf74ce0a218bc13d828591caddc8a9ff1811a0c404bb97ac0a0152abc9e811dd4d7eac285242b7361275c785dec99cf @@ -609,11 +209,6 @@ DIST firefox-115.0.2-xh.xpi 429442 BLAKE2B ab34436e2c2c9dcde04f38f638be7cdcba593 DIST firefox-115.0.2-zh-CN.xpi 629741 BLAKE2B 7ac24b4ecd0c9d96ec0fe8a4e068845295c43104c50077e0eec7ece976b787042e762d1f2d08045d4888cb4efc77b96457cd448a45312c05812511090e000017 SHA512 6d1cd6f0815694e3f6dfcb10ac7082752f479ac5e5b6ae6f1cadeda79c531dd41114e5ebd2b8ff987a8e136d9311ef77fe78c1992f983a774937f0e65e3d9a2e DIST firefox-115.0.2-zh-TW.xpi 631509 BLAKE2B 70e0c60f846c7ec864b956fcca6c209169abdac3e791bc7e60ce9c0c113b8367d49f699afe4938d58fae1c0fff5667bb01c85444ac6078d8fedaa6826e76d617 SHA512 a2aebe7ef10f371a56a52c29cb878274135cec914dc639b29f9433a462cf95e0b88234098ccd2fdd426f2e39ac8ae9c9504e87a55612d0e6e02b52738dbadcff DIST firefox-115.0.2.source.tar.xz 506385780 BLAKE2B ca602d102f2b7b7fc7bebb6ca4b21e548d4542727da94410497ad6774b6dc7a9eba778c9b6e269beabdbf647e3447f621103cb68fbcac77c4beca1829cbfc535 SHA512 de6ce8a2512e862c69a7d5c557d6168498d0d40e9c4b54b775f81c444e863a64c43130d57b51b360db4224c34b64a93f3ad263441caee713243b97750ec1eb4b -DIST firefox-115.0.source.tar.xz 505151516 BLAKE2B f5489d96be60f3ed5f5657cb43142a876a7ef2bfe46b2ebb54df2b9be8262ab8c8d3aa342adf84fa68ffe0abc63e3b4671f310e0a3dd4c53c137a612e9e67932 SHA512 ed5d150e4dfdc01026beb3ae502a0b04321dd130084fdef63afce79a8a7a4898741d08f77716ba720c24f31b9c732c00ad0f1cd408b35b5eb6601a10014fb1a2 -EBUILD firefox-102.12.0.ebuild 36934 BLAKE2B c220162fca46646a54dbfdbffd8f1f48d7dd5bbb89fd172311eeafc2c151ac0f99741e45f79beaee5cf14e76818814770101ff806fe063595d0d0e1fede65691 SHA512 326871f23739414945ff6213c68fd17806b1a8195040a0be836f07b558d1ff67786f5179671f1a7eedbd9c4035f200954acbefe85ccbe5cfb4b31708824d7448 EBUILD firefox-102.13.0.ebuild 36906 BLAKE2B d266c7b9564e0eabc9cd9d3c2f10d8d4037a1f9af44e2c35b13039cea04a41544345c7dcdecf0bbc1832b8e94eef73b08a623a9a4705c39f3de71a022e622bc3 SHA512 74ed20a8b2579864feb5f4b96c739718359a6b086e3e4d008f4c86dbc56697ceda6882fdda21b03f8beca16ebc91a5752f80e5755bfa0ec5516959c090837222 -EBUILD firefox-113.0.2.ebuild 41932 BLAKE2B d1c0bf0b9391896ef853224a1aea274e6ae933cbfd437221d8fc189323625ccc0568f3ed82094bd4575620a4e121bc652556b8a62cd19b2ab9ca70083a575165 SHA512 a241b516ee3302458c2bd99bb40a3b8e3e6af7955308493fc17b5c73ab8c486cec08b62bdeabd2247a505351edb0ee5c9957320f3b4b0345e7143501a4aa6d5c -EBUILD firefox-114.0.ebuild 42940 BLAKE2B 280e6c46998da3f76e903f6d2180aef136c9088b4406c3eb9c8bc44a021739fd599860e48514f161ea6d41405f3466ca3b33d9f1c3173275f974bee87546fdd1 SHA512 b75253a0a88b3c43f268fb765dc0aeb8759e21386499ef8dff747ba5489e0bc0b2393475068fe64f94af09a3a12b8a9ec7cb01243cd8917c8a2376a5acb6bc8a EBUILD firefox-115.0.2.ebuild 43175 BLAKE2B c1f4a4a6b6cc261dc4d9b6fa67beb9d504324c4661cf6b95dd3f522c958021d69c60415960aef17feec6bc45fb0aa6f3fe649c80ace26aed18ade3dfb86c5244 SHA512 200e0bbe6544bcf77959c1719d12a0e50cfb93994407a053790a5b784a10d438724a1f7f3bb545e2e76ce80b87e8927cb480882f10fe6458e19479e1948c996c -EBUILD firefox-115.0.ebuild 42967 BLAKE2B 03424e30ab150459f8e727555822313f4cb1c5203db37d65d6f6149a4638015c9520a543ff6a6859a0d43c36e433681529676c96bc69b381eab37a65e9601918 SHA512 4c000ba875f648e33e4952d453a45d9b55c5112a339e390525561935fdbf2243cff333748a7d2bbe9b67080c6fa5f334452833b4b661a9e450656748a4c51570 MISC metadata.xml 2658 BLAKE2B 4e52ee338d13627658328468081959897f9ffba3d0729a03975f756ed95e2649e21a40de4933c0a2bdd9c1d4dc6cea973f503a3d448f49f73ec3eafb933f6845 SHA512 1062c2e2a49757a8e3b027db5d425113ce6e7bdba630786109caedbb3717c7600094c7bb3fbc83e1887d96e464f0dc48bdbcff16d396ea5481f36040e0e4c70d diff --git a/www-client/firefox/firefox-102.12.0.ebuild b/www-client/firefox/firefox-102.12.0.ebuild deleted file mode 100644 index fb194b6eda9d..000000000000 --- a/www-client/firefox/firefox-102.12.0.ebuild +++ /dev/null @@ -1,1278 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-102esr-patches-10j.tar.xz" - -LLVM_MAX_SLOT=15 - -PYTHON_COMPAT=( python3_{9..11} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="pgo" - -MOZ_ESR=yes - -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,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -DESCRIPTION="Firefox Web Browser" -HOMEPAGE="https://www.mozilla.com/firefox" - -KEYWORDS="amd64 arm64 ~ppc64 x86" - -SLOT="esr" -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" - -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" -IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" -IUSE+=" wayland wifi" - -# Firefox-only IUSE -IUSE+=" geckodriver +gmp-autoupdate screencast" - -REQUIRED_USE="debug? ( !system-av1 ) - pgo? ( lto ) - wayland? ( dbus ) - wifi? ( dbus )" - -# Firefox-only REQUIRED_USE flags -REQUIRED_USE+=" screencast? ( wayland )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - !www-client/firefox:rapid - 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 - virtual/rust:0/llvm-15 - pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) - ) - ) - ( - sys-devel/clang:14 - sys-devel/llvm:14 - clang? ( - sys-devel/lld:14 - virtual/rust:0/llvm-14 - pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) - ) - ) - ) - !clang? ( virtual/rust ) - app-arch/unzip - app-arch/zip - >=dev-util/cbindgen-0.24.3 - net-libs/nodejs - virtual/pkgconfig - amd64? ( >=dev-lang/nasm-2.14 ) - x86? ( >=dev-lang/nasm-2.14 )" - -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.79.2 - >=dev-libs/nspr-4.34 - media-libs/alsa-lib - media-libs/fontconfig - media-libs/freetype - media-libs/mesa - media-video/ffmpeg - sys-libs/zlib - virtual/freedesktop-icon-theme - virtual/opengl - x11-libs/cairo[X] - x11-libs/gdk-pixbuf - x11-libs/gtk+:3[X] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libXtst - x11-libs/libxcb:= - x11-libs/libxkbcommon[X] - x11-libs/pango - x11-libs/pixman - dbus? ( - dev-libs/dbus-glib - sys-apps/dbus - ) - jack? ( virtual/jack ) - libproxy? ( net-libs/libproxy ) - pulseaudio? ( - || ( - media-sound/pulseaudio - >=media-sound/apulse-0.1.12-r4 - ) - ) - sndio? ( >=media-sound/sndio-1.8.0-r1 ) - 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-71.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? ( - 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 - ) - )" - -RDEPEND="${COMMON_DEPEND} - jack? ( virtual/jack ) - openh264? ( media-libs/openh264:*[plugin] )" - -DEPEND="${COMMON_DEPEND} - 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 ; 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+=( gn ) -MOZ_LANGS+=( gu-IN ) -MOZ_LANGS+=( hi-IN ) -MOZ_LANGS+=( hy-AM ) -MOZ_LANGS+=( ia ) -MOZ_LANGS+=( km ) -MOZ_LANGS+=( kn ) -MOZ_LANGS+=( lij ) -MOZ_LANGS+=( mk ) -MOZ_LANGS+=( mr ) -MOZ_LANGS+=( my ) -MOZ_LANGS+=( ne-NP ) -MOZ_LANGS+=( oc ) -MOZ_LANGS+=( sco ) -MOZ_LANGS+=( si ) -MOZ_LANGS+=( son ) -MOZ_LANGS+=( szl ) -MOZ_LANGS+=( ta ) -MOZ_LANGS+=( te ) -MOZ_LANGS+=( tl ) -MOZ_LANGS+=( trs ) -MOZ_LANGS+=( ur ) -MOZ_LANGS+=( xh ) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json \ - || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="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 ; 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 - # 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() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - eapply "${WORKDIR}/firefox-patches" - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Make LTO respect MAKEOPTS - sed -i \ - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure \ - || die "sed failed to set num_cores" - - # Make ICU respect MAKEOPTS - sed -i \ - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py \ - || die "sed failed to set num_cores" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ - || die "sed failed to set toolchain prefix" - - sed -i \ - -e 's/ccache_stats = None/return None/' \ - "${S}"/python/mozbuild/mozbuild/controller/building.py \ - || die "sed failed to disable ccache stats call" - - einfo "Removing pre-built binaries ..." - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Clearing crate checksums where we have applied patches - moz_clear_vendor_checksums bindgen - - # 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 - 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 - - # Set Gentoo defaults - export MOZILLA_OFFICIAL=1 - - 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-updater \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${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. - if use ppc64; then - mozconfig_add_options_ac '' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - mozconfig_use_enable geckodriver - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - fi - - 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 - - if use wayland ; then - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland - else - mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3 - fi - - if use lto ; then - if use clang ; then - # Upstream only supports lld when using clang - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409 - mozconfig_add_options_ac '+lto' --enable-lto=full - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # This is upstream's default - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - else - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - fi - - # LTO flag was handled via configure - filter-lto - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - else - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # Modifications to better support ARM, bug #553364 - if use cpu_flags_arm_neon ; then - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \ - --with-thumb=yes \ - --with-thumb-interwork=no - fi - fi - - if [[ ${CHOST} == armv*h* ]] ; then - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard - - if ! use system-libvpx ; then - sed -i \ - -e "s|softfp|hard|" \ - "${S}"/media/libvpx/moz.build \ - || die - fi - fi - - if use clang ; then - # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 - # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') - local disable_elf_hack= - if use amd64 ; then - disable_elf_hack=yes - elif use x86 ; then - disable_elf_hack=yes - elif use arm ; then - disable_elf_hack=yes - fi - - if [[ -n ${disable_elf_hack} ]] ; then - mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack - fi - elif tc-is-gcc ; then - if ver_test $(gcc-fullversion) -ge 10 ; then - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." - append-cxxflags -fno-tree-loop-vectorize - fi - fi - - 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 - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - # Handle EXTRA_CONF and show summary - local ac opt hash reason - - # Apply EXTRA_ECONF entries to $MOZCONFIG - if [[ -n ${EXTRA_ECONF} ]] ; then - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} - for opt in "${ac[@]}"; do - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} - done - fi - - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if use pgo ; then - virtx_cmd=virtx - - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - fi - - local -x GDK_BACKEND=x11 - - ${virtx_cmd} ./mach build --verbose \ - || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-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}-esr.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 -} diff --git a/www-client/firefox/firefox-113.0.2.ebuild b/www-client/firefox/firefox-113.0.2.ebuild deleted file mode 100644 index 2f6c80789559..000000000000 --- a/www-client/firefox/firefox-113.0.2.ebuild +++ /dev/null @@ -1,1425 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-113-patches-02.tar.xz" - -LLVM_MAX_SLOT=16 - -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:16 - sys-devel/llvm:16 - clang? ( - || ( - sys-devel/lld:16 - sys-devel/mold - ) - virtual/rust:0/llvm-16 - pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] ) - ) - ) - ( - 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-mold ; 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-lto - - 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 -} diff --git a/www-client/firefox/firefox-114.0.ebuild b/www-client/firefox/firefox-114.0.ebuild deleted file mode 100644 index 19e0d6bc2763..000000000000 --- a/www-client/firefox/firefox-114.0.ebuild +++ /dev/null @@ -1,1455 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-114-patches-01.tar.xz" - -LLVM_MAX_SLOT=16 - -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 valgrind 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:16 - sys-devel/llvm:16 - clang? ( - || ( - sys-devel/lld:16 - sys-devel/mold - ) - virtual/rust:0/llvm-16 - pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] ) - ) - ) - ( - 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= ) - valgrind? ( dev-util/valgrind ) - 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-mold ; 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 - - # temp workaround for https://bugs.gentoo.org/908297 until patch added to tarball - rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch - if use ppc64; then - eapply "${FILESDIR}"/firefox-114-ppc64-webrtc.patch - eapply "${FILESDIR}"/firefox-114-ppc64-profiler.patch - fi - # end temp workaround - - 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 - elif use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --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 - mozconfig_use_enable valgrind - - 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-lto - - 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 - - if use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --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 - - if use valgrind; then - sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die - fi - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if tc-ld-is-mold && use lto; then - # increase ulimit with mold+lto, bugs #892641, #907485 - if ! ulimit -n 16384 1>/dev/null 2>&1 ; then - ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - 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 -} diff --git a/www-client/firefox/firefox-115.0.ebuild b/www-client/firefox/firefox-115.0.ebuild deleted file mode 100644 index 7a883003468e..000000000000 --- a/www-client/firefox/firefox-115.0.ebuild +++ /dev/null @@ -1,1458 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-115-patches-04.tar.xz" - -LLVM_MAX_SLOT=16 - -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 valgrind 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:16 - sys-devel/llvm:16 - clang? ( - || ( - sys-devel/lld:16 - sys-devel/mold - ) - virtual/rust:0/llvm-16 - pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] ) - ) - ) - ( - 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.90 - >=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-73.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= ) - valgrind? ( dev-util/valgrind ) - wayland? ( - >=media-libs/libepoxy-1.5.10-r1 - x11-libs/gtk+:3[wayland] - 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-mold ; 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() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - if ! use ppc64; then - rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die - fi - - 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 ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_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-legacy-profile-creation \ - --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 - elif use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --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 - mozconfig_use_enable valgrind - - 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-lto - - 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 - - if use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --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 - - if use valgrind; then - sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die - fi - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if tc-ld-is-mold && use lto; then - # increase ulimit with mold+lto, bugs #892641, #907485 - if ! ulimit -n 16384 1>/dev/null 2>&1 ; then - ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - 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 -} |