From b8c7370a682e4e29cda623222d17a790c01c3642 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 7 Aug 2024 12:37:21 +0100 Subject: gentoo auto-resync : 07:08:2024 - 12:37:20 --- www-client/Manifest.gz | Bin 6203 -> 6198 bytes www-client/chromium/Manifest | 7 + www-client/chromium/chromium-127.0.6533.72.ebuild | 1433 +++++++++++++++++++ www-client/chromium/chromium-127.0.6533.88.ebuild | 1443 ++++++++++++++++++++ .../files/chromium-127-enterprise-companion.patch | 44 + .../files/chromium-127-updater-systemd.patch | 73 + www-client/firefox-bin/Manifest | 499 +++++-- www-client/firefox-bin/firefox-bin-115.14.0.ebuild | 378 +++++ www-client/firefox-bin/firefox-bin-128.0.3.ebuild | 366 +++++ www-client/firefox-bin/firefox-bin-128.0.ebuild | 366 ----- www-client/firefox-bin/firefox-bin-128.1.0.ebuild | 359 +++++ www-client/firefox-bin/firefox-bin-129.0.ebuild | 359 +++++ www-client/firefox/Manifest | 514 +++++-- www-client/firefox/firefox-115.13.0.ebuild | 51 +- www-client/firefox/firefox-115.14.0.ebuild | 1393 +++++++++++++++++++ www-client/firefox/firefox-128.0.3.ebuild | 1403 +++++++++++++++++++ www-client/firefox/firefox-128.0.ebuild | 1402 ------------------- www-client/firefox/firefox-128.1.0.ebuild | 1376 +++++++++++++++++++ www-client/firefox/firefox-129.0.ebuild | 1412 +++++++++++++++++++ www-client/google-chrome-beta/Manifest | 4 +- .../google-chrome-beta-127.0.6533.57.ebuild | 132 -- .../google-chrome-beta-128.0.6613.18.ebuild | 132 ++ www-client/google-chrome-unstable/Manifest | 4 +- .../google-chrome-unstable-128.0.6585.0.ebuild | 132 -- .../google-chrome-unstable-129.0.6614.3.ebuild | 132 ++ www-client/google-chrome/Manifest | 4 +- .../google-chrome-126.0.6478.182.ebuild | 132 -- .../google-chrome-127.0.6533.88.ebuild | 132 ++ www-client/links/Manifest | 5 +- www-client/links/links-2.29-r1.ebuild | 3 +- www-client/links/links-2.29.ebuild | 184 --- www-client/links/links-2.30.ebuild | 187 +++ www-client/microsoft-edge-beta/Manifest | 12 +- .../microsoft-edge-beta-127.0.2651.31.ebuild | 126 -- .../microsoft-edge-beta-127.0.2651.45.ebuild | 126 -- .../microsoft-edge-beta-127.0.2651.49.ebuild | 126 -- .../microsoft-edge-beta-127.0.2651.61.ebuild | 126 ++ .../microsoft-edge-beta-127.0.2651.72.ebuild | 126 ++ .../microsoft-edge-beta-127.0.2651.74.ebuild | 126 ++ www-client/microsoft-edge-dev/Manifest | 8 +- .../microsoft-edge-dev-128.0.2661.0.ebuild | 126 -- .../microsoft-edge-dev-128.0.2677.1.ebuild | 126 -- .../microsoft-edge-dev-128.0.2730.0.ebuild | 126 ++ .../microsoft-edge-dev-128.0.2739.1.ebuild | 126 ++ www-client/microsoft-edge/Manifest | 4 +- .../microsoft-edge-126.0.2592.102.ebuild | 126 -- .../microsoft-edge-127.0.2651.74.ebuild | 126 ++ www-client/opera-beta/Manifest | 8 +- .../opera-beta/opera-beta-111.0.5168.15.ebuild | 173 --- .../opera-beta/opera-beta-112.0.5197.5.ebuild | 173 --- .../opera-beta/opera-beta-113.0.5230.18.ebuild | 173 +++ .../opera-beta/opera-beta-113.0.5230.8.ebuild | 173 +++ www-client/opera-developer/Manifest | 8 +- .../opera-developer-113.0.5215.0.ebuild | 173 --- .../opera-developer-113.0.5222.0.ebuild | 173 --- .../opera-developer-114.0.5236.0.ebuild | 173 +++ .../opera-developer-114.0.5242.0.ebuild | 173 +++ www-client/opera/Manifest | 4 +- www-client/opera/opera-112.0.5197.25.ebuild | 173 --- www-client/opera/opera-112.0.5197.30.ebuild | 173 +++ www-client/tangram/Manifest | 3 + www-client/tangram/tangram-3.1.ebuild | 66 + www-client/vivaldi-snapshot/Manifest | 8 +- .../vivaldi-snapshot-6.9.3392.10.ebuild | 226 --- .../vivaldi-snapshot-6.9.3425.3.ebuild | 226 +++ www-client/vivaldi/Manifest | 10 +- www-client/vivaldi/vivaldi-6.8.3381.46.ebuild | 226 --- www-client/vivaldi/vivaldi-6.8.3381.48.ebuild | 2 +- www-client/vivaldi/vivaldi-6.8.3381.50.ebuild | 226 +++ 69 files changed, 13633 insertions(+), 4707 deletions(-) create mode 100644 www-client/chromium/chromium-127.0.6533.72.ebuild create mode 100644 www-client/chromium/chromium-127.0.6533.88.ebuild create mode 100644 www-client/chromium/files/chromium-127-enterprise-companion.patch create mode 100644 www-client/chromium/files/chromium-127-updater-systemd.patch create mode 100644 www-client/firefox-bin/firefox-bin-115.14.0.ebuild create mode 100644 www-client/firefox-bin/firefox-bin-128.0.3.ebuild delete mode 100644 www-client/firefox-bin/firefox-bin-128.0.ebuild create mode 100644 www-client/firefox-bin/firefox-bin-128.1.0.ebuild create mode 100644 www-client/firefox-bin/firefox-bin-129.0.ebuild create mode 100644 www-client/firefox/firefox-115.14.0.ebuild create mode 100644 www-client/firefox/firefox-128.0.3.ebuild delete mode 100644 www-client/firefox/firefox-128.0.ebuild create mode 100644 www-client/firefox/firefox-128.1.0.ebuild create mode 100644 www-client/firefox/firefox-129.0.ebuild delete mode 100644 www-client/google-chrome-beta/google-chrome-beta-127.0.6533.57.ebuild create mode 100644 www-client/google-chrome-beta/google-chrome-beta-128.0.6613.18.ebuild delete mode 100644 www-client/google-chrome-unstable/google-chrome-unstable-128.0.6585.0.ebuild create mode 100644 www-client/google-chrome-unstable/google-chrome-unstable-129.0.6614.3.ebuild delete mode 100644 www-client/google-chrome/google-chrome-126.0.6478.182.ebuild create mode 100644 www-client/google-chrome/google-chrome-127.0.6533.88.ebuild delete mode 100644 www-client/links/links-2.29.ebuild create mode 100644 www-client/links/links-2.30.ebuild delete mode 100644 www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.31.ebuild delete mode 100644 www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.45.ebuild delete mode 100644 www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.49.ebuild create mode 100644 www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.61.ebuild create mode 100644 www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.72.ebuild create mode 100644 www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.74.ebuild delete mode 100644 www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2661.0.ebuild delete mode 100644 www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2677.1.ebuild create mode 100644 www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2730.0.ebuild create mode 100644 www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2739.1.ebuild delete mode 100644 www-client/microsoft-edge/microsoft-edge-126.0.2592.102.ebuild create mode 100644 www-client/microsoft-edge/microsoft-edge-127.0.2651.74.ebuild delete mode 100644 www-client/opera-beta/opera-beta-111.0.5168.15.ebuild delete mode 100644 www-client/opera-beta/opera-beta-112.0.5197.5.ebuild create mode 100644 www-client/opera-beta/opera-beta-113.0.5230.18.ebuild create mode 100644 www-client/opera-beta/opera-beta-113.0.5230.8.ebuild delete mode 100644 www-client/opera-developer/opera-developer-113.0.5215.0.ebuild delete mode 100644 www-client/opera-developer/opera-developer-113.0.5222.0.ebuild create mode 100644 www-client/opera-developer/opera-developer-114.0.5236.0.ebuild create mode 100644 www-client/opera-developer/opera-developer-114.0.5242.0.ebuild delete mode 100644 www-client/opera/opera-112.0.5197.25.ebuild create mode 100644 www-client/opera/opera-112.0.5197.30.ebuild create mode 100644 www-client/tangram/tangram-3.1.ebuild delete mode 100644 www-client/vivaldi-snapshot/vivaldi-snapshot-6.9.3392.10.ebuild create mode 100644 www-client/vivaldi-snapshot/vivaldi-snapshot-6.9.3425.3.ebuild delete mode 100644 www-client/vivaldi/vivaldi-6.8.3381.46.ebuild create mode 100644 www-client/vivaldi/vivaldi-6.8.3381.50.ebuild (limited to 'www-client') diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz index c69957f7c859..9142fedef84d 100644 Binary files a/www-client/Manifest.gz and b/www-client/Manifest.gz differ diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index d77c5a3e4f7f..503bd3f483eb 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -4,6 +4,8 @@ AUX chromium-125-system-zstd.patch 1244 BLAKE2B cc8798ba70d79953add806f03d690400 AUX chromium-126-oauth2-client-switches.patch 2214 BLAKE2B 0dfc0dcd585bcd12793033292b1e10f448b84a65ee9354803237aca225a5de8b40a56f78cc806353d5240d41bed2efe82bc1b39ebea8ae4db2f79855f6ce1eaf SHA512 77e4e5609b9191160c73681020defd2d3e6fc3874837611e1febef538d3997fccea267ed87f6bbff6bd140f98d8e909d935ce3e3e0d53bf597882bb2282ab72c AUX chromium-127-bindgen-custom-toolchain.patch 4142 BLAKE2B 175ee79651215558e76cabde69036a149cf78c997a71d9cb5c3e5bdae4e47960524c39a7cf8285089766bd6b4277897f40405084ba787489dccb6c6d3c6dfeef SHA512 5eba3f115e651498a1b910ecf6f7304f9e968d00685b6172d1f6fb51bb6f8688d1f11ec9c40a2ca976c13fd70a9f43bf88118672266488fb94edbd8d1da95183 AUX chromium-127-browser-ui-deps.patch 2406 BLAKE2B 2d0b6428440c9311d3b633619d29c36b384ad2f1e20b5919eccae3ee5fcc6e295a6ae70012a1a30228d19b29c04a45a522f1cd5b980c8c7cd28f1ded71eb8b53 SHA512 0e6f75885ea561097881b1b3b85d84f81a3ad326d5df49aec422dc4eca4baac2f3764bb3cd502c4cce3b6a74cc1e591fe5897af2e1bd07739793e0c03b481a03 +AUX chromium-127-enterprise-companion.patch 1118 BLAKE2B 41c2249a5b535c8f394e776e8197ac3f103524d43190c4a921ab9d4624c73d93d7a9af8935b2f081f727a2e9785869069c2d6e833228758e9c5f6d6cf9893b91 SHA512 62a5de41dcd3b1dbd40fcaaa6a90e219a69bf9e5654f73b351912441de4e41710976d722e446ef43fb4c58de750efe9d9451802678fb2ac2a0dc8c407741934d +AUX chromium-127-updater-systemd.patch 2178 BLAKE2B cdad9fa1898f91fc42b29003cde8112a590887d8ccdcb3c72bc2dfa50d610cbe1e2473a26573829f2cd9e2b6f2add2b4eb078bacf571e311389349afdc3d14f1 SHA512 338fdc6b02169b91bf86b52e7a03721954a7fac474ae8c9aeb102fba6ea503d5b720a87655323db86c53b7df63dc81112607b17d775a7b794bf9baaca4cd8620 AUX chromium-browser.xml 407 BLAKE2B 168d78b0855546ca559cfb51aff0bc85d5e6ae974c25eb76e4a02f6d11659489c6e40397a0b2f7bc1fda336fd2c6dd8c863fccc3340719210b41c7fef51927f4 SHA512 b767fb4fd1925029d95560fc14cb7ab12ae43b2fe923e92d75e733b9723cbe1dcdf6df041a2b62554e98b79b47ef3f6028c773e72e6fd53166a021d49657aeca AUX chromium-cross-compile.patch 323 BLAKE2B 8d5091ce5287422c9688ede2563360a96b8bd34b9750dc1c8f0b6ca9aeff2c066fac2da169396baa131d971c087c78f9af53999df0e102d1f57176f5e8d3dd57 SHA512 06d3afc1aa19e57daac0e4bad37e1f365a68408240430e5e818e5a4f12e3b7519214eafa463633e447e7029f4ae13ea864ca347ad1fac117702a0be88718a954 AUX chromium-launcher-r7.sh 1631 BLAKE2B ae28d758264446511fd2b64ba69fe920144b351e8833e0e98f43d00633e850094c288b5d97d1a84801ea13aceb294623692c86c1b9be5811b7b97fa8a07a1ecd SHA512 1e97f8394bd8bb4b29570b1b85176efe6258314a596f079bee1c4018113e0023aa54a93690ba8de2a00d127af10dbe2cc3fb3127b72b841c6f28f9e7bed820e0 @@ -15,6 +17,8 @@ DIST chromium-126.0.6478.182.tar.xz 4173311388 BLAKE2B fd11cdc99b9b5f9700ba2c647 DIST chromium-127-clang.tar.xz 50869256 BLAKE2B a25c78c28e1a19bb251ce78831ff8aeea51f0ff0a3fcba4f57e14e676aadba38f248554a52d9f67da8c0ccf533ef9f60b4bbb26f8935914efa2b871444e61d8f SHA512 9033c2dd7dd217917caf3dbed52f72ded18fe81b431edd4ef82fe7c592f7b9fbf6d5d2c8f7ba4ebffb4994bef20579d30aea9dd1ad36db86bec5d0adb6eca062 DIST chromium-127-rust.tar.xz 151082700 BLAKE2B 53b5e72724425ae97bbb22e128ca5e826a2db5fb49f615c5331cdf6d790c253d58061223ff9fbd7f4deecaa19668e7b905b0a661380f48ce74d7f66a9605be18 SHA512 a47fc0bdbf48da9c8c17c91d9dc1a4a3f09578e82199c0d5843dfb6188803161cdb98d065ee3f85ceaf78efd2c233397c325c4c9f2d19255f38734a81599404b DIST chromium-127.0.6533.43.tar.xz 6598802356 BLAKE2B eab679025fd4764e7e3eb6ed0b32e0e3c106848626d7477c02a9a1201eb5add64614864366bdecf9d7b0a9fe62b9df621d4d6cb8762f7f7e85d7725ae2eed5bf SHA512 138e709105f6b7328c5029e6c5e5d9f0cf9611561bb6631605eb79051f3ef8be6dd0c2fb50ab2a89c7b1b5a869dcfb69bbc37ec56f4239039e32a8ada72be172 +DIST chromium-127.0.6533.72.tar.xz 6606381412 BLAKE2B 076cdd0ba5df2aba92d80074c52eafcd44926b70266ab4ec01f13c20b73eeeff752514d88665535cac94c8a6068cbb0da9c596d105ad3c430ff8ee582284ef22 SHA512 1b112b26dd52d2f45b5cd2e0109299b82335005f80be9897baed8735792bc05ef79ef24f9a40627313ac619dbf92ed334bcf7a2b366f40dce7c689763677603b +DIST chromium-127.0.6533.88.tar.xz 6614557448 BLAKE2B 5940def45d64ccea7bb6d577a2b7c8ac4c4f868dc29dcb9ad03b0ce5459b737c60969ed3403da9d3630c3e2bfb297f2b08a4b58fb6921da8711715ba606268cd SHA512 226384246c17a9dd40f070937d0f1532b2bf7101f2e8707716fdf006cf087f2ab1c5eac719a2a52cf1fa7387e4c57bc088f5ac20d6235bd2dc58cfbfea538363 DIST chromium-patches-126.tar.bz2 4538 BLAKE2B c1f224015618ec908ef09d0c04a2243923371e2caeccd60d93747599fd1434b284291a5b4326008db21749cf78827d5a4b50d22fc805dcd3c1fd86303dc82729 SHA512 6692075adac0379b5f27d1023de1a051cf7f7f7138efd32dfc3af0d501b714142a16daf18022bb46d92218587f364f4dafe9f4aea24f6826e88b0e7cc2be7d0b DIST chromium-patches-127.tar.bz2 4545 BLAKE2B cd0221e74a886ad3fc598e92876021b847a92a587ddc66774357ccf06bdd14e23f8bfede9bbe6fd154af8cea570bfa6ee27a2ff393883bd314a7d1326c7260f5 SHA512 938926ecd406d96662a6ed6e9fab9efab156f5691e98c044c75c4d335075f61e80eae2cf3be9b626c01d3542c1785dd0fc63ac31e5cbf1555a8eca3c6aed8c56 DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c @@ -22,7 +26,10 @@ DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b2655123 DIST chromium_124.0.6367.207-1raptor0~deb12u1.debian.tar.xz 587248 BLAKE2B 4c5a12b3e70be85b31d60d35d160281cbf8b93422169243f743fff25805bc7006ffeed5f95b415fb49e9cf4c3bf2c0a2d5ed10642d8f772df24cab1fe738125a SHA512 025ac185f27c66438a5eaf482120fded42d37403706fd012fbde1b6acf5c2e360bb2fb7723183d4883f66f36afe10167a2d919cde11735186a1a87b28ffaf9c6 DIST chromium_126.0.6478.114-1raptor0~deb12u1.debian.tar.xz 613488 BLAKE2B ecdf33e0ced01d540b7f1e599df6655055afd8f72b22a92c600205d1b02176be76140a5bfa550e62e4a0e4f03c68992eb480d9ba4a256b3f8b48b525a8ce7400 SHA512 53ea7f89dac5c42ca991f40f2a5515393cb74334a27df72b944552d5a557f6c53b0dac9c89cfb99918fd502396bc80a677a87533f48552af9f7fd440b7b8b2cc DIST chromium_126.0.6478.126-1raptor0~deb12u1.debian.tar.xz 614000 BLAKE2B 5eaad3a34447aefb080f9c0ff5170d111a318c8dc6866807aedbcfb014113877a2b8f6b4b80ec4ad8a35e2ed01a0bf0bc2bdcee1474ba4d7759180d0fbe77124 SHA512 6f1c8090bd94fa09c057799938c92d1cad1ac1638944727196ce5cc172d5a41f3f7121bc0b28ad07172b65108a8ae17086e6503b9bc4a20e2662c40f6d65f765 +DIST chromium_127.0.6533.88-1raptor0~deb12u2.debian.tar.xz 8675684 BLAKE2B 868de8a681496c5da5aa9ebb8d27c84b35313038da85232c89d58f6ab7a4ac15866e8d0650d5283023aa38ab55da93f3b6a97280afdd1a3cf69a021517bfa8ab SHA512 3afea47fedad9c1374b238028ea642cde603f548af9992fdcff836745cf8c4243d0781f56e8710ca1bb22b0a552944c62a67a4799f8073fbe309d0f5a514c724 EBUILD chromium-126.0.6478.126.ebuild 48104 BLAKE2B e0193ac2d2e26c46a62281581b0b6a4b2a9a438edcfe075d729a84ffd4413e26ae0bd6c4ff90a0c05934f610b90fad1310167ad65c0032c01a1d3343fc30b6aa SHA512 70a207aaea416e392d6b8e39024a31c01ded76e08f0135a388ccdb26e9ed02cb65114d09706927fc2dba153b921def3380c2938123bcadd3057db076fc048593 EBUILD chromium-126.0.6478.182.ebuild 48104 BLAKE2B d33dbb29498a0e111801db17adff024832b9dc0a8a18498a111a762b38be887c606bece7acad8221013273d7ef0cbfd4a076f9af2766806479c7d681ac959d36 SHA512 b3cc3fa2e438f1195433a8ecda2f7c2cef6c3c175cb3facc6843343c7f80050c944ebc911e048d9aeea9273dbe26ba6e6ff344e3e769ee46bbdca395f2b98c00 EBUILD chromium-127.0.6533.43.ebuild 45890 BLAKE2B 03f585bc8ab09d6fa840281e08956471d3a575c28bb174234aaf4da37f23a1f6af6275db7fd103c38568279f1b98fd42c7afe19637f1d34a8eac3df7b5aaf1b5 SHA512 0119595c337f4192ba890f6909b46c8257a86336263ec1636b19d5585d287b7331d702e7c5d7f2ee77b4429c10ac440291d281ad283fccf273114531052f36c4 +EBUILD chromium-127.0.6533.72.ebuild 48628 BLAKE2B 9ebec3cd006f76df49564ca30ea2d33a40fbef2f04af1e6ec9e82f9283c75fdeb62fcfb3a2b67126b159a39d9d002da7fd285565c5cd118c8b84b718703bd016 SHA512 e6dd4a7f94171598fedc782476c5c4f2d3c805e8ff0285b3746dfa6c27060fb0b683b0b550000ffb0caff841fb2ea9d4edb4e92d9fa0e16ccd4c345d34fba41c +EBUILD chromium-127.0.6533.88.ebuild 48893 BLAKE2B 86321bfc139ce1b28db354124612366a3646dbd3bb5e7660ac3d78315f9910de5d6ee8e9881234e87c52f62f8f234b7e460a26aa3014db293f878bc456854ec9 SHA512 a37a76e22e100551a85d466066ba6f4e5dec7e4d30ee8007e18451a4ea3bf5e06010bab26cfa688482a1a95254eedecedfb5b25ec14518e92771deaafc9d42e4 MISC metadata.xml 2249 BLAKE2B 42e914e06d12ce6ebff4251fa81c28970676bb6cad7e9b1591dbbf79e45a8805fad6ee3bfb7c1b81f47e91e101091fbfcd565a0cc47f8280b9f169559ca61f2c SHA512 a30553dc4878fdb70546a1dbcb8c38ac42b0bddd500e1d09ba5a8414f681b3304e9a6a02e734c1e7eb58e782f30f6390be97b4a22996788e7639e8a9feb01ee9 diff --git a/www-client/chromium/chromium-127.0.6533.72.ebuild b/www-client/chromium/chromium-127.0.6533.72.ebuild new file mode 100644 index 000000000000..336aa71c9faf --- /dev/null +++ b/www-client/chromium/chromium-127.0.6533.72.ebuild @@ -0,0 +1,1433 @@ +# Copyright 2009-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# PACKAGING NOTES + +# Google roll their bundled Clang every two weeks, and the bundled Rust +# is rolled regularly and depends on that. While we do our best to build +# with system Clang, we will eventually hit the point where we need to use +# the bundled Clang due to the use of prerelease features. We've been lucky +# enough so far that this hasn't been an issue. +# We use llvm-utils.eclass directly due to chromium's inherent Googliness. + +# GN is bundled with Chromium, but we always use the system version. Remember to +# check for upstream changes to GN and update ebuild (and version below) as required. + +# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able +# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so), +# then we remove ffmpeg from the image to ensure that the built package is distributable +# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place; +# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system. + +# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's +# no reason not to. Todo: Re-enable USE=system-ffmpeg. + +GN_MIN_VER=0.2165 +RUST_MIN_VER=1.78.0 +# chromium-tools/get-chromium-toolchain-strings.sh +GOOGLE_CLANG_VER=llvmorg-19-init-10646-g084e2b53-57 +GOOGLE_RUST_VER=32dd3795bce8b347fda786529cf5e42a813e0b7d-2 + +: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no} + +VIRTUALX_REQUIRED="pgo" + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr + sv sw ta te th tr uk ur vi zh-CN zh-TW" + +# While prerelease llvm is actually used in the google build, until we have a +# sane way to select 'rust built with this llvm slot' that isn't stable and testing +# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. +LLVM_COMPAT=( {17..18} ) +PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_REQ_USE="xml(+)" + +inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils + +DESCRIPTION="Open-source version of Google Chrome web browser" +HOMEPAGE="https://www.chromium.org/" +PATCHSET_PPC64="124.0.6367.207-1raptor0~deb12u1" +PATCH_V="${PV%%\.*}" +SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz + system-toolchain? ( + https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 + ) + !system-toolchain? ( + https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz + -> chromium-${PV%%\.*}-clang.tar.xz + https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%???}.tar.xz + -> chromium-${PV%%\.*}-rust.tar.xz + ) + ppc64? ( + https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz + https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz + ) + pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" + +LICENSE="BSD" +SLOT="0/stable" +KEYWORDS="amd64 arm64" +IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd" +IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +lto +official pax-kernel pgo +proprietary-codecs pulseaudio" +IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine" +RESTRICT="!bindist? ( bindist )" + +REQUIRED_USE=" + !headless? ( || ( X wayland ) ) + official? ( lto ) + pgo? ( X !wayland ) + qt6? ( qt5 ) + screencast? ( wayland ) + ffmpeg-chromium? ( bindist proprietary-codecs ) +" + +COMMON_X_DEPEND=" + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXtst:= + x11-libs/libxshmfence:= +" + +COMMON_SNAPSHOT_DEPEND=" + system-icu? ( >=dev-libs/icu-71.1:= ) + >=dev-libs/libxml2-2.12.4:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + dev-libs/libxslt:= + media-libs/fontconfig:= + >=media-libs/freetype-2.11.0-r1:= + system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) + media-libs/libjpeg-turbo:= + system-png? ( media-libs/libpng:=[-apng(-)] ) + system-zstd? ( >=app-arch/zstd-1.5.5:= ) + >=media-libs/libwebp-0.4.0:= + media-libs/mesa:=[gbm(+)] + >=media-libs/openh264-1.6.0:= + sys-libs/zlib:= + x11-libs/libdrm:= + !headless? ( + dev-libs/glib:2 + >=media-libs/alsa-lib-1.0.19:= + pulseaudio? ( media-libs/libpulse:= ) + sys-apps/pciutils:= + kerberos? ( virtual/krb5 ) + vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) + X? ( + x11-libs/libX11:= + x11-libs/libXext:= + x11-libs/libxcb:= + ) + x11-libs/libxkbcommon:= + wayland? ( + dev-libs/libffi:= + dev-libs/wayland:= + screencast? ( media-video/pipewire:= ) + ) + ) +" + +COMMON_DEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + app-arch/bzip2:= + dev-libs/expat:= + net-misc/curl[ssl] + sys-apps/dbus:= + media-libs/flac:= + sys-libs/zlib:=[minizip] + !headless? ( + X? ( ${COMMON_X_DEPEND} ) + >=app-accessibility/at-spi2-core-2.46.0:2 + media-libs/mesa:=[X?,wayland?] + cups? ( >=net-print/cups-1.3.11:= ) + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/pango:= + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + ) +" +RDEPEND="${COMMON_DEPEND} + !headless? ( + || ( + x11-libs/gtk+:3[X?,wayland?] + gui-libs/gtk:4[X?,wayland?] + ) + qt5? ( dev-qt/qtgui:5[X?,wayland?] ) + qt6? ( dev-qt/qtbase:6[X?,wayland?] ) + ) + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) + bindist? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) + ) +" +DEPEND="${COMMON_DEPEND} + !headless? ( + gtk4? ( gui-libs/gtk:4[X?,wayland?] ) + !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) + ) +" + +depend_clang_llvm_version() { + echo "sys-devel/clang:$1" + echo "sys-devel/llvm:$1" + echo "=sys-devel/lld-$1*" + echo "virtual/rust:0/llvm-${1}[profiler(-)]" + echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )" +} + +# Parse LLVM_COMPAT and generate a usedep for each version +depend_clang_llvm_versions() { + if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then + depend_clang_llvm_version ${#LLVM_COMPAT[0]} + else + echo "|| (" + for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do + echo "(" + depend_clang_llvm_version ${LLVM_COMPAT[i]} + echo ")" + done + echo ")" + fi +} + +BDEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + >=app-arch/gzip-1.7 + !headless? ( + qt5? ( dev-qt/qtcore:5 ) + qt6? ( dev-qt/qtbase:6 ) + ) + system-toolchain? ( + $(depend_clang_llvm_versions) + pgo? ( + >=dev-python/selenium-3.141.0 + >=dev-util/web_page_replay_go-20220314 + ) + dev-util/bindgen + ) + >=dev-build/gn-${GN_MIN_VER} + dev-build/ninja + dev-lang/perl + >=dev-util/gperf-3.0.3 + dev-vcs/git + >=net-libs/nodejs-7.6.0[inspector] + >=sys-devel/bison-2.4.3 + sys-devel/flex + virtual/pkgconfig +" + +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then + EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; +fi + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS=" +Some web pages may require additional fonts to display properly. +Try installing some of the following packages if some characters +are not displayed properly: +- media-fonts/arphicfonts +- media-fonts/droid +- media-fonts/ipamonafont +- media-fonts/noto +- media-fonts/ja-ipafonts +- media-fonts/takao-fonts +- media-fonts/wqy-microhei +- media-fonts/wqy-zenhei + +To fix broken icons on the Downloads page, you should install an icon +theme that covers the appropriate MIME types, and configure this as your +GTK+ icon theme. + +For native file dialogs in KDE, install kde-apps/kdialog. + +To make password storage work with your desktop environment you may +have install one of the supported credentials management applications: +- app-crypt/libsecret (GNOME) +- kde-frameworks/kwallet (KDE) +If you have one of above packages installed, but don't want to use +them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS +in /etc/chromium/default. +" + +python_check_deps() { + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" +} + +pre_build_checks() { + # Check build requirements: bugs #471810, #541816, #914220 + # We're going to start doing maths here on the size of an unpacked source tarball, + # this should make updates easier as chromium continues to balloon in size. + local BASE_DISK=22 + local EXTRA_DISK=1 + local CHECKREQS_MEMORY="4G" + tc-is-cross-compiler && EXTRA_DISK=2 + if use lto || use pgo; then + CHECKREQS_MEMORY="9G" + tc-is-cross-compiler && EXTRA_DISK=4 + use pgo && EXTRA_DISK=8 + fi + if is-flagq '-g?(gdb)?([1-9])'; then + if use custom-cflags; then + EXTRA_DISK=13 + fi + CHECKREQS_MEMORY="16G" + fi + CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" + check-reqs_${EBUILD_PHASE_FUNC} +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]]; then + # The pre_build_checks are all about compilation resources, no need to run it for a binpkg + pre_build_checks + fi + + if use headless; then + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") + for myiuse in ${headless_unused_flags[@]}; do + use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." + done + fi + + if ! use bindist && use ffmpeg-chromium; then + ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." + fi +} + +# Chromium should build with any version of clang that we support +# but we may need to pick the "best" one for a build (highest installed, +# rust is built against it, etc.) +# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available +# and output the _highest_ slot that is actually available on a system. +chromium_pick_llvm_slot() { + # LLVM_COMPAT is always going to be oldest to newest (or one value) + # let's flip it and check from newest to oldest and return the first one we find. + local slot + for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do + slot=${LLVM_COMPAT[i]} + if has_version "sys-devel/clang:${slot}" && \ + has_version "sys-devel/llvm:${slot}" && \ + has_version "sys-devel/lld:${slot}" && \ + has_version "virtual/rust:0/llvm-${slot}" && \ + ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then + + echo "${slot}" + return + fi + done + + die_msg=" +No suitable clang/llvm/lld slot found. +Slots checked: ${LLVM_COMPAT[*]}. +" + die "${die_msg}" +} + +# We need the rust version in src_configure and pkg_setup +chromium_extract_rust_version() { + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + echo $rustc_version +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + # The pre_build_checks are all about compilation resources, no need to run it for a binpkg + pre_build_checks + + if use system-toolchain; then + # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment + # We'll set these to clang here then use llvm-utils functions to very explicitly set these + # to a sane value. + # This is effectively the 'force-clang' path if GCC support is re-added. + # TODO: check if the user has already selected a specific impl via make.conf and respect that. + LLVM_SLOT=$(chromium_pick_llvm_slot) + export LLVM_SLOT # used in src_configure for rust-y business + AR=llvm-ar + CPP="${CHOST}-clang++ -E" + NM=llvm-nm + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + + if tc-is-cross-compiler; then + use pgo && die "The pgo USE flag cannot be used when cross-compiling" + CPP="${CBUILD}-clang++ -E" + fi + + # The llvm-r1_pkg_setup we have at home. + # We prepend the path _first_ to explicitly use the selected slot. + llvm_prepend_path "${LLVM_SLOT}" + + llvm_fix_clang_version CC CPP CXX + llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB + llvm_fix_tool_path READELF STRINGS STRIP + + # Set LLVM_CONFIG to help Meson (bug #907965) but only do it + # for empty ESYSROOT (as a proxy for "are we cross-compiling?"). + if [[ -z ${ESYSROOT} ]] ; then + llvm_fix_tool_path LLVM_CONFIG + fi + + einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" + + local rustc_ver=$(chromium_extract_rust_version) + if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then + eerror "Rust >=${RUST_MIN_VER} is required" + eerror "Please run 'eselect rust' and select the correct rust version" + die "Selected rust version is too old" + else + einfo "Using rust ${rustc_ver} to build" + fi + + fi + # Users should never hit this, it's purely a development convenience + if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then + die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" + fi + fi + + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + # In 126 Chromium upstream decided to change the way that the rust toolchain is packaged + # so now we get a fancy src_unpack function to ensure that we don't accidentally unpack + # one toolchain over the other. The addtional control over over unpacking also helps us + # ensure that GN doesn't try and use some bundled tool (like bindgen) instead of the system + # package by just not unpacking it unless we're using the bundled toolchain. + unpack ${P}.tar.xz + if use system-toolchain; then + unpack chromium-patches-${PATCH_V}.tar.bz2 + else + unpack chromium-${PV%%\.*}-clang.tar.xz + local rust_dir="${WORKDIR}/rust-toolchain" + mkdir -p ${rust_dir} || die "Failed to create rust toolchain directory" + tar xf "${DISTDIR}/chromium-${PV%%\.*}-rust.tar.xz" -C ${rust_dir} || die "Failed to unpack rust toolchain" + fi + + use pgo && unpack chromium-profiler-0.2.tar + + if use ppc64; then + unpack chromium_${PATCHSET_PPC64}.debian.tar.xz + unpack chromium-ppc64le-gentoo-patches-1.tar.xz + fi +} + +src_prepare() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # disable global media controls, crashes with libstdc++ + sed -i -e \ + "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ + "chrome/browser/media/router/media_router_feature.cc" || die + + local PATCHES=( + "${FILESDIR}/chromium-cross-compile.patch" + "${FILESDIR}/chromium-109-system-zlib.patch" + "${FILESDIR}/chromium-111-InkDropHost-crash.patch" + "${FILESDIR}/chromium-126-oauth2-client-switches.patch" + "${FILESDIR}/chromium-127-browser-ui-deps.patch" + "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" + "${FILESDIR}/chromium-127-enterprise-companion.patch" + ) + + # 127: test deps are broken for ui/lens with system ICU "//third_party/icu:icuuc_public" + sed -i '/source_set("unit_tests") {/,/}/d' \ + chrome/browser/ui/lens/BUILD.gn || die "Failed to remove bad test target" + sed -i '/lens:unit_tests/d' chrome/test/BUILD.gn components/BUILD.gn \ + || die "Failed to remove dependencies on bad target" + + if use system-toolchain; then + # The patchset is really only required if we're using the system-toolchain + PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" ) + # We can't use the bundled compiler builtins + sed -i -e \ + "/if (is_clang && toolchain_has_rust) {/,+2d" \ + build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" + else + mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm" + ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin" + ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib" + echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \ + die "Failed to set clang version" + ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" + cp "${WORKDIR}"/rust-toolchain/VERSION \ + "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" + fi + + if use ppc64 ; then + local p + for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do + if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then + eapply "${WORKDIR}/debian/patches/${p}" + fi + done + PATCHES+=( "${WORKDIR}/ppc64le" ) + PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" ) + fi + + default + + rm third_party/node/linux/node-linux-x64/bin/node || die + ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die + + # adjust python interpreter version + sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die + + local keeplibs=( + base/third_party/cityhash + base/third_party/double_conversion + base/third_party/icu + base/third_party/nspr + base/third_party/superfasthash + base/third_party/symbolize + base/third_party/xdg_user_dirs + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + chrome/third_party/mozilla_security_manager + courgette/third_party + net/third_party/mozilla_security_manager + net/third_party/nss + net/third_party/quic + net/third_party/uri_template + third_party/abseil-cpp + third_party/angle + third_party/angle/src/common/third_party/xxhash + third_party/angle/src/third_party/ceval + third_party/angle/src/third_party/libXNVCtrl + third_party/angle/src/third_party/volk + third_party/anonymous_tokens + third_party/apple_apsl + third_party/axe-core + third_party/bidimapper + third_party/blink + third_party/boringssl + third_party/boringssl/src/third_party/fiat + third_party/breakpad + third_party/breakpad/breakpad/src/third_party/curl + third_party/brotli + third_party/catapult + third_party/catapult/common/py_vulcanize/third_party/rcssmin + third_party/catapult/common/py_vulcanize/third_party/rjsmin + third_party/catapult/third_party/beautifulsoup4-4.9.3 + third_party/catapult/third_party/html5lib-1.1 + third_party/catapult/third_party/polymer + third_party/catapult/third_party/six + third_party/catapult/tracing/third_party/d3 + third_party/catapult/tracing/third_party/gl-matrix + third_party/catapult/tracing/third_party/jpeg-js + third_party/catapult/tracing/third_party/jszip + third_party/catapult/tracing/third_party/mannwhitneyu + third_party/catapult/tracing/third_party/oboe + third_party/catapult/tracing/third_party/pako + third_party/ced + third_party/cld_3 + third_party/closure_compiler + third_party/content_analysis_sdk + third_party/cpuinfo + third_party/crabbyavif + third_party/crashpad + third_party/crashpad/crashpad/third_party/lss + third_party/crashpad/crashpad/third_party/zlib + third_party/crc32c + third_party/cros_system_api + third_party/d3 + third_party/dav1d + third_party/dawn + third_party/dawn/third_party/gn/webgpu-cts + third_party/dawn/third_party/khronos + third_party/depot_tools + third_party/devscripts + third_party/devtools-frontend + third_party/devtools-frontend/src/front_end/third_party/acorn + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/devtools-frontend/src/front_end/third_party/axe-core + third_party/devtools-frontend/src/front_end/third_party/chromium + third_party/devtools-frontend/src/front_end/third_party/codemirror + third_party/devtools-frontend/src/front_end/third_party/csp_evaluator + third_party/devtools-frontend/src/front_end/third_party/diff + third_party/devtools-frontend/src/front_end/third_party/i18n + third_party/devtools-frontend/src/front_end/third_party/intl-messageformat + third_party/devtools-frontend/src/front_end/third_party/lighthouse + third_party/devtools-frontend/src/front_end/third_party/lit + third_party/devtools-frontend/src/front_end/third_party/lodash-isequal + third_party/devtools-frontend/src/front_end/third_party/marked + third_party/devtools-frontend/src/front_end/third_party/puppeteer + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs + third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data + third_party/devtools-frontend/src/front_end/third_party/wasmparser + third_party/devtools-frontend/src/front_end/third_party/web-vitals + third_party/devtools-frontend/src/third_party + third_party/distributed_point_functions + third_party/dom_distiller_js + third_party/eigen3 + third_party/emoji-segmenter + third_party/farmhash + third_party/fdlibm + third_party/ffmpeg + third_party/fft2d + third_party/flatbuffers + third_party/fp16 + third_party/freetype + third_party/fusejs + third_party/fxdiv + third_party/gemmlowp + third_party/google_input_tools + third_party/google_input_tools/third_party/closure_library + third_party/google_input_tools/third_party/closure_library/third_party/closure + third_party/googletest + third_party/highway + third_party/hunspell + third_party/iccjpeg + third_party/inspector_protocol + third_party/ipcz + third_party/jinja2 + third_party/jsoncpp + third_party/jstemplate + third_party/khronos + third_party/lens_server_proto + third_party/leveldatabase + third_party/libaddressinput + third_party/libaom + third_party/libaom/source/libaom/third_party/fastfeat + third_party/libaom/source/libaom/third_party/SVT-AV1 + third_party/libaom/source/libaom/third_party/vector + third_party/libaom/source/libaom/third_party/x86inc + third_party/libavif + third_party/libc++ + third_party/libevent + third_party/libgav1 + third_party/libjingle + third_party/libphonenumber + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/libudev + third_party/liburlpattern + third_party/libva_protected_content + third_party/libvpx + third_party/libvpx/source/libvpx/third_party/x86inc + third_party/libwebm + third_party/libx11 + third_party/libxcb-keysyms + third_party/libxml/chromium + third_party/libyuv + third_party/libzip + third_party/lit + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + third_party/markupsafe + third_party/material_color_utilities + third_party/mesa + third_party/metrics_proto + third_party/minigbm + third_party/modp_b64 + third_party/nasm + third_party/nearby + third_party/neon_2_sse + third_party/node + third_party/omnibox_proto + third_party/one_euro_filter + third_party/openscreen + third_party/openscreen/src/third_party/ + third_party/openscreen/src/third_party/tinycbor/src/src + third_party/opus + third_party/ots + third_party/pdfium + third_party/pdfium/third_party/agg23 + third_party/pdfium/third_party/bigint + third_party/pdfium/third_party/freetype + third_party/pdfium/third_party/lcms + third_party/pdfium/third_party/libopenjpeg + third_party/pdfium/third_party/libtiff + third_party/perfetto + third_party/perfetto/protos/third_party/chromium + third_party/perfetto/protos/third_party/simpleperf + third_party/pffft + third_party/ply + third_party/polymer + third_party/private_membership + third_party/private-join-and-compute + third_party/protobuf + third_party/pthreadpool + third_party/puffin + third_party/pyjson5 + third_party/pyyaml + third_party/qcms + third_party/re2 + third_party/rnnoise + third_party/rust + third_party/ruy + third_party/s2cellid + third_party/securemessage + third_party/selenium-atoms + third_party/sentencepiece + third_party/sentencepiece/src/third_party/darts_clone + third_party/shell-encryption + third_party/simplejson + third_party/six + third_party/skia + third_party/skia/include/third_party/vulkan + third_party/skia/third_party/vulkan + third_party/smhasher + third_party/snappy + third_party/spirv-headers + third_party/spirv-tools + third_party/sqlite + third_party/swiftshader + third_party/swiftshader/third_party/astc-encoder + third_party/swiftshader/third_party/llvm-subzero + third_party/swiftshader/third_party/marl + third_party/swiftshader/third_party/SPIRV-Headers/include/spirv + third_party/swiftshader/third_party/SPIRV-Tools + third_party/swiftshader/third_party/subzero + third_party/tensorflow_models + third_party/tensorflow-text + third_party/tflite + third_party/tflite/src/third_party/eigen3 + third_party/tflite/src/third_party/fft2d + third_party/tflite/src/third_party/xla/third_party/tsl + third_party/tflite/src/third_party/xla/xla/tsl/util + third_party/ukey2 + third_party/unrar + third_party/utf + third_party/vulkan + third_party/wayland + third_party/webdriver + third_party/webgpu-cts + third_party/webrtc + third_party/webrtc/common_audio/third_party/ooura + third_party/webrtc/common_audio/third_party/spl_sqrt_floor + third_party/webrtc/modules/third_party/fft + third_party/webrtc/modules/third_party/g711 + third_party/webrtc/modules/third_party/g722 + third_party/webrtc/rtc_base/third_party/base64 + third_party/webrtc/rtc_base/third_party/sigslot + third_party/widevine + third_party/woff2 + third_party/wuffs + third_party/x11proto + third_party/xcbproto + third_party/xnnpack + third_party/zlib/google + third_party/zxcvbn-cpp + url/third_party/mozilla + v8/src/third_party/siphash + v8/src/third_party/utf8-decoder + v8/src/third_party/valgrind + v8/third_party/glibc + v8/third_party/inspector_protocol + v8/third_party/v8 + + # gyp -> gn leftovers + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils + ) + + # USE=system-* + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz-ng ) + fi + + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + + if ! use system-png; then + keeplibs+=( third_party/libpng ) + fi + + if ! use system-zstd; then + keeplibs+=( third_party/zstd ) + fi + + if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then + keeplibs+=( third_party/llvm ) + fi + + # Arch-specific + if use arm64 || use ppc64 ; then + keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) + fi + # we need to generate ppc64 stuff because upstream does not ship it yet + # it has to be done before unbundling. + if use ppc64; then + pushd third_party/libvpx >/dev/null || die + mkdir -p source/config/linux/ppc64 || die + # requires git and clang, bug #832803 + # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh + # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh + # since we're not in a git repo + sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ + generate_gni.sh || die + ./generate_gni.sh || die + popd >/dev/null || die + + pushd third_party/ffmpeg >/dev/null || die + cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die + cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die + popd >/dev/null || die + fi + + einfo "Unbundling third-party libraries ..." + # Remove most bundled libraries. Some are still needed. + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die + + # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries + mkdir -p buildtools/third_party/eu-strip/bin || die + ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die +} + +chromium_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local myconf_gn="" + + # We already forced the "correct" clang via pkg_setup + if use system-toolchain; then + if tc-is-cross-compiler; then + CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" + CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" + BUILD_AR=${AR} + BUILD_CC=${CC} + BUILD_CXX=${CXX} + BUILD_NM=${NM} + fi + + strip-unsupported-flags + + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" + # https://bugs.gentoo.org/918897#c32 + append-ldflags -Wl,--undefined-version + myconf_gn+=" use_lld=true" + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" + + if tc-is-cross-compiler; then + tc-export BUILD_{AR,CC,CXX,NM} + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" + myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" + + # setup cups-config, build system only uses --libs option + if use cups; then + mkdir "${T}/cups-config" || die + cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die + export PATH="${PATH}:${T}/cups-config" + fi + + # Don't inherit PKG_CONFIG_PATH from environment + local -x PKG_CONFIG_PATH= + else + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + fi + + # bindgen settings + # From 127, to make bindgen work, we need to provide a location for libclang. + # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch + # rust_bindgen_root = directory with `bin/bindgen` beneath it. + myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" + + # from get_llvm_prefix + local prefix=${ESYSROOT} + [[ ${1} == -b ]] && prefix=${BROOT} + myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\"" + # We don't need to set 'clang_base_bath' for anything in our build + # and it defaults to the google toolchain location. Instead provide a location + # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) + myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" + + # We need to provide this to GN in both the path to rust _and_ the version + local rustc_ver=$(chromium_extract_rust_version) + if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then + myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" + else + myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" + fi + myconf_gn+=" rustc_version=\"${rustc_ver}\"" + fi + + # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. + myconf_gn+=" is_debug=false" + + # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. + # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. + myconf_gn+=" dcheck_always_on=$(usex debug true false)" + myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" + + # Component build isn't generally intended for use by end users. It's mostly useful + # for development and debugging. + myconf_gn+=" is_component_build=false" + + # Disable nacl, we can't build without pnacl (http://crbug.com/269560). + myconf_gn+=" enable_nacl=false" + + # Use system-provided libraries. + # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_protobuf (bug #525560). + # TODO: use_system_sqlite (http://crbug.com/22208). + + # libevent: https://bugs.gentoo.org/593458 + local gn_system_libraries=( + flac + fontconfig + freetype + # Need harfbuzz_from_pkgconfig target + #harfbuzz-ng + libdrm + libjpeg + libwebp + libxml + libxslt + openh264 + zlib + ) + if use system-icu; then + gn_system_libraries+=( icu ) + fi + if use system-png; then + gn_system_libraries+=( libpng ) + fi + if use system-zstd; then + gn_system_libraries+=( zstd ) + fi + + build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die + + # See dependency logic in third_party/BUILD.gn + myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" + + # Optional dependencies. + myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" + myconf_gn+=" enable_widevine=$(usex widevine true false)" + + if use headless; then + myconf_gn+=" use_cups=false" + myconf_gn+=" use_kerberos=false" + myconf_gn+=" use_pulseaudio=false" + myconf_gn+=" use_vaapi=false" + myconf_gn+=" rtc_use_pipewire=false" + else + myconf_gn+=" use_cups=$(usex cups true false)" + myconf_gn+=" use_kerberos=$(usex kerberos true false)" + myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" + myconf_gn+=" use_vaapi=$(usex vaapi true false)" + myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" + myconf_gn+=" gtk_version=$(usex gtk4 4 3)" + fi + + # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of + # using dlopen. This helps with automated detection of ABI mismatches and + # prevents silent errors. + if use pulseaudio; then + myconf_gn+=" link_pulseaudio=true" + fi + + # Non-developer builds of Chromium (for example, non-Chrome browsers, or + # Chromium builds provided by Linux distros) should disable the testing config + myconf_gn+=" disable_fieldtrial_testing_config=true" + + # The sysroot is the oldest debian image that chromium supports, we don't need it + myconf_gn+=" use_sysroot=false" + + # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) + # instead of the system C++ library for C++ standard library support. + # default: true, but let's be explicit (forced since 120 ; USE removed 127). + myconf_gn+=" use_custom_libcxx=true" + + # Disable pseudolocales, only used for testing + myconf_gn+=" enable_pseudolocales=false" + + # Disable code formating of generated files + myconf_gn+=" blink_enable_generated_code_formatting=false" + + if use bindist ; then + # proprietary_codecs just forces Chromium to say that it can use h264/aac, + # the work is still done by ffmpeg. If this is set to no Chromium + # won't be able to load the codec even if the library can handle it + myconf_gn+=" proprietary_codecs=true" + myconf_gn+=" ffmpeg_branding=\"Chrome\"" + # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute + myconf_gn+=" is_component_ffmpeg=true" + else + ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" + myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" + myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" + fi + + # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . + # Note: these are for Gentoo use ONLY. For your own distribution, + # please get your own set of keys. Feel free to contact chromium@gentoo.org + # for more info. The OAuth2 credentials, however, have been left out. + # Those OAuth2 credentials have been broken for quite some time anyway. + # Instead we apply a patch to use the --oauth2-client-id= and + # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and + # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into + # Chromium without baked-in values. + local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" + myconf_gn+=" google_api_key=\"${google_api_key}\"" + local myarch="$(tc-arch)" + + # Avoid CFLAGS problems, bug #352457, bug #390147. + if ! use custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + + # Debug info section overflows without component build + # Prevent linker from running out of address space, bug #471810 . + filter-flags "-g*" + + # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. + if [[ ${myarch} == amd64 ]]; then + filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a + fi + fi + + if [[ $myarch = amd64 ]] ; then + myconf_gn+=" target_cpu=\"x64\"" + ffmpeg_target_arch=x64 + elif [[ $myarch = arm64 ]] ; then + myconf_gn+=" target_cpu=\"arm64\"" + ffmpeg_target_arch=arm64 + elif [[ $myarch = ppc64 ]] ; then + myconf_gn+=" target_cpu=\"ppc64\"" + ffmpeg_target_arch=ppc64 + else + die "Failed to determine target arch, got '$myarch'." + fi + + myconf_gn+=" treat_warnings_as_errors=false" + # Disable fatal linker warnings, bug 506268. + myconf_gn+=" fatal_linker_warnings=false" + + # Disable external code space for V8 for ppc64. It is disabled for ppc64 + # by default, but cross-compiling on amd64 enables it again. + if tc-is-cross-compiler; then + if ! use amd64 && ! use arm64; then + myconf_gn+=" v8_enable_external_code_space=false" + fi + fi + + # Only enabled for clang, but gcc has endian macros too + myconf_gn+=" v8_use_libm_trig_functions=true" + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + # We don't use the same clang version as upstream, and with -Werror + # we need to make sure that we don't get superfluous warnings. + append-flags -Wno-unknown-warning-option + if tc-is-cross-compiler; then + export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" + export BUILD_CFLAGS+=" -Wno-unknown-warning-option" + fi + + # Explicitly disable ICU data file support for system-icu/headless builds. + if use system-icu || use headless; then + myconf_gn+=" icu_use_data_file=false" + fi + + # Don't need nocompile checks and GN crashes with our config + myconf_gn+=" enable_nocompile_tests=false" + + # Enable ozone wayland and/or headless support + myconf_gn+=" use_ozone=true ozone_auto_platforms=false" + myconf_gn+=" ozone_platform_headless=true" + if use headless; then + myconf_gn+=" ozone_platform=\"headless\"" + myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" + myconf_gn+=" use_glib=false use_gio=false" + myconf_gn+=" use_pangocairo=false use_alsa=false" + myconf_gn+=" use_libpci=false use_udev=false" + myconf_gn+=" enable_print_preview=false" + myconf_gn+=" enable_remoting=false" + else + myconf_gn+=" use_system_libdrm=true" + myconf_gn+=" use_system_minigbm=true" + myconf_gn+=" use_xkbcommon=true" + if use qt5 || use qt6; then + local cbuild_libdir=$(get_libdir) + if tc-is-cross-compiler; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) + cbuild_libdir=${cbuild_libdir:2} + cbuild_libdir=${cbuild_libdir/% } + fi + if use qt5; then + if tc-is-cross-compiler; then + myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" + else + myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" + fi + fi + if use qt6; then + myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" + fi + + myconf_gn+=" use_qt=true" + myconf_gn+=" use_qt6=$(usex qt6 true false)" + else + myconf_gn+=" use_qt=false" + fi + myconf_gn+=" ozone_platform_x11=$(usex X true false)" + myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" + myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" + use wayland && myconf_gn+=" use_system_libffi=true" + fi + + # Results in undefined references in chrome linking, may require CFI to work + if use arm64; then + myconf_gn+=" arm_control_flow_integrity=\"none\"" + fi + + # 936673: Updater (which we don't use) depends on libsystemd + # This _should_ always be disabled if we're not building a + # "Chrome" branded browser, but obviously this is not always sufficient. + myconf_gn+=" enable_updater=false" + + # Enable official builds + myconf_gn+=" is_official_build=$(usex official true false)" + myconf_gn+=" use_thin_lto=$(usex lto true false)" + myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)" + if use official; then + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py || die + # Req's LTO; handled by REQUIRED_USE - TODO: not compatible with -fno-split-lto-unit + myconf_gn+=" is_cfi=false" + # Don't add symbols to build + myconf_gn+=" symbol_level=0" + fi + + if use pgo; then + myconf_gn+=" chrome_pgo_phase=${1}" + if [[ "$1" == "2" ]]; then + myconf_gn+=" pgo_data_path=\"${2}\"" + fi + else + # Disable PGO + myconf_gn+=" chrome_pgo_phase=0" + fi + + # skipping typecheck is only supported on amd64, bug #876157 + if ! use amd64; then + myconf_gn+=" devtools_skip_typecheck=false" + fi + + einfo "Configuring Chromium ..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_configure() { + chromium_configure $(usex pgo 1 0) +} + +chromium_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # Don't inherit PYTHONPATH from environment, bug #789021, #812689 + local -x PYTHONPATH= + + # Build mksnapshot and pax-mark it. + if use pax-kernel; then + local x + for x in mksnapshot v8_context_snapshot_generator; do + if tc-is-cross-compiler; then + eninja -C out/Release "host/${x}" + pax-mark m "out/Release/host/${x}" + else + eninja -C out/Release "${x}" + pax-mark m "out/Release/${x}" + fi + done + fi + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/Release chrome chromedriver chrome_sandbox + + pax-mark m out/Release/chrome + + if ! use system-toolchain; then + QA_FLAGS_IGNORED=" + usr/lib64/chromium-browser/chrome + usr/lib64/chromium-browser/chrome-sandbox + usr/lib64/chromium-browser/chromedriver + usr/lib64/chromium-browser/chrome_crashpad_handler + usr/lib64/chromium-browser/libEGL.so + usr/lib64/chromium-browser/libGLESv2.so + usr/lib64/chromium-browser/libVkICD_mock_icd.so + usr/lib64/chromium-browser/libVkLayer_khronos_validation.so + usr/lib64/chromium-browser/libqt5_shim.so + usr/lib64/chromium-browser/libvk_swiftshader.so + usr/lib64/chromium-browser/libvulkan.so.1 + " + fi +} + +# This function is called from virtx, and must always return so that Xvfb +# session isn't left running. If we return 1, virtx will call die(). +chromium_profile() { + einfo "Profiling for PGO" + + pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 + + # Remove old profdata in case profiling was interrupted. + rm -rf "${1}" || return 1 + + if ! "${EPYTHON}" ./chromium_profiler.py \ + --chrome-executable "${S}/out/Release/chrome" \ + --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ + --add-arg no-sandbox --add-arg disable-dev-shm-usage \ + --profile-output "${1}"; then + eerror "Profiling failed" + return 1 + fi + + popd >/dev/null || return 1 +} + +src_compile() { + if use pgo; then + local profdata + + profdata="${WORKDIR}/chromium.profdata" + + if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then + chromium_compile + virtx chromium_profile "$profdata" + + touch "${WORKDIR}/.pgo-profiled" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then + # Remove phase 1 output + rm -r out/Release || die + + chromium_configure 2 "$profdata" + + touch "${WORKDIR}/.pgo-phase-2-configured" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then + chromium_compile + touch "${WORKDIR}/.pgo-phase-2-compiled" || die + fi + else + chromium_compile + fi + + mv out/Release/chromedriver{.unstripped,} || die + + rm -f out/Release/locales/*.pak.info || die + + # Build manpage; bug #684550 + sed -e 's|@@PACKAGE@@|chromium-browser|g; + s|@@MENUNAME@@|Chromium|g;' \ + chrome/app/resources/manpage.1.in > \ + out/Release/chromium-browser.1 || die + + # Build desktop file; bug #706786 + sed -e 's|@@MENUNAME@@|Chromium|g; + s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; + s|@@PACKAGE@@|chromium-browser|g; + s|\(^Exec=\)/usr/bin/|\1|g;' \ + chrome/installer/linux/common/desktop.template > \ + out/Release/chromium-browser-chromium.desktop || die + + # Build vk_swiftshader_icd.json; bug #827861 + sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ + third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ + out/Release/vk_swiftshader_icd.json || die +} + +src_install() { + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + newexe out/Release/chrome_sandbox chrome-sandbox + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + + doexe out/Release/chromedriver + doexe out/Release/chrome_crashpad_handler + + ozone_auto_session () { + use X && use wayland && ! use headless && echo true || echo false + } + local sedargs=( -e + "s:/usr/lib/:/usr/$(get_libdir)/:g; + s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" + ) + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die + doexe chromium-launcher.sh + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium + + dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver + + # Allow users to override command-line options, bug #357629. + insinto /etc/chromium + newins "${FILESDIR}/chromium.default" "default" + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.bin + doins out/Release/*.pak + + if use bindist; then + # We built libffmpeg as a component library, but we can't distribute it + # with proprietary codec support. Remove it and make a symlink to the requested + # system library. + rm -f out/Release/libffmpeg.so \ + || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" + # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. + einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." + dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ + /usr/$(get_libdir)/chromium-browser/libffmpeg.so + fi + + ( + shopt -s nullglob + local files=(out/Release/*.so out/Release/*.so.[0-9]) + [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" + ) + + # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" + doins out/Release/xdg-{settings,mime} + + if ! use system-icu && ! use headless; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + doins -r out/Release/MEIPreload + + # Install vk_swiftshader_icd.json; bug #827861 + doins out/Release/vk_swiftshader_icd.json + + if [[ -d out/Release/swiftshader ]]; then + insinto "${CHROMIUM_HOME}/swiftshader" + doins out/Release/swiftshader/*.so + fi + + # Install icons + local branding size + for size in 16 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + chromium-browser.png + done + + # Install desktop entry + domenu out/Release/chromium-browser-chromium.desktop + + # Install GNOME default application entry (bug #303100). + insinto /usr/share/gnome-control-center/default-apps + newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml + + # Install manpage; bug #684550 + doman out/Release/chromium-browser.1 + dosym chromium-browser.1 /usr/share/man/man1/chromium.1 + + readme.gentoo_create_doc +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + readme.gentoo_print_elog + + if ! use headless; then + if use vaapi; then + elog "VA-API is disabled by default at runtime. You have to enable it" + elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" + elog "in /etc/chromium/default." + fi + if use screencast; then + elog "Screencast is disabled by default at runtime. Either enable it" + elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" + elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use gtk4; then + elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" + elog "behavior you need to pass --gtk-version=4, e.g. by adding it" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use qt5 && use qt6; then + elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" + elog "environment. To override you need to pass --qt-version=5 or" + elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" + elog "/etc/chromium/default." + fi + fi + + if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then + ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" + ewarn "indicates that the Gentoo handbook was not followed to completion." + ewarn "" + ewarn "Chromium is known to behave unpredictably with this system configuration;" + ewarn "please complete the configuration of this system before logging any bugs." + fi +} diff --git a/www-client/chromium/chromium-127.0.6533.88.ebuild b/www-client/chromium/chromium-127.0.6533.88.ebuild new file mode 100644 index 000000000000..19c04160780e --- /dev/null +++ b/www-client/chromium/chromium-127.0.6533.88.ebuild @@ -0,0 +1,1443 @@ +# Copyright 2009-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# PACKAGING NOTES + +# Google roll their bundled Clang every two weeks, and the bundled Rust +# is rolled regularly and depends on that. While we do our best to build +# with system Clang, we will eventually hit the point where we need to use +# the bundled Clang due to the use of prerelease features. We've been lucky +# enough so far that this hasn't been an issue. +# We use llvm-utils.eclass directly due to chromium's inherent Googliness. + +# GN is bundled with Chromium, but we always use the system version. Remember to +# check for upstream changes to GN and update ebuild (and version below) as required. + +# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able +# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so), +# then we remove ffmpeg from the image to ensure that the built package is distributable +# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place; +# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system. + +# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's +# no reason not to. Todo: Re-enable USE=system-ffmpeg. + +GN_MIN_VER=0.2165 +RUST_MIN_VER=1.78.0 +# chromium-tools/get-chromium-toolchain-strings.sh +GOOGLE_CLANG_VER=llvmorg-19-init-10646-g084e2b53-57 +GOOGLE_RUST_VER=32dd3795bce8b347fda786529cf5e42a813e0b7d-2 + +: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no} + +VIRTUALX_REQUIRED="pgo" + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr + sv sw ta te th tr uk ur vi zh-CN zh-TW" + +# While prerelease llvm is actually used in the google build, until we have a +# sane way to select 'rust built with this llvm slot' that isn't stable and testing +# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. +LLVM_COMPAT=( {17..18} ) +PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_REQ_USE="xml(+)" + +inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils + +DESCRIPTION="Open-source version of Google Chrome web browser" +HOMEPAGE="https://www.chromium.org/" +PATCHSET_PPC64="127.0.6533.88-1raptor0~deb12u2" +PATCH_V="${PV%%\.*}" +SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz + system-toolchain? ( + https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 + ) + !system-toolchain? ( + https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz + -> chromium-${PV%%\.*}-clang.tar.xz + https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%???}.tar.xz + -> chromium-${PV%%\.*}-rust.tar.xz + ) + ppc64? ( + https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz + https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz + ) + pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" + +LICENSE="BSD" +SLOT="0/stable" +KEYWORDS="amd64 arm64 ~ppc64" +IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd" +IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio" +IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine" +RESTRICT="!bindist? ( bindist )" + +REQUIRED_USE=" + !headless? ( || ( X wayland ) ) + pgo? ( X !wayland ) + qt6? ( qt5 ) + screencast? ( wayland ) + ffmpeg-chromium? ( bindist proprietary-codecs ) +" + +COMMON_X_DEPEND=" + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXtst:= + x11-libs/libxshmfence:= +" + +COMMON_SNAPSHOT_DEPEND=" + system-icu? ( >=dev-libs/icu-71.1:= ) + >=dev-libs/libxml2-2.12.4:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + dev-libs/libxslt:= + media-libs/fontconfig:= + >=media-libs/freetype-2.11.0-r1:= + system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) + media-libs/libjpeg-turbo:= + system-png? ( media-libs/libpng:=[-apng(-)] ) + system-zstd? ( >=app-arch/zstd-1.5.5:= ) + >=media-libs/libwebp-0.4.0:= + media-libs/mesa:=[gbm(+)] + >=media-libs/openh264-1.6.0:= + sys-libs/zlib:= + x11-libs/libdrm:= + !headless? ( + dev-libs/glib:2 + >=media-libs/alsa-lib-1.0.19:= + pulseaudio? ( media-libs/libpulse:= ) + sys-apps/pciutils:= + kerberos? ( virtual/krb5 ) + vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) + X? ( + x11-libs/libX11:= + x11-libs/libXext:= + x11-libs/libxcb:= + ) + x11-libs/libxkbcommon:= + wayland? ( + dev-libs/libffi:= + dev-libs/wayland:= + screencast? ( media-video/pipewire:= ) + ) + ) +" + +COMMON_DEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + app-arch/bzip2:= + dev-libs/expat:= + net-misc/curl[ssl] + sys-apps/dbus:= + media-libs/flac:= + sys-libs/zlib:=[minizip] + !headless? ( + X? ( ${COMMON_X_DEPEND} ) + >=app-accessibility/at-spi2-core-2.46.0:2 + media-libs/mesa:=[X?,wayland?] + cups? ( >=net-print/cups-1.3.11:= ) + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/pango:= + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + ) +" +RDEPEND="${COMMON_DEPEND} + !headless? ( + || ( + x11-libs/gtk+:3[X?,wayland?] + gui-libs/gtk:4[X?,wayland?] + ) + qt5? ( dev-qt/qtgui:5[X?,wayland?] ) + qt6? ( dev-qt/qtbase:6[X?,wayland?] ) + ) + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) + bindist? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) + ) +" +DEPEND="${COMMON_DEPEND} + !headless? ( + gtk4? ( gui-libs/gtk:4[X?,wayland?] ) + !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) + ) +" + +depend_clang_llvm_version() { + echo "sys-devel/clang:$1" + echo "sys-devel/llvm:$1" + echo "=sys-devel/lld-$1*" + echo "virtual/rust:0/llvm-${1}[profiler(-)]" + echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )" +} + +# Parse LLVM_COMPAT and generate a usedep for each version +depend_clang_llvm_versions() { + if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then + depend_clang_llvm_version ${#LLVM_COMPAT[0]} + else + echo "|| (" + for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do + echo "(" + depend_clang_llvm_version ${LLVM_COMPAT[i]} + echo ")" + done + echo ")" + fi +} + +BDEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + >=app-arch/gzip-1.7 + !headless? ( + qt5? ( dev-qt/qtcore:5 ) + qt6? ( dev-qt/qtbase:6 ) + ) + system-toolchain? ( + $(depend_clang_llvm_versions) + pgo? ( + >=dev-python/selenium-3.141.0 + >=dev-util/web_page_replay_go-20220314 + ) + dev-util/bindgen + ) + >=dev-build/gn-${GN_MIN_VER} + dev-build/ninja + dev-lang/perl + >=dev-util/gperf-3.0.3 + dev-vcs/git + >=net-libs/nodejs-7.6.0[inspector] + >=sys-devel/bison-2.4.3 + sys-devel/flex + virtual/pkgconfig +" + +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then + EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; +fi + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS=" +Some web pages may require additional fonts to display properly. +Try installing some of the following packages if some characters +are not displayed properly: +- media-fonts/arphicfonts +- media-fonts/droid +- media-fonts/ipamonafont +- media-fonts/noto +- media-fonts/ja-ipafonts +- media-fonts/takao-fonts +- media-fonts/wqy-microhei +- media-fonts/wqy-zenhei + +To fix broken icons on the Downloads page, you should install an icon +theme that covers the appropriate MIME types, and configure this as your +GTK+ icon theme. + +For native file dialogs in KDE, install kde-apps/kdialog. + +To make password storage work with your desktop environment you may +have install one of the supported credentials management applications: +- app-crypt/libsecret (GNOME) +- kde-frameworks/kwallet (KDE) +If you have one of above packages installed, but don't want to use +them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS +in /etc/chromium/default. +" + +python_check_deps() { + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" +} + +pre_build_checks() { + # Check build requirements: bugs #471810, #541816, #914220 + # We're going to start doing maths here on the size of an unpacked source tarball, + # this should make updates easier as chromium continues to balloon in size. + local BASE_DISK=24 + local EXTRA_DISK=1 + local CHECKREQS_MEMORY="4G" + tc-is-cross-compiler && EXTRA_DISK=2 + if tc-is-lto || use pgo; then + CHECKREQS_MEMORY="9G" + tc-is-cross-compiler && EXTRA_DISK=4 + use pgo && EXTRA_DISK=8 + fi + if is-flagq '-g?(gdb)?([1-9])'; then + if use custom-cflags; then + EXTRA_DISK=13 + fi + CHECKREQS_MEMORY="16G" + fi + CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" + check-reqs_${EBUILD_PHASE_FUNC} +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]]; then + # The pre_build_checks are all about compilation resources, no need to run it for a binpkg + pre_build_checks + fi + + if use headless; then + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") + for myiuse in ${headless_unused_flags[@]}; do + use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." + done + fi + + if ! use bindist && use ffmpeg-chromium; then + ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." + fi +} + +# Chromium should build with any version of clang that we support +# but we may need to pick the "best" one for a build (highest installed, +# rust is built against it, etc.) +# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available +# and output the _highest_ slot that is actually available on a system. +chromium_pick_llvm_slot() { + # LLVM_COMPAT is always going to be oldest to newest (or one value) + # let's flip it and check from newest to oldest and return the first one we find. + local slot + for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do + slot=${LLVM_COMPAT[i]} + if has_version "sys-devel/clang:${slot}" && \ + has_version "sys-devel/llvm:${slot}" && \ + has_version "sys-devel/lld:${slot}" && \ + has_version "virtual/rust:0/llvm-${slot}" && \ + ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then + + echo "${slot}" + return + fi + done + + die_msg=" +No suitable clang/llvm/lld slot found. +Slots checked: ${LLVM_COMPAT[*]}. +" + die "${die_msg}" +} + +# We need the rust version in src_configure and pkg_setup +chromium_extract_rust_version() { + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + echo $rustc_version +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + # The pre_build_checks are all about compilation resources, no need to run it for a binpkg + pre_build_checks + + if use system-toolchain; then + # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment + # We'll set these to clang here then use llvm-utils functions to very explicitly set these + # to a sane value. + # This is effectively the 'force-clang' path if GCC support is re-added. + # TODO: check if the user has already selected a specific impl via make.conf and respect that. + if ! tc-is-lto && use official; then + einfo "USE=official selected and LTO not detected." + einfo "It is _highly_ recommended that LTO be enabled for performance reasons" + einfo "and to be consistent with the upstream \"official\" build optimisations." + fi + + LLVM_SLOT=$(chromium_pick_llvm_slot) + export LLVM_SLOT # used in src_configure for rust-y business + AR=llvm-ar + CPP="${CHOST}-clang++ -E" + NM=llvm-nm + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + + if tc-is-cross-compiler; then + use pgo && die "The pgo USE flag cannot be used when cross-compiling" + CPP="${CBUILD}-clang++ -E" + fi + + # The llvm-r1_pkg_setup we have at home. + # We prepend the path _first_ to explicitly use the selected slot. + llvm_prepend_path "${LLVM_SLOT}" + + llvm_fix_clang_version CC CPP CXX + llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB + llvm_fix_tool_path READELF STRINGS STRIP + + # Set LLVM_CONFIG to help Meson (bug #907965) but only do it + # for empty ESYSROOT (as a proxy for "are we cross-compiling?"). + if [[ -z ${ESYSROOT} ]] ; then + llvm_fix_tool_path LLVM_CONFIG + fi + + einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" + + local rustc_ver=$(chromium_extract_rust_version) + if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then + eerror "Rust >=${RUST_MIN_VER} is required" + eerror "Please run 'eselect rust' and select the correct rust version" + die "Selected rust version is too old" + else + einfo "Using rust ${rustc_ver} to build" + fi + + fi + # Users should never hit this, it's purely a development convenience + if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then + die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" + fi + fi + + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + # In 126 Chromium upstream decided to change the way that the rust toolchain is packaged + # so now we get a fancy src_unpack function to ensure that we don't accidentally unpack + # one toolchain over the other. The addtional control over over unpacking also helps us + # ensure that GN doesn't try and use some bundled tool (like bindgen) instead of the system + # package by just not unpacking it unless we're using the bundled toolchain. + unpack ${P}.tar.xz + if use system-toolchain; then + unpack chromium-patches-${PATCH_V}.tar.bz2 + else + unpack chromium-${PV%%\.*}-clang.tar.xz + local rust_dir="${WORKDIR}/rust-toolchain" + mkdir -p ${rust_dir} || die "Failed to create rust toolchain directory" + tar xf "${DISTDIR}/chromium-${PV%%\.*}-rust.tar.xz" -C ${rust_dir} || die "Failed to unpack rust toolchain" + fi + + use pgo && unpack chromium-profiler-0.2.tar + + if use ppc64; then + unpack chromium_${PATCHSET_PPC64}.debian.tar.xz + unpack chromium-ppc64le-gentoo-patches-1.tar.xz + fi +} + +src_prepare() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # disable global media controls, crashes with libstdc++ + sed -i -e \ + "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ + "chrome/browser/media/router/media_router_feature.cc" || die + + local PATCHES=( + "${FILESDIR}/chromium-cross-compile.patch" + "${FILESDIR}/chromium-109-system-zlib.patch" + "${FILESDIR}/chromium-111-InkDropHost-crash.patch" + "${FILESDIR}/chromium-126-oauth2-client-switches.patch" + "${FILESDIR}/chromium-127-browser-ui-deps.patch" + "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" + "${FILESDIR}/chromium-127-updater-systemd.patch" + ) + + # 127: test deps are broken for ui/lens with system ICU "//third_party/icu:icuuc_public" + sed -i '/source_set("unit_tests") {/,/}/d' \ + chrome/browser/ui/lens/BUILD.gn || die "Failed to remove bad test target" + sed -i '/lens:unit_tests/d' chrome/test/BUILD.gn components/BUILD.gn \ + || die "Failed to remove dependencies on bad target" + + if use system-toolchain; then + # The patchset is really only required if we're using the system-toolchain + PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" ) + # We can't use the bundled compiler builtins + sed -i -e \ + "/if (is_clang && toolchain_has_rust) {/,+2d" \ + build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" + else + mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm" + ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin" + ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib" + echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \ + die "Failed to set clang version" + ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" + cp "${WORKDIR}"/rust-toolchain/VERSION \ + "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" + fi + + if use ppc64 ; then + local p + for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do + if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then + eapply "${WORKDIR}/debian/patches/${p}" + fi + done + PATCHES+=( "${WORKDIR}/ppc64le" ) + PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" ) + fi + + default + + rm third_party/node/linux/node-linux-x64/bin/node || die + ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die + + # adjust python interpreter version + sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die + + local keeplibs=( + base/third_party/cityhash + base/third_party/double_conversion + base/third_party/icu + base/third_party/nspr + base/third_party/superfasthash + base/third_party/symbolize + base/third_party/xdg_user_dirs + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + chrome/third_party/mozilla_security_manager + courgette/third_party + net/third_party/mozilla_security_manager + net/third_party/nss + net/third_party/quic + net/third_party/uri_template + third_party/abseil-cpp + third_party/angle + third_party/angle/src/common/third_party/xxhash + third_party/angle/src/third_party/ceval + third_party/angle/src/third_party/libXNVCtrl + third_party/angle/src/third_party/volk + third_party/anonymous_tokens + third_party/apple_apsl + third_party/axe-core + third_party/bidimapper + third_party/blink + third_party/boringssl + third_party/boringssl/src/third_party/fiat + third_party/breakpad + third_party/breakpad/breakpad/src/third_party/curl + third_party/brotli + third_party/catapult + third_party/catapult/common/py_vulcanize/third_party/rcssmin + third_party/catapult/common/py_vulcanize/third_party/rjsmin + third_party/catapult/third_party/beautifulsoup4-4.9.3 + third_party/catapult/third_party/html5lib-1.1 + third_party/catapult/third_party/polymer + third_party/catapult/third_party/six + third_party/catapult/tracing/third_party/d3 + third_party/catapult/tracing/third_party/gl-matrix + third_party/catapult/tracing/third_party/jpeg-js + third_party/catapult/tracing/third_party/jszip + third_party/catapult/tracing/third_party/mannwhitneyu + third_party/catapult/tracing/third_party/oboe + third_party/catapult/tracing/third_party/pako + third_party/ced + third_party/cld_3 + third_party/closure_compiler + third_party/content_analysis_sdk + third_party/cpuinfo + third_party/crabbyavif + third_party/crashpad + third_party/crashpad/crashpad/third_party/lss + third_party/crashpad/crashpad/third_party/zlib + third_party/crc32c + third_party/cros_system_api + third_party/d3 + third_party/dav1d + third_party/dawn + third_party/dawn/third_party/gn/webgpu-cts + third_party/dawn/third_party/khronos + third_party/depot_tools + third_party/devscripts + third_party/devtools-frontend + third_party/devtools-frontend/src/front_end/third_party/acorn + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/devtools-frontend/src/front_end/third_party/axe-core + third_party/devtools-frontend/src/front_end/third_party/chromium + third_party/devtools-frontend/src/front_end/third_party/codemirror + third_party/devtools-frontend/src/front_end/third_party/csp_evaluator + third_party/devtools-frontend/src/front_end/third_party/diff + third_party/devtools-frontend/src/front_end/third_party/i18n + third_party/devtools-frontend/src/front_end/third_party/intl-messageformat + third_party/devtools-frontend/src/front_end/third_party/lighthouse + third_party/devtools-frontend/src/front_end/third_party/lit + third_party/devtools-frontend/src/front_end/third_party/lodash-isequal + third_party/devtools-frontend/src/front_end/third_party/marked + third_party/devtools-frontend/src/front_end/third_party/puppeteer + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs + third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data + third_party/devtools-frontend/src/front_end/third_party/wasmparser + third_party/devtools-frontend/src/front_end/third_party/web-vitals + third_party/devtools-frontend/src/third_party + third_party/distributed_point_functions + third_party/dom_distiller_js + third_party/eigen3 + third_party/emoji-segmenter + third_party/farmhash + third_party/fdlibm + third_party/ffmpeg + third_party/fft2d + third_party/flatbuffers + third_party/fp16 + third_party/freetype + third_party/fusejs + third_party/fxdiv + third_party/gemmlowp + third_party/google_input_tools + third_party/google_input_tools/third_party/closure_library + third_party/google_input_tools/third_party/closure_library/third_party/closure + third_party/googletest + third_party/highway + third_party/hunspell + third_party/iccjpeg + third_party/inspector_protocol + third_party/ipcz + third_party/jinja2 + third_party/jsoncpp + third_party/jstemplate + third_party/khronos + third_party/lens_server_proto + third_party/leveldatabase + third_party/libaddressinput + third_party/libaom + third_party/libaom/source/libaom/third_party/fastfeat + third_party/libaom/source/libaom/third_party/SVT-AV1 + third_party/libaom/source/libaom/third_party/vector + third_party/libaom/source/libaom/third_party/x86inc + third_party/libavif + third_party/libc++ + third_party/libevent + third_party/libgav1 + third_party/libjingle + third_party/libphonenumber + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/libudev + third_party/liburlpattern + third_party/libva_protected_content + third_party/libvpx + third_party/libvpx/source/libvpx/third_party/x86inc + third_party/libwebm + third_party/libx11 + third_party/libxcb-keysyms + third_party/libxml/chromium + third_party/libyuv + third_party/libzip + third_party/lit + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + third_party/markupsafe + third_party/material_color_utilities + third_party/mesa + third_party/metrics_proto + third_party/minigbm + third_party/modp_b64 + third_party/nasm + third_party/nearby + third_party/neon_2_sse + third_party/node + third_party/omnibox_proto + third_party/one_euro_filter + third_party/openscreen + third_party/openscreen/src/third_party/ + third_party/openscreen/src/third_party/tinycbor/src/src + third_party/opus + third_party/ots + third_party/pdfium + third_party/pdfium/third_party/agg23 + third_party/pdfium/third_party/bigint + third_party/pdfium/third_party/freetype + third_party/pdfium/third_party/lcms + third_party/pdfium/third_party/libopenjpeg + third_party/pdfium/third_party/libtiff + third_party/perfetto + third_party/perfetto/protos/third_party/chromium + third_party/perfetto/protos/third_party/simpleperf + third_party/pffft + third_party/ply + third_party/polymer + third_party/private_membership + third_party/private-join-and-compute + third_party/protobuf + third_party/pthreadpool + third_party/puffin + third_party/pyjson5 + third_party/pyyaml + third_party/qcms + third_party/re2 + third_party/rnnoise + third_party/rust + third_party/ruy + third_party/s2cellid + third_party/securemessage + third_party/selenium-atoms + third_party/sentencepiece + third_party/sentencepiece/src/third_party/darts_clone + third_party/shell-encryption + third_party/simplejson + third_party/six + third_party/skia + third_party/skia/include/third_party/vulkan + third_party/skia/third_party/vulkan + third_party/smhasher + third_party/snappy + third_party/spirv-headers + third_party/spirv-tools + third_party/sqlite + third_party/swiftshader + third_party/swiftshader/third_party/astc-encoder + third_party/swiftshader/third_party/llvm-subzero + third_party/swiftshader/third_party/marl + third_party/swiftshader/third_party/SPIRV-Headers/include/spirv + third_party/swiftshader/third_party/SPIRV-Tools + third_party/swiftshader/third_party/subzero + third_party/tensorflow_models + third_party/tensorflow-text + third_party/tflite + third_party/tflite/src/third_party/eigen3 + third_party/tflite/src/third_party/fft2d + third_party/tflite/src/third_party/xla/third_party/tsl + third_party/tflite/src/third_party/xla/xla/tsl/util + third_party/ukey2 + third_party/unrar + third_party/utf + third_party/vulkan + third_party/wayland + third_party/webdriver + third_party/webgpu-cts + third_party/webrtc + third_party/webrtc/common_audio/third_party/ooura + third_party/webrtc/common_audio/third_party/spl_sqrt_floor + third_party/webrtc/modules/third_party/fft + third_party/webrtc/modules/third_party/g711 + third_party/webrtc/modules/third_party/g722 + third_party/webrtc/rtc_base/third_party/base64 + third_party/webrtc/rtc_base/third_party/sigslot + third_party/widevine + third_party/woff2 + third_party/wuffs + third_party/x11proto + third_party/xcbproto + third_party/xnnpack + third_party/zlib/google + third_party/zxcvbn-cpp + url/third_party/mozilla + v8/src/third_party/siphash + v8/src/third_party/utf8-decoder + v8/src/third_party/valgrind + v8/third_party/glibc + v8/third_party/inspector_protocol + v8/third_party/v8 + + # gyp -> gn leftovers + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils + ) + + # USE=system-* + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz-ng ) + fi + + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + + if ! use system-png; then + keeplibs+=( third_party/libpng ) + fi + + if ! use system-zstd; then + keeplibs+=( third_party/zstd ) + fi + + if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then + keeplibs+=( third_party/llvm ) + fi + + # Arch-specific + if use arm64 || use ppc64 ; then + keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) + fi + # we need to generate ppc64 stuff because upstream does not ship it yet + # it has to be done before unbundling. + if use ppc64; then + pushd third_party/libvpx >/dev/null || die + mkdir -p source/config/linux/ppc64 || die + # requires git and clang, bug #832803 + # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh + # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh + # since we're not in a git repo + sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ + generate_gni.sh || die + ./generate_gni.sh || die + popd >/dev/null || die + + pushd third_party/ffmpeg >/dev/null || die + cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die + cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die + popd >/dev/null || die + fi + + einfo "Unbundling third-party libraries ..." + # Remove most bundled libraries. Some are still needed. + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die + + # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries + mkdir -p buildtools/third_party/eu-strip/bin || die + ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die +} + +chromium_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local myconf_gn="" + + # We already forced the "correct" clang via pkg_setup + if use system-toolchain; then + if tc-is-cross-compiler; then + CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" + CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" + BUILD_AR=${AR} + BUILD_CC=${CC} + BUILD_CXX=${CXX} + BUILD_NM=${NM} + fi + + strip-unsupported-flags + + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" + # https://bugs.gentoo.org/918897#c32 + append-ldflags -Wl,--undefined-version + myconf_gn+=" use_lld=true" + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" + + if tc-is-cross-compiler; then + tc-export BUILD_{AR,CC,CXX,NM} + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" + myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" + + # setup cups-config, build system only uses --libs option + if use cups; then + mkdir "${T}/cups-config" || die + cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die + export PATH="${PATH}:${T}/cups-config" + fi + + # Don't inherit PKG_CONFIG_PATH from environment + local -x PKG_CONFIG_PATH= + else + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + fi + + # bindgen settings + # From 127, to make bindgen work, we need to provide a location for libclang. + # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch + # rust_bindgen_root = directory with `bin/bindgen` beneath it. + myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" + + # from get_llvm_prefix + local prefix=${ESYSROOT} + [[ ${1} == -b ]] && prefix=${BROOT} + myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\"" + # We don't need to set 'clang_base_bath' for anything in our build + # and it defaults to the google toolchain location. Instead provide a location + # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) + myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" + + # We need to provide this to GN in both the path to rust _and_ the version + local rustc_ver=$(chromium_extract_rust_version) + if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then + myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" + else + myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" + fi + myconf_gn+=" rustc_version=\"${rustc_ver}\"" + fi + + # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. + myconf_gn+=" is_debug=false" + + # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. + # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. + myconf_gn+=" dcheck_always_on=$(usex debug true false)" + myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" + + # Component build isn't generally intended for use by end users. It's mostly useful + # for development and debugging. + myconf_gn+=" is_component_build=false" + + # Disable nacl, we can't build without pnacl (http://crbug.com/269560). + myconf_gn+=" enable_nacl=false" + + # Use system-provided libraries. + # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_protobuf (bug #525560). + # TODO: use_system_sqlite (http://crbug.com/22208). + + # libevent: https://bugs.gentoo.org/593458 + local gn_system_libraries=( + flac + fontconfig + freetype + # Need harfbuzz_from_pkgconfig target + #harfbuzz-ng + libdrm + libjpeg + libwebp + libxml + libxslt + openh264 + zlib + ) + if use system-icu; then + gn_system_libraries+=( icu ) + fi + if use system-png; then + gn_system_libraries+=( libpng ) + fi + if use system-zstd; then + gn_system_libraries+=( zstd ) + fi + + build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die + + # See dependency logic in third_party/BUILD.gn + myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" + + # Optional dependencies. + myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" + myconf_gn+=" enable_widevine=$(usex widevine true false)" + + if use headless; then + myconf_gn+=" use_cups=false" + myconf_gn+=" use_kerberos=false" + myconf_gn+=" use_pulseaudio=false" + myconf_gn+=" use_vaapi=false" + myconf_gn+=" rtc_use_pipewire=false" + else + myconf_gn+=" use_cups=$(usex cups true false)" + myconf_gn+=" use_kerberos=$(usex kerberos true false)" + myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" + myconf_gn+=" use_vaapi=$(usex vaapi true false)" + myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" + myconf_gn+=" gtk_version=$(usex gtk4 4 3)" + fi + + # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of + # using dlopen. This helps with automated detection of ABI mismatches and + # prevents silent errors. + if use pulseaudio; then + myconf_gn+=" link_pulseaudio=true" + fi + + # Non-developer builds of Chromium (for example, non-Chrome browsers, or + # Chromium builds provided by Linux distros) should disable the testing config + myconf_gn+=" disable_fieldtrial_testing_config=true" + + # The sysroot is the oldest debian image that chromium supports, we don't need it + myconf_gn+=" use_sysroot=false" + + # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) + # instead of the system C++ library for C++ standard library support. + # default: true, but let's be explicit (forced since 120 ; USE removed 127). + myconf_gn+=" use_custom_libcxx=true" + + # Disable pseudolocales, only used for testing + myconf_gn+=" enable_pseudolocales=false" + + # Disable code formating of generated files + myconf_gn+=" blink_enable_generated_code_formatting=false" + + if use bindist ; then + # proprietary_codecs just forces Chromium to say that it can use h264/aac, + # the work is still done by ffmpeg. If this is set to no Chromium + # won't be able to load the codec even if the library can handle it + myconf_gn+=" proprietary_codecs=true" + myconf_gn+=" ffmpeg_branding=\"Chrome\"" + # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute + myconf_gn+=" is_component_ffmpeg=true" + else + ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" + myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" + myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" + fi + + # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . + # Note: these are for Gentoo use ONLY. For your own distribution, + # please get your own set of keys. Feel free to contact chromium@gentoo.org + # for more info. The OAuth2 credentials, however, have been left out. + # Those OAuth2 credentials have been broken for quite some time anyway. + # Instead we apply a patch to use the --oauth2-client-id= and + # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and + # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into + # Chromium without baked-in values. + local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" + myconf_gn+=" google_api_key=\"${google_api_key}\"" + local myarch="$(tc-arch)" + + # Avoid CFLAGS problems, bug #352457, bug #390147. + if ! use custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + + # Debug info section overflows without component build + # Prevent linker from running out of address space, bug #471810 . + filter-flags "-g*" + + # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. + if [[ ${myarch} == amd64 ]]; then + filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a + fi + fi + + if [[ $myarch = amd64 ]] ; then + myconf_gn+=" target_cpu=\"x64\"" + ffmpeg_target_arch=x64 + elif [[ $myarch = arm64 ]] ; then + myconf_gn+=" target_cpu=\"arm64\"" + ffmpeg_target_arch=arm64 + elif [[ $myarch = ppc64 ]] ; then + myconf_gn+=" target_cpu=\"ppc64\"" + ffmpeg_target_arch=ppc64 + else + die "Failed to determine target arch, got '$myarch'." + fi + + myconf_gn+=" treat_warnings_as_errors=false" + # Disable fatal linker warnings, bug 506268. + myconf_gn+=" fatal_linker_warnings=false" + + # Disable external code space for V8 for ppc64. It is disabled for ppc64 + # by default, but cross-compiling on amd64 enables it again. + if tc-is-cross-compiler; then + if ! use amd64 && ! use arm64; then + myconf_gn+=" v8_enable_external_code_space=false" + fi + fi + + # Only enabled for clang, but gcc has endian macros too + myconf_gn+=" v8_use_libm_trig_functions=true" + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + # We don't use the same clang version as upstream, and with -Werror + # we need to make sure that we don't get superfluous warnings. + append-flags -Wno-unknown-warning-option + if tc-is-cross-compiler; then + export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" + export BUILD_CFLAGS+=" -Wno-unknown-warning-option" + fi + + # Explicitly disable ICU data file support for system-icu/headless builds. + if use system-icu || use headless; then + myconf_gn+=" icu_use_data_file=false" + fi + + # Don't need nocompile checks and GN crashes with our config + myconf_gn+=" enable_nocompile_tests=false" + + # Enable ozone wayland and/or headless support + myconf_gn+=" use_ozone=true ozone_auto_platforms=false" + myconf_gn+=" ozone_platform_headless=true" + if use headless; then + myconf_gn+=" ozone_platform=\"headless\"" + myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" + myconf_gn+=" use_glib=false use_gio=false" + myconf_gn+=" use_pangocairo=false use_alsa=false" + myconf_gn+=" use_libpci=false use_udev=false" + myconf_gn+=" enable_print_preview=false" + myconf_gn+=" enable_remoting=false" + else + myconf_gn+=" use_system_libdrm=true" + myconf_gn+=" use_system_minigbm=true" + myconf_gn+=" use_xkbcommon=true" + if use qt5 || use qt6; then + local cbuild_libdir=$(get_libdir) + if tc-is-cross-compiler; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) + cbuild_libdir=${cbuild_libdir:2} + cbuild_libdir=${cbuild_libdir/% } + fi + if use qt5; then + if tc-is-cross-compiler; then + myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" + else + myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" + fi + fi + if use qt6; then + myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" + fi + + myconf_gn+=" use_qt=true" + myconf_gn+=" use_qt6=$(usex qt6 true false)" + else + myconf_gn+=" use_qt=false" + fi + myconf_gn+=" ozone_platform_x11=$(usex X true false)" + myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" + myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" + use wayland && myconf_gn+=" use_system_libffi=true" + fi + + # Results in undefined references in chrome linking, may require CFI to work + if use arm64; then + myconf_gn+=" arm_control_flow_integrity=\"none\"" + fi + + # 936673: Updater (which we don't use) depends on libsystemd + # This _should_ always be disabled if we're not building a + # "Chrome" branded browser, but obviously this is not always sufficient. + myconf_gn+=" enable_updater=false" + + local use_lto="false" + if tc-is-lto; then + use_lto="true" + fi + myconf_gn+=" use_thin_lto=${use_lto}" + myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" + + # Enable official builds + myconf_gn+=" is_official_build=$(usex official true false)" + if use official; then + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py || die + # Req's LTO; TODO: not compatible with -fno-split-lto-unit + myconf_gn+=" is_cfi=false" + # Don't add symbols to build + myconf_gn+=" symbol_level=0" + fi + + if use pgo; then + myconf_gn+=" chrome_pgo_phase=${1}" + if [[ "$1" == "2" ]]; then + myconf_gn+=" pgo_data_path=\"${2}\"" + fi + else + # Disable PGO + myconf_gn+=" chrome_pgo_phase=0" + fi + + # skipping typecheck is only supported on amd64, bug #876157 + if ! use amd64; then + myconf_gn+=" devtools_skip_typecheck=false" + fi + + einfo "Configuring Chromium ..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_configure() { + chromium_configure $(usex pgo 1 0) +} + +chromium_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # Don't inherit PYTHONPATH from environment, bug #789021, #812689 + local -x PYTHONPATH= + + # Build mksnapshot and pax-mark it. + if use pax-kernel; then + local x + for x in mksnapshot v8_context_snapshot_generator; do + if tc-is-cross-compiler; then + eninja -C out/Release "host/${x}" + pax-mark m "out/Release/host/${x}" + else + eninja -C out/Release "${x}" + pax-mark m "out/Release/${x}" + fi + done + fi + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/Release chrome chromedriver chrome_sandbox + + pax-mark m out/Release/chrome + + if ! use system-toolchain; then + QA_FLAGS_IGNORED=" + usr/lib64/chromium-browser/chrome + usr/lib64/chromium-browser/chrome-sandbox + usr/lib64/chromium-browser/chromedriver + usr/lib64/chromium-browser/chrome_crashpad_handler + usr/lib64/chromium-browser/libEGL.so + usr/lib64/chromium-browser/libGLESv2.so + usr/lib64/chromium-browser/libVkICD_mock_icd.so + usr/lib64/chromium-browser/libVkLayer_khronos_validation.so + usr/lib64/chromium-browser/libqt5_shim.so + usr/lib64/chromium-browser/libvk_swiftshader.so + usr/lib64/chromium-browser/libvulkan.so.1 + " + fi +} + +# This function is called from virtx, and must always return so that Xvfb +# session isn't left running. If we return 1, virtx will call die(). +chromium_profile() { + einfo "Profiling for PGO" + + pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 + + # Remove old profdata in case profiling was interrupted. + rm -rf "${1}" || return 1 + + if ! "${EPYTHON}" ./chromium_profiler.py \ + --chrome-executable "${S}/out/Release/chrome" \ + --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ + --add-arg no-sandbox --add-arg disable-dev-shm-usage \ + --profile-output "${1}"; then + eerror "Profiling failed" + return 1 + fi + + popd >/dev/null || return 1 +} + +src_compile() { + if use pgo; then + local profdata + + profdata="${WORKDIR}/chromium.profdata" + + if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then + chromium_compile + virtx chromium_profile "$profdata" + + touch "${WORKDIR}/.pgo-profiled" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then + # Remove phase 1 output + rm -r out/Release || die + + chromium_configure 2 "$profdata" + + touch "${WORKDIR}/.pgo-phase-2-configured" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then + chromium_compile + touch "${WORKDIR}/.pgo-phase-2-compiled" || die + fi + else + chromium_compile + fi + + mv out/Release/chromedriver{.unstripped,} || die + + rm -f out/Release/locales/*.pak.info || die + + # Build manpage; bug #684550 + sed -e 's|@@PACKAGE@@|chromium-browser|g; + s|@@MENUNAME@@|Chromium|g;' \ + chrome/app/resources/manpage.1.in > \ + out/Release/chromium-browser.1 || die + + # Build desktop file; bug #706786 + sed -e 's|@@MENUNAME@@|Chromium|g; + s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; + s|@@PACKAGE@@|chromium-browser|g; + s|\(^Exec=\)/usr/bin/|\1|g;' \ + chrome/installer/linux/common/desktop.template > \ + out/Release/chromium-browser-chromium.desktop || die + + # Build vk_swiftshader_icd.json; bug #827861 + sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ + third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ + out/Release/vk_swiftshader_icd.json || die +} + +src_install() { + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + newexe out/Release/chrome_sandbox chrome-sandbox + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + + doexe out/Release/chromedriver + doexe out/Release/chrome_crashpad_handler + + ozone_auto_session () { + use X && use wayland && ! use headless && echo true || echo false + } + local sedargs=( -e + "s:/usr/lib/:/usr/$(get_libdir)/:g; + s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" + ) + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die + doexe chromium-launcher.sh + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium + + dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver + + # Allow users to override command-line options, bug #357629. + insinto /etc/chromium + newins "${FILESDIR}/chromium.default" "default" + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.bin + doins out/Release/*.pak + + if use bindist; then + # We built libffmpeg as a component library, but we can't distribute it + # with proprietary codec support. Remove it and make a symlink to the requested + # system library. + rm -f out/Release/libffmpeg.so \ + || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" + # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. + einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." + dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ + /usr/$(get_libdir)/chromium-browser/libffmpeg.so + fi + + ( + shopt -s nullglob + local files=(out/Release/*.so out/Release/*.so.[0-9]) + [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" + ) + + # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" + doins out/Release/xdg-{settings,mime} + + if ! use system-icu && ! use headless; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + doins -r out/Release/MEIPreload + + # Install vk_swiftshader_icd.json; bug #827861 + doins out/Release/vk_swiftshader_icd.json + + if [[ -d out/Release/swiftshader ]]; then + insinto "${CHROMIUM_HOME}/swiftshader" + doins out/Release/swiftshader/*.so + fi + + # Install icons + local branding size + for size in 16 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + chromium-browser.png + done + + # Install desktop entry + domenu out/Release/chromium-browser-chromium.desktop + + # Install GNOME default application entry (bug #303100). + insinto /usr/share/gnome-control-center/default-apps + newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml + + # Install manpage; bug #684550 + doman out/Release/chromium-browser.1 + dosym chromium-browser.1 /usr/share/man/man1/chromium.1 + + readme.gentoo_create_doc +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + readme.gentoo_print_elog + + if ! use headless; then + if use vaapi; then + elog "VA-API is disabled by default at runtime. You have to enable it" + elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" + elog "in /etc/chromium/default." + fi + if use screencast; then + elog "Screencast is disabled by default at runtime. Either enable it" + elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" + elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use gtk4; then + elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" + elog "behavior you need to pass --gtk-version=4, e.g. by adding it" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use qt5 && use qt6; then + elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" + elog "environment. To override you need to pass --qt-version=5 or" + elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" + elog "/etc/chromium/default." + fi + fi + + if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then + ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" + ewarn "indicates that the Gentoo handbook was not followed to completion." + ewarn "" + ewarn "Chromium is known to behave unpredictably with this system configuration;" + ewarn "please complete the configuration of this system before logging any bugs." + fi +} diff --git a/www-client/chromium/files/chromium-127-enterprise-companion.patch b/www-client/chromium/files/chromium-127-enterprise-companion.patch new file mode 100644 index 000000000000..76ce131bba3d --- /dev/null +++ b/www-client/chromium/files/chromium-127-enterprise-companion.patch @@ -0,0 +1,44 @@ +From e7d008ff98df2049cce1c4d941b13b320da336c9 Mon Sep 17 00:00:00 2001 +From: Matt Jolly +Date: Mon, 29 Jul 2024 23:42:04 +1000 +Subject: [PATCH] no-op enterprise_companion. + +For some reason this pulls in updater components which breaks +builds on OpenRC systems (or any non-systemd system, really). + +It doesn't seem essential so we'll just not build it. + +Bug: https://bugs.gentoo.org/936673 +Signed-off-by: Matt Jolly +--- a/chrome/enterprise_companion/BUILD.gn ++++ b/chrome/enterprise_companion/BUILD.gn +@@ -60,16 +60,16 @@ static_library("client") { + deps = [ "//mojo/public/cpp/platform" ] + } + +-if (!is_official_build) { +- executable("enterprise_companion") { +- sources = [ "main.cc" ] +- deps = [ ":base" ] +- +- if (is_win) { +- configs += [ "//build/config/win:windowed" ] +- } +- } +-} ++#if (!is_official_build) { ++# executable("enterprise_companion") { ++# sources = [ "main.cc" ] ++# deps = [ ":base" ] ++# ++# if (is_win) { ++# configs += [ "//build/config/win:windowed" ] ++# } ++# } ++#} + + group("all") { + testonly = true +-- +2.45.2 + diff --git a/www-client/chromium/files/chromium-127-updater-systemd.patch b/www-client/chromium/files/chromium-127-updater-systemd.patch new file mode 100644 index 000000000000..57e9029b9378 --- /dev/null +++ b/www-client/chromium/files/chromium-127-updater-systemd.patch @@ -0,0 +1,73 @@ +https://github.com/chromium/chromium/commit/570332aad61afab5d9d88a8438bae53ea28a298a +From: Noah Rose Ledesma +Date: Wed, 31 Jul 2024 17:59:12 +0000 +Subject: [PATCH] Use libs instead of pkg_config for linux deps + +pkg_config can cause builds to fail if the requested packages are not +present, regardless of if the lib is depended upon by the target being +built. + +This issue can be avoided by setting 'libs' instead. I'm not sure why we +didn't do so in the first place. + +Bug: 355967882 +Change-Id: Ie5dc4c03b08d7c1e26458ea143f6dc812b670544 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5749680 +Reviewed-by: Sorin Jianu +Commit-Queue: Noah Rose Ledesma +Cr-Commit-Position: refs/heads/main@{#1335558} +--- a/chrome/updater/BUILD.gn ++++ b/chrome/updater/BUILD.gn +@@ -367,9 +367,10 @@ if (is_win || is_mac || is_linux) { + "update_service_internal_impl_qualifying_linux.cc", + "update_usage_stats_task_linux.cc", + ] +- public_configs = [ +- "linux:libcurl", +- "linux:libsystemd", ++ ++ libs = [ ++ "curl", ++ "systemd", + ] + } + } +@@ -1040,7 +1041,7 @@ if (is_win || is_mac || is_linux) { + + data += [ "//chrome/test/data/updater/updater_qualification_app.crx" ] + data_deps += [ "//chrome/updater/linux:updater_test" ] +- public_configs = [ "linux:libsystemd" ] ++ libs = [ "systemd" ] + } + + if (is_posix) { +--- a/chrome/updater/linux/BUILD.gn ++++ b/chrome/updater/linux/BUILD.gn +@@ -2,7 +2,6 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-import("//build/config/linux/pkg_config.gni") + import("//chrome/updater/zip.gni") + + # This target builds the updater executable and unittests. +@@ -13,18 +12,10 @@ group("linux") { + ] + } + +-pkg_config("libcurl") { +- packages = [ "libcurl" ] +-} +- +-pkg_config("libsystemd") { +- packages = [ "libsystemd" ] +-} +- + source_set("updater_executable") { + sources = [ "main.cc" ] + deps = [ "//chrome/updater:base" ] +- public_configs = [ ":libsystemd" ] ++ libs = [ "systemd" ] + } + + executable("updater") { diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest index 6cc8490137bf..1142aae965d2 100644 --- a/www-client/firefox-bin/Manifest +++ b/www-client/firefox-bin/Manifest @@ -100,107 +100,406 @@ DIST firefox-115.13.0esr-vi.xpi 651765 BLAKE2B 93e864245191507874b83fc34886e7973 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-128.0-ach.xpi 463921 BLAKE2B 016138341e087f6afd53c82e0b33700c20c341491e6b12f444cc7d85aea1f0e08f4bfa7395af5cf888984f57a3fd6a41f5df39fced8267e0bd0388753a1ad994 SHA512 b67378c13ecd5e0c7e570b69c2f267232749ce71c97ad987b3e6b1215b84ff934918d5fccbdefe99dbd5a331917b8d545e9ccc8aad4aba25329231ad357a9612 -DIST firefox-128.0-af.xpi 417369 BLAKE2B 434dd6861e1b378fff90cc704a7cf63b90de4f54d6b8153ad9051beb0aae84c37686c052624b8d38f60cbf6885162142f5f2a126bcf2a238cccf63bc7194dcd5 SHA512 e3ef703a909fa12d944c80aec83c9d8ddf8c49aab18f62c2ebf6f4ad08d17e17b5494b472480a41c510e522994db0afe796259879668bb319c4fab27979e2970 -DIST firefox-128.0-an.xpi 505732 BLAKE2B d8d25160fd99b96cdf051a30ecd1e5aab3a50b22e3f2cf78fc8d3fb6d2405dfb38181aaa894e09d288fbb9f5417f0e4a70832bee1a53d27dda24928db2742933 SHA512 f1c09844a27b803f2b46ff4fd2fb27f2a4cdd6e2527b4bd8574e7a19af408d168ebea58ff830436497e3c768c3023282a24fdbdd23f96cea8bc6d7fdf626a3da -DIST firefox-128.0-ar.xpi 610516 BLAKE2B 0a121e72c5ece69b04d91d8b1aea42603bd266105d7c35dd9ab1dc27ee9523c4e6bc65f1115c6360e3594c7b76e7878ac53ab8d34791deccc3a1ee1c5321c51c SHA512 4244a286d4e4b1444a18246ef0a0c04292e91e4c8ef9b9708ab58eb0ef005902d3654e0712c8c0bffbf4b0f1504acfc2a2694ecced3bcaf544b6701cbdff1775 -DIST firefox-128.0-ast.xpi 496179 BLAKE2B 8f3cb856a27d7224f02178adf69980d37c42259a1aea3fa0879ffe703f8243e6e5b471374e57be41360149527e008db56d343aa8503a8ad23366f72c68cd0974 SHA512 0ec6e85464756c3defab9cdf19d792e4a65fbf12e98e6179fde725a1868be8813ced98c76beb8940d0b41d371b70953270c5eab05edb732d869b1f7465db75f7 -DIST firefox-128.0-az.xpi 490622 BLAKE2B cd88d8bea3e2ca3e8c14c6708c9caece0d3623ee4419e35ad7d974885da13cb9367fb88ab68cb51f43b8ebc354a1061709fd1cece931c71ba547a1773aa28499 SHA512 98a915c0c891d361c16c57b7ebb43650dfc55508ba8bd9e91189b29a3f6be4314309ee97546c8782b688250164c009a4caafd01addeb48c0a002ad8d96758b0d -DIST firefox-128.0-be.xpi 712861 BLAKE2B a80599b0d3cff27e4bccd6246bbbd7ee877995bde8a3232b3ed2def5ed593690671a5cd05bae343469eedd40747933440eb4d8e713dcbd7a3c8b04eef06987bb SHA512 9d745557d57e1cc0f2ab57f5e57c152ede1df78bce322180bbacd42996658cabde09e773b9f52e1ec4d1f69117ccebd549b1364a22de6a87f3eba5b48e9e820c -DIST firefox-128.0-bg.xpi 603668 BLAKE2B 6615e062bd290606e917bd2643ba98afc3d25e0b52be0be6378b86b48b8a9c293e0d51a3ad46c8ead0b93b0c16fb469f28e81c865a9df5e2b0371c714d21abee SHA512 83ad4d590ce2fe9f738db9ef5643a82223f4053d5bacc6dc03813cc5d92234ba9b435ded3fff8a92ca42a3ecf77a305445dc3c3a24ff3f052975d0cd88851847 -DIST firefox-128.0-bn.xpi 581366 BLAKE2B 02a8b39df8d69ad3e7c1c010d0da12fd52850b1abd02c1a2f8fcfc6fed6b0c8b221b804e513a266c64b1b8fcc870abc317d4e298486a42447ec7543964519842 SHA512 e552017471b93571b2a1589dfbe950733a8a7880b2570b1581c9b4099d382e99dc558e10b6516c13fc2354abf1a9ba612ce131437529a7257cd10e030adeba4b -DIST firefox-128.0-br.xpi 587967 BLAKE2B 681dd47acd14daf1221c1c3ad832dc17ffdcf9fc7619d31c86b319ddafd96ebd1f8b1175095c881c951291b940c74cb9a2f84bdd4ea617fe053942eba9b09e97 SHA512 476aa7e2c32338e3304aaf7848b6e25353912cc39c97ba86024bf32b89c71b0d550359bd4092aa99866dbdbb09c6fe5ea4fa6e6c4aec335db381344b203989ac -DIST firefox-128.0-bs.xpi 501822 BLAKE2B 60aaf21e9f214a4d3fd791343abd9fa309c4a47b275c18ec9c7b0b65f09add541ae16fea4f382d334671e9193cd1aca932a14d22872889dea46d27dd7b361500 SHA512 90f7540b85cdf8b094150ff73994acc738a1ae60762fc97af90600c886d80651ca12cb778d2dc2e2f3cd7c120dbb1fbf6ce37ca04168f7a4c6eb68ae9fa04f7d -DIST firefox-128.0-ca-valencia.xpi 546032 BLAKE2B 36c61ac442037376329194ad5cd0357f2d69b3b77ada0e10100d63a6532ebc1b6fa57d9121debec59d8db540f9de8cc46a47e352d6524815c957dcbbf681b417 SHA512 e1d5cde5bf3b23b864a4862134de08f0cb46195aa487f3da54ade878c11e67e6f19a521db37803fd7ce7dbaa2e56f4fa603778065ff3ae5ee78bc687f49c9c94 -DIST firefox-128.0-ca.xpi 595961 BLAKE2B cec1470d3deffb3b1f9205b1ccdf43402aeea6cc6fd24e9527a1856f3ddf58d4b58b217131359d7ddaff4e0db92b42428731d3f864429084adadefe2365bd44b SHA512 824040406afc6282be2ef89154c221852aba6ca94b485389e80faaf9c227f8c310b22981629710893a25e8b8f55787dc1362b0cabe5a8e15007bd18f984a96ec -DIST firefox-128.0-cak.xpi 592927 BLAKE2B ed66e64503f6e075074be84428c0641945efc9a585664aaa49ab01d126ada34f7839f2ffcdae5c04bc74998593b170ec5bab1ebd25fef917a2a1b22ddd1f6aa6 SHA512 8f6e7420c82e29e02d009b88e2d13c6b523d974a220da112895a22b606b7120548fd805e33b76d9d35c941b9c1525bcaf1adc685f90f7281241977567b3991e9 -DIST firefox-128.0-cs.xpi 657124 BLAKE2B 4bbc7b1964229a8117631f2450fed9a8685ceb8f69fc7b793b387c2542ad3b7f690c5e08a4abdbeb78f54c9d14226b40edffa22fef23c4f2981b33da4a027c62 SHA512 62a7d271d6ae0e09e2f61b84c5caf604261af40c552dca4b97638a365c926b6da861239e6f1d059bc27fa1f7b1af48a9376db09ea203c37a28d378de9b14b7b9 -DIST firefox-128.0-cy.xpi 622268 BLAKE2B 73fb18569ad98825dfaed13bc7b76c1bcb014bc2407bb9e5fdcef5b66b97b2ca1dbce3dd9d6d54443d563ec564c41dfe189fc7835c23442c0aea7b0a48149477 SHA512 d9e804e5bc0dbbaa0d24e5fc6f65a9eb730523c2dabae51908c033dd23d4a6a642867a12ef384de1fd9428b1c7ee2ee56c24b552753c15ccdc2d5d013959005e -DIST firefox-128.0-da.xpi 610709 BLAKE2B 5a1b63d36c88a50ee5c58cd14bc2a6d2b86140357e31062239d1d786fce188263a7d62d39da10ee2adf5d92f99b406a6f92f6282922a24245868e41c03f658f5 SHA512 a0e60cf276ec021ff76316c206a94d599b3c6b7d1cf4533a5e8cb0948db04762e641282b8c18cbe4cdc725a19b7d1e9d37c98f55bd7c47fe4b45b6271ae76ed2 -DIST firefox-128.0-de.xpi 631918 BLAKE2B f7169c465c1efe2558e2b30afe87f32e5e61d114bd3e1a12c2c2d7f2aa96fddca8e60bcb34bbc1b62ad92d292563c130af1dc063199e215071a10acb79d22f93 SHA512 b4debd554dc591657857dd7952695b49dfc2b9b190dd1c6a5dd4c3e74cebe3a36863ef5c07c1137389c22c19faa2c67d534798860877d781fdc06ab4c5dadb55 -DIST firefox-128.0-dsb.xpi 648454 BLAKE2B 6b22831d5aaa242a9ae04a90f704424a8fec239e9757b2b5f0718e84719821e946bdb70992865e9b11ef9f996848802217108ffbb475c3966152962ee0ea2f4b SHA512 8dcf4bbb8b541c1b47ce72a599de945f2bdcb358d9a87ccc48dc18a0bc0d6992d5f095b7c1821e7e0c9f9da5bbfbe3516522101c168d34f08a1be44a9d6a7581 -DIST firefox-128.0-el.xpi 730463 BLAKE2B 0f2e15a91ea01451dba9f3454d64518974bcc80aac227e7794e2739763333499739fe4afd403b7ef9c450e34db68d555f5910efaac02c34ae8b94ba9f67662cb SHA512 723d9826c76407f8e82ef8cb1fb6009f43ee3fb26976bddd30c8195b0425cc1e17bc64d0d9c4cac0ba05091c9062fe982c6ded251de2978fbaf5ed1f3b29ebe4 -DIST firefox-128.0-en-CA.xpi 581050 BLAKE2B 8f20e6923ba2ee9394dd9e53bc7c1ae1130f7434f491c91d4c46e0277fe7d47fe20f497f19dac29acb0b673be09c901ab76a140cbccb6c9d3e887c8e15e9ddec SHA512 c9daccf0344fc25483a76885e87d624406fa3e7398f8770f7460650faa9db5ed854876719f66ad254ca9aaeee97a6fc3f7537a08c33cbb0294c452077680d668 -DIST firefox-128.0-en-GB.xpi 583199 BLAKE2B 74ec322c0ec6d881e5446776bf189c4749e72d4fccbdb3af48e3efc3c3a2204a0ed862635998f83ee08ad59132b9f69a0c378d0a6642c36e7fb2828f65c7f664 SHA512 2b304fcd92652afb9627130ffff693269aeb989f4b716858a0042ec2b6d315e870d9e2e3b8892f7c1e50dafcaef2c341bb5405844f74e6f8cac0eb14fc72ffaf -DIST firefox-128.0-eo.xpi 613599 BLAKE2B b57b761f3941d317082c755babe1b37c02e1ebb6a884f2264929271a54e4788e31c47d2b0330634dba545362c535b4f8c3b6eb53dadb93ef72496ddc21703ee3 SHA512 ffd3515adff03b94d1adf6b926a908f270f88170184c799d0a15281577973d34f33a6f333daf51ef45a762c87cecc1a1b592b07311e51cbce8646d0c3ff0c774 -DIST firefox-128.0-es-AR.xpi 625743 BLAKE2B f218e24beb19cfe71042d12c7b21fb0dd6c6143f4113f658ec71fd5704fb27ad6e60e9467cf45b9053ac6ca711d86183a5b958cf3bbabc5a26b94cf3c72a4cf7 SHA512 1a792b556f9a6f4d2804605722c84eee98df5b2700dc877ffed5a4df60d00fa09293aeca863cfa9ac61e8e99e15c98576e1839fa37f02578a021cae79699f382 -DIST firefox-128.0-es-CL.xpi 625032 BLAKE2B b5fde2d84c0054f7fb90310b3b7d5dc10f97484f400eaf9767b0687775fea92882686ac0332e43dbdb7ad8a329e119033c39d0a3dafc807e45a345d4dc689e2a SHA512 f84722b92be1b26fd26aea20c9361a12a3600d0e1614a330ebedea85b4e0562f788ea474e39e0bdbb1a2d243274f760a7f4970f9e7cd80e271a9944ee5751322 -DIST firefox-128.0-es-ES.xpi 619471 BLAKE2B 0386ace5612e79918a3bc397e50b8ffa3d4d38296cbdb232afefc0e54f540fd760069c6ef9ac97770d948a2aa1949efc922ad8c7f7b6adc4cf488afc8980fbc8 SHA512 2b00a5145cfc0785d63dad9ca34a5e46363b93d780b2a22cab1b884cc3b097ecd1a53572bf09b27706cb57a57174608a1bf67a907850a4efbd68c6aaeed5439e -DIST firefox-128.0-es-MX.xpi 595787 BLAKE2B eb08bd8898552977a2a2ca4c9c988eba81838dbf3dda36de97a249d12e9d4cd590268d49379232dadf74e31ccadc410a25941ffc5117568802cea0e00e37f28c SHA512 4424c8af301ccda624b2e7d7bece4d2a4e4f7527d37df16fbad12eb8404b4029f452d203e2c83a886738111b26493bb711c696ec9deaf8856b337d59af751aa5 -DIST firefox-128.0-et.xpi 539386 BLAKE2B 0cfc855d72fefd52b4512db4c31cffab2d1dd0fdab14d09fbd18078e053eeaabff8066449319134d90557ab06f9091eca4b737780d16753c9b92572e7f361611 SHA512 7abf688f471efdfee82b542a65714dafe454c9c16f4b870f575f7bd84fd1be28c93b03d613868ac839cc167162a9eb84cca2a92e439a0b02c172b0c047002a14 -DIST firefox-128.0-eu.xpi 596447 BLAKE2B 934c74c1ba8778f96569e3518083acf7ae61aa5d4a12906d8e35ae0f8ba18022707816d0b504c8278398b3742edc0f566a280095a2fc74f07a10fc8d68214810 SHA512 74a7f72fe904b94f61960f3a5cc949c28fb504c7de2163caab1950a3c90ef2834a416f04f4d00e3b58ef11a9cd0fd3aba0b89f9f06cda24a4b81a45a3ad0b87d -DIST firefox-128.0-fa.xpi 589848 BLAKE2B be6ee30128b376cc4713abdf10dd8ca699f5968ba56a886be73b4f57633427cad50282006675c5962623caba8637668fb2253adbacb3e03199ae156869c18117 SHA512 cd6863a691e3c8a6fb6bf82a7c0b6deb60d6ed4ff921e0eef256008162533b932dfde2bba479f00061f8d1d98fc065a6fbfcf9b99a06ca1ff0736063cb7aabb1 -DIST firefox-128.0-ff.xpi 475894 BLAKE2B 0858593e5bab9b6e5508ba2444704bafa754c60ee352d25042498db72f51bc48a8b6bbb66b9f9f58d362030cc1c83342cd3f03e2c0764c432aac5c95117bfcef SHA512 f4e3249bc16c5d07958fbdde87b1bbfa244e61f58bfbf0db6c74693ffe01f9046a413667850b28fe5e632e5146b153625d25e5bc3486fe0da1d15fbc458b882e -DIST firefox-128.0-fi.xpi 605631 BLAKE2B 451255bb1fdc8c44eb7745b6279ba1ce303840043a8a16feb63ebd2f1d604ddb85192cf00d7ad4e1ca6d8bdea9a226614d85e392d83c9656bda544812f01ac83 SHA512 009df840b731e5bc4e9281153384451fa9e0fda32738324fa29355634587c1c3501d857ab40df6d13767dbd5156e055ee76c0877769aa214a8fd898e7eb4d7c4 -DIST firefox-128.0-fr.xpi 639018 BLAKE2B e0cc4d4b97a158c867838769ef88e74372a97720141ea9e1a9f6e525bb7337a104cf071b73b5c88d4b2d81a87a4e96f163f461fd6e1bfacc8101104c17dbccaa SHA512 c2ddbfe62b5326e4a9742d0c21f82015a444b4135336f99477721596c6b53a15f7cef35622e454cf3df42dba07b4a90c6391eaab09d3888e0914c6fc9ea56111 -DIST firefox-128.0-fy-NL.xpi 621390 BLAKE2B 148b842ddaac3c71f1cf6276df11e41b3adc66692a640901abb73b9936a2f9d7267df3e0d0331cca6552db93f61745574da42b5ca64ac42f1fbe9104707b5fc2 SHA512 de7aeb47e3bbb574d9dcc9946058efe0bc950ce79512fbfc1a9f4ddd8ed9918fdaa3a49c8ce15ab4618629ec2174e276e11b7caa12d19119389eb3019d167e24 -DIST firefox-128.0-ga-IE.xpi 470833 BLAKE2B d3bbcf15bcddfa692bbf4eba085a81ad4ed91fcea53e644c076c2ea79e96723447a0966d86865c57827024b88bc3d990d6e19966d277701d69015f565b57740e SHA512 5b5843ba31342bc659ecbacf4694b064ae90511b780c194d533701b34859d672cdd535796a361dbc3fa395a60947c179aafee950002cb340dc6a92cca9026941 -DIST firefox-128.0-gd.xpi 596427 BLAKE2B b3603e7147e3a021053f0d9d07d77122264dc4b296f478609cefd5644ebb00e224da8ad328e342723add321c344f1e7bafcde0c43e1775d40d7274396fab6f01 SHA512 5c033afe75120fe5bf4e0ab039c1c2deda81eeb5473bb7366ab236ab676f380452becffaa612c093ea1950e150031f9b7dfb7ef268cd12a7a9986ed967e5ce92 -DIST firefox-128.0-gl.xpi 603933 BLAKE2B 1766c5b75d04875e355e626930defdddd2b556fa425bef3c3072922199090385b8512819dc1e51da7180e459fadce338f48c1daeb7a3d41ad68c6cef1ec2f0a7 SHA512 d3474013cc3cf4b1df6d4a610fedb00c9cb866f463b0293c48f916950cbd50910f363c710c825835a6969ee21d8342db0a83a8047b646aac0542b78f618b8378 -DIST firefox-128.0-gn.xpi 636448 BLAKE2B 6ca741bf7c0a6b47f0ebf65a603ea8709da6fd3d26c0e3b6e09f5eeff330b2f11eeea67965d5f089a1701cdb7f6eac3b7d4202f1f9974f94f52a08af7454fb1c SHA512 a9eea16028f9389a4850bf525cc782c8dbe20785781ebb9d7a07c8b10274ac4bc1e87412d2abfde95bc6ff57ea5a0cc72fb8cb2ba14ae06d154486851a36d1f8 -DIST firefox-128.0-gu-IN.xpi 527179 BLAKE2B 67c2c09cd7b3c714404ed31708aaf04fcdb3ee12274b003aece748973751306064c00e25702a2180385efd69167a67a98a53d54f3d3b6db358946b2054a8ddb4 SHA512 25aa0dcf80c78aaa82c6d7d2d7462565ab51376bcf6852078757fe69e5472dbf0d0440d56192a042323c3d06bf9a0f7af0c49d24b0a0a2a6b2d5af25087f8a33 -DIST firefox-128.0-he.xpi 629896 BLAKE2B 87677a10c429ed51a2c7f4dec54189a8c323f7333730ee65e83f8c0afa4b47034f06057cf32902c4734c5ecd62ab5bf9ea4a3a9147a3043fc6845358b13e622c SHA512 2648eb80a505a9e11cbab14c978dfcf74fe80479e45d161ca2660dc60b16d239d27688021fb90026965f3ede05295eb0b4fbf8fc2465c85267cbd9f4e7596003 -DIST firefox-128.0-hi-IN.xpi 566639 BLAKE2B 5664464e903e7ca880bd466f30c682c5e32dcee3c0ae28154c63e9457fc406b0ff84d5397ed96d131a9945de930a1168f3f1cca38112c0406dc7dd26c57ceade SHA512 bfa5e59944ebd74346c21807ffbcd2e0ac6a28efde6f6ba3d2cc34f136c034d23f2cc0f1665dd3c7e12221a84f61182b59fd3d4fb67bc6e0e7f54f27c7877565 -DIST firefox-128.0-hr.xpi 556613 BLAKE2B e7ce108af8b57c249bd16a705157297eb4b6c0a08b9af3acf2813e7d6123e8573294e0d3b69a733008334fda53c57f13bb57a5732548e586f5c5864a1051ed05 SHA512 a8af34fe1f4999562751ad9253c5e36c88dc337a115e14f69957258ed22757127acaa6f2cf30d34406554852cc962066bab60c241384d254c65e7f781a684463 -DIST firefox-128.0-hsb.xpi 644493 BLAKE2B 1af31e45908d1eaf7a6864c876f090bb202a2b61372c18ee33b2445984724454d8cf13d32934866a94a09253459f28e02da774868b7d4cebac319f0548255956 SHA512 e11d7abbe73ac59992746aa230ac47868b7da8de3b0a7e3ba29bc7a589c97720b1e1012e47d24b91c215e21dda80282bc28d6fbe5cf7a37ea66e079b753db016 -DIST firefox-128.0-hu.xpi 647705 BLAKE2B 1aaa5da0508e8d0883cd53e58cb5ad53dc137d4dc82a1eb84f30ed875294b64f0c53a4cc461e14f9940e493c9b9a89fe049220b85734cfa7e565bd0294fd3631 SHA512 d26aa2dc2688fdfae43f9fd706ee762c22c69d28b96b90c783ae70ba7209bcfe354ca21a9502c54b1153bcce3b7a4f2bdb125be3555ad56b1c1514ed7b22e66f -DIST firefox-128.0-hy-AM.xpi 651430 BLAKE2B 22dab366d5e9d1d953c4cbe9e6732da640994130d4c4ac1b11d651d294528dc194e5e34867d0e637623ba9cd88c9bb912bbfbcd2c960cc52acedbbedecc336da SHA512 96a30fb4d88fdcc9ad93df1a99213f0651aa194ee50b02abf339dd062fb57de8490c3646104d5e7d877ab581e6475bf5beb36a37f1723e8a53bec91c5ce255c7 -DIST firefox-128.0-ia.xpi 608974 BLAKE2B b550056e980d29436b3cdc62caf29cdc827255e6bb3d46af683bd2ad334688781dbbe9a853dab9e00f9b6a538ecf215edd25646daf00fdf8ee0e394df0653f68 SHA512 e05eaf1681ddb23989c039e6e01b370022937babc2aa59b7f6c59901cf22f91e2fe99dc19579b2a8f27485712586b2f73ae9078108ad5a09095be4f7a4eba49e -DIST firefox-128.0-id.xpi 580043 BLAKE2B 03e0b9a6845ba89d4149bf9ad35fbf1067c49a1c22e95085c23e537bca73174cf78564c056bb458c8fad66b752a73252ccbab9fab5f8a6e79f3925b2729c4f82 SHA512 9b517ab3ef018452e4df9ef4547bd3e4aaff194ff452bd32f3b0f42d2ccd1af6963e93603c82b452055abbbe54e85276d0c664dcedbbbe26090d4fca674cba9d -DIST firefox-128.0-is.xpi 615187 BLAKE2B 327ad1c06a9c327b676683d6d12e509f5d10bd0a06bec3337b3a0ec7ce907e4938e8bfaa4459be3a061e888672fdd740aa39c9c06620d651694bf829ce18d201 SHA512 2b84332c4d8b44b94dd8ca6c834f85efceffcbc4a84cc227e77a2df4ac9652396c577402240e8e0ae295637a05a4dbda2631a73fedcb43b9d607948292fbc40c -DIST firefox-128.0-it.xpi 565256 BLAKE2B 931784ba2193258a3b50a62d7f6bea4655c8d4d1edd2272706fb1a1a7faff133047fb9dadee4b204f98d040b25069c378dd47ec0e6bfba11661301ff14993d2a SHA512 8c6f1656d0f5a7df709d6c16cf830e0c4b00ced4faa4ef964fc6a13017c2a0c660f5ede974f278197635ac0904d520ddc95864553850846432793070320e40a4 -DIST firefox-128.0-ja.xpi 675101 BLAKE2B 464a570817d4ec5cd5f2177350c8421aaa604fa80122877cc1f53da6875191b7f5b2daf495366af03a3efa440aff0391e822d14f573c1c7fc40c615c50b05efe SHA512 24afd1abdfa5e867b86feabb45d892b6eba306588d92055808b80e9e8e52a25b8521f2f6a0e2517f1dda1cf1846c346dba26e7b9beaf1971dfb23ded3e2b3ef4 -DIST firefox-128.0-ka.xpi 660538 BLAKE2B 831345cef7849f5bc87f67127e1635a9e1db1d527f446db4d5c53316f180af5350cb968a35a312da82ebc7a0b41618137435d3c103cd21ddb9074d2ca628e4ab SHA512 3b6acb3a0c94ca52ec498364d85cae5b0f7b9f42278db188ed9c8823aed01ad86f74cfe1629f02337853371a916503590f95c0648e6b7f6beb5831fdf0ead4b5 -DIST firefox-128.0-kab.xpi 607380 BLAKE2B 5e7c182e4d581660e2ce5ce27160e8e7bb49347e829ff4c673051fb37f1fbe459cb4024326029de7dce68f4776071c5da1e4aaa31f35d1bbab2cc8800a4c53bb SHA512 e4feebe26efb0426a8f9ba4d80b5d3cd8d221eca9f32003d125d1d966d38639953ac51638375ff855a0c5441410220b63fca7bd624c14390bb749a43d185c250 -DIST firefox-128.0-kk.xpi 705161 BLAKE2B 26c218d8e3656e79bc528319fc075b97bc8f1bfe4526410a70d6ef5010f5eb2088e972a17e125ce23efb733ea381399bfaf2c5c7cf8fbe9946e37ea53c518a53 SHA512 ba6205e1f1f2c1e3ab6d9e0b059634d4bbd0fbb97091faa357a2174b176f4500624034cffc1da35f643f08aca8c982496c255fed37703a2689f5b1b113535259 -DIST firefox-128.0-km.xpi 525722 BLAKE2B dba1383d444e847ff1fce3c6a5e614799176f7bde0368f3fce9d5a8de4ffd9f1b9047340ee559aafb218d83a2af61b2467257c8bab10a847722481cf90a55ba0 SHA512 529b887dff551c687166794a575fa55074663d1ab029c10b429cbfe4e98350f8bc8990b2f7d525936940ea0bf6a2ec26a3b7df3e11ccaadc587c51b4e73c2c1a -DIST firefox-128.0-kn.xpi 491095 BLAKE2B 356fdd4be841774eb8e97d92ce5ee293592bc86d54d88f3acfe4e1f91be491bf5751787c2490b71a193152e9025bc0cabd00ba44a3b52fbc7af7d1d322191ef8 SHA512 1988c5cc58726533dc54fd2db5959f1abfadd36ebfcf2fb92fae5c00401f46d96b8e0afac1997ecb2db8fa50ba685cb4e74d69478068a6bf3151963a1197afe8 -DIST firefox-128.0-ko.xpi 659215 BLAKE2B e654e50b94ea63ba518ec089906582e7aca1d8a75e696627f9e69cb78ef3f5f1fc24155d58984c4266ac0f21bcfeb763b796db3bf65e3e51b7fbede20e3c0e44 SHA512 a7d2729d973ef69d253431ee2f08e889f8a35c3b8c550e1944eab06ab2ede4f222de983f385184a4f6fbda3310a50ff1c48f3f2c4c99a3e5d3850614e6d0e425 -DIST firefox-128.0-lij.xpi 483940 BLAKE2B 2c66f9e5c397b619ea3d0128e64aedba7df802e569370ee688a31f7b706fd73e73af91c74e0c6b4366b99a781377d3cf9add7f467ed9e5e177a99f907b30f036 SHA512 46511fea4ced3315fc26b41dd55beacdc480bb771d7f63d9a307ed8574a943fbd49a18bd038a39f32f167ff223b0daecbbc568e05ceb23f838609ed351f6da07 -DIST firefox-128.0-lt.xpi 572515 BLAKE2B 3b4dfa0fb0928cc08776fa3096f8ae16b8c72771bd636b9117cc53d571c0fb2973cb5ec98c6b1ed16866fd2a8102d5937bacb73cb0f4413048c21f2116d44397 SHA512 42b31e2a95b5c6a0e38bd9916bb7941eabb32ffaa2651aa13df4276bc36f3176b3f656709484e72f975dabb1dfaf2643d5a1475eef634bcfc2e345ae489a7109 -DIST firefox-128.0-lv.xpi 573655 BLAKE2B a3e25cfd6ab234ef9561220d532e4bd69aadb0cdbebc63144b8a7cfa92265c3abe9712ece40032cceddb4a917eda8b2cbb1574471d7aa0c752c4f15c7fe7328f SHA512 12aa8518c317b124a231423cd0360a7502a55676db931532945187bb6f580887e86101b62a9ec18e21afcf404ab4d5a71b7320a4463684ca52dd5e6d6058c178 -DIST firefox-128.0-mk.xpi 493700 BLAKE2B 9fbcc70dd96de86ba285db4ea487d04e8f30be0126d12193fc0b47e8620a37adb7c89439523c2ba2dbdf091a4be57295d34aab19a8343da388075a482a0cee0a SHA512 ece5ea80a73f3662fb9119abefbfea0527ad5d4d989da36380f99e01d138eb1a1d1b3858588b807a5e866e51596e1face331c486b42234f3439456e7f62e0443 -DIST firefox-128.0-mr.xpi 531935 BLAKE2B 26f54771d851058a5d8ff39ca2d49f26e5829909a5360b183896ae41cf242efff21b4e316b370543d0d4bfab2c2ab82c723f9383b037186cd4f6d15be4be0894 SHA512 397cedbf6abbe8bfb755e29a0c32a58ddd6ad0fbc352be179b4160b7301ee1d4f52e0a129ac5baf061543f79d06042360b92b29edfa96f4cd64ed75b61c65341 -DIST firefox-128.0-ms.xpi 449580 BLAKE2B a7310ce8c170f512a922dec9b8aa416f4257ef56cbf35e3970faf9e427615506ed5fcba8a9a207ed3143193931132cdc9a5d98b9eb14b72013ec8c2133287b90 SHA512 6979122e608ae629fb95b215c86137d7f428a9c0e2fdfe279bd0fe51e6e37646c73c59abf78e0c6723495abbb55e1fe3bc088b97e62ad18a22a3122a51e21fc5 -DIST firefox-128.0-my.xpi 518482 BLAKE2B 18c6aec8b327b1b1c4fec03a6a773b55a0eb32016e625bc61d616c48feb9044a950e0aa6041e98d44c7464708e7fca45f5f55d83e0e3a6c7e3636848b93c676d SHA512 1fc374db949908f877170a9933358a854fef3df6e77b6acf5d1d9cfb398a69874ae3823962f88c47c92813de2a95311960a350abb8c11f32922a4570da3424fc -DIST firefox-128.0-nb-NO.xpi 606490 BLAKE2B 08aada502a1fa02fb2d97186712b79ef1ae13ef8996f43b04be5c6823ce85d878000fe294d40dfcead9f4f116bb1827c02003986d965c0c5bb5f72a700349e42 SHA512 328d53604251ac54b252c38b3242735467704c75c82809a8acfaeeb5f6e6977b3211a24ab0af6e93f2f71e0043b54e7bcc20b000d94ad29416191827c04f694b -DIST firefox-128.0-ne-NP.xpi 510771 BLAKE2B c61b0f643f321646f8ce7693914402bb0c68572fa1a55d3d918d6dffae3873df6f348f6782609d385ae84bff47e210112f1d330f8b87db3a234e6bec6125fe73 SHA512 89e2e34aa8441a8455304fd909308d901f467bd7b54aa297ae511ca0102bae41f6608e3336b099f4a2a0f2d9e54e9bee76e30d2eebfa5f5f7f1e8303f0956954 -DIST firefox-128.0-nl.xpi 615102 BLAKE2B 060719c32c1cc6abb3d374ef2485257f948357236248125a8c7e53718ab233c60e7beeb7a85d49260f7dab329e8daab7256bc78b3a54aa8fb87db6473cfc0e5a SHA512 caa0828667e8a43cd3987f31ba137545640f7ab714d39fe94cecae4369d180158246db7f91f463a1b6eb8ce79ef1d02a42db4590f8afbfb4ed362cd313e5e464 -DIST firefox-128.0-nn-NO.xpi 608951 BLAKE2B 4a1cff01fe60efeb1165ec2da737c1e21956a4bc5160086891922f208614ed1921bf3148d2ec418863a9f5bb484962389155a48fc0418d0ac9bf4dd5231d1bdd SHA512 cda0d637fbe71760fcf73c460defeed0072c1d5b2c4e531bf5d42940d7491bfd1da7cb5c889e859425a50e48abc5a965d8aa6391d8cc35fa08956f17fcae993c -DIST firefox-128.0-oc.xpi 611284 BLAKE2B 85c6e71264b071d1441b23db0519dfaa3720c2e6853f21faabbb25aef9e7d312aebb33cd42487bc455b5fba91e73d157e6bf34f622439c724a14c0053061d692 SHA512 7f808489d938ee33e76c5bb573247c500ac63f9bc5ebc400128a19907e549802a0999fdbb8116e4ebb3445d32c34ed2312413726cac461fe898e1bd7e733f1d9 -DIST firefox-128.0-pa-IN.xpi 690605 BLAKE2B 8f5b22904d07e1664330f61bc1bab04c5159234afd576c4dea46343f7d2e2ec8dc9775aad5abd907d9710aa7d8f3a39545f6d84df3656274ac03b42cd437654b SHA512 e6ef3c55b34921fd14c82da2f1aadf26e7a8521a617cb6af8ad2217107b8402afe95de8d70c1832f8f3ca6bdab290f1ed60cc174c2717f941c90bc72bc41dbc1 -DIST firefox-128.0-pl.xpi 635626 BLAKE2B b1ce0e6101a6347df61181200dfda9c64401e5768b6d38644a344535aef156aad3be3eaa3b0c805383891d8cabb83b32126e5f66f45972fb7112da5dbbfb137f SHA512 5d81ece8da283acca3616c5f6bce8e6b4b3b08ae3d588072fbf4a7335b030e941aaf66d62654a6fbeae36d9fa1ffc04918f816b82d3ed71e1191cfc2d4b4942d -DIST firefox-128.0-pt-BR.xpi 619824 BLAKE2B f4c17660ac81962ef908182d784addc1f592db337409dfc6dc645c1f5c7c7e9c505ce077838bfb4315a1bc249c3404983de256ef2449caaef73515fbc2f13ece SHA512 a1b8d0f7b81a2323db19098d2f9626ef4c61930deab6ea105d0f66829f7b058cd0e595c3097756779df4ee150100ca9a4d06e2274edc203973294b1ce7238359 -DIST firefox-128.0-pt-PT.xpi 626034 BLAKE2B cd2d7f68b58ebb295d2b7b25729e9c589871b0ad80f10e55d99d260c3e64171ed2be33095a3565e854ffa0ac7e220505058f902a6909b0a8324173803df88a0d SHA512 1f30508b45a5cfeb5383a069c35cd01cfa2339858eb269cab085a4e19532681511c14b81fcdcf1c2e0b80420dbb18ea2ad235aca46d53423d162086b3916f2eb -DIST firefox-128.0-rm.xpi 615679 BLAKE2B d9857a9a9b9efdd1d1bce1c5d9eeb456d5cb36cf66472362ffdef5af4fc340adfef5f998fcdfa9010a1c494a591560557eb1a65e3829125375c78c21c40f97e3 SHA512 c55632e4079187baff1dd985f98074a17639672959724495582a33d7b545cd3d1f4039022c35d09815a38a62fdf8d1243c08cc0d9b60601f80a6e6a9ea1d4cb2 -DIST firefox-128.0-ro.xpi 549650 BLAKE2B 3cf57fbe58a1f8675b7b04ad4675a499b9d0cb05bd283b2e31767684bdc8f709e81618b53afbdb1fb9400dbcca8a9f2c2eaa165eac8147bea35f9ad04b223fad SHA512 eef8bed22d6f7c43e7e613e019d1c61f045dffcacf78ee80a12b7976227c46778eb8814e3a89c2a9a4be9ba355f6aeba1c2d389f5ca0dfdf33129427b43f3590 -DIST firefox-128.0-ru.xpi 717691 BLAKE2B ed73f89b7d576d73a1a28e714b40d313a3810315afdeaad90f6ca419a6b7e1508d618bc44fbc945c66c7721d632b427490f1e7aa56d7bb6ee5697ef453be1268 SHA512 189e6e0af8fbe921599409e7dee9a61cc21d998d4776fa7b73f145723244b4598418a35d62f18b2c543d38ec6f372365d64fc73a36fa339264a25a0fcc4212c0 -DIST firefox-128.0-sco.xpi 511148 BLAKE2B 20306a0c5cd573797a5978817a9724e30983f4c5d0bd2a5cd89ce25a5675ac75957d00f314fad4bddfae6218d5591e29c0b866a87a1fb9dac71c4e53b28e72c9 SHA512 33ba113d7300ba9308c3dae216a9544083f22aa754997025151ad560083b3832b77b243f912ea9b069d7ee0747305df57294b07affb047dc90319132bb34c67d -DIST firefox-128.0-si.xpi 606047 BLAKE2B b54752f3cd674e9b7761a94c81ba4b59157a13c07822f5272e94eab58763d734db6c598804e237ad9ff1311e06e85bd96447960f8135f97e03a0c9e5469bff4a SHA512 e6ec86b16c9ee4da0993abbe5a7e9bda90baa76aa539e3b1318cce433896381dddf9d874a77f800bd93cc083cca422e3ae4672b17100b1ffabc9c52cea178149 -DIST firefox-128.0-sk.xpi 649995 BLAKE2B 363f8507927cb7f2372fa51b4391030bea837df26bfbd0265daaa26196e7b85e01cda39d039f1832736e3d52775a736805d04792a16f430bf326cf99534702eb SHA512 90bb5724c474e33513f4047f3a478f2f74cfe6f8f5a565edf40bad5a4e4e227255401c10e670a2db134950f824ac573dfc927bfe7121321b8ca5807571ecb066 -DIST firefox-128.0-skr.xpi 707175 BLAKE2B 94deb377fd0ccb676865c8a72c44fac04af6a8ed1030ff3328ae69aa95a548e346801f7f8467bffccc3815dca162197023b689a021fe92e10bc4d009befa4daa SHA512 972635c3ab85f4a93c1cc6bedc9bf1d4c4aa6650c80b5d74fea59efe13df272bfffe7a24bd247ec15d46373d1cf7d95056c68a5568b37aafa31d97e98ba31b75 -DIST firefox-128.0-sl.xpi 615568 BLAKE2B 9284277640e177d7f209b82e4b00d733dca4a75618548c0144458f2b072720e270958bcc81203e9be678d14bca203618a8ad1fb90661b3d2d2b10d55412c7df7 SHA512 123648ba73f740d65535d93bb2ee8c242bc657936338ce65a6db7743c595570f5b96aa95b52518134922527ccc7d778a1239706d7086d0ac26328b48c61fdda3 -DIST firefox-128.0-son.xpi 416260 BLAKE2B 92595a58ae205d1619181fae205b3a7d9f661c6c6564000198c9399a9aa4103c4e5090e7a05d644eb9b5cf2db7db4d6417fdec3f56bb6657992ecb0a89cd6cf9 SHA512 02e64b150e475b765bd4da5045e487567ade0d9ad3efbf8ca953a6d575dfd2154d3889b3b3252ac6c016b3be977ae05d617c4342b51ea5d0fe90014d7dfeea53 -DIST firefox-128.0-sq.xpi 635525 BLAKE2B 4e4bac7617e8bba1906be9f056ea3fddf1dcf1dbde11074c9202de30b41282f1415ab3b55709ab1499d67f38ad26be78d165638d07779268f8dcb129a7ded324 SHA512 8a6e25535991f9c2db6011f22af25c7ebcc721b9b531bccfc87fadce54cfa60d8945a1b707f14d0cd11679089558ca87b37e97d8d167f14fbf4d8127d674d071 -DIST firefox-128.0-sr.xpi 639179 BLAKE2B 7afc26f9af6e028a2199e9092a1291c93a327baa278ac547be39e82135de55ea001c07073026a2c2153e65b11991c355e649b66271de100b156bf78bb14580f6 SHA512 5094e5db62d2a022c7781166168162ec260cc31963038b7a07f35462c96c8f44b177870b94da6116536e36c0628e96286a011a528e2f43d2d1a0c41ce4f4b0d0 -DIST firefox-128.0-sv-SE.xpi 616852 BLAKE2B 5f82acfbf78ecbe2df0492b6a741334207e7d950050bc7c5faa0ce78579eeb3fda3108cd804eaca706282b8aa21ad0f31e36685938633e3f395585a5d056fd87 SHA512 161366bfe1f335237c88617c5889db6d1587f3c24196001249787740657acc52f0ffa7aa128bb509a4802071235ebc2da2ce0acb005aeae57c9895457fa748a1 -DIST firefox-128.0-ta.xpi 507358 BLAKE2B ce2b278b49ec31e34e508f944ae8e6fb94e17199cdc5bd2add5d02760db26ff63e5370dcfa15649b3b3cae74b624d039dd68effce96b67274cb080971456b996 SHA512 5e4cdd408d64ae585ca7296c2c4e7f759e322b81913cefb453f700eb659492997b24f6ba7be7347475c3a14a0a9e1ecc2fe19c808dad0d57682465f4423ef77b -DIST firefox-128.0-te.xpi 560876 BLAKE2B dbfa13be40842db1e208021befd460528f6d95554d92b1e9c94d1cac7bef3546c786225d751c26868438638fbf846d871b2173ecbf830464b941f511cab855fa SHA512 178c4bd996b14f483881f678fc22b12c6064918e26ac4c24401435cbf454d2523d1ed15e112f723490586aede99fb78728a089d428ef5fd60d768a883d88307f -DIST firefox-128.0-th.xpi 693405 BLAKE2B 79de5f26ce012239267fd7900089a5b424eaab2dae31a383ceb0ad8a62907288b0af129e8bb93559118c21f01feac4f2901056303a971e6f32f5ff4b51d40cdd SHA512 fa5e1e4c0ebcc564c5810530b7959b5e8a887b2de252d641e73cd7bd2300972cd78b4212ad267b85b3de52cc018ad35d2d828007f8b4859c33fd33ff4649c278 -DIST firefox-128.0-tl.xpi 534025 BLAKE2B 6aa35320e39dbccf14f863832185d8a1db19a7f5e7c0dc8e86d4100dc314b2d29a9113697c1a6ab7e073523054e85c68e1989c8a20e0f3cc153c01bef603a2d9 SHA512 1bd64d2513d54794d6d41aa194fd88feb075fe651100bdbb01be5ff6172ab349c00c3d15b5efd4345c6525e648a66336e5dadbf4d0a86164c3998b7f1bc572cb -DIST firefox-128.0-tr.xpi 630012 BLAKE2B 92522c3b5ddaf027da6ba32f84cb3e80bd23cccd94ef7c78b8aa0f88eebe88ff3a4791e772f76c16b62967a9cea46da341b3b2ac37f870e92bdf3fdd56fe5a46 SHA512 47355ff3d82e19db9ae20f16eb1630a2ec255b0219b569606cd6a3e5053ef5aa6ae7a484f70707d25d89f99a5fe5025e25176189605f1e90efc1fb6e6b7619db -DIST firefox-128.0-trs.xpi 503824 BLAKE2B df7e070b45c41c069d76a3d7a1f67f0d034d39777f61a54fe8127f723a603c99c0addf69bf52edf1a3824b54b72dd3c5b31a4ae2c16a476a5fe2f979f02d8032 SHA512 534114666bb1a131ef4ff51f1a114156c09924cf7f8560f278c4783a45728f0df730e4b19f01ccaaed4c6453ef757608975d695f17ea3ed9e6bfe43155a39236 -DIST firefox-128.0-uk.xpi 707195 BLAKE2B 4071217517c8cf7c51b584b51936515f249fd383fad6132b9637c296fe911ff7dc853700cc49b266e34d5305ed7052b9908c5250c50869a9b3a2493a9f90fe20 SHA512 886c42192240ffc7dd8294bf912de1e56ea82e17e5e206b1f521c484557d42f9f2a3958ffcb114ceebe26126d045bc4bb7cd52c0c076e83a8a07394c0e29cb69 -DIST firefox-128.0-ur.xpi 560339 BLAKE2B 63f996dff257c66e0f35887984df64771426653eda49352696f379090b3365cf737e6a4e8766c4234de8f0921caa481a69745d2e94f167e35c1b7a7e6097abc7 SHA512 9f65ffbdf069de89f32928812f311e7eaf91675ad40765fcc0b88a4bfca86aa9242c7207b49874cbdb39fe31e8f6b110af2af176ea649df3b5fac07538a75723 -DIST firefox-128.0-uz.xpi 478619 BLAKE2B 03ce6a56af48dae306d7cdc8c8a34a57a2a436207503c5c94da4c38359630d56356b4c52d59b3518d4efed2bbc816fb34093321e0b9bd7ee00c9172e8cab4464 SHA512 e2a7d96d73664fd85acafe7d008cfa22d283e2742dd98f5e34f00129c00b2cf3f3a7240bbf0b01ecfb5fa49a0055d8d4173d6e8eb929e4d24bf764b5f1fb9202 -DIST firefox-128.0-vi.xpi 653927 BLAKE2B f2f804cb08bc000c1c1975c5b641b068a8677f7ab51b707d877f1333766af927584afdcc5a3f817a3d72a4b9f486d96bf75a4cdfc430e53dc19dcd8819720221 SHA512 16c58254dee12ce09b4aa603614053b08b50e7eae55cabc9709828de233d2393a84ff1f7daed39f58d17f570337caf3acc3936bab76f83b1fad49f3bcdb4befc -DIST firefox-128.0-xh.xpi 417021 BLAKE2B 50961db41b3ea9a1cac9f5ca60ff7c69c262b7f7f416c63393ded69b3916cb57fa1d2ae2fb6cba03ba8d30857bc2c596c6d6c2d88f7b56cbad49f3ef353a70af SHA512 fdf7e9bb3b76842c4c135cf2d82ccd2dd744967fdb7d9202474e69e1c6f4e955d0ee234da2f63ebc706fa22a7de363655477b406e9cd9524e33a7907f680c9e1 -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-115.14.0esr-ach.xpi 459031 BLAKE2B d3cdbd91af8e9d03a7624b1d8374dbd31edf0a619851422403e8fef616ee66705a186d8d5eb84e449965298a7e81abc70c1104d2138241d07948c01cfab022e4 SHA512 84c30cede83bb4075950375748ff2c48a799829d57de6b8bac6fb38996242a6cd42f71b716619e7f66120af4a4063342d78762b8d954cf49a9dce355dc1b6e24 +DIST firefox-115.14.0esr-af.xpi 415184 BLAKE2B 76b0ccf4cf4969e4007cd770b40a2fa486145d270887a85130c63f3443c85f1134b5f396a1e5f53211180ed27b5e63f9f1a4117faf2fe57a9275f68d0f2a30bc SHA512 d8427668d07571007968f476758907f0dc2c4ca3424331280477791df267954aa982ec5f26885a7b7c174fec3cef946d326dd38c59fb39e80942befb74f99503 +DIST firefox-115.14.0esr-an.xpi 499580 BLAKE2B 61641d853bd906600179e58047cfff47d05a0ef760a072de84f3905bca08400036423c55e1b68ac6ae06dcbc983e99d0f1db73d0a9ae70e0d8cf6889ba6321f3 SHA512 26d6c2bdb55d070b1f74a74564e8d8a45c93935b532d4532e133a3a3b4119d18ff0d609a703ce4136d0161f840a6a34a2012867a4ca0d596c693a2fb396b7fb3 +DIST firefox-115.14.0esr-ar.xpi 606291 BLAKE2B 7cbabd7af93763a04f6da7245929d8cc71d1913b8e6e83879e878238a4de82fb341ea6800818f60ead1e3047f9bfd51d4983d3b0448fcc1a7304bd7bdf0903d2 SHA512 d727b6c0230a2229abe77b47ab12dc8f8b2b2e3dec7e05447de3a69d0e54e636229e158bde032c8718b034c3866c0f5d20d797de5c60b075b669ae5c01bc065a +DIST firefox-115.14.0esr-ast.xpi 491347 BLAKE2B dbe9b24006b8684f3bce6642ff4287449e6aa37529b62222a15930a0ff259f19e982c0b49dc18165d59a579261d09eb01a79d7e4a5d992d60baa8615b638f179 SHA512 f48598254612eb31c49a7680cd76d7ec19810e7f456d49994c7876ea69a71f2b2ce202b78d4edafdce03e9fce380d4594d42fbdb77de4731f8be3135236477df +DIST firefox-115.14.0esr-az.xpi 486093 BLAKE2B 79c846b33bbd744c5bf9799bd5f27af5b473465b73160305cd290228e73564a9425318d4fd5e8b6b23f32cd88fc3b26d52b2bc6bfc0e09a096b4d9ed83c41d17 SHA512 a56ebb803dcee256ff69fb5aad02b9343c1462469292ad581732bf1827492c478c45c730bfd62245bbdd5d21ef89e2ac3381f1ffe4eb66dc65530bccb269ddba +DIST firefox-115.14.0esr-be.xpi 715663 BLAKE2B fa47bba709eca24f1043727aa1ac8bf657925bdbd95d788d88fef39f9d2725d1e3586a02e7239fecd0ad33ec64fee65b7cae54f3f499d56b6a3c73a87fab6690 SHA512 07ccf8b64ae69d6b85fab6f85634a4624920bd7a6025d0d781f74f9ae734bbbaef4fc8b817f2779ca0420696518aee101610184b197927e4023ed5d39a26c227 +DIST firefox-115.14.0esr-bg.xpi 600412 BLAKE2B da2f5d0bf9883c493e69c2eff9f92dea95f8f91d47686aba133b42320cc07a494ceec0479e7aae83f8545f49efcc2f0d2c117592ffa70b0a0bb897aa808b287e SHA512 4e957ba651437a2799d2aa40fdcea71780a0489d47cde50b2f3f242e3d01477ae3ceb82c38bd267f818ce35c5f39241efd1fbe40708ab1d29ed5cfc8b840e4da +DIST firefox-115.14.0esr-bn.xpi 576350 BLAKE2B a1557db1ef6f4eaaae58568b20c3b98af3e5a88f9ef16b6a2e894afda338e60f51983eba1573f71f5831f25f5c871ac3cae3be9394dbdf5da5848be8eb3b45d4 SHA512 ca0e3c8228e5644e7ee3123cf73525266071e395fd02a98b78ba59708ec13eeedb52652132ce1389104733ac7e12ec5b3e2aaa0e22d15fb6d626f18f0e3fbe39 +DIST firefox-115.14.0esr-br.xpi 585003 BLAKE2B 7e3f3d54a2e0da65c77842355448cfc802b6e99708cb6e30585c83f094a392c61e2fc28212df0c398af2831d98144933cce9dbb365f2c5f3ac46a3c5a833931f SHA512 cceffbbf37c5680d31765a728779d70ec15269ef9f9e4a6a006a7e308c8116d3c62cd8041823cc2ea306bb93f5ed811226ccb8d57b6b981718c6d5404d9150b0 +DIST firefox-115.14.0esr-bs.xpi 496792 BLAKE2B 67f48379e0da2dce9f79b71c157b26310f7876e42add689e21d03125fdf365721858a0e5e6ed54c34bde4a0cac960aacfedc623451dff9564ed73e4da0792709 SHA512 1e5afc91618224251521ae4dbccc0fd76f0f74db0bf73198e91a6543142f523ce017532241fdd113344dee15922bdc29fb59c61f8d35a12efdece203f59f9069 +DIST firefox-115.14.0esr-ca-valencia.xpi 539259 BLAKE2B d35b8af4c76d7fd47830fef0498924fa5e64b1eff84f7585b616ffa0ff42bfba673de28b5bab79662df6d9fa240918bccf1fd5a3d72ebec05abf944ba9006e31 SHA512 538a962bb31747cb45f231b8349edf13b271bc5173c4d3821b96888df1ea5e6040906cece726fb41e0d2a84fa783c8294d364db0ad3c9434635f4680a2be878a +DIST firefox-115.14.0esr-ca.xpi 591043 BLAKE2B 8fcdf43c9505e0bb92a39e9ad29a57e68d4a63bad4bbc0af6cc9435db6c992470a782fcc45521027846df6a62adf4f500cf8c9a5d38c474481e7eaec9be45f66 SHA512 100f449d402ef2a07258e51995e1814de0d5aa518eec4a92adb192e0da8e104d4ba80dcdb0cba9cd05c3f86a3adef57c3c9bf72d407860e3ef721358519f5f67 +DIST firefox-115.14.0esr-cak.xpi 586727 BLAKE2B 358433fb5af26a6a0cbd5dc8eb62f9b576066f7919792a33887badc9be4650ca374efb75af7b93de6f1d1ee2b4023c7c44b533ed3e477010d8415e0a7867401c SHA512 5532e4800cba9ce81db2b5aaef2b2ae63b8bb81e67ef0f3b9325a232142c8af4f119adde724ce86584f233fc33381af61d53537e53cb1f84af1dceba50813f49 +DIST firefox-115.14.0esr-cs.xpi 659577 BLAKE2B 3bef6f542b6e14d7b7f98ed0456651af9526d6404fee99e425f21cdd526da054ed8de70834aab630ca4747f14beb720986581f763f45d8e54ee04a6a8b4a613a SHA512 fd1b5fd41e035405c1d4ee9a912798a15cf913db05d9ee36b2f649566ae8e2b8b320ce60be9c378b52a44e9aaf95ab0f41f07858fdcbbceb9250633ebf38da8b +DIST firefox-115.14.0esr-cy.xpi 622581 BLAKE2B 725001b5f81f708b3199b814855de72ca541208c14db2a154c3967f7288611b1ecdaa2c1c6d7af904cff73acb56a447983d8b5462dfbc3a5d9168eba4985ea5c SHA512 9a17905b1835fb62a2eb229efa5042dd44a7849d0d920d6ed0f991fe59bb378d41fa77baeb73f4514e7071789f255adbd7439dc4cb4e2bae57503c37e9f2abc5 +DIST firefox-115.14.0esr-da.xpi 611181 BLAKE2B 83880036dc3fad3e5fe36b8a4d3c9d97b606de13abcc04d20ce6230dca542ff933138788da4a3890d588fe006699bb79e1a71269c4a3ba48330c6755d13dcf22 SHA512 44581cbc73e830efcf2569c18b3dadc065fc58940b6549d0ad585820eef82bd10f61f3bdea6c6d2b174dead037d0d5e4585ba3b319e6b80b038ed1a7d00803f2 +DIST firefox-115.14.0esr-de.xpi 632366 BLAKE2B a37b25b10da4f20a83ce34e88c17342b3408e72e9e092c0264424f6933e4307652f94bfd260828332ed3bacce262b8269506f8966504d0b2822da0cbfd4c3139 SHA512 56c7ddbc600d432dda6d82498278529d9e98cceee0229b6ed0d28a85b88afeb7ff0f5770b7e7adc9013305fe4ac038e72b9a6b1cfa32739b7fae1c6ce970a2a2 +DIST firefox-115.14.0esr-dsb.xpi 651470 BLAKE2B 578d5fb47e7d93c43d586f8eb4eac788f88c6ab31e74a444c7c73059ef8682b92516e37d3aa92f241cbaa2bd49816feb3f40a16ef5fe448e3186ec1205f2922e SHA512 01d28c3faaf2cd5930742eb0dab1a3cab26d3567e57f696d3776f4abeb3e536fc171db39c0d21728116d88df41ccd5ef799c445d5c395937403726597eebbdbd +DIST firefox-115.14.0esr-el.xpi 734624 BLAKE2B 0a24ee3276b1bbcb9f8a0b038434efcb28179bd0a717b73caae3a9a83ede8382493ca0976c2c6a50c1972589bbd84a465ad9d4d93c78f052fbcf684b45ad23d2 SHA512 3515cb0c752543a0c6bb0f0901a03037035d14f16ffe3769398428a945d53941135069eb98c92fa0608c33ed3d0d993577c7948bf790d8d533217e75a9be0d28 +DIST firefox-115.14.0esr-en-CA.xpi 584146 BLAKE2B 139bf423194360acb87311cd688b2d1359dddc25e3576219124050fd91e204ee85cb109f27aff1b16086bf8b5c776d216b4b95e0464cb5eedb1b2c26ce24bd73 SHA512 dac0e30a16f6c899bd1b1d104bd6c0f6a73b900ecc039b0b7a1f32c0649b76d9be7db200419779441272bf627fffd6026ac0cd28e89254aa61255608aad57623 +DIST firefox-115.14.0esr-en-GB.xpi 585203 BLAKE2B 51c6c2956b8acae2a24c1e86b817ae7e883e20950a9e5ee49dde27e825ab8b2b95115f4e967854c6803a3ab658bedf7543e3b1344912899368f1bb4453c9c537 SHA512 19e63882b04e48b94e4cf40b0889df046aa231d4f298d68073c8010556da4a7ffafe991911f04bc00e3afa3097ccab12b2b8d3d9d78dc1b6b5b779c7e138ebd6 +DIST firefox-115.14.0esr-eo.xpi 613404 BLAKE2B b1c8dce95f4f9d0a423025f47a059c12ffb6db5146e9e3a45928f420b7e5ad26658a7e42d0e5feb662793320314ccd0153aa2c912cb047ab22f3c1273430e5ad SHA512 b175dbfaec4b193b6bbc2eec1ca060f9b2ae99c33693fa55af9c3b4fe9043c8a946b7be83eeecde9fce884ea54a566cfad93f04026c9b8b684b97a2ad942a8b8 +DIST firefox-115.14.0esr-es-AR.xpi 628392 BLAKE2B 1b2ac634b032d17d0005b33bf8cd1492042390b382c6acb5d8b7770292b98ceb428895a0e735588d30832396d5343f8ff5a0151154a6a1d78e91b6037a4aa293 SHA512 b8debe613e9b6b52a189c89c000682daa76685d0c0b1eb85b66ba6c3f31fdda54f0fe0eee51846a9687388154f275afe332c46826384f717f421b8e9613baec3 +DIST firefox-115.14.0esr-es-CL.xpi 627708 BLAKE2B 18a30708b1475ad4b81de6a13cd13b1186a0ade6bf4c85d1b1c78a8464c147d2d69567346de452fb36d3b12b6991775e5c48bccc657e6ceb4f0117a7d37f50d8 SHA512 19016f66db9ac35cfaf538077c9fe743c8d7a484b36601652ccc9c87ac48f96e54b9821dce4229cb1294356887fe1fef5f5ee145f1ab18ca21246f758123f55c +DIST firefox-115.14.0esr-es-ES.xpi 621485 BLAKE2B f5896113cf4643706baf8ff698f682d3f58b5dfcfe95530bcbc676edfa44b98a3683075b53fb40ddf89073b26e0c6cb8b40b3b0e41d48457ccff5beec0a1467d SHA512 4b1317161f284d6361b2a87196a700b04a8b8d8e76344659230cf929a40f0ebff694ac25fdca5d8821dcb220986da6ced187aba235fd48d467dca38b3ebeb542 +DIST firefox-115.14.0esr-es-MX.xpi 597942 BLAKE2B f7cba71d74831e33b27d78330f17734a87fda77ef6330b28f23a03c7e91f445c2300119b7e5509986254bcad2a75e441153d4dc90cceb38951a58ade2cf7317d SHA512 d4b3a147f7d5b08e7ae0b21d1c011aa0a3507675333578cc51ade9cf951c081252f15e90678d73ae1a76ce23502e4481825da42d5286477723a5e9c691c017c9 +DIST firefox-115.14.0esr-et.xpi 533026 BLAKE2B bd9cb5b70eb28b86a39b87cec0c6c40c3313f579cc63029c7c4dec85ed65cb8913e892f106a0bc66c8cf9fc4ff5ae84b27161458c3750062fd107fd9f0b02cb3 SHA512 abe36c2dfbc210a8588b3878be0b4d8d967dfae89f6c30f5624f12cc495af2c4f953e696f0c21b4baf03bc3553a9a9a23da469e7de3b0d78c161c8d667630dc9 +DIST firefox-115.14.0esr-eu.xpi 594661 BLAKE2B f59c1632cb76097f479289abf2889b5116c7c91519246f121a2929f6b76773d813a32691d572982b47162e4e9fa23a012e744286bb5245587cad0278f2e9ced2 SHA512 2c3f432da86d6858293bb2535680d9b2b5f69e24aedcc28473a222d56f613cad9a16ad0091d38c98d3788433d1c8401fd675468d7fe8c2105d711e9b52b61777 +DIST firefox-115.14.0esr-fa.xpi 584364 BLAKE2B f3f90be59396f6312109fa8cb44d3df9ffe270e52b1dc10d1c7d3eeb0bab421cff49ec654a9b47663a08f3521026d83cca577ae6a7f68c661341ddf0407778ed SHA512 b8b3e2be0d09e48f6c08fde82a63daf3a0351943418d189257586d30d243198b52e73d08b9705288d0d0fafee6324cdd2f754a891006963d2a86ba4933029e4f +DIST firefox-115.14.0esr-ff.xpi 471728 BLAKE2B 6c0c944a34dc1fc191e6ecf0d850080442e4e0f21bc742b4e660f18955d8587078181e5401e965912565408ee9fccde4f3724fbef1fc1df203cb1fd88fdfe095 SHA512 4304e8f634242019ae98bf8f0556454dc49cb34758296fea8609438cf0cc34b70ad8b07c900f12f5e8955b4d3953ed799a063bb04a4cadd90a46157c88e2fe8c +DIST firefox-115.14.0esr-fi.xpi 604633 BLAKE2B eceeeadac2e189eaf323ff12e3732554ba39e63d145675001b5c3493a41bfc6b9eab7021941930fe3f517983b67026db879e5b871901e264af13dc479dc281a6 SHA512 2d905561c3e2f2740d26f18918a5ce2a6e4be00b5622b87862884241afc7bb00c573960fa4ecfa7caf60a9ad0c078734e6db7a1c73d1f54be0fe67a229e4118d +DIST firefox-115.14.0esr-fr.xpi 640847 BLAKE2B 002d89781dd01e2eb8ad942f7c9b3b59e320d4f36db4917e6b6d66336f9a384deab51016cc125c3c8d4fba786f30290c6362d1d1996b61f34add6e402516b964 SHA512 a9b7f514f94cdefc335dac4ae1443d29f69f20f295f5a0b4ba8c9f0fb48c52b33d18e0d0529056f2996e7a592a7b0aca4d6be7ab935c589be3747a3b8dbba01d +DIST firefox-115.14.0esr-fy-NL.xpi 624086 BLAKE2B b94fb81dc426c331b513cbd8d9a30443b20387f2d646c7f34d67d4fcb4b74b7f88f3d421c5be42a18d42ed412f896617ef38cfa77318b29f972fc51fcd341a71 SHA512 7678aafbeed6a9249cb8e579e4d632f890fca6569d8e93d58a085e283081870966c2e3085a728568de80cec40c4c6b6dc310375fa5c633816a26ed5ecae96238 +DIST firefox-115.14.0esr-ga-IE.xpi 467652 BLAKE2B 9de569fa6982014b97b91c52760c122a297707623597b56377c9186ca3e919458a6592e7421fbe4a30713a1849b70fc5c9b34b41b1746f69ffddc5093c7b1bd2 SHA512 8bb3b021ce8cad7daec7421029fcf1759df120b6786846ead5cc102b3973d079a67f1f5d8be0ca47767c051c2f3a08b5e3048a34f15c3a7494158fb90f0702aa +DIST firefox-115.14.0esr-gd.xpi 589971 BLAKE2B b33304a93bf02acff23a0d82159278d7836bf98ae4c614f369dc78e113891885793ba90a2516964ab91fe489ea877496998406b4a8aff08fec9574419681cf10 SHA512 ee7108ec5a1db3d8a61bfd419cbcc8864eba3594e4854f1d6a5bc3a9fdad17e4c224dcbbc61d5fe735973db9be794050b26c4a77fe7fb52158e9fdac3c779863 +DIST firefox-115.14.0esr-gl.xpi 599992 BLAKE2B 4044e5c5ac52e85e88ee370e7bc487ed853c0e58a47631f7f3fedc052b126f92f78bb8c0031a21ff208e80b37e666affc37de661263923135d9da56c954289c7 SHA512 74ea13705f799b01593bc87db9dfb75c73b50ac5fc427c865cdb389b90aec65b94eb4e164b660ee57b131784972563da2512a748396a023e88e4c39a17349c2d +DIST firefox-115.14.0esr-gn.xpi 637889 BLAKE2B 0665a757acacee9a030fa546c94d0fd350ee4dec238a92ec8cbe7c976926083e88d684dfc540d12e55816a90c38b001ba1716925e25bc90c161b63e1f3d3dd57 SHA512 56c9ef4cfa6d21bada86316374a815ba0ceb400ef8166f36a6c4bd7ca77238de2810ce033bd7060cb86e58b978a78b4d733ba284f3b5cf8a3548bce024800fa7 +DIST firefox-115.14.0esr-gu-IN.xpi 523387 BLAKE2B b79b92750f2386fbdfa22728012b29a3ebfdef408bd4302a34203ae0ea1f377b763835a8094a7e0cf80bae2c45cc04a57382829f4f88132ced77fc600b3554e2 SHA512 3885f121fabc94fd02479274f9971f89eab474b7cefeb9229f2778e906f468164fb997ac389e11c9c6519cd54dc1873add41f575a74b098dcf055ed8e0b299fe +DIST firefox-115.14.0esr-he.xpi 629103 BLAKE2B e34add03acbd44b65df58818219570606c37f36fdeb2ab89bfc9fafda6a09b22690178560c7abc0f7c0ee292a8c239f4536c016e5b48e4751b9363b082a05b58 SHA512 873c0e74cafca7355a5a167a1b31e87b8297f8c9c4ba2e254c928f577d076b5a91594805c15f3c519c9a22eeffabb6346a2305b4bdf2e0c31f7acc6772acfc57 +DIST firefox-115.14.0esr-hi-IN.xpi 561269 BLAKE2B 05c600f60d87d18e92f15253a9e7e1c5227cc72ca801b6792830d677e2302d51587a50bb516cc10541032ee86ff9c4e08f83a453b070fe8fde773adb6c56a840 SHA512 10ce058cc0c11c5275678e70fb0c52d4492094c33f1280e6736cf7996fadb0cfa755c3f1794f1bf430c7a5d192e581acfd30750310222668b750d7272fabda39 +DIST firefox-115.14.0esr-hr.xpi 554542 BLAKE2B 31ab9cbacc301896c04e9bc6af5f7790e0dff5afd97954eca38ce88610d4416dd4460bb317b5bf6477655105047d83438d785645ca7d2bc089040f59a88f4a31 SHA512 c8f44530f924650ded1666893206de45262da013a0ab81a702453c71d3e0f521d929422d58d0f93ebc414c7ad046005bb469ad3445729be91cffbf5269a40987 +DIST firefox-115.14.0esr-hsb.xpi 647506 BLAKE2B d069eced2dbabee333fc7bcfd037053ccbf44b529e5df8808c68a82c9caf5cf9abe360adb41af69faabf2e78d532a84e349996b6ec58e2309a72224f65458e0b SHA512 016c46a9f98a454ef7bd1eef6acb64089d370fb5be14e282c2a7855fe7af6176488d8b545c3d0253cbddf19f791640846d31181ca08a0c29d333581d54e5a591 +DIST firefox-115.14.0esr-hu.xpi 649871 BLAKE2B d4f91fd3a4a486ed7d27b1646556a6a0ceb9996f0561a6447b26b64e0d4096ebb271a1b2152c554ae0eb3ca1453d1bb6e81d9fd76a4dc801fa64e28fc6407298 SHA512 444bb1537bd514842e64d897bf91bac1681286e0c38da1b13faf454bac2e3da25aa22916a82bc7f1c7ec0e0772b64a6629ff4524e33db9e147ffa1514780b46f +DIST firefox-115.14.0esr-hy-AM.xpi 647653 BLAKE2B b17c62f320b2b56a927a38c5bb6c8977d610de6cec0dc4fba7a597f2328be8fbbdc20084a82e6698d9c9537f771f1423c14f3b2dab0817026d607411582ad417 SHA512 d07c177dd93fc86866ccd4ffb29a3254755d5e589b3dbfd7c64c1db67b72af8fb7e762d175356b480199c004dc56a3b2b18571dfd4655d62047b6c2f3ca1c514 +DIST firefox-115.14.0esr-ia.xpi 610850 BLAKE2B ca1c700d0e59e60309d6830ba5b4eb92c801db757f582b7be1bb19e99389a54b363957a9dc1427dae5de9e3844ee4bcc9f3470fda1c7f6c7fd66639d0911cd42 SHA512 82608a06e5a5b611cb44e8765da40642de08027d4701bd4d3d49525d1b677bc79e78617dd576b893d0107b6e199b955d95a0825285f0d5f3bc23631c526cbf6d +DIST firefox-115.14.0esr-id.xpi 573439 BLAKE2B 11f23b9d60eb68adf2e82e58b697fde92523eef3c512314eb99c2de0b6c1650067a74dc28c59f7dfb283a65eb70c9001820d6051c47943c94d0763e385d504e2 SHA512 749aab83ba76bfa26df1591cadb4b8c062b26b0294ac687915f88ff0af754214fb5188ed378e9a538121f4b1bce613f1493496bcbccb886313603a89009fdcbf +DIST firefox-115.14.0esr-is.xpi 611649 BLAKE2B 1a1320c2741ff7014019cd8ab21a92ff6872f680d192e86823418312e44c78f43f5ebac597544fba4f7e02eaab6ed84e9e99a7ede1123915701cb850163e075b SHA512 cf9a08de49f692cf2009da9223624ddbb87dde0fce9aa66ff5ebaccffafb9adba3dc535cd7cd6ee6261bc2b888a2fd359e4620e094e0b8e1c49db36bfb581dcb +DIST firefox-115.14.0esr-it.xpi 567123 BLAKE2B ffc8b952963706eaed137e8519363d37f9e0dde7303c985050ba97ed902ddde50204fd7d108027642b421002ceeea5715e7d1958f48102f4b9685aca01159911 SHA512 5301fa6fed8588af4279e8c014095aac345a7264471ae489268e4032bb0a65d377d5bc92d473b2221c9aac11652bfb2605842bc5339251cb6d4c7fcac83807c6 +DIST firefox-115.14.0esr-ja.xpi 676024 BLAKE2B 3e01ca2e7f19b907707379eff243e60d08182fbc18189c8a63dc496fb91dd82adf0ed6ac070a5a854ff469d1a5d6ab2c37d8fd311ac8c63545a33e90faf70e7a SHA512 4b952c730f17d7e7c111fc767c1ad56a1b8e48ee411ca164f066b7cfdd855a5e6ba3747165b7948c55cba47f33c846caf1ac98d27309102139557666b3b23cb2 +DIST firefox-115.14.0esr-ka.xpi 658003 BLAKE2B f5568bb90e4e88416ffd4a7690157a85fd20e839555c63620ac15b995cf304e6d0fcd5631cc68e643fab145070af4995ecff47ff3dd40a67fb6703eb14509177 SHA512 fdf9a5b61d00ed5b0b13e259c63c6df40cb370aec64154c4de3b0fd246e0617b16bc40d449b2b4c41fc812c618e075d1638229f2c977fee8cda1285af101094f +DIST firefox-115.14.0esr-kab.xpi 604019 BLAKE2B bc0fe1c6c536da6e7f86841bbed4a4f6b9ed32639115f3853165cb700f88c3506f00be975388b04a23e13094cd23762f12694063787d22f558e7a783ae7cde55 SHA512 54692ae86b20a21d50ad14836413d655098172ad1ca9b55cafb6868269e4b6ad2454d846485014d66e20e16405f3f20234c2b3606668fd6af4389a0407a90f65 +DIST firefox-115.14.0esr-kk.xpi 709063 BLAKE2B 1017781b0704b6310b714a994c370d3bb2666ab96ec8dd30c43f801f8289c040aea63570051357f78f980462e7ec45b68a1fc8d049bdd582314a2b9dc852af06 SHA512 4d576661caa88f87683e8c8d84d59cfd86bf78380ea947620466b84a21506bf8e72f663af8c1b1ac034c592231ec3a2d61f32d7fef069df397641c18ebdab220 +DIST firefox-115.14.0esr-km.xpi 522336 BLAKE2B 238d46fc86fec47c8bc5b9132d8b9e4e15e8414be0161fbb95df71d26adae6f403049f1a68c461cd6784f1324742bd2e408a5906698812da78a66c8fced51ad7 SHA512 56812b9665000c3f341ef581e733325cdfa2983ac0725d87a736df78c110769b23ad33fd0e22ccb07a1d0c925a8952745e1723584114ffc9ea5238dd11ccec28 +DIST firefox-115.14.0esr-kn.xpi 488190 BLAKE2B d4bd3e1d421ff138c80e4b4a88a199ded4cd2e39dafd5f1a60a56793a890f920a9098d1471c53050aa3074967aa01c0d6b6ed27f900708139f32a325aa99ffff SHA512 2e19950a2d272df23f455dbc003a5bf6744612acc3c1e51d639151fec3526179be22449f475835ea80eb8fc58bf5d84404c8aa41949dfb51edb4a632ae2741c9 +DIST firefox-115.14.0esr-ko.xpi 662479 BLAKE2B 51706d65cb1fecdd9a711151cf13edb9159c9e374ea55c2af3f5522ae504a4587dc34c0599429ee9cab19ae636ad65b49575dfba870329b5b252ebbc794179a7 SHA512 8f9bd6c99e6d4dfa63a27a08be6a90eb042e6ff0b1b316bbcf01d9554e4780100f450aa464a990cdafaf8b6fb7de4fb2bc8b2b04848f357c4033b9c3d4bb9735 +DIST firefox-115.14.0esr-lij.xpi 479124 BLAKE2B 554507a4d52edaef23b956837d1d569002b16175a8ac42c2ec2c9b6e17e31889062fc4337b4929d39ee6d0b2d61cbcbe7a06c16ba9ac3d56238a9cf4e8e8ff69 SHA512 648d31632291fd2bc33d9791226f90e3b54d45451ca605d85f944d160f4aa304c32e275a0c01545967ffe0f1af1ac91c3a6b95029f6d6f3bdf4fd50d5199426e +DIST firefox-115.14.0esr-lt.xpi 566219 BLAKE2B 63bd6c0d193e8a47b73513eef871f0a97339b53e863b57e2c6b5a201f316de7fcf17c3ca58f978d35496d0a9c1effe6cf21968aeb753f88e54081882167e51f1 SHA512 e4c5732d3598ead21c459102e8e681a7c1df53d848cec210c5d82b7cc9f3766c9585fd0ee9a285363ad963056f4aaa1413b65cf165a4a8acc6af275dac95df80 +DIST firefox-115.14.0esr-lv.xpi 568815 BLAKE2B 64330302cb66bbbd824cacb26a1cd4ab9830882a227c16b79d53792c07ff9f97d1d206031558bc75b5a8aed84f19ad65d50c709722fc7988ecccb74955e67d15 SHA512 d920edb043798ae135ea2fc6cd15c341f8a539efa5d1641cd81bfb2402ca1892e4c50cc59252938d3ce093a2bfc3928bb279cff592814fd8a68e401179bbb6c5 +DIST firefox-115.14.0esr-mk.xpi 490539 BLAKE2B f42eb12b43d30538cbeaea7032d2eeb62ae0365ea0527aa84d3508dfb5648ebd4503dca576ca23c40977fb2ccb6722f0743f30ba445069ede7d836d333837ef9 SHA512 652854851ebb5e169a32ae02512f0cb35e3550b8a162434adef53492a4694430e8ae407b11af1050973e2b43b66f4b358e1726784ed8ca17a8156c33b6e72ccc +DIST firefox-115.14.0esr-mr.xpi 526891 BLAKE2B 683816818bcdc6eef5df6e5a11684afe1eb1e39b3b6ade94ac42e538fd8c18b32f60a624946023462b91c07fd6b3c77fdc965cdaf6bc8b8ba22fbfebba288fc1 SHA512 aa9e428033a9c4cc6cdfd9c7e978f8875b58504a19703db080f04246851daa10ebb9a97e2fea89f9580da5ede4a95f9dd9203622f2d171780d624df7c1dd5e64 +DIST firefox-115.14.0esr-ms.xpi 445507 BLAKE2B b387c90cbb7462924b4bb17786acbd0f80f0b8279cf6ac43a7d1e414e9bf0c9eaa82bb738ef8deb884ab784aa1c42832aee9f96ac605094b94f8886b9481b569 SHA512 7d8754d3ce46bf08e6e9502106ffcf521e3a97892ab9ed11955cbcdb41485c12e1f5616563e6435a6039c8b24271f13411d78c1f17e7f12a53509bd14507ba8f +DIST firefox-115.14.0esr-my.xpi 514931 BLAKE2B 7c44f616d4c3695bb9985e7abb5a971197c7a600734a52725de99d6fbf3509d505383464bc060f5139be391abc2b6f15aca16834cd19fea23dec8f813e779f63 SHA512 7dec261cb51dfd8da697e4ad8796788546e073e4edad4dc005b2e9c389b1c0926c233f8a7cee78b12debda7ce30d3f781f871560d1db010a8a92a88f3eb1bc51 +DIST firefox-115.14.0esr-nb-NO.xpi 607322 BLAKE2B 528d2c10ee5745a61f8f48f37cb2d04647421f73309d09afb99fd2ffbf4f5105c1fa037aed0d4985c32972e6b150dff2c22ad16910d886348cffa8f74343f766 SHA512 2d961f2f2e1ba741c456fbafa203a57e4865c243bfeafb673c543b66d2b5772e445630756085be101744dc1785edd07adfa5cc6a7f52e4650e43eedc0278265f +DIST firefox-115.14.0esr-ne-NP.xpi 506995 BLAKE2B a4af7cd7ccec4cba47b68f9cdacfdff30160eaee7a900afbdaace4bf99a4feed1fe9933ba5ca0e8b6dec509c7247c233203e69f132b32e06b59d797aa8a5d061 SHA512 f105b09e119aeaa89c02ac1743549da3471b4c001f390ecd19f7560c6923966c43a7bc91727a067437c9c1e73939550b99add1bda39b8816a9e7dd56be31e7c8 +DIST firefox-115.14.0esr-nl.xpi 617752 BLAKE2B e5357db8d35b801444461d9492be5492fdb588fff96730da7a423d161457d8503f4e4e84cad41d6e6effeeefa6a75c79c5d2138691e3146035a366ec8f190361 SHA512 3d49c5a77cdbd9281280acfeb0e2617b07780fef2455e3b2ca83db7d4322bda2f22602ea4a1c1119ea8dcce434e5e65ad4dd7da30a97c17e38d084139b42118b +DIST firefox-115.14.0esr-nn-NO.xpi 609738 BLAKE2B 93f5ef14146592a29f8c3e068646c7dbabbb59e36c97e6b0dc8337b72b5c16362c06ccf7d0fd8ef5de5b580377b5e1f499489e8347c360b562c0bfc613320321 SHA512 f3fd98c37cbca58cbbd9067d2e8cbddf898f0edc99439a6d4371bdfd8e31def2cccc454f3529fb69f69faa7ce30ec55203bfbfd13fac4f384cf3446c127c4bb0 +DIST firefox-115.14.0esr-oc.xpi 607907 BLAKE2B 3058c2bd583163655ade26195d131f3fdaf8a6d795720122f3f490304121ba81e28d82dd267d694c0e465be704c24c3286055a8f032f7aa026251216e589ff10 SHA512 7ea2ed18d2c228b3c59965a645825501f2478112d16f10706963f896db0ca58b92573e33b3daa6503cd80e9de79feb15cc8138dca8ff9373f02fae0921f1a370 +DIST firefox-115.14.0esr-pa-IN.xpi 687709 BLAKE2B a8e5b7c85f7a422e82bf93abdb7127261ed31de1443e3c38faea5436a84818a23752371bf6e69bd496c9bd2daaa8c2494bf840450d8a4bef0e43298f698f153b SHA512 241e0fd7aa15dfdf9afd7ff7e442e6d6483e380a5eecb45db3dca182006ccd9720ccdd781f9d4b0392e1bec87dba921cdf90c3d91e4da5394c2b9f1932a86587 +DIST firefox-115.14.0esr-pl.xpi 636473 BLAKE2B cbee9e8bbdb0609a14196a296cd7a62af69ac1c21e97f0144c1c277a861f628f3d5f4210574c12d6c2f5d84af50268cc51f41fefaa8e0f0ed9ab90c7e46cb8e2 SHA512 1822a35cfb7b596f9bb722a7d912690e61cebd1fb03532ad562d5b8d9b8567503c07c18db5e46c2d4c617605a10b8266d1925b2e8cea554ba422d7ac66aacfb2 +DIST firefox-115.14.0esr-pt-BR.xpi 622538 BLAKE2B c175443d04ef78366993881e44ce2fe7d502ba6d645c29dfc00a721a3ae4fb271eb8a5397b098ce46156afa1993168818d032abe3a82b04003b70b6071cbc1b7 SHA512 4fb9a8e11dda271281acaba2a8191776f3ae0b521394f635fdc817d6470c206a41a1f4a0164b529fd27b94e212add8539525dc10bec300e161c2880224b24116 +DIST firefox-115.14.0esr-pt-PT.xpi 626594 BLAKE2B 77b22853fc1b89d3c10c8ee8bc17a62c0d191e93633e1b0284eb54d65db4dec2be3ac61231cd95806305cf176ce321d942b6a62cd9f263b880cfdadaae6bdf58 SHA512 c8365d18e7c74a29a6bfb807cab483ddf247bdde295eccff4b6989c7ea8b1cd9a6ac38c64ddaf7271289dd2546732737c9e1086f1c072f7114dece729e8acd38 +DIST firefox-115.14.0esr-rm.xpi 617340 BLAKE2B 729c46a8c930747480a36ef1ff2a2ef76348850632aad2656a4d4ab3e32540d0285f180d286f32909d5c3af4ed22e5b17757141b3dd3ea1fff1c4b34635e8842 SHA512 93ef502160472b92812ad2ffd60638cea57ab2f958674e2d64dc80981df937c90754c3a801630901f3f213a8ec0fb49ac36e6e4021c847dc3cc7edee0a2af192 +DIST firefox-115.14.0esr-ro.xpi 543547 BLAKE2B c84ec8010226d0aff906ed7bbaadffeb7a98f958162ac4792e0b3b85b4967bdb5960c9d57f28820f24d0fde8c3974302fb9c248a0656ac7f2596cf38f1f69afa SHA512 37820627f22235d0f51fff3d5d2972036c54e8917725c062be4239c82dad9350d60b918d57441e13fa31fb1ec11c5442679d63777fec932c747c4caa21806aa2 +DIST firefox-115.14.0esr-ru.xpi 721756 BLAKE2B d87db8e24f05cd937f231b68cf62eb84fd6b61d2b3b5d4bff32cc5688f09b5a3ad78721b03cc1dd7c7cfddbe5c48be5d27f1b7a2c3e11173b495e8d0f591a804 SHA512 e6ec2e7bcbfa72c022d99ad7b9a3e66ab92df99ef9ab9c4f4cafc49219e85471ffe761800efc0faea0f3ddeaa173b5e3c347c2f5bfd4e6a40a5b08c7f26445c5 +DIST firefox-115.14.0esr-sco.xpi 505675 BLAKE2B e21c14c72ed9b70bb05ac7f77e8bcb6ac73fa1d779a743962f98757230127898386c99f93690720280e2f0bf705be673ef2860ea8afbbf7ec099052d7f0da600 SHA512 954c262c019af656a6c60a89bf2621b7771901dc7d7f384cbea5c26cf28a9ee1e6173c6a51790488a796a5d3d993c52fa6068e19523d45a15fda8a6982154fc3 +DIST firefox-115.14.0esr-si.xpi 606453 BLAKE2B 1ec602cb833076ecee3e21edbc5d5029a43aac672273418ef47bc2dc5f6c5a60657c7990f8bc32dfe28d5603ed45dbd609e101ba275dd49154c566e95ffe0563 SHA512 8ca2ad8593de93375433e793d18a020fba5c513f6f88e1f7e33093831948cc0475caf54770f7e8b4d7f65f281ecd647671976264148645b12f33690362a3880f +DIST firefox-115.14.0esr-sk.xpi 652373 BLAKE2B 6244f925342df2e072ded925fcbdbe8e5d292d9ec7c2c24f763dba0b422d20d3f0317b1c27ce1f9b2f4e1f60e8a16c16c78f4ebdb96823d5d0aabde1b14e83b9 SHA512 3cdbc1d6fe6b73092984546d2a44705663b51d52813415588d862ba6184be9ebe0013c30252d291226574ac6a54d7f11019f7def9cf94f78da6fe7c54fd42d4c +DIST firefox-115.14.0esr-sl.xpi 615213 BLAKE2B c487d2cde75669e4d56238f6e0f8f5f58da5f09d5a18bbecf83a98e81ecbe0ebf88d0804db9eed98a569bdd163472a02114cd9fd6a72a95b4cd04c2d4ddf9bbb SHA512 dd5f3a85e5b9eb1f99a7c961b64c1b0044f7b26092e850b8f87df722f059bc39ff9239d1c329c559f13e2e1ffb5f4e06c1e3cef01366d4cdd5309147b7f04915 +DIST firefox-115.14.0esr-son.xpi 413692 BLAKE2B 924f1b1045cc6f828c6874621b8bbc7e5c97d8dbdc74259001f75dce8382fba3d4fae0ca33701c0c9797d300fef24f8a23604a5664bea4a91537cdc6048dfb7f SHA512 fba3003ad36310bf0b6a6b1a3acdbbdd2b02065974b93ae8f3133bd4a98e794108abdba8f5e147232e1809b0fbad5c27237349d3b7b42841a4959e06937ae3ba +DIST firefox-115.14.0esr-sq.xpi 636142 BLAKE2B fc7506b73b48ac394a3695b6c29db36146b06e6d425561ac78dc2cb3459f74c6da5f582a24670cd87605703b6d7761866c645d50da3745ecfd901b90642d8300 SHA512 234a4cf5fee287b7f622be3f1e60db56910aca7f0d0f377644e31648c1c5d79243b476c8c3381576e23726a0cd7171b8f2269b671d0d783e8d8a545f0e7b5073 +DIST firefox-115.14.0esr-sr.xpi 633255 BLAKE2B 62b2055f127c25535f79d7f7ba0db82c7f9df3fed5282c5cc7e1aedefb754ff35f461a56679f818211fd12d023c21f51edf510e7439a081240276ca3061a5f73 SHA512 2c06419d1ba68f114f6a285e9625e33a91c9d23ae5dd3babfcbc37ea2b9e593a34cfee380c2bcb24170ffbaa2d9b58a90bf32c2b8945018ef33221b4dc544d00 +DIST firefox-115.14.0esr-sv-SE.xpi 619432 BLAKE2B cc181515d876603097a6eb7d829268e232f22e9d879b95465fc1e3354092bc183fff299fb6c5945ffa84f8adc4860ae67b0031a7f7a437739ed17cb77f5b9f9a SHA512 4b01f6950d463ef8d3355e42e3d179e7063a038b2eb7b8f0e52054c42ce583fb50cba1229800d24fd7a2c029947df358becd27ccc2ba949dc03fa46e390756e5 +DIST firefox-115.14.0esr-ta.xpi 503634 BLAKE2B 97bc6b471fcb762669a596d9922b21c368f9dc8b3a819ccb742aabef9a075a1b34ceaceefb065d14c59873fdd04ceee14362b36a9c4b71a0930cfae0c8e35ac9 SHA512 d2b74b91f29280a2d1433db39d0932c5cd2adf9bf95235a123b60ab19fb32a54f4affcebc3fe4d6cee8461ff3a021f78244613162b3b1f711d288af8ecc86e1e +DIST firefox-115.14.0esr-te.xpi 556771 BLAKE2B 46c36990da3e095a10397eb84a3ddf2f452c90419b40811c8c7e37b306278837207eb4895ba713d150964ebd04598bf81c9965431c8fab8ec001500a7b79650f SHA512 5e66d0ef2ecbd086a77334b9eab704b49bcf9cd21e04753238aa11896d412688d8f5e00a0ecda84cd0f34ae587bd0ff428059f9cad67abb989da2297e00601d4 +DIST firefox-115.14.0esr-th.xpi 693414 BLAKE2B 64d4566efacc3ee77f55c427097fcbf42e4d8b4a8ade04ecfb929d508b99a5eb38c7298e58a828ba000e8c1cbeafe55fdb2e10b29518850a098124f8c9a56a40 SHA512 9bba5f9becf97b19a66c54084993a76230d2a7702e1e5919fa5b644024032e01a1122ee9d23fd3e7dda3044981390124eca68aa50f8fbf00b6976da7864472db +DIST firefox-115.14.0esr-tl.xpi 527805 BLAKE2B 4c48ca896adb310d23ddcbcfa202c3e1cd9fde154c74ea4eaf65436ac60f8c159bd61b11e40d3560f0ae4ede039b1ddc10e6d1df4f4afb11e0b41becbb05d6a2 SHA512 4e1363427d508782b2c60ffa4cfa7e405bf75511100753b071fdf04ecf3c1b457d32163f95967aa4c7ffe63256be47045acc795cc1481644926f3a3917cdd78b +DIST firefox-115.14.0esr-tr.xpi 631878 BLAKE2B 97f62d96403455f0e8fb05e7ad51fc8d7b2b3b78f505727d84f73daa405a60e4bffc95f8c805bff5fdb48b1e7784b237ccd21becf2fe148d0a1e2ae4522b8ea3 SHA512 8f6ead0554372fba5ee5827e8875084764ce1576afe61bbbf3a4244d6c7a331b39d101bfa4bc6b36570924880faf8225b8932eec11e02c9cadfac8877c76c8a8 +DIST firefox-115.14.0esr-trs.xpi 498681 BLAKE2B a0db9ec8ce8a58e70b6b2d5fe9747f94060134445d6eeb2f1d717695bc0035c52979c4e686899914df83c166e5de2a86fef96da9c94205d818009155f9cccfb1 SHA512 ade05aee24325d65028bd01a118f4d15e2392d0959848a389446ae95155cfb2c5fa75d56fffebda558d34213fb1df68cb4154898bdce3c4fa4f15910cca0b5c6 +DIST firefox-115.14.0esr-uk.xpi 707291 BLAKE2B d94689abbcecdd5b5f8a0d6beb38a6d309a9c0acee356413ae9364ca9113d1c32865928776da20bf005b7afef0cfb1da2f6084eecf25936faeaf8d9a7d8574e5 SHA512 5c4ebcac30d73d45936433fae32ecde20b5278a3dabcef0902e7d1768462480486f32d72f102fa076a92ac2365b7d297fb3b7491c7318071133685eff2712d15 +DIST firefox-115.14.0esr-ur.xpi 554822 BLAKE2B 45953adccb1abf2140cbd3eac5ee38de7e787b611fb958d97cebe8d9fd7db2a19df409f0d2442a19557558a0bda1ac134a06cdee328b5da5aebdb93432c713a1 SHA512 92adf4abb3216d3a6019a4c49f934f7a6554eb0be337d0d9017db69a80a258d8398f38395f1ac26858b54bd896058a4cc0001f3d35c80ff15159be65668039f5 +DIST firefox-115.14.0esr-uz.xpi 474694 BLAKE2B cef2e1413d5539d326ec410189cb423e332cb3da6c94243dbe665d1f855a202f2b46fe0c32f9e6acf6361f8afaedb9d361c839be7fcf3c1b7d8e54416d67c6ac SHA512 b041196f3a8c76f5709bba81c68540c3cadd06a8e3bd8d9d2f5451ab1e9984abb6845d07fdd9a9476bd79fe7d38c14738937822096a8dc96bd78ac4f25ca622c +DIST firefox-115.14.0esr-vi.xpi 654030 BLAKE2B 50c98562477a14b9335085facd70c57f5d864d33583687d16e51a18f57bd901a3a6c1bea01339a7a6c0014553a13402ae285194b681a654b7e658ea481d41217 SHA512 3262737b0bbc75cdde7a46237bdaee241510d5497ec2750da4a5f658053a8fbb60bd237de01932fb3940295bbe7019228b76791dc083232cf56c364bd00c8f38 +DIST firefox-115.14.0esr-xh.xpi 414958 BLAKE2B 1af9337e005c4e0f41417b5ef8531b5382d19eec5bd21fe04a8f2cf78b814e0cf465e1def6ed1264820bc655e8913012351490babe27f6189e136f3c14686179 SHA512 482f64c4d78028f4e8425c03471a9a52fd10f12954d3eb4a51234765c4b488b8647789fbce49360a6f7d3a7b19cc7bf4d311e327b909ea198021d067cc3e0a7f +DIST firefox-115.14.0esr-zh-CN.xpi 657110 BLAKE2B f47b3c47f1cf85113d54ae55ee271d5630aedfdf8ead93a642a183a8c2c3be6a1bfba773041f4bd85196bc0accf86c43933863719e9dbd8cb010692fef9da197 SHA512 c6d950a9f7b47a4e354ace74f3029fd81c2eb22a9fb164fe8516faf3c1d3151881580273c29a6fb3bbdab3ba440eb78a6087e5e7ceae26fc230156def218529f +DIST firefox-115.14.0esr-zh-TW.xpi 659310 BLAKE2B 2f552df1a66f7c4f05e598c55d977058fb625aa256f3e252e69a3511a34dcb294737a5ae44f5cb836e595581aa6886e5a37488fdb9cd78915eb152fdc40e9092 SHA512 263a0bf61992005d76570f13c3472fc7ea7d04dfcb3b5dc468577c6be6d95045d7d0ac743fe636650e3dcd056063ed9cd6e25983d8fd8f5078fa68c774d8dde1 +DIST firefox-128.0.3-ach.xpi 464070 BLAKE2B bd1e92adb3cb6f1f4f61e9c1a168190c26972ef846fcf45cd14e7f29d6b5940611d6348fd6b3815f356f80bc9ccf5143775fc602cbb2035ab33bd77391721139 SHA512 8ad9af4e2c693130d471f8bd99f32579cef658317dccb821521069c130647ec7e7a0cfac9d8d82c8f3e3600f22e080ec4174bd8bf7f7cab6107a6a0ecad1936b +DIST firefox-128.0.3-af.xpi 417515 BLAKE2B 45b368d5bdbabeab7cace3e29dfad7d2cf4957fbba446a9ace922c0f6cb0683de1d634a9146dda7367a376b6802d6579d2f0ef1095bda24886a3fdae87dd6ad5 SHA512 a7d2ee5bed99cc18ed47be14c0421d84a815af7f870b4307517f9ae3929c81d6f2f7d646aedef11a3f91143aeaabd57a7f2386e92bd6e176849356690ba009ce +DIST firefox-128.0.3-an.xpi 505881 BLAKE2B 0f9ecd72aa5b4bd5af3a659002b9956bf9bcfdb3a709b5f698afaf393e6426b3606ad6140b861e5740edf40910b9d1d07dc6eb092cfb1d742b07dab209803295 SHA512 b3d16a753b587acddda69fe1e55967c88ccb3624a603be4030c78048385aaeba74f9b2379bba447a5e0495f3d1942fbd6f5ad6c41ce2080ba762493036528266 +DIST firefox-128.0.3-ar.xpi 610860 BLAKE2B 5176beb66f9425c5996fadac95cf17c9377840d0e6a6dfeb4161f51f6538afa0fae0188be85f802ac0be5e20d658fd0687c7e2ead170525476335cc8890d100c SHA512 7e3490a77ccf13b0c2f0e625811439e0e4004cf0875b8177822c6fbeb999fe676b24ffc613ce4debcf7ec0ad3fa05dc7b8a2aebccbea41683c6b5c625d640621 +DIST firefox-128.0.3-ast.xpi 496342 BLAKE2B f0abb0158c2fec99b922402eaf070252096723b2cce94ac815f458b01ce4a671c1152875448ef138ad38ec6b4d33bf0f8bb294ca0efa8558e639462167cc6e50 SHA512 6b9003ff4b47041ddf1622c1b139506472ecc86c3445e36a6936134a04635a7d3f64609e5cd4222757ef7d9b32480b6478477b2dcf8b12a4d4d67514db6d859c +DIST firefox-128.0.3-az.xpi 490772 BLAKE2B 311b1ba01f7eb728c8186dcd08c7b65578b67086003b696f4e08cb10dfb6771d35c9c88d25cd42ed8b3f75445c6e4ff88930c9346f832519245afe24008ff256 SHA512 335d130106fe22c540528ced5f2277d6315cfbe33072a76fbfde3ce225543c3013311aad452ffb187554b575c5f3b656112f343c085b83397d9be8a70dc74b20 +DIST firefox-128.0.3-be.xpi 714336 BLAKE2B 1b48e36e40f5ea942afe17a751d17be28644b75ee9bafce2f1d33e00ff3d8f9850eb5f146a3e5ddfcd613b8f441c1000946ae22ddba74127ac317762c5ead1bf SHA512 5ef69e53b8aa687e05d223df109c84e559095a725524f0d0d23fa1682858072237510e4263af5ecbd4dd7dd28924d9c177bc78db247d2686eb1d8376f71241d6 +DIST firefox-128.0.3-bg.xpi 606582 BLAKE2B ec4c722681e6d15e01f3fbdfaba5879a906ab790c09b295f4bcd7aa6272a64a2a3714d4fcd60fe28adc1a8a469d9842ef95ca158ce9d0a31dc52cbc26e7d6413 SHA512 6c79c587e32e57b5640b09736cca745f5e536e115007825de1c14ed822ed5a9a0b212cc760dfffae8cafc6b792b887483afe105a3b1c5aa42df0bde3ad80639d +DIST firefox-128.0.3-bn.xpi 581536 BLAKE2B a7dd44af2911ed3a24f738e6e4c29fcb2789658bad7a52389e4647a2afb57e2741a8f54a282d6a540fe27fac9e424dadc1e79b3838508f52ab8b71bfbd79468c SHA512 655bc0615a83481a4803916244d3ba6666501712f8c684a01e51c5118f70d3b5b7a1c8f7658843c554d7849cd56a287a2794ccf4bed28780dd2590e843be17ae +DIST firefox-128.0.3-br.xpi 588930 BLAKE2B 6b453122beb85b5462feb48a38bbe0bf968dd69df5d08e322286cc0b7d42ce48f603e29da0bb1b48d63ac9ce46192b391fe237ea8ff37789bdb007b422f7830b SHA512 65e7498f17888ad8352751493d9de6303140dd0a1ddab5336e4fd050975aaf6e97f9234b91642b87de585af19c54e4312e3fb71e3f2cb8af14ca56aad0d96686 +DIST firefox-128.0.3-bs.xpi 501988 BLAKE2B 1f04823572f0aea757d5906575d0c3c8cd5d6089503f8622e104f00da971ce5c44a436bfdc0506b1c93194a54d1335d4fe353c377614927bfa9348d4a2e3c7b1 SHA512 4875b5a5f46de9325a7ba0973a4ff050704fb99dfd2bf2c196541b7a9b53350fd5216c17711010ec719037b60a4440d4b151c5e6fb3ea8ba33b49005a6d6b639 +DIST firefox-128.0.3-ca-valencia.xpi 546189 BLAKE2B e1a59c44c5a00703e906dba00317636fb85461c4635a44419fca74320d4f07359e43806d5a3c19fc2f5f8e8f298902dfb40de8e346514ffce16138b802f2f6ea SHA512 93c0068c48e44dec07359ea8904d9f6b8254d55544a46f8f814a5f92eaf35b3d860cce864c0a2c60bd95b6cc107fe4beeb5e9aa7d7a746034999dc9681ddd138 +DIST firefox-128.0.3-ca.xpi 597111 BLAKE2B d99208ac1f2c7fc9736b9575c7826fee0f1a4588488d873aa689d66b328d569b8ccbc79e7c1c478b19b3d86ca40d1143efdd0eaa7bbcfa091d04614639d689fb SHA512 c15669049e0b2f62524d5c57af8b8bd48944b299e860b1c2a55cb7c05718a03297fbbbf8b3e4e5bc2292a817048221ef08682b02a9cae485b8c2215db77621eb +DIST firefox-128.0.3-cak.xpi 593083 BLAKE2B ab040d4397c6c14b2590c66845ddb32e04c9e421f63630924c5c8c42218911b80ae2d7e4d8eebf4b1cdb924e1908c7ffc8198344b015e8e4353e6fbe260f9298 SHA512 028f61bd1cf887d51ced7e5dc6034db5a4cb50f2c8304dd6d6146550eb9aaea35bb1078e6c29129979a3e1c5e12e9f204101041ffdb57e335ea5120248339b44 +DIST firefox-128.0.3-cs.xpi 658964 BLAKE2B 77440f97c2def843531d0da78d2fa187493781902415ccb8f1ccdbe54569204f63f9f786d60011ece646201adaa6bc405c6156e04492f4322ef38786898f1bea SHA512 facad91e1587788e8bb052094690529fd580e6171a0dde9b3c226470acc31717d154a1d1947b004aae7fde2b7f96ecc05a481cc88eb2e3f590fa9bb61b5567ae +DIST firefox-128.0.3-cy.xpi 622920 BLAKE2B 4c6832f17b962bc303c06493eb5611a512f4d12c49154b7659c081a9ed6fede434c55d141ac37d513dfa0d9ca8450f238dba269461529008dd240f92fe938f8f SHA512 784cacf3813c3c9c5e1f3febd408d0100f3579d3eaa4a7fc910a6c26a731b3bb36f885df89a58aee291f992e105e231e444a2e3325d4ca56b9dce77b5740b9c9 +DIST firefox-128.0.3-da.xpi 610842 BLAKE2B 9015d327ac2a263a0c344cda13bbf68467038fc5fc0b1eae05aa8db86c38026f7e69f4a34a0877a12abc6a0e56aaff009bdb1137f28b6833d4313eb5835f439e SHA512 ea6e6dcc0eecdddd597e94d4400cf4bbe152329b5e5a2b02f61c9962995798ee4f009ec5df709e100c9da4200d98a853cf865bed38e047113f44bffbf20940c0 +DIST firefox-128.0.3-de.xpi 632474 BLAKE2B f86ccebc80756fb5ff83a8a56e1e05814605c3e6caeaf17f4bca1d828b51c0f99f18254484aa6ccbed5aa265881c2ffdb8e12efcfcff5fd444e64d2f35d2db3b SHA512 5a92a77df3466d3604fcf51cf73f6c2b76d64353e81f437413a1d3405ac213c2dc987f77b6efc3b5b048d794884fb08e456a316fc0206ce1f3f13e60aa88c522 +DIST firefox-128.0.3-dsb.xpi 650816 BLAKE2B c96a1a12a5afaaad739e05e0e319440d4cc69561dd7f715153753b4c93a2f7e26708eb33a91d7f83375af6d5757226f6e93fa9ae39439d8b462fd66885227ed4 SHA512 e4e590209c249797a9accec4e7cb1c74a5c40f33afc217e03d9f2ba0706a15110aca38179e0968d89fbbbfaa2ab1acb6a870d8112c70756ee930c2bd4c0b9433 +DIST firefox-128.0.3-el.xpi 733070 BLAKE2B 8b33f0a93ce6afb660b2c6782515b52534e39a136dcafb7b93b706e2b6f6fbbd26ab62797b0f6e4a837f9d52879a43babb8c26ea0cef987a149078f3a45dc637 SHA512 d002d58c81cf7de1c54d979ac7423f57e1b581a76f1671e8a74369b78cf70d5937a5ab52bf842ac73846a06ebec5f13c1ae03a9b31b2cad17c95a6a966350c52 +DIST firefox-128.0.3-en-CA.xpi 584678 BLAKE2B 8387203395cbd953bf19962d2afc473e95237bd2c4f41be9dbd109ae114bd51c2b91edd948b6196835a3a4d24f49ae4ca882799ed39996e5aaf82c4ac837622d SHA512 f7c5f2aa5f06abc9b01a9ff23983bd66d6ad42388f84b308586b5fd9819d863d525ec28e8657d7e387404fdcb397ea08e71ad850b0e27b8d71f89afae52d02f9 +DIST firefox-128.0.3-en-GB.xpi 585259 BLAKE2B f30f63c71bdb7d4836f87aa7b7b4adb45c5fdbceeb24e83b5176e261e50143045fa678a06098f0abd8636748aed74b9bd95dfbacc9edea99c88a747fe6eef34f SHA512 cfa76417eab21bd6daefb52c9527838ba18903ed1def71e50a873a038ea947d33acddf3c6f327e0fb82cb30b80440ca7a166ac5f43b0d927465e3f79d046f060 +DIST firefox-128.0.3-eo.xpi 613700 BLAKE2B 45f53a29dee57ba65911bfee5197f0a6fd57e16ea33a550a81d19bef57ba3937ea87a023a8bd63db6cf96d2f8ae93965b8572274a6e3c852df7b42911fdc7277 SHA512 3e68dd24d146cfbfe0e647159dab64b74e772f0978ee0dc2027e2b7c16601da276f50c782a17ae4a0e2c67816bbb372fbc98f1d1d1d08758806589ea86e1ab11 +DIST firefox-128.0.3-es-AR.xpi 628031 BLAKE2B 41f2e8ce30210bf5b16ef41294c851e8233090a6d96676ff664369633dc9ba01d23946316812c1b7443f7195f62b7d7e07281e69b84bdad7f4f77e97620eb35c SHA512 11a5654fb99b6802bc756f2854ef8feec159bc528d7aa4886c94464a072a9c09117effe751446e9788e317f7ce4f782e9b43ceb965261b48d11aee936117b362 +DIST firefox-128.0.3-es-CL.xpi 627301 BLAKE2B 8c25642bc62cbcd3196840296acb71e91dec55c8ec92b2132a1dbc83868a82cf64675720bb52c9fd3069cdadc961295e93dbe3ce4cec0cd2c718ef154d42fb4b SHA512 5b549095bf4f7bab34c1b8f275d088db6196a6aac05061125bc8be3dac755eaa3b5756422161b7afec5e47d31a675738ee9421a296909bba8b28a6c055fd8282 +DIST firefox-128.0.3-es-ES.xpi 621076 BLAKE2B 8c65633ced118634a2d948230e9666480dbba8184b85d85bc0e0f932c379143c0318dfac60f94c5b589d10197fe5c9fe24f9850ce43115ed2a1ff4fdf5a04565 SHA512 e9b04d2b405efa09474b9b61ca371eef0d26331de252256ffb92f8a504aafc1466c7463024903e6b918663465afd8535e1e9ee5f238d83cdf011f35ddd62ac34 +DIST firefox-128.0.3-es-MX.xpi 604994 BLAKE2B 13514fdf5b7cecfeb365f4d486da91fd8326db66d07a8360416f0e364ea01a4c5abe14e54272f599b1877b4c5ce4dfdb4393ac986da14407d0f547769e1f1b2e SHA512 5e0046b8b9da59a3f810c2040e2d4d928d0706e168374d2bfe5970c42e619ceb07d9b4720d53dadc96c47559fee5eda22d8c68c536cb7df4966c825e24eb6457 +DIST firefox-128.0.3-et.xpi 539535 BLAKE2B 451d9a8605d16f53044271e98b0920ca5b2bc099e142c087cd5b1df5984c5f8291f98236e5f0f4d73cbbfd061bea7d2b0c9b55b2ae4ea094d333d1cdb0e9caa8 SHA512 11cc2db54e703cfe221baad2412dda92603cb7111ce6386e8fc303f20bad116f62490b7bf456a086f0f275475f74e77b605d55787539d33c7d23017fc851031c +DIST firefox-128.0.3-eu.xpi 599329 BLAKE2B 8105442b04a5c9eb520caed777311997c5d6f60793f2f3347bb66189a1275e4f1d47b7d9c701538e97248f884d50839769fd5bb806f6490727e4a68900221582 SHA512 656350dff1b95f1e101ed9be60af3ab0c939d74b7af4f36c2523504c83c0e5cbcb39541ae553d7af69ab2f705b48cb33b9881df6f34568fd7f474d046d0ba651 +DIST firefox-128.0.3-fa.xpi 590030 BLAKE2B 7b2dfacbb93ba1e3b667c79e5073414c629db63595b519cdf4a9c8ce6bd104ba9a1208d1a44fd9f73fa25a242842908db5e5ec36a44ed46cd31e8134a5d26357 SHA512 e2a77e4492e71ef4881b774f5b6e1fa98ca67acd5a8a388c43801c2c15309966bf3539aa2c2f2902ba70707dba1735fc4e4a77343de005bf41e52927bf785862 +DIST firefox-128.0.3-ff.xpi 476055 BLAKE2B 931afa781fa667af22c0b51fd59b9a1ed312c7db3cb91a42b74309198f2a71c71b70a0df6768084e39077b5115fd908561d58b28c2f6d8b0bc3f1f8893a073cf SHA512 87d744541af7e9a05c843fb7040f30c8b316a41827f152946114e1e63d9fefd47d23b326892266c93bb8bd1c4795ec547049e8a1af843a1614d4a109908c0279 +DIST firefox-128.0.3-fi.xpi 606457 BLAKE2B a207329da5efdafb981ebaf5316504edbad5180377765bef51d4cdad5a7e0e1b4266dc0e7bba922b593d9955fd25dcc5661abaae5d1337a3eae67abbb2347644 SHA512 e6194ff84a353244861ecff3a5082c1324daa59443f2567db76ff5984b37309889f287e5393a1ab7607bb350b9508b86f842917aad17a3a109731c94f145c839 +DIST firefox-128.0.3-fr.xpi 640303 BLAKE2B 5f3d77d8489322a04611d9938fa4db843d9d57caf65bb18ea95317bcbbbaa43fe97a937c79ba9e3fe2ae813da6a0d8315e2215e0fe9232e9f4b9e4606ae7bb52 SHA512 760b277ba49f85b9053ef8eb7d9e6b9a2a8b324f5c74f9d6fa937fb6b8186a7a08816485b324b17807f62155c763b6a6f27587229b562c044216ad538e029513 +DIST firefox-128.0.3-fy-NL.xpi 623727 BLAKE2B f5a1668fba78d69fd366db423e07603b7209c9cf1c28ec88d3a9042fccac16f8a90ae7a6b7e3e8c3271541c98869f0f82cb965e4738747f0d04c53786f6af514 SHA512 c6fb36046b321e78e4c59401683f6c9e58c343d20935c29fad34f89a8974591776494ddc78eaa9408a3d6e4303bcbd0f1cb80b131b416dcb1be45860832cb74f +DIST firefox-128.0.3-ga-IE.xpi 470992 BLAKE2B 69047a8ebc01e503f4a972d215081b2c9833209f2ad714e0f2580727f7c080557b87137f46af7d0d04221edbd3888581eeec1c57ce30103e17258b279f4e003a SHA512 db94156443a1b7b21778ced1e574fbe785013d63ddc186aef0619aeb15839d3d33614e701d5261801819c469490b14950f28da9211f50a90a04a3d70a5eec88c +DIST firefox-128.0.3-gd.xpi 596589 BLAKE2B 7f8cb4e09c817927fe2d6bc1e4253c0e6297226c67051ed3c4982155519ce25f8c87d36ac42f51bffc24a838a7c1158275447d19f7623ebfbca35e37cd3b9dc8 SHA512 321075e3b5feb6cbb27b3829837f1fa3d53c59b2012330b8e170e46198da30b181a15d96da403952f9da210e0bf32659c01b46b1cd3744756c6b19b582d7677f +DIST firefox-128.0.3-gl.xpi 604094 BLAKE2B 96e4aa3efb08935d34e15b946975482c271bd9ba871ca00dd7a3c4996a16045b58d224b8183d9e5c3d8393ef1e3627e9e14b7a89f1d8b3cd1dae9ee819dcf808 SHA512 b8d450fe80e5ec0ffa0c0090cf62a5ece4e9643ef1d4e7b6052fa7ef3e20a5d2b61b5771f14a990942bb13cfb7cfec9d11a04ea1f578b1875104a7177f8a9789 +DIST firefox-128.0.3-gn.xpi 637427 BLAKE2B bdee578c515ed1a03e123c50b1ee8a63e6204fd46e67a51d541394b382238b6f35c97a524b16d9080276e75ef024cab834a36d95950eb930312c577bccaf5794 SHA512 0e7df3485b0168a0b74ca9cb59ed80f633b097f53d1ddee826d95831868cbb887f17e8560cf0ca843ef183760481e57d3dce53966dcc40c2d7d0bb428db4f197 +DIST firefox-128.0.3-gu-IN.xpi 527344 BLAKE2B d06eb237de22b1977831568424837eac47305cd8ef0114074c9ce2437a4f9da003b820bce722293b36303c23ac3b0142acf1231719573472f545740b78ed8892 SHA512 edf17a82f01afb28aedb484287fb70d35fa62341a2c65dfc2160c8962522b55146bac85f565049343059feed02ce22f067e1217d6ed10071d8a09301f18289bf +DIST firefox-128.0.3-he.xpi 631587 BLAKE2B 38694f10578228bd18f3e810a667575b3a004b02a84de07449506c6c4305d67101c4a7ed31e9d93fbd9cc8ee2bd79d2b681c4900d262d635aaad8d4f71cf2bb8 SHA512 2a2da86b5ed0015f278582dd6c7f61a7966c078cd5af77eeee107ea5e6418914948586659a0786b418fff0f23292404f48165622d9d5e518251c1a15be372364 +DIST firefox-128.0.3-hi-IN.xpi 566770 BLAKE2B c77643df28520e35b163d86ded59343a228ed88e55566e035d45d4d1af165a63390d9720c6c2e516cba69b33f0f692062a0971d4a2b3a21ac19981b0456f82cd SHA512 6d1b410f653ea49e3356c73942e8f3b6791e9c74ab54611d1b24a1e49374d67ffceaed239ae90ab580cc02a02925e357a87e780c6a1910b17294eeecb561252a +DIST firefox-128.0.3-hr.xpi 559805 BLAKE2B 32717e35361b2471c9ac163a1bbfc08ba05ae47db26c773ce094196024dd9f80fba173738532a58d07182822a8f5f309d08861f6937b2986b8d0f1298cfbbd2f SHA512 ddfca42876ce1702e1b65754a1411f66392efb9cf7ad474ee892c29a372d5f05d4594d52b3a4609b0f77e7e4eefc8e38c790a462149d34a8b302ae89178925bf +DIST firefox-128.0.3-hsb.xpi 646889 BLAKE2B 2519be9e83cfb86f8cd335926f8e3c99ec9dcba8291ad247f86a0dba7d86d2a71fcc4adcec735195d57f6961290cdf9e766d724cdcb66a84e4ce0d99d90da027 SHA512 9c3432245bd916f09da1847f3c80291151bbdb4d38926411e672c04609d78c0dd79b625eb8650edd800ab31f0419de261c171709f7c7cc6df6d4ebdd6e82bcaa +DIST firefox-128.0.3-hu.xpi 649176 BLAKE2B 707fb79f74a5b46ca6de44e6d56112c2a49c34422ec95ce6d4f978bea904a2a3f017c88286be882b2c174e7e057b610753c030889c5c54c3ba28f7c42a810cc8 SHA512 ffd814aedc6e9aebca5c0209ea01d2de21b562734ff2264bf21b45d2c600d7c46d6ff65a6ac2aa250e7fd8e6b7272478af859569fb6a1afba7c893b1099b9cf1 +DIST firefox-128.0.3-hy-AM.xpi 651598 BLAKE2B 6e90a64ff88c240e253e06a3fde78fb4efa95883f7daec20982ff7402898e3ca1a3c6eea098a27ca6cd15dc84d066eea4f36784f205c95296bf2b8655d5cf167 SHA512 ee664c2a7a60782f7ea3e32b5e1439b9e4f5b37e8da28f6c05d43779e896e2dcc99505ee34c690b50ae478bee1a5f500c9049ae79fb4475c993c2a1afbb1f3cf +DIST firefox-128.0.3-ia.xpi 611216 BLAKE2B ff2ab5c4bc21204842145d7a459dc09f99209ad49989e94fd28c0f5b1b34389a2995af3f63dd639c436ebabdaf2cff99c6da94dd3b30f1c3fee385966dea64ae SHA512 b7adf46f3a17caeabef6b752f3ae09095bae922cc1646ebe06edfc0cca31c82357ae466ad97603d92e611a5f096ecd6d973cd2a38fbdd7f28d2ebd523a11c61c +DIST firefox-128.0.3-id.xpi 580206 BLAKE2B 75d9bd05b30b9d052657ad9d261d5999a60b7ee0fcd80d6e48b45f6019b6c834fc1ba12a32613ba2f255bde8f8165804135f7005e79940d83e44ad2ce87c9ae7 SHA512 43d18cb4d09145675ca816cca910feaa7af41a34cfbf35e42df2d9d3a9b862c5818fa8194ecdf184e4f2ea19e6ef0c553b0145bc19f6368e28ce3e3ec62f8cfe +DIST firefox-128.0.3-is.xpi 616485 BLAKE2B 94249d9d33c13d2d43b14032a1c60ef8d2ed59490e8249fa60787a2da489137c38a57a086fa857d215473669a7dbd022c50f73425b29f7ce6d47dd8d013663ce SHA512 3db273effce357e5bb4916c783b8129e10c976cdab39cf0e0c5b79b59742265ad8f3b477030500de914335ef3df167462d3d687f5bda27023f637e610adf2ca9 +DIST firefox-128.0.3-it.xpi 567318 BLAKE2B 759bc1e76eb91b0897554a8ec1756c5a34e5a78a91dd2239b89153b2d72b403c06a6f63a08af2ca875764bbbace1c319e36173f7bd76866cff0f14749e0a7658 SHA512 25c4765ed40c64ffc550910572e4d01ac39c3aec1d76b5b6527f6c2a48e8854b8e3182154b3a09c6c12ea4dee6389df9e3417ef8084ef96e9a1313a39b58ea53 +DIST firefox-128.0.3-ja.xpi 675632 BLAKE2B dac46fcb428768d09ea65fe3aaa73ceb6517a4f14dd2bae6f0ec0f9dbbc9ef2647f0ab9b63d8607c8931316e973a111e54bed6da825e6a790abec5b3497c8e2c SHA512 a409699efa9053660a123fdba9c78969b9771775621549c0ee562f8ee83008b0119e4bb25315325b4e456412569c57d3fba64289a9c614ed5b4de744f8ba50a0 +DIST firefox-128.0.3-ka.xpi 660713 BLAKE2B 1c81c2351081db0783938c6f0b8512847be4562e67763ea8663fe542ac25f3e48f99edc39547270a0d8282296dc400c65b8f16045795ffee80c085dde7c4b646 SHA512 68d45b09e7da2be9a835e75982617c1219bf9ffa4a3990ede1dcb7709d58959741ad78a258082639377f125cb5cb9cc10c619a3697bf367a3e8555f5a1b47d4d +DIST firefox-128.0.3-kab.xpi 608748 BLAKE2B 345bb1a7f7d2acc5563be97434be928eae6b113ff9ceb6645f834208354beae6f21ff82a6ca7adc0c8eff9fc75c0bd89e63f05b634deed0d8b1cb299fb4b23e8 SHA512 3f5637cd8013626ef3a0cef44f205f021a8eb1e7794e1a84a4afdd836698d72327fb94f4b2c572cc5da94c7f6a40cedff1d573c17a222732f1884f987d4077a5 +DIST firefox-128.0.3-kk.xpi 707825 BLAKE2B 2ce39e085bccdcd6a1399867bb42e0a74dd4bc2e1508a6f51e5c8ffe4b52901062ab1cac3645c1704569dc1177f58b457a84a6c1c98982fc00a34bcfed112f6f SHA512 f4337887809f5f02a7fc229996bc3a15fa77d79ef37463e396eb74c9fe4a56a9677e312ca61e6a80d3b29c7f0111f5b8d0916e59905858682b3dd77f9cb98fa5 +DIST firefox-128.0.3-km.xpi 525884 BLAKE2B 912b0436ba3b7b339673cdf7c81f79e441f0c442ad72cf9bb27fc553ff178dd4cbd7b519e481632b8295b13ad8bbdcddc82bbefbc3fbbb315c2f73eb6750465b SHA512 508fda7db4e760393936493133faf75dbc426fa14f0f13d5084a2d5fd7972eebf2f500eddd567f7eca215d9a638748e1145d7a3c824de15b3679935b412a8aad +DIST firefox-128.0.3-kn.xpi 491252 BLAKE2B 3e5c41b6ec15d880e1c8f32c96aaefa1fbcc015939765fdd6f15aeba7c01e94f2d52f5d4fdf4cc17ecd0abd22920a572354b3a12dbd78f7bb9e77ae9afcaf3e9 SHA512 c2e1f572ecb7e222d32e498c49421fe4f7837ad1acc4671822a7a54c0191fe9d6d356d8b2b49f607f2319d9bd6155ac6722a4446c95604fce4bff85bd03ef453 +DIST firefox-128.0.3-ko.xpi 661599 BLAKE2B 57d7bbfa64e2ba94edc7cf797d48516279ebabaa8e9699871edc428b83b9f7970c6210ff13dd5b8b2916403cf60c74eb9e357078b6c5e5027b982e16a46c05ba SHA512 39a3ac1e689d58a016793983659e164073943b850962a72e96f59ac4ba9300b3238aab77366c8497e4a0a1d57cc5936336940d0d123a9e2510c612655e1c03a4 +DIST firefox-128.0.3-lij.xpi 484092 BLAKE2B cb59f07aaa69341e117baa9985a5be36232101066d519e240cfc6e819520ef676ca9be09c1b9972182a73446d59bbd5c605171c0f62b9d29d3df2d3745d7b5a7 SHA512 a10a2c3e950245f7cfa5ac79d66ee58efb29988eab3f2bb2755ead5eab3287ded6291d3b3e23fc74cdc32f227e4f71eb0525cc46899caad771550ac6a4a60e7b +DIST firefox-128.0.3-lt.xpi 572684 BLAKE2B 3603ebfa2cd0ff6d451eaba407a832db725fe8e6e82af9e0465a6cd9249982d1ad6798c22fdc58ff3ec69b77b6aace97b76618b9bd7ddade2efb52d0a9f907ab SHA512 862131b2bca7a61b11872ff5caf0322b1cb61741ba3927bcbeaea352869a7929949dc93c0a9eeea05b92c0314cffab9a9588087ba04072474fe189e180bff937 +DIST firefox-128.0.3-lv.xpi 574392 BLAKE2B fe46033315e198e87469837608e674c8c0fff0a569e61e74a778870615821ad0446946cd6fe8e28be68c37292905444f31862cf01cc61a5fd7c15c09ecd05a20 SHA512 f10537c5997cb222dfa1e23819b2a12f94744748e6c4e7266e0f9cc8ccf56f0fc6011088e223f5bd1a8407451d832acf83bb339b9191223efe7042ca7857d38f +DIST firefox-128.0.3-mk.xpi 493840 BLAKE2B 87598e549efcbd16468d7971f741c0cba877f0cc4396d20d183e49243a685bc557a0ad851bfc5f6f4baf65b27fc7a00655c60192440af4f76dc1ffda5117f86f SHA512 b142a6890dc0a53baab76d667e777101ecdc07051a61247a10d8495c56a9966da9893e92a2f4e25a205395bddde12afc621b725a911ffc76cc3459f3252c97bb +DIST firefox-128.0.3-mr.xpi 532094 BLAKE2B a7fd734d1db3bf102560748af542e1b46f44d461af49d60f575dc5a227590eb7b4b8d0fa8699cb0ab02662e40ecdd3f082348dc7959ec7e780da1b3b10433b6f SHA512 2a89a64657ca0280f6ce854d678c23abbc0f162694a59676998987e7eb80ec7e990984d48e2cffc571f18c9d500e324c77c77e0ce3519c2043ad38d9fadf66d0 +DIST firefox-128.0.3-ms.xpi 449731 BLAKE2B 1fb71d1d685d717ff9422bd1ee20d705d81406924799a559defad2215e5d63cbc3da02f0716291db318de811ce47afddfb5d233350eeda7392c9d1de34f9e609 SHA512 58abfe466d93e551029754a31f91a2c2e6a8cdd453efe8e74f602b0a3fca27f80b3c35111d23f930a93d82548b46756cfa8ee1aaec8023aed27ace891e8d60c0 +DIST firefox-128.0.3-my.xpi 518622 BLAKE2B 2d090409ec509e341d5e17de3f792d087372fcd028d790b71939b8334b41f4de87a1c47380ea73a3205dfe166703524d0d49a02a3037db6c064ce326b18628cd SHA512 1c3252f76dbdd69de40b23df6645bfaf47970a4088ea48642f6354a87f02cda82d9b05e0413beff6192ef87c497c642d9901e8c836cce626380d0343fb9a066e +DIST firefox-128.0.3-nb-NO.xpi 607049 BLAKE2B bc56de8a276e2d76091239d735a96c4df9d0b1565ca250062288bd1cf751a4a67cac5a368aed6036d5b80a8c7a548904b09add5ca9758b075b10bbfd74ec374e SHA512 a7df37359438c835ccc40749aecae90576cbc3c647fbec7742fd7d510cc84f46a82db8c998098ba96394d8aba12bbb7fac393c3dd12d07e24252b526a854e969 +DIST firefox-128.0.3-ne-NP.xpi 510942 BLAKE2B 216913e673179e124b36413ad702d9ec7dda2284675b6257f234a5ae6417c98013b6c86f096cb91d1be5a1952b35122af1d1ec02caa2ae7a065a69bcc03dc3da SHA512 ee082c60f564dab5ef1e83a4e2feb26fc311567254e0b1a8caa74c5ad0179c4bb93ccd541ce05a657a85e04af2d2d13f7e250cfc77174db68f460c7af2b35158 +DIST firefox-128.0.3-nl.xpi 617411 BLAKE2B c89c8044d76a0662594709ad3cfe600c1c5abe7276bf8fd91db5a205d7cf15e24384fc294e50768ade1a5a73272b5ebbcfef2df7c2a7f304a4b43a6a4d02a328 SHA512 e883b264861e35a7fc5eaa0da2ac6aa51de858cb3d91a0a3beb1140a4db9bf6bef214362305906f5d9174441aa84728314031994503393d009900681fedac45b +DIST firefox-128.0.3-nn-NO.xpi 610252 BLAKE2B a3d2d7760c7b7d47d34964a0314d23c66a608252eef4f7409062955cbebcfc33ecb73cb85b71761ce72cd4a9770aaa8b229c6c43004eb98609286e7f76b8e472 SHA512 67fc048770d1957432156ce3fc9c97eb45d22e4fd7aed2f282f12e1d60185b6891ca0ffa21ed0f32a2763cd009e4df338581b2aee36e15258cf350818868c892 +DIST firefox-128.0.3-oc.xpi 612809 BLAKE2B 34c0873944523c5aae085ee2decffbe08837c2e81acd049ae9b7b36dfffc6863dcd2d0b89ebafebe3a181af31998c34c4a19782ce0b617158abce6c495ffdb6a SHA512 593b0b6834e7d94189bedc91d77d562e6838edfbeae7cfb4f8bdaf52694b1bd7b0f2ba927f927b27ac8a6489678831ca9298c3b0ec6c1a270379e9c9427dad32 +DIST firefox-128.0.3-pa-IN.xpi 692032 BLAKE2B 1bfc754b0d9007f76e3b901aa5393a2917aa0c3b750835df96cc47b9cf3c922c84bccff54e7a2b63b8f77a5eb10ef388268148c8a5fca2509972f047282b1060 SHA512 a8fc7434e7833312ecd263e4f5562bf6fbf5a3025e9575b278db97535ba76740bac2626739c3b58c0b00132d61fd5302621272114c74a60b3def1a3cb8537b90 +DIST firefox-128.0.3-pl.xpi 635776 BLAKE2B 1113d75c1948f7f18adbc2da3569d8c7319341cd49d157eba17992f3ed72b0644c7dba0b0f3b2c385fd6bf7980f23cd5c34c5388e97d6076b501c85d0cb3bc36 SHA512 5ac939b0081fa7c1415f52f85f89180a96abde40571df0a9a479876e346c4ab758af25e2334d3d9fa5a9c516382f1e8788f7c99409ce7bfacd14b3b67c1388dc +DIST firefox-128.0.3-pt-BR.xpi 622152 BLAKE2B 5992d51887d7989051bd60d0925a475899ffa8012d6b3f2421d9dfae092367a3a0ca505e9e6c601a275c482e7166d7f17dfda23c59d6538fe7941497290fc5b5 SHA512 fbab54fe96f778703ee9ccf5b5c160979171266225c72da30b7a52bb35c7b4274ac3284f72088212ea70da1630d645048231460f409b904ed4b3994e032bd875 +DIST firefox-128.0.3-pt-PT.xpi 626182 BLAKE2B 8b183aca56b82f58f3556427af3681c1c0dc2e3c1a76d67b1ebb6b5419947e5f08441e18302c207f698c7565d6cba045c25583be56c770a56de60a9715c07ea8 SHA512 98c8416be8020ee5d9240fd04ac653c772b9b98b0aa05f0300445c2dfa858e8c35c5eebe27ac89c3c220be58aac4593e6c3f7136d613e3cc98224cfefba43002 +DIST firefox-128.0.3-rm.xpi 616896 BLAKE2B 5429ec89787901f540d3db31d71664772c5748c297dd1765411bca8cc2d51e1b22a618e15528b11aa33fa93583ea13f0374fe1d54ac0bde896164ab78b37ff57 SHA512 f18b79781b9fa968ba73451654dec8b942fd501591d6106c5105dc679ec90fdaa93f29c976778aedf9579d4226a760099e18b28eec5a02c14e4b85ed887f65e7 +DIST firefox-128.0.3-ro.xpi 549799 BLAKE2B b40a49d70d64a1582b25c64526c826cb260de98e813babf59473133ff0419fc3a58c29bdcf1d565f744fba5168bb01883b8834ad689f31bf65da94ac47155ef3 SHA512 dc73cfde82074a805bb8e7d2c61e5c2de2dce28c5ed9334e5568ea21bfc5a766afd19a0eca576ce64c65d7aa85a34fe8f6099cc32b2c0afa48c62217b0297d69 +DIST firefox-128.0.3-ru.xpi 720402 BLAKE2B 0943c618aef992664787cc5ff017317642307cc14d21184ff5a3ec98e28417aac9c22c976f63a0b4468de4b6fd2e57afb6f998d7e6c1f019f4822ba7723f0f53 SHA512 4f4aee7c7f2a42a0c58f2e8cc6cfaef5a1cbd59332809aeff66735ea11ebcf79b74ee4943c39273d6ab188294e8fff8b7844752fea7848370d852300c958153d +DIST firefox-128.0.3-sco.xpi 511285 BLAKE2B 75eab6a274672dfa625f2ac0a1756b9323f024b08780f3ea69c355c1fa85fbb6caed245bcc308620cefcbd04f1a781976d6af74f3ad3f913c45d0a1a5911ed24 SHA512 5f0dcb78644eee646d1bbe3edf86be60cec115cc6524b3700d03bae29998487ab69fe6e3fae6b4375f5c570e667265dd1c7a721182775ae1ea0fb6906fe9f5f5 +DIST firefox-128.0.3-si.xpi 611295 BLAKE2B 16802d279bf3632e518e3e46bac1d182cf1b1648e0e6c150e27e17959e92041e2bc377e94b990d66d71cd6a0b9e7104dd1eaeb00a6fd7e629e8d25277fab8131 SHA512 c85fecc2241629e49158fbdc4aa6312cb9c638984e9772756e65c591bd85b500345848d17f9cb74bde41d997facb40edc982de57f1799c3c48c39039be5005f6 +DIST firefox-128.0.3-sk.xpi 652438 BLAKE2B f368517d3fca5da608f7dd5930b71271abfbafa8204ca1bf471a34bacdc6b07c9fc657a93e7956a037a9db17448bb49f14b28afcb5695b5720db18b3a3279570 SHA512 26b2f72fa22ce32016b4d21a1720170d56f76e969d31b72c9ade58a66cb7390f57083aefc05f5862bbee62a445b05c78ddc510a07277dbb5ec77b9be3f2e35b0 +DIST firefox-128.0.3-skr.xpi 707656 BLAKE2B 2329f046dc880f0816f6e6d600d2e8d18cb59051f247d6591625f0ab0f4055929bc2af76256fd73d48b892eba681901895f1c021967d0a5fb8a4e72d67278d98 SHA512 74c8a291d1f0a18ed23a15921a2ccf398278288a224f399709907bbb16f1d3ddb99ca268a8917edc846ce01b415ddc54305d99a8c53f5cae8514478c86713296 +DIST firefox-128.0.3-sl.xpi 617396 BLAKE2B daad5f91bbb5e8bb89d0af35d8ec13161996c2679436a1beb5ad41fa67f8ab322d66c46c44b46e7e8600db5111cba116524b09fd658a4a2c3682a29e3b30a9e8 SHA512 e63ada63e8218ed4b2fd1c758d2ca8300504e6a5064b80f2b59d0a76fd17b2d11b43b2e5899bfb5bf7a0607971d35ee7b0af2f8d1c9a9486d2588e7cf2d116dd +DIST firefox-128.0.3-son.xpi 416404 BLAKE2B 86685fbe19f40bc7afc376d56635cc87c6224b4d00fc5ab7549bdf21ce7021e9daa60994458994511d131a6888c3a59101341102a4f6164335f0bf234a65f1b4 SHA512 56a350ad3b1ca0b9a5e95c8e0a3af70a7eae12d72a2f2a335d827784941904b94a45373f55a60cd5bd0bcba3fe3532650370d60996169b7ade1b0862fcdbaeb1 +DIST firefox-128.0.3-sq.xpi 636981 BLAKE2B ed38769559df3bff38eb30a26b3825438f7b54168d17d3537307eaa687e7c58ba5538a7e81ec2f289b3e1b7360ad0c7a019cd8a7d49b30c2732897052812c46c SHA512 f698b489aca4fc639d3721c2b06111854c7be97672900384e118a25b1273e122b303e607439ccc850946f6bbed0c8f4e801c6cbc48cf953a1f05d8062d7fb8df +DIST firefox-128.0.3-sr.xpi 639353 BLAKE2B 145dfeed9830d01d0a8ce35df69aed7f625284b626897d683fa9ba8c01921beb54d13e479036aeaadb3449af9fd8758cbb9b3764d17ffc2462d726c2679ce4de SHA512 c5f6f347315f789fdce11927a0b139f0a43cfb93289bea7794977f158e4147d5f47c67d5c8c0e3a87e055d92f5b466c9d164aad210bca4d18fe9efb062d156ab +DIST firefox-128.0.3-sv-SE.xpi 619123 BLAKE2B 4e192f20586e54061ae120326c759a565318d128ae0fcf1cd0104faf709042b0ae45184f940614cfc4c2bc8dbfa23b2298522a06c3f9e1c7812a0633bb1ecbe3 SHA512 b2595d15df36bbc4192c72d274fb1f8511e5098edb8eeaedd26df10059ab542dd5694d1d3bb429b6610badba5c5528059e015a07f41ceee30efca83f65e00cfa +DIST firefox-128.0.3-ta.xpi 507521 BLAKE2B 21e1004fab9d36739a84dc2bed6b951d2b084af7479061eea23fe78805a76849baede4612bc5b4f18151614a434cf84f9cd34fb6806b0c38662517c27bebf1c1 SHA512 2a1fa7ebe9a2043a592e4601a6c300779e7770298d2c2df0a0113cf12bd044cf90c3fa7ffb8eac18260a1ad6b25bb2da66b0ea6a490310958193b25007591d7f +DIST firefox-128.0.3-te.xpi 561028 BLAKE2B cfd179c8db54f5c98cf3c1d9552d98e279ba8330b6610f64c9d1288b0fe33c39f876ec888d27e4465c233254433a55d3b0aad6510d9e115d8e3f6f63fc274ec6 SHA512 0e4d6cebbd33433eceee64eab8b40f1e36bb344e15e55328efe13177fb63fdc275bba266688cb45e8481ac5e713ff3e5317d4daf4ee313e411bf5b79bb0bf854 +DIST firefox-128.0.3-th.xpi 693562 BLAKE2B 0bbbe31a866de617c80c22ed199bcf09b93fd36c78aa0b4c7ee1317fb7aef4540947e8e6caa48a7d116b790eaa052bbd7b59ca642772e8ece308dc579393af6b SHA512 f8358f8d5011ae2bef783aa2171b42798eae4dde7f8ef62391769c12c392ebf367c3f9a2a222fde1aab22066e010de7e04ccbc1f660ead14067b2fc944d4808f +DIST firefox-128.0.3-tl.xpi 534190 BLAKE2B 40f1db1b12c292a5e26e97715f0f77a6eb5513f679c21bcf99406bbaba4dd533472138f13cc2be631a402a1e4e57ee932267a061b33d82ce96fd6d30400f2129 SHA512 3c44d168d8890390b698383564a8ef9750fbb6fd0caf344c4f3deb91249aa0093b891997657a99b62abb694ba097f305fd65abbbb600f69ac3e653ce5b37230a +DIST firefox-128.0.3-tr.xpi 632468 BLAKE2B 0e7c7151e9be548471d07a56b93925b0f7217ecbd7d3b2ed39d8052473644865bd42c53cdb796161672c2b84133dde6c8db70a942daf1a88077810ae0a38afbc SHA512 2b82e6ff9af985a59eb58da37655064e036211a7d1f1e7edad5c9fe5a898ff30d949bde31a151b0748867c9b6e9811a0f6089322f7f0898a90865d2df966a2b8 +DIST firefox-128.0.3-trs.xpi 503974 BLAKE2B 34a4cf3546aee4e4cbdb971eddb640909f45186ac6e8f0746d5cdf22c580fe75ad760866933f44ab8accd44973e3eb85cf2ce5326151efb8cfdfb7b1e92681bd SHA512 56d999fa864a8ae752e011b1aca21f68141890d8182af58d03485cc77f35cf257ff3e98b95f1fe4ec096b6ae641729209f04e8fa1f9d3c0b842d264dc0fb7a77 +DIST firefox-128.0.3-uk.xpi 707283 BLAKE2B f7864313a5bcb40f1bb2bffdc6daad3c82e87184a8e4d6d10a18a9d04da6769f402b1cec85cb6ddf8164ee312e8ad686c0aca5d07537d761d7d5153061ae6bbe SHA512 200a906734dab6adb054ec835b9cf378fd7edec2021a9979dc7ef910c179ab04434a7941c2b08929a9a7a238e423ba02b167e2673156da66c29f981088df1a32 +DIST firefox-128.0.3-ur.xpi 560478 BLAKE2B 0d85acde4aa9e0576aad590fc0c7d3799c73c6d89f9f1b8efaa8ff32f2c889f71382bec19c526c6ee2af0bb86ed9c518ee8dcb8c3b5ef4a65514080e73b1917b SHA512 0d30c97debe0bd3690b6938204ee5c079df0df3cac7ce5131bd316b62a048690a3511fe553b44bb6fe0871582c689940f40e5f6e9c1408d8ea739f48af7d4975 +DIST firefox-128.0.3-uz.xpi 478785 BLAKE2B 45b321b8143b10099a1246aa99f0f72dcf83c1d4846f7da1b0091a26bbe4ef563aeb51a7501795ca1f2e64d8b3e2dae4a83b6f121dca47989b6ff9d35da3a1eb SHA512 12ca3b256fce234c683d9294dc612dcb50c5d69d2ae98e01d9e5fa91987fcd13f4d08c6be103cd9c76e39f5776f2a8de02c122971e34fcfb0627f38502729bad +DIST firefox-128.0.3-vi.xpi 655581 BLAKE2B f9ef15bd809f99d525792ab9785dc15a892c6118c283f15d79357ed3687a94733e70272126c947e26f7007df74142c5aa3e3861c454c08292ce18c327d9350d5 SHA512 0d23d23da8cdcbe4005fabf53104d4502cf6bce0e13ea8c9acdab8f5e0dbb01a62e3987ff83fdc0f99a2c8c5b00c6fced52b44878440d5c4a100bef370598220 +DIST firefox-128.0.3-xh.xpi 417171 BLAKE2B 9e0f3da87a68da99ca52353ba8caccf0993ef27fd2661deaa78687eb6158e0a70c4ce2703390b9f0d9855a7449636dadc1e4cf8cb1fc146ed768eb65dc8d8d8c SHA512 82504106fb3908a4d8654addad204506a44529658f00cc9f4efdd9fa5bcaccf340642e1f5f5c36353173846eaa9b9c8483b4d59bd7d43c31c6d03c21a650ce54 +DIST firefox-128.0.3-zh-CN.xpi 657105 BLAKE2B 85d43be34cdff7ba76c8b9d7466678904b913593abaa4538221a805d59012cc9d4923750d41302057dc768b59a21ad8ea9af367af91c85924368821f303a7036 SHA512 8ff9a0c898c344182c1e0eca16b3adb47fea59c47a71ce5e1fa12ef02275e9204919eeec552641973704bc4e20b5f405bf6152192f4fce9d756c975b67bcb5e0 +DIST firefox-128.0.3-zh-TW.xpi 659225 BLAKE2B 5f7cfc5d21e1a98396259b46c28ca5531fc50e0fb0b78000915ccd7c97c1885aa53866248a9d8f0134f706bd5a920c63a11937dea304eb7b6c8b5dd00d9370fd SHA512 3afcf932e426fd3673f90fd1f8fb7f974f03d1821da6907768d50f755c5e59a0c80564ba7884a925d07ca2f53ee3980f11e802723c2a07dcc1c731aa650456bf +DIST firefox-128.1.0esr-ach.xpi 464065 BLAKE2B 168762d0890e65d5ef0033a96d0b9b00f1b12df24a2f5debc56ff8010421cf2e2c561cc7d105853338244edcbcbf3a3a2a4f174568740f4b82d4dc11b164bcc1 SHA512 4f4818a789f7da04a71fc257317e9d2341ead3209c815e25326f13be1501aeacd7da77e86e4bbc2560d1b6952f91466ff1fc90efd16f02762c85ab06e461bac8 +DIST firefox-128.1.0esr-af.xpi 417524 BLAKE2B 81d764d8e9ee71c91d5876c2846929927af76ac51292598abc54926b0688eccb2d5e0e035cde820bec2d4d9b810a9f5aab1f11745e7573f398b8fa2e2d198933 SHA512 cff20507dd71d3076d44f98882f4dae05bc247f45d7c977baa8459b3bcfc1522d3791df2cc150892b838191b46656824e525f3d54f673f61b63013cc17906002 +DIST firefox-128.1.0esr-an.xpi 505891 BLAKE2B bd5a78cb39ee1d64ae5a97a87a97ab85e744797b3f5aa33e4202c0e6b8c2ad987f23ff93cacb707735fc790e8811955cd9b3b2afab0850545df5650283163799 SHA512 e60c790ce037165dbf3f437c59c5f75b5a6365fdde17a8cd6e6898be9f1ac3139c0db1613010dccd8d1488d53e7b4ce80586010d268ddc0d7b43f031c7492f5b +DIST firefox-128.1.0esr-ar.xpi 610859 BLAKE2B 6801ff21f3d89fb5681c83c6f732094699138ef8da82f57e35f7cdcf7d2ed1af8a269e7430800ea0cf3d14beee3220fa3ba10a377c9f674a0e42df084bbad85e SHA512 fbfdb0564bfcacad1e3bc42179f2c4c72f87e8a68ffd9dd7ce473516960b7410e523bcc20436510cf4c61fdfe4b921d1ac7d2397515b5a29153a45a91359afff +DIST firefox-128.1.0esr-ast.xpi 496343 BLAKE2B 9190ceefe857d5f37421f3c47f4af0416ba6d582722df2cc251c2ea93a41e80cda0d6ea8f0c8ec1dec65b96bfbbffba4ecbc3781e1805eee2e29313223349bd5 SHA512 1e2ae9f2745568722c14b3024be2feae19b5cf5f1091c249db20cba8ed8b8c2a692bf391cb485a05f8f0605375988fb022e041b37a08cc11ee8f13dde01ea97b +DIST firefox-128.1.0esr-az.xpi 490772 BLAKE2B 5d1c22a683d50204d5a616eb104516712669dcdc0be033b9022a6e3c3b64ededa01c01d8531988c6c07314babf60650f5d831c107153fc829c3aedb9ea7d4a94 SHA512 87c7875d5c86159b7a5ef993f5518bbc29f308f63512de394aef8749186a233dc77eb22de39c9c3f4b4cc2a01058f36ced37fdd8d1b7b9390fe49e13f4d49a7c +DIST firefox-128.1.0esr-be.xpi 714333 BLAKE2B f99bfe0fbe0ecc51ccb05c33cebf28f6c59819e6e6cb22cf4a0aca7f44ecf6dae3d0133dfcbabae234b5b1329cd956409affd60e2d4c30b5713d42e37822ffcb SHA512 fb234cf103b4a33e07db8df9feb577de5e775367a0c4391b75b33dea4b383d36b78d81e470ebd116b6c7829835a28322916ea027e54b63e5adf2dc42f7e2c12e +DIST firefox-128.1.0esr-bg.xpi 608726 BLAKE2B b4cf84e2c42db2b03bcbdbec5735d4c7cae57b9b46e25ac989ec81e4e93580d9ad35e18341f5c8650597d6a1168aeca6c111268a2cce9d9829a42399b6266c8d SHA512 f0d386d83273f15a6bd7ce1d397df99c33095fb647dbbe8c460adabaa63fef91f4f76c0c2c94a910148da0409a5587fde1e2d47184acad4686fd29300f531205 +DIST firefox-128.1.0esr-bn.xpi 581527 BLAKE2B 004da3ccb9148220c264610abf7a3999f810cd754cf7a88e98f103a62394dd92064fa240b5f0e45c9bec3b172998b632f4b77f90af773c8273880b9cd824afc2 SHA512 67f708305f0a5af13efcba5b63feb2873f30ee04fe4ed1889728b7fa248d7c54bd748882ed37f983f179d9a7a60ea0c0d2888b7a79e37ab083b49892523aa468 +DIST firefox-128.1.0esr-br.xpi 588931 BLAKE2B 6b3f93b744cf5727f5bdf2ec23a54a296c55c9c3fd8b3a39495f4811779e1d5f17d0320d273767a1e4418f5a9f81ecb7703c38c8d5fa72580b78b3dd3f68ab20 SHA512 eb90a1cdbf3fc0ca05e5ad4a2cc34ad2632b552ba60d9f875e957b1df02acd4266164e687e38bb5baced3ea5529fa2531274240a286c59b2b156d4233462aeb2 +DIST firefox-128.1.0esr-bs.xpi 501991 BLAKE2B ae0c29b7c8374d9edf23fc17a84dc38c7ab01489e63842d95267ff3845749918949adb15269fa8adee48b04c48d8fa8fd4678a0875227b17fadbceaf0184b3ef SHA512 4ea880709c17ded436da647db2661d1a760b0920bea7e450785d652fc7eed3ba306b122b4d6562037e12402c4c72dc3f6a7042d61ac4212987f890ea378b56e5 +DIST firefox-128.1.0esr-ca-valencia.xpi 546201 BLAKE2B 6be32d6c147768cf59748cda25424db00d65e8431ca915c539b6cd16ce8078fe5554ce1770e3d4d8d535ad84b9e5445d20908f10795efd04f9708b882c004f5e SHA512 c54d8975f8162bf176cb8fcb424e38f2a3f68195447053eb7da22957b832a2009e68c84d271f06983b026234b87db909c5a3008ba851a504d94d31428d8e33f0 +DIST firefox-128.1.0esr-ca.xpi 597099 BLAKE2B f8b2ad5b34a8a79c330af3be705d41959560a56d52b6a3a8439f184e1afe6462009ff20177f63a920a6c0f127b1c94362ff86d9fb2e121e4afd678d7aeb9a74a SHA512 46ce42b570e5549e4f17358dc1d77cebc1b511e952812041a17401e06c01ea0baf7f820a91598a19ba5f7633e63f2a1849979345c005e0135cbbe97239e8f0f7 +DIST firefox-128.1.0esr-cak.xpi 593081 BLAKE2B db0c26f5031b399d90e245525bb6a49a9c15b2931edd9f0d2c10139e66f64afa79f211a2f7ea32985fa2cad55dcdef090962c65aaf9215b14ea17ef0a5f31445 SHA512 677032ed8f304f6079f89fdd0ea405f61aa6f755042b7cd07aa47c90ffbdb0eebca1dbd335d3f9e0d776f4bbbdb0c62af69e46b105f3b61b6b102ea17776f5c9 +DIST firefox-128.1.0esr-cs.xpi 659606 BLAKE2B 4cc267b9f85f6f43ed7b32186a4bc858a9dfedda895748604dfbc0099fbba9acb79e1862c8e5d5bfcf264b20503b8bc0f0061fd41fd80343ca082ee0f8a9c014 SHA512 cc17892ce0dee036c2f1746b11cf9574ac777bd4f066c5fcdada3d41746c4c906dc6d638d6ea42600a14eeb14f0d61d34a4355d9651e013cfbeb36befb55685b +DIST firefox-128.1.0esr-cy.xpi 622910 BLAKE2B 1e22a51b1340309ddfe4de58b9c35d0bcf2b81b0d8d4b73662716d6a1425a84e142234190f4907e93c5a1a76392d6d83b7df51dd5cc19346d841ce820cf8f2e2 SHA512 8a968aa6257a297443d7a4e6c5fea8ca96d418a97a6d5907ef3886b9415ed4290aa753faeeeb3150be795b8b6ba374e2d6f632f3d72206bb922dee1d4177f025 +DIST firefox-128.1.0esr-da.xpi 610845 BLAKE2B 6a0db984ed3da34ca17a2cb7c55a4b9bbc18470774664f0d327254c7bf48f1a329c696053129ec1fbc310c0c062cd20273ce39adca8285ccfb9ce70f951ee906 SHA512 cf08dac95a48345aee7134bd2248002fbe4b89e5d0bf29b5ff550749a1c92bb5ed73adf79ef380aeebb6f958f8d34637d52227219b53ee9b76e94d489aeb8d5a +DIST firefox-128.1.0esr-de.xpi 632487 BLAKE2B efa678d9bec473ce3e1d047d35887073c0f3692d2a3954336c9c1ae8a9b696e26377a42fd566e392d0c9a9eb3f3c0cc2fdb91b296951c74cf5bdd3db1834cc81 SHA512 083d0a1f77f31facaef09b9254787f78a1fc0fb0160ca4620b3addf9bd91119bc22ab12b115e85b97ecaca6830901841ccabec936e4eaa4be4dfc6ff8daccf74 +DIST firefox-128.1.0esr-dsb.xpi 650897 BLAKE2B bdcbd25f85809e26674f44015d2d4397d5915533ba357db56be51a760a6fb2d5c0921f1e0ebd426c33d84539b350ca2a31ab829fc52477c3b8acf7aeb35c4503 SHA512 4578ab4122ee04f11e64ae5db01d8dda622240a67e108946ea1c257e758b92368f4fd1c7591356e65156f57a10e301c478abb5c10f36af435f528f5d11c3ea9a +DIST firefox-128.1.0esr-el.xpi 733066 BLAKE2B e5101c7b474f2e5b02dca8742f9294b2431f8c64c133089f9a1201873dc61e0e6b490d5262d7d6a0f6213e89bc4dd758b684669c5fb69a1583d3d8125d4bc175 SHA512 41097ea9ff228d929b52cfd9398f4afb8d7d9b575a66f0075aa8909774d9c41ff161eeb1cc7fedf2d026f5b42610041b9a895ab42f3f1b00acc5b4b83248a1f3 +DIST firefox-128.1.0esr-en-CA.xpi 584673 BLAKE2B 79a8d7d7b2b1e589bf394aa2f40e6be1ddab5bf0e7f2578e4c66dfb24c44dd32ee1caf93e41183e67086f9a94e91c9e4f87f65197576f8b3e93d5a6a42bc4be1 SHA512 853ae27b47cd3696a751d025a23c01630e786bf59043f3f34f374180047620d3a548b8eeacf9b0fd479888980d5923ab61cb19f447b3a6816f220ae2f3b94e6f +DIST firefox-128.1.0esr-en-GB.xpi 585478 BLAKE2B fb5dad5f68e9d01147dfe7effcdda827b9a0151d9ceaccb53dcffcafe1530313fe6b2bac8ba83d3943a497ca71700cd8c8187f65f55a3e0be9c02b28ae6aa406 SHA512 58f44393ee66bc156e61384c198f4cdc53b240bad1d403ce33e6160439775110b21477f40b6f5e7e05f05dc019ae7e712bfee610383be640ed4b60d1990ddc0e +DIST firefox-128.1.0esr-eo.xpi 613702 BLAKE2B 06525a747f9210bde080c8b8272d2b8856d328d5922ee2f078fd87c4f324064d873519743b8f5fc088dd06f189e92cae16c87c8459115ab9b576d47e018fc968 SHA512 2d7d5c2425b195d3a781dd4b20070c4e0fb3634c7bbfaab33e6bd5f95c68cef2f179d9dbd1bd43bfd7d871ecd70a06743a48223922fa8e6439e577829f22e81f +DIST firefox-128.1.0esr-es-AR.xpi 628268 BLAKE2B 02a4b05c6aa6169999b819ca34e536190211bf3af1be22797f9e162254c87399775315a859dab3725c193ada6a292547d1ab9c7dae1971c5527558ab593de4b7 SHA512 7663c980d37a61b94dacc4dc0387d1358bc65859755a311c1c8e320ede635501aa693d3c719c4105db2adbb3f3565aa07cdd1090e67372f7805312ccd9274bb6 +DIST firefox-128.1.0esr-es-CL.xpi 627530 BLAKE2B 90308be6b660a808e5d0376f8a516adc40d3771bd5c0cca2a6480557d17eac88db8f2f66c9af56640d8e71f1d420529ea61c05052eb1b2dc04abf743621c0224 SHA512 ef6e4c3a31f08fcb13b3e6734749bfd78e45b6fd018c05822673c4fa006ab3d33055de8940dbfb7ae2130151f118c0d3c925454b8c135895517519c776c900b1 +DIST firefox-128.1.0esr-es-ES.xpi 621080 BLAKE2B f89e0293f40f5f5372473ab3bb09229ecaf6a4bfe3efa4259845a81aee4b03f079721a763b0840387bc449812c0e5eaac53d472f1c29326cd05750044d9beed0 SHA512 8f10622a50c8ad9ed1e483d834c47963c11ee410e7d938022408aad35ad51f7109169e26eab2a7257de11f80d51a76fa714ba012efc0e1cf3502e82752fab7aa +DIST firefox-128.1.0esr-es-MX.xpi 604999 BLAKE2B 4ee47c95f2d72378d88ddc35e988c21351dcaeb4470a3d86f1afcfb0df0cf8ebcb68464f9012eb99c276f94f9af21a683c98c8e57fe2bfc0df69bb823ac8c848 SHA512 d3ff26a257d874149b9b39e5c18fca255041d84932be0343abc392a44b6f908a04c686a2df13e5f224770f0809df5a0ea0d647ff3eb20067fd78cd79f1439c43 +DIST firefox-128.1.0esr-et.xpi 539538 BLAKE2B 850cbbe2638d1bda63dc1d65d1ecd8ac887f2835a4c819360886eecfe9ae16e000d0b9cfdd04baca7b18087c0037c6ef107a3324d9920dca87b0773db403d860 SHA512 4b2f05aa41e45d08ddd7a9b418787d2d9c76ca917bbbb77749008f7b9c835b180c3c0ce487b8b5745f2ae90e55f5e388232220e83ae3f285a0fc2f8034dd0e27 +DIST firefox-128.1.0esr-eu.xpi 599314 BLAKE2B 6d7de6906db351d7dd1cbc6e6d37a5d7fc6aa63425cf06f055f16fe50caeae3e8412fd112a131892739334c5c4d7460d895a3e3e521ec0954e7f43a8d33c3d95 SHA512 12e49951e3364540f0d91b34dfe88e6c15b4de26b0dfa196fd35d416e2658d6f4d41e92fae7abf1c6090fc34a16dbaf45bce6762c605a89bc0199df67b498841 +DIST firefox-128.1.0esr-fa.xpi 590029 BLAKE2B 2f9d8e30867106aa51f4216ab9ed6abada49499189777875256d400bdda4e68562317dfa3d06eca0a26dffc6e292c8559a5246da9dc54ace0efb02d162ce8c7b SHA512 9936d795f615a2f33dbb2116bcdfec27562d7a1b823d260812213b621dee2c9a8056dd40c88f71e80781dc285bf3ba9bda3ef06cd28dcaf7611ef43e532fb548 +DIST firefox-128.1.0esr-ff.xpi 476066 BLAKE2B c3c3c790b0bb0dc2da3d3c88695e2a56899cd5e18f96f16382b63c2a96131c662a36381f7935ddc3175246c5374e285bbcb779833afe38d5899612f92b8d4255 SHA512 07fb222efc92ba2679c348ee3d7d6a7f321027e30d2761ae1be5db587c7b6412e99c4ba7a9308cae40e81030c2b9b8827491de59a384a0e0c4fc5388ea6870cc +DIST firefox-128.1.0esr-fi.xpi 606453 BLAKE2B 77b52d23bd78fb7df83ee135d6e7406f1387328266bd800b66218e2c0f0637b8322380233bd4cbd295da2b7ca83db5988e733289676476b35092752a737fe15a SHA512 f6021a592b1c183537297a945f63ea0a204d950503f879dd11045f45c6af33be98d66be4ae37cd9328e0efa4b12882669fe1c671dd8faef5163a2534b0e18c13 +DIST firefox-128.1.0esr-fr.xpi 640303 BLAKE2B edcb15670a4ec2466459cd12be22a5ee70b896e7dda5cd5f6eb7fc7d21e210a556cc1a6e9bc529e1d162b3005b376e0215acf2bd0312829c7292484d91daa899 SHA512 2b5420d91cd2a954b64ba5c243fd6a8ce96180c7d4afaccd1b7ac90a16cd6b3424bd60a1e2dd00457d4886f6d791c6b89c4db619d6e7bb618cfaa88343cd4429 +DIST firefox-128.1.0esr-fy-NL.xpi 623944 BLAKE2B ed13d4e14e0df8bee3e512c6c9a2254869d94d0fd182ba58f1652e0bb5a67c076af443f56138db8de04e9bf8cd84a0c48d8b20e6fd424c586c605c20f44d548f SHA512 a3eacc7dc8148d222612025a96bc120ca1b954800cf46d7076dc0c15fbd6441b0bef5cc723c2f58288492a58f96796b15ad9e1fe29fd4037d4f14c95204f9140 +DIST firefox-128.1.0esr-ga-IE.xpi 470994 BLAKE2B 288ca27695949c1a85fa2277348acce65f71171cb5c476c18e0e79eb723c3add9349d5e0215e200d034913c4ef6d4711f87eb72520a70ea048763b1ed8849330 SHA512 445b573b0702345ab4b5b89d5096e6493934693643ab60ec70179c001cf66058e4d9b376c79105c57e2bfa367a8fdca662d2ad58a7b70be9f1e28f7bec6cacf6 +DIST firefox-128.1.0esr-gd.xpi 596583 BLAKE2B 02cbf6b4c24c2d082783e1f7bcfa8fb04d887b83a84e779e1d12555a686453a123baf32c9469958075268c0ca6f636872c1be7451ad90d1ba2dee49d4a34a8aa SHA512 a5ecb1806810b70a866d69fbfa6fef5cf1a4575efa38c9b4b7d4b45f3609f47d1626e087c38e097335c1f4d827c0919148920757308ef588b221fb317047599e +DIST firefox-128.1.0esr-gl.xpi 604099 BLAKE2B c3d2606c8ba260a0dc4d7d2e7534495481d0759fee8bcc4e502ba04eccb7012edb90404e0028dfc39c14dd78acd7d31509c30e9307ebcc3e9d0150004940676f SHA512 211cbc67b492a43e7731cd593e851daae138b177484e9a0bf10f68b82f1b9dd5be4135c4c2973bf6c92bf800a8900dd025f0b58d2ec376a4e65d10918331cb13 +DIST firefox-128.1.0esr-gn.xpi 637429 BLAKE2B 01dd530e53691418a4c9cf5211154ca26d1d5454d8a744eea4481695bec84cdb03ae7667e2586b8a8dedf81872d87b6587ed998d811b89607aab809af44efd62 SHA512 3c48368e992bc94d2e89cc4edaaffb3af21ad6125109b2126971549e395a657c9e4947c46334e49014afee34519f58e3b13ce9d4a3ada632ab1d0358bb4dc866 +DIST firefox-128.1.0esr-gu-IN.xpi 527348 BLAKE2B 467e0e6fecbeefa58d0eea1158e60a604850e5dcf22f815081c3ba2cf9e04141570e995f1723aa4433e5ca0137606c723e5ac0e9a696879d00c200db81cc60d2 SHA512 c1dcf8d636bbfa939301206b88355ca7c407455ab839198defb678b9c888f0817dfaa44b4a29bd0c9bfa525575bdb298eb7b2520fa9afb723b7562c140d54435 +DIST firefox-128.1.0esr-he.xpi 631697 BLAKE2B 9a2867dac1365b6ba241c332f4f20ea9e9fa9eb216e86693f620885ca5cdd1254bda7bf5d6b668d91b515250f08b1c6a317c7040b389e747f6ae4e3373618118 SHA512 1e0cf300ad3bcbbb22718aae60ee82eea4f9c7dc1cf9541298a0082ffb6ee51680a37a42a8bad335bad18e0cb164b035f8fcd344a8ba89b0aba2f0049b6886af +DIST firefox-128.1.0esr-hi-IN.xpi 566769 BLAKE2B 249fad3b4fa1b0dd4a94d5d4e321328e3ce7ca2449bdd488ec0fc25b10dbd34bc451002141c7ba42bb9d8e67ea05e2e6a09c984749d0c6e20b1ad9be3c6c52cc SHA512 10ade4b914a49e5a48fdfb4db7a147cc1dee6baf7c0687f5bc847251007fb445bdc535f9b63b276a1b576df93522f8706b291ff7682723db8f44dbc8656a0cde +DIST firefox-128.1.0esr-hr.xpi 574802 BLAKE2B 734821b1fa52511d466a8a7e4161b6c5fe8eac2a8536197701061edfa99e6a0836c86643662338a856283f8b7a8b03fcf93c8bb378ec0c34b24c1dd98d024518 SHA512 f702c7a13b2c55b2e11cc4423487882555baf01953e9fb87951d1cbb07664b5c79fb1f9466de212a8b057e9d8c827f342928ce62daef568c61e047c6cf606bbd +DIST firefox-128.1.0esr-hsb.xpi 646976 BLAKE2B 635b8d268c0354037b9a833b16aa5d9327a66d6d951ce9bacbf4264dc6ad40d4b3751cf450e0ebdcd3c9f7a537aa94ad012dd41235dbc9cebe2550f541b7354d SHA512 39c7a35d6bcb02f1a9179f225b8d39c665c21d74ce9625381a74ac72d8139f0389e3593f980fa111407560eb67e5b4d27cca3c2d7cac0128d1cb310860da261f +DIST firefox-128.1.0esr-hu.xpi 649172 BLAKE2B 149d2977b98c797d58b32fc9abd29462a9206a9c5364a972687797ebb19d1b9fcb4834a4c89b46b4b664352b36c6af04d2194ca6a133c699ea7d89d24fe8c64f SHA512 6681b2c340e9cc27567439fe5b0cc304282696b6e2e016b38d51b19216a6ee3608c38a8b2c8775e32c466742bb9e9a0fe5ca0bc1f7ffe35bb0f4694cdad2e79d +DIST firefox-128.1.0esr-hy-AM.xpi 651607 BLAKE2B 7d6aa860750534eb7d001ef25369d6d5a3e75e0a876c60c63ca699b258861dd7e5ced891949d7f70c06b0ee56431adaf5fdbff664917c5faf2f44d52fb8e4a80 SHA512 46cfb3a9f128afc3c89e7667a7cc018c83ff2d70b2a6a00f6d0925b1855e192fbeb3bb17504c7cde6256d88a2478e05cf878776d9dde805cc54411f59fda2524 +DIST firefox-128.1.0esr-ia.xpi 611440 BLAKE2B db841d9a22f3992025df7ee1bd8f0442eed36cc16d4fee5719fcfcc497bf62f5da3f76ff77da6c7523f66114339acac71064fb503d5e230e9edd26dcfc102f06 SHA512 2b7996cb2d0fe2dbd688de2c15f2e98a4fce15b068a7c133e76d94c9ad6d253f07fdfb70f7644d80db7eba152352daec4c7e7f8e26cee47bfb448bf4bf636098 +DIST firefox-128.1.0esr-id.xpi 580222 BLAKE2B 11b2363866cf131a7bd6e44e26a26ef55859848189df1e2c1f0b5856c87baa7b786e1fed8d052252d29c5baaddd80fecac76b4ad91837bc6f942ce00580a3567 SHA512 1babb22c0a23284c2f9ae93edc049f0c681d45e33e426db8ce3645231c358e603a24bfb4e290bfa4c14096579f16274bff26cc62540d6846223257901dc53207 +DIST firefox-128.1.0esr-is.xpi 616485 BLAKE2B 8f73952b44599e08e870ab11d2a0627ed991493fc6b2a9199b61809ab69656e581d5d469dcca2afe3941c5cc2f28144209b0fa8fbcafb8e0aaf3c25f92768498 SHA512 286fa3fc94eb11127f9b9a0fac69725bb33f71baadf73920409de216211983819a221496b8e1b560167fdfb9265db6979f356265f18c91837eb7f501d3a6b73b +DIST firefox-128.1.0esr-it.xpi 567332 BLAKE2B 6d1b2d9e4d4bfe286f909fa8022698321d61fd004f547a95d37551b4e36be81adf3b2ee2682e57e6ce54451abc9dcdb65a8981a8cde9967c6ee074e0ab9841dd SHA512 728e55d35f6def17d54a40f3d59c55cde75519a6a5c6bc725a0dd058a8b8c745afb575e8c4d996c43d0edc75b6d07cfafd1fb5ad4e4d8e6b151596aaea4805f7 +DIST firefox-128.1.0esr-ja.xpi 675628 BLAKE2B c30635c5c1d5cfcbc47501099447adc511555f29608a4132bedb07966f86db0c7ab7a1abd7eee96b872ec216d5c26831e3c4fb592ac5af17a2771a7e3d067fc4 SHA512 1224e0d5a82ed668b9af81efc5d83e819cfad7df8bbe09306a1a5467fc4d6e6da0e23e135b97afd0f51d50f6133f0697f5fe302e40994a1b3fe4a2cf2cf497e3 +DIST firefox-128.1.0esr-ka.xpi 660720 BLAKE2B efb92f8e2b484706ee63f631238eec9d8126d2159a12c6c23cdc3e102a9fa437a665bf7241fab1e4807a084ecd46a181e89cc2e1c17d5ecc09ea5e6bad72d1df SHA512 1f55f7a9f5df663d1a3e515971fd2789c702923eea3ef80967d8f429ac5bd1687fb666b1123d036c0adcbab1bfcf3cd550f47c527cf28bfb14525e2bed8a1e75 +DIST firefox-128.1.0esr-kab.xpi 610552 BLAKE2B d0ac92a798f01632d97eedf1f17d67c6c51cf61bfc7e8c7908759442358929d3def78e1408bc194164460864dedd1fcdaf423034587d10d5c8fa179761738360 SHA512 7acfbc19a8d715cc13c21785e15b1918f96347e5666af5f2155275c4bfb2141bf050b0af8d58a9ebc216e9ebb251cfc951c6a2c0707e6c9dbe99c56705dc24d2 +DIST firefox-128.1.0esr-kk.xpi 708113 BLAKE2B 6dbff6c2b7d484f56df24c2011b30ea9ddd46a87ed575283a573bb544b40cf6f372056f9872b2ee33c62a24ca69b5c2fc389f9fd87fffd547daba4592f59598f SHA512 0f684acd76a81b5a6d96985af7b0f1bf683c32792786f289341af90b5d74d218321acb66d9e5d77641b3031e75250c8122db2c5a03bc9cbe0f112b9626a1d924 +DIST firefox-128.1.0esr-km.xpi 525882 BLAKE2B 22a443dc9a845484e18f3424be90d6f3100763f2c955a3715de53f747c69fb5b3887b792edc451977fbdb1247a0e8c8d17275b3ef2cd01dc2d7439e65252ef3b SHA512 b9d831c5a3741cfd34fa615b4ceda33c7c574cb824865cbc059bf137aab9d4770a38240a5659c9a4e72636f8392bf813d03e19fa3a900d48589cf3bf47ec1e9e +DIST firefox-128.1.0esr-kn.xpi 491242 BLAKE2B dcc7c212e0d22d8f96ede921cb667265668dc1b409b5904286c8061dea99b2a37c61850fc36c65140844c7967759a4bce364e0baad33d47ad49f255ca9965655 SHA512 3e98ab5bb0909d46cfdcb213cfc902688697f469c0779d1da261662b97ca4f49988e7d5266bf7bdc3940f7dd7b93bfaca95950c9fc7887905f774359414edb47 +DIST firefox-128.1.0esr-ko.xpi 661842 BLAKE2B b2672b38cda2a3d60b42ff948fb3d7c891aa61c2b2b1977d8b6d77b637312bd253c19614bf534b4e9195374257cb97bde9e5d87c4f504028015795b14449cdf8 SHA512 8844dc3190c39d647a381984c433fe709d9035d5ce22b3543f43717a8c9decfab19a243495a94aec6d3299089b78c3a2d3b2551e8716cbfd9957c58251bc71b9 +DIST firefox-128.1.0esr-lij.xpi 484103 BLAKE2B 657b96a6269b8d1edba8b4c6a8b82c29911702c2a71e99366b644e3b40b403cc7a948e030bd787196cc75d10905ef70b501db8543ce245955e6ebdc9676e5434 SHA512 bd2e2e1a4cc1df9cfb73a3f3b5f197c6c8901e2a0057914fb5e25055a881a728fd5ab80ffcb1d0d6142c23dc37088af20e2687acaf6730c96f1b2488f535767a +DIST firefox-128.1.0esr-lt.xpi 572686 BLAKE2B da2b7e98c35c3d6ffdad8a90e99730dd5268e63fb8a20445bccf142f2739ec18cde78efa94ab63c48097ae3a102714ec9f4b833d89a80b9780b3fe3566e9c073 SHA512 29f45789def945db487b0743f590ca5c05098641bb538d5c6d97b1281e24c156c83b4809cd84d17fad736631bdc9b219f92aa6f0c014b68d36e59de2b5c8a127 +DIST firefox-128.1.0esr-lv.xpi 574397 BLAKE2B 359f08fc4e980b92ffb2046d7de5361322441d003f6bf45e27aac372443e64b4c462a5ca32dcd22662d519af39611d523cbbc8e791db4c2549ec0e449d2292a4 SHA512 1c83d9a09f2c74101227ebf3ab916ac9f76b835af668b3de2f7644f275e9af444369f4bea57aed3b7783696966b58217eeab28a9a862f458df64996b896e3e5c +DIST firefox-128.1.0esr-mk.xpi 493845 BLAKE2B 5f49b777dd1e22402d9f1c56c3dee0d6cb135c64a48fed0b4c28dfccc39c3a209952248d32bd49977483f5d2f9a610f72fd5c0e18d17f4d9a65ac7d939fe8f9d SHA512 a1221fd6ede7fc95a76c21cae01ac591739d216be0c3c8c5f12c561842ec03172fd383e47406657afd6f8dad4201478a14eb0c21ccb78550107e17e0fcf2413e +DIST firefox-128.1.0esr-mr.xpi 532106 BLAKE2B da3ae38392a77a1dc292f2b9ef6c46f03c82cdc7aa9b7d8ae4c9c37dedbfd6c6107d0a83de1b3f05e9eaaba607811dc26bfdae27d723d6d97c4437aba8e3c52f SHA512 b5bd091c7c5451218b81b6ec303e0201f731751d03071e06efcd55dbac610d5b7daabba6796077f579ce85397a463c15ecaa13365320e136065450b89424fc6b +DIST firefox-128.1.0esr-ms.xpi 449720 BLAKE2B 6d88519c71788646c74bcdd40bb88cfb29f0807657ee4eba4f637b435b13a17b22ca5d5f32720fb4f0f1efd0b6b74512f1bfa7fbca8afc4e04cdb45f8b2fefa1 SHA512 b5387152e4d588ac72ae56675b0af6d8bee31144b080b2d7b5a1b64f2cfbc645c1e9bc6ca3d4345b2703bc73473f40159a8888b78b9d3210d6a7136f312aebea +DIST firefox-128.1.0esr-my.xpi 518627 BLAKE2B 815173166c3c9b67c133150d5ecfe74c4642f3c35872e2f079bad2a775d2b7f7990d2fcc510f9c622c7f49730500e76988f3c1286c089e72dce2946bcedfb296 SHA512 9feb6ab4beefba65629f7a5ca39b244e189c9df9cd4f8577b9dd50a292825e1b4940619b3e2947df04d00d2a471ab98d0b70b00e51f871b8a6d38cb795360379 +DIST firefox-128.1.0esr-nb-NO.xpi 607044 BLAKE2B dd1dc4b96543879f3c79c410e7ddf78e5715f7a2d7e6200a06680e00b76e5777b4da44c56db03a087c3ba12923c96529885b1c64652d32865c82fef68d94374e SHA512 929e3fa9bfbb17080fa04bc58439287a84165e80b109771af333e8477c5967bd32236480cbe662ad9538ce39ea2a85947d6034dcfcab8300dfdf61b664a49f5f +DIST firefox-128.1.0esr-ne-NP.xpi 510947 BLAKE2B 56116200d154f08abd60d42f14cca9aa6932c9fa25af496137f07256e6e07d3a408eecac74a545246e1740a0f3f7ace7508e281d42a1f4adf1a92417553eed1e SHA512 4e8e5bcd9cd7939a89c7dad9247b49f0b7390b69568b5f2b1f839706ecc659df2b5a8ad1f02126daa5335ea4416735ed64c5a3f524cc29d599c1088f32d4e917 +DIST firefox-128.1.0esr-nl.xpi 617626 BLAKE2B 646f43ae271e496b6edeb54813223e33c7c7d5859196016dec37f2b56b3a5378065ed6c4a425d9fc581be03b815e152f81774e6ad8ce0a9d36e3bced836a2f4e SHA512 5d5f4ca4c65d6dbe85d86ca361e36acdf930854e4eb2a064b1dad5de9abd173876d1d0fec80adce51ff701adfc0d90f595d81b3dac87b7e4a9644f8f47b9dcbd +DIST firefox-128.1.0esr-nn-NO.xpi 610286 BLAKE2B 1d16f6951b6d00d95f6f81d2f3251ffae3b4c81e7eb5d6868bf07258e7b05ebef5ee8e0ddbe8050ae3350c02b05ea302b2031e0a5b3bea58b8407675ad294e67 SHA512 d6788c373d312a5fedc0cf1007cebb53d94533632fdb33b9383116598d4801ddeedfbc44694da2ce7546a1252e5b3e859771af271a23b88851f50b6fd54b73c8 +DIST firefox-128.1.0esr-oc.xpi 612826 BLAKE2B e29e419883c8a69c341c7906720d1d2df59f5478b3d2e3eb91f20917d6f3aca5cc29ac8a8766d578353190cd84d099d1b7ebd4b581a4bb08f5ff83694b01a046 SHA512 cf417de30f8729f082582694636c9882547713ed4c603129806092c887e99d465ad09fc14ec3db59209e982ca8b07ce19d69bc429da824f7cad58c53f3392c17 +DIST firefox-128.1.0esr-pa-IN.xpi 692038 BLAKE2B 06988ea7b07a5cb8375a1b2785fa1dbbd8ca9a252ef88df092f04e01c7959e5870e49a7bece3c40d93ad6c2a65349f007889645128d24acf5842c13938e0c10d SHA512 efbc9ef088913b0e03fff86aaa3517fd8d2ec932e5fedc30baeb752fac9e658b0f30afc1ea1742782d34909e894f2a7cc17b0928596eb7177226db64aec78481 +DIST firefox-128.1.0esr-pl.xpi 635786 BLAKE2B a6607475474d312c4ee7a54ae6cad1f0bb4a29afd63bd45be8a49334d2560da8e56758e9a9b774bcb30539629259f1a5726c5d481dfc10bda1a9c2157b86e66c SHA512 1772f9d1c6d92557e896ce4e97f8fefe0c35944807056452f39186a5fcf185a51df2b1f8939fa1e24b9a3d5843b5be2c141ce365d1a7d8ec1d6219eb34b17749 +DIST firefox-128.1.0esr-pt-BR.xpi 622163 BLAKE2B cb3a7ee3ce54be547899b370cbb36ea8fbd15e97eaeb439b17b434316ed6b67ba9ba5cb576b11f9823982d9885bbd11f2366f9792e6f6bdf75b3752cf3d9f8ce SHA512 56d617515582cbd3ede67e7a316c56d1f324255b7739270c3715dcfa286e3b519c182c8192447fb6efde50304b4cb19d74650fa293b10ee6ec228ea859205df0 +DIST firefox-128.1.0esr-pt-PT.xpi 626185 BLAKE2B 9160ad68f2d46d7ae0b68656153b0b639991694fddd00ac11c86d5965a3242920be0c05cce162022bd2fcd72e973b47ffec9c49c925bf319a156160c2453e058 SHA512 9e22154d175cc6a02ef2a99bf8aa465bcb692158251ea85f7d400efe817db1ec1f8fcd96a4f393d8103a6ea03613bd67d4bccbb63b4a3d2e14fc00e8d204c8a4 +DIST firefox-128.1.0esr-rm.xpi 617923 BLAKE2B c9f1bc265baaaba70996681eecfc78073ba99e50f6b34105a70cb9a85689c708b9e8e2fb87287b74837954eefa54223acff2ee2b202f906ac3af1cb8bc9bd1f3 SHA512 a819c18c10deb5c1a0c315820b0d16154eb8a382b1c7b69bdb1e815b3da25a78e23e125ba07a821fd875a6b9a06138625186c8dd5b7bebcf544b61cf865bbb56 +DIST firefox-128.1.0esr-ro.xpi 549787 BLAKE2B e5b419eb3f37b2b53032857ad1186f34b0e602a84eba46b63ea1ff244032accb634935e492ef5444cae35b66c8311d6545808572701bffd313f1f164bd22d55d SHA512 8d05d60f250a7a9584724d4ac4f5f3b78192674e80adb1a30aab0a3791f973ec8d7582ebde8305575e02e3763b85ccf1f24dfc8dc83cb4379eae43ab099d5316 +DIST firefox-128.1.0esr-ru.xpi 720695 BLAKE2B ee2c5f0bc3fd0cd0f1248606917aede08aacb61c67a36230256b22f3002f5754c8f7a73b54e5a1f051bb02057f59c34271cf92d6f9516ab91e177e8256e2a02c SHA512 b8c259321b46480c25d1157dd7558e06606a4bfafbebd4b6b58c3d58c37e728444adf82a6034141c545fbec9d355550f1de192e2f06b042af7a79570dbbff2b2 +DIST firefox-128.1.0esr-sco.xpi 511277 BLAKE2B 1c041199a101ff1934001288fd0d9ce08776a186ec6e43946e1be32c9c8736cb2d14716902a192e8f08e9baff96cf0b696af98d5bb35df99c3bd71002c46e4e6 SHA512 a402ebd4a27a66f611c083c51b7b3ad8bdc1affa357696c993017dc7e7e182dbb55fee63583b36561e8ba58cd719613760e10a5edabc0f721e4b025a538c5c5f +DIST firefox-128.1.0esr-si.xpi 611298 BLAKE2B 301cbc928083baa24ca3e86775c3d88f90cc7dc064cec21d74edea7609d5d196286decef9fd222d1c08599d8cb370f801df3c576d3ab1394da32df08f355a7e2 SHA512 8a632c3055933fc4e2f675232a630950c2dd65da8b220801cfd32a4b09d9958fa675527889b33ca57f8180271d88781a620dd0078ba8eb9da46033bbf1d46f98 +DIST firefox-128.1.0esr-sk.xpi 652701 BLAKE2B 97ce1fcc3b0b764991313e2957f0bc8aa95339f6e1af914c269ab8c444f97294241c6fd3550269592d771bdddacd2f3451961c51813f6c49eb3772ff5dee44db SHA512 46756945be6e91cc398e95b7ea1b01d8ec705d5b805e6ea12000ef27a868eba2c0c651a246b78015f5d841ccd8fe204bc87f528dd10aa22981c24d9f05b2480e +DIST firefox-128.1.0esr-skr.xpi 707654 BLAKE2B eabb062b4e94281fe09c0d0ef182ab5a5f75cdbd8845a3e1edbfaf8bce289d5a01bfd7e8446723a56af0b2f86fb807acc6cbc1c9f3510574ed34205112acdd0f SHA512 8dd06948063d8bd789c89a9a2dff75d4e149100c939fe08f357633e170ea7f62d196aada054a8a9760a054466f8379225e6fb0f4a6362c2725508f5390b17326 +DIST firefox-128.1.0esr-sl.xpi 617916 BLAKE2B 44d4681b884ef0bcbfefe787ec270469844f5b4b0165076395370fdadac4ea3e784efd8592dbff959b654a09745bb44a8154a1feb2b3d3bb973bdc7c43bb6100 SHA512 9728f40be5507e0b04e59069e041e82b38151eded17446f6098f39be846dbee290aabfd4142207bd90f782fdc0de204cc3df2661e65f45dd2776a6121e6dd9d6 +DIST firefox-128.1.0esr-son.xpi 416392 BLAKE2B c1f637cb47a299b69a1925d398ec5f7792ae6923a444af70898b77dd8b85975fb7255b426bd7e3cc94acfc1a1c53f49df0316daab415553d33ac274db9447895 SHA512 c903ac44596f0bd3bc781af42efb23848fc7dae620770cf3134b71b71153b02b79c6bcda264aa58619173fbeabba75537f8b255f42af14adc1a1ea123d69c2c2 +DIST firefox-128.1.0esr-sq.xpi 636978 BLAKE2B 9d83ca5361eca1334e192fb26fd95f74b836c33bf8abe0e534a7873cdd08df77dd0a0da124de2b28a7afa2590b0db5b17e0fa68c8f6e0a30e940945b586072c3 SHA512 dda78212084536989dcaefceefc8fa9f048d9c8b4cc6886c5498091be35d3534e39a71d83aaf6a5dfb56c9b29846d8f12c853b088acd3787babee781262dba20 +DIST firefox-128.1.0esr-sr.xpi 639362 BLAKE2B 0e3d2ce65f20f914a2af4ec918bd7424584268e0f128de48d5e0694c8f52610843768c0c310f930f1e724e0f5f9b7304491cc3692146327cea828621ba3f2136 SHA512 a760b2f74d3ba7360befa385d91dcc3008d9831afed5a47f0934a4ce51af46e1322d2af68fe8d67a3a9be748ebdf8b7b6b63e8d95d5a7eb61a9d72fbe6169948 +DIST firefox-128.1.0esr-sv-SE.xpi 619365 BLAKE2B e03b747786895b0e2789c9267173fd93052361d12ac930a7f821988451342f3c8b7b9c15556f88f2ca30bbe246eecbabac074ff0fdf58d7dbdbbe03b5ca2e5d1 SHA512 d12b6aff91e92ea3129a3da68d849fd4f285a7445a658829c71c1f9fb84c7875389b24635a8ddd6f1d103006ea3d62d6a8139d4ab3b7f7eb872f715a5672f176 +DIST firefox-128.1.0esr-ta.xpi 507523 BLAKE2B 1d0e002c39e4eefddc84ce5f23d76a02ebd796d3bc5eb7fc380092ec39e1533649d18e624618d43c02b68781c89cb5be8640c6270b4fb3c383a84bd7fac04372 SHA512 26bca1a6312fddffe2543e8a66184d5cb8ec9cc916e4d79ae12e67209a97afa194600a9cc65fe4adbafc1521ef42112c1ceb3c0ea72daaf072f5f1a936570a8f +DIST firefox-128.1.0esr-te.xpi 561038 BLAKE2B d7278ec6a962f183b069fb368535e075f89ca3e076d1e7bd854ff91c9cf1b8271b011ef36f7c1362bc71df2932743363e283f1e812302c4337229874bae90283 SHA512 bd15d31573eb0744296d6cefe29ea941e6882d30dbbb742ee89dda976ae3df89544b548a1019dca106bfb20f3d886426d7cfcbc47df4093c59d86e6641cfb54b +DIST firefox-128.1.0esr-th.xpi 694370 BLAKE2B d6a19282fd71fdfb17d66b28aca429e34db0490bbd84bd257b9e5deda195e419d498f214e818055cf525c9cba43456c6c64bf12e38f4d6c1caee3ec29d5fbf94 SHA512 e5fe1ebe84b7cf52aef17ee0b8a7fcdaa9d014d393fa8ea0c4133fe846a07712dd0bc9e2be19705e9c1ba2cc063f992957c86896bceeb686d8e2d2f2c324251f +DIST firefox-128.1.0esr-tl.xpi 534193 BLAKE2B fe4152452e688d996da36e21d8fb3c06259d78ea417935683ee853b4fd60101c9be42827b408d2e9f9e4c21a7b8ad39ed8c9c44b8baf08d30b84297ff3151207 SHA512 bd755c3412458cf6eb978e1d37a35fd749f6f010c385f1477e5240dd25163b8d013fb83545bc5ef6752687d17ab19ec2fca55ad6b0fc730bd5e7447c07bfbc3d +DIST firefox-128.1.0esr-tr.xpi 632685 BLAKE2B a974f4c8b64f48285be1444fac0450a6a1dea1470892a5e61e7ff32af01a9bf8a0d6fbe353eed58c0603c77a0e47e04d8f54a27236062c31b22e7d45db476d8b SHA512 410b40be588c1308fda41464fa68443d39888f070df2f7904925a8f77d603f412259c82cc3e7bc8f1587cc0bfac87146e3f3e593aca6c86b11fe37e7b46fa376 +DIST firefox-128.1.0esr-trs.xpi 503987 BLAKE2B a3de7338321223ebe9ab1185bc9d58792a71cbbdbd95099970d0be807e9dfa4100646ee2d6b0050102a4790c0621b8d6abf97752dda48077124c778d9e4f3f24 SHA512 c5854965443b9b0cb617065bff81a9732e4dbf3a1a38fecb68cf507ccc18e7cb1d6affa3b10f200923fa8352d629c732069cf35f1c602c59dd134bfabb1d88a6 +DIST firefox-128.1.0esr-uk.xpi 707283 BLAKE2B 34f0ec486ddf590de71ba5f579a7e83c7bf89aa0db1e1a55ac6545b6e5a44c03acbd715b183d52f5a0323654f0fa69588b7a3cfe82a9692145b5d10827dd9fb0 SHA512 9d6ac889307cfaa04d3a4188c43c699706986b2a402b3c607d7e5752e890645ed43e909af70ac54bdcd7d47385bf6d49e0ef864342cbb31505a5cbe1441fcbdb +DIST firefox-128.1.0esr-ur.xpi 560482 BLAKE2B a7f81932d9cf660253c5ddc5e229538f5365afcb9b44be6967eec83ba6bfcbc84c28e830ccca6866506bcfb4f35c5627dfa661c83dd4f709edc32bee3133dc6d SHA512 66da85e8684a4f36f0cf8c0670cf0429859a827b6adfd627b4712d110e5a40888f3cfd41e3300be52a5d21bc976e92ac331a7a61f9ae4148fbcd160d3c5c7602 +DIST firefox-128.1.0esr-uz.xpi 478781 BLAKE2B 4763c191cf0497981af8279f3c8a39dbf9fdcf56b7d883ae1d794147e8734009f247880768a19fcb2138e48e9b5e5a692157da0052d70f87c65b69348199e9a0 SHA512 34d64c137f03e0ae1fa9820d7ea3b4ec79064ee2d7faa752aa94652aa4131213cb7cd1e3c8e75d364e6e63dda52926a96be5749db40111e6fd8dade696ca1d0e +DIST firefox-128.1.0esr-vi.xpi 655578 BLAKE2B f4a1afb49af9170608bd106c6655a415dd6c5e167a45db2c42031d9f55544fe04e0137f49ce478d0007eafc07da003875187b9c887f32315f108c7f332258fca SHA512 75ac1b7be4ae1971f8ecd09a0d96da7150528a1880d3264d1f4dc10ad89ca5986dd9d774a551c3b4cea554bb0508f03f8bf231750f9db1ebd601dc29008cf368 +DIST firefox-128.1.0esr-xh.xpi 417178 BLAKE2B db647fc6764380635d796baaf6084094f15e877c0e798de889c2fd16bf71b318963dfc6d9c2a6f1a678a241970bc49e85ea524c7706c86adc2735ba47cd1fa9f SHA512 0ea3a9f7c35ee95645a973c68bbd61c871ae378141a10dd6b4826efccfaf332377bfae4d6f14840787e2e06ef80864a3010755cc56d9d05f46e9bc9539ad4542 +DIST firefox-128.1.0esr-zh-CN.xpi 657339 BLAKE2B 37acc3369de9339eb10a39211526bc8cbf82f3962b0415cdf96b9933fa88fd5359361fa6c0a32545cf31cbd86d590efe9814b67d835f486e2a39387c00bc6e04 SHA512 524d90cabcf3ec2f882670db7571156c61b19302371c3c17703fcf3abd6758aea898b6231c51a50b3db6607855a6d79677054a9b19cfaa522bde9211b9ae30a4 +DIST firefox-128.1.0esr-zh-TW.xpi 659474 BLAKE2B 98d0e9d960a32692cd34e4ac99ec5494e74b0b55d45a2f36cd4f722ac8ea2c9074c733ef2b04a0bba60e9622c26a14bd38d8eecf8a810f0819a5c85615023ef6 SHA512 1a431fd2d01a78fb761c812bdff06361c2c5f59fbda12656a38622346cd9370e6748b61cc98ab38a3d31d9824aa9f2da4e90a0cb6d0533e40136aec7ac8f1469 +DIST firefox-129.0-ach.xpi 466194 BLAKE2B a18d754a9b5dd64747edf34033d31a648d83080b3075b206642c4d51b7a1eec3bbf8827582d4b9d92231516b884c83996fe2168788fb34eddf7ac4238dba8c77 SHA512 c0701e51be0d88c6b8c9593270a2057d65113749f0a8125ed615b4f7377c7551969c094354956f8f760b2af4c69f920770efe8f42a7d0413c427a629a0837ed9 +DIST firefox-129.0-af.xpi 419668 BLAKE2B 4b2df5012e61401763be93e75a1ddfc05c335f4ea21784f97a89a589e45487fe4960d390953302b9786554233f1ff7447ba0bc3baaba8ffcc2d99015659c59aa SHA512 2fa47594c109db5eaf862a902b0fde512cd8b3c85f17b7655ee7967c0eb3a2ede658c708e840888f04135c0b7f3391f5ad1db041e2eb67b8387e441f0171e5b0 +DIST firefox-129.0-an.xpi 508149 BLAKE2B 8d6c6e29164caca9c8168a5c0bee6e0a55b265a2cc56c00d5597869da363f84ce140a1866522c8d1ab60ff716162a557ffba06e4c56adccb3443d41e98705d9b SHA512 47342df2c72b6fc46bffab217b33df8375cadfa92fde2fa3764499f4d9e7c5301a6124740c11963b0a7db0622b3ac6a65ce57ff101882feda45a40e65a9cae3d +DIST firefox-129.0-ar.xpi 613067 BLAKE2B a42352125f74e63ccf6d75f56b4ab25d15304c7380c76b1c13a52079abd0a8d5645e776d2e9fd2eb446554e9bef74bea8bf63186b0fc46c0532652a8d178d219 SHA512 409f256a598b10d6459b26bbdc536b2642efbf7fc2345c85b785b4d601c3b158f447a0c71ea1ff7436641a589791bbdef26637d1abadb3e7b4c8c0c97957da74 +DIST firefox-129.0-ast.xpi 498503 BLAKE2B 42b7a422feb9f3dac1a83b91d23b89e270196d75d0c1a0baba8dedbfb92062193b0e4fffca093fa246b6df8637b7aacac18d0c4ff5cfb79b65bd3c330f50e621 SHA512 2f28afcccb108bf4152e3c6913028afb5f610f9b792932d4d474110c66ff2e28210997d2661a819efc2daccd6fd375f615842c2e2ebc896f0dfc4be593d73be0 +DIST firefox-129.0-az.xpi 492951 BLAKE2B 640a12901c57ca4ab2255caf3e72023ba97c21f1b2d89e744021e0e043f4313ee678b2c7d9a44f2ed3be6db03694133f14ebd21f5185d61c31403b7b845a7751 SHA512 55525f57fc8e9c5757c172c366082b471a34810b7e2830c9b0f1a3a0741b3a7f61fa0e4a54ae0865b29f9702e3c6bf832849f1e535c3268ba8046a2f3e26ecfb +DIST firefox-129.0-be.xpi 718016 BLAKE2B 26a70b24ece49fa4d1f4e45faa03698a02b85b2f498fd8e5a8c0586b73ea6d4925f40626cae8c3302f4da9b57cf3d864f33c769170215d83d3f1c5ce77330eba SHA512 8d36f340fc16e478ff0ce234e280a1938dd3de5e54bf5ba3fe5744d5b210134653a02bf9d77817d2ea9bca3ed2b5ebd191557e35c84d985f0239e8b24663403a +DIST firefox-129.0-bg.xpi 624126 BLAKE2B 77b584b6e22feea0192b0bb4337fadb2d172671841b8d0f772124293ab6e12830c5ec4f064503f99acb09539eea250202e1463ca3031d117f36fd0493d06c417 SHA512 9bef03fc12abedbf9175e6baaa66e246cbda2ba1c0f8a940941605efeff5455207387c35da0cf15deb96cf22e87c229518ab1d05f337e87e826c5ee5987826a9 +DIST firefox-129.0-bn.xpi 583740 BLAKE2B e9083c3b03504df24b2be96084552bae86886a8f49fc519f32355fe5b11bd94a58c97baf7d4a151f69e153ca3ea2db8832048aeb92e44bfa74692857bd25e9cc SHA512 51aed226eb9a181db979e5112c4815fed23dbc6b5a97c54eafed64d5db12ecfc6558dfb2033397bc283f6e611f0e44de008bf0a096f6576a96c47373bb3cd8b0 +DIST firefox-129.0-br.xpi 591238 BLAKE2B 80e4b7b483369882553c0f2ef37bca33b6c7ed9715b97ab3a495e83e2f42fe8f65d45a81ad3b5cfd8c1959264f8d7d0fd5bcc55ada4d4dfc58e3a270d9b1b751 SHA512 2de4c1bbc19b062b5d347bdef5606489176dcc50cacd4e7d9f5cc9dfea32538e7d8b09d6d09c00c018232b69bdb2764dca05012894a354e929f1e0b7b1c62920 +DIST firefox-129.0-bs.xpi 504177 BLAKE2B 306544dabd2c4ba7de1904547857670302fee47b6307a52f0e84700ebc812ec57ea7b6e18408bad0672695e45fbc74579ae64f093e0aa1a313f8b1ba15e9cc40 SHA512 28fa31806bf4208a42b94b9c0056cbe98e6810934faf9e8853a33f025b6935d2eeb4e52383cf84d4cb41cb98ad1815ddb15597365b7a326b49289b5ecf72876f +DIST firefox-129.0-ca-valencia.xpi 548454 BLAKE2B d037e4b4a0d46f9726acac556563e14a4ba504050b96c1369370bb2cb77d81a139505a18f9f89d73bda92ff354b6ca5e563d562f2e01a1affc4907b5e1f0e7a1 SHA512 fd5023ccddd3a28737e65214ca3bcf94f1a6bcb80d71a0ac500fb77617f0be54a3507bb9c63bed95a75ef1842824a0544f906508e6a1a8ddd1ae2bebd4579c73 +DIST firefox-129.0-ca.xpi 599338 BLAKE2B ce4388358dd432d936dfeb2e00169384c8d2bf775775a2250f04f50d567ca51c3069f7d1705c31cb91f4df409f0680adbd05572ed637630302496405427b6470 SHA512 ade86b758f387c50a29bc0e1aa81f5a4321911954d6bc5ea4f3dcb4c8a27c1764155cfe071caa3c6adb5774905bc9f043a033e322c0af90e14967651248d1e74 +DIST firefox-129.0-cak.xpi 595424 BLAKE2B d6519e0f387bc98feac962d621d0442db58fa1334bd9017b467e4e140d467adab1ba2a1b27242857e2eac3890ff7e908b3dc944ee959a4c85ae4ee08d6c059dd SHA512 9a4bc0427ccfd26f103cef6cc28a1c9df156ca935e1349f73943e4479557a8d4bec30719d0aabb59022f4d79065019c351e80db3e7010dbaace04c36c07a2a1e +DIST firefox-129.0-cs.xpi 662053 BLAKE2B 61bf849a016ab060c26cbc4436c4ce06a6f6416b1375570f070aadbebb5dd6e6febbe5af7227c8c916936e82789282ef321350a160b42f24ec5d91ed04270dab SHA512 4591631a0876f30c93589f069e2ad096092581958ca1159ef865abc205bceb2715767bca2a11f796134bbcddf3215e26de20beeed88d3972391fce222155ce15 +DIST firefox-129.0-cy.xpi 626688 BLAKE2B d0dca71d0c53c71ef0c1539c886aeb60550cfc57936f7ff3986929c7e55a3571cf3c7733105a1317de185c522e9e0e5c70da776aa7cb96b9d7d8a3fd30e32de6 SHA512 80f8b154de2767e7436ecc5eff6d3c1000a535ae743e1aec6c302e3b7aeb616780f5b2bf76594301b9d85370e3f9ba86f53d80b9971161c48a46e74d197cacee +DIST firefox-129.0-da.xpi 615340 BLAKE2B 71c363dee621a01bfca33afb8c0231cb8ddb2ca452ca19eaa21b2d8cfedad8ef63249875125addcf4a6bef803d802b87dc0d95b1b79e5477d39a0bd4641df306 SHA512 b32fa572af1ddaa38b0fe8a88636600acbf5c4a83c387c6e57201a6c3d134512d5b7069ce55591b7ee26deb8f39bef055a3ddeb3655de0270db38460d1cca84a +DIST firefox-129.0-de.xpi 636702 BLAKE2B 5ec54ab16c77ac66831a2e38a0066c5b6c81c0291febebf01fa8a953b633cc26ae1bf04d300cb644f3eb6267f6c72646c58156bf121ac93cb3bf8f1880b3cc77 SHA512 e9ef6ed91d6cc8612e8a8d8722696abfb50a9f34a571fa281989f7e1829d030824c6f12821ebf4e333f99fbfc2c823c5b8f98c4ddef2e6f56a5d427cedee456b +DIST firefox-129.0-dsb.xpi 653386 BLAKE2B 49005e81557b3be8b3346247394da69c2048336061a0a011ea557b4e0c9cd690d33c7c6c7dca69357acfb87deb7a69985522337e2bbbb424a956cb45936f10eb SHA512 cfe1ea3879156449eb7164141efa8a401d2d91c771ae73759ddb100c2264f643a0d771cf320b582d52e10ae71da191dee42255ecb62f7866e01087e2bc19eacb +DIST firefox-129.0-el.xpi 735567 BLAKE2B 7617a3fd633517e1af7ac7d40e41975b5d2fc5ed68625c8dc601307277443ef5ddfb5f602512861dff6e8720985ac3ad498d99a84d832aa58ac8a63e252302ae SHA512 740560d04971aafb6b41a175dede5e7c39648b5d13ae5dc464bff096e8d0bc3d2e7348210c8c2cd11c2f7cf3aaaf05e8caae90e8800ad8d6233a6bbe85ace7d2 +DIST firefox-129.0-en-CA.xpi 587137 BLAKE2B b0f168fbd29af28669f9487ded068f3ecaab27b67e9daf48db6535ccf834d20424f20d13ceb65865d7c410eac611ddfab1764917305cbcda7bc4c4a058bf21f3 SHA512 4a00aaa139f26aecfd99d82f58d4c7fc46c6c0b798b749a02d9bce42b06955147291c64fa1d4b548a3be28e1ebecb1894cd790eae34897706073dec61a668d67 +DIST firefox-129.0-en-GB.xpi 587536 BLAKE2B 5cc6c7c17a375257cdb66992019eead50b0eaca5356d9f385dd241e0986a92cb2c5fb5cad8f59c1d4289ce48dde7bec3c9967220e8cbae8937f2ce937a2afac1 SHA512 84c12b0def4eb7b9d454c00f5a9d3ae7485010dd38940922b35ea8888dcf7dc6da9967cbaa350419c861808ebb8cdaa6bf1c27c8b4183c62593359b99899c6c0 +DIST firefox-129.0-eo.xpi 616016 BLAKE2B ba1b1c62a888e75fa05386936170521d8e4f38b04bea1015be76e40ea1a0a542b9a90157279801cf574743fee6881c80e30684e8630ed204e25d70d6b1cb7f09 SHA512 008ef41f9aeb623215679eb4e0c8ac1f633cc2daecba61382e5f0a8847bfa5b1913f53e9220e2d3e2de04110a2a90ba98f3d2c569e3c98ed486d1eb3eb5c9aaf +DIST firefox-129.0-es-AR.xpi 630371 BLAKE2B 66e7e924e7e76728bee954d1e4959092583cb5822be02023de5d7ac5e6f346b8b0a9bc91b0197abee9c41c74a6c086c4ab3adcb5a878c6bbb1b364f5f4438484 SHA512 0f4b23dc755b5482d457a5dc0ddd1c88c9c93d875bb6239d15df1c0c6a74b9e2f68576a9d167a589fbcd454ac2220a48ceaed23b7f56eefe080f789b56530446 +DIST firefox-129.0-es-CL.xpi 629634 BLAKE2B e69b110cc6e4e347b5116574a35c17651c85930a38bf79ca9f9636d5aa7764f349dfb81510a115a474e485efdec2e1e95889b1fbac70f44a59ffdf0851d2d2f8 SHA512 97421035b46d71962f3c3a36b09271a5357e3ca178395d6b2b0778ea89ac17fcf7951d2e719a567c8a37544eca05c4df156be561e03825395776aacb801f9593 +DIST firefox-129.0-es-ES.xpi 622866 BLAKE2B dcd167d53daa7489882e66d734e4bff7281546d03585a46535948fd81acfd5b81cdc9f185fa4d1540f7fec77acf601fd3dd64fbadce11cd71c44574b761d3344 SHA512 be211896776b7463d52c5e6dfa1948794b031766ef3daeedbb01197ca521100ecc58719398015348f5e7b0877855fe52b3a5af9e4588cea47c228ec765786d7e +DIST firefox-129.0-es-MX.xpi 611607 BLAKE2B 701c52a390789ab60e7bcfaf95cec88ffe63a8de06fda0bfe64b603334c325d940fe9db229d9dfad0b603129db0bd92dd5e6671ec4c1ea3a6c0fc71a79a63caf SHA512 03c08230a89bd442182ae7461826574bdec91be77afef75461f8914134a5ac549c53c4f9ba023c2e85e2d3ae9ff119981032684f6f5a313ef691ff6186a2fced +DIST firefox-129.0-et.xpi 541834 BLAKE2B 92ae97aaf37590a6dbffbb8d28d106b225e621952d36913548f99a0879e837c35218fa73856f01e4085571b9266668b718e4414b3b0fa6fcf0a08049fd8627df SHA512 a53834c7935d8c8f7fe8ac9f3fde04d5c2152972a85e52359cb0c709e323cebf1c4a45f0ff146dbfb0cc3f5694d28dfb4f841d22fd4db632b937d27f5ddd95f4 +DIST firefox-129.0-eu.xpi 601669 BLAKE2B d9a2c6a5d6c4df832abd82e8b6e3f53a197ee3a68a9256df3c82c32e5845e7e08ad182f7434245d6a586647d9ea859ce9a9a0f00c2bb3519a8e8f991e73ccd7a SHA512 928cdbc3bc057564dee4c73d10d36e46dd04f3a2ef11067d5fd41b6ceb64c6917663dddaaee9dd779cfbc16a0a25bbac96614b844a8e179559cf4aef99e9a68b +DIST firefox-129.0-fa.xpi 592238 BLAKE2B 0eccf35584e5fc6d488c438577f03f4136db74da081ef8e42b7a3f9549dd9a6920049c22aa0a8c7ff9df4fc81646ff728ea2b012795798fcd2d7c94b74c16905 SHA512 628a71e7fe7dfea26600f7a8cc92d7348a2a6ca818d918a3a580211153bb7f6fd37340538570824bf159d61da2d0a2734f7ea45fb203a7c736b259e2cb65cd5c +DIST firefox-129.0-ff.xpi 478241 BLAKE2B 5da946d71eacb54db0a3e62f34c4012b8cd9a3cbddc4fba599cd0d986d6b89b989b906f9973cc00cd7c57adb0566a08783bb5d195944f5596e0ac4155066c700 SHA512 1bcb35e33bd5b324ad8987b1fed533bf7d4d0b72fe572c08bf7b0b9e5a4e4ecc109d66b696b39ec226d4d87453f4d7afcaca9e13f6b3b94a32b8c8969eb4ccfa +DIST firefox-129.0-fi.xpi 610119 BLAKE2B 270a28ee23a2e394ddf9f328e14dbfeca53a9218ee138415ad04c5852bbc26f29274c6dead935e38a1613b67c8f4baee05b62d254b988f173e15c66c364a9bc3 SHA512 8e2d7eca4efb7f24c1992623b55a3f11c83a839cb704b914f72eeb361cba2e063cbac7e0ca42d5f1b6d861bdf3166964c2acc57dd69cdeb312d432a80c598b32 +DIST firefox-129.0-fr.xpi 643414 BLAKE2B 7f18a75fd1106861e2b6f83bc673924f07c6ba4b1240d180e5e2c0908113f6b0c228ffc3ae05ff1e99149f15f823e4709a47232c0296ddfda5423d532000dd76 SHA512 8c5693f30eabffdf7ae260e04b7009584dd554ec934938e16dda7791a109ffafa5fb285b33a86fd86aac155360963591429307f0f88198595ede7ee817619878 +DIST firefox-129.0-fy-NL.xpi 626041 BLAKE2B c1c8585b77a7d2171cc8c4597535d64e9307108462fda57fccddda886f71c9948f691dedfd4f439a67ed217f697f0fdc16c3dff0e619edcc753954192242a1b2 SHA512 66afc717ff0c1fe8545f06399556dc51595fcef6a3a61fbeee40b2d15eac5c1974edb637b08a34c66fbb9d885b5ae1220b3e6341c86db6b212b59532ecacbb78 +DIST firefox-129.0-ga-IE.xpi 473205 BLAKE2B dcbd01b540afcae7cef4c0d68902326917593ca1700adc72b2e3af0c02efbe894a55f9aa34eb09e13fa80304c5b9dd8c80e1f764c21a5719e098b37a34884983 SHA512 ce0489f6fc00e26cc2bf41f6932db684cc36aa0cf565ae086c4711afb565192389cb9987039234b77f22021265dc32370b4cdd39370778d2c2a73a7c10d5d4d2 +DIST firefox-129.0-gd.xpi 598883 BLAKE2B 15f3e4ecb34ca00791e78cf372359b5018687849d27472a6e67ca48423ac82a7542fe7f1da9cb2333035291a6732bd04dec90a46075aacb3cf1e28bf91469fab SHA512 3fe06078bd56e3e6bffcdcf16cdad849ecc8159b6ae628d15c1453828780fb459cdace20a511264a2001a7a2cbb5df8f797eb7ad884b6c9dc4e65321969d7d31 +DIST firefox-129.0-gl.xpi 606454 BLAKE2B 7d5f6715375a011af04030fd95640726c3c7761cabb21765f53c07794632e42a1c99d6cfef06b32c89d21c0959e5e91a15eda8bac9bfff1f2495729b7366c9a7 SHA512 9cf990f97b4c413c8472b1fa70da143a184f3019df9e0e9ee7d0f84dd64410a27716092405246a5bd5e92b10f2ea21667bcdf756c361c0868cfe7846b6eab898 +DIST firefox-129.0-gn.xpi 640316 BLAKE2B 9bd4977028ef4a7f5510e8741d05cb5dc2dc33f9b22d0aaa64b0a7d05a20e235a46a166476a5730d83e04aa1e9d32dfd02038611e2358ff4c93ee62d90c005fe SHA512 fe02133f643d9d4498b2a449daf07a6ec7d4a5dc97c28a1a822d7e41a2af133ed724945953bf9a39b38c85246450af02ee87681f1388f527b73adef0d00f88ee +DIST firefox-129.0-gu-IN.xpi 529503 BLAKE2B 763aa4ea6f45b8b6317415207b5c4086be1836392b9dbfaa5245d76b893c73365d06108c9f18100213fb6a997bca253e089b8e43a2c707a4d31ffb7e6ebebfd6 SHA512 a62dbecd0edf9cc4ba1a561051664e5a366c46ba9a1f1ed0b29d6040ae5482f61ccb7028628ebd6d60b0e59e7a8856a94b99c73c9fb244cc3a11977753c82ed4 +DIST firefox-129.0-he.xpi 634013 BLAKE2B b53e2556bba40429bc36c0a7702b63a8d0e3b1694ead129b496ebbd4b0924dc8ca41ea27a401f4437ae1886f25e3b5b6cf231b21a372df43f0443cf18f800b4a SHA512 f9060858d1a8523094ca1c20c17a6c443c84c8ff68e19ba9683e8e411be5e975d6726867923958d681bd86dc8106c23e4d1f46b2ff87526da784d98216b2614b +DIST firefox-129.0-hi-IN.xpi 568983 BLAKE2B 124fd2178ee2bda140234b3e87574fa520501150ede1506f2dbdc04cfe491e6454375bb15048be5c8d54fc72788f7721bd9cdda47c609478aa861b7ab2f6f246 SHA512 e005ee4b76154dd5d300eb07bb137ae69fa9cac1024ffd5d983a7e66c602666644b9fbedcb3ff1405375bbc189c2242be19d7f2d085eb398cc6d5412407a67b5 +DIST firefox-129.0-hr.xpi 610569 BLAKE2B 6c13ddfb6a38882eaf9fc024fe1582819bbfe675dc861b5ca8ccf6723aa4c71d5fa048e9d6f42f9cfd9ef9956828ec04cff264afb92f18a8ddc0d8395d4bc8d3 SHA512 683eede1aa4f1f0103d665372f55112b921d84d6f8e5a62a42f4ccfd4d3663331f314f4932602ecd583d5b9d5b0db4d61feda9e128081d9ed54229e8c3fe05ed +DIST firefox-129.0-hsb.xpi 649228 BLAKE2B 5673b04b5284fbb9b9dec8d16ad4f1f7ddb2e2b64495f5e8592e78d526cdaa9522d74d2c571c40513aa2353ec7038a898d6420921730b343f655d75d8ae0e375 SHA512 f5b9f88ffbe5e0b41e4db87f45ee4d07bf062a1a307eb3e01fbb0439518be60fad7bb314c249e7ceeca84711aaae91aa96de73d26596b5e381ed6e620500bc7f +DIST firefox-129.0-hu.xpi 651252 BLAKE2B d7a7f62bdefa69d3bd8e455dcb563b6663166599452949b15be51122a79f3c0697d0e9e3043a44c3941653a0943e0be9dcf84305fdacc29a15ec4253f0ec7c93 SHA512 1ea176f50c69a36cd2a8af0ac2649696686ef01902ae9712ce9a66d2928bfab5640354e7ef6390720cac85df34ac2824ab8252f0ac3851e98aff9f75bb1e2be7 +DIST firefox-129.0-hy-AM.xpi 653904 BLAKE2B fbed0d8e700177aefded1723b4ddf8061e1d4a161491f534750a2fec074335224a27c07c8f14348c8b9c9deae63e867cf24d731c3b41847d6a88d95a92f74ae2 SHA512 ea98919e5c79477610b62d29b8d02d46a265c45de22a716e08788e4b8c61b87b4f77ad7e5e9af61755efe750c49449af0f69d497fc94b627461bcfd00346cbfe +DIST firefox-129.0-ia.xpi 613528 BLAKE2B 024bf2ed5167902b0d8eddc1d976ffd245ad58be71cf6627f066a4f16d35f7d773aad2a27d400f058f45e7b39b35b5fb48f1ceef6b822d2b7e892bee58431205 SHA512 4edf046ab98e6dccd29982dea189211de8a72b765a42621ef9cbcc1dc599476b0f018fc77d5ae225186443d982d2c0099223a9e2a02ceb81d8f3ef33503ea4c8 +DIST firefox-129.0-id.xpi 585312 BLAKE2B 7e155c0ec0882ce920ed8dc0b1c6206409534301844b0fed74465b7794a24d8ce4a43f23fbca5bf2d34806cab99e0351495026b8ceeb7f8a685818e51bec706f SHA512 4fa9d4d8577bb23dd4f7393555345f33ff19f46f586ffc428c4a1d398b6ccdd1ea2fef14c394ee5b8362817dbe3b603efc3d523c36136ba76bb3e0e8010cf58d +DIST firefox-129.0-is.xpi 619033 BLAKE2B b3e752dad3d15633f21816e30a31a595434c6c8e21f3898e8c1a83cdc6839f9b179a4fa855cbe272b6409ec2c26c7945e7166c332d9f534c25560d7949a7e702 SHA512 a985ef2b1e2353fdde947dd730fb54f68728fd8c3274af6a0e131a43f761e5936238259783fceac938c31c89d53f8ff3200543a187b108f9c33d7db691f698db +DIST firefox-129.0-it.xpi 569523 BLAKE2B 571ea27b2c529a353d564e04b15dbf325219d1a8aacb97715bf5dd5f828b989bc4bac3ec7c5f5b3b180bea64bf5040b87cac873971943a33e74a03661870e1f7 SHA512 2e4801abdcfa056c6b817838501bb6727841219a4036aae47a82f0586539a58aed370affc6c7390fa014a3f08d1056e561b31ab220ab253d071d36369fa6180d +DIST firefox-129.0-ja.xpi 679726 BLAKE2B 565ce7ee85502440bfd866b85ffc13559728600427219769646172e88163542e120eeb06fcc7705b8614242c0d40c82ff5e09c157a7c783dafcf2b91e7eb7aed SHA512 48792f6fb3201d256cd40aa735c52a3bb24a11eadf45c56a46788b2eb10722358ad01ff6b25f59024b836473179da8dd34c6e953fb179db6b62c701a393b5d83 +DIST firefox-129.0-ka.xpi 663182 BLAKE2B a5d08c307b753d95bb01b762339440520ef174d1bf52f56d6b1e331f6ce4b1fede041bf95514928e45d48ea752bb848b2216dc02c21c220d64be019487abfdc2 SHA512 5aa5d2127df92f77c31d77982b6aa1253f2ecc7187ca7df7ecf694741fff663aebb261ccbf770a81e17f08203e3e8478145d1421535a887d3c092857f1a333eb +DIST firefox-129.0-kab.xpi 612864 BLAKE2B cde2b3b236dcedba50efd7bf7e160d11f94a68b95f420a5602598b450f37e8d3f250eab67ee4c065d23f86c0e76dc9b77161f5a3e6a8e3a691905053335e0646 SHA512 37e9aa40de46a51cf9c6bb7951e7284cc7822929cec715297f20fa89c5706ee768d8cb402d41a91e1ecf8354a2d6b946b10d3992001457d04b313d30cf880c60 +DIST firefox-129.0-kk.xpi 710250 BLAKE2B 6ffe6b99fd74a0662744cc16afa667972cb3a69ca34e2851e84fbbc3d3b1c39de587ba15630cd8fbc52d8bb97ca3741a52bc7b28fba0ec9d203a86eb3669f498 SHA512 52d8d00c5ebb08f7e7d0b757c779ef0e47b1284b05f49a1327a60a7a9ba0589993e3fa5bd535db64bad893cff0594c52e3de43c7befc418e015b20e4d6488c29 +DIST firefox-129.0-km.xpi 528075 BLAKE2B e0879d679664ba3166b8f8f29bc72c5c9c973927337d541d6e14e8bc5e07a18fbc927f6d458cdd7d3e30bc0fd506657883f2bfde3f6451d0226ec4b9b57aa2db SHA512 607116e08f6c7b8af9571e4c5e7b1534b0f84e219442dca2f269b660bae62587a5dd2bec79581263e79b333ed90e0e69bedbe6c5fbf3151b0e20a90457f08642 +DIST firefox-129.0-kn.xpi 493376 BLAKE2B 87c405c921d6e896bfff4f685574e1dff38616e4a552794d8fecb8429f1d64b0ae8bef6f1b3097c7fd0cd61dd3cf74aa9048cdf3afe49912e315c9223df38231 SHA512 e4c6140850c5da9f6d5efe71151288c5563c1ddee3be6eddd2e5380bd7574fbbe110a2dcc222d4ca895de15816b26e8957fb05e4c310857e50a7b8e868f9689b +DIST firefox-129.0-ko.xpi 663937 BLAKE2B 86b1a8267535b7343ca1fc14bb1f6d5ed9832c3bd61804e984d14fc5d204240a0300b2c429ebf397cf03bc87cf240a67e6f4f32938ff51c26292b76729243c50 SHA512 c94d248a64264c43db4172bd0fab6a06569f4ef906a2307cedb2062e97b6093a91c86de0d03ec458182ab8b9b9d1cc260a06d1e179e1571d9f43368fe587a76e +DIST firefox-129.0-lij.xpi 486304 BLAKE2B d7aa679b331482e6ff4d21f11f04365f8fa4437aefc3d5ef38b3317d568b83e0297c8db0adae57426d479f58b887ad6f80c3f6084da9593efb84a620172ee7da SHA512 7c3f470763536149825389a1f5efd35640adc388273307e311e06f375e90e8ea4caf5c1683280e8487913ed273a0c8c3fd71037884160f9bc7d923b683e75236 +DIST firefox-129.0-lt.xpi 575024 BLAKE2B c88a4a262cfa31bd2d81f797a0aaa4a79ac25b5ffe8ea2c3a8c02006d43a20e7aaf2667a6e2ec5391a13b4e73f019758776340db1449807c8d33c2a8ec19fe80 SHA512 43f063851250cb048e0c0c6faa45583760a5d1af8a589c1845f6583c24ba011e359b23d9827f5c3bf3eb553fc385cb355b65206e5e5581094a3fce131df8cd28 +DIST firefox-129.0-lv.xpi 576570 BLAKE2B d631d2e61309d6db67d659016cfb0057d1a5f6620ed7b5b3a402244d3ea8f0a66eb8ddf9e8349e7117bd42e9c6e095265991d5e6ef498c56c197dc118d25bd81 SHA512 9d03c8416992a4bd711cf5e3fb86c820bb8841ec82ebc7d528a91e59e3567b9d06dd14b584c22eeb5ab0757c4b1058b4e6e3f0d55b366ae1f3d4a225693fc2ff +DIST firefox-129.0-mk.xpi 496019 BLAKE2B 0eb51812ff068eb754f6ec2538f9538f5e50b307bac2856f3a0d015d5e49d1976c5e9cdf3255e3dd50a8a32e65a21620921140c0752c262ca04e4bf6dd184e39 SHA512 9988556fb5d07e5d0ff8f39afcbb0887f6e682046529098c1fdf7d180aa52e82b844ec0529cfd8a5dc23fb795516d4ced66bbed1c22dbf1acb575bcd44e371ea +DIST firefox-129.0-mr.xpi 534267 BLAKE2B 019436e5226b9cbc03703030b2cadf03bb80478c3843da2fe40bcdc039037369d4091cf7a04e3ea5d4f89bdc39d448f6cc862275eacc6735f7456da30a089e35 SHA512 d3c55afb56d73425b4893e29c87880b58c75d4109231fe3c6d342debe9f4c94780d37ac64f3fdfbac74c98fba8293436d920ac9163c8a3a3fd923069670c0569 +DIST firefox-129.0-ms.xpi 451900 BLAKE2B 8c6ac532d2ee8b4d629b2cbca96fdbd8aa0a510fb629821074964986ba90a8914ba8683c846adba12f6d04074af9d7f6445ef8e567c0662197dd2013d0ad3df9 SHA512 8b553e38b656f3211270a1c8c066535301ddca3957fe07f06565e30905d7f5c7b3e8066eb643a951fe0e7c92c8eb44cb16c4732c9ac938699a935b4cc8d28010 +DIST firefox-129.0-my.xpi 520807 BLAKE2B 506839e97769d48c88cbece5a7643d6155ab16d3dad3307887075c4cad6974ee9f904b383ab9aafa1957a208dda6788940fe1589ec0bc110461565e1f1df027f SHA512 c1ca31b4e2cde6c3af9a3e15f7cceecde26377420bc546339c727b8c248bf5dd7a2f4bdc10bc7358f9eb4ffedc988530e2547e7fb19459c97c49e05197abaf5f +DIST firefox-129.0-nb-NO.xpi 610260 BLAKE2B 8c8e5c4f0e8cfb4a21016e16a09d31c0036604242c1b1029d263d1ded7dc9c14059550cc89a144ed7a5756bb0f42e349000c3a3a5a3c998d911490c2e89fe0b1 SHA512 63e29f8b7f11f58ed3d672f67bc1c24142eb446c4209d268a8220cb494ac60bc77f310b0d8d0108315a97d51c904bc388c58ddb17a3139433ee2dc4e0cc5053e +DIST firefox-129.0-ne-NP.xpi 516325 BLAKE2B 63713af7a1dd613b118c605a62e4110b40de532be26fb37156ef9ee77963b3912f45a5de2a9008d5fd9aee477fa74cdd07102d221ebd53735d3c0073d29ffc7d SHA512 42bc77c999aaa72ff32a040c07b84c6545f2bf0cde16374f3945c4c4e041adba763c4f4e76a5ffa4dbf94aabfa656ecff2d705efa374aeedf95f2503b64fe3e4 +DIST firefox-129.0-nl.xpi 619717 BLAKE2B 301cfe9ce815235765027455288f67c5cb19867305022065b39d8a3731f0155a2309ff9f2c5308be7898a49dcae92386f20dc65a7c8ba309a161475f8cbc2d31 SHA512 ff74c8aac04636a91dd3d1ebf0d08de2daa5a23cc6af55e42e8bd25325eb410651339cc13f5cde5afaa72f38bd0934d4ef0708e5979d78f58f70b7acfd3242bc +DIST firefox-129.0-nn-NO.xpi 613178 BLAKE2B c872384269d9752afe19d65559d2c42931100a42c948935ec4986a82dedca01c50f67c4f5ad7edbc59a08f2717acc2e380421d3c93f09d984d80efd8209205e2 SHA512 e264b671a18eb9d30035ee030e55c0ce320dc580f1107371cf30582c78267eb41d3f948312fafeb396ab754ba340a5642f74f35b70153c4036a691efbc04bf47 +DIST firefox-129.0-oc.xpi 615152 BLAKE2B 03e0fc6dcf654f766bfba980f493fc44f004e0c91efeaa6d45c53962b98f01dbfa6f4f145974f09f662a40192a167d55cd6c19d61f5598e975f4fe780447d8d4 SHA512 3e5163782086060b74567edb2674fe1c22b7026c6fc97dffc3c2f36ca6da76d4158c4af5c26add7a32e8b8111668ad9290d39a339938289574791bb4e645bae3 +DIST firefox-129.0-pa-IN.xpi 694805 BLAKE2B 931f958b9c9cc5644c6fa1e66964a776e3edf0561d6a8943dd217b962f11eae2bccbb6889eb16d02aa0f37fd14447f5cdcf947416f935d72639ac15981dbf450 SHA512 dcaa062cffb04d721b18c9cc8d085ad35767b588d0b0ff0f3f81a84f0a34f835145fa11b01f07c23f05de8ae084a09c1b58cb26e3a8bacb6675df0ef136d750f +DIST firefox-129.0-pl.xpi 640506 BLAKE2B 2566a995dbd267513d0ec60ba84f050ed011b714edab943bcb6710c38dd34aef01f97370af215ac9f3f604decc51f14bab326b251b005950be8c6f9694893235 SHA512 13785610ade5106ebff8e7246d8cc4bdb71989b15d289aab0c7c2964e9c0cab72b64de7eeea5f557735d061612ead7f16c85b28b1ac5db6c813b19570e64405e +DIST firefox-129.0-pt-BR.xpi 624480 BLAKE2B 406a116c7ddcc0b8bdeb1dbe50e6a40312571e2725ba9d4a9b9e8bd09cf1df586d23e4e2c0b9a79051f52dd96ede6f60d597f762d8d14c0d6097b9da00246f86 SHA512 95de0cad0439e3bb482a0344461682a0807ba78d974b880eb983499e07c3d80baba33a0bf461f989e9ac2e3e6a126dfc0a62b30057002e81d648ffa9f278ca78 +DIST firefox-129.0-pt-PT.xpi 630821 BLAKE2B 3b34ddebbb7a4b51b0456b2c8a458f66628c797d6cc8708aa952c7ddbdfe44b7db6057edb7aefa075c5c28964dad1e0323e71115d4dfda62cbe2f76f145c894f SHA512 c3377f461b92964992a02038dde044e214b3565829602126c492e6b7ee86682a942ed644a6e68fc4f2d6dbcd06df2cde88fa14f771a480b9b59c06961ab9a1c6 +DIST firefox-129.0-rm.xpi 620396 BLAKE2B e200cac2225b3abaa1a7485918ce8c3a943d51a60a712009c6f1c0e82efc4f4d11a9139f416868e079d3833d1bb8a517f5a0b72b6bb16a6111d6a357985d7af4 SHA512 9adb403c0f8a9263b20522cbeab3c5e334516b57c3ed864bfe5c104b6f146ed82d89d93d16cdc83838f4599d0d68f1f1204dd71b776788306ff2059124b3367a +DIST firefox-129.0-ro.xpi 552118 BLAKE2B 2ec755b3ba7f133cb66a806232d312a635ab73fd4e0cd1d4b4474ba1475cd755ab6b443bb36d12c823f1b1e051e624b72088cd84c973028386e1c408781f0176 SHA512 7dd7a5fd87955702e8d9f77d297869b8f86d86d9b349283c51d00b2768a39c24935caf3c1cc42afebb6cbaf9833285963c91f3a52f235a7d16e552e638953610 +DIST firefox-129.0-ru.xpi 722864 BLAKE2B bda2241dcc89986bf590d75539bb59bb253ad24421bacdc21d19f0fa9651c183b0c22de15b454b86c4be6d1ce32a1794a43974d56a1732e6f67b6fbfb78dc187 SHA512 e7c3078cee0d711727df8e163939c7c929c07ab9fea7c004e34c1a0ed2e5afa1e1f76573768ea5fdb1bea8f97dbe89371f66153c48e8bee2c5ce20214f50da55 +DIST firefox-129.0-sco.xpi 513495 BLAKE2B 7570b205e8ba3cd92905c988ac8fcb249f2521129480cf9b186135d1c287222517aa39e8bbdc976694af4f922ed75e7276f7bada49de6f8b15bb3947056d37c5 SHA512 e05c741d8f85a3586caa7566695b4f4496211b856ebfd47b65e2b3e620a05df0e0aba22f9a7077e222bef1520a3c9252f9b1cdac605c1e3359c76c2f99a5b895 +DIST firefox-129.0-si.xpi 615445 BLAKE2B 032c22ac323bb76264e09145a5de5d6ad4861d916a40cce37c9b270dcf3cc21e949e656a2b0588ce14789c34b9143c4020a1c6b498d63d09c1cd3e102f93d705 SHA512 251e33e47105acd38e116e959d626240c4cb042627b7c495309fa44dbcf6a699f4f60560d53a9f6d978b323f7343e583ba6a9bab72f5e91889332f896e4676b8 +DIST firefox-129.0-sk.xpi 654953 BLAKE2B fb3edf857f07d937e84add67f2ba74c8fa24a879e18b0e5e4ed7ee9d5dbf5e11515d9bb7eb4891984c7abc78a63a6ddd56220987147817fc4b0c82585f4e54cc SHA512 1903f4a4598bd5beee1256043a229b2899b875384f8d4e2e56b7ad5eac60d15f574307fe7fda511d9fdbd1f3b91acf94e15ebfdd7830fbe06f68bceebcc48678 +DIST firefox-129.0-skr.xpi 710334 BLAKE2B 4a74250ca07c41d4241d11a4f9fdec9d2cdc58e94e7543e59de6570ffe0d5ce20ed78c184f71b674ade47e7ec4511e7f1449c9e3707eccb2c72ad8507f7f13f5 SHA512 c709a5a797ad78a3d4b738b6202f831e21c31a0f94d497e573fbfa7f5debbd446b2590b3a579a9b11ffb0e689ac338db275321dce5825710e225acf8a99ccd49 +DIST firefox-129.0-sl.xpi 619637 BLAKE2B 851442e79deb9ac85881dffff39dc1a61e364065824ed7bfeb2bbe9b4273ca3fc53505f481c63b94c002c95505def63b889f485236605a445c04fb0803e114f2 SHA512 8d71c9048969dca9639346d318201d70237332e0d68604bb0b9ed68c2c713e60c007a35b29dd20cf0ba83ec19012f36d514310edd48eb4c0c2b3a5884b98dba2 +DIST firefox-129.0-son.xpi 418560 BLAKE2B f7080076b63bd78ecfa43ebec494dba86c50ec59539726ecf0420be6d5b1d82bf5165aaf15b280966cc68782b0900ce433c3d88cc491cc12629a197c4dd2b115 SHA512 5f1ebf3847ab06d23903cfba9b1916d4139d7fc953fab7451c53c3e1f13639b8fb611ac7e3bd081baf8593c597b082dcce1d9fb6a88c7a7953ce41274af3f569 +DIST firefox-129.0-sq.xpi 639121 BLAKE2B 9f15377edb8eaeeae601c0fd255739fad7fbc96d1320246da12997c9226190755a28f3e8bc051733dcf369aa135fecf6cec27c8f2ea0eb62cb6e2fe95517d240 SHA512 2a307e0b0b25b44b7444dc3598b07b98974b0db2ef83127f887e26e127b0e30649913956b1f354cb3426fb9e71529f8a776fa0ded099bf4008e1bb8c2b7ff140 +DIST firefox-129.0-sr.xpi 641697 BLAKE2B cba40453caa4dd835f9548797cfc4350db4bce8d05d3a6254e27635f3815ab9b4c10f8f08666fad1ef0e3a041054dc8d9b48cc1f7e40239915da886e3c0d62f4 SHA512 67fe3e741888be0295ec691bcce2621c2e593ca1763b0e60e8f31191eab6930bd475b5831f74fc39185f619c656d0ff781e834165969be0f8043b6acb2339478 +DIST firefox-129.0-sv-SE.xpi 621418 BLAKE2B 4075df53cbb534ae97be7df09caa47fc63e71225186c852ebdf6006db2f81ed6f111fd9461c6b2383d81ce424188ac503148b7f154cd433fd1b29c077763686d SHA512 6468cd94b1ea784315b2638e08f7bfa3144939663bbf3dcd6dcc6ebaea744c300a548fee5856e25e15d94c2ad38cfa3a47e9978954351d1b9a06af0329f34d73 +DIST firefox-129.0-ta.xpi 509682 BLAKE2B c047cbd20038dff66f3ca561eb865f64bf5cf75ac0386c1f74607de38018fe4e440a6e48c5a153986bcfb3cc421a49432cc5dc9492982ad6a3dd69acade5a015 SHA512 ded19698a518736b1c356b5c1dc7ecb9202355e40f34fac98f4bfc4d432932e1b82390c2236b97359a88197720cb6380110e4ac73c9acc690fb35b2cad1853b1 +DIST firefox-129.0-te.xpi 563245 BLAKE2B ebde7478692071b6d350a5ebcb5b4c04d35c8dbfb69830bbf41df4eef8a8439b2265513cb7f8e5696fd06de0226ea7e0ad9d056064ba978b198f65d5928a136e SHA512 951751c3f358c6db5730df3ccb4aa0821a8d5983e8fccccafa86a81b96558fc34778a701402731deb9eed08556816a9a7f57f63d4f20df57feceaad3122a1668 +DIST firefox-129.0-th.xpi 700403 BLAKE2B 9bcb6082169808b2a1d801e3ec15142debeef0bd04153b5ecf80c8eefa256d696db6eb939b366ba96970e1fa8dd1f8ac2e404c1d40dc74ae4bb74f6f89fe5872 SHA512 68e0a04a36c7bc2566a3808bc2d3a85b9ff7decca8ac1df7337b2c3873aadacf60d6cdc50cefd8063583b198968278fe8a1501774219c5821a36714f4fa8151f +DIST firefox-129.0-tl.xpi 536469 BLAKE2B c32118ff88a90b3b34950592345e798295c3042e8a3693b769ce97d91c7d4c158bc7ead979b22977118fc67f47020e02b199609d6a0e8a2c3d5589fd938f1607 SHA512 b283c832161c2104e9241a4ba0c7b5207f151b8750a2d7c409d669124240645793509a502a3c615d06f59142b22b601ab43556089e57d33d56431419f54156c3 +DIST firefox-129.0-tr.xpi 634870 BLAKE2B 18934a021f722b391587db29a462d065e3cdd9042eb27ebd8f62af014fe5183f3f1f8e3bb553b38066ce02c47971e1438f063ef6f7a845b6f3adb27922b3a4c4 SHA512 933b8b7b4da9e76d24edfea4c53dfc3b9d4128ed2f38a9bc302b91147f2b0e6c0b1a43f9e4dab8498e6f5689d268430942e974476a4844b8bb9290470f41d604 +DIST firefox-129.0-trs.xpi 506189 BLAKE2B 50a724dbae41800d5817fcae0285344a4623def4cc6752e9c426a2d1fe875b13e3c9360d1c9eeef77109f515348e9d2556261362bb7d3887ca608a78c6272888 SHA512 323a120ead7d44331de2debccc8c742453478124dba2d0b2cae640148599a5c488fd5cf8d9b26738fc7de95e09fba6a7660781c12e28f94d357c03f51d897560 +DIST firefox-129.0-uk.xpi 709777 BLAKE2B c55fe815b8914a933976e085e8e00b943a9abf8d6655c255918509a83e44522e51bb19b53c4f5e79c397e5dfced8a63817ccd19a34f0659844071414813b1f9c SHA512 5e6a79385257cb25bd6e151a597df854217c0dff38e31fd77513aabbb41cbc0f119fb0f9cb92654da9371ee8fa93c8d8db4b4aaabea966a8ba002428994b2891 +DIST firefox-129.0-ur.xpi 562715 BLAKE2B 9555ad7f63d6f3f73d548193acaf48d13b5645f4b05a54528a009a98774f480f76755d494e7b5e70c4a8f372aa3bea00a26bd64bffd066884bea3e9d48466f82 SHA512 aefe581a309a229fc00116476d0bb1b48d75bf8483c6631ed6f2d99a5241b624717512b5720f0443441a7d18bbd4708457913e9061600ed30012f2aff516502f +DIST firefox-129.0-uz.xpi 480950 BLAKE2B a716a87be418939a1792d9fe95754a318c2ce8ca3427201dc3103c8105f42deee060bc1f4ed6a3f7ffaf4cda4daf6d42360e36f09f05c10b48e52fd5b06d6722 SHA512 404d44e24b590258fd4d7199418a693c5577415ccf786e28e8875813bde38edc98a300f6e5313ee65c419ef653d5f55dd8265dee1b81ffe82d481808350b732a +DIST firefox-129.0-vi.xpi 658017 BLAKE2B 817db5f6931bfec8555210ba4c123156ea6517c54dde58033b9c11dda78b4ac0b9b6cad6eb58637836cd86a5f3ad6b031cbf4ae06ed7c326ae7e2a4cdb2270d0 SHA512 6d1eb4e572616156d27ba82b54d780ab56b83d236f73f96b3b7d4e2089faf720d66f3f8ad47aa6ffc8ac26dbbfe2f16f3e562b79736a00abc0092a574e6731d1 +DIST firefox-129.0-xh.xpi 419346 BLAKE2B 43b17550b6d5e43d9eab54e8a5be693754b8752c69071af37588fbe37df5c34f430cb12e1b786d55657492a879a09431f7cbcf03b9f15931f5b425d6b672995d SHA512 aef6ebeff017792264624ba3826184bed07d5b50b3b187458cd6bec40f3c801e48835777e1604cddb7383f1e1b49b70cb652177ff75ea334a07887b5e3608270 +DIST firefox-129.0-zh-CN.xpi 659751 BLAKE2B a3e42fd166f3e53e257a01867a39b5968205fc1776039a90a313ec83172cbf01a56ebe03822df187a6858ab68d0b2771aa279b069433f0f1a775601cdb394844 SHA512 864b97371898740eb9f3d73e43b00c493da2c613279d05b4ac4a65e3e65be2ff88ca6d8e04f44a07ee752ce518d1350227f9c43161081303c30e08498847f3e7 +DIST firefox-129.0-zh-TW.xpi 661606 BLAKE2B 55a5662cbec90c5a4813ed7540cded88b50560d226b17b43c9b8454ee901a269b974ced3f9babb8b46fdcf0a51d4871a36e33d3ff0969597aeda34690c4a5863 SHA512 6d225f14c65f0a9dd08dd716199eae640d8e2a3f52026d43a46d07c4f48a5f7bd18b4a2ad8167c5b33e1eb17307ccbba80c05b5e2753d191779d7c115dc45b27 DIST firefox-bin_i686-115.13.0.tar.bz2 84230695 BLAKE2B bc092a4c869e8e5d52145d394472d726d6f770c77cc345072e2b480558a26fa3e7bda3e9ea3498a4e3a972ef76fdc5ce9240a8e54ac7733bfa9d8efa773b4ef9 SHA512 2c34e7abd1b76f0321b59ea9bc7802c801ac8ac5d9dd1cc210e44a8d08eaea934f5da124c310452a2624a37878383173108403f6d9ae1770aa84a926006356d2 -DIST firefox-bin_i686-128.0.tar.bz2 87805303 BLAKE2B 14affc3d8a92f2436fa8babe16935f1cd32bbd0fa5fbb370cafc2d92699751587b24485e2a46309f3940b19ea2fbaccb42fd5c0cb3d2f4e21d74dd160e61ca7d SHA512 4258fc48de296966df9b7011ef39c3824bb36c7f6a76ac3378a7fe9fb282f62d6c9a775a50da8967efe2bca405435ac8d7593a3e4a785990fb9a1a580d77b6f2 +DIST firefox-bin_i686-115.14.0.tar.bz2 84336448 BLAKE2B 058c54bf8e6316a656b0428556208312fc25d57b94e00cb051008952a46f49fbc0751f6faa5926f51d0f58f2006ddbd5650e3530413a9dfb70691476c704a1ca SHA512 6d95e60ac3a6c92d3c5ed03cec1d8b0c55336f012b69cf213de95b7d34825e4ad98387b9c44bc426292a5070e3860b68bbf14fc47d3e41914defa1583bdc33e9 +DIST firefox-bin_i686-128.0.3.tar.bz2 87820852 BLAKE2B 5874e307b445788c3cef613f4acb9ee47f2fa96eaa71ff329fa250df13f7e3eb5a7df209d1171e1d1d8199b3c74997be0ad4f362508ab0ce6101d60dcc7806bd SHA512 57d6d5a7a9d4f76a0b26fcec3352069662d5ac9fb10594fc2d9fcf824ff0665649f1a0f2475523181e769ff4c84dd6bae798131beed07ccc99467738dc2561e3 +DIST firefox-bin_i686-128.1.0.tar.bz2 87864851 BLAKE2B 0702cdbba3f536c8cc7fd5b81ec86dbcde5eb4c821d8414ed7bd88ca1721f4a3c360dca1f57f5676e6f9a6838a72b61e572d3f69d9b8806aa0007fb621fecf22 SHA512 898b36e1032d0489414f58759e409dd07cf66741d1843496510d8015eaa63814d8019c38c4a4c49890273f3eca92444a12c5f093aa1069e63180a8fe5c76a5ce +DIST firefox-bin_i686-129.0.tar.bz2 88162418 BLAKE2B 3ab84818991977ad333289c2a6b0ba7ebe739afa358f494c783fecbae1eb82db404c606da707222eb9279512db0bd570950d8151b8e303db84ca09e85393904d SHA512 cbec3b31b5f4b0a2f7e1ffa2ea9cc93fe665f752496e0edd70199c20d6361faf9dbc00661c9e15658c91d3b4720fb8f93dd772fd6df899a1e148c7ab4b612826 DIST firefox-bin_x86_64-115.13.0.tar.bz2 80384395 BLAKE2B cc83e68b0a003c5fc5fef0bec5d7b5b7c8fb8532b3ef042e99bccf34ec6f50072533fdd381a434805c5cd4b87f985bcb80241d48c3cd1943ff13242ab47944bb SHA512 892de5aff106cb432b756231995014a7c5ad8916e15ebeea60d18468214a843bc5276559b93733de9d6491922cf44e07df55f1ede423c8d76656f08507452b8c -DIST firefox-bin_x86_64-128.0.tar.bz2 86473263 BLAKE2B 38c0a241473021efb4625c93f4454b49b894d59f8846c6481b3e2e9a4e1acec93e2fba0553fa4271f2a4bac4787f28dd92ab6e1ad0fc319a69081a46864c0f67 SHA512 7220daffc95a6ef565d9b56e9a55c25eeb0375819e9262c9a2f00970bdb5a807dd4a66c2c4715a3881b14191150fffd33088b2a12c2953aec5e47a846590d3b0 +DIST firefox-bin_x86_64-115.14.0.tar.bz2 80351439 BLAKE2B b9e754c3596f817e7fecadaa3dc63f9d70f3cc002ce34b32b5f987df772725da92394fa1550dd4b0ca218f90b6b68cdb3d0526ce891e12a1434d5cd314bfa668 SHA512 7b8ea7996fb7c77207959754d06782b20216caeba90f011b52cac419b8c214c83d976f57c38bc32fe0e191b31a268dbc39c4d3b46d46949f16302828717c8962 +DIST firefox-bin_x86_64-128.0.3.tar.bz2 86556796 BLAKE2B cc5ce28314736d829deddb0a967921db92c734090588766433dc1f420fd11a241e5f8c0c66c17487609eed7449b305e2981bac3ee379cdb71e71865f941d0c01 SHA512 51a0365999d89f56280bb956bff3324d28874a164432a500f76f773b3407e888d1c04444bb6b55e9032036d24bd8a8f8b6af26806fc007258591540241aeefe9 +DIST firefox-bin_x86_64-128.1.0.tar.bz2 86719574 BLAKE2B 619c4b9cf9442fa41c8ea89dbce0eb831305eebfb169a6fd071450231cf714cb465679e3be47b6214aa911557d9e4d7b57d8bffb4923e78bdca767b74af06f48 SHA512 5034dc635b99b6d5f98d5c1fa77408173ba4ba3103563439d9d94c964526d13f24f6838f8bb679336b311fe8307689829980a9a594f644039532f20a046ea606 +DIST firefox-bin_x86_64-129.0.tar.bz2 86788101 BLAKE2B 981474ded7aef9d27a1841f8c35bd8424ca35aeb00479669de38fddf0c10c02be0feff6ec18ec088c8d59ef1c3e9a1b94257b00a796c31f20c66c50408a3dc50 SHA512 eb620d7d38d3fe3c062a67673dd49a980855ac84b4f832d4a19bbbcee8d1994883d9af5fd77b5238c349c182f2e3a6a370cff28035d24e172b7545f7ac633786 EBUILD firefox-bin-115.13.0.ebuild 10934 BLAKE2B ba31c56b7abf9e2089563a33054a5ca6caf1e9cc92a7837600f0af25f8768a773ae2e2cbd2049964847ec2d5c93cedfeeed7e3a8f93704d9e8f8c8360ca581d1 SHA512 41e2a60e4a0bf1bef6f591bd0ff34a9ccadf7c85c94a23d0605230dd2ed35d01b54ea25534fde940766c7f52be5444d493bc7280dfdaaf2a7bc7f3d214d554c4 -EBUILD firefox-bin-128.0.ebuild 10774 BLAKE2B fbcf57d80b5797e74b869a51d58e5b270bc67f796813018a3063f5487e5739be6be74a8c7b52d7b8ef74c8296cfa108ebfe672a342830d5b8dbc808abdf1008d SHA512 9a0bfaf41f89fe22caaa1c8e15883fa4880a95577afe7d44b645fcf9ac6abffe69b9c38e351d2e4bf6e7e1b9eed74fe1c3d87d16f2271da86af1c33d5b6e50fc +EBUILD firefox-bin-115.14.0.ebuild 10934 BLAKE2B ba31c56b7abf9e2089563a33054a5ca6caf1e9cc92a7837600f0af25f8768a773ae2e2cbd2049964847ec2d5c93cedfeeed7e3a8f93704d9e8f8c8360ca581d1 SHA512 41e2a60e4a0bf1bef6f591bd0ff34a9ccadf7c85c94a23d0605230dd2ed35d01b54ea25534fde940766c7f52be5444d493bc7280dfdaaf2a7bc7f3d214d554c4 +EBUILD firefox-bin-128.0.3.ebuild 10774 BLAKE2B fbcf57d80b5797e74b869a51d58e5b270bc67f796813018a3063f5487e5739be6be74a8c7b52d7b8ef74c8296cfa108ebfe672a342830d5b8dbc808abdf1008d SHA512 9a0bfaf41f89fe22caaa1c8e15883fa4880a95577afe7d44b645fcf9ac6abffe69b9c38e351d2e4bf6e7e1b9eed74fe1c3d87d16f2271da86af1c33d5b6e50fc +EBUILD firefox-bin-128.1.0.ebuild 10315 BLAKE2B be48403a072e66709fb8be8186768aa4fbd000a568b0c5e22c719066597d59d61bf1331573842b8b953f1e8d657fafcba3343fbc57187fe943032acbe9f7c60e SHA512 23da7f16463e75ad94f0e8a3f6f90ab46af6d6d53f375493e117c965dd46de8750a456a71bb5bd7b8d6ff96e6347ab4018994394ff31d50b456a5b32fe1efff0 +EBUILD firefox-bin-129.0.ebuild 10310 BLAKE2B da219c064bd92b32f6d8a30799cd023ee2b81a5ed984309cadf009d4840b8a0baa1e50ada204a9115d5add746244478af271796ab918df235190f9b323b8ddd0 SHA512 42f945a56218b4ccc5ea309f3dcf70eacbb2fc128467386c70d5cb1696b2d4e61af0237bd9a95844255957b56f6e7de3f19c86901b7b44f00ebaf039df618a6d MISC metadata.xml 520 BLAKE2B 4b540dd2d9ac3840061de8a73117f2859db156944826d22c1f74cbc0c35f6d305aa10ff45708eab016df725cfc741c99dec46f0078a29162982431892e86e477 SHA512 0c7183e35a4b0ca2ddd092786ebdeb5b41a431adf918f0c2e541a5ef1c235066586a46a50fa29c25e5a522930824f8662fa2fa7eed8c3895f74d85bef93cecb4 diff --git a/www-client/firefox-bin/firefox-bin-115.14.0.ebuild b/www-client/firefox-bin/firefox-bin-115.14.0.ebuild new file mode 100644 index 000000000000..95d67fb921b1 --- /dev/null +++ b/www-client/firefox-bin/firefox-bin-115.14.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-bin/firefox-bin-128.0.3.ebuild b/www-client/firefox-bin/firefox-bin-128.0.3.ebuild new file mode 100644 index 000000000000..06e4e5c1e6f1 --- /dev/null +++ b/www-client/firefox-bin/firefox-bin-128.0.3.ebuild @@ -0,0 +1,366 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +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="rapid" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="+alsa +ffmpeg +gmp-autoupdate +pulseaudio selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + !www-client/firefox-bin:0 + !www-client/firefox-bin:esr + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + 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 skr sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi + xh zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +pkg_setup() { + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \ + "${ED}${MOZILLA_FIVE_HOME}"/plugin-container + + # 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}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230 + local apulselib= + if use alsa && ! use pulseaudio ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + 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-bin/firefox-bin-128.0.ebuild b/www-client/firefox-bin/firefox-bin-128.0.ebuild deleted file mode 100644 index 06e4e5c1e6f1..000000000000 --- a/www-client/firefox-bin/firefox-bin-128.0.ebuild +++ /dev/null @@ -1,366 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MOZ_ESR= - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -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="rapid" -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -IUSE="+alsa +ffmpeg +gmp-autoupdate +pulseaudio selinux wayland" - -RESTRICT="strip" - -BDEPEND="app-arch/unzip" -RDEPEND="${DEPEND} - !www-client/firefox-bin:0 - !www-client/firefox-bin:esr - >=app-accessibility/at-spi2-core-2.46.0:2 - >=dev-libs/glib-2.26:2 - media-libs/alsa-lib - media-libs/fontconfig - >=media-libs/freetype-2.4.10 - sys-apps/dbus - virtual/freedesktop-icon-theme - >=x11-libs/cairo-1.10[X] - x11-libs/gdk-pixbuf:2 - >=x11-libs/gtk+-3.11:3[X,wayland?] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXi - x11-libs/libXrandr - x11-libs/libXrender - x11-libs/libxcb - >=x11-libs/pango-1.22.0 - 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 skr sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi - xh zh-CN zh-TW -) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -pkg_setup() { - CONFIG_CHECK="~SECCOMP" - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." - - linux-info_pkg_setup -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - mkdir "${S}" || die - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - MY_SRC_FILE=${_src_file} - fi - done -} - -src_install() { - # Set MOZILLA_FIVE_HOME - local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" - - dodir /opt - pushd "${ED}"/opt &>/dev/null || die - unpack "${MY_SRC_FILE}" - popd &>/dev/null || die - - pax-mark m \ - "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ - "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \ - "${ED}${MOZILLA_FIVE_HOME}"/plugin-container - - # 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}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. - # See bgo#916230 - local apulselib= - if use alsa && ! use pulseaudio ; then - apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" - fi - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" \ - || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" \ - || die -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - 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-bin/firefox-bin-128.1.0.ebuild b/www-client/firefox-bin/firefox-bin-128.1.0.ebuild new file mode 100644 index 000000000000..ad93621b1af2 --- /dev/null +++ b/www-client/firefox-bin/firefox-bin-128.1.0.ebuild @@ -0,0 +1,359 @@ +# 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" + HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.com/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop linux-info optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.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" + +KEYWORDS="-* ~amd64 ~x86" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="+alsa +gmp-autoupdate +pulseaudio selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + !www-client/firefox-bin:0 + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + alsa? ( + !pulseaudio? ( media-sound/apulse ) + ) + pulseaudio? ( media-libs/libpulse ) + selinux? ( sec-policy/selinux-mozilla ) +" + +# ESR and rapid dependencies. +if [[ -n ${MOZ_ESR} ]] ; then + RDEPEND+=" !www-client/firefox-bin:rapid" +else + RDEPEND+=" !www-client/firefox-bin:esr" +fi + +QA_PREBUILT="opt/${MOZ_PN}/*" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +MOZ_LANGS=( + ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy + da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu + fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM + ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my + nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco + si sk skr sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi + xh zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +pkg_setup() { + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \ + "${ED}${MOZILLA_FIVE_HOME}"/plugin-container + + # 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 icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local exec_command="${PN} --name=firefox" + else + local exec_command="${PN}" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230 + local apulselib= + if use alsa && ! use pulseaudio ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + local show_doh_information show_normandy_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "speech syntesis (text-to-speech) support" app-accessibility/speech-dispatcher + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/www-client/firefox-bin/firefox-bin-129.0.ebuild b/www-client/firefox-bin/firefox-bin-129.0.ebuild new file mode 100644 index 000000000000..7b882a514cbd --- /dev/null +++ b/www-client/firefox-bin/firefox-bin-129.0.ebuild @@ -0,0 +1,359 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.com/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop linux-info optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.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" + +KEYWORDS="-* amd64 x86" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="+alsa +gmp-autoupdate +pulseaudio selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + !www-client/firefox-bin:0 + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + alsa? ( + !pulseaudio? ( media-sound/apulse ) + ) + pulseaudio? ( media-libs/libpulse ) + selinux? ( sec-policy/selinux-mozilla ) +" + +# ESR and rapid dependencies. +if [[ -n ${MOZ_ESR} ]] ; then + RDEPEND+=" !www-client/firefox-bin:rapid" +else + RDEPEND+=" !www-client/firefox-bin:esr" +fi + +QA_PREBUILT="opt/${MOZ_PN}/*" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +MOZ_LANGS=( + ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy + da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu + fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM + ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my + nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco + si sk skr sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi + xh zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +pkg_setup() { + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \ + "${ED}${MOZILLA_FIVE_HOME}"/plugin-container + + # 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 icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local exec_command="${PN} --name=firefox" + else + local exec_command="${PN}" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230 + local apulselib= + if use alsa && ! use pulseaudio ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + local show_doh_information show_normandy_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "speech syntesis (text-to-speech) support" app-accessibility/speech-dispatcher + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 8de5019ad6d8..c9dffc64ae92 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -108,109 +108,415 @@ DIST firefox-115.13.0esr-xh.xpi 414787 BLAKE2B b1f1d584ebcb91b1819ddab80c6933f93 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-11.tar.xz 49440 BLAKE2B 804f5b7434fdf671361f8efbfa3e63cb8b14fcdea39a444ee04cbb4ff7d7deaea74ede239843c350a857eeacf59a69145e234070baa3b05b6d3e1b5c8835f23c SHA512 5e2c88374f14611a1aee4fa191ceb2e66c1d440c98d6ca9d17747290f01f1a713b71c71cebc37313c089524aa6155bfce08c8931a24b71b28de54913cfccd73c +DIST firefox-115.14.0esr-ach.xpi 459031 BLAKE2B d3cdbd91af8e9d03a7624b1d8374dbd31edf0a619851422403e8fef616ee66705a186d8d5eb84e449965298a7e81abc70c1104d2138241d07948c01cfab022e4 SHA512 84c30cede83bb4075950375748ff2c48a799829d57de6b8bac6fb38996242a6cd42f71b716619e7f66120af4a4063342d78762b8d954cf49a9dce355dc1b6e24 +DIST firefox-115.14.0esr-af.xpi 415184 BLAKE2B 76b0ccf4cf4969e4007cd770b40a2fa486145d270887a85130c63f3443c85f1134b5f396a1e5f53211180ed27b5e63f9f1a4117faf2fe57a9275f68d0f2a30bc SHA512 d8427668d07571007968f476758907f0dc2c4ca3424331280477791df267954aa982ec5f26885a7b7c174fec3cef946d326dd38c59fb39e80942befb74f99503 +DIST firefox-115.14.0esr-an.xpi 499580 BLAKE2B 61641d853bd906600179e58047cfff47d05a0ef760a072de84f3905bca08400036423c55e1b68ac6ae06dcbc983e99d0f1db73d0a9ae70e0d8cf6889ba6321f3 SHA512 26d6c2bdb55d070b1f74a74564e8d8a45c93935b532d4532e133a3a3b4119d18ff0d609a703ce4136d0161f840a6a34a2012867a4ca0d596c693a2fb396b7fb3 +DIST firefox-115.14.0esr-ar.xpi 606291 BLAKE2B 7cbabd7af93763a04f6da7245929d8cc71d1913b8e6e83879e878238a4de82fb341ea6800818f60ead1e3047f9bfd51d4983d3b0448fcc1a7304bd7bdf0903d2 SHA512 d727b6c0230a2229abe77b47ab12dc8f8b2b2e3dec7e05447de3a69d0e54e636229e158bde032c8718b034c3866c0f5d20d797de5c60b075b669ae5c01bc065a +DIST firefox-115.14.0esr-ast.xpi 491347 BLAKE2B dbe9b24006b8684f3bce6642ff4287449e6aa37529b62222a15930a0ff259f19e982c0b49dc18165d59a579261d09eb01a79d7e4a5d992d60baa8615b638f179 SHA512 f48598254612eb31c49a7680cd76d7ec19810e7f456d49994c7876ea69a71f2b2ce202b78d4edafdce03e9fce380d4594d42fbdb77de4731f8be3135236477df +DIST firefox-115.14.0esr-az.xpi 486093 BLAKE2B 79c846b33bbd744c5bf9799bd5f27af5b473465b73160305cd290228e73564a9425318d4fd5e8b6b23f32cd88fc3b26d52b2bc6bfc0e09a096b4d9ed83c41d17 SHA512 a56ebb803dcee256ff69fb5aad02b9343c1462469292ad581732bf1827492c478c45c730bfd62245bbdd5d21ef89e2ac3381f1ffe4eb66dc65530bccb269ddba +DIST firefox-115.14.0esr-be.xpi 715663 BLAKE2B fa47bba709eca24f1043727aa1ac8bf657925bdbd95d788d88fef39f9d2725d1e3586a02e7239fecd0ad33ec64fee65b7cae54f3f499d56b6a3c73a87fab6690 SHA512 07ccf8b64ae69d6b85fab6f85634a4624920bd7a6025d0d781f74f9ae734bbbaef4fc8b817f2779ca0420696518aee101610184b197927e4023ed5d39a26c227 +DIST firefox-115.14.0esr-bg.xpi 600412 BLAKE2B da2f5d0bf9883c493e69c2eff9f92dea95f8f91d47686aba133b42320cc07a494ceec0479e7aae83f8545f49efcc2f0d2c117592ffa70b0a0bb897aa808b287e SHA512 4e957ba651437a2799d2aa40fdcea71780a0489d47cde50b2f3f242e3d01477ae3ceb82c38bd267f818ce35c5f39241efd1fbe40708ab1d29ed5cfc8b840e4da +DIST firefox-115.14.0esr-bn.xpi 576350 BLAKE2B a1557db1ef6f4eaaae58568b20c3b98af3e5a88f9ef16b6a2e894afda338e60f51983eba1573f71f5831f25f5c871ac3cae3be9394dbdf5da5848be8eb3b45d4 SHA512 ca0e3c8228e5644e7ee3123cf73525266071e395fd02a98b78ba59708ec13eeedb52652132ce1389104733ac7e12ec5b3e2aaa0e22d15fb6d626f18f0e3fbe39 +DIST firefox-115.14.0esr-br.xpi 585003 BLAKE2B 7e3f3d54a2e0da65c77842355448cfc802b6e99708cb6e30585c83f094a392c61e2fc28212df0c398af2831d98144933cce9dbb365f2c5f3ac46a3c5a833931f SHA512 cceffbbf37c5680d31765a728779d70ec15269ef9f9e4a6a006a7e308c8116d3c62cd8041823cc2ea306bb93f5ed811226ccb8d57b6b981718c6d5404d9150b0 +DIST firefox-115.14.0esr-bs.xpi 496792 BLAKE2B 67f48379e0da2dce9f79b71c157b26310f7876e42add689e21d03125fdf365721858a0e5e6ed54c34bde4a0cac960aacfedc623451dff9564ed73e4da0792709 SHA512 1e5afc91618224251521ae4dbccc0fd76f0f74db0bf73198e91a6543142f523ce017532241fdd113344dee15922bdc29fb59c61f8d35a12efdece203f59f9069 +DIST firefox-115.14.0esr-ca-valencia.xpi 539259 BLAKE2B d35b8af4c76d7fd47830fef0498924fa5e64b1eff84f7585b616ffa0ff42bfba673de28b5bab79662df6d9fa240918bccf1fd5a3d72ebec05abf944ba9006e31 SHA512 538a962bb31747cb45f231b8349edf13b271bc5173c4d3821b96888df1ea5e6040906cece726fb41e0d2a84fa783c8294d364db0ad3c9434635f4680a2be878a +DIST firefox-115.14.0esr-ca.xpi 591043 BLAKE2B 8fcdf43c9505e0bb92a39e9ad29a57e68d4a63bad4bbc0af6cc9435db6c992470a782fcc45521027846df6a62adf4f500cf8c9a5d38c474481e7eaec9be45f66 SHA512 100f449d402ef2a07258e51995e1814de0d5aa518eec4a92adb192e0da8e104d4ba80dcdb0cba9cd05c3f86a3adef57c3c9bf72d407860e3ef721358519f5f67 +DIST firefox-115.14.0esr-cak.xpi 586727 BLAKE2B 358433fb5af26a6a0cbd5dc8eb62f9b576066f7919792a33887badc9be4650ca374efb75af7b93de6f1d1ee2b4023c7c44b533ed3e477010d8415e0a7867401c SHA512 5532e4800cba9ce81db2b5aaef2b2ae63b8bb81e67ef0f3b9325a232142c8af4f119adde724ce86584f233fc33381af61d53537e53cb1f84af1dceba50813f49 +DIST firefox-115.14.0esr-cs.xpi 659577 BLAKE2B 3bef6f542b6e14d7b7f98ed0456651af9526d6404fee99e425f21cdd526da054ed8de70834aab630ca4747f14beb720986581f763f45d8e54ee04a6a8b4a613a SHA512 fd1b5fd41e035405c1d4ee9a912798a15cf913db05d9ee36b2f649566ae8e2b8b320ce60be9c378b52a44e9aaf95ab0f41f07858fdcbbceb9250633ebf38da8b +DIST firefox-115.14.0esr-cy.xpi 622581 BLAKE2B 725001b5f81f708b3199b814855de72ca541208c14db2a154c3967f7288611b1ecdaa2c1c6d7af904cff73acb56a447983d8b5462dfbc3a5d9168eba4985ea5c SHA512 9a17905b1835fb62a2eb229efa5042dd44a7849d0d920d6ed0f991fe59bb378d41fa77baeb73f4514e7071789f255adbd7439dc4cb4e2bae57503c37e9f2abc5 +DIST firefox-115.14.0esr-da.xpi 611181 BLAKE2B 83880036dc3fad3e5fe36b8a4d3c9d97b606de13abcc04d20ce6230dca542ff933138788da4a3890d588fe006699bb79e1a71269c4a3ba48330c6755d13dcf22 SHA512 44581cbc73e830efcf2569c18b3dadc065fc58940b6549d0ad585820eef82bd10f61f3bdea6c6d2b174dead037d0d5e4585ba3b319e6b80b038ed1a7d00803f2 +DIST firefox-115.14.0esr-de.xpi 632366 BLAKE2B a37b25b10da4f20a83ce34e88c17342b3408e72e9e092c0264424f6933e4307652f94bfd260828332ed3bacce262b8269506f8966504d0b2822da0cbfd4c3139 SHA512 56c7ddbc600d432dda6d82498278529d9e98cceee0229b6ed0d28a85b88afeb7ff0f5770b7e7adc9013305fe4ac038e72b9a6b1cfa32739b7fae1c6ce970a2a2 +DIST firefox-115.14.0esr-dsb.xpi 651470 BLAKE2B 578d5fb47e7d93c43d586f8eb4eac788f88c6ab31e74a444c7c73059ef8682b92516e37d3aa92f241cbaa2bd49816feb3f40a16ef5fe448e3186ec1205f2922e SHA512 01d28c3faaf2cd5930742eb0dab1a3cab26d3567e57f696d3776f4abeb3e536fc171db39c0d21728116d88df41ccd5ef799c445d5c395937403726597eebbdbd +DIST firefox-115.14.0esr-el.xpi 734624 BLAKE2B 0a24ee3276b1bbcb9f8a0b038434efcb28179bd0a717b73caae3a9a83ede8382493ca0976c2c6a50c1972589bbd84a465ad9d4d93c78f052fbcf684b45ad23d2 SHA512 3515cb0c752543a0c6bb0f0901a03037035d14f16ffe3769398428a945d53941135069eb98c92fa0608c33ed3d0d993577c7948bf790d8d533217e75a9be0d28 +DIST firefox-115.14.0esr-en-CA.xpi 584146 BLAKE2B 139bf423194360acb87311cd688b2d1359dddc25e3576219124050fd91e204ee85cb109f27aff1b16086bf8b5c776d216b4b95e0464cb5eedb1b2c26ce24bd73 SHA512 dac0e30a16f6c899bd1b1d104bd6c0f6a73b900ecc039b0b7a1f32c0649b76d9be7db200419779441272bf627fffd6026ac0cd28e89254aa61255608aad57623 +DIST firefox-115.14.0esr-en-GB.xpi 585203 BLAKE2B 51c6c2956b8acae2a24c1e86b817ae7e883e20950a9e5ee49dde27e825ab8b2b95115f4e967854c6803a3ab658bedf7543e3b1344912899368f1bb4453c9c537 SHA512 19e63882b04e48b94e4cf40b0889df046aa231d4f298d68073c8010556da4a7ffafe991911f04bc00e3afa3097ccab12b2b8d3d9d78dc1b6b5b779c7e138ebd6 +DIST firefox-115.14.0esr-eo.xpi 613404 BLAKE2B b1c8dce95f4f9d0a423025f47a059c12ffb6db5146e9e3a45928f420b7e5ad26658a7e42d0e5feb662793320314ccd0153aa2c912cb047ab22f3c1273430e5ad SHA512 b175dbfaec4b193b6bbc2eec1ca060f9b2ae99c33693fa55af9c3b4fe9043c8a946b7be83eeecde9fce884ea54a566cfad93f04026c9b8b684b97a2ad942a8b8 +DIST firefox-115.14.0esr-es-AR.xpi 628392 BLAKE2B 1b2ac634b032d17d0005b33bf8cd1492042390b382c6acb5d8b7770292b98ceb428895a0e735588d30832396d5343f8ff5a0151154a6a1d78e91b6037a4aa293 SHA512 b8debe613e9b6b52a189c89c000682daa76685d0c0b1eb85b66ba6c3f31fdda54f0fe0eee51846a9687388154f275afe332c46826384f717f421b8e9613baec3 +DIST firefox-115.14.0esr-es-CL.xpi 627708 BLAKE2B 18a30708b1475ad4b81de6a13cd13b1186a0ade6bf4c85d1b1c78a8464c147d2d69567346de452fb36d3b12b6991775e5c48bccc657e6ceb4f0117a7d37f50d8 SHA512 19016f66db9ac35cfaf538077c9fe743c8d7a484b36601652ccc9c87ac48f96e54b9821dce4229cb1294356887fe1fef5f5ee145f1ab18ca21246f758123f55c +DIST firefox-115.14.0esr-es-ES.xpi 621485 BLAKE2B f5896113cf4643706baf8ff698f682d3f58b5dfcfe95530bcbc676edfa44b98a3683075b53fb40ddf89073b26e0c6cb8b40b3b0e41d48457ccff5beec0a1467d SHA512 4b1317161f284d6361b2a87196a700b04a8b8d8e76344659230cf929a40f0ebff694ac25fdca5d8821dcb220986da6ced187aba235fd48d467dca38b3ebeb542 +DIST firefox-115.14.0esr-es-MX.xpi 597942 BLAKE2B f7cba71d74831e33b27d78330f17734a87fda77ef6330b28f23a03c7e91f445c2300119b7e5509986254bcad2a75e441153d4dc90cceb38951a58ade2cf7317d SHA512 d4b3a147f7d5b08e7ae0b21d1c011aa0a3507675333578cc51ade9cf951c081252f15e90678d73ae1a76ce23502e4481825da42d5286477723a5e9c691c017c9 +DIST firefox-115.14.0esr-et.xpi 533026 BLAKE2B bd9cb5b70eb28b86a39b87cec0c6c40c3313f579cc63029c7c4dec85ed65cb8913e892f106a0bc66c8cf9fc4ff5ae84b27161458c3750062fd107fd9f0b02cb3 SHA512 abe36c2dfbc210a8588b3878be0b4d8d967dfae89f6c30f5624f12cc495af2c4f953e696f0c21b4baf03bc3553a9a9a23da469e7de3b0d78c161c8d667630dc9 +DIST firefox-115.14.0esr-eu.xpi 594661 BLAKE2B f59c1632cb76097f479289abf2889b5116c7c91519246f121a2929f6b76773d813a32691d572982b47162e4e9fa23a012e744286bb5245587cad0278f2e9ced2 SHA512 2c3f432da86d6858293bb2535680d9b2b5f69e24aedcc28473a222d56f613cad9a16ad0091d38c98d3788433d1c8401fd675468d7fe8c2105d711e9b52b61777 +DIST firefox-115.14.0esr-fa.xpi 584364 BLAKE2B f3f90be59396f6312109fa8cb44d3df9ffe270e52b1dc10d1c7d3eeb0bab421cff49ec654a9b47663a08f3521026d83cca577ae6a7f68c661341ddf0407778ed SHA512 b8b3e2be0d09e48f6c08fde82a63daf3a0351943418d189257586d30d243198b52e73d08b9705288d0d0fafee6324cdd2f754a891006963d2a86ba4933029e4f +DIST firefox-115.14.0esr-ff.xpi 471728 BLAKE2B 6c0c944a34dc1fc191e6ecf0d850080442e4e0f21bc742b4e660f18955d8587078181e5401e965912565408ee9fccde4f3724fbef1fc1df203cb1fd88fdfe095 SHA512 4304e8f634242019ae98bf8f0556454dc49cb34758296fea8609438cf0cc34b70ad8b07c900f12f5e8955b4d3953ed799a063bb04a4cadd90a46157c88e2fe8c +DIST firefox-115.14.0esr-fi.xpi 604633 BLAKE2B eceeeadac2e189eaf323ff12e3732554ba39e63d145675001b5c3493a41bfc6b9eab7021941930fe3f517983b67026db879e5b871901e264af13dc479dc281a6 SHA512 2d905561c3e2f2740d26f18918a5ce2a6e4be00b5622b87862884241afc7bb00c573960fa4ecfa7caf60a9ad0c078734e6db7a1c73d1f54be0fe67a229e4118d +DIST firefox-115.14.0esr-fr.xpi 640847 BLAKE2B 002d89781dd01e2eb8ad942f7c9b3b59e320d4f36db4917e6b6d66336f9a384deab51016cc125c3c8d4fba786f30290c6362d1d1996b61f34add6e402516b964 SHA512 a9b7f514f94cdefc335dac4ae1443d29f69f20f295f5a0b4ba8c9f0fb48c52b33d18e0d0529056f2996e7a592a7b0aca4d6be7ab935c589be3747a3b8dbba01d +DIST firefox-115.14.0esr-fur.xpi 634487 BLAKE2B e062bcf73ff424f11cc9fe3f6693dba6b54047d81eb9f5669ea64f6146e398d5950214a4c14e2cf45c1856bbdb4eaa7a0177a4a0227676aa2e719f357fb6920f SHA512 c892016f14b8bfde7913cc16f698327f2c9317f58c0aab75a8186d74e83c83ee15f662749aced43a4f9ef4a8d4d1af7c810cee01f0b95e758eee35d3a237dff3 +DIST firefox-115.14.0esr-fy-NL.xpi 624086 BLAKE2B b94fb81dc426c331b513cbd8d9a30443b20387f2d646c7f34d67d4fcb4b74b7f88f3d421c5be42a18d42ed412f896617ef38cfa77318b29f972fc51fcd341a71 SHA512 7678aafbeed6a9249cb8e579e4d632f890fca6569d8e93d58a085e283081870966c2e3085a728568de80cec40c4c6b6dc310375fa5c633816a26ed5ecae96238 +DIST firefox-115.14.0esr-ga-IE.xpi 467652 BLAKE2B 9de569fa6982014b97b91c52760c122a297707623597b56377c9186ca3e919458a6592e7421fbe4a30713a1849b70fc5c9b34b41b1746f69ffddc5093c7b1bd2 SHA512 8bb3b021ce8cad7daec7421029fcf1759df120b6786846ead5cc102b3973d079a67f1f5d8be0ca47767c051c2f3a08b5e3048a34f15c3a7494158fb90f0702aa +DIST firefox-115.14.0esr-gd.xpi 589971 BLAKE2B b33304a93bf02acff23a0d82159278d7836bf98ae4c614f369dc78e113891885793ba90a2516964ab91fe489ea877496998406b4a8aff08fec9574419681cf10 SHA512 ee7108ec5a1db3d8a61bfd419cbcc8864eba3594e4854f1d6a5bc3a9fdad17e4c224dcbbc61d5fe735973db9be794050b26c4a77fe7fb52158e9fdac3c779863 +DIST firefox-115.14.0esr-gl.xpi 599992 BLAKE2B 4044e5c5ac52e85e88ee370e7bc487ed853c0e58a47631f7f3fedc052b126f92f78bb8c0031a21ff208e80b37e666affc37de661263923135d9da56c954289c7 SHA512 74ea13705f799b01593bc87db9dfb75c73b50ac5fc427c865cdb389b90aec65b94eb4e164b660ee57b131784972563da2512a748396a023e88e4c39a17349c2d +DIST firefox-115.14.0esr-gn.xpi 637889 BLAKE2B 0665a757acacee9a030fa546c94d0fd350ee4dec238a92ec8cbe7c976926083e88d684dfc540d12e55816a90c38b001ba1716925e25bc90c161b63e1f3d3dd57 SHA512 56c9ef4cfa6d21bada86316374a815ba0ceb400ef8166f36a6c4bd7ca77238de2810ce033bd7060cb86e58b978a78b4d733ba284f3b5cf8a3548bce024800fa7 +DIST firefox-115.14.0esr-gu-IN.xpi 523387 BLAKE2B b79b92750f2386fbdfa22728012b29a3ebfdef408bd4302a34203ae0ea1f377b763835a8094a7e0cf80bae2c45cc04a57382829f4f88132ced77fc600b3554e2 SHA512 3885f121fabc94fd02479274f9971f89eab474b7cefeb9229f2778e906f468164fb997ac389e11c9c6519cd54dc1873add41f575a74b098dcf055ed8e0b299fe +DIST firefox-115.14.0esr-he.xpi 629103 BLAKE2B e34add03acbd44b65df58818219570606c37f36fdeb2ab89bfc9fafda6a09b22690178560c7abc0f7c0ee292a8c239f4536c016e5b48e4751b9363b082a05b58 SHA512 873c0e74cafca7355a5a167a1b31e87b8297f8c9c4ba2e254c928f577d076b5a91594805c15f3c519c9a22eeffabb6346a2305b4bdf2e0c31f7acc6772acfc57 +DIST firefox-115.14.0esr-hi-IN.xpi 561269 BLAKE2B 05c600f60d87d18e92f15253a9e7e1c5227cc72ca801b6792830d677e2302d51587a50bb516cc10541032ee86ff9c4e08f83a453b070fe8fde773adb6c56a840 SHA512 10ce058cc0c11c5275678e70fb0c52d4492094c33f1280e6736cf7996fadb0cfa755c3f1794f1bf430c7a5d192e581acfd30750310222668b750d7272fabda39 +DIST firefox-115.14.0esr-hr.xpi 554542 BLAKE2B 31ab9cbacc301896c04e9bc6af5f7790e0dff5afd97954eca38ce88610d4416dd4460bb317b5bf6477655105047d83438d785645ca7d2bc089040f59a88f4a31 SHA512 c8f44530f924650ded1666893206de45262da013a0ab81a702453c71d3e0f521d929422d58d0f93ebc414c7ad046005bb469ad3445729be91cffbf5269a40987 +DIST firefox-115.14.0esr-hsb.xpi 647506 BLAKE2B d069eced2dbabee333fc7bcfd037053ccbf44b529e5df8808c68a82c9caf5cf9abe360adb41af69faabf2e78d532a84e349996b6ec58e2309a72224f65458e0b SHA512 016c46a9f98a454ef7bd1eef6acb64089d370fb5be14e282c2a7855fe7af6176488d8b545c3d0253cbddf19f791640846d31181ca08a0c29d333581d54e5a591 +DIST firefox-115.14.0esr-hu.xpi 649871 BLAKE2B d4f91fd3a4a486ed7d27b1646556a6a0ceb9996f0561a6447b26b64e0d4096ebb271a1b2152c554ae0eb3ca1453d1bb6e81d9fd76a4dc801fa64e28fc6407298 SHA512 444bb1537bd514842e64d897bf91bac1681286e0c38da1b13faf454bac2e3da25aa22916a82bc7f1c7ec0e0772b64a6629ff4524e33db9e147ffa1514780b46f +DIST firefox-115.14.0esr-hy-AM.xpi 647653 BLAKE2B b17c62f320b2b56a927a38c5bb6c8977d610de6cec0dc4fba7a597f2328be8fbbdc20084a82e6698d9c9537f771f1423c14f3b2dab0817026d607411582ad417 SHA512 d07c177dd93fc86866ccd4ffb29a3254755d5e589b3dbfd7c64c1db67b72af8fb7e762d175356b480199c004dc56a3b2b18571dfd4655d62047b6c2f3ca1c514 +DIST firefox-115.14.0esr-ia.xpi 610850 BLAKE2B ca1c700d0e59e60309d6830ba5b4eb92c801db757f582b7be1bb19e99389a54b363957a9dc1427dae5de9e3844ee4bcc9f3470fda1c7f6c7fd66639d0911cd42 SHA512 82608a06e5a5b611cb44e8765da40642de08027d4701bd4d3d49525d1b677bc79e78617dd576b893d0107b6e199b955d95a0825285f0d5f3bc23631c526cbf6d +DIST firefox-115.14.0esr-id.xpi 573439 BLAKE2B 11f23b9d60eb68adf2e82e58b697fde92523eef3c512314eb99c2de0b6c1650067a74dc28c59f7dfb283a65eb70c9001820d6051c47943c94d0763e385d504e2 SHA512 749aab83ba76bfa26df1591cadb4b8c062b26b0294ac687915f88ff0af754214fb5188ed378e9a538121f4b1bce613f1493496bcbccb886313603a89009fdcbf +DIST firefox-115.14.0esr-is.xpi 611649 BLAKE2B 1a1320c2741ff7014019cd8ab21a92ff6872f680d192e86823418312e44c78f43f5ebac597544fba4f7e02eaab6ed84e9e99a7ede1123915701cb850163e075b SHA512 cf9a08de49f692cf2009da9223624ddbb87dde0fce9aa66ff5ebaccffafb9adba3dc535cd7cd6ee6261bc2b888a2fd359e4620e094e0b8e1c49db36bfb581dcb +DIST firefox-115.14.0esr-it.xpi 567123 BLAKE2B ffc8b952963706eaed137e8519363d37f9e0dde7303c985050ba97ed902ddde50204fd7d108027642b421002ceeea5715e7d1958f48102f4b9685aca01159911 SHA512 5301fa6fed8588af4279e8c014095aac345a7264471ae489268e4032bb0a65d377d5bc92d473b2221c9aac11652bfb2605842bc5339251cb6d4c7fcac83807c6 +DIST firefox-115.14.0esr-ja.xpi 676024 BLAKE2B 3e01ca2e7f19b907707379eff243e60d08182fbc18189c8a63dc496fb91dd82adf0ed6ac070a5a854ff469d1a5d6ab2c37d8fd311ac8c63545a33e90faf70e7a SHA512 4b952c730f17d7e7c111fc767c1ad56a1b8e48ee411ca164f066b7cfdd855a5e6ba3747165b7948c55cba47f33c846caf1ac98d27309102139557666b3b23cb2 +DIST firefox-115.14.0esr-ka.xpi 658003 BLAKE2B f5568bb90e4e88416ffd4a7690157a85fd20e839555c63620ac15b995cf304e6d0fcd5631cc68e643fab145070af4995ecff47ff3dd40a67fb6703eb14509177 SHA512 fdf9a5b61d00ed5b0b13e259c63c6df40cb370aec64154c4de3b0fd246e0617b16bc40d449b2b4c41fc812c618e075d1638229f2c977fee8cda1285af101094f +DIST firefox-115.14.0esr-kab.xpi 604019 BLAKE2B bc0fe1c6c536da6e7f86841bbed4a4f6b9ed32639115f3853165cb700f88c3506f00be975388b04a23e13094cd23762f12694063787d22f558e7a783ae7cde55 SHA512 54692ae86b20a21d50ad14836413d655098172ad1ca9b55cafb6868269e4b6ad2454d846485014d66e20e16405f3f20234c2b3606668fd6af4389a0407a90f65 +DIST firefox-115.14.0esr-kk.xpi 709063 BLAKE2B 1017781b0704b6310b714a994c370d3bb2666ab96ec8dd30c43f801f8289c040aea63570051357f78f980462e7ec45b68a1fc8d049bdd582314a2b9dc852af06 SHA512 4d576661caa88f87683e8c8d84d59cfd86bf78380ea947620466b84a21506bf8e72f663af8c1b1ac034c592231ec3a2d61f32d7fef069df397641c18ebdab220 +DIST firefox-115.14.0esr-km.xpi 522336 BLAKE2B 238d46fc86fec47c8bc5b9132d8b9e4e15e8414be0161fbb95df71d26adae6f403049f1a68c461cd6784f1324742bd2e408a5906698812da78a66c8fced51ad7 SHA512 56812b9665000c3f341ef581e733325cdfa2983ac0725d87a736df78c110769b23ad33fd0e22ccb07a1d0c925a8952745e1723584114ffc9ea5238dd11ccec28 +DIST firefox-115.14.0esr-kn.xpi 488190 BLAKE2B d4bd3e1d421ff138c80e4b4a88a199ded4cd2e39dafd5f1a60a56793a890f920a9098d1471c53050aa3074967aa01c0d6b6ed27f900708139f32a325aa99ffff SHA512 2e19950a2d272df23f455dbc003a5bf6744612acc3c1e51d639151fec3526179be22449f475835ea80eb8fc58bf5d84404c8aa41949dfb51edb4a632ae2741c9 +DIST firefox-115.14.0esr-ko.xpi 662479 BLAKE2B 51706d65cb1fecdd9a711151cf13edb9159c9e374ea55c2af3f5522ae504a4587dc34c0599429ee9cab19ae636ad65b49575dfba870329b5b252ebbc794179a7 SHA512 8f9bd6c99e6d4dfa63a27a08be6a90eb042e6ff0b1b316bbcf01d9554e4780100f450aa464a990cdafaf8b6fb7de4fb2bc8b2b04848f357c4033b9c3d4bb9735 +DIST firefox-115.14.0esr-lij.xpi 479124 BLAKE2B 554507a4d52edaef23b956837d1d569002b16175a8ac42c2ec2c9b6e17e31889062fc4337b4929d39ee6d0b2d61cbcbe7a06c16ba9ac3d56238a9cf4e8e8ff69 SHA512 648d31632291fd2bc33d9791226f90e3b54d45451ca605d85f944d160f4aa304c32e275a0c01545967ffe0f1af1ac91c3a6b95029f6d6f3bdf4fd50d5199426e +DIST firefox-115.14.0esr-lt.xpi 566219 BLAKE2B 63bd6c0d193e8a47b73513eef871f0a97339b53e863b57e2c6b5a201f316de7fcf17c3ca58f978d35496d0a9c1effe6cf21968aeb753f88e54081882167e51f1 SHA512 e4c5732d3598ead21c459102e8e681a7c1df53d848cec210c5d82b7cc9f3766c9585fd0ee9a285363ad963056f4aaa1413b65cf165a4a8acc6af275dac95df80 +DIST firefox-115.14.0esr-lv.xpi 568815 BLAKE2B 64330302cb66bbbd824cacb26a1cd4ab9830882a227c16b79d53792c07ff9f97d1d206031558bc75b5a8aed84f19ad65d50c709722fc7988ecccb74955e67d15 SHA512 d920edb043798ae135ea2fc6cd15c341f8a539efa5d1641cd81bfb2402ca1892e4c50cc59252938d3ce093a2bfc3928bb279cff592814fd8a68e401179bbb6c5 +DIST firefox-115.14.0esr-mk.xpi 490539 BLAKE2B f42eb12b43d30538cbeaea7032d2eeb62ae0365ea0527aa84d3508dfb5648ebd4503dca576ca23c40977fb2ccb6722f0743f30ba445069ede7d836d333837ef9 SHA512 652854851ebb5e169a32ae02512f0cb35e3550b8a162434adef53492a4694430e8ae407b11af1050973e2b43b66f4b358e1726784ed8ca17a8156c33b6e72ccc +DIST firefox-115.14.0esr-mr.xpi 526891 BLAKE2B 683816818bcdc6eef5df6e5a11684afe1eb1e39b3b6ade94ac42e538fd8c18b32f60a624946023462b91c07fd6b3c77fdc965cdaf6bc8b8ba22fbfebba288fc1 SHA512 aa9e428033a9c4cc6cdfd9c7e978f8875b58504a19703db080f04246851daa10ebb9a97e2fea89f9580da5ede4a95f9dd9203622f2d171780d624df7c1dd5e64 +DIST firefox-115.14.0esr-ms.xpi 445507 BLAKE2B b387c90cbb7462924b4bb17786acbd0f80f0b8279cf6ac43a7d1e414e9bf0c9eaa82bb738ef8deb884ab784aa1c42832aee9f96ac605094b94f8886b9481b569 SHA512 7d8754d3ce46bf08e6e9502106ffcf521e3a97892ab9ed11955cbcdb41485c12e1f5616563e6435a6039c8b24271f13411d78c1f17e7f12a53509bd14507ba8f +DIST firefox-115.14.0esr-my.xpi 514931 BLAKE2B 7c44f616d4c3695bb9985e7abb5a971197c7a600734a52725de99d6fbf3509d505383464bc060f5139be391abc2b6f15aca16834cd19fea23dec8f813e779f63 SHA512 7dec261cb51dfd8da697e4ad8796788546e073e4edad4dc005b2e9c389b1c0926c233f8a7cee78b12debda7ce30d3f781f871560d1db010a8a92a88f3eb1bc51 +DIST firefox-115.14.0esr-nb-NO.xpi 607322 BLAKE2B 528d2c10ee5745a61f8f48f37cb2d04647421f73309d09afb99fd2ffbf4f5105c1fa037aed0d4985c32972e6b150dff2c22ad16910d886348cffa8f74343f766 SHA512 2d961f2f2e1ba741c456fbafa203a57e4865c243bfeafb673c543b66d2b5772e445630756085be101744dc1785edd07adfa5cc6a7f52e4650e43eedc0278265f +DIST firefox-115.14.0esr-ne-NP.xpi 506995 BLAKE2B a4af7cd7ccec4cba47b68f9cdacfdff30160eaee7a900afbdaace4bf99a4feed1fe9933ba5ca0e8b6dec509c7247c233203e69f132b32e06b59d797aa8a5d061 SHA512 f105b09e119aeaa89c02ac1743549da3471b4c001f390ecd19f7560c6923966c43a7bc91727a067437c9c1e73939550b99add1bda39b8816a9e7dd56be31e7c8 +DIST firefox-115.14.0esr-nl.xpi 617752 BLAKE2B e5357db8d35b801444461d9492be5492fdb588fff96730da7a423d161457d8503f4e4e84cad41d6e6effeeefa6a75c79c5d2138691e3146035a366ec8f190361 SHA512 3d49c5a77cdbd9281280acfeb0e2617b07780fef2455e3b2ca83db7d4322bda2f22602ea4a1c1119ea8dcce434e5e65ad4dd7da30a97c17e38d084139b42118b +DIST firefox-115.14.0esr-nn-NO.xpi 609738 BLAKE2B 93f5ef14146592a29f8c3e068646c7dbabbb59e36c97e6b0dc8337b72b5c16362c06ccf7d0fd8ef5de5b580377b5e1f499489e8347c360b562c0bfc613320321 SHA512 f3fd98c37cbca58cbbd9067d2e8cbddf898f0edc99439a6d4371bdfd8e31def2cccc454f3529fb69f69faa7ce30ec55203bfbfd13fac4f384cf3446c127c4bb0 +DIST firefox-115.14.0esr-oc.xpi 607907 BLAKE2B 3058c2bd583163655ade26195d131f3fdaf8a6d795720122f3f490304121ba81e28d82dd267d694c0e465be704c24c3286055a8f032f7aa026251216e589ff10 SHA512 7ea2ed18d2c228b3c59965a645825501f2478112d16f10706963f896db0ca58b92573e33b3daa6503cd80e9de79feb15cc8138dca8ff9373f02fae0921f1a370 +DIST firefox-115.14.0esr-pa-IN.xpi 687709 BLAKE2B a8e5b7c85f7a422e82bf93abdb7127261ed31de1443e3c38faea5436a84818a23752371bf6e69bd496c9bd2daaa8c2494bf840450d8a4bef0e43298f698f153b SHA512 241e0fd7aa15dfdf9afd7ff7e442e6d6483e380a5eecb45db3dca182006ccd9720ccdd781f9d4b0392e1bec87dba921cdf90c3d91e4da5394c2b9f1932a86587 +DIST firefox-115.14.0esr-pl.xpi 636473 BLAKE2B cbee9e8bbdb0609a14196a296cd7a62af69ac1c21e97f0144c1c277a861f628f3d5f4210574c12d6c2f5d84af50268cc51f41fefaa8e0f0ed9ab90c7e46cb8e2 SHA512 1822a35cfb7b596f9bb722a7d912690e61cebd1fb03532ad562d5b8d9b8567503c07c18db5e46c2d4c617605a10b8266d1925b2e8cea554ba422d7ac66aacfb2 +DIST firefox-115.14.0esr-pt-BR.xpi 622538 BLAKE2B c175443d04ef78366993881e44ce2fe7d502ba6d645c29dfc00a721a3ae4fb271eb8a5397b098ce46156afa1993168818d032abe3a82b04003b70b6071cbc1b7 SHA512 4fb9a8e11dda271281acaba2a8191776f3ae0b521394f635fdc817d6470c206a41a1f4a0164b529fd27b94e212add8539525dc10bec300e161c2880224b24116 +DIST firefox-115.14.0esr-pt-PT.xpi 626594 BLAKE2B 77b22853fc1b89d3c10c8ee8bc17a62c0d191e93633e1b0284eb54d65db4dec2be3ac61231cd95806305cf176ce321d942b6a62cd9f263b880cfdadaae6bdf58 SHA512 c8365d18e7c74a29a6bfb807cab483ddf247bdde295eccff4b6989c7ea8b1cd9a6ac38c64ddaf7271289dd2546732737c9e1086f1c072f7114dece729e8acd38 +DIST firefox-115.14.0esr-rm.xpi 617340 BLAKE2B 729c46a8c930747480a36ef1ff2a2ef76348850632aad2656a4d4ab3e32540d0285f180d286f32909d5c3af4ed22e5b17757141b3dd3ea1fff1c4b34635e8842 SHA512 93ef502160472b92812ad2ffd60638cea57ab2f958674e2d64dc80981df937c90754c3a801630901f3f213a8ec0fb49ac36e6e4021c847dc3cc7edee0a2af192 +DIST firefox-115.14.0esr-ro.xpi 543547 BLAKE2B c84ec8010226d0aff906ed7bbaadffeb7a98f958162ac4792e0b3b85b4967bdb5960c9d57f28820f24d0fde8c3974302fb9c248a0656ac7f2596cf38f1f69afa SHA512 37820627f22235d0f51fff3d5d2972036c54e8917725c062be4239c82dad9350d60b918d57441e13fa31fb1ec11c5442679d63777fec932c747c4caa21806aa2 +DIST firefox-115.14.0esr-ru.xpi 721756 BLAKE2B d87db8e24f05cd937f231b68cf62eb84fd6b61d2b3b5d4bff32cc5688f09b5a3ad78721b03cc1dd7c7cfddbe5c48be5d27f1b7a2c3e11173b495e8d0f591a804 SHA512 e6ec2e7bcbfa72c022d99ad7b9a3e66ab92df99ef9ab9c4f4cafc49219e85471ffe761800efc0faea0f3ddeaa173b5e3c347c2f5bfd4e6a40a5b08c7f26445c5 +DIST firefox-115.14.0esr-sc.xpi 582740 BLAKE2B 4d506e0af2b00ba349135f73a0bfc0ef0a2eed61cb1e06be46d3b666dc2c08ed161321551388d78fc2ab14681f8c26279eb5d599efc2cb29d9e0748ceebc19b4 SHA512 9f8e12168fa5d4f1fec863480cb65f28c4d1361226d6a99ec563fd91b37a56786cbd7e79292eb37790ab60e72be053012c7b8e72ff40eb979dd1a714b43cb4b6 +DIST firefox-115.14.0esr-sco.xpi 505675 BLAKE2B e21c14c72ed9b70bb05ac7f77e8bcb6ac73fa1d779a743962f98757230127898386c99f93690720280e2f0bf705be673ef2860ea8afbbf7ec099052d7f0da600 SHA512 954c262c019af656a6c60a89bf2621b7771901dc7d7f384cbea5c26cf28a9ee1e6173c6a51790488a796a5d3d993c52fa6068e19523d45a15fda8a6982154fc3 +DIST firefox-115.14.0esr-si.xpi 606453 BLAKE2B 1ec602cb833076ecee3e21edbc5d5029a43aac672273418ef47bc2dc5f6c5a60657c7990f8bc32dfe28d5603ed45dbd609e101ba275dd49154c566e95ffe0563 SHA512 8ca2ad8593de93375433e793d18a020fba5c513f6f88e1f7e33093831948cc0475caf54770f7e8b4d7f65f281ecd647671976264148645b12f33690362a3880f +DIST firefox-115.14.0esr-sk.xpi 652373 BLAKE2B 6244f925342df2e072ded925fcbdbe8e5d292d9ec7c2c24f763dba0b422d20d3f0317b1c27ce1f9b2f4e1f60e8a16c16c78f4ebdb96823d5d0aabde1b14e83b9 SHA512 3cdbc1d6fe6b73092984546d2a44705663b51d52813415588d862ba6184be9ebe0013c30252d291226574ac6a54d7f11019f7def9cf94f78da6fe7c54fd42d4c +DIST firefox-115.14.0esr-sl.xpi 615213 BLAKE2B c487d2cde75669e4d56238f6e0f8f5f58da5f09d5a18bbecf83a98e81ecbe0ebf88d0804db9eed98a569bdd163472a02114cd9fd6a72a95b4cd04c2d4ddf9bbb SHA512 dd5f3a85e5b9eb1f99a7c961b64c1b0044f7b26092e850b8f87df722f059bc39ff9239d1c329c559f13e2e1ffb5f4e06c1e3cef01366d4cdd5309147b7f04915 +DIST firefox-115.14.0esr-son.xpi 413692 BLAKE2B 924f1b1045cc6f828c6874621b8bbc7e5c97d8dbdc74259001f75dce8382fba3d4fae0ca33701c0c9797d300fef24f8a23604a5664bea4a91537cdc6048dfb7f SHA512 fba3003ad36310bf0b6a6b1a3acdbbdd2b02065974b93ae8f3133bd4a98e794108abdba8f5e147232e1809b0fbad5c27237349d3b7b42841a4959e06937ae3ba +DIST firefox-115.14.0esr-sq.xpi 636142 BLAKE2B fc7506b73b48ac394a3695b6c29db36146b06e6d425561ac78dc2cb3459f74c6da5f582a24670cd87605703b6d7761866c645d50da3745ecfd901b90642d8300 SHA512 234a4cf5fee287b7f622be3f1e60db56910aca7f0d0f377644e31648c1c5d79243b476c8c3381576e23726a0cd7171b8f2269b671d0d783e8d8a545f0e7b5073 +DIST firefox-115.14.0esr-sr.xpi 633255 BLAKE2B 62b2055f127c25535f79d7f7ba0db82c7f9df3fed5282c5cc7e1aedefb754ff35f461a56679f818211fd12d023c21f51edf510e7439a081240276ca3061a5f73 SHA512 2c06419d1ba68f114f6a285e9625e33a91c9d23ae5dd3babfcbc37ea2b9e593a34cfee380c2bcb24170ffbaa2d9b58a90bf32c2b8945018ef33221b4dc544d00 +DIST firefox-115.14.0esr-sv-SE.xpi 619432 BLAKE2B cc181515d876603097a6eb7d829268e232f22e9d879b95465fc1e3354092bc183fff299fb6c5945ffa84f8adc4860ae67b0031a7f7a437739ed17cb77f5b9f9a SHA512 4b01f6950d463ef8d3355e42e3d179e7063a038b2eb7b8f0e52054c42ce583fb50cba1229800d24fd7a2c029947df358becd27ccc2ba949dc03fa46e390756e5 +DIST firefox-115.14.0esr-szl.xpi 521053 BLAKE2B 3883fc65e38785c513adbd8d5463c671e13059155b235c068f33a18f2fd160fb522cd2a2ec325a67dedbf264a8ce896369b398dd900a06ceb5452d971784ec85 SHA512 2970a5b1abcf66638c3d8771c1e6c13a3cdb0ec83f6d3ca3cd13e618017bcfaf5866e0e55fd5a148566302d09cd76fdac8705a4dd7c2b53be91f8cb8b41f152f +DIST firefox-115.14.0esr-ta.xpi 503634 BLAKE2B 97bc6b471fcb762669a596d9922b21c368f9dc8b3a819ccb742aabef9a075a1b34ceaceefb065d14c59873fdd04ceee14362b36a9c4b71a0930cfae0c8e35ac9 SHA512 d2b74b91f29280a2d1433db39d0932c5cd2adf9bf95235a123b60ab19fb32a54f4affcebc3fe4d6cee8461ff3a021f78244613162b3b1f711d288af8ecc86e1e +DIST firefox-115.14.0esr-te.xpi 556771 BLAKE2B 46c36990da3e095a10397eb84a3ddf2f452c90419b40811c8c7e37b306278837207eb4895ba713d150964ebd04598bf81c9965431c8fab8ec001500a7b79650f SHA512 5e66d0ef2ecbd086a77334b9eab704b49bcf9cd21e04753238aa11896d412688d8f5e00a0ecda84cd0f34ae587bd0ff428059f9cad67abb989da2297e00601d4 +DIST firefox-115.14.0esr-th.xpi 693414 BLAKE2B 64d4566efacc3ee77f55c427097fcbf42e4d8b4a8ade04ecfb929d508b99a5eb38c7298e58a828ba000e8c1cbeafe55fdb2e10b29518850a098124f8c9a56a40 SHA512 9bba5f9becf97b19a66c54084993a76230d2a7702e1e5919fa5b644024032e01a1122ee9d23fd3e7dda3044981390124eca68aa50f8fbf00b6976da7864472db +DIST firefox-115.14.0esr-tl.xpi 527805 BLAKE2B 4c48ca896adb310d23ddcbcfa202c3e1cd9fde154c74ea4eaf65436ac60f8c159bd61b11e40d3560f0ae4ede039b1ddc10e6d1df4f4afb11e0b41becbb05d6a2 SHA512 4e1363427d508782b2c60ffa4cfa7e405bf75511100753b071fdf04ecf3c1b457d32163f95967aa4c7ffe63256be47045acc795cc1481644926f3a3917cdd78b +DIST firefox-115.14.0esr-tr.xpi 631878 BLAKE2B 97f62d96403455f0e8fb05e7ad51fc8d7b2b3b78f505727d84f73daa405a60e4bffc95f8c805bff5fdb48b1e7784b237ccd21becf2fe148d0a1e2ae4522b8ea3 SHA512 8f6ead0554372fba5ee5827e8875084764ce1576afe61bbbf3a4244d6c7a331b39d101bfa4bc6b36570924880faf8225b8932eec11e02c9cadfac8877c76c8a8 +DIST firefox-115.14.0esr-trs.xpi 498681 BLAKE2B a0db9ec8ce8a58e70b6b2d5fe9747f94060134445d6eeb2f1d717695bc0035c52979c4e686899914df83c166e5de2a86fef96da9c94205d818009155f9cccfb1 SHA512 ade05aee24325d65028bd01a118f4d15e2392d0959848a389446ae95155cfb2c5fa75d56fffebda558d34213fb1df68cb4154898bdce3c4fa4f15910cca0b5c6 +DIST firefox-115.14.0esr-uk.xpi 707291 BLAKE2B d94689abbcecdd5b5f8a0d6beb38a6d309a9c0acee356413ae9364ca9113d1c32865928776da20bf005b7afef0cfb1da2f6084eecf25936faeaf8d9a7d8574e5 SHA512 5c4ebcac30d73d45936433fae32ecde20b5278a3dabcef0902e7d1768462480486f32d72f102fa076a92ac2365b7d297fb3b7491c7318071133685eff2712d15 +DIST firefox-115.14.0esr-ur.xpi 554822 BLAKE2B 45953adccb1abf2140cbd3eac5ee38de7e787b611fb958d97cebe8d9fd7db2a19df409f0d2442a19557558a0bda1ac134a06cdee328b5da5aebdb93432c713a1 SHA512 92adf4abb3216d3a6019a4c49f934f7a6554eb0be337d0d9017db69a80a258d8398f38395f1ac26858b54bd896058a4cc0001f3d35c80ff15159be65668039f5 +DIST firefox-115.14.0esr-uz.xpi 474694 BLAKE2B cef2e1413d5539d326ec410189cb423e332cb3da6c94243dbe665d1f855a202f2b46fe0c32f9e6acf6361f8afaedb9d361c839be7fcf3c1b7d8e54416d67c6ac SHA512 b041196f3a8c76f5709bba81c68540c3cadd06a8e3bd8d9d2f5451ab1e9984abb6845d07fdd9a9476bd79fe7d38c14738937822096a8dc96bd78ac4f25ca622c +DIST firefox-115.14.0esr-vi.xpi 654030 BLAKE2B 50c98562477a14b9335085facd70c57f5d864d33583687d16e51a18f57bd901a3a6c1bea01339a7a6c0014553a13402ae285194b681a654b7e658ea481d41217 SHA512 3262737b0bbc75cdde7a46237bdaee241510d5497ec2750da4a5f658053a8fbb60bd237de01932fb3940295bbe7019228b76791dc083232cf56c364bd00c8f38 +DIST firefox-115.14.0esr-xh.xpi 414958 BLAKE2B 1af9337e005c4e0f41417b5ef8531b5382d19eec5bd21fe04a8f2cf78b814e0cf465e1def6ed1264820bc655e8913012351490babe27f6189e136f3c14686179 SHA512 482f64c4d78028f4e8425c03471a9a52fd10f12954d3eb4a51234765c4b488b8647789fbce49360a6f7d3a7b19cc7bf4d311e327b909ea198021d067cc3e0a7f +DIST firefox-115.14.0esr-zh-CN.xpi 657110 BLAKE2B f47b3c47f1cf85113d54ae55ee271d5630aedfdf8ead93a642a183a8c2c3be6a1bfba773041f4bd85196bc0accf86c43933863719e9dbd8cb010692fef9da197 SHA512 c6d950a9f7b47a4e354ace74f3029fd81c2eb22a9fb164fe8516faf3c1d3151881580273c29a6fb3bbdab3ba440eb78a6087e5e7ceae26fc230156def218529f +DIST firefox-115.14.0esr-zh-TW.xpi 659310 BLAKE2B 2f552df1a66f7c4f05e598c55d977058fb625aa256f3e252e69a3511a34dcb294737a5ae44f5cb836e595581aa6886e5a37488fdb9cd78915eb152fdc40e9092 SHA512 263a0bf61992005d76570f13c3472fc7ea7d04dfcb3b5dc468577c6be6d95045d7d0ac743fe636650e3dcd056063ed9cd6e25983d8fd8f5078fa68c774d8dde1 +DIST firefox-115.14.0esr.source.tar.xz 507310580 BLAKE2B ffca6b7dce6ae6a470c9d5506b4236077b2151732bff811aa0bf0367be80aec5ea4918ee5dcd611b0e19a025156def3e9524a4f5d741343e9fda5a2e693e15fa SHA512 dd40c1fd3cf454dbf33a85d38e47bb0e736ed89b829643653e239f43232441f4e9f3c7876f058ff2e6f19daf2b50a8f2d13274e9a107d8a258a6067d1fc43f54 +DIST firefox-115esr-patches-12.tar.xz 50732 BLAKE2B 821ea063bd14085458967e33570bb28a1457672d2c210368507532024db25dfbb7d30d37084a2cc60a4cc34dde453669ad9046c664e7e8459a8c7fab33485068 SHA512 e80b0eb9a4efa8e6a872a875a31e384a5d3ac2f7000a3d12b03cbe2dff43baf8e3e544b7b7baadcb46ae714e3709ecbc53742b9562fcb1b1caf85b037b5ad501 DIST firefox-128-patches-05.tar.xz 19380 BLAKE2B cb3ed0eeaa1ddc1df936815c594eb3b7beab20b3560b52a63436b74a191a0e6e8c05c4d65084ae00dcb30ffde1907ad8194211717a50fe55e8e23ab306d8ce9c SHA512 17c723e120f3057de276863d367d25111578cbc5a333718f230ac3bccac178361ebd795f67b522aca199e17b8ed298d070020884ce6b5b4a0b89a60370166570 -DIST firefox-128.0-ach.xpi 463921 BLAKE2B 016138341e087f6afd53c82e0b33700c20c341491e6b12f444cc7d85aea1f0e08f4bfa7395af5cf888984f57a3fd6a41f5df39fced8267e0bd0388753a1ad994 SHA512 b67378c13ecd5e0c7e570b69c2f267232749ce71c97ad987b3e6b1215b84ff934918d5fccbdefe99dbd5a331917b8d545e9ccc8aad4aba25329231ad357a9612 -DIST firefox-128.0-af.xpi 417369 BLAKE2B 434dd6861e1b378fff90cc704a7cf63b90de4f54d6b8153ad9051beb0aae84c37686c052624b8d38f60cbf6885162142f5f2a126bcf2a238cccf63bc7194dcd5 SHA512 e3ef703a909fa12d944c80aec83c9d8ddf8c49aab18f62c2ebf6f4ad08d17e17b5494b472480a41c510e522994db0afe796259879668bb319c4fab27979e2970 -DIST firefox-128.0-an.xpi 505732 BLAKE2B d8d25160fd99b96cdf051a30ecd1e5aab3a50b22e3f2cf78fc8d3fb6d2405dfb38181aaa894e09d288fbb9f5417f0e4a70832bee1a53d27dda24928db2742933 SHA512 f1c09844a27b803f2b46ff4fd2fb27f2a4cdd6e2527b4bd8574e7a19af408d168ebea58ff830436497e3c768c3023282a24fdbdd23f96cea8bc6d7fdf626a3da -DIST firefox-128.0-ar.xpi 610516 BLAKE2B 0a121e72c5ece69b04d91d8b1aea42603bd266105d7c35dd9ab1dc27ee9523c4e6bc65f1115c6360e3594c7b76e7878ac53ab8d34791deccc3a1ee1c5321c51c SHA512 4244a286d4e4b1444a18246ef0a0c04292e91e4c8ef9b9708ab58eb0ef005902d3654e0712c8c0bffbf4b0f1504acfc2a2694ecced3bcaf544b6701cbdff1775 -DIST firefox-128.0-ast.xpi 496179 BLAKE2B 8f3cb856a27d7224f02178adf69980d37c42259a1aea3fa0879ffe703f8243e6e5b471374e57be41360149527e008db56d343aa8503a8ad23366f72c68cd0974 SHA512 0ec6e85464756c3defab9cdf19d792e4a65fbf12e98e6179fde725a1868be8813ced98c76beb8940d0b41d371b70953270c5eab05edb732d869b1f7465db75f7 -DIST firefox-128.0-az.xpi 490622 BLAKE2B cd88d8bea3e2ca3e8c14c6708c9caece0d3623ee4419e35ad7d974885da13cb9367fb88ab68cb51f43b8ebc354a1061709fd1cece931c71ba547a1773aa28499 SHA512 98a915c0c891d361c16c57b7ebb43650dfc55508ba8bd9e91189b29a3f6be4314309ee97546c8782b688250164c009a4caafd01addeb48c0a002ad8d96758b0d -DIST firefox-128.0-be.xpi 712861 BLAKE2B a80599b0d3cff27e4bccd6246bbbd7ee877995bde8a3232b3ed2def5ed593690671a5cd05bae343469eedd40747933440eb4d8e713dcbd7a3c8b04eef06987bb SHA512 9d745557d57e1cc0f2ab57f5e57c152ede1df78bce322180bbacd42996658cabde09e773b9f52e1ec4d1f69117ccebd549b1364a22de6a87f3eba5b48e9e820c -DIST firefox-128.0-bg.xpi 603668 BLAKE2B 6615e062bd290606e917bd2643ba98afc3d25e0b52be0be6378b86b48b8a9c293e0d51a3ad46c8ead0b93b0c16fb469f28e81c865a9df5e2b0371c714d21abee SHA512 83ad4d590ce2fe9f738db9ef5643a82223f4053d5bacc6dc03813cc5d92234ba9b435ded3fff8a92ca42a3ecf77a305445dc3c3a24ff3f052975d0cd88851847 -DIST firefox-128.0-bn.xpi 581366 BLAKE2B 02a8b39df8d69ad3e7c1c010d0da12fd52850b1abd02c1a2f8fcfc6fed6b0c8b221b804e513a266c64b1b8fcc870abc317d4e298486a42447ec7543964519842 SHA512 e552017471b93571b2a1589dfbe950733a8a7880b2570b1581c9b4099d382e99dc558e10b6516c13fc2354abf1a9ba612ce131437529a7257cd10e030adeba4b -DIST firefox-128.0-br.xpi 587967 BLAKE2B 681dd47acd14daf1221c1c3ad832dc17ffdcf9fc7619d31c86b319ddafd96ebd1f8b1175095c881c951291b940c74cb9a2f84bdd4ea617fe053942eba9b09e97 SHA512 476aa7e2c32338e3304aaf7848b6e25353912cc39c97ba86024bf32b89c71b0d550359bd4092aa99866dbdbb09c6fe5ea4fa6e6c4aec335db381344b203989ac -DIST firefox-128.0-bs.xpi 501822 BLAKE2B 60aaf21e9f214a4d3fd791343abd9fa309c4a47b275c18ec9c7b0b65f09add541ae16fea4f382d334671e9193cd1aca932a14d22872889dea46d27dd7b361500 SHA512 90f7540b85cdf8b094150ff73994acc738a1ae60762fc97af90600c886d80651ca12cb778d2dc2e2f3cd7c120dbb1fbf6ce37ca04168f7a4c6eb68ae9fa04f7d -DIST firefox-128.0-ca-valencia.xpi 546032 BLAKE2B 36c61ac442037376329194ad5cd0357f2d69b3b77ada0e10100d63a6532ebc1b6fa57d9121debec59d8db540f9de8cc46a47e352d6524815c957dcbbf681b417 SHA512 e1d5cde5bf3b23b864a4862134de08f0cb46195aa487f3da54ade878c11e67e6f19a521db37803fd7ce7dbaa2e56f4fa603778065ff3ae5ee78bc687f49c9c94 -DIST firefox-128.0-ca.xpi 595961 BLAKE2B cec1470d3deffb3b1f9205b1ccdf43402aeea6cc6fd24e9527a1856f3ddf58d4b58b217131359d7ddaff4e0db92b42428731d3f864429084adadefe2365bd44b SHA512 824040406afc6282be2ef89154c221852aba6ca94b485389e80faaf9c227f8c310b22981629710893a25e8b8f55787dc1362b0cabe5a8e15007bd18f984a96ec -DIST firefox-128.0-cak.xpi 592927 BLAKE2B ed66e64503f6e075074be84428c0641945efc9a585664aaa49ab01d126ada34f7839f2ffcdae5c04bc74998593b170ec5bab1ebd25fef917a2a1b22ddd1f6aa6 SHA512 8f6e7420c82e29e02d009b88e2d13c6b523d974a220da112895a22b606b7120548fd805e33b76d9d35c941b9c1525bcaf1adc685f90f7281241977567b3991e9 -DIST firefox-128.0-cs.xpi 657124 BLAKE2B 4bbc7b1964229a8117631f2450fed9a8685ceb8f69fc7b793b387c2542ad3b7f690c5e08a4abdbeb78f54c9d14226b40edffa22fef23c4f2981b33da4a027c62 SHA512 62a7d271d6ae0e09e2f61b84c5caf604261af40c552dca4b97638a365c926b6da861239e6f1d059bc27fa1f7b1af48a9376db09ea203c37a28d378de9b14b7b9 -DIST firefox-128.0-cy.xpi 622268 BLAKE2B 73fb18569ad98825dfaed13bc7b76c1bcb014bc2407bb9e5fdcef5b66b97b2ca1dbce3dd9d6d54443d563ec564c41dfe189fc7835c23442c0aea7b0a48149477 SHA512 d9e804e5bc0dbbaa0d24e5fc6f65a9eb730523c2dabae51908c033dd23d4a6a642867a12ef384de1fd9428b1c7ee2ee56c24b552753c15ccdc2d5d013959005e -DIST firefox-128.0-da.xpi 610709 BLAKE2B 5a1b63d36c88a50ee5c58cd14bc2a6d2b86140357e31062239d1d786fce188263a7d62d39da10ee2adf5d92f99b406a6f92f6282922a24245868e41c03f658f5 SHA512 a0e60cf276ec021ff76316c206a94d599b3c6b7d1cf4533a5e8cb0948db04762e641282b8c18cbe4cdc725a19b7d1e9d37c98f55bd7c47fe4b45b6271ae76ed2 -DIST firefox-128.0-de.xpi 631918 BLAKE2B f7169c465c1efe2558e2b30afe87f32e5e61d114bd3e1a12c2c2d7f2aa96fddca8e60bcb34bbc1b62ad92d292563c130af1dc063199e215071a10acb79d22f93 SHA512 b4debd554dc591657857dd7952695b49dfc2b9b190dd1c6a5dd4c3e74cebe3a36863ef5c07c1137389c22c19faa2c67d534798860877d781fdc06ab4c5dadb55 -DIST firefox-128.0-dsb.xpi 648454 BLAKE2B 6b22831d5aaa242a9ae04a90f704424a8fec239e9757b2b5f0718e84719821e946bdb70992865e9b11ef9f996848802217108ffbb475c3966152962ee0ea2f4b SHA512 8dcf4bbb8b541c1b47ce72a599de945f2bdcb358d9a87ccc48dc18a0bc0d6992d5f095b7c1821e7e0c9f9da5bbfbe3516522101c168d34f08a1be44a9d6a7581 -DIST firefox-128.0-el.xpi 730463 BLAKE2B 0f2e15a91ea01451dba9f3454d64518974bcc80aac227e7794e2739763333499739fe4afd403b7ef9c450e34db68d555f5910efaac02c34ae8b94ba9f67662cb SHA512 723d9826c76407f8e82ef8cb1fb6009f43ee3fb26976bddd30c8195b0425cc1e17bc64d0d9c4cac0ba05091c9062fe982c6ded251de2978fbaf5ed1f3b29ebe4 -DIST firefox-128.0-en-CA.xpi 581050 BLAKE2B 8f20e6923ba2ee9394dd9e53bc7c1ae1130f7434f491c91d4c46e0277fe7d47fe20f497f19dac29acb0b673be09c901ab76a140cbccb6c9d3e887c8e15e9ddec SHA512 c9daccf0344fc25483a76885e87d624406fa3e7398f8770f7460650faa9db5ed854876719f66ad254ca9aaeee97a6fc3f7537a08c33cbb0294c452077680d668 -DIST firefox-128.0-en-GB.xpi 583199 BLAKE2B 74ec322c0ec6d881e5446776bf189c4749e72d4fccbdb3af48e3efc3c3a2204a0ed862635998f83ee08ad59132b9f69a0c378d0a6642c36e7fb2828f65c7f664 SHA512 2b304fcd92652afb9627130ffff693269aeb989f4b716858a0042ec2b6d315e870d9e2e3b8892f7c1e50dafcaef2c341bb5405844f74e6f8cac0eb14fc72ffaf -DIST firefox-128.0-eo.xpi 613599 BLAKE2B b57b761f3941d317082c755babe1b37c02e1ebb6a884f2264929271a54e4788e31c47d2b0330634dba545362c535b4f8c3b6eb53dadb93ef72496ddc21703ee3 SHA512 ffd3515adff03b94d1adf6b926a908f270f88170184c799d0a15281577973d34f33a6f333daf51ef45a762c87cecc1a1b592b07311e51cbce8646d0c3ff0c774 -DIST firefox-128.0-es-AR.xpi 625743 BLAKE2B f218e24beb19cfe71042d12c7b21fb0dd6c6143f4113f658ec71fd5704fb27ad6e60e9467cf45b9053ac6ca711d86183a5b958cf3bbabc5a26b94cf3c72a4cf7 SHA512 1a792b556f9a6f4d2804605722c84eee98df5b2700dc877ffed5a4df60d00fa09293aeca863cfa9ac61e8e99e15c98576e1839fa37f02578a021cae79699f382 -DIST firefox-128.0-es-CL.xpi 625032 BLAKE2B b5fde2d84c0054f7fb90310b3b7d5dc10f97484f400eaf9767b0687775fea92882686ac0332e43dbdb7ad8a329e119033c39d0a3dafc807e45a345d4dc689e2a SHA512 f84722b92be1b26fd26aea20c9361a12a3600d0e1614a330ebedea85b4e0562f788ea474e39e0bdbb1a2d243274f760a7f4970f9e7cd80e271a9944ee5751322 -DIST firefox-128.0-es-ES.xpi 619471 BLAKE2B 0386ace5612e79918a3bc397e50b8ffa3d4d38296cbdb232afefc0e54f540fd760069c6ef9ac97770d948a2aa1949efc922ad8c7f7b6adc4cf488afc8980fbc8 SHA512 2b00a5145cfc0785d63dad9ca34a5e46363b93d780b2a22cab1b884cc3b097ecd1a53572bf09b27706cb57a57174608a1bf67a907850a4efbd68c6aaeed5439e -DIST firefox-128.0-es-MX.xpi 595787 BLAKE2B eb08bd8898552977a2a2ca4c9c988eba81838dbf3dda36de97a249d12e9d4cd590268d49379232dadf74e31ccadc410a25941ffc5117568802cea0e00e37f28c SHA512 4424c8af301ccda624b2e7d7bece4d2a4e4f7527d37df16fbad12eb8404b4029f452d203e2c83a886738111b26493bb711c696ec9deaf8856b337d59af751aa5 -DIST firefox-128.0-et.xpi 539386 BLAKE2B 0cfc855d72fefd52b4512db4c31cffab2d1dd0fdab14d09fbd18078e053eeaabff8066449319134d90557ab06f9091eca4b737780d16753c9b92572e7f361611 SHA512 7abf688f471efdfee82b542a65714dafe454c9c16f4b870f575f7bd84fd1be28c93b03d613868ac839cc167162a9eb84cca2a92e439a0b02c172b0c047002a14 -DIST firefox-128.0-eu.xpi 596447 BLAKE2B 934c74c1ba8778f96569e3518083acf7ae61aa5d4a12906d8e35ae0f8ba18022707816d0b504c8278398b3742edc0f566a280095a2fc74f07a10fc8d68214810 SHA512 74a7f72fe904b94f61960f3a5cc949c28fb504c7de2163caab1950a3c90ef2834a416f04f4d00e3b58ef11a9cd0fd3aba0b89f9f06cda24a4b81a45a3ad0b87d -DIST firefox-128.0-fa.xpi 589848 BLAKE2B be6ee30128b376cc4713abdf10dd8ca699f5968ba56a886be73b4f57633427cad50282006675c5962623caba8637668fb2253adbacb3e03199ae156869c18117 SHA512 cd6863a691e3c8a6fb6bf82a7c0b6deb60d6ed4ff921e0eef256008162533b932dfde2bba479f00061f8d1d98fc065a6fbfcf9b99a06ca1ff0736063cb7aabb1 -DIST firefox-128.0-ff.xpi 475894 BLAKE2B 0858593e5bab9b6e5508ba2444704bafa754c60ee352d25042498db72f51bc48a8b6bbb66b9f9f58d362030cc1c83342cd3f03e2c0764c432aac5c95117bfcef SHA512 f4e3249bc16c5d07958fbdde87b1bbfa244e61f58bfbf0db6c74693ffe01f9046a413667850b28fe5e632e5146b153625d25e5bc3486fe0da1d15fbc458b882e -DIST firefox-128.0-fi.xpi 605631 BLAKE2B 451255bb1fdc8c44eb7745b6279ba1ce303840043a8a16feb63ebd2f1d604ddb85192cf00d7ad4e1ca6d8bdea9a226614d85e392d83c9656bda544812f01ac83 SHA512 009df840b731e5bc4e9281153384451fa9e0fda32738324fa29355634587c1c3501d857ab40df6d13767dbd5156e055ee76c0877769aa214a8fd898e7eb4d7c4 -DIST firefox-128.0-fr.xpi 639018 BLAKE2B e0cc4d4b97a158c867838769ef88e74372a97720141ea9e1a9f6e525bb7337a104cf071b73b5c88d4b2d81a87a4e96f163f461fd6e1bfacc8101104c17dbccaa SHA512 c2ddbfe62b5326e4a9742d0c21f82015a444b4135336f99477721596c6b53a15f7cef35622e454cf3df42dba07b4a90c6391eaab09d3888e0914c6fc9ea56111 -DIST firefox-128.0-fur.xpi 631588 BLAKE2B dd16c24a1990b5a3baccee97a40e3f107f0498ee1dea49ae6af5b60d6722fd35f208033e68ad4a428950bcc6740d43e38f762e74612ad7d5146222e7ebd01ef2 SHA512 c867baa9ada38dee47023784627a4f52294105555fcb620c78540f4e296241bd7a4d2b0af554d7dd9af016cc0718e5787e9dc76a6cce7cbf827941c86db37a21 -DIST firefox-128.0-fy-NL.xpi 621390 BLAKE2B 148b842ddaac3c71f1cf6276df11e41b3adc66692a640901abb73b9936a2f9d7267df3e0d0331cca6552db93f61745574da42b5ca64ac42f1fbe9104707b5fc2 SHA512 de7aeb47e3bbb574d9dcc9946058efe0bc950ce79512fbfc1a9f4ddd8ed9918fdaa3a49c8ce15ab4618629ec2174e276e11b7caa12d19119389eb3019d167e24 -DIST firefox-128.0-ga-IE.xpi 470833 BLAKE2B d3bbcf15bcddfa692bbf4eba085a81ad4ed91fcea53e644c076c2ea79e96723447a0966d86865c57827024b88bc3d990d6e19966d277701d69015f565b57740e SHA512 5b5843ba31342bc659ecbacf4694b064ae90511b780c194d533701b34859d672cdd535796a361dbc3fa395a60947c179aafee950002cb340dc6a92cca9026941 -DIST firefox-128.0-gd.xpi 596427 BLAKE2B b3603e7147e3a021053f0d9d07d77122264dc4b296f478609cefd5644ebb00e224da8ad328e342723add321c344f1e7bafcde0c43e1775d40d7274396fab6f01 SHA512 5c033afe75120fe5bf4e0ab039c1c2deda81eeb5473bb7366ab236ab676f380452becffaa612c093ea1950e150031f9b7dfb7ef268cd12a7a9986ed967e5ce92 -DIST firefox-128.0-gl.xpi 603933 BLAKE2B 1766c5b75d04875e355e626930defdddd2b556fa425bef3c3072922199090385b8512819dc1e51da7180e459fadce338f48c1daeb7a3d41ad68c6cef1ec2f0a7 SHA512 d3474013cc3cf4b1df6d4a610fedb00c9cb866f463b0293c48f916950cbd50910f363c710c825835a6969ee21d8342db0a83a8047b646aac0542b78f618b8378 -DIST firefox-128.0-gn.xpi 636448 BLAKE2B 6ca741bf7c0a6b47f0ebf65a603ea8709da6fd3d26c0e3b6e09f5eeff330b2f11eeea67965d5f089a1701cdb7f6eac3b7d4202f1f9974f94f52a08af7454fb1c SHA512 a9eea16028f9389a4850bf525cc782c8dbe20785781ebb9d7a07c8b10274ac4bc1e87412d2abfde95bc6ff57ea5a0cc72fb8cb2ba14ae06d154486851a36d1f8 -DIST firefox-128.0-gu-IN.xpi 527179 BLAKE2B 67c2c09cd7b3c714404ed31708aaf04fcdb3ee12274b003aece748973751306064c00e25702a2180385efd69167a67a98a53d54f3d3b6db358946b2054a8ddb4 SHA512 25aa0dcf80c78aaa82c6d7d2d7462565ab51376bcf6852078757fe69e5472dbf0d0440d56192a042323c3d06bf9a0f7af0c49d24b0a0a2a6b2d5af25087f8a33 -DIST firefox-128.0-he.xpi 629896 BLAKE2B 87677a10c429ed51a2c7f4dec54189a8c323f7333730ee65e83f8c0afa4b47034f06057cf32902c4734c5ecd62ab5bf9ea4a3a9147a3043fc6845358b13e622c SHA512 2648eb80a505a9e11cbab14c978dfcf74fe80479e45d161ca2660dc60b16d239d27688021fb90026965f3ede05295eb0b4fbf8fc2465c85267cbd9f4e7596003 -DIST firefox-128.0-hi-IN.xpi 566639 BLAKE2B 5664464e903e7ca880bd466f30c682c5e32dcee3c0ae28154c63e9457fc406b0ff84d5397ed96d131a9945de930a1168f3f1cca38112c0406dc7dd26c57ceade SHA512 bfa5e59944ebd74346c21807ffbcd2e0ac6a28efde6f6ba3d2cc34f136c034d23f2cc0f1665dd3c7e12221a84f61182b59fd3d4fb67bc6e0e7f54f27c7877565 -DIST firefox-128.0-hr.xpi 556613 BLAKE2B e7ce108af8b57c249bd16a705157297eb4b6c0a08b9af3acf2813e7d6123e8573294e0d3b69a733008334fda53c57f13bb57a5732548e586f5c5864a1051ed05 SHA512 a8af34fe1f4999562751ad9253c5e36c88dc337a115e14f69957258ed22757127acaa6f2cf30d34406554852cc962066bab60c241384d254c65e7f781a684463 -DIST firefox-128.0-hsb.xpi 644493 BLAKE2B 1af31e45908d1eaf7a6864c876f090bb202a2b61372c18ee33b2445984724454d8cf13d32934866a94a09253459f28e02da774868b7d4cebac319f0548255956 SHA512 e11d7abbe73ac59992746aa230ac47868b7da8de3b0a7e3ba29bc7a589c97720b1e1012e47d24b91c215e21dda80282bc28d6fbe5cf7a37ea66e079b753db016 -DIST firefox-128.0-hu.xpi 647705 BLAKE2B 1aaa5da0508e8d0883cd53e58cb5ad53dc137d4dc82a1eb84f30ed875294b64f0c53a4cc461e14f9940e493c9b9a89fe049220b85734cfa7e565bd0294fd3631 SHA512 d26aa2dc2688fdfae43f9fd706ee762c22c69d28b96b90c783ae70ba7209bcfe354ca21a9502c54b1153bcce3b7a4f2bdb125be3555ad56b1c1514ed7b22e66f -DIST firefox-128.0-hy-AM.xpi 651430 BLAKE2B 22dab366d5e9d1d953c4cbe9e6732da640994130d4c4ac1b11d651d294528dc194e5e34867d0e637623ba9cd88c9bb912bbfbcd2c960cc52acedbbedecc336da SHA512 96a30fb4d88fdcc9ad93df1a99213f0651aa194ee50b02abf339dd062fb57de8490c3646104d5e7d877ab581e6475bf5beb36a37f1723e8a53bec91c5ce255c7 -DIST firefox-128.0-ia.xpi 608974 BLAKE2B b550056e980d29436b3cdc62caf29cdc827255e6bb3d46af683bd2ad334688781dbbe9a853dab9e00f9b6a538ecf215edd25646daf00fdf8ee0e394df0653f68 SHA512 e05eaf1681ddb23989c039e6e01b370022937babc2aa59b7f6c59901cf22f91e2fe99dc19579b2a8f27485712586b2f73ae9078108ad5a09095be4f7a4eba49e -DIST firefox-128.0-id.xpi 580043 BLAKE2B 03e0b9a6845ba89d4149bf9ad35fbf1067c49a1c22e95085c23e537bca73174cf78564c056bb458c8fad66b752a73252ccbab9fab5f8a6e79f3925b2729c4f82 SHA512 9b517ab3ef018452e4df9ef4547bd3e4aaff194ff452bd32f3b0f42d2ccd1af6963e93603c82b452055abbbe54e85276d0c664dcedbbbe26090d4fca674cba9d -DIST firefox-128.0-is.xpi 615187 BLAKE2B 327ad1c06a9c327b676683d6d12e509f5d10bd0a06bec3337b3a0ec7ce907e4938e8bfaa4459be3a061e888672fdd740aa39c9c06620d651694bf829ce18d201 SHA512 2b84332c4d8b44b94dd8ca6c834f85efceffcbc4a84cc227e77a2df4ac9652396c577402240e8e0ae295637a05a4dbda2631a73fedcb43b9d607948292fbc40c -DIST firefox-128.0-it.xpi 565256 BLAKE2B 931784ba2193258a3b50a62d7f6bea4655c8d4d1edd2272706fb1a1a7faff133047fb9dadee4b204f98d040b25069c378dd47ec0e6bfba11661301ff14993d2a SHA512 8c6f1656d0f5a7df709d6c16cf830e0c4b00ced4faa4ef964fc6a13017c2a0c660f5ede974f278197635ac0904d520ddc95864553850846432793070320e40a4 -DIST firefox-128.0-ja.xpi 675101 BLAKE2B 464a570817d4ec5cd5f2177350c8421aaa604fa80122877cc1f53da6875191b7f5b2daf495366af03a3efa440aff0391e822d14f573c1c7fc40c615c50b05efe SHA512 24afd1abdfa5e867b86feabb45d892b6eba306588d92055808b80e9e8e52a25b8521f2f6a0e2517f1dda1cf1846c346dba26e7b9beaf1971dfb23ded3e2b3ef4 -DIST firefox-128.0-ka.xpi 660538 BLAKE2B 831345cef7849f5bc87f67127e1635a9e1db1d527f446db4d5c53316f180af5350cb968a35a312da82ebc7a0b41618137435d3c103cd21ddb9074d2ca628e4ab SHA512 3b6acb3a0c94ca52ec498364d85cae5b0f7b9f42278db188ed9c8823aed01ad86f74cfe1629f02337853371a916503590f95c0648e6b7f6beb5831fdf0ead4b5 -DIST firefox-128.0-kab.xpi 607380 BLAKE2B 5e7c182e4d581660e2ce5ce27160e8e7bb49347e829ff4c673051fb37f1fbe459cb4024326029de7dce68f4776071c5da1e4aaa31f35d1bbab2cc8800a4c53bb SHA512 e4feebe26efb0426a8f9ba4d80b5d3cd8d221eca9f32003d125d1d966d38639953ac51638375ff855a0c5441410220b63fca7bd624c14390bb749a43d185c250 -DIST firefox-128.0-kk.xpi 705161 BLAKE2B 26c218d8e3656e79bc528319fc075b97bc8f1bfe4526410a70d6ef5010f5eb2088e972a17e125ce23efb733ea381399bfaf2c5c7cf8fbe9946e37ea53c518a53 SHA512 ba6205e1f1f2c1e3ab6d9e0b059634d4bbd0fbb97091faa357a2174b176f4500624034cffc1da35f643f08aca8c982496c255fed37703a2689f5b1b113535259 -DIST firefox-128.0-km.xpi 525722 BLAKE2B dba1383d444e847ff1fce3c6a5e614799176f7bde0368f3fce9d5a8de4ffd9f1b9047340ee559aafb218d83a2af61b2467257c8bab10a847722481cf90a55ba0 SHA512 529b887dff551c687166794a575fa55074663d1ab029c10b429cbfe4e98350f8bc8990b2f7d525936940ea0bf6a2ec26a3b7df3e11ccaadc587c51b4e73c2c1a -DIST firefox-128.0-kn.xpi 491095 BLAKE2B 356fdd4be841774eb8e97d92ce5ee293592bc86d54d88f3acfe4e1f91be491bf5751787c2490b71a193152e9025bc0cabd00ba44a3b52fbc7af7d1d322191ef8 SHA512 1988c5cc58726533dc54fd2db5959f1abfadd36ebfcf2fb92fae5c00401f46d96b8e0afac1997ecb2db8fa50ba685cb4e74d69478068a6bf3151963a1197afe8 -DIST firefox-128.0-ko.xpi 659215 BLAKE2B e654e50b94ea63ba518ec089906582e7aca1d8a75e696627f9e69cb78ef3f5f1fc24155d58984c4266ac0f21bcfeb763b796db3bf65e3e51b7fbede20e3c0e44 SHA512 a7d2729d973ef69d253431ee2f08e889f8a35c3b8c550e1944eab06ab2ede4f222de983f385184a4f6fbda3310a50ff1c48f3f2c4c99a3e5d3850614e6d0e425 -DIST firefox-128.0-lij.xpi 483940 BLAKE2B 2c66f9e5c397b619ea3d0128e64aedba7df802e569370ee688a31f7b706fd73e73af91c74e0c6b4366b99a781377d3cf9add7f467ed9e5e177a99f907b30f036 SHA512 46511fea4ced3315fc26b41dd55beacdc480bb771d7f63d9a307ed8574a943fbd49a18bd038a39f32f167ff223b0daecbbc568e05ceb23f838609ed351f6da07 -DIST firefox-128.0-lt.xpi 572515 BLAKE2B 3b4dfa0fb0928cc08776fa3096f8ae16b8c72771bd636b9117cc53d571c0fb2973cb5ec98c6b1ed16866fd2a8102d5937bacb73cb0f4413048c21f2116d44397 SHA512 42b31e2a95b5c6a0e38bd9916bb7941eabb32ffaa2651aa13df4276bc36f3176b3f656709484e72f975dabb1dfaf2643d5a1475eef634bcfc2e345ae489a7109 -DIST firefox-128.0-lv.xpi 573655 BLAKE2B a3e25cfd6ab234ef9561220d532e4bd69aadb0cdbebc63144b8a7cfa92265c3abe9712ece40032cceddb4a917eda8b2cbb1574471d7aa0c752c4f15c7fe7328f SHA512 12aa8518c317b124a231423cd0360a7502a55676db931532945187bb6f580887e86101b62a9ec18e21afcf404ab4d5a71b7320a4463684ca52dd5e6d6058c178 -DIST firefox-128.0-mk.xpi 493700 BLAKE2B 9fbcc70dd96de86ba285db4ea487d04e8f30be0126d12193fc0b47e8620a37adb7c89439523c2ba2dbdf091a4be57295d34aab19a8343da388075a482a0cee0a SHA512 ece5ea80a73f3662fb9119abefbfea0527ad5d4d989da36380f99e01d138eb1a1d1b3858588b807a5e866e51596e1face331c486b42234f3439456e7f62e0443 -DIST firefox-128.0-mr.xpi 531935 BLAKE2B 26f54771d851058a5d8ff39ca2d49f26e5829909a5360b183896ae41cf242efff21b4e316b370543d0d4bfab2c2ab82c723f9383b037186cd4f6d15be4be0894 SHA512 397cedbf6abbe8bfb755e29a0c32a58ddd6ad0fbc352be179b4160b7301ee1d4f52e0a129ac5baf061543f79d06042360b92b29edfa96f4cd64ed75b61c65341 -DIST firefox-128.0-ms.xpi 449580 BLAKE2B a7310ce8c170f512a922dec9b8aa416f4257ef56cbf35e3970faf9e427615506ed5fcba8a9a207ed3143193931132cdc9a5d98b9eb14b72013ec8c2133287b90 SHA512 6979122e608ae629fb95b215c86137d7f428a9c0e2fdfe279bd0fe51e6e37646c73c59abf78e0c6723495abbb55e1fe3bc088b97e62ad18a22a3122a51e21fc5 -DIST firefox-128.0-my.xpi 518482 BLAKE2B 18c6aec8b327b1b1c4fec03a6a773b55a0eb32016e625bc61d616c48feb9044a950e0aa6041e98d44c7464708e7fca45f5f55d83e0e3a6c7e3636848b93c676d SHA512 1fc374db949908f877170a9933358a854fef3df6e77b6acf5d1d9cfb398a69874ae3823962f88c47c92813de2a95311960a350abb8c11f32922a4570da3424fc -DIST firefox-128.0-nb-NO.xpi 606490 BLAKE2B 08aada502a1fa02fb2d97186712b79ef1ae13ef8996f43b04be5c6823ce85d878000fe294d40dfcead9f4f116bb1827c02003986d965c0c5bb5f72a700349e42 SHA512 328d53604251ac54b252c38b3242735467704c75c82809a8acfaeeb5f6e6977b3211a24ab0af6e93f2f71e0043b54e7bcc20b000d94ad29416191827c04f694b -DIST firefox-128.0-ne-NP.xpi 510771 BLAKE2B c61b0f643f321646f8ce7693914402bb0c68572fa1a55d3d918d6dffae3873df6f348f6782609d385ae84bff47e210112f1d330f8b87db3a234e6bec6125fe73 SHA512 89e2e34aa8441a8455304fd909308d901f467bd7b54aa297ae511ca0102bae41f6608e3336b099f4a2a0f2d9e54e9bee76e30d2eebfa5f5f7f1e8303f0956954 -DIST firefox-128.0-nl.xpi 615102 BLAKE2B 060719c32c1cc6abb3d374ef2485257f948357236248125a8c7e53718ab233c60e7beeb7a85d49260f7dab329e8daab7256bc78b3a54aa8fb87db6473cfc0e5a SHA512 caa0828667e8a43cd3987f31ba137545640f7ab714d39fe94cecae4369d180158246db7f91f463a1b6eb8ce79ef1d02a42db4590f8afbfb4ed362cd313e5e464 -DIST firefox-128.0-nn-NO.xpi 608951 BLAKE2B 4a1cff01fe60efeb1165ec2da737c1e21956a4bc5160086891922f208614ed1921bf3148d2ec418863a9f5bb484962389155a48fc0418d0ac9bf4dd5231d1bdd SHA512 cda0d637fbe71760fcf73c460defeed0072c1d5b2c4e531bf5d42940d7491bfd1da7cb5c889e859425a50e48abc5a965d8aa6391d8cc35fa08956f17fcae993c -DIST firefox-128.0-oc.xpi 611284 BLAKE2B 85c6e71264b071d1441b23db0519dfaa3720c2e6853f21faabbb25aef9e7d312aebb33cd42487bc455b5fba91e73d157e6bf34f622439c724a14c0053061d692 SHA512 7f808489d938ee33e76c5bb573247c500ac63f9bc5ebc400128a19907e549802a0999fdbb8116e4ebb3445d32c34ed2312413726cac461fe898e1bd7e733f1d9 -DIST firefox-128.0-pa-IN.xpi 690605 BLAKE2B 8f5b22904d07e1664330f61bc1bab04c5159234afd576c4dea46343f7d2e2ec8dc9775aad5abd907d9710aa7d8f3a39545f6d84df3656274ac03b42cd437654b SHA512 e6ef3c55b34921fd14c82da2f1aadf26e7a8521a617cb6af8ad2217107b8402afe95de8d70c1832f8f3ca6bdab290f1ed60cc174c2717f941c90bc72bc41dbc1 -DIST firefox-128.0-pl.xpi 635626 BLAKE2B b1ce0e6101a6347df61181200dfda9c64401e5768b6d38644a344535aef156aad3be3eaa3b0c805383891d8cabb83b32126e5f66f45972fb7112da5dbbfb137f SHA512 5d81ece8da283acca3616c5f6bce8e6b4b3b08ae3d588072fbf4a7335b030e941aaf66d62654a6fbeae36d9fa1ffc04918f816b82d3ed71e1191cfc2d4b4942d -DIST firefox-128.0-pt-BR.xpi 619824 BLAKE2B f4c17660ac81962ef908182d784addc1f592db337409dfc6dc645c1f5c7c7e9c505ce077838bfb4315a1bc249c3404983de256ef2449caaef73515fbc2f13ece SHA512 a1b8d0f7b81a2323db19098d2f9626ef4c61930deab6ea105d0f66829f7b058cd0e595c3097756779df4ee150100ca9a4d06e2274edc203973294b1ce7238359 -DIST firefox-128.0-pt-PT.xpi 626034 BLAKE2B cd2d7f68b58ebb295d2b7b25729e9c589871b0ad80f10e55d99d260c3e64171ed2be33095a3565e854ffa0ac7e220505058f902a6909b0a8324173803df88a0d SHA512 1f30508b45a5cfeb5383a069c35cd01cfa2339858eb269cab085a4e19532681511c14b81fcdcf1c2e0b80420dbb18ea2ad235aca46d53423d162086b3916f2eb -DIST firefox-128.0-rm.xpi 615679 BLAKE2B d9857a9a9b9efdd1d1bce1c5d9eeb456d5cb36cf66472362ffdef5af4fc340adfef5f998fcdfa9010a1c494a591560557eb1a65e3829125375c78c21c40f97e3 SHA512 c55632e4079187baff1dd985f98074a17639672959724495582a33d7b545cd3d1f4039022c35d09815a38a62fdf8d1243c08cc0d9b60601f80a6e6a9ea1d4cb2 -DIST firefox-128.0-ro.xpi 549650 BLAKE2B 3cf57fbe58a1f8675b7b04ad4675a499b9d0cb05bd283b2e31767684bdc8f709e81618b53afbdb1fb9400dbcca8a9f2c2eaa165eac8147bea35f9ad04b223fad SHA512 eef8bed22d6f7c43e7e613e019d1c61f045dffcacf78ee80a12b7976227c46778eb8814e3a89c2a9a4be9ba355f6aeba1c2d389f5ca0dfdf33129427b43f3590 -DIST firefox-128.0-ru.xpi 717691 BLAKE2B ed73f89b7d576d73a1a28e714b40d313a3810315afdeaad90f6ca419a6b7e1508d618bc44fbc945c66c7721d632b427490f1e7aa56d7bb6ee5697ef453be1268 SHA512 189e6e0af8fbe921599409e7dee9a61cc21d998d4776fa7b73f145723244b4598418a35d62f18b2c543d38ec6f372365d64fc73a36fa339264a25a0fcc4212c0 -DIST firefox-128.0-sc.xpi 584914 BLAKE2B 4a878328ba2f78cf983b150ac0fd65c9a8da2d668414c5ca16304b646cb53ae333828a066bfcaee22788dd49b05f205acc7f9255de9cd59fa46912f41f6477eb SHA512 cf1e629ab935d1262f2d18becd0214fdbb33db0541e5a8bfabd5a7d8b41b387201d38fe8770835d62ce04200bb67f5572d928c7bc11e5d057ffe9d181417ae0f -DIST firefox-128.0-sco.xpi 511148 BLAKE2B 20306a0c5cd573797a5978817a9724e30983f4c5d0bd2a5cd89ce25a5675ac75957d00f314fad4bddfae6218d5591e29c0b866a87a1fb9dac71c4e53b28e72c9 SHA512 33ba113d7300ba9308c3dae216a9544083f22aa754997025151ad560083b3832b77b243f912ea9b069d7ee0747305df57294b07affb047dc90319132bb34c67d -DIST firefox-128.0-si.xpi 606047 BLAKE2B b54752f3cd674e9b7761a94c81ba4b59157a13c07822f5272e94eab58763d734db6c598804e237ad9ff1311e06e85bd96447960f8135f97e03a0c9e5469bff4a SHA512 e6ec86b16c9ee4da0993abbe5a7e9bda90baa76aa539e3b1318cce433896381dddf9d874a77f800bd93cc083cca422e3ae4672b17100b1ffabc9c52cea178149 -DIST firefox-128.0-sk.xpi 649995 BLAKE2B 363f8507927cb7f2372fa51b4391030bea837df26bfbd0265daaa26196e7b85e01cda39d039f1832736e3d52775a736805d04792a16f430bf326cf99534702eb SHA512 90bb5724c474e33513f4047f3a478f2f74cfe6f8f5a565edf40bad5a4e4e227255401c10e670a2db134950f824ac573dfc927bfe7121321b8ca5807571ecb066 -DIST firefox-128.0-skr.xpi 707175 BLAKE2B 94deb377fd0ccb676865c8a72c44fac04af6a8ed1030ff3328ae69aa95a548e346801f7f8467bffccc3815dca162197023b689a021fe92e10bc4d009befa4daa SHA512 972635c3ab85f4a93c1cc6bedc9bf1d4c4aa6650c80b5d74fea59efe13df272bfffe7a24bd247ec15d46373d1cf7d95056c68a5568b37aafa31d97e98ba31b75 -DIST firefox-128.0-sl.xpi 615568 BLAKE2B 9284277640e177d7f209b82e4b00d733dca4a75618548c0144458f2b072720e270958bcc81203e9be678d14bca203618a8ad1fb90661b3d2d2b10d55412c7df7 SHA512 123648ba73f740d65535d93bb2ee8c242bc657936338ce65a6db7743c595570f5b96aa95b52518134922527ccc7d778a1239706d7086d0ac26328b48c61fdda3 -DIST firefox-128.0-son.xpi 416260 BLAKE2B 92595a58ae205d1619181fae205b3a7d9f661c6c6564000198c9399a9aa4103c4e5090e7a05d644eb9b5cf2db7db4d6417fdec3f56bb6657992ecb0a89cd6cf9 SHA512 02e64b150e475b765bd4da5045e487567ade0d9ad3efbf8ca953a6d575dfd2154d3889b3b3252ac6c016b3be977ae05d617c4342b51ea5d0fe90014d7dfeea53 -DIST firefox-128.0-sq.xpi 635525 BLAKE2B 4e4bac7617e8bba1906be9f056ea3fddf1dcf1dbde11074c9202de30b41282f1415ab3b55709ab1499d67f38ad26be78d165638d07779268f8dcb129a7ded324 SHA512 8a6e25535991f9c2db6011f22af25c7ebcc721b9b531bccfc87fadce54cfa60d8945a1b707f14d0cd11679089558ca87b37e97d8d167f14fbf4d8127d674d071 -DIST firefox-128.0-sr.xpi 639179 BLAKE2B 7afc26f9af6e028a2199e9092a1291c93a327baa278ac547be39e82135de55ea001c07073026a2c2153e65b11991c355e649b66271de100b156bf78bb14580f6 SHA512 5094e5db62d2a022c7781166168162ec260cc31963038b7a07f35462c96c8f44b177870b94da6116536e36c0628e96286a011a528e2f43d2d1a0c41ce4f4b0d0 -DIST firefox-128.0-sv-SE.xpi 616852 BLAKE2B 5f82acfbf78ecbe2df0492b6a741334207e7d950050bc7c5faa0ce78579eeb3fda3108cd804eaca706282b8aa21ad0f31e36685938633e3f395585a5d056fd87 SHA512 161366bfe1f335237c88617c5889db6d1587f3c24196001249787740657acc52f0ffa7aa128bb509a4802071235ebc2da2ce0acb005aeae57c9895457fa748a1 -DIST firefox-128.0-szl.xpi 526232 BLAKE2B d79a0c3777905a6a5ce7cca637ebab49ac307bc94e72cc6b1df32b672b21a24cc26b46db591d9ef3b6330741b486e7bdaa4e5541c1fbedf2f2e3cb29349fd328 SHA512 85a4072de10412a1e13bed240a6cbd9f3a037cf4ebf70a28719051354f3c0dc6a6f254223a424f5af5f8af6bd5e0baebfa3e8fe95f0750cd6381c1e6ab43a614 -DIST firefox-128.0-ta.xpi 507358 BLAKE2B ce2b278b49ec31e34e508f944ae8e6fb94e17199cdc5bd2add5d02760db26ff63e5370dcfa15649b3b3cae74b624d039dd68effce96b67274cb080971456b996 SHA512 5e4cdd408d64ae585ca7296c2c4e7f759e322b81913cefb453f700eb659492997b24f6ba7be7347475c3a14a0a9e1ecc2fe19c808dad0d57682465f4423ef77b -DIST firefox-128.0-te.xpi 560876 BLAKE2B dbfa13be40842db1e208021befd460528f6d95554d92b1e9c94d1cac7bef3546c786225d751c26868438638fbf846d871b2173ecbf830464b941f511cab855fa SHA512 178c4bd996b14f483881f678fc22b12c6064918e26ac4c24401435cbf454d2523d1ed15e112f723490586aede99fb78728a089d428ef5fd60d768a883d88307f -DIST firefox-128.0-th.xpi 693405 BLAKE2B 79de5f26ce012239267fd7900089a5b424eaab2dae31a383ceb0ad8a62907288b0af129e8bb93559118c21f01feac4f2901056303a971e6f32f5ff4b51d40cdd SHA512 fa5e1e4c0ebcc564c5810530b7959b5e8a887b2de252d641e73cd7bd2300972cd78b4212ad267b85b3de52cc018ad35d2d828007f8b4859c33fd33ff4649c278 -DIST firefox-128.0-tl.xpi 534025 BLAKE2B 6aa35320e39dbccf14f863832185d8a1db19a7f5e7c0dc8e86d4100dc314b2d29a9113697c1a6ab7e073523054e85c68e1989c8a20e0f3cc153c01bef603a2d9 SHA512 1bd64d2513d54794d6d41aa194fd88feb075fe651100bdbb01be5ff6172ab349c00c3d15b5efd4345c6525e648a66336e5dadbf4d0a86164c3998b7f1bc572cb -DIST firefox-128.0-tr.xpi 630012 BLAKE2B 92522c3b5ddaf027da6ba32f84cb3e80bd23cccd94ef7c78b8aa0f88eebe88ff3a4791e772f76c16b62967a9cea46da341b3b2ac37f870e92bdf3fdd56fe5a46 SHA512 47355ff3d82e19db9ae20f16eb1630a2ec255b0219b569606cd6a3e5053ef5aa6ae7a484f70707d25d89f99a5fe5025e25176189605f1e90efc1fb6e6b7619db -DIST firefox-128.0-trs.xpi 503824 BLAKE2B df7e070b45c41c069d76a3d7a1f67f0d034d39777f61a54fe8127f723a603c99c0addf69bf52edf1a3824b54b72dd3c5b31a4ae2c16a476a5fe2f979f02d8032 SHA512 534114666bb1a131ef4ff51f1a114156c09924cf7f8560f278c4783a45728f0df730e4b19f01ccaaed4c6453ef757608975d695f17ea3ed9e6bfe43155a39236 -DIST firefox-128.0-uk.xpi 707195 BLAKE2B 4071217517c8cf7c51b584b51936515f249fd383fad6132b9637c296fe911ff7dc853700cc49b266e34d5305ed7052b9908c5250c50869a9b3a2493a9f90fe20 SHA512 886c42192240ffc7dd8294bf912de1e56ea82e17e5e206b1f521c484557d42f9f2a3958ffcb114ceebe26126d045bc4bb7cd52c0c076e83a8a07394c0e29cb69 -DIST firefox-128.0-ur.xpi 560339 BLAKE2B 63f996dff257c66e0f35887984df64771426653eda49352696f379090b3365cf737e6a4e8766c4234de8f0921caa481a69745d2e94f167e35c1b7a7e6097abc7 SHA512 9f65ffbdf069de89f32928812f311e7eaf91675ad40765fcc0b88a4bfca86aa9242c7207b49874cbdb39fe31e8f6b110af2af176ea649df3b5fac07538a75723 -DIST firefox-128.0-uz.xpi 478619 BLAKE2B 03ce6a56af48dae306d7cdc8c8a34a57a2a436207503c5c94da4c38359630d56356b4c52d59b3518d4efed2bbc816fb34093321e0b9bd7ee00c9172e8cab4464 SHA512 e2a7d96d73664fd85acafe7d008cfa22d283e2742dd98f5e34f00129c00b2cf3f3a7240bbf0b01ecfb5fa49a0055d8d4173d6e8eb929e4d24bf764b5f1fb9202 -DIST firefox-128.0-vi.xpi 653927 BLAKE2B f2f804cb08bc000c1c1975c5b641b068a8677f7ab51b707d877f1333766af927584afdcc5a3f817a3d72a4b9f486d96bf75a4cdfc430e53dc19dcd8819720221 SHA512 16c58254dee12ce09b4aa603614053b08b50e7eae55cabc9709828de233d2393a84ff1f7daed39f58d17f570337caf3acc3936bab76f83b1fad49f3bcdb4befc -DIST firefox-128.0-xh.xpi 417021 BLAKE2B 50961db41b3ea9a1cac9f5ca60ff7c69c262b7f7f416c63393ded69b3916cb57fa1d2ae2fb6cba03ba8d30857bc2c596c6d6c2d88f7b56cbad49f3ef353a70af SHA512 fdf7e9bb3b76842c4c135cf2d82ccd2dd744967fdb7d9202474e69e1c6f4e955d0ee234da2f63ebc706fa22a7de363655477b406e9cd9524e33a7907f680c9e1 -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-128.0.source.tar.xz 560761840 BLAKE2B a50c7ded69d86c9d45475e701f83295ab6ccfc4eb59d9c91379504bc35dd0e7e1fb59e8c7737684709fe62969b9762e2960fa90607c83f9e8d637b78e60f56b3 SHA512 309c0e2a0bea5699e6daf4fa02300ad7fd118d2c02c35cb5fa97a5fcc6e250cc7aec34e50fe872b8fd516436bfcfe37ddf33c9d0f9291860388cd6f3f08ea9f1 -EBUILD firefox-115.13.0.ebuild 40710 BLAKE2B 6d1aa7f38c5370a656b8a224f71ebfd929d1751adbcb8e0606fe6aaf59a5c19b880a4c7f77a313cf374125e6ded3df02a234db3f08e6dc6470bd7c79e7b5a0ea SHA512 33c6623fb27a7162f52b6bd0e611162c88d556b7bb139acaf2de526a96d42fcba6704323320fb61d78096f1969e2d36fcc528c45e2b09349e0fdc703b0b3f406 -EBUILD firefox-128.0.ebuild 41898 BLAKE2B 4c4a0ac73a0cedd45e36f31bf1b4c03afd2d03dde1952b94da30d67dd7d9c6b2b185402e78fb98d61df3340cef76bf6400f2978afdb29bf9c2de5c5cfb9f6939 SHA512 5df135666c3a5275d58584c436e06402baed020e1839aefeebc7bc1357227bf42020122e1e4d0f7d4f0a26531e503e379c1ef9d5b73a0ca7152adcb7d03facf6 +DIST firefox-128.0.3-ach.xpi 464070 BLAKE2B bd1e92adb3cb6f1f4f61e9c1a168190c26972ef846fcf45cd14e7f29d6b5940611d6348fd6b3815f356f80bc9ccf5143775fc602cbb2035ab33bd77391721139 SHA512 8ad9af4e2c693130d471f8bd99f32579cef658317dccb821521069c130647ec7e7a0cfac9d8d82c8f3e3600f22e080ec4174bd8bf7f7cab6107a6a0ecad1936b +DIST firefox-128.0.3-af.xpi 417515 BLAKE2B 45b368d5bdbabeab7cace3e29dfad7d2cf4957fbba446a9ace922c0f6cb0683de1d634a9146dda7367a376b6802d6579d2f0ef1095bda24886a3fdae87dd6ad5 SHA512 a7d2ee5bed99cc18ed47be14c0421d84a815af7f870b4307517f9ae3929c81d6f2f7d646aedef11a3f91143aeaabd57a7f2386e92bd6e176849356690ba009ce +DIST firefox-128.0.3-an.xpi 505881 BLAKE2B 0f9ecd72aa5b4bd5af3a659002b9956bf9bcfdb3a709b5f698afaf393e6426b3606ad6140b861e5740edf40910b9d1d07dc6eb092cfb1d742b07dab209803295 SHA512 b3d16a753b587acddda69fe1e55967c88ccb3624a603be4030c78048385aaeba74f9b2379bba447a5e0495f3d1942fbd6f5ad6c41ce2080ba762493036528266 +DIST firefox-128.0.3-ar.xpi 610860 BLAKE2B 5176beb66f9425c5996fadac95cf17c9377840d0e6a6dfeb4161f51f6538afa0fae0188be85f802ac0be5e20d658fd0687c7e2ead170525476335cc8890d100c SHA512 7e3490a77ccf13b0c2f0e625811439e0e4004cf0875b8177822c6fbeb999fe676b24ffc613ce4debcf7ec0ad3fa05dc7b8a2aebccbea41683c6b5c625d640621 +DIST firefox-128.0.3-ast.xpi 496342 BLAKE2B f0abb0158c2fec99b922402eaf070252096723b2cce94ac815f458b01ce4a671c1152875448ef138ad38ec6b4d33bf0f8bb294ca0efa8558e639462167cc6e50 SHA512 6b9003ff4b47041ddf1622c1b139506472ecc86c3445e36a6936134a04635a7d3f64609e5cd4222757ef7d9b32480b6478477b2dcf8b12a4d4d67514db6d859c +DIST firefox-128.0.3-az.xpi 490772 BLAKE2B 311b1ba01f7eb728c8186dcd08c7b65578b67086003b696f4e08cb10dfb6771d35c9c88d25cd42ed8b3f75445c6e4ff88930c9346f832519245afe24008ff256 SHA512 335d130106fe22c540528ced5f2277d6315cfbe33072a76fbfde3ce225543c3013311aad452ffb187554b575c5f3b656112f343c085b83397d9be8a70dc74b20 +DIST firefox-128.0.3-be.xpi 714336 BLAKE2B 1b48e36e40f5ea942afe17a751d17be28644b75ee9bafce2f1d33e00ff3d8f9850eb5f146a3e5ddfcd613b8f441c1000946ae22ddba74127ac317762c5ead1bf SHA512 5ef69e53b8aa687e05d223df109c84e559095a725524f0d0d23fa1682858072237510e4263af5ecbd4dd7dd28924d9c177bc78db247d2686eb1d8376f71241d6 +DIST firefox-128.0.3-bg.xpi 606582 BLAKE2B ec4c722681e6d15e01f3fbdfaba5879a906ab790c09b295f4bcd7aa6272a64a2a3714d4fcd60fe28adc1a8a469d9842ef95ca158ce9d0a31dc52cbc26e7d6413 SHA512 6c79c587e32e57b5640b09736cca745f5e536e115007825de1c14ed822ed5a9a0b212cc760dfffae8cafc6b792b887483afe105a3b1c5aa42df0bde3ad80639d +DIST firefox-128.0.3-bn.xpi 581536 BLAKE2B a7dd44af2911ed3a24f738e6e4c29fcb2789658bad7a52389e4647a2afb57e2741a8f54a282d6a540fe27fac9e424dadc1e79b3838508f52ab8b71bfbd79468c SHA512 655bc0615a83481a4803916244d3ba6666501712f8c684a01e51c5118f70d3b5b7a1c8f7658843c554d7849cd56a287a2794ccf4bed28780dd2590e843be17ae +DIST firefox-128.0.3-br.xpi 588930 BLAKE2B 6b453122beb85b5462feb48a38bbe0bf968dd69df5d08e322286cc0b7d42ce48f603e29da0bb1b48d63ac9ce46192b391fe237ea8ff37789bdb007b422f7830b SHA512 65e7498f17888ad8352751493d9de6303140dd0a1ddab5336e4fd050975aaf6e97f9234b91642b87de585af19c54e4312e3fb71e3f2cb8af14ca56aad0d96686 +DIST firefox-128.0.3-bs.xpi 501988 BLAKE2B 1f04823572f0aea757d5906575d0c3c8cd5d6089503f8622e104f00da971ce5c44a436bfdc0506b1c93194a54d1335d4fe353c377614927bfa9348d4a2e3c7b1 SHA512 4875b5a5f46de9325a7ba0973a4ff050704fb99dfd2bf2c196541b7a9b53350fd5216c17711010ec719037b60a4440d4b151c5e6fb3ea8ba33b49005a6d6b639 +DIST firefox-128.0.3-ca-valencia.xpi 546189 BLAKE2B e1a59c44c5a00703e906dba00317636fb85461c4635a44419fca74320d4f07359e43806d5a3c19fc2f5f8e8f298902dfb40de8e346514ffce16138b802f2f6ea SHA512 93c0068c48e44dec07359ea8904d9f6b8254d55544a46f8f814a5f92eaf35b3d860cce864c0a2c60bd95b6cc107fe4beeb5e9aa7d7a746034999dc9681ddd138 +DIST firefox-128.0.3-ca.xpi 597111 BLAKE2B d99208ac1f2c7fc9736b9575c7826fee0f1a4588488d873aa689d66b328d569b8ccbc79e7c1c478b19b3d86ca40d1143efdd0eaa7bbcfa091d04614639d689fb SHA512 c15669049e0b2f62524d5c57af8b8bd48944b299e860b1c2a55cb7c05718a03297fbbbf8b3e4e5bc2292a817048221ef08682b02a9cae485b8c2215db77621eb +DIST firefox-128.0.3-cak.xpi 593083 BLAKE2B ab040d4397c6c14b2590c66845ddb32e04c9e421f63630924c5c8c42218911b80ae2d7e4d8eebf4b1cdb924e1908c7ffc8198344b015e8e4353e6fbe260f9298 SHA512 028f61bd1cf887d51ced7e5dc6034db5a4cb50f2c8304dd6d6146550eb9aaea35bb1078e6c29129979a3e1c5e12e9f204101041ffdb57e335ea5120248339b44 +DIST firefox-128.0.3-cs.xpi 658964 BLAKE2B 77440f97c2def843531d0da78d2fa187493781902415ccb8f1ccdbe54569204f63f9f786d60011ece646201adaa6bc405c6156e04492f4322ef38786898f1bea SHA512 facad91e1587788e8bb052094690529fd580e6171a0dde9b3c226470acc31717d154a1d1947b004aae7fde2b7f96ecc05a481cc88eb2e3f590fa9bb61b5567ae +DIST firefox-128.0.3-cy.xpi 622920 BLAKE2B 4c6832f17b962bc303c06493eb5611a512f4d12c49154b7659c081a9ed6fede434c55d141ac37d513dfa0d9ca8450f238dba269461529008dd240f92fe938f8f SHA512 784cacf3813c3c9c5e1f3febd408d0100f3579d3eaa4a7fc910a6c26a731b3bb36f885df89a58aee291f992e105e231e444a2e3325d4ca56b9dce77b5740b9c9 +DIST firefox-128.0.3-da.xpi 610842 BLAKE2B 9015d327ac2a263a0c344cda13bbf68467038fc5fc0b1eae05aa8db86c38026f7e69f4a34a0877a12abc6a0e56aaff009bdb1137f28b6833d4313eb5835f439e SHA512 ea6e6dcc0eecdddd597e94d4400cf4bbe152329b5e5a2b02f61c9962995798ee4f009ec5df709e100c9da4200d98a853cf865bed38e047113f44bffbf20940c0 +DIST firefox-128.0.3-de.xpi 632474 BLAKE2B f86ccebc80756fb5ff83a8a56e1e05814605c3e6caeaf17f4bca1d828b51c0f99f18254484aa6ccbed5aa265881c2ffdb8e12efcfcff5fd444e64d2f35d2db3b SHA512 5a92a77df3466d3604fcf51cf73f6c2b76d64353e81f437413a1d3405ac213c2dc987f77b6efc3b5b048d794884fb08e456a316fc0206ce1f3f13e60aa88c522 +DIST firefox-128.0.3-dsb.xpi 650816 BLAKE2B c96a1a12a5afaaad739e05e0e319440d4cc69561dd7f715153753b4c93a2f7e26708eb33a91d7f83375af6d5757226f6e93fa9ae39439d8b462fd66885227ed4 SHA512 e4e590209c249797a9accec4e7cb1c74a5c40f33afc217e03d9f2ba0706a15110aca38179e0968d89fbbbfaa2ab1acb6a870d8112c70756ee930c2bd4c0b9433 +DIST firefox-128.0.3-el.xpi 733070 BLAKE2B 8b33f0a93ce6afb660b2c6782515b52534e39a136dcafb7b93b706e2b6f6fbbd26ab62797b0f6e4a837f9d52879a43babb8c26ea0cef987a149078f3a45dc637 SHA512 d002d58c81cf7de1c54d979ac7423f57e1b581a76f1671e8a74369b78cf70d5937a5ab52bf842ac73846a06ebec5f13c1ae03a9b31b2cad17c95a6a966350c52 +DIST firefox-128.0.3-en-CA.xpi 584678 BLAKE2B 8387203395cbd953bf19962d2afc473e95237bd2c4f41be9dbd109ae114bd51c2b91edd948b6196835a3a4d24f49ae4ca882799ed39996e5aaf82c4ac837622d SHA512 f7c5f2aa5f06abc9b01a9ff23983bd66d6ad42388f84b308586b5fd9819d863d525ec28e8657d7e387404fdcb397ea08e71ad850b0e27b8d71f89afae52d02f9 +DIST firefox-128.0.3-en-GB.xpi 585259 BLAKE2B f30f63c71bdb7d4836f87aa7b7b4adb45c5fdbceeb24e83b5176e261e50143045fa678a06098f0abd8636748aed74b9bd95dfbacc9edea99c88a747fe6eef34f SHA512 cfa76417eab21bd6daefb52c9527838ba18903ed1def71e50a873a038ea947d33acddf3c6f327e0fb82cb30b80440ca7a166ac5f43b0d927465e3f79d046f060 +DIST firefox-128.0.3-eo.xpi 613700 BLAKE2B 45f53a29dee57ba65911bfee5197f0a6fd57e16ea33a550a81d19bef57ba3937ea87a023a8bd63db6cf96d2f8ae93965b8572274a6e3c852df7b42911fdc7277 SHA512 3e68dd24d146cfbfe0e647159dab64b74e772f0978ee0dc2027e2b7c16601da276f50c782a17ae4a0e2c67816bbb372fbc98f1d1d1d08758806589ea86e1ab11 +DIST firefox-128.0.3-es-AR.xpi 628031 BLAKE2B 41f2e8ce30210bf5b16ef41294c851e8233090a6d96676ff664369633dc9ba01d23946316812c1b7443f7195f62b7d7e07281e69b84bdad7f4f77e97620eb35c SHA512 11a5654fb99b6802bc756f2854ef8feec159bc528d7aa4886c94464a072a9c09117effe751446e9788e317f7ce4f782e9b43ceb965261b48d11aee936117b362 +DIST firefox-128.0.3-es-CL.xpi 627301 BLAKE2B 8c25642bc62cbcd3196840296acb71e91dec55c8ec92b2132a1dbc83868a82cf64675720bb52c9fd3069cdadc961295e93dbe3ce4cec0cd2c718ef154d42fb4b SHA512 5b549095bf4f7bab34c1b8f275d088db6196a6aac05061125bc8be3dac755eaa3b5756422161b7afec5e47d31a675738ee9421a296909bba8b28a6c055fd8282 +DIST firefox-128.0.3-es-ES.xpi 621076 BLAKE2B 8c65633ced118634a2d948230e9666480dbba8184b85d85bc0e0f932c379143c0318dfac60f94c5b589d10197fe5c9fe24f9850ce43115ed2a1ff4fdf5a04565 SHA512 e9b04d2b405efa09474b9b61ca371eef0d26331de252256ffb92f8a504aafc1466c7463024903e6b918663465afd8535e1e9ee5f238d83cdf011f35ddd62ac34 +DIST firefox-128.0.3-es-MX.xpi 604994 BLAKE2B 13514fdf5b7cecfeb365f4d486da91fd8326db66d07a8360416f0e364ea01a4c5abe14e54272f599b1877b4c5ce4dfdb4393ac986da14407d0f547769e1f1b2e SHA512 5e0046b8b9da59a3f810c2040e2d4d928d0706e168374d2bfe5970c42e619ceb07d9b4720d53dadc96c47559fee5eda22d8c68c536cb7df4966c825e24eb6457 +DIST firefox-128.0.3-et.xpi 539535 BLAKE2B 451d9a8605d16f53044271e98b0920ca5b2bc099e142c087cd5b1df5984c5f8291f98236e5f0f4d73cbbfd061bea7d2b0c9b55b2ae4ea094d333d1cdb0e9caa8 SHA512 11cc2db54e703cfe221baad2412dda92603cb7111ce6386e8fc303f20bad116f62490b7bf456a086f0f275475f74e77b605d55787539d33c7d23017fc851031c +DIST firefox-128.0.3-eu.xpi 599329 BLAKE2B 8105442b04a5c9eb520caed777311997c5d6f60793f2f3347bb66189a1275e4f1d47b7d9c701538e97248f884d50839769fd5bb806f6490727e4a68900221582 SHA512 656350dff1b95f1e101ed9be60af3ab0c939d74b7af4f36c2523504c83c0e5cbcb39541ae553d7af69ab2f705b48cb33b9881df6f34568fd7f474d046d0ba651 +DIST firefox-128.0.3-fa.xpi 590030 BLAKE2B 7b2dfacbb93ba1e3b667c79e5073414c629db63595b519cdf4a9c8ce6bd104ba9a1208d1a44fd9f73fa25a242842908db5e5ec36a44ed46cd31e8134a5d26357 SHA512 e2a77e4492e71ef4881b774f5b6e1fa98ca67acd5a8a388c43801c2c15309966bf3539aa2c2f2902ba70707dba1735fc4e4a77343de005bf41e52927bf785862 +DIST firefox-128.0.3-ff.xpi 476055 BLAKE2B 931afa781fa667af22c0b51fd59b9a1ed312c7db3cb91a42b74309198f2a71c71b70a0df6768084e39077b5115fd908561d58b28c2f6d8b0bc3f1f8893a073cf SHA512 87d744541af7e9a05c843fb7040f30c8b316a41827f152946114e1e63d9fefd47d23b326892266c93bb8bd1c4795ec547049e8a1af843a1614d4a109908c0279 +DIST firefox-128.0.3-fi.xpi 606457 BLAKE2B a207329da5efdafb981ebaf5316504edbad5180377765bef51d4cdad5a7e0e1b4266dc0e7bba922b593d9955fd25dcc5661abaae5d1337a3eae67abbb2347644 SHA512 e6194ff84a353244861ecff3a5082c1324daa59443f2567db76ff5984b37309889f287e5393a1ab7607bb350b9508b86f842917aad17a3a109731c94f145c839 +DIST firefox-128.0.3-fr.xpi 640303 BLAKE2B 5f3d77d8489322a04611d9938fa4db843d9d57caf65bb18ea95317bcbbbaa43fe97a937c79ba9e3fe2ae813da6a0d8315e2215e0fe9232e9f4b9e4606ae7bb52 SHA512 760b277ba49f85b9053ef8eb7d9e6b9a2a8b324f5c74f9d6fa937fb6b8186a7a08816485b324b17807f62155c763b6a6f27587229b562c044216ad538e029513 +DIST firefox-128.0.3-fur.xpi 633990 BLAKE2B 0b005856dd524faa70b3df7d2f5f5c7bba1ad4a7e6eac96c854c7ee34e015434fb136fbd15ad6bf4ce9dcb112bd546599939101359302d5703a0c497b06a75e6 SHA512 ea394254ca7b055b99f3f057c61345e22d6f23e511d41ae513fa3aa8d77b68de436bff8decef917c211a5b9f26221f520dd7b52a54ae250704b476e0d05d8afc +DIST firefox-128.0.3-fy-NL.xpi 623727 BLAKE2B f5a1668fba78d69fd366db423e07603b7209c9cf1c28ec88d3a9042fccac16f8a90ae7a6b7e3e8c3271541c98869f0f82cb965e4738747f0d04c53786f6af514 SHA512 c6fb36046b321e78e4c59401683f6c9e58c343d20935c29fad34f89a8974591776494ddc78eaa9408a3d6e4303bcbd0f1cb80b131b416dcb1be45860832cb74f +DIST firefox-128.0.3-ga-IE.xpi 470992 BLAKE2B 69047a8ebc01e503f4a972d215081b2c9833209f2ad714e0f2580727f7c080557b87137f46af7d0d04221edbd3888581eeec1c57ce30103e17258b279f4e003a SHA512 db94156443a1b7b21778ced1e574fbe785013d63ddc186aef0619aeb15839d3d33614e701d5261801819c469490b14950f28da9211f50a90a04a3d70a5eec88c +DIST firefox-128.0.3-gd.xpi 596589 BLAKE2B 7f8cb4e09c817927fe2d6bc1e4253c0e6297226c67051ed3c4982155519ce25f8c87d36ac42f51bffc24a838a7c1158275447d19f7623ebfbca35e37cd3b9dc8 SHA512 321075e3b5feb6cbb27b3829837f1fa3d53c59b2012330b8e170e46198da30b181a15d96da403952f9da210e0bf32659c01b46b1cd3744756c6b19b582d7677f +DIST firefox-128.0.3-gl.xpi 604094 BLAKE2B 96e4aa3efb08935d34e15b946975482c271bd9ba871ca00dd7a3c4996a16045b58d224b8183d9e5c3d8393ef1e3627e9e14b7a89f1d8b3cd1dae9ee819dcf808 SHA512 b8d450fe80e5ec0ffa0c0090cf62a5ece4e9643ef1d4e7b6052fa7ef3e20a5d2b61b5771f14a990942bb13cfb7cfec9d11a04ea1f578b1875104a7177f8a9789 +DIST firefox-128.0.3-gn.xpi 637427 BLAKE2B bdee578c515ed1a03e123c50b1ee8a63e6204fd46e67a51d541394b382238b6f35c97a524b16d9080276e75ef024cab834a36d95950eb930312c577bccaf5794 SHA512 0e7df3485b0168a0b74ca9cb59ed80f633b097f53d1ddee826d95831868cbb887f17e8560cf0ca843ef183760481e57d3dce53966dcc40c2d7d0bb428db4f197 +DIST firefox-128.0.3-gu-IN.xpi 527344 BLAKE2B d06eb237de22b1977831568424837eac47305cd8ef0114074c9ce2437a4f9da003b820bce722293b36303c23ac3b0142acf1231719573472f545740b78ed8892 SHA512 edf17a82f01afb28aedb484287fb70d35fa62341a2c65dfc2160c8962522b55146bac85f565049343059feed02ce22f067e1217d6ed10071d8a09301f18289bf +DIST firefox-128.0.3-he.xpi 631587 BLAKE2B 38694f10578228bd18f3e810a667575b3a004b02a84de07449506c6c4305d67101c4a7ed31e9d93fbd9cc8ee2bd79d2b681c4900d262d635aaad8d4f71cf2bb8 SHA512 2a2da86b5ed0015f278582dd6c7f61a7966c078cd5af77eeee107ea5e6418914948586659a0786b418fff0f23292404f48165622d9d5e518251c1a15be372364 +DIST firefox-128.0.3-hi-IN.xpi 566770 BLAKE2B c77643df28520e35b163d86ded59343a228ed88e55566e035d45d4d1af165a63390d9720c6c2e516cba69b33f0f692062a0971d4a2b3a21ac19981b0456f82cd SHA512 6d1b410f653ea49e3356c73942e8f3b6791e9c74ab54611d1b24a1e49374d67ffceaed239ae90ab580cc02a02925e357a87e780c6a1910b17294eeecb561252a +DIST firefox-128.0.3-hr.xpi 559805 BLAKE2B 32717e35361b2471c9ac163a1bbfc08ba05ae47db26c773ce094196024dd9f80fba173738532a58d07182822a8f5f309d08861f6937b2986b8d0f1298cfbbd2f SHA512 ddfca42876ce1702e1b65754a1411f66392efb9cf7ad474ee892c29a372d5f05d4594d52b3a4609b0f77e7e4eefc8e38c790a462149d34a8b302ae89178925bf +DIST firefox-128.0.3-hsb.xpi 646889 BLAKE2B 2519be9e83cfb86f8cd335926f8e3c99ec9dcba8291ad247f86a0dba7d86d2a71fcc4adcec735195d57f6961290cdf9e766d724cdcb66a84e4ce0d99d90da027 SHA512 9c3432245bd916f09da1847f3c80291151bbdb4d38926411e672c04609d78c0dd79b625eb8650edd800ab31f0419de261c171709f7c7cc6df6d4ebdd6e82bcaa +DIST firefox-128.0.3-hu.xpi 649176 BLAKE2B 707fb79f74a5b46ca6de44e6d56112c2a49c34422ec95ce6d4f978bea904a2a3f017c88286be882b2c174e7e057b610753c030889c5c54c3ba28f7c42a810cc8 SHA512 ffd814aedc6e9aebca5c0209ea01d2de21b562734ff2264bf21b45d2c600d7c46d6ff65a6ac2aa250e7fd8e6b7272478af859569fb6a1afba7c893b1099b9cf1 +DIST firefox-128.0.3-hy-AM.xpi 651598 BLAKE2B 6e90a64ff88c240e253e06a3fde78fb4efa95883f7daec20982ff7402898e3ca1a3c6eea098a27ca6cd15dc84d066eea4f36784f205c95296bf2b8655d5cf167 SHA512 ee664c2a7a60782f7ea3e32b5e1439b9e4f5b37e8da28f6c05d43779e896e2dcc99505ee34c690b50ae478bee1a5f500c9049ae79fb4475c993c2a1afbb1f3cf +DIST firefox-128.0.3-ia.xpi 611216 BLAKE2B ff2ab5c4bc21204842145d7a459dc09f99209ad49989e94fd28c0f5b1b34389a2995af3f63dd639c436ebabdaf2cff99c6da94dd3b30f1c3fee385966dea64ae SHA512 b7adf46f3a17caeabef6b752f3ae09095bae922cc1646ebe06edfc0cca31c82357ae466ad97603d92e611a5f096ecd6d973cd2a38fbdd7f28d2ebd523a11c61c +DIST firefox-128.0.3-id.xpi 580206 BLAKE2B 75d9bd05b30b9d052657ad9d261d5999a60b7ee0fcd80d6e48b45f6019b6c834fc1ba12a32613ba2f255bde8f8165804135f7005e79940d83e44ad2ce87c9ae7 SHA512 43d18cb4d09145675ca816cca910feaa7af41a34cfbf35e42df2d9d3a9b862c5818fa8194ecdf184e4f2ea19e6ef0c553b0145bc19f6368e28ce3e3ec62f8cfe +DIST firefox-128.0.3-is.xpi 616485 BLAKE2B 94249d9d33c13d2d43b14032a1c60ef8d2ed59490e8249fa60787a2da489137c38a57a086fa857d215473669a7dbd022c50f73425b29f7ce6d47dd8d013663ce SHA512 3db273effce357e5bb4916c783b8129e10c976cdab39cf0e0c5b79b59742265ad8f3b477030500de914335ef3df167462d3d687f5bda27023f637e610adf2ca9 +DIST firefox-128.0.3-it.xpi 567318 BLAKE2B 759bc1e76eb91b0897554a8ec1756c5a34e5a78a91dd2239b89153b2d72b403c06a6f63a08af2ca875764bbbace1c319e36173f7bd76866cff0f14749e0a7658 SHA512 25c4765ed40c64ffc550910572e4d01ac39c3aec1d76b5b6527f6c2a48e8854b8e3182154b3a09c6c12ea4dee6389df9e3417ef8084ef96e9a1313a39b58ea53 +DIST firefox-128.0.3-ja.xpi 675632 BLAKE2B dac46fcb428768d09ea65fe3aaa73ceb6517a4f14dd2bae6f0ec0f9dbbc9ef2647f0ab9b63d8607c8931316e973a111e54bed6da825e6a790abec5b3497c8e2c SHA512 a409699efa9053660a123fdba9c78969b9771775621549c0ee562f8ee83008b0119e4bb25315325b4e456412569c57d3fba64289a9c614ed5b4de744f8ba50a0 +DIST firefox-128.0.3-ka.xpi 660713 BLAKE2B 1c81c2351081db0783938c6f0b8512847be4562e67763ea8663fe542ac25f3e48f99edc39547270a0d8282296dc400c65b8f16045795ffee80c085dde7c4b646 SHA512 68d45b09e7da2be9a835e75982617c1219bf9ffa4a3990ede1dcb7709d58959741ad78a258082639377f125cb5cb9cc10c619a3697bf367a3e8555f5a1b47d4d +DIST firefox-128.0.3-kab.xpi 608748 BLAKE2B 345bb1a7f7d2acc5563be97434be928eae6b113ff9ceb6645f834208354beae6f21ff82a6ca7adc0c8eff9fc75c0bd89e63f05b634deed0d8b1cb299fb4b23e8 SHA512 3f5637cd8013626ef3a0cef44f205f021a8eb1e7794e1a84a4afdd836698d72327fb94f4b2c572cc5da94c7f6a40cedff1d573c17a222732f1884f987d4077a5 +DIST firefox-128.0.3-kk.xpi 707825 BLAKE2B 2ce39e085bccdcd6a1399867bb42e0a74dd4bc2e1508a6f51e5c8ffe4b52901062ab1cac3645c1704569dc1177f58b457a84a6c1c98982fc00a34bcfed112f6f SHA512 f4337887809f5f02a7fc229996bc3a15fa77d79ef37463e396eb74c9fe4a56a9677e312ca61e6a80d3b29c7f0111f5b8d0916e59905858682b3dd77f9cb98fa5 +DIST firefox-128.0.3-km.xpi 525884 BLAKE2B 912b0436ba3b7b339673cdf7c81f79e441f0c442ad72cf9bb27fc553ff178dd4cbd7b519e481632b8295b13ad8bbdcddc82bbefbc3fbbb315c2f73eb6750465b SHA512 508fda7db4e760393936493133faf75dbc426fa14f0f13d5084a2d5fd7972eebf2f500eddd567f7eca215d9a638748e1145d7a3c824de15b3679935b412a8aad +DIST firefox-128.0.3-kn.xpi 491252 BLAKE2B 3e5c41b6ec15d880e1c8f32c96aaefa1fbcc015939765fdd6f15aeba7c01e94f2d52f5d4fdf4cc17ecd0abd22920a572354b3a12dbd78f7bb9e77ae9afcaf3e9 SHA512 c2e1f572ecb7e222d32e498c49421fe4f7837ad1acc4671822a7a54c0191fe9d6d356d8b2b49f607f2319d9bd6155ac6722a4446c95604fce4bff85bd03ef453 +DIST firefox-128.0.3-ko.xpi 661599 BLAKE2B 57d7bbfa64e2ba94edc7cf797d48516279ebabaa8e9699871edc428b83b9f7970c6210ff13dd5b8b2916403cf60c74eb9e357078b6c5e5027b982e16a46c05ba SHA512 39a3ac1e689d58a016793983659e164073943b850962a72e96f59ac4ba9300b3238aab77366c8497e4a0a1d57cc5936336940d0d123a9e2510c612655e1c03a4 +DIST firefox-128.0.3-lij.xpi 484092 BLAKE2B cb59f07aaa69341e117baa9985a5be36232101066d519e240cfc6e819520ef676ca9be09c1b9972182a73446d59bbd5c605171c0f62b9d29d3df2d3745d7b5a7 SHA512 a10a2c3e950245f7cfa5ac79d66ee58efb29988eab3f2bb2755ead5eab3287ded6291d3b3e23fc74cdc32f227e4f71eb0525cc46899caad771550ac6a4a60e7b +DIST firefox-128.0.3-lt.xpi 572684 BLAKE2B 3603ebfa2cd0ff6d451eaba407a832db725fe8e6e82af9e0465a6cd9249982d1ad6798c22fdc58ff3ec69b77b6aace97b76618b9bd7ddade2efb52d0a9f907ab SHA512 862131b2bca7a61b11872ff5caf0322b1cb61741ba3927bcbeaea352869a7929949dc93c0a9eeea05b92c0314cffab9a9588087ba04072474fe189e180bff937 +DIST firefox-128.0.3-lv.xpi 574392 BLAKE2B fe46033315e198e87469837608e674c8c0fff0a569e61e74a778870615821ad0446946cd6fe8e28be68c37292905444f31862cf01cc61a5fd7c15c09ecd05a20 SHA512 f10537c5997cb222dfa1e23819b2a12f94744748e6c4e7266e0f9cc8ccf56f0fc6011088e223f5bd1a8407451d832acf83bb339b9191223efe7042ca7857d38f +DIST firefox-128.0.3-mk.xpi 493840 BLAKE2B 87598e549efcbd16468d7971f741c0cba877f0cc4396d20d183e49243a685bc557a0ad851bfc5f6f4baf65b27fc7a00655c60192440af4f76dc1ffda5117f86f SHA512 b142a6890dc0a53baab76d667e777101ecdc07051a61247a10d8495c56a9966da9893e92a2f4e25a205395bddde12afc621b725a911ffc76cc3459f3252c97bb +DIST firefox-128.0.3-mr.xpi 532094 BLAKE2B a7fd734d1db3bf102560748af542e1b46f44d461af49d60f575dc5a227590eb7b4b8d0fa8699cb0ab02662e40ecdd3f082348dc7959ec7e780da1b3b10433b6f SHA512 2a89a64657ca0280f6ce854d678c23abbc0f162694a59676998987e7eb80ec7e990984d48e2cffc571f18c9d500e324c77c77e0ce3519c2043ad38d9fadf66d0 +DIST firefox-128.0.3-ms.xpi 449731 BLAKE2B 1fb71d1d685d717ff9422bd1ee20d705d81406924799a559defad2215e5d63cbc3da02f0716291db318de811ce47afddfb5d233350eeda7392c9d1de34f9e609 SHA512 58abfe466d93e551029754a31f91a2c2e6a8cdd453efe8e74f602b0a3fca27f80b3c35111d23f930a93d82548b46756cfa8ee1aaec8023aed27ace891e8d60c0 +DIST firefox-128.0.3-my.xpi 518622 BLAKE2B 2d090409ec509e341d5e17de3f792d087372fcd028d790b71939b8334b41f4de87a1c47380ea73a3205dfe166703524d0d49a02a3037db6c064ce326b18628cd SHA512 1c3252f76dbdd69de40b23df6645bfaf47970a4088ea48642f6354a87f02cda82d9b05e0413beff6192ef87c497c642d9901e8c836cce626380d0343fb9a066e +DIST firefox-128.0.3-nb-NO.xpi 607049 BLAKE2B bc56de8a276e2d76091239d735a96c4df9d0b1565ca250062288bd1cf751a4a67cac5a368aed6036d5b80a8c7a548904b09add5ca9758b075b10bbfd74ec374e SHA512 a7df37359438c835ccc40749aecae90576cbc3c647fbec7742fd7d510cc84f46a82db8c998098ba96394d8aba12bbb7fac393c3dd12d07e24252b526a854e969 +DIST firefox-128.0.3-ne-NP.xpi 510942 BLAKE2B 216913e673179e124b36413ad702d9ec7dda2284675b6257f234a5ae6417c98013b6c86f096cb91d1be5a1952b35122af1d1ec02caa2ae7a065a69bcc03dc3da SHA512 ee082c60f564dab5ef1e83a4e2feb26fc311567254e0b1a8caa74c5ad0179c4bb93ccd541ce05a657a85e04af2d2d13f7e250cfc77174db68f460c7af2b35158 +DIST firefox-128.0.3-nl.xpi 617411 BLAKE2B c89c8044d76a0662594709ad3cfe600c1c5abe7276bf8fd91db5a205d7cf15e24384fc294e50768ade1a5a73272b5ebbcfef2df7c2a7f304a4b43a6a4d02a328 SHA512 e883b264861e35a7fc5eaa0da2ac6aa51de858cb3d91a0a3beb1140a4db9bf6bef214362305906f5d9174441aa84728314031994503393d009900681fedac45b +DIST firefox-128.0.3-nn-NO.xpi 610252 BLAKE2B a3d2d7760c7b7d47d34964a0314d23c66a608252eef4f7409062955cbebcfc33ecb73cb85b71761ce72cd4a9770aaa8b229c6c43004eb98609286e7f76b8e472 SHA512 67fc048770d1957432156ce3fc9c97eb45d22e4fd7aed2f282f12e1d60185b6891ca0ffa21ed0f32a2763cd009e4df338581b2aee36e15258cf350818868c892 +DIST firefox-128.0.3-oc.xpi 612809 BLAKE2B 34c0873944523c5aae085ee2decffbe08837c2e81acd049ae9b7b36dfffc6863dcd2d0b89ebafebe3a181af31998c34c4a19782ce0b617158abce6c495ffdb6a SHA512 593b0b6834e7d94189bedc91d77d562e6838edfbeae7cfb4f8bdaf52694b1bd7b0f2ba927f927b27ac8a6489678831ca9298c3b0ec6c1a270379e9c9427dad32 +DIST firefox-128.0.3-pa-IN.xpi 692032 BLAKE2B 1bfc754b0d9007f76e3b901aa5393a2917aa0c3b750835df96cc47b9cf3c922c84bccff54e7a2b63b8f77a5eb10ef388268148c8a5fca2509972f047282b1060 SHA512 a8fc7434e7833312ecd263e4f5562bf6fbf5a3025e9575b278db97535ba76740bac2626739c3b58c0b00132d61fd5302621272114c74a60b3def1a3cb8537b90 +DIST firefox-128.0.3-pl.xpi 635776 BLAKE2B 1113d75c1948f7f18adbc2da3569d8c7319341cd49d157eba17992f3ed72b0644c7dba0b0f3b2c385fd6bf7980f23cd5c34c5388e97d6076b501c85d0cb3bc36 SHA512 5ac939b0081fa7c1415f52f85f89180a96abde40571df0a9a479876e346c4ab758af25e2334d3d9fa5a9c516382f1e8788f7c99409ce7bfacd14b3b67c1388dc +DIST firefox-128.0.3-pt-BR.xpi 622152 BLAKE2B 5992d51887d7989051bd60d0925a475899ffa8012d6b3f2421d9dfae092367a3a0ca505e9e6c601a275c482e7166d7f17dfda23c59d6538fe7941497290fc5b5 SHA512 fbab54fe96f778703ee9ccf5b5c160979171266225c72da30b7a52bb35c7b4274ac3284f72088212ea70da1630d645048231460f409b904ed4b3994e032bd875 +DIST firefox-128.0.3-pt-PT.xpi 626182 BLAKE2B 8b183aca56b82f58f3556427af3681c1c0dc2e3c1a76d67b1ebb6b5419947e5f08441e18302c207f698c7565d6cba045c25583be56c770a56de60a9715c07ea8 SHA512 98c8416be8020ee5d9240fd04ac653c772b9b98b0aa05f0300445c2dfa858e8c35c5eebe27ac89c3c220be58aac4593e6c3f7136d613e3cc98224cfefba43002 +DIST firefox-128.0.3-rm.xpi 616896 BLAKE2B 5429ec89787901f540d3db31d71664772c5748c297dd1765411bca8cc2d51e1b22a618e15528b11aa33fa93583ea13f0374fe1d54ac0bde896164ab78b37ff57 SHA512 f18b79781b9fa968ba73451654dec8b942fd501591d6106c5105dc679ec90fdaa93f29c976778aedf9579d4226a760099e18b28eec5a02c14e4b85ed887f65e7 +DIST firefox-128.0.3-ro.xpi 549799 BLAKE2B b40a49d70d64a1582b25c64526c826cb260de98e813babf59473133ff0419fc3a58c29bdcf1d565f744fba5168bb01883b8834ad689f31bf65da94ac47155ef3 SHA512 dc73cfde82074a805bb8e7d2c61e5c2de2dce28c5ed9334e5568ea21bfc5a766afd19a0eca576ce64c65d7aa85a34fe8f6099cc32b2c0afa48c62217b0297d69 +DIST firefox-128.0.3-ru.xpi 720402 BLAKE2B 0943c618aef992664787cc5ff017317642307cc14d21184ff5a3ec98e28417aac9c22c976f63a0b4468de4b6fd2e57afb6f998d7e6c1f019f4822ba7723f0f53 SHA512 4f4aee7c7f2a42a0c58f2e8cc6cfaef5a1cbd59332809aeff66735ea11ebcf79b74ee4943c39273d6ab188294e8fff8b7844752fea7848370d852300c958153d +DIST firefox-128.0.3-sc.xpi 588574 BLAKE2B 7d33c96b2c99418e75bd80a2f7cf1329001cf9d79c79cdc88874795ac17f3b5c242ef58cac4fd90eeddf090c403ef6812b93eadc640047965cb174751edc4fdf SHA512 e8cf30bc97022c809707ac95b9c15996496487a8a39f84c5b6dd8f00be82ca451ec9d96a779c087b980b19696a807daa672811df76092835b70de46c0cc980f1 +DIST firefox-128.0.3-sco.xpi 511285 BLAKE2B 75eab6a274672dfa625f2ac0a1756b9323f024b08780f3ea69c355c1fa85fbb6caed245bcc308620cefcbd04f1a781976d6af74f3ad3f913c45d0a1a5911ed24 SHA512 5f0dcb78644eee646d1bbe3edf86be60cec115cc6524b3700d03bae29998487ab69fe6e3fae6b4375f5c570e667265dd1c7a721182775ae1ea0fb6906fe9f5f5 +DIST firefox-128.0.3-si.xpi 611295 BLAKE2B 16802d279bf3632e518e3e46bac1d182cf1b1648e0e6c150e27e17959e92041e2bc377e94b990d66d71cd6a0b9e7104dd1eaeb00a6fd7e629e8d25277fab8131 SHA512 c85fecc2241629e49158fbdc4aa6312cb9c638984e9772756e65c591bd85b500345848d17f9cb74bde41d997facb40edc982de57f1799c3c48c39039be5005f6 +DIST firefox-128.0.3-sk.xpi 652438 BLAKE2B f368517d3fca5da608f7dd5930b71271abfbafa8204ca1bf471a34bacdc6b07c9fc657a93e7956a037a9db17448bb49f14b28afcb5695b5720db18b3a3279570 SHA512 26b2f72fa22ce32016b4d21a1720170d56f76e969d31b72c9ade58a66cb7390f57083aefc05f5862bbee62a445b05c78ddc510a07277dbb5ec77b9be3f2e35b0 +DIST firefox-128.0.3-skr.xpi 707656 BLAKE2B 2329f046dc880f0816f6e6d600d2e8d18cb59051f247d6591625f0ab0f4055929bc2af76256fd73d48b892eba681901895f1c021967d0a5fb8a4e72d67278d98 SHA512 74c8a291d1f0a18ed23a15921a2ccf398278288a224f399709907bbb16f1d3ddb99ca268a8917edc846ce01b415ddc54305d99a8c53f5cae8514478c86713296 +DIST firefox-128.0.3-sl.xpi 617396 BLAKE2B daad5f91bbb5e8bb89d0af35d8ec13161996c2679436a1beb5ad41fa67f8ab322d66c46c44b46e7e8600db5111cba116524b09fd658a4a2c3682a29e3b30a9e8 SHA512 e63ada63e8218ed4b2fd1c758d2ca8300504e6a5064b80f2b59d0a76fd17b2d11b43b2e5899bfb5bf7a0607971d35ee7b0af2f8d1c9a9486d2588e7cf2d116dd +DIST firefox-128.0.3-son.xpi 416404 BLAKE2B 86685fbe19f40bc7afc376d56635cc87c6224b4d00fc5ab7549bdf21ce7021e9daa60994458994511d131a6888c3a59101341102a4f6164335f0bf234a65f1b4 SHA512 56a350ad3b1ca0b9a5e95c8e0a3af70a7eae12d72a2f2a335d827784941904b94a45373f55a60cd5bd0bcba3fe3532650370d60996169b7ade1b0862fcdbaeb1 +DIST firefox-128.0.3-sq.xpi 636981 BLAKE2B ed38769559df3bff38eb30a26b3825438f7b54168d17d3537307eaa687e7c58ba5538a7e81ec2f289b3e1b7360ad0c7a019cd8a7d49b30c2732897052812c46c SHA512 f698b489aca4fc639d3721c2b06111854c7be97672900384e118a25b1273e122b303e607439ccc850946f6bbed0c8f4e801c6cbc48cf953a1f05d8062d7fb8df +DIST firefox-128.0.3-sr.xpi 639353 BLAKE2B 145dfeed9830d01d0a8ce35df69aed7f625284b626897d683fa9ba8c01921beb54d13e479036aeaadb3449af9fd8758cbb9b3764d17ffc2462d726c2679ce4de SHA512 c5f6f347315f789fdce11927a0b139f0a43cfb93289bea7794977f158e4147d5f47c67d5c8c0e3a87e055d92f5b466c9d164aad210bca4d18fe9efb062d156ab +DIST firefox-128.0.3-sv-SE.xpi 619123 BLAKE2B 4e192f20586e54061ae120326c759a565318d128ae0fcf1cd0104faf709042b0ae45184f940614cfc4c2bc8dbfa23b2298522a06c3f9e1c7812a0633bb1ecbe3 SHA512 b2595d15df36bbc4192c72d274fb1f8511e5098edb8eeaedd26df10059ab542dd5694d1d3bb429b6610badba5c5528059e015a07f41ceee30efca83f65e00cfa +DIST firefox-128.0.3-szl.xpi 526394 BLAKE2B 23b1acbad3a06051efa3b53b1ab43532774e741e2459e476b5f4bae1b66cc9e6d8fcabf708a2899470d6f94392f0f8bf6b41c1f9dcdbddcb0d6dcdeea2ec126e SHA512 898794f23ae188436d35ff05d5f4c7e817c7f7537c6056952d1a06abd15746628a2841d0933d00fc883cccf2e0268f104c271b873c138593f86373ebbb93bb61 +DIST firefox-128.0.3-ta.xpi 507521 BLAKE2B 21e1004fab9d36739a84dc2bed6b951d2b084af7479061eea23fe78805a76849baede4612bc5b4f18151614a434cf84f9cd34fb6806b0c38662517c27bebf1c1 SHA512 2a1fa7ebe9a2043a592e4601a6c300779e7770298d2c2df0a0113cf12bd044cf90c3fa7ffb8eac18260a1ad6b25bb2da66b0ea6a490310958193b25007591d7f +DIST firefox-128.0.3-te.xpi 561028 BLAKE2B cfd179c8db54f5c98cf3c1d9552d98e279ba8330b6610f64c9d1288b0fe33c39f876ec888d27e4465c233254433a55d3b0aad6510d9e115d8e3f6f63fc274ec6 SHA512 0e4d6cebbd33433eceee64eab8b40f1e36bb344e15e55328efe13177fb63fdc275bba266688cb45e8481ac5e713ff3e5317d4daf4ee313e411bf5b79bb0bf854 +DIST firefox-128.0.3-th.xpi 693562 BLAKE2B 0bbbe31a866de617c80c22ed199bcf09b93fd36c78aa0b4c7ee1317fb7aef4540947e8e6caa48a7d116b790eaa052bbd7b59ca642772e8ece308dc579393af6b SHA512 f8358f8d5011ae2bef783aa2171b42798eae4dde7f8ef62391769c12c392ebf367c3f9a2a222fde1aab22066e010de7e04ccbc1f660ead14067b2fc944d4808f +DIST firefox-128.0.3-tl.xpi 534190 BLAKE2B 40f1db1b12c292a5e26e97715f0f77a6eb5513f679c21bcf99406bbaba4dd533472138f13cc2be631a402a1e4e57ee932267a061b33d82ce96fd6d30400f2129 SHA512 3c44d168d8890390b698383564a8ef9750fbb6fd0caf344c4f3deb91249aa0093b891997657a99b62abb694ba097f305fd65abbbb600f69ac3e653ce5b37230a +DIST firefox-128.0.3-tr.xpi 632468 BLAKE2B 0e7c7151e9be548471d07a56b93925b0f7217ecbd7d3b2ed39d8052473644865bd42c53cdb796161672c2b84133dde6c8db70a942daf1a88077810ae0a38afbc SHA512 2b82e6ff9af985a59eb58da37655064e036211a7d1f1e7edad5c9fe5a898ff30d949bde31a151b0748867c9b6e9811a0f6089322f7f0898a90865d2df966a2b8 +DIST firefox-128.0.3-trs.xpi 503974 BLAKE2B 34a4cf3546aee4e4cbdb971eddb640909f45186ac6e8f0746d5cdf22c580fe75ad760866933f44ab8accd44973e3eb85cf2ce5326151efb8cfdfb7b1e92681bd SHA512 56d999fa864a8ae752e011b1aca21f68141890d8182af58d03485cc77f35cf257ff3e98b95f1fe4ec096b6ae641729209f04e8fa1f9d3c0b842d264dc0fb7a77 +DIST firefox-128.0.3-uk.xpi 707283 BLAKE2B f7864313a5bcb40f1bb2bffdc6daad3c82e87184a8e4d6d10a18a9d04da6769f402b1cec85cb6ddf8164ee312e8ad686c0aca5d07537d761d7d5153061ae6bbe SHA512 200a906734dab6adb054ec835b9cf378fd7edec2021a9979dc7ef910c179ab04434a7941c2b08929a9a7a238e423ba02b167e2673156da66c29f981088df1a32 +DIST firefox-128.0.3-ur.xpi 560478 BLAKE2B 0d85acde4aa9e0576aad590fc0c7d3799c73c6d89f9f1b8efaa8ff32f2c889f71382bec19c526c6ee2af0bb86ed9c518ee8dcb8c3b5ef4a65514080e73b1917b SHA512 0d30c97debe0bd3690b6938204ee5c079df0df3cac7ce5131bd316b62a048690a3511fe553b44bb6fe0871582c689940f40e5f6e9c1408d8ea739f48af7d4975 +DIST firefox-128.0.3-uz.xpi 478785 BLAKE2B 45b321b8143b10099a1246aa99f0f72dcf83c1d4846f7da1b0091a26bbe4ef563aeb51a7501795ca1f2e64d8b3e2dae4a83b6f121dca47989b6ff9d35da3a1eb SHA512 12ca3b256fce234c683d9294dc612dcb50c5d69d2ae98e01d9e5fa91987fcd13f4d08c6be103cd9c76e39f5776f2a8de02c122971e34fcfb0627f38502729bad +DIST firefox-128.0.3-vi.xpi 655581 BLAKE2B f9ef15bd809f99d525792ab9785dc15a892c6118c283f15d79357ed3687a94733e70272126c947e26f7007df74142c5aa3e3861c454c08292ce18c327d9350d5 SHA512 0d23d23da8cdcbe4005fabf53104d4502cf6bce0e13ea8c9acdab8f5e0dbb01a62e3987ff83fdc0f99a2c8c5b00c6fced52b44878440d5c4a100bef370598220 +DIST firefox-128.0.3-xh.xpi 417171 BLAKE2B 9e0f3da87a68da99ca52353ba8caccf0993ef27fd2661deaa78687eb6158e0a70c4ce2703390b9f0d9855a7449636dadc1e4cf8cb1fc146ed768eb65dc8d8d8c SHA512 82504106fb3908a4d8654addad204506a44529658f00cc9f4efdd9fa5bcaccf340642e1f5f5c36353173846eaa9b9c8483b4d59bd7d43c31c6d03c21a650ce54 +DIST firefox-128.0.3-zh-CN.xpi 657105 BLAKE2B 85d43be34cdff7ba76c8b9d7466678904b913593abaa4538221a805d59012cc9d4923750d41302057dc768b59a21ad8ea9af367af91c85924368821f303a7036 SHA512 8ff9a0c898c344182c1e0eca16b3adb47fea59c47a71ce5e1fa12ef02275e9204919eeec552641973704bc4e20b5f405bf6152192f4fce9d756c975b67bcb5e0 +DIST firefox-128.0.3-zh-TW.xpi 659225 BLAKE2B 5f7cfc5d21e1a98396259b46c28ca5531fc50e0fb0b78000915ccd7c97c1885aa53866248a9d8f0134f706bd5a920c63a11937dea304eb7b6c8b5dd00d9370fd SHA512 3afcf932e426fd3673f90fd1f8fb7f974f03d1821da6907768d50f755c5e59a0c80564ba7884a925d07ca2f53ee3980f11e802723c2a07dcc1c731aa650456bf +DIST firefox-128.0.3.source.tar.xz 563698520 BLAKE2B b717044fb0af090cca8adb03eddf9d1ba7b2e46c25d78de7aa36298d3b6466cf57b0a1c6c72ae369c5fc3484b9da9a79b902529350f3329b5f7254386dac9271 SHA512 52a0a1a6fa653f5a621a9e16e1937760c05a5ebc81a058ecc16b2c3d29d09d418dc5129deabed86ad2f82abdb3100969478a67f48b11616dc3b3e3698a1acf51 +DIST firefox-128.1.0esr-ach.xpi 464065 BLAKE2B 168762d0890e65d5ef0033a96d0b9b00f1b12df24a2f5debc56ff8010421cf2e2c561cc7d105853338244edcbcbf3a3a2a4f174568740f4b82d4dc11b164bcc1 SHA512 4f4818a789f7da04a71fc257317e9d2341ead3209c815e25326f13be1501aeacd7da77e86e4bbc2560d1b6952f91466ff1fc90efd16f02762c85ab06e461bac8 +DIST firefox-128.1.0esr-af.xpi 417524 BLAKE2B 81d764d8e9ee71c91d5876c2846929927af76ac51292598abc54926b0688eccb2d5e0e035cde820bec2d4d9b810a9f5aab1f11745e7573f398b8fa2e2d198933 SHA512 cff20507dd71d3076d44f98882f4dae05bc247f45d7c977baa8459b3bcfc1522d3791df2cc150892b838191b46656824e525f3d54f673f61b63013cc17906002 +DIST firefox-128.1.0esr-an.xpi 505891 BLAKE2B bd5a78cb39ee1d64ae5a97a87a97ab85e744797b3f5aa33e4202c0e6b8c2ad987f23ff93cacb707735fc790e8811955cd9b3b2afab0850545df5650283163799 SHA512 e60c790ce037165dbf3f437c59c5f75b5a6365fdde17a8cd6e6898be9f1ac3139c0db1613010dccd8d1488d53e7b4ce80586010d268ddc0d7b43f031c7492f5b +DIST firefox-128.1.0esr-ar.xpi 610859 BLAKE2B 6801ff21f3d89fb5681c83c6f732094699138ef8da82f57e35f7cdcf7d2ed1af8a269e7430800ea0cf3d14beee3220fa3ba10a377c9f674a0e42df084bbad85e SHA512 fbfdb0564bfcacad1e3bc42179f2c4c72f87e8a68ffd9dd7ce473516960b7410e523bcc20436510cf4c61fdfe4b921d1ac7d2397515b5a29153a45a91359afff +DIST firefox-128.1.0esr-ast.xpi 496343 BLAKE2B 9190ceefe857d5f37421f3c47f4af0416ba6d582722df2cc251c2ea93a41e80cda0d6ea8f0c8ec1dec65b96bfbbffba4ecbc3781e1805eee2e29313223349bd5 SHA512 1e2ae9f2745568722c14b3024be2feae19b5cf5f1091c249db20cba8ed8b8c2a692bf391cb485a05f8f0605375988fb022e041b37a08cc11ee8f13dde01ea97b +DIST firefox-128.1.0esr-az.xpi 490772 BLAKE2B 5d1c22a683d50204d5a616eb104516712669dcdc0be033b9022a6e3c3b64ededa01c01d8531988c6c07314babf60650f5d831c107153fc829c3aedb9ea7d4a94 SHA512 87c7875d5c86159b7a5ef993f5518bbc29f308f63512de394aef8749186a233dc77eb22de39c9c3f4b4cc2a01058f36ced37fdd8d1b7b9390fe49e13f4d49a7c +DIST firefox-128.1.0esr-be.xpi 714333 BLAKE2B f99bfe0fbe0ecc51ccb05c33cebf28f6c59819e6e6cb22cf4a0aca7f44ecf6dae3d0133dfcbabae234b5b1329cd956409affd60e2d4c30b5713d42e37822ffcb SHA512 fb234cf103b4a33e07db8df9feb577de5e775367a0c4391b75b33dea4b383d36b78d81e470ebd116b6c7829835a28322916ea027e54b63e5adf2dc42f7e2c12e +DIST firefox-128.1.0esr-bg.xpi 608726 BLAKE2B b4cf84e2c42db2b03bcbdbec5735d4c7cae57b9b46e25ac989ec81e4e93580d9ad35e18341f5c8650597d6a1168aeca6c111268a2cce9d9829a42399b6266c8d SHA512 f0d386d83273f15a6bd7ce1d397df99c33095fb647dbbe8c460adabaa63fef91f4f76c0c2c94a910148da0409a5587fde1e2d47184acad4686fd29300f531205 +DIST firefox-128.1.0esr-bn.xpi 581527 BLAKE2B 004da3ccb9148220c264610abf7a3999f810cd754cf7a88e98f103a62394dd92064fa240b5f0e45c9bec3b172998b632f4b77f90af773c8273880b9cd824afc2 SHA512 67f708305f0a5af13efcba5b63feb2873f30ee04fe4ed1889728b7fa248d7c54bd748882ed37f983f179d9a7a60ea0c0d2888b7a79e37ab083b49892523aa468 +DIST firefox-128.1.0esr-br.xpi 588931 BLAKE2B 6b3f93b744cf5727f5bdf2ec23a54a296c55c9c3fd8b3a39495f4811779e1d5f17d0320d273767a1e4418f5a9f81ecb7703c38c8d5fa72580b78b3dd3f68ab20 SHA512 eb90a1cdbf3fc0ca05e5ad4a2cc34ad2632b552ba60d9f875e957b1df02acd4266164e687e38bb5baced3ea5529fa2531274240a286c59b2b156d4233462aeb2 +DIST firefox-128.1.0esr-bs.xpi 501991 BLAKE2B ae0c29b7c8374d9edf23fc17a84dc38c7ab01489e63842d95267ff3845749918949adb15269fa8adee48b04c48d8fa8fd4678a0875227b17fadbceaf0184b3ef SHA512 4ea880709c17ded436da647db2661d1a760b0920bea7e450785d652fc7eed3ba306b122b4d6562037e12402c4c72dc3f6a7042d61ac4212987f890ea378b56e5 +DIST firefox-128.1.0esr-ca-valencia.xpi 546201 BLAKE2B 6be32d6c147768cf59748cda25424db00d65e8431ca915c539b6cd16ce8078fe5554ce1770e3d4d8d535ad84b9e5445d20908f10795efd04f9708b882c004f5e SHA512 c54d8975f8162bf176cb8fcb424e38f2a3f68195447053eb7da22957b832a2009e68c84d271f06983b026234b87db909c5a3008ba851a504d94d31428d8e33f0 +DIST firefox-128.1.0esr-ca.xpi 597099 BLAKE2B f8b2ad5b34a8a79c330af3be705d41959560a56d52b6a3a8439f184e1afe6462009ff20177f63a920a6c0f127b1c94362ff86d9fb2e121e4afd678d7aeb9a74a SHA512 46ce42b570e5549e4f17358dc1d77cebc1b511e952812041a17401e06c01ea0baf7f820a91598a19ba5f7633e63f2a1849979345c005e0135cbbe97239e8f0f7 +DIST firefox-128.1.0esr-cak.xpi 593081 BLAKE2B db0c26f5031b399d90e245525bb6a49a9c15b2931edd9f0d2c10139e66f64afa79f211a2f7ea32985fa2cad55dcdef090962c65aaf9215b14ea17ef0a5f31445 SHA512 677032ed8f304f6079f89fdd0ea405f61aa6f755042b7cd07aa47c90ffbdb0eebca1dbd335d3f9e0d776f4bbbdb0c62af69e46b105f3b61b6b102ea17776f5c9 +DIST firefox-128.1.0esr-cs.xpi 659606 BLAKE2B 4cc267b9f85f6f43ed7b32186a4bc858a9dfedda895748604dfbc0099fbba9acb79e1862c8e5d5bfcf264b20503b8bc0f0061fd41fd80343ca082ee0f8a9c014 SHA512 cc17892ce0dee036c2f1746b11cf9574ac777bd4f066c5fcdada3d41746c4c906dc6d638d6ea42600a14eeb14f0d61d34a4355d9651e013cfbeb36befb55685b +DIST firefox-128.1.0esr-cy.xpi 622910 BLAKE2B 1e22a51b1340309ddfe4de58b9c35d0bcf2b81b0d8d4b73662716d6a1425a84e142234190f4907e93c5a1a76392d6d83b7df51dd5cc19346d841ce820cf8f2e2 SHA512 8a968aa6257a297443d7a4e6c5fea8ca96d418a97a6d5907ef3886b9415ed4290aa753faeeeb3150be795b8b6ba374e2d6f632f3d72206bb922dee1d4177f025 +DIST firefox-128.1.0esr-da.xpi 610845 BLAKE2B 6a0db984ed3da34ca17a2cb7c55a4b9bbc18470774664f0d327254c7bf48f1a329c696053129ec1fbc310c0c062cd20273ce39adca8285ccfb9ce70f951ee906 SHA512 cf08dac95a48345aee7134bd2248002fbe4b89e5d0bf29b5ff550749a1c92bb5ed73adf79ef380aeebb6f958f8d34637d52227219b53ee9b76e94d489aeb8d5a +DIST firefox-128.1.0esr-de.xpi 632487 BLAKE2B efa678d9bec473ce3e1d047d35887073c0f3692d2a3954336c9c1ae8a9b696e26377a42fd566e392d0c9a9eb3f3c0cc2fdb91b296951c74cf5bdd3db1834cc81 SHA512 083d0a1f77f31facaef09b9254787f78a1fc0fb0160ca4620b3addf9bd91119bc22ab12b115e85b97ecaca6830901841ccabec936e4eaa4be4dfc6ff8daccf74 +DIST firefox-128.1.0esr-dsb.xpi 650897 BLAKE2B bdcbd25f85809e26674f44015d2d4397d5915533ba357db56be51a760a6fb2d5c0921f1e0ebd426c33d84539b350ca2a31ab829fc52477c3b8acf7aeb35c4503 SHA512 4578ab4122ee04f11e64ae5db01d8dda622240a67e108946ea1c257e758b92368f4fd1c7591356e65156f57a10e301c478abb5c10f36af435f528f5d11c3ea9a +DIST firefox-128.1.0esr-el.xpi 733066 BLAKE2B e5101c7b474f2e5b02dca8742f9294b2431f8c64c133089f9a1201873dc61e0e6b490d5262d7d6a0f6213e89bc4dd758b684669c5fb69a1583d3d8125d4bc175 SHA512 41097ea9ff228d929b52cfd9398f4afb8d7d9b575a66f0075aa8909774d9c41ff161eeb1cc7fedf2d026f5b42610041b9a895ab42f3f1b00acc5b4b83248a1f3 +DIST firefox-128.1.0esr-en-CA.xpi 584673 BLAKE2B 79a8d7d7b2b1e589bf394aa2f40e6be1ddab5bf0e7f2578e4c66dfb24c44dd32ee1caf93e41183e67086f9a94e91c9e4f87f65197576f8b3e93d5a6a42bc4be1 SHA512 853ae27b47cd3696a751d025a23c01630e786bf59043f3f34f374180047620d3a548b8eeacf9b0fd479888980d5923ab61cb19f447b3a6816f220ae2f3b94e6f +DIST firefox-128.1.0esr-en-GB.xpi 585478 BLAKE2B fb5dad5f68e9d01147dfe7effcdda827b9a0151d9ceaccb53dcffcafe1530313fe6b2bac8ba83d3943a497ca71700cd8c8187f65f55a3e0be9c02b28ae6aa406 SHA512 58f44393ee66bc156e61384c198f4cdc53b240bad1d403ce33e6160439775110b21477f40b6f5e7e05f05dc019ae7e712bfee610383be640ed4b60d1990ddc0e +DIST firefox-128.1.0esr-eo.xpi 613702 BLAKE2B 06525a747f9210bde080c8b8272d2b8856d328d5922ee2f078fd87c4f324064d873519743b8f5fc088dd06f189e92cae16c87c8459115ab9b576d47e018fc968 SHA512 2d7d5c2425b195d3a781dd4b20070c4e0fb3634c7bbfaab33e6bd5f95c68cef2f179d9dbd1bd43bfd7d871ecd70a06743a48223922fa8e6439e577829f22e81f +DIST firefox-128.1.0esr-es-AR.xpi 628268 BLAKE2B 02a4b05c6aa6169999b819ca34e536190211bf3af1be22797f9e162254c87399775315a859dab3725c193ada6a292547d1ab9c7dae1971c5527558ab593de4b7 SHA512 7663c980d37a61b94dacc4dc0387d1358bc65859755a311c1c8e320ede635501aa693d3c719c4105db2adbb3f3565aa07cdd1090e67372f7805312ccd9274bb6 +DIST firefox-128.1.0esr-es-CL.xpi 627530 BLAKE2B 90308be6b660a808e5d0376f8a516adc40d3771bd5c0cca2a6480557d17eac88db8f2f66c9af56640d8e71f1d420529ea61c05052eb1b2dc04abf743621c0224 SHA512 ef6e4c3a31f08fcb13b3e6734749bfd78e45b6fd018c05822673c4fa006ab3d33055de8940dbfb7ae2130151f118c0d3c925454b8c135895517519c776c900b1 +DIST firefox-128.1.0esr-es-ES.xpi 621080 BLAKE2B f89e0293f40f5f5372473ab3bb09229ecaf6a4bfe3efa4259845a81aee4b03f079721a763b0840387bc449812c0e5eaac53d472f1c29326cd05750044d9beed0 SHA512 8f10622a50c8ad9ed1e483d834c47963c11ee410e7d938022408aad35ad51f7109169e26eab2a7257de11f80d51a76fa714ba012efc0e1cf3502e82752fab7aa +DIST firefox-128.1.0esr-es-MX.xpi 604999 BLAKE2B 4ee47c95f2d72378d88ddc35e988c21351dcaeb4470a3d86f1afcfb0df0cf8ebcb68464f9012eb99c276f94f9af21a683c98c8e57fe2bfc0df69bb823ac8c848 SHA512 d3ff26a257d874149b9b39e5c18fca255041d84932be0343abc392a44b6f908a04c686a2df13e5f224770f0809df5a0ea0d647ff3eb20067fd78cd79f1439c43 +DIST firefox-128.1.0esr-et.xpi 539538 BLAKE2B 850cbbe2638d1bda63dc1d65d1ecd8ac887f2835a4c819360886eecfe9ae16e000d0b9cfdd04baca7b18087c0037c6ef107a3324d9920dca87b0773db403d860 SHA512 4b2f05aa41e45d08ddd7a9b418787d2d9c76ca917bbbb77749008f7b9c835b180c3c0ce487b8b5745f2ae90e55f5e388232220e83ae3f285a0fc2f8034dd0e27 +DIST firefox-128.1.0esr-eu.xpi 599314 BLAKE2B 6d7de6906db351d7dd1cbc6e6d37a5d7fc6aa63425cf06f055f16fe50caeae3e8412fd112a131892739334c5c4d7460d895a3e3e521ec0954e7f43a8d33c3d95 SHA512 12e49951e3364540f0d91b34dfe88e6c15b4de26b0dfa196fd35d416e2658d6f4d41e92fae7abf1c6090fc34a16dbaf45bce6762c605a89bc0199df67b498841 +DIST firefox-128.1.0esr-fa.xpi 590029 BLAKE2B 2f9d8e30867106aa51f4216ab9ed6abada49499189777875256d400bdda4e68562317dfa3d06eca0a26dffc6e292c8559a5246da9dc54ace0efb02d162ce8c7b SHA512 9936d795f615a2f33dbb2116bcdfec27562d7a1b823d260812213b621dee2c9a8056dd40c88f71e80781dc285bf3ba9bda3ef06cd28dcaf7611ef43e532fb548 +DIST firefox-128.1.0esr-ff.xpi 476066 BLAKE2B c3c3c790b0bb0dc2da3d3c88695e2a56899cd5e18f96f16382b63c2a96131c662a36381f7935ddc3175246c5374e285bbcb779833afe38d5899612f92b8d4255 SHA512 07fb222efc92ba2679c348ee3d7d6a7f321027e30d2761ae1be5db587c7b6412e99c4ba7a9308cae40e81030c2b9b8827491de59a384a0e0c4fc5388ea6870cc +DIST firefox-128.1.0esr-fi.xpi 606453 BLAKE2B 77b52d23bd78fb7df83ee135d6e7406f1387328266bd800b66218e2c0f0637b8322380233bd4cbd295da2b7ca83db5988e733289676476b35092752a737fe15a SHA512 f6021a592b1c183537297a945f63ea0a204d950503f879dd11045f45c6af33be98d66be4ae37cd9328e0efa4b12882669fe1c671dd8faef5163a2534b0e18c13 +DIST firefox-128.1.0esr-fr.xpi 640303 BLAKE2B edcb15670a4ec2466459cd12be22a5ee70b896e7dda5cd5f6eb7fc7d21e210a556cc1a6e9bc529e1d162b3005b376e0215acf2bd0312829c7292484d91daa899 SHA512 2b5420d91cd2a954b64ba5c243fd6a8ce96180c7d4afaccd1b7ac90a16cd6b3424bd60a1e2dd00457d4886f6d791c6b89c4db619d6e7bb618cfaa88343cd4429 +DIST firefox-128.1.0esr-fur.xpi 633983 BLAKE2B 2addfbf3c68084d837c0c67c566ac3e1fcce024e55c2ebfc8ea685464db16be7de95ed2f506af745a5d25ad74edbed400bdf15b75a227584e0f66865951edd5d SHA512 0dc1cba72fc1f13b89c4293777ca2b01b9552768bcd9a37a7d7789905f6c87266583e8c8ff768e456ae442fae698a1ce04d739b47bbdd9fd8fd4c91d8ba19251 +DIST firefox-128.1.0esr-fy-NL.xpi 623944 BLAKE2B ed13d4e14e0df8bee3e512c6c9a2254869d94d0fd182ba58f1652e0bb5a67c076af443f56138db8de04e9bf8cd84a0c48d8b20e6fd424c586c605c20f44d548f SHA512 a3eacc7dc8148d222612025a96bc120ca1b954800cf46d7076dc0c15fbd6441b0bef5cc723c2f58288492a58f96796b15ad9e1fe29fd4037d4f14c95204f9140 +DIST firefox-128.1.0esr-ga-IE.xpi 470994 BLAKE2B 288ca27695949c1a85fa2277348acce65f71171cb5c476c18e0e79eb723c3add9349d5e0215e200d034913c4ef6d4711f87eb72520a70ea048763b1ed8849330 SHA512 445b573b0702345ab4b5b89d5096e6493934693643ab60ec70179c001cf66058e4d9b376c79105c57e2bfa367a8fdca662d2ad58a7b70be9f1e28f7bec6cacf6 +DIST firefox-128.1.0esr-gd.xpi 596583 BLAKE2B 02cbf6b4c24c2d082783e1f7bcfa8fb04d887b83a84e779e1d12555a686453a123baf32c9469958075268c0ca6f636872c1be7451ad90d1ba2dee49d4a34a8aa SHA512 a5ecb1806810b70a866d69fbfa6fef5cf1a4575efa38c9b4b7d4b45f3609f47d1626e087c38e097335c1f4d827c0919148920757308ef588b221fb317047599e +DIST firefox-128.1.0esr-gl.xpi 604099 BLAKE2B c3d2606c8ba260a0dc4d7d2e7534495481d0759fee8bcc4e502ba04eccb7012edb90404e0028dfc39c14dd78acd7d31509c30e9307ebcc3e9d0150004940676f SHA512 211cbc67b492a43e7731cd593e851daae138b177484e9a0bf10f68b82f1b9dd5be4135c4c2973bf6c92bf800a8900dd025f0b58d2ec376a4e65d10918331cb13 +DIST firefox-128.1.0esr-gn.xpi 637429 BLAKE2B 01dd530e53691418a4c9cf5211154ca26d1d5454d8a744eea4481695bec84cdb03ae7667e2586b8a8dedf81872d87b6587ed998d811b89607aab809af44efd62 SHA512 3c48368e992bc94d2e89cc4edaaffb3af21ad6125109b2126971549e395a657c9e4947c46334e49014afee34519f58e3b13ce9d4a3ada632ab1d0358bb4dc866 +DIST firefox-128.1.0esr-gu-IN.xpi 527348 BLAKE2B 467e0e6fecbeefa58d0eea1158e60a604850e5dcf22f815081c3ba2cf9e04141570e995f1723aa4433e5ca0137606c723e5ac0e9a696879d00c200db81cc60d2 SHA512 c1dcf8d636bbfa939301206b88355ca7c407455ab839198defb678b9c888f0817dfaa44b4a29bd0c9bfa525575bdb298eb7b2520fa9afb723b7562c140d54435 +DIST firefox-128.1.0esr-he.xpi 631697 BLAKE2B 9a2867dac1365b6ba241c332f4f20ea9e9fa9eb216e86693f620885ca5cdd1254bda7bf5d6b668d91b515250f08b1c6a317c7040b389e747f6ae4e3373618118 SHA512 1e0cf300ad3bcbbb22718aae60ee82eea4f9c7dc1cf9541298a0082ffb6ee51680a37a42a8bad335bad18e0cb164b035f8fcd344a8ba89b0aba2f0049b6886af +DIST firefox-128.1.0esr-hi-IN.xpi 566769 BLAKE2B 249fad3b4fa1b0dd4a94d5d4e321328e3ce7ca2449bdd488ec0fc25b10dbd34bc451002141c7ba42bb9d8e67ea05e2e6a09c984749d0c6e20b1ad9be3c6c52cc SHA512 10ade4b914a49e5a48fdfb4db7a147cc1dee6baf7c0687f5bc847251007fb445bdc535f9b63b276a1b576df93522f8706b291ff7682723db8f44dbc8656a0cde +DIST firefox-128.1.0esr-hr.xpi 574802 BLAKE2B 734821b1fa52511d466a8a7e4161b6c5fe8eac2a8536197701061edfa99e6a0836c86643662338a856283f8b7a8b03fcf93c8bb378ec0c34b24c1dd98d024518 SHA512 f702c7a13b2c55b2e11cc4423487882555baf01953e9fb87951d1cbb07664b5c79fb1f9466de212a8b057e9d8c827f342928ce62daef568c61e047c6cf606bbd +DIST firefox-128.1.0esr-hsb.xpi 646976 BLAKE2B 635b8d268c0354037b9a833b16aa5d9327a66d6d951ce9bacbf4264dc6ad40d4b3751cf450e0ebdcd3c9f7a537aa94ad012dd41235dbc9cebe2550f541b7354d SHA512 39c7a35d6bcb02f1a9179f225b8d39c665c21d74ce9625381a74ac72d8139f0389e3593f980fa111407560eb67e5b4d27cca3c2d7cac0128d1cb310860da261f +DIST firefox-128.1.0esr-hu.xpi 649172 BLAKE2B 149d2977b98c797d58b32fc9abd29462a9206a9c5364a972687797ebb19d1b9fcb4834a4c89b46b4b664352b36c6af04d2194ca6a133c699ea7d89d24fe8c64f SHA512 6681b2c340e9cc27567439fe5b0cc304282696b6e2e016b38d51b19216a6ee3608c38a8b2c8775e32c466742bb9e9a0fe5ca0bc1f7ffe35bb0f4694cdad2e79d +DIST firefox-128.1.0esr-hy-AM.xpi 651607 BLAKE2B 7d6aa860750534eb7d001ef25369d6d5a3e75e0a876c60c63ca699b258861dd7e5ced891949d7f70c06b0ee56431adaf5fdbff664917c5faf2f44d52fb8e4a80 SHA512 46cfb3a9f128afc3c89e7667a7cc018c83ff2d70b2a6a00f6d0925b1855e192fbeb3bb17504c7cde6256d88a2478e05cf878776d9dde805cc54411f59fda2524 +DIST firefox-128.1.0esr-ia.xpi 611440 BLAKE2B db841d9a22f3992025df7ee1bd8f0442eed36cc16d4fee5719fcfcc497bf62f5da3f76ff77da6c7523f66114339acac71064fb503d5e230e9edd26dcfc102f06 SHA512 2b7996cb2d0fe2dbd688de2c15f2e98a4fce15b068a7c133e76d94c9ad6d253f07fdfb70f7644d80db7eba152352daec4c7e7f8e26cee47bfb448bf4bf636098 +DIST firefox-128.1.0esr-id.xpi 580222 BLAKE2B 11b2363866cf131a7bd6e44e26a26ef55859848189df1e2c1f0b5856c87baa7b786e1fed8d052252d29c5baaddd80fecac76b4ad91837bc6f942ce00580a3567 SHA512 1babb22c0a23284c2f9ae93edc049f0c681d45e33e426db8ce3645231c358e603a24bfb4e290bfa4c14096579f16274bff26cc62540d6846223257901dc53207 +DIST firefox-128.1.0esr-is.xpi 616485 BLAKE2B 8f73952b44599e08e870ab11d2a0627ed991493fc6b2a9199b61809ab69656e581d5d469dcca2afe3941c5cc2f28144209b0fa8fbcafb8e0aaf3c25f92768498 SHA512 286fa3fc94eb11127f9b9a0fac69725bb33f71baadf73920409de216211983819a221496b8e1b560167fdfb9265db6979f356265f18c91837eb7f501d3a6b73b +DIST firefox-128.1.0esr-it.xpi 567332 BLAKE2B 6d1b2d9e4d4bfe286f909fa8022698321d61fd004f547a95d37551b4e36be81adf3b2ee2682e57e6ce54451abc9dcdb65a8981a8cde9967c6ee074e0ab9841dd SHA512 728e55d35f6def17d54a40f3d59c55cde75519a6a5c6bc725a0dd058a8b8c745afb575e8c4d996c43d0edc75b6d07cfafd1fb5ad4e4d8e6b151596aaea4805f7 +DIST firefox-128.1.0esr-ja.xpi 675628 BLAKE2B c30635c5c1d5cfcbc47501099447adc511555f29608a4132bedb07966f86db0c7ab7a1abd7eee96b872ec216d5c26831e3c4fb592ac5af17a2771a7e3d067fc4 SHA512 1224e0d5a82ed668b9af81efc5d83e819cfad7df8bbe09306a1a5467fc4d6e6da0e23e135b97afd0f51d50f6133f0697f5fe302e40994a1b3fe4a2cf2cf497e3 +DIST firefox-128.1.0esr-ka.xpi 660720 BLAKE2B efb92f8e2b484706ee63f631238eec9d8126d2159a12c6c23cdc3e102a9fa437a665bf7241fab1e4807a084ecd46a181e89cc2e1c17d5ecc09ea5e6bad72d1df SHA512 1f55f7a9f5df663d1a3e515971fd2789c702923eea3ef80967d8f429ac5bd1687fb666b1123d036c0adcbab1bfcf3cd550f47c527cf28bfb14525e2bed8a1e75 +DIST firefox-128.1.0esr-kab.xpi 610552 BLAKE2B d0ac92a798f01632d97eedf1f17d67c6c51cf61bfc7e8c7908759442358929d3def78e1408bc194164460864dedd1fcdaf423034587d10d5c8fa179761738360 SHA512 7acfbc19a8d715cc13c21785e15b1918f96347e5666af5f2155275c4bfb2141bf050b0af8d58a9ebc216e9ebb251cfc951c6a2c0707e6c9dbe99c56705dc24d2 +DIST firefox-128.1.0esr-kk.xpi 708113 BLAKE2B 6dbff6c2b7d484f56df24c2011b30ea9ddd46a87ed575283a573bb544b40cf6f372056f9872b2ee33c62a24ca69b5c2fc389f9fd87fffd547daba4592f59598f SHA512 0f684acd76a81b5a6d96985af7b0f1bf683c32792786f289341af90b5d74d218321acb66d9e5d77641b3031e75250c8122db2c5a03bc9cbe0f112b9626a1d924 +DIST firefox-128.1.0esr-km.xpi 525882 BLAKE2B 22a443dc9a845484e18f3424be90d6f3100763f2c955a3715de53f747c69fb5b3887b792edc451977fbdb1247a0e8c8d17275b3ef2cd01dc2d7439e65252ef3b SHA512 b9d831c5a3741cfd34fa615b4ceda33c7c574cb824865cbc059bf137aab9d4770a38240a5659c9a4e72636f8392bf813d03e19fa3a900d48589cf3bf47ec1e9e +DIST firefox-128.1.0esr-kn.xpi 491242 BLAKE2B dcc7c212e0d22d8f96ede921cb667265668dc1b409b5904286c8061dea99b2a37c61850fc36c65140844c7967759a4bce364e0baad33d47ad49f255ca9965655 SHA512 3e98ab5bb0909d46cfdcb213cfc902688697f469c0779d1da261662b97ca4f49988e7d5266bf7bdc3940f7dd7b93bfaca95950c9fc7887905f774359414edb47 +DIST firefox-128.1.0esr-ko.xpi 661842 BLAKE2B b2672b38cda2a3d60b42ff948fb3d7c891aa61c2b2b1977d8b6d77b637312bd253c19614bf534b4e9195374257cb97bde9e5d87c4f504028015795b14449cdf8 SHA512 8844dc3190c39d647a381984c433fe709d9035d5ce22b3543f43717a8c9decfab19a243495a94aec6d3299089b78c3a2d3b2551e8716cbfd9957c58251bc71b9 +DIST firefox-128.1.0esr-lij.xpi 484103 BLAKE2B 657b96a6269b8d1edba8b4c6a8b82c29911702c2a71e99366b644e3b40b403cc7a948e030bd787196cc75d10905ef70b501db8543ce245955e6ebdc9676e5434 SHA512 bd2e2e1a4cc1df9cfb73a3f3b5f197c6c8901e2a0057914fb5e25055a881a728fd5ab80ffcb1d0d6142c23dc37088af20e2687acaf6730c96f1b2488f535767a +DIST firefox-128.1.0esr-lt.xpi 572686 BLAKE2B da2b7e98c35c3d6ffdad8a90e99730dd5268e63fb8a20445bccf142f2739ec18cde78efa94ab63c48097ae3a102714ec9f4b833d89a80b9780b3fe3566e9c073 SHA512 29f45789def945db487b0743f590ca5c05098641bb538d5c6d97b1281e24c156c83b4809cd84d17fad736631bdc9b219f92aa6f0c014b68d36e59de2b5c8a127 +DIST firefox-128.1.0esr-lv.xpi 574397 BLAKE2B 359f08fc4e980b92ffb2046d7de5361322441d003f6bf45e27aac372443e64b4c462a5ca32dcd22662d519af39611d523cbbc8e791db4c2549ec0e449d2292a4 SHA512 1c83d9a09f2c74101227ebf3ab916ac9f76b835af668b3de2f7644f275e9af444369f4bea57aed3b7783696966b58217eeab28a9a862f458df64996b896e3e5c +DIST firefox-128.1.0esr-mk.xpi 493845 BLAKE2B 5f49b777dd1e22402d9f1c56c3dee0d6cb135c64a48fed0b4c28dfccc39c3a209952248d32bd49977483f5d2f9a610f72fd5c0e18d17f4d9a65ac7d939fe8f9d SHA512 a1221fd6ede7fc95a76c21cae01ac591739d216be0c3c8c5f12c561842ec03172fd383e47406657afd6f8dad4201478a14eb0c21ccb78550107e17e0fcf2413e +DIST firefox-128.1.0esr-mr.xpi 532106 BLAKE2B da3ae38392a77a1dc292f2b9ef6c46f03c82cdc7aa9b7d8ae4c9c37dedbfd6c6107d0a83de1b3f05e9eaaba607811dc26bfdae27d723d6d97c4437aba8e3c52f SHA512 b5bd091c7c5451218b81b6ec303e0201f731751d03071e06efcd55dbac610d5b7daabba6796077f579ce85397a463c15ecaa13365320e136065450b89424fc6b +DIST firefox-128.1.0esr-ms.xpi 449720 BLAKE2B 6d88519c71788646c74bcdd40bb88cfb29f0807657ee4eba4f637b435b13a17b22ca5d5f32720fb4f0f1efd0b6b74512f1bfa7fbca8afc4e04cdb45f8b2fefa1 SHA512 b5387152e4d588ac72ae56675b0af6d8bee31144b080b2d7b5a1b64f2cfbc645c1e9bc6ca3d4345b2703bc73473f40159a8888b78b9d3210d6a7136f312aebea +DIST firefox-128.1.0esr-my.xpi 518627 BLAKE2B 815173166c3c9b67c133150d5ecfe74c4642f3c35872e2f079bad2a775d2b7f7990d2fcc510f9c622c7f49730500e76988f3c1286c089e72dce2946bcedfb296 SHA512 9feb6ab4beefba65629f7a5ca39b244e189c9df9cd4f8577b9dd50a292825e1b4940619b3e2947df04d00d2a471ab98d0b70b00e51f871b8a6d38cb795360379 +DIST firefox-128.1.0esr-nb-NO.xpi 607044 BLAKE2B dd1dc4b96543879f3c79c410e7ddf78e5715f7a2d7e6200a06680e00b76e5777b4da44c56db03a087c3ba12923c96529885b1c64652d32865c82fef68d94374e SHA512 929e3fa9bfbb17080fa04bc58439287a84165e80b109771af333e8477c5967bd32236480cbe662ad9538ce39ea2a85947d6034dcfcab8300dfdf61b664a49f5f +DIST firefox-128.1.0esr-ne-NP.xpi 510947 BLAKE2B 56116200d154f08abd60d42f14cca9aa6932c9fa25af496137f07256e6e07d3a408eecac74a545246e1740a0f3f7ace7508e281d42a1f4adf1a92417553eed1e SHA512 4e8e5bcd9cd7939a89c7dad9247b49f0b7390b69568b5f2b1f839706ecc659df2b5a8ad1f02126daa5335ea4416735ed64c5a3f524cc29d599c1088f32d4e917 +DIST firefox-128.1.0esr-nl.xpi 617626 BLAKE2B 646f43ae271e496b6edeb54813223e33c7c7d5859196016dec37f2b56b3a5378065ed6c4a425d9fc581be03b815e152f81774e6ad8ce0a9d36e3bced836a2f4e SHA512 5d5f4ca4c65d6dbe85d86ca361e36acdf930854e4eb2a064b1dad5de9abd173876d1d0fec80adce51ff701adfc0d90f595d81b3dac87b7e4a9644f8f47b9dcbd +DIST firefox-128.1.0esr-nn-NO.xpi 610286 BLAKE2B 1d16f6951b6d00d95f6f81d2f3251ffae3b4c81e7eb5d6868bf07258e7b05ebef5ee8e0ddbe8050ae3350c02b05ea302b2031e0a5b3bea58b8407675ad294e67 SHA512 d6788c373d312a5fedc0cf1007cebb53d94533632fdb33b9383116598d4801ddeedfbc44694da2ce7546a1252e5b3e859771af271a23b88851f50b6fd54b73c8 +DIST firefox-128.1.0esr-oc.xpi 612826 BLAKE2B e29e419883c8a69c341c7906720d1d2df59f5478b3d2e3eb91f20917d6f3aca5cc29ac8a8766d578353190cd84d099d1b7ebd4b581a4bb08f5ff83694b01a046 SHA512 cf417de30f8729f082582694636c9882547713ed4c603129806092c887e99d465ad09fc14ec3db59209e982ca8b07ce19d69bc429da824f7cad58c53f3392c17 +DIST firefox-128.1.0esr-pa-IN.xpi 692038 BLAKE2B 06988ea7b07a5cb8375a1b2785fa1dbbd8ca9a252ef88df092f04e01c7959e5870e49a7bece3c40d93ad6c2a65349f007889645128d24acf5842c13938e0c10d SHA512 efbc9ef088913b0e03fff86aaa3517fd8d2ec932e5fedc30baeb752fac9e658b0f30afc1ea1742782d34909e894f2a7cc17b0928596eb7177226db64aec78481 +DIST firefox-128.1.0esr-pl.xpi 635786 BLAKE2B a6607475474d312c4ee7a54ae6cad1f0bb4a29afd63bd45be8a49334d2560da8e56758e9a9b774bcb30539629259f1a5726c5d481dfc10bda1a9c2157b86e66c SHA512 1772f9d1c6d92557e896ce4e97f8fefe0c35944807056452f39186a5fcf185a51df2b1f8939fa1e24b9a3d5843b5be2c141ce365d1a7d8ec1d6219eb34b17749 +DIST firefox-128.1.0esr-pt-BR.xpi 622163 BLAKE2B cb3a7ee3ce54be547899b370cbb36ea8fbd15e97eaeb439b17b434316ed6b67ba9ba5cb576b11f9823982d9885bbd11f2366f9792e6f6bdf75b3752cf3d9f8ce SHA512 56d617515582cbd3ede67e7a316c56d1f324255b7739270c3715dcfa286e3b519c182c8192447fb6efde50304b4cb19d74650fa293b10ee6ec228ea859205df0 +DIST firefox-128.1.0esr-pt-PT.xpi 626185 BLAKE2B 9160ad68f2d46d7ae0b68656153b0b639991694fddd00ac11c86d5965a3242920be0c05cce162022bd2fcd72e973b47ffec9c49c925bf319a156160c2453e058 SHA512 9e22154d175cc6a02ef2a99bf8aa465bcb692158251ea85f7d400efe817db1ec1f8fcd96a4f393d8103a6ea03613bd67d4bccbb63b4a3d2e14fc00e8d204c8a4 +DIST firefox-128.1.0esr-rm.xpi 617923 BLAKE2B c9f1bc265baaaba70996681eecfc78073ba99e50f6b34105a70cb9a85689c708b9e8e2fb87287b74837954eefa54223acff2ee2b202f906ac3af1cb8bc9bd1f3 SHA512 a819c18c10deb5c1a0c315820b0d16154eb8a382b1c7b69bdb1e815b3da25a78e23e125ba07a821fd875a6b9a06138625186c8dd5b7bebcf544b61cf865bbb56 +DIST firefox-128.1.0esr-ro.xpi 549787 BLAKE2B e5b419eb3f37b2b53032857ad1186f34b0e602a84eba46b63ea1ff244032accb634935e492ef5444cae35b66c8311d6545808572701bffd313f1f164bd22d55d SHA512 8d05d60f250a7a9584724d4ac4f5f3b78192674e80adb1a30aab0a3791f973ec8d7582ebde8305575e02e3763b85ccf1f24dfc8dc83cb4379eae43ab099d5316 +DIST firefox-128.1.0esr-ru.xpi 720695 BLAKE2B ee2c5f0bc3fd0cd0f1248606917aede08aacb61c67a36230256b22f3002f5754c8f7a73b54e5a1f051bb02057f59c34271cf92d6f9516ab91e177e8256e2a02c SHA512 b8c259321b46480c25d1157dd7558e06606a4bfafbebd4b6b58c3d58c37e728444adf82a6034141c545fbec9d355550f1de192e2f06b042af7a79570dbbff2b2 +DIST firefox-128.1.0esr-sc.xpi 588590 BLAKE2B abe7197fd951673d9102a0893679b4c5b374a86ecb00fadb629d88f364d392739f88457ba90e0411b446248d90e5ae827bf71747d6f7ce9e2ebb2fc167f345f5 SHA512 ebd3e74988ae73df6758516dacc77ac5c62086970d89142eba34c95de0663169faf759cc9e8555cb55df4855b849e59bd44e0d7c9f5897d2e658c3c25124c41b +DIST firefox-128.1.0esr-sco.xpi 511277 BLAKE2B 1c041199a101ff1934001288fd0d9ce08776a186ec6e43946e1be32c9c8736cb2d14716902a192e8f08e9baff96cf0b696af98d5bb35df99c3bd71002c46e4e6 SHA512 a402ebd4a27a66f611c083c51b7b3ad8bdc1affa357696c993017dc7e7e182dbb55fee63583b36561e8ba58cd719613760e10a5edabc0f721e4b025a538c5c5f +DIST firefox-128.1.0esr-si.xpi 611298 BLAKE2B 301cbc928083baa24ca3e86775c3d88f90cc7dc064cec21d74edea7609d5d196286decef9fd222d1c08599d8cb370f801df3c576d3ab1394da32df08f355a7e2 SHA512 8a632c3055933fc4e2f675232a630950c2dd65da8b220801cfd32a4b09d9958fa675527889b33ca57f8180271d88781a620dd0078ba8eb9da46033bbf1d46f98 +DIST firefox-128.1.0esr-sk.xpi 652701 BLAKE2B 97ce1fcc3b0b764991313e2957f0bc8aa95339f6e1af914c269ab8c444f97294241c6fd3550269592d771bdddacd2f3451961c51813f6c49eb3772ff5dee44db SHA512 46756945be6e91cc398e95b7ea1b01d8ec705d5b805e6ea12000ef27a868eba2c0c651a246b78015f5d841ccd8fe204bc87f528dd10aa22981c24d9f05b2480e +DIST firefox-128.1.0esr-skr.xpi 707654 BLAKE2B eabb062b4e94281fe09c0d0ef182ab5a5f75cdbd8845a3e1edbfaf8bce289d5a01bfd7e8446723a56af0b2f86fb807acc6cbc1c9f3510574ed34205112acdd0f SHA512 8dd06948063d8bd789c89a9a2dff75d4e149100c939fe08f357633e170ea7f62d196aada054a8a9760a054466f8379225e6fb0f4a6362c2725508f5390b17326 +DIST firefox-128.1.0esr-sl.xpi 617916 BLAKE2B 44d4681b884ef0bcbfefe787ec270469844f5b4b0165076395370fdadac4ea3e784efd8592dbff959b654a09745bb44a8154a1feb2b3d3bb973bdc7c43bb6100 SHA512 9728f40be5507e0b04e59069e041e82b38151eded17446f6098f39be846dbee290aabfd4142207bd90f782fdc0de204cc3df2661e65f45dd2776a6121e6dd9d6 +DIST firefox-128.1.0esr-son.xpi 416392 BLAKE2B c1f637cb47a299b69a1925d398ec5f7792ae6923a444af70898b77dd8b85975fb7255b426bd7e3cc94acfc1a1c53f49df0316daab415553d33ac274db9447895 SHA512 c903ac44596f0bd3bc781af42efb23848fc7dae620770cf3134b71b71153b02b79c6bcda264aa58619173fbeabba75537f8b255f42af14adc1a1ea123d69c2c2 +DIST firefox-128.1.0esr-sq.xpi 636978 BLAKE2B 9d83ca5361eca1334e192fb26fd95f74b836c33bf8abe0e534a7873cdd08df77dd0a0da124de2b28a7afa2590b0db5b17e0fa68c8f6e0a30e940945b586072c3 SHA512 dda78212084536989dcaefceefc8fa9f048d9c8b4cc6886c5498091be35d3534e39a71d83aaf6a5dfb56c9b29846d8f12c853b088acd3787babee781262dba20 +DIST firefox-128.1.0esr-sr.xpi 639362 BLAKE2B 0e3d2ce65f20f914a2af4ec918bd7424584268e0f128de48d5e0694c8f52610843768c0c310f930f1e724e0f5f9b7304491cc3692146327cea828621ba3f2136 SHA512 a760b2f74d3ba7360befa385d91dcc3008d9831afed5a47f0934a4ce51af46e1322d2af68fe8d67a3a9be748ebdf8b7b6b63e8d95d5a7eb61a9d72fbe6169948 +DIST firefox-128.1.0esr-sv-SE.xpi 619365 BLAKE2B e03b747786895b0e2789c9267173fd93052361d12ac930a7f821988451342f3c8b7b9c15556f88f2ca30bbe246eecbabac074ff0fdf58d7dbdbbe03b5ca2e5d1 SHA512 d12b6aff91e92ea3129a3da68d849fd4f285a7445a658829c71c1f9fb84c7875389b24635a8ddd6f1d103006ea3d62d6a8139d4ab3b7f7eb872f715a5672f176 +DIST firefox-128.1.0esr-szl.xpi 526394 BLAKE2B 3268392c6132d0ba0cae5454f3c4aab02fbf67c15a5dd6af85e3fd5554087fc36a924fa3c087b1f80835dce971f48757a5416a63a30d87957060927773d8c089 SHA512 dbc7c096bef5bf91b6730a873e471b9f9846781ee66e4f7a1b2381e771e4a70e5f7ee6e7fdfcc8d2fb6b5f3c775e9d1d2e8c79cb55bb54c10a3031c185daa58a +DIST firefox-128.1.0esr-ta.xpi 507523 BLAKE2B 1d0e002c39e4eefddc84ce5f23d76a02ebd796d3bc5eb7fc380092ec39e1533649d18e624618d43c02b68781c89cb5be8640c6270b4fb3c383a84bd7fac04372 SHA512 26bca1a6312fddffe2543e8a66184d5cb8ec9cc916e4d79ae12e67209a97afa194600a9cc65fe4adbafc1521ef42112c1ceb3c0ea72daaf072f5f1a936570a8f +DIST firefox-128.1.0esr-te.xpi 561038 BLAKE2B d7278ec6a962f183b069fb368535e075f89ca3e076d1e7bd854ff91c9cf1b8271b011ef36f7c1362bc71df2932743363e283f1e812302c4337229874bae90283 SHA512 bd15d31573eb0744296d6cefe29ea941e6882d30dbbb742ee89dda976ae3df89544b548a1019dca106bfb20f3d886426d7cfcbc47df4093c59d86e6641cfb54b +DIST firefox-128.1.0esr-th.xpi 694370 BLAKE2B d6a19282fd71fdfb17d66b28aca429e34db0490bbd84bd257b9e5deda195e419d498f214e818055cf525c9cba43456c6c64bf12e38f4d6c1caee3ec29d5fbf94 SHA512 e5fe1ebe84b7cf52aef17ee0b8a7fcdaa9d014d393fa8ea0c4133fe846a07712dd0bc9e2be19705e9c1ba2cc063f992957c86896bceeb686d8e2d2f2c324251f +DIST firefox-128.1.0esr-tl.xpi 534193 BLAKE2B fe4152452e688d996da36e21d8fb3c06259d78ea417935683ee853b4fd60101c9be42827b408d2e9f9e4c21a7b8ad39ed8c9c44b8baf08d30b84297ff3151207 SHA512 bd755c3412458cf6eb978e1d37a35fd749f6f010c385f1477e5240dd25163b8d013fb83545bc5ef6752687d17ab19ec2fca55ad6b0fc730bd5e7447c07bfbc3d +DIST firefox-128.1.0esr-tr.xpi 632685 BLAKE2B a974f4c8b64f48285be1444fac0450a6a1dea1470892a5e61e7ff32af01a9bf8a0d6fbe353eed58c0603c77a0e47e04d8f54a27236062c31b22e7d45db476d8b SHA512 410b40be588c1308fda41464fa68443d39888f070df2f7904925a8f77d603f412259c82cc3e7bc8f1587cc0bfac87146e3f3e593aca6c86b11fe37e7b46fa376 +DIST firefox-128.1.0esr-trs.xpi 503987 BLAKE2B a3de7338321223ebe9ab1185bc9d58792a71cbbdbd95099970d0be807e9dfa4100646ee2d6b0050102a4790c0621b8d6abf97752dda48077124c778d9e4f3f24 SHA512 c5854965443b9b0cb617065bff81a9732e4dbf3a1a38fecb68cf507ccc18e7cb1d6affa3b10f200923fa8352d629c732069cf35f1c602c59dd134bfabb1d88a6 +DIST firefox-128.1.0esr-uk.xpi 707283 BLAKE2B 34f0ec486ddf590de71ba5f579a7e83c7bf89aa0db1e1a55ac6545b6e5a44c03acbd715b183d52f5a0323654f0fa69588b7a3cfe82a9692145b5d10827dd9fb0 SHA512 9d6ac889307cfaa04d3a4188c43c699706986b2a402b3c607d7e5752e890645ed43e909af70ac54bdcd7d47385bf6d49e0ef864342cbb31505a5cbe1441fcbdb +DIST firefox-128.1.0esr-ur.xpi 560482 BLAKE2B a7f81932d9cf660253c5ddc5e229538f5365afcb9b44be6967eec83ba6bfcbc84c28e830ccca6866506bcfb4f35c5627dfa661c83dd4f709edc32bee3133dc6d SHA512 66da85e8684a4f36f0cf8c0670cf0429859a827b6adfd627b4712d110e5a40888f3cfd41e3300be52a5d21bc976e92ac331a7a61f9ae4148fbcd160d3c5c7602 +DIST firefox-128.1.0esr-uz.xpi 478781 BLAKE2B 4763c191cf0497981af8279f3c8a39dbf9fdcf56b7d883ae1d794147e8734009f247880768a19fcb2138e48e9b5e5a692157da0052d70f87c65b69348199e9a0 SHA512 34d64c137f03e0ae1fa9820d7ea3b4ec79064ee2d7faa752aa94652aa4131213cb7cd1e3c8e75d364e6e63dda52926a96be5749db40111e6fd8dade696ca1d0e +DIST firefox-128.1.0esr-vi.xpi 655578 BLAKE2B f4a1afb49af9170608bd106c6655a415dd6c5e167a45db2c42031d9f55544fe04e0137f49ce478d0007eafc07da003875187b9c887f32315f108c7f332258fca SHA512 75ac1b7be4ae1971f8ecd09a0d96da7150528a1880d3264d1f4dc10ad89ca5986dd9d774a551c3b4cea554bb0508f03f8bf231750f9db1ebd601dc29008cf368 +DIST firefox-128.1.0esr-xh.xpi 417178 BLAKE2B db647fc6764380635d796baaf6084094f15e877c0e798de889c2fd16bf71b318963dfc6d9c2a6f1a678a241970bc49e85ea524c7706c86adc2735ba47cd1fa9f SHA512 0ea3a9f7c35ee95645a973c68bbd61c871ae378141a10dd6b4826efccfaf332377bfae4d6f14840787e2e06ef80864a3010755cc56d9d05f46e9bc9539ad4542 +DIST firefox-128.1.0esr-zh-CN.xpi 657339 BLAKE2B 37acc3369de9339eb10a39211526bc8cbf82f3962b0415cdf96b9933fa88fd5359361fa6c0a32545cf31cbd86d590efe9814b67d835f486e2a39387c00bc6e04 SHA512 524d90cabcf3ec2f882670db7571156c61b19302371c3c17703fcf3abd6758aea898b6231c51a50b3db6607855a6d79677054a9b19cfaa522bde9211b9ae30a4 +DIST firefox-128.1.0esr-zh-TW.xpi 659474 BLAKE2B 98d0e9d960a32692cd34e4ac99ec5494e74b0b55d45a2f36cd4f722ac8ea2c9074c733ef2b04a0bba60e9622c26a14bd38d8eecf8a810f0819a5c85615023ef6 SHA512 1a431fd2d01a78fb761c812bdff06361c2c5f59fbda12656a38622346cd9370e6748b61cc98ab38a3d31d9824aa9f2da4e90a0cb6d0533e40136aec7ac8f1469 +DIST firefox-128.1.0esr.source.tar.xz 561953208 BLAKE2B 6d22bb17ad22d5e29008fd98f6b90bc6869f71c03b09e5b24a6a8a8304f303b316131aeee5d3e5f175a9194074d586a507ae121b9397aa371839dbdb1349f2bd SHA512 8055a7f83acf0cab6124ba5809aff1c082e81a0d30ff318ec719f8fd3f4af9aa60e2094c1abd6c981193d751075a9569370176e20e50f3c1959fe27a15511388 +DIST firefox-128esr-patches-01.tar.xz 19380 BLAKE2B cb3ed0eeaa1ddc1df936815c594eb3b7beab20b3560b52a63436b74a191a0e6e8c05c4d65084ae00dcb30ffde1907ad8194211717a50fe55e8e23ab306d8ce9c SHA512 17c723e120f3057de276863d367d25111578cbc5a333718f230ac3bccac178361ebd795f67b522aca199e17b8ed298d070020884ce6b5b4a0b89a60370166570 +DIST firefox-129.0-ach.xpi 466194 BLAKE2B a18d754a9b5dd64747edf34033d31a648d83080b3075b206642c4d51b7a1eec3bbf8827582d4b9d92231516b884c83996fe2168788fb34eddf7ac4238dba8c77 SHA512 c0701e51be0d88c6b8c9593270a2057d65113749f0a8125ed615b4f7377c7551969c094354956f8f760b2af4c69f920770efe8f42a7d0413c427a629a0837ed9 +DIST firefox-129.0-af.xpi 419668 BLAKE2B 4b2df5012e61401763be93e75a1ddfc05c335f4ea21784f97a89a589e45487fe4960d390953302b9786554233f1ff7447ba0bc3baaba8ffcc2d99015659c59aa SHA512 2fa47594c109db5eaf862a902b0fde512cd8b3c85f17b7655ee7967c0eb3a2ede658c708e840888f04135c0b7f3391f5ad1db041e2eb67b8387e441f0171e5b0 +DIST firefox-129.0-an.xpi 508149 BLAKE2B 8d6c6e29164caca9c8168a5c0bee6e0a55b265a2cc56c00d5597869da363f84ce140a1866522c8d1ab60ff716162a557ffba06e4c56adccb3443d41e98705d9b SHA512 47342df2c72b6fc46bffab217b33df8375cadfa92fde2fa3764499f4d9e7c5301a6124740c11963b0a7db0622b3ac6a65ce57ff101882feda45a40e65a9cae3d +DIST firefox-129.0-ar.xpi 613067 BLAKE2B a42352125f74e63ccf6d75f56b4ab25d15304c7380c76b1c13a52079abd0a8d5645e776d2e9fd2eb446554e9bef74bea8bf63186b0fc46c0532652a8d178d219 SHA512 409f256a598b10d6459b26bbdc536b2642efbf7fc2345c85b785b4d601c3b158f447a0c71ea1ff7436641a589791bbdef26637d1abadb3e7b4c8c0c97957da74 +DIST firefox-129.0-ast.xpi 498503 BLAKE2B 42b7a422feb9f3dac1a83b91d23b89e270196d75d0c1a0baba8dedbfb92062193b0e4fffca093fa246b6df8637b7aacac18d0c4ff5cfb79b65bd3c330f50e621 SHA512 2f28afcccb108bf4152e3c6913028afb5f610f9b792932d4d474110c66ff2e28210997d2661a819efc2daccd6fd375f615842c2e2ebc896f0dfc4be593d73be0 +DIST firefox-129.0-az.xpi 492951 BLAKE2B 640a12901c57ca4ab2255caf3e72023ba97c21f1b2d89e744021e0e043f4313ee678b2c7d9a44f2ed3be6db03694133f14ebd21f5185d61c31403b7b845a7751 SHA512 55525f57fc8e9c5757c172c366082b471a34810b7e2830c9b0f1a3a0741b3a7f61fa0e4a54ae0865b29f9702e3c6bf832849f1e535c3268ba8046a2f3e26ecfb +DIST firefox-129.0-be.xpi 718016 BLAKE2B 26a70b24ece49fa4d1f4e45faa03698a02b85b2f498fd8e5a8c0586b73ea6d4925f40626cae8c3302f4da9b57cf3d864f33c769170215d83d3f1c5ce77330eba SHA512 8d36f340fc16e478ff0ce234e280a1938dd3de5e54bf5ba3fe5744d5b210134653a02bf9d77817d2ea9bca3ed2b5ebd191557e35c84d985f0239e8b24663403a +DIST firefox-129.0-bg.xpi 624126 BLAKE2B 77b584b6e22feea0192b0bb4337fadb2d172671841b8d0f772124293ab6e12830c5ec4f064503f99acb09539eea250202e1463ca3031d117f36fd0493d06c417 SHA512 9bef03fc12abedbf9175e6baaa66e246cbda2ba1c0f8a940941605efeff5455207387c35da0cf15deb96cf22e87c229518ab1d05f337e87e826c5ee5987826a9 +DIST firefox-129.0-bn.xpi 583740 BLAKE2B e9083c3b03504df24b2be96084552bae86886a8f49fc519f32355fe5b11bd94a58c97baf7d4a151f69e153ca3ea2db8832048aeb92e44bfa74692857bd25e9cc SHA512 51aed226eb9a181db979e5112c4815fed23dbc6b5a97c54eafed64d5db12ecfc6558dfb2033397bc283f6e611f0e44de008bf0a096f6576a96c47373bb3cd8b0 +DIST firefox-129.0-br.xpi 591238 BLAKE2B 80e4b7b483369882553c0f2ef37bca33b6c7ed9715b97ab3a495e83e2f42fe8f65d45a81ad3b5cfd8c1959264f8d7d0fd5bcc55ada4d4dfc58e3a270d9b1b751 SHA512 2de4c1bbc19b062b5d347bdef5606489176dcc50cacd4e7d9f5cc9dfea32538e7d8b09d6d09c00c018232b69bdb2764dca05012894a354e929f1e0b7b1c62920 +DIST firefox-129.0-bs.xpi 504177 BLAKE2B 306544dabd2c4ba7de1904547857670302fee47b6307a52f0e84700ebc812ec57ea7b6e18408bad0672695e45fbc74579ae64f093e0aa1a313f8b1ba15e9cc40 SHA512 28fa31806bf4208a42b94b9c0056cbe98e6810934faf9e8853a33f025b6935d2eeb4e52383cf84d4cb41cb98ad1815ddb15597365b7a326b49289b5ecf72876f +DIST firefox-129.0-ca-valencia.xpi 548454 BLAKE2B d037e4b4a0d46f9726acac556563e14a4ba504050b96c1369370bb2cb77d81a139505a18f9f89d73bda92ff354b6ca5e563d562f2e01a1affc4907b5e1f0e7a1 SHA512 fd5023ccddd3a28737e65214ca3bcf94f1a6bcb80d71a0ac500fb77617f0be54a3507bb9c63bed95a75ef1842824a0544f906508e6a1a8ddd1ae2bebd4579c73 +DIST firefox-129.0-ca.xpi 599338 BLAKE2B ce4388358dd432d936dfeb2e00169384c8d2bf775775a2250f04f50d567ca51c3069f7d1705c31cb91f4df409f0680adbd05572ed637630302496405427b6470 SHA512 ade86b758f387c50a29bc0e1aa81f5a4321911954d6bc5ea4f3dcb4c8a27c1764155cfe071caa3c6adb5774905bc9f043a033e322c0af90e14967651248d1e74 +DIST firefox-129.0-cak.xpi 595424 BLAKE2B d6519e0f387bc98feac962d621d0442db58fa1334bd9017b467e4e140d467adab1ba2a1b27242857e2eac3890ff7e908b3dc944ee959a4c85ae4ee08d6c059dd SHA512 9a4bc0427ccfd26f103cef6cc28a1c9df156ca935e1349f73943e4479557a8d4bec30719d0aabb59022f4d79065019c351e80db3e7010dbaace04c36c07a2a1e +DIST firefox-129.0-cs.xpi 662053 BLAKE2B 61bf849a016ab060c26cbc4436c4ce06a6f6416b1375570f070aadbebb5dd6e6febbe5af7227c8c916936e82789282ef321350a160b42f24ec5d91ed04270dab SHA512 4591631a0876f30c93589f069e2ad096092581958ca1159ef865abc205bceb2715767bca2a11f796134bbcddf3215e26de20beeed88d3972391fce222155ce15 +DIST firefox-129.0-cy.xpi 626688 BLAKE2B d0dca71d0c53c71ef0c1539c886aeb60550cfc57936f7ff3986929c7e55a3571cf3c7733105a1317de185c522e9e0e5c70da776aa7cb96b9d7d8a3fd30e32de6 SHA512 80f8b154de2767e7436ecc5eff6d3c1000a535ae743e1aec6c302e3b7aeb616780f5b2bf76594301b9d85370e3f9ba86f53d80b9971161c48a46e74d197cacee +DIST firefox-129.0-da.xpi 615340 BLAKE2B 71c363dee621a01bfca33afb8c0231cb8ddb2ca452ca19eaa21b2d8cfedad8ef63249875125addcf4a6bef803d802b87dc0d95b1b79e5477d39a0bd4641df306 SHA512 b32fa572af1ddaa38b0fe8a88636600acbf5c4a83c387c6e57201a6c3d134512d5b7069ce55591b7ee26deb8f39bef055a3ddeb3655de0270db38460d1cca84a +DIST firefox-129.0-de.xpi 636702 BLAKE2B 5ec54ab16c77ac66831a2e38a0066c5b6c81c0291febebf01fa8a953b633cc26ae1bf04d300cb644f3eb6267f6c72646c58156bf121ac93cb3bf8f1880b3cc77 SHA512 e9ef6ed91d6cc8612e8a8d8722696abfb50a9f34a571fa281989f7e1829d030824c6f12821ebf4e333f99fbfc2c823c5b8f98c4ddef2e6f56a5d427cedee456b +DIST firefox-129.0-dsb.xpi 653386 BLAKE2B 49005e81557b3be8b3346247394da69c2048336061a0a011ea557b4e0c9cd690d33c7c6c7dca69357acfb87deb7a69985522337e2bbbb424a956cb45936f10eb SHA512 cfe1ea3879156449eb7164141efa8a401d2d91c771ae73759ddb100c2264f643a0d771cf320b582d52e10ae71da191dee42255ecb62f7866e01087e2bc19eacb +DIST firefox-129.0-el.xpi 735567 BLAKE2B 7617a3fd633517e1af7ac7d40e41975b5d2fc5ed68625c8dc601307277443ef5ddfb5f602512861dff6e8720985ac3ad498d99a84d832aa58ac8a63e252302ae SHA512 740560d04971aafb6b41a175dede5e7c39648b5d13ae5dc464bff096e8d0bc3d2e7348210c8c2cd11c2f7cf3aaaf05e8caae90e8800ad8d6233a6bbe85ace7d2 +DIST firefox-129.0-en-CA.xpi 587137 BLAKE2B b0f168fbd29af28669f9487ded068f3ecaab27b67e9daf48db6535ccf834d20424f20d13ceb65865d7c410eac611ddfab1764917305cbcda7bc4c4a058bf21f3 SHA512 4a00aaa139f26aecfd99d82f58d4c7fc46c6c0b798b749a02d9bce42b06955147291c64fa1d4b548a3be28e1ebecb1894cd790eae34897706073dec61a668d67 +DIST firefox-129.0-en-GB.xpi 587536 BLAKE2B 5cc6c7c17a375257cdb66992019eead50b0eaca5356d9f385dd241e0986a92cb2c5fb5cad8f59c1d4289ce48dde7bec3c9967220e8cbae8937f2ce937a2afac1 SHA512 84c12b0def4eb7b9d454c00f5a9d3ae7485010dd38940922b35ea8888dcf7dc6da9967cbaa350419c861808ebb8cdaa6bf1c27c8b4183c62593359b99899c6c0 +DIST firefox-129.0-eo.xpi 616016 BLAKE2B ba1b1c62a888e75fa05386936170521d8e4f38b04bea1015be76e40ea1a0a542b9a90157279801cf574743fee6881c80e30684e8630ed204e25d70d6b1cb7f09 SHA512 008ef41f9aeb623215679eb4e0c8ac1f633cc2daecba61382e5f0a8847bfa5b1913f53e9220e2d3e2de04110a2a90ba98f3d2c569e3c98ed486d1eb3eb5c9aaf +DIST firefox-129.0-es-AR.xpi 630371 BLAKE2B 66e7e924e7e76728bee954d1e4959092583cb5822be02023de5d7ac5e6f346b8b0a9bc91b0197abee9c41c74a6c086c4ab3adcb5a878c6bbb1b364f5f4438484 SHA512 0f4b23dc755b5482d457a5dc0ddd1c88c9c93d875bb6239d15df1c0c6a74b9e2f68576a9d167a589fbcd454ac2220a48ceaed23b7f56eefe080f789b56530446 +DIST firefox-129.0-es-CL.xpi 629634 BLAKE2B e69b110cc6e4e347b5116574a35c17651c85930a38bf79ca9f9636d5aa7764f349dfb81510a115a474e485efdec2e1e95889b1fbac70f44a59ffdf0851d2d2f8 SHA512 97421035b46d71962f3c3a36b09271a5357e3ca178395d6b2b0778ea89ac17fcf7951d2e719a567c8a37544eca05c4df156be561e03825395776aacb801f9593 +DIST firefox-129.0-es-ES.xpi 622866 BLAKE2B dcd167d53daa7489882e66d734e4bff7281546d03585a46535948fd81acfd5b81cdc9f185fa4d1540f7fec77acf601fd3dd64fbadce11cd71c44574b761d3344 SHA512 be211896776b7463d52c5e6dfa1948794b031766ef3daeedbb01197ca521100ecc58719398015348f5e7b0877855fe52b3a5af9e4588cea47c228ec765786d7e +DIST firefox-129.0-es-MX.xpi 611607 BLAKE2B 701c52a390789ab60e7bcfaf95cec88ffe63a8de06fda0bfe64b603334c325d940fe9db229d9dfad0b603129db0bd92dd5e6671ec4c1ea3a6c0fc71a79a63caf SHA512 03c08230a89bd442182ae7461826574bdec91be77afef75461f8914134a5ac549c53c4f9ba023c2e85e2d3ae9ff119981032684f6f5a313ef691ff6186a2fced +DIST firefox-129.0-et.xpi 541834 BLAKE2B 92ae97aaf37590a6dbffbb8d28d106b225e621952d36913548f99a0879e837c35218fa73856f01e4085571b9266668b718e4414b3b0fa6fcf0a08049fd8627df SHA512 a53834c7935d8c8f7fe8ac9f3fde04d5c2152972a85e52359cb0c709e323cebf1c4a45f0ff146dbfb0cc3f5694d28dfb4f841d22fd4db632b937d27f5ddd95f4 +DIST firefox-129.0-eu.xpi 601669 BLAKE2B d9a2c6a5d6c4df832abd82e8b6e3f53a197ee3a68a9256df3c82c32e5845e7e08ad182f7434245d6a586647d9ea859ce9a9a0f00c2bb3519a8e8f991e73ccd7a SHA512 928cdbc3bc057564dee4c73d10d36e46dd04f3a2ef11067d5fd41b6ceb64c6917663dddaaee9dd779cfbc16a0a25bbac96614b844a8e179559cf4aef99e9a68b +DIST firefox-129.0-fa.xpi 592238 BLAKE2B 0eccf35584e5fc6d488c438577f03f4136db74da081ef8e42b7a3f9549dd9a6920049c22aa0a8c7ff9df4fc81646ff728ea2b012795798fcd2d7c94b74c16905 SHA512 628a71e7fe7dfea26600f7a8cc92d7348a2a6ca818d918a3a580211153bb7f6fd37340538570824bf159d61da2d0a2734f7ea45fb203a7c736b259e2cb65cd5c +DIST firefox-129.0-ff.xpi 478241 BLAKE2B 5da946d71eacb54db0a3e62f34c4012b8cd9a3cbddc4fba599cd0d986d6b89b989b906f9973cc00cd7c57adb0566a08783bb5d195944f5596e0ac4155066c700 SHA512 1bcb35e33bd5b324ad8987b1fed533bf7d4d0b72fe572c08bf7b0b9e5a4e4ecc109d66b696b39ec226d4d87453f4d7afcaca9e13f6b3b94a32b8c8969eb4ccfa +DIST firefox-129.0-fi.xpi 610119 BLAKE2B 270a28ee23a2e394ddf9f328e14dbfeca53a9218ee138415ad04c5852bbc26f29274c6dead935e38a1613b67c8f4baee05b62d254b988f173e15c66c364a9bc3 SHA512 8e2d7eca4efb7f24c1992623b55a3f11c83a839cb704b914f72eeb361cba2e063cbac7e0ca42d5f1b6d861bdf3166964c2acc57dd69cdeb312d432a80c598b32 +DIST firefox-129.0-fr.xpi 643414 BLAKE2B 7f18a75fd1106861e2b6f83bc673924f07c6ba4b1240d180e5e2c0908113f6b0c228ffc3ae05ff1e99149f15f823e4709a47232c0296ddfda5423d532000dd76 SHA512 8c5693f30eabffdf7ae260e04b7009584dd554ec934938e16dda7791a109ffafa5fb285b33a86fd86aac155360963591429307f0f88198595ede7ee817619878 +DIST firefox-129.0-fur.xpi 635768 BLAKE2B c3dfa9be7005b8c657157024bd054e1baccb0d17d91811bebf293440fc5e9c6e80df5212eca8120fae67017065c5daeda7f1bf0230d251eb1bf272ca63424ab8 SHA512 46296939bd8eba66b43ed08b5e2e25426d5c863667ae8006716e6f25c72fa331e8cdd39288614319941b179dc3bfabd69413a2ddbb64032712a2397a0b12aa4f +DIST firefox-129.0-fy-NL.xpi 626041 BLAKE2B c1c8585b77a7d2171cc8c4597535d64e9307108462fda57fccddda886f71c9948f691dedfd4f439a67ed217f697f0fdc16c3dff0e619edcc753954192242a1b2 SHA512 66afc717ff0c1fe8545f06399556dc51595fcef6a3a61fbeee40b2d15eac5c1974edb637b08a34c66fbb9d885b5ae1220b3e6341c86db6b212b59532ecacbb78 +DIST firefox-129.0-ga-IE.xpi 473205 BLAKE2B dcbd01b540afcae7cef4c0d68902326917593ca1700adc72b2e3af0c02efbe894a55f9aa34eb09e13fa80304c5b9dd8c80e1f764c21a5719e098b37a34884983 SHA512 ce0489f6fc00e26cc2bf41f6932db684cc36aa0cf565ae086c4711afb565192389cb9987039234b77f22021265dc32370b4cdd39370778d2c2a73a7c10d5d4d2 +DIST firefox-129.0-gd.xpi 598883 BLAKE2B 15f3e4ecb34ca00791e78cf372359b5018687849d27472a6e67ca48423ac82a7542fe7f1da9cb2333035291a6732bd04dec90a46075aacb3cf1e28bf91469fab SHA512 3fe06078bd56e3e6bffcdcf16cdad849ecc8159b6ae628d15c1453828780fb459cdace20a511264a2001a7a2cbb5df8f797eb7ad884b6c9dc4e65321969d7d31 +DIST firefox-129.0-gl.xpi 606454 BLAKE2B 7d5f6715375a011af04030fd95640726c3c7761cabb21765f53c07794632e42a1c99d6cfef06b32c89d21c0959e5e91a15eda8bac9bfff1f2495729b7366c9a7 SHA512 9cf990f97b4c413c8472b1fa70da143a184f3019df9e0e9ee7d0f84dd64410a27716092405246a5bd5e92b10f2ea21667bcdf756c361c0868cfe7846b6eab898 +DIST firefox-129.0-gn.xpi 640316 BLAKE2B 9bd4977028ef4a7f5510e8741d05cb5dc2dc33f9b22d0aaa64b0a7d05a20e235a46a166476a5730d83e04aa1e9d32dfd02038611e2358ff4c93ee62d90c005fe SHA512 fe02133f643d9d4498b2a449daf07a6ec7d4a5dc97c28a1a822d7e41a2af133ed724945953bf9a39b38c85246450af02ee87681f1388f527b73adef0d00f88ee +DIST firefox-129.0-gu-IN.xpi 529503 BLAKE2B 763aa4ea6f45b8b6317415207b5c4086be1836392b9dbfaa5245d76b893c73365d06108c9f18100213fb6a997bca253e089b8e43a2c707a4d31ffb7e6ebebfd6 SHA512 a62dbecd0edf9cc4ba1a561051664e5a366c46ba9a1f1ed0b29d6040ae5482f61ccb7028628ebd6d60b0e59e7a8856a94b99c73c9fb244cc3a11977753c82ed4 +DIST firefox-129.0-he.xpi 634013 BLAKE2B b53e2556bba40429bc36c0a7702b63a8d0e3b1694ead129b496ebbd4b0924dc8ca41ea27a401f4437ae1886f25e3b5b6cf231b21a372df43f0443cf18f800b4a SHA512 f9060858d1a8523094ca1c20c17a6c443c84c8ff68e19ba9683e8e411be5e975d6726867923958d681bd86dc8106c23e4d1f46b2ff87526da784d98216b2614b +DIST firefox-129.0-hi-IN.xpi 568983 BLAKE2B 124fd2178ee2bda140234b3e87574fa520501150ede1506f2dbdc04cfe491e6454375bb15048be5c8d54fc72788f7721bd9cdda47c609478aa861b7ab2f6f246 SHA512 e005ee4b76154dd5d300eb07bb137ae69fa9cac1024ffd5d983a7e66c602666644b9fbedcb3ff1405375bbc189c2242be19d7f2d085eb398cc6d5412407a67b5 +DIST firefox-129.0-hr.xpi 610569 BLAKE2B 6c13ddfb6a38882eaf9fc024fe1582819bbfe675dc861b5ca8ccf6723aa4c71d5fa048e9d6f42f9cfd9ef9956828ec04cff264afb92f18a8ddc0d8395d4bc8d3 SHA512 683eede1aa4f1f0103d665372f55112b921d84d6f8e5a62a42f4ccfd4d3663331f314f4932602ecd583d5b9d5b0db4d61feda9e128081d9ed54229e8c3fe05ed +DIST firefox-129.0-hsb.xpi 649228 BLAKE2B 5673b04b5284fbb9b9dec8d16ad4f1f7ddb2e2b64495f5e8592e78d526cdaa9522d74d2c571c40513aa2353ec7038a898d6420921730b343f655d75d8ae0e375 SHA512 f5b9f88ffbe5e0b41e4db87f45ee4d07bf062a1a307eb3e01fbb0439518be60fad7bb314c249e7ceeca84711aaae91aa96de73d26596b5e381ed6e620500bc7f +DIST firefox-129.0-hu.xpi 651252 BLAKE2B d7a7f62bdefa69d3bd8e455dcb563b6663166599452949b15be51122a79f3c0697d0e9e3043a44c3941653a0943e0be9dcf84305fdacc29a15ec4253f0ec7c93 SHA512 1ea176f50c69a36cd2a8af0ac2649696686ef01902ae9712ce9a66d2928bfab5640354e7ef6390720cac85df34ac2824ab8252f0ac3851e98aff9f75bb1e2be7 +DIST firefox-129.0-hy-AM.xpi 653904 BLAKE2B fbed0d8e700177aefded1723b4ddf8061e1d4a161491f534750a2fec074335224a27c07c8f14348c8b9c9deae63e867cf24d731c3b41847d6a88d95a92f74ae2 SHA512 ea98919e5c79477610b62d29b8d02d46a265c45de22a716e08788e4b8c61b87b4f77ad7e5e9af61755efe750c49449af0f69d497fc94b627461bcfd00346cbfe +DIST firefox-129.0-ia.xpi 613528 BLAKE2B 024bf2ed5167902b0d8eddc1d976ffd245ad58be71cf6627f066a4f16d35f7d773aad2a27d400f058f45e7b39b35b5fb48f1ceef6b822d2b7e892bee58431205 SHA512 4edf046ab98e6dccd29982dea189211de8a72b765a42621ef9cbcc1dc599476b0f018fc77d5ae225186443d982d2c0099223a9e2a02ceb81d8f3ef33503ea4c8 +DIST firefox-129.0-id.xpi 585312 BLAKE2B 7e155c0ec0882ce920ed8dc0b1c6206409534301844b0fed74465b7794a24d8ce4a43f23fbca5bf2d34806cab99e0351495026b8ceeb7f8a685818e51bec706f SHA512 4fa9d4d8577bb23dd4f7393555345f33ff19f46f586ffc428c4a1d398b6ccdd1ea2fef14c394ee5b8362817dbe3b603efc3d523c36136ba76bb3e0e8010cf58d +DIST firefox-129.0-is.xpi 619033 BLAKE2B b3e752dad3d15633f21816e30a31a595434c6c8e21f3898e8c1a83cdc6839f9b179a4fa855cbe272b6409ec2c26c7945e7166c332d9f534c25560d7949a7e702 SHA512 a985ef2b1e2353fdde947dd730fb54f68728fd8c3274af6a0e131a43f761e5936238259783fceac938c31c89d53f8ff3200543a187b108f9c33d7db691f698db +DIST firefox-129.0-it.xpi 569523 BLAKE2B 571ea27b2c529a353d564e04b15dbf325219d1a8aacb97715bf5dd5f828b989bc4bac3ec7c5f5b3b180bea64bf5040b87cac873971943a33e74a03661870e1f7 SHA512 2e4801abdcfa056c6b817838501bb6727841219a4036aae47a82f0586539a58aed370affc6c7390fa014a3f08d1056e561b31ab220ab253d071d36369fa6180d +DIST firefox-129.0-ja.xpi 679726 BLAKE2B 565ce7ee85502440bfd866b85ffc13559728600427219769646172e88163542e120eeb06fcc7705b8614242c0d40c82ff5e09c157a7c783dafcf2b91e7eb7aed SHA512 48792f6fb3201d256cd40aa735c52a3bb24a11eadf45c56a46788b2eb10722358ad01ff6b25f59024b836473179da8dd34c6e953fb179db6b62c701a393b5d83 +DIST firefox-129.0-ka.xpi 663182 BLAKE2B a5d08c307b753d95bb01b762339440520ef174d1bf52f56d6b1e331f6ce4b1fede041bf95514928e45d48ea752bb848b2216dc02c21c220d64be019487abfdc2 SHA512 5aa5d2127df92f77c31d77982b6aa1253f2ecc7187ca7df7ecf694741fff663aebb261ccbf770a81e17f08203e3e8478145d1421535a887d3c092857f1a333eb +DIST firefox-129.0-kab.xpi 612864 BLAKE2B cde2b3b236dcedba50efd7bf7e160d11f94a68b95f420a5602598b450f37e8d3f250eab67ee4c065d23f86c0e76dc9b77161f5a3e6a8e3a691905053335e0646 SHA512 37e9aa40de46a51cf9c6bb7951e7284cc7822929cec715297f20fa89c5706ee768d8cb402d41a91e1ecf8354a2d6b946b10d3992001457d04b313d30cf880c60 +DIST firefox-129.0-kk.xpi 710250 BLAKE2B 6ffe6b99fd74a0662744cc16afa667972cb3a69ca34e2851e84fbbc3d3b1c39de587ba15630cd8fbc52d8bb97ca3741a52bc7b28fba0ec9d203a86eb3669f498 SHA512 52d8d00c5ebb08f7e7d0b757c779ef0e47b1284b05f49a1327a60a7a9ba0589993e3fa5bd535db64bad893cff0594c52e3de43c7befc418e015b20e4d6488c29 +DIST firefox-129.0-km.xpi 528075 BLAKE2B e0879d679664ba3166b8f8f29bc72c5c9c973927337d541d6e14e8bc5e07a18fbc927f6d458cdd7d3e30bc0fd506657883f2bfde3f6451d0226ec4b9b57aa2db SHA512 607116e08f6c7b8af9571e4c5e7b1534b0f84e219442dca2f269b660bae62587a5dd2bec79581263e79b333ed90e0e69bedbe6c5fbf3151b0e20a90457f08642 +DIST firefox-129.0-kn.xpi 493376 BLAKE2B 87c405c921d6e896bfff4f685574e1dff38616e4a552794d8fecb8429f1d64b0ae8bef6f1b3097c7fd0cd61dd3cf74aa9048cdf3afe49912e315c9223df38231 SHA512 e4c6140850c5da9f6d5efe71151288c5563c1ddee3be6eddd2e5380bd7574fbbe110a2dcc222d4ca895de15816b26e8957fb05e4c310857e50a7b8e868f9689b +DIST firefox-129.0-ko.xpi 663937 BLAKE2B 86b1a8267535b7343ca1fc14bb1f6d5ed9832c3bd61804e984d14fc5d204240a0300b2c429ebf397cf03bc87cf240a67e6f4f32938ff51c26292b76729243c50 SHA512 c94d248a64264c43db4172bd0fab6a06569f4ef906a2307cedb2062e97b6093a91c86de0d03ec458182ab8b9b9d1cc260a06d1e179e1571d9f43368fe587a76e +DIST firefox-129.0-lij.xpi 486304 BLAKE2B d7aa679b331482e6ff4d21f11f04365f8fa4437aefc3d5ef38b3317d568b83e0297c8db0adae57426d479f58b887ad6f80c3f6084da9593efb84a620172ee7da SHA512 7c3f470763536149825389a1f5efd35640adc388273307e311e06f375e90e8ea4caf5c1683280e8487913ed273a0c8c3fd71037884160f9bc7d923b683e75236 +DIST firefox-129.0-lt.xpi 575024 BLAKE2B c88a4a262cfa31bd2d81f797a0aaa4a79ac25b5ffe8ea2c3a8c02006d43a20e7aaf2667a6e2ec5391a13b4e73f019758776340db1449807c8d33c2a8ec19fe80 SHA512 43f063851250cb048e0c0c6faa45583760a5d1af8a589c1845f6583c24ba011e359b23d9827f5c3bf3eb553fc385cb355b65206e5e5581094a3fce131df8cd28 +DIST firefox-129.0-lv.xpi 576570 BLAKE2B d631d2e61309d6db67d659016cfb0057d1a5f6620ed7b5b3a402244d3ea8f0a66eb8ddf9e8349e7117bd42e9c6e095265991d5e6ef498c56c197dc118d25bd81 SHA512 9d03c8416992a4bd711cf5e3fb86c820bb8841ec82ebc7d528a91e59e3567b9d06dd14b584c22eeb5ab0757c4b1058b4e6e3f0d55b366ae1f3d4a225693fc2ff +DIST firefox-129.0-mk.xpi 496019 BLAKE2B 0eb51812ff068eb754f6ec2538f9538f5e50b307bac2856f3a0d015d5e49d1976c5e9cdf3255e3dd50a8a32e65a21620921140c0752c262ca04e4bf6dd184e39 SHA512 9988556fb5d07e5d0ff8f39afcbb0887f6e682046529098c1fdf7d180aa52e82b844ec0529cfd8a5dc23fb795516d4ced66bbed1c22dbf1acb575bcd44e371ea +DIST firefox-129.0-mr.xpi 534267 BLAKE2B 019436e5226b9cbc03703030b2cadf03bb80478c3843da2fe40bcdc039037369d4091cf7a04e3ea5d4f89bdc39d448f6cc862275eacc6735f7456da30a089e35 SHA512 d3c55afb56d73425b4893e29c87880b58c75d4109231fe3c6d342debe9f4c94780d37ac64f3fdfbac74c98fba8293436d920ac9163c8a3a3fd923069670c0569 +DIST firefox-129.0-ms.xpi 451900 BLAKE2B 8c6ac532d2ee8b4d629b2cbca96fdbd8aa0a510fb629821074964986ba90a8914ba8683c846adba12f6d04074af9d7f6445ef8e567c0662197dd2013d0ad3df9 SHA512 8b553e38b656f3211270a1c8c066535301ddca3957fe07f06565e30905d7f5c7b3e8066eb643a951fe0e7c92c8eb44cb16c4732c9ac938699a935b4cc8d28010 +DIST firefox-129.0-my.xpi 520807 BLAKE2B 506839e97769d48c88cbece5a7643d6155ab16d3dad3307887075c4cad6974ee9f904b383ab9aafa1957a208dda6788940fe1589ec0bc110461565e1f1df027f SHA512 c1ca31b4e2cde6c3af9a3e15f7cceecde26377420bc546339c727b8c248bf5dd7a2f4bdc10bc7358f9eb4ffedc988530e2547e7fb19459c97c49e05197abaf5f +DIST firefox-129.0-nb-NO.xpi 610260 BLAKE2B 8c8e5c4f0e8cfb4a21016e16a09d31c0036604242c1b1029d263d1ded7dc9c14059550cc89a144ed7a5756bb0f42e349000c3a3a5a3c998d911490c2e89fe0b1 SHA512 63e29f8b7f11f58ed3d672f67bc1c24142eb446c4209d268a8220cb494ac60bc77f310b0d8d0108315a97d51c904bc388c58ddb17a3139433ee2dc4e0cc5053e +DIST firefox-129.0-ne-NP.xpi 516325 BLAKE2B 63713af7a1dd613b118c605a62e4110b40de532be26fb37156ef9ee77963b3912f45a5de2a9008d5fd9aee477fa74cdd07102d221ebd53735d3c0073d29ffc7d SHA512 42bc77c999aaa72ff32a040c07b84c6545f2bf0cde16374f3945c4c4e041adba763c4f4e76a5ffa4dbf94aabfa656ecff2d705efa374aeedf95f2503b64fe3e4 +DIST firefox-129.0-nl.xpi 619717 BLAKE2B 301cfe9ce815235765027455288f67c5cb19867305022065b39d8a3731f0155a2309ff9f2c5308be7898a49dcae92386f20dc65a7c8ba309a161475f8cbc2d31 SHA512 ff74c8aac04636a91dd3d1ebf0d08de2daa5a23cc6af55e42e8bd25325eb410651339cc13f5cde5afaa72f38bd0934d4ef0708e5979d78f58f70b7acfd3242bc +DIST firefox-129.0-nn-NO.xpi 613178 BLAKE2B c872384269d9752afe19d65559d2c42931100a42c948935ec4986a82dedca01c50f67c4f5ad7edbc59a08f2717acc2e380421d3c93f09d984d80efd8209205e2 SHA512 e264b671a18eb9d30035ee030e55c0ce320dc580f1107371cf30582c78267eb41d3f948312fafeb396ab754ba340a5642f74f35b70153c4036a691efbc04bf47 +DIST firefox-129.0-oc.xpi 615152 BLAKE2B 03e0fc6dcf654f766bfba980f493fc44f004e0c91efeaa6d45c53962b98f01dbfa6f4f145974f09f662a40192a167d55cd6c19d61f5598e975f4fe780447d8d4 SHA512 3e5163782086060b74567edb2674fe1c22b7026c6fc97dffc3c2f36ca6da76d4158c4af5c26add7a32e8b8111668ad9290d39a339938289574791bb4e645bae3 +DIST firefox-129.0-pa-IN.xpi 694805 BLAKE2B 931f958b9c9cc5644c6fa1e66964a776e3edf0561d6a8943dd217b962f11eae2bccbb6889eb16d02aa0f37fd14447f5cdcf947416f935d72639ac15981dbf450 SHA512 dcaa062cffb04d721b18c9cc8d085ad35767b588d0b0ff0f3f81a84f0a34f835145fa11b01f07c23f05de8ae084a09c1b58cb26e3a8bacb6675df0ef136d750f +DIST firefox-129.0-pl.xpi 640506 BLAKE2B 2566a995dbd267513d0ec60ba84f050ed011b714edab943bcb6710c38dd34aef01f97370af215ac9f3f604decc51f14bab326b251b005950be8c6f9694893235 SHA512 13785610ade5106ebff8e7246d8cc4bdb71989b15d289aab0c7c2964e9c0cab72b64de7eeea5f557735d061612ead7f16c85b28b1ac5db6c813b19570e64405e +DIST firefox-129.0-pt-BR.xpi 624480 BLAKE2B 406a116c7ddcc0b8bdeb1dbe50e6a40312571e2725ba9d4a9b9e8bd09cf1df586d23e4e2c0b9a79051f52dd96ede6f60d597f762d8d14c0d6097b9da00246f86 SHA512 95de0cad0439e3bb482a0344461682a0807ba78d974b880eb983499e07c3d80baba33a0bf461f989e9ac2e3e6a126dfc0a62b30057002e81d648ffa9f278ca78 +DIST firefox-129.0-pt-PT.xpi 630821 BLAKE2B 3b34ddebbb7a4b51b0456b2c8a458f66628c797d6cc8708aa952c7ddbdfe44b7db6057edb7aefa075c5c28964dad1e0323e71115d4dfda62cbe2f76f145c894f SHA512 c3377f461b92964992a02038dde044e214b3565829602126c492e6b7ee86682a942ed644a6e68fc4f2d6dbcd06df2cde88fa14f771a480b9b59c06961ab9a1c6 +DIST firefox-129.0-rm.xpi 620396 BLAKE2B e200cac2225b3abaa1a7485918ce8c3a943d51a60a712009c6f1c0e82efc4f4d11a9139f416868e079d3833d1bb8a517f5a0b72b6bb16a6111d6a357985d7af4 SHA512 9adb403c0f8a9263b20522cbeab3c5e334516b57c3ed864bfe5c104b6f146ed82d89d93d16cdc83838f4599d0d68f1f1204dd71b776788306ff2059124b3367a +DIST firefox-129.0-ro.xpi 552118 BLAKE2B 2ec755b3ba7f133cb66a806232d312a635ab73fd4e0cd1d4b4474ba1475cd755ab6b443bb36d12c823f1b1e051e624b72088cd84c973028386e1c408781f0176 SHA512 7dd7a5fd87955702e8d9f77d297869b8f86d86d9b349283c51d00b2768a39c24935caf3c1cc42afebb6cbaf9833285963c91f3a52f235a7d16e552e638953610 +DIST firefox-129.0-ru.xpi 722864 BLAKE2B bda2241dcc89986bf590d75539bb59bb253ad24421bacdc21d19f0fa9651c183b0c22de15b454b86c4be6d1ce32a1794a43974d56a1732e6f67b6fbfb78dc187 SHA512 e7c3078cee0d711727df8e163939c7c929c07ab9fea7c004e34c1a0ed2e5afa1e1f76573768ea5fdb1bea8f97dbe89371f66153c48e8bee2c5ce20214f50da55 +DIST firefox-129.0-sc.xpi 590062 BLAKE2B 9a314cea536990051b9f77c835054d66d11374525f966a0972696c44daf9f9ac91bf0168aa01f68c5cb8c8f5515afbe1e8c0d34eb1991a328ed42e37035652a7 SHA512 bf6725ccc416635443d0d382580ce9323b1ddba4e0aeac92bc975819c9212e85dac4d7da28debdf6aab07b4a8b2d57917e63c3c2ded79f406d2810f5528e4389 +DIST firefox-129.0-sco.xpi 513495 BLAKE2B 7570b205e8ba3cd92905c988ac8fcb249f2521129480cf9b186135d1c287222517aa39e8bbdc976694af4f922ed75e7276f7bada49de6f8b15bb3947056d37c5 SHA512 e05c741d8f85a3586caa7566695b4f4496211b856ebfd47b65e2b3e620a05df0e0aba22f9a7077e222bef1520a3c9252f9b1cdac605c1e3359c76c2f99a5b895 +DIST firefox-129.0-si.xpi 615445 BLAKE2B 032c22ac323bb76264e09145a5de5d6ad4861d916a40cce37c9b270dcf3cc21e949e656a2b0588ce14789c34b9143c4020a1c6b498d63d09c1cd3e102f93d705 SHA512 251e33e47105acd38e116e959d626240c4cb042627b7c495309fa44dbcf6a699f4f60560d53a9f6d978b323f7343e583ba6a9bab72f5e91889332f896e4676b8 +DIST firefox-129.0-sk.xpi 654953 BLAKE2B fb3edf857f07d937e84add67f2ba74c8fa24a879e18b0e5e4ed7ee9d5dbf5e11515d9bb7eb4891984c7abc78a63a6ddd56220987147817fc4b0c82585f4e54cc SHA512 1903f4a4598bd5beee1256043a229b2899b875384f8d4e2e56b7ad5eac60d15f574307fe7fda511d9fdbd1f3b91acf94e15ebfdd7830fbe06f68bceebcc48678 +DIST firefox-129.0-skr.xpi 710334 BLAKE2B 4a74250ca07c41d4241d11a4f9fdec9d2cdc58e94e7543e59de6570ffe0d5ce20ed78c184f71b674ade47e7ec4511e7f1449c9e3707eccb2c72ad8507f7f13f5 SHA512 c709a5a797ad78a3d4b738b6202f831e21c31a0f94d497e573fbfa7f5debbd446b2590b3a579a9b11ffb0e689ac338db275321dce5825710e225acf8a99ccd49 +DIST firefox-129.0-sl.xpi 619637 BLAKE2B 851442e79deb9ac85881dffff39dc1a61e364065824ed7bfeb2bbe9b4273ca3fc53505f481c63b94c002c95505def63b889f485236605a445c04fb0803e114f2 SHA512 8d71c9048969dca9639346d318201d70237332e0d68604bb0b9ed68c2c713e60c007a35b29dd20cf0ba83ec19012f36d514310edd48eb4c0c2b3a5884b98dba2 +DIST firefox-129.0-son.xpi 418560 BLAKE2B f7080076b63bd78ecfa43ebec494dba86c50ec59539726ecf0420be6d5b1d82bf5165aaf15b280966cc68782b0900ce433c3d88cc491cc12629a197c4dd2b115 SHA512 5f1ebf3847ab06d23903cfba9b1916d4139d7fc953fab7451c53c3e1f13639b8fb611ac7e3bd081baf8593c597b082dcce1d9fb6a88c7a7953ce41274af3f569 +DIST firefox-129.0-sq.xpi 639121 BLAKE2B 9f15377edb8eaeeae601c0fd255739fad7fbc96d1320246da12997c9226190755a28f3e8bc051733dcf369aa135fecf6cec27c8f2ea0eb62cb6e2fe95517d240 SHA512 2a307e0b0b25b44b7444dc3598b07b98974b0db2ef83127f887e26e127b0e30649913956b1f354cb3426fb9e71529f8a776fa0ded099bf4008e1bb8c2b7ff140 +DIST firefox-129.0-sr.xpi 641697 BLAKE2B cba40453caa4dd835f9548797cfc4350db4bce8d05d3a6254e27635f3815ab9b4c10f8f08666fad1ef0e3a041054dc8d9b48cc1f7e40239915da886e3c0d62f4 SHA512 67fe3e741888be0295ec691bcce2621c2e593ca1763b0e60e8f31191eab6930bd475b5831f74fc39185f619c656d0ff781e834165969be0f8043b6acb2339478 +DIST firefox-129.0-sv-SE.xpi 621418 BLAKE2B 4075df53cbb534ae97be7df09caa47fc63e71225186c852ebdf6006db2f81ed6f111fd9461c6b2383d81ce424188ac503148b7f154cd433fd1b29c077763686d SHA512 6468cd94b1ea784315b2638e08f7bfa3144939663bbf3dcd6dcc6ebaea744c300a548fee5856e25e15d94c2ad38cfa3a47e9978954351d1b9a06af0329f34d73 +DIST firefox-129.0-szl.xpi 528574 BLAKE2B a5d4c0d66971dd51cafd441fa81fbaaa5da92edf3c8aa1c7c9f355f61d177e9d8d7343bfe6f2cf5c54a4529d82a1ad79958bdd751c0079fdcd9bb85dd33944e1 SHA512 06dfaf8cd3251faca0b497e354180a50565b02e555252644b772d619b33abdfe8ef072ebaaeb902957fc2f3ee154a3574cdca17ad9e1b2859fc36bc6ec6f9c05 +DIST firefox-129.0-ta.xpi 509682 BLAKE2B c047cbd20038dff66f3ca561eb865f64bf5cf75ac0386c1f74607de38018fe4e440a6e48c5a153986bcfb3cc421a49432cc5dc9492982ad6a3dd69acade5a015 SHA512 ded19698a518736b1c356b5c1dc7ecb9202355e40f34fac98f4bfc4d432932e1b82390c2236b97359a88197720cb6380110e4ac73c9acc690fb35b2cad1853b1 +DIST firefox-129.0-te.xpi 563245 BLAKE2B ebde7478692071b6d350a5ebcb5b4c04d35c8dbfb69830bbf41df4eef8a8439b2265513cb7f8e5696fd06de0226ea7e0ad9d056064ba978b198f65d5928a136e SHA512 951751c3f358c6db5730df3ccb4aa0821a8d5983e8fccccafa86a81b96558fc34778a701402731deb9eed08556816a9a7f57f63d4f20df57feceaad3122a1668 +DIST firefox-129.0-th.xpi 700403 BLAKE2B 9bcb6082169808b2a1d801e3ec15142debeef0bd04153b5ecf80c8eefa256d696db6eb939b366ba96970e1fa8dd1f8ac2e404c1d40dc74ae4bb74f6f89fe5872 SHA512 68e0a04a36c7bc2566a3808bc2d3a85b9ff7decca8ac1df7337b2c3873aadacf60d6cdc50cefd8063583b198968278fe8a1501774219c5821a36714f4fa8151f +DIST firefox-129.0-tl.xpi 536469 BLAKE2B c32118ff88a90b3b34950592345e798295c3042e8a3693b769ce97d91c7d4c158bc7ead979b22977118fc67f47020e02b199609d6a0e8a2c3d5589fd938f1607 SHA512 b283c832161c2104e9241a4ba0c7b5207f151b8750a2d7c409d669124240645793509a502a3c615d06f59142b22b601ab43556089e57d33d56431419f54156c3 +DIST firefox-129.0-tr.xpi 634870 BLAKE2B 18934a021f722b391587db29a462d065e3cdd9042eb27ebd8f62af014fe5183f3f1f8e3bb553b38066ce02c47971e1438f063ef6f7a845b6f3adb27922b3a4c4 SHA512 933b8b7b4da9e76d24edfea4c53dfc3b9d4128ed2f38a9bc302b91147f2b0e6c0b1a43f9e4dab8498e6f5689d268430942e974476a4844b8bb9290470f41d604 +DIST firefox-129.0-trs.xpi 506189 BLAKE2B 50a724dbae41800d5817fcae0285344a4623def4cc6752e9c426a2d1fe875b13e3c9360d1c9eeef77109f515348e9d2556261362bb7d3887ca608a78c6272888 SHA512 323a120ead7d44331de2debccc8c742453478124dba2d0b2cae640148599a5c488fd5cf8d9b26738fc7de95e09fba6a7660781c12e28f94d357c03f51d897560 +DIST firefox-129.0-uk.xpi 709777 BLAKE2B c55fe815b8914a933976e085e8e00b943a9abf8d6655c255918509a83e44522e51bb19b53c4f5e79c397e5dfced8a63817ccd19a34f0659844071414813b1f9c SHA512 5e6a79385257cb25bd6e151a597df854217c0dff38e31fd77513aabbb41cbc0f119fb0f9cb92654da9371ee8fa93c8d8db4b4aaabea966a8ba002428994b2891 +DIST firefox-129.0-ur.xpi 562715 BLAKE2B 9555ad7f63d6f3f73d548193acaf48d13b5645f4b05a54528a009a98774f480f76755d494e7b5e70c4a8f372aa3bea00a26bd64bffd066884bea3e9d48466f82 SHA512 aefe581a309a229fc00116476d0bb1b48d75bf8483c6631ed6f2d99a5241b624717512b5720f0443441a7d18bbd4708457913e9061600ed30012f2aff516502f +DIST firefox-129.0-uz.xpi 480950 BLAKE2B a716a87be418939a1792d9fe95754a318c2ce8ca3427201dc3103c8105f42deee060bc1f4ed6a3f7ffaf4cda4daf6d42360e36f09f05c10b48e52fd5b06d6722 SHA512 404d44e24b590258fd4d7199418a693c5577415ccf786e28e8875813bde38edc98a300f6e5313ee65c419ef653d5f55dd8265dee1b81ffe82d481808350b732a +DIST firefox-129.0-vi.xpi 658017 BLAKE2B 817db5f6931bfec8555210ba4c123156ea6517c54dde58033b9c11dda78b4ac0b9b6cad6eb58637836cd86a5f3ad6b031cbf4ae06ed7c326ae7e2a4cdb2270d0 SHA512 6d1eb4e572616156d27ba82b54d780ab56b83d236f73f96b3b7d4e2089faf720d66f3f8ad47aa6ffc8ac26dbbfe2f16f3e562b79736a00abc0092a574e6731d1 +DIST firefox-129.0-xh.xpi 419346 BLAKE2B 43b17550b6d5e43d9eab54e8a5be693754b8752c69071af37588fbe37df5c34f430cb12e1b786d55657492a879a09431f7cbcf03b9f15931f5b425d6b672995d SHA512 aef6ebeff017792264624ba3826184bed07d5b50b3b187458cd6bec40f3c801e48835777e1604cddb7383f1e1b49b70cb652177ff75ea334a07887b5e3608270 +DIST firefox-129.0-zh-CN.xpi 659751 BLAKE2B a3e42fd166f3e53e257a01867a39b5968205fc1776039a90a313ec83172cbf01a56ebe03822df187a6858ab68d0b2771aa279b069433f0f1a775601cdb394844 SHA512 864b97371898740eb9f3d73e43b00c493da2c613279d05b4ac4a65e3e65be2ff88ca6d8e04f44a07ee752ce518d1350227f9c43161081303c30e08498847f3e7 +DIST firefox-129.0-zh-TW.xpi 661606 BLAKE2B 55a5662cbec90c5a4813ed7540cded88b50560d226b17b43c9b8454ee901a269b974ced3f9babb8b46fdcf0a51d4871a36e33d3ff0969597aeda34690c4a5863 SHA512 6d225f14c65f0a9dd08dd716199eae640d8e2a3f52026d43a46d07c4f48a5f7bd18b4a2ad8167c5b33e1eb17307ccbba80c05b5e2753d191779d7c115dc45b27 +DIST firefox-129.0.source.tar.xz 568302640 BLAKE2B abd8b0008dfd0948234baf7c307c42051e2f58a9c7ebd07b3b0dec9bdb6d8d78e4e1ae25d552aba8685e8b307dbdeb1360d873fef98ac108671dbbbc53c2a3af SHA512 e406d00dc53c66a1ee6b56e7001efcdd8b323caa3676d66d874d39a99f44ac7cebf4c60d76b5d239ebcf834a75cecabf801a74a1d08a97a66ea5e8ec6c8f7c5b +EBUILD firefox-115.13.0.ebuild 39935 BLAKE2B a5ee41ddf96552edc4a346c5cf261e2f1bace515df4c7ff962ef1a2a95cc65bc20d6b09d368fadd0ca2111c514f310ac91e56d49260ac99e320c6a0707406bf3 SHA512 9d6232a69adf9fda97441dd6e46f5263fff17e25be47f399454972d4d69a895ebd5f14e91109174af196c158019c4b23cafce9600eb6d6301b4aa84a67560ca3 +EBUILD firefox-115.14.0.ebuild 39939 BLAKE2B d5da85b1da01c485828f5b1c80376a3367b89a7c40c04e075ece2eff37d605206a6a06d257b655c6fe461bdcd0b2828e82f7891e54d4b9bde3d2c9c7f42df26e SHA512 fe28539f631320b7e4795702ca125d33b794643eec71b28a1e8ac453eaa393282155bd6f86c95bbfe0ca267bbc2a9926e2a93379623d6f4dec6a1853c374fa6b +EBUILD firefox-128.0.3.ebuild 41944 BLAKE2B 299429d89f7125341f1f2eda911b725c06f8d07265c2fb130d28a246a3ec1e33c1c0dd34b772131b36861cf04924e1a8d99278c8d74d78e977413c4d340da3a0 SHA512 91e2f581285ed45bc866286cb092b4e6b76a311a98bf72025d14e40327d3d5a5e05f1056a86df330079e8285a70803a88a947b6916857d279ebf743a11b9d0ac +EBUILD firefox-128.1.0.ebuild 41255 BLAKE2B 7a18d38bfb1accf908f2c31564b0f528aae588e2e076dd64b135a3ae248efc18eba3ab78881b357cd4ec5efe732582d75bac3e37cb07b62188e7f82b6b78ed3c SHA512 760306b9cefa66e9ac4ee9d72206c3a4c1443bd9c3db69748bf122d9c69bf87d7c10d52c98170394b05efd4a4875bd45842100b837610e79247c181df5e536d7 +EBUILD firefox-129.0.ebuild 42248 BLAKE2B caab02399244374b1515e71890c82316d5b567e0eae8c995dc3ac09637c5e44ac0727ba5c301bf637d960c8f738957f856ef79ab1309d56789165bc2a5a57185 SHA512 8bbf95522ee694b6011cfed28c71d17f2ad8f32267b988ac1cb87b957ede3ffd38cad4f04dcf466f9db713f997373a2ddd1a74f3a29bcdb109ce0e0a0c46ecb0 MISC metadata.xml 2597 BLAKE2B b449997bc096ed8fb7bde41a5acb8d9f4c1c8cfc9663c06ff603cca756e8868d40049fd292a459a00d80b4e8c3a74e91e29fcb04abe87277640fe65d070f0bda SHA512 703c7f6a2b46748786145b0973a7b8439e530c96fd7c50d773efac7d5d9bf74ccb4f0c252f2701459944f2b3ced22d3e57ddf049b9aed0c8f0e094cabddda251 diff --git a/www-client/firefox/firefox-115.13.0.ebuild b/www-client/firefox/firefox-115.13.0.ebuild index 5890b9ed1acc..67c0548f35c3 100644 --- a/www-client/firefox/firefox-115.13.0.ebuild +++ b/www-client/firefox/firefox-115.13.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -FIREFOX_PATCHSET="firefox-115esr-patches-11.tar.xz" +FIREFOX_PATCHSET="firefox-115esr-patches-12.tar.xz" LLVM_MAX_SLOT=18 @@ -50,16 +50,14 @@ 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" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="esr" +KEYWORDS="amd64 arm64 ppc64 ~riscv x86" IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" IUSE+=" jack libproxy lto openh264 pgo pulseaudio sndio selinux" @@ -233,8 +231,6 @@ DEPEND="${COMMON_DEPEND} 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 @@ -260,7 +256,8 @@ llvm_check_deps() { 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 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 return 1 fi fi @@ -490,8 +487,6 @@ virtwl() { [[ -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 @@ -587,34 +582,8 @@ pkg_setup() { # (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 + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev fi if ! mountpoint -q /dev/shm ; then diff --git a/www-client/firefox/firefox-115.14.0.ebuild b/www-client/firefox/firefox-115.14.0.ebuild new file mode 100644 index 000000000000..894d9203b7f2 --- /dev/null +++ b/www-client/firefox/firefox-115.14.0.ebuild @@ -0,0 +1,1393 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-115esr-patches-12.tar.xz" + +LLVM_MAX_SLOT=18 + +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} +) + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="esr" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +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:18 + sys-devel/llvm:18 + clang? ( + sys-devel/lld:18 + virtual/rust:0/llvm-18 + pgo? ( =sys-libs/compiler-rt-sanitizers-18*[profile] ) + ) + ) + ( + 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 ) + !elibc_glibc? ( + || ( + dev-lang/rust + =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 + &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!" + einfo "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' + + 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 + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + 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 + moz_clear_vendor_checksums bindgen + moz_clear_vendor_checksums encoding_rs + moz_clear_vendor_checksums any_all_workaround + moz_clear_vendor_checksums packed_simd + + # 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/firefox/firefox-128.0.3.ebuild b/www-client/firefox/firefox-128.0.3.ebuild new file mode 100644 index 000000000000..9f130baa1cbf --- /dev/null +++ b/www-client/firefox/firefox-128.0.3.ebuild @@ -0,0 +1,1403 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128-patches-05.tar.xz" + +LLVM_COMPAT=( 17 18 ) + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 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} +) + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="rapid" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack +jumbo-build libproxy lto openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp" +IUSE+=" +telemetry valgrind wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + wayland? ( dbus ) + wifi? ( dbus )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + !www-client/firefox:esr + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + clang? ( + sys-devel/lld:${LLVM_SLOT} + virtual/rust:0/llvm-${LLVM_SLOT} + ) + pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + !clang? ( >=virtual/rust-1.76 ) + !elibc_glibc? ( dev-lang/rust ) + 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 + &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!" >&2 + einfo "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+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_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' + + 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-r1_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 + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + 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 + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-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 "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py \ + || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + moz_clear_vendor_checksums proc-macro2 + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # LTO is handled via configure + filter-lto + + if use lto ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + 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 + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # 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 + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + if use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # 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 + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if tc-ld-is-mold && use lto; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + 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 icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die + + 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 + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + 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 +} diff --git a/www-client/firefox/firefox-128.0.ebuild b/www-client/firefox/firefox-128.0.ebuild deleted file mode 100644 index afc7687db84f..000000000000 --- a/www-client/firefox/firefox-128.0.ebuild +++ /dev/null @@ -1,1402 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128-patches-05.tar.xz" - -LLVM_COMPAT=( 17 18 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -MOZ_ESR= - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="${PN%-bin}" -MOZ_P="${MOZ_PN}-${MOZ_PV}" -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" - -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 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="rapid" -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" - -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" -IUSE+=" jack +jumbo-build libproxy lto openh264 pgo pulseaudio sndio selinux" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp" -IUSE+=" +telemetry valgrind wayland wifi +X" - -# Firefox-only IUSE -IUSE+=" +gmp-autoupdate" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - wifi? ( dbus )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - !www-client/firefox:esr - selinux? ( sec-policy/selinux-mozilla )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - clang? ( - sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} - ) - pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=dev-util/cbindgen-0.26.0 - net-libs/nodejs - virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) - 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 - &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+=( skr ) -MOZ_LANGS+=( son ) -MOZ_LANGS+=( szl ) -MOZ_LANGS+=( ta ) -MOZ_LANGS+=( te ) -MOZ_LANGS+=( tl ) -MOZ_LANGS+=( trs ) -MOZ_LANGS+=( ur ) -MOZ_LANGS+=( xh ) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_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' - - 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-r1_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 - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi - - 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 - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-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 "Failed sedding multiprocessing.cpu_count" - - # Make ICU respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" - - # Respect MAKEOPTS all around (maybe some find+sed is better) - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ - || die "sed failed to set toolchain prefix" - - sed -i \ - -e 's/ccache_stats = None/return None/' \ - "${S}"/python/mozbuild/mozbuild/controller/building.py \ - || die "sed failed to disable ccache stats call" - - einfo "Removing pre-built binaries ..." - - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - moz_clear_vendor_checksums proc-macro2 - - # Respect choice for "jumbo-build" - # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 - if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then - local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} - elog "" - elog "jumbo-build defaults modified to ${my_files_per_unified_file}." - elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," - elog "if that fails try -jumbo-build before opening a bug report." - elog "" - - sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" python/mozbuild/mozbuild/frontend/data.py || - die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" - sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" js/src/moz.build || - die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" - fi - - # Create build dir - BUILD_DIR="${WORKDIR}/${PN}_build" - mkdir -p "${BUILD_DIR}" || die - - # Write API keys to disk - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die - - xdg_environment_reset -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # Set MOZILLA_FIVE_HOME - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - - # python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-application=browser - mozconfig_add_options_ac '' --enable-project=browser - - # Set Gentoo defaults - if use telemetry; then - export MOZILLA_OFFICIAL=1 - fi - - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-gpsd \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-wmf \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - # bug 833001, bug 903411#c8 - if use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - elif use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly - # Can be removed once upstream enable it by default in the future. - use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - mozconfig_use_enable valgrind - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - fi - - local myaudiobackends="" - use jack && myaudiobackends+="jack," - use sndio && myaudiobackends+="sndio," - use pulseaudio && myaudiobackends+="pulseaudio," - ! use pulseaudio && myaudiobackends+="alsa," - - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" - - mozconfig_use_enable wifi necko-wifi - - ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build - - if use X && use wayland ; then - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland - elif ! use X && use wayland ; then - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only - else - mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only - fi - - # LTO is handled via configure - filter-lto - - if use lto ; then - if use clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - fi - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409. - # mold does not support gcc+lto combination. - mozconfig_add_options_ac '+lto' --enable-lto=full - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - - 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 - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - mozconfig_add_options_ac '+debug' --enable-real-time-tracing - else - mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing - - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # 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 - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - # Additional ARCH support - case "${ARCH}" in - arm) - # Reduce the memory requirements for linking - if use clang ; then - # Nothing to do - :; - elif use lto ; then - append-ldflags -Wl,--no-keep-memory - else - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads - fi - ;; - esac - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - if use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # 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 - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - if ! use telemetry; then - mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" - fi - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - # Handle EXTRA_CONF and show summary - local ac opt hash reason - - # Apply EXTRA_ECONF entries to $MOZCONFIG - if [[ -n ${EXTRA_ECONF} ]] ; then - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} - for opt in "${ac[@]}"; do - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} - done - fi - - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - if use valgrind; then - sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die - fi - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if tc-ld-is-mold && use lto; then - # increase ulimit with mold+lto, bugs #892641, #907485 - if ! ulimit -n 16384 1>/dev/null 2>&1 ; then - ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - if use pgo; then - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - - if ! use X; then - virtx_cmd=virtwl - else - virtx_cmd=virtx - fi - fi - - if ! use X; then - local -x GDK_BACKEND=wayland - else - local -x GDK_BACKEND=x11 - fi - - ${virtx_cmd} ./mach build --verbose || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - - # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/vaapitest - - # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) - if use arm64 ; then - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/v4l2test - 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 icons - local icon_srcdir="${S}/browser/branding/official" - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" - local desktop_filename="${PN}.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" \ - || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" \ - || die - - 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 - optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal - 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 -} diff --git a/www-client/firefox/firefox-128.1.0.ebuild b/www-client/firefox/firefox-128.1.0.ebuild new file mode 100644 index 000000000000..8ca5d7c119b7 --- /dev/null +++ b/www-client/firefox/firefox-128.1.0.ebuild @@ -0,0 +1,1376 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128esr-patches-01.tar.xz" + +LLVM_COMPAT=( 17 18 ) + +PYTHON_COMPAT=( python3_{10..12} ) +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" + HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.com/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 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} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy lto openh264 pgo" +IUSE+=" pulseaudio selinux sndio +system-av1 +system-harfbuzz +system-icu +system-jpeg" +IUSE+=" +system-libevent +system-libvpx system-png +system-webp +telemetry wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + wayland? ( dbus ) + wifi? ( dbus )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + clang? ( + sys-devel/lld:${LLVM_SLOT} + virtual/rust:0/llvm-${LLVM_SLOT} + ) + pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + !clang? ( >=virtual/rust-1.76 ) + !elibc_glibc? ( dev-lang/rust ) + 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 + &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!" >&2 + einfo "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+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_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' + + 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-r1_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 + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + 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 + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-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 "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py \ + || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; 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 + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # LTO is handled via configure + filter-lto + + if use lto ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + 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 + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # 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 + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # 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 + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + 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 + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + 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 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 exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # 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 + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + 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 +} diff --git a/www-client/firefox/firefox-129.0.ebuild b/www-client/firefox/firefox-129.0.ebuild new file mode 100644 index 000000000000..8e9069b7db01 --- /dev/null +++ b/www-client/firefox/firefox-129.0.ebuild @@ -0,0 +1,1412 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128-patches-05.tar.xz" + +LLVM_COMPAT=( 17 18 ) + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 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} +) + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="rapid" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack +jumbo-build libproxy lto openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp" +IUSE+=" +telemetry valgrind wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + wayland? ( dbus ) + wifi? ( dbus )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + !www-client/firefox:esr + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + clang? ( + sys-devel/lld:${LLVM_SLOT} + virtual/rust:0/llvm-${LLVM_SLOT} + ) + pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + !clang? ( >=virtual/rust-1.76 ) + !elibc_glibc? ( dev-lang/rust ) + 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 + &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!" >&2 + einfo "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+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_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' + + 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-r1_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 + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + 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 + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-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 "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py \ + || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # LTO is handled via configure + filter-lto + + if use lto ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + 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 + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # 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 + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + if use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # 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 + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if tc-ld-is-mold && use lto; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + 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 + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + 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 icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die + + 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 + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + 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 +} diff --git a/www-client/google-chrome-beta/Manifest b/www-client/google-chrome-beta/Manifest index 8f4b1a7940f8..345da1e8b7f9 100644 --- a/www-client/google-chrome-beta/Manifest +++ b/www-client/google-chrome-beta/Manifest @@ -1,3 +1,3 @@ -DIST google-chrome-beta_127.0.6533.57-1_amd64.deb 109188896 BLAKE2B 2f73db42f57a40be97889b182bccc43e31981de4a25eb6a9472b85f0dfe56cafd91df60c3472c7e047ff13ecbd8707b7327f7c5b2486bc7a354c06fbed5e06d9 SHA512 e37f93e1a4c5839e6cfd52d9c19430a9d09e6acec6f35e74cd38d27f78c4e189ec66486ef8ea46b61ef4e7aa89fc744aa70892f42f11a539c67f99df8b52fe70 -EBUILD google-chrome-beta-127.0.6533.57.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4 +DIST google-chrome-beta_128.0.6613.18-1_amd64.deb 110763364 BLAKE2B 8e9d69d77911a7c15aec48c98a4880aa89042df3ecfd49ee57562db2b682b01ed7053cedbf705af22a4861cc1770f14f0185f0c610fe0b2374caa9f8b93a6cf9 SHA512 b404329cfad1c205bcf837d5638eaed102d4c1c11d3d88d53845a10acaa2f02753fbee5dda815565e0f80a2a512bd058e40354e6b89373afa154718fec4258e7 +EBUILD google-chrome-beta-128.0.6613.18.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4 MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986 diff --git a/www-client/google-chrome-beta/google-chrome-beta-127.0.6533.57.ebuild b/www-client/google-chrome-beta/google-chrome-beta-127.0.6533.57.ebuild deleted file mode 100644 index dd9e9c497aea..000000000000 --- a/www-client/google-chrome-beta/google-chrome-beta-127.0.6533.57.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 2011-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr - sv sw ta te th tr uk ur vi zh-CN zh-TW" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Google" -HOMEPAGE="https://www.google.com/chrome" - -if [[ ${PN} == google-chrome ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -MY_P="${MY_PN}_${PV}-1" -SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb" -S=${WORKDIR} - -LICENSE="google-chrome" -SLOT="0" -KEYWORDS="-* ~amd64" - -IUSE="qt5 qt6 selinux" - -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - >=dev-libs/nss-3.26 - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl - net-print/cups - sys-apps/dbus - sys-libs/glibc - sys-libs/libcap - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - || ( - x11-libs/gtk+:3[X] - gui-libs/gtk:4[X] - ) - x11-libs/libdrm - >=x11-libs/libX11-1.5.0 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - selinux? ( sec-policy/selinux-chromium ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop" -CHROME_HOME="opt/google/chrome${PN#google-chrome}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "google-chrome only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then - rm usr/share/man/man1/google-chrome.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1 - fi - - pushd "${CHROME_HOME}/locales" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - if ! use qt5; then - rm "${CHROME_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${CHROME_HOME}/libqt6_shim.so" || die - fi - - local suffix= - [[ ${PN} == google-chrome-beta ]] && suffix=_beta - [[ ${PN} == google-chrome-unstable ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - pax-mark m "${CHROME_HOME}/chrome" -} diff --git a/www-client/google-chrome-beta/google-chrome-beta-128.0.6613.18.ebuild b/www-client/google-chrome-beta/google-chrome-beta-128.0.6613.18.ebuild new file mode 100644 index 000000000000..dd9e9c497aea --- /dev/null +++ b/www-client/google-chrome-beta/google-chrome-beta-128.0.6613.18.ebuild @@ -0,0 +1,132 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr + sv sw ta te th tr uk ur vi zh-CN zh-TW" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Google" +HOMEPAGE="https://www.google.com/chrome" + +if [[ ${PN} == google-chrome ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +MY_P="${MY_PN}_${PV}-1" +SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb" +S=${WORKDIR} + +LICENSE="google-chrome" +SLOT="0" +KEYWORDS="-* ~amd64" + +IUSE="qt5 qt6 selinux" + +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + >=dev-libs/nss-3.26 + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + sys-libs/libcap + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + || ( + x11-libs/gtk+:3[X] + gui-libs/gtk:4[X] + ) + x11-libs/libdrm + >=x11-libs/libX11-1.5.0 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + selinux? ( sec-policy/selinux-chromium ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop" +CHROME_HOME="opt/google/chrome${PN#google-chrome}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "google-chrome only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then + rm usr/share/man/man1/google-chrome.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1 + fi + + pushd "${CHROME_HOME}/locales" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + if ! use qt5; then + rm "${CHROME_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${CHROME_HOME}/libqt6_shim.so" || die + fi + + local suffix= + [[ ${PN} == google-chrome-beta ]] && suffix=_beta + [[ ${PN} == google-chrome-unstable ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + pax-mark m "${CHROME_HOME}/chrome" +} diff --git a/www-client/google-chrome-unstable/Manifest b/www-client/google-chrome-unstable/Manifest index 1f28edc441b7..2612fa5013ee 100644 --- a/www-client/google-chrome-unstable/Manifest +++ b/www-client/google-chrome-unstable/Manifest @@ -1,3 +1,3 @@ -DIST google-chrome-unstable_128.0.6585.0-1_amd64.deb 110270616 BLAKE2B 3e71610836409645422d9041dc4aeafcaa0c68ee5f1e0ce9275759b8cfc9d58d9c9e7182d1ebbbad6752ed82212933b9ff705041f88cc4382eb1316bfb5d7ec3 SHA512 6999db35e87788db360506dfa119c3689b2f1bed811b591fa5be690af9b5173f9999f7a3a38a974c8d132188b3d2338a23395f85ed222f6f69bee68bc3518d13 -EBUILD google-chrome-unstable-128.0.6585.0.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4 +DIST google-chrome-unstable_129.0.6614.3-1_amd64.deb 110811724 BLAKE2B 3309df5811e32c2d1a27b385c191c89acfb0f04904589b66c657020fed46a671a922e57d281a87751638d4b1838134541cc085e70edbce26ed547da2c5aea7ab SHA512 6a07a3646a274b6f84fa8cdc08a8d783f13368dc9d56291232fb9c54831dd56652356477e661c1f8b96d1e898ff04b0d7c568f51a83d547594d3c71362040bfb +EBUILD google-chrome-unstable-129.0.6614.3.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4 MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986 diff --git a/www-client/google-chrome-unstable/google-chrome-unstable-128.0.6585.0.ebuild b/www-client/google-chrome-unstable/google-chrome-unstable-128.0.6585.0.ebuild deleted file mode 100644 index dd9e9c497aea..000000000000 --- a/www-client/google-chrome-unstable/google-chrome-unstable-128.0.6585.0.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 2011-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr - sv sw ta te th tr uk ur vi zh-CN zh-TW" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Google" -HOMEPAGE="https://www.google.com/chrome" - -if [[ ${PN} == google-chrome ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -MY_P="${MY_PN}_${PV}-1" -SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb" -S=${WORKDIR} - -LICENSE="google-chrome" -SLOT="0" -KEYWORDS="-* ~amd64" - -IUSE="qt5 qt6 selinux" - -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - >=dev-libs/nss-3.26 - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl - net-print/cups - sys-apps/dbus - sys-libs/glibc - sys-libs/libcap - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - || ( - x11-libs/gtk+:3[X] - gui-libs/gtk:4[X] - ) - x11-libs/libdrm - >=x11-libs/libX11-1.5.0 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - selinux? ( sec-policy/selinux-chromium ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop" -CHROME_HOME="opt/google/chrome${PN#google-chrome}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "google-chrome only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then - rm usr/share/man/man1/google-chrome.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1 - fi - - pushd "${CHROME_HOME}/locales" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - if ! use qt5; then - rm "${CHROME_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${CHROME_HOME}/libqt6_shim.so" || die - fi - - local suffix= - [[ ${PN} == google-chrome-beta ]] && suffix=_beta - [[ ${PN} == google-chrome-unstable ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - pax-mark m "${CHROME_HOME}/chrome" -} diff --git a/www-client/google-chrome-unstable/google-chrome-unstable-129.0.6614.3.ebuild b/www-client/google-chrome-unstable/google-chrome-unstable-129.0.6614.3.ebuild new file mode 100644 index 000000000000..dd9e9c497aea --- /dev/null +++ b/www-client/google-chrome-unstable/google-chrome-unstable-129.0.6614.3.ebuild @@ -0,0 +1,132 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr + sv sw ta te th tr uk ur vi zh-CN zh-TW" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Google" +HOMEPAGE="https://www.google.com/chrome" + +if [[ ${PN} == google-chrome ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +MY_P="${MY_PN}_${PV}-1" +SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb" +S=${WORKDIR} + +LICENSE="google-chrome" +SLOT="0" +KEYWORDS="-* ~amd64" + +IUSE="qt5 qt6 selinux" + +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + >=dev-libs/nss-3.26 + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + sys-libs/libcap + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + || ( + x11-libs/gtk+:3[X] + gui-libs/gtk:4[X] + ) + x11-libs/libdrm + >=x11-libs/libX11-1.5.0 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + selinux? ( sec-policy/selinux-chromium ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop" +CHROME_HOME="opt/google/chrome${PN#google-chrome}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "google-chrome only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then + rm usr/share/man/man1/google-chrome.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1 + fi + + pushd "${CHROME_HOME}/locales" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + if ! use qt5; then + rm "${CHROME_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${CHROME_HOME}/libqt6_shim.so" || die + fi + + local suffix= + [[ ${PN} == google-chrome-beta ]] && suffix=_beta + [[ ${PN} == google-chrome-unstable ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + pax-mark m "${CHROME_HOME}/chrome" +} diff --git a/www-client/google-chrome/Manifest b/www-client/google-chrome/Manifest index 85efa6411bdf..5aaed4a13e63 100644 --- a/www-client/google-chrome/Manifest +++ b/www-client/google-chrome/Manifest @@ -1,3 +1,3 @@ -DIST google-chrome-stable_126.0.6478.182-1_amd64.deb 108772160 BLAKE2B 8f4a95894a440f64654d5247c32468379b986b7629c5acc33c15e6239f5795d2cb1c781bdab4b071337400156ad3b9bdc9c7b295e7c733b959b77eba6f4ccbef SHA512 3e3e2a41aead21afb612f5d23e6d0538c85b290265f66c481530939b77968642d67c3215b34beb05f0ba8104945a76a1ed53169e38cfffaf3fe92370ddbcf141 -EBUILD google-chrome-126.0.6478.182.ebuild 2982 BLAKE2B 94c28a910834b70ccfa642f6e5372dce9e534bf5b9c210516958e8cd96c4b8e042d360a9fa5c85d13cbe4b152a26b7751f5f87ab832002fe21e83f2cdf03f47e SHA512 23c9d78446da4b7ceef659dd659af367733abb766207e343fc991122d13744e3d67b0919d9d6371df5fc43815301c062087e1ce8d685e41ad0613e352b8c96ee +DIST google-chrome-stable_127.0.6533.88-1_amd64.deb 109450340 BLAKE2B 8f58aad44185ad8c710bd6658a0f6676628c16eab6074d78208f886f5ffe126d90c385680560510e52876f35c3f1cd6ce12607f1546752a4d6a2159f412d5fd2 SHA512 4198574a2767878aa5c96afaef61a6e58215df78968fb490302be1dee4c734a51fdab8d70854b3b432e2a2df97e80f685e68635170ac29e3191cb079aa2d0b90 +EBUILD google-chrome-127.0.6533.88.ebuild 2982 BLAKE2B 94c28a910834b70ccfa642f6e5372dce9e534bf5b9c210516958e8cd96c4b8e042d360a9fa5c85d13cbe4b152a26b7751f5f87ab832002fe21e83f2cdf03f47e SHA512 23c9d78446da4b7ceef659dd659af367733abb766207e343fc991122d13744e3d67b0919d9d6371df5fc43815301c062087e1ce8d685e41ad0613e352b8c96ee MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986 diff --git a/www-client/google-chrome/google-chrome-126.0.6478.182.ebuild b/www-client/google-chrome/google-chrome-126.0.6478.182.ebuild deleted file mode 100644 index a6673ff33b80..000000000000 --- a/www-client/google-chrome/google-chrome-126.0.6478.182.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 2011-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr - sv sw ta te th tr uk ur vi zh-CN zh-TW" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Google" -HOMEPAGE="https://www.google.com/chrome" - -if [[ ${PN} == google-chrome ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -MY_P="${MY_PN}_${PV}-1" -SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb" -S=${WORKDIR} - -LICENSE="google-chrome" -SLOT="0" -KEYWORDS="-* amd64" - -IUSE="qt5 qt6 selinux" - -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - >=dev-libs/nss-3.26 - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl - net-print/cups - sys-apps/dbus - sys-libs/glibc - sys-libs/libcap - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - || ( - x11-libs/gtk+:3[X] - gui-libs/gtk:4[X] - ) - x11-libs/libdrm - >=x11-libs/libX11-1.5.0 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - selinux? ( sec-policy/selinux-chromium ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop" -CHROME_HOME="opt/google/chrome${PN#google-chrome}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "google-chrome only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then - rm usr/share/man/man1/google-chrome.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1 - fi - - pushd "${CHROME_HOME}/locales" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - if ! use qt5; then - rm "${CHROME_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${CHROME_HOME}/libqt6_shim.so" || die - fi - - local suffix= - [[ ${PN} == google-chrome-beta ]] && suffix=_beta - [[ ${PN} == google-chrome-unstable ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - pax-mark m "${CHROME_HOME}/chrome" -} diff --git a/www-client/google-chrome/google-chrome-127.0.6533.88.ebuild b/www-client/google-chrome/google-chrome-127.0.6533.88.ebuild new file mode 100644 index 000000000000..a6673ff33b80 --- /dev/null +++ b/www-client/google-chrome/google-chrome-127.0.6533.88.ebuild @@ -0,0 +1,132 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr + sv sw ta te th tr uk ur vi zh-CN zh-TW" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Google" +HOMEPAGE="https://www.google.com/chrome" + +if [[ ${PN} == google-chrome ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +MY_P="${MY_PN}_${PV}-1" +SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb" +S=${WORKDIR} + +LICENSE="google-chrome" +SLOT="0" +KEYWORDS="-* amd64" + +IUSE="qt5 qt6 selinux" + +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + >=dev-libs/nss-3.26 + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + sys-libs/libcap + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + || ( + x11-libs/gtk+:3[X] + gui-libs/gtk:4[X] + ) + x11-libs/libdrm + >=x11-libs/libX11-1.5.0 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + selinux? ( sec-policy/selinux-chromium ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop" +CHROME_HOME="opt/google/chrome${PN#google-chrome}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "google-chrome only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then + rm usr/share/man/man1/google-chrome.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1 + fi + + pushd "${CHROME_HOME}/locales" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + if ! use qt5; then + rm "${CHROME_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${CHROME_HOME}/libqt6_shim.so" || die + fi + + local suffix= + [[ ${PN} == google-chrome-beta ]] && suffix=_beta + [[ ${PN} == google-chrome-unstable ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + pax-mark m "${CHROME_HOME}/chrome" +} diff --git a/www-client/links/Manifest b/www-client/links/Manifest index 4eb1e9f158cf..c07f4180131e 100644 --- a/www-client/links/Manifest +++ b/www-client/links/Manifest @@ -1,6 +1,7 @@ AUX links-2.29-fix-zstd-only-build.patch 1133 BLAKE2B 72287b766e123566a877b2b5f2c84e8bb660df9a344a2d8d691a2312a34ca29d36054a43f978cb9e6f5033df345ab9154aabe29e23a27c082f4a58e5af518ae8 SHA512 e55c4545c84a39011c4355eece626f929da8ff5b1f8a0201618381c30481f83597b8ef549d026bea8e528d7f74545115c74fa2363bb2a0825b1da04c7427d4ef DIST links-2.29.tar.bz2 6521024 BLAKE2B 6ae2b0e4a4a314756ef74ca19888e4c8a9e89347767475000f4b3ea70eb7157430bb5a6721108585c122eb33f6b05ab5eab600e26c9e1d2b8bdafd85483c6d94 SHA512 5ea8b2fd0eb74d9dc2b45614aef6ee878fe686dff9bcee75ac6ea01f6a7331670f7709233d31986fc64ad86ce549616a4471057837b6caf15af6d1c5c503ac75 +DIST links-2.30.tar.bz2 6569493 BLAKE2B f08ea1228e067034d790f4eaaf90d5e1c8b3d22f80bf598ac840590f1045cab9be40e24b78f8a32c9cb09bfc59f22f53b93ba817e000e2811b38601baf6d8601 SHA512 265f71fcd80a160b48b9572c4ca326c26a45032fbca69be3f3b6e60af136152daa22884e097ef719db950607425eb0e8c7f8714047f2476000301fd2b76c3806 DIST links-graphics-xlinks-logo-pic.png 6041 BLAKE2B dfa6c036eaeca66a4aabd909b3b5eb61dd9a4079ab236a2d65ca1756d1110319913849569cad19e59ca4ae2413f518d0613588b58c81b718d718a61f072f2e52 SHA512 563ba62e1172e86ae6911ea743ecb1faef1a8739c30c50355b6f12669aa91aa6fefb284ed049dc9b81537b2e9950ef501453ebfcd82ad284536d20a08e97ff36 -EBUILD links-2.29-r1.ebuild 3833 BLAKE2B 15fbb241ac092d45f998a57d7bacafd0377ee6cae996ee702862f0b03f902586d16f7f546df300d4c0d5acd690e3304d34f39e1b2ea0eeac6684c18013a39aff SHA512 9c272ecdb52a051c28f27b95974b4bc1684b3279fc3a65a3b672e8d89842098ba4b7805fcca61e98d5428fc54234022db4ca562af8347080eb3ec3934fc7920e -EBUILD links-2.29.ebuild 3805 BLAKE2B eb9e5f2a44659b5c9e41e2d7b45967ebecd6ecfff81c5c2d868b1cf9ebed067712b0d4878d1d53a7987749023d05872d7b90733b4d9570f18d3ca5dcde06c74a SHA512 12d4772946d2db2201697d1e3c1c1b5ec356b9ea2d68b0c42903912b51bc24b0382157af435c489840b7cd860b70483b30b9e88106811370607ea911e9284fa7 +EBUILD links-2.29-r1.ebuild 3870 BLAKE2B a2f8f1671b217a432e9dc2696fe57c3990992af9ce0bd891663e4a54a32154ae486cfa81c145ea05f0f4c4a964975eb13e21acb852160a779e0a35434da2478f SHA512 fb1009e948f3d392a1582dfe72115efcd76556e5ed11c23e377a12e68d3ce1dd1ffdfc5177832cfbeb3fe5bf5f6d2a545b673e5fafb88ca8427bc43a0660ab1a +EBUILD links-2.30.ebuild 3878 BLAKE2B 539c6bcfc82adb4d300d726b8c3d3371d8ea602b4233ef1fc7ec516641d24ea8e5c5ac6558c6cad19e3c1219a438c5816d31a246d9b6e86998c810aab799e3e6 SHA512 9dd6a7f6c9a5eb7ea68131001703bca417863521bf84d767017e0577497c585e834767fe9d5ad2ddcc41100567648f2ea8d44b736267e6d26288c156aac85865 MISC metadata.xml 416 BLAKE2B 97077aba7550096fedf9c6293ee90effdc61e39110d4c230e6110d36cf109dd3b3793bd57739850c63ebc0eb2b2a2b73e0f14f35cb2de4c9f795f238941e0834 SHA512 d027e671a5ba2b46c5c6db5415d26057f9de6cdb76c5c81940f11576ff7d188f7d292691c84f481781250b49a512c03706135cdd87f40ab4de365c60e7990e13 diff --git a/www-client/links/links-2.29-r1.ebuild b/www-client/links/links-2.29-r1.ebuild index e80a0cafb866..18b3306ba264 100644 --- a/www-client/links/links-2.29-r1.ebuild +++ b/www-client/links/links-2.29-r1.ebuild @@ -17,8 +17,9 @@ IUSE="avif brotli bzip2 fbcon freetype gpm jpeg libevent livecd lzip lzma selinu GRAPHICS_DEPEND="media-libs/libpng:=" +# libbsd: #931216 RDEPEND=" - dev-libs/libbsd + !elibc_Darwin? ( dev-libs/libbsd ) avif? ( media-libs/libavif:= ) diff --git a/www-client/links/links-2.29.ebuild b/www-client/links/links-2.29.ebuild deleted file mode 100644 index 340c6cac2337..000000000000 --- a/www-client/links/links-2.29.ebuild +++ /dev/null @@ -1,184 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools desktop toolchain-funcs xdg-utils - -DESCRIPTION="A fast and lightweight web browser running in both graphics and text mode" -HOMEPAGE="http://links.twibright.com/" -SRC_URI="http://${PN}.twibright.com/download/${P}.tar.bz2 - X? ( https://dashboard.snapcraft.io/site_media/appmedia/2018/07/links-graphics-xlinks-logo-pic.png )" - -LICENSE="GPL-2" -SLOT="2" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="avif brotli bzip2 fbcon freetype gpm jpeg libevent livecd lzip lzma selinux ssl suid svga tiff webp X zlib zstd" - -GRAPHICS_DEPEND="media-libs/libpng:=" - -RDEPEND=" - dev-libs/libbsd - avif? ( - media-libs/libavif:= - ) - brotli? ( - app-arch/brotli:= - ) - bzip2? ( - app-arch/bzip2 - ) - fbcon? ( - ${GRAPHICS_DEPEND} - ) - freetype? ( - media-libs/fontconfig - media-libs/freetype - ) - gpm? ( - sys-libs/gpm - ) - jpeg? ( - media-libs/libjpeg-turbo:= - ) - libevent? ( - dev-libs/libevent:= - ) - livecd? ( - ${GRAPHICS_DEPEND} - sys-libs/gpm - media-libs/libjpeg-turbo:= - ) - lzip? ( - app-arch/lzlib - ) - lzma? ( - app-arch/xz-utils - ) - ssl? ( - dev-libs/openssl:= - ) - svga? ( - ${GRAPHICS_DEPEND} - media-libs/svgalib - ) - tiff? ( - media-libs/tiff:= - ) - webp? ( - media-libs/libwebp:= - ) - X? ( - ${GRAPHICS_DEPEND} - x11-libs/libXext - ) - zlib? ( - sys-libs/zlib - ) - zstd? ( - app-arch/zstd:= - )" - -DEPEND="${RDEPEND} - fbcon? ( virtual/os-headers ) - livecd? ( virtual/os-headers )" - -BDEPEND="virtual/pkgconfig" - -IDEPEND="X? ( dev-util/desktop-file-utils )" - -RDEPEND+=" selinux? ( sec-policy/selinux-links )" - -REQUIRED_USE="!livecd? ( fbcon? ( gpm ) ) - svga? ( suid )" - -DOCS=( AUTHORS BRAILLE_HOWTO ChangeLog KEYS NEWS README SITES ) - -PATCHES=( "${FILESDIR}/links-2.29-fix-zstd-only-build.patch" ) - -src_prepare() { - use X && xdg_environment_reset - - pushd intl > /dev/null || die - ./gen-intl || die - ./synclang || die - popd > /dev/null || die - - # error: conditional "am__fastdepCXX" was never defined (for eautoreconf) - sed -i \ - -e '/AC_PROG_CXX/s:dnl ::' \ - -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \ - configure.in || die #467020 - - # Upstream configure produced by broken autoconf-2.13. This also fixes - # toolchain detection. - mv configure.in configure.ac || die - - default - eautoreconf #131440 and #103483#c23 -} - -src_configure() { - local myconf - - if use livecd; then - export ac_cv_lib_gpm_Gpm_Open=yes - myconf+=' --with-fb --with-libjpeg' - else - export ac_cv_lib_gpm_Gpm_Open=$(usex gpm) - fi - - if use X || use fbcon || use svga || use livecd; then - myconf+=' --enable-graphics' - fi - - tc-export PKG_CONFIG - - econf \ - --without-directfb \ - --without-librsvg \ - --with-ipv6 \ - $(use_with avif libavif) \ - $(use_with brotli) \ - $(use_with bzip2) \ - $(use_with fbcon fb) \ - $(use_with freetype) \ - $(use_with jpeg libjpeg) \ - $(use_with libevent) \ - $(use_with lzip) \ - $(use_with lzma) \ - $(use_with ssl) \ - $(use_with svga svgalib) \ - $(use_with tiff libtiff) \ - $(use_with webp libwebp) \ - $(use_with X x) \ - $(use_with zlib) \ - $(use_with zstd) \ - ${myconf} -} - -src_install() { - HTML_DOCS="doc/links_cal/*" - default - - if use X; then - newicon "${DISTDIR}"/links-graphics-xlinks-logo-pic.png links.png - make_desktop_entry 'links -g %u' Links links 'Network;WebBrowser' - local d="${ED}"/usr/share/applications - echo 'MimeType=x-scheme-handler/http;' >> "${d}"/*.desktop || die - if use ssl; then - sed -i -e 's:x-scheme-handler/http;:&x-scheme-handler/https;:' \ - "${d}"/*.desktop || die - fi - fi - - use suid && fperms 4755 /usr/bin/links -} - -pkg_postinst() { - use X && xdg_desktop_database_update -} - -pkg_postrm() { - use X && xdg_desktop_database_update -} diff --git a/www-client/links/links-2.30.ebuild b/www-client/links/links-2.30.ebuild new file mode 100644 index 000000000000..a31758ffb3d4 --- /dev/null +++ b/www-client/links/links-2.30.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools desktop toolchain-funcs xdg-utils + +DESCRIPTION="A fast and lightweight web browser running in both graphics and text mode" +HOMEPAGE="http://links.twibright.com/" +SRC_URI="http://${PN}.twibright.com/download/${P}.tar.bz2 + X? ( https://dashboard.snapcraft.io/site_media/appmedia/2018/07/links-graphics-xlinks-logo-pic.png )" + +LICENSE="GPL-2" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="avif brotli bzip2 fbcon freetype gpm jpeg libevent livecd lzip lzma selinux ssl suid svga tiff webp X zlib zstd" + +GRAPHICS_DEPEND="media-libs/libpng:=" + +# libbsd: #931216 +RDEPEND=" + !elibc_Darwin? ( dev-libs/libbsd ) + avif? ( + media-libs/libavif:= + ) + brotli? ( + app-arch/brotli:= + ) + bzip2? ( + app-arch/bzip2 + ) + fbcon? ( + ${GRAPHICS_DEPEND} + ) + freetype? ( + media-libs/fontconfig + media-libs/freetype + ) + gpm? ( + sys-libs/gpm + ) + jpeg? ( + media-libs/libjpeg-turbo:= + ) + libevent? ( + dev-libs/libevent:= + ) + livecd? ( + ${GRAPHICS_DEPEND} + sys-libs/gpm + media-libs/libjpeg-turbo:= + ) + lzip? ( + app-arch/lzlib + ) + lzma? ( + app-arch/xz-utils + ) + ssl? ( + dev-libs/openssl:= + ) + svga? ( + ${GRAPHICS_DEPEND} + media-libs/svgalib + ) + tiff? ( + media-libs/tiff:= + ) + webp? ( + media-libs/libwebp:= + ) + X? ( + ${GRAPHICS_DEPEND} + x11-libs/libX11 + ) + zlib? ( + sys-libs/zlib + ) + zstd? ( + app-arch/zstd:= + )" + +DEPEND="${RDEPEND} + fbcon? ( virtual/os-headers ) + livecd? ( virtual/os-headers ) + X? ( x11-base/xorg-proto ) +" + +BDEPEND="virtual/pkgconfig" + +IDEPEND="X? ( dev-util/desktop-file-utils )" + +RDEPEND+=" selinux? ( sec-policy/selinux-links )" + +REQUIRED_USE="!livecd? ( fbcon? ( gpm ) ) + svga? ( suid )" + +DOCS=( AUTHORS BRAILLE_HOWTO ChangeLog KEYS NEWS README SITES ) + +PATCHES=( "${FILESDIR}/links-2.29-fix-zstd-only-build.patch" ) + +src_prepare() { + use X && xdg_environment_reset + + pushd intl > /dev/null || die + ./gen-intl || die + ./synclang || die + popd > /dev/null || die + + # error: conditional "am__fastdepCXX" was never defined (for eautoreconf) + sed -i \ + -e '/AC_PROG_CXX/s:dnl ::' \ + -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \ + configure.in || die #467020 + + # Upstream configure produced by broken autoconf-2.13. This also fixes + # toolchain detection. + mv configure.in configure.ac || die + + default + eautoreconf #131440 and #103483#c23 +} + +src_configure() { + local myconf + + if use livecd; then + export ac_cv_lib_gpm_Gpm_Open=yes + myconf+=' --with-fb --with-libjpeg' + else + export ac_cv_lib_gpm_Gpm_Open=$(usex gpm) + fi + + if use X || use fbcon || use svga || use livecd; then + myconf+=' --enable-graphics' + fi + + tc-export PKG_CONFIG + + econf \ + --without-directfb \ + --without-librsvg \ + --with-ipv6 \ + $(use_with avif libavif) \ + $(use_with brotli) \ + $(use_with bzip2) \ + $(use_with fbcon fb) \ + $(use_with freetype) \ + $(use_with jpeg libjpeg) \ + $(use_with libevent) \ + $(use_with lzip) \ + $(use_with lzma) \ + $(use_with ssl) \ + $(use_with svga svgalib) \ + $(use_with tiff libtiff) \ + $(use_with webp libwebp) \ + $(use_with X x) \ + $(use_with zlib) \ + $(use_with zstd) \ + ${myconf} +} + +src_install() { + HTML_DOCS="doc/links_cal/*" + default + + if use X; then + newicon "${DISTDIR}"/links-graphics-xlinks-logo-pic.png links.png + make_desktop_entry 'links -g %u' Links links 'Network;WebBrowser' + local d="${ED}"/usr/share/applications + echo 'MimeType=x-scheme-handler/http;' >> "${d}"/*.desktop || die + if use ssl; then + sed -i -e 's:x-scheme-handler/http;:&x-scheme-handler/https;:' \ + "${d}"/*.desktop || die + fi + fi + + use suid && fperms 4755 /usr/bin/links +} + +pkg_postinst() { + use X && xdg_desktop_database_update +} + +pkg_postrm() { + use X && xdg_desktop_database_update +} diff --git a/www-client/microsoft-edge-beta/Manifest b/www-client/microsoft-edge-beta/Manifest index 701afd2bc526..8ead52c945f6 100644 --- a/www-client/microsoft-edge-beta/Manifest +++ b/www-client/microsoft-edge-beta/Manifest @@ -1,7 +1,7 @@ -DIST microsoft-edge-beta_127.0.2651.31-1_amd64.deb 166291494 BLAKE2B 6a444905f2a7d8f7f28b86205196d6d08622d293297f034d9431f5e680e915c742e4109afcc5fbcd8796e76add68d311850f3e3315c69e1cdefeb1842f20173b SHA512 0743b3a68626093559b6a587923bb51eb2d8f8989de36984f1a3bb8dd5167454217048a989c4364aeaa01fb075de5e46d709cda8bfbadf975e1bc94892035bb7 -DIST microsoft-edge-beta_127.0.2651.45-1_amd64.deb 167081034 BLAKE2B ec49bb538a7edbf10344ac7caf91a1b4d00db22483e6d06bbb076b4634090a6d8c584f5dcd4f79b243cb610e784345a9804e3bd4014f4368959b6561a80a643e SHA512 2c6b69f05c61801698fcc5abe304e65699772dffa063c89bda7d5f9c53070f570a4920d6c3f85d83a07a4ec25de04169effac19ad02bf6c2f0fc30a78585f9d6 -DIST microsoft-edge-beta_127.0.2651.49-1_amd64.deb 167190014 BLAKE2B b35632e690895a75c3cab7a61b9c032a6281b08de59bde1692728b160c216e43a39369387cae06f6c3f444cb32323319e987b97cc951f5da8c4a629523468baf SHA512 b69190dcc89b09caf44a261844f358b256e6a74a08d95730ad2ce7bf4ff728cefef25b02a0a51e031d578f5bec25bdec9d6bb93ee866332c55b8370fa7e5528a -EBUILD microsoft-edge-beta-127.0.2651.31.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b -EBUILD microsoft-edge-beta-127.0.2651.45.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b -EBUILD microsoft-edge-beta-127.0.2651.49.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b +DIST microsoft-edge-beta_127.0.2651.61-1_amd64.deb 167260002 BLAKE2B d54684549fc6f4a7bebfde5232d7051b43e382468b508910894a3a2e6947b5704a2d7f01897a239a8dae0f432f47d05601612a57dc8e0acd28289ef17501c4d6 SHA512 3fa180a9b2e973232ec8f73f44c1ab00b8aba0d01deb295cdf8ec4286035adac4dabacd7a8bd96a528d2e34b45905bc0f080b46dfef6aae02be52ddf7a85621c +DIST microsoft-edge-beta_127.0.2651.72-1_amd64.deb 167163198 BLAKE2B 2b72634760d3db3f9c5d519b0a18689b8d91fee1a1abdf9bcc51b1d836ac5c115bdd887fc8ec0bd3fbaf6d20346e000e9a7f0319fea1faafef5dddaf098c01f5 SHA512 0cd93a21ff23411c14e707abcca323a81af66db58ef661e14851572f64822270e5c21f2277c40c88ab1f65099803620985ae66fbb0e4a4e2a6f7f0b5376ea719 +DIST microsoft-edge-beta_127.0.2651.74-1_amd64.deb 167194306 BLAKE2B e0c2ae5a7adaf54d81184a65358c2fe5a04217c1c551181d76cc47b587cdbcda3c9a054c98d1da974296e006780bc15f531727174cf401985be05e41f6d0b3fc SHA512 035f5dd9134c6650fbf19bb88df04fbda1eb2e6b7bb764d4fc17564f23d7ac47cda3083d70d88cb3566f0e0bfa71f7b6dfca5fcf7c995f62a95dacde5b9d7b51 +EBUILD microsoft-edge-beta-127.0.2651.61.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b +EBUILD microsoft-edge-beta-127.0.2651.72.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b +EBUILD microsoft-edge-beta-127.0.2651.74.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.31.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.31.ebuild deleted file mode 100644 index 0ff710cc5ddc..000000000000 --- a/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.31.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 2011-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Microsoft" -HOMEPAGE="https://www.microsoft.com/edge" - -if [[ ${PN} == microsoft-edge ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -MY_P="${MY_PN}_${PV}-1" -SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" -S=${WORKDIR} - -LICENSE="microsoft-edge" -SLOT="0" -KEYWORDS="-* ~amd64" - -IUSE="+mip qt5 qt6" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl[ssl] - net-print/cups - sys-apps/dbus - sys-apps/util-linux - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - mip? ( app-crypt/libsecret ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" -EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "microsoft-edge only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -f _gpgorigin || die - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then - rm usr/share/man/man1/${PN}.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 - fi - - local suffix= - [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta - [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - if ! use mip; then - rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die - fi - - if ! use qt5; then - rm "${EDGE_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${EDGE_HOME}/libqt6_shim.so" || die - fi - - pax-mark m "${EDGE_HOME}/msedge" -} diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.45.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.45.ebuild deleted file mode 100644 index 0ff710cc5ddc..000000000000 --- a/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.45.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 2011-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Microsoft" -HOMEPAGE="https://www.microsoft.com/edge" - -if [[ ${PN} == microsoft-edge ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -MY_P="${MY_PN}_${PV}-1" -SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" -S=${WORKDIR} - -LICENSE="microsoft-edge" -SLOT="0" -KEYWORDS="-* ~amd64" - -IUSE="+mip qt5 qt6" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl[ssl] - net-print/cups - sys-apps/dbus - sys-apps/util-linux - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - mip? ( app-crypt/libsecret ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" -EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "microsoft-edge only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -f _gpgorigin || die - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then - rm usr/share/man/man1/${PN}.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 - fi - - local suffix= - [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta - [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - if ! use mip; then - rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die - fi - - if ! use qt5; then - rm "${EDGE_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${EDGE_HOME}/libqt6_shim.so" || die - fi - - pax-mark m "${EDGE_HOME}/msedge" -} diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.49.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.49.ebuild deleted file mode 100644 index 0ff710cc5ddc..000000000000 --- a/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.49.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 2011-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Microsoft" -HOMEPAGE="https://www.microsoft.com/edge" - -if [[ ${PN} == microsoft-edge ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -MY_P="${MY_PN}_${PV}-1" -SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" -S=${WORKDIR} - -LICENSE="microsoft-edge" -SLOT="0" -KEYWORDS="-* ~amd64" - -IUSE="+mip qt5 qt6" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl[ssl] - net-print/cups - sys-apps/dbus - sys-apps/util-linux - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - mip? ( app-crypt/libsecret ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" -EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "microsoft-edge only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -f _gpgorigin || die - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then - rm usr/share/man/man1/${PN}.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 - fi - - local suffix= - [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta - [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - if ! use mip; then - rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die - fi - - if ! use qt5; then - rm "${EDGE_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${EDGE_HOME}/libqt6_shim.so" || die - fi - - pax-mark m "${EDGE_HOME}/msedge" -} diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.61.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.61.ebuild new file mode 100644 index 000000000000..0ff710cc5ddc --- /dev/null +++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.61.ebuild @@ -0,0 +1,126 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Microsoft" +HOMEPAGE="https://www.microsoft.com/edge" + +if [[ ${PN} == microsoft-edge ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +MY_P="${MY_PN}_${PV}-1" +SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" +S=${WORKDIR} + +LICENSE="microsoft-edge" +SLOT="0" +KEYWORDS="-* ~amd64" + +IUSE="+mip qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl[ssl] + net-print/cups + sys-apps/dbus + sys-apps/util-linux + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + mip? ( app-crypt/libsecret ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" +EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "microsoft-edge only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -f _gpgorigin || die + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then + rm usr/share/man/man1/${PN}.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 + fi + + local suffix= + [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta + [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + if ! use mip; then + rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die + fi + + if ! use qt5; then + rm "${EDGE_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${EDGE_HOME}/libqt6_shim.so" || die + fi + + pax-mark m "${EDGE_HOME}/msedge" +} diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.72.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.72.ebuild new file mode 100644 index 000000000000..0ff710cc5ddc --- /dev/null +++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.72.ebuild @@ -0,0 +1,126 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Microsoft" +HOMEPAGE="https://www.microsoft.com/edge" + +if [[ ${PN} == microsoft-edge ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +MY_P="${MY_PN}_${PV}-1" +SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" +S=${WORKDIR} + +LICENSE="microsoft-edge" +SLOT="0" +KEYWORDS="-* ~amd64" + +IUSE="+mip qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl[ssl] + net-print/cups + sys-apps/dbus + sys-apps/util-linux + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + mip? ( app-crypt/libsecret ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" +EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "microsoft-edge only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -f _gpgorigin || die + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then + rm usr/share/man/man1/${PN}.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 + fi + + local suffix= + [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta + [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + if ! use mip; then + rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die + fi + + if ! use qt5; then + rm "${EDGE_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${EDGE_HOME}/libqt6_shim.so" || die + fi + + pax-mark m "${EDGE_HOME}/msedge" +} diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.74.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.74.ebuild new file mode 100644 index 000000000000..0ff710cc5ddc --- /dev/null +++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-127.0.2651.74.ebuild @@ -0,0 +1,126 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Microsoft" +HOMEPAGE="https://www.microsoft.com/edge" + +if [[ ${PN} == microsoft-edge ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +MY_P="${MY_PN}_${PV}-1" +SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" +S=${WORKDIR} + +LICENSE="microsoft-edge" +SLOT="0" +KEYWORDS="-* ~amd64" + +IUSE="+mip qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl[ssl] + net-print/cups + sys-apps/dbus + sys-apps/util-linux + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + mip? ( app-crypt/libsecret ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" +EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "microsoft-edge only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -f _gpgorigin || die + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then + rm usr/share/man/man1/${PN}.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 + fi + + local suffix= + [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta + [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + if ! use mip; then + rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die + fi + + if ! use qt5; then + rm "${EDGE_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${EDGE_HOME}/libqt6_shim.so" || die + fi + + pax-mark m "${EDGE_HOME}/msedge" +} diff --git a/www-client/microsoft-edge-dev/Manifest b/www-client/microsoft-edge-dev/Manifest index bd56b1a2c1de..ca9b4c92ead6 100644 --- a/www-client/microsoft-edge-dev/Manifest +++ b/www-client/microsoft-edge-dev/Manifest @@ -1,7 +1,7 @@ -DIST microsoft-edge-dev_128.0.2661.0-1_amd64.deb 166470038 BLAKE2B 2e0ba0688d6bb0759f5bd3311dadab16fe659a7f50c1b9786fe75f9f8304617fe5e3c6baf7526fbab6724866131729effbf6577513201f503bdeae7a504d544c SHA512 c88bf304dc552f68f49a07b3f8bbad28b96b593e18d161884c7898f67768361e01c653f3681512fb27fe0c8949f5211ed4fd70ce14c12c896452441be2ccc2d3 -DIST microsoft-edge-dev_128.0.2677.1-1_amd64.deb 167448190 BLAKE2B 53d8abb515e2dc836af3f962a3860993bf714da8fa56f94e62f4c89c8800d259c23c8818243e14ab5975d6cb08cc538afcb4cebe183538d5eb5b7c17fa09d511 SHA512 769c781155e88afda271a435c5affe4ce1cab751417ce4baea4e9321a5eae033c8db760fcec6c899b938efcc23310ade875c340642065e7af01eaae35567c8e3 DIST microsoft-edge-dev_128.0.2708.0-1_amd64.deb 167730670 BLAKE2B 17c503c20050cba6bb0cac4c2f3d900b51d6e8020db117ef5aaa0b319edd65b0a3ee5e49cadadd5659f4b7d9113b866466f2d6a0bf67d7264731baa0ab8511ed SHA512 c98ce5cad5b6347bb0989fe6197eccfc4a3d3d69d63e2365894cf681a969e84c97ba939afaffdc13c362639fb96369a018dc71b4745726a4e60725ffbc6f541d -EBUILD microsoft-edge-dev-128.0.2661.0.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b -EBUILD microsoft-edge-dev-128.0.2677.1.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b +DIST microsoft-edge-dev_128.0.2730.0-1_amd64.deb 168028102 BLAKE2B f09788950bd844dd1bf37c1ad97af568185fcb4003a61acb4d7fafe8c1219fafd053c7349816e41b8bae5fdeb0cf72fe92b4e0fcc80e1e47b39bf494dd8211de SHA512 b8d88eaf7ff0649beb91145c89ed86496ad121e3445f8dbb4471047ade4c083867f7ee5fc7e2eee588d86130114cadf1e7bc553e0a858f124a454c64f2c38894 +DIST microsoft-edge-dev_128.0.2739.1-1_amd64.deb 166657862 BLAKE2B b67d112033230af0aece78f8d3b61d725d42e3cf6ea54b80b054d7d0a38d9f92f833b809b887bfc355270d5e71f9fdf125052624cb09c1156f7e6e9cad641a53 SHA512 70aba71af2d2e80c3722bf7d19fc3ec195075cdde4f8ed84cb23920fa44fe40499dc4d42a126eb311fee3283cae28bd959c00fc644831de4cf800fe5a117b048 EBUILD microsoft-edge-dev-128.0.2708.0.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b +EBUILD microsoft-edge-dev-128.0.2730.0.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b +EBUILD microsoft-edge-dev-128.0.2739.1.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2661.0.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2661.0.ebuild deleted file mode 100644 index 0ff710cc5ddc..000000000000 --- a/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2661.0.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 2011-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Microsoft" -HOMEPAGE="https://www.microsoft.com/edge" - -if [[ ${PN} == microsoft-edge ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -MY_P="${MY_PN}_${PV}-1" -SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" -S=${WORKDIR} - -LICENSE="microsoft-edge" -SLOT="0" -KEYWORDS="-* ~amd64" - -IUSE="+mip qt5 qt6" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl[ssl] - net-print/cups - sys-apps/dbus - sys-apps/util-linux - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - mip? ( app-crypt/libsecret ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" -EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "microsoft-edge only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -f _gpgorigin || die - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then - rm usr/share/man/man1/${PN}.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 - fi - - local suffix= - [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta - [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - if ! use mip; then - rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die - fi - - if ! use qt5; then - rm "${EDGE_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${EDGE_HOME}/libqt6_shim.so" || die - fi - - pax-mark m "${EDGE_HOME}/msedge" -} diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2677.1.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2677.1.ebuild deleted file mode 100644 index 0ff710cc5ddc..000000000000 --- a/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2677.1.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 2011-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Microsoft" -HOMEPAGE="https://www.microsoft.com/edge" - -if [[ ${PN} == microsoft-edge ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -MY_P="${MY_PN}_${PV}-1" -SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" -S=${WORKDIR} - -LICENSE="microsoft-edge" -SLOT="0" -KEYWORDS="-* ~amd64" - -IUSE="+mip qt5 qt6" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl[ssl] - net-print/cups - sys-apps/dbus - sys-apps/util-linux - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - mip? ( app-crypt/libsecret ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" -EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "microsoft-edge only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -f _gpgorigin || die - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then - rm usr/share/man/man1/${PN}.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 - fi - - local suffix= - [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta - [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - if ! use mip; then - rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die - fi - - if ! use qt5; then - rm "${EDGE_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${EDGE_HOME}/libqt6_shim.so" || die - fi - - pax-mark m "${EDGE_HOME}/msedge" -} diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2730.0.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2730.0.ebuild new file mode 100644 index 000000000000..0ff710cc5ddc --- /dev/null +++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2730.0.ebuild @@ -0,0 +1,126 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Microsoft" +HOMEPAGE="https://www.microsoft.com/edge" + +if [[ ${PN} == microsoft-edge ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +MY_P="${MY_PN}_${PV}-1" +SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" +S=${WORKDIR} + +LICENSE="microsoft-edge" +SLOT="0" +KEYWORDS="-* ~amd64" + +IUSE="+mip qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl[ssl] + net-print/cups + sys-apps/dbus + sys-apps/util-linux + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + mip? ( app-crypt/libsecret ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" +EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "microsoft-edge only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -f _gpgorigin || die + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then + rm usr/share/man/man1/${PN}.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 + fi + + local suffix= + [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta + [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + if ! use mip; then + rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die + fi + + if ! use qt5; then + rm "${EDGE_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${EDGE_HOME}/libqt6_shim.so" || die + fi + + pax-mark m "${EDGE_HOME}/msedge" +} diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2739.1.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2739.1.ebuild new file mode 100644 index 000000000000..0ff710cc5ddc --- /dev/null +++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-128.0.2739.1.ebuild @@ -0,0 +1,126 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Microsoft" +HOMEPAGE="https://www.microsoft.com/edge" + +if [[ ${PN} == microsoft-edge ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +MY_P="${MY_PN}_${PV}-1" +SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" +S=${WORKDIR} + +LICENSE="microsoft-edge" +SLOT="0" +KEYWORDS="-* ~amd64" + +IUSE="+mip qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl[ssl] + net-print/cups + sys-apps/dbus + sys-apps/util-linux + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + mip? ( app-crypt/libsecret ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" +EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "microsoft-edge only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -f _gpgorigin || die + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then + rm usr/share/man/man1/${PN}.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 + fi + + local suffix= + [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta + [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + if ! use mip; then + rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die + fi + + if ! use qt5; then + rm "${EDGE_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${EDGE_HOME}/libqt6_shim.so" || die + fi + + pax-mark m "${EDGE_HOME}/msedge" +} diff --git a/www-client/microsoft-edge/Manifest b/www-client/microsoft-edge/Manifest index baff25aa52e3..75f132655e40 100644 --- a/www-client/microsoft-edge/Manifest +++ b/www-client/microsoft-edge/Manifest @@ -1,3 +1,3 @@ -DIST microsoft-edge-stable_126.0.2592.102-1_amd64.deb 168166266 BLAKE2B 02f884e3d22c933b0033ce4b0b1bccf4364aad51a49f622b8003f803ef732a3ed5ed9346c6bfdb5873ce3676ec76b903034aaceb1cdb0c7c8e5a4a5c46d8603c SHA512 67d5fb6269a0c80680d5961783b82958f2c5d53143800a85c3aa7772e34fd32a4f860a040b37e5bae92c7d8a72efd975bd8047b5072a7e11335a63d6d03857c5 -EBUILD microsoft-edge-126.0.2592.102.ebuild 2711 BLAKE2B 1bb44a3c56ae9b33ff45f5cede57afd5c9f39d9b02f030029e22de9694efe09e68eb0106d8a896e85de2fb033341c7b479a3c4d10e9b5be5ee50fa9ab218da0b SHA512 3df8105072f7b861b8fbb50a8c93ecd9b8221548dcfc84563b8aae1546c94687d45d8dded312c9b560f99bb9b3bcf0da24ca8489dd413b52a245943e778a073a +DIST microsoft-edge-stable_127.0.2651.74-1_amd64.deb 167192306 BLAKE2B 8b57bbc9ea1767deef1e1cffafcfb1fd2cc47a130dff87f3d0d0888a1727d0239c575313860d67630b558437edcd49e8a5645286f2188acff1e255d2b1b20381 SHA512 7230015da941d50041d700c69a859fad3f34be2a3af222996dc6ff7db2e5300af8598c6775a433930cf8c64a7780285407639901aab73b8e7dcbb73221c41ccb +EBUILD microsoft-edge-127.0.2651.74.ebuild 2711 BLAKE2B 1bb44a3c56ae9b33ff45f5cede57afd5c9f39d9b02f030029e22de9694efe09e68eb0106d8a896e85de2fb033341c7b479a3c4d10e9b5be5ee50fa9ab218da0b SHA512 3df8105072f7b861b8fbb50a8c93ecd9b8221548dcfc84563b8aae1546c94687d45d8dded312c9b560f99bb9b3bcf0da24ca8489dd413b52a245943e778a073a MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d diff --git a/www-client/microsoft-edge/microsoft-edge-126.0.2592.102.ebuild b/www-client/microsoft-edge/microsoft-edge-126.0.2592.102.ebuild deleted file mode 100644 index 7ea339bd40f9..000000000000 --- a/www-client/microsoft-edge/microsoft-edge-126.0.2592.102.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 2011-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Microsoft" -HOMEPAGE="https://www.microsoft.com/edge" - -if [[ ${PN} == microsoft-edge ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -MY_P="${MY_PN}_${PV}-1" -SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" -S=${WORKDIR} - -LICENSE="microsoft-edge" -SLOT="0" -KEYWORDS="-* amd64" - -IUSE="+mip qt5 qt6" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl[ssl] - net-print/cups - sys-apps/dbus - sys-apps/util-linux - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - mip? ( app-crypt/libsecret ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" -EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "microsoft-edge only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -f _gpgorigin || die - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then - rm usr/share/man/man1/${PN}.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 - fi - - local suffix= - [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta - [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - if ! use mip; then - rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die - fi - - if ! use qt5; then - rm "${EDGE_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${EDGE_HOME}/libqt6_shim.so" || die - fi - - pax-mark m "${EDGE_HOME}/msedge" -} diff --git a/www-client/microsoft-edge/microsoft-edge-127.0.2651.74.ebuild b/www-client/microsoft-edge/microsoft-edge-127.0.2651.74.ebuild new file mode 100644 index 000000000000..7ea339bd40f9 --- /dev/null +++ b/www-client/microsoft-edge/microsoft-edge-127.0.2651.74.ebuild @@ -0,0 +1,126 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Microsoft" +HOMEPAGE="https://www.microsoft.com/edge" + +if [[ ${PN} == microsoft-edge ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +MY_P="${MY_PN}_${PV}-1" +SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" +S=${WORKDIR} + +LICENSE="microsoft-edge" +SLOT="0" +KEYWORDS="-* amd64" + +IUSE="+mip qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl[ssl] + net-print/cups + sys-apps/dbus + sys-apps/util-linux + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + mip? ( app-crypt/libsecret ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" +EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "microsoft-edge only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -f _gpgorigin || die + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then + rm usr/share/man/man1/${PN}.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 + fi + + local suffix= + [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta + [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + if ! use mip; then + rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die + fi + + if ! use qt5; then + rm "${EDGE_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${EDGE_HOME}/libqt6_shim.so" || die + fi + + pax-mark m "${EDGE_HOME}/msedge" +} diff --git a/www-client/opera-beta/Manifest b/www-client/opera-beta/Manifest index 2d76371e546c..200011257680 100644 --- a/www-client/opera-beta/Manifest +++ b/www-client/opera-beta/Manifest @@ -1,7 +1,7 @@ -DIST opera-beta_111.0.5168.15_amd64.deb 110248164 BLAKE2B 05a58600640ffdf6d75ca673458f3e89d94ba15b7fa8ba3935f49a5d53c937994ce59ea36a4e8becf8ecb1d87b0d451f38f422253c24e6e2db56a7af71ad9072 SHA512 37502f15d08564c1e667797c646c1310647e28c00f6601114862cbec82a9f4afd5f3f5dd2a1f46db19f6ae32c36c413c018c2bc5008e5d19ece89d0ee8673daf DIST opera-beta_112.0.5197.10_amd64.deb 111011432 BLAKE2B 214a3ac05a1c457dda6ab78529bd28023a3ee8e809da12a45cdb23eb37765eb8be36d0854d765ac8b472e762ded7ca147a951ff7ea2ec44402c874312b8760de SHA512 c8efefc1f412ac3c4bd1555fbf837fa18917b7857ed22436c0044631d05a6188d24be5f60a6b283f8884a76eaca7fcc5462217d0f52e4b8445614724b1a18b52 -DIST opera-beta_112.0.5197.5_amd64.deb 111091348 BLAKE2B 4e683d4fdb536a9b6beaa9be325738bd5282afa18cde816de04cc1285c1f021f8063fec07b505ab9af56eb33170e4342959154a63e384be7d9cde9bd9fe62b56 SHA512 d98b62e2ac94f154474f247a60c9acbb4fcddf1bf3443456bc742152c5a2f9ac36d6cfecd60e3f416550257f2f088cee61d45a2a28b4f4376e077784840fa186 -EBUILD opera-beta-111.0.5168.15.ebuild 4223 BLAKE2B fac1c8287ed7e76dd485b251090c7619215e007ed594a29b5c3f04ff947ab440058f609bcd187a5e170c50f00beabddc5194990f91c4ebf36d8d8bdebaafa4dc SHA512 5a5fcd27cdeecda900c1f24b303c5f6a529dde9e41f3be29d8ed1b284c7c701eab728dd43f42aa8f9e427b4746c99dd4b15d70dc3eb222a492f7f83009a25d28 +DIST opera-beta_113.0.5230.18_amd64.deb 112602376 BLAKE2B 78ac0099492bdf8cd627e667cf6c8b154f1651acd48a8501c4dc41676c460834f65cefdb8ebbf7ac7f7835a1eae80159b219788ce32ad2f23d2f1ffea1967558 SHA512 6af9ed29643fa5e5345f320a46b84625e1192ee0cd940c250d905c2e851a0fab3ef5553462e3ec9d113b649165da0efb10693c88b915f7e5d9f0e76bce54411c +DIST opera-beta_113.0.5230.8_amd64.deb 112532940 BLAKE2B eb51349942f229e63436ebf7e1f261624b4e8c9387c3292ef5e5e6e2f5600203582eddd26c3ba8c61ac2f4bf298406855f0c1b7529271c51b9584ac15a7cf8e0 SHA512 0a0858c7fc84634ee04e441dd84fef80ab0b0b591afa07a58b52fc6455cc807a996052b28d96653fbd14a6ade9d8eeb90cbf7973f09b96f10446b47e68db7538 EBUILD opera-beta-112.0.5197.10.ebuild 4223 BLAKE2B c69e5de821ac295003aadbb2b94cd21ad617274870c6363ddd9b6214360ae60a7d8b77609b92b4f46f7b77220a63f966a011a093debf6580a71d5383821203cf SHA512 75b8c0a7e46ea5610d798d45c3260d6d684f943298d232670a17dc38ddef395a00fd52d3f7f06efd79b5c0dcddeec204bb597b0594f6471a2934d3409fd889c0 -EBUILD opera-beta-112.0.5197.5.ebuild 4223 BLAKE2B c69e5de821ac295003aadbb2b94cd21ad617274870c6363ddd9b6214360ae60a7d8b77609b92b4f46f7b77220a63f966a011a093debf6580a71d5383821203cf SHA512 75b8c0a7e46ea5610d798d45c3260d6d684f943298d232670a17dc38ddef395a00fd52d3f7f06efd79b5c0dcddeec204bb597b0594f6471a2934d3409fd889c0 +EBUILD opera-beta-113.0.5230.18.ebuild 4223 BLAKE2B c69e5de821ac295003aadbb2b94cd21ad617274870c6363ddd9b6214360ae60a7d8b77609b92b4f46f7b77220a63f966a011a093debf6580a71d5383821203cf SHA512 75b8c0a7e46ea5610d798d45c3260d6d684f943298d232670a17dc38ddef395a00fd52d3f7f06efd79b5c0dcddeec204bb597b0594f6471a2934d3409fd889c0 +EBUILD opera-beta-113.0.5230.8.ebuild 4223 BLAKE2B c69e5de821ac295003aadbb2b94cd21ad617274870c6363ddd9b6214360ae60a7d8b77609b92b4f46f7b77220a63f966a011a093debf6580a71d5383821203cf SHA512 75b8c0a7e46ea5610d798d45c3260d6d684f943298d232670a17dc38ddef395a00fd52d3f7f06efd79b5c0dcddeec204bb597b0594f6471a2934d3409fd889c0 MISC metadata.xml 544 BLAKE2B e8594a0cb9a73ac5901ece78db220822043dca9faec994810af426f96e2ece7fdb069c5f1d639f66d1236ec83e6c46e50bd21c49f8a075cf0de41c9db9afd8a0 SHA512 2361ebdde2707166e465058b41a893b4c14db7c7ba8f4fe34f7ab34da4275f0af691e55881232a9253f5d793ff76e61d57689f56dd8ab879fc3ecb3294fc8777 diff --git a/www-client/opera-beta/opera-beta-111.0.5168.15.ebuild b/www-client/opera-beta/opera-beta-111.0.5168.15.ebuild deleted file mode 100644 index 0d49f3a56353..000000000000 --- a/www-client/opera-beta/opera-beta-111.0.5168.15.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS=" - bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id - it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi - zh-CN zh-TW -" - -# These are intended for ebuild maintainer use to force RPM if DEB is not available. -: ${OPERA_FORCE_RPM=no} - -inherit chromium-2 pax-utils xdg - -if [[ ${OPERA_FORCE_RPM} == yes ]]; then - inherit rpm - OPERA_ARCHIVE_EXT="rpm" -else - inherit unpacker - OPERA_ARCHIVE_EXT="deb" -fi - -DESCRIPTION="A fast and secure web browser" -HOMEPAGE="https://www.opera.com/" - -SRC_URI_BASE=( - "https://download1.operacdn.com/pub/${PN}" - "https://download2.operacdn.com/pub/${PN}" - "https://download3.operacdn.com/pub/${PN}" - "https://download4.operacdn.com/pub/${PN}" -) - -if [[ ${PN} == opera ]]; then - MY_PN=${PN}-stable - SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" ) -else - MY_PN=${PN} -fi - -# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version -# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium) -# Does not need to be updated for every new version of Opera, only when it breaks -CHROMIUM_VERSION="125" -SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}" -S=${WORKDIR} - -LICENSE="OPERA-2018" -SLOT="0" -KEYWORDS="-* ~amd64" -IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - gnome-base/gsettings-desktop-schemas - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl - net-print/cups - sys-apps/dbus - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf - x11-libs/gtk+:3 - x11-libs/libdrm - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/pango - proprietary-codecs? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) - ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) -" - -QA_PREBUILT="*" -OPERA_HOME="opt/opera${PN#opera}" - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "opera only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - rpm_src_unpack "${A[0]}" - else - unpacker - fi - - # move to /opt, bug #573052 - mkdir -p "${OPERA_HOME%${PN}}" - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die - else - mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die - fi - rm -r "usr/lib" || die - - # disable auto update - rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die - - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - rm "${OPERA_HOME}/setup_repo.sh" || die - else - rm -r "usr/share/lintian" || die - - # fix docs - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - gzip -d usr/share/doc/${PF}/changelog.gz || die - fi - - # fix desktop file - sed -i \ - -e 's|^TargetEnvironment|X-&|g' \ - usr/share/applications/${PN}.desktop || die - - # remove unused language packs - pushd "${OPERA_HOME}/localization" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - # setup opera symlink - rm "usr/bin/${PN}" || die - dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}" - - # install proprietary codecs - rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die - if use proprietary-codecs; then - dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ - /${OPERA_HOME}/libffmpeg.so - fi - - if ! use qt5; then - rm "${OPERA_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${OPERA_HOME}/libqt6_shim.so" || die - fi - - # pax mark opera, bug #562038 - pax-mark m "${OPERA_HOME}/opera" - # enable suid sandbox if requested - use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox" -} diff --git a/www-client/opera-beta/opera-beta-112.0.5197.5.ebuild b/www-client/opera-beta/opera-beta-112.0.5197.5.ebuild deleted file mode 100644 index 00ead24ed5e1..000000000000 --- a/www-client/opera-beta/opera-beta-112.0.5197.5.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS=" - bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id - it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi - zh-CN zh-TW -" - -# These are intended for ebuild maintainer use to force RPM if DEB is not available. -: ${OPERA_FORCE_RPM=no} - -inherit chromium-2 pax-utils xdg - -if [[ ${OPERA_FORCE_RPM} == yes ]]; then - inherit rpm - OPERA_ARCHIVE_EXT="rpm" -else - inherit unpacker - OPERA_ARCHIVE_EXT="deb" -fi - -DESCRIPTION="A fast and secure web browser" -HOMEPAGE="https://www.opera.com/" - -SRC_URI_BASE=( - "https://download1.operacdn.com/pub/${PN}" - "https://download2.operacdn.com/pub/${PN}" - "https://download3.operacdn.com/pub/${PN}" - "https://download4.operacdn.com/pub/${PN}" -) - -if [[ ${PN} == opera ]]; then - MY_PN=${PN}-stable - SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" ) -else - MY_PN=${PN} -fi - -# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version -# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium) -# Does not need to be updated for every new version of Opera, only when it breaks -CHROMIUM_VERSION="126" -SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}" -S=${WORKDIR} - -LICENSE="OPERA-2018" -SLOT="0" -KEYWORDS="-* ~amd64" -IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - gnome-base/gsettings-desktop-schemas - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl - net-print/cups - sys-apps/dbus - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf - x11-libs/gtk+:3 - x11-libs/libdrm - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/pango - proprietary-codecs? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) - ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) -" - -QA_PREBUILT="*" -OPERA_HOME="opt/opera${PN#opera}" - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "opera only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - rpm_src_unpack "${A[0]}" - else - unpacker - fi - - # move to /opt, bug #573052 - mkdir -p "${OPERA_HOME%${PN}}" - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die - else - mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die - fi - rm -r "usr/lib" || die - - # disable auto update - rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die - - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - rm "${OPERA_HOME}/setup_repo.sh" || die - else - rm -r "usr/share/lintian" || die - - # fix docs - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - gzip -d usr/share/doc/${PF}/changelog.gz || die - fi - - # fix desktop file - sed -i \ - -e 's|^TargetEnvironment|X-&|g' \ - usr/share/applications/${PN}.desktop || die - - # remove unused language packs - pushd "${OPERA_HOME}/localization" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - # setup opera symlink - rm "usr/bin/${PN}" || die - dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}" - - # install proprietary codecs - rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die - if use proprietary-codecs; then - dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ - /${OPERA_HOME}/libffmpeg.so - fi - - if ! use qt5; then - rm "${OPERA_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${OPERA_HOME}/libqt6_shim.so" || die - fi - - # pax mark opera, bug #562038 - pax-mark m "${OPERA_HOME}/opera" - # enable suid sandbox if requested - use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox" -} diff --git a/www-client/opera-beta/opera-beta-113.0.5230.18.ebuild b/www-client/opera-beta/opera-beta-113.0.5230.18.ebuild new file mode 100644 index 000000000000..00ead24ed5e1 --- /dev/null +++ b/www-client/opera-beta/opera-beta-113.0.5230.18.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS=" + bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id + it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi + zh-CN zh-TW +" + +# These are intended for ebuild maintainer use to force RPM if DEB is not available. +: ${OPERA_FORCE_RPM=no} + +inherit chromium-2 pax-utils xdg + +if [[ ${OPERA_FORCE_RPM} == yes ]]; then + inherit rpm + OPERA_ARCHIVE_EXT="rpm" +else + inherit unpacker + OPERA_ARCHIVE_EXT="deb" +fi + +DESCRIPTION="A fast and secure web browser" +HOMEPAGE="https://www.opera.com/" + +SRC_URI_BASE=( + "https://download1.operacdn.com/pub/${PN}" + "https://download2.operacdn.com/pub/${PN}" + "https://download3.operacdn.com/pub/${PN}" + "https://download4.operacdn.com/pub/${PN}" +) + +if [[ ${PN} == opera ]]; then + MY_PN=${PN}-stable + SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" ) +else + MY_PN=${PN} +fi + +# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version +# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium) +# Does not need to be updated for every new version of Opera, only when it breaks +CHROMIUM_VERSION="126" +SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}" +S=${WORKDIR} + +LICENSE="OPERA-2018" +SLOT="0" +KEYWORDS="-* ~amd64" +IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + gnome-base/gsettings-desktop-schemas + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:3 + x11-libs/libdrm + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/pango + proprietary-codecs? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) + ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +OPERA_HOME="opt/opera${PN#opera}" + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "opera only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rpm_src_unpack "${A[0]}" + else + unpacker + fi + + # move to /opt, bug #573052 + mkdir -p "${OPERA_HOME%${PN}}" + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die + else + mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die + fi + rm -r "usr/lib" || die + + # disable auto update + rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die + + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rm "${OPERA_HOME}/setup_repo.sh" || die + else + rm -r "usr/share/lintian" || die + + # fix docs + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + gzip -d usr/share/doc/${PF}/changelog.gz || die + fi + + # fix desktop file + sed -i \ + -e 's|^TargetEnvironment|X-&|g' \ + usr/share/applications/${PN}.desktop || die + + # remove unused language packs + pushd "${OPERA_HOME}/localization" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + # setup opera symlink + rm "usr/bin/${PN}" || die + dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}" + + # install proprietary codecs + rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die + if use proprietary-codecs; then + dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ + /${OPERA_HOME}/libffmpeg.so + fi + + if ! use qt5; then + rm "${OPERA_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${OPERA_HOME}/libqt6_shim.so" || die + fi + + # pax mark opera, bug #562038 + pax-mark m "${OPERA_HOME}/opera" + # enable suid sandbox if requested + use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox" +} diff --git a/www-client/opera-beta/opera-beta-113.0.5230.8.ebuild b/www-client/opera-beta/opera-beta-113.0.5230.8.ebuild new file mode 100644 index 000000000000..00ead24ed5e1 --- /dev/null +++ b/www-client/opera-beta/opera-beta-113.0.5230.8.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS=" + bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id + it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi + zh-CN zh-TW +" + +# These are intended for ebuild maintainer use to force RPM if DEB is not available. +: ${OPERA_FORCE_RPM=no} + +inherit chromium-2 pax-utils xdg + +if [[ ${OPERA_FORCE_RPM} == yes ]]; then + inherit rpm + OPERA_ARCHIVE_EXT="rpm" +else + inherit unpacker + OPERA_ARCHIVE_EXT="deb" +fi + +DESCRIPTION="A fast and secure web browser" +HOMEPAGE="https://www.opera.com/" + +SRC_URI_BASE=( + "https://download1.operacdn.com/pub/${PN}" + "https://download2.operacdn.com/pub/${PN}" + "https://download3.operacdn.com/pub/${PN}" + "https://download4.operacdn.com/pub/${PN}" +) + +if [[ ${PN} == opera ]]; then + MY_PN=${PN}-stable + SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" ) +else + MY_PN=${PN} +fi + +# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version +# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium) +# Does not need to be updated for every new version of Opera, only when it breaks +CHROMIUM_VERSION="126" +SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}" +S=${WORKDIR} + +LICENSE="OPERA-2018" +SLOT="0" +KEYWORDS="-* ~amd64" +IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + gnome-base/gsettings-desktop-schemas + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:3 + x11-libs/libdrm + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/pango + proprietary-codecs? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) + ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +OPERA_HOME="opt/opera${PN#opera}" + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "opera only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rpm_src_unpack "${A[0]}" + else + unpacker + fi + + # move to /opt, bug #573052 + mkdir -p "${OPERA_HOME%${PN}}" + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die + else + mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die + fi + rm -r "usr/lib" || die + + # disable auto update + rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die + + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rm "${OPERA_HOME}/setup_repo.sh" || die + else + rm -r "usr/share/lintian" || die + + # fix docs + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + gzip -d usr/share/doc/${PF}/changelog.gz || die + fi + + # fix desktop file + sed -i \ + -e 's|^TargetEnvironment|X-&|g' \ + usr/share/applications/${PN}.desktop || die + + # remove unused language packs + pushd "${OPERA_HOME}/localization" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + # setup opera symlink + rm "usr/bin/${PN}" || die + dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}" + + # install proprietary codecs + rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die + if use proprietary-codecs; then + dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ + /${OPERA_HOME}/libffmpeg.so + fi + + if ! use qt5; then + rm "${OPERA_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${OPERA_HOME}/libqt6_shim.so" || die + fi + + # pax mark opera, bug #562038 + pax-mark m "${OPERA_HOME}/opera" + # enable suid sandbox if requested + use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox" +} diff --git a/www-client/opera-developer/Manifest b/www-client/opera-developer/Manifest index 94d7d3b0d827..fb1302767be7 100644 --- a/www-client/opera-developer/Manifest +++ b/www-client/opera-developer/Manifest @@ -1,7 +1,7 @@ -DIST opera-developer_113.0.5215.0_amd64.deb 111400132 BLAKE2B 77d8c619831f98141e8817c8118807ff1e679c7883550bbc4c4eaddb833f58ac9fdba342bb0460788150a6cb5548f6f670f6ff43c705e6446f8ae087f418af21 SHA512 b87436a75e07c32a3b671b7c68fcc8b3e002835fb772dc238c64dcd21ddefa215c8051f534c97ad9db80ae296454fb3caf590bb183bdbb1137aa9c81a44be765 -DIST opera-developer_113.0.5222.0_amd64.deb 111175644 BLAKE2B 51a72409ba280bf1abd45963bd8f72bbe481700e3dc2d97d11d2d3e71dbb313acf18488e0b52cfd356fd2b27081119aed9f28bce3b605b630c35d08c855a7506 SHA512 a0a3787fb6278e60af1f32307ac3d1b868d45488659734e385bfda1b2bd776a01193c3e0dba5396e05fc37c05d46d9448ab77b0606819a255a3fedf6274ba4ab DIST opera-developer_113.0.5227.0_amd64.deb 111218448 BLAKE2B 219cf02352571a6f3b9b9e67134d78391526a93ff7db17763ff61bb0c67219277e3c10875bb8e5c536eb50424daeb91077b3382e8df37137bd590ed0e2c727b9 SHA512 c125b2c7e89c1b1174ce4b3972077e4783f725a7d66b325401a1ce98aeedd73078881bd551d96a3502ed443e23631083b47899fe8cddef0e11632783188a3e8e -EBUILD opera-developer-113.0.5215.0.ebuild 4223 BLAKE2B c69e5de821ac295003aadbb2b94cd21ad617274870c6363ddd9b6214360ae60a7d8b77609b92b4f46f7b77220a63f966a011a093debf6580a71d5383821203cf SHA512 75b8c0a7e46ea5610d798d45c3260d6d684f943298d232670a17dc38ddef395a00fd52d3f7f06efd79b5c0dcddeec204bb597b0594f6471a2934d3409fd889c0 -EBUILD opera-developer-113.0.5222.0.ebuild 4223 BLAKE2B c69e5de821ac295003aadbb2b94cd21ad617274870c6363ddd9b6214360ae60a7d8b77609b92b4f46f7b77220a63f966a011a093debf6580a71d5383821203cf SHA512 75b8c0a7e46ea5610d798d45c3260d6d684f943298d232670a17dc38ddef395a00fd52d3f7f06efd79b5c0dcddeec204bb597b0594f6471a2934d3409fd889c0 +DIST opera-developer_114.0.5236.0_amd64.deb 112660808 BLAKE2B f494fbaeb439416383dac8e77a22b3b6e26cb54b26b1c042fdbc38ac73b48da15516f05c3d379b288b0bd0c471aaca1c7a9ede423d675c443a748771bdbf71b9 SHA512 d1486d4b8943bb13828931a18933126f4c34ec4c7493dddf4c36b5f9f67daac7631544badf2317f086d295142d736f7f0798547d3712bcec70ccbf6cebd64909 +DIST opera-developer_114.0.5242.0_amd64.deb 112712852 BLAKE2B 350e0359b1ea3382df0d2aca5b5de136a4abcbc5ebdac173251ae5fd2e606eb70efc952f57fd0eea5f4f67b9a5c5bdf476fa3101250a87f8ceb53ff3d4e6a8f9 SHA512 dd7a712bed9ddd992ea50673b2f001b710a776e44cfcc169dd0e7fae6c94d93770cddaf1bb9a7608b6f23c0a1c696530128d0ecee3955c51151d41c45ce081c3 EBUILD opera-developer-113.0.5227.0.ebuild 4223 BLAKE2B c69e5de821ac295003aadbb2b94cd21ad617274870c6363ddd9b6214360ae60a7d8b77609b92b4f46f7b77220a63f966a011a093debf6580a71d5383821203cf SHA512 75b8c0a7e46ea5610d798d45c3260d6d684f943298d232670a17dc38ddef395a00fd52d3f7f06efd79b5c0dcddeec204bb597b0594f6471a2934d3409fd889c0 +EBUILD opera-developer-114.0.5236.0.ebuild 4223 BLAKE2B 1c7e450aa206caa2f38233522a6e3453ac3483ad2b59b2873ee2982afe3c479a63e4855c56dd66cb62bdabcd8e57083a3dcda2ea92261f487fbbd4bb77fe7fdb SHA512 91c087a4cfb517f02d10975e43f90a089e2d151ac8770fd51fa859ad63cab3f7a1ad30e633c932abaad21bb08381889aa13ae09d8db2e366e008e609a8534494 +EBUILD opera-developer-114.0.5242.0.ebuild 4223 BLAKE2B 1c7e450aa206caa2f38233522a6e3453ac3483ad2b59b2873ee2982afe3c479a63e4855c56dd66cb62bdabcd8e57083a3dcda2ea92261f487fbbd4bb77fe7fdb SHA512 91c087a4cfb517f02d10975e43f90a089e2d151ac8770fd51fa859ad63cab3f7a1ad30e633c932abaad21bb08381889aa13ae09d8db2e366e008e609a8534494 MISC metadata.xml 544 BLAKE2B e8594a0cb9a73ac5901ece78db220822043dca9faec994810af426f96e2ece7fdb069c5f1d639f66d1236ec83e6c46e50bd21c49f8a075cf0de41c9db9afd8a0 SHA512 2361ebdde2707166e465058b41a893b4c14db7c7ba8f4fe34f7ab34da4275f0af691e55881232a9253f5d793ff76e61d57689f56dd8ab879fc3ecb3294fc8777 diff --git a/www-client/opera-developer/opera-developer-113.0.5215.0.ebuild b/www-client/opera-developer/opera-developer-113.0.5215.0.ebuild deleted file mode 100644 index 00ead24ed5e1..000000000000 --- a/www-client/opera-developer/opera-developer-113.0.5215.0.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS=" - bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id - it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi - zh-CN zh-TW -" - -# These are intended for ebuild maintainer use to force RPM if DEB is not available. -: ${OPERA_FORCE_RPM=no} - -inherit chromium-2 pax-utils xdg - -if [[ ${OPERA_FORCE_RPM} == yes ]]; then - inherit rpm - OPERA_ARCHIVE_EXT="rpm" -else - inherit unpacker - OPERA_ARCHIVE_EXT="deb" -fi - -DESCRIPTION="A fast and secure web browser" -HOMEPAGE="https://www.opera.com/" - -SRC_URI_BASE=( - "https://download1.operacdn.com/pub/${PN}" - "https://download2.operacdn.com/pub/${PN}" - "https://download3.operacdn.com/pub/${PN}" - "https://download4.operacdn.com/pub/${PN}" -) - -if [[ ${PN} == opera ]]; then - MY_PN=${PN}-stable - SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" ) -else - MY_PN=${PN} -fi - -# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version -# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium) -# Does not need to be updated for every new version of Opera, only when it breaks -CHROMIUM_VERSION="126" -SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}" -S=${WORKDIR} - -LICENSE="OPERA-2018" -SLOT="0" -KEYWORDS="-* ~amd64" -IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - gnome-base/gsettings-desktop-schemas - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl - net-print/cups - sys-apps/dbus - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf - x11-libs/gtk+:3 - x11-libs/libdrm - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/pango - proprietary-codecs? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) - ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) -" - -QA_PREBUILT="*" -OPERA_HOME="opt/opera${PN#opera}" - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "opera only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - rpm_src_unpack "${A[0]}" - else - unpacker - fi - - # move to /opt, bug #573052 - mkdir -p "${OPERA_HOME%${PN}}" - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die - else - mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die - fi - rm -r "usr/lib" || die - - # disable auto update - rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die - - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - rm "${OPERA_HOME}/setup_repo.sh" || die - else - rm -r "usr/share/lintian" || die - - # fix docs - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - gzip -d usr/share/doc/${PF}/changelog.gz || die - fi - - # fix desktop file - sed -i \ - -e 's|^TargetEnvironment|X-&|g' \ - usr/share/applications/${PN}.desktop || die - - # remove unused language packs - pushd "${OPERA_HOME}/localization" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - # setup opera symlink - rm "usr/bin/${PN}" || die - dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}" - - # install proprietary codecs - rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die - if use proprietary-codecs; then - dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ - /${OPERA_HOME}/libffmpeg.so - fi - - if ! use qt5; then - rm "${OPERA_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${OPERA_HOME}/libqt6_shim.so" || die - fi - - # pax mark opera, bug #562038 - pax-mark m "${OPERA_HOME}/opera" - # enable suid sandbox if requested - use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox" -} diff --git a/www-client/opera-developer/opera-developer-113.0.5222.0.ebuild b/www-client/opera-developer/opera-developer-113.0.5222.0.ebuild deleted file mode 100644 index 00ead24ed5e1..000000000000 --- a/www-client/opera-developer/opera-developer-113.0.5222.0.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS=" - bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id - it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi - zh-CN zh-TW -" - -# These are intended for ebuild maintainer use to force RPM if DEB is not available. -: ${OPERA_FORCE_RPM=no} - -inherit chromium-2 pax-utils xdg - -if [[ ${OPERA_FORCE_RPM} == yes ]]; then - inherit rpm - OPERA_ARCHIVE_EXT="rpm" -else - inherit unpacker - OPERA_ARCHIVE_EXT="deb" -fi - -DESCRIPTION="A fast and secure web browser" -HOMEPAGE="https://www.opera.com/" - -SRC_URI_BASE=( - "https://download1.operacdn.com/pub/${PN}" - "https://download2.operacdn.com/pub/${PN}" - "https://download3.operacdn.com/pub/${PN}" - "https://download4.operacdn.com/pub/${PN}" -) - -if [[ ${PN} == opera ]]; then - MY_PN=${PN}-stable - SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" ) -else - MY_PN=${PN} -fi - -# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version -# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium) -# Does not need to be updated for every new version of Opera, only when it breaks -CHROMIUM_VERSION="126" -SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}" -S=${WORKDIR} - -LICENSE="OPERA-2018" -SLOT="0" -KEYWORDS="-* ~amd64" -IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - gnome-base/gsettings-desktop-schemas - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl - net-print/cups - sys-apps/dbus - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf - x11-libs/gtk+:3 - x11-libs/libdrm - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/pango - proprietary-codecs? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) - ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) -" - -QA_PREBUILT="*" -OPERA_HOME="opt/opera${PN#opera}" - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "opera only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - rpm_src_unpack "${A[0]}" - else - unpacker - fi - - # move to /opt, bug #573052 - mkdir -p "${OPERA_HOME%${PN}}" - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die - else - mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die - fi - rm -r "usr/lib" || die - - # disable auto update - rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die - - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - rm "${OPERA_HOME}/setup_repo.sh" || die - else - rm -r "usr/share/lintian" || die - - # fix docs - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - gzip -d usr/share/doc/${PF}/changelog.gz || die - fi - - # fix desktop file - sed -i \ - -e 's|^TargetEnvironment|X-&|g' \ - usr/share/applications/${PN}.desktop || die - - # remove unused language packs - pushd "${OPERA_HOME}/localization" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - # setup opera symlink - rm "usr/bin/${PN}" || die - dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}" - - # install proprietary codecs - rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die - if use proprietary-codecs; then - dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ - /${OPERA_HOME}/libffmpeg.so - fi - - if ! use qt5; then - rm "${OPERA_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${OPERA_HOME}/libqt6_shim.so" || die - fi - - # pax mark opera, bug #562038 - pax-mark m "${OPERA_HOME}/opera" - # enable suid sandbox if requested - use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox" -} diff --git a/www-client/opera-developer/opera-developer-114.0.5236.0.ebuild b/www-client/opera-developer/opera-developer-114.0.5236.0.ebuild new file mode 100644 index 000000000000..bd4c71870839 --- /dev/null +++ b/www-client/opera-developer/opera-developer-114.0.5236.0.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS=" + bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id + it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi + zh-CN zh-TW +" + +# These are intended for ebuild maintainer use to force RPM if DEB is not available. +: ${OPERA_FORCE_RPM=no} + +inherit chromium-2 pax-utils xdg + +if [[ ${OPERA_FORCE_RPM} == yes ]]; then + inherit rpm + OPERA_ARCHIVE_EXT="rpm" +else + inherit unpacker + OPERA_ARCHIVE_EXT="deb" +fi + +DESCRIPTION="A fast and secure web browser" +HOMEPAGE="https://www.opera.com/" + +SRC_URI_BASE=( + "https://download1.operacdn.com/pub/${PN}" + "https://download2.operacdn.com/pub/${PN}" + "https://download3.operacdn.com/pub/${PN}" + "https://download4.operacdn.com/pub/${PN}" +) + +if [[ ${PN} == opera ]]; then + MY_PN=${PN}-stable + SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" ) +else + MY_PN=${PN} +fi + +# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version +# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium) +# Does not need to be updated for every new version of Opera, only when it breaks +CHROMIUM_VERSION="127" +SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}" +S=${WORKDIR} + +LICENSE="OPERA-2018" +SLOT="0" +KEYWORDS="-* ~amd64" +IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + gnome-base/gsettings-desktop-schemas + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:3 + x11-libs/libdrm + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/pango + proprietary-codecs? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) + ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +OPERA_HOME="opt/opera${PN#opera}" + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "opera only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rpm_src_unpack "${A[0]}" + else + unpacker + fi + + # move to /opt, bug #573052 + mkdir -p "${OPERA_HOME%${PN}}" + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die + else + mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die + fi + rm -r "usr/lib" || die + + # disable auto update + rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die + + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rm "${OPERA_HOME}/setup_repo.sh" || die + else + rm -r "usr/share/lintian" || die + + # fix docs + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + gzip -d usr/share/doc/${PF}/changelog.gz || die + fi + + # fix desktop file + sed -i \ + -e 's|^TargetEnvironment|X-&|g' \ + usr/share/applications/${PN}.desktop || die + + # remove unused language packs + pushd "${OPERA_HOME}/localization" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + # setup opera symlink + rm "usr/bin/${PN}" || die + dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}" + + # install proprietary codecs + rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die + if use proprietary-codecs; then + dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ + /${OPERA_HOME}/libffmpeg.so + fi + + if ! use qt5; then + rm "${OPERA_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${OPERA_HOME}/libqt6_shim.so" || die + fi + + # pax mark opera, bug #562038 + pax-mark m "${OPERA_HOME}/opera" + # enable suid sandbox if requested + use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox" +} diff --git a/www-client/opera-developer/opera-developer-114.0.5242.0.ebuild b/www-client/opera-developer/opera-developer-114.0.5242.0.ebuild new file mode 100644 index 000000000000..bd4c71870839 --- /dev/null +++ b/www-client/opera-developer/opera-developer-114.0.5242.0.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS=" + bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id + it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi + zh-CN zh-TW +" + +# These are intended for ebuild maintainer use to force RPM if DEB is not available. +: ${OPERA_FORCE_RPM=no} + +inherit chromium-2 pax-utils xdg + +if [[ ${OPERA_FORCE_RPM} == yes ]]; then + inherit rpm + OPERA_ARCHIVE_EXT="rpm" +else + inherit unpacker + OPERA_ARCHIVE_EXT="deb" +fi + +DESCRIPTION="A fast and secure web browser" +HOMEPAGE="https://www.opera.com/" + +SRC_URI_BASE=( + "https://download1.operacdn.com/pub/${PN}" + "https://download2.operacdn.com/pub/${PN}" + "https://download3.operacdn.com/pub/${PN}" + "https://download4.operacdn.com/pub/${PN}" +) + +if [[ ${PN} == opera ]]; then + MY_PN=${PN}-stable + SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" ) +else + MY_PN=${PN} +fi + +# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version +# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium) +# Does not need to be updated for every new version of Opera, only when it breaks +CHROMIUM_VERSION="127" +SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}" +S=${WORKDIR} + +LICENSE="OPERA-2018" +SLOT="0" +KEYWORDS="-* ~amd64" +IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + gnome-base/gsettings-desktop-schemas + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:3 + x11-libs/libdrm + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/pango + proprietary-codecs? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) + ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +OPERA_HOME="opt/opera${PN#opera}" + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "opera only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rpm_src_unpack "${A[0]}" + else + unpacker + fi + + # move to /opt, bug #573052 + mkdir -p "${OPERA_HOME%${PN}}" + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die + else + mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die + fi + rm -r "usr/lib" || die + + # disable auto update + rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die + + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rm "${OPERA_HOME}/setup_repo.sh" || die + else + rm -r "usr/share/lintian" || die + + # fix docs + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + gzip -d usr/share/doc/${PF}/changelog.gz || die + fi + + # fix desktop file + sed -i \ + -e 's|^TargetEnvironment|X-&|g' \ + usr/share/applications/${PN}.desktop || die + + # remove unused language packs + pushd "${OPERA_HOME}/localization" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + # setup opera symlink + rm "usr/bin/${PN}" || die + dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}" + + # install proprietary codecs + rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die + if use proprietary-codecs; then + dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ + /${OPERA_HOME}/libffmpeg.so + fi + + if ! use qt5; then + rm "${OPERA_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${OPERA_HOME}/libqt6_shim.so" || die + fi + + # pax mark opera, bug #562038 + pax-mark m "${OPERA_HOME}/opera" + # enable suid sandbox if requested + use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox" +} diff --git a/www-client/opera/Manifest b/www-client/opera/Manifest index ea4db5c5db29..7d4b1899f795 100644 --- a/www-client/opera/Manifest +++ b/www-client/opera/Manifest @@ -1,3 +1,3 @@ -DIST opera-stable_112.0.5197.25_amd64.deb 111204316 BLAKE2B a53d1380193e4d5484a19705e35d166770a64d7f36ba6f5b95dc03369c80c83c99d9db4600911e7166dfab3916419faad3bbaae7f9920b07a1542817850a67b7 SHA512 bb13bbaf56606375ed5f3a59170b81797442ce563574d47931f274bc1407e39a3c96910ac9cdd1382cb47a63517082942a8abb9656405345877123b60f44d0fe -EBUILD opera-112.0.5197.25.ebuild 4222 BLAKE2B de117147a88de6901509c580d05cac5bf34cacaf4a36bb16ef232f48c1edd4386a1b6d1fb69f6804dbe75f1f64332d410b76af3d88308aaec0ff7ea3b8d594d2 SHA512 c0652186e3053ad951cde8aafcbd7a0e81ac6914c3ed2e23fafd557bc7b825bbfe05aa7da282569822e789d5ea04940f7cebc278b69ffffcbe59663554d1263d +DIST opera-stable_112.0.5197.30_amd64.deb 111197096 BLAKE2B a1382f744e7b0956da112deaa49c9534e0b8f533930e714c570282bcd5299dda42b0b52bb3fa0bc3f0dcab4a764141ba4e4a5c37dccce4854ac217c395534a8b SHA512 04c1d7507e21bb61e34a41aaa673efe2a351502ac97ce66929334a67437380b4e91d5b0b084f531f5438fedba596a955f00d2e8de6f89c7407a424aba40abe7b +EBUILD opera-112.0.5197.30.ebuild 4222 BLAKE2B de117147a88de6901509c580d05cac5bf34cacaf4a36bb16ef232f48c1edd4386a1b6d1fb69f6804dbe75f1f64332d410b76af3d88308aaec0ff7ea3b8d594d2 SHA512 c0652186e3053ad951cde8aafcbd7a0e81ac6914c3ed2e23fafd557bc7b825bbfe05aa7da282569822e789d5ea04940f7cebc278b69ffffcbe59663554d1263d MISC metadata.xml 544 BLAKE2B 94b2f6807c021794769fc62b041c69bd08a0d307c51db96109bd45a1fff240d586c51daa91e894055e47291505750f07e9054b6b1b364a691c18f5711acbe9b4 SHA512 691c7b62fa7c8a46e4cc981a2f211a1609b1c57620aca668b001eeaa2cbcd2f38299680c4707a73a8f32ee19b054cd131a2b09600bac30b8530af35142694ff7 diff --git a/www-client/opera/opera-112.0.5197.25.ebuild b/www-client/opera/opera-112.0.5197.25.ebuild deleted file mode 100644 index 71d9b3421ce4..000000000000 --- a/www-client/opera/opera-112.0.5197.25.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS=" - bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id - it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi - zh-CN zh-TW -" - -# These are intended for ebuild maintainer use to force RPM if DEB is not available. -: ${OPERA_FORCE_RPM=no} - -inherit chromium-2 pax-utils xdg - -if [[ ${OPERA_FORCE_RPM} == yes ]]; then - inherit rpm - OPERA_ARCHIVE_EXT="rpm" -else - inherit unpacker - OPERA_ARCHIVE_EXT="deb" -fi - -DESCRIPTION="A fast and secure web browser" -HOMEPAGE="https://www.opera.com/" - -SRC_URI_BASE=( - "https://download1.operacdn.com/pub/${PN}" - "https://download2.operacdn.com/pub/${PN}" - "https://download3.operacdn.com/pub/${PN}" - "https://download4.operacdn.com/pub/${PN}" -) - -if [[ ${PN} == opera ]]; then - MY_PN=${PN}-stable - SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" ) -else - MY_PN=${PN} -fi - -# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version -# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium) -# Does not need to be updated for every new version of Opera, only when it breaks -CHROMIUM_VERSION="126" -SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}" -S=${WORKDIR} - -LICENSE="OPERA-2018" -SLOT="0" -KEYWORDS="-* amd64" -IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - gnome-base/gsettings-desktop-schemas - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl - net-print/cups - sys-apps/dbus - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf - x11-libs/gtk+:3 - x11-libs/libdrm - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/pango - proprietary-codecs? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) - ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) -" - -QA_PREBUILT="*" -OPERA_HOME="opt/opera${PN#opera}" - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "opera only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - rpm_src_unpack "${A[0]}" - else - unpacker - fi - - # move to /opt, bug #573052 - mkdir -p "${OPERA_HOME%${PN}}" - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die - else - mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die - fi - rm -r "usr/lib" || die - - # disable auto update - rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die - - if [[ ${OPERA_FORCE_RPM} == yes ]]; then - rm "${OPERA_HOME}/setup_repo.sh" || die - else - rm -r "usr/share/lintian" || die - - # fix docs - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - gzip -d usr/share/doc/${PF}/changelog.gz || die - fi - - # fix desktop file - sed -i \ - -e 's|^TargetEnvironment|X-&|g' \ - usr/share/applications/${PN}.desktop || die - - # remove unused language packs - pushd "${OPERA_HOME}/localization" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - # setup opera symlink - rm "usr/bin/${PN}" || die - dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}" - - # install proprietary codecs - rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die - if use proprietary-codecs; then - dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ - /${OPERA_HOME}/libffmpeg.so - fi - - if ! use qt5; then - rm "${OPERA_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${OPERA_HOME}/libqt6_shim.so" || die - fi - - # pax mark opera, bug #562038 - pax-mark m "${OPERA_HOME}/opera" - # enable suid sandbox if requested - use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox" -} diff --git a/www-client/opera/opera-112.0.5197.30.ebuild b/www-client/opera/opera-112.0.5197.30.ebuild new file mode 100644 index 000000000000..71d9b3421ce4 --- /dev/null +++ b/www-client/opera/opera-112.0.5197.30.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS=" + bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id + it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi + zh-CN zh-TW +" + +# These are intended for ebuild maintainer use to force RPM if DEB is not available. +: ${OPERA_FORCE_RPM=no} + +inherit chromium-2 pax-utils xdg + +if [[ ${OPERA_FORCE_RPM} == yes ]]; then + inherit rpm + OPERA_ARCHIVE_EXT="rpm" +else + inherit unpacker + OPERA_ARCHIVE_EXT="deb" +fi + +DESCRIPTION="A fast and secure web browser" +HOMEPAGE="https://www.opera.com/" + +SRC_URI_BASE=( + "https://download1.operacdn.com/pub/${PN}" + "https://download2.operacdn.com/pub/${PN}" + "https://download3.operacdn.com/pub/${PN}" + "https://download4.operacdn.com/pub/${PN}" +) + +if [[ ${PN} == opera ]]; then + MY_PN=${PN}-stable + SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" ) +else + MY_PN=${PN} +fi + +# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches this Chromium version +# used to select the correct ffmpeg-chromium version (corresponds to a major version of Chromium) +# Does not need to be updated for every new version of Opera, only when it breaks +CHROMIUM_VERSION="126" +SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}" +S=${WORKDIR} + +LICENSE="OPERA-2018" +SLOT="0" +KEYWORDS="-* amd64" +IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + gnome-base/gsettings-desktop-schemas + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:3 + x11-libs/libdrm + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/pango + proprietary-codecs? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) + ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +OPERA_HOME="opt/opera${PN#opera}" + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "opera only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rpm_src_unpack "${A[0]}" + else + unpacker + fi + + # move to /opt, bug #573052 + mkdir -p "${OPERA_HOME%${PN}}" + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die + else + mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die + fi + rm -r "usr/lib" || die + + # disable auto update + rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die + + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rm "${OPERA_HOME}/setup_repo.sh" || die + else + rm -r "usr/share/lintian" || die + + # fix docs + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + gzip -d usr/share/doc/${PF}/changelog.gz || die + fi + + # fix desktop file + sed -i \ + -e 's|^TargetEnvironment|X-&|g' \ + usr/share/applications/${PN}.desktop || die + + # remove unused language packs + pushd "${OPERA_HOME}/localization" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + # setup opera symlink + rm "usr/bin/${PN}" || die + dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}" + + # install proprietary codecs + rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die + if use proprietary-codecs; then + dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ + /${OPERA_HOME}/libffmpeg.so + fi + + if ! use qt5; then + rm "${OPERA_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${OPERA_HOME}/libqt6_shim.so" || die + fi + + # pax mark opera, bug #562038 + pax-mark m "${OPERA_HOME}/opera" + # enable suid sandbox if requested + use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox" +} diff --git a/www-client/tangram/Manifest b/www-client/tangram/Manifest index b3503345ba57..5b13249e70b6 100644 --- a/www-client/tangram/Manifest +++ b/www-client/tangram/Manifest @@ -1,4 +1,7 @@ AUX tangram-2.0-dont-validate-appstream.patch 316 BLAKE2B bf27658b8e818376f3bac3e70e24053d3feb79079bc9dce3564f292950e3c91f8fb645ed8e6c8c5942f8ef6fbebd5229878b641478824e6037897c218c3d783a SHA512 2d05626678c3d193207bda0010f5a907c4eccdc46f71fa23b551dd6363c70c4a25a3e397f31052d620c5f390cbf047fbf626646c95de10808776d16fab24561b DIST tangram-3.0.tar.xz 1379104 BLAKE2B 8a067daf3df328d98af70e66c270ea4e03a5dc6e0e1693d05439feac8cb34bc0816890164fa83f37a1de409a926d8556a192f980586cb71f15bcecb134b89526 SHA512 68914f9f0c08ab272635ae71f796df1e4c66c919a7718e90714978dc16e434681aa8fb475d33bfaaeba31cdb690975457fa9e97f6d866c323e8585149cee7c7b +DIST tangram-3.1.tar.gz 367083 BLAKE2B 8a3642712937a2bf98fba3bd6752e50f4e2376e4b508045799f91ba7c138b3c398605b45b3743d7769762b1879e120b903a8a52f503c2358f59c256dbc498e0d SHA512 66fe9f0db624f5cca8933dc06c875b716d654fd9bb1f78fea2ba70f70f3b2de5af56fe3eb50594faeee653f2aeba6d89f31a828df68b31988ba5243fceafe5d6 +DIST troll-63392a57392fb8ed944e859269a3751f649f64ec.tar.gz 471050 BLAKE2B f1108e0aee1956f4a5b7c40167b7791917534b8b58061313e9ef6ae1064af9d99fc4ff9776b0cbbf5e694dfd55175db7194f633259d0937ebf2d193973728e02 SHA512 53f093712dd11cf2cc3e0448561b57873d225653bff937efa6a2e264ad3520b601cd623aa0178508e4a81e4f85c187dfc977f7f75bbd15873fce64b48efdcda8 EBUILD tangram-3.0.ebuild 961 BLAKE2B dc5031d3079b5643c5eb26fc0a655c48d1a6d187bb56eb37326be6a721c1a26613df9b0d1e696435d066252dd26ff888aff32f51d27a17e7d12dec2dc73a7185 SHA512 648bb013f33cb4fcd9938c21e2f5600e12f63ce941558346ec90075596ea98106f47f768ade77384b48d5e97d667aafa83f9ddc916fa6e362b4bb513688dcf0d +EBUILD tangram-3.1.ebuild 1290 BLAKE2B 02079c4b7da219d6d291f70efdcb80741a90e02a8e5735829bdedd1592984c22e4450a768a071c0cc571ee51336bd12aafe1a408620f5fbd51795efbe0130692 SHA512 73ca5b1c8cfcc792dfa304456e7f39c0c42da15d3402143f9424f7ea3d7752825430cb88ac82a49cb1da58c1ec214c6a7c975f9091427b24ccd21d8db77a60dd MISC metadata.xml 659 BLAKE2B c4df3b1b2325290fb904862aa2f22313a0d676034276c9225ce131306c836ebef9851edb86656b7126a03dff0a5d1bf567eb78b71810bcbd41225b9a9641e056 SHA512 86ac7e661201b17c52a27f42c3b6f6390e0b3bca6815a1241c30e9225c0129886ed335681d7ffe810edd988e2c11607e37dab4b6db5eceaea054935f5010e3d9 diff --git a/www-client/tangram/tangram-3.1.ebuild b/www-client/tangram/tangram-3.1.ebuild new file mode 100644 index 000000000000..d2b66e656457 --- /dev/null +++ b/www-client/tangram/tangram-3.1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome2-utils meson xdg + +DESCRIPTION="Web browser designed to organize and run Web applications" +HOMEPAGE="https://apps.gnome.org/app/re.sonny.Tangram/ + https://github.com/sonnyp/Tangram/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/sonnyp/${PN^}.git" +else + TROLL_COMMIT="63392a57392fb8ed944e859269a3751f649f64ec" + SRC_URI=" + https://github.com/sonnyp/${PN^}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/sonnyp/troll/archive/${TROLL_COMMIT}.tar.gz + -> troll-${TROLL_COMMIT}.tar.gz + " + S="${WORKDIR}/${P^}" + + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-3+" +SLOT="0" + +RDEPEND=" + >=dev-libs/gjs-1.76.0 + gui-libs/gtk:4 + gui-libs/libadwaita:1 + net-libs/webkit-gtk:6 +" +BDEPEND=" + ${RDEPEND} + dev-libs/appstream-glib + dev-util/blueprint-compiler + dev-util/desktop-file-utils +" + +PATCHES=( + "${FILESDIR}/${PN}-2.0-dont-validate-appstream.patch" +) + +DOCS=( README.md TODO.md ) + +src_prepare() { + default + + rm -d "${S}/troll" || die + cp -r "${WORKDIR}/troll-${TROLL_COMMIT}" "${S}/troll" || die +} + +pkg_postinst() { + gnome2_schemas_update + xdg_pkg_postinst +} + +pkg_postrm() { + gnome2_schemas_update + xdg_pkg_postrm +} diff --git a/www-client/vivaldi-snapshot/Manifest b/www-client/vivaldi-snapshot/Manifest index 982f9fcb2c27..5662e5fc13dd 100644 --- a/www-client/vivaldi-snapshot/Manifest +++ b/www-client/vivaldi-snapshot/Manifest @@ -1,9 +1,9 @@ -DIST vivaldi-snapshot_6.9.3392.10-1_amd64.deb 110045176 BLAKE2B 27d61ee19f0190d98eea152b181e9e91542f94bf7703771bb08cfe5aa3c92a690bc81f51cf489edb1444a85bdd49c0ec25da1e3e94e27e54a65f2bcf8ff7eb40 SHA512 fcd30f3c871f7fed724bb331ba211cb5513271cf7bf60f20958a2fd1e4d05dd1ec07706e7ba88cc00cdf685f4a5780b3484fca3a355781624b3b201ae9838944 -DIST vivaldi-snapshot_6.9.3392.10-1_arm64.deb 100823236 BLAKE2B cfae3a06e5347ac02a808d9bf938f16084ae103585280c9fa91e1563fc0008359be122bbc6cbf967886d1b8bd1568551ebd0b33d89e5a822fb482306d8317b3a SHA512 d1e5887d432694c60109e624bd4245fc89247a43196da309bc665e5d8b0ad10b49f9aed57f06f0a3690f98fb99ae28c35f65340bd43c1449013a50e72f929423 -DIST vivaldi-snapshot_6.9.3392.10-1_armhf.deb 102050428 BLAKE2B 4120d5071ee3a5bbd00e049f3b0c23d1ebf039e4bcc304824ceb059219d943fa930f5f936c7baa052e6091d0bb227250ee5779a1d9b546ace645df7b9f301c6d SHA512 fc15248ed52dc6016d7a22df0ff88d9f4ed8a3ad078addbf9d647cbf0bbd4dc300e7856ae52faf02e9feafefcbd23975ffa2b2e153c2f0666fca551da60f4715 DIST vivaldi-snapshot_6.9.3405.3-1_amd64.deb 108222828 BLAKE2B 4c87a41009bcc60b04177845864b2dfdaea9de2e2c04eb8e28e79e451048f957f64a64c205a9246c55b414a995ba50b0d023c2cefea05bca84855e2a787074c5 SHA512 25e5bb53d49ab3b177837ea78e30b156b6ed6da7140bd2b5966a44f2ac2b82443fdb359b0363c012536729bee6d6e85b7afc1a8218cd271d78b3cbe1678f9f9b DIST vivaldi-snapshot_6.9.3405.3-1_arm64.deb 100837764 BLAKE2B 9370f9331e2841f91408ac8256a5debc473bb883aeceb0985748071808489bff02ced5bf0ab617dcf843113b20fb1090df20f4308ca07861974dd23129cb0422 SHA512 29b0184040bb168b7d1a6ae294f39630d8364ebe58c9922bb830d0447f460c627aaf99851fa19b48bf84fd70fedb2f0b49df13719ff35e405c9159cb63450eb1 DIST vivaldi-snapshot_6.9.3405.3-1_armhf.deb 102087684 BLAKE2B aa64bbd9cfdedaa1b9f67271b2930b545df33ae0063d0ae372ebd208e97bb2b176c8d0ace28a0cdce0abfd73ddde466987eabf638c58cd38b2ac9d0efbb3bfd6 SHA512 57c082f156a5364e08f1f00f61f917ff23c0c1695338d43525d8e3976a9bc82c7f094623ab1deb0d09bd3075ef638beb04d36bca75e2749464322c46ea047d1b -EBUILD vivaldi-snapshot-6.9.3392.10.ebuild 4027 BLAKE2B d35faa915e6f681d4428e08318da3a29cfce8e797d26fcda7e36534f9c2d764beee1430b65510002b8f07576268a7968b903a5911721549379a9a3c080051718 SHA512 a30062332c0470596bfb1c1943723ee365f609501e466bbc1e90fe10951bc0928c1e820ddef5a783958f9ab12020ab390c14300746639e2b8ac620a564b8e006 +DIST vivaldi-snapshot_6.9.3425.3-1_amd64.deb 108248832 BLAKE2B 71f39486fffe45c9a038c94dcfb87fc750b8a47173748139b9abcd7f6562debc8a9397bb8d714133402d76c228b37f83e7aeda1be144386f414076ce824c04b4 SHA512 8af1c339bb7f0f356af75e75369a43f5006ef406f5b4221be2bc72197ea643907bcbfbb883c6a1301a7957cdb5e805976f070cf5f9d6940332b1fb5d31d3ff70 +DIST vivaldi-snapshot_6.9.3425.3-1_arm64.deb 100841716 BLAKE2B b501d34a674d666ea1c4c6efddced7c2e493523a67034efcfa79f21424913b0e46888cae1285466e405a4c43fbace657dfb5295a2a4e67de7da15bb67c90a345 SHA512 97d1703cd549a722136480fd843a4b6037c7de7b46136c908a22cb89489ca3431170bde32c833e9133c8903d704d54c52e206bf62d5d181d36f530991a478802 +DIST vivaldi-snapshot_6.9.3425.3-1_armhf.deb 102089640 BLAKE2B 611baac4f34aa02a2db8282c091072c5d351e7268c9b98163a950984312df55974ecbfaee74927c1679f0cb45eedc054add45db76037ca253ae0b0bf75634caf SHA512 5e0a4b09be57f80d1840f0a299757513d7d7870d40889c3aa8042f8ffa72e8390e00438f98fb20a22c0b010398456a80c74e9b63b538ceba14d3de792e971bfc EBUILD vivaldi-snapshot-6.9.3405.3.ebuild 4027 BLAKE2B d35faa915e6f681d4428e08318da3a29cfce8e797d26fcda7e36534f9c2d764beee1430b65510002b8f07576268a7968b903a5911721549379a9a3c080051718 SHA512 a30062332c0470596bfb1c1943723ee365f609501e466bbc1e90fe10951bc0928c1e820ddef5a783958f9ab12020ab390c14300746639e2b8ac620a564b8e006 +EBUILD vivaldi-snapshot-6.9.3425.3.ebuild 4027 BLAKE2B d35faa915e6f681d4428e08318da3a29cfce8e797d26fcda7e36534f9c2d764beee1430b65510002b8f07576268a7968b903a5911721549379a9a3c080051718 SHA512 a30062332c0470596bfb1c1943723ee365f609501e466bbc1e90fe10951bc0928c1e820ddef5a783958f9ab12020ab390c14300746639e2b8ac620a564b8e006 MISC metadata.xml 634 BLAKE2B fa3f150ffb5f5da3780098747f71d304c9ceb9828cd4dc7c586ba7032a7ba0b3065c25e5dd84fdab7b4302db8b4c848f116eb5b329f440f8a38837dca005a570 SHA512 f226a355a39cec36b5d6f3f88e7f2132693b5dcf51bdec4676d17f608f16ced52d6b9c5dfac2d38f2245cdf6ff7279286034e77ea119cfb4b7240500f612968e diff --git a/www-client/vivaldi-snapshot/vivaldi-snapshot-6.9.3392.10.ebuild b/www-client/vivaldi-snapshot/vivaldi-snapshot-6.9.3392.10.ebuild deleted file mode 100644 index ccc6676d81ad..000000000000 --- a/www-client/vivaldi-snapshot/vivaldi-snapshot-6.9.3392.10.ebuild +++ /dev/null @@ -1,226 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_VERSION="126" -CHROMIUM_LANGS=" - af - am - ar - az - be - bg - bn - ca - ca-valencia - cs - da - de - de-CH - el - en-GB - en-US - eo - es - es-419 - es-PE - et - eu - fa - fi - fil - fr - fy - gd - gl - gu - he - hi - hr - hu - hy - id - io - is - it - ja - jbo - ka - kab - kn - ko - lt - lv - mk - ml - mr - ms - nb - nl - nn - pa - pl - pt-BR - pt-PT - ro - ru - sc - sk - sl - sq - sr - sr-Latn - sv - sw - ta - te - th - tr - uk - ur - vi - zh-CN - zh-TW -" - -inherit chromium-2 desktop linux-info toolchain-funcs unpacker xdg - -VIVALDI_PN="${PN/%vivaldi/vivaldi-stable}" -VIVALDI_HOME="opt/${PN}" -DESCRIPTION="A browser for our friends" -HOMEPAGE="https://vivaldi.com/" - -if [[ ${PV} = *_p* ]]; then - DEB_REV="${PV#*_p}" -else - DEB_REV=1 -fi - -VIVALDI_BASE_URI="https://downloads.vivaldi.com/${VIVALDI_PN#vivaldi-}/${VIVALDI_PN}_${PV%_p*}-${DEB_REV}_" - -SRC_URI=" - amd64? ( ${VIVALDI_BASE_URI}amd64.deb ) - arm? ( ${VIVALDI_BASE_URI}armhf.deb ) - arm64? ( ${VIVALDI_BASE_URI}arm64.deb ) -" - -S="${WORKDIR}" -LICENSE="Vivaldi" -SLOT="0" -KEYWORDS="-* ~amd64 ~arm ~arm64" -IUSE="ffmpeg-chromium gtk proprietary-codecs qt5 qt6 widevine" -RESTRICT="bindist mirror" -#REQUIRED_USE="ffmpeg-chromium? ( proprietary-codecs )" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-print/cups - sys-apps/dbus - x11-libs/cairo - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libxcb - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libxkbcommon - x11-libs/libXrandr - x11-libs/pango[X] - gtk? ( gui-libs/gtk:4 x11-libs/gtk+:3 ) - proprietary-codecs? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) - ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - widevine? ( www-plugins/chrome-binary-plugins ) -" - -QA_PREBUILT="*" -CONFIG_CHECK="~CPU_FREQ" - -src_unpack() { - unpack_deb ${A} -} - -src_prepare() { - # Rename docs directory to our needs. - mv usr/share/doc/{${VIVALDI_PN},${PF}}/ || die - - # Decompress the docs. - gunzip usr/share/doc/${PF}/changelog.gz || die - - # The appdata directory is deprecated. - mv usr/share/{appdata,metainfo}/ || die - - # Remove cron job for updating from Debian repos. - rm etc/cron.daily/${PN} ${VIVALDI_HOME}/cron/${PN} || die - rmdir etc/{cron.daily/,} ${VIVALDI_HOME}/cron/ || die - - # Remove scripts that will most likely break things. - rm -vf ${VIVALDI_HOME}/update-{ffmpeg,widevine} || die - - pushd ${VIVALDI_HOME}/locales > /dev/null || die - rm ja-KS.pak || die # No flag for Kansai as not in IETF list. - rm kmr.pak || die # No flag for Kurmanji. - chromium_remove_language_paks - popd > /dev/null || die - - if use proprietary-codecs; then - einfo Bundled $($(tc-getSTRINGS) ${VIVALDI_HOME}/lib/libffmpeg.so | grep -m1 "^FFmpeg version ") - rm ${VIVALDI_HOME}/lib/libffmpeg.so || die - rmdir ${VIVALDI_HOME}/lib || die - fi - - if ! use qt5; then - rm ${VIVALDI_HOME}/libqt5_shim.so || die - fi - - if ! use qt6; then - rm ${VIVALDI_HOME}/libqt6_shim.so || die - fi - - eapply_user -} - -src_install() { - mv */ "${D}" || die - dosym ../../${VIVALDI_HOME}/${PN} /usr/bin/${VIVALDI_PN} - fperms 4711 /${VIVALDI_HOME}/vivaldi-sandbox - - local logo size - for logo in "${ED}"/${VIVALDI_HOME}/product_logo_*.png; do - size=${logo##*_} - size=${size%.*} - newicon -s "${size}" "${logo}" ${PN}.png - done - - if use proprietary-codecs; then - dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ - /${VIVALDI_HOME}/libffmpeg.so.$(ver_cut 1-2) - fi - - if use widevine; then - dosym ../../usr/$(get_libdir)/chromium-browser/WidevineCdm \ - /${VIVALDI_HOME}/WidevineCdm - else - rm "${ED}"/${VIVALDI_HOME}/WidevineCdm || die - fi - - case ${PN} in - vivaldi) dosym ${VIVALDI_PN} /usr/bin/${PN} ;; - vivaldi-snapshot) dosym ${PN} /${VIVALDI_HOME}/vivaldi ;; - esac -} diff --git a/www-client/vivaldi-snapshot/vivaldi-snapshot-6.9.3425.3.ebuild b/www-client/vivaldi-snapshot/vivaldi-snapshot-6.9.3425.3.ebuild new file mode 100644 index 000000000000..ccc6676d81ad --- /dev/null +++ b/www-client/vivaldi-snapshot/vivaldi-snapshot-6.9.3425.3.ebuild @@ -0,0 +1,226 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_VERSION="126" +CHROMIUM_LANGS=" + af + am + ar + az + be + bg + bn + ca + ca-valencia + cs + da + de + de-CH + el + en-GB + en-US + eo + es + es-419 + es-PE + et + eu + fa + fi + fil + fr + fy + gd + gl + gu + he + hi + hr + hu + hy + id + io + is + it + ja + jbo + ka + kab + kn + ko + lt + lv + mk + ml + mr + ms + nb + nl + nn + pa + pl + pt-BR + pt-PT + ro + ru + sc + sk + sl + sq + sr + sr-Latn + sv + sw + ta + te + th + tr + uk + ur + vi + zh-CN + zh-TW +" + +inherit chromium-2 desktop linux-info toolchain-funcs unpacker xdg + +VIVALDI_PN="${PN/%vivaldi/vivaldi-stable}" +VIVALDI_HOME="opt/${PN}" +DESCRIPTION="A browser for our friends" +HOMEPAGE="https://vivaldi.com/" + +if [[ ${PV} = *_p* ]]; then + DEB_REV="${PV#*_p}" +else + DEB_REV=1 +fi + +VIVALDI_BASE_URI="https://downloads.vivaldi.com/${VIVALDI_PN#vivaldi-}/${VIVALDI_PN}_${PV%_p*}-${DEB_REV}_" + +SRC_URI=" + amd64? ( ${VIVALDI_BASE_URI}amd64.deb ) + arm? ( ${VIVALDI_BASE_URI}armhf.deb ) + arm64? ( ${VIVALDI_BASE_URI}arm64.deb ) +" + +S="${WORKDIR}" +LICENSE="Vivaldi" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~arm64" +IUSE="ffmpeg-chromium gtk proprietary-codecs qt5 qt6 widevine" +RESTRICT="bindist mirror" +#REQUIRED_USE="ffmpeg-chromium? ( proprietary-codecs )" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-print/cups + sys-apps/dbus + x11-libs/cairo + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon + x11-libs/libXrandr + x11-libs/pango[X] + gtk? ( gui-libs/gtk:4 x11-libs/gtk+:3 ) + proprietary-codecs? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) + ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + widevine? ( www-plugins/chrome-binary-plugins ) +" + +QA_PREBUILT="*" +CONFIG_CHECK="~CPU_FREQ" + +src_unpack() { + unpack_deb ${A} +} + +src_prepare() { + # Rename docs directory to our needs. + mv usr/share/doc/{${VIVALDI_PN},${PF}}/ || die + + # Decompress the docs. + gunzip usr/share/doc/${PF}/changelog.gz || die + + # The appdata directory is deprecated. + mv usr/share/{appdata,metainfo}/ || die + + # Remove cron job for updating from Debian repos. + rm etc/cron.daily/${PN} ${VIVALDI_HOME}/cron/${PN} || die + rmdir etc/{cron.daily/,} ${VIVALDI_HOME}/cron/ || die + + # Remove scripts that will most likely break things. + rm -vf ${VIVALDI_HOME}/update-{ffmpeg,widevine} || die + + pushd ${VIVALDI_HOME}/locales > /dev/null || die + rm ja-KS.pak || die # No flag for Kansai as not in IETF list. + rm kmr.pak || die # No flag for Kurmanji. + chromium_remove_language_paks + popd > /dev/null || die + + if use proprietary-codecs; then + einfo Bundled $($(tc-getSTRINGS) ${VIVALDI_HOME}/lib/libffmpeg.so | grep -m1 "^FFmpeg version ") + rm ${VIVALDI_HOME}/lib/libffmpeg.so || die + rmdir ${VIVALDI_HOME}/lib || die + fi + + if ! use qt5; then + rm ${VIVALDI_HOME}/libqt5_shim.so || die + fi + + if ! use qt6; then + rm ${VIVALDI_HOME}/libqt6_shim.so || die + fi + + eapply_user +} + +src_install() { + mv */ "${D}" || die + dosym ../../${VIVALDI_HOME}/${PN} /usr/bin/${VIVALDI_PN} + fperms 4711 /${VIVALDI_HOME}/vivaldi-sandbox + + local logo size + for logo in "${ED}"/${VIVALDI_HOME}/product_logo_*.png; do + size=${logo##*_} + size=${size%.*} + newicon -s "${size}" "${logo}" ${PN}.png + done + + if use proprietary-codecs; then + dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ + /${VIVALDI_HOME}/libffmpeg.so.$(ver_cut 1-2) + fi + + if use widevine; then + dosym ../../usr/$(get_libdir)/chromium-browser/WidevineCdm \ + /${VIVALDI_HOME}/WidevineCdm + else + rm "${ED}"/${VIVALDI_HOME}/WidevineCdm || die + fi + + case ${PN} in + vivaldi) dosym ${VIVALDI_PN} /usr/bin/${PN} ;; + vivaldi-snapshot) dosym ${PN} /${VIVALDI_HOME}/vivaldi ;; + esac +} diff --git a/www-client/vivaldi/Manifest b/www-client/vivaldi/Manifest index d04b7b96b1d7..9f05625bf7a7 100644 --- a/www-client/vivaldi/Manifest +++ b/www-client/vivaldi/Manifest @@ -1,9 +1,9 @@ -DIST vivaldi-stable_6.8.3381.46-1_amd64.deb 108222664 BLAKE2B 6066e42b487521782e3557209364c99f48b9d64bb0b7213a88e77711b887d122bf552f3ffd3cd0c7beaefb2d265b0a37d90283bf8a6f941d67794be4d0744c4e SHA512 648bc0b5560448ffe22f4adf8a8042a9b0c11eb7835685508141b3b528ddc84526ea2bb2c64abbfafec29d9e902d07507ae0e4e64a5a0acd60b5bd77b2948d6e -DIST vivaldi-stable_6.8.3381.46-1_arm64.deb 100852032 BLAKE2B 72cc7e8a2e6f9116d3830352d1a51a20f99030c77ae69dbc81c57f1fad1a80313cb8552e9ba43557770d4a7dbe688f77a87221c3aadaa274e2678b0bf23a817c SHA512 cd8306853c641aaa6b86cdd38bc4dd3e677d93ba10d69b06cf3cae7abd8f4c2039b35f4f5f8e5f23f5d99f35073e207614e043880bf270606c597a7e3b0951e7 -DIST vivaldi-stable_6.8.3381.46-1_armhf.deb 102073476 BLAKE2B 4db487f6a233839c8468d4d6f4ef6f36b82bb555c0126a4ebcc21e683eb648b0fe477434c2325b476bc443f0a14844104a87a9adc925993f51aa8e74959a329c SHA512 59288524b57d123def03527ae76f8ccfcd1b259a016fae5479292798221c66a1267b38c1a748fc76c92cb4b415df9b05219982b4bd9fa4c7fca228aa57f277b3 DIST vivaldi-stable_6.8.3381.48-1_amd64.deb 108200444 BLAKE2B fec090db775e5a0100f1b4e3090d54554d89c5e5fe14078f43ec85eeebadfc93b66be0b7100b96c61bf1ff87c87cc98e2e74a754274feeed19739ae4944f30ae SHA512 1de828710d5ab10efb5bfa1e6b5000b1bfe51d5a7d90b4cead24364b5e6b963605bdadb69da6db5f62228dea3aaf44935d324e18a506e989c0785820acb645d3 DIST vivaldi-stable_6.8.3381.48-1_arm64.deb 100834528 BLAKE2B b5761a469efe90ee4afc0dcba95bc5a3877eda0acd8e396f9b050db5ca1897c6faea41649c567b172be57416e0b84b17567114795fb75a36732e3397503e9b3d SHA512 3062330e1dedcb1e47fb37bced7f51a56a078fe28e3cf2c918ac950081f742d7df2a8a3421c0c08375f3cbeba38a5895d2260ade6f37f1ce703afffd9fdbfb98 DIST vivaldi-stable_6.8.3381.48-1_armhf.deb 102076472 BLAKE2B 57e1403932b04ff00055f13d17ef522dbe7189579921c91d9128fa786f961719a51a59f4c7a2f7bd241c81c2fb204950a2066f1a6871ed7a524daf855255aaf6 SHA512 03d2f86353403623e191de51aee6612c40aada1885e44385e4816c10541a5087a4c254ae0e5312afb85ad5e779df49cce6f28c20dd8090018ce43b3b65690b2d -EBUILD vivaldi-6.8.3381.46.ebuild 4026 BLAKE2B 8f1b3b1d456948c599e9256fb3a9c9aa143781c925346b659d9952f0ff2400f9da71ffd4577ddb64555e0b05f39b83170043995c40709e7da73490fbcebe69f7 SHA512 17d9b4621aece9b48b54a5b6ba34082a391ca8fde2b454bc8cd7d5c334f83e7de809088d294f52bc1ab038fb7d9e1818712f5a1e233ed3097ad0b868969a6f62 -EBUILD vivaldi-6.8.3381.48.ebuild 4027 BLAKE2B d35faa915e6f681d4428e08318da3a29cfce8e797d26fcda7e36534f9c2d764beee1430b65510002b8f07576268a7968b903a5911721549379a9a3c080051718 SHA512 a30062332c0470596bfb1c1943723ee365f609501e466bbc1e90fe10951bc0928c1e820ddef5a783958f9ab12020ab390c14300746639e2b8ac620a564b8e006 +DIST vivaldi-stable_6.8.3381.50-1_amd64.deb 108239384 BLAKE2B d0b8e9280a70ef997d4d92ca3819d84fe60ada9e8a47b8d7cc34a2de34b4974a5e8ecdeb328e97615290375b1b948fcc806bb2cd47406587c73cc452860b7984 SHA512 63f8bf9dfad2c03616860a8018f1ce99fe6b182c58eb0d07b2602c2a4c851944c49fdb37cf36493b01ad15000b957fa1b53bafe8ba291be7f61d8fcc3990f3ac +DIST vivaldi-stable_6.8.3381.50-1_arm64.deb 100820040 BLAKE2B 3a07a6f324ef422f828c557ad2e4dbdd68c280949e814a59cef9fa7c3d0b12ef23b652c2cc8ec0b96cb6f12ea7d154a4ac696ffde404b34d7d0f783a16752706 SHA512 744573f640d5d85cbe55cb104714a7479a678b335ec767ed38ce88fcdd7c6552e3d7a7c66767f4309939e5680c02c936329fd9ac106cefcd4645db4fec632665 +DIST vivaldi-stable_6.8.3381.50-1_armhf.deb 102062544 BLAKE2B baf227cdda918e084f7b575bd415c8b3ca6bda4e62bef3aac80aff48481f0d40cfb445c145cc567ed95e2fbf7badc5610931f946d4be26dae432c1bc9dc781a4 SHA512 1b3da60dc10b82d69d41be111f6be7433bc434e1f5bcc00a466aabc5d298295bc49b4f4388fb84afed8f9bf8d1725545156fb5a962727315b5de635c1bfdd704 +EBUILD vivaldi-6.8.3381.48.ebuild 4026 BLAKE2B 8f1b3b1d456948c599e9256fb3a9c9aa143781c925346b659d9952f0ff2400f9da71ffd4577ddb64555e0b05f39b83170043995c40709e7da73490fbcebe69f7 SHA512 17d9b4621aece9b48b54a5b6ba34082a391ca8fde2b454bc8cd7d5c334f83e7de809088d294f52bc1ab038fb7d9e1818712f5a1e233ed3097ad0b868969a6f62 +EBUILD vivaldi-6.8.3381.50.ebuild 4027 BLAKE2B d35faa915e6f681d4428e08318da3a29cfce8e797d26fcda7e36534f9c2d764beee1430b65510002b8f07576268a7968b903a5911721549379a9a3c080051718 SHA512 a30062332c0470596bfb1c1943723ee365f609501e466bbc1e90fe10951bc0928c1e820ddef5a783958f9ab12020ab390c14300746639e2b8ac620a564b8e006 MISC metadata.xml 634 BLAKE2B fa3f150ffb5f5da3780098747f71d304c9ceb9828cd4dc7c586ba7032a7ba0b3065c25e5dd84fdab7b4302db8b4c848f116eb5b329f440f8a38837dca005a570 SHA512 f226a355a39cec36b5d6f3f88e7f2132693b5dcf51bdec4676d17f608f16ced52d6b9c5dfac2d38f2245cdf6ff7279286034e77ea119cfb4b7240500f612968e diff --git a/www-client/vivaldi/vivaldi-6.8.3381.46.ebuild b/www-client/vivaldi/vivaldi-6.8.3381.46.ebuild deleted file mode 100644 index ffe6e8c54085..000000000000 --- a/www-client/vivaldi/vivaldi-6.8.3381.46.ebuild +++ /dev/null @@ -1,226 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_VERSION="126" -CHROMIUM_LANGS=" - af - am - ar - az - be - bg - bn - ca - ca-valencia - cs - da - de - de-CH - el - en-GB - en-US - eo - es - es-419 - es-PE - et - eu - fa - fi - fil - fr - fy - gd - gl - gu - he - hi - hr - hu - hy - id - io - is - it - ja - jbo - ka - kab - kn - ko - lt - lv - mk - ml - mr - ms - nb - nl - nn - pa - pl - pt-BR - pt-PT - ro - ru - sc - sk - sl - sq - sr - sr-Latn - sv - sw - ta - te - th - tr - uk - ur - vi - zh-CN - zh-TW -" - -inherit chromium-2 desktop linux-info toolchain-funcs unpacker xdg - -VIVALDI_PN="${PN/%vivaldi/vivaldi-stable}" -VIVALDI_HOME="opt/${PN}" -DESCRIPTION="A browser for our friends" -HOMEPAGE="https://vivaldi.com/" - -if [[ ${PV} = *_p* ]]; then - DEB_REV="${PV#*_p}" -else - DEB_REV=1 -fi - -VIVALDI_BASE_URI="https://downloads.vivaldi.com/${VIVALDI_PN#vivaldi-}/${VIVALDI_PN}_${PV%_p*}-${DEB_REV}_" - -SRC_URI=" - amd64? ( ${VIVALDI_BASE_URI}amd64.deb ) - arm? ( ${VIVALDI_BASE_URI}armhf.deb ) - arm64? ( ${VIVALDI_BASE_URI}arm64.deb ) -" - -S="${WORKDIR}" -LICENSE="Vivaldi" -SLOT="0" -KEYWORDS="-* amd64 ~arm ~arm64" -IUSE="ffmpeg-chromium gtk proprietary-codecs qt5 qt6 widevine" -RESTRICT="bindist mirror" -#REQUIRED_USE="ffmpeg-chromium? ( proprietary-codecs )" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-print/cups - sys-apps/dbus - x11-libs/cairo - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libxcb - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libxkbcommon - x11-libs/libXrandr - x11-libs/pango[X] - gtk? ( gui-libs/gtk:4 x11-libs/gtk+:3 ) - proprietary-codecs? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) - ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - widevine? ( www-plugins/chrome-binary-plugins ) -" - -QA_PREBUILT="*" -CONFIG_CHECK="~CPU_FREQ" - -src_unpack() { - unpack_deb ${A} -} - -src_prepare() { - # Rename docs directory to our needs. - mv usr/share/doc/{${VIVALDI_PN},${PF}}/ || die - - # Decompress the docs. - gunzip usr/share/doc/${PF}/changelog.gz || die - - # The appdata directory is deprecated. - mv usr/share/{appdata,metainfo}/ || die - - # Remove cron job for updating from Debian repos. - rm etc/cron.daily/${PN} ${VIVALDI_HOME}/cron/${PN} || die - rmdir etc/{cron.daily/,} ${VIVALDI_HOME}/cron/ || die - - # Remove scripts that will most likely break things. - rm -vf ${VIVALDI_HOME}/update-{ffmpeg,widevine} || die - - pushd ${VIVALDI_HOME}/locales > /dev/null || die - rm ja-KS.pak || die # No flag for Kansai as not in IETF list. - rm kmr.pak || die # No flag for Kurmanji. - chromium_remove_language_paks - popd > /dev/null || die - - if use proprietary-codecs; then - einfo Bundled $($(tc-getSTRINGS) ${VIVALDI_HOME}/lib/libffmpeg.so | grep -m1 "^FFmpeg version ") - rm ${VIVALDI_HOME}/lib/libffmpeg.so || die - rmdir ${VIVALDI_HOME}/lib || die - fi - - if ! use qt5; then - rm ${VIVALDI_HOME}/libqt5_shim.so || die - fi - - if ! use qt6; then - rm ${VIVALDI_HOME}/libqt6_shim.so || die - fi - - eapply_user -} - -src_install() { - mv */ "${D}" || die - dosym ../../${VIVALDI_HOME}/${PN} /usr/bin/${VIVALDI_PN} - fperms 4711 /${VIVALDI_HOME}/vivaldi-sandbox - - local logo size - for logo in "${ED}"/${VIVALDI_HOME}/product_logo_*.png; do - size=${logo##*_} - size=${size%.*} - newicon -s "${size}" "${logo}" ${PN}.png - done - - if use proprietary-codecs; then - dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ - /${VIVALDI_HOME}/libffmpeg.so.$(ver_cut 1-2) - fi - - if use widevine; then - dosym ../../usr/$(get_libdir)/chromium-browser/WidevineCdm \ - /${VIVALDI_HOME}/WidevineCdm - else - rm "${ED}"/${VIVALDI_HOME}/WidevineCdm || die - fi - - case ${PN} in - vivaldi) dosym ${VIVALDI_PN} /usr/bin/${PN} ;; - vivaldi-snapshot) dosym ${PN} /${VIVALDI_HOME}/vivaldi ;; - esac -} diff --git a/www-client/vivaldi/vivaldi-6.8.3381.48.ebuild b/www-client/vivaldi/vivaldi-6.8.3381.48.ebuild index ccc6676d81ad..ffe6e8c54085 100644 --- a/www-client/vivaldi/vivaldi-6.8.3381.48.ebuild +++ b/www-client/vivaldi/vivaldi-6.8.3381.48.ebuild @@ -108,7 +108,7 @@ SRC_URI=" S="${WORKDIR}" LICENSE="Vivaldi" SLOT="0" -KEYWORDS="-* ~amd64 ~arm ~arm64" +KEYWORDS="-* amd64 ~arm ~arm64" IUSE="ffmpeg-chromium gtk proprietary-codecs qt5 qt6 widevine" RESTRICT="bindist mirror" #REQUIRED_USE="ffmpeg-chromium? ( proprietary-codecs )" diff --git a/www-client/vivaldi/vivaldi-6.8.3381.50.ebuild b/www-client/vivaldi/vivaldi-6.8.3381.50.ebuild new file mode 100644 index 000000000000..ccc6676d81ad --- /dev/null +++ b/www-client/vivaldi/vivaldi-6.8.3381.50.ebuild @@ -0,0 +1,226 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_VERSION="126" +CHROMIUM_LANGS=" + af + am + ar + az + be + bg + bn + ca + ca-valencia + cs + da + de + de-CH + el + en-GB + en-US + eo + es + es-419 + es-PE + et + eu + fa + fi + fil + fr + fy + gd + gl + gu + he + hi + hr + hu + hy + id + io + is + it + ja + jbo + ka + kab + kn + ko + lt + lv + mk + ml + mr + ms + nb + nl + nn + pa + pl + pt-BR + pt-PT + ro + ru + sc + sk + sl + sq + sr + sr-Latn + sv + sw + ta + te + th + tr + uk + ur + vi + zh-CN + zh-TW +" + +inherit chromium-2 desktop linux-info toolchain-funcs unpacker xdg + +VIVALDI_PN="${PN/%vivaldi/vivaldi-stable}" +VIVALDI_HOME="opt/${PN}" +DESCRIPTION="A browser for our friends" +HOMEPAGE="https://vivaldi.com/" + +if [[ ${PV} = *_p* ]]; then + DEB_REV="${PV#*_p}" +else + DEB_REV=1 +fi + +VIVALDI_BASE_URI="https://downloads.vivaldi.com/${VIVALDI_PN#vivaldi-}/${VIVALDI_PN}_${PV%_p*}-${DEB_REV}_" + +SRC_URI=" + amd64? ( ${VIVALDI_BASE_URI}amd64.deb ) + arm? ( ${VIVALDI_BASE_URI}armhf.deb ) + arm64? ( ${VIVALDI_BASE_URI}arm64.deb ) +" + +S="${WORKDIR}" +LICENSE="Vivaldi" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~arm64" +IUSE="ffmpeg-chromium gtk proprietary-codecs qt5 qt6 widevine" +RESTRICT="bindist mirror" +#REQUIRED_USE="ffmpeg-chromium? ( proprietary-codecs )" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-print/cups + sys-apps/dbus + x11-libs/cairo + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon + x11-libs/libXrandr + x11-libs/pango[X] + gtk? ( gui-libs/gtk:4 x11-libs/gtk+:3 ) + proprietary-codecs? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) + ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + widevine? ( www-plugins/chrome-binary-plugins ) +" + +QA_PREBUILT="*" +CONFIG_CHECK="~CPU_FREQ" + +src_unpack() { + unpack_deb ${A} +} + +src_prepare() { + # Rename docs directory to our needs. + mv usr/share/doc/{${VIVALDI_PN},${PF}}/ || die + + # Decompress the docs. + gunzip usr/share/doc/${PF}/changelog.gz || die + + # The appdata directory is deprecated. + mv usr/share/{appdata,metainfo}/ || die + + # Remove cron job for updating from Debian repos. + rm etc/cron.daily/${PN} ${VIVALDI_HOME}/cron/${PN} || die + rmdir etc/{cron.daily/,} ${VIVALDI_HOME}/cron/ || die + + # Remove scripts that will most likely break things. + rm -vf ${VIVALDI_HOME}/update-{ffmpeg,widevine} || die + + pushd ${VIVALDI_HOME}/locales > /dev/null || die + rm ja-KS.pak || die # No flag for Kansai as not in IETF list. + rm kmr.pak || die # No flag for Kurmanji. + chromium_remove_language_paks + popd > /dev/null || die + + if use proprietary-codecs; then + einfo Bundled $($(tc-getSTRINGS) ${VIVALDI_HOME}/lib/libffmpeg.so | grep -m1 "^FFmpeg version ") + rm ${VIVALDI_HOME}/lib/libffmpeg.so || die + rmdir ${VIVALDI_HOME}/lib || die + fi + + if ! use qt5; then + rm ${VIVALDI_HOME}/libqt5_shim.so || die + fi + + if ! use qt6; then + rm ${VIVALDI_HOME}/libqt6_shim.so || die + fi + + eapply_user +} + +src_install() { + mv */ "${D}" || die + dosym ../../${VIVALDI_HOME}/${PN} /usr/bin/${VIVALDI_PN} + fperms 4711 /${VIVALDI_HOME}/vivaldi-sandbox + + local logo size + for logo in "${ED}"/${VIVALDI_HOME}/product_logo_*.png; do + size=${logo##*_} + size=${size%.*} + newicon -s "${size}" "${logo}" ${PN}.png + done + + if use proprietary-codecs; then + dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ + /${VIVALDI_HOME}/libffmpeg.so.$(ver_cut 1-2) + fi + + if use widevine; then + dosym ../../usr/$(get_libdir)/chromium-browser/WidevineCdm \ + /${VIVALDI_HOME}/WidevineCdm + else + rm "${ED}"/${VIVALDI_HOME}/WidevineCdm || die + fi + + case ${PN} in + vivaldi) dosym ${VIVALDI_PN} /usr/bin/${PN} ;; + vivaldi-snapshot) dosym ${PN} /${VIVALDI_HOME}/vivaldi ;; + esac +} -- cgit v1.2.3