From a308b9d4bf7fb28a64aec9444316a00068c164f6 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 2 Aug 2023 10:49:51 +0100 Subject: gentoo auto-resync : 02:08:2023 - 10:49:50 --- www-client/firefox/Manifest | 204 ++--- www-client/firefox/firefox-115.0.3.ebuild | 1406 ----------------------------- www-client/firefox/firefox-115.1.0.ebuild | 1405 ++++++++++++++++++++++++++++ 3 files changed, 1507 insertions(+), 1508 deletions(-) delete mode 100644 www-client/firefox/firefox-115.0.3.ebuild create mode 100644 www-client/firefox/firefox-115.1.0.ebuild (limited to 'www-client/firefox') diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 438f62eaf803..5fa88e40b895 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -305,107 +305,107 @@ DIST firefox-115.0.2-xh.xpi 429442 BLAKE2B ab34436e2c2c9dcde04f38f638be7cdcba593 DIST firefox-115.0.2-zh-CN.xpi 629741 BLAKE2B 7ac24b4ecd0c9d96ec0fe8a4e068845295c43104c50077e0eec7ece976b787042e762d1f2d08045d4888cb4efc77b96457cd448a45312c05812511090e000017 SHA512 6d1cd6f0815694e3f6dfcb10ac7082752f479ac5e5b6ae6f1cadeda79c531dd41114e5ebd2b8ff987a8e136d9311ef77fe78c1992f983a774937f0e65e3d9a2e DIST firefox-115.0.2-zh-TW.xpi 631509 BLAKE2B 70e0c60f846c7ec864b956fcca6c209169abdac3e791bc7e60ce9c0c113b8367d49f699afe4938d58fae1c0fff5667bb01c85444ac6078d8fedaa6826e76d617 SHA512 a2aebe7ef10f371a56a52c29cb878274135cec914dc639b29f9433a462cf95e0b88234098ccd2fdd426f2e39ac8ae9c9504e87a55612d0e6e02b52738dbadcff DIST firefox-115.0.2.source.tar.xz 506385780 BLAKE2B ca602d102f2b7b7fc7bebb6ca4b21e548d4542727da94410497ad6774b6dc7a9eba778c9b6e269beabdbf647e3447f621103cb68fbcac77c4beca1829cbfc535 SHA512 de6ce8a2512e862c69a7d5c557d6168498d0d40e9c4b54b775f81c444e863a64c43130d57b51b360db4224c34b64a93f3ad263441caee713243b97750ec1eb4b -DIST firefox-115.0.3esr-ach.xpi 469318 BLAKE2B c7b9e27ead519eed6c84793a6f2ade26ea6c0aed3c7e3fc578a95925ca3b15e002a528aa1d61514c04e45a90fb92f45e1106bc29298149f6bfe88a05d65a4d17 SHA512 a3f2440af040e861bd249c18acf7d751f18b1d07b7136059c8909839bb05a3b8598db9c7fbb4ea226d66e31202d097735ec577439ebc714d6a8d83a6017d7be1 -DIST firefox-115.0.3esr-af.xpi 430121 BLAKE2B 9f11d4ce3aa6c1f643d22d0a0bcfffd8726588fbe6592294f7e469d19bbad2fb1009ee7fbcb4d884f70919c1c7f6674be6e964b370542cd7bf1f193a56ee267f SHA512 22ee45b40393e062182817eb981795c20fb7c2dfa755cdd29e65789cc8b7dd34042160ddb53cc7a7da41c0d1f268db4e163cf17a26d26d61a38fc126c6dce663 -DIST firefox-115.0.3esr-an.xpi 514834 BLAKE2B 13572d214b69ea23264ffb2fc6827d7d6c4eb526354cf0aed8aae5be291dfd38cdc2a1131ef1342d5d267b81ecf5c88ce29581189963fd316bb6005736aa577b SHA512 4fb02d7249ddd26b2b68c8a4407c008993f1992e0485c8406958fe946e0615197d2c03291c168896f3dca6c69a4df65ea08c2cd33daaf51612537936bc610124 -DIST firefox-115.0.3esr-ar.xpi 583863 BLAKE2B b30f7843ba1920b76a4918405d902507b2cfa8770618aed2c15cdedb016878f5059872a94092ab9f1d1c6dbbb4de982f9a2256e005f0ba8cb79a1f024c9c3548 SHA512 1fc471381a689deda72cefef9ec05d553b10654333770cb07c17c05951bc6b3a439a6034f4f7df761f307e11f93f8f1256e7d19c90ab91d41ba09bfa1e28ee25 -DIST firefox-115.0.3esr-ast.xpi 496704 BLAKE2B 146aabbe6e88b775b117f37428718c310bf64de25238f9c4d8faa193b28a81da3e939a1a88b5dcbbe94b42389e63612f2874a629c698505ce9cc4e3673dbb98d SHA512 435a7908c03cc8d14506a326f1fe9add184eca38297636c7c1b6a9a75275878907c97e2899d91146e6397a385ea7d9f34bd2e482c8d1a0cbb03e675aeb4242c6 -DIST firefox-115.0.3esr-az.xpi 501993 BLAKE2B 9b5253f6a4a822ca256ecd3b030346663b233d8bbbbbda02198e6fd0674db2d4ae8c7258929fa5670a43a8b10e1b3200d15e9bcb76fe84e66646a376854fc5a0 SHA512 e1f3c350a0bff7d535b8ad0163c877bc34aab44a3e908f315cbf372a5ca3ee07130c18226fdada91c0e66229f0602fa2e07a4891166adf43279f29d3eff6beca -DIST firefox-115.0.3esr-be.xpi 686955 BLAKE2B b925726abecd31aceadbc7040d41bed570de880705d89d91377b8af4577d542adb1946a34573519e9e97eb7603e6793f76fea8a03beedba7e9a87264ac7f5861 SHA512 e015a8fd8b773f97b2b86776cd4987fb55c173f3166935592d787c6da6c341fa7c736f35418c0a0ee073ff8a8f4e6fa824d2116b39987d19524148d9ec42736e -DIST firefox-115.0.3esr-bg.xpi 600451 BLAKE2B 924db1820f176c4215443db0f3e9118679bb38604f196be6fcbff8fd7ce6ee2ebeb5ad6b4f879c11bb2a46994927b4108b2a6af5aeb1b048688d9e117658405c SHA512 b53125a26f775767147792f4034b337aaf97431ee7b0687abcd3ad67b534c49ad2cbe374edeb996c8c9a1875526ebce6756c28855a92fdd2eb5fac7e64f8f901 -DIST firefox-115.0.3esr-bn.xpi 593732 BLAKE2B 9a2a45c937fb29a1eee6ebf739134ae3f9c5317a134e117e9018996defbbb06c540f7a4a8557b7a3fde92729fa235a043c55c9f26f011657ec08a5d999f81003 SHA512 c3f36bd3106af4184f3cbe10625686d937084aaad7cb3558fbd2d04da01e964cb7b134f1919ec1d738988a0317d17b898967a8c96117a9a91863bbfaa78038c8 -DIST firefox-115.0.3esr-br.xpi 565387 BLAKE2B 456ecf424bd7c4d634d6264195074ecf9eaad40db214df244bf773a7d584992dc65d23ddc7d8c86354eed943f96513e66456e8ed939b4e84f1aa36088a3ddc81 SHA512 d6647abb4b2a94851292465bf9efd7b0669e8ebd35ea46e79062f89b625ec2033b7f4b2bf66bb23cf9f438419b415d5387b2f194b7b041fbfef017cafc34b748 -DIST firefox-115.0.3esr-bs.xpi 474035 BLAKE2B c755a60950e3028cbf188445e431d289f49e6542e2c635b931224df94190ee9ac0d99000c92bb4b6b8cbd75f660ccd669c237bd560e13f1536ed8bc68b7ca6ed SHA512 a198c4d9afdf09ff22f0f631c0c7d8172c71f784a424032c44652f9cf182966391633c66ca85d975e9a10ce6f2b473d8a04002db3c01cc6c423dd0a740723464 -DIST firefox-115.0.3esr-ca-valencia.xpi 554621 BLAKE2B 0bb1b25803bfceae36e7f3e42db38594b30bc2455434c7b9ede5fae11f1eaede79c7edfe01067944e9851e9d827f48c9818c12e2c3ccd7a7ec7367801ea8bb2b SHA512 6551657e9850638bfbdf285d4dad01e42c20421dab8fca05c11db9de3b16422962348f4cff264a1252997486eb08a26b654dbe373dd9ffc57f979435c162dd9e -DIST firefox-115.0.3esr-ca.xpi 576650 BLAKE2B 4613ddc6c179198c7c7f3daa5756e46b5986d6c022fda30080933883ed76aaa91e5b44c3069c7fc2390a80abc6fed41bf7ed8796381e3a301b8b66a67ef087e8 SHA512 a44a36ba59bb7eedf191126bdc59b10cd3f4bb461e7c47dc20a1b40021fe63229809b7a531ff01197ccab2b26ad3cb84070e4a95caf6088903bb4c4f2f24e855 -DIST firefox-115.0.3esr-cak.xpi 599845 BLAKE2B c4534a93ae0af483e434c3aeb730d27483a5ac5fa36f6aa8dcd42cbb29a2c6b7d8ddc3ed4feedb85dd34e62337dead681d9cee99ce2c1ca1b7328a69c8ae0db5 SHA512 00cf06c33e5dce536d28cfdfdf5b1d8a1d20a701bfae7651225b9d8eeba4ce8557ea3c171202e5b4c02b0b2f77e71e955e54de3c6d27920e68ea2566d4afb395 -DIST firefox-115.0.3esr-cs.xpi 627675 BLAKE2B 5289b54eb37dadab13c1b552f6c2493940f6092d8d0dcdb2730e37b3e268182f29af9f448af0e4ae4db176a3029e9331efd465158a5468e9e3c616e2a1e1f264 SHA512 5a06392afaa07221587d4865dca736e269486e3428c28b3040f05397abba0eb4184fab3164d28849351047c9b17a379358804c675057e3920afe9f717634dea3 -DIST firefox-115.0.3esr-cy.xpi 598158 BLAKE2B 2029c0fbb916bc1eed6b7fc121c2eb5745099c7aff927f860dba068de03e28c2b002f652f5d2cbfe25e7ed6958a0a288e8e166bbd2963d9b796b435ca174aada SHA512 0340bdf23f95470541a9f5f9d4458a6a6f06763ac0d98f7e3af3d648ba570c976ca95956297af30c9de18973bc6d5f0f3f483881ee8ebf8dee2d294be8630fe3 -DIST firefox-115.0.3esr-da.xpi 587169 BLAKE2B 5677d48c9b4e0be9d7290e9d6c2523cb3479cab21a3b427ca914fdaf429b487ee6d2ab37d42c6ceaee01d17ef8331aef2130c93edf04792a7940d60a9ea600e5 SHA512 04456886f2f9a4770037305b1bca0652c692ff0f66428dadbe0068b4d5f0252eb19d736dbefb9e05b0ca24c3a7693378e05e930f65122d14dd74c3c517f12f97 -DIST firefox-115.0.3esr-de.xpi 608950 BLAKE2B 3679f5cc64be60cbc4a48420c92d60045e10ffab3145d70f05db6d029132be4140adae2209fe990a0dcb84a878945dd0b25e2b23427fa35c885cf321307433be SHA512 b4a6b271afeb49dff6cb16ed972d9e7602b7c0a035be6158e08f1f4cb7bdb7d63c7af7803707c646dc73a27d562c857d44e9ef7158842310e6fc41122c1baa93 -DIST firefox-115.0.3esr-dsb.xpi 620443 BLAKE2B 623131b36d4fa732a132a79c191299b4770aab0d6f388285cd5c5f43319932567bf40d6c35271d44b2a3bcf0cc496630c3991d16e3941451d03d169edcf79127 SHA512 7630fca5fb534c553ce7e3b8d3801c8ebef657ed4ef5b937014930b5532c27939315e4da814d316a61316c033119842fb7d5d71648e2d7fd63609d0df54390e2 -DIST firefox-115.0.3esr-el.xpi 703008 BLAKE2B ea21d3325cdd8d16f690c66ecd3c4f34b6b4feb37d117163713e19c5772de9f5b5f885a3df9c81ed9492b52f48e61ca41a5e76cb2f11276b97fbcb50c0308105 SHA512 a1172bf03826650ef76a0a994a9887eff0d950e2375f7756d7144112dfeb4d1832902ce40e1d8832a038fce968fbba622aee0596d1752a7d8afc29fe1195368d -DIST firefox-115.0.3esr-en-CA.xpi 551503 BLAKE2B 58d02c743b6e9a697a92eb65487d8de734076427b3a7f6650cb69494c7aecab7e82dc500aa6b3e2879a1fa6c17d8d579538b15d10d84f497ea52f229f0d3852f SHA512 a71912db8f7fd6d84963a3b4e61a6d4b4a5f5f7de1e3d6384843aa465bf8dc8751624bfec5df34cc7577b2ec98335264e098757a7059ca4464f7094c8253f73c -DIST firefox-115.0.3esr-en-GB.xpi 561374 BLAKE2B ceab6ec4e1ef91beada1161a675210a307036d9962b910657319f28dbeb2050692e753fa5b995d0c224f04d010ef94298dc48d7e16a0f417f5e4d344e3019c32 SHA512 dc719fe3f05cd08a1dae37740ac0fe895356a5ebe401253d731e13067bb09506680b4ede9b935287fb228c6857a00ca9d5c5597df64a3e78dea11803b3020cd3 -DIST firefox-115.0.3esr-eo.xpi 583951 BLAKE2B 088fd222ec709d3ce8006e873e2ed6472fa8e47f9b564e36cb709169beb5ce9a5d3562bb27384c7e42d2b196483214de33e4682d3567d6d236e8cdf9fbd1b585 SHA512 9a38faaa7e40abf36766020c5625d55add98deaace357c5e5e209b16a02d55e45d087bef3ff383625213f30f9790491e2f9d2ae44f694cab1d2d33ae7fcaab3b -DIST firefox-115.0.3esr-es-AR.xpi 602628 BLAKE2B 27f6ab44b4ad5d14e2387c793422352eb40e180a29cf43dbe96fc70ee7c7e2b7ef7b9c6b5bd83a74cec13d79bd74bad4e5c9a79e249db6d1cd948f0e58739196 SHA512 263f6f2366876867a7e9c548d92d84f6144cac31bc2cb99467c5f021499d7daad49828f634725b069461bb8e9d3effd2cd2790f2b0162f1d3d0e54150e44f1ff -DIST firefox-115.0.3esr-es-CL.xpi 601289 BLAKE2B f86d475c1d72c5ce59a2b1d98ffa263bb561d9dc843e45ebd395a887200ad79e200759f52a51bdb6b503cd4929223f2fdb8f057e6d5d57cf7be699f4ab4ccb15 SHA512 473c2eeeb5e2a2488ce8473b374be3663be4e2508d847fd1d2a7d9431075adb215a7d8fedfcbe64abc0137334b438e24334e967a70c4867ff7a900e6f806671f -DIST firefox-115.0.3esr-es-ES.xpi 595242 BLAKE2B f2fdd917f3efa2601e50c44e5ef21416f68b35229bd44e62d98bd5d9265ed00c3136330db6018fb7fdd1c5146a0daf412a6822fd2886d2092f0fc55490c9e338 SHA512 e8d1152978a654bd9ab223b313a8da87fcd3c2bc338c29d8415b07dafd2c6478af28149b9ee7a2e01b3fb0b7074fc66db663596d60446ebc983f2ab647a4765d -DIST firefox-115.0.3esr-es-MX.xpi 600972 BLAKE2B f535e9295cf28bb74ab7d096d206b8eeec4b35f1e4782ac95286849be7afed5f06453100d8a6304d5254bd01f43383e59947a3cb323243886c97587a5eb1061e SHA512 39b4bfe48c55ecc09b3ad059a5be7eceb0d78011717704d6d515202c9da3c52b5691a6c4cb9e5043b9f00ecd291fe573e8025210f47f75fd504e8108bdca61f7 -DIST firefox-115.0.3esr-et.xpi 548996 BLAKE2B b74dbf3b395cdc8da424ef4b13cf5939fa37db457ffe3f60b111117335c67fabfcc6bec32ee32d6d8c779783075cd5195c992f91e9cf7b60c4e60434dd66fa64 SHA512 b14b703dc60925511c70e5021529af9fa4ab678a84de6dc308ea4573461a9e70080950e9e4699b3d0cf326a2fe2489249b261b4c9cf6f675b38c619cfacaaa31 -DIST firefox-115.0.3esr-eu.xpi 586433 BLAKE2B 517ac07f1475d658473053d933a663659ae7dc34f0908b4630a184981a0d1cfdb38a0d1e7ecbc5123d72fe7899b0fb75c6d69332c5e80b4a945b6791b2ed5308 SHA512 700402a498b5d372782438536d4255f7ca2f62efabd9f3a21f29ebe93c23bd49972026243491e20ea1f0ea53588c71738d57babe9b2ea686473c2f03ca51d6ac -DIST firefox-115.0.3esr-fa.xpi 601515 BLAKE2B eca73872e4f06986a305a99ebaf344881f0913b92c6a799a7fe180f47d9feff76f12a51a4a5337568e1dad84d59af2589b06657ec21a4fcab601011399497a30 SHA512 00644309bc18cd27cb66e431d47bf944fe63767125c2fd877ddb807fc0d832f4ae76c2104355dc6a042051f0f6f42f31843a73e23ce2f94bcf94b6d97dd4b521 -DIST firefox-115.0.3esr-ff.xpi 485923 BLAKE2B b754c3b3eb8b658e1adc5f08cfbd73103b71604f3842ef567fb9a802a64c31ee270fd13ba207db082ce1cbb18855fa9ee08019e96721c0c660acb059a5ae835d SHA512 d455e3bd40eae72249167474db27b933e6061d531312d1e619a1f468d6394bb1440cb5ce50e297fa2b1fbacfdc6d266f9797c140f84a3a69c7a0e985314fb64c -DIST firefox-115.0.3esr-fi.xpi 586036 BLAKE2B 9c510558d53058a2abeeed065679a1e0fa722edb035ced534a1f4135801073ea2883a1794ea6b7c393feaf2be3a2087f30a8f916991856377085a9191c5c495e SHA512 c9afc1ef0d10623a32d706dd81d131d24f5459766e75ad5018b742a56a8bc30f343ddfdd2e477792a923378aedbd8720a2adb4b9e50fa932ad2e33273fd386bd -DIST firefox-115.0.3esr-fr.xpi 615065 BLAKE2B 48fd471b9b31f595c5efcfc38ce697e8038b851f77b8c5209b7d6f14841f3493bfb2bc0e6a0ff0f333ec94133c37e333a8333dd1e9898c38f18f35d4a19e8c20 SHA512 f6f62b411d5d51dfac8b032aacd4904039df32d4e62b4b2230d3025505bfa606fab18740ff9046052d8a8d4424e6a77ab8557df5a9ad47b6b1303bb82698d9bf -DIST firefox-115.0.3esr-fur.xpi 606887 BLAKE2B 2fbe745f6a680b62c9eb66ffc8c2b691c96a6635d1909753d2aef4c86de2f32fe97b39c3522de53f51d841f500595cad2e438d91f4b5e7f1c0d35a8918176076 SHA512 5a30b379dd506e74bf344eb98c37fee22d58fda1b0749246615737e3c919ae1ae17d249683a6558367a4473ee3b29a66926e475b5c94c7c8bc05c2d7523ccfb4 -DIST firefox-115.0.3esr-fy-NL.xpi 598086 BLAKE2B 6b039818e0a408ad77f6354dee0b32f00772b0e51dd7c52e8cbc37187af23a1270ce9a721683069f436ed4673a6446eaba7b889fb51d6a5ca4adafbddfcb49fa SHA512 277581c4a54585f8d500e7db5dcd9e1cab425216fc9d60b8d321604cb583d917112146e2bbffd249c65f75683c7e811922266bef6bad59ffc7c4e28b86406b8d -DIST firefox-115.0.3esr-ga-IE.xpi 482381 BLAKE2B a4364e729e8d162d2226808da4e90c4fa1073535b3294d2d3e27bfdb6d59f467a7bc82aa000829bcea7ec487a2b07e8a593b4fa4a38b27b0d42153a77f1bdf85 SHA512 f82869948de039ceb86f036cfb715cb3ec651adf7ed007155e2385e8f359842992d445e7df1ef8dc96cdfe97792837e8b4b9d4525b3a7bea24bd705802a65c38 -DIST firefox-115.0.3esr-gd.xpi 603641 BLAKE2B 94606c376d41b53d2094c534d3827ff94d8010178174e4e3d1eec6beeb4655e59204ce2328412da1461b8fb77a22f6fefe6a78b1671ceb4a591a054c5a7397ed SHA512 baaff3c44f8a62649219b302618a7cbc36de265d2585c7e9ca44696eb48ef437240c2064a0201fa42b81a59e205416ac11c3633498d2c3b4ebe43abd7cdd7211 -DIST firefox-115.0.3esr-gl.xpi 598445 BLAKE2B 8f2ecb77e657e94a2431c8528265a69a7e4e8176856ade3587389707c231293ad92064decfbd101fee4c48d8f9e4d02e0dd743f1cbcc6639c6cc0b8c5f424463 SHA512 372911c9b7679f2feb2bd7bc7df6c4c61a32aa0f7bd0f149db6feba3cdef038f8048337fbd2cb0b336c4b4e671d760865ac90a365c0bf3c3bb0ace7d488d4a78 -DIST firefox-115.0.3esr-gn.xpi 612062 BLAKE2B 966023516dfc6967226ddd4b35626cd38867165df79762d09ca09796731280cdc628d7194a7838a9a30fdefa48f5a500855c7232e5412ec38792062737fd555b SHA512 089473a84c5138dc270326cebb5c71996c99a346eeb1134d2cad73bf1d97a5ba7ed223256d8d1a178eb69c15fcf9766ad9a5ec0461169e15e9d95a42db063972 -DIST firefox-115.0.3esr-gu-IN.xpi 541878 BLAKE2B e0cff6e7a291e40f211a7920b2a857d9021e63c850f0f2feee23ed6680a3d7ac8be625fd7d43ec55e4548f4c678ed5663106fb2941a8972570fba3eedf75e93c SHA512 1adad789a7d43703b42e8224b4b87c4bb1a40d07f70673ad26d2224c41c03ba598019851a7a254b67ad53a3d7ef8da9d1be84eee9523a4df55225790092f5a92 -DIST firefox-115.0.3esr-he.xpi 608005 BLAKE2B 9480f5cbd806109e6317d395a8fa670eac61953c795756143fb251d03bb279255c410253f070ee516c7b4b04696fd85c919ed3108f056ec1cfcada249b647cd3 SHA512 4c24da2a0f236d1da80da65d03b96928899bfb7639c679f747697457a19d8c66b84ce640293f4c56d467e8dc1ff712692f795d47f99903f89af64e91df8f58be -DIST firefox-115.0.3esr-hi-IN.xpi 571177 BLAKE2B d2bea072955a5888e068a627afb4e703eef8738296c9937eda4015fe36c33dc1be1d9a092b703b03b0fdf34309c41268f922f3586bbba0a96206eda88b7edf1a SHA512 870b44b58c3e4f81ecec36603fc02f81c66e6b655473d4b293885c33509c65acc287464fa9da19eb005eff68fc5a8e864012ee584fa6767524bdee9aa38752ea -DIST firefox-115.0.3esr-hr.xpi 564498 BLAKE2B f98620e33865bbf251b696d47a229137da2e1dc9a821c3a0820a214efa84a20a26743103b7402b88a7da2697adb6ac48a1607133ba9b054ee3004c9faa2c5ec0 SHA512 9295fc145b43ddc610deae5b5a573e6e320b98e9ee4e7a61b5be2f27a4c316ab5a534ba450c7d47d8d4e60b1079f0f3ed4997e1fb44be7251c84f165a5d3b927 -DIST firefox-115.0.3esr-hsb.xpi 620457 BLAKE2B b1195dfbc3cfa85417d8f327f1664d23510332fa698ea17a1abd38b51f0394e88ef807439cee674907cec35b058dde76da8c1ab603e7fce7d5cec2325db3615d SHA512 e8e3cffcd46a576c6ef7686cc3d92a53b39c4534ece4ecb53e0b8d340cc4e61c6e4dab2a1a100fb4367441b62d761fcef85bb4c5521c0658dc0918b519b61158 -DIST firefox-115.0.3esr-hu.xpi 623865 BLAKE2B 2a49a8f1200c32e250926955ddd90f11556f54c99a47df7da83c557fbd06988cf76e7b2914cf09aa642ad4f67a3d9c825e2f9bf1930ee20778f7e070161f9c86 SHA512 1a5792870e9566afcd7035d39b19cf542dfa390a847a89777ff2c1a77c9f90a1579886b32aa1489ad1a6e5fb345bf6d059c937e40cc2a0cda79408f1e9448360 -DIST firefox-115.0.3esr-hy-AM.xpi 614931 BLAKE2B 728ff2d6fcfccfcace1e4bf6607a705c159b67f82c4dca1e797d5a701d78ea9c8e2566c5bff72dfbdea651c20f346c72d76f6c2a71f86d9e51bf3a0c699d2898 SHA512 ad94a0a3dfa59673df1036cace122baf3586efb17a291ac3c586a8d1534dfb7856ae610b4a4b314c8392feb368d8f62b48b7ce7c12f555ff5f69a98cd60e755b -DIST firefox-115.0.3esr-ia.xpi 585635 BLAKE2B ff3cfbd56386a137fb97f5a311d4ee46444123843c396359fec46cecaf38829080cc3ac12e1dd9a60ce075f75af611018fa43d97b841ec80550fe9d295cba9a8 SHA512 d69d1a68b89834f599157a3de0e4b5fd46a968fd0568a20ba8278cebecb0ccdaed8f90a73920421d0894962a2d3eb3f04d0306d0ef997d3fcac81a18b1e2830c -DIST firefox-115.0.3esr-id.xpi 571363 BLAKE2B 3f10c849999ebf984c3f265293be461f9fe9c293e6131c8b46e79692ffc9d7bf2854a7d8ec499909b47fb8a3b828e4dcb5c03e23a0b35cabd31e2fcb1630bf66 SHA512 0717b4e1b4655b8f38dc5d9dc7df2bdf57624f8a76607cc2739f6940da87f846af633c4f6bbac4bdb0d329ace982e6e5bb3725abfd50ad3295cb71652f0e3c44 -DIST firefox-115.0.3esr-is.xpi 593516 BLAKE2B 52557a549b0eaf1f0c6281d64dcb837b90148056abfa86570a3f91e2bdb8a5d06855c7a31d1ce772bd8f819cd5fadcd21bb538497e2f38ec0d795387773bcc92 SHA512 c285fc9a51aebb438ac4a889f8fc94181c86973704bc1b385a9182fba9b241815bcc64472f4d08925c09d25553447d14ce2d25627b0f01adf6ef4a5f13d60e90 -DIST firefox-115.0.3esr-it.xpi 536396 BLAKE2B 2f4e7445731b1c152540d39a9780efb2792c2f099bd0d184f65484d4360ded10d018b599ff6356e4de5b967c82b0ac4163d11849c4faa55d9f1363ef65ae9d7f SHA512 53ed310502c09e6df19dcef0b663a269409049eb5a83fd138f5ac0fca184b7ee55167a7c8ce11f8dbda81e78a020549f4a86b16b8308adad728d19c316d6e4a8 -DIST firefox-115.0.3esr-ja.xpi 648086 BLAKE2B b7b80e399cb44479017e6c6a85628e893b6cffc00e1a2c5a185b433a414e9d1ec3181e379612b815a0bf50d308e1488d14f6f0603cd825fb941d6e7d35f23429 SHA512 b3c3450833a4efc60096ffa086c144bfccfce073ff9e290ccf0431d344409ca560b5b6fbc8541adaf1571cbe8455cd5944e8a612b28ca3a94535bb4469d4bde2 -DIST firefox-115.0.3esr-ka.xpi 651358 BLAKE2B a7b13dbfd2e71f4db747a3e1678c4566a090b380e9bf739b516dfb2d4fd0d0e49dce50075cd86e4402c87c45f4db7fd696b01882449733ac010e5e01a9d1f118 SHA512 ac261dac98ac53ec5553f471700deb12661d764887c928eecdf5af9e9d8446e907be2402e166ddb2d0c2a1807f48a9a9ac61d1895939f68f06108d2e5f94bd37 -DIST firefox-115.0.3esr-kab.xpi 598570 BLAKE2B 4c9d2d70e0699e19caff9ad4a8f928a7cef97ba2496ac90d0b5c0c3ffea08e8d34256096765299681baa9a634b22e3d44d777479060bc3c2e6db8c9bd06a4052 SHA512 26ad8ea214370fa69396538dcb31751d24836531da7ecda12d04f1545882f4911c6657c496bb6b86788fe51cd4997a204575b16f802408fab8797c7f02aec36b -DIST firefox-115.0.3esr-kk.xpi 674085 BLAKE2B 8513f32511b486f55e9afe3057449897c6ddcf21cbd6261fce1b7345adff5ceefaa440e1af890fa7bce637292f8a5697775a38b0bfb1b304f33c4e51e92f11c4 SHA512 16957a910bb05617a8d1a69b8f59016db907a8ed4621edde6e3dc08aa3bed85a1fcd4cbd1010b595aa2c9fb60d8ec7cff01521fa7a4c82e8f1db6c15b46b7e2e -DIST firefox-115.0.3esr-km.xpi 543690 BLAKE2B 32fa9cf367375b19a6a9bcf21330d86fb3d118b28b127017c9bc09386d7162d6f38a354c69355fad2a8c051e35823c9a355018c963ce96360ada39f0b8fa59e0 SHA512 c4acf20334089a32ab94d705f1715f7858237fdb339d0b7ce6dd49f78e3d6baba510942c40f3862919ea4dea76f4b0bbe7cdae90d0a44202e1166241ea701249 -DIST firefox-115.0.3esr-kn.xpi 508144 BLAKE2B 5a19ebb8e6c3960f2704cd699a6c5e0447732ef426897bebe619f398a9eca9503e6a9ff42448299a8c8ca839ad0053c038f30a498c0bb8b3fb30c6eb1574827c SHA512 2249a6200ea0e62a06866c1ac7d448ce75baa157ee5039bfd9c21f036b9e1dc1d990d170b9633291cbda972ebd2a58d41f7b27dcd35db2972a900267d1557e7f -DIST firefox-115.0.3esr-ko.xpi 634982 BLAKE2B 4fe316537e57474bdfd2f52e61ad92bd81ed9c71ba1afa62fe91609dc5ad185a4e56956f5c241c2b45318b579d2a717ce051febbf97328ca05bef4aa0a7717c2 SHA512 cb53ece847a7193c32e609e30e16ed48b2f81113feafb56a0f5fcd5d42eebd41ae788d3f207aa8e8f93857143404c32e64adce22b999bde359c6851504b86ffa -DIST firefox-115.0.3esr-lij.xpi 493484 BLAKE2B 903733817910571d2fcbc8ec519ae2272434d52cd112c9a4bc5e920044ed426f75b466c1bd76f1f86e72947675183870287a2bee76d81ac8804a88411ecc810a SHA512 379c8fbd5e0b1d703974b9ff03f3df834a5c2dc5c660fe4964061714160bcfa4facbf374183ca913c4d485d6f710272c171f5c2c87728a0ac3ef9a400818421d -DIST firefox-115.0.3esr-lt.xpi 583774 BLAKE2B 98de3f4588fdd8fa48b4a70f58cf72ea1d323d656f3770b3f7997eab95b0b2af53463ac70d5036b5960d5a7d8185416ae78a0d7ad245759a5e7aeddb516fa95a SHA512 f195b207b466910d7552235d882d1c005eda3606bab52a636f39adfa1101401eba7800b3b08edf2649d5cdd5081c635e8df336e5198fc08499178fd505fac6e9 -DIST firefox-115.0.3esr-lv.xpi 481446 BLAKE2B 40413b99d34f754940e46969ff78cd30406c540421a3312b4a8a320c4af7c434ffa81ac3608a5512a14c358de4441ba2bc779c1248201a5ff9044e01db0bc993 SHA512 a212abf17bc2f5b7e0dc9664dbc4854c53657f60d525d8505147acae9fe416c945b74d2323727d65b434c69342bc786495be7ecb1006a852c6fd876081e47039 -DIST firefox-115.0.3esr-mk.xpi 496393 BLAKE2B 889c9fd309809960b64a0b77b61de8bf0e764a30df31fb8f018621e74b0490a5d3a29e4b2796e29bba535b6cb251d0ba5219e5ceeea3be5422b09f2cb85bb847 SHA512 bf0ee4deca48cac23d10d6598162cdff6ad95a98241fd99bb2ee5a8fecaba6a23536ba09e8bf23c3a06704f92f45eaa18d51745608572e3f122d78ace52aeef3 -DIST firefox-115.0.3esr-mr.xpi 544673 BLAKE2B 1373ef8d8398efc81a069ee9fc2d1bfb3a92ee771fd595e76d48d7be685d9ba192c392e29b32c1ea2dc885994532ffe490ff03e76877b07d5f24a99b12dbfa4d SHA512 43aec8d9b153658c005a69692edd41a9c13564b43e9e888be67ac3def1b25a1b8b9aaece14e98a276cea144522bfba6fa761804287582993e2be3096237c6219 -DIST firefox-115.0.3esr-ms.xpi 461874 BLAKE2B 7e235a806622bf4a11a33093fc3a763db576fe8cc7d7d3fed08d1265fe6b5b7f694bbf675b3a1066f8db96bdc701789a949e759561a218a974cb4e01ed24fb70 SHA512 1a3693950abab6996758ba1e871419b235e7f95e4bca1f97dd69f9189e450807dbb8b1b0aafdd301b784b21e6fee7d8e8b03363e09847ff6c204da6cfe67291c -DIST firefox-115.0.3esr-my.xpi 529049 BLAKE2B 226443ccc74ca65d6f0b086d71e59680ac19418b65a2efeb30910e570ef44c6a3aa8172731ecdb610fe9c0b1aea194c9fb9944da6c09c2d9140d94bb3e963368 SHA512 2f44aca360cd4054d1f888350d703fedb2454ddf48e9b2a9716ada74c54cb166a950b97befaa01126687ef0182e030319a08c1f12cffb5f974b80ec37c1c0247 -DIST firefox-115.0.3esr-nb-NO.xpi 582798 BLAKE2B d060ad4cba80b70de3c1b3bf0ad9b3346834400df37962f2dbadcbd55b9367fc30c744f16517a74b1cb7eb4e5eff4eae1c78bffcacc29214c6c34d34f87b8c0e SHA512 c95814da3e4488482d34a8d7fe76bfffe232f68bea2549ad9e1365d949c8c580e5df926a2af271255b3beb0397f399b01bf4f0c64644ad0f11d372ed5d52bd25 -DIST firefox-115.0.3esr-ne-NP.xpi 496637 BLAKE2B e2e98624095e110d0dc0cb5d4b60c2f66371a4907712d65fb6d415d0f2d9188a497a3464814a67761a29dfe2b86dba2ce53c16460e34b6271f991a1953c11580 SHA512 3b58bae543a29eef63335d7e174e9263f2e92b33ffe44dd7ad6b59a47ffc90ec74a86eea2cea3c19a1c7545cc42fb46d1982882c275af14f9ed11ecd480163ab -DIST firefox-115.0.3esr-nl.xpi 591931 BLAKE2B 6992baaec8aa96058ddf2dad7ee35d3dc1555e75bdc74424a9fb9066a3ef3284bf737f14ac0cdfe2cfdba34297ed48f7d3fc19e847cf0a1880f82b1fc0cff17a SHA512 f82e945a052fb91bdfa94aa180cfd6bfa8b72c13751e07ca36e841c28bb52e151ba7640df715d3727d547ce6a74e019cc072c341ac70811cf49779e2d15e61d9 -DIST firefox-115.0.3esr-nn-NO.xpi 585568 BLAKE2B 7ca5b1567ba8c3c2c724475ef1169ad173bfd5da084ab6e3541f1a257eef81ff76e5ad938755d0ea43ac2d172beebee02a68aa31b97f30c71f246dbc52244d0e SHA512 b79fd38da6f67f776e4fe24a5c0a6bfc81a7d2a45940f725c26ca2ded8e2280298d13944e87e18791d3a0dcad979e7bc6d1d8fcaa431b4fba944f966ecc47c33 -DIST firefox-115.0.3esr-oc.xpi 606883 BLAKE2B ad17644a375ecf81d7d2cfe5e8197dead37e5b3d49ed2cbbfd8c902a0de5e7416ef33884a7572d0ef793ebf30372b06750cc25027bee1f12a9cbe4635e2439cc SHA512 77697a3c82913d287c992f0f784e971cef3255cc9a5d3021f5f70150e43cc7f046f0d8bae95f89157eb2965c3a10f4b7ee4a5d5b5d245a59a56c63d73f534b1d -DIST firefox-115.0.3esr-pa-IN.xpi 665209 BLAKE2B c57d57225dd90542cd430da17ef6d95045d39cb0da3a761e40a1629cdf26811abf906d772d2d9d255425005c4cba09fe6740db3b5840b48754fc629a7239c3ec SHA512 3600d3b44eadb96e6d8c1c5957fc1d86ed1a4e53718bd0add66e9919365a2f6985c7d7366acbc27c01498fcac40b18bd2e9e00195f560b4677a369dded9f9d1b -DIST firefox-115.0.3esr-pl.xpi 617022 BLAKE2B 67031a7e2a8aec9b9a878696a4abaec25f50aa0317ca4ad14778eaec3a1f61ea1bc1dbf7223a3ae8ab7409863e321ffb7cc4a404cb578ff57b2dfcba3b785342 SHA512 8c79accca84e2eb9d6f9fcf8cceae8397c69c474a937c70b4d1129b60415115fc1ed679e0eac6e1fa698c90964634d17a3f0fea531d1d620893e60fc503dc3ab -DIST firefox-115.0.3esr-pt-BR.xpi 596734 BLAKE2B e59d588a15d2c90f0ba9c423203b55dff2c5b267ae88e6b91bc96354e1feeac4b598790cde27e13f67d21e0b069fac239bc719a1a4ee26077c75f7d73fd0265c SHA512 904dc178ad0928d7071a7d8304b1cd10c5f8eca6e08dd80c8acf9f2db11e6bf7fe7942365b22555f87ca0e8610a4133865bf72589ad3d4089d4eb7d4184d24eb -DIST firefox-115.0.3esr-pt-PT.xpi 598848 BLAKE2B 27d6267e1856e488d9d8873f9555f0724fac789dc7dd06061793af188941049cdfb8f94eac4878d06c9d12fdb02e284f90fb342beedee70fc2555ec26f170f34 SHA512 76283dd0d4be75572a6d5896050b756dd8370a7c5eb96b5167181f3ddd3a6cc875a3932e9ddd563b1d5dc76d0e11a9099fc96031fcefe8857121bb35335192b6 -DIST firefox-115.0.3esr-rm.xpi 592662 BLAKE2B f80557afe9672f747ce79069085bc761f848e101efd7f294d1c10c2b1ba9f2ed4bc1e3e10b6b9bcdce71691a3caa6ef1b9009b2e8245a84d6e3402666e4129e1 SHA512 a1ffe7f7fec828fa4a5d0251888113d9118cab0fe73cafaa2c3645c20257f6981200bfcfa978b6ab971845ca5a56aec49d41094e066cc23efae56e1a8e835ade -DIST firefox-115.0.3esr-ro.xpi 556990 BLAKE2B 690dc69b1ffbdf5cd8887516e393fafde62feaf8c8000c59adbbe7de2f2e0f88fe6d17236c13b82f87ae0a65f2e312eb1940397a5ccb8ca6da74291ac02dfaec SHA512 0b3be4f049777b7698967bbca15be29fe656bcaf0be6db5d9dfb1b9eeaf9ffd5805496e330db0ee679fed35cab27fb203d5dd78c087a1ad430b64bc4bd80f933 -DIST firefox-115.0.3esr-ru.xpi 691645 BLAKE2B 3df9232e6b0d9795fa15f69d57da83338c2b9d887242240278f1f75c3f5e0a2f88d96ad1be57d82246faf7712f3b41908fdbc65efce0a2d7561f6661d75a8d42 SHA512 8ab1da1e74439d571a48af6fcd74a0afcf97dd2c564b11f62579ebf4af4d3b7db25bc61acc5fb933fabd00dcd2c28aede7b1753adaf90508ff1199984fa51cf4 -DIST firefox-115.0.3esr-sc.xpi 567078 BLAKE2B b576873c4608baf7adf9326d4b50b8a3c7af2977bc4b4e422a624d77771d9f1bcb1edef04d22c1498b7a993c2ddf224c0ad50f47f44224ce045101b993edb7e1 SHA512 e67bf324fb42ecef6078b8a66a6baf23a1457a40ff29e1b23c7ba3109f5a2520c3130af95b722603b3b9b464af97118b572a40785f885436a5574e1732c538c5 -DIST firefox-115.0.3esr-sco.xpi 518343 BLAKE2B 296a5e33b60c2c42d6c315ff5da70fcafd2e35f16900cb7bb381f3573d03ecbd864d5744a65a8927457b712ebc9d9dc6ba7b031e3302dca05dc7c7b7cf8fddeb SHA512 05587c3e250cc22b6f642712dc2d96dc942cbc001094c40b1f7264b0bddb32467c42d9cf7eb4c9269d62f8176e0976182b1694382015be8e6aea1a9790d66e44 -DIST firefox-115.0.3esr-si.xpi 593119 BLAKE2B 12155bd18cc3665ddcbd31571a06873f4c46feb3be4179d5c55b2db2a8ab580467158fcec1e14a87497f96a70588b23f44ea38a0606ff1ba9d838665dc8f6f37 SHA512 a07832349c6547877a7b16649732e514e8a2f028ad24769e4c5b6d492a7968819cf1f29b81fcb8f7ae102d814107179ae6d61cc1224c859f0a0b509fac97315f -DIST firefox-115.0.3esr-sk.xpi 625407 BLAKE2B 0910036705de8a869049c2d1a2e5228c6e807dfbae5889edba08bd4499dc963d94deff587725c05a7b295ed55ec0d2b3ce1bae142697e9cc3248503afd2a0505 SHA512 17f424b0dffe5c1c779f8bd6cca0a8fe4102f0ef26c69c79e0e9ddfc4391cfd09f8f2b2af837b2acebd90e72afd866d4ce282df6e5175ad5c69bc9e26f54198f -DIST firefox-115.0.3esr-sl.xpi 596048 BLAKE2B f3807c4ac3b766e077f07d9c57abf5cc7bbdcd42992c183b95d51f1f46f6d7d4e37bca62445031ad9c3c90b621179f1d4e44e569e6c503ff0d304a6a958dca9a SHA512 e0a66889a5f4efb339f14e7711e4ae7199a6d74e7de0fcf3d5e44dd489b262c0a0b370261eac9cffb9083f492344feb939c453ea322ab26ee5147a94f39dc8bf -DIST firefox-115.0.3esr-son.xpi 432505 BLAKE2B 4194a07d6f3eaf0a5e240a407e3530eaca23b0e2b73610d704dbd5e577bb7d62e32046ef09e357e4bd0801fc04bb852ea140caa72eb8366bc1f860cea76ee833 SHA512 0187d49e227161acd240aa2c7f23159364c8b812d155ee92e30feb667b7ee3644110b930946d096de0ca1b7352eec723739817e10dd0993b14cb7dca2f787d23 -DIST firefox-115.0.3esr-sq.xpi 600793 BLAKE2B d12eeb369ce8e0c0d4843091ff14b39ec6fa4dfbf572478ab76d82d0efd1c85d050471333ca51ef13b2ab3ffcf4c6f5cb8a123ad707dfec28f349f610ba8bdfd SHA512 e6675b4f6b2f038e3b7f6d33de4cce4500294f19a58ef938d819da60e95bf1568f761c2a4d929443e9f501bd38ecd066f6f2a557141859ad104602cbb752b006 -DIST firefox-115.0.3esr-sr.xpi 653891 BLAKE2B a2322aa046b1f9428f57b3e9f28a4669f3c0a9ee836c7c6ad32181dfb12e07e4e86ddb1fb5f0092103f7c01883431f1b79eba823066a8835e9c65dd28fcb718a SHA512 371d50b1b3882a35c167d86337e816a6a10958bc035fa9448e98dbfaa6250e9990d5b1de95d34524b9f4551c28f2574278e25e37494c26d913835aff870f0901 -DIST firefox-115.0.3esr-sv-SE.xpi 593896 BLAKE2B 88156b5776bcc8545aab7b2b1314ed426946de15006aa4c03ac6a34629bb27c307aa618d8695220e4c693be1cd5c0b87845d3dab187403f144a859caed96e919 SHA512 0f358a112bf5af84485e1dfcf66fc054219663dfcec5a049f58926d167585aebf00370e6e33b44213f1e801bb75032fa393a6b1d5dd1df362633b4acbf68b845 -DIST firefox-115.0.3esr-szl.xpi 534135 BLAKE2B dec3d5a7ae43d4b1569ad194b122bc673d2399d2c328057885b98941ccb9255a4cc071d01f7bffee4a9b3287669e4d6307e802b9a1c16ec340d811ab34e3d3c5 SHA512 702180d30f8b9712f0b89368f1253de284e9d4039d6fdedd1ff17f686bc3ccbc765d86242dd693071931c4ccc0fd3eac4774de892e739db59f83a0fe964e6a74 -DIST firefox-115.0.3esr-ta.xpi 520719 BLAKE2B 0b432c9ddfa29ad4a233b9f09f9114cb6db9ade4bf8c23e70d7d0c6578d397c98622d83106c8c075b8d75ac10373b9c9a8ad1b26345b028e060ba792c8a2cb37 SHA512 56674f5bb21c52f2f90d5e6bcdba97b77f1eb82aaa0e24060d34f6d0d6fbfbfe5d9afbb92ebe01a868917a1c192c8eb019927f9f92fe8f6226ee90b242c360ec -DIST firefox-115.0.3esr-te.xpi 570039 BLAKE2B 3ce298d0217ca3fbf468a99fb945f3a9927959e1e2f95c6d1265f05b41094ee7fab28d27aabc8755a4cbd290bbd4d15f207f2e3ee9b9a03bded1d4d69012e496 SHA512 26715832c5ea164fe94738765c453c9f0f8642d8d94ef55d80a6a7f985e63d629b70b69ecc4c145d558ea52416572e7adbd55079ad8ae08c9c253978b662bc9d -DIST firefox-115.0.3esr-th.xpi 667039 BLAKE2B e152453e172f51230584dac9442485a89255aff1289838a28d15c6d574f7a68d5cad2b86c0631829d4131612b8dc6cdc4cea07fcd13a9c740aa0b938c8e3e7b7 SHA512 85c8fa33fb1baa2552158ecfe10ebfd3294d7f9fa854e213040675ae553f7b5a96861e75bc6e0e9290f7a7a19ecabcf48a80f3913fb8c05942456272c6270c1c -DIST firefox-115.0.3esr-tl.xpi 541136 BLAKE2B 5877100e1999bb4fe7cad62e93fbc8396fe8301d89bf54be241aeacde4f762262a8b0d11eeecb4480c8ababcdff857c64e19cc72a1e0394f0a22a25b3cad8a46 SHA512 07b46258d18a262772519793b47d936782744ea70bf13bebb8ada086f1e854a7781471977c90421676b6e4d933fafde594fb9617082208b6a436dc0edb67b8b7 -DIST firefox-115.0.3esr-tr.xpi 607285 BLAKE2B 9de5f3405d6978b938a56205b1a267fa98f6446082e0c9a9a1fffa4ba1901023a2d53b439b5d590dc33424aa1420e4f976c614285b39d57aa453c9e3cb84de89 SHA512 ac1c1357370b6d7eb10b70d631497b37c1902d41419bb2990b5a54692fe0a20122e2f99e7d60a7a7ebd4ee50c3ec65ad22c6b3e6d48b86b6b46a6e30cdd53409 -DIST firefox-115.0.3esr-trs.xpi 501894 BLAKE2B 0970cbb4e9ba48ab04e917c9ce6b3414842918318393f3c0590be28f36ed77b627dff445e2f361edf1087f4749c9e70eb561d74b3edaae18cfdb6df4ff98de5b SHA512 15554498bd87b3eb64365776d85bac22b3c45d4d6633cdac2442fb96ca9aa12e5fdf0ed2b024c659ec75b3091100d5bd3f96d6168b8895e2447c37d3b708c5fa -DIST firefox-115.0.3esr-uk.xpi 684823 BLAKE2B c8fb2b3790c59b17526d9535e7140c469faea709c67aa94ad16c9cf26d5ec9b74a3bdb1f17227b43506b35781006393ec98932d83aab6c282ea710db28ad7508 SHA512 698b990ef2f9e6eb55406b227d63197bc18c484cfe30f0425e2838f1790aca73b5956887352edd8ee234d04b6cf7a96089b265b964ea642da50deb37fbe26722 -DIST firefox-115.0.3esr-ur.xpi 570584 BLAKE2B a9a778bb346101129ec661a4d75fac004282334ae5b0fa4fda2834f5a025d154c9e54ba14404afa943e51cd0c00284c0b7d936b2d4fcff79b213fad8341de545 SHA512 55ba09d9d1e56b0497ac3552b0008145fd7ea3a57ca77e1c486e5998d4bef6716f2518f8323014af9a4d657f702e9ca8bdcfa42a74b76efbd04f75a2afd91448 -DIST firefox-115.0.3esr-uz.xpi 488312 BLAKE2B 6c6bc2ee5daa5aaea05aeb5c479f38d167f80acd5b85b3e3c632be281ceba1ce6c55a3be487ad0616edb9e8e228546c3cafc845d3413b735f215c056c7b1e8ad SHA512 b78e09ce8a01d77bd24db75f1c2856cc187fe3f72f406b024992fd06b34ab7c6db2b85598ef52ae644aab36a1dd9584e2c9324436fef7e4ea20d7f776aff6f5e -DIST firefox-115.0.3esr-vi.xpi 631056 BLAKE2B df01b4d0e32890d78e199fc8744aaa12ef315b1d591ee2a205375e5400c43938e38f6d9351a0a61de39e899b304d1c6755fe363abecf9d33f21366525f6a1b4e SHA512 a804c7ca18f8f519fd3b03e1bccff5537a9c1a6a86ccec04f23b66bf717d05997edf12244e18da0415aa4d376a06ba42e1cab9a86527eebd2130b4d93ef0c595 -DIST firefox-115.0.3esr-xh.xpi 429450 BLAKE2B a2b41baaa105733e967e7a5bb7871b2f4bd131b42ae32924874a6dc6aa050d6588b8326cb6ff84aa5eb5b3f42ce184982a876c34ccd2438b66776823ca7b8f57 SHA512 a071943c409de6fa5d9b7ac4cac3e0a17ae34c37b48b36fbf402e85f67ab2b27a8ff3ad88448c312bfc62cd00718796ba103c278b8facd4729ac473f0fc3a507 -DIST firefox-115.0.3esr-zh-CN.xpi 629739 BLAKE2B 63d3288bea594bb11de329bad78264a1998a302f1d887cc74542fb4e7503f088e42970f70a92f80f6b1f037381561f11a55c79f2a0c0ce980effbef700c06944 SHA512 cbc2e7e1d7f4a18fbc3086f4a608913bbd279baa54bda989c2979ee38847abc69796fcdc05dde3e4271d511fea6cf4d33be22defe7c1dd11106abc64a7d969f9 -DIST firefox-115.0.3esr-zh-TW.xpi 631502 BLAKE2B 5254f9fb70542ea0c9855aa1fcf3b2ce82c892754cafc960b414897e67c8bfb6b13391bd7695060de8d014a52c55e9e54e8d84a124e98449f1106c13e297605e SHA512 2ea8c0c53df5d8510d0c394a033b071939d35af13420cdb3ff77d1979f05ceb3236a8fd0e6f4e8000a21617e48e71c56fbff212d193d075984df61f300618a40 -DIST firefox-115.0.3esr.source.tar.xz 516725896 BLAKE2B cb45ee759fe119f5764981b1214ca53d46076081bdf96735ba34cef963d72fb80b1f46fd6958904385ceab01d62925cbd4d133f8b5e4bee7cd283676a7671c2c SHA512 416ee56bd4a602c543391faaa8de31808f267ef2167f7d913195de45d3628de08d0582dbaa8905c847e1431bccd9d1d5d73ad9e7e5ea75be39e4d908a8b40376 -DIST firefox-115esr-patches-03.tar.xz 17924 BLAKE2B 2b086761cb34c115c8e07f33f3f569c7c31c0e61565eb792a509b089220ff42b1e676641a09c057718a74c6fcba6be053c9edf39fa063789cf773d756fc374f4 SHA512 a386826b3a9c4736d9cb5192b17509669fc71308d2879b6a266201d2d571dc3b4021260784bec3117d1f68d508436120b5aa9ee18d01af84f67da58df7e72b2f +DIST firefox-115.1.0esr-ach.xpi 441056 BLAKE2B f176828d4ef36d0456114b60e30148fc7d4df3d8649efc97e0de5f197c9bede30f8b57ac5b070fb527e1f8459874743e67ab73859703dc6d50425eb982fe1fd4 SHA512 d957b39927cc889461a87b859005682070e6e5e6a7047b011b7c341e24ff531168acec4dc26a5e49002d62fdadda78f53db81355f4c0e759ea1a17964c57706d +DIST firefox-115.1.0esr-af.xpi 402457 BLAKE2B 3ce8f5b3d09fa1740732fe0d96ad3b1b4e28eaaf8c78862df8f29db7da8d4b11446c14d5894286912660437de5513d1be040d47d0f5315095e3ddd50c5d5726a SHA512 46d531289436d823b67cb3cfb5e60702b56edb15a68dcb7877731fe3d1cfd2bd8ffcc5149831c8319d22db8221bbb34e1fabe0c5ed96e809cdb73a2644f9aa24 +DIST firefox-115.1.0esr-an.xpi 482929 BLAKE2B f7c4f9b73072d8256da2dd32254592947a923b9486784bf4b2953b4ba2f2aeec7e7bbd091f8f80879152f02404d0f19b0d05e35af11cc4ff121d43838b63e9b8 SHA512 47c0c7621ebbaa601a0858b6ccbe1eacb6e321ca43122d3caef69a2d73f891d4adbe776c9b34b6e95ecb17e53ab6be1974448ad649f665d24c768f51741ee0c2 +DIST firefox-115.1.0esr-ar.xpi 549546 BLAKE2B b89e4b02392c3654951a3f481bcfea2d122e4128e930e4e92722106f135ac4eb72af769d1505256b2c70a54f205be17b4b9b4f710ac639ccafb1b7ae872081c1 SHA512 a576af0ada09e829f4ba0884498bc68cc9bad105ab4bfd1f29163c6c05f883310bf5172ecc4e22ee127d007dd53b27adc05a5c70f386d95190e02c792943297a +DIST firefox-115.1.0esr-ast.xpi 477352 BLAKE2B 6f325e769447a438927a36447d0e13222b0bda3d8a2dfd11cbd3bcb16917851ae24555016885a9e9cc9e67700c323da985442071b9fc98fc5bed0a695a4920d4 SHA512 35053f787b49757ccc4abbc3db923c71981f8a2e2ba7033f55b3ad54431b160fca669b6462ac7323696ed460697a6210cb1a4a028f0b1da24abca8c9853c21a7 +DIST firefox-115.1.0esr-az.xpi 470734 BLAKE2B d021f9051b0d385d633f9c98c098b18f56cb50474a5669a2794d1fa4b2ae6a738a11cb374a39d9bf1ff4a1d5df18b18585af64af08c1965e82fac5af5b1b68d0 SHA512 bd91f4c271ca5fa07d080115edd29f7bc14f562579be1def80f3fba70b6a944a9d5f42e4103564191b8ca12cebe64aaa89965955dc2d6e25774cd137c1e5fc99 +DIST firefox-115.1.0esr-be.xpi 647098 BLAKE2B a3161a3d3d16ac42ed5a84ade7a12739dcec921f9958cad6c6543e8cc0e907f72514d83cd576de7f056f12ac52cdfdaa58c7f3ae92de3076c8d7b458f1908439 SHA512 3978515f162185dc5a304f6b3cf0c870b93b44e7f958bb5606dba972dfaffc921d508bec8cfe109f54424fd15668db922542a5340196e05f8089c2120afb2ebf +DIST firefox-115.1.0esr-bg.xpi 564166 BLAKE2B 5a2ca7c6b6a70a60cb38f3690e1f32ad984d774ae847d783f4834bc77f0d394fe3ad7acbfc6b8a77c1705d5c6d6722023ac2cb3215923d84bbce4ddaf9d351b0 SHA512 e78a47a0b4ca3faad81e8fc2c21e17e82514833f07360e5d0b483c0241502ce03ba0483e369f11e0a5e05cc78edccd9e106a7f08e750d4ac9142ad00fb7e030f +DIST firefox-115.1.0esr-bn.xpi 558442 BLAKE2B dac6188bd290dccb2d2f1925d3e241806d1a60f1a31b3f6edc50292a6dfee9884d4e5e050950eb9c380e2a58b4c04e62800c558e323e979f41e715dc7537875d SHA512 6923a62dae7caa79a3b02ba63fc9a038ca01f270882f65da08aabb1706a406a8ad74d0140dd7dcbd3d6009d8ef2b275f8510d888c2590e8a48c1f3f849bc6219 +DIST firefox-115.1.0esr-br.xpi 534380 BLAKE2B 765e8d219cbb63118f8bde4310c314046d0b28e926153f72ae9da43554e192e0112c6629a21544f17235dec2d3a3b23af35d5a53098a5bae297497f5c6f4b620 SHA512 de9cb0244592756a728824d9bc23ca8c9e13cc0b34848cad4ee589c0f68bdf787d3d56e3deb411891c664b4eb2f3c31e2e391a4360919ac6cfdc19a8162fca7d +DIST firefox-115.1.0esr-bs.xpi 441262 BLAKE2B 2a29e9ac392eaa8fc07adc2874dcf7fc7160a20cffa744aa0902a7452fedf523c6c587c5c489fda9be25920442ce95a7ab494c7af20520a4d7d9cb2e73d663dc SHA512 403da0ba5d7a2c6003117eb3432cd3eb282c1e99a45f9d6154668cdad1cb791c297266c9b446d16ca30b5569d328a1e54feffb71b6049638c640ce9cf9987b81 +DIST firefox-115.1.0esr-ca-valencia.xpi 521959 BLAKE2B 3ac6d2eb1b814c941e288550600ce35b6172cf3b8834d9da9019ba5b5013d355681ee3be566f026772219558c58c66330348b7b482d7903ed0b583f526601d22 SHA512 af5e87974b649544028f34487e96f1eec79247b79372e8c7afaf6c71a0f5df996389f2953d12dca5ca6f8b5316516377ea232ecc286106ef31487ab8f16f7506 +DIST firefox-115.1.0esr-ca.xpi 545473 BLAKE2B f8e01c177b6155b7576590291193fa63d6f986f15e2c81a9b58ad7e031e8ae4a2645019ccae47ff5d0e277f49d4cc866da111875caa3338717c1243f373169ec SHA512 a429e3a8edb5dca07a37746775078faada6c54ae8f42744d673e35dc4420185502f1f8fc2d10b638de217d8529794e7afb6e6181df414a7819dbc24a782d23c1 +DIST firefox-115.1.0esr-cak.xpi 564584 BLAKE2B 73b4baad79245758b0e83d567b331c9bcff1160d96edfc48a7d29c66932584429bf8b8c7022010bcdc48149e1903565ff47a0edd43ea683f012b93cda302b905 SHA512 916700859c294663a8d53b80cc84d8ae3732268a0d41d992eb06cf91fcd497cae5f9358af4365124459407c2885c10e2810a9c73ac74f4760be29fc7a1acce97 +DIST firefox-115.1.0esr-cs.xpi 592259 BLAKE2B 45067d3e26980cc7351ef9529ce0ddc2ca39ee7497a37a81d001aa944943d5eb95d20afc82be661504e1d2ed4593a675eba6fe568adb6e8869fb840cb75b6d99 SHA512 3c8f154568a40c49a5f83cd5bec8720373cb506d2121f467c272e82d05969439ec8a7c51f1ba32275a6448a6a45e8048de7d543556185d65bee00ebd8e5a34d0 +DIST firefox-115.1.0esr-cy.xpi 564685 BLAKE2B 0133e4aad815e2c3fe447a0e3c520b35fffabd0cb7686f8a5d10acd9122fd20286df76e290ed1bd195415f01533100cc5b58adf7a30ec557a19faced121786cf SHA512 e15799fd2a78da1867e023670c279307534334159f31ddc55131060db7f6b8c6317920b6161c93292d55710faada5c86692af02515f682e6f7f58b72a97e619b +DIST firefox-115.1.0esr-da.xpi 554011 BLAKE2B ccdc182a3120f7f0b9d52c68b7ccc8edeaec394d21c064323b5bb264ef552b843b2912545b523452c93daee997462f3c56c83afbfd347402639bd36b923161b7 SHA512 42b77fa346df50fef41325ded30ebacf7e9a42cdaa4e230d5cce8175c1c3af442e22d57ccda16a06a9305087f3ed2a863eadbada8f7561592ede763381115f37 +DIST firefox-115.1.0esr-de.xpi 574622 BLAKE2B 8d34f3732209ebee773298ad08f83eb6331c7a979435579155d65da99e4d24291d2dcd6206667abdfdb970ca764d9c6e5e78a198c03b1d508e42b94f7d423fb4 SHA512 b9fe7bffe0962fbd73c06cb73f18721e7269186d8e4e66305dc4eac51e7d467e2801f789171f0d855a6e9e92851c8d628cf961f7f83db5b04e9270542d37a337 +DIST firefox-115.1.0esr-dsb.xpi 589321 BLAKE2B 5e8997589f2efe2ab8c73e167da5482e602f867bdaf233b39acd09c89757390af9caf37df845303340142f1364130474c25ae6ce03209e2195b3c183a513f453 SHA512 bd19b38c07cafce2856a4caa774dbbe3c49ac759a9ce7fd9be354b5d7293e7d0607290ea541029189083bb74ff59c4746bd53cc737f782651c4ad2c6600d5562 +DIST firefox-115.1.0esr-el.xpi 663756 BLAKE2B 8d0dfe4004184eaa024a17677d02d243abea34e48909d7d323e56223f9285d32016f73265379735529141e635b9ac67b4accaf36c11dab511663406ac33cfa01 SHA512 5230b4f0c54a11a6c310ec698e24d62b3f27714a03a13c3f85d0c868bb3902bb9cf4ad54153fe3014371df536bd1babd1e410222db93fa216fa7793cfcd744d2 +DIST firefox-115.1.0esr-en-CA.xpi 519407 BLAKE2B a36e553d68d451453f99acf083f445b9e2e40b7e7e0e3db5a4ee67c8b794dd5d2f34384624af67d154ee4b77c577abf0b5dec79e0f99eb5199d9912d2ffa2ce0 SHA512 41af7061fbd60fab20a5e4e14be9b5427be6f9089fcb71359e441dcc07e401a16e67f86915a2fcb89d26ac36984ebceb5cb8f14326e1604f8d2ac192c09b3fad +DIST firefox-115.1.0esr-en-GB.xpi 531041 BLAKE2B d1654ad7b4e22ef0644a9e553c9dd0674d9ec187e82debffb8303a3d13ff70fcb0e18892f702545e7d400538652efa9f1ec40bf0a6a062bed0f2ba51b8fb6449 SHA512 f48ddf13692a219bfdff6184e756f25c31ad0a1082e4c7c8211bb4b7c581f9684ecd9a3401f6d083e8bdc5bec51f5edd1de8b804e11ef054b6abf314d3201050 +DIST firefox-115.1.0esr-eo.xpi 556390 BLAKE2B b1b76c14256d1e4d97f919e88bc56da183621fb83e4dee3f3f9cd427b4f50a5a11610b8a4a32e61ecbd094adad251f96ec13f2d0358c41709bbec8786e0949b0 SHA512 46937f3a75cf37abe2bf1f32acc811332a6fde9819b7a409401302ed9b7971b094fbcd6b5d54f282c2ca5d5e97690b8a38e4a2a3635147f8e1622dd970174f12 +DIST firefox-115.1.0esr-es-AR.xpi 568950 BLAKE2B 9802c4c689b3ade6ee4ec0bb020bcd1c4e07317034ce644b0a445a500a1501390ea6062b78a9884f2bc95ac335c1b13c2570847551021337127a20b9e7824a93 SHA512 0c70239a51d0530624b5b27e563761fee04d547890112e82a174248ba1e2b5e83d92d564dfb80388388dfa98d675fcc727d415e9e3168c1cde472f439a29e4ee +DIST firefox-115.1.0esr-es-CL.xpi 568608 BLAKE2B 19662cba5ebc73095a340195299e6946cca13288dcf9b2f01ce3222654010eae6d58a27c0c77c5e43b8c150ddf6a138fe073a334f011ed9239ba315426ea9ca8 SHA512 84fb266283f9d11f19b36036997fb5b3215e56d31022bf7c5caae1e9f16eb07cd531e5d65b812b6f331f821c347603ec0d976f7590c6025ab9d79e670cb36ae7 +DIST firefox-115.1.0esr-es-ES.xpi 562039 BLAKE2B a9c329d57e15aa0ff2270608c834ba1ea9cd85c5771f84b02688f2254909ea8a523babf7cc58aa884aa98ef715d3766c50f8b2e53b6c657a8f0399a67d7b38a4 SHA512 1147fe42d9768db621e497f0242a53179995e28db21c49a4b8b9b1572ce08278dbbe0cded6f5e029418225b764e306612d6751a84f839fd3de1a0c7f7c0b6016 +DIST firefox-115.1.0esr-es-MX.xpi 565313 BLAKE2B e54f46e863533a3330f311db68f6764885e2313fee795d610030ec7c0a19c13c091d04068a3d98d5e4585e2f0a9c5605f8af8598454f523ffe277e54b998fd76 SHA512 4b2df486342c329ff49296398151c6b33632444044ddd8fcc3b15c3ddd95e67c792761d8b15bd89e5b51bdb9f0038bae55e7e317c3f2a7d3adc7205e7d4a76c3 +DIST firefox-115.1.0esr-et.xpi 516127 BLAKE2B dc6b2223277d5bcaba85482ed92cbeb822900f96319045d9fe624ef41ee32954916768a57178306b8f57c576b1511c42d9aa215ad767498875e95dc1819bf584 SHA512 eaede75ce8c8dda3d89b049f9c7625d6b20fa935b630cb7d7260fd95535ca6f0f6534e1c5fe8e113813030a160cbfaeeff3adfc8ed0462f86b73c2a4b605a454 +DIST firefox-115.1.0esr-eu.xpi 551618 BLAKE2B cca01f24c3aac2c0e97dfa51b6c5b2a4e3689794ca97aecfbd0fc8fb415bf9a5dd2d83f2179933638c135a13dea0b3bb6e2f7d588d2bbdaf2e7abce3448d9e3f SHA512 9959520a2314dbe25feabb1c7d8920be468efe1c3d16cb5e13b7aae5da4cba470a00c61f59a646f34cce67fb008169f6e15bcfb5a70faca7b4413cc7d5c6169e +DIST firefox-115.1.0esr-fa.xpi 564537 BLAKE2B a4202e798518d18674268d5a8abb00d22fdcf2242c0d9b60056813f44525ca2be4ed516b68a8681fc503ca626f3bc0c750b1100dede66745c5553f5121388991 SHA512 6c7440f5aa36d1e4cc44c22cafe83a1ce278bf7ecefdc157e98c7737079aa3319504da25eb15ee70f79d2b8ede3c0ccd83c3839312936e8e1b0fb846efdf0fa3 +DIST firefox-115.1.0esr-ff.xpi 457104 BLAKE2B 180a68f40e49d6abbfa41df72d7e99d797f605cb2a933525b5955d4cbaac76b2bb9d22bb7f4c265213ea6953f8ac0aa7dd63df6f3e8a50519a97bb4b5ebae25a SHA512 7a1f418b18b53d4bf98729f9347f25526c63783b99fab6731d11aaf6836e43d9488a508d0985384c917669723e22300ae43817f746e2dfa3e918f4696e65dae9 +DIST firefox-115.1.0esr-fi.xpi 551245 BLAKE2B 7965cc833f8fd8a7cc0489fd7abe4c47fab859dcc0aee5df548d5246b4c4cb43df74007a88120aa7c1190972dc9025d99a4cadd60aab7f98f1b1af08552790ce SHA512 9424fdc0f7398db920a436723ffcf67de70df32ddb9b96f9ac3422f5c6603ade409a4f70426a97378cafc36fef826db363b3630789c6fba458077a46d8286e8f +DIST firefox-115.1.0esr-fr.xpi 580602 BLAKE2B fa85e76410abb2c2bac77efb2c9db53c0764b8cb4a83eaba4b946bfe4f4898feaf3922623a7d75c8c179c453f45d24f42a8c0fcf1b4283424792d2fb9c3f5da0 SHA512 255d3a9f689224dcc94b3268d7284898d774dfe69bce44fdc32cdfba70ffcc44728b873c1ea3558e994e9f79acd9de7b956a6e74cf5df883d5e20034ad504323 +DIST firefox-115.1.0esr-fur.xpi 573079 BLAKE2B eaa2ca04464ac1a293df368c42e259293b1cf8e0e453bcb7a8f4160ec742a37f0ea8816bda973c106001452ade3d7a88ff47eee698ab768702cdda4dfa0320ee SHA512 fab2e0da891ba1ad26674301466728b02f45cc59fe203ccf0245f3fcd47384b7300f7171b65de33c0aa42e610a18251d5f00cea90de4b811abc26b4e4290df30 +DIST firefox-115.1.0esr-fy-NL.xpi 564936 BLAKE2B 9265df53fb6d52afb9b98d59fd8350f2d6dd489b4cf988d3b8537e97e53b5f59be7760d21c6cff1a79bfb6e5994dda793210696f985b82320a68f8b168969a6d SHA512 677aeedc40a4ca0e2dabb0e6237807734a8525044289a67cab6c075eb9e9586497ae438cb8ce0884cadad3367fd256d289c4c78be0317a1ffa91472370ea3484 +DIST firefox-115.1.0esr-ga-IE.xpi 454325 BLAKE2B 563c5d33f80917ad7db80ef7abfbaa9efd054b2c99c0ce46a247163e9075046bf4856308c9327fd1db6aaff4f71e5641a552072dee5dcd967e76f163db148920 SHA512 b00b4d2f52e8639e30c443cbdd779df34821447978895918ee448f3c5517bb997fffb96269bfd01df7ff25d7b8e913ab15e795668659f3e73eb0b5c9a8654159 +DIST firefox-115.1.0esr-gd.xpi 566957 BLAKE2B dfaac667e386f44420b52be4aa1ac8e0f97a3b2191a4165bd09326a79e89fc8ed4b3bff2f0bfcf37a91ac532d9ec4a8b3aeaeb8bfcc79b0b8ee3afbe8e347770 SHA512 32422c21914821ede82845a0902ab0c6b4f60f41fea9c98285c961b519ee6a00747d63ad81b8a369fdff2f4315dc02bc2e898267e6f883a096d390951ec85dbe +DIST firefox-115.1.0esr-gl.xpi 565469 BLAKE2B cd68ff15222cf0a480a7a0715581b52df39952d493c0f1ba9a6408891f16e172f01d77cf8051fa766330dd31f17e5397129ed100c1ca3e62a94b24f297b9960f SHA512 e59829cdf189778e754ebd774ab0513fdee65daf50ae760e4aa107598aed36c44e98cdaa2c1e0023a13c56c4118012a1390762ca82a6fdb8a151560365257775 +DIST firefox-115.1.0esr-gn.xpi 577575 BLAKE2B 05a4321a09b4673a2fd2cebbab785b5a55cf02c96bd5e3d9a5469fc2f3cad3e572da327909b158d9e652f92f930f9ae9ed8053114472dbc4f5aa0cded5068507 SHA512 1c988af15071f599e7e42b2438045a041ea6a3dcfe5894c02f4129d79017c3b68fbe1d5d2f8976612a284cc145b8f6c84e5b82b8c749f7c1287024c2a5c904da +DIST firefox-115.1.0esr-gu-IN.xpi 506679 BLAKE2B adfdb505ee51998aff564697f91475444057c1f5e19a1accdb7b03b01f6dbfd9d532dec4f95634ebac48470246d90b2a2581320cd5f0af22cf9d7b1e12f4c847 SHA512 cfe1f4e693780d99a101204d05e7276615ffd9b604f1b361196e5d961072c7313b2735500c6df843bd465d702b60f6c5ad3e5b781ff7b34ad4d95f22c3326eef +DIST firefox-115.1.0esr-he.xpi 574391 BLAKE2B 08251797a668b66d655e7369c3c43a8d5696a12d736cee811cc94b9a4fcd104b7a1c3903cde51b39b74cca7be4038bbfe49e05efc1e1e205450089e45987475c SHA512 d93aee11f8cfae38488800bad95b7e556d4bbc007e9f0826ced9f72639e43895316abaf99420725e9574b5e022b33d54414822a3807f20db30efd421b0472fc1 +DIST firefox-115.1.0esr-hi-IN.xpi 538815 BLAKE2B 760a15dda851421ef0035099eaf711c69f5a34dacb99546dcdb93b5073ced47476d5e1c8465bacfbbec680ad9ecf21f6da89a34a79b029b3e4835634b44ef44a SHA512 c13e12b5d44ea492b278ba66dd680a43996c2036db99ffac2f345e8b7708ebabeb9d11329d9be383e9f82ab460f6a60683214b955530acb174c8d00b53169e9c +DIST firefox-115.1.0esr-hr.xpi 531649 BLAKE2B 70f66d5ca4f7c32460392ce63b2e44a4e2e26058431139a04c04109d224cbd2f7d41c1b62116f6782999727875b626062e1dc21e39c2c85352b63f443a86979c SHA512 6b5ed5a979d243d28d91877edebf2fcd745705af499f6a58d70889fb0ebcb1ef81e46d7085f04fa73179ab27d140419ff5d1ecbb2c650737bf118fb06c0b3992 +DIST firefox-115.1.0esr-hsb.xpi 585522 BLAKE2B c01ec67c4e580cfbd714adc53e3f4b49a7374cb064fbd31e098ba3ee1f8f93158686e7975edb406641ff8742070c6f0c36a1a56ebd49fd954c200bf2a4d99be7 SHA512 9bcef14afbc5c8c23d605334ed5406133eb165631d629451e117c318c29e44a82c5c57b5522bbcc5fd601d7190b048789a4e8980b9c8f1121bcb184d0dc86a90 +DIST firefox-115.1.0esr-hu.xpi 588965 BLAKE2B 85f38891be5b2f91fb3c99f1a4c8d867e9be8eb17c125d8bfae98a0d7dec99b9db3a5b4371a6751663d8b3a635860eef930c94375a35976fa3f2a7ca2e834cb5 SHA512 b9d4118049cfa373e9696630cc8f0c24f66fd7a1755fe51bfe6211160326b8828b60e6559dbb454d7e4303bbe4f5c58c1d44023c0115afab724b8fa462fb3644 +DIST firefox-115.1.0esr-hy-AM.xpi 579188 BLAKE2B a18e3461c6241eb1940135f239ff31aaeaec8015adcddeee1e2e30dc9179dd5c07c4981486a8bbd346f7d48bd19271bda862c52d1f5382c70c5823622dcd8e0c SHA512 30ef7acf22a9720a890d17923ba562fad9d4c83c480b81385665014a10a496cd4227923a140912828aa129f21d4ab7607a0ea8ba5183c644db9332a5d22aa08d +DIST firefox-115.1.0esr-ia.xpi 553070 BLAKE2B 267ba889b61098c5e7cf083feb09f55f1b59355a714effd95f99771799c6974f476275f84c3385ddd52d676cccec307675805cd839970cb6b4a5b96bad97b90e SHA512 1fc0a974702bbf81e39f851a16fc56035fc7eff8597bf5335ddb0f6c466981d79e0de4325333740b742dab67f847fbfe9753bffa63a4cb849d37cee1dca708d6 +DIST firefox-115.1.0esr-id.xpi 537740 BLAKE2B 1045d0e5860560079f2745eaffecb4e7ef615e772b2cbd67d483c7a3e3a600e959e515eddf81253a8d67ee676163d03fc26f2f1d22420071b8cba196556d9488 SHA512 a5e9ea9f73a7ed25c20c9320666728538b7a347c969963f059478f274d15a488088db029b0e369b0c5c144ffd999d60d27ccced1bc1a748d347355cb81748acd +DIST firefox-115.1.0esr-is.xpi 560796 BLAKE2B 635ed768e302af5b8f122a8466c39c97d6ee82f403bb3cef3fc5ff10da526ecf4f547ed7311660fcec66ac3fd76cc4c9d6f2b6d14e8a16448bda0804a89457c8 SHA512 fbf293cf16c6b4920144091d2ba0879753f8746eac41d57e5ee3d9edc18d2a96eed8cb7166f06471aa98a154359c6cace3364d3bf30934d5ff916975a718ec37 +DIST firefox-115.1.0esr-it.xpi 507475 BLAKE2B c73fb1ba8513780c8c06a0a916d4567f337539ac711c4315edde906a881cf4557279720777864d910d25dae731da5d07c3b8a22046605a0dd4309297908eb988 SHA512 0cfecabbcc5d384b5266e4aa7a87e2faa849309d453431636f5332a5eec7d05357e82f385ba5c9a5d19cb1870112551a9751a99706a5b527bd5c4e4974faeaf9 +DIST firefox-115.1.0esr-ja.xpi 634401 BLAKE2B 7ece9d33c5a22f5dd81b2eba6ef788b2f364efa56ed5cb5c0ef129f7a79f1f6a48f7c9e8c7a41f894bfbe155b8991a14dc87e566cd61365006492353d00c5736 SHA512 09bbebd5971993c239e26db2ea9d8439ab2e6b646fb11362b997e5a8a849c58e68a1302d888724c3799b43f24a0a9e9bdfe5600072d3a3db34c383ba52fbf531 +DIST firefox-115.1.0esr-ka.xpi 610741 BLAKE2B b45cf0c4e1525fcb7f29f839e9593a7a0bd7cc31ffa349fafacf10418bd5e516d20e62263eda1f542a0b15637bc8adae39dede6faab7c37d7419d976f34274d5 SHA512 f762f4d34772554250e0e29b8b502f70d44e2c5b9980623b815802731342c76d4fa7d335319a6d7674d0c6f6409ec76aa6a6e7dc285e723699e5e7bf578a316a +DIST firefox-115.1.0esr-kab.xpi 562650 BLAKE2B 95505855393a25c0820c3c31f3ff6347399686d3479c4a656f22ccad9d35295fb5e86b1f7d843e6549ff464f601d1344e25071c6c95811831f38f570aaaebf73 SHA512 738c8a058388dd52ddbc364e49ebef5393c316a8784e5f7cf2a20d93cb81d3c73cf13cda926d0fbd75202813874c98802e16f86f4ff32ab361fb0da9222db949 +DIST firefox-115.1.0esr-kk.xpi 639139 BLAKE2B a3f3a578bb13b804f75b422b467e2b9c86e19838d0a67bfca0dffea97a3b3d63ef39831fde5f297686c66a5941a2bb18711a51c6b87ecab287f6a9fd9b0df3fc SHA512 b914623adfa19ad91b1c2a6804052f558a27dab0f4205a3db098d185599fb4b0fa01ef3ebaac399263a67570814caad0a8d8795d44ece60dcf77b9bcd5ef2516 +DIST firefox-115.1.0esr-km.xpi 508112 BLAKE2B a03ae2c0839dae2e26706aa496bba6dbdc5b296d128d069a9b3771e54c612644d0157e05aa2e7fe9b148d1f77311c363f2c730e21bd3696bc81c16e4e0b4c40d SHA512 99312ab0fea9c9019a8f1e964b2a72fd9a79cc80db338d2bc1623ed5639a977f11b2750d562bf87550fcacbde3a3ee7cda25ef132bb1a1399387ff4c56e5d4ea +DIST firefox-115.1.0esr-kn.xpi 473762 BLAKE2B 15509120909b4c86017da6deeeac713d32101f05bc68d9784c105b8cd9ec45dfacb1292ce068978de68b54acb4eba12b4382b9279433a41dc73ee2b15d61d8e9 SHA512 42d21b2b7e0cfe4a78cf981f92a4a28ae3c063acff1dbdf81682372ed2bbe976afa441b35a58ebd2a50462663a82739539742aa7f3af0fdac486ec980dd869e9 +DIST firefox-115.1.0esr-ko.xpi 600392 BLAKE2B 351f35a686d42cf3bb462af96a095f3abb6974c981181091ef7a07ff636d71c0e8b73a106095d6dbfc677418fa5d9deb43108dba5a00ee672d049044c0c1983f SHA512 81f24dc8c510b852aaa75f2f99c1d18d27cbe4061603b0ec8a1a3a865cedf061e50fd49d8f413b405e92e7980475ab57531001df093effc6e0af37664d7c843d +DIST firefox-115.1.0esr-lij.xpi 463745 BLAKE2B 21a2f149e52af1bfa53f53635f7f8fb8e79d7571f96941dfda9d6324e8f0a5b946618f5e61a8fee367203042c6aa556517839732b98c186bb32cd7bd857a3caf SHA512 d893b8ad6a10788bd05011b31cd82a64dc7102f4cd1a488fbcdd897d26e1984e4cf5ba210b32cfd45e1ad604a0666bbbba05e8c02b2f18f8acda27fb713c6767 +DIST firefox-115.1.0esr-lt.xpi 548296 BLAKE2B 2d751f03d1a62a4acd77eaed5475a75088852c6f9f35fa792b483058b14528f18f6557b45b49a7ebba20d32c67ae2c79be04235d6c11081580bec80911d0b00f SHA512 d31e2ebf9b2d3a2ac5849f3a8d19e742517a091b2862663b00145b07b226e50dff25b62a32e73ed34aff9af1aac220bf257ca07bfd4e91f7b9f36bff93e6c17a +DIST firefox-115.1.0esr-lv.xpi 450736 BLAKE2B 52f80ee2411b3714709fcd3714fd549bb2676d67fb45a976fef9da727b12e5d378e9a6ded3d99935a7c60c899b4c19e19ce26142cdf62a8a673d079f17c84650 SHA512 9d2937066e6b9347a6af0c382a9e7f5c1fa7fc510efca24e6b1cab40ac13a5d825e53ca634a7cc59b88f0ecf155bf7cb5d5cd50dad32b01072575e4f0639fc52 +DIST firefox-115.1.0esr-mk.xpi 470109 BLAKE2B 23349aa9f7afd6561584ef97ebe3a49437b8769dfea323466436ae15df5f3f96fa23c15dc63e4a6b3a2f778d62a8b867386d71747443d8af6345cbde8f5e5808 SHA512 e52a7290cb61d1f1cc31dc77d83c0b4a82908dac8a9980e91ca05d7496aa09030a1571f538c9cdf4de24a146367e06dfc79859768b1bd2841bf79c918f0cfd07 +DIST firefox-115.1.0esr-mr.xpi 510465 BLAKE2B a7e6b639d7d017a4666d12766028104fbdea3fa6f4ed8ce646a361e6e8c38ea73758a59dcc5abb16584116c41b6c46a92304911b538201d8ae10f42cc042c1d0 SHA512 b2ed51a7fb97a12465595951f8c1f5502bc495232d1383a433714b8ccd9d43699cdf48580fa93a9cc3f4e6031c95f155c861166045d80720104218585f8bc9ed +DIST firefox-115.1.0esr-ms.xpi 431279 BLAKE2B 6dee330c067f608a44b89f718dfdacf97816d9d001ebcaa4d3fc456f962a88062112493d5645fbdbe3ca5a808f86c4d392a3765811918b294922570cb373ff3f SHA512 b59ac2abbaec3c81c5fe0e7ab185e5de5ce469f23310cbd62ce617cff6237f9e9a6a7f020272a5fea35361702b99a5732b6763f200565617f8be2eb899cec4ea +DIST firefox-115.1.0esr-my.xpi 493669 BLAKE2B 69c487d893b423ea7d45b0b62adfb77ab1f757a5815c4dc1d5b879d9c3ac2a836ad8245fef7799bba311fb7164c6d17d717bb0a7eacea4854e55d2b5a20f8518 SHA512 e0a9c63b425f0d1e49e66fcefe095b2b06c05d02968db9b709b3a00340b0f3a43a5d4e34ad134cc315b32adf4c75e7d8c3205ad4eef5403e88d653491655515d +DIST firefox-115.1.0esr-nb-NO.xpi 548971 BLAKE2B 551740329e6f2122c44a6b7ac7c8f15f989c6d9c7f91e0377cbd2953d38a6cae72ec6b24f5dfb4003b10a5001ad02fd1e76f2357685c5b9a8a459989481783af SHA512 c58820e8cda0030520cda08f7c3df14254e723e26e7ae727cbbbccadaacb77e8a3f1d1a499ac8dcb6effcdf00eb8ee87bb26447b60f38fb346c1301ce2d9c8c8 +DIST firefox-115.1.0esr-ne-NP.xpi 468989 BLAKE2B cd2379184d91458c319e8f9adb582ed9b151305407388d33e3e90358a3ac3a9f6477f197b4243a35298ab74c617a7381f797b42b8ab43d04d8119dcfe95434ec SHA512 b6b1acd637ee015ce35fcf9423caff07d2f5a6bc7fe0309b3b5fe55e4d81ada37ebd9849949f5e3aca7edfd22db8bf6273c6f038b17f84f28e2d99654585dda4 +DIST firefox-115.1.0esr-nl.xpi 559200 BLAKE2B aa1ad6772ed2b435d4173db9c54f89ff68d80b845cd906e7bc20b1849feb00c0b30ac6afdb099e9a208b162a394fa6067a670b9d0fc9fe16ea5f50693545f128 SHA512 c6a4e4c049ac905f4707623514f8ce93dd5ce56c6982e1af711a52da2608a5f58360759f668e5b5638a83a40575111d611a2be093b771203d293d8db9d739eae +DIST firefox-115.1.0esr-nn-NO.xpi 551963 BLAKE2B f6a02bac29f5b07745533324ac1f9110b80db1f9b03738187dc9893cdc7d2555a5198ed60ef6690bc64b062b68cc107548c0f1af49c480c2a913921f9147d445 SHA512 b10fd7e60f0b7bbe8022798858a1ce93effff1749ecf7b41689ed88ecb1b6ceef27f4429df920eb07cb7c00219e4fefce4db55835654fef7d84f0443621b9b91 +DIST firefox-115.1.0esr-oc.xpi 572145 BLAKE2B 0ff69408a3e4b42e8e5bf6da1d57fee8be41aa8ee252bd2484975a61e03a20cb9648802ef97b65bd13c1e73a8c8d4c3103f827246e8f5340cfb300934536a891 SHA512 113501995773883fdbbc043f3cc894d39b575f6ebd8d8ef308a3a7de01f210da958da0a91f52e7503ebccd52751d381d2f5cc2d55bfd8a040a1814d8ea55ac83 +DIST firefox-115.1.0esr-pa-IN.xpi 626121 BLAKE2B 4c561d484e3899b27381ba5cb45f908880bfc4576d81b0f730bed66336d37e92be237d91724e76fad92b445890056fb86e371b21cf9186916010fbec7a970073 SHA512 9e9be0fcb52409ceebc2b34c7f6a3b1280597721bb347b3473adc37033fe7635c671deaf25c75090fccdd91a0f57d20d116ecda7e4b03e273e39544762ab7afb +DIST firefox-115.1.0esr-pl.xpi 579831 BLAKE2B 13a784bd03ded4beb626cc402fb1c403d4f46cea9084d8f09f109daace755504da1d5a587c192b74b7ff11b97c4f2e636565e15951ae2c04c9b40324b8d20812 SHA512 721aca0edeb59a919e1ff26f599ab37d71885d71c6217370bf864093c6709d275ab1a49d2080d0d721c5b2c4fe46ab0a71833e9a445c07c434b9d2cc8c0e4c3b +DIST firefox-115.1.0esr-pt-BR.xpi 563950 BLAKE2B 1c3c9eb30212b1ae6447fdc331139dc6884139858716e80d8717b224d30c5e6151402b7cb7d7c288ae2a5a9cb7e2d0d1425dfb354041b4275f6cefc7478f01b3 SHA512 cb4774e3d928e678eaa2a114762ccb5b6bfb2e724445d79e70d31881d6c55863cfb28116c5ea31801972aa40b5cc443bdadb3e93467c8eb4e029099e9cd1cffe +DIST firefox-115.1.0esr-pt-PT.xpi 569050 BLAKE2B 6b161146b3270068967db0fc83799d3533b31e84ee9b0b82b49bee95a2890616f63d2e2b1fba197cfc73f924f85c130054a7caf31967709749b6cb40568fe8d9 SHA512 0ca42093302600b262d946521267cd6b085718a8b4fa48590b7f6efc86bf4d06106a768055b82de4038e66a44ebe65408d80d18625764e0fb34bc5c20798697c +DIST firefox-115.1.0esr-rm.xpi 558669 BLAKE2B 866af186bf6afce37c3b37d3579bbd9add31228f8b976a70106f39eae50f03e3687a80b8a6034bbd1e505bd5c6ccf89233c461e641ff48fbe09934d8b986b1cb SHA512 d0b522d23c1806b5b1aa21aa50662a176b24ebeafa857bcb16b0e7480b21dbceb1cb5a21f8f493b86c6ad2124702e67d362932e2b4391754de00803eaa74d527 +DIST firefox-115.1.0esr-ro.xpi 524803 BLAKE2B b1cb58e1af7591b79461e52fa6dccc45a1ab40f047468fe9be4dac7ad419f2a0dbdcd087485194b746dafafb7c261f4cdfbfe6d92ec718b7cbaed5aae1d45cbb SHA512 b0711e7f4e472bfcd8c96929c935cd0695fcbbd16cc9884a1d7e6a8db2361a2c83253909af5008067a12ffc9f7952128fb71b1e5175a3a832d172d66ba7ba069 +DIST firefox-115.1.0esr-ru.xpi 651416 BLAKE2B 38941086b2435f5262ce2cc323cafed1f6a0a21044ce7a2c7ba12327a5f7987f600165e81a646fd7befabf6c3b53697fa656872d9fa21d2bf3afb4707c007fe6 SHA512 58032b032f69663e2f870a577eeee65c161459919407a54a6e14f1c35598e088c3d44c743dd7db20366176b000885a5c05ee8baf5cf2fe5da9f031c99fa66a04 +DIST firefox-115.1.0esr-sc.xpi 535141 BLAKE2B fc4f803690c7de78c055d9b9fb95560a29e77b2c5cdf794e202612641dad038d13769c44732a2497c7fd08949e495d4ed7816c748acdb7a7d02116977756ddd6 SHA512 fedb211e36365e856a3cdd3ca79f0e023128449f3c325d19287922f81d4d02dac62eb96e101390e499f3b89642a03a8b85bc106f8bfb514c5536296a0a6dd55d +DIST firefox-115.1.0esr-sco.xpi 489687 BLAKE2B 990e665584b4fca698bfd3b57895fd21e311bfdef2fbb1f333226d66a0c678659e16cd68d58e72618e54f474101b7b0ca7b9fb80b9ced9adb5ea23055c6e2732 SHA512 ba119c0976f57acf1a9d2a1d4412a74b013a1e0e01f033789431dd299e505b2c7240c489b1d2ac1064f4974d30f385f5e3d947e485c210f659cc7339363d9623 +DIST firefox-115.1.0esr-si.xpi 569010 BLAKE2B 9c7c9afb8db91684ea18087c5b7357d0c2073b0697749d34b872dd303dd7c91e0cec3dec7fc3ba7a790c3787424ea3927d1207eb13a8cbaaf6ab19e00d324a4a SHA512 341c8c4845ddf70aeefc28db5cf52f67737a9b4fb4a91b0ccbfb4bb1c7e99aa86a27cd5f61f21e35c55fa530bb92e1fc08dc97c6a6dd5eda25adc43f13e7bbb4 +DIST firefox-115.1.0esr-sk.xpi 589728 BLAKE2B 12a3bf138c51d4d37114f089c238d7299e5a1c31e493cf74b9c67ac0f99b708b5514a30ef189822db4aa19093f3ab647692c0f8928599c86af66eae5a2a7dc43 SHA512 f8c1a22aae172c5beb5bcfd687ad0b9bd68dc421c25f8d01dd9a376b3ae38d62aeb97260cb55c3c7d1de68b122f37e40acca3464b5201f6b3de27e12b21ad1ba +DIST firefox-115.1.0esr-sl.xpi 562528 BLAKE2B 6b85c96e199f4cd702fe0b64782a6c939da9f3d090a39561835aa2344d689261fa14884161e476a6046335f307f94b35a1397a615ba766f0bf74317a53b4ae0a SHA512 664d423664cb525f844ff6386f9c69f4080426bdc9f0d6f10e66cc0ef9c6f9c733ca6f6d178aea4d034c4bdddc52d55d2492fd5a4f2b549fa71ece095e0ec8ea +DIST firefox-115.1.0esr-son.xpi 400962 BLAKE2B cc81c9372627fa33fe17536dc189d3b7e2638edce8fe3c1c948cccefa91352d778136ed5ec13e97f5fab2009da3caca0d470ef2a330fb2219034b18b2f5974fb SHA512 10ae95e94160fdf00030395be76504866a1161953237e56e6e8ebe929c0f7ffce2595b98be2b39e31127250fab080273a352e80bcaf4725eb8b5131ff2347542 +DIST firefox-115.1.0esr-sq.xpi 564455 BLAKE2B 94b8f268666cdd080af63ef117d8f8ed10269a74afc052b8e89ff4a24be2ceb2cbfe77b14630eec99602579c269102fc1a7b7a10d455adb534bc9fcc50fa5690 SHA512 247f1b46790104186edfe7b2defbc6eed3b8cf94f470e8f80fa8d81433a955f3ef218c05c6419f4a7df6665fb2b96c49cff38649aef9c28de89c72eda9575b3d +DIST firefox-115.1.0esr-sr.xpi 614006 BLAKE2B c400efa4da35e77fcc7d827c63e1e938a7a66afbeb07a28279f47d091d05f60f469ce26ae1bc4399239d0d1820e2c7594787837dbe9b2a6b7ff7c6014c22cb20 SHA512 c7ecdff46e76a3f4aa036fad58509a70c3a571455e9ecbcbd69cdc38c206c32887938a581132d28e9a7a90a2c557555103fddee3415b888a32566c9c26145ab8 +DIST firefox-115.1.0esr-sv-SE.xpi 560554 BLAKE2B 6ccb37c78cff195346191c1277dc3d91fa7576bdc4846c85519a86fdac1897115d98ad69be1355435b539f7daf364f1f64fbc2616797a061a816742576818198 SHA512 bf68191625f205f58335f4e0e2128c5f9fac0743f666a31a39312c116cd1a95e2e224658805322cda89ddc46aac4f5806894c363c6ab1a10a1533cb5d8cc36ee +DIST firefox-115.1.0esr-szl.xpi 504131 BLAKE2B 44524bb592de5a2db91e5ac613e9fb3522c6d99879ebc22f9945b8911229bff4debf52c82ffcb98a591f767c2f06b962978b391fa7cb83139675e7dd93cc36b7 SHA512 4af6f74b23be71668850956681a7c1b2b2027c89923cc5a7430df7bf5c3fa383ba7e0b47f97ff8640f28bd2e6e22e960df0e6ba0b9b9ea342510d4e0ef3cd6dd +DIST firefox-115.1.0esr-ta.xpi 488857 BLAKE2B fa77789812f6903d36edce6a060ba55f3ccfb6aa311d19ee9247607ab782567017154dc87afbd18934a32874c761d1637c9bb2a1c56366bb551c09eff187e511 SHA512 7268c48bfc1ba108686ac839c3915cfdc7601db5dc695808640ecc4f57e1bb58fbe77e02caa635d130fd624c7bf344aa6fb82e0998e70d42907ffe61547cedd9 +DIST firefox-115.1.0esr-te.xpi 536166 BLAKE2B b8c51abb484ff8d74c5c1e4ee007dd3c67dce657edd590a689ab14daf15dd6e617212360dabb6348234089bd487c7c05a1b88fcd1cef757c26c759521a76d153 SHA512 446e2f17d6891870d9a0082f752b48944e3e34d5f08722941775757bcaf8ff725634fe3a19ed99d57581bba3b93b2c355f8b4d82085a9b48a642d085e039eba8 +DIST firefox-115.1.0esr-th.xpi 632043 BLAKE2B d0fbb42759b24b864b0b546af4d71eb76a1ee905e11c02283aa917a4ff039b355798a44f42f26f3dd330540fe39e69cda638c8939d387f880800cf91346c41cd SHA512 11d46504708a7d814913f76afd76aa1796535e97068faf7bdc97c78a12e8c9e678ac4a75b560ec94a5f61df725da784f08b6f7c8204fc13d38ed08277e42006c +DIST firefox-115.1.0esr-tl.xpi 511423 BLAKE2B 4e5e6483f57423d2c7679ffbabdf6880dfee8728a9eddd22d7898f7217431bca2827b776f0450f119069e9e4eb40d96343158c8332f746b8976835eeb7bfbd88 SHA512 5587873cff65a86063dce60e48e2c788f1fe86ab7068ac6246a9fcf168d1a5a1901bf4fdc307ec2f62216470fbc859dd6c7f5a3fe4c2fd011b90275834d730d7 +DIST firefox-115.1.0esr-tr.xpi 573244 BLAKE2B 3f86944242e58359a27dd36bcdcf49d8493ddf55bfd26c3595afcab5b306b3cddaf68f506d4606b43772d3ceb073e7d0d5d80aae289084c5abfd6a70b70349f8 SHA512 d24a005c17c80eeec17a8c8be7f58ed99b9a372ebed8488181df90a14c12e54a3978c4fa17269295111c4d37f1da247e7979336dcdb414fa65f18e361fc2a30c +DIST firefox-115.1.0esr-trs.xpi 479674 BLAKE2B 91e69f6da09168fcb9069f895ccb870ec0c4279369bdfcda37049714863495ac7d872871510e75e731eebe1b58a9b78b760eb9dc35c8b93d20748a5a85da2f9b SHA512 4ffa86bdb5bd96dd6b954dabb8cd8b0492cf8ad5874cb4c47603531b6097bd21df607475d46d98e793f4a113a44fde2f2adfea03dfd414a50dab963cdfc1b54f +DIST firefox-115.1.0esr-uk.xpi 645035 BLAKE2B b96dce48c1380e1c565a12fc36f6d004d2ecffa56563da57e9fdaa78586c9268d6df6db35f2edad81c265a09ecc34db693a3121dd7e65a6a966b83d05bb13138 SHA512 1b08e84702de4d4ceb91a371853bc9232016626ac5b3e4c77f9441818de16ca2d933e47acff78dfd59401bb14a3578ba6878c8eb600b368151a176071bd38b71 +DIST firefox-115.1.0esr-ur.xpi 538779 BLAKE2B ecfa7bf4c8df99d737f4131e26f17d332a61e3937e43ec6ec5e75bec5cf590dba7ba1136fcb197baee3d99948ac2ad18d815a1d66c25dc385adf3994c5e65455 SHA512 037e4fb98e118ba4c1f15285c5bb1e59e7261850b74c121b18fb751da1fd22fa73a854ece1ecf50340b84e9d4eb5e9a0f20dd47dc5525f96fd6deae094fbe1ce +DIST firefox-115.1.0esr-uz.xpi 461743 BLAKE2B 2faae01d8419dabfa50abfed81f118443464180392540f30b0c7726350c88e165a1858fa1dc56abee11176d312771f6fa81597f85be6c51b27ac9655a9db7abe SHA512 135f39238105c17f2a8ea6cf2747459bbb47d052cdfbc2a2df93fa1525305d184a84a3622bf40759b7ad79064b8cb25619197fa8c9fa6e1ff5e2320d957b6b04 +DIST firefox-115.1.0esr-vi.xpi 595540 BLAKE2B 5429f72a364b7ea95c29c694e03b71bda946bb28a8f37e931c73d0873c06dafed8a4b34d520d95fa009367c884d7ab794058b12c8fccee2d2f14217c9bf49a4c SHA512 7fd90a80e0204a544ecf1f71c18b0491cd991c3412eb701e2f32cf9b95380e265f238232d466ce9bf63b06ce7860693f080ec9a646c0a73a70e2d9cc5281826b +DIST firefox-115.1.0esr-xh.xpi 402425 BLAKE2B 56169c2f4e12909e5e83c7cbeb2edc13f410abf93464a4f0f68f1531e9ba53a47e5aa9f2248de0cd625aab302bc133da309de11289e8610b64a31d6a945609fa SHA512 d89ed1174c0e50e9d03c76e3114a05f0c16e5f668f5c9d0520078b1c4cfbb0090dc925d7d2b4c1a9a10c23a5c598c4972baa6389cefbf243c1216edc7faab663 +DIST firefox-115.1.0esr-zh-CN.xpi 595483 BLAKE2B 51a3408f8119f025ca8b68cb64a180a233b1cc3966c09c05fb75b82e4ee0dbc203b63405d1cfcc590f045cadd25c72468ba0495f3c2140f9e8cc7da5718caa7b SHA512 6bf3d518e98df5380eb38852f495740630e969f77c9196be84bb804f361a3e0ac88f325d195e0c8fe20733bce9ef54c9852f3ffd432b7c6dbbff3af7f5e38fa9 +DIST firefox-115.1.0esr-zh-TW.xpi 597818 BLAKE2B e56d1306d9a0ca2638d6ff3ef5c8553e5aba87625ac00b12a492ea98738dea3e12477fbf668535182743c9096d40f645a92f7c69bf47dd9dcfbe06b0ce98492b SHA512 8e9c3ad02d885c080ade555db078ad9c714fe5da6cb44320cc12ec508e5e1060da7e2990de4f3bcd3782f77c83d965c4664af8b228b3d9222cad8563a85f3f75 +DIST firefox-115.1.0esr.source.tar.xz 507060904 BLAKE2B 4da0535e05e193d0d7509790f3a6b0f8dd4dd809bdfab14da357ef06ce2b665d89a5620994393d6bdbe6a8fba1db55157063b7760fdd2e75f2bddca86f9992b4 SHA512 b2abb706fef2f1aa9451e7ac7c2affa0cc92cf2b0c6629f106a94c62017476380c7b6f406861fa468f60ea898d8402f534ad74844eb3932741fbd981cec66592 +DIST firefox-115esr-patches-04.tar.xz 14608 BLAKE2B 78143b2ed2f0c71bef84c26ebbb9f29912e6d8bb2f513cf95f5d97203efb556cb339bbb1f61666300786eb5b1f93294816481a0396bd8acc497c9f51b138376a SHA512 f6b07b9f94a79c766b864c4f73044dfd6aea5faf16e742202ca78f4f6e0399a71fc3dcf4d40d4dd67d3f13612c26a5e1a5f845e6892901c0ee6168aabf131f79 DIST firefox-116-patches-01.tar.xz 16288 BLAKE2B b47e110902147fa43e58b63280ac04940734308e054adc9a6887200ab0222ce50355404ca70427246322be268dd30f25ecd628d0ddf59fb723370427b0f9fda1 SHA512 3efb950a768686e4a60b2a8e054d1284048d0ef727a9ddea841e443297bff0448d2728083581823dbd315ec83b8743c298811b0f97e457776a98e0be1e671e17 DIST firefox-116.0-ach.xpi 440323 BLAKE2B 56d55907cde8e61f0be7c4e880d9548e0f9660f465d33fb61afaa50d1b440bdec76a9a6091885edb58677335941c3755f240c99a0937113003c7ec07a2306695 SHA512 7672d3ab4f5fb6adc14830ac99d3e704b3391e392ce6af3e97375ada2ad675caf5ea1d0b42d311e3fc0a1628ada8c76284d38aeed74c89aee05cbc4c29e3502c DIST firefox-116.0-af.xpi 401616 BLAKE2B 9115ce0800aefdb2184556fb92f3a1ee28ab82dc0c77c8b913ca7933253a4ab7f478016ac38e063c20479235a8341fcae4bdd35eac713d0720b4343dd862e59c SHA512 4e8569dac354d5b899cd7e38552d5281045bf2b2dbd7dcd8861d5a48169aef8e0a9b12a251f976006d8833a23d32391adeee27986de6d3eddd101001ea6dbf88 @@ -510,6 +510,6 @@ DIST firefox-116.0.source.tar.xz 515487160 BLAKE2B 844f37e6f1f0947771a5e9a629ad4 EBUILD firefox-102.13.0.ebuild 37116 BLAKE2B 524c749d4b4c2190417e0ecc5e2baab104744f4b2ca2c89538b52374fbf92aed2401a2e2b3226f92945347cfd9e842abf3934f2cee857e620c7cb24c9b7c7174 SHA512 ca6b8bab2c786e4847cc8c998979f1be592b4d524faaccfaae2075ddaed9aa4dc959e0bd5df80c0f754de9dac0b63885cf7571590268e5e1ad5ebd55993612e3 EBUILD firefox-102.14.0.ebuild 37119 BLAKE2B 1d80196467d14f305a4b27550ea78e419e64aaf43ab6809cd1e99c98a7b0a2e8df672e70f6faf42ba50f65f1d98a61222f40b6af6e3cf0994b6d601aed76ac82 SHA512 393432023da4981676f70d73f7d24e101cb195078662b8da8daeda2c3dc4bcbccf909326ee854fc80efcbf008f1ffb07f6b14cfb99d63668a0c046024cd8daff EBUILD firefox-115.0.2.ebuild 43175 BLAKE2B c1f4a4a6b6cc261dc4d9b6fa67beb9d504324c4661cf6b95dd3f522c958021d69c60415960aef17feec6bc45fb0aa6f3fe649c80ace26aed18ade3dfb86c5244 SHA512 200e0bbe6544bcf77959c1719d12a0e50cfb93994407a053790a5b784a10d438724a1f7f3bb545e2e76ce80b87e8927cb480882f10fe6458e19479e1948c996c -EBUILD firefox-115.0.3.ebuild 40577 BLAKE2B 7dd9e11f5a1ce2c6416064d31e00a42ece094bb009d9b7df98e791dc2879ee6320e80d46c0e6a094baeea6adedca6e89c3a2f632eedfdf52db09fd31f031bb84 SHA512 603a0fcb8e3107db6f476615bc875f065d3255a86766c47ede78a6984811c8c7e788697a50838f0634bc0b7d174eb0cef4e490db35f24d303a78e5b7e6c99af3 +EBUILD firefox-115.1.0.ebuild 40576 BLAKE2B bf9583c6acd141d54e2d4ae79d7c8634476e1c1d806cefdc105e39d20fff1a1523bcca33f74ba8550181b21cc918dac4fc267946a2f751f41299fa94502168c9 SHA512 7003b88a84d933ab8e4ee2ec0434ab056f8a02b351966ec5b40bb40628462bb11c56063d207e1a0fdf270ab0374ea6b47dfc6e9d6f0a5dc57cfe904069a2becd EBUILD firefox-116.0.ebuild 43184 BLAKE2B bd93745db2b6c5d63602c41a11bbad7b8c24fdfbc503b3da42b677699b1dfaeecfd0f88c1e0f3c30259a771712c13dd0a675045663b8d7af57c0b356176b786c SHA512 75e771f0e4112c1be1f4274769dacc7ae2e8d2f4377b60df13a04529452bdc02fc0c15af13ed38984f375c29e943c18d472d6e31df7eabd21946c815cb336aea MISC metadata.xml 2658 BLAKE2B 4e52ee338d13627658328468081959897f9ffba3d0729a03975f756ed95e2649e21a40de4933c0a2bdd9c1d4dc6cea973f503a3d448f49f73ec3eafb933f6845 SHA512 1062c2e2a49757a8e3b027db5d425113ce6e7bdba630786109caedbb3717c7600094c7bb3fbc83e1887d96e464f0dc48bdbcff16d396ea5481f36040e0e4c70d diff --git a/www-client/firefox/firefox-115.0.3.ebuild b/www-client/firefox/firefox-115.0.3.ebuild deleted file mode 100644 index 6ebefb731c7b..000000000000 --- a/www-client/firefox/firefox-115.0.3.ebuild +++ /dev/null @@ -1,1406 +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-03.tar.xz" - -LLVM_MAX_SLOT=16 - -PYTHON_COMPAT=( python3_{9..11} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -MOZ_ESR=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="" - -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 - sys-devel/mold - ) - virtual/rust:0/llvm-16 - pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] ) - ) - ) - ( - sys-devel/clang:15 - sys-devel/llvm:15 - clang? ( - || ( - sys-devel/lld:15 - sys-devel/mold - ) - virtual/rust:0/llvm-15 - pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) - ) - ) - ) - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=dev-util/cbindgen-0.24.3 - net-libs/nodejs - virtual/pkgconfig - !clang? ( >=virtual/rust-1.65 ) - amd64? ( >=dev-lang/nasm-2.14 ) - x86? ( >=dev-lang/nasm-2.14 ) - pgo? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - wayland? ( - >=gui-libs/wlroots-0.15.1-r1[tinywl] - x11-misc/xkeyboard-config - ) - )" -COMMON_DEPEND="${FF_ONLY_DEPEND} - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/libffi:= - >=dev-libs/nss-3.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} - 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 ! has_version "sys-libs/glibc"; then - elog - elog "glibc not found! You won't be able to play DRM content." - elog "See Gentoo bug #910309 or upstream bug #1843683." - elog - fi -} diff --git a/www-client/firefox/firefox-115.1.0.ebuild b/www-client/firefox/firefox-115.1.0.ebuild new file mode 100644 index 000000000000..cbdc6558640b --- /dev/null +++ b/www-client/firefox/firefox-115.1.0.ebuild @@ -0,0 +1,1405 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-115esr-patches-04.tar.xz" + +LLVM_MAX_SLOT=16 + +PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +MOZ_ESR=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="" + +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 + sys-devel/mold + ) + virtual/rust:0/llvm-16 + pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] ) + ) + ) + ( + sys-devel/clang:15 + sys-devel/llvm:15 + clang? ( + || ( + sys-devel/lld:15 + sys-devel/mold + ) + virtual/rust:0/llvm-15 + pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) + ) + ) + ) + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.24.3 + net-libs/nodejs + virtual/pkgconfig + !clang? ( >=virtual/rust-1.65 ) + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + wayland? ( + >=gui-libs/wlroots-0.15.1-r1[tinywl] + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${FF_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.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} + 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 ! 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 +} -- cgit v1.2.3