summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2023-09-16 11:04:38 +0300
committerJoonas Niilola <juippis@gentoo.org>2023-09-16 11:04:38 +0300
commit844164cc11dfee7887fb062999be1eaae84f5898 (patch)
tree8414c274d428cac7b9f757d57ed882aea92a68db /www-client
parentdev-vcs/tortoisehg: 6.5.1 version bump (diff)
downloadgentoo-844164cc11dfee7887fb062999be1eaae84f5898.tar.gz
gentoo-844164cc11dfee7887fb062999be1eaae84f5898.tar.bz2
gentoo-844164cc11dfee7887fb062999be1eaae84f5898.zip
www-client/firefox: drop 102.15.0, 115.2.0, 117.0
Bug: https://bugs.gentoo.org/914073 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/Manifest298
-rw-r--r--www-client/firefox/firefox-102.15.0.ebuild1290
-rw-r--r--www-client/firefox/firefox-115.2.0.ebuild1407
-rw-r--r--www-client/firefox/firefox-117.0.ebuild1488
4 files changed, 0 insertions, 4483 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index dce6d042b0ec..4b7d6cd6f7c5 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -1,101 +1,3 @@
-DIST firefox-102.15.0esr-ach.xpi 466446 BLAKE2B a11d52c755becd1bbe15fb1f29e2e0667ab81630dcd7d8648f811f704fd00a3b713b1925d43471f0bbd375de8d895c07bff8627965287981483d9e5bd0756d6e SHA512 1f488a39072334b3bb2f3d69ebe776f1117d8ee02e09f8aa68a56af81f76fb29ab0e2db7428af92118d82b8c77f70152bbd5ea6cd92278a4a43ad98fb1b85c8e
-DIST firefox-102.15.0esr-af.xpi 429125 BLAKE2B 48739930a116bd90590674cc84412af313fcc5acd8967fada973e63af151f72410df45ea21b5c779423e966958550279a4ccd52b9ad825ef833687ae12883f80 SHA512 ccdd65cde91856768a8392f1fe6c32dbf121f0af16ea635c4ca68c5c57219b395019b5dfb9bcb016a0b840616e740c0757607b6c4e0227a71c7010147a9c6f41
-DIST firefox-102.15.0esr-an.xpi 510493 BLAKE2B 75a1465e15190972eeb3876dbdb8314978d2e146ee4b8c3f5ae185b97ef393141268d829fb8d3749c07252b160c126a22298b712dc7045628ce6a3b80c5e13d0 SHA512 8a178e49af2e73255637947c97eb377908931bb74620429c34e40dd83b60ebd11925dbf47e7fb0196500dfe00a7701bcd5166ad6bbf1ff3b667dc5f9052086d4
-DIST firefox-102.15.0esr-ar.xpi 578886 BLAKE2B bf0014b5f015c14d73453ea1e8a3dfe6ee380b32a32ca9f1dd30da7d9adf4ced329b9f839f0e6609791b56231865263c6fc55f900c5a3faf72f4011c49f3b065 SHA512 3ab2ef03b15b561a79114afcd67633df69a34c9db82923e0acd24a58d8b6b83aee44307be770de92acce92a1e300082060d92fd5a4bada078447a2b5d2c1ac4d
-DIST firefox-102.15.0esr-ast.xpi 498096 BLAKE2B 8dbca576f324d4e9edfd0b38f1c6bb9f0a31eafe591ff597d9f17bb776f37ed9bfc51c34df1df2b971ab249ac9e6aa92d7866f472276a6ff06fcec536942737f SHA512 2ef5a4ea70adc66f06eaafa7ef43430b4dc529ccdcfa320d0cf19820904a21e121ecfd8f98e6a0673f5c7f2db25741cb614345c4eaa468ed5705a0ad11cc6522
-DIST firefox-102.15.0esr-az.xpi 500792 BLAKE2B f3743e9162044c68ce253d85e785c11d96127f0bb60901d1964656e9a27be89d590d675824c5dec4e892529e75866d7e8876d0ff3709619feea7726d10bc1b32 SHA512 04dbafe7379fcac3544743038abd10771a153c65dc34f203cacc306ea1bf608482087dc195d7953ce04d28b853e44cfff8dc0d436b1d5aeb4ceee4657ab4f092
-DIST firefox-102.15.0esr-be.xpi 666678 BLAKE2B 4afc5d93dd7cfef73a99fd36f50f9eaa606521fe56091148f5e81d3003bb7b46cdd7ff25b183e193e189eb802165c48dd9f36a2ad1962bdf87ed92271c4a7dbb SHA512 4da43200d427594f973eff5a44673f21043f223969bb023c77d034b87f7b5c16310b9095316c5ff824ad0ecf0a0a91cf51e429f8bebae34123706b72bbc27db9
-DIST firefox-102.15.0esr-bg.xpi 591349 BLAKE2B f3672334f77aee99438dd86b4845de01c26ccdc41ac649eb14ab2bbe5f437546756be7ef80de008c3afcbb311d33c534bbf331933f3f3a2afa0bbec2540c0cdb SHA512 8cb4babda407ba3784496ea22429bebeb13f86ed0e8f97f3acec988e2369f50a44d586fdecfa537d65a2bddb15b8018f030e71315c77c391da9a86a44a76aeba
-DIST firefox-102.15.0esr-bn.xpi 591678 BLAKE2B ac6524070713e92bd95a2c2df67348cdcef0aa1343df694f238fe87bbe610c70f4a1cbc465c74eb4da819a9c80728c82465aa6fded0531abf38f8ed0c4ca5b81 SHA512 32fac543b891c8753dff7571450130b86ed134c571ce3e776f2b61b9750b31c77d8ae091813af06e669792881923d5e733c96a68ca919ea65a308346524315a3
-DIST firefox-102.15.0esr-br.xpi 555841 BLAKE2B 11d1995a1c1e86cde3eef32d7f42683af928e5e351c9c63352987b364ce8f54637fbc8ee7a0e216de84d7c6211ee800045b9a872bd782385bf02c9638d1c9db5 SHA512 4d3c7af550e249ebf5fb743c9d6b7957a9f743626eb781231488e1049b81c56fa599aa402cd231ab9935d3b0bb07d5d2ea625d6ca51aaef16e2434c53c1b08f9
-DIST firefox-102.15.0esr-bs.xpi 471736 BLAKE2B 2668b5414f0a7e543f58f8aa66dc32d226dc81f8726650afa85423aa35411825a30cd554cb6a0606a6da193c3007fdc51bf67c87eac01927ab7f029d9889c269 SHA512 c8cd0ee6678b027cfefa560f31e51b7c3ac3c6ef3f050d098eae476cdc457ba43d0dfe47af2f55c41052b5596cfe64ba649a62bdc299fbaedbc67d1a8c8c83f8
-DIST firefox-102.15.0esr-ca-valencia.xpi 549190 BLAKE2B 2bcc6cebe36775c12853a737606ab18de623d801e356525468de09d93dc2263f8f666af7a8318c2cc668d68f210cb7382f96a9a5cddd7f18aeebe434abfba20c SHA512 b93bd02f27cfc2f17babb8d6e8264f803003950553248660b65a4567665a5050fdb6182f595b2bacacc881af4ee21ed002cedd7a5acb976ec06abf3b4bf68fc8
-DIST firefox-102.15.0esr-ca.xpi 561927 BLAKE2B 7b0f82abcc81c3dfa58c89b244fcbf82601b16158b62f7232d020859a8cda07184de7ad416969d526b8f7f86fce9ec59b8b6d4db9086e1b0363eaf75b9c6a671 SHA512 959e031e1a6a5db354b9646bba180499dd7242798d98b49fe7406ff03220c70fbf829976d04e7ec6074575c73dd1986e2293b9689e0d1886845ab02bc7c72e4b
-DIST firefox-102.15.0esr-cak.xpi 563846 BLAKE2B b0c594e00fe30de1f933e3259e97ee5e024072d72899ae93608c319c45ab657663522d87d0b99dc8990561cf5068cbf38284b1afde66f538c7f77464dfe2556f SHA512 57de83d259282b4ebeace24f158a76d72dc4a60777f6fcc22c4f12f88aadbd786b36a309373db621ca5e497d6417caf5dd2ff87da624a3d74db5315848e55a63
-DIST firefox-102.15.0esr-cs.xpi 599804 BLAKE2B db65cc41a4daae00109f1ec53c9a2a46f48cd1e1f0a14d53012a0a69a97046c7ee4260c2c3ecf0bdd24645b1c29863ed24a1ac861a9fb0902bd3f5de66cda313 SHA512 3ba8fb051f2475be65f399d3fd816003ea9e29da294ce3201cc47fd044e631de1ad7476f144bbf9e4163f2d93343056b07a11a423db18db51761ac04f6292deb
-DIST firefox-102.15.0esr-cy.xpi 579214 BLAKE2B 081f234d3c60da678b8ceb49a4e3bc4f3b8d5e84ccccff22cfb96233669ad2eb92bc1565bddff5afc6059825e6d0faab196335bfeb8c9c23ecdcca5938917b83 SHA512 f0c593d257a1dd744ce32b645a81318193f7b4fd53de7b7f68e879816c9a09646400c4a1d7dd2f64cb5574e18d616e3f5f79a0cf45018e22ff91cbd11eaae66a
-DIST firefox-102.15.0esr-da.xpi 570508 BLAKE2B 4e4edde5e606bc4d01207be1511c26ded0f7cb3175fac91c103cd1a8df8184cbae978f8be296448ee42be8aac2ad30b64463b1891cc234e11d48e096882ebbe2 SHA512 064d302b646842f32b4c284664022b9d2a3db1364139f06694fda813ecbadd90cac228589236d49cdec132517fc13f4faa60e8b7672183883adde80bbc1b97c1
-DIST firefox-102.15.0esr-de.xpi 591575 BLAKE2B a07edbb27c8222dcc38be948e1b264a996026d5db396516fee68e1af55beec2590f5edd7c7703a190074bb38a04b923bc6ff3ad437ed9139ab3a57afec7d2108 SHA512 b561762c84139dfa91bed5916da674f16b7b76c3a436ea3667560226b4f2b8632526c7cd1b8158dcd8f6fa468afbc788e76aaa4217a5e136de1619d4787366ae
-DIST firefox-102.15.0esr-dsb.xpi 600379 BLAKE2B f5a7b054fc1d27bdaace1a6a9a650476d03ce49f0a4a62bbd004c09f93c183959cf067c47aa8eb05261bb050ef55c989a3db2a3b788706a17a86b853ec1c71d3 SHA512 97eef2ba58918f0ec2e587a0775ba3ef2695c4dd9420b3d7a444b6a036a47f9917e03ebe88bb9cfae6873a48e78dbfcb1daf01a80d5410f76d76f999e2cb644d
-DIST firefox-102.15.0esr-el.xpi 681656 BLAKE2B 4c06866413277b8e6819041a23352b585967aa70c03c3ded55e77c320917e61be9b7d17e7e5b594288d9316cf33bba7130c76133fe7171e31ad24edba1956942 SHA512 4dd910483bb13ecaa0ae62d38a8ed55c8040389e9582465df1cf92d5a483f0e719514942147d7569937454a061e7a3237cceed232414fbef2b932f1551c60c8f
-DIST firefox-102.15.0esr-en-CA.xpi 541057 BLAKE2B 4c14b459dc75ed41e249b0c3190d5fc5efc3306bad8a9ef72a6a3af27205432a7abe5bb50422d95046282e74291cff4ec3e2588f19629837a987206f5f5ddb91 SHA512 c7e1437e8a9c8a5ebb81ef10ef296fef6533060af910d33cea0008a37ee43fc87a785c32bf054f323caf4a7c88d961126e8317fd0893e134b7db47c0635fa6c2
-DIST firefox-102.15.0esr-en-GB.xpi 544000 BLAKE2B 36e6f362fc767ba314809edf2b3e920cefe99c7d1aceee3d717d618840121124f6cd267d7d82856e17f6073de0792f57b593f0b988f2c7cbed84fb921124ffe0 SHA512 a62e359286ea79303f45f681f12199a33dcf660cdc41d65028638ea516db3f9d188414234279d6c7d8372f88b7012cb4bf9a0e69c8110b3277fc3df5ac048948
-DIST firefox-102.15.0esr-eo.xpi 571433 BLAKE2B 85cbbc1091f3d4c8cb449d42e40429e9d94b7b5c1defa31bfd152aec6e3da713eda933f9b965cfba45de1efa9b9679bf08fa7789d4d375dad3d8a805c1ad6098 SHA512 17c91ab15bd2023b4a427507cd2d7add3f1e8a7b30a8214eac372029483fbd1cbcc9c8e59ed6001bf1c68274fca1391245258816e4081b4908d5734fd95b93c6
-DIST firefox-102.15.0esr-es-AR.xpi 584196 BLAKE2B a84562acecbe634b31d311251b167ea8128093a102782c15b9c28a980cb3b2a0162dd51af5b5f194a5cf11192342b93e77e02adfdeff9e31108a59bc2e2200c0 SHA512 088211c3a78e0ea5cd30af414f10365f438ed5b64fa9187123c7808dbadb6a3d25f557a84d344ee84c47a3cc10011b5e099a03bf42e765b1b3b4fb8b747e4d6e
-DIST firefox-102.15.0esr-es-CL.xpi 583183 BLAKE2B c150d7d340029463cbd62fa796713f6151cab3d207135fee449665e550f9348443d4c219c1d2566d73743bbd5ca4935a6f44d010b9e95212fbfe2820518fbcdc SHA512 25e23309ada107539389873a0eadd439b1f8404b358782d3162d9f2a9436302baa640964c29b78c47e641fbacbda4d7335b2426e191d1224a11b9e22e58d9bbf
-DIST firefox-102.15.0esr-es-ES.xpi 576084 BLAKE2B ce93e7c1233a3c6eb08854cdf0dc43c3c3ea3df0951cd6b5939ec4c6314ae31256a1bad72b25df8f190bd43301b8c1f79d97f5a3a5a8e7b54b4ea7ef497ec78b SHA512 1a163c895155eb113c395abbfaa2137c19a87c07274797d0b240fcd5bc2eaca8ce838a95ab9d42b10d1657a79058d54f1412f4908ab1e7660299ea7a30c9d75b
-DIST firefox-102.15.0esr-es-MX.xpi 586665 BLAKE2B f7bb9d7f8abac3eaf0ac8ad9ef5487a71e1aaa4df19a48fdad57c2e21092c188ab405c141228e82ad32eadddc29244a377851a5c3b99bbde5f5cf4c7536c43d4 SHA512 045d26e741449253ffd5d3be1ff3ee1c996a3d0a134e25089b5ca86e8ca4c6d4e6b42204c2627f01d1f165bcd6e5ed41f3e2a3440c6e3ef0f50d10fef2faa627
-DIST firefox-102.15.0esr-et.xpi 543293 BLAKE2B c013c81101689c8f0594712dd47c797ffd4ea1a0605114a94068f7e13b404e1843a25b64b557f1b30673badfc531e4b49280335136932768100a4c15fe1a1c1f SHA512 a6e51e5a4da1d33cceda3cd9689b942ab480eb0d283bfb770cf9222fa8ff92cb865ec463bf10f71918b2113dd7ec826b6547e25b6c286e715b5ae3dfc5c782cb
-DIST firefox-102.15.0esr-eu.xpi 572531 BLAKE2B 7ec0b28f36b3cc9188007a68d272e122395b7f40c0264aba97c03ca9d36fa9b5fe7aedd3008c82fa1ffde94744e4a4d5f387440ef6d35a6f2933000de36f2137 SHA512 2a4a807b8cfff87d7e7d6856b0615fffc0413a3be2c71042921bd6224458d52aa6472268405390d22b83aa3ebed448b1eba4b794eca1aa69541e949bb4c33800
-DIST firefox-102.15.0esr-fa.xpi 583116 BLAKE2B f9738e7625c9fdba9aafe4730057ada3e6478c5ed24705e7abd437a18d14afd229afad9014f3efd95278d10e2722c219a0648aafbc32ab27f2e54792a88e0188 SHA512 23ee89527a02aca1560fde3d3b856887bebe65a64ac7e151ecbfa2ed3ba81400dd2fdd4c34c4c343efdf1f5ae6f9720334d4b8754a1052ad9a971be613ce78db
-DIST firefox-102.15.0esr-ff.xpi 483116 BLAKE2B 942b504e113d8901db01e528042534221d67d0b7a43d379cc6ef9c8c06e3d9d46749770800f5bcbb15abf4c7e1d2abc28b6bc7bc74d8d945acc6b3594e1538b5 SHA512 46b43d06927bd9bc79af7b0ccb8a16dd46b094e4a3a9aacf1f4663d2cb271eb3c04468f1baaca815cb134143614e55ea245bf6bf9874fde1212c78603f0002a6
-DIST firefox-102.15.0esr-fi.xpi 568236 BLAKE2B 83776e54d49a378989014093afe1998b057e7aeae8cff7d16a4453ec2a6ff72fdc0f73434d22d8fa67e0d2b5142a8d2de961417148ad4836844e05b9e55397fb SHA512 68f8442bc7394fa8ac7f362460f8d4daf8e83cfa655e47d4278f002707df91c8e997523416c94f9e2069eb2519f350e8f14aa1d003acef307c4de610060884fb
-DIST firefox-102.15.0esr-fr.xpi 595538 BLAKE2B 1b0a1acd2b42294fa57f10f4ba7f82ad9dd51dd36c33c2e85eed0c7c1d07e3e451ecbc9390f7fcd8b81478ace9c3363b19dfc1a228d741af44d87b2fdc9b6330 SHA512 3a50ba6ce1c3085c9598157baa5c324153b4c37c4a0df85272d0ad5d9cf08c6ed885eb0a633c33e2ab2419f61d3a29f307b75913d8f4ff14d476c3b0f0935a63
-DIST firefox-102.15.0esr-fy-NL.xpi 580247 BLAKE2B b7386514819553637dc1b795e122ff702e391be4418ee1ad83b409a31cf0c3b3ef034e459185f7529cd208bf1836470388e83ea72c3329faff413e1124a8c418 SHA512 de0528bf5d39c1e61606dc684fec105337d418aa621acec6ca8e109b3acf048d143e6a58a5fd77b9525ec2d36361bf9985c8eb27cf36da75e6709e118df28a53
-DIST firefox-102.15.0esr-ga-IE.xpi 480696 BLAKE2B 8c7a82d532be1ca36f9cef059a7c94056b8cd65e6bed905256731a4f77f9001a6aed6ae4aa58f7c08492ceb672aa54d5682191366865b0aef3c9cd9988d529d5 SHA512 98a2433c4dc9ba5b3cf55e832e3f203ef7eb19a5c18c58badee6aa42a75a604b98a91c7e4cd0d3b66c0992d979145c1ce8182b8b0069e7536fa8173083c8544a
-DIST firefox-102.15.0esr-gd.xpi 557853 BLAKE2B 057cd13ef30bea40e8dd9164acc0cbf0b7cf3aaaf01f94367af3d3d465147788e69327144369dee2d340a1284e007ad2b2e7f150638c799ef57f0dd09ffc3c66 SHA512 df188fbab8a377d992073cb9f95b8bb5cc22dc04b3f004f0a475cfbcc242c861f73a6126c4fc709aabe0d4f38331083aafd8c55059d21b0ae93f60fc79c8921c
-DIST firefox-102.15.0esr-gl.xpi 550720 BLAKE2B d012883294c26262c67e9b95428ff49be41377a0059b7f778584c57fb4a39582fd3e898ab3872cdc9210539078cb766d2ae4da2a58438670b4d1e7573ae37e04 SHA512 b9f4934c99085397d7e1ce89028835af107779f1515323a167d5c2d016521082980fef73b11db90b4fbef748df16bd9469c44941e9133fb5cd1f7aeff044f005
-DIST firefox-102.15.0esr-gn.xpi 595702 BLAKE2B 7b4bcfda5c1d2036ff82c1a5a69028ed608681606190583f0bc8e3ff7e439a39f8add5e04a97d5f2091a31a6f6f2e45173e42ca87814404347bd71545572124b SHA512 cba3388c74ee47531e80c20badd046689eb2c076f6d14adb0224c230b2e43d6e5e5508b8be5bbb20993ee5a22c6fb8c23f56085b0b43f90297fb9ad1607e7a4c
-DIST firefox-102.15.0esr-gu-IN.xpi 541898 BLAKE2B b8e67969adc273eb6d1b06a7ccb959524afa50551427e1d35cac3b85a58ee02278cec85289509b721f9248428de77c2169d65453e06a14400d0d2537f7b701d8 SHA512 5fb1ad427bcaf88b90493c150f9e8b95a65cbc8925283b12dbfda49f3e0b898a4ff10489fb91f1928326fe68c2eb183bafa428a3d6bf4ccbd910b6d3d7296bbc
-DIST firefox-102.15.0esr-he.xpi 591525 BLAKE2B 011744e0e60dcc9f0717e3f87a0b198b59fe61498d1743ee301b31e6489be775080162d7b24020e4f93e28965ec148d751afd99d4586548bc5590a995190803a SHA512 4df0b0e337393ffeaca4aac4627af0c277979c97361da1c6d67cb986c0aab07c1bf0512d87e5c8e9b0f5a30c4b6d8f45883a07045b823b15f1856cf1291b695a
-DIST firefox-102.15.0esr-hi-IN.xpi 570415 BLAKE2B fe67e257e260bf050e00d2fd8d69d3f6b969ec9e34cea97af49820845a8a002d17cbfb445d8fb62e5a8f16a61728dbc373488c7db81a19454c6aa610fd58791e SHA512 493320078c173a15f9ba3b94268f7f506a627aa700d9b9f95545fbaa3b182638c08d2592f900d2ac574a2e11cbde13c69a5f8e7ee94706ad8240e90398617990
-DIST firefox-102.15.0esr-hr.xpi 555269 BLAKE2B 19d51767267fb7db45e75dba8367f9ab5dc275cb12b9dd35f6a9a6f0bf93616f3ec41d7ff3108ce65e8cfcfcf902fd410942ff77a5531ff5ccabacbb003dd87d SHA512 57c58b281aa4a52526c09999dd21fb9944139c89af8abe4e651e19eee59f55e91c9103d3e2b37310d7557b7c2161252c9e72542e2162dff04294b5c780f5ab28
-DIST firefox-102.15.0esr-hsb.xpi 599181 BLAKE2B 6b95f767626f09aa72ff5eb6890beb391312a35875f328cd3abe6f60cff60aced63f7ab4e55ed28270b7ebe39553983f2ab1943eab7694a4918fd50e4c2e8f63 SHA512 12cb64c97cb6500ebe2b9e010533f0cba4da58e8ce2334f788d424d48770bafca13487ba6a16e3f110b873baf93ef356ee4bd1655922dff0d7e8fabc19c3443d
-DIST firefox-102.15.0esr-hu.xpi 605255 BLAKE2B 9f5ca7d9de21fc2d2697ad86c2fd95bbe529a7efce1909f1bbe8b963c321d54c4998c7a4fd201f9bd3d7cac61ecc793bc3e59d7cf0655b6324207aadcde47589 SHA512 4aa57c398758cadaf60769721c6864f5ed0c456bdff00c5d4be8d9a82823703190f21393f644001760bde12d99036e0698ae2fc3ea57b7a38a33e0786b73e825
-DIST firefox-102.15.0esr-hy-AM.xpi 607088 BLAKE2B d985580e554edde72225251a4796177f416ce0dbded4f55d5f475976168cefaf181037c9ac277b3d6cbafcbbf801c744b307c15072c5a1d7de7e52196842b9b6 SHA512 66d948c82e27b42c856cb51bdd11dcc562b04dbac3a932d0b8337fa9eee99d4dfb822466bae3facd090cf67019d035878f5a7818f7e73e09d6d74ca11cec3daf
-DIST firefox-102.15.0esr-ia.xpi 567881 BLAKE2B c5327dcbd3e5b466c598b2d389a4ab1a5d80ee6a3522c8f8ae7fc50ac95a3fcec5061fcd322fcebaa0726e64e8ddba97fad6e45361cef721f4037c7519cf0803 SHA512 225f6cc794f1ca140dffdf7ead0ee4df88009441e2c7afba120aa02e09203faaef6cf0cffb6e05ec6aa69d32d4bb1fcbba45572e4d4ee3d9a5316a6d78e54104
-DIST firefox-102.15.0esr-id.xpi 564793 BLAKE2B 2cf8b4434352cccbe3ba1fac0b5d61b664f5c9b562a28467bf4f0b7c689a4fd11866a999b53b84483e76f66ed9625dbe011f089d49396980b3b6ff9e6493cf27 SHA512 f990a663f13a09761daf238f5489310c5ebef4bcd25ce021a21ca3e6a790b7c76042b3f68559d0ce68957329bdbc3689b6ad4608b6ae0d4e2e605c13b43bdac0
-DIST firefox-102.15.0esr-is.xpi 575726 BLAKE2B 7504ff1e9dff172d808eb20df7e3d2656276141cd8dc4d4b0a644770e7680e4344a1e08c5bf7951be58036fe8d960f0cbd4d3b9924282225d344d5ae6cf6329d SHA512 a2ab0fec1a1384dbe4fc046d7865a48c928156396ae3ad6923ad9106677937f75d9ec0bcdf96ff92609147e769f803c74da630ecf8acd602bc5abf8755a8cac7
-DIST firefox-102.15.0esr-it.xpi 505279 BLAKE2B b1e05fb50d79d669522a5f5bd5df049261d065e3697c48b21dacd2f7810737649a5e258b571d6f5e01a5fd508777f8807b459428d5a907bf52e53d8caa429000 SHA512 5a15a6c4eb48343d4d373a0d5925c876fe023b08f25e4c690d2e40c7a0ee1cad45553552bb81bc6b277851a839bbbdb447ded3c646541220e7a533ac29ed213f
-DIST firefox-102.15.0esr-ja.xpi 631479 BLAKE2B a93bc04f1e69f29b3ef71a48829eae017cdb691034266771108656fedbd3de605f6673109450c78f571b093cafbaf3c8b5ea7d0b60395546c5a2292672df3d6a SHA512 abf1247d9890315f0a11ab5eb20640b19c5672650eca608406c2fa8ba406a17c31039877caf1b24539b09eba805abb305638def035f3fa2af76eab451e0e8b28
-DIST firefox-102.15.0esr-ka.xpi 635993 BLAKE2B 6e350df0b68d81d48a0f46fd8b70ab1b0deff6f51e6db0920e5cd66ceff641328ba4178487da50b44ab42005594e43957f168224d8791ecb7e07103dd55404e8 SHA512 102f815aa9b823ab71f0dd4c3fec20eef24ed79f2d88401e2225611acf9a384f0fe8015f5582300287d84ddb7cd942dc7eec8d23a771c28d0727b0519a2b4d4f
-DIST firefox-102.15.0esr-kab.xpi 583641 BLAKE2B 038d701d78f6c239d8e4b1ed14216d6ec4ae06c5809c1b96b6803a0d52dfffe67f449ce4a9d6298a3e80aeaea124aeb28dcc5e088bd8d48e13816fbd6b44cefb SHA512 0f0decd42e46b577770a051842ba9d9a3423f3d4cd38d1af310f8e59a79545b7d5c00e2183a5fdc5b6ca6487232f517403ac274566c0ff59e33fd4462f0d9087
-DIST firefox-102.15.0esr-kk.xpi 658888 BLAKE2B e7385b92328f601a00ba9c963cc7b2ade8ee21023e79f6b4d3bfe3556e04d817c2f79fde2a2152e64b8fcffdafdf7fed3d274fbeffb7fe5758da0e3763d80d00 SHA512 d1a440dbc291ad2cebf7e8d7d917a40610bfd1b0919b00de8cafb231b2cd49c2a656cefd9dd954153df9f351b37e2413b3905091b343d497fa42ace4ce211ade
-DIST firefox-102.15.0esr-km.xpi 543887 BLAKE2B 0ae9e011e347d7fc28fbc44e81e099cb8207d9c7aaf9e9b8bba1d52e4a72f45b2d308316ee2f9cd65a8c328bddf1786d3d9055c4dce20dabc108d173eefc4dcb SHA512 4f3737bcda3a595539e2af114dd8a7b31d8e0d7efb92e9256beaa96e1d2dfb6970e0308adb0a52f2c8b14985be369dddedfeaf9dc2a76cb4bfa1e4ec0c212ec8
-DIST firefox-102.15.0esr-kn.xpi 508585 BLAKE2B 3e3ea2fadd8cfedb227e963db2a406f2ac759f43f13c757b8619faecc2624f86ebd44dd513817d0bbf7de2ba250f627413b58e594ada50994610aa4dd3f9256d SHA512 6be8c14202c031684ac3e777cdb7e43d2917c2fda9c02cc9892b6c0072da73986210e011c73267554fac539c97acc96cc7edaac7e422953fddf4d6ab7f8811ba
-DIST firefox-102.15.0esr-ko.xpi 617301 BLAKE2B 23d686a6c9433ad3f7b378e72cf398064db225fa2696ccee59ac9d754bbef64f3d735d83f5a42725aa97b436012f36a2a84e926a9232191908e4e19dff85f887 SHA512 6bc8d383a7e3aed0967fba51953057bcb0fe3cb16be6d9b52d5ae3ea6c0307b9328dbda3d5627f777a49134a624d4a9ba2a0aa13d8183cd4b23053a68bb3d750
-DIST firefox-102.15.0esr-lij.xpi 480136 BLAKE2B 957f9928d3fe90b9ab1cb2410e5d0ffc74e04b3123624a76d0541a8bbcf665eab46a411f8d3382202ccd1675321d3f1d5e67e972f52be0749e4749991faad975 SHA512 c953eed9793e33b1504e38cc90566d6b1ad85741db21fd174485080294d43958033e45bb699bf813a00677332835287b70f3e1d8381c1f4d28165dd3479974cd
-DIST firefox-102.15.0esr-lt.xpi 574775 BLAKE2B 36cb6a376424cf392a4f78005fca27d9f3baac5948f44f73f4d048f973d84346c4623e435c720ef4d1004dd001581f45c97f6216747a6f791723fe1f8aeaca6a SHA512 492841c8fa2f6c532438af26be8b25c333ef5b92e0979aa817919eb5a8b6ffda1f9eed8e54ca1cc1045d518757f3fcc75ddb1b8793418f6f41fe09aebfcdba40
-DIST firefox-102.15.0esr-lv.xpi 479297 BLAKE2B ddc1d6e1b09f4cfc2c6151dde994b1ef2b6c82e565817a9d2cb6b9abbd19a55dc9c6f1e1f484d34c9762f59f185462de0e1c5ebaf4578989c30c3faaaecf6ad6 SHA512 e75497d98e74269923301d236b5db9b84a99b7813f18e8ac702c336bc1b524e8c227370367af5c87475d5bf75483b6805139f3c3205f6fd49cf15e44a7fdf149
-DIST firefox-102.15.0esr-mk.xpi 497536 BLAKE2B 0543b36b50145a0ddf1e78cb40d0bfca23c6684e4bc70c7b5356b1f8a77b56d73ae989a6b3fe2b861b178e798d443b9410f5374430a7db1f334752ee22cf9155 SHA512 43676a4a4f44ea342245892daf13f9e5a02364848fc634ee90e70af77ea433d03cc4ef927a4ad48f89fa7be3634172a006b232dca9a4de473680e9093c059433
-DIST firefox-102.15.0esr-mr.xpi 543732 BLAKE2B d66530b8b2b616663baad092fbd931a38c5657557c5808b8dcb7ed6d3682436821ae3523ae029060deee21df90f56ab26c7d53acd40fb5c706694473bea4089a SHA512 a34fcd85ab20cea364951acea82f5473da5543f3f1900e2d691548a0e9a455d448ad99e74f9dd18f975bc0ea718feec0104a43e84ef0e9cedab13ff7471455e5
-DIST firefox-102.15.0esr-ms.xpi 459033 BLAKE2B 28a376ee83ea640b927d763163a44501cdec0eafd711994afa196de768d293648bc717e091e70da755cb055106e41726f662582b4970efe5df1ea5dd2d4ef515 SHA512 0d0719143783e0520d3841bce1e95552b73cf4f0eac2b3b4dc03f949772b4f7c4eefd04e73b598aaf48868c1afdf0920f9060613c45fdc201e62697f6a81cc37
-DIST firefox-102.15.0esr-my.xpi 529936 BLAKE2B 92c91367c07598e747088acd9c50635ccfd14985d29f12d3aa17135d7fe3a9527c9a6d7ac62bd163619a9d26b86ddee33259e1b15dfdcfedb8074f6e0fa9b1da SHA512 9852a33f48e05dc8a8dbc1a12f06e3fc7309626f7d61c70dd59f6ce83b33d406a84f6ab52f29d0cfa58007ee02968e6e719eed8e5fe9584aa296bdee7ce1180b
-DIST firefox-102.15.0esr-nb-NO.xpi 565274 BLAKE2B afaaaa40c8b795a7be5639be2994a87d437aa9e980d6959dbcc80a0ad945a7bd7cbf8c89c79d992a37a27ef5a9634147fcfa9e7349bd9f2a1ad9d806aecb8398 SHA512 01a0ae55be8e0d0d5e7ae0c1049cdfa81b737444eca5559d1ed6f50360d227c30261a7b247215ad54b89d0d2cf553af657a6fad054706b2588d0d5f9207bfbfb
-DIST firefox-102.15.0esr-ne-NP.xpi 498075 BLAKE2B 5fdf718dec83f4e497af8dbf5ead5fbbd82b745c94c01d0057b5c193d11a66e6358f0e747378ff464a3e3a48fb00fb57cc689fe39ecc49a9394c4fe4b912f243 SHA512 b9be2438e9155db6df23119f0a50e35e0a99a9340ad0307daf1f4876b34089781e51ba9047d049455a69f1c221951eff203d9e38cd8c069af87a68a219b38643
-DIST firefox-102.15.0esr-nl.xpi 573463 BLAKE2B 54798fd757d534359d05ccea0dc34ab72199b1c5d638c3cd747057c0a1e0fdcb95d90f2558378b343fc5de94dd31511830c43cfe63a510808cc416e40cf07fdd SHA512 f2f5bc8e297af3e54e7696b7adc82921c7e404492756ad1a3d243f7b2f9abbe72eda8ab58f3022e7a02a07af73cb0582597b89d533b060c8b5b731469d99d688
-DIST firefox-102.15.0esr-nn-NO.xpi 566158 BLAKE2B f5ac883ada7376efbbb34a8a6de2ac2fcea8227b0b825bb9ecaef3f08beafb28b74648887c6978f6ba51e22a869c86f3beaa201d67e54935db23cc5a5bbdf398 SHA512 195d3e737e31888c64407f67453850585e72df20612db7f84e6d547e2fdd3a3279974ec69db78cfb8b60534d35005c4941cee01ede51220d196e5dcd9c56b69e
-DIST firefox-102.15.0esr-oc.xpi 591125 BLAKE2B e66a1e4f5a9dd9f5ed57484e70274ac9ce92d5f81d12c49d9d57a330d0aa11dede42a10a0016d2f05603aa7c29f46e778716d9c21c3afee6e7546d3b193b5723 SHA512 895394c8ae6e2b16403d15e7e60a2e35e8caa120553fcc38789a32e678aaa6c3ccc7cd8dada7fd5f434cc16c2659dd08fff3d2691a1053b7241537f0c14eb029
-DIST firefox-102.15.0esr-pa-IN.xpi 648633 BLAKE2B a5a7fbee9f65193168fdce7c2a82e0ec25bb62bc2e415450afab2f8a88e429371480f64e19fe6904748dd4cf06545cfb46816a1a18d45511c348a06ee61d49e9 SHA512 6b832cd4f26ffd52aef39ad5e84567b1a0fbe64d14e274355f6f9a97b4d33a81f4e91891669afc8ad94b9f1e303cb9fa9f25c179cdd00af1d826987e35a7396d
-DIST firefox-102.15.0esr-pl.xpi 597078 BLAKE2B b5cb85bdb8f4a168cbe35aa83687172f5345ca254a7f2b3a9924d91cd4a76ead1b0cd899da8cc517c9c2b9c68385e94f3131093c47b5d546e5e73533a9c09f1e SHA512 ae465e0b714981bd9ec562ed929b871706959912264b4558ec36508707b98fc94392aab75e4e597caf4e637eec2cf0ad47faaecdf1a84e49c1811605b6bfb262
-DIST firefox-102.15.0esr-pt-BR.xpi 579018 BLAKE2B d10b260eba3a4d4b370a30605812c49e1c30770dc5d8757be8bc8ffc73adb2df6c624229097e92d12fae9b74346bc2cb1d82bc60709d1919f708c539c9ea7cb9 SHA512 50f0450a3ea0a15216c7e2bcc1e68643ad9caba025da8e3a718e00b772f1b343389fb3739e5b08b016a4586b101a744685e91903eddd49a47c869ccb559eea63
-DIST firefox-102.15.0esr-pt-PT.xpi 582848 BLAKE2B 8bc3820ba9e767e030e09f095a8715debc09e87c6a276ba4b4bda204691d70a9c0d5162358720d730e43e6ca7f1a57dfe0545867f9c9a66554738b20cef8b881 SHA512 c7218e854163d7544a29c52d7ac4ff88a3b9c93987567ada9e5fbbd426bcf47965e46084f4562cab1779e449cb71191482ca5a9ff50d595b17c9bd0f47efc240
-DIST firefox-102.15.0esr-rm.xpi 571918 BLAKE2B 8b4a22c2cfdddd96558b690480609deabdcfa490aac6ec29fa184eb1b6f85b090f646d7c7f0e341a4f273a02db89c21a00316d865c433bf64e738c562b0fb61d SHA512 984502f41357104816f16e81ae1c27fdb2f6ae58e9e407a4e49ce969c637bc05eee0a73461374885af2bcb72f799e99d71e46e699829121c0b836cc63bafc5ad
-DIST firefox-102.15.0esr-ro.xpi 541912 BLAKE2B ca5a85c4feff2f797436afe63a6aecbe63669ca6ae29e593572ef07652478a7576bc2bb62eb4ba3a20025c4a92fbb7a5e9fc275b2fc971eeb45b2b6f4b574b78 SHA512 270f77109fc23442ad2921b516005b99198f34966779a3aa8ba66933483bb5ad200005ce47fa2ce9ce6e2102c271c2eda95077e0bfc2df161ed1116a2d5c65ad
-DIST firefox-102.15.0esr-ru.xpi 671121 BLAKE2B be26c7cf58d0b6f34661fc9112256cd78eca638e21e05e29d1e1d2831e2dbc2eab991a1bb809425766ff76be6460d57b4ca0787c74fde27636a6f4cb69e66a10 SHA512 73be11a2e69e32a23c777bce60e96b2ab836750d1cb5547419790a11587179adb51f83dd25ea39f6da969e3287a35fdc54d9b93533b5a42f1438d329a3e85dd4
-DIST firefox-102.15.0esr-sco.xpi 513222 BLAKE2B 25fa605454ef945c840c121dde5960cf85721e20dcc705c6d893dd5b71c3f5e334483d9a54ae9756862c1c01e91b5c2fbdf1746abaa32385f2214179c2bd8bd0 SHA512 eb6f908534d7c8e41ab6d7001fd5352dd5275c1c4c21f6239cd2eff0492f0ce01c213b80882294aa6f75e6602aef358346fcf82aa2f135ca2c542fc886c0363b
-DIST firefox-102.15.0esr-si.xpi 585626 BLAKE2B 205b38ef19e05f9fc4e0a0f52daff1e1d8aa31e442dc2dfd414f6034d7043914b73b928aaf633e29d24915bd03038dcd6eb4183541b332ba3f8c8b0d561358cd SHA512 942775cad42d3b6ce538ddb36e2d8479880f6205f4b0b8f6c09ac463720a5676680a6f7806c3b6fca7e62a153b90e5933856a26a59ca97de20fe7e01378e0085
-DIST firefox-102.15.0esr-sk.xpi 606121 BLAKE2B ff767b692f5fefce6d2f773d9be7d136d45de4019bde7f2b1e360e1f87641d90dd424489b7edaaef34c148c94adfaeeeb5580fd97187a7b85dd806ce7a6835ca SHA512 f5c47773e68e17b9b5613e5b084a0dd00edf91e1b0e0c0e3c1410908d1a8ba0785fbaf7e10a0aa2553b7871c9c21ec1caf40493b41417d4ea1d4138024b19590
-DIST firefox-102.15.0esr-sl.xpi 577349 BLAKE2B 4f3fe6fa5a8f7f653ddf821ec6eaf36d10f01f2f0852540bec07eb14c9c7b15e15f20e365f3cc6f72f1bef3d5e6fcaba198b09a90fd40dcec3ac32be610dd7b7 SHA512 452d5c5e045f5a69c9a2446e9a4fc99859eb6829b62eb23eb81d143bf3b871451b5de74b55e91e9c4f21f02019fd7086436789246eeacfc7f37b16131e68b37f
-DIST firefox-102.15.0esr-son.xpi 433060 BLAKE2B ba2c4dd9870f1d806a018057257997fd7c7f28ae943ef89908281f3e8942acab920c5903dd0565e61f6cee20a23e415e04087a3ff5c6e73fc0f1ff10333ddbbd SHA512 8420f04b8a1c731e4eb5e078cdce1855fea48797e9154b1271dec1d42de5ffd77ac8216d4bbad9d5dae224df0ebdb1874d2dd6a02798921e60991d05d4b1682a
-DIST firefox-102.15.0esr-sq.xpi 593416 BLAKE2B bece80f957be385b08fb162bd04c556c6aeef0b4e4c1ca00fa0d134ec509f27988307e8c76c87be54172ea4b7266546c81c6841b2b20e9c56c26cafc7a1535fe SHA512 2a34cff2169282decc2dc50da4aa835c966f88fba94cf4b3d9982a29ce4d934c597d939ed76f8c1fc4a11a3a6248460d901e82654907c80b5d57ca86b308ae45
-DIST firefox-102.15.0esr-sr.xpi 635132 BLAKE2B bec69c33e8401254bb3564ce2a5c6937b124da05902ee740fd81d2e020d6b1b638281e788439b0968050494d2b6b87ef645b5ab251eb56d8c07d192f9ee10c56 SHA512 447f1e4c7f39a56b7b5899de0f558a5b98dd23131dd38458eb419284063bb4c6139eddbf5a54e2e3b3281b6d4929bce7898b5c645824037f90bed2cff6c414b7
-DIST firefox-102.15.0esr-sv-SE.xpi 576047 BLAKE2B ac5ce664f32bd7c041b44da7d9948a899c1dcd4e24550202f1b57042409fd1932e539d29ffbac278eb15fb69577544c2a7b219153adfc72a14e7c9bfecefe3d5 SHA512 b642971cd097226dc1378840bde05fc9fb1e7a982e15f81c3d8c0dd73fcfbb7e2fa3a55148f8e51cc427664c81889c3e7dc5a5ba8b0dd811dd9f910a3044fc8b
-DIST firefox-102.15.0esr-szl.xpi 527105 BLAKE2B 434b56db6f059303e05bee8f52cbd2f6c6fc22e79300c092b3d545d4d99393aaa54265df179d668c7602b473bed6f585c9597bd79a6e0978334eb373305ed289 SHA512 5767524c1a5217c6caa235c3dbd0a170721f29deff27bda411065eccda25517a86debd1848d561d4169ce6d4528e0b55066e51f7fb035521d7afb3692b607a4f
-DIST firefox-102.15.0esr-ta.xpi 522077 BLAKE2B ac96808f5b8e3bc5759c08256084a060081b9ebc9f717d4f72bd8cd4dbff7712e058b5be09de42d94fb6d592b25098f0aca875a8834c32a825546fb9c2b7f90c SHA512 22ddaf23186473f48b1e5d393e374c8763ca0768a17af07bba36d851c3de45a9bdc284c17910ed010da70b0a4d2522edb7eef39d0860d355e43d0050f01d0e30
-DIST firefox-102.15.0esr-te.xpi 568445 BLAKE2B 3c12dc51322f09e9fa74c286c6a966aaf3d85f8ef9f9b41e6e5de3287a2d46b55ac70f070cdf7c57f0ca6c767bbee446ef83331113d78ad1a965347b93572853 SHA512 b135d8799ce06d2f7caae5817f73ca8861c94040d436cc08ab1de6c04cae66c71d3bebc4e3a368c41bebabc22316d8f7d4157c9f21f82012e63e6b8d678c313f
-DIST firefox-102.15.0esr-th.xpi 649498 BLAKE2B 5b070a7249efb9853e5b6bfc292da52bf4d5a1aa24941a52886b5d3e2c8422005e4cb4ec2a13116e67c765ea664e3d7107e8a9e4c79fa60b7dba2872b065d5af SHA512 463a57fc62632d577b32cc09b1264099d26b549c866ceb57c8143054463e8c26d4366f40e275e08fe77cc269e1fb8b57781a890596559534eafe134f38343353
-DIST firefox-102.15.0esr-tl.xpi 532365 BLAKE2B ac7d808ff3fe586a598203cb9175d9422f071047960835d456ea31c3bf7368157c0b214081edc0e1cdc2919ca3e91eafef5d4b493fa88bbe68005cfc59ddc88d SHA512 3b89b00827874f8e97bcb1519f5777f139af76aab385532bda3352843f64b577c4e45719a6307a3da0a8a2a847ac438e6ba5b808f7a292bd39b052e67b55303d
-DIST firefox-102.15.0esr-tr.xpi 590495 BLAKE2B f0212926373ede41cc600415f8099bdcceb99c0dba1163d88e53c81277918652106e809264fed13eea6aecbe57a7b1d571661c0f937495552b4695809750d59b SHA512 9569c9ab038e3cf8f7b727b16930d6990761295f74d52aa3149670a6cf4a7435c2be051ea6c3a394bc448a6581edf405b094762af370639d7dd9123b96d4541c
-DIST firefox-102.15.0esr-trs.xpi 497381 BLAKE2B 80425f44f660717daf3bba38bc5aed2b47a4d048158f1c05a3228be90dc0d64575c71bd5f982c8baf306d23f391cadddbb17acc1eba3ffb64c7bca0833428cbb SHA512 30d094bf0811f21620b5de611822e3c9843477cc6c818f5b84fb3168492fa0a79e4d2a1185ffea3abf3c0be9e633e178e7ffd4a60d8b23f42fa2538b4695acba
-DIST firefox-102.15.0esr-uk.xpi 664322 BLAKE2B 6910bec52cacbbe26f037cc7e9e056fdda681aebed2a3245d3f17b1ea454cbf80458b3828292695fb79705a91760bf9079a7d30031056e4a69ab0d2f19a8e3f6 SHA512 8c81654c2c8ce6fefa792032e080e0b840589920818ce0cc005a83c0b6f604dea5af7d69bf848f370acecbdcc6b2a6c9c78398f94b91524bc137b7f9e4f2e45a
-DIST firefox-102.15.0esr-ur.xpi 569915 BLAKE2B 353b9b474653d01f0b4aa98e2cab7c95479643f006b77588f9833a558da14d373a11cc0dd2d2ff9c60af20f8a61490c2f45495a9ec472481a2a202b8c833c2ba SHA512 a6d606517fec20311a22932aca4f8bf725cc25049772df23099975966fc14f1df975b7047d07597127d50b318f1934dbd9bf4777115513410ef5070ebcbc71fd
-DIST firefox-102.15.0esr-uz.xpi 488879 BLAKE2B 13eeaaee4a995098f54903e61760a0dd18a085f58fbfe926e65fc0479e659ee90abe07f2c8643b5993589112f6d50aa934a999626fdb416df82128db6a1196ed SHA512 e848675f7f5cb873421ccce35a1fde12d234e489e192f4000593aaa309aeeef9ddd084d0f31cc197313afcd411890edcf02adde78e324a09e9fc92aa0274d663
-DIST firefox-102.15.0esr-vi.xpi 611426 BLAKE2B bd181b8cbdc41cb5808583e84ea9ac9299a6301e8626ad4a6be90cc78f44fcef59ec84e9c700283f36484044ff9cb7371cbdda0e1342acd50c7c17d902daa28a SHA512 ff544e06d144b4d9662a10dfe69de80849b97b5ab41b8226cfae2f1ba71ceb344fbe00edde0a1d446b5d252ce44679bb8432b43cd7029ba2e28ce1dc4a60e945
-DIST firefox-102.15.0esr-xh.xpi 427933 BLAKE2B fb3ed0b90281d9c4bc2c48af77a205193b5870c86f8197b44bb4ee502e0d7c135bdb8e856a22d0c487ef9c9242f475f300d5f45fbd507f368eb7f900a22a2d03 SHA512 f92844dcc0e0d4449510053598b11d183aaeec5cfdcaa1e9d0e9cf3e4324beb6394b7385bab0025bc0bd09785a939ee6480b8e2ec21834d29bb6231a65e489c5
-DIST firefox-102.15.0esr-zh-CN.xpi 613308 BLAKE2B a51300256ada6338471a0e39d237b4be1ca2ad4853a7b5e81e230093350bf08bda65ed9c6f69c26298ee01ab94cab1670063d449562c04f7e0eb5dc9eeecfb79 SHA512 afa427371defd062199ca5046929b7b57d7a6847a0ab04ae3bfe01ace7690a187532ffc51db6188e563134acb16ae4eb68ab480dc188db09efd55dab1e3d3c48
-DIST firefox-102.15.0esr-zh-TW.xpi 614578 BLAKE2B 562937f3a3cacc41c8cf197fb782363f7064acda47e6980dfe8770b332d181a09aae48b0b059c9baa9c79e22b2f44565947daf1ef5bb847b36deeae651b0fed7 SHA512 0f3a5a35134f040e4255241a5f321df8eb363f6b5cf04eec76247821153f682a706e134a7617e1d6e8c183ecb21d13ef171304d1636e798394d6e721e1d3a8b2
-DIST firefox-102.15.0esr.source.tar.xz 486592324 BLAKE2B b70727fa91d0d270673374bebb4745b87f6194191c1c9415547d772811a4a85f79a97e8985877eb5c9beef43fe15bef574172da35935e7024a947919ec11d883 SHA512 87db6e32fda215253f9b3bd233ef7fa91a64349310064b8482e5c634f34cbe99a2a111d74d2b9f2a99a0b3b510dbf9039ebe4ccfc176c2554d65bc9cfb508bf9
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
@@ -195,106 +97,6 @@ DIST firefox-102.15.1esr-zh-CN.xpi 613312 BLAKE2B 5dec5d8117dc31b4d2ad5fd030d623
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.0esr-ach.xpi 441069 BLAKE2B fe91a5aa23f0bdd9cb171707175f04ec166d5046accf690ba38e1e9f3a33b38e7b067d6017951fa1bc6e1ade37db140b9d7e9ead2e8c07bb138e2c3c8471d908 SHA512 9a0c363087447b9fd88d1574e44b4343faa1fb171555663556ec6befd07ee654a6e713f8f6c0f8504bfef719d1d98968d26718fe07528e7a4627e97286457132
-DIST firefox-115.2.0esr-af.xpi 402484 BLAKE2B 11c14ae381f21ab8b4b6a02beaebcda9ff7eb2fb4bb9de43dab0cb91a143ff9f6b7f196e60cde42412aa510fc61dcc3afc709dcbaf0b463a09b5dc83ec3795a2 SHA512 679b81820d76f722f9df18fe28fe51d88dcbdd9223ac28c17978093877a6205dbfce6428d153bb2706e6871851bb6c840482a2c32795cf07de8c960512099371
-DIST firefox-115.2.0esr-an.xpi 482928 BLAKE2B b0996e341becfe4da27aeb5ee148489bfa3c996841336c27ae0b223c663841dc220b99980fb2fe0a9c59709e4c35b83e7c76492b97fcd711b3cf551cdc2c0cb3 SHA512 580fb01ead5396dcd62e5faf524ebef1bce4baa23b1231a11186d3a77ef70b64b66725d900f998184270e5f5f948cba778ceb68d2486976fdc0ce284ee72c6ab
-DIST firefox-115.2.0esr-ar.xpi 549543 BLAKE2B 0adba33697c32c6b8f0da52d24c0bd8a53742c58db45bbdc73249d31656472c42fa8b4a24505f9c4889e79e83f7f0ea60692bb45e43265f0d9d9175b9fa385f7 SHA512 df555e23bb9b49300c0cc77bcea3ae15a2e29a62f44745507454fe478d408577c637951a82c5131e5c5dd686b5f1bc091990c964062a92f93d5a9e7f05293e8f
-DIST firefox-115.2.0esr-ast.xpi 477350 BLAKE2B a084f665090392de787a3eeb902c068ed632a71cc96dee79f1d7baed25aa7fef61fffd1b360c0049130d3bbfa682bea0f49ffe947836780967b78d50aa322dbf SHA512 100aaea526a25740c99252b7bc2777de2fe82c2461db41714b816d3603d80134b66fbac48e3dc64d9dd853cb20f597252cfb7eed28cc8d6a75cd4c22069d678d
-DIST firefox-115.2.0esr-az.xpi 470734 BLAKE2B 9cf3819c5cd0c67cb57b6b7a5175fda8680c2886d973b1eff5e728567e7c8c3517aa96d94966314892188f3b82c0e136743c0128a7d5c1c7040729b6fb16bf16 SHA512 a1f0a95bd11fcf807cb32dabc72b32912fcfc2fd39d2f4f732ae4948865fc48b95162dfd1bfee2dbab75d46441b8f61b6f5658bae1426bc3f446cd82adde94eb
-DIST firefox-115.2.0esr-be.xpi 647108 BLAKE2B 08e60e7b9f2c36042a5b13538c8a56dfb1a6902904d525099aa55fc7d65bf0c88f6d83d667e613927cc28b40efbba4b1475ca5c8ed11deb3ce739b8237485197 SHA512 f0b211300f7f10123959b644e52e5923db8ef001fed421e793f3de3315ac752643b6fa9645a8b2d45d1fea7bc00c8cf4a1d3156f09f92a1a57642eb430528c44
-DIST firefox-115.2.0esr-bg.xpi 564174 BLAKE2B 8c5e49b876791aebfa65cc0cdeb9a98623036d3aa978a6258fe23e1cad18130c31052b25738b76e314c74910030505dc16119ef3a0fe73f8fc602f0a0d7c4500 SHA512 7e139abc2c6381348438e02f794d3c9d757d98c270d790cc9916a35a3c374210a8ef050e110132d0f13ee32e462ab818ada4cbd42ecff0dbee6dddbcfe3f3ed8
-DIST firefox-115.2.0esr-bn.xpi 558429 BLAKE2B e12d68a08604c5409df65f3c7a6af58ae4329b79d64bd0f14df2b7376607c0265ce85f58420e36ff8663e51228a002bbdc1f1afce83c30033696aa89c094929b SHA512 c2cef85f422c2eef9a00d86eab2c3ac8422b6960ec95eae9acc3de99b85b322cc5e3bd985ea844f7e0a0b8fa34889c208202e4acaf2f8adb0fa53759fe061628
-DIST firefox-115.2.0esr-br.xpi 534379 BLAKE2B 9cc405c426312f1326e85ea12acdb9a89ba7fbdd4aa0dd0c465c8556850275d0784f5e40f461070b1b8cf18c4d6730678c5885139df683b171e67d92fc2245fa SHA512 b08de87e38268debb21bdedef0098c0e7062c8854b028a29112f6d099d4331ffac212b719cbd4276897bfaa751bc5a7d73ce6381c9d2d2ff25bd338d4557275c
-DIST firefox-115.2.0esr-bs.xpi 441266 BLAKE2B fd52edfe194c93e73e80a2c36f9ca1a5cfa4a22ecd2d91b227d92b8979efc08eb9b147d42f6760870b64248f3583c58b76eae0640d6484425d93d8cf5ba23c3e SHA512 ba017999ae3732ab0ee653e363dd623dd4125f5a9eecad171ac1f317931bff093af15e2253461ab064e85daa975a238a8b59e845beb1b68847f3ce2aea558763
-DIST firefox-115.2.0esr-ca-valencia.xpi 521962 BLAKE2B 4c5311fa385e078c788335d876aa59ef4960adb2ab2533cbc5702455efca50efed20fa27fbb1850ecb2d470896eb6398a318b6693077f806b3e6d51e42e9efa9 SHA512 c6bd2e7eb3eed3b107b26988e41c197cecde858bd025d0428441b9c732da18638a8596d01785d08983301c319145c1e8a8c9a4ada80da4c8cb2d38edfa02b438
-DIST firefox-115.2.0esr-ca.xpi 545489 BLAKE2B 3cbe2859ca407e4c55b8bcc3b3a04529e5e982642bb8640891051c48a21c2b58e6aea7266131d8fe5d5f5e416b90481ee8d076adf8410193562a0b22987a1b19 SHA512 155fd6751f8ef3c750eb2815f3b61d10747196fc36e35a36793f3d0a3e34cf4770ec9c071063f481d30a45a8263ba9de58c77135b481124b14d87df01291069b
-DIST firefox-115.2.0esr-cak.xpi 564581 BLAKE2B 9feaa595cf05b024ecd3fe36a5513c3cea9e386e8fcc31191c2c9fe6e65a70e848e47d108fd5e290bb586506ca7fb00644b7edcb5b663d92a40fb37ad95f5df2 SHA512 8f0adb91ae547a9f0e40b3d82cafc0f0d142db8019baf406b6aab1bd2f0d4793b9c9ed88b8301431c5a24d0ba045bfc74ec1ffc723545d6baacea3f6c2e21ed8
-DIST firefox-115.2.0esr-cs.xpi 592259 BLAKE2B 9507be31e2660262c115ea0e194cad5fccaffdf61fc7360601a78d7fb6b75d93321077402b335ca9208ffc57f27059bbae9bd8c2830ad74c7eba425e348f62bb SHA512 04ace8487fb904439f875bfdf0fc9ff152ff997cf34a2b5a134ea71a7d16a71db9272d579c160b61e709b2fa48236ff9899c7cf52c9f8dd94051c594b3c1c966
-DIST firefox-115.2.0esr-cy.xpi 564696 BLAKE2B a4cc97d5a8d73331cb54720f32fd1083bc8d2aae5c5364900e1abac3ba05bb45d81c72fe1b7d98323a7917bda6b38ad732d9505ee76a6e0ef7ac35e417a123ea SHA512 eab3213000ad264ab3bf16d7a0458a3e428874dfa67e5176f1f005e94b381680ec2756833740937c29e47d92dca52085ec4c22fcf804a24b1b7af6baf71bce6b
-DIST firefox-115.2.0esr-da.xpi 554015 BLAKE2B 16ff814c0b73a40e4435daedc22a67fb94e439a82ed9d80f809f3bbebcf3f227bcafec7d919a68e9a074eaaaa6c08ffb31e716ef3048e70bc3cc58af531c6701 SHA512 308130e37cc855a751eefa8767dde179ef62429aaeedd4752a3af77ba9a6eb23c8b8b3b48ab44046e942365bab950d3f0f96e7a3ce3b943944e24bc7148d3652
-DIST firefox-115.2.0esr-de.xpi 574623 BLAKE2B 1527de786fc7f5d611fd4c99874c9d69fe5b95872b6871b50ce8e1ff809288e65f0a76ae37989dae7e6e7b7d0f57391df4cdd4cadec1d92d6144c25acc986f92 SHA512 8bb25f5ddc88955c91bd4efa194ad47b44e234cd7cf09c8353b734b61249d1939848c2ca0395be817c3a67150e45febcdf788b0f2e619360c0f3ebe5518a190e
-DIST firefox-115.2.0esr-dsb.xpi 589341 BLAKE2B 029abdd8ca3590ead2855f1e82325f5c7633d1705fcd6b3432d12cc44d5086b5db80e54c3f1e4c5ee3c0a02c0ee985d151df3780ffe424cfe4449b2df445ae80 SHA512 58f50862c94c1feb676c3027e341c6f33796b703c846246e81f6b68df41514634a639017850222b8769ab522cf718cb6a81a89f5a9a7ad3c93195f8ded2a32bd
-DIST firefox-115.2.0esr-el.xpi 663772 BLAKE2B 5daa1c6a1b08939984f2bf0d27799e4fd372b91c3fd6175e8a29899e41e42c4256128869498b63d885cb5631ed22e0c15fee8ee88559d6ceb1b6f0db2cdb6817 SHA512 a8fb0581e1bf62a938f1d145db6768e27a99a57f5fc1ddade620e70b5cb2af92ac1b7fc5683af485c4e04c911b469904eabf58f6d07f7a3d2655a83270fc8059
-DIST firefox-115.2.0esr-en-CA.xpi 519418 BLAKE2B 0d6e60d9b9bbc23663ab069799e63db8e3c9c1ee46369a12776bdb9164dd339f395471bd33b7decdbdb402b91e5d2f80d5a37d5fd1efc5088dd2af20cc86d65f SHA512 7eed2a01da71b2614f14a3c25dea14e78267e2fd64d3db892f90c934df25b6b06eb4c96133ce0dcab309079025d64823ec89be4da07b7effc4fbf8e70bbd7685
-DIST firefox-115.2.0esr-en-GB.xpi 531045 BLAKE2B 01109441d3c2efd3186b02596985ad846e0ed80b249ac096dabed9bd7ea0784baadebd4de2ef5824b6fb81c99aad5719e29f426e7f25c584b3458a07063c5dcc SHA512 df1978fb781326c3c155192ff6ccfcca072d152112b4e66d2878a1bdd30f2b4f32f249f5161d0249016f1fc79ad18aee0360244bc8a91faac27f950ba475064d
-DIST firefox-115.2.0esr-eo.xpi 556385 BLAKE2B 21ee6ccb18911df753bd89bff0ce3de29dfb79d87e7efa2af7c2ec47ae6d9b1302639df72144e5a4c8ef0b166fced1af3d9665d8fca2fa724a4540cd13cf6d93 SHA512 3f2e9fdc718e7756c16082d3565b89f1254fb88f7157f11b0c76c1d8cf1bf5be81ed8816f0aa091fbfb7aa960d7d0ccd421d7923d9902e47da743603ad0efc35
-DIST firefox-115.2.0esr-es-AR.xpi 568962 BLAKE2B 1e8f9d4a13cf613d58a5765addceae06712ba20b57f9bb86a3947d3ec6d0f56b9757c4314e31aca360121c529902e9f550012643b9ceae89688100df375754d2 SHA512 281f83326efd213646c027528cd42cebc255a658902e69a4fd793595afc9ec185e0a942c296467d4dd4493d6173cdf9c821abc9194a1035b39a522da7933d630
-DIST firefox-115.2.0esr-es-CL.xpi 568610 BLAKE2B ca8c925b98ae18b9ae67f13e76fbae899d2f8e11998d94420b964f39a4a24d92816c682a51b43a9a1e2b50172cd4438c213b6e5d009fce9ca42525c2709d42a6 SHA512 f39739bce7064326165b9c3b77a8b1e525110d07891316648a28882e2364b3434d05900813601fb4184056f8760a7bff4f57fcb8df92ad65c3c621aaec5af027
-DIST firefox-115.2.0esr-es-ES.xpi 562051 BLAKE2B 56106f2ccc2922bea02a0e6e51bb05142ce67e8360175405d68aac4d8bcc359a4c6da3f3a3ca809cadefc5fef267332fc88d65be5bcaf68c775a2b0ec0e48d96 SHA512 3e76ae09f24f448f68fc9b344d5c15f960ddb8ba3d1945ff605b581afb6d8a4625889157f8546d2daa48039ef3e7bd7a2418fea827903a3526386fb6585e9f83
-DIST firefox-115.2.0esr-es-MX.xpi 565317 BLAKE2B 6c1fa829b26988a8f741fcff7939f973ca10148d4ae6cd643990c09c4fd132e27eb67d0097e79c0e7d78ed54b58f45bd1d9733074072f90db2037695c95c7057 SHA512 ec927e079b10d3d4a78ddfbe36ed3290478381e201845827a04ec2ae997dc819c581bf4606f9dfa1ada385ad82129f3bdffba7c0e3a01cbe562b8a810d4b6c8a
-DIST firefox-115.2.0esr-et.xpi 516136 BLAKE2B 634535f56a2d0bd64f24252410659d665e5df1cb07ad7dc6a6362bcf13c1ef0aed9b3ea56842fc9a39976c7ff7235bc8b725e897a4e59a0d3cde64ef53b6db64 SHA512 7f6c6a73ba1fda7375547b7ea67fc083827a40e06069a97e405cb9504106f39bbca35af525947d20a6f6b8a9bd6291df1ecc983c62d6eaf96256cf2bd26d8c7e
-DIST firefox-115.2.0esr-eu.xpi 551626 BLAKE2B cc43ae6b729c7b4f1168cfecd7bc3c8600d3d3ef0487a3636c9bb92ea5b0172d0f80f45c45753a2f6f00a4eaf6ab5728c485f064b88995be5f832b972f0ea8ae SHA512 a550267ada41cc344aae5e307a0045228a51304f6b2ee1c98b8e2954068ad624c4b788105e110d238027faca4cfdaa8141d4329a07622a56f9d9af8f147b4568
-DIST firefox-115.2.0esr-fa.xpi 564539 BLAKE2B d5d8e3139dc0887662a1c6135219f0b71fda041973cd922f05fecfe291f99ad875153e63f086396dc312c8f8f2d45bdcf01d40c13e69c433ac657270a9963642 SHA512 878064159e96a002a6f9cb4ac75974ef142129ba0731b225a80e8f1541179ee9cf293ea8d8894eb2642e585fab29c959788b81a9257aaf6d5dbe3648f9fdf908
-DIST firefox-115.2.0esr-ff.xpi 457110 BLAKE2B 03bcb50c97e0f06a18809692876e690bd02d22de6cc3a6fdd5fa2fc0cde65213d42c4a30eded001f13c93042893b79f0fe6ebda67cf6a92bd3835fe56cad6111 SHA512 befd10bd6c0c079c673dd8db6ace1914cc8433812b47cfebe3c4f63ad68d51cf23089493513b04ef3632ba6cab74aae9acbb33ec94365c0aba01b45113c044e7
-DIST firefox-115.2.0esr-fi.xpi 551247 BLAKE2B 277d477ecdc1586af3a3128992ca90aada3363a314298fa248a4f4f6b80ff41070a7bb76503a69a5874ead2ea8ff31c172d2cfef3e4113b2b1929bb8c7d4bcf5 SHA512 c3a51439553b3f6fad8f6f4cede9e7c3898c1f92a0c862959f3f916dfe0c9eb5eb45422d1e9d248f31548af4785c7fa8580c7fb4742af69de6b2c2c339c75611
-DIST firefox-115.2.0esr-fr.xpi 580607 BLAKE2B 5d7586660fd5ac0c0a02a60d6ffdc5d1b57cc15e047339af57e3ed3da3acf3b7bfef45638040d1670b57c9f781d025c3489680135d21afb012b5d53d8583709f SHA512 b4dd6701aa9691c1bfc7e0fbcc36c22705a5e91f25bc839be9bdde2f46a53d2dc8995821f5f82e3defb6a29d31084a48d120a15aaed993ba7b5c690ae914bfd2
-DIST firefox-115.2.0esr-fur.xpi 573081 BLAKE2B 6252c69c143f611581672739efa54ffc7233f617e86f7b4f61c0adcb2ffce7c464e9b39d381d724bc16ff8482a66db9510cde218e646cf390583111281bef8de SHA512 6fe888bff0593c9186e96929d2386552e1fd04099a30da6725f757b8542c5b39adfa6fa63f352cefec7361167ffaf091d16d28098229e7e5b2b177b5b5fbaefa
-DIST firefox-115.2.0esr-fy-NL.xpi 564936 BLAKE2B a98b597e865fed8238e9798ca604a6ff01ea0ce578e2ccf5abfa699da991ec6f7be4ca46e05b1ca0ec7e7e8308ac803d039fc5840eb12b6b09ff17b47667bd8c SHA512 9ea620096ba24a10dbf7102d6731304413cd2a84c9dae50ab88e6ad0fc770ec75403e28b64cfebc31cc06d131007f7460660129954a8c26d1778918c3610bde5
-DIST firefox-115.2.0esr-ga-IE.xpi 454336 BLAKE2B 2249f06ca1defc3b5919ca624c6bfd0a4a2d656272929884ece9521f4512297ae6005eaadf5d9722172e4022d57305afbdc2a435e1de5562e754114b90d15d1d SHA512 c10fe63edd7609281793916b05c0333a597bb37513a81d38a259b8995e79d2fb13489ff0e213126cb9b509c510a8c264038558f62ff3c17ed7bf948c549d8435
-DIST firefox-115.2.0esr-gd.xpi 566963 BLAKE2B 1a51369d3ab587b59688b28c0c47f54cf83cc602d39cd350c31b8c0e2d9018746fdc76938940f311c8d053d5237ccb2541e399cc5e6ffda4f5b631fb1e69936d SHA512 7a479e3db42027744c199aa1eca2a32a4c6c784d8073763d5120dac5986f8ccfdfd9e410e0dbc2858ca8ae46b1d669aac30c5d8c29ecbff603f3eb435aca0fff
-DIST firefox-115.2.0esr-gl.xpi 565485 BLAKE2B aebb11cb0618b3e0486a0355f7e206e328791fe94f69d48fdab23a32ef2e6e6bd1677e89f124d37699e3e648109443641b4dd32c40bfdfddfe7aecd6e0e92b96 SHA512 9849a854dd8e36d7d5272fb9808b995361ec3c7194b6a3e9022a5211f56f198ef6fa8c0361678cc9765e922c1dd612c5198a279dc31ef274110bdbf1d38c7aa9
-DIST firefox-115.2.0esr-gn.xpi 577574 BLAKE2B de23b9125758128f1cf6daf86d286cbfa98b70fa7d279f5ab3bc7e2427064fd799e8d92ae7c38b57cdfe89b2cff5082c41c5b0e54e125b961951d4f949311959 SHA512 b3cb4f8c63f2167c9edadf969daf6698c3b1f64133d8b157faf4cc6771c80c1ad5f3b84094ba7b407da795ad9fdd628bdb48832d4561c05661c58085a9eb7f91
-DIST firefox-115.2.0esr-gu-IN.xpi 506687 BLAKE2B c318daf6969d1339e8422ba32c3b2ed53c8e00f70b102257d878689f0ba4bf9637c6158dfca8224c5b86e6b96d43e6539d2155ea9efd7daefe4a68176c681e25 SHA512 3c880378379f147c00d0f3dc1b4166d36848b6b18d044375b273df3fbf6c86579842012dd3a4292779d82b730079b40ab0d7c37526e0a614e0a9b0629a85fb27
-DIST firefox-115.2.0esr-he.xpi 574383 BLAKE2B a34b876509b9148ec69684745f828ab101a774d4b73ffe726a1a71b6b4c38b06ed11546e3a5f58b6394c65286f820851188b2d003d62d4ee5d52b07cc44a60ba SHA512 efe18f3747d3e4d31fb7dd8ecc9c24b93260ba62c3e71f5c1e240bbc566197663fe32f97e317f91aa82157412c9e2770bf484df42bf33ca809fdf0efc9fc938c
-DIST firefox-115.2.0esr-hi-IN.xpi 538827 BLAKE2B 29d83a4010567e6f07a23e545fc750dc5641b420183552fe3d1e70fce81c509591839b60bb0f7bebe280bbcdd4978c82ff2bf2c65a76f7f2bee94807eb2f6d53 SHA512 839940299160ba44d5605ba3923b32e9ec5dd4b649da3e0277b34d1c02cb9d85eccf5424fdd3070ae26046fca94395388eea2801956432bd80c22057242d13c1
-DIST firefox-115.2.0esr-hr.xpi 531647 BLAKE2B 15ba781b7db57455eb0f08897482abc26598bf54545399766c1f3d5e384ee649aa9babb3cb3452c8b25f582255fd86b0c76f8a8ee89139b7df08476849b66133 SHA512 ae47bbf5f1d5a2a12d77bf8ce1ae732f4a33816d1921e24f790388457314824cb5fe79b346ce008c820cefd5a295caa4395714a13c0c869af47da603107b7832
-DIST firefox-115.2.0esr-hsb.xpi 585520 BLAKE2B 3dd2bf60470dfb7a28f995edcd8df29caec44eb612db5224f0de7295f3c95b770d4d9b481b6c9c3a2ca2d56104129718575642cf615cd58587cf0fc4472bd2cb SHA512 62798d5911ecf7cba62b08d348d3a8f2c2b431bcf166caab1e1bdc3e4e38f1ff4d4830dcf6e64a63314a85ef6784f563c8974b2f6bbc66ab474cb22b85bfc449
-DIST firefox-115.2.0esr-hu.xpi 588978 BLAKE2B 693942a6b21d7ee74659b1482bdcd6affd69c04c2f7da5111914bfceea2ae3d4ab80f799c7a3c0475d1e830c3b7c6ab503fd5c250282c2a8962d705747447c60 SHA512 e487311b1474e636918eb02500307ea6dff85b6849b8a6ab63b0da9b2319233a0186aa9614b8bbd38f97865b14206d743a6261a280e2c71ea3b8714c6e012929
-DIST firefox-115.2.0esr-hy-AM.xpi 579200 BLAKE2B 7c8883bef488ff010f85ea9bae21738f295cc01e75d76c37a62dba07a6863ef3caefddaa44e3606473a15bab951b36f8aec0fa49f91134f372f922521bd6ff59 SHA512 94ac4438121ae1ecb6af95e79a83ccab56c49af1a5637da64e117dd11ea92ed3b853e2032c7490f57dc4618cb5cb312920df4099a40e58ebb86d8cc1056d0a95
-DIST firefox-115.2.0esr-ia.xpi 553073 BLAKE2B 0e4a8931687a919140a87a854a0758b63a69d8a350bf844180030cc84070ce10e797cde03a6c5aebf8a70658ccf772ccff1d0456553f969101d5ca4e9cc8cf54 SHA512 009e4702c112f938789a0e86983bd558d7ac46c2eb047ba3b90a8f5e62d7addf535f7849613c991197075d53f514db1bbf85f1df20454f3ce6ff0ac32b4fe33d
-DIST firefox-115.2.0esr-id.xpi 537738 BLAKE2B bf26b96a91a054f5cfafd7245805606feea8872b570363713cd65534868001bb9d6c5807920d2388f8f091db858dcc9dff830f3342c5838ee594098f94561a46 SHA512 97c40004ce5cdd48b22572c0c9f1a6f092eaff5e0d26bbf04c9cb90ce40742f45d20b00e501b83327cc37d1ebaf1638721c7c58946b91fe7b7547ea33e2b1d57
-DIST firefox-115.2.0esr-is.xpi 560800 BLAKE2B 1601757383555971370b2fc0a246b5b5ef2ef0a4761081193b44c32ae633de9a5f886b756cfc852a6f2589d7b82eabef7ac2273fe89bb8377755ced63237e6b1 SHA512 c23687ce08ecad2470f922718bc77ca20407894af67143b42f12557c815250b856c9bf177c8d2d241e0f88ee81e09dce594c0f99ee4b77880b4b9356c2873874
-DIST firefox-115.2.0esr-it.xpi 507475 BLAKE2B e14a1c2573084aea471898cdc6fe89c096c93c789483579a633e01bc644d19685e77f1711bcf180b4229bd5bc5ca8003709f4d8dc690c72241a9cc8baff3e7d2 SHA512 ab8da0bfb7138d1aefb6579b2b2ef282e36efac56ae42e3a41b70e17e8ef4678f2ef3d8ebfd7b33ac15d389642ae9f52a539ed9a63b8bb0e9c5832efab2a1625
-DIST firefox-115.2.0esr-ja.xpi 634409 BLAKE2B a473378bdec222e2e5340cb547d23ac4a2ccbbbed252f2f71856595a6954207fd08e3e16195f76868cd7ace75bb5d5d98740e3da519c36c2f0eaacd0fb32ea59 SHA512 8500be22eee242b0b301f96f5dac9dbed65fa3c49e4aaace6ca1eec059eefe98af0fb339cd0b6c675d3489a8ed02aedf5effc7505aaf7b9a6b872ec9f267de27
-DIST firefox-115.2.0esr-ka.xpi 610753 BLAKE2B a49c2c354554845eae247afecfd5f563da887c42b04a866635422ac4940a70252dbab005476027d455b7ab58e31ff0c7604c4a1ccc919c6507f81809422c4307 SHA512 ed08c9b19766048705de83ad6916091d33cc5c02106f13bddf861973fb1fddb641978548a009c4850b975158b8a07ee201a1bc5bbf1dd9c380297129419a4005
-DIST firefox-115.2.0esr-kab.xpi 562651 BLAKE2B 71e483e73d643fcb9216cac184de163bb244648643159b1d26a02b69e96e6cb6ed9d41ddd2b702ef156490985f0ee3ec78a5cd09bdf3e305b35af3fb443d880d SHA512 66b2361d73719f6cce647506cfd9e3fe904cabc7bd97a93d0c01a37101fe949050a9f276731bb6750cee5179389e1580956b8eb0ce6b9fe6003eb048b98ad4a7
-DIST firefox-115.2.0esr-kk.xpi 639134 BLAKE2B dbfae75e626b9ae67adf937e866bcabfd7d0cc4fed29b5e1fa9cb60d9446a9c0cd67bbd14d2c2a52f57bdcf37e956b06582a5122273b6ed0a9d5b6608b9af897 SHA512 dca21f4300fc5047c41663ab72e65d6d1569858b09c14d5045b2efa8f30ea1c21507c72fdfa1a6e3d9963b527e6d54951b80b045720e6cd5a629ae15df18e692
-DIST firefox-115.2.0esr-km.xpi 508123 BLAKE2B 791dc1cc15d6a2b61e8a2eba34b2b612d5d41ec4f3689e795e17e42f5ab2b34c7b7b8d68ce7a1436332bbae78ad1aeddc61b17d0de35be60d5b71e5db79de0ef SHA512 ef509ca121bd7f6251982cb6b850f638fe74c7e6b903f5ccef9838e5df22376a7c29a70e8efdb8f2608465d951639c160af24b964dc8c7316c1ef86aa99dac8b
-DIST firefox-115.2.0esr-kn.xpi 473773 BLAKE2B 96754ca39d5a5e1d484202f7b31779b8a17d813df1934cc7df1203883b38317b3176842dc5e60ca9c76e37b9043f9210f1ace6fc47081f9e34f0fcdf498ecd44 SHA512 0a6944add7c6df4de696d833412a2603e317b545bf8a37fac35ea3725dd467eec52d93f699e44282da69c102e858629e15719f3e37270623bfbe188ddeb0c3d7
-DIST firefox-115.2.0esr-ko.xpi 600391 BLAKE2B 7b72b79f7aef38c0b5003286e434b2e6ddf972c6a9f8245ed4e9f3a2a54a587d400803d3dfeec7cf7c71f4dd0424f9e347c2d0a6b931bd2ac6624d4e73d87e69 SHA512 997de3908da3147c737e3bfae9ea6d377351ede33be5ae3c2c8757312a70480008b88d6564b4eceadede8608822bbbe4af6e242ebcb91289ca3a7b95f00b9ab2
-DIST firefox-115.2.0esr-lij.xpi 463743 BLAKE2B 464ae17aa3429ea878e428ca7c684c65af8eec3c320cbabb6bd4d357260c46e612a6be9fb4eab2482cf7c3aa9d59c4273509791a1c5d09a82bdc31ea68dea840 SHA512 920ef4675129230c31b21cff04a539324de0e29f37f027eb49abadbcb91efe0fcfed85a67627968f8275fd3932a75b3ecec20abec78e66b15589b728852d66be
-DIST firefox-115.2.0esr-lt.xpi 548306 BLAKE2B 0c2ca65e1788f40223052054d75354cf1bed5c3b2b53d0356d9203e71fa37a4ff89a9a1d59ef684665a2b53b0a3cd64b96cd98b99573a1b359b99516397d03ad SHA512 67d7c0bbc036de68d13ed21d41653fe0ae24ab08bacbb1383234fd69957e0452fdf6c6bb23da05e5b4aefd8f7c8685451346698e9ca9e56c311393e1e97f7859
-DIST firefox-115.2.0esr-lv.xpi 450738 BLAKE2B 54e9eacf95c7518f08a8737b5fb6e39fda275644f94173c23e495e51604dafb29b7974f6a6e2f1c0240e0766908a332b6530894a81c40edd0e687d277408906a SHA512 b17742b72f2217da3cecd72e2cfbb3668e2f919ff10f2b8bc83d758367cf5f192a333f30006abc671ac9a7d64ac14a196a1e35a893066e38827a3af11952aca7
-DIST firefox-115.2.0esr-mk.xpi 470105 BLAKE2B 7b70a73273c50986b958f5e65363c3a71c028139c0d228f4ab831d358001d103bf93abb3aed89907ef6c72b00320d202c2ecc182fecdece845459e85aa463b1a SHA512 41a8ab8ab6140b62f5b9f5d1a40a0ddc47f58914353cb14077010263c6fae609cdbd29d518d8302db6e4ebb44c6609e0c96720bd7d676b27f426c6717d78199a
-DIST firefox-115.2.0esr-mr.xpi 510465 BLAKE2B 02c8d27733b5e13fd869d4d1467b379393a74d15c4cb8da5908da371ec648821cd7ee54fae0dfe883fb32f2f1605e3726e7e213605b24fbf34d1da7fb7b61f6f SHA512 cd9ec7a8c42ca0346bb5fac198f79e059b117b71b351b72245c1a7ce71fd2713f013ccee62fd479ad3a40b1ef2be53455ea84a66194605fc457b9ad712f2791f
-DIST firefox-115.2.0esr-ms.xpi 431282 BLAKE2B f82da4049895502393b3c6371090d6374b0c6aef04e30c3913494c3c23317fa5f266dae494bb1ff9a5907c02656a1a500099a6f1197151958a8ca93dfd4d9b12 SHA512 392f3f634f54773591b6b4114e6482c9c97797927f687246d97599c9b7ce87f2f8d45ad920c66af348af665165b58ee74026cb83a53858d024e68188d3a95643
-DIST firefox-115.2.0esr-my.xpi 493660 BLAKE2B f841b501843e6a08e32312465b19aadfdf4626879fd1ad894909bc12051856002065f00e3e367f0e4e436335e5e031cf4bb118d4d428cf3991241bc1dfba5792 SHA512 e345085a1efd0e70b63eeb9b15c696365a845b3f2e3a8f6f4ba1204831402916014f610cf583e596761d8c65bfe38797b3b77be7780ccb9cf015041275649c06
-DIST firefox-115.2.0esr-nb-NO.xpi 548975 BLAKE2B 52680b7669fdc9442e3a3b1cd48854120d186e27b1a3b8dc53f3404e25817dab573fa2fdfbbe473c5319442b2b42c735ffb9b24c8da7b1070f3549090e888bd7 SHA512 239ada6c6d9bc538c43cbde105ff811de8114b395f9b454f3d074e73f92334165190d171e72a8548f0d363492c841c4aae76f513714cbc5e2c34345b5bb27c21
-DIST firefox-115.2.0esr-ne-NP.xpi 469000 BLAKE2B ae8566b930facbba0a5a9f013cf4547c17c968d85c7da3517f196d8f58f9e20eb0c083e3e0240e52dc176fe418ce26c468cbcf4f56dc526909996480d92ea66d SHA512 a3b46359c10239feeba7eabf0d202f2c8619f18978fdcad4d263713373653237bfd1aca5b11b609c1a1c767481c83cc1b783295ece276a9b5f18a6b1ada97a6f
-DIST firefox-115.2.0esr-nl.xpi 559198 BLAKE2B ac96791e355d8543ef11ba9c37a34ca3cb2913de757a5070965424970ed3ce831c0bb4cb5453626a788c476d2b766807deaff07e98fa101f357a7c550fb2b2f8 SHA512 e9f807dc3e31f11dbb6892c9e8b4a5942ca56fabb57f3ef5663f20563454ccf1ff77dd94da639e076b183c54283920315d468c51f7b5b6b7d73f337d24138c22
-DIST firefox-115.2.0esr-nn-NO.xpi 551977 BLAKE2B f2c3d50178f9e6d19e86ed6474e96857068dd5a3e00b9df2b4d0287a5b23f0e1205be940896d105b4b11a1ba2f9314f9b331c801b60343810b5f231cd406bb82 SHA512 251349d03a588c1dacd4280cdb4dbc5683139eb7bfabe0da099c2403f640a00a84c86b5a40afb36bb0702ce66fdbad1c1af7729bed4a9c1fba70ee68e92dab7b
-DIST firefox-115.2.0esr-oc.xpi 572144 BLAKE2B bb28836a256cac9f74176e2f515e7a64a8ee47dfbefa3a04c7101b004bd2c4f85fe88c31b950aa419cf992d9e07f62596215486abf5a46915a8e3568a0e874ea SHA512 0b4219acbb3912ea6e4a351a68f4bbf3ebd0140230fe67322b9349d1bdacf76f1b5ea52babc647bea2c572dd3daf8a4838edbf4e58319cce42e46c1c3cf0a8fc
-DIST firefox-115.2.0esr-pa-IN.xpi 626117 BLAKE2B 69a27ad8d4027394c157e7c3eedd2dbb56af1e1a6696d6cf3abfa0a3ba5ee0854ba9f33310b089c6f4cee33e0ebd17dc8adfd46ade387bcd8952af7c1a7f7a3b SHA512 d00b5323bb5d101545a9ececff7e35e9a8e513ef6e7ed804e55a3b616893213c55370b2235b729e14d283f694a9b209e925f3bb28a095263b79ac9250622b28f
-DIST firefox-115.2.0esr-pl.xpi 579829 BLAKE2B 4ec50ace60536174b2394a8227daffefebd6b42f21ee89d40f12f421354fd8f7e69adefd6ed6006ac2b4da05a8cf32ff887a22c1fca35d415a29ccf29044f82e SHA512 2094db03db570b243c5a7a63bc82b3fc5784fb4be7e2477eeddab77dc86805c503669e71aac899f079e397f3543b590f628502340bfe425cf6c784224b247a45
-DIST firefox-115.2.0esr-pt-BR.xpi 563951 BLAKE2B dae37ca273387d943fd7a09c930516e5b10be849a3b8e5cc42012dbc6a26453500d26c933642cea97900af5de51e0c5be8f5fba9040e57fb80eb69046d96d487 SHA512 a6d6ed3b4e0254082fa5546015823e1fa321b430335c57d31a5861cd38bd3dddc2965193c58fd2d79a12c4e9f34dde583f278a9ce7e4e4a49a1eae628c0cf102
-DIST firefox-115.2.0esr-pt-PT.xpi 569067 BLAKE2B 52318706b716d57b9612172da653180eeff3688326417a82c49d79e055bf0fb833624bbcf92b24209038e9f50be9372d578ab7e270d1d6f47edf5c0c34ef38dd SHA512 07023fd3dce85fa5c7941566a81a39af084252ce2d4e25d42593eafd42cdc92c6b14c6fed83e140529752f59b328aeb4a569cb2c6c903a9c550a74b687929dca
-DIST firefox-115.2.0esr-rm.xpi 558669 BLAKE2B 53af2f0bc60a74937d4488d8d8df0e33ea55bd6356e8e12fd751845a5cf3ec889dd29793f430dd98b79b6fef677d8bae83f9973bd03f1c5b2eb804381fb6afe2 SHA512 3b5d0832b7824c5956110bcacd7d07e4fbe8756a84649aca30713cf39cffbaca080c12232cc0bc37566bc402e2393646d5fc3ed536270f6982842a0e15e3080f
-DIST firefox-115.2.0esr-ro.xpi 524805 BLAKE2B bf88f65263cfdda2cf532b30065ebedf12ff5230960c723f7ef5e8ef9db296ff442a62b4c2d3759114dd3552c7162767ac4b600b630e023287f22f6d04797780 SHA512 8ab5a57cfb8093b189ce269f380ca1267aad2a84053ea4654934254f65bf1a00952aed96441c36e75af16ab97e075daa4510c177988975dfea8a907f4c6f12ce
-DIST firefox-115.2.0esr-ru.xpi 651421 BLAKE2B 81c69ac1267ad03aa4c008c02488ecba5283ce01bf7b2ae304284cd4152b8ace90af7e64027506153aabb3aa5184143e0b3d2edf5019f69b035d63ff4632ed65 SHA512 51ebc1c389f9159675a76a246ab9c74aa94e2c633b7f65202e34a6e63a9151937f45fb63f37fd6f2c00ab44b47ac8ab3dee4469fb18d75ac18ad483c4eeb1ff1
-DIST firefox-115.2.0esr-sc.xpi 535151 BLAKE2B beb4aab822e99d28ec512fabc895cf8e55dff93669ddac0557f8d7a88b07986c963e800e50cb2935ab01594573e87b8d215847314ec207674462cd747fbf9400 SHA512 83f7ed6f68fa7ec59b517e2257421bdedf13056004eb32eb63166a92fa87e20e39224dc5e3cf367d97033dd41c49906577b93579c337e559ceb9bb8f3d47dd54
-DIST firefox-115.2.0esr-sco.xpi 489685 BLAKE2B 395e1dc15d2aa37b636295bf35dded5a765fd40037eada65f9a787021e0b99d6dec076e9ef5c6714bd113921892980007b8534001a43a514c51de0fa041d0e7c SHA512 598631f7acfddcf0cdf4a14c0c4e8fa4ed0610035974842dc5aaeb313910148e24121804505f44ab54181206e284b96bbe6cb63189f2ddcb06cd5630e9ee4f22
-DIST firefox-115.2.0esr-si.xpi 569016 BLAKE2B 5fa695cff7865119845696921d1498cd4f3413c3be7ba482c641d1cbe236012819ddb8990b4bb270fb9b253253191d465071060a5783a80b597a8acd42e2ed95 SHA512 f5887b32ff1a5837735e49792c00fa322b58bab9f3661c48f2b650fd140ba1e681d976841fcc92331b01bdbdc41db72c1651637710ad211321375fbc746b8319
-DIST firefox-115.2.0esr-sk.xpi 589725 BLAKE2B 763f528474bd0bbba637c281e3a63043b9d529b8142a2a8be6c0623293ca2d3446ee432b9069e701115f8d8164f7f76bec0f925a3c8ddc58527b80f3a89e1aae SHA512 a9f6f3c3e432a05971688e9a4d632ea42cdc4adf73c2d5f3ad6bbc4710741ea4c2a62e6febbc41af59b420ac0d92bf547dc6417d2cfd723f1ca98f3f87e7fa16
-DIST firefox-115.2.0esr-sl.xpi 562528 BLAKE2B 983411d76a3a8b33006b60d98e5d11e6cdc86bce0551a6a3def84a618a8d070fb28f6a85727ca737da31a37eac6909c18211da2565a61b0dca4e109c10fbbb7f SHA512 41de86a5586d5f20e3aaa1e23e7cd3d906caf38febdf2e023e26e7ddb741c548353bb42a86426e0710eccba65e80d0ca1e4e7504b75fe3966ef1e35c1b552441
-DIST firefox-115.2.0esr-son.xpi 400974 BLAKE2B 0cd803936c12e036abc176db4b1b2d2295dfa8b46be8769b7a2d079b11f0ae8015d041f041966ac15c0e7cbd2442ff03c51aa67f5b3403a3a63874e68bf57c4d SHA512 abf1c40d176430b271efdfa567d075241abee801da0bed3b1d2745514b83c1d80376577825f1248f0bf621241cb7e7a914b41d49591ce0733fe7ca34f69ea309
-DIST firefox-115.2.0esr-sq.xpi 564467 BLAKE2B b8d4db7b613b95e2bcd01c80c45110d2c6a828f8211f64bc22eefd61f072f321c576e3f67ae236db3aa8c0222798d9423dd0a39c818b3581a7605facb1543492 SHA512 bc4908cfa395354aa302442adc9097fcee5d16c6f16579109927b8da54fda75af6ea7f86a735f6c60e7665667c84c4fbc01ba4200422c86f266c2b221265637e
-DIST firefox-115.2.0esr-sr.xpi 614009 BLAKE2B 8d955aced39db5a51db4477534287aff21f64ef6519e245fb04c33ebadce259453892735b15285f449ba7c49f13d47b8bbd15d06662edd0b264e8eec890668e5 SHA512 88311611f2fb1140030e19923912baec6e8ffd432dabe316e559a5903922e32c509f4c95b0b204a5fadfc7850e8e5da2f304bc82075bf158f0db362e4fd80c2b
-DIST firefox-115.2.0esr-sv-SE.xpi 560559 BLAKE2B f6dd8304e709b3c7153d0a363006398a67ba2d5bdd5f7fac5b5478ea9dcbeb832dd406d3b92dc088a12cb37cc1034da3dee36e391d75d54f4fb00b456a5b96f6 SHA512 636a07388a0735b3ca332809e0fbb1a142f30abda6e36b6703a42a5e50e10d3a4655eb2b717ca71f7468b69025cefb8e2fd13c1f471f48e1436259226e2cf3af
-DIST firefox-115.2.0esr-szl.xpi 504134 BLAKE2B 769622a46a1d4d240e847aec793a53c24d15ab6fb7751916d354ef867986484b6fe35354d80e44121fd0e2ad0ae2797716747efd112468d478b32db4af7856d2 SHA512 e8227f7ad84028e890d440bc7e0d623697ca5907539d9204e5a07cb11f2cae1880b672d4f9e1d1d7b76c1a94e657dc72a6dae5d80f70c13374c0609acc2f4a46
-DIST firefox-115.2.0esr-ta.xpi 488865 BLAKE2B 9d19be09cc4ac4c4c194f8ddf6bea0436f1188f56870bc181056957ba1c0efeb4c9ef63015f6a2b94ba22ca92881138808d52ec225d3aedbf216e55b1d2b267a SHA512 1f2adb5df9c6260d2af8573bc6641787b41e302b50fd7dea248acf6caaca1b7c72b7f1f08aee3b4df082c8199e863b0442b9b9439fd13a0cce156967414ff763
-DIST firefox-115.2.0esr-te.xpi 536158 BLAKE2B a9ea648a7ba5ab2aec2d5c4028729545bd6d09d26caa31d223e717a72fdb0ed9c693471155a8c03bc25f8f48fba2a6515c57ff7759db74cfab02342956dcbd82 SHA512 617c743b532a2d0e58a061b0cd0d905e2fa3f1e07f0c33743907249465673a8422a539216a539e05abe08598ea20eda2e7a0069ad875e129913ccc34fba21c31
-DIST firefox-115.2.0esr-th.xpi 632059 BLAKE2B 63c4a31fb9659741157e74b0ada1b06cdb941498500e8e9655673cfa1a91e2c7ba9cb47a89e0cc247c7619d578abd40da2e9ea5741d1e262d172d2dffdcb6256 SHA512 d0991fa8b12df7f15a346f4bd1bb6563d013dabd6b1c591ed2c5d2e0bc29d4d3c372dae92e17a610844f3c96ac0bd526aee3391b3a4edd891c8e553c9fae5475
-DIST firefox-115.2.0esr-tl.xpi 511430 BLAKE2B 50e725101cddb8d3e11ca9ec9bf07d634dee7f74f3759dbd79a54907316013c39a3a57033c2218454b6a0045e72379ba30d511466e64bf6bb4280a03f5fe2629 SHA512 35dbdcd5fcba2f50fa0db22325015dc64452999ef0abe8feb8c343fccd8360e7e45f298da22d08ecc6cf28c068a6614ae43c1332a9d12b078b74949bc2411e44
-DIST firefox-115.2.0esr-tr.xpi 573254 BLAKE2B d3c6b1c058389c60fea75e74bf449abe827b9f960360d30acef024b983e16da6ffbc3174fc5c0792ac55bc080b36e41cdf9b81402973140b2812c42cddae1afb SHA512 2c1479f9ec723dc1db7ab691489add38255aaa55840c11681fe4e2199940c873938924d4c65ec646904e1b336f151965d294160726bd845c3d85f74f6058d031
-DIST firefox-115.2.0esr-trs.xpi 479677 BLAKE2B 62b3d7b8a130fd65e1c57df8d428ad32699771025ff1eb36f2000f0cc292dd7c32434156be53f0148aaf81f705dcbe55e71b11386bf6454c931ded37f6d9a5db SHA512 63bc2d7e96e13b078527006457db36398e5c81c54abbd59d545b11bd2a5b5d4f87ffe5efc303854cf5d0d51fd3b25a76d4d75ad0a2307dc2de07cd5dc2dfe8cf
-DIST firefox-115.2.0esr-uk.xpi 645034 BLAKE2B cc9786b8d2d805cf73f8620dbabdc2380f78a25375a32d9b3b601538f8c5b3c1afce6f0ea525180cffe59bbc474b71a325291cc4c6780c25e2dba3ddd4b00f91 SHA512 0000271608e8708face76695d288436e18d95745fc81825c39764cb77bd35d99d44eb759a450c346aef0698380945113f2f32320de8f21cf40a16ba9b1724e7c
-DIST firefox-115.2.0esr-ur.xpi 538790 BLAKE2B c0eed937cda899c8c48409fe5d37d34c28f9763ef63e56ddad50a57bf6ae9ac2058e8a5aaddca3eeea37c29d349ffafcabffd85d5859c3adf5bda0003c91e9e3 SHA512 d4929d225d97a818cf9e189e57d2b72cc8c0f10a386eef030fabaf3a4f9c935a64c3e83918a10de3ce89ef9b0fd68aea0c61d1bbad18cfc484105d41845d118f
-DIST firefox-115.2.0esr-uz.xpi 461771 BLAKE2B 2dd492f0fa0af6a223ef63a2d43f1409efea0aa6276cd36728c8168440698402dd5853451ea08cb3feeed126e2fbb9d42da170e85556f10c664a561feb12b81d SHA512 611d2e7a27c778f2e23a4209017f1dee82b30e0fe9316fe9e6bd3a67fa32b9aea0f9098c7085c75697bdd167190136cff611ba67a3aa3a6909911bd5441fb1d9
-DIST firefox-115.2.0esr-vi.xpi 595545 BLAKE2B 55ce65de87530e52fc751fb598c9a086728f0e09e1aa1e651d5813e485916a51444489a941f95487a40dbbe14f94879470793834445384f6cedde4eecc720abb SHA512 599535b0d6ab71f7a375c0a851537d5dcd7a1e83088a7eb9e95cde3a3346f08aa0105b0579657e3a181773ce61e69e2c6ba319f7460c68013917be15b3841ff6
-DIST firefox-115.2.0esr-xh.xpi 402421 BLAKE2B 5d45c37abea39263c2065580214e4a62b143c7ad4501221c9129b17f5e34dd4d66dbf06ab380ba1f1090895867ca6dff850983e830ab8edb1037c5adac7e62a7 SHA512 c9faf3a863e98f8b75cb44ce427c95f2bf637ce330603aebe4e9c305abf04cc6002853c74903b114b066bafed7de760d763b4d97f40c9571207551da9327c7d0
-DIST firefox-115.2.0esr-zh-CN.xpi 595490 BLAKE2B 25c4d573da19934dae62f8a8535222b9f8ba202ce9ae288c5b43cea5fcd3b4f90df4609661fc2b3593c898690fe0f8e92864c2e0c4a9bea6b8cd20b6aeea9645 SHA512 94e97e86fc3c609530d058f022aaa22188ad0af0320a75dd1bd43639c5a289faba50cefa68f666264da569fc9c5ccba77481e40ec55c2495cd8f4b9cf2768a01
-DIST firefox-115.2.0esr-zh-TW.xpi 597814 BLAKE2B 26953b3979ece7e5fe69543453b327799062798b474da14fb07099bc3801aa0eb3aefc1f694ab27f2b4dcab539d2c71d6ae5892ebb8cee24fc79d1d3255d8f8f SHA512 92a64faf2552f7fd381b62348525209957d7cd8121c70066391d7a5a23c2f84d44c2ae26db36c8f4d0d4741083fa9bab746a893be5954fb3f6329ec2005b1094
-DIST firefox-115.2.0esr.source.tar.xz 514055028 BLAKE2B 3ed4a46c2179b0595ac5ee1619f965f2c84e5b4f900341a2b93fe5dda7c81acbdc878763c0432564dfd84d99776cc8defdbba4cb9a317be8c06b3b02f6ec867c SHA512 df3b4efd9607e8eb4932717760c865eb31ac7a96246cb4385190c33316c9595e0793a1f3c45ebb9674a9ba4fce98d83f71b063bef09ef307d92d1cd78d30d812
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
@@ -397,105 +199,6 @@ DIST firefox-115.2.1esr-zh-TW.xpi 597819 BLAKE2B 70b5179e0af42de33c415275ce620aa
DIST firefox-115.2.1esr.source.tar.xz 506585124 BLAKE2B 0c0600401c862c01f1fe145ef76c8b27efd4a9d8426932a2cd2de587134c4fd23a643cfee626a071ed7b06c9ec7459b1e4645581be08ae8a66659708c3166848 SHA512 5f9ff96996e3c482fa4d2e2861fdf14d2154bf0277d412bf9c9435204c7e2e2539ce7ef0891d8dafc74d5a12650a5ccd33d79547aa1bbb2c2a0972aaeb755edf
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-ach.xpi 444788 BLAKE2B ef17002a9dcadd4b27e15cb16a916055acb69a1d5753744efb9a096351ff7e79a7fa4b3d809f55d17f75d74f970cf40793df18ba6d9c4f1bea104cd8da8f9aac SHA512 43db55e41ba8ace6ea453e76dbcf9621b62eaff3928e465c3a1589ed37d9d6ae33f82aaf714dbf739be5feeb7f60ff5d1d134c3480dcff5068a4a5ae1bcf5a7b
-DIST firefox-117.0-af.xpi 401860 BLAKE2B cc8253085558e57fad333266889ac7f861b3239f550e8077a0d6a4549a3700e0369abb6cb68e88a2fb7d22468f71d187852863bfcdad91f801eaae7585b9fe61 SHA512 8ba9d7c8333150eab916c63e2883308e6e0a697bd0029c805810ff14f116bd8fda5730147e84546e2f9053fbb99dc90a5f24756e12b79642e6ffb40070bfb729
-DIST firefox-117.0-an.xpi 483716 BLAKE2B 19c22429911e27c05ef476733c84a2cd33d9a6f55b1c6c24721d95d046a3c4fc43bf424975613eb87cc9f808c311e0681f7270f2f17018d5249625abf0eb460e SHA512 d2bde00432f39412ca459df9ddd3ddc92b7e073f4ee41250b8fe74377a886e6ef6a9e6d7f98b83007c831824f5894a76414c4286144a845a76920026bcb556e2
-DIST firefox-117.0-ar.xpi 550582 BLAKE2B ee97e036f1cc26ad9f8f9d9c8a48f5119efd6f02fe46f9ea0988e02dd1f09cb116987e2e3472e47073a89abc2c1a28c30299000d2a14c5877821db570b6493bd SHA512 b5175bab0c958246c27867aa8a26e9c5b5c69324d88962a205ded2ae600ed8c0711b29156a4cbe32b5712ca4250cb4c28371a350e66f7d33e64d99bcca6b5efa
-DIST firefox-117.0-ast.xpi 477429 BLAKE2B 1d16a45966113db7bc2c8d75d0921e0e5a8160a3c01c46e91978b7ac168f1a94d1618548f9d2e1eab0815f2f37d922d3d6205f1d8a3b4547f709b86f5ac738a2 SHA512 f21c4a75fc9c398552ddfe2ae146fc0a5b703c50d3b6744ec7bf29644a7793829a365204824c18e09928712757d10a3c2199df6092cfb3d491deb1e167d0044d
-DIST firefox-117.0-az.xpi 470714 BLAKE2B 2d3967eaf45a67b7bb6bc4ef467e45b2c36e484b4b2760cde703b797a38ca9b1a08aca23f2db3b6f0dcd4548dae902211a3358dfa7a536e44332cbe0757d91f5 SHA512 7cf3c68107244905b5c33a9561c9a2f4a685d52742adcfb30f2b3bebfaa95a04e1c7237e38b7223448bccc8486755bb8709ebbecfece7c1f3cac2c368618b143
-DIST firefox-117.0-be.xpi 652078 BLAKE2B 4d70a0377af74a809b8eb8a8fb5e506a9cc7343a7c38cdd4a86c1dcd8df67c07a3d0d2a14aa468a85cf174e414264828fed5c0694b5a1767bdead9cd5b794830 SHA512 d5cdebb39cfc80116af6cfaf1cd1ec4966233e52d0ef297f8c369a05215cce1408fdd5197e6d7d6f09ad311fdb1f1a691a86473ef5cf8870c93310371f2fac32
-DIST firefox-117.0-bg.xpi 565315 BLAKE2B 2e78a8117e7f0f7696424e8a4d8169fe8fcd9ad09520e39900cc1c8c2e9b1b519f01d54c44cbb83ad0c8ceaa9029805600ce4b7d7f45e5bbca21c05c4b17931d SHA512 033ecd5ecdffe1c8575950c123e94789268d015c32315fc103f7ff7181cfa9fc561ba8512bf758db8e74520533688d95b72c29fd46f645d5af6d8c2110b6a240
-DIST firefox-117.0-bn.xpi 559636 BLAKE2B d96874de55aba2d963216bf0d202f6ad3665dc5937cf452ad25d8102121a8b74f0d7f900c723f44abd0b3dd857021df93dd0449cae66d71606ade250a474e0a2 SHA512 d4818f4e2177aa45362274e3872b609da00694814be834fa1d3d21f07571c0c40b964052ffedce64d0525607977dea371ab03c6758249539700c6d001a3c6470
-DIST firefox-117.0-br.xpi 542781 BLAKE2B 5fdbe2b23c626c0ab0741f1002a3d7d7c9523be1c651067ba30d732a23525c848aa5de118d315d8e70da92e6b9fc388bebb1e5b382d25ede3269dac8254bf104 SHA512 c97b0162e0f4038e6015427e773b15ff805c4ed3dcceebc82bf86fde2864a3bc49c57a2c37063830de68a9c40b6c60bcfe110562aaeb322db3c837a78f0b0a5c
-DIST firefox-117.0-bs.xpi 440964 BLAKE2B 79da02c1efbec5a36cd57658f9596eb0c12876e18d39d45caf31d403347aa33bf06810f80b8ed22998c21c0d592bb314a47a44d247fc22712dfc1129b87f56f8 SHA512 beee21e4e6e877f3f82438812e60591b8b213fa13ebd7c40703f096aa961c43e5e8addbdf9c2c1f2dbf14cfb305af09ff40e0b4d5bfce478fd00a595abf0215c
-DIST firefox-117.0-ca-valencia.xpi 522898 BLAKE2B 99c09cb50cf522a454b842688707b42f88e1af7cfb3357d068540dc5167f70dbaf3f4400f4492fc5b8a36843b93dafb9d06571c0eec89b8791c1f6226e05578b SHA512 6d152bb902dc5c78063f80949f60e5f9deb95eac3a0060401e219432829b45271818d93daafa791dc73f86635aee13078d09882d519930fb4eb007fb962885c8
-DIST firefox-117.0-ca.xpi 546626 BLAKE2B 8118f313ebd9f4d6122343a219a90e68b7b3050b12456b2163f170ba2afab9a0f12ffe3b5ea65dac921f2a468d671a8e28fc7e6f4607ae3f29d07f3ba60b8bc5 SHA512 83d49acf492fc5a97136b68597fdd7c3a3c8bc762d7f0645b7c2ea4d4c60cf4a500cd0c83f6cff388885c6b9a2d09ec854973162877b3d2c2e7a317f4b4d55c2
-DIST firefox-117.0-cak.xpi 567755 BLAKE2B 781d88dc7efdf8f430428b0fd6491bfe024a1ff73741d6c933264325f82b5f158b58c6e4f2ab1f6695206f4330a0ce114d556c504996d71a885e2b89423039bf SHA512 b72209ee35691dac223b68e7ba12183707f8b67ddcdf13d80d0c1d8020b7b1cb695d83d028f48ac2b67a43d8ba5044dd361e91650f5134971a97acbe91f825db
-DIST firefox-117.0-cs.xpi 596748 BLAKE2B d9bec9788797a7dfc69a68ee6e2cca9135c58c422380d92e9d6ae2099039870e2bf65fb287ca6914f88d10e1117422e221e43ee8b0eaedc6e578bbebb51f5204 SHA512 982ae3532ae0c75156ea5ef79c2bae719b03fd667f7b81924d6255d7e6b6a66c7b43357adb7b23eb9542149d57fad82202f491e2b917c59e289a3ba0682f90cf
-DIST firefox-117.0-cy.xpi 568486 BLAKE2B 6995a13783581a41111336104d37ad8119e178749db7c9b84576ae3310e7813b27054aa1f6eed4432fc38ec7dde1805120767447834bf2a3464f259fa15893db SHA512 ae3f51dc95f0fe8939d8b304731c210852bd2b96a4d57138828e83e4814c7506f17120271b43b09b85e71900edec00a9836be2e532a69f47585bad12cd05c2d2
-DIST firefox-117.0-da.xpi 557765 BLAKE2B 63528f66845bdbdf0624ab9939dd8dba7b3b14763fb17c43a8df2fd3fa2cee1b2fe8dc711d87c98fa0bd1faf4fdbc77120791bdde49c606cd552e05e03587482 SHA512 c83f058c3241a0f422e0c7fcadef233f94b56b348e922721ed9538dba1866b775f8d057b82ac564eedaaef05093b9131998717ef96e05931ebf5b57e9d01f6f1
-DIST firefox-117.0-de.xpi 578122 BLAKE2B bdeac0ee710b35df8726b84445be9ac66c1d5d82314f06d4c3ed500a935326726b607dee59f0d0642f60f2d4b721858d9afb11c9cf9f5c77c1066391d4244b1f SHA512 c1c0a33a3fe24d30e47afae40ae5f631e32b7eea52e214a8565847353a1d4d71bcd9112fcfb84a30cb3a249ac216debc18ad8741e1676ec79695d188b2160501
-DIST firefox-117.0-dsb.xpi 592974 BLAKE2B 7dd640b7352ccb88f4e287338ee785a397f00f70145b6464cf036b8a6f27ece336da665914ccfb8071b0f325197c0ac4db03aa725012bcfd208b8871d885579d SHA512 02779be2fd25756f47a8289d6f16e4778fda98c3f29a40ae436b286005769a0484bceb19743a4b098b821add52af6191411bad726ea2aeb343fbf7efa752ca76
-DIST firefox-117.0-el.xpi 666556 BLAKE2B 14634496a7ad092ae8dd3b2f20aca76422ee3436b04c8b3239777f15cb5b2b74f2bec21cce15182208c7df5eea44f9ebb0f902c6b8f3875b9279fd2428545a16 SHA512 934f48cf60e0fc1bd576207a5f56a046639f25b85643c0348cb57e47e9ea2a6ff0190d0aa71560ac5dcfd8c774c389056d9fcd9118ca32801b8461ef2975f805
-DIST firefox-117.0-en-CA.xpi 520398 BLAKE2B 0d7b3ceb4114a10fa3b455b9a81b7904b29a7e71fa14f11e5b00f8bed2380ed725c017b2b890f334295b5f676bc1c9ff97d9ce3c6d5c450f5859dcbd54559ee6 SHA512 35bfa6551d7c7df720f256668faedd509e14958ae16e7ad82ab464e5ef5722d3f88a4cd5f7bc50843cf7ff8ccf6604695780d23cdef9c7dfc3b221b8f42fcb7c
-DIST firefox-117.0-en-GB.xpi 533890 BLAKE2B 9f3d81fee98755bbf1db1fb5bb953686a12165073afeb83f7d8893e0b7d7ff35746d9ea209a3d64560d612268521e4d528410ed10b41b6f0d8cbe8b452bc9b57 SHA512 74bba5adeb4c76a0c8956e7bad49ba262222859947123da6dbb7e7dc90e19b908c24dab0536fec6a3663a71fc1d99416cbb0f860b10efa369305a9cb93b7ab6f
-DIST firefox-117.0-eo.xpi 561462 BLAKE2B 0e5b0af86d63dc7f48e39be2639ab886fa1f9dc4671fc534d30ea98ec7053c9bc6f92430e4b9a5355a4f113bc7736f5b76f6a2e260f71c395608fb4e295866d5 SHA512 d3659dcdc82869c38762203af0cc5a77151b0350415b00c27855d9c3b350991dd214f965b2eefd37e861f961f81f2b366178e1579bbe85e92b8600102c7e9c21
-DIST firefox-117.0-es-AR.xpi 572715 BLAKE2B 07260f2dc970722f6cabfffd8194dd5c35227179ceb1d752b4cf18a26b8890c59cd9962ca8d6aac100a2c2a3dda17ae94e75b9446ab6f5011d1f7880d4008851 SHA512 2e13b6684577d74597a5de0ad180b8ac80f96387b7ae8b9f03c97b3a38ddb4c4965663fe40d56dfdb36177bc802daaea6ce485e32b0eb371b97e932ab1717460
-DIST firefox-117.0-es-CL.xpi 571659 BLAKE2B d9d4f99a0d2e993f7905f110d5a751ebee3e808c5736a5a7ca28bb3e7c9b476bd2cd169857658e29efd94006f8b05caf8b5ca855147f72978e50fb0415520e72 SHA512 bda99013bc47fbe7303f9878f803140f2e341afe451ab83840a7e20f6f908feb33dfcddc58da27bc10afacb9c0eb4da25f3779f7ce629e7bf1e7ae028b6ff71e
-DIST firefox-117.0-es-ES.xpi 564574 BLAKE2B f5a60d0081ce7551035694a6bb16415ba9197a99be0c8cefd9285270259d8b5acd286103ce94246342a3b8aa55fab68e3163144764b7282c6e0a85dbe3e7e2ac SHA512 20572d7f0cfcabd70c316d35bbd7576d22dc786dc55386bb0339377127886f1ae5970c1f57bcba8099555ce9157a16737985434eeb46ce20436b3c1ae4e49c79
-DIST firefox-117.0-es-MX.xpi 566692 BLAKE2B 145338c3371181c4cf7f3f5fc42d29c869dac71c089e86f1bc43ebdd7036920f69a1861b10f85ef2765d061ccb4d001ec1026e11797aeeee0f64b2ebe8d25698 SHA512 6137113905497e3eeec6ebd3eff5fd9277d5f67d428b690cddbf6a082e6cc84630709fcacff27965b2d5f8bc016d1db491c5275385009148e0d8d8a4ad4a0506
-DIST firefox-117.0-et.xpi 517152 BLAKE2B 844f2ada1f47fa432c318789f9584d7022a4125c776c82a0f169dc37b7c009b90a9639bffc769b004e9c6e7d505d6d30f0386cdf239e5a7ddf6b8f8f5d93f546 SHA512 67bb272836e63c5f309681106f54241d8e6ce25b11d50d2358d5f837a80739167bfdb2fc5b61b2315def5c0117eb388ba054c9fee017d6509a4fa2550094f1f0
-DIST firefox-117.0-eu.xpi 555901 BLAKE2B 3169495bacbc51c128b74027182ec398c4dc1505d6d5e9ae2687227644938534d629c07374a5dae8f1c3ad7a5cbc98259d1b5d43fbb4ce844fcf54401c1ab120 SHA512 31376e7cbcb9e01bfe3788f4c1c122fcf5d1ab8e5fa320fa9250b072778098a759c91dd66caa36fcf31d330c87004f4d0a2dc1afb4d9fc5a10d20c6808d1c7a0
-DIST firefox-117.0-fa.xpi 567396 BLAKE2B b4255a23990b442eebf4f6f5621d8813f1d6eaf83925e8d63f9891b9fa0491f5ea40a716dc163149adf5469a73cf01e38df45f787ca5e7fa86e8926b66f68ded SHA512 cbdc310c571162f1b476553abec42d90e9443fa9f2b844b10bad668416d30a1086385319d0a3a63ec2cb3868c2c76ebce16e97451d40593ac1a6a134c7348d27
-DIST firefox-117.0-ff.xpi 456765 BLAKE2B 973909392492d6b8089fd941da4d94f3d46306a219d4c9092119027e46cef208832b7dcaefa96c50bd4a7de43c27e344b6b203378d0d74705adade3e2208d01d SHA512 7bbb8e62e318964672077de0f4b07434a262d28a745aa8bd0c0ec9ae999966cc06d6f87dc2c9e6feeb7538c0cf2234da2100720bb83600b4dd1f5709aa249feb
-DIST firefox-117.0-fi.xpi 555264 BLAKE2B 0a356c760d2f792b0b8a54867b581e839824eb03bc4965b950494e775141870a8e862229a4aab1ad5ac36d31c2d4ed5cc9e3534fb9ea9c1b2971d9d2e36c7f22 SHA512 3874386c61578e68e676395ea89cb0706964dac2719c6d0e69415e462aacbf71ccc253e28f5a21dbf01eadd123bdf65509c05feb49558ce95df25cca6c27ef47
-DIST firefox-117.0-fr.xpi 584461 BLAKE2B 38883834c3b67e19b7b81e33874d0e3d7741f499252555becc3ec400ed9022bf9dc6888dddeda9a419bf6d459bb6002acae66e44fc75dea71763a9c58f38d038 SHA512 3672809279181c27f1d07d666e2c15aac8cc6bc5f51fe104abf993dba54df4e3cda89cad2d498317cbdb70262517f6d13b56230ad2db2652b78b29c7a162fe3f
-DIST firefox-117.0-fur.xpi 576608 BLAKE2B 97e7fb0ab96f99193bfe45829ef8b8c205da2e1f4e7313f0d2c4ff4d7b8c4b78be1adb7228b05adfa3b16a1f1965ecb49ec1c4958d068b26bf2f0fa7d189a081 SHA512 96aae8a6c016b566f0e116d0d27ed6c034239072897e14ca0ecd89b484e69e4a601da53b6be873ce63a9ab1e198e056f8d4e0c7ae62b2123f47122e6d863cab0
-DIST firefox-117.0-fy-NL.xpi 568063 BLAKE2B ddcf440d28802a8a515349faf18d5b8a4b61a7ec76395d221cb1631252611c8d49af8ae5f42cc7b2808c0bdceffd53dd74e80d5fcb14f58c5117f54080d74e2a SHA512 2d10b0eeb2ade20e13e51010ce96683c25f5688944a7a3f9a1bc46e0285ae9114770798e87a1f9c96b92ee89bf0c050521cc4e6ce6a6aa60ee54f03e0c7324b0
-DIST firefox-117.0-ga-IE.xpi 453864 BLAKE2B c474b54721e0857cea2187ebb0019d5c99cca728de54d7c684a05c27cbcd3ee6dd1308f25d20b52834e27be7ba6877fa2f830d27820f2cc6351c523970a68d7f SHA512 2b1419e54eb26d0351c1dc87ea345af6f68b193ef4bb38c4ca813b4b581e01c10de13da532de1885c39a1cc41550545f16e38ffdd982bbcbad56ea5f63f57a18
-DIST firefox-117.0-gd.xpi 568320 BLAKE2B 84e08fd94a85e75cdb7dbd6a714bce2b8cc21612fb12ea7b629f6d20d7fdef06eca0df6b55bf6f6e8d866f5d67f2f7c604205332854148996daae751843c0571 SHA512 35bb8511bdaa770500040a09e200559dd5cef6d377e3eb48333621734e1cd2f0060679410b60d2bef21a1d883e8587e3e17e87949d793cdd3e6c6216e728ad32
-DIST firefox-117.0-gl.xpi 567520 BLAKE2B ab1b5a69c48ae49ba99c282e48d58947e3b699e91c5efb0516ccdac7c233f8679aaded41310e7c122bb045e3f80ddf0aa0613ee9c48ecb4487f16f88554190e7 SHA512 21e346df8fa2a41e290fa2c74297b3ffa6f80fd409b3d738f3bb2524f98b5fdb4fdf2a145ad64f954565c602167d6256a7e65dbce0e9b012373e3346efa89ade
-DIST firefox-117.0-gn.xpi 581970 BLAKE2B 9475f90d1b09b7c23f9afd561095422bafd15fad8d8b461bc435036606e77538a63e7ce24398d055e078b14a462985aec1f52c58c24ce4e8edc8f2231ea0b0d7 SHA512 34507447d75109c79068a30aa29d6e59b0fd37232329ba4792297bff7b2a7b3f15e9dbc699f2cf881a96b1b99af71ff3848c4a6f7c82c99fc1b52f97e8096112
-DIST firefox-117.0-gu-IN.xpi 506745 BLAKE2B 84fd2f2d49173a268f57501661cd602aeb88ddd65efca979a5106c1cee9d81a54a4b62a17267358bdd272c1d05068d94cc70ec970f0ebef39031d4627c75dcda SHA512 bdb0c49160d18bc84c506ce770582632a39ba18d24da68ab51e9de2da91f2b1d1f0541d06dc00c6513302b45240ed37b1526deb48d6bbc482a685252c41a9011
-DIST firefox-117.0-he.xpi 577839 BLAKE2B 5275c069c5bfb43e4e65bc1882364b2e41e4a9a8da3d4a38bc664fd29318eb529a01a3efa48eeef3c8507bbc1c9c1578823fe614f4253bfc5d71a3ad4d56c279 SHA512 11731dd50d8428570863ffd695441fd74854dd3f4b3244b2a90e2c5899710609609a12a335c57bda4401b6b2700a166d6d847ea957ce94e39f930f57ad69cf00
-DIST firefox-117.0-hi-IN.xpi 543574 BLAKE2B 5e20adea7f90f2e0f50f4d5bcdddc384c8cc62f3ba4581a85ca2b65465f9251402926c2ee4adb7933149aef5db20f86edd263c88edf21b0ec11140d8f6a83de2 SHA512 da35727eaad053772b5d1181c736bfc1775518af6cb3f3e1d4248a6180275ad996bd2acb1771e34ca2e9b7042e886d9dc4e6fb033005edd670aef2ae27583b41
-DIST firefox-117.0-hr.xpi 533127 BLAKE2B d3b9c07b3f41e959a58dbf13ee6796abfb106551b848c1b423a2e2a31c5bc15603e918ccb8f7a00554dc1e2ad808bc1a853c3ef1ef0062e15d350c2e5bf5e031 SHA512 f4cb0dfe17f2ce12f84f7ef41eabaa876496589e1009bf218da928536259b904cdaaded2ba9950fca0e7d5ac4175d571a3839fe869f3852409359a7c75a3517c
-DIST firefox-117.0-hsb.xpi 589118 BLAKE2B 5665142c95af8b2a311116e97dff56d478def458d6aabb6b6f13b54fc13f1ff28b80d5ddd608ddbb7b71fd6d8fe49e9131ffe57a6750e08703d30da4fb85b285 SHA512 5e37225df3e508a9471b63fdd988be68986cc2575742a8cf39c2ba34157d462c36c3df9653d251fda9b9f54e3d86c378b4be6f25aa8fbed4592c195a21c34c78
-DIST firefox-117.0-hu.xpi 593014 BLAKE2B e95ba51745dba52c9e627ec85cf40f2b2f193d89835ff04a962de5d698257c38d03c32f34f53744eba3e144a9c7b099a3074f07922fb75d4f72c20af534d85df SHA512 b5f032d99b1b9e63a4ccfc5e5db25687c78b3fc160b287d9a140d4daf24b04d1953007b11a97a851ccc046e9bbd5b8de392c4eb118859c01916536511a33a94d
-DIST firefox-117.0-hy-AM.xpi 580487 BLAKE2B f0235d0a6940b37ebfa9a97de8f5e66b2a1cd721c9ef938032c712b377c9e03ec18487621847187e621667048dcda281676b60ac7116bdf8db8788663eabe6b5 SHA512 e9f998d1b1cefb5e1c5eee1272f8433cd68a8c13e918c39370c4593714896a76086e02e947865bada6de9e2a5ac974022d7c383b57346c99f8f0ebe49a1c9a48
-DIST firefox-117.0-ia.xpi 556613 BLAKE2B e2fe037a4652220fac31ddcbe798f5585a050aa489329b00147523882c303e8e55476a6a330098455a97a61fe72f463e2f11d5e5fcb244ad52c6ab2ce7a89165 SHA512 668656cebfdbf84683b841c22f4e7f0600a004c620cef1826246313f3a6aeadf02fc58473276b32d953992c8352f6a9fe7d1f947e966bfcb872c72260d0696a5
-DIST firefox-117.0-id.xpi 540547 BLAKE2B 30844eab1f30da3b389719e74f92ccecd847580f0ddd8711ba0865672f5e2feb5c7d679ea9916b02aba04ed281dae7714728ef333f2905ab41720422b1303dab SHA512 438a386161ec4510cbad1020e5b3838c39d7c2b56ff8cdd9ad76a9dd57cc89ed898886deb6c56b95b4df63370a81b30327bb189ba5f9a806f270eb7aca6464ab
-DIST firefox-117.0-is.xpi 564445 BLAKE2B 46c5f8ae8489d98a4baa83d3d4b2ea140fd2bfb1308b2c5ed315a462ddd97eb87be9f53208299c481b31c64659e838d84eb7fc0a9395d21c7a7925cda717b136 SHA512 5abca07ea04b7933aff177015ab7127074d316fd2d9acce7643227965333fda6f8b95e3ac6e9888c4030b7e70fa6bf498051d77fcb4db2d218a7067a3c75fc4a
-DIST firefox-117.0-it.xpi 510633 BLAKE2B 5dacb1b56b96e9e5f63f617e827a4557d97783c453b2b043b8561d15abf3e742341bc7857dbf7ddb7de11f788f5b83bf1928b3af22bca7dde98676cb7aa76cbe SHA512 10d22727304efb1ac07f3ccfa29528cdc742e254964a403fbf57c3b755aeb002b2cc16e07104640bd91f5fb53b5d4c6eec9beaa627ed299ea34433a41f54d3e4
-DIST firefox-117.0-ja.xpi 620389 BLAKE2B c43b560746013c92a2aeb290a3c8292b9d02cd5c5163ca753d478822eb66194680da489799ffec90be9b5e9fd36955c42a8c52909420670909a0a6e52ac69e12 SHA512 3e11c4e693e44e387b7aab5c1d94ba0205feae19c0bf525e5808b9598ad2c594b864fbc3107dbce7f986b95ebd12a48c06c2ed0f8153dde3c7b6bafd67048585
-DIST firefox-117.0-ka.xpi 620748 BLAKE2B 975dfcd56e1a8434ca472073ca63bd615a1abfe2da0e5117ec3e2806e3ffdd6a9e33b539eb0999eb5cd7a4259288e4310b90ad800c5cf79cc453c648f89e155a SHA512 8c9c4c880b90a6a06181ab7d30d7ab8e7819815b8041dd524b0a478d1bc81a819897070ed1c58b283cf789d16ab9b692d9e9c3c84684417601abc12bedac4822
-DIST firefox-117.0-kab.xpi 565296 BLAKE2B 46d5570335da2cd5c85bbab2462794bb9282de8e8ae8ef2e38e780397beae9bfa88b5028055c9b7f342f376c46ccfa7731d7372a95c08ed4a8d015fae23034a9 SHA512 a5e8264fd3ff3228b30c2e24d4ac8dcde64d48d79b698209d7a4a9528fa3b98e35eeaa58c7613bbda2d15cd9e38125915ce7683caa30591e1c24d3058687d3e6
-DIST firefox-117.0-kk.xpi 645194 BLAKE2B a93a56e500a5b9e65c87a110a992539b00d3125c4bcd4d13e191e8acb2354e2809e88af3d00fdbef1b354778ae2e265fbcf343046c9b04fb83641e28131051e7 SHA512 d8985a7a7669553668254abaa9007392afbfa99ad7687d7ac0c654d357c382515579e088af8d0fc37617703c62064c37fabec7e72a9cd14340bd5fb029f8e335
-DIST firefox-117.0-km.xpi 507784 BLAKE2B d865e39c2e2e74b1933ba183a24b46c8fa28decae45c5fbaba30a4b94e5d245c2626c0f16218fa437539e0f1b25426269d333ff7a1f5e154392ddef3f5cade6c SHA512 3bbb3d6250f33ac9a1a2e566961b0469e32832c3e3efd41c89ebbe6f58d52352b6cb47041570337e8ec1dc079f30dbb8411d37ee656fd53399ec9e419c4cd660
-DIST firefox-117.0-kn.xpi 473341 BLAKE2B 9e0bcd9100b1d346e9e4c253e985c8357cc5c9e97da72135e902a321193d42043378fe656b5da597eb66071bb3f7646b006987ab675130753314bcf4134ef23b SHA512 29ae1c264379f191bb1fc70abaacf2973457be37bddb716b8f8e593c41afe0b8e20d1cdf12c2da7798a2a7a08be50e930e334bd3ad3d6b794c04c4433cc35704
-DIST firefox-117.0-ko.xpi 603688 BLAKE2B 33315adced1e5727262343649990175f2a6eb85e19a87e85d54cb84342895d367db85526e8495965916fbfe4a05c9974ea5b5ada4637881f9d2f806847acc613 SHA512 289c06d283ba3075cab7026fa2c5f64a8deb526637492e9eafa70bdc0ca3cd46c277805efef8178b9a62b03785d8943a2e159861718e4c70e3373776491c7b4a
-DIST firefox-117.0-lij.xpi 464070 BLAKE2B 99c032187d9c9256f3445de62e9d5a2988435dc45fe1caa36d36bf47030ed66127b3e502d8a3eb06972eaf2a0cb27a8daa3ef0594a39797c06822893615ffb9c SHA512 1b85e94b9fc883ebb1b869cfb50a7894f9b509bcfbed7ba1f010dc59df635417c22624cb7a677d4729cb3c7e62f43c4f72020421c7a2ba4fc0c49d1352448507
-DIST firefox-117.0-lt.xpi 549426 BLAKE2B 4b4f9d6383db50580598acc56f67b164d396fbbda929804ba74fafde6d81a3f0ab71dcf973383094f5235fe1bde45c2306c1cc066632b1d7e9b9c3b68a11b674 SHA512 690bd4890b857d5d500c69c3e346fd50f4f496b8737706d5249dc8c87cc5ba6fc42e2e9f6edf287362bc5de1012a595d9001ac6f54089507a0dce3d353fb1c09
-DIST firefox-117.0-lv.xpi 450441 BLAKE2B eb5a6805add0b12fc12c0f45c9b9b828b4c8dcd8bddd1cdeeb82edaa5236d52f408092872329d27fa1cbcd3671bd1e88839437d1043a57e20bfad946391e117a SHA512 9704887bbd1e37c57f2b6f1c2a1c49114cb5b57c875b47aa52a058fa9b16c1e5433954b3044630adcbd8e06d68337149ef2994a5171a9a9cc7237390015fee02
-DIST firefox-117.0-mk.xpi 476037 BLAKE2B b85dfb78387933933f5a1c4a148155410465091e59807aba8c3b2fccdf8f4a832c51f273c229af9654f16f144bc7236b7edf6d42fff5ec86ed4a032570e38729 SHA512 4627a51584d77ba592dff0447363b1c34bb49da938f52fff923ab0215b10430cbbb32fc465b3e7d42e924137e10caaf4626ed3ff6a02e09972cc522741126260
-DIST firefox-117.0-mr.xpi 511399 BLAKE2B cac2b33c894ecfde0a7ab9f140c9d5dbcfa22523d90487f1d507461cad78c882edb0e77867944226d7e9851d33489747a574f227b373c6d61f912f5230027d55 SHA512 9cffa25e5b29ec835db7db4feb14369e87efb02adc58d3d06c60e880f4ec7a59066d5a700da611fc1a0231a1605b23b6cc87463d4a14b6cd46d04ec19e9bd649
-DIST firefox-117.0-ms.xpi 430982 BLAKE2B 171548409ec9c51439feb001e0cd3240d5a3ccc3f84d62802ce354d630dc80781a63a8831ffc50ccaa39e7331381a0c046e5fe2b2089d4c5946b060d20227f11 SHA512 a8431d76b3aaea5402feead837060630c58828bbd114571ac4347aa860b66a0833596fa55f7945b5f15ea6e073b4547ff792075cfd5e02e28182fbd37c8d1f46
-DIST firefox-117.0-my.xpi 493857 BLAKE2B b67b95179acc29f513fb8d28e1aad905fc2813ee7adbf94436b098cd1d1b15d7506ed7e420e6e687a7ed44681caa0ae42a67adfddad601b9364971505456b504 SHA512 a724992edb927a964b1e6b03c1927c5d84d8aa24de737741a13660b87f7b68593ae32bd07c0c210d9ee8b5e90512c391f1965615287c372a43677ff463dc5ed4
-DIST firefox-117.0-nb-NO.xpi 550912 BLAKE2B fda5cf3aff360abd5f90a488bc994cd849aeffff3951258959d2889545391b8e3cb713477387e909b3565929c77e30942b129a86763b45343e00f05e833396df SHA512 6d4f3a38f6260f367aca7c00cae8845b12eb64a9b12c50ae2f3095bb518966f5b7c049b6272f54f1aaa5403e11dd20a9be51186364a7d6febefbfebb7a0a0c04
-DIST firefox-117.0-ne-NP.xpi 468692 BLAKE2B bdf52a3a15c9a384c747f57075d047e576ccdc1f7d1a29e52fdb1426be7bcfada9d8faaafc1e8d4c0a7e1ee25dc5f1ebf1b0f66844bef1fd2f99a1b95e9f54c8 SHA512 47b902d11cfccaeb7c3c38a8d5ecde74ccc69a7d0dbd952844f7997e43cc0aefbe188fc524cdfde71c54a12e11c21e29b47db14b28368cdac4433660bdc397f5
-DIST firefox-117.0-nl.xpi 562330 BLAKE2B 9f631252caa598618ea286126a7509c68d24b4dafb0695d6616ab24ce6be012973a47d4fc31291955611138136aef2298b64f98900b188211e9a888d75f3055d SHA512 57895ee8821489e4240bcba3c0bac9009d9f3a94f7511a98d0979390eb4402ac48da11a8dc344d9b5ae97f2e0536b5d7e3cb83a9887e6fb757703f1606a1e4bc
-DIST firefox-117.0-nn-NO.xpi 555660 BLAKE2B c25249a9040d638ae374025c42accbe78f12e54e64275ddc9fe8217c77621560f6ca85414375f402a683b659a24c892f116e0ccca5757dd0279d9fbea55c98c1 SHA512 7780ab0d0eabf0837dc71b31376aa5924b33eac94d4fc423e047ec06851b4f1d8e0710c9bfd03fb825ef3d1d333244c63e6bd69a6db08ad3d31f3573d98e88f6
-DIST firefox-117.0-oc.xpi 575183 BLAKE2B 699ef5ebfa34ff2599ea97c8c4e58a136b0434a71d09e12c97b37899e04d3e6ab5d8365340ffd5cf1370c8db3b503a147640c9beb0fec0a30918d646a7990531 SHA512 25b5d8ea24d0f1707fa0510b5eba5fc5547a359e9639d8c07f30215d30e7ebd64162a2aa7d80c5fbf365cd63cb2cbeb8a9df9d3c52221e4d2a798131c1add826
-DIST firefox-117.0-pa-IN.xpi 629872 BLAKE2B a6689b2a15aa03a09bf371b794520d47e598432b27868d77ef6679bd35f8af1de268b570f9e94f7171a28f5c7b4744a91461ec19904de33d0a215c98fb5f96b1 SHA512 6db73647e71a399cb4e7dd7f741e7cd3c54846904d404366e2d50a9df7b2487f85dffaf43be5cdda0041848beffea3e0372eddc89f927067827dc6ea719536c6
-DIST firefox-117.0-pl.xpi 585320 BLAKE2B e7b92da62b687d344e9169ada36ef80c4600ee95fbeaf94aaa88593f3c5968ab398d665aab85285e1516217254959aca865535e4dfe047890e84a281d1441b28 SHA512 815e0b8ebb8dcf4a03ba4a9af5f646e3ef8ec37292dbfbe6584e9b2543e7ffed2b728a2692808c87a6b58433c944bbc35093a684c9618dfeeac93fa214969f88
-DIST firefox-117.0-pt-BR.xpi 567113 BLAKE2B c49330ec54ac546471f51c211469d3837e8bc0d753501969ac13a00cedb9170f78f3c31f123aed6127ff6e36c4828b30862c21556f8cbe91c552ff46ed679800 SHA512 e78efc0ef30b148781db62aada8b16f1524d2a39e85039ed97cd81e5db7361f7e53b2bcb7ffbdabb90af0c7e8ccf20b53afdb1edc6f4c5e78c6cdefa7288f475
-DIST firefox-117.0-pt-PT.xpi 571431 BLAKE2B a75ebdcd1799abe60dce8d72209e50acc08a1b0dc351589fab8703ecc0b413c7f3a3c90deac5bb600ec4834589b7ee1336e0ef29cec573b4693d6f8dbe21e5fc SHA512 9760b140bf4b0abff7a8e6dce2dd98e7961bbeace51509b3448ab77d1b7befdd117871e56b06390a5c71212718e7406ccddb4e45bfe85853f04787fe69e2a5a6
-DIST firefox-117.0-rm.xpi 562452 BLAKE2B 9dccb03b6b8f95dd6b8d9e88c24e64e5ded3f9343bc46b713d20cd4603d762663c3342425e23df003d2d1066311c3d2b46d1279fac915723b0a74b593c4b15f1 SHA512 6913f1012cddba71fbd2ff0e6d8e2faeaccb21efc567e2e1b792db8a9265de3e42d68ddc26a90553dab4668087725161a9040d21efdadd07b868e1d0ec96459a
-DIST firefox-117.0-ro.xpi 525852 BLAKE2B ccb6953a9727bd0ea2c6d82e23d04b24953ec3e39e95aea98d91cb26420499e127e0a5cbcecc58e89c90db18df8b762b2b6a7665b3d1a707f05b364939e4eca7 SHA512 767251aa06b9a08a3c99aa433aa749786bdc872e63d70a39059d2259fa3d07438e64929a74599df1a03c6913149970dd0c13b263c100c5ea492a74a32187e2e4
-DIST firefox-117.0-ru.xpi 656333 BLAKE2B 3f88cef9e1e9f04d4f03f00cb0733d5f5e658d53acfafe0d8b60c751e263322345a680834f3300a4ee04b221a50499543fa857e50e346b9a4de78f30e8ed3663 SHA512 bf8cffe6adad3cfc744f8a2fb8ebfc1cd340cab2a831e1a961e04da7c0fece856b4fe5fab8245d0c964399b7bc6fd097f26775dd6d8528987ae3956af8aaa6b5
-DIST firefox-117.0-sc.xpi 541041 BLAKE2B 836f24958a23d475812296990d7bdb3249743d3ec8f555c5d89d12018c0b4a85945b3fa001efd02587241b34f74988fb4cab03232b92fa729ecf1eee15a763e4 SHA512 b2b60615e5fa7f251b8d747b89fe55fb064176a52d9b0126d6744d84fc73f0eb2ded84bb9f87c2928dfa9ed59c66b31a885821ab8061bd93e8880aa4609f7fa4
-DIST firefox-117.0-sco.xpi 490201 BLAKE2B 19ddd93d2284bb5e56fa5ed64fe1af9af0a09f3b65939b36c98ce095853c2688e73ec54c5f4f9add20bf0d220696435780b7b0a9d9db1bea27fc3636105ee969 SHA512 d8664243923f7b3a7378c59c5011c8b89f4a2a045b0234503b1ac45bd8b4019ca6d779248050034f320811a42473bd3519d40020e6130639953da052371db4d7
-DIST firefox-117.0-si.xpi 578784 BLAKE2B b9dc28fa91443133ef2c919b0216422f5ccd6689255533882289920ba547441653895bc33f4a15428cb23f2ff59d77c89c98d1c0cf08b6db644dcf5f5c19fdf2 SHA512 540fd4001858227e0b24a3e0120f7892335de81587b181b0f8b72f4fa72cdb91a6607c510c8914babe2004935a24ece1d117e8e8dbf04b3678cd60ce48b83785
-DIST firefox-117.0-sk.xpi 593717 BLAKE2B aee43f472d86c277cb7694b12ded497e617a301c1242650a0cd930649ce82c806defacca772b65fcd3be05d8d9f9b6d7c82234da0bea471e71ef78be1a0162a5 SHA512 c353e42e8c829ec2445f439102d44341c90a9ad249c5c88a2b7e3237b0bb867b77c6aea64371cbf9616ad51dfa5c5be79cee1e340d8d607c4f3a550dd6c0cf01
-DIST firefox-117.0-sl.xpi 565952 BLAKE2B 62c2243d9994610fde8140da2927debc41f02f0523333a9d6967f227819b78f9995f6dadfa9c462803fe262f41070620701a42d45c000e1af78651e4c4cf6c8d SHA512 eb00b30b5e88d0ecb7af8b8bfad01807ac392031f5c130c2e573abb832d0d3765377c6187acb42ec77c56c968e0cb86ca468414ca27965d5d1af3faf62aa3386
-DIST firefox-117.0-son.xpi 400534 BLAKE2B 63fc1334826be5a25212cd04059d8a9fe3514324bed823a70d34283e4cdd267fc2f5f5dffd08c1a9c96248ebb6830f6a4732d78d58b6a04ed540358694f144ae SHA512 6539e2a0ef4ec1efdc519c9ce25e082033bfcb2defe2ad4bcb064241f4b604eb223146f482354c6ec9b534b24cb79f496808bfe772bf2e23eb176fd82e5148c5
-DIST firefox-117.0-sq.xpi 565642 BLAKE2B 551f3db6fabbf9a59d6d2c0b51bac459e077c4f8235b4b3195b073e0b33ce65cbc4b29f16cbe03dd9aff48b56366868cab0a1786d57428b7481560562e3ff53b SHA512 030104499b999b3a71c83289c2faf0f2013945bedca43186871a0088d62e53faa1dca27de41643e411e567c09d996b3d17c3231585262c10708a0a91be361b0f
-DIST firefox-117.0-sr.xpi 615331 BLAKE2B cbdece09003b6a96be1b65899415e91ca7158a5a27be8a435dffd9835f892ccb7991f6844ba3772d50eef1db884c5ea2023305df18aec2140d12430b8501f7d9 SHA512 57e86876ab12c48bd21e79d62c435179a32dff336e503e7b9e151ea12f3eedade926fe8caf3b400117f4b36b90c10df505c5b792f7056084ec92aab04f74ee7e
-DIST firefox-117.0-sv-SE.xpi 564229 BLAKE2B a8518d90a6c7a004028f4c60409afe0926200c147f376dfb084ad4c2e9e1fc37c2b0bcd97ff0d04e7c332468b384cc530842d7f4a2a3ea55a7f272c72eb9b930 SHA512 65c018e3c24e6808511cb24e6c73f645480e57d6f5f045811b42ff315c458353121c3c8243d665389f5e3b86bd5c343a26902c76e8bcd3d831253cc2c8feeac2
-DIST firefox-117.0-szl.xpi 504971 BLAKE2B d895a893acaa1e220a0e307dfaaa5f8b7332749893f7d47b78c7f216833fefb99bbbed248b2f616d5901629207edccc4a619f83309eb4270e0f686b2ae749653 SHA512 fbe7c66c8e8f5b00a9b0e5c18e989a93cb2aa325fb6b8ebf4766dc62bb969b3214cd49af312ce93d40774e25de0db0776363f856e791c1e05996e179b11ebbe2
-DIST firefox-117.0-ta.xpi 488403 BLAKE2B 8e190b10ed0218344be7846a4d382755a5c6c1dc5f858db56ff2d8b84ba683b054044f54a1afc730bd0ec97cc1b2378d016bbb1dace9021bba59b3b09dcb76ff SHA512 207ba7d11566a1fca33845e62c966830bff0dd4e0707eddcc741a783cb571b6cb4513004df962bf412614aefb07df022e5c0e8547745b084627da61f10b5e934
-DIST firefox-117.0-te.xpi 536504 BLAKE2B b3788f65449350f60e7869a3fe0d9644eb2bd3e634bb05db5867ac5e46f5b5cdac2c8c4468a9a4a0991f9f899da5b60b03a6ed92a67dfb79dfdfb8da515a66e2 SHA512 c82b7ffc879e553d49c0a1106352aa71fba19a0a36bcf690aa796cb9901a839f5ebbad2ea8f404ecf1f324dfc3be8a067c5f561a934c064fd5c38154c7888448
-DIST firefox-117.0-th.xpi 635856 BLAKE2B 1b61af133e988166dc0383fc3c4aaab1009e0b3aa047e9d9d0636b9a12e18cea0618729160eb83c28723af53e7c9776659c355d8cb6fd5113294808ab31b97d3 SHA512 c59698facd7abd9c0f40769fdf2c5e4093c8ce45d1da3f1192723850d88c125a446e2ff8d7930386a8bbe2c913b16f73f5bde50754cf4ea3c21f4c33f0d61fb3
-DIST firefox-117.0-tl.xpi 512485 BLAKE2B a7b690013b4b9611ae6b569d7e9da16fbb9765ba6fc67e91d1174f312938474389977a0792653cb74edcd32a3f64e2ba25fa3ab454115641ece729b7f324e8ad SHA512 16b43a593090b8a6b7c117ddd0d0ba2c6677563a1b7372bd4cad11870087b6f6190c364c7f9549cf87c9cb3bc87ea6a3a663decc7a731261de770f42ea4688ad
-DIST firefox-117.0-tr.xpi 575930 BLAKE2B b725e9c17528f90923c6459d74ca254c822d53a3dbc3b6c13bebc25cb2a62791750b6f6f265f2ba5c67eef240ed717318ddcf4a8129474bb293c6bf7f29edd1e SHA512 9d0840537ee81c434587cde73512ae97ec0c417950e3572b68406380ab4f66853f5c50ab12c199dfb9e865f6938de6eed7a2038a3b07a93f0b05a6838b2f7042
-DIST firefox-117.0-trs.xpi 484144 BLAKE2B 2ee8e46896acea22707c9e6e0f5a919c3aeefc46dd10ca8eca2ff88a0cfd6c42432cec82f3caabdbbeb9b032c0eb9449cd8b5ae0188fde5ec8dab09e515d9328 SHA512 e41432b8365c399abd0ca0b60e956ea9f444c3f584d89f4e7ab41722655d44b21428f692d7f853601503dfd0b7c6220893afd3c49bae88e8600b9ac8337ba03e
-DIST firefox-117.0-uk.xpi 649504 BLAKE2B d61079a384655e29126dd251245c3d46acd08b164fdbfccf8f381c90c8f1e24d446d6ef6bdc2223bfebfe35ffee697f640d6f4a69c3c3fe7f1c8e5f1497bd086 SHA512 45c26f9b5ddaaeff02f68cf46315edd2085335ae79aa7fce83b993ae1d3cccaed1323f26f03f909de10d4461c162b1bbb1141b5da96a112c09b9181a0696998d
-DIST firefox-117.0-ur.xpi 539405 BLAKE2B aa36e6cea30e14bbb6e1b88f0ede4a02a2a3c0c655abfab14be330a59f890ce9c38751b4b8b67e6940267a5ecd8eaef53995d0bf939bb16b96c9eaae16382194 SHA512 5d923dc42466a823a6d9883f44403f35ee563b3b470b5c6cdd32fdbc14e5e4994c8509a8b91a6858d5a5013381bb57a483caa19928b4085969bfbed49360d290
-DIST firefox-117.0-uz.xpi 461426 BLAKE2B e68737adedd49c367e4b45a6c008fee24bb89b85af471ceda05eee91d162245a443b50e8b0a4257404e40905e1d5cb345e0532dafcfd2a1672116f8afe1e2ecd SHA512 30e7b757c35af09c5e981a8d2e8fb1cbba820ad88e9c524fb9fe3edcb58afa572aaab729384fb0b2ee287b79520b799d9c8a00067591f5b6776227e38522157e
-DIST firefox-117.0-vi.xpi 599835 BLAKE2B cb583ebdd0521764dfbff76abff238df4372a08e7f6a029eff5bbe6e763a62008a5c70f63707c02780fb5389615eb67eee9a69c9e20e83ed142a2ccc52c497b8 SHA512 f377dfab162f411bbd05dd3a0d037300efc49aa8d3b4c0e76d87a572d6d3b28882967846dd63818bcdf2e89dec44750c2c92dafd9a40163ddbb5f55849aa2c96
-DIST firefox-117.0-xh.xpi 401970 BLAKE2B 1e5fc872ada80753c66a44c96e7da7945861152343ac416e3f8a9e670ca04c05014edeaaf8744134551aa76da7ed251d6a392404cacd4cbc3da39940beae44a6 SHA512 116e372c13611d0e8140dd289a20fd8161c6b96220c9e27f7bea6a0cc8e23b5e827a7eb3fe8203cea3e1421bff710a72a8b34554f1004d5223baab0890029a6a
-DIST firefox-117.0-zh-CN.xpi 599269 BLAKE2B 7a46e06909c11dc5818c6f4bb8b5cce49ceba8c7dd6b7451c0830ce040db1a63f7464e82813ef841fccc2fe9f7cee8c7e33d5faf217a2822ab68cc5b55dd879b SHA512 e4585672100ba500f89d38571188149ff78d3f50156dfaf2ca4193bb08863ef28e914d04bf51152f7f0ea9f4b0d8c953957c7101cb6f2b9d15f9eca803f31eb9
-DIST firefox-117.0-zh-TW.xpi 601287 BLAKE2B 67415b4ebab0ba268053ffc680bd802587c4589163f43f39b9cfa5d31a9040a300ceb73be2a5b97dee94ad87eb78d76f8c1dcf62f59ba6df6d218c46392e3326 SHA512 5bf793f26c63e48f2ff831eb74d1272039093682298060dd72c442874ab1e56b0f959f65ce9569b64106f6eb0febc15b7f8dfbdf6ca490ea62cc1271d601f952
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
@@ -596,4 +299,3 @@ DIST firefox-117.0.1-xh.xpi 401978 BLAKE2B bcb660965e3987d114909769a231d39cb8f51
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-117.0.source.tar.xz 505712192 BLAKE2B 748e7ea88f493d449e52e94a268190f9beca671aebba057f7089897dee51d3e8d45c6f9721d38891c787b401cb6b32128d3b3b25073e17326c8fca80fe07d015 SHA512 4d2afa9bac9d0724fb3568f77a8103d75e90635802f47f2023127de07d70ff145fb0c19e6a4fd37bfe93a7bbb1ec506955c0d4fe3b07057561ebea82b8d6c8d2
diff --git a/www-client/firefox/firefox-102.15.0.ebuild b/www-client/firefox/firefox-102.15.0.ebuild
deleted file mode 100644
index 23a3a2eeda0c..000000000000
--- a/www-client/firefox/firefox-102.15.0.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.2.0.ebuild b/www-client/firefox/firefox-115.2.0.ebuild
deleted file mode 100644
index b923877b390d..000000000000
--- a/www-client/firefox/firefox-115.2.0.ebuild
+++ /dev/null
@@ -1,1407 +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 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
-}
-
-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
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- 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
-
- # 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-117.0.ebuild b/www-client/firefox/firefox-117.0.ebuild
deleted file mode 100644
index c333fad41851..000000000000
--- a/www-client/firefox/firefox-117.0.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
-}