summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-12-03 02:07:18 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-12-03 02:07:18 +0000
commit7f4b508a2da3c371c7e770aa6ab83b0c4237cd1c (patch)
tree81d78cbf05f5daa7d57418d32f44b0149a56a765 /www-client/firefox
parentd4f65848c7ecabb56e2f93889cbd20078cd347f7 (diff)
gentoo auto-resync : 03:12:2024 - 02:07:18
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest102
-rw-r--r--www-client/firefox/firefox-128.5.1.ebuild1368
2 files changed, 1470 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 478f5634690a..39b2408a10a6 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -311,6 +311,107 @@ DIST firefox-128.5.0esr-xh.xpi 418474 BLAKE2B 3e14235a1ea016f8d82f2e7f29b53eab2a
DIST firefox-128.5.0esr-zh-CN.xpi 675204 BLAKE2B 0536f48da6a89b1a6a6e60918d563c80ec92d08ac49cf423f7e38161c2e34c8be6b55ab7c7163aaf48b9970895674993067c4e685e5623a35c6876512eade886 SHA512 891fbf921523da76afbafe2c308aecead7839b8be1b9fce964f3e6e2604bc7454743dcf11e0ee28fba982ea9004c6afa8c4a5d044c0a0a74cf48735661ca4e7d
DIST firefox-128.5.0esr-zh-TW.xpi 677436 BLAKE2B 54f2e2256e57188f88994d7a61e0f7361f13e62a6c91fefa888b324a3749687f754ce58aea42e367e94008b95a97c31736f20118092c055efeaf5a98e99dbee2 SHA512 7a3edc3ccae0d2a47facc2e43a78c77cd4ba34ad086502c4b5897cd3e2b22a8b0a0faad14b52015611eabb31b656fbfc1a1132622bf3cb135f97ef4285061a53
DIST firefox-128.5.0esr.source.tar.xz 567200548 BLAKE2B b524796854d4f622e90c219e4e302e5665f3f1e3ffb7935ba58244903dbcf1c2b9a13731e9af5507ffc25dda621d4ea13650aae842ed0317843182da55d1d652 SHA512 ff20f18f92c5e9cd1d9eaf7c38cec61bcab2dca8dd2817519b712bc1f760b5c6e290212acf3289152764e5130e01626950b7ecd9327b2c587b24a246591afd67
+DIST firefox-128.5.1esr-ach.xpi 465492 BLAKE2B a63f39d088162dcc48bf63b64ad98db26d060cf77f3b63480c1c89d384126e4d1d6a09c1cfbd3d937fdac212289a18295e4e33e5ab695627a8cb14361852adfa SHA512 d23f41f394d94092d1025849cab7586d9ed2269021bb813b3b61825e6e8cff0a5c5b7e736e8aad33666102d824c2f0676ab8b2fa157333ecbf114a529b418793
+DIST firefox-128.5.1esr-af.xpi 418820 BLAKE2B 1a66e5fc2a40857ec9d11cdf8cb4f392e6f92ab7f446bcba79ccb3db252db5dc3f5f4766fd29fead300d0ab0d179edcc92bc3f2f9515715be6235ff28960ff26 SHA512 f6a909680f11c5d2d1bf0c7c6e68997b1aa906d78ed922ad4706212dd4492e8e37cd13bf3044c2dda132797936671d80ab4f7371f7987500f2c100b28416d80d
+DIST firefox-128.5.1esr-an.xpi 508451 BLAKE2B 1b6da5e1dddc8147112011e2170f99f940d7edc57bdff12f1fb5d40d088e4582f8f05271e2fbfeb500d573c54e6abcc3a10c0bfaa36147f630f86dcdbdf987f4 SHA512 477cdfbd161e7ce0af5d02c1e14b886cec3d00e237f696a6e6bf95c1d6fdb2568a86837b140293420bb39407991d5457151265c6e99fcd5ccbdf46b3f62523d4
+DIST firefox-128.5.1esr-ar.xpi 630815 BLAKE2B 22675ec9c433c9c04874a21960bdfc2db6b0b91bf3f5f571a0c6c02947a5ab7702666918c7df06263e6a15e344f753c6a667ead1ddee7c62ffcdeec6b03ac30a SHA512 99163df1eca04285eb438035f7d4edb795e253f3605b60232d7704a26371e7b9a702e12eb65f4f4efe0236272c47745b63ea540ac39dd8ad90f3a002139254d6
+DIST firefox-128.5.1esr-ast.xpi 497753 BLAKE2B 3d0ab62c6fbf1bbeee2b5010fe89e2c2c2f9a076d4aa76fb080bf115306735ab432efb3e4543e26e38aff3e7aa1d8e61d7f6a66f8f0f86d075e1878314b1f3fb SHA512 18da8af84b2e37e978511aa7cda1ec43a8beec16b9bc125bfd5d40b529a993b3d9a48d5735cd8228239131757510a7b184a4b7e4b037a237c56b8e65979a9071
+DIST firefox-128.5.1esr-az.xpi 492192 BLAKE2B 992f72f268cd1c6a9eee53a447ec9f0a4eb4a40d76c0bb877bcea4ba17cf502a6b20f9c38a3f4823210c810e4b8215e764bd43e37a2642c27458536deecbad6d SHA512 ea68c09bd1bf5fef8377e1f0052239d8075f9e33f2e5b7589a8af7bce9afbd1c2df36b7ec3e41d820ed15888088db4a6d078df0cb70354810723c6afdc83b880
+DIST firefox-128.5.1esr-be.xpi 731593 BLAKE2B ccb07a0cd438b2c895af67adc53e3b09813617854d4f624a6078126ca4a3821d47e4de0a21af9d4f21a2e02adbb71b58ced1124efc04ecd29e0fe08fa1f4bbf9 SHA512 5950366c11ee2d243b235ede9f315e0ba7373f78c78280d3f056a635034fae6335097e1fec3a37a74690eef925ca434d3e8c088693a1b54d615772ba517ea7b7
+DIST firefox-128.5.1esr-bg.xpi 647376 BLAKE2B cae419d2955a4483a0fcc0b9ef4a32246c39fac4c9e32eafb35a6dab6792a6790e52a37abe9d899606a9b1d2be76385f6f399b2d8a2153d861d249e1c40be2de SHA512 47c9a71903fe0049f0c7446a59f62b00388b21e15b6c6df6121d5eb93cca6d3556462ff140f2ca55e782141f0995c4dbfc7bf4eccb91aa2b01d87285353acc2c
+DIST firefox-128.5.1esr-bn.xpi 582950 BLAKE2B 4deca9d8b38b355ed5afc9adb1a4e51258b0b5bb50f46954a7d3b34867761b3a09d01abe970bead630ebf31b6fd2f0d9532962b82868f1ac9023421131df2a4c SHA512 5b050603798468f5560b185287fcd7d4e2ba8654da67f9452f37e417ec9847f8b3482c204950ece73ad01f88fb04ee3db3a92842ae2a1001bfe63925c88ae062
+DIST firefox-128.5.1esr-br.xpi 595343 BLAKE2B 06c1829b965071d566ea07a6d9f8ca687dd300687fdbee61d2c86ee5ccd4bc0e9057a6ef99d35aadac8006625f47f485e1e334ca163cfa7baa498341e25ae7a7 SHA512 cdb16862f11961f670f0e49e25aea732ad90a5edf9cf64ef3429b38586b6738f2102627561489ba0acb0567d3eba97111886ae8514836bc17945d664401e8bfe
+DIST firefox-128.5.1esr-bs.xpi 515699 BLAKE2B 35c0357da587c6a29b87b29da3c3d914afdb724e9e8145e59664829c771ea4466e930e1acf77fdb4e97788b75e6e6cb70941846e31db8a3a383fb6b0d06cac53 SHA512 a2eaa29d9bac149b69c495fe397b466ad87f04044cd3557719e19db859936d422040f366eded0381266dc8f97571c95f6500e4c28a3d89b400187e79aff39b7f
+DIST firefox-128.5.1esr-ca-valencia.xpi 547678 BLAKE2B 1ebb9855c363e5d9d9c04123ab15466934d8358ed0b1c45bdbc40a0fc598d7c9170ca07134e6c33670e965adeed7c2b0ea71d034446d0b4a5565c36d1028816c SHA512 a3113e64e8bc72bb0c8657488d64ea7798bf32b784542fb2fdaf5987a27166028c9571c577d12100f7d56721faa31810be17bbfc9ae34499e0335e955ceb58d7
+DIST firefox-128.5.1esr-ca.xpi 599210 BLAKE2B 212bf9884482f24258c6e2f8649b732415755f2a287f16410b43bbf68df1626cf8cfae47e253da2223cf97272032cbe498eb47f3626890127ee0db5cb8163a01 SHA512 f307a31f530efd782eac8b1baa03d6ea27c792680ea122ebcb0f403afd512664ec20eb2a9876c4d4703fbf1c14ab4d5aeaf632907acf776a95b1731df4bc4b41
+DIST firefox-128.5.1esr-cak.xpi 594638 BLAKE2B 1839f2e4d1af901c5a3278e90f9d7f45c6e6afbb777311939751bb6b939df6e4d2d421cabca2a1b8bb6618e9670814ba4da874b88ff2eb5d57cbc68921a31223 SHA512 fdbe468bdd9a9689864f1b43ce46396fc912f8ee4cd535e262203779b0fd27addd6f82ae846b30a3ea81baa8252d2116450dacbd3e9a2ced95d6cdecfd9bf1b2
+DIST firefox-128.5.1esr-cs.xpi 675107 BLAKE2B 6557cfcd0beabfa598ac828301a0ff41fa092dfe13f2e1dfa3615509fc781a9f5a2e9e316e1d752634d8ee1d67f78959ecc1ed4e004b12c2cb5e871331bba36e SHA512 f2251e0715d697039c6659c44cd95d22cc06db7c79782e4795861a6dca01e629edbb3f7d74942923a178aae47f6099858e9fcf384f28d0c59e9e8e7fbf835fca
+DIST firefox-128.5.1esr-cy.xpi 641511 BLAKE2B 753f5cdac35c029ec8fb3ba6df1c1ac521b532e03e4b98ca6c0eeb89c3f264681a89ce768b56901dc136a652c92bdf7ba87747d4e7b59588669a35fe31010183 SHA512 d62b405959f9f8d3b30091157ad0ced7ce0689680932622a78f5221b5ce99f08411d906ec4ab5cc39d2b59a92a93dfbc5802e7008727decb05c253ce4a10165f
+DIST firefox-128.5.1esr-da.xpi 624952 BLAKE2B 99f639bdf59596014f76f1bf1df5e90ce38a3ad897331cb4948b6a09f4a5bc543974ec6d6ea5663a6ed05d1e69f29f18e12187758a7b2194a26b704878c9d34c SHA512 a859c79265f008c3fa28b9af00e1c821a39a75dc90379564307ae54c8b8fab4b32b53efb93f19d60242c46497cb24c811d2d964825e49ffd0ec33f91eeb9794d
+DIST firefox-128.5.1esr-de.xpi 647904 BLAKE2B b42adb4b6c54f831be1b49928ca824a353dab00593db3cfeca7d35e6b11f04b2d5d810e70f86f07fb98636700229ef267eb8980f4342afab5abfe601184c4683 SHA512 92ad010d88ec7376b42aac784846d149c664bbef395df0fb2cf2c3d4510c67d89d30c5f82e39a2aefce74fabfdfed1aa7e7617dd0e3de735acd588bf262e8054
+DIST firefox-128.5.1esr-dsb.xpi 667675 BLAKE2B b27b576cc625888cbeb41fb07e2d0f40af6024091a775d5ed61e85e24a00975adf99a43c6284fe68b99daa22055bed63b4ddfba9dded5d39c200f6cd04b749e8 SHA512 cebdc87e7ec655b67092f55fac1994b1aacb69161a2c8f15e85c74744350e7ad08381d4822766139c8812d16da777d2cc305f1573aa3883cb8e78af8440a0f18
+DIST firefox-128.5.1esr-el.xpi 752456 BLAKE2B 07e07956db04093336010e4a29c4953568266de59b1661d3636e5454fc4a41fcd3befd2384341f45f9dda5a5c765c3278f8ad9b4df1a74113dbb2582a94e46ff SHA512 767b267430723d1c9d5743b11ca55ac98847854ff669160b0c117d68807a973485917bae16c3820b75dcaa66debc7de0448903f193bbfa292702d3b53c8cdeb9
+DIST firefox-128.5.1esr-en-CA.xpi 597229 BLAKE2B f88266bfa5fa14c84fed9b77134151e4aad15005d5a704c49c1684ac80c6c8ef9916aa8ccfc0fbcd5fd3b480375d87e9de0c17141edf149076a4b5e7ec535c81 SHA512 1dd05ff8969e7eb24dc88e20eb1a574e5fc6f19dcb62cbdf34a518bdf65cdf481667c02a117675381a4674dde9639f3ce3b06a546717649aeb85ded8ac05e453
+DIST firefox-128.5.1esr-en-GB.xpi 600780 BLAKE2B 5b9163876a82116147158cbe98dd9a505e7b32dd8b8662df90e90beebe2b82756af5374be61cb80f6f72bdc062fe9ecd49b483e768cd71a0abe658e74b99ec87 SHA512 950b77eced8fa60d108bf1682bd257eb1407322cfd9d6e290551c478c44477355ce04d2c4d1f3bb09b17b0ebe5cd10f584fefe01e4d24c5c873462d1392a09c6
+DIST firefox-128.5.1esr-eo.xpi 628829 BLAKE2B d4c38f633906b26d67ed8b3031c517c3a15d91a6211ae7544c7305594016e408a45c08690f80b930309c19b9f750fee8fd8fd819920b9b14b592cd8545403631 SHA512 4e3361dcbaed00d8d89d32fe214212e650e4f8f7e906fd78005a37027be161c1e6e1220c15aeec45279241e5d761abf18656bb66bd8a24733fb9ec000ac8fa47
+DIST firefox-128.5.1esr-es-AR.xpi 644958 BLAKE2B a116a00f5246fea749577e6bbe1cb8c0418d86d6c2fd71b574aef0477137142ba93801841b567a2b3b75adf5d405f501db59570d4195558fb91733ff98fceaa7 SHA512 641b1e5a17fca3e576aca23b3aaef47663502a160d786d6428c1f63d74fd725a6c4324c7d40d994c28e40f4cbc15dd1be9b1e7c3225f6be01d6b655f4420f3f8
+DIST firefox-128.5.1esr-es-CL.xpi 644430 BLAKE2B c41833801f4509ffeedb94dc829a54712711a9119628c43b86cee2c1ec3344deee0a17978d02d9ee90797cab0fe20c49f774512f09a39e1b400da4f29492b589 SHA512 f648dd7124230452526a49cd72da69ec3e5c0a9e92acbc8358dd440ae3d453504eb6759bf7bbf38c2d8cc9385ee0a328c954dbdb06f2542f346ab6ef52150395
+DIST firefox-128.5.1esr-es-ES.xpi 637344 BLAKE2B 35a30afc8416919db58aa6ada451d4cb7a7899db4f227683a4e07e94a7953b1b68007fbee7fe96cbe686135a2311e092a97d978e54988269168fbc481bc33f39 SHA512 dae331159d0e0e7c1b5fb68f2f214edab83ce679facd0d40b7fc0a534b7a56630df902735098946516d9d9eb1801d40b978b7955532ba337ba692a11c572d5ba
+DIST firefox-128.5.1esr-es-MX.xpi 638915 BLAKE2B 9ec0bb6415943bde6391eeab0c842f9eae8ede140e4b85279bb63625b53da53cea905a5ec6f190d12cf16fd35eb1a04cb2b043c2805104dca7d4d89c8fc10971 SHA512 495341eba70df8af88235c31fc558335e3a0b0322d01d33c009709ce88f7f6e12f75f8e354a7f466d51b7238dae9cccf52a1642cb6bd38f4007ee270e64f1b4a
+DIST firefox-128.5.1esr-et.xpi 541117 BLAKE2B ec42e0abea13492d972af2439c9f2742681db3b612b6d2471beabf6342c66f21d35baabdc708bb99815f4edf834681c45286f33ec1032c758dfa21db2f1a0ace SHA512 35a90a5b0c13ba1f47ffa4b63af322487c2d5fe5beb4e1a4ceb29bd1cb0d0737b260cc4585f69538f13a6a2d8acd6e747794d48d3f076d93bc1ab865ccc23e42
+DIST firefox-128.5.1esr-eu.xpi 612327 BLAKE2B 8255a6c732ad51937c37c11fa06c93f76cc586892a2eada94fa138ed07eee13f59b5d8d3405893414899bb2a277f8139f1fa507f692c4206e2eb81a3b9e04f6b SHA512 63a408b7bb65cb5d178569ebb7b3f4af7b8991a6363735cdea31b5a9a3948127b5be6b126925d7cbe8735032a1baba1d96b64a4900ac500b6f23506007013e22
+DIST firefox-128.5.1esr-fa.xpi 593833 BLAKE2B 377a22464508b33ba56bd4a73763b50a3ef56df27b04884fcfd78aebb4d5b04ab8972e81faa176e7262b0426ca2f9a350901f2bbe5ad33bd7f8badc7f3077901 SHA512 22a63b77305eff83f3fcdefe2af77735a3027c71174b01b968e9c72f3424c0a7f4def5b7c9521d0695ba7b82b346a4af8b966df8c5d6ef0ce31ec61414589757
+DIST firefox-128.5.1esr-ff.xpi 477470 BLAKE2B fcd0f76b2f01f5c100050a77e4d7ea13e076f56374dac43ec8e564516386b52033f9e4c4f80a751941ea8fd055e67b5782ad98e827f1b16dec310c53b5e9743f SHA512 bfff0f3606e625aca267f469bee309bbfd80b8ec9dc658134cd0a8674739de4ce66e094827eec717d478bff493b1e30134d5bd1227eae685985515febdf747cb
+DIST firefox-128.5.1esr-fi.xpi 623004 BLAKE2B 6e26ad67b2dde0c61e3896264dd369aa0ee1f3a7cc9919c932db4b657dcf900456c1bc6f1b097d0c836114f75f27b94b5a3792a79772d69697a14072d3af5845 SHA512 50bb30edac747a61c6fba8eded51a1f346bbc4305f9c0f579ba7c5f373c75d1d5cabf0216f897ab26c687a885e8ae9b30a20f563fab4619d4f128a8e676fb338
+DIST firefox-128.5.1esr-fr.xpi 655849 BLAKE2B 8c0c601982142b24213f743bc41805aee07535ea2a168b117267db797f84ca6489b91ffce6eed7c7f798b654159a63829993ab60d000237133a300ffe74180a8 SHA512 671a6e53ea6b966b7e86f680663b0d4117a019da99c3884c8ab57520e879b691b4f9037a5d9688a0fb25b2d113bfacbafc61ccbbd4e74c393c58dbc21cb86c32
+DIST firefox-128.5.1esr-fur.xpi 651347 BLAKE2B debad042dcfbaa9062b0acd947edafaa26a6563ac00ef5170578d292feb2a81afc52501b389edcf274748c0160e44e25c40f5b3cf91aeca8292cb9171dc79fed SHA512 568c3ff380f55892292b140e9f8d3c565f2a00b180a5b4c792bd831a8fa72832685a3cc2e48e35da481c48987fc4990bd55da6f93ed54d6d229d0e02ba80da96
+DIST firefox-128.5.1esr-fy-NL.xpi 640614 BLAKE2B e25f60eb67744b6f0e75fda9093c3f7a7f25478c8f1011626a0352b06992013e2ff08c81bdff256572cfebc2cbadc2e31a9576f8fb1f7960cc237c57a04ed519 SHA512 a236ad89e5da98764c726d92a1f4825dd85881a903ce6e2d636484ffd8e7877c758216ee1b7485343d26806d69603f53e5d861a505577da8c13f75aa02325c3f
+DIST firefox-128.5.1esr-ga-IE.xpi 472345 BLAKE2B e66285d125ac48f94dab62d0c01ab63d5e3fa5733c57368f0f1c5f1f10dc712c0affa88cad656d651a797870150159644ce81c1d5c3b3b7151462b939255cc60 SHA512 c6bdc34a29c71a9ac38a8f97d8ad9d79669be19f4f8b2e9d8ea6afbd4b3718d3920b4777fedb184cbf11a524baa640fc662cb1b658c18fbcf25012d5c1fe53cd
+DIST firefox-128.5.1esr-gd.xpi 598313 BLAKE2B 13d1a4f5634348b27b7d34f35364b124411a3cfc15863183af9ebfb945d0078f8f13dea6e5b3a7a8383b471fd9c1068d4b4d9918d8d9a06a094e5497d12c4d08 SHA512 f753776bdc6fb898dffc96667eec7cdbec9d97869e4fd9103a67e795b64e60dd87cb20c28aac7eb76e3e861003074c7902fc23f7b9daca126aaff729f66d36a9
+DIST firefox-128.5.1esr-gl.xpi 609631 BLAKE2B 54323198c301186a61d1e21ca01af466a7fd36eae10939632cbb5a968d61fc2a262851b7c55a037e35516940f3ba362bad460db58c53de6e71584385ab8d77d9 SHA512 da3914990401b466c71ff7ba4fd046d42335bcd8503baaa7ea2f585fc2136b0416d4889c07fec675785a771f0c1196c9fd6a5c94f67cd17a56c215ddc8a50840
+DIST firefox-128.5.1esr-gn.xpi 652869 BLAKE2B c29f61a8ec0a6b9e09da9ecc17611649ab53541d068ba5085908897a89f48354bb398dabf6353ea2dd47086c2f78ea4a6c0250efaada9fcb6b57531af5642307 SHA512 f501bcc83f52dc4262ca5ab3f0df142b083ebd8787a7a1f82058e88e16279b7f9a47da731c8d4ea74c903b256541162437facf40c7bcf01556edac1b2f1a94cf
+DIST firefox-128.5.1esr-gu-IN.xpi 528781 BLAKE2B 9c9cd26ae5037a8035f2e51a32582571d1a18a5398663cb69a2b8aee04aec10a426a553a1d59ac1095f42e61e522014ab4e7650e17b1bfe0501294afbaa16d7b SHA512 f2b923b2350643dbd70c42a134fc764079aa8116c37fbdd0a1e1bd0a4c85ae57c16a0a92f41fdfadb5271e1a6c4eceab1cf23588b966afca5fd274d47387e3df
+DIST firefox-128.5.1esr-he.xpi 647292 BLAKE2B 23731f770acda679e89b5e2dfd5bbb45d1e3128158cbc14c5b71241196422a4414383b993d865f8b63da89f7ff09494cfb24c28cadeaf4b15ec719bfd39808bc SHA512 e37270be9ce1ccb4a875459deccb2f34348ec0423967617c35086fdf99cf8685858f900a376c43799dd8135703fefb9bf9b786945435e90c6399a887ec600a17
+DIST firefox-128.5.1esr-hi-IN.xpi 568352 BLAKE2B 7717a99d532f3640d2fd204382ec903ecd3ecfaf36d9f9bb86a93acd020a7b7ea8c8b018a0d07e34ba8c1b8ed2d1d60c7cb9d0576fdb2034286a736a37d0fbca SHA512 c4d0f132065eefec539003fbdbc22b1d0a6ff5138514c2dda13f04782b5932b5766baeec5ee742f0ba6471215f9969f8630238427f2275c505533fb3ec438fbe
+DIST firefox-128.5.1esr-hr.xpi 619163 BLAKE2B 749c0367e4a71ebb3a335d717e272f880b2d29caefa4036fd7e8c2158b6db479fde113b7b512efd75a435d36806d647b102f73a8267b7309fc6dd29d4f48b1d9 SHA512 f6cd693e488d3efa6e58c557dca647649792f01877a7b6f1d71582cacc3623cb8b373b8f80707c735ab3bedf77ad46cad029fb28af22485cdf12078885d65a31
+DIST firefox-128.5.1esr-hsb.xpi 663537 BLAKE2B 04c05188197a722bcf1efcf6a860d50b8577a39203a299d9089372ee92813d99d9b127499585e03f9644db34d077298642669a2951b073dd7a1d496181eea6f6 SHA512 393e70c5df40d8338b48b0ffa58c93db817142914d853240671a0fd2ddfe029a8247711f2b82bc16fec84ab3214fe31ae467991684c23905a72804ec6bfd0dfd
+DIST firefox-128.5.1esr-hu.xpi 667793 BLAKE2B a9b2b88e967f51de89c8d9de777a9850ae4ad16d6e5771a96d138dd9a38d3dba8122f7de9916ff249f263ec591d35225ca471e3d00e2a017a6311fa2c18aa3bb SHA512 7ac405ab6f6592e97e79ec40102d49e5b9f7fa3a0c47a0949b1d19f61d7593512f047f791d4a8287af8d91d173faf34b57e0b4a4f7d3547179137d34f8376763
+DIST firefox-128.5.1esr-hy-AM.xpi 653041 BLAKE2B 7f77449826de0dba2c08a9051b148a5f240b2f1cdb6321940ed59f6d196f4da22cc418046e82c6611a4f55c979630849a8798a46e3b1d233736f42bd59cc341a SHA512 c03afe92932adbbeb467741c7b78b2b170e910309f43acc63ff0807157fc4dde35ce23ca5ce150dbe91454d2ce97d2805d9ad7d9a7c321c55dfff73311ccc508
+DIST firefox-128.5.1esr-ia.xpi 627659 BLAKE2B bc0ee10175350b06331651b2fb0f9f49a558c46024e54a5be530e6d9296f3a3aaa9b21b1169e230397b62769f3ae8f1231435a692d91146050f59ba6901d1a61 SHA512 252568cfefce1926d7c0d80529fbcd8ea5e7ffba61ec7c2d332ca0b863c417ba9094bf3fe1f79e48f525cd606701439b8192049ca3fc486adcf15aa83b028840
+DIST firefox-128.5.1esr-id.xpi 587631 BLAKE2B 998ce260fcf8f31f9337b25f43d88df06448c8481f2246d4fd3ca7c53472a0907648000b09143f8a10f5ab225d10cf202f8f54520db72978b9808358dbc5b71e SHA512 343498935cb3c87cd210f6173f38a94e1a2d9fda388047aeb6e14806d02082834cff1f21c3d0c68ff87217549d83b6d374d9970cf76f65994255472380c8f353
+DIST firefox-128.5.1esr-is.xpi 630672 BLAKE2B 6810a92991e6ae67867bb63dc61f09cde655e7e77dca9d88659c68e07b3357654bc974fbfeb7040581eeb6105862f79c058ea43c795ab4f07762c153180f7da6 SHA512 6383e4ff82d387549dc88651bb3719487ba0db10d39641dabe460f0bff724f0cc1173049c50508fcecb2eb2510d8f4fce184f7c51f984aa2c8e3ef51b337f60e
+DIST firefox-128.5.1esr-it.xpi 584341 BLAKE2B 4faaf5de007699a0f4d2e57107ef69a8d74b9b992696049deedf0435ab85e8b05ebdfbefcbdd2c4b0501a90fe10516ab5a6dc4e139387f2265116d74f4c10dfd SHA512 7db2420af7fba7b74bb6bfcdebaa16ab39cad13abad827210a9693d0f9f6b0bf099b34eca10848f3d3cfd059fde19de49e27fe05c4ba52bdf793c2cedff0bfe6
+DIST firefox-128.5.1esr-ja.xpi 691954 BLAKE2B bf3b91348030ab5813ef4084466dc252c47f48fb039df811d983d438670b76693448ee1b7fa16ce24df9d9e4a19a76160231f60a419aab5d1773dae1328d60b4 SHA512 c44f6de971e2a6258f06903b4e295f99f0d8024fa3156da90d42ad21318db8a840ab9e9fee11aeb22fba2c2b296c04d01f21b97f2be783b59300825912edf296
+DIST firefox-128.5.1esr-ka.xpi 662312 BLAKE2B be36ae6adb95f1ae4c15904928d61e5fdcb64c5ed0c743f5d0eb975d4ad73a190309c1274e01b5377c77e0c2a74d8af89489c66a68968fb1965a137e02c1fa2d SHA512 bd4d87deacc22cfd7ec081be15e1753e4ee0c07b6a36d27ee005d1b4d4f87e761b274794f4ab3a9bf16d68c14167eb512209a2029c050bd7c7af91860140b98b
+DIST firefox-128.5.1esr-kab.xpi 619270 BLAKE2B 226e7a77b9e5bbbe44176a8f0bcece18d498e7c25b33ee8fb27a4ec68e6b4caa21568788ae24fc349c26712d34376e21b15906f6f51ec5ef9b560ac87d98a90d SHA512 d478589ac8d52257ffdceddfb9196593eb2b1b5394671cf695a3fda2848ea3516396e659191b1aea2e85e7b5ef310307a8902bca170f82bdf97761237bb464a9
+DIST firefox-128.5.1esr-kk.xpi 727326 BLAKE2B 4c2e19c0c72d56dc35a8943a66491202c481fa72d311e4377640c0ff113437214ba0225263dab27ec59e7f8dbe0f5d0f58fb5567a2d9328d2e468e70f2e52eb6 SHA512 c5d9d51d6f13f21f2e04acf1a6965cdf75e0674e7228ccd0b9f083e97c8f1c03f67757b1866ec7803dccdd769d2c28776d638a2de1c38e759236e1cfd4a3c6df
+DIST firefox-128.5.1esr-km.xpi 527178 BLAKE2B 85c6e1dca51c56995cb07f896fbb4ae3aac4d8a1aed3a00a6443ac77758fc4c1991671249707298aa947e28507d7a23fbf2c7765ebad38b7bdd8e17f1ea897b5 SHA512 10ffa99edc8716a3c5b510e6d18fdf1d90d7ce0d549b10e88c1c34a3fd37cf418c00295db88c244d143cb3d88e5b41c586f2ea440372b77f53168bf797ee1627
+DIST firefox-128.5.1esr-kn.xpi 492538 BLAKE2B 78e73840957bc2c5460a3a685c1c8cd2ce2b96331acf38f5a8d218cb4fa102d43afad466c78d7f4c2668717a60cc345199eaaf9006f9c191d41f91188ba19149 SHA512 139c1bd07be3a3433ff4da4f9a8831290b07fbb9026394275ed29b26a6582813460646e390869115699e3efe2e19acf6c9af49ea0a1d9d6bfa2923f155fbe940
+DIST firefox-128.5.1esr-ko.xpi 679377 BLAKE2B d789c5397eb3ef90ec75b0ff99a657444ef7051e32b23686ab2440bf3e0061151cf5bfccac98a7c5283dd2b9d1ac6dc684b67057b6830e982917d9a16f14314d SHA512 732854a80f6062f620d5ac280d5ee3bcd199b4eccc4c78061866768c212a9009d6f34c735075ff26466eef77e1992d212e7c5e85babf5d44a7c7c229ea174947
+DIST firefox-128.5.1esr-lij.xpi 485529 BLAKE2B fbe19dbc3da48313d2792c4dd37cdad45b0575ed5c6e93314afbb9348cb9438889cd6a8deb8ebb3cba96100c18797d40dc1a6889d2e212e814a2cfac660e335c SHA512 26354350784f51192e8115531d1c05e4afcf52371c4cf5dbe1b09e15fac13ecfda552a831cd516a875a26ec4e149c5e0e388506bac3b4959a5a1f37159e82be4
+DIST firefox-128.5.1esr-lt.xpi 574123 BLAKE2B 201835cea15528e0152d142299f222306eae6cb8825bb463e7918026ea189a8d74b9221d8bfc335633533b016d5ed614a534963b77ee63b365d2743499f5b285 SHA512 a5e9874a902de629bba988268af9387ca772c5ccab6d44f25edf4239f5a5e38a1e0586c036f70d7a2e8a2462c194330f6d0ff35c4f4d41e536042683c93d2c06
+DIST firefox-128.5.1esr-lv.xpi 587203 BLAKE2B 10303bd848765055369dad43aac968edfd6fc4b0533fe04271d5984a14b191863454198295145f4d346bc52e994e80637608d30e422d980a529b9e00e96a71f8 SHA512 c0d65741e9a434f65ed07698f97c146dc300c1f180b8eb0920428a7489de2ea75007e068558cfde3e9368df59c469c7e4e0b87f492fa00b7b952040c04a7a83e
+DIST firefox-128.5.1esr-mk.xpi 495172 BLAKE2B e072c75249990c136ae3f6482c8f8649246f3e7b934dd99340fe52254debf7b0a954e6397cdd5b8b9dcddbe8525fb412b2a2f434ff8247f1f5a68c560f081a9b SHA512 a07f2cb22063e3d761d0f157fff3f18f535206d8047291d06be48c4c4ca4c6b7990751a45c82167a3d74741e3ac3619a3a23ae3ca902bdc235b0d17eb4d546f7
+DIST firefox-128.5.1esr-mr.xpi 533544 BLAKE2B 7d3e362b0d8822a9f03ccdc779810dab1b66396d194f3d6946c8b3702911a5dc6cea66d7369f7d0b333a93d4d8fe01daffeb4a72348b79221f5d3c13c5def406 SHA512 0e6ccbe5113720d1b10fca7ea4c249eaf552d6156fd8da28e7f39d5d5e8fdb0290baee01888e2e9eed13673c52aadcfefaa4b1a601f26d23e9a8b960ab36b5fe
+DIST firefox-128.5.1esr-ms.xpi 451150 BLAKE2B 373b4de4a5c455cf23e4d5389ae2a6343d1a2280092846c41a62e9ff4bc2c02711d62a106a152bba806642635164b11e5970f0683f71fab6fe749313fd6a42c9 SHA512 a6f5d0a639d7da48f8bb688b0d519a4042a4ad0a6aa76c101caf5ac5c111caaeebb917e710ff3edb929d569f638d4a7fd963c5a32b6249462b4c98932803b3ca
+DIST firefox-128.5.1esr-my.xpi 519900 BLAKE2B 21c7e0a7891fa700e13d726b9c7d697b080b8261f3f93178ca4a8d18cec46204f0d93a9d8da3ce7c4f4a38c12b1bff4d24c5b58de996cb2c77435af1fd74ee3d SHA512 e1c84dd2c8f44d251689096cda602534ee7d8e8cc865e6aa5ff3ec5d0e0028ea7675193102d1acb2c8ca06f823faf9707b7d03cd43f78eef701f7ef2ca7cba31
+DIST firefox-128.5.1esr-nb-NO.xpi 620010 BLAKE2B fd399d9dfb1e1811b1f928e3cc74517fbb37cadfa33f12731b50b25f61dd28b099bd10807d9ea947bdaf7bf067a3af113a5a67ba573482a7a2fdf4d31b20ac7e SHA512 4a78f13573782ee8eb657fe1791ef7e5e2e683c77b708812699fe9f9bf54513a4e98a9e5583443dc024f54128a196a7722e75b6d6e5c90c025592fbd8b0c57e1
+DIST firefox-128.5.1esr-ne-NP.xpi 522141 BLAKE2B 71cb0e5349ecc78d66712b93ed9df63fb2285eb10e6e90a5ce76a5b798fd02e202de8dd1bb77eb76373c8b38798f3b7eff3df1261ce6599ebaeb6c6174908507 SHA512 6ade6baf8f8bacc87512130e1d4ea9195430f8cf297f36e2872d19b4b9dad4e55b1c458fba19d7d256d39b136085bddb416570dc231dca3d0d627f844f88964d
+DIST firefox-128.5.1esr-nl.xpi 634305 BLAKE2B 17817f4f1bfc2d4d9a2ca160668e57ef1cecd245ba8c2126e40d8a4f0041d2001dec592b8273c8b776535b0604f5bd12115cfdd890854d194e136c0f1e2381d8 SHA512 415debdd1844f2b393c16754efdaa1c75c4dd6e7294fd46b0f977fe914a7ef6addfdc7a7693ef651abb1260b6c469c710177bfa990676816295fcb124a9b3316
+DIST firefox-128.5.1esr-nn-NO.xpi 622819 BLAKE2B 8c14a7aae53ca52bac879c7c6d99980e3d00378b8b066990bc9c24c4988b78acb0864c49955b4da2d3a919d21236ca950632ec1f4d3bbd443893d252acb67c7d SHA512 f0c523af5a30296d60672a9783c0c4958e0b17e2a27e501f8fb56e1209b58aa558e6efb4024ca48e036a1add0e644b168d3f4f8f1f790f9cfe9dda7e2dce278d
+DIST firefox-128.5.1esr-oc.xpi 615781 BLAKE2B 9e46ae7ab52642c4ab79447d727889f3119889f14cf7760d182c91ca947fc3e3da0e62c06c90eb36ce0ba4db75cff20a0e3db1cc14c8efe7dc0908f03dd328f8 SHA512 4de45c46e14b6f45012f5f5690bd8664b1e447cbc4e1127c10027dbc86b56ef60ab9e21dc966b9a023b4b4e679248a504413226c7f85006afe762bbad1da9ff0
+DIST firefox-128.5.1esr-pa-IN.xpi 711071 BLAKE2B ff453be664694e9b6fea63d2a5746515cc7de5c9883c1db6e66154459d28bb923d4d843945371744cfd14c15f377ba95ce849e166d9728e6da34c5b54c21d40a SHA512 c178b4e09fa4b1076d966b250c57921b12c61d1306b68031e545c8026e3fcf9cca52ead2d43702105214ff63d05203831c50aa0eec893c8893995d38d12cb037
+DIST firefox-128.5.1esr-pl.xpi 648780 BLAKE2B 7e176972c265db9568e610322bb9fbe9ba4e02225cb4b52379c13e5c290aac2f2c3a60c54b2ba7883cb7953f7993daffd1031aacccacceba3651b0642348b620 SHA512 8f3cc2f38071177a890eee921015dd9f5db8938fcd6c985caf5f052e9eaf59fc0c4dc7d0f50b1e8c423e7ad5829e1c297ec94e476c41726bc6e67b8554133c00
+DIST firefox-128.5.1esr-pt-BR.xpi 638905 BLAKE2B 3e5525f3aa7cec5b2a21f9832f2557fdf140276ae5ed70c261a40304ee5e03bc21978f7d1d89f3b9ac58b80a857cfea490a3fe36a9c84686c6aaf73ad1c5a430 SHA512 0e2f457faa1eabc15c512bff2ef85173504972fd0d6ef00a4756aaab199334cb3ab05bb08830e7d3967572ecbd4be0824ffd770f6c9e314b6c58e212609d4dd2
+DIST firefox-128.5.1esr-pt-PT.xpi 642494 BLAKE2B f5e202e9902f7481a4594505cc3c477e42894ba903184a44b936f872c8006b7a23bcb9f4d3b1031ccb265b61425288ea4b6f4d5ac80022e98bfae0b4898256a9 SHA512 406e6687f5da1d2eeea14b5c1c6ef3b1681a48179e804f298a57dea43dc1df2efce3563ddc9cbc35c9e3fdeb0881e97e6d51f330ede7af2f1e62827431e3a345
+DIST firefox-128.5.1esr-rm.xpi 631429 BLAKE2B cd805802421b1f7cf280c163b5e4f6a4ba8460afa4e5e14b63e1d69d0b7bfe849de9e72cdad91cfd2ade789f32cb2067b2355413bbdeee89bf4ed5648b39e9b5 SHA512 1ed743b168886b0657fc0ffc0dc931d288f6459943b2e5c7779a754a8cadf695653a8f0b601ff10cb9d552f7109bac4430c810e2b53dbf0167f3369060509c83
+DIST firefox-128.5.1esr-ro.xpi 551220 BLAKE2B 3af7a52d6f6eeb932b966e7043e51e225d6100b18a43d920d5b1d877aa74b42b8f4032846c3f7c69285d4f6204e128759dac8d998c097f4b458927ceebc6204b SHA512 27cdc62ec4fbbd806be77b51ced5de94395b03dfa5dcb7ddc64f7d68dc3f0302de0278e7ecd87b98cfbb08ed8470ebb472c714c5d32c77fe7ecc0633c64666ce
+DIST firefox-128.5.1esr-ru.xpi 740415 BLAKE2B d5d11b1da30dbd135de99546f6d8887f4204f556403105235c947a3580859c1ce170fb369b435045f1c09269aeef875b0241317cb2414cc40c668e0a3833ddac SHA512 9098f6f112605f69734952206078f1769a6ccb299a9680dd7fb37be268355b6f32652290501bbbe8e5c8ef5bf09fe5d9036574e953b1e422931b762512399290
+DIST firefox-128.5.1esr-sc.xpi 598930 BLAKE2B 2fff78fa8058ac6b3b46f5ea34e38f837fd3f49b99058e7c7a494079493903fa0eef5765323f399c649000116647fdeff06bbb0c1952c4cf4dec5b2027f38c47 SHA512 7155d55cd62d04b58d332d0ed1665d244008bc400a7f6ab01bd3268f0875d6ebeb8a1ab54d03346c87632ab071575cb4c8a13be719f3302903f02504c7ef30a0
+DIST firefox-128.5.1esr-sco.xpi 512705 BLAKE2B 41b7081fd2faee088f8c99df9726486f25df972ca58af5bd43136d4c5aed886ba14f35ccfc4cf5e40a1656cc37f5a7e9031614982e4b54da0b21c261bc8e27fa SHA512 7c8e8888473ef0a808ce5c5b4258bbb1d834ef56318415ec44f54908069407717dd0afb91e82086d81164575f16ef73956c8340537546cd9af72d5d1d3962bc5
+DIST firefox-128.5.1esr-si.xpi 621563 BLAKE2B 57b6792ce61422c4247d445c3950771ab6e738be2d8b01988c633b283626881b8adcecfe5c66d2bd81167ee3bf5a886f43f56e705773e6bc1b05d383bed7651c SHA512 91e0a3b2822fe6d9ac9e0d2ab71e4ea774d1b3c685076128eb004bc13ee4ed96ca72f36481ab138d892134b6c8aac564afa49daf859cbf8801cd62d0a97a4484
+DIST firefox-128.5.1esr-sk.xpi 670792 BLAKE2B ced2bb92a40f81ed133b5767885749455cf54df075e05408d0467249e547eb6a75e04d4bc74c2a34fa0e30b80974f79114164ce98d8283b1192ae1555e011ad1 SHA512 486fee6fdac257b15a10d647588b79967f4482d412438f906ba0a4b9cde67dd2142704b60dc6d748394da2c9802df781c7a2ed633eff87555ae668e021558356
+DIST firefox-128.5.1esr-skr.xpi 722725 BLAKE2B 9de60a54e273a1db041a155e1f08164470c391a50bdabfd25f90f912ff3d4cb8ff39845ba53a2b5af2b7b2bb3c9a107166c82bb03a7465414ce54f9441a3c937 SHA512 a620db4da6fe2d85f1b1efbd0fae6806fc4aea3979d0ad9e48b318937f88430cd74719c27ed5fc22c7b11c83f7e801f87c7c49e8a0f6e5d8bfd88a16f550f855
+DIST firefox-128.5.1esr-sl.xpi 633855 BLAKE2B ada274869ef8341dc37514ab38fd772feca6fe44f963332063574794d5f92693f41edc0783aac2369beab8b2d4118a282089b037c62de7b470bd84a79d78cf21 SHA512 e31bd61810c1e7dc3db7d6a75fcc4a671f68ccc2dc44bf076ef577a164c07abefb88247abda604f9d707db1b9c909a067f1cd65b87c57beff60c16907e4d0856
+DIST firefox-128.5.1esr-son.xpi 417711 BLAKE2B 57e8156511a18dc50f7f379776e23babf1886c666122d3e49538c855a309116f1e41fb41b224b6721ff7cb871cbfbcae1452abf0f510dec8ea678d3ff0898939 SHA512 c89d4ba1292450b0cd4696233b8a74263e2fb0e2ac261d481585473c1ca76105bd89355748a73be92e4052807502679cf1d1281b74ae35a4e201d68b0a56dbfe
+DIST firefox-128.5.1esr-sq.xpi 652184 BLAKE2B 7f6b6b58c76cd07a8198b1fca7fdb3dcf75d71ec8e4c60beba3f8df5c48a15b9ec1488ce5b51faf7880cb5c98b1d0ae348f6914cf2126c9c2b2974f80d93b286 SHA512 f490f152fcdc33b32d52a62c3886837c3ecfb889a9cc081382fa4abf97e497d2b0bcc4f773adc26eadaaf159e6591a60d5fd68b96880dece3f82ab7688a7d654
+DIST firefox-128.5.1esr-sr.xpi 640903 BLAKE2B abc13dc51eea6c072a86587cf3e9014d5153d46c0e3b92c22004a3ef8883c8f736bb12f52de389fd2fbfbdfbfca5b792f383ea0ba88885e9ba2c813a7e23d2a2 SHA512 7cd7d3d54f0b1dc8a0f9efca5c4ebb2c42527f13cea70794fe9db1b43d92eb0d85d09157964243d0e621b6af2e281a71a90080979d4e05a1a9de3beaeb3a628d
+DIST firefox-128.5.1esr-sv-SE.xpi 635637 BLAKE2B f64cd27dfb4c6ca15591156a22bdc5321221d460170876669a92b437b8d7a4e080dcc2da1f1363dfa2f0c59d3273f5f6b1b7fb2325298902906e33e4bffe0e04 SHA512 7e9de909bc6ef6836bb4e5959c5d27add903185a23dff905947f1cdfe42a860cb2abd93dc23a02a711f3f41741071b84ea229eb91aa38236ca7038124938bb72
+DIST firefox-128.5.1esr-szl.xpi 527820 BLAKE2B b2c6ef766e2bb04c6f8fd69ad09ac10e2629c821dd564b5db67aa0e03acc9e10d65d5d2896585906fd4f927d77f8d44c82c128d42c3c187de94dd79bc32bdd5e SHA512 60e6b3ba00a739c6d04ed5084267d42531a8fe22956e7ce4cf85d5ad707c6660e9ebc34a0a3fd62595594463db819ef95226cbfe5cb4a5881084d90ba20fad24
+DIST firefox-128.5.1esr-ta.xpi 508808 BLAKE2B bf5ba66103fdfdf3cc86ce4a7edd11ca7dd29b9d14ac921d307bbc2e53db42ef87ac3d3da1b65bb9a11268a89c251ec1759b8e82fa2d77942da60c582cd38a15 SHA512 0f8a0396b1d110d64ea84c1914ece4cbba101e5a299e449a11e123b5f6266973af3498c685a45c73127340e027b62be97b41620e8b33e8d7f467363acc1fa1eb
+DIST firefox-128.5.1esr-te.xpi 565160 BLAKE2B 2c63eeaaac71a9b33bb9c0c015c586c4beeb4df8b1734deef5bf74b17ee1b20c3456943fff0108e6651dc0f5aeb5cf2d21b77054b022c40fdb20914840628923 SHA512 bb42652dc06b6e5ec97782acc225039159c71835bbf5b0b57e43e37d74f631f2143d841c09095caf66ae6383c61e5408f9354bf44f4d3cb2c5727b66c2369abd
+DIST firefox-128.5.1esr-th.xpi 711783 BLAKE2B 632b4741ecbf2867729edfb4a34371b61947b1dc7ca06d856fb71ab8ccca5b8f02199088a4d8a927eec81d3e70862a803979e9106a909c8b401fa56817bdb5c9 SHA512 5107b097255a97e851562936b73b897ae7d5f011bb97135326b245f85d1d90c1dc68e4c22207e901e3ba44b52f591056c50d6185c43bf72d02d688e097b9db6d
+DIST firefox-128.5.1esr-tl.xpi 535614 BLAKE2B 7c0cf241b573a5e0c5c3ae9710e82aaa70674c3713fbfa9d5c3ab39758864e6b2076c6b8d0fd0ab19422c4b902491550e0ab11fcfb29273de3f949146e8cc8ee SHA512 905361ee3e739ebd0443c9865a55d143d1d4500491cad9cd686469bce202c845cf6810ba3e5bc085d283b93010fcd6c375e085547f0371861e459db631efdb00
+DIST firefox-128.5.1esr-tr.xpi 649209 BLAKE2B 0e227a86167bbd4b86bdb8b0437e5905498f936cfc91feec0a1fbe99fd9da99db68742f885a9ac772ac6df6d34bba05b9a3448bc0d00d174b52f021f1f75fc76 SHA512 705fc314f1aebb880baa422bd3e7be2b4ded545f6745819643d55d6dc71d931eaf7a07a85a01ed22860f0ba57ad4ee2d248b968ee40541780607e80050b00d47
+DIST firefox-128.5.1esr-trs.xpi 505791 BLAKE2B 8ffe7bb6e6e1023276bf70e0381f8f387211e2315a2b842352337669f44ecde9118a96d77d6bae6d07c73aefb538a29c696ea48912cd8fc88d0250c5a2c03556 SHA512 6be45660fd383f8ad356fbaba4a77067ea3db3b6d9ba0dbf319694ca30f085956cd32b3fe2a9f4423e536c341c1c9e644e4e93b9edb9855783cd6dc4730d4d41
+DIST firefox-128.5.1esr-uk.xpi 731694 BLAKE2B a460fb7c8b2fa82cb3e0c95835d8eac2c6b7b1df42853a979238c31d9483094ff52fd1fa5e02c4ea584e5056f2ceca8162030787637c12002fd60325b3f6c8e2 SHA512 9ea74032a76c7796db6e16a5dde1aae9112c5a12d626a8ac8dce60081c4d1e0a4ef94a9d586ca2599e8cfaca49226a195c3f2474771db813e7588888dc409412
+DIST firefox-128.5.1esr-ur.xpi 561774 BLAKE2B 37f5a1c270f7d89240ee2e21368ee8041f74072d146991432b47ada22f0757e7fb88a31b34185cc578ce63741445e3f492afd2cbc49811c8acd2dc9f3d429d50 SHA512 1d9c01424e7119b78b53b8836fb8c649a31992a24d80b55273cf558e2c9947fc55f2510f6a5242d25a4dd4ec77fc39780972dc7ca94852af9e6a2854244d9152
+DIST firefox-128.5.1esr-uz.xpi 480216 BLAKE2B 2c0aa2c7490d2ef9ed928401802d0eb7e2e23f619674d1f0fda332f2d0d8e0b5544d4baa5d9e33218d49664b57c11eaa6ab65a43eea9c3bbe46a7cfc36767125 SHA512 da036dec083a885f3bedfc9dca9648474634699979bd08ed5b1fc56ffecb0cc7e0b7e5f3ddc15658367c19e322abf31f510fe38244e81528978c434c92372886
+DIST firefox-128.5.1esr-vi.xpi 673236 BLAKE2B da0663934b8462460f2a733da2e1887f1a6baff666fd5fee1b7d7a4b0ac3c0feef104d311405de58611f5f917764c60556f4b1b23aaedad76f0c0906c9fd1cd1 SHA512 88c4361a4e235a55fbc35470109de473e7ba5f448d2ba529ae30c428f6b9a2f950c6cdcacb06eecdca28411c90a430772a085b13028e0fbb48b01edf387684ef
+DIST firefox-128.5.1esr-xh.xpi 418473 BLAKE2B f380e0e675c4532fdfec0e685ca53608cde69ade595551dc334a9f732d7656949185008246cd52ce0192aa6247b5a91065c66040bcea47431b63e9e63e764fc4 SHA512 9a80f686b3b9108fd63b37196845b4ab0c3ad3d177962f3de51db6b9b126b99ab4d6295fc07908d550ca6a020134d3139f424ba4d8dec794f39202cb93f8e949
+DIST firefox-128.5.1esr-zh-CN.xpi 675197 BLAKE2B 5ef7cbbd136ad19effbaa3e27c6e0d16627b5f0cf38fa849e4e88086f0a421b9b4e1009e5572573c3f69f7e93509433b0047690d27784247e5990b5909233844 SHA512 d82fb4e9eecd1037d7ecc9660d656da9e7d679a8fdb850d5c4109d0c8ab20fe5dba0325d91efcf4025b1453d6c39e0036c20d18314ff6ce0d4a918c4be0b79c2
+DIST firefox-128.5.1esr-zh-TW.xpi 677431 BLAKE2B d7b0a38dbb8a14146d2b26a5c5885e89c89a7b9ec2638eb97ea7d7f0157b57164b29ef7c26461ba196222809e86ff12befdde48be30ac87e2ed5d1b258d8a8be SHA512 44da6850818affc80e9257150d6fd001b50f238f2e40b61298329540cdaad94b6431c5a3d522f921a8f9b1393591ec90ceef654c7403d01f0deaf3cf0c77ab56
+DIST firefox-128.5.1esr.source.tar.xz 559760256 BLAKE2B 45c1e9cb54ccc031ab8ce53d61337b3105cb76c7a00043ca62b323aae968c3e3642fd5141355a96b43fb3bafc43f72f4127d6bfdeac6a51be2f6a56f0e66699f SHA512 476d71ff45a7178301081191d1b4c47fb21b42618f12191605f95ad48603b84a9150cb5c96f668751a43c8f6a4a43ecf337d38007d8e2b546f006faead2d66d5
DIST firefox-128esr-patches-04.tar.xz 14416 BLAKE2B 0ffe3fd568480e37fe28fe71d5304e51028dcb8cb2d5fc1d838d725bdd36971696d7152c37bd90f7802c75e696aef0b1b075d386a906b40635f25083a6a58239 SHA512 adbac956dc2d6c1c29fb6641a42096bfd033a662f69e177f8d75a928f46d30fbc811e8a9ca24de8c7eb675ee80f6c1187f1a13dbca8e75782abfd54e276f5854
DIST firefox-128esr-patches-06.tar.xz 17168 BLAKE2B fc0a72af6a87519a86e44862a9c3d142cac600c9150b5bc4168cbc6de30beb0dde2a5985d74b51c9b977ee5272786c5a98804fb6d16968c4f517b28deae00fe1 SHA512 04c28f6f97a596e811e986bcbe9f5dd5045c24e7eb4b9bef6180d46948a9f3b978f44bb0b161a25f6217e9c0a18d88726b82737a72b711b90876da26d947a256
DIST firefox-132-patches-02.tar.xz 14984 BLAKE2B 9ae56d19ba391bbc53a6babc72bf956c7bfda293aec52f5b1af3994238494d9c311e943593f6d8c2b89f7b24a50281f07248e684a6a6ec4a3f54ba1792125faf SHA512 9299d41830d91ebe558229149afbf66ade18f3925d5d30a603eec6115a16ce4d5e6c0a03193e0967ecad35fe4bfc1bc639f858a6df44372132541fd1aff149b3
@@ -624,6 +725,7 @@ DIST wasi-sdk-24.0-x86_64-linux.tar.gz 118879731 BLAKE2B 385dced143f463427e48839
EBUILD firefox-115.16.1-r1.ebuild 39187 BLAKE2B 2e708bb20394605304630e3b9e12b4dbfcaf9f300d6b60a182e943f4c7f19fb5a1996cd6c4a6216965b5c04309613b0e9cfc82053642cbdb0c9c25a034aed4c2 SHA512 184aa94944271de9c19a5ed6fa6a9af60ba25c14aabff66bcac9c1025ebd161d1ca060b2c05feabefba1c79e403f26c3817f9372031673f5c266234b922557cb
EBUILD firefox-128.4.0-r1.ebuild 41093 BLAKE2B 43a37fe67afdda79fc54958f1db81a8b6d71e37a52e3e94efa5b7ec1a99a02f21266f09c51787e002b1afad62eef5cd1ba584974f4284deb761c8e1c51321172 SHA512 0a6456a21b4aa080fb2ebba4b0bf23c4e3fb63b38cce06282b4c2e40ccaefd3b7243ecd9cae98fcfb2613b699d20c09e0eb4a52bab3a9a7d662d6cc6df55d4ac
EBUILD firefox-128.5.0.ebuild 41166 BLAKE2B 2fa95fb4f22f2b80142c47f7072bafc7506b9e5d21a6e01b7ef20df0f8f63abba1438826da381c70f842ae6e2faae4bcc93219cede3e844ab5da0607e80b734f SHA512 3f4084aded344461e751531eb49b63199731f372c061d346262124df1f0ca5c0b1a0c4878129573f95c83f9e2b387d659253e2822e8d5545424c2bf99b141161
+EBUILD firefox-128.5.1.ebuild 41168 BLAKE2B 80d67ed015f16c73e4547e562f756e4b73ead4ab21ff63551a4d2bbf9c573cc56ca9227289c0f8899422215ccf22ee38f4b418ce0464c1b58a0f995b5a58e8ae SHA512 a62e90d9fc82d7193808ee831f9591267caf0769b751658ee8d0512bbec2cecd0342a60d16935e6f125856a95d4cd801a63d591b3e95b62f6686764431720265
EBUILD firefox-132.0.1-r1.ebuild 39383 BLAKE2B 2f52e771910992bdbe38ede5448affe7674d20794b05c3fc8002e2b8f3a522d99eb26a977e744067b95232a1b5303e2ee8daa879c74d6631fd6ad2397cf3b2dd SHA512 3124afe75ea942246679488164c66c6eba4517a78cbc32774a48ffe75692a60dfd1cb801f9739d3d1197bbd77f6b089a0fb630b2575ace8e466a82274f55410f
EBUILD firefox-132.0.2.ebuild 40534 BLAKE2B fa7cae39629d505bcfb0aa589d5c4238808185574211f6bc555aea31bb4c2a3683ca696b053a117c41699d67075f61fae8c9283a70b319b2fce02528461a931c SHA512 c1bc58356ae2639051c0c1102634644a502310bdee066fa2428cf2c3cd0f33d95a4266f5033d54222f529d9992370c496f3f3eacff2503eb5c63c069f85d787f
EBUILD firefox-133.0.ebuild 40738 BLAKE2B ab8b8490cf068b34a3d5d976176138b0932fb89bf68aba3240666aaaaef4fa996af6654f25c855d4f923e2fe6ad425923341f762f31ae2e93fff67f3fd8d9364 SHA512 64c8cabdee9cc8b0d56542e3b46bd93c159eafcc82d57858c594f93dcf18ff4980c17716d315250d38203af12232d49f5d90d4b5dd98183b2fde9e5b6b397eef
diff --git a/www-client/firefox/firefox-128.5.1.ebuild b/www-client/firefox/firefox-128.5.1.ebuild
new file mode 100644
index 000000000000..f651bb46d218
--- /dev/null
+++ b/www-client/firefox/firefox-128.5.1.ebuild
@@ -0,0 +1,1368 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-128esr-patches-06.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 wasm toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=24.0
+WASI_SDK_LLVM_VER=18
+
+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? (
+ 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"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ 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}
+ pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ wasm? ( sys-devel/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? ( >=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 "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
+ 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
+
+ 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 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 path manipulation.
+ if use wasm ; then
+ if use amd64 ; then
+ export wasi_arch="x86_64"
+ elif use arm64 ; then
+ export wasi_arch="arm64"
+ else
+ die "wasm 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-ffi \
+ --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-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 ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly, 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
+ # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm.
+ if use wasm ; then
+ mozconfig_add_options_ac '+wasm' --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 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
+
+ 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 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
+
+ # 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"
+ 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 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
+ 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."
+
+ # 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
+}