diff --git a/recipes/libffi/recipe.sh b/recipes/libffi/recipe.sh
new file mode 100644
index 0000000000000000000000000000000000000000..111c20252bab1d1e7ec98635e0a103c3a0044d59
--- /dev/null
+++ b/recipes/libffi/recipe.sh
@@ -0,0 +1,44 @@
+VERSION=3.2.1
+TAR=ftp://sourceware.org/pub/libffi/libffi-$VERSION.tar.gz
+BUILD_DEPENDS=()
+
+function recipe_version {
+    echo "$VERSION"
+    skip=1
+}
+
+function recipe_update {
+    echo "skipping update"
+    skip=1
+}
+
+function recipe_build {
+    sysroot="$(realpath ../sysroot)"
+    export CFLAGS="-I$sysroot/include"
+    export LDFLAGS="-L$sysroot/lib"
+    wget -O config.sub http://git.savannah.gnu.org/cgit/config.git/plain/config.sub
+    ./configure \
+        --host=${HOST} \
+        --prefix=/ \
+        --disable-shared \
+        --enable-static
+    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 -f "$dest/lib/"*.la
+    skip=1
+}