summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-01 16:47:54 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-01 16:47:54 +0100
commitc545c34c9943252735b3bca1a9542db7f56cb9cb (patch)
treec93d13171a016c5e839c08e9a5cd04ed0036341b /www-client/firefox
parent958e1f729da918df0d3a435745d914882c2786e5 (diff)
gentoo auto-resync : 01:08:2023 - 16:47:53
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest102
-rw-r--r--www-client/firefox/firefox-116.0.ebuild1466
2 files changed, 1568 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 3d0b10381a11..b4ea90724bed 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -308,7 +308,109 @@ DIST firefox-115.0.3esr-zh-CN.xpi 629739 BLAKE2B 63d3288bea594bb11de329bad78264a
DIST firefox-115.0.3esr-zh-TW.xpi 631502 BLAKE2B 5254f9fb70542ea0c9855aa1fcf3b2ce82c892754cafc960b414897e67c8bfb6b13391bd7695060de8d014a52c55e9e54e8d84a124e98449f1106c13e297605e SHA512 2ea8c0c53df5d8510d0c394a033b071939d35af13420cdb3ff77d1979f05ceb3236a8fd0e6f4e8000a21617e48e71c56fbff212d193d075984df61f300618a40
DIST firefox-115.0.3esr.source.tar.xz 516725896 BLAKE2B cb45ee759fe119f5764981b1214ca53d46076081bdf96735ba34cef963d72fb80b1f46fd6958904385ceab01d62925cbd4d133f8b5e4bee7cd283676a7671c2c SHA512 416ee56bd4a602c543391faaa8de31808f267ef2167f7d913195de45d3628de08d0582dbaa8905c847e1431bccd9d1d5d73ad9e7e5ea75be39e4d908a8b40376
DIST firefox-115esr-patches-03.tar.xz 17924 BLAKE2B 2b086761cb34c115c8e07f33f3f569c7c31c0e61565eb792a509b089220ff42b1e676641a09c057718a74c6fcba6be053c9edf39fa063789cf773d756fc374f4 SHA512 a386826b3a9c4736d9cb5192b17509669fc71308d2879b6a266201d2d571dc3b4021260784bec3117d1f68d508436120b5aa9ee18d01af84f67da58df7e72b2f
+DIST firefox-116-patches-01.tar.xz 16288 BLAKE2B b47e110902147fa43e58b63280ac04940734308e054adc9a6887200ab0222ce50355404ca70427246322be268dd30f25ecd628d0ddf59fb723370427b0f9fda1 SHA512 3efb950a768686e4a60b2a8e054d1284048d0ef727a9ddea841e443297bff0448d2728083581823dbd315ec83b8743c298811b0f97e457776a98e0be1e671e17
+DIST firefox-116.0-ach.xpi 440323 BLAKE2B 56d55907cde8e61f0be7c4e880d9548e0f9660f465d33fb61afaa50d1b440bdec76a9a6091885edb58677335941c3755f240c99a0937113003c7ec07a2306695 SHA512 7672d3ab4f5fb6adc14830ac99d3e704b3391e392ce6af3e97375ada2ad675caf5ea1d0b42d311e3fc0a1628ada8c76284d38aeed74c89aee05cbc4c29e3502c
+DIST firefox-116.0-af.xpi 401616 BLAKE2B 9115ce0800aefdb2184556fb92f3a1ee28ab82dc0c77c8b913ca7933253a4ab7f478016ac38e063c20479235a8341fcae4bdd35eac713d0720b4343dd862e59c SHA512 4e8569dac354d5b899cd7e38552d5281045bf2b2dbd7dcd8861d5a48169aef8e0a9b12a251f976006d8833a23d32391adeee27986de6d3eddd101001ea6dbf88
+DIST firefox-116.0-an.xpi 482309 BLAKE2B aeeff77edd86406fbb613696043dfbd080bf1ccb8717ee9d1fe65f338dd26d251a9417b4c5461a9466c905cad888dca03761e123a409f87257a0d6bfea32fa92 SHA512 b79674baccdb978697993c403f1a4ab514e570829962159443a351982e360d62ddb91575dc4eecdda8755623746fc82f916286b8ce3f002be2e78f058e8e1205
+DIST firefox-116.0-ar.xpi 549032 BLAKE2B 97a8756e56dcab186000e47ed0d116ff0467dae59137314974ae3ed32ddefbec2b7f2d464707b34fc6df3b79a28c4fe8996d5a160c9a17097e4c97882c2f8035 SHA512 da07a5236ed41e65175f39ad3ac22ced839dbc97f1fa573745798b92693cc78984a6fd798c78b75b42251df71f8fb3e5f74c7055469f5a8c38d29f6ecf10038b
+DIST firefox-116.0-ast.xpi 476782 BLAKE2B a00b6d28761d907295f41a219a1e08d82fd2e2e04efb708b8c87a76d9cc5dbd637eed557d6d8df6e332b1e7ea030b710ab6463b7423ffdd340e57c0b6ede101e SHA512 2b2ebf06bee28faace4e0e4c17ef1f9181f3f65501ee64354831c70e44da221af4b49ba5f48d4c7c6ba2cd3c4de3b787daded079ecb556e571224240db312cbf
+DIST firefox-116.0-az.xpi 470089 BLAKE2B 6b788d4d9ed92a7dc75817060c93198ec381a01ad8f9e9844990488e58f8a60b35538f170a7627fc252ee419b64accd21fb0ad27ffe52acff4049ae52a679308 SHA512 93a6f57459e67abc09891be7735f864691cae9463e2d7aeca03390488e18663f43c1a7a3c00faf64359bae84728b919eecaab1d547f42baab64fe9ea65fa2eed
+DIST firefox-116.0-be.xpi 647165 BLAKE2B 5c1ee6ab6725b2039577c6b3f0e90ba9371eb057fa351772265b51e30a76c7e0947e19a538ccc246b318232d54fa0fa01941a8f2e51ded78b3af026c7870c8d3 SHA512 9bcf8b91560bc74209802db699e45ab9c1fb6fbb95656fd2ca9120e5e2dee546f8d35556afd51cdb1ecae8cfbb08b881b01b60cd865fc4fb3e5467e9cc047f44
+DIST firefox-116.0-bg.xpi 563684 BLAKE2B deb427524cda4bc765e94501adfb39d8c4303237894bbac2667a0245b411f2aeb42a6df73d44f21de82e11a82b1f5b3d90310ecab5d680e5614ddf5b76ca6bb5 SHA512 bc24d78825fa4a2a7334d9739ff00a03ced53cd95a88d9a1036d43249f8a7eaa08ead02b30b87ad8919a77c5754a1870a6422eef82fdfaef1f5d2b647727589a
+DIST firefox-116.0-bn.xpi 557959 BLAKE2B d0199f998847428dd8b8637db286ec0e7daa2103bffa533a99516392191d7b2f223be99f6672ba0d7afb0b35ed8f03387505cddf9ffdabd7d9e242e802f5e3d3 SHA512 0a85eb78670f5329638726e5f4cc1c383b33df6c39724adc08c55573244817e2678feb163b6a7ed73bd0bf9270ba925492a4b1e3fa3ca7148fc66342af03d64e
+DIST firefox-116.0-br.xpi 533891 BLAKE2B 37d5281b5f90105968d58e759d5d2ad179275d2579e1e9f74c1ab94e75f7b5ad90686f4ae6925685f66d3dc17f36caf748f59ff5c9fa3f59963c8aa85061a881 SHA512 10f42dfe15516d91a4bbae3dd3929f57cd656fd69f19ab7b709ea43aceb3ab49479c8d72499ca3e16aba99dc66ffa8a4d1ad7fae29fe4ee530f0d5892bac5240
+DIST firefox-116.0-bs.xpi 440590 BLAKE2B 0cde4af28b8eff82118dee4eee2d32d94f29d2355dfe813482ead547292303dbc01415ef50af0f397e58aa8d5c46a28c1c3eaf51c224dd4ceca67863a23cc450 SHA512 760c00ec13ebd6e9f148709d60281ad9d26c743249317ce56846b21002c5be5166362f9536682881af5ab32b9588fdab991c8381e0456b11c6347cfcc4a04b33
+DIST firefox-116.0-ca-valencia.xpi 521443 BLAKE2B edabca1c8346dd4f4754203e1b4989e740137f140ebd7675bef0d5972dd62a87b9e6f003c7ea58df99da3aa7cc61836ee40de08b5c7661803c5fbb4bf234ec4e SHA512 e2fc82c11b0838ca0372cec6c43df971867c03f3835ec317bffca6a679d12e38244c2dbe2e0581f97a193d40634fcd14d1764ca7aab0cf2c7e75ab49460f18c9
+DIST firefox-116.0-ca.xpi 544947 BLAKE2B 68a808e69c5732cfc65d0611256b015497c7a976782247140165e2276d47eef1f5b49da6a5e4b427272e15a631988db64cc7dc1324eed987776cef2ca8624ebb SHA512 145ebfb04ef0120a4d1db90992b8800595c0d86d4c32cf267e35737d189bd2dc1e5ed8c0c1dda81c77edc4209fe36d8c06f06dea8763cb124f68ce86d633ab50
+DIST firefox-116.0-cak.xpi 564108 BLAKE2B 18f8c59f6cae941ee7b6ff325cc0da958e2b377e0e7a4a30bfb13e99241949e3f8a07fe2ebd7707ae999cbb60b2e5efe467b57d8d544ec7c34f44e7f3b73e8a1 SHA512 b983e03cc8ea78b74242be1f1515a7fe97d91286f0f5bf9ba91863bebcccdec9fb706a298e6a8260689725f62b25b65d724959609d34436a7561c2af04384d58
+DIST firefox-116.0-cs.xpi 592432 BLAKE2B 624f8e0efafe1020d1f48095e1520ae1ebb83a7162573b65cf4cc1934b045f3ebffb2bca160934c70bc77373a95dc41762cafec97f0dedb53544a9ee9bbe4848 SHA512 bef9d4fc95791369094ddd5abb858cc7289b6f94eea6ddce378b1656e853939bcf5bed8aad1ba13532287c3f8be35078896e68f6cde30fc814f7d6e23dd2acf1
+DIST firefox-116.0-cy.xpi 565915 BLAKE2B 1a038d68ebe4f3b662000892dd5efbfd522360edfe5084174a16c5742785fcf4a4e320faa0800b80e57157869cbcff8174167ff81721686ce5f298ac14300f01 SHA512 b4421d39c5a18ae57be9db3d0a0f68b94128698f854eda4f89d6ab0baede480b49c4ef7c8ffac7cccedd2ce66af51d1cf2549ccf3f635dce43b46c53b505611c
+DIST firefox-116.0-da.xpi 553373 BLAKE2B 51403dbd1304009bc13901d2d76ad4e953b206537c3e5ec405edaf1a3cbd5703cd628e77d3af46881a0c406102c5cd6b394681d195b652ce430e497b4ef89890 SHA512 71b65b7eac4736bf6dc2a2e7668474d45cef0d4603a4a75a621ac987add7fb0c1936655722828054d34a9fd6a12ccd45c6b5406bbce0302e9c62fdfc5f62ff94
+DIST firefox-116.0-de.xpi 574197 BLAKE2B 8f12bfe07d567d8cebe8dbf8ca76cc1f274da26fff15ab4aee797501d605a4cb2a10344cd41ee977118f6b72aa0d30452caf8a89432da0a83c734b9bac12fe4d SHA512 b5acb569b5f23a5380b7ae6a2bf6f1a086b4f022b7f01ff18bcbe90748ffe5c1ced334737d4cf09b9804c01173e63f43082339f89369fa6db9ec1d18b69163e5
+DIST firefox-116.0-dsb.xpi 589675 BLAKE2B 11bb209ca73c286b733416b24823f8139b9046549b3ed7950865ab46a37e20226107d45e6767f7a78362734aceee115ce2737e0691e7795715acca798d579aa9 SHA512 fc003dceda0b1fcea9d9a8dcd9e79724ed91b1dee97403cffaf2e2f2cc19cf7a9af3061bcd2190ea55ffba076ab1caf363c597238894fc75645f817a9b359345
+DIST firefox-116.0-el.xpi 663124 BLAKE2B 113852948b65eda6f5cc25c0a5b053c477fea4998eb0c870b95d48850878f6dbde477cef70b6f2ab774d1fe28e53ca115e1d1e20b7d3b0918219660f6a130366 SHA512 765708bd104ea642e1607941331e50f37896b2bcb9785d4b5338ca5f7dc4cd96c6ad14fb1b1e4ea9a6a4a4ccecde2b04a1a1c95bc08f0a737759a358165575ef
+DIST firefox-116.0-en-CA.xpi 518974 BLAKE2B 5f38b03c4dc7721559eada3bf7745b13b64e8ceaa83941d5ff26fa0d8b58761c2abf6ae85b9a33c3cb18dd02ee6ca3134b68c316e6600073105a832dd8c1bfed SHA512 bfa610a3837c436a262a463dbecc7b0201062d2da1aff71e24f262f88affb9e349760a15af4e46961d5789dd42fb70206a6f6b2436ad23494733ac7e0cf69f69
+DIST firefox-116.0-en-GB.xpi 531550 BLAKE2B 196bdea697fde01080aee8b9ae380c0270c158fc177bf02907bb73fe13c8a9fc65b4c5819adacf238faf5a5d9c467d43ebb52cc2530a7eb90b1f6c096992adc6 SHA512 64af7ed062c3f4b042ef42af63613ac00352c2091206381e6db35de4ef4d4ddb7f823ac41cb12b61d79824cf3a29ae4ccc501e0d0f24dab079872e990a560ae6
+DIST firefox-116.0-eo.xpi 555850 BLAKE2B 11c9f9ffd1977f6533dc664c9b3d1840c9bd9fabb798971e5555e58c0e3ef4218a7f154bf7e93501308e8e54ebd6158bcd3ac0ab3152790b093cda2a5d8ddc6a SHA512 a3e77db74c82d17f3079c01d128f9dc3085b88b51c4166ddfd5394206c9b558bd29ad8aad4c93fb58acf0d32156ce90b83127766709f33b206e5bfaa07d4e87f
+DIST firefox-116.0-es-AR.xpi 569189 BLAKE2B eb703beb58208343de2560d869c3f5db1ddcf9924f68fa70ebff847a19ffb9f591dfce0375fdabd47cec74842bcb2d4f84e649c4c4029bec223ea5ac9653bfdf SHA512 bd59ba74d449f9ffe1fa0b5df93cb39fd27eb60f22a436b1914225babc1eb5af011cb7d53835a1da3af33d9dd190f9d78678a51773b7dfc95d5185657b291489
+DIST firefox-116.0-es-CL.xpi 568868 BLAKE2B 3a9973ce147b7c281ba1e37b4e49e1eebcc0a42df7fa21ac7ec8f529b688eaad39d20333b4774c4322c10c9f643d3a798cfa0d76bfc2aa8060249983bf47b6cd SHA512 c53096731f6b2cfb4fa50c0446e850d8c3cdf2d5574cf7aca2bcb16526cf2f6b5fb87d69e24d759d96e3e5d8edbfb3969d01eee3b23b181cb5f1d33a42b63648
+DIST firefox-116.0-es-ES.xpi 561405 BLAKE2B 61772ac717bac91f87e82013f888a8f941b3fc5afa443a45dd86cb3a9f5bfa8b73ba39ed6d10f0402ed9244b5fcc7453d4fc503f32e337fb735431095b09c321 SHA512 a2ff7c6fe8f8f201720206c96cb2d485b2a5a66806f1dd6193b005dca52cfc6bb9ed194b947369e231597089213ed5b3e54f5dd32ab3f762e8aa60349041679a
+DIST firefox-116.0-es-MX.xpi 564991 BLAKE2B 88266eb4eea91f87daca458c21ae74b7540ded1deb35b7bb7b483d9e8cdc68c255940dccec7295c62d500847043d5ba89ac44098bdec4b2d5e2a37479b59bb04 SHA512 0ca84f06e62b81b13fed79fefeae5425ff30a45f9602396f083a4af1201297e6f76eee29854941d772de72e2240b23e7595754683d97562972855fa6e28b70a8
+DIST firefox-116.0-et.xpi 515646 BLAKE2B 819cfe7ae95bef3ae0b8ba8aecda8966651dd7ea5fb5b98c2c8bb55551c66d3e010ff4ac6a616270965b2102938d66c9afd8dffe26d7312870a17b0abf799da2 SHA512 b7fe6cab23acad6a88182d2196b19d9009f2978f449a9c2174661d6d7955a19318a2299db9986e68a551393aa553359c8d8a826eb8123b0d7c303abc3454c4e9
+DIST firefox-116.0-eu.xpi 551061 BLAKE2B 6fc5c9ea7b0952f05ff38146b2b0df77247efdd86753303492c45f9e8e19561a692261c57336e2311aa95cae345b27000b7665dbee953bf1c27343ba0c55bf42 SHA512 75b69d62fb6a9d170b910136683e0223e6665f163379752a984388b72c57786e7a415e2b28155fdfe3359d16f292e6c127b80e09d25cd039637d2d415476b4bb
+DIST firefox-116.0-fa.xpi 563997 BLAKE2B e6272f3ed62965cdf3870ab806043a758c7a928e4cbc8b1e0797a3c2eacc3935e3c80059b0276d92c7902045b2a500cde00575e30b41db5b79c9174f5bcf6992 SHA512 d5086ab29bb409ff3ad9cb94326fd0277a18297fe1267aac1b4f88827aac3daef9d7adf1d4e7eb7cbad41749b89dc74834bbca98549c9f1419b1a8660a09b093
+DIST firefox-116.0-ff.xpi 456416 BLAKE2B 577e263066e449babe057e66af801588a8ec0d7304db261448a2ace649babf791a1b5ebff73f3dd25f23dd8c73fd525866a796884f47244951efbe46551869fd SHA512 96814943c647ad53c343baa60b849b96458fa3276d4553388f45f8c684259ac4c3f7578546d9afe71cbfb0e320585d88d6acb772b00cf23dfc858e4dc4841144
+DIST firefox-116.0-fi.xpi 552857 BLAKE2B b75fed64129e8f337a4d15eecd24965d5759b4b42f9d71b2677698bd404ceddd1200993b5f58d04012890d8cd70e421600b11179734f98c8eb69e309dbb01ed7 SHA512 d5f0abc088cdd78c3441681ac79b56a9c95a9fc99b327aaeff0488a8287dd498d1fb3463bba2404a0c63d82b72ea686da0b75e92b0a6a65fb7e072d97f410942
+DIST firefox-116.0-fr.xpi 580219 BLAKE2B 285c10388e5f2daeb9a319f8a9e81ec479dc32818e21d4daafd8a1db3100f8f43f13fdb6446ebb7fc10f211480d99ad4f849531f70067499af1f2bc27220357a SHA512 ab8bb23081d9ae9065d7773cbd180e1037fbbd3e4655b9a687f57aa44edb4794d0c540403df5b0c1595a783ae913fdf931c7cfcf1159439620d7a9068acf1d84
+DIST firefox-116.0-fur.xpi 574349 BLAKE2B e75e6878773376a68568166492d5acd0fe7d8f5bd94a27e1b4b4981bbe3746a27ecfe2a3db3b365d1ed2dac61b24bcbc8a7d581e6395d905e0499b86afda1848 SHA512 bb59f3ad3f4d52c0734b3e7ee2e6b09760eaeaa44449dc372b1ceaf2f7136eeb2e047b2484e7928f95d41eac01d374be8348c4ae24ec7f0f5cbfce5c48f84ec8
+DIST firefox-116.0-fy-NL.xpi 564297 BLAKE2B 018fd4411422beef301cb26974448a47a6478b1caf7d736729d1f91296ad88cc6441da115a972cc7e2764ac4a64cf5f5ad2b5e047abfc67b8458b5adfd3447bd SHA512 79805b9c13711bafd8cd937da32ff5ea522265faab16ac9d9e877d8ce7e74ff99229f0e9e0e2c1223eb831f74b1201d65361f9748a33ef514b90106ae4691ad4
+DIST firefox-116.0-ga-IE.xpi 453552 BLAKE2B 0d0e6771b099974625d5a46872a5da1c9e7ef4b10d97ec687a71db3d9c36b748f386d140ef8d743863fd0303a5a42adaf3cb84f8c077c7621e272052dbee59c2 SHA512 4de236f12ef883cdb6973ddc710a034f6c2f77018f84757a82bb53d9abffcd245f09221ad507df6ae535897a20b5e5f44557d80131f2deb3d18fb6e853307875
+DIST firefox-116.0-gd.xpi 566659 BLAKE2B dc8992d5f368c0dd4a20f2099e82b963fc65f86a39f3fddbdb82e88f7258e822e6110ac12fa2845016b7992c117e883899f219ddc9b8bd6f7d1e8397484ebe40 SHA512 64f82f4901d9206dd5ae1e668e7be7d2c961c222b477dafa584c456383ec26010df6dd84792660ace9c1076d3ba0722f360d4c09def314ba660ad5086ff165f3
+DIST firefox-116.0-gl.xpi 565967 BLAKE2B a8fc484de0324295fd4251fd42e4227e9df74d1ac553083cc2a97ae55d35b8e0f60cb34b0ba26ceedbd421f316917142aa2958e8a4549e1737f872e7c27e4d22 SHA512 1620e1a5acda04f4532e6396188d678cb55220f3825df3c860e293fa914a91f6da304ee51dcb43c35cd40926486674afaaf5d400a682c5e928230b7f1af31589
+DIST firefox-116.0-gn.xpi 578267 BLAKE2B 386d5dedb995c46acb352ea05b3af1b888b78d8e2173648e10cf7710f5e42bb8d1f068be0ce97af1ccd11c197b610fad41a444189624c1fbe1287da6ff6e9ff9 SHA512 a67552989404f3107312b1d21a35dadcdd9e113f0d39ae8ee9af9f2be7c65ab216d39a626057eb62d3b383a1d2f1df69ca860291d73db31c76c406c4e6bf9e21
+DIST firefox-116.0-gu-IN.xpi 506021 BLAKE2B d7f69682252810db5835ae92ae224ac4383283a009ebda66a079ba447bc5bb779e314b0b1335b91c5ecd865d2808adece7a2e5c2df218c605194573865b44511 SHA512 d19d03f2ee8a4c0b436a8059de653cfb72897991dce0ce7d6e460d081c5edb62ca5883ad737e99ca74320ff152abbfe04024f7f2c356834b3e4e587cafb11e13
+DIST firefox-116.0-he.xpi 575333 BLAKE2B 823e6416cdfbdaf2402603ffe5c7516f27254b058575d4f188786436a59f3ca95d513f688958079fdf3742eea6c2d57afc632e9bb4a90c2bd563c1e4ce686c54 SHA512 91a790b58832e387339793fa9a04db5bb16127e808445f71010269998fcdf53d3896c80aff683c43ab7255d18fe84a0ac1f07c2e077302a16d967c83d2f3b792
+DIST firefox-116.0-hi-IN.xpi 538287 BLAKE2B d57447e9567265f8516e2b4f1606e3550d26d8f85007aaff5e8b2ca23d88d65d31b3b861bd68f94abb6283be620766646c214d4bd6ca6fcf0534f5ad2ac72bf0 SHA512 cd7ec011da0be8519de000eb0c53442c2af8c0eeb489e8e56450bc69d9109aa516e17c0d251240a81c4a27e4cc5747ffadb05e0793002b9511499c8ddc9ee1f0
+DIST firefox-116.0-hr.xpi 531474 BLAKE2B 8af41ea8501d1899dfa24800f7666a9b89aefc279ca12f5ac9e027d6c87baa9746af44f7090c971efa443958f0f526d25a003c40ab7f1347e5585bc394402dde SHA512 bcd80c65e36f9090c58e23c4b8d2f2ca536787796f33a2268150524770fd20d3f8b6c4aedc35bcc1bdfd157b457016eba2df66401e5196c7911d6ac9481dfd80
+DIST firefox-116.0-hsb.xpi 585853 BLAKE2B b2dc7bb5d55eb9a4d748bb19816197531cf51832690384d44381b963366aef35a8390acb096b31e9927014f064146ed17379ad892fe7d425b92162e996dcf0ba SHA512 8d88b657fea257a5b13bfd3da8fbfc5f523f36146d720da9fbadcf7049cbc025755e90a98a21d6d7191c269019d15f0fd191f422e07cef689463f4147c771384
+DIST firefox-116.0-hu.xpi 588333 BLAKE2B 1b8befa1169ffebfd0c9519741877632d05ea8295646d7d8f500f76257119ec7ffd1656a5cc764f2d8f8925246ca8355e5ec9260a3917634eab8725f8ad30241 SHA512 abfa9ff75a7dd877d367bc6fa9e1e34ab06d04d4513ba66fe30731598ed81be58733636b6b189f8bb9f6332db862e197bdd842a21fd0e15857ddf2f3736f08ed
+DIST firefox-116.0-hy-AM.xpi 578713 BLAKE2B b72d275f4a5f7f8eba5b9d841c2fa29445d49bd6f3e0152d81d10b684cd2cfdf05589c4e36e88c62ea36e43c1dba0cdce1548d3dafb3d1c20cf06e6c5733db11 SHA512 fe0fa6751ed1bb500f2633d94484cd5a4a286720d32b0317e9bdf9af500db0c0f86ac117ac5ff3d26d6eab0872ba20f5e2fc4cfab738793059454d8341b45ac9
+DIST firefox-116.0-ia.xpi 552437 BLAKE2B 868b651f26dc0e68d16dd7abbca1d353014f6d9cece8a00c3942c3b7578c645832af1fe95d7e26ed545691081364b551b39634bce18d9a17694341310e833122 SHA512 8d0771b03e3af60dc8c7ca26c180cbfc012c83a76df54021a97bc1950ab0838349dc1a072322da5b7a3b6e216e7a215806307d1665dafc015043d86c75dc634c
+DIST firefox-116.0-id.xpi 537282 BLAKE2B dad1caa1051ec2bc3ecd4f3046509093681a9b9e7b1f3b4325c1725749664baa5e3173799fe340fe7297f8e980cd635f2a6d91e378c15b89211e49c17e32b303 SHA512 4461fdac00ec311b8c0c0cbc83f3cd53da01e3998c8eeb88f0c4866d7088ea13b2e3fd7361f5cb0c4f63717d6fdb956861a0e4fdf3aa16cb91716cf0874dbfd2
+DIST firefox-116.0-is.xpi 561600 BLAKE2B 780c4c34fc3cfdf255e900d985d005c177e23144d721b97ffe13d1a453b3e4fc362d8be979aba51ab27fefe2e7c4b75d8d48d96ee086521f61c42a81e11ca299 SHA512 596a1f5bc580a0aa83a8b7cfc15c37d648ea093670432740d2e154bbca2a46f4a24d4357915445ea8a32bdc92099a8e55f3cdb06b39ca2db95808ff7c871ece4
+DIST firefox-116.0-it.xpi 508069 BLAKE2B 5d7f82d664b686300545db7c1a990f577266986f782889f593213c98bfea4ebee4bbb3f9c7981d34a8f48b848c5c88f5ef01da80c23fc98e50c0f55a1c39a126 SHA512 20a33505d1b03470ffb1a5368aa649907097d9d571a6ad604a76449a7d67eebbd153056b650fdc95f4391d1af54b45dc6bd70aa23498faed57653d434d4da730
+DIST firefox-116.0-ja.xpi 629682 BLAKE2B c83bb705a179fef104ae4a9d688a5be8cc07de90ce2f310fd9f2b1ede553bc07d73c1a74a92967d0472938f40e4278fecc43f94857739de159e6430cf3d3bac1 SHA512 60efcaa441ff36fe88d6ee09ba0a6248424a842e1f578f19ac134eeabb0b9202006cdbe5ed538b19a97079870aa8eaf12453923e278c18c39ea7d249b937e362
+DIST firefox-116.0-ka.xpi 610442 BLAKE2B 01ff9baf14dd72250ba76d40d11fb224dbfa08e4e85007a407ddce758c198aed7ce0ca4b0218a58aa5b2f41dcd6210185f2c1fafbd6c88d8f8067ec1d96497b7 SHA512 a6c995151e7b721e8998410e26cb6857513083090e264bc28ac4068a5d194e9d39798b1858c00d2c2d5723a8ca6782f82e23cd1505302d7cdabefc07c4b8107e
+DIST firefox-116.0-kab.xpi 562162 BLAKE2B 52f5c4a1cc916c29203d972736acf6ebbf2c2f60a32fc06974b6b20bbd235649ea58936c28c404a8cc356595486d5c5a28f771798923c517b28ec040e835c21b SHA512 02cbe7f372d5ed84863bbb6c33b37d59c5b5562f61a13bd5a0525cd06ba3d88730b51fed640227100e252e4ba8b7fca5a7bce0dd21700902201227108b176b5d
+DIST firefox-116.0-kk.xpi 640649 BLAKE2B 240c7f750d8115f3a8dbfbb960336777a3b8e66e1f746a1456731217659db28c6663b734d657c9048c217bfe8575869a885702a0657269ee621ce4233ad2df07 SHA512 4d1c1cd2231594fb64b99f0cf9d2940bc42b2270d2ba8ad468bf7cde489c9247f58d7f0c3a7ac928f73a13ef96bf69c7f521bb714d3c8626d35c246f01f504c1
+DIST firefox-116.0-km.xpi 507451 BLAKE2B dd5b0c65b69963a937f1bbcec023aef41f0948d2e8b805b76e14ce57923730de186c7ad690e933c0fe96da3c3a13ad5fb0084eae2cd8ae17c4be07496007fc94 SHA512 e43800b6965f096de9d4227b7ccade4d5db694cbb55c14a174426afe19bbcf470e8f602bab5a011497bc477dd9bff4f48a0fc5495ed90efb1d64adea2d97c55a
+DIST firefox-116.0-kn.xpi 473015 BLAKE2B a067327d200c5cea6fd39cb409e60a6bf99b635ab14feeeda1e6b0f0d01c771fc619f1746c7b820d157bcbe92b0f922603aedc47d6f3fed571754a4ff9a1de51 SHA512 214724290fd86aec85a84f851cf537fbeca884ef340fd39cc5762148b62f08fe45b1f2d14f4075c9d2aa97272672a93739e58aa9a0531d5a2a2f15bb90bc6c15
+DIST firefox-116.0-ko.xpi 601095 BLAKE2B 5e34c51c42756d07c9d819f46e51f9b5fc58819ffb4c94055478605d3a4b7f7a5a63d0fa62a1cddd8672a6b5d8137f2b6aabda856b9d7242a7605aa135d767bd SHA512 e320ecc278876fa8541f5b65f8b323c428a0cf3df12cfb2e0ccde6fa3cb393578379aa92e96f0282f4282acbd3852ff17bb204e3f5076936a744a42d327f631a
+DIST firefox-116.0-lij.xpi 463109 BLAKE2B 1ef02f0b945e1549e526d4af34708e625b5e58b93f05f563bb351138e1c5d5b3d383c05f2c3c3d7cfeed9c85575b27d32fe9122c531652bae29cacc410fecc26 SHA512 314ad54280bc5393d35895a2296917d7a96fab4dc6edc1a4f39fb2296924fd2da2a66051cb41455ac6a696c6eb1ebda37ab1ed73720442e6951ad14d6673ac89
+DIST firefox-116.0-lt.xpi 547793 BLAKE2B 4e40185c7011e33e0f48f21d35fc0d697acc933c7630963cd1fdf3b63f783e950071bb798b974e03eede3bb884c41546d06fdffa1954be5357fbe9211f0ff096 SHA512 b82f8442c5d201ea26d813950cf664327f41cd1202a253511f711b0e190ead889cb72ade0e2b6166915835652fe87e6a4e362fc5b2be5209a6e4789c8527f02c
+DIST firefox-116.0-lv.xpi 450081 BLAKE2B 992a8d72b05a43d8665f19ef0971386e3b492bce8a5e70adeb832fc778d7a0b2d35813b9d71cc237b97ba09bc5c6ccf9e726bc91f1104436b9c5f46e179e576c SHA512 5345b5044fd1b984de1469db548991d71998b89c0458e7138cbdf3d751577d5c931b906556e5b6813f66df66e9c180ba9d48db309e73d542277ab62f4b8ff9e3
+DIST firefox-116.0-mk.xpi 469353 BLAKE2B b56733f697410c496ac3f3cf428bc1b531d17cc345b657909521d90df26aa34c5935eb46c3b1bbac2d9fa88910a0b72c9840b5fffa54e39feddc48c3fc936d61 SHA512 6d34c910d37c3afd0cc3c9b0858324008e3e42e54905de263e3b7809e9d0a4f3f7834f4cd7b0900eb42afe94741d4830c5730c5fc915e4dc025b346b32f7638c
+DIST firefox-116.0-mr.xpi 510121 BLAKE2B e9ce3eac58786218004f9a0a4351dca590bc7df5bbad0caad1682fe1153b9141e828fbf046c67baa7b7dd5ce549afa4bd8aff358952a7a8841258b46b79d7f29 SHA512 a79dfba06fc5e65c205233ba6a148c97aaeacb8d7e3636256f7e6f535951b3476920f2f71c434f7e2a58a0c576dcd216deb541b0751d10c782e44608aa1c992b
+DIST firefox-116.0-ms.xpi 430632 BLAKE2B 009d668a1bb15d98e406c0dcc0f6c2f6f47f891fc86e8dd0cfaa7f22b1081e03a08bf4e77ab72c70c6ec15cf726c2029f611e8a25b076abfdea92d0f0d17b19a SHA512 9bbeb6cc2740ee1bbf4be36c9133adff01654d6e6178d888d937e5565c0a8ec3264e946d3841f33c1b346d1d3e002729f4d050507e0ace6f61b2ad46a444f92c
+DIST firefox-116.0-my.xpi 492892 BLAKE2B eefe28d7ee9d606bc2be14fb636ce9f30122047e579c84f3bb204af6a889f5328a7993168c7447723c37ef562fba46348ea26d1fef0b64b524350c899e4ad9b6 SHA512 b55b032ad2c6d26997167b5a19ad9d600fa5593dc3dc092939b63aa1e7783ccbaa85948fe0681d5ed59be11684c5faaef13c557d349406eb3af61f6073b2549e
+DIST firefox-116.0-nb-NO.xpi 548995 BLAKE2B 0322096227daa482d5a535557dadfb98038514dc84bb9809b28e89d76552850b38fc23cd33af6539046283ea1cb584948b4f9c295877f581e1e158527123f789 SHA512 d42201d05ed7429040c6cf008a2e7af949df041a6271e60853b0a587e7a80afaa63b957f68b6ab35cf181ac1a8ac52c0edeb05afebb9a46cc6188674f7316267
+DIST firefox-116.0-ne-NP.xpi 468336 BLAKE2B d2ef2921e212a6c96711ff6b11e9f7f1f1d4720e51a97629206d0dcb4d4ff9cc861e23c979b180d2f4a58500688246a24ab4878cb376feaebc089de06b2d3ef2 SHA512 24830c061a5e727ad07f15840cd8ec357f07abb07dcfcd25db1befa723e715282425968a60635e1574a5bd12688aa419ae11803206b2473dcef9998da7a021e0
+DIST firefox-116.0-nl.xpi 558557 BLAKE2B 46ff973842d48b618a8ec26fa1657f79a445b65638bce5eb36072ed0f8f51ddad8edecc35ffbc7668ee3c00de1db41201766f1c35fec98b217af42e4dbd87998 SHA512 8699548f889d239c56323c50e86783f568e2e9ea9a182a8a84e5fac1fbee1b0037e6789e094e058626f982fd62cd9c5e8b7ad02097c7a2b3c7203d364f1ac022
+DIST firefox-116.0-nn-NO.xpi 551413 BLAKE2B b945375dfc5f18b994b0a9abde9a385a06313bd2d8c36802cc26b03821a3f6a4e9f771b975ddb7785f3730ce555f756164cabc155595ef5b501823bd7b338c8a SHA512 3712e9e2ac17f6ebfa9cb80baf4092d7f0f9846e728bd2b35fe56b3139e5037ac840761970f30eaa3187971d4b9837108f2c9b01c8a905d707ff6ba2f6f81236
+DIST firefox-116.0-oc.xpi 571598 BLAKE2B c601b9791336faf86c08620e70538cfc8dbe0bf75e477e8bdb9369755868e2da1ff6019cd36898c41f20a5341e98732cafb9070847c1167f1fe0b3b18aaf3c69 SHA512 c63394bbcea50db300212fdef2de98d2c3a4fcde875db43f85308e702829ff706770cf0cf49b0535c81a500adbb375de66e2494ac79351f12ef65b04eaefd1c6
+DIST firefox-116.0-pa-IN.xpi 626851 BLAKE2B c7a585b416801dd964c65b2f1650630754583da0e09d1de2b2e1f3d9e109080e4a69b306e96cc8cbf1081f53da9ee1245a795194b18ddddd74dfa0200d07a816 SHA512 b9baa1e6d5e435d9d952607a8cfec429aa46cec5e3f092393832d7381e1c76a9faf83b6d4ff5a6dcc9e67c54d4126c13c8dd7c7930a700becdd5b724df0a9d3e
+DIST firefox-116.0-pl.xpi 579296 BLAKE2B 5e7053e43ca76ce672fd6b23223e6bda44d71e0d0ce4a2a12d19d4abc61793008e0af43e3af1352eb8cff140a62af05356400d600bfff96bf07db1ae8d56de41 SHA512 7d2599eed582c2e1ecc9a67e661a0151e8b8c8f6028ddd19bb4e934eb121ee77af2ff49e5096c824ccb9f41aa87d9fe61df15019bb38ef1197ba87e5b6848e55
+DIST firefox-116.0-pt-BR.xpi 564563 BLAKE2B 26d3219e8257e88d7800c9bd3dfe8040ca3fce902a4ef63e18ba9fba21f2d4e66fee39a787fee9f240ded64837dbf4fd08b70991ae7e1e297ae5b77817efab9b SHA512 ccf271c13fcd528da1d9afa1245038a066aface786a52fcd2562434619834627f2492e03bfc564e50e73b417c5ee512a74f30f4fa64bd717a33db586473dca83
+DIST firefox-116.0-pt-PT.xpi 568416 BLAKE2B b2c314fd02698ae8d49be3ece86d55d2a83db0a6a02cb034fbde568fb86c313d3320a85416514ad4fa3de766a4320a9a6ec02d99824321b88652d55254dfdd6c SHA512 7a561689538df66bebab2a4508dd2fbb53f5232283e8a617dc4bc48e9f34ecd799252b91b6f86b0db690cdfd04d0b6738064ab484842b4dc01b296c8d29c9e29
+DIST firefox-116.0-rm.xpi 558028 BLAKE2B 82a8b6d8effe0edfca1091ae768a0cd0af721d4c2e11327244060d81276cc9b938cd2f66bf3f779837846879d3dad0feee6f26983c3eee56ce7e65cefc5de68d SHA512 47116719a0cc2970cc4c037b56944e2ded79e4ec54089e19f1857bd627ba0564872a9254b19fd506359f9468daca93a2d09aa721f9ae82c69e6058e5379a6892
+DIST firefox-116.0-ro.xpi 524309 BLAKE2B b49eaec1c070b7056ec33ddd882584ebd744f9d91eb4c5826e85afe7fe7937e3996d3f5f70233a888534235ddc9c1e01b70a270ea980da23361ea7cf6ce43367 SHA512 fecf44f719720d37e95b0a1d9333549cf0b9ef7a40670310e266bcdb5f953c5f4064c2a1a46756d8294728ab530bc9dda55e4b8c3c237eeca3c8c7c422773b1e
+DIST firefox-116.0-ru.xpi 653105 BLAKE2B f4de4add2cc21f5484498e5216c855da858cf08554b86903e8bd532dd9bf005037113cf11617d07fae2aae379fff3ffd8d10f2b139caf7163d7a3353d4c5b50b SHA512 9a8b503152ef160af80a80645f6ea1bf2ba403f973781329db0dea71019276dc9509d3e82af8f69279cd6ddc2bbba4cad991deff6ad631da06a37e502f0f1a82
+DIST firefox-116.0-sc.xpi 534523 BLAKE2B ab69acf677dfc22dd737e73c5609c7e4eabfbee5b2765aa69e1ab9c47ba0c01c1b4ccfae7bbd49ce8ed25bcb8866a2ccc797e9ea84a46a2b8d7d816ab2698870 SHA512 a37036d05a8ef42c10dee13bad1d9e70731245b966d45de359cae5a1afde174d73d860e2951f30940895fa04120a6fbada211b00f47b83c0314232ba75f32388
+DIST firefox-116.0-sco.xpi 489055 BLAKE2B e77146c2916a401d086febcf5d5a757146bb0aa987a0b3446d3c2c71d49568ee125027f03aee8e8c7789fd30b56b8ed566cd11cdba0d94299449996b0916bd97 SHA512 e88621dd5ad6452f98034e6a8828f21f47abd971665d782c0a1b5e6f3179841c166f2b31e39f562ebbc3f627c0399c2541c9222bca8d59af4e70c65da99ae64a
+DIST firefox-116.0-si.xpi 574168 BLAKE2B ee38700ccbdfff8e7ce9aff1669cc28eef67bb7c4c0479573c6a4c6c1e5e1389c0c297eba33f57d5e17e611661cbb4eab3f8aefb3096257a417444ffca277020 SHA512 32be0bb91c6d687926b61928e664bbbbb91d91d198eb2a712f70a874209e8ca3c2c2d05211315b822e6063374f95f9451163ee7d8631c9e559881be4e5a71f93
+DIST firefox-116.0-sk.xpi 590366 BLAKE2B 6b667527f53f44af98160018a81f029749b514138b306da2dc35e1c753675e96bca76fa7ce1ca8586439d7f1bc19ccd7796836bece0fd088938713f11e836f36 SHA512 6d0a0de25ee7f669002a23a167d1b8fe7f791cd3d0eb01ce1335e2be7371fe21d7cbb406b6e9ab82da70c68a577110a9ddb72d1ff2caed33aa8061197566847e
+DIST firefox-116.0-sl.xpi 562029 BLAKE2B 1a9b0dd6826ea5f434e582b6de72ca7e764393a6d9c69f46cb00186f346b7708b25f9d6849497661ba541bf1519b1dba00b415d4e872f2506c1b7d00f130ee18 SHA512 f96b285d1da49a98ac5b101b48d5c6784e8a0091ed34ce038847c8f460612aa2ae92fa56610bb0acd98913848b0461977533ba37582b2a69a9daf1e8523f4fe0
+DIST firefox-116.0-son.xpi 400204 BLAKE2B 2ea9b50609b176aad1b8902cb6838c3437a86ea399052beb65bf939b71cf4fddddd3ca7901f582306b26d3bc7e37ae27d3a70a968c92aa25056d5b22633e7ae7 SHA512 4c9bfe4a09ac9b184b5306ef1f8c5277c0ce38d4ede217a60b04e3539d9d5cc883bdef5ffc5e4c6856153e4f2863300fe37f6e10e13fd14cb50644c477e12001
+DIST firefox-116.0-sq.xpi 563998 BLAKE2B ffdc0e926dd6a81675ef5184f2ddd4b26bf021387a8347b220722468ef07e5593d7828412dfcae1905f43ef83294a4f383822c394ccd72625e7de64204242fc0 SHA512 a4ed0c6b79c4cf845b7bb6df79721ca5b6ed055a3983540bd344260a28309c8f072dbdaff90c753d02b473518949a45b79456fb81ecde4a12792b911c4c39dbb
+DIST firefox-116.0-sr.xpi 613441 BLAKE2B 15aa6b91451315d15a8033707e6e7cff1c4256bf34b31b00bdc15d885b3f8a3d793dfab186c61e90b1c846f9263b2923701f6a32e5d9859a3590a555155200b0 SHA512 deae0b022f9f27a33714a0a1eae465f8a01bb75c912ee0a1eca8ff596b09318a3a506534c6aa56b6859756040f6fabb6a0c37e359fd899f57533f6b8254ec345
+DIST firefox-116.0-sv-SE.xpi 561743 BLAKE2B abade289aefee0e44c057ab05a4045509307aaca303d337568d87564ffbccd7e4730d36337668e3a7b03e76f4b8e247e6d7e2c79de9bb27b51a16cfd08814bf6 SHA512 646779e61e97b6c42196d9bbc1dba015f7d9c4a20d9e47ac7a0cc3bbfc83cead613c0253d4b6f8d726f57b76592e135bec93bc4e4907ea2438f040f0363a9f1c
+DIST firefox-116.0-szl.xpi 503526 BLAKE2B 20354a0c88107f18e4d6237fef090a7195f0bc76c15a31b1f1b566513ba13e4d096244a80a8a40648fe747a78c44ca4232b7215ecee73fa3c2a3b3d7ecf98ce6 SHA512 052a6a15c4f6d72696a84e504d2ce8a3c2d36da65de79de3e735ae19092156c0d37b95aa4487cbad206ddbe6946ce8103a3a9563f2b54415a911afc538e79841
+DIST firefox-116.0-ta.xpi 488084 BLAKE2B ccf9be9661c3de2deed609cc56fe3650d1a78c96645ca4eae0de0e11b253ba3062c72c55200a9b36139f8783219aeccad9d989aef7821a4b0b55f422c10e17f8 SHA512 2a7fbfb711acec39e045f736a814759ab7cebc79fbff65b8f6bfa50c5fa4d75e41813ba51c781cb1016151475a9523a9ea35e29a8ed9b7b95115688676d581f3
+DIST firefox-116.0-te.xpi 535418 BLAKE2B d247ef6eb294f47fce6da799accc9ec379e7964d1e16ef0c8525e95b27ae243015790ae1a8e9d0abd3a122ec67105a5d25952fb9aafaa1615e3187979b75b2c6 SHA512 c4bd68e5a2710766d8c4090d1f6f96e844009bfd554ee5a7d6fd2d0b8ca42e69d7090b7a57ce6a6ff7c235299191206be00f4442672a1e8566d8316a7876509f
+DIST firefox-116.0-th.xpi 631494 BLAKE2B e94af1a92b3c5f05c7706d263b57dd96fcc84c468acb92e4699763e3939b23f584e4affbceab93a5602747a4e5fc67070d2cf5fc95d0615cc1ff107d5cbcdca9 SHA512 3893e957707b3a62a6984b04a92f47ad4718738f35611f0684e69a85ec3f3a4d7506a2cd925f399fe5ac902d32744b45ae66faf3144f2b8d5f1e67cf40ae99e7
+DIST firefox-116.0-tl.xpi 510943 BLAKE2B e3a8803be244f2f0f967c14e7d6f98f424467561ce4aeabc943013597256e651b09a4efb5b3f3a9041ff77fa45919340e8733a51a885c7be20a7bd733fb7267d SHA512 722d100271429921b4eb878fd6758c406f247900db4c216f289d6713bc5c29782ea4d1a4dfa80c29f37f1813efa0f513e627373626e2cc2e2a8868ae94fb0f0d
+DIST firefox-116.0-tr.xpi 573425 BLAKE2B fd6a2bc198b6c529e29253947df3e41526dad01bf11762681789a82eb4a850efd51681b57554f36911483dbb31a6d5906c1a1fa9b81e16f424b36a16c34f0dc8 SHA512 1fd58a90d0412d01c0db67d134240eda312304d466efeaf43a774a80122fbadd8aacaf4ab74388b9b7c1903b78a4d373881125693f6cd13ed9daeffad8c01492
+DIST firefox-116.0-trs.xpi 481280 BLAKE2B 7dd3c698d32a7dd380b1ecb226b70b7e10a0954fc4778eeb56e3ca6d463787567e31452725e280baff231c10dfa46c577af9e10cd7d482629a55ed7dedc71d90 SHA512 c5508931bc3194dc4f0ab171dcaebc02611399537c6fd3eff3501b07fd34acd0d35f8755a0d111e3bc1ba9c92c76a16e7ba2266eea78ff1aa433a540eae0ba79
+DIST firefox-116.0-uk.xpi 644408 BLAKE2B 584ac4961fb7de3684d353d5dd44218da8f82efad8654e38e9b21306aeda0bc85813966607e8c893776b3776556af5ae749300b4d40883cfa1ccafe607f81ad5 SHA512 272c9725f08758137b554496a837f52548fc26f198446660f0b8b483dd7bf38f3ad2393e95acc4933726102bfcd65bc43b61595b20333a7c1e37fc7c8128d332
+DIST firefox-116.0-ur.xpi 538180 BLAKE2B 2e2524ef3a27adfea3c060deb645fd8e76d3695ffa8fa1731a139772d0b088b80b1e03d04da62546a55ba0d180b538e6609a9725aad1280186764a6c193a80ea SHA512 000d23875ec9afc3600f9cc6dc7357e2cff504ae7e222b860f145f83c38c7ceca63e7d2841fd05600d0ec78451ff41b1062c8be07c2753fd2844bb1f3646cb33
+DIST firefox-116.0-uz.xpi 461091 BLAKE2B 473719f882c93ea0b5150fe3f187c067d7ca20fea64ff2b76315eaa4955caee0b11da5e743406a7034cab56a977f63811a19c2f4a4734b5bef711e09c4a968e3 SHA512 90ee43ea59410b9e884919c8c9c8c099c08e83f6da4521b8bd7b86bb72c9b58956451550c21b2ee903a44b05bab98edcd703ccc6e23b2c2187324349a2067142
+DIST firefox-116.0-vi.xpi 596611 BLAKE2B e282057e43e821ccdcae2c11c4966fc403d45c914b267fb03c7010ae0cdecec683ae98ca79ca21f09c618e93b7769dbd7ff1792d5878598ceb5b8408f68c8e68 SHA512 31f10ba77f79c9425ec88cdd379a6725f3ed3b1b90c69ed83b4b74f42b0631d3e1d66f9abfde88150a3f8317a914e6254f88deb61ddeaae819be2d2b0f1d5d44
+DIST firefox-116.0-xh.xpi 401650 BLAKE2B dce3add055f8e5ca785c05b1b110980668d11e0b4d3cc26569aec77b84441c992e4f8e4e55bb804561aa2e230ae5d6875ed85d9acc45b0ddc3f5423133bd33cd SHA512 e4a466326376e785587faa0497501e1bf0e8cb235027ba0144047eebd2e62defc60990050c7b8bd490dd539439a2485b2ab793c84c4e8dfddcdaf5dd425dd09f
+DIST firefox-116.0-zh-CN.xpi 596066 BLAKE2B 133b239fd1cad0d5e7db5b0f861a9afda6abba16238149d2055f66f07aecc9b23959edc5e43bea0c7f00798bbd3efccbc47c1b74fff263e6490e4f55fc43908e SHA512 427a1e063e986503fae1849cec5124158237526a4a265e616235e77984343e883936ff1569b198a6ec20a5d48cb19b5edf12976ddc3c8a69e598acecd494976a
+DIST firefox-116.0-zh-TW.xpi 598593 BLAKE2B 6633c9ffbfa988f1345c67e3b4cea06bf90714ea6960f12f6beef3c5cd2fb085f0a27a5cf2addab28e645e156bf0f518faaab4be63e3603210b916275f0d1c1d SHA512 c3f901183ab89bb8e01034dc328522163d131dd847be330ea099018bfb32abcbdd748bfd8763079605ee4b3cc0c65b3fd7a39fc853fa3b93b25dcd32d74d7641
+DIST firefox-116.0.source.tar.xz 515487160 BLAKE2B 844f37e6f1f0947771a5e9a629ad44c04733906cb5922d5541ec12c4193dee4307cd435c381a97ce4ff20be1f31200a0c13c6e33a0308fcab9ce16b1327723c1 SHA512 4370c65a99bf8796524aca11ea8e99fa4f875176a5805ad49f35ae149080eb54be42e7eae84627e87e17b88b262649e48f3b30b317170ac7c208960200d1005d
EBUILD firefox-102.13.0.ebuild 37116 BLAKE2B 524c749d4b4c2190417e0ecc5e2baab104744f4b2ca2c89538b52374fbf92aed2401a2e2b3226f92945347cfd9e842abf3934f2cee857e620c7cb24c9b7c7174 SHA512 ca6b8bab2c786e4847cc8c998979f1be592b4d524faaccfaae2075ddaed9aa4dc959e0bd5df80c0f754de9dac0b63885cf7571590268e5e1ad5ebd55993612e3
EBUILD firefox-115.0.2.ebuild 43175 BLAKE2B c1f4a4a6b6cc261dc4d9b6fa67beb9d504324c4661cf6b95dd3f522c958021d69c60415960aef17feec6bc45fb0aa6f3fe649c80ace26aed18ade3dfb86c5244 SHA512 200e0bbe6544bcf77959c1719d12a0e50cfb93994407a053790a5b784a10d438724a1f7f3bb545e2e76ce80b87e8927cb480882f10fe6458e19479e1948c996c
EBUILD firefox-115.0.3.ebuild 40577 BLAKE2B 7dd9e11f5a1ce2c6416064d31e00a42ece094bb009d9b7df98e791dc2879ee6320e80d46c0e6a094baeea6adedca6e89c3a2f632eedfdf52db09fd31f031bb84 SHA512 603a0fcb8e3107db6f476615bc875f065d3255a86766c47ede78a6984811c8c7e788697a50838f0634bc0b7d174eb0cef4e490db35f24d303a78e5b7e6c99af3
+EBUILD firefox-116.0.ebuild 43184 BLAKE2B bd93745db2b6c5d63602c41a11bbad7b8c24fdfbc503b3da42b677699b1dfaeecfd0f88c1e0f3c30259a771712c13dd0a675045663b8d7af57c0b356176b786c SHA512 75e771f0e4112c1be1f4274769dacc7ae2e8d2f4377b60df13a04529452bdc02fc0c15af13ed38984f375c29e943c18d472d6e31df7eabd21946c815cb336aea
MISC metadata.xml 2658 BLAKE2B 4e52ee338d13627658328468081959897f9ffba3d0729a03975f756ed95e2649e21a40de4933c0a2bdd9c1d4dc6cea973f503a3d448f49f73ec3eafb933f6845 SHA512 1062c2e2a49757a8e3b027db5d425113ce6e7bdba630786109caedbb3717c7600094c7bb3fbc83e1887d96e464f0dc48bdbcff16d396ea5481f36040e0e4c70d
diff --git a/www-client/firefox/firefox-116.0.ebuild b/www-client/firefox/firefox-116.0.ebuild
new file mode 100644
index 000000000000..8c27f071525e
--- /dev/null
+++ b/www-client/firefox/firefox-116.0.ebuild
@@ -0,0 +1,1466 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-116-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=16
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+ llvm multiprocessing optfeature pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+SLOT="rapid"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack +jumbo-build libproxy lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
+IUSE+=" +telemetry valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ !jumbo-build? ( clang )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ !www-client/firefox:esr
+ screencast? ( media-video/pipewire:= )
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/clang:16
+ sys-devel/llvm:16
+ clang? (
+ || (
+ sys-devel/lld:16
+ sys-devel/mold
+ )
+ virtual/rust:0/llvm-16
+ pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:15
+ sys-devel/llvm:15
+ clang? (
+ || (
+ sys-devel/lld:15
+ sys-devel/mold
+ )
+ virtual/rust:0/llvm-15
+ pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
+ )
+ )
+ )
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.24.3
+ net-libs/nodejs
+ virtual/pkgconfig
+ !clang? ( >=virtual/rust-1.65 )
+ 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
+ )
+ wayland? (
+ >=gui-libs/wlroots-0.15.1-r1[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.91
+ >=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
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ dev-libs/dbus-glib
+ 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 )
+ screencast? ( media-video/pipewire:= )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ valgrind? ( dev-util/valgrind )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+ local out
+
+ # Ensure ld output is in English.
+ local -x LC_ALL=C
+
+ # First check the linker directly.
+ out=$($(tc-getLD "$@") --version 2>&1)
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # Then see if they're selecting mold via compiler flags.
+ # Note: We're assuming they're using LDFLAGS to hold the
+ # options and not CFLAGS/CXXFLAGS.
+ local base="${T}/test-tc-linker"
+ cat <<-EOF > "${base}.c"
+ int main() { return 0; }
+ EOF
+ out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+ rm -f "${base}"*
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # No mold here!
+ return 1
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work
+ addpredict /dev/dri
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto && tc-ld-is-lld ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # May need a wider addpredict when using wayland+pgo.
+ addpredict /dev/dri
+
+ # Allow access to GPU during PGO run
+ local ati_cards mesa_cards nvidia_cards render_cards
+ shopt -s nullglob
+
+ ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if [[ -n "${ati_cards}" ]] ; then
+ addpredict "${ati_cards}"
+ fi
+
+ mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if [[ -n "${mesa_cards}" ]] ; then
+ addpredict "${mesa_cards}"
+ fi
+
+ nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+ if [[ -n "${nvidia_cards}" ]] ; then
+ addpredict "${nvidia_cards}"
+ fi
+
+ render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+ if [[ -n "${render_cards}" ]] ; then
+ addpredict "${render_cards}"
+ fi
+
+ shopt -u nullglob
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if use lto; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ if ! use ppc64; then
+ rm -v "${WORKDIR}"/firefox-patches/*ppc64*.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)"
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # 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
+
+ # 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"
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB 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-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ elif use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly
+ # Can be removed once upstream enable it by default in the future.
+ use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+ mozconfig_use_enable valgrind
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ 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
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ 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 and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-lto
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ elif tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ if use elibc_musl && use arm64 ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using musl/arm64' --disable-elf-hack
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ if use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ if use system-python-libs; then
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
+ else
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+ fi
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ if use valgrind; then
+ sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die
+ fi
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if tc-ld-is-mold && use lto; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information
+ local show_normandy_information
+ local show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla ${PN^} shortcut."
+ elog "If you still want to be able to select between running Mozilla ${PN^}"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ 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
+
+ elog
+ elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
+ elog "useragent checks. To temporarily fix this, enter about:config and modify "
+ elog "network.http.useragent.forceVersion preference to \"99\"."
+ elog "Or install an addon to change your useragent."
+ elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
+ 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
+
+ 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
+}