summaryrefslogtreecommitdiff
path: root/www-client
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-09-02 03:04:44 -0500
committerroot <root@alpha.trunkmasters.com>2026-09-02 03:04:44 -0500
commitdb7f283451256f94921bd723861f0e82ed7157f2 (patch)
tree938785cb5ae699af0bf0839b6e9c6a0eb776d6e0 /www-client
parent8d04041d08ac162ab85e05cce67bc70c471bcb33 (diff)
downloadbaldeagleos-repo-db7f283451256f94921bd723861f0e82ed7157f2.tar.gz
baldeagleos-repo-db7f283451256f94921bd723861f0e82ed7157f2.tar.xz
baldeagleos-repo-db7f283451256f94921bd723861f0e82ed7157f2.zip
Adding metadata
Diffstat (limited to 'www-client')
-rw-r--r--www-client/epiphany/epiphany-49.8.1.ebuild2
-rw-r--r--www-client/firefox-bin/Manifest99
-rw-r--r--www-client/firefox-bin/firefox-bin-155.0.ebuild359
-rw-r--r--www-client/firefox-l10n/Manifest100
-rw-r--r--www-client/firefox-l10n/firefox-l10n-155.0.ebuild186
-rw-r--r--www-client/firefox/Manifest4
-rw-r--r--www-client/firefox/files/gentoo-hwaccel-prefs.js-r49
-rw-r--r--www-client/firefox/firefox-155.0.ebuild1302
8 files changed, 2060 insertions, 1 deletions
diff --git a/www-client/epiphany/epiphany-49.8.1.ebuild b/www-client/epiphany/epiphany-49.8.1.ebuild
index 5536dfacc23f..074e08d88ab2 100644
--- a/www-client/epiphany/epiphany-49.8.1.ebuild
+++ b/www-client/epiphany/epiphany-49.8.1.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://apps.gnome.org/Epiphany/"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
IUSE="test selinux"
RESTRICT="!test? ( test )"
diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest
index 6f44d6acb8f9..5a156b0b3ec9 100644
--- a/www-client/firefox-bin/Manifest
+++ b/www-client/firefox-bin/Manifest
@@ -483,14 +483,113 @@ DIST firefox-154.0.1-vi.xpi 540663 BLAKE2B a93990d4b3413faa93dded8f83f898c76c713
DIST firefox-154.0.1-xh.xpi 355940 BLAKE2B d61c34558a6b1dd7f85187509d3a2f848c94b29e6b88f82363d8dacc07d28037bbd18092d2ec30ef9c13a6d35de15219d7679d8bb8751346ecbaa54cba4945f1 SHA512 4091f6f81b6a3c2d6d32b4f77235771a5ebd4ded9a772672072bf9ef399d7c48b8989ca9862a40eb899e109e664bf1a3c59585f8e7986c4f9ac79226ebdf524a
DIST firefox-154.0.1-zh-CN.xpi 526405 BLAKE2B bdf74a82a97838716fff7730dd197c94209394b9c10570673dd1fc0805feff04012c67634d63704c6d59683bbc054509021a2a1b6113022b9c0da22b296298bf SHA512 8a871554bdeb41d4fd6a3c9bdbd5f4e372482732f6ec9f6fd7518c036cb9709c8db437274ac810a4d39656dec1a71ffd18cb1e4420a273826aef2a6cfc7eadd8
DIST firefox-154.0.1-zh-TW.xpi 531900 BLAKE2B e2d8b8ddee8d23313c5e46925a140adc96728013fab929346c5dcacec6144493c8fb77d7f92b198d000640d85f468f88ce4ade2fad52549169f46f6d666b6876 SHA512 f8eb57a2d44ae3982665e973b30802f0d2fde5cfbc0a715ef8acf1f40e3c797538335f2cb1569d1286b9718db3376ec2a26ce11d226384a51c1b42fc01e89990
+DIST firefox-155.0-ach.xpi 368807 BLAKE2B 8d1f6af5034a7214d8bddc59360a297c2f6da320e2a35891182ce7c23361ff3307c4dfecc0ba336806fc0772bc86be5124e92b6bc8541756ce5a4931f7036748 SHA512 e386a08f858480fb1122a0d39a43b7a2e812614ea6da05b07d6611098469d649036df70efd8306d339de97671e69aa88f5b5dfa4b4a8d89547ec5e9c5261ea3f
+DIST firefox-155.0-af.xpi 355024 BLAKE2B 1bf0c0953888ea402fdd7c81026fe8628b38d0aa0a96641f6f2736c40c752ea36a7340e3efeb265ee7816edab800299e80c5130e153b2ad59940161ec3f48fd2 SHA512 be1d7e85e6189e6ff6738b7e084a6a4f8d70787277a9e2dd7688c1caa4d2815222ea229196298ecf823af2d97fdff6b1353c62916771e686f4b374d788e4412b
+DIST firefox-155.0-an.xpi 397598 BLAKE2B 153418e965ee0540c20e1729cd707a5dd622a7a6cdac3bd9a092ba561a36a0bd682509301df2916891c83117513e6f137ac21e9d9cee98007435882a3a957e9f SHA512 46b6212ab862fe7c0d1551c76533f9692a4a667a505c73b9bf1e5880f560d44f12c0b138032ab6bd26ed58b23f4ac3b7d9795a13e412ea900f2665fba85b5f98
+DIST firefox-155.0-ar.xpi 542873 BLAKE2B e0fc9ffd44f6b7c85f470dc801d2d92ac698b00114d9e7a462375d92de4ab22612c03f4cd7389d19f8e26d94d75befd7b97b04960e3770bf7794d620dd381bbb SHA512 c5b7d35676827e638923c420c12353b1259d9774ffd2a0965e60923ab949ed6e4512a2fe5fec7ff1af504d749ebeded29052047408429bf5d2b37d28594d08ed
+DIST firefox-155.0-ast.xpi 392620 BLAKE2B 13c68821b4a35a412ce3471493e252e7bb6651f1402ca79517a08f7414c0e3a81a5c229edb4108e6dce14b7b5954c2a3b8fa0bac6e1c31d896d4fd7e9cb81407 SHA512 43c59f4a615d1ded8bf36eea299b36d935eadaddbc437973aea40168bb2cda2079fef59f826deba211af3054c653d67dbf575832f3e9498d36002a816b6f3640
+DIST firefox-155.0-az.xpi 409281 BLAKE2B d7ef955dd7aad7ea719503d9567ccb340a6cc4a95fa91202a9b35d0c498c2ffe923aa182fecade4526bfe62223df6450b55ee3b5117701fd5089fa652c8f0480 SHA512 63f0339d71768a1ef1c503ba6b1050c2910196b0cd245406c9a97fdd6a1dd42128f16dacbcb2941ccc10a6df0c548b64a35507cb42046983dba938fe73f9e173
+DIST firefox-155.0-be.xpi 609739 BLAKE2B 57785f6a988d9d9a5702f9286efeed0718c54a40bc8adf378e0f096d0900431e6c8f34b8251d97a0505a56f68457bc66b1f92e34b06e8b2f0bab1b325d4244b1 SHA512 205ec42c86758f854cf4f647a09bb46e43a8992b0109f1ce9defaf710485bb9e4e75f697a60cf7686a92c0d62ab18d0cf63dd8b2a62b991b985b7351d0f85aa8
+DIST firefox-155.0-bg.xpi 519541 BLAKE2B 2e609319923567ce4273d6b8916af918228b44aea73af2e058675c16a35820089cca9eb59642ced47ce5a46517d47a3849f5b48024071b066eead961707a83af SHA512 d3e534c4706c33a45237df3a346979e72845077a3e10b182918e92e4a2a6287490c7fa9a2b081da95ac1a84c3e4ecab5489c764e64a759463ea264beb306df79
+DIST firefox-155.0-bn.xpi 468735 BLAKE2B 930f081d9ba9e400080abedf777e099f4776e5d70c6f8c218df6d7b448d1986b78de6b42d9b35d15493d780728e739197ff7d62c93dcbae50a70419918590161 SHA512 892d95214b7ce307cb82ce23d4548df1627a8f530c6a2d29662acfce50dfbc222e9e856616a717dcf57563a436f38fb21dc7a43f8b6da7b2aee6c99ffe532f33
+DIST firefox-155.0-br.xpi 440681 BLAKE2B c8750fd96eedad6d714a6fae72179b18b09401980e6cd6894ac84946ad65c654bcd9fe8a7df3c5db3891ea714413c93b4cffc692712abe46897515d2b8ce0c24 SHA512 3fb717a48a533f440a8f1ed869c3e75fb67be95a24d2f62337bccfe73114e7079a5c68d483cfcda8701270b28104ec761b04d0dc6e7da87d8261efb91ac970f5
+DIST firefox-155.0-bs.xpi 474875 BLAKE2B a63a83b1ff3e840b37a67b2b2b9dfd5d7e3126d71d7d1c8196ed85e652ec21ad630a3459d8a3eae428df62b6abb6e98b9b637db755b93ed439c8f32094e144c7 SHA512 b23096deba665c6c8ef490dafe69474b090436cfacd227f8abcf4fee5b060d72986a901db9b22e6e9a46cba731a50b229b559bead1ca3e9f3cc0056584ec8c17
+DIST firefox-155.0-ca-valencia.xpi 418282 BLAKE2B 6e90355eb1bfb13e7f9d52841ca57926a52204d5fc310a3b2ec15acb566231a7e7f0baae83714baf16e47a0aecded2ca6bfa89a0087a204297dec48b1a9d6bf4 SHA512 90df42f4d49a00644c035ca62bedf81942212892f23fd865bf51f2c2c351d3265625f0edf30a051468cb20f4a9cd63c4966baa211689bec29a6837ec5a9278dd
+DIST firefox-155.0-ca.xpi 495079 BLAKE2B 8a3fcc49acd8b7096d307c632f87ac650b007708c4a97e18a968341a741e4b56e9e8569846b647ae127d6963535e719d32935c8e7b2973e7d2173db52383ebe4 SHA512 f97825c2b72afba82616f1289d3dc3f21aaca2ef90fd1a5bc6f7a2fdbb6af42f12af1d7c2523426f5598f28daa6ef2f81ab0a8a210ae2fdb53832147e45434d5
+DIST firefox-155.0-cak.xpi 442902 BLAKE2B 7009e217f3989eee806391644f5dc3a0b701344312d2c0e76d45ffe41b68653cdfb3364f303e1f0fbd4ec4c313125415b5a9f8874597f6c7f19aa383b45e5bee SHA512 5ca0771c047410e80df2a3105bab14916dfd69eb66f27a87ee8fab66bceafa01155a518424599f1397bba6931ed00d5a503881bef765a4658703b1371d7f6a04
+DIST firefox-155.0-cs.xpi 558433 BLAKE2B 9c5bfbe06437ac3ca4208e716aff1268a14a944c58fd78d0a6dec30150a8535f9004ca6351a807dcb3032691112a84e5b69ad9e4ba5f6a4761d54ea236adc640 SHA512 df4dda75053cb5f6cce277112f09dce2c3d07f0c931873682d6c11df1491035758df4e96c6d536d6955232e45f0c394ef320a958c6d625397948247319f21c42
+DIST firefox-155.0-cy.xpi 516194 BLAKE2B dc4bbd076e9b4096e3b6bdabe1d7def09b436f80107329ae1c49c7950dc54f44df87db73a6fcffbba049fac10dd4293130b4ba5aa154a27ddca6b10e45569a4b SHA512 e43a12be1b40153fd10ffbbd36cfe2967195370767800053f946a4df58a2488650ac98ef19765f8f2bd4c32ae269b2c215187fdf86d9d65fb5e2c41b50f46269
+DIST firefox-155.0-da.xpi 486702 BLAKE2B 7db5c4f00de72fc8da5a14366ec087e6a7a9e4eff064b40615689a26312c8183a56788770e265ed4bd7deec7f0f5e6617c9bb815c407fc44593637613459fe2b SHA512 2c73bff7936bbc90fdca9ac57a6a8567fb8ca151dc9ef251cb2f82030c262b7927d519f898721385baba5e7830fa762dc497795f819d5e37ab3761a8f7240555
+DIST firefox-155.0-de.xpi 527879 BLAKE2B 72aa431f71fc848e68702559d477669a32c8ad152e8e8a5651fe42045b8b3b8097e714c530abf516963ddf7de5274ed32943c0e35e16f1e394d9b70e2c92df4e SHA512 f007fa8cfe27835602f5e896b10c6ae251cc6c0078db6097385bd06aeb596b1bb62499082fa1ed4d63ef07a786393f70b4bfae530f85765d435a6a832774b0f3
+DIST firefox-155.0-dsb.xpi 543089 BLAKE2B d48f94819f16cd2eced1236af83f2332e2b9ec632af5dc390db4b24f0cdeed5d0e627250464c38586febf95d2ebd61c0392bfefd4aa9ffc5485c01f42bb690f0 SHA512 efdf2f0ac37b2ca5e2527774e674172998124b441f39f44d97ab4029ce3e2e38a1fe862a8ad585e2f3e0947a2e1989ea263a9b44a676ffa4c7110bca07dcefaa
+DIST firefox-155.0-el.xpi 626355 BLAKE2B e7f598a4f170357046bd3181b4d253861ed85bae11a625e5f9551f355a85086d334e975197316319416e784eb35364c5942a638fb978503ce0e70e18365d95d1 SHA512 c280589535f114ad0d680790ff4ee9cf40aff416c8f2aa2f6559ec0e57be9ea0b742116fccdc087847113d88a0c335891afa36962b5d1dc8502497aa28774d25
+DIST firefox-155.0-en-CA.xpi 476318 BLAKE2B 4dc7f53e4ea90fa601ffaff9190d8fa3aab73c1fa2aac18372357fea53155ffb56ea889dd08e03bad32d0933837783558f301024ce633c1d55b35ba119ec3bad SHA512 07ddd5aa3b4898132f38a5cfffbcb4636d6b8c38642e2f6e0b48a2efc800a7668e933f8941aa0dbc9dfa8502fa654654382612766571729aa7fa46d3229ad4be
+DIST firefox-155.0-en-GB.xpi 476585 BLAKE2B c605d24476382ddcf50455565a41133b00de1b094288ce43aa9e9a0294a6514c73d3d9a57cdabc8e02daaf1d9eb4058bb8b71729608faa0851a73044b189062f SHA512 2c123a46cfc67f4c27e136c6fcb8b2b03e3a1fe33694b2d2e42c21ea267c210167129fc5c4baa98dc3e3f9ff3966b386b373d864b8f0ba511be4afec153010f6
+DIST firefox-155.0-eo.xpi 504062 BLAKE2B c05f6555803e30e8a914a5e4f8920f8334be97dd8300b6ff7082b2b68b65de8944693bfdb8ddcdd3254ef31ec4c9c35fbe30f7d27fac460e2aa1e9615ee23e9a SHA512 838c2ba1c10194c6cf52f4501e10600c76a212e29dc8f79d752a94b8ff77e11a965990370edacaf92b47c231f12785f4d479338634e7f1b2366e093f2af0eb2f
+DIST firefox-155.0-es-AR.xpi 517156 BLAKE2B 28186b8a308f742020680894da97add8e0414be831d9ddc5e1ad8c0b5e73b1ad6d51106fb17e070e20cb62dd221db9d5f415a2493bd6ad1d9e792a4f544a7fbe SHA512 51c9532dc5517b4519c19c8fffde274c4feb4ab69f119d2619537ee26c88070b6ad5e591eb0ba2e8dff215ca6009388d45ca122262f4d6c2045668492372d705
+DIST firefox-155.0-es-CL.xpi 519475 BLAKE2B 1a9a61f334723e44ae2c78a7d0e633faff5f698210b9ee018f76c354bfa687b2163fb26bcd4103f81d926deb3be2c18c3306c479c8efc9af4907d8484b237f9f SHA512 595b3fdc6cfb84804c726bd3c6092be5586d84975b5d73c88d80065976ee19b6a4c907d0db82f332cb9776a0b9027a9b3072a9324bd8538292377f5ecb151a37
+DIST firefox-155.0-es-ES.xpi 507869 BLAKE2B add5ba9d0e2ae6f338033bfc34e04819849adab58c725fb5129838c9418d221b014b8d6de2f518d4887e56d0814498dee7fed46ce0f4db5edbeedecf119eb95a SHA512 4b2c39022c2ed16b0c773f1b8899e68299e7adc245e25e7dc58e90120d490d3aafacbe9cc40fb5bd57414abc131e6b1112497cc9d9a3d91a8ed33097bd4c3862
+DIST firefox-155.0-es-MX.xpi 518851 BLAKE2B e1832d01755120d8d07270c757389cfd0ff16fee2198a9478d00dd42c554fa35b0157883ac1fc5c9137178ac7450b27965c1ced9a4bb5fb032993482f325c588 SHA512 a64f5127415f3762ce1c8515f4048207d811eb8879987700a9d4e6995ee62650230cf43d101ee453063b5dab22fa5e9faebc555f3c23f7c2856dd7a248e1ba1c
+DIST firefox-155.0-et.xpi 407806 BLAKE2B 13e9070e99f7c60075fd47fd64b679384a5430d26a403230dd008880cadc2c07c6842ea3bd6a5645ec629e118bcdcb3594c9f76a1c3fbf06da94c58fe277dcaa SHA512 275966b7dbfb11b9f0f0aff812ef10c0a13ba446fc980481663039f70e00fddcf06cff5b31cd444181995c052a463fd8e9ca9e59ce6d03bfee498307a44c0669
+DIST firefox-155.0-eu.xpi 502190 BLAKE2B d91aaffd45cafcd0d4d33acae448d1d0a4919126151189e67ad336fc7c37cb2bddfdc24d456f8c99faecf7a236278d3d0b806f37a87fa755db2a8708f571082d SHA512 1df74305de84090ee9c16b714c90c32cd5d922aa970675ae2845bd08a151c9714c991ff13c11b962cd6f4addc42d81f4ab4eb67de2550c2d72e6cd76725b30f7
+DIST firefox-155.0-fa.xpi 475293 BLAKE2B a92e041a27c95b0bf2fb916826e368be111dae0aa79ad76bcbcedb54b2d47db89b46a1ff7645199289da53b87f14eb42b1810810fb0846606b9b0103fe40360d SHA512 5e8028a872301677d0eea12e5a42f227345ffcffd85765a209be48443a621638f5a302b2661aa927d1155f6c7339e59065239d8b5de109c2cf7268fd197fe99c
+DIST firefox-155.0-ff.xpi 380393 BLAKE2B 3586fbafd70288914c1f33a89c74eeb40359fc6f249e2907f9b8263b8d466cf4e36687a5a2d7ccbcc1b17df551961ae01d133da399631c9ca9cc50f5a2fc051c SHA512 65b13572e8c6b10501a36ab042022b2a6b811c919ba6942b083bdd4d3f971c327c31117543b4c156d7a7e69fcaf1c3beca651005962b29e73552d48263a28f85
+DIST firefox-155.0-fi.xpi 506345 BLAKE2B bfa48f168f80d91017686a8265fc189201f9675952f967ce1baba8d8403d2400f4987fee80c3fe4c045b643db168d463dd61e40f43a6dfdae0eba86f35b5f1ec SHA512 7b9bc935c07403d453f7c7cbf1815431e0630bf9a7d3d4d589e22bee9e571734ff867c794ad1197d04284ce778301abd549cdf6f605af90def92fd132f8a7973
+DIST firefox-155.0-fr.xpi 534216 BLAKE2B b50d51f3b0dcbd6f705b4631856045ddb8afa02224ad3d60e7335ae847d36f184bd58c19ce69b791fef24dc5cefd0c180044c27f594d4eec7d20ca37054249fd SHA512 fb92ce5cd60e185b9b7d16aa8e989b7254cd616c96bad32e371a0c2f848ff27670eb9385ae6c8755bb7adba99167ba9f4771ccfd1912936eeabc018c2416101a
+DIST firefox-155.0-fy-NL.xpi 513664 BLAKE2B 8640179e1745e11f155b65d5cd3005602d88788dd07457cddf53985239186cc3bc56fdcf9fcf12cc42b343356ae3a984bc8fd985c77ba5f9b1656e4a886f84c1 SHA512 54afd7f98d7a7bd6980059888a38def2dea4050f640436c8c477e4ff5264508f7c56de849b40acfc77412bab0b0d5d0875e13af2c2efa7f5361d0fea486a2a3e
+DIST firefox-155.0-ga-IE.xpi 392188 BLAKE2B 38881b5cbb0d26146deda48995dc76098e87b01f52cfe6070f5460f53f9cc2d87e08ec889fee0201799fafac34b520202ab20ae9cf4248810a40150dd7c141b6 SHA512 aa653a19197072edc9841c6c34349fffa816ba8aa7df980053c7970ee8b940df4135e42a057cd7889b86d52e502a88642b22bc5428d02e2cf8f5e941e5d55d83
+DIST firefox-155.0-gd.xpi 449337 BLAKE2B ba3bc5aed78ec1fa525a8a63b5ae3b2d0ab72760c73fc141e80e62de94eb3e86b015b85bed8baa9562c33c58c02e7e23d15156fe5a2de18475677904c9c73236 SHA512 6d4dc5f1603031c4e7a7969d49796c290663f6d370a6b66f928c3b4664251891f94e028d7aa2f018a8ddbbdf58f0d6c76749cb5d603446d85dc795d6c2bf0819
+DIST firefox-155.0-gl.xpi 471209 BLAKE2B 609d3d62543a15bf94ae41d37436711ca62e6cf5193bf632ea1b6ee5a2da6eece15aca3bba18fcfc03f68ff3a6bed05988369f0a040ee221ecacedaf64621614 SHA512 4aac0dad37379abced8f2fc738a5d0319305b36e197cd3c9d52679cc6764737a0199d31e5919e29cdbd263d1791aea5f4d400333a94eddaf962738d00fe51d12
+DIST firefox-155.0-gn.xpi 522368 BLAKE2B 72182fa18a04c18d71477bacba1d16fd07e5acd9af46bf47742230934e2f0a2ffd39984de896409a4d227a698137efe36a9d4cc5f9df19193938eea4d095bca1 SHA512 8d98a4872ac3a0c6fd9e6ab8da03e85ed7619d1ae3156fbef2d89955329bf5d1617fc6cdfc5559e8aca8b168299b0f30267a669ac3aeaba1c0f886473c045596
+DIST firefox-155.0-gu-IN.xpi 427703 BLAKE2B 6bb8612569a4c1a41442dc9dd07ba04c0d9a8797061625975b5d81d696f999df15d5b98d971abfb88a10b9695cffe23811500bc3488408b7e4be8dfab407c76e SHA512 522ee01b22567a93adbfc6fb677ac08c6d1a0f6243b4acd959118011cc5b0ec2cdb11dcc0bfa1b925b39efb4025986f21ab852767db8cd3f0c3736e0caf934b3
+DIST firefox-155.0-he.xpi 530658 BLAKE2B 63b535e2223a3eb9553cbc1b1b7664d841c9f84cf42ed48e9cc57d25dba55ae78a6921d4198757478869f1477782973e63258934e32f343cbe25614bd751ae55 SHA512 815a49786f711cbafb8e4ecb8bc05c2ba0ea6c8099d3a561c70959188b5ca61f1d33a00e8538c24f57d550a15a281437b8143324a6a34afdb51b94b7356acda2
+DIST firefox-155.0-hi-IN.xpi 442110 BLAKE2B ded75ac382471b4a8daf98945496c90e9a404e6580f38d374cb4f8d574922cda51277964a487a8d693ff9d5c698b239d51b59fbce96f2cc34011e63ff04cce11 SHA512 27588052c2a5d651556d7cb13a8295f741a576d822029dca765e2af0191b636deebbd3bfa90752cd51e6a37e13c057232157ea9c3f0dbbc536066bc2f2ef767e
+DIST firefox-155.0-hr.xpi 497555 BLAKE2B 0bfd2eafe0e939c6eb41b56822752d93b6f6b2010a64aa8fc747fd43134f5a87a3a96952f9c3872fc32bfbd8ec7fbb768eef200fb490ab6ed6c5004aa8a3f645 SHA512 f27284d85e159df8a7016ae0272cf430e9a4e24ff082f39cfd838aabb33ab57218f28332ba1adcc7f00ed4e1196ba1ef9b6f94827d7ff4d6db2d6df7fe1a4dab
+DIST firefox-155.0-hsb.xpi 539534 BLAKE2B a71aa5946b5fbbc5fd4ec6656c22f828873efd1f56014bc2ff31e3577bb174d9eae873bcc13b3de4ef7adf152b660c32f67d14c7dbb283ab86cd882af6caff5c SHA512 11f71973dfec5643a0f23385b65e16e27226ca774300f13475fa68fd35f24a1cb900d3bc183bf2a759f89a56e2864f164ea51cbc479e636f02d144c7ef7d2a8d
+DIST firefox-155.0-hu.xpi 543713 BLAKE2B f870763494803e716c9a11495da2fa452dd31a0558b27cdd82d6cade5db0ca94f1413f58ccab9084699ea7865773de354bb5fad340459495abef4ed93143ae69 SHA512 8f64cc4a79175cc59050c40fdc97b04e6a192a200a80ac61f1c784b8bfe79634f862f4e7f49794d4c6db33ce24105d9db9beeb0f955aa3878a0aa101a60d745d
+DIST firefox-155.0-hy-AM.xpi 543644 BLAKE2B c5d9cd9df6f1b71a74be77158a08b5dda655c88bb7d3d42989b9a7b464ecab2e4aeb2cfac670fe661425a00db17cb340890b23f09ca869b3a1fac3b8c2e1c2c1 SHA512 23b22596bad50e9bd5984b514566b68b46c3dc7d239748c13f269c3e4130fa5131be92b65d9f2fceb0cfae9c5be8e8599198dcd24facc314dd96601bfed55968
+DIST firefox-155.0-ia.xpi 499985 BLAKE2B 2d7d7550ad9f7cacd8f6dc99a8d0e2784b56bdbaf3aeff2236c58f098c1911652d8fa3971bd9372ccb78d5643719e1decac5c75af6dba63d12c0b569814d6b33 SHA512 610112101560551aaa638035580965c3ff5015301db92a7279ebf1cd590de4a1847d979dc190693520a9e581b125eeb8e06724a880e5e9c35c0a6c78e1faa206
+DIST firefox-155.0-id.xpi 460072 BLAKE2B 7a950e5fb84bf983c0468dba82089699bae358a5739fc944813603cc7fdcbf2e56686e40d42198c1986fd3ca9ca4a3d98a9d1a4e505c7929f606c2fa77676dff SHA512 95059e4aed3fe1c73330469bdb6aa8f9658413553b445dbecb85311319b8695ab2bb6a55d130c7571326bb04ce9be7159c8c4b93464fb05798cf0dfabe8fa086
+DIST firefox-155.0-is.xpi 474711 BLAKE2B a83440c3269695121fca74d489658cf5747ef69ba27154b68c80c11e40a9f779fb319ebc3c707bc8340eb4ee5178fb29fca6a9cabd6db0511fe48d71fc64687e SHA512 1bae1156a9d00a9b175466289f8056f7e7c1ce68af82c885ae9a979ede366925ea1b4abb535f3ea42a5c6d035a6bb7722501b4d62b4f5deb32aee263cd303187
+DIST firefox-155.0-it.xpi 513126 BLAKE2B 954cc7a940a0afee8c14de1d8606eb0b6fbc3fc2085850549fa00190c052abdb388a348301f3fe4508ac320ed5e29da97d0f8ceae801c027d049a6bc4a16937e SHA512 0ead0485b7e155b7c9f9e2b69e65f4fb2ce9e395451d82aca2b68a9758ec4e72fbb286d23d42d9410e19683f26d63b4cf0521a03b2ec5ec6b173d5d897204f69
+DIST firefox-155.0-ja.xpi 559448 BLAKE2B 54f23fab0ed8e17ed53118a570f17b7feb269c8b51059d598a6b28beee7a360bee3ba34306c32d84ac93f32875c975417a1b7fe869a21669ba20835b7dc8e36e SHA512 0ef4f05ae095acce8ed27e8531111d6bd4af9a2da0902cc5dcbdc9fe2e66b520a62c5f1c5c156db45764c9a546b842fd802c67541577dca3f2cda67aa0a80050
+DIST firefox-155.0-ka.xpi 573906 BLAKE2B dd0ce0790cee79ff52794e431929a535b7a4431e7b330042b72141de9bd4b4f73af536559b4a0266d528725d27ae2edf2968ae4bb2037beeddfb98a63a536eb5 SHA512 786664d11c04c05244cf0aa861cb4cbfb63ad17739f74c910f54a36ae3fc8fdc16387a28961153aa4c525b7c15710fdd882436c4055ce813d2467ac7a45785a6
+DIST firefox-155.0-kab.xpi 460721 BLAKE2B c0f3f74d2be70b8a740c7bad838f5b5727fca43c69c96483ed5188647dcab859b545c83bd91112896643488d35e131489ac6ce5acbbc82196b77e28739ce356d SHA512 129b9408e05bc5a897ab417a1e0d84daaba426f4994aa8f7aaca97a6780ddc178605294b2ce1e1bf32b878a754553109de33a5f02c3799f8c9eae2c34c724944
+DIST firefox-155.0-kk.xpi 600417 BLAKE2B 2554f4617c15c7453773cee3e1ba0a1c658bb68d8212e9f8ccf7078184bcba4ef0a1d9db289dce691599fa70524db566e8b76fce5cec8e4d65515f92e3b8aa51 SHA512 ccd70faf7b77650689e5f9c8bb4289e3c685def843f9c8873f22f7c056dd957f094e1a032ae3edcdcf1271a4c69cdf36061fa3a2d4ae2a6a1d4aff6a69e360ee
+DIST firefox-155.0-km.xpi 446361 BLAKE2B 603b6251bf5cc83c3036b247bdcf1eef8dde12d28ddf6eb2d93ff0d0cca10a8bcc7603acdb57a8363af62e8aa74b8fdc9f901563566e660194ba76653bca716a SHA512 4d02901ecd9eae059c9af3edd98192959c9487af133f51139e5556d19380d098fdaf5136117c007b62f05a0878a334dd59d25600e9301f09aac5b794e58de114
+DIST firefox-155.0-kn.xpi 410470 BLAKE2B 8019b696d596113aee6e4887243602148ff38f976aa553d33c364ceefb7ef5374fe32572b601d9d3d6dc3d1bc2da28e5d28eaf690a5cb713abbc65e4922619d3 SHA512 f552d9fc7987a3dec6249ced422a944084cf5478c9279779bcd4841a91e305b6996abd8538bb47d22403df49844be2406e866bf5585b877677fcc164fd2bb644
+DIST firefox-155.0-ko.xpi 542901 BLAKE2B 31c3c249387f59c70cc079a80d07296fe00f24a4ca5b25454fb6cd03b9e8084a3bd8b5f63c683f77d1f38c8a11bba3c58e34de0c0bcaa3bb9854ca4db57e8330 SHA512 8d9ba8b452e9d707b26e01d24652d0fbaad139c00f4cc3779c3c448c97981b2a6d795c60b7cac96ea4889cfa73eb09248ab588e2ed2eb638ff71b26006717ee6
+DIST firefox-155.0-lij.xpi 389005 BLAKE2B adeb08adde17aeb441222bd683c5f3e62ba866a9fb05f12962da440416c9ea4744f5c752ccbece1621fcb1d657534cef749730aaa463dcc104cf70de9d26a13c SHA512 2090bd90dad62baa8e20603ea6721a130d1dd38d24cd249859a06b6d80ba06ad3d20c046c5f5193ac1e2b88341dd948549ffd404d10c07b6186c4e2b03af0d83
+DIST firefox-155.0-lt.xpi 429519 BLAKE2B 8056d49166bc31d4b3a33f814ccb79cf030dd618eaca6e41dcde5de9061acf64c6d497317e68a3346c592b240abeceb2a7d3d67b2ff11495365bf34f2b708773 SHA512 81daaec43fcf5e3c8171214ffbd8ed01f7544bac635e6110d9ba6381714ca4cdeea96a2e6af5e82c2af20160dcd14d377325ce4f00769105626b7ae40444c7f7
+DIST firefox-155.0-lv.xpi 454321 BLAKE2B 4774b30c853d28ffabb44bfbe6e39d885b55dfcbcbdfa16545bfdc0d9e6f0c5586010da6b13ba57ca7e07f19bb90382d89d17e46959e71a53cf39272142b9af3 SHA512 b911a1b5f24da496656fb6a5b58960558ac8fbbe58008ecc83eed5be603698c242a29c437781573c58b43422869a073b9d8c2932a6223ea8672ff46359ad3321
+DIST firefox-155.0-mk.xpi 439023 BLAKE2B 8e986b890639af366038c3759c6b45610066d811b7961b6652ebe71f4c4b5b551b90d41f4b02d838e7ad7ff49fc667841774839cf25396f7c10ad77edcf6fca9 SHA512 e91d12a6ed3097d2fdd688ee69c46873f42ee7e4f93310ff00c0a9c94d0420ef82697ae6e125376a9cd6ce2f04827d973483421e8f5fff7e5d4bd9e909a18eb9
+DIST firefox-155.0-mr.xpi 425227 BLAKE2B 3323cb0fcc5ced1986049558e3810a5e489dc68509110b35236bf6c7911629eed62172b89ce06ec87af6d66d0ea7f81a97b8acc094e1f383997e064689b741ed SHA512 a23876eeaa82430b28b30b6255d4ee1caef21e7e0d2f5dbe2820b5f044215ff84a29fcdd049900a8dc1f331d58b3bc5d1de1abcc068c9ebb715bc16c99a69ac4
+DIST firefox-155.0-ms.xpi 387477 BLAKE2B 9f596ceae4f60f5ffc37221e77a639343ca4d8b50e212a9b6dbdc293498337d60b9b073377cae1af5bfcdf7692545422926187f3d4412288a56fc31dd4318c0f SHA512 c9a278d251fa86d570064f0344a1a8c09d0327f760e2a0ea583bf860a06b65a4526aa72e55ea0b62eff9349fc2e08f75cd6e62555001959d633deff2175bac85
+DIST firefox-155.0-my.xpi 421863 BLAKE2B 6bcd7625971696a23352477e59a70af406055b26951cbd198daaa5d253636e321e736e7e57056f1bb08b617942407cdf8e918fb72afa5e6478da91a202a547b2 SHA512 60262bf437b4f56ffe83e0ed1cec69cde783b018d146dfe642d3cc5a1620a741aff5eed518988b8131dbaa1acfaa6b0a40225e2ea028f44bbf224ab22ef7f96d
+DIST firefox-155.0-nb-NO.xpi 498889 BLAKE2B 3d977c68b45c55ad05f87b08e7e1f43971f6859fca95750d150460d5fa095e9c04bf206b8967de600872fa946505a30a0959e6d80dbc187cc8cb77f0650ae3bb SHA512 f16316d5640ac487a645c2985fcf3562ceeec395b9a1ca37dbf134de4a56db176c4a5faae53d31e43310c90726c1f6cad772ee9a6e169b2c98f991d4de959388
+DIST firefox-155.0-ne-NP.xpi 422985 BLAKE2B 69b33902834c32889dc54b01984dbe7586078f584e56cac57efdea8499f9ac901f86ff95d00461c0c87f24c07257b460a8aab90ee631d09ba09687bda8e373f7 SHA512 f60af0e9ed43f70e38bb6333c8c321f2dbe7bc219f31c1d7b40ea909d747a1b6e13e9af0ee91cdfa57f0268346480403490fa6687b5f2c65c89da17ba7d10db5
+DIST firefox-155.0-nl.xpi 507275 BLAKE2B 0983de633de434d65e8d26a5e6e4d5472fb8d56c8984e1143fc2f02672dc6dd7b9d5181c64a0627ca4f0b051ced799bf545e6e84a0665d65d3607876cdc752ae SHA512 e2cd7dbc70ebc5d31943c74dc2430e97da2830b7851903917f0d5b4f774b93636f90f68e0ff4010ac65f0134b2ebb38df8791f97f95dab43a636f86b514de7a3
+DIST firefox-155.0-nn-NO.xpi 502645 BLAKE2B bb294123269634e407384f0d85ae310f2dba9c29b794b58aa91f56a3f5fe9f22cb5c1cbb6ef4342e875ea327705dee6346bb1c062e3daa0d520a75ef8f991d91 SHA512 c3c397e009c69042e407cc5d9a23a7bebffa9379e6c89d12563da7c87c7e088c6696d7cbb172e4ab18a1e39217602c5e8c0a3ed0c71ec5a3cdb5cd05f54bef39
+DIST firefox-155.0-oc.xpi 452747 BLAKE2B 36b9365e61c748c2b1d2d3810bc871800fc70fcac3d34de66195ecfc96e8f2b6bd06d37628f1ee3b62b009852a0d618b606c52b7a1fba90b217de4fce6ec46dd SHA512 d697af689526175fb49a5ffb6486448d0bda005c7e24ed1912924b5e28953d6329c6f8b435eedd643b078573150dc2f68361d1ff2f2548c1216aa4a2236fa3f6
+DIST firefox-155.0-pa-IN.xpi 593151 BLAKE2B 7e23581408419f198960b8c4e598c18f27deecd16817db824d628165a3239b1e0598e98e6aaddc40a945486b1aa4fed7dad687449bf398c8c7d324b771c214cb SHA512 20a17439dca27507b3a0ce8f3b1b80552d6c846284494645227cd983c2e426b7fc70c29fdfc66ca9a99cf9ac1246abddef42ea2ff2a68a9e80a058e7042cca4d
+DIST firefox-155.0-pl.xpi 540942 BLAKE2B 6cbe64434467c01cb061c9b6fc680333ad14ab18e147b5f8f04b705d6acdaf767a79580d94f85694fc30688874d391ecb364c108aece24febd8b55ea64f61a44 SHA512 6948cdef0b0474d0609e0e749e799d52023f07711eb0c04940f73796bf7db88346a279b2605f8036e64f82fbfb0fcf7bed8218c7249d44b861e88ffab439002d
+DIST firefox-155.0-pt-BR.xpi 512175 BLAKE2B e56d13471a230eccab57a84ae879e03e037120af21aa083c4f8450474e95b82efaee009f34260314618f81c4c37cbc6f2f897d2eedc24175557b72013d5987bd SHA512 4e1d2c203f0d04f3bdc3a71a592b4e47e3cbffed0eec521aebb8773162d58035dd113113d66ca562302342a54d5719942c03b50a6199e149957d31638b9b1886
+DIST firefox-155.0-pt-PT.xpi 500964 BLAKE2B 8a08b84b2d08ce626bffd5742bacf7435dca9baf0a02136ab638f682c66226ef91958c21a55496826ac59574282ed58f3a56a3a74353aaa10f7dc3b8407a6042 SHA512 9c623f4290cbdc1f99a28cdf0d45392ff181760d85968b65a0e0582d2be1bc250e6be6fe50bd1665740c6e0ebfab262d4f25640b524485f69aa15244e9efc466
+DIST firefox-155.0-rm.xpi 479746 BLAKE2B 149b26e70de823c37710f5b3862627c2957aadbdcf1aada79bf62d895c0a555bf838fcf7f8db5c7c58ef4d402e79e844384057ce1d0a603973453fb46bb9d2ee SHA512 7de17e746d24b8bfc2be79f6320e4986bd1e9a490197d3a0d2ef9a17d15f991a07cd601ac41c09a93f32044c3799cbc633a911cb973103969d48da5ee65de6ea
+DIST firefox-155.0-ro.xpi 527237 BLAKE2B fe55ef7ba5a1ed57ff7f01da1d400f2667d0769394f359920d4f4ed68dcd62d43716a8641889470b04292b4799b32c0d4fc265bde2815469d3b11ec8efce4fe0 SHA512 2956f09cbb2aacacffcd967e17457fd9d14533f59bf71e19023aa93dc8618686ad38c417cc7385fd642a0ca9c83cba83efdd874d6be5cb80619330ee5d902905
+DIST firefox-155.0-ru.xpi 613671 BLAKE2B 6281724b6dc6a855079796c576efb36b31b6c12b55df26eb1cc4516430a9237fb905ea9ee453585178d69a6806edd64a098e2620f3aeee472638346376141f5e SHA512 453662b91ab009ff78603cf26d7c373ab4c894fd2b5511708f32ba5896da5a2ab81c27f3fa2d0f0b4d1de0d13dde7d11ed282988e724674c974a75b76d0bac04
+DIST firefox-155.0-sco.xpi 392450 BLAKE2B 9d499225ff021cd25b2886799cd8a9cdf38e54ad2b84b005d7427521d114b0bf10feba50dd924d0e32ca3abc3c2535405e880c2ad40089786bdb0a1433165ef5 SHA512 c0eeeb13ce5dcbbbd93aec50c365cf4d386a2b6e193bc0d48763eece9afadf536425c0d3cbceaaaa0ad4eae9322926cfb6b9ad3783ebae78b683c19bdfec8873
+DIST firefox-155.0-si.xpi 470277 BLAKE2B 1e9fe89a18a50e8b7a1d00614ecc2d3b1f9aae6c53c29800505f183acdff09393cb684962859c7237c1f27718d4af89b9e782cff590b8e74920d38256b1bc78e SHA512 f92fbe32f8cc879e4757ae62032671b6ab32369b01c2f15c637caa1176516dc5f4c19b87828926ca77e4f523676fd0dc9c5fa98a34e9fb38f9151666d713321a
+DIST firefox-155.0-sk.xpi 547691 BLAKE2B 47388cfc359e36078f8a4599f1f0f0421a1cb2a1ef035e9464f9866522861b32357404cb38b2880773dddce59800e107a0dc4befa161520a0cae1aafd5cc1339 SHA512 ad23babe5bf48f58c0d1eb94675052a26773e2b4428a5943c4a7306754258b9ff976f29d52dd67648353ea19cf4aac3fd8256943e97defcbaeb7aed2de6f0d8e
+DIST firefox-155.0-skr.xpi 517463 BLAKE2B 48cb4d8bb6c850057195bc704112dbf42b82d71c03408a5f1682d36e5f5a7b2929a387c82df0e402312f5375f616fa08035652300560b180d9e5ea797cd025c2 SHA512 20a8fa7198794a786e32294348956f7ca9ad0f1e19dbf7089b5dd085b615e8350dd36e59d0b8c52dd317fad0808f9b7a7e1638e3d09c8ab2ccc860d5fc65090c
+DIST firefox-155.0-sl.xpi 511796 BLAKE2B d45fb6a0faac22be2f5a4aa52ae6642d5a9097f31320b336c3288aeffb2cd9197c52e2b623d29bc406a14b7b3cd28d66c3a7af8bacfb46619e388562f312a5e3 SHA512 646ce780c412065d721b4574ccdce475b217630e47dcee2748bc25a40b689eb2e1b0a19c58a4a4f91c6a7a967ca0f351d044ecf8be3e91d9b0db2a3c2f6f4a5b
+DIST firefox-155.0-son.xpi 354596 BLAKE2B c254838efea7e6649522245d3cd3fbee2f3e3290f06bb5bf07319d9eb5740bc806aa9b1fda07fc267a6bf9ae096b56b8b48e74f326041181465959c1905baaed SHA512 15e143878804cc6330fc43390fb53aef7211b9bf7365e1383775bc04e65b3e57b5f70585359c63cf06c3ad325c3ee9bbcbcc27a6f43786995d83607d7ecf5524
+DIST firefox-155.0-sq.xpi 508078 BLAKE2B bd927c62f8f67ec37f8ac645929a1341ac3d76cf30ec1d652ce038b6524344a713cade8181d374273874e9c1553e25fbf2d7e3a9dfb5b8c58cad8da195eb4338 SHA512 0525a5f945568e63c514b130da7cd441b62f2fbbf5b1856ff07a24ce12011180d99f210b03d36e25690d5bd5114533f7f0dd701124eaa4462429a1eade936e32
+DIST firefox-155.0-sr.xpi 584163 BLAKE2B 64b623927623de64c41e560d71b38ae1cdc36423996ebe3b1029eebc41445155abc9bebf005a7f2c9f5b37000e333454509732deac0df8e3e6fda32ae2106e0e SHA512 bd6f3e7e55f3c2c4928c2a74710851423a47d33bdd805779764484d03322941690e5d68d4c6bc6636e2f6dcec020e21835305a4b34d1ce329f7e4d7ed02a0077
+DIST firefox-155.0-sv-SE.xpi 506468 BLAKE2B 3ae67b38e9d7d65d61a15a4fe40010ae137cb2291ae226a395fd307bb3c1072f721ae292751d3e637dd681d1dd683fc2e4d0d1bd1e9fd814dfb31f807edefabf SHA512 6b13863da70fb7be37f4dce7ef82717ec70f80d2eeac4c1b16b48051e4bd07955196185f613d600b863fce6e627a75b435dab7c24f080ec193e2e4b7ea648dcd
+DIST firefox-155.0-ta.xpi 413660 BLAKE2B 1788047cff9db8ffe052ab2fd6bf77765683a846d6c85f1f2b779a2915f9aac00205ac1327ac084cc67c52e1f623aa49e8673317a44464c2bc0470ac49d6939d SHA512 2686aae181173fa16accf48c1ee808524787208fb099b2521c5e1a22bef352b3a3296f84d83896fd09294e519d99529e00682628e5a942b5b047bf11d16b1c94
+DIST firefox-155.0-te.xpi 452563 BLAKE2B 9f062bc283eef1d6ecf3f6554655d908e05107a23945851455c723abf26cc1a89b4ae26a557e94d957d0192dd71bc16a6e0f5d71ac453044961945fa04d04b20 SHA512 e3fee8ae71c7c96cad212debccbf53fac5f06f205997ef08a2d9b2e74d9889445cdef373dbb4bb6f9cade4ac766ade79d6eaa1b4839795d8fc84a28045209b14
+DIST firefox-155.0-th.xpi 572430 BLAKE2B bd94ca6e37a36a52d085a1f8570e0aff5795543e7dae6c2ec3b63ac2eb4046a6470c6f55f8a7ce19b02056e6869cd57c375e792be7f85bb368ff9088fb5ebeb2 SHA512 6284fd35ed67fd8a5ac625fb96cc322b170f836f56caf127624314b05d894c3e6c31aaffb8b5816aafaf90f5174eb1dfc35278abee465edc67da344cf448e4e6
+DIST firefox-155.0-tl.xpi 409218 BLAKE2B 3251a9b37254fe6965e0c92f26dec0725a5a769c72320b7ece80ee735ca77bb774c4ead2c2aa96c89b1ecbbe74ae951bf6d8ead819d80dd6b9549e9691126c38 SHA512 f616cfc1eaea8475a2cf838b6c6e66074d06c501f0f413a32931375572995be6756f352bbfd0ec94b84efe21d84f822b1d82ab01844165123f06f2437b71fb07
+DIST firefox-155.0-tr.xpi 521198 BLAKE2B f2bd90d7a0d99f4e485eaef7f7ca6386f290d5515486e76c92c8ba13db0c5757ece844f695e6c288555bb990419833a96d9fc89a7c3821edd0ffffba00106777 SHA512 1c28f89fe0a92409933a3b8abe1d67020190b86c535d657bc28bcea23e508ffbd9d2224fc2de9d8e1c5f6177baf17b4cee8b9c1d32755187e5de8db1c050b196
+DIST firefox-155.0-trs.xpi 399784 BLAKE2B 1525b78d25ea646c287af91926250fb5fe8065b8c58ede4039dca4ee3dfb233fa5f6aba1b91401bc01142c0279f0bdaabe32bc9d07eaab118e4edf081a2acaf5 SHA512 7ccdfc7ba62059648e999d06d0cdafe5f2e92576840e940dbded927935e1a64a1bb7e59dff4ebce8061ddcf21257416dfa419a93390222d72c0ae3e82719fa47
+DIST firefox-155.0-uk.xpi 588869 BLAKE2B d395231f436e1dc365b7b205017b89c512f8c94e12066aa65830b00afad927ef108b5756969011799613844e947c4cefd16846825f73c4c8860476a0e0a6ced6 SHA512 bef0c800046ca4e7abf2644dfe7b38a8e4f06734718426483274979326bd8dab9c1bf27848650f96a2adb6ca9a8dc8bcecbc1eec66338dfa38b9cee55c39c086
+DIST firefox-155.0-ur.xpi 434736 BLAKE2B 12a10a5867a79e244b24893384275531b1b9307519c02af143da49e5ccb7fc25d744d232a28f6e2f2f86f30fa65d86b87c04cc14262d339e35a02a683b08d3ff SHA512 706f7f2305d2e507ca6aa6bacfa415456d11c5f409d1f320ae61ea3ae02f59415ef8ec632faabbd78fcd348cfab7a53b9fed5ee7af11ea19a8637b48d8a199bc
+DIST firefox-155.0-uz.xpi 381692 BLAKE2B 7c10a39ac9445a0f750c759d496cdb14f547def71f5055f6d6c58be075cdff4702391259186cc25557fe4fb4f14696a99872e4b3de90d0dd6f5a8eb1196b2c69 SHA512 9da47ab030d24cd5bac64e243eaa5d626400797c4e28869a5a90666f96d95c0ecd32ab961f83b7755919cd19009b3cc06b8b156ad0b16dbe9b0f6ea8dd13f88c
+DIST firefox-155.0-vi.xpi 547899 BLAKE2B c2f558b6592f09ddd9bb15a00eafdfbb77a0893a73257c8906e14dcfb44fedb840bfeb6bc99fa28b58ba9fbf7e1fc7c2075db6c903ca213634524e46c64db207 SHA512 ac2b5a87b76717e57f3a79594c9809c8bb26f3e3dfdbcefa40f69214ea7bef3460a5cf8c61852287056d1c1d18c609123a17c143e5a31342b40f5dbbb0177a0b
+DIST firefox-155.0-xh.xpi 360262 BLAKE2B 68a7041e57d4634c42a518bd88b5435e1f1c9cc5449895ffb745fb742511f35115151965596188f92d680b6e1fac80ba66601da12550e59e3318380cf28631c8 SHA512 c8968842295f0357a92a40c979e6246412ed44675f7f200316388d37c3b6ec09e68d2fc8a254c8f6b694844b6beb16ef6bc6af656fd3c8c3287ab92110e92568
+DIST firefox-155.0-zh-CN.xpi 533238 BLAKE2B cfcc669cca616c32d57dce9130019c436815ae80c281e3b5430ea07cefc53c80d309ee30c30ced7dcec039197d9b8a444f01444458d5ba7acc92456f65c97357 SHA512 3804b13bc26d969d87435e8c213611baab3bef24253d07c131fa30abb1e1d877cf2449cb511fb98dd7a16717cbc27147de88256f0a19cbe34739b38016783ab2
+DIST firefox-155.0-zh-TW.xpi 539331 BLAKE2B 9785eaaa022f965123d4c297f71f740774f4bbaec8298718569c2f7873554d0f223b2ce6a4694ca8b25e3929e44b3d808d7562fe1a093851793e079385994525 SHA512 cfa314abdfe1963dc86d6ba19bc500f23c29c78a4cc479c75b7dfb1c54d233c3d86b04749a56689540411bb72f9f9a7926781cce2bc911d2b58f4d3bc039078e
DIST firefox-bin_aarch64-140.14.0.tar.xz 66761544 BLAKE2B fc9ce7bac684483aae7c3a0d5356ac085ba0c9b820bf8c3dbcc73b4323eecc2cabbd00c31189c1db28262665f9ae12e61c16f1b6d0e75804168da15a55a00aea SHA512 b641122daad5e0449e51be2dde462e9ad06fdab6e222fba41502ca842fa620501e3437d1de93f00fe6f2460fedc86c37642b3880f7ec1f4c3cf486b701bf3365
DIST firefox-bin_aarch64-153.1.0.tar.xz 73865760 BLAKE2B 393ead3213f2bbeaae477fc711b591892a1ca8ed2ed7c409857fca2bf1d66bbeec7d55efead793bf46cda8ab628c469eef8489900c0a6eb6b23a7e8dd22d5fde SHA512 837ffabffc3ea4eb9f25ee19f4c517aef6028e9d61a39fc717a16cc6dcc7e1e9973702e506f9888655c872c01f8af827c525be7e7d8276d56e10b9e1efa001f7
DIST firefox-bin_aarch64-153.2.0.tar.xz 74297348 BLAKE2B a777d8173ed252902ec477096e724885a303cfbfdfc1a4e3b904bb6f9962f6689452fad65c7fe795aff565c2b29048e6a5a88467addf11440218b06f70776295 SHA512 6b91d4798e5a25a60c0852dfbc6fc43a5811db7567630f75f6ecbfc0138bfc22d474e42f4173fc58537aecf616569e20c915df1e1baa32b4f1183fe12dea033f
DIST firefox-bin_aarch64-154.0.1.tar.xz 74945860 BLAKE2B 34dbf7ffa528f575aa5914224b8ecdecee40ce5ad55662d83cced12daec262fdc8f353c6a8b189e701108742abbf8cc82a377871ba67c7eced7ec77c0e6a3926 SHA512 0a9f6dc776579380e05eaa8e7b670d79e088f617c929bc84106c3e06c0c71aa692be625e5b7ff3f414965e37cac8addbe575a78ced050c300f29ce9d300a054f
DIST firefox-bin_aarch64-154.0.tar.xz 75411896 BLAKE2B 2783ad64fcac3d31bdabdec4beb507a3b3600fd758895af655cbc8e6bce17678633a9314d8cd2be8e42f03d2ac1fbc2139c2f85bbadc38b2522e96658d3c0480 SHA512 72fd961d7dba59ed9205f282ad2daeecc15bbd773b3f4d5ba8576c85114c68bdce8cd0472e16ec74bc5c9b502bd48f87cdc33c059b82442d0fc0a5732ad13354
+DIST firefox-bin_aarch64-155.0.tar.xz 74854804 BLAKE2B 574e028f6081c28a73b58432c3a39fcf651495d68909207e24289a48757b4fc6ba5b13299601eba76997dff9915fd405bf62b9239e8ca56c548b3a12f448b67e SHA512 5663cc174a7e90b9c3d926d78bbf99682b56344c3f02d1f2884619845cd4327eb8b7380301234fbaf378a20f4dca7d719d9424bda793fb5db367b00be6b5a070
DIST firefox-bin_i686-140.14.0.tar.xz 78481508 BLAKE2B c1849cce9fc79fb9e8c88d80256f4ba05e6d0f3e81d9e1d05bae685fcbe6178d7cb606034c40e978d878a6e1986fcc3a2be4acc46b6bbb2c0d735d6778531a5f SHA512 6f79efe838bb185a795c039a8dc1526e33417736fc01d9dcb378027a602feed49e6b2ec0afb57255880a4b4018638be052e85068f4b0c3b99dd4eef4c6ec9d48
DIST firefox-bin_x86_64-140.14.0.tar.xz 75693392 BLAKE2B 1c9960c0ae510a2a0c9d61cc1cb43588965794d4d9c8bb325e14210feaed23912949413fe9654165dd37ae7f59955df4ff75e6a06887349ddda547a56cd83029 SHA512 53c667ded54f0044855072c7b66333d6566beb91178009bbfe10a7220d7abd88b580cb2884269e98a13586075906b76c047a73544203b93325957237ff59399b
DIST firefox-bin_x86_64-153.1.0.tar.xz 85892188 BLAKE2B 59820249399c98898e7e006f49ad7d78660218d9d6eeaec8d5e9ac94c493793f1bc09a09d8d08351fd1956321b0424a8af6bfbcc1e7bb601cc177ad1576c30cb SHA512 e4dc39977cec9dd3c6fba76decf9da05f5b8aa3d1d6cfe3507851a10e46075a3fa0a46e2e78d9246e1fae79661ea223eeebae405558ec3e98ab0802be2a6d06a
DIST firefox-bin_x86_64-153.2.0.tar.xz 86341504 BLAKE2B 18be55fc9325a2b6826f3be20859d64e7385ae23e4aa57578e59df75840007553adf5b338b69264b774e1ecf97d73362a8a06d298ecf8fe90b85681394de9380 SHA512 80e870ec403ac6913216c6d1f7957153f94b1d8021947170bf23a269a110c617f9ac8dea50aac8f37860a11dc441d785a65e87ef7f60feb312e2ec1e720be400
DIST firefox-bin_x86_64-154.0.1.tar.xz 87423284 BLAKE2B 3eeb26045a01570dfae93229ffcf1fad02765574ee632be6c5f03d033a0f4474d5f73c5b3e4b91be971c2ad51cd49f952deb18bbc8c0e4ee464932e0183bbbec SHA512 d99d886ccdbab4cb975ff8faa3f978bfea5926b28bb50d14700557f12503e1a2a300242d6346d8ce0662a5e841a52f55dd7007080576e8a31d2a51f477674d72
DIST firefox-bin_x86_64-154.0.tar.xz 87056504 BLAKE2B 8feb42687515019d4069371239f402e108d4996cbe735958dee68b9e1e79070c0b9eab05e45c643b82b0a5d4627483ed1c831cd713446a0a61575297c79ee308 SHA512 0e57c27d947a78f88b5d9d3407e67b67316a41b82f747cddcee15f71f5e80691fc9be488f98e8bb6cca183739f953e2e09dc5429ec030fbe4b8060886dafdf62
+DIST firefox-bin_x86_64-155.0.tar.xz 86978904 BLAKE2B af733bd5f62e3020762242ece38c248978a75a83ca353d63d1ff19dec328ad2e71100af5d072ada5d3d4b21eb00d6b135a7fb4df8ee2eea8d36ec489ea178ca2 SHA512 796896d2c8a4ae1260378e8a48c526a4e0f88f32599bcc83af1147a974d26e5cbc9eb0d9bfe392fffd9b14d54007f51f1ec514b5d9db396975babb38e5e07022
diff --git a/www-client/firefox-bin/firefox-bin-155.0.ebuild b/www-client/firefox-bin/firefox-bin-155.0.ebuild
new file mode 100644
index 000000000000..dea9320c7c9c
--- /dev/null
+++ b/www-client/firefox-bin/firefox-bin-155.0.ebuild
@@ -0,0 +1,359 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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"
+ HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.firefox.com"
+ SLOT="rapid"
+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 desktop linux-info optfeature pax-utils xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.xz -> ${PN}_x86_64-${PV}.tar.xz )
+ arm64? ( ${MOZ_SRC_BASE_URI}/linux-aarch64/en-US/${MOZ_P}.tar.xz -> ${PN}_aarch64-${PV}.tar.xz )"
+
+DESCRIPTION="Firefox Web Browser"
+
+KEYWORDS="-* amd64 ~arm64"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+gmp-autoupdate selinux wayland"
+
+RESTRICT="strip"
+
+BDEPEND="app-arch/unzip"
+RDEPEND="${DEPEND}
+ !www-client/firefox-bin:0
+ || (
+ media-libs/libpulse
+ media-sound/apulse
+ )
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ >=dev-libs/glib-2.26:2
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ media-video/ffmpeg
+ sys-apps/dbus
+ virtual/freedesktop-icon-theme
+ >=x11-libs/cairo-1.10[X]
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.11:3[X,wayland?]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libxcb
+ >=x11-libs/pango-1.22.0
+ selinux? ( sec-policy/selinux-mozilla )
+"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" !www-client/firefox-bin:rapid"
+else
+ RDEPEND+=" !www-client/firefox-bin:esr"
+fi
+
+QA_PREBUILT="opt/${MOZ_PN}/*"
+
+# 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
+
+MOZ_LANGS=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco
+ si sk skr sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+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_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
+}
+
+pkg_setup() {
+ 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
+
+ mkdir "${S}" || die
+
+ 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
+ MY_SRC_FILE=${_src_file}
+ fi
+ done
+}
+
+src_install() {
+ # Set MOZILLA_FIVE_HOME
+ local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}"
+
+ dodir /opt
+ pushd "${ED}"/opt &>/dev/null || die
+ unpack "${MY_SRC_FILE}"
+ popd &>/dev/null || die
+
+ pax-mark m \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \
+ "${ED}${MOZILLA_FIVE_HOME}"/plugin-container
+
+ # Prevent auto-updater from popping up.
+ echo "This installation is managed by Gentoo's package manager." > "${ED}${MOZILLA_FIVE_HOME}"/is-packaged-app
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ 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
+
+ # 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 icons
+ local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default"
+ local icon_symbolic_file="${FILESDIR}/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^} (bin)"
+ local desktop_file="${FILESDIR}/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN} --name=firefox-bin"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0.
+ # See bgo#916230, bgo#941873
+ local apulselib=
+ if has_version -r media-sound/apulse[-sdk] ; then
+ apulselib="${EPREFIX}/usr/$(get_libdir)/apulse"
+ ewarn "media-sound/apulse with -sdk use flag detected!"
+ ewarn "Firefox-bin will be installed with a wrapper, that attempts to load"
+ ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues."
+ ewarn "Please either enable sdk use flag for apulse, or remove apulse"
+ ewarn "completely and re-install firefox-bin to utilize pipewire/pulseaudio instead."
+ fi
+
+ 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@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+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
+
+ local show_doh_information 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
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "speech syntesis (text-to-speech) support" app-accessibility/speech-dispatcher
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+ # optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg
+ optfeature "desktop notifications" x11-libs/libnotify
+}
diff --git a/www-client/firefox-l10n/Manifest b/www-client/firefox-l10n/Manifest
index e1b2612101f1..314e5c79b25a 100644
--- a/www-client/firefox-l10n/Manifest
+++ b/www-client/firefox-l10n/Manifest
@@ -298,3 +298,103 @@ DIST firefox-154.0.1-vi.xpi 540663 BLAKE2B a93990d4b3413faa93dded8f83f898c76c713
DIST firefox-154.0.1-xh.xpi 355940 BLAKE2B d61c34558a6b1dd7f85187509d3a2f848c94b29e6b88f82363d8dacc07d28037bbd18092d2ec30ef9c13a6d35de15219d7679d8bb8751346ecbaa54cba4945f1 SHA512 4091f6f81b6a3c2d6d32b4f77235771a5ebd4ded9a772672072bf9ef399d7c48b8989ca9862a40eb899e109e664bf1a3c59585f8e7986c4f9ac79226ebdf524a
DIST firefox-154.0.1-zh-CN.xpi 526405 BLAKE2B bdf74a82a97838716fff7730dd197c94209394b9c10570673dd1fc0805feff04012c67634d63704c6d59683bbc054509021a2a1b6113022b9c0da22b296298bf SHA512 8a871554bdeb41d4fd6a3c9bdbd5f4e372482732f6ec9f6fd7518c036cb9709c8db437274ac810a4d39656dec1a71ffd18cb1e4420a273826aef2a6cfc7eadd8
DIST firefox-154.0.1-zh-TW.xpi 531900 BLAKE2B e2d8b8ddee8d23313c5e46925a140adc96728013fab929346c5dcacec6144493c8fb77d7f92b198d000640d85f468f88ce4ade2fad52549169f46f6d666b6876 SHA512 f8eb57a2d44ae3982665e973b30802f0d2fde5cfbc0a715ef8acf1f40e3c797538335f2cb1569d1286b9718db3376ec2a26ce11d226384a51c1b42fc01e89990
+DIST firefox-155.0-ach.xpi 368807 BLAKE2B 8d1f6af5034a7214d8bddc59360a297c2f6da320e2a35891182ce7c23361ff3307c4dfecc0ba336806fc0772bc86be5124e92b6bc8541756ce5a4931f7036748 SHA512 e386a08f858480fb1122a0d39a43b7a2e812614ea6da05b07d6611098469d649036df70efd8306d339de97671e69aa88f5b5dfa4b4a8d89547ec5e9c5261ea3f
+DIST firefox-155.0-af.xpi 355024 BLAKE2B 1bf0c0953888ea402fdd7c81026fe8628b38d0aa0a96641f6f2736c40c752ea36a7340e3efeb265ee7816edab800299e80c5130e153b2ad59940161ec3f48fd2 SHA512 be1d7e85e6189e6ff6738b7e084a6a4f8d70787277a9e2dd7688c1caa4d2815222ea229196298ecf823af2d97fdff6b1353c62916771e686f4b374d788e4412b
+DIST firefox-155.0-an.xpi 397598 BLAKE2B 153418e965ee0540c20e1729cd707a5dd622a7a6cdac3bd9a092ba561a36a0bd682509301df2916891c83117513e6f137ac21e9d9cee98007435882a3a957e9f SHA512 46b6212ab862fe7c0d1551c76533f9692a4a667a505c73b9bf1e5880f560d44f12c0b138032ab6bd26ed58b23f4ac3b7d9795a13e412ea900f2665fba85b5f98
+DIST firefox-155.0-ar.xpi 542873 BLAKE2B e0fc9ffd44f6b7c85f470dc801d2d92ac698b00114d9e7a462375d92de4ab22612c03f4cd7389d19f8e26d94d75befd7b97b04960e3770bf7794d620dd381bbb SHA512 c5b7d35676827e638923c420c12353b1259d9774ffd2a0965e60923ab949ed6e4512a2fe5fec7ff1af504d749ebeded29052047408429bf5d2b37d28594d08ed
+DIST firefox-155.0-ast.xpi 392620 BLAKE2B 13c68821b4a35a412ce3471493e252e7bb6651f1402ca79517a08f7414c0e3a81a5c229edb4108e6dce14b7b5954c2a3b8fa0bac6e1c31d896d4fd7e9cb81407 SHA512 43c59f4a615d1ded8bf36eea299b36d935eadaddbc437973aea40168bb2cda2079fef59f826deba211af3054c653d67dbf575832f3e9498d36002a816b6f3640
+DIST firefox-155.0-az.xpi 409281 BLAKE2B d7ef955dd7aad7ea719503d9567ccb340a6cc4a95fa91202a9b35d0c498c2ffe923aa182fecade4526bfe62223df6450b55ee3b5117701fd5089fa652c8f0480 SHA512 63f0339d71768a1ef1c503ba6b1050c2910196b0cd245406c9a97fdd6a1dd42128f16dacbcb2941ccc10a6df0c548b64a35507cb42046983dba938fe73f9e173
+DIST firefox-155.0-be.xpi 609739 BLAKE2B 57785f6a988d9d9a5702f9286efeed0718c54a40bc8adf378e0f096d0900431e6c8f34b8251d97a0505a56f68457bc66b1f92e34b06e8b2f0bab1b325d4244b1 SHA512 205ec42c86758f854cf4f647a09bb46e43a8992b0109f1ce9defaf710485bb9e4e75f697a60cf7686a92c0d62ab18d0cf63dd8b2a62b991b985b7351d0f85aa8
+DIST firefox-155.0-bg.xpi 519541 BLAKE2B 2e609319923567ce4273d6b8916af918228b44aea73af2e058675c16a35820089cca9eb59642ced47ce5a46517d47a3849f5b48024071b066eead961707a83af SHA512 d3e534c4706c33a45237df3a346979e72845077a3e10b182918e92e4a2a6287490c7fa9a2b081da95ac1a84c3e4ecab5489c764e64a759463ea264beb306df79
+DIST firefox-155.0-bn.xpi 468735 BLAKE2B 930f081d9ba9e400080abedf777e099f4776e5d70c6f8c218df6d7b448d1986b78de6b42d9b35d15493d780728e739197ff7d62c93dcbae50a70419918590161 SHA512 892d95214b7ce307cb82ce23d4548df1627a8f530c6a2d29662acfce50dfbc222e9e856616a717dcf57563a436f38fb21dc7a43f8b6da7b2aee6c99ffe532f33
+DIST firefox-155.0-br.xpi 440681 BLAKE2B c8750fd96eedad6d714a6fae72179b18b09401980e6cd6894ac84946ad65c654bcd9fe8a7df3c5db3891ea714413c93b4cffc692712abe46897515d2b8ce0c24 SHA512 3fb717a48a533f440a8f1ed869c3e75fb67be95a24d2f62337bccfe73114e7079a5c68d483cfcda8701270b28104ec761b04d0dc6e7da87d8261efb91ac970f5
+DIST firefox-155.0-bs.xpi 474875 BLAKE2B a63a83b1ff3e840b37a67b2b2b9dfd5d7e3126d71d7d1c8196ed85e652ec21ad630a3459d8a3eae428df62b6abb6e98b9b637db755b93ed439c8f32094e144c7 SHA512 b23096deba665c6c8ef490dafe69474b090436cfacd227f8abcf4fee5b060d72986a901db9b22e6e9a46cba731a50b229b559bead1ca3e9f3cc0056584ec8c17
+DIST firefox-155.0-ca-valencia.xpi 418282 BLAKE2B 6e90355eb1bfb13e7f9d52841ca57926a52204d5fc310a3b2ec15acb566231a7e7f0baae83714baf16e47a0aecded2ca6bfa89a0087a204297dec48b1a9d6bf4 SHA512 90df42f4d49a00644c035ca62bedf81942212892f23fd865bf51f2c2c351d3265625f0edf30a051468cb20f4a9cd63c4966baa211689bec29a6837ec5a9278dd
+DIST firefox-155.0-ca.xpi 495079 BLAKE2B 8a3fcc49acd8b7096d307c632f87ac650b007708c4a97e18a968341a741e4b56e9e8569846b647ae127d6963535e719d32935c8e7b2973e7d2173db52383ebe4 SHA512 f97825c2b72afba82616f1289d3dc3f21aaca2ef90fd1a5bc6f7a2fdbb6af42f12af1d7c2523426f5598f28daa6ef2f81ab0a8a210ae2fdb53832147e45434d5
+DIST firefox-155.0-cak.xpi 442902 BLAKE2B 7009e217f3989eee806391644f5dc3a0b701344312d2c0e76d45ffe41b68653cdfb3364f303e1f0fbd4ec4c313125415b5a9f8874597f6c7f19aa383b45e5bee SHA512 5ca0771c047410e80df2a3105bab14916dfd69eb66f27a87ee8fab66bceafa01155a518424599f1397bba6931ed00d5a503881bef765a4658703b1371d7f6a04
+DIST firefox-155.0-cs.xpi 558433 BLAKE2B 9c5bfbe06437ac3ca4208e716aff1268a14a944c58fd78d0a6dec30150a8535f9004ca6351a807dcb3032691112a84e5b69ad9e4ba5f6a4761d54ea236adc640 SHA512 df4dda75053cb5f6cce277112f09dce2c3d07f0c931873682d6c11df1491035758df4e96c6d536d6955232e45f0c394ef320a958c6d625397948247319f21c42
+DIST firefox-155.0-cy.xpi 516194 BLAKE2B dc4bbd076e9b4096e3b6bdabe1d7def09b436f80107329ae1c49c7950dc54f44df87db73a6fcffbba049fac10dd4293130b4ba5aa154a27ddca6b10e45569a4b SHA512 e43a12be1b40153fd10ffbbd36cfe2967195370767800053f946a4df58a2488650ac98ef19765f8f2bd4c32ae269b2c215187fdf86d9d65fb5e2c41b50f46269
+DIST firefox-155.0-da.xpi 486702 BLAKE2B 7db5c4f00de72fc8da5a14366ec087e6a7a9e4eff064b40615689a26312c8183a56788770e265ed4bd7deec7f0f5e6617c9bb815c407fc44593637613459fe2b SHA512 2c73bff7936bbc90fdca9ac57a6a8567fb8ca151dc9ef251cb2f82030c262b7927d519f898721385baba5e7830fa762dc497795f819d5e37ab3761a8f7240555
+DIST firefox-155.0-de.xpi 527879 BLAKE2B 72aa431f71fc848e68702559d477669a32c8ad152e8e8a5651fe42045b8b3b8097e714c530abf516963ddf7de5274ed32943c0e35e16f1e394d9b70e2c92df4e SHA512 f007fa8cfe27835602f5e896b10c6ae251cc6c0078db6097385bd06aeb596b1bb62499082fa1ed4d63ef07a786393f70b4bfae530f85765d435a6a832774b0f3
+DIST firefox-155.0-dsb.xpi 543089 BLAKE2B d48f94819f16cd2eced1236af83f2332e2b9ec632af5dc390db4b24f0cdeed5d0e627250464c38586febf95d2ebd61c0392bfefd4aa9ffc5485c01f42bb690f0 SHA512 efdf2f0ac37b2ca5e2527774e674172998124b441f39f44d97ab4029ce3e2e38a1fe862a8ad585e2f3e0947a2e1989ea263a9b44a676ffa4c7110bca07dcefaa
+DIST firefox-155.0-el.xpi 626355 BLAKE2B e7f598a4f170357046bd3181b4d253861ed85bae11a625e5f9551f355a85086d334e975197316319416e784eb35364c5942a638fb978503ce0e70e18365d95d1 SHA512 c280589535f114ad0d680790ff4ee9cf40aff416c8f2aa2f6559ec0e57be9ea0b742116fccdc087847113d88a0c335891afa36962b5d1dc8502497aa28774d25
+DIST firefox-155.0-en-CA.xpi 476318 BLAKE2B 4dc7f53e4ea90fa601ffaff9190d8fa3aab73c1fa2aac18372357fea53155ffb56ea889dd08e03bad32d0933837783558f301024ce633c1d55b35ba119ec3bad SHA512 07ddd5aa3b4898132f38a5cfffbcb4636d6b8c38642e2f6e0b48a2efc800a7668e933f8941aa0dbc9dfa8502fa654654382612766571729aa7fa46d3229ad4be
+DIST firefox-155.0-en-GB.xpi 476585 BLAKE2B c605d24476382ddcf50455565a41133b00de1b094288ce43aa9e9a0294a6514c73d3d9a57cdabc8e02daaf1d9eb4058bb8b71729608faa0851a73044b189062f SHA512 2c123a46cfc67f4c27e136c6fcb8b2b03e3a1fe33694b2d2e42c21ea267c210167129fc5c4baa98dc3e3f9ff3966b386b373d864b8f0ba511be4afec153010f6
+DIST firefox-155.0-eo.xpi 504062 BLAKE2B c05f6555803e30e8a914a5e4f8920f8334be97dd8300b6ff7082b2b68b65de8944693bfdb8ddcdd3254ef31ec4c9c35fbe30f7d27fac460e2aa1e9615ee23e9a SHA512 838c2ba1c10194c6cf52f4501e10600c76a212e29dc8f79d752a94b8ff77e11a965990370edacaf92b47c231f12785f4d479338634e7f1b2366e093f2af0eb2f
+DIST firefox-155.0-es-AR.xpi 517156 BLAKE2B 28186b8a308f742020680894da97add8e0414be831d9ddc5e1ad8c0b5e73b1ad6d51106fb17e070e20cb62dd221db9d5f415a2493bd6ad1d9e792a4f544a7fbe SHA512 51c9532dc5517b4519c19c8fffde274c4feb4ab69f119d2619537ee26c88070b6ad5e591eb0ba2e8dff215ca6009388d45ca122262f4d6c2045668492372d705
+DIST firefox-155.0-es-CL.xpi 519475 BLAKE2B 1a9a61f334723e44ae2c78a7d0e633faff5f698210b9ee018f76c354bfa687b2163fb26bcd4103f81d926deb3be2c18c3306c479c8efc9af4907d8484b237f9f SHA512 595b3fdc6cfb84804c726bd3c6092be5586d84975b5d73c88d80065976ee19b6a4c907d0db82f332cb9776a0b9027a9b3072a9324bd8538292377f5ecb151a37
+DIST firefox-155.0-es-ES.xpi 507869 BLAKE2B add5ba9d0e2ae6f338033bfc34e04819849adab58c725fb5129838c9418d221b014b8d6de2f518d4887e56d0814498dee7fed46ce0f4db5edbeedecf119eb95a SHA512 4b2c39022c2ed16b0c773f1b8899e68299e7adc245e25e7dc58e90120d490d3aafacbe9cc40fb5bd57414abc131e6b1112497cc9d9a3d91a8ed33097bd4c3862
+DIST firefox-155.0-es-MX.xpi 518851 BLAKE2B e1832d01755120d8d07270c757389cfd0ff16fee2198a9478d00dd42c554fa35b0157883ac1fc5c9137178ac7450b27965c1ced9a4bb5fb032993482f325c588 SHA512 a64f5127415f3762ce1c8515f4048207d811eb8879987700a9d4e6995ee62650230cf43d101ee453063b5dab22fa5e9faebc555f3c23f7c2856dd7a248e1ba1c
+DIST firefox-155.0-et.xpi 407806 BLAKE2B 13e9070e99f7c60075fd47fd64b679384a5430d26a403230dd008880cadc2c07c6842ea3bd6a5645ec629e118bcdcb3594c9f76a1c3fbf06da94c58fe277dcaa SHA512 275966b7dbfb11b9f0f0aff812ef10c0a13ba446fc980481663039f70e00fddcf06cff5b31cd444181995c052a463fd8e9ca9e59ce6d03bfee498307a44c0669
+DIST firefox-155.0-eu.xpi 502190 BLAKE2B d91aaffd45cafcd0d4d33acae448d1d0a4919126151189e67ad336fc7c37cb2bddfdc24d456f8c99faecf7a236278d3d0b806f37a87fa755db2a8708f571082d SHA512 1df74305de84090ee9c16b714c90c32cd5d922aa970675ae2845bd08a151c9714c991ff13c11b962cd6f4addc42d81f4ab4eb67de2550c2d72e6cd76725b30f7
+DIST firefox-155.0-fa.xpi 475293 BLAKE2B a92e041a27c95b0bf2fb916826e368be111dae0aa79ad76bcbcedb54b2d47db89b46a1ff7645199289da53b87f14eb42b1810810fb0846606b9b0103fe40360d SHA512 5e8028a872301677d0eea12e5a42f227345ffcffd85765a209be48443a621638f5a302b2661aa927d1155f6c7339e59065239d8b5de109c2cf7268fd197fe99c
+DIST firefox-155.0-ff.xpi 380393 BLAKE2B 3586fbafd70288914c1f33a89c74eeb40359fc6f249e2907f9b8263b8d466cf4e36687a5a2d7ccbcc1b17df551961ae01d133da399631c9ca9cc50f5a2fc051c SHA512 65b13572e8c6b10501a36ab042022b2a6b811c919ba6942b083bdd4d3f971c327c31117543b4c156d7a7e69fcaf1c3beca651005962b29e73552d48263a28f85
+DIST firefox-155.0-fi.xpi 506345 BLAKE2B bfa48f168f80d91017686a8265fc189201f9675952f967ce1baba8d8403d2400f4987fee80c3fe4c045b643db168d463dd61e40f43a6dfdae0eba86f35b5f1ec SHA512 7b9bc935c07403d453f7c7cbf1815431e0630bf9a7d3d4d589e22bee9e571734ff867c794ad1197d04284ce778301abd549cdf6f605af90def92fd132f8a7973
+DIST firefox-155.0-fr.xpi 534216 BLAKE2B b50d51f3b0dcbd6f705b4631856045ddb8afa02224ad3d60e7335ae847d36f184bd58c19ce69b791fef24dc5cefd0c180044c27f594d4eec7d20ca37054249fd SHA512 fb92ce5cd60e185b9b7d16aa8e989b7254cd616c96bad32e371a0c2f848ff27670eb9385ae6c8755bb7adba99167ba9f4771ccfd1912936eeabc018c2416101a
+DIST firefox-155.0-fur.xpi 509047 BLAKE2B 6b4cbf10745b21c073f08fbd38470c6d4958ad0af2bed01ea810956f34bf89b7fbfc1ad00d9391ce14afe8d6d87b26d875093852d7ea9d091bf5aa0223019095 SHA512 8959d887bdd23253b77183e8ccfc7aaa894cd5763dc179b7a1d290080713f1567837cc47afd672f502ab9f9ef32922611d3d333ae9877e320979e99bfc48a76b
+DIST firefox-155.0-fy-NL.xpi 513664 BLAKE2B 8640179e1745e11f155b65d5cd3005602d88788dd07457cddf53985239186cc3bc56fdcf9fcf12cc42b343356ae3a984bc8fd985c77ba5f9b1656e4a886f84c1 SHA512 54afd7f98d7a7bd6980059888a38def2dea4050f640436c8c477e4ff5264508f7c56de849b40acfc77412bab0b0d5d0875e13af2c2efa7f5361d0fea486a2a3e
+DIST firefox-155.0-ga-IE.xpi 392188 BLAKE2B 38881b5cbb0d26146deda48995dc76098e87b01f52cfe6070f5460f53f9cc2d87e08ec889fee0201799fafac34b520202ab20ae9cf4248810a40150dd7c141b6 SHA512 aa653a19197072edc9841c6c34349fffa816ba8aa7df980053c7970ee8b940df4135e42a057cd7889b86d52e502a88642b22bc5428d02e2cf8f5e941e5d55d83
+DIST firefox-155.0-gd.xpi 449337 BLAKE2B ba3bc5aed78ec1fa525a8a63b5ae3b2d0ab72760c73fc141e80e62de94eb3e86b015b85bed8baa9562c33c58c02e7e23d15156fe5a2de18475677904c9c73236 SHA512 6d4dc5f1603031c4e7a7969d49796c290663f6d370a6b66f928c3b4664251891f94e028d7aa2f018a8ddbbdf58f0d6c76749cb5d603446d85dc795d6c2bf0819
+DIST firefox-155.0-gl.xpi 471209 BLAKE2B 609d3d62543a15bf94ae41d37436711ca62e6cf5193bf632ea1b6ee5a2da6eece15aca3bba18fcfc03f68ff3a6bed05988369f0a040ee221ecacedaf64621614 SHA512 4aac0dad37379abced8f2fc738a5d0319305b36e197cd3c9d52679cc6764737a0199d31e5919e29cdbd263d1791aea5f4d400333a94eddaf962738d00fe51d12
+DIST firefox-155.0-gn.xpi 522368 BLAKE2B 72182fa18a04c18d71477bacba1d16fd07e5acd9af46bf47742230934e2f0a2ffd39984de896409a4d227a698137efe36a9d4cc5f9df19193938eea4d095bca1 SHA512 8d98a4872ac3a0c6fd9e6ab8da03e85ed7619d1ae3156fbef2d89955329bf5d1617fc6cdfc5559e8aca8b168299b0f30267a669ac3aeaba1c0f886473c045596
+DIST firefox-155.0-gu-IN.xpi 427703 BLAKE2B 6bb8612569a4c1a41442dc9dd07ba04c0d9a8797061625975b5d81d696f999df15d5b98d971abfb88a10b9695cffe23811500bc3488408b7e4be8dfab407c76e SHA512 522ee01b22567a93adbfc6fb677ac08c6d1a0f6243b4acd959118011cc5b0ec2cdb11dcc0bfa1b925b39efb4025986f21ab852767db8cd3f0c3736e0caf934b3
+DIST firefox-155.0-he.xpi 530658 BLAKE2B 63b535e2223a3eb9553cbc1b1b7664d841c9f84cf42ed48e9cc57d25dba55ae78a6921d4198757478869f1477782973e63258934e32f343cbe25614bd751ae55 SHA512 815a49786f711cbafb8e4ecb8bc05c2ba0ea6c8099d3a561c70959188b5ca61f1d33a00e8538c24f57d550a15a281437b8143324a6a34afdb51b94b7356acda2
+DIST firefox-155.0-hi-IN.xpi 442110 BLAKE2B ded75ac382471b4a8daf98945496c90e9a404e6580f38d374cb4f8d574922cda51277964a487a8d693ff9d5c698b239d51b59fbce96f2cc34011e63ff04cce11 SHA512 27588052c2a5d651556d7cb13a8295f741a576d822029dca765e2af0191b636deebbd3bfa90752cd51e6a37e13c057232157ea9c3f0dbbc536066bc2f2ef767e
+DIST firefox-155.0-hr.xpi 497555 BLAKE2B 0bfd2eafe0e939c6eb41b56822752d93b6f6b2010a64aa8fc747fd43134f5a87a3a96952f9c3872fc32bfbd8ec7fbb768eef200fb490ab6ed6c5004aa8a3f645 SHA512 f27284d85e159df8a7016ae0272cf430e9a4e24ff082f39cfd838aabb33ab57218f28332ba1adcc7f00ed4e1196ba1ef9b6f94827d7ff4d6db2d6df7fe1a4dab
+DIST firefox-155.0-hsb.xpi 539534 BLAKE2B a71aa5946b5fbbc5fd4ec6656c22f828873efd1f56014bc2ff31e3577bb174d9eae873bcc13b3de4ef7adf152b660c32f67d14c7dbb283ab86cd882af6caff5c SHA512 11f71973dfec5643a0f23385b65e16e27226ca774300f13475fa68fd35f24a1cb900d3bc183bf2a759f89a56e2864f164ea51cbc479e636f02d144c7ef7d2a8d
+DIST firefox-155.0-hu.xpi 543713 BLAKE2B f870763494803e716c9a11495da2fa452dd31a0558b27cdd82d6cade5db0ca94f1413f58ccab9084699ea7865773de354bb5fad340459495abef4ed93143ae69 SHA512 8f64cc4a79175cc59050c40fdc97b04e6a192a200a80ac61f1c784b8bfe79634f862f4e7f49794d4c6db33ce24105d9db9beeb0f955aa3878a0aa101a60d745d
+DIST firefox-155.0-hy-AM.xpi 543644 BLAKE2B c5d9cd9df6f1b71a74be77158a08b5dda655c88bb7d3d42989b9a7b464ecab2e4aeb2cfac670fe661425a00db17cb340890b23f09ca869b3a1fac3b8c2e1c2c1 SHA512 23b22596bad50e9bd5984b514566b68b46c3dc7d239748c13f269c3e4130fa5131be92b65d9f2fceb0cfae9c5be8e8599198dcd24facc314dd96601bfed55968
+DIST firefox-155.0-ia.xpi 499985 BLAKE2B 2d7d7550ad9f7cacd8f6dc99a8d0e2784b56bdbaf3aeff2236c58f098c1911652d8fa3971bd9372ccb78d5643719e1decac5c75af6dba63d12c0b569814d6b33 SHA512 610112101560551aaa638035580965c3ff5015301db92a7279ebf1cd590de4a1847d979dc190693520a9e581b125eeb8e06724a880e5e9c35c0a6c78e1faa206
+DIST firefox-155.0-id.xpi 460072 BLAKE2B 7a950e5fb84bf983c0468dba82089699bae358a5739fc944813603cc7fdcbf2e56686e40d42198c1986fd3ca9ca4a3d98a9d1a4e505c7929f606c2fa77676dff SHA512 95059e4aed3fe1c73330469bdb6aa8f9658413553b445dbecb85311319b8695ab2bb6a55d130c7571326bb04ce9be7159c8c4b93464fb05798cf0dfabe8fa086
+DIST firefox-155.0-is.xpi 474711 BLAKE2B a83440c3269695121fca74d489658cf5747ef69ba27154b68c80c11e40a9f779fb319ebc3c707bc8340eb4ee5178fb29fca6a9cabd6db0511fe48d71fc64687e SHA512 1bae1156a9d00a9b175466289f8056f7e7c1ce68af82c885ae9a979ede366925ea1b4abb535f3ea42a5c6d035a6bb7722501b4d62b4f5deb32aee263cd303187
+DIST firefox-155.0-it.xpi 513126 BLAKE2B 954cc7a940a0afee8c14de1d8606eb0b6fbc3fc2085850549fa00190c052abdb388a348301f3fe4508ac320ed5e29da97d0f8ceae801c027d049a6bc4a16937e SHA512 0ead0485b7e155b7c9f9e2b69e65f4fb2ce9e395451d82aca2b68a9758ec4e72fbb286d23d42d9410e19683f26d63b4cf0521a03b2ec5ec6b173d5d897204f69
+DIST firefox-155.0-ja.xpi 559448 BLAKE2B 54f23fab0ed8e17ed53118a570f17b7feb269c8b51059d598a6b28beee7a360bee3ba34306c32d84ac93f32875c975417a1b7fe869a21669ba20835b7dc8e36e SHA512 0ef4f05ae095acce8ed27e8531111d6bd4af9a2da0902cc5dcbdc9fe2e66b520a62c5f1c5c156db45764c9a546b842fd802c67541577dca3f2cda67aa0a80050
+DIST firefox-155.0-ka.xpi 573906 BLAKE2B dd0ce0790cee79ff52794e431929a535b7a4431e7b330042b72141de9bd4b4f73af536559b4a0266d528725d27ae2edf2968ae4bb2037beeddfb98a63a536eb5 SHA512 786664d11c04c05244cf0aa861cb4cbfb63ad17739f74c910f54a36ae3fc8fdc16387a28961153aa4c525b7c15710fdd882436c4055ce813d2467ac7a45785a6
+DIST firefox-155.0-kab.xpi 460721 BLAKE2B c0f3f74d2be70b8a740c7bad838f5b5727fca43c69c96483ed5188647dcab859b545c83bd91112896643488d35e131489ac6ce5acbbc82196b77e28739ce356d SHA512 129b9408e05bc5a897ab417a1e0d84daaba426f4994aa8f7aaca97a6780ddc178605294b2ce1e1bf32b878a754553109de33a5f02c3799f8c9eae2c34c724944
+DIST firefox-155.0-kk.xpi 600417 BLAKE2B 2554f4617c15c7453773cee3e1ba0a1c658bb68d8212e9f8ccf7078184bcba4ef0a1d9db289dce691599fa70524db566e8b76fce5cec8e4d65515f92e3b8aa51 SHA512 ccd70faf7b77650689e5f9c8bb4289e3c685def843f9c8873f22f7c056dd957f094e1a032ae3edcdcf1271a4c69cdf36061fa3a2d4ae2a6a1d4aff6a69e360ee
+DIST firefox-155.0-km.xpi 446361 BLAKE2B 603b6251bf5cc83c3036b247bdcf1eef8dde12d28ddf6eb2d93ff0d0cca10a8bcc7603acdb57a8363af62e8aa74b8fdc9f901563566e660194ba76653bca716a SHA512 4d02901ecd9eae059c9af3edd98192959c9487af133f51139e5556d19380d098fdaf5136117c007b62f05a0878a334dd59d25600e9301f09aac5b794e58de114
+DIST firefox-155.0-kn.xpi 410470 BLAKE2B 8019b696d596113aee6e4887243602148ff38f976aa553d33c364ceefb7ef5374fe32572b601d9d3d6dc3d1bc2da28e5d28eaf690a5cb713abbc65e4922619d3 SHA512 f552d9fc7987a3dec6249ced422a944084cf5478c9279779bcd4841a91e305b6996abd8538bb47d22403df49844be2406e866bf5585b877677fcc164fd2bb644
+DIST firefox-155.0-ko.xpi 542901 BLAKE2B 31c3c249387f59c70cc079a80d07296fe00f24a4ca5b25454fb6cd03b9e8084a3bd8b5f63c683f77d1f38c8a11bba3c58e34de0c0bcaa3bb9854ca4db57e8330 SHA512 8d9ba8b452e9d707b26e01d24652d0fbaad139c00f4cc3779c3c448c97981b2a6d795c60b7cac96ea4889cfa73eb09248ab588e2ed2eb638ff71b26006717ee6
+DIST firefox-155.0-lij.xpi 389005 BLAKE2B adeb08adde17aeb441222bd683c5f3e62ba866a9fb05f12962da440416c9ea4744f5c752ccbece1621fcb1d657534cef749730aaa463dcc104cf70de9d26a13c SHA512 2090bd90dad62baa8e20603ea6721a130d1dd38d24cd249859a06b6d80ba06ad3d20c046c5f5193ac1e2b88341dd948549ffd404d10c07b6186c4e2b03af0d83
+DIST firefox-155.0-lt.xpi 429519 BLAKE2B 8056d49166bc31d4b3a33f814ccb79cf030dd618eaca6e41dcde5de9061acf64c6d497317e68a3346c592b240abeceb2a7d3d67b2ff11495365bf34f2b708773 SHA512 81daaec43fcf5e3c8171214ffbd8ed01f7544bac635e6110d9ba6381714ca4cdeea96a2e6af5e82c2af20160dcd14d377325ce4f00769105626b7ae40444c7f7
+DIST firefox-155.0-lv.xpi 454321 BLAKE2B 4774b30c853d28ffabb44bfbe6e39d885b55dfcbcbdfa16545bfdc0d9e6f0c5586010da6b13ba57ca7e07f19bb90382d89d17e46959e71a53cf39272142b9af3 SHA512 b911a1b5f24da496656fb6a5b58960558ac8fbbe58008ecc83eed5be603698c242a29c437781573c58b43422869a073b9d8c2932a6223ea8672ff46359ad3321
+DIST firefox-155.0-mk.xpi 439023 BLAKE2B 8e986b890639af366038c3759c6b45610066d811b7961b6652ebe71f4c4b5b551b90d41f4b02d838e7ad7ff49fc667841774839cf25396f7c10ad77edcf6fca9 SHA512 e91d12a6ed3097d2fdd688ee69c46873f42ee7e4f93310ff00c0a9c94d0420ef82697ae6e125376a9cd6ce2f04827d973483421e8f5fff7e5d4bd9e909a18eb9
+DIST firefox-155.0-mr.xpi 425227 BLAKE2B 3323cb0fcc5ced1986049558e3810a5e489dc68509110b35236bf6c7911629eed62172b89ce06ec87af6d66d0ea7f81a97b8acc094e1f383997e064689b741ed SHA512 a23876eeaa82430b28b30b6255d4ee1caef21e7e0d2f5dbe2820b5f044215ff84a29fcdd049900a8dc1f331d58b3bc5d1de1abcc068c9ebb715bc16c99a69ac4
+DIST firefox-155.0-ms.xpi 387477 BLAKE2B 9f596ceae4f60f5ffc37221e77a639343ca4d8b50e212a9b6dbdc293498337d60b9b073377cae1af5bfcdf7692545422926187f3d4412288a56fc31dd4318c0f SHA512 c9a278d251fa86d570064f0344a1a8c09d0327f760e2a0ea583bf860a06b65a4526aa72e55ea0b62eff9349fc2e08f75cd6e62555001959d633deff2175bac85
+DIST firefox-155.0-my.xpi 421863 BLAKE2B 6bcd7625971696a23352477e59a70af406055b26951cbd198daaa5d253636e321e736e7e57056f1bb08b617942407cdf8e918fb72afa5e6478da91a202a547b2 SHA512 60262bf437b4f56ffe83e0ed1cec69cde783b018d146dfe642d3cc5a1620a741aff5eed518988b8131dbaa1acfaa6b0a40225e2ea028f44bbf224ab22ef7f96d
+DIST firefox-155.0-nb-NO.xpi 498889 BLAKE2B 3d977c68b45c55ad05f87b08e7e1f43971f6859fca95750d150460d5fa095e9c04bf206b8967de600872fa946505a30a0959e6d80dbc187cc8cb77f0650ae3bb SHA512 f16316d5640ac487a645c2985fcf3562ceeec395b9a1ca37dbf134de4a56db176c4a5faae53d31e43310c90726c1f6cad772ee9a6e169b2c98f991d4de959388
+DIST firefox-155.0-ne-NP.xpi 422985 BLAKE2B 69b33902834c32889dc54b01984dbe7586078f584e56cac57efdea8499f9ac901f86ff95d00461c0c87f24c07257b460a8aab90ee631d09ba09687bda8e373f7 SHA512 f60af0e9ed43f70e38bb6333c8c321f2dbe7bc219f31c1d7b40ea909d747a1b6e13e9af0ee91cdfa57f0268346480403490fa6687b5f2c65c89da17ba7d10db5
+DIST firefox-155.0-nl.xpi 507275 BLAKE2B 0983de633de434d65e8d26a5e6e4d5472fb8d56c8984e1143fc2f02672dc6dd7b9d5181c64a0627ca4f0b051ced799bf545e6e84a0665d65d3607876cdc752ae SHA512 e2cd7dbc70ebc5d31943c74dc2430e97da2830b7851903917f0d5b4f774b93636f90f68e0ff4010ac65f0134b2ebb38df8791f97f95dab43a636f86b514de7a3
+DIST firefox-155.0-nn-NO.xpi 502645 BLAKE2B bb294123269634e407384f0d85ae310f2dba9c29b794b58aa91f56a3f5fe9f22cb5c1cbb6ef4342e875ea327705dee6346bb1c062e3daa0d520a75ef8f991d91 SHA512 c3c397e009c69042e407cc5d9a23a7bebffa9379e6c89d12563da7c87c7e088c6696d7cbb172e4ab18a1e39217602c5e8c0a3ed0c71ec5a3cdb5cd05f54bef39
+DIST firefox-155.0-oc.xpi 452747 BLAKE2B 36b9365e61c748c2b1d2d3810bc871800fc70fcac3d34de66195ecfc96e8f2b6bd06d37628f1ee3b62b009852a0d618b606c52b7a1fba90b217de4fce6ec46dd SHA512 d697af689526175fb49a5ffb6486448d0bda005c7e24ed1912924b5e28953d6329c6f8b435eedd643b078573150dc2f68361d1ff2f2548c1216aa4a2236fa3f6
+DIST firefox-155.0-pa-IN.xpi 593151 BLAKE2B 7e23581408419f198960b8c4e598c18f27deecd16817db824d628165a3239b1e0598e98e6aaddc40a945486b1aa4fed7dad687449bf398c8c7d324b771c214cb SHA512 20a17439dca27507b3a0ce8f3b1b80552d6c846284494645227cd983c2e426b7fc70c29fdfc66ca9a99cf9ac1246abddef42ea2ff2a68a9e80a058e7042cca4d
+DIST firefox-155.0-pl.xpi 540942 BLAKE2B 6cbe64434467c01cb061c9b6fc680333ad14ab18e147b5f8f04b705d6acdaf767a79580d94f85694fc30688874d391ecb364c108aece24febd8b55ea64f61a44 SHA512 6948cdef0b0474d0609e0e749e799d52023f07711eb0c04940f73796bf7db88346a279b2605f8036e64f82fbfb0fcf7bed8218c7249d44b861e88ffab439002d
+DIST firefox-155.0-pt-BR.xpi 512175 BLAKE2B e56d13471a230eccab57a84ae879e03e037120af21aa083c4f8450474e95b82efaee009f34260314618f81c4c37cbc6f2f897d2eedc24175557b72013d5987bd SHA512 4e1d2c203f0d04f3bdc3a71a592b4e47e3cbffed0eec521aebb8773162d58035dd113113d66ca562302342a54d5719942c03b50a6199e149957d31638b9b1886
+DIST firefox-155.0-pt-PT.xpi 500964 BLAKE2B 8a08b84b2d08ce626bffd5742bacf7435dca9baf0a02136ab638f682c66226ef91958c21a55496826ac59574282ed58f3a56a3a74353aaa10f7dc3b8407a6042 SHA512 9c623f4290cbdc1f99a28cdf0d45392ff181760d85968b65a0e0582d2be1bc250e6be6fe50bd1665740c6e0ebfab262d4f25640b524485f69aa15244e9efc466
+DIST firefox-155.0-rm.xpi 479746 BLAKE2B 149b26e70de823c37710f5b3862627c2957aadbdcf1aada79bf62d895c0a555bf838fcf7f8db5c7c58ef4d402e79e844384057ce1d0a603973453fb46bb9d2ee SHA512 7de17e746d24b8bfc2be79f6320e4986bd1e9a490197d3a0d2ef9a17d15f991a07cd601ac41c09a93f32044c3799cbc633a911cb973103969d48da5ee65de6ea
+DIST firefox-155.0-ro.xpi 527237 BLAKE2B fe55ef7ba5a1ed57ff7f01da1d400f2667d0769394f359920d4f4ed68dcd62d43716a8641889470b04292b4799b32c0d4fc265bde2815469d3b11ec8efce4fe0 SHA512 2956f09cbb2aacacffcd967e17457fd9d14533f59bf71e19023aa93dc8618686ad38c417cc7385fd642a0ca9c83cba83efdd874d6be5cb80619330ee5d902905
+DIST firefox-155.0-ru.xpi 613671 BLAKE2B 6281724b6dc6a855079796c576efb36b31b6c12b55df26eb1cc4516430a9237fb905ea9ee453585178d69a6806edd64a098e2620f3aeee472638346376141f5e SHA512 453662b91ab009ff78603cf26d7c373ab4c894fd2b5511708f32ba5896da5a2ab81c27f3fa2d0f0b4d1de0d13dde7d11ed282988e724674c974a75b76d0bac04
+DIST firefox-155.0-sc.xpi 485364 BLAKE2B e017eafbcf1301ab65d632b3aa982e9acce4a459a50f7076d51163be0f23a6d18f2e8baab1e8622d2f1d4ecdce3f82e1520f6eec747b9287465d1fa010bd6c77 SHA512 f3c2ce61e29912f98671d9e15798b4424757231380fbd370564934c74d70d846f19f7b0eee96fe41b28e23da30ee2ab7eaf1f2057d9d5dd4582b4e95aa1f0cd4
+DIST firefox-155.0-sco.xpi 392450 BLAKE2B 9d499225ff021cd25b2886799cd8a9cdf38e54ad2b84b005d7427521d114b0bf10feba50dd924d0e32ca3abc3c2535405e880c2ad40089786bdb0a1433165ef5 SHA512 c0eeeb13ce5dcbbbd93aec50c365cf4d386a2b6e193bc0d48763eece9afadf536425c0d3cbceaaaa0ad4eae9322926cfb6b9ad3783ebae78b683c19bdfec8873
+DIST firefox-155.0-si.xpi 470277 BLAKE2B 1e9fe89a18a50e8b7a1d00614ecc2d3b1f9aae6c53c29800505f183acdff09393cb684962859c7237c1f27718d4af89b9e782cff590b8e74920d38256b1bc78e SHA512 f92fbe32f8cc879e4757ae62032671b6ab32369b01c2f15c637caa1176516dc5f4c19b87828926ca77e4f523676fd0dc9c5fa98a34e9fb38f9151666d713321a
+DIST firefox-155.0-sk.xpi 547691 BLAKE2B 47388cfc359e36078f8a4599f1f0f0421a1cb2a1ef035e9464f9866522861b32357404cb38b2880773dddce59800e107a0dc4befa161520a0cae1aafd5cc1339 SHA512 ad23babe5bf48f58c0d1eb94675052a26773e2b4428a5943c4a7306754258b9ff976f29d52dd67648353ea19cf4aac3fd8256943e97defcbaeb7aed2de6f0d8e
+DIST firefox-155.0-skr.xpi 517463 BLAKE2B 48cb4d8bb6c850057195bc704112dbf42b82d71c03408a5f1682d36e5f5a7b2929a387c82df0e402312f5375f616fa08035652300560b180d9e5ea797cd025c2 SHA512 20a8fa7198794a786e32294348956f7ca9ad0f1e19dbf7089b5dd085b615e8350dd36e59d0b8c52dd317fad0808f9b7a7e1638e3d09c8ab2ccc860d5fc65090c
+DIST firefox-155.0-sl.xpi 511796 BLAKE2B d45fb6a0faac22be2f5a4aa52ae6642d5a9097f31320b336c3288aeffb2cd9197c52e2b623d29bc406a14b7b3cd28d66c3a7af8bacfb46619e388562f312a5e3 SHA512 646ce780c412065d721b4574ccdce475b217630e47dcee2748bc25a40b689eb2e1b0a19c58a4a4f91c6a7a967ca0f351d044ecf8be3e91d9b0db2a3c2f6f4a5b
+DIST firefox-155.0-son.xpi 354596 BLAKE2B c254838efea7e6649522245d3cd3fbee2f3e3290f06bb5bf07319d9eb5740bc806aa9b1fda07fc267a6bf9ae096b56b8b48e74f326041181465959c1905baaed SHA512 15e143878804cc6330fc43390fb53aef7211b9bf7365e1383775bc04e65b3e57b5f70585359c63cf06c3ad325c3ee9bbcbcc27a6f43786995d83607d7ecf5524
+DIST firefox-155.0-sq.xpi 508078 BLAKE2B bd927c62f8f67ec37f8ac645929a1341ac3d76cf30ec1d652ce038b6524344a713cade8181d374273874e9c1553e25fbf2d7e3a9dfb5b8c58cad8da195eb4338 SHA512 0525a5f945568e63c514b130da7cd441b62f2fbbf5b1856ff07a24ce12011180d99f210b03d36e25690d5bd5114533f7f0dd701124eaa4462429a1eade936e32
+DIST firefox-155.0-sr.xpi 584163 BLAKE2B 64b623927623de64c41e560d71b38ae1cdc36423996ebe3b1029eebc41445155abc9bebf005a7f2c9f5b37000e333454509732deac0df8e3e6fda32ae2106e0e SHA512 bd6f3e7e55f3c2c4928c2a74710851423a47d33bdd805779764484d03322941690e5d68d4c6bc6636e2f6dcec020e21835305a4b34d1ce329f7e4d7ed02a0077
+DIST firefox-155.0-sv-SE.xpi 506468 BLAKE2B 3ae67b38e9d7d65d61a15a4fe40010ae137cb2291ae226a395fd307bb3c1072f721ae292751d3e637dd681d1dd683fc2e4d0d1bd1e9fd814dfb31f807edefabf SHA512 6b13863da70fb7be37f4dce7ef82717ec70f80d2eeac4c1b16b48051e4bd07955196185f613d600b863fce6e627a75b435dab7c24f080ec193e2e4b7ea648dcd
+DIST firefox-155.0-szl.xpi 411695 BLAKE2B 2d01514bb2487e025978d90311ae1dff6e675e49b75bc782d2c8f9ade74950fcc422437d2fab787dcb83083cb9e812143b9fe0bc37c72de8316a0db7de1b3713 SHA512 8ed75a9b0f693d7c8119a4f5f52e5da5a9e7f99ae180eda3cb8e993d6a915277e616fb3eb9ca904d7629a1736b25476ba4ccfb2de245e361843c8bef73eef3d2
+DIST firefox-155.0-ta.xpi 413660 BLAKE2B 1788047cff9db8ffe052ab2fd6bf77765683a846d6c85f1f2b779a2915f9aac00205ac1327ac084cc67c52e1f623aa49e8673317a44464c2bc0470ac49d6939d SHA512 2686aae181173fa16accf48c1ee808524787208fb099b2521c5e1a22bef352b3a3296f84d83896fd09294e519d99529e00682628e5a942b5b047bf11d16b1c94
+DIST firefox-155.0-te.xpi 452563 BLAKE2B 9f062bc283eef1d6ecf3f6554655d908e05107a23945851455c723abf26cc1a89b4ae26a557e94d957d0192dd71bc16a6e0f5d71ac453044961945fa04d04b20 SHA512 e3fee8ae71c7c96cad212debccbf53fac5f06f205997ef08a2d9b2e74d9889445cdef373dbb4bb6f9cade4ac766ade79d6eaa1b4839795d8fc84a28045209b14
+DIST firefox-155.0-th.xpi 572430 BLAKE2B bd94ca6e37a36a52d085a1f8570e0aff5795543e7dae6c2ec3b63ac2eb4046a6470c6f55f8a7ce19b02056e6869cd57c375e792be7f85bb368ff9088fb5ebeb2 SHA512 6284fd35ed67fd8a5ac625fb96cc322b170f836f56caf127624314b05d894c3e6c31aaffb8b5816aafaf90f5174eb1dfc35278abee465edc67da344cf448e4e6
+DIST firefox-155.0-tl.xpi 409218 BLAKE2B 3251a9b37254fe6965e0c92f26dec0725a5a769c72320b7ece80ee735ca77bb774c4ead2c2aa96c89b1ecbbe74ae951bf6d8ead819d80dd6b9549e9691126c38 SHA512 f616cfc1eaea8475a2cf838b6c6e66074d06c501f0f413a32931375572995be6756f352bbfd0ec94b84efe21d84f822b1d82ab01844165123f06f2437b71fb07
+DIST firefox-155.0-tr.xpi 521198 BLAKE2B f2bd90d7a0d99f4e485eaef7f7ca6386f290d5515486e76c92c8ba13db0c5757ece844f695e6c288555bb990419833a96d9fc89a7c3821edd0ffffba00106777 SHA512 1c28f89fe0a92409933a3b8abe1d67020190b86c535d657bc28bcea23e508ffbd9d2224fc2de9d8e1c5f6177baf17b4cee8b9c1d32755187e5de8db1c050b196
+DIST firefox-155.0-trs.xpi 399784 BLAKE2B 1525b78d25ea646c287af91926250fb5fe8065b8c58ede4039dca4ee3dfb233fa5f6aba1b91401bc01142c0279f0bdaabe32bc9d07eaab118e4edf081a2acaf5 SHA512 7ccdfc7ba62059648e999d06d0cdafe5f2e92576840e940dbded927935e1a64a1bb7e59dff4ebce8061ddcf21257416dfa419a93390222d72c0ae3e82719fa47
+DIST firefox-155.0-uk.xpi 588869 BLAKE2B d395231f436e1dc365b7b205017b89c512f8c94e12066aa65830b00afad927ef108b5756969011799613844e947c4cefd16846825f73c4c8860476a0e0a6ced6 SHA512 bef0c800046ca4e7abf2644dfe7b38a8e4f06734718426483274979326bd8dab9c1bf27848650f96a2adb6ca9a8dc8bcecbc1eec66338dfa38b9cee55c39c086
+DIST firefox-155.0-ur.xpi 434736 BLAKE2B 12a10a5867a79e244b24893384275531b1b9307519c02af143da49e5ccb7fc25d744d232a28f6e2f2f86f30fa65d86b87c04cc14262d339e35a02a683b08d3ff SHA512 706f7f2305d2e507ca6aa6bacfa415456d11c5f409d1f320ae61ea3ae02f59415ef8ec632faabbd78fcd348cfab7a53b9fed5ee7af11ea19a8637b48d8a199bc
+DIST firefox-155.0-uz.xpi 381692 BLAKE2B 7c10a39ac9445a0f750c759d496cdb14f547def71f5055f6d6c58be075cdff4702391259186cc25557fe4fb4f14696a99872e4b3de90d0dd6f5a8eb1196b2c69 SHA512 9da47ab030d24cd5bac64e243eaa5d626400797c4e28869a5a90666f96d95c0ecd32ab961f83b7755919cd19009b3cc06b8b156ad0b16dbe9b0f6ea8dd13f88c
+DIST firefox-155.0-vi.xpi 547899 BLAKE2B c2f558b6592f09ddd9bb15a00eafdfbb77a0893a73257c8906e14dcfb44fedb840bfeb6bc99fa28b58ba9fbf7e1fc7c2075db6c903ca213634524e46c64db207 SHA512 ac2b5a87b76717e57f3a79594c9809c8bb26f3e3dfdbcefa40f69214ea7bef3460a5cf8c61852287056d1c1d18c609123a17c143e5a31342b40f5dbbb0177a0b
+DIST firefox-155.0-xh.xpi 360262 BLAKE2B 68a7041e57d4634c42a518bd88b5435e1f1c9cc5449895ffb745fb742511f35115151965596188f92d680b6e1fac80ba66601da12550e59e3318380cf28631c8 SHA512 c8968842295f0357a92a40c979e6246412ed44675f7f200316388d37c3b6ec09e68d2fc8a254c8f6b694844b6beb16ef6bc6af656fd3c8c3287ab92110e92568
+DIST firefox-155.0-zh-CN.xpi 533238 BLAKE2B cfcc669cca616c32d57dce9130019c436815ae80c281e3b5430ea07cefc53c80d309ee30c30ced7dcec039197d9b8a444f01444458d5ba7acc92456f65c97357 SHA512 3804b13bc26d969d87435e8c213611baab3bef24253d07c131fa30abb1e1d877cf2449cb511fb98dd7a16717cbc27147de88256f0a19cbe34739b38016783ab2
+DIST firefox-155.0-zh-TW.xpi 539331 BLAKE2B 9785eaaa022f965123d4c297f71f740774f4bbaec8298718569c2f7873554d0f223b2ce6a4694ca8b25e3929e44b3d808d7562fe1a093851793e079385994525 SHA512 cfa314abdfe1963dc86d6ba19bc500f23c29c78a4cc479c75b7dfb1c54d233c3d86b04749a56689540411bb72f9f9a7926781cce2bc911d2b58f4d3bc039078e
diff --git a/www-client/firefox-l10n/firefox-l10n-155.0.ebuild b/www-client/firefox-l10n/firefox-l10n-155.0.ebuild
new file mode 100644
index 000000000000..d0506fb86ca3
--- /dev/null
+++ b/www-client/firefox-l10n/firefox-l10n-155.0.ebuild
@@ -0,0 +1,186 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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"
+ HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/"
+else
+ HOMEPAGE="https://www.firefox.com"
+fi
+
+MOZ_PN="${PN%-l10n}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+DESCRIPTION="Firefox Web Browser's translation files"
+
+LICENSE="MPL-2.0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ SLOT="0/esr"
+else
+ SLOT="0/rapid"
+fi
+
+# 149.0 is when the firefox-l10n was introduced.
+RDEPEND="!<www-client/firefox-149.0"
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}"
+
+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+=( skr )
+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_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
+}
+
+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_install() {
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${MOZ_PN}"
+
+ # 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
+}
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 0357913f02d6..d1d79c5e2fae 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -107,5 +107,9 @@ DIST firefox-154-patches-01.tar.xz 12796 BLAKE2B bc9cff535a3a8ca67564ffdf636e3d4
DIST firefox-154-patches-02.tar.xz 14064 BLAKE2B 43fe3a4d309eed7fad5514d54a2a261c9914223a2f28f2457b0671793e050484f108ff55fa91f40d6256ed3d1657082bd26219aa79c27da06eca04999578a56a SHA512 efe0aebb62e847cb8d0399a4a3020f4826ab894a0bd34534de12a9ea8361a8352ecba564e1474ea92e3cf92d3a126fed5b0584ef5be3ccc1bec7466f5d5ce130
DIST firefox-154.0.1.source.tar.xz 811414168 BLAKE2B c3c67fbda172085c966521b8710286b91ea53fa5607f38d19a46d52e76ced44681d5bc979d9b1b0e8d6e4be54ffc0424000cc5408e55622fd716941188a69d03 SHA512 9141e34978c2ecbe1b267b3cc63136142625734618e67cbbbf6536e1427af66d01f19851200eba0db7c715991f39e7d5d0200abb9e2cd7c15d58a8a411b1b412
DIST firefox-154.0.source.tar.xz 811370872 BLAKE2B 7806cb56f721bd8fb0bcb1782765631f772b58600ea0f7389d7389d8635a3616d71162b090cb9d8cc8822b118b50b5b0f6d83c0831c34054b513da6193bcad38 SHA512 a77cd664982add628681167ef5939bd6bf0c894aa380cca66f9b5fb265947874d1e819d42264f1dd07c843f8a6dc020da268cca9ff1e064fca019de91af9b996
+DIST firefox-155-patches-04.tar.xz 12860 BLAKE2B f16f2ce03d625f12c1512ab8271c6bd368b5774482b4173723fbfed7be4f37444f084d6b18c047310dc76ed4be42b18f5580934cc5e9afbb6058173c869a63df SHA512 8f341eaf640d3b75e95b152e36e59836ef7cacfa4182c8dd759e2303fadc3261c28a1f81440f1456aa5477ccbb53542f79599be021d208cf4b1a025eebce07ba
+DIST firefox-155.0.source.tar.xz 810837272 BLAKE2B 2e043edb24f540c6e967c786c6ac5bfbd0942e9fb4b04fe0072b00efa8b104248a04aa7db297bb371e626f75d5b247c3648b188672ded646c1a716d64fdd6056 SHA512 24292681924edb9f0494eb77a7b19994039abbc3a8c0ba304f0e472b49a943838565723de983bc8ef08e019971e02a3014c8d241bb88c645a06a625c8ace0d6a
DIST wasi-sdk-32.0-arm64-linux.tar.gz 142940986 BLAKE2B 45712415f916c2749bac9002157def84f75d005bcac0403cb9b5a814623a1e0c2a2f24092d55478ca5204afa82c7499cabf405b8e5c6e95a514351801da4a91c SHA512 e39f3130290e63a7c2674e8838bd6569ca6a630c0231e2a303d6bd4a6b7f9c78b59a99606193c3ba3e200d93d9221339d23653e98ef720632d54c5c6866dde69
DIST wasi-sdk-32.0-x86_64-linux.tar.gz 143157058 BLAKE2B 62b83e2db70b24361962b392551c604b21c59535b8d34a5e652447d7b722b033327334f0e17381d28eaa6dcb31fb02aad9978c66b761fb592b6de502012aeb57 SHA512 f77c08d1eb0f8e765bed4955d4794b33bb38149df5a144bebbe43e91fce3cfda7210cdf57073c0ff23c1d3c68105b6c69b4782af1643a0be2f3310001a2398f0
+DIST wasi-sdk-34.0-arm64-linux.tar.gz 192255247 BLAKE2B 3d185e7e98a1e5091aba98f76f221b7e641acadb8dae5aa453ec24a07f1b3e1643ab2a4d4da2d86cd08fbe3e93a7617864716fb7ca64e716d203bdece6087aa5 SHA512 b27453c20b949e8c783980e69937cfa24a306ed3fe0ce2716a72b5ba4cbf231bdd0f114af6a519c41dd6cd81da7bfb06bb86d7b86a45ffd4a723fe4341d8b653
+DIST wasi-sdk-34.0-x86_64-linux.tar.gz 192383077 BLAKE2B 065494c3f81555844293f33974a7230a47f50133aa2b8ed0c81de771c9342799e36a4814d6b3084daf07f19b4d7ce2dc576e134015625b2fad94c14e199ba319 SHA512 12d773d5c3d4b333c82f3280ac753c93877966df84a11b70e70d07aa1dbf20607eb64ceae836e21f9c6aed44054dc3e50f910657bedc590415e3b02789ab4685
diff --git a/www-client/firefox/files/gentoo-hwaccel-prefs.js-r4 b/www-client/firefox/files/gentoo-hwaccel-prefs.js-r4
new file mode 100644
index 000000000000..ff3aa452aec8
--- /dev/null
+++ b/www-client/firefox/files/gentoo-hwaccel-prefs.js-r4
@@ -0,0 +1,9 @@
+/* Force hardware accelerated rendering due to USE=hwaccel */
+pref("gfx.webrender.all", true);
+pref("layers.acceleration.force-enabled", true);
+pref("layers.gpu-process.enabled", true);
+pref("media.hardware-video-decoding.enabled", true);
+pref("webgl.force-enabled", true);
+pref("gfx.webrender.layer-compositor", true);
+pref("media.hardware-video-decoding-vulkan.enabled", true);
+pref("media.hardware-video-decoding-vulkan.direct-export.enabled", false);
diff --git a/www-client/firefox/firefox-155.0.ebuild b/www-client/firefox/firefox-155.0.ebuild
new file mode 100644
index 000000000000..349510372a12
--- /dev/null
+++ b/www-client/firefox/firefox-155.0.ebuild
@@ -0,0 +1,1302 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-155-patches-04.tar.xz"
+
+LLVM_COMPAT=( 21 22 )
+
+# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine.
+RUST_NEEDS_LLVM=1
+RUST_MIN_VER=1.90.0
+
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=34.0
+WASI_SDK_LLVM_VER=23
+
+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"
+ HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.firefox.com"
+ SLOT="rapid"
+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 check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 rust 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}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}
+ wasm-sandbox? (
+ amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz )
+ arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz )
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx"
+IUSE+=" system-pipewire system-png +system-webp test wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell jpegxl +jumbo-build openh264 +telemetry valgrind wasm-sandbox"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( jumbo-build )
+ wayland? ( dbus )
+ wifi? ( dbus )
+"
+
+RESTRICT="!test? ( test )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ clang? (
+ llvm-core/lld:${LLVM_SLOT}
+ pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.29.4
+ net-libs/nodejs
+ virtual/pkgconfig
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ gui-wm/tinywl
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.127
+ >=dev-libs/nspr-4.39
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ virtual/zlib:=
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libdrm
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ 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 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-3.10.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 )
+ )
+ system-icu? ( >=dev-libs/icu-78.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-pipewire? ( >=media-video/pipewire-1.4.7-r2:= )
+ system-png? ( >=media-libs/libpng-1.6.45:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ valgrind? ( dev-debug/valgrind )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[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/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ hwaccel? (
+ media-video/libva-utils
+ sys-apps/pciutils
+ )
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" !www-client/firefox:rapid
+ ~www-client/firefox-l10n-${PV}:0/esr"
+else
+ RDEPEND+=" !www-client/firefox:esr
+ ~www-client/firefox-l10n-${PV}:0/rapid"
+fi
+
+# 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 "llvm-core/clang:${LLVM_SLOT}" ; then
+ einfo "llvm-core/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 "llvm-core/lld:${LLVM_SLOT}" ; then
+ einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+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}"
+}
+
+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'
+
+ 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
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="18700M"
+ elif tc-is-lto ; then
+ CHECKREQS_DISK_BUILD="10900M"
+ else
+ CHECKREQS_DISK_BUILD="9700M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+
+ # Get LTO from environment; export after this phase for use in src_configure (etc)
+ use_lto=no
+
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+
+ if tc-is-lto; then
+ use_lto=yes
+ # LTO is handled via configure
+ filter-lto
+ fi
+
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ if [[ ${use_lto} = yes ]]; then
+ # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC,
+ # bmo#1516758, bgo#942288
+ filter-flags -Werror=lto-type-mismatch -Werror=odr
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="18700M"
+ elif [[ ${use_lto} == "yes" ]] ; then
+ CHECKREQS_DISK_BUILD="10900M"
+ else
+ CHECKREQS_DISK_BUILD="9700M"
+ fi
+
+ check-reqs_pkg_setup
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+ 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
+
+ # Clear tons of conditions, since PGO is hardware-dependant.
+ addpredict /dev
+ 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
+
+ export use_lto
+
+ 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} == "yes" ]]; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#915651 and bmo#1988166 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-967694-musl-prctrl-exception-on-musl.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)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use loong; then
+ # Only the LP64D ABI of LoongArch64 is actively supported among
+ # the wider Linux ecosystem, so the assumption is safe.
+ export RUST_TARGET="loongarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ elif use riscv ; then
+ # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of
+ # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working
+ # guess right now though.
+ elog "riscv detected, forcing a riscv64 target for now."
+ export RUST_TARGET="riscv64gc-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info"
+ fi
+ fi
+
+ # Pre-built wasm-sandbox path manipulation.
+ if use wasm-sandbox ; then
+ if use amd64 ; then
+ export wasi_arch="x86_64"
+ elif use arm64 ; then
+ export wasi_arch="arm64"
+ else
+ die "wasm-sandbox enabled on unknown/unsupported arch!"
+ fi
+
+ sed -i \
+ -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \
+ -e "s:%%WASI_ARCH%%:${wasi_arch}:" \
+ -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \
+ -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \
+ toolkit/moz.configure || die "Failed to update wasi-related paths."
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clear checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+ python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \
+ js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-updater \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-packed-relative-relocs \
+ --enable-release \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-ffi \
+ --with-system-gbm \
+ --with-system-libdrm \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-pixman \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+ # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default.
+ if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; 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 loong || use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # riscv-related options, bgo#947337, bgo#947338, bgo#977845
+ if use riscv ; then
+ mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc
+ mozconfig_add_options_ac 'Disable JIT for RISC-V' --disable-jit
+ fi
+
+ mozconfig_use_enable valgrind
+
+ if use valgrind ; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox
+ mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc
+
+ sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-pipewire
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+ mozconfig_use_enable jumbo-build unified-build
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ mozconfig_add_options_ac "+hardened stl" --enable-stl-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+ 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-x11-only
+ fi
+
+ # wasm-sandbox
+ # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox.
+ if use wasm-sandbox ; then
+ mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/"
+ else
+ mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries
+ mozconfig_use_with system-harfbuzz system-graphite2
+ fi
+
+ ! use jpegxl && mozconfig_add_options_ac '-jpegxl' --disable-jxl
+
+ if [[ ${use_lto} == "yes" ]] ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ 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
+
+ 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
+
+ # PGO was moved outside lto block to allow building pgo without lto.
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ # Avoid compressing just-built instrumented Firefox with
+ # high levels of compression. Just use tar as a container
+ # to save >=10 minutes.
+ export MOZ_PKG_FORMAT=TAR
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ else
+ # Attempt to fix pgo hanging with gcc, bgo#966309.
+ export MOZ_REMOTE_SETTINGS_DEVTOOLS=1
+ fi
+ fi
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ 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*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold, bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr
+ fi
+ elif use loong || use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on loong/ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # 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
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ 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
+
+ mozconfig_use_enable test tests
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; 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_test() {
+ # https://firefox-source-docs.mozilla.org/testing/automated-testing/index.html
+ local -a failures=()
+
+ # Some tests respect this
+ local -x MOZ_HEADLESS=1
+
+ # Check testing/mach_commands.py
+ einfo "Testing with cppunittest ..."
+ ./mach cppunittest
+ local ret=$?
+ if [[ ${ret} -ne 0 ]]; then
+ eerror "Test suite cppunittest failed with error code ${ret}"
+ failures+=( cppunittest )
+ fi
+
+ if [[ ${#failures} -eq 0 ]]; then
+ einfo "Test suites succeeded"
+ else
+ die "Test suites failed: ${failures[@]}"
+ fi
+}
+
+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 llvm-core/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+
+ # 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-r4 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+
+ # Install the gfxtest binary on supported arches
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/gfxtest
+ 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
+
+ # Add telemetry config prefs, just in case something happens in future and telemetry build
+ # options stop working.
+ if ! use telemetry ; then
+ cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+
+ # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date.
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${S}"/browser/installer/linux/app/flatpak/files/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg firefox-symbolic.svg
+ dosym -r /usr/share/icons/hicolor/symbolic/apps/firefox-symbolic.svg /usr/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-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 exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local desktop_filename="${PN}-esr.desktop"
+ else
+ local desktop_filename="${PN}.desktop"
+ fi
+
+ 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
+
+ if use gnome-shell ; then
+ # Install search provider for Gnome
+ insinto /usr/share/gnome-shell/search-providers/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+ insinto /usr/share/dbus-1/services/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+ # Toggle between rapid and esr desktop file names
+ if [[ -n ${MOZ_ESR} ]] ; then
+ sed -e "s/firefox.desktop/${desktop_filename}/g" \
+ -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" ||
+ die "Failed to sed org.mozilla.firefox.search-provider.ini file."
+ fi
+
+ # Make the dbus service aware of a previous session, bgo#939196
+ sed -e \
+ "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \
+ -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" ||
+ die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file"
+
+ # Update prefs to enable Gnome search provider
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs"
+ pref("browser.gnome-search-provider.enabled", true);
+ EOF
+ fi
+
+ if use jpegxl ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable jpegxl via pref"
+ pref("image.jxl.enabled", true);
+ EOF
+ fi
+
+ # 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:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+
+ readme.gentoo_create_doc
+}
+
+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
+
+ readme.gentoo_print_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
+ optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+
+ 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
+}