summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-09-17 22:25:09 -0500
committerroot <root@alpha.trunkmasters.com>2026-09-17 22:25:09 -0500
commit79477d9c98f30c3ebedd8b75721260b257822d65 (patch)
tree6382d7f3017e7fe54b0858648589f42075c9ca2e
parente354c0374d2aa19224b635b0ce38bd0e6a6b5fc3 (diff)
downloadsrcux-79477d9c98f30c3ebedd8b75721260b257822d65.tar.gz
srcux-79477d9c98f30c3ebedd8b75721260b257822d65.tar.xz
srcux-79477d9c98f30c3ebedd8b75721260b257822d65.zip
Adding metadata
-rw-r--r--app-arch/ouch/ouch-0.8.0.ebuild5
-rw-r--r--app-arch/ouch/ouch-0.8.1.ebuild5
-rw-r--r--app-arch/ouch/ouch-0.8.2.ebuild5
-rw-r--r--app-emulation/virtualbox-additions/Manifest1
-rw-r--r--app-emulation/virtualbox-additions/virtualbox-additions-7.2.18.ebuild26
-rw-r--r--app-emulation/virtualbox-extpack-oracle/Manifest1
-rw-r--r--app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.2.18.ebuild33
-rw-r--r--app-emulation/virtualbox-guest-additions/Manifest1
-rw-r--r--app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.2.18.ebuild256
-rw-r--r--app-emulation/virtualbox-guest-modules/Manifest1
-rw-r--r--app-emulation/virtualbox-guest-modules/virtualbox-guest-modules-7.2.18.ebuild48
-rw-r--r--app-emulation/virtualbox-kvm/Manifest2
-rw-r--r--app-emulation/virtualbox-kvm/virtualbox-kvm-7.2.18_pre20260201.ebuild795
-rw-r--r--app-emulation/virtualbox-modules/Manifest1
-rw-r--r--app-emulation/virtualbox-modules/virtualbox-modules-7.2.18.ebuild35
-rw-r--r--app-emulation/virtualbox/Manifest2
-rw-r--r--app-emulation/virtualbox/virtualbox-7.2.18.ebuild785
-rw-r--r--app-misc/openrgb-plugin-effects/Manifest1
-rw-r--r--app-misc/openrgb-plugin-effects/files/openrgb-plugin-effects-1.0-dep.patch9
-rw-r--r--app-misc/openrgb-plugin-effects/openrgb-plugin-effects-1.0.ebuild72
-rw-r--r--app-misc/openrgb-plugin-effects/openrgb-plugin-effects-1.0_rc2-r1.ebuild (renamed from app-misc/openrgb-plugin-effects/openrgb-plugin-effects-1.0_rc2.ebuild)3
-rw-r--r--app-misc/openrgb-plugin-skin/openrgb-plugin-skin-1.0_rc2-r1.ebuild (renamed from app-misc/openrgb-plugin-skin/openrgb-plugin-skin-1.0_rc2.ebuild)3
-rw-r--r--app-misc/openrgb-plugin-visualmap/Manifest1
-rw-r--r--app-misc/openrgb-plugin-visualmap/files/openrgb-plugin-visualmap-1.0-dep.patch9
-rw-r--r--app-misc/openrgb-plugin-visualmap/openrgb-plugin-visualmap-1.0.ebuild51
-rw-r--r--app-misc/openrgb-plugin-visualmap/openrgb-plugin-visualmap-1.0_rc2-r1.ebuild (renamed from app-misc/openrgb-plugin-visualmap/openrgb-plugin-visualmap-1.0_rc2.ebuild)3
-rw-r--r--app-misc/openrgb/Manifest1
-rw-r--r--app-misc/openrgb/metadata.xml3
-rw-r--r--app-misc/openrgb/openrgb-1.0.ebuild112
-rw-r--r--app-misc/openrgb/openrgb-9999.ebuild17
-rw-r--r--app-portage/pupgrade/Manifest2
-rw-r--r--dev-embedded/esp-idf-kconfig/esp-idf-kconfig-3.13.0-r1.ebuild (renamed from dev-embedded/esp-idf-kconfig/esp-idf-kconfig-3.13.0.ebuild)2
-rw-r--r--dev-embedded/esp-idf-monitor/esp-idf-monitor-1.10.0-r1.ebuild (renamed from dev-embedded/esp-idf-monitor/esp-idf-monitor-1.10.0.ebuild)2
-rw-r--r--dev-embedded/esp-idf-size/esp-idf-size-2.3.1-r1.ebuild (renamed from dev-embedded/esp-idf-size/esp-idf-size-2.3.1.ebuild)2
-rw-r--r--dev-embedded/esp-idf/Manifest1
-rw-r--r--dev-embedded/esp-idf/esp-idf-6.0.3-r1.ebuild199
-rw-r--r--dev-embedded/esp-idf/esp-idf-6.1.ebuild200
-rw-r--r--dev-embedded/esp-pylib/Manifest1
-rw-r--r--dev-embedded/esp-pylib/esp-pylib-1.1.4.ebuild28
-rw-r--r--dev-embedded/fwup/Manifest2
-rw-r--r--dev-embedded/fwup/fwup-1.17.1.ebuild (renamed from dev-embedded/fwup/fwup-1.15.1.ebuild)20
-rw-r--r--dev-embedded/idf-component-manager/idf-component-manager-3.1.2-r1.ebuild (renamed from dev-embedded/idf-component-manager/idf-component-manager-3.1.2.ebuild)2
-rw-r--r--dev-libs/hidapi-hotplug/Manifest1
-rw-r--r--dev-libs/hidapi-hotplug/hidapi-hotplug-0.15.0.ebuild52
-rw-r--r--dev-libs/hidapi-hotplug/metadata.xml (renamed from dev-embedded/esp-pylib/metadata.xml)8
-rw-r--r--dev-libs/hyprland-protocols/Manifest1
-rw-r--r--dev-libs/hyprland-protocols/hyprland-protocols-0.7.1.ebuild25
-rw-r--r--dev-libs/kirigami-addons/Manifest1
-rw-r--r--dev-libs/kirigami-addons/kirigami-addons-1.14.0.ebuild51
-rw-r--r--dev-python/filelock/Manifest2
-rw-r--r--dev-python/filelock/filelock-4.0.0.ebuild38
-rw-r--r--dev-python/gst-python/gst-python-1.26.11.ebuild2
-rw-r--r--dev-python/hcloud/Manifest1
-rw-r--r--dev-python/hcloud/hcloud-2.25.1.ebuild51
-rw-r--r--dev-python/idna/Manifest2
-rw-r--r--dev-python/idna/idna-3.20.ebuild31
-rw-r--r--dev-python/pdm/Manifest2
-rw-r--r--dev-python/pdm/pdm-2.29.2.ebuild (renamed from dev-python/pdm/pdm-2.29.0.ebuild)4
-rw-r--r--dev-python/pycurl/files/pycurl-7.47.0-except.patch51
-rw-r--r--dev-python/pycurl/pycurl-7.47.0.ebuild11
-rw-r--r--dev-python/pycurl/pycurl-7.48.0.ebuild12
-rw-r--r--dev-python/pymysql/Manifest1
-rw-r--r--dev-python/pymysql/pymysql-1.2.3.ebuild110
-rw-r--r--dev-python/pyrefly/Manifest2
-rw-r--r--dev-python/pyrefly/pyrefly-1.3.1.ebuild (renamed from dev-python/pyrefly/pyrefly-1.1.0.ebuild)336
-rw-r--r--dev-python/pytest-rerunfailures/Manifest2
-rw-r--r--dev-python/pytest-rerunfailures/pytest-rerunfailures-16.7.ebuild (renamed from dev-python/pytest-rerunfailures/pytest-rerunfailures-16.4.ebuild)2
-rw-r--r--dev-python/python-pam/Manifest1
-rw-r--r--dev-python/python-pam/python-pam-2.1.0.ebuild30
-rw-r--r--dev-python/tox/Manifest2
-rw-r--r--dev-python/tox/tox-4.61.5.ebuild84
-rw-r--r--dev-python/types-docutils/Manifest1
-rw-r--r--dev-python/types-docutils/types-docutils-0.23.0.20260917.ebuild16
-rw-r--r--dev-python/urwid/Manifest4
-rw-r--r--dev-python/urwid/urwid-4.1.4.ebuild (renamed from dev-python/urwid/urwid-4.0.8.ebuild)4
-rw-r--r--dev-util/google-antigravity-cli/Manifest8
-rw-r--r--dev-util/google-antigravity-cli/google-antigravity-cli-1.2.4.ebuild (renamed from dev-util/google-antigravity-cli/google-antigravity-cli-1.2.3.ebuild)2
-rw-r--r--dev-util/google-antigravity-cli/google-antigravity-cli-1.2.5.ebuild (renamed from dev-util/google-antigravity-cli/google-antigravity-cli-1.2.2.ebuild)2
-rw-r--r--dev-util/google-antigravity/Manifest4
-rw-r--r--dev-util/google-antigravity/google-antigravity-2.14.0.ebuild (renamed from dev-util/google-antigravity/google-antigravity-2.11.0.ebuild)2
-rw-r--r--dev-util/opencode-bin/Manifest3
-rw-r--r--dev-util/opencode-bin/opencode-bin-1.1.48.ebuild21
-rw-r--r--dev-util/opencode-bin/opencode-bin-1.15.12.ebuild21
-rw-r--r--dev-util/opencode-bin/opencode-bin-1.18.30.ebuild2
-rw-r--r--dev-util/opencode-bin/opencode-bin-1.18.31.ebuild2
-rw-r--r--dev-util/opencode-bin/opencode-bin-1.2.6.ebuild21
-rw-r--r--dev-vcs/jj/jj-0.45.1-r1.ebuild5
-rw-r--r--gui-libs/aquamarine/Manifest1
-rw-r--r--gui-libs/aquamarine/aquamarine-0.15.1.ebuild71
-rw-r--r--gui-libs/scenefx/files/scenefx-0.5-musl.patch19
-rw-r--r--gui-libs/scenefx/scenefx-0.5.ebuild10
-rw-r--r--gui-wm/hyprland/files/hyprland-0.56.0-gcc15-compile-fix.patch (renamed from gui-wm/hyprland/files/hyprland-gcc15-compile-fix.patch)0
-rw-r--r--gui-wm/hyprland/files/hyprland-9999-gcc15-compile-fix.patch45
-rw-r--r--gui-wm/hyprland/hyprland-0.54.3.ebuild1
-rw-r--r--gui-wm/hyprland/hyprland-0.55.4-r1.ebuild1
-rw-r--r--gui-wm/hyprland/hyprland-0.56.0-r1.ebuild3
-rw-r--r--gui-wm/hyprland/hyprland-0.56.1.ebuild3
-rw-r--r--gui-wm/hyprland/hyprland-0.56.2.ebuild3
-rw-r--r--gui-wm/hyprland/hyprland-9999.ebuild2
-rw-r--r--gui-wm/mangowm/Manifest1
-rw-r--r--gui-wm/mangowm/files/mangowm-musl.patch19
-rw-r--r--gui-wm/mangowm/mangowm-0.17.0.ebuild8
-rw-r--r--gui-wm/mangowm/mangowm-0.17.1.ebuild86
-rw-r--r--llvm-core/flang/flang-24.0.0.9999.ebuild60
-rw-r--r--llvm-runtimes/clang-runtime/clang-runtime-24.ebuild12
-rw-r--r--llvm-runtimes/flang-rt/flang-rt-21.1.8-r1.ebuild (renamed from llvm-runtimes/flang-rt/flang-rt-21.1.8.ebuild)3
-rw-r--r--llvm-runtimes/flang-rt/flang-rt-22.1.8-r1.ebuild (renamed from llvm-runtimes/flang-rt/flang-rt-22.1.8.ebuild)3
-rw-r--r--llvm-runtimes/flang-rt/flang-rt-23.1.1-r1.ebuild (renamed from llvm-runtimes/flang-rt/flang-rt-23.1.1.ebuild)3
-rw-r--r--llvm-runtimes/flang-rt/flang-rt-24.0.0.9999.ebuild3
-rw-r--r--llvm-runtimes/openmp/openmp-24.0.0.9999.ebuild36
-rw-r--r--mail-client/thunderbird-l10n/Manifest126
-rw-r--r--mail-client/thunderbird-l10n/thunderbird-l10n-153.3.0.ebuild145
-rw-r--r--mail-client/thunderbird-l10n/thunderbird-l10n-156.0.ebuild145
-rw-r--r--mail-client/thunderbird/Manifest68
-rw-r--r--mail-client/thunderbird/thunderbird-140.16.0.ebuild1168
-rw-r--r--mail-client/thunderbird/thunderbird-153.3.0.ebuild1120
-rw-r--r--mail-client/thunderbird/thunderbird-156.0.ebuild1116
-rw-r--r--media-libs/gst-plugins-bad/gst-plugins-bad-1.26.11.ebuild2
-rw-r--r--media-libs/gst-plugins-base/gst-plugins-base-1.26.11.ebuild2
-rw-r--r--media-libs/gst-plugins-good/gst-plugins-good-1.26.11.ebuild2
-rw-r--r--media-libs/gst-plugins-ugly/gst-plugins-ugly-1.26.11.ebuild2
-rw-r--r--media-libs/gstreamer/gstreamer-1.26.11.ebuild2
-rw-r--r--media-libs/pulseaudio-qt/Manifest1
-rw-r--r--media-libs/pulseaudio-qt/pulseaudio-qt-1.9.0.ebuild31
-rw-r--r--media-libs/x264/x264-0.0.20240513-r1.ebuild56
-rw-r--r--media-libs/x264/x264-9999.ebuild56
-rw-r--r--media-plugins/gst-plugins-a52dec/gst-plugins-a52dec-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-adaptivedemux2/gst-plugins-adaptivedemux2-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-assrender/gst-plugins-assrender-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-cdio/gst-plugins-cdio-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-cdparanoia/gst-plugins-cdparanoia-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-chromaprint/gst-plugins-chromaprint-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-dvb/gst-plugins-dvb-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-dvdread/gst-plugins-dvdread-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-flac/gst-plugins-flac-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-gdkpixbuf/gst-plugins-gdkpixbuf-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-gtk/gst-plugins-gtk-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-jack/gst-plugins-jack-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-jpeg/gst-plugins-jpeg-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-ldac/gst-plugins-ldac-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-libav/gst-plugins-libav-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-libpng/gst-plugins-libpng-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-meta/gst-plugins-meta-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-modplug/gst-plugins-modplug-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-mpeg2dec/gst-plugins-mpeg2dec-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-mpg123/gst-plugins-mpg123-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-openaptx/gst-plugins-openaptx-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-opus/gst-plugins-opus-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-oss/gst-plugins-oss-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-pulse/gst-plugins-pulse-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-qt6/gst-plugins-qt6-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-resindvd/gst-plugins-resindvd-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-soup/gst-plugins-soup-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-srtp/gst-plugins-srtp-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-taglib/gst-plugins-taglib-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-vaapi/gst-plugins-vaapi-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-vpx/gst-plugins-vpx-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-webp/gst-plugins-webp-1.26.11.ebuild2
-rw-r--r--media-plugins/gst-plugins-x264/gst-plugins-x264-1.26.11.ebuild2
-rw-r--r--media-sound/Tauon/Manifest1
-rw-r--r--media-sound/Tauon/Tauon-12.0.0.ebuild120
-rw-r--r--media-sound/Tauon/files/Tauon-12.0.0-phazor-build.patch17
-rw-r--r--media-sound/goxlr-utility/goxlr-utility-1.2.3.ebuild4
-rw-r--r--media-video/obs-cmd/Manifest52
-rw-r--r--media-video/obs-cmd/obs-cmd-1.0.2.ebuild (renamed from media-video/obs-cmd/obs-cmd-0.31.3.ebuild)89
-rw-r--r--net-dns/blocky/Manifest4
-rw-r--r--net-dns/blocky/blocky-0.35.0.ebuild (renamed from net-dns/blocky/blocky-0.32.1.ebuild)2
-rw-r--r--net-im/equibop-bin/Manifest3
-rw-r--r--net-im/equibop-bin/equibop-bin-3.3.1.ebuild97
-rw-r--r--net-im/why2/Manifest13
-rw-r--r--net-im/why2/why2-2.2.1.ebuild (renamed from net-im/why2/why2-2.1.4.ebuild)11
-rw-r--r--net-irc/znc/znc-1.10.1.ebuild4
-rw-r--r--net-irc/znc/znc-1.10.3.ebuild2
-rw-r--r--net-irc/znc/znc-9999.ebuild4
-rw-r--r--net-libs/nodejs/files/nodejs-26.8.2-add-missing-funcational-inc.patch10
-rw-r--r--net-libs/nodejs/nodejs-26.8.2-r2.ebuild317
-rw-r--r--net-libs/quiche/Manifest61
-rw-r--r--net-libs/quiche/quiche-0.30.0.ebuild361
-rw-r--r--net-libs/quiche/quiche-9999.ebuild120
-rw-r--r--net-misc/omnissa-horizon-client/omnissa-horizon-client-2606-r1.ebuild5
-rw-r--r--sci-astronomy/stellarium/files/stellarium-26.2-link-error.patch23
-rw-r--r--sci-astronomy/stellarium/stellarium-26.2.ebuild4
-rw-r--r--sec-keys/openpgp-keys-tpm/openpgp-keys-tpm-20260324.ebuild2
-rw-r--r--sys-apps/busybox/busybox-1.36.1-r4.ebuild3
-rw-r--r--sys-apps/busybox/busybox-1.37.0.ebuild3
-rw-r--r--sys-apps/busybox/busybox-1.38.0.ebuild3
-rw-r--r--sys-apps/busybox/busybox-9999.ebuild5
-rw-r--r--sys-apps/busybox/metadata.xml1
-rw-r--r--sys-apps/utils-extra/Manifest2
-rw-r--r--sys-apps/utils-extra/utils-extra-0.2.0.ebuild62
-rw-r--r--sys-apps/utils-extra/utils-extra-9999.ebuild38
-rw-r--r--www-apps/soupault/Manifest2
-rw-r--r--www-client/yandex-browser/Manifest2
-rw-r--r--www-client/yandex-browser/yandex-browser-26.8.1.1081_p1.ebuild (renamed from www-client/yandex-browser/yandex-browser-26.8.1.1022_p1.ebuild)0
-rw-r--r--www-servers/nginx/nginx-1.30.5.ebuild2
-rw-r--r--www-servers/nginx/nginx-1.31.6.ebuild2
197 files changed, 9097 insertions, 639 deletions
diff --git a/app-arch/ouch/ouch-0.8.0.ebuild b/app-arch/ouch/ouch-0.8.0.ebuild
index ea3354c1d551..70c43e9f6bc0 100644
--- a/app-arch/ouch/ouch-0.8.0.ebuild
+++ b/app-arch/ouch/ouch-0.8.0.ebuild
@@ -5,12 +5,13 @@ EAPI=8
CRATES=""
-LLVM_COMPAT=( {17..22} )
+LLVM_COMPAT=( {21..22} )
RUST_NEEDS_LLVM=1
+RUST_MIN_VER="1.93.0"
inherit llvm-r1 cargo shell-completion
-DESCRIPTION="A cli utility for easily compressing and decompressing files and directories."
+DESCRIPTION="A cli utility for easily compressing and decompressing files and directories"
HOMEPAGE="https://github.com/ouch-org/ouch"
SRC_URI="https://github.com/ouch-org/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
DEPS_URI="https://github.com/gentoo-crate-dist/${PN}/releases/download/${PV}/${P}-crates.tar.xz"
diff --git a/app-arch/ouch/ouch-0.8.1.ebuild b/app-arch/ouch/ouch-0.8.1.ebuild
index ea3354c1d551..70c43e9f6bc0 100644
--- a/app-arch/ouch/ouch-0.8.1.ebuild
+++ b/app-arch/ouch/ouch-0.8.1.ebuild
@@ -5,12 +5,13 @@ EAPI=8
CRATES=""
-LLVM_COMPAT=( {17..22} )
+LLVM_COMPAT=( {21..22} )
RUST_NEEDS_LLVM=1
+RUST_MIN_VER="1.93.0"
inherit llvm-r1 cargo shell-completion
-DESCRIPTION="A cli utility for easily compressing and decompressing files and directories."
+DESCRIPTION="A cli utility for easily compressing and decompressing files and directories"
HOMEPAGE="https://github.com/ouch-org/ouch"
SRC_URI="https://github.com/ouch-org/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
DEPS_URI="https://github.com/gentoo-crate-dist/${PN}/releases/download/${PV}/${P}-crates.tar.xz"
diff --git a/app-arch/ouch/ouch-0.8.2.ebuild b/app-arch/ouch/ouch-0.8.2.ebuild
index eecb23559790..686159cc5e12 100644
--- a/app-arch/ouch/ouch-0.8.2.ebuild
+++ b/app-arch/ouch/ouch-0.8.2.ebuild
@@ -5,12 +5,13 @@ EAPI=8
CRATES=""
-LLVM_COMPAT=( {17..22} )
+LLVM_COMPAT=( {21..22} )
RUST_NEEDS_LLVM=1
+RUST_MIN_VER="1.93.0"
inherit llvm-r1 cargo shell-completion
-DESCRIPTION="A cli utility for easily compressing and decompressing files and directories."
+DESCRIPTION="A cli utility for easily compressing and decompressing files and directories"
HOMEPAGE="https://github.com/ouch-org/ouch"
SRC_URI="https://github.com/ouch-org/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
DEPS_URI="https://github.com/gentoo-crate-dist/${PN}/releases/download/${PV}/${P}-crates.tar.xz"
diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest
index c03e815f7daf..4edbd312bce9 100644
--- a/app-emulation/virtualbox-additions/Manifest
+++ b/app-emulation/virtualbox-additions/Manifest
@@ -1,3 +1,4 @@
DIST VBoxGuestAdditions_7.0.26.iso 54992896 BLAKE2B a52bcf234232723e3c04e7de5fda518a745b3128f2fd3d1213a97d69e3f010647056d407b05e9f7f1debb966e32b0189c4fc4176e096e7b5ac3ba27e1adad57e SHA512 636328e8ccdbbefbcccce1750dcb984bbb52d886e3f6f94f119212e9d9258d6d37029f65a8ce6b86d677014d45f48d255ed9346de4edbd53f609b64ba9b5b1e9
DIST VBoxGuestAdditions_7.2.14.iso 53489664 BLAKE2B d7311be8f2988b8360c8f7fe55bc2dd2e7a8b95649a4e57fafe2dfbda4d538f86055f757ff17ba3d804d566da529141a683f6728b8dadf009376e6b83277a93a SHA512 e6ec557d3b7fe570704d7714636029a91e20441ad1ca8869a8c0b536287a0deeedd702a2300d7ec006f4252f8704f9f501756d1faba414501b6d5517f2d0acf8
DIST VBoxGuestAdditions_7.2.16.iso 53098496 BLAKE2B b4ced04afb076880b85e2a900a5301be3e475ce51503cfb5deb13bd79f09b343bce5c6ba8572335cdf590431bb139767b21ae707099797d2c45f563f32142a27 SHA512 b83833a5593373e13a37cdb230ee6cf55e0648e6f8c0279d7c3160667ce5baddc9b51ad8ba2c94a4802e74877a304933481a68265804ef78e9b40f4e8b4bb9b0
+DIST VBoxGuestAdditions_7.2.18.iso 53141504 BLAKE2B b87d9b5969c78f3626c8b8554151fb72e4cec63af78c1bd0c253ab34ef92a9065131bbebf2779ea9dbf6b832544de81497541df1dfbb94178ba2f78e89007b82 SHA512 6d130993d437f508af6124f110c2bccbf3aa4e62c80e7bd29bc39aa0a534d0fc20a62f2efc742f22f0c234b9be3cd11364d53e382115fbcb65064338b6b01bfa
diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-7.2.18.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-7.2.18.ebuild
new file mode 100644
index 000000000000..f07acacae506
--- /dev/null
+++ b/app-emulation/virtualbox-additions/virtualbox-additions-7.2.18.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=VBoxGuestAdditions
+MY_PV=${PV^^}
+MY_P=${MY_PN}_${MY_PV}
+
+DESCRIPTION="CD image containing guest additions for VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
+S="${WORKDIR}"
+
+LICENSE="GPL-3 || ( GPL-3 CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+src_unpack() {
+ return 0
+}
+
+src_install() {
+ insinto /usr/share/${PN/-additions}
+ newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
+}
diff --git a/app-emulation/virtualbox-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest
index c17d4edab310..6e8ae9f654b4 100644
--- a/app-emulation/virtualbox-extpack-oracle/Manifest
+++ b/app-emulation/virtualbox-extpack-oracle/Manifest
@@ -1,3 +1,4 @@
DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.26.tar.gz 18268793 BLAKE2B 26b53bb022dab26a02fb450252ad07d58b3e9f7fb103752396652e1950b6c77f4f2ff8eff1a1e6d4a0c38de331110b26f26f1750d211aaebb71198513e2fad74 SHA512 bae8dfeea7048a1d7057b27f9815fa626b87beafa182d801b650048dd95cfae7cf87ed7dbf2dc87678748b5f4e46d7d284da1d1aaa0be9b3e214ccb16dd76630
DIST Oracle_VirtualBox_Extension_Pack-7.2.14.tar.gz 20069087 BLAKE2B b6e3ad53abb3bbe7f7aa5f72f5e8c2786e490ffbe87a59361ea388fb650f1b16ec6ef5bd2600de4a8e0530be71e31bef3290327589e2e1848f94dd4815141848 SHA512 5f8aea7cda208681437ece898ec1784ab222895660e0366f9ec7fba39fbc2060350282a520302d89953f74bcf07600c1b80cc6633dcc7b5f85b72e9e050fe631
DIST Oracle_VirtualBox_Extension_Pack-7.2.16.tar.gz 20069198 BLAKE2B c752c5c28bfaef767e922ea9e7ecc6ff9cac28ba44b3f6c7c7ba8cbcf2ea5bf3934a2b8025a795b72450e02ed58beb74be8ad8f87bce2953a61ddd7930dfbdd5 SHA512 31ae4ffe9508bc90478cfb6d7816e936c7dd13395a18e9dcfd664f7716263943a7c411657ac1a47927ae30fe518dd2ef8cd011daa808628de3f4d9ad42d35b8b
+DIST Oracle_VirtualBox_Extension_Pack-7.2.18.tar.gz 20042548 BLAKE2B e8bf3c8f3bc66831595a4d997466e54217f9a1a93a45235235ddbcdd78a40e2d2d7a4efd63b0c669bed15db36c8f1851cbf8556e83b695fc34c6936b44dafeac SHA512 40a34f963ab04aa1b7099bdd839be0b173d07af35443bedf70b87d4cc8e3d058ebe56fe324e280f8e6944ef9b802819c64d991b6d698cb5ce404aab7d9bfc107
diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.2.18.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.2.18.ebuild
new file mode 100644
index 000000000000..fdd30bb6b345
--- /dev/null
+++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.2.18.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="${PV^^}"
+MY_PN="Oracle_VirtualBox_Extension_Pack"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="PUEL extensions for VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
+S="${WORKDIR}"
+
+LICENSE="PUEL-12"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ || (
+ =app-emulation/virtualbox-${PV}*
+ =app-emulation/virtualbox-kvm-${PV}*
+ )
+"
+
+QA_PREBUILT="usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/*"
+
+src_install() {
+ insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
+ doins -r linux.${ARCH}
+ doins ExtPack* PXE-Intel.rom
+}
diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest
index 4b46312700c8..f5930ba6b51f 100644
--- a/app-emulation/virtualbox-guest-additions/Manifest
+++ b/app-emulation/virtualbox-guest-additions/Manifest
@@ -1,5 +1,6 @@
DIST VirtualBox-7.0.26.tar.bz2 174650718 BLAKE2B ba13a940b9566a5ac5b228bf29d49d4b9bf16a72da3212c305538711d363f1e6fddaa8717d4c46394ce488d2c1670874fece356740f421f44f6f40bd655f5551 SHA512 337f62438679f98b342213dbafdd3e07f7d7092a4205bfe388d64d1cc8224499621addea56b70d806c93290bb82e6150c07516e69250460a276e3b7a4484a9b6
DIST VirtualBox-7.2.14.tar.bz2 223796857 BLAKE2B 040bfe03852cea08e333a4f90285d69ed8727e869b47ed4075d6c0351ee819240bea4b00d375aaba27b0e2f74a4490e40cd498faa61131175a814ae6d1380be3 SHA512 97fde73d0c93cdd26d148429b1f6b92538469b41006888803024505b200cb78e8098e19a101d9cc471991a6be7519bbf42b8818ddd584925946af048dc2ffff3
DIST VirtualBox-7.2.16.tar.bz2 224818919 BLAKE2B 69b76f2a3b46583f0c4322dad33fd158e4ab03c66e6c588e20c1f9fc36f94fa08c5cb7c4030388b40dbc81d5a947d26a072d533de916111be46a919c1cb31bfc SHA512 273b12490b895ba50f8dd8b9df430d029683ce43823381e332c272712016c7349def83a34075f8c6b96682f79584b8c039bac7fda941fc167a8839a3adedd0d6
+DIST VirtualBox-7.2.18.tar.bz2 256080202 BLAKE2B 33c58a04677f38d868a8234db6e41bbc15930da14eab6cd3260291c36c323c3fd8cc830e4b185f18c0d85a98f39e0da0e8be3da68b2630c92cbc3331019e1c34 SHA512 92f1540cf96d32a05474fbe321340c043601a407813d2baa7e3a4194189e05f9b51078b0b805b2da7217a61012bed072a3c912f9e8150422c305672b47f28d28
DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992
DIST virtualbox-patches-7.2.14.tar.bz2 6774 BLAKE2B da85493f23fd5798b3e438a46f6fb16803ae727c846fdb06366e537d333301938805bd83c67f265a95a2c9fd6fd845d1365ddc2cf7e4f6269212eb585659e1b8 SHA512 d7fafbf70de187c2b96ca140bb4f11ee2c2fc1c0e6d324f53fb6aa999f6262fcc7c4b464410ec44816ea1effa3bc1090dd29a57b0485be837915c4a31f789a92
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.2.18.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.2.18.ebuild
new file mode 100644
index 000000000000..05dde17157ac
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.2.18.ebuild
@@ -0,0 +1,256 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo readme.gentoo-r1 systemd toolchain-funcs udev
+
+MY_PN="VirtualBox"
+MY_PV=${PV^^}
+MY_P=${MY_PN}-${MY_PV}
+PATCHES_PV="7.2.14"
+
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${PATCHES_PV}.tar.bz2"
+S="${WORKDIR}/${MY_PN}-${MY_PV}"
+
+LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+dbus gui"
+
+RDEPEND="
+ acct-group/vboxguest
+ acct-group/vboxsf
+ acct-user/vboxguest
+ sys-libs/pam
+ virtual/zlib:=
+ ~app-emulation/virtualbox-guest-modules-${PV}
+ dbus? ( sys-apps/dbus )
+ gui? (
+ x11-apps/xrandr
+ x11-apps/xrefresh
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+"
+# some libs here are indirect dependencies, and also needed at compile time.
+# keeping them in DEPEND to avoid warnings from qa-vdb.
+DEPEND="
+ ${RDEPEND}
+ gui? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ >=dev-lang/yasm-0.6.2
+ >=dev-build/kbuild-0.1.9998.3660
+ sys-devel/bin86
+ sys-power/iasl
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.1.6-disable-vboxvideo-module.patch
+ "${FILESDIR}"/${PN}-7.1-arm64.patch
+ "${WORKDIR}/virtualbox-patches-${PATCHES_PV}/patches"
+)
+
+DOCS=() # Don't install the default README file during einstalldocs
+
+DOC_CONTENTS="\n
+Please add users to the \"vboxguest\" group so they can\n
+benefit from seamless mode, auto-resize and clipboard.\n
+\n
+The vboxsf group has been added to make automount services work.\n
+These services are part of the shared folders support.\n
+\n
+Please add:\n
+ /etc/init.d/virtualbox-guest-additions\n
+to the default runlevel in order to start\n
+needed services.\n
+\n
+An autostart .desktop file has been installed to start\n
+VBoxClient in desktop sessions.\n
+\n
+You can mount shared folders with:\n
+ mount -t vboxsf <shared_folder_name> <mount_point>\n
+\n
+Warning:\n
+ this ebuild is only needed if you are running gentoo\n
+ inside a VirtualBox Virtual Machine, you don't need\n
+ it to run VirtualBox itself.\n
+\n"
+
+src_prepare() {
+ # Remove shipped binaries (kBuild,yasm), see bug #232775
+ rm -r kBuild/bin tools || die
+
+ # Disable things unused or splitted into separate ebuilds
+ cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
+ if use gui; then
+ echo "VBOX_NO_LEGACY_XORG_X11 := 1" >> LocalConfig.kmk || die
+ else
+ echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die
+ fi
+
+ # Remove pointless GCC version check
+ sed -e '/ check_gcc$/d' -i configure || die
+
+ # Respect LDFLAGS (bug #759100)
+ sed -i -e '/TEMPLATE_VBoxR3Exe_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk || die
+
+ eapply "${PATCHES[@]}"
+ eapply_user
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+
+ # Build the user-space tools, warnings are harmless
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --nofatal
+ --disable-xpcom
+ --disable-sdl-ttf
+ --disable-pulse
+ --disable-alsa
+ $(usev !dbus --disable-dbus)
+ --target-arch=${ARCH}
+ --disable-kmods
+ --build-headless
+ )
+
+ # bug #843437
+ # Respect LDFLAGS (bug #759100)
+ # Cannot use LDFLAGS here because they also get passed to $(LD)
+ cat >> LocalConfig.kmk <<-EOF || die
+ CFLAGS=${CFLAGS}
+ CXXFLAGS=${CXXFLAGS}
+ CCLDFLAGS=${LDFLAGS}
+ EOF
+
+ edo ./configure "${myconf[@]}"
+}
+
+src_compile() {
+ source ./env.sh || die
+
+ # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
+ MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
+ MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
+ MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_ONLY_ADDITIONS=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ LD="$(tc-getCC)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_CXX="$(tc-getCXX)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+ TOOL_YASM_AS=yasm
+ )
+
+ MAKE="kmk" emake "${myemakeargs[@]}"
+}
+
+src_install() {
+ cd out/linux.${ARCH}/release/bin/additions || die
+
+ insinto /sbin
+ newins mount.vboxsf mount.vboxsf
+ fperms 4755 /sbin/mount.vboxsf
+
+ if use dbus; then
+ newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
+ else
+ newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN}
+ fi
+
+ insinto /usr/sbin/
+ newins VBoxService vboxguest-service
+ fperms 0755 /usr/sbin/vboxguest-service
+
+ insinto /usr/bin
+ doins VBoxControl
+ fperms 0755 /usr/bin/VBoxControl
+
+ # VBoxClient user service and xrandr wrapper
+ if use gui ; then
+ doins VBoxClient
+ fperms 0755 /usr/bin/VBoxClient
+ doins VBoxDRMClient
+ fperms 4755 /usr/bin/VBoxDRMClient
+
+ pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null || die
+ newins 98vboxadd-xclient VBoxClient-all
+ fperms 0755 /usr/bin/VBoxClient-all
+ popd &>/dev/null || die
+ fi
+
+ # udev rule for vboxdrv
+ local udev_rules_dir="/lib/udev/rules.d"
+ dodir ${udev_rules_dir}
+ echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
+ >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
+ || die
+ echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
+ >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
+ || die
+
+ # VBoxClient autostart file
+ insinto /etc/xdg/autostart
+ doins "${FILESDIR}"/vboxclient.desktop
+
+ systemd_dounit "${FILESDIR}/${PN}.service"
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ udev_reload
+
+ if ! use gui ; then
+ elog "The use flag \"gui\" is off, enable it to install the"
+ elog "X Window System drivers and integration."
+ fi
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/virtualbox-guest-modules/Manifest b/app-emulation/virtualbox-guest-modules/Manifest
index d8e2f4b1cdd3..964698395ec8 100644
--- a/app-emulation/virtualbox-guest-modules/Manifest
+++ b/app-emulation/virtualbox-guest-modules/Manifest
@@ -1,3 +1,4 @@
DIST vbox-guest-kernel-module-src-7.0.26.tar.xz 691328 BLAKE2B 8bbe434bb34e2046227713ce9d8508754621b6210e29dbfffa18129c8156ee6da265280db0a2d0485abd9f6299bc56ac2490b3a35057b594456ea3ba31445cf2 SHA512 fbdf7bd9fa23e71d1421006424379893d078edc7bb1d9720f941289a754dba9cedbb0eb741beecab2da312b4230effca6ccd2e570923d4c2242be3557e330fd5
DIST vbox-guest-kernel-module-src-7.2.14.tar.xz 756804 BLAKE2B f5e063ebee8ffca2de35afbc520322a6b871337b6c4af735d57ddfdbb376e58554aba07dce0a32737203a17e55fa60abdb00f3f2491488802e06cfbb4cb49f7e SHA512 5233360abcf3fe58f4dc359beb9ad0a18c1bb5d6104c62dd9731f144687e38ea87b52c7c6dcab1b0915b6e4152fb3d3ec94ceb9a8d15ee8149efffb1182997e0
DIST vbox-guest-kernel-module-src-7.2.16.tar.xz 757504 BLAKE2B cee55482b5914a78625303a0c381a1b47e6b70d76f16a55b559c1e65be12730d1f3b345152cba13310001850b9ab9e3322063ae181e59387cb57d223c6257e28 SHA512 16bf3b12f4450f128eba01701fc7b6c12b3bb2b81693696b726d1848f1889723df0d513c776a6341154d9bfd121e74a3cd80f98f5bb6cc5e07458742f436cf22
+DIST vbox-guest-kernel-module-src-7.2.18.tar.xz 757956 BLAKE2B 5f718afeffca59cdd62aac1179e3387a3adaab2bf9bb1639c93cc849164bc24d15dbadf52799ad4df0d1a46a2260681a726ed066d299ae8c6524e3e8a2eb0c85 SHA512 7b166cdf02ee831956076b75305197aaeb04507b4d36c1fe5df2539f2d46b4f2985f2e95472b926af2856c12a1d8af87123c2da17ea67534b0f203c885c1dae1
diff --git a/app-emulation/virtualbox-guest-modules/virtualbox-guest-modules-7.2.18.ebuild b/app-emulation/virtualbox-guest-modules/virtualbox-guest-modules-7.2.18.ebuild
new file mode 100644
index 000000000000..1f12524b22dd
--- /dev/null
+++ b/app-emulation/virtualbox-guest-modules/virtualbox-guest-modules-7.2.18.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# XXX: the tarball here is just the kernel modules split out of the sources
+# using the upstream provided export_modules.sh
+# https://distfiles.gentoo.org/pub/dev/ceamac@gentoo.org/app-emulation/virtualbox-modules/make-modules-from-source
+
+EAPI=8
+
+inherit linux-mod-r1
+
+MY_P="vbox-guest-kernel-module-src-${PV^^}"
+DESCRIPTION="Kernel Modules for Virtualbox Guest Additions"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://distfiles.gentoo.org/pub/dev/ceamac@gentoo.org/${CATEGORY}/${PN}/${MY_P}.tar.xz"
+S="${WORKDIR}"
+
+LICENSE="GPL-3"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.2.6-log-use-c99.patch
+ "${FILESDIR}"/${PN}-7.2.8-no-vboxvideo.patch
+)
+
+CONFIG_CHECK="~DRM_TTM ~DRM_VMWGFX"
+WARNING_DRM_TTM="DRM_TTM is needed for running the vboxvideo driver."
+WARNING_DRM_VMWGFX="DRM_VMWGFX is the recommended driver for VMSVGA."
+
+src_compile() {
+ local modlist=( {vboxguest,vboxsf}=misc )
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ insinto /etc/modprobe.d # 485996
+ newins - vboxsf.conf <<-EOF
+ # modprobe.d configuration file for VBOXSF
+
+ # Internal Aliases - Do not edit
+ # ------------------------------
+ alias fs-vboxsf vboxsf
+ EOF
+}
diff --git a/app-emulation/virtualbox-kvm/Manifest b/app-emulation/virtualbox-kvm/Manifest
index 8096d5396eef..13c5d727f16e 100644
--- a/app-emulation/virtualbox-kvm/Manifest
+++ b/app-emulation/virtualbox-kvm/Manifest
@@ -1,6 +1,8 @@
DIST VirtualBox-7.2.14.tar.bz2 223796857 BLAKE2B 040bfe03852cea08e333a4f90285d69ed8727e869b47ed4075d6c0351ee819240bea4b00d375aaba27b0e2f74a4490e40cd498faa61131175a814ae6d1380be3 SHA512 97fde73d0c93cdd26d148429b1f6b92538469b41006888803024505b200cb78e8098e19a101d9cc471991a6be7519bbf42b8818ddd584925946af048dc2ffff3
DIST VirtualBox-7.2.16.tar.bz2 224818919 BLAKE2B 69b76f2a3b46583f0c4322dad33fd158e4ab03c66e6c588e20c1f9fc36f94fa08c5cb7c4030388b40dbc81d5a947d26a072d533de916111be46a919c1cb31bfc SHA512 273b12490b895ba50f8dd8b9df430d029683ce43823381e332c272712016c7349def83a34075f8c6b96682f79584b8c039bac7fda941fc167a8839a3adedd0d6
+DIST VirtualBox-7.2.18.tar.bz2 256080202 BLAKE2B 33c58a04677f38d868a8234db6e41bbc15930da14eab6cd3260291c36c323c3fd8cc830e4b185f18c0d85a98f39e0da0e8be3da68b2630c92cbc3331019e1c34 SHA512 92f1540cf96d32a05474fbe321340c043601a407813d2baa7e3a4194189e05f9b51078b0b805b2da7217a61012bed072a3c912f9e8150422c305672b47f28d28
DIST virtualbox-help-7.2.14.tar.xz 8379920 BLAKE2B 5a63006fa6c974c87d9ad31df19f37b7bc26f8edcc6f43b27ce443e3e3447b8c5dd094f1e24908b21c043408a2c290bf8c9be3ece1d213794b87e537b464ad0f SHA512 124014da86b309f6360806c72166e8b544e2045668d6104cf135098123140a6542c8cddb829392002edd18c67d74bb7a0807fec6f83e9fa52287d8795ab98c7f
DIST virtualbox-help-7.2.16.tar.xz 8380044 BLAKE2B 8765b1ef71d3eeabe029baa0732ce24782e0aa1d5f0b2f7d773d457b932d67b7020e5a063913d01c6aabea5476815aa01dc8d01ec449224aed39bf943a9bb4ce SHA512 6cf9b271b5197b6dab28c4f3b07cdad96a4a76182cd4904d68df16aa81c8219f8c01b0b7e19b96666158bf986f15bb92234acd6f9a31bdabd49e36632c5e4746
+DIST virtualbox-help-7.2.18.tar.xz 8380624 BLAKE2B 3513d787a344628b29b603ba1ea79947133f96a891dfa1c24f94137361525a3e9b83e9e4cf55d08b85bb55fb3c2755085099bc4ba3bcc5fb089de46a25522bd2 SHA512 292deb4e94b6854a2f1dfdf227f9f561e99ee0ea2be17f6a85cc37acd0edf7b993abde3d487327a618a7709504415bb227b9cb36534541146bff63a98c93f9b0
DIST virtualbox-kvm-20260201.tar.gz 273470 BLAKE2B 2379d031fdb0c5301bdd947d22817d5cb12067a63c288fa650db9ee940fd88639ff499a0226cfb297494d4a8c46da169d26646671d24229d68bca7966f175439 SHA512 55c5222c82b2854a9a3c7aaa46edcb598ba1272032bb33dd0783ea14d2c2696b85a0aaeb2440fea2da59dd36bba06650c00526d7ca659dce246f9f8678aa8a46
DIST virtualbox-patches-7.2.14.tar.bz2 6774 BLAKE2B da85493f23fd5798b3e438a46f6fb16803ae727c846fdb06366e537d333301938805bd83c67f265a95a2c9fd6fd845d1365ddc2cf7e4f6269212eb585659e1b8 SHA512 d7fafbf70de187c2b96ca140bb4f11ee2c2fc1c0e6d324f53fb6aa999f6262fcc7c4b464410ec44816ea1effa3bc1090dd29a57b0485be837915c4a31f789a92
diff --git a/app-emulation/virtualbox-kvm/virtualbox-kvm-7.2.18_pre20260201.ebuild b/app-emulation/virtualbox-kvm/virtualbox-kvm-7.2.18_pre20260201.ebuild
new file mode 100644
index 000000000000..cc0afb47bd6c
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/virtualbox-kvm-7.2.18_pre20260201.ebuild
@@ -0,0 +1,795 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# To add a new Python here:
+# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
+# Do NOT skip this part. It'll end up silently not-building the Python extension
+# or otherwise misbehaving if you do.
+#
+# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
+#
+# May need to look at other distros (e.g. Arch Linux) to find patches for newer
+# Python versions as upstream tends to lag. Upstream may have patches on their
+# trunk branch but not release branch.
+#
+# See bug #785835, bug #856121.
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
+ python-single-r1 tmpfiles toolchain-funcs udev xdg
+
+PATCHES_PV="7.2.14"
+ORIGIN_PN="VirtualBox"
+ORIGIN_PV=${PV%_pre*}
+
+MY_PN=virtualbox
+MY_PV=${PV#*_pre}
+MY_P=${ORIGIN_PN}-${ORIGIN_PV}
+
+PATCHES_DIR="${WORKDIR}"/${PN}-dev-${MY_PV}
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/ https://github.com/cyberus-technology/virtualbox-kvm"
+SRC_URI="
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${PATCHES_PV}.tar.bz2
+ https://github.com/cyberus-technology/virtualbox-kvm/archive/dev-${MY_PV}.tar.gz -> ${PN}-${MY_PV}.tar.gz
+ https://download.virtualbox.org/virtualbox/${ORIGIN_PV%*a}/${MY_P}.tar.bz2
+ gui? ( !doc? (
+ https://distfiles.gentoo.org/pub/dev/ceamac@gentoo.org/${CATEGORY}/${MY_PN}/${MY_PN}-help-${ORIGIN_PV}.tar.xz
+ ) )
+"
+S="${WORKDIR}/${ORIGIN_PN}-${ORIGIN_PV%*a}"
+
+LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="X alsa dbus debug doc dtrace +gui +hardened java lvm nls pam pch pulseaudio +opengl python +sdk +sdl test +udev vboxwebsrv vde vnc wayland"
+RESTRICT="!test? ( test )"
+
+unset WATCOM #856769
+
+COMMON_DEPEND="
+ acct-group/vboxusers
+ app-arch/xz-utils
+ dev-libs/libtpms
+ dev-libs/libxml2:=
+ dev-libs/openssl:0=
+ media-libs/libogg
+ media-libs/libpng:0=
+ media-libs/libvorbis
+ media-libs/libvpx:0=
+ net-misc/curl
+ virtual/zlib:=
+ dbus? ( sys-apps/dbus )
+ gui? (
+ dev-qt/qtbase:6[X=,wayland=,widgets]
+ dev-qt/qtscxml:6
+ dev-qt/qttools:6[assistant]
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ lvm? ( sys-fs/lvm2 )
+ opengl? (
+ media-libs/libglvnd[X]
+ media-libs/vulkan-loader
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ pam? ( sys-libs/pam )
+ python? ( ${PYTHON_DEPS} )
+ sdl? (
+ media-libs/libsdl2[X,video]
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
+ vde? ( net-misc/vde )
+ vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
+# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
+# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
+# based on *DEPEND doesn't work for BDEPEND at least right now.
+#
+# There's a comment in Config.kmk about it
+# ("With Java 11 wsimport was removed, usually part of a separate install now.")
+# but it needs more investigation.
+#
+# See bug #878299 to track this issue.
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-libs/libxslt-1.1.19
+ virtual/libcrypt:=
+ x11-libs/libXt
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ gui? (
+ x11-base/xorg-proto
+ x11-libs/libxcb:=
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ )
+ java? ( virtual/jdk:1.8 )
+ opengl? (
+ x11-base/xorg-proto
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ virtual/glu
+ )
+ sdl? (
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ )
+ pulseaudio? ( media-libs/libpulse )
+ udev? ( >=virtual/udev-171 )
+"
+RDEPEND="
+ !app-emulation/virtualbox
+ ${COMMON_DEPEND}
+ gui? ( x11-libs/libxcb:= )
+ java? ( virtual/jre:1.8 )
+"
+BDEPEND="
+ >=app-arch/tar-1.34-r2
+ >=dev-lang/yasm-0.6.2
+ dev-util/glslang
+ >=dev-build/kbuild-0.1.9998.3660
+ sys-apps/which
+ sys-devel/bin86
+ sys-libs/libcap
+ sys-power/iasl
+ virtual/pkgconfig
+ doc? (
+ app-doc/dita-ot-bin
+ app-text/docbook-sgml-dtd:4.4
+ app-text/docbook-xsl-ns-stylesheets
+ dev-texlive/texlive-basic
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-fontsextra
+ dev-qt/qttools:6[assistant]
+ sys-libs/nss_wrapper
+ )
+ gui? ( dev-qt/qttools:6[linguist] )
+ nls? ( dev-qt/qttools:6[linguist] )
+ java? ( virtual/jdk:1.8 )
+ python? (
+ ${PYTHON_DEPS}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )
+ )
+"
+
+QA_FLAGS_IGNORED="
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_TEXTRELS="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+QA_EXECSTACK="
+ usr/lib64/virtualbox/iPxeBaseBin
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_WX_LOAD="
+ usr/lib64/virtualbox/iPxeBaseBin
+"
+
+QA_PRESTRIPPED="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+REQUIRED_USE="
+ java? ( sdk )
+ python? ( sdk ${PYTHON_REQUIRED_USE} )
+ test? ( !debug )
+ vboxwebsrv? ( java )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.2.8-parallel-make.patch
+
+ # Downloaded patchset
+ "${WORKDIR}"/virtualbox-patches-${PATCHES_PV}/patches
+ "${PATCHES_DIR}"/patches
+)
+
+pkg_pretend() {
+ if ! use gui; then
+ einfo "No USE=\"gui\" selected, this build will not include any Qt frontend."
+ use X && einfo "USE=\"X\" has no effect without USE=\"gui\""
+ use wayland && einfo "USE=\"wayland\" has no effect without USE=\"gui\""
+ fi
+
+ if ! use opengl; then
+ einfo "No USE=\"opengl\" selected, this build will lack"
+ einfo "the OpenGL feature."
+ fi
+ if ! use nls && use gui; then
+ einfo "USE=\"gui\" also selects USE=\"nls\". This build"
+ einfo "will have NLS support."
+ fi
+
+ # 749273
+ local d=${ROOT}
+ for i in usr "$(get_libdir)"; do
+ d="${d}/$i"
+ if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
+ die "${d} should be owned by root, VirtualBox will not start otherwise"
+ fi
+ done
+}
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ if use python; then
+ mkdir test
+ cp "${FILESDIR}"/test_python.py test/
+ python_fix_shebang test/test_python.py
+ fi
+
+ # Only add nopie patch when we're on hardened
+ if gcc-specs-pie; then
+ eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
+ fi
+
+ # Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
+ rm -r kBuild/bin || die
+ # Remove everything in tools except kBuildUnits
+ find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
+
+ # Disable things unused or split into separate ebuilds
+ sed -e "s@MY_LIBDIR@$(get_libdir)@" \
+ "${FILESDIR}"/${MY_PN}-5-localconfig > LocalConfig.kmk || die
+
+ if ! use pch; then
+ # bug #753323
+ printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
+ >> LocalConfig.kmk || die
+ fi
+
+ # bug #916002, #488176, #925347
+ tc-ld-is-mold || tc-ld-force-bfd
+
+ # Respect LDFLAGS
+ sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
+ -i Config.kmk src/libs/xpcom18a4/Config.kmk || die
+
+ # Do not use hard-coded ld (related to bug #488176)
+ sed -e '/QUIET)ld /s@ld @$(LD) @' \
+ -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
+
+ # Use PAM only when pam USE flag is enbaled (bug #376531)
+ if ! use pam; then
+ einfo "Disabling PAM removes the possibility to use the VRDP features."
+ sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
+ sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
+ src/VBox/HostServices/Makefile.kmk || die
+ echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.kmk || die
+ fi
+
+ # add correct java path
+ if use java; then
+ sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
+ -i "${S}"/Config.kmk || die
+ java-pkg-opt-2_src_prepare
+ fi
+
+ # bug #940482
+ filter-flags -fno-plt
+
+ # bug #908814
+ filter-lto
+
+ # bug #843437
+ cat >> LocalConfig.kmk <<-EOF || die
+ CXXFLAGS=${CXXFLAGS}
+ CFLAGS=${CFLAGS}
+ EOF
+
+ if use sdl; then
+ sed -i 's/sdl-config/sdl2-config/' configure || die
+ echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
+ fi
+
+ #443830
+ echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
+
+ if tc-is-clang; then
+ # clang does not support this extension
+ eapply "${FILESDIR}"/${PN}-7.1.0-disable-rebuild-iPxeBiosBin.patch
+ fi
+
+ # fix doc generation
+ echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
+ # replace xhtml names with numeric equivalents
+ find doc/manual -name \*.xml -exec sed -i \
+ -e 's/&nbsp;/\&#160;/g' \
+ -e 's/&ndash;/\&#8211;/g' \
+ -e 's/&larr;/\&#8592;/g' \
+ -e 's/&rarr;/\&#8594;/g' \
+ -e 's/&harr;/\&#8596;/g' {} \+ || die
+
+ # fix help path #891879
+ echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
+
+ # 489208
+ # Cannot patch the whole text, many translations. Use sed instead to replace the command
+ find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
+ 's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
+ sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
+ src/VBox/Frontends/VirtualBox/src/main.cpp \
+ src/VBox/VMM/VMMR3/VMR3.cpp || die
+
+ # 890561
+ echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
+
+ if ! use nls && ! use gui; then
+ cat >> LocalConfig.kmk <<-EOF || die
+ VBOX_WITH_NLS :=
+ VBOX_WITH_MAIN_NLS :=
+ VBOX_WITH_PUEL_NLS :=
+ VBOX_WITH_VBOXMANAGE_NLS :=
+ EOF
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+ export HOST_CC="$(tc-getBUILD_CC)"
+
+ # --enable-webservice is a no-op
+ # webservice is automagically enabled if gsoap is found
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --disable-kmods
+ --with-kvm
+
+ $(usev !alsa --disable-alsa)
+ $(usev !dbus --disable-dbus)
+ $(usev debug --build-debug)
+ $(usev !doc --disable-docs)
+ $(usev !hardened --disable-hardening)
+ $(usev !java --disable-java)
+ $(usev !lvm --disable-devmapper)
+ $(usev !pulseaudio --disable-pulse)
+ $(usev !python --disable-python)
+ $(usev !vboxwebsrv --with-gsoap-dir=/dev/null)
+ $(usev vde --enable-vde)
+ $(usev vnc --enable-vnc)
+ )
+
+ if use gui || use sdl || use opengl; then
+ myconf+=(
+ $(usev !opengl --disable-opengl)
+ $(usev !gui --disable-qt)
+ $(usev !sdl --disable-sdl)
+ )
+ else
+ myconf+=(
+ --build-headless
+ )
+ # disable shared clipboard when headless, it crashes when connecting with RDP: bug #955867
+ echo -e "\nVBOX_WITH_SHARED_CLIPBOARD :=" >> LocalConfig.kmk || die
+ fi
+
+ # not an autoconf script
+ edo ./configure "${myconf[@]}"
+
+ # Force usage of chosen Python implementation
+ # bug #856121, bug #785835
+ sed -i \
+ -e '/VBOX_WITH_PYTHON.*=/d' \
+ -e '/VBOX_PATH_PYTHON_INC.*=/d' \
+ -e '/VBOX_LIB_PYTHON.*=/d' \
+ AutoConfig.kmk || die
+
+ if use python; then
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON=$(usev python 1)
+ VBOX_PATH_PYTHON_INC=$(python_get_includedir)
+ VBOX_LIB_PYTHON=$(python_get_library_path)
+ EOF
+
+ local mangled_python="${EPYTHON#python}"
+ mangled_python="${mangled_python/.}"
+
+ # Stub out the script which defines what the Makefile ends up
+ # building for. gen_python_deps.py gets called by the Makefile
+ # with some args and it spits out a bunch of paths for a hardcoded
+ # list of Pythons. We just override it with what we're actually using.
+ # This minimises the amount of patching we have to do for new Pythons.
+ cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
+ print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
+ print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
+ print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
+ print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
+ EOF
+
+ chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
+ else
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON:=
+ EOF
+ fi
+}
+
+src_compile() {
+ source ./env.sh || die
+
+ # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
+ MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
+ MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
+ MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_WITH_VBOXIMGMOUNT=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+
+ TOOL_YASM_AS=yasm
+ )
+
+ if use amd64 && has_multilib_profile; then
+ myemakeargs+=(
+ CC32="$(tc-getCC) -m32"
+ CXX32="$(tc-getCXX) -m32"
+
+ TOOL_GCC32_CC="$(tc-getCC) -m32"
+ TOOL_GCC32_CXX="$(tc-getCXX) -m32"
+ TOOL_GCC32_LD="$(tc-getCC) -m32"
+ TOOL_GCC32_AS="$(tc-getCC) -m32"
+ TOOL_GCC32_AR="$(tc-getAR)"
+ TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX32_CC="$(tc-getCC) -m32"
+ TOOL_GXX32_CXX="$(tc-getCXX) -m32"
+ TOOL_GXX32_LD="$(tc-getCXX) -m32"
+ TOOL_GXX32_AS="$(tc-getCXX) -m32"
+ TOOL_GXX32_AR="$(tc-getAR)"
+ TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
+ )
+ fi
+
+ if use doc; then
+ # dita needs to write to ~/.fop and ~/.java
+ # but it ignores ${HOME} and tries to write to the real home of user portage
+ # resulting in a sandbox violation
+ # -Duser.home= does not work
+ # force using the temporary homedir with nss_wrapper
+ echo "${LOGNAME}::$(id -u):$(id -g):${USER}:${HOME}:/bin/bash" >> ~/passwd
+ echo "${LOGNAME}::$(id -g):" >> ~/group
+
+ local -x LD_PRELOAD=libnss_wrapper.so
+ local -x NSS_WRAPPER_PASSWD="${HOME}"/passwd
+ local -x NSS_WRAPPER_GROUP="${HOME}"/group
+ fi
+
+ MAKE="kmk" emake "${myemakeargs[@]}" all
+}
+
+src_test() {
+ if use python; then
+ local -x VBOX_APP_HOME="${S}"/out/linux.${ARCH}/$(usex debug debug release)
+ local -x VBOX_INSTALL_PATH="${VBOX_APP_HOME}"
+ local -x VBOX_PROGRAM_PATH="${VBOX_APP_HOME}"/bin
+ local -x VBOX_SDK_PATH="${VBOX_PROGRAM_PATH}"/sdk
+ local -x PYTHONPATH="${VBOX_SDK_PATH}"/installer/python/vboxapi/src
+ einfo "VBOX_APP_HOME ${VBOX_APP_HOME}"
+ einfo "VBOX_PROGRAM_PATH ${VBOX_PROGRAM_PATH}"
+ einfo "VBOX_SDK_PATH ${VBOX_SDK_PATH}"
+ einfo "PYTHONPATH ${PYTHONPATH}"
+ LD_LIBRARY_PATH="${VBOX_PROGRAM_PATH}" epytest test/
+ fi
+}
+
+src_install() {
+ cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
+
+ local vbox_inst_path="/usr/$(get_libdir)/${MY_PN}" each size ico icofile
+
+ vbox_inst() {
+ local binary="${1}"
+ local perms="${2:-0750}"
+ local path="${3:-${vbox_inst_path}}"
+
+ [[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
+ [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
+
+ insinto ${path}
+ doins ${binary}
+ fowners root:vboxusers ${path}/${binary}
+ fperms ${perms} ${path}/${binary}
+ }
+
+ # Create configuration files
+ insinto /etc/vbox
+ newins "${FILESDIR}/${MY_PN}-4-config" vbox.cfg
+
+ # Set the correct libdir
+ sed \
+ -e "s@MY_LIBDIR@$(get_libdir)@" \
+ -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
+
+ # Install the wrapper script
+ exeinto ${vbox_inst_path}
+ newexe "${FILESDIR}/${MY_PN}-ose-6-wrapper" "VBox"
+ fowners root:vboxusers ${vbox_inst_path}/VBox
+ fperms 0750 ${vbox_inst_path}/VBox
+
+ # Install binaries and libraries
+ insinto ${vbox_inst_path}
+ doins -r components
+
+ for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,VMMPreload} \
+ vboximg-mount vbox-img *so *r0; do
+ vbox_inst ${each}
+ done
+
+ # These binaries need to be suid root with USE=hardened.
+ local mode=$(usex hardened 4750 0750)
+ for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
+ vbox_inst ${each} ${mode}
+ done
+
+ # Install EFI Firmware files (bug #320757)
+ for each in VBoxEFI{-x86,-amd64}.fd ; do
+ vbox_inst ${each} 0644
+ done
+
+ # VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
+ # VBoxXPCOMIPCD (bug #524202)
+ for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
+ pax-mark -m "${ED}"${vbox_inst_path}/${each}
+ done
+
+ # Symlink binaries to the shipped wrapper
+ for each in vbox{autostart,balloonctrl,bugreport,headless,manage} \
+ VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
+ dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+ done
+ dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
+ dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
+
+ if use pam; then
+ # VRDPAuth only works with this (bug #351949)
+ dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
+ fi
+
+ # set an env-variable for 3rd party tools
+ echo "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
+ # environment variables used during SDK binding installation
+ echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
+ echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+
+ if use sdl; then
+ vbox_inst VBoxSDL ${mode}
+ pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
+
+ for each in vboxsdl VBoxSDL ; do
+ dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+ done
+ fi
+
+ if use gui; then
+ vbox_inst VirtualBox
+ vbox_inst VirtualBoxVM ${mode}
+ for each in VirtualBox{,VM} ; do
+ pax-mark -m "${ED}"${vbox_inst_path}/${each}
+ done
+
+ for each in virtualbox{,vm} VirtualBox{,VM} ; do
+ dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+ done
+
+ insinto /usr/share/${PN}
+ doins -r nls
+ doins -r UnattendedTemplates
+
+ newmenu ${MY_PN}.desktop ${PN}.desktop
+
+ pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
+ for size in 16 32 48 64 128 ; do
+ newicon -s ${size} ${MY_PN}-${size}px.png ${PN}.png
+ done
+ newicon ${MY_PN}-48px.png ${PN}.png
+ newicon -s scalable ${MY_PN}.svg ${PN}.png
+ popd &>/dev/null || die
+ pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
+ for size in 16 24 32 48 64 72 96 128 256 512 ; do
+ for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
+ icofile="${MY_PN}-${ico}-${size}px.png"
+ if [[ -f "${icofile}" ]]; then
+ newicon -s ${size} ${icofile} ${MY_PN}-${ico}.png
+ fi
+ done
+ done
+ popd &>/dev/null || die
+ fi
+
+ if use lvm; then
+ vbox_inst VBoxVolInfo ${mode}
+ dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
+ fi
+
+ if use sdk; then
+ insinto ${vbox_inst_path}
+ doins -r sdk
+
+ if use java; then
+ java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
+ java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
+ fi
+ fi
+
+ if use udev; then
+ local udevdir="$(get_udevdir)"
+ local udev_file="VBoxCreateUSBNode.sh"
+ local rules_file="10-virtualbox.rules"
+
+ insinto ${udevdir}
+ doins ${udev_file}
+ fowners root:vboxusers ${udevdir}/${udev_file}
+ fperms 0750 ${udevdir}/${udev_file}
+
+ insinto ${udevdir}/rules.d
+ sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
+ > "${T}"/${rules_file} || die
+ doins "${T}"/${rules_file}
+ fi
+
+ if use vboxwebsrv; then
+ vbox_inst vboxwebsrv
+ dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
+ newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
+ newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
+ fi
+
+ # Remove dead symlinks (bug #715338)
+ find "${ED}"/usr/$(get_libdir)/${MY_PN} -xtype l -delete || die
+
+ # Fix version string in extensions or else they don't get accepted
+ # by the virtualbox host process (see bug #438930)
+ find ExtensionPacks -type f -name "ExtPack.xml" -exec sed -i '/Version/s@_Gentoo@@' {} \+ || die
+
+ local extensions_dir="${vbox_inst_path}/ExtensionPacks"
+
+ if use vnc; then
+ insinto ${extensions_dir}
+ doins -r ExtensionPacks/VNC
+ fi
+
+ if use dtrace; then
+ insinto ${extensions_dir}
+ doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
+ fi
+
+ if use doc; then
+ dodoc UserManual.pdf UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc}
+ elif use gui; then
+ dodoc "${WORKDIR}"/${MY_PN}-help-${ORIGIN_PV}/UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc}
+ fi
+ dodoc ${PATCHES_DIR}/README.*
+
+ if use python; then
+ local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
+ if [[ ! -x "${python_path_ext}" ]]; then
+ eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
+ eerror "but none were installed. This may happen if support for a Python target"
+ eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
+ die "Incomplete installation of Python bindings! File a bug with Gentoo!"
+ fi
+
+ # 378871
+ local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer/python/vboxapi/src"
+ pushd "${installer_dir}" &> /dev/null || die
+ sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
+ -e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
+ -i vboxapi/__init__.py || die
+ # insert shebang, the files come without one
+ find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
+ python_domodule vboxapi
+ popd &> /dev/null || die
+
+ # upstream added a /bin/sh stub here
+ # use /usr/bin/python3, python_doscript will take care of it
+ sed -e '1 i #! /usr/bin/python3' -i vboxshell.py
+ python_doscript vboxshell.py
+
+ # do not install the installer
+ rm -r "${installer_dir%vboxapi*}" || die
+ fi
+
+ newtmpfiles "${FILESDIR}"/${MY_PN}-vboxusb_tmpfilesd virtualbox-vboxusb.conf
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use udev; then
+ udev_reload
+ udevadm trigger --subsystem-match=usb
+ fi
+
+ tmpfiles_process virtualbox-vboxusb.conf
+
+ if use gui; then
+ elog "To launch VirtualBox just type: \"virtualbox\"."
+ fi
+
+ elog "You must be in the vboxusers group to use VirtualBox."
+ elog ""
+ elog "The latest user manual is available for download at:"
+ elog "https://download.virtualbox.org/virtualbox/${ORIGIN_PV}/UserManual.pdf"
+ elog ""
+
+ optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
+ optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
+ optfeature "Guest additions ISO" app-emulation/virtualbox-additions
+
+ if ! use udev; then
+ ewarn "Without USE=udev, USB devices will likely not work in ${MY_PN}."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ use udev && udev_reload
+}
diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest
index ff19e1445519..5cbf77b043b4 100644
--- a/app-emulation/virtualbox-modules/Manifest
+++ b/app-emulation/virtualbox-modules/Manifest
@@ -1,3 +1,4 @@
DIST vbox-host-kernel-module-src-7.2.14.tar.xz 865192 BLAKE2B b88c693d936c042e7122a88d4b9880441576e52a143253a7acd2a7dc06ac5e3482a309b222e784d52f1116a0f044ea9179b6e3d8872d8892ef2717d610db54c8 SHA512 efcaae329ae5305b0917c44bb8761a913c30777a262b7d897fc51a1e093e5fd8fec7a6ee0fc4daad5f1646e0989cd4342fd89f6df6a0afab7606315099bdf122
DIST vbox-host-kernel-module-src-7.2.16.tar.xz 866660 BLAKE2B 0bdb9e12410da507524ce938e699c4def44355b8d7787d65a18778246147b6b65c749366ca802c2626b7cc075e2f66a3a81b43ac1960bec294969048a509361b SHA512 1701ca3b971d45c3bb82189d4cc9af06bc767ec1fda9e17ff9f8acd90667503ee99be55b835549772f0d6310ff53627c6351345c3f3ad011c1f384e506101ad3
+DIST vbox-host-kernel-module-src-7.2.18.tar.xz 866556 BLAKE2B 555aeebaa732006c082a648f1cef4ffeee955c59c0af1bafe8f27ba03403d3fa440ec8b66e95fb2aeef932f0fed0082a8bf8a5770ad94b062ae64c52b0d5b2fa SHA512 1258775dfd62e4ad80de06e6fe925bd13759531d04a7085e1181dca9a97ba223605e37af737191233976b25ad70d93a17c39cd6e1c5f5df8dacd38ab00d889f6
DIST vbox-kernel-module-src-7.0.26.tar.xz 721876 BLAKE2B 355ac80cc96f4ad259a0fdbb909803bbec884c1d25fc9061f45f7039a0857b4f6cc93d4739cf85a82b9544aae06bf7b689d5d530ffc2fe97a874ef57d123423f SHA512 5980721197b908d5d991b258be395a8b542b8183eac7b146b147e4dbea9ff0b0408de5733b12d02a159b689bde29966a55fa7b64c953b9abe4180dbf6e0ebcb6
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-7.2.18.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-7.2.18.ebuild
new file mode 100644
index 000000000000..7c314903cd79
--- /dev/null
+++ b/app-emulation/virtualbox-modules/virtualbox-modules-7.2.18.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# XXX: the tarball here is just the kernel modules split out of the sources
+# using the upstream provided export_modules.sh
+# https://distfiles.gentoo.org/pub/dev/ceamac@gentoo.org/app-emulation/virtualbox-modules/make-modules-from-source
+
+EAPI=8
+
+inherit linux-mod-r1
+
+MY_P="vbox-host-kernel-module-src-${PV^^}"
+DESCRIPTION="Kernel Modules for Virtualbox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://distfiles.gentoo.org/pub/dev/ceamac@gentoo.org/${CATEGORY}/${PN}/${MY_P}.tar.xz"
+S="${WORKDIR}"
+
+LICENSE="GPL-3"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+CONFIG_CHECK="~!SPINLOCK JUMP_LABEL ~PREEMPT_NOTIFIERS ~KPROBES"
+KPROBES_ERROR="CONFIG_KPROBES is required for kernel 6.16+; modules fail to build with kernel 6.19+"
+
+src_compile() {
+ local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc )
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+ insinto /usr/lib/modules-load.d/
+ newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
+}
diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest
index 27529d03a8e5..e1549dcbe372 100644
--- a/app-emulation/virtualbox/Manifest
+++ b/app-emulation/virtualbox/Manifest
@@ -1,9 +1,11 @@
DIST VirtualBox-7.0.26.tar.bz2 174650718 BLAKE2B ba13a940b9566a5ac5b228bf29d49d4b9bf16a72da3212c305538711d363f1e6fddaa8717d4c46394ce488d2c1670874fece356740f421f44f6f40bd655f5551 SHA512 337f62438679f98b342213dbafdd3e07f7d7092a4205bfe388d64d1cc8224499621addea56b70d806c93290bb82e6150c07516e69250460a276e3b7a4484a9b6
DIST VirtualBox-7.2.14.tar.bz2 223796857 BLAKE2B 040bfe03852cea08e333a4f90285d69ed8727e869b47ed4075d6c0351ee819240bea4b00d375aaba27b0e2f74a4490e40cd498faa61131175a814ae6d1380be3 SHA512 97fde73d0c93cdd26d148429b1f6b92538469b41006888803024505b200cb78e8098e19a101d9cc471991a6be7519bbf42b8818ddd584925946af048dc2ffff3
DIST VirtualBox-7.2.16.tar.bz2 224818919 BLAKE2B 69b76f2a3b46583f0c4322dad33fd158e4ab03c66e6c588e20c1f9fc36f94fa08c5cb7c4030388b40dbc81d5a947d26a072d533de916111be46a919c1cb31bfc SHA512 273b12490b895ba50f8dd8b9df430d029683ce43823381e332c272712016c7349def83a34075f8c6b96682f79584b8c039bac7fda941fc167a8839a3adedd0d6
+DIST VirtualBox-7.2.18.tar.bz2 256080202 BLAKE2B 33c58a04677f38d868a8234db6e41bbc15930da14eab6cd3260291c36c323c3fd8cc830e4b185f18c0d85a98f39e0da0e8be3da68b2630c92cbc3331019e1c34 SHA512 92f1540cf96d32a05474fbe321340c043601a407813d2baa7e3a4194189e05f9b51078b0b805b2da7217a61012bed072a3c912f9e8150422c305672b47f28d28
DIST virtualbox-help-7.1.0.tar.xz 1631644 BLAKE2B 408748619d1e981b9d5b5e615baca75ff297e9b7e745751767361b7b9c74345a3db1980734439f3868c412fe28a6b687b417adc3cc148d2e2b8a9fa60e48463b SHA512 513b8474d4fbf7cdb83624dc8d344122c524d92f9f84b32784161c8e1cac8ddc2c265447621d7cd3cf105d555a044e6abf42155f413ba89d507eba7ce3b2da89
DIST virtualbox-help-7.2.14.tar.xz 8379920 BLAKE2B 5a63006fa6c974c87d9ad31df19f37b7bc26f8edcc6f43b27ce443e3e3447b8c5dd094f1e24908b21c043408a2c290bf8c9be3ece1d213794b87e537b464ad0f SHA512 124014da86b309f6360806c72166e8b544e2045668d6104cf135098123140a6542c8cddb829392002edd18c67d74bb7a0807fec6f83e9fa52287d8795ab98c7f
DIST virtualbox-help-7.2.16.tar.xz 8380044 BLAKE2B 8765b1ef71d3eeabe029baa0732ce24782e0aa1d5f0b2f7d773d457b932d67b7020e5a063913d01c6aabea5476815aa01dc8d01ec449224aed39bf943a9bb4ce SHA512 6cf9b271b5197b6dab28c4f3b07cdad96a4a76182cd4904d68df16aa81c8219f8c01b0b7e19b96666158bf986f15bb92234acd6f9a31bdabd49e36632c5e4746
+DIST virtualbox-help-7.2.18.tar.xz 8380624 BLAKE2B 3513d787a344628b29b603ba1ea79947133f96a891dfa1c24f94137361525a3e9b83e9e4cf55d08b85bb55fb3c2755085099bc4ba3bcc5fb089de46a25522bd2 SHA512 292deb4e94b6854a2f1dfdf227f9f561e99ee0ea2be17f6a85cc37acd0edf7b993abde3d487327a618a7709504415bb227b9cb36534541146bff63a98c93f9b0
DIST virtualbox-patches-7.0.22-r1.tar.bz2 6972 BLAKE2B e9116cb2ed874f9a0133e756b725a48ee665a412114d04195849f5930782c65678a2aaf581b9b02bc29001be4191116e322643232ee37de5cba0f2b5049b615f SHA512 be72b596f63229bd28b22c026108cf5a5c951f58343a709f158446593e6f872a81734dd83a838dd91c02c80854312e2cad81f3a525035db5ffabeb96729a8276
DIST virtualbox-patches-7.2.14.tar.bz2 6774 BLAKE2B da85493f23fd5798b3e438a46f6fb16803ae727c846fdb06366e537d333301938805bd83c67f265a95a2c9fd6fd845d1365ddc2cf7e4f6269212eb585659e1b8 SHA512 d7fafbf70de187c2b96ca140bb4f11ee2c2fc1c0e6d324f53fb6aa999f6262fcc7c4b464410ec44816ea1effa3bc1090dd29a57b0485be837915c4a31f789a92
DIST virtualbox-patches-7.2.4.tar.bz2 6938 BLAKE2B be3ef14c2090f39eeb1fe6fe82231dbf725ff6d20603e72e4c3bbf8b15ae7698d2be86bb321bd1776a15c6385770a393cc8c6b945ea87c54f9c767c3c77b61af SHA512 2e9c403dff97f5146e7632d7f6b5d0230f65f8be172efc6dd2959e72054778f617aa437f8c86d1489f9ce9212899ff08e83433a9eca3e5691353b036d426784a
diff --git a/app-emulation/virtualbox/virtualbox-7.2.18.ebuild b/app-emulation/virtualbox/virtualbox-7.2.18.ebuild
new file mode 100644
index 000000000000..4a24b6c4b999
--- /dev/null
+++ b/app-emulation/virtualbox/virtualbox-7.2.18.ebuild
@@ -0,0 +1,785 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# To add a new Python here:
+# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
+# Do NOT skip this part. It'll end up silently not-building the Python extension
+# or otherwise misbehaving if you do.
+#
+# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
+#
+# May need to look at other distros (e.g. Arch Linux) to find patches for newer
+# Python versions as upstream tends to lag. Upstream may have patches on their
+# trunk branch but not release branch.
+#
+# See bug #785835, bug #856121.
+PYTHON_COMPAT=( python3_{12..14} )
+
+inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
+ python-single-r1 tmpfiles toolchain-funcs udev xdg
+
+MY_PN="VirtualBox"
+MY_P=${MY_PN}-${PV^^}
+HELP_PV=${PV}
+PATCHES_PV="7.2.14"
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/ https://github.com/VirtualBox/virtualbox"
+SRC_URI="
+ https://download.virtualbox.org/virtualbox/${PV^^}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${PATCHES_PV}.tar.bz2
+ gui? ( !doc? (
+ https://distfiles.gentoo.org/pub/dev/ceamac@gentoo.org/${CATEGORY}/${PN}/${PN}-help-${HELP_PV}.tar.xz
+ ) )
+"
+S="${WORKDIR}/${MY_PN}-${PV^^}"
+
+LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="X alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl test +udev vboxwebsrv vde vnc wayland"
+RESTRICT="!test? ( test )"
+
+unset WATCOM #856769
+
+COMMON_DEPEND="
+ acct-group/vboxusers
+ app-arch/xz-utils
+ ~app-emulation/virtualbox-modules-${PV%*a}
+ dev-libs/libtpms
+ dev-libs/libxml2:=
+ dev-libs/openssl:0=
+ media-libs/libjpeg-turbo:=
+ media-libs/libogg
+ media-libs/libpng:0=
+ media-libs/libvorbis
+ media-libs/libvpx:0=
+ net-misc/curl
+ virtual/zlib:=
+ dbus? ( sys-apps/dbus )
+ gui? (
+ dev-qt/qtbase:6[X=,wayland=,widgets]
+ dev-qt/qtscxml:6
+ dev-qt/qttools:6[assistant]
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ lvm? ( sys-fs/lvm2 )
+ opengl? (
+ media-libs/libglvnd[X]
+ media-libs/vulkan-loader
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ pam? ( sys-libs/pam )
+ python? ( ${PYTHON_DEPS} )
+ sdl? (
+ media-libs/libsdl2[X,video]
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
+ vde? ( net-misc/vde )
+ vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
+# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
+# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
+# based on *DEPEND doesn't work for BDEPEND at least right now.
+#
+# There's a comment in Config.kmk about it
+# ("With Java 11 wsimport was removed, usually part of a separate install now.")
+# but it needs more investigation.
+#
+# See bug #878299 to track this issue.
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-libs/libxslt-1.1.19
+ virtual/libcrypt:=
+ x11-libs/libXt
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ gui? (
+ x11-base/xorg-proto
+ x11-libs/libxcb:=
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ )
+ java? ( virtual/jdk:1.8 )
+ opengl? (
+ x11-base/xorg-proto
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ virtual/glu
+ )
+ sdl? (
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ )
+ pulseaudio? ( media-libs/libpulse )
+ udev? ( >=virtual/udev-171 )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ gui? ( x11-libs/libxcb:= )
+ java? ( virtual/jre:1.8 )
+"
+BDEPEND="
+ >=app-arch/tar-1.34-r2
+ >=dev-lang/yasm-0.6.2
+ dev-util/glslang
+ >=dev-build/kbuild-0.1.9998.3660
+ sys-apps/which
+ sys-devel/bin86
+ sys-libs/libcap
+ sys-power/iasl
+ virtual/pkgconfig
+ doc? (
+ app-doc/dita-ot-bin
+ app-text/docbook-sgml-dtd:4.4
+ app-text/docbook-xsl-ns-stylesheets
+ dev-texlive/texlive-basic
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-fontsextra
+ dev-qt/qttools:6[assistant]
+ sys-libs/nss_wrapper
+ )
+ gui? ( dev-qt/qttools:6[linguist] )
+ nls? ( dev-qt/qttools:6[linguist] )
+ java? ( virtual/jdk:1.8 )
+ python? (
+ ${PYTHON_DEPS}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )
+ )
+"
+
+QA_FLAGS_IGNORED="
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_TEXTRELS="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+QA_EXECSTACK="
+ usr/lib64/virtualbox/iPxeBaseBin
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_WX_LOAD="
+ usr/lib64/virtualbox/iPxeBaseBin
+"
+
+QA_PRESTRIPPED="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+REQUIRED_USE="
+ java? ( sdk )
+ python? ( sdk ${PYTHON_REQUIRED_USE} )
+ test? ( !debug )
+ vboxwebsrv? ( java )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.2.8-parallel-make.patch
+
+ # Downloaded patchset
+ "${WORKDIR}"/virtualbox-patches-${PATCHES_PV}/patches
+)
+
+pkg_pretend() {
+ if ! use gui; then
+ einfo "No USE=\"gui\" selected, this build will not include any Qt frontend."
+ use X && einfo "USE=\"X\" has no effect without USE=\"gui\""
+ use wayland && einfo "USE=\"wayland\" has no effect without USE=\"gui\""
+ fi
+
+ if ! use opengl; then
+ einfo "No USE=\"opengl\" selected, this build will lack"
+ einfo "the OpenGL feature."
+ fi
+ if ! use nls && use gui; then
+ einfo "USE=\"gui\" also selects USE=\"nls\". This build"
+ einfo "will have NLS support."
+ fi
+
+ # 749273
+ local d=${ROOT}
+ for i in usr "$(get_libdir)"; do
+ d="${d}/$i"
+ if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
+ die "${d} should be owned by root, VirtualBox will not start otherwise"
+ fi
+ done
+}
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ if use python; then
+ mkdir test
+ cp "${FILESDIR}"/test_python.py test/
+ python_fix_shebang test/test_python.py
+ fi
+
+ # Only add nopie patch when we're on hardened
+ if gcc-specs-pie; then
+ eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
+ fi
+
+ # Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
+ rm -r kBuild/bin || die
+ # Remove everything in tools except kBuildUnits
+ find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
+
+ # Disable things unused or split into separate ebuilds
+ sed -e "s@MY_LIBDIR@$(get_libdir)@" \
+ "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
+
+ if ! use pch; then
+ # bug #753323
+ printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
+ >> LocalConfig.kmk || die
+ fi
+
+ # bug #916002, #488176, #925347
+ tc-ld-is-mold || tc-ld-force-bfd
+
+ # Respect LDFLAGS
+ sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
+ -i Config.kmk src/libs/xpcom18a4/Config.kmk || die
+
+ # Do not use hard-coded ld (related to bug #488176)
+ sed -e '/QUIET)ld /s@ld @$(LD) @' \
+ -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
+
+ # Use PAM only when pam USE flag is enbaled (bug #376531)
+ if ! use pam; then
+ einfo "Disabling PAM removes the possibility to use the VRDP features."
+ sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
+ sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
+ src/VBox/HostServices/Makefile.kmk || die
+ echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.kmk || die
+ fi
+
+ # add correct java path
+ if use java; then
+ sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
+ -i "${S}"/Config.kmk || die
+ java-pkg-opt-2_src_prepare
+ fi
+
+ # bug #940482
+ filter-flags -fno-plt
+
+ # bug #908814
+ filter-lto
+
+ # bug #843437
+ cat >> LocalConfig.kmk <<-EOF || die
+ CXXFLAGS=${CXXFLAGS}
+ CFLAGS=${CFLAGS}
+ EOF
+
+ if use sdl; then
+ sed -i 's/sdl-config/sdl2-config/' configure || die
+ echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
+ fi
+
+ #443830
+ echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
+
+ if tc-is-clang; then
+ # clang does not support this extension
+ eapply "${FILESDIR}"/${PN}-7.1.0-disable-rebuild-iPxeBiosBin.patch
+ fi
+
+ # fix doc generation
+ echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
+ # replace xhtml names with numeric equivalents
+ find doc/manual -name \*.xml -exec sed -i \
+ -e 's/&nbsp;/\&#160;/g' \
+ -e 's/&ndash;/\&#8211;/g' \
+ -e 's/&larr;/\&#8592;/g' \
+ -e 's/&rarr;/\&#8594;/g' \
+ -e 's/&harr;/\&#8596;/g' {} \+ || die
+
+ # fix help path #891879
+ echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
+
+ # 489208
+ # Cannot patch the whole text, many translations. Use sed instead to replace the command
+ find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
+ 's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
+ sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
+ src/VBox/Frontends/VirtualBox/src/main.cpp \
+ src/VBox/VMM/VMMR3/VMR3.cpp || die
+
+ # 890561
+ echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
+
+ if ! use nls && ! use gui; then
+ cat >> LocalConfig.kmk <<-EOF || die
+ VBOX_WITH_NLS :=
+ VBOX_WITH_MAIN_NLS :=
+ VBOX_WITH_PUEL_NLS :=
+ VBOX_WITH_VBOXMANAGE_NLS :=
+ EOF
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+ export HOST_CC="$(tc-getBUILD_CC)"
+
+ # --enable-webservice is a no-op
+ # webservice is automagically enabled if gsoap is found
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --disable-kmods
+
+ $(usev !alsa --disable-alsa)
+ $(usev !dbus --disable-dbus)
+ $(usev debug --build-debug)
+ $(usev !doc --disable-docs)
+ $(usev !java --disable-java)
+ $(usev !lvm --disable-devmapper)
+ $(usev !pulseaudio --disable-pulse)
+ $(usev !python --disable-python)
+ $(usev !vboxwebsrv --with-gsoap-dir=/dev/null)
+ $(usev vde --enable-vde)
+ $(usev vnc --enable-vnc)
+ )
+
+ if use gui || use sdl || use opengl; then
+ myconf+=(
+ $(usev !opengl --disable-opengl)
+ $(usev !gui --disable-qt)
+ $(usev !sdl --disable-sdl)
+ )
+ else
+ myconf+=(
+ --build-headless
+ )
+ # disable shared clipboard when headless, it crashes when connecting with RDP: bug #955867
+ echo -e "\nVBOX_WITH_SHARED_CLIPBOARD :=" >> LocalConfig.kmk || die
+ fi
+
+ # not an autoconf script
+ edo ./configure "${myconf[@]}"
+
+ # Force usage of chosen Python implementation
+ # bug #856121, bug #785835
+ sed -i \
+ -e '/VBOX_WITH_PYTHON.*=/d' \
+ -e '/VBOX_PATH_PYTHON_INC.*=/d' \
+ -e '/VBOX_LIB_PYTHON.*=/d' \
+ AutoConfig.kmk || die
+
+ if use python; then
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON=$(usev python 1)
+ VBOX_PATH_PYTHON_INC=$(python_get_includedir)
+ VBOX_LIB_PYTHON=$(python_get_library_path)
+ EOF
+
+ local mangled_python="${EPYTHON#python}"
+ mangled_python="${mangled_python/.}"
+
+ # Stub out the script which defines what the Makefile ends up
+ # building for. gen_python_deps.py gets called by the Makefile
+ # with some args and it spits out a bunch of paths for a hardcoded
+ # list of Pythons. We just override it with what we're actually using.
+ # This minimises the amount of patching we have to do for new Pythons.
+ cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
+ print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
+ print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
+ print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
+ print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
+ EOF
+
+ chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
+ else
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON:=
+ EOF
+ fi
+}
+
+src_compile() {
+ source ./env.sh || die
+
+ # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
+ MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
+ MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
+ MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_WITH_VBOXIMGMOUNT=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+
+ TOOL_YASM_AS=yasm
+ )
+
+ if use amd64 && has_multilib_profile; then
+ myemakeargs+=(
+ CC32="$(tc-getCC) -m32"
+ CXX32="$(tc-getCXX) -m32"
+
+ TOOL_GCC32_CC="$(tc-getCC) -m32"
+ TOOL_GCC32_CXX="$(tc-getCXX) -m32"
+ TOOL_GCC32_LD="$(tc-getCC) -m32"
+ TOOL_GCC32_AS="$(tc-getCC) -m32"
+ TOOL_GCC32_AR="$(tc-getAR)"
+ TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX32_CC="$(tc-getCC) -m32"
+ TOOL_GXX32_CXX="$(tc-getCXX) -m32"
+ TOOL_GXX32_LD="$(tc-getCXX) -m32"
+ TOOL_GXX32_AS="$(tc-getCXX) -m32"
+ TOOL_GXX32_AR="$(tc-getAR)"
+ TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
+ )
+ fi
+
+ if use doc; then
+ # dita needs to write to ~/.fop and ~/.java
+ # but it ignores ${HOME} and tries to write to the real home of user portage
+ # resulting in a sandbox violation
+ # -Duser.home= does not work
+ # force using the temporary homedir with nss_wrapper
+ echo "${LOGNAME}::$(id -u):$(id -g):${USER}:${HOME}:/bin/bash" >> ~/passwd
+ echo "${LOGNAME}::$(id -g):" >> ~/group
+
+ local -x LD_PRELOAD=libnss_wrapper.so
+ local -x NSS_WRAPPER_PASSWD="${HOME}"/passwd
+ local -x NSS_WRAPPER_GROUP="${HOME}"/group
+ fi
+
+ MAKE="kmk" emake "${myemakeargs[@]}" all
+}
+
+src_test() {
+ if use python; then
+ local -x VBOX_APP_HOME="${S}"/out/linux.${ARCH}/$(usex debug debug release)
+ local -x VBOX_INSTALL_PATH="${VBOX_APP_HOME}"
+ local -x VBOX_PROGRAM_PATH="${VBOX_APP_HOME}"/bin
+ local -x VBOX_SDK_PATH="${VBOX_PROGRAM_PATH}"/sdk
+ local -x PYTHONPATH="${VBOX_SDK_PATH}"/installer/python/vboxapi/src
+ einfo "VBOX_APP_HOME ${VBOX_APP_HOME}"
+ einfo "VBOX_PROGRAM_PATH ${VBOX_PROGRAM_PATH}"
+ einfo "VBOX_SDK_PATH ${VBOX_SDK_PATH}"
+ einfo "PYTHONPATH ${PYTHONPATH}"
+ LD_LIBRARY_PATH="${VBOX_PROGRAM_PATH}" epytest test/
+ fi
+}
+
+src_install() {
+ cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
+
+ local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
+
+ vbox_inst() {
+ local binary="${1}"
+ local perms="${2:-0750}"
+ local path="${3:-${vbox_inst_path}}"
+
+ [[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
+ [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
+
+ insinto ${path}
+ doins ${binary}
+ fowners root:vboxusers ${path}/${binary}
+ fperms ${perms} ${path}/${binary}
+ }
+
+ # Create configuration files
+ insinto /etc/vbox
+ newins "${FILESDIR}/${PN}-4-config" vbox.cfg
+
+ # Set the correct libdir
+ sed \
+ -e "s@MY_LIBDIR@$(get_libdir)@" \
+ -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
+
+ # Install the wrapper script
+ exeinto ${vbox_inst_path}
+ newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
+ fowners root:vboxusers ${vbox_inst_path}/VBox
+ fperms 0750 ${vbox_inst_path}/VBox
+
+ # Install binaries and libraries
+ insinto ${vbox_inst_path}
+ doins -r components
+
+ for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,VMMPreload} \
+ vboximg-mount vbox-img *so *r0; do
+ vbox_inst ${each}
+ done
+
+ # These binaries need to be suid root.
+ for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
+ vbox_inst ${each} 4750
+ done
+
+ # Install EFI Firmware files (bug #320757)
+ for each in VBoxEFI{-x86,-amd64}.fd ; do
+ vbox_inst ${each} 0644
+ done
+
+ # VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
+ # VBoxXPCOMIPCD (bug #524202)
+ for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
+ pax-mark -m "${ED}"${vbox_inst_path}/${each}
+ done
+
+ # Symlink binaries to the shipped wrapper
+ for each in vbox{autostart,balloonctrl,bugreport,headless,manage} \
+ VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
+ dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+ done
+ dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
+ dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
+
+ if use pam; then
+ # VRDPAuth only works with this (bug #351949)
+ dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
+ fi
+
+ # set an env-variable for 3rd party tools
+ echo "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
+ # environment variables used during SDK binding installation
+ echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
+ echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+
+ if use sdl; then
+ vbox_inst VBoxSDL 4750
+ pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
+
+ for each in vboxsdl VBoxSDL ; do
+ dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+ done
+ fi
+
+ if use gui; then
+ vbox_inst VirtualBox
+ vbox_inst VirtualBoxVM 4750
+ for each in VirtualBox{,VM} ; do
+ pax-mark -m "${ED}"${vbox_inst_path}/${each}
+ done
+
+ for each in virtualbox{,vm} VirtualBox{,VM} ; do
+ dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+ done
+
+ insinto /usr/share/${PN}
+ doins -r nls
+ doins -r UnattendedTemplates
+
+ domenu ${PN}.desktop
+
+ pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
+ for size in 16 32 48 64 128 ; do
+ newicon -s ${size} ${PN}-${size}px.png ${PN}.png
+ done
+ newicon ${PN}-48px.png ${PN}.png
+ doicon -s scalable ${PN}.svg
+ popd &>/dev/null || die
+ pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
+ for size in 16 24 32 48 64 72 96 128 256 512 ; do
+ for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
+ icofile="${PN}-${ico}-${size}px.png"
+ if [[ -f "${icofile}" ]]; then
+ newicon -s ${size} ${icofile} ${PN}-${ico}.png
+ fi
+ done
+ done
+ popd &>/dev/null || die
+ fi
+
+ if use lvm; then
+ vbox_inst VBoxVolInfo 4750
+ dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
+ fi
+
+ if use sdk; then
+ insinto ${vbox_inst_path}
+ doins -r sdk
+
+ if use java; then
+ java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
+ java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
+ fi
+ fi
+
+ if use udev; then
+ local udevdir="$(get_udevdir)"
+ local udev_file="VBoxCreateUSBNode.sh"
+ local rules_file="10-virtualbox.rules"
+
+ insinto ${udevdir}
+ doins ${udev_file}
+ fowners root:vboxusers ${udevdir}/${udev_file}
+ fperms 0750 ${udevdir}/${udev_file}
+
+ insinto ${udevdir}/rules.d
+ sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
+ > "${T}"/${rules_file} || die
+ doins "${T}"/${rules_file}
+ fi
+
+ if use vboxwebsrv; then
+ vbox_inst vboxwebsrv
+ dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
+ newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
+ newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
+ fi
+
+ # Remove dead symlinks (bug #715338)
+ find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die
+
+ # Fix version string in extensions or else they don't get accepted
+ # by the virtualbox host process (see bug #438930)
+ find ExtensionPacks -type f -name "ExtPack.xml" -exec sed -i '/Version/s@_Gentoo@@' {} \+ || die
+
+ local extensions_dir="${vbox_inst_path}/ExtensionPacks"
+
+ if use vnc; then
+ insinto ${extensions_dir}
+ doins -r ExtensionPacks/VNC
+ fi
+
+ if use dtrace; then
+ insinto ${extensions_dir}
+ doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
+ fi
+
+ if use doc; then
+ dodoc UserManual.pdf UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}
+ elif use gui; then
+ dodoc "${WORKDIR}"/${PN}-help-${HELP_PV}/UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}
+ fi
+
+ if use python; then
+ local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
+ if [[ ! -x "${python_path_ext}" ]]; then
+ eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
+ eerror "but none were installed. This may happen if support for a Python target"
+ eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
+ die "Incomplete installation of Python bindings! File a bug with Gentoo!"
+ fi
+
+ # 378871
+ local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer/python/vboxapi/src"
+ pushd "${installer_dir}" &> /dev/null || die
+ sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
+ -e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
+ -i vboxapi/__init__.py || die
+ # insert shebang, the files come without one
+ find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
+ python_domodule vboxapi
+ popd &> /dev/null || die
+
+ # upstream added a /bin/sh stub here
+ # use /usr/bin/python3, python_doscript will take care of it
+ sed -e '1 i #! /usr/bin/python3' -i vboxshell.py
+ python_doscript vboxshell.py
+
+ # do not install the installer
+ rm -r "${installer_dir%vboxapi*}" || die
+ fi
+
+ newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use udev; then
+ udev_reload
+ udevadm trigger --subsystem-match=usb
+ fi
+
+ tmpfiles_process virtualbox-vboxusb.conf
+
+ if use gui; then
+ elog "To launch VirtualBox just type: \"virtualbox\"."
+ fi
+
+ elog "You must be in the vboxusers group to use VirtualBox."
+ elog ""
+ elog "The latest user manual is available for download at:"
+ elog "https://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
+ elog ""
+
+ optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
+ optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
+ optfeature "Guest additions ISO" app-emulation/virtualbox-additions
+
+ if ! use udev; then
+ ewarn "Without USE=udev, USB devices will likely not work in ${PN}."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ use udev && udev_reload
+}
diff --git a/app-misc/openrgb-plugin-effects/Manifest b/app-misc/openrgb-plugin-effects/Manifest
index 1c2f2defb4e5..c0501fcf8414 100644
--- a/app-misc/openrgb-plugin-effects/Manifest
+++ b/app-misc/openrgb-plugin-effects/Manifest
@@ -1,3 +1,4 @@
DIST OpenRGBEffectsPlugin-release_candidate_1.0rc2.tar.bz2 327570 BLAKE2B f8f80233b7a8b0b8f2a95e1358b98c5627552df473ed85ce26337b3c608c74ddbc931001c577241b0d9c83cf7eae4f8b1984ffd4e6647008859bef765f54adff SHA512 c83c8413e2377ba0aac26f968dbca49233326902ed6148ead3ddc9d99eab68e5d92d2423da2a9d1632f92490235fa9bb7b059d332c6967fb623437bda531f43d
DIST QCodeEditor-2021-08-17.tar.gz 95099 BLAKE2B d9eab343c956288b098c9fad4b523615beb7c1a860a00b8c84a2a71f40398fd2e82c335c5d82bb5bc2d15d35bad698a780ff4d1d3202f7555a93120e8a2d906a SHA512 4f8af3a45d3b16d06bc6e4b795f005cf917a80add8f738454751a47d40747df1215ba9b4e05a0f654251bc006521151f8a256c2e41be05c72abae4e55f383b54
DIST SimplexNoise-2019-12-03.tar.gz 781353 BLAKE2B ce05f78b58439d57e369b8b3944b8d392bec80d579767cb1683befe5c56b90dcf40d405ff75d4541e6c17659f6e1abc83f5d3444fbe641724d21ed509e439854 SHA512 b1e27d6630a902006636ec31c3b1cead1857b255edc8ae8db74cdfee25300337200be48264c6adc0e2c0e39a3693e361d448e61ae62d2f0b700374b264d5e5cd
+DIST openrgb-plugin-effects-1.0.tar.gz 1899295 BLAKE2B ce2e4101182348296cb6bfed7220114194eb7613db96960829aa520923d9eee86429240da3f9278f6ab447f0f68669e0ca6d9c29ac5ce234ea2499d86be630fc SHA512 43c4360328494ef3b91aaec269b68de6481518d429527649f3478530a443b159c6b38d83c24e6d353fa37669628b3bcd1ee6c77a09a390f75d8efd7351ce0e96
diff --git a/app-misc/openrgb-plugin-effects/files/openrgb-plugin-effects-1.0-dep.patch b/app-misc/openrgb-plugin-effects/files/openrgb-plugin-effects-1.0-dep.patch
new file mode 100644
index 000000000000..4524502d8c65
--- /dev/null
+++ b/app-misc/openrgb-plugin-effects/files/openrgb-plugin-effects-1.0-dep.patch
@@ -0,0 +1,9 @@
+Fix dependency on app-misc/openrgb
+
+--- a/OpenRGBEffectsPlugin.pro
++++ b/OpenRGBEffectsPlugin.pro
+@@ -107,4 +107,2 @@ HEADERS +=
+
+-SOURCES += \
+- OpenRGB/qt/hsv.cpp \
+
diff --git a/app-misc/openrgb-plugin-effects/openrgb-plugin-effects-1.0.ebuild b/app-misc/openrgb-plugin-effects/openrgb-plugin-effects-1.0.ebuild
new file mode 100644
index 000000000000..c12e8d85fea7
--- /dev/null
+++ b/app-misc/openrgb-plugin-effects/openrgb-plugin-effects-1.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic qmake-utils
+
+DESCRIPTION="Plugin for OpenRGB with various Effects that can be synced across devices"
+HOMEPAGE="https://gitlab.com/OpenRGBDevelopers/OpenRGBEffectsPlugin"
+
+MY_NOISE_COMMIT="97e62c5b5e26c8edabdc29a6b0a277192be3746c"
+MY_QCODEEDITOR_COMMIT="a9aab24c7970a38d14bc79939306d9d3ba78cf61"
+MY_PV=$(ver_rs 2 "")
+SRC_URI="
+ https://codeberg.org/OpenRGB/OpenRGBEffectsPlugin/archive/release_${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/SRombauts/SimplexNoise/archive/${MY_NOISE_COMMIT}.tar.gz -> SimplexNoise-2019-12-03.tar.gz
+ https://github.com/justxi/QCodeEditor/archive/${MY_QCODEEDITOR_COMMIT}.tar.gz -> QCodeEditor-2021-08-17.tar.gz
+"
+S="${WORKDIR}/openrgbeffectsplugin"
+
+LICENSE="GPL-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=app-misc/openrgb-1.0:=
+ dev-qt/qtbase:6[gui,opengl,widgets,-gles2-only]
+ dev-qt/qt5compat:6
+ media-libs/openal
+ media-video/pipewire:=
+"
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/nlohmann_json
+"
+
+PATCHES=(
+ "${FILESDIR}/openrgb-plugin-effects-1.0-dep.patch"
+ "${FILESDIR}/openrgb-plugin-effects-0.9_p20250723-build-system.patch"
+)
+
+src_prepare() {
+ default
+
+ filter-lto # Bug 927749
+
+ rm -r OpenRGB || die
+ ln -s "${ESYSROOT}/usr/include/OpenRGB" . || die
+ sed -e '/^GIT_/d' -i *.pro || die
+
+ rmdir Dependencies/SimplexNoise || die
+ ln -s "${WORKDIR}/SimplexNoise-${MY_NOISE_COMMIT}" Dependencies/SimplexNoise || die
+
+ rmdir Dependencies/QCodeEditor || die
+ ln -s "${WORKDIR}/QCodeEditor-${MY_QCODEEDITOR_COMMIT}" Dependencies/QCodeEditor || die
+
+ # Because of -Wl,--export-dynamic in app-misc/openrgb, this resources.qrc
+ # conflicts with the openrgb's one. So rename it.
+ sed -e 's/ resources.qrc/ resources_effects_plugin.qrc/' -i *.pro || die
+ mv --no-clobber resources.qrc resources_effects_plugin.qrc || die
+}
+
+src_configure() {
+ eqmake6 INCLUDEPATH+="${ESYSROOT}/usr/include/nlohmann" \
+ INCLUDEPATH+="${ESYSROOT}/usr/include/OpenRGB/SPDAccessor" \
+ INCLUDEPATH+="${ESYSROOT}/usr/include/OpenRGB/hidapi_wrapper"
+}
+
+src_install() {
+ exeinto /usr/$(get_libdir)/openrgb/plugins
+ doexe libOpenRGBEffectsPlugin.so
+}
diff --git a/app-misc/openrgb-plugin-effects/openrgb-plugin-effects-1.0_rc2.ebuild b/app-misc/openrgb-plugin-effects/openrgb-plugin-effects-1.0_rc2-r1.ebuild
index 264deba197f3..2dfa5518101b 100644
--- a/app-misc/openrgb-plugin-effects/openrgb-plugin-effects-1.0_rc2.ebuild
+++ b/app-misc/openrgb-plugin-effects/openrgb-plugin-effects-1.0_rc2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2025 Gentoo Authors
+# Copyright 2020-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,6 +24,7 @@ KEYWORDS="amd64"
RDEPEND="
>=app-misc/openrgb-0.9_p20250802:=
+ <app-misc/openrgb-1.0
dev-libs/hidapi
dev-qt/qtbase:6[gui,opengl,widgets,-gles2-only]
dev-qt/qt5compat:6
diff --git a/app-misc/openrgb-plugin-skin/openrgb-plugin-skin-1.0_rc2.ebuild b/app-misc/openrgb-plugin-skin/openrgb-plugin-skin-1.0_rc2-r1.ebuild
index 3f000a735168..5049272ffff5 100644
--- a/app-misc/openrgb-plugin-skin/openrgb-plugin-skin-1.0_rc2.ebuild
+++ b/app-misc/openrgb-plugin-skin/openrgb-plugin-skin-1.0_rc2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2025 Gentoo Authors
+# Copyright 2020-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,6 +18,7 @@ KEYWORDS="amd64"
RDEPEND="
>=app-misc/openrgb-0.9_p20250802:=
+ <app-misc/openrgb-1.0
dev-qt/qtbase:6[gui,widgets]
"
DEPEND="
diff --git a/app-misc/openrgb-plugin-visualmap/Manifest b/app-misc/openrgb-plugin-visualmap/Manifest
index 176a18721a63..e4c67b79c08a 100644
--- a/app-misc/openrgb-plugin-visualmap/Manifest
+++ b/app-misc/openrgb-plugin-visualmap/Manifest
@@ -1 +1,2 @@
DIST OpenRGBVisualMapPlugin-release_candidate_1.0rc2.tar.bz2 142376 BLAKE2B 99c35b877d4a51ff359af60f84f33c76bad75ed1b7165126c878ce2d14ab42330fddc76cadf0d41249b84ed3f188772daa65c1562c1be094ac703e8434fff7c8 SHA512 be7e6c2f8b3b134964f9b92870b02c2f655d78d92182fff527cec33b74ea866b8b8e10c77226275a42aadeb5ff433bff0512a62c0c4b453cda91600ee9fd98ad
+DIST openrgb-plugin-visualmap-1.0.tar.gz 320219 BLAKE2B 8369bb7c4185b8f583ad3dfd7183c85a6846e97c8e4a7d8d2fcd99200f582c414c16cb18a3c333d87916210a7e799976345bc7a3c5fbaa26da9584cd425773da SHA512 e939ad07e1d6f3b5861ed6ae5a68cffd12f57a2801609be659c809a8882ea52551cdcff6607acb47b6a1bdae429b164d0f27080af91131f2042fa3a2aea3ac79
diff --git a/app-misc/openrgb-plugin-visualmap/files/openrgb-plugin-visualmap-1.0-dep.patch b/app-misc/openrgb-plugin-visualmap/files/openrgb-plugin-visualmap-1.0-dep.patch
new file mode 100644
index 000000000000..9488dcefb99f
--- /dev/null
+++ b/app-misc/openrgb-plugin-visualmap/files/openrgb-plugin-visualmap-1.0-dep.patch
@@ -0,0 +1,9 @@
+Fix dependency on app-misc/openrgb
+
+--- a/OpenRGBVisualMapPlugin.pro
++++ b/OpenRGBVisualMapPlugin.pro
+@@ -100,4 +100,2 @@ HEADERS +=
+
+-SOURCES += \
+- OpenRGB/qt/hsv.cpp
+
diff --git a/app-misc/openrgb-plugin-visualmap/openrgb-plugin-visualmap-1.0.ebuild b/app-misc/openrgb-plugin-visualmap/openrgb-plugin-visualmap-1.0.ebuild
new file mode 100644
index 000000000000..901b0a080608
--- /dev/null
+++ b/app-misc/openrgb-plugin-visualmap/openrgb-plugin-visualmap-1.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qmake-utils
+
+DESCRIPTION="Plugin for OpenRGB to create virtual devices out of multiple real ones"
+HOMEPAGE="https://gitlab.com/OpenRGBDevelopers/OpenRGBVisualMapPlugin"
+
+SRC_URI="https://codeberg.org/OpenRGB/OpenRGBVisualMapPlugin/archive/release_${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/openrgbvisualmapplugin"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=app-misc/openrgb-1.0:=
+ dev-qt/qtbase:6[gui,widgets]
+"
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/nlohmann_json
+"
+
+PATCHES=(
+ "${FILESDIR}/openrgb-plugin-visualmap-1.0-dep.patch"
+ "${FILESDIR}/openrgb-plugin-visualmap-0.9_p20250723-build-system.patch"
+)
+
+src_prepare() {
+ default
+ rm -r OpenRGB || die
+ ln -s "${ESYSROOT}/usr/include/OpenRGB" . || die
+ sed -e '/^GIT_/d' -i *.pro || die
+
+ # Because of -Wl,--export-dynamic in app-misc/openrgb, this resources.qrc
+ # conflicts with the openrgb's one. So rename it.
+ sed -e 's/resources.qrc/resources_visualmap_plugin.qrc/' -i *.pro || die
+ mv --no-clobber resources.qrc resources_visualmap_plugin.qrc || die
+}
+
+src_configure() {
+ eqmake6 INCLUDEPATH+="${ESYSROOT}/usr/include/nlohmann"
+}
+
+src_install() {
+ exeinto /usr/$(get_libdir)/openrgb/plugins
+ doexe libOpenRGBVisualMapPlugin.so
+}
diff --git a/app-misc/openrgb-plugin-visualmap/openrgb-plugin-visualmap-1.0_rc2.ebuild b/app-misc/openrgb-plugin-visualmap/openrgb-plugin-visualmap-1.0_rc2-r1.ebuild
index a4e33d00507f..3a72015d42fa 100644
--- a/app-misc/openrgb-plugin-visualmap/openrgb-plugin-visualmap-1.0_rc2.ebuild
+++ b/app-misc/openrgb-plugin-visualmap/openrgb-plugin-visualmap-1.0_rc2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2025 Gentoo Authors
+# Copyright 2020-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,6 +18,7 @@ KEYWORDS="amd64"
RDEPEND="
>=app-misc/openrgb-0.9_p20250802:=
+ <app-misc/openrgb-1.0
dev-qt/qtbase:6[gui,widgets]
"
DEPEND="
diff --git a/app-misc/openrgb/Manifest b/app-misc/openrgb/Manifest
index f230441599b7..3d1546abad0d 100644
--- a/app-misc/openrgb/Manifest
+++ b/app-misc/openrgb/Manifest
@@ -1 +1,2 @@
+DIST openrgb-1.0.tar.gz 15266950 BLAKE2B 8b463e92bbed35a96ccf39ebaf997ca94525bcc54545ec0d86372030b33172c504d544a17b5044eae8f858209ec4b0841b363ccb328505fe7993d87a30a758ec SHA512 2a939f8da33230ad8ebc1123df0b183db8fd2a7be3daff727eb6c7cba6a129861da50b8f464aa6382aeab052c5cfed3a354cc6e65c83a9e1a3693b32fa9e5c24
DIST openrgb-1.0_rc3_p1.tar.gz 14805903 BLAKE2B a56daf258a8ca8ae09ad3c99d625ccedfeef04eaefd9e106abed18ba74178841fd8309fc549268e535834e0d79c4b02ca547d4861f9475991e13af943ad2d646 SHA512 2bd0cbebe9e96649ba858979ee71aaeeed07eaa98cee960cd575f69df7f10af6a19219c2e25afa84fcd55874192170264cafcb246af161c3b1dbd453614fe24e
diff --git a/app-misc/openrgb/metadata.xml b/app-misc/openrgb/metadata.xml
index 47d087bf53e5..29775dd259a4 100644
--- a/app-misc/openrgb/metadata.xml
+++ b/app-misc/openrgb/metadata.xml
@@ -23,5 +23,8 @@
RGB devices from a single app, on both Windows and Linux, without any nonsense?
That is what OpenRGB sets out to achieve. One app to rule them all.
</longdescription>
+ <use>
+ <flag name="hotplug">Use <pkg>dev-libs/hidapi-hotplug</pkg> instead of <pkg>dev-libs/hidapi</pkg>.</flag>
+ </use>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/app-misc/openrgb/openrgb-1.0.ebuild b/app-misc/openrgb/openrgb-1.0.ebuild
new file mode 100644
index 000000000000..9a520a5ab993
--- /dev/null
+++ b/app-misc/openrgb/openrgb-1.0.ebuild
@@ -0,0 +1,112 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs flag-o-matic qmake-utils tmpfiles udev xdg-utils
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI=${EGIT_REPO_URI:-"https://codeberg.org/OpenRGB/OpenRGB.git"}
+else
+ SRC_URI="https://codeberg.org/OpenRGB/OpenRGB/archive/release_${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/openrgb"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Open source RGB lighting control"
+HOMEPAGE="https://openrgb.org https://gitlab.com/CalcProgrammer1/OpenRGB/ https://codeberg.org/OpenRGB/OpenRGB"
+LICENSE="GPL-2+"
+# subslot is OPENRGB_PLUGIN_API_VERSION from
+# https://codeberg.org/OpenRGB/OpenRGB/src/branch/master/OpenRGBPluginInterface.h
+SLOT="0/5"
+IUSE="+hotplug"
+
+RDEPEND="
+ dev-cpp/cpp-httplib:=
+ dev-qt/qtbase:6[gui,widgets]
+ net-libs/mbedtls:3=
+ virtual/libusb:1
+ hotplug? ( dev-libs/hidapi-hotplug )
+ !hotplug? ( dev-libs/hidapi )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/nlohmann_json
+ dev-libs/mdns
+ dev-libs/stb
+"
+BDEPEND="
+ dev-qt/qttools:6[linguist]
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/OpenRGB-1.0rc3-mbedtls-20260825.patch
+)
+if [[ ${PV} != *9999* ]]; then
+ PATCHES+=( "${FILESDIR}"/openrgb-0.9_p20250802-build-system.patch )
+fi
+
+CHECKREQS_DISK_BUILD="2G"
+
+src_prepare() {
+ default
+
+ rm -r dependencies/{httplib,hidapi,libusb,mdns,json,mbedtls,stb}* \
+ || die "Failed to remove unneded deps"
+
+ if ! use hotplug; then
+ sed -i -e 's/packagesExist.hidapi-hotplug-hidraw./false/' OpenRGB.pro || die
+ fi
+}
+
+src_configure() {
+ # Some plugins require symbols defined in the main binary.
+ # The upstream build system of plugins bundles OpenRGB as a submodule
+ # instead, and compiles the .cpp file again.
+ append-ldflags -Wl,--export-dynamic
+
+ # > warning: '-pipe' ignored because '-save-temps' specified
+ filter-flags -pipe
+
+ # cpp-httplib >=0.16.0 changed the library name from "httplib" to "cpp-httplib".
+ # See bug: https://bugs.gentoo.org/934576
+ local -a libs=()
+ if has_version "<dev-cpp/cpp-httplib-0.16.0" ; then
+ libs+=( -lhttplib )
+ else
+ libs+=( -lcpp-httplib )
+ fi
+
+ eqmake6 \
+ INCLUDEPATH+="${ESYSROOT}/usr/include/nlohmann" \
+ INCLUDEPATH+="${ESYSROOT}/usr/include/stb" \
+ OPENRGB_SYSTEM_PLUGIN_DIRECTORY="${EPREFIX}/usr/$(get_libdir)/openrgb/plugins" \
+ LIBS+="${libs[@]}" \
+ PREFIX="${EPREFIX}/usr"
+}
+
+src_install() {
+ emake INSTALL_ROOT="${ED}" install
+
+ dodoc README.md
+
+ ./openrgb --generate-udev-rules 60-openrgb.rules || die
+ udev_dorules 60-openrgb.rules
+
+ # This is for plugins. Upstream doesn't install any headers at all.
+ insinto /usr/include/OpenRGB
+ find . -name '*.h' -exec cp --parents '{}' "${ED}/usr/include/OpenRGB/" ';' || die
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ udev_reload
+ tmpfiles_process openrgb.conf
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ udev_reload
+}
diff --git a/app-misc/openrgb/openrgb-9999.ebuild b/app-misc/openrgb/openrgb-9999.ebuild
index b5ad5910149c..d43849669c62 100644
--- a/app-misc/openrgb/openrgb-9999.ebuild
+++ b/app-misc/openrgb/openrgb-9999.ebuild
@@ -9,8 +9,7 @@ if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI=${EGIT_REPO_URI:-"https://codeberg.org/OpenRGB/OpenRGB.git"}
else
- MY_PV=$(ver_rs 2 "")
- SRC_URI="https://codeberg.org/OpenRGB/OpenRGB/archive/release_candidate_${MY_PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="https://codeberg.org/OpenRGB/OpenRGB/archive/release_${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/openrgb"
KEYWORDS="~amd64 ~loong"
fi
@@ -19,15 +18,17 @@ DESCRIPTION="Open source RGB lighting control"
HOMEPAGE="https://openrgb.org https://gitlab.com/CalcProgrammer1/OpenRGB/ https://codeberg.org/OpenRGB/OpenRGB"
LICENSE="GPL-2+"
# subslot is OPENRGB_PLUGIN_API_VERSION from
-# https://gitlab.com/CalcProgrammer1/OpenRGB/-/blob/master/OpenRGBPluginInterface.h
-SLOT="0/4"
+# https://codeberg.org/OpenRGB/OpenRGB/src/branch/master/OpenRGBPluginInterface.h
+SLOT="0/5"
+IUSE="+hotplug"
RDEPEND="
dev-cpp/cpp-httplib:=
- dev-libs/hidapi
dev-qt/qtbase:6[gui,widgets]
net-libs/mbedtls:3=
virtual/libusb:1
+ hotplug? ( dev-libs/hidapi-hotplug )
+ !hotplug? ( dev-libs/hidapi )
"
DEPEND="
${RDEPEND}
@@ -54,6 +55,10 @@ src_prepare() {
rm -r dependencies/{httplib,hidapi,libusb,mdns,json,mbedtls,stb}* \
|| die "Failed to remove unneded deps"
+
+ if ! use hotplug; then
+ sed -i -e 's/packagesExist.hidapi-hotplug-hidraw./false/' OpenRGB.pro || die
+ fi
}
src_configure() {
@@ -87,7 +92,7 @@ src_install() {
dodoc README.md
- rm -r "${ED}"/usr/lib/udev/ || die
+ ./openrgb --generate-udev-rules 60-openrgb.rules || die
udev_dorules 60-openrgb.rules
# This is for plugins. Upstream doesn't install any headers at all.
diff --git a/app-portage/pupgrade/Manifest b/app-portage/pupgrade/Manifest
index 37252e7c509a..76f6b2c6eea7 100644
--- a/app-portage/pupgrade/Manifest
+++ b/app-portage/pupgrade/Manifest
@@ -1,3 +1,3 @@
DIST pupgrade-0.4.3.tar.bz2 114822 BLAKE2B 85069132b6dd7c4d3f538f57a89b6b090948e5afc869552df2549a44d306a61e7f1899a1a0f7b3c5b47032afeed63890bc1ad0924ff4c177ce606b115800b84c SHA512 6c8c338a448c28cfae8174fa1bd26a5b42a9059a2d048c7396bc562a09bb9a0de57277b70f7046fa3da1c5efc6950004d1cb5b0afdf8228b8f3e86399dd5dbbd
DIST pupgrade-0.4.4.tar.bz2 115009 BLAKE2B 6bb28169c4792ca9eca04502056b3cd8b9d9464f0401116d403dc1280aab60ceed5bf992e04b65ebf3621626419baf217f81022e223cba78c93b656650d6ab83 SHA512 fc1db346b5511b3172f79238ea4b22a4c040d3ec19409a604ce6fbcfb3a68a496111a82ba47762968bec342d449993b63f1569db1cd86fa444c329d2eec29f9a
-DIST pupgrade-0.5.1.tar.bz2 12950 BLAKE2B 42db4650e63e9b976802ce9420e9b6146f42808728618025a9f7207341570955c2afa1efa20736033f5a1e81747fdbbd0e7f60158834d079f91093e235d6613e SHA512 633f3d55f124ecf5327c0aabb6c28e8ceb0a44da52e2ccb7ce0fbca3b49960765e50284c9de9a103eb815d5ecc434674104f070fe6c5b3cc757957939a51fdaf
+DIST pupgrade-0.5.1.tar.bz2 12952 BLAKE2B d7a14c9401ff441e25100a43c76bbaa3e05ee60b52915b189dae68e513fc151d5cdd02ab01c5a2480b5c49ee5accd40465c32d21f0c2c4a8a45138908e48cdda SHA512 3af067344169d6b53e97ccaccdaeb1c65bf7f80582e732bcf32388b58d5719a67ecbb73c8642678967ee6495717f135aa2073f2a92f14c1e46dfaddccb84b157
diff --git a/dev-embedded/esp-idf-kconfig/esp-idf-kconfig-3.13.0.ebuild b/dev-embedded/esp-idf-kconfig/esp-idf-kconfig-3.13.0-r1.ebuild
index 4a6253ec2fe1..0d26f92f744c 100644
--- a/dev-embedded/esp-idf-kconfig/esp-idf-kconfig-3.13.0.ebuild
+++ b/dev-embedded/esp-idf-kconfig/esp-idf-kconfig-3.13.0-r1.ebuild
@@ -21,7 +21,7 @@ RESTRICT="test"
RDEPEND="
dev-python/textual[${PYTHON_USEDEP}]
dev-python/pyparsing[${PYTHON_USEDEP}]
- dev-embedded/esp-pylib[${PYTHON_USEDEP}]
+ dev-python/esp-pylib[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}"
diff --git a/dev-embedded/esp-idf-monitor/esp-idf-monitor-1.10.0.ebuild b/dev-embedded/esp-idf-monitor/esp-idf-monitor-1.10.0-r1.ebuild
index 3e44e6cbbaea..5d044deddc94 100644
--- a/dev-embedded/esp-idf-monitor/esp-idf-monitor-1.10.0.ebuild
+++ b/dev-embedded/esp-idf-monitor/esp-idf-monitor-1.10.0-r1.ebuild
@@ -20,7 +20,7 @@ RESTRICT="test"
RDEPEND="
dev-embedded/esp-coredump[${PYTHON_USEDEP}]
dev-embedded/esp-idf-panic-decoder[${PYTHON_USEDEP}]
- dev-embedded/esp-pylib[${PYTHON_USEDEP}]
+ dev-python/esp-pylib[${PYTHON_USEDEP}]
dev-python/pyelftools[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}"
diff --git a/dev-embedded/esp-idf-size/esp-idf-size-2.3.1.ebuild b/dev-embedded/esp-idf-size/esp-idf-size-2.3.1-r1.ebuild
index 822823c6e97e..4cf704552a33 100644
--- a/dev-embedded/esp-idf-size/esp-idf-size-2.3.1.ebuild
+++ b/dev-embedded/esp-idf-size/esp-idf-size-2.3.1-r1.ebuild
@@ -19,7 +19,7 @@ KEYWORDS="~amd64"
RESTRICT="test"
RDEPEND="
- dev-embedded/esp-pylib[${PYTHON_USEDEP}]
+ dev-python/esp-pylib[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
"
diff --git a/dev-embedded/esp-idf/Manifest b/dev-embedded/esp-idf/Manifest
index bcda8517c1bb..fe243356efdb 100644
--- a/dev-embedded/esp-idf/Manifest
+++ b/dev-embedded/esp-idf/Manifest
@@ -2,6 +2,7 @@ DIST esp-idf-5.4.4.zip 1988234779 BLAKE2B d8ebf069b71addf6052544da837089a3607a30
DIST esp-idf-5.5.5.zip 1998138049 BLAKE2B 4a625776e0725a7295cc29728fb794d91d846e0c6f3a49d04148d462d5975a127dcea2b838ffc5e778b581a277b4bfdbd45a3236f85d8a10f8f7fef16dfda21d SHA512 a1d5d337ee633d1e144777a777bfb761673d177e7a54e9e4fabfb29995657015a53de3e872702d212809fc39d45f2c29b1ea854e9719719caa86bd7304c33aad
DIST esp-idf-6.0.2.zip 1914371137 BLAKE2B fa7730d37d6b031cb05aac1e929f1a73c664ccb79d4a3e4872948315fae7d8163591e5778f3420174c9d2a9fcd0763968ec636c84b36dc4f2e422b1bd32842c5 SHA512 32448eb20da60d6f594a5529e84a19c15e17d581357b2de505d4aecdb557c4d985488f56c6458098913f887fbf56551c19bec87d8d6e1833dc5c1b14f8ad844b
DIST esp-idf-6.0.3.zip 1997167870 BLAKE2B 4ea4d96e6d7e460f489d51abb99a540b638c8a01b125af17169d170f1d7d6df5e093c508254036a8910eb9c5b8b372f8dac9ffc92c514c464f984c0e84a7b8b3 SHA512 75feb0f7bd14528a940a4d511c65aa3cc04036383e87981b1a407409c0373650d2e8f9680967c3ef4b0db65491a6c2b58627612052ada24b277f0e1e41a51705
+DIST esp-idf-6.1.zip 1951682805 BLAKE2B 54dce6d6801ac25a33cef407e90b3e0d07d81c91bda95d1372558ff3240ae4492fc3ca31a52b5c0039cba3b987a06375a124ed22ea21ee7a34e65728e75b0f15 SHA512 d8bbf5233b4aa655a2953b9c749f6b3333860a1b5f2b4209cd133acff9afa98b1ad734a364662c51956e916386334eb00b8e3c7c06ee11261a878d3504e2eea4
DIST openocd-esp32-linux-amd64-0.12.0-esp32-20260304.tar.gz 2603774 BLAKE2B 8621a8c888623c6c5d8414fea4fd4ec4730a19dbad0f75f2f9dbdfec5a56f8e69ed7d60553034dce9b2b85d9427d626e80816281ca55cd9d21f4458c0fca35ee SHA512 516973e361af37a82cff42114603d51581fc41cecf5cfdaf0ead87cccf19f723b94865c8472de11b33ff747fa563a67d72fc801229bc29180b2d74f061ffea60
DIST openocd-esp32-linux-amd64-0.12.0-esp32-20260424.tar.gz 2630575 BLAKE2B 362bb939ecfa6a312ac49e6dcdf8d344c1607a96f1af4763026cd562f2a4eb71b392b7b85f3e68d2aff73b1ddeecb6fc6501ec947b0752636f6acd3bc9d5e127 SHA512 d3bac9561b5c9495682d500fad6d756207d0bbdb9bef2031340d4e499756910bd87cf75c15b8e1806f969a518d0ee56391ad7b3495a3febd51e38253ef3688ae
DIST openocd-esp32-linux-amd64-0.12.0-esp32-20260703.tar.gz 2700256 BLAKE2B 090e0a5ab0c3742413d49df30ec8527d3c2fdaaa39b128692a021bde2169775cc2426e806da8e2a452223d0f28fff92e3d347f372745bd3d89a07ee31b8605c3 SHA512 8ca529d2e9a118c14e1d8b35686ea1ecec0a02dfda0f796f8758dea3d7a27df3fc0ac66581f3d312a0e347309e1df5811242bc687a0a1bd5452f0c1f44a733a8
diff --git a/dev-embedded/esp-idf/esp-idf-6.0.3-r1.ebuild b/dev-embedded/esp-idf/esp-idf-6.0.3-r1.ebuild
new file mode 100644
index 000000000000..11fd072b2e89
--- /dev/null
+++ b/dev-embedded/esp-idf/esp-idf-6.0.3-r1.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# TODO: add esp-doc package in order to build documentation
+# TODO: add examples USE
+# TODO: fix to python-single which should help to fix python-gdb dep
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_GDB_USE=( python_targets_python3_{12..14} )
+VER="15.2.0_20251204"
+GDB_VER="17.1_20260402"
+OPENOCD_VER="0.12.0-esp32-20260703"
+
+CROSSTOOL_URL="https://github.com/espressif/crosstool-NG/releases/download/esp-${VER}"
+
+inherit estack optfeature python-r1
+
+DESCRIPTION="Espressif IoT Development Framework"
+HOMEPAGE="https://www.espressif.com/"
+
+# See https://dl.espressif.com/dl/esp-idf/espidf.constraints.v5.4.txt for information about version dependencies
+
+SRC_URI="https://dl.espressif.com/github_assets/espressif/${PN}/releases/download/v${PV}/${PN}-v${PV}.zip -> ${P}.zip
+ https://github.com/espressif/openocd-esp32/releases/download/v${OPENOCD_VER}/openocd-esp32-linux-amd64-${OPENOCD_VER}.tar.gz
+ https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v${GDB_VER}/xtensa-esp-elf-gdb-${GDB_VER}-x86_64-linux-gnu.tar.gz
+ ${CROSSTOOL_URL}/xtensa-esp-elf-${VER}-x86_64-linux-gnu.tar.xz"
+SRC_URI+=" riscv32? (
+ ${CROSSTOOL_URL}/riscv32-esp-elf-${VER}-x86_64-linux-gnu.tar.xz
+ https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v${GDB_VER}/riscv32-esp-elf-gdb-${GDB_VER}-x86_64-linux-gnu.tar.gz
+)"
+
+S="${WORKDIR}/${PN}-v${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+IUSE="python-gdb riscv32"
+REQUIRED_USE="
+ python-gdb? ( || ( ${PYTHON_GDB_USE[@]} ) )
+ ${PYTHON_REQUIRED_USE}
+"
+
+BDEPEND="app-arch/unzip"
+RDEPEND="
+ ${PYTHON_DEPS}
+
+ dev-build/cmake
+ dev-libs/libusb:1
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/pyserial[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/pyelftools[${PYTHON_USEDEP}]
+ dev-embedded/esp-coredump[${PYTHON_USEDEP}]
+ dev-embedded/esptool
+ dev-embedded/esp-idf-diag[${PYTHON_USEDEP}]
+ <dev-embedded/esp-idf-kconfig-4.0.0[${PYTHON_USEDEP}]
+ <dev-embedded/esp-idf-monitor-2.0.0[${PYTHON_USEDEP}]
+ dev-embedded/esp-idf-nvs-partition-gen[${PYTHON_USEDEP}]
+ dev-embedded/esp-idf-panic-decoder[${PYTHON_USEDEP}]
+ <dev-embedded/esp-idf-size-3.0.0[${PYTHON_USEDEP}]
+ dev-embedded/freertos-gdb[${PYTHON_USEDEP}]
+ dev-embedded/idf-component-manager[${PYTHON_USEDEP}]
+ virtual/zlib:=
+"
+
+RESTRICT="strip"
+
+QA_PREBUILT="opt/* usr/lib* usr/share/esp-idf/*"
+
+PATCHES=(
+ "${FILESDIR}/allow-system-install-${PN}-5.3.patch"
+)
+
+install_tool() {
+ eshopts_push -s globstar
+
+ into /opt/${1}
+
+ if [[ -d "../${1}/lib" ]]; then
+ if stat *.so &>/dev/null; then
+ for i in ../${1}/lib/**/*.so*; do
+ dolib.so ${i}
+ done
+ fi
+
+ if stat *.a &>/dev/null; then
+ for i in ../${1}/lib/**/*.a*; do
+ dolib.a ${i}
+ done
+ fi
+
+ insinto /opt/${1}/lib
+ doins -r ../${1}/lib/*
+ fi
+
+ (
+ cd ../${1}
+ for i in libexec/**/*; do
+ exeinto /opt/${1}/$(dirname ${i})
+ if [[ -x "${i}" && ! -d "${i}" ]]; then
+ doexe ${i}
+ fi
+ done
+
+ if [[ -d "include" ]]; then
+ insinto /opt/${1}
+ doins -r include
+ fi
+
+ if [[ -d "share" ]]; then
+ insinto /opt/${1}
+ doins -r share
+ fi
+ )
+
+ if [[ -d "../${1}/bin" ]]; then
+ exeinto /opt/${1}/bin
+ doexe ../${1}/bin/*
+
+ (
+ cd "${D}"/opt/${1}/bin/ || die
+ for i in *; do
+ dodir /opt/bin
+ cd "${D}"/opt/bin || die
+ dosym ../${1}/bin/${i} /opt/bin/${i}
+ done
+ )
+ fi
+
+ eshopts_pop
+}
+
+src_install() {
+ echo "v${PV}" > version.txt || die
+
+ newbin - idf <<-EOF
+ #!/bin/sh
+
+ # Silence a warning by idf.py
+ export IDF_PYTHON_ENV_PATH=
+ exec python /usr/share/${PN}/tools/idf.py \$@
+EOF
+
+ install_tool xtensa-esp-elf
+ install_tool xtensa-esp-elf/xtensa-esp-elf
+ install_tool xtensa-esp-elf/picolibc
+ install_tool xtensa-esp-elf/picolibc/xtensa-esp-elf
+
+ if use riscv32; then
+ install_tool riscv32-esp-elf
+ install_tool riscv32-esp-elf/riscv32-esp-elf
+ install_tool riscv32-esp-elf/picolibc
+ install_tool riscv32-esp-elf/picolibc/riscv32-esp-elf
+ fi
+
+ install_tool openocd-esp32
+
+ # Remove unsupported python versions
+ rm "${WORKDIR}"/xtensa-esp-elf-gdb/bin/xtensa-esp-elf-gdb-3.{8..11} || die
+ if use riscv32; then
+ rm "${WORKDIR}"/riscv32-esp-elf-gdb/bin/riscv32-esp-elf-gdb-3.{8..11} || die
+ fi
+
+ # Remove disabled python versions
+ for i in "${PYTHON_GDB_USE[@]}"; do
+ if ! has "${i}" "${PYTHON_COMPAT[@]}"; then
+ rm -f "${WORKDIR}"/xtensa-esp-elf-gdb/bin/xtensa-esp-elf-gdb-3."${i##*_}" || die
+ if use riscv32; then
+ rm -f "${WORKDIR}"/riscv32-esp-elf-gdb/bin/riscv32-esp-elf-gdb-3."${i##*_}" || die
+ fi
+ fi
+ done
+
+ install_tool xtensa-esp-elf-gdb
+ if use riscv32; then
+ install_tool riscv32-esp-elf-gdb
+ fi
+
+ newenvd - 99esp-idf <<-EOF
+ IDF_PATH=/usr/share/${PN}
+ ESP_IDF_VERSION=${PV}
+ ESP_ROM_ELF_DIR=/usr/share/${PN}/tools
+ OPENOCD_SCRIPTS=/opt/openocd-esp32/share/openocd/scripts
+EOF
+
+ insinto /usr/share/${PN}
+
+ rm -r .git || die
+ find . -name ".git" -exec rm -rf {} \; || die
+ doins -r .
+}
+
+pkg_postinst() {
+ optfeature "gdbgui target" dev-debug/gdbgui
+}
diff --git a/dev-embedded/esp-idf/esp-idf-6.1.ebuild b/dev-embedded/esp-idf/esp-idf-6.1.ebuild
new file mode 100644
index 000000000000..6317289ce3c6
--- /dev/null
+++ b/dev-embedded/esp-idf/esp-idf-6.1.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# TODO: add esp-doc package in order to build documentation
+# TODO: add examples USE
+# TODO: fix to python-single which should help to fix python-gdb dep
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_GDB_USE=( python_targets_python3_{12..14} )
+VER="15.2.0_20251204"
+GDB_VER="17.1_20260402"
+OPENOCD_VER="0.12.0-esp32-20260703"
+
+CROSSTOOL_URL="https://github.com/espressif/crosstool-NG/releases/download/esp-${VER}"
+
+inherit estack optfeature python-r1
+
+DESCRIPTION="Espressif IoT Development Framework"
+HOMEPAGE="https://www.espressif.com/"
+
+# See https://dl.espressif.com/dl/esp-idf/espidf.constraints.v6.1.txt for information about version dependencies
+
+SRC_URI="https://dl.espressif.com/github_assets/espressif/${PN}/releases/download/v${PV}/${PN}-v${PV}.zip -> ${P}.zip
+ https://github.com/espressif/openocd-esp32/releases/download/v${OPENOCD_VER}/openocd-esp32-linux-amd64-${OPENOCD_VER}.tar.gz
+ https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v${GDB_VER}/xtensa-esp-elf-gdb-${GDB_VER}-x86_64-linux-gnu.tar.gz
+ ${CROSSTOOL_URL}/xtensa-esp-elf-${VER}-x86_64-linux-gnu.tar.xz"
+SRC_URI+=" riscv32? (
+ ${CROSSTOOL_URL}/riscv32-esp-elf-${VER}-x86_64-linux-gnu.tar.xz
+ https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v${GDB_VER}/riscv32-esp-elf-gdb-${GDB_VER}-x86_64-linux-gnu.tar.gz
+)"
+
+S="${WORKDIR}/${PN}-v${PV}"
+
+LICENSE="Apache-2.0"
+LICENSE+=" BSD BSD-2 GPL-2 MIT" # license of bundled components
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+IUSE="python-gdb riscv32"
+REQUIRED_USE="
+ python-gdb? ( || ( ${PYTHON_GDB_USE[@]} ) )
+ ${PYTHON_REQUIRED_USE}
+"
+
+BDEPEND="app-arch/unzip"
+RDEPEND="
+ ${PYTHON_DEPS}
+
+ dev-build/cmake
+ dev-libs/libusb:1
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/pyserial[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/pyelftools[${PYTHON_USEDEP}]
+ dev-embedded/esp-coredump[${PYTHON_USEDEP}]
+ dev-embedded/esptool
+ dev-embedded/esp-idf-diag[${PYTHON_USEDEP}]
+ <dev-embedded/esp-idf-kconfig-4.0.0[${PYTHON_USEDEP}]
+ <dev-embedded/esp-idf-monitor-2.0.0[${PYTHON_USEDEP}]
+ dev-embedded/esp-idf-nvs-partition-gen[${PYTHON_USEDEP}]
+ dev-embedded/esp-idf-panic-decoder[${PYTHON_USEDEP}]
+ <dev-embedded/esp-idf-size-3.0.0[${PYTHON_USEDEP}]
+ dev-embedded/freertos-gdb[${PYTHON_USEDEP}]
+ dev-embedded/idf-component-manager[${PYTHON_USEDEP}]
+ virtual/zlib:=
+"
+
+RESTRICT="bindist mirror strip"
+
+QA_PREBUILT="opt/* usr/lib* usr/share/esp-idf/*"
+
+PATCHES=(
+ "${FILESDIR}/allow-system-install-${PN}-5.3.patch"
+)
+
+install_tool() {
+ eshopts_push -s globstar
+
+ into /opt/${1}
+
+ if [[ -d "../${1}/lib" ]]; then
+ if stat *.so &>/dev/null; then
+ for i in ../${1}/lib/**/*.so*; do
+ dolib.so ${i}
+ done
+ fi
+
+ if stat *.a &>/dev/null; then
+ for i in ../${1}/lib/**/*.a*; do
+ dolib.a ${i}
+ done
+ fi
+
+ insinto /opt/${1}/lib
+ doins -r ../${1}/lib/*
+ fi
+
+ (
+ cd ../${1}
+ for i in libexec/**/*; do
+ exeinto /opt/${1}/$(dirname ${i})
+ if [[ -x "${i}" && ! -d "${i}" ]]; then
+ doexe ${i}
+ fi
+ done
+
+ if [[ -d "include" ]]; then
+ insinto /opt/${1}
+ doins -r include
+ fi
+
+ if [[ -d "share" ]]; then
+ insinto /opt/${1}
+ doins -r share
+ fi
+ )
+
+ if [[ -d "../${1}/bin" ]]; then
+ exeinto /opt/${1}/bin
+ doexe ../${1}/bin/*
+
+ (
+ cd "${D}"/opt/${1}/bin/ || die
+ for i in *; do
+ dodir /opt/bin
+ cd "${D}"/opt/bin || die
+ dosym ../${1}/bin/${i} /opt/bin/${i}
+ done
+ )
+ fi
+
+ eshopts_pop
+}
+
+src_install() {
+ echo "v${PV}" > version.txt || die
+
+ newbin - idf <<-EOF
+ #!/bin/sh
+
+ # Silence a warning by idf.py
+ export IDF_PYTHON_ENV_PATH=
+ exec python /usr/share/${PN}/tools/idf.py \$@
+EOF
+
+ install_tool xtensa-esp-elf
+ install_tool xtensa-esp-elf/xtensa-esp-elf
+ install_tool xtensa-esp-elf/picolibc
+ install_tool xtensa-esp-elf/picolibc/xtensa-esp-elf
+
+ if use riscv32; then
+ install_tool riscv32-esp-elf
+ install_tool riscv32-esp-elf/riscv32-esp-elf
+ install_tool riscv32-esp-elf/picolibc
+ install_tool riscv32-esp-elf/picolibc/riscv32-esp-elf
+ fi
+
+ install_tool openocd-esp32
+
+ # Remove unsupported python versions
+ rm "${WORKDIR}"/xtensa-esp-elf-gdb/bin/xtensa-esp-elf-gdb-3.{8..11} || die
+ if use riscv32; then
+ rm "${WORKDIR}"/riscv32-esp-elf-gdb/bin/riscv32-esp-elf-gdb-3.{8..11} || die
+ fi
+
+ # Remove disabled python versions
+ for i in "${PYTHON_GDB_USE[@]}"; do
+ if ! has "${i}" "${PYTHON_COMPAT[@]}"; then
+ rm -f "${WORKDIR}"/xtensa-esp-elf-gdb/bin/xtensa-esp-elf-gdb-3."${i##*_}" || die
+ if use riscv32; then
+ rm -f "${WORKDIR}"/riscv32-esp-elf-gdb/bin/riscv32-esp-elf-gdb-3."${i##*_}" || die
+ fi
+ fi
+ done
+
+ install_tool xtensa-esp-elf-gdb
+ if use riscv32; then
+ install_tool riscv32-esp-elf-gdb
+ fi
+
+ newenvd - 99esp-idf <<-EOF
+ IDF_PATH=/usr/share/${PN}
+ ESP_IDF_VERSION=${PV}
+ ESP_ROM_ELF_DIR=/usr/share/${PN}/tools
+ OPENOCD_SCRIPTS=/opt/openocd-esp32/share/openocd/scripts
+EOF
+
+ insinto /usr/share/${PN}
+
+ rm -r .git || die
+ find . -name ".git" -exec rm -rf {} \; || die
+ doins -r .
+}
+
+pkg_postinst() {
+ optfeature "gdbgui target" dev-debug/gdbgui
+}
diff --git a/dev-embedded/esp-pylib/Manifest b/dev-embedded/esp-pylib/Manifest
deleted file mode 100644
index 571a5aa74288..000000000000
--- a/dev-embedded/esp-pylib/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST esp_pylib-1.1.4.tar.gz 98849 BLAKE2B 60ee0260b38f04730712c4589ee5f018c86c5ae0e1a53bd12725619b487baeb065b18a4caeabf286284deb7f52d14cdd1d1ff64229a7a1b6381530bb644ed222 SHA512 74d9d34fcf2b35870e6e1550e9a314e124791132050fe04e29ecf6977659c7702843b4c6d07c016dfc2325adff69938588366167ff6069d91be38f06a249cf83
diff --git a/dev-embedded/esp-pylib/esp-pylib-1.1.4.ebuild b/dev-embedded/esp-pylib/esp-pylib-1.1.4.ebuild
deleted file mode 100644
index 601b2ac7a710..000000000000
--- a/dev-embedded/esp-pylib/esp-pylib-1.1.4.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python object-oriented database"
-HOMEPAGE="https://github.com/espressif/esp-idf-monitor"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/pyserial[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- dev-python/rich-click[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-embedded/fwup/Manifest b/dev-embedded/fwup/Manifest
index c080b93d7821..7e3c8881b3ae 100644
--- a/dev-embedded/fwup/Manifest
+++ b/dev-embedded/fwup/Manifest
@@ -1,2 +1,2 @@
-DIST fwup-1.15.1.tar.gz 25588820 BLAKE2B 0b030a76c3f7699fa6a2ea7fd1f8e8391d8a62ad874f3f26ab39380ec9ec6727483659726ffd1894a9751e76c71a7c8e194b4b9af88ee39ff28187b96b16e572 SHA512 7b80a10a805a9023b5fc6103c3165f84cba2ac563ee58feb27d99589797551250522fe152f01be899d79e6d07d9eb7a07c7745bf634f5828e886f386fa2ba454
DIST fwup-1.16.0.tar.gz 25593107 BLAKE2B 6d7e350e636457f830c3ca94e110c08a3f00d287008257e5a00cb102fd90bda01a167177436bbdd06fd5eaf99f22e5921f58b068436a0c8bbb9e52e64b435e8e SHA512 e9bb6503ed4169407dbe7325afd53c61715b18f3fbea55d15d364b6c64ae104e80f7b4831ac58531a81670cc7597dcf8cacde95dd953fcfb8e4ea495438739f3
+DIST fwup-1.17.1.tar.gz 25606225 BLAKE2B 66d9eb8bd00df2798eb9107daaa26fc84c2fecff658456fcf9332bdabdb69b20d2fff9a5047440564da73254d6c3b231d805335f617a64deb81fa6f62e10d901 SHA512 b01a25d77f8d9c18e638ab16b9093fd7d40c49a4857ef81b701807f65fe711bc9bfdf26fb8383638fe7c21c59356c0557e3a1fbad7f5b23ec1142ee5d654c23e
diff --git a/dev-embedded/fwup/fwup-1.15.1.ebuild b/dev-embedded/fwup/fwup-1.17.1.ebuild
index 10b3732a880a..bc26eb63d000 100644
--- a/dev-embedded/fwup/fwup-1.15.1.ebuild
+++ b/dev-embedded/fwup/fwup-1.17.1.ebuild
@@ -10,6 +10,12 @@ SRC_URI="https://github.com/fwup-home/fwup/archive/refs/tags/v${PV}.tar.gz -> ${
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
+IUSE="test"
+
+# Running tests requires dev-util/xdelta to be compiled with lzma support.
+# Only run tests when the appropriate USE flag has been set.
+RESTRICT="!test? ( test )"
+BDPEND="test? ( dev-util/xdelta:3[lzma] )"
RDEPEND="
>=app-arch/libarchive-3.7.9
@@ -29,11 +35,15 @@ src_prepare() {
src_test() {
# The fwup tests do not like the portage sandbox. Make them play nice.
- # Modify tests/common.sh to ensure $WRITE_SHIM and $MOUNT_SHIM point to
- # files that don't exist. This is needed to ensure tests don't try to use
- # LD_PRELOAD.
- sed -i 's/^\(WRITE\|MOUNT\)_SHIM=".*"/\1_SHIM=""/' 'tests/common.sh' \
- || die 'Could not sed tests/common.sh'
+ # Certain tests make use of LD_PRELOAD, which does not work in the portage
+ # sandbox. Most of these use the $WRITE_SHIM or $MOUNT_SHIM defined in
+ # commmon.sh. Some tests define their own. Disable all of these so the
+ # tests in question get skipped.
+ sed -i 's/^\(WRITE\|MOUNT\|PREAD\|UBI\)_SHIM=".*"/\1_SHIM=""/' \
+ 'tests/common.sh' \
+ 'tests/222_block_cache_pread_count.test' \
+ 'tests/226_ubi_volume_write_success.test' \
+ || die 'Could not disable test shims'
# set VERIFY_SYSCALLS_DISABLE, to disable tracing
VERIFY_SYSCALLS_DISABLE="" emake check
diff --git a/dev-embedded/idf-component-manager/idf-component-manager-3.1.2.ebuild b/dev-embedded/idf-component-manager/idf-component-manager-3.1.2-r1.ebuild
index ff427fa45f77..2e0594cd13f1 100644
--- a/dev-embedded/idf-component-manager/idf-component-manager-3.1.2.ebuild
+++ b/dev-embedded/idf-component-manager/idf-component-manager-3.1.2-r1.ebuild
@@ -27,7 +27,7 @@ BDEPEND="
"
RDEPEND="
- dev-embedded/esp-pylib[${PYTHON_USEDEP}]
+ dev-python/esp-pylib[${PYTHON_USEDEP}]
dev-python/cachecontrol[${PYTHON_USEDEP}]
dev-python/click[${PYTHON_USEDEP}]
dev-python/colorama[${PYTHON_USEDEP}]
diff --git a/dev-libs/hidapi-hotplug/Manifest b/dev-libs/hidapi-hotplug/Manifest
new file mode 100644
index 000000000000..78585be3c9da
--- /dev/null
+++ b/dev-libs/hidapi-hotplug/Manifest
@@ -0,0 +1 @@
+DIST hidapi-hotplug-0.15.0.tar.gz 389797 BLAKE2B b484b857a3e6f54334df0084278bff05fab2ce0fc4c7696bd905bb09febc9e7cf6de22db516873179abd001115963e7c4404cf8439e0cb7ec6268757df99d30d SHA512 a256c9d7f71512f0327abf75754a8ff6125a30cecf64f9f652dc60abb8a67c0545278af912d64a7dc03080d65e59c28b590d30eae6caf2cd9b430bb5be149943
diff --git a/dev-libs/hidapi-hotplug/hidapi-hotplug-0.15.0.ebuild b/dev-libs/hidapi-hotplug/hidapi-hotplug-0.15.0.ebuild
new file mode 100644
index 000000000000..e9eeff36c2ea
--- /dev/null
+++ b/dev-libs/hidapi-hotplug/hidapi-hotplug-0.15.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+DESCRIPTION="Fork of dev-libs/hidapi with hotplug support"
+HOMEPAGE="https://codeberg.org/OpenRGB/hidapi-hotplug"
+SRC_URI="https://codeberg.org/OpenRGB/hidapi-hotplug/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="|| ( BSD GPL-3 HIDAPI )"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc"
+
+DEPEND="
+ virtual/libusb:1[${MULTILIB_USEDEP}]
+ virtual/libudev:0[${MULTILIB_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="doc? ( app-text/doxygen )"
+
+multilib_src_configure() {
+ append-lfs-flags
+
+ local mycmakeargs=(
+ # Doesn't do anything as of 0.14.0
+ -DHIDAPI_WITH_TESTS=OFF
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ if use doc && multilib_is_native_abi; then
+ cd "${S}/doxygen" || die
+ doxygen Doxyfile || die
+ fi
+}
+
+multilib_src_install() {
+ cmake_src_install
+
+ if use doc && multilib_is_native_abi; then
+ local HTML_DOCS=( "${S}/doxygen/html/." )
+ fi
+ einstalldocs
+}
diff --git a/dev-embedded/esp-pylib/metadata.xml b/dev-libs/hidapi-hotplug/metadata.xml
index 6e8632a248e2..6e8108963732 100644
--- a/dev-embedded/esp-pylib/metadata.xml
+++ b/dev-libs/hidapi-hotplug/metadata.xml
@@ -2,8 +2,12 @@
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>stkw0@disroot.org</email>
- <name>David Roman</name>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>alexey+gentoo@asokolov.org</email>
+ <name>Alexey Sokolov</name>
</maintainer>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/dev-libs/hyprland-protocols/Manifest b/dev-libs/hyprland-protocols/Manifest
index a15c9ae1f9d8..b676ac841c29 100644
--- a/dev-libs/hyprland-protocols/Manifest
+++ b/dev-libs/hyprland-protocols/Manifest
@@ -1 +1,2 @@
DIST hyprland-protocols-0.7.0.tar.gz 11543 BLAKE2B 5c6d21acdcb203002de503149ee3acb53e407dc35afc78890eb3d1371520981ed9255503574d93eaa9e2529d531ecfca8bf5a749490a280528ebdbbed49d474d SHA512 809016a2d25b6cd91befc34d89c4acc3c1fce5628cac490a149f3aa5b413b680cecb4c66e86e59e02c55c2a3cfee2be911cd26c55910527e02e6983245a481a5
+DIST hyprland-protocols-0.7.1.tar.gz 11621 BLAKE2B cd0e4423bf3b2531fc22e467ec9e26981849d58b4d15d09193dded6a193992cc2e5fb9ab80752afcdac57a2ac929671ed2b2943334396b2a63fada60a526afc2 SHA512 7d4eb5e9e21f38bb6d632a85ec1727154ff7f9c5171b0d62d0f11ea0905b8fc2e3ced2a4a4f602ecbeae18d2de9eb6f1c051a38263c24f878379cee699a2ef59
diff --git a/dev-libs/hyprland-protocols/hyprland-protocols-0.7.1.ebuild b/dev-libs/hyprland-protocols/hyprland-protocols-0.7.1.ebuild
new file mode 100644
index 000000000000..3f516e6226e6
--- /dev/null
+++ b/dev-libs/hyprland-protocols/hyprland-protocols-0.7.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Wayland protocol extensions for Hyprland"
+HOMEPAGE="https://github.com/hyprwm/hyprland-protocols"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/hyprwm/${PN^}.git"
+else
+ SRC_URI="https://github.com/hyprwm/${PN^}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2)"
+
+BDEPEND="
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+"
diff --git a/dev-libs/kirigami-addons/Manifest b/dev-libs/kirigami-addons/Manifest
index b64d9255d657..d9ae965ce0d1 100644
--- a/dev-libs/kirigami-addons/Manifest
+++ b/dev-libs/kirigami-addons/Manifest
@@ -1,2 +1,3 @@
DIST kirigami-addons-1.12.1.tar.xz 2815592 BLAKE2B 4635e756e7c463b0d7c091db2714a23cf0a005666abf05063be96a0221b4147ec3d701f1b1366014769821fea6f55f9e84ed4aa899b222adccd5b2870a10e267 SHA512 365021b896c8a6ad7bfc1e98ff554040bdc50c109e25b362e8e4dc9219b721cf68092d0cef5b64884c9cee6367d65377621cccd0a9fdd8a79a515c739b136c2d
DIST kirigami-addons-1.13.1.tar.xz 3023492 BLAKE2B 026f56a978b079cb85c3273bcf547dbb84cb783d791a9dd8b88296abac824d94951ddf80e37f01706be0b5a1236456f512749dcda6eb0672db50c1754b3fb4bd SHA512 be7499358b5a30ca44e50b8579a7fbf69569c42cc4bfb28473f05444f534548d301997f4608b3c2ab68bef22e56cbf8b21c474949125d116ac945b7357ca51f8
+DIST kirigami-addons-1.14.0.tar.xz 3068160 BLAKE2B 58d538d2d52b0d027b94cec2e20eebff3d61713fcda60dbb6e95e654bfd2a08c6667cf9c7d536f8314b33cc2bfff321914184995b91ce4ec186b20695dea1aa0 SHA512 46067606afa0c3084f46a3e421b04f0dc51c3105289e24991bb7340d6055592c1de86983635be4fc6375bad5c975def8c378b74bfcd9451b22376ec0306a5740
diff --git a/dev-libs/kirigami-addons/kirigami-addons-1.14.0.ebuild b/dev-libs/kirigami-addons/kirigami-addons-1.14.0.ebuild
new file mode 100644
index 000000000000..f55fee8ab698
--- /dev/null
+++ b/dev-libs/kirigami-addons/kirigami-addons-1.14.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2021-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: ECMGenerateQDoc
+ECM_TEST="true"
+KFMIN=6.27.0
+QTMIN=6.11.2
+inherit ecm kde.org
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="Visual end user components for Kirigami-based applications"
+HOMEPAGE="https://invent.kde.org/libraries/kirigami-addons"
+
+LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) LGPL-2.1+"
+SLOT="6"
+IUSE=""
+
+# would profit from VIRTUALX_REQUIRED=test, but then still requires
+# org.qt-project.qt.mediaplayer service and fails, bug 911186
+RESTRICT="test"
+
+COMMON_DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[gui]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcolorscheme-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+"
+RDEPEND="${COMMON_DEPEND}
+ >=dev-qt/qtmultimedia-${QTMIN}:6[qml]
+ >=kde-frameworks/qqc2-desktop-style-${KFMIN}:6
+ kde-plasma/libplasma:6=
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ >=dev-qt/qtmultimedia-${QTMIN}:6[qml]
+ x11-themes/sound-theme-freedesktop
+ )
+"
diff --git a/dev-python/filelock/Manifest b/dev-python/filelock/Manifest
index 04a13c8de628..d25be9cdb46e 100644
--- a/dev-python/filelock/Manifest
+++ b/dev-python/filelock/Manifest
@@ -8,3 +8,5 @@ DIST filelock-3.32.6.tar.gz 225172 BLAKE2B f077ad228f28f6080cff6487b10d187891745
DIST filelock-3.32.6.tar.gz.provenance 9904 BLAKE2B f3509822beb0993f3050ac404835a62a1beec9f98ca4f28202b237daf7f1db0fa8ac2803d822138a140761229d9334928f85e54583d7aaefc7bafdfca607f51e SHA512 6a30896d8c8166f19be54362a7e278922d6104f8e5093dca36e25d9fb7331f7918201b19919c56feef9005e6a62fd2766b9ebea371c8fff419b63f0634c419d6
DIST filelock-3.32.7.tar.gz 225154 BLAKE2B 8235b3db8218f46b0bcc9287dc2a5f93f81a08a5d1fb26014ea3bdd980c259f76dd35f3f26c7302d08d96dcd82997b6082b4ec9d44c5b778aeaf6f6e2835b875 SHA512 ce49bd21ab60aa2711daa467239aea7ad054e7be2e1d638dbe6de8962b7f2ca5a8dca4dba247098c89b0306700e2c45f64359833319afb1010025cd6362f8e12
DIST filelock-3.32.7.tar.gz.provenance 9669 BLAKE2B 145e8c0f37a7ae187771f8c82199404dc5d1677b83faffd264f2d69afdba1d390dd28aa63d8fdb242296dbe130c8c7085cd59186bedfa20b5397b244c670832c SHA512 5db27b4f9a3fd138353d4504eb621e6a6bb7ba24038499f354606dab5825aaddb241c859713760d974a28ccf1cf5bdc18f6a7e792e497f03dbc136f03f41ca09
+DIST filelock-4.0.0.tar.gz 237935 BLAKE2B a92a2c040b3211c3d0687e0beb0a3e063658194a3b068ee3ba152abfd3315dec438af5a8e4110c2e01f799a3cebfec8a52e0d22a34168fa17f5b282e7f9a35fe SHA512 88733e8d25aafae1817a6755863050a0120839218d3009e96317eda0b541ce4351f34a5e41bc965eb16e6b792a162208b7d16de8be37c7918b53ccedcd92d347
+DIST filelock-4.0.0.tar.gz.provenance 9649 BLAKE2B 89959f7e12cafc84bec9cbc150259ae0302930841263ce43c3a3055406a37766ef262a19e8f8aaae19812b2e197da76365c5f72e109b0234ae84052dcd0c8aef SHA512 6030feefc34af7638ae0ad7f023a978fe02bf990916a9e5434e9aaea3943c3c58552f1d8bf44adb7d9c73464a01c1f38e911488e9292dd690c96fd53845594c4
diff --git a/dev-python/filelock/filelock-4.0.0.ebuild b/dev-python/filelock/filelock-4.0.0.ebuild
new file mode 100644
index 000000000000..51d73c002e05
--- /dev/null
+++ b/dev-python/filelock/filelock-4.0.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2018-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/tox-dev/filelock
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A platform independent file lock for Python"
+HOMEPAGE="
+ https://github.com/tox-dev/filelock/
+ https://pypi.org/project/filelock/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,mock,timeout} )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # TODO
+ tests/soft_rw/test_soft_rw_async.py::test_async_leaked_singleton_is_closed_on_teardown
+ tests/soft_rw/test_soft_rw_sync.py::test_leaked_acquired_singleton_is_closed_on_teardown
+)
diff --git a/dev-python/gst-python/gst-python-1.26.11.ebuild b/dev-python/gst-python/gst-python-1.26.11.ebuild
index 9bfb3d37b86c..c830ee293a0a 100644
--- a/dev-python/gst-python/gst-python-1.26.11.ebuild
+++ b/dev-python/gst-python/gst-python-1.26.11.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="LGPL-2+"
SLOT="1.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
diff --git a/dev-python/hcloud/Manifest b/dev-python/hcloud/Manifest
index 3a0fa1c4f4be..2bd429da926d 100644
--- a/dev-python/hcloud/Manifest
+++ b/dev-python/hcloud/Manifest
@@ -1,2 +1,3 @@
DIST hcloud-python-2.23.0.gh.tar.gz 151968 BLAKE2B f5f0468a5c68192e1813bb5f08b0bda523987b67e39b794989e57f1e0f0506075398990443fffd4df87c5b98d2fc22a020e1b1583d27f26d23c949a331ab8462 SHA512 eebfd11411f2edda739997aa3194f23621c065e75444605f71dcbfcc3dd7dd6ee0e1a351738f5a75d2bc87d57bd288af30b4efa6cccb9cf00751e96424b5314c
DIST hcloud-python-2.24.0.gh.tar.gz 152444 BLAKE2B 22463dae842f98e6b594c8bd04e3aa5ff1b1a48cfc8c161acf937da31b4fb6119f82ce72aa02224c757045d6b363e1316359356676066e93301803e36e5a7112 SHA512 1c9cbb03619f8f34eb0de354893d443707c855375571ea263df1ac19c4f55cae3fee474d6f28eb16260318d150b16d6977c4191d5c87d48a239eb33cf1fad276
+DIST hcloud-python-2.25.1.gh.tar.gz 153888 BLAKE2B e135a5f91a4062a1d00c0e18262198e3fdda40056994920552362853c6c892a68ea557edca0beb6c9358d90338e898d2e5c217b7aaec0f6f78e02747355d0677 SHA512 61ae9f14fb01c53c45c48566c01af9f598a29352c9def9810739fc0377b0304ca1cf4c91995618f3f6e9ab4819f95bcb153279717655d2dd4dafe119a07aa596
diff --git a/dev-python/hcloud/hcloud-2.25.1.ebuild b/dev-python/hcloud/hcloud-2.25.1.ebuild
new file mode 100644
index 000000000000..9b729306ac26
--- /dev/null
+++ b/dev-python/hcloud/hcloud-2.25.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_P=hcloud-python-${PV}
+DESCRIPTION="Official Hetzner Cloud python library"
+HOMEPAGE="
+ https://github.com/hetznercloud/hcloud-python/
+ https://pypi.org/project/hcloud/
+"
+# sdist is missing doc assets as of 1.19.0
+# https://github.com/hetznercloud/hcloud-python/pull/183
+SRC_URI="
+ https://github.com/hetznercloud/hcloud-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.7.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/sphinx-rtd-theme
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Integration tests need docker:
+ # https://github.com/hetznercloud/hcloud-python/blob/master/.travis.yml#L16
+ tests/integration
+)
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/idna/Manifest b/dev-python/idna/Manifest
index c9bd616c3587..e52d61f9d968 100644
--- a/dev-python/idna/Manifest
+++ b/dev-python/idna/Manifest
@@ -2,3 +2,5 @@ DIST idna-3.18.tar.gz 196711 BLAKE2B d816787698eaa0002ab2b7314e1ef82934f74bed70d
DIST idna-3.18.tar.gz.provenance 9495 BLAKE2B 728c5dba519fd7716fd71c566073f2482ea5971efab097c03ef2998f7f9dd3fecaa87562409c149d579289913d52e1a303a8fb0abdcbd411600bb66dc685de9a SHA512 a02d92639bcf09a0ff8b16c4f1c95aa811c766257f74a31d34b48e1bee92be347251a77a4ea014df0b61c3f7f0b219585b0eb6bd054e25deb56a42b5836fc884
DIST idna-3.19.tar.gz 215237 BLAKE2B 180ec174fd5992cfb4a207c48c3ddcce9000bbdd87a8df897e5453dfd93c07a19d96e6ce0e08aaca40ef85ea4a7887cbbe006e636107a493281f0c5ed6dc21c8 SHA512 9d80b04098d59eb2f2c82a91d1b8153aa5cf135dafc9f792b69d5efee05a1b7f441a907286741f85992a67b175e2910b2233bdf7492c61a3dc204ff74aed3aca
DIST idna-3.19.tar.gz.provenance 9309 BLAKE2B 96f914967234a39eb4bf028fc5e51cd8d4ff3a1bbfcbdf0095fae63ea417e5857f9621eebb549ba00643cd0d250fa52ae16dc72fab329fd83c78ba24b12e2a42 SHA512 5990aea65ca005c0ef5702c2c13e90b03bd83af37d86fda1985a44c7c89e9aed70a101ae5a1bec9473cdae7de69714a5e366bdaa5e2f4363df0fe12124de10e0
+DIST idna-3.20.tar.gz 216463 BLAKE2B ad86f998c08f62e62b5457b19aded5c2a03305c670f1dc58810d51b74a513a37311ef24295663e9557dd83c7dd54a79ecd34431d6de267cc36deb07017bbab69 SHA512 06710a742decc31d14e9007153e78b961c13ff85fc43b02cfa80d5084ff448567736f45fcb9dd72a677d22ff950165bb7b90e52d602180c16ecd1e0c10f7d635
+DIST idna-3.20.tar.gz.provenance 9125 BLAKE2B f1bd0be400f4c454942c028e08cf2045cc3e5168427f453c1093a6437d1086bd51545d7bb4da6a9ba377add70895ed40544f0033a4f01be2ac13d384f106575c SHA512 cd72190e6686f53f64c75dfc43f773d0a8bef0a879af1f44757be9c82c426e7b20a6c18be6d5dbaf292044dfc6fb84dd9d3f7ee6325074aeb94c9dbea9e6661d
diff --git a/dev-python/idna/idna-3.20.ebuild b/dev-python/idna/idna-3.20.ebuild
new file mode 100644
index 000000000000..973242b19d7b
--- /dev/null
+++ b/dev-python/idna/idna-3.20.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit-core
+PYPI_VERIFY_REPO=https://github.com/kjd/idna
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Internationalized Domain Names in Applications (IDNA)"
+HOMEPAGE="
+ https://github.com/kjd/idna/
+ https://pypi.org/project/idna/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest
index 06ef20489e84..7e2b28a278ab 100644
--- a/dev-python/pdm/Manifest
+++ b/dev-python/pdm/Manifest
@@ -1,2 +1,2 @@
-DIST pdm-2.29.0.tar.gz 2707949 BLAKE2B db0bd4f076b20424555ff929ad4a76988c1ca41236d1d906a8a8c386a98955de2dd8b87439340a7fb785c4b4959a640a37fd771e7233fe53c0dd45eedaeb790e SHA512 81ab404adf5bfd2f9be8b016d2cb4f0cbc32bf38aab1b4c4b999e7a29404bf3fa53fcdfb07793498d056260a16ef104bb2ee6fe8cda77ebaf5ceb7eaef276560
DIST pdm-2.29.1.tar.gz 2713906 BLAKE2B d610993a0120f2517aa6c575f8fd9754552e1b5895f8765d58051733ac9c9d7df3de549d3c96ea04b03f3177b32914a3a725c0aee324a2ed52b47e7b955ef4ca SHA512 38d2924f0933cbb32468950bdeb4866d8c49d22f34dbcae081d9dae7f84eedae22535a9c39f2c65457abe9b9bad828050fa6808ac8940ed46da9de63ef0a254f
+DIST pdm-2.29.2.tar.gz 2714556 BLAKE2B 5c348e415bda6d709af2e2dcf58bf564ee7fabf684d217083abdb5459736dcfb457ee7b439c415700e0cea782730c88252fcf48f27fbea2b1b0d64fcb1f6b4b7 SHA512 13751cb12b2b6353e1fdc0bfe6f388f797c2147960ddc668af906ac8b92c36295ff81e077604eec00ca3c440220d1cf770161b2e0a6d6e0dc453d59700cb5856
diff --git a/dev-python/pdm/pdm-2.29.0.ebuild b/dev-python/pdm/pdm-2.29.2.ebuild
index 818e9190aa4e..f853dc5fa0e7 100644
--- a/dev-python/pdm/pdm-2.29.0.ebuild
+++ b/dev-python/pdm/pdm-2.29.2.ebuild
@@ -80,6 +80,10 @@ python_test() {
# TODO
tests/test_formats.py::test_export_from_pylock_not_empty
)
+ local EPYTEST_IGNORE=(
+ # requires missing tasks file, probably irrelevant to us
+ tests/test_doc_generation.py
+ )
epytest -m "not network and not integration and not path"
}
diff --git a/dev-python/pycurl/files/pycurl-7.47.0-except.patch b/dev-python/pycurl/files/pycurl-7.47.0-except.patch
new file mode 100644
index 000000000000..d969055ab33a
--- /dev/null
+++ b/dev-python/pycurl/files/pycurl-7.47.0-except.patch
@@ -0,0 +1,51 @@
+From 1d028bbb1a1811e976efa8262d713485b70dc437 Mon Sep 17 00:00:00 2001
+From: Scott Talbert <swt@techie.net>
+Date: Thu, 17 Sep 2026 11:18:02 -0400
+Subject: [PATCH 2/3] Preserve pending exception across CurlMulti dealloc
+ cleanup
+
+do_multi_dealloc() can run while an exception is already propagating,
+e.g. when a CurlMulti subclass's __init__ rejects its arguments: the
+freshly constructed object's refcount drops to zero and it is torn
+down immediately, before the TypeError finishes unwinding. The
+cleanup in util_multi_detach_easies() calls back into Python (via
+PySequence_List() on easy_object_refs, and close() on any attached
+easy handles), which must not run with that exception still set.
+
+On a Python interpreter built with assertions enabled, this trips
+_Py_CheckSlotResult and aborts the process (fixes #1071). Save and
+restore the pending exception around the dealloc cleanup, matching
+the existing pattern in easycb.c.
+---
+ src/multi.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/src/multi.c b/src/multi.c
+index 170bfa098..ae4564116 100644
+--- a/src/multi.c
++++ b/src/multi.c
+@@ -216,6 +216,15 @@ util_multi_detach_easies(CurlMultiObject *self, int close_handles, int swallow_e
+ PYCURL_INTERNAL void
+ do_multi_dealloc(CurlMultiObject *self)
+ {
++ /* tp_dealloc can run while an exception is propagating (e.g. when
++ * __init__ of a subclass rejects our arguments and the freshly
++ * constructed object is immediately discarded). The cleanup below
++ * calls back into Python (iterating easy_object_refs, calling the
++ * easy objects' close() method), which must not observe that
++ * exception, so stash it for the duration. */
++ PyObject *exc_type, *exc_val, *exc_tb;
++ PyErr_Fetch(&exc_type, &exc_val, &exc_tb);
++
+ PyObject_GC_UnTrack(self);
+ Py_TRASHCAN_BEGIN(self, do_multi_dealloc);
+
+@@ -235,6 +244,8 @@ do_multi_dealloc(CurlMultiObject *self)
+
+ CurlMulti_Type.tp_free(self);
+ Py_TRASHCAN_END
++
++ PyErr_Restore(exc_type, exc_val, exc_tb);
+ }
+
+
diff --git a/dev-python/pycurl/pycurl-7.47.0.ebuild b/dev-python/pycurl/pycurl-7.47.0.ebuild
index b05557df4350..df64dd7b9e70 100644
--- a/dev-python/pycurl/pycurl-7.47.0.ebuild
+++ b/dev-python/pycurl/pycurl-7.47.0.ebuild
@@ -6,7 +6,6 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_VERIFY_REPO=https://github.com/pycurl/pycurl
-# broken assertions with py3.12
PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1 pypi toolchain-funcs
@@ -52,13 +51,19 @@ BDEPEND="
EPYTEST_PLUGINS=( flaky )
: ${EPYTEST_TIMEOUT:=120}
+EPYTEST_XDIST=1
distutils_enable_tests pytest
python_prepare_all() {
- # docs installed into the wrong directory
- sed -e "/setup_args\['data_files'\] = /d" -i setup.py || die
+ local PATCHES=(
+ # https://github.com/pycurl/pycurl/pull/1072
+ "${FILESDIR}/${PN}-7.47.0-except.patch"
+ )
distutils-r1_python_prepare_all
+
+ # docs installed into the wrong directory
+ sed -e "/setup_args\['data_files'\] = /d" -i setup.py || die
}
python_configure_all() {
diff --git a/dev-python/pycurl/pycurl-7.48.0.ebuild b/dev-python/pycurl/pycurl-7.48.0.ebuild
index b71b7b57bf61..a904ea3f5926 100644
--- a/dev-python/pycurl/pycurl-7.48.0.ebuild
+++ b/dev-python/pycurl/pycurl-7.48.0.ebuild
@@ -6,8 +6,6 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_VERIFY_REPO=https://github.com/pycurl/pycurl
-# broken assertions with py3.12
-# https://github.com/pycurl/pycurl/issues/1071
PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1 pypi toolchain-funcs
@@ -53,13 +51,19 @@ BDEPEND="
EPYTEST_PLUGINS=( flaky )
: ${EPYTEST_TIMEOUT:=120}
+EPYTEST_XDIST=1
distutils_enable_tests pytest
python_prepare_all() {
- # docs installed into the wrong directory
- sed -e "/setup_args\['data_files'\] = /d" -i setup.py || die
+ local PATCHES=(
+ # https://github.com/pycurl/pycurl/pull/1072
+ "${FILESDIR}/${PN}-7.47.0-except.patch"
+ )
distutils-r1_python_prepare_all
+
+ # docs installed into the wrong directory
+ sed -e "/setup_args\['data_files'\] = /d" -i setup.py || die
}
python_configure_all() {
diff --git a/dev-python/pymysql/Manifest b/dev-python/pymysql/Manifest
index 9fa52ab77956..3ac04e412046 100644
--- a/dev-python/pymysql/Manifest
+++ b/dev-python/pymysql/Manifest
@@ -1,2 +1,3 @@
DIST PyMySQL-1.1.3.gh.tar.gz 91383 BLAKE2B 17be122beca17b4145b1587bd5f737f4093fce552f615381f84f586293980bf7abfb9dd4c26aef3d026f30238de5091ba6bc40b9d8bba7376d8956695f2c6d09 SHA512 7e16e7c93b239fdcacfdac4ddc19c4dbfdc084ae541ae4fd4b2b2c1bfba52c52b43860243aaaf2960068c6409de9da9456a0cae1768630ac518ab387d9491192
DIST PyMySQL-1.2.0.gh.tar.gz 93139 BLAKE2B 1ce119abe468d9d75641d54d6fa8e3025192b9eba22be2bcfa1de811347fba2a2fcb08e6211c53c582881c6067a4866547e0e4ea535b405b4ee4c0d19c09e7ef SHA512 4e4d7675c3cd14c5c9f1bfe51db671adb6cd609965127d54ba577fb5ee0e5ae222a6795a95a539070e0b6920c35d0e503ea9ffeab25ae2d3fa4e0b474467008e
+DIST PyMySQL-1.2.3.gh.tar.gz 96990 BLAKE2B a1d7928c67028a23268b5cca3bbd2606c73f699c4c8ebcb135f2f8736f392f5900385439b6e8076f4f11d6d71b172eb0d1c687aa4e70bd5b1ec0a59e72dcfb2e SHA512 a0703c9cc04c985cb26cd0d954ccc4f7b9ebed51ccd2f96ba03a0951061129026801f66b4fd16c663cebcf3c69df00bc111448b5770321d349ee97487ecf2476
diff --git a/dev-python/pymysql/pymysql-1.2.3.ebuild b/dev-python/pymysql/pymysql-1.2.3.ebuild
new file mode 100644
index 000000000000..950f4cb59af2
--- /dev/null
+++ b/dev-python/pymysql/pymysql-1.2.3.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_P="PyMySQL-${PV}"
+DESCRIPTION="Pure-Python MySQL Driver"
+HOMEPAGE="
+ https://github.com/PyMySQL/PyMySQL/
+ https://pypi.org/project/PyMySQL/
+"
+SRC_URI="
+ https://github.com/PyMySQL/PyMySQL/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# TODO: support other mysql variants
+BDEPEND="
+ test? (
+ dev-db/mariadb[server]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # do not support socket auth
+ tests/test_auth.py
+ # require some dialog plugin
+ pymysql/tests/test_connection.py::TestAuthentication::testDialogAuthThreeAttemptsQuestionsInstallPlugin
+ pymysql/tests/test_connection.py::TestAuthentication::testDialogAuthTwoQuestionsInstallPlugin
+)
+
+src_test() {
+ local -x USER=$(whoami)
+ local -x PATH="${BROOT}/usr/share/mariadb/scripts:${PATH}"
+
+ einfo "Creating mysql test instance ..."
+ mkdir -p "${T}"/mysql || die
+ mysql_install_db \
+ --no-defaults \
+ --auth-root-authentication-method=normal \
+ --basedir="${EPREFIX}/usr" \
+ --datadir="${T}"/mysql 1>"${T}"/mysqld_install.log || die
+
+ einfo "Starting mysql test instance ..."
+ # TODO: random port
+ mysqld \
+ --no-defaults \
+ --character-set-server=utf8 \
+ --bind-address=127.0.0.1 \
+ --port=43306 \
+ --pid-file="${T}"/mysqld.pid \
+ --socket="${T}"/mysqld.sock \
+ --datadir="${T}"/mysql 1>"${T}"/mysqld.log 2>&1 &
+
+ # wait for it to start
+ local i
+ for (( i = 0; i < 10; i++ )); do
+ [[ -S ${T}/mysqld.sock ]] && break
+ sleep 1
+ done
+ [[ ! -S ${T}/mysqld.sock ]] && die "mysqld failed to start"
+
+ einfo "Configuring test mysql instance ..."
+
+ # note: ed25519 was removed since it fails -- upstream README indicates
+ # it can fail if we used a different server version
+ mysql -uroot --socket="${T}"/mysqld.sock -s -e '
+ CREATE DATABASe test1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+ CREATE DATABASE test2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+ ' || die "Failed to create test databases"
+
+ cat > pymysql/tests/databases.json <<-EOF || die
+ [{
+ "host": "localhost",
+ "user": "root",
+ "password": "",
+ "database": "test1",
+ "use_unicode": true,
+ "local_infile": true,
+ "unix_socket": "${T}/mysqld.sock"
+ }, {
+ "host": "localhost",
+ "user": "root",
+ "password": "",
+ "database": "test2",
+ "unix_socket": "${T}/mysqld.sock"
+ }]
+ EOF
+
+ nonfatal distutils-r1_src_test
+ local ret=${?}
+
+ einfo "Stopping mysql test instance ..."
+ pkill -F "${T}"/mysqld.pid || die
+
+ [[ ${ret} -ne 0 ]] && die
+}
diff --git a/dev-python/pyrefly/Manifest b/dev-python/pyrefly/Manifest
index 795e53242a20..b9c6930b870a 100644
--- a/dev-python/pyrefly/Manifest
+++ b/dev-python/pyrefly/Manifest
@@ -336,10 +336,10 @@ DIST proc-macro2-1.0.107.crate 59588 BLAKE2B 91df0c573e3e1f09c1aeedcad0381cf1818
DIST psm-0.1.29.crate 25052 BLAKE2B a0eb792ec966bbcbf160ded67eb99de182bf50d5258bbe1a6825b1acc52f298078ab4cf5fc68834f890975ac7357f591b24e09babe1a8727c409f5f378c062b1 SHA512 87a8a62f109ed7cfd2ab442a9ec42b7223cda4cd7ab62aefbbe3d5afe59a206fb4aaaf5949dd63d42431ec0fd98c9be251f2a00540c910067dc2391c69076ec1
DIST pulldown-cmark-0.13.4.crate 155043 BLAKE2B 78a6de2dffbb66a4e64a2bf38a018c0ed894bb345f23a507ee92bc58abfdaf110ae9089e46085091801bf0d40a923f8442aa9e1ba05ffaecf1e5a9b6c42f77ad SHA512 99f4e4b95680a7c94d2d629e5e255b8d379cef2f25dd349628abd254781e81bc8d287fc7cd19f117c8f624b459b71507ed1ac61563465f612f19324086564a3b
DIST pulldown-cmark-escape-0.11.0.crate 6719 BLAKE2B 232d5e5efaa6c9b5ba140051e21cbc16b46b32fc40931bf434fe25c24fea5d8a39e47926a6256a826548081e246b4ae36c41c7449a866cdaf60037eb64ee0965 SHA512 b8244d6c93a983bcade5e1ff699f334aa72eb638b7e4d22cc746b713b1d0144e6c1eac243476362a77bfed37a3a13a6315ac8d57920dadee7d2734f4d96023e0
-DIST pyrefly-1.1.0.gh.tar.gz 31156810 BLAKE2B a4b05266685f8203a98afe8b93253d37f126e8c0bfb108d1383d5e870f59ba80ae053f228f7c63e0ad487410017e4430748d7b8c17979f87326b2a6ae0356f73 SHA512 b7780478002ff5d306344827516dc730b0e5848f480acfb7d27b7f566d3a20599b474a1b49389f504fe9781b7f30beb9b60daec6e0cea78a79757b8d87931a6d
DIST pyrefly-1.1.1.gh.tar.gz 31157058 BLAKE2B adc958d1fd4015df5ed85a07bbef88f0e6cc81f40161e4e891f2f85a7355373ace0212e1acdee338a075e3dbca4cb87cd0e9b7cb7a3f3b8725cb208849c4aed6 SHA512 35bbf8d7a3bbc408c8a2ecbd6793dd6787baf20af9fcf69b144cf45763c3d603d75c772e44ddec9154f560fab0b7ccbefc68adcc8549bc2626e5828083eaaf35
DIST pyrefly-1.2.0.gh.tar.gz 31612883 BLAKE2B 74fdcc5e32f32b13c32ffb074a682ad772cdfa8d0efa82605adf96ab932d59ac033e2dbd137f66fce8fcdf7357a7b032de7a3c8f6e58a54c3d83000fe5cc6276 SHA512 5c477cecc1b077635ff1f36703731fc4555685d3c8333d98118a168fa840d110d23d5f346b68804c8d7f47cd154e2790c4f7058137b68e930d25278a64028fbb
DIST pyrefly-1.3.0.gh.tar.gz 32304340 BLAKE2B 9db5ca6a433830d81ade742dbe2094706ad184d0fcc05684fe646716a6d3c02f66493f80732c641fa382a36e9a6c8a9234fa4d6fa579e3b21ffb1d78f1fb4351 SHA512 ca7fad80334d252ba7d545e2e3ceb0e12a94bc29dc9afcfe7bdbe3adc52c1fccd1aed13375e254103ce4e610033e8f57d69ccb9838433d01ee615e4024f62195
+DIST pyrefly-1.3.1.gh.tar.gz 32304229 BLAKE2B 349327072e1041896de02a00e80c067a05a64b007046c5a9e0d91b00437245f3f35dd188993341a59caaf1ac8c54228e92f61fa6115656bc70b9b8852b49bad9 SHA512 5c311af0008c282b57c1ad24cb53fd642f10312c383a443a7914b6dba7a971b3854b45f9927e0ef0fd4e1aee16166e0f8bb98131016468d3ce2e00e4b79f567f
DIST quote-1.0.45.crate 31564 BLAKE2B 1b2c2c3e6ebabfe10affa4c43ca0bfd1f52d8fd49e1df463e13e63a82de41272089c8e09e4c02e8a33cfee768ace26d4d42a50752de8fb5a776c59806139ad5d SHA512 df96ede01ebd0ed642b758bf1d0862d0e116fc2b3343e14edb657ce5438ccabe743dec4a0a40de4dee98c134d169af9aba459faadf9c7a832b26377e755d49b0
DIST quote-1.0.46.crate 31628 BLAKE2B b004131fc9942e278d3a89e9a68ea76098b94a488a4e5577074f59983809d92bb4803f759c47426a683191cc23bbe9783bbebbcbcaed6488d45a0e01b787cd36 SHA512 f51e65743b9f15b491d20bb6c3a0df921cfec29df8bafca36c9dde034b5117fe3f4eedcc258126c6cb1729be1ffde5fcf7e5b0fb0c3de4a618f46ab3cd803e77
DIST quote-1.0.47.crate 31622 BLAKE2B d912f17bdb5f2db29f5349e976e12da52db9d2197dd9900cb00e907d1e9b06ab177e9b020c1d53f6a6cd087e3a973aed5af63eac282da77792b2a6d6e1b35b07 SHA512 544f4324d425ae011905e0d1b52e367d4660bc34457b2f802af94e1def1e6c4e39ffba3beeb40d75753967d15b6dccce18fea273e7f3d46b63d5c89898d19441
diff --git a/dev-python/pyrefly/pyrefly-1.1.0.ebuild b/dev-python/pyrefly/pyrefly-1.3.1.ebuild
index a70c18e0b159..59d29813796c 100644
--- a/dev-python/pyrefly/pyrefly-1.1.0.ebuild
+++ b/dev-python/pyrefly/pyrefly-1.3.1.ebuild
@@ -1,19 +1,20 @@
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# Autogenerated by pycargoebuild 0.15.1
+# Autogenerated by pycargoebuild 0.16.0
EAPI=8
-RUST_MIN_VER="1.93"
+RUST_MIN_VER="1.96.0"
CRATES="
addr2line@0.25.1
adler2@2.0.1
- aho-corasick@1.1.4
+ aho-corasick@1.1.5
allocative@0.3.6
allocative_derive@0.3.6
allocator-api2@0.2.21
+ anes@0.1.6
anstream@0.6.21
anstream@1.0.0
anstyle-parse@0.2.7
@@ -21,12 +22,14 @@ CRATES="
anstyle-query@1.1.5
anstyle-wincon@3.0.11
anstyle@1.0.14
- anyhow@1.0.102
+ anyhow@1.0.104
append-only-vec@0.1.8
- arc-swap@1.9.1
- argfile@0.2.1
+ approx@0.5.1
+ ar_archive_writer@0.5.3
+ arc-swap@1.9.2
+ argfile@1.0.0
arrayref@0.3.9
- arrayvec@0.7.6
+ arrayvec@0.7.8
atomic@0.5.3
attribute-derive-macro@0.10.5
attribute-derive@0.10.5
@@ -34,53 +37,77 @@ CRATES="
backtrace-on-stack-overflow@0.3.0
base64@0.22.1
bitflags@1.3.2
- bitflags@2.13.0
- blake3@1.8.2
+ bitflags@2.13.1
+ blake3@1.8.6
block-buffer@0.10.4
+ block-buffer@0.12.1
bs58@0.5.1
- bstr@1.12.1
+ bstr@1.13.0
bumpalo@3.20.3
byteorder@1.5.0
- bytes@1.11.1
- capnp@0.25.5
+ bytes@1.12.1
+ capnp@0.25.6
+ cast@0.3.0
castaway@0.2.4
- cc@1.2.63
+ cc@1.4.5
cfg-if@1.0.4
- chacha20@0.10.0
+ cfg_aliases@0.2.2
+ chacha20@0.10.1
+ char_str@0.0.2
chrono@0.4.45
- clap@4.6.1
- clap_builder@4.6.0
- clap_derive@4.6.1
+ ciborium-io@0.2.2
+ ciborium-ll@0.2.2
+ ciborium@0.2.2
+ clap@4.6.6
+ clap_builder@4.6.6
+ clap_derive@4.6.4
clap_lex@1.1.0
+ cmov@0.5.4
+ codspeed-criterion-compat-walltime@5.0.1
+ codspeed-criterion-compat@5.0.1
+ codspeed@5.0.1
collection_literals@1.0.3
colorchoice@1.0.5
- compact_str@0.9.1
+ colored@3.1.1
+ compact_str@0.10.0
configparser@3.2.0
- console@0.16.1
+ console@0.16.4
console_error_panic_hook@0.1.7
- constant_time_eq@0.3.1
- convert_case@0.11.0
+ constant_time_eq@0.4.2
+ convert_case@0.10.0
+ convert_case@0.12.0
cpufeatures@0.2.17
cpufeatures@0.3.0
- crossbeam-channel@0.5.15
- crossbeam-deque@0.8.6
- crossbeam-epoch@0.9.18
- crossbeam-utils@0.8.21
+ criterion-plot@0.5.0
+ crossbeam-channel@0.5.16
+ crossbeam-deque@0.8.7
+ crossbeam-epoch@0.9.20
+ crossbeam-utils@0.8.22
+ crunchy@0.2.4
crypto-common@0.1.7
- ctor@1.0.7
+ crypto-common@0.2.1
+ ctor@1.0.13
+ ctutils@0.4.2
darling@0.23.0
darling_core@0.23.0
darling_macro@0.23.0
dashmap@6.2.1
+ defmt-macros@1.1.1
+ defmt-parser@1.0.0
+ defmt@1.1.1
deranged@0.5.8
derivative@2.2.0
derive-where@1.6.1
+ derive_more-impl@2.1.1
+ derive_more@2.1.1
diff@0.1.13
digest@0.10.7
- displaydoc@0.2.6
+ digest@0.11.3
+ displaydoc@0.2.7
+ drop_bomb@0.1.5
dupe@0.9.1
dupe_derive@0.9.1
- either@1.16.0
+ either@1.17.0
embedded-io@0.7.1
encode_unicode@1.0.0
enum-iterator-derive@1.5.0
@@ -88,107 +115,116 @@ CRATES="
equivalent@1.0.2
errno@0.3.14
faster-hex@0.6.1
- fastrand@2.4.1
+ fastrand@2.5.0
filetime@0.2.29
- find-msvc-tools@0.1.9
+ find-msvc-tools@0.1.12
foldhash@0.1.5
foldhash@0.2.0
form_urlencoded@1.2.2
- fs-err@2.11.0
+ fs-err@3.3.1
fsevent-sys@4.1.0
- futures-channel@0.3.32
- futures-core@0.3.32
- futures-executor@0.3.32
- futures-io@0.3.32
- futures-macro@0.3.32
- futures-sink@0.3.32
- futures-task@0.3.32
- futures-util@0.3.32
+ futures-channel@0.3.34
+ futures-core@0.3.34
+ futures-executor@0.3.34
+ futures-io@0.3.34
+ futures-macro@0.3.34
+ futures-sink@0.3.34
+ futures-task@0.3.34
+ futures-util@0.3.34
futures@0.1.31
- futures@0.3.32
+ futures@0.3.34
fuzzy-matcher@0.3.7
fxhash@0.2.1
generic-array@0.14.7
- get-size-derive2@0.9.0
- get-size2@0.9.0
+ get-size-derive2@0.10.3
+ get-size2@0.10.3
getopts@0.2.24
getrandom@0.2.17
getrandom@0.3.4
getrandom@0.4.2
gimli@0.32.3
- glob@0.3.3
- globset@0.4.18
+ glob@0.3.4
+ globset@0.4.20
+ half@2.7.1
hashbrown@0.14.5
hashbrown@0.15.5
hashbrown@0.16.1
hashbrown@0.17.1
heck@0.5.0
+ hermit-abi@0.5.2
hex@0.4.3
- home@0.5.12
human_bytes@0.4.3
- icu_collections@2.2.0
- icu_locale_core@2.2.0
- icu_normalizer@2.2.0
- icu_normalizer_data@2.2.0
- icu_properties@2.2.0
- icu_properties_data@2.2.0
- icu_provider@2.2.0
+ hybrid-array@0.4.14
+ icu_collections@2.3.0
+ icu_locale_core@2.3.0
+ icu_normalizer@2.3.0
+ icu_normalizer_data@2.3.0
+ icu_properties@2.3.0
+ icu_properties_data@2.3.0
+ icu_provider@2.3.0
id-arena@2.3.0
ident_case@1.0.1
idna@1.1.0
idna_adapter@1.2.2
- ignore@0.4.26
+ ignore@0.4.33
index_vec@0.1.4
indexmap@2.14.0
- indicatif@0.18.4
- inotify-sys@0.1.5
- inotify@0.11.2
+ indicatif@0.18.6
+ inotify-sys@0.1.8
+ inotify@0.11.5
interpolator@0.5.0
- is-macro@0.3.7
+ is-macro@0.3.8
+ is-terminal@0.4.17
is_terminal_polyfill@1.70.2
- itertools@0.14.0
+ itertools@0.10.5
+ itertools@0.15.0
itoa@0.4.8
itoa@1.0.18
- jobserver@0.1.34
- js-sys@0.3.100
+ jiff-core@0.1.0
+ jiff-static@0.2.35
+ jiff@0.2.35
+ jobserver@0.1.35
+ js-sys@0.3.104
kqueue-sys@1.1.2
- kqueue@1.2.0
+ kqueue@1.2.1
lazy_static@1.5.0
leb128fmt@0.1.0
- libc@0.2.186
+ libc@0.2.189
libmimalloc-sys@0.1.49
- link-section@0.18.2
- linktime-proc-macro@0.2.0
+ link-section@0.19.3
+ linktime-proc-macro@0.2.3
linux-raw-sys@0.12.1
- linux-raw-sys@0.4.15
- litemap@0.8.2
+ litemap@0.8.3
lock_api@0.4.14
lock_free_hashtable@0.1.4
- log@0.4.32
- lsp-server@0.7.9
+ log@0.4.34
+ lsp-server@0.10.0
manyhow-macros@0.11.4
manyhow@0.11.4
maplit@1.0.2
matchers@0.2.0
- memchr@2.8.1
- memmap2@0.9.10
+ memchr@2.8.3
+ memmap2@0.9.11
memoffset@0.6.5
memory-stats@1.2.0
mimalloc@0.1.52
miniz_oxide@0.8.8
- mio@1.2.1
+ mio@1.2.2
nix@0.23.1
+ nix@0.31.3
notify-types@2.1.0
notify@8.2.0
- num-bigint@0.4.6
+ num-bigint@0.5.1
num-conv@0.2.2
- num-integer@0.1.46
+ num-integer@0.1.47
num-traits@0.2.19
object@0.37.3
+ object@0.39.1
once_cell@1.21.4
once_cell_polyfill@1.70.2
+ oorandom@11.1.5
ordermap@1.2.0
- os_str_bytes@7.1.1
+ os_str_bytes@7.2.1
parking_lot@0.12.5
parking_lot_core@0.9.12
parse-display-derive@0.8.2
@@ -203,40 +239,55 @@ CRATES="
phf_generator@0.11.3
phf_shared@0.11.3
pin-project-lite@0.2.17
- pkg-config@0.3.33
- portable-atomic@1.13.1
- potential_utf@0.1.5
+ pkg-config@0.3.34
+ plotters-backend@0.3.7
+ plotters-svg@0.3.7
+ plotters@0.3.7
+ portable-atomic-util@0.2.7
+ portable-atomic@1.14.0
+ potential_utf@0.1.6
powerfmt@0.2.0
ppv-lite86@0.2.21
pretty_assertions@1.4.1
prettyplease@0.2.37
proc-macro-utils@0.10.0
- proc-macro2@1.0.106
+ proc-macro2@1.0.107
+ psm@0.1.29
pulldown-cmark-escape@0.11.0
pulldown-cmark@0.13.4
quote-use-macros@0.8.4
quote-use@0.8.4
- quote@1.0.45
+ quote@1.0.47
r-efi@5.3.0
r-efi@6.0.0
- rand@0.10.1
- rand@0.8.6
+ rand@0.10.2
+ rand@0.8.8
rand_chacha@0.3.1
rand_core@0.10.1
rand_core@0.6.4
rayon-core@1.13.0
rayon@1.12.0
redox_syscall@0.5.18
- ref-cast-impl@1.0.25
- ref-cast@1.0.25
- regex-automata@0.4.14
+ ref-cast-impl@1.0.27
+ ref-cast@1.0.27
+ regex-automata@0.4.18
regex-syntax@0.7.5
- regex-syntax@0.8.10
- regex@1.12.3
- rustc-demangle@0.1.27
- rustc-hash@2.1.2
- rustix@0.38.44
+ regex-syntax@0.8.11
+ regex@1.13.1
+ ruff_annotate_snippets@0.0.11
+ ruff_cache@0.0.11
+ ruff_diagnostics@0.0.11
+ ruff_notebook@0.0.11
+ ruff_python_ast@0.0.11
+ ruff_python_parser@0.0.11
+ ruff_python_trivia@0.0.11
+ ruff_source_file@0.0.11
+ ruff_text_size@0.0.11
+ rustc-demangle@0.1.28
+ rustc-hash@2.1.3
+ rustc_version@0.4.1
rustix@1.1.4
+ rustversion@1.0.23
ryu@0.2.8
ryu@1.0.23
same-file@1.0.6
@@ -244,62 +295,65 @@ CRATES="
seahash@4.1.0
semver@1.0.28
serde-wasm-bindgen@0.6.5
- serde@1.0.228
+ serde@1.0.229
serde_bser@0.4.0
serde_bytes@0.11.19
- serde_core@1.0.228
- serde_derive@1.0.228
- serde_json@1.0.150
+ serde_core@1.0.229
+ serde_derive@1.0.229
+ serde_json@1.0.151
serde_jsonrc@0.1.0
- serde_repr@0.1.20
+ serde_repr@0.1.21
serde_spanned@1.1.1
- serde_with@3.21.0
- serde_with_macros@3.21.0
+ serde_with@3.22.0
+ serde_with_macros@3.22.0
sha2@0.10.9
sharded-slab@0.1.7
shlex@2.0.1
signal-hook-registry@1.4.8
siphasher@1.0.3
slab@0.4.12
- smallvec@1.15.1
- socket2@0.6.4
+ smallvec@1.15.2
+ socket2@0.6.5
stable_deref_trait@1.2.1
+ stacker@0.1.25
starlark_map@0.14.2
static_assertions@1.1.0
static_interner@0.1.3
+ statrs@0.18.0
strong_hash@0.1.0
strong_hash_derive@0.1.0
strsim@0.11.1
structmeta-derive@0.2.0
structmeta@0.2.0
- subtle@2.6.1
syn@1.0.109
- syn@2.0.117
+ syn@2.0.119
+ syn@3.0.3
synstructure@0.13.2
tar@0.4.46
tempfile@3.27.0
terminal_size@0.4.4
- thin-vec@0.2.18
+ thin-vec@0.2.19
thiserror-impl@1.0.69
- thiserror-impl@2.0.18
+ thiserror-impl@2.0.20
thiserror@1.0.69
- thiserror@2.0.18
- thread_local@1.1.9
- tikv-jemalloc-sys@0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7
- tikv-jemallocator@0.6.1
- time-core@0.1.8
- time@0.3.47
- tinystr@0.8.3
- tinyvec@1.11.0
+ thiserror@2.0.20
+ thread_local@1.1.10
+ tikv-jemalloc-sys@0.7.1+5.3.1-0-g81034ce1f1373e37dc865038e1bc8eeecf559ce8
+ tikv-jemallocator@0.7.0
+ time-core@0.1.9
+ time@0.3.55
+ tinystr@0.8.4
+ tinytemplate@1.2.1
+ tinyvec@1.12.0
tinyvec_macros@0.1.1
- tokio-macros@2.7.0
+ tokio-macros@2.7.2
tokio-util@0.6.10
- tokio@1.52.3
- toml@1.1.2+spec-1.1.0
+ tokio@1.53.1
+ toml@1.1.4+spec-1.1.0
toml_datetime@1.1.1+spec-1.1.0
- toml_edit@0.25.12+spec-1.1.0
- toml_parser@1.1.2+spec-1.1.0
- toml_writer@1.1.1+spec-1.1.0
+ toml_edit@0.25.13+spec-1.1.0
+ toml_parser@1.1.3+spec-1.1.0
+ toml_writer@1.1.2+spec-1.1.0
tracing-attributes@0.1.31
tracing-core@0.1.36
tracing-subscriber@0.3.23
@@ -314,35 +368,39 @@ CRATES="
unicode_names2@1.3.0
unicode_names2_generator@1.3.0
unit-prefix@0.5.2
+ unscanny@0.1.0
url@2.5.8
utf8_iter@1.0.4
utf8parse@0.2.2
- uuid-rng-internal@1.23.3
- uuid@1.23.3
+ uuid-rng-internal@1.24.1
+ uuid@1.24.1
+ uv-cache-key@0.0.76
+ uv-pep440@0.0.76
+ uv-redacted@0.0.76
valuable@0.1.1
vec1@1.12.1
version_check@0.9.5
walkdir@2.5.0
wasi@0.11.1+wasi-snapshot-preview1
- wasip2@1.0.3+wasi-0.2.9
+ wasip2@1.0.4+wasi-0.2.12
wasip3@0.4.0+wasi-0.3.0-rc-2026-01-06
- wasm-bindgen-macro-support@0.2.123
- wasm-bindgen-macro@0.2.123
- wasm-bindgen-shared@0.2.123
- wasm-bindgen@0.2.123
+ wasm-bindgen-macro-support@0.2.127
+ wasm-bindgen-macro@0.2.127
+ wasm-bindgen-shared@0.2.127
+ wasm-bindgen@0.2.127
wasm-encoder@0.244.0
wasm-metadata@0.244.0
wasmparser@0.244.0
watchman_client@0.9.0
+ web-sys@0.3.104
web-time@1.1.0
- which@4.4.2
+ which@8.0.5
winapi-i686-pc-windows-gnu@0.4.0
winapi-util@0.1.11
winapi-x86_64-pc-windows-gnu@0.4.0
winapi@0.3.9
windows-link@0.2.1
windows-sys@0.52.0
- windows-sys@0.59.0
windows-sys@0.60.2
windows-sys@0.61.2
windows-targets@0.52.6
@@ -371,20 +429,20 @@ CRATES="
wit-bindgen@0.57.1
wit-component@0.244.0
wit-parser@0.244.0
- writeable@0.6.3
+ writeable@0.6.4
xattr@1.6.1
- xxhash-rust@0.8.15
+ xxhash-rust@0.8.18
yansi@1.0.1
yoke-derive@0.8.2
yoke@0.8.3
- zerocopy-derive@0.8.50
- zerocopy@0.8.50
+ zerocopy-derive@0.8.56
+ zerocopy@0.8.56
zerofrom-derive@0.1.7
zerofrom@0.1.8
- zerotrie@0.2.4
- zerovec-derive@0.11.3
- zerovec@0.11.6
- zmij@1.0.21
+ zerotrie@0.2.5
+ zerovec-derive@0.11.5
+ zerovec@0.11.8
+ zmij@1.0.23
zstd-safe@7.2.4
zstd-sys@2.0.16+zstd.1.5.7
zstd@0.13.3
@@ -392,17 +450,7 @@ CRATES="
declare -A GIT_CRATES=(
[backtrace]='https://github.com/rust-lang/backtrace-rs;df979dcf80027eb047d7bb9e0874710c15009f31;backtrace-rs-%commit%'
- [lsp-types]='https://github.com/astral-sh/lsp-types;e15db0593f0ecbbd80599c3f5880e4bf5da1ca0c;lsp-types-%commit%'
- [ruff_annotate_snippets]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_annotate_snippets'
- [ruff_cache]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_cache'
- [ruff_diagnostics]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_diagnostics'
- [ruff_notebook]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_notebook'
- [ruff_python_ast]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_python_ast'
- [ruff_python_parser]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_python_parser'
- [ruff_python_trivia]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_python_trivia'
- [ruff_source_file]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_source_file'
- [ruff_text_size]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_text_size'
- [rustversion]='https://github.com/fbsource/rustversion;3f072e049635b7463275fc4edebbbed3840d9297;rustversion-%commit%'
+ [lsp-types]='https://github.com/yangdanny97/lsp-types;395d6bfcd6c3696a64cfe9cd93b86f981fb85112;lsp-types-%commit%'
)
inherit cargo
diff --git a/dev-python/pytest-rerunfailures/Manifest b/dev-python/pytest-rerunfailures/Manifest
index ba27fc32d04d..96bb803524a5 100644
--- a/dev-python/pytest-rerunfailures/Manifest
+++ b/dev-python/pytest-rerunfailures/Manifest
@@ -1,4 +1,4 @@
-DIST pytest_rerunfailures-16.4.tar.gz 36635 BLAKE2B 7c58727d8a7a0525a385744df124b4c7cf0ae0342407e3f458809316b66afeae4f0635d210fdab4d3222c0795a53cb652b8c6ec926430406702ee1cec2cb7b72 SHA512 d8b9f6fec33305654b7283802cad6b3741d91e0157f1ba901aa4f75c853a3bd73e7be6be0de17ae95707f161755f7a0905267a9171c20fa904033fcb0ad460ef
DIST pytest_rerunfailures-16.5.tar.gz 41475 BLAKE2B b9ca891a231d275714e0184c1907a89be7ed87a7df96195fb6d474d53d6130989ab0d9d8432a080a643d9b703a695bebf763d5947c4ace1ac34c726bb0d4467b SHA512 13752459ed30e5cf45c772ce71e04e2cca0e7cbe8788a8fdd8d5077117855b0c64194a21438ab15c945200597686c64711766e8b405ef74cf9d60e38ee91d92b
DIST pytest_rerunfailures-16.6.1.tar.gz 47719 BLAKE2B a2ba5ba2d1a6ae81af4a8c69616d7f6fb86594dbee5d47356493ea783984c58669526cf264adc7538a57dd68a115e3217f73aa03f021aef2ef3ed5d1be67f6b2 SHA512 cd623dba6a31dccffb577ec452495c6ca60f7868dd904316cdcad557e5a504cb3cd446d9b0ec4dbe579171fbe11c48419956165584bb9df8c038ee43eee10ef4
DIST pytest_rerunfailures-16.6.tar.gz 42806 BLAKE2B 480cc28393b98efb749b9ffde5e9ab348b5447ed82ea095212192902e106b6304a11cb4d9c8c2d7d8e7842dad3720b0d6e7b2c1b9ea6935fa6c7729348abacc7 SHA512 13e89a18d70054eeb023836666a0246db268b3361fe943137a05890c8d57035d6e3dda7bc758f6c101df5ea14a14c0be944c18c1c94924e685511e1061291b9d
+DIST pytest_rerunfailures-16.7.tar.gz 59666 BLAKE2B 33dd4527487ceee32056a19d24906903bbb70b10e8bf7e72823470aca570a7e4574a763868cb344bf0083f444ba8b902154f9cb843fc3aa9960201cf3cd761c3 SHA512 bf0e2b34649b0416f368a307918cc4f1277f570ff9019952c15206e07cb768230e0fb0b754fd557fda4f2adeec3b1cc49a84e71c746e2bd6ff0a6ccf12bab073
diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.4.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.7.ebuild
index 8f5f46149181..58e4cd8777e3 100644
--- a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.4.ebuild
+++ b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.7.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MPL-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
RDEPEND="
>=dev-python/packaging-17.1[${PYTHON_USEDEP}]
diff --git a/dev-python/python-pam/Manifest b/dev-python/python-pam/Manifest
index abbbfe0497ea..009ee875ee90 100644
--- a/dev-python/python-pam/Manifest
+++ b/dev-python/python-pam/Manifest
@@ -1 +1,2 @@
DIST python-pam-2.0.2.gh.tar.gz 14787 BLAKE2B 4bd9d7d57802fb30519ee755b091d8dd21da7fdac164cba2ac11fae48c8f575498562309d996a67766218e15e1b5f45f40c4cf32800de349fe0fa0cd03ae911d SHA512 eafeb753b22ffccc1c5729516ea1ae26799d3749140fe91849ddb804066cabd4b5493e9b059172977dd5b3c5d48c8b5ced6c5c944931fcf23225dda09db026f6
+DIST python-pam-2.1.0.gh.tar.gz 59601 BLAKE2B 5a6efcdbef61577c17a9dc083fabe30ad14e03428b3147476064776f230ea0b2f53813a7a8f427c5954702ea04e6d3e3667d68dd9eae0e3a5d9a0ba885975019 SHA512 88ec522c8fbcae2f4a89306518d1704b305971fee58f964057b76c2da8df8ef1007a7ab057cf408c83ba1a8183701e43e99797ecccab1403e9b51afb998d2e49
diff --git a/dev-python/python-pam/python-pam-2.1.0.ebuild b/dev-python/python-pam/python-pam-2.1.0.ebuild
new file mode 100644
index 000000000000..6bbfcfdf19b5
--- /dev/null
+++ b/dev-python/python-pam/python-pam-2.1.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry-core
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python PAM module"
+HOMEPAGE="
+ https://github.com/FirefighterBlu3/python-pam/
+ https://pypi.org/project/python-pam/
+"
+SRC_URI="
+ https://github.com/FirefighterBlu3/python-pam/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
index c65b40b1ea11..8321b00aef28 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -10,3 +10,5 @@ DIST tox-4.61.3.tar.gz 307979 BLAKE2B 895d2b3bf0131a71a51afefa3daee9713121acfeff
DIST tox-4.61.3.tar.gz.provenance 9438 BLAKE2B 5b7114d82ba2b6435eb2197d18f484a8bb5e9f75ce1c4fa8e68da2d154cac45da4a3a421c95d3a04bfb85cb798fe8842bdeb31fb994f00457b10b8b1c78bfd0e SHA512 379a14692ffc7649d74271c21dae7eee460dd040b7f33d047248c1648449680c4a317acb400f2360ca44764605e5ce6d29359dfa25889e666b5c0e2078a68080
DIST tox-4.61.4.tar.gz 308140 BLAKE2B ae284f0ac7fcca7d4bcb0ff7442c97b19e8b783d1218336b02e65ba6916cbcdf9a9aa1560b92d0c250d421fa7547e5d15aacc6ebb39989f79ee507e0ea1838b0 SHA512 6fbaa3f0380dc55d90d23a4dc204ef691085970902dedb99a1d9dbcd3713f784896a8cbe33fc367daeb044c367d4fc968da31829f0033e9091a2ef3c1dea5a71
DIST tox-4.61.4.tar.gz.provenance 9548 BLAKE2B 3fe6f9b3f0fb5461b30dbcba77407ebdb420858c31f12a69e78dc3f8b5490f35ae0df658a2e6222686829064a247975bd7747d29531e7dc0309a7ab636c341a6 SHA512 f3c144d2ffcbb8407f2a516a5d8b068e44e862bf163f62ba00bca73e6e543aa765afd0f18f5dbc97591bc4e640b14c68377b29729c0b69c54aadee9b24bad439
+DIST tox-4.61.5.tar.gz 308508 BLAKE2B 20b5f8697963754ac868c547224cb01d50e4a6e4bb910473772d92c33cc6aadd7792d996aa3b78a882225c70cac2ca734a0248699650e87cfe599f53057a8d35 SHA512 691dcdae5f52a0a7aaead99f91d2a0e813de3820f1a2c489f08e0af86ae42d596c6be9279c63a14a1468a297dc1be0968d497c35dcbd79ac141d0ac0a7959135
+DIST tox-4.61.5.tar.gz.provenance 9673 BLAKE2B 0d029219e08eb4f28eaca0d0ffcc48492d0dbd8cf0b7a9ed87485fcc5271918928f47d3ad7f421984d874f36c3422693b7f292d6b2049066b8b810012eacd04e SHA512 6a79178a46bd71eb5a8b3a383384ccb5fd71ef3f845b5adf32722d7501be5f98f2076e8803597f8fdd88f4ff8848648bb62247b0ce757c0e16e496b2f0289a7c
diff --git a/dev-python/tox/tox-4.61.5.ebuild b/dev-python/tox/tox-4.61.5.ebuild
new file mode 100644
index 000000000000..9d80c8ee22b8
--- /dev/null
+++ b/dev-python/tox/tox-4.61.5.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/tox-dev/tox
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="
+ https://tox.readthedocs.io/
+ https://github.com/tox-dev/tox/
+ https://pypi.org/project/tox/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86"
+
+RDEPEND="
+ dev-python/cachetools[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/pyproject-api[${PYTHON_USEDEP}]
+ dev-python/python-discovery[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.15[${PYTHON_USEDEP}]
+ ' 3.12)
+"
+BDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{mock,rerunfailures,timeout,xdist} time-machine )
+EPYTEST_RERUNS=3
+# upstream timeouts are quite short
+: ${EPYTEST_TIMEOUT:=180}
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # devpi_process is not packaged, and has lots of dependencies
+ cat > "${T}"/devpi_process.py <<-EOF || die
+ def IndexServer(*args, **kwargs): raise NotImplementedError()
+ EOF
+
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_run_installpkg_targz
+ tests/tox_env/python/virtual_env/package/test_package_pyproject.py::test_pyproject_installpkg_pep517_envs
+ # require tombi
+ tests/session/cmd/test_schema.py::test_schema_tombi_lint
+ )
+ local EPYTEST_IGNORE=(
+ # requires devpi*
+ tests/test_provision.py
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index 62907d47ca4c..9b16744d3015 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -1,3 +1,4 @@
DIST types_docutils-0.22.3.20260724.tar.gz 57883 BLAKE2B f3def14eea58297a97078dee93b47b0ca349535233f3122224d9c76382c899cb2e870b9bf784ac1e97e89ec4ef37e519fc26891db145a6d728b929e5da65eaf2 SHA512 7debe111c9936fc24ac71cd400e87cf8734e84b8038226bc0484575086fa57dc4e46497c7640fd8ea549c2d061b12e8a6bcdd66e1d73b39f40d58b32686fd287
DIST types_docutils-0.23.0.20260827.tar.gz 58209 BLAKE2B 8db07fbca8cdf688e6a54355bf014296024eb452a52f43264f0782db500d9092ab57948b97aa54f93684c015ebe0b6c8a82b925ce5cfaff85a820b365ea55185 SHA512 bd0d6b8111f564f1ab6326f69cbefb9be444cf803ac3b4261c9e2b7ed544796558bd35fa0f7f8fe98a61850e46c8ddfdb244442abe8c7ae833bfcfae3521f9c0
DIST types_docutils-0.23.0.20260911.tar.gz 58223 BLAKE2B dfb39a6d38d97c0f41b549ba377a44afaab0f2cf5184a57cc177dc9cdb0901ea5455ecc0848cba777fefd86614d0529d4bd10f806b9315de3693635686ce33f4 SHA512 294eb180cc36e10eb7519618993836e6f4f3652496ecf93975b824144d4b64ead77841472feca7cc0041856bd11faa0553080638f16313fa34573213585c1c67
+DIST types_docutils-0.23.0.20260917.tar.gz 58328 BLAKE2B dd97c78ae5f048b39a2aee6fd0db5a62ea7c8e57b4270085baeffdb84b833aab8e94d1f7ac337c99740b3445f67b22ee52dc459d680ac36e75903597409e72aa SHA512 a2e6e6b69055f0b270b65c4a04f2733246aef798d66845d664b7c589a3d12ba20e7b1b3e253bf841dbad5e803b59a7356ace50bfff56b2db39aed9e6f803e64b
diff --git a/dev-python/types-docutils/types-docutils-0.23.0.20260917.ebuild b/dev-python/types-docutils/types-docutils-0.23.0.20260917.ebuild
new file mode 100644
index 000000000000..c92bb7bf56ff
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.23.0.20260917.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-python/urwid/Manifest b/dev-python/urwid/Manifest
index 6281c7b6e803..e77c9e98f41b 100644
--- a/dev-python/urwid/Manifest
+++ b/dev-python/urwid/Manifest
@@ -2,8 +2,6 @@ DIST urwid-4.0.11.tar.gz 885760 BLAKE2B c7d08e2e2f58ea027085a229ef0f9755aa00c1db
DIST urwid-4.0.11.tar.gz.provenance 9656 BLAKE2B 4a178ce0666b5bf85625398a1edb21fa460ad8218f651b873471a3ec82a4e4e4831f039fb35aa34b430b56af16ea84c6531749d7b12baf59aed4055ecb882276 SHA512 794d6a38597e270a71c551222aca01d70232115c3064e20ec657954367185b1a70b7ead70bd6b785b84eb6de36a3602c1a111b297353f89200f0cf0974746c9a
DIST urwid-4.0.13.tar.gz 891170 BLAKE2B e3307d19bfaff7e5c284757d4a3549328761219ff1b3a0205e4a3a99bc7dcfe024d41e526f7e65f44a3cd30d817f575ee21de344d5b0d5f26b6972236f398257 SHA512 a5cb11884da714afece626422ef8249e25086edd5e318f37e61890601cc0c671155a012502b6ee235f314bfa1ee138bddf1bc14064a8d85595a59eda4bf3e66e
DIST urwid-4.0.13.tar.gz.provenance 9550 BLAKE2B 8ebde12f1b0326539ca3980d9e070f9cf2da3c32823ef5b5b061af28262dde869f3c92534305e4e8aae77b602eef08bfe675b0ace1f06c171ae45d9ed71522a3 SHA512 bd2c34da166f2eb712abe8c94bc63d9c954751a426868e15f98b5efb6a255cad80fd776ac752e9a869a9dabe20fdc791472a43347294910611699a5c594e66a5
-DIST urwid-4.0.8.tar.gz 878866 BLAKE2B 600a233caba49d439157c06e3d3af6febc1de49e86fabe2ef2ef8ffe54cd9ac4e455218b04e5bf86fb4c2e2acbacb1ef2d24032cd3d509b9c8d84d7965d736e2 SHA512 4cea0cb07a65b4b8ef274e5407f37de432130ac2c3963e21e3545a09b2566d0c552e281a706f59106f369cadf7139013aeaa81c54748e1c3df13647b45008293
-DIST urwid-4.0.8.tar.gz.provenance 9677 BLAKE2B 1d1aa1e350d79788b6ac046c286fb69b3e1bfb1cc602cc407b745b3b0e2cb33bbd841dd30b42217c4bbb91a2c1afc743688596b060de6b5227b567bea506c045 SHA512 7640bf072eab67527a7afef0330cada67745b6e7c29d889649074b7f4fad951dbdd75015eb273f1b2ad6cf05025da1ac696554f19b09d5588279010830cb139b
DIST urwid-4.0.9.tar.gz 880825 BLAKE2B 466b04d033482a9bc09f628bee147a8f1a481d5d3663485b7ad758892618b824defd1d69800924c11ce14e6f129916ca79217bc10f6ac1ece7139303dec1ba03 SHA512 c53d4117798c91c6bc500f1de5358bcd629655b1086985ea8262795a4ece4edd061f7937f2b4b2629ab9147b5f570d1f8b0a5a961a60f49d9961514ab2245950
DIST urwid-4.0.9.tar.gz.provenance 9679 BLAKE2B 8b53a0a266492cbc0bf19d8d6a7f0fff0e9935ca0c19f82c13494266d46d8cb2654e822c4003843a18b3acab5e0e1c598faadd69ac401e3fab2b4bbf4e1153bc SHA512 c76ef14f4023eec53998bf55dc91dd8ce06a3c9dd5c82b3437ecdde86644415e45a4084cfe2773a1329724489bf783debeddf02cf402e209f054c43bf3f1080c
DIST urwid-4.1.0.tar.gz 929987 BLAKE2B a66a8830bcad394ee4d6c7cb59533325f7dadcea1dfb0277ad130649b9da3879bbbf48f876d63241afba03d40ba9936b58156f2b7b4dde44bb752c9b26fd4d35 SHA512 f364bb288a0e2a2767fa7554da71a6d4b9a5fa4b84a65f9d44a30792c1744ce65705503d69921ca061a93d0a3478679ad7318e36a30e3ab6ef4f356051691a57
@@ -14,3 +12,5 @@ DIST urwid-4.1.2.tar.gz 941510 BLAKE2B c375bf938541e1df1bf1ca3c3ed9b6e91d8ab1074
DIST urwid-4.1.2.tar.gz.provenance 9620 BLAKE2B 95fdeda020824cd77e2e5a7aea0c7cb6baf36b43b1c817956fbfbcb3218befc2b175d2ad3a5ce530e806f540602c2d1f49b37acfdad180f368906e4f07d713f8 SHA512 10adfa1e6b78d556b45b6e05dd56612211a8ee300eca1653d715c6e4a1fa6e52df660ff1f074b18a070c6d52c954a243936f98e0a0fc05cf39f929305a297eb0
DIST urwid-4.1.3.tar.gz 944854 BLAKE2B c683dcec93c42e838665f98d7cfe5190b700b1a1a37efa1c8e92a405b954dd25dcad60fc11355ea4d5f2d86ae917a56b0e7e8104044e2c3191ddbbef037f2227 SHA512 52146221d6cf94190c1be79df469c262e9f4846e0d9c76d5e1f02af72ec393e8a867d7bba13d182fc801d20cfa6a32d74db51d0c657a3972df85c8ba33c3d41f
DIST urwid-4.1.3.tar.gz.provenance 9538 BLAKE2B b2c79aee2754a26f15bd49d773a2ad8ff58949a236a5179a405b7dfd388b69807298993d63987b015483a062cf6023d2b9a703993f0949409743096f99017906 SHA512 a2ade6d50b29215aefd54300131adf9fafd88c26425ef08579715720ae0154c9a1f0c5f18ba7f3b931a4a4692c5f82a0b3dcdf422fbe0cbc0c8b05981fae1580
+DIST urwid-4.1.4.tar.gz 976991 BLAKE2B a563b91ae1dfbce32a9c4aaf0d9daa1ec2985bfb1b15fec496cfa959232355eda6b9ecd908ad437b6cce355d6b3b8044046a39c9a2317a4f6272202f21a2f61b SHA512 996bf1a6f7aec55442af55c36df14d52bb5e76efe4259cb372fdcc1bce00547838248b8f15266b2ff026490840f9dcb550733f70a716f9b644d5bbc0643190b5
+DIST urwid-4.1.4.tar.gz.provenance 9479 BLAKE2B fe15009278cd363fac26714e8ce4e46beb04107bafb1c629633047f4011a6231cb4eb5d18615072c80b90ad234191b700d3243b1fa765772de54458e3dae9df9 SHA512 f1e7b557470adb3b08b5730e9afa3b0edf71a548df33514c1cecb86915144980259de1632f6ef7ee83b9c2f7e9d880c13f517a7ec2ef11ddc943c3ff8502ab2e
diff --git a/dev-python/urwid/urwid-4.0.8.ebuild b/dev-python/urwid/urwid-4.1.4.ebuild
index 1fdcf2e3eada..aba0d14bbb3d 100644
--- a/dev-python/urwid/urwid-4.0.8.ebuild
+++ b/dev-python/urwid/urwid-4.1.4.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="examples"
RDEPEND="
@@ -36,7 +36,7 @@ distutils_enable_tests pytest
src_prepare() {
distutils-r1_src_prepare
- sed -i -e 's:--cov=urwid::' pyproject.toml || die
+ sed -i -e 's:--cov --cov-report=term::' pyproject.toml || die
}
python_install_all() {
diff --git a/dev-util/google-antigravity-cli/Manifest b/dev-util/google-antigravity-cli/Manifest
index bcda06714783..af6174e83cbb 100644
--- a/dev-util/google-antigravity-cli/Manifest
+++ b/dev-util/google-antigravity-cli/Manifest
@@ -1,6 +1,6 @@
DIST google-antigravity-cli-1.1.28_amd64.tar.gz 56914961 BLAKE2B ca86372335da5571ecc5f36569359bef127c6838e96528d128bb9849608c22ae56ae1d17585f4451024525d5777c4d7cdd76c0370fd95b7e27a3c06f15c982b9 SHA512 a855c623426fe901088bfe2b4d559b01f5b479a7c5ec0e41acfe129d4fe7deee9fbd9057072cc8e8c19ed65474cafa4f1d10fcdc14fbb85f82f20c3ec94295d4
DIST google-antigravity-cli-1.1.28_arm64.tar.gz 53365668 BLAKE2B 835278a90473bac5af32ea2a87309579c158fceb4aa19f68a4e9dd7a5c158d924200b89aa4b46d0a30ac47df4363357532fad0adfda18899f813131032260fed SHA512 2cc17c2a2dfe5c7d2f8088ac16ccfef270933c7844c3c717b3e4f4f94873f865ebddc5943508cbe54b4976c0f9dc478ca71b8c26b8c08d6758d9508788235530
-DIST google-antigravity-cli-1.2.2_amd64.tar.gz 57596853 BLAKE2B 5c173c3bc0f742da36287587d2f066462a2543c2d4dd026b48aa22e322d2117583730743daa52cb91faeb2176c9ae6b29b48cb3c9cf1e2041e6470d36454b0ca SHA512 74342cf2a78b344392e573b638a648a6ad1f8e877f494b96e20f9c2b79158d5c423c40b2dcf788703362bb0a9150f09c707fde599d7557ce01c12208802a63cb
-DIST google-antigravity-cli-1.2.2_arm64.tar.gz 54016481 BLAKE2B a90173b238183b6c987b439f8a31b23ee4a980f019cb4ede50838feb86d0b04e0c6fc9fb47df9dc2f913124b8de5349fd13a3b281d447d07c2f17a5db20f9a3a SHA512 a1645a30f36b767c7534c2f6a53e99a9bfade993267efcca715f7a45d797d47d6561df787e9d4a51a3bdfc9be855d49d23fa3f4b91b2c661fd17314050836048
-DIST google-antigravity-cli-1.2.3_amd64.tar.gz 57891892 BLAKE2B aa74e5485965abc6d8e67eb79c764105fdf0a70140ad28d0199245c8ab47ecccde0407631dcc1877eb15142e1b04ec638164425f64e46f2d973d6994c6ca366e SHA512 ec74dc5ce20e64623a4d68e73a8957e468c026bdb3d07b15c5291490323133970c735d985af839eab057b52b1bfd1b2e91ff49abeebef032ffae6dded8e2a763
-DIST google-antigravity-cli-1.2.3_arm64.tar.gz 54306993 BLAKE2B 4dc5fea95f2978fa39231375fd7d9803e13596801600acf95d29e0ea5f49b7e74d17feb2981729b804eee5f55ca0edafcd81d116cbbed037cc2ba868f0add636 SHA512 bdab1bcdd4fea79eae663239a06e8e7964d9905ec6fa072076644f7506c7ce73cf2eb8563eb7060366bdb68ad815e5fc5bddf38ab621f39aff576a90899a3ac6
+DIST google-antigravity-cli-1.2.4_amd64.tar.gz 58151273 BLAKE2B 6a2fbf4d6a379c05463e492c8cb44e6666725ba1ea69114b08b0dbd0cd4392e6fe0ba00b14eb37177fe104665208f3a4f61f1d21be20147af9515138ee4c9c20 SHA512 5811d39ec1bf96a82ed06de6b8ee2bb7f5be8d74423b8c52b6b975e8f0e2c84c6cc2fa0baf902aad942c7566509c3ba6ddb5ef076260c6a635c4616e6ae17897
+DIST google-antigravity-cli-1.2.4_arm64.tar.gz 54547529 BLAKE2B 45840f8e8498592b69a72c0afdcae6c97d4eb3bad0d4c7e755bbf1bc0b454ddc208c034181424d685399efea57866346554910b79773679acf2a04eeb530dc3e SHA512 75f9c48ca778328642f20e80bc4d4a95646ea42ce13bd31bf0c8a5d050174bd2ec4dd6cd99a4b63930586efdb38b0de87f9f562ec300d52987679b8e27aa24be
+DIST google-antigravity-cli-1.2.5_amd64.tar.gz 58151164 BLAKE2B 55640838b46dedde7fb057a140bc529d162f7709074a9d9c6f4f4c7740de388e07415cd322e804035caa2e1be60afe5a744f8a908c717e565062161a5a30c615 SHA512 1f89973759ec9608983708be985d715af1669f50a43ef721a7389b9a8de78141333e18bedfef7d15d0073cbe4d6b8984c86b23d8d073cc28dd29290a781f4b65
+DIST google-antigravity-cli-1.2.5_arm64.tar.gz 54531323 BLAKE2B 307d4cd7e222010760a1d29f8bbc15436312b4d870fe7725849728a8f632d1a483d667a2aef554f1e30796e6b237dcf6d293fe729d3bb36eeaeafc6dbd282493 SHA512 e11c990024b3f253fdd6ffd552e117478cb320bbf5bf2ff67a218fada718c8eeebad7cd916b691e39a3b206a09bc754d177319b002c1aaa546ab4e5ee4633bf0
diff --git a/dev-util/google-antigravity-cli/google-antigravity-cli-1.2.3.ebuild b/dev-util/google-antigravity-cli/google-antigravity-cli-1.2.4.ebuild
index 0652313477dc..8e036a983ed6 100644
--- a/dev-util/google-antigravity-cli/google-antigravity-cli-1.2.3.ebuild
+++ b/dev-util/google-antigravity-cli/google-antigravity-cli-1.2.4.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-EXECUTION_ID="5101874907578368"
+EXECUTION_ID="6085322963025920"
MY_PN="${PN#google-}"
DESCRIPTION="Command-line interface for Google's Antigravity agentic development platform"
diff --git a/dev-util/google-antigravity-cli/google-antigravity-cli-1.2.2.ebuild b/dev-util/google-antigravity-cli/google-antigravity-cli-1.2.5.ebuild
index d574cc5fc130..a7454cec5a2d 100644
--- a/dev-util/google-antigravity-cli/google-antigravity-cli-1.2.2.ebuild
+++ b/dev-util/google-antigravity-cli/google-antigravity-cli-1.2.5.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-EXECUTION_ID="6061403484848128"
+EXECUTION_ID="4931130160447488"
MY_PN="${PN#google-}"
DESCRIPTION="Command-line interface for Google's Antigravity agentic development platform"
diff --git a/dev-util/google-antigravity/Manifest b/dev-util/google-antigravity/Manifest
index e1770473ce2a..edfd5cceeecb 100644
--- a/dev-util/google-antigravity/Manifest
+++ b/dev-util/google-antigravity/Manifest
@@ -1,6 +1,6 @@
-DIST google-antigravity-2.11.0_amd64.tar.gz 171679600 BLAKE2B 5ffd5a78016377eefefb7cce508764d55c68b040c36e57753fbcbceba48315842c6ce34114c6eb6ad931e88e8b56115c4852bed1af798f0e6f9ebda9741be6ce SHA512 549541e9e762d86193fede5e214fdc3d122774ad8ec541aa66c2dae4bda3a9ce3049a7cc6de0a0a15acbe1bac7e259a2e954d1bccc4647e6e2a81afdb4d3cce4
-DIST google-antigravity-2.11.0_arm64.tar.gz 168734479 BLAKE2B 93ca94e52e327180b3a80d1cb3865ac0f84ee47b3125fd3d4786bdd2ad0b850de363866dead908440c66b2f9ac9cd779b789ef7098b85855fc953a97d17aeea7 SHA512 047c1d3af5c29017e7f7a2aa6245632c56ffa951a505a600368b4b653e2acbf93c9d2720040903081da68eb1391e274e94868b55721f086b764b49aa8492f50f
DIST google-antigravity-2.12.2_amd64.tar.gz 172322487 BLAKE2B dc7b6beaac3eb44b96d048cedcc17dede7bb3ab6687e95acb2d14989cf65278642d0a9ce8440ffea2c189dcad794c1e5bc0e049a996af1337b702e19a9ec243f SHA512 6aa76ea02a5c74bef5b40495996c63fdb66955336618bd1d16335eea38baddd50d69b3990091884da0301a24cea7bb61981cfc55e9830eb5e53302e6a2a36595
DIST google-antigravity-2.12.2_arm64.tar.gz 169331350 BLAKE2B e846efbf5d169ac5be853f4e39358bb53f2d9a7af4b54ea7191f30ab921f6439afa477be4e25a42fa2ea8375db59ea15233b9f2452249b5a599823b7de8d2da4 SHA512 bfe6c7ea27e04df21d6e9c54f506f465bd09198320404582a8276f95fd3b4941e22d3f9958b5def46bfa434d72dc1cfec26f019d78f574ed5401c297401f8892
DIST google-antigravity-2.13.0_amd64.tar.gz 173005112 BLAKE2B c3201c068eaee99636576aaa1d3680aee82b2211ece8822b2f98a7e776d0da717b6f5c5097d3b27bb4a29d23a566021a086916303b1d820f0cd7648b6f1ff162 SHA512 5197adb0fa208da0df71d5a7799f954c463a48d1776bb60e8f42fbc4d5ebddd8e64bd32196beffd6e0009ac5f30479b2e8309f466f382b01f55c3793a932fbfc
DIST google-antigravity-2.13.0_arm64.tar.gz 170014747 BLAKE2B a83e260859bbd53a5eddf7bb268737946b9e3957ad793ebad24046055776ee4d1e75ba0ba33baf6c343392a3cec5ccaaff9aeae5a1c81c87d0f87457ddb29026 SHA512 6d09aebdf2551863cf3d20c93339f6ff6e9e2ecf650fd1e99111b384491170e6c2ba2069cfd0d403fdf461ebecd323ae9ac51669b07359d470d6dafd6a4841ec
+DIST google-antigravity-2.14.0_amd64.tar.gz 173968350 BLAKE2B 78bad4890b98641b90829257001467148af7dea842c800a83727963518a39645469e25025383f645d2b3c1839a5a43bc28a458e6b5236f5f4983fdd1e4ab0910 SHA512 2be15c85e30d03c4cd71bdee68e3df0dc3466326234849dde9eb7393d51ed15e5adf3b127e62a310464176e18a6acd9d2d2e88598e91db061c08a71ef925a5aa
+DIST google-antigravity-2.14.0_arm64.tar.gz 171001713 BLAKE2B 47bf9f6f885be58d857e7fe6c6140ce52ef368db8ffc68bf5bd09b2f8cb070302398235c5a381e8b9bd95fad30b44250883fe006f672f50a7ed39537f718b34d SHA512 1a504e687b7a43462211ab94d731e9c8ec308f8a91959ed3915ed53927a40e99307f914d5b0c9ba533b3544b718b61deced3145f2e20bfec3cccd9354fc0c912
diff --git a/dev-util/google-antigravity/google-antigravity-2.11.0.ebuild b/dev-util/google-antigravity/google-antigravity-2.14.0.ebuild
index 3407e21deac6..8a7b10c49aeb 100644
--- a/dev-util/google-antigravity/google-antigravity-2.11.0.ebuild
+++ b/dev-util/google-antigravity/google-antigravity-2.14.0.ebuild
@@ -9,7 +9,7 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB en-US es-419 es et fa fi
inherit chromium-2 desktop optfeature pax-utils xdg
-EXECUTION_ID="6376446768316416"
+EXECUTION_ID="5449404535144448"
MY_PN="${PN#google-}"
DESCRIPTION="Google Antigravity 2.0, a dedicated platform to work with agents"
diff --git a/dev-util/opencode-bin/Manifest b/dev-util/opencode-bin/Manifest
index e5e793376f73..607e2489decd 100644
--- a/dev-util/opencode-bin/Manifest
+++ b/dev-util/opencode-bin/Manifest
@@ -1,7 +1,4 @@
-DIST opencode-bin-1.1.48-amd64.tar.gz 51797370 BLAKE2B a183755181acb33efd9a7d54ee4934012b7705fd37aeba24328f70f9833073a69c94228d82b0e5d5788f9854d5fefc79ea5c547a5f71780cf030d1fc1a498f7f SHA512 bb92874d860ffc5c6f9a28091a6a1e638f2b09761623df247e872f388756cd88e3246afa36dab3970fdf25a6f611ccb1c3580e14b0b0999f407daf54442901d0
-DIST opencode-bin-1.15.12-amd64.tar.gz 50000563 BLAKE2B 754fb0c46c621391dca0077e432ef11ea4178770c957637b01745556c7faf103e1d33919f536605d72d08b10ac7959b04edafbc21cdfc35bf5e9d3da2ea9e09b SHA512 f42f0f5b26925b9c67511511840d63111b89b10ae5941043c87fbbc1a57f3cec1cd304350c91b07a238cf07bea4d5f659169f3741bf66593e9def68211bfaa6c
DIST opencode-bin-1.18.30-amd64.tar.gz 60557284 BLAKE2B 349ec2128ceebe34a0862ba3cc0a67db9bc9cecd060be44e275c046844f7af20253434b4cd387d825380153fea21548a0f2472acef7c2bd20d2b06a7ff0f2353 SHA512 60bf8921c4cc71c2fd9d0aa46b6ed5932b4942d549085c61d0f818c9c1e371977499cf46e1ab6dbbcc125346f4b1df966fe8309d17b8a3a4d8cf6b67c7733a1f
DIST opencode-bin-1.18.30-arm64.tar.gz 60366998 BLAKE2B 3265163031ec608c9cc85e91e3de5e2cd82113bfe9c80b82924ef167a5df1754d220a3326e494607479f6163024f997657daedb8e2ff90e7981d572379cd5285 SHA512 d4f195903372bfa9a0a4a2cf5b219bdd0b4a0377aba5c0ed36d2e2705abb8cc36d91a0ecd6b06204b55bd4076d43779bea316e8a254cf5851bd220c0838ffbd8
DIST opencode-bin-1.18.31-amd64.tar.gz 60590585 BLAKE2B af346f1af33ae229859f02f37d33518fdac35dedac7bdd7dc0720c6df9705f34f9fa61dae4aaf0d352257a2afb464588112d2488e8c0579661792b51b67c949c SHA512 56a7e299c8d1c3e6ea25c4c6ea8ccc44613edf5dadd61f6264c5dc7db403a726f443e4c1a49a2d24fa4488cf2839a994346741447ad6c947b52b732531bcab7f
DIST opencode-bin-1.18.31-arm64.tar.gz 60408014 BLAKE2B 3000e5a3d7fa70a0ac0d4a2e64d8df05f3ce129a28c81d11f5311a48a63b9bb5c0fbb396f9fdbf2af8c0b2af2d30cd9ec47cde19df3c53ae01b6020a1d6e63ab SHA512 e33081de6d26be36e37084334613224f2887bafd79e403af9198c3bfa61023996c4c0ee3a7eb56fc2d73c4f1a31040ee20c5d6b1834e5ecc225d80fbe8a15698
-DIST opencode-bin-1.2.6-amd64.tar.gz 53299530 BLAKE2B 3846ea0bf7212f526c2be0ed6cc93d73c409ee73248bce137293cdd030cf64100ee15ff309ff5b126c8bcc224061e478cc3553ddeeec5f4d61ee2242fd54da83 SHA512 791b42da6aa442e79092545da9e7c2fafc930030dd59239d4bb0eaadfe2796c8726ec0787229dbd23434d07c9f56ae9a562962a5e0f69e6f86c8cf14d25bcdc3
diff --git a/dev-util/opencode-bin/opencode-bin-1.1.48.ebuild b/dev-util/opencode-bin/opencode-bin-1.1.48.ebuild
deleted file mode 100644
index 0899471507cb..000000000000
--- a/dev-util/opencode-bin/opencode-bin-1.1.48.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2021-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="The open source coding agent"
-HOMEPAGE="https://opencode.ai"
-
-SRC_URI="https://github.com/anomalyco/opencode/releases/download/v${PV}/opencode-linux-x64.tar.gz -> ${P}-amd64.tar.gz"
-
-S="${WORKDIR}"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-RESTRICT="mirror strip"
-
-QA_PREBUILT="usr/bin/opencode"
-
-src_install() {
- dobin opencode
-}
diff --git a/dev-util/opencode-bin/opencode-bin-1.15.12.ebuild b/dev-util/opencode-bin/opencode-bin-1.15.12.ebuild
deleted file mode 100644
index 0899471507cb..000000000000
--- a/dev-util/opencode-bin/opencode-bin-1.15.12.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2021-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="The open source coding agent"
-HOMEPAGE="https://opencode.ai"
-
-SRC_URI="https://github.com/anomalyco/opencode/releases/download/v${PV}/opencode-linux-x64.tar.gz -> ${P}-amd64.tar.gz"
-
-S="${WORKDIR}"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-RESTRICT="mirror strip"
-
-QA_PREBUILT="usr/bin/opencode"
-
-src_install() {
- dobin opencode
-}
diff --git a/dev-util/opencode-bin/opencode-bin-1.18.30.ebuild b/dev-util/opencode-bin/opencode-bin-1.18.30.ebuild
index afc320c6b02a..8b1fe8eee975 100644
--- a/dev-util/opencode-bin/opencode-bin-1.18.30.ebuild
+++ b/dev-util/opencode-bin/opencode-bin-1.18.30.ebuild
@@ -18,7 +18,7 @@ SRC_URI="
S="${WORKDIR}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
RESTRICT="mirror strip"
QA_PREBUILT="usr/bin/opencode"
diff --git a/dev-util/opencode-bin/opencode-bin-1.18.31.ebuild b/dev-util/opencode-bin/opencode-bin-1.18.31.ebuild
index afc320c6b02a..8b1fe8eee975 100644
--- a/dev-util/opencode-bin/opencode-bin-1.18.31.ebuild
+++ b/dev-util/opencode-bin/opencode-bin-1.18.31.ebuild
@@ -18,7 +18,7 @@ SRC_URI="
S="${WORKDIR}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
RESTRICT="mirror strip"
QA_PREBUILT="usr/bin/opencode"
diff --git a/dev-util/opencode-bin/opencode-bin-1.2.6.ebuild b/dev-util/opencode-bin/opencode-bin-1.2.6.ebuild
deleted file mode 100644
index 0899471507cb..000000000000
--- a/dev-util/opencode-bin/opencode-bin-1.2.6.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2021-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="The open source coding agent"
-HOMEPAGE="https://opencode.ai"
-
-SRC_URI="https://github.com/anomalyco/opencode/releases/download/v${PV}/opencode-linux-x64.tar.gz -> ${P}-amd64.tar.gz"
-
-S="${WORKDIR}"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-RESTRICT="mirror strip"
-
-QA_PREBUILT="usr/bin/opencode"
-
-src_install() {
- dobin opencode
-}
diff --git a/dev-vcs/jj/jj-0.45.1-r1.ebuild b/dev-vcs/jj/jj-0.45.1-r1.ebuild
index 17031884e3c0..2bdeaf636093 100644
--- a/dev-vcs/jj/jj-0.45.1-r1.ebuild
+++ b/dev-vcs/jj/jj-0.45.1-r1.ebuild
@@ -10,7 +10,7 @@ CRATES="
RUST_MIN_VER="1.89.0"
-inherit cargo shell-completion toolchain-funcs
+inherit cargo eapi9-pipestatus shell-completion toolchain-funcs
DESCRIPTION="Jujutsu - an experimental version control system"
HOMEPAGE="https://www.jj-vcs.dev/"
@@ -56,7 +56,8 @@ src_install() {
if ! tc-is-cross-compiler ; then
PATH="${ED}/usr/bin:${PATH}" COMPLETE=zsh jj | sed -e 's/_clap_dynamic_completer_jj/_jj/' > jj-zsh.comp
- PATH="${ED}/usr/bin:${PATH}" COMPLETE=bash jj > jj-bash.comp
+ pipestatus || die
+ PATH="${ED}/usr/bin:${PATH}" COMPLETE=bash jj > jj-bash.comp || die
newzshcomp jj-zsh.comp _jj
newbashcomp jj-bash.comp jj
fi
diff --git a/gui-libs/aquamarine/Manifest b/gui-libs/aquamarine/Manifest
index b4ebb7bd111a..2451df3af731 100644
--- a/gui-libs/aquamarine/Manifest
+++ b/gui-libs/aquamarine/Manifest
@@ -2,3 +2,4 @@ DIST aquamarine-0.12.1.tar.gz 96571 BLAKE2B 04dea75c01c8b199111d144bba00c45c7617
DIST aquamarine-0.13.0.tar.gz 100353 BLAKE2B b1fee1b79cd17719c533775522d1dab3c902ab262b8a397b2c10ec88bcc3a77f3941a4a85f1224053e20f2980fe473351e900386f69e3622f083650d4aad0eb3 SHA512 b1a483e0a62f254f7e06093ef83c0efd5d23b6bd4af93c0397dada1dddd21e0c54944779ddb7759cc2e1f05bdabfce32f2011cdc1943350fee4d53781862ffdf
DIST aquamarine-0.14.0.tar.gz 100795 BLAKE2B 96138d5e5866369a8db86430cc3ccae28a2ff5bc301c601f1a6a836f4757c7c804f9b3f0ac54ec6b8d3d66409746f25f25ac48bfa11e0ba0f5ef67a55a3a68ce SHA512 14274d076eb778811f1a13cb9a01ac60dc52dc198f1a0786ab72e11984d467deb067e4f757d0933ae7a6a8116a71d47f084ae9efef1bb863baf5241d384bad5b
DIST aquamarine-0.15.0.tar.gz 122993 BLAKE2B 1ec03ac805ed07725ff892ee898dab366a9d8a7ab8f8e6dbbe6bd0518ffd95fa984c6f9a8522e350cdb0b5574b243d28a73727ce45d7da8457a167b104b1a1a9 SHA512 b5ca9d973d6cd6bda9a3d54ce3f0c9131ea26dd8064505049275751408ee1769346a0e1d70a58ec6f4adedc8a9c4553d52a03372c6a77984ef26e44a1ac958ea
+DIST aquamarine-0.15.1.tar.gz 123333 BLAKE2B 96a98a64238bbff6985d145494323f6898bdfd5b70be9d3da8650119fd71606de00dc2824e0cf4963b902adf243ed08e0ad60ab55b312cc28230f3ec4fba33b4 SHA512 427bf1b416a4fad8fdbb60c6e55d89da71cfbc56700ad3ae1806c87af1ab9790bb38efd70711025937e35c4d092602a43ff265b80cf78b062ef3b081b9bb834d
diff --git a/gui-libs/aquamarine/aquamarine-0.15.1.ebuild b/gui-libs/aquamarine/aquamarine-0.15.1.ebuild
new file mode 100644
index 000000000000..a73800191f11
--- /dev/null
+++ b/gui-libs/aquamarine/aquamarine-0.15.1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Aquamarine is a very light linux rendering backend library"
+HOMEPAGE="https://github.com/hyprwm/aquamarine"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/hyprwm/${PN^}.git"
+else
+ SRC_URI="https://github.com/hyprwm/${PN^}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2)"
+
+# Minimum required gcc and clang versions.
+_MIN_GCC_VER=15
+_MIN_CLANG_VER=19
+
+# Upstream states that the simpleWindow test is broken, see bug 936653
+RESTRICT="test"
+RDEPEND="
+ >=dev-libs/libinput-1.30.0
+ dev-libs/wayland
+ >=dev-util/hyprwayland-scanner-0.4.5
+ >=gui-libs/hyprutils-0.8.4:=
+ media-libs/libdisplay-info:=
+ media-libs/libglvnd
+ media-libs/mesa[opengl]
+ sys-apps/hwdata
+ >=sys-auth/seatd-0.8.0
+ x11-libs/cairo
+ x11-libs/libdrm
+ x11-libs/libxkbcommon
+ x11-libs/pango
+ x11-libs/pixman
+ virtual/libudev
+"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/wayland-protocols
+"
+
+BDEPEND="
+ || ( >=sys-devel/gcc-${_MIN_GCC_VER}:* >=llvm-core/clang-${_MIN_CLANG_VER}:* )
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+"
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if tc-is-gcc && ver_test $(gcc-version) -lt ${_MIN_GCC_VER} ; then
+ eerror "Compiler is sys-devel/gcc-$(gcc-version), requires >=sys-devel/gcc-${_MIN_GCC_VER}."
+ die "Active compiler is too old for this package."
+ elif tc-is-clang && ver_test $(clang-version) -lt ${_MIN_CLANG_VER} ; then
+ eerror "Compiler is llvm-core/clang-$(clang-version), requires >=llvm-core/clang-${_MIN_CLANG_VER}."
+ die "Active compiler is too old for this package."
+ fi
+}
+
+src_prepare() {
+ sed -i "/add_compile_options(-O3)/d" "${S}/CMakeLists.txt" || die
+ cmake_src_prepare
+}
diff --git a/gui-libs/scenefx/files/scenefx-0.5-musl.patch b/gui-libs/scenefx/files/scenefx-0.5-musl.patch
new file mode 100644
index 000000000000..e85eafbbe5e7
--- /dev/null
+++ b/gui-libs/scenefx/files/scenefx-0.5-musl.patch
@@ -0,0 +1,19 @@
+From dba53481d7b031ca04fd5a0297c4018a10b815a1 Mon Sep 17 00:00:00 2001
+From: Dustin Smith <d.usty360@gmail.com>
+Date: Wed, 16 Sep 2026 16:41:19 -0400
+Subject: [PATCH] Include stddef.h for musl systems, defines __always_inline
+
+Inspired by a similar patch for =sys-kernel/linux-headers-5.10.
+--- a/include/scenefx/types/fx/clipped_region.h
++++ b/include/scenefx/types/fx/clipped_region.h
+@@ -2,6 +2,7 @@
+ #define SCENEFX_TYPES_FX_CLIPPED_REGION_H
+
+ #include <wlr/util/box.h>
++#include <linux/stddef.h>
+
+ // uint16_t is a reasonable enough range for corner radius
+ // and makes it 8 bytes wide, making it cheap with optimisations
+--
+2.55.0
+
diff --git a/gui-libs/scenefx/scenefx-0.5.ebuild b/gui-libs/scenefx/scenefx-0.5.ebuild
index b4800477eaff..d2554bb87fb9 100644
--- a/gui-libs/scenefx/scenefx-0.5.ebuild
+++ b/gui-libs/scenefx/scenefx-0.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU Public License v2
EAPI=8
@@ -46,6 +46,14 @@ BDEPEND="
dev-util/wayland-scanner
"
+src_prepare() {
+ if use elibc_musl; then
+ eapply "${FILESDIR}"/${P}-musl.patch
+ fi
+
+ default
+}
+
src_configure() {
local emesonargs=(
-Drenderers='gles2'
diff --git a/gui-wm/hyprland/files/hyprland-gcc15-compile-fix.patch b/gui-wm/hyprland/files/hyprland-0.56.0-gcc15-compile-fix.patch
index da83745da9c5..da83745da9c5 100644
--- a/gui-wm/hyprland/files/hyprland-gcc15-compile-fix.patch
+++ b/gui-wm/hyprland/files/hyprland-0.56.0-gcc15-compile-fix.patch
diff --git a/gui-wm/hyprland/files/hyprland-9999-gcc15-compile-fix.patch b/gui-wm/hyprland/files/hyprland-9999-gcc15-compile-fix.patch
new file mode 100644
index 000000000000..62a688f1e9ea
--- /dev/null
+++ b/gui-wm/hyprland/files/hyprland-9999-gcc15-compile-fix.patch
@@ -0,0 +1,45 @@
+commit 5fdbbae4a6d51860b0b4766769132c7f0f50461a
+Author: Anthony Ruhier <aruhier@mailbox.org>
+Date: Thu Sep 17 12:38:29 2026 +0200
+
+ Fixes compatibility with GCC < 16
+---
+ src/helpers/MiscFunctions.cpp | 11 ++++++++++-
+ src/ipc/s1/S1.cpp | 2 +-
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/src/helpers/MiscFunctions.cpp b/src/helpers/MiscFunctions.cpp
+index 299d2199..a81e78f1 100644
+--- a/src/helpers/MiscFunctions.cpp
++++ b/src/helpers/MiscFunctions.cpp
+@@ -474,7 +474,16 @@ bool truthy(const std::string& str) {
+ });
+
+ return [&](auto&&... prefixes) -> bool {
+- return (... || std::ranges::starts_with(str_view, prefixes));
++ auto starts_with = [](auto&& range, std::string_view prefix) {
++ auto it = std::ranges::begin(range);
++ auto end = std::ranges::end(range);
++ for (char c : prefix) {
++ if (it == end || *it != c) return false;
++ ++it;
++ }
++ return true;
++ };
++ return (... || starts_with(str_view, prefixes));
+ }("true"sv, "yes"sv, "on"sv);
+ // clang-format on
+ }
+diff --git a/src/ipc/s1/S1.cpp b/src/ipc/s1/S1.cpp
+index 76f2e9b5..6c0bed5d 100644
+--- a/src/ipc/s1/S1.cpp
++++ b/src/ipc/s1/S1.cpp
+@@ -145,7 +145,7 @@ SResponse CSocket1::dispatchBatch(std::string request, pid_t pid) {
+ if (i < request.size() && (request[i + 1] == '\\' || request[i + 1] == ';'))
+ ++i;
+ else
+- LOG(Log::ERR, "Malformed socket1 request: invalid escape sequence {} at position {}, using it verbatim", request.subview(i, 2), i);
++ LOG(Log::ERR, "Malformed socket1 request: invalid escape sequence {} at position {}, using it verbatim", request.substr(i, 2), i);
+ }
+ parsedCommand << request[i];
+ }
diff --git a/gui-wm/hyprland/hyprland-0.54.3.ebuild b/gui-wm/hyprland/hyprland-0.54.3.ebuild
index 4552c3b1e904..4c57c3d84f7f 100644
--- a/gui-wm/hyprland/hyprland-0.54.3.ebuild
+++ b/gui-wm/hyprland/hyprland-0.54.3.ebuild
@@ -70,6 +70,7 @@ RDEPEND="
DEPEND="
${RDEPEND}
>=dev-cpp/glaze-7.0.0:=
+ <dev-cpp/glaze-8.0.0
>=dev-libs/hyprland-protocols-0.6.4
>=dev-libs/wayland-protocols-1.45
"
diff --git a/gui-wm/hyprland/hyprland-0.55.4-r1.ebuild b/gui-wm/hyprland/hyprland-0.55.4-r1.ebuild
index c832e0b7955f..1036acd8aea1 100644
--- a/gui-wm/hyprland/hyprland-0.55.4-r1.ebuild
+++ b/gui-wm/hyprland/hyprland-0.55.4-r1.ebuild
@@ -76,6 +76,7 @@ DEPEND="
${RDEPEND}
${LUA_DEPS}
>=dev-cpp/glaze-7.0.0:=
+ <dev-cpp/glaze-8.0.0
>=dev-libs/hyprland-protocols-0.6.4
>=dev-libs/wayland-protocols-1.47
"
diff --git a/gui-wm/hyprland/hyprland-0.56.0-r1.ebuild b/gui-wm/hyprland/hyprland-0.56.0-r1.ebuild
index b8a1ddc10a2e..3fa35ed20f8e 100644
--- a/gui-wm/hyprland/hyprland-0.56.0-r1.ebuild
+++ b/gui-wm/hyprland/hyprland-0.56.0-r1.ebuild
@@ -76,6 +76,7 @@ DEPEND="
${RDEPEND}
${LUA_DEPS}
>=dev-cpp/glaze-7.0.0:=
+ <dev-cpp/glaze-8.0.0
>=dev-libs/hyprland-protocols-0.6.4
>=dev-libs/wayland-protocols-1.49
"
@@ -116,7 +117,7 @@ src_prepare() {
# same compilation error.
# https://codeberg.org/hyproverlay/hyproverlay/issues/95#issuecomment-19928755
if ! ( tc-is-gcc && ver_test $(gcc-version) -gt 16 ); then
- PATCHES+=("${FILESDIR}/hyprland-gcc15-compile-fix.patch")
+ PATCHES+=("${FILESDIR}/hyprland-0.56.0-gcc15-compile-fix.patch")
fi
if use dbus-session; then
diff --git a/gui-wm/hyprland/hyprland-0.56.1.ebuild b/gui-wm/hyprland/hyprland-0.56.1.ebuild
index b8a1ddc10a2e..3fa35ed20f8e 100644
--- a/gui-wm/hyprland/hyprland-0.56.1.ebuild
+++ b/gui-wm/hyprland/hyprland-0.56.1.ebuild
@@ -76,6 +76,7 @@ DEPEND="
${RDEPEND}
${LUA_DEPS}
>=dev-cpp/glaze-7.0.0:=
+ <dev-cpp/glaze-8.0.0
>=dev-libs/hyprland-protocols-0.6.4
>=dev-libs/wayland-protocols-1.49
"
@@ -116,7 +117,7 @@ src_prepare() {
# same compilation error.
# https://codeberg.org/hyproverlay/hyproverlay/issues/95#issuecomment-19928755
if ! ( tc-is-gcc && ver_test $(gcc-version) -gt 16 ); then
- PATCHES+=("${FILESDIR}/hyprland-gcc15-compile-fix.patch")
+ PATCHES+=("${FILESDIR}/hyprland-0.56.0-gcc15-compile-fix.patch")
fi
if use dbus-session; then
diff --git a/gui-wm/hyprland/hyprland-0.56.2.ebuild b/gui-wm/hyprland/hyprland-0.56.2.ebuild
index c34663fe8557..7ef78eeff7bd 100644
--- a/gui-wm/hyprland/hyprland-0.56.2.ebuild
+++ b/gui-wm/hyprland/hyprland-0.56.2.ebuild
@@ -80,6 +80,7 @@ DEPEND="
${RDEPEND}
${LUA_DEPS}
>=dev-cpp/glaze-7.0.0:=
+ <dev-cpp/glaze-8.0.0
>=dev-libs/hyprland-protocols-0.6.4
>=dev-libs/wayland-protocols-1.49
"
@@ -118,7 +119,7 @@ src_prepare() {
# same compilation error.
# https://codeberg.org/hyproverlay/hyproverlay/issues/95#issuecomment-19928755
if ! ( tc-is-gcc && ver_test $(gcc-version) -gt 16 ); then
- PATCHES+=("${FILESDIR}/hyprland-gcc15-compile-fix.patch")
+ PATCHES+=("${FILESDIR}/hyprland-0.56.0-gcc15-compile-fix.patch")
fi
if use dbus-session; then
diff --git a/gui-wm/hyprland/hyprland-9999.ebuild b/gui-wm/hyprland/hyprland-9999.ebuild
index 915176d4d15e..bf17e5fd7855 100644
--- a/gui-wm/hyprland/hyprland-9999.ebuild
+++ b/gui-wm/hyprland/hyprland-9999.ebuild
@@ -120,7 +120,7 @@ src_prepare() {
# same compilation error.
# https://codeberg.org/hyproverlay/hyproverlay/issues/95#issuecomment-19928755
if ! ( tc-is-gcc && ver_test $(gcc-version) -gt 16 ); then
- PATCHES+=("${FILESDIR}/hyprland-gcc15-compile-fix.patch")
+ PATCHES+=("${FILESDIR}/hyprland-9999-gcc15-compile-fix.patch")
fi
if use dbus-session; then
diff --git a/gui-wm/mangowm/Manifest b/gui-wm/mangowm/Manifest
index 8461f043da23..bc1d98c7efc2 100644
--- a/gui-wm/mangowm/Manifest
+++ b/gui-wm/mangowm/Manifest
@@ -2,3 +2,4 @@ DIST mangowm-0.15.6.tar.gz 501916 BLAKE2B 5e4ce9b2aff9b67450f106fbf068fbea9c16f6
DIST mangowm-0.16.2.tar.gz 538452 BLAKE2B 84dbf33833aa4b5891592c1dce20fc4dce30edec804b3dc81ecb6ab02568dc05d934eba3eac5b57a495d9b97bb6942b75896bbb7a03cfa653627768a47110723 SHA512 a7c7dca42ca96b94f8a28525dc19a2b484228136dad44f71d37f992ab60be3f277cb3b8da40b3b2984206f24ac7ad673553958eef1af96a41a194b04101415a2
DIST mangowm-0.16.3.tar.gz 545032 BLAKE2B 092ca4532a1c515ab7f6d28f39abbcaf6a984f9351cb0a47438078e5146b25e8a1fae0acc5a50ca708f32b01407350032ae3e8387b3e50ef4e4d0bce03f74d15 SHA512 d9a7fbe8a058b2515ce986fa2822f83123868709bdcc2a0db47bad86e588921b2efe6f117cdbf3c372b18e87b71d18d078229898b41e507ce6748cfc19a1c9aa
DIST mangowm-0.17.0.tar.gz 577948 BLAKE2B e14a2a5fa543f5ee1bfbe47ed379dcd0b9b6d733f7e87130a686a7f1828cc8644076334e577ab4b064dc7242ef5ec066b509b7441213672c4fd84442d7ecb51f SHA512 8c7729ae80f632f0e0173450332b43ef189cbe58d1821d96ea4f025aaf498a4067c10919fc7c4ae37c6cda0607d7d7b27a56064ed83a41112d492e39276063bf
+DIST mangowm-0.17.1.tar.gz 582243 BLAKE2B c7f14be6116576ad6fdabf84037729f3eabd8bf783baf6973670f45d00f36d27f12c7563efa38a8d1a7a335e07d55f5fe5bb0d807e69fc1a2ce6d33d089c66d3 SHA512 bf49ea81dd276e7842eea9ee6e98ccc98bc5334d3a5dc11dfcc7fdc331eafa1b0e9670bc4a82f6664004af60ce728805972810219669d45cd1a137ff86bb5983
diff --git a/gui-wm/mangowm/files/mangowm-musl.patch b/gui-wm/mangowm/files/mangowm-musl.patch
new file mode 100644
index 000000000000..587064e17ea3
--- /dev/null
+++ b/gui-wm/mangowm/files/mangowm-musl.patch
@@ -0,0 +1,19 @@
+From f3862020b77b639b2cf618257078d311041a6967 Mon Sep 17 00:00:00 2001
+From: Dustin Smith <d.usty360@gmail.com>
+Date: Wed, 16 Sep 2026 17:26:50 -0400
+Subject: [PATCH] Include stdint.h for musl systems
+
+Bug: https://bugs.gentoo.org/982624
+--- a/include/mango/manage/misc.h
++++ b/include/mango/manage/misc.h
+@@ -4,6 +4,7 @@
+ #include "mango/common/types.h"
+ #include <stdbool.h>
+ #include <sys/types.h>
++#include <stdint.h>
+
+ pid_t get_parent_process(pid_t p);
+ int32_t is_descendant_process(pid_t p, pid_t c);
+--
+2.55.0
+
diff --git a/gui-wm/mangowm/mangowm-0.17.0.ebuild b/gui-wm/mangowm/mangowm-0.17.0.ebuild
index 1d001a237846..f2cb0e822667 100644
--- a/gui-wm/mangowm/mangowm-0.17.0.ebuild
+++ b/gui-wm/mangowm/mangowm-0.17.0.ebuild
@@ -68,6 +68,14 @@ BDEPEND="
virtual/pkgconfig
"
+src_prepare() {
+ if use elibc_musl; then
+ eapply "${FILESDIR}"/${PN}-musl.patch
+ fi
+
+ default
+}
+
src_configure() {
local emesonargs=(
$(meson_feature X xwayland)
diff --git a/gui-wm/mangowm/mangowm-0.17.1.ebuild b/gui-wm/mangowm/mangowm-0.17.1.ebuild
new file mode 100644
index 000000000000..f2cb0e822667
--- /dev/null
+++ b/gui-wm/mangowm/mangowm-0.17.1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+MY_PN="mango"
+MY_P=${MY_PN}-${PV}
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/mangowm/mango.git"
+else
+ SRC_URI="https://github.com/mangowm/mango/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${MY_P}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="A fast, feature-rich Wayland compositor built on dwl"
+HOMEPAGE="
+ https://github.com/mangowm/mango
+ https://mangowm.github.io
+"
+
+LICENSE="CC0-1.0 GPL-3+ MIT"
+SLOT="0"
+
+DOCS=(
+ README.md
+ .github/CONTRIBUTING.md
+)
+
+IUSE="X asan"
+
+RDEPEND="
+ >=gui-libs/wlroots-0.20:=[libinput,session,X?]
+ <gui-libs/wlroots-0.21:=[X?]
+ >=gui-libs/scenefx-0.5:0.5
+
+ dev-libs/cJSON
+ dev-libs/glib
+ dev-libs/libinput:=
+ dev-libs/libpcre2
+ dev-libs/wayland
+
+ x11-libs/cairo
+ x11-libs/libxkbcommon
+ x11-libs/pango
+ x11-libs/pixman
+
+ X? (
+ x11-base/xwayland
+ x11-libs/libxcb:=
+ x11-libs/xcb-util-wm
+ )
+"
+
+DEPEND="
+ ${RDEPEND}
+ sys-kernel/linux-headers
+"
+
+BDEPEND="
+ >=dev-build/meson-0.60.0
+ >=dev-libs/wayland-protocols-1.32
+ >=dev-util/wayland-scanner-1.23
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ if use elibc_musl; then
+ eapply "${FILESDIR}"/${PN}-musl.patch
+ fi
+
+ default
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature X xwayland)
+ $(meson_use asan)
+ )
+
+ meson_src_configure
+}
diff --git a/llvm-core/flang/flang-24.0.0.9999.ebuild b/llvm-core/flang/flang-24.0.0.9999.ebuild
index 8e496f9376c1..c71c6def54db 100644
--- a/llvm-core/flang/flang-24.0.0.9999.ebuild
+++ b/llvm-core/flang/flang-24.0.0.9999.ebuild
@@ -33,7 +33,13 @@ BDEPEND="
"
LLVM_COMPONENTS=( flang cmake )
-LLVM_TEST_COMPONENTS=( clang/test/Driver mlir/test/lib )
+LLVM_TEST_COMPONENTS=(
+ clang/test/Driver mlir/test/lib
+ # for building flang-rt
+ runtimes flang-rt libc/shared llvm/{cmake,utils}
+ # openmp
+ openmp third-party/unittest
+)
LLVM_USE_TARGETS=llvm+eq
llvm.org_set_globals
@@ -53,6 +59,14 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
}
+src_prepare() {
+ # create extra parent dir for relative CLANG_RESOURCE_DIR access
+ mkdir -p x/y || die
+ BUILD_DIR=${WORKDIR}/x/y/build
+
+ llvm.org_src_prepare
+}
+
src_configure() {
if use clang; then
# Only do this conditionally to allow overriding with
@@ -94,8 +108,52 @@ src_configure() {
cmake_src_configure
}
+build_runtimes() {
+ local -x FC=${BUILD_DIR}/bin/flang
+ local -x F77=${FC}
+ local CMAKE_USE_DIR=${WORKDIR}/runtimes
+ local BUILD_DIR=${WORKDIR}/runtimes_build
+ strip-unsupported-flags
+
+ local mycmakeargs=(
+ # cmake.eclass does not set if it we don't inherit fortran-2
+ # and upstream code relies on it being set before Fortran logic
+ # kicks in and reds envvars
+ -DCMAKE_Fortran_COMPILER="${FC}"
+ # we may not have a runtime yet
+ -DCMAKE_Fortran_COMPILER_WORKS=TRUE
+ # tests rddequire modules now
+ -DRUNTIMES_FORTRAN_MODULES=ON
+
+ -DLLVM_ENABLE_RUNTIMES="flang-rt;openmp"
+ # this package forces NO_DEFAULT_PATHS
+ -DLLVM_BINARY_DIR="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DLLVM_DEFAULT_TARGET_TRIPLE="${CHOST}"
+
+ # install inside the test tree
+ -DRUNTIMES_INSTALL_RESOURCE_PATH="${WORKDIR}/lib/clang/${LLVM_MAJOR}"
+ # work hard not to install anything else
+ -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON
+ -DOPENMP_INSTALL_LIBDIR="${T}/discard"
+
+ -DFLANG_RT_INCLUDE_TESTS=OFF
+ -DLIBOMP_FORTRAN_MODULES_ONLY=ON
+ -DLIBOMP_USE_HWLOC=OFF
+ -DLIBOMP_OMPD_GDB_SUPPORT=OFF
+ -DLIBOMP_OMPT_SUPPORT=OFF
+ )
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+ cmake_build install
+}
+
src_test() {
# respect TMPDIR!
local -x LIT_PRESERVES_TMP=1
+
+ build_runtimes
+
cmake_build check-flang
}
diff --git a/llvm-runtimes/clang-runtime/clang-runtime-24.ebuild b/llvm-runtimes/clang-runtime/clang-runtime-24.ebuild
index b5e56c10b680..137d5c1374ac 100644
--- a/llvm-runtimes/clang-runtime/clang-runtime-24.ebuild
+++ b/llvm-runtimes/clang-runtime/clang-runtime-24.ebuild
@@ -14,7 +14,7 @@ SLOT="${PV}"
IUSE="
+compiler-rt libcxx offload openmp +sanitize
default-compiler-rt default-libcxx default-lld llvm-libunwind polly
- llvm_targets_AMDGPU llvm_targets_NVPTX
+ llvm_targets_AMDGPU llvm_targets_NVPTX llvm_targets_SPIRV
"
REQUIRED_USE="
sanitize? ( compiler-rt )
@@ -29,14 +29,16 @@ RDEPEND="
)
libcxx? ( >=llvm-runtimes/libcxx-${PV}[${MULTILIB_USEDEP}] )
openmp? (
- >=llvm-runtimes/openmp-${PV}[${MULTILIB_USEDEP}]
+ >=llvm-runtimes/openmp-${PV}[offload?,${MULTILIB_USEDEP}]
offload? (
- >=llvm-runtimes/offload-${PV}
llvm_targets_AMDGPU? (
- >=llvm-runtimes/openmp-amdgcn-amd-amdhsa-${PV}
+ >=llvm-runtimes/openmp-${PV}[rocm(-)]
)
llvm_targets_NVPTX? (
- >=llvm-runtimes/openmp-nvptx64-nvidia-cuda-${PV}
+ >=llvm-runtimes/openmp-${PV}[cuda(-)]
+ )
+ llvm_targets_SPIRV? (
+ >=llvm-runtimes/openmp-${PV}[level-zero(-)]
)
)
)
diff --git a/llvm-runtimes/flang-rt/flang-rt-21.1.8.ebuild b/llvm-runtimes/flang-rt/flang-rt-21.1.8-r1.ebuild
index a338c3416856..a17b10380c18 100644
--- a/llvm-runtimes/flang-rt/flang-rt-21.1.8.ebuild
+++ b/llvm-runtimes/flang-rt/flang-rt-21.1.8-r1.ebuild
@@ -53,6 +53,9 @@ src_configure() {
-DLLVM_BINARY_DIR="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
# set correct install paths
-DFLANG_RT_INSTALL_RESOURCE_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+ # do not install flang-rt C++ headers, they cause collisions
+ # across slots and do not seem to be used by anything
+ -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON
-DLLVM_DEFAULT_TARGET_TRIPLE="${CHOST}"
-DFLANG_RT_INCLUDE_TESTS=$(usex test)
diff --git a/llvm-runtimes/flang-rt/flang-rt-22.1.8.ebuild b/llvm-runtimes/flang-rt/flang-rt-22.1.8-r1.ebuild
index 2453e0c2d824..b1d7c0bf46a0 100644
--- a/llvm-runtimes/flang-rt/flang-rt-22.1.8.ebuild
+++ b/llvm-runtimes/flang-rt/flang-rt-22.1.8-r1.ebuild
@@ -54,6 +54,9 @@ src_configure() {
-DLLVM_BINARY_DIR="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
# set correct install paths
-DFLANG_RT_INSTALL_RESOURCE_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+ # do not install flang-rt C++ headers, they cause collisions
+ # across slots and do not seem to be used by anything
+ -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON
-DLLVM_DEFAULT_TARGET_TRIPLE="${CHOST}"
-DFLANG_RT_INCLUDE_TESTS=$(usex test)
diff --git a/llvm-runtimes/flang-rt/flang-rt-23.1.1.ebuild b/llvm-runtimes/flang-rt/flang-rt-23.1.1-r1.ebuild
index 4cb86a5a942c..07f7918712e3 100644
--- a/llvm-runtimes/flang-rt/flang-rt-23.1.1.ebuild
+++ b/llvm-runtimes/flang-rt/flang-rt-23.1.1-r1.ebuild
@@ -54,6 +54,9 @@ src_configure() {
-DLLVM_BINARY_DIR="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
# set correct install paths
-DRUNTIMES_INSTALL_RESOURCE_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+ # do not install flang-rt C++ headers, they cause collisions
+ # across slots and do not seem to be used by anything
+ -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON
-DLLVM_DEFAULT_TARGET_TRIPLE="${CHOST}"
-DFLANG_RT_INCLUDE_TESTS=$(usex test)
diff --git a/llvm-runtimes/flang-rt/flang-rt-24.0.0.9999.ebuild b/llvm-runtimes/flang-rt/flang-rt-24.0.0.9999.ebuild
index cfe7d26cb23b..3909a21e22d9 100644
--- a/llvm-runtimes/flang-rt/flang-rt-24.0.0.9999.ebuild
+++ b/llvm-runtimes/flang-rt/flang-rt-24.0.0.9999.ebuild
@@ -59,6 +59,9 @@ src_configure() {
-DLLVM_BINARY_DIR="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
# set correct install paths
-DRUNTIMES_INSTALL_RESOURCE_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+ # do not install flang-rt C++ headers, they cause collisions
+ # across slots and do not seem to be used by anything
+ -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON
-DLLVM_DEFAULT_TARGET_TRIPLE="${CHOST}"
-DFLANG_RT_INCLUDE_TESTS=$(usex test)
diff --git a/llvm-runtimes/openmp/openmp-24.0.0.9999.ebuild b/llvm-runtimes/openmp/openmp-24.0.0.9999.ebuild
index 6acbac92f700..a03bcbca852f 100644
--- a/llvm-runtimes/openmp/openmp-24.0.0.9999.ebuild
+++ b/llvm-runtimes/openmp/openmp-24.0.0.9999.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://openmp.llvm.org"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="0/${LLVM_SOABI}"
IUSE="
- +clang +debug gdb-plugin hwloc offload ompt test
+ +clang +debug fortran gdb-plugin hwloc offload ompt test
cuda level-zero rocm
"
REQUIRED_USE="
@@ -47,6 +47,10 @@ RDEPEND="
BDEPEND="
dev-lang/perl
clang? ( llvm-core/clang )
+ fortran? (
+ llvm-core/flang:${LLVM_MAJOR}
+ llvm-runtimes/flang-rt:${LLVM_MAJOR}
+ )
gdb-plugin? ( ${PYTHON_DEPS} )
offload? (
virtual/pkgconfig
@@ -106,6 +110,13 @@ multilib_src_configure() {
strip-unsupported-flags
fi
+ if use fortran; then
+ local -x FC=flang-${LLVM_MAJOR} F77=flang-${LLVM_MAJOR}
+ strip-unsupported-flags
+ else
+ local -x FC= F77=
+ fi
+
# LTO causes issues in other packages building, #870127
filter-lto
@@ -130,6 +141,17 @@ multilib_src_configure() {
-DBUILD_SHARED_LIBS=OFF
)
+ if multilib_is_native_abi && use fortran; then
+ mycmakeargs+=(
+ # cmake.eclass does not set if it we don't inherit fortran-2
+ # and upstream code relies on it being set before Fortran logic
+ # kicks in and reds envvars
+ -DCMAKE_Fortran_COMPILER="${FC}"
+ -DRUNTIMES_FORTRAN_MODULES=ON
+ -DRUNTIMES_INSTALL_RESOURCE_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+ )
+ fi
+
if multilib_is_native_abi && use offload; then
local ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
local ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
@@ -166,9 +188,8 @@ multilib_src_configure() {
-DLLVM_LIT_ARGS="$(get_lit_flags)"
-DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang-${LLVM_MAJOR}")"
-DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++-${LLVM_MAJOR}")"
- # disable Fortran tests for now
- # (TODO: enable where we have flang keyworded)
- -DOPENMP_TEST_Fortran_COMPILER=
+ # may be set to empty above
+ -DOPENMP_TEST_Fortran_COMPILER="${FC}"
)
cmake_src_configure
}
@@ -181,5 +202,12 @@ multilib_src_test() {
targets+=( check-offload check-offload-unit )
fi
+ if use fortran; then
+ # hack header search around by copying the modules to a directory
+ # that is already given via -I
+ cp "${BUILD_DIR}/$(get_libdir)/clang"/*/finclude/flang/*/*.mod \
+ "${WORKDIR}/offload/test/" || die
+ fi
+
cmake_build "${targets[@]}"
}
diff --git a/mail-client/thunderbird-l10n/Manifest b/mail-client/thunderbird-l10n/Manifest
index b8e3cdc72270..8a9493dced50 100644
--- a/mail-client/thunderbird-l10n/Manifest
+++ b/mail-client/thunderbird-l10n/Manifest
@@ -61,6 +61,69 @@ DIST thunderbird-153.2.0esr-uz.xpi 419568 BLAKE2B 8149d282935a60c9e482e2c104196f
DIST thunderbird-153.2.0esr-vi.xpi 541823 BLAKE2B 33652bddaf0a3b472dc976096a41d75c2c6f196b510c946df70e41d41cfc39803ad478ab5f2252cf0c62a6f0fd3eaba28ddf1cd4eece1dc8dcc08e1e570b9948 SHA512 a89999acf12c824f752087c7b521b93f42175200ec284a3d7c906da084486364290d3c954e1a0a910388ab98df0a449dc7bb8cfe2365c7d5f790195f09f481cf
DIST thunderbird-153.2.0esr-zh-CN.xpi 526380 BLAKE2B b10d76e0b9d30efb8c3fed235663456414eee4741ecc3583665e25bd4348bb860162b800daec5e02b6136b4065934b0b6d027c813cd67ca9346a6a655a147309 SHA512 828c7edab61bf38d9494f41191076cd67720bccff949bcb2f4ea422fe576734e5327a0ae8e02a81f9bd890a18a9322083897cefa7ceaee0d9a11240e1d3df653
DIST thunderbird-153.2.0esr-zh-TW.xpi 530610 BLAKE2B 9adcd2a99d7a7a65c49c5a13d067ac0969f788fb0d0edd9df3f0e95a30150904f3da2fce9a813f4e1617057c814ef36ac0202c2c232280b244564e19d91f1ac6 SHA512 b1c0c8278991590bcd668790dc4e3267347ddf1419bab80a058a415969a264ed0d03b2e6578f62bf8caad3ab8d7fedcf20a00ec1ae1803949f91da6549b4fb87
+DIST thunderbird-153.3.0esr-af.xpi 397508 BLAKE2B 49df336069dbd6537b5ac2e7e98740ae634c2f14648164dd35eebe4f523b59f01c3932a06cdef96d016cd899f6aafe99834a276e42bb91a92c4ac3a9e253a246 SHA512 962fdda61ca042a4c4493b5270f2b5556e4a7471e8a2c78a210bdfc4205a8d665aa0352576b2ccde985219329a989de48d183c9d6726247babd6ea8f48961407
+DIST thunderbird-153.3.0esr-ar.xpi 489260 BLAKE2B 325b0f0856703fbe183b5d40879aa18b8adf28a6c60b2377dc18bce3e8ad6959a01a48fd699e140dfbfffbbbe71a424261e5c1e655d613b50c010fdf2fd59906 SHA512 6a6d0b1932885ed13119cf2e479750de937ac18c65df95c69cb7deaa93e46d4723c8d37e018d9603261073b7fc85351c21f98624529f8609c496f51202b2c883
+DIST thunderbird-153.3.0esr-ast.xpi 414100 BLAKE2B 0474071d5d5af083619e245563b383f6ae5b110c74a150b39f388930eac138b644fcbc602c6a1f6e8cc82d8cc82a25749e7bda9ed7e7955e92842ed405ecd6b9 SHA512 67e947749999a71ea5da3e0a8df17e116fbd09cb6856995c7701b10a263d3a0c49b20bd229a598d93fe41a9cf2451bf53833c43d1670d7628e07b8eb68046b0b
+DIST thunderbird-153.3.0esr-be.xpi 556041 BLAKE2B 35f17c6f88c499d9d06e7010e8a13fc897e02783003eaa823e8158d9ae38ad626f90947ba52719a4cd988b4cb6ad7c97f28aae3df62d9df641aa6011422d9903 SHA512 615551d5c69dda83261b8c2f0555d17d34a6c3c895fe6a4bee0917cb9ff04422abb162f3409abd2581a182daf4dfed07a70b74af65e04e7b75050bd2e7972e0b
+DIST thunderbird-153.3.0esr-bg.xpi 567697 BLAKE2B bbe78ed4781332cb539352db80c467092481097a7c119049be30ebb37faab0f5b823e6443f79cfeb70c901464a061985918bba57074467dfab8b3958de9c6464 SHA512 57192d51c54ca8ee7ee09f80dd6e4316a70c50c52029bd34aad39d6769b6a360d90c4b0862a873653c7b94d19a8218830f0bf1883247dce263c29cca549022c3
+DIST thunderbird-153.3.0esr-br.xpi 440397 BLAKE2B 0246a51d1f208ab0902c15effe99da87f410945da1f70a16e6af29fadb107f86b14153f5910ef475d6cf32ba2f0ebdc119195738b32128202f6b26b0d8b9faac SHA512 e823af61038cb9001579a9d2e38fb072d4840b456c18829616063cbf989a2e3cee63bcfa00717e77efd57ba2b7464e79f9f45ee99b5c0b63482c34f5b07dcc38
+DIST thunderbird-153.3.0esr-ca.xpi 478071 BLAKE2B 88e9107607ecac32f34c2c1b7a9ff66e37de2c8d2c317d3aa6c3bc40a11f45e949a3e45e1dd93dee1a5151d76abdfa2ebba9a6b7d64a90783e8383c60ce690b8 SHA512 a8639be275c35a2120a6c96465505c509880bde2f21e36f022b8d43547475ddd0bec880a0f823396d2cd88e2565d70d856e88b4fd36fe3cab560336bdc3f65fe
+DIST thunderbird-153.3.0esr-cak.xpi 457321 BLAKE2B 4a7e10f457e55acc2d7c16fd1ee029079feec0bc828eb1e8f7546c634b60a5d5179f421451844bdcb4c843cc5712f2ba93216fbcc536834e2a1f49fc696d99c0 SHA512 92abc0fc3af3c585521ae23607ae58c243f33e890444281f4bb87e014764fe10ff0d9133da4a4b050834e3519b890f7057f0fd278633ed4b9e93d01c1ae20875
+DIST thunderbird-153.3.0esr-cs.xpi 541324 BLAKE2B e862b2e14ac24fff3833fe78e6786a43d0b180b8758a600fd00b6734508d061743c6cd063714b2459483bf297a991fea3517bdaa0cfedc22d7036b6e3805ec9b SHA512 788dcb1d1eedc4173ff072230559bf6e23a53f4cd247eb18388242befedfdf0069984af8f0e2fb632d89f7d91808b65cf4f0ac2b48b9a4de4631e7fe583c21d9
+DIST thunderbird-153.3.0esr-cy.xpi 508886 BLAKE2B 2618384e664d4c9d2b1faeca3d0b58af8a1ab54aebc38347984f524179eea1f66ff77a4649df6c72ba55fb07ed0bc02f4f29d7a52672e4f21285b583b465c56a SHA512 9cede00548dd5faef225947bd2728653659609e0190d700389c6f2e053a4239df3bf24fb06e808d017abbde1fed409fcedae9518ef1d9a6ecaf4411fbea34b1b
+DIST thunderbird-153.3.0esr-da.xpi 494753 BLAKE2B de622b3f01dad1cf67547b1668b634d48ee579b6eb15c6fb3f32c53899d9bd8a2dd93f8b17548e11ec5924e7bd22210933477d5680bf2901a3a441182d704d74 SHA512 1c0eee9e86a762860f74216d48682b21e62f3919034d77d1d8fa1391eff85c229267c6b13eebab9e6d5bdc1733890d88a78d68f64a0016554dc2295f3b2801ef
+DIST thunderbird-153.3.0esr-de.xpi 524918 BLAKE2B 19d46064b20e4a01e2626f8473973e6e17fe3acaeaec1bc9bded29f6bba0e0e36a9cfeaa2c4ec07ae34612fb439501614a8fcba57fe5544982453cbd7aa3039c SHA512 70cf689fc1889a17d9644a5ba6ca7fb7e5eac3c06a5a91746cde9130dcb9bda92fb8c555faba5e4c470af0deab3cecd0aea1241bbad2bc3dfc074039d74197f8
+DIST thunderbird-153.3.0esr-dsb.xpi 538713 BLAKE2B 81308a1b0d2c7d3471feb10898410c329a738e49b0c66ed9f93fd7fa8509daa61d96c4dbf98d2c19a858878978268be5e657047305d619cf18084670bb732930 SHA512 4a0acd95d8a8d2190880c85a116c301af275c7ca9ab45bebae8577bbb8bf63ead051ccd8cb9af08e37feddce9d9318fe4c823fc1f0730ee0b57f08a1e7a8a2c7
+DIST thunderbird-153.3.0esr-el.xpi 631500 BLAKE2B e212584c758e032ddc152b7e9dd883dfdcc11873fcdbb61740ab320208dd245ce8aa6fb93fb113488b3ba625fd92181438aba429e374db3f2f80f79ba4a4b11e SHA512 8fc6a5e412b05332a0cf6e3328634d8767e349cf251aee4f90a0ff35c72c6f3c3e20e406948aea8369cfcc0c922dbc18f48b9b5ce01ca1f7fe722354f4a7ec9e
+DIST thunderbird-153.3.0esr-en-CA.xpi 470422 BLAKE2B b766b15fa2b4f3224e7019e8effc56df7c2662ddfc77b824c7e3d10b31f3c49a060950893b4c0d812e12d3978e6eb8df542e10914d28f578e7e0e39dfce0d5b8 SHA512 c435bc971267339cf54e30ab8cdd3cf1e39a4242b51cecd0f0428d00ae0b74280d15c1234d0b1e1ebec7eca24349d849ffe755c8f94df94226f6827f1b799000
+DIST thunderbird-153.3.0esr-en-GB.xpi 470298 BLAKE2B 56251693cad73440819d36e53a41f14dbb34b9833adede6111020f4de16d3ef2fc7305e76a4518119538ca5642c525bca2877dc2a6a6c70c135d4bbca1739db4 SHA512 c49f1b2bb20da5c6ddd42d1306f66497ba9f1631654b9cabdca3a99edf3bff72ab1ffe8ab7f6c0c0afb77e638679c7175cc848530bb6a7914106aaba6a005b45
+DIST thunderbird-153.3.0esr-es-AR.xpi 514594 BLAKE2B 9c8936b49002e30c80007582a071fb7236c9f4e381025994508bb0f6064de2b7751244b3aa3bbdd5d541427529face4aa439fe6140b01d9fc81f36dc994dfc6b SHA512 a74a409f7e48259c08593ab3808bad0db8a30870c70ba8540a86949d2ef99059fc8c75486746ad8afb4b36355097eb3033312f13f645c8f3e61fbf0b99d877a7
+DIST thunderbird-153.3.0esr-es-ES.xpi 516904 BLAKE2B 6137ca1955ae0a3e99aae9725aa7a82c1a70e7621294864d60f80e105cfe5cc0120658d2ed43963b9dea251d272d3a0fe0d723a5d29d9859a8f9d6a8335337ef SHA512 d62cb685764716ee79afa07524c4bbb1e704f82b61b5acdbc0c0cf77d14bd47296a034e0439dd2e905ea6983d9c8fd98a47f210ed1617c51f9eba1309ff9d82d
+DIST thunderbird-153.3.0esr-et.xpi 464356 BLAKE2B cc36fd6f2b392f03adcd9ddfac365b84ffbcf236f891ca7df3a234f01ab441ea5e7216dd74f86e50085c5e3cd8309894ba96d268786aac6253dc9178e52e3de6 SHA512 aaa738618de81ad7e3ff4f4b7fd566f9d81c51abb4b3db33c307b3dfa851400f6d3d3fc2ded1d98b94bb89bc5cde9ce4f7b8256b00d99fecfa601e4f25b39447
+DIST thunderbird-153.3.0esr-eu.xpi 497081 BLAKE2B bd763e03d8ebb923475945222a23cea0e64049dd35c82cabf93b297f4cbce8d7b6a7dd9c0744b0b1af517e7aa3d7788e8b7954f788626d7d9b2283e3475c626a SHA512 058f7221cb1a7396a9af06d6e398f7e02eaf15e08b43b5a6a84b8d351d371129c9139117681c6c58f655f79be9a188aece2d43c1fff3e3074d6eda16ec9276e6
+DIST thunderbird-153.3.0esr-fi.xpi 498097 BLAKE2B 66feee0a8eb560f32078a603effb424ff852158137bcb833b9b4b2848b0f3e5d60e295fdbc89269c8036d6d6a054a945b20f554b2b42e508d1917a8b35440cc9 SHA512 cfeb79456cf9deca9b3b4370dddc0337f329f93fd2cb9b2ba04c1881f581db2ddd2dc9cd12f44415b3223b178ca971982feb2e709e07651a1d5d46e4256aa768
+DIST thunderbird-153.3.0esr-fr.xpi 528630 BLAKE2B 8f10f5fe23aaf8bcc9e18985c60c14a4c93fc9992dcd6d62357e7e6cd42302ed3db4455e134e5662d95a3021cb2c46c616ec5813a7c8f8c21be4a0e63bcaa629 SHA512 bec0df2429b2b1607be97db693bab1dd203e5a00c07badacd8c4a2a507adfd21decd9b0a507c1dfd03b91004fdf3432c5df3ff2213e12b46a229df8286eb73ab
+DIST thunderbird-153.3.0esr-fy-NL.xpi 510254 BLAKE2B 773da6080661a30eed334e58b0501e3f4319650efec02386618846ff64179d507d8592bc0bdb1247e3ff2553c024b42ccc13a9b8139a3a26213f935c8080eca3 SHA512 4f47835991b9491b4e5406318f289fbcd5870b2880e732dd5caf8211e238c319fed29ce9ee1317faf5b230a45691ec89ec1f23fafaef4a4c7c0c5677d7142774
+DIST thunderbird-153.3.0esr-ga-IE.xpi 432737 BLAKE2B d4d5c5375ad65713ae4144976744e8df740fea82f63dc51911535ee5e2cc512525ca144ac5c782f829deba2452c2c70aaa1a58cc8a1c6b31ccae414e2c121265 SHA512 836f77c0207c9e119572e712681dbf68b5066f55b7d88ce289f523091c566f37a457e967179897985a88bd84cd76b2d7c5bb9fdd8fccd201fb12b011f777a7c6
+DIST thunderbird-153.3.0esr-gd.xpi 486238 BLAKE2B 239dc3e9661a4f96bd1bb6727c4f1fa5156c2b74d6a4f958b85f14b01eca9fe58be512b8cd19eb28b99cd9019dc8ea8599aca00a7f79c588c80fe7a65a8fd41f SHA512 a8e292f8cdf4f1907092b10c3f7319b136a274e02cae4be5a82f2f70c92406f2c5bcd58d6fb42fdb19c136ff3b7455bcf7104cf6844357160d0d459f1bef4ed7
+DIST thunderbird-153.3.0esr-gl.xpi 500127 BLAKE2B 6d1c25b58bc6b504b8a9b4948a62089b827fdb0a49ccbd416b780f2ec16c0b86c2819e4ba9ae2bb9fd4504c4f7144b9ddfe988ff7b4309a351015390a179f1db SHA512 c8ad7eb41c5c8f74d9aa4c4ae3cd461390b300b1f1d5a5aed175eaa11634aebc0b98ed3364a68b2cfa7513f33d0b320ac70c5ee8e6c0e8aa23d82a08fd0105bb
+DIST thunderbird-153.3.0esr-he.xpi 484645 BLAKE2B 81e1f6972e9d25a2b904188425782a150ba182ffe399df6adb2fcf13f8a78f2059d7cbaa08c81b510b91b19987c19287ea15af0a5f361cc785aefefedb2428b9 SHA512 996f8476ce6a2eca7858aa6474c3602e7e16a9896afd26d603e2fbd8e1941ff02d27bee36cd647dee6656cdfe72fa1fdc6b8cd06e5ec9dea59a063cc4908437c
+DIST thunderbird-153.3.0esr-hr.xpi 498427 BLAKE2B 7aa0a823575a66686d185c35bbd4c295a4e9c5f1238f7db8554ba562c17805d19c4491ee43aaf8108c63745aabe00c8241aac089687181bab0cc0a607d1a93d1 SHA512 4d755c859fce9b7b62606c840c030153fed09ce91d92c089843d9b227b60f09e9619f22c26f1da143c9d2c6510bd122349011086983025761005b0aa1759bb8c
+DIST thunderbird-153.3.0esr-hsb.xpi 536041 BLAKE2B 35f730a65b6f9bdd5a1156b34007db6ed2fe4b6b0b30c6934f0a9e41c6f40fe34f430c8b6480fc7ef8225fc8f0eb9c04d27c17b09bede70aa6ff2a2e559ea690 SHA512 de07bca6025332c90244769411df932c7f07b5a5d8944f464a91c91a15c07c99089474629d6982f672ca4b2bd4c5d202dd5b2af7de47a5640deaa9e7b6cd36b9
+DIST thunderbird-153.3.0esr-hu.xpi 538234 BLAKE2B 40aad7872d91aed82a008dba0fef83598ce6500c962863896a23104d13886243194107615b74e1de06aaad5da0cc890d1a905714ae978312cfa960aa7c6d0a90 SHA512 07024a8022873073a988f66f4503f2dce6fcbbce21c827ae9feee961bf1b48bd0860b3401738de2c0e12f71a515381554ac6337d727f27ba7628464f0f50ca66
+DIST thunderbird-153.3.0esr-id.xpi 482848 BLAKE2B 95da403b7fc3082389f6c7567db8ce4220bf06f6570db5f9f1d0cb9685f3e423fee62508393ccf899267a96953a5ec3d034471f9953d6e2f6e3260e14bf85eb4 SHA512 ce3a25f58655e34398b0109bc5e67f0b539e2122aa576e3f33f0205838ffba6ce5ecb30019d3cc40ed1175972f64a1a9a22811fbbbae72bce476432f19084949
+DIST thunderbird-153.3.0esr-is.xpi 508463 BLAKE2B 6066cb76388e920249b51288c9264ac8a85c80ce782a32c85a7dc32c6e3d04e2974fa0353ba13bb550c91f16fc3bfca526d749e167d2156d31a4add5e8b0ac57 SHA512 c3b6438e5750baf496894e9c8405e8fae17478f398e59e80c26cf656062408aa0721a5ecb33306b65ae595fdab00aeab9ef2bf01a0e16dcce5a35f8a3b7a86ea
+DIST thunderbird-153.3.0esr-it.xpi 507911 BLAKE2B 35a359a36ce1ee0abb98ca8f7c9dba8e772b9fe027165ee216c194b17a69327243c496e2ed90d7d988e009f414ad80e8b080ba96e66ca3708d0d9f7d2b19a3a5 SHA512 9a201615ba05ef9e0c34004498ab74a27f0b18e501bf2cea6e50bc5586aac30f370e3aa58c74a40bb05de413eda8c6edd7c0d9b5107b68126e2d56e0cb03b04a
+DIST thunderbird-153.3.0esr-ja.xpi 559784 BLAKE2B f79e186de0e0e63448d580669bee2b08bb7e1d830484c1dbcead4c2ce8a0a063f53252817d9a7f37a100084a998efe049a5ed861b0a01858ea15adce1da92bba SHA512 c0af2e9363d95b1bab51a71d1ba8ea089de375bb23df768a3ec9e978552a33172449f9980ad3ac123bdab93f669ef36858faf25875d31f462fb7a5cf25fba798
+DIST thunderbird-153.3.0esr-ka.xpi 577037 BLAKE2B 863e2af300b8391b6f0e20e00a7077c6b857800d1b4cc3fc20d98f588b88cfbedd519f6a5b959cbee1c3ba0ccee319d34f5d2f5d9731bfeb7c90c1a8d1e4d1c7 SHA512 40c9ff0477d0e8455de1e9e229cfaccb30caeb6d3b570f0d7ecd8a66a719b88bde8699c3f95f17ca1b66387420055e44f1cfaeec00d96fec54d91c77a679f9ae
+DIST thunderbird-153.3.0esr-kab.xpi 488118 BLAKE2B 41a46dfc634674c1b47b38545031ad5243fca636c07973f50180215b2c9c36f789cee975fe7652c84954fe1105a1a3d1e5875b3d04a59f3760f327692e5cc40d SHA512 5680de98e22db62ab9c4ccc72966a65f55c0b4727aeb7eb640aa65ede83f7916649c1a8ec4d84b41f385e3ec0c759e8e5da25fe1cd508c51c7a49214bfd9eb61
+DIST thunderbird-153.3.0esr-kk.xpi 601244 BLAKE2B 9b579e7a172a34a49825f42f3edd334a4a076eab26c9fbbef01c4be1fd81fd7550a3075034aa4e6ce783d39c0e24d2dad5f5499057f916e5dfe44838fba07f1b SHA512 8bf949e68a077ba82e3564891a0edf43b2bd3f45930180185cb7d404e61196beae4d463825dfd99853ac28b951634b822f496f46d16ff1322c66f894a2b5043e
+DIST thunderbird-153.3.0esr-ko.xpi 535390 BLAKE2B af47d2475272d74c876875133718c61def6e81ab24fe7162afebbf86194127ce3787358876b82a63bdec383e96cf819611d2122ff93af65c19bd55d829d4fcd0 SHA512 cdc96b29221cebbce72399246ec214393d8218648511ee1bd2ff481c82e11790d4f0185152b902f29182ae63efad410dea0f0049ad136d9f94a6679fb3bf0182
+DIST thunderbird-153.3.0esr-lt.xpi 481632 BLAKE2B 650be1c56a4a89e165247e58315ba212df716dcd16866df4353bbf21eb2675a1293770130c82f6173eb00d7156eb7298907efe58dc62932ef4fce52260ba1c36 SHA512 7f1a795a8b5533cad20f22ad7dddfa4faed10c673e2376ee4e8786eb571218098aea32487d9b27e122f805aad6ce0092796285d40088ea95de14d93da3be5c13
+DIST thunderbird-153.3.0esr-lv.xpi 452384 BLAKE2B 521b345a30d87a5bc0dfca7c6f63ac141e0089216d6bd5cc1ad4f6f3418a1ecaf9adcd78db1505df4a1c5e33047bd58980b87c6e9bd98ff8a15bfd0f0849050b SHA512 3268a4e9953f49d8c8b92bfd6d3eb969f43a7022db9166b2cd4cdf133dfae312d4692b18d673acc78abc191cd15e5477195cace6ffcc50bf289c92f4b9409264
+DIST thunderbird-153.3.0esr-ms.xpi 403311 BLAKE2B ed9e455d38078d33ce91ab57fc7158064d45442c6a37864244093108c6ff17477d3d18f3bd67c063bfa99fe5d979653a3955aed83061e83d4cd548e8333287a9 SHA512 b2766a15b85a0b9765b1883da689e0877cee14636aba70cf375dabb413dfa10b45b11765dd6b92cd14ee2c8536d24e9256a5b62c97e1b5bcbe0bb1df882b8dc4
+DIST thunderbird-153.3.0esr-nb-NO.xpi 495088 BLAKE2B cbaf2f3a01da52005843a247bde3504144828c1e0756057af154f06d95ef22df598967010d3baea85efdb4121334c2dd5dac8dee03c67ac2e44c22449c537d0f SHA512 6fa86aba29282f248d3c9003ed759e0cae69aa63b89f6479976d3a3ecfc451124b2cd878d6957d20d26e560faaa681b48c77d0fdff83449ea349986c2e88fa7e
+DIST thunderbird-153.3.0esr-nl.xpi 501750 BLAKE2B ce6d0fe808eb765b2f83e5b4a98f256403ee6f6fcb7d1e344399c9b44b5a6d3304092f93e591dae91306ac914f2970c9fccfb2e1708b2e4fd3f4bad76ca23923 SHA512 3661b130518c08844e69bfbbe577c9407f575af37a509f124ea4ce8bfac13bbfca7925de4a476fb82c397f23f41f4312fc3814fec760f40eec61480b8af70249
+DIST thunderbird-153.3.0esr-nn-NO.xpi 499073 BLAKE2B 37717af903fd9e9e2ac997d50c76efbca933079dec86e69a995e47a3ecfaa6ed4c5f2b13db6c2ea2a6fa3be904dbdcc944c87f56b2dfb29d6c9160151a4dc3da SHA512 a25cd9fd6850659c1ca1ab344a00b48b740ebd39042fc82aad9c07367f5b58a008543a8be75491875d4e736379ceb77a98419d6ef67e7ed861d23b57203d77f5
+DIST thunderbird-153.3.0esr-pa-IN.xpi 491264 BLAKE2B d0d4454967a429817bbf73dbe046579155aa546fd759032083de62a0b04ef72bb6ff015e377784aa73f747cbaa34ca4ce6bd489b3d8f5d69c5195c2150039792 SHA512 086ffb901f52479b0a41419003bdde2746fcef38346b9737deacba87687801ef4e7dbb6f76a7f0dd65f8afba667dfb76170f306fffd044bdfc60304f12ffd45b
+DIST thunderbird-153.3.0esr-pl.xpi 536404 BLAKE2B b6f4c27597666d96a964490336991c786a2a68ca0133a79304a951f0391932f2ffda1f9a1ad6ae425d7f40c6659b4024b8159b01544258f9e1a10bf8d34717de SHA512 1133136b515e6cfdac4735d2df2b93447f6bbd885a81b27c60306a116313b8214b43099116dfdeeb99be62e53b9cae6e1dcbe117b36d8057aa17019ae5250048
+DIST thunderbird-153.3.0esr-pt-BR.xpi 508297 BLAKE2B c07b0fba788857057095ae8102d601891685164f44a5fddbc0f4c16a35c93c05004fed4e9426fae18dafcc88fd01b4ad7c6af7eff5c3e6997bcb32dc5b53a4d8 SHA512 6b3b95ddb5e2349cb171990c0d8a2154544836109d6a83deb78468fa2173398e1f3b8882047e9c8a9b65abef9a337ba65b6f88df95f9bbb8467f571339d582a3
+DIST thunderbird-153.3.0esr-pt-PT.xpi 513429 BLAKE2B 8740e7274e23d7d10aa1a18d65b16d4c3979c2aebc664372595a474dc4855e475d0c74758d073eb841ed111ccfb516ff51d46c06cae47370c6ebbef5b8a6c72d SHA512 25ad9fa3aadf8c212c7b2d54b7ea8f52527c5ccb5bcdf751c9790a589363fd91e982a499936c23e0700de4498f1fb2e298497780c200cd1e46c6cc0b8fb42df5
+DIST thunderbird-153.3.0esr-rm.xpi 498934 BLAKE2B 165238cb46e71f3fcc6d08f404ecfd94238c37a97e30b87960239760b7800c7cdf48f30128e04ba7eb056e703170e810cfd14a6c413bef5070a9bfececba75c7 SHA512 063501f62ccafd24d61d698d0b7e4a5bb755b125bc46686fe2a172a2ba5dfc0c450ac83c215baf36bbc9220a16fc7440fa2dd6d8b8834d06da952cc1112e773c
+DIST thunderbird-153.3.0esr-ro.xpi 521152 BLAKE2B 032c74acfc0d7b90c6e56f21467114d7e3d6122308d9be2677fe50ceb594ac5effc6348d3eb907057be7cf3e9fd42c6ed3de5f6cf044dc7f2953b7e09d7eaa0a SHA512 9d651b3273c9f3080386dbaa42f9206563eca574208c473a9a73c2523ad2ebc6c9b0ff27332279a58f428ee61a9711bc382f850b233d927f40d1464e58f7f578
+DIST thunderbird-153.3.0esr-ru.xpi 616071 BLAKE2B e164ae3ce768007ee3b00c9809c3608a7ccca8062b8bde12da8c8527da08f1e53061a5c6da44c1438357c5fda688ba4faab3f7a2f2190cc8c369e209ead29b41 SHA512 3f1add3b7012ad44ab95f8973964159332f416cd83c410e0dd3c1dce80777cc4fb2f7a46096c93d002982ada0e9c000c4d7daa00b9917d6518e483130bec867c
+DIST thunderbird-153.3.0esr-sk.xpi 541182 BLAKE2B 4526f8c14178821ccd6f386f84ae3c8d0f79b8e8eca4f6af2691ec714f4ce9465169c8d59805772df9c7ab1e749f6c7854163e67d02dcd0d7a6561dd17725a3f SHA512 a3ee2beb2b05b2f4aa670c1cdd1d115756997a5061034c442bfc6d9caee53eef1b9f2f4362baf43e59ae86ecfdec168340dacea345cbfecbfedc2ebe1ef866a7
+DIST thunderbird-153.3.0esr-sl.xpi 508742 BLAKE2B 3e14ed7858add9640148b093c231b9cfc7370e2e85591160cd6503d82cb949c06aa7d0bc33de0bd798a58c82b3f085d55b4cb11b0e19b6a1f855fbc1b67e15e3 SHA512 14d212aac8f0e188934d60a7f63e1dbf4007ad6be54f9584ece4fd80223d909236444ec618461e25d4eca3597c4d5dd7032259984c18ef93839f2cddf400118c
+DIST thunderbird-153.3.0esr-sq.xpi 525029 BLAKE2B 57c37f749ef58eb0887a8b7efcacf159edc5a5daad4071b04c46b45ae367c85d9f8ec6b1e80fe7b23ce13075956e1f5739f0f42ea00dadae9caa7179c326b234 SHA512 2875453530e742e93d7b624de58bb3d55754df673a575794759b4442292edd59f044a5959818e3473591ba8697a936c2b015df2e8b1ee4f370cece240870d79f
+DIST thunderbird-153.3.0esr-sr.xpi 581150 BLAKE2B db63a7cd892c16bb42c5101f4152bf67bdab8bc205e1618da8bdf1fbf03dc0c73db25e2b6881eaa0aa1deb74c84bbd71c47b57398214bd5d943fbb450d0a5fae SHA512 5b65748a50f8162e078b7742e8572bdf80b38ab42eb01ddda7e309c897821ff0d59f5affa957f909e716da856b1298b4f25713b052bf160d1328e7fccb50568f
+DIST thunderbird-153.3.0esr-sv-SE.xpi 503769 BLAKE2B 075dc2ca108e2f953a613850ad7eff7d9c1a166ed7a8407ffc7e861073a516c05e16c9e15d52306cd0154624e3819f521063991b2e236b243bf24767229ef896 SHA512 0573e4d67c94da3945ea21caf3b63eb7dfcf5112238b8bd9702d718de3b3da55e900b2372e58c5245a64d09202e6793eea06a327d418b0cf4d46264d4abdec1d
+DIST thunderbird-153.3.0esr-th.xpi 585202 BLAKE2B a51b93d342eab4eaa7297cfedb03fefe801e32591034d1465cc730edc783cc485c2839eae8fd9ae46be0ad83dff6e2e218f7edd2abd8d3751ea32de4dc8e7b7a SHA512 229a1e58377281b8a9a542b3bc8d91fd17a5ee77b3ce39e5c26ca1407d36d8351768102b6ea9c47629c5ef2390adcf8c7c2c73d35add8d015766e6a625dad78a
+DIST thunderbird-153.3.0esr-tr.xpi 515617 BLAKE2B 5b6a7c79adb3a926a3865048ee66c1979fb6e236fe9fa62c3a45ade44fac6361c24cea19cd1c9e5a1fa21db769013bf8990ba1dab338f0ae7e1bc0f7ad5cd19a SHA512 20e1df8c5fd832172f20c4b86559535ef23bc18e88de5b20593b4a680923de27f31a23552a05057041ea1962c224ccd4af1bd2180914aa6bea9da59765a1c07f
+DIST thunderbird-153.3.0esr-uk.xpi 596148 BLAKE2B f7d5acf38596e90a8ceab355ea067540f52776675f30cc694ee3149760bad29a1d76f4d417613db9ade27b82c02643c2b59f20d9fa88b87ead976b0ebf328bf9 SHA512 248da5b36e06d8ebd0ceb0980c0d7a16ef6486aa42a59833c973b4e33abf85dfa9531245a611295025e3f9ec04120095a2d19eb00b06b774e36855c8949819b5
+DIST thunderbird-153.3.0esr-uz.xpi 419563 BLAKE2B d5871b13844816fb793684635514e4e8b246dd00fb172fec8bb2855086154b4bfcfbc24069560b61760a594df9f874bb7ba05503e59c54441860c2c97b06834c SHA512 022737c5e9987a2fbdc24c69ba9fb5fbc824b76ecb247f9cf3bab2c4da48033b916ff45f3ed9afcadc3a073b433e25c1bbce8be82a94ae665ce21473b746c04f
+DIST thunderbird-153.3.0esr-vi.xpi 541930 BLAKE2B c29226f87d886a67f3a83e923fb91166aa04967b15f98dc55ec94bc5872b4ea3cd38404a069de6712b8afad61a9faae7fe83ba0944deb57d3ec915fb8e77ffd3 SHA512 1cb6d983fd27c04d4de556d797d98539ef983690a5a8c0cc9229ce4dac1dc80c668d2532ce457ffa5dd63143d97c8bab6e50ecd829f993cdb8c7f2b248968bbb
+DIST thunderbird-153.3.0esr-zh-CN.xpi 526360 BLAKE2B df3f7f0a6dfe6cad3a06ee2d59588133fcab019f714d0dafe4f06a51e76ab48f98f3913e92a39278ffd68050efd894c6a2b351fae2c52a4ba26b94c736d2f9eb SHA512 c04bdd944744fff2945656b0a59a91bfe835846b1c25551462123646f710136f9b305389b44381007fc0f16fd9d2da1af3c12bda2fcaeaa236004bfa674acd5c
+DIST thunderbird-153.3.0esr-zh-TW.xpi 530596 BLAKE2B 58d2881ee6e1190f557979c6701d197de09d21af3c5d3e3f58e481175da4a87da265a2cefc795d640102402f0cfe6d7ce61023781ff0fed818462b457d2df4e4 SHA512 5f541d0892335a2df75c36b447de8b6d36a822c53ddbf234b1b52311bd23280422e56dc7eb25d404f551846ceae33165799074201f31deb6e2f504c35d02b230
DIST thunderbird-155.0-af.xpi 394056 BLAKE2B f9724426c22d2ac5c6d9fa0f68b50ad4d700132abc5b9d3ac94ae024e1ad2dd6547eea16ee2821fd54db7c50e78bba9a2caf4ac1bc78be90c077f7907bd22312 SHA512 7509b73ff727f82b3184ad457b22f3adc91fef2818624caa74056c02436bfa475ca314d97f61904a3d00dfb8f0ba55d2197d90b94bf7aadaa8b3a184542c6fac
DIST thunderbird-155.0-ar.xpi 490939 BLAKE2B 23df5323d7fd7c67da889b966e75bded92a9763ce13fcccb71591098c1bc749f131701fe2523b74a1344d39ea6b5eb6677f2cd75587511c57e9915c58ed97ccf SHA512 f3045783fa586207c3e4d443de7dd9227054c1444084fccd7a2acf0cfd2969f5362add6fc7a3828c5762e510de2b9b21a2e941627f361fe1fd24cf6d8e6fd245
DIST thunderbird-155.0-ast.xpi 411416 BLAKE2B c0927fdf6923a08f8f8f14cc8a2193fd0a787963b781a12f0b5a1f6b3302b4e38412d566852260ef8a8325dec4c8fad403ad0b8ce5a475766de4a88d2c6bd658 SHA512 471861ed5b1c735c05ebc115701fd28d1e38dbc6156885e3c192348b985b86ee3b0a43c070434287361d74b33b60278ed02bcd6bcdfd491e0e195955f1c940a9
@@ -187,3 +250,66 @@ DIST thunderbird-155.0.1-uz.xpi 417899 BLAKE2B ee17218b383642bca66a55a2e8d9d3ae5
DIST thunderbird-155.0.1-vi.xpi 546292 BLAKE2B b67044b2b7b0429761b0b6edea263014475317b3539e7a5f818736a0fd5808a9b05e3c34dead9dc646815ec85c02c12e7ec9d90117367cf75cb323cf1ae7ce41 SHA512 de4c9e292219315220357ad6772204e9a1be67d8199cc9239a2d4c0aa648c21be3c6dd448d582b3752ca482445599ed5e6c8aa388e0ee349304b12715538eb8b
DIST thunderbird-155.0.1-zh-CN.xpi 529263 BLAKE2B d7a872a35773d0f26170d0eb1df7b8fe1d940330cdf05e08ff2d125858c5a3478d68a944fb16c755bdf35f7cb4751a89e0a2b4fedde8f0ec30a957d8f48bd1ff SHA512 7bfe552932a0d61dfed4c9f1e716a4e78cd65295ea2b94ec117bb13d0a1f8c46c4fd26115678718f412f4d1c14a2fb57a8e865ae3dc3c95dfd26a68ee6e363a0
DIST thunderbird-155.0.1-zh-TW.xpi 534870 BLAKE2B f96d780fd6786b2ea9b7e25ec75c0d6738d46bd8714662ada72c13081eb2df533f2f4af10a839bc2fba52dca9d5cc852a82c1d778c4858602b5bfb64368469c4 SHA512 8a04ca4708df980746686c008fc226c5fc02dd54b6e04fa46388ff29e46808751c4294ae04b212321bc8e33bd16222810452012aaadcfb313a009d16bbfb7cbf
+DIST thunderbird-156.0-af.xpi 395008 BLAKE2B a840d16a01b572da3542032aec160184478209b873138deca4849890bb5b9c78dc767fd7fe0bc36f9aaee3c246e49321ccf1a13dece61ac8c5da86c7774e3443 SHA512 418d4e70b7e2eff9d0de78603300d73836dc9e0fb9a4f594c352cdf1250a30049135f3415c909f833a963d34c1502e497039c2d29979ef38b0182bd201504bb0
+DIST thunderbird-156.0-ar.xpi 492142 BLAKE2B 50e8fe48920482ada5a67e0f0749fb4db40b7946ba96af9f1de96b811f80d95f53f44dbd2f689dbfbb07fd89b1751a895808feeb459898c31b009b9c8fcc0179 SHA512 667b48b88e18507ba31939b027d97b0a6ffa0803ab22ec13e919b070bf1d934542a6dc0d516c41fdd4792d7bfe95f972db25e02661b8a2886b07a9c9845be9db
+DIST thunderbird-156.0-ast.xpi 412398 BLAKE2B fc6794c4ff773246bd170773a9b383dbee617103fb9ea386e23e7bae0f2285696c786e83909a77a973a4d7713f9aa4759b0c36fcbd788c66e420c9abbd0d6c77 SHA512 8ac394ca5688a5776f95f78418d3fca54d13f475a37e7a3b85f62fcd6ff5ba2da0dd637d3ea4ef98916557e2381746f21722256d0877ccd10ffc2768f5e4be0e
+DIST thunderbird-156.0-be.xpi 561533 BLAKE2B 07bf7cbf886a3eb495913b7f1c970cc48cb7f656fe9c4f13a3d539ee07e43c8377bc40e9ab08250c0c89482104bf907f2d1513064db926af43cecdf670f3d670 SHA512 aa4abd67f3930df939562eb1c03330d50b81ac5583ac5b2c9da338094b731614e98892349c4cb3d797064b06e7cae0e3713b368f2ef3642db6aa8c2a889863cb
+DIST thunderbird-156.0-bg.xpi 569561 BLAKE2B de5b9028b1b851fdf83dfca65c3a0aea0ba53b4a96962c508c8ac8ab087dd8d9600421d2d4ec3c560f3881778b2a4f980adacd95a564d35d18edf4dcb61d3f8e SHA512 61156e0b08229741cedd3e366436e6ca3d7ea124af75ade96af3ab1fcdebb131c76116fca385582dee5e7f3af0a3d6662dad28792890aafb9f0353256598fc63
+DIST thunderbird-156.0-br.xpi 441277 BLAKE2B 4f16e3477b8a5c36a99a48af058d2291e9be237abcab808c235464fa3e0f257790e2da95a98e2755a20b146f7b6d56348add3bbc4c54d9401615bac2ba5810d8 SHA512 e9b10b4b1af070bd9080cb9e4f0e628bd6a47681e6e2ba93d47d02a12b928caf6435b43e3076c38c1483ea1598da6a6a12437f0233a7ae1f37c6377d1f03f90b
+DIST thunderbird-156.0-ca.xpi 481093 BLAKE2B 269148e33a7c8a19c6987a979d124680efaf902377a659ccb930fc81441c39a375fbafdd876e07bdbc98a16c3579e19229be66186fc06d2b660e1bedb09d6de4 SHA512 fc6cad6ebff2105087d9c2c0b8d687cb61359d58b27944ed4ff0342ddee7847fe6324584d42efdcb5237fa115c0168855232ad0d85f500684c3affc31a44e5ae
+DIST thunderbird-156.0-cak.xpi 457532 BLAKE2B 3f92324b0fac63fc662b600079d038c65bd45acadb87a3a8d06e7129855175b16cc3255eac7f0d489c3040f7f3ea45d0ba20ae0af61eff63b3d12d439ecf7118 SHA512 92308ccb1e8194ade964a785e046e1bcd619d2c4651a083b523da68ad4edaee27ec3f8daf0bf6ce04a866add76fb74af843f59abafff365a606df09b36a731d3
+DIST thunderbird-156.0-cs.xpi 548366 BLAKE2B df98bf020b59fbeb290ab92392ad7d52201d1136cda80d0274058b18a4f8532162207fb49dc1377ed097cebbfdc8eb217da3e0a8e914e04eeec1777d1b9297c2 SHA512 eb316c4ba34fd082d0e1663f10860b6c2632093236ac7e326ffb726b4ec9c3841e05216ef90fbd003b16db998d194ef2f410d8a65f68ad4b209a66cbd9b098b6
+DIST thunderbird-156.0-cy.xpi 515654 BLAKE2B 39c532b86cb906fe9878213436aa579988068463612dd1ca7bb0042c85309e323edc2161fe151aadda0ffbdcc672a624416212651d35562a91e99b0e32317e3a SHA512 6f9ccdf2c792e01008f5626bbbdd90dd40f2c9761013186a49c6fd33582613bb8cfe856c0d9eab9ec2ba494fa06b505a2b82433aa8188de19899df919c7afc12
+DIST thunderbird-156.0-da.xpi 498965 BLAKE2B 9bb230ed46743622efb0acb2741967e25474d9525503b4ba3113e8171e5791dc360a02975dc567b7be21f49078f4218eac081aa7cdf43d4293936e4c9f0161ba SHA512 776407fdaeb719ef48e5ab1b50be313d10f8e401643007c4472a4741255a8bd4ba0d8bbac556772b59917d4923bedf841b4ff3230d90565b7956876af56672c0
+DIST thunderbird-156.0-de.xpi 531666 BLAKE2B 4ffb506f56105c63b44970cc90ea3bd9e48f98cd4d6bbf83e71f457001c13a5652ad8815b60f213dea61f9b30c6119a62119555444303cd1b997bf8653662726 SHA512 d31f41507b0cd59bfb53af292e444af0f94c01c71e6745e36ecf4f955adeeecc0a96a34663b921dae3a1c60369cb497e94c992d75266d134b6d7aa42d23c81c7
+DIST thunderbird-156.0-dsb.xpi 545575 BLAKE2B 8b432c8c2022b3a58232cb2ee68d571c05ad704cd38148fd5ada203fb4a6c5784429f5d3dfb600245b244c3b289a18c78c662c062366d876a402759dbb567c81 SHA512 1cb9b0505740696c8e0fcc230206010a2e11543bd2cf8f3de0e913ad3c4259b9c406a51a905c094f8a3b5b9b688cb6de8ed3a978ec47e309ffbc3223854ec386
+DIST thunderbird-156.0-el.xpi 639582 BLAKE2B 60ff538717846f0901c25be32a66a91da936497a7e7e9cc4e3df81ff5e5c37ee659d03eccb3893578262cab4e895291e3f842dc1a15daf9136477470f55b1e9d SHA512 f86c07506a717c92c45b1781a469cd5eb587db8c51bcd5ac6981b2b09f1a68d688cd36edb0368276bcd01c104f88f507c47e50806e4ca8105c803cd1420d5d87
+DIST thunderbird-156.0-en-CA.xpi 474765 BLAKE2B 371eb8a856cbe589c51cb534f7ea7f0c99e9ea5adb8333f1e1d6a8f89823c588b79c0f553ec67295fb0c755a518fd9da94955c36fd824b66bc432bd7d52153d3 SHA512 98a7586c886cde46217034a38436cd0d44886349d640d6f4abbb95816095860f3d99c4e7af23bf90b0b1d0c748035f6d60db6dc3061f2858713a4d457f57f4f1
+DIST thunderbird-156.0-en-GB.xpi 475703 BLAKE2B 615e10ce27d9035d68bfc1b9697a48ef55432c0bb62924befcbb4a6d500588ec7efc22bc320d787a5d81b51ff2d78552a7b490f2ef16de75ad40bca65842fd72 SHA512 9d770d9935a4d6c66206cde357344c61896f589ee5f59292909f76fb04f94e00041165ba5b2f66c1749c4c78900a5a3efe82f0a21a7df8dc1b0fd94caf29efea
+DIST thunderbird-156.0-es-AR.xpi 520624 BLAKE2B 672a4de0431e28edb0866e539281921366175df96e74f4f5bff489f25d0a53df47b064d6fee659c9272bf2404daad530a598f7790f09b6360b46794e5b1775ca SHA512 fc35c1c6e221f1f1a80dc760111ef000e26a1fed41c239a85cfbc07c6acc49922e2389fdcf44b385a02c0bf2fde11088acb0464ef36bc891e59529e3cebbde89
+DIST thunderbird-156.0-es-ES.xpi 519931 BLAKE2B 5258020d70a12efd498342feebe47d9eeec742311d9e2506a187b65180ed8d972c6544fe824b0ad7c22439c9b5b4d7c2e3644b8eb4a8b8233a7f055ebe1cc2c1 SHA512 b465a22f5098ccf92ad26b96bc61f828305907838426d9e4373dce96950a364b85b84af6cf6da424c4bf37e831fec2e891a382934fbe3ad0ce39036819575a4a
+DIST thunderbird-156.0-et.xpi 466129 BLAKE2B f0c3ef160f905473cd8febd2304aa287a59a018e75122468ad8069b24ea4a93616c68c5bbaf5640216ea4ab3259e46f23042d5329f22238f5ae0f759d9942843 SHA512 04239b530ef2133e17f6789482371aa897732e780c5dd84ce25a540c85691c55eec679edd4464d3650bbd949d9d814a5927079de3f3c6a7285754b0394a816de
+DIST thunderbird-156.0-eu.xpi 502718 BLAKE2B 9b090c82d86b245f4b1469a754c8b5f09bc849bc951818a40fa08711ab0f6b1de9ba46a715112c11446dfc4e29dbc8e452ed7e5b0ed1fb6ff42af2cae2ffaec9 SHA512 e8ac3b4af74f70b8fe533f03797e50c6dcb26608d1de90844e022f53ead8e558aa259a1243d12da151bb71bb6c58ec0b893c2fb7a0d14bb62c6dce71cf2f7e98
+DIST thunderbird-156.0-fi.xpi 502993 BLAKE2B 217f0ac0901d58da3ff1b568da527897320990426e6a4d68810fb893f0188474f47a332b359bfb39c3981aa41d596ae91e228e42deaebe7d1e3baef3a67c0403 SHA512 01c7364251c5ab7e368d108faf409ab45a67f2a48b4bfc39734cd60c6064b15ac0d06c77febdea242beb8799115359807bc548bc37f0427dbe9e69b298aa448c
+DIST thunderbird-156.0-fr.xpi 535173 BLAKE2B 67d129fba359edc8ab6ec9a10599f55215203e11ec0a65774f6b3b28a1e18dca9f0761a3209fb5e3f16ecff72f1a41fc186564f8296bb1886d1240d2a3286fa7 SHA512 9cff61dfa89639a469f0a4b0990d0a1513c9d84213db7e8e605bc9c368a51183c5c103983c19c41cfee076565893581675f586dbf9e713d2770373ba17af09e6
+DIST thunderbird-156.0-fy-NL.xpi 515764 BLAKE2B 375f10e2066ea41cd43fd85d8804c604a9441ded75389b4c6b43b89e4f83d89621d7675e0effb1022a34bc7394651fdacb78d33dde8fcad8752809fe6bcb9f5f SHA512 dadaf632b5204f80acd3c6418817982ad3d1abb92ecd06b2e1d2a2765a851fe5e89ba03f352852ca007a544793de14dae1221eb00d2c1a4b9449ab2532322e2f
+DIST thunderbird-156.0-ga-IE.xpi 433509 BLAKE2B 16dac22d2a793f52ba3574455b48bfb86bfc8e529aca8a677a8312f17fc5662a00c4148661dc734109f6b72e6916ec158ca4eed2f8cf4f5e6f87acaadb99fdd3 SHA512 e36e11882e50281c9a2bb9a86b298b3d7d5341d5d225c29365185dc40fb2f1a1ba18a2a381331eec01ee9ebd44c21e4da45a3fe8449ed421665d51f29105a2c1
+DIST thunderbird-156.0-gd.xpi 488009 BLAKE2B 4c872c05ea949b16646d307100041d948ab939c8478f078c0d0a3df526fab33bbac49e608fffccb0548db9883f253d549825e171e779145477e402df3bd4b41e SHA512 43576fcf2673be06dd56857854cc14b7b1fcd1a7fa44220c6bfc31d22d43a561475836141fc40b198746bae97dc2607dc013ca193c92a996a820f36be9a34f17
+DIST thunderbird-156.0-gl.xpi 501860 BLAKE2B b44f16e723fbd81afe68b503a613cb1aee8ae0080c5f5c431051612e3a8c87bdf869a4bd09049c1ead1616000f215e6265caaaccd07c81e4911768a98a1ebe2d SHA512 b4b4e41098e6183f959f6a1a6763d3fcfb2bcc8fe6c55b96c729bc7921faacc8420eca5ba2b0e371cf484ecef6f6eac9d6d5b59bb463c1c847e19f7fcd2bbcd9
+DIST thunderbird-156.0-he.xpi 489125 BLAKE2B 1e7142dce786986973f39d5153a9b3e1a5799890295b91f9daa8c1875524840310d604bcf845a8fd536630b20a9bcab54de8089fdd60fba19e25044ac7c679ed SHA512 fbaa2ecbfd170bc9a07a617454b7ed7be6a8190f18d4803378ab24e6997c6fc662b8ab39b7c6b555b76571c9ec875823ba7b5b472cf0a74172d9ebc091e31afb
+DIST thunderbird-156.0-hr.xpi 500990 BLAKE2B 644efb7d715c1b9d7c4cc5179a738c656ecc06036fcd4e5fbf43b7aa6540251bd12821c352e85237eb212531fdee2cdccc797578eea666097f40a0a6c54828b6 SHA512 2217a23ac8a16bffc0ed3479b3be5ba1f6beba65bc5ee8deadc4ed764508ef28c2d791e5fa7ff134fc0f12c5b705fabbc2a17bbb1b5df926757a81ae09801f1a
+DIST thunderbird-156.0-hsb.xpi 542816 BLAKE2B eca30f28b7a1a658d50a1f0ef5f7e06f31d819518f4a050e49ee64157ff6f03bd3503210702e47e33e7e43f7d0d58c03846633acbbd23675ca6a38e5a4e74593 SHA512 64c988897ac433e475058530ea61470d0ab61a9d1e8f464c6b73cedf9f67fd4669ce66a785cf3c07b616cd23103546f623e913aa842c686c436ece971f629259
+DIST thunderbird-156.0-hu.xpi 544853 BLAKE2B 8e8e8eec1e3e337000f05074aa07ae2cb252b7dedadc3f178dabd43cfc6fd329a62e608b4618902c73b722fae5323e64f9e5722935b0c06a8859f6e187fdfd74 SHA512 f9750c9683aea44abfa478445c00d44809c2e289f5b2cdea641f4417fe04c7e0ece2dad1cb9ca5329f0a3abcfa46d4c12667e15cb376678dea0685753e2fc4ff
+DIST thunderbird-156.0-id.xpi 485902 BLAKE2B 7b3863a1be4d73ea449cfa351134d43d78ab861c9a03821a9dacf6d8b7f880df24447eb93f60f2d654f9a47ab0a779685b13efeff3696d8b9d0d7aa6c60771e7 SHA512 4f699dc165c44f373a35c65d09f6240f4d522f869fe7ceafecc32a19af4c33d5b613867d83c2b41fdc33bc366753bce3bfcdbefe8a7068574a2bcef00d148aba
+DIST thunderbird-156.0-is.xpi 511750 BLAKE2B 25d2b4ce6564182890447e277aa756f338d9f075fa9de48f509190e74766988d10178dcb1ed44679df7d4f02a83a5c29c8d88deea75e87ce952b646d7344cd75 SHA512 0bbf9870dfaad30f2008ebc5b937bdd0e0dc6fc64a1a7732d253f1410828e761ce920e3146bd883be05c2a4bbf097992e76677ff59ac3f5f3a82be65f9a8472c
+DIST thunderbird-156.0-it.xpi 514221 BLAKE2B 88e49f36aa8df23abb5fb18624633e7aa76e3204fe178b33607113072c56190819ab92a6baa01bcfb319b8aa53f3c28ce46adc21256b5bd14d209b64869f8547 SHA512 6bc3b3d93413ea3c5129d5daf7f56fa1e29523fd8b63c07e155d52ce1f40201d1d15e2c72bc0b0031b4ff530e1fb9183d1ab2720c640204a63ca968296185664
+DIST thunderbird-156.0-ja.xpi 566790 BLAKE2B c0a633fbcb35c2a7aeaa126c177f0bef8f2c693af366da5f7d6a826b153378683d60ea4f0c30ddcb38af73e529e5c2ea8a9ae4b8eb51e4157c388bd402ddab2d SHA512 c952362c5285c551f92f441191edf6450955e5de10ff507c1fd82ec6fa7993b4b533841084b14509f25c392357fa7e8c6f7134a3bafd57b52d469555d9fa5555
+DIST thunderbird-156.0-ka.xpi 583985 BLAKE2B cb0efad2a8a7bc3802165e6811f21b013870b25f8745fa24dea75c02a6593b338cac25a49ab0ea16271e09c6a66712382fa5448b46b8f90198225b624d4d7834 SHA512 9de0445294c97068f8d53cbe2a30660f8cdd07a6c6e2baea11cc0d5b105d8a7fac9c3cc0bd20d49ba2d8642a365776b5fb56a8d1f8b843c0d51f139275b80450
+DIST thunderbird-156.0-kab.xpi 489863 BLAKE2B c8519f45512235164b9b20ba03a2cab03aff65a02cea30f758bcce9464aa1e1df5bf5ad7332ada29b2a4c0d38802c9a4dd20916005400e365bcbc7f3d1a499b7 SHA512 5b19c5a76902fe6471d2f5b0da53686fc6d3fa817eade7e344e0866fb30e14dec4833e8a1312ec568dc35b4ab1393927a11db0ba4762b98592fee2e429cee385
+DIST thunderbird-156.0-kk.xpi 609035 BLAKE2B 2e8a97ad2fdf920e7c21a7340b0aa9af0abf0c0ac204e0bb33326adc2060fc3a6596a70eb568654a706d23c77d238775d5281c8c4b3781c4c700b648a70075e6 SHA512 c48f2b81b4e2de3a14a9807854f7574488878bca108f492e2809d5cd24b036c8c965aee0565f15e024b410955394594e8813e368c8aca2d259ed8af3e6ec42f0
+DIST thunderbird-156.0-ko.xpi 541826 BLAKE2B 09329688845052a365300e593a704b9041c966de00e2eb9130432653d486a3b9caeafcac9be90890c3abe0a8517a872fb45806c706e2da85a8906837b06c84f3 SHA512 b48faa17021acfef33abd3403a59b2a034b30ba456a2c082896b5678702a6aafe8e10e7f9e8986680a7d0de6fc26c7e674ab58207525b1ddf7d69fc724706c88
+DIST thunderbird-156.0-lt.xpi 483281 BLAKE2B 837a4370451e7275b756c1b37bae8be3515fc4aac3868ae5e411e2a72ed37d20b8cb0592a8f390285e75cdda97f863547bebd58c908b1e4141d2335e5dea9df5 SHA512 a5624e3ed0aacb378435008cb9854a3bef3fe9f56e9e90bfbc46aad633c12470c1574fd7e087156dadac0e0dc7416f5c8aa6f8a17b632e39f746655ca3c96a4d
+DIST thunderbird-156.0-lv.xpi 450023 BLAKE2B 9553b183bd02c3c81fc184ef32d9d3be1d81a536fba4e6377f14bfd7ba8b697c68f82ad70a1a951fabf64dc496841477dba23e88be7770e92d7c06adaae5b326 SHA512 4054dc63a9e637fccbe6a83e1ef0d33a52767e4b394cbdfbfcfbc13b10040bcd0569f88ec7468b56b814943d3fe578fd22e7068fd82cfeb7dab2eacc18b9d078
+DIST thunderbird-156.0-ms.xpi 404885 BLAKE2B b10a8e96bd082fbbd6dab12293ca5c542636e86ebff8950136d158ee83cb98c2c4ffe13ef1ee780fc8992706efdd2fb1bdc2c7b829400a199820e2a881c11258 SHA512 c260a57775565cd0323498517ba4a276d0a2dbbce72ab4fd318d58b1a4eea1a0d7ee49ad02037b0474de3737bb8db2954338bd80526e528f36e4f4bcc7e40c39
+DIST thunderbird-156.0-nb-NO.xpi 500969 BLAKE2B 49e44ea04478663b6746301446fb41ccf8a0f31284a3fe22d381442d0488addcdecb4e1147c9c16e8d2ef5dd53fe246fba494ed39cea1509e3dca6402ebaa26d SHA512 371c5f25db0e50c089c6eaeaa79dec59026e5183779428ef83cecb612e32a5caad9db33b0b2bcbc5d682b7cd8c6b95ad4fa0500bde4c1b405425b620496386a3
+DIST thunderbird-156.0-nl.xpi 507803 BLAKE2B 1a0ab108734375aecd12fd3ce459967d081b577161807ab5fc8dcc56f7f73b36a41d7972f6ed8e243920e9e4c6be00772e4e99b8f07d733f71173b2fe5620f99 SHA512 3cdc691704af645d697d9572a6090435c584dd67760b0c5439f52f7ea4a20a524cc5a1168e035c85b176c7f899a7c82d1dd39103bd36e1de3eaea2dc1f15c4db
+DIST thunderbird-156.0-nn-NO.xpi 505073 BLAKE2B 5706b6448a850dac4f034c25b3dbdc607b11359541a693bfc8892f1dc9e34230758435478b9d0f4a789f15d620b4330715f08cac6cf159244b16b9fb0edca648 SHA512 5d1fff4d0bab49fd074b625714425bce88954382fbd864ebdd95a803816cfba632ec4d271a1bdf33558cbd0214bd95006d39b455fb4aa86c2b2530e6f69cf8c6
+DIST thunderbird-156.0-pa-IN.xpi 493828 BLAKE2B 645809f27cc2361e8ee77f0464a9fb4a968b0194fa37c74fda22bb435b11c4b72f32db8b56928b551383440c68e5b2e3ca589e696e543664d12a5ed9303b1268 SHA512 3bf664f1801b2bff3c1e520ed006d3dc2960566cfab6ca2984030de6955cce125917acae64cac0c481085a22f97d359fb4276ccc3f01595cce22a1cc4ccb818d
+DIST thunderbird-156.0-pl.xpi 543197 BLAKE2B 2508e789b1c9c4337c62e4cca15a9717af8b01f4159baa72cd69696f357c0b764b2532146aacaedfdc4890ae3202a5c1eda4105677bb7c62dc6c19950ef2f40a SHA512 9f9a3e8317934ed53c57c1bc56728518ff3f64efc7a130ab2372fe71dfb728e954aaeb4ce5a71f15cfdd2d5b1ed2493ac826b7e015bb70fc79a0b35b080285d8
+DIST thunderbird-156.0-pt-BR.xpi 513284 BLAKE2B 24ac67f5a726c8a5ed066c80bfecd44dc4db6a7a446fb6c44ca19d3ddeabee5a9277a4cf6f0b98134b6c8287442c3bad731f439b7d4be91da82b8c3531cd2094 SHA512 bdb0892a38bc6447c0b6fc79d598670e434f2f9b08ea2ab5fa3bebd7c31b9fc7aad84c01ddaa1937e32f798941693deca97bc19e185fc83924c2ed255e647933
+DIST thunderbird-156.0-pt-PT.xpi 520500 BLAKE2B 822d52a4986a9862f604fcd1edd811e194c72900c22eee86abbce0070514f72f807739cded3f5fa87f6c68d8fad9caf84860e468dcd8d6a94b5429f9028cf68a SHA512 e15947ed9f2f566b7a752f02c859b5068fee92ea9850527655176217ca0a873b0204b6db142a385f322582d953fc15336829f3a9ff11a28bac34c43815d028c2
+DIST thunderbird-156.0-rm.xpi 500745 BLAKE2B cac41f7d744587f259d33b50573ce1eecf9ee2fecb6fed342204791f2cc21ddc3cf5dc268d0bb331bb5676649d73e5cad44bf50d02ff2c48479549ea9e407a90 SHA512 26ad73467d3bd919e7f468704cdcb751e0d592454c8bef3f1a5b52e1cd9462384ce09ad96e59a0b3959e732fb100e345f019fbe73acbba939c22d7dad432a4d3
+DIST thunderbird-156.0-ro.xpi 527708 BLAKE2B 1539e66e94755a9f8b73dbb5aeca3faccdcdd28515b4aebf4349e8968d5fb2b0dde1baceb1dfc12abd99458b92db3851de76cf6afd2fb3e8ddcb4f41bfdd99c7 SHA512 9f1b2b0faf6be3e294f6c8b74af84ab8ecdb8342909f172a73a91afe3ebfb5881638050733f63a7c88bc703cbdfdcb3073629d684c3371c1bc7797e2c8094da2
+DIST thunderbird-156.0-ru.xpi 624164 BLAKE2B 53d38a4810be4433f225b572fc4a7d49231a5f85b0edd6415587f61273e813aded006f35182cc27a345dd5a3ac272f7f1c1cc3aa9df07355262407245c79394c SHA512 3aa2986029fbdcfde9475804b3863f82f35c8354ac9b483a6c814e119f43a63b56446b6c348eeeedb107599de4850cf82c804156db9c43848619daec86ba72f6
+DIST thunderbird-156.0-sk.xpi 548137 BLAKE2B 553c16010d9e4f078a2af4bef30f670d50e989054b99bde3a9d4db8a78f1a4894833623dc68eed7158e868df7b802868e045d31940afee8844d3ebe909296eca SHA512 57d3a855f0dff14ece8dfb6747133df6306dab067bb64d2ad116bf6119491d551f3a6bc96703a3383272991f0f00f0d7a62d9767c831d9728d12e7e98fa19d20
+DIST thunderbird-156.0-sl.xpi 514747 BLAKE2B 97eb839e49ea368e9d81c2b2817fc7523d3e7f60820ed2dc0c4c32f6ffb0057e7804c15f64748d1420a49881c699756427fef1bca5e3b0be48261745aa7de61f SHA512 6fe406ce8c33cc04d29b176b8344e970cd3bd23e3731e18be31acdba615d5c953bee7fd3c84b5665fbef8f25b1cc6042ba04e0d8deede21437dca924df8f1708
+DIST thunderbird-156.0-sq.xpi 526809 BLAKE2B 28a0f1c088473adf9b8157509f4b8048405f89983cf3b1c94674dafef6fdeb156383ae9215e06b38498619bf7aa7804830df77d1934e7e9c01efe75372917307 SHA512 e66ad2623e438373ba98a6826d3ecb9e81b7c28409c28ad7db2f399669c589d2ec481cf745f5e0585aac11f4bc29b9cc0d36ccb15482e9b98b29c3f1f86a00a0
+DIST thunderbird-156.0-sr.xpi 586688 BLAKE2B 338c484920811cae278e16983137deda69d48a7eab679c7858c1e022d571108b11369d20d2b904f583fde03505f2915157653d1b7e8e677e5b5aeffb66d783b8 SHA512 3c791facc4d52f5ec3b40319d9ac51d0d2fa2998f8243428d143644ab29703f9fbed66734be0256dbd1e4a5f77dda3380d4e9b8c3a72fe3c56a83ab303b05616
+DIST thunderbird-156.0-sv-SE.xpi 509830 BLAKE2B cd3fe15622299e13137f4417d2d4c37659cb4d5726d6c4704058987a08bbee359305dcf0d3fffd159632ec0153c81c7da1e8441760ef0f8d9de2181e56c9d186 SHA512 4c571a156932ea0f65edb25f029394c98a9cc322935b162311747a78bd5ecc6a95aa9046fe251305271fd635f0fd99ee455eadd8fece7d0a698be748c28e06e4
+DIST thunderbird-156.0-th.xpi 587296 BLAKE2B 62d2cbb5783b24351273c52f5fe6b68cdf8f5851caadf19a01fece7c834ee8732b13a45f6f606bd37730fa5c071765696145c774946815cbf0a84f954b575b7f SHA512 9b967b9f044acf6fee95f1bc12d7fb2ffbbb6a7eed71b7b32f4ff13e2cdfbb7eaefd3d7f7fccce135b3084ee2fce4bc79f1634239e916b8cd83aa888be9a30fe
+DIST thunderbird-156.0-tr.xpi 521918 BLAKE2B ac9a89eaf163d7586c3857396adad410b141c4739303bd1891534921d0b76d0dc5013d7f1f777df3e3fc9d3c5930ebd1064c628703ca74a4df95be4336fd9cb0 SHA512 573bd130acd40a1434b7a855fc75a5e0fd28a378eebea67f6a5cba34b027b6361935b7b5063b5eb07a7ba161de3897e65089b430aef31613e816653a1bae59fb
+DIST thunderbird-156.0-uk.xpi 598602 BLAKE2B f24e6e82dbe2d465e3c85c92ab9c1be0b3ecfa4af6b444e4efb37a6ce9c6f5ca4c25b158130138b963435c8168553922e80a735d7b616da69cf8d1a00ca6b1f4 SHA512 17cc0af7fbae6ab71f9407cb8c7ba28a85dd94954448cb72f2f3a54a0256e8cefd2b6f5f1ce5bc2387f15942979a47bcd81dff0c1eace702d8e96ea64605dcc7
+DIST thunderbird-156.0-uz.xpi 418950 BLAKE2B bb8a25e311e27e88f45a70b35f8452ee90836de6611c8c98139aed501912ea495cbb8960b3b81016ba86617ac8c7fcf7b87e0fc471d5d7a42e84827e09eb4119 SHA512 56c3f0476a7d0121089b6a2dbd29cb4945ec1d0e543f4c4dbaa0b1724b0c5a160bff4f1d905223867a58f72f9d9299820214747531f2fe95bd369e494186dac1
+DIST thunderbird-156.0-vi.xpi 548433 BLAKE2B 5ff564f0a0da27c2741acb33483a55fbe04406651b6b94cc3f7d4f3edd4efcfe098c23be041e1f1c02d7086a0aaefa2763e6a2d820a64a69b5d01eb6ffc39382 SHA512 0dc4a0fc675f1c0f1de65e1c9380c17aeaa8ddda6f94d59ae9b75cbfcb83fdb82a88b24465c7f663a45c60c4234c80ab75db97cf1c514a9f2943362a843086d4
+DIST thunderbird-156.0-zh-CN.xpi 530703 BLAKE2B b1436e172f289e91bcae34820fbd2e25bf6db1aab41940f307e18b782860349d9cb4647869095e1ed8ec974aefd9a486107312a17aeb27eb99f2f462926f41cf SHA512 03ed08d27bc4f9869a04611af5fd4fd01a62bcc8429f0cfc8ba6518877cb68e22dec953f68d750164bae8a7b0432558e402868dc9149ed028f6a25565e1c0e40
+DIST thunderbird-156.0-zh-TW.xpi 536937 BLAKE2B 5dd1a44e1523fa9a6ebc58da4bfc7e55e0cc66b1dc28f6a6ecec2ba7060428818725578c82346f811582d7492917375ac614815a5db8eb940dcccc48cb48e9da SHA512 6b181f0b8c256876d93bb24ceb474836468bfff63f3ac66d24d492e17085a6ab5bb26574d14d7fffe28584937026a36dc7bea22c1c2e35d2b7b5c19de2c9b0f6
diff --git a/mail-client/thunderbird-l10n/thunderbird-l10n-153.3.0.ebuild b/mail-client/thunderbird-l10n/thunderbird-l10n-153.3.0.ebuild
new file mode 100644
index 000000000000..26c351213744
--- /dev/null
+++ b/mail-client/thunderbird-l10n/thunderbird-l10n-153.3.0.ebuild
@@ -0,0 +1,145 @@
+# Copyright 2026 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%-l10n}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+DESCRIPTION="Thunderbird mail client's translation files"
+HOMEPAGE="https://www.thunderbird.net/"
+
+LICENSE="MPL-2.0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86"
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ SLOT="0/esr"
+else
+ SLOT="0/stable"
+fi
+
+# 150.0 is when thunderbird-l10n was introduced.
+RDEPEND="!<mail-client/thunderbird-150.0"
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}"
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb el en-CA en-GB
+ en-US es-AR es-ES et eu fi fr fy-NL ga-IE gd gl he hr hsb hu id
+ is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO pa-IN pl pt-BR
+ pt-PT rm ro ru sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_install() {
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${MOZ_PN}"
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+}
diff --git a/mail-client/thunderbird-l10n/thunderbird-l10n-156.0.ebuild b/mail-client/thunderbird-l10n/thunderbird-l10n-156.0.ebuild
new file mode 100644
index 000000000000..454d5b9c0ea6
--- /dev/null
+++ b/mail-client/thunderbird-l10n/thunderbird-l10n-156.0.ebuild
@@ -0,0 +1,145 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-l10n}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+DESCRIPTION="Thunderbird mail client's translation files"
+HOMEPAGE="https://www.thunderbird.net/"
+
+LICENSE="MPL-2.0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86"
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ SLOT="0/esr"
+else
+ SLOT="0/stable"
+fi
+
+# 150.0 is when thunderbird-l10n was introduced.
+RDEPEND="!<mail-client/thunderbird-150.0"
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}"
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb el en-CA en-GB
+ en-US es-AR es-ES et eu fi fr fy-NL ga-IE gd gl he hr hsb hu id
+ is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO pa-IN pl pt-BR
+ pt-PT rm ro ru sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_install() {
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${MOZ_PN}"
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+}
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 23cf39fbeb06..74aad222f662 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -2,6 +2,7 @@ DIST firefox-139-loong-patches-02.tar.xz 3096 BLAKE2B 2e9c0f3dac780c808a13f70fe3
DIST firefox-140esr-patches-13t.tar.xz 40524 BLAKE2B 287d1b9a1e98918182e2e920de76e4ffb6692190e07568ca17c174c80ee9734209856a71795cbf34638a82721a97dd37880702a74b49de33d60ec36c82e92e87 SHA512 d56b82313ec6b60629df489481da1283fb20b7ed6a3c95b798f79fc11b9d6517cf40c37060b7d8d92175c8cb20e71604978febd4dabc22f9bf470d696690d7ba
DIST firefox-153esr-patches-03.tar.xz 13056 BLAKE2B 25dcb9db586180e2e695a148eabcf226a271abac110c632bfca0f8f659387c2d14c5a5fd5706eb300cf990a4f424e34abc3d7edb3db0e62b662aa0ade47b75a9 SHA512 686164839139581802e08cae254d84e2e5c13a8f0826b47be645c697024af89eec51175f823586851ff18de717a366362898bb5a42ecbaa863ccfaf11af66dd3
DIST firefox-155-patches-05t.tar.xz 19632 BLAKE2B 02e8ec819a4e6594f4b7fbf76706e0cace2a90c7fc76367b1dbf89a17bbbdd5df9aceaff6ece25b3c8f4864c22733874b68339f4fde4ad3cb51c1d4bcaafa1f7 SHA512 795767a6dede0d679c0b53fa6fddb75f1245ec3607b529f0eec58633e4c96ac341358e60a16bd05296e203c4ae6317f3a102a2f959fd9cb83a389e93ad2eac9b
+DIST firefox-156-patches-01t.tar.xz 19100 BLAKE2B d35bfda20213d665fabfa4948391771a4bac2af8c8cbe897bcaea544962020f52a0cc8be691020542bebbb880219b3abe22b2735e0af774b906b9f73bd46082e SHA512 4191e78d50bf0f7adc8353bd44ccc2f31a7615a568f9cc375dcdd6bb83105bfce36d4cd01dadf4b56a4728d3e17397792a34d8988481dc6a76db30aa00762902
DIST thunderbird-140.15.0esr-af.xpi 316215 BLAKE2B 60ae13ae7056dbbf5ba75db0a48b7fcaea1dae7192d013cac456f0356468c1a0b9c58e8dd419e9bd26647cbfe7618d2eb4bd40313b69e209a258e0b75d8264a2 SHA512 49d9c78a969db3fe5b1162c75710110e84087effbc8d8680f713462fadd8835d5ca8f1c306fa7e5aef5549096bab12a0c78c612097f1504fc933734b1dbedc8f
DIST thunderbird-140.15.0esr-ar.xpi 436196 BLAKE2B 2425d0a91c24428f444efbb96972b16db61e32a219cecbf180a360ea7b3babf682886fc71cf3e4bcada548753824fdfc083d10c4072d5905cc3381e63dc5c125 SHA512 739a69b64d46669cad86af679bb19597ab6777f76a4bd4065c8812fa67d22145ecb5bc10608e151edbb2921b6954a4854625238a13cd1b793b8c33111ed9ab59
DIST thunderbird-140.15.0esr-ast.xpi 340598 BLAKE2B 97e38b4108da74ff28cebc544b5dcbd55a4619b4b89b06e29ec13278b036ba9a0579c66baf265a59941e04ad85862a714e3f7b17be2f355029fc9b75b33f4ea2 SHA512 ca2f5e89b22d3c1563ef63d5131693b3cb762145a0fa7a1eca63e3ea866ed5734c8faf7a319d09524d69de72077c0f3edac2c3efa61cb19973296d86968c904a
@@ -67,6 +68,73 @@ DIST thunderbird-140.15.0esr-vi.xpi 518881 BLAKE2B 6bf070215eaf69898009c99b0f6cd
DIST thunderbird-140.15.0esr-zh-CN.xpi 507845 BLAKE2B 1276108811ff7afc6315de83edabc4ea028bedc8514c1da87381cf4922702ab0248ca0ca7fbd899877f0b6d1816acf5f555eb7722d1c5d80883683cfb901fb67 SHA512 2737ad8e569ec81272ffabb46775685ccaf81e4426db66c6caf72f1e8600e18e326d0e524ba925e2f5a9956f06de70ebb4406d8cd4bfb2e8dd7cc8f72c74bcef
DIST thunderbird-140.15.0esr-zh-TW.xpi 511430 BLAKE2B 7dffc7da610a874f3d64e77e12bc12f3f3933c4b77fc05f77be6600a59962db6c8499c89dd506a841a120922abd722ecd3417bf367916972ed78f78237a627c3 SHA512 baf6ed00cc6f228f270ee2fed21912b496f9157b38174b431d2ac611dc8799388e81de8419b15350a61e94dad8acedf58a124088f85f3df963a12ea1d2856d75
DIST thunderbird-140.15.0esr.source.tar.xz 753067952 BLAKE2B 4daa05bf6bec8d0caae0736b3b251f67475531f3d7033d7fe8c2170646e2fa65df3b0d672adec4e9ba32b0ae48fb7245714602a916e384429958551d4f9d82b4 SHA512 52f014fb75ac131780aba924dd973a1fb5d6a60be4f800c258dca931e2c6ad75baaad37a5ad52228e91d3d174823b6b4d38ddc2dbbf9c04b8700cc33079448bb
+DIST thunderbird-140.16.0esr-af.xpi 316220 BLAKE2B cd64111cc906134e4441cb9128d20f281391665ad66c4fdcd4876b2cd092dae57c850379175539ebf1f49e65d3feacb0a60e6c5c8d923392c2c507a1a03db877 SHA512 cdef8f39f795e768d88de80b923e5aff71b9dcce8ae93d8fbdccef0127bbe78438ea2e004799ef1385e799af77b5955f713c53a385ed83f75fa277901e65a110
+DIST thunderbird-140.16.0esr-ar.xpi 436198 BLAKE2B 9be3d3e088bed02837e326add8392cc6153ee7eec06c184122e5c129ad585a60df7cefb273baaecaf3cf78433befb4ee92b18d9cadcf2c9f9ee3340f95a310b0 SHA512 8bcc62ac679fed8558d0c41f24587492d25ed0d7da353de89ac140b417949a7bc118dafad315dd7a7f3af644887869473807c991871e789716ea301122a1b0f4
+DIST thunderbird-140.16.0esr-ast.xpi 340600 BLAKE2B 4efde7530acf62366cd5912c16cc8079ff4b046f0bdc526e9de0a00d604a94910ae9e49b528016fd2aa5afd9ad70b6209cb2f9ed327635fb8d8170baea2e7867 SHA512 7e59b9c252212d2a9134e5cea0df7ec369a1a967daa417eed4bc164cd747b52c828632d009f71b1e7b5bd6af705de1fd812f3d6f345a8aa680c3591391a9b0b2
+DIST thunderbird-140.16.0esr-be.xpi 522094 BLAKE2B a2113a1fa4f98d14e8ca10acdb17709e7f77f8280a2cbe773ca7dfedab8571532c697ca0e4a01b2bc555eb56c5ee2091289107f48afa0975f8f34577183f3e75 SHA512 1a652d1a3a219a46223d99055d71b9748e35ec9be0ed56e6b0871646d3a2c40ab9a1a1610bea21781590bc0525265394a291d35029e7d3e6b10444727c6ac9c2
+DIST thunderbird-140.16.0esr-bg.xpi 539807 BLAKE2B 88f7bc5dee4816469842af4ba89e30dca6c3fd0f6fa8cc1c62f420953e6fb527794bdcdf4175698792287d5769fcbec13fa5f5adf37a8ae71d656018bd73a9c6 SHA512 7b3ac4eff21969b1c041e177d06d659b74ec08e19fbc3abd1ff7e5a3fc67274239c100e6ecd0aa4b4289db50641840e96e0ffc9f7cda09786da9848a45d8708f
+DIST thunderbird-140.16.0esr-br.xpi 402748 BLAKE2B 7ed63fccd8fe330dfab6a39d654b40dd617d806d9a3553a6fb8d1885075af3fb9a609b16cf65757d355e2bdbd3d500de6fdf8ee14d283adc9121c4e5d94d8106 SHA512 43e75ed9f585494b764972b6d5d01dadf8786f7f3ffdde1c6d15397e5ddc517c2cc58be076615cb314e6a858e012dc0ba6a5159c6dcd09f9e340500323f209ff
+DIST thunderbird-140.16.0esr-ca.xpi 440673 BLAKE2B 65b4b0bdcadf8263518a9db139520a4df68dd2d1a0335eb5b65fbc850b977c902fa9232a00dc4925a89e187ea15bb59dbba2fffd54c8ad8d3b62e8d8d7385182 SHA512 b365eb759911ab30e8bfb7a03d4c264f88d9579622fa1a40c9974f85161d0ae042e225a5da5ff6bfa12cdffdf87dd8564230e5500933cae3ffde019cd9b70ca5
+DIST thunderbird-140.16.0esr-cak.xpi 418024 BLAKE2B b65339d2828f3f369496343c184b0722a7196556f248756bc6aaec29450e9fa1f57dabe40d561459471d6dfc94e4c3765077cbbfbdda5569c480e40bcfa10cd9 SHA512 d279e03303a34068fd1184267c28be0b8b2892e3a708f2aa8e01eec1385032531aa907a209b2b7cfe5125a6b05cefa3c2a199f0fdf6c33cf31be450a352b3f7c
+DIST thunderbird-140.16.0esr-cs.xpi 519564 BLAKE2B 212dc149776cd619e5405a947b081684bc25fc785b4ee84ae5d3e66a99ad5e66662391bd52e570e10812c1683a8726f1c4bc87965bbdc8465d470aea5600cf7b SHA512 0b38445156a986c0a0c72239766e6ddc6fa77fd2b685dd56a260ed6f9190d1a131649549e8d1f9b60e11f0f3fe33f625401230b1b06664f4bbd213977b542431
+DIST thunderbird-140.16.0esr-cy.xpi 487652 BLAKE2B 95c90a6f1523164b61e8cd0ff74d4957293e3ddbc603fb004fb1e865eb9677d174a9c4964757217710ddcf19da08521ee4cc43d72c8df2de0dcdb391a8b94ede SHA512 6fc7be210b42728e3b0ff9bf65e6f8f0b1a50c2672fdde071da13ed2227c8c8cfe5d064a4d321e842794ea25883152c03349997ec3e3756ef31c90384815c154
+DIST thunderbird-140.16.0esr-da.xpi 476625 BLAKE2B f1ca462008307a5039b3cd37b23cd80cb5aa2fc3e8e7b567974d157ec82a673822d14b42c764453d361b4c2ed210c25352d2f02bdedc9bfda3f2ba80a81b69cc SHA512 21724b9969a1f0283873cbdab0599e864addc662d243513114d6a0086957b2a1026104a1c2a9152af92ad3f24c83275ef3dc2637e3291e487082000ccb0f8b1c
+DIST thunderbird-140.16.0esr-de.xpi 504710 BLAKE2B 02e8c482e5f4252f0ba1172b0b863743b116bbbb5a783146789fa7259dc1225186d89202f3bb2802a6f64b075bab5441b47ca7c670300d7dedfdf6725e13591a SHA512 1644d71f949be0be53e3ab182e0dba2bcbf4e13bccd05fb0a9334d6fa5c6cc19aed10a3f3949e636edb7cb87d7b25de03f46cc1e5031e7518923dac18eb5eeaf
+DIST thunderbird-140.16.0esr-dsb.xpi 517789 BLAKE2B d4fad69db4e395e1a91ddbad8bbd1504e88a34432e57b68195167c86a451e2a4cc8d9767ab7481a1a2c9c097ed1d2085faa4fe29b52c5726686978577f226f59 SHA512 793a76eba02dd3d429ff00a1d5814af19480063558b90d4a426cc6119650dd59f930c4d7c679578ee5e20819cc6275bbb3a5918fda30c46377ef0cc1b1df7b3b
+DIST thunderbird-140.16.0esr-el.xpi 609040 BLAKE2B 906d8e6eb9f050828e485471936942ec100197625239c7a19cb84d9f2ddbc2393f47ddca0fe3b05b28d56b1f86a68c95c9dd1b16b914e6987920358018fec22b SHA512 00d6f6db16b4bd8fa0f623ec5868030ca51d3fe640ee1532a1957ac3af1c0a1f44c25daa533e704b5abca2576d7e0223645b5cf028aca07abfaab41802e11bf9
+DIST thunderbird-140.16.0esr-en-CA.xpi 452240 BLAKE2B 09844b9135e3684a9497d3c30b82ac1769d3c9300b923b2023c967793dfbb7e0e37b82991affc85dc321c58455b3d50bfef2d13a817453d6ee2ed82f2373da33 SHA512 accdfe65c56944baac7dfe51f2c88b9b708dab984b5ec63972a22e080b3e299d3700610fd50d5e944c4dd89fb54d719cab534140e6eaf4e579fd932966ea1480
+DIST thunderbird-140.16.0esr-en-GB.xpi 452069 BLAKE2B f41b854ae2478b38429ae9aa0181f0ba5df6b7e87cf33b3e5ebe0ff079881f7d7d15f2514c0c07ead43a191033f09a80deca19552e611627ed0bda12e0849dfa SHA512 8b2cbbc8bcd2d943b051826897a0f3d6cc585c8e03a13c02290aa02a3c64466fdc0f6d70925467f52effc65e462c5bb9dce5c217f8343f89b1fdff4a83ccddb7
+DIST thunderbird-140.16.0esr-es-AR.xpi 495266 BLAKE2B bb828acfb936cd8419bfa9b8d42df59f3d44f7340b7886bd5af668dcb26bdc41885111ff7fd4b9120923c7f94564b15f62e026a025559140010cd867390fff6c SHA512 1ea62302d562694152de98e79d7ceaf850ad736194d2308ddb71f4c9afe471458f637f45bc0d2c1db0235f4de3443e65a12619467204ed6880e26bacc59b4a09
+DIST thunderbird-140.16.0esr-es-ES.xpi 497284 BLAKE2B 640ee07783bcc6e0b7b455a15ecc690942765084ad19a136c826c9d4100ef6674243e030913c378d2e42c5aca586756bb2ae2b97562aa8805a31bdd2aae8e7e1 SHA512 cec64a2d74631f396bed18b8e2e6abd0d765ca457e28ddc8d9d0ff003a097e9f0afb8f11ce468cde2d5973f2db0f095371534630e251d93ddc84db93f91a86be
+DIST thunderbird-140.16.0esr-es-MX.xpi 490827 BLAKE2B 6e32b103bb1f6205d6acefd74c2ccb6cafdb914963154948be8bbed905816ab38eeb18b4d84ffd0355f31a3ccb8df3d2ce4de049d364dfc97f6c1fcaf5a7aa6a SHA512 db1ab13c4ce6ecc567d4f63407daee2e4fbeb8f882e716024dd911a2ec6558f0b4e32f90cdce085bc919bd07841280443003cd96a768bddc0ca73d5f884c2d15
+DIST thunderbird-140.16.0esr-et.xpi 443619 BLAKE2B 6a0dcfcc0aefea2c21eecb9ef5923fd40c8aa9dc75e84d5cfa8c310904ec9e5bf3370c3851550458fb64636b20fc68c8df99fa47cc791dbc8af148813da630db SHA512 34b03962fcbefc734793253e23f487edbc398151a8406517fb5177a8b81e8cf589eac432afed7f48d0b6f4368b7ae07740d30d13b621417fafc22b7f9efc0831
+DIST thunderbird-140.16.0esr-eu.xpi 473925 BLAKE2B 6b8a62080fe30272de971cd7492e6b002e644c4af486e58485582db52974ad7018d0a484086852edcdcd675e4ad211338c8ea1b1f62e75033ff25d4a10577ded SHA512 57547dc971370b3a023c5a0b50942a8259dc64f5f1246b895b9979d83a0ded1befdfafc0eacf5b10bfbd5b733c3634e78e09283caa2162e2c460f968caf73db2
+DIST thunderbird-140.16.0esr-fi.xpi 475621 BLAKE2B 9ddc28da39e7b52bf2a7566cfdb61f1a16bb5c009b95699c2f601d73135d66499497d9f4fb0e22e8a9d6fe7d5d809399a2b3bb66214b6c0ce426bb7e5a763388 SHA512 9a8a7fda5d8f22ff7d497a7960cb9c1c5535243380055114fb64242437db3e4059a7760c21052d8e5aa02138255314c6099d558442b1e7cbb1098ea0121f54a6
+DIST thunderbird-140.16.0esr-fr.xpi 508316 BLAKE2B 3870e6670a1b1185c93a94f2121b04e275bc5947179d8769cb4451e8fe73c3accf2f510973bdd81560ab6c83d4ee2e6b1e9ec2ba8147a386458886d9438d02c6 SHA512 890a4abc3d1664575ba1404a6aea3239c031cb633cac3973b2971432f718d528ecbb2785092175f3ec3b6b2cc23831e50d926a9f7749b788514da49955ddb16f
+DIST thunderbird-140.16.0esr-fy-NL.xpi 490685 BLAKE2B 9846dbfa4fc2e9e5cc781dd4bccbed220afa146d9b5d3431852b1a1ba81f0b7f05b0a865e2bea58829e2ea9bd7b8ce75c95b453125a3aa845b0c07e54f1a81ac SHA512 7f3963696509cb497438aebae44182907dfd1813bff3405b389088025c7db051fab5511487c7187dff4d13f45782b5926a9be83e4b035722fba8e383f2de3062
+DIST thunderbird-140.16.0esr-ga-IE.xpi 376746 BLAKE2B 51117f3fb89cefd89cb6b4ea04877fa208cf36f4d85a48e9f4b554b83cecc509811f2e05a5e6e47d8cf007187cc87f9fdcae5d5bc59474953182f813765ee938 SHA512 892fa7bc064cb00899031f1ab271faaad405a7109586c0a08c7d05820ebbe6742c91c40e9de082a9e098db017ea0dcd5811c467753bfed23745af5b63f517351
+DIST thunderbird-140.16.0esr-gd.xpi 461976 BLAKE2B b572d5f20f4237ae6ce46241968038c82e67ac48d36139d265676c0d112fcae71161538ebd229b488f2dba5869183b3b82488dfb2b77a3ca443a47cc314cd72f SHA512 56ccab3532444d0281f9390e8481517c7e7cf3a1af15a5cf01641253316136af51d9b72afebcfeb4faeecb5659a4dfa936ee97cbd6b27c14777b0b00da8f845b
+DIST thunderbird-140.16.0esr-gl.xpi 489346 BLAKE2B b6a8d25aa60ca5cebbe15c23ecb781cb2f0f4b0df0c043276e05d32fb0919ef5256222758f617e3d5d668dfaee34a5e0d1bbc1777ff6b5d46393a24d8d62e6e1 SHA512 d9093fcf94a77f7392c94b67ef7bdd7f977a1cd8941cf578b1acad6abee274a619347fe7ce372f5c7cdbe895a8f7943e40cfb138e223d4700b242c41bc1e4aa6
+DIST thunderbird-140.16.0esr-he.xpi 444207 BLAKE2B 6fb559000230cd480dc7b5b3ea94ce24a6f7cb8889e5fa57570c61af1dee605a9ed0b554f39d4e41737680a6aaa1cca0fad7bb8c09b6c96abe7bd7c58d0538bc SHA512 2d903ab792a0fbb8f42b98a3aae0a6af779f891d87b1d12c608fe8e5b90fe58cc21d4676fe7b71984cc49dcbf575ccdb135c3c3acfadcf5adbbe1049b0a91f7b
+DIST thunderbird-140.16.0esr-hr.xpi 471056 BLAKE2B 1285bd790f9103c675cb8fcb5ae43f17c244e133beab52e9d6725724d4a2c337c0240aa32f7c949883ef2227f73aa3da6be272054319e38647210dffbab34871 SHA512 5f67a25930cb5f62e5c9ff2313b7faf9ad2c125a66b55f7bfba1525c1f6c90abf97b369ad3f9bdbac9cd3ace62842559433d3b31405f44894053cf2cd2ef04ba
+DIST thunderbird-140.16.0esr-hsb.xpi 514954 BLAKE2B 88ef3dab60107222253f1e3e8ca48b0b9c075c1e75c158872c78899195c32087bc68aefe4c3796499dd0bf1f84f005179bd235bfa927ca7af080d2d0817c998f SHA512 d29efd7a27cf36890e8eeba558b289d865cec44472f377b05b0956675e2255542ca83e2d164b725eb7038bb58e64248807b2589d192ac44ea0e1d53b65f0b92c
+DIST thunderbird-140.16.0esr-hu.xpi 517546 BLAKE2B d6ce436e0ebc85ece9fc6b6acac9186d64dbee391274f211ff127ee06a9863787d39b114c890629fa79cc9ed74ad648c25684ac689a805d2a6fec4d2847d1ef7 SHA512 ebc4c7382ad2bb2066926ba3e63ac496955eeb81082ff86e3d2ee1860419e54fb9f8a4308ab43fb818db4424f649bb876da8aea75fa9b9d902c05b4c3abf4527
+DIST thunderbird-140.16.0esr-id.xpi 467004 BLAKE2B 8b5f4bdb187320f8e7d050787095352c9257f43461ac6eeb251b7f3efd89676cfdd891bd8815c39751e65abff7b5cb933f31a312270c1f5309de77a194b9d57e SHA512 2a741984a7f57c7ecb417b74c1555ed0faeab06d0aa3fb82a6d5ac45f0778cf6636d121bcf2ac083736b66a8536bad68c8e346737fa2f212fa8d43c4f94a23cb
+DIST thunderbird-140.16.0esr-is.xpi 482740 BLAKE2B 55c90bb50e5a259350207ddbc0e617426747f098dc945ada62c0375b7627c5556d9fcf8306846fd648c2882df8c021594e47a5426b871e6cb0fac38a1209fb65 SHA512 993da70b61bd130ff2252c86b7aae738df5e4dda4229aaaa6e92716a23f6d6800577f1dd246c07e2d7d40768b3c2de8ab324aa2dc2a8f9ea9f26036221cbefee
+DIST thunderbird-140.16.0esr-it.xpi 488528 BLAKE2B a0340267e0f277a44e4b00be5e4101e8653bfcab4b63e8416614f5299c120dd095ebcb82493ac040fbfd9e06e10b5402dbc807c91116c8101ebccac1deebfb5d SHA512 d478879ba512a0e0a7954bcb3f7fc5a8a68c1ee8ee076fa58fc26ceb0cf1c729188bbd1af7cd11bf7f2977f33127445c357d133fcde6abfc3130f2a58f59be9c
+DIST thunderbird-140.16.0esr-ja.xpi 539186 BLAKE2B bc9d61b626057b0ea0388f3bb40ae189e474e284afd4e942544a40c9b742d228114e543b3c992755b967adeb21e0e2f5fdfa995c8215a22cfe49620fbb1058a0 SHA512 a3c66d179b4748ddad12e1d39e8f8e767244adc15d41e60025f4be9664ca9c52e8e2ac2f3a42a4ba187e03afd4cb103048037984bf5c48f8d6699cedb0120e29
+DIST thunderbird-140.16.0esr-ka.xpi 554795 BLAKE2B 861230dd299670c01bd150204fcc78393511fd79190bb8c09ed79143542e9375a7d2ca3598807a839159ebe728bac6630539621c17ecdde399916b2a97a59c17 SHA512 d1c1de16a142e35bbbb020beabdea551798b876139e8dd2152590bb00d4d14b79422917e2a29f1ca07a140b6ab7317f3ffd1bdd1593d3a8769f4c0a758d92b85
+DIST thunderbird-140.16.0esr-kab.xpi 470498 BLAKE2B 2b5f236e74bd3e52c482437794726feb9dbab4550600273b1da185b685510485993ff293e846736d02c97360280501cfba22de4f78ec962bae94815843258c1f SHA512 5cf173473c70bac2b143fe92d08d963a488f7a3c327eaf32df893fb2e20b7124c2edb58de3219f28c055c9a33c62cbf1bdac74a9727a3b5a4b3b4b36c46b1741
+DIST thunderbird-140.16.0esr-kk.xpi 573884 BLAKE2B e141fc7ae9211c674741c652f7d327426797713e3516a0df47cb9911b6c025e944fc0f3491c684250719153e12ced22612c710624fa3b6e3d5cdad8c668cdea0 SHA512 a2cd68eab21760a956a56779df8384bed80549be77ce67608952cd979cb6e759c3767de61d6d920f154f20df111384a666b00e4005e98766a62fea81bee8da01
+DIST thunderbird-140.16.0esr-ko.xpi 515593 BLAKE2B f83dcc3d21e4ce16594f9ef3d52bcadbdeba0e7fe5d06e5c08754ec966d523301d530edd9adbee307182b3ed87906acdf30ae3402d8b18b67333c5d6590e92b5 SHA512 cffd0331a6c3df5d9fb183aeff27865715475b5959979809ad7b9d1d2d45c117602a2c9fa53389e1ed55b2e3d07ef5b31e1362837fad615e662d915ff9d00774
+DIST thunderbird-140.16.0esr-lt.xpi 453437 BLAKE2B c038cc84ce2fe3e4eafb24f77ea012a886590bff0cbc83ee0afd8f1bfc466f19084c957ed093da5d544360a1f629f9acfaabb87f5f6f7d2192d05fe02e5b2df9 SHA512 2d957d53d53f3a2ec8da4558c2626c54027970a48f7d14758c5e6d27d80da8cfac06db87e17881c53e6da4bcd0a74821187c3c0753e1c2b1ec4ec60b885e88cf
+DIST thunderbird-140.16.0esr-lv.xpi 392815 BLAKE2B 32f2baeee6cd85d6967b5fe223418f38fbbba04aea58ba57302426562b26fa430de534030a19bc9a78df63e28cbc490a5414cecf79c25c86e6f596b2d334f759 SHA512 cb83e1bbaad704f61a733ce6541bccc1db76b5a18358737bb49d74e06ea8d3b2e044b97bd57cb099098a0c66ea92a3051b78e64b48daae285a65a72135965e08
+DIST thunderbird-140.16.0esr-ms.xpi 352182 BLAKE2B 9343449c42b1287b07501a4035cf0c6bfdf91e3be67497c828297d913946d54c4df9a0b097dc53f27082acf553b91ebeb4e8b67934ac3c1b003e5de1a96eebcd SHA512 03d34abc8f2cdd540be00c3bbad4cb7d7316c2567feae381e44e90433678d94d6b24726cc2db0608409bd2faf082a412b783164fd20144d7ca379d60478b5fea
+DIST thunderbird-140.16.0esr-nb-NO.xpi 476123 BLAKE2B 7c4f6b4d0de8c6a8ab80bd1e119db26d69690fbe014a6b8323100ebdaba3c855e5c4fe79ead537c94d667d416032a4fe3203ed069ac3fdf625f63bd2b1255ad3 SHA512 94f085d6829d14035dcca504d182c12bd111c2bef6008bae57b42eabb87fb396386c2904a0adf60a17dfe86c9ebf41bffce79be7f7b5a543ff86351a51a8219b
+DIST thunderbird-140.16.0esr-nl.xpi 482118 BLAKE2B d55cc28d061f3db2786b97c5891bdf71f861558dc916bcf47d8879974299211433fcd5ad5ec0382c7f4acb925653fbeaab7c54ec91fb09e63b9b22d446f591b5 SHA512 7e32608b2c8cad1737b6dd0e3ca42afd33b8acbe25d01d561d1791389d3d95cd39d8456f5db9d429bc2e7b58f9552d64d9564772610375bc335d7f19e5f4f81f
+DIST thunderbird-140.16.0esr-nn-NO.xpi 479761 BLAKE2B ac658ce7ede3d5bd163c46f8252f9bca568cee8af3c39f126394d80554b852dbe28d450ea94ffade567b03d92c56fe82db209b30c2804e45af53331b70aa70e3 SHA512 c0eb1ffe1ecec9ee3426f65660e51ae25958d133aec6fba7dc7ce5e72233da5d861497ee5a8025b50c2a55c859d1a5b1b994df434e73b6ce87084ff408df3a63
+DIST thunderbird-140.16.0esr-pa-IN.xpi 435733 BLAKE2B 38922fd336b80e993e0cdf6ebc46cb8c43ce848e85b9dd71ac1eba8b7189e39de17067a222b38513f286eeab5380a4492bc43c1a1cca1001eae79ca6349510ce SHA512 38f66c1bed1812153fae94a3a60d0a4132e2704615aa1cd6afe1bb9e1c5db1ceaa4b20a2b12847b160416caa985c6f80bd1c6250fbed448d60faae80e6f55452
+DIST thunderbird-140.16.0esr-pl.xpi 515614 BLAKE2B 4715117802b3c75f36e08435bad88c4ba9d70e5c21ec5c3eadd1eb1bdcf7078acdc19a2a60ed0592bc4753a94e8297286f0fb0080fb932d74775d6c625f329ae SHA512 8e7ed6e7ce03231a90f10d8915f6e9492ed0a3fa97d80b4f39573f4b974dfcb4c9a0a16cb140e4071a5e68f52110dfd50af5e1ed35073c9efc3206fe161a509d
+DIST thunderbird-140.16.0esr-pt-BR.xpi 490166 BLAKE2B c1bd84fa501b3c06a2ad77190005a1f21490a52060022c45e33af63356b7353dab7c480bfb6aa0406f0930b3ab9a19d6daa918057c2c44718faef0a30d330dc7 SHA512 bccf137c69da08d0301d258709c760e3f31197175122cfc1b710641ccae6833554ea12e622ea4d46e1e997b40ccf70615396f93998cb2e9c2baeda8b73802bb1
+DIST thunderbird-140.16.0esr-pt-PT.xpi 494211 BLAKE2B 17ecaff6a32e542ceda39d250b4c57b39d03ed2ae24ec337ed9d6a024d6dbdbc7d4b364f015d0012e0bdce7f6d604cbeec8c7bd3cfa52fc8b3d9f6d10c9686fe SHA512 26bb7a92a5297ab66789e2770d6977c649b9c2716a86a6afd1e966e9943b6026597dfc0447a69a3dc4b0462bf5006ac8c14a478f0848a4e32e3d888193c6b4dd
+DIST thunderbird-140.16.0esr-rm.xpi 487885 BLAKE2B a6ec9385219ab6d43c25d18fa7a098b443063beca0c413ba99c94f7a9cf302c26e0dd60ab3cfdeda5f34cd1ec7a3b2ec54e1cd143ec1e3bb4d2b4510c739be31 SHA512 3d543b2a69d06af90a234b878e2b5607d0eca175b5069a0755400f98269c7009a5128d3ed9c9015c3015b8f3e3b611e97c1c415d90cdc31d0cf822d08e2648e6
+DIST thunderbird-140.16.0esr-ro.xpi 501095 BLAKE2B b427fab4ccc6000e4b7104bfeab816cbccd281e45581def7a8fc147184e89691e573e257b7c61b6e3460ea9be0affc4afdd5d8c86403124ad06a729891945a8a SHA512 2ebb3db583b2d1bc833a172e6a2bf44934f77f14956bbf42e1a6235d243dbdcc95ef54c6418823de0d164257db82abbfe6e7d97906262391baccd0949cd2f6ef
+DIST thunderbird-140.16.0esr-ru.xpi 593345 BLAKE2B 64b71aa26fb3bb768aeb11baa9a5d0ad11fe8efde7693c50227ebcd276c8b2141a204f46a5f60084734ac1b0d631a34d829807abb08f8c113ffdcf6d871ed129 SHA512 b4a2c3f5e3b362676c9effb21cdc1161775f653a287eddfcaa95f7bc12bba7bacda150ff10a3adf267e8ac76658144da38f640afa2ceeb8b58993eabfbb27105
+DIST thunderbird-140.16.0esr-sk.xpi 519392 BLAKE2B 596c0371a6a30d70540104f2a121a95dcaca0f4c185f4163019d1e8ca9c7291b40fac607773c8212b5e418ad95fc46c9d511be6c5f8e1a9af4d8043d02ab180a SHA512 2e1b24f3ab6800c24324a49ad7f7ae508c69afa7cc00f5095894b0beb65922623d67e7a7f2d587ef0023dcd2617f34a15e0a367f67b12dd739e0d735e1eefaa4
+DIST thunderbird-140.16.0esr-sl.xpi 485963 BLAKE2B db00220b230514192621b46c478fb59315bbcc066e45465fd8b1953f20c8f8a0de5149f77a40ec018959f1fed382b6f7763aabecc087a272410e785e1456232a SHA512 26c98d3e1a4f61a9a82f6e254960617f1f3af767849b82cf833564bd7ef982b638777430a0a53bbf94ad3e8232c0ef5c0095084470cb0c280c96827cd42a1c22
+DIST thunderbird-140.16.0esr-sq.xpi 506282 BLAKE2B 75f05ea984985bf4622e57217b18072ca66099c028c0b2b33288b88778089e10c865380f431166454f46737f2b71ddf59103884404e3d2cc92011423d2862538 SHA512 83bc64d523140b9907e7563e48ad2ed4995df931e2b69153f9d53475b79c343a239fbc55e7a137940bd07cbe9283470ff16a62deb0f4929242860fa96e520598
+DIST thunderbird-140.16.0esr-sr.xpi 533251 BLAKE2B 4dd14e558f6330dc343f495a67180fd9f591c77f1ca8fa6732c96291ea968928eb7903bd199ce17a0d0a9dad0653c89298d12837cfa4e8ba8269cabd28df61dc SHA512 f37579393870fa37dfad028af5596082c406f5b2220f2f15fd2f46b75eef366860b45d72854aab7c58a48669aa504097eedd1844866f24048cdd2d3a850b0e37
+DIST thunderbird-140.16.0esr-sv-SE.xpi 484422 BLAKE2B cfe0c7b536cdeb0b8d14f5c1519b2f7918b4217e13a8c444079b011f276aa9599a4f6ad241cf2796122ccc5de2d9d9c6183580cd3beb33fbbaa722b35d8ede93 SHA512 18730c741c89154b0199ae770b626359c8159f4dd75a71f5538cf11b3b1d2536bf2f57c2f10b29ce189600babd3339186299820df2be56e91ca80f1145d3defd
+DIST thunderbird-140.16.0esr-th.xpi 569104 BLAKE2B 0f28ebf7e4c53c5851935a5e8d31b74f7487726ea872539590c68286dd34debff2888083bb04d3496325beb3e9c3d4d56a61843a500b22553608f19eaa4a27d4 SHA512 643001ed7b6efbc4ad18a5a90fd271c4b4d61dbf49200741107a29b6841d8acd102764d9c5272889e778fe7370330748e710a668adbf7f4f1f0740757d852385
+DIST thunderbird-140.16.0esr-tr.xpi 496305 BLAKE2B 3cf3e8de6b42b330f3c40fbfc05ad3813f5c14c9ce9fb27c167a52b922f89b66c0463cf7e48750a5a06b3d8e8e45c7d38fdc8e026bd8846fdd5c0eec7fe3fbb2 SHA512 a5951ebf24e8af7475db12be40c2d712f2cbd8f867cfafa1ec7db8ba80897b19168ddfd894d3ee3e3e9f71fd192c0ef38bdc13438ffc47e12d46e10a0fe901f8
+DIST thunderbird-140.16.0esr-uk.xpi 582153 BLAKE2B 6550cfce78d16191e8767df516a969074d5d8d46065ef77f6ca214fd91f13077e52d3103265f31ec31a624c46cc88fd7bce7c7331674ca551bfdc7616d2a6d5c SHA512 209a76eca2a99c1fa9fa139d855a24cf07fde7a1f7ef1601f5c609af0560920f852b4669b9164c0de7c48c0054a28fe496b43257b927b2041e63e590acc60698
+DIST thunderbird-140.16.0esr-uz.xpi 355268 BLAKE2B 2dd9ddbf1d4327b12d51a819fa1a84d017caa5280305f8888a94eb1933f59a024ca03f6b951c0066a49981d1b6df20f336c401543c5267ec7d3fcd7f0f15dc9e SHA512 73a6a4c7ab1da559e8b813fc57e83795f0747ddb830e3fa51d472c7fd1c166b7288f15af4a5e94ba9acd8c4e39e016fdcb669eda29fe3d62fe2d0a1993e3862c
+DIST thunderbird-140.16.0esr-vi.xpi 518886 BLAKE2B 5bbbe9ad4a3f44b0d2208f158eec8d82b13e1bbced6b54796c49aeb0ba379aec38db109c71782ef2fd8d0ba0414491a21ff066453477c765d70637e4a7587789 SHA512 27642eb0a407daaff735b3671b0c46fb9197c04e45cdcd8d056fdff75b6c8e82a18afaa0a5e1aee0a50e62e7f09c2551f4ebec35096c9fe94158af2ac9387dec
+DIST thunderbird-140.16.0esr-zh-CN.xpi 507847 BLAKE2B 0fe3af4e13484b4518a92bd4d72c44a9bb4ba9271f8072703e9d1342a9aca7366c0993b70804d61f1a259869b71fb0e1a29b628b164ca09edd879d792f947a5f SHA512 8e972dad86086818599a75ab6aef5afdaf41565f8384c5180a9ace2a436a9f5d9789cd571ab706ec4965ca9f2f885aca5f9b1ebc9990cb345ac58024408cacbb
+DIST thunderbird-140.16.0esr-zh-TW.xpi 511431 BLAKE2B fb97fc1aa94973ca62899e4ef5682a2125c6e3b3c510cb0c68c9fffedc55ba9184f9364a8422e40399f43e0a2bb8a25092f0d21d9cfbef3d16218d796d0da718 SHA512 2422714b0e7d3b6293fc5dd2b2e550800cb41653c64182154c6d8fa02db75e227bbe134ea60b472b836e01ac831a90524f472506afe660539aa4faeef8c5718a
+DIST thunderbird-140.16.0esr.source.tar.xz 762960800 BLAKE2B d071734786c159495a70a3934f644d32a232aea14e6fb5c1fe46a754e191580c92240c9b0c9ca8f7bf32e59167ef3bfcaadc5de036facf1fe7625a6a9ae04972 SHA512 9844641f9c8b4e7c96445d6d6fc554fc80afd8652899de3458d183f9381a18f08233e5d2e2beedd6adf2a0a6e1331e7abb55e698765b27110ca2dafdf12ecbb7
DIST thunderbird-153.2.0esr.source.tar.xz 939120480 BLAKE2B 892d5c7fda25685bc5b076916c1c2ad99f2063f75c74447d78123a34e3e27d9a4e82917ef2514a0c48be0bf3b2d6877ae0db63b060076ed655b9e944d93c8efc SHA512 a00f94a63cffcea4268838acd85ed325653fdcbc575fc020471240423fc78c560f1377d3898216e39cece32eb9a24d32dfbf1bfc9522876092621c861c629b7b
+DIST thunderbird-153.3.0esr.source.tar.xz 938162732 BLAKE2B 3ab1a6e10b376fa6ef7b7c26304a0b504532ac7def4655fdf1e4638d3cc66c2d5f3c95af5c7e77a3e62bbb3d887c8259f49992259a0576771fab67f379e7e215 SHA512 9cbf9f7a9891c475721abe04e32f455f2f8df4a1b755d9da876b436a68724383f091b44e5412dbc747e33406021dc9d351cb7c6882237300eb608eb45e191529
DIST thunderbird-155.0.1.source.tar.xz 945085524 BLAKE2B 7f25e4faff7f5892909c5943b784dd0c921cb308821cbd55c340afa88ff68471783ec925b5266c7bc01f4dc8b82fe746edc77f7240acbf5737f919cc8109603a SHA512 f0811a90cdad910d0265a37e18a36f2f51185b4a50f7f7647938a7ca1bd31f5bc49572954a5039a9e7e87dc2b4f98bb32f1dc393199c3304d8e87cf36b6c89f0
DIST thunderbird-155.0.source.tar.xz 948065880 BLAKE2B 0d639fb27512d54237858e10f30a7c32788217a98d72aebc1a730e093f67c572b4e297ea05d9f0b2f1d7e29dbbec464eec86aba1e38f5e2455efd720f25e33d9 SHA512 fe0247ac50d2741a49517fabe729dc990a66e7044f450e4fe6871b663096bcd15f22ed83eea0557106d38eee34e464fead5a7567d0906995ff2a945fae64b60c
+DIST thunderbird-156.0.source.tar.xz 941437984 BLAKE2B ba3bcc3970299154c8c683d73355a7f0ac0e2eb7937378d4bb6903f2f33739101b935e7d40403a1e1522cc4deea44d1a2564ef3a7e1f195bc92a3443718ce201 SHA512 8fd524f9d622f007e9bd5e8bcc440f185427a928a04d3aae14fc476e011ff1c15b68607292624ea4c4e4d596722193dda88e233cdfb6bbf5d05bd180870532ba
diff --git a/mail-client/thunderbird/thunderbird-140.16.0.ebuild b/mail-client/thunderbird/thunderbird-140.16.0.ebuild
new file mode 100644
index 000000000000..dcfeaa6de6d3
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-140.16.0.ebuild
@@ -0,0 +1,1168 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-140esr-patches-13t.tar.xz"
+FIREFOX_LOONG_PATCHSET="firefox-139-loong-patches-02.tar.xz"
+
+LLVM_COMPAT=( 19 20 21 )
+
+PYTHON_COMPAT=( python3_{12..14} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+RUST_MIN_VER="1.82.0"
+RUST_MAX_VER="1.94.1"
+
+RUST_NEEDS_LLVM=1
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr.
+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 check-reqs desktop eapi9-ver flag-o-matic gnome2-utils linux-info llvm-r1 \
+ multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg
+
+DESCRIPTION="Thunderbird Mail Client"
+HOMEPAGE="https://www.thunderbird.net/"
+
+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[@]}
+ loong? (
+ https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET}
+ )"
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ SLOT="0/esr"
+else
+ SLOT="0/stable"
+fi
+
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86"
+
+IUSE="+clang debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx"
+IUSE+=" system-pipewire system-png +system-webp wayland wifi +X"
+
+# Thunderbird-only USE flags.
+IUSE+=" +system-librnp"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )"
+
+TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird )
+ !system-librnp? ( dev-libs/jsoncpp )
+ system-librnp? ( >=dev-util/librnp-0.17.1 )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ clang? (
+ llvm-core/lld:${LLVM_SLOT}
+ pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.29.4
+ net-libs/nodejs
+ virtual/pkgconfig
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ gui-wm/tinywl
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${TB_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.112.5
+ >=dev-libs/nspr-4.36
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-apps/dbus
+ virtual/zlib:=
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libdrm
+ x11-libs/pango
+ x11-libs/pixman
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-76.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-pipewire? ( >=media-video/pipewire-1.4.7-r2:= )
+ system-png? ( >=media-libs/libpng-1.6.58:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[networkmanager]
+ )
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ jack? ( virtual/jack )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+llvm_check_deps() {
+ if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
+ einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then
+ einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_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 es-MX 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
+)
+
+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}"
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif tc-is-lto ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="7400M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+
+ # Get LTO from environment; export after this phase for use in src_configure (etc)
+ use_lto=no
+
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+
+ if tc-is-lto; then
+ use_lto=yes
+ # LTO is handled via configure
+ filter-lto
+ fi
+
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ if [[ ${use_lto} = yes ]] ; then
+ # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC,
+ # bmo#1516758, bgo#942288
+ filter-flags -Werror=lto-type-mismatch -Werror=odr
+ fi
+
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif [[ ${use_lto} == "yes" ]] ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="7400M"
+ fi
+
+ check-reqs_pkg_setup
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ export use_lto
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if [[ ${use_lto} == "yes" ]]; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+ use loong && eapply "${WORKDIR}/firefox-loong-patches"
+
+ # ICU's subslot change should trigger rebuild on Firefox if it is updated 77->78.
+ if use system-icu && has_version ">=dev-libs/icu-78.1" ; then
+ eapply "${FILESDIR}/firefox-146.0.1-icu78.patch" # bgo#967261
+ fi
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use loong; then
+ # Only the LP64D ABI of LoongArch64 is actively supported among
+ # the wider Linux ecosystem, so the assumption is safe.
+ export RUST_TARGET="loongarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ elif use riscv ; then
+ # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of
+ # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working
+ # guess right now though.
+ elog "riscv detected, forcing a riscv64 target for now."
+ export RUST_TARGET="riscv64gc-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info"
+ fi
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clear checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+ # glslopt: bgo#969412, bgo#969871
+ moz_clear_vendor_checksums glslopt
+ # TB-specific
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/comm/third_party/rust/glslopt/.cargo-checksum.json || die
+
+ # 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=comm/mail
+ mozconfig_add_options_ac '' --enable-project=comm/mail
+
+ # Set Gentoo defaults
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-valgrind \
+ --disable-wmf \
+ --enable-dbus \
+ --enable-js-shell \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-packed-relative-relocs \
+ --enable-release \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-ffi \
+ --with-system-gbm \
+ --with-system-libdrm \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-pixman \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+ # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default.
+ if use amd64 || use arm64 || use loong ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use loong || use ppc64 || use riscv ; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # riscv-related options, bgo#947337, bgo#947338
+ if use riscv ; then
+ mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit
+ mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-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-pipewire
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ if use system-librnp; then
+ mozconfig_add_options_ac "+system-librnp" --enable-compile-environment
+ mozconfig_use_with system-librnp
+ else
+ # This controls the backend of the bundled librnp. Choices are "botan" and "openssl".
+ # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp.
+ mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan"
+ fi
+
+ 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
+
+ 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
+
+ if [[ ${use_lto} == "yes" ]] ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ 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
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold, bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr
+ fi
+ elif use loong || use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on loong/ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from llvm-core/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # 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}/defaults/pref"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+ >>"${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
+
+ # 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 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}/comm/mail/branding/thunderbird"
+ local icon_symbolic_file="${icon_srcdir}/TB-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}-r2.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:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ver_replacing -lt 136.0 ; then
+ elog "In this version of Thunderbird, upstream introduced an in-app notification"
+ elog "system. Setting pref 'mail.inappnotifications.enabled' to false and nullifying"
+ elog "'mail.inappnotifications.url' may help you avoid these messages, if you don't"
+ elog "wish to receive them."
+ fi
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "encrypted chat support" net-libs/libotr
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+}
diff --git a/mail-client/thunderbird/thunderbird-153.3.0.ebuild b/mail-client/thunderbird/thunderbird-153.3.0.ebuild
new file mode 100644
index 000000000000..0d6a1fc0d54b
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-153.3.0.ebuild
@@ -0,0 +1,1120 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-153esr-patches-03.tar.xz"
+
+LLVM_COMPAT=( 22 )
+
+PYTHON_COMPAT=( python3_{12..14} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+RUST_MIN_VER="1.90.0"
+RUST_NEEDS_LLVM=1
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr.
+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 check-reqs desktop eapi9-ver flag-o-matic gnome2-utils linux-info llvm-r1 \
+ multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg
+
+DESCRIPTION="Thunderbird Mail Client"
+HOMEPAGE="https://www.thunderbird.net/"
+
+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[@]}"
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ SLOT="0/esr"
+else
+ SLOT="0/stable"
+fi
+
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86"
+
+IUSE="+clang debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx"
+IUSE+=" system-pipewire system-png +system-webp wayland wifi +X"
+
+# Thunderbird-only USE flags.
+IUSE+=" +system-librnp"
+
+# "-system-librnp" requires clang, bmo#2006910
+REQUIRED_USE="|| ( X wayland )
+ !system-librnp? ( clang )
+ debug? ( !system-av1 )"
+
+TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird )
+ !system-librnp? ( dev-libs/jsoncpp )
+ system-librnp? ( >=dev-util/librnp-0.17.1 )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ clang? (
+ llvm-core/lld:${LLVM_SLOT}
+ pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.29.4
+ net-libs/nodejs
+ virtual/pkgconfig
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ gui-wm/tinywl
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${TB_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.125
+ >=dev-libs/nspr-4.39
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-apps/dbus
+ virtual/zlib:=
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libdrm
+ x11-libs/pango
+ x11-libs/pixman
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.5.3:=
+ >=media-libs/libaom-3.12.1:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-78.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-pipewire? ( >=media-video/pipewire-1.6.8:= )
+ system-png? ( >=media-libs/libpng-1.6.45:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[networkmanager]
+ )
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ jack? ( virtual/jack )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+# Thunderbird-only RDEPEND, ESR and Stable.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" ~mail-client/thunderbird-l10n-${PV}:0/esr"
+else
+ RDEPEND+=" ~mail-client/thunderbird-l10n-${PV}:0/stable"
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
+ einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then
+ einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif tc-is-lto ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="7400M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+
+ # Get LTO from environment; export after this phase for use in src_configure (etc)
+ use_lto=no
+
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+
+ if tc-is-lto; then
+ use_lto=yes
+ # LTO is handled via configure
+ filter-lto
+ fi
+
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ if [[ ${use_lto} = yes ]] ; then
+ # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC,
+ # bmo#1516758, bgo#942288
+ filter-flags -Werror=lto-type-mismatch -Werror=odr
+ fi
+
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif [[ ${use_lto} == "yes" ]] ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="7400M"
+ fi
+
+ check-reqs_pkg_setup
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ export use_lto
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if [[ ${use_lto} == "yes" ]]; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#915651 and bmo#1988166 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ else
+ # in musl, the rust-1.98 patch probably handles RUST_TARGET like we want to?
+ local rustver=$(rustc --version | cut -d' ' -f2)
+ if ver_test "${rustver}" -ge 1.98 ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ else
+ rm -v "${WORKDIR}"/firefox-patches/*-bmo-2053518-handle-oe-linux-rust-targets-added-in-rustc-1.98.patch || die
+ fi
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use loong; then
+ # Only the LP64D ABI of LoongArch64 is actively supported among
+ # the wider Linux ecosystem, so the assumption is safe.
+ export RUST_TARGET="loongarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ elif use riscv ; then
+ # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of
+ # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working
+ # guess right now though.
+ elog "riscv detected, forcing a riscv64 target for now."
+ export RUST_TARGET="riscv64gc-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info"
+ fi
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # 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=comm/mail
+ mozconfig_add_options_ac '' --enable-project=comm/mail
+
+ # Set Gentoo defaults
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-valgrind \
+ --disable-wmf \
+ --enable-dbus \
+ --enable-js-shell \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-packed-relative-relocs \
+ --enable-release \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-ffi \
+ --with-system-gbm \
+ --with-system-libdrm \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-pixman \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+ # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default.
+ if use amd64 || use arm64 || use loong ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use loong || use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # riscv-related options, bgo#947337, bgo#947338
+ if use riscv ; then
+ mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit
+ mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-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-pipewire
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ if use system-librnp; then
+ mozconfig_add_options_ac "+system-librnp" --enable-compile-environment
+ mozconfig_use_with system-librnp
+ else
+ # This controls the backend of the bundled librnp. Choices are "botan" and "openssl".
+ # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp.
+ mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan"
+ fi
+
+ 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
+ # mozconfig_add_options_ac "+hardened stl" --enable-stl-hardening # not available in TB
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ if [[ ${use_lto} == "yes" ]] ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ 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
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold, bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr
+ fi
+ elif use loong || use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on loong/ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from llvm-core/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+ >>"${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
+
+ # 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 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 icons
+ local icon_srcdir="${S}/comm/mail/branding/thunderbird"
+ local icon_symbolic_file="${icon_srcdir}/TB-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}-r2.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:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ver_replacing -lt 136.0 ; then
+ elog "In this version of Thunderbird, upstream introduced an in-app notification"
+ elog "system. Setting pref 'mail.inappnotifications.enabled' to false and nullifying"
+ elog "'mail.inappnotifications.url' may help you avoid these messages, if you don't"
+ elog "wish to receive them."
+ fi
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "encrypted chat support" net-libs/libotr
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+}
diff --git a/mail-client/thunderbird/thunderbird-156.0.ebuild b/mail-client/thunderbird/thunderbird-156.0.ebuild
new file mode 100644
index 000000000000..b36eb7179794
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-156.0.ebuild
@@ -0,0 +1,1116 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-156-patches-01t.tar.xz"
+
+LLVM_COMPAT=( 22 )
+
+PYTHON_COMPAT=( python3_{12..14} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+RUST_MIN_VER="1.90.0"
+RUST_NEEDS_LLVM=1
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr.
+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 check-reqs desktop eapi9-ver flag-o-matic gnome2-utils linux-info llvm-r1 \
+ multiprocessing optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg
+
+DESCRIPTION="Thunderbird Mail Client"
+HOMEPAGE="https://www.thunderbird.net/"
+
+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[@]}"
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ SLOT="0/esr"
+else
+ SLOT="0/stable"
+fi
+
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86"
+
+IUSE="+clang debug eme-free hardened hwaccel jack +jumbo-build libproxy pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx"
+IUSE+=" system-pipewire system-png +system-webp wayland wifi +X"
+
+# Thunderbird-only USE flags.
+IUSE+=" +system-librnp"
+
+# "-system-librnp" requires clang, bmo#2006910
+REQUIRED_USE="|| ( X wayland )
+ !system-librnp? ( clang )
+ debug? ( !system-av1 )"
+
+TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird )
+ !system-librnp? ( dev-libs/jsoncpp )
+ system-librnp? ( >=dev-util/librnp-0.17.1 )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ clang? (
+ llvm-core/lld:${LLVM_SLOT}
+ pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.29.4
+ net-libs/nodejs
+ virtual/pkgconfig
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ gui-wm/tinywl
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${TB_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.128
+ >=dev-libs/nspr-4.39
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-apps/dbus
+ virtual/zlib:=
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libdrm
+ x11-libs/pango
+ x11-libs/pixman
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.5.4:=
+ >=media-libs/libaom-3.12.1:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-78.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-pipewire? ( >=media-video/pipewire-1.6.8:= )
+ system-png? ( >=media-libs/libpng-1.6.45:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[networkmanager]
+ )
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ jack? ( virtual/jack )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+# Thunderbird-only RDEPEND, ESR and Stable.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" ~mail-client/thunderbird-l10n-${PV}:0/esr"
+else
+ RDEPEND+=" ~mail-client/thunderbird-l10n-${PV}:0/stable"
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
+ einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then
+ einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif tc-is-lto ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="7400M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+
+ # Get LTO from environment; export after this phase for use in src_configure (etc)
+ use_lto=no
+
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+
+ if tc-is-lto; then
+ use_lto=yes
+ # LTO is handled via configure
+ filter-lto
+ fi
+
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ if [[ ${use_lto} = yes ]] ; then
+ # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC,
+ # bmo#1516758, bgo#942288
+ filter-flags -Werror=lto-type-mismatch -Werror=odr
+ fi
+
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif [[ ${use_lto} == "yes" ]] ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="7400M"
+ fi
+
+ check-reqs_pkg_setup
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ export use_lto
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if [[ ${use_lto} == "yes" ]]; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#915651 and bmo#1988166 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use loong; then
+ # Only the LP64D ABI of LoongArch64 is actively supported among
+ # the wider Linux ecosystem, so the assumption is safe.
+ export RUST_TARGET="loongarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ elif use riscv ; then
+ # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of
+ # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working
+ # guess right now though.
+ elog "riscv detected, forcing a riscv64 target for now."
+ export RUST_TARGET="riscv64gc-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info"
+ fi
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # 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=comm/mail
+ mozconfig_add_options_ac '' --enable-project=comm/mail
+
+ # Set Gentoo defaults
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-valgrind \
+ --disable-wmf \
+ --enable-dbus \
+ --enable-js-shell \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-packed-relative-relocs \
+ --enable-release \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-ffi \
+ --with-system-gbm \
+ --with-system-libdrm \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-pixman \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+ # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default.
+ if use amd64 || use arm64 || use loong ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use loong || use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # riscv-related options, bgo#947337, bgo#947338
+ if use riscv ; then
+ mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-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-pipewire
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ if use system-librnp; then
+ mozconfig_add_options_ac "+system-librnp" --enable-compile-environment
+ mozconfig_use_with system-librnp
+ else
+ # This controls the backend of the bundled librnp. Choices are "botan" and "openssl".
+ # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp.
+ mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan"
+ fi
+
+ mozconfig_use_enable libproxy
+ mozconfig_use_enable jumbo-build unified-build
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ # mozconfig_add_options_ac "+hardened stl" --enable-stl-hardening # not available in TB
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ if [[ ${use_lto} == "yes" ]] ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ 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
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold, bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr
+ fi
+ elif use loong || use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on loong/ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from llvm-core/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+
+ # Install the gfxtest binary on supported arches
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/gfxtest
+ fi
+
+ # 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 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 icons
+ local icon_srcdir="${S}/comm/mail/branding/thunderbird"
+ local icon_symbolic_file="${icon_srcdir}/TB-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}-r2.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:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ver_replacing -lt 136.0 ; then
+ elog "In this version of Thunderbird, upstream introduced an in-app notification"
+ elog "system. Setting pref 'mail.inappnotifications.enabled' to false and nullifying"
+ elog "'mail.inappnotifications.url' may help you avoid these messages, if you don't"
+ elog "wish to receive them."
+ fi
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "encrypted chat support" net-libs/libotr
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+}
diff --git a/media-libs/gst-plugins-bad/gst-plugins-bad-1.26.11.ebuild b/media-libs/gst-plugins-bad/gst-plugins-bad-1.26.11.ebuild
index 2fa8a5c61918..7497ef427e86 100644
--- a/media-libs/gst-plugins-bad/gst-plugins-bad-1.26.11.ebuild
+++ b/media-libs/gst-plugins-bad/gst-plugins-bad-1.26.11.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://gstreamer.freedesktop.org/"
SRC_URI+=" verify-sig? ( https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz.asc )"
LICENSE="LGPL-2"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
IUSE="X bzip2 +introspection +orc udev vaapi vnc vulkan wayland"
REQUIRED_USE="vulkan? ( || ( X wayland ) )"
diff --git a/media-libs/gst-plugins-base/gst-plugins-base-1.26.11.ebuild b/media-libs/gst-plugins-base/gst-plugins-base-1.26.11.ebuild
index 25b06d7e427c..ee9935a640bb 100644
--- a/media-libs/gst-plugins-base/gst-plugins-base-1.26.11.ebuild
+++ b/media-libs/gst-plugins-base/gst-plugins-base-1.26.11.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://gstreamer.freedesktop.org/"
SRC_URI+=" verify-sig? ( https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz.asc )"
LICENSE="GPL-2+ LGPL-2+"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos ~x64-solaris"
# For OpenGL we have three separate concepts, with a list of possibilities in each:
# * opengl APIs - opengl and/or gles2; USE=opengl and USE=gles2 enable these accordingly; if neither is enabled, OpenGL helper library and elements are not built at all and all the other options aren't relevant
diff --git a/media-libs/gst-plugins-good/gst-plugins-good-1.26.11.ebuild b/media-libs/gst-plugins-good/gst-plugins-good-1.26.11.ebuild
index 16495028673c..bf678a4834e1 100644
--- a/media-libs/gst-plugins-good/gst-plugins-good-1.26.11.ebuild
+++ b/media-libs/gst-plugins-good/gst-plugins-good-1.26.11.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://gstreamer.freedesktop.org/"
SRC_URI+=" verify-sig? ( https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz.asc )"
LICENSE="LGPL-2.1+"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
IUSE="+orc"
# Old media-libs/gst-plugins-ugly blocker for xingmux moving from ugly->good
diff --git a/media-libs/gst-plugins-ugly/gst-plugins-ugly-1.26.11.ebuild b/media-libs/gst-plugins-ugly/gst-plugins-ugly-1.26.11.ebuild
index 2f0c678445e5..02dbafc75eb5 100644
--- a/media-libs/gst-plugins-ugly/gst-plugins-ugly-1.26.11.ebuild
+++ b/media-libs/gst-plugins-ugly/gst-plugins-ugly-1.26.11.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://gstreamer.freedesktop.org/"
SRC_URI+=" verify-sig? ( https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz.asc )"
LICENSE="LGPL-2+" # some split plugins are LGPL but combining with a GPL library
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
# False positive as only a52dec uses symbols from orc.
# QA: IUSE=orc is missing while plugin supports it
diff --git a/media-libs/gstreamer/gstreamer-1.26.11.ebuild b/media-libs/gstreamer/gstreamer-1.26.11.ebuild
index 916740643dc1..4f020063655c 100644
--- a/media-libs/gstreamer/gstreamer-1.26.11.ebuild
+++ b/media-libs/gstreamer/gstreamer-1.26.11.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="LGPL-2+"
SLOT="1.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos ~x64-solaris"
IUSE="+caps +introspection ptp unwind"
# gstreamer-1.22.x requires 2.62, but 2.64 is strongly recommended
diff --git a/media-libs/pulseaudio-qt/Manifest b/media-libs/pulseaudio-qt/Manifest
index c4a91f277c66..4452a652f74c 100644
--- a/media-libs/pulseaudio-qt/Manifest
+++ b/media-libs/pulseaudio-qt/Manifest
@@ -1 +1,2 @@
DIST pulseaudio-qt-1.8.1.tar.xz 41168 BLAKE2B 3593dd5bd32bbcc5d8e8935ecc2bd877136966ee4cab4e7331d26f4064f08fd686ada1ca4b39f2eef12d88fb56c69c2e35ec537681bc07c270fde762bfd080e3 SHA512 5e1a4161d046a29d95178871255904b81b7e7b4a1e8744ef722f06b657733ef03c85b201957e6c6756ae09f4dab357ecb5ad8a02f3292e2c00c346abc5bb4bee
+DIST pulseaudio-qt-1.9.0.tar.xz 41360 BLAKE2B c4b6bea0a890ce760355a07f0f50895382b67e3fa1e6fe0184529d1e8469b22532d883bb0684a6373d90641cec8832770e96cacc053b7bc595aa5221e7c38ee6 SHA512 d65e367bf692dbfcf502dbd50ae498af496dd28af81ff5ab2e2f99b9e314838c499bfea2cb84ab4a35721fd9795a46cbfe46e78e210a1d2076d14d0722f07496
diff --git a/media-libs/pulseaudio-qt/pulseaudio-qt-1.9.0.ebuild b/media-libs/pulseaudio-qt/pulseaudio-qt-1.9.0.ebuild
new file mode 100644
index 000000000000..bc1577bc6feb
--- /dev/null
+++ b/media-libs/pulseaudio-qt/pulseaudio-qt-1.9.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=6.27.0
+QTMIN=6.11.2
+inherit ecm kde.org
+
+DESCRIPTION="Qt bindings for libpulse"
+HOMEPAGE="https://invent.kde.org/libraries/pulseaudio-qt"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0/5"
+
+RDEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[gui,dbus]
+ media-libs/libpulse[glib]
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qtdeclarative-${QTMIN}:6 )
+"
+BDEPEND="virtual/pkgconfig"
diff --git a/media-libs/x264/x264-0.0.20240513-r1.ebuild b/media-libs/x264/x264-0.0.20240513-r1.ebuild
index 0b5de195386d..a8158bdfe738 100644
--- a/media-libs/x264/x264-0.0.20240513-r1.ebuild
+++ b/media-libs/x264/x264-0.0.20240513-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
# Please bump with media-video/x264-encoder
-inherit multilib-minimal toolchain-funcs flag-o-matic
+inherit edo multilib-minimal toolchain-funcs flag-o-matic
DESCRIPTION="Free library for encoding X264/AVC streams"
HOMEPAGE="https://www.videolan.org/developers/x264.html"
@@ -45,33 +45,35 @@ multilib_src_configure() {
export AS="${CC}"
fi
- local asm_conf=""
+ local myconf=(
+ --prefix="${EPREFIX}"/usr
+ --libdir="${EPREFIX}"/usr/$(get_libdir)
+ --disable-cli
+ --disable-avs
+ --disable-lavf
+ --disable-swscale
+ --disable-ffms
+ --disable-gpac
+ --enable-pic
+ --enable-shared
+ --host="${CHOST}"
+ --cross-prefix="${CHOST}-"
+ $(usex interlaced "" "--disable-interlaced")
+ $(usex opencl "" "--disable-opencl")
+ $(usex static-libs "--enable-static" "")
+ )
- if \
- [[ ${ABI} == x86* ]] \
- || [[ ${ABI} == "x32" ]] \
- || [[ ${CHOST} == armv5* ]] \
- || [[ ${ABI} == ppc* ]] && { use !cpu_flags_ppc_altivec ; } \
- || use mips && { ! test-compile 'c' 'int main(void){__asm__("addvi.b $w0, $w1, 1");return 0;}' ; }
- then
- asm_conf=" --disable-asm"
+ if [[ ${ABI} == x86* || ${ABI} == x32 || ${CHOST} == armv5* ]]; then
+ myconf+=( --disable-asm )
+ elif [[ ${ABI} == ppc* ]]; then
+ if ! use cpu_flags_ppc_altivec; then
+ myconf+=( --disable-asm )
+ fi
+ elif use mips; then
+ if ! test-compile 'c' 'int main(void){__asm__("addvi.b $w0, $w1, 1");return 0;}'; then
+ myconf+=( --disable-asm )
+ fi
fi
- "${S}/configure" \
- --prefix="${EPREFIX}"/usr \
- --libdir="${EPREFIX}"/usr/$(get_libdir) \
- --disable-cli \
- --disable-avs \
- --disable-lavf \
- --disable-swscale \
- --disable-ffms \
- --disable-gpac \
- --enable-pic \
- --enable-shared \
- --host="${CHOST}" \
- --cross-prefix="${CHOST}-" \
- $(usex interlaced "" "--disable-interlaced") \
- $(usex opencl "" "--disable-opencl") \
- $(usex static-libs "--enable-static" "") \
- ${asm_conf} || die
+ edo "${S}"/configure "${myconf[@]}"
}
diff --git a/media-libs/x264/x264-9999.ebuild b/media-libs/x264/x264-9999.ebuild
index 0b5de195386d..a8158bdfe738 100644
--- a/media-libs/x264/x264-9999.ebuild
+++ b/media-libs/x264/x264-9999.ebuild
@@ -5,7 +5,7 @@ EAPI=8
# Please bump with media-video/x264-encoder
-inherit multilib-minimal toolchain-funcs flag-o-matic
+inherit edo multilib-minimal toolchain-funcs flag-o-matic
DESCRIPTION="Free library for encoding X264/AVC streams"
HOMEPAGE="https://www.videolan.org/developers/x264.html"
@@ -45,33 +45,35 @@ multilib_src_configure() {
export AS="${CC}"
fi
- local asm_conf=""
+ local myconf=(
+ --prefix="${EPREFIX}"/usr
+ --libdir="${EPREFIX}"/usr/$(get_libdir)
+ --disable-cli
+ --disable-avs
+ --disable-lavf
+ --disable-swscale
+ --disable-ffms
+ --disable-gpac
+ --enable-pic
+ --enable-shared
+ --host="${CHOST}"
+ --cross-prefix="${CHOST}-"
+ $(usex interlaced "" "--disable-interlaced")
+ $(usex opencl "" "--disable-opencl")
+ $(usex static-libs "--enable-static" "")
+ )
- if \
- [[ ${ABI} == x86* ]] \
- || [[ ${ABI} == "x32" ]] \
- || [[ ${CHOST} == armv5* ]] \
- || [[ ${ABI} == ppc* ]] && { use !cpu_flags_ppc_altivec ; } \
- || use mips && { ! test-compile 'c' 'int main(void){__asm__("addvi.b $w0, $w1, 1");return 0;}' ; }
- then
- asm_conf=" --disable-asm"
+ if [[ ${ABI} == x86* || ${ABI} == x32 || ${CHOST} == armv5* ]]; then
+ myconf+=( --disable-asm )
+ elif [[ ${ABI} == ppc* ]]; then
+ if ! use cpu_flags_ppc_altivec; then
+ myconf+=( --disable-asm )
+ fi
+ elif use mips; then
+ if ! test-compile 'c' 'int main(void){__asm__("addvi.b $w0, $w1, 1");return 0;}'; then
+ myconf+=( --disable-asm )
+ fi
fi
- "${S}/configure" \
- --prefix="${EPREFIX}"/usr \
- --libdir="${EPREFIX}"/usr/$(get_libdir) \
- --disable-cli \
- --disable-avs \
- --disable-lavf \
- --disable-swscale \
- --disable-ffms \
- --disable-gpac \
- --enable-pic \
- --enable-shared \
- --host="${CHOST}" \
- --cross-prefix="${CHOST}-" \
- $(usex interlaced "" "--disable-interlaced") \
- $(usex opencl "" "--disable-opencl") \
- $(usex static-libs "--enable-static" "") \
- ${asm_conf} || die
+ edo "${S}"/configure "${myconf[@]}"
}
diff --git a/media-plugins/gst-plugins-a52dec/gst-plugins-a52dec-1.26.11.ebuild b/media-plugins/gst-plugins-a52dec/gst-plugins-a52dec-1.26.11.ebuild
index fe530a33e49b..5afda0d69951 100644
--- a/media-plugins/gst-plugins-a52dec/gst-plugins-a52dec-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-a52dec/gst-plugins-a52dec-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-ugly
inherit gstreamer-meson
DESCRIPTION="ATSC A/52 audio decoder plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
IUSE="+orc"
RDEPEND="
diff --git a/media-plugins/gst-plugins-adaptivedemux2/gst-plugins-adaptivedemux2-1.26.11.ebuild b/media-plugins/gst-plugins-adaptivedemux2/gst-plugins-adaptivedemux2-1.26.11.ebuild
index 6032115213fe..4e883ab11593 100644
--- a/media-plugins/gst-plugins-adaptivedemux2/gst-plugins-adaptivedemux2-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-adaptivedemux2/gst-plugins-adaptivedemux2-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPTION="Adaptive demuxer plugins for Gstreamer"
-KEYWORDS="amd64 ~arm64"
+KEYWORDS="amd64 arm64"
RDEPEND="
>=dev-libs/libxml2-2.8:=[${MULTILIB_USEDEP}]
diff --git a/media-plugins/gst-plugins-assrender/gst-plugins-assrender-1.26.11.ebuild b/media-plugins/gst-plugins-assrender/gst-plugins-assrender-1.26.11.ebuild
index 94646787fec9..3af16242656d 100644
--- a/media-plugins/gst-plugins-assrender/gst-plugins-assrender-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-assrender/gst-plugins-assrender-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-bad
inherit gstreamer-meson
DESCRIPTION="ASS/SSA rendering with effects support plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
RDEPEND=">=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-cdio/gst-plugins-cdio-1.26.11.ebuild b/media-plugins/gst-plugins-cdio/gst-plugins-cdio-1.26.11.ebuild
index 291b4508bfeb..13f237652e3d 100644
--- a/media-plugins/gst-plugins-cdio/gst-plugins-cdio-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-cdio/gst-plugins-cdio-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-ugly
inherit gstreamer-meson
DESCRIPTION="CD Audio Source (cdda) plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~mips ppc ppc64 ~riscv ~sparc x86"
RDEPEND=">=dev-libs/libcdio-0.90-r1:=[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-cdparanoia/gst-plugins-cdparanoia-1.26.11.ebuild b/media-plugins/gst-plugins-cdparanoia/gst-plugins-cdparanoia-1.26.11.ebuild
index b694a218d762..060d31321694 100644
--- a/media-plugins/gst-plugins-cdparanoia/gst-plugins-cdparanoia-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-cdparanoia/gst-plugins-cdparanoia-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-base
inherit gstreamer-meson
DESCRIPTION="CD Audio Source (cdda) plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
RDEPEND=">=media-sound/cdparanoia-3.10.2-r6[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-chromaprint/gst-plugins-chromaprint-1.26.11.ebuild b/media-plugins/gst-plugins-chromaprint/gst-plugins-chromaprint-1.26.11.ebuild
index 877c50173baa..80259860743c 100644
--- a/media-plugins/gst-plugins-chromaprint/gst-plugins-chromaprint-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-chromaprint/gst-plugins-chromaprint-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-bad
inherit gstreamer-meson
DESCRIPTION="Calculate Chromaprint fingerprint from audio files for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
RDEPEND="media-libs/chromaprint:=[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-dvb/gst-plugins-dvb-1.26.11.ebuild b/media-plugins/gst-plugins-dvb/gst-plugins-dvb-1.26.11.ebuild
index 3462e5b77d2c..abeb4e25a45b 100644
--- a/media-plugins/gst-plugins-dvb/gst-plugins-dvb-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-dvb/gst-plugins-dvb-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-bad
inherit gstreamer-meson
DESCRIPION="DVB device capture plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~mips ppc ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 arm ~arm64 ~loong ~mips ppc ppc64 ~riscv x86"
RDEPEND=""
DEPEND="virtual/os-headers"
diff --git a/media-plugins/gst-plugins-dvdread/gst-plugins-dvdread-1.26.11.ebuild b/media-plugins/gst-plugins-dvdread/gst-plugins-dvdread-1.26.11.ebuild
index 901cade10919..e8e04006044b 100644
--- a/media-plugins/gst-plugins-dvdread/gst-plugins-dvdread-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-dvdread/gst-plugins-dvdread-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-ugly
inherit gstreamer-meson
DESCRIPTION="DVD read plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
RDEPEND=">=media-libs/libdvdread-4.2.0-r1:=[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-flac/gst-plugins-flac-1.26.11.ebuild b/media-plugins/gst-plugins-flac/gst-plugins-flac-1.26.11.ebuild
index 6d1e851dfea6..e4d6beea4462 100644
--- a/media-plugins/gst-plugins-flac/gst-plugins-flac-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-flac/gst-plugins-flac-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPTION="FLAC encoder/decoder/tagger plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
RDEPEND=">=media-libs/flac-1.2.1-r5:=[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-gdkpixbuf/gst-plugins-gdkpixbuf-1.26.11.ebuild b/media-plugins/gst-plugins-gdkpixbuf/gst-plugins-gdkpixbuf-1.26.11.ebuild
index d3aaa9876229..e973a2e037d8 100644
--- a/media-plugins/gst-plugins-gdkpixbuf/gst-plugins-gdkpixbuf-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-gdkpixbuf/gst-plugins-gdkpixbuf-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPION="Image decoder, overlay and sink plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
RDEPEND=">=x11-libs/gdk-pixbuf-2.30.7:2[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-gtk/gst-plugins-gtk-1.26.11.ebuild b/media-plugins/gst-plugins-gtk/gst-plugins-gtk-1.26.11.ebuild
index 4c9afa9436ab..6a935a7120f6 100644
--- a/media-plugins/gst-plugins-gtk/gst-plugins-gtk-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-gtk/gst-plugins-gtk-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPTION="Video sink plugin for GStreamer that renders to a GtkWidget"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
IUSE="+egl +gles2 opengl wayland +X" # Keep default IUSE mirrored with gst-plugins-base
# egl, wayland and X only matters if gst-plugins-base is built with USE=opengl and/or USE=gles2
# We mirror egl/gles2/opengl/wayland/X due to automagic detection from gstreamer-gl.pc variables;
diff --git a/media-plugins/gst-plugins-jack/gst-plugins-jack-1.26.11.ebuild b/media-plugins/gst-plugins-jack/gst-plugins-jack-1.26.11.ebuild
index a78c91373171..8270e7db70c9 100644
--- a/media-plugins/gst-plugins-jack/gst-plugins-jack-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-jack/gst-plugins-jack-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPION="JACK audio server source/sink plugin for GStreamer"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
# >=jack-1.9.7 is provided by pipewire[jack-sdk] as well
RDEPEND="|| (
diff --git a/media-plugins/gst-plugins-jpeg/gst-plugins-jpeg-1.26.11.ebuild b/media-plugins/gst-plugins-jpeg/gst-plugins-jpeg-1.26.11.ebuild
index adab85856384..099c9b255e9f 100644
--- a/media-plugins/gst-plugins-jpeg/gst-plugins-jpeg-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-jpeg/gst-plugins-jpeg-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPTION="JPEG image encoder/decoder plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
RDEPEND="media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-ldac/gst-plugins-ldac-1.26.11.ebuild b/media-plugins/gst-plugins-ldac/gst-plugins-ldac-1.26.11.ebuild
index ce73247456bf..48795f31a065 100644
--- a/media-plugins/gst-plugins-ldac/gst-plugins-ldac-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-ldac/gst-plugins-ldac-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-bad
inherit gstreamer-meson
DESCRIPTION="LDAC plugin for GStreamer"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
RDEPEND="media-libs/libldac[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-libav/gst-plugins-libav-1.26.11.ebuild b/media-plugins/gst-plugins-libav/gst-plugins-libav-1.26.11.ebuild
index f78e65a0e893..3808590da7c6 100644
--- a/media-plugins/gst-plugins-libav/gst-plugins-libav-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-libav/gst-plugins-libav-1.26.11.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-2+"
SLOT="1.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv x86"
# 1.24.11 unconditionally used new audio channel layouts added in ffmpeg-4.4;
# 1.24.12 will build time check first. As we don't have older in tree anymore, just dep on it.
diff --git a/media-plugins/gst-plugins-libpng/gst-plugins-libpng-1.26.11.ebuild b/media-plugins/gst-plugins-libpng/gst-plugins-libpng-1.26.11.ebuild
index a6b8d6f5a797..aa7d8abb1014 100644
--- a/media-plugins/gst-plugins-libpng/gst-plugins-libpng-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-libpng/gst-plugins-libpng-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPTION="PNG image encoder/decoder plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
RDEPEND=">=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-meta/gst-plugins-meta-1.26.11.ebuild b/media-plugins/gst-plugins-meta/gst-plugins-meta-1.26.11.ebuild
index 9d3833a94198..3578389587b2 100644
--- a/media-plugins/gst-plugins-meta/gst-plugins-meta-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-meta/gst-plugins-meta-1.26.11.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://gstreamer.freedesktop.org/"
LICENSE="metapackage"
SLOT="1.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
IUSE="aac a52 alsa cdda dts dv dvb dvd ffmpeg flac http jack lame libass libvisual mp3 modplug mpeg ogg opus oss pulseaudio taglib theora v4l vaapi vcd vorbis vpx wavpack X x264"
REQUIRED_USE="opus? ( ogg ) theora? ( ogg ) vorbis? ( ogg )"
diff --git a/media-plugins/gst-plugins-modplug/gst-plugins-modplug-1.26.11.ebuild b/media-plugins/gst-plugins-modplug/gst-plugins-modplug-1.26.11.ebuild
index 156ae5e1a8cd..8874c5141b84 100644
--- a/media-plugins/gst-plugins-modplug/gst-plugins-modplug-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-modplug/gst-plugins-modplug-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-bad
inherit gstreamer-meson
DESCRIPTION="MOD audio decoder plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv x86"
RDEPEND=">=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-mpeg2dec/gst-plugins-mpeg2dec-1.26.11.ebuild b/media-plugins/gst-plugins-mpeg2dec/gst-plugins-mpeg2dec-1.26.11.ebuild
index 20077d64a800..66766aecdf8d 100644
--- a/media-plugins/gst-plugins-mpeg2dec/gst-plugins-mpeg2dec-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-mpeg2dec/gst-plugins-mpeg2dec-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-ugly
inherit gstreamer-meson
DESCRIPTION="MPEG2 decoder plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
RDEPEND=">=media-libs/libmpeg2-0.5.1-r2[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-mpg123/gst-plugins-mpg123-1.26.11.ebuild b/media-plugins/gst-plugins-mpg123/gst-plugins-mpg123-1.26.11.ebuild
index 381234cf32c0..eb2e1ec40218 100644
--- a/media-plugins/gst-plugins-mpg123/gst-plugins-mpg123-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-mpg123/gst-plugins-mpg123-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPTION="MP3 decoder plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
>=media-sound/mpg123-base-1.23[${MULTILIB_USEDEP}]
diff --git a/media-plugins/gst-plugins-openaptx/gst-plugins-openaptx-1.26.11.ebuild b/media-plugins/gst-plugins-openaptx/gst-plugins-openaptx-1.26.11.ebuild
index ee55cdc87777..7a5853dd4e19 100644
--- a/media-plugins/gst-plugins-openaptx/gst-plugins-openaptx-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-openaptx/gst-plugins-openaptx-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-bad
inherit gstreamer-meson
DESCRIPTION="openaptx plugin for GStreamer"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
RDEPEND="
|| (
diff --git a/media-plugins/gst-plugins-opus/gst-plugins-opus-1.26.11.ebuild b/media-plugins/gst-plugins-opus/gst-plugins-opus-1.26.11.ebuild
index 871c93d2ee5a..7c1a62354ce2 100644
--- a/media-plugins/gst-plugins-opus/gst-plugins-opus-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-opus/gst-plugins-opus-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-base
inherit gstreamer-meson
DESCRIPTION="Opus audio parser plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
COMMON_DEPEND=">=media-libs/opus-1.1:=[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-oss/gst-plugins-oss-1.26.11.ebuild b/media-plugins/gst-plugins-oss/gst-plugins-oss-1.26.11.ebuild
index a29abc1f50be..0b4f47a801d3 100644
--- a/media-plugins/gst-plugins-oss/gst-plugins-oss-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-oss/gst-plugins-oss-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPTION="OSS (Open Sound System) support plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
RDEPEND=""
DEPEND="virtual/os-headers"
diff --git a/media-plugins/gst-plugins-pulse/gst-plugins-pulse-1.26.11.ebuild b/media-plugins/gst-plugins-pulse/gst-plugins-pulse-1.26.11.ebuild
index 09ae0d983aef..67f1cf6c94ab 100644
--- a/media-plugins/gst-plugins-pulse/gst-plugins-pulse-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-pulse/gst-plugins-pulse-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPTION="PulseAudio sound server plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
>=media-libs/gst-plugins-base-${PV}:${SLOT}[${MULTILIB_USEDEP}]
diff --git a/media-plugins/gst-plugins-qt6/gst-plugins-qt6-1.26.11.ebuild b/media-plugins/gst-plugins-qt6/gst-plugins-qt6-1.26.11.ebuild
index 103c16f709de..0e52edf1a12a 100644
--- a/media-plugins/gst-plugins-qt6/gst-plugins-qt6-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-qt6/gst-plugins-qt6-1.26.11.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="Qt6 QML video sink plugin for GStreamer"
LICENSE="GPL-2"
SLOT="1.0"
-KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE="X"
DEPEND="
diff --git a/media-plugins/gst-plugins-resindvd/gst-plugins-resindvd-1.26.11.ebuild b/media-plugins/gst-plugins-resindvd/gst-plugins-resindvd-1.26.11.ebuild
index d525be6f42bb..430b59e6e8ff 100644
--- a/media-plugins/gst-plugins-resindvd/gst-plugins-resindvd-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-resindvd/gst-plugins-resindvd-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-bad
inherit gstreamer-meson
DESCRIPTION="DVD playback support plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
>=media-libs/libdvdnav-4.2.0-r1:=[${MULTILIB_USEDEP}]
diff --git a/media-plugins/gst-plugins-soup/gst-plugins-soup-1.26.11.ebuild b/media-plugins/gst-plugins-soup/gst-plugins-soup-1.26.11.ebuild
index 8ce8b046bd7e..f843b981d0e2 100644
--- a/media-plugins/gst-plugins-soup/gst-plugins-soup-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-soup/gst-plugins-soup-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPTION="HTTP client source/sink plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos"
# Since 1.24.x, dlopen()s with preference for 3.0. But just say 3.0 here
# given having a 2.4-only system is impossible at this point.
diff --git a/media-plugins/gst-plugins-srtp/gst-plugins-srtp-1.26.11.ebuild b/media-plugins/gst-plugins-srtp/gst-plugins-srtp-1.26.11.ebuild
index 6072cdc589d7..ffbd10c51ce9 100644
--- a/media-plugins/gst-plugins-srtp/gst-plugins-srtp-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-srtp/gst-plugins-srtp-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-bad
inherit gstreamer-meson
DESCRIPTION="SRTP encoder/decoder plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
RDEPEND=">=net-libs/libsrtp-2.1.0:2=[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-taglib/gst-plugins-taglib-1.26.11.ebuild b/media-plugins/gst-plugins-taglib/gst-plugins-taglib-1.26.11.ebuild
index 7a365ccc1211..9fbe42dc0c1c 100644
--- a/media-plugins/gst-plugins-taglib/gst-plugins-taglib-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-taglib/gst-plugins-taglib-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPTION="ID3v2/APEv2 tagger plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
RDEPEND=">=media-libs/taglib-1.9.1:=[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.26.11.ebuild b/media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.26.11.ebuild
index b36ba17bd5a2..82f03ef398ea 100644
--- a/media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPION="V4L2 source/sink plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
IUSE="udev"
RDEPEND="
diff --git a/media-plugins/gst-plugins-vaapi/gst-plugins-vaapi-1.26.11.ebuild b/media-plugins/gst-plugins-vaapi/gst-plugins-vaapi-1.26.11.ebuild
index e7f040b0541c..7b42cd39dc5f 100644
--- a/media-plugins/gst-plugins-vaapi/gst-plugins-vaapi-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-vaapi/gst-plugins-vaapi-1.26.11.ebuild
@@ -12,7 +12,7 @@ S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="LGPL-2.1+"
SLOT="1.0"
-KEYWORDS="amd64 ~arm64 ~loong ppc64 ~riscv x86"
+KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86"
IUSE="+drm +egl +gles2 opengl wayland +X" # Keep default enabled IUSE in sync with gst-plugins-base and libva
# gst-vaapi configure is based around GL platform mainly, unlike gst-plugins-bad that goes by GL API mainly; for less surprises,
diff --git a/media-plugins/gst-plugins-vpx/gst-plugins-vpx-1.26.11.ebuild b/media-plugins/gst-plugins-vpx/gst-plugins-vpx-1.26.11.ebuild
index 51a5e23a913f..9c5f458ee6aa 100644
--- a/media-plugins/gst-plugins-vpx/gst-plugins-vpx-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-vpx/gst-plugins-vpx-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-good
inherit gstreamer-meson
DESCRIPTION="VP8/VP9 video encoder/decoder plugin for GStreamer"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
RDEPEND=">=media-libs/libvpx-1.7.0:=[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-webp/gst-plugins-webp-1.26.11.ebuild b/media-plugins/gst-plugins-webp/gst-plugins-webp-1.26.11.ebuild
index a0172244beb1..0aba7bac3c18 100644
--- a/media-plugins/gst-plugins-webp/gst-plugins-webp-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-webp/gst-plugins-webp-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-bad
inherit gstreamer-meson
DESCRIPTION="WebP image format support for GStreamer"
-KEYWORDS="amd64 ~arm64"
+KEYWORDS="amd64 arm64"
RDEPEND=">=media-libs/libwebp-0.2.1:=[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/media-plugins/gst-plugins-x264/gst-plugins-x264-1.26.11.ebuild b/media-plugins/gst-plugins-x264/gst-plugins-x264-1.26.11.ebuild
index 9c6a1580dbe6..d753f3a045b0 100644
--- a/media-plugins/gst-plugins-x264/gst-plugins-x264-1.26.11.ebuild
+++ b/media-plugins/gst-plugins-x264/gst-plugins-x264-1.26.11.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-ugly
inherit gstreamer-meson
DESCRIPTION="H.264 encoder plugin for GStreamer"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
# 20111220 ensures us X264_BUILD >= 120
RDEPEND=">=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}]"
diff --git a/media-sound/Tauon/Manifest b/media-sound/Tauon/Manifest
index 31591b7154b4..9cc506453b4e 100644
--- a/media-sound/Tauon/Manifest
+++ b/media-sound/Tauon/Manifest
@@ -1,2 +1,3 @@
DIST Tauon-10.0.1.tar.gz 3265522 BLAKE2B 7e1f624af5d085ee6b1f3abd039bc7f315534ff5440fb9093b35aa36d3d5b1f4af994c52e99511d010ffe0be39cfdd321172b7e421ab78e06ebb21a1cbbf7071 SHA512 ab9997ad542534d61514c9d2c05e395ba5e42f2719905fadb32a09cbbe86b8b2adb0adaca534375e2ef4339ee15abd100edabd2086272f914dffb635d4a0c10e
DIST Tauon-11.1.1.tar.gz 3409042 BLAKE2B b84623ef1ae6dc96307e02b2c3080373d06b21f3bc983571449506341a7990a856af631091550f92decd6fad21e0f05f648751ffb2b65311c006f547a48c67e2 SHA512 485e73b50d5822ea1c1480e1d31aec131d155736ac89cf463f30f2721f1d72ff25ac29755457cd8b4dc2e12cd0f9e8d4f8160801a564cb0e1663e0e74c349a49
+DIST Tauon-12.0.0.tar.gz 4946744 BLAKE2B 2385662f624792be528613614cb64358ae8b72bc53705613174f650305c88a87be4f0ac963e1f8b2e56d1f7bfab1fdf89708f4f520d3586fee2c5c96c08fad6b SHA512 170f1b6e5fbfdfdf1bbbe48117aad6dfbd4081955c32d376bd855133cecfc284d16d0b65fee972f0f2a1fdd386ab6f8f1107b24d4a428eba4a3f30da588fffed
diff --git a/media-sound/Tauon/Tauon-12.0.0.ebuild b/media-sound/Tauon/Tauon-12.0.0.ebuild
new file mode 100644
index 000000000000..34956f9aaa1d
--- /dev/null
+++ b/media-sound/Tauon/Tauon-12.0.0.ebuild
@@ -0,0 +1,120 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PLOCALES="cs de es fr_FR hu id it ja_JP nb_NO pl pt pt_BR pt_PT ru sv tr zh_CN"
+
+PYTHON_COMPAT=( python3_{13..14} )
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit desktop distutils-r1 optfeature plocale xdg
+
+DESCRIPTION="The desktop music player of today!"
+HOMEPAGE="https://tauonmusicbox.rocks/"
+
+if [[ ${PV} == *9999 ]]; then
+ EGIT_SUBMODULES=()
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Taiko2k/${PN}"
+else
+ SRC_URI="https://github.com/Taiko2k/Tauon/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+
+PHAZOR_DEPS="
+ dev-libs/miniaudio
+ media-libs/flac:=
+ media-libs/game-music-emu
+ media-libs/libopenmpt
+ media-libs/opus
+ media-libs/opusfile
+ media-libs/libsamplerate
+ media-libs/libvorbis
+ media-sound/mpg123
+ media-sound/wavpack
+ sci-libs/kissfft[-cpu_flags_x86_sse]
+"
+
+DEPEND="
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/musicbrainzngs[${PYTHON_USEDEP}]
+ dev-python/natsort[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pyopengl[${PYTHON_USEDEP}]
+ dev-python/pygobject[${PYTHON_USEDEP}]
+ dev-python/pysdl3[${PYTHON_USEDEP}]
+ dev-python/rapidfuzz[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/setproctitle[${PYTHON_USEDEP}]
+ dev-python/send2trash[${PYTHON_USEDEP}]
+ dev-python/unidecode[${PYTHON_USEDEP}]
+ media-video/ffmpeg
+ media-libs/mutagen[${PYTHON_USEDEP}]
+ media-libs/sdl3-image
+
+ ${PHAZOR_DEPS}
+"
+
+RDEPEND="
+ ${DEPEND}
+
+ dev-libs/libayatana-appindicator
+ media-sound/mpg123-base
+ x11-libs/libnotify
+"
+
+BDEPEND="sys-devel/gettext"
+
+PATCHES=(
+ "${FILESDIR}/${P}-phazor-build.patch"
+ "${FILESDIR}/${PN}-8.1.0-fix-locale-path.patch"
+)
+
+EPYTEST_DESELECT=( src/tauon/tests/test_launch.py::test_launch_main_script )
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_compile() {
+ distutils-r1_src_compile
+
+ build_locale() {
+ msgfmt -o "locale/${1}/LC_MESSAGES/tauon.mo" "locale/${1}/LC_MESSAGES/tauon.po" || die
+ }
+
+ plocale_for_each_locale build_locale
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ install_locale() {
+ insinto "/usr/share/locale/${1}/LC_MESSAGES"
+ doins "locale/${1}/LC_MESSAGES/tauon.mo"
+ }
+
+ plocale_for_each_locale install_locale
+
+ sed -i 's/Exec=tauon/Exec=tauonmb/g' extra/tauonmb.desktop || die
+ domenu extra/tauonmb.desktop
+ doicon -s scalable extra/tauonmb.svg
+
+}
+
+python_test() {
+ epytest -vvv src/tauon/tests
+}
+
+pkg_postinst() {
+ optfeature "Chinese searches support" app-i18n/opencc[python]
+ optfeature "last fm support" dev-python/pylast
+ optfeature "PLEX support" dev-python/plexapi
+ optfeature "Spotify support" dev-python/tekore
+ optfeature "Discord Rich Presence support" dev-python/pypresence
+
+ xdg_pkg_postinst
+}
diff --git a/media-sound/Tauon/files/Tauon-12.0.0-phazor-build.patch b/media-sound/Tauon/files/Tauon-12.0.0-phazor-build.patch
new file mode 100644
index 000000000000..7d511f656aec
--- /dev/null
+++ b/media-sound/Tauon/files/Tauon-12.0.0-phazor-build.patch
@@ -0,0 +1,17 @@
+diff --git c/pyproject.toml w/pyproject.toml
+index 5f530a5e..8daf38ba 100644
+--- c/pyproject.toml
++++ w/pyproject.toml
+@@ -87,10 +87,10 @@
+
+ # Linux + macOS + Windows (MINGW64)
+ ext-modules = [
+- {name = "phazor", sources = ["src/phazor/kissfft/kiss_fftr.c", "src/phazor/kissfft/kiss_fft.c", "src/phazor/phazor.c"], include-dirs = ["/usr/include/opus", "/opt/homebrew/include/opus", "/opt/homebrew/include", "C:/msys64/mingw64/include/opus"], libraries = ["samplerate", "wavpack", "opusfile", "vorbisfile", "mpg123", "FLAC", "openmpt", "gme"], library-dirs = ["/opt/homebrew/lib"], extra-compile-args = ["-D MINI"] },
++ {name = "phazor", sources = ["src/phazor/phazor.c"], include-dirs = ["/usr/include/opus", "/opt/homebrew/include/opus", "/opt/homebrew/include", "C:/msys64/mingw64/include/opus"], libraries = ["kissfft-float-openmp", "samplerate", "wavpack", "opusfile", "vorbisfile", "mpg123", "FLAC", "openmpt", "gme"], library-dirs = ["/opt/homebrew/lib"], extra-compile-args = ["-D MINI"] },
+ # Set as optional to allow soft-failure, it's expected not to build on Windows/macOS, but we don't want to fail the entire build on it
+ # I have not found a better way to solve this, ideally we would somehow tag this as Linux-exclusive
+- {name = "phazor-pw", sources = ["src/phazor/kissfft/kiss_fftr.c", "src/phazor/kissfft/kiss_fft.c", "src/phazor/phazor.c"], include-dirs = ["/usr/include/opus", "/usr/include/pipewire-0.3", "/usr/include/spa-0.2"], libraries = ["samplerate", "wavpack", "opusfile", "vorbisfile", "mpg123", "FLAC", "openmpt", "gme", "pipewire-0.3"], extra-compile-args = ["-D PIPE"], optional = true },
++ {name = "phazor-pw", sources = ["src/phazor/phazor.c"], include-dirs = ["/usr/include/opus", "/usr/include/pipewire-0.3", "/usr/include/spa-0.2"], libraries = ["kissfft-float-openmp", "samplerate", "wavpack", "opusfile", "vorbisfile", "mpg123", "FLAC", "openmpt", "gme", "pipewire-0.3"], extra-compile-args = ["-D PIPE"] },
+ ]
+
+ package-dir = {"" = "src"}
diff --git a/media-sound/goxlr-utility/goxlr-utility-1.2.3.ebuild b/media-sound/goxlr-utility/goxlr-utility-1.2.3.ebuild
index 4c2f109162ff..cc0b912813e9 100644
--- a/media-sound/goxlr-utility/goxlr-utility-1.2.3.ebuild
+++ b/media-sound/goxlr-utility/goxlr-utility-1.2.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2025 Gentoo Authors
+# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -694,6 +694,8 @@ RDEPEND="
)
"
+QA_FLAGS_IGNORED="usr/bin/goxlr-defaults"
+
src_unpack() {
if [[ "${PV}" == *9999* ]]; then
git-r3_src_unpack
diff --git a/media-video/obs-cmd/Manifest b/media-video/obs-cmd/Manifest
index 54d02904dab6..1c8c60d9cc36 100644
--- a/media-video/obs-cmd/Manifest
+++ b/media-video/obs-cmd/Manifest
@@ -7,7 +7,6 @@ DIST anstyle-wincon-3.0.11.crate 12638 BLAKE2B 01f1ce85205ed3e573daca145ae420e9f
DIST async-trait-0.1.89.crate 32171 BLAKE2B de1262f5c40b3469732679f82640d676e802f3257eafbf020f5f42c8cbc70d278c3c97577225293a19d22e76f0437e916066e0b1eb4c4f92ccfa504e48b54355 SHA512 deb15ae7b4250666a6ea79f682e1079f50965d6aba353f057747dc84b530140512782e040e97f2ffbd90abab1e470b18ce471aba17cd7c68eb434a0874052d27
DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f12068f1249184268bf96fd85ba659e25ec730f99e10caf452f96c486f3d7442bf09c4552b5f39519b21d6f88cc SHA512 f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08
DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20
-DIST bitflags-2.10.0.crate 48427 BLAKE2B 238a6da813eb2c5541ad470b97b9cf6ad8004095d2a8e865b88eb2301290b7bda22e5b062ba66a04ff0f3108a84d4799af0786b76f785fb5782bd847876549c9 SHA512 6fcdaf250ca6e74b65ecba755d62c3e78f6c02ce1a9562a3b17bb2d6068a0df480ad9c838ce427dc2d2869a9dd1f86f2fb1dc1e50a114def77fd24154b2b86b0
DIST bitflags-2.11.0.crate 48906 BLAKE2B 35764719b3070c5f9b51d35297803306ce01823ef07d720e5ea5e112c072b45c4d497f6b63285b1a0fce2842b1468bc252b00564c2ece14211d2af2cd26c2faa SHA512 d6c0de6c06ed8d1249dd69de035dfe5b23d9f1a8fcdc7535756622cf660807c5e1c692dee1ac832c06be1ce41b225e3d60f36be4d1896bab7d986d18946f6c48
DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb
DIST bumpalo-3.19.1.crate 96477 BLAKE2B 8716eecc9918c69dd07d6840f9b55114e290de053fddd11c187e11fb396d8a8825422378ec7a2e131674546d158b909a1a4c3e29d52cf3ed001658333c153807 SHA512 105a84bbf8c2b8fc130055713eab7b598c67d34ac01fe95b4c9f10fe956130870c0d12ac237c5dad3a44991a1b8611e5028e749024b6497d6b2f8a2702a4f655
@@ -24,13 +23,9 @@ DIST colorchoice-1.0.4.crate 8196 BLAKE2B be97be7d875cdd09cdf3f2594f0e7ed80601de
DIST core-foundation-sys-0.8.7.crate 37712 BLAKE2B 0e1dd99a5bbb0fe92f55181a37426f6e86445cb20e355f553b3162c88ccc075644461731a0cdcd93dcca65b6cef1de62b409afbd73ba3070a199ab8e7422dcfa SHA512 17492d5314db03abdb3b1998bf0c396ec8ed0f83bc978ae22d6026afdc86c50b58cbac073b3a0d97b92da7e98be11302faf1249d24313494bc058add4f4cb63a
DIST cpufeatures-0.2.17.crate 13466 BLAKE2B c6392b635542a6fe29958fabe7ce725354a31e24f6f144718553218247881013f56659d2efc671d47394294373db2d4ff8f45c7cb520ac22f2ee5c462858a1dc SHA512 9ae64656a21cfdd0528d87ba95f6213860bf72ccdf866019e65ed6662633e73490f92c42c80125559b3dbb7822090b5faa8ea564c562e04041232809ec2f58a2
DIST crypto-common-0.1.7.crate 9619 BLAKE2B b9a31ed6f3f06e0709e7c5a86a146018c9ef67e366f27c1d4fe07461d97810951eec60e92ec1531e365bfb9ab1b4cfbdd86b6cefd8b06ef2aa170c38f3c9cae0 SHA512 dcf3a6fc81f2b6528696dc762427fb198faa9b5effe1ee9fbda795da08b0560cfd6c286b55f1360864e95284bd9a52edabcf39fa9bcce71ff0621dbfef538c82
-DIST darling-0.21.3.crate 41398 BLAKE2B 5463e73cd01aff3b3b6f650660b7816e5f83c1fd94b33e13d814ed74205a4ff65c91515d3d8532e7d49260bcd5d25391338476947c891ab072cf9f19eef562e5 SHA512 d28b9a6d63b09aca5448a9b39e9f41a4418d93023885715feefd913519b4bb1df32e85edebcc9b59d2e1b55d87052dacbd01e7b42d7b4ce5b02fe4de46345094
DIST darling-0.23.0.crate 43298 BLAKE2B a207ed640665664402ee07eda679af83e498c3de79a9e41c3fe1fec4b28071ba52acdb1f790d46b6c6c1744da96991c14f96002cf149e080a4982d5a74280b9e SHA512 6257756befa2e6a8b17ee21d64e8430071bfd1e8f72c680f67b3c15934e726ec24e30da37fcb5ea4f4b3d925f81cf4ea22d6c85788f101090b32d95f08bdb2e5
-DIST darling_core-0.21.3.crate 74471 BLAKE2B 0464ba180045fa21dee8b3a793950b0ee5526d8cf80d149233f37fdcf1af38513bfb0915abe3dc292acf4f7889053fd345aaa6c0f8f814a009f867c73bbd1fd7 SHA512 585c872de6e24719d09d7ff9031980ff393a0db363913f2ed5848ec2680ca31501b82ba6aff42d4e276e502715de1dc7bf9c75ccc446e0c5a3f428e23bf62c65
DIST darling_core-0.23.0.crate 74564 BLAKE2B cb5d45b08fa8927d91f113a37a8eb77f632713e3feaa629d37a6a0fd20112a202bb8ad574a096f0ba7b3b870e7a9982c86641e1cb4f9e33fcee59a65524b5406 SHA512 52ac3dac977b7f1cbdc3c0ee545356495216af6d8a4f179cbb51c8bc80253cf028bd9b624b6f42d6354d913e7fc5ea980234aa2ccf383c8779ca70fde72591a9
-DIST darling_macro-0.21.3.crate 2535 BLAKE2B b93c6b9bd45643f858595320a28886d11940a13fe30f3f0df61828c01d44896a7a59aaab32ccccf0b4121a3b333f7ea818b519ccf623f48fca0111fccabceb50 SHA512 1931eb12cf86c6a66de874fc460ce086f7f970c7b45927057019f2a8c7fec66b3d5f6ed0b49412884c44d9c98515d71f41caa134f494f358923be1d00076553f
DIST darling_macro-0.23.0.crate 2480 BLAKE2B e81f6bb801e5fabf71fbaf966735e5388023f75e12b8f9bd32e2cd49608ce05625849ecea54db3d682a9d091f8f0348dd60777c316c91af5186aeb0b97e4cf1b SHA512 f6565876c9846b1295be23eda6decbba817c64c3e2ba56fb0009c2acb68d542481dbb033b0e753dfb1eb967f24f87b781869c8bd5018a7789066229a4919c8c3
-DIST data-encoding-2.9.0.crate 21564 BLAKE2B 2abe5ad8772030140a67c015cb1ef5c0f1fadfb0398d0e73bdd8f93ae229955ef9ae430b28cf622ea3cff4ea8108159c05aa4d501eb6feb5b7a34b4a6c86fe03 SHA512 ec4edf4b7e9cf3f0f963de117e15cf4e7723587782b4520b01101e91880b074eca1473dc6c9d4e484bc2193caa975a7fc11ef3efb114354c491f13c86b149104
DIST deranged-0.5.5.crate 24438 BLAKE2B e0e825fdae479fbfb057fa084882eb58836490b5158205d55b4adb593882fe70f10f9b1b6c2ebd3ab6a61673dbb3a56e4f5af32b154c645fff3b53a814e5e648 SHA512 c19b716727b904f1c3dcf4e0b5489ca3a7540925f2c633f827ce6fff7a2649bc22835b433fc06376dfd0fed48b232f70aa23b24fd0e834692f96f1d6a319f266
DIST derive_more-2.1.1.crate 88632 BLAKE2B c875dd4b0718ab1ee2e6faa74e1e1206b972f90dc0541dddd97dbcb6e3d2a7489ec55a7d4d6c27371a3d308e0e58d135ad5d0bb050777b5b60d75466a3a9e626 SHA512 cb4de4ead185ad40c6e9e0fe316f16ada2070d5ebc336dcb73dfd8def87605d8ef9beb454c9202096aa4da8da0c32307fd02054f290722b561d6fff83bb91dff
DIST derive_more-impl-2.1.1.crate 99094 BLAKE2B 9fe9720e2cc9b66e849b8598e28d949bdf5422c34945227ca12c2626f80c564ff78edc59ab57863c18c11ef558c4b3e5629bbe037c4fcc0ba323679d04d26880 SHA512 07a6d6c5be2968ee0bc6847ba5bb4809a80a769743868068a71d72fc376516724df5855edb6ebc2ef569ac8f79bf632f34ca30640fa54f030d58ce301de44b89
@@ -40,20 +35,13 @@ DIST dyn-clone-1.0.20.crate 13134 BLAKE2B 986c424a38fb634eaefc546a25ecd927872573
DIST equivalent-1.0.2.crate 7419 BLAKE2B 7ce4fb7b911961cd4ccfb48323eea4952110a069789c6bd177a63391c270df861afadd00c07db7b22768f0864f320e429e0200c433284f528336e2f81d071eff SHA512 8e0e2dc070794a85b276e93f9e4a65d3bbb8587b33fda211c34479a0b88504c913d8bef9e84d7996254aeabe1efe4ff1ef6259ff4fe3f9ccb90dd90070b3e4d4
DIST fastrand-2.4.1.crate 20773 BLAKE2B 79fe53f19cbd8343ba15c21adad7397ca9e351d00d77673913063f8f8c02c0753a29828ddc7d52f2f2f68e8e1822f31060fc52d046769f6e768d510cbf2086e1 SHA512 7120edccfb1aac689412f463abb816e3ec2e7c6f7da3576c060229139c11af5e69408bce42dde4d78046cd09ba8db53a6f9c4fdcd68e5fb151b72a0906a8bc7c
DIST find-msvc-tools-0.1.6.crate 30978 BLAKE2B 4958dcc29f24c9e565853132535a0762d0d0c63f13493c8f0fa631645a93839606a74de08e70c907878246c1a2add64af265e7a0d1fe56bc26ce5e995bc32c47 SHA512 9f143b9b003e8b93a5f7501a2f2e0a14b3cb4ade0e8bfa6c3942d6f71266ae1a89fdf1a6dba0ad886f30521bad42a47c5e2f81d032f03a65c3990ceba438b3e2
-DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
DIST form_urlencoded-1.2.2.crate 9347 BLAKE2B e02670f9af81a09e8df16680dbb80708632ac9e708297fda2f821af8076fb827c011ff359d4ce50d5ddb8f4403d4e19f74a4b68d11441f32eabc6fa2e38b3b09 SHA512 07d27d852504e146d586d007b090e53cbe740da140859dfb7d647c83c1b55265a83ea0a0e514587699b1dc6b6ffea2fc913319bcc83b55ebe191801a3b429c8a
-DIST futures-core-0.3.31.crate 14318 BLAKE2B 613d16e4f18547e45ed0dd56a7b908306393e479c379ff64f358844eacb1f8d37008ffbbfe6b1a4ed184e501ee9214db149d9cca31651b7d353ab4a99c8f5ee1 SHA512 d2f4c2476c4f480f724a880ee16566fcdd545579d3cacd2f16745812eed9ac4a7a88d59d4a38b163ef466c6f6b612b9cb06308a09d52256506a8a90e358db935
DIST futures-core-0.3.32.crate 14684 BLAKE2B d0c3ee59327998990f4cd81b8d76b6d8a58000ffda809ecafc8b7e658abffe4fc45be4b9d5e502436af8e4adef50b1601907b8256a9f65f8467beecd37ede220 SHA512 5848937ad4135fcc488690bc681bf66d6c353f063f87dfe1ea4b79259b9b402896276c10ea80b159a9adfa551abdb5b00a2c6b332af9a898766f87f177a40137
-DIST futures-macro-0.3.31.crate 11341 BLAKE2B d91ace97b854cbfeba1df90468fabf6313721ef72bb408ca6bee1c110b0162fe91da18d371b628513644f9d3956540d93c3e13bc9917550338f797967acc3967 SHA512 26c45dd8c037831ce3c41a326ddfd581784c2e7aa2805ca4d93b91e439f4d8c078293cd328bcd66d0283cbd5a14724bc624ec607c343d15193b00bd644b86166
DIST futures-macro-0.3.32.crate 11929 BLAKE2B cb8645742a8b70286ebcb3c8f676c97726e0e8367a926d171439c8ead49933afab39111b66edb249133274641cf623086f4eacba4774885552b02132060d45cc SHA512 39a5d7d4e610521d1d6d285a5ffec43b7d331d92d80e60890448d016ceb30ea577c93eb961321cf6c314273e566964dd879f7cd4b855b9f5e141dffe8e83aff9
-DIST futures-sink-0.3.31.crate 7958 BLAKE2B 7d42180cfe19ae42e2ff486d83ed46f3aaa4b333256d4c30c5a2ce0e0d0b05ae93516b029e6d07105b4296bf23ba29e6fcce19f0e38ecf59b53c6ec9cfe2e188 SHA512 79a57dbee5cfe98f2c003bd463d252648743f70d13e2054af072978b758c7cb8e5fb652fd2f36c760df358ad23d2893cef24ca6ae3df44def28f1d39bcf348a9
DIST futures-sink-0.3.32.crate 8106 BLAKE2B 881eb606c985836f361f5133b32401f4ba84289a0c8e0e075f74ee2a6fd9ee1fb9197f53086c368c2e231db5f1e61ae88f99f578c50956d124b612f1e8060222 SHA512 05438809ce417dc5dc46c14b9190cf798e0ab5b7dd5b442adba2ba344618e076807d4884f4a8cdf2f321a27557b3e3b563805fbd51a9561e9224d7502d4a6bd3
-DIST futures-task-0.3.31.crate 11217 BLAKE2B 8c0e0aa0aa14bfc28e668af00a3fcc2532950ca865a9f3935717a4a3770cb60477cd8f4cd080675379315b649fbdc5fee9dce49502f0f24f44db481a24c884bf SHA512 4872fd2f24b07c626efc6fd76c01b44d56efecb9697f972d0877307b38d3ccb06277ff029df38981470ba1f8ac5f93086123ab3af44d3c49bd9c10b6c9158a81
DIST futures-task-0.3.32.crate 11377 BLAKE2B 290a2e7f7c957acfffc8041a5ce961b84bc6b1d02412ee8dce29cdc9a7d4daccbe430291d1a735c132b907448669aea4e5a3aa292cb5ea4b466b30fcd4e3f98f SHA512 eea93a8490d7083566d7f723c0bfae01583787028ae5d8bba851625b1ccb2587d27db0cbf3d7fbfa36b51bd6d444c54905cc4d56021f43a5a440cc8b0ed73520
-DIST futures-util-0.3.31.crate 162124 BLAKE2B 69ca647a261fe24f90a4221d8629169a8dc7eff9dd1c4e07cc700a52a8609ce9b8aa3974b9b09e1ee64d0121d7bcb3efeee6fc15983347aaa0b0b23b068afc34 SHA512 429b1de584546b931b17d475aacbdb0c14824a57d960c44e615aa808e8c0f9c126473e313a7150b3de87ea91b7eebebb1041509f61b3493fee8a9cd2c75c4df3
DIST futures-util-0.3.32.crate 168797 BLAKE2B d804428849635088636df69330881d68474db307ac4dd5863d73d1d93c54e90a18e21663864e94f2bd86999356e19b8325e321cd5c63da6e3e05f26c3af836fc SHA512 77705985b5cefd5a9009e631689f5967320cbd1363888cc8b7eef3f7457afb38c793499fc3edd4453bc8771c43436e5da1538ce0c5ef655a5e597f4fda2727b1
DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d
-DIST getrandom-0.3.4.crate 50932 BLAKE2B 34165a6994877aeaf3063affd48eb499512371a1fdc0d890feee598b5e22c14cb8347642a0e9374cd5d8a59a8281db839e45923769260312379321bef54c687d SHA512 43c44ec3ba0668f388519b2cefbee63f959f0e078730b3f7563742522e5f4b120472024b95fc94aeb90900a15d327c3573271bb26b2de4785e589a8bc1bc9da8
DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
DIST hashbrown-0.16.1.crate 147785 BLAKE2B c506e64340b65fb462545c52e85a192b21e33025c91adf1d8255e799e8a5743814c60be971db56c0b9b1208dff8147ed4a28d8e37caf8f5646fd367d8d0bc9d7 SHA512 0739f1b2101488f88778e221d86738ce557b8ae12470e2a4444099eb90d876382030d00e789dd4ee44dcd7833a87a6e570fa11ba5823beb1cab3a56784ec2669
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
@@ -77,36 +65,26 @@ DIST indexmap-2.12.1.crate 100184 BLAKE2B 91003f759cb250cae5ea2a72a184bbf1d46479
DIST is_terminal_polyfill-1.70.2.crate 7548 BLAKE2B d84c45a94bc0ede333843ddb5206379f1a7d9df742c7f7940374d6b17b0a9c300e32fed5fe2bc58e6b3bc5d18b5fc58dd4e283c01c2f3b4f10f254b3cf7668c3 SHA512 d62f444e83950bdd441215c0ce681ff774692b35fec2af7181dfa243dd43fe42ff7e10a6e3b1d578712e4130dbfdf471ecdae73a3a584a2856a848d387b6c261
DIST itoa-1.0.17.crate 15905 BLAKE2B 105796a6438bfccbb4676cc0beefd89abb05dedf077794dae48dcebd63cc745bfa4664c0eaf7bacaf989ea9051c98703e7ce85683f5c8c234fd1639c391aa3fb SHA512 4f1b09fd0152a8c837c40045c46779c992b8b5a4737565b8ce3a92bf2fb884bc6609bc597c2b54c33855bd108311adf46471b5ed5ff7ce32549b8c72c8119c04
DIST js-sys-0.3.83.crate 56425 BLAKE2B 9a239a030ecb12b76f17dca54b562e43aaa8019a4f9768562dc5e7647998fa5f42edbb17206da387ebaf20bd3e5c67e16987d428d071b1be9fe635f8c7362f55 SHA512 003e06308d62ce8ca694471fd9b15b3c98ba130c0a388ce88e9ad08b2e16bf1f9b3a68f8bc45d15442c16b2ecc6187cc8bda4cc78db83dc8ced9407d1e641c0e
-DIST libc-0.2.178.crate 783720 BLAKE2B 72f5fecacf0494b3962ff893d647155af88e9942b14d110e521b25e5d65d95d41dc00f83431b82632a53c6e0ae7fd537d018d7bf29df65d5e56b908a893d77d0 SHA512 968b954e2edde88d14135decd9eaadc31ca1aad80529a6696591c06c4414d615c97ce0873f77bfebe08b862faa5f3cb79a6648ab90734d462bef06e06ea43dde
DIST libc-0.2.185.crate 821775 BLAKE2B e0e93466a29c9d19f7d9ab3581b491908d06873a9c57a96b0cae2eed0f0d1cb184ebe80bc61e36d5ab316ab35dca529a322b29e6895f7f339e72c79cca7f8ca2 SHA512 c8dbcaaf2e5d8377a4d1003af4a7210fbfe4f9b1e8497f07d88a231a8d5c9f67014e650a5e18e913e7b4d6a1835c4cbc9c31ce0cd224ea28acbdbb39034a300e
DIST litemap-0.8.1.crate 34172 BLAKE2B 3614a408d5c6b03c5371396dfaa5c654073dcbcbed3782a15cb6aa53973405344ae8ea7e96cf4b00e036be985cab9503bbdb51379fa55ba739c387d28d646a85 SHA512 6034f72d3c90ebe406b7e1b6df7e2535cde7728cfaa5328e66351d231f888625f394974f6aad891eff48142b00f14916fd8464a59fcaea1627ebc7338b865ead
DIST log-0.4.29.crate 51515 BLAKE2B 3f5dc889e895428f27ef107a63004c1b321793b865c29b20293adca81db4e25443e24354af37018c9a60dff1d54897c3b7b2c014a64280523f4a3586a7eeed24 SHA512 31bcf1669c27980f0a8500082c4d0cc500f6cc943518a3dacacc3ad4d8a0c238517f23c2c1969e5a22dbb5d25614adbf4e914c0557e45e1ebc8e7385b2ed14b3
DIST memchr-2.7.6.crate 97616 BLAKE2B 3429786e97f1aa078892e417c8ed8198ec727969517309049b842e44097e58038583508aa974e6246888c18e11f9d23863c1bb012b542c5685250fe34e250d7b SHA512 38843817334da88ad74ce679b4401cf948cf8138815f3acc5eb0d005da3aabceb2216e20887e79344396569a2fa136e3aa1f7f3251a00d07dd6934cee79f4fad
-DIST mio-1.1.1.crate 105630 BLAKE2B db279c3e46108375f5391a5ebc3ae07e8ccbcc9f6a71aa41996adb862c5d2b965af3cb0da25becdadb16d401ae69ccf5a07e21b0b6fb36e07294633cdf690141 SHA512 0b1c82773f5cc3f33ccb80a2cfbd58e48ffac82934afa7d9ec632b36484f8a13a079802dd8a658dbc94fc158e597e4d7a2c02a799f7b506a7de98fe74e80e684
DIST mio-1.2.0.crate 106403 BLAKE2B c9b2342879cf19b95c9b9e472fd5e8caa6f6371bc7734b6d9af71c736a4aa218837ac3c8a1f84d1fd1ce4bfed9ff417d319f47e52c4d637b15e2a179f859c3ae SHA512 148daec8a99b63ad5742695ce7b5306d32dfcb484fc819b1220079c59219695d2892bbf83b65aa2dd76b68272fa195d353ecb28d9de795e176c4a38be729b04c
DIST num-conv-0.2.0.crate 7034 BLAKE2B 903495ef172da73d40e6f3f2480b7c6ec4f1a45f05151e2c6ac5676159485270cfae0f48a6326de700fa02b00dc3dcc746681c2a16b072ccd129f2a1cf8e3ded SHA512 5d17b59e4c76ac7732d7d218da18d83dc99fd1f5c396c054d7e40a583a2fc3d15dd9e545d968fea61cdc8a4f7eb2592fd5c02ba734e3361b6ee2686eb9a57fd1
DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956
-DIST obs-cmd-0.31.3.tar.gz 96002 BLAKE2B 1537cc2e947b09302b602c17110ae0f84f6b782fe20b41984f4cd1928e0a7e68229782d6d063a3bd05c1c519eae89f298075f7d0d0c01a9e7f65ad5ecc3f0494 SHA512 95a649e091974462a9083cd47156e83e91aad57d8f69bd96fe7b72af031b1b912cb0b4ddaa4362da71986a792648f43780c0b12bd7e0be4b4c840be6e747d023
DIST obs-cmd-1.0.0.tar.gz 94649 BLAKE2B cb3c1a0c644f9543a0e2384a2a4fff3a1f3dcba2ee00ead3b9af85c67a0bbeee9620aa52b2580a34118ffdd440fe534d212e8b30f1377975b6debab2f55b1bc7 SHA512 bf5bd521d99ae4366b0be3273cbdea2ac289c878994de43d19464831dee20115dc86f8eb3875f4a9daeb3644ab102ea0bf62b2f2b360682a0482d895a4decdfd
-DIST obws-0.14.0.crate 85566 BLAKE2B 220458d3859f086303c7756e813dd417fd6fe72afa9d515d59ba2f96935ebb8d0041d2211cb0f8a8774ffe3cfbeb3ca2ce5d2ab97888c220d11a8bfba3cd9eb1 SHA512 8cfe4c59ae0cba699ad91f6cf13a0bcddd2e8d3e068f75fedf481155bf161d65d241e73f27c632e7685080f4f183ab5406aeac79d92f814949d8996fbc34df43
+DIST obs-cmd-1.0.2.tar.gz 96664 BLAKE2B 3f8b959ea81e3b470c88bf8c7d757b5f6357b41295b9bacb52aa834ada18179da2e6d75b16872719f3840744a4e5492cbe9ebf7e3a1df6428a13f9b7f51e58f2 SHA512 8ed18325f22f379ee159c3f6eec1093f6b41918ccb95fe8796383c8aef707243eeec4dcf2c4f96123532af93e3d0b03512e22eba6a5c4119cfe4e2cf470f8cbd
DIST obws-0.15.0.crate 96998 BLAKE2B c121ac460b90d9f72894c5e8101de6fc88d03de950eefe5a7485433b378eb74c7ed4d203c4890e0d03227f6f524e3075915559f4bde32d5c2a2c900f67acf908 SHA512 df2980b2153b6622e50935c710a1156f859819119691306bdbf885fb860c2de79024f71c207c816ef07f1128c26f2190f4ae56b33c47300704f8faaf516f0b43
DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
DIST once_cell_polyfill-1.70.2.crate 7448 BLAKE2B 5a90f8eeff25a555987b84b9800f9e0b2aa94fb4827f76678ef45d344c4baeae5a079a288fd02a570d0f0099e9b2842d32dd206dbd609212496e77ede47a4d21 SHA512 9e0d07bcd40e4a5c271646d6fce71677acbfa4439b4e818bb4df823eb31eff976ba78239e3a7e0ad21e80ea8d0d3af3e74a7d0a0a55b308d4c777b9b5e1ef8ad
DIST percent-encoding-2.3.2.crate 11583 BLAKE2B 58925243b23a6a1decc3d92c4ce17d06af5206844ad283b49e69e523ac0db2c36c3f4407af4104ab92c029c2581c228bdf416a054a2531191a9e912448ba4408 SHA512 495b4aac88a7a46420811671d6bd82817e4eb2fe51d5068d11c5b50d0d927895d54c855cb07d4f4ad5a2d42b22f9419ad0183c14781dbfa240804fd49761035a
DIST pin-project-lite-0.2.16.crate 30504 BLAKE2B efd0b426fcc6ea8852bce499fac61f9755a11c6a2999cbec514f093ba7b3f94b1f2d437ee9abb243e31f3838ac1c74491a212851d7798eb249e209b35e015332 SHA512 971adfe54cfed304647fd944c1c915e78b37eaf0de3a582fb984a5e91f1b7d4db2cf0f53a9a64b64427062d4b41c0a36baddef782411a76ae3be0f8ca45f0718
-DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70
DIST potential_utf-0.1.4.crate 9514 BLAKE2B 97979688c9a93a05c29a9a55ac0a37e704eb4623d5890562cdc1c797cbf3e73aacdc6251d47151ac0874ec6d1eefbca8173630f20de3c44fea254be90819e027 SHA512 a8e36c596d7fcc3f13a80457a07da5ff0fda62954efeae3c2aa477bb32465b20fabcaec269929af666030415343a2c94d86db26f9f9bb5e2e2b151581f0e6022
DIST powerfmt-0.2.0.crate 15165 BLAKE2B a3e1ce63f5866f75526eeb749bec6607e42cb495bbb953082cde7e98e6aa429ecaa41889d98ff7ed4cf5031258b4f7e0553ff8fc435b3b6f8b4ef2b6d53d9b61 SHA512 0623f92e4d6ab284b3f6dae58220d79d9185df4a738999d68040c50d72fe0380d70358cb622f079c629bab53bb03c6e085e165d5bddfbeea84245864fed90029
-DIST ppv-lite86-0.2.21.crate 22522 BLAKE2B 150b2ae019f296dc0a15090bcabcf4981bc58159d592b07da729565ef8976e3d1b4416381c6ecaac77874d8e259995254255c8831861ac20922b810753128cd4 SHA512 94710d5b25b67539cfa828476367849e1ecaca744f2e0429b48c05b47ec48cd57f950fb9845a361fbfd96f361ac00fd2d47cc27c584b79ce3d9d8fc133f5b7bc
DIST proc-macro2-1.0.104.crate 60058 BLAKE2B 6ed3c986314ac390e140bdf05769bc55f73c06b2a0aee844292c494ab75baf6df6d58b6d985c8b16fd4cac652d4194f5fb18d692fde57aa38d5fa3e143dd633a SHA512 224b310580a0105f26372d12a337289d48c5fe5130c446cb41e148426a47ceac5139ab236f9384241ebf4f5d21602eb5e6b7a786a4c6518a572bc0f5951df073
DIST quote-1.0.42.crate 31504 BLAKE2B a8106c0fe3953bcc2aa421516dfbaad6d6cb2ea839b2ce1447a45b8732dad40a921c2008b477bc0fa029dc0e0357a339db543b1f90bb9da77a5a3681fc16bed0 SHA512 6d55047312de6bab660459750c54213e986f0a80b4458fdb706c2fb3bab83b8239cd230dd9291662076d395c818a391142af1228ae3158cfa4960d6c74d531ba
-DIST r-efi-5.3.0.crate 64532 BLAKE2B 54bc882e333f7ba52b6dd6ac92b8a282581c10b47de91a4c4b71b15a27b2df885ab52ae2fcc8a546367ee1ce98300dcaec3c33cbd7393b134383528540bb7d14 SHA512 e748db9729dbddf215d5c37630fa272197dd2921297800209ca7bfcd6ffd8530b598b944d95547ad9723655cafdfb69b1c1fade9ba5f8c2ac5c55ec38258fdad
-DIST rand-0.9.2.crate 99930 BLAKE2B 4440c21211e3c09daf8797de5ae1c7c461ead207456ad0a0405c6da266de51427dbd68090c461f1a349a04064e4bdba8151656e2e9f7c17be1f4aaeec1e26f3a SHA512 91faee823d9a3b109135182b9566e6327881736359c9d68358ad7dc78eac1e845c553820e2450ca481cae1e0969ec6566e72f7f9233251b1f9133449306f2965
-DIST rand_chacha-0.9.0.crate 18258 BLAKE2B aa0efd158877a116b2587177f2da84832ba8153b629aaf8181ca7622bc8ea624b5a5d205d1b745caafaad78d5a55aa08a4f35822b8925acdf7d1212baf62abeb SHA512 f62a7bb067ff984049c96cddccc841cd9931daeb5b25bb69f056bfe577f62b1b35c08f2bb5028590eefa04a9369beead4e6b03607eec97256e0383b20542af96
-DIST rand_core-0.9.3.crate 24543 BLAKE2B d611130e240dffaff33f8384f13a008af93254b1530bbbd2369057ca33f295c7037178010efe76e4d7bf18e36003f843409fabec060c8c78077cba00772e66f9 SHA512 6e8e4067dbf5853c55b0ed38293b6bc6bdecbdd31bb9d624609b0222f706f5b29281ffd5fffd5c316367ba5b22c29e5282c61de3738344798ce0f9cf9cf2ce19
DIST ref-cast-1.0.25.crate 15192 BLAKE2B d38a9cac7cc2253b8892e2dcda3224ed637713a667c7dc283a2744307e437a2233314a57ca8f9568afcb72425533c688820e12d42650fb797bd23c88dd99c131 SHA512 dbab09333cb8b7f9b0ff262223a10078e7cf729266b90df47c1fdbf1d15cb31807314514556c72211da633efb988e3d6ac8e0e1598b7b55b557f83378deb0120
DIST ref-cast-impl-1.0.25.crate 10167 BLAKE2B 0b648a9d54300e309214d8061f017d8c344eaf5be3623a361dc3d7dea687daf59ee09fb3c21c955a9fd9da44910d19f0b5a7b515a8877428d24369f6d21aacc4 SHA512 c79cb5a1338796e037927e99a9201738cf2a2ebd1983d120828569644c60fb5a3444c2eee830093b166af6734fa8ba649082e523170d840b9e8a548341fc3b70
-DIST rgb-0.8.52.crate 22449 BLAKE2B fdd62b87d8f335cc9ddfc0ea2c9d4f4b88f8a927b81bf5eaf2fee53d35f297255a252461b26fa55915e11f1df38844a840d56787ca8623a57ff251d41ec2955f SHA512 db6f68c32884c67c1e22b91d8204445b89eed95468f9134c34b262e17407aad8fe3e4dec67f01867f7bf886213541775a0c5bd0335c1ef23be55023485f93a8c
DIST rgb-0.8.53.crate 18607 BLAKE2B 1d47ab956be44120532cfcde83b36ce50a69fd5d1eab7bfe141e81efdc50369c38c698e72cb8a63d08b427eb6bcffcee8dbbabf7920535cb6aa44df078ed129e SHA512 1a9b8edf06a8077911554ed3009ff6a519d79682cca59ff291d550ad9fe0fa8e7033975e7b50459dfeeb9102786a2290bc6ecb30a70107456724a5fd781c45b5
DIST rustc_version-0.4.1.crate 12245 BLAKE2B 0ed627c560d88e5ade830cc5f72c62f6ba88be3e30d0f8db34761fcd0b284e5b2fc063c240149aabdfb12c8410ecdbe50cb10a3544500b5a020f95a31cd6709c SHA512 7aa8a487ca7411b6d23cae62f7568fa3474a7b1fd1589621071be3428a550ed3b7c4ad68277a8f86849e5900397d7d0e9d678f5d423742a045dc7c660fa6c598
DIST rustversion-1.0.22.crate 21096 BLAKE2B cdf773cda21ebde50da897c0af0e4af14660ce953d3037054a99d8adc3db2dc6e30a57201a45676abfb183c62016a68069848e7537f711b1752339d194b0a378 SHA512 7929352df3e5279ac88cebb26ca89bb13c755f46986d2d1f514d18a3239a63638bf64f8ff153920569d173185d988d692ee676335afba0bf72d47f71babe0e15
@@ -116,57 +94,42 @@ DIST semver-1.0.27.crate 30081 BLAKE2B 760cd2994baba2ab8d63656b39f281304b309152c
DIST serde-1.0.228.crate 83652 BLAKE2B d1909d671ea6d5c2eb4ce34ee4493ecaf665d416111b4cac754b5d33b85f916296110bae7aa961efd987a2ceb4a31ba645752ce99dd28dedb9f1eecdd4d7b1b2 SHA512 9b645d6214203533b303fc5e88ad4f7686c22df084878d18a0209a92304a340fcb62fdde88a7080cf7a7348d47b9b363885c4e1da90dba08cc99ff620f375e97
DIST serde_core-1.0.228.crate 63111 BLAKE2B 8a64e4627ad21a3d16dd37d53fb809d11171bf337ec16bb1223075cbf81b6b85cd1c8d19abadf42460d0fbea323e2f351eeb6ef823389d519121b74e68edb215 SHA512 43897e3a7ebdc85d81d1cb30cda8f0a11610f6f551529c8a21462c24fb83110652b462846aa3e1bed5fbf8b5d7927018845a524ee9e079e2c8acf2c687efd6c4
DIST serde_derive-1.0.228.crate 59605 BLAKE2B 166ee2f9ff9f7a0928d0a65a72db3d9226c377bca2a1771956e8ecd9c7faf0544673c9c21be2a5553e621b55c74c7b958052592a1cf6eb6427a2d4f3e3dc6bb8 SHA512 8bfdfeee10ee7ef0670972aa963ef63b13e8eb2c8a09b9e0b717f92551aa89b3dd2a0dcbae6ccf20a1caece07e6adb18f0db56fdac020e4e0281b0d24e376003
-DIST serde_json-1.0.148.crate 155957 BLAKE2B 845ff0e5dda9da3c837d2b3ebca19cc1f2972a67c9affc86fe85d0d7fbc061a2665ea5cd380a5a4a22c540780a2f405929d9af165186f760079a40b7655e8071 SHA512 34c9edebb4ce354bb365e9f17e677e330d905a919506a1bb11d4b0d73fff6cc6f32d6c50a6230f8442ac20e36b75644b0750bd9a2ddd4a9059a82b7aade08de0
DIST serde_json-1.0.149.crate 155994 BLAKE2B 7564c287a05c95feeba2b3a17e2e43ba047b0132b40fc4dd0c09141c2aac559c00bf4c63cbd24c17f12f5e6b49cf38b240d2c6c66677ee7a9edb197aba7d57fd SHA512 85fa8cb7b479f8241a4fd2255dd80e346fa5cde103aa7f25c14ccbcdf0e3276578fd0645e1d2542ee07c7e08c32058ff662bbf03926cd796c38622a12f423d43
-DIST serde_repr-0.1.20.crate 12627 BLAKE2B 64aa318e56628fa7d9777f7387e66d122454008fd1f296ed29b4fa7f4ad4c358ad981bf7d093f3e3a5ac8aaeb29a9a62b0c11ed70983d82ab76897dfbacb9394 SHA512 0b47cacfd34f914acd48f443b62247667565b12f2a5bd5b80f6474074e08bb7a3bc85b8711bb3d45e17003c181f3366da6669382cfed6276cfa88b6ea55c3e68
-DIST serde_with-3.16.1.crate 198782 BLAKE2B a324bee9e98cc4bbc5cd07378bff211b603cac7aad28966a4ecd3c3dd1257234e927ddf26530d385e2abd86c4441121e6870563cd3eadb3426cdebb6bdd9ba00 SHA512 b78caae1c8d78cc3032699d383a93ed99c640c233c9dbd591ada001f2f2941507558d4510b0fdb2b778a2c24f387de04283e11100fe3d2c4f865a529c10b8fa7
DIST serde_with-3.18.0.crate 199584 BLAKE2B a241f0615724331191be1744df53935f1b8b74c736204d9e0359d68789d045117d0de54299ab62055e5561e9956a2a8631bd01d0913e44eb9a18146ca5210c48 SHA512 313d3f9ea8f81d97a28fdf86404b349b875dee85e01969e2c4d07f678c3bafcd50446c75a191ef883fc5054ef22d0a037da41a9ed5e162ae70f36a3ca0a0291e
-DIST serde_with_macros-3.16.1.crate 38106 BLAKE2B c0de1932c27e9ffe32ffe73cb564e9dc0bc10edc76e235b46f50468a752a68d21ed24e4b0604a897a2ef6f76631695ca75bae2f32212d86d8df1160183663489 SHA512 205dac4a45cffeded636d1b8d2b2d399353e0e500dc320b4ee16fe7e16a23f1ca10259496cc12d81966849c13f5c29c5ce78166862a7efd51a44f9e095b77d32
DIST serde_with_macros-3.18.0.crate 38080 BLAKE2B 4b82be32e83b7e046112985772c8d4492eba188ba3fcc59843aa0ff6dd6fbf5ded1805e23e0379a1d74bc0818a6d7cfc34f6df45fb8a27f6eab6d8075608c3ec SHA512 27d91e80f2675b31fa3b6be7c920496614108b81196e9064ae79dabeb8e10b1d2f274f22c72377e45e47c43d95f107fc9be9fad94acd89989070ce8d35722e84
-DIST sha1-0.10.6.crate 13517 BLAKE2B 85ad8dcd237125945f6f9c2d7a48bc9802dfe8398a2bac86ddb96763486092fa18e80a2e69f89cfd6e95599d34d60ced33b26a68cbbe39bf158238a79433584b SHA512 fd37be7e3f1d4b6addd313a36b55215fb70abd21be7831b71de28bd3eb03b7352817d8a7b1a166df002c3a23eadc8224e49edd4a37556c0e5357565305d4128f
DIST sha1_smol-1.0.1.crate 9809 BLAKE2B 954039c19b4c9faad6cd9f3f83edce220afb6970cb6628e69a1dd914a945a7b9466a8d46c41a650d505a3c01f406210ad59ed56504db18aa45125df3f2369cce SHA512 d0a67ca75b0617a39d28fdd73ae9aae3d3bf01ba24f6cc579b26da6f06125a304be90d446d17775959ab96ab165145657a54173679e6c0f42562a61c0e932b79
DIST sha2-0.10.9.crate 29271 BLAKE2B 1d614e0efe085cdb40e05726578a9b4ca6bce93f6d3324f5dc0444cb37054912cdaf5d28d468eac2c0046030d920fced2ccd006953b80865ce8a2d43ef3daa81 SHA512 963adeeb4ed8b0e7fc19085e8721ea13e9b3aea5d115ca1b3dbca495ad14810c6450991dd3753807c293c415aaeb1054b8b4124c72e7090cd9e86f09fcbb4f80
DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
DIST simdutf8-0.1.5.crate 28488 BLAKE2B 1e0ac310d874a3c279c4d2d5369de12c2ec20050455b2102c0a10325383c0d2ebcf262ffa1bc1eabda14ca62508d4120538d7b353200122168a659ad4791d162 SHA512 139668c7232f533d3439986474da5036efa32d4e0d21fa72e1283e27dbd0670984283d91c238e445be61317426f67cdb8d3f13738b2fb657563f866c8b6d89d6
DIST slab-0.4.11.crate 18549 BLAKE2B a4895b6dc87790946621e1d52b5bbdc0fd78db238d9164121a380f298b85be94eb3424405067e3a6d96ef42747680a8b2b5341373bf5733d5a62a4ae383fdd5b SHA512 b2f199651b1d0f0eacca534ac2da714a2e9f642608c4874e7a1440ba7f035d061e117f518c51915f982befa2269da747c9e12e3b0599675e6218cdd8e30bfdcf
DIST smallvec-1.15.1.crate 38116 BLAKE2B 8dd779d7726694672945e928399e0459f4973d284a6c2d664c2fc757ebb1177658f47c812d9800e982479cbd7413fd4283c64a4d248ba5cff6397f96b758676e SHA512 c26b097a063353beedfcc921129cd0fb838c1c9420218993a05b2655b47b6ec16f11e0054312018658b4abd893beee140c5d2739401a5e5aea2e64575f237047
-DIST socket2-0.6.1.crate 58486 BLAKE2B 990bc645f361576edfeda680cd4b6a0a29d6de80bda1164954369aa572bd702db5d92cfd26e68842aa0978df351d9b52f2900a4bf1f6d4aa5bb0f31d259ff48e SHA512 cafaf371870a8d85bee30d1a8341c25ec023f6031eaae96f783f0486e2c9b0ff7a6d742d40500f9c772472805d8de9f36a163405a476c57b254249992a5477de
DIST socket2-0.6.3.crate 59330 BLAKE2B 09055b889f501975ebb358382237e85c35d81108b5ee91652843b363477cf103bf72dd922e94aca201720faba00a25898bdb88df3a7e335d0664d48873453129 SHA512 c69ed9bafe82dce5fb6333430f06dd5bea910dbc2085ae6bc3f0b5b3d2f965459a8c19e90a877dcbfec70dc8098df11ffc01dd5a401b5638c29b6dabb3891ae3
DIST stable_deref_trait-1.2.1.crate 8186 BLAKE2B 6408959d169d1228c1b0802ef31c850206405f8259168f169aabc91f63683dcdf347ff0e74fb3535ab05d7642889dd2637afbdea389b43b0925e0d6cf441ed67 SHA512 630721d3f8e9f3290efc250c42aba13e2325839e62167a2a611618c18c6aa58c08a53622db61a9aa920284570626b98df26b3c28009cf45b6ce1ec134b9c9f5c
DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c
DIST syn-2.0.112.crate 302273 BLAKE2B fee49f43f8038419dd7dfecc4adc34c2669ffeaa9041d945d005c3e64dad3b1f26a28eddb0f1c2674031b15b400589e701ad213f3a039342e0ab056a9f9a8149 SHA512 8ae9b91af70a62e4f87ebb2d8afb244b473dba5170909f8d8f4c090ff9f602dcaa8eaf7288943882e302d0176ab90d533f0262223b0aead49bb441c0c9dfccf1
DIST synstructure-0.13.2.crate 18950 BLAKE2B c475f370d901a371262f466dd98e3914dd6f36aa473a33362866c0f781d27b1813233f96b02208f3463a825e8012cab0f8872eed848d9aa0eac88b581a0d261e SHA512 2698f4e80b93f7cf1d8ae97c4c42a7f61e7b7081f7f1bbb94d7f48ab7ae813a666d73c49ba3812cda9155e0138b55cc246fb96e5858e411a8d32bafb3e2b2afb
-DIST thiserror-2.0.17.crate 28857 BLAKE2B ea60d7597439a703f50faf77dfc1cba7cf4ee5c9f7a28b9c553099fddf0534be55e484f4d0761639c845596ee4b4f2b273169cad6c1d36e1a06c775ea79554d9 SHA512 1a20ecdee9e0cef6f4af845255bf7664c77f55a8e6d878ef9c398c42d6c6f6e3deaaf606d7739df3a157f55c5be8bd0ae1af9e9bd7a66cd218e9a6268f7fab91
DIST thiserror-2.0.18.crate 28875 BLAKE2B 4edeb4a39f27204d417d673dd3e2c1dec67a5bcdf44aeea70a02715b6101da290b5ac1534908001bb7d758528777f5be30b428eaf13cf0d8afffdbece054f3f4 SHA512 5e20261c0f8898574b5668c743d292be1763a78f6431918f33eea2ee2badb40743af4f668ed245ad685a90c3ae23631a2ae8266569d8f1e7dea111f08ef12352
-DIST thiserror-impl-2.0.17.crate 21344 BLAKE2B cc54f1423307f64857c67eebc2ae0537ffe9ad65a0443ba31c35ce20a7e4de96ad29a18237be48fad998e509cc4262e1483d4a983efc606b6714ed11bab9cd1e SHA512 3e1185fafd0c77acf6f79ead5633ff756c55e88f83285e10e2dfb9e58155b3c1c1b637a0bb7cd5d36a07cc9b014401942aa5b0709b6387e44d37c2b407e012ec
DIST thiserror-impl-2.0.18.crate 21413 BLAKE2B 38d2dd849f6919b2735b23e32250c0750366f2a5ef9dc385262ec00fc8e0cef17ef902211bdacaffef4e59dfcde9ca2d84a0ce4d052a96b4233a21b168e6bfb3 SHA512 52a7b5a98cdc32f7d6911451d75f008599ba3775fecc1f7483b161cc4fa176e5b19659f10abf8189748d769fa23d3a22b774cc5102fce395c6f77a5f107b0553
DIST time-0.3.47.crate 225161 BLAKE2B 11b19cedab54f06763fdd710c273d0cc3bc4de1a7e39dba9657c860448e93d22d83552f858699be3a5f4aee4cd888b959c05f90d5c24208610dc4d0dcfcf3df5 SHA512 c43decfab65f62b7719f9b2b4bf6eb80fe3ed80f670e1b47aa0879baea403aa19557506ec9433df31ae9fe9cd92cfebfa237c9b2f5dec8d5eb093c54bb815f76
DIST time-core-0.1.8.crate 9634 BLAKE2B 6fd5acc286636de923ea527874c02acbc31577ffe0f15e2d89de5d1d2a9c1551c68ebe392667cc8d34434223484da792c0bf967f5b362d1784818b016ddce0ee SHA512 cf9f2d5da0fc1b61ff53c11476d9a73e76740dc166ac0b4c4953e25d63971c5471f6e3bcd6d1287394fac44fbbaf6d855a09ee694d845bedf693e6b8a517c9fa
DIST time-macros-0.2.27.crate 25144 BLAKE2B a308949ecf582451a01669ac0468b74231e6b466da44c4dff864baa22cccf33ad64ba3c80a75afd4c19bf983dee11b157fc973d9e4fa78a614bc98951506b4bd SHA512 5caaacc82e9b73bd3891e55aece04ca3800884f9e52c01d5f9a62fc9e554940454df713d903854c68b85b5a43c7fd8dc8e7047f596be72f86952cfdf9323a818
DIST tinystr-0.8.2.crate 23942 BLAKE2B c84593349183f328d3df66b2ceb3b5bb9ccde3b9c082de72b7daa2845ab2ccfba9ef170a712f41e5ccf02008c018b456fef0ec380eed93f020605cc9b293d287 SHA512 21416092df2692c3f3f3efb9f1e2d124389162fbbd1038d244befc419347cdc686cb01d6bf1d589bf23fc6f69e23a94522bc7dc81aa7a2be74c697cdbcfc8501
-DIST tokio-1.48.0.crate 843434 BLAKE2B 4a2e3221f6820f2b092275fceef9bf295e35e445d81238f9f71679033b499610696d8882da118279b9cbb3fffb2383afbbf9cdded910546933072f70e77ffcca SHA512 7e275ed26e857d42255dd27e8704bcb0a5daa8658c5a00f9798f4522265006a91e04d6a06512a87f30e0ad090a1676c03d3b02fe8d60263e4ba793940a85b98b
DIST tokio-1.51.1.crate 887164 BLAKE2B ffa69cb7c589bb4aa87ddff4f88c8ca987f724564732777be818678ffbbc5889356bb8ef35fc3a231132268a819aeec3853ca605bc016f096595904986b76af3 SHA512 7553c37983554745dc9e40b3f7ba02d7867e95b97bb9c07d340e9e9a7add59bf203a460b88e8e7df6177b8a6b0a9dd605f96c1ee877b1f97d93a2bda6b196eb4
-DIST tokio-macros-2.6.0.crate 16505 BLAKE2B 9a6ac1a92c2ca1cf2a51b7f78e4e043e086f595f3d7ab3d543b6d16df306721f56ee3e02b87f568374fb95d8a06dd47090169a3e60b749eaa2f80551dd97e490 SHA512 626e2dddbd80cd4bc365a93dcd4906752c6a1d0f2698daa007deb64596f518b420e5a0374ca415044d5c8acd247a83e3190ca5611ef9185f46785f8194d380a2
DIST tokio-macros-2.7.0.crate 15859 BLAKE2B 430d68352a433d070dbe80146860179023a01cd8fc7923a55337f48743269dfed914cb69989eda8ff969c74a96b28cd32f0a59caa87d5b2f3e3828d878d0b026 SHA512 c93653ec669b092e928f71ed1e7af8783a5e9899739265389ee24301a0a5a9e2b98c69539937f78926e47c13a36aa70c70eae278ba6c082306e4044a7021c2c7
-DIST tokio-tungstenite-0.26.2.crate 29868 BLAKE2B 79bf4bee4e985bfa2f3dd62f970bebfdd5c66eda968bdc52c85d3a1e7ee39926c02cd4fbc18df37d9a8762dd9c3775e8df724a8b71765495e379d8178bf153dd SHA512 1c8b27093840cb37a297d883405e04269a882b3c7c20c8a007b6362a5faba74cde26ede03c33f13c56ac54bdb61ab1fedb4ad6bb2e3c315a2db068ddebb720fe
DIST tokio-util-0.7.18.crate 140550 BLAKE2B c74f978f9d1bdd662acf65551ce35d735b23909ed25a3073b5170459cae4d0bef40e34a035ce1e2f8bdbf7ba51d230c016afbb150f7df77d9901e45caee3fb97 SHA512 619504b1c7b10ef79da38b99e7c17affc0dbb984dc671bd1ca0c4b1ad3d1d86f80feee67b78fdb7fcf7ea989a0e9bd5d52714467f4881f31ef5f60cb989ec671
DIST tokio-websockets-0.13.2.crate 342060 BLAKE2B 1d36dc2fc5c1037f2f49229455061c86553f851e31ab761871fffbcbd0c53b57d147bd03f9d3e511a178de939112f7174108132fd0134d449659014b4e1ae2db SHA512 1600f7832dcb13af257df17aa6b810f7e29c37e24f504f52a4f276ad9d1ba21fb82674c38947c374ef7feaee031214b671cf2d90950326672485274c0060beb3
DIST tracing-0.1.44.crate 463135 BLAKE2B 86054adc3043c73510bdd64973918dbcd4a8295dd007a4356e702d6dc90bca8b0f211df5e934b850d63618057fffa10215fb5d966340162117c110ff3e3e1c98 SHA512 383404a78c9bcb9dee947140082420673688dabc54eff334460222abddfc246b0256996ecb456d5b6325c029fcb2e641c95ff659a08366089b8b79784cb28869
DIST tracing-attributes-0.1.31.crate 39733 BLAKE2B 5a345c85a36414241fa88bb44cfee5e07b33ad39416be0f05e35e0f17adeb99ef68cd1fcdbb7beed21c1efbeb2020a81a33f33b74c3486aba32bec175b5f9c9f SHA512 6954ce397903cfced12ef495d46885e8320233cb631116b0c35731c89c51d2cf2532c77ed02d9b708375b5555f3580a197dd63ad6899a32c87e34e2da2733bfa
DIST tracing-core-0.1.36.crate 63967 BLAKE2B ed35889974aeca741414d425c874232c3d0722aea1740a68f1e2c8054b7dfc11d3c19de078a4a88a189d9a00afecf2eb5bb779a5ef0cffabee7fcfdc6387ecbf SHA512 7cecb6c2f1deeb6d23ab466c376e1c1300dd9226301c112deeb2483eea13f7bb514fe57ece707a8c67450245062060872dd4d7be390462008b369ca3dfc57dc6
-DIST tungstenite-0.26.2.crate 65315 BLAKE2B 8239dd1350bddd8cf4411204af46d589085951a440b443d87005fa873b15c04975717cb9b59ffdd5839ee9da8924c69b3cc4df7d533e6ec6eaf6a2c112641c2b SHA512 04fb96f10e9ffeac18db3abae932da15be46506ff31626d717a325e663128d334e0f901f03fb0756578c0e11982eac4388f5eb0ccdd1dd9dff07d868226854a7
DIST typenum-1.19.0.crate 76414 BLAKE2B 8083988e0bf1d7927377112b8939607f32af098f198a2bfcc2c5302170d9f6e5b29cf02d3cab16c1ecd0fb9f0a45ea3c6bd4a4e4baaf2dfdf8f694093300deeb SHA512 09ebcd7a2cc11f422469cf4fe706f1988bcd81d628e2bab3f54ae82b0aa5486d03a4392187a3736c13dc0c2027053387f89ac656caff72f36365c8be38bc7ff4
DIST unicode-ident-1.0.22.crate 47919 BLAKE2B 766f52249631092af952df717e09e1eb0d2a8e87c45e65113f0b2b88b42e8b406a87241fadd368ceb9e13339362b48cdbbc6f699f95f448ab45dbbd861615d62 SHA512 81666679aaa2eebfe1429827fa2a88ee0b52bd69723067132c24252070133b3731287bcd880ba16d16274f038c7b27bcf637e9150b6cd955fb4ff49642078125
DIST unicode-xid-0.2.6.crate 15744 BLAKE2B b1bad25897717f6346f988d5a7c90c51fb842da113f19aa434a64add8f2e637258d9fab0f7b871fd2aac02e83c68359fc679b326232793cbc804523e2bff5056 SHA512 f68e78484479a5341b14d7e3391e691265851fa00feeca53af745479af6aa9b4ce3570456df785c8362043db9b04e2e57f9bad05d8305946f16af405bc611764
DIST url-2.5.7.crate 87907 BLAKE2B 1c8fae906be2022bec520d0ba28399961fb60d2920f5495571255997063197127314f30b89dda2796eadb47b3c68c7228febc0b2f0aa102a577f3991f3e3d8af SHA512 bef3c8fa25242615f5749428cac1ad2ca895c7f194bb3df39020d6d7697c4fadafa11046378d44a72f46e39c5f657ecdef8760fd2a36cf25d82b1de75d190999
-DIST utf-8-0.7.6.crate 10422 BLAKE2B 296690040895ba9da9e69d527aea415f4bd6bd3c010e67a08f9cffd2f4cd92a99f9ddde77512f9ef5a0db069ac9ac3cd6fd91aa18f0bcadf870ed212fdd76f2b SHA512 6bf0787cc297a1ac4e47389464d05ef6850602f549621687e776618bec96c1f7bacbb1ac8faaa63e5d28d975b850db8d6c784eb66e2466128f0521b91c14015b
DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090
DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266
-DIST uuid-1.19.0.crate 60244 BLAKE2B b9ba5d4a0ffdebedeee286f9e9135bbfb4041295b3a742d08c205d8fb2daffedca78d379168562beeb982612c45cc77d2168be9c045c36373e2293c58bc15619 SHA512 5b2a4aeb75efb08390567aa058e97895f30c45aad59465fcc85dae6a8e9a169c2297e332512ccce3735b8bf26d71973baf3f6687ee7ae4d9aabccbdbcff1fba8
DIST uuid-1.23.0.crate 63006 BLAKE2B 77bcbf3c658f0bb5d09bed862b9a8720110d62094a2bf9065ab8f98e6c458e4213767a9152280bdd71941eae7077036deae56adbcdddc14fdcbbac4cbd030061 SHA512 60e476dcbc407a0447f362ee019abb128c0441503e0adacdcac5685ecc16aa680faa575b25fcce147e9c49bfb5b8fa04964a25c5d7e4e9870e0078bf8f18fabf
DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db
DIST wasi-0.11.1+wasi-snapshot-preview1.crate 28477 BLAKE2B bcc773ba28cbe8d820e9e9fbb275fb4451bc7f39b3bd88bcd93850bf2bdb5300489bd8eca27489ccc5f6269b00f4e1b505ae3a33a35d708cd5a414ad307be149 SHA512 29e3c903763db2580a15f50db487c5e1d4e90763e48d90a5b3f681e468a24f9df1a01773bd1ffa0e3cd293dd8cb4d6fbabfaa63c0e13889c811a56f4554ada49
-DIST wasip2-1.0.1+wasi-0.2.4.crate 132087 BLAKE2B 9ae5188981d55ab0cfc52668cd822bedde6b03104990bcd070f459a39ef75699a792bfbd33766cdfae852147c2f3ea236aa1d1b792e85c56be21b74aee2232af SHA512 56b88f97224b6b9763f4d2572e986609fc86a98f597930b5cbc8095d4184a0279286c8c79f6ace19bb08ba08854a408a61004bdc6b2f3b72d4f3fcb5e43edceb
DIST wasm-bindgen-0.2.106.crate 48417 BLAKE2B 8dd8a36f109f0fe3dc03833271a9b6042b26c0ad9a9dcd411ec325dfd3f72696699ebae654347ef84133877d67f115027ebbe5c5172a1526b92eacaea982e152 SHA512 2ae22a455d86bd33d48a8b17898007adada6e3d5e17abc6df905ad5e3e2cd7886ace54d26876039b23f158bda30ab18f7aaa315610cfbe3f2064d90b8fac070a
DIST wasm-bindgen-macro-0.2.106.crate 9266 BLAKE2B 62fef922115cc70666a686c6047ec2f6558d3f6f90590f3327abd4a6932e725cac5b3cffdf1f8635815dd3b18006cd95c46bb55b9e96b978aeb61857edc0ae02 SHA512 971f5604ff2d1c3c76e0c2f7b4d4542e4806414c4410719cf5786b50f93ee3f4533daf47eca9c918076cd4cffe3a883d0bf2c9fe00c281cdf4990f4f3e1bf97f
DIST wasm-bindgen-macro-support-0.2.106.crate 49711 BLAKE2B 9508ae422506b405e3047844d966264dacad53d386399961bdbd19e6e6c8daded36d8875b9325ba06de978c7953d0d6a105992dbbf58e6958f5c122027e283b3 SHA512 d0c963e5ba06bae3c750eccc3bc7173fb27a4b4ebce03776f18aa851350d53390b7e568b65378b9c43e7d558965fc42951f1d7d62138c2fd60d3f2a064783fe5
@@ -177,23 +140,10 @@ DIST windows-interface-0.59.3.crate 11809 BLAKE2B c3f439e14e85175f12b4403295f063
DIST windows-link-0.2.1.crate 6133 BLAKE2B d1ca714178e6fe12bb3b4caeed9a52a36890989e77ae2dcd6f2d18ae4a21fb8479d304cdff63bb0a5f28acf44eaf104821cff83cd66b3a0406a5f33a800e3641 SHA512 afb0c87beb8914fd9a3e52db6f2f64a840470b9751b66c83892c24cb1c46cda63fb16b1aeafcaa5a1fc7c5ba01da46be63e5227cc108dede8b0bd27785498a6b
DIST windows-result-0.4.1.crate 13381 BLAKE2B 3960ffb7f15826bd2f8636133412872d7af9c2d89fde07d2183188083e22580ecbef11f423523aa864c0b199a494aabf1d6386d7c7fceeb7ad74575347efbd27 SHA512 a2b7cc53608b8243bf9b19adb75cdc1698b8caf78d939c3afc0c01b1e89f9cb951306cc1673f9b400b926437340681af641ee322f7e761a641ee40e52b21b9f2
DIST windows-strings-0.5.1.crate 13966 BLAKE2B 9143cfa5a4184bf0aeb62f8c85d0629d7417b74727349cf46f0d1f28d0e255cc218ac5bc39fe1c7f0311c418f23644e84644b8e7833c5b1c8d1f523c3d38d728 SHA512 c1c3e620aeacbbba0159e789cf0a0261e943f626d21392a77ff00d321c867a0a6ea75054f594a63fcc86cb9ba6bb580d96c29e0a8fdffe90e73658aefc3472b2
-DIST windows-sys-0.60.2.crate 2518479 BLAKE2B c2e2f614066e5a9d7ec461d9d25bd441188797ad85e1e923baeb0193e82f5c138ae7fb4ad0255d483f60f7a94e3f5cd8373d01b7485c052c9498937bc40da992 SHA512 a48aa1b66479451e431032737b63dc62eac6f63c251534e258de75bbee4858829faf5e641756566f00e153b08548ba32beb437b5ea42e9531e3fcbd8eb25209d
DIST windows-sys-0.61.2.crate 2517186 BLAKE2B f4eab0b365aa1df8a353d634da5081237bef0f7b69f02ffcaba232a688e59dfe877c47114de64c81e3cbb929c2fea1143ed6bda56ce935e66d871a993ac29106 SHA512 e6c8f61f0724dafca7821ee9b9c07237ccfee69be269be2fa7318eb48b151285ecf63e860aa1fe303639222fe11268e3773f37c2dd79f923029af58c645edb3f
-DIST windows-targets-0.53.5.crate 7126 BLAKE2B 17a0452fe72a42df4aec8b4ae7798bd611df4f3b093709aee7b8dc991fbc2351edd23e134d12412fb47e9930ae30476b55841d52be5e764fc42a7922e3134ad3 SHA512 285a2ad1c370d8485a84c3921b180416c79ad596ace5ce30a1100fe0d9725139e9302f5728d4874789d8abe5c53e9b30ff4738d969da1c07940bde2b01c7a203
-DIST windows_aarch64_gnullvm-0.53.1.crate 787748 BLAKE2B 78729e1107cf64ffc6a3d70c14cc93e7867578be51d3f6f442914a5f2d065fa86be843b72cd24d707eb59b779e9a719eb28d025619cdc219e379827acb4a16c2 SHA512 5e480e54af09c142ff75e77f733327dd3862f32620e0b075e02bf8119e955ef2f3acfa00f7c7a4d6a2b034d03d70c45e191a40c8af628484d0e76a0b15870cdc
-DIST windows_aarch64_msvc-0.53.1.crate 838009 BLAKE2B 0a04f6d80bd0ab41964e9932040d6c748b6bf10d609bdd35074ba26d245a98281739c8ac68a3fe251d36148a53e1730b0ea2dd5347279e74dea881be43d67707 SHA512 81175036792cab41ede4e3a21ae324e638c39604e14c7a3dae8db4090cec45b385aca32416ccad50ab194ce06d3a71f2e12473767d680348795383dbb2d17426
-DIST windows_i686_gnu-0.53.1.crate 939775 BLAKE2B c6abfbe7b82c7fd95a483da467ce8f12a3777572e34c42777e6378976344c95e5a56e3e7ae47049e14de81aa26f276a723ac5cb61f2c62b141020a97a91f137b SHA512 5af8519d1e0d9947738d5aa339091695467a55b62fe97bac680eb469679180a54e9f65e2ef8d0c34d4e63ede8c16f34a0fbd1f54ff53924ebcd6cef17c3474d2
-DIST windows_i686_gnullvm-0.53.1.crate 857396 BLAKE2B 4fcc61c3634d7b905c946ccaa2f6d03ccf0feb6f8080337d5618959a532fddd5989dbc95d8559bbfb06335865387900e7cfe942cfb67a7724c3c00dc99b1d603 SHA512 492bee10b669c799a93b7ad98ee7a15c0ccde4d13697408612cd345cca2b7efc38b85c550eaf1b83470bee53ff3324045b7b751c3a31ac0e214b9965e05bbffc
-DIST windows_i686_msvc-0.53.1.crate 907688 BLAKE2B f6ae6032836367e9a42261779661abd028d303cfb13c016dd1a745b21b58d62531dd0d7658a6c133d2bf1dd95c538cf24340bb50e6743a82d6be9a622ff371b7 SHA512 b78f2a21e88adb65bf8a81bfa8a133d6ebe18b8394220421bd5f10b619528f118a255dacf6e78014ddb4db8a27b936be7af6e137133d914e1cc0902139a0e0cd
-DIST windows_x86_64_gnu-0.53.1.crate 903712 BLAKE2B b5a86bd4a760fb6d937dc5285d2c594245ed6bbc541ffd6cf6d169c7e4e8c4334523c06c7a59c52f100a05da7976193fbb535ff3bf7db30897d9940d4d5648a4 SHA512 e4c5bbc49202636c03953aa0fff1f1affed69970aae198cb4d1eeb5dda63b9e07b0cfaf46015bca3b8c48fd90d3552488a6a7b17b53aebf9776e996ccbf9c7d5
-DIST windows_x86_64_gnullvm-0.53.1.crate 787739 BLAKE2B b5e3aaba4ecd1e5e21a0b9ce5beaad3f9ef78249f21b3dbdb69af98d5f36d01f2ce65d3188788392b866f296548075857e2f904e30cb79db33fb3134fd78e946 SHA512 30b8919ee9ad36acfac4e28a3b22378ce11ee73d35de60dd9c9217adf14e85222da5526100b0252372e039e559a5bf734ba134b10f707657d542341056947588
-DIST windows_x86_64_msvc-0.53.1.crate 837950 BLAKE2B 5775d30ce763835fa26376d85e9ae6f598b817b8d32b01147e5d197c364a5071ce7b5b09ee6f611fcf30790af79c4e4282e04ced620190629eebcbccabb8d720 SHA512 bb724f4051db90ce49b552021e746769e5dfe3792b522416539960c27f9ace14f63c47f0f240d6563257377129b5f3ba2c262c6fea9610428aa860fe035f189c
-DIST wit-bindgen-0.46.0.crate 60508 BLAKE2B 4422fb47880ecd70749d615ea6ed0a8bcb5941bd9de2c2164a6f1248574363408fcb634e0e9aa0af3e0f278c9311a81212818dff70ef39614646ffdd646b1fe7 SHA512 5d37ac5855797cfb906c983a70780d7cd29d70c4e5b6e54328fc18297feeb89ceda0aa732123280a12610015fbdb42bcd76aae12b1debb281b0a848016134548
DIST writeable-0.6.2.crate 25181 BLAKE2B ffc57bdfd8eeef7e2b50a1a7fb2fc8af0322c17cc99cc4a3eef3fb2062e447e05721db74e62080fab08f565db15dba21be8b6bfbcac984acd2eb2a80e08b9ba2 SHA512 d267aba601237bc4061a484103c10f0cf4ca3cf6db0f50063319801e1aa73272280115ad3ad4f461ecc4ed9cf4ee19131ee7cfacffacfcde54657bdfe3c557e7
DIST yoke-0.8.1.crate 32016 BLAKE2B 9dba7f506636b93ce559817ec57380836858eb14fd3484d5024535ea909d5e7d5da759c316bad86847607f05db1228a04d65942dd020b426fde1b7fa40962c02 SHA512 0ab6353207432bd0a18b6ac038cc37332ece4f2f5182b7eba6e47881a051f0f2ac41d365a8feb74bd3de1d4e4d8dc20c92fa2f3f1252b35d4ab6ff0f56f31de0
DIST yoke-derive-0.8.1.crate 7593 BLAKE2B 09953385df0b24b5cdbe4fed4c8788e20236c9f5a79d144799a31807a1a4e82380cd3ed451a46055ac21561c2f9a05ca91c953b7c8aa250a26a2e11fd11b7a9c SHA512 20561f74561f3e7d5ce2a2b702bac565047be284cdd24a3bf837d423954c8260d32f8d27ef9761f5e891bb539f59af22afc4830a4e52cf9888c8ca2a50784a96
-DIST zerocopy-0.8.31.crate 257633 BLAKE2B 42b49b61a19d7d9865a0c7600d644902eb50b279a9f372769a5adcde211a7408d13b7fc83959b898422141abddd0460cbef67a2edc7c34591a183c0a6c82f0f7 SHA512 0d21cf7e269c50a4c4451426c9b4be3836fc53b0c7ae2c737996a7e6ad5dac3863c554e47308720087e928535ce4a2c4a25e1ead4cb927c29bb6a68fe66d2069
-DIST zerocopy-derive-0.8.31.crate 90835 BLAKE2B 3389db8cd661caf45a147b1f70fada5adf3a70375e27dcb3eeb75f079ef9e776daa397a851df0846cdb0d26448a30725993d3cf27f196d85434f78432c1fd757 SHA512 ebfae66be4685754c06cd6aded9c7bfe143997626cfc1295cca9bbf233d4f48719bf19101b5e5a9905aafd53d889939f4eb31743fbac76426c22bd20765b186f
DIST zerofrom-0.1.6.crate 5669 BLAKE2B 1428e9cfdcdae13b39b7465524d1b8b79bdd89f743d3db4a3305c2b39d61ad7ced958dabd673a135147a04c8ace69d8c710dc06c6a07b1dd3987fc0a45148094 SHA512 e87c50b4f87caff70d026099bddcced73398c432f6aade32d74ad199cb3a985956bac282f48efdd501e64e80297afe4f8a4518db32437bf297fcf51a6f94bbd9
DIST zerofrom-derive-0.1.6.crate 8305 BLAKE2B 9ab7425b450bf8c47538be7ff32901045393bdd91b9687b8a32ac194b7272dbd4f5310629647c6710f97a50cea45c722c018a77006f24da2b44a4c475daa54cb SHA512 ef4226df3c9ca9c0146639b19d9aa611f2ea3148c10ea875f43ca1960ee8ed438a553b078a9b449a58862f44cb7d4434fa35bbd6db6f0a773618f63d2575c985
DIST zerotrie-0.2.3.crate 69547 BLAKE2B e5195d0ac15eb05ced2064cd106892855253b11fb996fa8a9f8b44b3b2958e900c95503200c5fccaef91df3fcf0dd17c9a028ad8c014ba09485f7743cfe6b74f SHA512 10d3cb670f959b81a7170440a081ebe66f147c76be8e6c769b9093bc737cbb28c1b632515311adf7ffccee0cf05f808ad461743128429d2d1ad86932e54b587d
diff --git a/media-video/obs-cmd/obs-cmd-0.31.3.ebuild b/media-video/obs-cmd/obs-cmd-1.0.2.ebuild
index 16c7f32e2256..d67552f8955f 100644
--- a/media-video/obs-cmd/obs-cmd-0.31.3.ebuild
+++ b/media-video/obs-cmd/obs-cmd-1.0.2.ebuild
@@ -1,7 +1,7 @@
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# Autogenerated by pycargoebuild 0.15.0
+# Autogenerated by pycargoebuild 0.16.0
EAPI=8
@@ -15,7 +15,7 @@ CRATES="
async-trait@0.1.89
autocfg@1.5.0
base64@0.22.1
- bitflags@2.10.0
+ bitflags@2.11.0
block-buffer@0.10.4
bumpalo@3.19.1
bytes@1.11.1
@@ -31,25 +31,25 @@ CRATES="
core-foundation-sys@0.8.7
cpufeatures@0.2.17
crypto-common@0.1.7
- darling@0.21.3
- darling_core@0.21.3
- darling_macro@0.21.3
- data-encoding@2.9.0
+ darling@0.23.0
+ darling_core@0.23.0
+ darling_macro@0.23.0
deranged@0.5.5
+ derive_more-impl@2.1.1
+ derive_more@2.1.1
digest@0.10.7
displaydoc@0.2.5
dyn-clone@1.0.20
equivalent@1.0.2
+ fastrand@2.4.1
find-msvc-tools@0.1.6
- fnv@1.0.7
form_urlencoded@1.2.2
- futures-core@0.3.31
- futures-macro@0.3.31
- futures-sink@0.3.31
- futures-task@0.3.31
- futures-util@0.3.31
+ futures-core@0.3.32
+ futures-macro@0.3.32
+ futures-sink@0.3.32
+ futures-task@0.3.32
+ futures-util@0.3.32
generic-array@0.14.7
- getrandom@0.3.4
hashbrown@0.12.3
hashbrown@0.16.1
heck@0.5.0
@@ -73,31 +73,26 @@ CRATES="
is_terminal_polyfill@1.70.2
itoa@1.0.17
js-sys@0.3.83
- libc@0.2.178
+ libc@0.2.185
litemap@0.8.1
log@0.4.29
memchr@2.7.6
- mio@1.1.1
+ mio@1.2.0
num-conv@0.2.0
num-traits@0.2.19
- obws@0.14.0
+ obws@0.15.0
once_cell@1.21.3
once_cell_polyfill@1.70.2
percent-encoding@2.3.2
pin-project-lite@0.2.16
- pin-utils@0.1.0
potential_utf@0.1.4
powerfmt@0.2.0
- ppv-lite86@0.2.21
proc-macro2@1.0.104
quote@1.0.42
- r-efi@5.3.0
- rand@0.9.2
- rand_chacha@0.9.0
- rand_core@0.9.3
ref-cast-impl@1.0.25
ref-cast@1.0.25
- rgb@0.8.52
+ rgb@0.8.53
+ rustc_version@0.4.1
rustversion@1.0.22
schemars@0.9.0
schemars@1.2.0
@@ -105,43 +100,42 @@ CRATES="
serde@1.0.228
serde_core@1.0.228
serde_derive@1.0.228
- serde_json@1.0.148
- serde_repr@0.1.20
- serde_with@3.16.1
- serde_with_macros@3.16.1
- sha1@0.10.6
+ serde_json@1.0.149
+ serde_with@3.18.0
+ serde_with_macros@3.18.0
+ sha1_smol@1.0.1
sha2@0.10.9
shlex@1.3.0
+ simdutf8@0.1.5
slab@0.4.11
smallvec@1.15.1
- socket2@0.6.1
+ socket2@0.6.3
stable_deref_trait@1.2.1
strsim@0.11.1
syn@2.0.112
synstructure@0.13.2
- thiserror-impl@2.0.17
- thiserror@2.0.17
+ thiserror-impl@2.0.18
+ thiserror@2.0.18
time-core@0.1.8
time-macros@0.2.27
time@0.3.47
tinystr@0.8.2
- tokio-macros@2.6.0
- tokio-tungstenite@0.26.2
- tokio@1.48.0
+ tokio-macros@2.7.0
+ tokio-util@0.7.18
+ tokio-websockets@0.13.2
+ tokio@1.51.1
tracing-attributes@0.1.31
tracing-core@0.1.36
tracing@0.1.44
- tungstenite@0.26.2
typenum@1.19.0
unicode-ident@1.0.22
+ unicode-xid@0.2.6
url@2.5.7
- utf-8@0.7.6
utf8_iter@1.0.4
utf8parse@0.2.2
- uuid@1.19.0
+ uuid@1.23.0
version_check@0.9.5
wasi@0.11.1+wasi-snapshot-preview1
- wasip2@1.0.1+wasi-0.2.4
wasm-bindgen-macro-support@0.2.106
wasm-bindgen-macro@0.2.106
wasm-bindgen-shared@0.2.106
@@ -152,23 +146,10 @@ CRATES="
windows-link@0.2.1
windows-result@0.4.1
windows-strings@0.5.1
- windows-sys@0.60.2
windows-sys@0.61.2
- windows-targets@0.53.5
- windows_aarch64_gnullvm@0.53.1
- windows_aarch64_msvc@0.53.1
- windows_i686_gnu@0.53.1
- windows_i686_gnullvm@0.53.1
- windows_i686_msvc@0.53.1
- windows_x86_64_gnu@0.53.1
- windows_x86_64_gnullvm@0.53.1
- windows_x86_64_msvc@0.53.1
- wit-bindgen@0.46.0
writeable@0.6.2
yoke-derive@0.8.1
yoke@0.8.1
- zerocopy-derive@0.8.31
- zerocopy@0.8.31
zerofrom-derive@0.1.6
zerofrom@0.1.6
zerotrie@0.2.3
@@ -186,13 +167,15 @@ SRC_URI="
${CARGO_CRATE_URIS}
"
-LICENSE="MIT Unicode-3.0"
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" BSD Unicode-3.0"
SLOT="0"
KEYWORDS="~amd64"
RESTRICT="mirror"
-RUST_MIN_VER=1.88.0
+RUST_MIN_VER=1.89.0
# rust does not use *FLAGS from make.conf
QA_FLAGS_IGNORED="usr/bin/${PN}"
diff --git a/net-dns/blocky/Manifest b/net-dns/blocky/Manifest
index a5898fa5789b..c5db2ea80c96 100644
--- a/net-dns/blocky/Manifest
+++ b/net-dns/blocky/Manifest
@@ -1,6 +1,6 @@
-DIST blocky-0.32.1-deps.tar.xz 7219980 BLAKE2B 600f09d12a3c0911599234c3911648e3a0946f0ce079ce11dc86ae9f35e852047a4866c95f3daaea56e4539e53833601f279994a71ca003ea425dac9a9f8d4e4 SHA512 b56a67bdbd515e005abc4c62fe44df68b92dace6af6257328b6acbc7bc189bf0b890a748ed174c51c174fb9cb938e4035c00f08798e7ad312422d407190c6a5c
-DIST blocky-0.32.1.tar.gz 7598747 BLAKE2B ec1e457d316cf43f6d3819c03960fcf13781d92a38063dad9f298c38719785424d7bfe026203fcc81eb086bd82331bfd90f302e8c730cadcedb5b88137dc52ef SHA512 5f4f606775649f52413cb8032d5cf8d0cecca759312f4a4a465e66a336059f11537c8bd9465b3332f2bc583a3889808c27536c1c5bf44e54ab2f30ca80e53695
DIST blocky-0.33.0-deps.tar.xz 7254804 BLAKE2B 4e4216be51f55b6fd493ee3308e3e5e12b74ffb033e54ea57c4a900c42c3c658843aa26d205d8cb8743390d2cc3a1bbbd6fc040c42c8f4362b884d37927e115e SHA512 ce7e99fcc6b38d2a6ba371f9782e364a6702f3743f0a5c2b59b83cec80d372db75a7a4ac657593c7dade6302c4fcff3b12a00f493ea6849d669a57b6eb33235f
DIST blocky-0.33.0.tar.gz 7621488 BLAKE2B 08209ccd812e9b4a2c4d32430e49d9d3f2d1c9eeb7cd648ac37574955b060093dc16b6b330c8b9dfd6fbe6cbaa6c0184559e4a8491c1c20cb467b829c08b4f3e SHA512 373eecd40ee92da631d84267dd508f3686fe86cabf8a387ea679625eb47c48cfdfe9474033e839651eb4fa16aadb6f71b5078c9dc82b142d6428b9823ae06424
DIST blocky-0.34.0-deps.tar.xz 7304548 BLAKE2B 791bfbe27865992edf966ba50eafb9f7eee3634b54d23ce9fd86247b86ccc18d2afce90fb08611e1a7e708587977ae0a2950eaab6286ba3d1ebc3ad2232bc2a3 SHA512 492ff8d0a42bcea995544cf17d0546fcc81bdb931aafb106ab0239d5ddb810cb42130050973827f614503b33e3c2953837a84b0f74f6ab881606abca03beb9a9
DIST blocky-0.34.0.tar.gz 7634585 BLAKE2B 815eb009e8338f17b635aac349f52feee707cc4c86203c16ab91c852e0cc0741f682558bc2024b353f48c3c5cee42659ecb31d942091db71311b5a788076a019 SHA512 37f62d7fd8db8a6fb561f2491120c70a109db2cdfaad85bf8377c5d1d905787ce5ec5eb2324300aa6d2e4cc6ae2d574d532c99b9b51d6a8c44718b8854f7f9e7
+DIST blocky-0.35.0-deps.tar.xz 7319940 BLAKE2B 5419ad53c09b72225c0a06f46b1f6a3ce3cc6b0166245286cddf77cc7a178b7908c467faff7836b6a94c6b82ded8554e7a142d191b913385fb8600cd5e417c48 SHA512 0b5c6732204d5b3a4dcbc74f98b549cfc1342bd0faf4b82a5d95aa610d4304bc0874ea95686622d6db7cef225077270a50ba68034e9d76297e04f12f3966b7aa
+DIST blocky-0.35.0.tar.gz 7657439 BLAKE2B ef089e556f197a27e4a61fde9c28d80b41f2e33eaed4a304dd38a29371d99bcca9789452fc072fddd26e5f9886d1b16d1d36bd2ed64da89fb852e54de57d11be SHA512 10de3d5ce196bc7f412191372fdd3e6348dec7066d8c6218407891cfb49c031e13154a00cde5f03cc78cd8608475ff4672e3894624bb6ca088fe1ba1b1057c6c
diff --git a/net-dns/blocky/blocky-0.32.1.ebuild b/net-dns/blocky/blocky-0.35.0.ebuild
index dce7729f9991..03d641880383 100644
--- a/net-dns/blocky/blocky-0.32.1.ebuild
+++ b/net-dns/blocky/blocky-0.35.0.ebuild
@@ -14,7 +14,7 @@ if [[ ${PV} == 9999* ]]; then
else
SRC_URI="
https://github.com/0xERR0R/blocky/archive/v${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/deps.tar.xz -> ${P}-deps.tar.xz
+ https://github.com/gentoo-golang-dist/blocky/releases/download/v${PV}/${P}-vendor.tar.xz -> ${P}-deps.tar.xz
"
KEYWORDS="~amd64 ~arm64"
fi
diff --git a/net-im/equibop-bin/Manifest b/net-im/equibop-bin/Manifest
index 97d39e1d9a21..891da62a690f 100644
--- a/net-im/equibop-bin/Manifest
+++ b/net-im/equibop-bin/Manifest
@@ -1,6 +1,9 @@
DIST equibop-bin-3.2.2.metainfo.xml 10936 BLAKE2B 789080484296c0ebd6bf010e0f19b88d14bff16129560822186c653f64d75c3a8e9c100af77d84b52e6b98e9130ee02cbb953eab24b409b66eb1b9a39fc0480c SHA512 c969fd822079278e15b3d11a12008b6abe981901f87237bb667ece96feacdacd142204a8826de9509ccf1198baea36a78ff7b9a1a61a513ae7ec467bedc2d388
DIST equibop-bin-3.3.0.metainfo.xml 11779 BLAKE2B 0f2d1e76e384480b09903d1aaab4115472e022ca22d1158f88ba799956a43b84b081f754d42d3f37721691fca6a9c59fad2e2d6b4a0da34bdd0ddcaa7d46c4c6 SHA512 5850a83a21e99f3e9089102e6e1fe2c984dd3a2b5c3b19a418a4df6e6ea2e68df32ab78b1819bbfdc11c8d5be86d0c9b5e093e95d7e22ba26ad699b789f8a73b
+DIST equibop-bin-3.3.1.metainfo.xml 12000 BLAKE2B 76e288abf06bc568d5c6a44e33d108a91fb33ba96a955f4524466d55b6c3fc805a4c1ae8e53b8e10a2902143dc6c71edcd20fdda6e91a110a4a07ac7755cd9eb SHA512 22522419884f08f4025d4eb36e9a66a8611560591facfe71e7ee5744ad04fb81b505cd3a493db7bba2811d21347e6fe157463232cb8c46606ae49794683237ec
DIST equibop_3.2.2_amd64.deb 187373192 BLAKE2B 45482828c1fa2c45e3404a20838ec8f100d7a09f76db0d09b2ef3c43f20fc5552a3d7d235b348d763fa59bca3d0559bf553fc0fd74ec703a71909e2a629ec100 SHA512 5b252ba2a4f0782b79d16e518eaa4d98683eed7fdafec4e955688a3afd016e9065c4ca3976ea2056e3fe2b987d004362701ed6c475b8095654f1abe0e356695d
DIST equibop_3.2.2_arm64.deb 179716004 BLAKE2B fc56aeffc118d4b0ec003dc426178a65738426f7da7515e94039334a767b6ebc8b8e2d8b1140a6438c745ddc8f6c748f4e79fbfe756c34152abd8bf03fabb520 SHA512 4101e57035cb7b306d1325667ab14245f4268c42f5f280511f3a7082d437506106270821c8d5aa0028e380586a30c014cf5e23bf50ad0eee3d637d5684dcc681
DIST equibop_3.3.0_amd64.deb 205793436 BLAKE2B efc35d056c1197c72633d560e04783ed53c69650471237723d0bf837d421d43bec400287266edc9e714f2b1a2a060e2e56e3198bd83d64178c5f6289dc85124f SHA512 96fbd545db8964e8c43689c99d4cb0cda9bc71c1ae401f261ec5ce14f23d1151a8723dfaad6ec55e999f4a44536f052f33c5f9bd7431e23ba8a3a4cd7c053f6e
DIST equibop_3.3.0_arm64.deb 198704192 BLAKE2B 4babca1dd2d60a8a1a913bb3867b6c65089b268e26fe138fa6884e2f73b4622f96f749eadf074aa2970c54911e7ffd5098b4272df5c01a94d2efbbd5173d8fc1 SHA512 7796ffe7754b78d7195516d339dc5a38fc811f4960652e7bfb159f501fc222b5c85c5f5f8a8d34b03e89803e09d9a3e91b0ed345ab81bf25761a29a92adf5487
+DIST equibop_3.3.1_amd64.deb 198041924 BLAKE2B a695d2c16e1b3e1a6fbfc85f7a76d4b729e0450578d0d0db21f45ba85f71934c7bba3fcd0175009b75a910fc1eb25d9f85fb0a10f96401e7fc5eaff39f53f9e2 SHA512 f9032d6651f5d078b5641582e872082dc4c5724a426780a61dd5ff45fe25d0e785fa927226020e13e24d0f0114e474a6e8920f5ccb73293808e56cf524bcacbf
+DIST equibop_3.3.1_arm64.deb 191050816 BLAKE2B 65e814ce65a8831ac4a9b266a7dd122b634f16af478eed0e4d69efbee39f793b350852fbb905ccce75be1522f93e333966e949fbd483c4404f02c9ab2458a909 SHA512 724db674a4bab4268fe36b7bd354417eaa2a596f9da20e9323e9b1398fdad16d8b08d717bdbc615ddb31e31a4be56ffc9b4f9b17dde43fc59682f19a98a2bee2
diff --git a/net-im/equibop-bin/equibop-bin-3.3.1.ebuild b/net-im/equibop-bin/equibop-bin-3.3.1.ebuild
new file mode 100644
index 000000000000..c53e92f577b5
--- /dev/null
+++ b/net-im/equibop-bin/equibop-bin-3.3.1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker desktop xdg
+
+MY_PN=${PN%%-bin}
+MY_PN=${MY_PN^}
+
+DESCRIPTION="Equibop is a customizable and privacy friendly Discord desktop app"
+HOMEPAGE="https://equibop.org/"
+
+SRC_URI="
+ amd64? ( https://github.com/Equicord/Equibop/releases/download/v${PV}/equibop_${PV}_amd64.deb )
+ arm64? ( https://github.com/Equicord/Equibop/releases/download/v${PV}/equibop_${PV}_arm64.deb )
+"
+# metainfo
+SRC_URI+="https://github.com/Equicord/Equibop/releases/download/v${PV}/org.equicord.equibop.metainfo.xml -> ${P}.metainfo.xml"
+
+S="${WORKDIR}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~arm64"
+
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ app-accessibility/at-spi2-core:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/alsa-lib
+ media-libs/mesa
+ net-print/cups
+ sys-apps/dbus
+ virtual/libudev
+ x11-libs/cairo
+ x11-libs/gtk+:3
+ 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
+"
+
+QA_PREBUILT="*"
+
+src_unpack() {
+ use amd64 && unpack_deb "equibop_${PV}_amd64.deb"
+ use arm64 && unpack_deb "equibop_${PV}_arm64.deb"
+}
+
+src_prepare() {
+ default
+
+ # match with symlink
+ sed -i "s|^Exec=.*|Exec=/usr/bin/${PN} %U|" \
+ "usr/share/applications/${MY_PN,,}.desktop" || die
+}
+
+src_install() {
+ local destdir="/opt/${PN}"
+
+ exeinto "${destdir}"
+ doexe "opt/${MY_PN}/${MY_PN,,}"
+ doexe "opt/${MY_PN}/chrome-sandbox"
+ doexe "opt/${MY_PN}/chrome_crashpad_handler"
+
+ insinto "${destdir}"
+ doins opt/"${MY_PN}"/*.bin
+ doins opt/"${MY_PN}"/*.pak
+ doins opt/"${MY_PN}"/*.so
+
+ doins "opt/${MY_PN}/icudtl.dat"
+
+ doins -r "opt/${MY_PN}/locales"
+ doins -r "opt/${MY_PN}/resources"
+
+ fperms +x "opt/${PN}/resources/arrpc/arrpc"
+
+ dosym ../../opt/"${PN}"/"${MY_PN,,}" /usr/bin/"${PN}"
+
+ doicon -s scalable usr/share/icons/hicolor/scalable/apps/"${MY_PN,,}".svg
+
+ domenu "usr/share/applications/${MY_PN,,}.desktop"
+
+ insinto /usr/share/metainfo
+ newins "${DISTDIR}/${P}.metainfo.xml" org.equicord."${MY_PN,,}".metainfo.xml
+}
diff --git a/net-im/why2/Manifest b/net-im/why2/Manifest
index 0b73f7f5436d..807e542f9f0b 100644
--- a/net-im/why2/Manifest
+++ b/net-im/why2/Manifest
@@ -47,7 +47,6 @@ DIST bit-set-0.10.0.crate 20439 BLAKE2B 2cee6563418656bd8b7c439954398060b046a278
DIST bit-set-0.5.3.crate 14470 BLAKE2B f6525500a494236103df2b27e964bae0b2caf718156879f972b9972fa509794bcc663c2130e3d872ecadb7ead0982b415dfa4468ef12523ee248fb1bbec2559e SHA512 c5ce7ef71559706d996505e138ce95d9f008ac3375928012a36339bfec48986ad935b384e2d21fa0d505d4cf98bd3e93be15955ecd9607d253b8a276351334c6
DIST bit-vec-0.6.3.crate 19927 BLAKE2B f5bd3bb9c87fdf3b206739b74df20cab50a1a45af3a58b2642a5a061c26207884be58ef8369a3cd06dfd3615bff0ce15915fdd4b6b6f03facc4a0f86c0b7e910 SHA512 b4b4a82c80d0ff13527ae4fff449ac9c1c7bc519c013af6ea3428348e0e5b9306b725c0a13a42d7d9dcf0f895a9eee0c63695a2503eb7fd2200083c9ea3a9aa8
DIST bit-vec-0.9.1.crate 29177 BLAKE2B 1ce5c36895ab89c7fd8c58562f276455a25fa11fb12f3646146899ea9eec7f68656ce95bbe0ffaedba38833ee540ae02629a44ded860e8215237e3683f9cb8d5 SHA512 b1a7243204680439ff48cc77073478cfae8204f61d9cf5141cf7dbd1796424280a4ac923ddb555fb060bd9270566c9b0b5c8b5886e6190d31f5dda0bc5b7b627
-DIST bit_field-0.10.3.crate 11173 BLAKE2B 20432a57672e66e0b22e4d0a50f1bf09d9120960d888d05295713ff9feb15401dd4c7d587efbb322c0969b9c35b52f89d9bc5540f8c269c51eadd650f01a9794 SHA512 e68d8f996cd8a30378d7fe7fa5b8e45f6e6c9dab3052a4b13a44aafbc3eedd3e01d6604d334f8fe3b7db3045b8e2a4ce88b24c05f1a47d1061343eae10a455cf
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
DIST bitflags-2.13.2.crate 51678 BLAKE2B 8bbeb87f475eae13e691f12d3cf34f865dffbbaf44e400f99a406b487b59be9b08b3de07e7a3bfcf2a5d04d3ffd9af23386317e964d062973347279bd738ef25 SHA512 362553b15e7f09d30f9aca4c1f991f040c446aea4ae36f46ec9ea460a0cd2b98052fca4b56d2ef48147cf1c73f3f8782cb579aeadfbfdd2a22b55cd4b096022b
DIST bitvec-1.1.1.crate 225850 BLAKE2B 88b74cc4f62cb82ee47d1d7a53da8fc773ee4b024c317aba31a2d38741251a6181d8854e882ee90cec942be62b4537abdc54ce8b047f62d801e500b434308da8 SHA512 4f3bd010ca5eccc766d5611b7770d9d047d61495938694d0a6a1e163845326af51ff7c85e281b9a2f84b9a2e5d376d03fe530b82f8e4a120de9ff28a9b2299d8
@@ -158,10 +157,8 @@ DIST errno-0.3.14.crate 12002 BLAKE2B 57fd842a717086ffdcfa5102a8c52bf82106728203
DIST euclid-0.22.14.crate 88222 BLAKE2B 121a9b81b1d7e14b9f4673daebbd3e696c497c28c88cf07ec1f79637ebbefe3dea120e95656f1540c0a7e2870229a0f1f9d0f8657431501f1464e30dbbc997e9 SHA512 51580fda5f676396452fc25f5cafef561d80248ebc0efde8b311201772ce5cf8310b4158396e2283d258fec1683a4c2d1eced98a9e2f8936f70f949b68a7d8a0
DIST event-listener-5.4.2.crate 35131 BLAKE2B f371ea2c5e90040f8f46f5a32ad255a3ef92d27408032d2c768f3e7f2a56a8cbd6e1457951e58559892d87d7e0daa5296b2bda9b026a1c5dede2569ba3b62a7e SHA512 d678f550bb06283eb38d8f7b02bed2070a8a0c840ea89c4d4e8c2559f2cc85e7b525298bffbfbfddaf0a49a324b35363c9348730233176f99b5b1d698b4aa63c
DIST event-listener-strategy-0.5.4.crate 16179 BLAKE2B b516f4b14bace1dcc9e7e6ad3c7b8ed1855530d0aecd1ed480b4392bc5e414a92634ca91b73e521e0344e264da2d7bb92ba6dc260cb38d532ac5b782569f7ea6 SHA512 bd5259083e87d6fe04fd0c3ff2b5a5ac3e6550ea05bf623b3c535465a2c1f2766bb66ee73444a80075efaa59a73b064def1f034e91e64c66aff4921eefc54caf
-DIST exr-1.74.2.crate 289861 BLAKE2B 543a1866f705272c09b89098c5c07ba144d0d6b14c423525309281101da9f841dc0700cedb057204ab2e9873f63f15350226d58020832203abceb134cf1be9f3 SHA512 fe31d680a8be29f880da5f207720cae429803f926cc6d304dd967b83fa5e5aa19d25d4397f5fb617227c94eb9d8b7a25367d480406032c666cfe6bfb5bc6b908
DIST fancy-regex-0.11.0.crate 82918 BLAKE2B 55cff8d2ec3152fe46fc6ea2a6fcd13714b35a5c056739a9a15d7754badaf66873ca1093f96f61529f2b0ba0279a193754a053ed9d5dbbfcd72faef545f092c4 SHA512 7d35306e596543ac63a7b0fab145a401b8eceae08c6d7564dc46aa6f28269acabe59135b30dab20f3ffa6779f5a0d3fcd0264d8b5c19be56fd66dbf6e5c2092b
DIST fastrand-2.5.0.crate 20782 BLAKE2B 6c32deb12c2e946e8eff86a0bafc5a9c4b6ecbd3d0faa10b68fca876638766cbc4b866dfaf52014bb4a1cfe6b58189e8cbfbe2495e9cfda58f90ecbf0f821e68 SHA512 0c7369840393fbd8fe8c6fa94d47ddc8e8c709270d20c9ce81c3902ea6dc9cfaa5ee0cf2e9b5b865453748283545e206264446d905550c838c052534a6088ddd
-DIST fax-0.2.7.crate 25616 BLAKE2B 3e4c1909deee142ba8f0eaec150922b00e6d2d196d7876558a6b7867832ac587956df542ec20386c269c798b6ad04de62b23f4698ac8cea26a31da602bc9d675 SHA512 26e81e4f19ecb719efaae6fd4de447f41f1b37166758c8ca9bac5915b05dd6337d0e94c77497c6eb3541b200e167d538bf9333d85ebaad1e05ac1562bdebda87
DIST fdeflate-0.3.7.crate 27188 BLAKE2B 284998759bf6eff9122224eeb14864d2693a166c140a2fbf84a1ad195599b5c005d1128499d2fa37431a87bfb15f65edbedf9b62a47c0964f635b6fd32033499 SHA512 7418eb5e55736788fbc3637e0ff4ee84e3b1d833684862049b3025991a5449cea6131bb04911d541178b0a91e0600546b8f2b646fc468dba6e631501b202c306
DIST ff-0.14.0.crate 23241 BLAKE2B 604837d32e01001d7c6e8c938b3b88f749592b787cb0843d4d8a4ab9da0826b8bf20de77ea93002358619be94e9e9a62590140f16a9e77baadacb67f3229f652 SHA512 b7e6c12ac4fa61c0fc33eb18e57d6c7ed293594b776cc7b405d6ac18ed133d9c413d74a67cb1faa3a4c70068f206bcc79aa5a9e2f3cc0634dc46e51d77e41e5f
DIST filedescriptor-0.8.3.crate 12635 BLAKE2B 603c15f2a83bdfa190c882cb9dd6a84ef3617898fa0969f45d19a6448ce98b0a139708aed3441fc8b5de5ecd49de0b06404412a8f2e199488c4487dc5ca4e16b SHA512 1d403271dcbb846666acc8df2b2f738c35c1ff3f37af8a87c7c0cee3b73bef1b7b75885e426d27c5ec0ee1f3c4f1a31ba63b5a11eb3805eb675a399d1b5f9b40
@@ -248,7 +245,6 @@ DIST khronos-egl-6.0.0.crate 29315 BLAKE2B 929d825923bce022ce13595a0ad183a343758
DIST khronos_api-3.1.0.crate 599718 BLAKE2B 945600455c85874c37c7c395162a3e56531b417a1e6ce414386ecf31f8951fb40049604c27d719014b5379028e5da25fb9977c7487433cebcee4ccc49e00c7d5 SHA512 f9ed9e1bac648a82bc608bc7df339d3ef1db868c8ce8bda9598926839b3de9e3c11c2b45886b9a7dfe5ad6900770fd59c690bfe9a87f7c5b479945ffb8dfd292
DIST lab-0.11.0.crate 15140 BLAKE2B 28763aba9809eaf8ee5d90438ed973fbcde5861d78f51757a23840e5c1823ac30e53cfdcd88c6a8f0cc44c6b0d9ea7e8e50192f40c290c8ef1e93c9c58b35a7b SHA512 bb56ba0af097c5822f6e9ad51f0e4202ddd740953336f9da79af072feb0b40fcb18863f17df4ea8a076e5af719144037303b0fff4fcc0e5c37a018129a08fa91
DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f
-DIST lebe-0.5.3.crate 9439 BLAKE2B d3face97ef4dda75b79f9a897edf8b4dfbe76ab076bf27741151ff2b23b023f9b589336cb6dcee34cb99d65de0c55cf1d2724cae90854c72c6b81aaf73fa37b8 SHA512 525901bdf7ad9c73392e662b834fec766c8abe12069136cbb7e14101870f614436f145a7e4d984b975b8c35b528aa1a3cdbd6312dfac900075c805d8e16f54ac
DIST lewton-0.10.2.crate 68807 BLAKE2B 348af2eb2cf9a8d3e2277d5c63a34430910b7ce0c470b4aafb41c6dc2289702b5726cbdd4e390b9d5b88df594bd4d168dd0647a64342e8fd3677fec96d89b3ea SHA512 8868d1347f75099d40dfdeecb17ec1aa26540d3d9dda88ae62329e35b30cc7cc2869420592d777810a7df1e5e2c7a9518e7895f885921d68ff66ecf3417d28dd
DIST libc-0.2.189.crate 851502 BLAKE2B 05155a249c6880ca96a19bbb7569d4ca7530f544504e4ccb48db1ebca0b70d84e99c6b9532adb9dfbb3d4d1187eca22698a6b2ba6ae40bebf5d6eafdae86c71d SHA512 0cf621171ed4e6bbfeb71fb582ebf037d62ab481bc406ca2fb766bd4a8416f220a189325a0d3cb3e3cb39d80e09312516ca6335fad71b329c5fccddabedf4110
DIST libloading-0.8.9.crate 30222 BLAKE2B ea3e581dfad82c73731e7c2ca13dc608d78c4e6c517d063ecfc0fb138775ccd9c071aa2c7b539476223510dfb4aab03783fc46d610771eba21933aaed339d1ed SHA512 374d82f4516e81c0ff66f244b89b486ccba675cd7e9e65b7732242830a43caefefae2efd11c209da64d8d96755c4432aea97f2dd200969fc077545212a1175ee
@@ -357,7 +353,6 @@ DIST parking-2.2.1.crate 10685 BLAKE2B 3af8020bc27ea921d6023c14f20545f70a5a5a5a2
DIST parking_lot-0.12.5.crate 46735 BLAKE2B 36d82b682f7cd0a2c308fbc672f0c7023a3b6ba6ff0f9de75067bb26227d2ca460a09ba37a0a5b3867ed788d72a523a5900b99241bc30a67606481aaec30536c SHA512 432639d4a14acfa20127f03741e1101fa591fc63048b0b0369b44ad269d3dcb6fbab7947eb9995c7948f6fba90245abf82154a70df2b7a99aa7365b0b88666ca
DIST parking_lot_core-0.9.12.crate 34110 BLAKE2B 4c1b3fe163c843c05effee9cd0a0461e39875040298b8a8b880c05a7db038c55ed84d1e4534417fa0e7a0395e06200d909fc16031514e3ba0ec03f011a86598e SHA512 6ce29df4aa9eb0ccfe9020b066832f2ba27afe41a48792d935d0051a595367f71d50f6862b921d91312a1ea80f087a416388d4b29a11de17373483e529f12d8d
DIST password-hash-0.6.1.crate 16195 BLAKE2B 6f33c14e4a2410d3121d989e8411e2c3087bc957ece9153a19a7b7acd5560e91321868bb85b0f655d91c730b9849140a17c9272048a115b3ba907e2776e39bd6 SHA512 9559913e3b03f466037f54d2684b31f18e8f30416964c1f6696d26b10a2ea10a46c63f2451b50246dbbfdf88696c24a1943b6735097380ec89a4dacf2a6984fa
-DIST paste-1.0.15.crate 18374 BLAKE2B 69ee7def55e658a9aa72405bad62325e8d6021a4989fbf11c88d1bf05fbac520f7b04d467bc3c6eb45043a41119f65aceecc4a6a1418a9192d73f33134545062 SHA512 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4
DIST pastey-0.2.3.crate 20361 BLAKE2B 0d2e35bd1520aaba59f9f16994baae1f01d516952a38c8898281688a210c924462b0aaca0881e59e3856198e895ec97bf3f0a18cab690fee4e2d16960c6b14b8 SHA512 e5d686211c7f501d88fecdba57283c56f08e06853261a958a2a7904171f001b1a59208d8a0ff0500875f0e0d41367febad24a2786283af0a4b71e7c6ee2afc66
DIST pem-rfc7468-1.0.0.crate 25267 BLAKE2B 9532b29ede71f21f9ec42c82be7b2a1c6a45dcb80d9fe027adbe3a4042ca8477ba028853acb6ceb0e5e7dc5e9335f8517cd8f4a833b6c3b7deb8d578b78bf75c SHA512 be6920c67b99333705fcd1f5dff0f6f644ae6f5fbecccdb8717c63fa9dabe26144297a75917f668122debcfd65d3b9f47f06c5065802100b6c9bf12735c351d6
DIST percent-encoding-2.3.2.crate 11583 BLAKE2B 58925243b23a6a1decc3d92c4ce17d06af5206844ad283b49e69e523ac0db2c36c3f4407af4104ab92c029c2581c228bdf416a054a2531191a9e912448ba4408 SHA512 495b4aac88a7a46420811671d6bd82817e4eb2fe51d5068d11c5b50d0d927895d54c855cb07d4f4ad5a2d42b22f9419ad0183c14781dbfa240804fd49761035a
@@ -398,8 +393,6 @@ DIST primeorder-0.14.0.crate 29009 BLAKE2B 19eee0fc6281c56424342e6aa37bb0ef70cbe
DIST proc-macro-crate-3.5.0.crate 12709 BLAKE2B 693372efbded5ff45bfc4bd2dfe4bbc28ef939485e88b57076d92c99fce2824dca88373b1ce9e6517e313f2402885cf470028cf7e619eaa291519b8eacf697d5 SHA512 8848a2234e503414f9e5e90e7ae6e8141b743205c1bdf31cc5211781414c8619b617bf78b61d880178fa1d7e0d1cb172ac03695d9f8c611619e953a1fbd0353f
DIST proc-macro2-1.0.107.crate 59588 BLAKE2B 91df0c573e3e1f09c1aeedcad0381cf18186d72c3d50b077b1d232fbb67d1c87ed09f3c6dc515140041c2dab5ce7706042c8235b93099df7d1c962d4a3a99160 SHA512 c109d5509624a57156e0eae22a3aec89a1a163623e8b4e376a13d872a46e4bf6855ee3cd4428c07cdf5c22f2284b6ce755f9cc7e075480e4587ce4f2d40fa903
DIST profiling-1.0.18.crate 11931 BLAKE2B 658fb4b5b013f74fcfcc2a6f70fbf8d26258966110d0738ca156e9fb30a69ead7774354df5a76f7e46bd9807bca7ddaf4e55a306c4c5674bfebaf7d221696e65 SHA512 2775a751e4ce838da6958f2ec8c4ff15756b38e5ac6d4d0463eeeb85bcbb840bcb1bc70f5be05128f3e9f7e664405ba0d375b1703c66a270b261513b3550c1a8
-DIST pulp-0.22.3.crate 147931 BLAKE2B 0fc657855bb94d1945d4e48ce75e97f724060655f2345c7489652f2797d18a4096a2969ff347b9938e48910fcb1341609aa173d02f67cb0dc298e9d18ce46d81 SHA512 a0ab49dbc9b3d17a930f53f615878a6eb8de7df6d89f719aeb4492c2dd7135966ca14237f34b7bbd41dcedfdc28b28e593ee7d6619a5ba09a839678d8947ce4a
-DIST pulp-wasm-simd-flag-0.1.1.crate 2308 BLAKE2B 27ab9452da4c185a2e5dc5b57d84d2f05808dfe234d30de0097b432cf4a550cea299bd99c0177111177111af8c726f903f93bd15f89f6ecb5b6ffc82f3fe1777 SHA512 82b816b4a6f204adf63d3c1dbfd65d7f5af8d6f19f01d2a0e4987369af999d034b3444694300843dae6a93004c53eab53d06de5d445865c3b43347a804d90631
DIST pulseaudio-0.3.1.crate 781833 BLAKE2B f8967367f85dcea3e79da8c253c041b3d915eb48da70137a006f8945db2519e872e5bcb097e8a04940aff324777b0a5d8cbc2968097c2681784c55c5e2999ba9 SHA512 3e032f9aea0bc30f0fd88c7612e2f6f0e3f5478109365bb244a459d602daa130251889325db08ede244e46e01f0a1090aaa0e38fe5acee6cfd889dd303aa8e89
DIST pxfm-0.1.30.crate 879463 BLAKE2B dc0b0d2eabe7e6bc00e6f6235a0d94b87350430920037971cc88d40a4ce9a8ee6ca82b14f933f36d44f73410fea99eb80e5805e9f6167266dfc49d203890cc9f SHA512 df9ad5da9fa7231e30aa62af5a34965232add72e5d4dd19b525b7932056592d25a297c89ab97c062b51fe6480755fe9f5d62bd016b3fb293843e4837ca7c98ed
DIST qoi-0.4.1.crate 71135 BLAKE2B 8b4e2ebfdd6df425efb1326912e8db02258e570320fdeef465aa8b03f3248cd811bedaa17c15902f851083cc1db06a2b500aeddf734345eb25af0d835300b2f0 SHA512 884cde33bfb2d02716daa5f309890093bdb7b3f53eb06aca0b6eff0b7a66fd67cb8b9acd510d19e3ae7718930add971e871532a1605e4989639bf72f59329377
@@ -425,13 +418,11 @@ DIST ratatui-image-11.0.8.crate 6000535 BLAKE2B 4a6ea53a05581bfae2711cce6b1163fe
DIST ratatui-termina-0.1.0.crate 15330 BLAKE2B 858d162681c3fe7e008e9e738cd603d695c97850050512b07e81888f7f21bc8f72b7e310fde233a818ea6d9d9f25f6d29a872d7302dc0290c7a2b71aa561555f SHA512 33cb6e32867be4a02e2534bc5bcd92c1d68781584f4aa737d678f363f59c11663bd66507200f2d3082b04b666c95fc76fbe9352e8d39b41e1a1d53c36d8849f9
DIST ratatui-termwiz-0.1.2.crate 16739 BLAKE2B 8b27cd16df983d35aff584de4bcc45ce2d3eb5d4c9798b452fd5c46b95fdf636254331c9894df905d31d2099afb357e47b8ee357d5bddefc2c79a5a4276feac7 SHA512 bf6038bfde8a77b9bab539c3adc1ddb530d0e9a67ab6143bd06d9639dca85de6cad2417cc368c9a6518324d76a0b0d838d680e8a792ee2682de3f729dae9f964
DIST ratatui-widgets-0.3.2.crate 230487 BLAKE2B 069fd91c04a6a0515851c10b755a659e9564ae23e49944bee1a2764539db35cd9ceac3b33aecbb10894a90db678a55d81d6a12337ebdd5a9e328e17270f7b70e SHA512 419069780995bab0292b44495ee681b6c7fb381ff06b664f8671a0a3a6900d8e3179a6a4a062435b1410e2159d51e6dc05a4b07014b484152a4b03eb81d4ec03
-DIST raw-cpuid-11.6.0.crate 117569 BLAKE2B 4887fe67eb72cf5d5b7509704144f65ceae407b4ab9382034f073dd636d2c710733526d8d0459c040bf445a58574bc790cccdae37890a060a6e45e6804023b2d SHA512 41d837395501cd7dac1afb48e6aea5150141b60cbae5c63dd056cd4a79b2f1f73ed507e5084e53177f7c4f92859937968a2d54277edee22137391319c5e2884c
DIST raw-window-handle-0.6.2.crate 20234 BLAKE2B 9bc9b1188cd3ee8d799d45908de10f98a4069850e7855c1f7db86ffdcf49661f8ff1294da2f542fe9c09a3e8551bb34e2702f6a88f85306bcf8a36e03bfb738c SHA512 41020ee56615607aa0cd75a3f09348f3255abbf8705d68f001b3f2d7ecdc6c4f5ee060e97c4a2ca08607892e49d2ef009ea4f3b4f3c6256e593c6b66f52ffb1b
DIST raw-window-metal-1.1.0.crate 15277 BLAKE2B 9e645c1814d1504821341a7d816159c8702064ddd76583cd6d831e8344144ae3c58c66d04f9008599a293892f1fb5d92bbe9ec96ce849136c13e171607585535 SHA512 2cd0ae94ee0c45274a443224c0828f4a4a6e0049c9cef69b4d36d68df1594befa9d5385832b97ce78f3d434fdfd14da7872bde9e966264d6567f49f921f88f37
DIST rayon-1.12.0.crate 183391 BLAKE2B 97807936988b73fcd72574a9677ce0364e67f5932cab13e137bb3d285a14c366d767bcb7d1fad9733be7b022c2bfef7eb8131555966470d53f41b85414915557 SHA512 adad1851620e8f4652449aeb110c62741d454818910cb6aebc2bdf71672b8b3e1371a0045b1e2d8faf2a1a638558220fd2b7e3dd3a7b8178441dacf2d0bce2cb
DIST rayon-core-1.13.0.crate 73151 BLAKE2B 31112b2f4ff2a0607daced97e234c6cad1356c79d21c7493f3b19b2747083eca85709d5548c9214bb5186a7e2e5fe0def27c45d69d597cac976bb0956da2aa70 SHA512 dce0adda8f5858d351f628f50168d9097ecca437b77fc0c63ad18fb8b3fcc87f2f513cbcbf57606862e30e81f293a05d245073be75292d1a536d6a4d3e2edb9b
DIST realfft-3.5.0.crate 16916 BLAKE2B ca221fdabaaa2e739cc440c1698e6fc78c4bca5bab49a1ababa81a296a00ccaef8806af94a15afd2cf0ef35c7dda3278b70f70dedf1a28070b134bd7a959628d SHA512 026c11b11317c9f1610be7e1a98a07a754c433a7ea73df3a3162c7910d8bf4163c5f5b7c72bf0dfa914867318fd0c54cc08b08d18de919be28e0e013c68c8ae6
-DIST reborrow-0.5.5.crate 3789 BLAKE2B fe9dc9308f9ba42779d46a4e329068f75ca401ad17ff497f0f04710eed3392a11c316e76223b6e0b6f3d5ddee5e2382acc8307de930f17ecff36e47570b3a58c SHA512 86323b500ecbe862634f5a85d494bfb8b67398a3d704882e29826c47ec03d496f3bc4d8b35d55b530f6034a750c716e2628283bb68fa4ea612bda5f963f5c9f3
DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
DIST redox_syscall-0.5.18.crate 30747 BLAKE2B b9507a055aa34178982f0b5861602d2e11e13c2604f905c9b747c39aa6c45f06e60cf5c9d17d914712a815fc5e9ad75bf648c300e7265fd4afbac0b0c207afa6 SHA512 69f1cfb215666f1243616366711dbd8cadd6bb411121f48f6e4ffd7b25479efa6f900dd072d7cc6e6fb8130d95cdb42f4c0cb4ba9e05b09b1fa676ca32932101
DIST redox_syscall-0.9.4.crate 27944 BLAKE2B a3c20fa0b285997d745db21910dba354423003b10fffaae08db5e4ba69f521761f32f91b4d3a4e76bf0207d92e9db8b452392a2c0d8837d30747954fc6fb7ada SHA512 f651a185ce9b78e0d131c51fc9d9ec4bd1aec0bee6bcb168cb10ec12e1aac5eb651330ed5e5914c466f667442253db89a7d6d4e3620b00f900cee21aa8fdbe56
@@ -518,7 +509,6 @@ DIST thiserror-1.0.69.crate 22198 BLAKE2B fdd8ca8c8ca78702377d0bf7b2534405190182
DIST thiserror-2.0.20.crate 28969 BLAKE2B 08c3d1822d7f570ffd7ca21f8cf4e1f6de2c72ba7e69e136ed8bd8823e8eeb031a577b55471ef8efb8b92c41b6c080819363c6e03630a7ef9fb868548338261c SHA512 c58119059a2a204d96876b865744397b6b8a1835ddde4b4db1870b4dda28de0c583f700663723ba456d8ffa3b3aab423a28c945b8b97d13e66313d094f4a7e46
DIST thiserror-impl-1.0.69.crate 18365 BLAKE2B 51663251ea6ec99c59aec35fe73c5f9760809d6b6b7eaa8ecbc8f6939acdc4d0ebc11f9034d9204dde7bd689d5e8303ae0be86e298745e9ef96825bf73453a08 SHA512 579eb796c8885feb01d27638862823acd96c79440655bb444c3445ac00121852603396ce7439aed617c0a0ac69f62102167fde5845411c906997574a46d6d9e3
DIST thiserror-impl-2.0.20.crate 21436 BLAKE2B 25ca3a4a226c9f85fdf83db1d45b4d82c392859ff64944f58e7453ee1a05afe029316d54dec7f4fc6cb303adcb892e51257628cd4f3906c8bde45c723eb7c44a SHA512 080fd52a0248094a4118fd27fb1155efbebd2d7a478fdd821bbdab85fae2a094fbfdada68425af506fc510acd711401e75b9321bcfbe8af0d75b46c2341d1768
-DIST tiff-0.11.3.crate 102026 BLAKE2B 57e97683d8a8b63ac1cd0714c384c40ba610d31324faf7d005380af6fa20ad2b319fb91c7708102d1d237e852741d9a769dad134d72e3db9d73169a4ef50079d SHA512 8ef526d4859073566b0b49b9a90a2fac8628588be3e939093000658d242b6631a6eae710b49382d0b195f06ca56402688d30c49e349815f88653ee79ce9d7213
DIST time-0.3.55.crate 279955 BLAKE2B 7efb15881122078e5d9c905935aab97114e0a0b981716e1d91c327568fe528c77bd8834f111862c57943084ece60d79427d749af6d2c8114b1ac72ea10293f11 SHA512 bdb98700d85e557c9d8af939c4cc7cf1bc9970359a6efa727962f31929569dc153f117c1604693d45d5d5af62a1176301600668f41f339ef0567bef3661a1fdb
DIST time-core-0.1.9.crate 10320 BLAKE2B 434739a629f70ae2571d715ce1705d83126d8ec22f84ebac35df4e912225d8236fb87d7f9f17f1146dda1c5eae64f2057d61e85d22372d8432e83e719bb7e964 SHA512 6ddd5d228fbb1303ee0ee8c59aec19f6bf0f8c481daa2567a4fec68ef79273e19b7ae23df8b331d87384e5e3cf0be0cafb5fcdeb1a6bb780c063f5cc8c95f4dd
DIST time-macros-0.2.32.crate 33664 BLAKE2B cccbb96eb036ca32ea1079fab5a21b75d21bd347c280e8ce1aaed390eff0610efa842d75a2bf4b4680f860c06c6b83ec31cb6f97bc5833f914470c04234d096d SHA512 873701a3ab753df8334a963d4693667e56b7f46bbd1f0371f9f76c89a6c2851aa640ff573225880c67141e2545e2d50de8d7a3492a9b44b786ee421d9b7cede3
@@ -598,7 +588,7 @@ DIST wgpu-hal-30.0.1.crate 466434 BLAKE2B 94f0110ffb73836d47aea4625f5136d5145776
DIST wgpu-naga-bridge-30.0.1.crate 9624 BLAKE2B 9bacabb275117e450ce4a102a4a004515241e89c5e62b5ce6b09d422253ea66bd792f1206a08155c6d277b8469a5f4b3d169ea020f73bf5259e2b97590c2ebbc SHA512 f7473769a4b993eab5ea281ff82d862af8ec262c713d7134f3af8b9bed34b9e7d5df06458825ac29c252e42af9848db02dbd61b72911007a4358030ee8a15f33
DIST wgpu-types-30.0.1.crate 144370 BLAKE2B b92f4f4d5b8aa4394f274b5995accf02595e03419b2ba7974b403215427d84d652aedda36f5d1f5fc75da85c9126eae8082081694728d64d3afb2f441ec9bb98 SHA512 cb701e47ef4fd630e60706372b3234e43e1c4553e1b0f3d5b4d15dd0529fcefb1975823936b38a25e2afc463ccc572a35fee4d5f18be96d2803d207ff2319a10
DIST why2-1.5.2.crate 47755 BLAKE2B db40ad53482fa9e8015cc23d89c8cc92aca3e425e75a489ccacb15c2e097f4cdf247e7522ded3cd09e97db214f7be68474ef217474b1666e07a8a3249971c892 SHA512 33b92ea813fa6dc3ce11184a3de903cee21f786b9cd92bd10e3c09f87c9a2fc5fe56676ee9c3319e3f3ead2b7fe33366e518ed5c59604a0d1a7461637bbdfa6c
-DIST why2-chat-2.1.4.crate 503455 BLAKE2B 0001590720e86c72dfaf9cb623b8b4725e11a10d6157497731a9b3ba5d696a3f43a33bb0a653a453f422e98cfc201cc8e89487203ca5a6f19670a75ea7a4e20d SHA512 b596977cce89e1ba7e945ee0e2ef03333de160f12e4659437225910e318891627cb17d0c74e2fc0dccae37f4b98ae4a9c0e91f27ae8e6b3274f6d3c188d1be79
+DIST why2-chat-2.2.1.crate 511498 BLAKE2B 6dcb94a7636500cb68097a84b7fb54ff7164be684ccd918e533edecee0c680d556085cadd42694f9db4f0c6ffa8141af99e7c2fe82138003f64e817735dadb72 SHA512 709ccb07d6f00d30c3676913b1a50662e16162a9c83764c521ec76ac1d885dee3477e39c5130f3450ae65f7660790fcf461d882f3b10efa16bc56683f825286a
DIST wide-1.7.0.crate 209625 BLAKE2B db8aff638cdb21cf0625c2eae07df7df05165a739e018b2a3ee306f22aaca7c47b3aad15d04099596c4be080a375d07491d6bffa50a9d75ff308355d4ee32983 SHA512 35725289b981f50c5f2711296c89fd0a4833a319646d1ac435f770c1b582f9001ab846615b2c1e3f1cd73999e8327b5e69d3001c476345e4a92b887726072e6d
DIST widestring-1.2.1.crate 90350 BLAKE2B 32222a2c459ae7908074a19831b8e79f81c831f1f43ec1af95337f439dfd260f21da983b69345590f67dabd99419096e0d8a9935146ecf5af04538ec12573aeb SHA512 ca3b9557fa14213cc85b682b2970f2196cdcc512423613f3ae2156830efbacde1da22fbf24385119b0e41584d2e19b237ad8d4301678f21e1be70f6eae781f09
DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
@@ -670,7 +660,6 @@ DIST zerovec-derive-0.11.6.crate 23102 BLAKE2B 879195255bc944ccfb1a711d5f3056ef2
DIST zlib-rs-0.6.7.crate 215740 BLAKE2B fcd25c7ab9b2b3b19db673178be517c51e6e700053944d9bec05b4f13b407b395cd7ac6c4a439083807fc155bf920ea4bc6995a5ab8dc348ce427c40993b6ad1 SHA512 888011fc16d3dcf245b4d05ef841ca7cf06b69cc58d2cc2f6c17f668ffcd7424dccdbe1912697ba67602ffa5434d2d08deee0d624123461956e20020c703546d
DIST zmij-1.0.23.crate 28612 BLAKE2B 5b1fda50a365ae6bba79ed8444f15dd184d0ba0d7b993c8f119355029b5d7cf6a4fe5d9f36eec722221725ed747cad5108eb707ef14920670ffa45843edcbfec SHA512 12f8d9726b232b6be68cefbe294505debb7a98715c11b95d89682a596fe1a02d9d7b2a6cdba97f2e8d47fa947ffbce9506a18568f2cab749ca3d03121e5fb66d
DIST zune-core-0.5.3.crate 30419 BLAKE2B 583101b7c24a99da08dd89af00f4884c987e0ea0331911f1dadc46bad5cc57a77741f875feb5c0303efaf110fd52a066845e624ac514897c0b388ab9f17c4aea SHA512 65b10df9966e1f5418a966337a1f58ebfa9b0bd633035fddee1ea140b097c340469afb35766d5eca42c181b814ba4ff48d71123d4624afef75a70d2d6559b4c3
-DIST zune-inflate-0.2.54.crate 37973 BLAKE2B 8bdb532fae0da1d61fc9fc72ea72a9339116e1952e76ba7376f0ba0ea65101b88cd1e4766f516f21028a5ea3459e5590e7a54175a47f136cc572ed9abec2da2f SHA512 0de30f310121c1fed42612b7bcb50631d699195a77c7ce4094729f502e63d1ae38034d6054d95b6825e7e9a2afb7bb614ff123e12736163fee04a46ef1dc56bd
DIST zune-jpeg-0.5.15.crate 88879 BLAKE2B bfead22cbcf44efc5b44374a1c665d2101af5fac59830c23f743e83ad6da21235767e257c4b75b802ed87b147e75654d59adad9035d8426cf98b78184503d60f SHA512 99f072129bc11873b25886d73392012a08636575c85ed9237fb8ad247a66ff188b2bd67aa303931f94501735c24ceac24d414186e7ef5010a639f08fbdc855af
DIST zvariant-5.15.0.crate 99873 BLAKE2B 3f0f0e00df137cd9e5ae259878d324dea85123f67cea1199284dcd5db4a8562e8902edfa66e0a1ff5018300f75f5c62efecd2c307bedb825a8793bbf37d7e3b7 SHA512 562053339fa25e0dd9a9e81e8286de2c0aade0dd8b5c49540f269c7f6e842a0c8c1cbc2b54110e6c04bac06f1c351ca5152e647b0b95d8fc305ce8e1dc1e29f5
DIST zvariant_derive-5.15.0.crate 10697 BLAKE2B fdbc0f2886ffe401271dab9de6d78fe823ee905d841bb3f45892c4fec3711747224bcbc4fe5c8132c2082cd1cc867115f1c56b3e93846bc5f5050d2049f23f75 SHA512 5c7f35f7f6320d55a8ebaf46dff8b519aff7030562373109f40b737db16fafb3b85757354fc37e3f336f5c561066642f14f73465ad8d9ccb3f5729feb8179271
diff --git a/net-im/why2/why2-2.1.4.ebuild b/net-im/why2/why2-2.2.1.ebuild
index 9be91063e06e..90f6f91c1dff 100644
--- a/net-im/why2/why2-2.1.4.ebuild
+++ b/net-im/why2/why2-2.2.1.ebuild
@@ -50,7 +50,6 @@ CRATES="
base64ct@1.8.3
base64-simd@0.8.0
bindgen@0.72.1
- bit_field@0.10.3
bitflags@1.3.2
bitflags@2.13.2
bit-set@0.10.0
@@ -165,10 +164,8 @@ CRATES="
euclid@0.22.14
event-listener@5.4.2
event-listener-strategy@0.5.4
- exr@1.74.2
fancy-regex@0.11.0
fastrand@2.5.0
- fax@0.2.7
fdeflate@0.3.7
ff@0.14.0
filedescriptor@0.8.3
@@ -255,7 +252,6 @@ CRATES="
khronos-egl@6.0.0
lab@0.11.0
lazy_static@1.5.0
- lebe@0.5.3
lewton@0.10.2
libc@0.2.189
libloading@0.8.9
@@ -364,7 +360,6 @@ CRATES="
parking_lot@0.12.5
parking_lot_core@0.9.12
password-hash@0.6.1
- paste@1.0.15
pastey@0.2.3
pem-rfc7468@1.0.0
percent-encoding@2.3.2
@@ -405,8 +400,6 @@ CRATES="
proc-macro2@1.0.107
proc-macro-crate@3.5.0
profiling@1.0.18
- pulp@0.22.3
- pulp-wasm-simd-flag@0.1.1
pulseaudio@0.3.1
pxfm@0.1.30
qoi@0.4.1
@@ -430,13 +423,11 @@ CRATES="
ratatui-termina@0.1.0
ratatui-termwiz@0.1.2
ratatui-widgets@0.3.2
- raw-cpuid@11.6.0
raw-window-handle@0.6.2
raw-window-metal@1.1.0
rayon@1.12.0
rayon-core@1.13.0
realfft@3.5.0
- reborrow@0.5.5
redox_syscall@0.4.1
redox_syscall@0.5.18
redox_syscall@0.9.4
@@ -525,7 +516,6 @@ CRATES="
thiserror@2.0.20
thiserror-impl@1.0.69
thiserror-impl@2.0.20
- tiff@0.11.3
time@0.3.55
time-core@0.1.9
time-macros@0.2.32
@@ -675,7 +665,6 @@ CRATES="
zlib-rs@0.6.7
zmij@1.0.23
zune-core@0.5.3
- zune-inflate@0.2.54
zune-jpeg@0.5.15
zvariant@5.15.0
zvariant_derive@5.15.0
diff --git a/net-irc/znc/znc-1.10.1.ebuild b/net-irc/znc/znc-1.10.1.ebuild
index 6113151c752a..210c56790ef0 100644
--- a/net-irc/znc/znc-1.10.1.ebuild
+++ b/net-irc/znc/znc-1.10.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{13..14} )
inherit cmake python-single-r1 readme.gentoo-r1 systemd
GTEST_VER="1.14.0"
-GTEST_URL="https://github.com/google/googletest/archive/${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz"
+GTEST_URL="https://github.com/google/googletest/archive/v${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz"
DESCRIPTION="An advanced IRC Bouncer"
if [[ ${PV} == *9999* ]]; then
diff --git a/net-irc/znc/znc-1.10.3.ebuild b/net-irc/znc/znc-1.10.3.ebuild
index ea85d04bdb52..988ce39dba8e 100644
--- a/net-irc/znc/znc-1.10.3.ebuild
+++ b/net-irc/znc/znc-1.10.3.ebuild
@@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{13..14} )
inherit cmake python-single-r1 readme.gentoo-r1 systemd
GTEST_VER="1.14.0"
-GTEST_URL="https://github.com/google/googletest/archive/${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz"
+GTEST_URL="https://github.com/google/googletest/archive/v${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz"
DESCRIPTION="An advanced IRC Bouncer"
if [[ ${PV} == *9999* ]]; then
diff --git a/net-irc/znc/znc-9999.ebuild b/net-irc/znc/znc-9999.ebuild
index 0e7cbabd7391..cc815960fa3e 100644
--- a/net-irc/znc/znc-9999.ebuild
+++ b/net-irc/znc/znc-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{13..14} )
inherit cmake python-single-r1 readme.gentoo-r1 systemd
GTEST_VER="1.14.0"
-GTEST_URL="https://github.com/google/googletest/archive/${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz"
+GTEST_URL="https://github.com/google/googletest/archive/v${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz"
DESCRIPTION="An advanced IRC Bouncer"
if [[ ${PV} == *9999* ]]; then
diff --git a/net-libs/nodejs/files/nodejs-26.8.2-add-missing-funcational-inc.patch b/net-libs/nodejs/files/nodejs-26.8.2-add-missing-funcational-inc.patch
new file mode 100644
index 000000000000..6703d84fb87e
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-26.8.2-add-missing-funcational-inc.patch
@@ -0,0 +1,10 @@
+--- a/deps/LIEF/third-party/frozen/include/frozen/map.h 2026-09-17 09:24:47.919282104 -0400
++++ b/deps/LIEF/third-party/frozen/include/frozen/map.h 2026-09-17 09:25:29.232765225 -0400
+@@ -29,6 +29,7 @@
+ #include "frozen/bits/exceptions.h"
+ #include "frozen/bits/version.h"
+
++#include <functional>
+ #include <utility>
+
+ namespace frozen {
diff --git a/net-libs/nodejs/nodejs-26.8.2-r2.ebuild b/net-libs/nodejs/nodejs-26.8.2-r2.ebuild
new file mode 100644
index 000000000000..8c52cc3a9939
--- /dev/null
+++ b/net-libs/nodejs/nodejs-26.8.2-r2.ebuild
@@ -0,0 +1,317 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CONFIG_CHECK="~ADVISE_SYSCALLS"
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit check-reqs flag-o-matic linux-info ninja-utils pax-utils
+inherit python-any-r1 shell-completion toolchain-funcs xdg-utils
+
+DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
+HOMEPAGE="https://nodejs.org/"
+LICENSE="Apache-1.1 Apache-2.0 BlueOak-1.0.0 BSD BSD-2 MIT npm? ( Artistic-2 )"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/nodejs/node"
+ SLOT="0"
+else
+ SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
+ SLOT="0/$(ver_cut 1)"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~x64-macos"
+ S="${WORKDIR}/node-v${PV}"
+fi
+
+IUSE="cpu_flags_x86_sse2 debug doc +icu +inspector lto +npm pax-kernel +snapshot +ssl system-icu +system-ssl test"
+REQUIRED_USE="inspector? ( icu ssl )
+ npm? ( ssl )
+ system-icu? ( icu )
+ system-ssl? ( ssl )
+ x86? ( cpu_flags_x86_sse2 )"
+
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND=">=app-arch/brotli-1.1.0:=
+ dev-db/sqlite:3
+ >=dev-cpp/ada-4.0.0:=
+ >=dev-cpp/simdutf-7.3.4:=
+ >=dev-libs/libuv-1.52.1:=
+ >=dev-libs/simdjson-4.6.9:=
+ >=net-dns/c-ares-1.34.8:=
+ >=net-libs/nghttp2-1.70.0:=
+ >=net-libs/nghttp3-1.18.0:=
+ virtual/zlib:=
+ system-icu? ( >=dev-libs/icu-78:= )
+ system-ssl? (
+ >=net-libs/ngtcp2-1.25.0:=
+ >=dev-libs/openssl-3.5.8:0=
+ )
+ !system-ssl? ( >=net-libs/ngtcp2-1.25.0:=[-gnutls] )
+ || (
+ sys-devel/gcc:*
+ llvm-runtimes/libatomic-stub
+ )"
+BDEPEND="${PYTHON_DEPS}
+ app-alternatives/ninja
+ sys-apps/coreutils
+ virtual/pkgconfig
+ test? ( net-misc/curl )
+ pax-kernel? ( sys-apps/elfix )"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+
+# These are measured on a loong machine with -ggdb on, and only checked
+# if debugging flags are present in CFLAGS.
+#
+# The final link consumed a little more than 7GiB alone, so 8GiB is the lower
+# limit for memory usage. Disk usage was 19.1GiB for the build directory and
+# 1.2GiB for the installed image, so we leave some room for architectures with
+# fatter binaries and set the disk requirement to 22GiB.
+CHECKREQS_MEMORY="8G"
+CHECKREQS_DISK_BUILD="22G"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-26.6.0-gcc17.patch
+ "${FILESDIR}"/${PN}-26.6.0-format-cstdlib.patch
+ "${FILESDIR}"/${PN}-26.6.0-v8-climits.patch
+ "${FILESDIR}"/${PN}-26.8.2-add-missing-vector-include.patch
+ "${FILESDIR}"/${PN}-26.8.2-add-missing-funcational-inc.patch
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != "binary" ]]; then
+ if is-flagq "-g*" && ! is-flagq "-g*0" ; then
+ einfo "Checking for sufficient disk space and memory to build ${PN} with debugging CFLAGS"
+ check-reqs_pkg_pretend
+ fi
+ fi
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ linux-info_pkg_setup
+ # https://github.com/nodejs/node/issues/62676 - Can't build Temporal with system ICU.
+ if use system-icu; then
+ ewarn "The ES2026 'Temporal' datetime feature/object is not available when using system-icu."
+ ewarn "Please consider whether this is desirable for your use case."
+ ewarn "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal"
+ fi
+}
+
+src_prepare() {
+ tc-export AR CC CXX PKG_CONFIG
+ export V=1
+ export BUILDTYPE=Release
+
+ # fix compilation on Darwin
+ # https://code.google.com/p/gyp/issues/detail?id=260
+ sed -i -e '/append("-arch")/{N;d;}' tools/gyp/pylib/gyp/xcode_emulation.py || die
+
+ # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
+ local LIBDIR=$(get_libdir)
+ sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
+ sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
+
+ # Avoid writing a depfile, not useful
+ sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
+
+ sed -i -e "/'-O3'/d" common.gypi node.gypi || die
+
+ # debug builds. change install path, remove optimisations and override buildtype
+ if use debug; then
+ sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
+ BUILDTYPE=Debug
+ fi
+
+ # We need to disable mprotect on two files when it builds Bug 694100.
+ use pax-kernel &&
+ PATCHES+=( "${FILESDIR}"/${PN}-24.1.0-paxmarking.patch )
+
+ use ppc64 &&
+ PATCHES+=( "${FILESDIR}/${PN}-24.11.1-restore-ppc64be.patch" )
+
+ default
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ # LTO compiler flags are handled by configure.py itself
+ filter-lto
+ # The warnings are *so* noisy and make build.logs massive
+ append-cxxflags $(test-flags-CXX -Wno-template-id-cdtor)
+ # https://bugs.gentoo.org/931514
+ use arm64 && append-flags $(test-flags-CXX -mbranch-protection=none)
+
+ local myconf=(
+ --ninja
+ --shared-ada
+ --shared-brotli
+ --shared-cares
+ --shared-libuv
+ --shared-nghttp2
+ --shared-nghttp3
+ --shared-ngtcp2
+ --shared-simdjson
+ --shared-simdutf
+ --shared-sqlite
+ --shared-zlib
+ )
+ use debug && myconf+=( --debug )
+ use lto && myconf+=( --enable-lto )
+ if use system-icu; then
+ # No Temporal support: https://github.com/nodejs/node/issues/62676
+ myconf+=( --with-intl=system-icu )
+ elif use icu; then
+ # Full embedded ICU (Temporal works)
+ myconf+=( --with-intl=full-icu )
+ else
+ # Default embedded subset (Temporal works, saves space over full-icu)
+ myconf+=( --with-intl=small-icu )
+ fi
+ use inspector || myconf+=( --without-inspector )
+ use npm || myconf+=( --without-npm )
+ use snapshot || myconf+=( --without-node-snapshot )
+ if use ssl; then
+ use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
+ else
+ myconf+=( --without-ssl )
+ fi
+
+ local myarch=""
+ case "${ARCH}:${ABI}" in
+ *:amd64) myarch="x64";;
+ *:arm) myarch="arm";;
+ *:arm64) myarch="arm64";;
+ loong:lp64*) myarch="loong64";;
+ riscv:lp64*) myarch="riscv64";;
+ *:ppc64) myarch="ppc64";;
+ *:x32) myarch="x32";;
+ *:x86) myarch="ia32";;
+ *) myarch="${ABI}";;
+ esac
+
+ GYP_DEFINES="linux_use_gold_flags=0
+ linux_use_bundled_binutils=0
+ linux_use_bundled_gold=0" \
+ "${EPYTHON}" configure.py \
+ --prefix="${EPREFIX}"/usr \
+ --dest-cpu=${myarch} \
+ "${myconf[@]}" || die
+}
+
+src_compile() {
+ eninja -C out/Release
+ # There's just a plain make target for the FFI tests, and it doesn't support ninja.
+ use test && emake build-ffi-tests
+}
+
+src_install() {
+ local LIBDIR="${ED}/usr/$(get_libdir)"
+ default
+
+ pax-mark -m "${ED}"/usr/bin/node
+
+ if use doc; then
+ docinto html
+ dodoc -r "${S}"/doc/*
+ fi
+
+ if use npm; then
+ keepdir /etc/npm
+ echo "NPM_CONFIG_GLOBALCONFIG=${EPREFIX}/etc/npm/npmrc" > "${T}"/50npm
+ doenvd "${T}"/50npm
+
+ # Install bash completion for `npm`
+ local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
+ "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
+ newbashcomp "${tmp_npm_completion_file}" npm
+
+ # Move man pages
+ doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
+
+ # Clean up
+ rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
+
+ local find_exp="-or -name"
+ local find_name=()
+ for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
+ ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
+ "*.bat" "*.cmd"; do
+ find_name+=( ${find_exp} "${match}" )
+ done
+
+ # Remove various development and/or inappropriate files and
+ # useless docs of dependend packages.
+ # Strict match for LICENSE files to avoid purging actual logic (e.g. license.js)
+ # which breaks npm.
+ find "${LIBDIR}"/node_modules \
+ \( -type d -name examples \) -or \( -type f \( \
+ \( -iname "LICEN?E*" -not -name "*.js" -not -name "*.json" \) \
+ "${find_name[@]}" \
+ \) \) -exec rm -rf "{}" \;
+ fi
+
+ mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
+}
+
+src_test() {
+ local drop_tests=(
+ test/parallel/test-dns.js
+ test/parallel/test-dns-resolveany-bad-ancount.js
+ test/parallel/test-dns-setserver-when-querying.js
+ test/parallel/test-dotenv.js
+ test/parallel/test-fs-mkdir.js
+ test/parallel/test-fs-read-stream.js
+ test/parallel/test-fs-utimes-y2K38.js
+ test/parallel/test-fs-watch-recursive-add-file.js
+ test/parallel/test-http2-client-set-priority.js
+ test/parallel/test-http2-priority-event.js
+ test/parallel/test-process-euid-egid.js
+ test/parallel/test-process-get-builtin.mjs
+ test/parallel/test-process-initgroups.js
+ test/parallel/test-process-setgroups.js
+ test/parallel/test-process-uid-gid.js
+ test/parallel/test-release-npm.js
+ # Unreliable when using system libraries and ASLR.
+ # The variations between snapshot generation passes appear limited to memory
+ # allocation pointers leaking into the serialised V8 blob array; the actual
+ # bytecode and engine structures remain consistently... consistent.
+ test/parallel/test-snapshot-reproducible.js
+ test/parallel/test-socket-write-after-fin-error.js
+ test/parallel/test-strace-openat-openssl.js
+ test/sequential/test-tls-session-timeout.js
+ test/sequential/test-util-debug.js
+ )
+ use inspector ||
+ drop_tests+=(
+ test/parallel/test-inspector-emit-protocol-event.js
+ test/parallel/test-inspector-network-arbitrary-data.js
+ test/parallel/test-inspector-network-domain.js
+ test/parallel/test-inspector-network-fetch.js
+ test/parallel/test-inspector-network-http.js
+ test/sequential/test-watch-mode.mjs
+ )
+ rm -f "${drop_tests[@]}" || die "disabling tests failed"
+
+ out/${BUILDTYPE}/cctest || die
+ "${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
+}
+
+pkg_postinst() {
+ if use npm; then
+ ewarn "remember to run: source /etc/profile if you plan to use nodejs"
+ ewarn " in your current shell"
+ fi
+
+ if use system-icu; then
+ ewarn ""
+ ewarn "Node.js was built with USE='system-icu'."
+ ewarn "The JavaScript 'Temporal' API has been disabled."
+ ewarn "If you need full ES2026+ compliance, rebuild with USE='-system-icu'."
+ ewarn ""
+ fi
+}
diff --git a/net-libs/quiche/Manifest b/net-libs/quiche/Manifest
index 04d8c58cfd3e..38c5a2b6009b 100644
--- a/net-libs/quiche/Manifest
+++ b/net-libs/quiche/Manifest
@@ -1,5 +1,6 @@
DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69
DIST aho-corasick-1.1.4.crate 184015 BLAKE2B 088766e505a828a221a9bca29cb1833ac3964a538cda62d12b723a263fe0e588406af0b710cf87ef67b0ccb9aa3bf69f42e0e5225ade47abe93c73fcaca69ec1 SHA512 c77e35191b00546f5e499fab154170cedd619599e7250f92db9fba0a41c833eb426f214e58b00c5c39f8757406b33492b3241cb8cb233ce384ad0683c3ee4b62
+DIST aho-corasick-1.1.5.crate 184315 BLAKE2B be0ca3cb1bd0d43d06e4d035b18068ad6cf167832ac4447dba8243d2241de3fe62cb7eeb2b03afa48ca31f415ee3b56afc541e7b4e0ccfc8768952a4f8ea89d0 SHA512 324012ebcb573740ce56c7ef217dcf2bb849d0040e022dcc39aa8a46750088a2c26271016bfb6b1bf7a558d0c4bcefc004811bd8f0afd7fd000dce9bf0206643
DIST android-tzdata-0.1.1.crate 7674 BLAKE2B 4385a4875aadaacd5284a9ca7d1bf8a7bf14bf8925d1563d52fbabacc3af2c1ea08bfcf77106f3648f4fa052ac295158a21e7a0131d31eb9aecd99ea4ba20055 SHA512 4294024c21ddd0090c42c8eedf708d40d917f55ad5a4cb7aa3e64cfb6551b6df60f2e36bc08620c1d2fc8c7ba7207411518ee5c8635f60ed8ad9efdd458a2077
DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191
DIST ansi_term-0.11.0.crate 17087 BLAKE2B 9bd35c045a01ce4c6c4a5db1b4f15e9412bb97426eec19d4421dffbec633de8d13452c13c1dc1b30998690b78d7ed38311aca700087f13a81f66bd1d5d7300c4 SHA512 a637466a380748f939b3af090b8c0333f35581925bc03f4dda9b3f95d338836403cf5487ae3af9ff68f8245a837f8ab061aabe57a126a6a2c20f2e972c77d1fa
@@ -19,15 +20,18 @@ DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616de
DIST bitflags-2.10.0.crate 48427 BLAKE2B 238a6da813eb2c5541ad470b97b9cf6ad8004095d2a8e865b88eb2301290b7bda22e5b062ba66a04ff0f3108a84d4799af0786b76f785fb5782bd847876549c9 SHA512 6fcdaf250ca6e74b65ecba755d62c3e78f6c02ce1a9562a3b17bb2d6068a0df480ad9c838ce427dc2d2869a9dd1f86f2fb1dc1e50a114def77fd24154b2b86b0
DIST bitflags-2.11.0.crate 48906 BLAKE2B 35764719b3070c5f9b51d35297803306ce01823ef07d720e5ea5e112c072b45c4d497f6b63285b1a0fce2842b1468bc252b00564c2ece14211d2af2cd26c2faa SHA512 d6c0de6c06ed8d1249dd69de035dfe5b23d9f1a8fcdc7535756622cf660807c5e1c692dee1ac832c06be1ce41b225e3d60f36be4d1896bab7d986d18946f6c48
DIST bitflags-2.13.0.crate 51280 BLAKE2B 2926a828107adbf689705662a77e6f4f8d12c4d48ba8207d03e6220fe58082a0ebb48252f1652b760f4427e0b951276f31a08dc0467612d5b35b484a9f6fb74e SHA512 5a93a30662effe056132d33cd0b25670feedfe69e927b7e77ea1a417f68104988459f1c3a73eec1752eac08f44ae5333496526e1a96dfb3e7144deca1a94d19f
+DIST bitflags-2.13.2.crate 51678 BLAKE2B 8bbeb87f475eae13e691f12d3cf34f865dffbbaf44e400f99a406b487b59be9b08b3de07e7a3bfcf2a5d04d3ffd9af23386317e964d062973347279bd738ef25 SHA512 362553b15e7f09d30f9aca4c1f991f040c446aea4ae36f46ec9ea460a0cd2b98052fca4b56d2ef48147cf1c73f3f8782cb579aeadfbfdd2a22b55cd4b096022b
DIST bitflags-2.9.0.crate 47654 BLAKE2B df924872ccb929f3e428976764d50e5468112cb83e563f663a5e51a21ef4363b4c639e617ed8afd42a39fed522ee468ce7186adf88bd41f5f4a2a6c833d9ff35 SHA512 f314d5391745e5a7eeeda0c014d739981d8639a8e23e1120d9c006ef1a6d5d5b9292ec85ed2fdc117121b6ed7a67df41345116ed311d8523344928a725763446
DIST boring-4.16.0.crate 195301 BLAKE2B 97e214a32f50348376b993faa74f7c984f0c0f841c507e949dd3f3c1e3ac3d41c411b38c4935f88ed8d5b34a66bbcff7f2bb4791bf94100f9c36d2eee867ed74 SHA512 985dca3f960167653a742ccfc314a47e437cbdbf1068d3ae165a08b4b092c40765fa18b1e4a4f9781626354a47a3b5d40f5ddd657c21aafca0f8d64fd60a6765
DIST boring-4.21.1.crate 201969 BLAKE2B c4e5fe7eda34f90c8afd6df2bd61d634d98c57f73e3c739b113d4debe6eb61ffa95a6f7b258a8d74ecc1ce2d81138bf91e87c2fd511ccd7b9254d964b2662948 SHA512 1c443f38dd18589b449e58d722d30b25daa2c15c86aa07c8c4a2dbced265d01313fc200a77d3ed851f877d2caea42e2a468c4a0d44059ae524a638e4b4bb5500
DIST boring-4.21.2.crate 201796 BLAKE2B a6bb2263370ed8c0f70594b9af1083a36d4269db3c3da92aa40ee08d4b5ed3488751c33b21dd18365a458a8acbb73609c3fa08ddb92488bb57b517814094e359 SHA512 0dd508e5df93626a887710bc6e467d8d1444659c18f18ea3dc3c7d8589b767a28af3a167c97f248dbed8d1179757ca668257ac597ff49c6ae57827870a49d47b
DIST boring-4.22.0.crate 202019 BLAKE2B 687365367f3fe2b633b0998e9e4a94e9f22d7ea0df1094fba4ed1284485169461ed2f37c611327bf22c3cd5c6a5e7393d9397b1acc71c6bb087e286cb388d3df SHA512 86e8b697a213d27380f4249f528c5cf70bdadccb09473937a20add5fa6e6dd7b70e79fe850efc8221f512fc939c3e96a89b773422b2b1c43599c924a45bef55a
+DIST boring-5.2.0.crate 227435 BLAKE2B 4061d5b848fe361191e44072df55384074c3948a632e637f5397459cf5a3dfacdd54838dc671dbae3528ef21ad45155d0fa9abd24ecbcc2da26d129f6c168c47 SHA512 ef7e9499b9d1fdfb736e78a69fbbc6226532c961587d92be4ae4ba713950db9624ab53d8bebd97718fdcd3d9ade746ab37f4769b3b7a4650786ed71155710b71
DIST boring-sys-4.16.0.crate 7091376 BLAKE2B 4d878b9624ba527b7dd34b04289b1c811f684fc071600e7fcb5ee8ebbf301ec4878f92733ca0cd238ee6f7566a9b52b24839df7580243995f0d4cbfaa3386c4c SHA512 fcc2e4b417c65883e4b16d6cbfde6d6b6dec31ad25104cb6284cdaa7f9b3db204d921a917dbd81272e925deb78173cdfcc5abe8d6b5b6e3adf533603143e3bf9
DIST boring-sys-4.21.1.crate 7119656 BLAKE2B 1606eabc8a4aeed80361d03065a8ba2721d2c5c5d49585b90befbea2a49fd5d928ff6b89ee440bbdbbb93d59a2a88a673881b46f132347901874d1622002a8b2 SHA512 627a459e808f720f759051d6ffcd9530ec028220c9da8300cc307ed0fec4d2dfc5b3a7c3ec3102cc6d3a48b8502ca92ac5f0485bc4405ca6d8ddde0f469fd29a
DIST boring-sys-4.21.2.crate 7119674 BLAKE2B 42f109afc8923db9c19b0f33df8394a37121dddf84c48aaedce979ee3aa67759cd3ccc396264c12bc6678d5b47c7466f6aecfb691f1f50802bdc2a88cf0cc419 SHA512 0d7e65a533c4a4e991c2f66a2e817726ea0cb1ab0acda9f52cb966856a67fb1ef4447e1de28fd4b2530306eb652db054b077333b79dadfda030cf3abeeeb5fc2
DIST boring-sys-4.22.0.crate 7119761 BLAKE2B e67fdae25d14490f872f320d644800801bde37b326dcf56a648ff32ef173755b1f900a7fde6bfd842a0e8431589245196edc108699d16e1c2d44659cb979bf6a SHA512 4980c3aadc64287f35494d5a64d2b9cc26963d398fbb8df0796cfca70bbd30ecc309f7962180232d6415de02c987157faf947e0d19a2d150a5974b1ef34670dc
+DIST boring-sys-5.2.0.crate 5576914 BLAKE2B 5d2d13caa5b3fa3cb1e6d08f0a2232e3a559b72b89eb48110f22b6c25eeeaa6e81edb3dc72b862cb56034f0986e9e0c5b83096e4d9451447ba3837112585644e SHA512 b986182c8dbef9f1ec5322d35fbfe2b783eeeea834f76db8d6d4b8df65e093333556bb7a5fa4fdb1e8ef37c4e4b41cd9ac578df5fd3b0206c973724e5820aaac
DIST bstr-0.2.12.crate 344435 BLAKE2B b55a55be4875d9aefcff0091be82d80a19c1c92d5d6e17b751dd41bebd37f6a5f72d884fa8a70e829905baf3526ce4d854b162d10d894573dd2801ed030460e9 SHA512 2d14ac85274814bb29439acf67c3aaf84ac32ad361dd6d2cbca58bf571c968f594eeb1443a632b625296929b84047652fc60ec39983c110737ba1950d88bce89
DIST bumpalo-3.17.0.crate 91975 BLAKE2B b0aca1d64373425384eddcdf8d60dc977058a3d1570451de944ce48aacdb984e73a29ab64fb5b23413582d57a8e32ad8155f6a1479eb00f804afe9d8a9d9e163 SHA512 b2acfb463aa705b9c6a9555858b84f565234110988c880cdb761ab8dc87892ee5d22e65fa935d2cfef9d58869fec0ab64d810b26bf122fdd89b454b6ce65ea1f
DIST byteorder-1.3.4.crate 21943 BLAKE2B 278b24e036e920f84683f883991a967d997883bc80edefc5b69f52551794a37e5051786a1ac1b7a30bf2f5cad7318d781f189a7b2e496e2743df01262d5c33d6 SHA512 0618ce2cd6f3f6c586201d9aee8c8aaa08f99c9f9f215cf448b3cb6af1ac741845f5279953544caaec7fcf0beec1474bb991bee1ad0c0dac0c3f1d3ddd99e2d9
@@ -40,13 +44,16 @@ DIST cc-1.2.55.crate 93756 BLAKE2B 559d6dd3524897ccd371bb806a181c43a3ce79e21c997
DIST cc-1.2.58.crate 96320 BLAKE2B 55284feb8da7280c59f520505bf49a1e64b17a7239b7dce7f7042bb6656de762584cb717dfef4227638ea08f6fe976a7efd7415677eee8a605232d5baf37df6b SHA512 64dc8dbb23616d149e5a98293b6aebd72566b79a19557de9101edd38a01592cb1c2e9f7eb24893314702ba41fbddf73e4a4c91664a6f7e565af9837c52e1c79d
DIST cc-1.2.64.crate 97697 BLAKE2B e13b32095a684f456627aba1f48c369f9b374001660e02aca695577b058aaacfa9a74edf6fe6a5979b031ba430c123fd3f484f895312db01bcd6730d104a36c3 SHA512 be9d702a2573d3977b9fbb79c09c163b297fa9efce7b490941e40fa77ad5d965949fd42e02ce0fa89de52f579f4400d26041576fc188542637f8fd27752b6b63
DIST cc-1.2.67.crate 96261 BLAKE2B d9a517653b738025763bba70b56cc7d0bff8fb39544802e6eb4cea1f06d3189dae0730cf069aeaab7c98ffa266d52dd4cd24c4bd85e3c41f2e33191aa748facc SHA512 1bdc26db31537299794a7decd73304e56cd09ea3bdaaddce18f68da17b77b1587df6aeccd104ca14c9cae4378863b8b05cecc8b4579c4c6fe0f206b1c88123f1
+DIST cc-1.4.6.crate 101852 BLAKE2B bc393c814a553b6a97bf2f03668d6fe7c7652dfbeb4f118d326d1fd2d7d139df1efa82e3bc609c0d0c66f6985bc6f9640ef2f791bbfbba722f5fa9cec79edcf9 SHA512 8b4c44148f9479cb639c8d707a109feb9431fdd493eed3746fea113be61eb4389f85aefa08df71105e967f9889570d0d4a98779b6d93de406ce0dc0f651751f7
DIST cdylib-link-lines-0.1.5.crate 2946 BLAKE2B f1b3908b2cbca38e0dfb7b099188b7dc566d4332bd799a48000ceb509c995111fb6f9974aabf549e97e0d95ed43e17874bc555210f0181ba691ed6174e05aec9 SHA512 3080a84a4a414ce11956c004ebc7ab87c4617778f39a3979cd38057d08c401c11176ec2efb577ee129a730fca8f1186fea95029c7cb339a8813c504f8cdca62e
DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886
DIST cfg-if-0.1.10.crate 7933 BLAKE2B 063a96ed176f34f788666b40adc483d147fc011dee941ab60569ddd0e57502b5dd06ed71090f4e14ce005d06e240500a286f74652615e9d068fba649610d8cf8 SHA512 9d22616bfb4a75770a828a0a3cddac6787297a5fdc53eb17e25811cc94de717f2de8bd66d53c5d65ba1c83d8892aefee5ae758cf56a1ef0a0c3120f70b244339
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST cfg-if-1.0.4.crate 9360 BLAKE2B beadbfb273ee97cbb6e3740891fbace57511399ad203459b66b397587d794677a9515cde4e9ec4320c3795518bf1551d72b9a889f8ac4b225168f493288b7c19 SHA512 176e04df7ba783b7143bb84397b777f5c5a1305c08a5c3a218d4a66830620be89ed68992ba27686165bcd3fb2f34b2daf80b2a1d4b481ecc267c988e84d28e9d
+DIST cfg-if-1.0.5.crate 9578 BLAKE2B 34d99ee8193178424c3fe35b33990a621d88a5ce94e9166357a3a8b49fc73ad489f56dc52af5a21aa85a416b575db4e93819f3057e44022fcd6bc4fdedc2a8df SHA512 5f93906e4703366f5b064f44c5d834cd402240a7b48cd8f72a40bf198430501f5939507c8ec5235affbdb5004ab6fd13a5680f7716544c6ecc6ae9c19512d75d
DIST chrono-0.4.40.crate 229824 BLAKE2B adf06e469c3294ce5899d602c42e6d25d63c7e8518530b365e926e402488eff6dd6f00abbaa4bcb693d4d2f406e8d2c71f2067ab09c2ce96867a09268231faa9 SHA512 345542dba10aff787c0bbe17e0ad1be7b279fe2b58763aca289ecd2e79ee1c518f9bd007ca3d89080191f272611776bc368cce9b25206b96bdbd710201cd0f3f
DIST clang-sys-1.8.1.crate 44009 BLAKE2B 9173de6dfbd3ef9d5d1fdc559700cd3a52f95cd77302063a97e8cf311a35825825e030b47f252c857853663ae8a16709e1f7bd0c608d67c2a74eb36ed588e778 SHA512 a68c426c20110fddb8bba07d6631517b0528fad45802e5a34a22561d7e6dad82dc5001387019a03f275e9a671b09ee0a06b6e86793c4fb4ec655700bb0f5e125
+DIST clang-sys-1.9.1.crate 47227 BLAKE2B da37fafd97a090355a9af85d1a52c9fcb80a80c47cb76da42298079a55a32fc3a87fe20b753453591719b54c07828d88a350049fe186226c578b6cb5ae48c415 SHA512 e9b39da85c6fb6387ccbe3c2e17971f2bbfc8cbcad271f67df0f47801d4c6777051f656f60759e6f0aa75edc8a2d3ee0ce85466864f00910435bcfbfea44b388
DIST clap-2.33.3.crate 201925 BLAKE2B bec9c866481c5b3fddeb314f68af9bce38fc421e42816182de3209e8ea3447b72cf033e6251eea27fe974eff8085b7d98cdd2911b5cc0ec6b4bf4c750deb8a25 SHA512 3eb0fd648e2e3f9e5ff69a5e6cf0d867304fe18523accd036f28a86de368e4774088a6936c108ccc045092c539fe7f7494ea96420ebf6b4bec16880cea84bedf
DIST cmake-0.1.54.crate 18955 BLAKE2B 8ea4f8c4e5a383e406436343e3635449662788cf8e32f0dd5222ade92b6c0fdad4e5444c6a319531d8d87ba4e376f1ffaa7bcd1073878e26e7fcbd6383158a51 SHA512 ab4bf69dc77337c6d398b74738ea28a7fc1239e6991f8baa72fc78d3f9f6a77197e7517574e4f4d245ff6fbcfbf9b768c9f814d9ad74b74314f19c1d491f3009
DIST cmake-0.1.57.crate 20376 BLAKE2B f9ec6c82ee8ed862c524d1ff7fe335379d128aa44bf5e904372aeecdcb3e78d2a9dea73a2f90c1c25301cb3c252d5f4d9313be56ff3e91fe9f7ce732167f44ef SHA512 34ff920c0f866bcc5fa8ba385b1945629c9174b6f3b006ada9f73fef945f67111f17342304ff74f69630bba4ff7450a402e1017a99fabc1296d276df4e4b633b
@@ -63,29 +70,37 @@ DIST csv-core-0.1.10.crate 25668 BLAKE2B 8e9a56c26e75f4c4c9e90a21cc30c60cc3fff17
DIST darling-0.20.11.crate 37614 BLAKE2B 9bec875e60dd2971ad97a3098ec6060d16ddae7b4f85c0daa1326ab2411516c2da2eff283fcdfd091087402643d1a8db5db151c7792b97f75ef9722ef8219eff SHA512 62532fb9ff5f63592ac61d55a3f899ab90bddd380212637f380ae49e4037c3a3058055f88a5b5fe9c707c2884dc1333756364ba7acff74b0184050d9a063d596
DIST darling-0.21.3.crate 41398 BLAKE2B 5463e73cd01aff3b3b6f650660b7816e5f83c1fd94b33e13d814ed74205a4ff65c91515d3d8532e7d49260bcd5d25391338476947c891ab072cf9f19eef562e5 SHA512 d28b9a6d63b09aca5448a9b39e9f41a4418d93023885715feefd913519b4bb1df32e85edebcc9b59d2e1b55d87052dacbd01e7b42d7b4ce5b02fe4de46345094
DIST darling-0.23.0.crate 43298 BLAKE2B a207ed640665664402ee07eda679af83e498c3de79a9e41c3fe1fec4b28071ba52acdb1f790d46b6c6c1744da96991c14f96002cf149e080a4982d5a74280b9e SHA512 6257756befa2e6a8b17ee21d64e8430071bfd1e8f72c680f67b3c15934e726ec24e30da37fcb5ea4f4b3d925f81cf4ea22d6c85788f101090b32d95f08bdb2e5
+DIST darling-0.24.1.crate 51607 BLAKE2B 1ac26b702945966837a03861921e6351c4c45150f481d7f73ea33d6e54f4a5ce555f23a9d06adf6fc8d7533eac5bfe5f72334f44eb8fd920d14ef9eb72e374fd SHA512 f46907701ec6e3b5cffbc3843b54d58a96ac586638c90f73aa540d35d182a05027e6bbced9907174a203ef56786a869fdbac0beefc7fe1d97686d435b6bdb486
DIST darling_core-0.20.11.crate 68006 BLAKE2B 7a112380a91d9e8bb5ab84ac50ee1e21e25aaee4757cd976e82fca912eb17941799f3367250af10ea36182c26ab4289d51bd003f6aa7fe686587c696f4e87910 SHA512 aa2a8ca52bf3513711ed97fda6825d9139e0bcc818d4bac7023455a96c035e7cd676d6e3ed9bf594a6725353923de7c2e8474de3081f6d35f0c5dd507b2ca1d2
DIST darling_core-0.21.3.crate 74471 BLAKE2B 0464ba180045fa21dee8b3a793950b0ee5526d8cf80d149233f37fdcf1af38513bfb0915abe3dc292acf4f7889053fd345aaa6c0f8f814a009f867c73bbd1fd7 SHA512 585c872de6e24719d09d7ff9031980ff393a0db363913f2ed5848ec2680ca31501b82ba6aff42d4e276e502715de1dc7bf9c75ccc446e0c5a3f428e23bf62c65
DIST darling_core-0.23.0.crate 74564 BLAKE2B cb5d45b08fa8927d91f113a37a8eb77f632713e3feaa629d37a6a0fd20112a202bb8ad574a096f0ba7b3b870e7a9982c86641e1cb4f9e33fcee59a65524b5406 SHA512 52ac3dac977b7f1cbdc3c0ee545356495216af6d8a4f179cbb51c8bc80253cf028bd9b624b6f42d6354d913e7fc5ea980234aa2ccf383c8779ca70fde72591a9
+DIST darling_core-0.24.1.crate 83947 BLAKE2B 111f5007c056420dd6584b70584830b0699e191a44c1f78a766d7086218e455428b5ee64aac8f9e0bc8d093ce105fe049c54377612235367b17220c637a3af9a SHA512 5c5b9257d10b58b7cdcf4c7cb2c624d41b7da5926b8d1f34ca465347789af151b193626ec1362844bcac7f83eb89af49bdf42d2a98d34d8482b1b4116be0768e
DIST darling_macro-0.20.11.crate 2532 BLAKE2B 18b7a038f1a3aa245f1089f5608d859982eb82f76c9085e96f21f42ba83a65a076d5810842a4fd952dd4ee65392fd5d4e478f067de31ffcbffa34db2ce933d64 SHA512 4884d05a87ba1638b7cdc0a3ee2718c38aa255aa19547388aa834abe95159a72128817494f4184dfd1aa811f1eda385ed4d4f3e65fc8735effa01769fbbacccd
DIST darling_macro-0.21.3.crate 2535 BLAKE2B b93c6b9bd45643f858595320a28886d11940a13fe30f3f0df61828c01d44896a7a59aaab32ccccf0b4121a3b333f7ea818b519ccf623f48fca0111fccabceb50 SHA512 1931eb12cf86c6a66de874fc460ce086f7f970c7b45927057019f2a8c7fec66b3d5f6ed0b49412884c44d9c98515d71f41caa134f494f358923be1d00076553f
DIST darling_macro-0.23.0.crate 2480 BLAKE2B e81f6bb801e5fabf71fbaf966735e5388023f75e12b8f9bd32e2cd49608ce05625849ecea54db3d682a9d091f8f0348dd60777c316c91af5186aeb0b97e4cf1b SHA512 f6565876c9846b1295be23eda6decbba817c64c3e2ba56fb0009c2acb68d542481dbb033b0e753dfb1eb967f24f87b781869c8bd5018a7789066229a4919c8c3
+DIST darling_macro-0.24.1.crate 2481 BLAKE2B bc0daa29b2091310c81625f848d71ea3142773468264de47dd6c9abeee4c3fa0104ecf6525895c4e3da32e9e3e5c40631dbe6d33cfa59022d5ec82ffda888635 SHA512 085cb9b084d0f051c6f3e30e802bdb940563db3018177965c3439332dd9d0e02f0f4d47da9ee0f7f6b6f7082bfbf3abb08354bfe845b31d19ece22a273b53f74
DIST data-encoding-2.10.0.crate 22293 BLAKE2B 69e1b5fb57f1a2694974d3ff97da7cd1e4cbec8da0e57acca804208f3141cf0381b329d3732c01cd4a42761f8072d2e42404adc7a6415b091e5836b48c757b2d SHA512 b7811d5620214f4d6361e37ea9dba7cbd9e24cb55066086f240c38a9dd27f31ac86fb358c515704d82cc50fa59e42070d7fabe5949d9355f23453488baf8058c
DIST data-encoding-2.11.0.crate 22677 BLAKE2B 70810193c89c5c26f686e4cf7c89b8bcfec8e75e3b189ffd311591186ce5795d8fe53678b59c046f701f18e53282b328641420e7ad6717e758da7718b97714b8 SHA512 2e70bca84d0545e59d4ae4ad1ef61afef6c55a09a2056dd8f88bbc1ddd22318eba6faf1be4e0529d4e89bc7b3094798cf4597a1efcff1a4e9b7f3f3d037e5bb3
+DIST data-encoding-2.11.1.crate 22651 BLAKE2B 4f4720d905550198a8276fa184167347fb554533ce24d45b0b8c6efd4cac284b7d547dbfb478fb92157a64bd2e3a00388f555a5b9bb20cae1a24513076260d74 SHA512 ea2040fbd3af700e03cdaaee3f215f9f0bf96508d0b246202c0dce4abc02c6af1b94d4fa5e6194544108c210242dce5f3464f31b3b4820dca63da98607d483ce
DIST data-encoding-2.3.3.crate 19117 BLAKE2B d77962932be4aefd5855db78379b56a9fdeb784a9916a3e4d0bf3b085a8b3286396122066ad875395bf3be3fe026422fdf5554ca67e0f1b53d9fba36c11c14cb SHA512 5922cdfaaa9b4c3b2faa68e86018653dac7bccef3f2a1e16f6c599dc8c3e98a644f29c3a9082234d3a58f9feb0eb54842e57ab62ceadcf287c43f7eed1906d93
DIST data-encoding-2.9.0.crate 21564 BLAKE2B 2abe5ad8772030140a67c015cb1ef5c0f1fadfb0398d0e73bdd8f93ae229955ef9ae430b28cf622ea3cff4ea8108159c05aa4d501eb6feb5b7a34b4a6c86fe03 SHA512 ec4edf4b7e9cf3f0f963de117e15cf4e7723587782b4520b01101e91880b074eca1473dc6c9d4e484bc2193caa975a7fc11ef3efb114354c491f13c86b149104
DIST debug_panic-0.2.1.crate 2104 BLAKE2B 2ba9c6a0ab3956eac7527a5790f2b8341fdd3970ba4a7a1c4e6c660a12b1b2d3098553a111ec874de382a0e9f902d9998569ae0943ceb1f93662d8ce85f9b0d6 SHA512 29590b16b96f8807ca3085c831894b16fed407684dc71c78ac4c6a463c802da277362f37aa12555d1b01f0b6f5bfc0dd6dba105ffac6caaf81420e13a1bf6d6c
DIST deranged-0.4.1.crate 23541 BLAKE2B 1e3802541057b4550400fb2ebed22f7e363efb6fbd4171aab3f1157d32a139a2dc80bc61d037d0cc30a75041f2ea28cde010adecae908563df3f1ac391c4f0a5 SHA512 899e57e35d9c87d26359be14aa023f8fc31c1073d2c5383c176f3b75d2022492649f70e15b5463d810619ad632ab6989d503dfd54b8eec53cec1d3790a75d39a
DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419bad25e48d9427b76260ebf2f9982291d77f2eb24d239c0b1fbb097e866a20bc46dc1879fdfc6637ea49928444a92 SHA512 5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948
DIST displaydoc-0.2.6.crate 21191 BLAKE2B b9026fc3de6154cd72500f6a2eeb8184707cd2e0f5796a53c793fb516e497ce2facdf2950f005a6dc370f46d70a0c71f525fa69f938685b39de8d926e85b4db9 SHA512 6361c2ecb04a6fd260fa4b3bdd7650fdcaa5f12066e9a7b6d36c32e6d02f3de969249c7ed98f1bb9949cf236b256dd526551f2f614600e7d8d00764c7a74c0d7
+DIST displaydoc-0.2.7.crate 21343 BLAKE2B 643d51db5685ac981fa0be998d8c597cf2b38303bd891da997d293382ad3de929f79fb951d514f2b13c42009d8dd882a706b32f5401127c497850c5ef661d611 SHA512 6e21a1572e71d12218a178fc9e6d22964be5cb4006eb4920229db35ff1391708cdcbe5ab2b8295cf3ceb9dd1b1bbc70e2bca1e6080c6e7b8878d0b430e4d45ae
DIST either-1.15.0.crate 20114 BLAKE2B 2f87cb6408b1e1a15ea19d930cfca3948d867d268c8ff18cbaf39dcb7f7fdc628811575ec87a7728940dfb2c26775995a3165ab9c17dd42880d56569b22c6f88 SHA512 d70c34d903e8e5088fd065a6da6673eadb569a20af183fa9bd6418940b37c8c2a777c44dbdab1b9960890cba5cb7464b805667ac42f4e05499ddcd4277d24e3f
DIST either-1.16.0.crate 21248 BLAKE2B cbf2c5fd6f031f6d3be20e8b7816f77109c2e111f0c1514f4d00889befd1654b206b6f4a799ef457045461dc47e48821ede6f6a8ea2c8a402edf745b1f3457bc SHA512 043c00daad0dc8b03c1cd120a1a165591c283f5f803d4cbf1418b66539693d8bae94ea8f273442fec31e3e888d008bf74c2d953b6f5d6b432b50eac662dabaa0
+DIST either-1.18.0.crate 22357 BLAKE2B cef6eabc788d34cf10ee2dc7f18b220e485dd387588b971f4375ed109265f32f29e75ba99ccb78b81b80359b02d7836ef3108c55adcd04a3fa01308bb0a9e905 SHA512 b74a704e39869ff7231d47d3e2fefffc52cbdc7da5ef8fbbef0b9b032b67cf91b99330c6134a76ebdf38af9c93ac857ff35376d5fb350ec407e8957684e51535
DIST enum_dispatch-0.3.13.crate 29876 BLAKE2B 8fa66a72b1f35e174abcc8266e8a36e835923a1b31aa2fbbbbefe3bcf1287bb01b456597915c0a36a9ab7e6a6cd0ce7ebae38c09028ceb9109b7d18f26f023df SHA512 9ff73db5852d8c515f8f3beae0e62ac3845b42fb39a2ecdcda50e44535e9183790406652024e3f968ecbf4413488a02344831c45498294ba97c345b31e1d0782
DIST env_logger-0.8.4.crate 33342 BLAKE2B b1bb359be2f34ca6f93f72154c86920b8254f574b48f693b2ae7296cd1ff25d34dea61e95fb2954569fdebb6c522c851ef7499c107005528aa2226df13b0de33 SHA512 9e4478ff609a2e1e1a902a55b221af43a52622fdb5668dc33fb0be354b964708b7b6d13b7f1ef11982f45fa7e71f0712a2ab3fd4ea98155a5115e5a7c3d33049
DIST equivalent-1.0.2.crate 7419 BLAKE2B 7ce4fb7b911961cd4ccfb48323eea4952110a069789c6bd177a63391c270df861afadd00c07db7b22768f0864f320e429e0200c433284f528336e2f81d071eff SHA512 8e0e2dc070794a85b276e93f9e4a65d3bbb8587b33fda211c34479a0b88504c913d8bef9e84d7996254aeabe1efe4ff1ef6259ff4fe3f9ccb90dd90070b3e4d4
+DIST find-msvc-tools-0.1.12.crate 31570 BLAKE2B a5738c3dfb652091166a33074cdd67c53f069127f727fc37fbd13506db17674b688e579abfbe2ae25f9e2b2a965f52c04cd87d25279dc858f4d59e18d7234053 SHA512 3914a09833b5dc93a270d2db21b6baccf036b54f42d2190369f691e968bbd88df8dc1e87cb5b8a2e93d4105ea4ef4a3dca6a63db2c4d60a4c29fd61e5b7f22ad
DIST find-msvc-tools-0.1.9.crate 31493 BLAKE2B 4137592addf8b58f4e4c02be537a72b132b38cecc1c263c2569fe40e2cfe4377e7141679f32661f44ed467cf9723343ab13732b3d6f4a2a84c610d0958e7e30b SHA512 729b3c1c1d520dffe5d88fc8b58e47fb7e86dc26e568fc317eea5ca8de0ee953fbafaa20ab34a6bfb43173bab39a90ff6954c11dab8d545e902305dafc8cd3de
DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
DIST foreign-types-0.5.0.crate 7824 BLAKE2B 01a5111a11e48462914f9877d3228008590093633e957883fdafd3a7017e144c14fbbe713bb8b0061ebae78d20a49978191ce416a4e28317b67ec69e38acb879 SHA512 d07c92cf99c99419a3ebe05ba9154e396ab88116f46af736ffdd958c8e47741bca5d9f478f6719d5361360e844375968c1cbf6ac40995d47128a5e5fda3f6c82
DIST foreign-types-macros-0.2.3.crate 7635 BLAKE2B ee89f576f2d892209c0f344dcab9dd85a671c976c8034b33dc984b93a5c872ff0353311657fa1dafc499243e55d3293a7bfc532ba55894a719a50ddaa6957589 SHA512 c3965e058d15159f789a8ab1597770ff6325e8ac9e6914c98450225ce27af849698646d53326e07b13eb3a9730452d926b73fd76e5a1fbd8ae4a6083bdce3367
+DIST foreign-types-macros-0.2.4.crate 8161 BLAKE2B b07d4c03af8fd0e655e4b3c7c2abb789a6221fe66aa78964b9a9b02a7f1ec02b5d3c246ccb25b9653b431147e7eda14a8a4ada57ae4f0993d3669e572344baca SHA512 6c4c320487afb84880620da660706d671f69e21c5f4c818565bec3eb33f7ffaf4f9fc7d72ddaff4175e1d3d8d5153b4c80a536c4ea8477cd63c87f2aa0ebcc02
DIST foreign-types-shared-0.3.1.crate 6006 BLAKE2B 27c26518e0de0a298df2996da4959727dcc6a21bb4efa6c28869a9affe7ee3b427d1bae25ed6928477d07959bd143d5d4fa27325f8f5a5cb0ddd3cdb9e5314df SHA512 c68da34b55230941d6655f6a52d5dcb8ee02149f25c25a5ef782402f9a18b33047905f28b70183a5f45b45977c011a5320cf7283b7901c76ede4d82082ca4c9e
DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
DIST form_urlencoded-1.2.2.crate 9347 BLAKE2B e02670f9af81a09e8df16680dbb80708632ac9e708297fda2f821af8076fb827c011ff359d4ce50d5ddb8f4403d4e19f74a4b68d11441f32eabc6fa2e38b3b09 SHA512 07d27d852504e146d586d007b090e53cbe740da140859dfb7d647c83c1b55265a83ea0a0e514587699b1dc6b6ffea2fc913319bcc83b55ebe191801a3b429c8a
@@ -95,18 +110,23 @@ DIST fuchsia-zircon-0.3.3.crate 22565 BLAKE2B a4dac3457036efab8f79fe5d5b4545e409
DIST fuchsia-zircon-sys-0.3.3.crate 7191 BLAKE2B 530bb5d475ac828843af248c6bbd24ca3b5dd8118c8884ccc6d7261818cff1c79038077114ffa04bc73a078177527824c4d9d20a9b022e4057afee3330258cff SHA512 978b7e8795a5877a68409ed3a1d7b4246263f8e7e7ce9ba8a022643be98f58f329cc1c234717df80a509db849da4394f39e90a8e2a6f56f8fa8dd3c07e7d4386
DIST futures-core-0.3.31.crate 14318 BLAKE2B 613d16e4f18547e45ed0dd56a7b908306393e479c379ff64f358844eacb1f8d37008ffbbfe6b1a4ed184e501ee9214db149d9cca31651b7d353ab4a99c8f5ee1 SHA512 d2f4c2476c4f480f724a880ee16566fcdd545579d3cacd2f16745812eed9ac4a7a88d59d4a38b163ef466c6f6b612b9cb06308a09d52256506a8a90e358db935
DIST futures-core-0.3.32.crate 14684 BLAKE2B d0c3ee59327998990f4cd81b8d76b6d8a58000ffda809ecafc8b7e658abffe4fc45be4b9d5e502436af8e4adef50b1601907b8256a9f65f8467beecd37ede220 SHA512 5848937ad4135fcc488690bc681bf66d6c353f063f87dfe1ea4b79259b9b402896276c10ea80b159a9adfa551abdb5b00a2c6b332af9a898766f87f177a40137
+DIST futures-core-0.3.34.crate 14692 BLAKE2B bcec84e12b7979d5e10c8fec533d7eb8a49ba299461d4268ce77925f647bea4722312e59d001f5d5e779b376728f06d89ea5adb531cb672ab3ccdf897ebc0087 SHA512 05ac009da05e0d4cc41866a1ef95f7a3da03d037ac62dddc0df59c24cd3fb2d164982c95062f810982c3ed39e7130560ab58ea815db4235bb69c8809ba8e5566
DIST futures-macro-0.3.31.crate 11341 BLAKE2B d91ace97b854cbfeba1df90468fabf6313721ef72bb408ca6bee1c110b0162fe91da18d371b628513644f9d3956540d93c3e13bc9917550338f797967acc3967 SHA512 26c45dd8c037831ce3c41a326ddfd581784c2e7aa2805ca4d93b91e439f4d8c078293cd328bcd66d0283cbd5a14724bc624ec607c343d15193b00bd644b86166
DIST futures-macro-0.3.32.crate 11929 BLAKE2B cb8645742a8b70286ebcb3c8f676c97726e0e8367a926d171439c8ead49933afab39111b66edb249133274641cf623086f4eacba4774885552b02132060d45cc SHA512 39a5d7d4e610521d1d6d285a5ffec43b7d331d92d80e60890448d016ceb30ea577c93eb961321cf6c314273e566964dd879f7cd4b855b9f5e141dffe8e83aff9
+DIST futures-macro-0.3.34.crate 11926 BLAKE2B c1e9e2866260cc6ea44235f0acbfa517e5cfac9fdd251a656f53d42f0af59e979da0abd7748d26a20354321097b4f63f9787866656e2ae7268e8cddec0e76076 SHA512 c77aad28eb741e0e9d5eb062034d57401297d9eca21bd05c24b267d5c0ca613255410b3d96288fb089b7478649834ab417bf27aec6efc19a477e1e4b51f86f80
DIST futures-task-0.3.31.crate 11217 BLAKE2B 8c0e0aa0aa14bfc28e668af00a3fcc2532950ca865a9f3935717a4a3770cb60477cd8f4cd080675379315b649fbdc5fee9dce49502f0f24f44db481a24c884bf SHA512 4872fd2f24b07c626efc6fd76c01b44d56efecb9697f972d0877307b38d3ccb06277ff029df38981470ba1f8ac5f93086123ab3af44d3c49bd9c10b6c9158a81
DIST futures-task-0.3.32.crate 11377 BLAKE2B 290a2e7f7c957acfffc8041a5ce961b84bc6b1d02412ee8dce29cdc9a7d4daccbe430291d1a735c132b907448669aea4e5a3aa292cb5ea4b466b30fcd4e3f98f SHA512 eea93a8490d7083566d7f723c0bfae01583787028ae5d8bba851625b1ccb2587d27db0cbf3d7fbfa36b51bd6d444c54905cc4d56021f43a5a440cc8b0ed73520
+DIST futures-task-0.3.34.crate 11376 BLAKE2B 6365acd677c141312a1211b95726d3834307797ddaed85df01892f0493bc2e28585a07aea7ed742f28592cc0b1906235b65bdf826276020f6731e2705b68e3e3 SHA512 84d31a3391ad47f4c5306f37e09ab32975967253c65af251f8a45daf9363e6dd95437b7ab0ff68160d34adebf2d09f49449d184d627b8f6548ef02c9155c7db3
DIST futures-timer-3.0.3.crate 19739 BLAKE2B b7af71c761197056a6a4db03caa30f31c104de0049c09f52b18b80718ad20c95e0e64bc7a3618c29d1c9a5ef0309379044fdd9c1fee8465930d28b2c58927733 SHA512 c50388e38b45dce2a65a8d7ce56bcd9c3544ae677158c4c10c532136e861c16f0f52df5222a14c0f40ad8e4faf93fde8223affa7fd84d24e95aa6994177e7e76
DIST futures-timer-3.0.4.crate 24860 BLAKE2B 3e37837d9a0a586c995eea9037feec62bb984e4001863b14646f9277bad22fd02bbcfc520ee995d3878ab1298adc8b8d23b0e1a092b45b1bc881addf6d6fd760 SHA512 9643200cadd07943f4671433bd8596e5fde7b4f79ebc264f9b12c0e4f2d92712b64a37edde4a1dc75d5940f68d3f31439bb863fdf0b33f4e0150bc73460d655f
DIST futures-util-0.3.31.crate 162124 BLAKE2B 69ca647a261fe24f90a4221d8629169a8dc7eff9dd1c4e07cc700a52a8609ce9b8aa3974b9b09e1ee64d0121d7bcb3efeee6fc15983347aaa0b0b23b068afc34 SHA512 429b1de584546b931b17d475aacbdb0c14824a57d960c44e615aa808e8c0f9c126473e313a7150b3de87ea91b7eebebb1041509f61b3493fee8a9cd2c75c4df3
DIST futures-util-0.3.32.crate 168797 BLAKE2B d804428849635088636df69330881d68474db307ac4dd5863d73d1d93c54e90a18e21663864e94f2bd86999356e19b8325e321cd5c63da6e3e05f26c3af836fc SHA512 77705985b5cefd5a9009e631689f5967320cbd1363888cc8b7eef3f7457afb38c793499fc3edd4453bc8771c43436e5da1538ce0c5ef655a5e597f4fda2727b1
+DIST futures-util-0.3.34.crate 169782 BLAKE2B b71f64120f7cb304ddf8d6899ac3da21654ad0ef30803979b3c3583e5cb4f6484edbb411a5cb0c8fef33ec595aceee490dfc98ae0d8211faf90b1b57ceac7d91 SHA512 c5e6213da3767bd645cf27d91e5f8ae14040079e11ed30fc9332b404f058491687dbcf0a8fbfb3511ed463139db7879785bed0129e99de1fde6ee10c21aeb2aa
DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb
DIST getrandom-0.2.17.crate 40780 BLAKE2B 49168490a12561828bb324273c1a2dcb98017577f8500fe08a8bb7c3accc37afdc459af264da7b95a4608e53c4edf8fcec3cb240741b2ee7b128012fab975ede SHA512 23033dde606eaeacc0557e21b3c5ef732e083b17ae086dc95ac7d1a8bc1b695a9a6a7073b8ae774ec62e7477a8ea0644d417fa5da7841a3c8118694c21813d1a
DIST glob-0.3.2.crate 22359 BLAKE2B 564b72e2738cce5311aee12d8d6147631cb571f7b96d8d3823098d3dd449bcc23ffed5a6584f8979402bef95536b0e73fe9772f273295a0079782b9f7d88d19f SHA512 d15389441e337e3fab9c30102fe7b4b1b3e68d8cbb5d14162d2fd7e7d01a9812b2d6d6d2a24a60116418be41e2075e70becd6994c13b34365d512521e8debb02
DIST glob-0.3.3.crate 22861 BLAKE2B 34434d0ee1d50d0453f7294cb793ff123415feda605b09a2634708646fd91584db6b77a51d38c20ec89d8e3b36b136d071d30020f6325cbffbce736403c68803 SHA512 159a5de81cd59c472cd5705a50f140d29adb64ef10d8dd4bab77f9a44cce33933a779ecd12b399edffaac551fd935a3aa74ede4c9aa9b3e5212d220b3fe22219
+DIST glob-0.3.4.crate 23511 BLAKE2B fd5c4200c0c9c3bd388bc65b6146ab09a181b94ea3248f188f932760e75cc8406d3ceed07fd7ee20d72e98050405a396a58dc068887cae3203848ed51875783d SHA512 aa836d52b772c6bbd2c2749995720aa50b3e8360d9c89c7f5ca29dafb21543647a4b21dec4d05a26611255073bd7fd560549a9b42f55e6b8cf562049254d2184
DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
DIST hashbrown-0.15.2.crate 138478 BLAKE2B 453888ce68b10cd6e93d787986603fceb29b83fe2dc417e7e57316b9e0060d0bba51ec7fb71d46a038662c99f60deac8237a8f349297208d1d223bcc13f0d0ea SHA512 d6fc0613623f9313533dfcab1240e97f652f78f05baa21419f7edb2eff030c4a2c5f426d3eaae747923cffdd8aa9cc2648340e5fc229395b5eacc6fae087c8cd
DIST hashbrown-0.15.5.crate 140908 BLAKE2B 6a360eaa2e174ddd1e9761bc19edc4b57b80f84c36bb5d64003c7206755d4175a05f39c001acaf000ec69ced9e28c3853bd64702e2927aa7c38527a53abf2201 SHA512 654682535882733b56dad632851fed93a17ad0b2d3e13e3390d7802450781501e275b0e0b39fa32a6eae092132858ed79b305238cd5771c08987c5d26af6d692
@@ -122,26 +142,33 @@ DIST iana-time-zone-haiku-0.1.2.crate 7185 BLAKE2B 37fa14b589ff092377b9271c414d4
DIST icu_collections-1.5.0.crate 82762 BLAKE2B ab89336790ceafe62dd72f0aaef16a6eb47fa5e41424ed990e6c059ad431cdb3dcea943436aed0bf9c6eabd7aba12d255a2233fbbcf9cf5f666ef1dfd5b79a16 SHA512 127f1c91101ba69405b10a2590579606df766166fcf1fe6aa9a74c4900296425cba5c47a391a53a01b02026af5581f068fce4a7a400179809f7ed9922b94c0db
DIST icu_collections-2.1.1.crate 87233 BLAKE2B 7c627fab991ad55a6033adccae72306a3116a3611fc2e4a9553cc5690a4e6b88d6180527c9032451f89568a73b019749f3e4d4f49ea5e83558612e0671d318ab SHA512 41d20dad05d6d37ca97ae37f4afd51da9c2de968e8087d42a628c1543fde1ecaf9a284730d81a1718a8102aa0fe9ffff6b4a77f0e941c92fdaaafbd911f03a9f
DIST icu_collections-2.2.0.crate 88011 BLAKE2B 6caeec073fb6dea88daa77c7a4d8e3699924bfab2a98f21429e5aee73367e2c1e72e8c183050dcf3ce8f69d432874c69acd800b6a15b08ff440d45b0d683976e SHA512 e7997eca01778c9635fd918d05c850d43abc3cada2b1e79c0a4043f2bf275c238d185f1c55ef06548de88eb3d02c3d04f74061cc20e0843ee46f4776e701818e
+DIST icu_collections-2.3.0.crate 87970 BLAKE2B 85faf966dafc6d60153e4cf2ca6bd8eea68b0b910f6517a0baa29433a77b6c2ca1a85af9e7531c775fef2964f199e3485e4bbb2d36360e217c05f446839a9b6a SHA512 0cfaade3f63e6282fc66d216ba5f8ae21e21c6d72f5b2320933d5941900546ec7e2de0bad03ed4b0fb70a24c2b8835db611a87baf0dad552d7197782c1ccbfd3
DIST icu_locale_core-2.1.1.crate 70876 BLAKE2B df4099b46518196e8122aa5c248acdc5049153b19b804a043c1b00b3fe5010aea622e0b97822a5ca102b106f38cf75f24ec9578750bb1c8d10c042762f879246 SHA512 d83d2f14af1a285e3bdf6f1b81ab3ec6f8529e2375e04cfec245a9dd356265fa6770f76c1099d52f9d80219c7dea556035c3999abfbefc50091e142b8d2ecfb5
DIST icu_locale_core-2.2.0.crate 78639 BLAKE2B 106cbc50948d7253bc25c5ac3321e6cc236e23a548f0313267a2e028a74d58f838543a0caca50a2e3550207741f967e7fd8bf84c3b24932683b28f11cb065a4d SHA512 bf29c3f1cd5cea979ce82243aa19d4dada121448ddd974b27cb325ac92e18953fa4e9af2758198ba6a41c367ea659c92e450328e85ebf73d231126674e238c2c
+DIST icu_locale_core-2.3.0.crate 80250 BLAKE2B f446721b03cbdebe6bbbbf3a464a7484218cf00b7966b5fc3bf89fd0f658b482b1e995610c645cb7b0d589095c3b84539929102c0a45b8c7800b5a963edc6d40 SHA512 8d32bb29b98fb567badac45866241fd1d00714abe195bbd6fa1522bf6517678cff241c0ed1f154b25c919d66d588a92fc893e5ba32f0c38d5a96c8589eeaee37
DIST icu_locid-1.5.0.crate 55131 BLAKE2B cde2b988f0af200b8e7851a66b8ae08881670ad6ff79c5caf5135a04c200e5ecd0acf27d8856fb0fce46d502527d506095f469c28f325b9b9d21d2a3657149be SHA512 4b85f0e7cc73166a542b2e502b3ffae1f30d2a9609ab83acf98e90b0edb37fa8ae4592f61ecf48a0ae0779fdd376abeff59e1d5cb97475012eda99ce2a97da57
DIST icu_locid_transform-1.5.0.crate 29094 BLAKE2B c7bb5c5ed273a6a97279d4599f612dccdd796f3ae717411aa5b21949721989986d8b766041b9c7e49a91cdd42a48fc965effb8d7fb6d33554926d203a6535953 SHA512 1779078e2ef9859bee2bfd5414ad7e4b0f0a40e6813f4ccf8de2bbe8c764fac7f99ef001cce22332a8b3840af22e9c7fb7cc0341cf8ba61303794ebe87071e63
DIST icu_locid_transform_data-1.5.1.crate 42937 BLAKE2B d9d1d66a556ba5383abe07c23cb96765312fe9637aeea50d030488faa9431cdeccfe42a5367d84c8fddb7a3fd2550fef106876798a1f020821ebc1cb6d32cbbc SHA512 fe5b5563248ea0c78f63b8f5fa19b7298776e0d6dca062af108e388565c932d098b98f1e7eba1469c705184684a369e9d142b3123b24451bf5084bc7b83245db
DIST icu_normalizer-1.5.0.crate 53113 BLAKE2B ccd58f24469da1f237ed9a349f0b3bdbb49b8f5b1995d6254c6e3eab53a71208ff4a0b09bdc68082cdbd288df66499efb19555f41d12a19205d724af22fb504c SHA512 22612b86a24e3ea222469392763ae9d40dcbb37191dd8b9fa1c64332463a4299a53275a1cd3deb7e0f057d137f4312d990762f9925d0ceafbc8839d67c425a13
DIST icu_normalizer-2.1.1.crate 67132 BLAKE2B f43d626ee58afbdf472fdcac1bef6e334b8716c000f4a12ea21b917121b53ccf2d99af5594f589e7b68480522768c5bb8d9ce50093719c26250a77eac38bb3c8 SHA512 0dbdd24797e799ecf2c10a3c983222647698898c61fa53a257c67e95006fe80fff42698f421e5d9605a0d114e8493023dc888e769f4d1593ca988fa3234563fe
DIST icu_normalizer-2.2.0.crate 78154 BLAKE2B c24d908f03bc018dffe43820f19b8298d8e998a3347b56b59d8bef710055f7b4deff807a70783f05d81bbc04944077b7807dc8408bc1019a09e6346e72bc21e0 SHA512 98e48fcfe47623c592feee082264f50e96a82d89fa17e89d5d94de8e1cf3ec2529625954947d9b3bf9746f1cf0062b3abfd2d8f7cfa3b8e445c98284fbbc7023
+DIST icu_normalizer-2.3.0.crate 530595 BLAKE2B f09e3deac4810e0f967fbf92b2c10294b4cf6bc0507ad772247380187667dc2f7801a76623557f3ac7e72c25dbb6009083224bd43a0ce49d2e14dec5df229217 SHA512 34cee1d05ab37887f006cd2f842272be60a44667dec33fb79722e815e01f0cbabd0450c1cd78af68345426ac1269dc2b7e99e806bb29baa50f9b6d5d14024867
DIST icu_normalizer_data-1.5.1.crate 50737 BLAKE2B 3beba44344a525220cb64bed28c1d869d2df0cd7091c92841ed08b1a82b958e61d388653ffce6dbc49781a8a157d427f7ff89f0b5a3bf874d1dd3f4461a1f00f SHA512 372ea6d0ed10bbba7392cb563997dca1601b3799c5c9ae585602629cd064461d096bbb0c624f14e43ccbeb6186d28d2d75e7f2ae98bc3a5ccbc0893b15dce7f2
DIST icu_normalizer_data-2.1.1.crate 68649 BLAKE2B edd3436fb594109ceca6d5d9420ca876a091c0313e793ae96c932198d7a7d973416f0fd22fcd54faed2799977f10b33c169c1ba9c11b3ae461cf751dcf153f46 SHA512 9f6c6deb921252f4c9a243b6f2c538415d005c6e01221506cb9f5ca776c85795ac113833b1ad2661e478dd2b469f0f55a59e3b202dc667123daa8ff32b820823
DIST icu_normalizer_data-2.2.0.crate 67134 BLAKE2B 843c78279057acb4abd7fba5a22c5cdb0dd396365a473be4d03603d26eebaa1250b5463122a1f63911ea9dd68423cb7e47882b21393434ee1994ab4e558ddb15 SHA512 494559893b3db0960fc04294e1f606bf466c3970153335f48ff475d22fae614626d66d46130f0943d5345489ed5aa8118737d27b6e883d331993206a39a7484f
+DIST icu_normalizer_data-2.3.0.crate 67215 BLAKE2B ade0c89ecc9263773a7733b94aa4c7897fc28887f6714306f8b536d21c793493ee60edd3be9f54f73df504bac6f8329a1352d284ccea17df1f0c075bc70e086e SHA512 0bdeea4d1bfc0d92f10a5e142596af1bf27fdad38d16badd271babc693874d209b4bac2caeaff0176d5acb5db79361c7d56b2d9ed7a6e72619aeac51aec8dc84
DIST icu_properties-1.5.1.crate 64479 BLAKE2B be7d3a1663664095f4af654723ebc74f385a6423fbd3acad325ba0d6188dce9d9321eb323c1b1d8e6d75fc9aaef3d873b609d7049525d2402456c6331bcbf486 SHA512 7e347c0a02a41a3add950290bee90a339091a713546d4369c2995022e64f127f54204b0d46cbb88f396b3bccbd4cf12720a93d8551b73926f78fd5ec01829cac
DIST icu_properties-2.1.2.crate 60136 BLAKE2B 5e52d8c0f5631e0ef0b2c7e54bb1a642a0fab2820cc19224a27332538cfe8eacdb8efa46e3b5017ca63a7c9c0ddacc5dc2fee63902e9c5793d527407288e27a1 SHA512 3d80aaf6c1d9d970f9823c65cabdf057bff2af428563570e2dd6fbaad69e517a8bf2eba66be748618b8dedb5f1adf9973bfed2994cca2c7e3f54385099a9c265
DIST icu_properties-2.2.0.crate 63950 BLAKE2B bcdf9ab45f90145bc21478791579986f5ba5d1cad36e83fe90dacfa3b43991f98ff2434965ec47d2eb6197b8dc45cd72abd66297845e9f74545a97c4279951e1 SHA512 880c0e19ca4ea3abe1322f9ce70c7138b0275dfa6c21b32ef65112d30059173b6d532aca0464f6b161aaa94ad56a0bd06b45156ba0c5ecdfab6f9fc52ab73bbc
+DIST icu_properties-2.3.0.crate 102637 BLAKE2B 1c85ff665aa17db27ddce33050cdebd09396aa5960e73b8ec436b1be3da3bed4c17b7ac3602db2d3ee8f225afde53412d6b3c91155f52b3808ee6480b36a7c1c SHA512 378d651710e842a2c060de7d259fb68bd3699e3fa6a18050529f525abd18bdd768d657b63930deb37820ff7dfb146466f9ad3f4e0d2e31d26bce4192c95081ad
DIST icu_properties_data-1.5.1.crate 229231 BLAKE2B 9bf61185e1e99f213fda4e28e0fe196e9884de0bf00783357607ee9d055d43c4303e611248b174e7cce0df3978f028d15188503160ae2b08ef9696f9dc835d35 SHA512 f37bb469d33f6a0d5126a37469783bdbd268dee081cdcaa8d18461c8bcbf91b08a75ecabe6df8c47e532838c95816778ae7aa36a22571fbba452d84fa6d63228
DIST icu_properties_data-2.1.2.crate 163057 BLAKE2B 2a326c3f6e644666a7dc42597e4fba53cb533d6bf67bb0e1d9539d71d8fad68af29f8084362d089975f0051e71ace6c6ebde0ee67dd82b7e7961e1f972d58535 SHA512 1a1be68bd581594a7c98cbf5e1de8d4df24558ebb75a01f722fe68582075ef58cc0b2516a54a4df3bcf5080da24ed4afa8a8cc652999092f85f0b27d8c2a9f95
DIST icu_properties_data-2.2.0.crate 168901 BLAKE2B 47468d4e5235e73818d15918fca8ce2e404decc48e7c4f5e8fbd5b9010510a283c77793c91796152a80f0529eb4759d91bb0b6ce9b9498935353e4f190ee363d SHA512 35330585d459673096b545753e36cdbd3e26b202c2b905032dfcb477c546e4cca6d323d3b5d2f0e7b0e4a983094f048c1543d215fec68535fd5655e839dfbfb7
+DIST icu_properties_data-2.3.0.crate 169152 BLAKE2B c1a970db9aa7002eeba7864c022ebe3248897ac89374bb31ce8bbaf8831c401570112fb67fef9a2d11f05d11917fdd585e9f087021feff26218510a25989736d SHA512 ecbe8b68cc97684b81b0318dc5c2312bcb640bd43504ba99060b0dfdc4fdac34fc021e2ec67731f8ddc152f8e274b118e213ed3e864fcb0444a9b451657efc29
DIST icu_provider-1.5.0.crate 52722 BLAKE2B b1e53ac677e2db5870df0a91de405ebbc635c3f7931960f3bd744b57350c7536116f3861d4177faed2145b79c1c957d79815fadc2dc85faa656a1f0bb338a16d SHA512 6c11d89c7d2b788a44757f02b0e298b558ebe174fe917664401d91109cdc7bd1aba5526b3cdcee1f066018de1b775bc9dfc294bdfb40476c53d552bd6f29d6a1
DIST icu_provider-2.1.1.crate 50907 BLAKE2B 32b368e70ed50baf016a259266d01f126e3647aac03178f798764f31cc49d83e6634e45b394d6aa079ce39bd161598a641e5217e7ad57bd4c5138fa577652b35 SHA512 36ba219c8fd48382a023c0272cc7c8f32ed5e5ed648a9de0a61bb7d7a3728542ec92404e4a197433e2f65ff6a3f4c9e1fa4717f7a60b53e5a4f5d3a5276f2d12
DIST icu_provider-2.2.0.crate 51620 BLAKE2B 97dc0dd0f22ab74b80127a4091b8f140427c41189ec0897a65ea8443c307c27a46866b08d6a4e4b348e18c673d96e15258c2086a9513a9fa9c23c1a8dd57bfcb SHA512 a1a193fc08ebe34782efd21b70778c38fd9f6d99c08321cd2bb457d6cc91593ecb806dd61b8179fe9b66d99d79d518081eb1d1e2933b08a3b28158806ad6169a
+DIST icu_provider-2.3.1.crate 52447 BLAKE2B e4c8bb7a42be678f84201b0fa5d6d136b58e618e1566ac53e49e69a1525ee81c7fa8e210f1df8e203e6449b2b90a6b7271eaf5bfbc53f26a9e88f61e8ef63c2a SHA512 f617ee115bcbc8c683d3c8058333958219b91fa120b2c18e964c2bbf4b43348c6914a9cc503adc98a7f520a39c8df0eeffc4c8a38c1f7af74be1678fe6453deb
DIST icu_provider_macros-1.5.0.crate 6436 BLAKE2B 7405924dca41db72ce422437434a4affece69f888e5c18d2a92f761a8d83b180f40c8de9a34ec15d0e107b63b2fe0502cebd0a0ae6f98d9d6ee37d197e754703 SHA512 a0dd58d731556a010428fe4aebbc9dbcd626b46d380cf28ba5236ec8824045a20f6f2ec986e0c1e791bc8bc2b692a10306f448279f079b4c37237e4a3c3cef63
DIST ident_case-1.0.1.crate 3492 BLAKE2B bc79ebeefbb7e3ed1139e3f41d8d20fb175786bb123bdb9c1a92ea70effb4a0e5e798f24b068cd66a1bf20d53eea4bf24de495b5568c2d649ea804389a1327ab SHA512 81003a43f18da5997d644319274502e2066af9f9fd1400afda7cf2986b3ae0b7355b932302723cd3bda2d46b264340434d9279dea58425bad13785698d5808a9
DIST idna-1.0.3.crate 142515 BLAKE2B 6835a64772e5d301c2456a94f8f5f40ebe6828aaeb1d48e3fbe015917dc3ef95ac7cfd0e1f1763e23950482f4b46ef7987928c8dfddebab63947d5a29fb490ac SHA512 e75ab18297878df11d82bf3623b005a3dbf7a6fa38c8f78830c219adc7d6f4ac07dce24a5f1186de69035ec316421319e487396cfacb053674137342d72a4126
@@ -152,7 +179,9 @@ DIST idna_adapter-1.2.2.crate 10444 BLAKE2B 0d6559fb01b5507e5255fe89bd2b0db5a4db
DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37
DIST indexmap-2.13.0.crate 102206 BLAKE2B 7f3d070b645741f5960647f64759840b1941c1e28f61ee04d44d7eba0d8f600949cf139bec5fddb1507e4d5a9e12fb709a16415aa014eaff8f5e87cce41a9394 SHA512 f5efe0010603a3f1da8955f5f97c9a39e4d2c5042c0829c057ad739687d990c100d1276022dec23e7cd70efecceca07ad735693bd8a1b21b507b8892110198ad
DIST indexmap-2.14.0.crate 104085 BLAKE2B 828d8eede906c2908baecac840757ca8795587a552cc9dbcccde89a3b81444d99395670fd71404c33033aa5a1b905ed0621fc39236024c8b8b385e5d29ca6b5e SHA512 fa6bcaaf1b9bacabc72ae9d0569065325a6741b9ba5dff168ada6ece460175be47741d906d9326b48d30f6c55805d33fb64bfb497490482b4e412ac15a8ea55f
+DIST indexmap-2.14.2.crate 103014 BLAKE2B e398c32cd8fa9a4cafaa0fb82f0111bbe4ec83b6413163b1fc716f4c9c446e4c5c53cd0519b5c20353cb8c7c478c970ea3b418ba856aed12f7d41f46bd91f27a SHA512 ecf5a1a132cda2be21cebf1c447e17213972cf6da1d0f73b25969dedd1d3c444d4124e01c0b31ca9a78c906a5ff68ddd04602b25be6db877f23ee6106e3a063e
DIST indexmap-2.9.0.crate 91214 BLAKE2B c1ff1f45814b84daa854a692e22d385598bf30121e39cdc3de800282b187a39588797a4b187cfe8075eec77ae64bb5ce6a80939cc2cbbdbe6e17e42459ca71cd SHA512 ac474dea5da1dc14a61a28f5b4c850073875030ffad3aa871211a8b075a3e9a64cc748310b4554657f45a70d526010febaf3d3992a80502db389c2347aeeb2c6
+DIST intrusive-collections-0.10.3.crate 62822 BLAKE2B bff651b83d5cdc51ffb56af2f3fb765dc5c8ea72b96c7c6056be7a95aba20aab4bbe6f02234e0033a22494bf7c7e4c1bd5cb20ea1a7d709d758053d9c0028a54 SHA512 e196ea19c2ac653a62c7146f063c61f2374f99f8c1269e11dd729ce3cb211c7ea03b5d7f57a725f91052a9480266e5522914e548259a0a794b7f306e8983d0dd
DIST intrusive-collections-0.9.7.crate 56609 BLAKE2B a45bdaca41d227fc464c16aa6f2d7021c404ed31d0a4875d623c7508a2bc9c7b546e0115e5345ca8410378ac5329299f7b9d7ed3bad3856e16a15726aaa66776 SHA512 30a8e9ae4e6edc73f471d1eae2860fa3bf0dcfe5010ec77f18103b57bf2659b8bdd819023a55a97d42fb9b59558f277c8c4f95499c6b88cff13ca2f0ed711d95
DIST iovec-0.1.4.crate 8720 BLAKE2B aa1b4cd98ebe47901c0959cf1d8eb2586a803d0453e2a8bdd5c63442b32886dbcb37650aa218c748fd45c9fe3a7fdf20569eae5b19716487b139caae1526da4c SHA512 e23fcaac239807daea20ddcf2cdd4fb858ba1aa970ce6248f70f0fba5bff7ebdb27247c0997ac0ff2791178f86ff9657e473d8f64b86c644763e5b3474edd158
DIST itertools-0.13.0.crate 146261 BLAKE2B b23d59a87f80d24925bc868c0ac7abb6b9d05aad5ca08833634ef760ce228a1b753062ec4bd22237d0e74727edecd7ba3df9789cee896345b69780d7de66866c SHA512 c6cb8f93a93b6ac1a2cbb3033e66fc81a39f83be773b734bea3311332b96bc71bbb518aae3e6b40cb537590c23de1ca4964361c336795c3985bde63232d410c4
@@ -167,6 +196,7 @@ DIST libc-0.2.172.crate 791646 BLAKE2B 3a6eb0eba1e31cf89ac792a8e667c0f68b2a0e625
DIST libc-0.2.181.crate 814378 BLAKE2B d2eec9c7e312e7c3b21f27b51a059f332c9c66c677b3162c34654d072a9e7c0164a32797c1d5c92cc9452673260d060a1b4cd3b192e55d26236e3437ddd66d65 SHA512 a51a0a69ff35b5846954a8a515264822268552cf5f15529c525184e01ba7626b1a1ea7e61fddd9efba54fa2069adabd8c32fe7898ec72877d36818414d55a8fb
DIST libc-0.2.183.crate 816918 BLAKE2B d0c26ca25b0808575aa540a5f0f43acaaa5a972269c5f101122538a1733b37b6aac3696a0d7298fe16974b06efb0b92072252eef40b17b977af24cc857963daf SHA512 017986d4fa8c362f8900c1c82c7381066382a7272cfe114243b8d47637d042c87b5ebef7881cf46727e00e541a0a8270a32db694ce8d78372672cf08224a90b2
DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e09b96c6d245bdec0fd9a19d49ab38e25306e22e47564764cf5dcde45855237cffc70230a143eca2626bd5c3c SHA512 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690
+DIST libc-0.2.189.crate 851502 BLAKE2B 05155a249c6880ca96a19bbb7569d4ca7530f544504e4ccb48db1ebca0b70d84e99c6b9532adb9dfbb3d4d1187eca22698a6b2ba6ae40bebf5d6eafdae86c71d SHA512 0cf621171ed4e6bbfeb71fb582ebf037d62ab481bc406ca2fb766bd4a8416f220a189325a0d3cb3e3cb39d80e09312516ca6335fad71b329c5fccddabedf4110
DIST libloading-0.8.6.crate 28922 BLAKE2B cd9d7c2652bc4b0220e1c29cbfbca41f44d12d76c4dab3d025c21e5d317407ab656a88add0db95f1086934a424f55b4b413f33cb2a52cdcadde7641f9c5b3fc3 SHA512 f49ab79244d4b54c2f181bd9d7506fe5df9824a09446924dc429636e08ed7bcd6f5d2afaf8a0c862982e2c2c5832370b118266d36f36bc7b7522668bd598fc81
DIST libloading-0.8.9.crate 30222 BLAKE2B ea3e581dfad82c73731e7c2ca13dc608d78c4e6c517d063ecfc0fb138775ccd9c071aa2c7b539476223510dfb4aab03783fc46d610771eba21933aaed339d1ed SHA512 374d82f4516e81c0ff66f244b89b486ccba675cd7e9e65b7732242830a43caefefae2efd11c209da64d8d96755c4432aea97f2dd200969fc077545212a1175ee
DIST libm-0.2.11.crate 111477 BLAKE2B b1247b197dc66a38b9a1f9db0e32655c9ee09575347895bb1e3f22e6953c334d74574a7015f214b0af0eed564ff2ee4576d07d0db5421aae917a7aa1e10ea142 SHA512 86742b5d97dc976cec5bbf75f565b40c7058e74cf840cbc7baf4d84823318040ac692b5796a407bd44caac553dda3f5a087d3bf8d6099cf26305123ce106c7bb
@@ -174,10 +204,12 @@ DIST libm-0.2.16.crate 164243 BLAKE2B 103d5eb2c94b0566068ceca366c1663ec5cb0a31af
DIST litemap-0.7.5.crate 29962 BLAKE2B c94ddff0b5f6fb99d6adf31ee7c953bb1bb3741e5a68cfa598c75f58f6f426a53d19423e40b0b3ae2010e1533b4d46eefeeb7e86fdfc72289748cac897ba99c9 SHA512 722345f73b4ec2e91a9407dafd3951f1aad0acfb66e0adfed8b0a83dc1ea71d513fa5570bf960ef51409c9d50aeac23f85410ec6392f5620dc1f1e1e1f884659
DIST litemap-0.8.1.crate 34172 BLAKE2B 3614a408d5c6b03c5371396dfaa5c654073dcbcbed3782a15cb6aa53973405344ae8ea7e96cf4b00e036be985cab9503bbdb51379fa55ba739c387d28d646a85 SHA512 6034f72d3c90ebe406b7e1b6df7e2535cde7728cfaa5328e66351d231f888625f394974f6aad891eff48142b00f14916fd8464a59fcaea1627ebc7338b865ead
DIST litemap-0.8.2.crate 34572 BLAKE2B 1c052278ccfb685ca8d1647f6d35d2f3cddd74814d287b8f9d10a0447781a1a33f607b0745a6c83b7e940c14076c90e4ce1029e8660b57b174683f8af2585fb4 SHA512 3afcc1a89aab55368bdfe6848aa1268d37ea8a03130f1f0e1e77d6709e437070be83e9e457bb51a7096c3d93ee0155740e33cab03f7584ff3cd7d8992524a7f6
+DIST litemap-0.8.3.crate 35045 BLAKE2B 4b78bb2319716df6f87eff928e4acda6b545b3062561218f7f2288f15d58fb4c4291418b19bc9de5535959d0d9fadb87b70e395a1aa4bc6942f27c74d841592e SHA512 7662ed200beb4bff4a9c7098ed4f3bab5fe238b810ab65de0ca681e7012dc4985dab69cd2c38165e9e122eef40dd8ed2918ea784698e1699c1b946479183c329
DIST log-0.4.27.crate 48120 BLAKE2B 09a2159032baaff7eede480062da30ffec1c1d4c77e76288467941dc13722ab1566742c1821326ca5f8c2f9f7597099e235213ecbf883fd93daf5ae9ad5ee981 SHA512 8d57219b76c8a25bae193e4d16d4d03bf0b8523e1ed3bdc80a692cabe00fc0359ae9bc3be989f04476ecda7187f27e4ad23fe260a96fcefc819af00fe12a1151
DIST log-0.4.29.crate 51515 BLAKE2B 3f5dc889e895428f27ef107a63004c1b321793b865c29b20293adca81db4e25443e24354af37018c9a60dff1d54897c3b7b2c014a64280523f4a3586a7eeed24 SHA512 31bcf1669c27980f0a8500082c4d0cc500f6cc943518a3dacacc3ad4d8a0c238517f23c2c1969e5a22dbb5d25614adbf4e914c0557e45e1ebc8e7385b2ed14b3
DIST log-0.4.32.crate 52697 BLAKE2B beac058fbe38b32a7e06cbe1134f5948467f2f19142b5972b46e4601cca223df9787a824987687964d981503e441cbdd18e0d38c353ac0c5efcd8e118281b712 SHA512 566ffc1211d808f1fd9815da638d61faad6f7632f70838324d6fa9c70625821ec2f1ba701b141252e14ccbf57f6733af16d8549b6519f66c0e2bec9a61fcd15d
DIST log-0.4.33.crate 52997 BLAKE2B 2cbb81f23ec11fe6ac70cb6bb5d1f418a4998726752269eb0accb72f740bc076d8b1a7ccd5219a1a371560aa2bb70b524ce04383510a0e9e7c51558e305af235 SHA512 fce3eaf97b1415e413aec344a156d930ebaf52d918f8d9ff9e086f3df58253a6306a215aa4d4b4782a1b7deaad484739666f4fbd8e41272bf95ce4fc6306b74b
+DIST log-0.4.34.crate 53395 BLAKE2B c79adc36efcefc23b0d4419364e4f6e31850afe766081283b97b9b8fe1c99159b275aaea6a06ad4b57bb0ea0f440b72e88aeac8425d316009ade570b8e027baa SHA512 6f51dc492f808262a67b28a1a80055aee15eb9437d0b0e21e0478cb94db358f751a61172f0c303d94fa949a1874e3f25bd7bc29d9724e3d43849a9f3f4b55d6e
DIST matches-0.1.10.crate 2592 BLAKE2B 6e9e8ce8ade3fa0f144a1befae104f63764f8346fe864395be44f99d40ff0fbaeb45b6f2fafb2e7822d1ca72f1cbeaee4c5f9bc3e2485cfef2b8de2a4183ec04 SHA512 2248c6192238a8eda2dc389a5c27357555607b726d195c36c4cf647f793a4a9e17ecdf5145b5a4d8fe6eba7f9b23c7b2db1cbd553f5610d25976e3709bc2fe4d
DIST maybe-uninit-2.0.0.crate 11809 BLAKE2B 5e517b8c59f9ae4f1a4f86b48679ea64d62450ec2519c8caaa914479ce9e5b3aff24707e2e37272ba74bb60499afdc602fff17756337b0c50a9184edbd8b8805 SHA512 3006fc009c7c743d9147a4122e677cdeb2546f7bb46963b2f266839614eb906f9d763c161044fd0bf3f7b54124ac0734ac9ae7f7151b1a7a5f45cbc739976434
DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
@@ -191,6 +223,7 @@ DIST mio-1.1.1.crate 105630 BLAKE2B db279c3e46108375f5391a5ebc3ae07e8ccbcc9f6a71
DIST mio-1.2.0.crate 106403 BLAKE2B c9b2342879cf19b95c9b9e472fd5e8caa6f6371bc7734b6d9af71c736a4aa218837ac3c8a1f84d1fd1ce4bfed9ff417d319f47e52c4d637b15e2a179f859c3ae SHA512 148daec8a99b63ad5742695ce7b5306d32dfcb484fc819b1220079c59219695d2892bbf83b65aa2dd76b68272fa195d353ecb28d9de795e176c4a38be729b04c
DIST mio-1.2.1.crate 106774 BLAKE2B 7226f18a50733055919db4adcbd33cda2cbd0b47f6e91bfcb0b800771b332a2b64b657b34733283d61d79550542f553227a4573913918b06e894d40276c03a9e SHA512 040f48999dd656266e8ed6184d1992450359064d9d3ade1b8e4f483ce76cf612a37fcf653fc3f47dda795f22239ad883578feb2dde3f9a9b821ea5320d83c55d
DIST mio-1.2.2.crate 111363 BLAKE2B 5800dc6e91644f3f63efb6f82fe90f008e9257f4cd998213f57ba8377cfe311041683f59d696814c8800627714100028b8aea2b733e56f3958761f05e296b9ff SHA512 018a8310768d7f7114f0b017ee85ee028ed5a97e7694826b63e5cc36ed41921cd2f3b03817231892a852b98611555465f78b1cdffb30e88ee4ff1c515c32d532
+DIST mio-1.2.3.crate 110455 BLAKE2B 6b9352bba5f7b8ac5e2e3434ba8283f26f8ce45471b544616b125d21f9fb4c5e88778d5b9f5642d47fba9840b006ef3ef0cf53cf347c6cad599ee77055022045 SHA512 5b5bcff74dc9b1d7ad2d322d5237be4bc323ad915fb20a1a6e4814c809888d6e0c37d3e89d5586fff1dde628b9780e03c04748eefb29f6091df6bdc2f60adfc5
DIST miow-0.4.0.crate 27567 BLAKE2B fbd395d3766c3874da8067dec37bfe40f3dd90c995af5139d2583aacb9d634cea73467b87b84af84c760cad89031c1d26670174b2c52e932ef6729d3fc98dfdd SHA512 fc974ec96a82c92492cafd15a5002c1c647841d607cc1726eb2b98645bb528a5d6adb086322d6fc1753326500ecceecb6cf26d721af26441de8ee23ef87be0f0
DIST net2-0.2.37.crate 21311 BLAKE2B 21cef5df92d5d51c8e23c57ad2225e3311c13083fb86830bcb313965eb5ad0170519bed9a47cefb2305d3614ce55e11896a06437cf9ca50c79b7843ea633e99f SHA512 9ae70c655468c3e35ce05988626e0398a3cdf7b7343c08aaecf1267bb958329e608b814cc7be252fe085de3cf6913a1c72aad206c677459469ba4886c20206ec
DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
@@ -200,6 +233,7 @@ DIST num_cpus-1.12.0.crate 11867 BLAKE2B 49ba476ebd14f2894dcd3e017921a865ceafe62
DIST octets-0.3.0.crate 5760 BLAKE2B 0375ce7b14f37a072fc0269c3995004152759e14f4c933daff26b5fc0cbf5c6e8640746dd5bc65694810066729c3efdeba0791958180c4beb63c0b892230f135 SHA512 cf74ad97161da7db775d4f46db045b6aeb9a1a65cbf83539f765e9254735db1d8e18aa349b108a046bb7d931c71fd26e91957dd119abdef27248de031869f226
DIST octets-0.3.5.crate 23006 BLAKE2B a88ffb8fa06699b0af5ba8b998dc91edb0bb542ca3633eb240a7436abe6519ccad8804facafd42f56ccd69fe1c561a1882aa7687388bc16dca4c274609dc0f2d SHA512 5a7c06fe2d25822a8bbc9bca8299ab94e70cd34738ee9c84dd924bf8ff9bff28d003d26f98091c31d55a9a7b51df110257efa96028a037fa004db9afe329e8fc
DIST octets-0.3.6.crate 23196 BLAKE2B 601e83ba1c6f7c0132653b6877769367ccefdcf2afd41a596e1a7c63928e375a138a64c9ab40d17010817a21b0b03bd0444b2c17acc8f1c830d8e747f274239e SHA512 3bec3617c5398cb4b4289d4a81f77ad2eb4a1a42acbae72d8ead54194b53429e7edf8925c45776e922a0e863e5cae6f9012375fd4b5627ae0b2b954bdcbe2371
+DIST octets-0.3.7.crate 24373 BLAKE2B 102dbcdf70cd407bb4119e9ff586555a033d7eeae797ef0d1fe9630eeb401dbaea7f7b2ce3baef0a0335a4f78398935c689298f693a2804c02f82616001afe1e SHA512 1e9e0f291dd8bd25c36bace177f655f88753a6521acac018ec600659afb676382627e389324b533e80c29206b5ab83be57aca79d6962e3fb148c1b4d8a29db0d
DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155
DIST oorandom-11.1.0.crate 9762 BLAKE2B 0589af12d0ad99009655272035738a6a5f57abb47eda2f2dc3be443474cb67cf4808207f95aee0be5417714f1c72c13fca82fdde778565574d670271ee9528d1 SHA512 faf840b52a315125d5f6c80f6101fcbff6ac29217d362915ebbae4f7337c18ecd46b89da96bf67147e84d0f805edb626be0da448af12b0bf537fb0f0a3a25c0c
@@ -214,11 +248,13 @@ DIST pkg-config-0.3.32.crate 21370 BLAKE2B 74ded191f066bc223739b3d4afec58f23de57
DIST plotters-0.2.12.crate 3194754 BLAKE2B 21035d561321bc66b47cd3a1d3374f4e11d49cae62cc363a3bac98938328aebd527592270ac4014f558751bcdcf7e4994da5647baf98437200a93849bc9e549f SHA512 f9d8be381ffbb853b9a3bfdb0cf5b29c23fbab9b376ab2cc9a734fb7d573a1ef1ae3a32c5b4f080f534e52505fba1d6051475d62811da01205323420f2045dff
DIST potential_utf-0.1.4.crate 9514 BLAKE2B 97979688c9a93a05c29a9a55ac0a37e704eb4623d5890562cdc1c797cbf3e73aacdc6251d47151ac0874ec6d1eefbca8173630f20de3c44fea254be90819e027 SHA512 a8e36c596d7fcc3f13a80457a07da5ff0fda62954efeae3c2aa477bb32465b20fabcaec269929af666030415343a2c94d86db26f9f9bb5e2e2b151581f0e6022
DIST potential_utf-0.1.5.crate 10189 BLAKE2B 0d8967cfc088089bb8d9ce70e9d92f69fc92532c5c24eec8c46ba0b1e40819195c745206f596d63cbdcdac436112d770ca378abe99f3ca0c0d2588b2bc339f62 SHA512 72950504acbd0aeeff44e0169f1857461f7627e7c638698ee005958c14cc0e68b2cfde33a91afafdcce98eac7ba7d54a125ae22562c4120c31e4b745bf298b54
+DIST potential_utf-0.1.6.crate 10420 BLAKE2B b7f263dcc7803cf03ad2eb12db0655abb1c844875c3243cf74520f23687d817d163de587811e42454a84b31cab5fde328526fce35eb2959b021bc18cdce970ab SHA512 2180af56e064b7cacba94d597f688e95e213700a9adbb7fb9b78afb7c36a4fd4c2c5bdb64049fac8772f22323255ef2c294ccdc30ff9d160c7baee5a12166ba9
DIST powerfmt-0.2.0.crate 15165 BLAKE2B a3e1ce63f5866f75526eeb749bec6607e42cb495bbb953082cde7e98e6aa429ecaa41889d98ff7ed4cf5031258b4f7e0553ff8fc435b3b6f8b4ef2b6d53d9b61 SHA512 0623f92e4d6ab284b3f6dae58220d79d9185df4a738999d68040c50d72fe0380d70358cb622f079c629bab53bb03c6e085e165d5bddfbeea84245864fed90029
DIST proc-macro-crate-3.3.0.crate 12432 BLAKE2B 79892f0f9907beefa62e715773fda97e606ef70f905a072758f44b685c63a1c3aba40548f5f63cde1fba7f3882701d763dd6246a500c26e7e3e41c351c89fc91 SHA512 c16c0227336375106f655c50006a2ceee151c7bbd0a9c7a06fe7912c3370b0c3a7e4076fc8977b400c63433dcc3f7fbd96912a5a6a83148d93df82ced484ee20
DIST proc-macro-crate-3.4.0.crate 12690 BLAKE2B d65a1be2058cbbd5458870153bd2758be63aa900f4daf012b7c527ecda915c6589f4778b4a5140b6c1a77e3bf1b954e0146de0ed6332ff12d3b9821640534d35 SHA512 bcfa9550d1938f2d92c3fce823cb7fa088c16b43a430962028df77682acd5227e7195042379a843007cf5b71b2d53a2dde649c89b92a1b87d982acbc088d78ad
DIST proc-macro-crate-3.5.0.crate 12709 BLAKE2B 693372efbded5ff45bfc4bd2dfe4bbc28ef939485e88b57076d92c99fce2824dca88373b1ce9e6517e313f2402885cf470028cf7e619eaa291519b8eacf697d5 SHA512 8848a2234e503414f9e5e90e7ae6e8141b743205c1bdf31cc5211781414c8619b617bf78b61d880178fa1d7e0d1cb172ac03695d9f8c611619e953a1fbd0353f
DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744
+DIST proc-macro2-1.0.107.crate 59588 BLAKE2B 91df0c573e3e1f09c1aeedcad0381cf18186d72c3d50b077b1d232fbb67d1c87ed09f3c6dc515140041c2dab5ce7706042c8235b93099df7d1c962d4a3a99160 SHA512 c109d5509624a57156e0eae22a3aec89a1a163623e8b4e376a13d872a46e4bf6855ee3cd4428c07cdf5c22f2284b6ce755f9cc7e075480e4587ce4f2d40fa903
DIST proc-macro2-1.0.95.crate 51820 BLAKE2B 93229d80556ec03bce4031607d13c7902cacc2d7e2586a692ffe8543d52e3f3ba253c9c311ddedf6d9348ce8758ae8ff64577675cda2dac557f936a328de47e3 SHA512 f78e4d47ecd29c1b2315554705e445507bbfb9449afd0bf1b74df28f266ac6382ca8c3ce135ddc55c989eaee64d1794a0933a941c8ff55f543fa21c400016547
DIST qlog-0.15.2.crate 24450 BLAKE2B fdfc49b5044efbf1cac01c7271c7cbff6d9bdf12c903575bdecf1544c238290add83bbcafbd2579acf5698a5a0d6c8d1870be6684e2a65407404ed6ab4e4486f SHA512 bab5ed947a725294eaea6f3135d4c09d2298e8506dce848cad3f1be0f8933f145fd9fd60137289a51014ab0fa031c62fbb217ae97155f98bd5a88d7afac1d3f5
DIST qlog-0.16.0.crate 26064 BLAKE2B 2525d9ed01a367df35e255e3df881b9d255ec4bba64ac9ef2b0f0585d1e0c6cef0d97175226bf55e418dc0e07f2f05a80d750d6f62ab6ff8f7a613fcabc14439 SHA512 bbde7acd2795e80887cb2040f7676b81e81d2def71ca0b085952e6f28c9af2e51502673b9669a4f8edcfa04bcadbb75db28bd64d2be284bb2cdf16b22a787628
@@ -231,18 +267,22 @@ DIST quiche-0.29.0.crate 437023 BLAKE2B ff8393a977cbad63f69b037e89d65437ccf50a63
DIST quiche-0.29.1.crate 442416 BLAKE2B 75ab15b9055324b015c22999ef7ed1d13f2e51660409df934c660650ca0215597a3a0bd991f0be2a032692bb014d49feaeed2347b4a4853efc2b9ad72c020580 SHA512 0f1077f82d7a7cf67947c2303b0b1f71380c8b457f2615c6863088a05756f47fc40f7dc714a65ef847681eb803e04ce1845d3a75d13135173d49338759df0ed1
DIST quiche-0.29.2.crate 445601 BLAKE2B cf286d0d29e964ecfa32c508b17c42153a5f7a917687e31faa587da2d1301f77a69973dc420d59ee47d505a1f195d89ee86a4d320e1afeb5ce7da2193833c2db SHA512 4e05a0f707e8d62c743f078dfdbd00b88cda306b763cd48cd2502ba827376111bfdbdcfc059be859ea5fb0643dded5c1b4b2366607a6ee4a7a470d2f37adc578
DIST quiche-0.29.3.crate 453798 BLAKE2B 38cba2cf5aa56929c904eb727c3762a6dcb01c071e83d4ea62c1aee6be713b2f76d9a2c174aa77febf8553626a7aabedba16d55e8676022a094e6494744e3f68 SHA512 fca320e762c7002ab5827d8fd16ace33200e2db22d1a6d349ce834e9afa48e0429fe3e8b7e7476828cf176b2a897ffddbe856f7aac1656b40d82b9f722e5c3ee
+DIST quiche-0.30.0.crate 476599 BLAKE2B ba405b57d586c6163c93c799a78cd9f502e4cb19bbc2e94b77bdc408e380615cc42a45868b24f6ae5c52b3b9c9202cc9367a02ec1231d6bfe579043a0efc4f08 SHA512 15de64d9a5a55c95f8cb729dc5f50db162e88ec66e85f24ed5eb7b4f77d5c5b8c06108a639a2e07d0e2b64772195f2074e04b365a1b27783d9076e890bd5f7e9
DIST quote-1.0.40.crate 31063 BLAKE2B 09036ff3e5ebbd775c466bb936de91d4c070481eb4b98c62a4cddcda57cd7b67d63f979b321f6ec64aabee3f5da6c28e7a3efb83f4647768ba578f1bd0bd0bdb SHA512 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99
DIST quote-1.0.44.crate 31629 BLAKE2B 6e34e4121b7a37fd7492fc22d652c44ff90b8b3391b5cfa320a606871a43a4494beca15c1d4416c342bf511adb6442afa5513821514c52376175e2f8a98b7293 SHA512 6c1e9b31e0c8bd13cd865e6846dc243d88f2c057adeb8e674117bdcb46947219a6a352a6a50be1132c483f55331e6556275ac514513dbf017825c64e5d96010d
DIST quote-1.0.45.crate 31564 BLAKE2B 1b2c2c3e6ebabfe10affa4c43ca0bfd1f52d8fd49e1df463e13e63a82de41272089c8e09e4c02e8a33cfee768ace26d4d42a50752de8fb5a776c59806139ad5d SHA512 df96ede01ebd0ed642b758bf1d0862d0e116fc2b3343e14edb657ce5438ccabe743dec4a0a40de4dee98c134d169af9aba459faadf9c7a832b26377e755d49b0
DIST quote-1.0.46.crate 31628 BLAKE2B b004131fc9942e278d3a89e9a68ea76098b94a488a4e5577074f59983809d92bb4803f759c47426a683191cc23bbe9783bbebbcbcaed6488d45a0e01b787cd36 SHA512 f51e65743b9f15b491d20bb6c3a0df921cfec29df8bafca36c9dde034b5117fe3f4eedcc258126c6cb1729be1ffde5fcf7e5b0fb0c3de4a618f46ab3cd803e77
+DIST quote-1.0.47.crate 31622 BLAKE2B d912f17bdb5f2db29f5349e976e12da52db9d2197dd9900cb00e907d1e9b06ab177e9b020c1d53f6a6cd087e3a973aed5af63eac282da77792b2a6d6e1b35b07 SHA512 544f4324d425ae011905e0d1b52e367d4660bc34457b2f802af94e1def1e6c4e39ffba3beeb40d75753967d15b6dccce18fea273e7f3d46b63d5c89898d19441
DIST rayon-1.3.0.crate 143294 BLAKE2B c52c0ca7f3424eb6c251f91a4a8f556ff40120889b91fb0e4dce36401cbc653310c16393c12b73b29d56eb04846e06c04942b7fd41173cd8fcd8dc11046163f7 SHA512 176af1a8148026954e271ece820c67b215223cdf11b80ff4e3229e4871ad87ce9c21c0b5b5c9f1c9e8063102ed0722c3e5194c13bbe77d8688fdf81e0ba8a599
DIST rayon-core-1.7.0.crate 58306 BLAKE2B ffcff7e465267a5c360fd92089787281fd1dc07af05cc49b62dd2030267fccb31ea7590509d2af8b7e7a87df9f23167358e91044bb61062bdfaef790d2a4684d SHA512 7bacda8330518c137b433ac1f7f65f64aaf7939d7fdae1c8263bdaefbdf6734003054a1fc7acf73d4e323f27e9f152f273ffb7388abbf6cca0fa2357f1362e2e
DIST regex-1.11.1.crate 254170 BLAKE2B 5cf41012fc2ba8a006c0eb4a922cbbf1614bf300be361c9e2d98956a9a5e9b140e37bea09132fab7bfb633d4439158723624bcf45e8c619c4061b399253c1b82 SHA512 d065f6dc405771518260425f39a5eaaf8cab62e78c91ceed3b3994a9a121674d2484cadaaf816bdad89c87a40550d57b66a3d9de6618a7119a658301ce7e67d8
DIST regex-1.12.3.crate 153392 BLAKE2B 30f272fc2cda1e36219dfccf0338edacceb5bfada7ac81dd01429661b01b0fa72f6bb343e753e2388251aa0aadc0b5cf61e07670020c9ab351f418c23653ad47 SHA512 73ea9581c861490ad4c8c767c09f1f39be525f4298f5b19ba7b658dfade4c91f7ffd170214382ef4694855c0a48a4db57c39b75d8fa6a9312b07409170c66000
DIST regex-1.12.4.crate 153468 BLAKE2B 404a31dbafedb5f5f4d45aad7e266ca25d3e8a15eecd2c8eed9c8afb8b405e2337c7df3b4dc7fc86742eaa93c55c76b625458cf2c212e5140bebc9f4051dd9c7 SHA512 d925acd772c27005cbf5dbc964d9537d9c01804b3258a155393d04ce1bddc9c145fa63ff4ec895d8270426ca81d551cd333f00a0050df2e4acb8ee807a691203
DIST regex-1.13.0.crate 155857 BLAKE2B 76256cee3f644a3d4504bccb866db097dee42635b63dc9388cb148e02fc86e7bfc1b363dfacc833d11a5b76a1d3db88edc5efa3d03fb63a0c2d6b8600c233f14 SHA512 d7b03977958bfe377160faeba6c405d7a5f403d745bb05be92e4eb1847b458dbe60160bd7f9062b7a31e012a939f34666d65ebb52ba9ff0b3018300304fdb42e
+DIST regex-1.13.1.crate 157118 BLAKE2B 8dc2137c2c7305a8696d6925a462c0ed7d1068cebbfe5cb3d738e2f7ecd0b3de5e535545510811af65abb381190b9dc58786f0d3645da7cd7e529e4fabb3d65a SHA512 90739303281da8a468255dde08988ccd99b21ee19df5cd3a6e802c2213d9f06b9d5001a045a76230a313aa7c62909d2cc38940512ccf5d8a4193781f05bd73fd
DIST regex-automata-0.4.14.crate 618012 BLAKE2B f12b0f1e59d32711c113f5f2157a4e1dbd05095c386f0e104ef3d551cf029d0c3346d09f54d5b8a8bdc557ab4d91ab80a224d81b3c522b3c64ad1566972c46cf SHA512 58f8e7c41f71c1df50fc2f4e70ea7f5ab762170494497541b9a09076058f94a799b6fc4da13c40fc26a2f1a0b650b499cb9830338152e96a24e3a32b4994a5e0
DIST regex-automata-0.4.15.crate 618603 BLAKE2B ebc463499ebfdb6826eff27c15714e4e6f363fac942b0342786072007e6985ae0b1a7ad18514a03c0972bddcc7e0b07cf53fbc7de458867e546f228e5697fdbc SHA512 9dcd508595bfe9f42f9a5380bdde89f3588d152712ba88cf07897465b424f26d52057021944a7983f64075a27eec0bb63bec8b00b1cd93a7494df83fd3ae5b3b
+DIST regex-automata-0.4.18.crate 628707 BLAKE2B a3a9320801319eb6312fa5c90b727a847cfb520a823a1d5a85f23bc07afa81e9e02693642b1c9345d80ea51946131681f048580e2e7a4b27869dc258706d7042 SHA512 8bab8d044b771079a73197796817d31b6e014c56de0c4c02863469186c2123a6b0309a39cf7080073c154cd3f84e936479ab62f256bd92fea9c7501871db73b3
DIST regex-automata-0.4.9.crate 618525 BLAKE2B ee3fc41c8c445be4c1aa3e5b19a3e61efd641b1a24e7a1ed55f837c1fba9c816272cb4645c13232b66b170bc7c413802928beb22e3891500141ad4ede65b60b0 SHA512 40bde0ec91cc27bc0c3fa237a37ecee5a1f023dbe006a999c5888f8f578ee2c4c64d9edfe1827546cea8e92ca3c10f8b4d494d81f3d0422b40d90bca9cf598d2
DIST regex-syntax-0.8.10.crate 358781 BLAKE2B fc7961b2c6e4d297f4dcc73cb3f6a82d7d9bf964808beacc86ec8c73f7b572f3d8c7503ccc4441a2d6283b8cfbbbfc49140b31207b5aeabe5a60c8870460c91e SHA512 ca9c36c963c81c2fa36e1105cdd193a9b99ee259de1765e6e8010fb4091e49ac100e2ba0cd117adb0890b32e74421581dd6397eb896772168c6eae9da0a938c3
DIST regex-syntax-0.8.11.crate 359055 BLAKE2B 5e1cad4cb361ad8231c3bf1d3956658de9d69d4e44120ef5add19d86fe8e1e07e6445db7bb4f532a2313250907c61bc8d4873b0749b1187c367eeecd8c0edfba SHA512 8bf74e8798d935392212e20c249a8bc4a82e8e440cdd65418a403691b33374d28220bafebbddfbf742a3d7070a1fc0fbf6cfffafc585032de1ff082184b67d12
@@ -258,6 +298,7 @@ DIST rust_decimal-1.37.1.crate 152139 BLAKE2B c8dbc32f4b2e46fa171723343e01cd3dd4
DIST rust_decimal-1.40.0.crate 154583 BLAKE2B 12f890d72697c0a7887f071d39ab7f0754a44640f56db239251281aa58de4bfda6b301700bdab4c870253a945f1423a7f083aa20693d4bf19ef9d23d4f99dee8 SHA512 c01c8eb2f30df52200889f8f3b8735d1a965b3015c166771d87ac2ac9c3a7642432573b731d1c9810b420411836d90c158f7b03ec31cc27cbf856101ff74d28e
DIST rust_decimal-1.41.0.crate 164049 BLAKE2B 8769aa4faef5eaeb6fa72b28d3618c3a12c7c2003c7d9754539c8c8bf68d13349618386b1d347e8e8c592f145329a4f3e501ca27bb0fa9c2afd8ca229b27a292 SHA512 fc3af83b88e93abe20b7db78dd912b2a7f49bf88857b9ec0d72df553033375c43a7a1ea83b6b614d94bf5a12f936bcb942b6a857c5763190ee579ae25a1e8047
DIST rust_decimal-1.42.1.crate 166294 BLAKE2B b1c5b98d7347e4ec22287dc4779cbc59779b8c40aa3ab0ed4e8e7a73b5e8f8614f5432f551a6b5d47c37f56336fdc2478ed07ac86085254c9e93fc6a1d561f43 SHA512 6b7ee380f0ba3f00af637eb56f532f32ead62aca5f5ad6c542a75466ac22ab07b6a177bca51e0ab760e56596919cc8bac138301593c0e79c629bc074c76773a8
+DIST rust_decimal-1.43.0.crate 170178 BLAKE2B e4d4b5e15448779d4f34b577a3bc5f2bd23819d97c45a8b2c3ccecee6c67800c3138807b391139bc4671ce1694ac1c74c89a5dbe02e3617f23f5942ab0743434 SHA512 055fe953318c42d54082af1a8541e018879a498681b985175c1e4d0407cda80b2d71d110f458921b33313dff5b5163ea21c0b530337c0beb619683f388d40335
DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
DIST rustc-hash-2.1.1.crate 14154 BLAKE2B 7a1b3b82bbbf6a123512815c3e8f068a17890cbbb8b68e88a5a492f62469942fadd776207eebd913052a1c06e1fd37a549e86526b9fc8f08b9ca7cb0044ac16b SHA512 87097d98d47f327d000041ab13acddc366f1500d9c3e5c82169c3358112c7a7c03701c9b3c2c81d9f9da65b7ebac1c479b179dfaf7c059cd0b929b4673e51084
DIST rustc-hash-2.1.2.crate 14754 BLAKE2B 6e9bd4ca7c27339e5d06bb82139d9d4f18c9b56d4d9cebba69c7dd7220e9cd16b9894881ef1e82adbd8ad01d5255b984952332438c97d55eadf40b320df1fa27 SHA512 0e63079dabc124395e73b585b7c68ce00be583e0809c3ecd2d1cfe0b4d64e2f2870294372c658051fdaeafc51fdd348a461ceaf1b87ebd5f2e2dfc717c2ac5e1
@@ -273,22 +314,28 @@ DIST semver-1.0.28.crate 33064 BLAKE2B 03bb56f4f0ec6f4cb208277500eba03cc81a7b2a1
DIST semver-parser-0.7.0.crate 10268 BLAKE2B e46b7cf9d292f8fc54561fca4df8534dc96f6be920a5c869c405ddb31b9d1a18eab0799207113cf4910a52cc0df5017ab1bc1883a7c3787ebf2d60f09ac0ab4f SHA512 17320468ec6b9862d595f358d70c09ac6e09db7885fe0ead7a1e596f79350a6306e8bfde5bbd6512008a7c5454da1c7ae55fe1e3bc1c1ff02ac9df54c0a6121f
DIST serde-1.0.219.crate 78983 BLAKE2B 7e9542a04c7f1aeff95b821245034368ff1721d98d7138bb1e0a99cdd6436dc37d69606308834fd33daaea3a1792409b3b2305b802433fa1d155816c55ca2a7d SHA512 0d3fe9a47af027d0d79499e60d940661dba6e29e8f0ce47d0db2ab722030d255aff637248af6f893a9c4224239733db09ffcdc6e1923a7177bfae55c98ebe769
DIST serde-1.0.228.crate 83652 BLAKE2B d1909d671ea6d5c2eb4ce34ee4493ecaf665d416111b4cac754b5d33b85f916296110bae7aa961efd987a2ceb4a31ba645752ce99dd28dedb9f1eecdd4d7b1b2 SHA512 9b645d6214203533b303fc5e88ad4f7686c22df084878d18a0209a92304a340fcb62fdde88a7080cf7a7348d47b9b363885c4e1da90dba08cc99ff620f375e97
+DIST serde-1.0.229.crate 83669 BLAKE2B 7f54b013f2273865493684c7c8d7d272ffbef903a1242fd81808c69b23444acd96ec0ebc43955cace91107331ac74f5e60c770464ce5b5cca92c383a810f757d SHA512 589b7523ecb57fe2003cbc4eb36adb07f663ce9c8620a7880a63630360c3d36e77388a270878493df0c383c1266ff855aebce424227a1c9da42f0fe4adaeeb30
DIST serde_core-1.0.228.crate 63111 BLAKE2B 8a64e4627ad21a3d16dd37d53fb809d11171bf337ec16bb1223075cbf81b6b85cd1c8d19abadf42460d0fbea323e2f351eeb6ef823389d519121b74e68edb215 SHA512 43897e3a7ebdc85d81d1cb30cda8f0a11610f6f551529c8a21462c24fb83110652b462846aa3e1bed5fbf8b5d7927018845a524ee9e079e2c8acf2c687efd6c4
+DIST serde_core-1.0.229.crate 63100 BLAKE2B 3126a7f8915a142f49a403dfc3b54341f67af7e533d94981e4b13450eb9c8d0befda14c91d4ed05a288a3b71b68430d8d5ec3263db6c146ce697046657b719ad SHA512 23122dd8663f6b4cecc8e6affe8b7a010abdd31428461c033a5db330bb7c2872c8a7e91ce0884923b640bea801a64044fff6ef532b260c05f31cb426b2518e66
DIST serde_derive-1.0.219.crate 57798 BLAKE2B 071f02019f829a2753769ce915d11df8f0d202ca67314fe83b42e1f1f3d07bc91b7e7c38fe498a0513714f80d3a3dbf2b447b1f85762de06dd021119801afa89 SHA512 1676bbf09e11273705a35c540d52d35d1bba7cdf1f347d40a364d7ae9269167f9f0f62ff4fa384aaa613c83e432a8eb3c016587ea643bb11434c00664a5c116b
DIST serde_derive-1.0.228.crate 59605 BLAKE2B 166ee2f9ff9f7a0928d0a65a72db3d9226c377bca2a1771956e8ecd9c7faf0544673c9c21be2a5553e621b55c74c7b958052592a1cf6eb6427a2d4f3e3dc6bb8 SHA512 8bfdfeee10ee7ef0670972aa963ef63b13e8eb2c8a09b9e0b717f92551aa89b3dd2a0dcbae6ccf20a1caece07e6adb18f0db56fdac020e4e0281b0d24e376003
+DIST serde_derive-1.0.229.crate 59864 BLAKE2B 28ab7ec0616bff52dbee3e05724b85db0fd70ae9bbb1b8f5124dfc9c923f12547e467a0b838ef57fdbd526d81c2718b2b8e7e75aa54f8e4ecace491362888968 SHA512 6ff319ba98b7631aede0c985cd47026d4795139beee9d53e5b00ccf0a7f6542e446b094821044fee852c7ff31c3721b964fa9425d15685714ed8f57534070e9d
DIST serde_json-1.0.140.crate 154852 BLAKE2B 733aecfb88fc37de37b60fdd33a45fecc2bf0ac2165b81bdb12665de7e26633836160e927be5d538eb2056a799e85ca4a1008cbd30af23b72a594643c6015f22 SHA512 bafa26fd43ba30cbf73572b8203292b1f275995636e9dfc3d47954939453fe4ecf0c60f25d2af1ec16c7cb0e7ce3b96cc07507d1b53b7db566fe7cb2624f0e12
DIST serde_json-1.0.149.crate 155994 BLAKE2B 7564c287a05c95feeba2b3a17e2e43ba047b0132b40fc4dd0c09141c2aac559c00bf4c63cbd24c17f12f5e6b49cf38b240d2c6c66677ee7a9edb197aba7d57fd SHA512 85fa8cb7b479f8241a4fd2255dd80e346fa5cde103aa7f25c14ccbcdf0e3276578fd0645e1d2542ee07c7e08c32058ff662bbf03926cd796c38622a12f423d43
DIST serde_json-1.0.150.crate 155574 BLAKE2B 03d46d968dbcdf626c5a7a82dae597bcdf1038e806de11f8f7b094ddc6ecf6f4a52cbbb7d4c26715a6e9fd99b19618f2728e050f0613c9b1b9d5bbc7b8cd0c47 SHA512 f980f8f4ccc122db36b82de4ecb9aafccec7162f7fe49e6c7c58e2d26d49d36c650af33c7f0d66b057f0d2870daed0cf85d4567b10b64b1a9e10b7df61e1921b
+DIST serde_json-1.0.151.crate 156556 BLAKE2B 3d9744a6d247000a03585ac59dbda46e804746a8ee5e912744d06c9a82828d9c3997bfa61876955896df732b219db4628f99aec669eb2f25459f2f37f7d5ede2 SHA512 351407187b98416a57d4d9b380cfdfd28acb10af0b3e9b9eaac3a4810ed4b58bc3572d97dc7cb4a45b0284466787ca82952ca6659fb37fb23afac40da0d4f315
DIST serde_with-3.12.0.crate 148666 BLAKE2B 244377aa9de46c77d12f0348a2656848ab44bda4bbac2f14a607ccfb532cbc33597e0b3336b9fff5242e8b907f59cbe093eac7e1aa9cc82e320bce011f5d177a SHA512 243b4aacf9f0aa9c3915274650c2b70ebb389ef0b1e607afba35f0144199073b573703f8b66bcaa875aeb434301ec2ad209c3d54160f6fe25dc2e4a9fe48a53d
DIST serde_with-3.16.1.crate 198782 BLAKE2B a324bee9e98cc4bbc5cd07378bff211b603cac7aad28966a4ecd3c3dd1257234e927ddf26530d385e2abd86c4441121e6870563cd3eadb3426cdebb6bdd9ba00 SHA512 b78caae1c8d78cc3032699d383a93ed99c640c233c9dbd591ada001f2f2941507558d4510b0fdb2b778a2c24f387de04283e11100fe3d2c4f865a529c10b8fa7
DIST serde_with-3.17.0.crate 199172 BLAKE2B ef50d128362e2b30ec86177abbd0f70f565af58d3de6014c096387e4af64c6579e7cfa70b46ebccefb8851311f7b873860823893b4a81bded894d3ddc3287ffd SHA512 237d83e186e3e8b2ffa9ce17fbc9ddb1b0ac5712e120ece4759a6f25d528ec00d98621501d70b29f2f3eb877eac98c0d094085071f7605c5cbb2e3355daa5971
DIST serde_with-3.20.0.crate 202905 BLAKE2B df4c692c126cf05c7a6cfd0669f9a06d6f9a32eee4a97d522087c413b48b7f181ac4bb0a9f03d85ec7c8ec0f938a55c67e26c24023c5b91181e29a33ff4156b7 SHA512 f431d3dc0da8f533ae94dc41c01cafd0b04723bc2be4029812ac27483e11832505033b84a9e05eb620b28cf5a63a7657180d15bf8060fb5b2af26d0e13e04066
DIST serde_with-3.21.0.crate 205649 BLAKE2B 79eda5bb9d8187af1de4e88528e175fa38d9f591aeefbf5c2d108fca4f001d00e2c8a0230a4ba37e822d7a6699d4178a5f0c9bae251268818810bff29e06d43f SHA512 418ed3a0a445f58eee3fe2ad3db929ac86ac9ec2167791884ce2d3d2e02734cd69367ff6a9678c72d4672d752113090818ac0334bc19c43ba7322eda7986ddd1
+DIST serde_with-3.23.0.crate 210788 BLAKE2B 7e3dfdd295cc6c64810b3c38b187c5957727eeb4588f4ef1eb942ca2420b82037ca0d6ccce00a21982d8dc9a395136d9d8c941b7f9d451bd07eb448cbe8249a8 SHA512 921ada1a4ea06182ea7e317a81f02169ac8a785f49b65d26c9828cdd44270964cef2e1af472253ae95b2822d4f81df2395677b5c6e6b1cee02f6e688edb33c57
DIST serde_with_macros-3.12.0.crate 32089 BLAKE2B 667db574c1a7850917a6738ba55447285085e87826b04da22b6be92ecf32ade3f0e99f63c738262f822820674b09be742778223f28507daf75324f4c62195e98 SHA512 feb186b9c51325a19643217ca2bfafc6f7e5433e2e059683ac2f271d11641a7feab728c5e7e37a99310ef259faf862b6a42ec41e77ff9b3349cb04333e008907
DIST serde_with_macros-3.16.1.crate 38106 BLAKE2B c0de1932c27e9ffe32ffe73cb564e9dc0bc10edc76e235b46f50468a752a68d21ed24e4b0604a897a2ef6f76631695ca75bae2f32212d86d8df1160183663489 SHA512 205dac4a45cffeded636d1b8d2b2d399353e0e500dc320b4ee16fe7e16a23f1ca10259496cc12d81966849c13f5c29c5ce78166862a7efd51a44f9e095b77d32
DIST serde_with_macros-3.17.0.crate 38120 BLAKE2B 059a8e78707ef48c5776803d8a49224bfb649af7e660070430f2ac1b778ddf33863e01302754130e89f62771e17e5def549ece435e438cef6bcbb1aad56a2c4f SHA512 e42914afb03091f5c06848dc74668fdc19f5fd64500cba6c336ee981a054e6b4424e151166ebadb2ac1e04e923acd532304395a4693c8288ea9a62a50437c578
DIST serde_with_macros-3.20.0.crate 38098 BLAKE2B 54368fa4c7c1b7a92705050886c1c82c3c77647b8af2dbcd8b639b5a9e7984cb5e812547091055c2987cfd3a8d1353bcbe8545845be83d816767ee7ea1f8304d SHA512 5fefbb70737590de8b0bed7481d7389a9d93d4cb88ecbc6c474913fffdf3b7a2cfa84bbb4adc297b3ecb6037136aacef1ffb51a26bd737b45bdfe3ab564ca8bf
DIST serde_with_macros-3.21.0.crate 38159 BLAKE2B c881ff76a66b0acbb223b0fd1955ddd5965c16f51e8b42852942d48acb9e95f6f346e14743ea7206718d4d9b70db1edfc3497363d08a49ea74ffe375215572be SHA512 ca15d96f774a34af02d9dc3ae6b694f947671859feaab93d016070f4f0d1ab8bc589b030689b80eb2cbcbf17112e04842208b903389aa3444ad80ce938a596ef
+DIST serde_with_macros-3.23.0.crate 38080 BLAKE2B 60e61035b14c3d6c9e7113c303c40f19d65310e1c9663b4534683268de2f9a075892df062d4b44610671b4ca9f099c394120511f34a1db5258a403ffa5824164 SHA512 ed2d184a0b0341227866efa4ac6ac85cdd84e8a802a31c8eff0228cc2ec31b3f2a0e4a1a00739124b1240b351566daa80facb862b62cc301395d0427cdfe2adb
DIST sfv-0.9.4.crate 22456 BLAKE2B ffb5a0da73eb11ea452b5ad8eef7c2019ad6f2e067aa4156485c78ea61fe0432fa3c0aec37c2593828f174d0ef614b208b22ca0277ef6c250fe474b59075c023 SHA512 78e55d45341d2133b4fd005aeecc083c04951970d20d74a44afbae3ef00341e90f0f9f23bf826e913226200fa09567e263ec861fa0acb444ee45e4b9e2a22301
DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
DIST shlex-2.0.1.crate 19332 BLAKE2B db2b6c5f7f30ad2f968d2dd386d39b362b8d19d7e17fffbb7407d6f35a4e165432b6607f3897c66cf8d32bf6e795ba7297080608c855b796fcf19842f4c509fa SHA512 d1bf35e2c5a93c718d3cc395fc4b06cc0c42d4891c0f37247de7e179492478020f0c57ae74c461d5bb1f833b071fd5c036d8d6d6ab8b61be6140cb64ae525921
@@ -297,6 +344,7 @@ DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8
DIST smallvec-1.15.0.crate 38113 BLAKE2B c8507c870d84d528c9e17faeb342e4d91356c86af563a8cac7b3a29cb5aa760d4a9f54e5f267d0452cb7301f8acf4da1ac0f48296216417b327441c18971a06d SHA512 c1fbd7865a629d368776544c2faeccc711df3d27d97db5fb2a169933f3cdf66abbdbf476dc8af88f30d5cd6cbb3d601acef8abb74e7dc9a36dfc538dbdeaa988
DIST smallvec-1.15.1.crate 38116 BLAKE2B 8dd779d7726694672945e928399e0459f4973d284a6c2d664c2fc757ebb1177658f47c812d9800e982479cbd7413fd4283c64a4d248ba5cff6397f96b758676e SHA512 c26b097a063353beedfcc921129cd0fb838c1c9420218993a05b2655b47b6ec16f11e0054312018658b4abd893beee140c5d2739401a5e5aea2e64575f237047
DIST smallvec-1.15.2.crate 34899 BLAKE2B 7210d9534e373c4d68db3dad04b9d680e30e7fb01b4beadb58fd4307bb8a59be7f3e8aded3127b86c3051ad34d1690bd18e476ac8e794f5efe9265a70a2334e0 SHA512 8c19ab367289dee2e60c9169f977d66723e219b7e56f8f71b2746bcddd84da7de4d17f32b49233dc87bd897063bee0c8cd679c9bdd0895696a189eb11fa83051
+DIST smallvec-1.16.1.crate 32694 BLAKE2B 98b4081897a11c1650df52432d876dc73a5844399e3b86deeed6f3228b6fc0fa5e1f71174867df3a88e89a1e002d9a8b23ac048861791aebc42d62f5a28fc6d6 SHA512 0132d4937de57af8d09582909e3e4ee4f246c895c952a7b5f80bcb797438df49b01cb37c26264fbd1f875fc237d4db8338300334062cc0aeadcd169984e7241e
DIST spin-0.9.8.crate 38958 BLAKE2B 8648bf2e48fc618758e3de67f0a493bf3cd22a8d18666164b0d850ed7c0d73650f7b0af783019dd361116bd60c61d24895cdd2c579383cd2700de0e32a23cdae SHA512 b15ad66ba9b308937f34ea166b799676fa45c67224e10cb57530fe33d2a8317ff3e3db3223a3249fa2862cc141c964d2130d3f39910a86ac5ef8aaf8ff4bc6ee
DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03
DIST stable_deref_trait-1.2.1.crate 8186 BLAKE2B 6408959d169d1228c1b0802ef31c850206405f8259168f169aabc91f63683dcdf347ff0e74fb3535ab05d7642889dd2637afbdea389b43b0925e0d6cf441ed67 SHA512 630721d3f8e9f3290efc250c42aba13e2325839e62167a2a611618c18c6aa58c08a53622db61a9aa920284570626b98df26b3c28009cf45b6ce1ec134b9c9f5c
@@ -307,8 +355,11 @@ DIST syn-2.0.100.crate 297947 BLAKE2B 50a9b244732eebc16464bef152bb620d86aba59094
DIST syn-2.0.114.crate 304636 BLAKE2B 88ec8c2a781cf33b9961744166ec8d3acd46e770fc56d2d4353d8d1578bf0b629bbd294db3334379fa8570b7537e26f72872ee18a92b037499bf746eac81cd3e SHA512 42d935971246f1bc605f0d0a960c143dc31c96d27ed5427d3bb2baf46a3871852450a47556cb0eeab1e1333b208ed6fbb3832c1038e91f874680f8c68719d184
DIST syn-2.0.117.crate 306011 BLAKE2B bbaec02c4322f522bdfc87caa4ce6fd1e09bbf8f4a102d9ed8728efacdd843a2750f616dce5b2d3a3e46bbb7d57439fbd10e328bc1d4a01e980986cd815798af SHA512 035c2e63542592b6a4058a2a82d4c2c1f5793f84fb1b04cbd393337a26fcf661a1f3bea439ce98a1fe943b1c4d36d2bda16df3bbc3fa6ca35e1548d530dc8416
DIST syn-2.0.118.crate 305533 BLAKE2B f0ba994123a9ade5ea94e72f91d836c5af769ccca4c8c8d9ba8ae8c2bf2c7cfc88d4b068efa886e3c25c5635b2759b1bbf6b7b4afea6b66fc5084ad744272ba8 SHA512 24cbedce5f751fb5fab46ce27b9772fb59692e5520039a4d66a9f4d8d8b381d2af5c5be5eebd1e24cdba49fcb40a90b38f61477dd5dc96d8f272823f9a93b61d
+DIST syn-2.0.119.crate 307407 BLAKE2B 0be3bce1250db4818af7246a03352ab50faeca02b81126fd623bd473d7223693f43914e88e07baa0d7fa5473192e390406165f83e00dbff048c1ea373085eced SHA512 4f2493e334b71c2b0c467e19915d385942c10dc4c0142dd989dcfab9809dea552c45ac3da0b0039956a961f7aca2973c0845c6978e9dfe25c03fdc52dfb1dec0
+DIST syn-3.0.6.crate 313821 BLAKE2B 5c33c101bd1ccd35c0f906b924f5ab6400fc173335da7f83299d0a4fb551c4e29f2a3f11def321db1647d46754fe8afe05faf8d4a544ccba3cf8a009d9e8f5ed SHA512 9c0c411c7300471ce6f34f57c482020d2d93f2a191ded0533b4ec28f7b74510488006535f620434375bc9fe151b1589c8c72654a4ffd759ab9d9f0a52faabb7a
DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa
DIST synstructure-0.13.2.crate 18950 BLAKE2B c475f370d901a371262f466dd98e3914dd6f36aa473a33362866c0f781d27b1813233f96b02208f3463a825e8012cab0f8872eed848d9aa0eac88b581a0d261e SHA512 2698f4e80b93f7cf1d8ae97c4c42a7f61e7b7081f7f1bbb94d7f48ab7ae813a666d73c49ba3812cda9155e0138b55cc246fb96e5858e411a8d32bafb3e2b2afb
+DIST synstructure-0.14.0.crate 19010 BLAKE2B f433b737e7e78a7886aa53a3be158cd0d2ee61f06f2534d373173305bfaa2c2e4f5a2bbfd3208eca0d3611e3c589dc921ab2ba211e9f20724f002893a884b903 SHA512 3f7ba6010075ddddd968e177dd1be51566abd7e8e23f1a8f206eee0fb23ee3a8ccc5ad8869fa6c637b93d58fc02daea584cf2b238faeb7c160c2aaae2139ded7
DIST termcolor-1.1.2.crate 17287 BLAKE2B 5ff748064c9fb6663befce2fd299edf6a6deb06ea72d21a62d6e77642934cca0933e10340fa84f636631cc08c76ba83ef2284b2212759129d54248e5fccb4c49 SHA512 f37b034345382cd621b1344a3fb301ca3d4d9db8b5858ac1ea82372c983229fce3c0ea8213d6b7e91291b6034affe11e2c3e593dbd95256294ce5c584b33e14c
DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a
DIST time-0.3.41.crate 138369 BLAKE2B 1e6e22c973dc33c950886e9628864dfc07e52dd05fb6880ff233ee4815f41172374af9672c44d53c56c6ba1ca38c53315ae1b4999f1fea3706562880481ddecf SHA512 be43d521ed6bfff6331d614112877b0b68d99ee7bad8533dc0d49193bb130f25c933bd7c9b6af873de252f9aba59becb47ef72774ee2e57de106b6f34b646170
@@ -317,6 +368,7 @@ DIST time-macros-0.2.22.crate 24604 BLAKE2B a511923e4c8d790ed422e4635244796154b6
DIST tinystr-0.7.6.crate 16971 BLAKE2B 33a248261c4cded41a81f0d6e6c8df55437f042b37f235c39787986ec562f0dbff50b282ad0f1483daaf49c4b33e6618e139a6677d1238c21f4e12082562b4ae SHA512 a33051848de248cac0a2d151760a78cb3aa62c787d84ff7aac38b11c0660e9188e4d43d43a77fb8676e49ac6102015e9c3db057848d809e71981851875d0fb25
DIST tinystr-0.8.2.crate 23942 BLAKE2B c84593349183f328d3df66b2ceb3b5bb9ccde3b9c082de72b7daa2845ab2ccfba9ef170a712f41e5ccf02008c018b456fef0ec380eed93f020605cc9b293d287 SHA512 21416092df2692c3f3f3efb9f1e2d124389162fbbd1038d244befc419347cdc686cb01d6bf1d589bf23fc6f69e23a94522bc7dc81aa7a2be74c697cdbcfc8501
DIST tinystr-0.8.3.crate 24710 BLAKE2B 5ff044db0b3c11c6ce5edf6dd4562087449c7af0668a5de08e07588c3b225a3c13f15ed39f2f7d8860dd4d0bd88fc95ea2b7fc96446e5963521eadb6699dc80d SHA512 1208a3502aad5783a99d05c6c546f0f9de5b468b273c0931a33829c857a159679f8720622ee0700bb8df397baa590e0411f89116327759a859ff46438ac73bfa
+DIST tinystr-0.8.4.crate 25003 BLAKE2B 0cbb568f51dfa4f4fe7c00f8f6f851a7eb9dd8322f6c057421f83b75a526371c69f4d2c5c90940110816c14690dc49b8431cf86726afca5800c8bdbe068c2c4e SHA512 30b095e77e7043a24c1804d0261c052ed34bf429a23573de5e2cc205490013207c49ddba24a2fc0ef3233d1a83445b9585dab2e89fa63b93715a5ef61ab26621
DIST tinytemplate-1.0.3.crate 24781 BLAKE2B a965579d9551968f5134e2892595abb01950346fe083a32234fe7184d86b1003ed1a71800a1ddfb2eedd2f3a56baafd05eac5a34a4adcdb1477f5cf510027fe2 SHA512 bb3941d197e3d3f98709d2dfee977a35040eb50217fb017487aebec6d75e53d08cc281ead712bffa2ac606a8bdcb9e5e064993c2bf6e0fe66b1bd3d401ab5817
DIST tinyvec-1.6.1.crate 46657 BLAKE2B 0579dd18a6ad47d995200535950ce0c2a0f63ac081ff5c54a5be5e6a9d5f0545266a2e44b09b847e2fbe88e374a9467ddcf7fcea6ad404e443c387d343eac3e9 SHA512 fc00617fe56c438ed417b9c18fb2525e624b6b6effd1b729da9b8f144b36cd02dbcefbbb6fd423c30b1f19309d42117a1eaab99deb0a46b2a474c2cdc02c1695
DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
@@ -326,14 +378,17 @@ DIST toml_datetime-1.1.1+spec-1.1.0.crate 17982 BLAKE2B 0552b1cd242430876cbe3f1b
DIST toml_edit-0.22.24.crate 106399 BLAKE2B 7a28b08a5eac9c9d43243173e1b87f763127d4685f07e4792cb7bdf3d871faafd183129eac29c6785718a48b7f8e8804a9a568ac7d0b6af26c5fdc53e37f1475 SHA512 67798e7ec7b2cdbe895b0edbb50f5fcb86a11acc674605a42795e15ee5ceb8d1a3cc1249c6a914b397574ee4bcb7ffd7417598f766c6f36215ab5f5761134319
DIST toml_edit-0.23.10+spec-1.0.0.crate 66420 BLAKE2B ca854ab01780950033763887069becee2527e72c72dc821e0b152713faa4b9414ce111ab1e57742bb13ca1d32e5756e9b564d4db50b2c4d93a8dc533d437a04b SHA512 2e8eb555e7c1eb2279f9f868f688b78f27a53a60985be952561e81d2d317f1f115739de6c15ee79ff7e580272657c0a86138410ac10505a0e3ae3836412c7f99
DIST toml_edit-0.25.12+spec-1.1.0.crate 68620 BLAKE2B cefe49f137618db7170589755a5c3a77f6a13feb71611c9bee5b01a703b67454d76a9b6535ff668e0f8b39183b729a5fb300c8e5fb4d9406d0001e1bdef69a5c SHA512 c23c14d54e0fb10cc877633c807f0961b2f8487971567f0873d332c25d2d2b8d172aeb0c936f3250b0beeaa16c0fb9dd1a40cf7e5632fe44e0da513a7381d3f4
+DIST toml_edit-0.25.15+spec-1.1.0.crate 68207 BLAKE2B 15479673911e43fb4b32800f6ccfeff38258693f53c8e46993b038a71f7fc925b23e731952230943e0760acd23f232335526e817a0fc3b40f50320c66ec467e1 SHA512 ab2de29147f29b5c4c78f674017732d90de3a15343f9a7647c42ec53957800459961d666e3db907eb3fc71735996659981e01d68542ba8ea11fb66949a79292a
DIST toml_edit-0.25.9+spec-1.1.0.crate 68531 BLAKE2B 51aad95a9370fdc100c97a0d4f72f19da5d6325c56b5c9ff4cb10cb070cdc5d262d419b92c77a565616b5246ca54483b45d12aba605dd49715728f6152f7223c SHA512 a36851dc1fd603e2d249a1cb556675fe53cd6614fe7cfba5ae5536d5c6c87377c57f93b0700c538e40e7dd7e0da525e0c4f52ab805da22066365a9f828b49fd0
DIST toml_parser-1.0.7+spec-1.1.0.crate 35027 BLAKE2B 0a1270c70a4d55f6c4554acdcdef0fcecfff4610bce0ad5ea3d658e62bbf953556ae210ad5f7d6546108752106051e067a37b821812d483048ad758bc7de9d75 SHA512 38581899f14cddbe8f6e5d52a0b7e5ffa780590e5099d56b6f1a599c063938ce0be32141ebf1ace365c2fb7e53642b550708369201eee8ae0ff2a2fce1aa01cc
DIST toml_parser-1.1.1+spec-1.1.0.crate 35331 BLAKE2B 864c7fb0a997fe1b2fc19d82d4b770042ca5e8c1224411de27e259cce165c148f68e1d2d7ac41c0b9ccc4bbccfcf37091ce417e310015ead83571c1dc8b59c3b SHA512 aa8494da5977897be30257df274b6b0913fa23b487e5257241f8c026b807eb9544b9b866872fe1cf5bb6246c77e65a56454ac9339855e66051e04618fb00b8ba
DIST toml_parser-1.1.2+spec-1.1.0.crate 35485 BLAKE2B b45ff5281d25d002fb9807005f6593e218aed03573d99ec0837ae75e4e19c40cf21759b0813556904d5060e5c8c309bf406485766ba14e9b464771886deece15 SHA512 11d4a5489337f9e2eed3f47b04376b0d00f9962a8fe6fa59518a4b5f0c7886aa8416f4e34ba640102a3abc45fe7ce628d1fc5327a4453dd7866a7f16fb45cd9b
+DIST toml_parser-1.1.3+spec-1.1.0.crate 35888 BLAKE2B be644d7de774a2ac2a460acc705a77db5ebb6a6694a39c379816a9be5a315333ef7c59f8d7c66744e629654d386f4e19f3c5d6ac065c0a2c480b663c0a94374b SHA512 1e59ee837016e095f93adb4a6ef63c33adc94c09c005cb68a0ac310c32696e4c342f3eabae9fc4f23d4f0fa1d6a958bbf61938ff214e03830f95e24b6066b164
DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8
DIST unicode-ident-1.0.18.crate 47743 BLAKE2B 517ab42a847020515b2b871844d0571ea672340f89a762631a791eac18935ac122122fa5566e58b99ab47de179eadb5298e8ff1d05b123c4e93b7fa989c8e31f SHA512 d11f89fb696f9e2953c96a40b5478832651b268c83b9c7a700b07e768e795d6e8dc346597d1226df21219d36866768d1f640bd8edb68db8bd3d5d437b2bfd324
DIST unicode-ident-1.0.23.crate 49352 BLAKE2B 8ab318747af95c45c94a2a774d4f2db9c1d31f3594eb40cc5357892c75bd6c2be1edbfcbba65892a4813903e5f7628aa74830ac482ade993fb076f0286af7501 SHA512 f2e57950b87ab93456a74788c22b8f865fe8864147104507ed40cc87979c0a06007eec17c2c2241cb586b5e9600e5b518059611fde6325c7a3a79265751f8fe0
DIST unicode-ident-1.0.24.crate 49298 BLAKE2B 34ba2906a3ebc06f52a4ba77dff96a8f3fb977718d260886fa9e051c5830765641b65a63977110f3a79f31fa177b385f81b01d56c80f6a0324d36eae72e2ebf0 SHA512 7be712d8d0075ac9341790180e312f66264d3e0255c91b38df0951baa5e446dec24551bb2125a66a1cb9b6ca2f1ea37c0cc15fa3dd74f398ecf4d5302c7dc259
+DIST unicode-ident-1.0.26.crate 48425 BLAKE2B d615360eb4874b898657770cd8adcb39350e51dbc76a3109f5e0589a8017b89e19b13a49c0170643cd4988296482bdc293f22437d44f06a1e0af9b76b3a0fa1c SHA512 216d13c655e47dddf888fac997a6345bb7c6d1f0ab6b67ed06bfd9013a891fda8e9e8d71b763639957c15b951145ffd77243ee2056a20ed809d2cae48502c472
DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5
DIST unicode-width-0.1.10.crate 18968 BLAKE2B 6174e307fd3ee290d0a5d1d31233baaa5315cdb73f19b8580718e9f9eb04cfd3aeaeb474af1e50c4b9fecc6fc777937dedc527c9dc9ed14ccf42af099e591f31 SHA512 9836a8d489d18ea1ecfe1957ed6d5da7dce825e138cd1848aef093fa8d2eb83fcf01eabb1a2446df4f5ede4e67316e9e81b5d58b59d4e8c5d67870e8fa5dca3b
DIST unicode-xid-0.2.3.crate 15174 BLAKE2B 5cfb2a094047106a45eaeb77ebc1ae2e17ca51ece71082c127d3e2bf36773959f52df1c6df0d0d5cbc40ec4ee7f81820a094fd7ee99f01a2f99a1f7f68317223 SHA512 2adea0c8447c9450be34859f2b2e2b87a61b5e313685da994d21bc24a96dd94088f3320bcdb8d20466a3fdafb0bc0375823f0c28ec0077c9c42a9818f66ac1f5
@@ -409,6 +464,7 @@ DIST write16-1.0.0.crate 7218 BLAKE2B 548796314339463e4b71f8af3d344e45dc89480e10
DIST writeable-0.5.5.crate 22354 BLAKE2B e4ff9862c070b413568ce0c75d1eccafcf1db8578eee4795ea9046dadd643f8a77258b437be288b93af247199d63455298ac2cff909226bc432f91c0aa863921 SHA512 818b2546c8ec25816aeaf5e31a1ded927d197bf7256e7c5073738c2709bc58a95d382a0256eb38a99235ae83729b578701261866d42ea3357a26024906e196c1
DIST writeable-0.6.2.crate 25181 BLAKE2B ffc57bdfd8eeef7e2b50a1a7fb2fc8af0322c17cc99cc4a3eef3fb2062e447e05721db74e62080fab08f565db15dba21be8b6bfbcac984acd2eb2a80e08b9ba2 SHA512 d267aba601237bc4061a484103c10f0cf4ca3cf6db0f50063319801e1aa73272280115ad3ad4f461ecc4ed9cf4ee19131ee7cfacffacfcde54657bdfe3c557e7
DIST writeable-0.6.3.crate 26685 BLAKE2B d3e95d1316e65886df8841f5daf52960e7301beec545a1ed13040bc492617660504deaef808e9e47c5154860cea28c45c8cc7e05cf4ec565bcdc6f42aa8c8c9b SHA512 e3c1c498b7901f6287024ddf47862e0caf7759edde25a219304209a46ca183af15fb5fb33f87b84b2ce0ed531161d8414743bb424a7446d88b2a0c6d034bb87f
+DIST writeable-0.6.4.crate 31222 BLAKE2B 9f3bc7eb3245a764114e9221e2d26d3ea6ef200c35b00df406673ba65fdb4f5c0799f2f4f0c75d84d45f698d032e7be6153a8b4367f4fd7342465665fe9596bf SHA512 2b7d0c5e8f463a796e9f3f6d3144267abf3c4319f54566a67038d10e47e87abc71b7ca06707d949e4c60374c9d1dc70d7ab74fbebdfefd8e159a8170f43faaed
DIST ws2_32-sys-0.2.1.crate 4697 BLAKE2B 52a7a3f57bcd73156730ada4d78fe12a54a498c9064e0928e09de13a95bd9237f884538e5f9368b47a7ac3c425f0f798c26bad85f20bed4ea26c2fa16c779b97 SHA512 18356861fc595efe7d0180afb8ce7649da35a4f9ba456271d2068679ab258a861af32a2e016e241fbfbf5f6ef0eb33127b26eabfc11428af39506538faa4821f
DIST yoke-0.7.5.crate 29673 BLAKE2B cd2e42103140e080a29bf579fe5176b36a192f9b1309c1f2fd7557fe93b2f6eadbf6fca4a6a3b1a7b6288403d2f643841dfc7a5b6a4476776943950abe5c1613 SHA512 6bbd99671d1a5a5217890eaa267113d193b3636b265393afb6e72a313f01704d462fe017264f061405e8e84c188b590094c29e3fcf19a63c375ae165d1a0bbef
DIST yoke-0.8.1.crate 32016 BLAKE2B 9dba7f506636b93ce559817ec57380836858eb14fd3484d5024535ea909d5e7d5da759c316bad86847607f05db1228a04d65942dd020b426fde1b7fa40962c02 SHA512 0ab6353207432bd0a18b6ac038cc37332ece4f2f5182b7eba6e47881a051f0f2ac41d365a8feb74bd3de1d4e4d8dc20c92fa2f3f1252b35d4ab6ff0f56f31de0
@@ -416,18 +472,23 @@ DIST yoke-0.8.3.crate 33132 BLAKE2B 79d0d7d7fa38704d072a5f2543da8ef6baa3e9776857
DIST yoke-derive-0.7.5.crate 7525 BLAKE2B 9b6b97eaf3c50f0f5ce8cebf685a1a17d4c21eb9b26d38eac99e0a4c0f9d592e95a7843b7a0b897945a14c4eb78ffdf2c0972b448d31d7bc7b077f27aad81d9a SHA512 e30b06b020aa283080905004295fb643c539b130d0d53bda51927b95e79ba562336aad30d8a6202d9a0c62d5b64559a01218c6f02f3faada6003d4b03c205cd6
DIST yoke-derive-0.8.1.crate 7593 BLAKE2B 09953385df0b24b5cdbe4fed4c8788e20236c9f5a79d144799a31807a1a4e82380cd3ed451a46055ac21561c2f9a05ca91c953b7c8aa250a26a2e11fd11b7a9c SHA512 20561f74561f3e7d5ce2a2b702bac565047be284cdd24a3bf837d423954c8260d32f8d27ef9761f5e891bb539f59af22afc4830a4e52cf9888c8ca2a50784a96
DIST yoke-derive-0.8.2.crate 15077 BLAKE2B d067fa9c5a9d1978c0a86fa58034b4aaec8815c106aabc4f91d9d1e5c297a03ed287daa35374a2a2c3946e73abb05e159c118014cdb01b9c939f7eae5416bea8 SHA512 ed37289fe2dfcafda13be24b3e4aae1fbbdd6f52c42a1f2d770771f458af0d17b4cbe487941381b4bd692388e9818b45c686bdcd6229918e0f5b6fced1068ca3
+DIST yoke-derive-0.8.3.crate 15106 BLAKE2B 650e523b95746d2453d2d204271939ab051939677b9bf44c114ddb30a02ade65be286530b6a7480b4855dbbfa3c38c396ad6b4a420daaefa76bd7db908730fc4 SHA512 8630bb7e3416e0cc5f970ead5aea51e507a284d5dc5946f8e1715514d646c85d373bb4f8ee97c9e96301af39d7bf7e3d1798a1e96e42bed1a32bd9dd385229fd
DIST zerofrom-0.1.6.crate 5669 BLAKE2B 1428e9cfdcdae13b39b7465524d1b8b79bdd89f743d3db4a3305c2b39d61ad7ced958dabd673a135147a04c8ace69d8c710dc06c6a07b1dd3987fc0a45148094 SHA512 e87c50b4f87caff70d026099bddcced73398c432f6aade32d74ad199cb3a985956bac282f48efdd501e64e80297afe4f8a4518db32437bf297fcf51a6f94bbd9
DIST zerofrom-0.1.8.crate 6156 BLAKE2B edc4be24f6a3312d2940266493889e24b45ff68b139802f057bc204d21a7dd1cf8c8fc681c4d64ccb3595d37245cf3676f5f80e642574e4abc3b7f2aa3802cea SHA512 a58d39960368594c7f1fb8aac29e8032c079439d1302a40a4b5a2f8d33b8de934f745a77fffa856c371118701c27e3841615dd68b27a838dbf8d6aa7a7744e51
DIST zerofrom-derive-0.1.6.crate 8305 BLAKE2B 9ab7425b450bf8c47538be7ff32901045393bdd91b9687b8a32ac194b7272dbd4f5310629647c6710f97a50cea45c722c018a77006f24da2b44a4c475daa54cb SHA512 ef4226df3c9ca9c0146639b19d9aa611f2ea3148c10ea875f43ca1960ee8ed438a553b078a9b449a58862f44cb7d4434fa35bbd6db6f0a773618f63d2575c985
DIST zerofrom-derive-0.1.7.crate 8853 BLAKE2B 26b8932561c7705850ef88f1816141fadfa2077742cf5bb2eb66042cb657f2b3b76a2855cf49c1bb5a934f4147a29a73144fdcbc435c6ca4ff1a562ef103557d SHA512 22de0ee75a7463e6b263f17d91291d2e2800ae0b5066304b24459b58de8e528e36de77dda149d74abdecd26cab58f0ed34aa603b3361f00976929efdb3371da6
+DIST zerofrom-derive-0.1.8.crate 8834 BLAKE2B d5bb129d8a462e7c068d24b3f7cd9e5f91d8d104c0d1a460acba83af9fe838c61835551a7accb05f1962b148633b43c6846b819d44a5bb20379484d3c49d2e82 SHA512 638c34421ddea958f95a0afa4666be7523aa26fcc0e8c91cc2dabdba9f5dd68e3664d62cd6286817394775ab6439c6aaf761787e073f20c7b5ba5f6891cc722e
DIST zerotrie-0.2.3.crate 69547 BLAKE2B e5195d0ac15eb05ced2064cd106892855253b11fb996fa8a9f8b44b3b2958e900c95503200c5fccaef91df3fcf0dd17c9a028ad8c014ba09485f7743cfe6b74f SHA512 10d3cb670f959b81a7170440a081ebe66f147c76be8e6c769b9093bc737cbb28c1b632515311adf7ffccee0cf05f808ad461743128429d2d1ad86932e54b587d
DIST zerotrie-0.2.4.crate 83690 BLAKE2B 96f443dd0c9501464031426e6aeae9cee78cb604a2c151da4707c21eb317b55b4a415ab28836213d56613e40c5f0911b68b0ea3dcb9c0546ba64d81f4af5ddf2 SHA512 daaa133ef8916a14ee12af2de5e042086d6817822fe498c49fbadd2c03c5512f0adcd5ada268fa5bf70ae2dd23f14245a0f099a37abe09251478303c069a410d
+DIST zerotrie-0.2.5.crate 84204 BLAKE2B 74ba85c251755d29032887bce52a596a3e9f0960b1299e17630ad00c90440c6506cb16018a25e2dd5d18901611ec31ab10528b7bb0b7505fd0b3324747feb1be SHA512 8f8d89b62b6b8f58a17e10750511e116a2312c9dbde4d98b27a824119ed2d66a6d2100f4d97a46d0ea61cfe6c097a59670739cf0aaf9ddfa4ea50829a9aad615
DIST zerovec-0.10.4.crate 126398 BLAKE2B b078784d6f178bbb9de1c3c1b6c7ef996f00bdd7dfd2924bda921e62f3e09e953fbf50f8d0da99ac6ff6d134f146253846f5663549dcf8df08eaf34b9d4016b3 SHA512 db12bba1d7476ddead92e6dfcdcc30e2e0defff4f263a740244eabee265a2cab265473a663d3dc3210f48e113b66d951da496dfab7965ce1bc792e5f2db422a0
DIST zerovec-0.11.5.crate 119620 BLAKE2B 8277a379f53b95575fc14ff56b41930099433af7c10b480e7ac7e4b3c9b971571f7966873272bd4249dbdb2ff388c56963a5b9d7b2c9ac2072ac2a85178028e0 SHA512 65705ab802bc441561efe7af6cbd6187c04ee8d2feb2b5d5137dbbcf92d65edd30db5ef003c2f34588dd1a3a0a2aac475b4312d3c4951a32a82d5aeb57a2fda9
DIST zerovec-0.11.6.crate 128583 BLAKE2B 32be3ec333c124894009ff13feadcc6548a93485444eef0d1085a995a55e73a8165e77589b13893a5f6bf585ddad750cf0364e8fa14e00eec239150f14bb0adc SHA512 9a0b22654ce3b76cd5e9bdfbcf8d5344dff4116f37f6e22ee4687677c7fe8a69122a2cc86b0d722ff2040547a810528a5a0d9bb5d8c4ac2d3fa0323dcd18320d
+DIST zerovec-0.11.8.crate 130820 BLAKE2B 4022c968fb9676ed10b2108b156326cdb17853443b8e0a6ba64399eda922eb2f5285fbb0e6d285ec7ca18f2d637e0d3f5c1c2c293a436f703e37443781e38ebb SHA512 dc59d370c2b627907f04227511a642466216e6229b8834b518f132a533d7010a16650e32a84d6b335287a43d8998c8b3f7aad685543b88b57c5310e9753aa8ca
DIST zerovec-derive-0.10.3.crate 19438 BLAKE2B 9f7df8a4e4a0b62ab25aed967b26509db4bcc5d5b10b3bd73305099a4c49a60be8921484ced1a34d9b7ae30ffa5abe789686f432416a8f1cfc07de1db1dff594 SHA512 caefbffeb35265db9f74933bf07109d57f0da48156cafd4f330af78a5c7eb9ab0831a80789ad4fb119875ebc6cfd7e3de68c9984b77dca5151f9be41f1ae6e09
DIST zerovec-derive-0.11.2.crate 21421 BLAKE2B 42ec1fd49da71796845e1b3414d3422ebecd6f30e7affb7a672449a75a70acfcfc24096130edf3c247651272b03134519a89bcfe36dc2e426a8224fd687236cf SHA512 ee36fa909e0ba80ec0cc10608837bcb0b4fde68b12174c8311ffab0eb8ac78f62ed6540bfb5bd4fb756c911f4ebf44b3a0bfb5ce293572bafb75b9e5705a5745
DIST zerovec-derive-0.11.3.crate 22115 BLAKE2B 4669526abb7a51d35045bf765017f6070e371aa33d06e66870f043401bd118192b53c422794d08ee2cf9c41e2eb8922a80ed0f450bf3c8c5e78d3f437f984ce2 SHA512 1195cf266a28cf1bdc48a02b2b721f24c785b317dc421475818cc0fe616230bbb91468ab2f67981bf6d3ea2b830eca2e10b85502f622ecb06880e4fff376d29f
+DIST zerovec-derive-0.11.6.crate 23102 BLAKE2B 879195255bc944ccfb1a711d5f3056ef2161cc3a65b815b95eb58c5d83db624cc0d8187f9eaa558f76827bbf2286ba084207bb8155dda33872b2b13d303d3588 SHA512 3044c2bcbdb07df5a6e2b5ce3eb45defb21307ee1acb14d720cd4f0d343c384f70aeda22541f72c247fa1ec9ebacfa1c0f05e4c05f87ef166f97c23ac621859e
DIST zmij-1.0.20.crate 26975 BLAKE2B 822983063c82b0a4101931f39494f8b4dcc480663b74200fa449953240f71530ad21b54f9512451151bc301ce576a99d28941a10c7654b3c009a84821ae96340 SHA512 bb3bb4d1aa0d72b2127ce0913896012748117a2ab793e900b3a05d5289f3c97eab9ecb60594ec8b8b8b9f36445432a70ef1532bf23a5d6f2abc93f014483a869
DIST zmij-1.0.21.crate 26665 BLAKE2B e958b58e2213ad13185ec6df55d07e6c80169afa56133038fa66cefb4a9f49aa786249a486dc09b2d0a2f74e41c0d0d713135f38a84dff8f6239636a6bf3cadb SHA512 a488f11ec8721ddfe42e61d028a128818551de8fccd69d7824504e4ae2efccdc38f716fa5a10ef4de07a8a087e75e819c4a1e0790817e8539b5db697bde14585
DIST zmij-1.0.23.crate 28612 BLAKE2B 5b1fda50a365ae6bba79ed8444f15dd184d0ba0d7b993c8f119355029b5d7cf6a4fe5d9f36eec722221725ed747cad5108eb707ef14920670ffa45843edcbfec SHA512 12f8d9726b232b6be68cefbe294505debb7a98715c11b95d89682a596fe1a02d9d7b2a6cdba97f2e8d47fa947ffbce9506a18568f2cab749ca3d03121e5fb66d
diff --git a/net-libs/quiche/quiche-0.30.0.ebuild b/net-libs/quiche/quiche-0.30.0.ebuild
new file mode 100644
index 000000000000..39dcf16e6503
--- /dev/null
+++ b/net-libs/quiche/quiche-0.30.0.ebuild
@@ -0,0 +1,361 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+RUST_MIN_VER="1.88.0"
+
+CRATES="
+${PN}@${PV}
+anyhow@1.0.26
+ansi_term@0.11.0
+aho-corasick@1.1.5
+android-tzdata@0.1.1
+android_system_properties@0.1.5
+arrayvec@0.7.8
+atty@0.2.14
+autocfg@1.5.1
+backtrace@0.3.37
+backtrace@sys-0.1.31
+base64@0.22.1
+bindgen@0.72.1
+bitflags@1.3.2
+bitflags@2.13.2
+boring@5.2.0
+boring-sys@5.2.0
+bstr@0.2.12
+bumpalo@3.17.0
+byteorder@1.3.4
+bytes@1.12.1
+cast@0.2.3
+cc@1.4.6
+cdylib-link-lines@0.1.5
+cexpr@0.6.0
+cfg-if@0.1.10
+cfg-if@1.0.5
+chrono@0.4.40
+clang-sys@1.9.1
+clap@2.33.3
+cmake@0.1.58
+core-foundation-sys@0.8.7
+criterion@0.3.1
+criterion@plot-0.4.1
+crossbeam@deque-0.7.3
+crossbeam@epoch-0.8.2
+crossbeam@queue-0.2.1
+crossbeam@utils-0.7.2
+csv@1.1.3
+csv@core-0.1.10
+data-encoding@2.11.1
+darling@0.24.1
+darling_core@0.24.1
+darling_macro@0.24.1
+data@encoding-2.3.3
+debug_panic@0.2.1
+deranged@0.4.1
+displaydoc@0.2.7
+enum_dispatch@0.3.13
+either@1.18.0
+env_logger@0.8.4
+equivalent@1.0.2
+find-msvc-tools@0.1.12
+fnv@1.0.7
+foreign-types@0.5.0
+foreign-types-macros@0.2.4
+foreign-types-shared@0.3.1
+form_urlencoded@1.2.2
+fuchsia-zircon@0.3.3
+fuchsia-zircon-sys@0.3.3
+fs_extra@1.3.0
+fslock@0.2.1
+futures-core@0.3.34
+futures-macro@0.3.34
+futures-task@0.3.34
+futures-timer@3.0.4
+futures-util@0.3.34
+getrandom@0.2.17
+glob@0.3.4
+hashbrown@0.12.3
+hashbrown@0.15.5
+hashbrown@0.17.1
+hermit@abi-0.1.19
+hex@0.4.3
+humantime@2.4.0
+iana-time-zone-haiku@0.1.2
+iana-time-zone@0.1.63
+icu_collections@2.3.0
+icu_locale_core@2.3.0
+icu_locid@1.5.0
+icu_locid_transform_data@1.5.1
+icu_locid_transform@1.5.0
+icu_normalizer@2.3.0
+icu_normalizer_data@2.3.0
+icu_properties@2.3.0
+icu_properties_data@2.3.0
+icu_provider@2.3.1
+icu_provider_macros@1.5.0
+ident_case@1.0.1
+idna@1.1.0
+idna_adapter@1.2.2
+intrusive-collections@0.10.3
+iovec@0.1.4
+itertools@0.13.0
+itoa@1.0.18
+js-sys@0.3.77
+kernel32-sys@0.2.2
+lazycell@1.3.0
+lazy_static@1.5.0
+libc@0.2.189
+libloading@0.8.9
+libm@0.2.16
+litemap@0.8.3
+log@0.4.34
+matches@0.1.10
+maybe-uninit@2.0.0
+memchr@2.8.3
+memoffset@0.9.1
+minimal-lexical@0.2.1
+mio@1.2.3
+miow@0.4.0
+net2@0.2.37
+nom@7.1.3
+num-conv@0.1.0
+num-traits@0.2.19
+num_cpus@1.12.0
+octets@0.3.7
+openssl-macros@0.1.1
+peeking_take_while@0.1.2
+pin-project-lite@0.2.17
+pin-utils@0.1.0
+indexmap@1.9.3
+indexmap@2.14.2
+once_cell@1.21.4
+oorandom@11.1.0
+percent-encoding@2.3.2
+pkg-config@0.3.32
+plotters@0.2.12
+potential_utf@0.1.6
+powerfmt@0.2.0
+proc-macro-crate@3.5.0
+proc-macro2@1.0.107
+qlog@0.18.0
+quote@1.0.47
+rayon@1.3.0
+rayon@core-1.7.0
+regex@1.13.1
+regex-automata@0.4.18
+regex-syntax@0.8.11
+relative-path@1.9.3
+ring@0.17.14
+rstest@0.26.1
+rstest_macros@0.26.1
+rustc_version@0.4.1
+rustc-hash@2.1.3
+rustversion@1.0.20
+rust_decimal@1.43.0
+ryu@1.0.20
+same-file@1.0.6
+scopeguard@1.1.0
+sfv@0.9.4
+semver@1.0.28
+semver-parser@0.7.0
+serde@1.0.229
+serde_core@1.0.229
+serde_derive@1.0.229
+serde_json@1.0.151
+serde_with@3.23.0
+serde_with_macros@3.23.0
+shlex@1.3.0
+shlex@2.0.1
+slab@0.4.12
+smallvec@1.16.1
+spin@0.9.8
+stable_deref_trait@1.2.1
+strsim@0.8.0
+strsim@0.11.1
+syn@2.0.119
+syn@3.0.6
+synstructure@0.14.0
+termcolor@1.1.2
+textwrap@0.11.0
+time@0.3.41
+time-core@0.1.4
+time-macros@0.2.22
+tinystr@0.8.4
+tinytemplate@1.0.3
+tinyvec@1.6.1
+tinyvec_macros@0.1.1
+toml_datetime@1.1.1+spec-1.1.0
+toml_edit@0.25.15+spec-1.1.0
+toml_parser@1.1.3+spec-1.1.0
+unicode-bidi@0.3.15
+unicode-ident@1.0.26
+unicode-normalization@0.1.23
+unicode-width@0.1.10
+unicode-xid@0.2.4
+unicode-xid@0.2.3
+untrusted@0.9.0
+url@2.5.8
+utf8_iter@1.0.4
+utf16_iter@1.0.5
+vec_map@0.8.2
+version_check@0.9.4
+walkdir@2.3.1
+wasm-bindgen@0.2.100
+wasm-bindgen-backend@0.2.100
+wasm-bindgen-macro@0.2.100
+wasm-bindgen-macro-support@0.2.100
+wasm-bindgen-shared@0.2.100
+wasm-bindgen-webidl@0.2.75
+wasi@0.11.1+wasi-snapshot-preview1
+web-sys@0.3.65
+which@3.1.1
+winapi@0.2.8
+winapi@0.3.9
+winapi-build@0.1.1
+winapi-i686-pc-windows-gnu@0.4.0
+winapi-util@0.1.5
+winapi-x86_64-pc-windows-gnu@0.4.0
+windows-core@0.61.0
+windows_aarch64_gnullvm@0.48.5
+windows_aarch64_gnullvm@0.52.6
+windows_aarch64_gnullvm@0.53.0
+windows_aarch64_msvc@0.48.5
+windows_aarch64_msvc@0.52.6
+windows_aarch64_msvc@0.53.0
+windows_i686_gnu@0.48.5
+windows_i686_gnu@0.52.6
+windows_i686_gnu@0.53.0
+windows_i686_gnullvm@0.52.6
+windows_i686_gnullvm@0.53.0
+windows_i686_msvc@0.48.5
+windows_i686_msvc@0.52.6
+windows_i686_msvc@0.53.0
+windows_x86_64_gnu@0.48.5
+windows_x86_64_gnu@0.52.6
+windows_x86_64_gnu@0.53.0
+windows_x86_64_gnullvm@0.48.5
+windows_x86_64_gnullvm@0.52.6
+windows_x86_64_gnullvm@0.53.0
+windows_x86_64_msvc@0.48.5
+windows_x86_64_msvc@0.52.6
+windows_x86_64_msvc@0.53.0
+windows-implement@0.60.0
+windows-interface@0.59.1
+windows-sys@0.48.0
+windows-sys@0.52.0
+windows-sys@0.59.0
+windows-sys@0.61.2
+windows-targets@0.53.0
+windows-targets@0.53.3
+windows-targets@0.52.6
+windows-targets@0.48.5
+windows-link@0.2.1
+windows-result@0.3.2
+windows-strings@0.4.0
+winnow@1.0.4
+write16@1.0.0
+writeable@0.6.4
+ws2_32-sys@0.2.1
+yoke@0.8.3
+yoke-derive@0.8.3
+zerofrom@0.1.8
+zerofrom-derive@0.1.8
+zerotrie@0.2.5
+zerovec@0.11.8
+zerovec-derive@0.11.6
+zmij@1.0.23
+"
+
+RUST_MULTILIB=1
+
+inherit cargo cmake flag-o-matic multilib-minimal
+
+DESCRIPTION="Implementation of the QUIC transport protocol and HTTP/3"
+HOMEPAGE="https://github.com/cloudflare/quiche"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/cloudflare/${PN}.git"
+ inherit git-r3
+ CMAKE_USE_DIR="${S}/quiche/deps/boringssl"
+else
+ SRC_URI="${CARGO_CRATE_URIS}"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+ S="${WORKDIR}/${P//_/-}"
+ CMAKE_USE_DIR="${S}/deps/boringssl"
+fi
+
+LICENSE="|| ( Apache-2.0 Boost-1.0 )
+ || ( Apache-2.0 MIT )
+ || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT )
+ BSD-2
+ BSD
+ ISC
+ MIT
+ || ( Unlicense MIT )
+ openssl"
+SLOT="0/0"
+IUSE=""
+DOCS=( COPYING README.md )
+
+BDEPEND="
+ dev-build/cmake
+ dev-util/patchelf
+"
+DEPEND=""
+RDEPEND=""
+
+BUILD_DIR="${WORKDIR}/${P}"
+
+src_unpack() {
+ if [[ "${PV}" == *9999* ]]; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ cargo_src_unpack
+ tar -xf "${DISTDIR}/${P//_/-}.crate" -C "${WORKDIR}" || die
+ fi
+}
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+src_configure() {
+ multilib-minimal_src_configure
+}
+
+src_compile() {
+ multilib-minimal_src_compile
+}
+
+multilib_src_compile() {
+ cargo_src_compile --features "ffi pkg-config-meta"
+}
+
+src_test() {
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ QUICHE_BSSL_PATH="${BUILD_DIR}/deps/boringssl" cargo_src_test
+}
+
+src_install() {
+ multilib-minimal_src_install
+}
+
+multilib_src_install() {
+ sed -i -e "s:libdir=.\+:libdir=${EPREFIX}/usr/$(get_libdir):" -e "s:includedir=.\+:includedir=${EPREFIX}/usr/include:" "$(cargo_target_dir)"/quiche.pc || die
+ insinto "/usr/$(get_libdir)/pkgconfig"
+ doins "$(cargo_target_dir)"/quiche.pc
+ doheader -r include/*
+ # remove dodgy RPATH to boringssl build directory: https://bugs.gentoo.org/954868
+ patchelf --remove-rpath "$(cargo_target_dir)"/libquiche.so || die
+ # install libquiche.so as as .0.0.0
+ newlib.so "$(cargo_target_dir)"/libquiche.so libquiche.so.0.0.0 || die
+ # manually create .so symlinks: https://github.com/cloudflare/quiche/issues/165
+ ln -s libquiche.so.0.0.0 "${ED}"/usr/$(get_libdir)/libquiche.so.0 || die
+ ln -s libquiche.so.0 "${ED}"/usr/$(get_libdir)/libquiche.so || die
+}
diff --git a/net-libs/quiche/quiche-9999.ebuild b/net-libs/quiche/quiche-9999.ebuild
index 30b770cde81a..39dcf16e6503 100644
--- a/net-libs/quiche/quiche-9999.ebuild
+++ b/net-libs/quiche/quiche-9999.ebuild
@@ -9,7 +9,7 @@ CRATES="
${PN}@${PV}
anyhow@1.0.26
ansi_term@0.11.0
-aho-corasick@1.1.4
+aho-corasick@1.1.5
android-tzdata@0.1.1
android_system_properties@0.1.5
arrayvec@0.7.8
@@ -20,21 +20,21 @@ backtrace@sys-0.1.31
base64@0.22.1
bindgen@0.72.1
bitflags@1.3.2
-bitflags@2.13.0
-boring@4.22.0
-boring-sys@4.22.0
+bitflags@2.13.2
+boring@5.2.0
+boring-sys@5.2.0
bstr@0.2.12
bumpalo@3.17.0
byteorder@1.3.4
bytes@1.12.1
cast@0.2.3
-cc@1.2.67
+cc@1.4.6
cdylib-link-lines@0.1.5
cexpr@0.6.0
cfg-if@0.1.10
-cfg-if@1.0.4
+cfg-if@1.0.5
chrono@0.4.40
-clang-sys@1.8.1
+clang-sys@1.9.1
clap@2.33.3
cmake@0.1.58
core-foundation-sys@0.8.7
@@ -46,35 +46,35 @@ crossbeam@queue-0.2.1
crossbeam@utils-0.7.2
csv@1.1.3
csv@core-0.1.10
-data-encoding@2.11.0
-darling@0.23.0
-darling_core@0.23.0
-darling_macro@0.23.0
+data-encoding@2.11.1
+darling@0.24.1
+darling_core@0.24.1
+darling_macro@0.24.1
data@encoding-2.3.3
debug_panic@0.2.1
deranged@0.4.1
-displaydoc@0.2.6
+displaydoc@0.2.7
enum_dispatch@0.3.13
-either@1.16.0
+either@1.18.0
env_logger@0.8.4
equivalent@1.0.2
-find-msvc-tools@0.1.9
+find-msvc-tools@0.1.12
fnv@1.0.7
foreign-types@0.5.0
-foreign-types-macros@0.2.3
+foreign-types-macros@0.2.4
foreign-types-shared@0.3.1
form_urlencoded@1.2.2
fuchsia-zircon@0.3.3
fuchsia-zircon-sys@0.3.3
fs_extra@1.3.0
fslock@0.2.1
-futures-core@0.3.32
-futures-macro@0.3.32
-futures-task@0.3.32
+futures-core@0.3.34
+futures-macro@0.3.34
+futures-task@0.3.34
futures-timer@3.0.4
-futures-util@0.3.32
+futures-util@0.3.34
getrandom@0.2.17
-glob@0.3.3
+glob@0.3.4
hashbrown@0.12.3
hashbrown@0.15.5
hashbrown@0.17.1
@@ -83,21 +83,21 @@ hex@0.4.3
humantime@2.4.0
iana-time-zone-haiku@0.1.2
iana-time-zone@0.1.63
-icu_collections@2.2.0
-icu_locale_core@2.2.0
+icu_collections@2.3.0
+icu_locale_core@2.3.0
icu_locid@1.5.0
icu_locid_transform_data@1.5.1
icu_locid_transform@1.5.0
-icu_normalizer@2.2.0
-icu_normalizer_data@2.2.0
-icu_properties@2.2.0
-icu_properties_data@2.2.0
-icu_provider@2.2.0
+icu_normalizer@2.3.0
+icu_normalizer_data@2.3.0
+icu_properties@2.3.0
+icu_properties_data@2.3.0
+icu_provider@2.3.1
icu_provider_macros@1.5.0
ident_case@1.0.1
idna@1.1.0
idna_adapter@1.2.2
-intrusive-collections@0.9.7
+intrusive-collections@0.10.3
iovec@0.1.4
itertools@0.13.0
itoa@1.0.18
@@ -105,45 +105,45 @@ js-sys@0.3.77
kernel32-sys@0.2.2
lazycell@1.3.0
lazy_static@1.5.0
-libc@0.2.186
+libc@0.2.189
libloading@0.8.9
libm@0.2.16
-litemap@0.8.2
-log@0.4.33
+litemap@0.8.3
+log@0.4.34
matches@0.1.10
maybe-uninit@2.0.0
memchr@2.8.3
memoffset@0.9.1
minimal-lexical@0.2.1
-mio@1.2.2
+mio@1.2.3
miow@0.4.0
net2@0.2.37
nom@7.1.3
num-conv@0.1.0
num-traits@0.2.19
num_cpus@1.12.0
-octets@0.3.6
+octets@0.3.7
openssl-macros@0.1.1
peeking_take_while@0.1.2
pin-project-lite@0.2.17
pin-utils@0.1.0
indexmap@1.9.3
-indexmap@2.14.0
+indexmap@2.14.2
once_cell@1.21.4
oorandom@11.1.0
percent-encoding@2.3.2
pkg-config@0.3.32
plotters@0.2.12
-potential_utf@0.1.5
+potential_utf@0.1.6
powerfmt@0.2.0
proc-macro-crate@3.5.0
-proc-macro2@1.0.106
+proc-macro2@1.0.107
qlog@0.18.0
-quote@1.0.46
+quote@1.0.47
rayon@1.3.0
rayon@core-1.7.0
-regex@1.13.0
-regex-automata@0.4.15
+regex@1.13.1
+regex-automata@0.4.18
regex-syntax@0.8.11
relative-path@1.9.3
ring@0.17.14
@@ -152,44 +152,44 @@ rstest_macros@0.26.1
rustc_version@0.4.1
rustc-hash@2.1.3
rustversion@1.0.20
-rust_decimal@1.42.1
+rust_decimal@1.43.0
ryu@1.0.20
same-file@1.0.6
scopeguard@1.1.0
sfv@0.9.4
semver@1.0.28
semver-parser@0.7.0
-serde@1.0.228
-serde_core@1.0.228
-serde_derive@1.0.228
-serde_json@1.0.150
-serde_with@3.21.0
-serde_with_macros@3.21.0
+serde@1.0.229
+serde_core@1.0.229
+serde_derive@1.0.229
+serde_json@1.0.151
+serde_with@3.23.0
+serde_with_macros@3.23.0
shlex@1.3.0
shlex@2.0.1
slab@0.4.12
-smallvec@1.15.2
+smallvec@1.16.1
spin@0.9.8
stable_deref_trait@1.2.1
strsim@0.8.0
strsim@0.11.1
-syn@1.0.109
-syn@2.0.118
-synstructure@0.13.2
+syn@2.0.119
+syn@3.0.6
+synstructure@0.14.0
termcolor@1.1.2
textwrap@0.11.0
time@0.3.41
time-core@0.1.4
time-macros@0.2.22
-tinystr@0.8.3
+tinystr@0.8.4
tinytemplate@1.0.3
tinyvec@1.6.1
tinyvec_macros@0.1.1
toml_datetime@1.1.1+spec-1.1.0
-toml_edit@0.25.12+spec-1.1.0
-toml_parser@1.1.2+spec-1.1.0
+toml_edit@0.25.15+spec-1.1.0
+toml_parser@1.1.3+spec-1.1.0
unicode-bidi@0.3.15
-unicode-ident@1.0.24
+unicode-ident@1.0.26
unicode-normalization@0.1.23
unicode-width@0.1.10
unicode-xid@0.2.4
@@ -255,15 +255,15 @@ windows-result@0.3.2
windows-strings@0.4.0
winnow@1.0.4
write16@1.0.0
-writeable@0.6.3
+writeable@0.6.4
ws2_32-sys@0.2.1
yoke@0.8.3
-yoke-derive@0.8.2
+yoke-derive@0.8.3
zerofrom@0.1.8
-zerofrom-derive@0.1.7
-zerotrie@0.2.4
-zerovec@0.11.6
-zerovec-derive@0.11.3
+zerofrom-derive@0.1.8
+zerotrie@0.2.5
+zerovec@0.11.8
+zerovec-derive@0.11.6
zmij@1.0.23
"
diff --git a/net-misc/omnissa-horizon-client/omnissa-horizon-client-2606-r1.ebuild b/net-misc/omnissa-horizon-client/omnissa-horizon-client-2606-r1.ebuild
index 237490d9c91d..83336de77a62 100644
--- a/net-misc/omnissa-horizon-client/omnissa-horizon-client-2606-r1.ebuild
+++ b/net-misc/omnissa-horizon-client/omnissa-horizon-client-2606-r1.ebuild
@@ -30,7 +30,7 @@ QA_FLAGS_IGNORED="
inherit xdg
RDEPEND="
- media-libs/libva[X]
+ app-accessibility/at-spi2-core
dev-libs/glib:2
dev-libs/libglibutil
dev-libs/libxml2
@@ -43,11 +43,13 @@ RDEPEND="
media-libs/harfbuzz
media-libs/libpng:0/16
media-libs/libpulse
+ media-libs/libva[X]
media-libs/libv4l
media-libs/libva-compat[X]
media-libs/mesa
sys-apps/pcsc-lite
x11-libs/cairo[X]
+ x11-libs/gdk-pixbuf
x11-libs/gtk+:3
x11-libs/libX11
x11-libs/libXcursor
@@ -63,6 +65,7 @@ RDEPEND="
x11-libs/libvdpau
x11-libs/libxcb
x11-libs/libxkbfile
+ x11-libs/pango
"
src_unpack() {
diff --git a/sci-astronomy/stellarium/files/stellarium-26.2-link-error.patch b/sci-astronomy/stellarium/files/stellarium-26.2-link-error.patch
new file mode 100644
index 000000000000..5a4df1e84f65
--- /dev/null
+++ b/sci-astronomy/stellarium/files/stellarium-26.2-link-error.patch
@@ -0,0 +1,23 @@
+https://github.com/Stellarium/stellarium/pull/5067
+
+From 4248e0e65ee57ba17bbda9f49999de4934f14865 Mon Sep 17 00:00:00 2001
+From: Ivan Lloro <Ivan.Lloro.Boada@gmail.com>
+Date: Tue, 4 Aug 2026 09:56:20 +0100
+Subject: [PATCH] Fix link error when --as-needed linker flag set
+
+---
+ plugins/TelescopeControl/src/gui/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/plugins/TelescopeControl/src/gui/CMakeLists.txt b/plugins/TelescopeControl/src/gui/CMakeLists.txt
+index bd5343581070c..b3c6c79eb1a93 100644
+--- a/plugins/TelescopeControl/src/gui/CMakeLists.txt
++++ b/plugins/TelescopeControl/src/gui/CMakeLists.txt
+@@ -31,6 +31,7 @@ target_link_libraries(TelescopeControl_gui
+ Qt${QT_VERSION_MAJOR}::Network
+ Qt${QT_VERSION_MAJOR}::Gui
+ Qt${QT_VERSION_MAJOR}::OpenGL
++ Qt${QT_VERSION_MAJOR}::SerialPort
+ TelescopeControl_common
+ )
+
diff --git a/sci-astronomy/stellarium/stellarium-26.2.ebuild b/sci-astronomy/stellarium/stellarium-26.2.ebuild
index 5d83cb645ef7..9dadd3114359 100644
--- a/sci-astronomy/stellarium/stellarium-26.2.ebuild
+++ b/sci-astronomy/stellarium/stellarium-26.2.ebuild
@@ -87,6 +87,10 @@ DEPEND="${RDEPEND}
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/stellarium.asc
+PATCHES=(
+ "${FILESDIR}"/stellarium-26.2-link-error.patch
+)
+
pkg_setup() {
if tc-is-clang && ! use libcxx && [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
die "When using libc++, please enable USE=libcxx"
diff --git a/sec-keys/openpgp-keys-tpm/openpgp-keys-tpm-20260324.ebuild b/sec-keys/openpgp-keys-tpm/openpgp-keys-tpm-20260324.ebuild
index 4652a1b62f60..a27d7c83274a 100644
--- a/sec-keys/openpgp-keys-tpm/openpgp-keys-tpm-20260324.ebuild
+++ b/sec-keys/openpgp-keys-tpm/openpgp-keys-tpm-20260324.ebuild
@@ -17,7 +17,7 @@ SRC_URI+="
"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos ~x64-solaris"
src_test() {
# manually check
diff --git a/sys-apps/busybox/busybox-1.36.1-r4.ebuild b/sys-apps/busybox/busybox-1.36.1-r4.ebuild
index dcab41ad9350..c2924a08fb07 100644
--- a/sys-apps/busybox/busybox-1.36.1-r4.ebuild
+++ b/sys-apps/busybox/busybox-1.36.1-r4.ebuild
@@ -22,7 +22,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2" # GPL-2 only
SLOT="0"
-IUSE="debug livecd make-symlinks math mdev pam selinux sep-usr static syslog systemd"
+IUSE="debug livecd make-symlinks math mdev pam selinux sep-usr static syslog"
REQUIRED_USE="pam? ( !static )"
RESTRICT="test"
@@ -195,7 +195,6 @@ src_configure() {
busybox_config_option pam PAM
busybox_config_option static STATIC
busybox_config_option syslog {K,SYS}LOGD LOGGER
- busybox_config_option systemd FEATURE_SYSTEMD
busybox_config_option math FEATURE_AWK_LIBM
# all the debug options are compiler related, so punt them
diff --git a/sys-apps/busybox/busybox-1.37.0.ebuild b/sys-apps/busybox/busybox-1.37.0.ebuild
index 7801dfaaea60..743dbba4d0c3 100644
--- a/sys-apps/busybox/busybox-1.37.0.ebuild
+++ b/sys-apps/busybox/busybox-1.37.0.ebuild
@@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2" # GPL-2 only
SLOT="0"
-IUSE="debug livecd make-symlinks math mdev pam selinux sep-usr static syslog systemd"
+IUSE="debug livecd make-symlinks math mdev pam selinux sep-usr static syslog"
REQUIRED_USE="pam? ( !static )"
RESTRICT="test"
@@ -198,7 +198,6 @@ src_configure() {
busybox_config_option pam PAM
busybox_config_option static STATIC
busybox_config_option syslog {K,SYS}LOGD LOGGER
- busybox_config_option systemd FEATURE_SYSTEMD
busybox_config_option math FEATURE_AWK_LIBM
# all the debug options are compiler related, so punt them
diff --git a/sys-apps/busybox/busybox-1.38.0.ebuild b/sys-apps/busybox/busybox-1.38.0.ebuild
index c290b920df73..6ec3ff46614e 100644
--- a/sys-apps/busybox/busybox-1.38.0.ebuild
+++ b/sys-apps/busybox/busybox-1.38.0.ebuild
@@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2" # GPL-2 only
SLOT="0"
-IUSE="debug livecd make-symlinks math mdev pam selinux sep-usr static syslog systemd"
+IUSE="debug livecd make-symlinks math mdev pam selinux sep-usr static syslog"
REQUIRED_USE="pam? ( !static )"
RESTRICT="test"
@@ -196,7 +196,6 @@ src_configure() {
busybox_config_option pam PAM
busybox_config_option static STATIC
busybox_config_option syslog {K,SYS}LOGD LOGGER
- busybox_config_option systemd FEATURE_SYSTEMD
busybox_config_option math FEATURE_AWK_LIBM
# all the debug options are compiler related, so punt them
diff --git a/sys-apps/busybox/busybox-9999.ebuild b/sys-apps/busybox/busybox-9999.ebuild
index ea2f501a10ec..f6d3593a5056 100644
--- a/sys-apps/busybox/busybox-9999.ebuild
+++ b/sys-apps/busybox/busybox-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# See `man savedconfig.eclass` for info on how to use USE=savedconfig.
@@ -22,7 +22,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2" # GPL-2 only
SLOT="0"
-IUSE="debug livecd make-symlinks math mdev pam selinux sep-usr static syslog systemd"
+IUSE="debug livecd make-symlinks math mdev pam selinux sep-usr static syslog"
REQUIRED_USE="pam? ( !static )"
RESTRICT="test"
@@ -193,7 +193,6 @@ src_configure() {
busybox_config_option pam PAM
busybox_config_option static STATIC
busybox_config_option syslog {K,SYS}LOGD LOGGER
- busybox_config_option systemd FEATURE_SYSTEMD
busybox_config_option math FEATURE_AWK_LIBM
# all the debug options are compiler related, so punt them
diff --git a/sys-apps/busybox/metadata.xml b/sys-apps/busybox/metadata.xml
index 08b658b23269..4a79f4df7216 100644
--- a/sys-apps/busybox/metadata.xml
+++ b/sys-apps/busybox/metadata.xml
@@ -11,7 +11,6 @@
<flag name="mdev">Create the appropriate symlink in /sbin and install mdev.conf and support files</flag>
<flag name="sep-usr">Support a separate /usr without needing an initramfs by booting with init=/ginit</flag>
<flag name="static">Make the system rescue shell (/bin/bb) static so you can recover even when glibc is broken</flag>
- <flag name="systemd">Support systemd</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:busybox:busybox</remote-id>
diff --git a/sys-apps/utils-extra/Manifest b/sys-apps/utils-extra/Manifest
index 8d4bb0ecc857..532b202b5be0 100644
--- a/sys-apps/utils-extra/Manifest
+++ b/sys-apps/utils-extra/Manifest
@@ -1,2 +1,4 @@
DIST utils-extra-0.1.0.tar.gz 26765 BLAKE2B 382687807b3d93b32876935a3a0d9286f2aef8f7ffb631359a663aaf31218191197d21a965d4e82de4559962e1dc150fd5c9e8530c6ff74f2ab31c38ecb15e9c SHA512 351b150a72aa5b0019b8faa79b16d96b02c37bfae46fe90b1411d3a9dde5053c4b82892f430df4158c52dcc21738e8d83bc93e29a735fd08fe188f1c644233b7
DIST utils-extra-0.1.0.tar.gz.sign 141 BLAKE2B a9df12288138a01226a29ad69e83ccc49bb3454e3cbdd7cd87853f04f7733965773654adeb5d5973375ba1ec1ab3ef50937e820f93c37d418f3f7347c1ea89fb SHA512 fe847d8c8d78d52bc7e256f9b2242e69454f6852dafc3707a73595edb78c240c24c850f67adfb49707ac8a18b85e5b01448bf18696651f96472e33741ed3ff07
+DIST utils-extra-0.2.0.tar.gz 26823 BLAKE2B c6ca049ec111be5c6607e430ed79d7fdd584c9b00a2b1a39871f3e5434e65704d0dc3247c3bb1ae8eeba2b0d4b4dd888c05e5e887e504d3a9c18a41c1e87a344 SHA512 7289c604989a211e8e43647fc9e2af2f0e9e214d916f58f2ea816e85ed0680a08f8d3e178ec958a7cd16d60dfb4e014fb9fbd300c87e8448a48ac5fe23167f5a
+DIST utils-extra-0.2.0.tar.gz.sign 141 BLAKE2B 8399aa56d4d3d295c7fc9842f11bfa00149524d7aa86f132a0034657a1268e3df5841fb1985b1b6be1c133fe2763c4dea7849d493006c15420f1008017c24c7f SHA512 743ddf66d8378e775c2848141756bd52e5f83ef9746253d312a18074b39efbce1ca5b47c2f637829bb9293e69256bd2978869df3cf01458a5bb260daba1f54e6
diff --git a/sys-apps/utils-extra/utils-extra-0.2.0.ebuild b/sys-apps/utils-extra/utils-extra-0.2.0.ebuild
new file mode 100644
index 000000000000..775c683e1ecf
--- /dev/null
+++ b/sys-apps/utils-extra/utils-extra-0.2.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2021-2026 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+if [[ "${PV}" = 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://anongit.hacktivis.me/git/utils-extra.git"
+else
+ VERIFY_SIG_METHOD=signify
+ inherit verify-sig
+
+ SRC_URI="
+ https://distfiles.hacktivis.me/releases/utils-extra/${P}.tar.gz
+ verify-sig? ( https://distfiles.hacktivis.me/releases/utils-extra/${P}.tar.gz.sign )
+ "
+
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x64-solaris"
+fi
+
+DESCRIPTION="Collection of extra tools for Unixes"
+HOMEPAGE="https://hacktivis.me/git/utils-extra/"
+LICENSE="MPL-2.0"
+SLOT="0"
+IUSE="static"
+
+if [[ "${PV}" != 9999* ]]
+then
+ BDEPEND="${BDEPEND} verify-sig? ( sec-keys/signify-keys-lanodan:2026 )"
+
+ VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/signify-keys/signify-keys-lanodan-2026.pub"
+fi
+
+src_unpack() {
+ if [[ "${PV}" != 9999* ]] && use verify-sig
+ then
+ # Too many levels of symbolic links workaround
+ cd "${WORKDIR}" || die
+ cp "${DISTDIR}/${P}.tar.gz" "${DISTDIR}/${P}.tar.gz.sign" "${WORKDIR}/" || die
+ verify-sig_verify_detached "${P}.tar.gz" "${P}.tar.gz.sign"
+ unpack "${WORKDIR}/${P}.tar.gz"
+ rm "${WORKDIR}/${P}.tar.gz"
+ else
+ default
+ fi
+}
+
+src_configure() {
+ export NO_BWRAP=1
+
+ use static && export LDSTATIC="-static-pie"
+
+ tc-export CC
+
+ ./configure PREFIX='/usr'
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+}
diff --git a/sys-apps/utils-extra/utils-extra-9999.ebuild b/sys-apps/utils-extra/utils-extra-9999.ebuild
index 07422f3553d7..4ef175fe5255 100644
--- a/sys-apps/utils-extra/utils-extra-9999.ebuild
+++ b/sys-apps/utils-extra/utils-extra-9999.ebuild
@@ -24,37 +24,29 @@ DESCRIPTION="Collection of extra tools for Unixes"
HOMEPAGE="https://hacktivis.me/git/utils-extra/"
LICENSE="MPL-2.0"
SLOT="0"
-IUSE="test static"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-libs/atf
- dev-util/kyua
- )
-"
+IUSE="static"
if [[ "${PV}" != 9999* ]]
then
BDEPEND="${BDEPEND} verify-sig? ( sec-keys/signify-keys-lanodan:2026 )"
VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/signify-keys/signify-keys-lanodan-2026.pub"
-
- src_unpack() {
- if use verify-sig; then
- # Too many levels of symbolic links workaround
- cd "${WORKDIR}" || die
- cp "${DISTDIR}/${P}.tar.gz" "${DISTDIR}/${P}.tar.gz.sign" "${WORKDIR}/" || die
- verify-sig_verify_detached "${P}.tar.gz" "${P}.tar.gz.sign"
- unpack "${WORKDIR}/${P}.tar.gz"
- rm "${WORKDIR}/${P}.tar.gz"
- else
- default
- fi
- }
fi
+src_unpack() {
+ if [[ "${PV}" != 9999* ]] && use verify-sig
+ then
+ # Too many levels of symbolic links workaround
+ cd "${WORKDIR}" || die
+ cp "${DISTDIR}/${P}.tar.gz" "${DISTDIR}/${P}.tar.gz.sign" "${WORKDIR}/" || die
+ verify-sig_verify_detached "${P}.tar.gz" "${P}.tar.gz.sign"
+ unpack "${WORKDIR}/${P}.tar.gz"
+ rm "${WORKDIR}/${P}.tar.gz"
+ else
+ default
+ fi
+}
+
src_configure() {
export NO_BWRAP=1
diff --git a/www-apps/soupault/Manifest b/www-apps/soupault/Manifest
index 7fb1e9d3dc71..046bb453ef30 100644
--- a/www-apps/soupault/Manifest
+++ b/www-apps/soupault/Manifest
@@ -1,2 +1,2 @@
DIST soupault-5.2.1.tar.gz 104959 BLAKE2B 174d596f0d8ef29f2e81a88d4b34d6e2b45f6397d15ccb47cf6bb6e515f69b8817de7a02e469305045d5feb5d6ebe1d78ed6018a3dbfa8e98fcb291cad63403c SHA512 886677e3318ed874fb4144da5f4e55a58967421afeb44fcc83e98431b2a438197e0a42765546db082afee234c7633f53a4bf60bf8051230013e912afdea35e98
-DIST soupault-5.3.0.tar.gz 110798 BLAKE2B cc4ead70edcd6fb73a113ebad35f515677ecb5e2c203b4087703cdcb76d2651398205ceaa2c59db20a41e33db6876785c526913c5b9f5363aecfebe51297c006 SHA512 da2077903328d6c01f23a095954f280f22f2a5e809f2d1644fffc119659568fdbd70424cc6a41352b541292e31fd30df1828ac37cc35c0178816494c71de4ab7
+DIST soupault-5.3.0.tar.gz 110704 BLAKE2B 8868826c1530cf16be974db1e7d5bdd742841a77281ad5578f19295faba61c74e47c4fbc7f7cce634766796d5e6e469021aca2f122b615973be851d2d858d1a7 SHA512 230a1910cd908ede8935366fce2d5520b6e373a9e6508cc9b0378dfe2a29da290f3e4ba5cc4bcfc0fe6271432c44797ee47a78567b2772adcee82e877bf425a3
diff --git a/www-client/yandex-browser/Manifest b/www-client/yandex-browser/Manifest
index a264e4098afc..b2c1b14426c7 100644
--- a/www-client/yandex-browser/Manifest
+++ b/www-client/yandex-browser/Manifest
@@ -1 +1 @@
-DIST yandex-browser-26.8.1.1022_p1.deb 191834080 BLAKE2B 2428c75d2573f74c5e3387b89190d834c8b88217b48a42933d6b99920049ecaaac5f595ae86abb9641c21fc392875caf8a3d0c1d99db100c6702c9e40cea5a49 SHA512 a22d7a7d66f590e96bc4565ec6af4b89c618c62499161e6f8435e9154725085bbb92b5cb92d83421fd0e1b4496f8b93e4002c325b8114fb6d55e2ce1ab3e1544
+DIST yandex-browser-26.8.1.1081_p1.deb 191899016 BLAKE2B 34911eca8e348acbcb70c57c95159688041de00f5e034026467e92f2245e2a7c549f4358b514a0b3e39d09c8b0836bc6a42d01d74f13671a0f0a2638ce4b27aa SHA512 b4ee2bf8243da492d5e155c6ddc3e8222ef05e271f570c778ae977e9a4e8382564972c4bd133284659794aac64b61504a4971783d5de212f03177cddeb73e7ff
diff --git a/www-client/yandex-browser/yandex-browser-26.8.1.1022_p1.ebuild b/www-client/yandex-browser/yandex-browser-26.8.1.1081_p1.ebuild
index 8030c5f0c6a1..8030c5f0c6a1 100644
--- a/www-client/yandex-browser/yandex-browser-26.8.1.1022_p1.ebuild
+++ b/www-client/yandex-browser/yandex-browser-26.8.1.1081_p1.ebuild
diff --git a/www-servers/nginx/nginx-1.30.5.ebuild b/www-servers/nginx/nginx-1.30.5.ebuild
index 7eb89e9b4d72..7370ffacd5b7 100644
--- a/www-servers/nginx/nginx-1.30.5.ebuild
+++ b/www-servers/nginx/nginx-1.30.5.ebuild
@@ -27,7 +27,7 @@ NGINX_SUPPORT_MODULE_STUBS=1
inherit nginx
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
PATCHES=(
"${FILESDIR}/${PN}-httpoxy-mitigation-r1.patch"
diff --git a/www-servers/nginx/nginx-1.31.6.ebuild b/www-servers/nginx/nginx-1.31.6.ebuild
index 97a69df54798..779a4a2c8268 100644
--- a/www-servers/nginx/nginx-1.31.6.ebuild
+++ b/www-servers/nginx/nginx-1.31.6.ebuild
@@ -27,7 +27,7 @@ NGINX_SUPPORT_MODULE_STUBS=1
inherit nginx
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
PATCHES=(
"${FILESDIR}/${PN}-httpoxy-mitigation-r1.patch"