summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2023-07-04 19:30:32 +0300
committerJoonas Niilola <juippis@gentoo.org>2023-07-04 19:32:02 +0300
commit03ee26bcb2e7fece7f04f18f39c3cd153f06ce5d (patch)
treed1a8bc3322d34798e9d7966eb36972e244ee923a /www-client
parentnet-proxy/haproxy-dataplaneapi: add 2.8.0 (diff)
downloadgentoo-03ee26bcb2e7fece7f04f18f39c3cd153f06ce5d.tar.gz
gentoo-03ee26bcb2e7fece7f04f18f39c3cd153f06ce5d.tar.bz2
gentoo-03ee26bcb2e7fece7f04f18f39c3cd153f06ce5d.zip
www-client/firefox: add 115.0
- drop ~ppc64 keyword due to patches not applying before a rebase. Bug: https://bugs.gentoo.org/908297 Bug: https://bugs.gentoo.org/908979 Bug: https://bugs.gentoo.org/908412 Bug: https://bugs.gentoo.org/908992 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/Manifest101
-rw-r--r--www-client/firefox/firefox-115.0.ebuild1458
2 files changed, 1559 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 963e0c6d491f..8f611cf6de05 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -299,3 +299,104 @@ DIST firefox-114.0-xh.xpi 430782 BLAKE2B 1dc42e20d7c9affe144b56ccc12ecf3929d881a
DIST firefox-114.0-zh-CN.xpi 626215 BLAKE2B ec604a691292d4d843722f21ae986fcdd23c249fda9bcb37c192285c761618c9ee923ebe25ec434d08c47fa319fce1babea07cedb317c8333c6c1915dab87753 SHA512 6576b5a8917b83b519e931bbf05e727c75b621c4de01379cda01e2d8a860159950cd66f315745f8b6327b10d2663a2cb1def624b432cda7a094f02e632c50a16
DIST firefox-114.0-zh-TW.xpi 627563 BLAKE2B 04ef461bec76ec8149a9d48857e4d360c45f543140dd529789428d58ef177010b655e5cee0b8cd14c8b4b91ce72eb9752708c2794f9d45c148ac4161fceee9be SHA512 bfe1f952aaeb635e823bd2e4f968cd263287d35f705d17cd3870ddcc995acddd4e023b9812e50195ba8cdd82dadd68266f6abe226c1f969a453afcce354d777c
DIST firefox-114.0.source.tar.xz 498436588 BLAKE2B 09d29112a487bc23c0e54380bf5e6ef5c62639aa53b6cca7c9a61b2452f4ee0e1a1b9f7ca996ddb78b842170fa67be0dc926c17956ab505e42966d443a798f34 SHA512 c6929d34583f25119738d1c817a24fd358fcada1f0ba5c14bab07c2acd35f18a012f23d054bfe8c6b12c0dda7bd3abdc7a305a36c7a4d36542885abeea3aafec
+DIST firefox-115-patches-01.tar.xz 17536 BLAKE2B 2a4bb5c203c50aeeb34d512d2355fb0d2ca94f8fb3be9db710c55749696771b84d4bc6ae019b177e71a8621e5f6e377156acc1556a9dba1862f791a35a5cfd94 SHA512 120dea1278b6c99721debea97032f43c40cfd12d62be876008b1772aaa67a6fc7545f2d7a6124e11732582ebd4a4366ccca6cb7988e6f1cea7ac133319da14eb
+DIST firefox-115.0-ach.xpi 469323 BLAKE2B acf6ba5b45e646cb7e7baa5b9c8858f6ce3ea4c93573e0d735d997dc2a3fa3b56c6987205d9d6cfa4673a3770010b2b95f88a4b2e0791e765b86cf03671c87c8 SHA512 96eec943ca55df56c049dedddc6e36dbd8f987c2cfe1a76bd11f7a8b027a02bfa3bcf50d64ebcc07a4119e634062d17dcdf515952f2b9b633bca7764b8289e5e
+DIST firefox-115.0-af.xpi 430127 BLAKE2B b60e1fce53b3b72f5e310d4c81d59d55cc4b7f6680f40b35b9d6035d07bd8eb84bb7ea8e727766270a23d990bfe097c559895d8f3b8a0d052a91b0ac7475ed4f SHA512 e58a0aec9a360deb3b3cd7aae6e11c2c5f839710163bc180065bf26c5ac03424fe02cf946fe9b2eb4217b3eb133e6120b520ff75ff6000c57fed94182c7dc4f9
+DIST firefox-115.0-an.xpi 514837 BLAKE2B 3ac14201242f8ae6ba77a3fb0e37ceb2ceed34a9fe6252f1ff310aea10b427847050e9b190dddcff2b78e6767daf991854dcbc70eab2c7df78994bdac422a22b SHA512 67f654a645d58c044667c8a12fc02844f219d2f00962b8b659fca840c821d853fee0ba15d612ed96dae11666107e5ff1ca983ba32cc91779a1bd501a426dcd98
+DIST firefox-115.0-ar.xpi 583860 BLAKE2B 32a1324e9feedb8c82616b02e0c2a1d439b1842f64a5b3133afc1895ba472172d89b155bdd7530ca506b26a937f979a14c64c71468b4f0b762a0fd58566c4cda SHA512 f6cd085577423bc05a70b39a350b777275cfdb2417d97f4061d3d1da10587de4ea58890f54317543ab221301e1c87015775895f915c2885d72030ba7ab062abc
+DIST firefox-115.0-ast.xpi 496713 BLAKE2B b9acfaf492af9ba4ac672879e48f89c8fab85c573caf70ba5a6b9c6c8c1dce0de4e5206958794706bb563cbd5a4dd08bbf483fdb9f26b054fe1082db02d89ad4 SHA512 06e4863e0d1bd25a755a8996d3e377899210c4351d6a98bf4245880e2bcdb3f633ed7a5d94c2879c8c038de636c01edb9cb0c54fd5705b91f0e215fdb696900c
+DIST firefox-115.0-az.xpi 501984 BLAKE2B e242faddc02b11f76c491e3b83074371856e8c7c91d884d7581ac520b5fee425f88b06abb5bb566b15ff758fd719e84e5f0ec201e12702e09a817d3ead54abd4 SHA512 2a5b79da74538cf265511434befde24fb2d8c90df10bc23add0ae9003846886944fa962651f5ad92b7939c7d8373011cf7221afe2b4e44c5432e74320395aadc
+DIST firefox-115.0-be.xpi 686957 BLAKE2B 0947853cee92d08b5d07173167f818fb4e1f3762d4b8a9038268a9eb72b328eeb070233daa5290fc4af5049c4ae7587abf7cf7384c8c768181d55d4c8b7a974d SHA512 d15ad246c2af2cecb4c58ff857372ca8964c3371242a158656f263ecb59eb32f32e772b5ea946d09a2bf47ea1dea37cb72b31c1b5d339350b0bce2f205d96c4a
+DIST firefox-115.0-bg.xpi 600442 BLAKE2B d6679cdde0cf2c531f50abaee66e3c7100c0e0771567fed65aee3ecf03c8fc8ec4f35452a2a0ea707fb1617c2235cfa6b8e08b33f041c50e390609007938a79b SHA512 f9f8a7f382ec8c416cd321a7eb47041512e42e4028a7c8420cb271fe25be1ef2734cc80ef86c056b16340227f33b6ea4ba0618f0ec039032e595865854a8b49d
+DIST firefox-115.0-bn.xpi 593723 BLAKE2B bf87b085ba2cc515bca0ec5a99c7ed2c502fa464f29c2a843c6dff0e1a1dfb696b6685bfc5aa71e11e7787a10e325f1a737baedd52793f162ffb14dc845e1340 SHA512 5cef8e494e00baad9f3405f0a667ce0809e060517643ad41e03d37273a006ef22e31113ef66d04c54028dd8aaae91692cc9e300a2fcb5ac87d750a0828f76427
+DIST firefox-115.0-br.xpi 565383 BLAKE2B 9080ec465f886d07717dd4778389a7fd48e131fca7ac5fd79c8a1805b1cd770cd5846e34e0fb25c04e333c8707ef603100ed4f1789f430fc6ca67eb9d5503ca3 SHA512 0e75b613b766ad86aced077451ed65b08596570645c0a3dcc1b0dc00ee2aa004d10d10b6a8fcfbb61c6d05c3e533bab4d2d69de66cc9aba574ff91e1e8321586
+DIST firefox-115.0-bs.xpi 474031 BLAKE2B e6e13730f8444588ba9e4b55e2e0b4ba39f151c0e00074d0ae6d325c7c324d0c910e5a761bebf591e063f3590c3f88a0fc46362aa7c85e5c279af8c80063d56e SHA512 8d07e686f8fe73543e6245d88cfd1ab0e482a7df4ce13d58939211db5fb48309a19be3b1cdc6d88e95aadaed3bcc88ae0b417116433563a9e3a1856279406ffa
+DIST firefox-115.0-ca-valencia.xpi 554621 BLAKE2B 9185c4a7d950f33928ecbc2feffdd4213930f663dc3c5cfd56509b5c09e8b798da4abbaa1ee9e1df941e6c1e8f2e8014563e755d2c4c835d75029f5b9d453f03 SHA512 f69cd5c73f9cbcbfb50fb54961f83f03d1711d7943739c86254b59ac1fe8a2d82e35334f0bd4dd3c20d787dbbfe205ea8e65ac57fdfd6bfb7325c6b4580f35cf
+DIST firefox-115.0-ca.xpi 576650 BLAKE2B 09dd8b01db8e2b7014ca3f21c81fbe02ec1b274f0761a02f8ae7c073d48f2bb5fa7149dee4911fba96af398edeeb64892ea2ee0e12ab26c0ebe95c3493b34a0b SHA512 09586581bd1ff2b1bf56ddfbfec0e27793f9f4fdd6f0cb0d05cee821bdc5b0bb62fcaa13f4956d57d84bc4b45802074af678e043b5acaa03e06aeb8429e47e67
+DIST firefox-115.0-cak.xpi 599851 BLAKE2B d59b69406e68059c8a3d8db37539bfb2d3814ce47f0300086a801210a549428f3f98c7cc74f24b261413e18461497c5c5536d1c896d090abe88210a392a79079 SHA512 98b131d5b1d223a538485b9b0d0327cc261f71e6f76badb53e9cefb4d9bc79374e2edcb9b02825542a7c790d8a7c639d9e8f30c5d12aedba5f643cf8bf8aa69c
+DIST firefox-115.0-cs.xpi 627674 BLAKE2B fe1f28135d977df8fc27b14f8320d31117ce83212396d7ca3d74a592b1387b5978c75c5b4482f86231cfa285a82e2d9dd24ff7f02ce74d3079cd925161bef3dc SHA512 865bcce330ff8aa8b1b21bd3eb220ead26154eba6a51458b2eb17ddb6385125d81e4cd04a6308edc83458fb93ebdcbcd091c6b8fbe45d2a1e2fe98b40daf9de6
+DIST firefox-115.0-cy.xpi 598156 BLAKE2B fe95ced7bbcd0be932e098f385c706b52452a442dd17e9e3986f9f3917e47c1560b7756bde1b66651a06689739ce1518bcd3cd4f30727da1884c576983d6e5ab SHA512 7220d48a100d5a40bc5b3779e447ebe4bd355a28bdeaee6ee4e11fd014dcc814662161cac76f0c6f5f726e281fa1c6a02e6b7a4f0ffbc886fa0932e9f6bb2e41
+DIST firefox-115.0-da.xpi 587176 BLAKE2B 6b89b935ed124b31b4b9e3552d0db192bd2c90de69e414d80fbb6907eb87e36526e03c839ed9d72cf8e3dee8c11036ef8061b07db4ac5be48ab23c907ccae34c SHA512 ee7be208120e967714f9eacfff8eb2e96b1b083ea7c9191d449af690c37d8e579aea091b7468139697a993c777024b1973781f813421dd41c993b72243e0234f
+DIST firefox-115.0-de.xpi 608951 BLAKE2B 8b672194c6e172cb260d38010df3f82f8ab13b82a99bff1c9a14923f718ef47818265af2d50e05b86a1fa9a1ac3ab42ba6720f694a2f72d17dba9e733a8db9c3 SHA512 b064902bfdaaa3efdeb95b066b62b328c400fef3c10f31f3a43c5edb5c617c8441d0c57c0edaab80448590904329f00ccc8f7b4ffbf31501eb059475b618257b
+DIST firefox-115.0-dsb.xpi 620446 BLAKE2B 5ea32c1fdceddfffd40765690d4bba406ff54a8cb782ac02e946ae016ac0d529fd335f5719f0a0154bbecf9a9db182457ccf865574d6cd25786de96039149996 SHA512 81ce0de8399b878ddf3f7a9980b8c9d0e9466f53037534f01c93a514af527e2e977277db976df2bef125d5b3c5f3a81c298dfcde7f90cca1ed1c17775a1fa8ab
+DIST firefox-115.0-el.xpi 703012 BLAKE2B 364b87bb7e91acf444b0cdf1adbc25d6dee86a8a866b291bcda00074dd6f55e618fb97f29f43f1c0693822ef15c3419b737310633c81a4ff86fd3b528c5e5eb9 SHA512 e2695d7fdfdc36e3a7688d093aea64cd8f064453ae418f2e40a4e72aef68c4b157c9643d06536255b3514ee4dc83ea3f6b8116d939849f29dc6d5535d62221c7
+DIST firefox-115.0-en-CA.xpi 551498 BLAKE2B ab35e3b204b711f4ae1753f4eb2a1595b8cc6de5df8846f05be16acb5e3901567142733da29e93a3052e8c29fc5fefe483b779d9a1b74e9f8072a4417aa485f5 SHA512 07b7fd89932b77cc105c2d9a3dbd314929ac1e4002c88fee08b548e9a2dba302ef67c86edd98088a94fd7a991055df395d72c546f536328a6db135a884488af2
+DIST firefox-115.0-en-GB.xpi 561370 BLAKE2B 80f9b4a05d024a1c832a2b9482beef237c23b64ab9184afb9f3822bd027edb0a2973039769dc90100d14571218df14498116c7688ffc29385266dd9ce76d2273 SHA512 0d3e872e6e03cb496f7fe3503b5ecd4662ccae9ee514bb17fa118b4d9a7028e82e6ab9c77ad8a6308cd7dfe13c1cbe9bba7cb66dae199aa7e4b9f8eee93dd250
+DIST firefox-115.0-eo.xpi 583949 BLAKE2B 06a185b05d8f3a2e4f804d031ee93787794b59c2476e9cd9314f2f45e00b098de84853db861d099f9cceb8a63374a01e427221af7bde08b6f5ea03f2b865bc1f SHA512 639bf60269b593e7893ddbcc27538057d8a7db1823af78f4c9c5f7e49606add2a5f05baf65efc5b30f07f82d594b31964d3f5169dfd71011351ca92b95698847
+DIST firefox-115.0-es-AR.xpi 602624 BLAKE2B eed559239f38b9e5810cc3b7b9ffdd5c7a84cf484c08740b7142c85d6e91f9b87862a7fb21619db16c4701ed1553db548fc43439adaced43bc2c00b2674607e2 SHA512 d78fe353eab6f2708746419475c8f4570ba9fbc05470abb0b052265117d03206295757a6618f0030b3da2fbd61446738841485cad0d6cc8816036afe84fa0fc9
+DIST firefox-115.0-es-CL.xpi 601297 BLAKE2B a419512b45201e05ace6b0ef0e854db15a3a3f5c03f8b989b7c0474374352034cd305bb3c4c34a8cff5c4d27bc34a1da78dd1b667d89db32b0a745f3ecde3afd SHA512 d54b88bda2b4b38859d4c06e91fa02596d6d4bb725297e1090c25763691f044d58209374cdf0779666b196655f744a6bbd0d6b5b6c052966c5f3cbab5a3bf603
+DIST firefox-115.0-es-ES.xpi 595240 BLAKE2B c0b54de9fca3d5bceebf0876371c284076859b4a4499867deba09df8a14e1574e9a279206fbc1dbb5bc07a0bba6072a4a7c185092d9699f1c659dbd0f390ed53 SHA512 b264d68a1bf7c3aa02b6675b99b937d461774471acaa97854004f23230d18e400d31a3b8b9a5a4b8b837bd20101846216d9ca4671f3e2a0f15f016e8beb26375
+DIST firefox-115.0-es-MX.xpi 600969 BLAKE2B 2bf515ca1920a91c0ca07c11f3ab9ed9b19471ac9eed4a2232a838cb21c84be78551862c3223487c3a75a828da13570d7620b9e2fedb8262a0e8740c7550d24d SHA512 62b8bed642737b98b555b11ffcbda317d07b21acab524e95752c791e93853e9bcef22b7054e47220fe4c5e5b440dda6045bb3232c9aa87be850e0cfbdc850987
+DIST firefox-115.0-et.xpi 548989 BLAKE2B 84aa9c639f7d898d30a0e2473aaad57d8bdf8ef569306999c25c9ed1b96ab8005a80e79ccd8af81da9ad9a015b085b081bcc3927807504289648d70b2a41d6a8 SHA512 fb5b7e56aeb973eb240ada3a05d1a09f675c8a0edd7b5a0d58f79c5bc6ef7c77eb66df1d16b2153a2951e73047b0d7f0c57c2942f69f2686ba2e79c29f96f1b5
+DIST firefox-115.0-eu.xpi 586425 BLAKE2B c66e2411c52b6458d21f32c5e000c711506e4844e52e72aec0b2bc9c53dc75cdfd586e39754ccd7508eda1b4ef370df36477bb44f41937ca8b16bd6f389ea294 SHA512 17f07fa8351e73b3de5523fa136fd51cf59b772bdde80fd78a445dd1f515c98096e7578cd9a9d5e27625decb0658ff36822821704333511a7759f9b9deb490db
+DIST firefox-115.0-fa.xpi 601519 BLAKE2B 5df06132cb78e058e52ab5094463b4a93d056202a31a2e0c98004b693333afe88dda8227e63b816962e1b94809eb179ea5014485f95477350e34ac59468f4a7b SHA512 f6bc3274f2a646fc9aeaee27332c736dfd0769c57319be89eb0a186bc7052f4b2f0ae44fabc65a70a1974d9af071853227d4a489b66d50edc3e58a6402c7350b
+DIST firefox-115.0-ff.xpi 485916 BLAKE2B 14392981765478f957b98a224c84e83afb9a4acc2f4174c45b293551cb6bba4755df2af87326586408ac3333c8c6c29eafbcbf5ade3c1ef109ca8a41f96d21b4 SHA512 83618aabcae4c312214ab795beb02d178a76c7cc01baafcdd7e9bf6751a7ab7c0fb78b5daf6a2a5d846a36600fd6227122b2c9a34bf73ce79bf48a740a40d8af
+DIST firefox-115.0-fi.xpi 586042 BLAKE2B 151e8a3f21d1cfcc0badc24527f1915942cd62d21f21fee4384cb4d06c901f07c64fe466036bc77dc05186bcbcb573701192899f7693a7e61c3a761eac0e82a9 SHA512 42cbc1af00a6c3048b3cf30e687047e69dd79c5796d479b4535ecab8840feb9bab9e52d252bc89c86bfe261c76267c29f7ef2e08929040b3b86e62a0b9f2b234
+DIST firefox-115.0-fr.xpi 615060 BLAKE2B dbde8cf870335fd03328fb270b81955a5766e4eb0c7c35a02480a2a92ff5d824c965581053c097195fc073a24cf6af1188969d9ef2cea61d7132df29689f0a5d SHA512 16383ab981b4f89ea6c359f107ebcd383d281e493d4959f16558876b2c0aecf6b083089b44b52b3de9504f60650ba4f3eb0f850e455b92ed13942a21cbb58e7c
+DIST firefox-115.0-fur.xpi 606886 BLAKE2B c7062d1aef8bda67e896f701b06a5c283b04a732ddf251f353775411cf54d223f9e7fa43ea5a0ad94f0a9a5967b1f7190f4145b9a6810393e3c77d863ead4727 SHA512 1a378540df75601fc403ff68d33c0e3c4edc61a4d9e0c5dee7544d4f9dc89026497a099bc1b95fb21366fbc181053448dc402c923b1a8856c850661ec94aa79f
+DIST firefox-115.0-fy-NL.xpi 598085 BLAKE2B 7c64adbaf1aefc0c54cbac8d5de7c38d3378fad2d1714b16faeae8b8fabbf323c70dc16a5f6d00324ba6da3019b2b6cfd8e7da715c1a4d2d6e53414edd6c752f SHA512 30349acc92f571b4bc1fdca685d9b872ba4254a697d89f6afbd958d1a3021e691e178af7430ec02928349aa19cd0a2d938ebfa8880d3c2309d9969a3b650e89f
+DIST firefox-115.0-ga-IE.xpi 482381 BLAKE2B fc32ed29597500a8df7f7a886da71b4ee4d71cf2a2fe58870f075f2fe3005f364782686afa32814555162c9c7bcac643e8d733cea9e0adca9343154bab8f49ae SHA512 fe2ac607c4fe8c391aeb19b24346df5ce8dd3e4b8e6cf08fad5165de8dd5230f11ed73cc1ca99685adf46d25d9a69c23f5ef06462e7505696e5a45b092485b1c
+DIST firefox-115.0-gd.xpi 603642 BLAKE2B f6db5c71b702228107f433b08ee88d6b5f57a5536bf6bbd8d5ca1470f2a35791f9d94b278da03e8d24bd29fbfbdce73f8e6c505bb1a7c1b6a546cecf3f1ad99c SHA512 985e194461c06bec0acbe224fd4667f11ce7385d48c505450137f8346751266b3fc8b7fac0ba1795a7adf823b2e6ea1ff90851f1fd0220e41e536ee54f207928
+DIST firefox-115.0-gl.xpi 598447 BLAKE2B 95ebc26fa2b1ddd81e4645f9d3fc5277caf99885b33aef7063f85ab170ebb7ede8f5917fddfaf2752f3e93d5b7db082ec4db7041ddbcbd939ad64a77d26cbee8 SHA512 bcb475d5fa8124a177a1aac56fe8ceafc0ef5bf23fa27e6b7cdcb4b6229853b3690ddba2432eb3cd809bd39d881d4ee706af9eecf7e7b52eb04b504ce1730d32
+DIST firefox-115.0-gn.xpi 612060 BLAKE2B b87348e75b840bc46b5f9013417fd60dfc52f4c5437108e7ffcb3d3a411e1863d40aded4dac21dce86a6678728a767a07e0eda01e758feff821385ac6fe5d2d6 SHA512 6984920296a920c953aa72a6c0744a44c5e3f3cc09e2c549b3888972da60d3d04abbc77379c8b7ecf748ef51f1955eed29fb9e2f3e13c749a8d972d08fca86dc
+DIST firefox-115.0-gu-IN.xpi 541879 BLAKE2B a1ae7cc54f89ba23fe73dcf29c345318182f0635debb1d9efc99f912ee41eafa8b2dc08721551f3709ef8b448881a506512351509cc56b7511dd9c8c7c44adb8 SHA512 af211f79308a22bbe8259f0a0eeea016bcd838bfcefcff51131989925c8a8c46a8f727a7739fd12ec8d548e7fc980138b59fdc8bc3365d7698784cacd89024a8
+DIST firefox-115.0-he.xpi 608010 BLAKE2B 31ca0065202772f4c81c270fa7ba4ff6874d43f190f4481b509bf25aceb3856c1ec7fb255857ee9b3f0c99373ecd43a1c1c2dedf86800799eddbb930895cdf16 SHA512 a45007ab6f16451ae63e03180cadd8df36f089701947973316be5cf6321ed68e40442fd89f6ddde70c25ebe689f351a4bbcc6a4474bf5168d850f045b1f09e7c
+DIST firefox-115.0-hi-IN.xpi 571178 BLAKE2B 20ad609b77e22d21200593df401c4f5696534dabceb7577d4c25ff86f899ab638c8378862acc2744404765213c9fa55a3b3f85e42a0964d04b700a01cade3ed8 SHA512 409d5f46b14e89efcade96fbf17465d1cea72bbbd1cfa9c588ebfca16fd2cba6d45107d41c7c669f8a27a480e00138df7527997e5003a35840d4beefe58d4894
+DIST firefox-115.0-hr.xpi 564504 BLAKE2B 0dcf6b0fdaba07f3356edea5946d777f721bde005e5deabf667fe51dedda37cf8951543764b77bfb41ebfac33bd534a1017e9074932580373d09d2456464c344 SHA512 0dd0b4469d33fda4b2b352150b3487d85c7fe4e656e89eec3019f34eac10e380005cf60a11a890509b6a3698b084eb20680b9d89602145e399cc55c708644d9d
+DIST firefox-115.0-hsb.xpi 620455 BLAKE2B 29ce7d313aeba4d8253b6fc56bfc803c95e190d549e0f4cebffe84e9a69afd1fe1f354ac836416f80b7726ad3eeab67e8ba0a9967766c121579657dcc439efbd SHA512 f50e012b64c9fb1a8d3891f10ea1d7b774442bd324b0c7fba88ce76038a5ab17edd5b2fcc0107ea13c1a8315c0ecbc0a679a4957256e14863c7294b86f0958ab
+DIST firefox-115.0-hu.xpi 623862 BLAKE2B eb11291006c7539cdef35dd1054af7c8bbac6d0c94e8624a783579f1ee9b3836e23ae98c008b41bba3590bb2c782979eb0bad8522f63237d9aff472d62bcff62 SHA512 7271d6f6c8ff3268d9fdaecab5d00767964ae322770892ad6c1db985fb93d862d2c0e7b8d15b8b352fcbc38d5c421ed8b16ba71fb4ff5aee584007bf81e4995a
+DIST firefox-115.0-hy-AM.xpi 614925 BLAKE2B c6d3e7155af491060bb88a23cdf4db537f3700822cf04998945065dbe26b68ac718069b30d417a753b92b5e286d0ff223d0605d2934ccddacdba89a415c9f709 SHA512 46893dfc94e3b4901977ca133a1048a45b9c4c57ed81112229a68d7fdc747e289c9e077f33b72ca49cb6e1957193c72d636b257f4c5a6ca624a00b76714fac17
+DIST firefox-115.0-ia.xpi 585627 BLAKE2B 02a7613deef7bc02bbd8595475e55588cb43e46d5f899040b1b28aaaffc57d29ef4141a372162311d6aa4ae9ba2dd170a0ec632adfe1848e6abf923e4a5b4c7d SHA512 be6f754911c9001c1e2b12c7276436495cf2b15806c7f3b721d84ba853d5b2541be2d975d211aa10854505ed78f5eb9e161987ea7a1df16a69d26e2a58a67cb6
+DIST firefox-115.0-id.xpi 571365 BLAKE2B 18addfc6364ff0368c750554d7c06b9bb9550eb473c03705db1064c04b062224744fe6b5bbce5c30434459d90f4c9a80430836a84c4d89e2b429dcf056cb558d SHA512 01f44ca55b18fc62a46995a0ca5042232286be423c27221be2b27f7809d8a22d33a4b470d2dd55475908f029ad3f567131756ec2e9773531b90dc07e490e2708
+DIST firefox-115.0-is.xpi 593515 BLAKE2B bb572bd2185b7d37a7073d54da59b39ab12afc5e2aea5e78d7923a60c6d7eb6e2d270b5bd85a45a02b22ee649730ba5a7f0dcfe5420957cf1b7d8f6f5d24a5d5 SHA512 bab962f78c82de9071148bd540892f4e0d922165590e299345a1dd376f122837c6bcdbd83ee74897354bd39b78fbacbc9f219569cd637908bc8e1cb86d9df039
+DIST firefox-115.0-it.xpi 536400 BLAKE2B e42bf23cbfbf98c1d7cd10742fa38c8a4dc386d5727b1b4b6aaeebae786200dba595bf164c6e33adf2c4d7024ad0dafb08fd22b0a316ed495ee3e7b5d3e76aed SHA512 59115e5e877511b7c7f180577348ebd26c1139924479cd80678226aa861ea3309609319594f629bbd673d73e66438ec448490d9a0d097118c35744c65bedeb83
+DIST firefox-115.0-ja.xpi 648099 BLAKE2B c65c268e19b5f57db271964b80655b3e8c909aba7c6cd7e5de04e10c9d4d0c214ef0f06d095622378f3818214e06dd3eeee7bdf52e44db78a656d2a4bad61747 SHA512 ac40a8b7f43c471ce75a16f72dd275c23ac2219f8f9fd21572c14542d96b692c9f93969d1685cfa6f5324e8c3b7b2972ab174f304c6cdafbc7a7f6f9e64bbec5
+DIST firefox-115.0-ka.xpi 651351 BLAKE2B 0e7093f6d1fc277c6307d4611e0df977d70c7ffe724a0ef4331a327ff4e915283bff570fbe98e77894d2a6d28c46a0be61b1d22c32ed3dd22a48aa041608b641 SHA512 3fcabf254bbf6f2cb298f8b962abf165167cedf8d9830a9f8cb179410c8c7f9eb44da02e01641404c5a7db264ad6c396d79f9a337a9322cb9b8be7da19b56e7c
+DIST firefox-115.0-kab.xpi 598563 BLAKE2B 3255924946f466f63e1dfaaf9d5e83e0cb7fb7105d2a53c13898dfcf9d1c65f2b47de74d20a5efe671537a5314fbc1893ac9480fc5c5eb0423f924b06a8613bf SHA512 40cd89cac3cb28ab3bbb123c5439e9786ddd5c413d37a003debccaa300dd5b5fcf5688cd432071d01742de828b12606e5b7f5f6400d606a48ced376ae639f75f
+DIST firefox-115.0-kk.xpi 674098 BLAKE2B 35d2664e9b9268f669164949d4a91b008d4661eb0ce903ec921ba6c29f05b736c91fbf0f7e2f2a78e31b5bf6482485d92e6993c8456f2203fb76d1b3deaac21d SHA512 e63f17dee22752647d25276416d0f0949ecbe185b287c3669926edf2057a6d4234998e4c8b8bef64a277b2afa9bd39c34846fcba125ad72dfff9822f98390fb3
+DIST firefox-115.0-km.xpi 543685 BLAKE2B 45f13ef0f1e54dd7f599438faa07dff887d21b819c59a9b3059a36e51b414cf509445b172bcd3f8524bda7cb1de3ceeaea9be5b8fc38704171ff46867a7b1a9f SHA512 a918d03fcee91ad32da8c67abe1a0270dddf859ba872fc6e44bebf95cfd44ba5c743d47a1ac1c32943692602b55195b46abb23de93131b080c6cb32ae6358f5a
+DIST firefox-115.0-kn.xpi 508145 BLAKE2B d16c60dd10f8534f85d8faf3c73276890a63f26e0dbf4c1641e824e1341bae4d6d9dbec88f20660369920ff2eb01ba9f3717015cfe19fca9c805dabb92205410 SHA512 e793e1272f6810d90eae35876248bc69dddae61443c58ba8efb9da41b015e8b16a6f13633e9fc8fd5cc8a79be3cc1bb31b68d28a21468e601c55fad4f072083f
+DIST firefox-115.0-ko.xpi 634974 BLAKE2B a50ceb29c6d706a8665d7c31b673d3bd5c8ffebcdf34bbf2205e4f0be5f18adf44a366fbd3a5be717101245d01d1f4bf6e2081b877618de4be33786b36cdfd93 SHA512 8a41c23034990c784a2a166a6c895da5dcf267991aa6fa8970f49a54faabde92bcd02f108725e07889d5d4566c1360203d86b7ec5575a167cf01a8d3bd2fc46f
+DIST firefox-115.0-lij.xpi 493479 BLAKE2B 8ae8568b18b561be194fc43b010134b881dfeb91679c235914a4202c4afc39ce41a75df06c0ab42c7353460795adb30dd50d6017d6ae1403553438febeeaf967 SHA512 34d4954983413eaa0c0f4b4867420b67d686a0c35691842be2c8ffebcb0a8d527cb07e538885302256c3703faa364a66bcb4aa948bf3b902c94a7e386db46535
+DIST firefox-115.0-lt.xpi 583783 BLAKE2B d49e14d36f9241dd23ab2864b995ef88b3fdab7963ebcf17e3a55edef6250f32fe92f10ca142fb74488ebf4b9146de8588328fec9022eaa2de794d948dbebc25 SHA512 7e828c59709c1f2b0ec0096b5123d2e55243b4baf8a38a8d0d851ea58c81a1091b28d20fcd0348abd86b86ff74961809744318d8a97f67a9f8b44d12654faefd
+DIST firefox-115.0-lv.xpi 481423 BLAKE2B 49e047b55f019d12bf5f4ee8e236d4fa2fe161694440c165c1b5d98f87c9d38f251aec4273642a39bc15a9f1acc3aa899b33889fb5647976d424f8b58e8bd8de SHA512 a02d4acdaba005efeac9d5784a5446d41fc4ef0646cc4865dcf214e7c4a6ef80deb856875cfa99f61a4bdbba97106fa1555f71fb34bf8114a03e991037ed54c9
+DIST firefox-115.0-mk.xpi 496401 BLAKE2B 350096469a8123b6d944c3edfba925c39e51ff269402c77bf7df63eae125185e47971031b4b1d7a7e7781855405d24413eac527b318a2c9b44385c187b0a28ff SHA512 659b1ee42080110a2a7de7d6cfa427aa6c0a4a4169cf66983ecbed736c618aee51ce17533de65be994b46f6f8665ff1ffe6fabf1209f97a5c30ab4b252857853
+DIST firefox-115.0-mr.xpi 544681 BLAKE2B 5fa02dc03780f87ce09bce25d1aa829c458635a96f76674baa5df6637d2cbadd193490e8ea38391793bdaf05f2279e575b9953ca9f1553c33638d03f1c789716 SHA512 a1d3e8e070e934fa79d9d7bbc0008d88a5b9012f3dac4d349edacbefcff1dfd4027a0aa3e09bd90ec491353d3c7e9902e340c93b21ff0b42c596d1d7bbd5f64b
+DIST firefox-115.0-ms.xpi 461873 BLAKE2B 0b42bf06c77020d6fd6248e9156dec09239dc17f9407d7ab29eaa8662a6464ae3521501172d1df0dac56bfc938bdee790b377dfa4ffb28e5c69d534a0730dd11 SHA512 27ff6e6ffe4f8f1d8369ea67eaee0982954fe964b7d27c5f7a3885349dcde9cbe6ba49d653321b59d112159f43e244323ee52339fbf0f64a28fcdc43e2574e6f
+DIST firefox-115.0-my.xpi 529045 BLAKE2B 1c82712fa3ea44cd2d6c8387e9cfe3aa178ad6f66a24b3583284585b9eaee8da5185598adf91ea56bd8943724c751d82086961a51da596f5fdb52c368e97018a SHA512 c45772e45beda65440b3c3170cc9764e65b0d2bacc129f0f44f8f5b359803fb16bbbdbfef517c589b94a9ab165148e37a7cb2c7cdfb382012e6325d06c87aac1
+DIST firefox-115.0-nb-NO.xpi 582798 BLAKE2B d3eb90b81a731a86cbb2180d9b06e99d5484639247645e05e6e474d32bf85338355c1836e46ea821f0d2accbbe9d88974d53e7c6ab2568639e3fe3cf6a6872e8 SHA512 b5d07d6f6c5e5ceac5a676ab90472bba4ece4f8782d0b64d9c0f2ecb04a5ddccf6707d920f242fedc3fb231b7e0aac24321c71d6286ca165b99559478cde55ca
+DIST firefox-115.0-ne-NP.xpi 496628 BLAKE2B 0f8924ba1e479517c265d8b1ec0ef7ae0caa5b8c36e3d272350389973b3b8c816b5da1ccf36b5819664cddf5bfac272a1e1e2ee2be8621ca43430ec37478586b SHA512 ae359757ec10146c59bc151e5b2bd36c908947fad1659e50e7426b84e20ebcd4ab09c0a143088c976dafa860028e9458002d8b303012ef048157bcc3e567b0b9
+DIST firefox-115.0-nl.xpi 591940 BLAKE2B 1bc30b8535096b98b6b2bd30963eb1c55c8f9cccec0f5d7946e93bb31d6a49c5f6867a4c09ee1dc747a633a32827982f1f8ad1c50283be59dd4743155341ddff SHA512 c23a69e5a881bc5bd8da2e36c72379cff5f3908ab5626ad39327ba5c7e236f372d25551c57c0a508c5e0228ccdd23a8a647886ad092a142c152c988ca56fb8f1
+DIST firefox-115.0-nn-NO.xpi 585567 BLAKE2B dfcea0f685efecf1d7f55e4c8d337e8047e1726afb18576573e4e9024fa36b1dacf47f862dc88f443378ba1f6c7f13db6b015465d09a51c9a8b991703e7f2c75 SHA512 0d0129b9cbfea0c5fad34851f8a3195dff380fc52f8a758818bf9d4511ebbbb0503417c5ce2a9a360355cf10bdc7f80962aee3d2b9a81ca497eec50fceea385d
+DIST firefox-115.0-oc.xpi 606886 BLAKE2B 4c94a2d3fe969d7a19ff09701cb981c0f9a53be753aad5d881b9bc8f6077d689b6b93b9627f13893e66517f23a612954590cbc040f6abb07f2ae993bf1403f48 SHA512 40880d25a66ef128121eeec8a3937b7bea7b2dfd114a5266bd80dd8728c033f006e693eee64c3d402b5eb4edb842ed81efd62d9bce3400387b3eae685a7f8e84
+DIST firefox-115.0-pa-IN.xpi 665209 BLAKE2B 5279093866d41fd83bf8e5814e6fbc241c7dfc485211ff1387828675c60f6b719a5b2f88baba8af11d85bff4f97f4df4d15b98299545337ec36b20cf1da66dc5 SHA512 967d818786cc48956c5e9a29724536cf37a218a57d4ab3a22ddb615330ed0836d47f126f1ae74c59c1ba842209c3d299fce5990689e4c543f58e3ec950aeed4a
+DIST firefox-115.0-pl.xpi 617013 BLAKE2B e4df7d5f055985a8a54371f2e35b8fa0d0ff3164ff1a545ef5e17f86bca383c6fb6f5eeb08b79e3cdac04befa3ff67d0439c45f5b9db359febd5626430e446ff SHA512 f6c4f9545d11d67fe5e53fc2829bdd159da79806413bd1da7413ef347a8bfb0de16948751460051d6717896f97ba48b588e39c32343475d2a232d2d83cb99c10
+DIST firefox-115.0-pt-BR.xpi 596737 BLAKE2B fd32ddb82135c7b8def7a1f5b2cc389b65b8b65fab83c5618039e73260fd18e6c690aa153b86c189745a7a5e07040312fad6f984dfd2c3cada28d33e8394e327 SHA512 8f0c9db44e620e4be08d63fb8e3939e4a7c2e108d1c85b7c79a79eb98e89abdac729bbdf2e92a63bb7b3a571292066fb1a86a484484ae105b7903731c744b8c9
+DIST firefox-115.0-pt-PT.xpi 598844 BLAKE2B 82126c931a28278d982881a3410971f9c29c5a38af9b9426320d1e8b02573c696fd6913345a3e4fddec4ac87b59cd1d801c974c07f5fe9e09e08a5fd5e855823 SHA512 7d4e1764c6a1a978cbee827dc232c2c83854b878dcf6071ceff3ad2981e2351fce7a009e8270d8dc8ec7d290ea62e3f826aca252ec24534ea9fc2f8239ea904c
+DIST firefox-115.0-rm.xpi 592654 BLAKE2B a773dbe0ada3946ca3f0114cfa01957ffe4cae4a7d050582241f475f8165c48e1dc263aa8cdcfb6e095ba42308ff7b6252cef19ed5ed65da60e88e8d61a59ee2 SHA512 3bcf5ac252dfa6832c7618456ef96c9e5bc99e7a9383a9de7c76844cb592ae60ad44acf4a6525e32627e9dc36848969ec37246505893dd26a399d845159c931b
+DIST firefox-115.0-ro.xpi 556990 BLAKE2B 9398a2e339be0dd6b2e87df063d13221cea47b570f50b6085467e125673ddec064aeb1d9f5be7fbbd067db0682ebe03230d08b02ce4570d3702c4b9f57c17334 SHA512 0462907802031b86c0030dd96cef07264eb023fb36b5e41187c07664b853bf5725445bc9c4ebef58614be93ceca6744d498e94913ea108ec843b26e7b102139d
+DIST firefox-115.0-ru.xpi 691640 BLAKE2B bd79c1b3431035b25c1da5bd6c079f5395ec625d36211100a3dbd955c1dd79d6724d61c0294ae959a97babb2b95da4b93bb06d84d3f1c8cb31201a33e4d9853d SHA512 6495a9f5acd87252c6c5682e2ec04824109f43a5d37e2415dda57a927556c8b08531149f3e26a3ab194f9f3721393160f9c0a2de56146bf7d18dda656e2b4a9b
+DIST firefox-115.0-sc.xpi 567077 BLAKE2B 7145548d6a7fe13d3dfcc917d933849d962dca018424a456e93c77e6eb45e3429d4f9cc1e6d2540eb8b51db2b77e9988804a6e7d3842a336302b1903d2d00299 SHA512 be3870912da3b96e2c7540fc248e0587865a8fa57bde87d095324bda8844eb84a38dc18a1459745abaee5b6d0701cbf554e0747b6e132f60e1e500900eb9ec2c
+DIST firefox-115.0-sco.xpi 518337 BLAKE2B 1d7ae0ed063b954cec82b6fbc5129ce4042ba32c22ba41efbfeb4711fcf450152b4712144f4b0ef8fffc74b625f35e187c862e2447d8352e9c063f1dedb09610 SHA512 f04e4d1c7aaae01e0778d92c487cf496d53aefe4caa852e997e45f72dfa86fdc1bb3ef6edc2cb0ee96ef6dcaa7fcf26d83cf7be479cd29c0133a07d0887c0d99
+DIST firefox-115.0-si.xpi 593124 BLAKE2B 2e26e0f2efd089ba4b34e8912cc87cdfe7cb3d469997e58a57aa958e021a9abd6b76c44e115151636dd826f3b1d09d4a809b2d2f30f2204fec9554ed7861feac SHA512 f06c72408a476c147887caeb5df8624800f7c9ec70b9fda0597a2ba71f91cae3039dacf434345c119074014ac00dd077aeb225938de9e456f333e8a148bf1b86
+DIST firefox-115.0-sk.xpi 625402 BLAKE2B edd155a9667eb4d1243ffd03a0103fb7310adcc5be4e2f8dbe3ea5d6f2297d39ffa45669114b58ebf1d56646f59deec602b209f00beb7c503ae2528f31f7178f SHA512 bf77e9c2627b44094c7d7eaecd7f702b7974d6f45323446ace8cdcc777cfc8fae62012cb5657c77bb131a129e92be1939f08045c6216fa110a2d01e7ddf717d3
+DIST firefox-115.0-sl.xpi 596057 BLAKE2B e823f208c490ccde23b4178afd56e824823c2a05f89a6dd7c8465c6aede8c009859e62f8493fc0ff2cf7de34411a666249b2749a35fc681de84359169c618b46 SHA512 34f7afb32c8c510aa5055bbe2c75971e2562afd4410f574b8c92f4def8b69d19ab0c1a48a6b4ed98b386d70b97e36d46f6ad1e8b1bcf90d00cd78a5404e2c284
+DIST firefox-115.0-son.xpi 432497 BLAKE2B 49a186b5553c1ab42740513ec1b87f1666039076ba9a72919361784d994ac53b9957cfedd2fa745bf412b85b9cf347fc4c59f674a42143ad790a3ac97553742d SHA512 619be73df867a7179820f6d2ab45f3f01098541afd37a5df7952b767e9e10145ad493d06bd01a25aff941d08bc53de7efcf42e37998f9e0b9ec563bc4fd0c700
+DIST firefox-115.0-sq.xpi 600793 BLAKE2B 9eb98617904946c380963c7db6887aeb00898686c2efa62b54520b63d7950151d427d834855f7d55119032a161630d60375a5c758bcce387e1c0c10f9311c206 SHA512 4506df3ec6aca690b2e708650a564601a9c03cb25f6fcdadfc7e3376349fffbd3bd5ffb81ad62b086c82080827e71ac4e15a5a70d8194d1fea9633646ce0cdca
+DIST firefox-115.0-sr.xpi 653896 BLAKE2B bcebcaa4a75aedfced2b1d05acaf68dbae09133dcd976dd5be439dc88929a3ccb842ae883c5b28eb821f591cb78f8ff5b832676f26752f66c00c3098aa7b1729 SHA512 767dabb85aa65c4ca26bad24b98465365a7095d9672f84ac07c4e849bb03b9e6d6055402e3bdcd032acace907109f69952fad5ba2db91329684071f76d3ab854
+DIST firefox-115.0-sv-SE.xpi 593892 BLAKE2B ce614c13d9f9b27e8a7d60fd6cd101646e0ff2446c35fe0f35721877d040dbb231790d64670ae7d378280b4d36a91398840dbd8927cc1fff2b8f88a7079d1c23 SHA512 bcb9b7f6a13b1525d3a2608f12951d9f030100f0c814d448bbfbcd23ab752008c4899bd157abd487ff57ffc85a10ed68151ff8c983e66b391d26ce4611735703
+DIST firefox-115.0-szl.xpi 534124 BLAKE2B a25c61c87cc9b525037d63a63f21c5bb6cfe7278d61e8cd158d5a173b7f78c8a2b0a970adacd3d629584f765bfd5ae073cda4793a3a943f86b9e90f4bdf8f345 SHA512 42a1cc72030604ec4f3218863065933837d6bef774ec42217cca4663184fad13582b90d30b42932093624bf38c3562743a3766ac83bb1c970d770a569ff9daa7
+DIST firefox-115.0-ta.xpi 520718 BLAKE2B 4871972ce721c76fea4c8ea3a62da1402bbdfa69cea74faf57f5d02e872c17777686b8295f1a627e3fdf808ecea79ce57e814ecefd472ef741dbf6d97b0a5061 SHA512 94cf50ffc354f614f9e1d180ac43b1c48e79c46a8b2039be825cd86d1cf540dc484b7ced1bac9d2c062c187e2530f3d087c07a8374faee438849ca1744a51a6a
+DIST firefox-115.0-te.xpi 570042 BLAKE2B 54ed438aafbc78ed8d9ca2bc87c0835403ad6a2f43ce1c25a82b18d32134c79ef3362952464c3403e00d0ebbda095188435fc00dc0a37e1c51c8aeb6f05c2294 SHA512 fa6f4402a0c701e66c678bd3bd08d39eea1d56abda80e748d96f66e53ee2f637cba77a5993f02c4a0fb27014cba9da1980a683aa6d1ac11a8dc2223b8aee5933
+DIST firefox-115.0-th.xpi 667031 BLAKE2B 53076afeb87c9027e3c2d864880a24986d030eab0f35f1f38126b3fb8601d9edf365514042e6da5dc6cdd0fde3664107b388d7c4f89207f940f753c9b36b8573 SHA512 8dfa0382ea21f55387f422f39e14da5529357163f069e58b2450e518b85e57b6f5f1438cb6a0759a8e52f5785f881c0b3fcbe8c64559644f15486f084009619a
+DIST firefox-115.0-tl.xpi 541132 BLAKE2B 0f071fdedf89d642ab4eece4eb50fe9320fa48626a0754a8ef6dcdc4dc626fa09e5335c68bcec82b2ded9941714d21a3afea0838d98eb8fb612c725fc43b9dd8 SHA512 e1c8cfa9bfa4e56fe7ff0d0a92901946bf4a0fc629a6cdcda93af62ad983c71658bc43375d26005c74a4300e9d076b216bf5566d55ed417aceaad274335c2431
+DIST firefox-115.0-tr.xpi 607283 BLAKE2B 46fa8a2bcbc9d2c00aee43b3a34e4d7b69365b4d8a34d7664fc59682006ffd292a9b332d172866707bc8f7fca1aaa72e66ca4dd2c209a37916e08a63d29df335 SHA512 fd7d088bb1b72ffbddb07f32bb5ac93b1cab2051beca78ac7bf32c6729819777ae6e4557af33af75c14e606922bcfa742ac1a8410c2864ed3c6409506cd2a6db
+DIST firefox-115.0-trs.xpi 501893 BLAKE2B 6c5dec9dc0a223858a6c285c14b0e1c9d684a40d448aa12717da38ff860b14553e62aa3e752a85a93a9c7486a4e885c2230e2847c364d989d7159bd496e0ab02 SHA512 bbf6cf5434dd17e765ab6c135b30829e5a4b9e19fb2cabe071827bd46b253d2d5c7a1ea097ecf5383825d6e253e2d8ab96f1d97ee14304d6047ee46fca5f8cbf
+DIST firefox-115.0-uk.xpi 684819 BLAKE2B 4d9163c890645efbb27233ba51579e8fec42f30d8bf822e10f0e660407f0adbb58252e42e446aeb528cbc49a49351bbd0edca2dee7b9795fd5142c799f42353c SHA512 8970e2ce1b312fc5618d6a547e6e7b0c7688483a354f3f8bd6ae4d2b0ea6ed9c38e80686e0bb055c91d3c5b428637722959c7417171c7626333385753af1bb8a
+DIST firefox-115.0-ur.xpi 570586 BLAKE2B 7c2f57a9ec094062afbb0a9025fcd3d907676b32665dd40018c55f7a3465b52a352acaa673e5bfc035be0efbae1080127439da9efe94f69fa4ef5ae64b42341f SHA512 4210e9d081d260c8ea860ff5e664e532e1f230727c199331ebdf00d0ab7f22616813af79c8f8fc6e83fde39e7e14c125cab19afbed7b92c0692a32afacac9548
+DIST firefox-115.0-uz.xpi 488313 BLAKE2B 7186fe5c3e14f0d52d8ff3ef0bef5a285e57285bdc867e0611d93db148874d23d70c7427d0f2082231407c0d6a9e9e78e0ad686841868636d197914b4798b633 SHA512 3485f3f4fa74bd0d7a6c500f2c18cfa077ae90b5b952dea25352031990fca4dd832897e9a8782e39db7c12017dcb28a80b0a04a05d4236171123428742370d31
+DIST firefox-115.0-vi.xpi 631054 BLAKE2B 78293b383d62796d9731cfa669671c3405faba23119c20767893cf5df3d66cef59b5fc406d243808a4c68e1fed793bfd2ef05193379452d1c56078757ca7c525 SHA512 c2910481a0950ed69a52283b70c40e3c7ad5840865efc07cfc82f8e5deec1144fd80b60e62324c73eba0dbc675b57ee0f89f8b20220e818ae77e1b4bb943871c
+DIST firefox-115.0-xh.xpi 429450 BLAKE2B 206183f10758acde849aaddf3ac261c49fc49c274ca643ae46b0609779b18b85391df3a2f3e34b4854f4234860df374c8aadb2711a0220f8414dcd0988c0fd9a SHA512 e696b5a960f12173e6766002f6cb8b743c422ea13d0067ca1c78b6626846fb42216dec1fac536407c3a4466cbc48c25cc7526544537a3be4215882f6beceeb24
+DIST firefox-115.0-zh-CN.xpi 629739 BLAKE2B 4fdd9f7534512796b5540aa08a0519bebeb12b1d41ebfa6b7669de94a68769b53bbb90535c5b7473f3791378fdd92a7bd3901189dcf93e6a8a5fa437a45ba9bc SHA512 9ba2ccfe09104ee005f39a6171724f0fdfa89d11dac3d1747c77d431513ac4cec1b5cd869ad003f8b07249fdff7bdc335e7596a5326b4e6d738809d1d79a610e
+DIST firefox-115.0-zh-TW.xpi 631510 BLAKE2B ceb95485fd162e056a4d02b310d751d3023963d4cd64d11205fd06198ee4757c83601cfa65163ecb2c1868fdf7d8872beb0b1dc491dd4b59fba98330398d8fb0 SHA512 afa77b7e710329af3cb1c8b1fd65a42e5c2bac52495a3917047b7fa7e5d813cb4e39d03e649e6aed34449011926cd82baa2c7fa31eefb969f9806c1d9485b052
+DIST firefox-115.0.source.tar.xz 505151516 BLAKE2B f5489d96be60f3ed5f5657cb43142a876a7ef2bfe46b2ebb54df2b9be8262ab8c8d3aa342adf84fa68ffe0abc63e3b4671f310e0a3dd4c53c137a612e9e67932 SHA512 ed5d150e4dfdc01026beb3ae502a0b04321dd130084fdef63afce79a8a7a4898741d08f77716ba720c24f31b9c732c00ad0f1cd408b35b5eb6601a10014fb1a2
diff --git a/www-client/firefox/firefox-115.0.ebuild b/www-client/firefox/firefox-115.0.ebuild
new file mode 100644
index 000000000000..8ef9cf9c7a68
--- /dev/null
+++ b/www-client/firefox/firefox-115.0.ebuild
@@ -0,0 +1,1458 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-115-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=16
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+ llvm multiprocessing optfeature pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+SLOT="rapid"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack +jumbo-build libproxy lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
+IUSE+=" +telemetry valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ !www-client/firefox:esr
+ screencast? ( media-video/pipewire:= )
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/clang:16
+ sys-devel/llvm:16
+ clang? (
+ || (
+ sys-devel/lld:16
+ 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= )
+ valgrind? ( dev-util/valgrind )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+ local out
+
+ # Ensure ld output is in English.
+ local -x LC_ALL=C
+
+ # First check the linker directly.
+ out=$($(tc-getLD "$@") --version 2>&1)
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # Then see if they're selecting mold via compiler flags.
+ # Note: We're assuming they're using LDFLAGS to hold the
+ # options and not CFLAGS/CXXFLAGS.
+ local base="${T}/test-tc-linker"
+ cat <<-EOF > "${base}.c"
+ int main() { return 0; }
+ EOF
+ out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+ rm -f "${base}"*
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # No mold here!
+ return 1
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work
+ addpredict /dev/dri
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto && tc-ld-is-lld ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # May need a wider addpredict when using wayland+pgo.
+ addpredict /dev/dri
+
+ # Allow access to GPU during PGO run
+ local ati_cards mesa_cards nvidia_cards render_cards
+ shopt -s nullglob
+
+ ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if [[ -n "${ati_cards}" ]] ; then
+ addpredict "${ati_cards}"
+ fi
+
+ mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if [[ -n "${mesa_cards}" ]] ; then
+ addpredict "${mesa_cards}"
+ fi
+
+ nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+ if [[ -n "${nvidia_cards}" ]] ; then
+ addpredict "${nvidia_cards}"
+ fi
+
+ render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+ if [[ -n "${render_cards}" ]] ; then
+ addpredict "${render_cards}"
+ fi
+
+ shopt -u nullglob
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if use lto; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ if ! use ppc64; then
+ rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ elif use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly
+ # Can be removed once upstream enable it by default in the future.
+ use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+ mozconfig_use_enable valgrind
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-lto
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ elif tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ if use elibc_musl && use arm64 ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using musl/arm64' --disable-elf-hack
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ if use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ if use system-python-libs; then
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
+ else
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+ fi
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ if use valgrind; then
+ sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die
+ fi
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if tc-ld-is-mold && use lto; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information
+ local show_normandy_information
+ local show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla ${PN^} shortcut."
+ elog "If you still want to be able to select between running Mozilla ${PN^}"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+
+ elog
+ elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
+ elog "useragent checks. To temporarily fix this, enter about:config and modify "
+ elog "network.http.useragent.forceVersion preference to \"99\"."
+ elog "Or install an addon to change your useragent."
+ elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
+ elog
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+}