diff --git a/recipes/wip/shellfirm/recipe.toml b/recipes/wip/shellfirm/recipe.toml
index 3e6d6223301ac593231ad4a908603d0c76500594..5124bc6ff9998eb0ae1080d76daa895910601b42 100644
--- a/recipes/wip/shellfirm/recipe.toml
+++ b/recipes/wip/shellfirm/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/kaplanelad/shellfirm/archive/refs/tags/v0.2.7.tar.gz"
+git = "https://github.com/kaplanelad/shellfirm"
+rev = "0587f023a1d6b58e9fdb71d9a4e8d5460ee33c77"
 [build]
 template = "cargo"
diff --git a/recipes/wip/shokunin/recipe.toml b/recipes/wip/shokunin/recipe.toml
index a0d69876a687b9a33fc75520576a6b327b47bc82..72ec6183891d1e4be62925378177b6822e8f0141 100644
--- a/recipes/wip/shokunin/recipe.toml
+++ b/recipes/wip/shokunin/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/sebastienrousseau/shokunin/archive/refs/tags/v0.0.20.tar.gz"
+git = "https://github.com/sebastienrousseau/shokunin"
+rev = "9592f12701fb0ef3bc298f4499d2787e24fca4f3"
 [build]
 template = "cargo"
diff --git a/recipes/wip/simdjson/recipe.toml b/recipes/wip/simdjson/recipe.toml
index e334ad47efae7e643b787a7b5f66d353df8200ce..5b8cda08d151e34a1d00ded6166d3aae69471450 100644
--- a/recipes/wip/simdjson/recipe.toml
+++ b/recipes/wip/simdjson/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for CMake, see https://github.com/simdjson/simdjson/blob/master/HACKING.md#usage-cmake-on-64-bit-platforms-like-linux-freebsd-or-macos
 [source]
-tar = "https://github.com/simdjson/simdjson/archive/refs/tags/v3.6.0.tar.gz"
+git = "https://github.com/simdjson/simdjson"
+rev = "6060be2fdf62edf4a8f51a8b0883d57d09397b30"
 [build]
 template = "custom"
diff --git a/recipes/wip/skim/recipe.toml b/recipes/wip/skim/recipe.toml
index 1c9c12cd1ee7f006813058eb226705856d3488bc..12833f49f354ace091e86ac10aea5d4f1bec94ef 100644
--- a/recipes/wip/skim/recipe.toml
+++ b/recipes/wip/skim/recipe.toml
@@ -1,5 +1,6 @@
 #TODO tuikit crate error
 [source]
-tar = "https://github.com/lotabout/skim/archive/refs/tags/v0.10.4.tar.gz"
+git = "https://github.com/lotabout/skim"
+rev = "db9f194c12486343ae23b37781123ff0dbfaaf16"
 [build]
 template = "cargo"
diff --git a/recipes/wip/sn0int/recipe.toml b/recipes/wip/sn0int/recipe.toml
index d5ef0c60dc4e4c42f6fb63d30c3b0eca51aba30c..8118d68d11555fbc3f30df88d28e04b1b3d6cf62 100644
--- a/recipes/wip/sn0int/recipe.toml
+++ b/recipes/wip/sn0int/recipe.toml
@@ -1,6 +1,7 @@
 #TODO SQLite is not working
 [source]
-tar = "https://github.com/kpcyrd/sn0int/archive/refs/tags/v0.25.0.tar.gz"
+git = "https://github.com/kpcyrd/sn0int"
+rev = "b49aba5a8a6ae09c885c1aaee03fcfc9515fb42a"
 [build]
 template = "cargo"
 dependencies = [
diff --git a/recipes/wip/snappy/recipe.toml b/recipes/wip/snappy/recipe.toml
index 2962d88f4a624b9c212b0b4f3110054f7ddc76a2..d97d74228eaa33f04d769b2b06b86daa7c5b0141 100644
--- a/recipes/wip/snappy/recipe.toml
+++ b/recipes/wip/snappy/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for CMake, see https://github.com/google/snappy#building
 [source]
-tar = "https://github.com/google/snappy/archive/refs/tags/1.1.10.tar.gz"
+git = "https://github.com/google/snappy"
+rev = "dc05e026488865bc69313a68bcc03ef2e4ea8e83"
 [build]
 template = "custom"
diff --git a/recipes/wip/snes9x/recipe.toml b/recipes/wip/snes9x/recipe.toml
index a534c6a32151b4b8f7de9bce712173a98a12ed12..277836b84907d87b8ca577293f5bbd21f2c0dc3d 100644
--- a/recipes/wip/snes9x/recipe.toml
+++ b/recipes/wip/snes9x/recipe.toml
@@ -1,6 +1,7 @@
 #TODO probably wrong script, see https://github.com/snes9xgit/snes9x/wiki/Compiling
 [source]
-tar = "https://github.com/snes9xgit/snes9x/archive/refs/tags/1.62.3.tar.gz"
+git = "https://github.com/snes9xgit/snes9x"
+rev = "8b82d487937d9ea39f7229d280c6f6686c415fe7"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/sniffnet/recipe.toml b/recipes/wip/sniffnet/recipe.toml
index 2e1d214a0e51873f567f933ad662bd85f13f5097..a325d23ff28a55796d1ad8a702352654f5a3b622 100644
--- a/recipes/wip/sniffnet/recipe.toml
+++ b/recipes/wip/sniffnet/recipe.toml
@@ -1,6 +1,7 @@
 #TODO make the libpcap dependency work
 [source]
-tar = "https://github.com/GyulyVGC/sniffnet/archive/refs/tags/v1.2.2.tar.gz"
+git = "https://github.com/GyulyVGC/sniffnet"
+rev = "4d24bab70a6195ed9a6aac0326720ecb34154e68"
 [build]
 template = "cargo"
 dependencies = [
diff --git a/recipes/wip/spacer/recipe.toml b/recipes/wip/spacer/recipe.toml
index 2d931bfa6dd68a9248d189640c93d6a77749ebe9..147ca92c7679674d7ff622527d65ed40b550003b 100644
--- a/recipes/wip/spacer/recipe.toml
+++ b/recipes/wip/spacer/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/samwho/spacer/archive/refs/tags/v0.3.0.tar.gz"
+git = "https://github.com/samwho/spacer"
+rev = "9c63225e9b93e1aa8b63e64c180ffd05b7dd4b02"
 [build]
 template = "cargo"
diff --git a/recipes/wip/specfem2d/recipe.toml b/recipes/wip/specfem2d/recipe.toml
index 3dc74a294403083769e39c414a10ca9608e83467..f43f635e06271815cd18ade06a73b8a84e556197 100644
--- a/recipes/wip/specfem2d/recipe.toml
+++ b/recipes/wip/specfem2d/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for GNU Autotools", see https://specfem2d.readthedocs.io/en/latest/02_getting_started/
 [source]
-tar = "https://github.com/SPECFEM/specfem2d/archive/refs/tags/v8.0.0.tar.gz"
+git = "https://github.com/SPECFEM/specfem2d"
+rev = "0bbc7858dcd0ac9c1c64a35a41c83fa7f6847205"
 [build]
 template = "custom"
diff --git a/recipes/wip/specfem3d-globe/recipe.toml b/recipes/wip/specfem3d-globe/recipe.toml
index 6ba691af6523a2eaf1ce7f92bc0a18fd15307e56..8192ae27decde29b5405677677cf770427059704 100644
--- a/recipes/wip/specfem3d-globe/recipe.toml
+++ b/recipes/wip/specfem3d-globe/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for GNU Autotools, see https://specfem3d-globe.readthedocs.io/en/latest/02_getting_started/
 [source]
-tar = "https://github.com/SPECFEM/specfem3d_globe/archive/refs/tags/v8.0.0.tar.gz"
+git = "https://github.com/SPECFEM/specfem3d_globe"
+rev = "59f5e68c468c53a07011a795e6fa1650d6be0fd9"
 [build]
 template = "custom"
diff --git a/recipes/wip/specfem3d/recipe.toml b/recipes/wip/specfem3d/recipe.toml
index 7fde3dddf6f5f5d131f371e677065a243304322f..7247949d0a66b2ff0e00d4fa27f810f8cb97fb49 100644
--- a/recipes/wip/specfem3d/recipe.toml
+++ b/recipes/wip/specfem3d/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for GNU Autotools, see https://specfem3d.readthedocs.io/en/latest/02_getting_started/
 [source]
-tar = "https://github.com/SPECFEM/specfem3d/archive/refs/tags/v4.0.0.tar.gz"
+git = "https://github.com/SPECFEM/specfem3d"
+rev = "c97d521a9a19ed41523837f161c70deacdb180cc"
 [build]
 template = "custom"
diff --git a/recipes/wip/speedtest-rs/recipe.toml b/recipes/wip/speedtest-rs/recipe.toml
index a9b3e715dd1fae1ee536a0d2ac86014bee850ea2..5ef6625ed7c672c08c7e5fc38f48d9378c0afedc 100644
--- a/recipes/wip/speedtest-rs/recipe.toml
+++ b/recipes/wip/speedtest-rs/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/nelsonjchen/speedtest-rs/archive/refs/tags/v0.1.4.tar.gz"
+git = "https://github.com/nelsonjchen/speedtest-rs"
+rev = "b512fb824ddd663ddf862d6b38f78caa3791b502"
 [build]
 template = "cargo"
diff --git a/recipes/wip/sprinkles/recipe.toml b/recipes/wip/sprinkles/recipe.toml
index f91d5dc11ec18f75d6001e7fb3cf8867674c2eef..f364fd7d3accdb53f2e27334c9dfcf369fa5353c 100644
--- a/recipes/wip/sprinkles/recipe.toml
+++ b/recipes/wip/sprinkles/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Compiled but not tested
 [source]
-tar = "https://github.com/KhalilOuali/sprinkles/archive/refs/tags/1.0.0.tar.gz"
+git = "https://github.com/KhalilOuali/sprinkles"
+rev = "8c30f5f8e63b8fa89692ed712c52c928b42a556a"
 [build]
 template = "cargo"
diff --git a/recipes/wip/srsran-4g/recipe.toml b/recipes/wip/srsran-4g/recipe.toml
index 167f26a9730c12438401add082b4e03797add318..841b4bb8e837bf49667cdde1b5f5a39a89a01468 100644
--- a/recipes/wip/srsran-4g/recipe.toml
+++ b/recipes/wip/srsran-4g/recipe.toml
@@ -1,6 +1,7 @@
 #TODO missing script for CMake, see https://docs.srsran.com/projects/4g/en/latest/general/source/1_installation.html#installation-from-source
 [source]
-tar = "https://github.com/srsran/srsRAN_4G/archive/refs/tags/release_23_11.tar.gz"
+git = "https://github.com/srsran/srsRAN_4G"
+rev = "eea87b1d893ae58e0b08bc381730c502024ae71f"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/srsran-project/recipe.toml b/recipes/wip/srsran-project/recipe.toml
index 493295e4c115704dd7ee28e5873dbd513de4b1f2..ee445368e7b62c9ec5235906ca80d24c42e8f857 100644
--- a/recipes/wip/srsran-project/recipe.toml
+++ b/recipes/wip/srsran-project/recipe.toml
@@ -1,7 +1,8 @@
 #TODO missing script for CMake, see https://github.com/srsran/srsRAN_Project#build-instructions
 #TODO missing dependencies
 [source]
-tar = "https://github.com/srsran/srsRAN_Project/archive/refs/tags/release_23_10_1.tar.gz"
+git = "https://github.com/srsran/srsRAN_Project"
+rev = "374200deefd8e1b96fab7328525fd593a808a641"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/sshx/recipe.toml b/recipes/wip/sshx/recipe.toml
index 59594b71cd50bad90d4e6604008362bf3a237847..3d9fce2a32993809016d050677d14b150be93610 100644
--- a/recipes/wip/sshx/recipe.toml
+++ b/recipes/wip/sshx/recipe.toml
@@ -1,6 +1,6 @@
 #TODO require NodeJS and NPM
 [source]
-tar = "https://github.com/ekzhang/sshx"
+git = "https://github.com/ekzhang/sshx"
 [build]
 template = "custom"
 script = """
diff --git a/recipes/wip/starship/recipe.toml b/recipes/wip/starship/recipe.toml
index e7b7a9de31bdaed1b30f37d2a7d685d6d323a151..e8eb76a0a4b6bdaa0aa8c588bd8728467d80d909 100644
--- a/recipes/wip/starship/recipe.toml
+++ b/recipes/wip/starship/recipe.toml
@@ -1,5 +1,6 @@
 #TODO nix::unistd::User
 [source]
-tar = "https://github.com/starship/starship/archive/refs/tags/v1.16.0.tar.gz"
+git = "https://github.com/starship/starship"
+rev = "dcf7b7646c4610947765d76cf4e024a60576b2cd"
 [build]
 template = "cargo"
diff --git a/recipes/wip/stockfish/recipe.toml b/recipes/wip/stockfish/recipe.toml
index 2d1310f34eca4f017d09a029b4cfb400de2344de..61fc0a4ea7eba8fb001f0920b27091afa10d35d9 100644
--- a/recipes/wip/stockfish/recipe.toml
+++ b/recipes/wip/stockfish/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for "make", see https://disservin.github.io/stockfish-docs/pages/Compiling-from-source.html
 [source]
-tar = "https://github.com/official-stockfish/Stockfish/archive/refs/tags/sf_16.tar.gz"
+git = "https://github.com/official-stockfish/Stockfish"
+rev = "68e1e9b3811e16cad014b590d7443b9063b3eb52"
 [build]
 template = "custom"
diff --git a/recipes/wip/stremio/recipe.toml b/recipes/wip/stremio/recipe.toml
index bcb9d68fc346e16b9f3d69890b7ec4394244a82c..491776ee9d425245ef53e2b12bba821221c0f74d 100644
--- a/recipes/wip/stremio/recipe.toml
+++ b/recipes/wip/stremio/recipe.toml
@@ -1,7 +1,7 @@
 #TODO missing script for qmake and make, see https://github.com/Stremio/stremio-shell/blob/master/DEBIAN.md
 #TODO probably missing dependencies, see https://github.com/Stremio/stremio-shell/blob/master/DEBIAN.md#31-install-missing-dependencies
 [source]
-tar = "https://github.com/Stremio/stremio-shell"
+git = "https://github.com/Stremio/stremio-shell"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/stress-ng/recipe.toml b/recipes/wip/stress-ng/recipe.toml
index 3453b42e2d63ce0bd61fb789dea04dceb7ab9390..18e6735408cf56d804afe9bab63fada04f8fe486 100644
--- a/recipes/wip/stress-ng/recipe.toml
+++ b/recipes/wip/stress-ng/recipe.toml
@@ -1,7 +1,8 @@
 #TODO missing script for "make", see https://github.com/ColinIanKing/stress-ng#building-stress-ng
 #TODO missing dependencies
 [source]
-tar = "https://github.com/ColinIanKing/stress-ng/archive/refs/tags/V0.17.01.tar.gz"
+git = "https://github.com/ColinIanKing/stress-ng"
+rev = "8c39f5a2d9b199189456f414afd9e536dae69d1b"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/sudo-rs/recipe.toml b/recipes/wip/sudo-rs/recipe.toml
index 94f6c7b5b6576a677c3730cf29ce83eb1217d666..8e02feb269d04bab0f3d12fdec3604501f7c9662 100644
--- a/recipes/wip/sudo-rs/recipe.toml
+++ b/recipes/wip/sudo-rs/recipe.toml
@@ -1,5 +1,6 @@
 #TODO requires Linux PAM, probably needs porting
 [source]
-tar = "https://github.com/memorysafety/sudo-rs/archive/refs/tags/v0.2.1.tar.gz"
+git = "https://github.com/memorysafety/sudo-rs"
+rev = "195d6f851904ab00357f040eef35e31abaebbe1b"
 [build]
 template = "cargo"
diff --git a/recipes/wip/svg2pdf/recipe.toml b/recipes/wip/svg2pdf/recipe.toml
index aa17f02c3793bdd040e34cf4d5f65edcb4caa558..5ee3f736bf1c84d1743b7fd10a10482e9481183e 100644
--- a/recipes/wip/svg2pdf/recipe.toml
+++ b/recipes/wip/svg2pdf/recipe.toml
@@ -1,6 +1,7 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/typst/svg2pdf/archive/refs/tags/v0.9.0.tar.gz"
+git = "https://github.com/typst/svg2pdf"
+rev = "7d13eab7f01a9ab1577cfb348eead05726658c53"
 [build]
 template = "custom"
 script = """
diff --git a/recipes/wip/svt-av1/recipe.toml b/recipes/wip/svt-av1/recipe.toml
index 9c81d55d9f59dae5d225da372a9f32d27031b93b..8d0875f99e44e338a6287e7afb35d827225c4f1e 100644
--- a/recipes/wip/svt-av1/recipe.toml
+++ b/recipes/wip/svt-av1/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for building, see https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/master/Docs/Build-Guide.md#linux-operating-systems-64-bit
 [source]
-tar = "https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v1.8.0/SVT-AV1-v1.8.0.tar.bz2"
+git = "https://gitlab.com/AOMediaCodec/SVT-AV1"
+rev = "59645eea34e2815b627b8293aa3af254eddd0d69"
 [build]
 template = "custom"
diff --git a/recipes/wip/svt-hevc/recipe.toml b/recipes/wip/svt-hevc/recipe.toml
index 43dd471cd2e38f2ab3311dd8b42aeb2bb0e4c53c..b52fae9e38321ac5b0843a1ed4d2f95444bcd206 100644
--- a/recipes/wip/svt-hevc/recipe.toml
+++ b/recipes/wip/svt-hevc/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for CMake, see https://github.com/OpenVisualCloud/SVT-HEVC#linux-operating-systems-64-bit
 [source]
-tar = "https://github.com/OpenVisualCloud/SVT-HEVC/archive/refs/tags/v1.5.1.tar.gz"
+git = "https://github.com/OpenVisualCloud/SVT-HEVC"
+rev = "b65eba07e6dee37407631cc441561960838b0333"
 [build]
 template = "custom"
diff --git a/recipes/wip/swc/recipe.toml b/recipes/wip/swc/recipe.toml
index b313e6693c44e6b54bb6cd7304530c9617b0b4d5..51a9e777567c2002e622bcf9fc1a015179c290d6 100644
--- a/recipes/wip/swc/recipe.toml
+++ b/recipes/wip/swc/recipe.toml
@@ -1,5 +1,5 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/swc-project/swc"
+git = "https://github.com/swc-project/swc"
 [build]
 template = "cargo"
diff --git a/recipes/wip/sws/recipe.toml b/recipes/wip/sws/recipe.toml
index 1b243f8c1523817c1c537c99df74f409ef1f31c3..d144dc1d2e2d2c177deda5d958a5976ac06ce45e 100644
--- a/recipes/wip/sws/recipe.toml
+++ b/recipes/wip/sws/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/static-web-server/static-web-server/archive/refs/tags/v2.24.1.tar.gz"
+git = "https://github.com/static-web-server/static-web-server"
+rev = "98a5cc40d276f3dac3c2c36530b966b213fb9ffc"
 [build]
 template = "cargo"
diff --git a/recipes/wip/t-rec/recipe.toml b/recipes/wip/t-rec/recipe.toml
index b2ed93204e1ee37032c2e2e7309d5aa267cc30e7..370bd2d59f6d729bffc21c2b990031f565483d66 100644
--- a/recipes/wip/t-rec/recipe.toml
+++ b/recipes/wip/t-rec/recipe.toml
@@ -1,6 +1,7 @@
 #TODO require XWayland
 [source]
-tar = "https://github.com/sassman/t-rec-rs/archive/refs/tags/v0.7.6.tar.gz"
+git = "https://github.com/sassman/t-rec-rs"
+rev = "da911b978e9e87a917c7c865e5aa4d833209d9e0"
 [build]
 template = "cargo"
 dependencies = [
diff --git a/recipes/wip/tauro-monitor/recipe.toml b/recipes/wip/tauro-monitor/recipe.toml
index 7d8d7d7ccc4d2b8b32ca680dbcb2433a65fa3e79..3ed900d7e4d18215c263d228bcdbb7d3b2ec96f3 100644
--- a/recipes/wip/tauro-monitor/recipe.toml
+++ b/recipes/wip/tauro-monitor/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for Meson, lacking installation instructions
 [source]
-tar = "https://github.com/taunoe/tauno-monitor/archive/refs/tags/v0.1.5.tar.gz"
+git = "https://github.com/taunoe/tauno-monitor"
+rev = "fecab98710bf6918141f34709f4ee1a055413056"
 [build]
 template = "custom"
diff --git a/recipes/wip/tealdeer/recipe.toml b/recipes/wip/tealdeer/recipe.toml
index 7529278864f2f2bfea8265ce2d3296eae1bff48e..bb96675e8adab627b40804376f16bea39447f3ed 100644
--- a/recipes/wip/tealdeer/recipe.toml
+++ b/recipes/wip/tealdeer/recipe.toml
@@ -1,5 +1,5 @@
-#TODO require a patch on ring and tokio on the dependency chain (locked version)
+#TODO require a patch on ring
 [source]
-tar = "https://github.com/dbrgn/tealdeer/archive/refs/tags/v1.6.1.tar.gz"
+git = "https://github.com/dbrgn/tealdeer"
 [build]
 template = "cargo"
diff --git a/recipes/wip/termimage/recipe.toml b/recipes/wip/termimage/recipe.toml
index 8dc08269f8e5703183f6b231f68b4430cbc9428a..3caabda11b8a496ee3bbcd4d13f452212c1eaf8b 100644
--- a/recipes/wip/termimage/recipe.toml
+++ b/recipes/wip/termimage/recipe.toml
@@ -1,5 +1,6 @@
 #TODO move to the proper category
 [source]
-tar = "https://github.com/nabijaczleweli/termimage/archive/refs/tags/v1.2.1.tar.gz"
+git = "https://github.com/nabijaczleweli/termimage"
+rev = "6156416a61fc5bfe78bdbda71e7f11f77a9adf9e"
 [build]
 template = "cargo"
diff --git a/recipes/wip/termusic/recipe.toml b/recipes/wip/termusic/recipe.toml
index da24f078ceec7838995158f18c8fb72ef92f2529..b1ee43703b1ebb7c8bf0d47aa16b1d9018e632d6 100644
--- a/recipes/wip/termusic/recipe.toml
+++ b/recipes/wip/termusic/recipe.toml
@@ -1,6 +1,7 @@
 #TODO missing script for "make", see https://github.com/tramhao/termusic#from-source
 [source]
-tar = "https://github.com/tramhao/termusic/archive/refs/tags/v0.7.4.tar.gz"
+git = "https://github.com/tramhao/termusic"
+rev = "109405465bd5873567b5387c20e9b149e477b176"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/thwack/recipe.toml b/recipes/wip/thwack/recipe.toml
index 14a108f9dfaf27b33b085791da537c91d12d861a..f22c8865fe15b4565e4e10cba108db0a94fa31ec 100644
--- a/recipes/wip/thwack/recipe.toml
+++ b/recipes/wip/thwack/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/yykamei/thwack/archive/refs/tags/v0.8.16.tar.gz"
+git = "https://github.com/yykamei/thwack"
+rev = "6763a2a9da03ffb746580c69f8d77161e5f6ba4e"
 [build]
 template = "cargo"
diff --git a/recipes/wip/tidb-server/recipe.toml b/recipes/wip/tidb-server/recipe.toml
index 8ddeb1a22c49cf4f74207ff29a4dfaa5727a1284..088b3fe4efd0ce5eef88fff15a0ac578be785b63 100644
--- a/recipes/wip/tidb-server/recipe.toml
+++ b/recipes/wip/tidb-server/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for "make", see https://pingcap.github.io/tidb-dev-guide/get-started/build-tidb-from-source.html#build
 [source]
-tar = "https://github.com/pingcap/tidb/archive/refs/tags/v7.5.0.tar.gz"
+git = "https://github.com/pingcap/tidb"
+rev = "8445821f105477d5e31de9d8451b7fbf35a02cd1"
 [build]
 template = "custom"
diff --git a/recipes/wip/tin-summer/recipe.toml b/recipes/wip/tin-summer/recipe.toml
index 256527441fd98ec229c668dbf3223e8f340dcdba..0434379e0f892fbd3376da1691455b651fe0b087 100644
--- a/recipes/wip/tin-summer/recipe.toml
+++ b/recipes/wip/tin-summer/recipe.toml
@@ -1,5 +1,5 @@
 #TODO compiled but not tested
 [source]
-tar = "https://github.com/vmchale/tin-summer/archive/refs/tags/1.21.14.tar.gz"
+git = "https://github.com/vmchale/tin-summer"
 [build]
 template = "cargo"
diff --git a/recipes/wip/tiny/recipe.toml b/recipes/wip/tiny/recipe.toml
index 526c5ff9ffb1864e43675c404eb02c7b13dcc346..67932d7ee0f7be200a2a9fcfb9d2295182d5629e 100644
--- a/recipes/wip/tiny/recipe.toml
+++ b/recipes/wip/tiny/recipe.toml
@@ -1,6 +1,7 @@
 #TODO compiled but not tested (after a patch on the ring crate)
 [source]
-tar = "https://github.com/osa1/tiny/archive/refs/tags/v0.11.0.tar.gz"
+git = "https://github.com/osa1/tiny"
+rev = "939fe1a689cd622161a43da445ebc6718478040d"
 [build]
 template = "custom"
 script = """
diff --git a/recipes/wip/tnn/recipe.toml b/recipes/wip/tnn/recipe.toml
index c510e1daca966007e6cf8dc520c3a82bdf42ca87..6d4224a6f5d45e8de329dedfd1e73652c91e50d8 100644
--- a/recipes/wip/tnn/recipe.toml
+++ b/recipes/wip/tnn/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for building, see https://github.com/Tencent/TNN/blob/master/doc/en/user/compile_en.md#iv-compilex86-linux
 [source]
-tar = "https://github.com/Tencent/TNN/archive/refs/tags/v0.3.0.tar.gz"
+git = "https://github.com/Tencent/TNN"
+rev = "491dfc8653e200b5e8a428069638e191662a0882"
 [build]
 template = "custom"
diff --git a/recipes/wip/tobaru/recipe.toml b/recipes/wip/tobaru/recipe.toml
index 75f21f5781559fe70893f70a628649e686a9e955..ea15f4abbb0bca987d5b6cbaf94e2c49dd5616e0 100644
--- a/recipes/wip/tobaru/recipe.toml
+++ b/recipes/wip/tobaru/recipe.toml
@@ -1,5 +1,6 @@
 #TODO can't update libc crate version
 [source]
-tar = "https://github.com/cfal/tobaru/archive/refs/tags/0.7.1.tar.gz"
+git = "https://github.com/cfal/tobaru"
+rev = "95afac34f0c54694ef0e114e87555f8e671d9f1b"
 [build]
 template = "cargo"
\ No newline at end of file
diff --git a/recipes/wip/topgrade/recipe.toml b/recipes/wip/topgrade/recipe.toml
index d8ec7d00687416c9f5e07cef4476048775b3fc83..9e8193327bf790e6892eb042b0f58b56d9032f72 100644
--- a/recipes/wip/topgrade/recipe.toml
+++ b/recipes/wip/topgrade/recipe.toml
@@ -1,5 +1,6 @@
 #TODO compiled but not tested
 [source]
-tar = "https://github.com/topgrade-rs/topgrade/archive/refs/tags/v12.0.2.tar.gz"
+git = "https://github.com/topgrade-rs/topgrade"
+rev = "41c6d1cd9ab86254ffd29945b91e5e1b8eeebf64"
 [build]
 template = "cargo"
diff --git a/recipes/wip/tori/recipe.toml b/recipes/wip/tori/recipe.toml
index a9c53028e7ab9a9fddea56d7ff0b6a4815e124b1..9426e337d6e10051ad212e78f09c33963cd41cf5 100644
--- a/recipes/wip/tori/recipe.toml
+++ b/recipes/wip/tori/recipe.toml
@@ -1,6 +1,7 @@
 #TODO make mpv works
 [source]
-tar = "https://github.com/LeoRiether/tori/archive/refs/tags/v0.2.5.tar.gz"
+git = "https://github.com/LeoRiether/tori"
+rev = "422e5bbb1477b6fdd3a56e0db1b3553ce362e153"
 [build]
 template = "cargo"
 dependencies = [
diff --git a/recipes/wip/tp-note/recipe.toml b/recipes/wip/tp-note/recipe.toml
index 9ec91fef748e3cda29c218a6507aed029f96dd7e..ed93890b8b117374bd2baf8dc190ba2c8c7d6718 100644
--- a/recipes/wip/tp-note/recipe.toml
+++ b/recipes/wip/tp-note/recipe.toml
@@ -1,6 +1,7 @@
 #TODO require Wayland?
 [source]
-tar = "https://gitlab.com/getreu/tp-note/-/archive/v1.21.4/tp-note-v1.21.4.tar.gz"
+git = "https://gitlab.com/getreu/tp-note"
+rev = "1a8241211382efafb37961888aebc0065d56a95e"
 [build]
 template = "custom"
 script = """
diff --git a/recipes/wip/tplay/recipe.toml b/recipes/wip/tplay/recipe.toml
index f9ec0d3de2e6c8c6f4f7117228522ba2ff23cc5b..a922c6ecd18a66d783104a907c32b9ed774ec9a4 100644
--- a/recipes/wip/tplay/recipe.toml
+++ b/recipes/wip/tplay/recipe.toml
@@ -1,6 +1,7 @@
 #TODO Make OpenCV 4 work
 [source]
-tar = "https://github.com/maxcurzi/tplay/archive/refs/tags/v0.4.5.tar.gz"
+git = "https://github.com/maxcurzi/tplay"
+rev = "f32d5d3df7e3c6a873d1b113ef3b707b016b3a69"
 [build]
 template = "cargo"
 dependencies = [
diff --git a/recipes/wip/tracy/recipe.toml b/recipes/wip/tracy/recipe.toml
index 1dd2a876191815f63d4dc7d41045022baf03244b..ee0859e37071440f5f2b75761b2e552fa81684ec 100644
--- a/recipes/wip/tracy/recipe.toml
+++ b/recipes/wip/tracy/recipe.toml
@@ -1,6 +1,7 @@
 #TODO missing script for "make", see https://github.com/wolfpld/tracy/releases/latest/download/tracy.pdf
 [source]
-tar = "https://github.com/wolfpld/tracy/archive/refs/tags/v0.10.tar.gz"
+git = "https://github.com/wolfpld/tracy"
+rev = "37aff70dfa50cf6307b3fee6074d627dc2929143"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/treq/recipe.toml b/recipes/wip/treq/recipe.toml
index c72d6492b6f456a262e73cede47ba0be4a274ee6..90203d2fd8394f1852c626fb583585ea5aa90092 100644
--- a/recipes/wip/treq/recipe.toml
+++ b/recipes/wip/treq/recipe.toml
@@ -1,6 +1,7 @@
 #TODO thread-id crate error (after cargo update)
 [source]
-tar = "https://github.com/talis-fb/TReq/archive/refs/tags/v0.4.0.tar.gz"
+git = "https://github.com/talis-fb/TReq"
+rev = "74a5d919fe34aff6c8f3f2a614e107f0dca70caf"
 [build]
 template = "cargo"
 dependencies = [
diff --git a/recipes/wip/trippy/recipe.toml b/recipes/wip/trippy/recipe.toml
index 0e76726ba90eb2cccb0ad4d62abc6d62d35e315a..59d98fe9bdc98ab7047a8d0f9f581dead80f321c 100644
--- a/recipes/wip/trippy/recipe.toml
+++ b/recipes/wip/trippy/recipe.toml
@@ -1,5 +1,6 @@
 #TODO source code error (after cargo update)
 [source]
-tar = "https://github.com/fujiapple852/trippy/archive/refs/tags/0.8.0.tar.gz"
+git = "https://github.com/fujiapple852/trippy"
+rev = "388b99c495da48c548c72ff94e9d23a2f125e186"
 [build]
 template = "cargo"
diff --git a/recipes/wip/ttyper/recipe.toml b/recipes/wip/ttyper/recipe.toml
index 07320b2c3c4b6bd05abc69e68cdbbfe92503c688..cb7464c8d87b0e635c09a988d3c1b1740b7d5dda 100644
--- a/recipes/wip/ttyper/recipe.toml
+++ b/recipes/wip/ttyper/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/max-niederman/ttyper/archive/refs/tags/v1.4.0.tar.gz"
+git = "https://github.com/max-niederman/ttyper"
+rev = "662a6682984afa6efca707b693ae68622e52ac24"
 [build]
 template = "cargo"
diff --git a/recipes/wip/tui-journal/recipe.toml b/recipes/wip/tui-journal/recipe.toml
index 1d43b04ff7e36272889ac2c8b60001f2399b4303..376b2c3c46e728e3ab3d46e67b48882dd723d189 100644
--- a/recipes/wip/tui-journal/recipe.toml
+++ b/recipes/wip/tui-journal/recipe.toml
@@ -1,6 +1,7 @@
 #TODO SQLite is not working
 [source]
-tar = "https://github.com/AmmarAbouZor/tui-journal/archive/refs/tags/v0.2.0.tar.gz"
+git = "https://github.com/AmmarAbouZor/tui-journal"
+rev = "40943d8b4081d61cd549398ff68c6f219444167b"
 [build]
 template = "cargo"
 dependencies = [
diff --git a/recipes/wip/tv/recipe.toml b/recipes/wip/tv/recipe.toml
index 913b0ee95e60066f18bad78efa7296ca0f625512..d14fb0d72bdf96b8dc6ca8bd70e74bb7e65c8b5b 100644
--- a/recipes/wip/tv/recipe.toml
+++ b/recipes/wip/tv/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/alexhallam/tv/archive/refs/tags/1.5.2.tar.gz"
+git = "https://github.com/alexhallam/tv"
+rev = "ec8f7cf81f201e0046c0047dc5ed840c4e9f6e3b"
 [build]
 template = "cargo"
diff --git a/recipes/wip/typst/recipe.toml b/recipes/wip/typst/recipe.toml
index 839273b44778bb3fe05bd7c5a110e27af9242661..293b9fc6f6033cf7d0b2643107f84e8132e64275 100644
--- a/recipes/wip/typst/recipe.toml
+++ b/recipes/wip/typst/recipe.toml
@@ -1,6 +1,7 @@
 #TODO require rustc 1.70 or newer
 [source]
-tar = "https://github.com/typst/typst/archive/refs/tags/v0.7.0.tar.gz"
+git = "https://github.com/typst/typst"
+rev = "70ca0d257bb4ba927f63260e20443f244e0bb58c"
 [build]
 template = "custom"
 script = """
diff --git a/recipes/wip/upscaler/recipe.toml b/recipes/wip/upscaler/recipe.toml
index 7d805b6dc41b651f376ee3bcfbe5ee739c2bae09..b9393e380c7eb271d315e953bb5374f60df08b99 100644
--- a/recipes/wip/upscaler/recipe.toml
+++ b/recipes/wip/upscaler/recipe.toml
@@ -1,6 +1,7 @@
 #TODO missing script for Meson, see https://gitlab.gnome.org/World/Upscaler#meson
 [source]
-tar = "https://gitlab.gnome.org/World/Upscaler/-/archive/1.2.2/Upscaler-1.2.2.tar.gz"
+git = "https://gitlab.gnome.org/World/Upscaler"
+rev = "30c2a8411fac281ed548189a9fea45dc9efe5b68"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/uvg266/recipe.toml b/recipes/wip/uvg266/recipe.toml
index ca601048b825a2d515fd74a3b1ff5ca72436b08a..052bdece877b120b333e8aecafe4423230322650 100644
--- a/recipes/wip/uvg266/recipe.toml
+++ b/recipes/wip/uvg266/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for CMake, see https://github.com/ultravideo/uvg266#compiling-uvg266
 [source]
-tar = "https://github.com/ultravideo/uvg266/archive/refs/tags/v0.8.0.tar.gz"
+git = "https://github.com/ultravideo/uvg266"
+rev = "9add13b7053a6ba3f6b22bf82728e01fc437a447"
 [build]
 template = "custom"