summaryrefslogtreecommitdiff
path: root/www-client
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-07-10 12:25:06 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-07-10 12:25:06 +0100
commite810ac4a0e6af9f763f4433863042b34609075a7 (patch)
tree6fe0b3ff24f3b875be1564e273049c1e301d205b /www-client
parentc218398bbbe70a616790cf146c28c1066b9284bf (diff)
gentoo auto-resync : 10:07:2024 - 12:25:06
Diffstat (limited to 'www-client')
-rw-r--r--www-client/Manifest.gzbin6192 -> 6194 bytes
-rw-r--r--www-client/epiphany/Manifest3
-rw-r--r--www-client/epiphany/epiphany-46.2.ebuild89
-rw-r--r--www-client/epiphany/files/epiphany-46.2-disable-web-view-test.patch27
-rw-r--r--www-client/firefox-bin/Manifest99
-rw-r--r--www-client/firefox-bin/firefox-bin-115.13.0.ebuild378
-rw-r--r--www-client/firefox/Manifest101
-rw-r--r--www-client/firefox/firefox-115.13.0.ebuild1414
-rw-r--r--www-client/pybugz/Manifest4
-rw-r--r--www-client/pybugz/pybugz-0.14.ebuild2
-rw-r--r--www-client/pybugz/pybugz-9999.ebuild2
11 files changed, 2115 insertions, 4 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz
index 51419b4006db..8b850f960509 100644
--- a/www-client/Manifest.gz
+++ b/www-client/Manifest.gz
Binary files differ
diff --git a/www-client/epiphany/Manifest b/www-client/epiphany/Manifest
index d8b216a932c0..fc84a447185e 100644
--- a/www-client/epiphany/Manifest
+++ b/www-client/epiphany/Manifest
@@ -1,3 +1,6 @@
+AUX epiphany-46.2-disable-web-view-test.patch 737 BLAKE2B 9a280c5123f1e9afa23d066b11f56fac01e86700bf96b63b330cdcc6e928cbbac16dd782aaa0329d41a959db6cd35c1a9a97727326da6bc00f837da78263a027 SHA512 d0ee294077c673b055a2a9aab5164910950ea56dbd62291226f801bee3d46315a6a29b4e62711b1cf6566e9b26cd03b57e7c76dc3cbd2fe35050673808a2b980
DIST epiphany-46.0.tar.xz 4014980 BLAKE2B e9e72dc562b4ee63698e5b2c8f87945988cd5c585a10ee6782cd2a2fadbdb363292227869ed7f39f46305e007729594a37fc06a384a7a53e2061c2b3da181ce5 SHA512 55d1e89294e0f7cfae10b6aa28f43028bd34053e1d829168bf59b9cce8a8128a2ed7e9b94b8665e0f36e03adae845e0a26ff40c83abbc9962f06ac75e3c36a79
+DIST epiphany-46.2.tar.xz 4021080 BLAKE2B f1ed20b1bd22ab047bff04276ac915996827d64b5edd7dfee6ae816522338f614b1329b051b84064cb1448590de7a432d521146a5a94915605f3841e6fc8c5c7 SHA512 fe564b2cb1c5f3528f974826d17608f133b8b99cc3dcfad1c641bf7aef792addbcb2418b7dba5a3c56305ee5fc2c955a5a12d1e64c50a60376f638cad3766ec9
EBUILD epiphany-46.0.ebuild 1593 BLAKE2B 48273dd684071347113b0833a9ade6b134488c5afc722ae78f11574e12a0eed97f29e3ea0035b0364e5fecda0401964ffdedd1826c515d1b92320e95f5186e65 SHA512 c25c19f5c0624ab9185a89f31f4598df120825e12c2fd512de8bc3d51d082625ddf29987fe7ac0df4bf96ef9fb55a256543db9f67bd029d0dfcffb328c1bdca1
+EBUILD epiphany-46.2.ebuild 1945 BLAKE2B 58de78ca252fd99f1aac126076e706b7b481a13da8fc37eac2534a77b5d3f995310f69103068fce4b4e4b913ebc68a3996185bbf1ad3f2f15369b2bd5b88176a SHA512 4272c920e93bca41157461a04f442e08288f299773274167d7fb773fa0d96de744fa4f0a5e6d226c5c3136fff21a0aa4d31f4392b55516aee28b23ec43f1319f
MISC metadata.xml 349 BLAKE2B 3d863d6eb39cc99c7587d53af80d4df96f5c1bb534e406ee904d3b39f947c24e1153707581473e1477d984cd7be541925b4ff002d546f5d50f1115d1ad639362 SHA512 10d54acb787b2d9dab84b43fcc0e578d7afcae36142bef5028ac3838bfce6ae63348a4e05ee97eaa2f7d90204457990c9cf604c8df0dd714d62b907bf4da3019
diff --git a/www-client/epiphany/epiphany-46.2.ebuild b/www-client/epiphany/epiphany-46.2.ebuild
new file mode 100644
index 000000000000..033df849ad9a
--- /dev/null
+++ b/www-client/epiphany/epiphany-46.2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 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://wiki.gnome.org/Apps/Web https://gitlab.gnome.org/GNOME/epiphany"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+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.74.0:2
+ gnome-base/gsettings-desktop-schemas
+ media-libs/gstreamer:1.0
+ >=gui-libs/gtk-4.12.0:4
+ >=app-text/iso-codes-0.35
+ >=dev-libs/json-glib-1.6
+ app-arch/libarchive:=
+ >=gui-libs/libadwaita-1.4.0: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
+"
+# appstream-glib needed for appdata.xml gettext translation
+BDEPEND="
+ dev-libs/appstream-glib
+ dev-util/gdbus-codegen
+ 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
+ )
+ 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/epiphany/files/epiphany-46.2-disable-web-view-test.patch b/www-client/epiphany/files/epiphany-46.2-disable-web-view-test.patch
new file mode 100644
index 000000000000..def22113104f
--- /dev/null
+++ b/www-client/epiphany/files/epiphany-46.2-disable-web-view-test.patch
@@ -0,0 +1,27 @@
+From: Jeremy Bicha <jeremy.bicha@canonical.com>
+Date: Wed, 22 Feb 2023 16:17:00 -0500
+Subject: disable web view test: doesn't work in our build environment
+
+---
+ tests/meson.build | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tests/meson.build b/tests/meson.build
+index 1402ae3..5528a6e 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -186,10 +186,10 @@ if get_option('unit_tests').enabled()
+ adguard_resources,
+ dependencies: ephymain_dep
+ )
+- test('Web view test',
+- web_view_test,
+- env: envs
+- )
++# test('Web view test',
++# web_view_test,
++# env: envs
++# )
+
+ web_extension_test = executable('test-ephy-web-extension',
+ 'ephy-web-extension-test.c',
diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest
index 393aa9867752..674976026834 100644
--- a/www-client/firefox-bin/Manifest
+++ b/www-client/firefox-bin/Manifest
@@ -100,6 +100,102 @@ DIST firefox-115.12.0esr-vi.xpi 649117 BLAKE2B db2fd349e6002cf67c8e2967421c8179c
DIST firefox-115.12.0esr-xh.xpi 414802 BLAKE2B 35b5cabfb1830b21a34e7c57357fab5375fdae9cb655c7985b6b468008f2e8e8f5e40efb8ade25e92f64da9d6201827685831098887e976ddbc61531ed7da954 SHA512 468c745bcc6ee0e72c057484ad6dcfb84d715432765b1aa7071d8a08d4c7bb15f8a86cafc32b3d60de32f5c61b8372dd3aa0fdfafb4b5c2384e463419bc23979
DIST firefox-115.12.0esr-zh-CN.xpi 650834 BLAKE2B e5b6e072a8609aa65c988dcff5824010276c372f12938e860aa50c5d0cb75de649a1cf2e035c275419435ca69bdd95550130c6de4e3fab80231d40b5ada995ab SHA512 bfa4cd5b8ca8419a0ccb19ffbb7fc7156283bbb784944bbdf1102b631cea372ceddb362cf8181a57bf8587bbaaa28deed78c0ce288b4d8a09145e047ef82ed95
DIST firefox-115.12.0esr-zh-TW.xpi 653669 BLAKE2B e5b95c1f07618ea7ccc285e77eb92ed92ae3573af29ec29aec33e1f7e516fbb7df060de47b0f521df816faba193575f619cf937ef378f594f347dd7235b393ad SHA512 030d7a603010447d82d9670babda138f44f39b7c1370c0447124dcdcf4bc90086b973ee8664406b4d97fa292cfc692ec31732e9fead685a4fe1696c324431045
+DIST firefox-115.13.0esr-ach.xpi 458869 BLAKE2B 766ff00e9e84e3b51fb84ca98219b606bf0cf5c5b7a3217a19653db39dabd16d8f8819d1492b216b18b2a9fdab7207f79f2b56c71b27cf51b1ab8959f5855aca SHA512 629bc6c9cbc00448467a1590588c04e6264713669e38f3b3162586c2bafec5908780b76d794b20dd8b511e6b0d652ab81b6a9d015b0637d2f63937d071797ccb
+DIST firefox-115.13.0esr-af.xpi 415050 BLAKE2B 2ff8b6ee58285be981cfe3406a6dd7d7f3f5f4a5fec849916c1c0cb415962de5f81c020a26b9965fd8492db4cc46f5120b3185c7d62dda0e1cbb94a7f68a4d1a SHA512 c29eb1c6f2baab48a6a1908071ba42281662709f717b0cdd9fd54d5fdaf4f4e34c23a0c7a69daed957957f9b651b554a17c7573cc5a12d4676c7f97b0bf9d68a
+DIST firefox-115.13.0esr-an.xpi 499423 BLAKE2B f72367ee01c38c4958c4416c1a3f54b2dcca90c93fe17311065e47e9c465a3cf2c3e363baf8720f7a261c3f92be5e4622ecf17ea4dc0cbeda40695a3d61bbf62 SHA512 2a6f4da626d74cd2dc05e3ec42fc063c631bdb6b70413fbc66ce7b890118219501e6e237b53f51393d9b12fef81f39afac7cc4a3d4f4dcae927874f10e006701
+DIST firefox-115.13.0esr-ar.xpi 605444 BLAKE2B dc393bf862d39c7e72dc1edc31ae1675b0f907ce5a37c8eb8278b448c63215745a3533177a8e6b71b774b829a5947ad55549eb71c90b6a9e98d3d46d6c50b06a SHA512 ec5da67bc4e210a9887eb503b1e27933e3cf63489f0c31290a7c949ec6299b2135e1e8ddacffd7220c2e16da4c3d001a2eec1d4cf80a8693d94eb71001fc8823
+DIST firefox-115.13.0esr-ast.xpi 491184 BLAKE2B 5dcfcc1dcb664c78d71e22e8f38d13ad80cf6602071b601445477dc33887ae1883761e6c536341a59d195422884cf5d481e9a9692c9945672debdf654e78292a SHA512 3fc92b689f80672c0b5a97eaaabcc242aa42cf3e33aaf9c93e444c45a7e0dfd97baf139c937e11a50d35ee960bea91bbe53125942209bc1f9face75288beec3d
+DIST firefox-115.13.0esr-az.xpi 485937 BLAKE2B f65761f146ae48b0704a3ab4dc34f45ac4c7374313fcfeb838c1f23b577200bc243f2f7c2fd6ce477aa0a85ef0425f26bb30a28c84904385885b32bb41736050 SHA512 380d055cb9b3919061a8e23f804d39ce24fbc135a0d963911b256ccebee57a2bf6af99f24b4acd7c70c44b7e3f9ca3718701968cd72b16c39f3afc225bd0b395
+DIST firefox-115.13.0esr-be.xpi 711827 BLAKE2B 16dfcfe555f23037b2d5360c7f3109fc69d10003e6de4a087f8aabe48639039396bddb06ae7da2082b45cf188897cffefa6bea4366816db3a1bc8f3dd3d3863b SHA512 fff6b8c7ea887208ec541822a1ab073f0303df6aaace84c6c0cfa682a538906d9a67ba103690adbda920dd0394d5ecc249765781f1304e6fc2ae266a9ea86ae3
+DIST firefox-115.13.0esr-bg.xpi 597471 BLAKE2B d475045b3abac2492f4316e21bd1892eb06656162ea6bfe93bf34a1f3b052373f72c85ca33a20a7c7afb35543ea4e1c9a520c622c11f287b0b1ce049ca34a203 SHA512 82b83fc0891fc3c4101fdcf046516f466c9d36227e54783e30252bc0f8d1647394f4c667d1c473c4f7568a0094a84c1216acaa32b9604704e7a0d4bcebab2d1e
+DIST firefox-115.13.0esr-bn.xpi 576186 BLAKE2B 68de38e08f980f61f9d228df018c9af388622807f032e98ac453a2cc0fb0dc22ba5cfa0421c850da2dac70d30f2bdf37ce20e8f08fc42c1a35b73e0ac23669c5 SHA512 21110dada66d3dc26bfe92f771b487fc39374af0b17e6cb66dd68c0613471dacf1e04aa59fa0c3c6d870114b85d0232ac339143de561ddf346255182e83183ef
+DIST firefox-115.13.0esr-br.xpi 584021 BLAKE2B aea8cf321ac9625979f6d77643b9a5cc83dd965d7124a18e447ed182fe5fda37ecf5654bcfa5368df9cd63574a9376fe9c802c5dcf3a72a5d1c3cbeecf0405eb SHA512 0e58cfdfb3154caef8dfd3e4d826e58eac33cb8d296cd362c715bea383dcb74bd4c37363d23752a29614abd5542f76c3f78a6c5f31d0567393073f0d8f806532
+DIST firefox-115.13.0esr-bs.xpi 496142 BLAKE2B 59f4515d37ebc787b2d612d9aa556ddac4c5f8122b2e7d0e783add521215d882bcad4162ef9faed133d47d3e60bba6cc5d6c9c9ff7360811396d620ad63c9fa0 SHA512 a85ddc738c814514615b9d9ec4c3671ffbdb6bc8885131305aa55ab592b1041fa5c22790204c1f79c788f8af5f1fa9235cf211c3df863e2217bc409b179443ad
+DIST firefox-115.13.0esr-ca-valencia.xpi 539103 BLAKE2B 349e7c4054fd3e87a4a0e60424a9cb9d3c0187c3dab5fc4a4b6cf858eb302c66d170783260a8b6533a67666e5c525925851e6adcd28c561eb73ffe5e99e70f1e SHA512 2c604454dde3d95c2b37aff51d80011d10bd6dd26b0055751239878d740596167ba48536289289e34a0384a7344c042b863aba4e204f631a995a9d39e4c99d47
+DIST firefox-115.13.0esr-ca.xpi 578624 BLAKE2B 57daedb34bcea839d5000b18087627b05a03c4d7151dfa62ab1b36a430d1381ce4219bf5a54d231ce8ff5721d29006ee4e2d0186c897f7b2db80f2b48283b5bc SHA512 489a62c1a98e5729bfb5e76f5ca235c7afec3c20d3b973f3ef2d8760508f866e5ef377f3e5f7ce2fe2b573e4cff979bac7728968ea8c1765ab68fa2953ad29bc
+DIST firefox-115.13.0esr-cak.xpi 586161 BLAKE2B cc408805fcf450a1318edf8863e2050afaf5b91fe74213bed8fd37357cec4bfe98580ffd7c9a712aed0b548b04938f10890272c8a75918a5058671c8aee1fc99 SHA512 9861c6e7fb57b2bd3e24dbe56769de03c2ff0d41ddeb39ac81158b0942b11749faab41312c92688722ea58f054bd2d4a7d7a79199f7c3418ecb8c2ee1e786352
+DIST firefox-115.13.0esr-cs.xpi 655607 BLAKE2B 2cf82a0a42f53b6c5568a83cf983eb1f62071cd97dcc8eddcbe003c316de66584210183ce52e1c9cbc1338f4f0e39c269ee36a909548d43335ec432f13f22dd0 SHA512 65cd2a8c6ec128385c04e831bcfd91f4802838b164992dfdb568e2792c9308f49258f4ef8b8a13dafb1e313d369ac872628c04cad7ee69d9ae7820642c370627
+DIST firefox-115.13.0esr-cy.xpi 619969 BLAKE2B 9f82972e92e4b3847ec1bb50ebdb414f61b9753765c7d0825c0eb2086de41d08772dc66e26afbb609edcd276e8af74b6742332351d35397de18862df212d0959 SHA512 8b0ac22d9499f211f7cfd4e4ab4e6073ac6fe3f566cb9f500f036cfb66d40770b42bca8f71a1e491eab4a91674bbd1bda75c34a8c538de51c40d27456c207cc6
+DIST firefox-115.13.0esr-da.xpi 608727 BLAKE2B 19ddc06716926eb8eff49801ad7592d77e7609ef693dde5003329014549a1dfccee25e8320c7b685b519f60ec5a4527b5e8c109f561fcfe98db0ec06438119d5 SHA512 8adf6d2a81712a5928eed7f2cc06e1fba86e7f69e10c7dafb337f5fd5fb29c7444b5db98f3585079015b98bc4ce6a3fd41d5233c2280375a77c934ed1d5f2481
+DIST firefox-115.13.0esr-de.xpi 629623 BLAKE2B 189f478aef796fb348cca80d4d03c1f8315996de52bf08583b92b80daeb1e7c64acdee3964d1ea4359928e13f7d4d8624d49b95185895174b34ba95bef1a022f SHA512 f21a1ec2622adabf3ecb3b8d0ae8b5744e1d17ff2b903293121f0454b28d18cbd90ee2d6b960805545141e2914daae1f6b17fce50c4a536a3cd56de234e2d8c5
+DIST firefox-115.13.0esr-dsb.xpi 648138 BLAKE2B e733cca2cc036b568258f48ba62b2fd6d152762eaf2a05456a9b7596265692df095638e067466252f8777cba5c52a7d17bdc7e743bb819139e7f90eaea0f1480 SHA512 bb76262dd5265674f79b8a61064f056cb62259ebed55ea2e2e2e026ca9fc0f80dd0bdee9fa5884cf0650df26e625de448e3605366b374229b441a2cfa1b14293
+DIST firefox-115.13.0esr-el.xpi 729621 BLAKE2B 73f1609e92aec59fc5e2d0d3f977f76840ed19781142e67f5d4c3e5e81ede8744b3316f74b97e052895775170b638986b9f264d7ffdce7e0bfe3fb3d4f2709c1 SHA512 0ec261dbcd0ddfcc4bae0d404410f51684cbee3e80d1846b6c15e35e9accf56377b1263b120a0cf7fdfb23f1459731dd8e62ea90798169d1a767aca4dde6576e
+DIST firefox-115.13.0esr-en-CA.xpi 580169 BLAKE2B ddd65e8df09c0abe16d55480fde4d7f84377103236118137936cc1e5b8337c65c00119fb2b55bebbf7aa63d8b77dd8f633545f095528f949aad1207608f0dca9 SHA512 8ea328ff031092ed1c28f76d521fea12b665ef3fd31d7589b4aa0b2b3e92ab36998621ed5f9ebf1e64bcb8216cfd5659e45aeaf7234ea03ad7476268e93ccb7e
+DIST firefox-115.13.0esr-en-GB.xpi 582349 BLAKE2B cde45b48a2c85831f8cb00f36d15816bf4b9f1970d4930d1d4bacdc0d13fba4d1b38a02143d96b252a8569e0ef9c49782697840b01d068cec085297b18f7b259 SHA512 5586a5e366b9e550c9e83a9916e7abe03d0dbbf78c48a95aa305d43371e7015bf35c14d7d14e2c5648f00b20f81050a86259ee55bf341136cfa0c6f4a5e4f2f6
+DIST firefox-115.13.0esr-eo.xpi 609842 BLAKE2B b847fdd018c4811f9d5dbdebfc75b9960fd7546ee2286cd4898af157de24c40ca3daa2bf2ea2a613bb2ed892c0eb6b2c38dc59f844fad2d3604a23793ba53cda SHA512 b039bab4f62624b5c8a8b3766e0f3fddeaa19391dca1af6d14385e496fae41b2d61785ecd84ece3ca97c8c8de290dca4a9b45763b45230c0e558ee9386ec5cf6
+DIST firefox-115.13.0esr-es-AR.xpi 625238 BLAKE2B a805fe6bfee5855d79ac6de0b6320f08f4d559525de8a16efbfe9c9e3603edad1a49c67a62c9de7c3c6b13b1a68070ad07d7b133667270a1e0461aef51fc03fe SHA512 6b1a16a93c2dad80391afa9f8fb469ccbc79312a6394f9dd4c00bf32a85dd2e41065a44b4344d7d501d73bfffbdaf8188e8d7345aa926e6e86e5c59ce99c6d4c
+DIST firefox-115.13.0esr-es-CL.xpi 623465 BLAKE2B 4606593ab9cd4e8c92915d0dbe91c237f0c5b00c5271255fefa8cac639f235d97937bf98fef26bac6eec089f6a1168d970caedd219496f179f260c35a707a198 SHA512 fef906e8323b2c3a62010df983d3db4dab9fa7556ebc51a5109c11f040b11ba336c025c3b32d26f07d52b69f88195cc83141fc9965590d61ee70ba2f8447400f
+DIST firefox-115.13.0esr-es-ES.xpi 618304 BLAKE2B dd001755d1457bf4187591922914fb426e2ec7ef6a1a86e4c0323f3563795a130ad29fb1c2ae4946458ee0282b4784e0ad63cb9e1c38c6b9cab2fac4e748f306 SHA512 ff637b66e777e2df0c9fe0561dd464733960d38584081eaa07f74e3d46a0f040f670ef507f2180ab9b25a710e950f8f93cb3436a855b957ca092ecbd42f0f805
+DIST firefox-115.13.0esr-es-MX.xpi 584255 BLAKE2B 4bc95b99500a5c729ec3ce4ad2d4bd170222d9e3fb9734b743280ba99aba5503596d68caff19f0580384bb6c51c04464ef1501bd46654fed155b28e7b5505e98 SHA512 bad7d867372f98c82edf61427116cfb9c09b121bbf43bb93c61fd60788c68cef7c97793f94c01f92f2db443bdf3d9d5edaeb3c47734c7d47ec4bd22e6a363a67
+DIST firefox-115.13.0esr-et.xpi 532879 BLAKE2B e65d4a7675ff2971e2dc550ca296b45a62107d732a81f1070b4bd2266961f342bc9b5dcd309c4baffb3279be8bf61734aec14aa5ce209b2d82b773148632dc42 SHA512 50f0b61145127f511743371332311ba3a2b18e473226f45f193be46146a0c0af276914c59c3612236b6989a6699bcaa901437d3cfe5563f8cc579d4e36ddbd48
+DIST firefox-115.13.0esr-eu.xpi 591804 BLAKE2B 1e5ed62b53f3b7d6bf465968bcec781447b8d39049368672d86b7eb43bf7b019c1d19bb34c991e9022f856b348ff00e7f2d7c5fae71388231b7e2c44fb1b6dca SHA512 4def2322424a4d61d44ab87e6076868b33a390006ee3a47233888de5e67d184c103b990eefce790628161a6585a63c023f702d7fefff41e06a0d4ed4647e9dd3
+DIST firefox-115.13.0esr-fa.xpi 584193 BLAKE2B c1de53fac8982856a128c7825aaedb77267903f4ca3cfbe8ca9ce88f0a418d02e144c0b6a2d70606c39fa9dc758131f01af949e5072809da1c704830c60f5c95 SHA512 d3931ecdc5bac7c3bef39420d5d9a3b81fafdc4cfd3eb7b798d78a7bc5dc3214bdb18bffd5f947cec858e1457c369f445e9336ea28f6d22b28bedf56e4bce6f6
+DIST firefox-115.13.0esr-ff.xpi 471600 BLAKE2B d651f9b6b3b24f948084ed2379b741c57a7d7c1706efefe952959b70df96f65a1d74aff0972e5bcf70aead42f286e3ae5dca4b73abf7f7132f9580292008596a SHA512 b0e323bda0bfee0925a150196b961d0030216882af68d9d66a8ffaeae56b679e79dde27fe4be8cab7ad60a48000847042f8b1274966f47d0a5035ec02e6584ad
+DIST firefox-115.13.0esr-fi.xpi 601957 BLAKE2B 464af892e7acf5fe7e1dde0f5b35b380b302008237f2fdb23acd4db26c55724f5d327688bbd58f410c6c9585672b9e3f7404e246ad1a4009191959c3b1dfc16e SHA512 2beb3e0b7730bf3df85bfd9e62457b85119688a68b704f5e430264bc317eb7b0580b895a792d21057e799928a2a3d2f5f7aa0bc0dfe9ff8b6dc1933e82a6407a
+DIST firefox-115.13.0esr-fr.xpi 638171 BLAKE2B efd3d5882516db38a35d998ed61fd11fa73758f38d1aa8768a6ff1fcef390346cd3a54359076da60be0e1cdbf8a4683edcc66bf427843d26c533d089f90cdd18 SHA512 6ae30c58ad81b408188d5ac938f4d3c5fded4940eb3c2a02313670daa5992c029ad9cdd3b831cff4d06f51b73f06083e4765bcf329ba10ec596d2d18e25a58ab
+DIST firefox-115.13.0esr-fy-NL.xpi 620747 BLAKE2B 86bd94876344234d7f47610de7f530d6c0c4b45cca233334838acc62d917016f6954b283f8fc28b1567bd1c1ada3577e41a334d23733fe91ca98a9c926c3db68 SHA512 8bbc05ec34f5716aea3d10c370fe0bccf3e9d8fa64935ada974f5166edb393957be02ce0ac89bdf544fb1aa24c96152d6b06ca34c07c5369f8e7dfdc052044a3
+DIST firefox-115.13.0esr-ga-IE.xpi 467487 BLAKE2B eaf02d92932eab627fbb4b9dc4777adad0a4de79e87a8a7e0a6adb7615dad928c479060702a164bc82a9d98f540470ac9a45137f5d6209e20886edc3c7497ca4 SHA512 8f6b0e68c57d866315226783599422c6baf494b2dc7203132d95d5017ae84de925671361ff72db85d6b3aad42df832d35c5c30008db0956bda93a68b32062312
+DIST firefox-115.13.0esr-gd.xpi 589810 BLAKE2B f1cfeb41696849dbcc44773194519930b3cdbe8676e960124f8ffea1dae9bd6c530bb6f5859a086d9e16244ae49a89c0d895a96a879a8f9d361e466f5b117e7a SHA512 fd5066007811fce84f800fb76acf5f02f6386e8fcc351a4b9ea153fba8811c1292e14ec778268255d818813309ee81e46151081c466aa0b85db6aafb8dd9571a
+DIST firefox-115.13.0esr-gl.xpi 599812 BLAKE2B 5ca1db00fad370d8577f3744c9b12156a05f7dca5a9fb0a91c854ab4452024e86b7aa7fe3bdc98aa1f671f45930fe6f0b7779342f20687eb0783e6a71a29c595 SHA512 8d89f1114e81cc216886cad85accf19fa6163cd9fdaba122f354785417982ab53046605728dc311f3091852407e9b687defbfca3cf4fec3fea30da643555e7a8
+DIST firefox-115.13.0esr-gn.xpi 635256 BLAKE2B db1f84038d0f7a5e0443b478df3d42e1ec36241bc458bdbc7918438e94af01cd83ab94df22338b63009705895c564e2c33738332fd7acd0e6c988636f4da8c05 SHA512 60c8d66c1dabe613355d4277f163f5e35f5d9a89b5a2c9527d7eb0d0735fb3690b1b874c4920a6b165f29862736002038b9674a604f152ee0961bf5882185af7
+DIST firefox-115.13.0esr-gu-IN.xpi 523232 BLAKE2B cc45a0a05c169381a32492ca175cd7b054ca4d2990fc781bb0fbfb8c56768dbbc4db56e45950cf735355a57af6ecad4b2f06046c05409388e93de08437078b81 SHA512 73862171a464a5a480308b614bb264ccfb51b96c4a3a02f145f76836c0cb8b0c0cfbc8f0b7d536f639ddbf43a0f56437cbd366319b64b3b7fbcf69e01ab58ce0
+DIST firefox-115.13.0esr-he.xpi 626729 BLAKE2B 58faeb11b0403cd420a7c67edbdf177eac59a7bfcc3bd722ff07da99f5e5dc6aa6d2ec10631de857e8818ce7899a3b4fadbc0e857a604374c148332684672b67 SHA512 b6fe3216adea48fa1fff8a5a564916f47b6e4c557f3df090064f3378b65ea8bfd99dc3c12db5e2a40cd868a7ca7b2e72fec77549b43696de4afcd7f644a161c8
+DIST firefox-115.13.0esr-hi-IN.xpi 559902 BLAKE2B a826402bc9ac502c12926f05345979e5380b10d4817f9bb865815ee9ae1cce84622577a465987766a6f96068eb0b6944709b848b84c0ff21291dd817128e3a37 SHA512 f461f8cd826967ec83556a2c2fe60c5f45ce194aaf632b85fd241c3442f6d16528256e6e3a6f9f7c8297daaea5b216fbb52d237012229c7cbac7dbf07f3f96e7
+DIST firefox-115.13.0esr-hr.xpi 550267 BLAKE2B 19b332c4e6941a95b09090d27fa9c0b4f95b9dfc8da512d1ca7eb65bb76a70053384331e9ac171b336ae15aa55c5c50445af86ef8b26aebb0e5e8423eff570b3 SHA512 e380014b905b1fcb92d6c4715eadc7777b011c7832144d27e6f462dd63c72d5bb3072b1ecf13fc9917c7f73602bccfa32133cb747b130307bbebffdee27a9948
+DIST firefox-115.13.0esr-hsb.xpi 644212 BLAKE2B 61e3f7a19bb5fa12ccbb525f260defbbf1b96fa63f01356e69069a01b47755595be471453bf429b9d5a04b8793d266c6a153a8e81eec427f0637ad895ae5c057 SHA512 d91861b2880f3ddc1a76dc42d3d7813ec325aa6ccc6c6d725a93f71269aee0c8f6e7586380b1683c3741f29d8d5acf2ed119b7e0561d2679e92668a6442c0634
+DIST firefox-115.13.0esr-hu.xpi 648263 BLAKE2B 157fe516db5a356be123001ba81e21ad8af7aef42848d6f009b49dc23cbcc84538bd4397bc5d0c2dc1e3bb3c5f84ab8e09fcad2cd4ed04a81e108173b3ebdbf6 SHA512 fa3cac33a4bbda77a7f2e987f5b41c9746196b5165d83ac9072ef83ab54bba2768dd06d0d4fdb39ee8f5ae89644b67153a1f062c7c9ed0585e512646a6e56363
+DIST firefox-115.13.0esr-hy-AM.xpi 647113 BLAKE2B 0b07bec9f4810d9ee9283c70fc927262c53fbd7caf8f90209e0778e449414918a959fb86db27338ccb0129b10cc93a052ad7aa83a17f9f5f8eaf2e7a6da68b33 SHA512 fa6d691f57842d5c5de51bf6c5e3b30f979c048022ad352465bb324cc2fdd03afeeacd611d500f118bca6d516171f7476da8eab270f17eaa49a856f4fb73ae6f
+DIST firefox-115.13.0esr-ia.xpi 607449 BLAKE2B e5cbc8dd0b6e8d23261cf07814909c8b4c98c74f395c4cfe4dcf8c0019ad9327fecf90f6e41a2af17a1de8ee28572ee384925ed82736f935228d7e9513fde2b3 SHA512 bff9484a9d06d1bc716ff4a78955cfc5c46449332be4ecda2ade02217b8a0c61ef46226999a60ef78fd9b796277cce7312476408ecee0a0ee30c8eb738f684ed
+DIST firefox-115.13.0esr-id.xpi 567403 BLAKE2B 59a0ddb6c863e76cce51913a088631243a381422871d483e44162718d1a300ef96aced587fd196c38db555549126ace8a03a1fef598708cbb747f2be2ff8b608 SHA512 88ac0af91f33f40f6290538c0735c1dd0ff02214c6a5d4ade78dee4f571838c7191f91e5da7f69c5da831856f13654290fb1d735cfa257769c812ad7165a3cf4
+DIST firefox-115.13.0esr-is.xpi 610523 BLAKE2B 6e8292d2342d6133da1fac45e2b39314aaae6a14a037d00c8bf3ef4f7ba37a495a37903d04821034b5425b372f0b7d51e2891de43bd2892dc793099c51809fd8 SHA512 a6ee6eb5cc54cf2cb86bcaf872bbef7932056a19e7089d6ddcfad4b9364f26960446463039108aee18677b12a0d55e5829146f1a9c877a279daf61bf63c12cdb
+DIST firefox-115.13.0esr-it.xpi 564030 BLAKE2B 3792406c14c3e71b017cdc44616b8409f7961e0321344cb88d004713c67f25e12e45b79793a9b33bccf1c59eb4e8b2c4365f9dd8f3887a3deba5e148d7ec8cba SHA512 5c013eb2a09b2f52157e99d64c4799cf075690b1081be432b77c438c10a462571b609410edb97c67b7bb584659c2c043124a3012a1643946da98c28956b662d6
+DIST firefox-115.13.0esr-ja.xpi 675128 BLAKE2B 4885bf5364f743e5022859747150f57706df2d61aa197c4a31209a4b849e0876d925fe263224eab795c91e1a71016a663ad106630a12b97579650cd48910b76e SHA512 37b85ac5cac28a6ca144f5bc7bc49c8bb40fa03393d2eafcf690edd0c80251a85201bc2b673cc06a6f88c4caa5d05508e9935cdb8eb4953d31820e95765c88bf
+DIST firefox-115.13.0esr-ka.xpi 657820 BLAKE2B 4ba19d5a966c63519bcaf9f0e8f8ddef940c4ff1fb53875c0601ba5a9a629435111a6a39c9588a163802291367985e6470e7085c18989040f05fe250d749c189 SHA512 58bc1b2eabcd890a575dfa0c73b603e66b1a9bb66ce627aff73bf29998a65fcb098fba09ef02312fe9529d8028440e2c16dec0592c870254fff3cda9a22167d8
+DIST firefox-115.13.0esr-kab.xpi 602472 BLAKE2B 99e709e4520810fa190ffae5ceeb1aad7e8599bd5581594ddbf801a6a4d3c8758cac0a58acf80880b29754c23ad498cd912b889f8837e3eb9addd172111b36a6 SHA512 fdbeb125f941748d05963059823d3f307fc019cf81cddbe686b4fb4533b8a68404cba557e2477be5d677f33aae5b461d48ffba6651111baa22c5f00fbf42cc2b
+DIST firefox-115.13.0esr-kk.xpi 704884 BLAKE2B 6fb7a75dfe0ad53cd62a72657c506c934a286896ce65a419595a3b3be02b8274a70d30a3514f76ec377446917793e1521fe8dafd743842e6f7dac17e6c95c330 SHA512 f9de2a014b9b68a2bd6dd5c54e9cc44060330b2db60e24b071987cbaeb4b0d2a35cb828261362d7ea6a6f1f36e38a8491de3c59c42d5be9fcd93a636a85806e4
+DIST firefox-115.13.0esr-km.xpi 522176 BLAKE2B 180f5100d856c994fe994ec18fe39e839c769940bc59563d9cb51d2ba3afe85cf5caea31e7b823ce74592a6bf3917e967ff4a2c6d8f5ae90354611e25e222a5b SHA512 8df61f23a7662f0f0714445088a6a2fe6b3a14d685300dcfc9c6f124e985c63a214cdb37863a35fa0689a7dfd63ce0b9823e318daeb1e7f5929582c06c7125f9
+DIST firefox-115.13.0esr-kn.xpi 488053 BLAKE2B 8d3095db3b6bda67ecc5a43a1f24cc87f4ca6e68fe7e7e4744d79792a31b1178f51f478c8abe91fad54aa6d0b80401433fddf0b76f6ed3902bb9c71a43b5936e SHA512 27fb76a454bb6337b77361024db3b99a754af35caf33ee33556df422bf968da4422dc727450f4d3d93814a1c5a112edda6f6d1d289d3673e81c0ed5d7c04cc99
+DIST firefox-115.13.0esr-ko.xpi 659151 BLAKE2B 02a3dfc31a7cfd3ad2b2162c4f94b0cfe8fd4d3d4be505f450fa0d8a63a0922f8c7e19be319bc8cc0a14061f5f19cac8bf6e9ba4f0963d2060fd25e7a13e9553 SHA512 3728938278006a3d77cfebc46643f0cc1e6d68a2deeb8fe68ed999daf2f9e3c0d343599c1292a8a5f35d97bdbbd88865f8f49937792bd84782770325f18f473a
+DIST firefox-115.13.0esr-lij.xpi 478954 BLAKE2B 0f32cd0e790ce6fba97a3e69cfca15c90ac0542d31b19e67ef9fee351847edb791a0c9268cbf091beb4766d28370c841417ea73431b7aa319d5974c8ad49cc29 SHA512 eddd6415b91d1e8f8683a8cca72dccca5dba7dab395eee279fb7950653f69e1f4776373b26d9221586b966e26b3ee7bca3de10785f6d2966cf2d85700a04f235
+DIST firefox-115.13.0esr-lt.xpi 566055 BLAKE2B 5e61089ab95df6d8e4e3d28e1d628ff3d77fff138738c842af050bd1ac133f9fa44bea2d1dac594a7a3dd15e4faa0fced07380556a8bf4f94ad1111f9e448103 SHA512 946d6d680f02b68eed5c18019737c6913f5ac95ca10741da30c6d31658b4a0eeafb6789627d1aeff88ba49d9c6ecbcdd4ef6000553ae7571272b35bca98e35aa
+DIST firefox-115.13.0esr-lv.xpi 568096 BLAKE2B 602d9cbd60bda98a73e9461b1566f09aa849c0ae632bdc6d720a18e53b8ed4126c64aa5769491ed9ce31bee21ddeb4a0e2573323d67249e2669d6786dc0b4776 SHA512 d4bf23bdb67c1dd26c3714e58386a63900c9d5e7457cb2d7828adc6563883fe621cce299e26825f71164258604e88d06711cb008c60d80d974c56e04eb54ac70
+DIST firefox-115.13.0esr-mk.xpi 490305 BLAKE2B 02f7343fe8b6f809a97e18669cb9954d4440fcbec49cfbb936d989fa308e8c93b430028fa1f4f091478df89fc3893c620d332c18c2ab3c86aba41566b6da5cb3 SHA512 849e505174770b9c778ed088b353149ca5506df2baa070ba940e57a62d0df0c9af4e7d6854148c979e7cbcaad0394f3a3b80bc0641f2ecedc1020adbdd9b6ef8
+DIST firefox-115.13.0esr-mr.xpi 526721 BLAKE2B d7b1bb8b185a759d9bfc4e1bab37d734f62ee1aed59edeb9829fc63eabf541e4e15532dc8f03d152fb9f61e97ae4f17d3f695ee5188873551e45fa8d7bb72fb0 SHA512 a3e482b320a01684b5391fbbdad2a2e06fb30b023cd46dc449919b23a8f425070b7e58a91535e2b973d63f0d5af8e240dd13c12d52a6fa0342829ad5e328f703
+DIST firefox-115.13.0esr-ms.xpi 445347 BLAKE2B 04d1927c6e63253b6e90a61a61dadc424cb22c6e82c0e0fa52ea75152927c39d30c82f0bf71e4f856cacaaecb72607ea69dec15eee97f97fd3a092baee184c93 SHA512 de14dbcfc4d7d7c8e23f08a45807c7ad7c3120e2bfaa0372b7bde17d4e25b27959946cbff0b855357de1756bddc5e70b35a003aca4883353b3be4a6ab5fd8b73
+DIST firefox-115.13.0esr-my.xpi 514775 BLAKE2B 2b63b9e3e434218c2e1e6a25d37bfc0791c118d7259881dd55293fe65746e869c4acd384912ea05c6c03e2dcd2d18a10a7074ae4a2e57de80089d33bc8e6e666 SHA512 c124401eda391d90eddef3bdc56d24ebe730292a1c14f3d8e9d3b61f72cc1485c9141ea2c21fbfc1b3b1aa295abe634c4191c436da24180f21ee0cdfbd5ccab0
+DIST firefox-115.13.0esr-nb-NO.xpi 605932 BLAKE2B 265de1bd0688894c4d37da31ed7902375e916c697878bcea9dd7b717a496c0c265de77d5584f8299587ad391e94a95c510b5f7765fd3393eda088c7c132d3e4f SHA512 90f34d609a5d010fbfd0c02de3aac179f017c7233020a5d16235b9545404b4887e9efb4f61b570de1e22855a3312125aefb6bcdf8f6e118ddb31f004ac3bd83a
+DIST firefox-115.13.0esr-ne-NP.xpi 506844 BLAKE2B 2570f7be21faad1868092897d6f7f5bb0df4f6bb7c04b1650f147c683f033d4740f0d68cbb4fe54236ac6264196ed5de783b2465f51e09b32ac782ec9089e711 SHA512 f64c0ee5b11d2bd0926708fc45103c2fa6699d0563f2e37ec882e9f84fd4c2e5a2d01f1fd10e2bf9e3cfbe4f6ff00c4a3b0fe4ae4caf3dd3f50428ad03e91f7e
+DIST firefox-115.13.0esr-nl.xpi 614615 BLAKE2B ecc15b9423b69f01487b79f451190079d82bd4ad9bc98c0a907f4ff9ce2ade07c843dde8435b1046ee84e3dae4949628625a7c0fe3aa9b7f446ab0756e96caf4 SHA512 ba72ddaf6d6cb2224f4bf0dfe56155a714b1a8eb496ff28a233425c9f8676391ef134364ed588a08e469d1de92a7c0321cf1be9aae7782df0ef15eca6afd87dd
+DIST firefox-115.13.0esr-nn-NO.xpi 606790 BLAKE2B 2519c4a7074600335f699633e5c5bac1b6c762ec60bf547c49f9092ef1f5d42a074f94f2d855693e245a7d21c31611837a4e1858c6d6f5c590d95f678e07a59b SHA512 2c4f34b1426a64307d01553b726a5c55a1c1e087caec3536802864054d32d61eb5691b78e8a5f0bfe63f8f4539647e51a000ac549d9b23385ec7eabcf19ebaea
+DIST firefox-115.13.0esr-oc.xpi 606292 BLAKE2B 1f8fa30994be906dbb2a1bcb79b8dfbcc10876c8b83dcd55a733c6f230885fcc654e1889c91ed41bf9880e5e20a2f94841c552b4f9784ab7a77fc775418aaa7d SHA512 f5ca41eca0ddf6d560bc07da87ca7c0da1624a3c4e2d527a604186138e55a5c0a30b7eb44f00f05998f07ba2278a31988cc528cf1d4b7f1a2f164c4fdc109ec9
+DIST firefox-115.13.0esr-pa-IN.xpi 684777 BLAKE2B 35ee56d12532e977017e07fc1bdcdda40061f0e88c0ad2c056399d4ef1f7ea2ed6184370d038f4e6a1f8c698242e5d59fccf1abaad9988ae237e330b3d99bbec SHA512 abda142513b7af1a9d5e156fd4598887435b0313b345e5786ca647465de31c553494cd7ac714fdae8b7b3ae40221fde749e03c83fbeee3534ccbc24860485fdf
+DIST firefox-115.13.0esr-pl.xpi 634143 BLAKE2B badd7fe2a8310cfefee95d68119f56e66357d5bfec75ce2f6a1ed9469ca239779e0804377a06fea7fa0fd1959f75ce06542cebff1b45ff899d6cba71bf28c967 SHA512 0f9d5423dc00e93b900b6f90997419d70975d6a07a39a6f2b1012ff7a0c4c2459c41214f05171fce61ffe4fbdd393f0bb906bbf8dbf71343895e463ff9517127
+DIST firefox-115.13.0esr-pt-BR.xpi 619344 BLAKE2B c27758608781d90e9392e55196e2a8cd4f0e124cfee08b07c4d37319099b3a0b5eff98985215ba769a13fb1ed877224a370eb6abf221bef8369d0c7f908a746e SHA512 e061106433be87e7b2d47bce894241f261f87a5cfce49415c2430417418e978876b45157eb3a3786e338a7b1ad359c672818274dc7e71465023eb10924a9d765
+DIST firefox-115.13.0esr-pt-PT.xpi 624305 BLAKE2B 4985553c3c20285d14577e5dbd671582822336a59b469156ab7ac8170ed153dd331554ac6ffbe2e8258a3cb31aff5f9d47103d6ad88547e9117d78f6a7f27d5e SHA512 7b51efa9217440b5938d4f484625d13562e65de57b6d4c9ac53441031977c6de52cb36fec5d98f0ff2d541b3e2fe2bc854968747bb09e4c5d17ae94b11bf5e5b
+DIST firefox-115.13.0esr-rm.xpi 614076 BLAKE2B 1cb280402450164c54ece4914f2f74c1c91dd8d0cb4280d6a3310f21245e95cae455f64e67bc8c26842d3e63a75400287545b8031304742f9afa7389de6e297c SHA512 3fd88deb77f0b85c92bc42b4641699a39fe63c73d89c4febdf0237da1c91f7d13b4646415df48e5c448b49fdd1400fbd817af068518055591d09d1ca39a7829e
+DIST firefox-115.13.0esr-ro.xpi 543381 BLAKE2B a5510154e4bea4a52bb8a7c777d1fe121ea8df1b4ac5225ac80d4c31614ed208f9cf51045c51eced7f03e693ba8710c31b60dc9442f95afbe85df8ab51735ef5 SHA512 f64b2a7a0413b006244216d33d5d1ea68762af265417633898f1757aa62749581af103c9aaea6be807d3804c5c42cb44e2bf853d8cc8332a5dec4f46a6cff074
+DIST firefox-115.13.0esr-ru.xpi 717996 BLAKE2B 7d77b494bd1a6c1454987641a2ef53fa2e5c57c614e5c7d16b6381e4d4b8a22a39936ff71bcb1c1746802e1239b1de5b52da12e104f613806f9d2c622394802b SHA512 8fc13b6b19545a512404c9c653c2515bd57f85a39305fcbc97dbabd20bcb61681ad74a8a0c3f1253333264c868746e45ef6de4d68ae5e921d824da8c790615a9
+DIST firefox-115.13.0esr-sco.xpi 505561 BLAKE2B 734e467d5c4fbc367986517704b7be49cc62ee686fbd940ad0ad8ad8c54a7bb6a9662f9481b162aa0a237b5ae237d63486c4da015a90e3ab373bc8a1c5ad0bd5 SHA512 3e99a48f4e9ca2f9838ae795a8cd07010ae77534b58d783e3d61c4453ec195d796fc7e9bafb84b6c88a130d5fe1544ea4e49359678dd67e7d11d10e646424847
+DIST firefox-115.13.0esr-si.xpi 600739 BLAKE2B f5ab27d31b4b359aefa3e1d7c90cb2e7e7540fb1ccbb1b0a01029aa26b9caf98ba69da1976a9dd4baa33b302b75a159f3cf9cdf9f3156aaea10e3b20cd3531c7 SHA512 6deb90c6b4404e54e53d08680b83d32ff2c0fc30621a927f195ca326731cc5a6588c68f73a3b4a7c2f9b6c56f6b11bc20b3484094a09246eab9429e7515e1d96
+DIST firefox-115.13.0esr-sk.xpi 647869 BLAKE2B 4fde5492f430e5411a4e3d30606895d92991971b762c27fcf02a857465fe2b0505452c422e4e70b0183ddc7d3b4d99852f336dc7827aac2e8b75c212e4769e56 SHA512 66d359c11e4b03a7d948704e110b9a104e0ddd20269660d2222df759044419d797feaad6b5c2142e223d8f743411528cbd01aab1dd869b34aa5ef9fa19759b0c
+DIST firefox-115.13.0esr-sl.xpi 612807 BLAKE2B 8e6e8c9854650a07c89f2c42ef3b144301db48bb51a6485ba934ffe0a03a97636829559e490f16df98da61a52313779b2ba83ee4abd6d254731e47fdc24fd6c7 SHA512 14b0475e8cba4c852d7437819cfe3157c5a0e2454b804c86fb95bf5d6f46fd2a853060d7247dd825d547d0d148277166130964934d600740c6ddeca23ffa0a74
+DIST firefox-115.13.0esr-son.xpi 413545 BLAKE2B d211c0defa803d5ad574811e1b2e50d89de5fd216dde000a0032e3117dcc5a31211d30483a89b1f9005073015946b41beed2b39173321e62eba90cef4679c28f SHA512 5df04e32c22f70be9ec9a7c417e56da210314a8aff0d4aad43d3670bc516d074e629a04ffde567f4fc12d8cdf3179a69099612263c8f8b5a84eddfa510213026
+DIST firefox-115.13.0esr-sq.xpi 633666 BLAKE2B 393b74e8e2aabf71ce6aff3e34732f0cccebbf1426ae8af3803cb8d74d4ce9bdefa250f978f8b3c2e0cb2dfe8861be7f766e741d40c2054ea0e7ca210f8b7804 SHA512 fab2db1403e60595d8a6003d10cc564d618e8d08fffa613617150cea940a4ad3e28947ade5eb06a831d8830944ac8415185be6f7a40dace940347b533f9026a8
+DIST firefox-115.13.0esr-sr.xpi 633079 BLAKE2B c664db59d9260155281397ce14e45fd9c1ac680a0f231f170ea59ee6444ea753a4da7f7c0e3f290b07d2d31c1f3a823d6d87dec4f8268a9838e38f27b030a3ea SHA512 5afd139113a720d45dd35621d57b77c12cb47f277a264b1b78cde6b24e8a596b44b7de77e6ffec197d68bc1eefebdfca101a3892e736d60abbdd21c8317acf09
+DIST firefox-115.13.0esr-sv-SE.xpi 616310 BLAKE2B 3675c4619b261c8fb39ba86b1b0e98dd92cc099d0f1c80b28fb6f329f46d8eb4e21a4e7d54d71973aae4da752eea10387ac7154d567b28ed91917a4e99f02ede SHA512 df200d8b132cd29ef433db0a4cbcd39af2e9426462272fac0435a407cf236531b2b589a6edfddfdf12fb4d446ba02ace0b43bc1c3844f93aaada1f131a0f294a
+DIST firefox-115.13.0esr-ta.xpi 503475 BLAKE2B 820f1168e8212254e3371d89e5186f45ce5af03b4e4362dcaf800e5bed203e1b1234a53cc81edad150ff5d63f555d32e44d07c0a92e469dacdf4d03d022b18e8 SHA512 458660b1267ae3077fea493cb04f8eaebd92ccbc07ed59ef18205b63eccc1598497d61d36a3de62d68fa6188eaf4251cbf54e3335cfd1cbb3a1aa320e937b92f
+DIST firefox-115.13.0esr-te.xpi 556610 BLAKE2B 880f7e079db8f982d2f802b8f085423e52b211b5edd0985b0fdbe06059c28c56fac67c813c586d3f066a427a3be2b1d74054a7fe462ff36eeca8306cbc7d5289 SHA512 2f5c455a7e02ba35761720481d261fa45f53bc87c9ad136014295088ef69e14e6d9048b1865c30183250d5c58cec5825e2705933edb4e85f84ea9c8f72739fe0
+DIST firefox-115.13.0esr-th.xpi 693258 BLAKE2B dd7b5361e45aef24da696e102b924c8bb285ad44348354b4f6563f30db0aa7d25e43e1a6ea56cd87d115be4bee3086dd2c6754cb0e5be421b9ca68f6186f7e88 SHA512 25e6be57c7404f6d3c3597b2b42bebf86092b7a4884b7538eaba8859a883467894c4712ace0140ad02709a725f82ec24cd131fbee07fc95c553373cd417901ba
+DIST firefox-115.13.0esr-tl.xpi 527635 BLAKE2B b060f9268d4cd0b34e847e36c531fdb50c319664fa970709a1d25d7ae37f3be1bfbbaadbfdc7fd77dabc03e79b234d575934bdde1bf4d5e6acd96b25b3d82c6f SHA512 39aead037b172ab8c7ce5a0a0d145c88a0ae527afb86486161418fbf66bfc69f91d7518cc9609139c1352eef35a6b91225bec4c1037cbd4c0d28161cc1e19d63
+DIST firefox-115.13.0esr-tr.xpi 628068 BLAKE2B b87145bc56034116cbec9f205916710cd7b17548aa5659e23706cee1275cece01f293976d172ce883e3da679de0af9170b3e6d1051b964ae34c655fc37ce93f0 SHA512 f804f7ab4b75c478a1728bbd817c33440e4689a85b0c711a8c4406757830d8db951a33ca97808f53d46f58e51a565d3fb9a2619ab09d5daae098e90c1b7a3bd3
+DIST firefox-115.13.0esr-trs.xpi 498534 BLAKE2B e3ac9ec8b32f2018715915a77d6920f025c8aed1ebe763fa09d7983872b7612427b7b8d525927f492ca2bf2861241ecd7e1140e433601e0eb3a429a13f0e92db SHA512 99781758ca40e62f30a377395eb39f66bc555c87e930f5a971a26c54941a4117d1470aa95a11fa60dd81df293f94eda81221a40c5359320e5c8437bb5e410673
+DIST firefox-115.13.0esr-uk.xpi 707201 BLAKE2B 6d3569869d1c7cda327999dfc2a26276db656cefc6099e3055e17434541c36db3ca1e6e19e72d2c1ba96382e6c0879ff7a991a2cf5abfd49ec341de0d5163f37 SHA512 d98b524d66ca6b79c15138e9005f3720fa12fa46411ec92d39e8f2a382257c491f0d2b3f2cad32e81e4f7ba12c4c14bc5039b90065261fd386019e652db3ba09
+DIST firefox-115.13.0esr-ur.xpi 554692 BLAKE2B 207b1ccbe283503df572ddd269a76238d7f7e8823be88d883e8ad91fce110e1d7100740056deac346a84d1d33a2a30782ebd8ae2a93aaf43d28fcdf2a7149988 SHA512 24e59b1f18cbe9189578585889cdc01c707877ed0657e4c5b1cfcd06abdd0b3a0f51c1e919056685e5c3d69d899482cf2e5616fd8cfab2a83fdf74e994ce9096
+DIST firefox-115.13.0esr-uz.xpi 474520 BLAKE2B 98963dd2b408996a31274b1093b1e8da1c079f831cae08079d1efa9ea368e6f13df6cc7b2659ac20ec8dfeb2e632ef48a54c5be421787871526811bc6ac17b81 SHA512 c610d5e417fc17d2e23a5f5ca5cb0c2dc0474d8eb6a9ed058fdd6b2c465998d6ad0488fa379b2d0ad8bd77aeca3c94f9c9f950a52f9cee9394e9a6437fd3c1cd
+DIST firefox-115.13.0esr-vi.xpi 651765 BLAKE2B 93e864245191507874b83fc34886e79739da74867a2d5cafd28e60e34765b1be0a04eb50a0336af1df70c97a84ab040c21a06898660b457e8b557ced29533d6b SHA512 268af1fb6863dfb280440a44ebabe3926871a85febf4f45a2bb1fdc126508a361d5cecdf326cfaead3257b962d559e0c47583d91355e966ac37ec9092ac9e71e
+DIST firefox-115.13.0esr-xh.xpi 414787 BLAKE2B b1f1d584ebcb91b1819ddab80c6933f9335d88441abb0ce539fcafb5fb5d505caa15c14a3cf5c3c9dc2cfe97fc3df2747ad1abfc99a97d2c7c03a75726c5aa6a SHA512 3b95f8f7b0b5cda517f826bad938cb88457efe249a0e5225068493f2fe0d644a5802e8ff85c06ccf9660135de0330452474833e2a297bc97e48238152883d328
+DIST firefox-115.13.0esr-zh-CN.xpi 652628 BLAKE2B 482eb1d85b53ccebb3bdc4a1c04d4eb12f8760cd1851a7cec986786db626f8f545f46ba545d6e3e4be383f1b751fee1a0df836b485e2f0841c659c8a035dbb64 SHA512 6ca1d36a0faea8710c0dcf802391be1888ff6fdeb2d20af2970e63d982f551b64cd5ffbb2ebd187d0b2f4add2f5ab1f3ef9d82f149beaaf6d309da6425ef4b34
+DIST firefox-115.13.0esr-zh-TW.xpi 656755 BLAKE2B ef8244f8c0d65d2c604a5a11caf4f493992dcf2d32aac8bca36a8a17ef21ca4050c3406b565822300c0333df2950ff6342f7ed05b02da1243aaa3fdedbd396ef SHA512 c62f4dddc59f71d944d70250dd0337680c789000f4df188d71f3fae1cb272c34b85711218a53727324adf190e26e1667a192b612d9f1d3a437f24e1b27eb9ed0
DIST firefox-127.0.2-ach.xpi 461920 BLAKE2B 8978e6f06bf46bb473a5989cfeb9089863e9c92c3b93a0883ed2d0c577d24c717a49f5d35c1dd848c66076be3f0361ac917364716ea900156869ce3e21b92825 SHA512 f08f93f0b9c9704a77a00f1b9a83b867f82b144adb39d64ec0d4a3a5f78cf55b67b7eb3ce19c34eaf09357f8bdd7845a610937f70a2f856081ad468c446910c7
DIST firefox-127.0.2-af.xpi 415365 BLAKE2B 383de6f37f70b7dd8791df80de220ad2b8db64f5c76bec9b5e8cf7064139acd08d4ae7000a28dfe14f648c8e8c20dd1bb8ac1c254ea9cfcf84c9850278aa6238 SHA512 84eb2d15fc2b1de6cff3dd7498277863734e60e29e013e72207b32fc230e80d9b417d2a0e0f5a1e5f2a43c2a98b90a47535bfc0f25a1e7966634c258927611d9
DIST firefox-127.0.2-an.xpi 503728 BLAKE2B af62fb2c3862a9348d5ada2f21072d24b0800337a462c94d080a8ce112a01f28eaff40cd12a2b683ca44ffb4ed1de8b6bc9d0967774baf8b9bcc899b420e8134 SHA512 291e2c34b964f0d8986d2c568eac364e4d2a8e1218e2db71019ccf281b2f03474ebd90e3702fc7212be2fb435126eb635eec4b8871cb9f772f95e7c6c46df2b1
@@ -294,12 +390,15 @@ DIST firefox-128.0-xh.xpi 417021 BLAKE2B 50961db41b3ea9a1cac9f5ca60ff7c69c262b7f
DIST firefox-128.0-zh-CN.xpi 654723 BLAKE2B 55a9f29335f9d75f71b01aef5b13afd7bc4d74d334a85d97c89212d8e127c9732f494afa39cedcab6efecf59997c967e593478ffd48e6dfb25e2aa6ecb0fcf58 SHA512 a9f11798976e69b2faf44dfd2bcbd1294b0c771f9673ba168c2e0a351a1df346c3c74670fae9ed729cc37f1dc4c19df92b20e977da4d60a8a016383ff9192d32
DIST firefox-128.0-zh-TW.xpi 656867 BLAKE2B a0a83d940a8a78a8436f5b708d4443ed448d0b676bd6c52901d58c557d28c4cd17c54bbfdc8fbed8cd5b8f522da646ab80927bcbf516ac572db0c1a53472ee07 SHA512 1617aa2937547da420fa95c40cef125898967912c2d1030488ffb4ec953432df75cacd2af7a6907684491ee3f52e52b1d0e855759a141ee2cf605714d0e80a0f
DIST firefox-bin_i686-115.12.0.tar.bz2 84276723 BLAKE2B acf07a4d6d6fc258d343932a1a4751aebc071c2d74e1db197d7678ded8806565a80c9a7df3d5c0d125445db8f1044d8d5c0e3c4b5cee2b3e4ccf1236a5c54d80 SHA512 9198bb399c16de5f50c363ad52d09ce378faef4d93662b1cd3307d2e43b1714277aef3a89c5ce7264982048dc2e5aba0033bbe5d85b21fceb309960c5ab94ba9
+DIST firefox-bin_i686-115.13.0.tar.bz2 84230695 BLAKE2B bc092a4c869e8e5d52145d394472d726d6f770c77cc345072e2b480558a26fa3e7bda3e9ea3498a4e3a972ef76fdc5ce9240a8e54ac7733bfa9d8efa773b4ef9 SHA512 2c34e7abd1b76f0321b59ea9bc7802c801ac8ac5d9dd1cc210e44a8d08eaea934f5da124c310452a2624a37878383173108403f6d9ae1770aa84a926006356d2
DIST firefox-bin_i686-127.0.2.tar.bz2 89237658 BLAKE2B 7a39a4c57701171153da3283ece3ed40b50f1a6fa56ef4e687add895fa048769a658f5dd0bfe08251d9499b1fcf77488d882d2f451dbcbfdefcc7d39964ade88 SHA512 cbfa58a33986143ce473681241af3c55c646f259b830755961e68d2257b83d53a9a1c6747cbcbba123782085aec800090681daaca6bb886b1e3087a7cf8377a9
DIST firefox-bin_i686-128.0.tar.bz2 87805303 BLAKE2B 14affc3d8a92f2436fa8babe16935f1cd32bbd0fa5fbb370cafc2d92699751587b24485e2a46309f3940b19ea2fbaccb42fd5c0cb3d2f4e21d74dd160e61ca7d SHA512 4258fc48de296966df9b7011ef39c3824bb36c7f6a76ac3378a7fe9fb282f62d6c9a775a50da8967efe2bca405435ac8d7593a3e4a785990fb9a1a580d77b6f2
DIST firefox-bin_x86_64-115.12.0.tar.bz2 80371587 BLAKE2B b856f11b53084a53f35eddf25626fca45b5ce5636ebfc8fbf91289bc790402b8276333dc6778057900f7e38603330c358ce3df597b1af6f26229bdef0ced37be SHA512 cc76734016ca82fe0b20375bc9a82ced38f0498aeeaeb5a35202595260eb6bc6f7dfbc08bd4dbb985c68c61d1a4ce3aeeeaf58d6b6cd796b9e2f3db7b5691ca1
+DIST firefox-bin_x86_64-115.13.0.tar.bz2 80384395 BLAKE2B cc83e68b0a003c5fc5fef0bec5d7b5b7c8fb8532b3ef042e99bccf34ec6f50072533fdd381a434805c5cd4b87f985bcb80241d48c3cd1943ff13242ab47944bb SHA512 892de5aff106cb432b756231995014a7c5ad8916e15ebeea60d18468214a843bc5276559b93733de9d6491922cf44e07df55f1ede423c8d76656f08507452b8c
DIST firefox-bin_x86_64-127.0.2.tar.bz2 87388109 BLAKE2B 3364abe5c9ac191e18a0cdbd5283593220a0576fd8f9abb9908af0962bf904b5ae06327e6947357a00022de4044eabfe1a56b969c0d71b01290480032b1e3b52 SHA512 cfbb5c628ba676a37592125f3f94b80b42b75a6adf4b4c905b01598466c218a1d9c04b894ad1aa0452bea5d1a8ebc62151545c1048d79eba67d9df26414958da
DIST firefox-bin_x86_64-128.0.tar.bz2 86473263 BLAKE2B 38c0a241473021efb4625c93f4454b49b894d59f8846c6481b3e2e9a4e1acec93e2fba0553fa4271f2a4bac4787f28dd92ab6e1ad0fc319a69081a46864c0f67 SHA512 7220daffc95a6ef565d9b56e9a55c25eeb0375819e9262c9a2f00970bdb5a807dd4a66c2c4715a3881b14191150fffd33088b2a12c2953aec5e47a846590d3b0
EBUILD firefox-bin-115.12.0.ebuild 10934 BLAKE2B ba31c56b7abf9e2089563a33054a5ca6caf1e9cc92a7837600f0af25f8768a773ae2e2cbd2049964847ec2d5c93cedfeeed7e3a8f93704d9e8f8c8360ca581d1 SHA512 41e2a60e4a0bf1bef6f591bd0ff34a9ccadf7c85c94a23d0605230dd2ed35d01b54ea25534fde940766c7f52be5444d493bc7280dfdaaf2a7bc7f3d214d554c4
+EBUILD firefox-bin-115.13.0.ebuild 10934 BLAKE2B ba31c56b7abf9e2089563a33054a5ca6caf1e9cc92a7837600f0af25f8768a773ae2e2cbd2049964847ec2d5c93cedfeeed7e3a8f93704d9e8f8c8360ca581d1 SHA512 41e2a60e4a0bf1bef6f591bd0ff34a9ccadf7c85c94a23d0605230dd2ed35d01b54ea25534fde940766c7f52be5444d493bc7280dfdaaf2a7bc7f3d214d554c4
EBUILD firefox-bin-127.0.2.ebuild 10770 BLAKE2B c1cfb3d7e0810c354897e6c89612c3ba36d710f894211e89bccb91beb929c322a98e073be4c3d897da5d257214eee05bf3b5b1a7f3837440522fc21db5f94fce SHA512 abfa565783903bd65a3399098a6d5082e1d9a5535008ecc00f2f4656a1eda01430e98922d98b242cd42357458341a22056dd5e7b00fcc8e0afc3bc2958aa0dd2
EBUILD firefox-bin-128.0.ebuild 10774 BLAKE2B fbcf57d80b5797e74b869a51d58e5b270bc67f796813018a3063f5487e5739be6be74a8c7b52d7b8ef74c8296cfa108ebfe672a342830d5b8dbc808abdf1008d SHA512 9a0bfaf41f89fe22caaa1c8e15883fa4880a95577afe7d44b645fcf9ac6abffe69b9c38e351d2e4bf6e7e1b9eed74fe1c3d87d16f2271da86af1c33d5b6e50fc
MISC metadata.xml 520 BLAKE2B 4b540dd2d9ac3840061de8a73117f2859db156944826d22c1f74cbc0c35f6d305aa10ff45708eab016df725cfc741c99dec46f0078a29162982431892e86e477 SHA512 0c7183e35a4b0ca2ddd092786ebdeb5b41a431adf918f0c2e541a5ef1c235066586a46a50fa29c25e5a522930824f8662fa2fa7eed8c3895f74d85bef93cecb4
diff --git a/www-client/firefox-bin/firefox-bin-115.13.0.ebuild b/www-client/firefox-bin/firefox-bin-115.13.0.ebuild
new file mode 100644
index 000000000000..95d67fb921b1
--- /dev/null
+++ b/www-client/firefox-bin/firefox-bin-115.13.0.ebuild
@@ -0,0 +1,378 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit 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.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 )
+ x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="-* amd64 x86"
+SLOT="esr"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+alsa +ffmpeg +gmp-autoupdate +pulseaudio selinux wayland"
+
+RESTRICT="strip"
+
+BDEPEND="app-arch/unzip
+ alsa? (
+ !pulseaudio? (
+ dev-util/patchelf
+ )
+ )"
+DEPEND="alsa? (
+ !pulseaudio? (
+ media-sound/apulse
+ )
+ )"
+RDEPEND="${DEPEND}
+ !www-client/firefox-bin:0
+ !www-client/firefox-bin:rapid
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26:2
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ sys-apps/dbus
+ virtual/freedesktop-icon-theme
+ >=x11-libs/cairo-1.10[X]
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.11:3[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/libXtst
+ x11-libs/libxcb
+ >=x11-libs/pango-1.22.0
+ alsa? (
+ !pulseaudio? ( media-sound/apulse )
+ )
+ ffmpeg? ( media-video/ffmpeg )
+ pulseaudio? ( media-libs/libpulse )
+ selinux? ( sec-policy/selinux-mozilla )
+"
+
+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 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
+
+ # Patch alsa support
+ local apulselib=
+ if use alsa && ! use pulseaudio ; then
+ apulselib="${EPREFIX}/usr/$(get_libdir)/apulse"
+ patchelf --set-rpath "${apulselib}" "${ED}${MOZILLA_FIVE_HOME}/libxul.so" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js 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"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${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
+
+ use ffmpeg || ewarn "USE=-ffmpeg : HTML5 video will not render without media-video/ffmpeg installed"
+
+ local show_doh_information show_normandy_information show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since firefox-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla Firefox shortcut."
+ elog "If you still want to be able to select between running Mozilla Firefox"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ 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 "desktop notifications" x11-libs/libnotify
+}
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 66a9f3f638a3..af35f4508ef4 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -208,6 +208,106 @@ DIST firefox-115.12.0esr-xh.xpi 414802 BLAKE2B 35b5cabfb1830b21a34e7c57357fab537
DIST firefox-115.12.0esr-zh-CN.xpi 650834 BLAKE2B e5b6e072a8609aa65c988dcff5824010276c372f12938e860aa50c5d0cb75de649a1cf2e035c275419435ca69bdd95550130c6de4e3fab80231d40b5ada995ab SHA512 bfa4cd5b8ca8419a0ccb19ffbb7fc7156283bbb784944bbdf1102b631cea372ceddb362cf8181a57bf8587bbaaa28deed78c0ce288b4d8a09145e047ef82ed95
DIST firefox-115.12.0esr-zh-TW.xpi 653669 BLAKE2B e5b95c1f07618ea7ccc285e77eb92ed92ae3573af29ec29aec33e1f7e516fbb7df060de47b0f521df816faba193575f619cf937ef378f594f347dd7235b393ad SHA512 030d7a603010447d82d9670babda138f44f39b7c1370c0447124dcdcf4bc90086b973ee8664406b4d97fa292cfc692ec31732e9fead685a4fe1696c324431045
DIST firefox-115.12.0esr.source.tar.xz 505219784 BLAKE2B 6d2cc80daca9977f73ea0c0fe7e7cac999f2d7a99c324332d69d9438a6d954fe72ffb35e4df4c2a86abcdc94231c4847bb3e64dd612240f8a6d86e63abdb1be2 SHA512 d98475061d870e0f3aa920b7c0b9b0c1cbdb3f4102f760f1d1c5ea3e45e216c673c8d3662501e7e78af4950a003a519e94b57e9b1eda8d615c159cdf62130e89
+DIST firefox-115.13.0esr-ach.xpi 458869 BLAKE2B 766ff00e9e84e3b51fb84ca98219b606bf0cf5c5b7a3217a19653db39dabd16d8f8819d1492b216b18b2a9fdab7207f79f2b56c71b27cf51b1ab8959f5855aca SHA512 629bc6c9cbc00448467a1590588c04e6264713669e38f3b3162586c2bafec5908780b76d794b20dd8b511e6b0d652ab81b6a9d015b0637d2f63937d071797ccb
+DIST firefox-115.13.0esr-af.xpi 415050 BLAKE2B 2ff8b6ee58285be981cfe3406a6dd7d7f3f5f4a5fec849916c1c0cb415962de5f81c020a26b9965fd8492db4cc46f5120b3185c7d62dda0e1cbb94a7f68a4d1a SHA512 c29eb1c6f2baab48a6a1908071ba42281662709f717b0cdd9fd54d5fdaf4f4e34c23a0c7a69daed957957f9b651b554a17c7573cc5a12d4676c7f97b0bf9d68a
+DIST firefox-115.13.0esr-an.xpi 499423 BLAKE2B f72367ee01c38c4958c4416c1a3f54b2dcca90c93fe17311065e47e9c465a3cf2c3e363baf8720f7a261c3f92be5e4622ecf17ea4dc0cbeda40695a3d61bbf62 SHA512 2a6f4da626d74cd2dc05e3ec42fc063c631bdb6b70413fbc66ce7b890118219501e6e237b53f51393d9b12fef81f39afac7cc4a3d4f4dcae927874f10e006701
+DIST firefox-115.13.0esr-ar.xpi 605444 BLAKE2B dc393bf862d39c7e72dc1edc31ae1675b0f907ce5a37c8eb8278b448c63215745a3533177a8e6b71b774b829a5947ad55549eb71c90b6a9e98d3d46d6c50b06a SHA512 ec5da67bc4e210a9887eb503b1e27933e3cf63489f0c31290a7c949ec6299b2135e1e8ddacffd7220c2e16da4c3d001a2eec1d4cf80a8693d94eb71001fc8823
+DIST firefox-115.13.0esr-ast.xpi 491184 BLAKE2B 5dcfcc1dcb664c78d71e22e8f38d13ad80cf6602071b601445477dc33887ae1883761e6c536341a59d195422884cf5d481e9a9692c9945672debdf654e78292a SHA512 3fc92b689f80672c0b5a97eaaabcc242aa42cf3e33aaf9c93e444c45a7e0dfd97baf139c937e11a50d35ee960bea91bbe53125942209bc1f9face75288beec3d
+DIST firefox-115.13.0esr-az.xpi 485937 BLAKE2B f65761f146ae48b0704a3ab4dc34f45ac4c7374313fcfeb838c1f23b577200bc243f2f7c2fd6ce477aa0a85ef0425f26bb30a28c84904385885b32bb41736050 SHA512 380d055cb9b3919061a8e23f804d39ce24fbc135a0d963911b256ccebee57a2bf6af99f24b4acd7c70c44b7e3f9ca3718701968cd72b16c39f3afc225bd0b395
+DIST firefox-115.13.0esr-be.xpi 711827 BLAKE2B 16dfcfe555f23037b2d5360c7f3109fc69d10003e6de4a087f8aabe48639039396bddb06ae7da2082b45cf188897cffefa6bea4366816db3a1bc8f3dd3d3863b SHA512 fff6b8c7ea887208ec541822a1ab073f0303df6aaace84c6c0cfa682a538906d9a67ba103690adbda920dd0394d5ecc249765781f1304e6fc2ae266a9ea86ae3
+DIST firefox-115.13.0esr-bg.xpi 597471 BLAKE2B d475045b3abac2492f4316e21bd1892eb06656162ea6bfe93bf34a1f3b052373f72c85ca33a20a7c7afb35543ea4e1c9a520c622c11f287b0b1ce049ca34a203 SHA512 82b83fc0891fc3c4101fdcf046516f466c9d36227e54783e30252bc0f8d1647394f4c667d1c473c4f7568a0094a84c1216acaa32b9604704e7a0d4bcebab2d1e
+DIST firefox-115.13.0esr-bn.xpi 576186 BLAKE2B 68de38e08f980f61f9d228df018c9af388622807f032e98ac453a2cc0fb0dc22ba5cfa0421c850da2dac70d30f2bdf37ce20e8f08fc42c1a35b73e0ac23669c5 SHA512 21110dada66d3dc26bfe92f771b487fc39374af0b17e6cb66dd68c0613471dacf1e04aa59fa0c3c6d870114b85d0232ac339143de561ddf346255182e83183ef
+DIST firefox-115.13.0esr-br.xpi 584021 BLAKE2B aea8cf321ac9625979f6d77643b9a5cc83dd965d7124a18e447ed182fe5fda37ecf5654bcfa5368df9cd63574a9376fe9c802c5dcf3a72a5d1c3cbeecf0405eb SHA512 0e58cfdfb3154caef8dfd3e4d826e58eac33cb8d296cd362c715bea383dcb74bd4c37363d23752a29614abd5542f76c3f78a6c5f31d0567393073f0d8f806532
+DIST firefox-115.13.0esr-bs.xpi 496142 BLAKE2B 59f4515d37ebc787b2d612d9aa556ddac4c5f8122b2e7d0e783add521215d882bcad4162ef9faed133d47d3e60bba6cc5d6c9c9ff7360811396d620ad63c9fa0 SHA512 a85ddc738c814514615b9d9ec4c3671ffbdb6bc8885131305aa55ab592b1041fa5c22790204c1f79c788f8af5f1fa9235cf211c3df863e2217bc409b179443ad
+DIST firefox-115.13.0esr-ca-valencia.xpi 539103 BLAKE2B 349e7c4054fd3e87a4a0e60424a9cb9d3c0187c3dab5fc4a4b6cf858eb302c66d170783260a8b6533a67666e5c525925851e6adcd28c561eb73ffe5e99e70f1e SHA512 2c604454dde3d95c2b37aff51d80011d10bd6dd26b0055751239878d740596167ba48536289289e34a0384a7344c042b863aba4e204f631a995a9d39e4c99d47
+DIST firefox-115.13.0esr-ca.xpi 578624 BLAKE2B 57daedb34bcea839d5000b18087627b05a03c4d7151dfa62ab1b36a430d1381ce4219bf5a54d231ce8ff5721d29006ee4e2d0186c897f7b2db80f2b48283b5bc SHA512 489a62c1a98e5729bfb5e76f5ca235c7afec3c20d3b973f3ef2d8760508f866e5ef377f3e5f7ce2fe2b573e4cff979bac7728968ea8c1765ab68fa2953ad29bc
+DIST firefox-115.13.0esr-cak.xpi 586161 BLAKE2B cc408805fcf450a1318edf8863e2050afaf5b91fe74213bed8fd37357cec4bfe98580ffd7c9a712aed0b548b04938f10890272c8a75918a5058671c8aee1fc99 SHA512 9861c6e7fb57b2bd3e24dbe56769de03c2ff0d41ddeb39ac81158b0942b11749faab41312c92688722ea58f054bd2d4a7d7a79199f7c3418ecb8c2ee1e786352
+DIST firefox-115.13.0esr-cs.xpi 655607 BLAKE2B 2cf82a0a42f53b6c5568a83cf983eb1f62071cd97dcc8eddcbe003c316de66584210183ce52e1c9cbc1338f4f0e39c269ee36a909548d43335ec432f13f22dd0 SHA512 65cd2a8c6ec128385c04e831bcfd91f4802838b164992dfdb568e2792c9308f49258f4ef8b8a13dafb1e313d369ac872628c04cad7ee69d9ae7820642c370627
+DIST firefox-115.13.0esr-cy.xpi 619969 BLAKE2B 9f82972e92e4b3847ec1bb50ebdb414f61b9753765c7d0825c0eb2086de41d08772dc66e26afbb609edcd276e8af74b6742332351d35397de18862df212d0959 SHA512 8b0ac22d9499f211f7cfd4e4ab4e6073ac6fe3f566cb9f500f036cfb66d40770b42bca8f71a1e491eab4a91674bbd1bda75c34a8c538de51c40d27456c207cc6
+DIST firefox-115.13.0esr-da.xpi 608727 BLAKE2B 19ddc06716926eb8eff49801ad7592d77e7609ef693dde5003329014549a1dfccee25e8320c7b685b519f60ec5a4527b5e8c109f561fcfe98db0ec06438119d5 SHA512 8adf6d2a81712a5928eed7f2cc06e1fba86e7f69e10c7dafb337f5fd5fb29c7444b5db98f3585079015b98bc4ce6a3fd41d5233c2280375a77c934ed1d5f2481
+DIST firefox-115.13.0esr-de.xpi 629623 BLAKE2B 189f478aef796fb348cca80d4d03c1f8315996de52bf08583b92b80daeb1e7c64acdee3964d1ea4359928e13f7d4d8624d49b95185895174b34ba95bef1a022f SHA512 f21a1ec2622adabf3ecb3b8d0ae8b5744e1d17ff2b903293121f0454b28d18cbd90ee2d6b960805545141e2914daae1f6b17fce50c4a536a3cd56de234e2d8c5
+DIST firefox-115.13.0esr-dsb.xpi 648138 BLAKE2B e733cca2cc036b568258f48ba62b2fd6d152762eaf2a05456a9b7596265692df095638e067466252f8777cba5c52a7d17bdc7e743bb819139e7f90eaea0f1480 SHA512 bb76262dd5265674f79b8a61064f056cb62259ebed55ea2e2e2e026ca9fc0f80dd0bdee9fa5884cf0650df26e625de448e3605366b374229b441a2cfa1b14293
+DIST firefox-115.13.0esr-el.xpi 729621 BLAKE2B 73f1609e92aec59fc5e2d0d3f977f76840ed19781142e67f5d4c3e5e81ede8744b3316f74b97e052895775170b638986b9f264d7ffdce7e0bfe3fb3d4f2709c1 SHA512 0ec261dbcd0ddfcc4bae0d404410f51684cbee3e80d1846b6c15e35e9accf56377b1263b120a0cf7fdfb23f1459731dd8e62ea90798169d1a767aca4dde6576e
+DIST firefox-115.13.0esr-en-CA.xpi 580169 BLAKE2B ddd65e8df09c0abe16d55480fde4d7f84377103236118137936cc1e5b8337c65c00119fb2b55bebbf7aa63d8b77dd8f633545f095528f949aad1207608f0dca9 SHA512 8ea328ff031092ed1c28f76d521fea12b665ef3fd31d7589b4aa0b2b3e92ab36998621ed5f9ebf1e64bcb8216cfd5659e45aeaf7234ea03ad7476268e93ccb7e
+DIST firefox-115.13.0esr-en-GB.xpi 582349 BLAKE2B cde45b48a2c85831f8cb00f36d15816bf4b9f1970d4930d1d4bacdc0d13fba4d1b38a02143d96b252a8569e0ef9c49782697840b01d068cec085297b18f7b259 SHA512 5586a5e366b9e550c9e83a9916e7abe03d0dbbf78c48a95aa305d43371e7015bf35c14d7d14e2c5648f00b20f81050a86259ee55bf341136cfa0c6f4a5e4f2f6
+DIST firefox-115.13.0esr-eo.xpi 609842 BLAKE2B b847fdd018c4811f9d5dbdebfc75b9960fd7546ee2286cd4898af157de24c40ca3daa2bf2ea2a613bb2ed892c0eb6b2c38dc59f844fad2d3604a23793ba53cda SHA512 b039bab4f62624b5c8a8b3766e0f3fddeaa19391dca1af6d14385e496fae41b2d61785ecd84ece3ca97c8c8de290dca4a9b45763b45230c0e558ee9386ec5cf6
+DIST firefox-115.13.0esr-es-AR.xpi 625238 BLAKE2B a805fe6bfee5855d79ac6de0b6320f08f4d559525de8a16efbfe9c9e3603edad1a49c67a62c9de7c3c6b13b1a68070ad07d7b133667270a1e0461aef51fc03fe SHA512 6b1a16a93c2dad80391afa9f8fb469ccbc79312a6394f9dd4c00bf32a85dd2e41065a44b4344d7d501d73bfffbdaf8188e8d7345aa926e6e86e5c59ce99c6d4c
+DIST firefox-115.13.0esr-es-CL.xpi 623465 BLAKE2B 4606593ab9cd4e8c92915d0dbe91c237f0c5b00c5271255fefa8cac639f235d97937bf98fef26bac6eec089f6a1168d970caedd219496f179f260c35a707a198 SHA512 fef906e8323b2c3a62010df983d3db4dab9fa7556ebc51a5109c11f040b11ba336c025c3b32d26f07d52b69f88195cc83141fc9965590d61ee70ba2f8447400f
+DIST firefox-115.13.0esr-es-ES.xpi 618304 BLAKE2B dd001755d1457bf4187591922914fb426e2ec7ef6a1a86e4c0323f3563795a130ad29fb1c2ae4946458ee0282b4784e0ad63cb9e1c38c6b9cab2fac4e748f306 SHA512 ff637b66e777e2df0c9fe0561dd464733960d38584081eaa07f74e3d46a0f040f670ef507f2180ab9b25a710e950f8f93cb3436a855b957ca092ecbd42f0f805
+DIST firefox-115.13.0esr-es-MX.xpi 584255 BLAKE2B 4bc95b99500a5c729ec3ce4ad2d4bd170222d9e3fb9734b743280ba99aba5503596d68caff19f0580384bb6c51c04464ef1501bd46654fed155b28e7b5505e98 SHA512 bad7d867372f98c82edf61427116cfb9c09b121bbf43bb93c61fd60788c68cef7c97793f94c01f92f2db443bdf3d9d5edaeb3c47734c7d47ec4bd22e6a363a67
+DIST firefox-115.13.0esr-et.xpi 532879 BLAKE2B e65d4a7675ff2971e2dc550ca296b45a62107d732a81f1070b4bd2266961f342bc9b5dcd309c4baffb3279be8bf61734aec14aa5ce209b2d82b773148632dc42 SHA512 50f0b61145127f511743371332311ba3a2b18e473226f45f193be46146a0c0af276914c59c3612236b6989a6699bcaa901437d3cfe5563f8cc579d4e36ddbd48
+DIST firefox-115.13.0esr-eu.xpi 591804 BLAKE2B 1e5ed62b53f3b7d6bf465968bcec781447b8d39049368672d86b7eb43bf7b019c1d19bb34c991e9022f856b348ff00e7f2d7c5fae71388231b7e2c44fb1b6dca SHA512 4def2322424a4d61d44ab87e6076868b33a390006ee3a47233888de5e67d184c103b990eefce790628161a6585a63c023f702d7fefff41e06a0d4ed4647e9dd3
+DIST firefox-115.13.0esr-fa.xpi 584193 BLAKE2B c1de53fac8982856a128c7825aaedb77267903f4ca3cfbe8ca9ce88f0a418d02e144c0b6a2d70606c39fa9dc758131f01af949e5072809da1c704830c60f5c95 SHA512 d3931ecdc5bac7c3bef39420d5d9a3b81fafdc4cfd3eb7b798d78a7bc5dc3214bdb18bffd5f947cec858e1457c369f445e9336ea28f6d22b28bedf56e4bce6f6
+DIST firefox-115.13.0esr-ff.xpi 471600 BLAKE2B d651f9b6b3b24f948084ed2379b741c57a7d7c1706efefe952959b70df96f65a1d74aff0972e5bcf70aead42f286e3ae5dca4b73abf7f7132f9580292008596a SHA512 b0e323bda0bfee0925a150196b961d0030216882af68d9d66a8ffaeae56b679e79dde27fe4be8cab7ad60a48000847042f8b1274966f47d0a5035ec02e6584ad
+DIST firefox-115.13.0esr-fi.xpi 601957 BLAKE2B 464af892e7acf5fe7e1dde0f5b35b380b302008237f2fdb23acd4db26c55724f5d327688bbd58f410c6c9585672b9e3f7404e246ad1a4009191959c3b1dfc16e SHA512 2beb3e0b7730bf3df85bfd9e62457b85119688a68b704f5e430264bc317eb7b0580b895a792d21057e799928a2a3d2f5f7aa0bc0dfe9ff8b6dc1933e82a6407a
+DIST firefox-115.13.0esr-fr.xpi 638171 BLAKE2B efd3d5882516db38a35d998ed61fd11fa73758f38d1aa8768a6ff1fcef390346cd3a54359076da60be0e1cdbf8a4683edcc66bf427843d26c533d089f90cdd18 SHA512 6ae30c58ad81b408188d5ac938f4d3c5fded4940eb3c2a02313670daa5992c029ad9cdd3b831cff4d06f51b73f06083e4765bcf329ba10ec596d2d18e25a58ab
+DIST firefox-115.13.0esr-fur.xpi 630143 BLAKE2B b1d55fa9cfc3386f2a4adc35215375f647b20619581831eeefdaf32acc540ddfda2a71ac04ccf85d6cc152a8dcbe7c08654bb4e66d264ca4748f330ada0f34cb SHA512 16dab1bf6573fbbb3159930298a855fc8699ef5233f34e3cc877125aa8e0ff8eacdcd58dde7257face95bb19f7493449e85f8bb3ce685dc48768a484b63b40eb
+DIST firefox-115.13.0esr-fy-NL.xpi 620747 BLAKE2B 86bd94876344234d7f47610de7f530d6c0c4b45cca233334838acc62d917016f6954b283f8fc28b1567bd1c1ada3577e41a334d23733fe91ca98a9c926c3db68 SHA512 8bbc05ec34f5716aea3d10c370fe0bccf3e9d8fa64935ada974f5166edb393957be02ce0ac89bdf544fb1aa24c96152d6b06ca34c07c5369f8e7dfdc052044a3
+DIST firefox-115.13.0esr-ga-IE.xpi 467487 BLAKE2B eaf02d92932eab627fbb4b9dc4777adad0a4de79e87a8a7e0a6adb7615dad928c479060702a164bc82a9d98f540470ac9a45137f5d6209e20886edc3c7497ca4 SHA512 8f6b0e68c57d866315226783599422c6baf494b2dc7203132d95d5017ae84de925671361ff72db85d6b3aad42df832d35c5c30008db0956bda93a68b32062312
+DIST firefox-115.13.0esr-gd.xpi 589810 BLAKE2B f1cfeb41696849dbcc44773194519930b3cdbe8676e960124f8ffea1dae9bd6c530bb6f5859a086d9e16244ae49a89c0d895a96a879a8f9d361e466f5b117e7a SHA512 fd5066007811fce84f800fb76acf5f02f6386e8fcc351a4b9ea153fba8811c1292e14ec778268255d818813309ee81e46151081c466aa0b85db6aafb8dd9571a
+DIST firefox-115.13.0esr-gl.xpi 599812 BLAKE2B 5ca1db00fad370d8577f3744c9b12156a05f7dca5a9fb0a91c854ab4452024e86b7aa7fe3bdc98aa1f671f45930fe6f0b7779342f20687eb0783e6a71a29c595 SHA512 8d89f1114e81cc216886cad85accf19fa6163cd9fdaba122f354785417982ab53046605728dc311f3091852407e9b687defbfca3cf4fec3fea30da643555e7a8
+DIST firefox-115.13.0esr-gn.xpi 635256 BLAKE2B db1f84038d0f7a5e0443b478df3d42e1ec36241bc458bdbc7918438e94af01cd83ab94df22338b63009705895c564e2c33738332fd7acd0e6c988636f4da8c05 SHA512 60c8d66c1dabe613355d4277f163f5e35f5d9a89b5a2c9527d7eb0d0735fb3690b1b874c4920a6b165f29862736002038b9674a604f152ee0961bf5882185af7
+DIST firefox-115.13.0esr-gu-IN.xpi 523232 BLAKE2B cc45a0a05c169381a32492ca175cd7b054ca4d2990fc781bb0fbfb8c56768dbbc4db56e45950cf735355a57af6ecad4b2f06046c05409388e93de08437078b81 SHA512 73862171a464a5a480308b614bb264ccfb51b96c4a3a02f145f76836c0cb8b0c0cfbc8f0b7d536f639ddbf43a0f56437cbd366319b64b3b7fbcf69e01ab58ce0
+DIST firefox-115.13.0esr-he.xpi 626729 BLAKE2B 58faeb11b0403cd420a7c67edbdf177eac59a7bfcc3bd722ff07da99f5e5dc6aa6d2ec10631de857e8818ce7899a3b4fadbc0e857a604374c148332684672b67 SHA512 b6fe3216adea48fa1fff8a5a564916f47b6e4c557f3df090064f3378b65ea8bfd99dc3c12db5e2a40cd868a7ca7b2e72fec77549b43696de4afcd7f644a161c8
+DIST firefox-115.13.0esr-hi-IN.xpi 559902 BLAKE2B a826402bc9ac502c12926f05345979e5380b10d4817f9bb865815ee9ae1cce84622577a465987766a6f96068eb0b6944709b848b84c0ff21291dd817128e3a37 SHA512 f461f8cd826967ec83556a2c2fe60c5f45ce194aaf632b85fd241c3442f6d16528256e6e3a6f9f7c8297daaea5b216fbb52d237012229c7cbac7dbf07f3f96e7
+DIST firefox-115.13.0esr-hr.xpi 550267 BLAKE2B 19b332c4e6941a95b09090d27fa9c0b4f95b9dfc8da512d1ca7eb65bb76a70053384331e9ac171b336ae15aa55c5c50445af86ef8b26aebb0e5e8423eff570b3 SHA512 e380014b905b1fcb92d6c4715eadc7777b011c7832144d27e6f462dd63c72d5bb3072b1ecf13fc9917c7f73602bccfa32133cb747b130307bbebffdee27a9948
+DIST firefox-115.13.0esr-hsb.xpi 644212 BLAKE2B 61e3f7a19bb5fa12ccbb525f260defbbf1b96fa63f01356e69069a01b47755595be471453bf429b9d5a04b8793d266c6a153a8e81eec427f0637ad895ae5c057 SHA512 d91861b2880f3ddc1a76dc42d3d7813ec325aa6ccc6c6d725a93f71269aee0c8f6e7586380b1683c3741f29d8d5acf2ed119b7e0561d2679e92668a6442c0634
+DIST firefox-115.13.0esr-hu.xpi 648263 BLAKE2B 157fe516db5a356be123001ba81e21ad8af7aef42848d6f009b49dc23cbcc84538bd4397bc5d0c2dc1e3bb3c5f84ab8e09fcad2cd4ed04a81e108173b3ebdbf6 SHA512 fa3cac33a4bbda77a7f2e987f5b41c9746196b5165d83ac9072ef83ab54bba2768dd06d0d4fdb39ee8f5ae89644b67153a1f062c7c9ed0585e512646a6e56363
+DIST firefox-115.13.0esr-hy-AM.xpi 647113 BLAKE2B 0b07bec9f4810d9ee9283c70fc927262c53fbd7caf8f90209e0778e449414918a959fb86db27338ccb0129b10cc93a052ad7aa83a17f9f5f8eaf2e7a6da68b33 SHA512 fa6d691f57842d5c5de51bf6c5e3b30f979c048022ad352465bb324cc2fdd03afeeacd611d500f118bca6d516171f7476da8eab270f17eaa49a856f4fb73ae6f
+DIST firefox-115.13.0esr-ia.xpi 607449 BLAKE2B e5cbc8dd0b6e8d23261cf07814909c8b4c98c74f395c4cfe4dcf8c0019ad9327fecf90f6e41a2af17a1de8ee28572ee384925ed82736f935228d7e9513fde2b3 SHA512 bff9484a9d06d1bc716ff4a78955cfc5c46449332be4ecda2ade02217b8a0c61ef46226999a60ef78fd9b796277cce7312476408ecee0a0ee30c8eb738f684ed
+DIST firefox-115.13.0esr-id.xpi 567403 BLAKE2B 59a0ddb6c863e76cce51913a088631243a381422871d483e44162718d1a300ef96aced587fd196c38db555549126ace8a03a1fef598708cbb747f2be2ff8b608 SHA512 88ac0af91f33f40f6290538c0735c1dd0ff02214c6a5d4ade78dee4f571838c7191f91e5da7f69c5da831856f13654290fb1d735cfa257769c812ad7165a3cf4
+DIST firefox-115.13.0esr-is.xpi 610523 BLAKE2B 6e8292d2342d6133da1fac45e2b39314aaae6a14a037d00c8bf3ef4f7ba37a495a37903d04821034b5425b372f0b7d51e2891de43bd2892dc793099c51809fd8 SHA512 a6ee6eb5cc54cf2cb86bcaf872bbef7932056a19e7089d6ddcfad4b9364f26960446463039108aee18677b12a0d55e5829146f1a9c877a279daf61bf63c12cdb
+DIST firefox-115.13.0esr-it.xpi 564030 BLAKE2B 3792406c14c3e71b017cdc44616b8409f7961e0321344cb88d004713c67f25e12e45b79793a9b33bccf1c59eb4e8b2c4365f9dd8f3887a3deba5e148d7ec8cba SHA512 5c013eb2a09b2f52157e99d64c4799cf075690b1081be432b77c438c10a462571b609410edb97c67b7bb584659c2c043124a3012a1643946da98c28956b662d6
+DIST firefox-115.13.0esr-ja.xpi 675128 BLAKE2B 4885bf5364f743e5022859747150f57706df2d61aa197c4a31209a4b849e0876d925fe263224eab795c91e1a71016a663ad106630a12b97579650cd48910b76e SHA512 37b85ac5cac28a6ca144f5bc7bc49c8bb40fa03393d2eafcf690edd0c80251a85201bc2b673cc06a6f88c4caa5d05508e9935cdb8eb4953d31820e95765c88bf
+DIST firefox-115.13.0esr-ka.xpi 657820 BLAKE2B 4ba19d5a966c63519bcaf9f0e8f8ddef940c4ff1fb53875c0601ba5a9a629435111a6a39c9588a163802291367985e6470e7085c18989040f05fe250d749c189 SHA512 58bc1b2eabcd890a575dfa0c73b603e66b1a9bb66ce627aff73bf29998a65fcb098fba09ef02312fe9529d8028440e2c16dec0592c870254fff3cda9a22167d8
+DIST firefox-115.13.0esr-kab.xpi 602472 BLAKE2B 99e709e4520810fa190ffae5ceeb1aad7e8599bd5581594ddbf801a6a4d3c8758cac0a58acf80880b29754c23ad498cd912b889f8837e3eb9addd172111b36a6 SHA512 fdbeb125f941748d05963059823d3f307fc019cf81cddbe686b4fb4533b8a68404cba557e2477be5d677f33aae5b461d48ffba6651111baa22c5f00fbf42cc2b
+DIST firefox-115.13.0esr-kk.xpi 704884 BLAKE2B 6fb7a75dfe0ad53cd62a72657c506c934a286896ce65a419595a3b3be02b8274a70d30a3514f76ec377446917793e1521fe8dafd743842e6f7dac17e6c95c330 SHA512 f9de2a014b9b68a2bd6dd5c54e9cc44060330b2db60e24b071987cbaeb4b0d2a35cb828261362d7ea6a6f1f36e38a8491de3c59c42d5be9fcd93a636a85806e4
+DIST firefox-115.13.0esr-km.xpi 522176 BLAKE2B 180f5100d856c994fe994ec18fe39e839c769940bc59563d9cb51d2ba3afe85cf5caea31e7b823ce74592a6bf3917e967ff4a2c6d8f5ae90354611e25e222a5b SHA512 8df61f23a7662f0f0714445088a6a2fe6b3a14d685300dcfc9c6f124e985c63a214cdb37863a35fa0689a7dfd63ce0b9823e318daeb1e7f5929582c06c7125f9
+DIST firefox-115.13.0esr-kn.xpi 488053 BLAKE2B 8d3095db3b6bda67ecc5a43a1f24cc87f4ca6e68fe7e7e4744d79792a31b1178f51f478c8abe91fad54aa6d0b80401433fddf0b76f6ed3902bb9c71a43b5936e SHA512 27fb76a454bb6337b77361024db3b99a754af35caf33ee33556df422bf968da4422dc727450f4d3d93814a1c5a112edda6f6d1d289d3673e81c0ed5d7c04cc99
+DIST firefox-115.13.0esr-ko.xpi 659151 BLAKE2B 02a3dfc31a7cfd3ad2b2162c4f94b0cfe8fd4d3d4be505f450fa0d8a63a0922f8c7e19be319bc8cc0a14061f5f19cac8bf6e9ba4f0963d2060fd25e7a13e9553 SHA512 3728938278006a3d77cfebc46643f0cc1e6d68a2deeb8fe68ed999daf2f9e3c0d343599c1292a8a5f35d97bdbbd88865f8f49937792bd84782770325f18f473a
+DIST firefox-115.13.0esr-lij.xpi 478954 BLAKE2B 0f32cd0e790ce6fba97a3e69cfca15c90ac0542d31b19e67ef9fee351847edb791a0c9268cbf091beb4766d28370c841417ea73431b7aa319d5974c8ad49cc29 SHA512 eddd6415b91d1e8f8683a8cca72dccca5dba7dab395eee279fb7950653f69e1f4776373b26d9221586b966e26b3ee7bca3de10785f6d2966cf2d85700a04f235
+DIST firefox-115.13.0esr-lt.xpi 566055 BLAKE2B 5e61089ab95df6d8e4e3d28e1d628ff3d77fff138738c842af050bd1ac133f9fa44bea2d1dac594a7a3dd15e4faa0fced07380556a8bf4f94ad1111f9e448103 SHA512 946d6d680f02b68eed5c18019737c6913f5ac95ca10741da30c6d31658b4a0eeafb6789627d1aeff88ba49d9c6ecbcdd4ef6000553ae7571272b35bca98e35aa
+DIST firefox-115.13.0esr-lv.xpi 568096 BLAKE2B 602d9cbd60bda98a73e9461b1566f09aa849c0ae632bdc6d720a18e53b8ed4126c64aa5769491ed9ce31bee21ddeb4a0e2573323d67249e2669d6786dc0b4776 SHA512 d4bf23bdb67c1dd26c3714e58386a63900c9d5e7457cb2d7828adc6563883fe621cce299e26825f71164258604e88d06711cb008c60d80d974c56e04eb54ac70
+DIST firefox-115.13.0esr-mk.xpi 490305 BLAKE2B 02f7343fe8b6f809a97e18669cb9954d4440fcbec49cfbb936d989fa308e8c93b430028fa1f4f091478df89fc3893c620d332c18c2ab3c86aba41566b6da5cb3 SHA512 849e505174770b9c778ed088b353149ca5506df2baa070ba940e57a62d0df0c9af4e7d6854148c979e7cbcaad0394f3a3b80bc0641f2ecedc1020adbdd9b6ef8
+DIST firefox-115.13.0esr-mr.xpi 526721 BLAKE2B d7b1bb8b185a759d9bfc4e1bab37d734f62ee1aed59edeb9829fc63eabf541e4e15532dc8f03d152fb9f61e97ae4f17d3f695ee5188873551e45fa8d7bb72fb0 SHA512 a3e482b320a01684b5391fbbdad2a2e06fb30b023cd46dc449919b23a8f425070b7e58a91535e2b973d63f0d5af8e240dd13c12d52a6fa0342829ad5e328f703
+DIST firefox-115.13.0esr-ms.xpi 445347 BLAKE2B 04d1927c6e63253b6e90a61a61dadc424cb22c6e82c0e0fa52ea75152927c39d30c82f0bf71e4f856cacaaecb72607ea69dec15eee97f97fd3a092baee184c93 SHA512 de14dbcfc4d7d7c8e23f08a45807c7ad7c3120e2bfaa0372b7bde17d4e25b27959946cbff0b855357de1756bddc5e70b35a003aca4883353b3be4a6ab5fd8b73
+DIST firefox-115.13.0esr-my.xpi 514775 BLAKE2B 2b63b9e3e434218c2e1e6a25d37bfc0791c118d7259881dd55293fe65746e869c4acd384912ea05c6c03e2dcd2d18a10a7074ae4a2e57de80089d33bc8e6e666 SHA512 c124401eda391d90eddef3bdc56d24ebe730292a1c14f3d8e9d3b61f72cc1485c9141ea2c21fbfc1b3b1aa295abe634c4191c436da24180f21ee0cdfbd5ccab0
+DIST firefox-115.13.0esr-nb-NO.xpi 605932 BLAKE2B 265de1bd0688894c4d37da31ed7902375e916c697878bcea9dd7b717a496c0c265de77d5584f8299587ad391e94a95c510b5f7765fd3393eda088c7c132d3e4f SHA512 90f34d609a5d010fbfd0c02de3aac179f017c7233020a5d16235b9545404b4887e9efb4f61b570de1e22855a3312125aefb6bcdf8f6e118ddb31f004ac3bd83a
+DIST firefox-115.13.0esr-ne-NP.xpi 506844 BLAKE2B 2570f7be21faad1868092897d6f7f5bb0df4f6bb7c04b1650f147c683f033d4740f0d68cbb4fe54236ac6264196ed5de783b2465f51e09b32ac782ec9089e711 SHA512 f64c0ee5b11d2bd0926708fc45103c2fa6699d0563f2e37ec882e9f84fd4c2e5a2d01f1fd10e2bf9e3cfbe4f6ff00c4a3b0fe4ae4caf3dd3f50428ad03e91f7e
+DIST firefox-115.13.0esr-nl.xpi 614615 BLAKE2B ecc15b9423b69f01487b79f451190079d82bd4ad9bc98c0a907f4ff9ce2ade07c843dde8435b1046ee84e3dae4949628625a7c0fe3aa9b7f446ab0756e96caf4 SHA512 ba72ddaf6d6cb2224f4bf0dfe56155a714b1a8eb496ff28a233425c9f8676391ef134364ed588a08e469d1de92a7c0321cf1be9aae7782df0ef15eca6afd87dd
+DIST firefox-115.13.0esr-nn-NO.xpi 606790 BLAKE2B 2519c4a7074600335f699633e5c5bac1b6c762ec60bf547c49f9092ef1f5d42a074f94f2d855693e245a7d21c31611837a4e1858c6d6f5c590d95f678e07a59b SHA512 2c4f34b1426a64307d01553b726a5c55a1c1e087caec3536802864054d32d61eb5691b78e8a5f0bfe63f8f4539647e51a000ac549d9b23385ec7eabcf19ebaea
+DIST firefox-115.13.0esr-oc.xpi 606292 BLAKE2B 1f8fa30994be906dbb2a1bcb79b8dfbcc10876c8b83dcd55a733c6f230885fcc654e1889c91ed41bf9880e5e20a2f94841c552b4f9784ab7a77fc775418aaa7d SHA512 f5ca41eca0ddf6d560bc07da87ca7c0da1624a3c4e2d527a604186138e55a5c0a30b7eb44f00f05998f07ba2278a31988cc528cf1d4b7f1a2f164c4fdc109ec9
+DIST firefox-115.13.0esr-pa-IN.xpi 684777 BLAKE2B 35ee56d12532e977017e07fc1bdcdda40061f0e88c0ad2c056399d4ef1f7ea2ed6184370d038f4e6a1f8c698242e5d59fccf1abaad9988ae237e330b3d99bbec SHA512 abda142513b7af1a9d5e156fd4598887435b0313b345e5786ca647465de31c553494cd7ac714fdae8b7b3ae40221fde749e03c83fbeee3534ccbc24860485fdf
+DIST firefox-115.13.0esr-pl.xpi 634143 BLAKE2B badd7fe2a8310cfefee95d68119f56e66357d5bfec75ce2f6a1ed9469ca239779e0804377a06fea7fa0fd1959f75ce06542cebff1b45ff899d6cba71bf28c967 SHA512 0f9d5423dc00e93b900b6f90997419d70975d6a07a39a6f2b1012ff7a0c4c2459c41214f05171fce61ffe4fbdd393f0bb906bbf8dbf71343895e463ff9517127
+DIST firefox-115.13.0esr-pt-BR.xpi 619344 BLAKE2B c27758608781d90e9392e55196e2a8cd4f0e124cfee08b07c4d37319099b3a0b5eff98985215ba769a13fb1ed877224a370eb6abf221bef8369d0c7f908a746e SHA512 e061106433be87e7b2d47bce894241f261f87a5cfce49415c2430417418e978876b45157eb3a3786e338a7b1ad359c672818274dc7e71465023eb10924a9d765
+DIST firefox-115.13.0esr-pt-PT.xpi 624305 BLAKE2B 4985553c3c20285d14577e5dbd671582822336a59b469156ab7ac8170ed153dd331554ac6ffbe2e8258a3cb31aff5f9d47103d6ad88547e9117d78f6a7f27d5e SHA512 7b51efa9217440b5938d4f484625d13562e65de57b6d4c9ac53441031977c6de52cb36fec5d98f0ff2d541b3e2fe2bc854968747bb09e4c5d17ae94b11bf5e5b
+DIST firefox-115.13.0esr-rm.xpi 614076 BLAKE2B 1cb280402450164c54ece4914f2f74c1c91dd8d0cb4280d6a3310f21245e95cae455f64e67bc8c26842d3e63a75400287545b8031304742f9afa7389de6e297c SHA512 3fd88deb77f0b85c92bc42b4641699a39fe63c73d89c4febdf0237da1c91f7d13b4646415df48e5c448b49fdd1400fbd817af068518055591d09d1ca39a7829e
+DIST firefox-115.13.0esr-ro.xpi 543381 BLAKE2B a5510154e4bea4a52bb8a7c777d1fe121ea8df1b4ac5225ac80d4c31614ed208f9cf51045c51eced7f03e693ba8710c31b60dc9442f95afbe85df8ab51735ef5 SHA512 f64b2a7a0413b006244216d33d5d1ea68762af265417633898f1757aa62749581af103c9aaea6be807d3804c5c42cb44e2bf853d8cc8332a5dec4f46a6cff074
+DIST firefox-115.13.0esr-ru.xpi 717996 BLAKE2B 7d77b494bd1a6c1454987641a2ef53fa2e5c57c614e5c7d16b6381e4d4b8a22a39936ff71bcb1c1746802e1239b1de5b52da12e104f613806f9d2c622394802b SHA512 8fc13b6b19545a512404c9c653c2515bd57f85a39305fcbc97dbabd20bcb61681ad74a8a0c3f1253333264c868746e45ef6de4d68ae5e921d824da8c790615a9
+DIST firefox-115.13.0esr-sc.xpi 577968 BLAKE2B 8a68b16991112b6d7d5207b93f810894260ef622e8c36900428a3091628943a551dbd293e02588819d58f3982bbef53dff5b3f3bb6c11b25ad9d92f44531374c SHA512 becc012cb67cba7b443d149e910ac8dd72f4a6b1817b0df013659317caed07d251f66b67d63ee2af3eaaa6961d0acb1732886c04ca0b32e6f70df3c39acab0d2
+DIST firefox-115.13.0esr-sco.xpi 505561 BLAKE2B 734e467d5c4fbc367986517704b7be49cc62ee686fbd940ad0ad8ad8c54a7bb6a9662f9481b162aa0a237b5ae237d63486c4da015a90e3ab373bc8a1c5ad0bd5 SHA512 3e99a48f4e9ca2f9838ae795a8cd07010ae77534b58d783e3d61c4453ec195d796fc7e9bafb84b6c88a130d5fe1544ea4e49359678dd67e7d11d10e646424847
+DIST firefox-115.13.0esr-si.xpi 600739 BLAKE2B f5ab27d31b4b359aefa3e1d7c90cb2e7e7540fb1ccbb1b0a01029aa26b9caf98ba69da1976a9dd4baa33b302b75a159f3cf9cdf9f3156aaea10e3b20cd3531c7 SHA512 6deb90c6b4404e54e53d08680b83d32ff2c0fc30621a927f195ca326731cc5a6588c68f73a3b4a7c2f9b6c56f6b11bc20b3484094a09246eab9429e7515e1d96
+DIST firefox-115.13.0esr-sk.xpi 647869 BLAKE2B 4fde5492f430e5411a4e3d30606895d92991971b762c27fcf02a857465fe2b0505452c422e4e70b0183ddc7d3b4d99852f336dc7827aac2e8b75c212e4769e56 SHA512 66d359c11e4b03a7d948704e110b9a104e0ddd20269660d2222df759044419d797feaad6b5c2142e223d8f743411528cbd01aab1dd869b34aa5ef9fa19759b0c
+DIST firefox-115.13.0esr-sl.xpi 612807 BLAKE2B 8e6e8c9854650a07c89f2c42ef3b144301db48bb51a6485ba934ffe0a03a97636829559e490f16df98da61a52313779b2ba83ee4abd6d254731e47fdc24fd6c7 SHA512 14b0475e8cba4c852d7437819cfe3157c5a0e2454b804c86fb95bf5d6f46fd2a853060d7247dd825d547d0d148277166130964934d600740c6ddeca23ffa0a74
+DIST firefox-115.13.0esr-son.xpi 413545 BLAKE2B d211c0defa803d5ad574811e1b2e50d89de5fd216dde000a0032e3117dcc5a31211d30483a89b1f9005073015946b41beed2b39173321e62eba90cef4679c28f SHA512 5df04e32c22f70be9ec9a7c417e56da210314a8aff0d4aad43d3670bc516d074e629a04ffde567f4fc12d8cdf3179a69099612263c8f8b5a84eddfa510213026
+DIST firefox-115.13.0esr-sq.xpi 633666 BLAKE2B 393b74e8e2aabf71ce6aff3e34732f0cccebbf1426ae8af3803cb8d74d4ce9bdefa250f978f8b3c2e0cb2dfe8861be7f766e741d40c2054ea0e7ca210f8b7804 SHA512 fab2db1403e60595d8a6003d10cc564d618e8d08fffa613617150cea940a4ad3e28947ade5eb06a831d8830944ac8415185be6f7a40dace940347b533f9026a8
+DIST firefox-115.13.0esr-sr.xpi 633079 BLAKE2B c664db59d9260155281397ce14e45fd9c1ac680a0f231f170ea59ee6444ea753a4da7f7c0e3f290b07d2d31c1f3a823d6d87dec4f8268a9838e38f27b030a3ea SHA512 5afd139113a720d45dd35621d57b77c12cb47f277a264b1b78cde6b24e8a596b44b7de77e6ffec197d68bc1eefebdfca101a3892e736d60abbdd21c8317acf09
+DIST firefox-115.13.0esr-sv-SE.xpi 616310 BLAKE2B 3675c4619b261c8fb39ba86b1b0e98dd92cc099d0f1c80b28fb6f329f46d8eb4e21a4e7d54d71973aae4da752eea10387ac7154d567b28ed91917a4e99f02ede SHA512 df200d8b132cd29ef433db0a4cbcd39af2e9426462272fac0435a407cf236531b2b589a6edfddfdf12fb4d446ba02ace0b43bc1c3844f93aaada1f131a0f294a
+DIST firefox-115.13.0esr-szl.xpi 520874 BLAKE2B a75babb4e8f358a68b3314ea93bb7b1b35b8af2888c3c45b51f31947937512a40c12ebf5de60f34854c5660c6af6de032b0729ae14a34643516d6e59462eb30a SHA512 6f15aa350fa2c43f78a7d86ad324cb9f1580a9f98933eea8b3a6f5340a5479041d6a427f0bc986fd5ed0b2f89dc2ccdced3de4348663471a7ca5a43ce7e1e161
+DIST firefox-115.13.0esr-ta.xpi 503475 BLAKE2B 820f1168e8212254e3371d89e5186f45ce5af03b4e4362dcaf800e5bed203e1b1234a53cc81edad150ff5d63f555d32e44d07c0a92e469dacdf4d03d022b18e8 SHA512 458660b1267ae3077fea493cb04f8eaebd92ccbc07ed59ef18205b63eccc1598497d61d36a3de62d68fa6188eaf4251cbf54e3335cfd1cbb3a1aa320e937b92f
+DIST firefox-115.13.0esr-te.xpi 556610 BLAKE2B 880f7e079db8f982d2f802b8f085423e52b211b5edd0985b0fdbe06059c28c56fac67c813c586d3f066a427a3be2b1d74054a7fe462ff36eeca8306cbc7d5289 SHA512 2f5c455a7e02ba35761720481d261fa45f53bc87c9ad136014295088ef69e14e6d9048b1865c30183250d5c58cec5825e2705933edb4e85f84ea9c8f72739fe0
+DIST firefox-115.13.0esr-th.xpi 693258 BLAKE2B dd7b5361e45aef24da696e102b924c8bb285ad44348354b4f6563f30db0aa7d25e43e1a6ea56cd87d115be4bee3086dd2c6754cb0e5be421b9ca68f6186f7e88 SHA512 25e6be57c7404f6d3c3597b2b42bebf86092b7a4884b7538eaba8859a883467894c4712ace0140ad02709a725f82ec24cd131fbee07fc95c553373cd417901ba
+DIST firefox-115.13.0esr-tl.xpi 527635 BLAKE2B b060f9268d4cd0b34e847e36c531fdb50c319664fa970709a1d25d7ae37f3be1bfbbaadbfdc7fd77dabc03e79b234d575934bdde1bf4d5e6acd96b25b3d82c6f SHA512 39aead037b172ab8c7ce5a0a0d145c88a0ae527afb86486161418fbf66bfc69f91d7518cc9609139c1352eef35a6b91225bec4c1037cbd4c0d28161cc1e19d63
+DIST firefox-115.13.0esr-tr.xpi 628068 BLAKE2B b87145bc56034116cbec9f205916710cd7b17548aa5659e23706cee1275cece01f293976d172ce883e3da679de0af9170b3e6d1051b964ae34c655fc37ce93f0 SHA512 f804f7ab4b75c478a1728bbd817c33440e4689a85b0c711a8c4406757830d8db951a33ca97808f53d46f58e51a565d3fb9a2619ab09d5daae098e90c1b7a3bd3
+DIST firefox-115.13.0esr-trs.xpi 498534 BLAKE2B e3ac9ec8b32f2018715915a77d6920f025c8aed1ebe763fa09d7983872b7612427b7b8d525927f492ca2bf2861241ecd7e1140e433601e0eb3a429a13f0e92db SHA512 99781758ca40e62f30a377395eb39f66bc555c87e930f5a971a26c54941a4117d1470aa95a11fa60dd81df293f94eda81221a40c5359320e5c8437bb5e410673
+DIST firefox-115.13.0esr-uk.xpi 707201 BLAKE2B 6d3569869d1c7cda327999dfc2a26276db656cefc6099e3055e17434541c36db3ca1e6e19e72d2c1ba96382e6c0879ff7a991a2cf5abfd49ec341de0d5163f37 SHA512 d98b524d66ca6b79c15138e9005f3720fa12fa46411ec92d39e8f2a382257c491f0d2b3f2cad32e81e4f7ba12c4c14bc5039b90065261fd386019e652db3ba09
+DIST firefox-115.13.0esr-ur.xpi 554692 BLAKE2B 207b1ccbe283503df572ddd269a76238d7f7e8823be88d883e8ad91fce110e1d7100740056deac346a84d1d33a2a30782ebd8ae2a93aaf43d28fcdf2a7149988 SHA512 24e59b1f18cbe9189578585889cdc01c707877ed0657e4c5b1cfcd06abdd0b3a0f51c1e919056685e5c3d69d899482cf2e5616fd8cfab2a83fdf74e994ce9096
+DIST firefox-115.13.0esr-uz.xpi 474520 BLAKE2B 98963dd2b408996a31274b1093b1e8da1c079f831cae08079d1efa9ea368e6f13df6cc7b2659ac20ec8dfeb2e632ef48a54c5be421787871526811bc6ac17b81 SHA512 c610d5e417fc17d2e23a5f5ca5cb0c2dc0474d8eb6a9ed058fdd6b2c465998d6ad0488fa379b2d0ad8bd77aeca3c94f9c9f950a52f9cee9394e9a6437fd3c1cd
+DIST firefox-115.13.0esr-vi.xpi 651765 BLAKE2B 93e864245191507874b83fc34886e79739da74867a2d5cafd28e60e34765b1be0a04eb50a0336af1df70c97a84ab040c21a06898660b457e8b557ced29533d6b SHA512 268af1fb6863dfb280440a44ebabe3926871a85febf4f45a2bb1fdc126508a361d5cecdf326cfaead3257b962d559e0c47583d91355e966ac37ec9092ac9e71e
+DIST firefox-115.13.0esr-xh.xpi 414787 BLAKE2B b1f1d584ebcb91b1819ddab80c6933f9335d88441abb0ce539fcafb5fb5d505caa15c14a3cf5c3c9dc2cfe97fc3df2747ad1abfc99a97d2c7c03a75726c5aa6a SHA512 3b95f8f7b0b5cda517f826bad938cb88457efe249a0e5225068493f2fe0d644a5802e8ff85c06ccf9660135de0330452474833e2a297bc97e48238152883d328
+DIST firefox-115.13.0esr-zh-CN.xpi 652628 BLAKE2B 482eb1d85b53ccebb3bdc4a1c04d4eb12f8760cd1851a7cec986786db626f8f545f46ba545d6e3e4be383f1b751fee1a0df836b485e2f0841c659c8a035dbb64 SHA512 6ca1d36a0faea8710c0dcf802391be1888ff6fdeb2d20af2970e63d982f551b64cd5ffbb2ebd187d0b2f4add2f5ab1f3ef9d82f149beaaf6d309da6425ef4b34
+DIST firefox-115.13.0esr-zh-TW.xpi 656755 BLAKE2B ef8244f8c0d65d2c604a5a11caf4f493992dcf2d32aac8bca36a8a17ef21ca4050c3406b565822300c0333df2950ff6342f7ed05b02da1243aaa3fdedbd396ef SHA512 c62f4dddc59f71d944d70250dd0337680c789000f4df188d71f3fae1cb272c34b85711218a53727324adf190e26e1667a192b612d9f1d3a437f24e1b27eb9ed0
+DIST firefox-115.13.0esr.source.tar.xz 510571488 BLAKE2B e2b00965a92cd11da6c81daa8b6c652dfccc9f0f7d066bc17ae5fa3ac3aaaa021c4489a9f653127f5516e3d77cd7174de328343e22c4edab438e3fcb9a859178 SHA512 799cdf2d0494003a5addd0da703f53deb9c9d6bb6f6c95d40026363382803e2d086039c7798940a1f35f4cba111f2e8e21bde8ac2eac29fd9bd6876dd8d3a85f
DIST firefox-115esr-patches-09.tar.xz 16660 BLAKE2B 1dcdf62f35013b82dd70bf00c0505394b9277affcd1b1cbde92421778f4fcc146f536a546c2db8d6a70f92d40e4b1c96927fedec54383e6bb80bd9806d9b4461 SHA512 e003d0a2a5304dcdd0851b57ceb11993333326c8221d5d99555cd0c64090d5eda1bdb2a2a52e605f6094a3214ffa2238e43d57ff64eb7d424ff54b8125c16f5c
DIST firefox-126-patches-02.tar.xz 17408 BLAKE2B 631345d33f0d3c5fb09657c9f286b9a73554fd6c9229dc065fbda482a853cf6d83ddfca77d8de44e650a147fcb0cb4add2b9dd6198851cf11bc0198e959f9112 SHA512 21c3f69c86fbc028b94947f1dec301c3fb829de53fa7d745e7b8e055d6fcb5f35581a2488340fce29646e70ba671d6b271843d4336b045b5b7a7b1881611e45a
DIST firefox-126.0.1-ach.xpi 460828 BLAKE2B b15137e1405cd3d5fac4817b25f35e4f263779a354ddc94c5e3a5fb1211fb3a4154c666b208b39d3ef51c762a0cb64a12cad7c7502c315e6f4061a0f70f51511 SHA512 01c01d57ffd56c5f98f2e2cd24821645a7e0d04452bdf77a57e067d2aaa54c3115770e1f038d08262acb0737e570ef680f4c20e20e28c16753a5ee8d9697904c
@@ -715,6 +815,7 @@ DIST firefox-128.0-zh-TW.xpi 656867 BLAKE2B a0a83d940a8a78a8436f5b708d4443ed448d
DIST firefox-128.0.source.tar.xz 560761840 BLAKE2B a50c7ded69d86c9d45475e701f83295ab6ccfc4eb59d9c91379504bc35dd0e7e1fb59e8c7737684709fe62969b9762e2960fa90607c83f9e8d637b78e60f56b3 SHA512 309c0e2a0bea5699e6daf4fa02300ad7fd118d2c02c35cb5fa97a5fcc6e250cc7aec34e50fe872b8fd516436bfcfe37ddf33c9d0f9291860388cd6f3f08ea9f1
EBUILD firefox-115.11.0.ebuild 40409 BLAKE2B 946cc9a9f1d5415932e8fa55d739370b1b2296588cbc97b95bea73c07efd9b51e12b5f55db269ece293e60697c764c7e635da36f2f6f40c2b25affab7f8d8f11 SHA512 fd6c57d8c113820d2fd2d20fd9c1dbb756585b5939168a3b9b96936284959f551359901e48f95a13d3b427210920a569a7f5aa8e999eecde84c42daea70e8bdd
EBUILD firefox-115.12.0.ebuild 40410 BLAKE2B 902b584a455863f5f0842116038fa1d71841bd82fbd9e39fd835f58f93400f22d053574952b75c4b8fbf60f1b4bf6f6a0f33bbb66040156c6708386e1ecb6e01 SHA512 d1c1ecf8728174770221e973b5e9af74ce7643b9cc990544e0d7b8443940996fb5e685ec4d15410f8fa360a80be30766921078ec78153ef23e899ff0116828ec
+EBUILD firefox-115.13.0.ebuild 40413 BLAKE2B c04055b3aee097dccecb7fb44b1d08cc594e43fe3867ceefc5fbf739e1d05489d97ccf06b61427e56356632fe5e6ef1bdba8407d6b120417e99209e6b77f8fec SHA512 0a4b6eeb3ce6c44dae3481ff0ae19549cc58bb8e5726dc83734b5621ee5da3ca4578caf40a2d0553a3360027369299efcb5ba54d96c56cd3a0fe2a59a0ad664e
EBUILD firefox-126.0.1.ebuild 42514 BLAKE2B 789b5cebb2369a92cc314abbfee3b287b1b01a4402b635af4b6022d9d43ba2ef5b519205c994fc305672b45fd5f7673556176c3144ed1254a4849245906ff7d0 SHA512 66ef576f14b2a172633cfe41ce70a53051d13b3395909f7130237a4b93119b8331e68f6bd621d950234522e500f7ff09389f4e9d843e7c17f7d1607cfb525e74
EBUILD firefox-127.0.1.ebuild 42488 BLAKE2B 850bdf64d677b89ec1df1fc4a337d2e6ce08baaf559e224c573ada1ce98195b8e240e04a3ec5a31a277434e919ad71ffa9354540eab5ea0173c01ac379f3e926 SHA512 a435584138d6784271edc5592d5e67d9f07f5eefabe88c0a2dd09bccf21a56a6777629332aa4ec25ac20848ba7bc3da984a800517b3a2b4e8db8d1272cf9789a
EBUILD firefox-127.0.2.ebuild 42488 BLAKE2B 850bdf64d677b89ec1df1fc4a337d2e6ce08baaf559e224c573ada1ce98195b8e240e04a3ec5a31a277434e919ad71ffa9354540eab5ea0173c01ac379f3e926 SHA512 a435584138d6784271edc5592d5e67d9f07f5eefabe88c0a2dd09bccf21a56a6777629332aa4ec25ac20848ba7bc3da984a800517b3a2b4e8db8d1272cf9789a
diff --git a/www-client/firefox/firefox-115.13.0.ebuild b/www-client/firefox/firefox-115.13.0.ebuild
new file mode 100644
index 000000000000..f1d995d68c42
--- /dev/null
+++ b/www-client/firefox/firefox-115.13.0.ebuild
@@ -0,0 +1,1414 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-115esr-patches-09.tar.xz"
+
+LLVM_MAX_SLOT=17
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+SLOT="esr"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack libproxy lto openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
+IUSE+=" wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ !www-client/firefox:rapid
+ screencast? ( media-video/pipewire:= )
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/clang:17
+ sys-devel/llvm:17
+ clang? (
+ sys-devel/lld:17
+ virtual/rust:0/llvm-17
+ pgo? ( =sys-libs/compiler-rt-sanitizers-17*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:16
+ sys-devel/llvm:16
+ clang? (
+ sys-devel/lld:16
+ virtual/rust:0/llvm-16
+ pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:15
+ sys-devel/llvm:15
+ clang? (
+ sys-devel/lld:15
+ virtual/rust:0/llvm-15
+ pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
+ )
+ )
+ )
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.24.3
+ net-libs/nodejs
+ virtual/pkgconfig
+ !clang? (
+ >=virtual/rust-1.65
+ <virtual/rust-1.78
+ )
+ !elibc_glibc? (
+ || (
+ <dev-lang/rust-1.78
+ <dev-lang/rust-bin-1.73
+ )
+ )
+ 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
+ <gui-libs/wlroots-0.17.3[tinywl(-)]
+ )
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.90
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ dev-libs/dbus-glib
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ screencast? ( media-video/pipewire:= )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ hwaccel? (
+ media-video/libva-utils
+ sys-apps/pciutils
+ )
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+ local out
+
+ # Ensure ld output is in English.
+ local -x LC_ALL=C
+
+ # First check the linker directly.
+ out=$($(tc-getLD "$@") --version 2>&1)
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # Then see if they're selecting mold via compiler flags.
+ # Note: We're assuming they're using LDFLAGS to hold the
+ # options and not CFLAGS/CXXFLAGS.
+ local base="${T}/test-tc-linker"
+ cat <<-EOF > "${base}.c"
+ int main() { return 0; }
+ EOF
+ out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+ rm -f "${base}"*
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # No mold here!
+ return 1
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work
+ addpredict /dev/dri
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto && tc-ld-is-lld ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # May need a wider addpredict when using wayland+pgo.
+ addpredict /dev/dri
+
+ # Allow access to GPU during PGO run
+ local ati_cards mesa_cards nvidia_cards render_cards
+ shopt -s nullglob
+
+ ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if [[ -n "${ati_cards}" ]] ; then
+ addpredict "${ati_cards}"
+ fi
+
+ mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if [[ -n "${mesa_cards}" ]] ; then
+ addpredict "${mesa_cards}"
+ fi
+
+ nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+ if [[ -n "${nvidia_cards}" ]] ; then
+ addpredict "${nvidia_cards}"
+ fi
+
+ render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+ if [[ -n "${render_cards}" ]] ; then
+ addpredict "${render_cards}"
+ fi
+
+ shopt -u nullglob
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if use lto; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ if ! use ppc64; then
+ rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+ fi
+
+ if use x86 && use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*-musl-non-lfs64-api-on-audio_thread_priority-crate.patch || die
+ fi
+
+ # Workaround for bgo#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply "${WORKDIR}"/firefox-patches/0029-bmo-1862601-system-icu-74.patch
+ fi
+ rm -v "${WORKDIR}"/firefox-patches/0029-bmo-1862601-system-icu-74.patch || die
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.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"
+ else
+ die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651"
+ fi
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clear cargo checksums from crates we have patched
+ # moz_clear_vendor_checksums crate
+ moz_clear_vendor_checksums audio_thread_priority
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-wmf \
+ --enable-legacy-profile-creation \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly
+ # Can be removed once upstream enable it by default in the future.
+ use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-lto
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ # With profile 23.0 elf-hack=legacy is broken with gcc.
+ # With Firefox-115esr elf-hack=relr isn't available (only in rapid).
+ # Solution: Disable build system's elf-hack completely, and add "-z,pack-relative-relocs"
+ # manually with gcc.
+ #
+ # elf-hack configure option isn't available on ppc64/riscv, #916259, #929244, #930046.
+ if use ppc64 || use riscv ; then
+ :;
+ else
+ mozconfig_add_options_ac 'elf-hack disabled' --disable-elf-hack
+ fi
+
+ if use amd64 || use x86 ; then
+ ! use clang && append-ldflags "-z,pack-relative-relocs"
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ if use system-python-libs; then
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
+ else
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if tc-ld-is-mold && use lto; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}-esr.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+
+ 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
+
+ if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+ optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver
+ fi
+
+ if ! has_version "sys-libs/glibc"; then
+ elog
+ elog "glibc not found! You won't be able to play DRM content."
+ elog "See Gentoo bug #910309 or upstream bug #1843683."
+ elog
+ fi
+
+ if use geckodriver ; then
+ ewarn "You have enabled the 'geckodriver' USE flag. Geckodriver is now"
+ ewarn "packaged separately as net-misc/geckodriver and the use flag will be"
+ ewarn "dropped from main Firefox package by Firefox 128.0 release."
+ fi
+}
diff --git a/www-client/pybugz/Manifest b/www-client/pybugz/Manifest
index dd4ed5cb73a8..f05a1703e16b 100644
--- a/www-client/pybugz/Manifest
+++ b/www-client/pybugz/Manifest
@@ -2,6 +2,6 @@ DIST pybugz-0.13.tar.gz 26876 BLAKE2B fbab5ff308e137bf590620362fe102408444c7c1cb
DIST pybugz-0.14.tar.gz 26589 BLAKE2B 7d18060f0398869d8420013b298fd1899b89e9136332b961b289bbc93894d020ef3c6a5af90ddc5966e14a3eb65880fa5751d15011621177ee09176148d845f9 SHA512 4701b7e67bb922f3fcf5158449a07a872723347e83ff654ce93f8f2fdb495d720bcc387b74b68429fe48beb8b2acf98ad3ce77720e99dfffaba92cbc97052cdd
EBUILD pybugz-0.13-r2.ebuild 965 BLAKE2B 8291688cd717091efe0ae534f785c9b1804ed1d30325721b0a0ec3313d1b4f9b72961decb9e7acb5b44ce52f87b848e3090d1d49bc418e9348474f962b354536 SHA512 c2efd6481c354fe61a769532cce4813d6e38a21b3c8515fbd60dd36b560e55fffc017d45ae17b47963a9ceeb337618033fb266afa45db15328e6c962c16a012d
EBUILD pybugz-0.13-r3.ebuild 905 BLAKE2B 845103542dbef7ca7139a5aefe785f7be6893cfc34a5fcf0f1fb3c7a1e846a81ea98d3951e208094767aa733870785677e5876d2b288a4c15c1e62a662fcaa35 SHA512 0f87fc006e2e5ad19177d459d7707c0e4a2af967c77f871ad51d6cd92044f10ea1750fd8498373ade4466ca79db795573dee4e4add4aea6d1cec75b8d6d21707
-EBUILD pybugz-0.14.ebuild 928 BLAKE2B 1ef1f3f4b43396cb21f95d1c460c83de9ef012b735cd7d0c3aa8643cb628e16bcae047ed62f8ca6e30cd413074d74e9aa15ccdcf24f7ab7bb14ede4dba0acf99 SHA512 3f453b54a243d65373fe00fcd87fc84ba8a5315028b53ae879242b60878fb1333581598d6bb007a2740f93840d1a144c0469b3395ad1fc18e653646990621853
-EBUILD pybugz-9999.ebuild 948 BLAKE2B 606650bd39d88e4e0879c530b00aa01e534f6e95aa380f8efb6f8721294c47b4b03673f3eb05ec033d45f4939e01e0e9715b45b6509a179bbe88fbfe5b46d1a7 SHA512 cf101ddabbbe2d0c25e8d56a5ac5ce9cf653005e388ebc432b751d3d20c4718ae7f32b91eb37e74954fcf1247d5e2ad3b94d82fd0b9eb57aa1c0f7c2484707c2
+EBUILD pybugz-0.14.ebuild 928 BLAKE2B 95e8062f225dabbe2f7a9c5a49bd4f0ad224420ffa0e404b247c35dfded12306b8027bbe293980df254bb0a37308971a10fbd83819b83bbc614f8fbbfe061222 SHA512 3e55196934d840a93940f5f0f959b52f1a1ab808a18a832c25298744083a60d4e82ab7cd7f28d3af8e6a2003deecdf837cd1173b7acc73045e76526ab05ea658
+EBUILD pybugz-9999.ebuild 948 BLAKE2B 0ce34e5a025069c675ae3f83ceae6a5a5489024bf577f908b68f56aa0dcbd8f4e1c0f0561795c01e8a303a92bb0f4648cc721d15aa34b01de12b59691b264a39 SHA512 6dfecea9c43bf644e656d37f937e93b94a8673de0ecc928435dbfecbeab1eaa00fc02d963ac1d9342a78afffffa14103fea98ec5fdfac56d24313dfcfe2fd683
MISC metadata.xml 333 BLAKE2B 1028380ada32e4b505ccb80253788e29abb3330f182583fe7a2128cbe3f2f5dde2a719f8c66c17479a1adec918c2a83f1a3648707e970bb1338262a46bd8b790 SHA512 e203f5ef23a2ae071f8294719384b86dea97b205acb5637223c559af2c2e5ecf384a933c4475546dbc9f40d10b277b346b0bf3b2d4ec780fba087f59c7986ab0
diff --git a/www-client/pybugz/pybugz-0.14.ebuild b/www-client/pybugz/pybugz-0.14.ebuild
index ce3ea80d012d..d7942809ba9f 100644
--- a/www-client/pybugz/pybugz-0.14.ebuild
+++ b/www-client/pybugz/pybugz-0.14.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="ssl(+)"
if [[ ${PV} = "9999" ]]; then
diff --git a/www-client/pybugz/pybugz-9999.ebuild b/www-client/pybugz/pybugz-9999.ebuild
index 95086a2d7f65..712ea225f240 100644
--- a/www-client/pybugz/pybugz-9999.ebuild
+++ b/www-client/pybugz/pybugz-9999.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="readline(+),ssl(+)"
if [[ ${PV} = "9999" ]]; then