commit:     eb317ddb431f4869c4e728c635afe921e1fcdd68
Author:     Takuya Wakazono <pastalian46 <AT> gmail <DOT> com>
AuthorDate: Mon Nov 11 15:07:37 2024 +0000
Commit:     Takuya Wakazono <pastalian46 <AT> gmail <DOT> com>
CommitDate: Tue Nov 12 13:17:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=eb317ddb

*/*: update for slotted Rust

guru version of this commit:
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01ba4dc61965ef7658a24728841c04c9a1ce4871

Closes: https://bugs.gentoo.org/943170
Closes: https://bugs.gentoo.org/943223
Closes: #260
Signed-off-by: Takuya Wakazono <pastalian46 <AT> gmail.com>

 .../{rbw-1.11.1-r1.ebuild => rbw-1.11.1-r2.ebuild} |   3 +-
 .../{rbw-1.12.0.ebuild => rbw-1.12.0-r1.ebuild}    |   3 +-
 .../{rbw-1.12.1.ebuild => rbw-1.12.1-r1.ebuild}    |   3 +-
 app-admin/rbw/rbw-9999.ebuild                      |   3 +-
 ...-1.30.3.ebuild => vaultwarden-1.30.3-r1.ebuild} |   8 +
 ...-1.30.4.ebuild => vaultwarden-1.30.4-r1.ebuild} |   8 +
 ...-1.30.5.ebuild => vaultwarden-1.30.5-r1.ebuild} |   8 +
 app-admin/vaultwarden/vaultwarden-9999.ebuild      |   5 +
 ...0.7.2-r1.ebuild => pika-backup-0.7.2-r2.ebuild} |   7 +-
 ...f-1.1.3.ebuild => keepass-diff-1.1.3-r1.ebuild} |   2 -
 .../{lapce-0.4.2.ebuild => lapce-0.4.2-r1.ebuild}  |   3 -
 app-editors/lapce/lapce-9999.ebuild                |   3 +-
 ...dre-0.5.0.ebuild => scaphandre-0.5.0-r1.ebuild} |   5 +
 ...tch-2.21.0.ebuild => onefetch-2.21.0-r1.ebuild} |   4 +-
 .../{xplr-0.21.3.ebuild => xplr-0.21.3-r1.ebuild}  |  11 +-
 ..._core-0.7.2.ebuild => dmd_core-0.7.2-r1.ebuild} |  10 +-
 ....44.0.ebuild => libsignal-ffi-0.44.0-r1.ebuild} |   8 +-
 ....46.0.ebuild => libsignal-ffi-0.46.0-r1.ebuild} |   8 +-
 ....51.0.ebuild => libsignal-ffi-0.51.0-r1.ebuild} |   8 +-
 ...ols-0.3.2-r1.ebuild => tbtools-0.3.2-r2.ebuild} |   6 +-
 ...24.2.1.ebuild => rust-rover-2024.2.1-r1.ebuild} |   1 -
 .../jj/{jj-0.23.0.ebuild => jj-0.23.0-r1.ebuild}   |   1 +
 dev-vcs/jj/jj-9999.ebuild                          |   1 +
 .../{ddnet-18.7.ebuild => ddnet-18.7-r1.ebuild}    |   7 +-
 games-action/ddnet/ddnet-9999.ebuild               |   7 +-
 ...et-0.1.1-r9.ebuild => ReGreet-0.1.1-r10.ebuild} |   5 +-
 gui-apps/ReGreet/ReGreet-9999.ebuild               |   5 +-
 ...nso-2.2.1-r1.ebuild => espanso-2.1.8-r1.ebuild} | 166 ++++----
 gui-apps/espanso/espanso-2.1.8.ebuild              | 435 ---------------------
 ...nso-2.2.1-r1.ebuild => espanso-2.2.1-r2.ebuild} |   3 +-
 gui-apps/eww/eww-9999.ebuild                       |   1 -
 ...{satty-0.14.0.ebuild => satty-0.14.0-r1.ebuild} |   1 -
 gui-apps/satty/satty-9999.ebuild                   |   1 -
 ...ilicon-0.5.2.ebuild => silicon-0.5.2-r1.ebuild} |   8 +
 .../{spot-0.4.0.ebuild => spot-0.4.0-r1.ebuild}    |   1 -
 ...{delfin-0.4.4.ebuild => delfin-0.4.4-r1.ebuild} |   5 +-
 ...{delfin-0.4.5.ebuild => delfin-0.4.5-r1.ebuild} |   5 +-
 media-video/kooha/kooha-2.2.3-r1.ebuild            |  64 +++
 media-video/kooha/kooha-2.2.3.ebuild               | 213 ----------
 ...0.ebuild => walksnail-osd-tool-0.3.0-r1.ebuild} |   9 +-
 .../walksnail-osd-tool-9999.ebuild                 |   7 +-
 ...onduit-0.8.0.ebuild => conduit-0.8.0-r1.ebuild} |   3 +-
 ...onduit-0.9.0.ebuild => conduit-0.9.0-r1.ebuild} |   3 +-
 net-im/conduit/conduit-9999.ebuild                 |   3 +-
 ...{flare-0.12.0.ebuild => flare-0.12.0-r1.ebuild} |   3 +-
 ...loy-2024.12.ebuild => halloy-2024.12-r1.ebuild} |   3 +-
 ...{gdrive-3.9.0.ebuild => gdrive-3.9.0-r1.ebuild} |   3 +-
 ...{gdrive-3.9.1.ebuild => gdrive-3.9.1-r1.ebuild} |   0
 .../{warp-0.7.0-r1.ebuild => warp-0.7.0-r2.ebuild} |   5 +
 net-p2p/fragments/fragments-3.0.1.ebuild           |   3 +-
 .../squeekboard/squeekboard-1.17.1-r1.ebuild       | 101 +++++
 phosh-base/squeekboard/squeekboard-1.17.1.ebuild   | 100 -----
 ...9-r1.ebuild => bat-extras-2023.09.19-r2.ebuild} |   7 +-
 sys-apps/bat-extras/bat-extras-2023.09.19.ebuild   |  80 ----
 sys-apps/bat-extras/bat-extras-9999.ebuild         |   7 +-
 ...{hexyl-0.15.0.ebuild => hexyl-0.15.0-r1.ebuild} |   1 -
 ....4-r2.ebuild => mission-center-0.4.4-r3.ebuild} |   6 +-
 ....2-r1.ebuild => mission-center-0.5.2-r2.ebuild} |   6 +-
 ...1.2.0.ebuild => system76-power-1.2.0-r1.ebuild} |  18 +-
 ...1.2.1.ebuild => system76-power-1.2.1-r1.ebuild} |  18 +-
 .../system76-power/system76-power-9999.ebuild      |   3 +-
 61 files changed, 412 insertions(+), 1023 deletions(-)

diff --git a/app-admin/rbw/rbw-1.11.1-r1.ebuild 
b/app-admin/rbw/rbw-1.11.1-r2.ebuild
similarity index 99%
rename from app-admin/rbw/rbw-1.11.1-r1.ebuild
rename to app-admin/rbw/rbw-1.11.1-r2.ebuild
index 8b12bc7e4..cc503d167 100644
--- a/app-admin/rbw/rbw-1.11.1-r1.ebuild
+++ b/app-admin/rbw/rbw-1.11.1-r2.ebuild
@@ -300,6 +300,8 @@ CRATES="
        [email protected]
 "
 
+RUST_MIN_VER="1.74.1"
+
 inherit cargo optfeature shell-completion
 
 DESCRIPTION="Unofficial Bitwarden CLI"
@@ -322,7 +324,6 @@ LICENSE+=" openssl"
 SLOT="0"
 
 RDEPEND="app-crypt/pinentry"
-BDEPEND=">=virtual/rust-1.74"
 
 PATCHES="${FILESDIR}"/${P}-gen-completions.patch
 

diff --git a/app-admin/rbw/rbw-1.12.0.ebuild 
b/app-admin/rbw/rbw-1.12.0-r1.ebuild
similarity index 99%
rename from app-admin/rbw/rbw-1.12.0.ebuild
rename to app-admin/rbw/rbw-1.12.0-r1.ebuild
index acae6825d..07b893bb0 100644
--- a/app-admin/rbw/rbw-1.12.0.ebuild
+++ b/app-admin/rbw/rbw-1.12.0-r1.ebuild
@@ -299,6 +299,8 @@ CRATES="
        [email protected]
 "
 
+RUST_MIN_VER="1.75.0"
+
 inherit cargo optfeature shell-completion
 
 DESCRIPTION="Unofficial Bitwarden CLI"
@@ -321,7 +323,6 @@ LICENSE+=" openssl"
 SLOT="0"
 
 RDEPEND="app-crypt/pinentry"
-BDEPEND=">=virtual/rust-1.75.0"
 
 PATCHES="${FILESDIR}"/${PN}-1.11.1-gen-completions.patch
 

diff --git a/app-admin/rbw/rbw-1.12.1.ebuild 
b/app-admin/rbw/rbw-1.12.1-r1.ebuild
similarity index 99%
rename from app-admin/rbw/rbw-1.12.1.ebuild
rename to app-admin/rbw/rbw-1.12.1-r1.ebuild
index acae6825d..07b893bb0 100644
--- a/app-admin/rbw/rbw-1.12.1.ebuild
+++ b/app-admin/rbw/rbw-1.12.1-r1.ebuild
@@ -299,6 +299,8 @@ CRATES="
        [email protected]
 "
 
+RUST_MIN_VER="1.75.0"
+
 inherit cargo optfeature shell-completion
 
 DESCRIPTION="Unofficial Bitwarden CLI"
@@ -321,7 +323,6 @@ LICENSE+=" openssl"
 SLOT="0"
 
 RDEPEND="app-crypt/pinentry"
-BDEPEND=">=virtual/rust-1.75.0"
 
 PATCHES="${FILESDIR}"/${PN}-1.11.1-gen-completions.patch
 

diff --git a/app-admin/rbw/rbw-9999.ebuild b/app-admin/rbw/rbw-9999.ebuild
index 7bd3ee142..8fd52283a 100644
--- a/app-admin/rbw/rbw-9999.ebuild
+++ b/app-admin/rbw/rbw-9999.ebuild
@@ -3,6 +3,8 @@
 
 EAPI=8
 
+RUST_MIN_VER="1.75.0"
+
 inherit cargo optfeature shell-completion
 
 DESCRIPTION="Unofficial Bitwarden CLI"
@@ -25,7 +27,6 @@ LICENSE+=" openssl"
 SLOT="0"
 
 RDEPEND="app-crypt/pinentry"
-BDEPEND=">=virtual/rust-1.75.0"
 
 QA_FLAGS_IGNORED="
        usr/bin/rbw

diff --git a/app-admin/vaultwarden/vaultwarden-1.30.3.ebuild 
b/app-admin/vaultwarden/vaultwarden-1.30.3-r1.ebuild
similarity index 95%
rename from app-admin/vaultwarden/vaultwarden-1.30.3.ebuild
rename to app-admin/vaultwarden/vaultwarden-1.30.3-r1.ebuild
index 27fdd5ac6..a934cd949 100644
--- a/app-admin/vaultwarden/vaultwarden-1.30.3.ebuild
+++ b/app-admin/vaultwarden/vaultwarden-1.30.3-r1.ebuild
@@ -3,6 +3,9 @@
 
 EAPI=8
 
+# https://github.com/dani-garcia/vaultwarden/issues/4649
+RUST_MAX_VER="1.77.1"
+
 inherit cargo check-reqs readme.gentoo-r1 systemd tmpfiles
 
 DESCRIPTION="Unofficial Bitwarden compatible password manager server written 
in Rust"
@@ -63,6 +66,11 @@ DOC_CONTENTS="\n
        Admin interface: http://0.0.0.0:8000/admin
 "
 
+pkg_setup() {
+       check-reqs_pkg_setup
+       rust_pkg_setup
+}
+
 src_unpack() {
        if [[ ${PV} == 9999* ]]; then
                # clone vaultwarden

diff --git a/app-admin/vaultwarden/vaultwarden-1.30.4.ebuild 
b/app-admin/vaultwarden/vaultwarden-1.30.4-r1.ebuild
similarity index 95%
rename from app-admin/vaultwarden/vaultwarden-1.30.4.ebuild
rename to app-admin/vaultwarden/vaultwarden-1.30.4-r1.ebuild
index 27fdd5ac6..a934cd949 100644
--- a/app-admin/vaultwarden/vaultwarden-1.30.4.ebuild
+++ b/app-admin/vaultwarden/vaultwarden-1.30.4-r1.ebuild
@@ -3,6 +3,9 @@
 
 EAPI=8
 
+# https://github.com/dani-garcia/vaultwarden/issues/4649
+RUST_MAX_VER="1.77.1"
+
 inherit cargo check-reqs readme.gentoo-r1 systemd tmpfiles
 
 DESCRIPTION="Unofficial Bitwarden compatible password manager server written 
in Rust"
@@ -63,6 +66,11 @@ DOC_CONTENTS="\n
        Admin interface: http://0.0.0.0:8000/admin
 "
 
+pkg_setup() {
+       check-reqs_pkg_setup
+       rust_pkg_setup
+}
+
 src_unpack() {
        if [[ ${PV} == 9999* ]]; then
                # clone vaultwarden

diff --git a/app-admin/vaultwarden/vaultwarden-1.30.5.ebuild 
b/app-admin/vaultwarden/vaultwarden-1.30.5-r1.ebuild
similarity index 95%
rename from app-admin/vaultwarden/vaultwarden-1.30.5.ebuild
rename to app-admin/vaultwarden/vaultwarden-1.30.5-r1.ebuild
index 4f7e0d4b4..e793a68b4 100644
--- a/app-admin/vaultwarden/vaultwarden-1.30.5.ebuild
+++ b/app-admin/vaultwarden/vaultwarden-1.30.5-r1.ebuild
@@ -3,6 +3,9 @@
 
 EAPI=8
 
+# https://github.com/dani-garcia/vaultwarden/issues/4649
+RUST_MAX_VER="1.77.1"
+
 inherit cargo check-reqs readme.gentoo-r1 systemd tmpfiles
 
 DESCRIPTION="Unofficial Bitwarden compatible password manager server written 
in Rust"
@@ -63,6 +66,11 @@ DOC_CONTENTS="\n
        Admin interface: http://0.0.0.0:8000/admin
 "
 
+pkg_setup() {
+       check-reqs_pkg_setup
+       rust_pkg_setup
+}
+
 src_unpack() {
        if [[ ${PV} == 9999* ]]; then
                # clone vaultwarden

diff --git a/app-admin/vaultwarden/vaultwarden-9999.ebuild 
b/app-admin/vaultwarden/vaultwarden-9999.ebuild
index 27fdd5ac6..7652e49bd 100644
--- a/app-admin/vaultwarden/vaultwarden-9999.ebuild
+++ b/app-admin/vaultwarden/vaultwarden-9999.ebuild
@@ -63,6 +63,11 @@ DOC_CONTENTS="\n
        Admin interface: http://0.0.0.0:8000/admin
 "
 
+pkg_setup() {
+       check-reqs_pkg_setup
+       rust_pkg_setup
+}
+
 src_unpack() {
        if [[ ${PV} == 9999* ]]; then
                # clone vaultwarden

diff --git a/app-backup/pika-backup/pika-backup-0.7.2-r1.ebuild 
b/app-backup/pika-backup/pika-backup-0.7.2-r2.ebuild
similarity index 98%
rename from app-backup/pika-backup/pika-backup-0.7.2-r1.ebuild
rename to app-backup/pika-backup/pika-backup-0.7.2-r2.ebuild
index c2b1b29e5..5cf7342e7 100644
--- a/app-backup/pika-backup/pika-backup-0.7.2-r1.ebuild
+++ b/app-backup/pika-backup/pika-backup-0.7.2-r2.ebuild
@@ -323,6 +323,7 @@ CRATES="
        [email protected]
 "
 PYTHON_COMPAT=( python3_{9..13} )
+RUST_MIN_VER="1.75.0"
 inherit cargo gnome2-utils meson python-single-r1 xdg
 
 DESCRIPTION="Keep your data safe"
@@ -357,7 +358,6 @@ RDEPEND="
        x11-libs/pango
 "
 BDEPEND="
-       >=virtual/rust-1.75.0
        dev-util/itstool
        sys-devel/gettext
 "
@@ -365,6 +365,11 @@ BDEPEND="
 # Rust
 QA_FLAGS_IGNORED="usr/bin/${PN} usr/bin/${PN}-monitor"
 
+pkg_setup() {
+       python-single-r1_pkg_setup
+       rust_pkg_setup
+}
+
 src_prepare() {
        mv -T "${WORKDIR}/${PN}-v${PV}"* "${S}" || die
        sed -i -e "/subdir('src')/d" "${S}/meson.build" || die

diff --git a/app-crypt/keepass-diff/keepass-diff-1.1.3.ebuild 
b/app-crypt/keepass-diff/keepass-diff-1.1.3-r1.ebuild
similarity index 98%
rename from app-crypt/keepass-diff/keepass-diff-1.1.3.ebuild
rename to app-crypt/keepass-diff/keepass-diff-1.1.3-r1.ebuild
index 259a11a1f..96c616fc8 100644
--- a/app-crypt/keepass-diff/keepass-diff-1.1.3.ebuild
+++ b/app-crypt/keepass-diff/keepass-diff-1.1.3-r1.ebuild
@@ -87,6 +87,4 @@ LICENSE="Apache-2.0 BSD BSD-2 CC0-1.0 MIT Unlicense"
 SLOT="0"
 KEYWORDS="~amd64"
 
-BDEPEND="virtual/rust"
-
 QA_FLAGS_IGNORED="usr/bin/${PN}" # silence warnings

diff --git a/app-editors/lapce/lapce-0.4.2.ebuild 
b/app-editors/lapce/lapce-0.4.2-r1.ebuild
similarity index 98%
rename from app-editors/lapce/lapce-0.4.2.ebuild
rename to app-editors/lapce/lapce-0.4.2-r1.ebuild
index 91bc051db..4c9813b7b 100644
--- a/app-editors/lapce/lapce-0.4.2.ebuild
+++ b/app-editors/lapce/lapce-0.4.2-r1.ebuild
@@ -2,8 +2,6 @@
 # Distributed under the terms of the GNU General Public License v2
 EAPI=8
 
-CRATES=""
-
 inherit cargo desktop xdg-utils
 
 DESCRIPTION="Lightning-fast and Powerful Code Editor written in Rust "
@@ -29,7 +27,6 @@ BDEPEND="
        dev-build/cmake
        sys-devel/gcc
        virtual/pkgconfig
-       >=virtual/rust-1.64
 "
 
 # rust does not use *FLAGS from make.conf, silence portage warning

diff --git a/app-editors/lapce/lapce-9999.ebuild 
b/app-editors/lapce/lapce-9999.ebuild
index 860ee098c..2d5f9d7e7 100644
--- a/app-editors/lapce/lapce-9999.ebuild
+++ b/app-editors/lapce/lapce-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 EAPI=8
 
@@ -20,7 +20,6 @@ BDEPEND="
        dev-build/cmake
        sys-devel/gcc
        virtual/pkgconfig
-       >=virtual/rust-1.64
 "
 
 src_unpack() {

diff --git a/app-metrics/scaphandre/scaphandre-0.5.0.ebuild 
b/app-metrics/scaphandre/scaphandre-0.5.0-r1.ebuild
similarity index 98%
rename from app-metrics/scaphandre/scaphandre-0.5.0.ebuild
rename to app-metrics/scaphandre/scaphandre-0.5.0-r1.ebuild
index 796a32046..72db241c6 100644
--- a/app-metrics/scaphandre/scaphandre-0.5.0.ebuild
+++ b/app-metrics/scaphandre/scaphandre-0.5.0-r1.ebuild
@@ -244,3 +244,8 @@ RDEPEND="${DEPEND}"
 CONFIG_CHECK="~CONFIG_INTEL_RAPL"
 
 QA_FLAGS_IGNORED="usr/bin/scaphandre"
+
+pkg_setup() {
+       linux-info_pkg_setup
+       rust_pkg_setup
+}

diff --git a/app-misc/onefetch/onefetch-2.21.0.ebuild 
b/app-misc/onefetch/onefetch-2.21.0-r1.ebuild
similarity index 99%
rename from app-misc/onefetch/onefetch-2.21.0.ebuild
rename to app-misc/onefetch/onefetch-2.21.0-r1.ebuild
index 8b0ceeeac..c06ecbe40 100644
--- a/app-misc/onefetch/onefetch-2.21.0.ebuild
+++ b/app-misc/onefetch/onefetch-2.21.0-r1.ebuild
@@ -465,6 +465,8 @@ CRATES="
        [email protected]
 "
 
+RUST_MIN_VER="1.74.0"
+
 inherit cargo shell-completion
 
 DESCRIPTION="Command-line Git information tool"
@@ -486,7 +488,6 @@ DEPEND="${RDEPEND}"
 BDEPEND="
        dev-build/cmake
        virtual/pkgconfig
-       >=virtual/rust-1.74.0
        test? (
                app-arch/xz-utils
                dev-vcs/git
@@ -498,6 +499,7 @@ QA_FLAGS_IGNORED="usr/bin/onefetch"
 
 pkg_setup() {
        export ZSTD_SYS_USE_PKG_CONFIG=1
+       rust_pkg_setup
 }
 
 src_install() {

diff --git a/app-misc/xplr/xplr-0.21.3.ebuild 
b/app-misc/xplr/xplr-0.21.3-r1.ebuild
similarity index 96%
rename from app-misc/xplr/xplr-0.21.3.ebuild
rename to app-misc/xplr/xplr-0.21.3-r1.ebuild
index d594caf7d..a05d522ed 100644
--- a/app-misc/xplr/xplr-0.21.3.ebuild
+++ b/app-misc/xplr/xplr-0.21.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -205,6 +205,10 @@ CRATES="
        [email protected]
 "
 
+# <[email protected]
+# https://github.com/time-rs/time/issues/693
+RUST_MAX_VER="1.79.0"
+
 inherit cargo desktop lua-single xdg-utils
 
 DESCRIPTION="A hackable, minimal, fast TUI file explorer"
@@ -231,6 +235,11 @@ DEPEND="
 
 QA_FLAGS_IGNORED="usr/bin/xplr"
 
+pkg_setup() {
+       lua-single_pkg_setup
+       rust_pkg_setup
+}
+
 src_configure() {
        cargo_src_configure --bin xplr
 }

diff --git a/dev-libs/dmd_core/dmd_core-0.7.2.ebuild 
b/dev-libs/dmd_core/dmd_core-0.7.2-r1.ebuild
similarity index 75%
rename from dev-libs/dmd_core/dmd_core-0.7.2.ebuild
rename to dev-libs/dmd_core/dmd_core-0.7.2-r1.ebuild
index ff1ebc746..f3088c1f2 100644
--- a/dev-libs/dmd_core/dmd_core-0.7.2.ebuild
+++ b/dev-libs/dmd_core/dmd_core-0.7.2-r1.ebuild
@@ -55,16 +55,8 @@ KEYWORDS="~amd64"
 
 RESTRICT="test"
 
-# There are inconsistencies in the minimum required version between
-# the homepage of the package and the README of its primary consumer,
-# developed by the same person. Since the primary consumer directly
-# pulls up the library as a Git submodule (patched out to use a
-# standalone library in Gentoo) and does not require Rust by itself,
-# we presume that that is more accurate.
-BDEPEND=">=virtual/rust-1.50.0"
-
 src_install() {
-       dolib.a target/$(usex debug debug release)/lib${PN}.a
+       dolib.a "$(cargo_target_dir)"/lib${PN}.a
        insinto /usr/$(get_libdir)/pkgconfig
        doins "${FILESDIR}"/dmd_core.pc
        sed -e "s/%VERSION%/${PV}/g" \

diff --git a/dev-libs/libsignal-ffi/libsignal-ffi-0.44.0.ebuild 
b/dev-libs/libsignal-ffi/libsignal-ffi-0.44.0-r1.ebuild
similarity index 92%
rename from dev-libs/libsignal-ffi/libsignal-ffi-0.44.0.ebuild
rename to dev-libs/libsignal-ffi/libsignal-ffi-0.44.0-r1.ebuild
index adc0251a2..f189a660c 100644
--- a/dev-libs/libsignal-ffi/libsignal-ffi-0.44.0.ebuild
+++ b/dev-libs/libsignal-ffi/libsignal-ffi-0.44.0-r1.ebuild
@@ -6,8 +6,9 @@
 EAPI=8
 
 LLVM_COMPAT=( {18..19} )
+RUST_NEEDS_LLVM=1
 
-inherit cargo llvm-r1
+inherit llvm-r1 cargo
 
 DESCRIPTION="A C ABI library which exposes Signal protocol logic"
 HOMEPAGE="https://github.com/signalapp/libsignal";
@@ -28,6 +29,11 @@ BDEPEND="
        $(llvm_gen_dep 'sys-devel/clang:${LLVM_SLOT}')
 "
 
+pkg_setup() {
+       llvm-r1_pkg_setup
+       rust_pkg_setup
+}
+
 src_unpack() {
        default
        cargo_gen_config

diff --git a/dev-libs/libsignal-ffi/libsignal-ffi-0.46.0.ebuild 
b/dev-libs/libsignal-ffi/libsignal-ffi-0.46.0-r1.ebuild
similarity index 92%
rename from dev-libs/libsignal-ffi/libsignal-ffi-0.46.0.ebuild
rename to dev-libs/libsignal-ffi/libsignal-ffi-0.46.0-r1.ebuild
index adc0251a2..f189a660c 100644
--- a/dev-libs/libsignal-ffi/libsignal-ffi-0.46.0.ebuild
+++ b/dev-libs/libsignal-ffi/libsignal-ffi-0.46.0-r1.ebuild
@@ -6,8 +6,9 @@
 EAPI=8
 
 LLVM_COMPAT=( {18..19} )
+RUST_NEEDS_LLVM=1
 
-inherit cargo llvm-r1
+inherit llvm-r1 cargo
 
 DESCRIPTION="A C ABI library which exposes Signal protocol logic"
 HOMEPAGE="https://github.com/signalapp/libsignal";
@@ -28,6 +29,11 @@ BDEPEND="
        $(llvm_gen_dep 'sys-devel/clang:${LLVM_SLOT}')
 "
 
+pkg_setup() {
+       llvm-r1_pkg_setup
+       rust_pkg_setup
+}
+
 src_unpack() {
        default
        cargo_gen_config

diff --git a/dev-libs/libsignal-ffi/libsignal-ffi-0.51.0.ebuild 
b/dev-libs/libsignal-ffi/libsignal-ffi-0.51.0-r1.ebuild
similarity index 92%
rename from dev-libs/libsignal-ffi/libsignal-ffi-0.51.0.ebuild
rename to dev-libs/libsignal-ffi/libsignal-ffi-0.51.0-r1.ebuild
index 6f8f1f580..0d01d1599 100644
--- a/dev-libs/libsignal-ffi/libsignal-ffi-0.51.0.ebuild
+++ b/dev-libs/libsignal-ffi/libsignal-ffi-0.51.0-r1.ebuild
@@ -6,8 +6,9 @@
 EAPI=8
 
 LLVM_COMPAT=( {18..19} )
+RUST_NEEDS_LLVM=1
 
-inherit cargo llvm-r1
+inherit llvm-r1 cargo
 
 DESCRIPTION="A C ABI library which exposes Signal protocol logic"
 HOMEPAGE="https://github.com/signalapp/libsignal";
@@ -28,6 +29,11 @@ BDEPEND="
        $(llvm_gen_dep 'sys-devel/clang:${LLVM_SLOT}')
 "
 
+pkg_setup() {
+       llvm-r1_pkg_setup
+       rust_pkg_setup
+}
+
 src_unpack() {
        default
        cargo_gen_config

diff --git a/dev-libs/tbtools/tbtools-0.3.2-r1.ebuild 
b/dev-libs/tbtools/tbtools-0.3.2-r2.ebuild
similarity index 96%
rename from dev-libs/tbtools/tbtools-0.3.2-r1.ebuild
rename to dev-libs/tbtools/tbtools-0.3.2-r2.ebuild
index 3b8d9889e..161497e99 100644
--- a/dev-libs/tbtools/tbtools-0.3.2-r1.ebuild
+++ b/dev-libs/tbtools/tbtools-0.3.2-r2.ebuild
@@ -132,6 +132,11 @@ declare -A GIT_CRATES=(
        
[cursive_core]='https://github.com/gyscos/cursive;0a95c82c88c8a791d7fd983e7fb9f568b77551a8;cursive-%commit%/cursive-core'
 )
 
+# <[email protected]
+# https://github.com/time-rs/time/issues/693
+RUST_MAX_VER="1.79.0"
+RUST_MIN_VER="1.74.0"
+
 inherit cargo
 
 DESCRIPTION="Thunderbolt/USB4 debugging tools"
@@ -151,7 +156,6 @@ RDEPEND="virtual/libudev"
 DEPEND="${RDEPEND}"
 BDEPEND="
        virtual/pkgconfig
-       >=virtual/rust-1.74.0
 "
 
 QA_FLAGS_IGNORED="usr/bin/.*"

diff --git a/dev-util/rust-rover/rust-rover-2024.2.1.ebuild 
b/dev-util/rust-rover/rust-rover-2024.2.1-r1.ebuild
similarity index 99%
rename from dev-util/rust-rover/rust-rover-2024.2.1.ebuild
rename to dev-util/rust-rover/rust-rover-2024.2.1-r1.ebuild
index 20440dade..84ddbd29b 100644
--- a/dev-util/rust-rover/rust-rover-2024.2.1.ebuild
+++ b/dev-util/rust-rover/rust-rover-2024.2.1-r1.ebuild
@@ -51,7 +51,6 @@ RDEPEND="!bundled-jdk? ( >=virtual/jre-1.8 )
        x11-libs/libxcb
        x11-libs/libxkbcommon
        x11-libs/pango
-       virtual/rust
 "
 
 src_prepare() {

diff --git a/dev-vcs/jj/jj-0.23.0.ebuild b/dev-vcs/jj/jj-0.23.0-r1.ebuild
similarity index 99%
rename from dev-vcs/jj/jj-0.23.0.ebuild
rename to dev-vcs/jj/jj-0.23.0-r1.ebuild
index 1922baa32..5cf00ed7f 100644
--- a/dev-vcs/jj/jj-0.23.0.ebuild
+++ b/dev-vcs/jj/jj-0.23.0-r1.ebuild
@@ -419,6 +419,7 @@ pkg_setup() {
        export OPENSSL_NO_VENDOR=1
        export PKG_CONFIG_ALLOW_CROSS=1
        export ZSTD_SYS_USE_PKG_CONFIG=1
+       rust_pkg_setup
 }
 
 src_install() {

diff --git a/dev-vcs/jj/jj-9999.ebuild b/dev-vcs/jj/jj-9999.ebuild
index 298db66e8..b67b6409e 100644
--- a/dev-vcs/jj/jj-9999.ebuild
+++ b/dev-vcs/jj/jj-9999.ebuild
@@ -42,6 +42,7 @@ pkg_setup() {
        export OPENSSL_NO_VENDOR=1
        export PKG_CONFIG_ALLOW_CROSS=1
        export ZSTD_SYS_USE_PKG_CONFIG=1
+       rust_pkg_setup
 }
 
 src_unpack() {

diff --git a/games-action/ddnet/ddnet-18.7.ebuild 
b/games-action/ddnet/ddnet-18.7-r1.ebuild
similarity index 95%
rename from games-action/ddnet/ddnet-18.7.ebuild
rename to games-action/ddnet/ddnet-18.7-r1.ebuild
index 5e1831c46..b7d9b4b69 100644
--- a/games-action/ddnet/ddnet-18.7.ebuild
+++ b/games-action/ddnet/ddnet-18.7-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -69,6 +69,11 @@ BDEPEND="
        dev-util/spirv-tools
 "
 
+pkg_setup() {
+       python-any-r1_pkg_setup
+       rust_pkg_setup
+}
+
 src_unpack() {
        default_src_unpack
        cargo_src_unpack

diff --git a/games-action/ddnet/ddnet-9999.ebuild 
b/games-action/ddnet/ddnet-9999.ebuild
index eae7cbfb5..a27c36f4a 100644
--- a/games-action/ddnet/ddnet-9999.ebuild
+++ b/games-action/ddnet/ddnet-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -59,6 +59,11 @@ BDEPEND="
        dev-util/spirv-tools
 "
 
+pkg_setup() {
+       python-any-r1_pkg_setup
+       rust_pkg_setup
+}
+
 src_unpack() {
        default_src_unpack
 

diff --git a/gui-apps/ReGreet/ReGreet-0.1.1-r9.ebuild 
b/gui-apps/ReGreet/ReGreet-0.1.1-r10.ebuild
similarity index 99%
rename from gui-apps/ReGreet/ReGreet-0.1.1-r9.ebuild
rename to gui-apps/ReGreet/ReGreet-0.1.1-r10.ebuild
index e4fa32ff0..297d97565 100644
--- a/gui-apps/ReGreet/ReGreet-0.1.1-r9.ebuild
+++ b/gui-apps/ReGreet/ReGreet-0.1.1-r10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -231,9 +231,6 @@ RDEPEND="
        x11-libs/gdk-pixbuf
        x11-libs/pango
 "
-BDEPEND="
-       virtual/rust
-"
 IUSE="systemd openrc"
 
 PATCHES="${FILESDIR}/ReGreet-0.1.1-cargo-lock-fix.diff"

diff --git a/gui-apps/ReGreet/ReGreet-9999.ebuild 
b/gui-apps/ReGreet/ReGreet-9999.ebuild
index 4bac577f5..4d596419e 100644
--- a/gui-apps/ReGreet/ReGreet-9999.ebuild
+++ b/gui-apps/ReGreet/ReGreet-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -33,9 +33,6 @@ RDEPEND="
        x11-libs/gdk-pixbuf
        x11-libs/pango
 "
-BDEPEND="
-       virtual/rust
-"
 IUSE="systemd openrc"
 
 QA_FLAGS_IGNORED="/usr/bin/regreet"

diff --git a/gui-apps/espanso/espanso-2.2.1-r1.ebuild 
b/gui-apps/espanso/espanso-2.1.8-r1.ebuild
similarity index 83%
copy from gui-apps/espanso/espanso-2.2.1-r1.ebuild
copy to gui-apps/espanso/espanso-2.1.8-r1.ebuild
index bc465c8a0..1e900fef2 100644
--- a/gui-apps/espanso/espanso-2.2.1-r1.ebuild
+++ b/gui-apps/espanso/espanso-2.1.8-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-# Autogenerated by pycargoebuild 0.12.1
+# Auto-Generated by cargo-ebuild 0.5.4
 
 EAPI=8
 
@@ -16,20 +16,18 @@ CRATES="
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
-       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]+1.0.8
        [email protected]
-       [email protected]
+       [email protected]+1.0.8
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
@@ -38,19 +36,20 @@ CRATES="
        [email protected]
        [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
        [email protected]
        [email protected]
@@ -59,39 +58,40 @@ CRATES="
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
        [email protected]
+       [email protected]
        [email protected]
-       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
+       [email protected]
        [email protected]
-       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
@@ -100,44 +100,43 @@ CRATES="
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
-       [email protected]
+       [email protected]
+       [email protected]
        [email protected]
-       [email protected]
+       [email protected]
+       [email protected]
        [email protected]
-       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
-       [email protected]
+       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
@@ -145,40 +144,41 @@ CRATES="
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
-       [email protected]
+       [email protected]
+       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
-       [email protected]
+       [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
+       [email protected]
        [email protected]
-       [email protected]
-       [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
@@ -193,11 +193,12 @@ CRATES="
        [email protected]
        [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
@@ -214,55 +215,54 @@ CRATES="
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
-       [email protected]
+       [email protected]
        [email protected]
        [email protected]
-       [email protected]
-       [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
-       [email protected]
+       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
-       [email protected]
-       [email protected]
+       [email protected]
+       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
-       [email protected]
+       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
@@ -270,19 +270,19 @@ CRATES="
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
+       [email protected]
        [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
+       [email protected]
+       [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
@@ -303,15 +303,14 @@ CRATES="
        [email protected]
        [email protected]
        [email protected]
-       [email protected]+wasi-snapshot-preview1
-       [email protected]+wasi-snapshot-preview1
-       [email protected]+wasi-snapshot-preview1
+       wasi-0.9.0+wasi-snapshot@preview1
+       wasi-0.10.0+wasi-snapshot@preview1
+       [email protected]
        [email protected]
        [email protected]
-       [email protected]
        [email protected]
+       [email protected]
        [email protected]
-       [email protected]
        [email protected]
        [email protected]
        [email protected]
@@ -319,39 +318,31 @@ CRATES="
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
-       [email protected]
+       [email protected]
+       [email protected]
        [email protected]
+       [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
        [email protected]
        [email protected]
-       [email protected]
-       [email protected]
        [email protected]
+       [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
-       [email protected]
+       [email protected]
        [email protected]
        [email protected]
        [email protected]
@@ -360,7 +351,7 @@ CRATES="
 
 # Needed because espanso-migrate depends on the git version of yaml-rust
 declare -A GIT_CRATES=(
-       
[yaml-rust]='https://github.com/federico-terzi/yaml-rust;454221bebabc93307bbf7aa7f556407dd3027363;yaml-rust-%commit%'
+       
[yaml-rust]="https://github.com/federico-terzi/yaml-rust;454221bebabc93307bbf7aa7f556407dd3027363";
 )
 
 inherit cargo desktop fcaps linux-info systemd xdg-utils
@@ -372,9 +363,9 @@ SRC_URI="
        ${CARGO_CRATE_URIS}
 "
 
-LICENSE="GPL-3"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 ZLIB"
+# License set may be more restrictive as OR is not respected
+# use cargo-license for a more accurate license picture
+LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 
CC0-1.0 GPL-3 ISC MIT MPL-2.0 Unlicense ZLIB"
 SLOT="0"
 KEYWORDS="~amd64"
 IUSE="wayland"
@@ -382,14 +373,12 @@ IUSE="wayland"
 DEPEND="
        acct-group/input
        dev-libs/openssl
-       sys-apps/dbus
        x11-libs/wxGTK
        wayland? (
                x11-libs/libxkbcommon[wayland]
        )
        !wayland? (
                x11-libs/libX11
-               x11-libs/libxcb
                x11-libs/libXtst
                x11-libs/libxkbcommon[X]
        )
@@ -406,6 +395,7 @@ pkg_setup() {
 
        # Now do the actual checks setup above, but only when using wayland
        use wayland && linux-info_pkg_setup
+       rust_pkg_setup
 }
 
 src_configure() {

diff --git a/gui-apps/espanso/espanso-2.1.8.ebuild 
b/gui-apps/espanso/espanso-2.1.8.ebuild
deleted file mode 100644
index ffcafb6df..000000000
--- a/gui-apps/espanso/espanso-2.1.8.ebuild
+++ /dev/null
@@ -1,435 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Auto-Generated by cargo-ebuild 0.5.4
-
-EAPI=8
-
-CRATES="
-       adler-1.0.2
-       aho-corasick-0.7.19
-       ansi_term-0.11.0
-       ansi_term-0.12.1
-       anyhow-1.0.38
-       arrayref-0.3.6
-       arrayvec-0.5.2
-       atty-0.2.14
-       autocfg-1.0.1
-       base64-0.13.0
-       bitflags-0.9.1
-       bitflags-1.2.1
-       blake2b_simd-0.5.11
-       block-0.1.6
-       block-buffer-0.9.0
-       bstr-0.2.15
-       bumpalo-3.7.0
-       byteorder-1.4.3
-       bytes-1.1.0
-       bzip2-0.4.3
-       bzip2-sys-0.1.11+1.0.8
-       calloop-0.9.3
-       caps-0.5.2
-       cc-1.0.73
-       cfg-if-0.1.10
-       cfg-if-1.0.0
-       chrono-0.4.19
-       clap-2.33.3
-       colored-2.0.0
-       console-0.14.1
-       const-sha1-0.2.0
-       const_format-0.2.14
-       const_format_proc_macros-0.2.14
-       constant_time_eq-0.1.5
-       core-foundation-0.9.1
-       core-foundation-sys-0.8.2
-       cpufeatures-0.2.1
-       crc32fast-1.2.1
-       crossbeam-0.8.1
-       crossbeam-channel-0.5.0
-       crossbeam-deque-0.8.1
-       crossbeam-epoch-0.9.8
-       crossbeam-queue-0.3.5
-       crossbeam-utils-0.8.8
-       cstr_core-0.2.5
-       ctor-0.1.20
-       cty-0.2.2
-       dbus-0.9.1
-       dialoguer-0.8.0
-       diff-0.1.12
-       difference-2.0.0
-       digest-0.9.0
-       dirs-1.0.5
-       dirs-3.0.1
-       dirs-sys-0.3.5
-       dlib-0.5.0
-       downcast-0.10.0
-       downcast-rs-1.2.0
-       dtoa-0.4.7
-       dunce-1.0.1
-       either-1.6.1
-       encode_unicode-0.3.6
-       encoding_rs-0.8.28
-       enum-as-inner-0.3.3
-       errno-0.2.7
-       errno-dragonfly-0.1.1
-       filetime-0.2.14
-       flate2-1.0.20
-       float-cmp-0.8.0
-       fnv-1.0.7
-       foreign-types-0.3.2
-       foreign-types-shared-0.1.1
-       form_urlencoded-1.0.1
-       fragile-1.0.0
-       fs2-0.4.3
-       fs_extra-1.2.0
-       fsevent-0.4.0
-       fsevent-sys-2.0.1
-       fuchsia-cprng-0.1.1
-       fuchsia-zircon-0.3.3
-       fuchsia-zircon-sys-0.3.3
-       futf-0.1.4
-       futures-channel-0.3.17
-       futures-core-0.3.17
-       futures-io-0.3.17
-       futures-macro-0.3.17
-       futures-sink-0.3.17
-       futures-task-0.3.17
-       futures-util-0.3.17
-       gcc-0.3.55
-       generic-array-0.14.4
-       getrandom-0.1.16
-       getrandom-0.2.2
-       glob-0.3.0
-       h2-0.3.4
-       hashbrown-0.11.2
-       heck-0.3.2
-       hermit-abi-0.1.18
-       hex-0.4.3
-       html2text-0.2.1
-       html5ever-0.25.1
-       http-0.2.4
-       http-body-0.4.3
-       httparse-1.5.1
-       httpdate-1.0.1
-       hyper-0.14.12
-       hyper-rustls-0.22.1
-       hyper-tls-0.5.0
-       idna-0.2.3
-       include_dir-0.6.0
-       include_dir_impl-0.6.0
-       indexmap-1.7.0
-       indoc-1.0.3
-       inotify-0.7.1
-       inotify-sys-0.1.5
-       iovec-0.1.4
-       ipnet-2.3.1
-       itertools-0.10.0
-       itoa-0.4.7
-       js-sys-0.3.53
-       kernel32-sys-0.2.2
-       lazy_static-1.4.0
-       lazycell-1.3.0
-       libc-0.2.126
-       libdbus-sys-0.2.1
-       libloading-0.7.0
-       linked-hash-map-0.5.4
-       log-0.4.14
-       log-panics-2.0.0
-       mac-0.1.1
-       mac-notification-sys-0.3.0
-       malloc_buf-0.0.6
-       maplit-1.0.2
-       markdown-0.3.0
-       markup5ever-0.10.1
-       markup5ever_rcdom-0.1.0
-       matches-0.1.9
-       memchr-2.5.0
-       memmap2-0.3.1
-       memoffset-0.6.5
-       mime-0.3.16
-       miniz_oxide-0.4.4
-       mio-0.6.23
-       mio-0.7.13
-       mio-extras-2.0.6
-       miow-0.2.2
-       miow-0.3.7
-       mockall-0.9.1
-       mockall_derive-0.9.1
-       named_pipe-0.4.1
-       native-tls-0.2.8
-       natord-1.0.9
-       net2-0.2.37
-       new_debug_unreachable-1.0.4
-       nix-0.22.3
-       nix-0.24.2
-       nom-6.1.2
-       normalize-line-endings-0.3.0
-       notify-4.0.17
-       notify-rust-4.2.2
-       ntapi-0.3.6
-       num-integer-0.1.44
-       num-traits-0.2.14
-       num_cpus-1.13.0
-       objc-0.2.7
-       objc-foundation-0.1.1
-       objc_id-0.1.1
-       once_cell-1.8.0
-       opaque-debug-0.3.0
-       opener-0.5.0
-       openssl-0.10.36
-       openssl-probe-0.1.4
-       openssl-sys-0.9.66
-       ordered-float-2.1.1
-       output_vt100-0.1.2
-       path-slash-0.1.4
-       percent-encoding-2.1.0
-       phf-0.8.0
-       phf_codegen-0.8.0
-       phf_generator-0.8.0
-       phf_shared-0.8.0
-       pin-project-lite-0.2.7
-       pin-utils-0.1.0
-       pipeline-0.5.0
-       pkg-config-0.3.19
-       ppv-lite86-0.2.10
-       precomputed-hash-0.1.1
-       predicates-1.0.8
-       predicates-core-1.0.2
-       predicates-tree-1.0.2
-       pretty_assertions-0.7.2
-       proc-macro-hack-0.5.19
-       proc-macro-nested-0.1.7
-       proc-macro2-1.0.24
-       pure-rust-locales-0.5.6
-       quote-0.3.15
-       quote-1.0.9
-       rand-0.4.6
-       rand-0.7.3
-       rand-0.8.3
-       rand_chacha-0.2.2
-       rand_chacha-0.3.0
-       rand_core-0.3.1
-       rand_core-0.4.2
-       rand_core-0.5.1
-       rand_core-0.6.2
-       rand_hc-0.2.0
-       rand_hc-0.3.0
-       rand_pcg-0.2.1
-       rayon-1.5.3
-       rayon-core-1.9.3
-       rdrand-0.4.0
-       redox_syscall-0.1.57
-       redox_syscall-0.2.5
-       redox_users-0.3.5
-       regex-1.5.5
-       regex-automata-0.1.10
-       regex-syntax-0.6.27
-       remove_dir_all-0.5.3
-       reqwest-0.11.4
-       ring-0.16.20
-       rust-argon2-0.8.3
-       rustls-0.19.1
-       ryu-1.0.5
-       same-file-1.0.6
-       schannel-0.1.19
-       scoped-tls-1.0.0
-       scopeguard-1.1.0
-       sct-0.6.1
-       security-framework-2.3.1
-       security-framework-sys-2.3.0
-       serde-1.0.123
-       serde_derive-1.0.123
-       serde_json-1.0.62
-       serde_urlencoded-0.7.0
-       serde_yaml-0.8.17
-       sha2-0.9.6
-       simplelog-0.9.0
-       siphasher-0.3.6
-       slab-0.4.3
-       smallvec-1.6.1
-       smithay-client-toolkit-0.15.4
-       socket2-0.4.1
-       spin-0.5.2
-       squote-0.1.2
-       string_cache-0.8.1
-       string_cache_codegen-0.5.1
-       strsim-0.8.0
-       strum-0.8.0
-       strum-0.20.0
-       strum_macros-0.8.0
-       strum_macros-0.20.1
-       syn-0.11.11
-       syn-1.0.67
-       synom-0.11.3
-       sys-locale-0.1.0
-       sysinfo-0.24.5
-       tempdir-0.3.7
-       tempfile-3.2.0
-       tendril-0.4.2
-       termcolor-1.1.2
-       terminal_size-0.1.17
-       test-case-1.1.0
-       textwrap-0.11.0
-       thiserror-1.0.23
-       thiserror-impl-1.0.23
-       time-0.1.44
-       tinyvec-1.3.1
-       tinyvec_macros-0.1.0
-       tokio-1.10.1
-       tokio-native-tls-0.3.0
-       tokio-rustls-0.22.0
-       tokio-util-0.6.7
-       toml-0.5.8
-       tower-service-0.3.1
-       tracing-0.1.26
-       tracing-core-0.1.19
-       treeline-0.1.0
-       try-lock-0.2.3
-       typenum-1.14.0
-       unicase-2.6.0
-       unicode-bidi-0.3.6
-       unicode-normalization-0.1.19
-       unicode-segmentation-1.7.1
-       unicode-width-0.1.8
-       unicode-xid-0.0.4
-       unicode-xid-0.2.1
-       unindent-0.1.7
-       untrusted-0.7.1
-       url-2.2.2
-       utf-8-0.7.6
-       vcpkg-0.2.15
-       vec_map-0.8.2
-       version_check-0.9.2
-       wait-timeout-0.2.0
-       walkdir-2.3.1
-       want-0.3.0
-       wasi-0.9.0+wasi-snapshot-preview1
-       wasi-0.10.0+wasi-snapshot-preview1
-       wasm-bindgen-0.2.76
-       wasm-bindgen-backend-0.2.76
-       wasm-bindgen-futures-0.4.26
-       wasm-bindgen-macro-0.2.76
-       wasm-bindgen-macro-support-0.2.76
-       wasm-bindgen-shared-0.2.76
-       wayland-client-0.29.5
-       wayland-commons-0.29.5
-       wayland-cursor-0.29.5
-       wayland-protocols-0.29.5
-       wayland-scanner-0.29.5
-       wayland-sys-0.29.5
-       web-sys-0.3.53
-       webpki-0.21.4
-       webpki-roots-0.21.1
-       widestring-0.4.3
-       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-0.3.1
-       windows_gen-0.3.1
-       windows_gen_macros-0.3.1
-       windows_macros-0.3.1
-       windows_winmd-0.3.1
-       windows_winmd_macros-0.3.1
-       winreg-0.7.0
-       winreg-0.9.0
-       winres-0.1.11
-       winrt-0.4.0
-       winrt-notification-0.2.2
-       winrt-notification-0.3.1
-       ws2_32-sys-0.2.1
-       xcursor-0.3.3
-       xml-rs-0.6.1
-       xml-rs-0.8.3
-       xml5ever-0.16.1
-       yaml-rust-0.4.5
-       zeroize-1.3.0
-       zip-0.5.13
-"
-
-# Needed because espanso-migrate depends on the git version of yaml-rust
-declare -A GIT_CRATES=(
-       
[yaml-rust]="https://github.com/federico-terzi/yaml-rust;454221bebabc93307bbf7aa7f556407dd3027363";
-)
-
-inherit cargo desktop fcaps linux-info systemd xdg-utils
-
-DESCRIPTION="Cross-platform Text Expander written in Rust"
-HOMEPAGE="https://espanso.org";
-SRC_URI="
-       https://github.com/espanso/${PN}/archive/refs/tags/v${PV}.tar.gz -> 
${P}.tar.gz
-       $(cargo_crate_uris)
-"
-
-# License set may be more restrictive as OR is not respected
-# use cargo-license for a more accurate license picture
-LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 
CC0-1.0 GPL-3 ISC MIT MPL-2.0 Unlicense ZLIB"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="wayland"
-
-DEPEND="
-       acct-group/input
-       dev-libs/openssl
-       x11-libs/wxGTK
-       wayland? (
-               x11-libs/libxkbcommon[wayland]
-       )
-       !wayland? (
-               x11-libs/libX11
-               x11-libs/libXtst
-               x11-libs/libxkbcommon[X]
-       )
-"
-RDEPEND="${DEPEND}"
-
-QA_FLAGS_IGNORED="usr/bin/${PN}"
-
-pkg_setup() {
-       CONFIG_CHECK="~INPUT_UINPUT"
-       ERROR_INPUT_UINPUT="Espanso with Wayland needs the UINPUT"
-       ERROR_INPUT_UINPUT+=" input device driver to detect user inputs. 
Without it,"
-       ERROR_INPUT_UINPUT+=" Espanso will not work as intended"
-
-       # Now do the actual checks setup above, but only when using wayland
-       use wayland && linux-info_pkg_setup
-}
-
-src_configure() {
-       local myfeatures=(
-               modulo
-               native-tls
-               $(usev wayland)
-       )
-       cargo_src_configure --verbose --no-default-features
-}
-
-src_compile() {
-       cargo_src_compile -p "${PN}"
-}
-
-src_install() {
-       cargo_src_install --path "${PN}"
-
-       newicon -s 128 "espanso/src/res/linux/icon.png" "${PN}.png"
-       domenu "espanso/src/res/linux/${PN}.desktop"
-
-       # install the systemd-service (user level)
-       sed -i "s|{{{espanso_path}}}|/usr/bin/espanso|g" 
"espanso/src/res/linux/systemd.service" || die
-       systemd_newuserunit "espanso/src/res/linux/systemd.service" 
"${PN}.service"
-}
-
-pkg_postinst() {
-       # See 
https://espanso.org/docs/install/linux/#adding-the-required-capabilities
-       use wayland && fcaps cap_dac_override "usr/bin/${PN}"
-
-       xdg_icon_cache_update
-       xdg_desktop_database_update
-}
-
-pkg_postrm() {
-       xdg_icon_cache_update
-       xdg_desktop_database_update
-}

diff --git a/gui-apps/espanso/espanso-2.2.1-r1.ebuild 
b/gui-apps/espanso/espanso-2.2.1-r2.ebuild
similarity index 99%
rename from gui-apps/espanso/espanso-2.2.1-r1.ebuild
rename to gui-apps/espanso/espanso-2.2.1-r2.ebuild
index bc465c8a0..83529bfa1 100644
--- a/gui-apps/espanso/espanso-2.2.1-r1.ebuild
+++ b/gui-apps/espanso/espanso-2.2.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # Autogenerated by pycargoebuild 0.12.1
@@ -406,6 +406,7 @@ pkg_setup() {
 
        # Now do the actual checks setup above, but only when using wayland
        use wayland && linux-info_pkg_setup
+       rust_pkg_setup
 }
 
 src_configure() {

diff --git a/gui-apps/eww/eww-9999.ebuild b/gui-apps/eww/eww-9999.ebuild
index f126adbca..0ace72d66 100644
--- a/gui-apps/eww/eww-9999.ebuild
+++ b/gui-apps/eww/eww-9999.ebuild
@@ -47,7 +47,6 @@ DEPEND="${RDEPEND}
 "
 BDEPEND="
        virtual/pkgconfig
-       >=virtual/rust-1.74.0
 "
 
 QA_FLAGS_IGNORED="usr/bin/.*"

diff --git a/gui-apps/satty/satty-0.14.0.ebuild 
b/gui-apps/satty/satty-0.14.0-r1.ebuild
similarity index 99%
rename from gui-apps/satty/satty-0.14.0.ebuild
rename to gui-apps/satty/satty-0.14.0-r1.ebuild
index 76135c5be..44597b2ba 100644
--- a/gui-apps/satty/satty-0.14.0.ebuild
+++ b/gui-apps/satty/satty-0.14.0-r1.ebuild
@@ -234,7 +234,6 @@ LICENSE="MPL-2.0"
 SLOT="0"
 
 RDEPEND="
-       virtual/rust
        dev-libs/glib:2
        media-libs/fontconfig
        media-libs/libepoxy

diff --git a/gui-apps/satty/satty-9999.ebuild b/gui-apps/satty/satty-9999.ebuild
index 262d43dfb..8200f51c9 100644
--- a/gui-apps/satty/satty-9999.ebuild
+++ b/gui-apps/satty/satty-9999.ebuild
@@ -25,7 +25,6 @@ LICENSE="MPL-2.0"
 SLOT="0"
 
 RDEPEND="
-       virtual/rust
        dev-libs/glib:2
        media-libs/fontconfig
        media-libs/libepoxy

diff --git a/media-gfx/silicon/silicon-0.5.2.ebuild 
b/media-gfx/silicon/silicon-0.5.2-r1.ebuild
similarity index 97%
rename from media-gfx/silicon/silicon-0.5.2.ebuild
rename to media-gfx/silicon/silicon-0.5.2-r1.ebuild
index dc6fed8d4..a106b822f 100644
--- a/media-gfx/silicon/silicon-0.5.2.ebuild
+++ b/media-gfx/silicon/silicon-0.5.2-r1.ebuild
@@ -194,6 +194,9 @@ CRATES="
 "
 
 PYTHON_COMPAT=( python3_{10..12} )
+# <[email protected]
+# https://github.com/time-rs/time/issues/693
+RUST_MAX_VER="1.79.0"
 
 inherit cargo python-any-r1
 
@@ -222,6 +225,11 @@ RDEPEND="${DEPEND}
 
 QA_FLAGS_IGNORED="usr/bin/silicon"
 
+pkg_setup() {
+       python-any-r1_pkg_setup
+       rust_pkg_setup
+}
+
 src_unpack() {
        cargo_src_unpack
 

diff --git a/media-sound/spot/spot-0.4.0.ebuild 
b/media-sound/spot/spot-0.4.0-r1.ebuild
similarity index 99%
rename from media-sound/spot/spot-0.4.0.ebuild
rename to media-sound/spot/spot-0.4.0-r1.ebuild
index fbfec2d0c..9a1e983e5 100644
--- a/media-sound/spot/spot-0.4.0.ebuild
+++ b/media-sound/spot/spot-0.4.0-r1.ebuild
@@ -402,7 +402,6 @@ BDEPEND="
                app-alternatives/ninja
                >=dev-build/meson-1.1.1
                >=dev-libs/appstream-glib-0.8.2
-               >=virtual/rust-1.69.0
                test? ( || ( dev-lang/rust[clippy]
                                         dev-lang/rust-bin[clippy] ) )
 "

diff --git a/media-video/delfin/delfin-0.4.4.ebuild 
b/media-video/delfin/delfin-0.4.4-r1.ebuild
similarity index 99%
rename from media-video/delfin/delfin-0.4.4.ebuild
rename to media-video/delfin/delfin-0.4.4-r1.ebuild
index 768041ffc..efbdfa3a0 100644
--- a/media-video/delfin/delfin-0.4.4.ebuild
+++ b/media-video/delfin/delfin-0.4.4-r1.ebuild
@@ -426,6 +426,8 @@ CRATES="
        [email protected]
 "
 
+RUST_MIN_VER="1.76.0"
+
 inherit cargo gnome2-utils meson xdg
 
 DESCRIPTION="Stream movies and TV shows from Jellyfin"
@@ -452,9 +454,6 @@ DEPEND="
        gui-libs/gtk
        gui-libs/libadwaita
 "
-BDEPEND="
-       >=virtual/rust-1.76.0
-"
 # Rust
 QA_FLAGS_IGNORED="usr/bin/${PN}"
 

diff --git a/media-video/delfin/delfin-0.4.5.ebuild 
b/media-video/delfin/delfin-0.4.5-r1.ebuild
similarity index 99%
rename from media-video/delfin/delfin-0.4.5.ebuild
rename to media-video/delfin/delfin-0.4.5-r1.ebuild
index 08ff0cab9..189b1e961 100644
--- a/media-video/delfin/delfin-0.4.5.ebuild
+++ b/media-video/delfin/delfin-0.4.5-r1.ebuild
@@ -435,6 +435,8 @@ CRATES="
        [email protected]
 "
 
+RUST_MIN_VER="1.76.0"
+
 inherit cargo gnome2-utils meson xdg
 
 DESCRIPTION="Stream movies and TV shows from Jellyfin"
@@ -470,9 +472,6 @@ DEPEND="
        >=gui-libs/gtk-4.0.0:4
        >=gui-libs/libadwaita-1.4.0:1
 "
-BDEPEND="
-       >=virtual/rust-1.76.0
-"
 # Rust
 QA_FLAGS_IGNORED="usr/bin/${PN}"
 

diff --git a/media-video/kooha/kooha-2.2.3-r1.ebuild 
b/media-video/kooha/kooha-2.2.3-r1.ebuild
new file mode 100644
index 000000000..cdc69d7a4
--- /dev/null
+++ b/media-video/kooha/kooha-2.2.3-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cargo meson xdg gnome2-utils
+
+DESCRIPTION="GTK4 screen recorder for Wayland"
+HOMEPAGE="https://github.com/SeaDve/Kooha/";
+SRC_URI="https://github.com/SeaDve/Kooha/releases/download/v${PV}/kooha-${PV}.tar.xz";
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="x264 vaapi test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+               x264? ( >=media-libs/x264-0.0.20220222
+                               >=media-libs/gst-plugins-ugly-1.20.6 )
+               >=media-libs/gstreamer-1.20.6
+               >=media-libs/gst-plugins-base-1.20.6
+               vaapi? ( >=media-plugins/gst-plugins-vaapi-1.20.6 )
+               >=dev-libs/glib-2.76.3
+               >=gui-libs/gtk-4.10.4
+               >=gui-libs/libadwaita-1.3.3
+               >=media-libs/libpulse-15.0[glib]
+               >=media-video/pipewire-0.3.77-r1[gstreamer]
+               >=sys-apps/xdg-desktop-portal-1.16.0-r1
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+               app-alternatives/ninja
+               >=dev-build/meson-1.1.1
+               >=dev-libs/appstream-glib-0.8.2
+               test? ( || ( dev-lang/rust[clippy]
+                                        dev-lang/rust-bin[clippy] ) )
+"
+
+# rust does not use *FLAGS from make.conf, silence portage warning
+# update with proper path to binaries this crate installs, omit leading /
+QA_FLAGS_IGNORED="usr/bin/${PN}"
+
+BUILD_DIR="${S}/build"
+
+src_prepare() {
+       default
+
+       sed -i \
+               -e '/^gnome.post_install(/,/)/d' \
+               meson.build \
+               || die
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+       gnome2_schemas_update
+}
+
+pkg_postrm() {
+       xdg_pkg_postrm
+       gnome2_schemas_update
+}

diff --git a/media-video/kooha/kooha-2.2.3.ebuild 
b/media-video/kooha/kooha-2.2.3.ebuild
deleted file mode 100644
index 32507f9d9..000000000
--- a/media-video/kooha/kooha-2.2.3.ebuild
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-       [email protected]
-"
-
-inherit cargo meson xdg gnome2-utils
-
-DESCRIPTION="GTK4 screen recorder for Wayland"
-HOMEPAGE="https://github.com/SeaDve/Kooha/";
-SRC_URI="https://github.com/SeaDve/Kooha/releases/download/v${PV}/kooha-${PV}.tar.xz
-${cargo_crate_uris}"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE="x264 vaapi test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
-               x264? ( >=media-libs/x264-0.0.20220222
-                               >=media-libs/gst-plugins-ugly-1.20.6 )
-               >=media-libs/gstreamer-1.20.6
-               >=media-libs/gst-plugins-base-1.20.6
-               vaapi? ( >=media-plugins/gst-plugins-vaapi-1.20.6 )
-               >=dev-libs/glib-2.76.3
-               >=gui-libs/gtk-4.10.4
-               >=gui-libs/libadwaita-1.3.3
-               >=media-libs/libpulse-15.0[glib]
-               >=media-video/pipewire-0.3.77-r1[gstreamer]
-               >=sys-apps/xdg-desktop-portal-1.16.0-r1
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
-               app-alternatives/ninja
-               >=dev-build/meson-1.1.1
-               >=dev-libs/appstream-glib-0.8.2
-               >=virtual/rust-1.69.0
-               test? ( || ( dev-lang/rust[clippy]
-                                        dev-lang/rust-bin[clippy] ) )
-"
-
-# rust does not use *FLAGS from make.conf, silence portage warning
-# update with proper path to binaries this crate installs, omit leading /
-QA_FLAGS_IGNORED="usr/bin/${PN}"
-
-BUILD_DIR="${S}/build"
-
-src_prepare() {
-       default
-
-       sed -i \
-               -e '/^gnome.post_install(/,/)/d' \
-               meson.build \
-               || die
-}
-
-pkg_postinst() {
-       xdg_pkg_postinst
-       gnome2_schemas_update
-}
-
-pkg_postrm() {
-       xdg_pkg_postrm
-       gnome2_schemas_update
-}

diff --git a/media-video/walksnail-osd-tool/walksnail-osd-tool-0.3.0.ebuild 
b/media-video/walksnail-osd-tool/walksnail-osd-tool-0.3.0-r1.ebuild
similarity index 98%
rename from media-video/walksnail-osd-tool/walksnail-osd-tool-0.3.0.ebuild
rename to media-video/walksnail-osd-tool/walksnail-osd-tool-0.3.0-r1.ebuild
index 7f585deaa..a68dc8003 100644
--- a/media-video/walksnail-osd-tool/walksnail-osd-tool-0.3.0.ebuild
+++ b/media-video/walksnail-osd-tool/walksnail-osd-tool-0.3.0-r1.ebuild
@@ -474,6 +474,11 @@ declare -A GIT_CRATES=(
        
[poll-promise]="https://github.com/EmbarkStudios/poll-promise;b493586107b0e508860aa2e9d18049fd8cd9d13f";
 )
 
+# <[email protected]
+# https://github.com/time-rs/time/issues/693
+RUST_MAX_VER="1.79.0"
+RUST_MIN_VER="1.71.1"
+
 inherit cargo desktop xdg-utils
 
 DESCRIPTION="Tool for rendering OSDs over Walksnail DVR recordings"
@@ -485,9 +490,7 @@ LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions 
BSD BSD-2 Boost-1.0 GPL
 SLOT="0"
 KEYWORDS="~amd64"
 
-RDEPEND="${DEPEND}
-       media-video/ffmpeg"
-BDEPEND=">=virtual/rust-1.71.1-r1"
+RDEPEND="media-video/ffmpeg"
 
 PATCHES=(
        "${FILESDIR}/${P}-version-parse-fix.patch"

diff --git a/media-video/walksnail-osd-tool/walksnail-osd-tool-9999.ebuild 
b/media-video/walksnail-osd-tool/walksnail-osd-tool-9999.ebuild
index 3fd8b54c2..328fa11bb 100644
--- a/media-video/walksnail-osd-tool/walksnail-osd-tool-9999.ebuild
+++ b/media-video/walksnail-osd-tool/walksnail-osd-tool-9999.ebuild
@@ -3,6 +3,8 @@
 
 EAPI=8
 
+RUST_MIN_VER="1.71.1"
+
 inherit cargo desktop git-r3 xdg-utils
 
 DESCRIPTION="Tool for rendering OSDs over Walksnail DVR recordings"
@@ -12,10 +14,7 @@ 
EGIT_REPO_URI="https://github.com/avsaase/walksnail-osd-tool.git";
 LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 
GPL-3 ISC UbuntuFontLicense-1.0 MIT MPL-2.0 OFL-1.1 Unicode-DFS-2016 Unlicense 
XC ZLIB"
 SLOT="0"
 
-#DEPEND=""
-RDEPEND="${DEPEND}
-       media-video/ffmpeg"
-BDEPEND=">=virtual/rust-1.71.1-r1"
+RDEPEND="media-video/ffmpeg"
 
 QA_FLAGS_IGNORED="usr/bin/${PN}"
 

diff --git a/net-im/conduit/conduit-0.8.0.ebuild 
b/net-im/conduit/conduit-0.8.0-r1.ebuild
similarity index 99%
rename from net-im/conduit/conduit-0.8.0.ebuild
rename to net-im/conduit/conduit-0.8.0-r1.ebuild
index ccb82a161..f3f419b33 100644
--- a/net-im/conduit/conduit-0.8.0.ebuild
+++ b/net-im/conduit/conduit-0.8.0-r1.ebuild
@@ -390,6 +390,8 @@ declare -A GIT_CRATES=(
        
[ruma]='https://github.com/ruma/ruma;ef40b184b7410a93e933b4ad719a72aea1bdd20e;ruma-%commit%/crates/ruma'
 )
 
+RUST_MIN_VER="1.75.0"
+
 inherit cargo systemd toolchain-funcs
 
 MY_P="${PN}-v${PV}"
@@ -441,7 +443,6 @@ RDEPEND="${DEPEND}
        app-misc/ca-certificates
 "
 BDEPEND="
-       >=virtual/rust-1.75.0
        rocksdb? (
                sys-devel/clang
                virtual/pkgconfig

diff --git a/net-im/conduit/conduit-0.9.0.ebuild 
b/net-im/conduit/conduit-0.9.0-r1.ebuild
similarity index 99%
rename from net-im/conduit/conduit-0.9.0.ebuild
rename to net-im/conduit/conduit-0.9.0-r1.ebuild
index cfc1f219f..448faa0f9 100644
--- a/net-im/conduit/conduit-0.9.0.ebuild
+++ b/net-im/conduit/conduit-0.9.0-r1.ebuild
@@ -390,6 +390,8 @@ declare -A GIT_CRATES=(
        
[ruma]='https://github.com/ruma/ruma;c06af4385e0e30c48a8e9ca3d488da32102d0db9;ruma-%commit%/crates/ruma'
 )
 
+RUST_MIN_VER="1.75.0"
+
 inherit cargo systemd toolchain-funcs
 
 MY_P="${PN}-v${PV}"
@@ -441,7 +443,6 @@ RDEPEND="${DEPEND}
        app-misc/ca-certificates
 "
 BDEPEND="
-       >=virtual/rust-1.75.0
        rocksdb? (
                sys-devel/clang
                virtual/pkgconfig

diff --git a/net-im/conduit/conduit-9999.ebuild 
b/net-im/conduit/conduit-9999.ebuild
index 36fa2004b..39d63198d 100644
--- a/net-im/conduit/conduit-9999.ebuild
+++ b/net-im/conduit/conduit-9999.ebuild
@@ -5,6 +5,8 @@
 
 EAPI=8
 
+RUST_MIN_VER="1.75.0"
+
 inherit cargo git-r3 systemd toolchain-funcs
 
 DESCRIPTION="Matrix homeserver written in Rust"
@@ -52,7 +54,6 @@ RDEPEND="${DEPEND}
        app-misc/ca-certificates
 "
 BDEPEND="
-       >=virtual/rust-1.75.0
        rocksdb? (
                sys-devel/clang
                virtual/pkgconfig

diff --git a/net-im/flare/flare-0.12.0.ebuild 
b/net-im/flare/flare-0.12.0-r1.ebuild
similarity index 96%
rename from net-im/flare/flare-0.12.0.ebuild
rename to net-im/flare/flare-0.12.0-r1.ebuild
index 0c0ee0571..8fba17e73 100644
--- a/net-im/flare/flare-0.12.0.ebuild
+++ b/net-im/flare/flare-0.12.0-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit gnome2-utils meson xdg
+inherit gnome2-utils meson rust xdg
 
 PKG_ID=112823190
 DESCRIPTION="Chat with your friends on Signal"
@@ -50,7 +50,6 @@ BDEPEND="
        dev-libs/glib:2
        dev-util/blueprint-compiler
        sys-devel/gettext
-       virtual/rust
 "
 
 QA_FLAGS_IGNORED="usr/bin/${PN}"

diff --git a/net-irc/halloy/halloy-2024.12.ebuild 
b/net-irc/halloy/halloy-2024.12-r1.ebuild
similarity index 99%
rename from net-irc/halloy/halloy-2024.12.ebuild
rename to net-irc/halloy/halloy-2024.12-r1.ebuild
index bbc02cd45..e143085ee 100644
--- a/net-irc/halloy/halloy-2024.12.ebuild
+++ b/net-irc/halloy/halloy-2024.12-r1.ebuild
@@ -603,6 +603,8 @@ declare -A GIT_CRATES=(
        
[winit]='https://github.com/iced-rs/winit;254d6b3420ce4e674f516f7a2bd440665e05484d;winit-%commit%'
 )
 
+RUST_MIN_VER="1.78.0"
+
 inherit cargo desktop xdg
 
 DESCRIPTION="IRC application written in Rust"
@@ -635,7 +637,6 @@ fi
 # https://github.com/iced-rs/iced/blob/master/DEPENDENCIES.md
 BDEPEND="
        virtual/pkgconfig
-       >=virtual/rust-1.78
 "
 DEPEND="
        dev-libs/expat

diff --git a/net-misc/gdrive/gdrive-3.9.0.ebuild 
b/net-misc/gdrive/gdrive-3.9.0-r1.ebuild
similarity index 98%
rename from net-misc/gdrive/gdrive-3.9.0.ebuild
rename to net-misc/gdrive/gdrive-3.9.0-r1.ebuild
index 967f577f0..4524af19c 100644
--- a/net-misc/gdrive/gdrive-3.9.0.ebuild
+++ b/net-misc/gdrive/gdrive-3.9.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # Auto-Generated by cargo-ebuild 0.5.4
@@ -206,7 +206,6 @@ LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD 
BSD-2 Boost-1.0 ISC MIT
 SLOT="0"
 KEYWORDS="~amd64 ~arm64"
 PATCHES=( "${FILESDIR}/gdrive-3.90-dep-bump.patch")
-BDEPEND="virtual/rust"
 
 # rust does not use *FLAGS from make.conf, silence portage warning
 # update with proper path to binaries this crate installs, omit leading /

diff --git a/net-misc/gdrive/gdrive-3.9.1.ebuild 
b/net-misc/gdrive/gdrive-3.9.1-r1.ebuild
similarity index 100%
rename from net-misc/gdrive/gdrive-3.9.1.ebuild
rename to net-misc/gdrive/gdrive-3.9.1-r1.ebuild

diff --git a/net-misc/warp/warp-0.7.0-r1.ebuild 
b/net-misc/warp/warp-0.7.0-r2.ebuild
similarity index 99%
rename from net-misc/warp/warp-0.7.0-r1.ebuild
rename to net-misc/warp/warp-0.7.0-r2.ebuild
index c796f515f..8e56e1928 100644
--- a/net-misc/warp/warp-0.7.0-r1.ebuild
+++ b/net-misc/warp/warp-0.7.0-r2.ebuild
@@ -439,6 +439,11 @@ PATCHES=(
 
 QA_FLAGS_IGNORED="usr/bin/warp"
 
+pkg_setup() {
+       python-any-r1_pkg_setup
+       rust_pkg_setup
+}
+
 src_prepare() {
        default
        python_fix_shebang build-aux/meson-cargo-manifest.py

diff --git a/net-p2p/fragments/fragments-3.0.1.ebuild 
b/net-p2p/fragments/fragments-3.0.1.ebuild
index 7799953df..a5d692415 100644
--- a/net-p2p/fragments/fragments-3.0.1.ebuild
+++ b/net-p2p/fragments/fragments-3.0.1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit gnome2-utils meson xdg
+inherit gnome2-utils meson rust xdg
 
 UPLOADHASH="4a5dcb11cec0b0438ad575db08aa755c"
 DESCRIPTION="Fragments is an easy to use BitTorrent client"
@@ -32,7 +32,6 @@ RDEPEND="
 DEPEND="${RDEPEND}"
 BDEPEND="
        sys-devel/gettext
-       virtual/rust
 "
 
 # Rust package

diff --git a/phosh-base/squeekboard/squeekboard-1.17.1-r1.ebuild 
b/phosh-base/squeekboard/squeekboard-1.17.1-r1.ebuild
new file mode 100644
index 000000000..53dcab76d
--- /dev/null
+++ b/phosh-base/squeekboard/squeekboard-1.17.1-r1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+"
+
+inherit cargo gnome2-utils meson toolchain-funcs xdg
+
+DESCRIPTION="Virtual keyboard supporting Wayland, built primarily for the 
Librem 5 phone"
+HOMEPAGE="https://gitlab.gnome.org/World/Phosh/squeekboard";
+SRC_URI="
+       
https://gitlab.gnome.org/World/Phosh/squeekboard/-/archive/v${PV}/squeekboard-v${PV}.tar.gz
 -> ${P}.tar.gz
+       ${CARGO_CRATE_URIS}
+"
+
+S="${WORKDIR}/${PN}-v${PV}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+       ${PYTHON_DEPS}
+       dev-libs/feedbackd
+       dev-libs/wayland
+       dev-libs/wayland-protocols
+       gnome-base/gnome-desktop
+       media-fonts/noto-emoji
+       x11-libs/gtk+:3[wayland]
+"
+
+BDEPEND="
+       dev-util/gtk-doc
+       dev-util/intltool
+       virtual/pkgconfig
+"
+
+QA_FLAGS_IGNORED="/usr/bin/squeekboard-test-layout"
+
+src_install() {
+       CC="$(tc-getCC)"
+       meson_src_install
+       insinto /usr/bin
+       doins "${S}/tools/squeekboard-restyled"
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+       gnome2_schemas_update
+}
+
+pkg_postrm() {
+       xdg_pkg_postrm
+       gnome2_schemas_update
+}

diff --git a/phosh-base/squeekboard/squeekboard-1.17.1.ebuild 
b/phosh-base/squeekboard/squeekboard-1.17.1.ebuild
deleted file mode 100644
index 5e275ee53..000000000
--- a/phosh-base/squeekboard/squeekboard-1.17.1.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
-       atk-0.7.0
-       atk-sys-0.9.1
-       bitflags-1.2.1
-       cairo-rs-0.7.1
-       cairo-sys-rs-0.9.2
-       cc-1.0.68
-       clap-2.33.3
-       dtoa-0.4.8
-       fragile-0.3.0
-       gdk-0.11.0
-       gdk-pixbuf-0.7.0
-       gdk-pixbuf-sys-0.9.1
-       gdk-sys-0.9.1
-       gio-0.7.0
-       gio-sys-0.9.1
-       glib-0.8.2
-       glib-sys-0.9.1
-       gobject-sys-0.9.1
-       gtk-0.7.0
-       gtk-sys-0.9.2
-       lazy_static-1.4.0
-       libc-0.2.97
-       linked-hash-map-0.5.4
-       maplit-1.0.2
-       memmap-0.7.0
-       pango-0.7.0
-       pango-sys-0.9.1
-       pkg-config-0.3.19
-       proc-macro2-1.0.27
-       quote-1.0.9
-       regex-1.3.9
-       regex-syntax-0.6.25
-       serde-1.0.126
-       serde_derive-1.0.126
-       serde_yaml-0.8.17
-       syn-1.0.73
-       textwrap-0.11.0
-       unicode-width-0.1.8
-       unicode-xid-0.2.2
-       winapi-0.3.9
-       winapi-i686-pc-windows-gnu-0.4.0
-       winapi-x86_64-pc-windows-gnu-0.4.0
-       xkbcommon-0.4.0
-       yaml-rust-0.4.5
-"
-
-inherit cargo gnome2-utils meson toolchain-funcs xdg
-
-DESCRIPTION="Virtual keyboard supporting Wayland, built primarily for the 
Librem 5 phone"
-HOMEPAGE="https://gitlab.gnome.org/World/Phosh/squeekboard";
-SRC_URI="https://gitlab.gnome.org/World/Phosh/squeekboard/-/archive/v${PV}/squeekboard-v${PV}.tar.gz
 -> ${P}.tar.gz"
-SRC_URI+=" $(cargo_crate_uris ${CRATES})"
-
-S="${WORKDIR}/${PN}-v${PV}"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
-       ${PYTHON_DEPS}
-       dev-libs/feedbackd
-       dev-libs/wayland
-       dev-libs/wayland-protocols
-       gnome-base/gnome-desktop
-       media-fonts/noto-emoji
-       x11-libs/gtk+:3[wayland]
-"
-
-BDEPEND="
-       dev-util/gtk-doc
-       dev-util/intltool
-       virtual/pkgconfig
-       virtual/rust
-"
-
-QA_FLAGS_IGNORED="/usr/bin/squeekboard-test-layout"
-
-src_install() {
-       CC="$(tc-getCC)"
-       meson_src_install
-       insinto /usr/bin
-       doins "${S}/tools/squeekboard-restyled"
-}
-
-pkg_postinst() {
-       xdg_pkg_postinst
-       gnome2_schemas_update
-}
-
-pkg_postrm() {
-       xdg_pkg_postrm
-       gnome2_schemas_update
-}

diff --git a/sys-apps/bat-extras/bat-extras-2023.09.19-r1.ebuild 
b/sys-apps/bat-extras/bat-extras-2023.09.19-r2.ebuild
similarity index 90%
rename from sys-apps/bat-extras/bat-extras-2023.09.19-r1.ebuild
rename to sys-apps/bat-extras/bat-extras-2023.09.19-r2.ebuild
index 3071ef621..4fb76f0f2 100644
--- a/sys-apps/bat-extras/bat-extras-2023.09.19-r1.ebuild
+++ b/sys-apps/bat-extras/bat-extras-2023.09.19-r2.ebuild
@@ -1,8 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
 
+inherit optfeature
+
 DESCRIPTION="Bash scripts that integrate bat with various command line tools."
 HOMEPAGE="https://github.com/eth-p/bat-extras";
 if [[ ${PV} == 9999 ]]; then
@@ -34,7 +36,6 @@ RDEPEND="
        sys-apps/ripgrep
        sys-devel/clang[extra(+)]
        sys-libs/ncurses
-       virtual/rust[rustfmt(+)]
 "
 
 src_unpack() {
@@ -70,4 +71,6 @@ pkg_postinst() {
        einfo "'net-libs/nodejs' is installed in your system, and use 'npm' to 
install"
        einfo "'prettier' (npm i -g prettier). Once 'prettier' is properly 
installed in"
        einfo "your system, remerge this package."
+
+       optfeature "Rust code formatting" dev-lang/rust[rustfmt] 
dev-lang/rust-bin[rustfmt]
 }

diff --git a/sys-apps/bat-extras/bat-extras-2023.09.19.ebuild 
b/sys-apps/bat-extras/bat-extras-2023.09.19.ebuild
deleted file mode 100644
index c89742c14..000000000
--- a/sys-apps/bat-extras/bat-extras-2023.09.19.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Bash scripts that integrate bat with various command line tools."
-HOMEPAGE="https://github.com/eth-p/bat-extras";
-if [[ ${PV} == *9999 ]]; then
-       inherit git-r3
-       EGIT_REPO_URI="https://github.com/eth-p/bat-extras.git";
-       RESTRICT="mirror fetch"
-else
-       SRC_URI="https://github.com/eth-p/bat-extras/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
-       KEYWORDS="~amd64"
-       RESTRICT="mirror test"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+man"
-
-DEPEND="
-       app-shells/bash
-       sys-apps/bat
-       dev-util/sh
-"
-RDEPEND="
-       ${DEPEND}
-       app-admin/entr
-       app-shells/fzf
-       dev-python/black
-       dev-util/git-delta
-       dev-vcs/git
-       sys-apps/eza
-       sys-apps/ripgrep
-       sys-devel/clang
-       sys-libs/ncurses
-       virtual/rust[rustfmt(+)]
-"
-
-src_unpack() {
-       default
-       if [[ ${PV} == *9999 ]]; then
-               git-r3_checkout
-       fi
-}
-
-src_prepare() {
-       # remove license
-       rm LICENSE.md || die
-       # remove contribution document
-       rm CONTRIBUTING.md || die
-       default
-}
-
-src_compile() {
-       if use man; then
-               ./build.sh --compress --minify=all --manuals --no-verify || die 
"build failed"
-       else
-               ./build.sh --compress --minify=all --no-verify || die "build 
failed"
-       fi
-}
-
-src_test() {
-       ./test.sh || die "test failed"
-}
-
-src_install() {
-       dobin bin/*
-       if use man; then
-               doman man/*
-       fi
-}
-
-pkg_postinst() {
-       einfo "To enable additional code formatting for 'prettybat' script, 
ensure"
-       einfo "'net-libs/nodejs' is installed in your system, and use 'npm' to 
install"
-       einfo "'prettier' (npm i -g prettier). Once 'prettier' is properly 
installed in"
-       einfo "your system, remerge this pacakge."
-}

diff --git a/sys-apps/bat-extras/bat-extras-9999.ebuild 
b/sys-apps/bat-extras/bat-extras-9999.ebuild
index 3071ef621..4fb76f0f2 100644
--- a/sys-apps/bat-extras/bat-extras-9999.ebuild
+++ b/sys-apps/bat-extras/bat-extras-9999.ebuild
@@ -1,8 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
 
+inherit optfeature
+
 DESCRIPTION="Bash scripts that integrate bat with various command line tools."
 HOMEPAGE="https://github.com/eth-p/bat-extras";
 if [[ ${PV} == 9999 ]]; then
@@ -34,7 +36,6 @@ RDEPEND="
        sys-apps/ripgrep
        sys-devel/clang[extra(+)]
        sys-libs/ncurses
-       virtual/rust[rustfmt(+)]
 "
 
 src_unpack() {
@@ -70,4 +71,6 @@ pkg_postinst() {
        einfo "'net-libs/nodejs' is installed in your system, and use 'npm' to 
install"
        einfo "'prettier' (npm i -g prettier). Once 'prettier' is properly 
installed in"
        einfo "your system, remerge this package."
+
+       optfeature "Rust code formatting" dev-lang/rust[rustfmt] 
dev-lang/rust-bin[rustfmt]
 }

diff --git a/sys-apps/hexyl/hexyl-0.15.0.ebuild 
b/sys-apps/hexyl/hexyl-0.15.0-r1.ebuild
similarity index 98%
rename from sys-apps/hexyl/hexyl-0.15.0.ebuild
rename to sys-apps/hexyl/hexyl-0.15.0-r1.ebuild
index 6f509eb7e..3ff5b9fda 100644
--- a/sys-apps/hexyl/hexyl-0.15.0.ebuild
+++ b/sys-apps/hexyl/hexyl-0.15.0-r1.ebuild
@@ -88,7 +88,6 @@ IUSE="man"
 KEYWORDS="~amd64"
 
 BDEPEND="
-       >=virtual/rust-1.66
        man? ( virtual/pandoc )
 "
 

diff --git a/sys-apps/mission-center/mission-center-0.4.4-r2.ebuild 
b/sys-apps/mission-center/mission-center-0.4.4-r3.ebuild
similarity index 99%
rename from sys-apps/mission-center/mission-center-0.4.4-r2.ebuild
rename to sys-apps/mission-center/mission-center-0.4.4-r3.ebuild
index 753f89c85..dfcccb4b0 100644
--- a/sys-apps/mission-center/mission-center-0.4.4-r2.ebuild
+++ b/sys-apps/mission-center/mission-center-0.4.4-r3.ebuild
@@ -330,7 +330,6 @@ DEPEND="
        media-libs/libglvnd
        media-libs/mesa
        sys-apps/dbus
-       virtual/rust
        virtual/udev
        x11-libs/cairo
        x11-libs/gdk-pixbuf:2
@@ -362,6 +361,11 @@ QA_FLAGS_IGNORED="
        usr/bin/missioncenter-gatherer
 "
 
+pkg_setup() {
+       python-any-r1_pkg_setup
+       rust_pkg_setup
+}
+
 src_unpack() {
        unpack ${P}.tar.bz2
        unpack nvtop-${NVTOP_COMMIT}.tar.gz

diff --git a/sys-apps/mission-center/mission-center-0.5.2-r1.ebuild 
b/sys-apps/mission-center/mission-center-0.5.2-r2.ebuild
similarity index 99%
rename from sys-apps/mission-center/mission-center-0.5.2-r1.ebuild
rename to sys-apps/mission-center/mission-center-0.5.2-r2.ebuild
index 983b86663..30e13993a 100644
--- a/sys-apps/mission-center/mission-center-0.5.2-r1.ebuild
+++ b/sys-apps/mission-center/mission-center-0.5.2-r2.ebuild
@@ -272,7 +272,6 @@ DEPEND="
        media-libs/libglvnd
        media-libs/mesa
        sys-apps/dbus
-       virtual/rust
        virtual/udev
        x11-libs/cairo
        x11-libs/gdk-pixbuf:2
@@ -305,6 +304,11 @@ QA_FLAGS_IGNORED="
        usr/bin/missioncenter-gatherer
 "
 
+pkg_setup() {
+       python-any-r1_pkg_setup
+       rust_pkg_setup
+}
+
 src_unpack() {
        unpack ${P}.tar.bz2
        unpack nvtop-${NVTOP_COMMIT}.tar.gz

diff --git a/sys-power/system76-power/system76-power-1.2.0.ebuild 
b/sys-power/system76-power/system76-power-1.2.0-r1.ebuild
similarity index 95%
rename from sys-power/system76-power/system76-power-1.2.0.ebuild
rename to sys-power/system76-power/system76-power-1.2.0-r1.ebuild
index cb0d4aa78..bc09fb9f7 100644
--- a/sys-power/system76-power/system76-power-1.2.0.ebuild
+++ b/sys-power/system76-power/system76-power-1.2.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 EAPI=8
 
@@ -197,21 +197,15 @@ HOMEPAGE="https://github.com/pop-os/system76-power";
 
 SRC_URI="
        https://github.com/pop-os/system76-power/archive/refs/tags/${PV}.tar.gz 
-> ${P}.tar.gz
-       $(cargo_crate_uris)
+       ${CARGO_CRATE_URIS}
 "
 
 LICENSE="GPL-3"
 SLOT="0"
 KEYWORDS="~amd64"
 
-IUSE="systemd"
 DEPEND="sys-apps/systemd"
 RDEPEND="${DEPEND}"
-BDEPEND="virtual/rust"
-
-src_unpack() {
-       cargo_src_unpack
-}
 
 src_prepare() {
        default
@@ -220,14 +214,6 @@ src_prepare() {
        cargo_gen_config
 }
 
-src_configure() {
-       cargo_src_configure
-}
-
-src_compile() {
-       cargo_src_compile
-}
-
 src_install() {
        default
        elog "Enable the service: 'systemctl enable --now 
com.system76.PowerDaemon.service'"

diff --git a/sys-power/system76-power/system76-power-1.2.1.ebuild 
b/sys-power/system76-power/system76-power-1.2.1-r1.ebuild
similarity index 95%
rename from sys-power/system76-power/system76-power-1.2.1.ebuild
rename to sys-power/system76-power/system76-power-1.2.1-r1.ebuild
index cb0d4aa78..bc09fb9f7 100644
--- a/sys-power/system76-power/system76-power-1.2.1.ebuild
+++ b/sys-power/system76-power/system76-power-1.2.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 EAPI=8
 
@@ -197,21 +197,15 @@ HOMEPAGE="https://github.com/pop-os/system76-power";
 
 SRC_URI="
        https://github.com/pop-os/system76-power/archive/refs/tags/${PV}.tar.gz 
-> ${P}.tar.gz
-       $(cargo_crate_uris)
+       ${CARGO_CRATE_URIS}
 "
 
 LICENSE="GPL-3"
 SLOT="0"
 KEYWORDS="~amd64"
 
-IUSE="systemd"
 DEPEND="sys-apps/systemd"
 RDEPEND="${DEPEND}"
-BDEPEND="virtual/rust"
-
-src_unpack() {
-       cargo_src_unpack
-}
 
 src_prepare() {
        default
@@ -220,14 +214,6 @@ src_prepare() {
        cargo_gen_config
 }
 
-src_configure() {
-       cargo_src_configure
-}
-
-src_compile() {
-       cargo_src_compile
-}
-
 src_install() {
        default
        elog "Enable the service: 'systemctl enable --now 
com.system76.PowerDaemon.service'"

diff --git a/sys-power/system76-power/system76-power-9999.ebuild 
b/sys-power/system76-power/system76-power-9999.ebuild
index 60054d3ee..fae78009a 100644
--- a/sys-power/system76-power/system76-power-9999.ebuild
+++ b/sys-power/system76-power/system76-power-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -15,7 +15,6 @@ KEYWORDS=""
 
 DEPEND="sys-apps/systemd"
 RDEPEND="${DEPEND}"
-BDEPEND="virtual/rust"
 
 src_unpack(){
        git-r3_src_unpack


Reply via email to