diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-04-02 01:33:41 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-04-02 01:33:41 +0100 |
commit | 6be74aaad3f65bab8561cebfef177dc28d802d9f (patch) | |
tree | a68f98ee3b67b95f841c93f5056c9b610fa4e6e2 /www-client | |
parent | 9cb5d77a6732fadf391fd38da00e6921f3e23112 (diff) |
gentoo auto-resync : 02:04:2025 - 01:33:40
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/Manifest.gz | bin | 6204 -> 6210 bytes | |||
-rw-r--r-- | www-client/firefox-bin/Manifest | 100 | ||||
-rw-r--r-- | www-client/firefox-bin/firefox-bin-128.9.0.ebuild | 359 | ||||
-rw-r--r-- | www-client/firefox/Manifest | 205 | ||||
-rw-r--r-- | www-client/firefox/firefox-128.9.0.ebuild | 1380 | ||||
-rw-r--r-- | www-client/firefox/firefox-137.0.ebuild | 1371 |
6 files changed, 3415 insertions, 0 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz Binary files differindex d11885d52a83..1a23f6076dcd 100644 --- a/www-client/Manifest.gz +++ b/www-client/Manifest.gz diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest index c18e38da47cb..aa77122ff699 100644 --- a/www-client/firefox-bin/Manifest +++ b/www-client/firefox-bin/Manifest @@ -101,6 +101,103 @@ DIST firefox-128.8.1esr-vi.xpi 683664 BLAKE2B bbe94810fbe55da8f48683d1974deb16b6 DIST firefox-128.8.1esr-xh.xpi 452417 BLAKE2B 53743f5016392b56f7b3b8c1cd0e4961e633310df5869ee27773ef287ec40731b03a48ada0d1d153bee286abfb87c3d8b8e5d4fdbd0728fdb78a37fc769e27b7 SHA512 16c79c12f7f6db2330ee1e1b8acf60b879a3ebf1c3984fbc050466aa8b12cd49099f3e5f43685d1d5fd84b3687ef7c0fee47f90a937159210f66c07c663f5f0f DIST firefox-128.8.1esr-zh-CN.xpi 686327 BLAKE2B 0aa3e199c756c468357b79ee779482fed166bab0a508d6120cae2b2831df29c307ea4300245b10b23077391add699fb75543f6880673164ad384f02d3be38bee SHA512 85e65e84a881850855b102887fb81b68c60b5d8d59d340495ac37f5ff90b8ad374739087bb6e96eb7f42f2b75e6406cc4952077d446864d0acb98ca27d0bfd82 DIST firefox-128.8.1esr-zh-TW.xpi 689142 BLAKE2B 6ce529f46addca90ce5006748833deb18194a82734a047b4e1c37b36e2a599f380559c1e6552c32a9730f1757122c8130f49f476f84abe9d64fc50bca72351e8 SHA512 9858cb4487c48a29a68866432b585da4b9547e2b65451551272bf5a78af026de60201a24363cecd17230b2d1e16d7bc88562a30a7fd398a0668ff10364374ecb +DIST firefox-128.9.0esr-ach.xpi 482233 BLAKE2B de820fcad4cb94ada5be9abbee203379cd299ae739e0fca00ac3a9593b906639aeebd7dcd783ea44f9bfcba25a8fa69d9c6f252693d12c8d4448d95aacf62472 SHA512 bd57885d8b5123adcc3c00f486a695604319e8741623e8fb9fd59d2ec2d734283d04ef2bf606a591d8a9d1b492aac6df33732996bad366126fd629d229b93324 +DIST firefox-128.9.0esr-af.xpi 446591 BLAKE2B c3e423119747c01e68bfc5ff09050191d07d192b43ea1bdea6643bb71bd565821b545d9cb5b7d85595a0859c557797eb6599a1af467d812dbd8ce5a6cb384276 SHA512 ca9626db10d7ddcf9163fe13a5e690f3d1bb9aaf3453d391f4d41cad36a06ad080bc2dae2fce6e0b9748170b2fd6ca9068d28a457f5e655dcef44b6cb5d91af5 +DIST firefox-128.9.0esr-an.xpi 526053 BLAKE2B f4262addd499702ea6f7fc4f1562e05287f7b10ae487c3435dcab00c912410f3e36c5fab2b7a1630d9e158c48e9fde8777920b9fd3a62ad603495c8508243746 SHA512 440a2fa1f2890316ebfbfeb25c5b903bbc743121374561671d0915e20ad8d3817a60ad673f251ba7d73605b8a47af36174e37f4c97d7715ddb2b551eb5564ae9 +DIST firefox-128.9.0esr-ar.xpi 650461 BLAKE2B e4f8188045f6fa0a03add36c19ddaf58830bf996d11fbf121d2068748393c73ae86cc8fb038b74d69a6c6a4c88ec7b24acc45888fd71c035265fb17b6be7eaa3 SHA512 bb8e6edad4fb8f7ef2da29d57a27a65a26933246d875fa00bdf69cd3eeefd2df7e43a906e3bd49f67edd92f4911565d6444ad2f61f9fea130bfb88e6858056df +DIST firefox-128.9.0esr-ast.xpi 508562 BLAKE2B 1114f3bd994e20ec82d3bb552ab7084fa5f31fc2467cad4ca0c6e92d59e10f8ba09eb05ca738161556bccaf373536d5cb4821d526a018a56793c58fbbfcea11a SHA512 d457a9db6d6478cf7c66b146e9fa115ab9c209666bcf450bc8d2d7a53eae896ca56d67ed0605b6680ef5aae297e8ef99f960ffee5a36947ac4a82feed02b0faa +DIST firefox-128.9.0esr-az.xpi 509835 BLAKE2B 9c62e6a5d27c4c847f579252ba3a3d5002fafc6fa7e91ff7202b63d701dd6d7fb91365845473f060d5592afcdad933f656a759afa08c2cdf54430be1ba0809ab SHA512 b4242306554295315e2b112648a733c974cb749e9a043a370d5ac7359f0dcbc400799145e7dba819b3c54ca450c76dbc6c55d29a5c8a6b4f0f07ded38d7e8c3d +DIST firefox-128.9.0esr-be.xpi 748090 BLAKE2B de24d9655f97be5e8d5c11608877fd1b45c2eb7c9199c807c9003e9e0bee9e33a8f45061b92a5b2d5ce89d4b4e9afd3ad4996f7634d72f00ec6ac459d86f4fe1 SHA512 705d9d9191b41422431a8d5f3cc7298dd2f789b994affc9985b3a71658f62e49aedcd2aa30f2d621b393a0c535aee753f20f8724bd6efd43ce04e8f853a4e9d7 +DIST firefox-128.9.0esr-bg.xpi 672052 BLAKE2B 4b146c1de45ae7eca50d024c0b0e778b6ceef4736168adc8d3bb99cb6dc0cad583fd656577c1ae1cfba2645de11fb59a6f688a2d85f3414ea408eb47af7a3193 SHA512 4399eb5e0e47a1f1238bfe16d8a87af948431523517a1ae1c8d8738f60eb7d1a2046f049edc635eb37f0b54464d5e44a9d42d39c41f8084721981c2652944964 +DIST firefox-128.9.0esr-bn.xpi 624735 BLAKE2B 490ec1bdac1921cec65e84801cd492c15cb55c1b9e92e2f798b72f0530a8e0addc09eb37385ccf258112010e8ff386a6b8d77356743f128457361aeb0868f1dc SHA512 9a77433efa5d3714531ae8c01548c53ac58b437e04c4c85af8363e89c868b788efa106301c8b4dbce12ede4aefd88b1efc6912d0fcdd5ea8a1ca2963ebc6fd91 +DIST firefox-128.9.0esr-br.xpi 598756 BLAKE2B 54ba19243b46e6d206cbb9825b891141dba1e63ce1619484040e87276b028446b40ed25f864642cdd3a159dd44ec0b2c5a08a2317327b02ae3ec6453d287bc32 SHA512 127503d2c4d0871377a0de23adb6bd475233f4173c2009a868b85011e3a6e8cefc663a479e42b96e975082294a7cc0f766fc6f85a7ac08d9521279bdbab7a653 +DIST firefox-128.9.0esr-bs.xpi 565990 BLAKE2B cd75f0ca8952bd71b9fc0db41af488c62e3327159247468d3002c01b6418ee7608962efb4a81f1e477bc50a7c795cfad543b6f352c8bb8d2751623edc40b066b SHA512 e82c7812547c8eadc2ac8e6caa97c161204d81ebdbf6779fcc5fa8823d9858b0f0be8bf1453ba6d735a28f78226755a0dad40852073838c4cfaf20437c26ceef +DIST firefox-128.9.0esr-ca-valencia.xpi 561145 BLAKE2B d481be5078b1f86fdd1ed7dbcb84e641043ab3b75a243a4c8cf6b2367bcc57ced531ca4b75dba6d0dadc824a4693955a7cab6f0a3fdc8ef11721b0ab5f0e774d SHA512 9d2a7311e523b99e45fc62949fc0e688daec2d5f6e89d350f897948f9e1c630dddf0a1eba88c2a13b4330e3fba75830ddaf960249113a427a419c72ab92a5586 +DIST firefox-128.9.0esr-ca.xpi 609959 BLAKE2B 2082df2b69d981de89045ffc26c6c84f36f311a88be3c7da7b34dec2f81465d729eb8da3189a68eb918d30aa80301768bcdfb6b863980fb0d81dc26177784ada SHA512 95257eb2abf51afc32c52b2d13c3ee87f6d51526842fdece8e6ff9431e634fbbaf7c4ae633a65605fad66010c6e6e9465441fec28d2e0b11c738ad5822c4e442 +DIST firefox-128.9.0esr-cak.xpi 601483 BLAKE2B ad69daeea47730ef03a9f6deac5d2b81e3492ad5eed9d010d03c0ef912ccb5f7c15f4e3cde50d8dfa2ad11acc7eb386ce6407aadf88fa6154f69550098ebc7cb SHA512 22104a718e926cd3f61d8020016a7b92781362d58c09be74487419dfdf6cd9e48fa097384e1f094365675ec6f61f1c7e32b37bd6333036700a65858ba1c2deb5 +DIST firefox-128.9.0esr-cs.xpi 690630 BLAKE2B 2885edb13f91b482e3f4f972f7d0cbe7cffbe15d9aae74570ec33033c8281572524b746022e52496b498fed977546d30a2cf365b43a4ef48696d25f30219c0bf SHA512 18593f4b2b42176d7031ea18731e0a2ab090af69695289d4f296be914de041265a8f2fbb2429d07c88f77e2ce3ee58e6c41b690ed1e665cd3551058c3972c81d +DIST firefox-128.9.0esr-cy.xpi 650601 BLAKE2B 48c131e3a5f0d228ca7c3d71f799a10f0288ae305448854a50e27331fdf6402f5a5834775c24d73e6e5c39a4cd917bdcc1dcd07d606a31485fdd2f58f66d72dc SHA512 ac12fbe433e37aafe44b9e4c8437b50934026345d2c9a62b97b7af0ef7d5e292e18f698f5f5aae2966182c95cecb17c408f6fd7793ae6d47debf732a645d9bb4 +DIST firefox-128.9.0esr-da.xpi 638629 BLAKE2B 85fa3a40ccf77b1b063e9507237effd5bd9c3c898e81206c6a89a1db49bc871a572ea00bae3e526200855e8b3ef81ad4e29930539e5322983b88dfedef21bb42 SHA512 5e43cc09e18de017bf97d518d17b9a6294273749aefbcbe0634eec0a1191efa6bc7f690ce4f68004e3581a2ca9d3ca601e0d67a9535daf70c75a7f64179c6573 +DIST firefox-128.9.0esr-de.xpi 663124 BLAKE2B 4d08767590350f41235b3714eefc2d68181d8765e2fbb56723773a8bba31c448f6b2e0beca4c4df970f471c46f51de4019f0e1da8a700fb89dd96314ade7831b SHA512 ebc625e067c24192f925805656fb04efbdad5b6e6eee638ea4b60a9918258db4e3de2c3c4054e122593c84172d843ae9d45789667b07dd8216f0eaca44418727 +DIST firefox-128.9.0esr-dsb.xpi 679863 BLAKE2B 33be6510de718ddf6f49c39cc34139297aa4297d030e8ae93e67312207d6ef620a031520f31abf4c1a157eac25ea8203961128fe6213c75518d6e589d2e5db6e SHA512 8912433a9aa1b04773904502232a9f398ad30ab5b760702e0be81b7dfecb80d1d9ca326fd6191b474a04259c3e898cacfe4d4c69956de5037619aa4dda3d6e94 +DIST firefox-128.9.0esr-el.xpi 764545 BLAKE2B 0ce6b5852617700ce6ac21cfa04891ef496c8939e2c3880ea342761ee2ca9ce76298a145874c865b42e34acd18854aa88583709be770e68fc0823d0f987d855b SHA512 0a0a54aa8a6f0ce9f2d00582a4837f34fd1c93ab45035b07508a2bd4941250bdecf96f62da19c5e9c7082c0d306dfec858fc28e59776befc906dcf9649a8e7ba +DIST firefox-128.9.0esr-en-CA.xpi 610418 BLAKE2B ad92e2622db61aeeee14bdd76e04df0b3ca52f9c04d420e14a5fe95fc909cea35a08eec2164819b19b29850a2f1b9fec622195a6af6ea76766e95aa27e7a2dc5 SHA512 81f7ce9d568446e123c21d51ade9e860228eab058b16be6ce4b76389d70b606257515490372398e7e6233dbf107b6cc679a7f2d2d32c0b2a16f4c559bd34a0f2 +DIST firefox-128.9.0esr-en-GB.xpi 610785 BLAKE2B 87051894d09bef02066a1ce6261d7ed61ca985f684f43020d9325310e85e7796f84783e1640dbf6799a9be84fc5474c5f9ad2776bcbd0db6ede9c38a905fe23a SHA512 8063cae9c01986003bce3a9f2cf4b59d3631674a75e5e5897ce15fa1f0cc837102c1ec8e933ca2e272665efa4f2e208727f865f241200d5729350e1078d862ef +DIST firefox-128.9.0esr-eo.xpi 643525 BLAKE2B 15814bf287ace7508da0eb5598d4383cca0d2346af5c6aeb38bbf56379f8119300a24a219aa486e96dd810cfef80c9e91eac6db448d8c37ae1bf6ca8e3fb18ab SHA512 5469e508f6fdbe1b6139b7788732a804a6d103414d590f669a901b2f1bd97a5c007735edd5806090f921e88671c581575df72e2549da5546e17d9897c82d8688 +DIST firefox-128.9.0esr-es-AR.xpi 655620 BLAKE2B 91cd3da3c9b4ac66dc28bc391972b9c2f39277d65c577563460aa0dc17965e37b62735240f40cb1d1fef021a52eb8cffe7656c6fe3cbf70e09b2b86dfc9db9dc SHA512 e5cba05d6450642017b9eb6584d5361f2370057798d5c1a1f2546c05bd75ad48c6326eec90bbf0700fc57070ac52ec583806306f74c6f58e11520c7f37f540dd +DIST firefox-128.9.0esr-es-CL.xpi 656061 BLAKE2B b83de10b03f5fe805dfa4db260c6f0a31af61b113a3011f7cd905893ef4461262e9a5946f55e16f4296d31d35be51bab8098cce790a2764af62ad3d7303b3991 SHA512 119c104fc983bea12633d73f3a0279fb866efaa5d4943e84dec59e5422fc14f3915a0225763e52cfee10335b1506d46de6013527f6d7af3f4d4e59579fdcae7b +DIST firefox-128.9.0esr-es-ES.xpi 655178 BLAKE2B d53bdffbebc09d46f8cd7d53e9932d3a4159c434f31c131a23a9a49421a74c8774ab38fe8a675f6663ddd2c41759bc6ab1cf8f82b3a3c096e69c31e5601b1f9f SHA512 e6941c24a9e5bbca27dcf7539902c22160084d324f77bd2fe99452c7e7fa6aee18a2fe5ce281ea90c8baa7efe71a146918390b66b25c335b1d12f022c969234d +DIST firefox-128.9.0esr-es-MX.xpi 657394 BLAKE2B 5515387733af34bf5190bda2382d9f7fe2b785da5fcec4f160e95d36bcad7567c708e57d8fa831d8c68b7e3e54f291b086cc5de436652a27314557e049eebf70 SHA512 e11fec736518ad5cac7ca2306cc428379f58b4f47b2d73f3be79651d9c03f732475f4c5e265ab319f6fd347f6c67f69955a4799bcca54578dd6a19d7d3972403 +DIST firefox-128.9.0esr-et.xpi 556256 BLAKE2B 78f75dd5cfc5c061d71a2697019f4593568344aedd735be3a86daaefa684d48be724819a95cbe0950c0f1043245a5e3d603ea9111c01f746230f4ce9fcafe185 SHA512 6312a488db6461c522e6109957eaa94a8e798fb6734c07f487e7aa9d7c9df409456a72fcfa292ef958323fbddf52abe7cdb81d2f05a456419380b1b7be416bf2 +DIST firefox-128.9.0esr-eu.xpi 623939 BLAKE2B 10417029f41b2f3d0de88777a9d0e3b2bdd49b6b637d857681364720e86802c99fda6a4ed2a072dd073b6f08f680e6ac0397a4e6fcad9cc4c158e57e272da24e SHA512 125dad5f212d8427be049101299ca674fafcaaca185adc3e198b7389c64e5586dbd2d2629acffb200dbc22275a529d9bedb165c01406824e84ed3884377821df +DIST firefox-128.9.0esr-fa.xpi 631016 BLAKE2B 733b4d6d094f59e341506ee215f7ccb010a03d40257d4f22883b36747eeabf7f0bf75c3334ac0147a505c912448710d93d7bec9212f6d09940776c91aef22cf3 SHA512 f7a72fc1b9ace00f3e8aa7f05b02032e1d852a67863770741fb9cabef8a32f2295341b5f276c5e42277bfe3a2f71e4170ff115e2e351ebe868a1900157e78085 +DIST firefox-128.9.0esr-ff.xpi 497848 BLAKE2B 93eeca1b21a65f3c15d44d46029d5b095878179c6796739cfb5c7fde69d188fc23b33a82f1b4074a33140918821ae1d7ac1f0ba5dead99057e41951ac22046bd SHA512 6ce45aa584548adb412ea14c194c4a4760411f9ce6852951a70d74c49f9c3246c2181c66d02aabadf31f6e728d5feedaab04b43a5bdebf325799faf09c76bf0d +DIST firefox-128.9.0esr-fi.xpi 633877 BLAKE2B 586e66829a8ee338c4ae34ee1a65c295a9e9d8c7b609e7adab14f364263384a3471308ceca920239e44b290a42e7cb5bf2a7db745643a545872a8fc42f05e257 SHA512 6214a5b4ea31ce49a36a81e0737cefe2fb77cad19960ee13d404ee1ba07a33d6c69a7159e75cf0867594b8244ca6155a713a76d708c6c7b2f7a7003400a8c267 +DIST firefox-128.9.0esr-fr.xpi 669617 BLAKE2B 8c4c0eec9ea947fa4727a54b0647a3cf1d81d492f5b567ff1dcc81b3a474c5385128224891adbbf7e1724a98dd21dfd0605b08b82665d0879dd4aac58f83869b SHA512 24a48f5385fdb595d0b101285db861afc4f5820a80412711f2df262ff114651ef8188b4fbbc249c5fa8724398569aca3bf6f386aa355897f7f8a5be31d7b501d +DIST firefox-128.9.0esr-fy-NL.xpi 652081 BLAKE2B 0444f5e98a1e8d4f9c467d349665baeb60c844e16f36c5ecd8691b6706388ab766ad1762e014367b57fbdd6263838ec8198009cd608d2226c3da18b02e5ab1d5 SHA512 d0a64483a9a0d072c5391311ae9e14a4cd650a5ebd47da204aa1d51729874ca891d020833f810f2009f1e57c620114a87e9a22d3ef4055f1192d2c8183b96f84 +DIST firefox-128.9.0esr-ga-IE.xpi 490829 BLAKE2B a15846c3173aae1add6d2cb2a8ae547955aff1ae9b0b57ce3e0853fb7ce396a37489acf3f7ff55028709c4028c308602175ef5c5f665e56940aae96696159c20 SHA512 5fa25b7b74f20863e34433ea09c8371026aa65b823729b833629c458d4256a8ee1b020f6bf19c923d6410402f4f6f3ec9a8bb89265ec0c5bfc071c165dfdfa40 +DIST firefox-128.9.0esr-gd.xpi 609624 BLAKE2B 796f55de232fe137dc837ee779f6e3cd855884d87da0c5c8151bb26112ee149afe818611d33f6f661a0b58a3d78bef5c63380a4ca074a44073eb54895df1ac38 SHA512 619fef42f9fb114096ef0768999a7c6d598e77b76fc309265135b017cce4687b22e63d54cadf6e1f7c9752c23916b240b213d88c448d970c94a1f0bf39105bf1 +DIST firefox-128.9.0esr-gl.xpi 615542 BLAKE2B 3f9be0560cbe4d613b983cc524e1b43f7fad9697c8c69155b6a96a2342b40e096991466a0ff06f57fe92dbed25fbf701369291323c6308a0807c1b98778ca9ac SHA512 ad9ea6e3545c87bdb25a6ceba18f9c6a0027065d0ed23fd7bddaa918bcde5f3286f3658d689f578889133e5516c0a46f3c28d0e8c6414d2193a683ab67fcd0fc +DIST firefox-128.9.0esr-gn.xpi 659903 BLAKE2B 334c3770751649184a81abd05def3f9d8ebb026f1acb6184e23b55c42c4925bfc6cb81e9b70bd0a60fa0193d36d3ecc0384f67c2d480faf0ba7a4418ae087e26 SHA512 39b235e08250c80da36ac1de4698ea49fb7d5e15228244374d13a99d66037a24064f544d5b9a374b120c0525cdd336b8e9e09d4e919e7677399ad72d276c43fa +DIST firefox-128.9.0esr-gu-IN.xpi 552339 BLAKE2B 07b1e8ef9c22460b8f217242cef311c889917737825d905eaa705348b52aeb6a2c3ce5e7f9792f230fc2525cd417a0a04d60759d022f62aea8d95a6368c27e86 SHA512 00e9ea2642f0831d8d8b4470e3bc143152774c238bf83f5e81257ba8271ac626876dd029eb048a7a8a022200727380e3399ecbde6b5402d2b4e195ab5245c8dd +DIST firefox-128.9.0esr-he.xpi 659480 BLAKE2B f0df21a1329207302339f9903b015401717d46ae2b8759cb4bfc7b6edddb91449a05637350541d759d951327722a0d4550c042ba464cf2601451eaa7797ed47c SHA512 c90b2a624b90cb671c7b256cd29d7d6c1a16bae06cd1a2807aff5d7d1ebecaff2db57dc18b27a8cf9c865e09b6110977a2ca3e437921defda60e5e85f5df0a9f +DIST firefox-128.9.0esr-hi-IN.xpi 578981 BLAKE2B 1e0881718c7c51ea85528a32dfd3f452b88b422fae27e1fb26ca647bf4b4227db00dd5f453dce786fdf570720eb57b7ba3a051bd2214e70f8af9444769fc4ff8 SHA512 bad6fa4da6cacf12c20ffacf7293a37045eb8cb045e785fa2f6f64144ca64add003d7047e393a4474fab8d9416d8c05738ccbcc759c16f35c49c0e36f9079c62 +DIST firefox-128.9.0esr-hr.xpi 645448 BLAKE2B fc1974587f157fb0261845ffb2080ec571a670e51d9b94c34dda4ddcdf47dbf510d68526bd621cd3c5bf1c31647f128753f3cd524e38463d804d9a1e93fa5d05 SHA512 10f4605c31d6dfc5a685d529607a4458bf9bed8c4a5800ad2e994e6cd9cd46cf7b965e14a25cf05c5a4a8b092007283b6f03c895c1b133570cefcb698e1ca93c +DIST firefox-128.9.0esr-hsb.xpi 675858 BLAKE2B 93e3c63f9071487bec4812489414cbefc4c052b1fa95d0e96d8af984f113e352bd2c19880c362c3d61e7843389c3ee965d38df74c11e3ec9493580aa7aa03959 SHA512 4dceb363bbd77d09e8fd190ba591caa33e25d79b0b6ddaa47b9b415e3cbdb655907acbc4533dc63ae5a83a563414375f8f666b3f3d6745f894fd0b5304bebfdd +DIST firefox-128.9.0esr-hu.xpi 679676 BLAKE2B e66292dc1fe415836f6e073640ea82330b14945ec6dec18dab43ee6423812bee67da835bd03be4af274918e9cfcbebf1ea4ef049eae710e719a645c7caf36992 SHA512 3c1c0c8a9764968375c9fc749c7a73c5945369ea34791c11e0fa61148a74a2cb52acbedfb8f3b0c77df27ab0b4740d3e67f7acf24db1d3db66fbc7ba5d3cdf38 +DIST firefox-128.9.0esr-hy-AM.xpi 664461 BLAKE2B a5463d1938e3e5987d4232160f41eecaeccdf77ee44e3cfab04e1656b3d0def3be86aa638a459afcda80b72e53e93577772fa6b8cc90fe5900a8845134fe2944 SHA512 7d269e8b978a953b05b51c7344de73ef70f90069edb312f072570bdb551cc644ea338ba208a43976586d8be5ce1777a2f4faa1eb373b9e6afebe5ef3d12f8f07 +DIST firefox-128.9.0esr-ia.xpi 637945 BLAKE2B 9040e9e59684354889a19113b2e8054258aab79d16e6f6f51ca87c4a19f26731ca5115634bf7166ec860091b51ed1bdb9d4b937a0520d09c418df974c6135e4c SHA512 b72c7cee5a34445e41c03f1df8a05f3edff49926fc18935072aa3d391e6e398eeae018c6da30e95fc4eea3f475dfbe82690126176d2e80eac012aad640aaccac +DIST firefox-128.9.0esr-id.xpi 625998 BLAKE2B 940d4dbae339fa43a12bbc96ee3dea201df7e122e3bfe982c512c5b6a145d7301c5a58dd07e3d2bc82ca908cd5e8b35961a5f7bad86644f075f1bf2c2611d80c SHA512 5001a9b9a9467462da3ebd735b74ad9506ea30eb6ccb1f9b5fe1b62a9524256e35c2e35d5135d947bd386eaebaa4a71077c2b60db2a6dbed4b49bf9b2554f344 +DIST firefox-128.9.0esr-is.xpi 646726 BLAKE2B 2a6fd78f67e9b76ec4d4f72deaf5d0bb9728a2c34872dcd7e99de469033265e30eb0bdb72a10c7af62e8565855050e0fc50cec05896cee01aa587b4b9e8695b8 SHA512 d74e4845d947f2d4054ad949616340c08429eee43a12aa9d5e69c2249e4fb273e9bcfdac5ae18798a4097059e3e3033750100ed5a7d30f126990d7519169887d +DIST firefox-128.9.0esr-it.xpi 648853 BLAKE2B 5632edcb794b8d2f85aff7cf12c0dab10e4267dae4c960847016c1ca26b674256a19f52c23b8ba2c891e4977e10e62b42d4e6c8fc5e7ab61bb0d71b9a48cb06c SHA512 0901ae1da63889acb5f115cf1e6f4ece049bf5050a4ca83e7166a3ad294aa6843c7710fbb082003cf2c3a2227d9a719dc2999cc0d099b9df27ef4be3994a8434 +DIST firefox-128.9.0esr-ja.xpi 704121 BLAKE2B 2b497029f73aba6eee9ac9330cd3f2bea61cd811ab6f2de48b59c0af5c054140f0fe2551f03858ad160697bbfbdfd71767b5d5025ab85ea97b99491e798764f8 SHA512 612e506397f7a68460336040f611c20b803151aeeedca478bb50a8ad6f4bc885a42f4bb718659967335e2472618871b7b72b19dbfd1c976177d529a49d88c328 +DIST firefox-128.9.0esr-ka.xpi 714511 BLAKE2B 57d687adca2f8d603f946b3e970d02cdd4cec7de82a529bfc54778c1e30ef9bbcb1733a52cf43cc85d9ab0ddf06aac21cfdeb7e62d4be5bf8f6d1a9fb4088933 SHA512 1c19f9da83a015fba008fa8e36d7aa98418beafe05d898d6b0fb261d71536e85225ce43d91b0639d6b125c5a1cbe63e58af1f9db2de3c71937caccbf90c5afdb +DIST firefox-128.9.0esr-kab.xpi 626278 BLAKE2B 0973030f805d01217e06eb1f6b48533297361ae688c4df9748cd9ceae53a30fdacd8c8a15772be6c90a59f0901f94bd9fe1eaa01674e91f832d0aed4163ca295 SHA512 9226114080cca6cd8f5fda21a677c0fa8267f7c1da0f180a8c7df3686d23a5405e845de171414b6b9f7968fb984c143a123df41f6db95556f0f89e0ac01f5bbb +DIST firefox-128.9.0esr-kk.xpi 734548 BLAKE2B 4c7ab97dfa97cd558a82edf2012b48272158a190a0e674a17b81f40093aa4d502209e41878051e3a4b528338761a3a11f4344ef503b826b9d83e152de9182ee9 SHA512 17dda8d71a2ebb531ad31d4e48633e2c9d177bf4ec877ff41fc3a9cd2bd18978083663b67c258402d6c253cd10f79594a40bd7ccdcfef8761d294e8e1251f184 +DIST firefox-128.9.0esr-km.xpi 543156 BLAKE2B 7fc73a8e9dc9d4b0d2e181f4ebc1b3cbc2f684d94bee720bdfbe162c8dafcfc00b5b0311d026170465ac93621daf2552be28b841db799b77c25b080479b12340 SHA512 4d1a99bce1a5bc004fa850587f0ae7ef230492ac01e518ada34fede9eaeb2ee8c985a7f06c3d6139ec9fe6a852aa8666bd890ce504ec60f8a69a991242b00af9 +DIST firefox-128.9.0esr-kn.xpi 520320 BLAKE2B 5a27169dcc147e737f08d047598437290d64b07c0e9f87bbadcd86c508da574b73804c5a8ad34da165e34cda0780525f8ecbf0c2dbdd7b5ae9249200a4d5540a SHA512 57a6d07f14327a22c4ba5b27e3d71d965a122faf91e6a82e572d90fcf8a72728e3f3814294bb56dd0c5cd3a9348e6a408ebfa147d4aadcce2608492993da78ee +DIST firefox-128.9.0esr-ko.xpi 690556 BLAKE2B bb23c9e9f4e01774a434107e9bc25526ddefa624b2e33098c1ac74b62330b793005074e0dddd8fc1bfc4c6ad0fb737de506a568d8025f65e4761235858647317 SHA512 870107571b81aa58ae68e6f817590795f2432615eecd074c02e61a98199c7312fbbeb283ebfae8505e9fd4e9746bc3915b967b34a393612d47c45bab75225a5d +DIST firefox-128.9.0esr-lij.xpi 506287 BLAKE2B 1bb98bb0e7019a28d8e1f41df0b77c2b4634f2d99e81ca7203e2054da5ae0e8b8b4e55b3710483f3b4718e673caba4b168c48c32723628f289e627bf03aa57e5 SHA512 84d0c7cdc7aa952f9f35fbb4c13be79913e24a8d4c9f65464fa2eddff81fcd390c229303cd41c1a3b50e5d92c62cf2311a99d33dfbefee89d444d6d12dc7f0b0 +DIST firefox-128.9.0esr-lt.xpi 585989 BLAKE2B 6e9b52ddf0450f7e6be93263ce6770e90e54be9c521a53e932749cc7c9ca6a53e06b5e1d8edc2bf623a693077829f6d233d248a7b04de099fc8a8809acdba5b7 SHA512 d24f938d17aee234fe297d1fde5da21ba220a1605da52682f4cd100c66f33954be5222236c87de700b037c107964f03fd9089bb70cbe6c0bc6c0444de43c2a18 +DIST firefox-128.9.0esr-lv.xpi 595099 BLAKE2B 7af676dbb13362dec9ce36244cc82178296f1a9bc039c9a669faf1bc30b4856b82a3d4b3b9b248a710850fdb5bdd66d9600e893cf1d217ff59c94b9ab61b578e SHA512 707a18ba623b26b13c7310abacf00080341e0b0eb119d29ba80fff356eccc1da43bdb3ff3dc471f5366d22bc303b25672211ca4e1750ddcc95b80341f3b148b7 +DIST firefox-128.9.0esr-mk.xpi 511079 BLAKE2B e59ccbc56701bdbd231e47339d8d5fb956cc9cf347a83cb5f98d0e2a9403ec92d0ac88bde13d00555f48b2b163f64caa2e5bc72989fecfdf9c6d541a57fbb0fd SHA512 86be06e3aa69d11ecaa350da145f0989c4716a416fc9d840fdf70aa59dfd969c0014c917fc88c3b847594a0d06ca9f1ed843548a19ffe72cf4b674ecbca083e4 +DIST firefox-128.9.0esr-mr.xpi 552805 BLAKE2B 843421824af2f15179a106da57b73c1f9d574f520033802b107411cc5b91ba01ff4be07598eec9e4d903695d0f5bf2d6862113424b895823fbe6fa882edf05d1 SHA512 5af691c8ee4ee3325414ee6b0405d13e0749868dacf06a6bccc3fc90b0e750b2e80111edf89af7548e1e95ffa5a40104f3eb5e37e6af40ac20528b3a2974178b +DIST firefox-128.9.0esr-ms.xpi 477965 BLAKE2B d4cd237760780a195443aad35264ad5b36aaaa60525ad37e1ab78de698ac3f9f62c5495250a6c0c414199a66c33a4ede32356fe833d9b993c2c254eb91aa54f1 SHA512 8d20a9661b443950567cca35f09b257901732abc7857588c9071d40f189523187c6e27b90cd61d062041452179db71d28f5fcfe7109dd29d09c0574aeb0e0259 +DIST firefox-128.9.0esr-my.xpi 540061 BLAKE2B 5a069dc41543c6cef6dd2fd14a3d46e4179cda43f163138228be3516cae0ae01109b4bba04f0f5070828b8ad4d80d515ee58fc86f4f4883521836ed9201fe0e9 SHA512 584d38264b0d60305db8eedfcb2bd53651881b6aec5bd7d317cdca10214cefe86e7b13eee2679a26265f333bc3f79f52cb20ff653e1871928e005067e1aa2fef +DIST firefox-128.9.0esr-nb-NO.xpi 627683 BLAKE2B e3160f3324d2d202123eaf7309e873f01daec2574eca8625bf3d8b0136180c83358e697615bbff5c470c053cb652397d2589800ac1d06f114acf2539e991e697 SHA512 a7e9563bfc2a8ee1f7009e17fc409671959585126d9ecb6f6b36eab393aad4ec6a1298bdff232e18be677112253420e7d04dffdea0fcaa9abb83fb7bdb450925 +DIST firefox-128.9.0esr-ne-NP.xpi 543834 BLAKE2B 3245ddd93ca481addefeefce76068f4bb28445909f259308b7165bfa4a5322027bb052a0b787837f72ce8c7bbbcef71c042eb23940dd75411c66e35a8733f301 SHA512 09780e24f788d1809d3ac6e52559db5c04006161807d345d774c7069d027a5f0c7c8eeb7ffc5702c908563204ec374b4867bf804aca138464256b3a190cc5dd8 +DIST firefox-128.9.0esr-nl.xpi 645183 BLAKE2B 5182c350e0db8ae98e4105575ebb9e7d84e50290ba9ede23e44294032d84070bdc3f66f4f8fd4edf175b9411fab83769aeb8fae56110022b77057bb918d891ec SHA512 91329c3e28cf0baabef30b50e79fccc907e6e348913cfa2428a7f1d5c5b38b9e4afd3cce3c9c625c17a319c64c501c6e923da11a71a615a10df87ae5813de7cb +DIST firefox-128.9.0esr-nn-NO.xpi 630290 BLAKE2B 9fa5b27cff7c26d46142bf5019dd764ccde6be7b7169dec714e35f0a07bd2c1c247c0e7fd56e71f310a915c5ba31f7b60c815c1ac1faeb4ce8feffb8d7864be1 SHA512 e27ceaf937a38c8563a7a768d8b8f60e46d31f32fc7688c0e786349e468d7e5cbc337ff8f459ca3230eb5979c6022a0572e46bc791fcb23d39bcee40a40ca4da +DIST firefox-128.9.0esr-oc.xpi 626819 BLAKE2B 0539a473b34330c09545b6777bcce64107df696954091e733bc14f34c5fb4b8f84f539799d902fd1dcd3158a9e4647af7dfd62be9990baa5d9659fe851e6d8ce SHA512 cb9b24fb091c45580322617c20db99eb51fd3e7914e83febc59aa995198e8071d571223212a3b747015a053ae5511875deb914e8630a134d3a4030fe8f968f1c +DIST firefox-128.9.0esr-pa-IN.xpi 726719 BLAKE2B 54c96c09c6f822158f666fb02c45ebac170def19f7c160fb9c75cf560a84ed24832f3d66c42ec64f4b1b03aae319f85dcbbd3e06413aafe92f5f67774bd28df8 SHA512 b5a314379e4cea258b078ed90fdef21484ddf905860cb7cb8f6057b54a74a3a91f4c0d70d73f4c0add8c271c88db6aacdf06c1d977cdd1bd72b521d5cc41f600 +DIST firefox-128.9.0esr-pl.xpi 669244 BLAKE2B ac3cf2a517f54b1fb9a01aaee1fcf0610078abd4ea8704f82b57880e98b5f55c65bf5aa4fdb36bd2ab07747a76bc4e1bce8f90d70c1992ab04dd85194a7759d3 SHA512 dafedc6f1052d8612322af21eeaec12d9dd231997191f75c33ce097c68110e51ee28b2e8a626731cc388d7c0a3242bba13136996e562ce2ac9348842215497e9 +DIST firefox-128.9.0esr-pt-BR.xpi 650224 BLAKE2B 51560c0e77c4c11de542fd0c4d3ec594efefac1258211dc50b5eb41d7726d9f3e400f236cae891f1935c8779ff02146dc469fad8f21db9b30a602d9da838492b SHA512 a5cacc84678381d4eafdc95debc7abe254a3132a317b0ee30f4d497ee772a4a09ca8019422976f04414290fba7e378591b7b50868640df3b81b6e4766eec426a +DIST firefox-128.9.0esr-pt-PT.xpi 654869 BLAKE2B caf72d68afa1947413e3266ce889bc5e492288f04aa5a719f1cac7342b2175df6312af7e446da2271ec083a75a747d71bfefd041ff06efa38bedd523002fd2a1 SHA512 b96bb464ddef5f2717a0056a86c5402054287490a59c904c9b18d1004e4bca826af66e184b5fd73dc72079f6e573e1a2d1e271d14d9910c3e28eb99a440d2c74 +DIST firefox-128.9.0esr-rm.xpi 646690 BLAKE2B 3fea1c1f16104748725faec46366101ffedea8aebc4ca914f7b9b291736f50107aa0c4f907de90811c934f0e055ad13c59e4ebfad9f92deba24c50670178f223 SHA512 f53d795fa2ab088258ad6a517a3be485e348adfd0708f894443b6698394d8a5515a083b8437e11828737f7701e6a2680ecf1bc27f84021af8cadc40909f8730e +DIST firefox-128.9.0esr-ro.xpi 562846 BLAKE2B b9a43ab0e25148c3b20ad9a01f83a522ccae3f24355a1faf516be1cc1cf14c99a2c18028c36d4891b623206f88d07cc8b529ff14a8f56f23bd3431f207b89557 SHA512 59dd09f4b7911e8a6a7a66180f4f5e4034b3376c927dc4694607fd38344ff82a0731fc1b41171fbb52e45425233958b31574165434bbc7ec33f3e521b3e95df0 +DIST firefox-128.9.0esr-ru.xpi 753058 BLAKE2B 6fab19dfdce46f97b5393620bf28ff8725afc1aca15b6828088608d16f7d6729b20d5b6256ef43e3bbe0e116ec031e251b53662101d7a6f79db4e596993a5804 SHA512 184cfee1f7d76195b1242e1618d10082521ae0f42d77aa3311291b1529cbcca26c75893f1ae4338aaccfd7a0d013e647b051a8b571aa52c418e0a688ac879f88 +DIST firefox-128.9.0esr-sco.xpi 524649 BLAKE2B 87b29ee6d6c7b756f4f1c0e579ec8556b3a2e3468d0f3be738fc32d37d31a419291127dda6f196eddc5ffa13e2dbf3cacd01f0c75ac4d73c5a429b455261c566 SHA512 3fa82c543ed911f126d9a90b44f62179be8aae3bd7ec9bbb467b2a89ba7614d146f58c00b4241abab64c13fd3716cba9851324479ce57fd1d546adb01b833f10 +DIST firefox-128.9.0esr-si.xpi 628196 BLAKE2B cc1118e2a04afade63946cf7010a905d8ee2fe650b65c9d259d2ea139b055a70f71442751ddbae36debb5eb91ea866340ed4b327d0366985e5d290f8511eea20 SHA512 2f0e621c55d37ce348a5ee80b8d7a7dd99bc0c29cd536a79a14e0fddb44a9fa98e1a31f0711cf508e7a8dc5b63fdaea45a28e8a47f07f257b3d2cfc62198aa70 +DIST firefox-128.9.0esr-sk.xpi 682233 BLAKE2B e66d185638d74d27be89ac1fbf2e2ee80eac57d47c4c06764e3594e0e05b3a801cba8bab13ce98332af046663931205d87dcf8531389a41c25a9078e8381f28b SHA512 c9f387c22ebe99f6f82e414919919ec0e365fa8a2bcdf4d6a2f687d5c4d6d624522d640668d3e6686865dcd3436ce361d98f54def6fdcd596e9f0d3e9316ea63 +DIST firefox-128.9.0esr-skr.xpi 726694 BLAKE2B a50869644b5ef4823876073132930b38762b9ae59780cfa9980f924b464884e3078e37edaa505827388a44ab2edbbe52fd99f3631f6b6a74d1f8846c50ff3c12 SHA512 14051c4ce2ff6d1da3f103694b528d9cbefa2165413f1e234c799dccf2d68ebf638ee1c16218218fef6d583a4b9debb9ca54f988466839a58941ea0dfa59d4bb +DIST firefox-128.9.0esr-sl.xpi 649037 BLAKE2B 1015299fad981e5e5efaad05610026c1cbd0b29703c81052845b10f01919c28956605edec203393bfe7ca5d538e6b36cc047a9d4cf30967aeca18e0103d73a99 SHA512 2bcfdcf547fac53140ece9e5147e80c6dd64577221f890899e858e7fc79cde1df2b24ea36a0ef78fe4c1ff731aed330606c1301dfee2feb07b296cf97ea6dc36 +DIST firefox-128.9.0esr-son.xpi 451701 BLAKE2B 9b409f116556e657508bd9887eeb9c05937b9c0c3379c0303ef812bd5b554975959c2c4792c38b8eca3acfb4c22b4fef561241786aeec5bd4b1899ea01b37b5d SHA512 4141005ee57b469e1b9301c957a6cd7c9d5c49bec56d3679e376a773a4a3b9a77adbe5fc9feb6e05770de4e070d41538e7fcf3ed58a3dd8211fc55197f501926 +DIST firefox-128.9.0esr-sq.xpi 665741 BLAKE2B f1dcf1eb5c76bc1819c901be4e9e446fe99cda358535a12a06e1cfb2aad3856edac3de99b33e669037dc93e99d9a6e99f9470537fb3dacee0341970676e3187c SHA512 43a075af1f08ce61eb55243d3df90b75d47f7bb470af6af1be6d42cebf39f189aa2801db148aeda7b1a586e3a622f8aa4c8901c1232b7c74e52e5fccfcdbb50f +DIST firefox-128.9.0esr-sr.xpi 678442 BLAKE2B 089f87add5b379235d87e36a102d524a4cb7aecfd67e483b73761e56870634905a8ad2a6e85a3152bb86926bc563eebe05f8f8ff382449fd705f855c3d3710bb SHA512 a6748e473d82651b632586a8623b47db8ffc7abe887a4d6819ed9f8f14953cde36f119899716102f8e6e51e6cf921e4a4d582ce2fb443920a944e604cc9481f3 +DIST firefox-128.9.0esr-sv-SE.xpi 646489 BLAKE2B 5a0373eb3ec03cdfd14536c8dfd41f6d73d711eaf12a4a5db10e70926f0f5aac8aec66a29cd19d234a44e62d8cf0874cea9d61ebb4c22730c9dd7963b71732f6 SHA512 317bef0fa52f7a51bd6ffcb1517b2d58f3deffc6f930e4335046ba8416a4d53e3e7314ec9e5b581c924e3ebff53b7900943c22393f5238ead505f96b69b748d1 +DIST firefox-128.9.0esr-ta.xpi 530541 BLAKE2B 871ecadcea225a4755650ab69a7df7ebda4364d8b6d6a86d89c283f1d8d5311f04de11bc44834457ca44ba2531e4ddf8b21089ad3ad508da1b14357ba40ff4e7 SHA512 b2d48d06e788d68a4ff7544b03bfed2b350af5aef34203a53fce782a725748c066fd99753b291631410f0190596113729b880bb13242c6558ad1df881017255a +DIST firefox-128.9.0esr-te.xpi 583145 BLAKE2B 68ed4dccda0f5a93748452bbdd48aba9ddc442ce692edabaa328749cd3b68b59ae51d9ccf215b34e5aee7bbe7ea1a26eca7b63980b4ee65090b9864b022121ba SHA512 4b1dadea77eb7256e527b96e9ff8e67a406f395e26730059e44f33fa3dc0d5a8c5e0321a308d20f554de957eb3d64c5ce91e8ff2a470a8d2c84b9a871f4f52c4 +DIST firefox-128.9.0esr-th.xpi 728452 BLAKE2B 6ced3c4e7fc8569949b88578348f234b8e7bf03ed1822447b1fd2435bcfb5f9c4e0267ffad87759fd1f7f6a8655bafdee8cf221324a8fb6c98607b7dfe824309 SHA512 a23b34f9e3619ad58987a820f419698c8fe05da32e39c5cb85393c547035e3a55ab11f5f997f8d36f27c31d1f7497191ddd519c907a8a44df95df17bcc65f3c5 +DIST firefox-128.9.0esr-tl.xpi 546950 BLAKE2B b64a7b22578b110957dcd28af575634a7ba5ac2d4b8b150592e2cb74abbf81a012b6a2ee849aec317a7c9b3cc51963f9b3a8e8d4ac541fe76864a6d79db0d31e SHA512 bd6681b92e70b8e16f1c55ce674a6f3d42a4ec1135e09b44e39eab8472caa39a03d53c87616ff8217c5a07fc7a6d46e0244296e177139d91eef6cfcb760c7c5d +DIST firefox-128.9.0esr-tr.xpi 659453 BLAKE2B 80905fe0ecce69ac20c4e8495e7c4813b82e0e763f59e53c6a3b882c1250ca90d5f1fac48ea949c40dd770a1708e3a3275cd71e3b424d41bad020a72d7d96884 SHA512 6abed12f46bb42af601685e42160f78e146e80df9d274108f7cec59a1604c846854cd9b03ea8e99421547ab3871e8f9fc6ef4cda2fb10d3517c81e736c652e53 +DIST firefox-128.9.0esr-trs.xpi 522149 BLAKE2B da180ea3961acb73c67d28c427d3a9dda77b65205a04b4bb0625fbf597437c10b9708c4c989b1114410acfa9b30bb271844b551d91d7fac6fa02bf3232e17ea9 SHA512 885ed32260bf933f547590cc2297a8a229edd472c7e8314fe112b318a85481ecc1e4593669e4c8f55660a19d6890e0919546353d2a025c280e350dd6ca2a58b2 +DIST firefox-128.9.0esr-uk.xpi 743993 BLAKE2B b9729271f70a048b8aa683ec19440ce6754cfb7a0d1d5e08f5d16b247a4563c57d28132d1127f120b2999b62d87edad07c35a588f2acf872fc6690aa3d3048a5 SHA512 91cfd38469f62fd7aeab5ba35d4603cbeda9b2a36516af29b76e2db25d26a00a311ef2d872ff8110b2153faf0c537ba4a1a04e0ef01d6b7d79bab1d55a10962f +DIST firefox-128.9.0esr-ur.xpi 574502 BLAKE2B 8ba09408fe8863a8017bebaebe048c083c599bacdb7e4362ac380bcfd96b381bec96ebeefcb6c0320778cf0fea4db49c7b954d97f6740721aa1f56f4ed57e8a1 SHA512 b31c720e0fb053b2d2b600d78a9b31f78980b3870209fe9c66f276a31c99cd79fccf855647d6b9b5d9862c865f0c8acb96eee208bba6f684d84b57cfc2459c95 +DIST firefox-128.9.0esr-uz.xpi 495295 BLAKE2B d1ff5a9724d86b5771006df2343ca1c95897ae061578b3bcc55f9a37ad3f92fe26e7ab569a5ec8ff3fbda2ff83071788b3e4a2386e99d8cda12a11e276e6ab96 SHA512 d46b494df34ef42d3ae6123d05c767321d2338a134bd71281f089eca9c28f4bb5feb6f01816009ed3b19a694bd7f76ff8c970df1f956a372cf9383bbee81a911 +DIST firefox-128.9.0esr-vi.xpi 683666 BLAKE2B 03a1d030ce3f5a8f54c8dffd2566ee9e190bda78404a6db898c58baaf163c3939c307637a21a213ac5dee2ef239310fee8a500eb2f2cc42b9daaf209c2fa9d78 SHA512 235b2c12421db95504aed1cc5b01701ce3126dd82fc5be9cb87e6610e3d22f23056eafc0736b611696aef344cca4573c19f842e59fc370c2757a61e2936fc913 +DIST firefox-128.9.0esr-xh.xpi 452430 BLAKE2B d4b0506c562fa83d1fc1ce1286017fe41b977e164681c48969bb1809b2b52401fe9795adda5288c9bf53eda8dc21b70b17b01455f94fef20e5abbe8fc541f252 SHA512 770d6eb279738e45bc2c97fc45e99add8ceb5c3c3caa404aba44f565ef527d53f28fbd463e46293aa45846f0233309f37f41e1005d62d1497e99687ead03f4c6 +DIST firefox-128.9.0esr-zh-CN.xpi 686332 BLAKE2B e9130871e826721e58a3bd850f63a73ec200be89b30ecf9a74076e53247f8450b8d24c04d5ca198f071edf80627af987901172534763c819fdb455d9167df5ac SHA512 079b780b125457ca3bcd3e4ed2ae9a9ddaafbfd6652c1b5f508557d304087aabd26ddc55d8aec4c60d47e9d58a70ee842a9c91b369578fd5bb34f0cd747c5ba9 +DIST firefox-128.9.0esr-zh-TW.xpi 689135 BLAKE2B ed751b14944a1c8227b1e37d816a2f8a057745e807067debcde6be490cb73af1924347451c1c9993845a7a6983a6b82aa52bb9008fd3b2bd4ed5507bd46eb1a5 SHA512 de655a1ded9c7aff05602b78b9fe8a2532b6c0381986d7175ce26b08a981371f4daa7c97347de94cf30cc553237cc867fe030440e96952f464c104f80a8ac78b DIST firefox-136.0-ach.xpi 295315 BLAKE2B 0fda96bd10aae73f01d47b33a48ccf16c678bbcfec98e679792d55428df54d1b43f5cf9c2c1f61fc1f427f0b965b3c7979626287e6b380bcbb83f3f84148034b SHA512 edd4e151809d6699e84e01034b3e4004785957941317bfe9f356b5c37776ff9fd04e80e558ac300d7523d9130f6c82bf7318cf14a332c51eda3f6f6a35c67c8a DIST firefox-136.0-af.xpi 266789 BLAKE2B 863db129ce37d85769615d882b83a3c4f1763a9c610f9b2d13e81d9583b06faa2b49e585517bfee7199098adecd2f4bf2da00be0c352e9f8aa96c92f23628973 SHA512 2c00f51278d963b0ff9627fd75621d55914552455a6dd64254981f037d1cc60b0737311006be31b7c75f0d83fccedd3385f6f2ec477f0815b0f9662fc612db21 DIST firefox-136.0-an.xpi 333332 BLAKE2B f0c0adbb05292f85bcd05df172c7d3fe31161f7a1fafdaf8afe02791c79f1f7b45464a8fd8f1d464094a1ab2e19ef24a8dc5e73536618865ecec809c2d20f9ac SHA512 79113bceaf87057153dd09051ee3f91cfd53f739876c385adf427f61313f8a71b355b9e43680b78a1c51929f35e27d336244dfc04236bea5b3714aa51bddef15 @@ -396,14 +493,17 @@ DIST firefox-bin_aarch64-136.0.4.tar.xz 63672544 BLAKE2B 013f20c832a45584d902dfb DIST firefox-bin_aarch64-136.0.tar.xz 64034656 BLAKE2B 37be71fa6ade0f4b53c432eedbd6337056de80e46c02547098271fbf7e0e35d4fc61601d76d140506787e69bb06b64cbd876389860cd117b8fc17ed07ed7e251 SHA512 4c8b5fd8514fbe203884565a99164828d58a34b85a11c4cd8de58f62e3825f5ec72c579596da9b2ca868120b8eec889b6e78566f3d278b1ebca264410160456c DIST firefox-bin_aarch64-137.0.tar.xz 64071416 BLAKE2B 8b5f9b49451e52c07d85bfc5adc59a5f36baf8e8034891f9122b22c010f766f384aff7abebae2ef46ecc8ad6be2880280e92fd972bb7bba86211996bad6bd731 SHA512 1c25498c3526245f1d2fcd3fcdab6d7c0d260c3d6660c650d7e6495b36e9d009e69d5734807778dc10c85b91ee88e1d27b79978c3d6a0b90d5d76154eefa1a48 DIST firefox-bin_i686-128.8.1.tar.bz2 88101853 BLAKE2B cd80d95247fd25036fb50d89ae644e80410b4078732493fe0dbfccfde303864a3a4d0d4379aa291de78c613aa90afb38b1c204bd41c3c19013e93ad9f08dd850 SHA512 211ea4eb470180120ff9179c5b831ec86e0304cce9c1a975852c142b8df6a742315e3341c6ca4581fea080f07f81f599ddc58d0be336a81da15f4558a20a8646 +DIST firefox-bin_i686-128.9.0.tar.bz2 87992002 BLAKE2B 927da59f769d3f963ecfb4e01d33f7bb87425b463d39dafc3cb9b6ef5c1dabfb09b9d5febaf1b054fb2f6f3f28401b27d30cc9764875732986618527740e8d59 SHA512 dcabd449cc61a922fc1ce215a487a88b63d1924e3295d60dce5b7d72feea708652c8b76054d332b5357f6e30dbb0076a9704f59dbbf4783960b470ec4f91a019 DIST firefox-bin_i686-136.0.4.tar.xz 75327936 BLAKE2B edbf65457febd38da4790665c5bd13bd3181c28b6348ef97d53b352bd1b6a634bc2eaca0c6c0bb0d7daccdd0b3c83f7d23d229d9e10660f97bf7bac76d3a7c0f SHA512 81d691fb2ff293460bd286612f36f97cfcdf7b1be0107bed56f3cf86ec15c8f99357359f773471252ec8b3fa81ef84b2859ebca0a57b1a2c93ed4813b1f9a8a5 DIST firefox-bin_i686-136.0.tar.xz 74971344 BLAKE2B 1f0fd09fd0a14904d55be633935af5b2ce48fe22db83db77d6ae891571457ea3145bffccf1c89624a714581c803d8e629a1d61d0b52a1810691e2e235fe13edb SHA512 b0de27cf27727edabb7e2eb807f441b25d2773c1ab7e1d49f13aa493625bfa154a12a5a4c21204031eb67f5a92a51b45d2ca36025f895efdb35092e925fbe066 DIST firefox-bin_i686-137.0.tar.xz 75541016 BLAKE2B 639ed5998131bb892704dd8c5eed13420b6aaf232385a280a81bbd195e5f1722cbe0672396f48ab6e2543182b413a204d0d804bbf3e0a174906654a48a712fa0 SHA512 73937530a2be43a56ae6f6ed31d0c2f4da58983062d427b6aa6dfe022991a421b09c8e86b9e6154fd6622d46ed24e8f84629aa2c5695e8e50dfee85c8d283649 DIST firefox-bin_x86_64-128.8.1.tar.bz2 86820176 BLAKE2B 27139f47569d8ab131e3be5c5d7041b2ae08ca9a5194a8c29f8fda719943ad6d917725b200f1801046a14b327474c5d6602b17cdba7c1d1077e1b4effff8ee38 SHA512 e48a29f3bd98ca90c9bc6dda98e1af61f4f1755599b571d428b50094a9bbbf0811c12b0885e4b7006ab2322cba9a9757f0c7f12f524429f0eb4ec70012e0b754 +DIST firefox-bin_x86_64-128.9.0.tar.bz2 86756775 BLAKE2B 99dbf2c8ba774c85ec4b46f3ba5cbd88432de0afd2e805dc2d2e5f15cfe06bf493113a83c413664d7c453c3d456ec615fbe1e7c2f65befbbfbe6fbfe1e3dde2a SHA512 746539f6cef20f386b3b5794a2629ea36c426fa54297ba2299d7fc807330f3cf4a788905f45efdaa4645105ca79c7492363c8981e3a486309530b2e65ba58246 DIST firefox-bin_x86_64-136.0.4.tar.xz 72625008 BLAKE2B 0c1831f3659bdca48f82f1e3c97bf2df4a9d1dd4734edd06fe8b7d8c775bcc2eee802ec89df91787a7b4ba4b2b1e2ec0c233d4d955c2c568c6f33564559d852a SHA512 1507e7f8b5df213ef6a6a1751583e49d1106b13763b6802005b9608d4eb12696ab0c418e929e3a4c422fc7faff896df98e57d9128061ac634f7ac7d9a64e51ef DIST firefox-bin_x86_64-136.0.tar.xz 72804596 BLAKE2B 876ed8e41fb9fe0d9d5c42f228ef64d2c098300553a1237d95bafb4f8ff2e4f4d41b044c2b1f3198061503d327adf915d2a008772de71190d652b675ae982368 SHA512 975e4e57f1d696d7bb8773a4ad7907db4c4944b38434d91bb563ed842740622348d4ff495be074b0f1039b89f9807146901d8706733c7ddaff9316ea7185a280 DIST firefox-bin_x86_64-137.0.tar.xz 73117420 BLAKE2B fe90627e4d4fa040cbcf8260eb8a762e82c757f99e575e0dabe1abffaa9405f7a6f063bdcf4e91ff36b960b415e8d8fd67f3bab6bbcdea4c6c729ca791d5a6a9 SHA512 7ba8ebb16a2e2b9d2ca2a4815adfacae242439e31b0b701542b13529a272395d6b38eb4c435ac58c37625bbae8aa238a8d56082c401b296130aefc4fd25ef6c6 EBUILD firefox-bin-128.8.1.ebuild 10592 BLAKE2B ce3476b01fb7054001077e714dd7f7866866267a0af27ed5c940dab45ffcbc5d9d5f8f816aab49a26e93208820dd76ba356d8bc080de611c838d3f1b876d23a3 SHA512 e3c0099e8af158517b2aadad657f6a0bdc35ed592c09e124c261ccf0e8ccb270d3e8ff794047782baa5dcec410874567f476633df68a311fc676fd365769b909 +EBUILD firefox-bin-128.9.0.ebuild 10592 BLAKE2B ce3476b01fb7054001077e714dd7f7866866267a0af27ed5c940dab45ffcbc5d9d5f8f816aab49a26e93208820dd76ba356d8bc080de611c838d3f1b876d23a3 SHA512 e3c0099e8af158517b2aadad657f6a0bdc35ed592c09e124c261ccf0e8ccb270d3e8ff794047782baa5dcec410874567f476633df68a311fc676fd365769b909 EBUILD firefox-bin-136.0.4.ebuild 10690 BLAKE2B 47a73f1163ad78c022da2e39f35e6ea1afe709713d4e225ada90c5d324486c4104f1280ffecf465f5eca7bdbe7b1d709ea7eaf87253c5c219de768327bec3a49 SHA512 a152fa8a8e580859d5a4b3ba867fcb5ac80eb013dddb436d4166f7fd62322791583002b26c9eae387654c823de8eede54b0737f984276af2bb628c76f67fdce9 EBUILD firefox-bin-136.0.ebuild 10690 BLAKE2B 47a73f1163ad78c022da2e39f35e6ea1afe709713d4e225ada90c5d324486c4104f1280ffecf465f5eca7bdbe7b1d709ea7eaf87253c5c219de768327bec3a49 SHA512 a152fa8a8e580859d5a4b3ba867fcb5ac80eb013dddb436d4166f7fd62322791583002b26c9eae387654c823de8eede54b0737f984276af2bb628c76f67fdce9 EBUILD firefox-bin-137.0.ebuild 10690 BLAKE2B 47a73f1163ad78c022da2e39f35e6ea1afe709713d4e225ada90c5d324486c4104f1280ffecf465f5eca7bdbe7b1d709ea7eaf87253c5c219de768327bec3a49 SHA512 a152fa8a8e580859d5a4b3ba867fcb5ac80eb013dddb436d4166f7fd62322791583002b26c9eae387654c823de8eede54b0737f984276af2bb628c76f67fdce9 diff --git a/www-client/firefox-bin/firefox-bin-128.9.0.ebuild b/www-client/firefox-bin/firefox-bin-128.9.0.ebuild new file mode 100644 index 000000000000..b9652518f8d3 --- /dev/null +++ b/www-client/firefox-bin/firefox-bin-128.9.0.ebuild @@ -0,0 +1,359 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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" + HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.com/firefox" + SLOT="rapid" +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 desktop linux-info optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 ) + x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )" + +DESCRIPTION="Firefox Web Browser" + +KEYWORDS="-* amd64 ~x86" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="+gmp-autoupdate selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + !www-client/firefox-bin:0 + || ( + media-libs/libpulse + media-sound/apulse + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + selinux? ( sec-policy/selinux-mozilla ) +" + +# ESR and rapid dependencies. +if [[ -n ${MOZ_ESR} ]] ; then + RDEPEND+=" !www-client/firefox-bin:rapid" +else + RDEPEND+=" !www-client/firefox-bin:esr" +fi + +QA_PREBUILT="opt/${MOZ_PN}/*" + +# 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 + +MOZ_LANGS=( + ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy + da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu + fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM + ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my + nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco + si sk skr sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi + xh zh-CN zh-TW +) + +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_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 +} + +pkg_setup() { + 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 + + mkdir "${S}" || die + + 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 + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \ + "${ED}${MOZILLA_FIVE_HOME}"/plugin-container + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + 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 all-gentoo.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js" + + 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 + + # 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 icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default" + local icon_symbolic_file="${FILESDIR}/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^} (bin)" + local desktop_file="${FILESDIR}/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN} --name=firefox-bin" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230, bgo#941873 + local apulselib= + if has_version -r media-sound/apulse[-sdk] ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + ewarn "media-sound/apulse with -sdk use flag detected!" + ewarn "Firefox-bin will be installed with a wrapper, that attempts to load" + ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." + ewarn "Please either enable sdk use flag for apulse, or remove apulse" + ewarn "completely and re-install firefox-bin to utilize pipewire/pulseaudio instead." + fi + + 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@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +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 + + local show_doh_information show_normandy_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + 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 + + optfeature_header "Optional programs for extra features:" + optfeature "speech syntesis (text-to-speech) support" app-accessibility/speech-dispatcher + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 3548b4d8de52..731a99b0fe39 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -110,6 +110,107 @@ DIST firefox-128.8.0esr-xh.xpi 452426 BLAKE2B 3d8c84612c104b1b80cc3a9e0b9a2a389e DIST firefox-128.8.0esr-zh-CN.xpi 686333 BLAKE2B 952d19bf74421178b545221024d4f018edac4c9680f90b30ddbb417803c633dafffc0401c7654f3df0149337feb352105b0da2f96df50de1e8b3075e1fd78d0c SHA512 fa3755d2ff811200afab42c1d6b8f14fab2b0a1b33fa85d2090f1707587e38fbbd7ca28cb9c7b3d4bc59019acba838039e41d30f76c5e1af089f6ec442d25bba DIST firefox-128.8.0esr-zh-TW.xpi 689142 BLAKE2B e537479b577f127348538593adfa6efc92fe2298b57ddc867b0f4cfdbf6cd18f46b1e62abe08e0b8e6d120f4ecb7e5485d9feefc82c08a4bd93e7f3339ed6e37 SHA512 197e2a3217d90f38347daedffe7f6a070f4da38c5540587f49b7892ec4ef944cfcde3e61881e3b3011f64e40628c7e7cf609bd81cf570c6fc9cf03f02b1f1138 DIST firefox-128.8.0esr.source.tar.xz 563554116 BLAKE2B 3fdfa2539b42a6a659d05ef9ad60d3dd7a0097abf3c5038150316d775e3eb864056a56edc58ae4e49ca36b3ccf2f05d68a07f8493a7649388e340cd81640e584 SHA512 7c0ef22bc14d4fa248cbae14d629174c9c967f891f4525f609760595f5a108aedf7dd804d1b63b97ec268613fa98378f4742a9b6ab562454351cf21175fdb802 +DIST firefox-128.9.0esr-ach.xpi 482233 BLAKE2B de820fcad4cb94ada5be9abbee203379cd299ae739e0fca00ac3a9593b906639aeebd7dcd783ea44f9bfcba25a8fa69d9c6f252693d12c8d4448d95aacf62472 SHA512 bd57885d8b5123adcc3c00f486a695604319e8741623e8fb9fd59d2ec2d734283d04ef2bf606a591d8a9d1b492aac6df33732996bad366126fd629d229b93324 +DIST firefox-128.9.0esr-af.xpi 446591 BLAKE2B c3e423119747c01e68bfc5ff09050191d07d192b43ea1bdea6643bb71bd565821b545d9cb5b7d85595a0859c557797eb6599a1af467d812dbd8ce5a6cb384276 SHA512 ca9626db10d7ddcf9163fe13a5e690f3d1bb9aaf3453d391f4d41cad36a06ad080bc2dae2fce6e0b9748170b2fd6ca9068d28a457f5e655dcef44b6cb5d91af5 +DIST firefox-128.9.0esr-an.xpi 526053 BLAKE2B f4262addd499702ea6f7fc4f1562e05287f7b10ae487c3435dcab00c912410f3e36c5fab2b7a1630d9e158c48e9fde8777920b9fd3a62ad603495c8508243746 SHA512 440a2fa1f2890316ebfbfeb25c5b903bbc743121374561671d0915e20ad8d3817a60ad673f251ba7d73605b8a47af36174e37f4c97d7715ddb2b551eb5564ae9 +DIST firefox-128.9.0esr-ar.xpi 650461 BLAKE2B e4f8188045f6fa0a03add36c19ddaf58830bf996d11fbf121d2068748393c73ae86cc8fb038b74d69a6c6a4c88ec7b24acc45888fd71c035265fb17b6be7eaa3 SHA512 bb8e6edad4fb8f7ef2da29d57a27a65a26933246d875fa00bdf69cd3eeefd2df7e43a906e3bd49f67edd92f4911565d6444ad2f61f9fea130bfb88e6858056df +DIST firefox-128.9.0esr-ast.xpi 508562 BLAKE2B 1114f3bd994e20ec82d3bb552ab7084fa5f31fc2467cad4ca0c6e92d59e10f8ba09eb05ca738161556bccaf373536d5cb4821d526a018a56793c58fbbfcea11a SHA512 d457a9db6d6478cf7c66b146e9fa115ab9c209666bcf450bc8d2d7a53eae896ca56d67ed0605b6680ef5aae297e8ef99f960ffee5a36947ac4a82feed02b0faa +DIST firefox-128.9.0esr-az.xpi 509835 BLAKE2B 9c62e6a5d27c4c847f579252ba3a3d5002fafc6fa7e91ff7202b63d701dd6d7fb91365845473f060d5592afcdad933f656a759afa08c2cdf54430be1ba0809ab SHA512 b4242306554295315e2b112648a733c974cb749e9a043a370d5ac7359f0dcbc400799145e7dba819b3c54ca450c76dbc6c55d29a5c8a6b4f0f07ded38d7e8c3d +DIST firefox-128.9.0esr-be.xpi 748090 BLAKE2B de24d9655f97be5e8d5c11608877fd1b45c2eb7c9199c807c9003e9e0bee9e33a8f45061b92a5b2d5ce89d4b4e9afd3ad4996f7634d72f00ec6ac459d86f4fe1 SHA512 705d9d9191b41422431a8d5f3cc7298dd2f789b994affc9985b3a71658f62e49aedcd2aa30f2d621b393a0c535aee753f20f8724bd6efd43ce04e8f853a4e9d7 +DIST firefox-128.9.0esr-bg.xpi 672052 BLAKE2B 4b146c1de45ae7eca50d024c0b0e778b6ceef4736168adc8d3bb99cb6dc0cad583fd656577c1ae1cfba2645de11fb59a6f688a2d85f3414ea408eb47af7a3193 SHA512 4399eb5e0e47a1f1238bfe16d8a87af948431523517a1ae1c8d8738f60eb7d1a2046f049edc635eb37f0b54464d5e44a9d42d39c41f8084721981c2652944964 +DIST firefox-128.9.0esr-bn.xpi 624735 BLAKE2B 490ec1bdac1921cec65e84801cd492c15cb55c1b9e92e2f798b72f0530a8e0addc09eb37385ccf258112010e8ff386a6b8d77356743f128457361aeb0868f1dc SHA512 9a77433efa5d3714531ae8c01548c53ac58b437e04c4c85af8363e89c868b788efa106301c8b4dbce12ede4aefd88b1efc6912d0fcdd5ea8a1ca2963ebc6fd91 +DIST firefox-128.9.0esr-br.xpi 598756 BLAKE2B 54ba19243b46e6d206cbb9825b891141dba1e63ce1619484040e87276b028446b40ed25f864642cdd3a159dd44ec0b2c5a08a2317327b02ae3ec6453d287bc32 SHA512 127503d2c4d0871377a0de23adb6bd475233f4173c2009a868b85011e3a6e8cefc663a479e42b96e975082294a7cc0f766fc6f85a7ac08d9521279bdbab7a653 +DIST firefox-128.9.0esr-bs.xpi 565990 BLAKE2B cd75f0ca8952bd71b9fc0db41af488c62e3327159247468d3002c01b6418ee7608962efb4a81f1e477bc50a7c795cfad543b6f352c8bb8d2751623edc40b066b SHA512 e82c7812547c8eadc2ac8e6caa97c161204d81ebdbf6779fcc5fa8823d9858b0f0be8bf1453ba6d735a28f78226755a0dad40852073838c4cfaf20437c26ceef +DIST firefox-128.9.0esr-ca-valencia.xpi 561145 BLAKE2B d481be5078b1f86fdd1ed7dbcb84e641043ab3b75a243a4c8cf6b2367bcc57ced531ca4b75dba6d0dadc824a4693955a7cab6f0a3fdc8ef11721b0ab5f0e774d SHA512 9d2a7311e523b99e45fc62949fc0e688daec2d5f6e89d350f897948f9e1c630dddf0a1eba88c2a13b4330e3fba75830ddaf960249113a427a419c72ab92a5586 +DIST firefox-128.9.0esr-ca.xpi 609959 BLAKE2B 2082df2b69d981de89045ffc26c6c84f36f311a88be3c7da7b34dec2f81465d729eb8da3189a68eb918d30aa80301768bcdfb6b863980fb0d81dc26177784ada SHA512 95257eb2abf51afc32c52b2d13c3ee87f6d51526842fdece8e6ff9431e634fbbaf7c4ae633a65605fad66010c6e6e9465441fec28d2e0b11c738ad5822c4e442 +DIST firefox-128.9.0esr-cak.xpi 601483 BLAKE2B ad69daeea47730ef03a9f6deac5d2b81e3492ad5eed9d010d03c0ef912ccb5f7c15f4e3cde50d8dfa2ad11acc7eb386ce6407aadf88fa6154f69550098ebc7cb SHA512 22104a718e926cd3f61d8020016a7b92781362d58c09be74487419dfdf6cd9e48fa097384e1f094365675ec6f61f1c7e32b37bd6333036700a65858ba1c2deb5 +DIST firefox-128.9.0esr-cs.xpi 690630 BLAKE2B 2885edb13f91b482e3f4f972f7d0cbe7cffbe15d9aae74570ec33033c8281572524b746022e52496b498fed977546d30a2cf365b43a4ef48696d25f30219c0bf SHA512 18593f4b2b42176d7031ea18731e0a2ab090af69695289d4f296be914de041265a8f2fbb2429d07c88f77e2ce3ee58e6c41b690ed1e665cd3551058c3972c81d +DIST firefox-128.9.0esr-cy.xpi 650601 BLAKE2B 48c131e3a5f0d228ca7c3d71f799a10f0288ae305448854a50e27331fdf6402f5a5834775c24d73e6e5c39a4cd917bdcc1dcd07d606a31485fdd2f58f66d72dc SHA512 ac12fbe433e37aafe44b9e4c8437b50934026345d2c9a62b97b7af0ef7d5e292e18f698f5f5aae2966182c95cecb17c408f6fd7793ae6d47debf732a645d9bb4 +DIST firefox-128.9.0esr-da.xpi 638629 BLAKE2B 85fa3a40ccf77b1b063e9507237effd5bd9c3c898e81206c6a89a1db49bc871a572ea00bae3e526200855e8b3ef81ad4e29930539e5322983b88dfedef21bb42 SHA512 5e43cc09e18de017bf97d518d17b9a6294273749aefbcbe0634eec0a1191efa6bc7f690ce4f68004e3581a2ca9d3ca601e0d67a9535daf70c75a7f64179c6573 +DIST firefox-128.9.0esr-de.xpi 663124 BLAKE2B 4d08767590350f41235b3714eefc2d68181d8765e2fbb56723773a8bba31c448f6b2e0beca4c4df970f471c46f51de4019f0e1da8a700fb89dd96314ade7831b SHA512 ebc625e067c24192f925805656fb04efbdad5b6e6eee638ea4b60a9918258db4e3de2c3c4054e122593c84172d843ae9d45789667b07dd8216f0eaca44418727 +DIST firefox-128.9.0esr-dsb.xpi 679863 BLAKE2B 33be6510de718ddf6f49c39cc34139297aa4297d030e8ae93e67312207d6ef620a031520f31abf4c1a157eac25ea8203961128fe6213c75518d6e589d2e5db6e SHA512 8912433a9aa1b04773904502232a9f398ad30ab5b760702e0be81b7dfecb80d1d9ca326fd6191b474a04259c3e898cacfe4d4c69956de5037619aa4dda3d6e94 +DIST firefox-128.9.0esr-el.xpi 764545 BLAKE2B 0ce6b5852617700ce6ac21cfa04891ef496c8939e2c3880ea342761ee2ca9ce76298a145874c865b42e34acd18854aa88583709be770e68fc0823d0f987d855b SHA512 0a0a54aa8a6f0ce9f2d00582a4837f34fd1c93ab45035b07508a2bd4941250bdecf96f62da19c5e9c7082c0d306dfec858fc28e59776befc906dcf9649a8e7ba +DIST firefox-128.9.0esr-en-CA.xpi 610418 BLAKE2B ad92e2622db61aeeee14bdd76e04df0b3ca52f9c04d420e14a5fe95fc909cea35a08eec2164819b19b29850a2f1b9fec622195a6af6ea76766e95aa27e7a2dc5 SHA512 81f7ce9d568446e123c21d51ade9e860228eab058b16be6ce4b76389d70b606257515490372398e7e6233dbf107b6cc679a7f2d2d32c0b2a16f4c559bd34a0f2 +DIST firefox-128.9.0esr-en-GB.xpi 610785 BLAKE2B 87051894d09bef02066a1ce6261d7ed61ca985f684f43020d9325310e85e7796f84783e1640dbf6799a9be84fc5474c5f9ad2776bcbd0db6ede9c38a905fe23a SHA512 8063cae9c01986003bce3a9f2cf4b59d3631674a75e5e5897ce15fa1f0cc837102c1ec8e933ca2e272665efa4f2e208727f865f241200d5729350e1078d862ef +DIST firefox-128.9.0esr-eo.xpi 643525 BLAKE2B 15814bf287ace7508da0eb5598d4383cca0d2346af5c6aeb38bbf56379f8119300a24a219aa486e96dd810cfef80c9e91eac6db448d8c37ae1bf6ca8e3fb18ab SHA512 5469e508f6fdbe1b6139b7788732a804a6d103414d590f669a901b2f1bd97a5c007735edd5806090f921e88671c581575df72e2549da5546e17d9897c82d8688 +DIST firefox-128.9.0esr-es-AR.xpi 655620 BLAKE2B 91cd3da3c9b4ac66dc28bc391972b9c2f39277d65c577563460aa0dc17965e37b62735240f40cb1d1fef021a52eb8cffe7656c6fe3cbf70e09b2b86dfc9db9dc SHA512 e5cba05d6450642017b9eb6584d5361f2370057798d5c1a1f2546c05bd75ad48c6326eec90bbf0700fc57070ac52ec583806306f74c6f58e11520c7f37f540dd +DIST firefox-128.9.0esr-es-CL.xpi 656061 BLAKE2B b83de10b03f5fe805dfa4db260c6f0a31af61b113a3011f7cd905893ef4461262e9a5946f55e16f4296d31d35be51bab8098cce790a2764af62ad3d7303b3991 SHA512 119c104fc983bea12633d73f3a0279fb866efaa5d4943e84dec59e5422fc14f3915a0225763e52cfee10335b1506d46de6013527f6d7af3f4d4e59579fdcae7b +DIST firefox-128.9.0esr-es-ES.xpi 655178 BLAKE2B d53bdffbebc09d46f8cd7d53e9932d3a4159c434f31c131a23a9a49421a74c8774ab38fe8a675f6663ddd2c41759bc6ab1cf8f82b3a3c096e69c31e5601b1f9f SHA512 e6941c24a9e5bbca27dcf7539902c22160084d324f77bd2fe99452c7e7fa6aee18a2fe5ce281ea90c8baa7efe71a146918390b66b25c335b1d12f022c969234d +DIST firefox-128.9.0esr-es-MX.xpi 657394 BLAKE2B 5515387733af34bf5190bda2382d9f7fe2b785da5fcec4f160e95d36bcad7567c708e57d8fa831d8c68b7e3e54f291b086cc5de436652a27314557e049eebf70 SHA512 e11fec736518ad5cac7ca2306cc428379f58b4f47b2d73f3be79651d9c03f732475f4c5e265ab319f6fd347f6c67f69955a4799bcca54578dd6a19d7d3972403 +DIST firefox-128.9.0esr-et.xpi 556256 BLAKE2B 78f75dd5cfc5c061d71a2697019f4593568344aedd735be3a86daaefa684d48be724819a95cbe0950c0f1043245a5e3d603ea9111c01f746230f4ce9fcafe185 SHA512 6312a488db6461c522e6109957eaa94a8e798fb6734c07f487e7aa9d7c9df409456a72fcfa292ef958323fbddf52abe7cdb81d2f05a456419380b1b7be416bf2 +DIST firefox-128.9.0esr-eu.xpi 623939 BLAKE2B 10417029f41b2f3d0de88777a9d0e3b2bdd49b6b637d857681364720e86802c99fda6a4ed2a072dd073b6f08f680e6ac0397a4e6fcad9cc4c158e57e272da24e SHA512 125dad5f212d8427be049101299ca674fafcaaca185adc3e198b7389c64e5586dbd2d2629acffb200dbc22275a529d9bedb165c01406824e84ed3884377821df +DIST firefox-128.9.0esr-fa.xpi 631016 BLAKE2B 733b4d6d094f59e341506ee215f7ccb010a03d40257d4f22883b36747eeabf7f0bf75c3334ac0147a505c912448710d93d7bec9212f6d09940776c91aef22cf3 SHA512 f7a72fc1b9ace00f3e8aa7f05b02032e1d852a67863770741fb9cabef8a32f2295341b5f276c5e42277bfe3a2f71e4170ff115e2e351ebe868a1900157e78085 +DIST firefox-128.9.0esr-ff.xpi 497848 BLAKE2B 93eeca1b21a65f3c15d44d46029d5b095878179c6796739cfb5c7fde69d188fc23b33a82f1b4074a33140918821ae1d7ac1f0ba5dead99057e41951ac22046bd SHA512 6ce45aa584548adb412ea14c194c4a4760411f9ce6852951a70d74c49f9c3246c2181c66d02aabadf31f6e728d5feedaab04b43a5bdebf325799faf09c76bf0d +DIST firefox-128.9.0esr-fi.xpi 633877 BLAKE2B 586e66829a8ee338c4ae34ee1a65c295a9e9d8c7b609e7adab14f364263384a3471308ceca920239e44b290a42e7cb5bf2a7db745643a545872a8fc42f05e257 SHA512 6214a5b4ea31ce49a36a81e0737cefe2fb77cad19960ee13d404ee1ba07a33d6c69a7159e75cf0867594b8244ca6155a713a76d708c6c7b2f7a7003400a8c267 +DIST firefox-128.9.0esr-fr.xpi 669617 BLAKE2B 8c4c0eec9ea947fa4727a54b0647a3cf1d81d492f5b567ff1dcc81b3a474c5385128224891adbbf7e1724a98dd21dfd0605b08b82665d0879dd4aac58f83869b SHA512 24a48f5385fdb595d0b101285db861afc4f5820a80412711f2df262ff114651ef8188b4fbbc249c5fa8724398569aca3bf6f386aa355897f7f8a5be31d7b501d +DIST firefox-128.9.0esr-fur.xpi 651571 BLAKE2B 201a41e507b7c8d6c38329184e2199585bc20b5e2a31f18d443bbd80841fe1c2615d769ba7052e7bee5b74c5457f5a6792a7da559d525fcad6ed49b5a50d5a8b SHA512 8a921616e92c4854a128802120dc52a5073946ccf0522d6fb33ad49e133c0c7b1ed15c25c905e2c36f7cd0786d71697bc18f7c693dce62bacfefb9c8c67756c8 +DIST firefox-128.9.0esr-fy-NL.xpi 652081 BLAKE2B 0444f5e98a1e8d4f9c467d349665baeb60c844e16f36c5ecd8691b6706388ab766ad1762e014367b57fbdd6263838ec8198009cd608d2226c3da18b02e5ab1d5 SHA512 d0a64483a9a0d072c5391311ae9e14a4cd650a5ebd47da204aa1d51729874ca891d020833f810f2009f1e57c620114a87e9a22d3ef4055f1192d2c8183b96f84 +DIST firefox-128.9.0esr-ga-IE.xpi 490829 BLAKE2B a15846c3173aae1add6d2cb2a8ae547955aff1ae9b0b57ce3e0853fb7ce396a37489acf3f7ff55028709c4028c308602175ef5c5f665e56940aae96696159c20 SHA512 5fa25b7b74f20863e34433ea09c8371026aa65b823729b833629c458d4256a8ee1b020f6bf19c923d6410402f4f6f3ec9a8bb89265ec0c5bfc071c165dfdfa40 +DIST firefox-128.9.0esr-gd.xpi 609624 BLAKE2B 796f55de232fe137dc837ee779f6e3cd855884d87da0c5c8151bb26112ee149afe818611d33f6f661a0b58a3d78bef5c63380a4ca074a44073eb54895df1ac38 SHA512 619fef42f9fb114096ef0768999a7c6d598e77b76fc309265135b017cce4687b22e63d54cadf6e1f7c9752c23916b240b213d88c448d970c94a1f0bf39105bf1 +DIST firefox-128.9.0esr-gl.xpi 615542 BLAKE2B 3f9be0560cbe4d613b983cc524e1b43f7fad9697c8c69155b6a96a2342b40e096991466a0ff06f57fe92dbed25fbf701369291323c6308a0807c1b98778ca9ac SHA512 ad9ea6e3545c87bdb25a6ceba18f9c6a0027065d0ed23fd7bddaa918bcde5f3286f3658d689f578889133e5516c0a46f3c28d0e8c6414d2193a683ab67fcd0fc +DIST firefox-128.9.0esr-gn.xpi 659903 BLAKE2B 334c3770751649184a81abd05def3f9d8ebb026f1acb6184e23b55c42c4925bfc6cb81e9b70bd0a60fa0193d36d3ecc0384f67c2d480faf0ba7a4418ae087e26 SHA512 39b235e08250c80da36ac1de4698ea49fb7d5e15228244374d13a99d66037a24064f544d5b9a374b120c0525cdd336b8e9e09d4e919e7677399ad72d276c43fa +DIST firefox-128.9.0esr-gu-IN.xpi 552339 BLAKE2B 07b1e8ef9c22460b8f217242cef311c889917737825d905eaa705348b52aeb6a2c3ce5e7f9792f230fc2525cd417a0a04d60759d022f62aea8d95a6368c27e86 SHA512 00e9ea2642f0831d8d8b4470e3bc143152774c238bf83f5e81257ba8271ac626876dd029eb048a7a8a022200727380e3399ecbde6b5402d2b4e195ab5245c8dd +DIST firefox-128.9.0esr-he.xpi 659480 BLAKE2B f0df21a1329207302339f9903b015401717d46ae2b8759cb4bfc7b6edddb91449a05637350541d759d951327722a0d4550c042ba464cf2601451eaa7797ed47c SHA512 c90b2a624b90cb671c7b256cd29d7d6c1a16bae06cd1a2807aff5d7d1ebecaff2db57dc18b27a8cf9c865e09b6110977a2ca3e437921defda60e5e85f5df0a9f +DIST firefox-128.9.0esr-hi-IN.xpi 578981 BLAKE2B 1e0881718c7c51ea85528a32dfd3f452b88b422fae27e1fb26ca647bf4b4227db00dd5f453dce786fdf570720eb57b7ba3a051bd2214e70f8af9444769fc4ff8 SHA512 bad6fa4da6cacf12c20ffacf7293a37045eb8cb045e785fa2f6f64144ca64add003d7047e393a4474fab8d9416d8c05738ccbcc759c16f35c49c0e36f9079c62 +DIST firefox-128.9.0esr-hr.xpi 645448 BLAKE2B fc1974587f157fb0261845ffb2080ec571a670e51d9b94c34dda4ddcdf47dbf510d68526bd621cd3c5bf1c31647f128753f3cd524e38463d804d9a1e93fa5d05 SHA512 10f4605c31d6dfc5a685d529607a4458bf9bed8c4a5800ad2e994e6cd9cd46cf7b965e14a25cf05c5a4a8b092007283b6f03c895c1b133570cefcb698e1ca93c +DIST firefox-128.9.0esr-hsb.xpi 675858 BLAKE2B 93e3c63f9071487bec4812489414cbefc4c052b1fa95d0e96d8af984f113e352bd2c19880c362c3d61e7843389c3ee965d38df74c11e3ec9493580aa7aa03959 SHA512 4dceb363bbd77d09e8fd190ba591caa33e25d79b0b6ddaa47b9b415e3cbdb655907acbc4533dc63ae5a83a563414375f8f666b3f3d6745f894fd0b5304bebfdd +DIST firefox-128.9.0esr-hu.xpi 679676 BLAKE2B e66292dc1fe415836f6e073640ea82330b14945ec6dec18dab43ee6423812bee67da835bd03be4af274918e9cfcbebf1ea4ef049eae710e719a645c7caf36992 SHA512 3c1c0c8a9764968375c9fc749c7a73c5945369ea34791c11e0fa61148a74a2cb52acbedfb8f3b0c77df27ab0b4740d3e67f7acf24db1d3db66fbc7ba5d3cdf38 +DIST firefox-128.9.0esr-hy-AM.xpi 664461 BLAKE2B a5463d1938e3e5987d4232160f41eecaeccdf77ee44e3cfab04e1656b3d0def3be86aa638a459afcda80b72e53e93577772fa6b8cc90fe5900a8845134fe2944 SHA512 7d269e8b978a953b05b51c7344de73ef70f90069edb312f072570bdb551cc644ea338ba208a43976586d8be5ce1777a2f4faa1eb373b9e6afebe5ef3d12f8f07 +DIST firefox-128.9.0esr-ia.xpi 637945 BLAKE2B 9040e9e59684354889a19113b2e8054258aab79d16e6f6f51ca87c4a19f26731ca5115634bf7166ec860091b51ed1bdb9d4b937a0520d09c418df974c6135e4c SHA512 b72c7cee5a34445e41c03f1df8a05f3edff49926fc18935072aa3d391e6e398eeae018c6da30e95fc4eea3f475dfbe82690126176d2e80eac012aad640aaccac +DIST firefox-128.9.0esr-id.xpi 625998 BLAKE2B 940d4dbae339fa43a12bbc96ee3dea201df7e122e3bfe982c512c5b6a145d7301c5a58dd07e3d2bc82ca908cd5e8b35961a5f7bad86644f075f1bf2c2611d80c SHA512 5001a9b9a9467462da3ebd735b74ad9506ea30eb6ccb1f9b5fe1b62a9524256e35c2e35d5135d947bd386eaebaa4a71077c2b60db2a6dbed4b49bf9b2554f344 +DIST firefox-128.9.0esr-is.xpi 646726 BLAKE2B 2a6fd78f67e9b76ec4d4f72deaf5d0bb9728a2c34872dcd7e99de469033265e30eb0bdb72a10c7af62e8565855050e0fc50cec05896cee01aa587b4b9e8695b8 SHA512 d74e4845d947f2d4054ad949616340c08429eee43a12aa9d5e69c2249e4fb273e9bcfdac5ae18798a4097059e3e3033750100ed5a7d30f126990d7519169887d +DIST firefox-128.9.0esr-it.xpi 648853 BLAKE2B 5632edcb794b8d2f85aff7cf12c0dab10e4267dae4c960847016c1ca26b674256a19f52c23b8ba2c891e4977e10e62b42d4e6c8fc5e7ab61bb0d71b9a48cb06c SHA512 0901ae1da63889acb5f115cf1e6f4ece049bf5050a4ca83e7166a3ad294aa6843c7710fbb082003cf2c3a2227d9a719dc2999cc0d099b9df27ef4be3994a8434 +DIST firefox-128.9.0esr-ja.xpi 704121 BLAKE2B 2b497029f73aba6eee9ac9330cd3f2bea61cd811ab6f2de48b59c0af5c054140f0fe2551f03858ad160697bbfbdfd71767b5d5025ab85ea97b99491e798764f8 SHA512 612e506397f7a68460336040f611c20b803151aeeedca478bb50a8ad6f4bc885a42f4bb718659967335e2472618871b7b72b19dbfd1c976177d529a49d88c328 +DIST firefox-128.9.0esr-ka.xpi 714511 BLAKE2B 57d687adca2f8d603f946b3e970d02cdd4cec7de82a529bfc54778c1e30ef9bbcb1733a52cf43cc85d9ab0ddf06aac21cfdeb7e62d4be5bf8f6d1a9fb4088933 SHA512 1c19f9da83a015fba008fa8e36d7aa98418beafe05d898d6b0fb261d71536e85225ce43d91b0639d6b125c5a1cbe63e58af1f9db2de3c71937caccbf90c5afdb +DIST firefox-128.9.0esr-kab.xpi 626278 BLAKE2B 0973030f805d01217e06eb1f6b48533297361ae688c4df9748cd9ceae53a30fdacd8c8a15772be6c90a59f0901f94bd9fe1eaa01674e91f832d0aed4163ca295 SHA512 9226114080cca6cd8f5fda21a677c0fa8267f7c1da0f180a8c7df3686d23a5405e845de171414b6b9f7968fb984c143a123df41f6db95556f0f89e0ac01f5bbb +DIST firefox-128.9.0esr-kk.xpi 734548 BLAKE2B 4c7ab97dfa97cd558a82edf2012b48272158a190a0e674a17b81f40093aa4d502209e41878051e3a4b528338761a3a11f4344ef503b826b9d83e152de9182ee9 SHA512 17dda8d71a2ebb531ad31d4e48633e2c9d177bf4ec877ff41fc3a9cd2bd18978083663b67c258402d6c253cd10f79594a40bd7ccdcfef8761d294e8e1251f184 +DIST firefox-128.9.0esr-km.xpi 543156 BLAKE2B 7fc73a8e9dc9d4b0d2e181f4ebc1b3cbc2f684d94bee720bdfbe162c8dafcfc00b5b0311d026170465ac93621daf2552be28b841db799b77c25b080479b12340 SHA512 4d1a99bce1a5bc004fa850587f0ae7ef230492ac01e518ada34fede9eaeb2ee8c985a7f06c3d6139ec9fe6a852aa8666bd890ce504ec60f8a69a991242b00af9 +DIST firefox-128.9.0esr-kn.xpi 520320 BLAKE2B 5a27169dcc147e737f08d047598437290d64b07c0e9f87bbadcd86c508da574b73804c5a8ad34da165e34cda0780525f8ecbf0c2dbdd7b5ae9249200a4d5540a SHA512 57a6d07f14327a22c4ba5b27e3d71d965a122faf91e6a82e572d90fcf8a72728e3f3814294bb56dd0c5cd3a9348e6a408ebfa147d4aadcce2608492993da78ee +DIST firefox-128.9.0esr-ko.xpi 690556 BLAKE2B bb23c9e9f4e01774a434107e9bc25526ddefa624b2e33098c1ac74b62330b793005074e0dddd8fc1bfc4c6ad0fb737de506a568d8025f65e4761235858647317 SHA512 870107571b81aa58ae68e6f817590795f2432615eecd074c02e61a98199c7312fbbeb283ebfae8505e9fd4e9746bc3915b967b34a393612d47c45bab75225a5d +DIST firefox-128.9.0esr-lij.xpi 506287 BLAKE2B 1bb98bb0e7019a28d8e1f41df0b77c2b4634f2d99e81ca7203e2054da5ae0e8b8b4e55b3710483f3b4718e673caba4b168c48c32723628f289e627bf03aa57e5 SHA512 84d0c7cdc7aa952f9f35fbb4c13be79913e24a8d4c9f65464fa2eddff81fcd390c229303cd41c1a3b50e5d92c62cf2311a99d33dfbefee89d444d6d12dc7f0b0 +DIST firefox-128.9.0esr-lt.xpi 585989 BLAKE2B 6e9b52ddf0450f7e6be93263ce6770e90e54be9c521a53e932749cc7c9ca6a53e06b5e1d8edc2bf623a693077829f6d233d248a7b04de099fc8a8809acdba5b7 SHA512 d24f938d17aee234fe297d1fde5da21ba220a1605da52682f4cd100c66f33954be5222236c87de700b037c107964f03fd9089bb70cbe6c0bc6c0444de43c2a18 +DIST firefox-128.9.0esr-lv.xpi 595099 BLAKE2B 7af676dbb13362dec9ce36244cc82178296f1a9bc039c9a669faf1bc30b4856b82a3d4b3b9b248a710850fdb5bdd66d9600e893cf1d217ff59c94b9ab61b578e SHA512 707a18ba623b26b13c7310abacf00080341e0b0eb119d29ba80fff356eccc1da43bdb3ff3dc471f5366d22bc303b25672211ca4e1750ddcc95b80341f3b148b7 +DIST firefox-128.9.0esr-mk.xpi 511079 BLAKE2B e59ccbc56701bdbd231e47339d8d5fb956cc9cf347a83cb5f98d0e2a9403ec92d0ac88bde13d00555f48b2b163f64caa2e5bc72989fecfdf9c6d541a57fbb0fd SHA512 86be06e3aa69d11ecaa350da145f0989c4716a416fc9d840fdf70aa59dfd969c0014c917fc88c3b847594a0d06ca9f1ed843548a19ffe72cf4b674ecbca083e4 +DIST firefox-128.9.0esr-mr.xpi 552805 BLAKE2B 843421824af2f15179a106da57b73c1f9d574f520033802b107411cc5b91ba01ff4be07598eec9e4d903695d0f5bf2d6862113424b895823fbe6fa882edf05d1 SHA512 5af691c8ee4ee3325414ee6b0405d13e0749868dacf06a6bccc3fc90b0e750b2e80111edf89af7548e1e95ffa5a40104f3eb5e37e6af40ac20528b3a2974178b +DIST firefox-128.9.0esr-ms.xpi 477965 BLAKE2B d4cd237760780a195443aad35264ad5b36aaaa60525ad37e1ab78de698ac3f9f62c5495250a6c0c414199a66c33a4ede32356fe833d9b993c2c254eb91aa54f1 SHA512 8d20a9661b443950567cca35f09b257901732abc7857588c9071d40f189523187c6e27b90cd61d062041452179db71d28f5fcfe7109dd29d09c0574aeb0e0259 +DIST firefox-128.9.0esr-my.xpi 540061 BLAKE2B 5a069dc41543c6cef6dd2fd14a3d46e4179cda43f163138228be3516cae0ae01109b4bba04f0f5070828b8ad4d80d515ee58fc86f4f4883521836ed9201fe0e9 SHA512 584d38264b0d60305db8eedfcb2bd53651881b6aec5bd7d317cdca10214cefe86e7b13eee2679a26265f333bc3f79f52cb20ff653e1871928e005067e1aa2fef +DIST firefox-128.9.0esr-nb-NO.xpi 627683 BLAKE2B e3160f3324d2d202123eaf7309e873f01daec2574eca8625bf3d8b0136180c83358e697615bbff5c470c053cb652397d2589800ac1d06f114acf2539e991e697 SHA512 a7e9563bfc2a8ee1f7009e17fc409671959585126d9ecb6f6b36eab393aad4ec6a1298bdff232e18be677112253420e7d04dffdea0fcaa9abb83fb7bdb450925 +DIST firefox-128.9.0esr-ne-NP.xpi 543834 BLAKE2B 3245ddd93ca481addefeefce76068f4bb28445909f259308b7165bfa4a5322027bb052a0b787837f72ce8c7bbbcef71c042eb23940dd75411c66e35a8733f301 SHA512 09780e24f788d1809d3ac6e52559db5c04006161807d345d774c7069d027a5f0c7c8eeb7ffc5702c908563204ec374b4867bf804aca138464256b3a190cc5dd8 +DIST firefox-128.9.0esr-nl.xpi 645183 BLAKE2B 5182c350e0db8ae98e4105575ebb9e7d84e50290ba9ede23e44294032d84070bdc3f66f4f8fd4edf175b9411fab83769aeb8fae56110022b77057bb918d891ec SHA512 91329c3e28cf0baabef30b50e79fccc907e6e348913cfa2428a7f1d5c5b38b9e4afd3cce3c9c625c17a319c64c501c6e923da11a71a615a10df87ae5813de7cb +DIST firefox-128.9.0esr-nn-NO.xpi 630290 BLAKE2B 9fa5b27cff7c26d46142bf5019dd764ccde6be7b7169dec714e35f0a07bd2c1c247c0e7fd56e71f310a915c5ba31f7b60c815c1ac1faeb4ce8feffb8d7864be1 SHA512 e27ceaf937a38c8563a7a768d8b8f60e46d31f32fc7688c0e786349e468d7e5cbc337ff8f459ca3230eb5979c6022a0572e46bc791fcb23d39bcee40a40ca4da +DIST firefox-128.9.0esr-oc.xpi 626819 BLAKE2B 0539a473b34330c09545b6777bcce64107df696954091e733bc14f34c5fb4b8f84f539799d902fd1dcd3158a9e4647af7dfd62be9990baa5d9659fe851e6d8ce SHA512 cb9b24fb091c45580322617c20db99eb51fd3e7914e83febc59aa995198e8071d571223212a3b747015a053ae5511875deb914e8630a134d3a4030fe8f968f1c +DIST firefox-128.9.0esr-pa-IN.xpi 726719 BLAKE2B 54c96c09c6f822158f666fb02c45ebac170def19f7c160fb9c75cf560a84ed24832f3d66c42ec64f4b1b03aae319f85dcbbd3e06413aafe92f5f67774bd28df8 SHA512 b5a314379e4cea258b078ed90fdef21484ddf905860cb7cb8f6057b54a74a3a91f4c0d70d73f4c0add8c271c88db6aacdf06c1d977cdd1bd72b521d5cc41f600 +DIST firefox-128.9.0esr-pl.xpi 669244 BLAKE2B ac3cf2a517f54b1fb9a01aaee1fcf0610078abd4ea8704f82b57880e98b5f55c65bf5aa4fdb36bd2ab07747a76bc4e1bce8f90d70c1992ab04dd85194a7759d3 SHA512 dafedc6f1052d8612322af21eeaec12d9dd231997191f75c33ce097c68110e51ee28b2e8a626731cc388d7c0a3242bba13136996e562ce2ac9348842215497e9 +DIST firefox-128.9.0esr-pt-BR.xpi 650224 BLAKE2B 51560c0e77c4c11de542fd0c4d3ec594efefac1258211dc50b5eb41d7726d9f3e400f236cae891f1935c8779ff02146dc469fad8f21db9b30a602d9da838492b SHA512 a5cacc84678381d4eafdc95debc7abe254a3132a317b0ee30f4d497ee772a4a09ca8019422976f04414290fba7e378591b7b50868640df3b81b6e4766eec426a +DIST firefox-128.9.0esr-pt-PT.xpi 654869 BLAKE2B caf72d68afa1947413e3266ce889bc5e492288f04aa5a719f1cac7342b2175df6312af7e446da2271ec083a75a747d71bfefd041ff06efa38bedd523002fd2a1 SHA512 b96bb464ddef5f2717a0056a86c5402054287490a59c904c9b18d1004e4bca826af66e184b5fd73dc72079f6e573e1a2d1e271d14d9910c3e28eb99a440d2c74 +DIST firefox-128.9.0esr-rm.xpi 646690 BLAKE2B 3fea1c1f16104748725faec46366101ffedea8aebc4ca914f7b9b291736f50107aa0c4f907de90811c934f0e055ad13c59e4ebfad9f92deba24c50670178f223 SHA512 f53d795fa2ab088258ad6a517a3be485e348adfd0708f894443b6698394d8a5515a083b8437e11828737f7701e6a2680ecf1bc27f84021af8cadc40909f8730e +DIST firefox-128.9.0esr-ro.xpi 562846 BLAKE2B b9a43ab0e25148c3b20ad9a01f83a522ccae3f24355a1faf516be1cc1cf14c99a2c18028c36d4891b623206f88d07cc8b529ff14a8f56f23bd3431f207b89557 SHA512 59dd09f4b7911e8a6a7a66180f4f5e4034b3376c927dc4694607fd38344ff82a0731fc1b41171fbb52e45425233958b31574165434bbc7ec33f3e521b3e95df0 +DIST firefox-128.9.0esr-ru.xpi 753058 BLAKE2B 6fab19dfdce46f97b5393620bf28ff8725afc1aca15b6828088608d16f7d6729b20d5b6256ef43e3bbe0e116ec031e251b53662101d7a6f79db4e596993a5804 SHA512 184cfee1f7d76195b1242e1618d10082521ae0f42d77aa3311291b1529cbcca26c75893f1ae4338aaccfd7a0d013e647b051a8b571aa52c418e0a688ac879f88 +DIST firefox-128.9.0esr-sc.xpi 604293 BLAKE2B fbea01e65c3d1282e4817068343b49987740418767c8929c81220c9ebe01a4588353b4960ebc0fd1a63194275bc586df90c84fe6cad18f8be966e51a9c259c9a SHA512 ee22070a55298717f993d982d60a005107b62528b40e9f1617cee671ef029977b7ae7681a655d11aa5f156b2ad04b6df1f3452af5136a4bcd1a389f95bb904e8 +DIST firefox-128.9.0esr-sco.xpi 524649 BLAKE2B 87b29ee6d6c7b756f4f1c0e579ec8556b3a2e3468d0f3be738fc32d37d31a419291127dda6f196eddc5ffa13e2dbf3cacd01f0c75ac4d73c5a429b455261c566 SHA512 3fa82c543ed911f126d9a90b44f62179be8aae3bd7ec9bbb467b2a89ba7614d146f58c00b4241abab64c13fd3716cba9851324479ce57fd1d546adb01b833f10 +DIST firefox-128.9.0esr-si.xpi 628196 BLAKE2B cc1118e2a04afade63946cf7010a905d8ee2fe650b65c9d259d2ea139b055a70f71442751ddbae36debb5eb91ea866340ed4b327d0366985e5d290f8511eea20 SHA512 2f0e621c55d37ce348a5ee80b8d7a7dd99bc0c29cd536a79a14e0fddb44a9fa98e1a31f0711cf508e7a8dc5b63fdaea45a28e8a47f07f257b3d2cfc62198aa70 +DIST firefox-128.9.0esr-sk.xpi 682233 BLAKE2B e66d185638d74d27be89ac1fbf2e2ee80eac57d47c4c06764e3594e0e05b3a801cba8bab13ce98332af046663931205d87dcf8531389a41c25a9078e8381f28b SHA512 c9f387c22ebe99f6f82e414919919ec0e365fa8a2bcdf4d6a2f687d5c4d6d624522d640668d3e6686865dcd3436ce361d98f54def6fdcd596e9f0d3e9316ea63 +DIST firefox-128.9.0esr-skr.xpi 726694 BLAKE2B a50869644b5ef4823876073132930b38762b9ae59780cfa9980f924b464884e3078e37edaa505827388a44ab2edbbe52fd99f3631f6b6a74d1f8846c50ff3c12 SHA512 14051c4ce2ff6d1da3f103694b528d9cbefa2165413f1e234c799dccf2d68ebf638ee1c16218218fef6d583a4b9debb9ca54f988466839a58941ea0dfa59d4bb +DIST firefox-128.9.0esr-sl.xpi 649037 BLAKE2B 1015299fad981e5e5efaad05610026c1cbd0b29703c81052845b10f01919c28956605edec203393bfe7ca5d538e6b36cc047a9d4cf30967aeca18e0103d73a99 SHA512 2bcfdcf547fac53140ece9e5147e80c6dd64577221f890899e858e7fc79cde1df2b24ea36a0ef78fe4c1ff731aed330606c1301dfee2feb07b296cf97ea6dc36 +DIST firefox-128.9.0esr-son.xpi 451701 BLAKE2B 9b409f116556e657508bd9887eeb9c05937b9c0c3379c0303ef812bd5b554975959c2c4792c38b8eca3acfb4c22b4fef561241786aeec5bd4b1899ea01b37b5d SHA512 4141005ee57b469e1b9301c957a6cd7c9d5c49bec56d3679e376a773a4a3b9a77adbe5fc9feb6e05770de4e070d41538e7fcf3ed58a3dd8211fc55197f501926 +DIST firefox-128.9.0esr-sq.xpi 665741 BLAKE2B f1dcf1eb5c76bc1819c901be4e9e446fe99cda358535a12a06e1cfb2aad3856edac3de99b33e669037dc93e99d9a6e99f9470537fb3dacee0341970676e3187c SHA512 43a075af1f08ce61eb55243d3df90b75d47f7bb470af6af1be6d42cebf39f189aa2801db148aeda7b1a586e3a622f8aa4c8901c1232b7c74e52e5fccfcdbb50f +DIST firefox-128.9.0esr-sr.xpi 678442 BLAKE2B 089f87add5b379235d87e36a102d524a4cb7aecfd67e483b73761e56870634905a8ad2a6e85a3152bb86926bc563eebe05f8f8ff382449fd705f855c3d3710bb SHA512 a6748e473d82651b632586a8623b47db8ffc7abe887a4d6819ed9f8f14953cde36f119899716102f8e6e51e6cf921e4a4d582ce2fb443920a944e604cc9481f3 +DIST firefox-128.9.0esr-sv-SE.xpi 646489 BLAKE2B 5a0373eb3ec03cdfd14536c8dfd41f6d73d711eaf12a4a5db10e70926f0f5aac8aec66a29cd19d234a44e62d8cf0874cea9d61ebb4c22730c9dd7963b71732f6 SHA512 317bef0fa52f7a51bd6ffcb1517b2d58f3deffc6f930e4335046ba8416a4d53e3e7314ec9e5b581c924e3ebff53b7900943c22393f5238ead505f96b69b748d1 +DIST firefox-128.9.0esr-szl.xpi 541733 BLAKE2B 82dc35ff0ac2e683b6de563bd171bd828f6eed27d412f4e72d224ca619552a38b1b94d731f0ac96205ea4136f0dbd1178160e4c80bf85c414086d665f094a074 SHA512 0e469ee8aca3eb5b63eeeae9f2f69b0931a9c12cc38c177e49a8b5422dbda377cfab13374209c55158684cf26610a6c116e252ce5895e38de40e1776eac625d8 +DIST firefox-128.9.0esr-ta.xpi 530541 BLAKE2B 871ecadcea225a4755650ab69a7df7ebda4364d8b6d6a86d89c283f1d8d5311f04de11bc44834457ca44ba2531e4ddf8b21089ad3ad508da1b14357ba40ff4e7 SHA512 b2d48d06e788d68a4ff7544b03bfed2b350af5aef34203a53fce782a725748c066fd99753b291631410f0190596113729b880bb13242c6558ad1df881017255a +DIST firefox-128.9.0esr-te.xpi 583145 BLAKE2B 68ed4dccda0f5a93748452bbdd48aba9ddc442ce692edabaa328749cd3b68b59ae51d9ccf215b34e5aee7bbe7ea1a26eca7b63980b4ee65090b9864b022121ba SHA512 4b1dadea77eb7256e527b96e9ff8e67a406f395e26730059e44f33fa3dc0d5a8c5e0321a308d20f554de957eb3d64c5ce91e8ff2a470a8d2c84b9a871f4f52c4 +DIST firefox-128.9.0esr-th.xpi 728452 BLAKE2B 6ced3c4e7fc8569949b88578348f234b8e7bf03ed1822447b1fd2435bcfb5f9c4e0267ffad87759fd1f7f6a8655bafdee8cf221324a8fb6c98607b7dfe824309 SHA512 a23b34f9e3619ad58987a820f419698c8fe05da32e39c5cb85393c547035e3a55ab11f5f997f8d36f27c31d1f7497191ddd519c907a8a44df95df17bcc65f3c5 +DIST firefox-128.9.0esr-tl.xpi 546950 BLAKE2B b64a7b22578b110957dcd28af575634a7ba5ac2d4b8b150592e2cb74abbf81a012b6a2ee849aec317a7c9b3cc51963f9b3a8e8d4ac541fe76864a6d79db0d31e SHA512 bd6681b92e70b8e16f1c55ce674a6f3d42a4ec1135e09b44e39eab8472caa39a03d53c87616ff8217c5a07fc7a6d46e0244296e177139d91eef6cfcb760c7c5d +DIST firefox-128.9.0esr-tr.xpi 659453 BLAKE2B 80905fe0ecce69ac20c4e8495e7c4813b82e0e763f59e53c6a3b882c1250ca90d5f1fac48ea949c40dd770a1708e3a3275cd71e3b424d41bad020a72d7d96884 SHA512 6abed12f46bb42af601685e42160f78e146e80df9d274108f7cec59a1604c846854cd9b03ea8e99421547ab3871e8f9fc6ef4cda2fb10d3517c81e736c652e53 +DIST firefox-128.9.0esr-trs.xpi 522149 BLAKE2B da180ea3961acb73c67d28c427d3a9dda77b65205a04b4bb0625fbf597437c10b9708c4c989b1114410acfa9b30bb271844b551d91d7fac6fa02bf3232e17ea9 SHA512 885ed32260bf933f547590cc2297a8a229edd472c7e8314fe112b318a85481ecc1e4593669e4c8f55660a19d6890e0919546353d2a025c280e350dd6ca2a58b2 +DIST firefox-128.9.0esr-uk.xpi 743993 BLAKE2B b9729271f70a048b8aa683ec19440ce6754cfb7a0d1d5e08f5d16b247a4563c57d28132d1127f120b2999b62d87edad07c35a588f2acf872fc6690aa3d3048a5 SHA512 91cfd38469f62fd7aeab5ba35d4603cbeda9b2a36516af29b76e2db25d26a00a311ef2d872ff8110b2153faf0c537ba4a1a04e0ef01d6b7d79bab1d55a10962f +DIST firefox-128.9.0esr-ur.xpi 574502 BLAKE2B 8ba09408fe8863a8017bebaebe048c083c599bacdb7e4362ac380bcfd96b381bec96ebeefcb6c0320778cf0fea4db49c7b954d97f6740721aa1f56f4ed57e8a1 SHA512 b31c720e0fb053b2d2b600d78a9b31f78980b3870209fe9c66f276a31c99cd79fccf855647d6b9b5d9862c865f0c8acb96eee208bba6f684d84b57cfc2459c95 +DIST firefox-128.9.0esr-uz.xpi 495295 BLAKE2B d1ff5a9724d86b5771006df2343ca1c95897ae061578b3bcc55f9a37ad3f92fe26e7ab569a5ec8ff3fbda2ff83071788b3e4a2386e99d8cda12a11e276e6ab96 SHA512 d46b494df34ef42d3ae6123d05c767321d2338a134bd71281f089eca9c28f4bb5feb6f01816009ed3b19a694bd7f76ff8c970df1f956a372cf9383bbee81a911 +DIST firefox-128.9.0esr-vi.xpi 683666 BLAKE2B 03a1d030ce3f5a8f54c8dffd2566ee9e190bda78404a6db898c58baaf163c3939c307637a21a213ac5dee2ef239310fee8a500eb2f2cc42b9daaf209c2fa9d78 SHA512 235b2c12421db95504aed1cc5b01701ce3126dd82fc5be9cb87e6610e3d22f23056eafc0736b611696aef344cca4573c19f842e59fc370c2757a61e2936fc913 +DIST firefox-128.9.0esr-xh.xpi 452430 BLAKE2B d4b0506c562fa83d1fc1ce1286017fe41b977e164681c48969bb1809b2b52401fe9795adda5288c9bf53eda8dc21b70b17b01455f94fef20e5abbe8fc541f252 SHA512 770d6eb279738e45bc2c97fc45e99add8ceb5c3c3caa404aba44f565ef527d53f28fbd463e46293aa45846f0233309f37f41e1005d62d1497e99687ead03f4c6 +DIST firefox-128.9.0esr-zh-CN.xpi 686332 BLAKE2B e9130871e826721e58a3bd850f63a73ec200be89b30ecf9a74076e53247f8450b8d24c04d5ca198f071edf80627af987901172534763c819fdb455d9167df5ac SHA512 079b780b125457ca3bcd3e4ed2ae9a9ddaafbfd6652c1b5f508557d304087aabd26ddc55d8aec4c60d47e9d58a70ee842a9c91b369578fd5bb34f0cd747c5ba9 +DIST firefox-128.9.0esr-zh-TW.xpi 689135 BLAKE2B ed751b14944a1c8227b1e37d816a2f8a057745e807067debcde6be490cb73af1924347451c1c9993845a7a6983a6b82aa52bb9008fd3b2bd4ed5507bd46eb1a5 SHA512 de655a1ded9c7aff05602b78b9fe8a2532b6c0381986d7175ce26b08a981371f4daa7c97347de94cf30cc553237cc867fe030440e96952f464c104f80a8ac78b +DIST firefox-128.9.0esr.source.tar.xz 562959584 BLAKE2B e49ac096a68cc450be909d3e5d325ae5d45acdad5a37afd6567f960d585d30f6ea3a03e9f9e976b430a60180ccd2baaa1679050f46e0a736a46c0cc6694f3797 SHA512 c0c8ac8374291cc93279064c73c17786c6f4fba7505ebc2cbd7a4ce7c82710620abdae7be15f60c43f9d10c3614fc9fd31f094e787105d528031c6f0510f7339 DIST firefox-128esr-patches-09.tar.xz 17976 BLAKE2B 78f64f5086951f7bf2b304c1148154647aef5c4e699257cba5e94a83d8d8c159a591d0b2a7a5f8bc0f8ec28d5eae66a0783b45f94b4ef713282a6f88e46c75be SHA512 159d8c94af0f90c10baf7446e573a37397b3be7103e7001fb6b38845a28a41793c21ad24c23e0b3cfc4daa2c3a6040ef701f612693c9f4dfff8534f82e7b18a1 DIST firefox-136-loong-patches-01.tar.xz 38508 BLAKE2B 2508fdb9de68bb90edfb3f4a15f79579cd8865cb87ef0a9073c3b740152d857b791cb53c4520a2bdc466f083e7aa6e028a90d44b61b3eea46395f62115b7272a SHA512 e4f83d6a98eb25335de80bf396bfb2d0a362e7509efa898291f524d6fbf20754a278a930d61b3b9727e6b08d8e4959b001c75c2e3f648ce70444b39950307157 DIST firefox-136-patches-03.tar.xz 13356 BLAKE2B b69e64235b2ef72839055a91e9ffc881685675b46884171dedcb13f68710b083318e15ecfe8667652255074ed45fe722c91fa4f54ba457f33774af33a7ebb33b SHA512 b7301a60ccee7b8e870ac57200cd7242e5e2b8fbe8110d539a038f6b74d6fef86a96fc9f3dc2aeb387e636cacc875828d2b02287b8f5f7dbc6c333a900ca75de @@ -316,9 +417,113 @@ DIST firefox-136.0.3-xh.xpi 273257 BLAKE2B 6e07dd72d826ad4f42d9f40620ec20cb8d942 DIST firefox-136.0.3-zh-CN.xpi 454860 BLAKE2B 7e348fc0966edc49d5846385e3cfc9dd07298ce54732bb2b7e39942620c513e4fe0eccba3eda01e1d0d3dd437dcf55a14d6e9eb76614a514c8df13c08f93ca19 SHA512 9dad343d44c142283731b86feb7736bc977d0e695321090840405a88130b064f75aee5d57e3254b5de3109ef877589964d0b96159f0e168c30aacc46c03c0d3e DIST firefox-136.0.3-zh-TW.xpi 457685 BLAKE2B acd6fcf01ca1a18132b89f3f519684200ae8cc4ccb961abc0bfc416a61d2a567556bc4b8f762b8fdc4a48ff90bdfc58e0b049c3c6f7843eb4462d77cc4d04716 SHA512 4a033670cd88cda125543846deebfe49b2a6377bf514d3677688c50fb1425bb19e44f6d2c5ee99f04cd3ff949710fa8f09266bbe6fa16f778b751ac825e64553 DIST firefox-136.0.3.source.tar.xz 601432848 BLAKE2B 7f9c686744273ae00edfb64f0ba12dc46bab901e3a23e8ece1e9633bbbda9e83d03c6373a76596a2d9126b541d25311d40204240d6220354820264346a485e2d SHA512 59cb54bc946aecea810169970aad4ba3f7b3092e56f15f86ff3d51fa2752c89632a057a1bda016f0005665ec5099d9b9f9a4786b9c02e3f5656eb2003b6a1747 +DIST firefox-137-patches-01.tar.xz 13584 BLAKE2B f22ee7977e738bb782014dda53ac20c4928fbef93616b1a11d474599d79a549dbf66e5a1eaf40d1ba1745bc3345162cf1f2107ef9a8ae72c63b8d9850460380d SHA512 b577486e8cfb2dd2da37802a9a7f4e2bf16094bf4ed22a8c2bf91019cf74b23942a1884a58bcbad055c7ca480f944cae35e85aadf92d98059be0eaacd4b8a464 +DIST firefox-137.0-ach.xpi 300716 BLAKE2B acc9e2b03371ea2d178bdeb8d17b48c58ed18a2ddd65b0d8a8223a143f0b512f3d3d60dfd6d05c522ec292edfd2a96c8d693d8d2cf08a198ed89a6df10157bdc SHA512 d4930c8ebaf53d1dbb6c35efba9c82d74bb4c33879093bee324b8b3fb1cf082fe330cfcdc8a2d55ecf69afaf870aac726326e3749f83b4b147ca629287490784 +DIST firefox-137.0-af.xpi 272237 BLAKE2B b3fc5d9f41d00b616a0bcec3be823a283bac4c07c9e2ea4aa319a4d29ecac84f36f07a53373f0a7d245f39e727825739b2708a955f841eb740decc99dbe4920a SHA512 d158e9f79069a2b5edd5b68528a894d52d02a2f8360c1963062cdc67a22e2819dc610d710697b3cd000de6a6c22dfccc60111a3350f7d350a9d5f452b741e95d +DIST firefox-137.0-an.xpi 338701 BLAKE2B a45c9e37f30ffbdb5a2838955fc53cb32d8bec15e1c9d18e3f68f7c6e82c7bdd36b7651b42456d22fba5efce00987036272b54002ba7e2105750cb2c176e183c SHA512 aa6c9ac1450e41686044a7769707251ad7fb727a640eb1188186c2ec1c39d0665d4f5bbab1e04748f0bce714b2f778a7497eba17a737872385db4779dd269638 +DIST firefox-137.0-ar.xpi 441341 BLAKE2B 4792f8d94a71fdb599129a1adad03f865a76299c70548a00d30249b2747685382076a4df656a2dcc223864b75dc963c52db9f9b21fd8bd25ebc34512aa2e6af3 SHA512 54ff2dcce3e407ab735d52da9d800a35d1cdbbc7822f96df8c28c7d3725a3115b50007be2e335c13051f242da82f2f92f54d8093d5d3ce7dcf27fa623e4a6af7 +DIST firefox-137.0-ast.xpi 319618 BLAKE2B 45dcd7f6f7327da06e8be6a04efcbcad2c16b2a3b50d7bf15267d3e327a1062b6c4695617ccf36be3748343030d596827f52243608f4decb4baca6f90edb5bdb SHA512 a833de8df6ee25c4422fcefdcd7678e00d9f3b1f920c7936c64e99a99da3690f8e2c775b486419b7366a72214b0d78501eaf46f86df70562bfa72a6fd2e94364 +DIST firefox-137.0-az.xpi 325049 BLAKE2B 42cf038bba290a580e0b8ef366d13e78d564b9c00fdf58357dce321c667f89d41c9f03a6f9359138021ad660bfd5a44f45135e517ab8faeead500487346ef2ab SHA512 40e66813f052d042f536a4f9ea39d25a45fcd4761e6b780fda42231b84968503cd577f9c86621d0880b684df305c960fd2b408ac9c38b578de3d9d79dc8a4fa3 +DIST firefox-137.0-be.xpi 522144 BLAKE2B 5e8ac301937772c4d4075c66331f787fdfab24eb2c7e7c3f59c2d0070e2bf1126afb90b67102e7d849af08768b37d838f63b8c2a40948395cc0b0d223614510e SHA512 9314538c11a84c93de2bbd0627cb1b09e0ae65d6a36f2bf9ae59757909b574a6c447825a5295274685bed9feb306e616993dc418bda408fcd97daf5bed0475f3 +DIST firefox-137.0-bg.xpi 453689 BLAKE2B 29aac1a4f9aeb3b1e8b8acafe99f843644f4c7e6c8188bb68705b246a126b99c8cda49c6d3b1b084e5ca7bf4a71f91bd971b6b8fabece95c6a408aaf5fdc1f04 SHA512 e01a7a57d04207665493387c8ba850460c8f79a9d735b2fdfb3c8099df4454afa269aed2e6d6b4f7828e93a76bca6260bdf94ee2c2cd21ea4e41a4a184dfc6b8 +DIST firefox-137.0-bn.xpi 419514 BLAKE2B 24102666d1a9992209bcea93cb52fb6e832e60d432ba6f8a8eaa0600046b856da801155ff46b1969b5bdba950173471b6724de667cf96cc0aace7a2331c149d2 SHA512 c312cff9df167f4c5c457dd7341dc39735c721a3c4ed24a4b493a83309d19561bc4bfe6c9265e3a29a8946ff81c864a43258c922f0a89704494d6d1bcd8642bb +DIST firefox-137.0-br.xpi 400645 BLAKE2B 155c7ba1ddcae97ceeeff872583abe794bdd86f00eb8ca31e62a83b024115640b93d75d46911128e654c36ff88b6d5d44bc418d7fed4fd41f461a7e3a29e904f SHA512 8839c8031708aac2ca9c243757fb368e2960ff0df4a9fc75d3450ef1f99b079dea55322e57e32b25c0c791412dc380b794579191e2380eafee1264b24fe7e436 +DIST firefox-137.0-bs.xpi 370537 BLAKE2B cd161c1baa087128429d154db7813c3f0b8cd3b24a2c5522fb80894ff3b5d6f299c2c8eaf5f37e6a8c28eb8a25c970b9a334fa537492e8b2547b0b64cdaa20d8 SHA512 576ae4c307e6310a537c55818017e9b2558d9d330f9e2c64116c1206dc27c9d8952e06d9a6bad496afcc68aff34ce83a2b522ce3079c811bf6557ac39831162e +DIST firefox-137.0-ca-valencia.xpi 365080 BLAKE2B 797dc673c6cef2194b87f151610c6276cd67c4a9db5c69cd40a915e33c7933a40c68547dc1dfa4e9b36470fd8b67a096238b9ce5b0e0ec064c0ea94b602cfc9a SHA512 17f5f59e9f23513628d6552967c3c565b169a0db65f21ddb274e334a75831eaa1c36db5d5b01d0b80d9cf9f1401d7a03c1b63cad229a011cff4911a247dfc734 +DIST firefox-137.0-ca.xpi 405805 BLAKE2B d69935db3ba10f263e8ec9776f166705243040b6d26582faf4518eb63fea1322993b81538b21b96ad6c50b0654f9767126c25531daf6403c60181ca585af11c2 SHA512 fd45b9864cb356217224d58ffd2226e0e70b70248ce94be0625d6363e732fd654b9bb98fe07bb8e8578462cd5313b1d67f9b6f33fc94ab5992fc2a531eaea1bd +DIST firefox-137.0-cak.xpi 399171 BLAKE2B 1556158752a18e3583aa73b27099af410b0d9fb29b94c89273d9408599f607d44bb928d2bb911eba2e4601be49de6616ce5906df06b9c6663df563dd39168392 SHA512 ab22b793b28a025e660cd490512838d5ad1c283f53b2ef6439011f61b1a398de2bc8a175487434925c062bc460a7488d2313607ba2b898d1931de5acbe3d38ca +DIST firefox-137.0-cs.xpi 477193 BLAKE2B 37338dd1e242a0da296e469c484b679aa75074ab8bd9095523c7c83f3b1acecc26f89c6caa2d99c547ae79b4df6eee5613fcc01f61a64168fb2bdba0ad54417d SHA512 de6b3cabb72d4a48529bc190d456887fd3da2a650cc063ab79f85a78e8d4b487ae7f9b8f4f5abafdf0c8b658aec5f326aec2c62e270880cb011a66af9c3046ed +DIST firefox-137.0-cy.xpi 443584 BLAKE2B 6e38b35e5ee0e2bddf93b1f5a1f80b1ee0eb36e9aebce032154903a9e8ee0ce8970b329b0f0159c03db15571bd41ae3ff6c16672ca4a7d9f5c021ebda55c542f SHA512 235ae38643a334cd848c47d7d81ef93a3fef3be45b0d69b0a09f322eb6f62303910e64c7daec4d8247682cff8c468c21f961c28a9a6726a9ff1cf3f0046acf97 +DIST firefox-137.0-da.xpi 432988 BLAKE2B 8d30a315efb29d2ee921ba3899d0e795083e8dc727a03da4a88d1071bd060023d2024de9f4d906f312671f15839adb27eed825797e5575b2debd6132d9450d29 SHA512 dd65e706faa15c64539a7e807d14cb4475cf3c90983d5e9cb78b6189ad2515574693f414cd6f265d42199b124a6f155b5d94227cb7466836bf81476629e5273b +DIST firefox-137.0-de.xpi 454586 BLAKE2B 2af36a12153c130aabbef85a7c8d795b53e2ff0ffc2d345cd7cc0f9d228e967d6753aee5d8be81e8e9ac5a441ef15fe29a08d01f4fd458ea9c96c30d19ed4fa3 SHA512 efbc346eb7b50ff4539c31830b2eb513bceff7b3dc4128b05fb57ac97b0b23b03aed922edb048624b894aeaabd3965cd6a22ed943a4951d62199591dd36a925d +DIST firefox-137.0-dsb.xpi 467763 BLAKE2B 4f96a4e90bdcf68074de66d224582272f6d5350f0b4cee27e35fcf73d1085ba28e2f45bbd1b339017892d0355fa7356e91102062a126f2e55ea995f5033dfb14 SHA512 b1249171b73d04988d987536dca5640dbc6e2361754bf4b7d472d1b04e7e37b91ac78de60b1f207a6e191a4c41dae27e9143c7300d2430eca03ddcf0d463b792 +DIST firefox-137.0-el.xpi 537993 BLAKE2B 352ad0fdbd0e92ec8825a9b101910a00418a27a55e127ffd231e7d6c87257132b6a6c67f01c4b4c057ad5f513e201041908d32419037460792b153508b6c8eb3 SHA512 5f8264e5ce5af688e68e0f6600024d7b8657fc3245482b2588c03bb3505f8f14ea33c2c9f63a0b0432619bd59ba82aca5200e26caf1c45484e87f8a29c3c0d59 +DIST firefox-137.0-en-CA.xpi 413415 BLAKE2B 5a025b430a2ae68a2ebab8cf3011d544cc49ac07fa1e3a4c25e4eb2cc3bafd75b2796db5c7fb6afacedfe097542b0bd15477a40238f9bd37dc75f2c9d3b337e6 SHA512 003096037c023c3284b73e3139e5c95e6719e0e338a76a9e71fee1d2b917bfda73e847ffe332f9ba8f5012ed5ee6374b5e3e8e848ac76aa75e883ae3b18e83a5 +DIST firefox-137.0-en-GB.xpi 413688 BLAKE2B 19d7436cde43c5efbd0ce50efa1f13b94a387bcc28f223770a590752414a4366b3ca963ba46a1c2a306230f6690b0692ee56fba70ce8047ffe46c45bd6781276 SHA512 464aaa65674a81e8d2d195c6957ca635a666afcd0aba90fb35cfb0e45fb6bdac17117a5d7b096194c90d268ebf1cad4b9b47338f7ae8e79a42e6951ebf8c3881 +DIST firefox-137.0-eo.xpi 434084 BLAKE2B e440034a079530043c7f5f1cb17340e9cc141110be30cc6976947e9d931b12352af626f3acedf0eccd6f642a4f87ebd752f7fff32aaab3f97afcafc52d354e69 SHA512 bd92071c26ebd03f3c2ba25293eca3a745288beaa4e47adb8fbc3203f8562d72a6cf0cadabd6b19febf4d52421b5ab05a6fc965e50acd16d56ca6472d7df9ab4 +DIST firefox-137.0-es-AR.xpi 447449 BLAKE2B 131cd4e0e4ea0cbd09eee5fa88039ca868307c64b40999a1dec781e2e6b4c0b18f54cead2a9d63567bde0f0d2958fca85d48df688fc3dacf1e625cbd8c7c5868 SHA512 4c2b1c3dffd864d9d609cb64cbee6e82e9e91f87c490fcc4b08be4cf729c64b71d2bb7f66e92a8354520da74305072e33a8c69f81d49678d7a07db1ee01d4d12 +DIST firefox-137.0-es-CL.xpi 448160 BLAKE2B 3f21454924d3010f216d9382dc978ca3f6796e969cffae1281ec9cce6abbe5363bb329d134e67d7965da3326f75f73ff7afc11108616f2ad04c735c6378f1bfa SHA512 3cd70f074e1ee921022df2ca05721184b80da1d88026f2a1644d9f34cd5417da9114faea1abb0ea54a6d2dbc6f43c05f96c37a0e09700d05d067a605ceca95d4 +DIST firefox-137.0-es-ES.xpi 448964 BLAKE2B 68253924802cc80a47cc026e3074d4735fade8b1590c3e58b28faedf455ccce5c42abeba9d70d68cf122190d2c8fbe4a8bee6d4995911b1c00b07996576bcfdb SHA512 c55adcb0ccc94c44bdc260e1af09ec0af8e89cf3c592d0e1f127d50ad81b92dd1470edda90c5bf2faba6c2a8b18c719850922b4bb6d30c6ad1c22ac6593c7549 +DIST firefox-137.0-es-MX.xpi 449075 BLAKE2B c9dc74f4b8637427dfd856b00bf6e8736460576a5e82f3d32f57151fe5333bcf50dbdd42df2bb15cb8d909c3a26093935676ba9f4128b8dab8327b3880ba06b3 SHA512 f66ac4b3ae6723b22475cdb012d1773e6388323bb0b6589a70ce11ca052356f4630c45bad2893976d73ecf36856fc7d9bca8ff4189d386dd94712763f198fb63 +DIST firefox-137.0-et.xpi 364135 BLAKE2B a6cf16605069479c4348d5438db591e26b7f14993a6d5c5b946400ac515333e37a818638c2b4799adcf80cc930ee5fd5bff709143d8d67a53bfa877a66f86e52 SHA512 7ec8d2557d66733c35dcc7ffd53a64335c520fc49fd532ece784b298091beeb063582a9eafb333b495b8a22a4bbe4acc802984579dd10180313554084a63065f +DIST firefox-137.0-eu.xpi 418653 BLAKE2B b34ca94b9171061cb8804541cb294fc78d646733ff83d401eb236e9fa0e3fc431997f1cc383ff9c60c08a78515aa8ddff8e79e18fe9239f2aa86aecce6e8b4b8 SHA512 e29319f018e213dcf2438f5e155935b9f0c39b80a76059ec47d231ce70edc51154e42a8b225e23898a04dcfd51a11c6a63d6774e5d55955fb904af204d5a266c +DIST firefox-137.0-fa.xpi 419707 BLAKE2B d75970e23b8033eda8c70593afd1ee6cea19aea6eddd8573b52e1967dc9159065311fea6adcfb51ce36e2b0f788bde02e291288ddfa657518bd452a5b82138e4 SHA512 4c2c286e351aac0299cf7b82d2789e4b2dc4a3bb314faa66861cc0f8faa85f0a36c21bf0506789e6210f4d577328909513079d489345a6502c48ca1e2c3c205a +DIST firefox-137.0-ff.xpi 316609 BLAKE2B 78ede1b4fe119eb48bb3e69c775b8a6b23af601e159df54888123fd1086b63f6e243d3131f4a5898c1f545d5480ebbde9ce47157654afb0ebb9479bdf0d8fe8e SHA512 f403e84f8ebfd8a153a55ef64105631d06d978f3ed9983f475897d1af1e5b4626d26a4650b5d921638b4dd8cf115d3d65092504daa05374efe2b756f9d19e156 +DIST firefox-137.0-fi.xpi 431193 BLAKE2B f64dd05f45d13770305782885ee088c13406191a0cfb97107186d0b7ecf487dac707c9422f93d369314cef232d5f153ade791051b43a3eb7fc8464a9fc54a960 SHA512 db960cedda5bafea3513fb8767351eb54bda339f77ecea2c1edcc54e9f463ad9f5b382f2e4c7ee08a2a11142e68d41e09d2d5d0749a7ded4272849cabc6bd44c +DIST firefox-137.0-fr.xpi 459879 BLAKE2B a361d1bc1b3c454e9d6c30c859e5a26fd735f8bf28f7ce64c5beded9f547edbfb04925bb06ad6f37dc87960dfc3a0e818f6ca53d530efc50b205458d92308d17 SHA512 5f0ca38a78e21f3e7ad887d7a30b9096b720364a937f9ff296ce0fc3f4dab9aef66745729da5a4dd104c972c85246d81be69efe698c76e368cbf66e1d97e1aef +DIST firefox-137.0-fur.xpi 453477 BLAKE2B 38c853201cc54ebf83778b6603131563fd9db27ea74ac7da72e6801dd09ee31028ba13e241713f43b22183d04f39baa353abb94e0425e324fdfaa32f1f945853 SHA512 5f80de9a908cfa44880e0ba26aa5678fada69dac45a65481a8d476f5155f2e1eb16c0177fac75fed84d6b8c54d1e072886deec07ee526de281886bd80ea6f452 +DIST firefox-137.0-fy-NL.xpi 444070 BLAKE2B 8d5b53bcff071caa7f4d154575b3a5536a8c1fc3fed99c644fb98fdf38fd710689c6f3aaee125e291791a80ea7ad26195cac073d2f04d96eb852e709e9904932 SHA512 e9a28410d1a2a2e0b83b77607d8088ebffb79778f49e62c2ff265d7d297552647cedf1dedc70f0af466aefe35146b6ecbd620e0309971b843c89fa942ce8f73f +DIST firefox-137.0-ga-IE.xpi 312658 BLAKE2B 04a315fd7a4ee9cac90fc97009df3b38e401c94d91fe1fe8122d3bb4a7fcfbb7fd365002cf5082e86f0dd2771f9696671e8f31a2ea893e9371f6a11e471ca5dc SHA512 32d24b749ed6eef81c6bb9589b66c5a1843f1eda18a49a1742ee7e537f31b33fd65cb3d4ef8278d34b13289a81edcf1c0589cd72e671c7459a7b781726581156 +DIST firefox-137.0-gd.xpi 407630 BLAKE2B f29909b3a44081cc8da1fe1915846ba34a2e331d9a15b979cb31a83e38004e39e36512dc1b3f2a214b44abe04999816db54b0b8b4d02bf10c8aaf5924d461c44 SHA512 2944d4d8eebdd69c884bd3a06ce42648597cd256885585e7f3a970b46cbb79e163dd67618f912e8571337348d49d61640d6a1bb0785e4d95392722ca0381a272 +DIST firefox-137.0-gl.xpi 411529 BLAKE2B 6f2ab20d1c7b73fc0ed84566eac723a9effb83ad7e4ad7cbddd28ddf2d1637df44bc70428cf961355d95ad942f1b8abfb61cd1a22df67476c9aa5647fc85d93a SHA512 d6e676976fa8f8a516b96cd4d1c8da9834402c0673da5560d192eba74ec0e909b56fd43ba973145161e2610d3b36ffa093f8ee1b1847c7b4dfadc4e16662cfb8 +DIST firefox-137.0-gn.xpi 451254 BLAKE2B 0deb6d6be80007026fc1d462c47ce197dc9fce160f46183b5d3df20900b96570eb42b473d4cbc0adcbcbc575eb305615eae0f3540993664ec130a90190c7a8fd SHA512 c746ed3b0a74bc843717196142b7e06071fa0fc63a1733c8f473e18c1afcad96ed4944c8ad221926c6c3cac57de265f3d5969e9cd843fae5ed648ad9f187622a +DIST firefox-137.0-gu-IN.xpi 365573 BLAKE2B 4a6cf4eea0f8364d58801633e8eb65b4e621f3bfcdc03563b77be58b889354873d0e6ff90cdd0edf3659a3ea9ff6a488ffb62f00621f00c0fc4e880cd63e9e44 SHA512 93b733329672366008138dfe12e53cbc641552a9b6430dfd9572f56a2db0535194ec5d3633fbd16b501593891abe0d7d4a525d44cb2b68ed177b95a299a03aa1 +DIST firefox-137.0-he.xpi 445578 BLAKE2B fc1fb4d2ac1408df88b1b1cad0b490e4fd4aaa9fdc9ef69843347788478a089a610bc4e13614e28e17459a8cd0a70515da248740edf8a0566022d473b2369f35 SHA512 c85f43b50ce11eed8dae464b2e0d5110cbe96079b37c090f05c7b15031982e1d5d0dcc2c7f1e47df69b42869c597e5b5a2333dc133bfaea779ea1e2959d10c41 +DIST firefox-137.0-hi-IN.xpi 384073 BLAKE2B 2cc814ea4334e66ef23521b0f84ab5de99db3776c56ccf7ba286cc2c88c97bcda5632168a3b3e9fb02fa941a3f90da2cdbee4b848f912d689354a8cf14cffc1e SHA512 056cb0ff815bfc91a27e78e5d931a429d9b4cfa8f884f9d9f575d62d4acf27e87f99757fc96eaf2ded43d9b5a8a8ad7acbe8426494858028a8c8ca055727280f +DIST firefox-137.0-hr.xpi 436085 BLAKE2B fd36eee95888482984808f3569b43798a388359f6bca2011e55d3135c75d4ef4f333a038ed669446ffa8233dfee0d4746d0bfd6bab89ffc5d6545c5f0fbe2222 SHA512 47d1f37e0eb2dc17c19380fe9d2e70686ab07829b2097288bb2999fdb9b602e4a973cb6a07dd44e9a4fb5895a71daacebcdefcc57e3207c548e6fbfd1981e091 +DIST firefox-137.0-hsb.xpi 464394 BLAKE2B fedbfafba7edde7ab5a22c9b1577e84b0c8545d91e7af6042c8aad6bb35587f96966707df94d2b69cdb0bd62f2a8056f16c57bcb78f57d5d64415ef3532dfa35 SHA512 0b806351d613b67771e284bebf8f5295b61bdb6098bba92b22fb490507b26ca0d0b9d5e804c95ffce7df152c2585b134617e3e49cacf5e0a5c00c1a40683a354 +DIST firefox-137.0-hu.xpi 468460 BLAKE2B 06fa6c3dceb8b2dc127a3d7a32dec61e9da2a135e8105aa9065e91efbf60994dad5aaf5553775980a2a251d09b75cbf27dcb3045495960a6afcd560ad4a65b88 SHA512 b71e0e64c04a4f74a5839c3b04da039e7c4d9a66dec5d4712957de9230fee5f0c2cbab8bdf16c99c7fad0393673f07514b6662f88b44e1536755bd9758cc59f0 +DIST firefox-137.0-hy-AM.xpi 456352 BLAKE2B 055235dde135c0e554e8fe4092813c30145c7c9a0554b22169a5d9b0b8fcd2b131127f849b13a70ea744b527be52a8ec85a19f2e60e1da50bc55c0c23838da01 SHA512 3437ecdfaa61c22f71dd964fb3b677a1c9b79460ccdb47e1650e6de890157d8854ac406ae49f4fdd52df4eb2daba02b8a8d36084ce780c24ed40c57cce565a1b +DIST firefox-137.0-ia.xpi 432135 BLAKE2B e6f2a60c4305e1164060c4a558eced82cdd576bf57c3a0b0fc0abf9533ea4693af44d37b3101e5830755af26c7637c563d38f8c2c95f8149c9f8ff41730d1a48 SHA512 a439070a76162c309a5b99b6100ddbc99d4ab9ec8d8d3ab8c481331e4e2704dc8beae80ccb6c30df9a0421cd781a28bf5d87b9d7cdb3795d875b3df90affd4af +DIST firefox-137.0-id.xpi 427145 BLAKE2B f1742b0f4fdeab4091a1402996498ee8a183a2fa26b34eef714fb6158aa74960eb36411431a9cc773f959a5077f8a06f5ac290a8355946c14268e613faff8a5c SHA512 7fbf9d0a6caf93721a195f56026ebe1f97e8cbc55b309497208c0b2844fb974d78ce3906cd420ae69b1b607a7930cd8d772872f07b22c00b0184c9c5bc545cd3 +DIST firefox-137.0-is.xpi 437698 BLAKE2B c39f140318712d775591d9a9e7d1c9d8017bda06262f6c2f47c6eb2ccf9ac3f92fdc05f492d370aca25697316896f408aae984405ce530489812d87f4f3908d7 SHA512 fe6136e5be844cc216255f1c7a6dca83e0d7ae82636b025af21b2c6568a5c3e90bce8690b93c2ad24c17ea965b66f7339f61709da10fd0a2623359d357fe6043 +DIST firefox-137.0-it.xpi 442700 BLAKE2B 92c8bc98a3c5a87d96312a2f20b681989ab61f9c8eb591703fb49b45a42da07a39ae941d9bd29c98f7a3612b989829a0842c970bc03b496805d41c1bba514a1a SHA512 000fb1c6cbb1bf4bd52de91b01a4bfa025afcabc419e6c02c88df890df541fb30994bca1e79890651c5ffd78b34c45b9fe61bbe338cacba442ff6976198f8e3b +DIST firefox-137.0-ja.xpi 482877 BLAKE2B c2256e0b2bd7ab710b558414e8306c995736c6dcf2a79faf4fb04ad0da01ac36f3345c0945d2a84ad6ab8cbdfe347a1ed222090ca81ed1441ee72f4513bce8cc SHA512 0077c137a02e7e0041983310d7a81baeb16cae3268263a7bb37cb280adbf80d39e689729f63f5b4b9ab7e02acf7ff504ab54b6f029d604e20a0148011c15b931 +DIST firefox-137.0-ka.xpi 496322 BLAKE2B b154d2efa27f9a6b20ffa9c7aa0109521ac7c5790f26a823b425949a793e4b85f35dafda8b388c93df3d9db0bf895dbd1369b2d2fbd13a17f079b8c015d433c9 SHA512 44fef4f7357e759d6b5d7f111387f8a67e4eaaf8a976e78655dbb96930bbd27af7420b612a8c11250af6fdb35432d1f8f0dc45ab07c89833cb0a829ba64da443 +DIST firefox-137.0-kab.xpi 418889 BLAKE2B cd4b856e1d264df9168cec34a0b09e54910522b813dd52fe2b1a9bd99b418fbe1c5840a327fcbba55167bb1b4eddcf431cae44bc0ac85780ff56b0332c3f0095 SHA512 dbfddd49c7fd57e55a48598b6b9ceb4b606149098f5c67d66325dc704d580b7f9f6e19d2580ee0c00917c3729942f12cf6736ef70bf1ec4afda667791c860f2d +DIST firefox-137.0-kk.xpi 507553 BLAKE2B fb341eef34b49b8a65fefc25ce1da99197c972859f9991e2142a51abd4848d3edfbce5a1e56faf3f011c55e7f01f831dee0d29d0b898657316f849b6c38aa882 SHA512 613f995971db275222f048a79839f9d04e9915113bec65795a50d96ea54aaebbfc4d2992b87525cf917d1b7bf729142cf9052169048067f507c082913d1a0fb7 +DIST firefox-137.0-km.xpi 355349 BLAKE2B 51d274a0af4fefd267151d1e2426a72987251cd50c6d6791de6902b432a289ec20f11446a5d5eee3514bda4a30a836d8656ee2bf4c29a93621e850b15de731a0 SHA512 810c717faa26c99674bdf5d0f40f61a6e384674ff4a8cebcad74196a060c480159b5ca851a0c870470931e138b23b7d15599717725abd3bd882ce1d44d981aba +DIST firefox-137.0-kn.xpi 338143 BLAKE2B aec102a38a83b3d3e35d6231446b56c0729368af3d20805a2de27b8299500c0e9b339afe2131bc6ccc55ed1c5034746c1f1bec59ec0dd547aac42ee995bd1dc8 SHA512 0b4ff2bb8d5df999d311d8bd68cd6b5d711bc831c0c90eaa528443b51fe7cc373e1fd4a3a53d395071ce6ad4185b6a5b49e527f0d5298b36256d86f26a5fdf7a +DIST firefox-137.0-ko.xpi 469133 BLAKE2B 9e8a1bec1a8d0edca04e994702ed09742e37846e6fcf89440deb11cdc0e6aa1f5599781e96f08ca3f9fb5b0c6204f5e70ed88459d40019adc50919075923b11a SHA512 40973aaebae0db27cab52f1e622fa7d2e7102c0ecf5664673469ff72083727d09376c5815085537c0e1b2daa500c530c76723d64eb33e5fb9960cfd073cc7cbe +DIST firefox-137.0-lij.xpi 324536 BLAKE2B e28aef0c8ef7b30ec786965c61062956a764019fa8635c0039fac51ce684a6bdbbc8239d92ab81a6a9135e7e1933f410250e0e267c0d4501b777479aa7815048 SHA512 90234f46d1f5127129ff40f029b3d86c410ccb63e8e0a722d10801ecb4921b84191c16f5b27b09d02c67e8ffaee439050dcbe5e90704764554f1e6c71396452a +DIST firefox-137.0-lt.xpi 387190 BLAKE2B 38dfcee315154ac9fcd4affc87d524e9ffab3472fb4dec3d5cbd2dd34784cc43ea6f96eca34e7f041739fd311590a0286380ec3ac86bdbb6fd278f7c23f95d54 SHA512 eef907ba73e5de161bb4eb5306a6c26bb4257ab83dde873fb712a128d2aa6343b27e4e6ef538506d66504ae263443270b05472b9f9325a13e7a70105ac74da0b +DIST firefox-137.0-lv.xpi 395878 BLAKE2B 70c6afc2b71a27ba7b51a88fc3fb70290b38fb45277b06ed2ed837f0b97e0fc1bdd606da2f33fcb6ff748ca8e10a85f032a7bba360081357e8ec7df292348830 SHA512 864604d05f8b7ff3e4c4e9e06aff54cc72d5fd6b805dbaa12e15a9802316f60cfacbc7bd735d99f26206e59bcd9a5a343643fec72bd2059144ae647d2a91a025 +DIST firefox-137.0-mk.xpi 323833 BLAKE2B 994eb05b12c26e3257ef8140c959af7cc48cfad77786661219f7ab5388e3effac7e3058c001b8d73004904ef38227efd6e7cb1b56bce38fb03ea092f4f7f7bc0 SHA512 ec93afc7660376d0d8fa1d4e31dc8095014438274223ec61b027abc8ea5f5d2616b35890d10d679549edbd209a897641e764e4095dc56cd1bd821f7e5340b289 +DIST firefox-137.0-mr.xpi 362605 BLAKE2B da1e94918d0f967e0ee1fe1a90f401a817080e6df3d774b8f274ccf8be147732a8370b4de4de39a9ae6edf3b800fbfc9367460303daa4f8450aa904d3534ec54 SHA512 45b2360b19718f56961444cd9aa2441626eb7fb5794bc2c39cfe0d609d915686152143e2cf113887a15eb9f6a4505d6e38867407f9f1ed8d14d876011f604b7a +DIST firefox-137.0-ms.xpi 301535 BLAKE2B 042c51da632acdfd65195eb15219447d5279c844023a28c6f7353c7fec969c7032b0be3d1dac26257001ed548a0f814d6cde79c5ffa6839c4158da549bfa6b50 SHA512 44c9466b299f1cc1960505c51b52c27542b160360b9b2898f4b51b7e364d88a4fa7a1a3e3a52fa3becace6419da3e71643b0d996f8ccf5b5601b1f230697a99c +DIST firefox-137.0-my.xpi 349436 BLAKE2B 7fba28b72b5d378f74263cbf62c87df389850e0a601aa044b6d162cb91f7d9a818abf48699358dadc2d43b9a621ba078803a970910b1c706410c217ff19df64a SHA512 e40098170368431b3b71ebd496b2788bbd6fd7747d0fa1de4568b7a73f5dbb744ec0184b91ce8cbf050b0bda315a6bb254df0cfe2242499013e7e7a2491be499 +DIST firefox-137.0-nb-NO.xpi 425884 BLAKE2B 31214f64f2593cd5e7bcca88b13ada59bba70b55cf19ace922cac429d88bb7a344b76fb258a4973a6345b5d4e3d1880c2690025079bbb6a8b0e5ef554ddfcf0c SHA512 3e26a2c713f5099b9b63b38c56169b391bcb047bb58cef5fa78738ac4aa59f38a65bea3196c650469838c2ab76b7cd2be8890447060e5a5e968c357c369105ed +DIST firefox-137.0-ne-NP.xpi 355671 BLAKE2B b8cfc6efa7a44646a7ef3f65b6215abd5d819d3bd939f047ce4543f60c2efe66d65c934f3101f0ab5e498b621c7fa2f90edfa0bf088bc03adfdb7ca9004efb42 SHA512 32d5aae8b19952469801e1f87953c0417e293e582e9cfc9b792970ea22ad25f72c3aa85abd70aa39c1e0453e0f69073a1a3691e4269aa0aad222dd217b443a3b +DIST firefox-137.0-nl.xpi 438094 BLAKE2B abac7cfe529d4c22b261fca50aaee8c4e4f83e112899a6d3030ddcf4ecab5af3a4e025fe2901c2bbcf8804a3448341e275ffb1cd4b0f29910028b4e20cef9812 SHA512 018f644d65a8f66ab88e23643a2219544be4406b72542f336f06a6879a2c57fe977fd6de22d318bb52fd540d7e814b17905ea8ca1a6c791dba33b85d1998d8b9 +DIST firefox-137.0-nn-NO.xpi 431905 BLAKE2B e9157d1003601013bd319580676ad0fbe804187e9524a47130d6272c13afbcbd90ca03185e956b376197b3193115841abedbfb994b7f05d93bcd96b952759c3f SHA512 fdad241f5fdd24e11e35d0fbabfc4fcea36e95fdb154189ba0fb965571b4ebf96dbbe506e6f9e2943654614b38b6b9c44c9dd7b4a9a9089bba2e20c6e2293411 +DIST firefox-137.0-oc.xpi 420803 BLAKE2B 844b6745d266de203db2944fe0c82a0b51911eb26670aa712d2a12af35c555570bf7abe8f6b54aaaa30698ac7b19c2cea939fa15baad18efb48547f60398f33a SHA512 c2e8f4b627c2d0a4091e61ca7b90c5c204d2706c8e48dd4ae4cab01baf8cfdf5db1a8956d0eb83f9bf6ab4c93240f768e915503a054ac75ae0f4d46151ff65aa +DIST firefox-137.0-pa-IN.xpi 497642 BLAKE2B 65df247b0e1ffd6e9d59defb1c76f345c437a466dcf265a6b814519b6fa40b8e82dade593faca1a2c1eb599a91771860eb2a4bb78cb2435eeda3f362d566cf1d SHA512 f65fa70ba2c92c0229d848ec8ad00e524fb762fa8e86ef70385dc5b1bbb76cf017c8cab736999818f264d277589e093d9e4148de831646abfa5a870aa7a6fd53 +DIST firefox-137.0-pl.xpi 458698 BLAKE2B 5b6a441b1594f77536839ca4039ecb5bc9d4d62bc4ca1f21d6374345a0066b3a1ac4502c60a7d242a21a296b930e70e5a789deeadfd63e88034541d0f8b2e323 SHA512 0d17a6871c43e98051a2f1afe8882bda51d5c5d5d50232b58add09b7d8c5adb451e926a03ee614eaceb53484780bab5467ef2ea530a348a5610563bcaa1e3432 +DIST firefox-137.0-pt-BR.xpi 442501 BLAKE2B 7a6a2e1acafeab5e5530659b5aa3e9e6cf8cef390fa51a832f2d5c86ce1d3f06f0648238332cff357dcfa00174190c57ff791e2f16fc32d0fcee31482917dee7 SHA512 267289719f8a34ab0be94fff51523513a62439e1e52f52f2c62e62e525433d2e2a25b29442fe8b397f955a08c4f37b2195b0d99de9cae46d201b307be51f3385 +DIST firefox-137.0-pt-PT.xpi 448290 BLAKE2B b0008a6ac694425d260b52f94e825db4e1b0585307144c9053e5919c5d53a52533e95927c8ba205773e57a0e35a2e3d6ae6c3a799e5fe0aa9f0f4ba4c407e04a SHA512 49075f03344060753492174fc0c379232ca5449f915f0907c3262200ba41cb3f326060b6c59179b09f9944200e73de0b36f9b0bcbadd6fd4da67a3b9b097e9a7 +DIST firefox-137.0-rm.xpi 441872 BLAKE2B e08ab276c0a86457144c84c974cf763a3d65cc60f0ba38ba09c2df9ddafa9f1a66960bf28677c77468d607b42c23a32fcdafd4159b0653efb4c810b6600a48a0 SHA512 84cd97e351a358d81e4731829bf38b08564e8f7b63e64cc2f82e4f7f13d890262b06cdbb76799ddee3dbe73b673a95037df2b646fb911a565e0cb345a132c63c +DIST firefox-137.0-ro.xpi 368388 BLAKE2B ff23a74e84f89673262b54a0804b4301d522eb88e7ce2532b9eb90a3b4517e96aec3f679b5a0dc6501134ff183f0e9c536f892f6c77b1def29900c91175f18b8 SHA512 10f6c90efda673db11d71c97fdead7e263e21f1dc99d249d3594113aa7c9f27dd6d49a00f8f128e50c915fcb9390416170bf4caaa5bfd36c479a52dce9728dbb +DIST firefox-137.0-ru.xpi 526381 BLAKE2B 3e7e303d1d00eda5919eb215f6e1c7889788af29b8b1191aad4d8c73804c6e830db7d28c803ae98fb01c1acf87ae39b3b6c931d195aa296899d30b11ac2b9174 SHA512 4f6c555529681ee72fd72f46a924a81c143b81b419a70c849e6aaab9c1253f1983d1c602be3f80550502dd83a6599c1ddb00e6308dcf29bfa1443ce6af421376 +DIST firefox-137.0-sc.xpi 410899 BLAKE2B 9d01f973a41720d66b575cceaed236f74d3fe8d5989aa6fb6ac842699f9789a5b3542e45cf3b6d97e2b7d1d5b833f814e46dd55ea2be1dd1f61f9e84b29f8b81 SHA512 91e7f1fbee2f4da24896a32a3aa5023b7aef5f174b4ac79b9a76b2cd85106e8a49d26cbb6468d2fe8daa5c0d699bbeec967a9f991147bac2e7a1452324a3ada3 +DIST firefox-137.0-sco.xpi 330268 BLAKE2B 671df59925ad0236d6325f6c79dfd87de119c85737253f2973538df3805b46ce53152cce9c3cbfa88ff552f0cb02577e5f01f26c99af1cd70c6b87f384b0b141 SHA512 2c41e9a4fca6ba782d4a3db340b69e3e89704d9c72d5181ee9d89aeb34e55056fc4cce67a07e205a730cc24c72610a93df763e00e8bb466bb7302f808c026110 +DIST firefox-137.0-si.xpi 419746 BLAKE2B bbd0e12b2b56246a2668fa890eb0b7865ff9c1bb06ba7560d922e0c8d40e322d72f12a597d59f9280b1b745f37f321ce6861362a8cfb73c94daaa5369d7a0845 SHA512 7618051ed3994138c8dca17b14d2ee1a9da067a4d0a554956bcd8b529aa0614052707c2db7bd5769defb81862373d7b0d80500341fad58fde079f205fedd3028 +DIST firefox-137.0-sk.xpi 469642 BLAKE2B c108c67bbc7bac7bc21253ce592eb6e9d12cbf4b6f131cbec05a5daa20aa3425fc50819d15273421d2373fe95ef7ed1ffd632d2ea9d26baa7dc037d11192ac18 SHA512 d4d96651eb5b84dfea689da9f72af38657869b6b27b8467420bdb45bb195b0e102bbfcd87a45e8773dde8b7ed87be51ce584a2198d3f482308c6784078d237e5 +DIST firefox-137.0-skr.xpi 498907 BLAKE2B 523e1606af0c328112ee35b19a6b9b93ae691d6c669d0e21e2596c0a0473dc23ef5b21e848f1cae40793b9cb975b36629a2a2ee673067f2d216830de0d0ccda6 SHA512 ed680ff919f2c553808f8e9ffbaa99f4d3aa2fbe1b3db863fdf1d5aa3d1fe55416d7d9b9b5666a5c93e9aab0dede3f040e2905ba4c95feb1de98b21bb2239f22 +DIST firefox-137.0-sl.xpi 442004 BLAKE2B 8ede691a2ba24a2324f389ea0d8f96229b66c56957b8bbb3444bd5ceb66b2afb8613df9f4319dd4a8f82a54296c752b6ff397e95e8fe27e258df8febc437b772 SHA512 ee1a8029758cf971a9730259e2e2841a594744a7bcad47eb2ee755039ef3ee7135dde404770490a3bb49739f0676a4b97900265db04babe58e656240fb0e50cd +DIST firefox-137.0-son.xpi 278731 BLAKE2B 54a2b1ba54a9794e1a18e28d0eed7aa668cac60bb476fe2f98a67fe0d6aed3a7d4b883e454f2ccc7564ac5235ed31892afbd80eec4a719f4317a24b70a355114 SHA512 565f3f1ca5b0d3693ab3372cec95da887106fc522d8d52a825983bf09f68540a1e277ce0f999ee691178e9d65415cbddffdf9601e1a9bec4ef1032deb6927481 +DIST firefox-137.0-sq.xpi 457300 BLAKE2B 2236b8ece524a697784fc6f161d9acdffeb6bb11defcd8af70ae386d3bae32897d38fb9d54fa15e50372ec6bdec4878e21ae866c02c1d0294f216afccf90e122 SHA512 0eca13b00eae7e5d2ea76c12277a462514ef9cc60f3b23a88888e6840ebfbcc9b8027536f022a7b25dea0e0189463a170190b0ec4582b76a11685e022bfa548b +DIST firefox-137.0-sr.xpi 461357 BLAKE2B 17dc3aa429f553ee3aefc0fefd7d113420f4735a016e0aa075e151e6ae4e46dab3ae49c1e167aa8c677b9c4a64dd4794c96f1abe60a0a92a26e8c4fd2ea4b3ff SHA512 41ad9863e8992de6d7ad77323f10a67bfaffd5a90cfd88efd491fbcdd7edebb6fc5a05bf1ab4cca44911e7d1589b5acef4ea5f52d9a3db2f6d54b7d89460f521 +DIST firefox-137.0-sv-SE.xpi 438140 BLAKE2B 0ce27ff6c05185595cac54e098980ea249b86bed1608bffe8f38b57f4b49fd62beb52605ed935f22c260ac499511220678896a09dd3588f2d1e2bca0a461110a SHA512 807e6237847ca4c9ad76b049dee97dee39265a39c26ff84254066246035142c773baf8e093241469c9f793bfbe8d3f990d2e890c8a87f40c7a1bc83e05ae4f09 +DIST firefox-137.0-szl.xpi 349494 BLAKE2B d8d091e7b6b6d500ade46ce67d1aaad7721dd0360e66abc187949916c00267f96a8eb7ba50a44c0389727f61dba885a13ec05904d4775dec48df757164345571 SHA512 c228862de4295a3daf042b38cfa8ad7fa8cdd3506cb2d123c18e6ed30d6cc683d94fda05809b46e05379cedf3b7f21c7761fc944269a9539f8f9e2f30ce60a1d +DIST firefox-137.0-ta.xpi 343874 BLAKE2B 0bf59d197cbf2fd617046c728d1dce6fbd645e5f06402d7eb16c1200d21f710773b1b1f457c755bab7e68c787a19c527e9d69d284d26292533de0763b204c1d8 SHA512 50fd8b641360d39ddfa0b4ca424703104f41bf8dd843600c48cec844ad9444a634ddaaf3db468e1a1aeb28c76f8ea5378f51a72df5fff2fc0db968a7b0ace691 +DIST firefox-137.0-te.xpi 389772 BLAKE2B 7edfbccbf586d82ed1accc7e32fdfa4091c488556e8bed402506129dcbe6a687c9bdb95262c6341a5607fd4794a9dc5c2662631a45e17880fff11327e8bccb8b SHA512 c98b2c343e69fa9d18cdb135294e7b92b0a1e153ef24743f369aa0fbaa7acbd4e451e7ab01ebd1a31f94d9cf1f139325286383b8532a975dbbbea2b7139fdf51 +DIST firefox-137.0-th.xpi 507329 BLAKE2B c1c8b466a2cb3c558acf8f2dd911cbb7041bca097a67f08b235088d5e0a321ace450cb0eb0d61ee4b2129b2534f668975e0e684707f730501b4280d5cc175098 SHA512 0c299d835b147774a270132485e694d0cb00fcfa6959189616aa905392fa2abc54a1ddcd29e05490754a52bd0acc4ae5bcffe9d9d5cd6a4fe1cec01e2c4b4a8b +DIST firefox-137.0-tl.xpi 357142 BLAKE2B 557555f2b2509ea97f47cff363616d39ae51c20d4d01268532c5420a5a4f32a2020a019c7f6565211331df5716b4df7bf690a69da1bba8fc3303b6bcb674e994 SHA512 a1836406561a6135704bfa74b4f97772376fee2abaf49dd81da702a12773492f4ca628e7ab04a07490ddd0c5ff0a05414c8c584ceaa06f5f1d8095b5601f0127 +DIST firefox-137.0-tr.xpi 450206 BLAKE2B 3969732b8275a47864a58d03fd4c8429c45c9d911bee4827dc96fe00cc6be85760fbc46781cb79547557dd4f5e5082882d6fdb30b11a99ef8c7595768bcdee61 SHA512 1fa748df368701ffbb79d87a69deb0f7b559e440a512fd8c091dfa83340480c972d69c4894fffc0da78be2a3b02fee46e3bd48d6b64efefe4ec605f2847b000d +DIST firefox-137.0-trs.xpi 329269 BLAKE2B 64e489e048ed2433c18da82c7bfe450d8a9ca1fb8d827cf7ed8d8db44c5079aaab310dcb8477f578ba24ded4273da6185cddff7950d46ba35f9041af42098438 SHA512 18f83b1f01c760c472c479452b9d57692f72a503cd3a7442bd91bd69fa0c5d331b2f4e9361ff378dc167f6cfc630e977e1e5cc69b9ddde3095b357c6b1a9e307 +DIST firefox-137.0-uk.xpi 518147 BLAKE2B cf719fe5494fdc18a5a91d620439a3c27dab3ee13992a7689537562bb1c17610a52541de2d13280846bf501a651403cf5beb81e7c86346e99019f7cc3a5ab954 SHA512 9de97bed8c54f6bba3e4aa7143ebed303b584f0295e229a18f8cc11155b69e8441116366bf79c52f0bc796f2ca8699a8ecc95289fc483d991849a85eb9c5f703 +DIST firefox-137.0-ur.xpi 377234 BLAKE2B 1e0413708ee54a8c1c2af5192273bd0cd0d6f8bb3a94a86a91b4c2092786939732cf83dc841a7b6de9e4429ed0b9e5c64f46ad2dc73c43f2f3cd5573fb100850 SHA512 a10468590f32076080a63438bc9fdd2234c50fe89a3219386f6de32ed60c514c8bc4179357077aa66b9e308fc29cd38694b6fd2c2551e731e88de518520d1d39 +DIST firefox-137.0-uz.xpi 310804 BLAKE2B 3ea12b5b6b6c40e09aadf478310f22233f873ba113b38c46f8d2357a665ec65d15759f6cb15d4bf086e852b8c7dc38bb7b48369bd9c73dbfc37a97e6f0c95516 SHA512 4eac9e2d5e48c9704eda5c7f347f0311b60d7819ca17611380b43d080ca56cc6b72aaa7e843495de8b4c9108147795a89ff38880f877d7024d65880b0284c67b +DIST firefox-137.0-vi.xpi 471357 BLAKE2B 95a351330f1dbacff23a53dc235c127a6b1dc8b26451b2949311fd14b2b020ff19bb503813d07ba09d54eb545bb6162bce959c94f4999d490acbd4f44b831933 SHA512 7ebc37d4b9f3a795d8d3b60f90b4ecbcb637df60b27db026f0343dbf9cc7c01494b6df67b1b139cc3b104456d6c4476ff5e91cf51e7ae7f542af1ed7b2e0f3e8 +DIST firefox-137.0-xh.xpi 278679 BLAKE2B ca8da76ac1534e27138dd15fae95a219613a800c75e1cb50b51a6396407a86bd934005972eb2bc3da566909d6d2722db313040d03bcb11541eb77439c03e775d SHA512 0b45a5924197bc6dfee20cabb8d8190f2e7b53976e4905219ddc5c2aa6e3b0035e735b4b33302123b9f6ebb00b453735566c892a510f80e81260063ac99fde18 +DIST firefox-137.0-zh-CN.xpi 462573 BLAKE2B cc4f669fe6d9a3f9a63d4113f242f00d2f543ae13779511988a320d0f95ccab0677e74d83c29fa87bcf8584333ba68eff70c70036596d75bf55e759be97394b9 SHA512 c1a170938947bfb4524571fc6f58215f574b27914cba2d15ce1fdd4d5aa6486cafa6bb9d5e988ea4291219e5433756915589a4841fd4cdb653a3bc2658a4bd38 +DIST firefox-137.0-zh-TW.xpi 465659 BLAKE2B 789d711b0a820292242cf10772c90296f4fa737a1162eb90496124585de66be9870b7292ea889ace5fb47d00b9234b0117c94847883c5387e753bd2b487a5f7a SHA512 b6ba47e754bfc116c082769dd93224faae464d078ef20bc5eb6be318abec72115a6f9631caab313b3c384f76715235fe3bdcc10734434be86f7b41f038ad12c4 +DIST firefox-137.0.source.tar.xz 593165900 BLAKE2B 09556f8f22292442dbe350ffef285745e0893428129ea1a5b9eaecf47d6847d585bf5cadc902ca0e39333aa391b8892f1a958948037faf1653a0a4480b726c5a SHA512 81a2c0cc14ffc2e49e49379e6c2ab56cfb6e13b66666a64f3abff44a43bb2e7dc17274d325d1c20af062d40bff8063d788d4b2f931a7a646db8b07204ca6b481 DIST wasi-sdk-25.0-arm64-linux.tar.gz 115160800 BLAKE2B 1ce22aaea87d0720d40d46ebdd96508c8fb0593b53c4489022fd5a1a9afb043a26a6e162a992d73454f612f2b6ab01e17a99c189c0c8b8c2d2d68fd96fabee1b SHA512 ef4eff22c1efec4dc5ab199d09d93ee0004f9fa67b32cac0030f8b6a40def10f714391cec8e803c200995dd8bfad3ebad9ec79b4195aa6b2ea61ea47a8b9e61f DIST wasi-sdk-25.0-x86_64-linux.tar.gz 114450290 BLAKE2B 07618828d4c25d67421aa72d38fc49bbff9052b8ecfe0fa9f4207e71880e9c650f458567cfa5bd389d5f830fcfee89142a77d33c29e7bccd1da7ddba2bc47b95 SHA512 716acc4b737ad6f51c6b32c3423612c03df9a3165bde3d6e24df5c86779b8be9463f5a79e620f2fc49707275563a6c9710242caca27e1ad9dd2c69e8fce8a766 EBUILD firefox-128.8.0.ebuild 42104 BLAKE2B c7001bba42899cf76a9c3601536f13d72e54f25342869e3139d56b69f58159574ecf66f5fa53570a86025f558cf4c7d45195a4a5d5bc2a68af782835df5e6e56 SHA512 53d0d63e657e8d904071855db5efc2bc074de23982eee23bcfa374cce98d7af31f35a5736ade1f05333a34103abbd8cbc0be565ea289f9ac063e8a24483837ca +EBUILD firefox-128.9.0.ebuild 42106 BLAKE2B 7c25183dfc82adb4998ba0a0826bfdd28db4712167e7f7cc7d18959eb2b4a3a323a23fd0f91bfef4302c22db1593dc5429c912aefbe831116ba3ede45b6ca3d8 SHA512 cde73284193041d5520260c978db6549797617c20d48cd844aea9715844b562b038440c4ed5a5bc6eda6a43e137dd21b532867eb84a8eed171c88b1df97e94b4 EBUILD firefox-136.0.2.ebuild 41507 BLAKE2B 9fdedc6493118357ef72a59763b512cbda598acc7edf7ec4c800ba7fd4f409ed1622ff17a7291c354c90b8a94acacac441403b2113d8878d4969aa30ca202c88 SHA512 f10f81ed2d1628038ed229c7956f6facf486e2017d3e8f123a966959e4988e4a9e129b334cdc746610169c9db34875b4da1694ac9f719223ec72b290382ea8cd EBUILD firefox-136.0.3.ebuild 41507 BLAKE2B d3cf1760d2d4e58d3728c0b95b7711b1539d72d34c2cd6fe51597d22167c2789c27d34af3347596774b29616f4bf4246ba8537a5e5a3b739e2a3496befec1691 SHA512 885c603846f10146f77a0a3b3c791cfda2a9f2089fee36b6de7ed36ad6ef92c595d6d316b571cccc183b27988a20998b48cacc8443ba38f552df1f775c7df45a +EBUILD firefox-137.0.ebuild 41501 BLAKE2B b345d05acaa528e5ad797e17ace46b2ca5243709925657cc5162e96c8a2fca7694b56502d2be0b5265d2d605c8c8e716620d772b60bd392c07433689bbe20985 SHA512 1cf35cd02e591e974e52a67a6d2a319e955a2fda45d7a24450a51d6810e5259aec763763942d2367d5bd6658b87a1e01f0da55f2022da0134132566ac250b617 MISC metadata.xml 2634 BLAKE2B 950ff18c250295b2f080f189b00e45ffa8b19a2b70d2a3877be3553579cc8771f0b0bf89a2648404d558009083f1e786114405114050846073c5a94fda9e00ae SHA512 6bc3f08bc9ddf6b65041bce581b839d4b9715e8e1dec25227c7a259805b48b5f2cf2c2c152e1170dee817c31e99adc6c73d1e7baeed4b625c1fafdc687792b51 diff --git a/www-client/firefox/firefox-128.9.0.ebuild b/www-client/firefox/firefox-128.9.0.ebuild new file mode 100644 index 000000000000..6273f0695124 --- /dev/null +++ b/www-client/firefox/firefox-128.9.0.ebuild @@ -0,0 +1,1380 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128esr-patches-09.tar.xz" + +LLVM_COMPAT=( 17 18 19 ) + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.77.1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasi toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=25.0 +WASI_SDK_LLVM_VER=19 + +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" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +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-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust 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} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + wasm-sandbox? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-png +system-webp wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox" + +# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and +# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in +# Gentoo so it should be widely adopted already - however, it might be possible to workaround +# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251) +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( jumbo-build ) + wasm-sandbox? ( llvm_slot_19 ) + wayland? ( dbus ) + wifi? ( dbus )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + 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 + ) + !X? ( + || ( + gui-wm/tinywl + <gui-libs/wlroots-0.17.3[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.101 + >=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:2 + x11-libs/pango + x11-libs/pixman + dbus? ( + 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 ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) + ) + 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= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[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/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + hwaccel? ( + media-video/libva-utils + sys-apps/pciutils + ) + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +# ESR and rapid dependencies. +if [[ -n ${MOZ_ESR} ]] ; then + RDEPEND+=" !www-client/firefox:rapid" +else + RDEPEND+=" !www-client/firefox:esr" +fi + +# 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 "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/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 "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + 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+=( skr ) +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}" +} + +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' + + 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 || tc-is-lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || [[ ${use_lto} == "yes" ]] || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + 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 + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + 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 + + export use_lto + + 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} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.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)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm-sandbox path manipulation. + if use wasm-sandbox ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm-sandbox enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # 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 + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # 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" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF 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-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --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 '' --enable-update-channel=${update_channel} + + if use amd64 || use arm64 || use ppc64 || use riscv ; 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 loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly, since it's not activated automatically via "known arches" list. + # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), + # bgo#937867. + use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-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-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 + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + 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-x11-only + fi + + # wasm-sandbox + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. + if use wasm-sandbox ; then + mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + 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 + + 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 + + # PGO was moved outside lto block to allow building pgo without lto. + 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 + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + 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*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # 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 + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + 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_lto} == "yes" ]] && tc-ld-is-mold ; 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 llvm-core/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 + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + 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 + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + 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 icons + local icon_srcdir="${S}/browser/branding/official" + + # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg firefox-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 exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + 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 + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + if [[ -n ${MOZ_ESR} ]] ; then + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + fi + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # 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:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +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 + + # 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 + + readme.gentoo_print_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 + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/firefox/firefox-137.0.ebuild b/www-client/firefox/firefox-137.0.ebuild new file mode 100644 index 000000000000..110ae871dc5f --- /dev/null +++ b/www-client/firefox/firefox-137.0.ebuild @@ -0,0 +1,1371 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-137-patches-01.tar.xz" +FIREFOX_LOONG_PATCHSET="firefox-136-loong-patches-01.tar.xz" + +LLVM_COMPAT=( 19 ) + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 + +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.82.0 + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasi toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=25.0 +WASI_SDK_LLVM_VER=19 + +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" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +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-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust 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} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + loong? ( + https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET} + ) + wasm-sandbox? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" + +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent" +IUSE+=" +system-libvpx system-png +system-webp valgrind wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox" + +# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and +# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in +# Gentoo so it should be widely adopted already - however, it might be possible to workaround +# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251) +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( jumbo-build ) + wasm-sandbox? ( llvm_slot_19 ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + 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 + ) + !X? ( + || ( + gui-wm/tinywl + <gui-libs/wlroots-0.17.3[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.109 + >=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:2 + x11-libs/pango + x11-libs/pixman + dbus? ( + 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 ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) + ) + system-icu? ( >=dev-libs/icu-76.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.45:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + valgrind? ( dev-debug/valgrind ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[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/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + hwaccel? ( + media-video/libva-utils + sys-apps/pciutils + ) + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +# ESR and rapid dependencies. +if [[ -n ${MOZ_ESR} ]] ; then + RDEPEND+=" !www-client/firefox:rapid" +else + RDEPEND+=" !www-client/firefox:esr" +fi + +# 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 "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/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 "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + 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+=( skr ) +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}" +} + +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' + + 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 + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + 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 + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + 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 + + export use_lto + + 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} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + use loong && eapply "${WORKDIR}/firefox-loong-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm-sandbox path manipulation. + if use wasm-sandbox ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm-sandbox enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # 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 + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # 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" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF 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-disk-remnant-avoidance \ + --disable-geckodriver \ + --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-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --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 '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; 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 loong || 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 + + # riscv-related options, bgo#947337, bgo#947338 + if use riscv ; then + mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc + 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-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 + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + 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-x11-only + fi + + # wasm-sandbox + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. + if use wasm-sandbox ; then + mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + 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 + + 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 + + # PGO was moved outside lto block to allow building pgo without lto. + 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 + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + 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*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + 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 + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # 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 + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + 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 [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; 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 llvm-core/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 + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + 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 + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs" + 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 icons + local icon_srcdir="${S}/browser/branding/official" + + # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg firefox-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 exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + 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 + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + if [[ -n ${MOZ_ESR} ]] ; then + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + fi + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # 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:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +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 + + # 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 + + readme.gentoo_print_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 + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} |