diff --git a/recipes/curl/recipe.sh b/recipes/curl/recipe.sh
index 80ef01b77c1de11f93f8fbbfa507151a3eb797ce..e3ec678872abe9d1f26386afb83506b4f2a8f6b1 100644
--- a/recipes/curl/recipe.sh
+++ b/recipes/curl/recipe.sh
@@ -31,7 +31,8 @@ function recipe_clean {
 }
 
 function recipe_stage {
-    mkdir "$1/bin"
-    cp src/curl "$1/bin"
+    dest="$(realpath $1)"
+    make DESTDIR="$dest" install
+    rm -rf "$1"/{share,lib/pkgconfig}
     skip=1
 }
diff --git a/recipes/expat/recipe.sh b/recipes/expat/recipe.sh
new file mode 100644
index 0000000000000000000000000000000000000000..672180052f4e1f631ac6e6eae1d9ac27ef2bbb0b
--- /dev/null
+++ b/recipes/expat/recipe.sh
@@ -0,0 +1,37 @@
+VERSION=2.2.1
+TAR=http://downloads.sourceforge.net/project/expat/expat/$VERSION/expat-$VERSION.tar.bz2
+
+HOST=x86_64-elf-redox
+
+function recipe_version {
+    echo "$VERSION"
+    skip=1
+}
+
+function recipe_update {
+    echo "skipping update"
+    skip=1
+}
+
+function recipe_build {
+    ./configure --host=${HOST} --prefix=/
+    make -j"$(nproc)"
+    skip=1
+}
+
+function recipe_test {
+    echo "skipping test"
+    skip=1
+}
+
+function recipe_clean {
+    make clean
+    skip=1
+}
+
+function recipe_stage {
+    dest="$(realpath $1)"
+    make DESTDIR="$dest" install
+    rm -rf "$1"/{lib/pkgconfig,share}
+    skip=1
+}
diff --git a/recipes/git/recipe.sh b/recipes/git/recipe.sh
index 71b17ffafece00cf9240e787a6c651b470020d14..b19f0403a0b2ed4333d35b9b5062d944d66a7f62 100644
--- a/recipes/git/recipe.sh
+++ b/recipes/git/recipe.sh
@@ -1,6 +1,6 @@
 VERSION=2.13.1
 TAR=https://www.kernel.org/pub/software/scm/git/git-$VERSION.tar.xz
-BUILD_DEPENDS=(zlib)
+BUILD_DEPENDS=(zlib curl openssl expat)
 
 HOST=x86_64-elf-redox
 
@@ -16,7 +16,7 @@ export RANLIB="${HOST}-ranlib"
 export READELF="${HOST}-readelf"
 export STRIP="${HOST}-strip"
 
-MAKEFLAGS="NO_MMAP=1"
+MAKEFLAGS="NO_MMAP=1 NEEDS_SSL_WITH_CURL=1 NEEDS_CRYPTO_WITH_SSL=1"
 
 function recipe_version {
     echo "$VERSION"
@@ -29,7 +29,10 @@ function recipe_update {
 }
 
 function recipe_build {
-    ./configure --host=${HOST} --prefix=/ --with-zlib="${PWD}/../sysroot" ac_cv_fread_reads_directories=yes ac_cv_snprintf_returns_bogus=yes
+    sysroot="${PWD}/../sysroot"
+    export LDFLAGS="-L$sysroot/lib"
+    export CPPFLAGS="-I$sysroot/include"
+    ./configure --host=${HOST} --prefix=/ ac_cv_fread_reads_directories=yes ac_cv_snprintf_returns_bogus=yes ac_cv_lib_curl_curl_global_init=yes CURL_CONFIG=no
     make ${MAKEFLAGS}
     skip=1
 }