diff options
author | Joonas Niilola <juippis@gentoo.org> | 2024-07-29 10:02:52 +0300 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2024-07-29 10:02:52 +0300 |
commit | 5912800ad86980283c72c21d65da27b283f8a73d (patch) | |
tree | 35a8b744f134165fdb050be5e1b92101eb94f329 /www-client | |
parent | www-client/firefox: syntax updates for ExcessiveLineLength on 128.0.3 (diff) | |
download | gentoo-5912800ad86980283c72c21d65da27b283f8a73d.tar.gz gentoo-5912800ad86980283c72c21d65da27b283f8a73d.tar.bz2 gentoo-5912800ad86980283c72c21d65da27b283f8a73d.zip |
www-client/firefox: drop 128.0, 128.0.2
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/firefox/Manifest | 202 | ||||
-rw-r--r-- | www-client/firefox/firefox-128.0.2.ebuild | 1403 | ||||
-rw-r--r-- | www-client/firefox/firefox-128.0.ebuild | 1402 |
3 files changed, 0 insertions, 3007 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 13b9f50036e2..ea67fc787dae 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -100,207 +100,6 @@ DIST firefox-115.13.0esr-zh-TW.xpi 656755 BLAKE2B ef8244f8c0d65d2c604a5a11caf4f4 DIST firefox-115.13.0esr.source.tar.xz 510571488 BLAKE2B e2b00965a92cd11da6c81daa8b6c652dfccc9f0f7d066bc17ae5fa3ac3aaaa021c4489a9f653127f5516e3d77cd7174de328343e22c4edab438e3fcb9a859178 SHA512 799cdf2d0494003a5addd0da703f53deb9c9d6bb6f6c95d40026363382803e2d086039c7798940a1f35f4cba111f2e8e21bde8ac2eac29fd9bd6876dd8d3a85f DIST firefox-115esr-patches-12.tar.xz 50732 BLAKE2B 821ea063bd14085458967e33570bb28a1457672d2c210368507532024db25dfbb7d30d37084a2cc60a4cc34dde453669ad9046c664e7e8459a8c7fab33485068 SHA512 e80b0eb9a4efa8e6a872a875a31e384a5d3ac2f7000a3d12b03cbe2dff43baf8e3e544b7b7baadcb46ae714e3709ecbc53742b9562fcb1b1caf85b037b5ad501 DIST firefox-128-patches-05.tar.xz 19380 BLAKE2B cb3ed0eeaa1ddc1df936815c594eb3b7beab20b3560b52a63436b74a191a0e6e8c05c4d65084ae00dcb30ffde1907ad8194211717a50fe55e8e23ab306d8ce9c SHA512 17c723e120f3057de276863d367d25111578cbc5a333718f230ac3bccac178361ebd795f67b522aca199e17b8ed298d070020884ce6b5b4a0b89a60370166570 -DIST firefox-128.0-ach.xpi 463921 BLAKE2B 016138341e087f6afd53c82e0b33700c20c341491e6b12f444cc7d85aea1f0e08f4bfa7395af5cf888984f57a3fd6a41f5df39fced8267e0bd0388753a1ad994 SHA512 b67378c13ecd5e0c7e570b69c2f267232749ce71c97ad987b3e6b1215b84ff934918d5fccbdefe99dbd5a331917b8d545e9ccc8aad4aba25329231ad357a9612 -DIST firefox-128.0-af.xpi 417369 BLAKE2B 434dd6861e1b378fff90cc704a7cf63b90de4f54d6b8153ad9051beb0aae84c37686c052624b8d38f60cbf6885162142f5f2a126bcf2a238cccf63bc7194dcd5 SHA512 e3ef703a909fa12d944c80aec83c9d8ddf8c49aab18f62c2ebf6f4ad08d17e17b5494b472480a41c510e522994db0afe796259879668bb319c4fab27979e2970 -DIST firefox-128.0-an.xpi 505732 BLAKE2B d8d25160fd99b96cdf051a30ecd1e5aab3a50b22e3f2cf78fc8d3fb6d2405dfb38181aaa894e09d288fbb9f5417f0e4a70832bee1a53d27dda24928db2742933 SHA512 f1c09844a27b803f2b46ff4fd2fb27f2a4cdd6e2527b4bd8574e7a19af408d168ebea58ff830436497e3c768c3023282a24fdbdd23f96cea8bc6d7fdf626a3da -DIST firefox-128.0-ar.xpi 610516 BLAKE2B 0a121e72c5ece69b04d91d8b1aea42603bd266105d7c35dd9ab1dc27ee9523c4e6bc65f1115c6360e3594c7b76e7878ac53ab8d34791deccc3a1ee1c5321c51c SHA512 4244a286d4e4b1444a18246ef0a0c04292e91e4c8ef9b9708ab58eb0ef005902d3654e0712c8c0bffbf4b0f1504acfc2a2694ecced3bcaf544b6701cbdff1775 -DIST firefox-128.0-ast.xpi 496179 BLAKE2B 8f3cb856a27d7224f02178adf69980d37c42259a1aea3fa0879ffe703f8243e6e5b471374e57be41360149527e008db56d343aa8503a8ad23366f72c68cd0974 SHA512 0ec6e85464756c3defab9cdf19d792e4a65fbf12e98e6179fde725a1868be8813ced98c76beb8940d0b41d371b70953270c5eab05edb732d869b1f7465db75f7 -DIST firefox-128.0-az.xpi 490622 BLAKE2B cd88d8bea3e2ca3e8c14c6708c9caece0d3623ee4419e35ad7d974885da13cb9367fb88ab68cb51f43b8ebc354a1061709fd1cece931c71ba547a1773aa28499 SHA512 98a915c0c891d361c16c57b7ebb43650dfc55508ba8bd9e91189b29a3f6be4314309ee97546c8782b688250164c009a4caafd01addeb48c0a002ad8d96758b0d -DIST firefox-128.0-be.xpi 712861 BLAKE2B a80599b0d3cff27e4bccd6246bbbd7ee877995bde8a3232b3ed2def5ed593690671a5cd05bae343469eedd40747933440eb4d8e713dcbd7a3c8b04eef06987bb SHA512 9d745557d57e1cc0f2ab57f5e57c152ede1df78bce322180bbacd42996658cabde09e773b9f52e1ec4d1f69117ccebd549b1364a22de6a87f3eba5b48e9e820c -DIST firefox-128.0-bg.xpi 603668 BLAKE2B 6615e062bd290606e917bd2643ba98afc3d25e0b52be0be6378b86b48b8a9c293e0d51a3ad46c8ead0b93b0c16fb469f28e81c865a9df5e2b0371c714d21abee SHA512 83ad4d590ce2fe9f738db9ef5643a82223f4053d5bacc6dc03813cc5d92234ba9b435ded3fff8a92ca42a3ecf77a305445dc3c3a24ff3f052975d0cd88851847 -DIST firefox-128.0-bn.xpi 581366 BLAKE2B 02a8b39df8d69ad3e7c1c010d0da12fd52850b1abd02c1a2f8fcfc6fed6b0c8b221b804e513a266c64b1b8fcc870abc317d4e298486a42447ec7543964519842 SHA512 e552017471b93571b2a1589dfbe950733a8a7880b2570b1581c9b4099d382e99dc558e10b6516c13fc2354abf1a9ba612ce131437529a7257cd10e030adeba4b -DIST firefox-128.0-br.xpi 587967 BLAKE2B 681dd47acd14daf1221c1c3ad832dc17ffdcf9fc7619d31c86b319ddafd96ebd1f8b1175095c881c951291b940c74cb9a2f84bdd4ea617fe053942eba9b09e97 SHA512 476aa7e2c32338e3304aaf7848b6e25353912cc39c97ba86024bf32b89c71b0d550359bd4092aa99866dbdbb09c6fe5ea4fa6e6c4aec335db381344b203989ac -DIST firefox-128.0-bs.xpi 501822 BLAKE2B 60aaf21e9f214a4d3fd791343abd9fa309c4a47b275c18ec9c7b0b65f09add541ae16fea4f382d334671e9193cd1aca932a14d22872889dea46d27dd7b361500 SHA512 90f7540b85cdf8b094150ff73994acc738a1ae60762fc97af90600c886d80651ca12cb778d2dc2e2f3cd7c120dbb1fbf6ce37ca04168f7a4c6eb68ae9fa04f7d -DIST firefox-128.0-ca-valencia.xpi 546032 BLAKE2B 36c61ac442037376329194ad5cd0357f2d69b3b77ada0e10100d63a6532ebc1b6fa57d9121debec59d8db540f9de8cc46a47e352d6524815c957dcbbf681b417 SHA512 e1d5cde5bf3b23b864a4862134de08f0cb46195aa487f3da54ade878c11e67e6f19a521db37803fd7ce7dbaa2e56f4fa603778065ff3ae5ee78bc687f49c9c94 -DIST firefox-128.0-ca.xpi 595961 BLAKE2B cec1470d3deffb3b1f9205b1ccdf43402aeea6cc6fd24e9527a1856f3ddf58d4b58b217131359d7ddaff4e0db92b42428731d3f864429084adadefe2365bd44b SHA512 824040406afc6282be2ef89154c221852aba6ca94b485389e80faaf9c227f8c310b22981629710893a25e8b8f55787dc1362b0cabe5a8e15007bd18f984a96ec -DIST firefox-128.0-cak.xpi 592927 BLAKE2B ed66e64503f6e075074be84428c0641945efc9a585664aaa49ab01d126ada34f7839f2ffcdae5c04bc74998593b170ec5bab1ebd25fef917a2a1b22ddd1f6aa6 SHA512 8f6e7420c82e29e02d009b88e2d13c6b523d974a220da112895a22b606b7120548fd805e33b76d9d35c941b9c1525bcaf1adc685f90f7281241977567b3991e9 -DIST firefox-128.0-cs.xpi 657124 BLAKE2B 4bbc7b1964229a8117631f2450fed9a8685ceb8f69fc7b793b387c2542ad3b7f690c5e08a4abdbeb78f54c9d14226b40edffa22fef23c4f2981b33da4a027c62 SHA512 62a7d271d6ae0e09e2f61b84c5caf604261af40c552dca4b97638a365c926b6da861239e6f1d059bc27fa1f7b1af48a9376db09ea203c37a28d378de9b14b7b9 -DIST firefox-128.0-cy.xpi 622268 BLAKE2B 73fb18569ad98825dfaed13bc7b76c1bcb014bc2407bb9e5fdcef5b66b97b2ca1dbce3dd9d6d54443d563ec564c41dfe189fc7835c23442c0aea7b0a48149477 SHA512 d9e804e5bc0dbbaa0d24e5fc6f65a9eb730523c2dabae51908c033dd23d4a6a642867a12ef384de1fd9428b1c7ee2ee56c24b552753c15ccdc2d5d013959005e -DIST firefox-128.0-da.xpi 610709 BLAKE2B 5a1b63d36c88a50ee5c58cd14bc2a6d2b86140357e31062239d1d786fce188263a7d62d39da10ee2adf5d92f99b406a6f92f6282922a24245868e41c03f658f5 SHA512 a0e60cf276ec021ff76316c206a94d599b3c6b7d1cf4533a5e8cb0948db04762e641282b8c18cbe4cdc725a19b7d1e9d37c98f55bd7c47fe4b45b6271ae76ed2 -DIST firefox-128.0-de.xpi 631918 BLAKE2B f7169c465c1efe2558e2b30afe87f32e5e61d114bd3e1a12c2c2d7f2aa96fddca8e60bcb34bbc1b62ad92d292563c130af1dc063199e215071a10acb79d22f93 SHA512 b4debd554dc591657857dd7952695b49dfc2b9b190dd1c6a5dd4c3e74cebe3a36863ef5c07c1137389c22c19faa2c67d534798860877d781fdc06ab4c5dadb55 -DIST firefox-128.0-dsb.xpi 648454 BLAKE2B 6b22831d5aaa242a9ae04a90f704424a8fec239e9757b2b5f0718e84719821e946bdb70992865e9b11ef9f996848802217108ffbb475c3966152962ee0ea2f4b SHA512 8dcf4bbb8b541c1b47ce72a599de945f2bdcb358d9a87ccc48dc18a0bc0d6992d5f095b7c1821e7e0c9f9da5bbfbe3516522101c168d34f08a1be44a9d6a7581 -DIST firefox-128.0-el.xpi 730463 BLAKE2B 0f2e15a91ea01451dba9f3454d64518974bcc80aac227e7794e2739763333499739fe4afd403b7ef9c450e34db68d555f5910efaac02c34ae8b94ba9f67662cb SHA512 723d9826c76407f8e82ef8cb1fb6009f43ee3fb26976bddd30c8195b0425cc1e17bc64d0d9c4cac0ba05091c9062fe982c6ded251de2978fbaf5ed1f3b29ebe4 -DIST firefox-128.0-en-CA.xpi 581050 BLAKE2B 8f20e6923ba2ee9394dd9e53bc7c1ae1130f7434f491c91d4c46e0277fe7d47fe20f497f19dac29acb0b673be09c901ab76a140cbccb6c9d3e887c8e15e9ddec SHA512 c9daccf0344fc25483a76885e87d624406fa3e7398f8770f7460650faa9db5ed854876719f66ad254ca9aaeee97a6fc3f7537a08c33cbb0294c452077680d668 -DIST firefox-128.0-en-GB.xpi 583199 BLAKE2B 74ec322c0ec6d881e5446776bf189c4749e72d4fccbdb3af48e3efc3c3a2204a0ed862635998f83ee08ad59132b9f69a0c378d0a6642c36e7fb2828f65c7f664 SHA512 2b304fcd92652afb9627130ffff693269aeb989f4b716858a0042ec2b6d315e870d9e2e3b8892f7c1e50dafcaef2c341bb5405844f74e6f8cac0eb14fc72ffaf -DIST firefox-128.0-eo.xpi 613599 BLAKE2B b57b761f3941d317082c755babe1b37c02e1ebb6a884f2264929271a54e4788e31c47d2b0330634dba545362c535b4f8c3b6eb53dadb93ef72496ddc21703ee3 SHA512 ffd3515adff03b94d1adf6b926a908f270f88170184c799d0a15281577973d34f33a6f333daf51ef45a762c87cecc1a1b592b07311e51cbce8646d0c3ff0c774 -DIST firefox-128.0-es-AR.xpi 625743 BLAKE2B f218e24beb19cfe71042d12c7b21fb0dd6c6143f4113f658ec71fd5704fb27ad6e60e9467cf45b9053ac6ca711d86183a5b958cf3bbabc5a26b94cf3c72a4cf7 SHA512 1a792b556f9a6f4d2804605722c84eee98df5b2700dc877ffed5a4df60d00fa09293aeca863cfa9ac61e8e99e15c98576e1839fa37f02578a021cae79699f382 -DIST firefox-128.0-es-CL.xpi 625032 BLAKE2B b5fde2d84c0054f7fb90310b3b7d5dc10f97484f400eaf9767b0687775fea92882686ac0332e43dbdb7ad8a329e119033c39d0a3dafc807e45a345d4dc689e2a SHA512 f84722b92be1b26fd26aea20c9361a12a3600d0e1614a330ebedea85b4e0562f788ea474e39e0bdbb1a2d243274f760a7f4970f9e7cd80e271a9944ee5751322 -DIST firefox-128.0-es-ES.xpi 619471 BLAKE2B 0386ace5612e79918a3bc397e50b8ffa3d4d38296cbdb232afefc0e54f540fd760069c6ef9ac97770d948a2aa1949efc922ad8c7f7b6adc4cf488afc8980fbc8 SHA512 2b00a5145cfc0785d63dad9ca34a5e46363b93d780b2a22cab1b884cc3b097ecd1a53572bf09b27706cb57a57174608a1bf67a907850a4efbd68c6aaeed5439e -DIST firefox-128.0-es-MX.xpi 595787 BLAKE2B eb08bd8898552977a2a2ca4c9c988eba81838dbf3dda36de97a249d12e9d4cd590268d49379232dadf74e31ccadc410a25941ffc5117568802cea0e00e37f28c SHA512 4424c8af301ccda624b2e7d7bece4d2a4e4f7527d37df16fbad12eb8404b4029f452d203e2c83a886738111b26493bb711c696ec9deaf8856b337d59af751aa5 -DIST firefox-128.0-et.xpi 539386 BLAKE2B 0cfc855d72fefd52b4512db4c31cffab2d1dd0fdab14d09fbd18078e053eeaabff8066449319134d90557ab06f9091eca4b737780d16753c9b92572e7f361611 SHA512 7abf688f471efdfee82b542a65714dafe454c9c16f4b870f575f7bd84fd1be28c93b03d613868ac839cc167162a9eb84cca2a92e439a0b02c172b0c047002a14 -DIST firefox-128.0-eu.xpi 596447 BLAKE2B 934c74c1ba8778f96569e3518083acf7ae61aa5d4a12906d8e35ae0f8ba18022707816d0b504c8278398b3742edc0f566a280095a2fc74f07a10fc8d68214810 SHA512 74a7f72fe904b94f61960f3a5cc949c28fb504c7de2163caab1950a3c90ef2834a416f04f4d00e3b58ef11a9cd0fd3aba0b89f9f06cda24a4b81a45a3ad0b87d -DIST firefox-128.0-fa.xpi 589848 BLAKE2B be6ee30128b376cc4713abdf10dd8ca699f5968ba56a886be73b4f57633427cad50282006675c5962623caba8637668fb2253adbacb3e03199ae156869c18117 SHA512 cd6863a691e3c8a6fb6bf82a7c0b6deb60d6ed4ff921e0eef256008162533b932dfde2bba479f00061f8d1d98fc065a6fbfcf9b99a06ca1ff0736063cb7aabb1 -DIST firefox-128.0-ff.xpi 475894 BLAKE2B 0858593e5bab9b6e5508ba2444704bafa754c60ee352d25042498db72f51bc48a8b6bbb66b9f9f58d362030cc1c83342cd3f03e2c0764c432aac5c95117bfcef SHA512 f4e3249bc16c5d07958fbdde87b1bbfa244e61f58bfbf0db6c74693ffe01f9046a413667850b28fe5e632e5146b153625d25e5bc3486fe0da1d15fbc458b882e -DIST firefox-128.0-fi.xpi 605631 BLAKE2B 451255bb1fdc8c44eb7745b6279ba1ce303840043a8a16feb63ebd2f1d604ddb85192cf00d7ad4e1ca6d8bdea9a226614d85e392d83c9656bda544812f01ac83 SHA512 009df840b731e5bc4e9281153384451fa9e0fda32738324fa29355634587c1c3501d857ab40df6d13767dbd5156e055ee76c0877769aa214a8fd898e7eb4d7c4 -DIST firefox-128.0-fr.xpi 639018 BLAKE2B e0cc4d4b97a158c867838769ef88e74372a97720141ea9e1a9f6e525bb7337a104cf071b73b5c88d4b2d81a87a4e96f163f461fd6e1bfacc8101104c17dbccaa SHA512 c2ddbfe62b5326e4a9742d0c21f82015a444b4135336f99477721596c6b53a15f7cef35622e454cf3df42dba07b4a90c6391eaab09d3888e0914c6fc9ea56111 -DIST firefox-128.0-fur.xpi 631588 BLAKE2B dd16c24a1990b5a3baccee97a40e3f107f0498ee1dea49ae6af5b60d6722fd35f208033e68ad4a428950bcc6740d43e38f762e74612ad7d5146222e7ebd01ef2 SHA512 c867baa9ada38dee47023784627a4f52294105555fcb620c78540f4e296241bd7a4d2b0af554d7dd9af016cc0718e5787e9dc76a6cce7cbf827941c86db37a21 -DIST firefox-128.0-fy-NL.xpi 621390 BLAKE2B 148b842ddaac3c71f1cf6276df11e41b3adc66692a640901abb73b9936a2f9d7267df3e0d0331cca6552db93f61745574da42b5ca64ac42f1fbe9104707b5fc2 SHA512 de7aeb47e3bbb574d9dcc9946058efe0bc950ce79512fbfc1a9f4ddd8ed9918fdaa3a49c8ce15ab4618629ec2174e276e11b7caa12d19119389eb3019d167e24 -DIST firefox-128.0-ga-IE.xpi 470833 BLAKE2B d3bbcf15bcddfa692bbf4eba085a81ad4ed91fcea53e644c076c2ea79e96723447a0966d86865c57827024b88bc3d990d6e19966d277701d69015f565b57740e SHA512 5b5843ba31342bc659ecbacf4694b064ae90511b780c194d533701b34859d672cdd535796a361dbc3fa395a60947c179aafee950002cb340dc6a92cca9026941 -DIST firefox-128.0-gd.xpi 596427 BLAKE2B b3603e7147e3a021053f0d9d07d77122264dc4b296f478609cefd5644ebb00e224da8ad328e342723add321c344f1e7bafcde0c43e1775d40d7274396fab6f01 SHA512 5c033afe75120fe5bf4e0ab039c1c2deda81eeb5473bb7366ab236ab676f380452becffaa612c093ea1950e150031f9b7dfb7ef268cd12a7a9986ed967e5ce92 -DIST firefox-128.0-gl.xpi 603933 BLAKE2B 1766c5b75d04875e355e626930defdddd2b556fa425bef3c3072922199090385b8512819dc1e51da7180e459fadce338f48c1daeb7a3d41ad68c6cef1ec2f0a7 SHA512 d3474013cc3cf4b1df6d4a610fedb00c9cb866f463b0293c48f916950cbd50910f363c710c825835a6969ee21d8342db0a83a8047b646aac0542b78f618b8378 -DIST firefox-128.0-gn.xpi 636448 BLAKE2B 6ca741bf7c0a6b47f0ebf65a603ea8709da6fd3d26c0e3b6e09f5eeff330b2f11eeea67965d5f089a1701cdb7f6eac3b7d4202f1f9974f94f52a08af7454fb1c SHA512 a9eea16028f9389a4850bf525cc782c8dbe20785781ebb9d7a07c8b10274ac4bc1e87412d2abfde95bc6ff57ea5a0cc72fb8cb2ba14ae06d154486851a36d1f8 -DIST firefox-128.0-gu-IN.xpi 527179 BLAKE2B 67c2c09cd7b3c714404ed31708aaf04fcdb3ee12274b003aece748973751306064c00e25702a2180385efd69167a67a98a53d54f3d3b6db358946b2054a8ddb4 SHA512 25aa0dcf80c78aaa82c6d7d2d7462565ab51376bcf6852078757fe69e5472dbf0d0440d56192a042323c3d06bf9a0f7af0c49d24b0a0a2a6b2d5af25087f8a33 -DIST firefox-128.0-he.xpi 629896 BLAKE2B 87677a10c429ed51a2c7f4dec54189a8c323f7333730ee65e83f8c0afa4b47034f06057cf32902c4734c5ecd62ab5bf9ea4a3a9147a3043fc6845358b13e622c SHA512 2648eb80a505a9e11cbab14c978dfcf74fe80479e45d161ca2660dc60b16d239d27688021fb90026965f3ede05295eb0b4fbf8fc2465c85267cbd9f4e7596003 -DIST firefox-128.0-hi-IN.xpi 566639 BLAKE2B 5664464e903e7ca880bd466f30c682c5e32dcee3c0ae28154c63e9457fc406b0ff84d5397ed96d131a9945de930a1168f3f1cca38112c0406dc7dd26c57ceade SHA512 bfa5e59944ebd74346c21807ffbcd2e0ac6a28efde6f6ba3d2cc34f136c034d23f2cc0f1665dd3c7e12221a84f61182b59fd3d4fb67bc6e0e7f54f27c7877565 -DIST firefox-128.0-hr.xpi 556613 BLAKE2B e7ce108af8b57c249bd16a705157297eb4b6c0a08b9af3acf2813e7d6123e8573294e0d3b69a733008334fda53c57f13bb57a5732548e586f5c5864a1051ed05 SHA512 a8af34fe1f4999562751ad9253c5e36c88dc337a115e14f69957258ed22757127acaa6f2cf30d34406554852cc962066bab60c241384d254c65e7f781a684463 -DIST firefox-128.0-hsb.xpi 644493 BLAKE2B 1af31e45908d1eaf7a6864c876f090bb202a2b61372c18ee33b2445984724454d8cf13d32934866a94a09253459f28e02da774868b7d4cebac319f0548255956 SHA512 e11d7abbe73ac59992746aa230ac47868b7da8de3b0a7e3ba29bc7a589c97720b1e1012e47d24b91c215e21dda80282bc28d6fbe5cf7a37ea66e079b753db016 -DIST firefox-128.0-hu.xpi 647705 BLAKE2B 1aaa5da0508e8d0883cd53e58cb5ad53dc137d4dc82a1eb84f30ed875294b64f0c53a4cc461e14f9940e493c9b9a89fe049220b85734cfa7e565bd0294fd3631 SHA512 d26aa2dc2688fdfae43f9fd706ee762c22c69d28b96b90c783ae70ba7209bcfe354ca21a9502c54b1153bcce3b7a4f2bdb125be3555ad56b1c1514ed7b22e66f -DIST firefox-128.0-hy-AM.xpi 651430 BLAKE2B 22dab366d5e9d1d953c4cbe9e6732da640994130d4c4ac1b11d651d294528dc194e5e34867d0e637623ba9cd88c9bb912bbfbcd2c960cc52acedbbedecc336da SHA512 96a30fb4d88fdcc9ad93df1a99213f0651aa194ee50b02abf339dd062fb57de8490c3646104d5e7d877ab581e6475bf5beb36a37f1723e8a53bec91c5ce255c7 -DIST firefox-128.0-ia.xpi 608974 BLAKE2B b550056e980d29436b3cdc62caf29cdc827255e6bb3d46af683bd2ad334688781dbbe9a853dab9e00f9b6a538ecf215edd25646daf00fdf8ee0e394df0653f68 SHA512 e05eaf1681ddb23989c039e6e01b370022937babc2aa59b7f6c59901cf22f91e2fe99dc19579b2a8f27485712586b2f73ae9078108ad5a09095be4f7a4eba49e -DIST firefox-128.0-id.xpi 580043 BLAKE2B 03e0b9a6845ba89d4149bf9ad35fbf1067c49a1c22e95085c23e537bca73174cf78564c056bb458c8fad66b752a73252ccbab9fab5f8a6e79f3925b2729c4f82 SHA512 9b517ab3ef018452e4df9ef4547bd3e4aaff194ff452bd32f3b0f42d2ccd1af6963e93603c82b452055abbbe54e85276d0c664dcedbbbe26090d4fca674cba9d -DIST firefox-128.0-is.xpi 615187 BLAKE2B 327ad1c06a9c327b676683d6d12e509f5d10bd0a06bec3337b3a0ec7ce907e4938e8bfaa4459be3a061e888672fdd740aa39c9c06620d651694bf829ce18d201 SHA512 2b84332c4d8b44b94dd8ca6c834f85efceffcbc4a84cc227e77a2df4ac9652396c577402240e8e0ae295637a05a4dbda2631a73fedcb43b9d607948292fbc40c -DIST firefox-128.0-it.xpi 565256 BLAKE2B 931784ba2193258a3b50a62d7f6bea4655c8d4d1edd2272706fb1a1a7faff133047fb9dadee4b204f98d040b25069c378dd47ec0e6bfba11661301ff14993d2a SHA512 8c6f1656d0f5a7df709d6c16cf830e0c4b00ced4faa4ef964fc6a13017c2a0c660f5ede974f278197635ac0904d520ddc95864553850846432793070320e40a4 -DIST firefox-128.0-ja.xpi 675101 BLAKE2B 464a570817d4ec5cd5f2177350c8421aaa604fa80122877cc1f53da6875191b7f5b2daf495366af03a3efa440aff0391e822d14f573c1c7fc40c615c50b05efe SHA512 24afd1abdfa5e867b86feabb45d892b6eba306588d92055808b80e9e8e52a25b8521f2f6a0e2517f1dda1cf1846c346dba26e7b9beaf1971dfb23ded3e2b3ef4 -DIST firefox-128.0-ka.xpi 660538 BLAKE2B 831345cef7849f5bc87f67127e1635a9e1db1d527f446db4d5c53316f180af5350cb968a35a312da82ebc7a0b41618137435d3c103cd21ddb9074d2ca628e4ab SHA512 3b6acb3a0c94ca52ec498364d85cae5b0f7b9f42278db188ed9c8823aed01ad86f74cfe1629f02337853371a916503590f95c0648e6b7f6beb5831fdf0ead4b5 -DIST firefox-128.0-kab.xpi 607380 BLAKE2B 5e7c182e4d581660e2ce5ce27160e8e7bb49347e829ff4c673051fb37f1fbe459cb4024326029de7dce68f4776071c5da1e4aaa31f35d1bbab2cc8800a4c53bb SHA512 e4feebe26efb0426a8f9ba4d80b5d3cd8d221eca9f32003d125d1d966d38639953ac51638375ff855a0c5441410220b63fca7bd624c14390bb749a43d185c250 -DIST firefox-128.0-kk.xpi 705161 BLAKE2B 26c218d8e3656e79bc528319fc075b97bc8f1bfe4526410a70d6ef5010f5eb2088e972a17e125ce23efb733ea381399bfaf2c5c7cf8fbe9946e37ea53c518a53 SHA512 ba6205e1f1f2c1e3ab6d9e0b059634d4bbd0fbb97091faa357a2174b176f4500624034cffc1da35f643f08aca8c982496c255fed37703a2689f5b1b113535259 -DIST firefox-128.0-km.xpi 525722 BLAKE2B dba1383d444e847ff1fce3c6a5e614799176f7bde0368f3fce9d5a8de4ffd9f1b9047340ee559aafb218d83a2af61b2467257c8bab10a847722481cf90a55ba0 SHA512 529b887dff551c687166794a575fa55074663d1ab029c10b429cbfe4e98350f8bc8990b2f7d525936940ea0bf6a2ec26a3b7df3e11ccaadc587c51b4e73c2c1a -DIST firefox-128.0-kn.xpi 491095 BLAKE2B 356fdd4be841774eb8e97d92ce5ee293592bc86d54d88f3acfe4e1f91be491bf5751787c2490b71a193152e9025bc0cabd00ba44a3b52fbc7af7d1d322191ef8 SHA512 1988c5cc58726533dc54fd2db5959f1abfadd36ebfcf2fb92fae5c00401f46d96b8e0afac1997ecb2db8fa50ba685cb4e74d69478068a6bf3151963a1197afe8 -DIST firefox-128.0-ko.xpi 659215 BLAKE2B e654e50b94ea63ba518ec089906582e7aca1d8a75e696627f9e69cb78ef3f5f1fc24155d58984c4266ac0f21bcfeb763b796db3bf65e3e51b7fbede20e3c0e44 SHA512 a7d2729d973ef69d253431ee2f08e889f8a35c3b8c550e1944eab06ab2ede4f222de983f385184a4f6fbda3310a50ff1c48f3f2c4c99a3e5d3850614e6d0e425 -DIST firefox-128.0-lij.xpi 483940 BLAKE2B 2c66f9e5c397b619ea3d0128e64aedba7df802e569370ee688a31f7b706fd73e73af91c74e0c6b4366b99a781377d3cf9add7f467ed9e5e177a99f907b30f036 SHA512 46511fea4ced3315fc26b41dd55beacdc480bb771d7f63d9a307ed8574a943fbd49a18bd038a39f32f167ff223b0daecbbc568e05ceb23f838609ed351f6da07 -DIST firefox-128.0-lt.xpi 572515 BLAKE2B 3b4dfa0fb0928cc08776fa3096f8ae16b8c72771bd636b9117cc53d571c0fb2973cb5ec98c6b1ed16866fd2a8102d5937bacb73cb0f4413048c21f2116d44397 SHA512 42b31e2a95b5c6a0e38bd9916bb7941eabb32ffaa2651aa13df4276bc36f3176b3f656709484e72f975dabb1dfaf2643d5a1475eef634bcfc2e345ae489a7109 -DIST firefox-128.0-lv.xpi 573655 BLAKE2B a3e25cfd6ab234ef9561220d532e4bd69aadb0cdbebc63144b8a7cfa92265c3abe9712ece40032cceddb4a917eda8b2cbb1574471d7aa0c752c4f15c7fe7328f SHA512 12aa8518c317b124a231423cd0360a7502a55676db931532945187bb6f580887e86101b62a9ec18e21afcf404ab4d5a71b7320a4463684ca52dd5e6d6058c178 -DIST firefox-128.0-mk.xpi 493700 BLAKE2B 9fbcc70dd96de86ba285db4ea487d04e8f30be0126d12193fc0b47e8620a37adb7c89439523c2ba2dbdf091a4be57295d34aab19a8343da388075a482a0cee0a SHA512 ece5ea80a73f3662fb9119abefbfea0527ad5d4d989da36380f99e01d138eb1a1d1b3858588b807a5e866e51596e1face331c486b42234f3439456e7f62e0443 -DIST firefox-128.0-mr.xpi 531935 BLAKE2B 26f54771d851058a5d8ff39ca2d49f26e5829909a5360b183896ae41cf242efff21b4e316b370543d0d4bfab2c2ab82c723f9383b037186cd4f6d15be4be0894 SHA512 397cedbf6abbe8bfb755e29a0c32a58ddd6ad0fbc352be179b4160b7301ee1d4f52e0a129ac5baf061543f79d06042360b92b29edfa96f4cd64ed75b61c65341 -DIST firefox-128.0-ms.xpi 449580 BLAKE2B a7310ce8c170f512a922dec9b8aa416f4257ef56cbf35e3970faf9e427615506ed5fcba8a9a207ed3143193931132cdc9a5d98b9eb14b72013ec8c2133287b90 SHA512 6979122e608ae629fb95b215c86137d7f428a9c0e2fdfe279bd0fe51e6e37646c73c59abf78e0c6723495abbb55e1fe3bc088b97e62ad18a22a3122a51e21fc5 -DIST firefox-128.0-my.xpi 518482 BLAKE2B 18c6aec8b327b1b1c4fec03a6a773b55a0eb32016e625bc61d616c48feb9044a950e0aa6041e98d44c7464708e7fca45f5f55d83e0e3a6c7e3636848b93c676d SHA512 1fc374db949908f877170a9933358a854fef3df6e77b6acf5d1d9cfb398a69874ae3823962f88c47c92813de2a95311960a350abb8c11f32922a4570da3424fc -DIST firefox-128.0-nb-NO.xpi 606490 BLAKE2B 08aada502a1fa02fb2d97186712b79ef1ae13ef8996f43b04be5c6823ce85d878000fe294d40dfcead9f4f116bb1827c02003986d965c0c5bb5f72a700349e42 SHA512 328d53604251ac54b252c38b3242735467704c75c82809a8acfaeeb5f6e6977b3211a24ab0af6e93f2f71e0043b54e7bcc20b000d94ad29416191827c04f694b -DIST firefox-128.0-ne-NP.xpi 510771 BLAKE2B c61b0f643f321646f8ce7693914402bb0c68572fa1a55d3d918d6dffae3873df6f348f6782609d385ae84bff47e210112f1d330f8b87db3a234e6bec6125fe73 SHA512 89e2e34aa8441a8455304fd909308d901f467bd7b54aa297ae511ca0102bae41f6608e3336b099f4a2a0f2d9e54e9bee76e30d2eebfa5f5f7f1e8303f0956954 -DIST firefox-128.0-nl.xpi 615102 BLAKE2B 060719c32c1cc6abb3d374ef2485257f948357236248125a8c7e53718ab233c60e7beeb7a85d49260f7dab329e8daab7256bc78b3a54aa8fb87db6473cfc0e5a SHA512 caa0828667e8a43cd3987f31ba137545640f7ab714d39fe94cecae4369d180158246db7f91f463a1b6eb8ce79ef1d02a42db4590f8afbfb4ed362cd313e5e464 -DIST firefox-128.0-nn-NO.xpi 608951 BLAKE2B 4a1cff01fe60efeb1165ec2da737c1e21956a4bc5160086891922f208614ed1921bf3148d2ec418863a9f5bb484962389155a48fc0418d0ac9bf4dd5231d1bdd SHA512 cda0d637fbe71760fcf73c460defeed0072c1d5b2c4e531bf5d42940d7491bfd1da7cb5c889e859425a50e48abc5a965d8aa6391d8cc35fa08956f17fcae993c -DIST firefox-128.0-oc.xpi 611284 BLAKE2B 85c6e71264b071d1441b23db0519dfaa3720c2e6853f21faabbb25aef9e7d312aebb33cd42487bc455b5fba91e73d157e6bf34f622439c724a14c0053061d692 SHA512 7f808489d938ee33e76c5bb573247c500ac63f9bc5ebc400128a19907e549802a0999fdbb8116e4ebb3445d32c34ed2312413726cac461fe898e1bd7e733f1d9 -DIST firefox-128.0-pa-IN.xpi 690605 BLAKE2B 8f5b22904d07e1664330f61bc1bab04c5159234afd576c4dea46343f7d2e2ec8dc9775aad5abd907d9710aa7d8f3a39545f6d84df3656274ac03b42cd437654b SHA512 e6ef3c55b34921fd14c82da2f1aadf26e7a8521a617cb6af8ad2217107b8402afe95de8d70c1832f8f3ca6bdab290f1ed60cc174c2717f941c90bc72bc41dbc1 -DIST firefox-128.0-pl.xpi 635626 BLAKE2B b1ce0e6101a6347df61181200dfda9c64401e5768b6d38644a344535aef156aad3be3eaa3b0c805383891d8cabb83b32126e5f66f45972fb7112da5dbbfb137f SHA512 5d81ece8da283acca3616c5f6bce8e6b4b3b08ae3d588072fbf4a7335b030e941aaf66d62654a6fbeae36d9fa1ffc04918f816b82d3ed71e1191cfc2d4b4942d -DIST firefox-128.0-pt-BR.xpi 619824 BLAKE2B f4c17660ac81962ef908182d784addc1f592db337409dfc6dc645c1f5c7c7e9c505ce077838bfb4315a1bc249c3404983de256ef2449caaef73515fbc2f13ece SHA512 a1b8d0f7b81a2323db19098d2f9626ef4c61930deab6ea105d0f66829f7b058cd0e595c3097756779df4ee150100ca9a4d06e2274edc203973294b1ce7238359 -DIST firefox-128.0-pt-PT.xpi 626034 BLAKE2B cd2d7f68b58ebb295d2b7b25729e9c589871b0ad80f10e55d99d260c3e64171ed2be33095a3565e854ffa0ac7e220505058f902a6909b0a8324173803df88a0d SHA512 1f30508b45a5cfeb5383a069c35cd01cfa2339858eb269cab085a4e19532681511c14b81fcdcf1c2e0b80420dbb18ea2ad235aca46d53423d162086b3916f2eb -DIST firefox-128.0-rm.xpi 615679 BLAKE2B d9857a9a9b9efdd1d1bce1c5d9eeb456d5cb36cf66472362ffdef5af4fc340adfef5f998fcdfa9010a1c494a591560557eb1a65e3829125375c78c21c40f97e3 SHA512 c55632e4079187baff1dd985f98074a17639672959724495582a33d7b545cd3d1f4039022c35d09815a38a62fdf8d1243c08cc0d9b60601f80a6e6a9ea1d4cb2 -DIST firefox-128.0-ro.xpi 549650 BLAKE2B 3cf57fbe58a1f8675b7b04ad4675a499b9d0cb05bd283b2e31767684bdc8f709e81618b53afbdb1fb9400dbcca8a9f2c2eaa165eac8147bea35f9ad04b223fad SHA512 eef8bed22d6f7c43e7e613e019d1c61f045dffcacf78ee80a12b7976227c46778eb8814e3a89c2a9a4be9ba355f6aeba1c2d389f5ca0dfdf33129427b43f3590 -DIST firefox-128.0-ru.xpi 717691 BLAKE2B ed73f89b7d576d73a1a28e714b40d313a3810315afdeaad90f6ca419a6b7e1508d618bc44fbc945c66c7721d632b427490f1e7aa56d7bb6ee5697ef453be1268 SHA512 189e6e0af8fbe921599409e7dee9a61cc21d998d4776fa7b73f145723244b4598418a35d62f18b2c543d38ec6f372365d64fc73a36fa339264a25a0fcc4212c0 -DIST firefox-128.0-sc.xpi 584914 BLAKE2B 4a878328ba2f78cf983b150ac0fd65c9a8da2d668414c5ca16304b646cb53ae333828a066bfcaee22788dd49b05f205acc7f9255de9cd59fa46912f41f6477eb SHA512 cf1e629ab935d1262f2d18becd0214fdbb33db0541e5a8bfabd5a7d8b41b387201d38fe8770835d62ce04200bb67f5572d928c7bc11e5d057ffe9d181417ae0f -DIST firefox-128.0-sco.xpi 511148 BLAKE2B 20306a0c5cd573797a5978817a9724e30983f4c5d0bd2a5cd89ce25a5675ac75957d00f314fad4bddfae6218d5591e29c0b866a87a1fb9dac71c4e53b28e72c9 SHA512 33ba113d7300ba9308c3dae216a9544083f22aa754997025151ad560083b3832b77b243f912ea9b069d7ee0747305df57294b07affb047dc90319132bb34c67d -DIST firefox-128.0-si.xpi 606047 BLAKE2B b54752f3cd674e9b7761a94c81ba4b59157a13c07822f5272e94eab58763d734db6c598804e237ad9ff1311e06e85bd96447960f8135f97e03a0c9e5469bff4a SHA512 e6ec86b16c9ee4da0993abbe5a7e9bda90baa76aa539e3b1318cce433896381dddf9d874a77f800bd93cc083cca422e3ae4672b17100b1ffabc9c52cea178149 -DIST firefox-128.0-sk.xpi 649995 BLAKE2B 363f8507927cb7f2372fa51b4391030bea837df26bfbd0265daaa26196e7b85e01cda39d039f1832736e3d52775a736805d04792a16f430bf326cf99534702eb SHA512 90bb5724c474e33513f4047f3a478f2f74cfe6f8f5a565edf40bad5a4e4e227255401c10e670a2db134950f824ac573dfc927bfe7121321b8ca5807571ecb066 -DIST firefox-128.0-skr.xpi 707175 BLAKE2B 94deb377fd0ccb676865c8a72c44fac04af6a8ed1030ff3328ae69aa95a548e346801f7f8467bffccc3815dca162197023b689a021fe92e10bc4d009befa4daa SHA512 972635c3ab85f4a93c1cc6bedc9bf1d4c4aa6650c80b5d74fea59efe13df272bfffe7a24bd247ec15d46373d1cf7d95056c68a5568b37aafa31d97e98ba31b75 -DIST firefox-128.0-sl.xpi 615568 BLAKE2B 9284277640e177d7f209b82e4b00d733dca4a75618548c0144458f2b072720e270958bcc81203e9be678d14bca203618a8ad1fb90661b3d2d2b10d55412c7df7 SHA512 123648ba73f740d65535d93bb2ee8c242bc657936338ce65a6db7743c595570f5b96aa95b52518134922527ccc7d778a1239706d7086d0ac26328b48c61fdda3 -DIST firefox-128.0-son.xpi 416260 BLAKE2B 92595a58ae205d1619181fae205b3a7d9f661c6c6564000198c9399a9aa4103c4e5090e7a05d644eb9b5cf2db7db4d6417fdec3f56bb6657992ecb0a89cd6cf9 SHA512 02e64b150e475b765bd4da5045e487567ade0d9ad3efbf8ca953a6d575dfd2154d3889b3b3252ac6c016b3be977ae05d617c4342b51ea5d0fe90014d7dfeea53 -DIST firefox-128.0-sq.xpi 635525 BLAKE2B 4e4bac7617e8bba1906be9f056ea3fddf1dcf1dbde11074c9202de30b41282f1415ab3b55709ab1499d67f38ad26be78d165638d07779268f8dcb129a7ded324 SHA512 8a6e25535991f9c2db6011f22af25c7ebcc721b9b531bccfc87fadce54cfa60d8945a1b707f14d0cd11679089558ca87b37e97d8d167f14fbf4d8127d674d071 -DIST firefox-128.0-sr.xpi 639179 BLAKE2B 7afc26f9af6e028a2199e9092a1291c93a327baa278ac547be39e82135de55ea001c07073026a2c2153e65b11991c355e649b66271de100b156bf78bb14580f6 SHA512 5094e5db62d2a022c7781166168162ec260cc31963038b7a07f35462c96c8f44b177870b94da6116536e36c0628e96286a011a528e2f43d2d1a0c41ce4f4b0d0 -DIST firefox-128.0-sv-SE.xpi 616852 BLAKE2B 5f82acfbf78ecbe2df0492b6a741334207e7d950050bc7c5faa0ce78579eeb3fda3108cd804eaca706282b8aa21ad0f31e36685938633e3f395585a5d056fd87 SHA512 161366bfe1f335237c88617c5889db6d1587f3c24196001249787740657acc52f0ffa7aa128bb509a4802071235ebc2da2ce0acb005aeae57c9895457fa748a1 -DIST firefox-128.0-szl.xpi 526232 BLAKE2B d79a0c3777905a6a5ce7cca637ebab49ac307bc94e72cc6b1df32b672b21a24cc26b46db591d9ef3b6330741b486e7bdaa4e5541c1fbedf2f2e3cb29349fd328 SHA512 85a4072de10412a1e13bed240a6cbd9f3a037cf4ebf70a28719051354f3c0dc6a6f254223a424f5af5f8af6bd5e0baebfa3e8fe95f0750cd6381c1e6ab43a614 -DIST firefox-128.0-ta.xpi 507358 BLAKE2B ce2b278b49ec31e34e508f944ae8e6fb94e17199cdc5bd2add5d02760db26ff63e5370dcfa15649b3b3cae74b624d039dd68effce96b67274cb080971456b996 SHA512 5e4cdd408d64ae585ca7296c2c4e7f759e322b81913cefb453f700eb659492997b24f6ba7be7347475c3a14a0a9e1ecc2fe19c808dad0d57682465f4423ef77b -DIST firefox-128.0-te.xpi 560876 BLAKE2B dbfa13be40842db1e208021befd460528f6d95554d92b1e9c94d1cac7bef3546c786225d751c26868438638fbf846d871b2173ecbf830464b941f511cab855fa SHA512 178c4bd996b14f483881f678fc22b12c6064918e26ac4c24401435cbf454d2523d1ed15e112f723490586aede99fb78728a089d428ef5fd60d768a883d88307f -DIST firefox-128.0-th.xpi 693405 BLAKE2B 79de5f26ce012239267fd7900089a5b424eaab2dae31a383ceb0ad8a62907288b0af129e8bb93559118c21f01feac4f2901056303a971e6f32f5ff4b51d40cdd SHA512 fa5e1e4c0ebcc564c5810530b7959b5e8a887b2de252d641e73cd7bd2300972cd78b4212ad267b85b3de52cc018ad35d2d828007f8b4859c33fd33ff4649c278 -DIST firefox-128.0-tl.xpi 534025 BLAKE2B 6aa35320e39dbccf14f863832185d8a1db19a7f5e7c0dc8e86d4100dc314b2d29a9113697c1a6ab7e073523054e85c68e1989c8a20e0f3cc153c01bef603a2d9 SHA512 1bd64d2513d54794d6d41aa194fd88feb075fe651100bdbb01be5ff6172ab349c00c3d15b5efd4345c6525e648a66336e5dadbf4d0a86164c3998b7f1bc572cb -DIST firefox-128.0-tr.xpi 630012 BLAKE2B 92522c3b5ddaf027da6ba32f84cb3e80bd23cccd94ef7c78b8aa0f88eebe88ff3a4791e772f76c16b62967a9cea46da341b3b2ac37f870e92bdf3fdd56fe5a46 SHA512 47355ff3d82e19db9ae20f16eb1630a2ec255b0219b569606cd6a3e5053ef5aa6ae7a484f70707d25d89f99a5fe5025e25176189605f1e90efc1fb6e6b7619db -DIST firefox-128.0-trs.xpi 503824 BLAKE2B df7e070b45c41c069d76a3d7a1f67f0d034d39777f61a54fe8127f723a603c99c0addf69bf52edf1a3824b54b72dd3c5b31a4ae2c16a476a5fe2f979f02d8032 SHA512 534114666bb1a131ef4ff51f1a114156c09924cf7f8560f278c4783a45728f0df730e4b19f01ccaaed4c6453ef757608975d695f17ea3ed9e6bfe43155a39236 -DIST firefox-128.0-uk.xpi 707195 BLAKE2B 4071217517c8cf7c51b584b51936515f249fd383fad6132b9637c296fe911ff7dc853700cc49b266e34d5305ed7052b9908c5250c50869a9b3a2493a9f90fe20 SHA512 886c42192240ffc7dd8294bf912de1e56ea82e17e5e206b1f521c484557d42f9f2a3958ffcb114ceebe26126d045bc4bb7cd52c0c076e83a8a07394c0e29cb69 -DIST firefox-128.0-ur.xpi 560339 BLAKE2B 63f996dff257c66e0f35887984df64771426653eda49352696f379090b3365cf737e6a4e8766c4234de8f0921caa481a69745d2e94f167e35c1b7a7e6097abc7 SHA512 9f65ffbdf069de89f32928812f311e7eaf91675ad40765fcc0b88a4bfca86aa9242c7207b49874cbdb39fe31e8f6b110af2af176ea649df3b5fac07538a75723 -DIST firefox-128.0-uz.xpi 478619 BLAKE2B 03ce6a56af48dae306d7cdc8c8a34a57a2a436207503c5c94da4c38359630d56356b4c52d59b3518d4efed2bbc816fb34093321e0b9bd7ee00c9172e8cab4464 SHA512 e2a7d96d73664fd85acafe7d008cfa22d283e2742dd98f5e34f00129c00b2cf3f3a7240bbf0b01ecfb5fa49a0055d8d4173d6e8eb929e4d24bf764b5f1fb9202 -DIST firefox-128.0-vi.xpi 653927 BLAKE2B f2f804cb08bc000c1c1975c5b641b068a8677f7ab51b707d877f1333766af927584afdcc5a3f817a3d72a4b9f486d96bf75a4cdfc430e53dc19dcd8819720221 SHA512 16c58254dee12ce09b4aa603614053b08b50e7eae55cabc9709828de233d2393a84ff1f7daed39f58d17f570337caf3acc3936bab76f83b1fad49f3bcdb4befc -DIST firefox-128.0-xh.xpi 417021 BLAKE2B 50961db41b3ea9a1cac9f5ca60ff7c69c262b7f7f416c63393ded69b3916cb57fa1d2ae2fb6cba03ba8d30857bc2c596c6d6c2d88f7b56cbad49f3ef353a70af SHA512 fdf7e9bb3b76842c4c135cf2d82ccd2dd744967fdb7d9202474e69e1c6f4e955d0ee234da2f63ebc706fa22a7de363655477b406e9cd9524e33a7907f680c9e1 -DIST firefox-128.0-zh-CN.xpi 654723 BLAKE2B 55a9f29335f9d75f71b01aef5b13afd7bc4d74d334a85d97c89212d8e127c9732f494afa39cedcab6efecf59997c967e593478ffd48e6dfb25e2aa6ecb0fcf58 SHA512 a9f11798976e69b2faf44dfd2bcbd1294b0c771f9673ba168c2e0a351a1df346c3c74670fae9ed729cc37f1dc4c19df92b20e977da4d60a8a016383ff9192d32 -DIST firefox-128.0-zh-TW.xpi 656867 BLAKE2B a0a83d940a8a78a8436f5b708d4443ed448d0b676bd6c52901d58c557d28c4cd17c54bbfdc8fbed8cd5b8f522da646ab80927bcbf516ac572db0c1a53472ee07 SHA512 1617aa2937547da420fa95c40cef125898967912c2d1030488ffb4ec953432df75cacd2af7a6907684491ee3f52e52b1d0e855759a141ee2cf605714d0e80a0f -DIST firefox-128.0.2-ach.xpi 464065 BLAKE2B 349d24f095e397ac55948dc98a969c2f4618a9ff1bb60f08dad16a533e61281f46514e41fabde8fc97419b5582b6ee50e533f79545ec5aa6466a830d621a83a8 SHA512 e6239680cdcefa500b368975e57c169f737d682afb3b45f6a2ecab0922a5b9165efa92807a5f60205c966cc442dbe75747fefd616dae94c491483eacf7fc8f0e -DIST firefox-128.0.2-af.xpi 417512 BLAKE2B 86e5910783c1a5be881a4785762e83f2d3299268cfbb44caba2e44d2e1bf44f305e488419370537f37da5746d57c0dad0e0aa22486fa1a6455a9c4487bfb8bdc SHA512 abc1c92a9f25f269b2fc029d27e735334d3eb2de055537b853a2a2e0e1c733f631c7e35b65ce1d17f50d05d8568c2f3f01d072b899786d0a578fa9bf4e42c9aa -DIST firefox-128.0.2-an.xpi 505879 BLAKE2B 794d016a1f760d2fb7c0542a0fb775f605fd80748a82b314d855bf34a550a540d54110a0c2b5295888bc6894cf55b6734da4de9452b39ab9489d1a1023ca0fe0 SHA512 4e2e94383ec50cf6c906ea16de82023a141b1f31cfcb64dc34dfb2e9a590e3f1ce7c58f6cf1e6c6d0492ef128408814a63cd4bd7749729532258f81e0e761a62 -DIST firefox-128.0.2-ar.xpi 610860 BLAKE2B 1aa51224626452fc624529f6a8963019a23876a787ecbe384a6a2fd5f555a591892ce8ddbff77b6e89105c069ace0f6f0cb59b80f6fb80a21d64503e51db2c6c SHA512 d9712a55156dd8a339c80c12caaee4a54afc2781b4c1116d535043207907f6df1f6d6f2c108c1a59ca4d83a22fcaf1f3de6a9d964a5c3fb0877ddc7d17e19fb8 -DIST firefox-128.0.2-ast.xpi 496338 BLAKE2B 96d191d093e1761ac4b50c2b9ae8866e0675e38955743b2dd01a28a6c4efae3c739e3248f04c1c98bbeba2bca130424f9aa57ebd78047711a0b185db290794c4 SHA512 3076fd83fc53ae25bc9d8bf17850dc49fe2ada16714ed7994508bb0f47f228cfe2da2a7ae630739ad732494fd8f1b1104c511d90bd5c6437cf110d3f0761f4bc -DIST firefox-128.0.2-az.xpi 490774 BLAKE2B 1651806965c2cd9d89fc0fc244340af518e4c13522fa68eb6e9cc3451d4d5af6f09e3f671f4ca77d13f39991aa8ab2a1143de5a5875d1b274868f645aa8af505 SHA512 dee60a155fee8705b59e44929000d77dbbe982fd3c0a32b8ebc96291aa5e0ec8f493afa9e271b05e5e0671bd242b1015ba56ec4ceb1fa28244fabe0c764e4ba7 -DIST firefox-128.0.2-be.xpi 714341 BLAKE2B a9d26c39a7d057f2acada2505749ae10087aa7ccfbb436e8cccdb1b9ac5e04e9bf12e41a63ae26e97ea52db93ea236e924e2608be5bd14e5949095c261272eb7 SHA512 3df0bc179624ec750d6f369b18c3a6c84790097c51b4088b33b61d4f1c38a2a38c50310bcf996c6b46aa7d3c152fc2b389af3516cb801690eb44ebba43609233 -DIST firefox-128.0.2-bg.xpi 606568 BLAKE2B ecc4edeb81ba05e8cc60198731eeeafe2c3d5a23a77a58952c9f6f362f719407b4b417baa56100b4b857bb8f70972d5d85b94f38308c60fd8f2d3cb6993ae93d SHA512 7093adee722cf1bae7e3ab465165baa31b68f8bcac4413d09e4dc4784cefb7c6082c02b27fd6c27840aad6b84b39c3e1bb670061ed981406cfe810359ed34815 -DIST firefox-128.0.2-bn.xpi 581528 BLAKE2B e5e878f4fac2f5c27f401b4af75b294881d852ff1663dca8884ef1a102a2430cfacfa694d9da80c56f0689d95be6247e073f0754bd47022c29b9b787aaf4f2cf SHA512 d69376d91bb7a32d41c5ba8450a98763791028a9e4764e6433275420b5cda026f91f9b2db586d58e4aae1cda3ff42edfe4ab09530f0afffdce6221c8a8ad3329 -DIST firefox-128.0.2-br.xpi 588926 BLAKE2B 281eb80a3ef1bd30699bdf6f8f747bd237de7969df1633b127fdafab1bb6f1586199d4eec23331dee0a516e10da8d62d1b4f7c9040f7f49541f4ac318eab35df SHA512 6221cc674911fcff2f2f670ff1e944ffcf4377e0c18f10d2800c003a4ba74d873301a93342a328bd779f16b34f7b0dfc8828b02e73ce3557d605bdb45f0d4029 -DIST firefox-128.0.2-bs.xpi 501979 BLAKE2B 031d137aa7ad709dd84ebbe6b11f51a6570d167cfd19f0103628e08eee8e8617347cad4e778d449a84d582ebb451739d707fd8022a89c03b9b76efb43557bdb2 SHA512 058a493fa84044476b8e346c3143a5ed4f13446976fd88d62d2c6e94bc5669ade231bfe6f4a373dafc5a2f18f3ac80ed3619ab6eaea98cd77c27da6de1644021 -DIST firefox-128.0.2-ca-valencia.xpi 546186 BLAKE2B dcabdef261b83ab2bc5c2c2f829df9ac5c43673f0969bd260dfb540978d4c78947ce0331f2a2a32d711a5d0f8999f8d2289cb0cf4babeba91cc04725f6743a4d SHA512 c8f2191c7ea70c981b366b695759a49e4681cb66fa634ab9b056d19d00dfb2e79e333c0f56ed999d86a37143d0c6ea6e937d3a1d82785e02c2dc70b523b09f06 -DIST firefox-128.0.2-ca.xpi 597102 BLAKE2B faa79a0ed1d8b32d287b226d559074f1180b051dcb6aa854c3a0e12ecafe4caa1f156997046175b998108480d11bca423be102cd948d0771e2ee1bddc944c480 SHA512 4a99cd5eff3d7efb13030864b094dcb3a120e14e446bc76e83b2b5bbb8ae1f2868441ac739080819bfbb99342992eada898f0023c653d6cb67e8ecda052e287c -DIST firefox-128.0.2-cak.xpi 593078 BLAKE2B 3cef18facd21d8865faaf8ccd039ca88577edea830c6784ba9822100b01909d2bd289ef8c14105ef9ad519bb3d3e60e491b23b288e3fee7b19ab4a62d1896727 SHA512 d4b0f931d0a58368438ac78dba2fae9e5ae443e578a37f79fdab21c3fd1b175ec8c88d840a9a097c9a170337bdde12ce8ff363950d71e199932858bd06cc2a46 -DIST firefox-128.0.2-cs.xpi 658957 BLAKE2B 0f2195c414969b92e116176fa14f4feb158f25a3234dd4ba620eace7446a93c7864a9e27782937a1069a85107a20ac05493fe3a5edf0aaf8a2240f812fae2042 SHA512 ba906039fdb83e8391a4a63be3954683a987f141b69847b0971fae78ddcb9efb198652bd42453aedaf9e1bce3fc9fa7ec32f139423e787ac424acc49f50e7652 -DIST firefox-128.0.2-cy.xpi 622915 BLAKE2B 31a3bc4c23f33da2b87ef84601b47eb2eab87a5e15bd380c78cf0c5320c396bd11922b4e2d2de3bfe0c19d690a3dfc48c0c03ab21b37c6c9d8bf6f25bb20421d SHA512 0df64819a61cb7250a67ae15736bb6907f26f2504149574fc3ac7f1232b93d215e1c05c5c606aee74ac1213e4b3c909ed9f1622f20be462237830045ff63779e -DIST firefox-128.0.2-da.xpi 610833 BLAKE2B 092a8943c03368976271a70b60782442b4ec9b049e7219b79eb4ffb954dad690dce8a58dda1b8702d30f869487c768413db13287d74ecaed8520eeb53f7ac95f SHA512 d7f311a061cd54a21c7f1cba60603495c3f1d636b25fb3e1097a2976eaa4b9ef7e27793ab668258d6027cb91cb14f2d1fda633791ff22a52ea7146cfe958361a -DIST firefox-128.0.2-de.xpi 632471 BLAKE2B 76578b6e492cb501fb93f23a858c6629596039a44becd341f1c098e1f7fb3b5575f0c6b7015b560aff08950a14528d892c6a2dedcfd33f0eb0b538c810ed0c12 SHA512 db9fa94fb7ac21b37a3d48cfef08d644b2083c6c12aef9ab3cd239e44597776e54e2163285f72efc4839e2d5d16ebff5579286f7d1ece0efac7275fef59f3671 -DIST firefox-128.0.2-dsb.xpi 650810 BLAKE2B 5b713009453c2f7ebee4b836bfbb1f028fc6a5116b55303588b4a78d41377cf48f3c62839d8e762f3e79ec29656beeaade3b8779361ddbb0813b47b9299223e5 SHA512 f91de0fe451d335eddc58e2197165f2a9f31db00a2f62d6475d6bff1bf20442a60dda90b3a063d14a9bb470fdf694300bfc0706fc485d24aed4b31a78a93c046 -DIST firefox-128.0.2-el.xpi 733063 BLAKE2B 3cb27dc577c549fe903020d17791e7c3da57a8276869668633fe510c69983ffa9faa02ce15350c1997fbfa406500794df49120bfe77d1264c6040b4f790a4ec4 SHA512 2f8469e0b34f9dfe13e19721cf93f96ee6450c7795be7c16f9960d400a3d2eefc7e9a92ad5874e28c71dd3df20f69236a24c6f542f8bf9cc913d6c8aabfdcf32 -DIST firefox-128.0.2-en-CA.xpi 584668 BLAKE2B 0c12595a419071a76a061a9dec0561788dd02b5488ac3064cceff3d1bc6e51f4c2f5b1c7f7a9e1a1b1fa17011134462d253f21a71e3c1eadd189a938309d4abf SHA512 46d428f0a4eddbd4d1b9b056231bf3956d22c870a9d74e11de27be267781751eb68b7d3ae7fc4660bbc30c6c827d25895d9a2e71f93538ae9586359e5bc1e1e0 -DIST firefox-128.0.2-en-GB.xpi 585264 BLAKE2B e1aa9479f2c43be57e833a33813916fa62b3f6a5f634121108458e8dd3d125b4935ee363c457053aa1d7c75112846994f87cc45147ef9fecd6a281264ecb19ad SHA512 51475fba419dd4b0fe54a6a7594a80fc4ad432b90280e7c903851912ff7237943aecb849d07f38979b8e8b1218bbee545cdfdd861c36efc51ca2b07c298d2a9e -DIST firefox-128.0.2-eo.xpi 613687 BLAKE2B 5769137f3ed2b0249ad7d89a8d7a7fc15cc91eb010bb1626246b41ec61c0f5f0368fd85867c82584c299665c33504689c221c4383220496243242ae9fdb9b657 SHA512 e7307f26b1f829ad4e433808c5dc846498d0e0b14ec12d756d13e55b8e782942d21ac068a44633017094f0ea97e85dcaf6457b3e57e1b9d84d72a366c21cbdb4 -DIST firefox-128.0.2-es-AR.xpi 628031 BLAKE2B 578b50a0bbe88fa3db4893cfb8e02fdb6e48a575f8154a0a613194dd36732d1287706a87a62ec54bd4ad4d54663f1fcee4d6063c405cc07b88b1af4b9d880539 SHA512 cd04c1a68153f42351cf0cf9d3c841ad3ff3831534f2eca72bcc94fa9096a4ea101ce68e11b3a221868e7e2c3e3082757bb8ebe273f82b13f8665c6c1bba605d -DIST firefox-128.0.2-es-CL.xpi 627313 BLAKE2B 52fabd385ccc7048e3177bbd991ba01a710b1a87c273378d1b37ee7127aed180af2884d5b89f7a0e2f7a009fffc243c4b5a7d52f2172a59327f31090632cba68 SHA512 10af849dbcb5e9f3fe437a8abc0b81d8b6c647b4ffd7430af7a67d18b080d2e60f511243b911f7ba9cc5c91b7da379eae17dcefd1e0ff821ef1e59eab8c53893 -DIST firefox-128.0.2-es-ES.xpi 621082 BLAKE2B 8e4af7a383f25b6853ad8b50a863424e60f6b69d2640c84e397fbb9b80221bb013c86152ac2d8a27db6820c0c4db1b5e5165ae92dc99de299bfc504b5da6eada SHA512 c8eb33f04fdf8dbe9bba9311bee4996507303d15d0d5a4f28e8b1b3165b2c636a028f90a8c0c06c23457a4418f858ceda489c5ddd2e1beaa9b4c2962c5a4dac4 -DIST firefox-128.0.2-es-MX.xpi 604994 BLAKE2B cb04628e65ba68d2392fcdd6e903842e9e736d9f6aef805ff9c178b99b0f603c693c6f909b9e62a11fbabb38c9f9d4897ccf6de4b251dae7e21f74ef947e2161 SHA512 cb479b7ebb71421e5187d149d2aa64d736aeae379966e5c64c3aa83832e61a802075a4dbe5a8f461c5a37ca02fbcb4f0e796db3613d7421f5f51ac82d402e74f -DIST firefox-128.0.2-et.xpi 539538 BLAKE2B 915009a33dcbd39b5ad32ae04cbc7148d940e08047a3c80ef096ce91204926152874754e0f7109de6a633b69a10149fc2fa87441985bc8d3322f325c40b320f5 SHA512 8f9b31b95ca046fbf8dd9c4585ead7425429c79372aad0764d54cdcc46a1ad6f80748a1a49566974c18dab7d034a8b59d426c652617eb48464b7ad4b3afc1396 -DIST firefox-128.0.2-eu.xpi 599320 BLAKE2B 58fbcc61dc81d02a9ada1100b719aea4bdbe4d6094b4f0d662b0226364176cef04dcdcbf9a8f851e4e11f4e01e08ccc80e49912c670289e3fea981ff65d798ea SHA512 43bf2f2b5510d272ac010b19748c9c3586f31e907f732f71ebd649ba4668ff8f164d1670110d78029d81d7b5ed5b196c6eec2a6832a3c07d08ad7dc888a1ad3a -DIST firefox-128.0.2-fa.xpi 590023 BLAKE2B 39eb855271b27d91f346708e867f8cc36ce9a9e9d48cfe7919071cb82519a8ad3021e6d0d87a844af3677c8e10aeeae47e5684a4b61353f21b859d783a49bbd6 SHA512 5363d6eac7550d5b076dbab33655ede870571416fdc7397a4f7c9fe5ddc8f066e016cc25b826c3de1afc591c9333ed9b33d569dcb7557247548e88483e776da1 -DIST firefox-128.0.2-ff.xpi 476062 BLAKE2B 2e4bda58102236daa206375ca4fe26982713558c970fb5ecdcec7c8526c2e3c8c0d1aba4230739cbc69c340858c85c2dcdae767e08c597b9f3332acca26caefa SHA512 415bee47b097aceb7732b9c45e4e3987936759a921a9e44028ab2a488cb30b933485c1c063a975f33f84dd1eeab3ebd68a2f4a00280e8bc6243e881d06a15591 -DIST firefox-128.0.2-fi.xpi 606451 BLAKE2B ddc25078fe0c0b7556a34a0a03b4fa8798c0cb547fdb6334f8908a3b4b7f4e3a3d9e1e51613e6b8f26f3de2d66fa3a64d42325209da1164caae98538c824b107 SHA512 f895d8d2cf706405a74b51bcc7a786bd480a5ef9f940485df8c957fb5bb3ee3dc96ccf761e9f3781366fcefed13b987c21fc87d55a823e2a890df7b6961c5a45 -DIST firefox-128.0.2-fr.xpi 640304 BLAKE2B 3c72b070b3f2f1fd7d747ada67a10183ea0105f3beb6e4b736d28e40f5004920019821242c7d0e9ead47dc9aa7c43f2bb5165c35f2fa52d6a100cf8763f2da03 SHA512 8b12f989dd39d9d428b2c44d29bb3637421a0a6a5ab9a94f160f463a037e6213809eb3cdcdef77f2da027c7a1c9bb9e0050586f9762d354a6b6050d62c0e699b -DIST firefox-128.0.2-fur.xpi 633987 BLAKE2B fe1027adb8fcd2ed34b3b9a6a9815d56d30e98b81e3695609270b5feb92f78c645d94938f2e883cfb8d81186b7b58c2e96c8d6ab373819494639384860c47ea2 SHA512 d9447a367427ea4c12a4feeed9864d1f524a34d4249117bcef03335cdd8786e6135da3da10fb2f356d08a9af7aa3ea083dd1dec078ebe909cd17c12e56ac38b5 -DIST firefox-128.0.2-fy-NL.xpi 623726 BLAKE2B fa563ffa8f7020a9a110e3c42d0d61a2909d203dac7db8cbb77d023afebd0cfce60852c7944430b1c211b2154b584906c1c1ada40008770e239544cee6e70ee3 SHA512 6fac22c532af4c153afe976edf1c2a2875c41899392bef733dc4b4f5ee48cc2a801b07d09554d7e642a7bb6160505dd8ec10cf85b1a728d835fa0067184cb8ff -DIST firefox-128.0.2-ga-IE.xpi 470997 BLAKE2B 48913d4249ee7ab061c43f512ee57d52c683e003e5843afc4a583d1dbb38928d61f38d9ccc35a7b281f643d3e1596b485cbc6a2f85b9c2853814d3ef0adc7f82 SHA512 f3b306eec6e638903a874cb449f86cf948535d63817c1d9693241a690c9399d3c750594e840f241c12ce735e5262f2d06ce9230b51f1bb7b43db8515f91559e8 -DIST firefox-128.0.2-gd.xpi 596593 BLAKE2B 6892fcc3c40bf1d3865c535fc0c4ccd0d0315a3b02711f1f28c165475d6c2fa2922449114a87c5dbd723b6f79a6a9c234aead68353d9c53d6bc742919435579a SHA512 8a5cf3a81ef42efad6a5dc56abdf67e77ff0e53f07c869350553bc4295aa1b77610d8cbfd2af99066d6f6e69f69569c02bbf8128fafdb580bde1f6d37817f309 -DIST firefox-128.0.2-gl.xpi 604090 BLAKE2B 62edf7a596e47db12a0c322106b1be816e77928502f570700fe466a135eb61c677775f8fef2d425950c27a9e9f1d217eddf5778ab91e6b7e55cca5d097343615 SHA512 c6958755786fbff65cd9cb0a8351557eaddf1c564a10b60df2c59ad114d718af53a365d02fd854ce1aaa22198c2c074ff254c4c86f3cde0270643fefd9d928d4 -DIST firefox-128.0.2-gn.xpi 637435 BLAKE2B c5339a5ed137ea472a72a19d91f16b708eadd4c88dedd1d5a12a698e4f88483d00b22adbdc000d6b3cb5c1ade596493a196735f5957e69eac701c2ced9bcc2b5 SHA512 99e96cf9fa7fe369dc1351b15f655afae0787be18bdb8a1ed6290b19378fc85a468f2c7e5b06e13d64e04080673a68ba85dfe5c51ed5a58e5816153214048cf8 -DIST firefox-128.0.2-gu-IN.xpi 527341 BLAKE2B ed1d4cc92a6db5b24f532eabc9403960e05ace3ba9b86b3687bbc8b3d55a206b3c9005cf8fba944ab516271d06a0c70ddcd849a45143cf6e5fe0ec5f394d32ef SHA512 31f064825d57657838341a6ad05b1afb0c79a8a69aced89e66860001317d8316b036e3e2e12707982b0594fae2d35c98aa6efda5e772085d6ff4e1214b232b13 -DIST firefox-128.0.2-he.xpi 631600 BLAKE2B 310d67a40758499aea74e6e86e24907dc80193074479ddf072e11f0482f414b0d4d4d4cc3fd6ca6e4da3781bcf9cf9308daf98c22e17512232884458b3ee1ce8 SHA512 04e37e60a397747cd5d8c4e58b63ab23e67dee3d909c124f140ffc8ef162d19adc4f944413217060954e7628e7e45b101e885f6a94fb7cb1408772c009fbf229 -DIST firefox-128.0.2-hi-IN.xpi 566764 BLAKE2B 94ca449197ebba18451fa44f291eb913dbb3511d3a1bb3d1c3e29413de5df1b608eb815eea89c555b2d02f538e56d8be85d2a2d79852e68bb1943673b6ecf19f SHA512 b6ed62657093146de51cbb3d08e6aaa1d501b848db4e516af8a08c3cf8484b5c64fa98074d5d1492d5e832fc4f4448650b06d9aa28d93280a5b0fce20465a3cf -DIST firefox-128.0.2-hr.xpi 559798 BLAKE2B 8c2bca1901ac5f56878c4b8f0d985ff7e3a72c7a6e4b29943aa0e5833042b25747493977878469c4011fac27ea2daf051a4f3568ae9d6f5f0829a357f23adaa2 SHA512 00e3f4816d7940e7b7e2621c86b43ce3c83eab28fe98b522a5b76a9f3a89a9d0f89752de0145c57cb2171736cc780bebfcf8dcda74ceb50689fce19d11b6d5bd -DIST firefox-128.0.2-hsb.xpi 646891 BLAKE2B 6c1be89dff346abb0005121f6e4722aabb1a9db7f053fc0c2c63dcdf45fb6e21b298e14f096a4d825903cca059082b13c151465212fe4af11397bc95cb31486c SHA512 e87190f8ac18de6b01bbe2af127d3d5b9af0969b4845aa54a9c3ab426bd7478dd0dfb6229edcb2441a0e640616ac90bf4e9dc47aa8c39aa0ba52d0aaeb499c22 -DIST firefox-128.0.2-hu.xpi 649181 BLAKE2B cbc8247eb114bb91dd03b79ffb5d6c03b00561d639252b3a8545ad02b6bd2a88226fffeb6bfc0d7f3ea75ad9713a2719f8214fbe209204788b3970bbd0431cc3 SHA512 a16b712b6a37bea0fcddaa43c5ac93aa48cf1debd9a7405219b124d7ab8543e21c05553fe302fd406d6ffd1d1a81b60233d1bc6d0dcbfe51c20e401b6285ace7 -DIST firefox-128.0.2-hy-AM.xpi 651607 BLAKE2B 527974617c3783c1ab88e7aeb4af91cdb846bff11a2e50a5466c8a58bdbeb038fd546abbbdaa9abf2079f802e4930f9402f12dcf6fb827fa863cb4a8b7be6203 SHA512 2b24fb827bfedf76fbc4143b43bf96a858b50929d75ad68700269a8616748ed685be40aad55dcdf8186aff1c0a9de4af8052e05398525afc23210a1932f515e2 -DIST firefox-128.0.2-ia.xpi 611220 BLAKE2B 6b612a3be1206462a629c7ea61ec1d421acf15266891ef849a912f654fec4c9518c5301aae51a69487cdc7bbc0a4132f3f2448842995b8bfb514c2d441c9606d SHA512 fb40b4cddafb528995abd07bc103a60ab5aa0a59169c80b360cc6106c1a412b6b8d68071225b31ed90e2ec5e53b0be37968d5f296df5aa53de280fc115d2d5c5 -DIST firefox-128.0.2-id.xpi 580204 BLAKE2B 4801e5fe780e500c83f38bed8ccb593d40c9f4a864f92ea9cd7d90045b67d52cbb5cbce355fb25040ca12f3f81e11652d0046fc58d82d64af702db2d6c9e17fa SHA512 986a53e5c7c01a509281799519a4b48645f9099b5815ce8dcda4455d66c1a7cff32109f1b55d941721d9c5ec3341a5fe6980629990bf70bf2fdc32faffa5cb81 -DIST firefox-128.0.2-is.xpi 616484 BLAKE2B 2904bd93cf646757ae4abfffd07afab164b768f5bae69635178c662d9233e772bae14022156daba50520b7ba3a3705ffb0f59172c25d393b77057bcc57efc81e SHA512 a54ab40a71cdb45cc0998f6f9a3e04cec6873fe1c74c181fa3f8e6a231a4a38bc80e17e83ee58c82234471d870194d9684a7d9cf59ef087165936ee81c5d6305 -DIST firefox-128.0.2-it.xpi 567330 BLAKE2B 41f09c66d93f8783c58da2b283ddb405c9c1be28fa3cf5bfca3ae509ed1848e40a7133b2edb61e6c766c11a6d7a470f8d9867512ce6835c6ae708a2caae81cac SHA512 04e9c4e9e766f6ad3ce1054f1785f3192486decd3ef3a5301881cac5d6178c31b381f376e50acd6381b3bc4ef3250817e78635ab26cf93e279687ab2264929c0 -DIST firefox-128.0.2-ja.xpi 675622 BLAKE2B bdb276b89d8106ddb6585fadd712eb859d51f9088898dbb4c72188b2b8cdc00e10bedf2f1a79dc103296b1b7009807563e210ac5578b6f428f8eb015ffcd89ad SHA512 efc83ef95596f3f0345ba437b202060d787b5daffeee3534e9ad2275bdc81be500447ec1e19191e844634a4febd0245e3c41043e166dda3153179319c4483443 -DIST firefox-128.0.2-ka.xpi 660710 BLAKE2B 528d8d5824b670563756e3f38ad6db65799eef79acf3dae2c43ac983eaf802f9ffe8ebfa0c6d0e822250339133137c701e1429cd018498ce777565d8e1a21a2f SHA512 5bed5e1a1804263e16d69be1d826f842336e90831000e9d2a4cdc6c96712cd8b339d76f496db6964074f4c2a784c371693c195a13345f5aa88bc6105aecbdb03 -DIST firefox-128.0.2-kab.xpi 608729 BLAKE2B c1a529a32a7b9033b1294d4a6f24ca165573c7772b20387bc7f2aa6563f7909381d6165a780bd16498641a73636fef15aaa23231a5e0c13676900ae3236ccd1f SHA512 b4fc553d905cb56634bace27b49da90c6511370f12730f11e6ce3ff0978485b567d81099b9a7d1edb4b8bdd0a538633be06eefd48fda4a4f1aedae1e4f973090 -DIST firefox-128.0.2-kk.xpi 707815 BLAKE2B 75947d00bb89d7cc2ae58fd0b2012ee785857e50d77eb870833f0c156b5853a028d3fc54d679bb40892ba6d30e29b220fe70c45e74e9c5af6e50eddd6bea3ec9 SHA512 009bce52f8eb910576648fb97414ae6395c00fb21da824f3ae7ebfa263302d019cb53fb932f1b57c064ee5fa23014103dbdbc29abf504c89577c06f6cd90d0e7 -DIST firefox-128.0.2-km.xpi 525877 BLAKE2B 5da9cf8206fb1fcd59af1bb111aa057468af076362d0b6267f97ae8af2a10b7d6f8013fc4940be52671083bd54af891719982fe67c5b3d1d5c8256d2ba177de2 SHA512 6fe1fcc9acdf3db41be45fbae10eb92f2f794f58ec943d75cb60d097655576c440a21c9fa58371f0b14ba139ee868cd20742f3d4edc9aca39d31fb3aeb1d02c0 -DIST firefox-128.0.2-kn.xpi 491244 BLAKE2B 30676e53fd659fc3d30d9a17c2c23fe9bd95283869c017366fe58259c1d5cbbfd6fb9fa6bbd44bca16ec3e86ba3f86f9b1c5201762821f07e7c09ada123d1430 SHA512 52919a3884b09adde09440221f5e56de3dc1a83d9dc9143706c840bd0e029ed204a37d5d872e249699300c6e3b1eb08cecb8e6a7ad9763f7d75d0c86d59dbbe0 -DIST firefox-128.0.2-ko.xpi 661598 BLAKE2B de9cc7387300632c453a0ee1eebb73c179cb1158ab03935234e6b3052c8acd3c77115d46fcdefc8aee40602ae4a27ebf30993f3c4f3011c0e74f35b9982b8d36 SHA512 b02da8a1cd4cb1a6602212601adb5ce7d360e48ae7a1824baf6e9e8086cbb60b708cd478b68fdd2239f16985596b61e2ec2685f1a9e3c426b0164483d827335e -DIST firefox-128.0.2-lij.xpi 484085 BLAKE2B 6f4bfb7c98cbfd65121744838c1324e5a54fcf9a57202a2016797da8f505e4bbbf13402e7eb70ecd86ad08fe5d8b8bb08f4762d770f94905cbe88cc8e583d23b SHA512 7cf51354a54c4b751c2330032d4cd41305930beb207b85fa67978f3ed766ecdbb5867586902a3476f455e28f32fa5a2b90874c2eedf4a83126b97c175b81e85b -DIST firefox-128.0.2-lt.xpi 572686 BLAKE2B e88d17b536dba7880d69768d5125a02b233d0b3e3d753bc928dce16f231635fe54e614b2ef00563789229aaeeeed9594b5aa39e6eac5f7d4a63208812350038b SHA512 8a8145a208de907ecb1b627f10c926394deabc7151cd468879ec46676c894d3df569da261a44d8d96b8309b9c245cc334f919d3d6ef7b47a7faea4ab5ea61f9f -DIST firefox-128.0.2-lv.xpi 574392 BLAKE2B facabca3ca3bedfb210ab1392077166be0d780877c8bb8be7a32480a332a16a8ae22d8dd4111e48d240852c517fd00f08825df248eb262190927f9e4d3999a16 SHA512 f81021dcfd67ddfe37dce0a582f73d9295a7cb490221ba26d35ea399baf8c6d480e7a2bfb18795e8d039f859c9741ad6f5e5e3ba72ae56b3bb4cb2131ff7e961 -DIST firefox-128.0.2-mk.xpi 493863 BLAKE2B 8ea33f0580fb0c851c5de575f361f81f72591e77797b93595d1ba89f7e58e783b52206629e7230b5b646e972149bc3c0e140b6d405993f53681e5dfd61ba4dbe SHA512 41c7276fc5d2ae80a524c5f978508861ce4f3b0737f2e499cdab84872c52227e4d441a01c02bd9ed9b39df0de4cb3f6e06eb6d979af32b1d401ee93094d36725 -DIST firefox-128.0.2-mr.xpi 532101 BLAKE2B acde52413e8f1875cdff74e856523f111b694a732e3afa67786089760e844c073605ff8270d8c5f2cf59a7041b89a08667adde34f9f40ba664fa8db1e8bdd2bc SHA512 308d29dff1693234ad8ece14b18c55480c9d44184598a42922c45021fc6e867302cf173fa70282ff96863480a0de7142e68b314068687696cb1ec1ff11983827 -DIST firefox-128.0.2-ms.xpi 449721 BLAKE2B e25ac432ac436feb099c2adc798f36a7185b2fce85193009ec9294caff7b1994e837376a17244a17b4c6f4851c74c69d5afa4c6eb22596003604d961cde68195 SHA512 f6b0e50cb9502740e7f4c9b48493d2779fe3763aa6cc6db17b261a00d02e6c77e65e25f721e93c4f7b6817336a6c722b051ced4fb6bc43eae3ac39ab55859f92 -DIST firefox-128.0.2-my.xpi 518623 BLAKE2B 80ca715805ea34175b3bac818204f1cf498b18440b1c130e3465378b4c8ac269df338e3c5afa122e02213234c9c89aa26934cd23f285e916c7d5f486c394c878 SHA512 cdb1bda28d668fbf71e0eba0cdf790d24a992be6980299e178f13fabd9ebb0a5790a3c671e6110334710b822d6443586b9d18bdfaad14533f9d8349719640d4b -DIST firefox-128.0.2-nb-NO.xpi 607047 BLAKE2B a509ecbd615177fc0addf99fcc996457b7bab0ed5dc4fb040e5c3ebab2a13fddcd5d11c21ec1695d61a5dada791d4fc124b6fd7f4e4d65b92024c1290090e7d6 SHA512 6980f7cee58c2540cc2e8e05d466faead54d6fa3e14f1f5ce9006210382ef3c372d511d2085df95d099040491407db1490470f008900fdf26c73df6601ea3281 -DIST firefox-128.0.2-ne-NP.xpi 510956 BLAKE2B 90da5cafa23390abce26cc0595ea71894380795b63109813f9bec15d3e16bd7f84d4153619f119dd2496a6eae0d8dbef932a2290cbf448b29e94e6c92f415d2b SHA512 6e9aafd2ce686c190a49defda15980453f3cb3489e67de51ce82254e8dca1506cb2d2e818af4ee4abfd099078c1cc7321bb4a6674568c6724bd8fa219b699ee8 -DIST firefox-128.0.2-nl.xpi 617403 BLAKE2B edc95a7efd427c0811e05f373bfc66697851c096989344e6421ffeaf95d3911707001bc9ffa90b5a74b61dc6cf7951ee90474a3d1229f000d2fde016b7bdeb74 SHA512 09db011d2c7490c5f9bc48aad95459b3e1811c30cb284e0ead51892aa80bb6d7108f7cd306746fdc6a5cc171573ac2f3e1802fe33c3c8eff892f56a13b5ecf88 -DIST firefox-128.0.2-nn-NO.xpi 610259 BLAKE2B 919df0cdc8c19db56b6e835de30a450419fcc7f3bd987020e01cd1c9cdf5c4efb4f963ab85544c23bd284d573106b8ff239c7dfadfaffed018662a4ffa6f85bd SHA512 ba09369673f7e530ae086d7243d6601924267bbf701b804ee5760d9aac2c6fbdc5a74236c920ca732700f54eac774d29b4766e47b62dedef4b17ee984677fca0 -DIST firefox-128.0.2-oc.xpi 612805 BLAKE2B c62f420a96f9d1f53e2bb18db5fb9f63cc5e21d33d3378ae8e557a8f650cb828e1b98bc1c462e9406b3a172ba187c50253427ce4b46ad3579c879c3d0430bd53 SHA512 dc11245f4eaa78987b7c6a90365c99d30891c693d93bb5e34e9f691c9c7be4858068fd164a75b0b02f8697f9675043a0a308e35816eede942dcb89b85c3a78bf -DIST firefox-128.0.2-pa-IN.xpi 692030 BLAKE2B 4449afe59aa25e6e77cddda6e2179d9470407790d015b89a7f5322e5482c45edbc81fa92210bee1857fa3f9344fe34c2dd966b0db925f058b69cb1f014a2b100 SHA512 bdfb7b1d1bac8fa15ad730f05b1234432894f7e2ac65d820025672148d297bb9a70111e55012eae2cd7a7c8bb5015957ed3139f647336e31c9da7ed6fc8aaefe -DIST firefox-128.0.2-pl.xpi 635783 BLAKE2B 7178736bf3f275b96f58a2d6e4d186014d8f6c118933976f0affa77ab8741d475ee5d8e1e2be50b42cdf856a650de5d7dc407b56fbc3cf6d5fcd1da9326ba110 SHA512 14ceb2130817b7121ddff74130fc5562eb3db2c682ef9e0ce6a93448056e3ecb51b8b4732d0ac521caef1abfd075f2ec3c921edb3413acb4e4bee6301c6ab998 -DIST firefox-128.0.2-pt-BR.xpi 622153 BLAKE2B f905d1b1b85a0b09243c55e07a8499496924a096a60e364fc2116de3589bafc74c9fe7b5571a2b33a37763baeaf56d4288d6b56bcd18abe6d2eafd50cb91b1e8 SHA512 f1ac4068bbbc1b69b3c1dcf48c2ac5aab57fd8a5b9aa4dc69764048bbf717a3cb4be80f6c63934888b31bbff258b0df3db442d43059c49adf9f2adb3f6674fed -DIST firefox-128.0.2-pt-PT.xpi 626178 BLAKE2B 99bd66e7df5f04b45aeda24a73d6297045d1b74ed42f64b97c9a0530eada7ba81d6982d759d73ec081604dc21bdfec3d8c9324db03fa1462d878cb4840ecaee8 SHA512 4ce01b1f7e5997f7aac26c85d19dbf42b9613f48c16f220ce4e9743efcc307d40160b747b3d950bcda2dd9dbc8711dc8008410f7fa6473057b60b7ddc2193b2a -DIST firefox-128.0.2-rm.xpi 616896 BLAKE2B 21fec28f71d46da4e8d8b0cea4f71f36eb8834a861476c0412e055ac45d9a198f594cbb13558fec16befdb9e39f749bf03b4363e246d63cc5d6b65b44d80003a SHA512 ddce6a55c62ca5db2a211d901ef89263b59ca2f0cc6f47bab8c75d3d54f0c56b51a4af9d28c5118d61e491073ed270061b244e2f8425e81382b6e985dd650044 -DIST firefox-128.0.2-ro.xpi 549787 BLAKE2B c59eb19419576eb3e00d066ab3e16bee3032dfdbc545bdf0c2bced4abae44e7e23b91e27dd4d1a1035fd6b2cd7bda574025eb37c6d28610c00b5b6253f1c0d56 SHA512 ee4b005ce9350272a97fdefaa5f4494f71789bf9bf0f10b65fe372b8e4b15b0e3ef67c50d1fb3dc9a81eba5736b81b0da11ae4ecd23bf00ced2cfff97815ad94 -DIST firefox-128.0.2-ru.xpi 720396 BLAKE2B 5def2e4198e47073f561e98b1c9fa1506c3a218317224e3f49808db385a0d46f6f55865c34eea746b3ff57e20e2af7be2756db5bc5a5ccec6be489a86db23361 SHA512 e9af6f6c6e11bf5a99d700ef79fc7ce1654598d1976a60c313a8b4daf34ca56cd76cd8c0a0d9cfaa9673257e308b8b968775b893150608d32534c6e65020292f -DIST firefox-128.0.2-sc.xpi 588571 BLAKE2B 216a90e4e65c362587a89f286c46f98298c965f3fbfe8b7354ee637bdf8e5dbd7871d4a0ab17c7a233b3d66932fb0e5a290ca87a5377b3ba5e57f998cb089fc0 SHA512 f991cfc17ef48bf3bb0ca1ff84e045143f71761e112943372b2eb3b60fbd601816b3dd17268abe6bbefbe096815ef5ff40f81426ede2b8b801d1235ba4c7e238 -DIST firefox-128.0.2-sco.xpi 511273 BLAKE2B 6cdf627d130b50fe34e694ffed87079e9cb3fb2e8980e3fd20804a3e3df51d5e016702ed784915ce766c188011de0aeb9d52bbecdb96b2e1c304c44d97e4d13f SHA512 b19ccd202e62ffc767d535e39c0907dbffbb363a5dc15fa7cc5eaf5490e792c62d61aad963d4e85d30a989bd40a5157ebe8325999647619afceb0b8cb5217466 -DIST firefox-128.0.2-si.xpi 611290 BLAKE2B 3ce2931e584a360d57d54e0251f901180eb239714e4f7a0ce49009d9891a4a09db7a908fa938cfa96fc2d463b22baf15a14b86c456e4b05211e8799f6fa33680 SHA512 006c4f44f49c251bbdfdaff2cb7efa4c71778ecf5c2fb445f656778ddb6526a7379a0c49ccbc85beb5359389b6ac4c1d01e8cb30048397b8d3403202bab6bf92 -DIST firefox-128.0.2-sk.xpi 652449 BLAKE2B c36037d61f039d9068ff0c66aaed9b69a26a94ff698219ae3c8ec2d8dfcb8dfd4e3da3b85fb956d65ba01d238fa48cb4b0077f68112db176926a0716cb2b8131 SHA512 4af47add2c882c533005364055b2159304c40d9ad326edef1fa2a8074b8a812ef006bdafe889c8873e7963189a8be6b4bdef7651e528b7aaec9ce4541ccdb874 -DIST firefox-128.0.2-skr.xpi 707651 BLAKE2B 433de08a8966c4a27f9f3163e581afe2407b338f783aadf94dcac5502822c4709b7d3c988e7939e06599b0713a59339aab30b4edd08bf2e07dbea876a5c305f0 SHA512 d0e2369b6ead5d3efd93f38acc789de14b3a1bcb5fd5268cdba2ad185373c642cd066570f8e7e863606f6f6405456251ab87fb26c8433e1ad81bba792eb88098 -DIST firefox-128.0.2-sl.xpi 617397 BLAKE2B ec9870f2cd480592730799c36ce71803b79c6b9c5064ac30c6c5f4867cd537473504397934c400ab1d3bc3cc5d0d714f1e22f20bb4b0a37d3d5f36a76ebfabbd SHA512 5f5a4cf5f45d34dd955c472f88857cc5d9d74d465a3e9ece0bc5348dc47986b3553ae5438cc264c9eecc802eaf7076de9d058d2c10a9524494179571d8d059cf -DIST firefox-128.0.2-son.xpi 416398 BLAKE2B de93bfd8247de56a8cfea897a4f16a48a6e3604cfef8f444371321146c5aa55157446da283bbb0e469611ec5f690f4db3dc1af018fa8d139fcf92ace68901f07 SHA512 d63a93a09152d322d0c3a13b350441f1c4a79e876957cb2f39a92137987d97f8bc8a62e5722d63d8ef69816338cf7114dbae195a3015aa0c3944e40741fa9656 -DIST firefox-128.0.2-sq.xpi 636983 BLAKE2B ac76e97d34464fc918eb7dd1bd3fbc402e436c2b2babd598ea34363ca2dbcb2da734f98dd221d1afcdbb6ed1218a61ec4277ecc27ca16fec19f936ad8d4c6245 SHA512 2c3a3f80449b78626f3792dcbf72d0988a9a1d652397eb26ee38e1d584e3ae9f5f5ebb73736ec09fe0e71a6d0f9b7085441dda65169afdf7cc7daf26d9559a16 -DIST firefox-128.0.2-sr.xpi 639348 BLAKE2B 511045cd5f1fab2a2ad7f177ed6d34749964565ef2fe517e339dff4ab9bff6f6e4b73ba085d50fd059db88329e41fca046674a54d33bda8dc62c62c587ce6f60 SHA512 87fe4b1d9a2dc75d7da73f0901bceda75d7a457187d21b342f1c15323b81606a867cc3fd9828dba906a726d37a08b16e7389f5b398644e650f02790d92258976 -DIST firefox-128.0.2-sv-SE.xpi 619130 BLAKE2B 8450d97879b8a7bb8458e5db08d74e40d2569d36946030a8f7cd41a606c1ab28c569187f737c0b89b8b7f30d6b510e2534c1bee6c8e6210a8b2016f4e6df45df SHA512 e55c08fe1954046be54429ac636d8b2ad1a4885954c4764bcec90dc248588252d9990d60a5a044fdae2fe832e6ea3d3d0ac37c607a12a3b256527bae50c31fbb -DIST firefox-128.0.2-szl.xpi 526396 BLAKE2B 1f0f53683cf94b4eab312dbea3d51e6e8a7d6c970a63bf265c1ba6a86dd82c1b90bacb8400cfc358971e03988c5a09ad4cce76fa8bf1a454a858c40fad3349d1 SHA512 0e61ab5cf6183983978d88a6c389a729f970310f56d2f80b3418b27e03ee1d20c290f341e5cf7ed793fc7fc446f4965c7582e1abb9cb13ffeef8be649585aa55 -DIST firefox-128.0.2-ta.xpi 507516 BLAKE2B 161dcdfb71ba6d202d6eb0b14d991e2482b5fedf8f8e898263b7fb6679d8475c48edeecc67c64bce99ed7f12dca7be1371370e8ad1b484b73196fab837aac924 SHA512 621da90efdb7b103c7b1d65d6ba13256bda9ab044048ad1797d7ea4475d92a6ff94e6dc968ebb2761fc4e4e885b061e5668232c9802986cfad91690090e1e304 -DIST firefox-128.0.2-te.xpi 561040 BLAKE2B e9ad2460cea201e221a2cf7c9f8dd1654e15a68b70469d81ccca2a3b72515fcea1a4ac1c123548930e4920cda03c487720d41a631fa9e7d0e947404afb4c8b9d SHA512 995a070c67288901fbed7127bcdd29c638a6ddbb4759714f12db02de1faa6b257313a43e42543cde0327ba66bc159f4e0f593193a64f0b2476729f3f3236ab9b -DIST firefox-128.0.2-th.xpi 693560 BLAKE2B 528f49ae7010cfdbed672d462e0a3056e20318d25f38b8488ee716ec4c7fc066620073bf83387d975f2a0a366db3d8356946a9041bebae2aea657acd3062fe4f SHA512 0492d89a4c8cf1739fbf80570ba287698def8f1f68afb561e3e3814114b4334ed6c8ecda10af83c2441f803e611ed3c16482af7d491c5f603f892b71a3ed31b2 -DIST firefox-128.0.2-tl.xpi 534188 BLAKE2B a7cab322aa06cf979e70eee61bae68da0fb41f124cb04e8560755f702a7d07b306b0109e0951d4ab981d25dec1f76e80d0082dcc964656a9c1487bf3552d4500 SHA512 29c8e90b7a78ef22be118d873d8039c4ecfc78d74c55256c68f133a6b3359b9cc644308fb59cbe4dbe1807f4672ece3840985cb789a2e81624c39d6e1585f3b0 -DIST firefox-128.0.2-tr.xpi 632457 BLAKE2B c8ab73ec107bf6d27be7cb2dd1f09470858af0e7e3f26b6fd27509cfffa41d00e778fd49647fa21a722777a5b1d336752f3c3f85533a28f8975c4e67c915b988 SHA512 d780c0cafe9c5363a8ba88ce17b8e27882dbdf06de88c27ccfe8e26730b7e3c97f33f2cd6932ac2b255436b6f11949863c59d1e8317bdeb62c4ce1d281cef0ec -DIST firefox-128.0.2-trs.xpi 503976 BLAKE2B fd269cdb2c137a667e35f910c7e57a7e7de3f1825a04107acac02c7974c00afc28b86e633c9c32fd9a0fb5048cb1223c3ee7b4f242c92a373d0b56bb70db9e34 SHA512 81d812870b48a58dd459e736d565b9803ef938b3df3e6179c29cdef024e865867e0bcbfb5bb58b9454f54811bbe9249fad461a0e007e13981ce4f05ad80e9902 -DIST firefox-128.0.2-uk.xpi 707284 BLAKE2B 4c93763d72ede9e4e6b24876137c49b518d3f043c0342cebec3efb6891c465b6f1514402f8ff00c8eadff13abb923a359a126dcb896039f954c4e723ea3762ba SHA512 115063bccdc568ac491b01635eaa3de52cc5170c3ee3d5a5c3504372e8c12398540db8ed8ebe2a24fd2b8e988cd6a0ee0bda36e6f4d286bc7ec07935c7e6cf2e -DIST firefox-128.0.2-ur.xpi 560466 BLAKE2B edf6836aa832240928124c800ede89ff3c175618e83ea15b43f592064c7bd2d9170b98d7e47d17c804829ba931bca66de80ef2d6693740fb2989877f9dbc39e7 SHA512 ae59bdc04ea1672e51549c1b9ea8e53bc7ce6bb27bd71c9957193501dfdf8e8afb7254cc6dea3187ef9a513e295a53e5cf6eeef240cb7e053209a052c23edf90 -DIST firefox-128.0.2-uz.xpi 478778 BLAKE2B e24b137af297d671fc29053684c9b8cc18371ecd46d9a1a729a457a0b257086f8924789cbcae23d1b84662ad06aed89b54a190ffc4c342ee19bc1875471c9f0a SHA512 4429bac7e6ede755afb70b2c5aa6a4ed756dd30ecfc44cb6460ab2525bbc136d65f6403b75faac04c8f13086fcf7009e370af224b12c673663e22b1bccbac12f -DIST firefox-128.0.2-vi.xpi 655572 BLAKE2B 80c6e219491b7b18bc00b79514037fdaa3f65d2b3c04ee2da0fb4c3d809caeb1ecfd75070519d03afb6c2dbe1dc911e474908d527cf08a4ea1a05a9a9d31ce1f SHA512 b80c570c4c486f9862ac483c01d361242810c85494e5479a5a5efc67e517c187119df79945c48b13e2ab7f0f110a36afa77aadc8f40e579eb1b80a751f4e7f77 -DIST firefox-128.0.2-xh.xpi 417171 BLAKE2B d17ad8add3886462206a56df9d528b5c9f4c594010a6ec02fec3a9d402722dd194cc659c9fbd406a7721d36096d5dcceb81ec2e15654efbcdbd649967de35f78 SHA512 7d260721b77e5c8f10a4bff8a604632c616a0988ecd736e275ed602998b01dee8700fa89a5730c5e977aef9ce5178f31f9c19e863850ef10c92c1bd2ef8341f1 -DIST firefox-128.0.2-zh-CN.xpi 657106 BLAKE2B 80a6e21e5ce7ec1fafc164e86f5dbd26ff6a32859df7555a656e1fc5e0fde7bd9b1d72e8ecf1f21b45975c346ae1a6b60098c1476105e9ec2b18ace9c6fdf00e SHA512 330e81c388a15352286d4d16721bdeac018891364b76c4020f251b968d364834f09add1666794d02577cf0feb7454a3a1177b66c30cf9398ddd05d9e73bc0141 -DIST firefox-128.0.2-zh-TW.xpi 659230 BLAKE2B 1d11133f2e6900f6cfb00ba75bfa84c29382c700cdb8be49df1e9aa7a6ea11da3a52396ab2245cb49c705757afa791e691195785387621050132ab573a1dda4d SHA512 8955f84ada33a73b8303efdc4e0bc61dc07d8a2702bbd7bc514d1b516778bf1d1ca568676e06957c560cb78b27b3011cbe1c2e96b6a630e01f8eccc98cf0a3c8 -DIST firefox-128.0.2.source.tar.xz 562183904 BLAKE2B 38beef8eda209f87d2e7fc02dc11bf77794b3fdf94878dc25b1a95e88b8f7ddbdb3e9528cc6be74b74953e165b64664a90e10fe87559e3c2e67142f9e5a367a3 SHA512 e5c38fa3adf26f5f072b6dfe5955004e67f576dc67ef68348d58fa0ac13bd3c7764e9289dfcadb2bbe034188bf296267d74fde13fb9b53beb5421245fee69da1 DIST firefox-128.0.3-ach.xpi 464070 BLAKE2B bd1e92adb3cb6f1f4f61e9c1a168190c26972ef846fcf45cd14e7f29d6b5940611d6348fd6b3815f356f80bc9ccf5143775fc602cbb2035ab33bd77391721139 SHA512 8ad9af4e2c693130d471f8bd99f32579cef658317dccb821521069c130647ec7e7a0cfac9d8d82c8f3e3600f22e080ec4174bd8bf7f7cab6107a6a0ecad1936b DIST firefox-128.0.3-af.xpi 417515 BLAKE2B 45b368d5bdbabeab7cace3e29dfad7d2cf4957fbba446a9ace922c0f6cb0683de1d634a9146dda7367a376b6802d6579d2f0ef1095bda24886a3fdae87dd6ad5 SHA512 a7d2ee5bed99cc18ed47be14c0421d84a815af7f870b4307517f9ae3929c81d6f2f7d646aedef11a3f91143aeaabd57a7f2386e92bd6e176849356690ba009ce DIST firefox-128.0.3-an.xpi 505881 BLAKE2B 0f9ecd72aa5b4bd5af3a659002b9956bf9bcfdb3a709b5f698afaf393e6426b3606ad6140b861e5740edf40910b9d1d07dc6eb092cfb1d742b07dab209803295 SHA512 b3d16a753b587acddda69fe1e55967c88ccb3624a603be4030c78048385aaeba74f9b2379bba447a5e0495f3d1942fbd6f5ad6c41ce2080ba762493036528266 @@ -402,4 +201,3 @@ DIST firefox-128.0.3-xh.xpi 417171 BLAKE2B 9e0f3da87a68da99ca52353ba8caccf0993ef DIST firefox-128.0.3-zh-CN.xpi 657105 BLAKE2B 85d43be34cdff7ba76c8b9d7466678904b913593abaa4538221a805d59012cc9d4923750d41302057dc768b59a21ad8ea9af367af91c85924368821f303a7036 SHA512 8ff9a0c898c344182c1e0eca16b3adb47fea59c47a71ce5e1fa12ef02275e9204919eeec552641973704bc4e20b5f405bf6152192f4fce9d756c975b67bcb5e0 DIST firefox-128.0.3-zh-TW.xpi 659225 BLAKE2B 5f7cfc5d21e1a98396259b46c28ca5531fc50e0fb0b78000915ccd7c97c1885aa53866248a9d8f0134f706bd5a920c63a11937dea304eb7b6c8b5dd00d9370fd SHA512 3afcf932e426fd3673f90fd1f8fb7f974f03d1821da6907768d50f755c5e59a0c80564ba7884a925d07ca2f53ee3980f11e802723c2a07dcc1c731aa650456bf DIST firefox-128.0.3.source.tar.xz 563698520 BLAKE2B b717044fb0af090cca8adb03eddf9d1ba7b2e46c25d78de7aa36298d3b6466cf57b0a1c6c72ae369c5fc3484b9da9a79b902529350f3329b5f7254386dac9271 SHA512 52a0a1a6fa653f5a621a9e16e1937760c05a5ebc81a058ecc16b2c3d29d09d418dc5129deabed86ad2f82abdb3100969478a67f48b11616dc3b3e3698a1acf51 -DIST firefox-128.0.source.tar.xz 560761840 BLAKE2B a50c7ded69d86c9d45475e701f83295ab6ccfc4eb59d9c91379504bc35dd0e7e1fb59e8c7737684709fe62969b9762e2960fa90607c83f9e8d637b78e60f56b3 SHA512 309c0e2a0bea5699e6daf4fa02300ad7fd118d2c02c35cb5fa97a5fcc6e250cc7aec34e50fe872b8fd516436bfcfe37ddf33c9d0f9291860388cd6f3f08ea9f1 diff --git a/www-client/firefox/firefox-128.0.2.ebuild b/www-client/firefox/firefox-128.0.2.ebuild deleted file mode 100644 index bb58710aa6dc..000000000000 --- a/www-client/firefox/firefox-128.0.2.ebuild +++ /dev/null @@ -1,1403 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128-patches-05.tar.xz" - -LLVM_COMPAT=( 17 18 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -MOZ_ESR= - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="${PN%-bin}" -MOZ_P="${MOZ_PN}-${MOZ_PV}" -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" - -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -DESCRIPTION="Firefox Web Browser" -HOMEPAGE="https://www.mozilla.com/firefox" -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" -S="${WORKDIR}/${PN}-${PV%_*}" -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -SLOT="rapid" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" - -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" -IUSE+=" jack +jumbo-build libproxy lto openh264 pgo pulseaudio sndio selinux" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp" -IUSE+=" +telemetry valgrind wayland wifi +X" - -# Firefox-only IUSE -IUSE+=" +gmp-autoupdate" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - wayland? ( dbus ) - wifi? ( dbus )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - !www-client/firefox:esr - selinux? ( sec-policy/selinux-mozilla )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - clang? ( - sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} - ) - pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=dev-util/cbindgen-0.26.0 - net-libs/nodejs - virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) - 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-gfx/graphite2-1.3.13 - >=media-libs/harfbuzz-2.8.1:0= - ) - system-icu? ( >=dev-libs/icu-73.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) - system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) - system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) - system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) - system-webp? ( >=media-libs/libwebp-1.1.0:0= ) - valgrind? ( dev-debug/valgrind ) - wayland? ( - >=media-libs/libepoxy-1.5.10-r1 - x11-libs/gtk+:3[wayland] - ) - wifi? ( - kernel_linux? ( - net-misc/networkmanager - sys-apps/dbus - ) - ) - X? ( - virtual/opengl - x11-libs/cairo[X] - x11-libs/gtk+:3[X] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/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 - )" - -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or -# overridden in the enviromnent (advanced hackers only) -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) -fi - -llvm_check_deps() { - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang && ! tc-ld-is-mold ; then - if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then - einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use pgo ; then - if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then - einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -# Firefox-only LANGS -MOZ_LANGS+=( ach ) -MOZ_LANGS+=( an ) -MOZ_LANGS+=( az ) -MOZ_LANGS+=( bn ) -MOZ_LANGS+=( bs ) -MOZ_LANGS+=( ca-valencia ) -MOZ_LANGS+=( eo ) -MOZ_LANGS+=( es-CL ) -MOZ_LANGS+=( es-MX ) -MOZ_LANGS+=( fa ) -MOZ_LANGS+=( ff ) -MOZ_LANGS+=( fur ) -MOZ_LANGS+=( gn ) -MOZ_LANGS+=( gu-IN ) -MOZ_LANGS+=( hi-IN ) -MOZ_LANGS+=( hy-AM ) -MOZ_LANGS+=( ia ) -MOZ_LANGS+=( km ) -MOZ_LANGS+=( kn ) -MOZ_LANGS+=( lij ) -MOZ_LANGS+=( mk ) -MOZ_LANGS+=( mr ) -MOZ_LANGS+=( my ) -MOZ_LANGS+=( ne-NP ) -MOZ_LANGS+=( oc ) -MOZ_LANGS+=( sc ) -MOZ_LANGS+=( sco ) -MOZ_LANGS+=( si ) -MOZ_LANGS+=( 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}" -} - -# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily -# placed here until toolchain-funcs.eclass gets an official support for mold linker. -# Please see: -# https://github.com/gentoo/gentoo/pull/28366 || -# https://github.com/gentoo/gentoo/pull/28355 -tc-ld-is-mold() { - local out - - # Ensure ld output is in English. - local -x LC_ALL=C - - # First check the linker directly. - out=$($(tc-getLD "$@") --version 2>&1) - if [[ ${out} == *"mold"* ]] ; then - return 0 - fi - - # Then see if they're selecting mold via compiler flags. - # Note: We're assuming they're using LDFLAGS to hold the - # options and not CFLAGS/CXXFLAGS. - local base="${T}/test-tc-linker" - cat <<-EOF > "${base}.c" - int main() { return 0; } - EOF - out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) - rm -f "${base}"* - if [[ ${out} == *"mold"* ]] ; then - return 0 - fi - - # No mold here! - return 1 -} - -virtwl() { - debug-print-function ${FUNCNAME} "$@" - - [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" - [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" - tinywl -h >/dev/null || die 'tinywl -h failed' - - local VIRTWL VIRTWL_PID - coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } - local -x WAYLAND_DISPLAY - read WAYLAND_DISPLAY <&${VIRTWL[0]} - - debug-print "${FUNCNAME}: $@" - "$@" - local r=$? - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- - return $r -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has userpriv ${FEATURES} ; then - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - check-reqs_pkg_setup - - llvm-r1_pkg_setup - - if use clang && use lto && tc-ld-is-lld ; then - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" - - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" - - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" - eerror " - Build ${CATEGORY}/${PN} without USE=lto" - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " - eerror " llvm/clang/lld/rust chain depending on your @world updates)" - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" - fi - fi - - python-any-r1_pkg_setup - - # Avoid PGO profiling problems due to enviroment leakage - # These should *always* be cleaned up anyway - unset \ - DBUS_SESSION_BUS_ADDRESS \ - DISPLAY \ - ORBIT_SOCKETDIR \ - SESSION_MANAGER \ - XAUTHORITY \ - XDG_CACHE_HOME \ - XDG_SESSION_COOKIE - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if use pgo ; then - # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure - # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage - # (PORTAGE_SCHEDULING_POLICY) update... - addpredict /proc - - # 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 - - CONFIG_CHECK="~SECCOMP" - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." - linux-info_pkg_setup -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - unpack ${_src_file} - fi - done -} - -src_prepare() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # 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" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - 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 - moz_clear_vendor_checksums proc-macro2 - - # 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-wmf \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - # bug 833001, bug 903411#c8 - if use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - elif use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly - # Can be removed once upstream enable it by default in the future. - use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - mozconfig_use_enable valgrind - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - 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 - - # LTO is handled via configure - filter-lto - - if use lto ; 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 - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # lld is upstream's default - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - fi - - else - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd - fi - fi - fi - - 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*' - - # Modifications to better support ARM, bug #553364 - if use cpu_flags_arm_neon ; then - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \ - --with-thumb=yes \ - --with-thumb-interwork=no - fi - fi - - if [[ ${CHOST} == armv*h* ]] ; then - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard - - if ! use system-libvpx ; then - sed -i \ - -e "s|softfp|hard|" \ - "${S}"/media/libvpx/moz.build \ - || die - fi - fi - - # 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 ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - # Additional ARCH support - case "${ARCH}" in - arm) - # Reduce the memory requirements for linking - if use clang ; then - # Nothing to do - :; - elif use lto ; then - append-ldflags -Wl,--no-keep-memory - else - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads - fi - ;; - esac - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - if use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # Allow elfhack to work in combination with unstripped binaries - # when they would normally be larger than 2GiB. - append-ldflags "-Wl,--compress-debug-sections=zlib" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - 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 tc-ld-is-mold && use lto; then - # increase ulimit with mold+lto, bugs #892641, #907485 - if ! ulimit -n 16384 1>/dev/null 2>&1 ; then - ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - if use pgo; then - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - - if ! use X; then - virtx_cmd=virtwl - else - virtx_cmd=virtx - fi - fi - - if ! use X; then - local -x GDK_BACKEND=wayland - else - local -x GDK_BACKEND=x11 - fi - - ${virtx_cmd} ./mach build --verbose || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - - # 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 - - # 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" - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" - local desktop_filename="${PN}.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" \ - || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" \ - || die - - readme.gentoo_create_doc -} - -pkg_preinst() { - xdg_pkg_preinst - - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse - # does not need to be forced into the LD_LIBRARY_PATH - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - einfo "APULSE found; Generating library symlinks for sound support ..." - local lib - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do - # A quickpkg rolled by hand will grab symlinks as part of the package, - # so we need to avoid creating them if they already exist. - if [[ ! -L ${lib##*/} ]] ; then - ln -s "${lib}" ${lib##*/} || die - fi - done - popd &>/dev/null || die - fi -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - elog "Apulse was detected at merge time on this system and so it will always be" - elog "used for sound. If you wish to use pulseaudio instead please unmerge" - elog "media-sound/apulse." - elog - fi - - # 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-128.0.ebuild b/www-client/firefox/firefox-128.0.ebuild deleted file mode 100644 index f4a6fa3babc7..000000000000 --- a/www-client/firefox/firefox-128.0.ebuild +++ /dev/null @@ -1,1402 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128-patches-05.tar.xz" - -LLVM_COMPAT=( 17 18 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -MOZ_ESR= - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="${PN%-bin}" -MOZ_P="${MOZ_PN}-${MOZ_PV}" -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" - -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -DESCRIPTION="Firefox Web Browser" -HOMEPAGE="https://www.mozilla.com/firefox" -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" -S="${WORKDIR}/${PN}-${PV%_*}" -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -SLOT="rapid" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" - -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" -IUSE+=" jack +jumbo-build libproxy lto openh264 pgo pulseaudio sndio selinux" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp" -IUSE+=" +telemetry valgrind wayland wifi +X" - -# Firefox-only IUSE -IUSE+=" +gmp-autoupdate" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - wifi? ( dbus )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - !www-client/firefox:esr - selinux? ( sec-policy/selinux-mozilla )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - clang? ( - sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} - ) - pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=dev-util/cbindgen-0.26.0 - net-libs/nodejs - virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) - 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-gfx/graphite2-1.3.13 - >=media-libs/harfbuzz-2.8.1:0= - ) - system-icu? ( >=dev-libs/icu-73.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) - system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) - system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) - system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) - system-webp? ( >=media-libs/libwebp-1.1.0:0= ) - valgrind? ( dev-debug/valgrind ) - wayland? ( - >=media-libs/libepoxy-1.5.10-r1 - x11-libs/gtk+:3[wayland] - ) - wifi? ( - kernel_linux? ( - net-misc/networkmanager - sys-apps/dbus - ) - ) - X? ( - virtual/opengl - x11-libs/cairo[X] - x11-libs/gtk+:3[X] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/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 - )" - -# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or -# overridden in the enviromnent (advanced hackers only) -if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then - MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) -fi - -llvm_check_deps() { - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang && ! tc-ld-is-mold ; then - if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then - einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use pgo ; then - if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then - einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -# Firefox-only LANGS -MOZ_LANGS+=( ach ) -MOZ_LANGS+=( an ) -MOZ_LANGS+=( az ) -MOZ_LANGS+=( bn ) -MOZ_LANGS+=( bs ) -MOZ_LANGS+=( ca-valencia ) -MOZ_LANGS+=( eo ) -MOZ_LANGS+=( es-CL ) -MOZ_LANGS+=( es-MX ) -MOZ_LANGS+=( fa ) -MOZ_LANGS+=( ff ) -MOZ_LANGS+=( fur ) -MOZ_LANGS+=( gn ) -MOZ_LANGS+=( gu-IN ) -MOZ_LANGS+=( hi-IN ) -MOZ_LANGS+=( hy-AM ) -MOZ_LANGS+=( ia ) -MOZ_LANGS+=( km ) -MOZ_LANGS+=( kn ) -MOZ_LANGS+=( lij ) -MOZ_LANGS+=( mk ) -MOZ_LANGS+=( mr ) -MOZ_LANGS+=( my ) -MOZ_LANGS+=( ne-NP ) -MOZ_LANGS+=( oc ) -MOZ_LANGS+=( sc ) -MOZ_LANGS+=( sco ) -MOZ_LANGS+=( si ) -MOZ_LANGS+=( 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}" -} - -# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily -# placed here until toolchain-funcs.eclass gets an official support for mold linker. -# Please see: -# https://github.com/gentoo/gentoo/pull/28366 || -# https://github.com/gentoo/gentoo/pull/28355 -tc-ld-is-mold() { - local out - - # Ensure ld output is in English. - local -x LC_ALL=C - - # First check the linker directly. - out=$($(tc-getLD "$@") --version 2>&1) - if [[ ${out} == *"mold"* ]] ; then - return 0 - fi - - # Then see if they're selecting mold via compiler flags. - # Note: We're assuming they're using LDFLAGS to hold the - # options and not CFLAGS/CXXFLAGS. - local base="${T}/test-tc-linker" - cat <<-EOF > "${base}.c" - int main() { return 0; } - EOF - out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) - rm -f "${base}"* - if [[ ${out} == *"mold"* ]] ; then - return 0 - fi - - # No mold here! - return 1 -} - -virtwl() { - debug-print-function ${FUNCNAME} "$@" - - [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" - [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" - tinywl -h >/dev/null || die 'tinywl -h failed' - - local VIRTWL VIRTWL_PID - coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } - local -x WAYLAND_DISPLAY - read WAYLAND_DISPLAY <&${VIRTWL[0]} - - debug-print "${FUNCNAME}: $@" - "$@" - local r=$? - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- - return $r -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has userpriv ${FEATURES} ; then - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - check-reqs_pkg_setup - - llvm-r1_pkg_setup - - if use clang && use lto && tc-ld-is-lld ; then - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" - - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" - - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" - eerror " - Build ${CATEGORY}/${PN} without USE=lto" - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " - eerror " llvm/clang/lld/rust chain depending on your @world updates)" - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" - fi - fi - - python-any-r1_pkg_setup - - # Avoid PGO profiling problems due to enviroment leakage - # These should *always* be cleaned up anyway - unset \ - DBUS_SESSION_BUS_ADDRESS \ - DISPLAY \ - ORBIT_SOCKETDIR \ - SESSION_MANAGER \ - XAUTHORITY \ - XDG_CACHE_HOME \ - XDG_SESSION_COOKIE - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if use pgo ; then - # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure - # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage - # (PORTAGE_SCHEDULING_POLICY) update... - addpredict /proc - - # 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 - - CONFIG_CHECK="~SECCOMP" - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." - linux-info_pkg_setup -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - unpack ${_src_file} - fi - done -} - -src_prepare() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # 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" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - 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 - moz_clear_vendor_checksums proc-macro2 - - # 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-wmf \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - # bug 833001, bug 903411#c8 - if use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - elif use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly - # Can be removed once upstream enable it by default in the future. - use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - mozconfig_use_enable valgrind - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - 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 - - # LTO is handled via configure - filter-lto - - if use lto ; 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 - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # lld is upstream's default - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - fi - - else - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd - fi - fi - fi - - 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*' - - # Modifications to better support ARM, bug #553364 - if use cpu_flags_arm_neon ; then - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \ - --with-thumb=yes \ - --with-thumb-interwork=no - fi - fi - - if [[ ${CHOST} == armv*h* ]] ; then - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard - - if ! use system-libvpx ; then - sed -i \ - -e "s|softfp|hard|" \ - "${S}"/media/libvpx/moz.build \ - || die - fi - fi - - # 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 ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - # Additional ARCH support - case "${ARCH}" in - arm) - # Reduce the memory requirements for linking - if use clang ; then - # Nothing to do - :; - elif use lto ; then - append-ldflags -Wl,--no-keep-memory - else - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads - fi - ;; - esac - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - if use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # Allow elfhack to work in combination with unstripped binaries - # when they would normally be larger than 2GiB. - append-ldflags "-Wl,--compress-debug-sections=zlib" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - 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 tc-ld-is-mold && use lto; then - # increase ulimit with mold+lto, bugs #892641, #907485 - if ! ulimit -n 16384 1>/dev/null 2>&1 ; then - ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - if use pgo; then - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - - if ! use X; then - virtx_cmd=virtwl - else - virtx_cmd=virtx - fi - fi - - if ! use X; then - local -x GDK_BACKEND=wayland - else - local -x GDK_BACKEND=x11 - fi - - ${virtx_cmd} ./mach build --verbose || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - - # 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 - - # 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" - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" - local desktop_filename="${PN}.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" \ - || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" \ - || die - - readme.gentoo_create_doc -} - -pkg_preinst() { - xdg_pkg_preinst - - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse - # does not need to be forced into the LD_LIBRARY_PATH - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - einfo "APULSE found; Generating library symlinks for sound support ..." - local lib - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do - # A quickpkg rolled by hand will grab symlinks as part of the package, - # so we need to avoid creating them if they already exist. - if [[ ! -L ${lib##*/} ]] ; then - ln -s "${lib}" ${lib##*/} || die - fi - done - popd &>/dev/null || die - fi -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - elog "Apulse was detected at merge time on this system and so it will always be" - elog "used for sound. If you wish to use pulseaudio instead please unmerge" - elog "media-sound/apulse." - elog - fi - - # 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 -} |