commit: f067d32d0c30d5f7d6e86ea1233325510898f2cf
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed May 28 09:03:58 2025 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed May 28 09:07:28 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f067d32d
www-client/firefox: add 128.11.0
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
www-client/firefox/Manifest | 101 ++
www-client/firefox/firefox-128.11.0.ebuild | 1380 ++++++++++++++++++++++++++++
2 files changed, 1481 insertions(+)
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index c350f35ee166..b3f729eb1550 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -99,6 +99,107 @@ DIST firefox-128.10.1esr-xh.xpi 452428 BLAKE2B
ccb66d656fa2b733da41baeaf42dd8764
DIST firefox-128.10.1esr-zh-CN.xpi 686333 BLAKE2B
a5c159264033d784c99507b8d12e5e3504a6b8a2b547ec17cf2e669544b67a4245a6c2814c20af660a6045b8268a9bf994f8250996f062d21d505580696111b4
SHA512
8af1272402a96d3d472dac8630e6ac7ef1b55e53dcb6dfee20aceb083294aceaf50ed3b7d394a19168c5314dc736da1a8d7f14754c827b65da5b93fb32e4f871
DIST firefox-128.10.1esr-zh-TW.xpi 689143 BLAKE2B
9842f49e40646d41b2222c099eb271ab5b59af365a4616be84c11e18ff8451e04f2505c2f1b4f01468b77f46d6ac88bbc1fc8c00c243a9b4c1e2c55fa1148bc2
SHA512
3ebc37ff47f6c78a0a86d8d024520c8251ea821952244e227a6184ce102507dde5f9323f40ded01220a6c480ff7296d8d89ab44a5561f8863ae00155f7749d98
DIST firefox-128.10.1esr.source.tar.xz 568752664 BLAKE2B
6fe2da50fcc49ecd1304bd167fd73dad312ae9364ba7a33fe9216cb4fcdb6f806f637dd6aa8857516fd516366c31e19a6120c56c6568f20b2eb87bb6b5b84fff
SHA512
6e7363d8cbecda1cedaf534ac10dc046b5f515399ec754492357e8a558c61ee3389f7bb90aa929dbcb4d6eba041ae1e778a0a8f90aa1e1f939eea517333b6c45
+DIST firefox-128.11.0esr-ach.xpi 482256 BLAKE2B
a05daae8a4341e986aac6afb7ad09c8ff2f162e463574d25ba9d4cf46837094c0608a29574d0db58927b726d7dd72b0e1fe3e730786fef862dee5cfd12586b98
SHA512
7108ab823be6828f3469452d3d1f93d93663135bd5cc659f8491e2b345b5d4cfa12d1df92f9454d81d43a2c42ca9b9d185ef7e6a87963a649da293582faf5dfb
+DIST firefox-128.11.0esr-af.xpi 446599 BLAKE2B
04a38f557c66b491316fa80356842dc4e0ce47ce5ea84fc022e91924a9376c11c9daaae956e3476cc4e0ec7be892f080f2c4b35e30b920ea9dcdc3d42ee90daa
SHA512
619534f1d14385f17e19fe6d3cc13324cc998b16cbd5f3a40d2e25d134e686c7ea9c48f5549756b20d2be327a6b447c59be593685b12be76c6be9c25f6e8b4d3
+DIST firefox-128.11.0esr-an.xpi 526060 BLAKE2B
82039e6641f2923dee34e2b325dd31e17c51dd17f7b00c152b10c27a8f20fa3918fdca33330c7e171c0f1e498d0d1b1a5d54f2e227996c5fa6d381cb3b1e6a54
SHA512
30750127514b0d990d9e69d1c499e4389e0793117ea9b5343cc36037f3d08d40577a1e2d34b325a1e3617640490e3864a93a612a3f6ea38f267f3b6c4d399f97
+DIST firefox-128.11.0esr-ar.xpi 650458 BLAKE2B
68d976b5917f079c62de907236e009a022bb1b38227199a66634a100133729ec7a1e1a8bff706a57ed724663e0cd42134ebfcaa6f6219bd0d2c99eb5ca666512
SHA512
bf5714a1d76e911fe6b45516b316fd8091f74873267795119f166517a52bc3ba738052417d3e9a10f2b30901f86668a92cb563ca51cdeeddbdf863183d7a5f40
+DIST firefox-128.11.0esr-ast.xpi 508570 BLAKE2B
3e4187cd4caefa80806c1d9c5e40f9f719d63958e3c591c1fb48f3ed7a89c0d18bad7dfdbbf5ae733b723fa3049e44e39e64f59d7a0e5770d004e6bd2d6b22c4
SHA512
1e3ebe4a9c74c75e0d9afa2af8e7e0a78ef6bc0e204f8d90fa93fb1f98fad39be235b09f91479de820de4f5ffef7304fc3dd983bcb5103d197fc34f96a7616e5
+DIST firefox-128.11.0esr-az.xpi 509830 BLAKE2B
42eb0250a76091b37b0b404e16df09b3bee038b2f8276665480e7ac0f828ad8d84183e0e04aa0ef94c83bf5de235965d36aafa3c6f54fd1007e67d4ed468302a
SHA512
c518e75771b7aa999fb5325a7b6bbf049cc4c745f85011b27624df1d965d9dc056664c1e376c271594117de9e6fb1ba7efebcd6f92db616cd966fcd8d46405e3
+DIST firefox-128.11.0esr-be.xpi 748087 BLAKE2B
a1c1215a87268179e99fb6c7069e4dd93f21de1e6f0f3f2d1f13d25c5e288956540c629fd5950bdf09be2e962ec5a9781460995c5f749e3b5bcc41772a13cded
SHA512
8f56bc747305e63cf8fd087e11a9950b91521d0fdec8a9ffc31e9036d27d4e1c29726b2d0d9e0e194f7ece35c9b79a34354bbe0ff271a4d1378a25384a502431
+DIST firefox-128.11.0esr-bg.xpi 672059 BLAKE2B
51339b35fb53a5f3063ebc9b438c04dea850798cb99bfdd8cf0027997a88f6daec2471e7928905ddf36f18d60e35aecdc3827b28753dac07ead4916d2232b53a
SHA512
c4a247787693185d0e04b95f590e1f952c4809207634fff063f78f2adb0a7dbbb4442ae9e98468960a3f8d0b1d6a85253b97db07cbcd3ea4c193f8fa86400ff7
+DIST firefox-128.11.0esr-bn.xpi 624740 BLAKE2B
87c400ada6d88e0b8b67849027febeb40f771e53c669ea90393469b8c8da0d194632cfbaa1edce3888afce3ecaf93e7afc99bdbccb8681de65c716dfb9caa9ec
SHA512
cce6d14328117bf040fefad12b46d94aa370864ee342d09c9ddab8e08f8a1f8bf1ff8f2c87378a834ad19361caa9c8beeab5b375bc22cd173cc59e03a3030e41
+DIST firefox-128.11.0esr-br.xpi 598744 BLAKE2B
f70eb975c8fa31ea95cbaada107e1ce2ba58b4d4d9ffa4fffbe5127488664f92831f4990325c4cabd0872bbf211b51a20cc2b924642f26a0c65139a0a5518ec3
SHA512
1de468c7f84f7284e016ae10f10c6747f943261c63f5f1cd192bded39ccb38379058512fc6e1bcc7dbc7a334d8577d294825c1000a7e00b01b585ed267b3a3ed
+DIST firefox-128.11.0esr-bs.xpi 566001 BLAKE2B
17cf1d7efce9a208c457c2f2925a02d325ae4ffa935ce686e269759d47be177ad9228730c09bf9c2d6e0b1ad3dbdd4ab2527c1a6e8fb13e6896deb7e8b7dd563
SHA512
ed2ffcc1e734defc2d5c5cb71cca9736fc6e7200671ac21b60de13fe9dd83ff064b949d73f26e272a2843eecd029f502c0730ee38b7331ddeca51ec0b9d5624f
+DIST firefox-128.11.0esr-ca-valencia.xpi 561161 BLAKE2B
8b6694c587010299e4fff1948c3525fa186a3fedda906ee555736ad4ef00880a5720bd8b54e769f927662730bdfb67f2345ddd488fb2c5785cbced0b669b1716
SHA512
ece86b19da7f1d528c78880ccf689e21e04488bebcaffbc0653bd070c440fa95eb0aaeecbcecd64585ef021a8144cbcd216da6889e19ce0923bb98797c5cb02f
+DIST firefox-128.11.0esr-ca.xpi 609960 BLAKE2B
6eb3297a9ab80c84b13d4221e300e59bd5f9a7f00f480191d3c9fa8f59fa0c4cd395c969ce2b9b7e6c3d448300961676541c3c71d9de101493d782fb22ad2ec8
SHA512
908eedbffd04b93c193e96c9062204f0636b21018ffefcf40b4c009aa6a6f9c2deabdcc0f4523d7ac7bc99533719c5a69ae8b5b973cfe5a36b9472191ce26f80
+DIST firefox-128.11.0esr-cak.xpi 601483 BLAKE2B
716cc8beaa267ac27f08fc9ce592971c9c7a4146895a2500d4ca6f001294bee3471d44631866e0dcedf5ada07bb44b8403e21c468bcf70a2c729bb667802aebb
SHA512
3020f8fcce6858bf5c4f70bbb092fbc037121d5aa824aff617748e18554b1596081524c4f44afd34ee873ca0fb906cc1839795b44b5f86aadfef51d965ef1256
+DIST firefox-128.11.0esr-cs.xpi 690633 BLAKE2B
268b67eeb84615bd70cc9236671e0ad7b6b7c8c526863ea25e4ea82de18589b0866a4d93a7fee245e95cd9442c6e7a7d894a3f2c4fe5b53e250a1dac31ab3743
SHA512
357d99e358814b948aa02f076014948330fafc9f1803a7747d7e89b061d2f5088f280e447d685a30d741acc3b1def962c690d3fb1af8d794cc42d05c44ea0ce8
+DIST firefox-128.11.0esr-cy.xpi 650603 BLAKE2B
2bb7986416f0e042fc9810bea033b793b3fe20766e3b5043a7d3f4a49530a20e56f25ad274737de7d82cd7dd419a49da6d2a76f98ff4f0573e5e68cad12192bb
SHA512
1f16e221de41e0989a84338e20285b66b104e86caae88902e56c2adbea80ac56badea5bd3dd85eb37498e07106186a3a08dc10a38d1d28247394983ba718e33e
+DIST firefox-128.11.0esr-da.xpi 638633 BLAKE2B
dbfb22e2185c452796809028cd1c98a2b30d34e9ac197fe467e3fc1d22028b7e3aa6eb64798256d37696d7b50abfb242a6e2e58e9f8a006b258d6d58e0eb1870
SHA512
f5332f2d3f35cbc160f30f630f875d7231c5a63d143f260207995bf70f2275fa77dabb2248edb1c25498a922ca4f8b05743e564c1d7216b6ce46dc7fdafea8cf
+DIST firefox-128.11.0esr-de.xpi 663133 BLAKE2B
a935ac10614171bdf1bc51bb3a3d78dcd6a1c4772138b9440a30881abbaf436cee24e71f1ba6c119a0915dd38794c75079697130d456470917e39af9e4a8e7d2
SHA512
70595a0ab3780bfcd248f9999b3eccd7da8b4bdd316c537939bfdeaf4e3d054f68e40474a5d24cccdf39da2db2bab7173c7f8a3d204909ca66d374f36c41d615
+DIST firefox-128.11.0esr-dsb.xpi 679867 BLAKE2B
ba41640c5b6d4ebc2e967810dfb2d2c87d6bf9f09acd2094d28fd793360f16fd320be065d1fcff37bed962e376e9a3910f66e9c60fb9b52f4bf2356ae8ce887e
SHA512
edba7ec3f56f95affe155500795d796c850fb20bfc4fa9215af42c81eb07b86f3cf72d947f3f40df73312575a4af8980027a2f97a50064893696ed66c2741b34
+DIST firefox-128.11.0esr-el.xpi 764557 BLAKE2B
c8bf2cce62e12250956dcf0168747744d91e7728592f016a95c29efaed0427d503a146bceb5f80bd69232374b1de2c328b7fdbd0f98a150d08ec13112d213f2d
SHA512
04846e2a39d76705317b45134a717d7df4c27c02f2bd2c614ec3d3f1598c35ea8ec7cafe9cc22ccdd478c87f1b97932ea25e0f51840db9f1524488972078326d
+DIST firefox-128.11.0esr-en-CA.xpi 610424 BLAKE2B
5000d2fb4558b6d5cc908632b46a814b9370fb5cc746b8305a71fe1ab489cdd2ad181008a8847ac2bedc7132a91c89bbdaaa8adf4df8d91f2c911a79965d60c3
SHA512
a12c66b7bf222c3a08c99b9dc191c0a4d35c95db0a73fe6e24afa2a37705c0741dfc267870398a3ea1789d4ef9e72cd828f373ab2e5f84c685eb69d157550164
+DIST firefox-128.11.0esr-en-GB.xpi 610787 BLAKE2B
26f590d820166f637fd7c9fd6e21f7a17c78eb94402a8cbe97c9adc36db9285f2a5bcc36de70402ab15a23d8d3d4f66c86fcc58b68d7bcdbbb87b52155a6bc4b
SHA512
f6faf075ac693b0fec676dcd0958e640bc51a3711dc7042ebe313214e0e8008ac52f0e0692fbf8b5a9b8a2ddc197c3301c26e71d23f38281eb895ef87b944a0b
+DIST firefox-128.11.0esr-eo.xpi 643532 BLAKE2B
f011f97a4536e928a64af3d8b4e0577ac4903390f1e59f067678be7c1a3dbeefc62a0ab82aa8185df3bbb136be0fa5b98bf0f76d518d161233503f1ca361d7a9
SHA512
9a556ccd28ece2afceca2146731f8a9430d489dc1e03feb2daa6a2ffea5ccaf657b210d04025acc27d9f25efef6c722fbf8f2cf00a70dd611545434ec5d2841b
+DIST firefox-128.11.0esr-es-AR.xpi 655629 BLAKE2B
dfd26e66ec2e9a55405a82133e51d9c816d87b944193b2b6938b7523b0029d43604e3dfa5c9c0e4b5618dc8552adbca583222d073c1d0dd174e6e63ce1df8250
SHA512
82e240ceb29a4ef47577a8e5a53a4444ea497ed14c6df49659c620698c6d5c3497bf1a3dce588eb0b3bb7b7ec54bc92779aa8de4c593d0dfaddd5d5b70fcb2fb
+DIST firefox-128.11.0esr-es-CL.xpi 656067 BLAKE2B
d43dd2cb3a7aebe5ef3d0c87ffc0c9df73c06a51d960eb610c2188b80eb85d4256dd2655e8336ada41005fe93fde7b037d2b21d2fc6198bc13efd706148cdd80
SHA512
5646982caba0d641f709f6fbf49d90988a0bf35faaaa6ded22164f424c0a10d0e8a62a0317e8c1d1a5e8fd47ef27ab2d5f0cde2c1a3f663938169ba0600a1618
+DIST firefox-128.11.0esr-es-ES.xpi 655189 BLAKE2B
9575f2f008358be08c9f79ee5a5285571e7be1cb20e65413f00ea07507998de38565af272b2de30a2dbdd51c05276b41b7f17161349d168a74c42da4fffc036e
SHA512
84fefb17f472a221ba20f693ecb2e4d5d153715dd574a7c82311d754e6683fd81dc326e7fe28b6d6659801ab93cb5e26aa6459d01b0b2b4cc9d455a95fc66f39
+DIST firefox-128.11.0esr-es-MX.xpi 657404 BLAKE2B
2cd820b3bda905932d5f5ee401c58e53bb97b78fef0f912f023a64ad6edbf05330abb3256fa0fd7ecdcd293bd584677bcb618f538727759682702c9f33f7f16b
SHA512
9fbc630b04e13d15cc95a5a383f5cfa1296326d79d29fa90c9c5e1f99005ae594c088f46951b54fe987b0c4cf33cede7669c765cdc06e84cedaa9498577235e5
+DIST firefox-128.11.0esr-et.xpi 556262 BLAKE2B
dd3c2ecfaccc13aae92be01b830b1560f591caa09e6657c48d7a1ea3b680e9d1fd3c1a3a1c502d7ef0a3d6352940d35718238165657aa5cf73c3c3c1d5918d3a
SHA512
ca865d8125a44aad3e0db87a425d6e66235a2efe1ce34d6cefb1d04b7de8ef8f4d2277daa2bf4961f4dbb4bf218d9dac05f2e7ef39f59582aa1c556651f58e22
+DIST firefox-128.11.0esr-eu.xpi 623950 BLAKE2B
801c29928c38050788bda5a129eb24f5992ec0d73ca4ea1d203f888b09a87413fe2c9de1ec01bca3818dd7f6860d6f1c755746370d9093384561388700a6d6be
SHA512
2b8c1a7845f755c07effd893b600b62d93144e86847cb63f517a1dbbd532f85511a6d6e9cf6c82ce11a7320d166e9c942fcce08a2922e2b7acaa439d6c53c81d
+DIST firefox-128.11.0esr-fa.xpi 631023 BLAKE2B
8c2e81fdd0f512b52b243e09002c66fca2f0556e46d9712992e729f64ecccea324d4927ddf269ec554919feedd493def072fcf5a50ad883a47968c7e994a9c18
SHA512
6ad4779de2a129ad54bb5ffd9d4a54578afb2834b8870e8875ca5db62d6d076427a3cecee6d7c105b5fb260bf37d474b8747bfc5c96e44be86a9abffaed9eb9b
+DIST firefox-128.11.0esr-ff.xpi 497843 BLAKE2B
13b14667856446c3f00916ba19ae688e8c1a6253570c5aed5acbf6d54aaf7e5da868bd2cbc7e909195333b01d52003fc160b9b5caec7c13839a2c9737eebc3fc
SHA512
1da1e01f4a8b90c9b2f4dd6315e2f83a0a545b26e78969ea17ba8316292d49e94b269c7b70fc59384bea23a8fae5e879174bc12ddaa456758426490d518e479a
+DIST firefox-128.11.0esr-fi.xpi 633884 BLAKE2B
be339c8646a8a9da359ac0d33cba2ef72ba001662670afb3cf259cdf3625d1b54dca4d88776e77b8eda4e3a2e642e8c3de5071c6cec0554a59019e5ae82b8e70
SHA512
aacc3f9c76132d447dc237282aef86474746e9aab4ceac01fd1ca759aada72734158cd0d29e49c12796f1a3dd3788faf73ff1138c6bb68402e4acd3dc98ecd4f
+DIST firefox-128.11.0esr-fr.xpi 669625 BLAKE2B
f71763e946bfa13aa8c7abe90bcfb230e906d22c8133d1fe0caa2d0b37a9c16668d6bb01b099bf4261636a188186cd2060a440b89f656f598d7f497f3d02c6ea
SHA512
7d8040d8ba23c9ff1ee3076a03d209aa533a74da759e94ef8a0f76c270b92fb3aa92b025d20eb65f94e15a14a2fb7cbc4a339b78a16fc71e264544642c5fbd5b
+DIST firefox-128.11.0esr-fur.xpi 651570 BLAKE2B
245f452f4f8768bea70ee506dc74e142c7338e5a149cefe6a0e80857c281ce2f94113542de090fce7ff2b6bd193e66099015d61b9bd4f03a9512b891f454ce7a
SHA512
dc5d880ccf1acb625d9fc93c0505fef6c3d827117b1997640e4ef3af7a3411011f550cf2dc62e3a9284e4b7635cbad5a32a73f305deaf143f22b3f2b7ad85163
+DIST firefox-128.11.0esr-fy-NL.xpi 652080 BLAKE2B
6d07b7fb12ce286a25953b4b926754f96a83fe38d4c123f69886aa1fe34c0c46321c1db69fe5ebd79fd33a4c4afc0be149c56b35da662208501ac2fdd906d238
SHA512
081019efd0d53da3902b17abb5422d0715b18099ea95adbac918c461fbc8f7ce73bf3b957554d5ad5da7ac0c6d819ccac921c23ff9fece52baea171a7875f179
+DIST firefox-128.11.0esr-ga-IE.xpi 490833 BLAKE2B
f7b38b4cbf6aeca96ec84ee0bd2f3e292a79861639d633695f46b6a1e6894ff8ff47e6db2174e445419f44e715d7a21ba787f0e007241b3795059e7be9d754bb
SHA512
d7ad72c4acd0b4a20ad4d1e99eafc66896e7490c27d0556ef1b84ed5d500afdc944807d71404b0be730d7f5f0990be142894a694cb6650f1bce6aba07119380e
+DIST firefox-128.11.0esr-gd.xpi 609614 BLAKE2B
af6b1a59a44ecf07f6db76d2f1a96d29f387331fbaad3e4d48df848a3245f334a156886381c3246189accc0f2a537c619aa0e19e40c761480bad146d5a33003e
SHA512
c356b86e547ba2551bc9fff7fad281f8f65ed18a3226c52c5b6eae9ef1c24138e7dbe0c9ef981733d401589337deb5de7622a39317b820365cb4cb6c1ec8792b
+DIST firefox-128.11.0esr-gl.xpi 615553 BLAKE2B
7374943996baca5d02b356249cc0845c63e48b938932c6ccd1bc1c0f1cb8b0d4b505b8e351f4deae507cffc6636ea54ca796165a1564e06d3233cb721f9f279a
SHA512
20ad3537aba57ca81f9299d015110be093f59ef890a7aa35103a5c2c7b2984ed0b854455814ba42c7b4191b98a719732e263a253d43c9bcdfb9b8ee2bdbe0605
+DIST firefox-128.11.0esr-gn.xpi 659907 BLAKE2B
4a979fa4f8e4182da6dcb0e78cc11abe94ac3547690523be51deae67d982a76805fb281b5fb77f8843260c50030319431aeda83968ff5831c841c73f11a85d4a
SHA512
2488189e2fb3d3b3469b26d0f0783258a4523b5c0ac3a53cb42086eb0b3d23fc0912fa3ab3d05c3363ceb4ef82311fbd447a6b6d14ee29993f1f099ccb1088f6
+DIST firefox-128.11.0esr-gu-IN.xpi 552327 BLAKE2B
3d3d8315492e1570b69ff441314b72c3d1f02d18b9c5afcbc936c1d84842165942c744240ad1489fd99ef57dffa0f6a7c1929073c6a9495fc47f924b07ea9aa3
SHA512
fcda0b4cb707898e56442560eb339fb266d5e376a25f3808d3167a0c898a1e86d945a383aa324ff08e7f5a8caaaef4347d27f1f4f2b037b063a2cdb79af1883c
+DIST firefox-128.11.0esr-he.xpi 659482 BLAKE2B
08d19f8c8810d316c21e4480f6cdc2cca30917f7b83b6c94f2034d74b9731b5f676db0717375087d45c5cbde8bf2a96a77f59d8d5fc7fbad659d9b0154b901b1
SHA512
f6720f0beecbb99a1b9ff9fd55e93deb89cd723a69f02f7037212c21bc48557d59064c1a4076dc58fe42efd2191c2d5c020c71828aef13acc7d344cd0179a54d
+DIST firefox-128.11.0esr-hi-IN.xpi 578983 BLAKE2B
2e863ec8d583494ec9196c421037e449ce8795db0e721caa4bff8ba05740e106036c8e354f56a5eb660040fd708e4f20b53a4dec86f97a787ee0f3999df343d3
SHA512
d5d072c189f9725ca33bc537ec6ffff52fb075b2ebb144a807e562969033df52e22b2e5e522aefd3b9869c10b6399e715315cec3f498406181768f004097663e
+DIST firefox-128.11.0esr-hr.xpi 645458 BLAKE2B
94c063e84e99b98370f0358c32d687101d4e142ae4520b7149445900f66453aa61de95ecd63b9bf69df699f02e28b8919ce440b9253c82a9a745af37043c5b90
SHA512
83a267d519a658a0cdc88083099b53ca5fbfd46a2d361d5355bfcc165691f3767372a9674d1307bf04bc230f4e0cadebfe19972032e7f9ff8d366764bebbcf21
+DIST firefox-128.11.0esr-hsb.xpi 675854 BLAKE2B
214016a3b8ae1b8d0be8af7eaca2235382a078bff638f36c4544bad00e51eeadd1c7cba44948efd189ba80dc65bd097f7984e9d68ba4918463923aac50e67aca
SHA512
fd64835e505b56aaae822c95bb47bf285502ac4618f8898a52e3a18846a827880ad6045080b73dcaf079333a2cac1b00365f7e64915fc4dd4b718db296bcb858
+DIST firefox-128.11.0esr-hu.xpi 679682 BLAKE2B
ae91f757280ff609f1790b0125a8f9a699a8080f46c87514accea141216bad878cb4716121158f7a9bfedc0fe1e01446746434aac49c549a05a355a033462137
SHA512
04c41744b1c6c1b791775eaeaa26997d7303bac36b8557e82a21a91651999eae1c6b821519ccaa4ef6fde7ac782b4610564eb9fa1b306be1ddf7b13abeb42a38
+DIST firefox-128.11.0esr-hy-AM.xpi 664453 BLAKE2B
bcfe491f458f6a29ac838d2a2850b109a6aecb31124d22fed946753a9fa096359d1140daff899285b13458ac02e039a95026088d8c79a0f659416ea52605d4ca
SHA512
8ed9da30f1dae2ed566a8c13db6ae60f06a604f1c85cc347c052a8a31ab01506d4dd4e5e3945afc923e874b16ff928ca04d9f51873c87825cd1467dfe72bd181
+DIST firefox-128.11.0esr-ia.xpi 637955 BLAKE2B
96b0b7e7044cf33f24ddc23c1ee9edb3bbc8f81e100316b83996b7a7ba1d97c86963bf97414dc679e2e428530ab37d9b257506077acb3f0a1de1c1682612016e
SHA512
0db908273a203b0665502874e52c0b409c7adc27e854fd0e3df42689fd8d3f7788ece2c16adae263f85dc5da66a7233e24df8cd62840a4a5d94e1f36f6f732c5
+DIST firefox-128.11.0esr-id.xpi 625996 BLAKE2B
f70b49ce15f5a525efac1420400698e3cc2d1c2bcf437dd13737f4ad6a3271e626f8ef0df6d9924a821169439525e5344acbb7148762e22d1a9b0ed773f18e34
SHA512
45c461325c59490ebe9bc47faf0fb8f54b1add23cd8a5ef962e2b930c7f42b0d91e77357491f43473c3bbc3134f91b81fc53daa334a316e89e78e08061a678e5
+DIST firefox-128.11.0esr-is.xpi 646732 BLAKE2B
889d11ea829ae01ae9cb08e9376f48cbab43bb3ecfb05ccd3bb578761d1c2454547151f2f99b61f2a5b3ae2ac63ef2c1fed3d169933a61583faef4d9b9e20ae6
SHA512
a2aefa17459243e375446a2f9b6c304498fdf717cddad52cb05a10decab9b812a4adddf48aef4c6e7aa3b57b9962c834f7568e82158ea1a8e66b7e96e8d863c5
+DIST firefox-128.11.0esr-it.xpi 648858 BLAKE2B
78b1e22fa8e1948955cb981e55d91ff435393604c3ebbcfcb9649ff750bff4d00984e2ff1464ac20888b2ecfd6a32ddc7b21fd0da4389a4ad771fe3c18356439
SHA512
e64001512a3fdda5beb00282c3a39ff5f22d311ea1f4fb8db762b755c3f2ead110e5a54ee2ccc26e2392cc6b2918c947824446fef84d8d71b2eee41a000720a0
+DIST firefox-128.11.0esr-ja.xpi 704114 BLAKE2B
5eeeb3eb0471ffc72a4b2bc60903ea69dd3ddc049bcfb01462633c76a72bfecd0c382b9aeac106d5f2e90cbe4f62a4b807164a65fcf2d49d7acc04aa6ba2700f
SHA512
b5b2b317f2ad72573fe8c28c02e6ef38df15abbe839a6e4b4a7bfbe0d2c759e7605c52aed42bead9e6c2409037aaae6a9611bd4147fa426341029e55b41abc82
+DIST firefox-128.11.0esr-ka.xpi 714506 BLAKE2B
aac311e03c2791e6dfb882aa3519256cb0eae681debb03086c91fa24265039d7249ee531a78758ef68959617f7282ea41c0429127dfde48364add7348a353ed8
SHA512
fee429e94679d8b6c2434440583718966433e9ea7366c03ebdafb8a259ac79f52bd1f16a42c51430c4c31a4ffccb244f2ec553d03ccf1e1dac05d75324a1dc19
+DIST firefox-128.11.0esr-kab.xpi 626277 BLAKE2B
ee32b005910a5ac631d5d1631247c5a99538dd89a694b68d0035db53085225dca78c2e38ec028e7206d5de9e040da43129d2f12327447c7a827429016d426ccf
SHA512
5afca22a950d5f5f23c206da17dcdf95fba795e99adbfa41987189fa34d4e7a5cd6cc6663b73ff3934b0e40a2914526b9944a1e3c8af8be559574e86c084eab3
+DIST firefox-128.11.0esr-kk.xpi 734549 BLAKE2B
88479c811229b21bf5c72b37afbdfd1258d26b0e4854ff41879b912a695c385561519a74c08b419295b786c9385679ef45564d936680dd04221226d3bc4619c6
SHA512
8d9428b7447bee85acdb96abae73fea6b1aeabbd16488de1e3c760a129bfb06ffb75b514fcd0fd7cc99da6447f75a27edda5813f9b5effc08f81927d1f8bc8e7
+DIST firefox-128.11.0esr-km.xpi 543171 BLAKE2B
e0d08420ca6a0721a3d506dd4f22ffbd84b665df0cd859f03560d2cd43eec3c897b8a0f62fa44c60963d07d9c398368e83a1e4a6d9373cac58335e6c2da96eda
SHA512
056e5bd1299c1e2c53b049a426ea3227c308b6f35477cc04bc650d24a98ef2aff30d76adf1b2a5988f4d0e314c77067616dbad2a1e631c42b03d9dc43968063b
+DIST firefox-128.11.0esr-kn.xpi 520324 BLAKE2B
029a98a727b5a30207899173e122d08e91f91745ba871512e49e49b5cb700e380a6b9f26b25734d7f05a96a42532b934ecbe645ee2b98834b6d15435df329888
SHA512
c4cfa01cb20880175946d87913d93085684c2b6bf44c13c54fe566836403efc7d0247208dd2580e75dc497998c1ab098d7df43ca60385729dcbbb3a223adc808
+DIST firefox-128.11.0esr-ko.xpi 690554 BLAKE2B
75d21b4bc08442446ce2641b1ce8ae72f0c1a77b2ff319e4ce9ef1523a4dcc563bf7547887fbd43555a7c2c97a99f51e9fd203ff8f74e0be60a464faa21545ed
SHA512
c813e69c30e384e4ed035c54623296f9ff9314763f4d7c3e8207aa6f672ecf2eecace04f9572b1f06a3ec63f5de324886b6d89b0859c593d3d7d71451b19c857
+DIST firefox-128.11.0esr-lij.xpi 506294 BLAKE2B
5c639e47ea76755b19893420416c2608bf53e2c7c87ed6d83d3683eda8baf5971181030b5166dd6a0658143728c99abf82e569e43450219c321fd5ccf5ae04a2
SHA512
20c14b23da366cc7784b828991619c062e54af65b8cb80603eda9c6d2ab92c864b8c2c717dae40fc0e57657033ece0af1332706c55e4b9b23f37eded38961812
+DIST firefox-128.11.0esr-lt.xpi 585991 BLAKE2B
1743945240a75fbed8c97bcb0aceafbfa23c828d53d4190e077ed26b446a8923a77a9387a027c878860719638c8a8964631df5038078e32adc80a4cf1da1e4cc
SHA512
f0b2fb1cbec10ddace4405f5350e7da4dec8ec5e307586122aa7ec3c114272f2aad51c7b35b79bf039a95b01dcefaf2263dab12d603b0a35baa84b9ff431c544
+DIST firefox-128.11.0esr-lv.xpi 595103 BLAKE2B
e3bdcf4aaa7fc66d708c1ff67dec48c32353414d812205d146da7999c62efb6087875b4bda8413f6eb66f5b1abb9f0cbb07cbacb5ce41f4fff20bc236d6adf93
SHA512
370093d24038c44c623036fed0a55c9cb3c03db7a2def80a159d0d3b5c91338a5f6d063df93f9cbe4e881a438a295cc0a42e966451b290171bb394338ab5097a
+DIST firefox-128.11.0esr-mk.xpi 511069 BLAKE2B
649ab333c31967f1849b4344fec427887815d6e5f25a0ffdef95b7211518175aa2bcb45089b35343febb50b92860653f83bf7ad2a29c77d9dfb27f090a5341e0
SHA512
e9efdb74379e72479b8fce1d5fd7ab7353733aefc83f84850a8b5a81a518038c3eea800da3d7dce77ab3133d0eaed33893cabfe2a45b83b30b289bf553fa2a42
+DIST firefox-128.11.0esr-mr.xpi 552814 BLAKE2B
626117835de951a111b4e7f6b886ae3512cd9a93b5945766715f8dce77a7332d718971d3345e5ab77b1b8f2a9cf61efd13d5cef29f25917899043668822efe91
SHA512
1a2b88f69b46f6680fd2fb748848437d4df487c4e42c5ab474a513d977e3f3849b4068c1ad20683762644a6a929db898670b00ee36d7ce9358768d19933ab3fd
+DIST firefox-128.11.0esr-ms.xpi 477970 BLAKE2B
48d65796e81b78a385340f2be43b1f959061cbadee70fb7d4b82b8b282f917c20f5cade00e953883eea3da2bbdf422bc76339ecc4514410bec9c379f2b1c90ea
SHA512
74ba7fb01ace9f2ff898c05ab82d2da4bfa77c16d0852b810027562617bb26e603557f43f6d0b532270f2aa3296ce4b5647af10a0435914aba1c703b40c7b688
+DIST firefox-128.11.0esr-my.xpi 540062 BLAKE2B
c5c2b598a7f36f25569bc41303fb5fba50f24127ef240519d62fd41c4d204b90aee4d23065a019f141c51e62dc70a9d9cc9750f74e38a7b7d01002f3f6b19c52
SHA512
a1652d0708eb0ad7c0c8ed3aa8415ad87966e61b55f3b5eab66428c379a2d0ac548155bb97d775e3ba003bf4bcf9f3b07bc484f1db6cbd02478428221b4480c5
+DIST firefox-128.11.0esr-nb-NO.xpi 627694 BLAKE2B
1f4fbcad680ce2cbbb7bd29cb439de17db2852c16ef6ec6d97d6418f84fafb28cf93e1e1e06b171b9acf134e1e28e20f965f16c061e315df803a27411bf5d829
SHA512
ba872efba70b1d309d8744473f06ff39976148453983d751c9a7defa8d8cf417f22f623eb4b4019cca530b09af3ea146fbcad51518fe11b470e538397f3ac449
+DIST firefox-128.11.0esr-ne-NP.xpi 543830 BLAKE2B
fc3fd3238562a1d432f39cc0bddca4f7f8438d06cba13d3f12ae732bbc3a2469c220b05a24fed84cb0f1fa4be19411b32557720ecb0a7c8edf800de6bf7472dd
SHA512
2130bf62fb9fe80b3408ad2e3d9be6a1748c92a92eb50ff69918b451d93cd9a75346ac54293a97065a665923dbd4eca2ffc59774a0397b84ce41af98f296fed9
+DIST firefox-128.11.0esr-nl.xpi 645192 BLAKE2B
8f4ce24de8fb4d32297995d7766f237897dd3ce2100abd6698b1beb2ccc6ab66e9d9b60e33dd05e103c8ad8f3b8ddf55bbccdce23ba8b4583bc917918b2d472a
SHA512
0cde3746fa1ac29ec8d7fe7305d006da8cb2fd87e75cd71d1a86ff978988b49c7d12989e769751bc34d42671a5581187a5f14e68b184021860ba783fcd90a5a1
+DIST firefox-128.11.0esr-nn-NO.xpi 630289 BLAKE2B
82fe955f5ee25c6556e9e31b87a781c10f5dbc97c75b6098a1724d56e6ffb7caee68229c10861a7edfed1dacb3f96741d2a2a62c8ee2997f8c8827dd16075131
SHA512
58aaef4bc7a24c01aab9d7e65e135da4a500f7ada8c84be65f676b00aae3d4337f6fa2d255310d541f508ab8e91ae39a5ea62767f042e503aa79161c2afae7ea
+DIST firefox-128.11.0esr-oc.xpi 626823 BLAKE2B
9084a861171227798ed4162fbdbc22812bd271b755ae7c68ba00da4c06d82916379f5720e2b3d3d6613f339ab7f684563adfd00768a4d25af6c5787100494173
SHA512
6c0cf54e7362c931a49dbe0d98ea044638089ac77585cd6e1dcf7d3ac80a3cb7088afffe4854117bd216fb789b3c61e9537b01f89c9d3365d119db548d51e3a2
+DIST firefox-128.11.0esr-pa-IN.xpi 726725 BLAKE2B
255a8f5c58eb97af8272790fe3d5cbf801db25423a453b4bc2ffb913455b5d4aba250f0007b6cb3620a59569570dbba900ec1b759687dac64d2695853e4896c1
SHA512
28b9fdb21fd3d9609072e1ec2f13dbb74652c4dab879d1ca5abf2733df094d5d27e3a52d9b26b7741d3113476945d2a006e8b7559b307fa59885690c85edf8dc
+DIST firefox-128.11.0esr-pl.xpi 669248 BLAKE2B
8d74fa17cdb656a9c68ccd5c83f74b4656c9ffac148826ca959c6c326217a294aa3c785f3aec19bea9b2360f2b98c847b2ccd22ac97835cb05bb6ad06f208f95
SHA512
aa6f53df213fd2bb68badfa0d7b9e74c5a4d5e1491bbd41411cc3ec4014d34081baad94fc98b6b7eb8fb7de8779a2b9fdcbd3bdb716819591c6c67d92b6691d6
+DIST firefox-128.11.0esr-pt-BR.xpi 650222 BLAKE2B
b810d5948d92aaa680877f9c4e9e2f642f2f138cd06d2df3fa78bcea196aced5203b1cada3069504093a8b29f17b325e6bed3d328795a4db882a53cbb0d8182e
SHA512
72ea1f4e33e64cb35cdffb0783eadf0613a2c89949c7b0aa428abed4f120753640999642bd8f0f93f589004e532f023fe01e7dce6451f958f52b545856596645
+DIST firefox-128.11.0esr-pt-PT.xpi 654865 BLAKE2B
8c616b4aeb320c6decb53d10bffa377bff6df5a793b928221339fb0ea8d88f4aa84678358abe972150d3e074d02f9b8f355fa73d0bbf806290f5f1b4226ca6a5
SHA512
a05c92a45d9464f7c9ccf24036e133f4dae900589461ade80de48145ad1fb7c7beaf58b03ae789fed3d82e7476d91352e858604be681c145f0142fbf6bc253f8
+DIST firefox-128.11.0esr-rm.xpi 646702 BLAKE2B
0b7afdb0bb47897f6e0c756b8383f00045272c6dd86206c786917fafb4c16eb10a5a85f8352e0fd9d55190788e6be40b7d0b4b74153f237b72d1532c9d8720ed
SHA512
e857f75eff78bc034ae063a46c1d8e6bfaec5c58aa5d2751fae605e274ae23ee70d372b0d3a074e7b2432db48af54fc0a8e7a7281cd539c9b664dff4fc7d7e67
+DIST firefox-128.11.0esr-ro.xpi 562864 BLAKE2B
71edd9bf05d2dc048ea7cb475ffbf0e6477706272fda9bc273c313bb0abb39136059c6bc909addd59609a2b3c7655f5074332b321ca683eea48765871b6d04be
SHA512
74ad35d11ee3b4585bdaf8aad37d391c71ec26b34a38d0ece1b24f563ee6190dff74263103a346363913a9f210b0d7811d93fccc7e987c43292693bc922cf589
+DIST firefox-128.11.0esr-ru.xpi 753068 BLAKE2B
b80e34161f759f34aca946935bacaa33aa15e4b2cfc31fde51fc64501e2aa89851a817db3261b84971d8732fd117eb031e6ff041e21107b3c38415c73bbea768
SHA512
7db63e075cfe2df73e51fa90fdf6c9fda6cb3d85a02dc8baba9b7b3fe20ad338a9effc8dbe1a83586913d52c096191697f97732f2dd8ca833200d745c1f1c3f1
+DIST firefox-128.11.0esr-sc.xpi 604292 BLAKE2B
ad09f8fe0bf42869666cdeac011fedc9bb559efe670c82cf839d0fe16b71dc21cb9b3a695fd0c4a81dc14595cb7835b70b3a642f30a210c93041ff7d435fe5aa
SHA512
964fcbb9a875668538d1e5211e33a207897d7590423fe7d7fdf21417f1939dc3b80c53f784795725caea3cf489e2f6111b458f23329745a9f8f202a2b2305301
+DIST firefox-128.11.0esr-sco.xpi 524667 BLAKE2B
07cad029651ecd2785d87c2f1c25c6e1ece316bdf67130d5fcaa7420873f86c20d3d9a5e4bb72fb43080fdb1b355515f0fe0dc889c9f27bad017f794450adf87
SHA512
e0b0379b0a5e878f04491615f421ede81ba139898fde905307bf630933d497d9f880633818d70415f246ac2873bdd8655a009a8b06bc0b5f22d0a1a3fe9d7b01
+DIST firefox-128.11.0esr-si.xpi 628202 BLAKE2B
e4dadc2b49e308b8b9a0f68f89ebf6c18ca2a9e1c6fa11518677ffca8524706b8df2608f41c861aa094676dcf67b823e10db50ee2fd8bad4bc0ca4db2fdb9d6a
SHA512
b49aa9ddf9d55bfe1b4a12ab276c6ad7f5d34c645bf6315f3b62f17aefb000adc649a44a677113523ebdb39b229d0228e10e34401c2e13fdde9212fa7a1ca359
+DIST firefox-128.11.0esr-sk.xpi 682229 BLAKE2B
71679e44331addc13d58cc182382c67efdee0fb1cba441c9e2072895025889821c39fc687e6d8287a063b0cd897d8001aa4d1f7614ce24a61dc9b30a1e6f3a56
SHA512
1254d9a3e4cf5d32988e8bd37065c16ac31526b9d185833fabd72efdfec996f9199083563dca05820b685ca2109e83c7bba54f40522acb9c8030c0f4138000d3
+DIST firefox-128.11.0esr-skr.xpi 726692 BLAKE2B
d062bed5a63cf46d4714cff03fb9d99c3ebd4e84051562b2e9254df40cad0c1d378b115d735ad451ff4d66d587aa82788d0df6649a866ac039052ab3d019c76f
SHA512
da61fbdce3d6e7161abd6059d9860a358942d1feda8afb59557b89cac0f42c387bd7b77abf4ec35ef4f0892a3ba6e37d563902a91fcbfe45a6c74d363bc3ec21
+DIST firefox-128.11.0esr-sl.xpi 649044 BLAKE2B
fe67ffe52f7b132c338cca8d292c98e07c05de72fca04e52557ec0c4652b48434ef1290db84e2056e088f8bd8c087519843bebbf8d8e4a11a9c8726c709181d3
SHA512
b051deef2d0edb03f9e3040a25d377b26bcf3227f61dee39ebb32e25625443aea5986981a0081d559313f3c8eb5a80269b4043a9a25690a22109ad733eb2cd2d
+DIST firefox-128.11.0esr-son.xpi 451686 BLAKE2B
21e184159afa34c037a9e4577b9f56118b4e4974a6d8572c991c5060b9d7b6639bb3e24196a672a8ca3c55dfc413c936a587d7fff9665e56a25db65e4c7fd65c
SHA512
83dd73578836c048f50579c9d58146b18b6ade4eb932210ed2f082a57b3225dba41606e22ec955e251cf0a9064d22f9d7ae41190493936a01611c2748c3997f8
+DIST firefox-128.11.0esr-sq.xpi 665750 BLAKE2B
1d0678fbcadabd432d7f6dd1da58cb5d780eebbcf6be015a07dcc4fd5d9f99d2755f02943958304f6fe91f6327c73c7225f1d86d72193bcc5a34617df5f8bf8c
SHA512
d67b308ad44af199bf2cc4a7bae3e4c320b39ce16ef5913f971580c838c332c076a42e1c35abed1dbf2afeb317dcbb87e79f1570d664b0fefc23cb24a6d7eafb
+DIST firefox-128.11.0esr-sr.xpi 678434 BLAKE2B
696b5ff68adebeafd24a2c960d33a2fba0e0fb940741f72f5e5a2745be92be5c9f448c74aa38bccbb56aca686b1d04f8060e80e9f5f55205c62f328b690db580
SHA512
1f4b440b18538a2dc6de101b6129342acde289c8d04a31c99482c59b48ab1c1d358f8d04aa36959bea1c776f519ec7a613f86f3d2b6746d82ce1969ea1353c83
+DIST firefox-128.11.0esr-sv-SE.xpi 646487 BLAKE2B
63d41a37f388f6dd541def73124114dbcf0e3bed3c2d3eb19a5b31e7438b9f70579a3448a84b9aeb48794af562f6e1a2cb800224fb38174fa185e98a36cfeb23
SHA512
ae02dbf040bfe24d9c28127b0d6e32110aa3d60d02532566e61214994df928f5e488c5d3bd4b347e496b2a9706a375274a195ccaa52af03152749770396f8310
+DIST firefox-128.11.0esr-szl.xpi 541726 BLAKE2B
550a28a832fff23b60ba1bd90fb83f41204c8cd326ae0a8c3529f12d5a2b43d8c2ad521b712fd63798556c068b74fc090784e2fb943af570ad5c234066db5c8d
SHA512
4e32c3d246021f2a0af81c1f75b08b8079ada9e70a3f17b48ddf00e18f1d504b196403b622e8c74db562dfba92863fa0b2c9b55ad872aea1045043b98c0682f8
+DIST firefox-128.11.0esr-ta.xpi 530540 BLAKE2B
314a92bb16914d598feeffd53ab998605ef55441210d34e0fbf76f9658a36a4c5caba4a9d9be3c45fba8dd116d771f4e534a652eb6c804f4d9f673818e48e376
SHA512
f319e1a492427b5b64500c0674c50de54dfd188be5403fe1dd3e36fa7100fd5eaf222eac8549bb6a4d330cdc88978dfdec508c41933ffcd88cab0ce447d0f4be
+DIST firefox-128.11.0esr-te.xpi 583148 BLAKE2B
e5b165df982755584bdc19fd914fe3c9f521b5189b34102211c6554be60c63ad7e5834c4989e1903b2fe73019259b3da770142af354e1eb64ad14cc56720c09e
SHA512
4c497f51fdd0525bb16ca3ea98fa04750fb2cbae986219b82829d11d1be93133131dd153f225a059a252797c6d46ec48f15fb2ee6ceb4ca563df05fd9f87367f
+DIST firefox-128.11.0esr-th.xpi 728453 BLAKE2B
fe9ebe8a8ce1ea1b5975f19cf6a640cfa660275426cc5b2ee0f363a78bf358e5da9ad4be0247c19adf13a2e3932041ebed7e1ad6796921040ed4a153810fb081
SHA512
8dd2c4660ca0d07cbbd93d01ebfb9f58df75e9f054d7eaf40a5ef3152246f2c976815d1113d51352614d71575952a7f71073f31f81fee9d61e200e7a8404d818
+DIST firefox-128.11.0esr-tl.xpi 546954 BLAKE2B
bff7c81899737d623dff72438ae4974bf780bf5fa44881f2a20a6b6d35bf6d107f9bb4c6cd150667c194bf8d17e9642a16d8555513253d9c167ecb8081f3bde1
SHA512
86df0da248b7dfddf63327dbd86d866b8e82c78a949db74edea69291b8030534e70debc40c155bab67604e6b9ae120e8357ff4c88d0d2a39bdcc9c164108ea7e
+DIST firefox-128.11.0esr-tr.xpi 659458 BLAKE2B
a4eccdf254b7a1e9bdbe25ccf5d03e3d80da1a998c7436944761a2be5b91285cb9ba74359affdcab535c97055b03452f129aa1b5f670a3e6ab37d45506e4f0b1
SHA512
145fbf132028a7ce1930fcf13e3c8ab81c927a6cfed41cf8c2950acddeceeceeea5138331ecaca4dfd26bc30837829b49e27e808fef39d8ab0fefe2456b3e0f9
+DIST firefox-128.11.0esr-trs.xpi 522143 BLAKE2B
9d04f9c4f00e49d699677207a65d180f9a3d2134d9ba754b6a9cee609c34f2c84dc56c0696372582518551bf89b65fea37b619cc904ce69cb21085c76db229d1
SHA512
c3d970fed2cc8e914146fb63e96db92d20e290c8a52841ac88bb6f6e4abe427fc165911ae7797c86a80518c7815fd45a9d11e135026604dce030c6a236821196
+DIST firefox-128.11.0esr-uk.xpi 743990 BLAKE2B
13062c456ab05d01c63db559429f8c18cc65b47437b3cfd58f2a172bf0decef21ec99987a0ecfffb1c3d72cc45d606161f73f49bed7e7e2f62d1c007f0d65a95
SHA512
fc462f514b5961bd3ab1c8b826e3c11d7b8f10fd8e25b2cdc334a77134ba68cacdf399a3086859c0fdac79fcd2c92941a907eec5d80644204fa28aa6e998d8fb
+DIST firefox-128.11.0esr-ur.xpi 574492 BLAKE2B
d9e75e92fdc383f9f4a37728838a00b18d324c643945cf1d492e66b53d376ee0829c2296525b75630840d4d794c600c85e766014201b1022ccea1fbd169a5b0e
SHA512
23f75e0bd718e7654e53ca0d8562dddd196968ecad3ae8335dc1ad150755a7c9589edc208409fbd357169f463b27f1b4d91e89ab1b7a8df621ad7c6e5bdd1e54
+DIST firefox-128.11.0esr-uz.xpi 495298 BLAKE2B
e249a0ed0e494e99dfa7c867fc8eef3ea00c850a89e358964e07db9ebbdcf67c49c34332d13b4b9a93daec13b454cfebacc71914e200ae793a37b4a514f2549f
SHA512
093d0576d532c37f9583d0e71eb6ed29b2f87e060eb8a1504d6d063e5cf99656c4a123b5ff3f01f8eb08cfa826b776090b6b9698b39dd54ca18db19841dd7c37
+DIST firefox-128.11.0esr-vi.xpi 683664 BLAKE2B
c9bf73b6756f41fc88daca2a8b4baef485e7b569853a0ad1c5eea4e49a3ad55b87a7387e1d893f58175f1fdc7ec6d997e0e98feee0d3ec77edb8682e856664b6
SHA512
65c63e9761c8420134e78642d9b8afe1c0f64dab1491691c17e268261403809e523c62aed53205815d3b9dcbb8698489dc177d7e20b307a036b217c250602636
+DIST firefox-128.11.0esr-xh.xpi 452429 BLAKE2B
483463ca6f9138c350d6ecc1a3884f1ad6681084f03b0f611b0ef4fe142eae3e4abe0e17e44a64309139d5da2717508fd5a9bf1cfc6562c3ad448990bba88de6
SHA512
a2ded271be5c6793afbd3d0c6fe954400f80788c4e97da1e59acf82bcff1952bfc1b19d5c3fc387b2be2999bacd0a82a838731d64a811acc0b92482ffcb736e3
+DIST firefox-128.11.0esr-zh-CN.xpi 686330 BLAKE2B
33e93f2bc66b2f9098d32284f74e91bc5c668c4ea333d7c2bee8e36077ac0af6248c54212ae2f0e5bb3134d5ae15d6c1009c8fec03401636bc156b5aa43ff1d0
SHA512
70848eac6b137938528544d8cb866f53ddd22e80495bb9d00908342fdb1f84efc383e2346891f532b04c33d89230ccbd40128e78a8cb9e7c4100bd28c7a3fa1b
+DIST firefox-128.11.0esr-zh-TW.xpi 689140 BLAKE2B
92c6c66db406c6805b88902b4f22a8d4346c403818e74e72143f393992eecbb129fde3bc44825380bedf2b48d1e9c66c5fd28910f55579be0e03999caee65a28
SHA512
78b1be4c75947426ce20d82f3dd22cbd6b34bb1c6436dcd58ac2e8ce39a54dff8fe42ddc13c215e4c77dc6fb04a97e8a1191e423d5c53e4b710d97d54a461b50
+DIST firefox-128.11.0esr.source.tar.xz 558920388 BLAKE2B
698828743acb046589b5eadaf7699d39b170c8e9491585e9704599e3a7a2519a3e5c516a10b8af9ffe425319b6c386cfbcd6694c8feb309c702eb7e44a9a2c8e
SHA512
80af64c1dce6d7a25111480567a3251cc2d1edce00acc4d85bbaa44590f5bbf4c0716f9490c3ab8ef1e6fc2bbabb2379029c2dee51ce477933c7a5935092d279
DIST firefox-128esr-patches-11.tar.xz 18696 BLAKE2B
0f35eaa29f1daf9beb09c7303b3e92676eea84337683b8f7393e8b52e36ec1f37683a050e1e8d7939ebb1bdc190acaac887bebe88812c1b64785e38980f18be3
SHA512
04bf8bbf3c4e7901a6681fec66f179f797615613be838cf35a4b03cd9a347656b1264524ac7355f0c3978a5e740ddc5dc438610e5cae6ffcad73a8988cf0e572
DIST firefox-138-loong-patches-01.tar.xz 2948 BLAKE2B
a88a68418b747206a50b3c7d90c447aaa2a3ae762d7d5d32bd03f3af59d0b9051c278de8b293275758844560f1f275461afbc07e40f449fe5060d47ccd5b0938
SHA512
cd80714cc7142edb1a3dd83a7ddcb11e65f6b3ae2c44c299a6ad6a7636514cbb0ba8bf95446553c028b3a80713825110438727c3308c810358b2483af3340a24
DIST firefox-138-patches-03.tar.xz 13284 BLAKE2B
825aed6ebea3a7c48140f9e050662ca07c93782dcd287c1e61e7a62d715fb9689820c283810f608a80a5221c366fb54ae06f41df16b317b010e17a014b2fbb6b
SHA512
eaed91f322ae6151605579d4b1189e217f881a442239fd887d268dcb1a9d76099d501abd3ed16248ffb0a415214974a340dbfc47756a062cf083d5e57a6c655d
diff --git a/www-client/firefox/firefox-128.11.0.ebuild
b/www-client/firefox/firefox-128.11.0.ebuild
new file mode 100644
index 000000000000..26646b3a89c2
--- /dev/null
+++ b/www-client/firefox/firefox-128.11.0.ebuild
@@ -0,0 +1,1380 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-128esr-patches-11.tar.xz"
+
+LLVM_COMPAT=( 17 18 19 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+# This will also filter rust versions that don't match LLVM_COMPAT in the
non-clang path; this is fine.
+RUST_NEEDS_LLVM=1
+# If not building with clang we need at least rust 1.76
+RUST_MIN_VER=1.77.1
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=25.0
+WASI_SDK_LLVM_VER=19
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+ HOMEPAGE="https://www.mozilla.org/firefox
https://www.mozilla.org/firefox/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.mozilla.org/firefox"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info
llvm-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 rust
toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz ->
${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}
+ wasm-sandbox? (
+ amd64? (
https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz
)
+ arm64? (
https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz
)
+ )"
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio
selinux sndio"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+system-libvpx"
+IUSE+=" system-png +system-webp wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry
wasm-sandbox"
+
+# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being
llvm-19 based, and
+# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19
is already stable in
+# Gentoo so it should be widely adopted already - however, it might be
possible to workaround
+# the constraint simply by modifying CFLAGS when using clang-17/18. Will need
to investigate (bmo#1905251)
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( jumbo-build )
+ wasm-sandbox? ( llvm_slot_19 )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ clang? (
+ llvm-core/lld:${LLVM_SLOT}
+ pgo? (
llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.26.0
+ net-libs/nodejs
+ virtual/pkgconfig
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ || (
+ gui-wm/tinywl
+ <gui-libs/wlroots-0.17.3[tinywl(-)]
+ )
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.101
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 )
+ )
+ system-icu? ( >=dev-libs/icu-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[networkmanager]
+ )
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ hwaccel? (
+ media-video/libva-utils
+ sys-apps/pciutils
+ )
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" !www-client/firefox:rapid"
+else
+ RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
+ einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM
slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then
+ einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot
use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ if use pgo ; then
+ if ! has_version -b
"=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo
"=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( skr )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi ->
${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d;
s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine
extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p'
"${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine
extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})"
"${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})"
"${flag}"
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to
be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo
$WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server
can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || tc-is-lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+
+ # Get LTO from environment; export after this phase for use in
src_configure (etc)
+ use_lto=no
+
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+
+ if tc-is-lto; then
+ use_lto=yes
+ # LTO is handled via configure
+ filter-lto
+ fi
+
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and
FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ if [[ ${use_lto} = yes ]]; then
+ # -Werror=lto-type-mismatch -Werror=odr are going to
fail with GCC,
+ # bmo#1516758, bgo#942288
+ filter-flags -Werror=lto-type-mismatch -Werror=odr
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || [[ ${use_lto} == "yes" ]] || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough
anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox
(bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is
hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to
fail with
+ # a traceback report referencing
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build
failures!"
+ fi
+
+ # Google API keys (see
http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own
distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see
https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own
distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ export use_lto
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to
play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if [[ ${use_lto} == "yes" ]]; then
+ rm -v
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply
"${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+ fi
+ rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch ||
die
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use loong; then
+ # Only the LP64D ABI of LoongArch64 is actively
supported among
+ # the wider Linux ecosystem, so the assumption is safe.
+ export RUST_TARGET="loongarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ elif use riscv ; then
+ # We can pretty safely rule out any 32-bit riscvs, but
64-bit riscvs also have tons of
+ # different ABIs available.
riscv64gc-unknown-linux-musl seems to be the best working
+ # guess right now though.
+ elog "riscv detected, forcing a riscv64 target for now."
+ export RUST_TARGET="riscv64gc-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post a new bug with
your rustc -vV along with emerge --info"
+ fi
+ fi
+
+ # Pre-built wasm-sandbox path manipulation.
+ if use wasm-sandbox ; then
+ if use amd64 ; then
+ export wasi_arch="x86_64"
+ elif use arm64 ; then
+ export wasi_arch="arm64"
+ else
+ die "wasm-sandbox enabled on unknown/unsupported arch!"
+ fi
+
+ sed -i \
+ -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \
+ -e "s:%%WASI_ARCH%%:${wasi_arch}:" \
+ -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \
+ -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \
+ toolkit/moz.configure || die "Failed to update
wasi-related paths."
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed
sedding multiprocessing.cpu_count"
+
+ # Make ICU respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py || die "Failed sedding
multiprocessing.cpu_count"
+
+ # Respect MAKEOPTS all around (maybe some find+sed is better)
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding
multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py
|| die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+
"${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py ||
+ die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed
sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py
|| die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py
|| die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py || die
"sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \)
-print -delete || die
+
+ # Clear checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see
#905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to
${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining
FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug
report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\",
16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+ python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in
python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE
= "${my_files_per_unified_file}"/" \
+ js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in
js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key ||
die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F --
'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1
"${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}}
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-valgrind \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-ffi \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+ if use amd64 || use arm64 || use ppc64 || use riscv ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more
arches.
+ # bug 833001, bug 903411#c8
+ if use loong || use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly, since it's not activated
automatically via "known arches" list.
+ # Update 128.1.0: Disable jit on riscv (this line can be blanked to
disable by default),
+ # bgo#937867.
+ use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64'
--disable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+
--with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:'
"${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends'
--enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build'
--disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland'
--enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland'
--enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11'
--enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ # wasm-sandbox
+ # Since graphite2 is one of the sandboxed libraries, system-graphite2
obviously can't work with +wasm-sandbox.
+ if use wasm-sandbox ; then
+ mozconfig_add_options_ac '+wasm-sandbox'
--with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/"
+ else
+ mozconfig_add_options_ac 'no wasm-sandbox'
--without-wasm-sandboxed-libraries
+ mozconfig_use_with system-harfbuzz system-graphite2
+ fi
+
+ if [[ ${use_lto} == "yes" ]] ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS
configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ mozconfig_add_options_ac "using ld=mold due to
system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to
USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd"
--enable-linker=bfd
+ fi
+
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to
system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to
USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to
system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd
due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ # PGO was moved outside lto block to allow building pgo without lto.
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults'
--disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS'
--enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS'
--enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default'
--disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default"
--enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it
instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold,
bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold
linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack'
--enable-elf-hack=relr
+ fi
+ elif use loong || use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on loong/ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported
arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting'
"MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting'
"MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting'
"MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting'
"MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support
arguments
+ mozconfig_add_options_ac 'Gentoo default'
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash}
${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org
default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with
mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from llvm-core/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated
rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+
+ # Install the vaapitest binary on supported arches (122.0
supports all platforms, bmo#1865969)
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+ # Install the v4l2test on supported arches (+ arm, + riscv64
when keyworded)
+ if use arm64 ; then
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/v4l2test
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to
disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the
pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Add telemetry config prefs, just in case something happens in future
and telemetry build
+ # options stop working.
+ if ! use telemetry ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry
prefs"
+ sticky_pref("toolkit.telemetry.dap_enabled", false);
+ pref("toolkit.telemetry.dap_helper", "");
+ pref("toolkit.telemetry.dap_leader", "");
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name
'*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions"
"${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+
+ # Prefer the upstream svg file they use when packaging flatpak so it's
always up-to-date.
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg
firefox-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local desktop_filename="${PN}-esr.desktop"
+ else
+ local desktop_filename="${PN}.desktop"
+ fi
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ if use gnome-shell ; then
+ # Install search provider for Gnome
+ insinto /usr/share/gnome-shell/search-providers/
+ doins
browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+ insinto /usr/share/dbus-1/services/
+ doins
browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+ # Toggle between rapid and esr desktop file names
+ if [[ -n ${MOZ_ESR} ]] ; then
+ sed -e "s/firefox.desktop/${desktop_filename}/g" \
+ -i
"${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini"
||
+ die "Failed to sed
org.mozilla.firefox.search-provider.ini file."
+ fi
+
+ # Make the dbus service aware of a previous session, bgo#939196
+ sed -e \
+
"s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox
--dbus-service \/usr\/bin\/firefox/g" \
+ -i
"${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" ||
+ die "Failed to sed
org.mozilla.firefox.SearchProvider.service dbus file"
+
+ # Update prefs to enable Gnome search provider
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable
gnome-search-provider via prefs"
+ pref("browser.gnome-search-provider.enabled", true);
+ EOF
+ fi
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins
from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and
'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not
support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the
workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if
Firefox crashes."
+ fi
+
+ readme.gentoo_print_elog
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "fallback mouse cursor theme e.g. on WMs"
gnome-base/gsettings-desktop-schemas
+ optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+ if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+ optfeature "hardware acceleration with NVIDIA cards"
media-libs/nvidia-vaapi-driver
+ fi
+
+ if ! has_version "sys-libs/glibc"; then
+ elog
+ elog "glibc not found! You won't be able to play DRM content."
+ elog "See Gentoo bug #910309 or upstream bug #1843683."
+ elog
+ fi
+}