summaryrefslogtreecommitdiff
path: root/www-client
diff options
context:
space:
mode:
authorSergio <sergiotarxz@posteo.net>2026-09-14 21:16:42 +0200
committerSergio <sergiotarxz@posteo.net>2026-09-14 21:16:42 +0200
commit656ecfcc08c3549b8801b38ac6667952a648142c (patch)
tree4e9fc0d3def30f3973406e93aed922ec4edc61b6 /www-client
parenta888f917724982cefc7c168a69002cad949d5e2a (diff)
parent679dde0c150df4a22cb148cd1dc72993bfe17464 (diff)
Merge branch 'master' of https://gitweb.gentoo.org/repo/gentoo
Diffstat (limited to 'www-client')
-rw-r--r--www-client/epiphany/Manifest1
-rw-r--r--www-client/epiphany/epiphany-50.6.ebuild93
-rw-r--r--www-client/firefox-bin/Manifest99
-rw-r--r--www-client/firefox-bin/firefox-bin-156.0.ebuild359
-rw-r--r--www-client/firefox-l10n/Manifest100
-rw-r--r--www-client/firefox-l10n/firefox-l10n-156.0.ebuild186
-rw-r--r--www-client/firefox/Manifest2
-rw-r--r--www-client/firefox/firefox-156.0.ebuild1301
-rw-r--r--www-client/microsoft-edge-beta/Manifest2
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-154.0.4258.12.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-153.0.4234.13.ebuild)0
-rw-r--r--www-client/microsoft-edge/Manifest2
-rw-r--r--www-client/microsoft-edge/microsoft-edge-153.0.4234.32.ebuild (renamed from www-client/microsoft-edge/microsoft-edge-152.0.4191.66.ebuild)0
-rw-r--r--www-client/opera-developer/opera-developer-137.0.6010.1-r1.ebuild (renamed from www-client/opera-developer/opera-developer-137.0.6010.1.ebuild)2
-rw-r--r--www-client/opera-developer/opera-developer-137.0.6015.0-r1.ebuild (renamed from www-client/opera-developer/opera-developer-137.0.6015.0.ebuild)2
-rw-r--r--www-client/opera/Manifest2
-rw-r--r--www-client/opera/opera-135.0.5973.133-r1.ebuild (renamed from www-client/opera/opera-135.0.5973.123.ebuild)2
16 files changed, 2147 insertions, 6 deletions
diff --git a/www-client/epiphany/Manifest b/www-client/epiphany/Manifest
index c6fe01582729..10a06286faa1 100644
--- a/www-client/epiphany/Manifest
+++ b/www-client/epiphany/Manifest
@@ -1 +1,2 @@
DIST epiphany-49.8.1.tar.xz 4241048 BLAKE2B b069a3d6bc02688914b9f8a7118e7387008562d75014bb87a418fd6d62d30eadd69c1cf33b355ba6d73cc6440cdd45c3844e0b377ea17d2cd759014852cf45ca SHA512 b8b14185549d9c745d8019f987184000b32057a1fa612b266a36e01ad06b7e19fa8779d50f119ec8628d0708e479d456b5c1d86655e9cca6b11ac2bdbfdc0214
+DIST epiphany-50.6.tar.xz 4577640 BLAKE2B 46a11b570ed264deff621e4721f4962184123dac2dfe0ada541125e786602b0780af0228c47deea1f09889d9090e77e0e8587eb374c688f690f7a41e813ad9cf SHA512 f4676af5582b01bf799ebe126d4989ea031e5fb2b8a411b4238b59b8d412893f3ad7f1b8b0efb58e8569d36eb904fa24e438c22642df6e6ee3c89d53036341c3
diff --git a/www-client/epiphany/epiphany-50.6.ebuild b/www-client/epiphany/epiphany-50.6.ebuild
new file mode 100644
index 000000000000..09da2fe05084
--- /dev/null
+++ b/www-client/epiphany/epiphany-50.6.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org gnome2-utils meson xdg virtualx
+
+DESCRIPTION="GNOME webbrowser based on Webkit"
+HOMEPAGE="https://apps.gnome.org/Epiphany/"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test selinux"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=x11-libs/cairo-1.2
+ >=app-crypt/gcr-3.9.0:4=[gtk]
+ >=x11-libs/gdk-pixbuf-2.36.5:2
+ >=dev-libs/glib-2.78.0:2
+ gnome-base/gsettings-desktop-schemas
+ media-libs/gstreamer:1.0
+ >=gui-libs/gtk-4.21.0:4
+ >=app-text/iso-codes-0.35
+ >=dev-libs/json-glib-1.6
+ app-arch/libarchive:=
+ >=gui-libs/libadwaita-1.8_alpha:1
+ >=app-crypt/libsecret-0.19
+ >=net-libs/libsoup-2.99.4:3.0
+ >=dev-libs/libxml2-2.6.12:2=
+ >=dev-libs/nettle-3.4:=
+ >=dev-libs/libportal-0.6:0=[gtk]
+ >=dev-db/sqlite-3.22:3
+ >=net-libs/webkit-gtk-2.43.4:6
+
+ dev-libs/gmp:0=
+"
+RDEPEND="${DEPEND}
+ x11-themes/adwaita-icon-theme
+ selinux? ( sec-policy/selinux-mozilla )
+"
+# appstream-glib needed for appdata.xml gettext translation
+BDEPEND="
+ dev-libs/appstream-glib
+ dev-util/blueprint-compiler
+ dev-python/docutils
+ >=dev-util/gdbus-codegen-2.80.5-r1
+ dev-util/glib-utils
+ dev-util/itstool
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ # Test not ready to be run in sandboxed systems, also need
+ # mesa[zink]. Skip, as done by Debian.
+ # https://bugs.gentoo.org/928015
+ # https://bugs.gentoo.org/847862
+ # https://gitlab.gnome.org/GNOME/epiphany/-/issues/2209
+ # https://gitlab.gnome.org/GNOME/epiphany/-/issues/2271
+ "${FILESDIR}/${PN}-46.2-disable-web-view-test.patch"
+)
+
+src_prepare() {
+ default
+ xdg_environment_reset
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddeveloper_mode=false
+ -Dtech_preview=false
+ $(meson_feature test unit_tests)
+ -Dgranite=disabled
+ -Dman-pages=enabled
+ )
+ meson_src_configure
+}
+
+src_test() {
+ virtx meson_src_test
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest
index 124b26cfc7c5..1af97e54337c 100644
--- a/www-client/firefox-bin/Manifest
+++ b/www-client/firefox-bin/Manifest
@@ -386,12 +386,111 @@ DIST firefox-155.0.1-vi.xpi 547935 BLAKE2B 61bb455a62fe6f47e74cd44632498d3ceaf41
DIST firefox-155.0.1-xh.xpi 360264 BLAKE2B 7e9946dcaafc599ed1e810db8036651aa4aed98425fe5a615a5669eaa99b0f884df7659b8b7e4c1fe62ef12049be1142efe9b6197fb3cc6a8402d72d880c29f3 SHA512 f1501f619d9f2b962b1b7f189d52c5259d31f8476cd80a83bc982f54ad45075f60d28bd7979fad6f90fe8d95eaec23de578de9ba031b7ce9e9f595842eaff9aa
DIST firefox-155.0.1-zh-CN.xpi 533213 BLAKE2B 4f509855878f406d891a52435cd82d3a4692b93cafd1aee76188382fc68e7bc96b4e7e396e82697b6e73eed2727cc4a22d3adc8c1144504788cc3be9b6b315e1 SHA512 0254ea3dcb87bd51fdc6446e15985101984985de26a16b3ad60b69becc885660d1f8a8cde783d0f4eec49d9b75197c7eb135405c2c9a88d9b329ea25868cb0a2
DIST firefox-155.0.1-zh-TW.xpi 539312 BLAKE2B 070182136cac1bc6e7d27524eb6ae439682c87d149a17727a48f56ef7d7362d47f5b9cb9b1c0dc6cdfa0a87c298686e3a72fbb89fd91bc605eb941aa1d8db473 SHA512 5ca9738a71c97cf5d7538ecd4052d5ec3488bf410a1e36abc6843d1098961744967ceb413cc26a0b8ba12fadba694679c1b0a1b3c303383ee20a8f96e651726c
+DIST firefox-156.0-ach.xpi 371199 BLAKE2B 487a0a026c7f4c9b2ae5a90cca9623e32692722f8283f86a5e0cd68255e57be5820ac3a78c5f0c8259c68d2034e0d0a66fe75c0bf7e1b311709b10cc38f2a904 SHA512 628077283a37ae8f764ba373c2f60bbdb749f867230aaae1040a97f8a43f4a2c7f7d993ef539d013b8b6bdcebdac2683dd9be034766f9e34733bf6012bc391d4
+DIST firefox-156.0-af.xpi 357416 BLAKE2B 13165df29ab56b34a20eac5f20d4b815f9fd80ebf4838807dd444be09a3c6884e7b069fa0f7c35f69213f69e651146bf09d9ca57a370775bd224fcae662f5c93 SHA512 735e52d63f84037ecae2043481eec725e3467ce58cca5c74a97fe2fbb8696bd134ce8c221a564b0bfe52945447deddc7536856e43b229538624ff3aa26228b8f
+DIST firefox-156.0-an.xpi 400004 BLAKE2B a30fe48bd33fb97792dd9ecf41ac07f76c5010665713ae4b379a787b87c16ed7f64d33ac770050e6bb8e0852a36840d2587c1d73a74e1b14b6880b8f8709e70a SHA512 16fca1b3d5755e6d5a6adeaa23a3b078e78f5d5f7866dd167f2c95fd0fcc69813bb78cecf081a179aac34bc7a11eb8b177bb5404f4b019bdb359d5f815e48338
+DIST firefox-156.0-ar.xpi 545263 BLAKE2B 3476535243902c1f314d3d3caadcff56bfb0477fdbb276cebbbc6eabb6cf5e31a7d8e327bdf8b6e32af84e17f700c7862575554ab8bf01d9fee4386ccfe6727e SHA512 725e698c0432513fd00acd3c4a22e8cf890d29f882361eb530eeef540d8ca800204c9c7c56661d8d8e5d06f1198b552e9d26c2518f58a6bda8aa6c2282732dd1
+DIST firefox-156.0-ast.xpi 394994 BLAKE2B c9932eb0e62c3f821e694ac2aef21d1dde2bce4feb6338cb2bb27c0e9eb5acf059a821924dabe4dd8a66c6226f0d6efa983a2342f6d807b32baf1f227ea33e4f SHA512 2f09bd5c6ee00bd589fa7e0b7a50734aab3b9f61ebac34a0194c37b75e174077cd675f4c14c70ad66884484edd9c68e8424df5dd399aee5bd0b179376a417007
+DIST firefox-156.0-az.xpi 411675 BLAKE2B a3d991694ecc05df7ca9e77c3ab0899ce41e0c6e810900179e20ff996a2fc50a5786de3dc8d881c419ca85ab70e2390a1681144dbc8d9a574b652970c878903a SHA512 e373c35e981394241030752892cf508d2dba143d05a989a3fc7ed0ee7a9b73f47463cda831ed1f0f02b5eb15daa877865da03457fe5052479d9ed32650fd5613
+DIST firefox-156.0-be.xpi 613960 BLAKE2B 1824f39ddb78553c1a0d63e44531ec4f68dbd8fdfa5b4d69d293ca230dd6053975de4e95f773ba38b003aee662cb683b133b3661bbb351a39e5a9cc136b4d29b SHA512 9c6088ad20338c6e04fbf3c923a825acfdb17c0b6ee0462fa09517bc4f2427a1bf88ef9c657e3bfa26c9954f27a29031f263284ad587a9590f1e30e161efdd74
+DIST firefox-156.0-bg.xpi 522248 BLAKE2B 65a2667620a80432b425b7d4a5f226a36cefcb66715215d4744e034d14b2a863cfecb2f5a1114bff94dbca316b40b74c94e461d84f55c6e6d9a92531433f0417 SHA512 464a8ec781b73299242e83c03715ae00fd256c651c4c4f27dc25af3e15dcf636062fd5c8d0f48fc1c289ca58fc3b48ae6631a2dae93ddfe7d96cee1b2ad6f253
+DIST firefox-156.0-bn.xpi 471076 BLAKE2B d50b866ac0d3bd045a467ab4a105ed6cd6939ca9d96041ab5571b3cc9e539057fb7b77b7b59c15cbcec95b961de9f2ae41006d31e3d837aa708c7e2ecfd742ef SHA512 1c52a1b7c18d4e90a65eed9e032fa4f1865a36c85b269560aa609cb25d6fc5481637c245dd831ec2fd0ff6cfa4a01cee80ad97794a4faed3bd62d7513dc12a83
+DIST firefox-156.0-br.xpi 442881 BLAKE2B fb58458adcdcd59b95d698ba1697040f27912f48f8b3efd68c3e6fa44b638ebcdf74e4adf2cbd8e742a227f32113ef41c0fb7eb5a7c4d1d13493a790200dca34 SHA512 cb4ae980e899ef8b7396166efdd2364ac08d7c7d8575850102b37eeadedce023af68889d84a36fda140701ca7265df50eac5caa4bbb70027d65336dc445d8910
+DIST firefox-156.0-bs.xpi 477184 BLAKE2B 2aabce4da6d29ec9287f971d3aa8a6dccb0aaa473d1b69f98af4a92923b68bf9bfb718f5fb5312dd93af0f7eadab43b84192e532d44e38874f583e376dbe885b SHA512 4138386ba54d0a28da637bb48868a51bc80b2a656715b244febedae06c459fdc1571fb57e0bf62808c3f0ffe1414d020b6062eabdd94fba24ec460094ccb5a81
+DIST firefox-156.0-ca-valencia.xpi 420707 BLAKE2B 7d3e8f0119ece43489ecf7c5d366667feec0eb3c8caf1da69be44b01d6ebbf3ce3f90ded42088374e53de5bcc30d0f74df1ec3b952b4dee119e8ea2126736613 SHA512 57a8e9e4d3aecfc9601e7ebfb1a5dc04675cb1a5835ae0cdd78782c96b2d60736d28f1bf65e171d49237e5cff4842471c1a83f307857823fa51dec42d5f559f5
+DIST firefox-156.0-ca.xpi 502363 BLAKE2B 55f3d4f1d5bb7af6700b82189b37cbbe7b3a0f6355b0c70d181186ad659ebc936d0172be625200f401a1b285c809c98da6dfa8ba2df157a9f39a9ab070f41371 SHA512 553a6379ee3f2c96f28286de1cd36aef96e4a48915c88b465f8b94ca8350dcd4038b7c3d172627e286fc16dd5ff5126123c11cee5c6eccbf3b82b174d178f0ad
+DIST firefox-156.0-cak.xpi 445409 BLAKE2B 5409270467ea3dd60a421dd7c24d6b02016a0839e09c2ce3ade0d72a8d988292e66f2bbf1dcc057e13185c5a53d13a95b08953974bc09cda5b47ff2d8888c383 SHA512 f9c811e24f00764c7d2e5f49a098798e841f771b868ecd0a571a0d5e100c795931a17b577392d7ad27babb3a550cefad31e1f8d1bcf669fb0f3b130c866e4312
+DIST firefox-156.0-cs.xpi 562395 BLAKE2B 43dbf02a95eda2088e134fa3e0588ec3e77ae3a387d4d6da96e9b4725a4dc3e7e4b1f61a5ac0026034ed0b27c44dc95cb031b8734586c1c9bdced100fe94e16d SHA512 6804873fd11e658c7d7aed5ab71f8df524920ff675973055648f2f48d2c446aba32ff24ef1d0e72dff8b33f0ce5c973d0e8f4ddc096c83299be64ec7041321e1
+DIST firefox-156.0-cy.xpi 520043 BLAKE2B d139a7619a36aebf95aeb7d6c333bdb5dc02cc717ab4368a6a50312de2e9d84310bbc3a48ccbecebea140cc5cd0216c42dd1996cdf372d1c08d424f58f3f96bc SHA512 33e15b11fd8ca9f13431d512e470a0639c07bd763367a37c44d4349e2ccb3bf6254c2d50967c67f3c2250905a07e09c67947798f54507e02fbd90d94210c3c8b
+DIST firefox-156.0-da.xpi 491164 BLAKE2B 449da7063f68f485c697b0b6cb97e0005c4de8bae59a5a2600ecb33ba6f03e28fca14761ac8f791d91d58046dd50c562481d2bfbd70e96a52059ac4e80c9a7e6 SHA512 764f8f200f1eafd1058a56b3c528c9b1409a30c69ed80afb5f5b30794f77b71e469685b86fac382be3cd3e2722e2eacb26edffd4c2e3b72088925c50c7fa8b46
+DIST firefox-156.0-de.xpi 531748 BLAKE2B 71c8ceb259cc5d18c76634057214e9a605e2340a4792004825ec1bbe30c1308e6f9fb2339cc014054791a7903ad22c88ab88b702d6434279db8cf5b12fd154a3 SHA512 7ee6f664577872aa09b8d97abe412a1df9c13cdd028340342ec8235c19fe6e4fed53dee2b73b30d366b2a84fab2e017b93d54c6de5386a18b1f0a11b0453e0ab
+DIST firefox-156.0-dsb.xpi 547083 BLAKE2B 87870af4226a8e9cafe8620394d7ad251cb66edfd2518df1b9d3ed656bf9115667768b79110205ebf90c4465e699143a31055b07490a48fe3bc12cdd51610047 SHA512 2fd73237d36d65ebcf68ec45cfc408dfa10966d6293c547b6c334ce91f8df7635799a9b63d07938c7a35d2b214ee482e9e2504609dbcac8908e0fe05e6e2703f
+DIST firefox-156.0-el.xpi 630953 BLAKE2B 72879f0598f0b780f1de8225ca4fa5feb8eb34b2cbd3217767ea912346205b0d78f006e7b2140869f11c2855285e266b2361da9fbb3997ae008ac409f9a977c5 SHA512 cd4520bcede76d50ecfa327bd483d4b8ab6c7d4a2e7a880fdc470ae8984ba53efcab15df775370d2a9837c028f96c95c16e8df384ec0a8789c93a95857f29e22
+DIST firefox-156.0-en-CA.xpi 479495 BLAKE2B 937ab35af1f0a877393ec41dad587df99e1b2523fde2dfcad2eaff4bc73d76673a2864b0c1b0c8f96e588fc3672a73b8c0c9f736498d73ca56f240beea50c868 SHA512 aa80802b97262295b0ac1dd6d17be141eca205a991ae9f904a4835075b0054d20339ecee777943e64405cee37b1a31dea6c662d000ec17cfb57232747627758d
+DIST firefox-156.0-en-GB.xpi 480250 BLAKE2B 74dd0be80979ed3ff49f43459ee093520011ada77f0459c12e9570815c9062819e714e4edd273d235324dc98de3debeaff79c0fbcf707371bfdf5b7b4d303129 SHA512 36557cd4a97219ff25cce1c259a2bea37ef982871bb23f504805d1a02911138c41284726189cc8f83af6a7c3b0daa3b62f99c90198add8b76fe4044fb26e2bfc
+DIST firefox-156.0-eo.xpi 507133 BLAKE2B a69b524e427eccbb6cc767985dc44048acb7bb95d7f582d5a917c7d5b7d52d4d89d4bbe3d8aa50699fdc1f884c94437942d0499364a4f9d0be3a774e5b4d90d4 SHA512 62cab6b3367f67fc191da4f80de92f9218444850d9ef0c15723ac80b9a58de7806f0d83d69178f976569b8c308440d21ccabf2aad65aa9b0137781413c0ecf6b
+DIST firefox-156.0-es-AR.xpi 520969 BLAKE2B d840522ba69936c57b782ec630eb3d7cea1a6917c250c3858b4c9bf069753d7b9006b7e2022e4cb1b6efda820cc3a160b2a61b572534ca5874cc3b3a0fbd98f8 SHA512 c7262f7a9b08a40d2027900f80cc7f570b7ec8502c19c949eef6a9c07dc18a75e6fb34dc823846968b5b3ef53a16aa6dccbf0a4a143bd26fece2c2e945a7ee60
+DIST firefox-156.0-es-CL.xpi 523361 BLAKE2B cbe225a08da14e183640581e1da532ee2a747e257699226d6f6018565c7cf06737b54349f38448f60c0e201545f67a7af2e635e7497edf99845f58b2d2feeb0f SHA512 7caaaa64a36c2990af42088d11386e91cfa38c48f3cab60b8538f6b7f8e56c14b1f2bac88a7d1d5bff7d44057732675530bacbcb84a4921c799fba980435ef07
+DIST firefox-156.0-es-ES.xpi 511130 BLAKE2B d64d0a5e45e7aad3f244060ba1d83dac330d6379db99f4c2f8965439905a7bbe13ebcccb43da705151038b28eeda1a283ec9a8f0148191d04d858475b5c88454 SHA512 f0eaceba8e3b0f680a04a9afd6c100b277c98c06157cce5476b1af76a8bca53f9e4d8bf7261e3ff845167cb0bf9e33992304ce8afaaa8aeb3c98e1713b1998dd
+DIST firefox-156.0-es-MX.xpi 521219 BLAKE2B 5cb4c41083cdc118d3f1bd597748a5bc01205938dbbb8007100f03f4d42dfeb1dac99c096d6cc1056fe08536e4cba4e033a948dc1826a1454975bdaf30fc62d9 SHA512 feabea574a036623ddba51410784c440f4013f90c367162c90091fcb548f0d0ef2e56c2a25822630b739a52926b3f43d7e3793aa9ab4f5a17e4b4204e3d2d458
+DIST firefox-156.0-et.xpi 410226 BLAKE2B 0cd5089b26985ff0426b9eee3458aca61d7a6d9757b8e9679edb111ef42b6b1f959e06c0cd688598d3d46617901b12511c259e44e039b82801a87fd45f227f92 SHA512 e0538b446a18f27baacac5095e86ddf591ae94e5f7666b04231e560ebe8ade489aafd2baef4c9cae25b8078bee12973f4654708601d2dd881399b878af016608
+DIST firefox-156.0-eu.xpi 505930 BLAKE2B 919ebca65d123cf85d3ac975d8f8fe9325306108dbb9a42c54c6ae14f8a3f8fe0be7cc146829ddbb47bbe5f7c443c7b059de27cb2d162f141b992ed18daf0f67 SHA512 ce3889f06770340e6250525bce762026280e85e44f68c7f6de7fd69adb2196ef81853463d2f8d544cf9e6725790034cfb8327504bb8eb2697029973cd1dac4f4
+DIST firefox-156.0-fa.xpi 477674 BLAKE2B 599013a640e9cdae89f63683027a9d15b938fb93e5d1384269c42728e712ae7ad1b9ef2e76691e9780af9fd2d4016d3ca082a805650ec3c73add8a0f6fe9ff42 SHA512 166ad3e29ad966dab625065cefae1248b715911c0b62cb48c400f25f30e6a0a55fcea2d1e5e5cc2ce77131d602986defc2c18111db54f6b3fa9605f70b2876b3
+DIST firefox-156.0-ff.xpi 382752 BLAKE2B dbeabd1b06ec0b122e34ddce71e77dbcd2b345cbefe735952191ef9cc1982e4ee31c4ddf41078cbb94c92bdc0c3061bfc74f9d976b102064b1eb99251df2f46f SHA512 99802490e487b408bf4491b1ec68468830671fd679a49c24f0f4dade827ec2597eeb393e42cee18b6027a399daf43c765aa1620aed07e69c56c4f6d398d0185f
+DIST firefox-156.0-fi.xpi 510180 BLAKE2B a83be8e5488aac045be0abee8694e712858e501abe0d34e5a2c8b59ce531d804ed6cc27320d67afa563c5867007d521df8238f5332c3abb410ff76ae3ad93c3e SHA512 2d2008887d3f6d89f78f2199ad6c6db6058fb5766b2c6ace70861e43b1d829efa209e97bc459475468fe1149fcda2c2ca4dfde83281ead54d366ff0615890290
+DIST firefox-156.0-fr.xpi 538109 BLAKE2B 8dba29a73d331e87276c50eab2ff53ab6c9b60bda0eaef920dd867a139281d396bf08a77effb49b123f10dcbcdb721e4735f909b4da70f1ffb6909cd652c74df SHA512 d4d0e8f650e650d63837f0fb751d1cf6c21322f27b5ce5f13c1720b5830ba839ef2ea26769e1baacfc11ee14073e04a29df819c3c24d0a3d48a7cf7324a47d22
+DIST firefox-156.0-fy-NL.xpi 516878 BLAKE2B adf410f2fb30873481335bb52313401362e9bb1a7e35e44272dd605e38c9fd6bbe4a63b847b6b96e6bcecc372509e52d65fa9d5a36dddf9b35ab78a59003c29c SHA512 b17443fe59b17d15281d0c4b5099f98ed0976fdee0e67c12df1071671d71ed0387f44dada1d924599f2ce0adb833ed4abcc60133dbb38b01c638585927f9997f
+DIST firefox-156.0-ga-IE.xpi 394629 BLAKE2B d8a5cbe21d9b67b87ecd9e3ae0928c271331b59dd5028929a448cced2c554a3a219409f8a860fc851feabb5cb17f9ced8ae8e8ecc8117253e050b3b75722d861 SHA512 366f3778864ea76cfdc374b386c209d9208fab68d66b0ca45f1608ab85c4a26d9cb41da10bba54bd959af388b8b17217590da87239d8b720228e85e68702dd7c
+DIST firefox-156.0-gd.xpi 451730 BLAKE2B a1428c43e3da3c57c33279562e29586d7b7b0d42d4eacd0927874c1a15383614781da34206f47022b6e9207731cad0422143ceb28d21a0a010f8f122a26a7422 SHA512 5023531dee556cc3c4a3331cab0c34b4132e8f4c8290dd8c318ee583a847d8f6b872e610cd912240079892d61f9943d07c888723ee328a243637d3e2f482fad2
+DIST firefox-156.0-gl.xpi 473490 BLAKE2B d01d46c28f768ab76831fabaaefb6e027dde40455493962f046b229cf89dafd2330175c1bb6c7ddba800a29b1d0ba140ae41bccb001a834e6c4abde40630c2f4 SHA512 b32fbc97ef152dab0fd5bbe5a551f90fb619b42276c79a68489fca6c141ef7d1e93a47b80e5ecb31fca532a3ebd486b46415d490a4e5e5ec81d3e6f65a0f504f
+DIST firefox-156.0-gn.xpi 526015 BLAKE2B 552abadf38805064cf922793fb9d13969803b3eff49fde4e3bec15887c7211b2761f0da9f77fd3e80f3beb5a664230da5f0294de78c355cde51cc7cc682009e0 SHA512 feb1318f4544850104e001aae6783885add2b9a06163e5fc7ee60200a90818b09c0305cba6f0baaf6b5df1bbac368514994a271bbef62c614ac778308d03c36e
+DIST firefox-156.0-gu-IN.xpi 430044 BLAKE2B 36c7605dcf825a6e2539cd20c4c7810864e1b7ef0009d3f1bb952b350b18f143b93a267813039ccc8ffb7a29569d31f9e1fdffc5475f1041d94adaae13acfdbf SHA512 191aad22d3a75dea86d2c7bb98c809bfc7372084ce0f426afd29cea3e675ebe54455df12b4349b696ffdf19995760b4215df6fe38f6496bf29ba6df30df81b81
+DIST firefox-156.0-he.xpi 534626 BLAKE2B d30da071b005960d559dd574a795b35347c234d7e528c86c96a050b53e7ab5c0b2ebfa389b98b312dd790d0198f3f62eb4e71814e4343b63f853b2a77711cdc7 SHA512 7e0c6ecf5e77acfbf5ce63a52e021f52b104c007e2ad6dbfd5fab209abe67b5cc3d39706be60cfe7e93f7e45ba9fd77f1b29d958ea2837e77c2575a58f671a1f
+DIST firefox-156.0-hi-IN.xpi 444482 BLAKE2B 237958d80fcc62172664c4605d002eb9a68ca3a4d27be8267862ab454e56c60a158c18fc2f31f7c48ec85dd2c16ed39149536c29780f1f2d4ba33f95ebd2c238 SHA512 ddc8f86ff4853356d5d1b0131b484e19828e655b1ef9d165ac4162134386bce7d49d03138a340345b18b5fda45ff78242bb9891952d34462c09f037437392849
+DIST firefox-156.0-hr.xpi 499953 BLAKE2B 00ddfa4bd769fdb35dbb470072ac401ac36e6a15693854b13a3b6cffcbd9d43a7444f2c44abc0986300b31294b508ec2894ea0e6db452200e145c3e96c521caf SHA512 0418002372262f802778e2b1c38a24db248999a96549db6320b65c976dd78f577c5daec4f23ba129874100a1ed1e2f78c9917ae29d3f3104ae72057c7994126c
+DIST firefox-156.0-hsb.xpi 543506 BLAKE2B 46f9b96e78dfaba971a8c6dc0084465e673cc40d99253ec3bdcec5116c8643c9def3c959e94b72e98d00f6e87737475ac346a99b21b802a997c91491bb5b7c16 SHA512 d1a7b9b6546f29fb2e5905ad467ccab75fbea2acf5c6d2243aa245179f9b80b6cbd038a9157376c35a92bdf145f0929196c3e39e367473d1bfe20ae8db8ac5da
+DIST firefox-156.0-hu.xpi 547579 BLAKE2B 33d9e1e98fda571f148d6283e44e22361e515bc1090d3e42e52a84586db14652bfd405dc3eb43d7b8e0a8c0d6418132c877205fa533707a25fb079a3e049c554 SHA512 040e5de06d4926b3cada4f342a10fd228b3b179b3e4e675019fb7e69fd6a948827a256683932ef03b086247c3a673ba2cfc58d04525c69eb653c2994d511938d
+DIST firefox-156.0-hy-AM.xpi 548304 BLAKE2B 9a42a2247ffd5654a52affd7ad40c70e4b774dca55c7799e100ae857aa6eaa7de51cf1beee18e9804a02be76dba877488ed4997f0930b9317c76542b8570106f SHA512 5ef3573418d0173165fceda25a58dd82bbc72934a9376d819d5fb904061779616f7f7de83012495c1a5f2b2f094d2a2a281defcf058a764f44ee80223b1f8c99
+DIST firefox-156.0-ia.xpi 503738 BLAKE2B fb9f8672b242a96cace62edbc74d373ab115d14ae18903b50b1fb76e8bf1dc8889de875ff476ba4136ef64e22c7a7fc27064f12d2e2ea7af085e7d31539527c8 SHA512 0c83b6129567ca7a8a191e3e51eaa6e0083658d3ee7f567954800701fa4b7d1668211cee721515f5b6a460edfe24b219568729107a5575dceac6f4f4f64ff213
+DIST firefox-156.0-id.xpi 466176 BLAKE2B 1002879137e2c037584e9144247828557a9a13e5764d9566a8583161f642c47c9ab4be2d23843de9a607daa9eb6f5d19b0e89ae17691b2aeb9ae27af97b71212 SHA512 51debe59091dc3d4f06969ef08cbd9eac564f6336d0e6512911eaacd6aedbc968a60afbeb41270979345e204bf0a1dec4c36d025f635ee44c04550ca98357542
+DIST firefox-156.0-is.xpi 477010 BLAKE2B df5efc182f04b3b50c32565e0bcf511435cbe1578d6fff79dd5ba4496f57ec9568569a7164016ee7035525e8d5f2944c095829f8d0fc6a3f698e29c66fc1daa7 SHA512 6b55de567c6ad2e7d25a3b59b969146415276ecdce84cdcee7ab373b7fb6247b34ad7e0b82d90aa1974c20beb35384d7a3f6fadc0c1193fa41123caf1b59cdff
+DIST firefox-156.0-it.xpi 516945 BLAKE2B 9f041f56ee237763f80227d3583a1bf913c154c16e13a59dc7fb1b2a2550d9085cff2c9628e201896ec997f48c9364e3080df65a552372de8d404569ebb79f08 SHA512 5d1bdd23cf6cfd7e11114674a6c77b365be2be95aba08d5cb872e0a4dd170bc8428d074a00699156b638d7ef2ba3d7c2783bd171b7b53b6463ef13f6acc73ab0
+DIST firefox-156.0-ja.xpi 563509 BLAKE2B 78222286c7d4ee40a0d279b8b2cf29953d665580912cf6fe616f95e48fdd29a7f04d0c0cd45f502de380a3a10cbe87586356cb8c2ec29651356d050f47daa0a1 SHA512 af4f50021f51a9a84eb270770e8fdd87552422f5220362753bbf99a336bc4547aa18950fad95e51b5ecc0bcbc2a082734359dc881c9c6f255b2c4f9f6561392a
+DIST firefox-156.0-ka.xpi 578072 BLAKE2B 1836063680cb6505c857ab57925daadd2c01622b49a04c59302b6b3630da8300b97faf24e34398c7db9eb5d14aad7e76fbdbd6767c0c16db9e129349132ef42a SHA512 4cd0c9c7a35c779f967f688b2422b83bdc533ec7627e4711e72b9d291b5dce66f9d96e1487c7589fea2fb11055ab5c8b9ce009d313a687c1eb9846d508c786e4
+DIST firefox-156.0-kab.xpi 463131 BLAKE2B 2c307bdc8621c631b3ecee758ab2ffe12d8eddec986520f02ad44b324242e777b82d485dc4fe325f69ccc8e69918303861c89d7f53717672e44362e18334e336 SHA512 a96f4ec806177b3fa08ae27e65521a06410da0f0120a7845f710b79c14892bcf74f0d0af7fe4a04ece9f943a754a62265f6f37d3833a9f4a0569700cfb2ed59f
+DIST firefox-156.0-kk.xpi 604589 BLAKE2B 6a9e9905befece92d23ab8fe393d1f608f467342e8f0ff0ed8242c25a5353e54909e8b3c79f6c72557230023fe0e12af8371c769ee8d1d3f162358ff88fd163d SHA512 e1ff117b6ecb38e0274dc31213b26cebe96b06686282e5e3e3a43d29fe4252962ca0ab23333ca64d56ac66f9efbeae5d834b4d5e93d011f15d7fba3f50df1506
+DIST firefox-156.0-km.xpi 448637 BLAKE2B 6e989ca8fb012b5b78298f09c0cb5fada1c4af739244f2530a3a92117718a30e69ba3fa8c081c0854d893a8d014aa030913e0a40a20f024a7bba6c12328f5d12 SHA512 c06734c5bbb8e8a6ffbfec26d6c2c0c36e675ea84376bac59191f4ca4306d9e5e207ca1f7708501f6232bb08bb61100dcc412fb16cc21d4ecb4cd0a9290f6906
+DIST firefox-156.0-kn.xpi 412871 BLAKE2B 643e9925b3eba1f21eb785530146de519ff19c4f733f3ba82529442fcae73b5ca569faccad033851fc1352c3655d05aed041eabf78a9ed7b9886acfd8d08cd79 SHA512 3ff51b092605ebe279a0351c3eff3ef1600046072cb0e41b02be6e95a338e8133d245f1bcc0d1be6c0b3eef04e6085bbbfbde8002a25050dc2e8d32fd1fdfe17
+DIST firefox-156.0-ko.xpi 546731 BLAKE2B 9da9ff28377ca8a33a853b4bac5c12a873321049034952f2cc107b071f4024582cdaabf9486363a1874f466fda31d1fa9ecdb679506d892b0d8856c69fe7b67d SHA512 8a7e38cf88680c3985c4f31961b3a153d0dc1eb9e13dcf2001ce05d6070e1157bd3f348a6bd5adf7855a859e362715fed178e8dcdb9ae2becac84c7b53f10af3
+DIST firefox-156.0-lij.xpi 391394 BLAKE2B 1879049b04ea0e59d9c36d1ce0f977882f97baf0b0de231e74bee536c908ad7233153e7ddde89cef7f4071f18a443598c3e58e24b9e18d3dcf8383ae35e6cf6d SHA512 b923f5dd0ba97d059be100b77bec57981b3ef641b35a0cf6edf291508a79b3a0c193f2f622f4cb4b805d8efdb8e5da135588701b3716977025f7d7acd5df52e7
+DIST firefox-156.0-lt.xpi 431938 BLAKE2B d6218f3aec07231ccf4e7a8a5e40f3655b1b98f63ed154a5e4cbb72fb6dcba8c9da7e94cf311563a3e63b8d8257dc39423ea9248c4215a7b793b6346e910dc91 SHA512 5d17e6f577f23111ae38ebbe611861fcfc9edf7433d8402b0c6b1e975b8643c15e6c56e2b137e596a2af061878cc7e7728391c3e349298351893fa7ce16dd950
+DIST firefox-156.0-lv.xpi 462190 BLAKE2B 983ccc4aeaf93367a06855ce6edc0d1ea61e6693184b8ccb389d466e0d1dd73fd0d8ae57baf99b1c716ef1d802da645ca0888f0b9ac8604ddd4a0fe6e91224d5 SHA512 81b4ea123534f62ef7164f7af18e810a2ff4f9778e75f8f268dbe79c23f8f19480e3b6b20ecb7cd2a3774f5b5c92ee43089fa5055d9263d19b6ce963e9fa8465
+DIST firefox-156.0-mk.xpi 445733 BLAKE2B f66ab78be16c74c04e4ff1384fc8e861cb73c53f1c5f3c8a6fd4defb7a3aedc03cf842170dbd4b1ec3570a8b14a489347bfd3901c7b520062b5e59fd8d68696a SHA512 1fd6a8b8b748491af6777b38385774e13e56ab34f29645285e0e8ee088706253ffec34bbee7e77a53352c8ce5c180d77b7aba08f4cb85789d8581047622f3d1d
+DIST firefox-156.0-mr.xpi 427574 BLAKE2B 2c73de98a621422c7b8c522be960bda7bca982edc6b193afe5b568df0135cffe2877fcab96c81b5e0a461496a39f44737590260001c876eae4243c0f18765fc5 SHA512 6d589f94500f2baf9dfb509e60f9209c9bdaa906e2c6b290fbe0946d9ffb0ad8d7375ecf149c4c37273df20a8801f67ed1d8bbca460dd5d9ea0aac820546b909
+DIST firefox-156.0-ms.xpi 389819 BLAKE2B 5c47f910d2975f40c1c5cd2c573adaaa8ffc687435b5e43dd5eb7743e23409a96ce84c5235fbc38f967817d8e81b81c6219d7ab2df31c1131af495ca948cf50f SHA512 0002a3988e07a467954fbae7563aa8b1ac611f083a3eb9b7ad0fb3043118ffd4cc03ea368f564a9786a2bbfe1be415d7ebfaff3ce6ca99cfba5db34c2849cc71
+DIST firefox-156.0-my.xpi 424231 BLAKE2B 1df1934c1411acd897a9c5c8b8be943f7d65b9b212541211d64a80186445abf7b83b944c4daae0a60d6ccaca8f84e4c17b29ecaee605726b66668513a4bc454f SHA512 7a8c8538913a7fc80aca429c703229b82364962b2fb10e8d4208a2b3ee56deaade19b7408423f0175a2023b029361f53b691ea25652ac86434daaa6b176d4187
+DIST firefox-156.0-nb-NO.xpi 502702 BLAKE2B 6c4ac3b64f14046637f0c20886bf5de4d56edbc3f2c036d5f7b58a34ab5700574bab00ecf3f1c4748b8274e2e90b239e98e3e2a57c8f9ae535003a0ad803cb2c SHA512 b7c3acce028bd32282057202389489cc658c47664533b9048580c18e31fdb895de62ba62e99cad8241e80424c104fad4e8d7778e5b9dd932d8172106f854d04e
+DIST firefox-156.0-ne-NP.xpi 425406 BLAKE2B 1b3909df412a037a73a14ddb46b53c6a9b679e8fe6f672583e64d6b0401aee32961a4001e85b5938ebf393b2af445fb036d298dfa5bd8dab0ca5998936e05fe8 SHA512 30f6c26df86c0ff443e9b08ca8661ed2f97849136cb75eb38f87e0f8018c54be83ec5a734a196f5d0b91546f12960b44091c1a2738c162525d87bca5042ed14d
+DIST firefox-156.0-nl.xpi 510995 BLAKE2B 13f015722028a2bcf397bee73c4823ed6b40c6fc1d70bd8dc91d2e2048b14d03cd64324445390103860cc39998bae5f487d81c993a3810944418fce2b1e9232e SHA512 c07ff7c71067c0473370a05fa2423ef134673cf01cdfd884054b485ffa1d56cd967b745168de7d4aa4d4b3e6bf913edb7c656cf4d5053e83b0f3e0121dfafc05
+DIST firefox-156.0-nn-NO.xpi 506447 BLAKE2B 9f8988b9adefa340d6eecddf5c4fadcc78ce933aea9a2120fb1bcd093674cae378c43865439c0728051729eba72dc4599fbb77459f2607b4c1681ca96befbd0b SHA512 6f1d49282b3a780dce4530f28d2cdaa3d123f7fd487e7babea04deef74964049b62b3658af09fb9efacceba9fbd24e3121da2981549a7e40f73cabf880f7e060
+DIST firefox-156.0-oc.xpi 455066 BLAKE2B 1048c0cab31f87e0769910891a3708da1032394cbcec13ae051ca9b1053e6cfd5ca3a6bc2673f5dc8ce5409cab50af4c43dc042be2cfe1f853affcf07b7e8e39 SHA512 17d0d7c60415ec61ab9bef579ec348ac796c164e4e21a265d95df7df065073094cdcfd8d825476eff3451c181f37be2593f8028bfd113cc4a149c581764fe5d2
+DIST firefox-156.0-pa-IN.xpi 597582 BLAKE2B e2895d5031e806e02abf5e17ecd049b7f04cd501cb142dae57688503e5cf7bf1916e64727c9161195718992f412b25b75dfe494b9f5405bd8302afe89aeea151 SHA512 bde8143ecbc81ece48834f7914c31c5f94cf8ba2b87bbb82efd55fffd2b802ce7d89f4c882513f3bd7df14a4dc48a58a99f58fe280d550971b0f9494ee9594df
+DIST firefox-156.0-pl.xpi 544761 BLAKE2B 52c97eaef8476711cb848d0e19e4bed585fd7d4ed42f04df5ce5d7d8fdf1ce5a2aa05a07f897304fce30384163f5f6461c613c1c264822ba6670efdc74839abc SHA512 5edc7821bdd31cfd66e8e4f8abb521ba16ecb5312953d2c4bc933135a3aee4c256d26f448ad232b57f3a17ae6120f30013fcfb8e16b2c5d302dba21575b9f2a2
+DIST firefox-156.0-pt-BR.xpi 515942 BLAKE2B dacd27176fa1af936d8302b150cc04492dbd368e624c7d7e47016fdc21e6943a11c9d24a8d73e623c313d667a6b604e345a4671f7778cd0779555ecc7d889b22 SHA512 105434d0a765d1d1b5c7f7b3bebe70bcd2b4264c649298871c6eb244fbb920e0e10f78a3d071f9203de5b1bd548e10c17658f16a2276c1b148aa1e7f05e5a665
+DIST firefox-156.0-pt-PT.xpi 523613 BLAKE2B a4d6ad74cec7bfaaed24283061c59c0caba92ed1f776318ae5b3e4c5c2dd890e28e97ff3433af19e28d88f8016d3003282b94ec699ad31efc837da3472395b8d SHA512 03584e280bc9fe528f001595e5dcb17c8ff084f4e7d17e9e1ef954cdc17bac500ced5e930e280e3458e5420fab465b6de81ff3aea84652ac41e9228c30cf9f82
+DIST firefox-156.0-rm.xpi 481995 BLAKE2B b5e86c29f19c1a3697a6baf2d1980561df4c9e170cd19c1e132efccf6a2059261c60f57c5898246f863cf96a6bb6c83df62db1235ff4590dc288710da74e8fb0 SHA512 df78a9b58bc44942bbc2d0168260ed4c8f7d7d26575d14ce3a387e56916260459e43c55ab11e31473a2cebdb2ee6bcbcca27d69340ce5d99f73907fcd9068282
+DIST firefox-156.0-ro.xpi 531095 BLAKE2B b40b7a101e1ff81590931a7ce30aceb880bb5935fd3d2a488a003c053f6d58313648498670fceeda89fdf50d254d72a33f1efb7184e7e10ce9a61ac92bbf5b62 SHA512 aba956fb452b8b1d0ba12bde504c4c4b4b84b657e56deba337abf4c37528f5cbf56ba642b57959049f3a825135f7ef2aa10ed095e85523baa905dd2fa3f9f831
+DIST firefox-156.0-ru.xpi 617975 BLAKE2B 9c4cb1b41929b5cf9ab2af3467375afa5029923ac7ec0ed308f6da5c32cfa568d413aa50014a77171e1f68c39ec6f6c987ce42ed55be47d98236dbb05eaf5fe2 SHA512 ddd5792b7878f67f824dba3723a267e6d529177c425eb5a29a40c824c36bf670352d25a266b7c3dafa5be18acd63af2e186bedc2a94757d85bf96e66d93f66b0
+DIST firefox-156.0-sco.xpi 394798 BLAKE2B 0c0e95b2b4a096166cb4195750f6cb070a735103b6ee4ed721901ecfffb78bed66edee650ee30ee112f3195ddc95196158e32deb686164eb229154ba54efc315 SHA512 b673d4c6e77d83809a81f5274c3ae087a22a5eb4a834f8f5369ef80dba0c57347ca8ddfd7abb658770381a1b45a96e15128e22a4094d342abc3963dc7c87adf5
+DIST firefox-156.0-si.xpi 472440 BLAKE2B 2a0ea9651c69bd30e60b05f262f476b75e905d33d15386888f7fff477fe5a50838cf242b051399432795e743feae81faeb58bb3e61069fcc9102550d8b8bef71 SHA512 8ff9cb9bfad1cab20c74bf226b7d9a3d5030027496433c83758dd8308d5026e7702e2efd8aaa5a4ba31e0f237b0528bdf0783ea2c537cb02bf6e27d71675968b
+DIST firefox-156.0-sk.xpi 551704 BLAKE2B edac2c5b64e6feb91862ad63859627898d6a159d581bbd031ff7121b5b3909d11aa589854e1cdeaaa382bb9354caed6156612fefd039c4265279807f7d7e1cb6 SHA512 9ba42cb3388feb2df116b0b99c113f0c9b0bad2e05e3e9c47c97b3c8f7e96a4beebc5b2218fe600543cd83d6cdba4dc7c5b6c4a8b1a5b4ee2a8e7a2505dcbe5c
+DIST firefox-156.0-skr.xpi 519644 BLAKE2B e313fbffc9ee540dedeae56dd78b388f7f98dd8bd867921aef2f7738721aa4c21e8e9e1cc72865a6e8fd058d8eead7a98fad59b5f1e30fe094e09e0d8ca6776d SHA512 064f0d7465f328cb6c0cea7ba9c8c1219f75709e3f36165d541cd66604a7a5921e1c9a510629da7625bf2994bf9e6769d76e24485ac4a74564db132d21a18066
+DIST firefox-156.0-sl.xpi 516521 BLAKE2B 944ef90c74fee79b89a1dcc5d461ff0f551e33fbdedb1288496c816f7873d855b656571af8334ba3a13cc64b27ede8e121d6e85209dd122bd379e7311a657aa9 SHA512 cfe5decf75fe8b3f758cdd7a9c53156df61f1f8e0b0a33962d28c27c256ac3d72bcbb38f029b73dffeb35a8691d40c91dd68e4b9792e93b549407b354ad04dba
+DIST firefox-156.0-son.xpi 356989 BLAKE2B d7b888d0b8cffa92ebb0b7d375bd760efba99bd56b31650b2aefb950e918da47db9374412e71dc2b307b2eda8a06eca85600d94bd68685f08f7aa4ffc4da0d25 SHA512 65705b903adc3688bb202b168b857b4bf74aa94d5e8030c3309df068f7dce6e22f9967694f6ac9d2e5cf6a94874ccaeab4ac514bffd6e4e257e75dd43cde8dbf
+DIST firefox-156.0-sq.xpi 510325 BLAKE2B 5573bcca00ddd87696066fd7746ef606ec81b288150bee6d94da3670803cbd8929a44c7000b6c789ae608d9f2778197683203b091f372c405b673f8b1653101b SHA512 55b736ae5b00f2321e647b5f0b47dc0f91b6dfeef124c654c9735926bd3c4db9676c1ec00fff26cedfe2d7fc12f15da39cf9273d1529c1c3d107b613e3655948
+DIST firefox-156.0-sr.xpi 586963 BLAKE2B 458017c4afb351c2e750a8f1eba728db658f8d9eefd3d076800d3ed2b3cb3b4198ebc9b59354195983298f2b796a51362b1e05fa5cbb4895b11880db271dcbf9 SHA512 6a00588a2e78e7c26b8c76851f6ed4cc488e13cee25fff43a064b186e6770267537001f8e9248372b721227f3b6915732616b4ee692b5206b6b742dca599223c
+DIST firefox-156.0-sv-SE.xpi 510210 BLAKE2B fcee8167f2ee7beacec6b14a09dbf808636ef126af35c8f096bcb4f0e236fabeab1ab1e8574b31f9ee611e8da60d6d3d5427f4732a40dfadc8c58d1b87981775 SHA512 c95b606f0364bc147197668388cdbd2a00aa5f124cdb00b88d2259bed6ca4f121602c747b394a7af8b85f70dcf88b5735a5a73d56eac39d915d2b202319c4c34
+DIST firefox-156.0-ta.xpi 415987 BLAKE2B 8cd5f059ba8fb93eb188d37c22c4ee71f9a74d8f1a13d4382bf0f5311dd7219a1cab8a94bdf5e094b1fa0180a4e06a599394f66084053d44a6db5d09608e8881 SHA512 0ec99987b019cc4096cff16079427a487ecb0b1f1267df0163ee507ef4e4779db731c4952d6e1d9d2e3b261d50a7f4a107212d02fbc892c93603df7520f969ee
+DIST firefox-156.0-te.xpi 454878 BLAKE2B 4ef88e1462ee2f49adb131bd48ad6f4cdb7592a1874415e5238ace7dcf48599ba6c5d15a2d1a847453bb2019e634b3db91e0aed295f54cd23c93f2eada9b9b08 SHA512 cffa28010dfe5451432e32c39210f76a12789a2cdb375947925f1abab0189fa78823bfcd042bd0eddd03e3ac12985d265f599cf4017829b8947651be8f9f9e78
+DIST firefox-156.0-th.xpi 578263 BLAKE2B 56e77e518cc95beb2938757626fe99d900ee3fca09e251f789e737eaff9cbe357e54deafa7a87e553a37c59b5a07e942937bf07cdcdc86add8b1b2faa416df62 SHA512 c1432cb7f5c056d5987705f4c4ede1939e6e7351132f8d3a2e404364f4286c9c2d63f952e3b6cd2ee16ded814825f4c49d55fc09f5071b337b3662a31f178310
+DIST firefox-156.0-tl.xpi 411628 BLAKE2B 4e28fe3a308a89ac35399a52a3d63241eb2f33b1b8502c976da9a2498c66cd203f3c21d4069311fa3fc190e397a34e670a707147cba28397637636ffb48996b8 SHA512 dcef17e7b626efdf48dac279a72d76db3daf9ff27f0138d503d480ecacc056a527dcf35493c48599512401e98f57443e159d09cc3e322a6947d69080449eefa6
+DIST firefox-156.0-tr.xpi 526101 BLAKE2B 857c60811d913e5be77552b76ab79b53c21d0c7694bb19f691697b2f48cd9905ddc6eac4dd3d0810da402e4a93e9697c84f33378b1b4bee4ebe6783d079eb6f9 SHA512 196fa84e28ae9939de74fb3724395769b227cc43d31829e169ff8425dc1dc597e77e816bd0653f7642225363052a7f946cf073dfed1043c08c8618502da7afe6
+DIST firefox-156.0-trs.xpi 402163 BLAKE2B e9b5c35c7b7d0d780627d8484f8a6b40fdf66c079a089605042c79e5aa3997b18c87acce057666b1e48397d493358e8067e80ea30b2ee09ef3809de041f2bffe SHA512 d9f3cc2a8319af2805b50750c25a8f6228cc47981bbf660b417ccde682429a18a1e4143277b32dfb68a09272d034d7f635a74a745fc3067647c5b89fe8b3e463
+DIST firefox-156.0-uk.xpi 593711 BLAKE2B 5b80bfd8e26d84269cadd43c80971a9510257dba043e810eee1e06471188763a6693982faeab7a239cd1532f887907d315dc90863846123d683033acb2710a69 SHA512 3bf6a0a6ef3721b0020d192cd129c70a59e92fb5462785f64b7dd5d39b936b38755ff7bf874fb0eea438447c3719878f0c6ba8ef9ec6263acdcac8d45616d7c3
+DIST firefox-156.0-ur.xpi 437156 BLAKE2B 2aab9c2ef07535012c56d2f83fde8bdcfe173ce8c3159cc53651a1c0be34489a57ab9b81353960964d7857cc3870332406c0308c68ea19c624f73b5ce0323275 SHA512 19ff65f00dce20cea29666a5bea02058914bb0d77311d991473b9832b4d918d57d84d54c25ff53b81ec32c6803d87cf736e666c226a6c7562e7ec94da7d333d6
+DIST firefox-156.0-uz.xpi 384110 BLAKE2B d6e9efc545b5865a5a02bb942183ba4887206728253c6c78118297f195b928601df149859bef8b7e0d83f5bd6c1b73381ee1474b8317935f0ab1b23a74995041 SHA512 f6242cee76058d5e81c673065e516c335fae656ec0954d25b70e6bb5f6cc0faea2a980636d31e75ee16b6aa589989893479ebf38f9a1322225144c62095e8e9a
+DIST firefox-156.0-vi.xpi 551897 BLAKE2B e1b06b701bb9ece69e89777609319c282653d0ee1d36950f10d83eebb6774953130fa4e149cff1444c3988ac52b4ae2c7428b525f8644290f779b97e8d65065d SHA512 d30e142ad47d4b8bca5073e22f909cadcb64104c864428423d02a659198be5aa9acaeaae50525235e0d68da6a7f1e534ca90c13f04fd0f95c5f8c5d0b2a294ac
+DIST firefox-156.0-xh.xpi 362670 BLAKE2B ade66c12922178edc3d3dc240c8b30430128eff47e71607f59a4d6ec8633244e83c76715122c432efd287689ddbd01a60f5361fad22de5f0a4512d1079b399ee SHA512 8a12598c2e1abdbd566b595d0c4374d332e4ce8e5536424759d215aabad6fa4787888c56c15b5fa6b23edd920a21610575f5a6d69f89e724020f3bcc5e0675f3
+DIST firefox-156.0-zh-CN.xpi 537329 BLAKE2B 49c20a578e5b245a114a7ec62b8b2d0c93df61b9637d8f10b764e653d9c3c5bee60f4f1fbbf37629e90a66a46fc1901c009c9fad8adca3123eed7d18625d80c6 SHA512 312b0ca3696c8f98e00e2a1d956108c790be71398c66465a92a16353426a2fa87f45ac4dbedce2fa68c69e19538e31dc3db2ce2964c8acd6f35a566cf3d726b9
+DIST firefox-156.0-zh-TW.xpi 543188 BLAKE2B 2c573f272e0bacc23b8dfb6787a87c24a5da156bf35256e36f481e8f1753a32dd7e5d4537c7ffc7c1843b048597ed072c165bdecc1ce69830e5c657421d0d41d SHA512 5393e303f828f795bce5449b6013c0b1114ca52c45168fcf061fb7eeb4deb48a7254775c39d5faa63688c6cfb6ffc914db520d74e1adb1a935af025deec38e77
DIST firefox-bin_aarch64-140.15.0.tar.xz 66819792 BLAKE2B c83fa3fb04ac27df6c128fec293c6e2d527d9f3f9abcdf57fa9db5bb9f528b6481a8ea2b522d235a00f898c1fc5b167f4ce11ecb5a7bac434269ea8a2d49dd88 SHA512 075afaf07e96cd1715e243dcbe442d5ccb56bff92b845788d547df09b281bfafb894cdfbb1fb81d358a99d8b9612103d19c0bdeda16f530523a88af5e06589a3
DIST firefox-bin_aarch64-153.2.0.tar.xz 74297348 BLAKE2B a777d8173ed252902ec477096e724885a303cfbfdfc1a4e3b904bb6f9962f6689452fad65c7fe795aff565c2b29048e6a5a88467addf11440218b06f70776295 SHA512 6b91d4798e5a25a60c0852dfbc6fc43a5811db7567630f75f6ecbfc0138bfc22d474e42f4173fc58537aecf616569e20c915df1e1baa32b4f1183fe12dea033f
DIST firefox-bin_aarch64-155.0.1.tar.xz 75158380 BLAKE2B e09baf9d826188594d3f120e68da0f4ebe476b44f5f7dda9dd56236d4a19c522f6f29c13212016855dd964ce40a8af167c37e911cc117b9a0ad1badb7c01f106 SHA512 6eadf4b726f6f8eb34567563410c98747710883fe72f2f6ee3d5a2390663d4f7d47ffa593afff604293481cf6f00bc88c44974da8e58168cd1e56c64aa640b4d
DIST firefox-bin_aarch64-155.0.tar.xz 74854804 BLAKE2B 574e028f6081c28a73b58432c3a39fcf651495d68909207e24289a48757b4fc6ba5b13299601eba76997dff9915fd405bf62b9239e8ca56c548b3a12f448b67e SHA512 5663cc174a7e90b9c3d926d78bbf99682b56344c3f02d1f2884619845cd4327eb8b7380301234fbaf378a20f4dca7d719d9424bda793fb5db367b00be6b5a070
+DIST firefox-bin_aarch64-156.0.tar.xz 75681124 BLAKE2B 5a12716fd738e73f1a0ea2f4c34cc41c31af0245025b4b51cb1788a16855387a97a6a09b0dabe68fc0a9a513a5428b5de9a8eaea7b4d1a881cd02bb7fbdb575a SHA512 1d3eee6260ec477bcb25cb2fb41391265c2b54e4039de04037f207c70a12a28d7c341afafcacbfeb2f2a467be463408c0df50f6a63835d67f4abce6ca4182f6d
DIST firefox-bin_i686-140.15.0.tar.xz 78606748 BLAKE2B 229c8009d234cbf1ab0f2e17191df6846de2509550f8d7eec03d7711d67ca93fd4af8d5208ef3efbc2d2279bdd369341a927072824a7d629c78676300e6765cc SHA512 af575b9867fb209ddf23529849a74d63d8c2be7a792f4d6c03c8b0082cd8e7a6d202bbaa34b82035ef87fdf36518a9e02a253428fc55246ab539b6fdeee2a535
DIST firefox-bin_x86_64-140.15.0.tar.xz 75872668 BLAKE2B 88853b4e20a88d80e0127aa911080345927ea0887284ddd1bc67c599131f5cb4e1de0b424afaf59c638434b917de5cf44b76896058c930ac0de74a7b190c2aab SHA512 46f19eac00f2ac396944158524ca58031996dc946328383160af454140f76787cbe6197cc3f508cb7321b840527afbab0bcfa98a290a63adae657ab28d09c897
DIST firefox-bin_x86_64-153.2.0.tar.xz 86341504 BLAKE2B 18be55fc9325a2b6826f3be20859d64e7385ae23e4aa57578e59df75840007553adf5b338b69264b774e1ecf97d73362a8a06d298ecf8fe90b85681394de9380 SHA512 80e870ec403ac6913216c6d1f7957153f94b1d8021947170bf23a269a110c617f9ac8dea50aac8f37860a11dc441d785a65e87ef7f60feb312e2ec1e720be400
DIST firefox-bin_x86_64-155.0.1.tar.xz 87372544 BLAKE2B 5e64268c1968de7ba9f2b1f63d326762d455560db318fde3e139919fa93d837e1d70557c190c9bcd5d9d94fd1bcbb9b922cb591eb9891870c264c06e20b8e4aa SHA512 da23025495aa3a2b154cff7c6464fa8bc31ca0c683b378c34b9dced9f33b6e657537c0b5fc44e98bce742bda8e3c58a0a571d1ccd849bf41031881cd36dfba1b
DIST firefox-bin_x86_64-155.0.tar.xz 86978904 BLAKE2B af733bd5f62e3020762242ece38c248978a75a83ca353d63d1ff19dec328ad2e71100af5d072ada5d3d4b21eb00d6b135a7fb4df8ee2eea8d36ec489ea178ca2 SHA512 796896d2c8a4ae1260378e8a48c526a4e0f88f32599bcc83af1147a974d26e5cbc9eb0d9bfe392fffd9b14d54007f51f1ec514b5d9db396975babb38e5e07022
+DIST firefox-bin_x86_64-156.0.tar.xz 88279348 BLAKE2B f33d8c383694be578c6bb451d66bd86a1e6623047fddc471555e6b03f3dcff4f5d4daecc2e21c478b79389b2a466d84d1f5c2d759d51d09598fd1267e758ff57 SHA512 0d412c90b4ec2a0b0690790a864a17e32187a32ecb2a616fea49b8b9f193f4225ea220e476cf220fc362d5322bee5e9f515a3b2d52e224c9ac659980942465b9
diff --git a/www-client/firefox-bin/firefox-bin-156.0.ebuild b/www-client/firefox-bin/firefox-bin-156.0.ebuild
new file mode 100644
index 000000000000..dea9320c7c9c
--- /dev/null
+++ b/www-client/firefox-bin/firefox-bin-156.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 b8e79d540ae3..3e3062acb15d 100644
--- a/www-client/firefox-l10n/Manifest
+++ b/www-client/firefox-l10n/Manifest
@@ -298,3 +298,103 @@ DIST firefox-155.0.1-vi.xpi 547935 BLAKE2B 61bb455a62fe6f47e74cd44632498d3ceaf41
DIST firefox-155.0.1-xh.xpi 360264 BLAKE2B 7e9946dcaafc599ed1e810db8036651aa4aed98425fe5a615a5669eaa99b0f884df7659b8b7e4c1fe62ef12049be1142efe9b6197fb3cc6a8402d72d880c29f3 SHA512 f1501f619d9f2b962b1b7f189d52c5259d31f8476cd80a83bc982f54ad45075f60d28bd7979fad6f90fe8d95eaec23de578de9ba031b7ce9e9f595842eaff9aa
DIST firefox-155.0.1-zh-CN.xpi 533213 BLAKE2B 4f509855878f406d891a52435cd82d3a4692b93cafd1aee76188382fc68e7bc96b4e7e396e82697b6e73eed2727cc4a22d3adc8c1144504788cc3be9b6b315e1 SHA512 0254ea3dcb87bd51fdc6446e15985101984985de26a16b3ad60b69becc885660d1f8a8cde783d0f4eec49d9b75197c7eb135405c2c9a88d9b329ea25868cb0a2
DIST firefox-155.0.1-zh-TW.xpi 539312 BLAKE2B 070182136cac1bc6e7d27524eb6ae439682c87d149a17727a48f56ef7d7362d47f5b9cb9b1c0dc6cdfa0a87c298686e3a72fbb89fd91bc605eb941aa1d8db473 SHA512 5ca9738a71c97cf5d7538ecd4052d5ec3488bf410a1e36abc6843d1098961744967ceb413cc26a0b8ba12fadba694679c1b0a1b3c303383ee20a8f96e651726c
+DIST firefox-156.0-ach.xpi 371199 BLAKE2B 487a0a026c7f4c9b2ae5a90cca9623e32692722f8283f86a5e0cd68255e57be5820ac3a78c5f0c8259c68d2034e0d0a66fe75c0bf7e1b311709b10cc38f2a904 SHA512 628077283a37ae8f764ba373c2f60bbdb749f867230aaae1040a97f8a43f4a2c7f7d993ef539d013b8b6bdcebdac2683dd9be034766f9e34733bf6012bc391d4
+DIST firefox-156.0-af.xpi 357416 BLAKE2B 13165df29ab56b34a20eac5f20d4b815f9fd80ebf4838807dd444be09a3c6884e7b069fa0f7c35f69213f69e651146bf09d9ca57a370775bd224fcae662f5c93 SHA512 735e52d63f84037ecae2043481eec725e3467ce58cca5c74a97fe2fbb8696bd134ce8c221a564b0bfe52945447deddc7536856e43b229538624ff3aa26228b8f
+DIST firefox-156.0-an.xpi 400004 BLAKE2B a30fe48bd33fb97792dd9ecf41ac07f76c5010665713ae4b379a787b87c16ed7f64d33ac770050e6bb8e0852a36840d2587c1d73a74e1b14b6880b8f8709e70a SHA512 16fca1b3d5755e6d5a6adeaa23a3b078e78f5d5f7866dd167f2c95fd0fcc69813bb78cecf081a179aac34bc7a11eb8b177bb5404f4b019bdb359d5f815e48338
+DIST firefox-156.0-ar.xpi 545263 BLAKE2B 3476535243902c1f314d3d3caadcff56bfb0477fdbb276cebbbc6eabb6cf5e31a7d8e327bdf8b6e32af84e17f700c7862575554ab8bf01d9fee4386ccfe6727e SHA512 725e698c0432513fd00acd3c4a22e8cf890d29f882361eb530eeef540d8ca800204c9c7c56661d8d8e5d06f1198b552e9d26c2518f58a6bda8aa6c2282732dd1
+DIST firefox-156.0-ast.xpi 394994 BLAKE2B c9932eb0e62c3f821e694ac2aef21d1dde2bce4feb6338cb2bb27c0e9eb5acf059a821924dabe4dd8a66c6226f0d6efa983a2342f6d807b32baf1f227ea33e4f SHA512 2f09bd5c6ee00bd589fa7e0b7a50734aab3b9f61ebac34a0194c37b75e174077cd675f4c14c70ad66884484edd9c68e8424df5dd399aee5bd0b179376a417007
+DIST firefox-156.0-az.xpi 411675 BLAKE2B a3d991694ecc05df7ca9e77c3ab0899ce41e0c6e810900179e20ff996a2fc50a5786de3dc8d881c419ca85ab70e2390a1681144dbc8d9a574b652970c878903a SHA512 e373c35e981394241030752892cf508d2dba143d05a989a3fc7ed0ee7a9b73f47463cda831ed1f0f02b5eb15daa877865da03457fe5052479d9ed32650fd5613
+DIST firefox-156.0-be.xpi 613960 BLAKE2B 1824f39ddb78553c1a0d63e44531ec4f68dbd8fdfa5b4d69d293ca230dd6053975de4e95f773ba38b003aee662cb683b133b3661bbb351a39e5a9cc136b4d29b SHA512 9c6088ad20338c6e04fbf3c923a825acfdb17c0b6ee0462fa09517bc4f2427a1bf88ef9c657e3bfa26c9954f27a29031f263284ad587a9590f1e30e161efdd74
+DIST firefox-156.0-bg.xpi 522248 BLAKE2B 65a2667620a80432b425b7d4a5f226a36cefcb66715215d4744e034d14b2a863cfecb2f5a1114bff94dbca316b40b74c94e461d84f55c6e6d9a92531433f0417 SHA512 464a8ec781b73299242e83c03715ae00fd256c651c4c4f27dc25af3e15dcf636062fd5c8d0f48fc1c289ca58fc3b48ae6631a2dae93ddfe7d96cee1b2ad6f253
+DIST firefox-156.0-bn.xpi 471076 BLAKE2B d50b866ac0d3bd045a467ab4a105ed6cd6939ca9d96041ab5571b3cc9e539057fb7b77b7b59c15cbcec95b961de9f2ae41006d31e3d837aa708c7e2ecfd742ef SHA512 1c52a1b7c18d4e90a65eed9e032fa4f1865a36c85b269560aa609cb25d6fc5481637c245dd831ec2fd0ff6cfa4a01cee80ad97794a4faed3bd62d7513dc12a83
+DIST firefox-156.0-br.xpi 442881 BLAKE2B fb58458adcdcd59b95d698ba1697040f27912f48f8b3efd68c3e6fa44b638ebcdf74e4adf2cbd8e742a227f32113ef41c0fb7eb5a7c4d1d13493a790200dca34 SHA512 cb4ae980e899ef8b7396166efdd2364ac08d7c7d8575850102b37eeadedce023af68889d84a36fda140701ca7265df50eac5caa4bbb70027d65336dc445d8910
+DIST firefox-156.0-bs.xpi 477184 BLAKE2B 2aabce4da6d29ec9287f971d3aa8a6dccb0aaa473d1b69f98af4a92923b68bf9bfb718f5fb5312dd93af0f7eadab43b84192e532d44e38874f583e376dbe885b SHA512 4138386ba54d0a28da637bb48868a51bc80b2a656715b244febedae06c459fdc1571fb57e0bf62808c3f0ffe1414d020b6062eabdd94fba24ec460094ccb5a81
+DIST firefox-156.0-ca-valencia.xpi 420707 BLAKE2B 7d3e8f0119ece43489ecf7c5d366667feec0eb3c8caf1da69be44b01d6ebbf3ce3f90ded42088374e53de5bcc30d0f74df1ec3b952b4dee119e8ea2126736613 SHA512 57a8e9e4d3aecfc9601e7ebfb1a5dc04675cb1a5835ae0cdd78782c96b2d60736d28f1bf65e171d49237e5cff4842471c1a83f307857823fa51dec42d5f559f5
+DIST firefox-156.0-ca.xpi 502363 BLAKE2B 55f3d4f1d5bb7af6700b82189b37cbbe7b3a0f6355b0c70d181186ad659ebc936d0172be625200f401a1b285c809c98da6dfa8ba2df157a9f39a9ab070f41371 SHA512 553a6379ee3f2c96f28286de1cd36aef96e4a48915c88b465f8b94ca8350dcd4038b7c3d172627e286fc16dd5ff5126123c11cee5c6eccbf3b82b174d178f0ad
+DIST firefox-156.0-cak.xpi 445409 BLAKE2B 5409270467ea3dd60a421dd7c24d6b02016a0839e09c2ce3ade0d72a8d988292e66f2bbf1dcc057e13185c5a53d13a95b08953974bc09cda5b47ff2d8888c383 SHA512 f9c811e24f00764c7d2e5f49a098798e841f771b868ecd0a571a0d5e100c795931a17b577392d7ad27babb3a550cefad31e1f8d1bcf669fb0f3b130c866e4312
+DIST firefox-156.0-cs.xpi 562395 BLAKE2B 43dbf02a95eda2088e134fa3e0588ec3e77ae3a387d4d6da96e9b4725a4dc3e7e4b1f61a5ac0026034ed0b27c44dc95cb031b8734586c1c9bdced100fe94e16d SHA512 6804873fd11e658c7d7aed5ab71f8df524920ff675973055648f2f48d2c446aba32ff24ef1d0e72dff8b33f0ce5c973d0e8f4ddc096c83299be64ec7041321e1
+DIST firefox-156.0-cy.xpi 520043 BLAKE2B d139a7619a36aebf95aeb7d6c333bdb5dc02cc717ab4368a6a50312de2e9d84310bbc3a48ccbecebea140cc5cd0216c42dd1996cdf372d1c08d424f58f3f96bc SHA512 33e15b11fd8ca9f13431d512e470a0639c07bd763367a37c44d4349e2ccb3bf6254c2d50967c67f3c2250905a07e09c67947798f54507e02fbd90d94210c3c8b
+DIST firefox-156.0-da.xpi 491164 BLAKE2B 449da7063f68f485c697b0b6cb97e0005c4de8bae59a5a2600ecb33ba6f03e28fca14761ac8f791d91d58046dd50c562481d2bfbd70e96a52059ac4e80c9a7e6 SHA512 764f8f200f1eafd1058a56b3c528c9b1409a30c69ed80afb5f5b30794f77b71e469685b86fac382be3cd3e2722e2eacb26edffd4c2e3b72088925c50c7fa8b46
+DIST firefox-156.0-de.xpi 531748 BLAKE2B 71c8ceb259cc5d18c76634057214e9a605e2340a4792004825ec1bbe30c1308e6f9fb2339cc014054791a7903ad22c88ab88b702d6434279db8cf5b12fd154a3 SHA512 7ee6f664577872aa09b8d97abe412a1df9c13cdd028340342ec8235c19fe6e4fed53dee2b73b30d366b2a84fab2e017b93d54c6de5386a18b1f0a11b0453e0ab
+DIST firefox-156.0-dsb.xpi 547083 BLAKE2B 87870af4226a8e9cafe8620394d7ad251cb66edfd2518df1b9d3ed656bf9115667768b79110205ebf90c4465e699143a31055b07490a48fe3bc12cdd51610047 SHA512 2fd73237d36d65ebcf68ec45cfc408dfa10966d6293c547b6c334ce91f8df7635799a9b63d07938c7a35d2b214ee482e9e2504609dbcac8908e0fe05e6e2703f
+DIST firefox-156.0-el.xpi 630953 BLAKE2B 72879f0598f0b780f1de8225ca4fa5feb8eb34b2cbd3217767ea912346205b0d78f006e7b2140869f11c2855285e266b2361da9fbb3997ae008ac409f9a977c5 SHA512 cd4520bcede76d50ecfa327bd483d4b8ab6c7d4a2e7a880fdc470ae8984ba53efcab15df775370d2a9837c028f96c95c16e8df384ec0a8789c93a95857f29e22
+DIST firefox-156.0-en-CA.xpi 479495 BLAKE2B 937ab35af1f0a877393ec41dad587df99e1b2523fde2dfcad2eaff4bc73d76673a2864b0c1b0c8f96e588fc3672a73b8c0c9f736498d73ca56f240beea50c868 SHA512 aa80802b97262295b0ac1dd6d17be141eca205a991ae9f904a4835075b0054d20339ecee777943e64405cee37b1a31dea6c662d000ec17cfb57232747627758d
+DIST firefox-156.0-en-GB.xpi 480250 BLAKE2B 74dd0be80979ed3ff49f43459ee093520011ada77f0459c12e9570815c9062819e714e4edd273d235324dc98de3debeaff79c0fbcf707371bfdf5b7b4d303129 SHA512 36557cd4a97219ff25cce1c259a2bea37ef982871bb23f504805d1a02911138c41284726189cc8f83af6a7c3b0daa3b62f99c90198add8b76fe4044fb26e2bfc
+DIST firefox-156.0-eo.xpi 507133 BLAKE2B a69b524e427eccbb6cc767985dc44048acb7bb95d7f582d5a917c7d5b7d52d4d89d4bbe3d8aa50699fdc1f884c94437942d0499364a4f9d0be3a774e5b4d90d4 SHA512 62cab6b3367f67fc191da4f80de92f9218444850d9ef0c15723ac80b9a58de7806f0d83d69178f976569b8c308440d21ccabf2aad65aa9b0137781413c0ecf6b
+DIST firefox-156.0-es-AR.xpi 520969 BLAKE2B d840522ba69936c57b782ec630eb3d7cea1a6917c250c3858b4c9bf069753d7b9006b7e2022e4cb1b6efda820cc3a160b2a61b572534ca5874cc3b3a0fbd98f8 SHA512 c7262f7a9b08a40d2027900f80cc7f570b7ec8502c19c949eef6a9c07dc18a75e6fb34dc823846968b5b3ef53a16aa6dccbf0a4a143bd26fece2c2e945a7ee60
+DIST firefox-156.0-es-CL.xpi 523361 BLAKE2B cbe225a08da14e183640581e1da532ee2a747e257699226d6f6018565c7cf06737b54349f38448f60c0e201545f67a7af2e635e7497edf99845f58b2d2feeb0f SHA512 7caaaa64a36c2990af42088d11386e91cfa38c48f3cab60b8538f6b7f8e56c14b1f2bac88a7d1d5bff7d44057732675530bacbcb84a4921c799fba980435ef07
+DIST firefox-156.0-es-ES.xpi 511130 BLAKE2B d64d0a5e45e7aad3f244060ba1d83dac330d6379db99f4c2f8965439905a7bbe13ebcccb43da705151038b28eeda1a283ec9a8f0148191d04d858475b5c88454 SHA512 f0eaceba8e3b0f680a04a9afd6c100b277c98c06157cce5476b1af76a8bca53f9e4d8bf7261e3ff845167cb0bf9e33992304ce8afaaa8aeb3c98e1713b1998dd
+DIST firefox-156.0-es-MX.xpi 521219 BLAKE2B 5cb4c41083cdc118d3f1bd597748a5bc01205938dbbb8007100f03f4d42dfeb1dac99c096d6cc1056fe08536e4cba4e033a948dc1826a1454975bdaf30fc62d9 SHA512 feabea574a036623ddba51410784c440f4013f90c367162c90091fcb548f0d0ef2e56c2a25822630b739a52926b3f43d7e3793aa9ab4f5a17e4b4204e3d2d458
+DIST firefox-156.0-et.xpi 410226 BLAKE2B 0cd5089b26985ff0426b9eee3458aca61d7a6d9757b8e9679edb111ef42b6b1f959e06c0cd688598d3d46617901b12511c259e44e039b82801a87fd45f227f92 SHA512 e0538b446a18f27baacac5095e86ddf591ae94e5f7666b04231e560ebe8ade489aafd2baef4c9cae25b8078bee12973f4654708601d2dd881399b878af016608
+DIST firefox-156.0-eu.xpi 505930 BLAKE2B 919ebca65d123cf85d3ac975d8f8fe9325306108dbb9a42c54c6ae14f8a3f8fe0be7cc146829ddbb47bbe5f7c443c7b059de27cb2d162f141b992ed18daf0f67 SHA512 ce3889f06770340e6250525bce762026280e85e44f68c7f6de7fd69adb2196ef81853463d2f8d544cf9e6725790034cfb8327504bb8eb2697029973cd1dac4f4
+DIST firefox-156.0-fa.xpi 477674 BLAKE2B 599013a640e9cdae89f63683027a9d15b938fb93e5d1384269c42728e712ae7ad1b9ef2e76691e9780af9fd2d4016d3ca082a805650ec3c73add8a0f6fe9ff42 SHA512 166ad3e29ad966dab625065cefae1248b715911c0b62cb48c400f25f30e6a0a55fcea2d1e5e5cc2ce77131d602986defc2c18111db54f6b3fa9605f70b2876b3
+DIST firefox-156.0-ff.xpi 382752 BLAKE2B dbeabd1b06ec0b122e34ddce71e77dbcd2b345cbefe735952191ef9cc1982e4ee31c4ddf41078cbb94c92bdc0c3061bfc74f9d976b102064b1eb99251df2f46f SHA512 99802490e487b408bf4491b1ec68468830671fd679a49c24f0f4dade827ec2597eeb393e42cee18b6027a399daf43c765aa1620aed07e69c56c4f6d398d0185f
+DIST firefox-156.0-fi.xpi 510180 BLAKE2B a83be8e5488aac045be0abee8694e712858e501abe0d34e5a2c8b59ce531d804ed6cc27320d67afa563c5867007d521df8238f5332c3abb410ff76ae3ad93c3e SHA512 2d2008887d3f6d89f78f2199ad6c6db6058fb5766b2c6ace70861e43b1d829efa209e97bc459475468fe1149fcda2c2ca4dfde83281ead54d366ff0615890290
+DIST firefox-156.0-fr.xpi 538109 BLAKE2B 8dba29a73d331e87276c50eab2ff53ab6c9b60bda0eaef920dd867a139281d396bf08a77effb49b123f10dcbcdb721e4735f909b4da70f1ffb6909cd652c74df SHA512 d4d0e8f650e650d63837f0fb751d1cf6c21322f27b5ce5f13c1720b5830ba839ef2ea26769e1baacfc11ee14073e04a29df819c3c24d0a3d48a7cf7324a47d22
+DIST firefox-156.0-fur.xpi 511342 BLAKE2B e96fe67874456ed19325cd1bf030f1ed0f44f1d51a478d6c38f00a1a593bc3550570e489308e4800eff001337677a1fdcdbfa6f281b0c798ec3d954604b9e672 SHA512 ad990d424fa48f39defe4ed745566b5cd360f24400f02bfae96df4733fe6f6e0e45132ce2a702fe18bb22fb41cbdd5e98c309be5810e04f70c7f63759022f8c8
+DIST firefox-156.0-fy-NL.xpi 516878 BLAKE2B adf410f2fb30873481335bb52313401362e9bb1a7e35e44272dd605e38c9fd6bbe4a63b847b6b96e6bcecc372509e52d65fa9d5a36dddf9b35ab78a59003c29c SHA512 b17443fe59b17d15281d0c4b5099f98ed0976fdee0e67c12df1071671d71ed0387f44dada1d924599f2ce0adb833ed4abcc60133dbb38b01c638585927f9997f
+DIST firefox-156.0-ga-IE.xpi 394629 BLAKE2B d8a5cbe21d9b67b87ecd9e3ae0928c271331b59dd5028929a448cced2c554a3a219409f8a860fc851feabb5cb17f9ced8ae8e8ecc8117253e050b3b75722d861 SHA512 366f3778864ea76cfdc374b386c209d9208fab68d66b0ca45f1608ab85c4a26d9cb41da10bba54bd959af388b8b17217590da87239d8b720228e85e68702dd7c
+DIST firefox-156.0-gd.xpi 451730 BLAKE2B a1428c43e3da3c57c33279562e29586d7b7b0d42d4eacd0927874c1a15383614781da34206f47022b6e9207731cad0422143ceb28d21a0a010f8f122a26a7422 SHA512 5023531dee556cc3c4a3331cab0c34b4132e8f4c8290dd8c318ee583a847d8f6b872e610cd912240079892d61f9943d07c888723ee328a243637d3e2f482fad2
+DIST firefox-156.0-gl.xpi 473490 BLAKE2B d01d46c28f768ab76831fabaaefb6e027dde40455493962f046b229cf89dafd2330175c1bb6c7ddba800a29b1d0ba140ae41bccb001a834e6c4abde40630c2f4 SHA512 b32fbc97ef152dab0fd5bbe5a551f90fb619b42276c79a68489fca6c141ef7d1e93a47b80e5ecb31fca532a3ebd486b46415d490a4e5e5ec81d3e6f65a0f504f
+DIST firefox-156.0-gn.xpi 526015 BLAKE2B 552abadf38805064cf922793fb9d13969803b3eff49fde4e3bec15887c7211b2761f0da9f77fd3e80f3beb5a664230da5f0294de78c355cde51cc7cc682009e0 SHA512 feb1318f4544850104e001aae6783885add2b9a06163e5fc7ee60200a90818b09c0305cba6f0baaf6b5df1bbac368514994a271bbef62c614ac778308d03c36e
+DIST firefox-156.0-gu-IN.xpi 430044 BLAKE2B 36c7605dcf825a6e2539cd20c4c7810864e1b7ef0009d3f1bb952b350b18f143b93a267813039ccc8ffb7a29569d31f9e1fdffc5475f1041d94adaae13acfdbf SHA512 191aad22d3a75dea86d2c7bb98c809bfc7372084ce0f426afd29cea3e675ebe54455df12b4349b696ffdf19995760b4215df6fe38f6496bf29ba6df30df81b81
+DIST firefox-156.0-he.xpi 534626 BLAKE2B d30da071b005960d559dd574a795b35347c234d7e528c86c96a050b53e7ab5c0b2ebfa389b98b312dd790d0198f3f62eb4e71814e4343b63f853b2a77711cdc7 SHA512 7e0c6ecf5e77acfbf5ce63a52e021f52b104c007e2ad6dbfd5fab209abe67b5cc3d39706be60cfe7e93f7e45ba9fd77f1b29d958ea2837e77c2575a58f671a1f
+DIST firefox-156.0-hi-IN.xpi 444482 BLAKE2B 237958d80fcc62172664c4605d002eb9a68ca3a4d27be8267862ab454e56c60a158c18fc2f31f7c48ec85dd2c16ed39149536c29780f1f2d4ba33f95ebd2c238 SHA512 ddc8f86ff4853356d5d1b0131b484e19828e655b1ef9d165ac4162134386bce7d49d03138a340345b18b5fda45ff78242bb9891952d34462c09f037437392849
+DIST firefox-156.0-hr.xpi 499953 BLAKE2B 00ddfa4bd769fdb35dbb470072ac401ac36e6a15693854b13a3b6cffcbd9d43a7444f2c44abc0986300b31294b508ec2894ea0e6db452200e145c3e96c521caf SHA512 0418002372262f802778e2b1c38a24db248999a96549db6320b65c976dd78f577c5daec4f23ba129874100a1ed1e2f78c9917ae29d3f3104ae72057c7994126c
+DIST firefox-156.0-hsb.xpi 543506 BLAKE2B 46f9b96e78dfaba971a8c6dc0084465e673cc40d99253ec3bdcec5116c8643c9def3c959e94b72e98d00f6e87737475ac346a99b21b802a997c91491bb5b7c16 SHA512 d1a7b9b6546f29fb2e5905ad467ccab75fbea2acf5c6d2243aa245179f9b80b6cbd038a9157376c35a92bdf145f0929196c3e39e367473d1bfe20ae8db8ac5da
+DIST firefox-156.0-hu.xpi 547579 BLAKE2B 33d9e1e98fda571f148d6283e44e22361e515bc1090d3e42e52a84586db14652bfd405dc3eb43d7b8e0a8c0d6418132c877205fa533707a25fb079a3e049c554 SHA512 040e5de06d4926b3cada4f342a10fd228b3b179b3e4e675019fb7e69fd6a948827a256683932ef03b086247c3a673ba2cfc58d04525c69eb653c2994d511938d
+DIST firefox-156.0-hy-AM.xpi 548304 BLAKE2B 9a42a2247ffd5654a52affd7ad40c70e4b774dca55c7799e100ae857aa6eaa7de51cf1beee18e9804a02be76dba877488ed4997f0930b9317c76542b8570106f SHA512 5ef3573418d0173165fceda25a58dd82bbc72934a9376d819d5fb904061779616f7f7de83012495c1a5f2b2f094d2a2a281defcf058a764f44ee80223b1f8c99
+DIST firefox-156.0-ia.xpi 503738 BLAKE2B fb9f8672b242a96cace62edbc74d373ab115d14ae18903b50b1fb76e8bf1dc8889de875ff476ba4136ef64e22c7a7fc27064f12d2e2ea7af085e7d31539527c8 SHA512 0c83b6129567ca7a8a191e3e51eaa6e0083658d3ee7f567954800701fa4b7d1668211cee721515f5b6a460edfe24b219568729107a5575dceac6f4f4f64ff213
+DIST firefox-156.0-id.xpi 466176 BLAKE2B 1002879137e2c037584e9144247828557a9a13e5764d9566a8583161f642c47c9ab4be2d23843de9a607daa9eb6f5d19b0e89ae17691b2aeb9ae27af97b71212 SHA512 51debe59091dc3d4f06969ef08cbd9eac564f6336d0e6512911eaacd6aedbc968a60afbeb41270979345e204bf0a1dec4c36d025f635ee44c04550ca98357542
+DIST firefox-156.0-is.xpi 477010 BLAKE2B df5efc182f04b3b50c32565e0bcf511435cbe1578d6fff79dd5ba4496f57ec9568569a7164016ee7035525e8d5f2944c095829f8d0fc6a3f698e29c66fc1daa7 SHA512 6b55de567c6ad2e7d25a3b59b969146415276ecdce84cdcee7ab373b7fb6247b34ad7e0b82d90aa1974c20beb35384d7a3f6fadc0c1193fa41123caf1b59cdff
+DIST firefox-156.0-it.xpi 516945 BLAKE2B 9f041f56ee237763f80227d3583a1bf913c154c16e13a59dc7fb1b2a2550d9085cff2c9628e201896ec997f48c9364e3080df65a552372de8d404569ebb79f08 SHA512 5d1bdd23cf6cfd7e11114674a6c77b365be2be95aba08d5cb872e0a4dd170bc8428d074a00699156b638d7ef2ba3d7c2783bd171b7b53b6463ef13f6acc73ab0
+DIST firefox-156.0-ja.xpi 563509 BLAKE2B 78222286c7d4ee40a0d279b8b2cf29953d665580912cf6fe616f95e48fdd29a7f04d0c0cd45f502de380a3a10cbe87586356cb8c2ec29651356d050f47daa0a1 SHA512 af4f50021f51a9a84eb270770e8fdd87552422f5220362753bbf99a336bc4547aa18950fad95e51b5ecc0bcbc2a082734359dc881c9c6f255b2c4f9f6561392a
+DIST firefox-156.0-ka.xpi 578072 BLAKE2B 1836063680cb6505c857ab57925daadd2c01622b49a04c59302b6b3630da8300b97faf24e34398c7db9eb5d14aad7e76fbdbd6767c0c16db9e129349132ef42a SHA512 4cd0c9c7a35c779f967f688b2422b83bdc533ec7627e4711e72b9d291b5dce66f9d96e1487c7589fea2fb11055ab5c8b9ce009d313a687c1eb9846d508c786e4
+DIST firefox-156.0-kab.xpi 463131 BLAKE2B 2c307bdc8621c631b3ecee758ab2ffe12d8eddec986520f02ad44b324242e777b82d485dc4fe325f69ccc8e69918303861c89d7f53717672e44362e18334e336 SHA512 a96f4ec806177b3fa08ae27e65521a06410da0f0120a7845f710b79c14892bcf74f0d0af7fe4a04ece9f943a754a62265f6f37d3833a9f4a0569700cfb2ed59f
+DIST firefox-156.0-kk.xpi 604589 BLAKE2B 6a9e9905befece92d23ab8fe393d1f608f467342e8f0ff0ed8242c25a5353e54909e8b3c79f6c72557230023fe0e12af8371c769ee8d1d3f162358ff88fd163d SHA512 e1ff117b6ecb38e0274dc31213b26cebe96b06686282e5e3e3a43d29fe4252962ca0ab23333ca64d56ac66f9efbeae5d834b4d5e93d011f15d7fba3f50df1506
+DIST firefox-156.0-km.xpi 448637 BLAKE2B 6e989ca8fb012b5b78298f09c0cb5fada1c4af739244f2530a3a92117718a30e69ba3fa8c081c0854d893a8d014aa030913e0a40a20f024a7bba6c12328f5d12 SHA512 c06734c5bbb8e8a6ffbfec26d6c2c0c36e675ea84376bac59191f4ca4306d9e5e207ca1f7708501f6232bb08bb61100dcc412fb16cc21d4ecb4cd0a9290f6906
+DIST firefox-156.0-kn.xpi 412871 BLAKE2B 643e9925b3eba1f21eb785530146de519ff19c4f733f3ba82529442fcae73b5ca569faccad033851fc1352c3655d05aed041eabf78a9ed7b9886acfd8d08cd79 SHA512 3ff51b092605ebe279a0351c3eff3ef1600046072cb0e41b02be6e95a338e8133d245f1bcc0d1be6c0b3eef04e6085bbbfbde8002a25050dc2e8d32fd1fdfe17
+DIST firefox-156.0-ko.xpi 546731 BLAKE2B 9da9ff28377ca8a33a853b4bac5c12a873321049034952f2cc107b071f4024582cdaabf9486363a1874f466fda31d1fa9ecdb679506d892b0d8856c69fe7b67d SHA512 8a7e38cf88680c3985c4f31961b3a153d0dc1eb9e13dcf2001ce05d6070e1157bd3f348a6bd5adf7855a859e362715fed178e8dcdb9ae2becac84c7b53f10af3
+DIST firefox-156.0-lij.xpi 391394 BLAKE2B 1879049b04ea0e59d9c36d1ce0f977882f97baf0b0de231e74bee536c908ad7233153e7ddde89cef7f4071f18a443598c3e58e24b9e18d3dcf8383ae35e6cf6d SHA512 b923f5dd0ba97d059be100b77bec57981b3ef641b35a0cf6edf291508a79b3a0c193f2f622f4cb4b805d8efdb8e5da135588701b3716977025f7d7acd5df52e7
+DIST firefox-156.0-lt.xpi 431938 BLAKE2B d6218f3aec07231ccf4e7a8a5e40f3655b1b98f63ed154a5e4cbb72fb6dcba8c9da7e94cf311563a3e63b8d8257dc39423ea9248c4215a7b793b6346e910dc91 SHA512 5d17e6f577f23111ae38ebbe611861fcfc9edf7433d8402b0c6b1e975b8643c15e6c56e2b137e596a2af061878cc7e7728391c3e349298351893fa7ce16dd950
+DIST firefox-156.0-lv.xpi 462190 BLAKE2B 983ccc4aeaf93367a06855ce6edc0d1ea61e6693184b8ccb389d466e0d1dd73fd0d8ae57baf99b1c716ef1d802da645ca0888f0b9ac8604ddd4a0fe6e91224d5 SHA512 81b4ea123534f62ef7164f7af18e810a2ff4f9778e75f8f268dbe79c23f8f19480e3b6b20ecb7cd2a3774f5b5c92ee43089fa5055d9263d19b6ce963e9fa8465
+DIST firefox-156.0-mk.xpi 445733 BLAKE2B f66ab78be16c74c04e4ff1384fc8e861cb73c53f1c5f3c8a6fd4defb7a3aedc03cf842170dbd4b1ec3570a8b14a489347bfd3901c7b520062b5e59fd8d68696a SHA512 1fd6a8b8b748491af6777b38385774e13e56ab34f29645285e0e8ee088706253ffec34bbee7e77a53352c8ce5c180d77b7aba08f4cb85789d8581047622f3d1d
+DIST firefox-156.0-mr.xpi 427574 BLAKE2B 2c73de98a621422c7b8c522be960bda7bca982edc6b193afe5b568df0135cffe2877fcab96c81b5e0a461496a39f44737590260001c876eae4243c0f18765fc5 SHA512 6d589f94500f2baf9dfb509e60f9209c9bdaa906e2c6b290fbe0946d9ffb0ad8d7375ecf149c4c37273df20a8801f67ed1d8bbca460dd5d9ea0aac820546b909
+DIST firefox-156.0-ms.xpi 389819 BLAKE2B 5c47f910d2975f40c1c5cd2c573adaaa8ffc687435b5e43dd5eb7743e23409a96ce84c5235fbc38f967817d8e81b81c6219d7ab2df31c1131af495ca948cf50f SHA512 0002a3988e07a467954fbae7563aa8b1ac611f083a3eb9b7ad0fb3043118ffd4cc03ea368f564a9786a2bbfe1be415d7ebfaff3ce6ca99cfba5db34c2849cc71
+DIST firefox-156.0-my.xpi 424231 BLAKE2B 1df1934c1411acd897a9c5c8b8be943f7d65b9b212541211d64a80186445abf7b83b944c4daae0a60d6ccaca8f84e4c17b29ecaee605726b66668513a4bc454f SHA512 7a8c8538913a7fc80aca429c703229b82364962b2fb10e8d4208a2b3ee56deaade19b7408423f0175a2023b029361f53b691ea25652ac86434daaa6b176d4187
+DIST firefox-156.0-nb-NO.xpi 502702 BLAKE2B 6c4ac3b64f14046637f0c20886bf5de4d56edbc3f2c036d5f7b58a34ab5700574bab00ecf3f1c4748b8274e2e90b239e98e3e2a57c8f9ae535003a0ad803cb2c SHA512 b7c3acce028bd32282057202389489cc658c47664533b9048580c18e31fdb895de62ba62e99cad8241e80424c104fad4e8d7778e5b9dd932d8172106f854d04e
+DIST firefox-156.0-ne-NP.xpi 425406 BLAKE2B 1b3909df412a037a73a14ddb46b53c6a9b679e8fe6f672583e64d6b0401aee32961a4001e85b5938ebf393b2af445fb036d298dfa5bd8dab0ca5998936e05fe8 SHA512 30f6c26df86c0ff443e9b08ca8661ed2f97849136cb75eb38f87e0f8018c54be83ec5a734a196f5d0b91546f12960b44091c1a2738c162525d87bca5042ed14d
+DIST firefox-156.0-nl.xpi 510995 BLAKE2B 13f015722028a2bcf397bee73c4823ed6b40c6fc1d70bd8dc91d2e2048b14d03cd64324445390103860cc39998bae5f487d81c993a3810944418fce2b1e9232e SHA512 c07ff7c71067c0473370a05fa2423ef134673cf01cdfd884054b485ffa1d56cd967b745168de7d4aa4d4b3e6bf913edb7c656cf4d5053e83b0f3e0121dfafc05
+DIST firefox-156.0-nn-NO.xpi 506447 BLAKE2B 9f8988b9adefa340d6eecddf5c4fadcc78ce933aea9a2120fb1bcd093674cae378c43865439c0728051729eba72dc4599fbb77459f2607b4c1681ca96befbd0b SHA512 6f1d49282b3a780dce4530f28d2cdaa3d123f7fd487e7babea04deef74964049b62b3658af09fb9efacceba9fbd24e3121da2981549a7e40f73cabf880f7e060
+DIST firefox-156.0-oc.xpi 455066 BLAKE2B 1048c0cab31f87e0769910891a3708da1032394cbcec13ae051ca9b1053e6cfd5ca3a6bc2673f5dc8ce5409cab50af4c43dc042be2cfe1f853affcf07b7e8e39 SHA512 17d0d7c60415ec61ab9bef579ec348ac796c164e4e21a265d95df7df065073094cdcfd8d825476eff3451c181f37be2593f8028bfd113cc4a149c581764fe5d2
+DIST firefox-156.0-pa-IN.xpi 597582 BLAKE2B e2895d5031e806e02abf5e17ecd049b7f04cd501cb142dae57688503e5cf7bf1916e64727c9161195718992f412b25b75dfe494b9f5405bd8302afe89aeea151 SHA512 bde8143ecbc81ece48834f7914c31c5f94cf8ba2b87bbb82efd55fffd2b802ce7d89f4c882513f3bd7df14a4dc48a58a99f58fe280d550971b0f9494ee9594df
+DIST firefox-156.0-pl.xpi 544761 BLAKE2B 52c97eaef8476711cb848d0e19e4bed585fd7d4ed42f04df5ce5d7d8fdf1ce5a2aa05a07f897304fce30384163f5f6461c613c1c264822ba6670efdc74839abc SHA512 5edc7821bdd31cfd66e8e4f8abb521ba16ecb5312953d2c4bc933135a3aee4c256d26f448ad232b57f3a17ae6120f30013fcfb8e16b2c5d302dba21575b9f2a2
+DIST firefox-156.0-pt-BR.xpi 515942 BLAKE2B dacd27176fa1af936d8302b150cc04492dbd368e624c7d7e47016fdc21e6943a11c9d24a8d73e623c313d667a6b604e345a4671f7778cd0779555ecc7d889b22 SHA512 105434d0a765d1d1b5c7f7b3bebe70bcd2b4264c649298871c6eb244fbb920e0e10f78a3d071f9203de5b1bd548e10c17658f16a2276c1b148aa1e7f05e5a665
+DIST firefox-156.0-pt-PT.xpi 523613 BLAKE2B a4d6ad74cec7bfaaed24283061c59c0caba92ed1f776318ae5b3e4c5c2dd890e28e97ff3433af19e28d88f8016d3003282b94ec699ad31efc837da3472395b8d SHA512 03584e280bc9fe528f001595e5dcb17c8ff084f4e7d17e9e1ef954cdc17bac500ced5e930e280e3458e5420fab465b6de81ff3aea84652ac41e9228c30cf9f82
+DIST firefox-156.0-rm.xpi 481995 BLAKE2B b5e86c29f19c1a3697a6baf2d1980561df4c9e170cd19c1e132efccf6a2059261c60f57c5898246f863cf96a6bb6c83df62db1235ff4590dc288710da74e8fb0 SHA512 df78a9b58bc44942bbc2d0168260ed4c8f7d7d26575d14ce3a387e56916260459e43c55ab11e31473a2cebdb2ee6bcbcca27d69340ce5d99f73907fcd9068282
+DIST firefox-156.0-ro.xpi 531095 BLAKE2B b40b7a101e1ff81590931a7ce30aceb880bb5935fd3d2a488a003c053f6d58313648498670fceeda89fdf50d254d72a33f1efb7184e7e10ce9a61ac92bbf5b62 SHA512 aba956fb452b8b1d0ba12bde504c4c4b4b84b657e56deba337abf4c37528f5cbf56ba642b57959049f3a825135f7ef2aa10ed095e85523baa905dd2fa3f9f831
+DIST firefox-156.0-ru.xpi 617975 BLAKE2B 9c4cb1b41929b5cf9ab2af3467375afa5029923ac7ec0ed308f6da5c32cfa568d413aa50014a77171e1f68c39ec6f6c987ce42ed55be47d98236dbb05eaf5fe2 SHA512 ddd5792b7878f67f824dba3723a267e6d529177c425eb5a29a40c824c36bf670352d25a266b7c3dafa5be18acd63af2e186bedc2a94757d85bf96e66d93f66b0
+DIST firefox-156.0-sc.xpi 487785 BLAKE2B afc93976d1e6b9b40614eaea82569339ab225d0d7b6eba0e828644818436d2ee284cd14fdba21cc112daf24977d14ec6437ccf2419b7dcd4bd82db19b5e4c6a7 SHA512 d8c6abfe06e8a2e284a8536b6753d56fd9100b8bab246be28fd3f765c7b23521afa459100a6d9ab1e0911334c483c869b50f741aab9d07f0eddc06b320c43b88
+DIST firefox-156.0-sco.xpi 394798 BLAKE2B 0c0e95b2b4a096166cb4195750f6cb070a735103b6ee4ed721901ecfffb78bed66edee650ee30ee112f3195ddc95196158e32deb686164eb229154ba54efc315 SHA512 b673d4c6e77d83809a81f5274c3ae087a22a5eb4a834f8f5369ef80dba0c57347ca8ddfd7abb658770381a1b45a96e15128e22a4094d342abc3963dc7c87adf5
+DIST firefox-156.0-si.xpi 472440 BLAKE2B 2a0ea9651c69bd30e60b05f262f476b75e905d33d15386888f7fff477fe5a50838cf242b051399432795e743feae81faeb58bb3e61069fcc9102550d8b8bef71 SHA512 8ff9cb9bfad1cab20c74bf226b7d9a3d5030027496433c83758dd8308d5026e7702e2efd8aaa5a4ba31e0f237b0528bdf0783ea2c537cb02bf6e27d71675968b
+DIST firefox-156.0-sk.xpi 551704 BLAKE2B edac2c5b64e6feb91862ad63859627898d6a159d581bbd031ff7121b5b3909d11aa589854e1cdeaaa382bb9354caed6156612fefd039c4265279807f7d7e1cb6 SHA512 9ba42cb3388feb2df116b0b99c113f0c9b0bad2e05e3e9c47c97b3c8f7e96a4beebc5b2218fe600543cd83d6cdba4dc7c5b6c4a8b1a5b4ee2a8e7a2505dcbe5c
+DIST firefox-156.0-skr.xpi 519644 BLAKE2B e313fbffc9ee540dedeae56dd78b388f7f98dd8bd867921aef2f7738721aa4c21e8e9e1cc72865a6e8fd058d8eead7a98fad59b5f1e30fe094e09e0d8ca6776d SHA512 064f0d7465f328cb6c0cea7ba9c8c1219f75709e3f36165d541cd66604a7a5921e1c9a510629da7625bf2994bf9e6769d76e24485ac4a74564db132d21a18066
+DIST firefox-156.0-sl.xpi 516521 BLAKE2B 944ef90c74fee79b89a1dcc5d461ff0f551e33fbdedb1288496c816f7873d855b656571af8334ba3a13cc64b27ede8e121d6e85209dd122bd379e7311a657aa9 SHA512 cfe5decf75fe8b3f758cdd7a9c53156df61f1f8e0b0a33962d28c27c256ac3d72bcbb38f029b73dffeb35a8691d40c91dd68e4b9792e93b549407b354ad04dba
+DIST firefox-156.0-son.xpi 356989 BLAKE2B d7b888d0b8cffa92ebb0b7d375bd760efba99bd56b31650b2aefb950e918da47db9374412e71dc2b307b2eda8a06eca85600d94bd68685f08f7aa4ffc4da0d25 SHA512 65705b903adc3688bb202b168b857b4bf74aa94d5e8030c3309df068f7dce6e22f9967694f6ac9d2e5cf6a94874ccaeab4ac514bffd6e4e257e75dd43cde8dbf
+DIST firefox-156.0-sq.xpi 510325 BLAKE2B 5573bcca00ddd87696066fd7746ef606ec81b288150bee6d94da3670803cbd8929a44c7000b6c789ae608d9f2778197683203b091f372c405b673f8b1653101b SHA512 55b736ae5b00f2321e647b5f0b47dc0f91b6dfeef124c654c9735926bd3c4db9676c1ec00fff26cedfe2d7fc12f15da39cf9273d1529c1c3d107b613e3655948
+DIST firefox-156.0-sr.xpi 586963 BLAKE2B 458017c4afb351c2e750a8f1eba728db658f8d9eefd3d076800d3ed2b3cb3b4198ebc9b59354195983298f2b796a51362b1e05fa5cbb4895b11880db271dcbf9 SHA512 6a00588a2e78e7c26b8c76851f6ed4cc488e13cee25fff43a064b186e6770267537001f8e9248372b721227f3b6915732616b4ee692b5206b6b742dca599223c
+DIST firefox-156.0-sv-SE.xpi 510210 BLAKE2B fcee8167f2ee7beacec6b14a09dbf808636ef126af35c8f096bcb4f0e236fabeab1ab1e8574b31f9ee611e8da60d6d3d5427f4732a40dfadc8c58d1b87981775 SHA512 c95b606f0364bc147197668388cdbd2a00aa5f124cdb00b88d2259bed6ca4f121602c747b394a7af8b85f70dcf88b5735a5a73d56eac39d915d2b202319c4c34
+DIST firefox-156.0-szl.xpi 414094 BLAKE2B f5f8991e0479aca6e0f939fe7b3640265ba3f5431d9487135a70cf90be069448f44093a112e452e143b22b52d7bd12459dde239b1acb8d1b9a6fb4f81fc8334a SHA512 cf78eedcd3638719d57ec9a92441a4e381051b82634fb1f95ffc23543a9b1b1c6a36e4888fba5ac76c6b9beed8d496ae3c697734f7d80639cc6841ea1d8d8dbb
+DIST firefox-156.0-ta.xpi 415987 BLAKE2B 8cd5f059ba8fb93eb188d37c22c4ee71f9a74d8f1a13d4382bf0f5311dd7219a1cab8a94bdf5e094b1fa0180a4e06a599394f66084053d44a6db5d09608e8881 SHA512 0ec99987b019cc4096cff16079427a487ecb0b1f1267df0163ee507ef4e4779db731c4952d6e1d9d2e3b261d50a7f4a107212d02fbc892c93603df7520f969ee
+DIST firefox-156.0-te.xpi 454878 BLAKE2B 4ef88e1462ee2f49adb131bd48ad6f4cdb7592a1874415e5238ace7dcf48599ba6c5d15a2d1a847453bb2019e634b3db91e0aed295f54cd23c93f2eada9b9b08 SHA512 cffa28010dfe5451432e32c39210f76a12789a2cdb375947925f1abab0189fa78823bfcd042bd0eddd03e3ac12985d265f599cf4017829b8947651be8f9f9e78
+DIST firefox-156.0-th.xpi 578263 BLAKE2B 56e77e518cc95beb2938757626fe99d900ee3fca09e251f789e737eaff9cbe357e54deafa7a87e553a37c59b5a07e942937bf07cdcdc86add8b1b2faa416df62 SHA512 c1432cb7f5c056d5987705f4c4ede1939e6e7351132f8d3a2e404364f4286c9c2d63f952e3b6cd2ee16ded814825f4c49d55fc09f5071b337b3662a31f178310
+DIST firefox-156.0-tl.xpi 411628 BLAKE2B 4e28fe3a308a89ac35399a52a3d63241eb2f33b1b8502c976da9a2498c66cd203f3c21d4069311fa3fc190e397a34e670a707147cba28397637636ffb48996b8 SHA512 dcef17e7b626efdf48dac279a72d76db3daf9ff27f0138d503d480ecacc056a527dcf35493c48599512401e98f57443e159d09cc3e322a6947d69080449eefa6
+DIST firefox-156.0-tr.xpi 526101 BLAKE2B 857c60811d913e5be77552b76ab79b53c21d0c7694bb19f691697b2f48cd9905ddc6eac4dd3d0810da402e4a93e9697c84f33378b1b4bee4ebe6783d079eb6f9 SHA512 196fa84e28ae9939de74fb3724395769b227cc43d31829e169ff8425dc1dc597e77e816bd0653f7642225363052a7f946cf073dfed1043c08c8618502da7afe6
+DIST firefox-156.0-trs.xpi 402163 BLAKE2B e9b5c35c7b7d0d780627d8484f8a6b40fdf66c079a089605042c79e5aa3997b18c87acce057666b1e48397d493358e8067e80ea30b2ee09ef3809de041f2bffe SHA512 d9f3cc2a8319af2805b50750c25a8f6228cc47981bbf660b417ccde682429a18a1e4143277b32dfb68a09272d034d7f635a74a745fc3067647c5b89fe8b3e463
+DIST firefox-156.0-uk.xpi 593711 BLAKE2B 5b80bfd8e26d84269cadd43c80971a9510257dba043e810eee1e06471188763a6693982faeab7a239cd1532f887907d315dc90863846123d683033acb2710a69 SHA512 3bf6a0a6ef3721b0020d192cd129c70a59e92fb5462785f64b7dd5d39b936b38755ff7bf874fb0eea438447c3719878f0c6ba8ef9ec6263acdcac8d45616d7c3
+DIST firefox-156.0-ur.xpi 437156 BLAKE2B 2aab9c2ef07535012c56d2f83fde8bdcfe173ce8c3159cc53651a1c0be34489a57ab9b81353960964d7857cc3870332406c0308c68ea19c624f73b5ce0323275 SHA512 19ff65f00dce20cea29666a5bea02058914bb0d77311d991473b9832b4d918d57d84d54c25ff53b81ec32c6803d87cf736e666c226a6c7562e7ec94da7d333d6
+DIST firefox-156.0-uz.xpi 384110 BLAKE2B d6e9efc545b5865a5a02bb942183ba4887206728253c6c78118297f195b928601df149859bef8b7e0d83f5bd6c1b73381ee1474b8317935f0ab1b23a74995041 SHA512 f6242cee76058d5e81c673065e516c335fae656ec0954d25b70e6bb5f6cc0faea2a980636d31e75ee16b6aa589989893479ebf38f9a1322225144c62095e8e9a
+DIST firefox-156.0-vi.xpi 551897 BLAKE2B e1b06b701bb9ece69e89777609319c282653d0ee1d36950f10d83eebb6774953130fa4e149cff1444c3988ac52b4ae2c7428b525f8644290f779b97e8d65065d SHA512 d30e142ad47d4b8bca5073e22f909cadcb64104c864428423d02a659198be5aa9acaeaae50525235e0d68da6a7f1e534ca90c13f04fd0f95c5f8c5d0b2a294ac
+DIST firefox-156.0-xh.xpi 362670 BLAKE2B ade66c12922178edc3d3dc240c8b30430128eff47e71607f59a4d6ec8633244e83c76715122c432efd287689ddbd01a60f5361fad22de5f0a4512d1079b399ee SHA512 8a12598c2e1abdbd566b595d0c4374d332e4ce8e5536424759d215aabad6fa4787888c56c15b5fa6b23edd920a21610575f5a6d69f89e724020f3bcc5e0675f3
+DIST firefox-156.0-zh-CN.xpi 537329 BLAKE2B 49c20a578e5b245a114a7ec62b8b2d0c93df61b9637d8f10b764e653d9c3c5bee60f4f1fbbf37629e90a66a46fc1901c009c9fad8adca3123eed7d18625d80c6 SHA512 312b0ca3696c8f98e00e2a1d956108c790be71398c66465a92a16353426a2fa87f45ac4dbedce2fa68c69e19538e31dc3db2ce2964c8acd6f35a566cf3d726b9
+DIST firefox-156.0-zh-TW.xpi 543188 BLAKE2B 2c573f272e0bacc23b8dfb6787a87c24a5da156bf35256e36f481e8f1753a32dd7e5d4537c7ffc7c1843b048597ed072c165bdecc1ce69830e5c657421d0d41d SHA512 5393e303f828f795bce5449b6013c0b1114ca52c45168fcf061fb7eeb4deb48a7254775c39d5faa63688c6cfb6ffc914db520d74e1adb1a935af025deec38e77
diff --git a/www-client/firefox-l10n/firefox-l10n-156.0.ebuild b/www-client/firefox-l10n/firefox-l10n-156.0.ebuild
new file mode 100644
index 000000000000..d0506fb86ca3
--- /dev/null
+++ b/www-client/firefox-l10n/firefox-l10n-156.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 17c11bd0b2a1..ec8c67dc83d6 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -107,6 +107,8 @@ DIST firefox-155-patches-04.tar.xz 12860 BLAKE2B f16f2ce03d625f12c1512ab8271c6bd
DIST firefox-155-patches-05.tar.xz 19468 BLAKE2B 463a5fe05041a97fe6479c362e3898d58d2dbd487bc2b860791a145c625e4a8a57b1646579947aeae28ab2d61dfedc0e003852a3447b9516b2001b8de78e74ee SHA512 a7a55b4eb27301536ab874044aca2b487091f8b63c7f9e1d7220507edeff738e06e043f1de2b8d7938c96a32d112bdeea39a43e38b4787b96894a5d211b16a83
DIST firefox-155.0.1.source.tar.xz 811591200 BLAKE2B 961ba27f944df8814b4c8937fc1d73e11cc67882d607a52f6bee81aeb29fe6250941ff92b4fd16f9aa9c53827299d1b859577b11d1c5ed14ad2080c27671401e SHA512 6d137a7a315cb1d0aac1a3fe314af80fe290c49b7c2e47f8687b25d4720927b2a0dc71a3da9d75f6cab479067db114caa6732d17e888b0abfce99238a8af0f39
DIST firefox-155.0.source.tar.xz 810837272 BLAKE2B 2e043edb24f540c6e967c786c6ac5bfbd0942e9fb4b04fe0072b00efa8b104248a04aa7db297bb371e626f75d5b247c3648b188672ded646c1a716d64fdd6056 SHA512 24292681924edb9f0494eb77a7b19994039abbc3a8c0ba304f0e472b49a943838565723de983bc8ef08e019971e02a3014c8d241bb88c645a06a625c8ace0d6a
+DIST firefox-156-patches-01.tar.xz 18908 BLAKE2B ea2734e98c8ab19f5205ac4ed6ff4c4ded8d061b90ddf7bcca475a3b35b757d9daba337ef6b6a62d91f973f86ae11892a6d72fdd3f2d70e32ba0281cce02d601 SHA512 9131d3ef2245f9445df9569ee7d8898e0bb9e269dcf665353cdb5bd23f22f25e92e497753c30f5f72d24b310333e4674e675e4fd10bad123387ebbf4ff18b86c
+DIST firefox-156.0.source.tar.xz 802800568 BLAKE2B 19be7acf988ee6b7bf27ea292ce36a3a491d7cf4aad2f0c6bdff2f333cf1da540c0fcd5904d5618b7f64624508d0457bd7418b570a8b72d3ae242d5e40fea4d7 SHA512 0463304a0898670d248114f66f7c235166ae2397c3989a7c878c96f0c589fbbba1f1c87432daa22633b9fadd94394adf1dc37f0e67d22b066c75efe5eead75ce
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
diff --git a/www-client/firefox/firefox-156.0.ebuild b/www-client/firefox/firefox-156.0.ebuild
new file mode 100644
index 000000000000..d0b2beb71d58
--- /dev/null
+++ b/www-client/firefox/firefox-156.0.ebuild
@@ -0,0 +1,1301 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-156-patches-01.tar.xz"
+
+LLVM_COMPAT=( 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_{12..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.128
+ >=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.5.4:=
+ >=media-libs/libaom-3.12.1:=
+ )
+ 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.6.8:= )
+ 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
+ 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
+}
diff --git a/www-client/microsoft-edge-beta/Manifest b/www-client/microsoft-edge-beta/Manifest
index 36d6643664cf..b6458aad5180 100644
--- a/www-client/microsoft-edge-beta/Manifest
+++ b/www-client/microsoft-edge-beta/Manifest
@@ -1,3 +1,3 @@
-DIST microsoft-edge-beta_153.0.4234.13-1_amd64.deb 192615654 BLAKE2B 71d1c560ee3f487b88f4286516cb0dc0a2ecdd986d0485b360f7fcb6cb813cebcba1660dd7f6a7266ec0061e7d45848c0c9b72e5f6890adce7412d767038d74b SHA512 28e3382714a1ae8a404f1409a8261597403d9a935ac25934ac019f636a19ce3e800e97c94618179410c25075312218643ebe6a2992b9ec4edf6adb426c3dc4db
DIST microsoft-edge-beta_153.0.4234.19-1_amd64.deb 192654730 BLAKE2B 218f93b786b29066f4376cca104e9a97ff460f52c38e43cfe28ea8136d6fff32579506e8a797f6edd150b45d304bc4b2920c58248c94b8867b15fdc5cfeb01fc SHA512 6a138387f74453751ca9a646ca9222eb4758b33f83fb44dee1f9ad0e6618e8017f3e697df55ad176320489c0d4529789689b3b246bd92141f2118b57e35ddd31
+DIST microsoft-edge-beta_154.0.4258.12-1_amd64.deb 192755798 BLAKE2B 529a994900b3ab3ca9deb021e757ee66e393271a21a20f18fcec8516a591f69697abe14fcf1d51ae9155cf7e0fa05a905d2451bd2ccc11d3abf8aa9b16bafc3b SHA512 077864451a57a56abd1156f0944235a2b51db8236e91a9070522734712125bc611195f64a4dd25b20522eb0b47196ab5226f0f7bdfa3cfa94c6c4c12ebabcccf
DIST microsoft-edge-beta_154.0.4258.9-1_amd64.deb 192704906 BLAKE2B 1a22a64982555fa62e9184bab710fa98ca2596535c890a4f7d7b7ec22f0bad8ccc31fa6b7b9fc6a6a12f18c269bee638b586c12fdceafd24ae0a151006a417a3 SHA512 30cbbb2d85136d8df098775f8c5589187708ac889c884ff4ee3d41246825bdc16fa732065b80c4e76d0230bdaf1078ee7b6b881db795f991a8b4bc7e5466784f
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-153.0.4234.13.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-154.0.4258.12.ebuild
index 4a155cc26040..4a155cc26040 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-153.0.4234.13.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-154.0.4258.12.ebuild
diff --git a/www-client/microsoft-edge/Manifest b/www-client/microsoft-edge/Manifest
index 2c74098fed49..3e5dce76539a 100644
--- a/www-client/microsoft-edge/Manifest
+++ b/www-client/microsoft-edge/Manifest
@@ -1 +1 @@
-DIST microsoft-edge-stable_152.0.4191.66-1_amd64.deb 195767486 BLAKE2B 4ca8a5a92f296862cf3a5aa69e4dbf2f7db82bfd51ea29f786434d9e9d4657c04cf7606ed5a328797dff53f0745104c2a1e31a2f90d53b0ef99081849a112776 SHA512 24030052699bca5d0f078d47c5dd2becf8210147b422f89fa385c9cef3c9c4bc2325aac03ed0185359f5f169b9d79c26d40eab3abf98753937893432db110027
+DIST microsoft-edge-stable_153.0.4234.32-1_amd64.deb 192702334 BLAKE2B 016bb0840dd827dd2f714bbbcb1b66dec97c56563c69663f2df50c279f03dc34371a60ba89a8f90754f71b27276bb15cc9d3a0c78811908095823d54ff59251c SHA512 4286c5150330066c61a5292e58ac2171480def556fcad3cdc9366a8d501fe10ed284d00198140e448ce6b4932b7a77f7ecbee20dea58c7cf51b8158bad5cb52f
diff --git a/www-client/microsoft-edge/microsoft-edge-152.0.4191.66.ebuild b/www-client/microsoft-edge/microsoft-edge-153.0.4234.32.ebuild
index a2d7b75bd501..a2d7b75bd501 100644
--- a/www-client/microsoft-edge/microsoft-edge-152.0.4191.66.ebuild
+++ b/www-client/microsoft-edge/microsoft-edge-153.0.4234.32.ebuild
diff --git a/www-client/opera-developer/opera-developer-137.0.6010.1.ebuild b/www-client/opera-developer/opera-developer-137.0.6010.1-r1.ebuild
index 810483f55c04..6167b3dd6c49 100644
--- a/www-client/opera-developer/opera-developer-137.0.6010.1.ebuild
+++ b/www-client/opera-developer/opera-developer-137.0.6010.1-r1.ebuild
@@ -31,7 +31,7 @@ fi
# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version
# or use Chromicler to handle bumps.
# Does not _need_ to be updated for every new version of Opera, only when it breaks.
-CHROMIUM_VERSION="151"
+CHROMIUM_VERSION="152"
SRC_URI="${SRC_URI_BASE[*]/%//${PV}/linux/${MY_PN}_${PV}_amd64.deb}"
S=${WORKDIR}
diff --git a/www-client/opera-developer/opera-developer-137.0.6015.0.ebuild b/www-client/opera-developer/opera-developer-137.0.6015.0-r1.ebuild
index 810483f55c04..6167b3dd6c49 100644
--- a/www-client/opera-developer/opera-developer-137.0.6015.0.ebuild
+++ b/www-client/opera-developer/opera-developer-137.0.6015.0-r1.ebuild
@@ -31,7 +31,7 @@ fi
# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version
# or use Chromicler to handle bumps.
# Does not _need_ to be updated for every new version of Opera, only when it breaks.
-CHROMIUM_VERSION="151"
+CHROMIUM_VERSION="152"
SRC_URI="${SRC_URI_BASE[*]/%//${PV}/linux/${MY_PN}_${PV}_amd64.deb}"
S=${WORKDIR}
diff --git a/www-client/opera/Manifest b/www-client/opera/Manifest
index cba93bb0d385..95cf15544874 100644
--- a/www-client/opera/Manifest
+++ b/www-client/opera/Manifest
@@ -1 +1 @@
-DIST opera-stable_135.0.5973.123_amd64.deb 144700752 BLAKE2B f0e23b99a413665a7f45e9922318913b5003a7de76071ee0b98abbad2f479268395db8082d8b5683699a4114f00835e9b95e17a28b5cbef01921ad09dd11f4fe SHA512 6ec5076f31e049b606972f21874d500a135bd40aec468a70bcaf72dbf56e64c4997540ee045bce1566eef77d55d9eb1c2bd87f6188173216071fd480db4659c4
+DIST opera-stable_135.0.5973.133_amd64.deb 144694988 BLAKE2B 43e397f0970b6979480f9185c673731b2de2f00925f8036055b4133a37bde16141712efbbd77342c8a40f7333a92e651712b539ac537eb35571314cab0c5770c SHA512 6c15eceb5019ef368ebc9fc5f4b1484a589f48a66566d4841c140f4affba9cefa882c8c5e8b4d59e89d306b54e6151acb1ffbae10281ca28e8597c4026fd3c6f
diff --git a/www-client/opera/opera-135.0.5973.123.ebuild b/www-client/opera/opera-135.0.5973.133-r1.ebuild
index f060274f226d..2348f489c77e 100644
--- a/www-client/opera/opera-135.0.5973.123.ebuild
+++ b/www-client/opera/opera-135.0.5973.133-r1.ebuild
@@ -31,7 +31,7 @@ fi
# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version
# or use Chromicler to handle bumps.
# Does not _need_ to be updated for every new version of Opera, only when it breaks.
-CHROMIUM_VERSION="142"
+CHROMIUM_VERSION="150"
SRC_URI="${SRC_URI_BASE[*]/%//${PV}/linux/${MY_PN}_${PV}_amd64.deb}"
S=${WORKDIR}