diff --git a/community/aardvark-dns/APKBUILD b/community/aardvark-dns/APKBUILD
index 353b12ea0d146ad3c9ad01e1e17eb3fc8433f74e..0aeebee336d65d3bbb885ac947eea0e105e5d229 100644
--- a/community/aardvark-dns/APKBUILD
+++ b/community/aardvark-dns/APKBUILD
@@ -12,6 +12,8 @@ makedepends="cargo"
 source="https://github.com/containers/aardvark-dns/archive/v$pkgver/aardvark-dns-$pkgver.tar.gz"
 options="net !check" # no test suite
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	make
 }
diff --git a/community/acme-redirect/APKBUILD b/community/acme-redirect/APKBUILD
index 8a1adb4cb0caebe37c37719c9856194cad915630..e26c7df56bd6643dbbdc43e2d683ecf411ff75d7 100644
--- a/community/acme-redirect/APKBUILD
+++ b/community/acme-redirect/APKBUILD
@@ -23,6 +23,8 @@ install="$pkgname.pre-install"
 options="net"
 source="$pkgname-$pkgver.tar.gz::https://github.com/kpcyrd/acme-redirect/archive/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 
diff --git a/community/alacritty/APKBUILD b/community/alacritty/APKBUILD
index 78f4655ba64c92691f416d439ad7a7cf70a6b638..6306729393f8171cec443d144de5b3df68d66ffa 100644
--- a/community/alacritty/APKBUILD
+++ b/community/alacritty/APKBUILD
@@ -29,6 +29,7 @@ options="net"
 source="$pkgname-$pkgver.tar.gz::https://github.com/alacritty/alacritty/archive/refs/tags/v$pkgver.tar.gz
 	"
 export CARGO_HOME="$srcdir"/cargo
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 build() {
 	cargo build --release --verbose
diff --git a/community/amberol/APKBUILD b/community/amberol/APKBUILD
index 4755c622f316eceff35351751049c58323d807b6..8b3f88c03f0810230456ddbaeeb8fd47a78554db 100644
--- a/community/amberol/APKBUILD
+++ b/community/amberol/APKBUILD
@@ -38,6 +38,7 @@ options="net" # needed for downloading dependencies
 export CARGO_FEATURE_USE_SYSTEM_LIBS=1 # gmp-mpfr-sys links to gmp-dev and mpfr-dev
 export CARGO_NET_OFFLINE="true"
 export CARGO_HOME="$srcdir/cargo"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/apk-polkit-rs/APKBUILD b/community/apk-polkit-rs/APKBUILD
index b587c6f62d1d5db1af82e2cf38e7f5c0f8e2f0da..660a420564c82b9ddd1b12e53dcff180aca102a1 100644
--- a/community/apk-polkit-rs/APKBUILD
+++ b/community/apk-polkit-rs/APKBUILD
@@ -23,6 +23,8 @@ riscv64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/arti/APKBUILD b/community/arti/APKBUILD
index b7098a1e22bfd663555b4d3e5cc897661cc2db94..c4d4ff00991bd30cbcccaf42a014bbcf1af960f9 100644
--- a/community/arti/APKBUILD
+++ b/community/arti/APKBUILD
@@ -13,6 +13,8 @@ subpackages="$pkgname-doc"
 source="$pkgname-$pkgver.tar.gz::https://gitlab.torproject.org/tpo/core/arti/-/archive/arti-v$pkgver/arti-arti-v$pkgver.tar.gz"
 builddir="$srcdir/$pkgname-$pkgname-v$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/community/asfa/APKBUILD b/community/asfa/APKBUILD
index d23bbd6d82590e049c4eeb1d3ec832dc964bc85d..3ffc1f8bb4d7b249594364c308de7508e8c3d4ac 100644
--- a/community/asfa/APKBUILD
+++ b/community/asfa/APKBUILD
@@ -20,6 +20,7 @@ options="!check"  # tests use docker
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
 
 export LIBSSH2_SYS_USE_PKG_CONFIG=1  # use system libssh2
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/atuin/APKBUILD b/community/atuin/APKBUILD
index ca28e04ec902fd459c1b62afa457fee96c7db5e3..c90565ab547e697fda49c620788addda58fa2044 100644
--- a/community/atuin/APKBUILD
+++ b/community/atuin/APKBUILD
@@ -47,6 +47,7 @@ source="https://github.com/ellie/atuin/archive/v$pkgver/atuin-$pkgver.tar.gz
 options="!check"  # FIXME: some tests are broken
 
 export SODIUM_USE_PKG_CONFIG=1
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	local sqlx_ver
diff --git a/community/b3sum/APKBUILD b/community/b3sum/APKBUILD
index 72270dda9b6246014642715be2cdb8e6fe410a5b..5bde39c49a84fa50a2474be19deb98a397450d45 100644
--- a/community/b3sum/APKBUILD
+++ b/community/b3sum/APKBUILD
@@ -20,6 +20,8 @@ aarch64|armv7)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/bandwhich/APKBUILD b/community/bandwhich/APKBUILD
index e83ec557e6811eafe396599642bfbf353b8a024c..4b03601ca64fe6bc2bc9d863cbceb74d0c14ad3e 100644
--- a/community/bandwhich/APKBUILD
+++ b/community/bandwhich/APKBUILD
@@ -13,6 +13,8 @@ source="https://github.com/imsnif/bandwhich/archive/$pkgver/$pkgname-$pkgver.tar
 	update-socket2.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/bat/APKBUILD b/community/bat/APKBUILD
index 6d73c90226df1155ed7a6c5281c85fef87b5941a..0514f3b6024acab0370e67b024ea55089b408e0b 100644
--- a/community/bat/APKBUILD
+++ b/community/bat/APKBUILD
@@ -31,6 +31,7 @@ source="https://github.com/sharkdp/bat/archive/v$pkgver/bat-$pkgver.tar.gz"
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
 
 export RUSTONIG_DYNAMIC_LIBONIG=1  # use system libonig
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/below/APKBUILD b/community/below/APKBUILD
index b5ec04ee1a4d50446b7b42c55030ec589f28d0e7..206e6f5571b1216acd471f5d26c5c091c6ea25d0 100644
--- a/community/below/APKBUILD
+++ b/community/below/APKBUILD
@@ -40,6 +40,7 @@ _cargo_opts="--frozen --features no-vendor"
 
 # below may not work correctly with panic=abort.
 export CARGO_PROFILE_RELEASE_PANIC="unwind"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/bottom/APKBUILD b/community/bottom/APKBUILD
index c7cacbfd7f5796eee8b9d82f676b11d9f1a7b037..a36b578a65b29eee3ddb264464a9aa07ccbbdf44 100644
--- a/community/bottom/APKBUILD
+++ b/community/bottom/APKBUILD
@@ -16,6 +16,8 @@ subpackages="
 	"
 source="https://github.com/ClementTsang/bottom/archive/$pkgver/bottom-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/community/broot/APKBUILD b/community/broot/APKBUILD
index cffa9668bb7f9b46ac4d2ee72669b85c103287a1..510aaa15d77c4e0a7cd992ce99f794739ebc7e80 100644
--- a/community/broot/APKBUILD
+++ b/community/broot/APKBUILD
@@ -26,6 +26,7 @@ source="https://github.com/Canop/broot/archive/v$pkgver/broot-$pkgver.tar.gz
 	"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL=2
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/bupstash/APKBUILD b/community/bupstash/APKBUILD
index 4079493018c41b898199bcd0f22ef933ed1071aa..30e792033aa1de4e5b6ef3edc7da2c8f59a5ea5c 100644
--- a/community/bupstash/APKBUILD
+++ b/community/bupstash/APKBUILD
@@ -11,6 +11,7 @@ makedepends="rust cargo libsodium-dev"
 options="net"
 source="$pkgname-$pkgver.tar.gz::https://github.com/andrewchambers/bupstash/archive/v$pkgver.tar.gz"
 export CARGO_HOME="$srcdir"/cargo
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 build() {
 	cargo build --release --verbose
diff --git a/community/cargo-audit/APKBUILD b/community/cargo-audit/APKBUILD
index bc197a5d750fbbd38c6a96c292e934e62ee865e1..03f673ad55c36cd9e531206d69ab8ab6668dc90c 100644
--- a/community/cargo-audit/APKBUILD
+++ b/community/cargo-audit/APKBUILD
@@ -15,6 +15,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/RustSec/cargo-audit/archive/
 builddir="$srcdir/rustsec-$pkgname-v$pkgver/$pkgname"
 options="!check" # requires running binaries prebuilt against glibc as part of the tests and fails
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/cargo-bloat/APKBUILD b/community/cargo-bloat/APKBUILD
index 5985412aaaffbc4f00e1b6d4fb78991edd3e037c..224df1a37842f2ee971574ea7e6fbb4e669fdd06 100644
--- a/community/cargo-bloat/APKBUILD
+++ b/community/cargo-bloat/APKBUILD
@@ -13,6 +13,8 @@ source="https://github.com/RazrFalcon/cargo-bloat/archive/v$pkgver/$pkgname-$pkg
 	"
 _cargo_opts="--frozen --features regex-filter"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/cargo-c/APKBUILD b/community/cargo-c/APKBUILD
index 0a22306c62ef8614de7e1f7ffc09bf669797169e..d0e24463b86ba2d4b58b9b3e1097bdd36cb8cb6e 100644
--- a/community/cargo-c/APKBUILD
+++ b/community/cargo-c/APKBUILD
@@ -29,6 +29,7 @@ esac
 
 export LIBSSH2_SYS_USE_PKG_CONFIG=1
 export DEP_NGHTTP2_ROOT=/usr
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/cargo-edit/APKBUILD b/community/cargo-edit/APKBUILD
index b5b0015c0b702780ef4fe818aec2757f5688b1df..14c152bfb931e466c4389012c04e44250aaafeb2 100644
--- a/community/cargo-edit/APKBUILD
+++ b/community/cargo-edit/APKBUILD
@@ -23,6 +23,8 @@ export LIBSSH2_SYS_USE_PKG_CONFIG=1  # use system libssh2
 # Exclude vendored-libgit2 feature.
 _cargo_opts="--frozen --no-default-features --features add,rm,upgrade,set-version"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/cargo-gra/APKBUILD b/community/cargo-gra/APKBUILD
index a92e66fa4c949de327e59aa7f113a730275b461d..d8767594cb3f6ad0c85dabc52d46b3a36e4f718a 100644
--- a/community/cargo-gra/APKBUILD
+++ b/community/cargo-gra/APKBUILD
@@ -14,6 +14,8 @@ options="!check" # Tests fail
 
 [ "$CARCH" = "riscv64" ] && options="$options textrels"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/cargo-license/APKBUILD b/community/cargo-license/APKBUILD
index 6b5de1a81607b7796146d85fe744ef94fc2360ae..ee693b3f2f8fca71c76efaab2ca842e012c3e87f 100644
--- a/community/cargo-license/APKBUILD
+++ b/community/cargo-license/APKBUILD
@@ -9,6 +9,8 @@ license="MIT"
 makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://crates.io/api/v1/crates/cargo-license/$pkgver/download"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/cargo-make/APKBUILD b/community/cargo-make/APKBUILD
index c6e2db8e540df8f1bda21a4f256eddee205fbed5..d35990972fb1b0c70177c9867e28887037c3a497 100644
--- a/community/cargo-make/APKBUILD
+++ b/community/cargo-make/APKBUILD
@@ -16,6 +16,8 @@ options="!check"  # FIXME: some tests are broken
 
 _cargo_opts="--frozen --no-default-features --features tls-native"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/cargo-nextest/APKBUILD b/community/cargo-nextest/APKBUILD
index bf0ba156663e96bd1ae3b020de98c60eb0844288..58f6813f35439ef5fdf9a5da5d64be2f5518cefa 100644
--- a/community/cargo-nextest/APKBUILD
+++ b/community/cargo-nextest/APKBUILD
@@ -23,6 +23,8 @@ esac
 
 _cargo_opts="--frozen --no-default-features --features default-no-update"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/cargo-outdated/APKBUILD b/community/cargo-outdated/APKBUILD
index 21b0af6b071c4465a2ba38b3749dd83dc1b4ace4..bb11dd5b1077065ccc93b54f5142efcfaa8fd3aa 100644
--- a/community/cargo-outdated/APKBUILD
+++ b/community/cargo-outdated/APKBUILD
@@ -21,6 +21,7 @@ options="net"
 source="$pkgname-$pkgver.tar.gz::https://github.com/kbknapp/cargo-outdated/archive/v$pkgver.tar.gz"
 
 export LIBSSH2_SYS_USE_PKG_CONFIG=1
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/cargo-watch/APKBUILD b/community/cargo-watch/APKBUILD
index bcfb85891ef1426234daede5d0c1015033cf76d1..974efd3f9888e724646590c6c83929c601ca52ce 100644
--- a/community/cargo-watch/APKBUILD
+++ b/community/cargo-watch/APKBUILD
@@ -16,6 +16,8 @@ subpackages="
 options="net"
 source="$pkgname-$pkgver.tar.gz::https://github.com/watchexec/cargo-watch/archive/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/cbindgen/APKBUILD b/community/cbindgen/APKBUILD
index 9d817183bfb2374b79d25549e99632625a43a677..693c4edbe5097ad019d07c1954bbb0d68e302adf 100644
--- a/community/cbindgen/APKBUILD
+++ b/community/cbindgen/APKBUILD
@@ -20,6 +20,8 @@ if [ "$CARCH" = "riscv64" ]; then
 	options="$options textrels"
 fi
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/choose/APKBUILD b/community/choose/APKBUILD
index 1af017e9ee2702a16c3b178d372d1632df50bb5b..7c3a2e4c7c1124af0bcbc0a1effe4d78ebd1c8d2 100644
--- a/community/choose/APKBUILD
+++ b/community/choose/APKBUILD
@@ -10,6 +10,8 @@ license="GPL-3.0-or-later"
 makedepends="cargo"
 source="https://github.com/theryangeary/choose/archive/v$pkgver/choose-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/clamav/APKBUILD b/community/clamav/APKBUILD
index 16c38c445b7a8ef27c81efe68d2ff88a11cfb0d7..5294c751100001651ff800d25d721d2e4d309868 100644
--- a/community/clamav/APKBUILD
+++ b/community/clamav/APKBUILD
@@ -120,6 +120,8 @@ esac
 #     - CVE-2018-14681
 #     - CVE-2018-14682
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cmake -B build -G Ninja \
 		-DCMAKE_BUILD_TYPE=None \
diff --git a/community/connman-resolvconf/APKBUILD b/community/connman-resolvconf/APKBUILD
index 6f0198bedfdeec775c10292b72e7995e925b9014..c6b60498e17d7c4cba52df0150e1df05a8c43324 100644
--- a/community/connman-resolvconf/APKBUILD
+++ b/community/connman-resolvconf/APKBUILD
@@ -17,6 +17,8 @@ subpackages="$pkgname-openrc"
 source="https://github.com/jirutka/connman-resolvconf/archive/v$pkgver/connman-resolvconf-$pkgver.tar.gz"
 options="!check"  # no tests provided
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/corrosion/APKBUILD b/community/corrosion/APKBUILD
index f00df08001afd85ca781a15f9014919c09413b63..44c470b16c10d62c1d1b68ce92018e28949ec2bb 100644
--- a/community/corrosion/APKBUILD
+++ b/community/corrosion/APKBUILD
@@ -17,6 +17,8 @@ makedepends="samurai"
 source="https://github.com/AndrewGaspar/corrosion/archive/v$pkgver/corrosion-$pkgver.tar.gz"
 options="net" # Required to download Rust dependencies
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cmake -B build -G Ninja \
 		-DCMAKE_BUILD_TYPE=MinSizeRel \
diff --git a/community/csview/APKBUILD b/community/csview/APKBUILD
index fd244716897d25d51ebe4d71397e4ea0370b7b1f..ca21fefbff71bc508988d9e2a7b12570b635cee7 100644
--- a/community/csview/APKBUILD
+++ b/community/csview/APKBUILD
@@ -15,6 +15,8 @@ subpackages="
 	"
 source="https://github.com/wfxr/csview/archive/v$pkgver/csview-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/czkawka/APKBUILD b/community/czkawka/APKBUILD
index 2d3a1f30172c3a43b097395b22bd3aa8ea1f198d..b123165771f15f65e17dddb56478dbeed4c6b514 100644
--- a/community/czkawka/APKBUILD
+++ b/community/czkawka/APKBUILD
@@ -18,6 +18,8 @@ source="https://github.com/qarmin/czkawka/archive/$pkgver/$pkgname-$pkgver.tar.g
 	minimize-size.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/delta/APKBUILD b/community/delta/APKBUILD
index d0e1d8c12efb05cb0cf99d2da768870f4b676ec4..becec64c878fd865d07d533e09927de2d101fe22 100644
--- a/community/delta/APKBUILD
+++ b/community/delta/APKBUILD
@@ -19,6 +19,7 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/dandavison/delta/archive/ref
 #     - CVE-2022-24713
 
 export RUSTONIG_SYSTEM_LIBONIG="true"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/dfrs/APKBUILD b/community/dfrs/APKBUILD
index 95f490e089b9b89a8e6d2872a3ad3b2532cf868b..06bba81cc8216ffc29abf9e25b5937eb6feb91ad 100644
--- a/community/dfrs/APKBUILD
+++ b/community/dfrs/APKBUILD
@@ -21,6 +21,8 @@ subpackages="$pkgname-doc
 options="net"
 source="$pkgname-$pkgver.tar.gz::https://github.com/anthraxx/dfrs/archive/$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	make
 }
diff --git a/community/diffsitter/APKBUILD b/community/diffsitter/APKBUILD
index 90ffa105ad8634577ae9c5bea7660b93eedbcb6d..5e91108c7f264ca288c0ad40e6c33f1a4cac356c 100644
--- a/community/diffsitter/APKBUILD
+++ b/community/diffsitter/APKBUILD
@@ -24,6 +24,8 @@ source="https://github.com/afnanenayet/diffsitter/archive/v$pkgver/$pkgname-$pkg
 _cargo_opts="--frozen --no-default-features --features dynamic-grammar-libs"
 _binname=$pkgname
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/difftastic/APKBUILD b/community/difftastic/APKBUILD
index 5346591d7b613094996926369fb3df26131408d9..eb67aadd65e85b0b986cdb67d4a19e963a93e50b 100644
--- a/community/difftastic/APKBUILD
+++ b/community/difftastic/APKBUILD
@@ -10,6 +10,8 @@ arch="all !s390x !riscv64" # blocked by rust/cargo
 makedepends="cargo openssl-dev"
 source="https://github.com/Wilfred/difftastic/archive/$pkgver/difftastic-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/community/display-switch/APKBUILD b/community/display-switch/APKBUILD
index f4aa63339505732d68b5616694c49e5da638b788..3fa3e3f721b8f05b05853c45c8a7aa5bd65e3177 100644
--- a/community/display-switch/APKBUILD
+++ b/community/display-switch/APKBUILD
@@ -14,6 +14,8 @@ source="
 	50-i2c.rules
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/community/docuum/APKBUILD b/community/docuum/APKBUILD
index bae38f7b3f84c152cde2c268754281528f547962..686f5e329bbc099a50c0c85a92ef1d35ef4d6640 100644
--- a/community/docuum/APKBUILD
+++ b/community/docuum/APKBUILD
@@ -18,6 +18,8 @@ source="https://github.com/stepchowfun/docuum/archive/v$pkgver/docuum-$pkgver.ta
 	$pkgname.logrotate
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/dog/APKBUILD b/community/dog/APKBUILD
index 903b560f84dd03afa703716165543de61c7a8190..53e72bfc59b14f88410f54606c2cda3c8ec773b0 100644
--- a/community/dog/APKBUILD
+++ b/community/dog/APKBUILD
@@ -13,6 +13,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/ogham/dog/archive/v$pkgver.t
 	openssl3.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/dssim/APKBUILD b/community/dssim/APKBUILD
index f85a6e08eaac02ef3690168ec5cf9bdd4a7510ae..b228f687e8feeb26e658dfedf3b68f773aebc0be 100644
--- a/community/dssim/APKBUILD
+++ b/community/dssim/APKBUILD
@@ -11,6 +11,8 @@ license="AGPL-3.0-only"
 makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/kornelski/dssim/archive/$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release
 }
diff --git a/community/dua/APKBUILD b/community/dua/APKBUILD
index 19515eaa507313ca5ee9946f5c565e40e7e7cdcc..37e73f22fad65772f1f1f68f38fd3bdd35b7902b 100644
--- a/community/dua/APKBUILD
+++ b/community/dua/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo"
 source="https://github.com/Byron/dua-cli/archive/v$pkgver/dua-$pkgver.tar.gz"
 builddir="$srcdir/dua-cli-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/duckscript/APKBUILD b/community/duckscript/APKBUILD
index c71c114cc8c758a49b187e660ec7d8143a1060c2..256daffa1425e3ae34c8c11152ef7131474ac142 100644
--- a/community/duckscript/APKBUILD
+++ b/community/duckscript/APKBUILD
@@ -18,6 +18,8 @@ esac
 
 _cargo_opts="--frozen --no-default-features --features tls-native"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/dummyhttp/APKBUILD b/community/dummyhttp/APKBUILD
index e105e8fe0afb727e03d22ead331c3ae1164a6493..9ea51b4e71b05d8ddbff2a8c612aa2bd947171bb 100644
--- a/community/dummyhttp/APKBUILD
+++ b/community/dummyhttp/APKBUILD
@@ -17,6 +17,8 @@ subpackages="
 	"
 source="https://github.com/svenstaro/dummyhttp/archive/v$pkgver/dummyhttp-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/dust/APKBUILD b/community/dust/APKBUILD
index 83ba1948d5f28b5ecf00c5d58888d5e089e1e626..6da0d37c6bd2fc51a16a9a0afe5858e23ad9fe56 100644
--- a/community/dust/APKBUILD
+++ b/community/dust/APKBUILD
@@ -18,6 +18,7 @@ case "$CARCH" in
 esac
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/electrs/APKBUILD b/community/electrs/APKBUILD
index 2efbd11f4d7a7f70cedbd9675c390d2c15a62df9..1b0c3f9ed4449dbaff575fd1c44cec57addcde41 100644
--- a/community/electrs/APKBUILD
+++ b/community/electrs/APKBUILD
@@ -14,6 +14,8 @@ source="https://github.com/romanz/electrs/archive/v$pkgver/electrs-$pkgver.tar.g
 	12-db.rs.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	ROCKSDB_INCLUDE_DIR=/usr/include ROCKSDB_LIB_DIR=/usr/lib cargo build --all --features "metrics_process" --release --locked
 }
diff --git a/community/exa/APKBUILD b/community/exa/APKBUILD
index 7c96bebe1de9b441178e62cc6b85d97c82fc690c..0d28abfdd1f2859c42b9d0807d9e5292a5b64827 100644
--- a/community/exa/APKBUILD
+++ b/community/exa/APKBUILD
@@ -18,6 +18,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/ogham/exa/archive/v$pkgver.t
 	minimize-size.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/fclones/APKBUILD b/community/fclones/APKBUILD
index 442c674cf5ac4644bc8c50e41fab584db37fb71a..03ec87d39e64267c7c72376b6fea4cd63e3c2ea6 100644
--- a/community/fclones/APKBUILD
+++ b/community/fclones/APKBUILD
@@ -14,6 +14,8 @@ source="https://github.com/pkolaczk/fclones/archive/v$pkgver/fclones-$pkgver.tar
 	"
 options="net"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/fd/APKBUILD b/community/fd/APKBUILD
index 604952faae465ec7fa22cbf5dc60a283fb6a44e6..b86a8218e3088f4de368615025588afef53c49a8 100644
--- a/community/fd/APKBUILD
+++ b/community/fd/APKBUILD
@@ -25,6 +25,8 @@ case "$CARCH" in
 	riscv64) options="$options textrels" ;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/firefox-esr/APKBUILD b/community/firefox-esr/APKBUILD
index 4aa180032baefe9a5fb35b05e7da52b0035822fa..cc75af9819c11aaffe309b024c0eb4e159d16634 100644
--- a/community/firefox-esr/APKBUILD
+++ b/community/firefox-esr/APKBUILD
@@ -453,6 +453,7 @@ unset CARGO_PROFILE_RELEASE_LTO
 
 export CFLAGS="$CFLAGS -O2"
 export CXXFLAGS="$CXXFLAGS -O2"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/firefox/APKBUILD b/community/firefox/APKBUILD
index 448dac250574b7c4a917e1fb0733c31871382298..d540dbc2d20dc2df66b2396f8f16ef3be70be7a9 100644
--- a/community/firefox/APKBUILD
+++ b/community/firefox/APKBUILD
@@ -606,6 +606,7 @@ build() {
 
 	export CFLAGS="$CFLAGS -O2"
 	export CXXFLAGS="$CXXFLAGS -O2"
+	export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 	case "$CARCH" in
 	aarch64|x86_64)
diff --git a/community/fisher/APKBUILD b/community/fisher/APKBUILD
index 35c6eaad4f5dd51d4329aa313c8c1f5f08f380f1..374ab45c5eb2f770e447e7749b858fb56e4ecddf 100644
--- a/community/fisher/APKBUILD
+++ b/community/fisher/APKBUILD
@@ -19,6 +19,8 @@ source="https://github.com/pietroalbini/$pkgname/archive/v$pkgver/$pkgname-$pkgv
 	"
 options="!check"  # problems with test dependencies
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/fractal/APKBUILD b/community/fractal/APKBUILD
index 90e999f0d530d74f5db0177932946e5eba9025b6..4e1e14cec78c5b04161041b5ab9a3d492143d998 100644
--- a/community/fractal/APKBUILD
+++ b/community/fractal/APKBUILD
@@ -41,6 +41,8 @@ case "$CARCH" in
 		;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson . output
 	meson compile ${JOBS:+-j ${JOBS}} -C output
diff --git a/community/garage/APKBUILD b/community/garage/APKBUILD
index 4eb7dae55d63d3d533e8516bbb55b0f321a5002d..bdddfe2b938e5883d25ce5fa12a444257f6c3591 100644
--- a/community/garage/APKBUILD
+++ b/community/garage/APKBUILD
@@ -35,6 +35,7 @@ export CARGO_PROFILE_RELEASE_OPT_LEVEL=2
 
 export SODIUM_USE_PKG_CONFIG=1
 export GIT_VERSION="v$pkgver"  # version used in --version
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	cargo fetch --target="$CTARGET" --locked
diff --git a/community/gfold/APKBUILD b/community/gfold/APKBUILD
index 1de7f67a0a6cc56317cf343e0e749b6a18fc9af8..e8169bef63a8fd90d22ce4217859906599af43f7 100644
--- a/community/gfold/APKBUILD
+++ b/community/gfold/APKBUILD
@@ -10,6 +10,8 @@ arch="all !s390x !riscv64" # blocked by rust/cargo
 makedepends="cargo"
 source="https://github.com/nickgerace/gfold/archive/$pkgver/gfold-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/gifski/APKBUILD b/community/gifski/APKBUILD
index 333dae2751fe5a2143330ac9ee46401714066f03..408ae5be030b893ca48c4f5f5063b26a6d05ac60 100644
--- a/community/gifski/APKBUILD
+++ b/community/gifski/APKBUILD
@@ -21,6 +21,8 @@ riscv64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/git-branchless/APKBUILD b/community/git-branchless/APKBUILD
index 3f11d1121fca3d03b3843c5f6d6b1c947eeeb815..bc27c236dd57fd826bf555a406563579311fb3f2 100644
--- a/community/git-branchless/APKBUILD
+++ b/community/git-branchless/APKBUILD
@@ -20,6 +20,7 @@ source="https://github.com/arxanas/git-branchless/archive/v$pkgver/git-branchles
 	"
 
 export LIBSSH2_SYS_USE_PKG_CONFIG=1  # use system libssh2
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/git-interactive-rebase-tool/APKBUILD b/community/git-interactive-rebase-tool/APKBUILD
index 4cd24ecd1f619ce85c1ca6dd7f8b632e2f00b75d..4c37c0e0ae7e19ab229c5b5bcfaf4df6ea482d75 100644
--- a/community/git-interactive-rebase-tool/APKBUILD
+++ b/community/git-interactive-rebase-tool/APKBUILD
@@ -12,6 +12,7 @@ subpackages="$pkgname-doc"
 source="https://github.com/MitMaro/git-interactive-rebase-tool/archive/$pkgver/$pkgname-$pkgver.tar.gz"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/git-metafile/APKBUILD b/community/git-metafile/APKBUILD
index 9605f3a3a9caf261758058bc7ff5ce8b254b0c8d..b9937e63f5a9d9f790325cf5b3429a2dc216115a 100644
--- a/community/git-metafile/APKBUILD
+++ b/community/git-metafile/APKBUILD
@@ -18,6 +18,8 @@ source="https://github.com/jirutka/$pkgname/archive/v$pkgver/$pkgname-$pkgver.ta
 	gitignore
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/git-warp-time/APKBUILD b/community/git-warp-time/APKBUILD
index 95f0f1a4ae05e807121cb0b21b86bccc9c654371..3538296c452871079abed3845b019de173748215 100644
--- a/community/git-warp-time/APKBUILD
+++ b/community/git-warp-time/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo"
 subpackages="$pkgname-bash-completion $pkgname-fish-completion $pkgname-zsh-completion"
 source="https://github.com/alerque/git-warp-time/archive/v$pkgver/git-warp-time-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/gitui/APKBUILD b/community/gitui/APKBUILD
index 37ac61fed070ab7415faf06a7e9204bbbdd1b314..5b2cb390fe60e6f35595cd7dce9fd2eabec059a4 100644
--- a/community/gitui/APKBUILD
+++ b/community/gitui/APKBUILD
@@ -21,6 +21,8 @@ export RUSTONIG_DYNAMIC_LIBONIG=1  # use system libonig
 
 _cargo_opts="--frozen --no-default-features --features regex-onig"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/gnome-authenticator/APKBUILD b/community/gnome-authenticator/APKBUILD
index 810067e4735b65e02f6533882c1c38b32b20fe9e..865969da3a19c062b1d1372bbdc6149bf68e20e9 100644
--- a/community/gnome-authenticator/APKBUILD
+++ b/community/gnome-authenticator/APKBUILD
@@ -28,6 +28,8 @@ subpackages="$pkgname-dbg $pkgname-lang"
 source="https://gitlab.gnome.org/World/Authenticator/-/archive/$pkgver/Authenticator-$pkgver.tar.gz"
 builddir="$srcdir/Authenticator-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson . output
 	meson compile ${JOBS:+-j ${JOBS}} -C output
diff --git a/community/gnome-podcasts/APKBUILD b/community/gnome-podcasts/APKBUILD
index 2701f09234661a718f15d068e55348ce4059d81d..80f582e99f8c6c725e1d583a3678915bb3b8b952 100644
--- a/community/gnome-podcasts/APKBUILD
+++ b/community/gnome-podcasts/APKBUILD
@@ -33,6 +33,8 @@ source="https://gitlab.gnome.org/World/podcasts/uploads/de438a4d62196bddd134bb15
 	meson-0.60.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/gnome-shortwave/APKBUILD b/community/gnome-shortwave/APKBUILD
index b1c549d2e18e9e3e7698a1174909b78934a0d47c..52b7e621397e934f284373620868937ece1c49d2 100644
--- a/community/gnome-shortwave/APKBUILD
+++ b/community/gnome-shortwave/APKBUILD
@@ -42,6 +42,8 @@ riscv64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson . output
 	meson compile ${JOBS:+-j ${JOBS}} -C output
diff --git a/community/gnome-tour/APKBUILD b/community/gnome-tour/APKBUILD
index 12147a5c149c2357333013bca790d6e966fa930c..8cc6e96da06f17bba8fc416d3555f03b0e001357 100644
--- a/community/gnome-tour/APKBUILD
+++ b/community/gnome-tour/APKBUILD
@@ -14,6 +14,8 @@ source="https://download.gnome.org/sources/gnome-tour/${pkgver%.*}/gnome-tour-$p
 
 [ "$CARCH" = "riscv64" ] && options="$options textrels"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson . output
 	meson compile ${JOBS:+-j ${JOBS}} -C output
diff --git a/community/greetd-tuigreet/APKBUILD b/community/greetd-tuigreet/APKBUILD
index d11a312b49bb07010bd156dccb5f923178f35a66..d22d5af49a728ef7cdc96984cda50c7f68779863 100644
--- a/community/greetd-tuigreet/APKBUILD
+++ b/community/greetd-tuigreet/APKBUILD
@@ -19,6 +19,7 @@ builddir="$srcdir/$_projname-$pkgver"
 options="!check"  # no tests provided
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/greetd/APKBUILD b/community/greetd/APKBUILD
index e14fa2da6028a099e7a5e3455d7bb3d520c852cf..586fc657314bde27715498ad5a9e332223d237c9 100644
--- a/community/greetd/APKBUILD
+++ b/community/greetd/APKBUILD
@@ -30,6 +30,7 @@ source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~kennylevinsen/greetd/archive
 	"
 
 export RUSTFLAGS="$RUSTFLAGS --remap-path-prefix=$builddir=/build/"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/handlr/APKBUILD b/community/handlr/APKBUILD
index e92262442c36bc3b14c069bde5de6f439cb3445b..093a527c6577af0ef7581511580d6641a8a3c944 100644
--- a/community/handlr/APKBUILD
+++ b/community/handlr/APKBUILD
@@ -15,6 +15,7 @@ source="https://github.com/chmln/handlr/archive/v$pkgver/handlr-$pkgver.tar.gz
 	"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/helix/APKBUILD b/community/helix/APKBUILD
index 94b5a30793fddee28990de78f057fc41da066bde..d0b475c95e3eeb8202c80f4c360a1d6fa4b4d7b2 100644
--- a/community/helix/APKBUILD
+++ b/community/helix/APKBUILD
@@ -25,6 +25,8 @@ source="https://github.com/helix-editor/helix/archive/$pkgver/helix-$pkgver.tar.
 # Don't build tree-sitter languages, we provide them in standalone aports.
 export HELIX_DISABLE_AUTO_GRAMMAR_BUILD=1
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/hexyl/APKBUILD b/community/hexyl/APKBUILD
index 63d92386fa8f5130dcfd1a4e05b732ce153746ca..9415715415f954894b0d2bc66da4ae21046c5afa 100644
--- a/community/hexyl/APKBUILD
+++ b/community/hexyl/APKBUILD
@@ -10,6 +10,8 @@ arch="all !s390x !riscv64" # blocked by rust/cargo
 makedepends="cargo"
 source="https://github.com/sharkdp/hexyl/archive/v$pkgver/hexyl-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/himalaya/APKBUILD b/community/himalaya/APKBUILD
index fbde036ab8b0fa8aacbbb376f83e9dfccf6f06c9..ddbe8a5d9092d886f72a09ad895b806a23e4137f 100644
--- a/community/himalaya/APKBUILD
+++ b/community/himalaya/APKBUILD
@@ -16,6 +16,8 @@ subpackages="
 	"
 source="https://github.com/soywod/himalaya/archive/v$pkgver/himalaya-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/hkdm/APKBUILD b/community/hkdm/APKBUILD
index 81562856a53731ee0120206b5205cbe93f6f8a36..a8bc97c97ac94e3ba0bac48e48453063e3bf7992 100644
--- a/community/hkdm/APKBUILD
+++ b/community/hkdm/APKBUILD
@@ -15,6 +15,8 @@ _cargo_opts="--frozen --no-default-features"
 
 [ "$CARCH" = "riscv64" ] && options="$options textrels"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/community/httm/APKBUILD b/community/httm/APKBUILD
index 93b5b98fd48ecc481e04853f015f07f05259c3d9..5d6d103df3b7fc96c95fd55ab9e505fb378041d1 100644
--- a/community/httm/APKBUILD
+++ b/community/httm/APKBUILD
@@ -14,6 +14,8 @@ subpackages="$pkgname-doc"
 source="https://github.com/kimono-koans/httm/archive/refs/tags/$pkgver/httm-$pkgver.tar.gz"
 options="!check"  # no tests provided
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/hyperfine/APKBUILD b/community/hyperfine/APKBUILD
index 1d0986698874a149b8bfbed8d74c449f1ca32973..9f9a94842b29b27cff4f947a3233e0c31961383b 100644
--- a/community/hyperfine/APKBUILD
+++ b/community/hyperfine/APKBUILD
@@ -17,6 +17,7 @@ subpackages="
 source="https://github.com/sharkdp/hyperfine/archive/v$pkgver/$pkgname-$pkgver.tar.gz"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/ikona/APKBUILD b/community/ikona/APKBUILD
index d080897c5f6d2bb3b79e6311e7ec2197e679e652..4587046cd0ace21662e465916fc8da1a64019d1d 100644
--- a/community/ikona/APKBUILD
+++ b/community/ikona/APKBUILD
@@ -31,6 +31,8 @@ subpackages="
 	"
 options="!check" # No tests
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cmake -B build -G Ninja \
 		-DCMAKE_BUILD_TYPE=RelWithDebInfo \
diff --git a/community/image-roll/APKBUILD b/community/image-roll/APKBUILD
index a0ea57835d65f1dc34a5a6c8d3e54ff400640a60..43a6cf8459a0ace32dac6dd80bc879552b4effb5 100644
--- a/community/image-roll/APKBUILD
+++ b/community/image-roll/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo gtk4.0-dev"
 source="https://github.com/weclaw1/image-roll/archive/$pkgver/image-roll-$pkgver.tar.gz"
 options="!check"  # no tests provided
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/ion-shell/APKBUILD b/community/ion-shell/APKBUILD
index 11bc90660f40c4f88bfbba5d3771859a46f07875..6747e0dee784a88279b5436baf06a2e176df9ee0 100644
--- a/community/ion-shell/APKBUILD
+++ b/community/ion-shell/APKBUILD
@@ -13,6 +13,8 @@ install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-deinstall"
 source="$pkgname-$_commit.tar.gz::https://gitlab.redox-os.org/redox-os/ion/-/archive/$_commit.tar.gz"
 builddir="$srcdir/ion-$_commit"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/community/jless/APKBUILD b/community/jless/APKBUILD
index 9e4ec63b2a9891b37534df96f215de2b235cd2e3..6012a713ce00943d8f9c61ba22a1a230e5376a55 100644
--- a/community/jless/APKBUILD
+++ b/community/jless/APKBUILD
@@ -13,6 +13,8 @@ license="MIT"
 makedepends="rust cargo python3 libxcb-dev"
 source="$pkgname-$pkgver.tar.gz::https://github.com/PaulJuliusMartinez/jless/archive/refs/tags/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/jql/APKBUILD b/community/jql/APKBUILD
index 88ff616ab469629b02f31bd95f733f6914e1af97..66574712f923e7d5ffaf1024267fc4e331418a8b 100644
--- a/community/jql/APKBUILD
+++ b/community/jql/APKBUILD
@@ -11,6 +11,8 @@ license="MIT"
 makedepends="cargo"
 source="https://github.com/yamafaktory/jql/archive/v$pkgver/jql-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/just/APKBUILD b/community/just/APKBUILD
index 9f70eac7c11718bdc5f102e3f397025ef6574a07..b5e8fc50b77fde29c0c235f9b499930ce94bad4f 100644
--- a/community/just/APKBUILD
+++ b/community/just/APKBUILD
@@ -20,6 +20,7 @@ subpackages="
 source="https://github.com/casey/just/archive/$pkgver/just-$pkgver.tar.gz"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/karlender/APKBUILD b/community/karlender/APKBUILD
index 8923f48f08fc6b62790ed85ca4ae017516a85dfc..b00c1febb07b187efbad92321572e6d6c6d31a10 100644
--- a/community/karlender/APKBUILD
+++ b/community/karlender/APKBUILD
@@ -20,6 +20,8 @@ source="https://gitlab.com/floers/karlender/-/archive/v$pkgver/karlender-v$pkgve
 options="!check"
 builddir="$srcdir/$pkgname-v$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/keepassxc-proxy-static/APKBUILD b/community/keepassxc-proxy-static/APKBUILD
index eb58f7816a3e8e11a8d0b5c104e92841a66a5a0c..d4f8ba29144adb727e9a44d2210911fe5f70f8c4 100644
--- a/community/keepassxc-proxy-static/APKBUILD
+++ b/community/keepassxc-proxy-static/APKBUILD
@@ -18,6 +18,7 @@ builddir="$srcdir/$_projname-$pkgver"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
 export RUSTFLAGS="$RUSTFLAGS -C target-feature=+crt-static"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/kibi/APKBUILD b/community/kibi/APKBUILD
index 1d0c68dd91f19ae499f3a68e491843945d378d9c..3982d126a30e329be64814811335416c10f99430 100644
--- a/community/kibi/APKBUILD
+++ b/community/kibi/APKBUILD
@@ -10,6 +10,8 @@ license="(Apache-2.0 OR MIT) AND BSD-2-Clause"
 makedepends="cargo"
 source="https://github.com/ilai-deutel/kibi/archive/v$pkgver/$pkgname-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/kmon/APKBUILD b/community/kmon/APKBUILD
index df0a9cae5451d21ae7fa469eebe318eaaff4ffec..e0c2e18a426c8177bf8215b0f45c282e64e6f40a 100644
--- a/community/kmon/APKBUILD
+++ b/community/kmon/APKBUILD
@@ -14,6 +14,8 @@ subpackages="$pkgname-doc
 	"
 source="$pkgname-$pkgver.tar.gz::https://github.com/orhun/kmon/archive/refs/tags/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/community/kooha/APKBUILD b/community/kooha/APKBUILD
index 08794f33cbf5fe2078b1ca8655a553ea6f889490..258fe8eddbabca6be7a7b5b7ce2b532ce256b323 100644
--- a/community/kooha/APKBUILD
+++ b/community/kooha/APKBUILD
@@ -41,6 +41,7 @@ source="https://github.com/SeaDve/Kooha/releases/download/v$pkgver/kooha-$pkgver
 
 # TODO: Find out why I didn't originally use panic=abort and if it's still relevant.
 export CARGO_PROFILE_RELEASE_PANIC="unwind"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/krapslog/APKBUILD b/community/krapslog/APKBUILD
index eebe585de7432539822971fbbbd29afdc2709f57..5d2d94bef0445b1dcb982461aaee217ff2dff31d 100644
--- a/community/krapslog/APKBUILD
+++ b/community/krapslog/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo"
 source="$pkgname-rs-$pkgver.tar.gz::https://github.com/acj/krapslog-rs/archive/$pkgver.tar.gz"
 builddir="$srcdir/$pkgname-rs-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/community/lfs/APKBUILD b/community/lfs/APKBUILD
index f31c58246a3a7dae2dbf8661281fa8e471817557..90fb6dcb5a974b35683ddee222031f94d90aca99 100644
--- a/community/lfs/APKBUILD
+++ b/community/lfs/APKBUILD
@@ -10,6 +10,8 @@ arch="all !s390x !riscv64" # blocked by rust/cargo
 makedepends="cargo"
 source="https://github.com/Canop/lfs/archive/v$pkgver/lfs-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/community/libimagequant/APKBUILD b/community/libimagequant/APKBUILD
index ad4c6bdee996befeef11f3b429a05d4fbcc3689a..b4d970e9102054b9ea350f699fefbf0626ed9010 100644
--- a/community/libimagequant/APKBUILD
+++ b/community/libimagequant/APKBUILD
@@ -25,6 +25,8 @@ x86)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/libopenraw/APKBUILD b/community/libopenraw/APKBUILD
index ad8ded2a4607ef01a3c9f0895e4563b6c6e69c83..123b6898fc58b33f4362b3aa0bba428b0820ae31 100644
--- a/community/libopenraw/APKBUILD
+++ b/community/libopenraw/APKBUILD
@@ -19,6 +19,8 @@ subpackages="$pkgname-dev"
 source="https://libopenraw.freedesktop.org/download/libopenraw-$pkgver.tar.bz2"
 options="net" # cargo fetch
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	update_config_sub
diff --git a/community/librsvg/APKBUILD b/community/librsvg/APKBUILD
index ac8c2f34aa0f05adb29af6417f11fb2a8ec84658..427321613f6f253201681b0561c99d5372273e47 100644
--- a/community/librsvg/APKBUILD
+++ b/community/librsvg/APKBUILD
@@ -51,6 +51,7 @@ fi
 #     - CVE-2019-20446
 
 export RUSTFLAGS="$RUSTFLAGS -C debuginfo=1"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/lightdm-mobile-greeter/APKBUILD b/community/lightdm-mobile-greeter/APKBUILD
index 0244044c7f2357384c38d6f8a4ea22d77f3f58ac..0ed682d2e38724b8e9657063f56fba7f606767bd 100644
--- a/community/lightdm-mobile-greeter/APKBUILD
+++ b/community/lightdm-mobile-greeter/APKBUILD
@@ -13,6 +13,8 @@ source="$pkgname-$pkgver-2.tar.gz::https://git.raatty.club/raatty/lightdm-mobile
 builddir="$srcdir/$pkgname"
 options="!check" # No tests
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/mandown/APKBUILD b/community/mandown/APKBUILD
index 91a2fec326a4a682b6f5a1fba834c3e482f65bf8..718b369812661d1d41fd9306333aec1da7ccc859 100644
--- a/community/mandown/APKBUILD
+++ b/community/mandown/APKBUILD
@@ -14,6 +14,8 @@ source="https://gitlab.com/kornelski/mandown/-/archive/$pkgver/mandown-$pkgver.t
 	"
 options="!check" # no test suite
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/maturin/APKBUILD b/community/maturin/APKBUILD
index 7fd14f5f002c40460958f7153e99083fbe3edc8e..d190929871be1030541ab3f5f89dd3fb6fd6fb9f 100644
--- a/community/maturin/APKBUILD
+++ b/community/maturin/APKBUILD
@@ -44,6 +44,8 @@ riscv64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/mcfly/APKBUILD b/community/mcfly/APKBUILD
index 9d45aed440b6713a6a511da90dbe721eb42f9111..3c84cf996d0d62e6744c6e908944c3382486f8f9 100644
--- a/community/mcfly/APKBUILD
+++ b/community/mcfly/APKBUILD
@@ -21,6 +21,7 @@ source="https://github.com/cantino/mcfly/archive/v$pkgver/mcfly-$pkgver.tar.gz
 
 # Reduce size of the mcfly binary.
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/mdbook/APKBUILD b/community/mdbook/APKBUILD
index 770b9508c1613ecdbfbd3ca93b0396ff328782e2..a29380b97765df01ebb0899cd1cf21451c576c45 100644
--- a/community/mdbook/APKBUILD
+++ b/community/mdbook/APKBUILD
@@ -15,6 +15,7 @@ subpackages="
 source="$pkgname-$pkgver.tar.gz::https://github.com/rust-lang/mdBook/archive/v$pkgver.tar.gz"
 builddir="$srcdir/mdBook-$pkgver"
 export CARGO_HOME="$srcdir"/cargo
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/meilisearch/APKBUILD b/community/meilisearch/APKBUILD
index ccb19d31124412b76ebbe8e7c6a27eb882fca595..636d355f8afc4db7f39999ef841143ef21fdb3ef 100644
--- a/community/meilisearch/APKBUILD
+++ b/community/meilisearch/APKBUILD
@@ -34,6 +34,8 @@ export CARGO_PROFILE_RELEASE_OPT_LEVEL=2
 # and specialized tokenizers (they are huge).
 _cargo_opts="--frozen --no-default-features"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/mercurial/APKBUILD b/community/mercurial/APKBUILD
index 40d97c5bfd05a9b6e9db4fabc1e9dee60779dbe7..b8dff9919496ba232a725bf6ff6624bc1ab18859 100644
--- a/community/mercurial/APKBUILD
+++ b/community/mercurial/APKBUILD
@@ -41,6 +41,8 @@ esac
 #   4.9-r0:
 #     - CVE-2019-3902
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	python3 setup.py build
 }
diff --git a/community/miniserve/APKBUILD b/community/miniserve/APKBUILD
index 11f5d4cd8a16da5e5d21bf3814df26ff648c93d2..fc0dd738c328d628e0bb4b1f89a9051335225566 100644
--- a/community/miniserve/APKBUILD
+++ b/community/miniserve/APKBUILD
@@ -25,6 +25,8 @@ x86*)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/monolith/APKBUILD b/community/monolith/APKBUILD
index b7b61d362f0b15fa82777570630a030d5978f70d..537f6ba7257b6bb8412ca9842642ec01b302dfaf 100644
--- a/community/monolith/APKBUILD
+++ b/community/monolith/APKBUILD
@@ -14,6 +14,8 @@ makedepends="
 	"
 source="https://github.com/Y2Z/monolith/archive/v$pkgver/monolith-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/mozjs102/APKBUILD b/community/mozjs102/APKBUILD
index 607b67fd651747002ae85fee56ede12456efaecd..1580de0aaa189c865a7efc775bd081eb8b519460 100644
--- a/community/mozjs102/APKBUILD
+++ b/community/mozjs102/APKBUILD
@@ -47,6 +47,8 @@ riscv64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	mkdir "$srcdir/mozbuild"
diff --git a/community/mprocs/APKBUILD b/community/mprocs/APKBUILD
index a5a34a5e58fa0c7a883f7bfd2966077edbb98ba6..387fda8801bb12815994e4cb7de922e9017ffa1f 100644
--- a/community/mprocs/APKBUILD
+++ b/community/mprocs/APKBUILD
@@ -11,6 +11,7 @@ makedepends="cargo"
 source="https://github.com/pvolok/mprocs/archive/v$pkgver/mprocs-$pkgver.tar.gz"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/mqttui/APKBUILD b/community/mqttui/APKBUILD
index d40c9441b448d9626956c4362c13f1a9c7ec72c4..be3cebd9e7ad6691ecaf1336fef5970fd516a2c2 100644
--- a/community/mqttui/APKBUILD
+++ b/community/mqttui/APKBUILD
@@ -17,6 +17,8 @@ subpackages="
 	"
 source="https://github.com/EdJoPaTo/mqttui/archive/v$pkgver/mqttui-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/ncspot/APKBUILD b/community/ncspot/APKBUILD
index e5e0e1094f87c71fd6c8d06826e1f2108c6e0fbf..0ac0a408339a942cea6c62762f620700d91f5b0c 100644
--- a/community/ncspot/APKBUILD
+++ b/community/ncspot/APKBUILD
@@ -25,6 +25,8 @@ options="!check"  # there's only one unit test (in v0.8.1)
 
 _cargo_opts='--frozen --features cover,share_selection'
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/netavark/APKBUILD b/community/netavark/APKBUILD
index d8db361abff362797a8874fa225e1aaba09bd26d..13a4d8c4c28d784a9eea500de714ab1c6b6c7c5f 100644
--- a/community/netavark/APKBUILD
+++ b/community/netavark/APKBUILD
@@ -15,6 +15,8 @@ subpackages="$pkgname-doc"
 source="https://github.com/containers/netavark/archive/v$pkgver/netavark-$pkgver.tar.gz"
 options="net"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	make
 
diff --git a/community/newsboat/APKBUILD b/community/newsboat/APKBUILD
index 41d3b2654a4714894a9429762d3aabaa1861d4c2..4d349db281cf0f055a8c25822aa15ed88bf95acf 100644
--- a/community/newsboat/APKBUILD
+++ b/community/newsboat/APKBUILD
@@ -21,6 +21,8 @@ source="
 #   2.30.1-r0:
 #     - CVE-2020-26235
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	./config.sh
 	echo "LDFLAGS+= -lintl" >> config.mk
diff --git a/community/newsflash/APKBUILD b/community/newsflash/APKBUILD
index e36c03e742cb22d05db6dfc8d768f369d8bf317b..a05925112aa776ecd071ffd5c80f333f0fb64531 100644
--- a/community/newsflash/APKBUILD
+++ b/community/newsflash/APKBUILD
@@ -21,6 +21,8 @@ source="https://gitlab.com/news-flash/news_flash_gtk/-/archive/v.$pkgver/news_fl
 options="net !check" # no tests
 builddir="$srcdir/news_flash_gtk-v.$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson . output
 	meson compile -j 1 -C output
diff --git a/community/obfuscate/APKBUILD b/community/obfuscate/APKBUILD
index cd4b0e763d7be8afa6fbaf90e506c519be026cff..5ffc23790e0ad45b14256d411d80d9ad6f57ec69 100644
--- a/community/obfuscate/APKBUILD
+++ b/community/obfuscate/APKBUILD
@@ -16,6 +16,8 @@ source="https://gitlab.gnome.org/World/obfuscate/uploads/$_pkgurl/obfuscate-$pkg
 provides="gnome-obfuscate=$pkgver-r$pkgrel"
 replaces="gnome-obfuscate"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson . output
 	meson compile ${JOBS:+-j ${JOBS}} -C output
diff --git a/community/onefetch/APKBUILD b/community/onefetch/APKBUILD
index b8bb0cc7fd0bb4473411257f9ec2df3d82003c69..036df1cd9680aa72d18e0ecf8f8ad41d07e3f133 100644
--- a/community/onefetch/APKBUILD
+++ b/community/onefetch/APKBUILD
@@ -19,6 +19,7 @@ source="$pkgname-$pkgver.tar.gz::https://crates.io/api/v1/crates/onefetch/$pkgve
 
 # Reduce binary size
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/oxipng/APKBUILD b/community/oxipng/APKBUILD
index 2f37fb95caeb8694040d21399b12b1ae24eb7386..e81c84eeb22ed488c9f3f599ee2bed8f209b6d77 100644
--- a/community/oxipng/APKBUILD
+++ b/community/oxipng/APKBUILD
@@ -10,6 +10,8 @@ license="MIT"
 makedepends="cargo"
 source="https://github.com/shssoichiro/oxipng/archive/v$pkgver/oxipng-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/peep/APKBUILD b/community/peep/APKBUILD
index 2c128d62b4163b1370d1775d78a7d870fded5cf2..601ad98c06e3bf6e9eefe035941b93560706973c 100644
--- a/community/peep/APKBUILD
+++ b/community/peep/APKBUILD
@@ -17,6 +17,7 @@ source="https://github.com/ryochack/peep/archive/$_gitrev/peep-$_gitrev.tar.gz
 builddir="$srcdir/$pkgname-$_gitrev"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/piow/APKBUILD b/community/piow/APKBUILD
index 941587e0da9e0038165788a74dfc9ab008a11a38..aa7a1be32800727c2f5fb8b1c43f39d5dc9f4f9c 100644
--- a/community/piow/APKBUILD
+++ b/community/piow/APKBUILD
@@ -15,6 +15,7 @@ source="https://github.com/KuabeM/piow/archive/v$pkgver/piow-$pkgver.tar.gz
 options="!check"  # no tests provided
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/pipr/APKBUILD b/community/pipr/APKBUILD
index 2671f6ec93d39e44ce5682c7f81f64c8fc503e7f..b2a7c1e33fd0476f61a0cbb9f5bfcf82dbe9696e 100644
--- a/community/pipr/APKBUILD
+++ b/community/pipr/APKBUILD
@@ -17,6 +17,7 @@ source="https://github.com/elkowar/pipr/archive/v$pkgver/pipr-$pkgver.tar.gz
 	"
 
 export RUSTONIG_DYNAMIC_LIBONIG=1  # use system libonig
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/pngquant/APKBUILD b/community/pngquant/APKBUILD
index 4474bf48c9a5e444d28aa21c5eafa6a72149fd03..dc878d1dc01fcc849d21b54c7fb3e6279b08fad7 100644
--- a/community/pngquant/APKBUILD
+++ b/community/pngquant/APKBUILD
@@ -20,6 +20,8 @@ source="https://github.com/kornelski/pngquant/archive/$pkgver/pngquant-$pkgver.t
 	"
 options="!check" # seems to not have any runnable anymore
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	rmdir lib
diff --git a/community/procs/APKBUILD b/community/procs/APKBUILD
index 4044f57dd15542ddde7d4e81fed6de47c90d6b51..d9ed2c037418481dcfac87b921065a3bba0a4511 100644
--- a/community/procs/APKBUILD
+++ b/community/procs/APKBUILD
@@ -16,6 +16,7 @@ subpackages="
 source="procs-$pkgver.tar.gz::https://github.com/dalance/procs/archive/v$pkgver.tar.gz"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/prometheus-wireguard-exporter/APKBUILD b/community/prometheus-wireguard-exporter/APKBUILD
index 02208e8289be6faef46ba7f8636fe76b08ae4110..322246518b5c8ec7563b9c61b57971316c1d0689 100644
--- a/community/prometheus-wireguard-exporter/APKBUILD
+++ b/community/prometheus-wireguard-exporter/APKBUILD
@@ -18,6 +18,8 @@ source="https://github.com/MindFlavor/prometheus_wireguard_exporter/archive/$pkg
 options="net"
 builddir="$srcdir"/prometheus_wireguard_exporter-"$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/pueue/APKBUILD b/community/pueue/APKBUILD
index 12c169e86ca68fb9683a8847247f214af33ed678..0d482b0714f3cefb75728c8bde9ff7828a42de28 100644
--- a/community/pueue/APKBUILD
+++ b/community/pueue/APKBUILD
@@ -18,6 +18,8 @@ subpackages="
 source="https://github.com/Nukesor/pueue/archive/v$pkgver/$pkgname-$pkgver.tar.gz"
 options="net"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/purism-ectool/APKBUILD b/community/purism-ectool/APKBUILD
index de80943bef087de1d7cb862ba5f59bb41e004563..cdcd03e45bb04800d4d9e55e8e471e10430efe01 100644
--- a/community/purism-ectool/APKBUILD
+++ b/community/purism-ectool/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo eudev-dev linux-headers"
 source="https://source.puri.sm/firmware/librem-ec/-/archive/$pkgver/librem-ec-$pkgver.tar.gz"
 builddir="$srcdir/librem-ec-$pkgver/tool"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/py3-adblock/APKBUILD b/community/py3-adblock/APKBUILD
index b4132ed60b206b6f8a0a1998ee6e23855e365c49..717bd04d44955b957d03ce15158ef30e504dbee3 100644
--- a/community/py3-adblock/APKBUILD
+++ b/community/py3-adblock/APKBUILD
@@ -26,6 +26,7 @@ builddir="$srcdir/$_pkgname-$pkgver"
 
 export CARGO_PROFILE_RELEASE_DEBUG=0
 export CARGO_HOME="$srcdir/cargo"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 build() {
 	maturin build --release --strip --manylinux off \
diff --git a/community/py3-orjson/APKBUILD b/community/py3-orjson/APKBUILD
index e696f7c94485fc480e190d6ed24b3c10627896e1..658a3d9f3a21ab71dff628fe85339dd3b8f79a19 100644
--- a/community/py3-orjson/APKBUILD
+++ b/community/py3-orjson/APKBUILD
@@ -24,6 +24,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/ijl/orjson/archive/refs/tags
 builddir="$srcdir/orjson-$pkgver"
 options="net"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	gpep517 build-wheel \
 		--wheel-dir dist \
diff --git a/community/py3-setuptools-rust/APKBUILD b/community/py3-setuptools-rust/APKBUILD
index 0074770e798924cb4cdda1335ac180df6b3a9141..95f78b82db7811da14bad98ac6672a6807c58ec1 100644
--- a/community/py3-setuptools-rust/APKBUILD
+++ b/community/py3-setuptools-rust/APKBUILD
@@ -16,6 +16,7 @@ builddir="$srcdir/setuptools-rust-$pkgver"
 options="net" # check needs network access, no easy patch
 
 export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 build() {
 	python3 setup.py build
diff --git a/community/py3-watchfiles/APKBUILD b/community/py3-watchfiles/APKBUILD
index 65203ed111e78e8fabd299445e7302ba62206ac1..4c8f770266ffd86e8e55cc69dfe6a9c5a6edf9d0 100644
--- a/community/py3-watchfiles/APKBUILD
+++ b/community/py3-watchfiles/APKBUILD
@@ -13,6 +13,8 @@ checkdepends="py3-pytest py3-pytest-asyncio py3-pytest-mock py3-pytest-toolbox p
 source="$pkgname-v$pkgver.tar.gz::https://github.com/samuelcolvin/watchfiles/archive/refs/tags/v$pkgver.tar.gz"
 builddir="$srcdir/watchfiles-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/rbspy/APKBUILD b/community/rbspy/APKBUILD
index 931a1ac05d0ab6c0d047b008c3e1c627aacdabb2..a6d6f8c9d26e2f3b460acb5e3635135368fc3d47 100644
--- a/community/rbspy/APKBUILD
+++ b/community/rbspy/APKBUILD
@@ -12,6 +12,8 @@ checkdepends="ruby"
 options="net"
 source="$pkgname-$pkgver.tar.gz::https://github.com/rbspy/rbspy/archive/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/community/rebuilderd/APKBUILD b/community/rebuilderd/APKBUILD
index 55f98c7172327d9bf23c1360dc514c5c4cbf719b..82b3c514256848c666fd6945c7b04b4d57e1a059 100644
--- a/community/rebuilderd/APKBUILD
+++ b/community/rebuilderd/APKBUILD
@@ -36,6 +36,8 @@ source="
 	rebuilderd-sync.cron
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/ripgrep/APKBUILD b/community/ripgrep/APKBUILD
index 6e58000a7dd1538df40da7d7ca84b6cc9df05c60..4fcecca9dfaffa8ef70d4b5b567c5717120a56f3 100644
--- a/community/ripgrep/APKBUILD
+++ b/community/ripgrep/APKBUILD
@@ -18,6 +18,7 @@ source="https://github.com/BurntSushi/ripgrep/archive/$pkgver/ripgrep-$pkgver.ta
 
 export PCRE2_SYS_STATIC=0  # use system libpcre2
 export JEMALLOC_SYS_WITH_LG_PAGE=16 # 2**16 = 64k
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 build() {
 	cargo build --release --locked --features 'pcre2'
diff --git a/community/rust-analyzer/APKBUILD b/community/rust-analyzer/APKBUILD
index e48de58f0e6c81d8f356a5721719b9d72434e0ec..0991c37bdc9ac97f0e3c7c15c95955de84802b92 100644
--- a/community/rust-analyzer/APKBUILD
+++ b/community/rust-analyzer/APKBUILD
@@ -22,6 +22,8 @@ options="net !check"
 # crashes otherwise
 unset CARGO_PROFILE_RELEASE_PANIC
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/rustup/APKBUILD b/community/rustup/APKBUILD
index 3a4200a51a8e00e137320e4d6ac129be4e8a43b2..f1c35c5deff215292ed37f0f58e5ba1a3312f6fb 100644
--- a/community/rustup/APKBUILD
+++ b/community/rustup/APKBUILD
@@ -29,6 +29,7 @@ source="
 
 # It doesn't like our custom triplet
 export RUSTUP_OVERRIDE_BUILD_TRIPLE="$CARCH-unknown-linux-musl"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/sad/APKBUILD b/community/sad/APKBUILD
index 8711d96f268e8c3c606af4a3e97f63afec897789..c24f44956409e3eb3256ea1a607c3279b5fe4257 100644
--- a/community/sad/APKBUILD
+++ b/community/sad/APKBUILD
@@ -10,6 +10,8 @@ license="MIT"
 makedepends="cargo"
 source="https://github.com/ms-jpq/sad/archive/v$pkgver/sad-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/sccache/APKBUILD b/community/sccache/APKBUILD
index b30398cc488bd0c11b1c8d2d505d04f94b62d424..634324f1b62be3f2cb99b409b14bc70b411cd28f 100644
--- a/community/sccache/APKBUILD
+++ b/community/sccache/APKBUILD
@@ -27,6 +27,8 @@ x86_64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/community/sheldon/APKBUILD b/community/sheldon/APKBUILD
index 4a309799059cd37ff3c93ffcc93d9701f6bca926..ec93b73f0d7b277f4297cb2504a9c452e7a5e7d9 100644
--- a/community/sheldon/APKBUILD
+++ b/community/sheldon/APKBUILD
@@ -23,6 +23,7 @@ source="https://github.com/rossmacarthur/sheldon/archive/$pkgver/sheldon-$pkgver
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
 
 export LIBSSH2_SYS_USE_PKG_CONFIG=1  # use system libssh2
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/skim/APKBUILD b/community/skim/APKBUILD
index fe1c04f7ecbea27915c03f7811da6a690dfa1cb9..c715a4c8fd65dbcf0a87a4e7aa11e0729e8bdca1 100644
--- a/community/skim/APKBUILD
+++ b/community/skim/APKBUILD
@@ -30,6 +30,8 @@ case "$CARCH" in
 	armhf | armv7 | x86) options="!check";;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/sn0int/APKBUILD b/community/sn0int/APKBUILD
index cc2d8fd0755b4de6c6b4f2045de48c1eadf9f814..1ff010b79642d569604671e5deecd2bb1f7fa6de 100644
--- a/community/sn0int/APKBUILD
+++ b/community/sn0int/APKBUILD
@@ -26,6 +26,8 @@ subpackages="$pkgname-doc
 options="net"
 source="$pkgname-$pkgver.tar.gz::https://github.com/kpcyrd/sn0int/archive/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 
diff --git a/community/sniffglue/APKBUILD b/community/sniffglue/APKBUILD
index 12dbab047c1c9379a16709452c4d3e58d9243412..274cad76a19d251e29419f689e7338921044d3d2 100644
--- a/community/sniffglue/APKBUILD
+++ b/community/sniffglue/APKBUILD
@@ -21,6 +21,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/kpcyrd/sniffglue/archive/v$p
 	sniffglue.conf
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 	make docs
diff --git a/community/songrec/APKBUILD b/community/songrec/APKBUILD
index cac0bfc3136bb1f068ce63c30045611a0135efd1..c21a97ef7006fbb1fd18620494a9d54d52135b90 100644
--- a/community/songrec/APKBUILD
+++ b/community/songrec/APKBUILD
@@ -24,6 +24,8 @@ source="https://github.com/marin-m/songrec/archive/$pkgver/songrec-$pkgver.tar.g
 options="net !check"
 builddir="$srcdir/SongRec-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/community/spot/APKBUILD b/community/spot/APKBUILD
index 9524e4ce69ef034eacf72db2064fab684bf2799d..95d1ba06ac0dddb314a9033b9917492f039df67e 100644
--- a/community/spot/APKBUILD
+++ b/community/spot/APKBUILD
@@ -28,6 +28,8 @@ source="https://github.com/xou816/spot/archive/$pkgver/spot-$pkgver.tar.gz
 	"
 options="net" # cargo fetch
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	# NOTE: buildtype must be release!
 	abuild-meson \
diff --git a/community/squeekboard/APKBUILD b/community/squeekboard/APKBUILD
index 871738f75680b89ab09e7ba784b0cf8a2e8f5fff..e87c1b3b609415ab8d3a504c6855bb2c3e8099e0 100644
--- a/community/squeekboard/APKBUILD
+++ b/community/squeekboard/APKBUILD
@@ -29,6 +29,8 @@ subpackages="$pkgname-lang"
 source="https://gitlab.gnome.org/World/Phosh/squeekboard/-/archive/v$pkgver/squeekboard-v$pkgver.tar.gz"
 builddir="$srcdir/$pkgname-v$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson -Dstrict=false . output
 	meson compile ${JOBS:+-j ${JOBS}} -C output
diff --git a/community/stargazer-gmi/APKBUILD b/community/stargazer-gmi/APKBUILD
index d2af8be22669ab3e1eceb528c0ada7de23fd30ca..ffbd00e73e379ddc079319be7fad316ab2f0fb58 100644
--- a/community/stargazer-gmi/APKBUILD
+++ b/community/stargazer-gmi/APKBUILD
@@ -19,6 +19,8 @@ source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~zethra/stargazer/archive/$pk
 builddir="$srcdir/stargazer-$pkgver"
 options="!check" # connection refused to localhost
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	./scripts/build
 }
diff --git a/community/starship/APKBUILD b/community/starship/APKBUILD
index b3cb8244c17effa39c3f83ec941c84d07425fa2c..95ffd4a697eff3555c65eae99c478b6b3ba72f60 100644
--- a/community/starship/APKBUILD
+++ b/community/starship/APKBUILD
@@ -30,6 +30,8 @@ options="net" # fetching dependencies
 # http feature is used just for reporting bugs
 _cargo_opts="--frozen --no-default-features --features notify"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	cargo fetch --target="$CTARGET" --locked
 
diff --git a/community/stylua/APKBUILD b/community/stylua/APKBUILD
index d4aee5e026ec6c0143512341eb453173c69093fb..2ae22d4c3d0e3cd6dde21da6f8f98d8d1e8c2d2d 100644
--- a/community/stylua/APKBUILD
+++ b/community/stylua/APKBUILD
@@ -13,6 +13,8 @@ builddir="$srcdir/StyLua-$pkgver"
 
 _features="--no-default-features --features lua54,strum,serialize"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/community/suricata/APKBUILD b/community/suricata/APKBUILD
index 117f369931b91d5ae196567aa489adf918cfd3f3..7f9dc613d259d91cc8cd28b27882534ff97d37ab 100644
--- a/community/suricata/APKBUILD
+++ b/community/suricata/APKBUILD
@@ -63,6 +63,8 @@ case "$CARCH" in
 		makedepends="$makedepends vectorscan-dev" ;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	autoreconf -vif
diff --git a/community/swayr/APKBUILD b/community/swayr/APKBUILD
index d2cc1f337672c6fbc89c96535466ea21acb35df5..d21d75fe56f71702c9da1189f7fdc7a53c7dc3f9 100644
--- a/community/swayr/APKBUILD
+++ b/community/swayr/APKBUILD
@@ -22,6 +22,7 @@ esac
 #     - CVE-2022-24713
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/swayrbar/APKBUILD b/community/swayrbar/APKBUILD
index 9b630100010da5b200d90bf08727e439f32bfc08..49a81391fa0d302099520555bc6a4ded04f34309 100644
--- a/community/swayrbar/APKBUILD
+++ b/community/swayrbar/APKBUILD
@@ -12,6 +12,7 @@ source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~tsdh/swayr/archive/swayrbar-
 builddir="$srcdir/swayr-swayrbar-$pkgver"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/taplo/APKBUILD b/community/taplo/APKBUILD
index c1e7e4134e2b8699c5df6ad48ccb8abb3348fb9b..b747bb8b8a37251f688351013ea3231b9a346552 100644
--- a/community/taplo/APKBUILD
+++ b/community/taplo/APKBUILD
@@ -20,6 +20,8 @@ export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
 
 _cargo_opts="--frozen --no-default-features --features native-tls"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/tau/APKBUILD b/community/tau/APKBUILD
index bf416b8cf85d7749bb6a08f7ab3d7c5f152834bf..e8941a037305d8df80a5e20e909e53f2deff22d5 100644
--- a/community/tau/APKBUILD
+++ b/community/tau/APKBUILD
@@ -30,6 +30,8 @@ source="https://gitlab.gnome.org/World/Tau/uploads/$_sha/tau-$pkgver.tar.xz
 	meson-0.60.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson . output
 	meson compile ${JOBS:+-j ${JOBS}} -C output
diff --git a/community/tectonic/APKBUILD b/community/tectonic/APKBUILD
index 91640bbc84acd1c09f890f0890ee48730bffece8..1048955036868a27515b8a4d199996c7644e326f 100644
--- a/community/tectonic/APKBUILD
+++ b/community/tectonic/APKBUILD
@@ -23,6 +23,8 @@ source="
 builddir="$srcdir/tectonic-tectonic-$pkgver"
 options="!check" # needs unpackages ubuntu mono font
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/thin-provisioning-tools/APKBUILD b/community/thin-provisioning-tools/APKBUILD
index 60ed31109e0ce9d9065c759505263196fd0563f0..2c78b811ab02ae6a855deaad7cae425d63ccd854 100644
--- a/community/thin-provisioning-tools/APKBUILD
+++ b/community/thin-provisioning-tools/APKBUILD
@@ -23,6 +23,8 @@ riscv64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/thunderbird/APKBUILD b/community/thunderbird/APKBUILD
index 2e4cf45627ed5e56bb63302fceef2f6eba0694f5..e511798e231faf2517f23a7f2d4ef6b5d17a61c9 100644
--- a/community/thunderbird/APKBUILD
+++ b/community/thunderbird/APKBUILD
@@ -335,6 +335,8 @@ sonameprefix="$pkgname:"
 # we need this because cargo verifies checksums of all files in vendor
 # crates when it builds and gives us no way to override or update the
 # file sanely... so just clear out the file list
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 _clear_vendor_checksums() {
 	sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/$1/.cargo-checksum.json
 }
diff --git a/community/tokei/APKBUILD b/community/tokei/APKBUILD
index 4f8ab9a5546622b6970cbcd5defe24b17d969da0..4aa22d4bad0708da3cd67949362f80ff725a904e 100644
--- a/community/tokei/APKBUILD
+++ b/community/tokei/APKBUILD
@@ -12,6 +12,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/XAMPPRocky/tokei/archive/v$p
 	minimize-size.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked --features all
 }
diff --git a/community/tree-sitter/APKBUILD b/community/tree-sitter/APKBUILD
index 9a68e88fdb530d4817cdc1e4d1f4467dc1b71c7f..ebca90804653ef5f054e890dfa4ffe50f0cdf3d1 100644
--- a/community/tree-sitter/APKBUILD
+++ b/community/tree-sitter/APKBUILD
@@ -37,6 +37,8 @@ case "$CARCH" in
 	aarch64 | arm* | ppc64le) options="!check";;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/tuc/APKBUILD b/community/tuc/APKBUILD
index aba7b0a121f53fdf3ca0353c440204e785dc066a..def28d7ffb652dc0bb6a5fd053e441b5b0c83d48 100644
--- a/community/tuc/APKBUILD
+++ b/community/tuc/APKBUILD
@@ -10,6 +10,8 @@ arch="all !s390x !riscv64" # blocked by rust/cargo
 makedepends="cargo"
 source="https://github.com/riquito/tuc/archive/v$pkgver/tuc-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/viu/APKBUILD b/community/viu/APKBUILD
index 596bda820f4ea7ea0d5cac0b486ecb108e0168a5..a9efa9bcf796694ff63fdcebb7a41721bcc34a7b 100644
--- a/community/viu/APKBUILD
+++ b/community/viu/APKBUILD
@@ -10,6 +10,8 @@ makedepends="cargo"
 subpackages="$pkgname-doc"
 source="$pkgname-$pkgver.tar.gz::https://github.com/atanunq/viu/archive/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/community/warp/APKBUILD b/community/warp/APKBUILD
index 15bb12242f6dbeea693e3e036c44035c350f8428..4a56ee83dec6db8433d6d1f01ac966078979020e 100644
--- a/community/warp/APKBUILD
+++ b/community/warp/APKBUILD
@@ -22,6 +22,8 @@ source="https://gitlab.gnome.org/World/warp/-/archive/v$pkgver/warp-v$pkgver.tar
 builddir="$srcdir/warp-v$pkgver"
 options="!check" # no tests
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson \
 		-Db_lto=true \
diff --git a/community/wasm-pack/APKBUILD b/community/wasm-pack/APKBUILD
index aeb0c7c0e1ef6d32ebeab011eb2e138728fff51b..b1b540019a962f2a613a789bccdac4029db91173 100644
--- a/community/wasm-pack/APKBUILD
+++ b/community/wasm-pack/APKBUILD
@@ -16,6 +16,7 @@ source="https://github.com/rustwasm/wasm-pack/archive/refs/tags/v$pkgver/wasm-pa
 options="!check" # most tests fail outside of x86_64
 
 export OPENSSL_NO_VENDOR=1
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/wayshot/APKBUILD b/community/wayshot/APKBUILD
index 97d29b649d845edc218a9f3b820ea93fdeecedde..e80d43afdebbcb9ba08051aac239419eaaded2be 100644
--- a/community/wayshot/APKBUILD
+++ b/community/wayshot/APKBUILD
@@ -14,6 +14,8 @@ makedepends="cargo"
 source="https://github.com/waycrate/wayshot/archive/$pkgver/wayshot-$pkgver.tar.gz"
 options="!check"  # no tests provided
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/websocat/APKBUILD b/community/websocat/APKBUILD
index bbf335575e7c718c4763f4baa1122c6e106d8962..81618ddb01a279b9927306dde9618c80009c1eec 100644
--- a/community/websocat/APKBUILD
+++ b/community/websocat/APKBUILD
@@ -10,6 +10,8 @@ makedepends="cargo openssl-dev>3"
 options="net"
 source="https://github.com/vi/websocat/archive/v$pkgver/websocat-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/community/wezterm/APKBUILD b/community/wezterm/APKBUILD
index aea77e9d8eb143e7e781ef5bc49e2bfccd7a1fdb..8fff63a5c8b710ecd5f503180bb0c4bca542a783 100644
--- a/community/wezterm/APKBUILD
+++ b/community/wezterm/APKBUILD
@@ -66,6 +66,7 @@ source="
 builddir="$srcdir/wezterm-$_pkgver"
 
 export LIBSSH2_SYS_USE_PKG_CONFIG=1  # use system libssh2
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	cargo fetch --target="$CTARGET" --locked
diff --git a/community/wldash/APKBUILD b/community/wldash/APKBUILD
index 0cf6ecbfc278b53e76a24031f8ab437e2da20e32..591b3ef2b34c8c0e19cfe176642bfef1e1cac1e2 100644
--- a/community/wldash/APKBUILD
+++ b/community/wldash/APKBUILD
@@ -24,6 +24,8 @@ source="https://github.com/kennylevinsen/wldash/archive/v$pkgver/$pkgname-$pkgve
 	"
 options="!check"  # there are currently no tests
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/wluma/APKBUILD b/community/wluma/APKBUILD
index f449cb60d766bf5eec627d356bcedff3ac2a427a..b43c57c87f3eb99e37f654fba30a2336b9ab205a 100644
--- a/community/wluma/APKBUILD
+++ b/community/wluma/APKBUILD
@@ -31,6 +31,8 @@ source="https://github.com/maximbaz/wluma/archive/$pkgver/wluma-$pkgver.tar.gz
 	libv4l-rs-02-fix-wrong-_IOC_TYPE-on-musl.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	mv ../libv4l-rs-$_libv4l_gitrev "$builddir"/libv4l-rs
 
diff --git a/community/xh/APKBUILD b/community/xh/APKBUILD
index be82598eb57dd8a16282f62e5438456c9381c75b..c356b77a7258d698ebe3e3d1c5d85cc1062eeb84 100644
--- a/community/xh/APKBUILD
+++ b/community/xh/APKBUILD
@@ -28,6 +28,8 @@ export RUSTONIG_DYNAMIC_LIBONIG=1
 
 _cargo_opts="--frozen --no-default-features --features native-tls"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/xsv/APKBUILD b/community/xsv/APKBUILD
index d8d6f4398d44e2c390099776c66102ea3220ec36..ebc8b0c3be314b561dae5a258d1ae87a81ed6ad2 100644
--- a/community/xsv/APKBUILD
+++ b/community/xsv/APKBUILD
@@ -13,6 +13,7 @@ makedepends="cargo"
 source="https://github.com/BurntSushi/xsv/archive/$pkgver/$pkgname-$pkgver.tar.gz"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL=2
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/yj/APKBUILD b/community/yj/APKBUILD
index 7d16d7a70e134f3d991570b7243629191bc11411..0e15d3f347225cfd6e35a9bfb5fbe05a8fff2560 100644
--- a/community/yj/APKBUILD
+++ b/community/yj/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo"
 source="https://github.com/bruceadams/yj/archive/v$pkgver/yj-$pkgver.tar.gz"
 options="!check"  # no tests provided
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/yofi/APKBUILD b/community/yofi/APKBUILD
index 56aa602aaecd51aca3ad5a6bf353de598ff77409..7c6964399d11bb6c969952cf395fd424755f0bb8 100644
--- a/community/yofi/APKBUILD
+++ b/community/yofi/APKBUILD
@@ -22,6 +22,8 @@ source="https://github.com/l4l/yofi/archive/$pkgver/yofi-$pkgver.tar.gz
 # font-fontkit loads fonts via system libraries.
 _cargo_opts="--frozen --no-default-features --features=font-fontkit"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	cargo fetch --target="$CTARGET" --locked
 	default_prepare
diff --git a/community/zellij/APKBUILD b/community/zellij/APKBUILD
index ee041074ad5bdd678dae459dad1a33050aeb20cd..579767de40cabc8f10371f9d0242f8434b84ac61 100644
--- a/community/zellij/APKBUILD
+++ b/community/zellij/APKBUILD
@@ -35,6 +35,8 @@ aarch64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/zenith/APKBUILD b/community/zenith/APKBUILD
index 14f28dd0616e7b530941ad936baf5ffc6ed4e107..79092755ddf4325ac9be2a084171cc7be296e922 100644
--- a/community/zenith/APKBUILD
+++ b/community/zenith/APKBUILD
@@ -18,6 +18,8 @@ makedepends="
 source="https://github.com/bvaisvil/zenith/archive/$pkgver/zenith-$pkgver.tar.gz"
 options="!check"  # no tests provided
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/community/zerotier-one/APKBUILD b/community/zerotier-one/APKBUILD
index b27bfcbfd23f145fedc93b8ea15b4b2c9d913814..066ce7184a34e97f1bd64e9633aa5e62d5ba0376 100644
--- a/community/zerotier-one/APKBUILD
+++ b/community/zerotier-one/APKBUILD
@@ -14,6 +14,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/zerotier/ZeroTierOne/archive
 	"
 builddir="$srcdir"/ZeroTierOne-$pkgver
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	make
 }
diff --git a/community/zola/APKBUILD b/community/zola/APKBUILD
index a85f9633ca8beddd2a1db06184c74f8d732ead94..09de5bb87bb823ed5484282ca9c72226291e9129 100644
--- a/community/zola/APKBUILD
+++ b/community/zola/APKBUILD
@@ -26,6 +26,7 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/getzola/zola/archive/v$pkgve
 options="net" # fetch dependencies
 
 export RUSTONIG_SYSTEM_LIBONIG=1 # Link against system liboniguruma
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/community/zoxide/APKBUILD b/community/zoxide/APKBUILD
index f63bb9df9611287fbe546932a777e06a0f3f391b..a3a21eb8eecc0de3b594f299b6d377ff53f33668 100644
--- a/community/zoxide/APKBUILD
+++ b/community/zoxide/APKBUILD
@@ -24,6 +24,8 @@ export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
 
 [ "$CARCH" = "riscv64" ] && options="$options textrels"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/acmed/APKBUILD b/testing/acmed/APKBUILD
index 60fc0e35324e75ded94c5ab491bd85df3f864c4c..991636e76c16ff283b61165d50dacffd99d1b068 100644
--- a/testing/acmed/APKBUILD
+++ b/testing/acmed/APKBUILD
@@ -19,6 +19,8 @@ source="https://github.com/breard-r/acmed/archive/refs/tags/v$pkgver/acmed-$pkgv
 	acmed.initd
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	mv "$srcdir"/Cargo.lock .
diff --git a/testing/android-apkeep/APKBUILD b/testing/android-apkeep/APKBUILD
index 5e5558526269bc99e85f85e8098413cca5cdea2a..33a720491b9270c31a60e4459f0fc30c29de1446 100644
--- a/testing/android-apkeep/APKBUILD
+++ b/testing/android-apkeep/APKBUILD
@@ -18,6 +18,8 @@ source="https://github.com/EFForg/apkeep/archive/refs/tags/$pkgver/apkeep-$pkgve
 options="!check"	# no tests
 builddir="$srcdir/apkeep-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/apmpkg/APKBUILD b/testing/apmpkg/APKBUILD
index c027e9ca76f454c90b152b6499791f957ffd1182..69e8dbf822b9b8a58f2dc9ecb9d9d09b8a6d774e 100644
--- a/testing/apmpkg/APKBUILD
+++ b/testing/apmpkg/APKBUILD
@@ -21,6 +21,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/Kedap/apmpkg/archive/refs/ta
 	fix-with-outdated-rust.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked --verbose
 }
diff --git a/testing/asciinema-rs/APKBUILD b/testing/asciinema-rs/APKBUILD
index 34fe4be03745ad23fe188af0bf1b29009b5794e0..7595959b4e440dbcd7496bb25cde6673b108e0e1 100644
--- a/testing/asciinema-rs/APKBUILD
+++ b/testing/asciinema-rs/APKBUILD
@@ -13,6 +13,8 @@ source="https://github.com/LegNeato/asciinema-rs/archive/v$pkgver/asciinema-rs-v
 	 "
 options="!check" # fail on 'home'
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/asuran-cli/APKBUILD b/testing/asuran-cli/APKBUILD
index adc25239936ba4223d3544beac25097897af2b75..826def341d141b4864c4b09452e01dbc604a38a9 100644
--- a/testing/asuran-cli/APKBUILD
+++ b/testing/asuran-cli/APKBUILD
@@ -22,6 +22,7 @@ source="https://gitlab.com/asuran-rs/asuran/-/archive/v$pkgver/asuran-v$pkgver.t
 builddir="$srcdir/asuran-v$pkgver"
 
 export LIBSSH2_SYS_USE_PKG_CONFIG=1
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/authenticator-rs/APKBUILD b/testing/authenticator-rs/APKBUILD
index 1f6e581a8a6278bcf4604e327210a782a59de58b..c27402885045723f269b3be96281e3a40f3552dd 100644
--- a/testing/authenticator-rs/APKBUILD
+++ b/testing/authenticator-rs/APKBUILD
@@ -22,6 +22,8 @@ options="net !check" # No tests
 
 # size optimisations
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	RELEASE_VERSION=$pkgver make release-version
 	make release
diff --git a/testing/bartib/APKBUILD b/testing/bartib/APKBUILD
index f202db26a93bfbfa1d4aa8a315e89338b6bd036b..35c9d659ec8abf3433b990e4a96e19a93c217908 100644
--- a/testing/bartib/APKBUILD
+++ b/testing/bartib/APKBUILD
@@ -10,6 +10,8 @@ license="GPL-3.0-or-later"
 makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/nikolassv/bartib/archive/refs/tags/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/beancount-language-server/APKBUILD b/testing/beancount-language-server/APKBUILD
index a4ec957aee0446e917705ea6f31a5e8dd22f1bfb..6c5ba5a35219964cfe9fe687dd8c9255f56b96d3 100644
--- a/testing/beancount-language-server/APKBUILD
+++ b/testing/beancount-language-server/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo"
 source="https://github.com/polarmutex/beancount-language-server/archive/v$pkgver/beancount-language-server-$pkgver.tar.gz"
 options="!check" # no test suite
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/boa-cli/APKBUILD b/testing/boa-cli/APKBUILD
index 24234a709ecd0edfaecf301dedeb0dacff316544..14b4821dc76e63c73e11b238eee6422db77b807c 100644
--- a/testing/boa-cli/APKBUILD
+++ b/testing/boa-cli/APKBUILD
@@ -13,6 +13,8 @@ makedepends="cargo"
 source="https://github.com/boa-dev/boa/archive/refs/tags/v$pkgver/boa-$pkgver.tar.gz"
 builddir="$srcdir/boa-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/bore/APKBUILD b/testing/bore/APKBUILD
index 4547e9e60d3a4a0527ce473b06d247a42a4d845f..85871c346597fdcb2e28bdc095cbcde4dba25dbb 100644
--- a/testing/bore/APKBUILD
+++ b/testing/bore/APKBUILD
@@ -11,6 +11,8 @@ license="MIT"
 makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/ekzhang/bore/archive/v$pkgver/bore-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/cargo-deny/APKBUILD b/testing/cargo-deny/APKBUILD
index 35d61f356654ee0274689c78aacf8c3dca446413..e1bcc7cd260675dd35fed5bdfd90ee93802427b3 100644
--- a/testing/cargo-deny/APKBUILD
+++ b/testing/cargo-deny/APKBUILD
@@ -25,6 +25,8 @@ riscv64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/castor/APKBUILD b/testing/castor/APKBUILD
index 3fd1e579a25597cc52108a1637ef29cfa04a3a78..8cac176e92873d6b26c2ef9ce0abc0c7b934e0d9 100644
--- a/testing/castor/APKBUILD
+++ b/testing/castor/APKBUILD
@@ -9,6 +9,8 @@ arch="all !s390x !riscv64" # limited by rust/cargo
 makedepends="rust cargo gtk+3.0-dev openssl-dev>3"
 source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~julienxx/castor/archive/$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked --verbose
 }
diff --git a/testing/chim/APKBUILD b/testing/chim/APKBUILD
index afb8ce7247abc97b63973104972b12fe76d18ab0..02a7bd77759b194770a553c647f6b6845b8296db 100644
--- a/testing/chim/APKBUILD
+++ b/testing/chim/APKBUILD
@@ -15,6 +15,8 @@ makedepends="
 subpackages="$pkgname-doc"
 source="$pkgname-$pkgver.tar.gz::https://github.com/jdxcode/chim/archive/refs/tags/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/cicada/APKBUILD b/testing/cicada/APKBUILD
index fb215854937e9abdc4f2fe46572714d4b778e438..3d03033d4838a12c6daf3cac0548d1e614abd8bd 100644
--- a/testing/cicada/APKBUILD
+++ b/testing/cicada/APKBUILD
@@ -18,6 +18,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/mitnk/cicada/archive/v$pkgve
 	unbundle-sqlite.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/cinny/APKBUILD b/testing/cinny/APKBUILD
index 9e25f2d89d3a85ec2759afffec696a6b01b22374..847bc3d62542ae0ec3f1ec7e296af0744b735356 100644
--- a/testing/cinny/APKBUILD
+++ b/testing/cinny/APKBUILD
@@ -33,6 +33,7 @@ _rustdir="$builddir/src-tauri"
 options="net !check" # no checks
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL=2
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/conduit/APKBUILD b/testing/conduit/APKBUILD
index a3c8e377a6d5585be1cca4df14b9fb1837750e9b..df028e665ad3198cfed52f9374147e0aaf66a8fd 100644
--- a/testing/conduit/APKBUILD
+++ b/testing/conduit/APKBUILD
@@ -23,6 +23,8 @@ options="net"
 
 _features="--no-default-features --features=conduit_bin,backend_sqlite"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/desed/APKBUILD b/testing/desed/APKBUILD
index a0e24177aa7b403ead3a5a9517b438f805d53d67..e7066ee5b3468086a0eacff31966e7b80ce21e2f 100644
--- a/testing/desed/APKBUILD
+++ b/testing/desed/APKBUILD
@@ -15,6 +15,8 @@ source="https://github.com/SoptikHa2/desed/archive/v$pkgver/desed-$pkgver.tar.gz
 	Cargo.lock
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/diskonaut/APKBUILD b/testing/diskonaut/APKBUILD
index faddafff495a40493dd4635898de13e1371ba82a..21e35fd2b8af42c53fa8ad92e4e2504ddaddee43 100644
--- a/testing/diskonaut/APKBUILD
+++ b/testing/diskonaut/APKBUILD
@@ -10,6 +10,8 @@ makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/imsnif/diskonaut/archive/refs/tags/$pkgver.tar.gz"
 options="net"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/diskus/APKBUILD b/testing/diskus/APKBUILD
index a113e6c547177e166383cdb1390c91e6648edc8c..ab719ed8d1339d2efbab5142d94a6a8d3c46de67 100644
--- a/testing/diskus/APKBUILD
+++ b/testing/diskus/APKBUILD
@@ -11,6 +11,8 @@ license="MIT"
 makedepends="cargo"
 source="$pkgname-$pkgdir.tar.gz::https://github.com/sharkdp/diskus/archive/refs/tags/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/dotenv-linter/APKBUILD b/testing/dotenv-linter/APKBUILD
index 81886bddb10c6577f758ece31f837e9001034571..3ba577caad2bedaf0e13346cc862f2185a09d502 100644
--- a/testing/dotenv-linter/APKBUILD
+++ b/testing/dotenv-linter/APKBUILD
@@ -10,6 +10,8 @@ license="MIT"
 makedepends="cargo"
 source="https://github.com/dotenv-linter/dotenv-linter/archive/refs/tags/v$pkgver/dotenv-linter-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/dum/APKBUILD b/testing/dum/APKBUILD
index 11f8a20a83c22627d2e5d701759547e563767cac..4cb48de5ffbdccd7079c9e9f2002aa7614302d59 100644
--- a/testing/dum/APKBUILD
+++ b/testing/dum/APKBUILD
@@ -12,6 +12,8 @@ source="https://github.com/egoist/dum/archive/v$pkgver/dum-$pkgver.tar.gz
 	strip-env_logger-features.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/electron-tasje/APKBUILD b/testing/electron-tasje/APKBUILD
index ccea55e3e06670f5b0b99b287d0da694ed919974..ed8d0268ac85cde74036cc6674f590e541bb1aab 100644
--- a/testing/electron-tasje/APKBUILD
+++ b/testing/electron-tasje/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo"
 source="electron_tasje-$pkgver.tar.gz::https://codeberg.org/selfisekai/electron_tasje/archive/v$pkgver.tar.gz"
 builddir="$srcdir/electron_tasje"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/element-desktop/APKBUILD b/testing/element-desktop/APKBUILD
index 1bf3456c46fe71acf08ee8ec9d1f7f5aef447f2d..01b2860c451ee506f725e5ee472e959446919948 100644
--- a/testing/element-desktop/APKBUILD
+++ b/testing/element-desktop/APKBUILD
@@ -57,6 +57,7 @@ export VERSION=$pkgver
 export CARGO_PROFILE_RELEASE_OPT_LEVEL=2
 export CARGO_PROFILE_RELEASE_STRIP="symbols"
 export NODE_OPTIONS="--openssl-legacy-provider"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	msg "Applying patches"
diff --git a/testing/elfx86exts/APKBUILD b/testing/elfx86exts/APKBUILD
index 0006f02bf1da848ad4ba84f5c93859fedada493a..1a03ff1f2a4b423957caea50b58377abdad90f8b 100644
--- a/testing/elfx86exts/APKBUILD
+++ b/testing/elfx86exts/APKBUILD
@@ -12,6 +12,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/pkgw/elfx86exts/archive/refs
 builddir="$srcdir/$pkgname-$pkgname-$pkgver"
 options="net"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/eva/APKBUILD b/testing/eva/APKBUILD
index c02b485809addf47497e81394d7e57d6770abd0f..1dd443e865caa164afe1ae1b57473e3f7bf6cdb6 100644
--- a/testing/eva/APKBUILD
+++ b/testing/eva/APKBUILD
@@ -10,6 +10,8 @@ arch="all !s390x !riscv64" # limited by rust/cargo
 makedepends="cargo"
 source="https://github.com/nerdypepper/eva/archive/v$pkgver/eva-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/ffsend/APKBUILD b/testing/ffsend/APKBUILD
index 203b27c304c93606e09bced115b3204e231ce71c..2a97766f7685550b932b4cfb904b1b3a11320166 100644
--- a/testing/ffsend/APKBUILD
+++ b/testing/ffsend/APKBUILD
@@ -25,6 +25,8 @@ builddir="$srcdir/$pkgname-v$pkgver"
 # The default features with crypto-ring replaced with crypto-openssl.
 _cargo_opts="--frozen --no-default-features --features=archive,clipboard,crypto-openssl,history,infer-command,qrcode,send3,urlshortener"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/filite/APKBUILD b/testing/filite/APKBUILD
index 388396a80676699795f3794844d0375f00f99969..43bb2bacf78e87d2e8571a2ec83af3958f0a6c5a 100644
--- a/testing/filite/APKBUILD
+++ b/testing/filite/APKBUILD
@@ -13,6 +13,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/raftario/filite/archive/refs
 	system-sqlite.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/firecracker/APKBUILD b/testing/firecracker/APKBUILD
index 5f34604bf4fc57c1fcb68b1a6a29c0f47d251010..bf6c25c3e635ef8d9899abb0779f7b5694c84105 100644
--- a/testing/firecracker/APKBUILD
+++ b/testing/firecracker/APKBUILD
@@ -14,6 +14,8 @@ subpackages="
 	"
 source="$pkgname-$pkgver.tar.gz::https://github.com/firecracker-microvm/firecracker/archive/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/firefox-developer-edition/APKBUILD b/testing/firefox-developer-edition/APKBUILD
index 70c214165833fdf6ff47d418e93b72462b4079b1..db5a9b267eb7d1d02af432cad32fc4466eaa383d 100644
--- a/testing/firefox-developer-edition/APKBUILD
+++ b/testing/firefox-developer-edition/APKBUILD
@@ -93,6 +93,7 @@ _clear_vendor_checksums() {
 
 export CFLAGS="$CFLAGS -O2"
 export CXXFLAGS="$CXXFLAGS -O2"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/flare/APKBUILD b/testing/flare/APKBUILD
index b4910b7ac5854817b1475889046294c0390620e4..afb992a84be35c82df2970a6024adcc20c24a74f 100644
--- a/testing/flare/APKBUILD
+++ b/testing/flare/APKBUILD
@@ -25,6 +25,8 @@ source="https://gitlab.com/Schmiddiii/flare/-/archive/$pkgver/flare-$pkgver.tar.
 # no tests
 options="!check"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/geckodriver/APKBUILD b/testing/geckodriver/APKBUILD
index da8e23faf6ee18a7bf45686287c773613f333bc8..5b4ad87669bb2359e80da6a68827bd02aa24bbbd 100644
--- a/testing/geckodriver/APKBUILD
+++ b/testing/geckodriver/APKBUILD
@@ -11,6 +11,8 @@ license="MPL"
 makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/mozilla/geckodriver/archive/refs/tags/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --bin geckodriver
 }
diff --git a/testing/geopard/APKBUILD b/testing/geopard/APKBUILD
index 81b5550b9b7a754bdd984d107378d6c00c53a8ed..0f17ab65325c02a687790895464739359515879d 100644
--- a/testing/geopard/APKBUILD
+++ b/testing/geopard/APKBUILD
@@ -20,6 +20,8 @@ makedepends="
 source="$pkgname-$pkgver.tar.xz::https://github.com/ranfdev/Geopard/releases/download/v$pkgver/com.ranfdev.Geopard.tar.xz"
 options="!check" # no test suite
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	rm -rf "$builddir"/subprojects/blueprint-compiler
diff --git a/testing/gitoxide/APKBUILD b/testing/gitoxide/APKBUILD
index d53e09e60df6780a5e5f0c7cbd29e64566724441..0c3cc61bb0d51d3fb484acf78ce97843ec7cdafd 100644
--- a/testing/gitoxide/APKBUILD
+++ b/testing/gitoxide/APKBUILD
@@ -32,6 +32,8 @@ export CARGO_PROFILE_RELEASE_PANIC="unwind"
 
 _cargo_opts="--frozen --no-default-features --features lean"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/gleam/APKBUILD b/testing/gleam/APKBUILD
index 2cd479027dab08c97c7a4dfedc759d200bf08703..73b42aeaf051f210f692e75a7cca35d1e71e596b 100644
--- a/testing/gleam/APKBUILD
+++ b/testing/gleam/APKBUILD
@@ -13,6 +13,8 @@ depends="erlang-dev"
 makedepends="cargo"
 source="$pkgname-$pkgver-2.tar.gz::https://github.com/gleam-lang/gleam/archive/refs/tags/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/gnome-metronome/APKBUILD b/testing/gnome-metronome/APKBUILD
index cce7b1222b94333fdab69af4eb45b29f92fdccd4..13bf83f88daaf7a390b53828d2f3ead10d091340 100644
--- a/testing/gnome-metronome/APKBUILD
+++ b/testing/gnome-metronome/APKBUILD
@@ -22,6 +22,8 @@ makedepends="
 source="https://gitlab.gnome.org/World/metronome/-/archive/$pkgver/metronome-$pkgver.tar.gz"
 builddir="$srcdir/metronome-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson build
 	meson compile ${JOBS:+-j ${JOBS}} -C build
diff --git a/testing/gobang/APKBUILD b/testing/gobang/APKBUILD
index 81b7ba075a9752a72e8501c541b12979efea8abd..953c05e7a370cdbcfb845a6539564f6429745fe0 100644
--- a/testing/gobang/APKBUILD
+++ b/testing/gobang/APKBUILD
@@ -16,6 +16,8 @@ source="https://github.com/TaKO8Ki/gobang/archive/refs/tags/v$_pkgver/gobang-v$_
 options="!check" # no test suite
 builddir="$srcdir/$pkgname-$_pkgver/"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/gpg-tui/APKBUILD b/testing/gpg-tui/APKBUILD
index a4dc8c5ea7c7e89600b2197d101843ba2065222e..5bad5a1d542667d16dba794db3bf6f701130139e 100644
--- a/testing/gpg-tui/APKBUILD
+++ b/testing/gpg-tui/APKBUILD
@@ -16,6 +16,8 @@ subpackages="
 	"
 source="https://github.com/orhun/gpg-tui/archive/v$pkgver/gpg-tui-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 
diff --git a/testing/gping/APKBUILD b/testing/gping/APKBUILD
index 93097e4990275c46dbd24196a0ddabfb9c6f549f..57a4d2425c9a05bfe3f343c4ab88a71520f7eb5e 100644
--- a/testing/gping/APKBUILD
+++ b/testing/gping/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo"
 source="https://github.com/orf/gping/archive/gping-v$pkgver/gping-$pkgver.tar.gz"
 builddir="$srcdir/gping-gping-v$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/grcov/APKBUILD b/testing/grcov/APKBUILD
index 20c5b851f55b71528c085450c22386eb66ce6384..ef0231897eaa91a7f486a6bf2fec6bc15601ec70 100644
--- a/testing/grcov/APKBUILD
+++ b/testing/grcov/APKBUILD
@@ -12,6 +12,8 @@ makedepends="cargo"
 options="net !check" # Failing due to utf-8 (locale?)
 source="$pkgname-$pkgver.tar.gz::https://github.com/mozilla/grcov/archive/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/greetd-wlgreet/APKBUILD b/testing/greetd-wlgreet/APKBUILD
index 0c9ee2d6e3c18cee8ee2076c87c6f2dbcdb16097..6057a850ab6a22205982f7c9cf9865366366e1f0 100644
--- a/testing/greetd-wlgreet/APKBUILD
+++ b/testing/greetd-wlgreet/APKBUILD
@@ -24,6 +24,7 @@ builddir="$srcdir/$_projname-$pkgver"
 options="!check"  # no tests provided
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/grpc-health-check/APKBUILD b/testing/grpc-health-check/APKBUILD
index cc42ab65a583632eef0140b728d8eeaf6ef92198..292956cf09685cf8a04214439f9d8ee524272240 100644
--- a/testing/grpc-health-check/APKBUILD
+++ b/testing/grpc-health-check/APKBUILD
@@ -9,6 +9,8 @@ license="Apache-2.0"
 makedepends="cargo protoc rustfmt"
 source="$pkgname-$pkgver.tar.gz::https://github.com/paypizza/grpc-health-check/archive/$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET"
diff --git a/testing/gst-plugins-rs/APKBUILD b/testing/gst-plugins-rs/APKBUILD
index 658fa159817be9ef4865d6350a68bce80b3d5491..5010953ff33bc3c72fcb6cb29058bf0250fec6ad 100644
--- a/testing/gst-plugins-rs/APKBUILD
+++ b/testing/gst-plugins-rs/APKBUILD
@@ -26,6 +26,7 @@ source="https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/archive/$pkgve
 options="net !check" # they don't run
 
 export SODIUM_USE_PKG_CONFIG=1
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/habitctl/APKBUILD b/testing/habitctl/APKBUILD
index 510ede6e1e3b901fe0fab411cb70f9aeef6777bb..05e5765a8adee91b138e2b5866b71209be1c6faa 100644
--- a/testing/habitctl/APKBUILD
+++ b/testing/habitctl/APKBUILD
@@ -10,6 +10,8 @@ makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/blinry/$pkgname/archive/refs/tags/$pkgver.tar.gz"
 options="!check"  # no tests provided
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/helvum/APKBUILD b/testing/helvum/APKBUILD
index a027fa668eecad6b9a114864346631f93dc64859..f1da3b85bfb1fd210d64a1fe6bcffea2212d7938 100644
--- a/testing/helvum/APKBUILD
+++ b/testing/helvum/APKBUILD
@@ -12,6 +12,8 @@ makedepends="bash cargo desktop-file-utils meson clang-dev glib-dev gtk4.0-dev p
 source="https://gitlab.freedesktop.org/pipewire/helvum/-/archive/$pkgver/helvum-$pkgver.tar.gz"
 options="!check" # no test suite
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson . output
 	meson compile ${JOBS:+-j ${JOBS}} -C output
diff --git a/testing/hex/APKBUILD b/testing/hex/APKBUILD
index e1219b5bababdc6b283d6685e4eeed76b56e6c28..7c0d3e328f8a7740f024d4834ee7d6e6a2cc73e7 100644
--- a/testing/hex/APKBUILD
+++ b/testing/hex/APKBUILD
@@ -10,6 +10,8 @@ license="MIT"
 makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/sitkevij/hex/archive/refs/tags/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/horust/APKBUILD b/testing/horust/APKBUILD
index 94c93c8c06cef67b5e140a03788fc29a53e03101..f2590e7dbf01e4631ebebf3f51a8f25b63da72a6 100644
--- a/testing/horust/APKBUILD
+++ b/testing/horust/APKBUILD
@@ -17,6 +17,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/FedericoPonzi/Horust/archive
 	"
 builddir="$srcdir/Horust-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/htmlq/APKBUILD b/testing/htmlq/APKBUILD
index bb85f5177d6d692a492116def2e8dedf095475a8..e2a7e6ad64785815bfbde18ba2b011931d53cb61 100644
--- a/testing/htmlq/APKBUILD
+++ b/testing/htmlq/APKBUILD
@@ -11,6 +11,8 @@ options="!check" # no test suite
 makedepends="cargo"
 source="https://github.com/mgdm/htmlq/archive/v$pkgver/htmlq-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/hwatch/APKBUILD b/testing/hwatch/APKBUILD
index fc27564d3617dc409eb21313a16d8028565926ba..ea0346c99acd0763fb0189dad79e4e43c9324aa9 100644
--- a/testing/hwatch/APKBUILD
+++ b/testing/hwatch/APKBUILD
@@ -16,6 +16,8 @@ subpackages="
 source="https://github.com/blacknon/hwatch/archive/refs/tags/$pkgver/hwatch-$pkgver.tar.gz"
 options="!check"  # no tests provided
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/hyperlink/APKBUILD b/testing/hyperlink/APKBUILD
index 40b224560a573174757dfd9e219f697726859ce2..b93c773e6babbcaf114d7a4aca25671ab7d0d800 100644
--- a/testing/hyperlink/APKBUILD
+++ b/testing/hyperlink/APKBUILD
@@ -11,6 +11,8 @@ license="MIT"
 makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/untitaker/hyperlink/archive/refs/tags/$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/i3status-rust/APKBUILD b/testing/i3status-rust/APKBUILD
index 5ae321294e6bf062155999a5b628f078ddba7712..2e204bff4092a2f253452b7b93deb58b09441bd7 100644
--- a/testing/i3status-rust/APKBUILD
+++ b/testing/i3status-rust/APKBUILD
@@ -22,6 +22,8 @@ provides="i3status-rs=$pkgver-r$pkgrel"
 subpackages="$pkgname-doc"
 source="https://github.com/greshake/i3status-rust/archive/refs/tags/v$pkgver/i3status-rust-v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/imageflow/APKBUILD b/testing/imageflow/APKBUILD
index 09ef23d702efbc282a7968750fc4025e6453fb0a..11ab9a81e0facbaeba480d87778b9eeedd4c36b2 100644
--- a/testing/imageflow/APKBUILD
+++ b/testing/imageflow/APKBUILD
@@ -16,6 +16,8 @@ subpackages="$pkgname-server:_server
 	$pkgname-tool:_tool
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	# Workaround for environment consistency checks in build
 	touch .git
diff --git a/testing/innernet/APKBUILD b/testing/innernet/APKBUILD
index 5c6c0f1c3305a0974fda483dad2ee54dbcdcf9e0..370e3dae83d071535154df52d1bc82352caf42af 100644
--- a/testing/innernet/APKBUILD
+++ b/testing/innernet/APKBUILD
@@ -20,6 +20,8 @@ subpackages="$pkgname-openrc $pkgname-doc $pkgname-bash-completion $pkgname-fish
 
 [ "$CARCH" = riscv64 ] && options="$options textrels"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/jaq/APKBUILD b/testing/jaq/APKBUILD
index c5aa643a355660ebaf86820877bcf1a8e4fa937d..bcb961812c77e0bc7b13daf7d1ec71d6445a7e61 100644
--- a/testing/jaq/APKBUILD
+++ b/testing/jaq/APKBUILD
@@ -10,6 +10,8 @@ license="MIT"
 makedepends="cargo"
 source="https://github.com/01mf02/jaq/archive/v$pkgver/$pkgname-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/java-libsignal-client/APKBUILD b/testing/java-libsignal-client/APKBUILD
index 3d2caeeaf20ff19a11d1c5b7b531f4b2f0aeaa37..789399936cd8dfbf379ec55253b36b34274f6a85 100644
--- a/testing/java-libsignal-client/APKBUILD
+++ b/testing/java-libsignal-client/APKBUILD
@@ -21,6 +21,8 @@ builddir="$srcdir/libsignal-$pkgver/java"
 # tests succeed, but gradle aborts with exit value 134. have to further investigate later
 options="!check"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	./gradlew --no-daemon :client:jar
 }
diff --git a/testing/jp/APKBUILD b/testing/jp/APKBUILD
index e4df63fef5cc52a6d21cfd9e3ca1b4a6352af831..c6e6bb98499d74ebbc1a99d41e4ac76ba5818470 100644
--- a/testing/jp/APKBUILD
+++ b/testing/jp/APKBUILD
@@ -18,6 +18,8 @@ case "$CARCH" in
 	riscv64) options="$options textrels" ;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/jrsonnet-cli/APKBUILD b/testing/jrsonnet-cli/APKBUILD
index 56e9ed287f1c38443387f88a61ffbbc0d48ac251..b7e802285cbbe670a386877a85a327da5ee5e841 100644
--- a/testing/jrsonnet-cli/APKBUILD
+++ b/testing/jrsonnet-cli/APKBUILD
@@ -12,6 +12,8 @@ makedepends="cargo"
 source="https://github.com/CertainLach/jrsonnet/archive/refs/tags/v$pkgver/jrsonnet-v$pkgver.tar.gz"
 builddir="$srcdir/jrsonnet-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/kak-lsp/APKBUILD b/testing/kak-lsp/APKBUILD
index 0d2a8cf8ab95590ea68f9185b60149e4e826abc7..cdee34867c2e26d0ad95ec2556bd9783afe8e4a5 100644
--- a/testing/kak-lsp/APKBUILD
+++ b/testing/kak-lsp/APKBUILD
@@ -10,6 +10,8 @@ license="Unlicense OR MIT"
 makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/kak-lsp/kak-lsp/archive/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/kbs2/APKBUILD b/testing/kbs2/APKBUILD
index 74e3fee2a91be66cf61d6aa3c1d0f814234bdce2..fa99bade49b125fcb49bc80afcf1bdb2ae53a17b 100644
--- a/testing/kbs2/APKBUILD
+++ b/testing/kbs2/APKBUILD
@@ -15,6 +15,8 @@ subpackages="
 	"
 source="$pkgname-$pkgver.tar.gz::https://github.com/woodruffw/kbs2/archive/refs/tags/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/lapce/APKBUILD b/testing/lapce/APKBUILD
index 9fbd46c7ed9fa24c1eaebab5cac8a20aa84b514c..a07e952a84842cac3ba2ea335bbb041f6ee46275 100644
--- a/testing/lapce/APKBUILD
+++ b/testing/lapce/APKBUILD
@@ -84,6 +84,8 @@ _cargo_features="
 	lang-zig
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/laze/APKBUILD b/testing/laze/APKBUILD
index 2394d9e54386dd1a2f6cf33ddffe4c2be6df5090..7a1940dc6ac70e6eefa373d4bdec2f009a4405b3 100644
--- a/testing/laze/APKBUILD
+++ b/testing/laze/APKBUILD
@@ -23,6 +23,8 @@ riscv64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/librespot/APKBUILD b/testing/librespot/APKBUILD
index ba63e2a30f2f0cb82fbdc74d48a0045ea153eae4..67e2840b6c40b0ac56ac1f34756ddf2d0857e62a 100644
--- a/testing/librespot/APKBUILD
+++ b/testing/librespot/APKBUILD
@@ -16,6 +16,8 @@ source="librespot-$pkgver.tar.gz::https://github.com/librespot-org/librespot/arc
 	$pkgname.confd
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/lighthouse/APKBUILD b/testing/lighthouse/APKBUILD
index fea96a8930527fb7a09f82fb6a50917e3ab331a3..9e399c8f988a4b2663ba413a3869ef29a0330ba5 100644
--- a/testing/lighthouse/APKBUILD
+++ b/testing/lighthouse/APKBUILD
@@ -25,6 +25,7 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/sigp/lighthouse/archive/v$pk
 
 export OPENSSL_NO_VENDOR=true
 export RUSTFLAGS="$RUSTFLAGS -L /usr/lib/"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/lsd/APKBUILD b/testing/lsd/APKBUILD
index d62fce11fa9d26e027ef229af3eb7f7a46e276ed..85aa40ef5ec8129485c8dd487e3677639142977e 100644
--- a/testing/lsd/APKBUILD
+++ b/testing/lsd/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo"
 source="https://github.com/Peltoche/$pkgname/archive/refs/tags/$pkgver/lsd-$pkgver.tar.gz"
 options="net" # needed for downloading dependencies
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/lumins/APKBUILD b/testing/lumins/APKBUILD
index 19f1910bc2e2911e8ccecca81c9c0a72d72ff8f4..c8c1d7ac2e0757b64a1111e80a6652184a55861d 100644
--- a/testing/lumins/APKBUILD
+++ b/testing/lumins/APKBUILD
@@ -12,6 +12,8 @@ makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/wchang22/LuminS/archive/refs/tags/v$pkgver.tar.gz"
 builddir="$srcdir/LuminS-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/macchina/APKBUILD b/testing/macchina/APKBUILD
index 637c094543d8b4b4fed10ae825e20dfa6d0e7af1..9222eef381d68be3fc172d88c4ed81d48eb8fbb7 100644
--- a/testing/macchina/APKBUILD
+++ b/testing/macchina/APKBUILD
@@ -13,6 +13,8 @@ options="net"
 subpackages="$pkgname-doc"
 source="$pkgname-$pkgver.tar.gz::https://github.com/Macchina-CLI/macchina/archive/refs/tags/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/mdcat/APKBUILD b/testing/mdcat/APKBUILD
index 99bd9051820a45b4446c36d0df692dea9ddd24df..ed86ac87e6a552cc01da6eed5e90de784f3977ac 100644
--- a/testing/mdcat/APKBUILD
+++ b/testing/mdcat/APKBUILD
@@ -24,6 +24,8 @@ riscv64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/navi/APKBUILD b/testing/navi/APKBUILD
index eedc1fef078605ac5fc98fdb6058ed7e5188582b..c545b2d411513e93a2f8deabb822979ae53f0cf8 100644
--- a/testing/navi/APKBUILD
+++ b/testing/navi/APKBUILD
@@ -23,6 +23,7 @@ source="https://github.com/denisidoro/navi/archive/v$pkgver/navi-$pkgver.tar.gz
 [ $CARCH = "riscv64" ] && options="$options textrels"
 
 export NAVI_CONFIG="/etc/xdg/navi/config.yaml"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/nitrocli/APKBUILD b/testing/nitrocli/APKBUILD
index 7380dd96a2ba90bf82d7da77493dc7bf1a010a9c..becf9d431000ab4af20bad94ebdfedb815338307 100644
--- a/testing/nitrocli/APKBUILD
+++ b/testing/nitrocli/APKBUILD
@@ -15,6 +15,8 @@ source="https://github.com/d-e-s-o/nitrocli/archive/v$pkgver/nitrocli-$pkgver.ta
 	src-tests-run.rs-use-python3.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	export USE_SYSTEM_LIBNITROKEY=1
 	cargo build --release --locked
diff --git a/testing/nixpacks/APKBUILD b/testing/nixpacks/APKBUILD
index 2237da4c4be5eb048b11c08ba3f2608c3628994f..f3942350f1a6ced48c1ddcca9631e3cc04f9499c 100644
--- a/testing/nixpacks/APKBUILD
+++ b/testing/nixpacks/APKBUILD
@@ -10,6 +10,8 @@ license="MIT"
 makedepends="cargo"
 source="https://github.com/railwayapp/nixpacks/archive/v$pkgver/$pkgname-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release
 }
diff --git a/testing/nsh/APKBUILD b/testing/nsh/APKBUILD
index f1c94f5acbb7513071aa3e98b118dd76c819af87..c88eb14d200e1338e9b249ad11fdd260c7d6d82d 100644
--- a/testing/nsh/APKBUILD
+++ b/testing/nsh/APKBUILD
@@ -15,6 +15,8 @@ install="$pkgname.post-install $pkgname.pre-deinstall"
 subpackages="$pkgname-dbg"
 source="https://github.com/nuta/nsh/archive/v$pkgver/nsh-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/nushell/APKBUILD b/testing/nushell/APKBUILD
index f85089c492b623c9895e0d047cada2e4f2da6ac0..94e08fc91669053014e59da09cd07229aa96fce4 100644
--- a/testing/nushell/APKBUILD
+++ b/testing/nushell/APKBUILD
@@ -20,6 +20,8 @@ export CARGO_PROFILE_RELEASE_LTO="fat"
 # Temporarily allow textrels on riscv64
 [ "$CARCH" = "riscv64" ] && options="$options textrels"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/ouch/APKBUILD b/testing/ouch/APKBUILD
index 121922ec7e2dc90b2baca3011aaf08e2bcc6781f..5da0b878731f961eda89183b22a497edd6c8f851 100644
--- a/testing/ouch/APKBUILD
+++ b/testing/ouch/APKBUILD
@@ -10,6 +10,8 @@ license="MIT"
 makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/ouch-org/ouch/archive/refs/tags/$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/pastel/APKBUILD b/testing/pastel/APKBUILD
index a5532804df7afb87dab344cdd9b2e255e875b0e1..bec8d77cadcd69aa4d7456253b3877057e43f950 100644
--- a/testing/pastel/APKBUILD
+++ b/testing/pastel/APKBUILD
@@ -16,6 +16,8 @@ subpackages="
 	"
 options="net" # fetch crates
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	export SHELL_COMPLETIONS_DIR="$builddir/completions"
 	cargo build --release
diff --git a/testing/pidif/APKBUILD b/testing/pidif/APKBUILD
index 145b923eb405f2d88df0b90eb6c25f8c86a89cf8..c9c75e25c6c1f130e41f944c56f599b29c0ccde3 100644
--- a/testing/pidif/APKBUILD
+++ b/testing/pidif/APKBUILD
@@ -14,6 +14,8 @@ makedepends="
 	"
 source="$pkgname-$pkgver.tar.gz::https://github.com/bjesus/pidif/archive/refs/tags/$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	
@@ -35,4 +37,3 @@ package() {
 sha512sums="
 ba067c8c98cc5db6c3412dd7793ba901863f9ca6fa2cf828d28597c87614c3ba7f57e74d7ba85267e28c569d30e3ab12424eae96e963092d5bfb6fd720d40ca9  pidif-0.1.tar.gz
 "
-
diff --git a/testing/pijul/APKBUILD b/testing/pijul/APKBUILD
index 62d966e1c06337db1b8902efdd2fbd535b269a98..72d49e8e9ea0ca86068ee6c8c66a374c217baeaa 100644
--- a/testing/pijul/APKBUILD
+++ b/testing/pijul/APKBUILD
@@ -21,6 +21,7 @@ builddir="$srcdir/$pkgname-$_pkgver"
 options="net"
 
 export SODIUM_USE_PKG_CONFIG=1
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/piping-server/APKBUILD b/testing/piping-server/APKBUILD
index 3948fff59687fe1c44e6e481776f6e857ca535b8..8aa016db9a8a2aa98ef8ddf7f6e1af3addf86d64 100644
--- a/testing/piping-server/APKBUILD
+++ b/testing/piping-server/APKBUILD
@@ -15,6 +15,8 @@ source="https://github.com/nwtgck/piping-server-rust/archive/v$pkgver/piping-ser
 	"
 builddir="$srcdir/piping-server-rust-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/please/APKBUILD b/testing/please/APKBUILD
index aa46dfbc95b87c618a1cd4920b3cfbc02d1d7061..9fa100c363e113d95ee9192d723b1a98d9439fbe 100644
--- a/testing/please/APKBUILD
+++ b/testing/please/APKBUILD
@@ -15,6 +15,8 @@ options="suid" # Required to call setuid with target uids
 builddir="$srcdir/$pkgname-v$pkgver"
 subpackages="$pkgname-doc"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/pulumi-watch/APKBUILD b/testing/pulumi-watch/APKBUILD
index 10b6bb560b0b43fa88653a86492ef605f47f0f58..2c0b65f471c95ee4e995986a614b2040f57b2600 100644
--- a/testing/pulumi-watch/APKBUILD
+++ b/testing/pulumi-watch/APKBUILD
@@ -12,6 +12,8 @@ builddir="$srcdir/watchutil-rs-$pkgver"
 
 [ "$CARCH" = "riscv64" ] && options="$options textrels"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/pw-volume/APKBUILD b/testing/pw-volume/APKBUILD
index ac1711ee7c6da13a7c006c018579deecee40a49a..2b373d545ffc3929d4bcba5126bdc4773db9f171 100644
--- a/testing/pw-volume/APKBUILD
+++ b/testing/pw-volume/APKBUILD
@@ -15,6 +15,7 @@ source="https://github.com/smasher164/pw-volume/archive/v$pkgver/pw-volume-$pkgv
 options="!check"  # no tests provided
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/py-spy/APKBUILD b/testing/py-spy/APKBUILD
index 331601c4df65ad84cc7b55da9d2c8908f06f7d08..28a4eb83da0481feb5b138bc90704a81666f6a85 100644
--- a/testing/py-spy/APKBUILD
+++ b/testing/py-spy/APKBUILD
@@ -17,6 +17,8 @@ subpackages="
 	"
 source="$pkgname-$pkgver.tar.gz::https://github.com/benfred/py-spy/archive/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 
diff --git a/testing/py3-mitmproxy-wireguard/APKBUILD b/testing/py3-mitmproxy-wireguard/APKBUILD
index 8d8446a16a507bd5f6a1e90e66fc3bc9b5fcab54..9b80fbb4f827aae1924183d2afd2cd4ff17d74b3 100644
--- a/testing/py3-mitmproxy-wireguard/APKBUILD
+++ b/testing/py3-mitmproxy-wireguard/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo maturin py3-installer"
 source="https://github.com/decathorpe/mitmproxy_wireguard/archive/$pkgver/py3-mitmproxy-wireguard-$pkgver.tar.gz"
 builddir="$srcdir/mitmproxy_wireguard-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/py3-tokenizers/APKBUILD b/testing/py3-tokenizers/APKBUILD
index 6d5400bda6a0504f21c863ee234346605bd47b17..6841848fa1753431420948d51971c93ff5d684ff 100644
--- a/testing/py3-tokenizers/APKBUILD
+++ b/testing/py3-tokenizers/APKBUILD
@@ -21,6 +21,8 @@ source="https://github.com/huggingface/tokenizers/archive/refs/tags/python-v$pkg
 builddir="$srcdir/tokenizers-python-v$pkgver/bindings/python"
 options="net !check" # requires pulling test data
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	gpep517 build-wheel \
 		--wheel-dir dist \
diff --git a/testing/rage/APKBUILD b/testing/rage/APKBUILD
index 7fbc8412499845625a4e5b1f72c63758cb83120a..3ebdf5ea873fffa1df8b735cf778778feb9ae77c 100644
--- a/testing/rage/APKBUILD
+++ b/testing/rage/APKBUILD
@@ -18,6 +18,8 @@ source="https://github.com/str4d/rage/archive/v$pkgver/rage-$pkgver.tar.gz
 	fix-build-32bit.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/rathole/APKBUILD b/testing/rathole/APKBUILD
index 2aa9f9ae0500f4ce1a98f7a80cac4233ee013e38..52c707615b5df6c82265aa61d702494f6a2f88dd 100644
--- a/testing/rathole/APKBUILD
+++ b/testing/rathole/APKBUILD
@@ -10,6 +10,8 @@ arch="all !s390x !riscv64" # blocked by rust/cargo
 makedepends="cargo openssl-dev"
 source="https://github.com/rapiz1/rathole/archive/v$pkgver/rathole-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/rav1e/APKBUILD b/testing/rav1e/APKBUILD
index d207bb380c1756dc85ed3b5bd555ea20494de59d..3752521bd2dbca774fc819afd3aec29540a627eb 100644
--- a/testing/rav1e/APKBUILD
+++ b/testing/rav1e/APKBUILD
@@ -21,6 +21,7 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/xiph/rav1e/archive/v$pkgver.
 
 export CARGO_PROFILE_RELEASE_INCREMENTAL=false
 export CARGO_PROFILE_RELEASE_DEBUG=false
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/rbw/APKBUILD b/testing/rbw/APKBUILD
index 7b95891294e5bf379e6cc250eef39c5478a2668d..6071668765b2a04c148882dd4845bd5b22a270c4 100644
--- a/testing/rbw/APKBUILD
+++ b/testing/rbw/APKBUILD
@@ -19,6 +19,8 @@ export CARGO_HOME="$srcdir"/cargo
 # Reduce size of the binaries.
 # 9.1M -> 4.3M
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/rdedup/APKBUILD b/testing/rdedup/APKBUILD
index 0be504e03e3acef3a85e98110520d8808e7fefff..c91e4f61c0f43ac03464aaa93128f950ec9cd28c 100644
--- a/testing/rdedup/APKBUILD
+++ b/testing/rdedup/APKBUILD
@@ -10,6 +10,8 @@ license="MPL-2.0"
 makedepends="cargo clang-dev libsodium-dev openssl-dev>3 xz-dev"
 source="$pkgname-$pkgver.tar.gz::https://github.com/dpc/rdedup/archive/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/read-it-later/APKBUILD b/testing/read-it-later/APKBUILD
index bb8931efa5e04c2fb523c9a39b4effd8f94fdffe..9d2034efdb92f041af75569d53f598cb49cc3825 100755
--- a/testing/read-it-later/APKBUILD
+++ b/testing/read-it-later/APKBUILD
@@ -18,6 +18,8 @@ source="read-it-later-692cf638e1284bcf31031421e6951c767bed6139.tar.gz::https://g
 builddir="$srcdir/read-it-later-692cf638e1284bcf31031421e6951c767bed6139"
 options="!check" # no tests
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson . output
 	meson compile ${JOBS:+-j ${JOBS}} -C output
diff --git a/testing/rezolus/APKBUILD b/testing/rezolus/APKBUILD
index 71feb94089255be68e57b8266c1503991d2f9ac9..09ac2d975042107b431188c7458d75da4b6a6a3a 100644
--- a/testing/rezolus/APKBUILD
+++ b/testing/rezolus/APKBUILD
@@ -21,6 +21,8 @@ source="https://github.com/twitter/rezolus/archive/v$pkgver/rezolus-$pkgver.tar.
 	$pkgname.logrotate
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/riemann-cli/APKBUILD b/testing/riemann-cli/APKBUILD
index bdd07d5c0c143c86f13a304972c89844df67c548..8b86c385c92cbae0ee756f22eaa14e51335fda94 100644
--- a/testing/riemann-cli/APKBUILD
+++ b/testing/riemann-cli/APKBUILD
@@ -17,6 +17,8 @@ source="https://github.com/borntyping/rust-riemann_client/archive/v$pkgver/$pkgn
 	"
 builddir="$srcdir/$_projname-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cp "$srcdir"/Cargo.lock "$builddir"/
diff --git a/testing/ripasso-cursive/APKBUILD b/testing/ripasso-cursive/APKBUILD
index 95b90c4c4c4ef1cba9f1a227540a15c489124a32..50dc00f7e4787a60b7de46a7c2b0bc25fe8d55a0 100644
--- a/testing/ripasso-cursive/APKBUILD
+++ b/testing/ripasso-cursive/APKBUILD
@@ -20,6 +20,8 @@ source="https://github.com/cortex/ripasso/archive/release-$pkgver.tar.gz"
 builddir="$srcdir/$_pkgrelname-release-$pkgver"
 options="net"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/rome/APKBUILD b/testing/rome/APKBUILD
index e2fe76674efb294216045d25c4fe9f88acf70705..255c0720c907e9a71745ae6611eeec8a4eee0385 100644
--- a/testing/rome/APKBUILD
+++ b/testing/rome/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo"
 source="https://github.com/rome/tools/archive/cli/v$pkgver/rome-$pkgver.tar.gz"
 builddir="$srcdir/tools-cli-v$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/rosenpass/APKBUILD b/testing/rosenpass/APKBUILD
index 5c2800845d458ff1f27809e1cb0f767f51142de2..583ccf3297e834a24ac10aebc1f5cd0156fa3008 100644
--- a/testing/rosenpass/APKBUILD
+++ b/testing/rosenpass/APKBUILD
@@ -11,6 +11,8 @@ arch="all !armv7 !armhf !riscv64 "
 makedepends="cargo clang-dev cmake libsodium-dev linux-headers"
 source="https://github.com/rosenpass/rosenpass/archive/v$pkgver/rosenpass-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/rpg-cli/APKBUILD b/testing/rpg-cli/APKBUILD
index 410cfe060eecb67ba18dea282a9621b020d8c244..679283919ebce8069b58ae54209b3a46b485448b 100644
--- a/testing/rpg-cli/APKBUILD
+++ b/testing/rpg-cli/APKBUILD
@@ -10,6 +10,8 @@ arch="all !s390x !riscv64" # blocked by rust/cargo
 makedepends="cargo"
 source="https://github.com/facundoolano/rpg-cli/archive/$pkgver/rpg-cli-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/rss-email/APKBUILD b/testing/rss-email/APKBUILD
index c2b80c94f313dcaa27cf554ea3e2cba1fc50decf..b6c08a15b2aff77a3a570221898cbf8746b8d1bf 100644
--- a/testing/rss-email/APKBUILD
+++ b/testing/rss-email/APKBUILD
@@ -16,6 +16,8 @@ source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~witcher/rss-email/archive/v$
 builddir="$srcdir/$pkgname-v$pkgver"
 options="!check" # no tests
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/ruff/APKBUILD b/testing/ruff/APKBUILD
index 3308ad47b96bc3d3c94752a75c9bcc6b95fd3b1b..5ccecd08f035bc1d623a2ede49fec4972b249f04 100644
--- a/testing/ruff/APKBUILD
+++ b/testing/ruff/APKBUILD
@@ -17,6 +17,7 @@ subpackages="
 source="https://github.com/charliermarsh/ruff/archive/v$pkgver/ruff-$pkgver.tar.gz"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL=2
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/rust-bindgen/APKBUILD b/testing/rust-bindgen/APKBUILD
index 1a5a296a31123d609150a9548d6284bcaed9a0be..401aabcc891db744e57edea0f2b4acc80464b825 100644
--- a/testing/rust-bindgen/APKBUILD
+++ b/testing/rust-bindgen/APKBUILD
@@ -14,6 +14,8 @@ options="net !check" # no test
 [ "$CARCH" = "riscv64" ] && options="$options textrels"
 source="$pkgname-$pkgver.tar.gz::https://github.com/rust-lang/rust-bindgen/archive/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/rust-script/APKBUILD b/testing/rust-script/APKBUILD
index 2872d8ba5286e7639ee1b9a217ea4e16b39c3c27..96c9604a57c8d5407ec5f48ac0bb7405037df1fc 100644
--- a/testing/rust-script/APKBUILD
+++ b/testing/rust-script/APKBUILD
@@ -16,6 +16,8 @@ riscv64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/rustdesk-server/APKBUILD b/testing/rustdesk-server/APKBUILD
index 002b9047062f97cc4e8fabf85f64026d0d532e42..d5eb3032f8aa380e4c55e21feb6296ea100cc35a 100644
--- a/testing/rustdesk-server/APKBUILD
+++ b/testing/rustdesk-server/APKBUILD
@@ -21,6 +21,8 @@ source="
 	hbbs.confd
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/rustic/APKBUILD b/testing/rustic/APKBUILD
index 42e197dee34f7dca9765e2bfcb8bb5d6a2d74f1f..74bdb147ccf93417a47e1d9180bca3d84430262f 100644
--- a/testing/rustic/APKBUILD
+++ b/testing/rustic/APKBUILD
@@ -17,6 +17,8 @@ subpackages="
 	"
 source="https://github.com/rustic-rs/rustic/archive/v$pkgver/rustic-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/rustscan/APKBUILD b/testing/rustscan/APKBUILD
index 7be74f3582925d08fc97b4179f26c89c1f624fae..ccab5f17a229b021438d0ddd6b25e90582bdbe2c 100644
--- a/testing/rustscan/APKBUILD
+++ b/testing/rustscan/APKBUILD
@@ -17,6 +17,8 @@ source="https://github.com/RustScan/RustScan/archive/$pkgver/rustscan-$pkgver.ta
 options="net"
 builddir="$srcdir/RustScan-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/scryer-prolog/APKBUILD b/testing/scryer-prolog/APKBUILD
index 0eaf81bcd217125398d0cb24eed87856d9d55d6b..4552ea905a610ffc2410c80974709af302de2c42 100644
--- a/testing/scryer-prolog/APKBUILD
+++ b/testing/scryer-prolog/APKBUILD
@@ -27,7 +27,7 @@ export OPENSSL_NO_VENDOR=1
 export CARGO_FEATURE_USE_SYSTEM_LIBS=1
 export SODIUM_USE_PKG_CONFIG=1
 
-# optimise size
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/sd/APKBUILD b/testing/sd/APKBUILD
index 7fe99fb05d630ec5ae07f18611c6cf8aa1190372..6f278226a38055df9396b3a98fb9a596b9546334 100644
--- a/testing/sd/APKBUILD
+++ b/testing/sd/APKBUILD
@@ -17,6 +17,7 @@ subpackages="$pkgname-doc
 	"
 
 export CARGO_HOME="$srcdir"/cargo
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 build() {
 	cargo build \
diff --git a/testing/sequoia-chameleon-gnupg/APKBUILD b/testing/sequoia-chameleon-gnupg/APKBUILD
index d0b7b13eddbc8469927876a7d8760665e3ea0d94..ea9382f7f5b4a2a424aba8832a55c003c7ebd5b9 100644
--- a/testing/sequoia-chameleon-gnupg/APKBUILD
+++ b/testing/sequoia-chameleon-gnupg/APKBUILD
@@ -18,6 +18,8 @@ source="https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/archive/v$pkgve
 builddir="$srcdir/$pkgname-v$pkgver"
 options="!check" # bunch of failures against gpg cli
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/sequoia-sqv/APKBUILD b/testing/sequoia-sqv/APKBUILD
index 4547d81501382b8be9b36db42790eb0919e3975b..ba158c1654281ddf419078f848b96037b6894cc9 100644
--- a/testing/sequoia-sqv/APKBUILD
+++ b/testing/sequoia-sqv/APKBUILD
@@ -21,6 +21,8 @@ riscv64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/shotman/APKBUILD b/testing/shotman/APKBUILD
index 45ea852c02f3ca3b361476a71854ea30f5f983c1..22467794e343f39a28d74c93bc96197d8e574611 100644
--- a/testing/shotman/APKBUILD
+++ b/testing/shotman/APKBUILD
@@ -25,6 +25,8 @@ riscv64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/signal-desktop/APKBUILD b/testing/signal-desktop/APKBUILD
index 382090aedc57b34d1511757aa6e69c4e066ba246..e11dc707be07f83d4787a53b44f4305d850de609 100644
--- a/testing/signal-desktop/APKBUILD
+++ b/testing/signal-desktop/APKBUILD
@@ -104,6 +104,7 @@ export CPPFLAGS="$CPPFLAGS -D__DATE__=  -D__TIME__=  -D__TIMESTAMP__="
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL=2
 export CARGO_PROFILE_RELEASE_STRIP="symbols"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 export RUSTFLAGS="$RUSTFLAGS -C linker=clang -C link-arg=-fuse-ld=lld"
 
 export YARN_CACHE_FOLDER="$srcdir/.yarn"
diff --git a/testing/so/APKBUILD b/testing/so/APKBUILD
index 788cfc56ee1acf3166c70cfe8caf875adec71ee2..893dbf8574e0fadafccd0ce4eee030b716224cb5 100644
--- a/testing/so/APKBUILD
+++ b/testing/so/APKBUILD
@@ -11,6 +11,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/samtay/so/archive/refs/tags/
 
 [ "$CARCH" = "riscv64" ] && options="$options textrels"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/solanum/APKBUILD b/testing/solanum/APKBUILD
index f483c1578e6466a726a655d0c3a51554f2a23b63..731e2e68677e90e2a9b424398b4695777a135af9 100644
--- a/testing/solanum/APKBUILD
+++ b/testing/solanum/APKBUILD
@@ -30,6 +30,8 @@ source="
 	"
 builddir="$srcdir/Solanum-$_gitrev"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson . output
 	meson compile ${JOBS:+-j ${JOBS}} -C output
diff --git a/testing/spotify-player/APKBUILD b/testing/spotify-player/APKBUILD
index 3a0005286b6f2562cd20f0079fd1b525673ccddf..1ccc61e722a9821c47efee027989f3a328aa5c2f 100644
--- a/testing/spotify-player/APKBUILD
+++ b/testing/spotify-player/APKBUILD
@@ -16,6 +16,8 @@ makedepends="
 	"
 source="$pkgname-$pkgver.tar.gz::https://github.com/aome510/spotify-player/archive/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/spotify-tui/APKBUILD b/testing/spotify-tui/APKBUILD
index db3ded8471869e1fbdc4fa1deed21d0c0e816097..69091d8587ae7db9dae6a177bf7c6b1350ccd3e3 100644
--- a/testing/spotify-tui/APKBUILD
+++ b/testing/spotify-tui/APKBUILD
@@ -12,6 +12,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/Rigellute/spotify-tui/archiv
 	openssl3.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/spotifyd/APKBUILD b/testing/spotifyd/APKBUILD
index 40014e3513ba04dd530f8c8369bb2643171b50e9..58bfb5f5c7aeb176916deb828d1a43e78283ced8 100644
--- a/testing/spotifyd/APKBUILD
+++ b/testing/spotifyd/APKBUILD
@@ -25,6 +25,8 @@ source="https://github.com/Spotifyd/spotifyd/archive/v$pkgver/spotifyd-$pkgver.t
 	spotifyd.conf
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/svgbob/APKBUILD b/testing/svgbob/APKBUILD
index 464eac9b0d79a11661937193d9d4c6a8c9d7be6c..40f1119da9bd2792596fd265a29a37af47d6ff04 100644
--- a/testing/svgbob/APKBUILD
+++ b/testing/svgbob/APKBUILD
@@ -10,6 +10,8 @@ license="Apache-2.0"
 makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/ivanceras/svgbob/archive/$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/swayhide/APKBUILD b/testing/swayhide/APKBUILD
index b2dbf4dace2001252610bf73805466d6968709c0..358e433aa6e2ea823bdda5c52a97764e15e71594 100644
--- a/testing/swayhide/APKBUILD
+++ b/testing/swayhide/APKBUILD
@@ -10,6 +10,8 @@ license="GPL-3.0-only"
 makedepends="cargo"
 source="https://github.com/NomisIV/swayhide/archive/v$pkgver/swayhide-v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/swc/APKBUILD b/testing/swc/APKBUILD
index 71ba20b79b4a6217bd40cd0c76527f81bc80068e..b6d51d040ba420454cd6a9ade5da38fb6dc7ecc6 100644
--- a/testing/swc/APKBUILD
+++ b/testing/swc/APKBUILD
@@ -13,6 +13,8 @@ source="https://github.com/swc-project/swc/archive/v$pkgver/$pkgname-$pkgver.tar
 builddir="$srcdir/$pkgname-$pkgver/bindings"
 options="!check"  # TODO: run tests
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/swhkd/APKBUILD b/testing/swhkd/APKBUILD
index 19097caa2525a8e95f2f3670e14e99fb17a1c5aa..da32074595b143e4fead37c89a7157ba65f8688c 100644
--- a/testing/swhkd/APKBUILD
+++ b/testing/swhkd/APKBUILD
@@ -21,6 +21,8 @@ riscv64)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/swww/APKBUILD b/testing/swww/APKBUILD
index a9a5b6a21261049e7968a6c8af6d725fb83bd8bb..6830795b2308ec70b1e925a4b0baac9965d7d383 100644
--- a/testing/swww/APKBUILD
+++ b/testing/swww/APKBUILD
@@ -16,6 +16,8 @@ subpackages="
 source="$pkgname-$pkgver.tar.gz::https://github.com/Horus645/swww/archive/refs/tags/v$pkgver.tar.gz"
 options="!check" # Requires the binary to be available in PATH
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/synapse-bt/APKBUILD b/testing/synapse-bt/APKBUILD
index 51d35b622703c0ef9bebcb865e04544ad1c76d52..5c125ff214b93da67cbec006b3d9bb8b7551be80 100644
--- a/testing/synapse-bt/APKBUILD
+++ b/testing/synapse-bt/APKBUILD
@@ -18,6 +18,8 @@ source="synapse-bt-$pkgver.tar.gz::https://github.com/Luminarys/synapse/archive/
 	"
 builddir="$srcdir"/synapse-$pkgver
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --all --locked
 }
diff --git a/testing/systeroid/APKBUILD b/testing/systeroid/APKBUILD
index 617f63f093c8801812bd3668d4ff75c3fddf2148..4408faedaef1768f627e0d67bb5fe6f4a56c1f66 100644
--- a/testing/systeroid/APKBUILD
+++ b/testing/systeroid/APKBUILD
@@ -19,6 +19,8 @@ case $CARCH in
 	armhf|ppc64le) options="!check" ;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/tauri-cli/APKBUILD b/testing/tauri-cli/APKBUILD
index a724af7588b4a440e985f9da0209b76520448282..b7a78004ac4e3aae42cae556299eba087766e6ad 100644
--- a/testing/tauri-cli/APKBUILD
+++ b/testing/tauri-cli/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/tauri-apps/tauri/releases/download/cli.rs-v$pkgver/cli.rs-$pkgver.crate"
 options="net !check" # no tests
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/tealdeer/APKBUILD b/testing/tealdeer/APKBUILD
index b01ede2f89987a383341008f7f625521d9519cf8..22a7fb2a830830e9f42954eaf50e34663733caad 100644
--- a/testing/tealdeer/APKBUILD
+++ b/testing/tealdeer/APKBUILD
@@ -19,6 +19,8 @@ source="
 
 [ "$CARCH" = "riscv64" ] && options="$options textrels"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/teapot-tools/APKBUILD b/testing/teapot-tools/APKBUILD
index d1ce9fcee2e583f28e1f70cf5c82cb89d501bffb..2c47bfc4848ad8e450ee45d41a51d0d0cf6b0fcf 100644
--- a/testing/teapot-tools/APKBUILD
+++ b/testing/teapot-tools/APKBUILD
@@ -20,6 +20,8 @@ makedepends="
 source="teapot_tools-$pkgver.tar.gz::https://codeberg.org/selfisekai/teapot_tools/archive/v$pkgver.tar.gz"
 builddir="$srcdir/teapot_tools"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/texlab/APKBUILD b/testing/texlab/APKBUILD
index 70372536eac7709b012d462a0026f28ea5df8f4d..c5af3b3233a094520aec972d66ace77eec1c6300 100644
--- a/testing/texlab/APKBUILD
+++ b/testing/texlab/APKBUILD
@@ -19,6 +19,7 @@ case "$CARCH" in
 esac
 
 export CARGO_PROFILE_RELEASE_PANIC="unwind"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/topgrade/APKBUILD b/testing/topgrade/APKBUILD
index 30877aad9edfe479db98c6f872a7905ddabaebc9..46adc103bfedc8f84d4d76e8912b5f171b45e1c6 100644
--- a/testing/topgrade/APKBUILD
+++ b/testing/topgrade/APKBUILD
@@ -17,6 +17,8 @@ subpackages="
 	"
 source="topgrade-$pkgver.tar.gz::https://github.com/topgrade-rs/topgrade/archive/refs/tags/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/twiggy/APKBUILD b/testing/twiggy/APKBUILD
index 9e11ae9cc181f145fb936eb4515271736f269d15..447d2ef6a936150ac5b59cc011d3b8c8c146e690 100644
--- a/testing/twiggy/APKBUILD
+++ b/testing/twiggy/APKBUILD
@@ -10,6 +10,8 @@ license="Apache-2.0"
 makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/rustwasm/twiggy/archive/$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/udpt/APKBUILD b/testing/udpt/APKBUILD
index 217c60a296a9b8d6d5cbdc703ef3d8cc802b764b..f9ce0ecbcde968e222e569424f5f6612bf555da8 100644
--- a/testing/udpt/APKBUILD
+++ b/testing/udpt/APKBUILD
@@ -19,6 +19,8 @@ source="https://github.com/naim94a/udpt/archive/udpt-$pkgver/udpt-$pkgver.tar.gz
 	"
 builddir="$srcdir/udpt-udpt-$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/uutils-coreutils/APKBUILD b/testing/uutils-coreutils/APKBUILD
index 4ab535d25958b204fc0b6602aabbb9aa587302a4..0feae744414a84e851b29869467f8352e1bcd5ca 100644
--- a/testing/uutils-coreutils/APKBUILD
+++ b/testing/uutils-coreutils/APKBUILD
@@ -25,6 +25,8 @@ armhf)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/vaultwarden/APKBUILD b/testing/vaultwarden/APKBUILD
index e9efe677732f796da94bf723e4fc58008154d6e8..090762da75903743e67aea018baf4c54ed2e627e 100644
--- a/testing/vaultwarden/APKBUILD
+++ b/testing/vaultwarden/APKBUILD
@@ -27,6 +27,8 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/dani-garcia/vaultwarden/arch
 	$pkgname.initd
 	$pkgname.confd"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/verco/APKBUILD b/testing/verco/APKBUILD
index 9bb1af76d9ace82efb0ce2a2bdeb4b3f8ed2286b..1a9d3900fc178db63dcbf4bdf731c4abe57b0f35 100644
--- a/testing/verco/APKBUILD
+++ b/testing/verco/APKBUILD
@@ -11,6 +11,8 @@ makedepends="cargo"
 options="!check" # No tests
 source="$pkgname-$pkgver.tar.gz::https://github.com/vamolessa/verco/archive/refs/tags/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/video-trimmer/APKBUILD b/testing/video-trimmer/APKBUILD
index e8f65b6422877a343b24fcdb6a6289d6cf299dfe..36a0fa415289fe5a0673cf9d385ddac2de144eed 100644
--- a/testing/video-trimmer/APKBUILD
+++ b/testing/video-trimmer/APKBUILD
@@ -21,6 +21,8 @@ subpackages="$pkgname-lang"
 source="https://gitlab.gnome.org/YaLTeR/video-trimmer/-/archive/v$pkgver/video-trimmer-v$pkgver.tar.gz"
 builddir="$srcdir/$pkgname-v$pkgver"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	abuild-meson . output
 	meson compile -C output
diff --git a/testing/vivid/APKBUILD b/testing/vivid/APKBUILD
index 200966dfa24a6d88ff9bfaf8c54af4b30651c23f..4ad134173960145202bd890a0a1e46a249245819 100644
--- a/testing/vivid/APKBUILD
+++ b/testing/vivid/APKBUILD
@@ -10,6 +10,7 @@ makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/sharkdp/vivid/archive/refs/tags/v$pkgver.tar.gz"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/vocage/APKBUILD b/testing/vocage/APKBUILD
index 84e886a17044f8cb38b157800cbfb13406471234..76861be113ac9eaed41fb32bb54dbd9028cf6e16 100644
--- a/testing/vocage/APKBUILD
+++ b/testing/vocage/APKBUILD
@@ -10,6 +10,8 @@ makedepends="rust cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/proycon/vocage/archive/refs/tags/v$pkgver.tar.gz"
 options="!check" # No test suite / unit tests
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }
diff --git a/testing/wasmtime/APKBUILD b/testing/wasmtime/APKBUILD
index 1c0742fee2571cac5b43e23ff0b86b0f55a5c2a8..b63132b510929dcfd0d4633c90443e1880fb9349 100644
--- a/testing/wasmtime/APKBUILD
+++ b/testing/wasmtime/APKBUILD
@@ -19,6 +19,8 @@ options="!check net"
 # net: fetch dependencies
 # check: custom_limiter_detect_os_oom_failure fails with oom for some reason
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/watchexec/APKBUILD b/testing/watchexec/APKBUILD
index fb4ff5e5f2d8387bee12ff8d94642426a771b099..8374518e1667d139d9f49b6c0e734a59dda47f1c 100644
--- a/testing/watchexec/APKBUILD
+++ b/testing/watchexec/APKBUILD
@@ -26,6 +26,8 @@ arm*|aarch64|ppc64le)
 	;;
 esac
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 	cargo fetch --target="$CTARGET" --locked
diff --git a/testing/waylevel/APKBUILD b/testing/waylevel/APKBUILD
index a097233d4380fbe9565b05b3e7d09589b7e25fa2..f3cafbd3aa0d93c997c8bb603d594f3336e8ae02 100644
--- a/testing/waylevel/APKBUILD
+++ b/testing/waylevel/APKBUILD
@@ -17,6 +17,7 @@ makedepends="
 source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~shinyzenith/waylevel/archive/$pkgver.tar.gz"
 
 export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/weggli/APKBUILD b/testing/weggli/APKBUILD
index 33ba9d17ddcdff07388b8449b62c4cdd698731fe..b39af8bd0c4e4af9b4784f5f0ef54b223c55608d 100644
--- a/testing/weggli/APKBUILD
+++ b/testing/weggli/APKBUILD
@@ -10,6 +10,8 @@ arch="all !s390x !riscv64" # blocked by rust/cargo
 makedepends="cargo"
 source="https://github.com/googleprojectzero/weggli/archive/v$pkgver/weggli-$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/wk-adblock/APKBUILD b/testing/wk-adblock/APKBUILD
index 7b9fe9d1c4be5007ed4ab6938e1f267fec779a33..681cf43826b77e3068927477d362a14c95641a66 100644
--- a/testing/wk-adblock/APKBUILD
+++ b/testing/wk-adblock/APKBUILD
@@ -18,6 +18,7 @@ builddir="$srcdir/webextension-adblocker-$_commit"
 
 # optimise size
 export CARGO_FEATURE_USE_SYSTEM_LIBS=1
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
 
 prepare() {
 	default_prepare
diff --git a/testing/wpaperd/APKBUILD b/testing/wpaperd/APKBUILD
index c4cf34625b976fb3a1c96ea8cdb54ae44a357f72..87f6e8d639316cfc5ab02c8ba58c6f909de5e169 100644
--- a/testing/wpaperd/APKBUILD
+++ b/testing/wpaperd/APKBUILD
@@ -17,6 +17,8 @@ subpackages="
 source="https://github.com/danyspin97/wpaperd/archive/$pkgver/wpaperd-$pkgver.tar.gz"
 options="!check" # no test suite
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/xplr/APKBUILD b/testing/xplr/APKBUILD
index 8df7114a8d5fce353aa4d5d68bbb52d01e83d080..4fcc7909c7756504ffe8d0e487221efb0d68a3b5 100644
--- a/testing/xplr/APKBUILD
+++ b/testing/xplr/APKBUILD
@@ -14,6 +14,8 @@ source="
 	remove-vendored-lua.patch
 	"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/youki/APKBUILD b/testing/youki/APKBUILD
index c1430f0fbf45c383658a63c77f581e8152c9efec..fec31ed8737f6211fea9023e58eba55cbee48b36 100644
--- a/testing/youki/APKBUILD
+++ b/testing/youki/APKBUILD
@@ -26,6 +26,8 @@ options="!check"  # FIXME: some tests fail
 # Disable systemd_cgroups
 _cargo_opts='--frozen --no-default-features --features=libcgroups/v1,libcgroups/v2'
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 prepare() {
 	default_prepare
 
diff --git a/testing/zkgroup/APKBUILD b/testing/zkgroup/APKBUILD
index 632eea57955ad338bfa2cf7ff6adf0eaaccb93f4..b6063120aaae97c499bee3cba61945c330bd3b8b 100644
--- a/testing/zkgroup/APKBUILD
+++ b/testing/zkgroup/APKBUILD
@@ -10,6 +10,8 @@ license="GPL-3.0-only"
 makedepends="cargo"
 source="$pkgname-$pkgver.tar.gz::https://github.com/signalapp/zkgroup/archive/v$pkgver.tar.gz"
 
+export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
+
 build() {
 	cargo build --release --locked
 }