summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-10-06 17:57:58 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-10-06 17:57:58 +0100
commit8368c614e6a1232f34a14cd6495cf2f68933030d (patch)
treefb445ed1110e0361c9c25136c00c4fb948bb46c4 /www-client/firefox
parent2b03b0d9c5ca3890c219ebd24721133e766e9bb9 (diff)
gentoo auto-resync : 06:10:2023 - 17:57:58
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest406
-rw-r--r--www-client/firefox/firefox-102.15.1.ebuild1290
-rw-r--r--www-client/firefox/firefox-115.3.0.ebuild1368
-rw-r--r--www-client/firefox/firefox-115.3.1.ebuild2
-rw-r--r--www-client/firefox/firefox-117.0.1.ebuild1488
-rw-r--r--www-client/firefox/firefox-118.0.ebuild1430
6 files changed, 2 insertions, 5982 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 3d0962dcee9b..b658faedc22a 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -8,105 +8,6 @@ AUX gentoo-hwaccel-prefs.js-r2 265 BLAKE2B ac3053eb15e2dac446337c29184b5ec54fb30
AUX icon/firefox-r2.desktop 8137 BLAKE2B 5d0ce737c0e0969cb1a61de7989f5ca1ca0dff413d6d98bb0c93e0fed510b4e075a88fc117d3713e5e11ee7471ceaeffa9bc9dfd4282f3ddb1ea837d823e4887 SHA512 749a50b11d89c1329a52d13745ff8d5f801e565038cb5341319b4b515f36baf1c0c740003d6d01188c27e31d7ddeff58310e7b2420681292d0f2522bc5bd34b6
AUX icon/firefox-r3.desktop 8116 BLAKE2B 50b476a1be87bcca0bd6175b7a7f5e67ac5d3f40b0a5a99c2244036a9eea53fb518f59c1d87b18723c4ae6c261bfb692ef0b52c6714402b0a98da4b6867ab977 SHA512 07c9d89babe20fba9531396c9aa2b692aae77606be2b8a750481b6b8f9b3eab320fef313d1ed4b15d3fbc4cd94dfb56b62ce1a3e89ba7143c6aa9acc0f919bf8
AUX icon/firefox-symbolic.svg 7432 BLAKE2B 33a552ffb9850f6b9cd3cb8d9f7f80268ac08f00a0bd5eb15d892c6fbb950f8cacf6058b9c838f5be1ae1b53541f143a1ec0c1302ae85b49100b166fcbccdce6 SHA512 ba7db9a7c95a051bcd84e4c09c802fc55ee3c0d1d06ec1b169b04e414259b75bbe92fe584aee41a1e3f71e71c160df8bedf5393449e5024110ed27dbc0579ea8
-DIST firefox-102.15.1esr-ach.xpi 466446 BLAKE2B 16e71c16aa1d8699d76a58ea8107216e4073c15195a9d817ac4670a1fe6f834b6a280cddc6b7fdb33f44a4fc28edf777f3fb9f55dcbc1d11c52910d582b7aa1a SHA512 8274d28fb438ca53decae0cecb851c23780431cd675cd656e3522dcd2773b2a0d1004f2dc9723a2f4a85f69009ca996ad05d87f155bb5906f650daa8385ef993
-DIST firefox-102.15.1esr-af.xpi 429119 BLAKE2B f9c25a77bc271d05e9b4115ac1f76d1aa495a53dc84015e3376bc5738874a64461fce7ef47fa152a9c7c46acba6a0fe94a8c1ae379e768d4426e995c58f1b248 SHA512 43cc11eb1e696fbf8a098e76b3e830349a7997ccb7bcd8c3bbc8b648b7cfcf877f2f10528834422303fc62f94356081244770bb533a5651af7d0c718ef2f7f8c
-DIST firefox-102.15.1esr-an.xpi 510493 BLAKE2B fd46fe8e582eb44ffb0a7d5da1bb41404abb152695cfb1b4a1342ad8d0a9b729fb0c9bae786ec5d225f8386dc942f3c0bb569fc3a87c5eb8d2792de12d75e7cd SHA512 12600a6b9ccbaa39d81883837fcee8dfa521a87d7a17b05a38a58dac6a2e849b7adb4f14bc52f00ccd715dc3c07bc7b2e80d67073a1fe3e44ed3e51e328836cf
-DIST firefox-102.15.1esr-ar.xpi 578877 BLAKE2B 89d5ac78af6d7e049c0793601af62da1b57f4075d0f5a25ae5e17b8413ae2d8de32556b355bb726558b695a3a1f02e6a6d430328ba38282f5c8a3023259befbc SHA512 fd11af88af2601d5428c87d782a1fdfdd1bdc7bc29790690a60773cb684400fb663fe1529757f380562fb24856ef54cdbd40458e0615796b8e42a464823e611d
-DIST firefox-102.15.1esr-ast.xpi 498109 BLAKE2B 2748c0b49b865dc4c8e7f7d268087e8e48a67d61bea18b97b7e70d05099f8c658430d64be40cea12ba2779d837e7b2c6219506e150767c7b840d51da00ccba73 SHA512 723dcd487954074fa68571a23d24255b767e2f85551e2013927e119097e70eb170b44317c718502c77006c3810caabe707f9a6a9e84c40a26d2ca315312e287f
-DIST firefox-102.15.1esr-az.xpi 500786 BLAKE2B 4815f334cf1c21a9acac94218ef3079b5e04949824c94054f027eed7be8b1a9f312581b79e3fc8933f0970adb15a327a5c94733bee10bf4dc7cb31fe14631ab8 SHA512 d5fecc00f599a479f972d07dff0c73c8fdda0c51109cbe67080606235e153554cb448333529b1daa71a06471bb404ef56da31bedb4f239ff0820aa32454ca1ad
-DIST firefox-102.15.1esr-be.xpi 666693 BLAKE2B 899b2d83cff8f24aa6a4bab32fef44f8b18b024a122aca1dc1db3edd8cf8109809db16990169f7cf55eaed9d197b4e46d505cfedfd1ecdf84cee33f3034e0742 SHA512 1e8c8e8496e8d5aca016ada8c77ab4963ca249143d4dcabc65a12d977de183ffcbf50d6d3a306c731fddb51fae9aaf3039fedcf2587411691a3782421c2e2e1d
-DIST firefox-102.15.1esr-bg.xpi 591348 BLAKE2B 4daafb5d95e47bc39607c3640d4d38e701b5f82f02c3f11f82d977dba9497999c5ffabad7cde72789bc22591c9ebbf1c00f651d78edb6feff2cecff2e00e3d17 SHA512 1e1e940ebc612bf32cc589b5cd9626538be7f460bd22c603d7d5fdae3f6cf4dc3335001156fbf43ea46ab8a610e3239889e13de67b0e88ea7af99e25ab467187
-DIST firefox-102.15.1esr-bn.xpi 591679 BLAKE2B ad853d8ace7d95c5b2feec367177a2ab8a2047972e429ee34f8f2d4290eba3abda8f949d30b5fba9cd25988414e10e4311807693b6eda66d272867ca6e7e58a3 SHA512 b948055a20c2928dca554ef38886ab27621ab1bfad182f9d7b86c4b3168b086b0b2ae13177b74f2938fba5c1350bdd4b584ee8320f35750c4ac4ec58b5e6434d
-DIST firefox-102.15.1esr-br.xpi 555853 BLAKE2B 664710aaab274f783c9a2895931f7df3469bf4f9e22fe7fa7d3e528692b355843788c89a147f58557f12e7e797f98fd25b2ee7f732f5581c6df53b4190bf1ca1 SHA512 16b56b71386316d2643d16ad21d1c6c0b493dd787b15b1cfb85f6ef4dbe4a0ab4349f8fb50b0cbe09d259af9dbd2016bfe246a448daca91cd758b1ca3ac276b6
-DIST firefox-102.15.1esr-bs.xpi 471736 BLAKE2B d45c2d14e749b4060ec9427735b6c62f2626577b3665c0c78849eeaad03e25309a154bca256a0f0fd33cc5af1fb51d5e2e8afd6208faf61c502ebb22dd4a8821 SHA512 a27e4cb2eb43c161eebcfc1ac74eccbecb668ec382a4c4d7e2bbb5c7e726c1aef18953e246358faa83aa8a549ffec9f3f97cd710e7bb79f094bdc31136318964
-DIST firefox-102.15.1esr-ca-valencia.xpi 549197 BLAKE2B 701d71114e822048c811ca0e1b969f8f4f72c3708f8f370a6129d74655fabcebcee57b97fa93fa87cd97493e9a69bc8427af140ea50fb932cb10dac8dee3c389 SHA512 168b25b9eeebce43a936aef9717f8b7da86c69cba08da2d07f29ef8cf049c95098cb6b74b907ac96c3f4a82009de6b2d458df01e17351d388386accdf917d05b
-DIST firefox-102.15.1esr-ca.xpi 561934 BLAKE2B 46b6e39b03b56764193c030285350487b0044d8e884f0e85b09464fce87a1d559d3a7df1e664603c9d50c87928918a37c022063dbd3908964f5e290d244d6936 SHA512 43f537f239d789cc5af18d02a3b38bd0a053ba2febee8142844b853712abd464e19de06e03dd9ebab298a44c8660dd054c959d5b3f9eab11f9e07a316e129d49
-DIST firefox-102.15.1esr-cak.xpi 563840 BLAKE2B 04bd4829556622a0b593b466134268aeb64ce6ac0a446266b0742216f80376e4be7cbd361459bf736114bff465b492fd1d9b95e946f469ed236b161eee070680 SHA512 c5bf2fb9db96068edafbb4a901539f0dd8e5becf0731f8ca8bcfff15e9c874f95a949bab27d759eddc03d4c4430e346a44c2d8fd6bb5e883866b36dec9188717
-DIST firefox-102.15.1esr-cs.xpi 599811 BLAKE2B 06006d670f42aa97c2c951cad32d735a465ac777a3651830008ed8b5ca6975dd728c5021bba8e4447d1d5cb68f93304985be55743ff1a5945dbdb60d8acebeac SHA512 f02a499432c2bebeb510775248f35975bf36713d04c450c522c922a0d6f6b821809ff9859e7ebbb564dd74fc1178735e0fa8f1a8d514e4e809ef5015bd1d8992
-DIST firefox-102.15.1esr-cy.xpi 579220 BLAKE2B aaa00f891d7109454b5ea3e1c6de930f5741d71493fd6aeb700b358a127beb6098905f311333649f1f03d139a87f68cbfea3e413045754f054eb6759a749cf8d SHA512 2ad652bc96893d62aef782ba359f93b5c84ac9ad783a39d683532e4d1d74d6c46fcdc5a02ae4afb3de450e18cf8785a1e03b847f04316bba22c4c1b80975e190
-DIST firefox-102.15.1esr-da.xpi 570516 BLAKE2B 323d420261778193bc6405b2ad11f6f9d12b0863aa8841c26f3d697cc9a929de8e5ae18a7be05f7418b5260a83fdb40599989b3e11a03daac704ea3f1bb163a7 SHA512 d299409caa9db7091f390d18af7fa445686c40b01c50059476fa89cf5ad997205f43ff3552822f18cd529b48d03fd35577ff033b984f4326dfcc62982ef1b4e3
-DIST firefox-102.15.1esr-de.xpi 591575 BLAKE2B beb7cd58e41f6cc811a803cc8141c36b64d73de9a392e6a802422874e7552570947670c3b8b8d8755a19946d44f215af29cdcf3fad857dfa11b077e95af77180 SHA512 e2ad00ac417855693117f7d537dd3cd83f2c271baa2d00b5f125ffc14707e32b0b08f53a2717a7c6c211d924712f9cf547e4c5f20b52b62358a156553109456a
-DIST firefox-102.15.1esr-dsb.xpi 600381 BLAKE2B 40cb95ed66eb06b57bc015eb3c26d2a02426d0e37e63f5ae70a4bd77ee3f5a877b139f54973b3080bd5a040941501af136ebd5d7b53dd1b53d5413cea53c2be7 SHA512 48752cfb2b964812d898107de5da669855940fb73c5faa8197f58ffed27d80484131a769999d9b7f590244a83639c670f347f1bd0387359816e974372b7e919e
-DIST firefox-102.15.1esr-el.xpi 681657 BLAKE2B f2849b02fa13b80f9acc701a8207fe4706adfdb5a764723a68342e21ad4e46cc604d769b9269502503ee9f3fbfa1e5f8587bc288b241596aa99bb5f5c873f00c SHA512 bc71052fb9e7702b67e2571e6cd4a7de12c4745f58dc816d3794db129353c4a35a8d9c9c8750d43a1df3dbeb27a3f053aa003a772b1bde6619c6ceff9d4855e7
-DIST firefox-102.15.1esr-en-CA.xpi 541057 BLAKE2B 059f39c21c96eb497c0e5ef557320ebedf26bf802331a499fb664a5d66d6cd9b04b24ee9ff6db573b679eff6112f3e49eb8aa6033d5164450a5d62e21e50c478 SHA512 366e020f66ffdc426b7b0dc67138237bfe3b39bb2c880164a31e0396109c4a682703c60b502cfab91dd9c7a18c6f9cdd576755febaf5e1ce607c09afc6bc3a7a
-DIST firefox-102.15.1esr-en-GB.xpi 544000 BLAKE2B 22d31209c7439d986866eea04c9ea99f8df2cd30e2eea748dea0bc2bbda19d016fa8acb011a00a89db26c08f14bf32b0e7b42b01e5d3dd4f7e077d43758d7de8 SHA512 45192a37a124b25cfac165abbb41663a4f34591e2c06f977f83cd0663ea26248e77b22505df269b9aa40d4e7f38815f6c22c6f22769e36ec2730db0de0c98f03
-DIST firefox-102.15.1esr-eo.xpi 571438 BLAKE2B 74a633d48c4adacbc7b37152b34372b3283fb08845bc3321c53c209343054f6880395ca8474e6451564ac91607b36dc04504c08469c1e92ba7ccf9734ee333a4 SHA512 d0abb8e104a34e9e3decc065533157ece91f4e0fe4a1cc6658a23248e37edc2a46f9465ed303388dce93a524481d568aea0d8e6cc72b15ff0559fc76c66047ec
-DIST firefox-102.15.1esr-es-AR.xpi 584201 BLAKE2B e89269171ab6b5572e918d9087c06e12023be19a999ce06e64e6e8062a0ea31af8df644f85c4c70406f16b3ebd19d27b3f246c023e179d907782fefe74487462 SHA512 3f65f978069d884cc40902c034cb6c0f800ea4108766a6f111ca57c7e67fb004b406980dd0f9c6623801806c86f90b052c6a5e4a8ae900a5fdc5ab63e0496fe4
-DIST firefox-102.15.1esr-es-CL.xpi 583184 BLAKE2B d8d7d81c2afabd1072888332168ecacdec633922e7fc2cf05fd554d703df3ff381b41ffaf64b0a3916bb6dbf7022761b94f1379e95678543858d820bb9ab1b1e SHA512 534fac3cc517412d3f1794d6c7c6fd3c60330779cac9cad562c9c6bc58bdf6d488eaf157b4f80d99f262be895f905bb192956e2324da6c30aad57d2d0a2928b9
-DIST firefox-102.15.1esr-es-ES.xpi 576082 BLAKE2B 72494115ca7ceb45b218bbea56e38af2b0aabf7419f33c6406799bb30b1dde6751ba1d1484186322ac4b852305a1335b9253e82064597ac90eeecced2cbc93b0 SHA512 54eada037e4b2fb02ad5a5e2ce135ec458c90d24d394d4450b8a1a11ed2263a36e143fe0835ca2e819b6ba6f3c18f6676fc8448d0967ea124a80934dc99ccd6b
-DIST firefox-102.15.1esr-es-MX.xpi 586663 BLAKE2B a76df913b293420d305459f9cab91a141a54bf026ed3d8fcac2e88b9fd5030dd4b629bad68b57532b07d79ad046624ce41cac27541558758bb267d296ddef5b7 SHA512 29659e52d82578af22649d4ea13bd7de72775dffe728b6faccac0e403f70eeba50bea84452c93d6366fa22cedc48d77af6460b170f1bc24f80777d72ed0d5cfe
-DIST firefox-102.15.1esr-et.xpi 543291 BLAKE2B d33540cc14711ee79a48992658faba01067aa72555d385790c50a1c6e061b8ef13710efb7d00225d56540ff5ccb62e16d1074e2e57c7454e9f4d76a06d4d92d7 SHA512 9517f6d3a0ded660bf0a5ba0b6a91a23828e7022cef8404eaaf90ee87fe8551a387e924b101e0b64b25bbc976dadca3ec161ea18516ba14ed1fc68f9c62cfc7b
-DIST firefox-102.15.1esr-eu.xpi 572530 BLAKE2B a7a65261675f712354770b56f9fc2dc1c89364db082eec2def662e6002a89e9972387a32264c5493e90aeea78d7f2ed3fe6a7c21c79707d4df20ef8750a49e3e SHA512 8a02db4f85b6a836067108e2977639ab18978e67bccaa112b44663465d8ca104daaf9fbb9fde679efef0de0af639e4707fec0e96342df74d6d58cbdea956f5f6
-DIST firefox-102.15.1esr-fa.xpi 583123 BLAKE2B ad3070d8690ffcd93da5b3bd27722061b72076d145e4e63ad61ee0129f4cf8aa71a4383d486460e83fae48749f137c35f456aa9aace72af5f41588048ecf61de SHA512 c2a8a126f92ba6f17a726aebf4ff79ef8371536d1680e82fe233b184ca3f22c0ad2fc9bf348baf7fc3cb45c15affd66e99fe22d6d8bf88075f0798f9952c1fd1
-DIST firefox-102.15.1esr-ff.xpi 483134 BLAKE2B 29a690a020c71d13db4dc8a614af2fb9ea9e9a40acc5f337cf1209c31044cef61de2d910af00b785a6ecf7b304ad415e624e005cb0d0e55476a0c09f7c8ba41e SHA512 1a0849d5f4ce2c9fc08ff02337fb13ba61115003399b4207e7ea20de80959d89ff47efa7b445a7eca0435e7911c258207ad4b0ada978c0689491c321ffc834df
-DIST firefox-102.15.1esr-fi.xpi 568233 BLAKE2B 7a1a456a91545dc1ad31b700a0b4c956423388288ac9d1b9f8093a10f9c35c5659b1b1d8a618f76d933bd4fb56edc9dfed0df84fafbdf73ec4245dd23de7cb26 SHA512 ef4ae516d4c55d702100cba1bd8c3e32d69ee7dddf951b2f8f0282fcb460dfe36f72460656af76b469c1f5adb3b507c61e5f86d0bdf9431093ff0e898cb29d20
-DIST firefox-102.15.1esr-fr.xpi 595547 BLAKE2B 0a0c40c7514dee33bf828a4ae41db0fb3d58299da49028b41404831f3a0435ec8dea312c6d82129a25dfcb79fa13d9e2c7f86e3ff894ba7098ee84b80d8ac677 SHA512 1bab3ec1da171911b100fd697e015ae4c107ed74bdf32e614ce21341ee885c0c1a8da821487a821867efaed408b216ed27ceb5c51bfb550dd1f60a8bc3b940ba
-DIST firefox-102.15.1esr-fy-NL.xpi 580228 BLAKE2B 6c3d26729757df370fd45484fc276ad7b89cad6a1590eefdc1eb4bd9bb876bed08d962da39ce17f4274a10e9301505a4440879681100777ee8a442416f9e323f SHA512 c6ba1bfe43f27bbaa4b444e58705c7eaf08a85f93dafbba602222aa68cfc239814d05303097fe3c0c8cd01150f8377037a0f46f539319d76503185b43edf2319
-DIST firefox-102.15.1esr-ga-IE.xpi 480694 BLAKE2B eba262f1f9a270dde29b1f469f324d290030db661e93bc89e4b6d5368e56dae50a89261a3ef88370181cc8c03209d23b2c490cfb21a3db59d17e2da502601ed4 SHA512 31d198927369d46f6cc79c7610b6cac96ccbaf4100cde5d560ca8022f13d19dc19b74ba0a35777b71ad56e8402e242f2d59d5093ad1ddabf8a58af5975bff9b6
-DIST firefox-102.15.1esr-gd.xpi 557861 BLAKE2B 44c7c11f4b3b5f99f454cb4a9794f9533144100e7c3b6a42cd938e2624d0c8df299da3d7d7ed3c304220e2e657fb2f91de882018ba3fae9e07ea78af73d618d1 SHA512 9537467efa72f5deee75d5f115c16b4eed2e4b17519433aef7ad3a6ad4df84e79cfdb8d809ff779048a7be3c42ab7db056cb0340946d9109c0883f6e56997073
-DIST firefox-102.15.1esr-gl.xpi 550719 BLAKE2B fcd48d799a67cae3ca4870c6a472c19c09034e93ec70c0a557f5ad14174156b8ee307594eb32d7164e1b4ed66bcd2f02a037222e6632337839780737e4734c1c SHA512 029200f64aeed335d201ad1ed799ab15117d31d172e4053bcbccca791472b0ec9fdd2096c20b2c16828ec074feb714c294c2289fbc99634d453a2ced5b112635
-DIST firefox-102.15.1esr-gn.xpi 595702 BLAKE2B 1df986fc04ecf2240dcf28a04d9590b4b8d3891b540fc9cf9fb1b591ff75d4fbf07b3bb1dcab36e1a4a9d7436991fa25bcdca090b22096691d3479e23f56c261 SHA512 5cff40942ebd655f740f2be88c4f80e10b24712dce62b0ddc445cd8de13330b976c1fbfb892a48c8042eb4fa6ec02a6ddf13c5cada2d98d5ce44b9aa35bb09a7
-DIST firefox-102.15.1esr-gu-IN.xpi 541901 BLAKE2B daf4d8540631692f8c74710fa931be68f2b961cd42ddf8fc4a7c6691cf013809fd77ed5fae8e32f1ab6f8397d5a987ee47ffd430147da0e7ab99d27521e858bf SHA512 c4839ff02fe0f4b5883ddc13dd247d007e25703eb4e6ddb17eff8a213a7dc0a42d3f1fe8003cfcd5cf7f9ea64d61be5af463fb3d7a43a4fe8ba2920c192b6054
-DIST firefox-102.15.1esr-he.xpi 591524 BLAKE2B 48d6e0a729f0c7e01cc30a8f7f8cf7fe5f1d5e67a0f06e88c9a108a693ca819785e421d9a0c20ecefa558dbaeaf8f780a8edb2dd1613e9cb138f4f0af35af6b3 SHA512 c44a629f51e53acc94c4b6ea25014d29b2c0d3dfe093bd49971703fbb4562035d370ce4eeea9ab7b2f7f512c8aa648fd44d6129f5b82129918da92a975931868
-DIST firefox-102.15.1esr-hi-IN.xpi 570420 BLAKE2B e113c03b4da01d8d3a0c55e54a1c633265451caf33d32d6ee2db973f16d111cc305a835053ccac8478cf1d074e50ff2c3d7c5854475445c20eadc1661cec2825 SHA512 8ceb2ae78bc1c539d9df14b0234e9e6b1a35d33884fd1bcfa2fc39f8007a0b56ac86b158d5ea839c50899d3226b486f0d4b1ba164506f77e4aa2d00b33f42682
-DIST firefox-102.15.1esr-hr.xpi 555263 BLAKE2B 226cf53cd9c32c4c2c1896bcb80fcab62032ecc30992ee52804eaf4f4b45e828170f8c32106c20fa76fc200716cd98f03f5d72a2792b4291075927aba862921d SHA512 c18575c229efcbb94ea91af91e5ae6cd5f67681002e9d484b34ef0e8fe1bfd5f526f986ec983be0f9ae13ae88edfe515fd83626c397d0f3c4aea402d2322d02f
-DIST firefox-102.15.1esr-hsb.xpi 599180 BLAKE2B 99d9dde536a85200f463fb70d69dd133521f5857c9ace959790c39f5a1de3de2634b125f1afa76a6600466168640bc3aa7f8abaf66f4b23a2edbe20e2f763058 SHA512 bdc29ec551f2d15c412ede942d80894bb61909b6fff3e7f3f991bb024ef1ab1d9633e971bbeb26a4ab8c5fa355171589c71204c51c66d6f9a2c30b1c7a8070a7
-DIST firefox-102.15.1esr-hu.xpi 605252 BLAKE2B 94220f487ee21e1ede94c3d337f7a5397dbed7fad2d8f9541437d981762913a37f3dbdd60ca8bb28d93ef3491eaf43acad1fa0649516a31132b5ff76c3d9e8ab SHA512 610afd533f3a52ca713cb2fc8aeb76cb8790deed4a21fc8cbb382cd2cc5fd5ac76e6e69debc9161ac012cd255ebab62370dba8957114878de1c500039952fd7e
-DIST firefox-102.15.1esr-hy-AM.xpi 607091 BLAKE2B 511927b5570789114e6e3cba3757e2a32760b63facfcbde05dbd53c29a5300af285cfa32e28eb4a5f5049eabfabbaa07d67239c4ea594aba64c00c81a6b7b488 SHA512 d559cf9e0edec6c8da87e89da3db5929864bc73aeb278d7b15217c5e4db8223e912fad799c59c505c31216d10eadeedae361cbde0152484dc98c8b61fc7f1ca3
-DIST firefox-102.15.1esr-ia.xpi 567883 BLAKE2B 2e40707b9ca7e873822ed363650cb484facfea18b481d83000bef532e17b51e68b297625b162ff8a427dedc1aef90a3ab174b947468cbbd5ce039c2431119fcc SHA512 690093b74972e1e9da152315da6dc52a9a5502b47df862cfd720e5eaeaf575f813e781f0b9b861b363b3297f23698d9d422033ebc084d408fd0de5c1daea87c2
-DIST firefox-102.15.1esr-id.xpi 564793 BLAKE2B e23dba334b645d1564f96126313c185e8d8ebf2e6fca87847519c59756cde09acbeed310b2777d2c3fab7f420e93b4e51717e7441a3192905b310dec4130559d SHA512 2e023f1abfeced68447ed8aa5cb79be92850a96081fb2abe0ffc04be1b25dda4488e8674652d919e11c5706713510705a9b5883dd694e63ad3f6c03e5e22d5a0
-DIST firefox-102.15.1esr-is.xpi 575727 BLAKE2B 342dad0d2f64bb494e98e7207bbb9dedc908f0a896df3f6713e303532a63b8b9e148e7a0255da5a751b9c34ed57671cf24df76e9c9414d0047fad4a7efcb6928 SHA512 31a78de7f53cd139383472ba1d55ef5df42bb1e30404cabf5f5a83d1ac3c45e99026e13c2ab25132ea8b7e8e23180d91ef56307dbeb7de7f1829b99e2b30c517
-DIST firefox-102.15.1esr-it.xpi 505288 BLAKE2B 5f678200af119a626ad08d2fa60d5b836dd556096fc3a387617484d8334714a282f561c0f1c30f6f86dcd554e0c8e8a6fad4bd8e33b9fcc853dfea94cc9ceb85 SHA512 fa0e06c8bfc0c03cb25bc48b3c2f31df36bb262e0074ec99b8fa559366e229d3d5b5765edebd9947b27194291b1e07b529c0c9d0cb32a62b53b5843874ebe0fb
-DIST firefox-102.15.1esr-ja.xpi 631482 BLAKE2B 8fa54af1ad8dc7c1857be59d30c162f3cf70dcfffe3f79288d2b98648eb9aad58cbe1e2cc255d6d3cf6b77d423fc8335eb7567333c21085a02112a674fce8900 SHA512 e251d18887d389aed8e95f825392915e1217d3dac779b0ba6163351818ac069111d94799a7fe678ab52e2f2a0e5ed3edab0cba889a5066191eae3985e8f433f0
-DIST firefox-102.15.1esr-ka.xpi 636000 BLAKE2B 74e11f93cc908eb7831159d4cea88240a6b34da23b00d1363cd6351bb5096a5c148f69b2638337075b3a909f8f987ab081937bd5bdfed28e46f5e48073923b49 SHA512 032b8a31ab79ee960979cea88f9ef888882bf7ec7bbcd10210483339d1253e4285fb3df3c14454f9605400b579cfafdcc4037ef9c830da29806478f8e48874c1
-DIST firefox-102.15.1esr-kab.xpi 583636 BLAKE2B 09478caa1ba5962fda253506ffdca8d61cb8a1ebecf47c9c30b63656bbd253088f4e9b9fda78ef53024635e6bffd42baa54aafcb5316ba77971cb7240cd6f685 SHA512 4c98296d7f3c183fc2116611ed5133fabcd2162e6f962e7c4d5031f19e6ce54a260650c02171a2ead7a12d0b69cf1d038524752d460e0fc64a0d22c9a6b1abe3
-DIST firefox-102.15.1esr-kk.xpi 658881 BLAKE2B 1793e24f7679f737f73d156fcd59aac07aa8eb44aeba042e22b8ec70980ff6ca61b7f84cc1ebdad3204e003301327415585c06f9874a964e13582cc9f8d2ea37 SHA512 1ec83feff3c6700740b99000ec65ced897335d044be3a96939e52f1627924a6e9bec398ec7c39d6d11d41acd89deb8526dc83990b06b1cc7742d1dfa8589463e
-DIST firefox-102.15.1esr-km.xpi 543901 BLAKE2B f11681f1e13d18f6c675958d3808563862efe7c38665d63e0e7ec94eaaf7e1877b09cb6403be2441abdb8f05c9a95261df7ade331860085edbd02b1f3a7b5bd0 SHA512 1a26a7606452d633a9119e562b8e2c2759d9767a33f00bb2cc768a6ae79319f4f455fc2812b34dc1a6624d2e9ee89bf8b8c383e0acfb1fedd80a285302768f26
-DIST firefox-102.15.1esr-kn.xpi 508590 BLAKE2B 9a4f0f51c8606d038d2f5ad608f3258b71be91cd5729969c22feab13fc53f537f2a63da4c34a79a24b60648a0d6be84c72c70f09b31dc92d78240f614304b9c3 SHA512 0a0c016a5ed25327c58e060ed8c921641df69c0d9616b0ca786b57c8dffdba5dde7c98b8accda947a92cb7b483c2622d5aebd207989074a2483ea3bdae856971
-DIST firefox-102.15.1esr-ko.xpi 617299 BLAKE2B 133eb148fd99da795d4b5e16c9be47fa5988dd09c2788869a6d9a2d0696619bb4d46042b9b180702fe9e0fecaff2447204ffa5654f2d0e7878f51e1f231ba9d1 SHA512 67514e81eac7fdf21e5f994d72a378bd3006d8bc199869f6c13cdd532e9a6171a43bccf21389f6b3d0c231fa6be19c63e45b796ee67c2084096dd6812434c458
-DIST firefox-102.15.1esr-lij.xpi 480141 BLAKE2B 05e6bc63cc4d22e0990e8f8d5545ccb4ac836a3283d245fc868caf37f32ce4b4ec6eb41f2b673e119e4014f2f09b1c6564c09955fa1b31fe6bbc95e1ef191e23 SHA512 7a09d6a8e9d38a0fd6d487200943fcab3b0a50b90e601aaeeec2cadc761b158a7b72e087def23a003cb236953f6a5ee4aaf8adb0736039eda80b5c5e0e0a9d6e
-DIST firefox-102.15.1esr-lt.xpi 574776 BLAKE2B 08855566765a0c91cc5a28caf7803bddf3803bc62b5290b351104cff9ff0f5d6968e6061d0fe299982961708a5c61ab7290d95a01899a5daf3e7a591d086c187 SHA512 31e9948c72b33d5acd731bc1131a7146d53037a55c86a6a74589c322c999aa4cbc27e5b382074a9362174bb949f77a7157210789c2bb64baf63f301e2f4618d7
-DIST firefox-102.15.1esr-lv.xpi 479295 BLAKE2B 733ab1e2a23fa16e9dac473c0607e0b382ecbcf88c657abfbf05e11e54befff41b6c3e94f486eeeb5a20d57a396fa1735a618d91da085702f0ffbf5695e0a4be SHA512 27cc798c690bbf50d94e681acce25ce1648d05099b7a40bb2169bb655cb1d7bfb72c2e86fdafff5adc86c6db962371cd17f33e501fd601b479403b5ae35457d8
-DIST firefox-102.15.1esr-mk.xpi 497531 BLAKE2B 072986622a0f4d9ff6424f329f16026b7226698964ac81bb8b16a057635089e66b37abd9a6d51f3248637635bfe1ffe52d9da3be9de76720b540a73db8b3df8d SHA512 94d87492d58ff9109d81852961cac5cf7202edec8f87d35667682f1313126096c1b0098c1a3fa115315cc33d2b012532edcfdcc70c5c7282dbc0f9c13f45965c
-DIST firefox-102.15.1esr-mr.xpi 543737 BLAKE2B f25df6450724ce3c455479afd2803d1557060854dceb2616473b9d94d0c5c5482060a56ee6e0608c1cc65dfd838970dbc5eea76fbfb340a744aca99b7b41261e SHA512 2c8af0e73988c7826c2f84df9f17ad7df6dac7c9b54c182f36956258f748dff7b892287da40ff60a14d312f8cfd011d6068c9e33af4ec327a8271f95c3681d4b
-DIST firefox-102.15.1esr-ms.xpi 459036 BLAKE2B 1a038b1861b4a06098482dc672ee241045267b1d4a0ceb8a45c4fa87f754078ec0c666284e08c3dd44c22a1a93666a7eb79998a33b0174b6ecec7d9c08601c70 SHA512 9ca9deb4ae3423534bd3c4b46c920dca0055dd7cebd74006f39509c342ec1dfdf0e118e7af443a9f04c2e3796807506c717b844d28b6ecb5824d1969597a4265
-DIST firefox-102.15.1esr-my.xpi 529940 BLAKE2B e20d56005f7652e3145a7a31d939ff832d38fb0d7e1fa09f1d89d042ec98c20aa58a43b03cca02d05ab0ceaeb61e0b3ab14fae4045a3656d44d1bbe3437dd14f SHA512 e7e306f4339c2934ce41e2bcc0a914ab07ca632ff21859269b2eb48a59b0b4b393134d5b8d917a0b616a051fe973ec05966a464fe013079b92dc9d8d35edb5f8
-DIST firefox-102.15.1esr-nb-NO.xpi 565285 BLAKE2B da93a00a2144bec90ef2685c1f8c56dec5417435c278c2d651c0905728a30d437b2fe056c18d89b1c95d9f8f13e0bbd24966339a3eb9a27c657879cfc85dfdce SHA512 e44c349c4d6508551fc1b96f0ab1805dc4aa15b76fd0333d061dc1e988baa3350083363a303d412e6c0fdf24a7d0b33f4e99d0abf6970e689153b73720ea3674
-DIST firefox-102.15.1esr-ne-NP.xpi 498089 BLAKE2B 6d5402d57d80b20797f31b74a570127f6d90bec5c17b874682162dbe54d13bdbb261ddae8a27e98251aaaaeb840259d2cd199ad14c5872465b8e84a9a1bdc351 SHA512 71d149a42af5d79df41a7fa53214f9cbfce9f034f2101a0067421c0b5fdbb2e5f5bb3f203be90d60ee485071adbad763b19b5ea2f183ff4486cf9afae6cc9f0d
-DIST firefox-102.15.1esr-nl.xpi 573460 BLAKE2B baa8bf090ec1419764b2a9b981786e6afd8d20319313a62e617de4883d3831199afdc109a75a76224e8b9becccd4e295c71a555426aff072881d95da6221d616 SHA512 9cefae0b47d4f32760ef92387ad665fa764e393fe4c3f4bce3d24b45a96b9242fe10dff56dffac37503b6c857c063e8edb6da009b5a36cf9a1a41de5bfae39ee
-DIST firefox-102.15.1esr-nn-NO.xpi 566165 BLAKE2B b919079133f6aca9e644367f77024b81ca5bff7a2d923fb26310595dddf36caae924a46233b927fd9a2bdfb96db377d787f9f23c9e5b21a14da94bddbca2543c SHA512 2e262c49191ed6f6059aa45fc20c9dd724fb59232e812a3451267188461c3529b49891a45f798a105918cca470135eb9f0c648bbaa19ebbd54829fbbaa61d0c8
-DIST firefox-102.15.1esr-oc.xpi 591143 BLAKE2B 2a6572a949bde2145e13138fe3a05e2cff685af27cd9d8c1f25521b6fc34ce79231ea66c399aecaedb508e1eac604d34676f09545086d26ca6a0a8d6e7e54f0a SHA512 7dc3f2c180052e44e00c74892cd00345829ec91cd2d3fa20575c9067bfb1a18cfa64de966f3cc9f9200a1755dbf1bb618f7b750a5d7574c1eefedd8149a9e58e
-DIST firefox-102.15.1esr-pa-IN.xpi 648631 BLAKE2B 8e192dce259c3b1f1ed58d09c820fe82e7c1ae14fb23a6d87dd9473fff41f284df8ec730cf2807fb57aa3f786a2dc3dc0d8ab0a744f25bff3bab72cb9ef3cdf5 SHA512 1eade58a77aed3f24b2cdf043bcf56ca66bd9de9a5f915401008a8022bb27369093737aba260cf8532e248801e89867001fe26e113f4ce5a76f951b460189749
-DIST firefox-102.15.1esr-pl.xpi 597077 BLAKE2B 13a977f17904fe3c9f8736bea0db2685ba070200a872bfe19b8cfb25fd9c58e12831a8f21eb5a7ca0c087d007e1836916fabee83b3dd8ab2bd06723a9b4b3eea SHA512 46e113cdb313c0a7fdfb4990e6a09405349b151923d89e942b1744a9e43b3ca479fd481b12d3c4780449779f1873b27629b606a781595dd296b7fa96aedee098
-DIST firefox-102.15.1esr-pt-BR.xpi 579012 BLAKE2B 30213bbf9a4a9121b6ea7f4e5f94c51d4e9bf778b19d5c252fa35bdb13ed30d8f39d40f260d7935398660cf29ef086c94937aa4accc687f00b500fca3461ab15 SHA512 adf26f064fe03e270614a43037dab4138b9b8e87b25b2d211c5c9dd03658807fe66268918153e849cd749b6c391ea8d3f487fab14c83cdd13189736a1896e7ca
-DIST firefox-102.15.1esr-pt-PT.xpi 582847 BLAKE2B 6b352e003655a895848c1689bc64e411042f14cbd9dc2851de5f08149767bd38709288c12cc7a88ce348c69973f9c8e0c970a6ece93a7c30c64ecb78b9a104b0 SHA512 004e4561797921b961350a91ebf9cba48a15de8f689b0dde7a9da92322af60bcca4b8c9ffd13611460842ae7d87f2b11e8052a6a513e87f4eef5200d3f907bac
-DIST firefox-102.15.1esr-rm.xpi 571908 BLAKE2B 39bdf93d4b939502ae02be379ee3fae2a3d616c0bf01ac9ac306e587ca147d485cda66da6d81a3d4266057d4bc92759869b46f4517184b847559c2f16705c0ab SHA512 665f037ed9813b50b5cfeedccfbbf11adbd02343e17fae9a8cedbf72f327c027499be0fdb9a940cfa6717e6de52d4121b3fefffca569564786c68b93441347e8
-DIST firefox-102.15.1esr-ro.xpi 541920 BLAKE2B 7972eac7f9d9de29e98f19d51e17b4ec884b822b8449aa2967b790dca612c0f6f43b9d3bd1a4c1af212a3a6a0909f0db974c78103a4795182f610c4459135e1b SHA512 efb1248b4125525fc3eceb6218c804c4b2e1ca7e86aa4223b3002312d567441e96f23cbb418c6bb0b3895267a7c630aa83a2a091b2012021aa2b63902eaf5c4d
-DIST firefox-102.15.1esr-ru.xpi 671118 BLAKE2B e2d896a2ffb5808cf7230674b35c438fe0f533f9020ea7688cab9cf6bfd852fe90dbc9b5f22164df6511e9282fb0b393b9fafc26de4a586410037bdaac53a779 SHA512 841f1c5ac528d3a8e4cf9aeb3ec8e4b612688ee9aae9d9c52c5f2b93724fcc26b5da65d25ff175e8d4d62220bbdf5e3ffe1026c636d46fc61611f595b314e985
-DIST firefox-102.15.1esr-sco.xpi 513233 BLAKE2B 842dc7b127c4d319fe8c67a1241ca6eb67601a2c2cef20ccac9b5fb04736968fdf4a427b3e10465a020ffc005dfc981af1c8ac22a4268e9efed9c914708b2f40 SHA512 f8eef112695cc8ef936e6097b4952e9285fc6a90ab92f9a70a4b8c8e460e59e988e92a1c7c43d23eee3c86da40ca9d91bfce46247f987ad8e4ea4b6e7be035c8
-DIST firefox-102.15.1esr-si.xpi 585622 BLAKE2B 81061a0831f08f281b88d15f66a5e6ab8cada03a08376feb1a0e7160551f3189a7e224fdf36c3f326249087cda8f534305df84759abc54ba3b5d439c79b61024 SHA512 03b3a64f6ec6f7cdf8e6d73165338076591928e505c896bc62a33558e72fb51b4d7bb0facfcce635f4d4854a4377e19fca7d291accf452e3db685a3679e3dfb7
-DIST firefox-102.15.1esr-sk.xpi 606124 BLAKE2B 7d9744ce41c1413be769b8b15980a6ede0346ab90b0adcb4bee3f5ec103d7a5e5f4b4225d61285aa380465634e01409419c33388824b7eeefeaab331b5e5ba52 SHA512 4f8652029aa6b0bcf75b2f29fca66db6c6ebe145398a6fe79b004844174d25a8c139cae084f6b469a1992692fa3db13cb516c438d4b67caa942f5a3381398497
-DIST firefox-102.15.1esr-sl.xpi 577351 BLAKE2B 6f32390e4c8b03d18ae885e97fe27194711afa4e15e09ecbf7e720e5d3d1906537195c05e317b3daa888b08f6ec6e2fe49d1f6bccba3bf913c00d961a1e2751e SHA512 75a16467b1f2f9d5a5a38f0831164eaa3856496078e7de8510deaf23a9ff3bbd9f65677e676b0cdb18e928cb069b18452ce4c5a836d8e6fd903d61eec07434c3
-DIST firefox-102.15.1esr-son.xpi 433056 BLAKE2B 216c17fd74787889f23368faa98577087434d7f0f0ba0540fff36226b192d09a6809ae2cd2cf28ebebdc2785ad3f009047815d25abd7e427456a3bdccd2b7a39 SHA512 4f21e87d7e10970ef1d87c4f696f811c11d8526d46968def102692458294b4ea71c25b929ecf94fa9ee3392c98305d6f23c9a94f82687fe0bd2da600db0770cb
-DIST firefox-102.15.1esr-sq.xpi 593410 BLAKE2B 6ac5c8ecd34814a658d1a9921b6090d8ccf64ef5ade08d9cf634cf3e7909bd284fff5aa3f6bbd8e3c1248b9127d02bc63a6fe5ae2eafc87daa9ef6b72967e477 SHA512 4d0fae835ec751dd16ca1932e9e98f042b8714da5040e0b754058be9ad6fa0cf7457957f7694b9c6932dbcbfdc83f4c2e2184415196f7ffbe07b6ac5de5ccafc
-DIST firefox-102.15.1esr-sr.xpi 635153 BLAKE2B 7ed25dc4a47fbfde96f6de842e261bc0c2cf54c8b8dca2d8530c84f3411db4267cc03b598715fe107311e5f5a56950063c31124f1a2bf8d4ec50f5a522f6ee21 SHA512 78c24b50b1f37387f2814c635ccb1ca8dc0031f01aa43f2e061fd8f1a3502cc176eb9660630ae64fbb5a19293332b77edf75aa6370f6da5a2a6c750d29b0f3d1
-DIST firefox-102.15.1esr-sv-SE.xpi 576063 BLAKE2B 82b63d8c70957ef1ee64e70b05d83f3824652c78b80460de03276a1cdfc553832b71686e0f7935f0b5522721f2fbbfe64859e8f40773fbcc956a31b465f92840 SHA512 1afc04015971a830ba86e95bc455b63b9cacb1ebca63f5506e9ab6a51fa1abaa64182cb924ec808fb43af46e2b271b9f3b65489eafdba884de8d2dc9b9929a61
-DIST firefox-102.15.1esr-szl.xpi 527105 BLAKE2B b5c2e9ee8d986be1702d720b0825dc33cc380be49167520604991541ad1237bdf5d5e50ce404539448fe407bb7faca3972c599849f5bb004d82a73ebe293326a SHA512 3402b6b66114d6fb3ec85ab1d5d9b5f710548852b5dd80a126d5a09ac594311ebf1d2d586ff2472133398e0e2244ede93b552d1c6a614894f8df807df084a3ca
-DIST firefox-102.15.1esr-ta.xpi 522076 BLAKE2B de4ff9997f34141a3d9a31e246ddfca7690bc285400048f8b0b1709cf0bb00b363c629ea6d12f775411e4d6374d131413ec4722dfdb110e49c1032f23fbddae3 SHA512 9e189a00e15e448a7eb8ced6ac620e28f97a05c3c30da498db35a06f7f8df8e4b5dda777ef18428ed33a6b020a568e1cef8aa8c2980cc2b8da3ace3105433c86
-DIST firefox-102.15.1esr-te.xpi 568447 BLAKE2B ffb03f0157dd4ee9111a8c40b90660cbc6ace683f2f9ceae959d18fa5cb3e565e6a69e9ebd2550b9fdcd142f88f593a1b66e1320d9056e5a8702a012f690442a SHA512 e3d27bed8b6ff388020787d5e4fdbfb46ae20581524ac50589b3d4476d5f5964545bcdb45454c6605ba26a907f069f4e71fc45ebfd7647f1fcac7d62f5d3a067
-DIST firefox-102.15.1esr-th.xpi 649497 BLAKE2B 41a4cde2103132b72932f40f8a777b44a59a36dff7fee6eae31319f5161c5129e3fde959852959a57da9d29499b681dde2d9a7c496cc87bc8ff75677d4fe53a6 SHA512 00d8f5751ade4ce5d49ec2d1b1d51e3b15d725c0989622c3620e10671305982d5f28ee120003c498686b9b523c441dfd31a9b2d4ef844914f1027caaf15e0ca9
-DIST firefox-102.15.1esr-tl.xpi 532373 BLAKE2B 562c4ea206eaa9f67e014583226b5083c52bd612827a4b49d010d8fdef96c8343149da00a4e5794989a1694512c0d0d83d98682c2cf11e7a889bb953e6790ad8 SHA512 80f30969009e5a70f12f7bd74ac19ebdeca55dca2c64a12f7e0cefbbc1ae868ba5d1755066c0b2f36482499492a39c1b6bc8757db79acf2bb9c11edcfd532306
-DIST firefox-102.15.1esr-tr.xpi 590515 BLAKE2B 83f2bf6f556f568d1a40784d9ff6fa49d072a0c6cd20f627c1a51a8f4b5fc6f4476019840b3f55892bb4dc99a687226fbd890620abd9295a4b7841d58027fc3c SHA512 ea5484fe8410eef09c97d608a5eb55770efae75e80becf033d81486b849db5c5bb4c6bef52b26d25d83d7e5834208c981d90839f4f519ca82d356476384f7bc8
-DIST firefox-102.15.1esr-trs.xpi 497377 BLAKE2B 4d6c631998641f8f5c4e7fe2ab3183afd20017cee167576fd14cd107c9c978f2067913a7a1ad8c47dc86c18076f5165a2945ebf119c1e72f759fc55b290c70d6 SHA512 ef0e4dc86bd62c9ae921b3fc9934b648371dd869a8cc52281037d2df27bdc4111493797a1267d453b7fd3db50f49c92602859447b05757d83252cba86b7536df
-DIST firefox-102.15.1esr-uk.xpi 664329 BLAKE2B b794dc475efcef1bdb0d8ddeccfefe7756854bc47f7de16cf8c57ba1d06079e466551f115696fcf558a82463a2f96fd0b14fa7a5e19976212d32fd213d4ceb62 SHA512 9a3c4263f2d57ab920282c3302e56c2bac231701a7c99f7a1228f6340291648f4f4991af1698ffa3ec766746a4250b2b2ac281172356b619a2d4a031baaddb76
-DIST firefox-102.15.1esr-ur.xpi 569928 BLAKE2B d2cd5d944c4259197033e9dae43dc08ce34f8c2814d647c22e12f05958f00d912ddb9ec04d411d782532315d4ee76d8238bd9453c6f0bb0c39536cf0607da1e0 SHA512 562ff9e93e4a185feaf1495531c0db298287149ab20fbe8d4cd83a3e8eecdad55e2375c1375938cc8397b8b0f97f050a1b962e4cb39619a27a53bf987a9ae2f3
-DIST firefox-102.15.1esr-uz.xpi 488874 BLAKE2B a8b26ec15d639792cd4551f386be9ae4b98f62e938ab27c8a507afa05809a5b458bfe3098a8be9f8bb239a41030647c4e93c30e4833594765c776569ecf903b4 SHA512 d2b042d631019b0891e4649480aec99758770e31c83a297b1556023af43454f3975b2ec9d9335c57b0be3c94ab53a3dadda3292d1bc39aa1e8bec40d3bdf9c10
-DIST firefox-102.15.1esr-vi.xpi 611420 BLAKE2B e641e03d69b921fc7210f52d71d35921cd01fc47e0c338ed53a38322032b29f0e20592a4b4b7d5fcddc952cca93cfbc3fb2307c604590e965375ef2f8280496c SHA512 dca11400fd9e9cfbb4283df69e5000ac0504594238c50d5f719426fc2dc74193a058d82f385f7d7b55c2fde61325d97ac713c94ba96f5a6880058971c4dd3e85
-DIST firefox-102.15.1esr-xh.xpi 427928 BLAKE2B 335e256f5f772fb1fdf6b92c2f53f730d6193d9e092c268ea15bdb18b5fecf4317c2430614326f41432f384f937d8a9ae2af43e566bdc1d9f12a94533cab0b92 SHA512 993860d2a80c41963615533f3da33cd1ea11d6a2fe1512a06d8f637cdfff36a50ae088bb6edb535b08e6e4e4fbccfb71c4f345fc97d91c0c2638ee1e900cf32e
-DIST firefox-102.15.1esr-zh-CN.xpi 613312 BLAKE2B 5dec5d8117dc31b4d2ad5fd030d6233c7b3e47d9e279670c7ec32ae7f39f323bd4ac739bf8e5822a208af735e800d40db21be0f03dac2c7303c296183b5fdefb SHA512 cf6002bb131db9248908559967bd64da0f084546ae6b898ccf586910df089be5f730866dc672f3b13d988f8a3b7e011ab637f9f4a38ebe0052d7f87775ed83a2
-DIST firefox-102.15.1esr-zh-TW.xpi 614572 BLAKE2B daed53e754bdab4f6a02f45bffa21341803b23c8c069d2c5f17e29958a7630e944e4dbd60df4a05e4de0d94bfb19ee6fbf7465522134c8e084608cc0e52f2af0 SHA512 935d1012cc02cf80dbe26bfbdea714c885646719452cc687b06936a60998ddfb7b03411e7b9cd18148fc7f80fa1f9b7fc00d6c575e6dfc6f344baa49e0facc02
-DIST firefox-102.15.1esr.source.tar.xz 483198220 BLAKE2B 03506d41c5171d0fe6d4b00c7b0aaa019bc090dce74bc119e42e4d0ea049b4c72428d9388549d6b63d69262c3c8aa61cbadb6e4f6bb702f3b7c9e51cff5232a4 SHA512 bdb66b4fb5622af3e60580a3bcd464d98ef13cb38d6ac6c9e5fc046e567a003cf080125d7748950c91c442fde5e8024c50c4180d2f551aa3528160a3c05ae187
-DIST firefox-102esr-patches-13.tar.xz 22212 BLAKE2B 02e9edd071a99abbac02faa11ffce061d5d12d8baa9ce54b51d6bfdbf8160022a1565902d65ca30fe51b5670e509fa921b11a460989933cbb797fcd59d635125 SHA512 8b8b0f3789978447a1293fd9acb5c2db3d7e9f724357a0d762b54f7e34d28f11655997ffeafccfe8001a01dd595848d257f90cb983462c405d434cc794216520
DIST firefox-115.2.1esr-ach.xpi 441056 BLAKE2B 52f1a02dd264bfe6c18dcb1282bdffdefd3216f294b97a59d95a5f5039c5f887907fac1921b4113810e665bc296251471958f8372c0e28f90c26f63eda0551c8 SHA512 a10ff0e945528f6723e830a608f45592e27eec5a37b8025a215e03b69016a280e5c5266919fea2a20812cf932f86d29a9716db2eedf755d7e9c41b801929a7fb
DIST firefox-115.2.1esr-af.xpi 402477 BLAKE2B 90945bb7b12ea5055c8fecca9824912ce87cb5c2986493832a8bb235397c0ba7573d4fdb5f796d976f05d897d915bafd800b38bda411255ac773d36bf82138e4 SHA512 b78836dab6d56a636f2f5beed8b485b5007e1c4147f949dd6745449580c052ef359ff0a52b2851e6ae41536bd19b55e07374b1e8a58af93b305e617fef09f69c
DIST firefox-115.2.1esr-an.xpi 482933 BLAKE2B e97de0315e009201a08ee89f404ddde02db7d5c2d698489d1362eec9bfe14642fbcee1a5c4da25e43821dc731bd163f46cbd1cd60ab7d68b3af85ef95d33b074 SHA512 45bf064dda5ce66eddab97553003ddcb8c89a522e858fc931c9221eb97069ec6c8908fd361fe12377a009fecb45b07b51fcedfb16ff6516b108abaa4b6309548
@@ -207,106 +108,6 @@ DIST firefox-115.2.1esr-xh.xpi 402432 BLAKE2B 3012eee773e3d4bd3d2795dc530ac81889
DIST firefox-115.2.1esr-zh-CN.xpi 595484 BLAKE2B 35d42cd87628e9e13075471ac5db9275fd5f063a63b5962a5c1c7de238135ae3d03cc5156ef8b87344ebc32176ea3ef2cf505bf9d8a8b787cfc572b09e0e191e SHA512 857042f7718fd3e4fb4e4c26cff9fc881d343aba260010f75143fcd6843bf06348138af5eeb157bac65f384055f59b619482f5cb1a38d9d5e045cf5391c45948
DIST firefox-115.2.1esr-zh-TW.xpi 597819 BLAKE2B 70b5179e0af42de33c415275ce620aaf500bde4ab50b41fe14e92c2d8a4eaf354fe950224461f58bcbb46f3b70e29af5059208edd5fa4c3af0419cff05861441 SHA512 81cc213c6e102c4c1b8e754b8befd5d7b959ce3f41aa9a65532e3bf1e1ac36b2599251f0d2230bda06658a4fa353edf5908aaf59e18b64448adc9fe2953aa8ed
DIST firefox-115.2.1esr.source.tar.xz 506585124 BLAKE2B 0c0600401c862c01f1fe145ef76c8b27efd4a9d8426932a2cd2de587134c4fd23a643cfee626a071ed7b06c9ec7459b1e4645581be08ae8a66659708c3166848 SHA512 5f9ff96996e3c482fa4d2e2861fdf14d2154bf0277d412bf9c9435204c7e2e2539ce7ef0891d8dafc74d5a12650a5ccd33d79547aa1bbb2c2a0972aaeb755edf
-DIST firefox-115.3.0esr-ach.xpi 441059 BLAKE2B f64061376590dfc04d797d5605b734b23c949a95404be84f957b4c006969fb330ce35a2406e0254b5253a20b68bd6e6320948cc4fa809e64c3721356692826b4 SHA512 7a2efe4ccfeddfa34a6905deff14f1aca69287e8331cf294dcc2692316e3c2eccf9aab0161b14862d426a2191aed7c21718b7d09293ea2b92f6e01f97674f42a
-DIST firefox-115.3.0esr-af.xpi 402468 BLAKE2B 64a23250007217bfd458817bbf4ce85282cfb18796333410c1c0eb56871e936c1fa3c690adfbf552ec53f14e92b07970780a71303043321d14bfc35f499377a6 SHA512 8a78188b3a9ee53596ee74c342008ad5a07edc598883a392a636125021e412719994d2254dbb2f3acfa2957f380767ef0a87e0d678160ab76d06b3bf7836e070
-DIST firefox-115.3.0esr-an.xpi 482934 BLAKE2B 0aaff224747cb4defc2535d3596d130449d712b82c46b3926bdf9c153da19955bed17fcdd549ee557e8da67d45afb7047b7825bc35e42883e394677ed2fac5c2 SHA512 ac2fad6c99d940f41bb351e55b43545e769d2589b05ed1e183228abde5ce0d5a93e5fdeeba469816f8d7f8b6b4ec9b26e1de9fe7c8073c1ca73f08c558212414
-DIST firefox-115.3.0esr-ar.xpi 549538 BLAKE2B a82f726cc6b228fea3b4df2d4f8c889704dd947ce25ff7a1323cbdecc5dd1816a01a4056c5e4d0c34efa28e6effe32c6ea3103000768d587db19e1557cea3177 SHA512 668837dff3c1e88ea300da8d0291e0c4f8a40cadbcfeef18b7de64bc40db87760674403bac042bf16a0ea53a5470909ed2ca0506bc5d1d6b323395059880c096
-DIST firefox-115.3.0esr-ast.xpi 477370 BLAKE2B a243b09ee6f4799e5a24de1b8f872c7e00a3b9872fa2e1fdf487959ccba9eea6c89b8d8ea2f747dce494f0d5b8726cb33e4b368f9aada574667c0dd83ee10331 SHA512 f0135284779fc122b38a3dbe92d805c4009801d03d306857f373b3495fbafcb6a96f37622dd59aaed80c34e5f1a4f59258f8753d5c45fb34e5eda95c24175f37
-DIST firefox-115.3.0esr-az.xpi 470741 BLAKE2B 2730b9616abc956b2b3c0e9bd60590d99911bbcd26659edaab90fdd86688f3d3ae158cca00186568792913331be9b06e354b1ef66328eb2c50695611a07ea9e4 SHA512 b0a09c0784a8bb657f929acf64879635976840a7106bf9fe8e23d1a9afba13ea2eae6c871776b7a9a1c830ae799c24fa6c69e2fd3d72040fa6994270c78c165d
-DIST firefox-115.3.0esr-be.xpi 647096 BLAKE2B 4b7c9567feef25401100fb01ccf232d534dd9f054358521241e5a504d80267a8197c339946fe52ed78e972b88bc4e2df1b5dae630b67746f7c85132719aad29c SHA512 b25ce1ea779999ec5f68ed6be5e9769e129ebe9186d389b7354a6191f8721d754d0fb7b77da49601c706734f080bcaf795f98647dae0171b9c4d3384f67da279
-DIST firefox-115.3.0esr-bg.xpi 564176 BLAKE2B 0baf2ff823203d4cb389e760074611aca6081a008c457a0a03003a35602c74ffff80a7d5401f9db69471a213fde92570ae9627c6a42c16072b9f33217a48f76d SHA512 2f56ca2d184840784b97cefa6b8dc3f40816f34e902bdb325ed18aa6fd9e1c5e001f9f0262fc6d419df86be38726979d292d6a0ff90e8580b343cc78a0ae46b3
-DIST firefox-115.3.0esr-bn.xpi 558441 BLAKE2B c5830003169d698b22ecafe5c7f3bea64ee85a708310e8215112314dd30533791a48d3d508c9522415965458a626c37a34746155de04df8fa8507d88edf046d9 SHA512 6ca6f4319d4016d51aec8f596432d9ac182d0dc8451aa3e572f3ae0f31c6d04bb30ce64c5d6c02e422cbb3013545d388eb00e0657beae7b5167abab50df21f29
-DIST firefox-115.3.0esr-br.xpi 534386 BLAKE2B cc7274eb4d0d4e43c0a7a7a9592405522d917e748262e8e726859155e8de403fd24c2f3ca17e8a2d07a6a7b0e3841e20426bd36224e53dd59df7d21336194641 SHA512 87c769298f8370c4e20175ccb470e931935d9d33c43cf174436e8ca2d4b35f542d3ad80454463192dc9a3e0d171855862883630fa32286173a75aa2fc864b96e
-DIST firefox-115.3.0esr-bs.xpi 441264 BLAKE2B fac219379063682fee10687741b7f2b0563b04b6c1c000ed3e46f567e9c90edfcbbfa232dddf3a2cf22ff85d02fbb3ad80ee35b68cf554f4ff9401e9e46acadd SHA512 c5b4029bf398b823fe496564855301576799318de717dfcb3e622e8200e39e9b727b7db5665b9440a60e80a05117448a8249f76a25fd6683d64fe6b2df03fa49
-DIST firefox-115.3.0esr-ca-valencia.xpi 521960 BLAKE2B b2f87b7a77cdc01e3268183487227bb39b4496b5ee9555444ad8828c4c07dc074ed3392cb1976ce7c30eb35fdbad95faaa96453feaad54e89cd7068b623616e4 SHA512 727b5d62aad4d0ae7be6ecaa9300b2b7f50a07933afb330d950d41b6e1f07de27c86528c9b3754c1d503a00f7d935fda43bcd6c7de28a0112b925ee04fdce49b
-DIST firefox-115.3.0esr-ca.xpi 545473 BLAKE2B f28f65b20f4e59ec8e9a5fe6b41ac3ba693c4cd4f762ee81247182e3d59f77ff8ea78a81607ed570269372fa5036e4fec5b48ab68202356a144beae657258134 SHA512 9b87824038aa3c0832414d47ee5c59afc8d9ab631eacfe5d79a7ae4235cc6ceb1b6b881d37f55b801cce66e4616cb73b8803e8c2143246e5b2dad38f52ab7224
-DIST firefox-115.3.0esr-cak.xpi 564572 BLAKE2B 622f39c892ad539c25b3e152d29bd15af7988c66be3d9e1a0d3dfd3b15a2aa5a177c8fb928e29b5a31cf5dcec93cc92f29098db894ce5da9c1d25442608a15a6 SHA512 ea19020f9e4520ab0c8d5ba1af82c7bc2a218353737c050b44eecbce4eaeade1b3a864ac2f05d4dc74b42e361ed3f593e506d53ef98100918e66932d4534e9ce
-DIST firefox-115.3.0esr-cs.xpi 592263 BLAKE2B 0db8401d614f2b73eb56d6b9bc87c1c0860fae4449d2c3ab7b0f71a147def7c0284174185ea4f85ed167d96828ebe94d916ebae03d9e18b77a287268959965cd SHA512 e9058b164e803aaafb7680014f09c28a75295d7537909349e38176949180cb29e0e860bc863466a7cc80247d4f6d505b186a7660754bb636f19d99608bbc43c8
-DIST firefox-115.3.0esr-cy.xpi 564691 BLAKE2B db5613d147d3aac9dcc507c73da65d38bd4c13562582552ab2fa7d850d0fb81a6f11e07dfeeb85c0f5cd148a7390493386fb21aeb0f53a62b59f93fec1c50b09 SHA512 0a5d369332ea3a864836496c8fd4ac4d6c575a1bda9f956a0c8ac6c6b7a780cabcc6b2f789657cb36e60cf123d9a4ec926cca9e897c2bc6371a3e74acc9b6d4d
-DIST firefox-115.3.0esr-da.xpi 554013 BLAKE2B 1dc8e91fcb83696c34894030df43d2b322419c56c6cd8498b415ad8d99c79097325b1832b9d93efd8344f1596600179da59c36f0f8df4006bf8618d29f73fd7c SHA512 c89e337552be6de62c51c9eb3d51993fb55a3804a67c76bad776f5b66fc5aa436038864f4f4a3a82c4e93bf9a60661831aa1c2382948c44554610ec8d9f5bfd5
-DIST firefox-115.3.0esr-de.xpi 574633 BLAKE2B 81fa56513f143094bca54c85fcac0fc515a008751ff58aaba7367eafd7dd414472d43dca0e944d35ba61edf321be908e0eb76c2718a96dcad534ab821ccd87b5 SHA512 95dc2973201a9ac9e406a1f24ebef5dbaaa4808f3c6245ef0e0347cc8fa23aeaac4dab1b5e47225ec7b26f153a4f3e8250cbc6013310805690e74e16a6fe91fe
-DIST firefox-115.3.0esr-dsb.xpi 589322 BLAKE2B bb2bb59f18dbe3cb2266e4eb413883bb19b90df542315d6ca695fd32891d158f81ce3dec356b23a373799adb0174dab6ca2630845bb0f03819aa40e0d5e18e6a SHA512 20becffba335abac89cbcbdb459596e3557500c64eed02c26b26d1eac8eb6ffa8611be35f93ade677c8109128ba2264b71cf123003c5d3e8e7071e45b4122ad2
-DIST firefox-115.3.0esr-el.xpi 663762 BLAKE2B 5e87101918f61ea0b94d79e104bf72ba1b8188f117998d640f3e86b708286bdaa00d8747176429a2410a75ad1eab4743dc77e54e1970d139e7bb29aadefbe02b SHA512 8f26d6f1e39d4b65b767c488cf4b7aaf7eaa8c037bfdd8dea4baeaaec78946c4e93fd197b50278a6359b6924daa12d00587d37db75de79eeab0a34d9fd9c100b
-DIST firefox-115.3.0esr-en-CA.xpi 519419 BLAKE2B cd17300bd3cf97360d1aef2fa516e1084373404a63a4fb492150e09ca3c296387138d9f3f88709469120a216ff8d0ced5663afcd5a841d910315651bce80a86c SHA512 c34164ed7993d166cd66b679b37f1b80d4dd8a201cbdb5e7b82dc91d112153ee915dfddca71a0769afd69cce77de22cef1e16a7c889f3d47ad9e2555ecd74281
-DIST firefox-115.3.0esr-en-GB.xpi 531047 BLAKE2B 245d8bad968f18c6cf0edaa4f66d9d6d4b9abacb74336aa22fa3d67112de94475e8595922a9b733ada8c6012808a975543180a0659295940cdf412f2d07e64f8 SHA512 84a36a17c51b24b35ed00f3137738d79cef3d42f3c079c840259b743953f740667434113a719856fb84270f813940c73f3f691eb098769d0bb6ed8273919f445
-DIST firefox-115.3.0esr-eo.xpi 556383 BLAKE2B 38bfde79f8d30e897146c167c7b6e2d15668a3ff9fc552211ab36f41da937612cb942cb65d03d75848459c4026109acaa774e112273596df4467cf6975d5cbf1 SHA512 487f83dddf8f0d9cee12aa7bdec4a6ae1aa0d15150a73071ab50238694f85ddf2da14d1a24737f40f028f7dfa47a91faa7d5f0761a56847d12abc0276ee1e5c2
-DIST firefox-115.3.0esr-es-AR.xpi 568957 BLAKE2B dd204e2aa42a3564023f0b110715ed9254c313af1737cbe3d1f580963a495936321b5c4c2a8dc6d65729553609f7b3cebb6b8e202aac3176d8724329553a997e SHA512 6236b7cf8e91fb3083903bd0610db92410798a898e854a4adb77342d186478b344b42daada9c927dd5ddbc21ceaefe7005213e694663223946106b99b3a0bcb8
-DIST firefox-115.3.0esr-es-CL.xpi 568613 BLAKE2B 2b34057303505f9ba6ae37a038163f4ea560b72681292234bec0b9e47cca0a0afb282f3c60803a58e5d6ec35f50ba2e2a320118c1548dd45871a65b61dbbf646 SHA512 f0a8ec2855d4ce5ced2424d87f491dafe9022085556c7af803729f3364e7bc5cad29d2f77c9fb79988e5127a6cae12286198545adcdbd2f7acb3b516387a02d4
-DIST firefox-115.3.0esr-es-ES.xpi 562043 BLAKE2B 1cdb46cea9b1dfa0ad9799127879631eea9bba6549a61d9116cb6ba6fd6875d50c26ad7d990964c92e25b60cb9716b9aa234d07c2a94b62b892b10cb2258a51e SHA512 bedddf41febc8e3eb4de3166839bb8c68f026f4f17670cbe5b54aa82a613c4d42941d556eb6aaae7da73410abb87de291587502a5be0637160e98f28529114f5
-DIST firefox-115.3.0esr-es-MX.xpi 565318 BLAKE2B bcc405d6417fd79265b7010aa193026e6ec7378ebefa0bdacb78ba598fc63c731b1e0324b4d1ee902f745bf2cb612b26a17d1231c412108f3bd570dbf014b213 SHA512 d1ce44f1f8e0bc85f778694354b69ad8b960a10fe79681f7426d576d883fb47748c0499388236d92ae8a337d0defa6dc0198a2cbb41d186651972aea0e5dec84
-DIST firefox-115.3.0esr-et.xpi 516122 BLAKE2B ad809eeee1736b9159a6c7359899600f422cf9cfa2f5deddc22c7397c6a3306cbc7174b39ce070d8fe5356716a1e22ff4d21b7663378991cf4d0a4f1ce837a86 SHA512 75356ef0bb7659581efa3a7c5969448d152237883e2c5b13cb8c55d06a0d44d92931383498687e82a67e1d0f3b57e6589fbe42d23d8472da952f6d88c2dddaa2
-DIST firefox-115.3.0esr-eu.xpi 551618 BLAKE2B 080d769b0370970d3f824af5da69e0239350053d61ed14878bb3c906eba7ceadcc39d9a3fedb094240a03132288095a70e896f9fb089c807f9d6fa4592b18dd6 SHA512 65413eed90b1a5284884ba6474bf89eac707874aaf8dd3786bf3127e4f049a4f06feeccec896d26a6799d4e3455331c48fd2c67683fd364de631b471e3a270e7
-DIST firefox-115.3.0esr-fa.xpi 564541 BLAKE2B 799377d15de82fc05212208fdcdc35f9335e7ed299eb7117c49997d1fbe64f520adce8cde184d0e38c58e12a0de7855f1c25aa3bf93691216f4d224c119fa3b4 SHA512 5b2fed9db85074651fda96cfc4f70fa3547a0e142e6dbbe41781df1ff8cf061d5534283dd184ace6140c4f537563c73a063772384908f536f77225e9fbbcb25e
-DIST firefox-115.3.0esr-ff.xpi 457106 BLAKE2B a7f577f99fc9d5fcb31a7b25709320326466ec822eb2fd29f3e2d568691a9a602726955758d37164881b8f9b0e7d4afa23bc15c04b7040214fa263ec5f3f0542 SHA512 c4bd5fff242dc9fb4e8c9d1e7153a13dd83dc310ff747387982b3b1e11a62b7344338ae21a4a2d264f94a52e13b9cd10330bb757919410a0f806cff79f59936b
-DIST firefox-115.3.0esr-fi.xpi 551243 BLAKE2B 7c39cff9bb6b02d4c9345719965ac5e7d1852e0943af8c54670fdbcf06f469dd3c19c8728f0b99221209b02b3d2856c3c04413da363fb6df46edf5d3d6425f0c SHA512 da00cf0b5594ed6ce49cd567a211f733e5fc2896d5650b88419e05188ce20a54d66c5255bcf1303fa7ad3f56f89c6720f0e274b09f1103eb2c63e2990f4d17a4
-DIST firefox-115.3.0esr-fr.xpi 580609 BLAKE2B 3d723953bcf36686eb60144350f3be775eb522e59fcf11165f92bce0087dc5e3c1436760fa3eca52dd062d2ccb0aae62dc60f9b2703c749d17906d13a82d1a97 SHA512 3154c78db0708eb9f109d8f719d796c37b252c35fdd4c14a032285bc330f4fc2185d5ed6ff69980321cb03d30fbddfaefa2c812b8d25cca1e192c87e161b22b5
-DIST firefox-115.3.0esr-fur.xpi 573085 BLAKE2B bcb0e941d6aee58c2b5210f69e0af169751ba316d4758b6cd18cd1d64b242d566e58d416cd7c79ad6062eb29480d8582177cb29fba354964ff350a24c4391c5a SHA512 9f9f1db1d12073d4b68aed90ed277246de2fafbb29607e7a972ba9b9cd0ea7e26300fe6afa20f046868499ef4fd2b6ae4578348d1fc9edea48fc73bee844f1ea
-DIST firefox-115.3.0esr-fy-NL.xpi 564947 BLAKE2B 18055ee7ef4a771115545156da09e1e5967ac2b747695c393d1b58ab6af4ef3b2a0c6c6703f9a771ce06d30101e14c2dc7787ca4e6a737cbf08af8f185e18564 SHA512 2e4a5eedfec75d459bd13fabf8cf979f247fa8d4314827229e8b3372b53380232a19a7a5e7175250e55369bc9d131084bdc7dca902f5944bddfc2bc531debe60
-DIST firefox-115.3.0esr-ga-IE.xpi 454337 BLAKE2B aff8870964da3935067e41b186a5f560ccf428525ebaa23fb356f67c52bb2fe7696a0bdef88f94f2f82f8d32af87d14f91de28051b46575bcfa6b570f90f83bc SHA512 26eaee1dbbc91b6276c97334eb16f3c3f1acbb7304eb424599581bf2106e1ba37e2f4cb53268500c1239faae03b64acd4825d98c35623b648092050d7330954e
-DIST firefox-115.3.0esr-gd.xpi 566956 BLAKE2B 1eb28684742e4bbb60dee138c21629533cf68b95488ab82479fdd34836574cab7717de2b96f1979d84a068a19688d1917713776fc5290e8b82793598dd4077d6 SHA512 bbb86a47ed64e2e9eac5b95cb0bc14f3812fee0f0b8302545c95b9ac813c90016b6a8b16fd5fb5a0af6f612557ece38a4e093709f5bc87af37e91a2865885cc9
-DIST firefox-115.3.0esr-gl.xpi 565467 BLAKE2B 711716841cf6e445b25a57a83dbd3fbff65e75f8a4f5ac6e79aad881a6449fc4889afd341873beeff889b486766d80f8e8c073a39878186557f5b9ad0bdb3ce3 SHA512 b27c245fef9828a7851953b3412954674a8a4d18aab5e81c879e914be4c254989c9abcf17a90fea506b9418f34eddd17fd4868496f5dac7defd602cabc717a09
-DIST firefox-115.3.0esr-gn.xpi 577582 BLAKE2B 32d7a7f5dfd5956448c87ebc781bb62a5a987fdf08ecbfe56455ae8e93ef37e8e57da6ae7a91af341e1076d59b6a2ae3bee7106ef161984818ad4d181f4b922b SHA512 5ee7fe330a65d9029278771fd1357977fbe080a5a4fdf39f3f919499ab8362a67b4b7aced5949607c67048eef5d0b01893d03b735a66a51efb1339d1019a2f1e
-DIST firefox-115.3.0esr-gu-IN.xpi 506687 BLAKE2B 187841233c014af0e85ec6c924793d51c38dd40331e6c9d251f37261c964c4c8d42a093d085d5c310144f9f7a09e2a1edea4ec9a55128af6b04060984de7c79e SHA512 86675e75804ce1bcf2e297797e3a4309531f31638a6896f92cd4f90881197f56aed1417571feab5ae17767582c8f1bba9bd0f47f6bf6fd7385e291b24d9898f1
-DIST firefox-115.3.0esr-he.xpi 574391 BLAKE2B e8bf34ff27b472bc6ed79c127adad255d3690b8becf43294480b4b6f7949a3df3d54fac3030d447247ab7ffb5c36bfb8b802cac6b086091fbfa675ddafc91ab4 SHA512 a3f70c001825a120ab70fb1f46e902f887136a7b677513896af93f1da7c28ebcec33099d15700646d0516df4df14e52e9a953b5504f71f395a97574cb754b537
-DIST firefox-115.3.0esr-hi-IN.xpi 538820 BLAKE2B 4778340405f1bee826c72baf847ae185748e10cc667f27b2184922558ccf20bb870d17b727cb7f0a1ab6c5e8e752b7321fa78a1f4131bab3ffb9d20d79dd1c9f SHA512 ac1c80ded013c067262605875aac0532f0af246462585ad65729ed469f1f605ec83a1fc07362312f221c405c09e4ad9efb8e5e39779466319c2a1d09092d9f95
-DIST firefox-115.3.0esr-hr.xpi 531646 BLAKE2B a37bd94a0e9f623b5466e1f6e8ada6b2d3ed955def86728649a0d44dc723049ff80b9973aeae0bd5ebdd6fe96a0e552fc248f5934a01c338760a4bb11e9d3b1c SHA512 ff7ccdb8382412c6f1070fb8f911669d9ed3137f71a2e06388488a1417cc0bb9200af7b9235643319807027a152ba7b7219c1f30dcefda60d27b9a63292ccd53
-DIST firefox-115.3.0esr-hsb.xpi 585516 BLAKE2B fcd3002274585ccddebc58b4896b0be8a23bf57f06e63ace8cc22eac8d67f74e55736bd2bd067a9a6441ccff23063a5cd71eb97ef34fcd5adb4a0cb7cb79a811 SHA512 9367c4b197b9121bdb43bd86341945cb0d7c29112d33d5650744a903408a38be3382b180f1b8613efcc1a865e0e033c82041e55fecdec81409b93406e28fe5e1
-DIST firefox-115.3.0esr-hu.xpi 588968 BLAKE2B bd521bbaa43a23b86f837b45135cbbb0d822fbc15ea3e796357fc90ac4cc52b70ab3fb0b99401d9d62580024a08db53e6cdd681129306558584cc8a7f786d24a SHA512 7f69359c4918da8820e193ac574c7c3deed8936845995669760c9f8a612c4faf25d7f97d472e670476074ccb5029faff449e66429e4848b4a8b3b85efa1a7af6
-DIST firefox-115.3.0esr-hy-AM.xpi 579189 BLAKE2B d9c5206b38a616c5a82fa42e1b85dccb28e80479031c8f003c954900737947e38c090c2c2a03acf8ff2d2acbb5764abe7a70effb4329a8cfb631751aecda0e5b SHA512 5c5fe70d7af0a9cc09e4db119c2bbac147a21ccc34b90e9b27226b55a63c0a9a41d3e716f8d8d4a78ae138aa4b21ba369cc7ed8320feeb8665290d8ca0060780
-DIST firefox-115.3.0esr-ia.xpi 553074 BLAKE2B 8483ea7726903fa9d829786fff54d2ec016e49eda52593b7b8948500860b838e61d67abf724d233813f6f7020bc9d094e4ebe8e4a9993ef7deedaa2b74fcc9b0 SHA512 2802816e770b9105e2e322963983369cd11a93865e6b828aa2fdbf73ee49cba91dacbe00db17dceec518ccc312696b0fee2733fbac70f4ed385af326f7787a69
-DIST firefox-115.3.0esr-id.xpi 537744 BLAKE2B 64d3a51a1114b4e98bb7358124b557b183b4adfcddf6f0987143e938ead21c946d2f5740c913b95d25966ef3199f81119f8aa88fa8843c987681302bb1095309 SHA512 da9392fc5cc03b8249b90d059fdf050659befd319573d7affa23cd0a87e3980554fa98ab15e1e0e11621b75380754b53a1128cd894dc397ce5a63e47246ec601
-DIST firefox-115.3.0esr-is.xpi 560794 BLAKE2B 85a4b8e42e68eaf19ab4f9d53afcf61037e38123115cccbc244b71dff127bb0a3084526c2cb4a27e3c7de1053e300fa9cdf36c67c5be439c8ffbcd2c93d6f90a SHA512 91c6ea8d34f09d442471964fb61fe64930768289db3d0c03b69fd43fc9a5c9d566e08b86814e618865ebdec2b11a85cf05977de830ac3759873ceb6b0c0714a1
-DIST firefox-115.3.0esr-it.xpi 507474 BLAKE2B 8274a7b9fc53b9211af287a6971aeab36cebb5d90ae8bcb318a712a141541a8ddcad909689e2d910181d8ded5b3b84254d912168b9bd92abff9860f4a9d8a0d3 SHA512 8d2fef1ada4273997cc415c7316def0e7a15e657bfcf17b01066e90c395527ee0dcff572ff2d0f0fd15f0a046f8336b686743ca174864983afa4640c03a3eeb6
-DIST firefox-115.3.0esr-ja.xpi 634398 BLAKE2B af36de4603c5271f149e3d8c38b826bf24149d9238bc379079831b68b926725bd638c0b88e8d6070a915de0751f8c62789e962d8af46bb840e773ea2c82641b2 SHA512 0f4a074f0063e5ef8be840f8cfe4d9ecfe7b2ceea447bdb6aa0b5136ccb27c6570c33d8ea9a056954bf5f9855d57cd8c5d56c05192ccc468729d32e89ed26d81
-DIST firefox-115.3.0esr-ka.xpi 610754 BLAKE2B 1b4f2d0756513b93a4e60a9e7786fc8b2efb8a0ad1abe02e80e0bf7c87435d3a151ce133638af4e46019c906271fd6a5344ac68d5df12d6b58feff235480670c SHA512 9e7d567a590a6c96ded077b3a99c4bc29e8fe6cd74393c30047a93d6bfefb56b91325556b369e28a30d9b58169a4430abfe4afda1407804f63a358efee3a385e
-DIST firefox-115.3.0esr-kab.xpi 562652 BLAKE2B baa3267f9a39cdaab0d9812937c16699f1c4bd7bdee0d0fb7649c0961e7f0cafa118a59aee150106ec0c2b86dac43e32bac495c968f7dfd6521d7313ffedb099 SHA512 7607b6882e4f1664be7dfe91ec8db950bc41d0a8a8f03a3d34458935d1dc573ec1855fa27340c937fc8c00afd4d292ac48af00ebfa703a892b15e635a6a27e3d
-DIST firefox-115.3.0esr-kk.xpi 639132 BLAKE2B 1a6f2807a73a15877d01510a355bc33ef28d9164734a6e12c797d7a1bac35ed612d63f72eb198cc979ebd01c16f8b5ae5717624ea4d5ba18fd85cbb42c2fc618 SHA512 2ad1292836451f98af104a801014d1e0ef5d821f5b831202d5d356d69d171d1660a379f1e4b7115b0701546c0fea5cac90f0bbeeb692d102601941944711dd7e
-DIST firefox-115.3.0esr-km.xpi 508111 BLAKE2B b73cc368d8b10c254d72fc9ab0f70bdf1892b76ae28b9ebbe3261998adb5de99622e50140c10b7d48cc8103bb54c621cab4ff6abaa05e205aa787931841b1c37 SHA512 d5ee7331132afe88cd8c30959b8af6fedd8a76900e0b520172a59d8b29f162dfe267358c56170ae1c85e5dce384e2ba75666f3120488bcff7f15a2bcb821cf11
-DIST firefox-115.3.0esr-kn.xpi 473774 BLAKE2B 976c1de5e6e4f2b742d5871e9173899edd4f932be66fe07d03b2a6c5b3b7279fe445e1b3b8a612be19b472297480925ad78cfa5d901a8d2b360933bcddeecd01 SHA512 a7b93029a0bb3e4d369408329e6060c60d784fb802951702805940bada481fb8ccf8f59ac9f4f7bc46bfe18deefb85442a7df2ada682300aaebe1803a846754b
-DIST firefox-115.3.0esr-ko.xpi 600377 BLAKE2B b40087038701923761027bc36c5242be5b02d14fe61fd902200c227c83da4e2d708c6cfa84e05bec2442ae718be70cf06b1cb0bde528b177d2880bbe0f517b36 SHA512 e3e34bfe30ee733a888396fb1ca12321903cd5e40f992c4683cc9e5f502dcb2080d77cc4a05f688dd8b903606f94e6f4183a18522197a9a3ae55471668b5e396
-DIST firefox-115.3.0esr-lij.xpi 463745 BLAKE2B 2633cec214a78207c9f564dcc9b11ff18f80ef41dd31be70d538b26edbfc9193ab56f090cafd0ab301f625cdee6e158bd1cb084ae370a238b75f7583387d23be SHA512 d2af8cf955ba7a8ce6d3b749bc70de61fe0245b976bea3116452b7c16d550703b47d30d7ed81d92d2cc605d1c488a76ea556008ba8976213c8b4d2cbcd2b6719
-DIST firefox-115.3.0esr-lt.xpi 548291 BLAKE2B 308a57f3dde1db37f78e475f5af23356957950ef5f0b4b87bc0c517bbd5bf30aaaaae227f7606f08b5c6c9f153bcc32604c82cafdd551c0eeaab770e12d798f4 SHA512 fd2731b642fe02ba6a793e798f59f2e02dfd3a891fe818caeb67aad43dd1ac0db4491f7d5f9096a21ca5f59fa6148652b6c47a6e36d12bdd01d38b73860ec0b8
-DIST firefox-115.3.0esr-lv.xpi 450735 BLAKE2B b46f973dfda68cebf351d6105b99b9bdc7f37cbef5f65a57d02809518b8ba0896155a00d5b91ea7ff752e578162b22efff19dbb482118804832acf45d4f0c26f SHA512 957329bb566c1cd2fc9c49c3075de1a038484229ef53d17dacba09555cb9916b511142007880d188aeaa1f9f2f7e1dc94d3d38da86c150c391d1f74da90f5935
-DIST firefox-115.3.0esr-mk.xpi 470106 BLAKE2B ca375281018d95ec99542d15726c1f495948d94a14ca8f922e6cce2870334f9aa61e4ef18bdb030f381b4d736601451ad26dfa51f09ba10dd60c1b5cef1860cf SHA512 5a9e9df4912a2203d38a081bb9ccbf41ce7a9948315b0dbd9b7d27318bc742fa0df4817d5fdb8004968254437ee6bed773eabbd27a294deceafb4d28cbe8d999
-DIST firefox-115.3.0esr-mr.xpi 510471 BLAKE2B 09d3f5f2918eeee5df7b2656b587ca76fb25adf64586876004fa23ec3c34c5887842592888c5835178474b269870b1dd2ee67822b39073d73b43007d1c9e121c SHA512 6e8cb360abe4f4ae1ed8914e797700f12ceb4df00f2f00c1577759f6cd59867f24c7a6643f50ea2743f5567d853f2e7f0231460e4936b50b44b40c396349ee16
-DIST firefox-115.3.0esr-ms.xpi 431284 BLAKE2B d5e26a8bfe9a641e894ed92104436fc1ae97ef7a3be6e9fa9b301a9a4df6733480c83f9e0ab3771c9599d9f984e3ed961d921960acb0169836e411e71f74e4ac SHA512 ec96fdb4a2c98d423654b39c13368e2d1ba36494cb707c55df78b6922741f7d0c847bdb5bdb48572a82097c93375656ff477975aaaed047e45355dbff9047b55
-DIST firefox-115.3.0esr-my.xpi 493652 BLAKE2B 0a9dce9ba240377ab3a6cbe5ec685eef686718bd522f6ddaf52a7298a9d2c7a8bacaac95d98fc2f3128a697b46c38dff785cb0561987e0b705113bf3b244768a SHA512 ee6da11adc2fd135be4f23d12f10e2217537b7e4db777dfa0017260a3b65aa603ae91471c67065030c1ca6479b3d4fdc4d88573cd2a8c745fcc2f7fc73dd7c15
-DIST firefox-115.3.0esr-nb-NO.xpi 548979 BLAKE2B 690b97e1062aaf130c945772abc25feb540970e57a7eca5c1cefe7719e151cc03a7ccf54e819c68191b3c6fdb04a9050f3e157a71554958ff8180f370c9a2958 SHA512 fc845558a1c6989b5d8dc282d7df3dab975fd094222c86e9a7ea3f1e4e72d3f50b91c39b6d3b5aa5b250c7f45b038cf2dac67e1585401c50af8472021d615072
-DIST firefox-115.3.0esr-ne-NP.xpi 468989 BLAKE2B 7b9cee2877ef5f5eecee4e0ebbedd1e0a92f4cdefd6327ceef6c03e52599f791ccaac265befff534395e17269f86e43dd39097567544aef5077a53b18784afbc SHA512 9d09e6123aa9867458059f502650a95995b1898590e53e2c837492fe1e1aff8efd92d1323692d9b2d238581727dbbd5f2f0e88a9c770d0e97f43c586e3a643c6
-DIST firefox-115.3.0esr-nl.xpi 559196 BLAKE2B 16951a2731bb8472491153bee77c7f6388fde450b1f5f1ed1dcdc64848392775a9358c0880bc96205b62ac4b51aa2329d185ea14e1dd814f0a9b35936ea37575 SHA512 4c5ee15f85b97d4b43e922e66448ebe90529e1dc22bed1283160270d0dc263d1a5c6a226b3e873802ff60700baff1d757bd1c82fc3ed0a579cfe70540924ce80
-DIST firefox-115.3.0esr-nn-NO.xpi 551972 BLAKE2B 310620304bca58a923b651ce9a86c4a4d60f704422c57dc99546d5fbf266227c7e8353da963a34d8693e364a93ed85ca965cede9d44706736a847d9bb297a60b SHA512 4f8586c5b0df788cd262fb4383490701f13277d997f162060a31e080c6c713f1a4df50a5b06311fbf76f376d2ea0440f19c72ec5c4c1721423b37cd5ff0ebd89
-DIST firefox-115.3.0esr-oc.xpi 572146 BLAKE2B 2c35080e94713c274bfc5cf63b3b89363372fd448fae600b14ff88f1456bf5075105ad871e54bc500d5fe8ba4262069cf028083778ef036d089435f426cb5d33 SHA512 76840f9405e48964348bb9f551d0cccd2fde97d8213163dd5649de7bc928104d8c400dbed5a7353598c246d574c7f43ead704544ce655b755ec6efd2bce99bcf
-DIST firefox-115.3.0esr-pa-IN.xpi 626125 BLAKE2B aa8427e5ea401286468e1e563d75fc42b400791c50c37910969ac8d5fb2561306c012d3fd6f1431ec48b1534db9fe94b4b9dbcc3f828e502b8832ea1c52e8a7f SHA512 ea7d53b4df06aad6d595407a2e7a1e1d62afb01afc67c3f84d7c82c3ebbc57d32b9de22ff25ec55d6a0f7acff8e385f47067f26684e34ac4445c227302e4431d
-DIST firefox-115.3.0esr-pl.xpi 579839 BLAKE2B c6513829af1ca3594bca7da397fac73d27224ffe4666961ffa5240be7576356888594513035abba4693f3c002cf13171cc9394748b432abf23a2142aa430e3c7 SHA512 dac5635d71a883e4a8835f7ecaa7a9f6e61e7e93eab7d4956455e897ecacb46b56caf9251fc8dfc3897777fbb7d3255d2cdd1d0a587d90c226c273922995d669
-DIST firefox-115.3.0esr-pt-BR.xpi 563948 BLAKE2B 56e9442da9f3f0f7b5d44f6e244a5f6f13fe3bcabd7b607c8cfb4072db9dfa37e544a60c865dd9fd8c43501b3e0700613622590d793cbb31687fa393f8837fe9 SHA512 798eb7181da5654fc26e5ff0ed2367882a52fb72d6e522aea218ce8f281d3d1e96b9cc22756e9c6f1bfc15146ca09e9b8c7c6ea049838f197bfe5d97b82c8e52
-DIST firefox-115.3.0esr-pt-PT.xpi 569055 BLAKE2B bb59d13cd850fe82d555c1700d6afb3b4f706daaf7302e3b4cc6fa5173026883de0b1dbad6c23fb78294a9cf89457392ca802235746a03de0eb89606c192baa8 SHA512 f0fe2e6339ebe0a6357c97b61dfb528deda2efc63757c48905d9d85c69e0fa8a40844f168e5d97e25b7bb22cbfc70c1c8985f1598eb079bde94271ee23e6a9f7
-DIST firefox-115.3.0esr-rm.xpi 558669 BLAKE2B ee694b439424b02b8094282bb165db36a26c39d2bbf7cc530205e62bbb59af9976986b0cf6e93ae2fb3e3b917bbbb9ff60430073802dc06540cc8475b7da745e SHA512 e862af9426ee0763001c2b2e9c67fb5d14afe81aba7946fee4a6a1da27009994ca3a9d94860ab07caf25e2aa4576ef81c2d84b454b6f01fb447b421a2d83ed0c
-DIST firefox-115.3.0esr-ro.xpi 524793 BLAKE2B 53aa98a3b550daccbfb480433926e41513c30f8ee990e6bf7f9b35b92cc2f9b9f892bec430505affefaf50bdf3747e7681b35b25b67c7b84e2c15e7545f93601 SHA512 e76bc1229a5575a6588d9a5ff3b76f64d82f975d97530ed6436c6927d93f631e0dc02522ce03f6e0c036d0409d9ab1b70cc82ba52bfd1593c41b2fc3a9b8dffc
-DIST firefox-115.3.0esr-ru.xpi 651421 BLAKE2B 45553ff0041295b1b0e40fff44c45621ff86eed36120edd91073d1776e7a9fc3ca4a9ad82aec340819753f79a45f05d1f2073b2e36f12415f9cff3910fa3947e SHA512 8c81d8dcc687516ae4bfb21a9b9dab795a4c9bdd11b4d92f8212d23381ed002d7324ff1af49d247663eed0b1d5b1dd5d96000325f3961b69b92d18e0efe7ab1c
-DIST firefox-115.3.0esr-sc.xpi 535151 BLAKE2B ca5b092019b5f16ac8ce99887243d0188f102f6bd07a9e3f836a00ba1411c340bd5e957c4e36f87bdcb9606b2c2e17ca49f2e9b5b3375323cbe3b0ba285e9087 SHA512 195fbdf81891e28816cbf27ace01d60e61f2812390751d755a7237ac548dd9933db9648ceb5999b38de056b9e250ee3ebff607c65299c632feac07628204ea2d
-DIST firefox-115.3.0esr-sco.xpi 489673 BLAKE2B 4c0a51bd9b2fefd84609ffae658e10954fefc86ee86b78dced65e9d3487373c5edfadb27ac85f22ff7908a854cc1d8ca60aee890b9e772fd4d1ae563f74632a7 SHA512 965a3b1405dd6e10dc805a248c5a087699a591e464b91ce7aba9faa254554b390720a3c15857ccbe0de5414bae77f12704af7ff07f02d4d80f0835c7914c6f13
-DIST firefox-115.3.0esr-si.xpi 569006 BLAKE2B 66bd34827ef3d721442dbee4dfc9988fa675836460d565c2d1ebf71cf332e3fa867baba8ffdf454f58d06e97246c9f19b05c20964011ba103262dae1f893fc3b SHA512 d5587f67619f3a006d860709e084cc600db3f98c1ea7118a43461c7d49cd0dcb3905cb00c74a8231c9fbb9adc181b2db1ca5444be1c1153803a0c48c8f1575f1
-DIST firefox-115.3.0esr-sk.xpi 589723 BLAKE2B f88bcb9985a0087f152ba66b61556beff3b56a246cfdbbc9535d50e939c7ce35334f2e06eba6343719b0164f450f6c7be0eb6cea927ee5ac7c0df8b49256333f SHA512 43b15ef0993bb1608e262f459a7058039cea062566dab16d21d797553c5ec9f2dd9912f61a89a600ae00311ce00c4eb0f09a38977d3b37a750d82d307e707675
-DIST firefox-115.3.0esr-sl.xpi 562527 BLAKE2B 42ef6e5bcecd41762dfbcf89dab98e8776d2fdce82b8a0c0d61988b7b1935ee5705c2f4d8bacc23e2070aff818d0f02cbe966841cfe3a99edfdd9f9fd2fd2121 SHA512 8f06723e8f0f20cb986b6ab64e83041055f29072ce03982e6fc2dc8b6fb0b670a20fc3bd0e3855534e2634f40e78158aaf03a96fab2c8d78e6afc160590ed358
-DIST firefox-115.3.0esr-son.xpi 400970 BLAKE2B 2ab03f9d54f2c12f2274d2fd4eb48ae035cfe33f73e752abfe7cb2dacae48db5fc9729fd78d9a172ee53a9b68a2cc63fd96541a1abd595568816e1f6353008db SHA512 8a64cdb587b5c17a1b1cdf1ee100d098dc6be91cd7ea40d5af7c1f54fa6b0a6b5479a7f35d705d0e89896c4bd8fd1a79aa93fbb6b8d951a1dabe7ff905637350
-DIST firefox-115.3.0esr-sq.xpi 564458 BLAKE2B 59bd0ee81e452591e4845854d1199634b261bd9eea1687db4e6bc2a95a567fa4a7df87dd20886850d7a6101808acecf2f0c9077571d0f9e2583445c98f345754 SHA512 b089107406077a5035dd3b6addad2332acabc2db5c60ca3a5a59dc3d4fa7d4bb891e310f25a89dd0bb597b9818b0b89a0b5b26ea95aba070f52fbc2f1a828777
-DIST firefox-115.3.0esr-sr.xpi 614012 BLAKE2B c5d523beed77a733f3b192601387fa78b2afc0490a16380f324e75299a782aa3c0d9df60e82ba399d88bf9ea806ab05fd5c636b17f5c39f715550ad604eca79c SHA512 4ae8f2a19a8c80990f529b9d74cb7b3d902682632425fe53688f32f77090d94be99f47947e1742c3604f3cb4f572b714203ef6e55ad50e3a0479d6be21b42c94
-DIST firefox-115.3.0esr-sv-SE.xpi 560562 BLAKE2B 0d79e79fb2146bd827c8d5b2b0a5744518bb0389f73befddb3bc4879ce2a686facf1eea4ca469f4f22e53839ecdafdba4603f5a484ea3912ef8850a40cdac484 SHA512 7a3742a9c4b68a19d667cedee5a18abba00387f6709f454f12a3bfeb1f05d7b23defb6b21c8b939d77ccf506199b20cc2ee2c09137476b32c53b2d6d6dd585b3
-DIST firefox-115.3.0esr-szl.xpi 504123 BLAKE2B b30ef2c06b975f31ebb951fe63eb6242753bbb0c65f211a74bf9e538ebedec353a02e3bac235a2d9e58d34a85ebcb0a748c460f680d3ee01e86fbdfd7f355a45 SHA512 b64d29f5c4fe66afc687645bfbbbeb6a4fff69df847b921b55cd56dea746d3439b7ce28089c6c6a18ce8f5e63510072b3796c91657b6aa52117ac9e883e476fe
-DIST firefox-115.3.0esr-ta.xpi 488854 BLAKE2B 0a6df0fd1762371c7d0380b821ad061bad761cbbc7a5b6047325724685d019b0b271ed8226bd6814c9740d8f3efa5b87135fdace18d45dea0c2ff9fbc61f512a SHA512 b95b4fa141c49d7934d48868549e27c37a6a52ab3f8901eac71388f059b74afbfa9fe13d2e859ba8276c28e1798735e296794858913b1985d575d64cb1bedce4
-DIST firefox-115.3.0esr-te.xpi 536157 BLAKE2B f53873c869936af3c2abe16f79cb534eb2fdef06d09f606192de4e70cb23856eeaf22331430e5fc50731429c98a53bcfe4bd61cff139f7e77cf63926b9c07a74 SHA512 123cda2d694f5dfb5a718bb3fbc2b5b76c1bf033ec2f62a938ecc7ae9c687a05d5ede180031bff869db62cb880917f4e4a9465ca24b26a50fc47f38bbc4d9cff
-DIST firefox-115.3.0esr-th.xpi 632036 BLAKE2B e7c80e63919c8e9cd1417440617d0c3598df0cd38f362ea23541313cbb3baf2497ebfe08d5c1265f970d9aafde06d72cbac979d807f72d9ea946318f84fcf8e4 SHA512 af0c0f336694ba79bd07399c50da1e3ea9d500f21274df99e9d2a4ca3f550ddd2964ef8fe1e89741a1d615de4fc5a16b8ee676c254f43727c50cf6c02f83c690
-DIST firefox-115.3.0esr-tl.xpi 511429 BLAKE2B 1367540fa508815b2ccf160ae75648bbbcc87f113af53ff18270bf2fc5049a2d7af3c6b6a81548b75743d728cfa8717b6cf8b46ad385e900ad599cad7dc1d1a5 SHA512 2b18f040eaee2aab06caa471f3f7792da9f44e18f217945787e5ada0364c3d9992419bbdb101353e1ef03e9eaaa693ac1c5ccd827c15af86bf3a009b0d29f30e
-DIST firefox-115.3.0esr-tr.xpi 573250 BLAKE2B c7c4536d0ca886b7cff53634ec0c254b1b274c5c8f1c49af362d1a93cf5b103d14d243fadd16cbd4c84519330f379f92c65c7e88a72eaf5c47a6118990aa85cc SHA512 1ac5af3ee0a1827889ac68fa4ceef369ccc27ab92e29565bcb25bd28d4b6f8249018c29e9ca78f0d036f16687e79a1be44256cf709236bedc83ab5894b6a7dcb
-DIST firefox-115.3.0esr-trs.xpi 479676 BLAKE2B effe9aed6e4e3ee1b82ec318adc8782b3086efe165a63724ee6d40bdc73fa9c6ff9c6a98ffc214cbae91399b92836045ae3b7e3e4d5b14892348a4fd70b31818 SHA512 01dfb044c6de5ef6df7d8d7791bab76c7cc48ec5bbff95ecfb0cb255b39a7e2d343ed0de7327fc959c3f7022ff6316c55c58ac232e2008fd22b483f950fb44b2
-DIST firefox-115.3.0esr-uk.xpi 645038 BLAKE2B 0c12ec2272b31f558c6c9f89393e0f2e482934e4fb07e553a727be9181dde8b3348cd6b7cf762a069a66792adcb9267ae9404d097e83b89d02db460445ea8df5 SHA512 580530562936915e9892ec41ca1cb92e0156a1f128031fbe4c9b973d2049f58f4c97f9454a4a36ef8d68c841758a18b792967de744f1cba033ade26943644259
-DIST firefox-115.3.0esr-ur.xpi 538792 BLAKE2B 4a8a2554c9ebc152a1c619f1cc06556bbec6965f3f5c2571d6258d4d60ade20bdd46d86e1ef6015d654119365f9edfd0b4a9f58d76e7c3ee1649d205df9cbf5f SHA512 14b83d2e33c8b3d706c543ae7a76dec099741fe492db34e44f0262f177a3341070dc8a211bbeda975bef846ec2082863fcbc8e59abf4513a470058605dd022a7
-DIST firefox-115.3.0esr-uz.xpi 461752 BLAKE2B b32741f273eb6eefe04fbdb5ab72a0535dd9c461a18e72db86a86b747c5786951f1950db863c281bbe5c99da0708f794522367b5fde7a41528edb2e09a0ee4a9 SHA512 2f488e30549cf372f3cc8ccc9652f3966ba81909c54f21b7f0e9112e6adffcb50f1ef25460aaefb04258bd3fffa42ac8d11484d7f635d1f1114c62d17fd2abd1
-DIST firefox-115.3.0esr-vi.xpi 595540 BLAKE2B 1903b240a754f5494407003472a08c9abfd2ce57e021597e68f2a94ec7f9189fa52b05c87606bef3d3d419f742a78fbec72aca59733f7e7c741a21cca76b4078 SHA512 a91a5211833eb7561a70265dada85c4d7cfc18e6da015b1726c0ed0c7bab9918f50d100b7ea1701014c0ff2cd5d22131db308da509d2dd161681b79b0f05feef
-DIST firefox-115.3.0esr-xh.xpi 402437 BLAKE2B 6831582511f5de2fc6438687c56d9f48ce84972bcfeaa39a0042feeee21bdcdf04804e9f0fc569e98238aa32b14afc6b62f2617c9116e09918be81cfc3789088 SHA512 acd7f95b63692f165da9b881352ba053317dc5606f1b0874c33083630a70e95bb9b69a339a9336d057802f14f0f57c72f6b5900a22eb04c951df0b7eddda7b91
-DIST firefox-115.3.0esr-zh-CN.xpi 595480 BLAKE2B 17f8f497c94774181b44f119c52444831eeb0e39e22493325a1e85f82b79cfad1f156de606f5bf2bc01edd28d824b614596e07988b35bca88e6485edffa520f3 SHA512 71f5d0a8dd9ac68a83cf0cbf28b33c8b0ad008ab4b279abd840e0e3695bf1cce852af51bb95bcc84bc6f5bae0f2b08986a6725fbefcbf2318cca8f915c7bfa08
-DIST firefox-115.3.0esr-zh-TW.xpi 597824 BLAKE2B e48a8fd6887f1de2cd46db6a6c13a541b9046c0f8e669db1dc8d3b6e16f0bc4e77995712876e4d0dcdd67d72020178ccae595bb69d87b9a4908c2a6ffea727ab SHA512 93aad13cb9075e00796b79ea6b9f1ef7b7d5a85177c3f380ba1a7bd799d37150b48307e7f7a312a6fe4b029bce891821e712e7e725145892c04697154293cd0c
-DIST firefox-115.3.0esr.source.tar.xz 510157064 BLAKE2B 858c7b47c07244f95327e29b52d73cea74f620ad8d496c719172cd4c812e53d84ab0fa9aaee23c93856536712bc517bf9c6e47122295c83c4c8191229145a3f6 SHA512 4a85095620a61dc516cfce6f288ba491a99c72a78c6dfae264c1292f9eba902e3df7101b97a6f8531114ccce421c92586e143872798aafd7aabbe98a257692ee
DIST firefox-115.3.1esr-ach.xpi 441067 BLAKE2B 33f3e8fdf9e11f09b1486993d2fc580213525da4c16e2963ecddd2af7c44d72c85d502d2c0e78d01a247fa87dc7021a2edefc5a1d169e426395f3aa9fd0ec7ce SHA512 2d5b1c61d58ee73e0371a5a6f1c9482eb8f93043ad14cef7d5f559a2cb9350b4bcdb58777df1e067c2bf67b4e4a0c69a80c9792420ae320335aa99e441fa1d73
DIST firefox-115.3.1esr-af.xpi 402472 BLAKE2B e7515490301f0d0814614fdf83f27b4e9b91d191188c16d471e1920bdd3ed6086fb7b8cbd1658e3e4f42b0d2b1d0ea6bc642e62025534e9c57e6431d0e3b7b8f SHA512 7dc4b34862cbf337906d055c107c90fdece6a5db067302cd4324d3e84e2e9aa6d15c939fbb9292d5e976ee0e862545944f1429439db524a48378ac23cc226642
DIST firefox-115.3.1esr-an.xpi 482928 BLAKE2B c5bc3cca7a40bc65ac2ec71912686e36f268c2d983a5c3d80f86d312414c0b276c68cd925a7ac8cb6d00b8aa960fa3d474bde4e6dd3a43c84045ae8b0d42dc3b SHA512 b6f38e833a488668fc305f5d24adda02a6d95bdc7baafcfcee0b8667ba0002cc0e3cbb9795408c7d200f6e1e7fdd1cc8320db7040c5486b9eb9a0621e5b3fd20
@@ -408,207 +209,7 @@ DIST firefox-115.3.1esr-zh-CN.xpi 595486 BLAKE2B c24578d05d5b3c3f7dc2df7184fb575
DIST firefox-115.3.1esr-zh-TW.xpi 597814 BLAKE2B 5f48207fcb7d6cd81c7a223447726012cbe8a3f5d0fe195460063bdf98f3658e11b28003ce27a56363b1ff474fa840f28f4c5facd50beb7051264d9cf18681ac SHA512 29b304dd87ae32df33ad5d1485ad4734c106d2641c6ff3bc60564cd27d9806eedd2e598df22ee79ae7eaa4045c7ca3a2fcbc724a70fd74c3fd5c06f6294da715
DIST firefox-115.3.1esr.source.tar.xz 515785920 BLAKE2B ad5ec24361e94d9185eed210f681c50159f5be3e6046d79200b5e2586107f1ed98ebe7935f1e266afadd570fc1aa6a1aec81fe3b7fb86efb48afe82514f26c68 SHA512 65cb6fc46bba03eed742bd67f8e36b63b19f2ad7b85d2f503595704a4e88f554758a1e66ba548c8efe97a76322fb2514db72e6ff4bb2992d1aaa86edc3af85f1
DIST firefox-115esr-patches-06.tar.xz 14944 BLAKE2B e60a8a32f8c5e6d897e8c3e13d291ffab651937505ce258f031e7e75560c9eb89fce4a22c61872d639e6e1d40244e94761baa1660c2d3d02584ad4cc4778946f SHA512 d9ea1a063df287fa651042c90529b1a1b5ebd5a28735c44b5527cc7dd29678c2f8a9204f007db328371ed6af9613ca7215464c00df5e685c3af4296a22139257
-DIST firefox-117-patches-04.tar.xz 22388 BLAKE2B 89b9303a71e2421a2cef9ce0a3ca7dba5de7c21d6af59abe36b1e090bcadef30d2954acda874d72641b61b4cbfe0b032a6dd1d7d699709a2f4818c6e1e228d49 SHA512 7914262226a0d70cb3d24cd152d79e9e98b7a72993276ecf26f4e79608a0f4dd9717b8b0f3524f54db385af404d1779a2ec828e23b02c10a5dce27b53d20e835
-DIST firefox-117.0.1-ach.xpi 444794 BLAKE2B 7d8323bc22d1f078783171168e9d94ff5f8d8d678b8b1c2a9f7db7fc1a4e4221a383b8a4898d429cf4c7de77ceb5885d87817c6c965ca527de59a46321f4b150 SHA512 d0eac4c1f80492f083e4bf40879adf62c1c5c84179b0d9393f9f14a1d9b39c585e35793dae313818cfaeee063f0ca2b1b56306ef838ef6d4e40e47bca07f609b
-DIST firefox-117.0.1-af.xpi 401870 BLAKE2B 7f280de7cc75817b35f224aa94bbe715eb7f0faca8f0c3e4080670ab88d218ebbd26ad04eab5afaa5e8be8729dc98a57dffa31c873aa563d9d68bab95410002f SHA512 8c35c83202637e32e4ee07b82d37005db9c4fd18be24da8947bac5763ba6d69412cab0d5a2c1f57d5b1059d9d6006bc49f16988571c1caef0c0ee07fbe29f64c
-DIST firefox-117.0.1-an.xpi 483720 BLAKE2B ad0f6f648cbb4ab78cb86a356c110c94313661d8d768082a9984d5ad712954ba00c6314bb5cedecccc6198de5fbad779fe5b6233bd4f10b21492d0e257d96981 SHA512 b0b0233e7cbbc920f1c3bf322ff3e66928d97399d61d1fbea53066bf217f1bc543b8e10ad5262bc26c2d489f6fa1db070fe09840b8a46e5695eb554b1d465b51
-DIST firefox-117.0.1-ar.xpi 550587 BLAKE2B ffed86e98893f4cae6a4f7cffe7882166caf2419b17c0fbcbae1b60864127efded8dbe6f3ab1e11c78ecf08a985200dc0edad78aec62065f5459a670728adba8 SHA512 a9d20841e595e2a7e6a54b3457b3b0987ef4a78b2321dfb7f52fefc273c38b804a4a15377afb149ee7832406832ad9ed05d7738dd90d1ff16601a21eaccef2bc
-DIST firefox-117.0.1-ast.xpi 477431 BLAKE2B 43d71d2da5c0b2b2b72b35abad7802e50709ce8c642886d5e21b66d578fa2ae07e5aeaf4ea057ffa89e0c9faf2fe29b14e90f43cd2e52cfe692f41bb6b7fe5c4 SHA512 35deb651a815178f6eb495ed19f89ea3f6fce30663f0dd0ccfb652a67a9b50367846b34250d0924e1f766d9b6db65532d83aa90b7a8677b1fb9315c5708938db
-DIST firefox-117.0.1-az.xpi 470715 BLAKE2B c7cd0b875ac79bad7b4f5c2d00e841bcc669d6e16c2a0e7e0ecaf791ebabdb6457d774b8f6d57e020ca8e41600f2cdf30f8bc4d5983229da608333099050c1fb SHA512 b014e7aea064395dd45dd3ae104c473163517ed7692deb5473d6155ea3276a741f63e9d1f0e94a71822a02f0ce82fc223123e172bb61e6f8f0579e17c0aeda4c
-DIST firefox-117.0.1-be.xpi 652093 BLAKE2B 80adf5fc012a03e542e9c1337601196342a4c72df2aa87ec3c6218c14cd35f1880fbcfdc3e1fe9376bdc2a0a6ff6b73fb63fa73933b8ce3dc762d8c13e3511a2 SHA512 e79bae64579daa7e06054c3ff51146041e016f0b76b878e26299432d2a972fb3bcb42bc3dcd22072661391cfd300981bfad3c76152143565a9ee12c4137e9dc1
-DIST firefox-117.0.1-bg.xpi 565325 BLAKE2B e02d0ecfb983c8d241ec512c7c9c0c7a0bace46e5cda0670611bbadb9f94da66956a38de7eeb95dfcba7e9959c4fc3235d6bd1adf8223c02692c1f18ab5f6f80 SHA512 805c8d39ddd217d3c9dd5e5d18ca261843140eb0dfb40ddeda3e0b5dca3f4479c096783d48ae21e80ba6c3ce6e6f03d9c27b66e067d6c0d9a302b561b4e9b75b
-DIST firefox-117.0.1-bn.xpi 559637 BLAKE2B 72c3e2b381e6ea045de5fd43ed2fae43e64ae2844fe7048b91f9b2cefe11454530f5d2b0ccb2be6e45a91b2ac5b772423c1bee819f15d81ec652d67d55d2274d SHA512 b0baf45e0c50ce77863c943d3483321f157bb7af4abd8231c0141e93b9cc1caa0a97d2253fd62f75aa599ec908b1168d400835445eebf9a6cb522bde3103099c
-DIST firefox-117.0.1-br.xpi 542774 BLAKE2B 18bd431094c8504657c68256103b452fd9ee9134ea82a7574dbb5c52c15cd3f0fbe49f9e0fd5f83eb366e6d870d48b2b154b830c8c8b7bb529d9cd47f0df9454 SHA512 2691be474fd2d8cef39114cb045058ae3956240d89e3fe298bef3227396f0a7df1f0d87bf4408f7330127e4e6a1d6b1979dd81080059a2370237b7269834fcb2
-DIST firefox-117.0.1-bs.xpi 440955 BLAKE2B fe021ebc2909e83d1aa2aacc6aa04a05d820369f724b1ccbe0fed7078c3b1c79ced9bf30250756e0c153546fd7b840a6a93d3b148b2ee6a4f895292f8638f4e9 SHA512 43567bd807b147339aacbf03b1bc9115097edae6f659e77013224be0a72771dcaa6d07e98f2cde69cce0e12293aca8cbf99e12c5b03d79ec40a7aef2f0d1da69
-DIST firefox-117.0.1-ca-valencia.xpi 522903 BLAKE2B ca085c37458e47bfcf6d01f325cce8bc20aa2d9878185d4141f83e294197b9e441a327b355082958d9d1b82570da95b4058c26ce083595ca1014a0d281f7208b SHA512 f8195d1a75c337ad887bfe71b114617573b7feea61e2646187469cf8faa81814bdc7f12d8a8038c5997fca3e39c9a28304e9ffa066a2bae74aa3078ae4a7cf64
-DIST firefox-117.0.1-ca.xpi 546625 BLAKE2B 52dc4e9cf4efb94609b4653d65b9d4ae4e081fa9f71f75aab71b4d3dd4e1f9e337597f0309982ff7bb22f90c960405cb260420c086db1e81886d57573d449300 SHA512 7191d9a218218ac5dc0468455a263705321964619d463fb9874d1494cc0b184bfc0c363033324980492b192a3c0836e257a52eddad15fdd3f496b4e058fa2b2c
-DIST firefox-117.0.1-cak.xpi 567757 BLAKE2B 76874d4da409c7d17914b4d420d194a03a16bb5f02f0cb40318b2ac42358a7392c9ed0bc210618af936643d3a8a7f59db00da105038050ff4207e20212d6a9d2 SHA512 18f135007ca84ed28dbee447ce7a93c03ffc1e92d8fb61ea9cb06241a1a5186ff49e6125b54c0bb98d81e82d20315a193d868c556b3b91340ad13983550958f3
-DIST firefox-117.0.1-cs.xpi 596753 BLAKE2B 50e62d65a91a44f8f1ec922cd52a8ca3be4c569dbc503f85cf266d90ded69c49a9bb16ec033344a7084b322bcbd5b073f918cddbf0aeda23a3e2e2cc4dd4268b SHA512 586d8d9255012dc2a8605dd2d0351b6fd19e63cba1266b40d056edd5c290c007322d9a0cbb44068ca5d88f6b7a8be5b1cc233ce8c5832af4332be78091ab32f7
-DIST firefox-117.0.1-cy.xpi 568486 BLAKE2B 731e359d7a2dbed662956106eb3255cbaa3bc6757aac69c455a4b625d6b61068a82aebba79aa078d8b251612e33103d4bdac4fff5d6e76e0d3ca8e7b855ad045 SHA512 425225b47c3646621d9aa59a3d5f4871a97315e132616a576cb572e70271bdbf4224294833be8256ed05bdf384d541cd234f361f6be19caed206257b848070f1
-DIST firefox-117.0.1-da.xpi 557765 BLAKE2B 0b095d846c427e32ff84050dcad1cdd6c2a1c78a13a24828c051ca4893155b61abc917a616d0905fd164fe49d8cad9b198e5e1962b1fd63c020674cda3d7ca4c SHA512 6fa0960c3c33a1c511a2bafac027168d0f7ad203c34ac18a7659f89ba6284cd2eff240bf74652856058243ac81ba716ac8348b8eaec45b8a3f8f96aed5e791d5
-DIST firefox-117.0.1-de.xpi 578123 BLAKE2B 8047d3a77c50d1df2591120149e9956db06f679e07285bfb5103cb85d65a53c842d676ab7aa7b6308c615ae58900ffdf318f829fb9070fdccc01233ddc67ad8d SHA512 743fca26081f04232eb086b916503895c88c968fa30798b14785bd12f779e2ebaccefe4edd37f3095cd91444dac1c3b01d154d380aeec36c07f520c2fcdf4431
-DIST firefox-117.0.1-dsb.xpi 592963 BLAKE2B bf0d40cb824ff981cdfd3223da64a8538972ba059cd07767ecf93ef163c8e3f1ffde39867c02f3d13b7baf0489336979f4e62b1b8a0af461a0f17c4640402e66 SHA512 d3aae373841e4404762ef3a2c24a342bf280f463fa86077c02c23119fecdbbeed865b69a01b22282b3fad354564ee23ee3474102333c238115f48cd9de6434d3
-DIST firefox-117.0.1-el.xpi 666561 BLAKE2B 7230b739140167e3de81b593ebea72a581f1ff2099ede20f942b2fdf116023706114f6335db9483640671084d28a1e4e126f9210aeafd1edec5ed97f6a45ce86 SHA512 cae5777f266809b8738759567415a2cb813834eaea63d2fc09ff2ba230858eab3d67af5b7ae2bc1f2068ecc7259c823c8f460b6c331686b5ca260a0d520c608c
-DIST firefox-117.0.1-en-CA.xpi 520398 BLAKE2B 82aee3b8d0a4b44b162abc86c052fb76c10a7bc3fdbc9b87bba584b5e117b1caef86e6cfaa54f5d44d95ea285149f5124e7821802a9931c7260b58a448243c66 SHA512 c051bf524c704fc01afd310dbdcbf00e1f8d439a7c71c021d40de5788c10c5d194d78e243ac6b0310d23f84a6526705c98742df948dd69fd3d8d8080c6a08997
-DIST firefox-117.0.1-en-GB.xpi 533891 BLAKE2B 0b1174ac3716f9caf0e74f7559e3c3cb56385f53deb6a836e55a056d00993af5c10192a24de4a55fa00d901252a0a4d6c6415a8cdcb439ef567080f37238767b SHA512 2d855ac972934f4151f666dfcd69027df442aa1109f505b039703edada2fa37b306bda4163636407a908ff6af90b713bcad2494d42885d9e47599e99b9e02b59
-DIST firefox-117.0.1-eo.xpi 561457 BLAKE2B e0123c20272d8fbf31c2edec047f79e84178db792288aca5eed62ea25805ece8b4e0c2382a060a2e642c73ecee4448b29885b65b520e36e0513e649d5fcd3290 SHA512 44f1bf3022055938d4e127a8de84e20a3fdaeec872bea2a605132c0bba4138109d5522239f40a4d5fcdada2c7350a3ba26976b0d8c2f9b5fa1a8c96091127ace
-DIST firefox-117.0.1-es-AR.xpi 572729 BLAKE2B 891c9abfe34b851c4e566d78e77896734aa45407dcb3171ecbc2b69f454b8d89e30a888074e4e928aea9b6a90c2faf2eed5214883b5cf985d5c5a2de2466c050 SHA512 4e15bd682e7fc57fd846630a47a3e5898855e59dccc5c20d6db46a3bec9967d557c1b354019019f5c9310caf5ded2bbb2698d8d45984ef51402baeadc30afb4a
-DIST firefox-117.0.1-es-CL.xpi 571661 BLAKE2B 771ffcd98f952a65ad5e3a03a4a1ae891d8162bc9716db7c524e1c6d99ed5decb49583bd5540fb520d35b1539ffce8cd71f8940062785b7234332b94b17f0f7e SHA512 9f7819c6190463aca08329285b025b9c9870f6d890e833b4a65e8ece5f8f124c78d434fe819d8ada183e7ed3c8de1ebaae5d0409d9c79d28c63d1e0601e9f427
-DIST firefox-117.0.1-es-ES.xpi 564585 BLAKE2B 929468686adc48f25d283a304ab80435bc9c4bee6888082dce5ea6b9fe5a75d5515200e13538185da264259824246a068496dbfe8effa5afe204897a5ca46b66 SHA512 2bbf7d45de5c79d9daaac2fb6557378fbb91324f12cbd3323b2c881e004068f2cabc98a97fad70c7a583b79a3b16c66ba215b27fda8efd0a34203dda1fadcf7f
-DIST firefox-117.0.1-es-MX.xpi 566699 BLAKE2B c707dc1ed97ecb0edb7e1a30b081fef688a41e820093dff5f8143736b8bb064e3d090ee064fc42ff87ab61c19a27a6003ceb0918631f10f9b98fbfd060e5a716 SHA512 665c398b3a0fb26ae34e978ac9325312e16e4dfff88632b9feaea8a7ed415d145a9ad3d98c1439ead0581960f315a2f3e01a49624b2cb31ea8fd2d8545b3c9f8
-DIST firefox-117.0.1-et.xpi 517160 BLAKE2B 284faae42ed138900ca5ecb0b0a851d9f929bb9374635f5c1fe15f5de8fa3e64c1d0478a53dc9dfe87df31504612e408cfe83f1f4158a9398ba40fc90a905ce7 SHA512 4afd3b849286efef78805b1d2f8c42d76ea5499cfb60545a42ab818a4c357ba2f111c041e39f51182376ec0dce2952845f268346443c293696cbfedfe65723bf
-DIST firefox-117.0.1-eu.xpi 555913 BLAKE2B c849636853d32f11e2add5e167b92e75df035247f342c28a6e66715ab8f6bbcb1de3c911bdd569e6b503069acb4f08e8ee3abc33e3fcc422a3aa29b2512f03ce SHA512 7f7b383e5c2e4ec6eed6815a9ba84f7aa80c345202170cd1a161aaccb98d3bbf0c1a01c9b3580e926a8868a3d36ec27ea7a3abdff1bb904072aef1bfc811a327
-DIST firefox-117.0.1-fa.xpi 567400 BLAKE2B 584c29684bc4e7145dab3cf4d260c4b8e5c55f1552d67369b5414adee49462df9f1874fb4608ee435a22246052d25c1a1ed2c16e78ced4b09177e8c34db532eb SHA512 c46a29a7835d4ebde8ef21c20467c2478c9a9eeb8ef971ccf6c0b88ef28b7da64d341fc21b1d4c527c66ad7a1a88d315a64d076c6b87d2f5c32f11cdcca5ab25
-DIST firefox-117.0.1-ff.xpi 456776 BLAKE2B 7b17db5da469b2fb9dac75c7b5b8092d91da4f089c7d0a64742e11fe987089b5143a5541c07f66d457f166b804a2e00ca670d5f253ac18299ea68a39cf6d6e2c SHA512 75d0d7b1ef7ad6e661dfe326e31351d7c41597a3185f709d1e033640119642c48d80c7fc7e69d242bbd160779ef37aaff9fdd5319980a611975fdfbdbd5d8f58
-DIST firefox-117.0.1-fi.xpi 555275 BLAKE2B 86053d2a7808cda208c8793fe7c17d22a7128eb94a24c0407bc54e127ad384a6daa1a7225d2a1fc11f4fdbb0b781eda6b219a74932582e122d6b2f1615c23d4a SHA512 c56b1dbdcdcdd2ce272db607f291c9f7c201e328c52ef94ba1453840a6bccbae61963df867f3588dbd164b9bdef4153cb005698243505e06c0010f7118cd9124
-DIST firefox-117.0.1-fr.xpi 584457 BLAKE2B c88c10add51a72c3758c8d4f78d4cf3df5cfa9908395425b5747ba8f1f2137d8c92ab8da77ce06b56c4c8ccc8c4669faecc2f629d0e0782507aeea2d5aea2266 SHA512 348619f4b50bc52e55230e53c374e87f191f55df37721f08f6fbe8a8d2d16b21082ae9f9bd4633d3a8fccb638aa18d385bbd37a46f7b75718523ba9d3e5153bb
-DIST firefox-117.0.1-fur.xpi 576611 BLAKE2B 861ae2eb336680002b2301d172912530a8d0cc2a1f9a7420c173c9e3afedc321122b7e12dfc2276716a88fec085182a2f5c02b239cc53d911500824ddbdf65ed SHA512 ec7af54a5e46b88edf07c2a9330bace169f56a0ea8928c137f2751b0d30cd72eca448d41049d9d0953f8eaa58e2c51b05f6ff4a43f98d6c84c4de148fa99e717
-DIST firefox-117.0.1-fy-NL.xpi 568067 BLAKE2B a874f1dc6881fde14fa988ffe28f8d80924407b89039b7d42d3b5b68f05e60eeb58a97b608cc33f7bb0382f5815acdd71da6814ec6f74c61fcaa44c2be75e113 SHA512 c7ccefd29da83b4d8878a385e690ae56e8a528fd3b7088bb9b6e79e94e9b1529c6841c565a786258700ab2a987cb96bb087aa9efaea1c2fe52ebafe7f4161125
-DIST firefox-117.0.1-ga-IE.xpi 453869 BLAKE2B ae04dd74c34bf498cfcb8a2d6c4026097bccaa1ccd82267d43cabea66f9fd2eeb4875fd58b2c7f80777818bee461aa0a4bd431005005695f542706124daf3e4c SHA512 1a08fa6f47ea9d778d0d0f3006219f324319bc749ca804c05554bbb90b3a4bda692a059d51dcf40e8d1442aea6b62a3597f4961747400ceb191d71efa066922b
-DIST firefox-117.0.1-gd.xpi 568329 BLAKE2B 20ab07d0cd19c6e21f2935af15e7c8c2e610d017878ff7b09e3877874870ae11e164e55f5c55b298cfa21bd993af9a863446e3f9e482154ee2449b2bcdc08970 SHA512 238970b699f9335a1e9a80cbe3e3ea94cfac00e7abbfaef351d35e642d17049f4b969d5fb0e1c9c9d1d4a854e6ee67ed052535508f44b11a130ab96a69d87383
-DIST firefox-117.0.1-gl.xpi 567521 BLAKE2B 89e1b7254e358bd6999313c87bf2d96c46d8edaf2fd1f122a96ad8a5dc08874075853bfaacb179f3bb78e701a48542a2284d4b06661d32e6c86c8181ef0deca0 SHA512 ac545da67cb40767b701735d2c07df0c2cfc5e08a2e75fd0c422b1f650ca8ebb3228085c90e8fb96b76ed39b98d11cad538a986de37b45746a5bb20cf934758e
-DIST firefox-117.0.1-gn.xpi 581965 BLAKE2B 1f1359408f49cffc2b4f010c90474c3fd7a609ce634bc019d9aa7c7b610f684b1084259e094984d3de7e8ec73b6c3f5f91d7a81192fbe60e4d6c75d2a1c01ab0 SHA512 dba8ba7b1a8c71d1af4cb696ba0a2424c20b7d5df2d10c511475f332f930f87eaaea96fa264f0b8343ab75782ea62844e1791815519feb6913a446bdec47745a
-DIST firefox-117.0.1-gu-IN.xpi 506746 BLAKE2B fe5d1bbc055e11771cce9f683bd6ea71576184ae6ef7374525e8cbe3b3e024f528dc4a80a047325bfcb55b66fa47e409e3a121d4d41d4f9e21785c741d214003 SHA512 5c97fd05b406266e852a09b57caeba14263ab03cc256eff95f9152be893f1d7fc9d99562f52a744ffbfee7e59b24cb734cbe26d71826d4a93a0aab096cb95a1c
-DIST firefox-117.0.1-he.xpi 577834 BLAKE2B 8452847e6d424620109092870376cd396ca801474570f4f551e5844dcc036962b28b32bd8a3cedabf020282f800cc61d485aee5d0e01ca751e18535f0a75070c SHA512 a25acde56491f88486dd05fadee58d533f817e0ed8322e36ebfa2f37e5c68e8d8867b9ea0804f43b8626ee26bee0143b1a8d26a60645d2cd5f1387a84d900da9
-DIST firefox-117.0.1-hi-IN.xpi 543573 BLAKE2B bb888311afc6e000f0b13d3a6cf3db056216b1bc0a8e3950b31dbd5b4eee4358e33703ff9b4b515efe7d4fa252ab955b472e205089b5956e0b2708bd22d34f4f SHA512 92479f6117cd798963edac66df6aa0db77611ce2522ed58fb26e940784ccb1ea578ae317ac5f5ca426a7081c0e2a9182e567f9ed33f554fd2edc045a18918369
-DIST firefox-117.0.1-hr.xpi 533132 BLAKE2B 82f7bfb95a928fb63168bc8f5cb784ee7ab4e17896949d7c16327caf602935f8c50a4f63e501dc1e5695ee7a8a06525be5970a0fbc52392931ffd1d840b421b9 SHA512 7eb470e9b7bc17d94d80d95a790bf253d17af059e266d7872845086cab599ff5d3a4580081427163d683d6be99ae86aa828e6a1524a301de32dce4fa8614a7e1
-DIST firefox-117.0.1-hsb.xpi 589121 BLAKE2B 00f8198fe7e41f29da3c67dd2a0eff203ba86284cdf27b398198792534d2838ab24c0354ac55c542257fe00d450cd606668b32cb4c5e777bfdb5046748333aa1 SHA512 6f538d758dae2413b29fd289b8d20d44dff05b4de7e9c31936c5d48fd5226ec34138dbdf7ad6c82e8e7f96b5315f1529fa863a9417a2fd9938ad117394d18a48
-DIST firefox-117.0.1-hu.xpi 593016 BLAKE2B 9740e12c82ce95f8fb55120bfb991f9153c9e551a5227d532242dea57a31c8defae2458867d90fb55061d02f6896e0ed55d41beba9174e8fa6b06d7a2eeccfd5 SHA512 ac21bb393c1fa4ce1f244854d3915d2dd35ce2f9b5377ba34748197afd447ffacd7207f1039b699dda7a88fb8c9a17dc90ea3d3b43897d1b5e2e90c4291c9482
-DIST firefox-117.0.1-hy-AM.xpi 580487 BLAKE2B 469a3bb6f5619a6584a842003b6530368c388b2967403a62260866c895966fa8b6e060bf51a4543d24525f7773b530884ed44500ebd7cfc8ae4b41976845c031 SHA512 cfb404e1fd4dec6ddffd6902073a52c9ecde0cf62cde35bc50301b5b87f9a1e893123fda28fcb8acf33ebb1bd5449b371232c647f499a938fe460df6fd6078ba
-DIST firefox-117.0.1-ia.xpi 556623 BLAKE2B 703586794d6306d1aac41c52d307c16515d4213874726f97e5d2a35ca5af053ddd85930a41c6a0edefc740db839f459af3288c8e84d41fd5d89f687bace7516a SHA512 56f2121b47410ffbbadd7254bf079cecf0ed791a32bb81aebfe22248d33cf613d86f460bb6494f61b5b0b66394c02117717a89f6bc23f6cc0d440491fbd8b5bd
-DIST firefox-117.0.1-id.xpi 540545 BLAKE2B 682f799f6905ef167dc463de95e6316ae90bb10fc960e48d68bd2d5823a875a237845fbb58f18efb1328f404247ca79855974e8827d7d4fbe28befd019d07673 SHA512 8ff70a2498bb77666c7f1c1db15bf3332c0d74a7ec08f8d1f3d341e1ad37d6d83015e881a15098a9ddfdd58e723aa31a6bcac064ecd56bf20af0e046f6651103
-DIST firefox-117.0.1-is.xpi 564433 BLAKE2B 37532a4b1af33a8845df4d8b1095d24664e7ff4168cbe6e5032a83d7906b2ea3f793bafd85e26cc84e436ce57e9ea85cacfc804e06afc60ec8eebe884efe7df6 SHA512 b1d878ad48b3cb5f7352b4306c93b69ae7569901d9ddad33454901a47d17bf2aa17b228469734ad1adda7d6e8035cc5c04005c83cd6804740155886dd420a8f7
-DIST firefox-117.0.1-it.xpi 510636 BLAKE2B 26289a0e470191018e3ceeaad99fae8ce37475c47329a8455859db717528fb0f92b26d6cbf7e6031b64fd1d397126e63fb2f9b462347d0b096e8869e24598bfc SHA512 80ab6f36a3d69f752cfc5b1231638bed7e6849340a7ba439202b563e2b583892cc97c8a70c541b742f48783b8e0a8896bcc5d05c36e659815b36d297aca236fd
-DIST firefox-117.0.1-ja.xpi 620391 BLAKE2B 7833f134c42c9853611af96989d611b7e6daa782828540291804b8691fb13d1778e9bf782c3c3cd4689ba8e2dadee8851548133949373bf12efbb447e6a42cba SHA512 f30c184a0942ece283f015d5c0925748f7178d89508da380fde0c29e6d362755b78f7d304c8eef915088dd64be9c28e26c63e47620b321ab53a7577d571dc05a
-DIST firefox-117.0.1-ka.xpi 620751 BLAKE2B da252eeb96fe3786c3905c334946a2c984f73fa75276f6cae3959e69688c59ca4d625d9e300e3d6b6c324bb3f368681932cf07e4e63e0edce4cfc4a7c7d1803b SHA512 9cd3b9537998bcef38d036f2fa8981628ae5183758969a5e259527d856590c5e51e0218f77a1a8039a86745018b1ad96bc94c92da73ac9241f84715df214c584
-DIST firefox-117.0.1-kab.xpi 565303 BLAKE2B 23ddfdbaba2eef6da6e21e6e4084610bd5905168d589347100e99e55b3a388869c6099d089efaf6ba7193a768d265ad0e27798b4cf7d80f714e9f28aced6659e SHA512 972276edf066f5728aa200ca505a41ba5d99cb08aae6246a7d599952a2ef9c23bdf0f0cb8ed969790dcd7547a6b6a5462ff4e4c834d483e40151718d9e12e7c5
-DIST firefox-117.0.1-kk.xpi 645184 BLAKE2B 5369791e634c40279d58b858fb83d9ad586843d4eeb5aacb25f85d7bb8a3ab9ddd92b96f1b913d8bddc9f0ab40b855f72477d25825674c11a12a8e23efc6d0df SHA512 8845b795477701e1798fe5ec7b6e03977e01d4401ad5459244c79b3701556567d06c45621bc084da085fb97dab3f4794568895d1228731062caa28a6b086de17
-DIST firefox-117.0.1-km.xpi 507782 BLAKE2B aacd4abc97e87158d5760838874bb513b24371833da551a2d3178d9c36f4faa80104ee6c7b4de7d7fb779955491b590b7a7c93d69a2a0ec5d83304e3b97629dd SHA512 e1cb02447fa00abbe323e47b9d19f37dd0c81cbd15b0866eb6df90d95699ca788512dd640340898272359c0ffea2539783d4bd41161d05363eb1c62e48bfe877
-DIST firefox-117.0.1-kn.xpi 473354 BLAKE2B cafcc0a05db676b74c944af04bd9d8a4a19ea468a76b02a0a6d5ed2c7185d4dad8ac2be6a3ad486d6eae478e8f76e3825cdf6a517b941bde2b931deec965e282 SHA512 6d0c33582712357fb47de4a62b7922792aa06d5bb863f233013076895f4260adbc493d7c0c6cf9ad22e0e57503ef59a934f531f779e514c3617bf077cf9528c2
-DIST firefox-117.0.1-ko.xpi 603702 BLAKE2B 7430ed03581cbb2b70745169d602197c86fd07951eb12a63cd08a6fd828486caa1474ad07d7ce84a0aaef89b949cde3023dc1996a16a330daefa71d2857c3e0b SHA512 82afeba574aab4a4db1c8c0a55745ec5cfce4b040726285afcb289c3502343063de1ceb1c7eef60214581ec5288aaa23a50cfd9240453e9eda45ae0be2027358
-DIST firefox-117.0.1-lij.xpi 464077 BLAKE2B dcdd0a2919e1f4fab8dd7e6c39451cdd8334ca2c12a7bc553ab68f74f902614d562ce82a01e9b23364f00d3912b652012da7ddcf225bee2e0c5ebf871c045a90 SHA512 129ec86c19d7a9d6fd2e8d9140ef8eff1d5449c3a5210b1369acccbe0bb8d258f38cc71f36ad2f6babb5cbbd6de279d4043fcc4254ecffda5353b141db15bbae
-DIST firefox-117.0.1-lt.xpi 549438 BLAKE2B a860990472ab714b95e6eea422876e5e2b8b874ebfdc9107eb1a00b21adf37b5f95f0fdc1346f2350c83291531f556160bc71691ed1677bcd587e1965155b411 SHA512 b11e3e62c0dba3d0f23831d5199845bf42dfe0583096619eacc2be038d197794d2474a75134ca7abd1b670df54ef712251cf4f18c361836e0e87f2788418a924
-DIST firefox-117.0.1-lv.xpi 450454 BLAKE2B 1fcb416ad653e67c1b05a1c2c4677a82a6652bac0c8eafcf39b7898a3b3fb27eb00405fd13bcb51b23000972f0fe01647404af58a9a8e7d3a0616e7b9deaa143 SHA512 e02d0cd4c3075c6f06e9a2589b66a7552e55b45bca898a5b7ea1a3da36d8c0c8ea291fce3f949c14afb530117e29b3898d412c10b0d2b7884039bdeeb76ffe55
-DIST firefox-117.0.1-mk.xpi 476033 BLAKE2B 01a7640d6d7a23c071e3ca42c52c709526db39dfbbcb1eca6afe33f6dc6e354ee0a2ec7fa1c9b0ff31f2a86cf09562407cfbbd5cad3b2302f9e2bcbcdfd182f1 SHA512 8b88a7b2d06dba93bc9a63036539d1f08a7419b0c641ac81f98f76ce6f5e67f528c296b6695766dc402e1284f79dd407d86d365a4808d66447684c1dfa05b4bb
-DIST firefox-117.0.1-mr.xpi 511391 BLAKE2B 68029db7a2ff7830ed5b5cbbdc866b01974d5e68b8b99aae553c3ec1c836b0411633a5d4be03ad600ac26e229e12333b0c905908b69029ddb5ce388eaf78d68d SHA512 b1fff78cbfffcdf159cf48211fa964605f4fd8d58988250899e263360c3a986dc61de2baaac3d4befc2d0d204f0ffc4ef1af410070698e4bc12bf810dbdd5393
-DIST firefox-117.0.1-ms.xpi 430981 BLAKE2B ac6bbad1c1bc87449c36850e998b7a25d8f4547166580308e4c933cda38455ac809492dc7f4a4f8c65d7a39ef1c06aeaf9ef17c369876f7c5758b0dcfd2369ed SHA512 3c6b1a9b08f58888b672349c558b4e7674bd5d977a8816e3995849f4741ca75be4dc1f14761cab7f3b1a0e92e63bfe768fd9785ddf936052a6f79f39885b3ea1
-DIST firefox-117.0.1-my.xpi 493863 BLAKE2B 30d88b139aad38a5e4e61eea7968aede3c35159c16513f5abf162bb551d365a40215aadea872af5079c678e1bd53f7696eb23ac117fbc4b9b0658789ba427a3e SHA512 572af46bdb94371f48f3e47bd2847e649f027786d4891b9629aa2c6c7c34b0975ceaa938e1fe8e5c1ff2cc101f6b681c6f5608450c5d394132c637f13f670ce6
-DIST firefox-117.0.1-nb-NO.xpi 550899 BLAKE2B f4b966c69551e5ee9cc9a25b9160c35177016725d3508e6827ded565d8f21968c487e94c90d21c9f9422df12bafe6479f49f43d32f5cb03b0473319f788c7036 SHA512 327cdf11ff7b25ba0c5d6f5df55d8ac9a658ee0595d90e97c79d285b727b3d6e88ace910c360c29d59023b99a71546d7e59ccda4bdc31eee2796f8828ec32fbe
-DIST firefox-117.0.1-ne-NP.xpi 468693 BLAKE2B 5ed5e3d2229720e9bf9eca44d0c1061fa47eeaa069d7d4683c3c4381c464831fec7852cb09500e8dc57b0b5aaec3687decaa302e3a587eac907770394e808103 SHA512 e04e7a1b013a3914056a50e00de134cad3028cb1133d56771bf545961b8fc9e14cd2312518f58af23ac393b80fc9bdd87a84a17b85e9aaa758fbae547b91f6f1
-DIST firefox-117.0.1-nl.xpi 562329 BLAKE2B eea9d199d10ffb2c98f28bdece3c45dff1b0388c80f53f86453c0417a4d21470c6c71789959797232b41b04bba05cac641acef415e868c2ddd5862630012283c SHA512 d5aa8924a3017a27970c5dd6bfaaea24eabb29d7ed18333d7e3eade70dcb2525ff4b31215caf0199c5956ee663e4ff6b28360eb996c0ee7f1843981d86ceea47
-DIST firefox-117.0.1-nn-NO.xpi 555662 BLAKE2B 85e3db533a9eabbbe7493a514b2e4f12065e9c7b08faa64b4d58e6111d6ffa5994189f58dfd7481a3ff021d374251574653c2a974f8163d42014537b179fad54 SHA512 f93591ca9214d07b79018d4614346888d7d2b1d6fd101cd399636c5ba09f1f843a7541a17f53606af9dbd3abe802a250c1f465aa7611f6643215385acc1fd923
-DIST firefox-117.0.1-oc.xpi 575179 BLAKE2B 16773fda04259691fc33e14bb8cb67f48ed51aa6ce6d6370fa3e8693aae345252f685b9d35763daa7d32ce81fa331f574a329db9e5cdb71a1b15788349a661e7 SHA512 1fc1d139eaefc52f556d3d523b574e20489cc6ed0e71288ea6b515fa25b8072675c0c06c2c24848409d8aa563e48f78f1e7fdab2919c4d733ea1c4fa55219596
-DIST firefox-117.0.1-pa-IN.xpi 629875 BLAKE2B bc9b9b3cd9f429f837bd778af7792e82c5adc374240c668c5be29be0b87c747912301df43bbcfe1067ab099facfc785968f83b85c1dd6c3873a527ffd599ec01 SHA512 f23258394b70863715d702ddea9717c740d0261be85a1b043cde9e263943e5dacddb3174f7c6c185a00bdbceeaaa362127ced1873ec476ab9e9bdf933815a246
-DIST firefox-117.0.1-pl.xpi 585327 BLAKE2B 936b06c9e0bd1d9b998150e864c0c1ff145e1c2bc7c1125907b01dbbe1c411b36b60fbbb947568aa220ef55c670dba56a7431629a9a1411adde4640e62673a3c SHA512 63a813315a1056bc19ef7fa65c7856ff503b00fc0f366b7697c73c03e6c75b43235762351159408655781d10adc7b41cc31975ecc0f2e686af915ca8fcf8d9b9
-DIST firefox-117.0.1-pt-BR.xpi 567123 BLAKE2B 5a0fd77d0a2802f844cad404c6c547db041c77e7c0f61eea5f256345e4aa29dfabf0b5522ef9efffcbd8c26d5fe8f309dfc94472ce7f7c09c43ecba7e0d79c90 SHA512 42a319dbf135ef5c67e48594c14d75d7424ee494f9608b4e959bf2154f1e4cb09f3b39442c0193ddd722f1012abf9936c87f0ba9be83e7605a5e7d24b8898f97
-DIST firefox-117.0.1-pt-PT.xpi 571439 BLAKE2B b639cefda2d0d23887e20b127bd765dda50630abaddf02b40debf00cc62b8aabccb381f675ada7f0207fd4a92d97ce1986d7f15ccf2a78390569c382c26736ec SHA512 f47c106d686820772a6205cf8a413a3a9a9d0bac5d0c5d2e381bc921f277e6ab87d6b30898a3e52b424f55dd96723376797380ba74ce8df539fa38ab2778ff34
-DIST firefox-117.0.1-rm.xpi 562455 BLAKE2B 37eaaa72a74fe0715e174130661c5eb8ef6913a8fc2a3f6864ac3109c6a137b449ec30bc06918c6bffced7cd8526ee67ccb1d5b38fea0aef989fdd2d063bb2af SHA512 f455a5a11e512c31be52fc763ebd34d16daae768408d43ed883627222cb33b95e9bd1dfeb4cb7166aa33a60dceee62c33c44a0e67821f94f2f9d056e0bdf2702
-DIST firefox-117.0.1-ro.xpi 525859 BLAKE2B 8c2c2dd9eba7528c07ae033ccd6652c57027e889c93cef660dddc51718e448886db087a034546f533d51a0c86d4e578524caec9fdb917553d070820fe7e4c0dd SHA512 849f229e8c82f8294116be54367ec85d746470b46c81984a4b469209aa6c537c8d35edec05f466cb6b5d6387dfee893fe839e10c3898466aeffe56f2ba891474
-DIST firefox-117.0.1-ru.xpi 656334 BLAKE2B 7f1ca76313a0cf27352e9ae007b1d0f9773b837569041e233b2d3ef13ecc2c2d6ec6c07975d6daa7172ef90392312b6ccb3e2c30103f858cae139b28edf37ae1 SHA512 0bbd4f8379d278badb0f84f167245563635daf7b9d8216e9b79026116c27eb84b31dee9667ed8932c4fc7de3aa95d918c855572884f353c6420e8835ef875b2b
-DIST firefox-117.0.1-sc.xpi 541048 BLAKE2B c4291076ddff342066e27a117518c2cbb0875bdbd8897611963189c51c4f7dd05c9cb47275079506dbba6da2921bdeb54bafe65ff1c3d0f221612e2dd0fffe7a SHA512 681b7daa72e48b2bfa820ab698dc447a1a590a0bb132ff93f8ab1b4700edc7855234486960bf7673473dde45f7ba23145afe0e4739e4423c29aa22124a2737c5
-DIST firefox-117.0.1-sco.xpi 490213 BLAKE2B a46899ff81bb521fd7b46afbc644b6e59ba74e3761a5684db3cb4667ddbce44ad5376256dcd5033fb6ab2563654ba594a02f11cafe63923deaa7e82e5056273d SHA512 eed95d20c9b260986284c185797efe7a98ef5aabd5d33bf71c8331e2b8cb18cf665f0ed8b1380943a9a0a7067a3935b8c11203e1b9c7ec8f30eaf3b055ba20c7
-DIST firefox-117.0.1-si.xpi 578783 BLAKE2B 1eb170aa347f30e2e88877bc4f99e26ba5c9ebdfc0d4f1b6dbbb964f8966ec5dcaf9597fefd8fa201f291ba7086e4d5db1e467701dd25501a4e9a0ec89a97484 SHA512 ed113e784f85d43fcaf02e74c80a02035e3c3a9f4a45590ce707116b00ec61745dc80475affea41e82a15e10a35ed90f9e1872388798532f0f7fb21ee4aab01c
-DIST firefox-117.0.1-sk.xpi 593728 BLAKE2B 2b7cf7cdeae1b58bc49844a3a467574c59e60c2301767b5e03c8c8e1418525faacdd7d833ae24dfa97937cfbe721e187facbea81867b16b952d4c70a0d9385d9 SHA512 19807928b1243b09c43f0495a47d94cb07c6d1ade5e413a64ce5ca35412d0026724e3117321b24c709fff9ec1abc38a4619623a4ff91a2cecf53b5aca5c97dd1
-DIST firefox-117.0.1-sl.xpi 565967 BLAKE2B 649f14a27eda7c6cc4b306036cc0a333f5dc9feb13e803479830880fdfbab4da4106c3455bbcce65784281c0823d3c5d75e2fa2f71863d29da9f8adbfb77ad42 SHA512 c29ccb34ad2698db99f2bf7499d3c294668c12b10fba5f02a2049bfed01b57f684a44b03dc5945acea78604dcbd256ff5a188e2a51ea9bef1173c8890afd8d0b
-DIST firefox-117.0.1-son.xpi 400542 BLAKE2B 6b3a042c000e2aa018e0e830e19aa9fc3059e429469fad760ac53d2b22b1d932075cc08d21edef8b50c9cc1152f383d5e14cf7893ea26faefa28668add8cd683 SHA512 576d4efc5a55cbe7f8f74f0f44b2b985d315884afee9365831002512e04b04bd4a0897097d4769cc4af7c3b2d3bba9b761cdb100787518df58151d64757abde9
-DIST firefox-117.0.1-sq.xpi 565650 BLAKE2B b726906c7f9021366919bec4a638989dd91bd0b541f602c0fcd8bf237e3c3e87488ea8cdc70cd1ee592b3db4076b30439b2e5e9719f4519a9276ad0fa4b0de6e SHA512 d6029c737f83be9fe621fa6af7e0767af07e6fe9dbf923bca773ccbe1b993e708ed5361d60b89ce2dc13dc1e078c3dcf49b6523bb7bd7cf7aaf8b43adaa5215e
-DIST firefox-117.0.1-sr.xpi 615339 BLAKE2B 1cf4181300ee42b55a04a59923e72023f00e106645f656586824dc5ac6df930174d3144ea5275450d2bd7e788cd069b6d2ec775efe7e410aac1bca66b95c37e1 SHA512 9a32a5449201c88bc4405108b5b27426961dfffe7ad366b3208a95b77812a80ee35a8e27cc956ad4732164f5a31a43b4f5dfdc81651d04c06a64333926f847e3
-DIST firefox-117.0.1-sv-SE.xpi 564229 BLAKE2B cb84a2f6b680939f2a5070ed7c745d156eddce911b5455c94c93b7d1865769f59d9547a7ef2587ec7f6b9333984d63830fb904f0ea7981f944b408a4e82a8429 SHA512 37e85842aa7cfe107295be7bb53fc26e89b346d8dc7438ff19e5a55973ac0118a668788b4a729d27f436f7d5341c7b50054247b82666d6cc5d9a8d4c97eb6f49
-DIST firefox-117.0.1-szl.xpi 504975 BLAKE2B 724406eb4a1010e5fb36cfd9bf2e574e1f8a792214dbccb8cfd194561b03a487e79ae8a406f46217ffabe2983d8730ecd0251fba8e7fff024684481b5b807695 SHA512 66fd575e656f44329988366e0b2aca56d9f33a3fa57d94a44e3dbe276653436dff49b8949a86944acd84374f91925acf80de7ea59637bf768edcf9c128bb2a77
-DIST firefox-117.0.1-ta.xpi 488410 BLAKE2B b1521191a6586dc105960aea7810ed2840ac19f25548253d11a8f7e4ee6142bf8fc27f7074bb67b02f2c39f62e42d26207e193762bff0be0302d8e9b1317534e SHA512 3bb33413b2af42d1a88418b4cf8992f5bb48f37eb6a5b4be9de2973d8e50b1226a22c0343f53eab00fc37706f00a20c020a5cf3b8404872dba121162bbc9fe40
-DIST firefox-117.0.1-te.xpi 536503 BLAKE2B f011ad982318e2e73ba5002c3500f8d0a901fc5c036eecbc3e934c3bfce0b9639e00ce47e9a226cb43e8dfeee1d5c3e21757825d387fecf6fc8826fc5082d219 SHA512 0987a70b2575c006ef4fddf5a3c52c8064031d934d1890ef9b731b2eb1302abd2a3e27a39ef1b94998d60820c0772f3576fdf1c0e9c6bf59749d4c9ae0ccd823
-DIST firefox-117.0.1-th.xpi 635861 BLAKE2B 9d35892f1276e3a455347bf03b80686e10a5315c51fdd2183eba7b717ab1a61f44bdc8e717d932c2224a44f0aaf1abf67e93c422bc33b10d1141da51e04f5644 SHA512 02d5c139556ed9bc745db688473da5327ddff24ff90487bdeebb025bf7f4f9dece032c1bb14cb36bad0598b14c5c63cb7a84bcf4fd6c3811d1dfd22d935b18c2
-DIST firefox-117.0.1-tl.xpi 512498 BLAKE2B 6e41e677985506ece451c5b0762aa0638e113bbaf774256a52e67d2f565ab5962f2573af11324a08371fb8f14e57b0b0f79f76b14873c27bfd5a7742c583af6b SHA512 9fcb5dbb7d1b6915763a75e3a97609076b4bc459a0018be664196e00a2a5670db9a8ec66e22241df3831adc6b72922bcf51dae8b65743ed5e2bf23331f7577bc
-DIST firefox-117.0.1-tr.xpi 575940 BLAKE2B 118495998cf20b66db33f517e83c9072eb7f95450f8b3f521ed54306553bd497542739837129fbf6b772187d04f3fbad7d7a91af0ef0a4a3787e5ca325e41705 SHA512 3573abf195d43ffd1d8baa02baf804c47bf0a7ca904a346513e657fb4387947c6b2e1fbdf20145895e77d7c97af4829a706d53d4adcfbb276f79effa3f782e50
-DIST firefox-117.0.1-trs.xpi 484139 BLAKE2B c5f70d5ab2ac8b2c3e6dd37849577bf0ab383624015b1678414782175b6d7af4a9e974e166a389386c37b785e6a9872c159a47a6a8d7b9dbbdd673c9741e14f9 SHA512 a2abede6cade3000fd0b04a320b5cf103d999610c006ac1c44b53fa3a88cfea895be8731206f6863eb4903f747242a734cf2f3e42b6d3595bb0e9f6f3c4631dd
-DIST firefox-117.0.1-uk.xpi 649509 BLAKE2B 44b7d3bcd4774ce4c547e9e16e26e26fa74a51b294b9a087b4b7d14773a0af50a0d332ed49f8e7f1d6bcf4b92a2fd7137087fb9a91c8daa24e25c359a1f80d20 SHA512 1e09f9887b212de19a439ae26a405a44cfc806c88c4c7fd3b72a6e497818491de9aca1188ac171ba3c13542e3341846b92f859fb39d68ae97066a00116dd8a34
-DIST firefox-117.0.1-ur.xpi 539405 BLAKE2B a566551e8b4ec6168abd3ce2e4944ce970187df9bd8aa4948fa3815d03684e72e6cb09d8263cac4fde1e657b494d69b0eaea62212bf2af886731c9b188d1f364 SHA512 e8688bb3c3d60dd7789c20e43f4ffe144e0a29f1eb1da0cef23b29f78b474c415f42dd392e8037f2e78a43adca2af3b2de3d8c8aa10cdf5dfa64fbcee003124f
-DIST firefox-117.0.1-uz.xpi 461435 BLAKE2B 8327cad84645658a4ae73d1883fe8e14af0a29070cba518207e1748d681afecdee665947a674d6f6f7a427b44d2b4929766296aab59a7f4ffcbec23b97da4a0a SHA512 cdea003006ae45be1832aea3ceb9c12e840f343411caf55480e7b663601ab302235dbe390e7029dd178be3b15c797d51a505aa62d04007551d7cc0962a606285
-DIST firefox-117.0.1-vi.xpi 599834 BLAKE2B 0733b21e6bb8adfb64914468eb0ac42bf14c789250f9176500645d230821dc191d4c679ed88e912bd1b83292a32b18585d0202a732280bfda6535be902d46711 SHA512 1dda8825f70a5e8c6ed93fdff4ed6f37058edde2a551cce6fbb15400a29b13ffcb3f2fb6f0350d84858795912b9076506fd068454a515a80aa066685c86ee75f
-DIST firefox-117.0.1-xh.xpi 401978 BLAKE2B bcb660965e3987d114909769a231d39cb8f51c27652a1d5c115e97c85a3325c45852419c936523ae5c4ef1d88ee334ec3a5b7618a206f9514ba43a230ab5e5f0 SHA512 a36b9e5fd6758e18fe2c400a43ea9b78b913eddc7e030caf907deffbcdbf9537e5d4f747321c7bb06893ca95b4386161d8281930e315f0edd886837f5c52a556
-DIST firefox-117.0.1-zh-CN.xpi 599263 BLAKE2B 97fa0aaf78fb5ae47f55a738da58a42ea3969beacfd955342729e719d88ba35d7cad8d03b92aa2f66fa863499661043e43cae0c0449f89517b4f39e602033a28 SHA512 675bd545974137c50415989ac8dd3ad6ee941e83d7ad603404c67819a66505ff9ccf01db544db65bf7a64cc2dfd11fc4bd389552a421cd0e3545abc55e00fb64
-DIST firefox-117.0.1-zh-TW.xpi 601287 BLAKE2B e0d429281429671f6998b5a6bd119937c52ca4c9e11d64b60e6f73a0b7fa8800336a29055944c4ccb05eaeb7862fc13923a4ebdc84543fd96992f4ae2b0b5bc6 SHA512 89f6f72da94660d83ddf4ba71803bd4f520e1dea5651172c97ca007bbb681e7330648f5afebd1d5f9be37992da4d9eaade750bff63918dcdc05698193940f86d
-DIST firefox-117.0.1.source.tar.xz 509601584 BLAKE2B c618942209f60550ef5bd3db4a3a150fbe8993d2a40ba9b1ece3e647e4fcdd82639569f354f87b488b47781d52d21a158a25906c88fbaf86ddb57b5973f8ace6 SHA512 1583b0ad3b3b17c59bfbfb3e416074766327d0b926ef4f6c6b1e3b2d7cf6a18dec592b7d17fab9493ba1506f3540a02277096d28616dd29b6e7b9e93905f2071
DIST firefox-118-patches-02.tar.xz 13720 BLAKE2B 9a9a535f1f753fc34a2ebd257a90fd73c154fddfa6611eb590b68674f14a84a7c751972d6c3bd88f00bf7eae0c5fc2be5d371cc62cd52fa790f01c30ffca2adf SHA512 85c7f983341389e973407ac645db885d1601b621fe29271bd4f5766d5fbf6aaaae45bb8fc590e767a1641013624a86e144957bdbb59112f22236af1acf9a5cbd
-DIST firefox-118.0-ach.xpi 446025 BLAKE2B f601ff42403ce2d4ce611f02c128a58b4f037795896e16f5b6dbb4eb524620bdcc7b06ff83d89bee8183d407da34989760f9092307fdb34f0c44ca4ff9da9cc7 SHA512 934b564d5a556dd0fa891fe3cd237e1415ec393020c7724955de25fc90766561f83a3ae975f0a361a1e986927990880beebf3f1502c79c151100f507e8634786
-DIST firefox-118.0-af.xpi 401797 BLAKE2B 11f6d9304ee1b636cd9759550a166b6466fda8973ac2e9111cc3797433b62155dca197c053291e6d72a6db2452a5aef401d8da9c80d0dcb5471c0e3d641c4ff8 SHA512 049c167147b4ed0bd6851594b283fcb40faf03e1a479bb0f794dc10027a66b296aea488241a829a7fa32125d36e770fe6ae5792bf66012bb588658ab04c7a095
-DIST firefox-118.0-an.xpi 485440 BLAKE2B 03d64b70235d70000d223ab776ffad06f825370295d33326db636b176d0b085b1130e22e31369855233dc787422879d177e05d57bd0113541a74d4faff1fe0af SHA512 2592ea83595099a8523dbe5ad955c1794e4a61032fecf783c4475d624f3815ae86c9322b4a945fefe635162698c69c80ef5dd70a5d9afae54e27bc0a5612ba23
-DIST firefox-118.0-ar.xpi 552502 BLAKE2B f30c0fc1fc6fc848eebadbe73bcbde66a11cf1520dd2d7e57733439de47d9f4e077283a435b7f99a320bc513429ff9129c4f25d1b8348af78369bfdde47770e1 SHA512 9e80110bac944522e4eba58d3956985d2211bb38dcc01dce8a19f93330772c9ebf9379266a1023caaa84e90200848c629ab78f47e2c36ca443dc8b2477c61162
-DIST firefox-118.0-ast.xpi 478764 BLAKE2B 7f8a12a2b50469471dbc758c3e419a04a657ff5f1acf6919cfa716001ca5e6500941f61acf11a1b6d8eb88347318240acea1f50f30b75f094e03a157f6a5a8d8 SHA512 d5a2a4295c4bb5476a24724186a38511b3ce4fdc306986976bccc582cd333fa9eac37faf90e56022d423c4aeabcbe00862a73e148d7eda32d9683a0a2356658b
-DIST firefox-118.0-az.xpi 471884 BLAKE2B e27a73de51fca44f195c5ba156e94d39d51be5a93d1d7ff04152f0b8576cb8df417e29cc82de9ec3a1058b0fabda8e4d644fc451522740d5b1ab7a9547364259 SHA512 4b02eccd5110e4b17e913b409a51175321af35674ca14ed7c3971715c11d256eb901a9db0e7862c49e18ce1cd81f4a1b8cacccb0845c277869d6a4aa16e3b9f8
-DIST firefox-118.0-be.xpi 658000 BLAKE2B 149b4a330ac1c039c5dec69cd696481f625ec2b53e161db5d3b8afb4f689fd68c096c41c694c4f91433230b9d5eaffb703dc48a3fc8131603691990270b2677a SHA512 dff7de3b83e1c7575f60dc542e503bcad945277fb199646ddc6d2c7d6141ae5edacd687a1436f14ff10e7a78e9d10644ca0acdc78b025d8439e6b9477c45c844
-DIST firefox-118.0-bg.xpi 567002 BLAKE2B 399d33d40432b9e66d144c3f66504d54708e72be348dafab1fbc6831ea5718438eebdbd124a98dde5b9683b418f549c0e3bdb8d4c857c160cd841290c5d8c6e1 SHA512 c911c01f3f819b025db97c238816b58f752e7be1ccfade7ed2ebf549a3a19804a97574f248deaee75ec54b7b9c51caad1cf6c73af31c83af56d3a900b1dee883
-DIST firefox-118.0-bn.xpi 561427 BLAKE2B b4a1dee0ff9de6836d8e5dc94290c73c52afa5b18d38375e5f1b648a455360564e36fa5e46756fccd7cefa4ad23b91a8ce606bb031b978ac1369b34673073cd0 SHA512 a73b8b283d5c02737f6ceccf7dfe62a23382443dc54f749468caf45afec7cdd6de340152feec1c0f6d821a3f25c200326e1f8c3476b5e36cec1f6782d87c26fa
-DIST firefox-118.0-br.xpi 546689 BLAKE2B 7d5501371ed46368fe4957d71b233e564ff9d7ef8d41f98dffc84b9904dc79c83bb6aa0aef9f0003a2a592c6f3257caa6f29021d6034a1fdbed947bf523bc121 SHA512 754a47acfb7e32585ba23d81fc495694ddfe0092a3d0c5463be2f4f60c7fcc1616a1dc17c0df3f95c7b96c831217e5e656dd863038d5550dba775ea94315eda8
-DIST firefox-118.0-bs.xpi 441970 BLAKE2B cc34baf49a7587e12eccbce150fff1bc64b6b14b337e003fd1de4b531e50e1fe087cd7fc851c1792a8d3cf4a66ddc493b01496078d2fd928c1d86a62ba3410ab SHA512 2fcb79cc704188739b4d9b817daf653fb704006a0f4a98640f383648dcdef7b2f0d74a63c245cd437107488dee3dbcf02fa7f40f063194205680018206b23331
-DIST firefox-118.0-ca-valencia.xpi 524708 BLAKE2B f80d1839bd233dcc913be4d6ad5e88a55dee49d8b7d7555de38a298cde5d4d2abebba4281712a6468946df8da171a2c3ec4b2d520037467b6ec566f3e3458860 SHA512 ff01f53335a4dabe5db90d8e6d083038968597273b97aaea44f0f4dd7025e562b364e229d330fe9fe28af52a1e6080ab1effaa06229ed400d07eff43219c8d68
-DIST firefox-118.0-ca.xpi 548396 BLAKE2B 3e5c9c00bf4541fa5e6ecd64333e967c33aa1ef9cbb04d0bcfac0f59d393ba98d05aaa0f583ee2b7119ceb35d8e5d410eb8f4ce4735ef3b6dd402fc09f4b5f0a SHA512 ae625d96dcf804d8b48e8b472014465664cc3b3213a065922f697561ea32b9bab0f4e2c2d6de1d63c358a3de3d54ed1a08d6eacfa8807256bd5debeccca8441a
-DIST firefox-118.0-cak.xpi 569601 BLAKE2B 57b6e4db886f7c0bb9479f9068367246b2cdb41604f4d90c9fd7e4e9c2e21334d9eb7a3d2fcae2b22cc18bb32368a6c6231b81012e690918a1a3075ede6c39c4 SHA512 df46da31abe4f2bf17feaef2a91b1434b69b2bcd880d347549d278166c1593af9ad8ce9395e315f4a3f1b06d84091a772ccafaf88dc821d101479b46b50b5ea4
-DIST firefox-118.0-cs.xpi 602031 BLAKE2B 4383b4ac32538fb599a5a72b0b5d19ffe253c7775a89f209ed425c5bd3db6914a8a7fb855e52f2c6a5575d848e6fbdfdac27e1128c1e1c5f160c269e71d44b9d SHA512 6e674244b95974e55fdf349ec27c4db553598ec5000d59dc939f1d08be7a5c432e2f684d97b6cf402326aab419aead23aaae605cca9e83648091a587eb6ce172
-DIST firefox-118.0-cy.xpi 573646 BLAKE2B 7743bb9b6c0e07e28ba0d397c394f825de9c920a631bdf39535691dc67697b08b9919db39a8ca8a1f314e5a27dbcb3fca5908e871ae8c822081ef1e1ff5baa84 SHA512 e95e29183eb88f6ff825fdd82325e8bc8c1cbfef9a059bd2b9d307cc32bbcb583a6376c52aa005f7a54a31883cc7e63e42e0ddf0eb2e092ffe88a05937847690
-DIST firefox-118.0-da.xpi 562662 BLAKE2B fc0311350148f2b9f8a7b94075ea07113a76658fc11b10fe489e91eef52d6ea6552e5996276a943dca609056d9988e0369ef9bb8cfd0bfa77c1e84c0b6ced621 SHA512 c0a91db6fabd04b5c10cd8a1f8dc8dd3fb0acb41aeb2fd089f8b6db055fad324a17c92fa0dbae8d6618ad05b250abf381eede015cea833e051b123bbf0bd3155
-DIST firefox-118.0-de.xpi 583331 BLAKE2B 438ae52c7a7658e4cf14d8dd42d6d30bdf75eb61bec178704c6439da504a2de3e10bde169704ed39b0d60a6064daaab008c0e01ac5bac3de593d6b8492a2ba39 SHA512 00da9bf18cdca5d0d7555729ad84847d17914fe2bee9d0cdb5481bb9d65fe1bddd6ba11edfd18ea5cf3a61cdcd73b6682a33044f8e70cddf7138db31792889df
-DIST firefox-118.0-dsb.xpi 598385 BLAKE2B 288be145984edd13c547f7ba62e3e4b7a1fc935bb2f38de66ef644fc8b50ee20836f49da876eb350cd5dfbef799ac4e97e7eb587db21f11c9c287fab6f03c6c1 SHA512 000aff916a0c7ae31fb15c12988a8cd28c69038bbfee3a66ed4ce8404a39239cd3358208574d420d7a46c3b52df2d73ae9dd785af896d5a3b2cea4d13e79093e
-DIST firefox-118.0-el.xpi 672683 BLAKE2B 7b383da031ec9d0f62bde0f5487505b6e4969e06376253114f20f0d73184991c398f01f215f617d2e4a9d6d9f86d78c5372b8de6741bbf5217b33e43d37678f3 SHA512 d17f3a551fb31a60aab2b4d81ee7dedef31bbba188406d0470a86034ca4e8c25e760beda98fe6c8a6d1d877e9e0a897ec311fea90b67e2faf560a8aa286030cd
-DIST firefox-118.0-en-CA.xpi 538014 BLAKE2B 16e552145e6a51c5ba675b09386eb60873510037853eab7c6c8d18f78fb80400347a57c68a64ca4739dfb1c4fb50bf8c3cfcd266ed9385404bf0ac7cf27c341b SHA512 8ac78b43f0db52e26d94986b8e86f3b1d4acdb406aa4b708a3cb071a6b9fb7ec5ff8a916a26014669bd4229e04a2c1d429e141789bc6c2151517dffea52858ff
-DIST firefox-118.0-en-GB.xpi 538570 BLAKE2B b1519b0abfb699d32676acc2cbd5070407e626e1581e4a4ab6038bd40593f9dba32f5a90eae8d843016e8c7ec9f25104ee4914b99328d6762f65c98a9367f614 SHA512 6f3c524b4f5e422d2d46c15f489e0451b5bd52d6b17ecd56a437ca3d65accb3df7c2386d721157de1eb3c938e0b6557c981c999c22de8baca5c05d923f036d18
-DIST firefox-118.0-eo.xpi 563415 BLAKE2B b7dd788d90eb2479fb608b6a8922d54c07fd583d4c6dc0158cac861f50fa23e47905d2781b7188d9994f102422d8ed5b1f2d759774564f97d59f30bc2d4c737d SHA512 6f879e765d0d4718ebcd70dade2485e725db5ce64eddd816379f5c4f02794b3f3897ad77f8ee1ee669ed1355276d644ab7015615f13d8105bd3c992dbe0dcf2e
-DIST firefox-118.0-es-AR.xpi 577749 BLAKE2B 00cc4ce38da4c551bd92a2acf95e3c7fe19942d547beb0c075862438a6452f5259f428f60711600dc794e3fdfa0e4988f09b534ab1f5c6c5790662e9c5cb03f0 SHA512 828725d5a004cc5154491f9b9634cc16b7b5288b1696ebff2bc018a99e96207830dcafcf582767f875ebfeaf6c81b2ff09ca132f2da7a4bbc827cf9c6e3ddfb9
-DIST firefox-118.0-es-CL.xpi 576549 BLAKE2B 5ecc7420dc88b2867c910d92bd4b84101240b9222aef8cb8702b1dce7a2f7e25770c26b9d92e88eace97e79c757a8eeed277bedb682fa9c275f1720421b55782 SHA512 edff8d4a163f5068d3d8ae1d0687aa77167ced3f3929e6cd15ccb387b52d26793ffcbc545b0e9928459a8a051742115399ddb1d249e9fa81666b649292c9c622
-DIST firefox-118.0-es-ES.xpi 571109 BLAKE2B d76c4f7da8377b81d2116911cdf73550a9e9ef5efa167a98fdb0443d19ffa919c416ea7bab124a219a0be66cdcea965a37da773526967298b57af3feed7ae89b SHA512 d6e9d0f8d537b883f7722f6fc885da3c36651511cc24bf922926377665187a08815e3beb8c566e70f600b4cf4cf07ec2f81c657803a54771172881664057b859
-DIST firefox-118.0-es-MX.xpi 568539 BLAKE2B 4d7a6a96f0fcc65b78b9b7b7bcbf58cfc53f81f730dc154d7aa29db5823c5a00ccdee0064508e3fe4d5144004cddc35b3a9fced9185d47c7fe2173f433a905f0 SHA512 1eb3377aaa7840703d058fafc4683b95042e7f6527a050a9173770d728b6fce4bcc54b7c3d28151f8867b1d9c749586cf69e4b713a929904854558d8206eafd4
-DIST firefox-118.0-et.xpi 519008 BLAKE2B c934b9bdc6415788e6fbe211001d2ba07cbf96332ea0fdcb8d20b6ec6c0dc1d4698c74ca2ba59eb9eb0de78758e4f221351a4b4ef1f60dd4ce0d3458f103831d SHA512 57000dc1ceadcf521909abc7d6b5616c328f26d607bb47f76416ca98bab716cb1e85ee159089e1e2d92345b94b2304017417d9d37cd4f06812df1c346eb6a2dc
-DIST firefox-118.0-eu.xpi 559332 BLAKE2B 30ebb56dd768f8eac0478ad07979c289e458d89878ce6fb7e1a4b2ab352b967ede93b94427a28c050a38037e8c5813e2b5cb876eb7a3029e27a3a8c5f1401b77 SHA512 bbb18f36aa179dc2263792aabedc24ab47729284d9c159597e982cc0e8140eb90c8b235f29360ec481c51da5e94d8a06d1d52d8020088cf98d21bddddf25e05a
-DIST firefox-118.0-fa.xpi 569207 BLAKE2B 9f5fc22d1b0b44cd172162f95bfb6a22b2268aea0088238485ce20bd9f2801c1d0676a4ec88b91f43d751d614f9c14429186f607910e57cd38e895360a78d14e SHA512 c3177b1be472fa7aa71c6a959012e3eabb37d97bbda2898fea474d0c00d7e7996c523c99345682b41c15aae6cc9b66d7e0567676753d2c2b9ee85dadeb0d20d2
-DIST firefox-118.0-ff.xpi 457175 BLAKE2B d3b586bc8e4b9d0aceee5f75ab8b7fd08fbb2a768f12ea7fb9eaaea80d0f2e9f3da732896af752a4fc5ee5cd189c8b86f9c936e54812b2590d0f195ba13d7a33 SHA512 701e14947d2be2903b517a33681d84d5ec0496b9977e766f9aac7e91376d59d67c9b867001b30d121aade150dfac513d4254bbab3b70f6ea6d74d35f4ffef692
-DIST firefox-118.0-fi.xpi 560265 BLAKE2B d05790ff89d64307325727ef473c9c71c83cfb44f1834200e0b9b00632a74a9b8c6b1ecd3894b2fc0d066813d2aa245ab0fd404af67eadb3bc3198cdf882955b SHA512 978bad217754d2dd0fd7850cfe10ab45eb6ccf64a9650e9a218ec1602036d98470cb39bcf510a5bd01b38cf395b1cbaec7ca2f8421441356ea4cb1d80efd9973
-DIST firefox-118.0-fr.xpi 588802 BLAKE2B aee457ec27035c1ef820d8de931a0e2b3389227badf0752e0557880d7e87d59c967e910467e844613bc26360b3523de0796c38617c6ee1d82ebeb4341e42fdb0 SHA512 6e66cf10e28323faddb8fd74adc4c3dfb669cf37c456037be408adb61496f77c3679e848e148f1f70e68541ce6797c53bb2613200c52766f339e8c71c0cb558f
-DIST firefox-118.0-fur.xpi 582434 BLAKE2B 822da4d3f22fa27384e73cf3c4e8ec68b016994222f1356da3a03930c8ab792edd710626c31d76221d36193d4eab3143fb9070272b2628cc5f60cbc8ec6d415b SHA512 2fa23f253fa642153d0c46e5fb0cadf59a1132514c872ecf4fd474880967b213bee556f1c26d34329779a6e03cc7e7a55d594d689c59f75214fa4b49e257c2b5
-DIST firefox-118.0-fy-NL.xpi 573265 BLAKE2B f30bef69ce1aeb22126766dbb19b493c9248d079943477c94bfa2f1c71083ed7561c22e77fb6a6fac82d1c6eadd611fe7e1cdf511b863b9a44b67c91105b516e SHA512 8bbe83d2b55cf4ae1f29d7d9ac10cbb924d904655fa1a961f6275193dc1830fdfe626c4e6d35e56ccea6e92efa8a3ad3ef7b08fce52988b70f07cb4873a1fcc7
-DIST firefox-118.0-ga-IE.xpi 454899 BLAKE2B fce035e8632f66dac7d139e149293f10835346c9254d2f926b7ba19d434c0d84094838dad50186075794af24c8405d7ae8ac1f9aac28359c291abdf80063e446 SHA512 f6bfca0ac240ed3a58d23846d1a36825bbd517e781334566b9f345c5555bb20ada7cb36d0828f327c98731ff71bbd35c3015c3cc6a538e86fc0516f060a94d2c
-DIST firefox-118.0-gd.xpi 570197 BLAKE2B beb93e3dfd5bf1ce5b4496f29df315b1f1e0821d226ccadaddf95a6cf0541c8a31fe5f3de8e774c60e900654fe1752aced1521359451ef4c1d4dfc049886799f SHA512 2763e4b9fd42cbc991d724c2af1f8b94c09c49279459c16541fd39a8bfb191bb13c31e3fe2fd5dc7918208f17d77066f750881805661de0dad142ff6f65618ef
-DIST firefox-118.0-gl.xpi 569420 BLAKE2B f07a6f79749a94154b17ab20f5fd42bbeb4188b62262921422c88b2bc3fec09f91dd8e6fee82bd546758ba760ae29512574d6ba5c9a77d51723ed819b5fbad4e SHA512 6c167440661ad2aaff9bfaaf2a560a421fee7f8dee033a519508a58db836169f0d290617d3cd4f2b70652bdd2d7fab92bd08f486f9e2d4670d8ec7c3f82c25c2
-DIST firefox-118.0-gn.xpi 586934 BLAKE2B a1bf44449b65e9b0b5e415ee3f9f76cf6c4db007eb089ebc3c05f4c208907cb4fc10babeecf8fa25bb637dc8719730705431705d12032bc5a0f5e0a598c5b92c SHA512 598b8adbaaf5e360728663f72b31b57cb81f276a911ae8ad2365725f182139ef8742bd2500252f50f477f34ab285f071836ed908cae96724d8da1694b8a55094
-DIST firefox-118.0-gu-IN.xpi 507513 BLAKE2B bbdb197c8f55faec83bc250106953df6d5384cddbbeba8a1f1c231e956db31d52c47237329b53e6ae43516497d55bb95cfb4ed455e50c9e87fbe1b0e35e32a2f SHA512 5f081a6350bfc199ba43b5c0227e5f91e5b87eb928d2a60910d22d65905bc3cd5caa01f07d940bed25ba39f1bae9241e78ac82b29beb1f3273ce4656c4d4f577
-DIST firefox-118.0-he.xpi 583015 BLAKE2B 65121427823e31977125d66437ca6ced959bd4fbba05ada7ac18c0db7ce56668562d185cc58d479515479d99cdaef167a70594d3f8482060f510c2d0410ef94e SHA512 ae2cc19cc3a28ade466538ed0bbb87f27e4fb7c3712c59894ada313222081d43e852eddab9830f16dc2099fa4a39de56c16611ecb069f0bf999792c66e39621c
-DIST firefox-118.0-hi-IN.xpi 545210 BLAKE2B e86c7164eeab69777b5587d343fc9f6374ec483af98f6e6c043cbafec2204a8cf71cf047fdcc7f55f65b55842e3a2cdb56445212268de76603660c75e6011965 SHA512 c346827c5eb9b81ef85f2ad6f4b41870e1d500d5ca0bce4c217398664870b3a43e5a79bed550d89d3eee5619e66c09c44e0971a5d6bc785887f398300644f242
-DIST firefox-118.0-hr.xpi 536179 BLAKE2B 6b64287c68d0d1750e1b72ef3b15c0851846818972c0e2302e7ec7fc0c97e1ec15d24971b3b91bdcffc331d3d1550902f5199e3988c37a5db2c19bfac163e39e SHA512 6fbf876fdc8f337de3714eae3b2b7329ce2a7e93bb97aa597900992ba17bbdbe84e5098f672700dbf109946f9c469023df7b66119d84a57b23b377db1ada142f
-DIST firefox-118.0-hsb.xpi 594444 BLAKE2B 9fe2d3cac76babfd1753763e53afa9b5747f7ea8d595901f8814802be46b3145ec17bf3edc39c4302463020adb1a07f384931eb13ce57f2fa85a54cb3d4436fb SHA512 a55d970d747dc166b27c85ea663899779c908f8fc73486737e0e8eae41a76daa8df7a0389ee2f9ebd09f76de346120198aa3fccb569f6bbdae2e2ead20b1eb08
-DIST firefox-118.0-hu.xpi 598444 BLAKE2B 3327654cff44538bdb6ced3294134d5ae87f5898b92196aafac549fcdb95ca11ecd5675b31cd57e3b7a0f614539f881ef3541cbe5756fa1fab59070a803db25c SHA512 e1bcf26fc70250536ff74465eef51bd4e5e2883532ad1f0aed9a4f308bd281ac80a6e3228bade9dd0d426beb2425d0a92b216ceed7ddf13d88335ead1a4c543d
-DIST firefox-118.0-hy-AM.xpi 584474 BLAKE2B dc98818297015e3536da76e5665bbfabd41ad0eca359b0c75801945f34c61365be34cd2915d4891667e94b34aec29ae3cb41114de516dc8383413f3fbe7dad03 SHA512 8b2d1060df3d7f951994c20fc16bd1b11f402cee3ec1ac5cc38bf93000f07a92b7cad260d3aef678edd339801f29a01651223e11ead1c4887689f63d8bc65649
-DIST firefox-118.0-ia.xpi 561642 BLAKE2B 6ee8a5ef57a71f47949877defd8fb4dbbab6dddd81df5ff3a0d3a7bca362c9a6f940070bfaed7a2295d1bcf01ddab18a486cd8f265a8613e0ed555c5cbc2dd92 SHA512 b1d8b815887b350e2de37b8676a67054da4433b5fba6cd93674f6f740f405247604ecc21eba906ee9d0f6fe0a0d59522c6f0527b960288dff8316e2bc066d49b
-DIST firefox-118.0-id.xpi 542968 BLAKE2B a5f042c65b00ab1d7067750bb40d644585177a0092bb4bceee316ae3ed6d05cad9ab6430ddab2ae4708172be322aba4e9936659c1d3ce8e6cde289bdd4e860b4 SHA512 d1c5b822c4d17fd9c02a4defac69d89b1e236a58fe481bee78b0673322b7d7dbfcf690a29d17152ed7c744aa29b1ac0d01790ea00d1b827e327120592310851e
-DIST firefox-118.0-is.xpi 569562 BLAKE2B 24476122c8ae497d7432615510853c2bbe659cdd5cf3f10412dbc04463bdae01a0a799d4e5a179c1e68aa603dc238a106728e12bb6f9327d10015326f27830b4 SHA512 c5a01e0291c0f72b6dd7695414daa1dc80fd86503d2b167cdfea0f583274508d751e9a5f52a9165c47760f877c233b5db33ac69629249f3ecf3d2442458ffe14
-DIST firefox-118.0-it.xpi 515955 BLAKE2B f97a6733402884b35d002cf6204a5d407956bf0dfd5c5ea4ae3380ad53dc5b3d008fd077c16b9ec9937a5a70c4d13cd6d7fc29365b355d985408a0b8ebda443c SHA512 3c4ff60db19da278d0010d1e77818462641fa0c21e16e728276adaac191f17de070353cbf8c59ba4ce019d5f30e3da10a819508d37fb0e20ee2f81493017e9b1
-DIST firefox-118.0-ja.xpi 625825 BLAKE2B ed86fc60b55a157edc1075a9bddf4f06415bf37c79e525d2d36b168de1776b21dae93594c353d3a8443974843072569c36d88057795839f362d513a3bb7976cc SHA512 ab14d606fa684007c9677a9118aaf5086eceac66385772dce025d886e954cd5b765c6aac4f57dfed6d2342a54ceec32f98fb45b2f9481ae63ee57e5a451b8835
-DIST firefox-118.0-ka.xpi 623571 BLAKE2B b21a3e242d1b1b3be4d618e6f125d37af5dc0d2ffa07f8aff90b2123a8150fe7574cf178565575edfba274d9a9fecba570fbdaa30d47d31cbba9e266a824004b SHA512 af53e56003a738f618c999b4d6555c16273429814f7294f8e3e61a864690f24576cf9cd8cac26c330207072fd5beb432409c719c90f053b4ddbb37932d9dbcea
-DIST firefox-118.0-kab.xpi 571648 BLAKE2B 7741aae7922183f077fdf4d79dddc7e6f6e8a598d22ceec2dfc59f19aa63b204d015a8bba5c96186553287e1b0797c97f142b46f3406bbbf09d03afbd16fdc32 SHA512 31f6efd2cb15a2dcfcc75be4396fee01b570b263e0fc6ce3d7952e77ee510cdd0894a6c82ebeb224f52a1f8ca4e29d9bfb857486f5006d3cc2ce6f92afb467c2
-DIST firefox-118.0-kk.xpi 649059 BLAKE2B 859ecba8f2b871626ba2b91e716bac4bc01251e3172b073fc341a5087005de3679a5464109e51c9c94af4fe9216ab05a5679c4154f20ba560ae1a22441c0962d SHA512 66daff50757aa518648f8f7aa1fe55efa8b8d43e9a9538c8fa1563dcd42ffe3e92f3c6264078e2098ac4afd92890fa8a21d117d604ea73499b46458be0b65e12
-DIST firefox-118.0-km.xpi 508309 BLAKE2B 128c88c523d5ad328d109506fd540d2aed34c49180315c259d7fdf97704be6e429b9b5c4b457d1e892da304c2ad83f8e217d3fd772b5dbe97a3cde5ae8998702 SHA512 0f917fa495ee3e0942ed8eb07b75907fef68afaf97a0f6203f3e31b221b5e8df3b1bf3dbcebf9694cd329e896bf05b23a171cf74aedb906bfb72be5b30e061ef
-DIST firefox-118.0-kn.xpi 473780 BLAKE2B 20556ee0025ef4b1376ae3858ebd4dc5d04c928caa0c4ac07f33da7ce5bba64a67631c0fc122b0b0c64993b7def20b71d9f36b3a7bd19997706baff94865accb SHA512 c17ddcb31487c6ee89ce1c71ce331af402428cc97b83ca2153a580cf8b9b305d1d804df3ad1df3ab3b9985d8bd431b70612822fc5ae37cc8b482872a238f28ec
-DIST firefox-118.0-ko.xpi 609088 BLAKE2B 9400d3f70fff6d7b6ebd846d473a5f4167ab6546e013e9cc82886db6a97d9b1f339a34e0e4e2fefb1947cac0c85bb959f2af1d9763cda21687c7901ac0e40fd6 SHA512 5a2db85bf39fceeed602abb6ecf4f5b221238cd5515233b8d44fcc68dc7aa14b509e3e683226861805d048c491dcdefdec15b37090e9b7924fcd3256d5edf0bc
-DIST firefox-118.0-lij.xpi 465495 BLAKE2B d817d4b151305b42a650929be3c96f3566c6f79aba26b165324fe8b19777679b3b3343708a8b2660bc17f04f69b9adc35751c6d78bd49ed512208e2ce1dc353e SHA512 ce54f9816f9c97a34a28ad6ea33f03b6e86988d9174ef1bfabc6a78bc772ada8cf4bf415e84c324bff2b78589c0b2ef34d7689c12e93fd7d1e2ca169df8e69ef
-DIST firefox-118.0-lt.xpi 551348 BLAKE2B 297eeb115254cc1d155b8a6bea2619f3b795553dd5ad768c5dcf2b0907b0262dd101dc6da583b3e2b6cf3d31b56f1d62561f95a2f96633af62604e9936dda821 SHA512 4f5d7c59a74fd2388028593651c86d916f4886355723db8bb6a1ee2b2417aadda7ea910870672dc45744c22cc3fa04c9d6097020b04230ea1cace1f58211d071
-DIST firefox-118.0-lv.xpi 451456 BLAKE2B 7a54edf062efe0156660041d40120dc730d8d715892fab7eb4ed21fffde3fdb6a936c26a9d54a334abbb0e84e71cecdd307de86c943151d877a0227e34bcab4d SHA512 429e6591695df2f7d448fc82f1c2b7542baa1f451ac3b238db2fbddc2136777ff677fed6c63523cee4f2f18bc137ffcc571b225b8e9637bd6e38c74f2eb1c083
-DIST firefox-118.0-mk.xpi 476566 BLAKE2B 962ef56385ec259f32ed32d61e8afb2f50be558f44ccca7c16b0bb6f13d19306742bdd7e8720c304c5d03fac323c4253d581850d5ae368c009928d85b53daa16 SHA512 af297607048d3c3dcd89b5db8f31233dd0b429d182de8c0b83729abbde9b06c84e657435d52bdb65524026c5f473f9ba378bc6cfabb4e300b49638b8d5b6b7e5
-DIST firefox-118.0-mr.xpi 512902 BLAKE2B 1070376815a72e8acbf4803a12076a6ff66d7d32f734bc866981c56929acdc5c9ae485e7c261fa9a3c58d570cf511519259e87daf275b99d0e852416c4a07c89 SHA512 52f9c32717f2e9f27799fdf149a4bc9b08acea4c9c3cf4d0b340ed882068a718b57acddeb7a6a5cfd74e96e4243de1ae727597c825c24bdbf8cc623261373dbd
-DIST firefox-118.0-ms.xpi 431284 BLAKE2B 7ed35b6d462bbc531799853ff6087aed514c55fc6260f0dc6b6b6e0e381df3d312e7e898e4a68a1a1f04171443c036e03912ff0665ae8922d25c3c1397e9b961 SHA512 c69b07fe08f502acc3bc0b34632646bfa3aae298a183ef11f0f56889f17bad5cfa43e9e7f9f362bfeee97b2fa76bc6345ece9da5c04fb734ac1d10843a698cc9
-DIST firefox-118.0-my.xpi 494968 BLAKE2B d580f46ae09ac56b6134e04476faa952bf6aa32c7699136e8a71b7c2fb9a0c95fb32886a5c5f47296cea337d20e11331d8b37f8d0f06ee879dc0d9f047b8ff88 SHA512 c4a930a9e237238d06269013fbe62aa4d12db9fc0d591bfab0cbdfa12142460dc471adb5b8b57cefa52919fd87f3b876266ab2a6f4139fa0a5934db7008adea4
-DIST firefox-118.0-nb-NO.xpi 556715 BLAKE2B 17d90149509dc9d07af69b9cc677b07e64ca49e422e2e69dedb3b3e310cf88754686b50782d1a56bd9361c86ef5dc527e35e85957f98fb1d560e92895f2d35b8 SHA512 e3ccc12ed2bcfb9955b871da3c671bd4bd92f0890a15c9ef0d4fd49f48c4135cfde4c2f57f3a52531d4597d42de62e736e78de3c8d16ce300f514db0c5e04815
-DIST firefox-118.0-ne-NP.xpi 469851 BLAKE2B af04c3195caa375f359a712397355514e292ee4e57d6c8f5f052630c66c83dd681a834a54dca7a68a71d026555e3629c2af139bba18e041e1d8b2a6d1d4d936b SHA512 7441f3c8cdea5c8ae6a73d1d9170e98cadd92c887d56b38957398d909b5a9df5163de6172ae67d12aaab0554f92151253c540014d421239a2e67d9229bb43019
-DIST firefox-118.0-nl.xpi 567477 BLAKE2B 1036e25098dd4490b649ce21a6ab01dd5605dec62a7fcc0f45d417f2046668721d0b5ecde3d0152e6ee24fdd1b4ae1d3cd150a08f661ea5bb96cbc5840b6980d SHA512 abafe8903a2841e30cdfb00a490430c7eeed97cd703376c6ba0f60b2496b3b12c2030cb5f82285ca1d670a81ac718be2d1116e7b98af8fa4ca5885bd5c43a7f6
-DIST firefox-118.0-nn-NO.xpi 561327 BLAKE2B cd2e51f20c5e2bb1f5b4c0a2b87f40217b9f8cb9e1e27b60e829ffe1f6e5fb81fa150d21f640c28300646a1c603ff278f1bef2c097267ae48bc205a860ab9ba7 SHA512 5947d9808ee635f81c544b28174a99d45598f3d5fa9ff4a8d73d9b3bd81bdd9801ec7bfcd716c0a4c3cafe8bebfe1f9d2aab7140d21ef8b2e935411345983e08
-DIST firefox-118.0-oc.xpi 577637 BLAKE2B ba6397c27ffb5313ce348b77f77261913ddb46f64c797f129b216f998c1a855a50663f7348d77aa4afa0856fc932b0cf07622a5e0c44b9abd95f43a054ca15a6 SHA512 61ea3ce818e06fc0533617f985a5fdb8f9a5ae100886ae2da87e209aa48df11461c3ace8bb75ed90605f83ada8ca352f94ea0936f666775fa930eef811cbd5a3
-DIST firefox-118.0-pa-IN.xpi 637560 BLAKE2B 90806a4385f96352980d935b24b5266e77342c4dc6bc6f83a1e76561450ee5e3e524b504e6e12b7644a3ffaaab3b77010bcb4386b951663bbe0f3d71e84cc959 SHA512 b04ccdd22a0edd8d4fd34ad1d6dfc953365a9227742219b933ffd2d94c1b2c3ec6c296770dd9dbd0f9eb0397e0cd0e12423da53a84956d77832ac77d50e6275e
-DIST firefox-118.0-pl.xpi 587893 BLAKE2B 47e769a6be192f9a689a4d931c57313f9fc9938b94901a44272ed071e58a222f0c7788115e7ae76d5a2f5a588143988cb017b03099f9d7f8e716b632ffb94d72 SHA512 0d828a2f27e01742cf9a24cdfc5b54c538796d581337f644c672d9251d827099a1b6dcc2a033032acce483b3d9982a5f4d8d227d37ab533d6fe6ea6e5203bda2
-DIST firefox-118.0-pt-BR.xpi 572251 BLAKE2B 16099ecc495bec370565ae0d51c5bdbc5323a57f0fb6ef803a85843a929620398b935bfb7ba8408d9f5c4b42508ef707a9aa09ceee081c705317dc1c75ff8789 SHA512 7a3194ddb9ff0b5a464861ed9726c6ac700ee89a51e9ca1c05ba72070138704bee33de88e4da0ed161cb95ae2ee90cbf1e1e2befa3fca79cafede92d5d0dcd4e
-DIST firefox-118.0-pt-PT.xpi 575073 BLAKE2B 621a70e1f6fcaa64525b3d760b43aa64994aee09f6f0bdbaa6b0a6abe46b8bb3ed345e9ec7fd94d12efcb449afc31924c06f4e5d47827eaafc19d34c2a27e048 SHA512 2fd440ae0c5b2600040717416dd9d0810dc0a59f82e0cba7ccf2fb22443f1814844e9def117ca8d2025b4f423849232bcc23f9c30d56f9deaab6a7bd19830a96
-DIST firefox-118.0-rm.xpi 567681 BLAKE2B f869cb9724f75bfc9a54116010e87b44f3380eb12142facf3ab39f4c8ad87c3e5a663ac69c52e8c8db4bbf3e9796c174a35ac2346c60d021021869a26b1065e6 SHA512 2843ac1b9deb9a8400e27ab19a3cf138d857888dc41908119851a2c1745fbe12dd86b91cfed25b2e07c57f2de4d9af8decd163edfd2cdebf9b283a2d11d34b05
-DIST firefox-118.0-ro.xpi 527803 BLAKE2B 6abe1fadf0b28d479f75870d86ebbe751f1ba0456313643d74d5d9ac5373fb08b722237803e53bbe33a39d961e65abd842e54baceff0c98b1786a00dc181ec08 SHA512 6fcb4d8079544714dfa948ed6c19996698884811ce070cbb396392b28f90300f2a48d073eb28afbeba8841ccf5b56972d28c29bb733ccb1a65125572921f66e4
-DIST firefox-118.0-ru.xpi 662272 BLAKE2B b19095b7d0a526925ec5f8e1d7d4730dba54663e20b39aacb5c464c02fdb7902e4f60e046860ad90350344f12bd7b0e9c17607a1ccc8c963a768a987d9842d10 SHA512 6c69d9b0520c79d458e576663107a781fb1d0afeaca5cf86a9da6c8891e0a574d3a4186f82866085b8f77ab0e2d7c74ec1a4b3b174cf5c0c46a58470c216928d
-DIST firefox-118.0-sc.xpi 543781 BLAKE2B 3e75296b7bc6cc78f28f32c951215b63d59c54bc2792cf2df194819c18f3c474af99838b83b31d8bd27cb3b791f64099eefd189c015e3a569ea105bd5b2be1ad SHA512 3a40f26e0bfe6dafba8cb3b11b634cea7416e8554ecd128119049abef93d2892c4151374c93bb92b0dd83dbb670992064171f79cf716eb54a39022aa0a2d133a
-DIST firefox-118.0-sco.xpi 491897 BLAKE2B fb3b2b07a3f869526713b82fc932a81f45b5efbaff2fec541e11699a859631464a7ba42d0dbd0d701fd45b8d8a5f8c064d18620370901e55d93ff5321d9cb229 SHA512 4cbe26aaad43b219f04e93e3721ec8ef2e86e8402fc7429fd51f50776127d7489d67b3ea81956d9f514427fdc05f44d0e4541b5b8ef67b8a8a4f016d19b4242f
-DIST firefox-118.0-si.xpi 580408 BLAKE2B 51f6253c8304321528b8f77eaae9d467ce94427fb4c581d17c8676cc227354d39cba077c932e22cea9fe204e0e1a221884582e991a56c39acde825d1eca62faa SHA512 847f58bd85b28a7f82a613d8177eebb145ee1a5266d281a10ee8c4827a9bf08b61abd70228242731f0a650e27d8dcfd4991399baaba225ab37adc53b4bd3fe92
-DIST firefox-118.0-sk.xpi 599039 BLAKE2B 8b01b1457bda999a0586aae0d8a06bdfa48f4c20ef11512123d4b76086bb7c0d7df98a12d7153f3fc5c01351a8a68b772268d7d234be3ccd8272741d5a0e0c7b SHA512 250f80eeadbb5531cecf77e34e7280b4cf6dd45e7e8f09b42f8532e6e1ce0b94d5f55f3449f75f35e9d6c03cb45ceb8cfb6a464693db4475d2ea46a2a7295cfb
-DIST firefox-118.0-sl.xpi 569545 BLAKE2B 8e33fdee452810344d56347ea19f7992c57e98bd78a9d3bbd2adfa2c1a98a0dfe4eb1f8be542226e760a741eb89d9bdedebadd1446badacbad6dac224b9ebe19 SHA512 f2131ddda7b53246624e6de3ed1ae3c73db42c814bd14881d643484b2861d3ddc6a89a5f5606d1c65126c30174d4e28a084f4d4120c02373e89c3a44e1e2dab6
-DIST firefox-118.0-son.xpi 400845 BLAKE2B 52a0a6a6b64b87b58054cfe4d23a4083552bb74a2138ce7ab578ce2c03264226135ba23e69d3dc75217ebf657bb6a3838d172c3a931b24d9e95a864d1c0970df SHA512 c70be874e3c9bfca778ebbe956bef5057fd66ee04f1ac2b5654f29ba9b172a367bf1b2e7dd706e4bf96136135ebeb472a1013a60b3782f6208e0cd718586f1f6
-DIST firefox-118.0-sq.xpi 567475 BLAKE2B 18c3690056cbb92242bd78a4c9f6fb26aab5c009d204f920b45e19fc51b2dfcbc9a691de45170a67b929306ff3733d1a102e2f8f107469b8e03fa9aa8353e9e5 SHA512 c0b0783892ce281eb0bb6608b22d4f94a4b86b52dc6c0375a59df72a9f986c9a977b85eac81a4a241637a970e185e1b80bad0b805d70ed819725f5b67b1768af
-DIST firefox-118.0-sr.xpi 617281 BLAKE2B 0ca881be68499ccc511cb19927b5664332803072c65144824ce1c006564162294b70c6df26416287802ca4d4bcfa3d64765a22cf4aa0b9602e57cf04d176f22c SHA512 821546ef4962a82e2d4a91c23ba0fbde7c739c9c30d71287049c0086ab9f8b9d0040f0706698fe53007e0207d83c3fa9163dc7c293b6c59c49286ed44cbc21ce
-DIST firefox-118.0-sv-SE.xpi 569307 BLAKE2B aab0cab473dcc873f64096cf1a40a11e3498f08ce27f2aacff1d753359187789813ea17933a6fa4979f9516027f7d5c7f5c6c32f11f49245248763fb9c10148c SHA512 635b1b36306859aab889599d4eb1dd6a5ce52aa2ffd15f9e545ed1739e01bcc168df52bc40470efaad8920c8e5e7a66bdf44f7398f6c2c8e7f8f480bbc443e79
-DIST firefox-118.0-szl.xpi 506756 BLAKE2B f724448f194b02595657d452c20996a9252b4ea6b3282d9ff3e985c4e53a57b2d9f64d4507f42a39d55464465689c975175e4b5d760142afc9e4cdd5294a8452 SHA512 cdbe2435d392d574581bcea588d4435ad72506ce461714bd0235291b136d8f227cc14b19d17e52055f7aa49932cde365ed1b2b83ae2fab2ae40aeb4d2562267e
-DIST firefox-118.0-ta.xpi 489456 BLAKE2B a278e3b39cc4a980c95a4579946da56f0b7f56817bfe4362f2b0905cce248762f6a2c0ef28897ecb1b1583f14e4c12ee7c20614e07bc60ebb3b85c164b980ed2 SHA512 74388ce18c0feabf70c5c84eba70d96ec6c9ba4b79b3d40c06bb66ca05f4d73dd4e83d451302353082b5bbfa64cbd0ca03963f6ed33073579d02f3bef339bd0b
-DIST firefox-118.0-te.xpi 537896 BLAKE2B bfd22565a3ef793cdffe17cb6e486c3acdd33450079463fd0945eb121d4c50f6b7132730b618cb7db6ce5e0799af538b2fe6dd7a3724ee5573a3200507e6cc09 SHA512 ea8040ae7368b72cf8b663081712e76944ab7cf578ad45579a5bda1f3d469efbfd837011b0cf46cab00795803b9892828d29f2d5102244117b9260b6fba3c122
-DIST firefox-118.0-th.xpi 638984 BLAKE2B f34b0ac20cef933c9b3085a0babb9095780500566ab7759fc89465a7f43a0cffa198f094ccbeb59c65c444daea0ee94c5867d5ea3a7e5e52e95552b89a87ac5a SHA512 47f79250c57a956f9f3491d1cc5cb98b01a21f35b4d0e2ed7793efdeb3f0aa78a0821386d31065b1b44f40ec054750b8ed60ac6da7aafcf5c4e935f43c02bc94
-DIST firefox-118.0-tl.xpi 514348 BLAKE2B b8178cba9adaf72e3c10d11e5d1b5a33267c377f16fb880319ad729e25792e585eaefcec5052663fecf98f4a6d7ade3b66c91088372dbf7f8a543216bac00d3c SHA512 08eb5470c054bf0604f0d44c5b5b17543b1581badbfc015506c1973f8a9a62dc4e589e0660300cfbf3e5741c71d9d5c390388e5abb88e89857efc4603694b892
-DIST firefox-118.0-tr.xpi 580795 BLAKE2B 5466d92fae70ac80c009c47f9e7d8f7fb7e90f151eb27a57ace307e1aa7784aca9f6b1d76ea1fd27a65cbee70d1dee53543b9be2f9ea76a0e4ea16de26d57f02 SHA512 373de9e7725950dbcd20396409ef8c6a5e266286db84dfe594cc7b63f5426983e983d07f6df1d39f0c236aad9f1ba07dc45f68407563d42a429d52203ad708de
-DIST firefox-118.0-trs.xpi 485847 BLAKE2B 9d812b1d7cb27723ae023b68ac5b58a078c7a7aee3ade550879bea834d0fb5ab537ff25093c0d9cd7d12e6b1c9ae086849253f42b5cce1e1f6c5271ec6224031 SHA512 40d5562202aa83c4325df84dc7d6ae4960dcb6ad070ac86abcfefd0df95efbcfd4db47769a1a85efd2b50639b54116e14c424f65039b048745ec447443f66190
-DIST firefox-118.0-uk.xpi 655402 BLAKE2B 0d0d01f39257abda6ca676a6ac502c54278e78b925b590fb11ea83baf90a9926155f901f388d03b9236cf64227ea240364aebeeba6403d96b1d5383875312291 SHA512 657c7e73b10b83aefb0352d0281db8da41936186d5cd307dc431d2220d8f01d73b2515ceb25fa3ea7c30b1b9cf5264a7b74939dc0a9bceead5d7346e2823b37a
-DIST firefox-118.0-ur.xpi 541042 BLAKE2B ba4a5b94589b3a857a53606acda24fbd730a246a1c1fe8caaeaad5104eea557f7b95ce9690f2e625b772283489371628a74bfe2c25857dcdf6897074e968a4a4 SHA512 965b5f84d320a65f48e42c8218a41970ee589fe7f457185a4c6f572d8b74c44db40c1a84caaf2749c735bad5acbe9b6b4357639b073bb608dedc1727213223bb
-DIST firefox-118.0-uz.xpi 462474 BLAKE2B 93d6f466feb43657bfdf7b4533a1c009b1b7f26d7df936247ce1b7a7ea3b99e71151c92e34f943589c81f3116e036b2cea9a2c520ed1832a762b583e41726877 SHA512 2867ae13f7943e84badcda014d60db5cff7db7b02c08d2fdf4fec4fdf251a1128d226c6ced867b900f29117dcf6c4809bc57624a62f968144308145a1ea90e31
-DIST firefox-118.0-vi.xpi 605281 BLAKE2B 51865b9d8dd8f1a5f8200f754df8ad6ee2207f858606c8d5f5e18a063dceadc0331f4b4506438a17bf7a57de5b290ef401ba128cc9cdc43629cb81ecb7d42e3b SHA512 095f8851750a7f804f81ac7cfb83e1a4a483251b2140340e58ad961e5f7fd3758e3d8dc6df4273470a1064c7c034e087c3e4f39546c9c35f248982e036ce8597
-DIST firefox-118.0-xh.xpi 401464 BLAKE2B a2423f2509edd33aefebe4e9523c0463d51745035419fb59e8595845574903e4969ec6d341eb5c4bb95194eef210682fb1faa140f301ee33750388af95367e24 SHA512 d40d0c276ef89330c41634619b9e5b0233be6090a3277de91c06f2647280637ecd405f028ae1d4349db5ed9726d4f9f1a62e81d51d807c00e186e426e1d022d3
-DIST firefox-118.0-zh-CN.xpi 604604 BLAKE2B 63bee140785e0d04c6fc4bb798c50267a5ef1987c2b7188a570d61cf3e3236cdd8badfe473822d63602df849264751dbf4de116fb7046419a5f378667b0d0bc7 SHA512 7ad987778bb5b514dda69370744a1e5b9f212238be9503444ed13ee177545742da0d6ee2db06b05ef40b991474a3995ee6aec4d4130c3ae87af91ff8d080cd07
-DIST firefox-118.0-zh-TW.xpi 606636 BLAKE2B b976d18ba6dac7f48dcf8e904e0bdfc670ace60c0f0375114a5f9b4d095e51514ee4975f48afb0f5a22065200d499150a4ccf264d61b611e1a1db2d6816e7bc3 SHA512 b028cb6cbf8b5dd7bcc3fda78356363e6abcae9cc2f5d81c0c7d7b24b52d2c9a179c069915f2c1125773fa88c8e008e758426345dbed18a2d8d0b8ba15a3e9b9
DIST firefox-118.0.1-ach.xpi 446026 BLAKE2B e5c801bee7f8ebd92c5de87217fb46cd7e3b7ccf08d2ff25537ba80cef8e5c940a3eec173f3ce46181fe68aef783751a68e9236b556818dcbada34b7d1bb29e1 SHA512 cd3c9010a75cacd7afb2f3d9626798d935a88c1f9460130325ca76fecc04094e335762e8f55c4fb9fd98c09f6fd947b7d8b58ccde23fe0f06d5ae59a40628f0f
DIST firefox-118.0.1-af.xpi 401795 BLAKE2B ad6a6815cb2f544a14d9125d9d89dbd745b679ccd89ef75c8bdc77fdf55ebc1f7c14422c92ae07a6a59a166f89afdf3ed024603c4ce9edce80c95f685ed6d3f3 SHA512 9187bf995aecdaeaa11c423ca60514fdd5f8d90fc8e93f1ee28897dcac057914801083a6b2c90634842c66d8ae80b87d6ec8989ce8cf666b4b64fe3b919b1a18
DIST firefox-118.0.1-an.xpi 485437 BLAKE2B 8da6d2893750e7e2e1e718fb8e6e559725f97ad8f3aca44bbc658573f89f5d21460b62176f9423ca0c81358863a2804ac653ebf49596c3ec84c3bf8f0ca16b6b SHA512 b61baa59dcf51c0627b0630680ed440734d69824f87236e7806c461dda6c891d6fcae6b791366bc9a55050e1a8aaad258f1df22eeaec0c6d72a96bd82651ea04
@@ -709,12 +310,7 @@ DIST firefox-118.0.1-xh.xpi 401467 BLAKE2B dc957bd62cc2994b95fd36d6bbafa1a72362d
DIST firefox-118.0.1-zh-CN.xpi 604599 BLAKE2B 2d3b7020945bbd8d18152741f6f69446b70cd468a8608d6dea6b07d148b3b7d83ecbd99457e17c432a117b53ec0297dfc760cba0f06b6d03b83e9c0891482f99 SHA512 2c85bac1ead436e651c73b9db589ff0dbaa22331cea6ee641344f2caebd918deee45e5833641765a413f84ee62430679fc68fee534fb21d5d9a15b5185374b44
DIST firefox-118.0.1-zh-TW.xpi 606658 BLAKE2B 368842ec50e390cfcbce8eeca4dbd28c43eecb1176d3d530cde6f82fd0cdb670052f7d421517dc90ce9f8c8e07e0c7e9271305e467260a7e1f36d84861d4cb76 SHA512 fb2b55c11a1d028a85f83b79334f99169431a2890dd434a07b386b967fe8c54f1affd9c9078c3b75f61950ef55371dbb94e0bc67467fdea51c0a36bee864ab33
DIST firefox-118.0.1.source.tar.xz 516965884 BLAKE2B eef2b6f4d4f090535a8f74fa5ae3774288aa82142b8bb70c7ca913222a941ac9b7f8d9e6b6739a2ce67dff6f1bec0a9a21d11d015e3437013badf82335206b58 SHA512 b1efa1afea70434dc2a18d335bb8b526883cde200f1503b8c5fd2e7db8285e6a999cfa3aac354ea1c15a91d13a46d68db37023235314240b59eb8f55e01554ad
-DIST firefox-118.0.source.tar.xz 518635224 BLAKE2B b31aa245687fe3c33152675ec5c4b8368ae810fbb8830535343029ed87683e2321afa8fdd473a41442475164312847874af09ccb704d9b1404cd033d0a8af0ec SHA512 7c34c43930bda84d17a241fe7e0f8e6ca262410423ae7e7cc8444224aea2d25a52acc9079064ba57f3350e3573eb23aeaf7a2d98136d17e6fa89a61aaf57155d
-EBUILD firefox-102.15.1.ebuild 37115 BLAKE2B 4faa604c32aa8afdd09901b8df1b0e2ead85b23d2549ec29ae6afa87d82fcd358ad55c9a3553548ea4b74666e8e7842d6820971860acf91df2b7db9c64a600aa SHA512 dc290bc6527bd082cb3810ceb5d438db0f3a42cd267c8505ec72b3db1a5f6e501b1080224290367cdd37f5bd1ae6c342126db69cc66286732ad4deffe4b15359
EBUILD firefox-115.2.1.ebuild 40747 BLAKE2B fb55f9218eff4bc2d73244d1feac5e639c4e667d666853f788b32a4554cd57d776a2c077db6121652ff5a737bbd92f83fa0aeebeb0acf8176d8c4f4e716a8d59 SHA512 b4bba9b153652d988b24bd8fef9a479d49df95f7e6f9aa9eea993a26cc918eb3c5eb4b683fa76d3c82c4a10d24b3e8b060dc76cc32cdfb5e01af7cdb1566fd21
-EBUILD firefox-115.3.0.ebuild 39084 BLAKE2B 7b38a25479e66305c0756bc4097be266b8395c488851548349c114c9393b2797185c48ccd753e58989052ad1bc12405035a85ba32b732df45f3d5dcaab28c418 SHA512 3b09b7b32bb094064ef2547b0fe0d89f64fd8e91cc9707b7fa2bac4fc7db6ec5053f3fc9954ea096b7704d3010d4f79f0c6a4ff0e16751fe3096632da22c3dd4
-EBUILD firefox-115.3.1.ebuild 39077 BLAKE2B 2ee7ae602b3e8ba246dff87dbee0affffbb3f4224b2cf69be127e99c7fe01451128000a34adf6a57e3a3588536c10e32bea4ce939d09f8a8ec4f69d8dd124c13 SHA512 6828e8347810b2774a637d07167982f285b5fb0f6f4e19caf68ed4a0f8175517f40e6e17415228c8131db63f0e94f2a9dd154d916965b0ade2312a6e190b4831
-EBUILD firefox-117.0.1.ebuild 43979 BLAKE2B 1192233496b2611ca6972b1cf65846b73fef5df7c90f6dba74ac4d10c668af5e80e09b8aa0188875ba3f7830765957076760993589dc970479305c599d0aa4f0 SHA512 408087909b79d644185de61f220949585909699662d5c44834b0544806153596335987dac008a632bc451325828c98343aa406d626a221aa6d1ed3cd181d056b
+EBUILD firefox-115.3.1.ebuild 39076 BLAKE2B 673a90197a1629302b8b0075a115bc1f0a8e5df6e371c9e35b58f1ac20c78d11fb5ae771b1ce7657ad5334ca89f9870caff66005e0a1ed585a10876bcecee5e2 SHA512 61a249a731e8fd9e569743a1a9023dae85695cee375d1c2c90c94bc8ae46fe7545f9aaee136055efc49f16e6222f654a2dc3edda7f92c7c4d6133764a6176401
EBUILD firefox-118.0.1.ebuild 41596 BLAKE2B a63133af5b5d777dcbbcca726f579d1db23e78bd02d8389acc14f72c78a5bb6ba11395f84b7a2d4d413969d37c2ff1c0a2c41a2f01a744806f04ae253cf4008a SHA512 6dc8a3ed44042314209bfbdd225b52a9a85b84f13a62b456a1cb7e2b03b79d22d4bbce79a1ce5c7de94ce9e3fa411b6266cc5c334c07639f627f211a23f2a81b
-EBUILD firefox-118.0.ebuild 41603 BLAKE2B 998cbfd94a5cccb8b03e74d4982da1b4afdf82abd4cfb6c0e0a6cd2cb115daddf2dae74d0653922c650af10a5442636231d638d1d622c0ac77c580afc87781f9 SHA512 b18734441f704b647106227c3abbe4ce8112ba6d1f8b70530b7a69d2554ccae029037b6c0b229359d5d9e56542e9b976821fcd28fcd6f4ae2f02cfd9390ddad2
MISC metadata.xml 2658 BLAKE2B 4e52ee338d13627658328468081959897f9ffba3d0729a03975f756ed95e2649e21a40de4933c0a2bdd9c1d4dc6cea973f503a3d448f49f73ec3eafb933f6845 SHA512 1062c2e2a49757a8e3b027db5d425113ce6e7bdba630786109caedbb3717c7600094c7bb3fbc83e1887d96e464f0dc48bdbcff16d396ea5481f36040e0e4c70d
diff --git a/www-client/firefox/firefox-102.15.1.ebuild b/www-client/firefox/firefox-102.15.1.ebuild
deleted file mode 100644
index 23a3a2eeda0c..000000000000
--- a/www-client/firefox/firefox-102.15.1.ebuild
+++ /dev/null
@@ -1,1290 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FIREFOX_PATCHSET="firefox-102esr-patches-13.tar.xz"
-
-LLVM_MAX_SLOT=16
-
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-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"
-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,whissi,slashbeast}/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 x86"
-
-SLOT="esr"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
-IUSE+=" jack 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+=" wayland wifi"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver +gmp-autoupdate screencast"
-
-REQUIRED_USE="debug? ( !system-av1 )
- pgo? ( lto )
- wayland? ( dbus )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" screencast? ( wayland )"
-
-FF_ONLY_DEPEND="!www-client/firefox:0
- !www-client/firefox:rapid
- 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
- virtual/rust:0/llvm-15
- pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
- )
- )
- (
- sys-devel/clang:14
- sys-devel/llvm:14
- clang? (
- sys-devel/lld:14
- virtual/rust:0/llvm-14
- pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
- )
- )
- )
- !clang? ( virtual/rust )
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.24.3
- net-libs/nodejs
- virtual/pkgconfig
- amd64? ( >=dev-lang/nasm-2.14 )
- x86? ( >=dev-lang/nasm-2.14 )"
-
-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.79.2
- >=dev-libs/nspr-4.34
- media-libs/alsa-lib
- media-libs/fontconfig
- media-libs/freetype
- media-libs/mesa
- media-video/ffmpeg
- sys-libs/zlib
- virtual/freedesktop-icon-theme
- virtual/opengl
- x11-libs/cairo[X]
- x11-libs/gdk-pixbuf
- 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/libXtst
- x11-libs/libxcb:=
- x11-libs/libxkbcommon[X]
- x11-libs/pango
- x11-libs/pixman
- dbus? (
- dev-libs/dbus-glib
- sys-apps/dbus
- )
- jack? ( virtual/jack )
- libproxy? ( net-libs/libproxy )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- sndio? ( >=media-sound/sndio-1.8.0-r1 )
- system-av1? (
- >=media-libs/dav1d-1.0.0:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-gfx/graphite2-1.3.13
- >=media-libs/harfbuzz-2.8.1:0=
- )
- system-icu? ( >=dev-libs/icu-71.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? (
- x11-libs/gtk+:3[wayland]
- x11-libs/libdrm
- x11-libs/libxkbcommon[wayland]
- )
- wifi? (
- kernel_linux? (
- dev-libs/dbus-glib
- net-misc/networkmanager
- sys-apps/dbus
- )
- )"
-
-RDEPEND="${COMMON_DEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )"
-
-DEPEND="${COMMON_DEPEND}
- 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 ; 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+=( 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+=( 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}"
-}
-
-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 ; 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
- # 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
-
- 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
-
- # Clearing crate checksums where we have applied patches
- moz_clear_vendor_checksums bindgen
-
- # 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 ..."
- if tc-is-gcc; then
- have_switched_compiler=yes
- fi
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-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
- 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
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-gpsd \
- --disable-install-strip \
- --disable-parental-controls \
- --disable-strip \
- --disable-updater \
- --enable-negotiateauth \
- --enable-new-pass-manager \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --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.
- if use ppc64; then
- mozconfig_add_options_ac '' --disable-sandbox
- else
- mozconfig_add_options_ac '' --enable-sandbox
- fi
-
- 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
-
- 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
-
- if use wayland ; then
- mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
- else
- mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
-
- else
- # ThinLTO is currently broken, see bmo#1644409
- 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
- # This is upstream's default
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
- else
- mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
- 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
- else
- 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
-
- # 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
-
- # 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 pgo ; then
- virtx_cmd=virtx
-
- # Reset and cleanup environment variables used by GNOME/XDG
- gnome2_environment_reset
-
- addpredict /root
- fi
-
- local -x GDK_BACKEND=x11
-
- ${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}-esr.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
-}
diff --git a/www-client/firefox/firefox-115.3.0.ebuild b/www-client/firefox/firefox-115.3.0.ebuild
deleted file mode 100644
index d02c0ee7fda7..000000000000
--- a/www-client/firefox/firefox-115.3.0.ebuild
+++ /dev/null
@@ -1,1368 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FIREFOX_PATCHSET="firefox-115esr-patches-06.tar.xz"
-
-LLVM_MAX_SLOT=16
-
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="manual"
-
-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"
-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 readme.gentoo-r1 toolchain-funcs virtualx xdg
-
-MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
-
-if [[ ${PV} == *_rc* ]] ; then
- MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
-fi
-
-PATCH_URIS=(
- https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
-)
-
-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="esr"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
-IUSE+=" jack 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+=" wayland wifi +X"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver +gmp-autoupdate screencast"
-
-REQUIRED_USE="|| ( X wayland )
- debug? ( !system-av1 )
- pgo? ( lto )
- wifi? ( dbus )"
-
-FF_ONLY_DEPEND="!www-client/firefox:0
- !www-client/firefox:rapid
- 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
- 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
- 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
- )
- !X? (
- >=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.90
- >=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= )
- 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}
- 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
- )"
-
-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
-
- # 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
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-gpsd \
- --disable-install-strip \
- --disable-parental-controls \
- --disable-strip \
- --disable-tests \
- --disable-updater \
- --disable-wmf \
- --enable-legacy-profile-creation \
- --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
- 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
-
- 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
-
- 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
- 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
-
- # 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
-
- # 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 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}-esr.desktop"
- local exec_command="${PN}"
- local icon="${PN}"
- local use_wayland="false"
-
- if use wayland ; then
- use_wayland="true"
- fi
-
- cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
-
- sed -i \
- -e "s:@NAME@:${app_name}:" \
- -e "s:@EXEC@:${exec_command}:" \
- -e "s:@ICON@:${icon}:" \
- "${WORKDIR}/${PN}.desktop-template" \
- || die
-
- newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
-
- rm "${WORKDIR}/${PN}.desktop-template" || die
-
- # Install wrapper script
- [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
- newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
-
- # Update wrapper
- sed -i \
- -e "s:@PREFIX@:${EPREFIX}/usr:" \
- -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
- -e "s:@APULSELIB_DIR@:${apulselib}:" \
- -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
- "${ED}/usr/bin/${PN}" \
- || die
-
- readme.gentoo_create_doc
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-
- # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
- # does not need to be forced into the LD_LIBRARY_PATH
- if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
- einfo "APULSE found; Generating library symlinks for sound support ..."
- local lib
- pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
- for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
- # A quickpkg rolled by hand will grab symlinks as part of the package,
- # so we need to avoid creating them if they already exist.
- if [[ ! -L ${lib##*/} ]] ; then
- ln -s "${lib}" ${lib##*/} || die
- fi
- done
- popd &>/dev/null || die
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- if ! use gmp-autoupdate ; then
- elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
- elog "installing into new profiles:"
- local plugin
- for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
- elog "\t ${plugin}"
- done
- elog
- fi
-
- if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
- elog "Apulse was detected at merge time on this system and so it will always be"
- elog "used for sound. If you wish to use pulseaudio instead please unmerge"
- elog "media-sound/apulse."
- elog
- fi
-
- # bug 835078
- if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
- ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
- ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
- ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
- ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
- fi
-
- readme.gentoo_print_elog
-
- 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 use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
- optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver
- fi
-
- if ! has_version "sys-libs/glibc"; then
- elog
- elog "glibc not found! You won't be able to play DRM content."
- elog "See Gentoo bug #910309 or upstream bug #1843683."
- elog
- fi
-}
diff --git a/www-client/firefox/firefox-115.3.1.ebuild b/www-client/firefox/firefox-115.3.1.ebuild
index 43b6050c6940..45cbcf9bda63 100644
--- a/www-client/firefox/firefox-115.3.1.ebuild
+++ b/www-client/firefox/firefox-115.3.1.ebuild
@@ -56,7 +56,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}
DESCRIPTION="Firefox Web Browser"
HOMEPAGE="https://www.mozilla.com/firefox"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
SLOT="esr"
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
diff --git a/www-client/firefox/firefox-117.0.1.ebuild b/www-client/firefox/firefox-117.0.1.ebuild
deleted file mode 100644
index c333fad41851..000000000000
--- a/www-client/firefox/firefox-117.0.1.ebuild
+++ /dev/null
@@ -1,1488 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FIREFOX_PATCHSET="firefox-117-patches-04.tar.xz"
-
-LLVM_MAX_SLOT=16
-
-PYTHON_COMPAT=( python3_{10..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 )
- 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
- 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
- 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
- )
- !X? (
- >=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.92
- >=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}
- 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
- )"
-
-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
-
- # Clear checksums from cargo crates we've manually patched.
- # moz_clear_vendor_checksums xyz
- moz_clear_vendor_checksums proc-macro2
-
- # Respect choice for "jumbo-build"
- # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
- if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
- local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
- elog ""
- elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
- elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
- elog "if that fails try -jumbo-build before opening a bug report."
- elog ""
-
- sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" python/mozbuild/mozbuild/frontend/data.py ||
- die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
- sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" js/src/moz.build ||
- die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
- fi
-
- # Create build dir
- BUILD_DIR="${WORKDIR}/${PN}_build"
- mkdir -p "${BUILD_DIR}" || die
-
- # Write API keys to disk
- echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
- echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
- echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
-
- xdg_environment_reset
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
- einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
- einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
- einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
- einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
-
- local have_switched_compiler=
- if use clang; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
-
- local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
- [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
- [[ -z ${version_clang} ]] && die "Failed to read clang version!"
-
- if tc-is-gcc; then
- have_switched_compiler=yes
- fi
-
- AR=llvm-ar
- CC=${CHOST}-clang-${version_clang}
- CXX=${CHOST}-clang++-${version_clang}
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain,
- # AS is used in a non-standard way by upstream, #bmo1654031
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- export AS="$(tc-getCC) -c"
-
- # Configuration tests expect llvm-readelf output, bug 913130
- READELF="llvm-readelf"
-
- tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
-
- # Pass the correct toolchain paths through cbindgen
- if tc-is-cross-compiler ; then
- export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
- fi
-
- # Set MOZILLA_FIVE_HOME
- export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
-
- # python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- # Set state path
- export MOZBUILD_STATE_PATH="${BUILD_DIR}"
-
- # Set MOZCONFIG
- export MOZCONFIG="${S}/.mozconfig"
-
- # Initialize MOZCONFIG
- mozconfig_add_options_ac '' --enable-application=browser
- mozconfig_add_options_ac '' --enable-project=browser
-
- # Set Gentoo defaults
- if use telemetry; then
- export MOZILLA_OFFICIAL=1
- fi
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-gpsd \
- --disable-install-strip \
- --disable-legacy-profile-creation \
- --disable-parental-controls \
- --disable-strip \
- --disable-tests \
- --disable-updater \
- --disable-wasm-function-references \
- --disable-wasm-gc \
- --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
-
- # Install the vaapitest binary on supported arches (+arm when keyworded)
- if use amd64 || use arm64 || use x86 ; then
- exeinto "${MOZILLA_FIVE_HOME}"
- doexe "${BUILD_DIR}"/dist/bin/vaapitest
- fi
-
- # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded)
- if use arm64 ; then
- exeinto "${MOZILLA_FIVE_HOME}"
- doexe "${BUILD_DIR}"/dist/bin/v4l2test
- fi
- fi
-
- if ! use gmp-autoupdate ; then
- local plugin
- for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
- einfo "Disabling auto-update for ${plugin} plugin ..."
- cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
- pref("media.${plugin}.autoupdate", false);
- EOF
- done
- fi
-
- # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
- if use system-harfbuzz ; then
- cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
- sticky_pref("gfx.font_rendering.graphite.enabled", true);
- EOF
- fi
-
- # Install language packs
- local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
- if [[ -n "${langpacks}" ]] ; then
- moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
- fi
-
- # Install 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 use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
- optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver
- fi
-
- if ! has_version "sys-libs/glibc"; then
- elog
- elog "glibc not found! You won't be able to play DRM content."
- elog "See Gentoo bug #910309 or upstream bug #1843683."
- elog
- fi
-}
diff --git a/www-client/firefox/firefox-118.0.ebuild b/www-client/firefox/firefox-118.0.ebuild
deleted file mode 100644
index 63526d063cb0..000000000000
--- a/www-client/firefox/firefox-118.0.ebuild
+++ /dev/null
@@ -1,1430 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FIREFOX_PATCHSET="firefox-118-patches-02.tar.xz"
-
-LLVM_MAX_SLOT=16
-
-PYTHON_COMPAT=( python3_{10..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 readme.gentoo-r1 toolchain-funcs virtualx xdg
-
-MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
-
-if [[ ${PV} == *_rc* ]] ; then
- MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
-fi
-
-PATCH_URIS=(
- https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
-)
-
-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 )
- 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
- 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
- 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
- )
- !X? (
- >=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.93
- >=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}
- 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
- )"
-
-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
-
- # Clear checksums from cargo crates we've manually patched.
- # moz_clear_vendor_checksums xyz
- moz_clear_vendor_checksums proc-macro2
-
- # Respect choice for "jumbo-build"
- # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
- if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
- local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
- elog ""
- elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
- elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
- elog "if that fails try -jumbo-build before opening a bug report."
- elog ""
-
- sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" python/mozbuild/mozbuild/frontend/data.py ||
- die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
- sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" js/src/moz.build ||
- die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
- fi
-
- # Create build dir
- BUILD_DIR="${WORKDIR}/${PN}_build"
- mkdir -p "${BUILD_DIR}" || die
-
- # Write API keys to disk
- echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
- echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
- echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
-
- xdg_environment_reset
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
- einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
- einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
- einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
- einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
-
- local have_switched_compiler=
- if use clang; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
-
- local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
- [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
- [[ -z ${version_clang} ]] && die "Failed to read clang version!"
-
- if tc-is-gcc; then
- have_switched_compiler=yes
- fi
-
- AR=llvm-ar
- CC=${CHOST}-clang-${version_clang}
- CXX=${CHOST}-clang++-${version_clang}
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain,
- # AS is used in a non-standard way by upstream, #bmo1654031
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- export AS="$(tc-getCC) -c"
-
- # Configuration tests expect llvm-readelf output, bug 913130
- READELF="llvm-readelf"
-
- tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
-
- # Pass the correct toolchain paths through cbindgen
- if tc-is-cross-compiler ; then
- export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
- fi
-
- # Set MOZILLA_FIVE_HOME
- export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
-
- # python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- # Set state path
- export MOZBUILD_STATE_PATH="${BUILD_DIR}"
-
- # Set MOZCONFIG
- export MOZCONFIG="${S}/.mozconfig"
-
- # Initialize MOZCONFIG
- mozconfig_add_options_ac '' --enable-application=browser
- mozconfig_add_options_ac '' --enable-project=browser
-
- # Set Gentoo defaults
- if use telemetry; then
- export MOZILLA_OFFICIAL=1
- fi
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-disk-remnant-avoidance \
- --disable-gpsd \
- --disable-install-strip \
- --disable-legacy-profile-creation \
- --disable-parental-controls \
- --disable-strip \
- --disable-tests \
- --disable-updater \
- --disable-wasm-function-references \
- --disable-wasm-gc \
- --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
-
- # Install the vaapitest binary on supported arches (+arm when keyworded)
- if use amd64 || use arm64 || use x86 ; then
- exeinto "${MOZILLA_FIVE_HOME}"
- doexe "${BUILD_DIR}"/dist/bin/vaapitest
- fi
-
- # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded)
- if use arm64 ; then
- exeinto "${MOZILLA_FIVE_HOME}"
- doexe "${BUILD_DIR}"/dist/bin/v4l2test
- fi
- fi
-
- if ! use gmp-autoupdate ; then
- local plugin
- for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
- einfo "Disabling auto-update for ${plugin} plugin ..."
- cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
- pref("media.${plugin}.autoupdate", false);
- EOF
- done
- fi
-
- # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
- if use system-harfbuzz ; then
- cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
- sticky_pref("gfx.font_rendering.graphite.enabled", true);
- EOF
- fi
-
- # Install language packs
- local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
- if [[ -n "${langpacks}" ]] ; then
- moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
- fi
-
- # Install 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
-
- readme.gentoo_create_doc
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-
- # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
- # does not need to be forced into the LD_LIBRARY_PATH
- if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
- einfo "APULSE found; Generating library symlinks for sound support ..."
- local lib
- pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
- for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
- # A quickpkg rolled by hand will grab symlinks as part of the package,
- # so we need to avoid creating them if they already exist.
- if [[ ! -L ${lib##*/} ]] ; then
- ln -s "${lib}" ${lib##*/} || die
- fi
- done
- popd &>/dev/null || die
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- if ! use gmp-autoupdate ; then
- elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
- elog "installing into new profiles:"
- local plugin
- for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
- elog "\t ${plugin}"
- done
- elog
- fi
-
- if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
- elog "Apulse was detected at merge time on this system and so it will always be"
- elog "used for sound. If you wish to use pulseaudio instead please unmerge"
- elog "media-sound/apulse."
- elog
- fi
-
- # bug 835078
- if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
- ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
- ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
- ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
- ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
- fi
-
- readme.gentoo_print_elog
-
- 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 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
-}