diff --git a/recipes/wip/firedbg/recipe.toml b/recipes/wip/firedbg/recipe.toml
index 15c3cf559e43bbce6e98be0a16ef7d049dabe97b..7de858c84d6a1fc8acc353145eccae86bed0d535 100644
--- a/recipes/wip/firedbg/recipe.toml
+++ b/recipes/wip/firedbg/recipe.toml
@@ -1,5 +1,6 @@
 #TODO probably wrong template, if it doesn't work use the "command" package
 [source]
-tar = "https://github.com/SeaQL/FireDBG.for.Rust/archive/refs/tags/1.74.1.tar.gz"
+git = "https://github.com/SeaQL/FireDBG.for.Rust"
+rev = "2c1ec30113e2a0c857a37beb4177884528ae69bc"
 [build]
 template = "cargo"
diff --git a/recipes/wip/flameshot/recipe.toml b/recipes/wip/flameshot/recipe.toml
index 46c50c0f5371b8473d36f41716941a6fd383d48b..7c64ec64984c63b6d5bc523bffce11f8c1e9b7ac 100644
--- a/recipes/wip/flameshot/recipe.toml
+++ b/recipes/wip/flameshot/recipe.toml
@@ -1,6 +1,7 @@
 #TODO missing script for CMake, see https://flameshot.org/docs/installation/source-code/#compilation
 [source]
-tar = "https://github.com/flameshot-org/flameshot/archive/refs/tags/v12.1.0.tar.gz"
+git = "https://github.com/flameshot-org/flameshot"
+rev = "70be63d478a271da549597d69bd4868607c0a395"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/flowtime/recipe.toml b/recipes/wip/flowtime/recipe.toml
index bcd96a10a8c6aa6adc990ed7dee2e6dfd9fdcfe1..abd3eda59da66becf746523331ae898487eebb6c 100644
--- a/recipes/wip/flowtime/recipe.toml
+++ b/recipes/wip/flowtime/recipe.toml
@@ -1,6 +1,7 @@
 #TODO missing script for Meson, see https://github.com/Diego-Ivan/Flowtime#building-from-source
 [source]
-tar = "https://github.com/Diego-Ivan/Flowtime/archive/refs/tags/v6.1.tar.gz"
+git = "https://github.com/Diego-Ivan/Flowtime"
+rev = "2cb1160f7f61ec0a6add292deca38a3150336f03"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/fontfor/recipe.toml b/recipes/wip/fontfor/recipe.toml
index 20739efa036e2217c25800f8dcf30575e99d2a59..43d0d391cb240cd422e23c5da7c86c5637808caf 100644
--- a/recipes/wip/fontfor/recipe.toml
+++ b/recipes/wip/fontfor/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/7sDream/fontfor/archive/refs/tags/v0.4.1.tar.gz"
+git = "https://github.com/7sDream/fontfor"
+rev = "b0d868dc5f955b58b3a5ba6c97156f4060e7474b"
 [build]
 template = "cargo"
diff --git a/recipes/wip/fselect/recipe.toml b/recipes/wip/fselect/recipe.toml
index 3152cb4c832c2aadb2967368bbf3a6c5b72ce57f..e9f777c84076b60d601531a7c75b43c6c959cc91 100644
--- a/recipes/wip/fselect/recipe.toml
+++ b/recipes/wip/fselect/recipe.toml
@@ -1,6 +1,7 @@
 #TODO make the mimalloc dependency work
 [source]
-tar = "https://github.com/jhspetersson/fselect/archive/refs/tags/0.8.3.tar.gz"
+git = "https://github.com/jhspetersson/fselect"
+rev = "94849313ee4f76752287c6887cb4b03972f0e748"
 [build]
 template = "cargo"
 dependencies = [
diff --git a/recipes/wip/fyrox/recipe.toml b/recipes/wip/fyrox/recipe.toml
index a1db1b9d8e60a4b613f5926efe0eac43a86d9011..a40f5b9320e94be0e930e62f6b6fb74ca9806a1d 100644
--- a/recipes/wip/fyrox/recipe.toml
+++ b/recipes/wip/fyrox/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested yet
 [source]
-tar = "https://github.com/FyroxEngine/Fyrox/archive/refs/tags/v0.29.tar.gz"
+git = "https://github.com/FyroxEngine/Fyrox"
+rev = "8d3e2e2cf29b7eefa78d14ff92156caeed88b955"
 [buiild]
 template = "cargo"
diff --git a/recipes/wip/gaffer/recipe.toml b/recipes/wip/gaffer/recipe.toml
index f478b47d3253daf9dde926c2afbe3760d0b89664..d2cd57978cc98efe1c67c1c3fe47d61977d61156 100644
--- a/recipes/wip/gaffer/recipe.toml
+++ b/recipes/wip/gaffer/recipe.toml
@@ -1,7 +1,8 @@
 #TODO missing script for SCons, see https://github.com/gafferHQ/gaffer#building
 #TODO missing dependencies, see https://github.com/GafferHQ/dependencies
 [source]
-tar = "https://github.com/GafferHQ/gaffer/archive/refs/tags/1.3.7.0.tar.gz"
+git = "https://github.com/GafferHQ/gaffer"
+rev = "9fe2e9c9025447913872d77c138a03eabcfa5df2"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/gameroy/recipe.toml b/recipes/wip/gameroy/recipe.toml
index f2286ba4debda2eb5741f9ce970af625d64df0e5..af08446d20be4d9e2462c89a4e6dcb8b6678861d 100644
--- a/recipes/wip/gameroy/recipe.toml
+++ b/recipes/wip/gameroy/recipe.toml
@@ -1,6 +1,7 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/Rodrigodd/gameroy/archive/refs/tags/v0.3.1.tar.gz"
+git = "https://github.com/Rodrigodd/gameroy"
+rev = "78d12b7a74cda37002cd2b964baaa761285925ab"
 [build]
 template = "custom"
 script = """
diff --git a/recipes/wip/gem5/recipe.toml b/recipes/wip/gem5/recipe.toml
index 90a64579bc6c55c000b2ea5fd2eb0515e69d8b54..692a8ed5bb2ca65fb375f45648bc63fe2cbea42c 100644
--- a/recipes/wip/gem5/recipe.toml
+++ b/recipes/wip/gem5/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for SCons, see https://www.gem5.org/documentation/general_docs/building
 [source]
-tar = "https://github.com/gem5/gem5/archive/refs/tags/v23.0.1.0.tar.gz"
+git = "https://github.com/gem5/gem5"
+rev = "6835f0665744bba3d56921c9406ee97e841b60a0"
 [build]
 template = "custom"
diff --git a/recipes/wip/gengo/recipe.toml b/recipes/wip/gengo/recipe.toml
index c5ec484a0a922c06aac6ef93d490d3e882aeb9a2..c510cbf3cb413e323e0b59affd8f78747d27ac54 100644
--- a/recipes/wip/gengo/recipe.toml
+++ b/recipes/wip/gengo/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/spenserblack/gengo/archive/refs/tags/v0.5.2.tar.gz"
+git = "https://github.com/spenserblack/gengo"
+rev = "272e794ff895149152f942a9b71ceb39711a4fb9"
 [build]
 template = "cargo"
diff --git a/recipes/wip/gifski/recipe.toml b/recipes/wip/gifski/recipe.toml
index 2f7a3cffc16d64c1e255cb599e09d7a2b8545322..e5a30ff0d317f78224e3bb2d4d918b47d1b10845 100644
--- a/recipes/wip/gifski/recipe.toml
+++ b/recipes/wip/gifski/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/ImageOptim/gifski/archive/refs/tags/1.13.0.tar.gz"
+git = "https://github.com/ImageOptim/gifski"
+rev = "ba659390435d79db66f2e5e0a876b5d2e8681dcb"
 [build]
 template = "cargo"
diff --git a/recipes/wip/git-absorb/recipe.toml b/recipes/wip/git-absorb/recipe.toml
index 6a82a7fa63eec08f47e5db8548734d1dfea82a0e..eaa5c1dc00497cddc56d61654c7351e4d52df4b3 100644
--- a/recipes/wip/git-absorb/recipe.toml
+++ b/recipes/wip/git-absorb/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/tummychow/git-absorb/archive/refs/tags/0.6.10.tar.gz"
+git = "https://github.com/tummychow/git-absorb"
+rev = "1c5aecfcc5244b8fb49c9c962387ef3713170392"
 [build]
 template = "cargo"
diff --git a/recipes/wip/git-cliff/recipe.toml b/recipes/wip/git-cliff/recipe.toml
index baed0e2d5e6f90e10b0e08892870ee47afb5f57b..9aff7b59e1103cc22734a2de95b004a11bf9d39d 100644
--- a/recipes/wip/git-cliff/recipe.toml
+++ b/recipes/wip/git-cliff/recipe.toml
@@ -1,6 +1,7 @@
 #TODO compiled but not tested (after a patch on the ring crate)
 [source]
-tar = "https://github.com/orhun/git-cliff/archive/refs/tags/v1.2.0.tar.gz"
+git = "https://github.com/orhun/git-cliff"
+rev = "0af9eb24888d1a8c9b2887fbe5427985582a0f26"
 [build]
 template = "custom"
 script = """
diff --git a/recipes/wip/git-ignore-generator/recipe.toml b/recipes/wip/git-ignore-generator/recipe.toml
index aba928fb6687a631b455dec5b0ddb908b530ae5e..ee180de9e051d931e8d4ca382476bf2eaeacf2a4 100644
--- a/recipes/wip/git-ignore-generator/recipe.toml
+++ b/recipes/wip/git-ignore-generator/recipe.toml
@@ -1,5 +1,6 @@
 #TODO compiled but not tested (after a patch on the ring crate)
 [source]
-tar = "https://github.com/sondr3/git-ignore/archive/refs/tags/v1.2.2.tar.gz"
+git = "https://github.com/sondr3/git-ignore"
+rev = "299a7149d114dbdad2c5f82617fdf36e45ccfcb0"
 [build]
 template = "cargo"
diff --git a/recipes/wip/gitui/recipe.toml b/recipes/wip/gitui/recipe.toml
index bf1502a170c5a6534a1d7ed701cc149ee5926671..3e349490298be3930c0053b03b57b8a528de9a73 100644
--- a/recipes/wip/gitui/recipe.toml
+++ b/recipes/wip/gitui/recipe.toml
@@ -1,6 +1,7 @@
 #TODO openssl-sys crate error
 [source]
-tar = "https://github.com/extrawurst/gitui/archive/refs/tags/v0.22.1.tar.gz"
+git = "https://github.com/extrawurst/gitui"
+rev = "87686118768e89b5e86611b4057c05d0d7abb2bc"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/glew/recipe.toml b/recipes/wip/glew/recipe.toml
index 9848b0ef65bfa43e6d4c9cce71c75ce58784b50f..cee6aed290aef2cf09c3d1bb1c04e7ee05bf46f4 100644
--- a/recipes/wip/glew/recipe.toml
+++ b/recipes/wip/glew/recipe.toml
@@ -1,6 +1,7 @@
 #TODO missing script for "make", see https://github.com/nigels-com/glew#linux-and-mac
 [source]
-tar = "https://github.com/nigels-com/glew/archive/refs/tags/glew-2.2.0.tar.gz"
+git = "https://github.com/nigels-com/glew"
+rev = "9fb23c3e61cbd2d581e33ff7d8579b572b38ee26"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/glfw3/recipe.toml b/recipes/wip/glfw3/recipe.toml
index f60e90045faeaf932f7ac56194902603845cf3b3..f4fa25d7815d86ae8fdfc065b02119eac1d1af6e 100644
--- a/recipes/wip/glfw3/recipe.toml
+++ b/recipes/wip/glfw3/recipe.toml
@@ -1,6 +1,7 @@
 #TODO probably wrong script, see https://www.glfw.org/docs/latest/compile.html
 [source]
-tar = "https://github.com/glfw/glfw/archive/refs/tags/3.3.8.tar.gz"
+git = "https://github.com/glfw/glfw"
+rev = "e2c92645460f680fd272fd2eed591efb2be7dc31"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/glide/recipe.toml b/recipes/wip/glide/recipe.toml
index 90a81da7407b1b8c8714ba7d1ccc4eeb9374470b..92a357da54421c153d7d61edeef77e08ec228d68 100644
--- a/recipes/wip/glide/recipe.toml
+++ b/recipes/wip/glide/recipe.toml
@@ -1,6 +1,7 @@
 #TODO Make GTK4 work
 [source]
-tar = "https://github.com/philn/glide/archive/refs/tags/0.6.0.tar.gz"
+git = "https://github.com/philn/glide"
+rev = "fc86c0e8672e0713b26edae8c6388b85d5d05177"
 [build]
 template = "cargo"
 dependencies = [
diff --git a/recipes/wip/gmic-qt/recipe.toml b/recipes/wip/gmic-qt/recipe.toml
index 5477aecde8eedc9b4367c678d3ddeb98ffe1ee3d..65567e89920eb6b11d529273aea7a5c3aa92baf3 100644
--- a/recipes/wip/gmic-qt/recipe.toml
+++ b/recipes/wip/gmic-qt/recipe.toml
@@ -1,6 +1,7 @@
 #TODO missing script for building, see https://github.com/c-koi/gmic-qt#build-instructions
 #TODO probably missing dependencies
 [source]
-tar = "https://github.com/c-koi/gmic-qt/archive/refs/tags/v.3.3.2.tar.gz"
+git = "https://github.com/c-koi/gmic-qt"
+rev = "b616829854c0e482d63b9fe8eca48e73d7cd3bd8"
 [build]
 template = "custom"
diff --git a/recipes/wip/gnu-radio/recipe.toml b/recipes/wip/gnu-radio/recipe.toml
index 221a22194fb9c0a660e9f7e47e2881e5f22393e2..be5236fc72ae806a2d11d08a06892443aeb315f3 100644
--- a/recipes/wip/gnu-radio/recipe.toml
+++ b/recipes/wip/gnu-radio/recipe.toml
@@ -1,7 +1,8 @@
 #TODO missing script for CMake, see https://wiki.gnuradio.org/index.php?title=LinuxInstall#For_GNU_Radio_3.10,_3.9,_and_Main_Branch
 #TODO probably missing dependencies, see https://wiki.gnuradio.org/index.php?title=UbuntuInstall#Install_Dependencies
 [source]
-tar = "https://github.com/gnuradio/gnuradio/archive/refs/tags/v3.10.8.0.tar.gz"
+git = "https://github.com/gnuradio/gnuradio"
+rev = "bd928539d9eaa73736f8381cd2e60953a0eb8cb8"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/goofys/recipe.toml b/recipes/wip/goofys/recipe.toml
index 58f05a0d31873689c2afe8903611b1cae910ebe7..767ca5fc7151a55152f92d014a3f9b11856c2aaf 100644
--- a/recipes/wip/goofys/recipe.toml
+++ b/recipes/wip/goofys/recipe.toml
@@ -1,5 +1,6 @@
 #TODO missing script for Go, see https://github.com/kahing/goofys/#installation
 [source]
-tar = "https://github.com/kahing/goofys/archive/refs/tags/v0.24.0.tar.gz"
+git = "https://github.com/kahing/goofys"
+rev = "45b8d78375af1b24604439d2e60c567654bcdf88"
 [build]
 template = "custom"
diff --git a/recipes/wip/goxel/recipe.toml b/recipes/wip/goxel/recipe.toml
index a21f65d78df06af0fc2d3403a364b0fb2100bb2c..a54f0fd9543c263bbfacfd742b737672f4c267a9 100644
--- a/recipes/wip/goxel/recipe.toml
+++ b/recipes/wip/goxel/recipe.toml
@@ -1,6 +1,7 @@
 #TODO missing script for the SCons, see https://github.com/guillaumechereau/goxel#linuxbsd
 [source]
-tar = "https://github.com/guillaumechereau/goxel/archive/refs/tags/v0.12.0.tar.gz"
+git = "https://github.com/guillaumechereau/goxel"
+rev = "4cdf7bc49cbfd87e60692f49483ea60271729845"
 [build]
 template = "custom"
 dependencies = [
diff --git a/recipes/wip/gpg-tui/recipe.toml b/recipes/wip/gpg-tui/recipe.toml
index 0ab279edcd73d80c35b164281b404e90eeac4e24..4035fbe6c22cf959c3989a51061a0ac2cb2fc580 100644
--- a/recipes/wip/gpg-tui/recipe.toml
+++ b/recipes/wip/gpg-tui/recipe.toml
@@ -1,6 +1,7 @@
 #TODO make dependencies work
 [source]
-tar = "https://github.com/orhun/gpg-tui/archive/refs/tags/v0.10.0.tar.gz"
+git = "https://github.com/orhun/gpg-tui"
+rev = "0f6e598f9beb19c0263d6fbc0bbbcb222fc704c4"
 [build]
 template = "cargo"
 dependencies = [
diff --git a/recipes/wip/gping/recipe.toml b/recipes/wip/gping/recipe.toml
index 28cf04b290df2c252e964c03072e3088278cb410..28cdf1ed38a6e62d6063424cae18354000fd3365 100644
--- a/recipes/wip/gping/recipe.toml
+++ b/recipes/wip/gping/recipe.toml
@@ -1,6 +1,7 @@
 #TODO weird error on the end of compilation
 [source]
-tar = "https://github.com/orf/gping/archive/refs/tags/gping-v1.12.0.tar.gz"
+git = "https://github.com/orf/gping"
+rev = "7547db0d2d8c22cf15066d51fcd41dc57cb5b046"
 [build]
 template = "custom"
 script = """
diff --git a/recipes/wip/grex/recipe.toml b/recipes/wip/grex/recipe.toml
index 33b4c53c03aa8af6c4e874decd0cf078435e7078..38aebbc4104dbec2d1d41648f0912c4ca10c766a 100644
--- a/recipes/wip/grex/recipe.toml
+++ b/recipes/wip/grex/recipe.toml
@@ -1,5 +1,6 @@
 #TODO compiled but not tested
 [source]
-tar = "https://github.com/pemistahl/grex/archive/refs/tags/v1.4.1.tar.gz"
+git = "https://github.com/pemistahl/grex"
+rev = "9b4ccfa9cc724bce43f19c51c8d512accbad93b6"
 [build]
 template = "cargo"
diff --git a/recipes/wip/google-test/recipe.toml b/recipes/wip/gtest/recipe.toml
similarity index 85%
rename from recipes/wip/google-test/recipe.toml
rename to recipes/wip/gtest/recipe.toml
index 39362de3a3202140f17a1002a3feac5de66589ea..4135886009067b1bcafceaf8ee885251b93ade77 100644
--- a/recipes/wip/google-test/recipe.toml
+++ b/recipes/wip/gtest/recipe.toml
@@ -1,6 +1,7 @@
 #TODO probably wrong script, see https://github.com/google/googletest/blob/main/googletest/README.md
 [source]
-tar = "https://github.com/google/googletest/archive/refs/tags/v1.13.0.tar.gz"
+git = "https://github.com/google/googletest"
+rev = "f8d7d77c06936315286eb55f8de22cd23c188571"
 [build]
 template = "custom"
 script = """
diff --git a/recipes/wip/gupax/recipe.toml b/recipes/wip/gupax/recipe.toml
index 1e191fbf22e7cd8e728e27ac02fea91cf1306ca7..465354b23341a2b9f6ed0076cc49c240493d9998 100644
--- a/recipes/wip/gupax/recipe.toml
+++ b/recipes/wip/gupax/recipe.toml
@@ -1,5 +1,6 @@
 #TODO Not compiled or tested
 [source]
-tar = "https://github.com/hinto-janai/gupax/archive/refs/tags/v1.3.1.tar.gz"
+git = "https://github.com/hinto-janai/gupax"
+rev = "1bfd72a8c2a1fe0a1583933e4d94a0450d0d964c"
 [build]
 template = "cargo"
diff --git a/recipes/wip/gyr/recipe.toml b/recipes/wip/gyr/recipe.toml
index 97f4989fa126bd8b0d948d8b520b279dfcdad157..02efa5083e4c1fd83e7b41d49dcae0d2cff5ea6d 100644
--- a/recipes/wip/gyr/recipe.toml
+++ b/recipes/wip/gyr/recipe.toml
@@ -1,5 +1,6 @@
 #TODO compiled but not tested
 [source]
-tar = "https://git.sr.ht/~f9/gyr/archive/v0.1.3.tar.gz"
+tar = "https://git.sr.ht/~f9/gyr"
+rev = "3418fb65da1c181eade2f5f5284cf175cafb41ec"
 [build]
 template = "cargo"
diff --git a/recipes/wip/gzdoom/recipe.toml b/recipes/wip/gzdoom/recipe.toml
index 4d3141ba187c87c825ee9f588e6acac2d5f417e3..dcbbcec2ba91f660faf0ad0125bc888373f26f6a 100644
--- a/recipes/wip/gzdoom/recipe.toml
+++ b/recipes/wip/gzdoom/recipe.toml
@@ -1,6 +1,7 @@
 #TODO missing script for CMake, see https://zdoom.org/wiki/Compile_GZDoom_on_Linux
 [source]
-tar = "https://github.com/ZDoom/gzdoom/archive/refs/tags/g4.10.0.tar.gz"
+git = "https://github.com/ZDoom/gzdoom"
+rev = "6ce809efe2902e43ceaa7031b875225d3a0367de"
 [build]
 template = "custom"
 dependencies = [