commit: 4e48d17524300f7e990d1460b48a8d935cd73972
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 1 12:35:32 2025 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Apr 1 12:36:42 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e48d175
www-client/firefox: add 128.9.0
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
www-client/firefox/Manifest | 101 +++
www-client/firefox/firefox-128.9.0.ebuild | 1380 +++++++++++++++++++++++++++++
2 files changed, 1481 insertions(+)
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 7f374733d6ed..7a772dbe12c6 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -99,6 +99,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
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
+}