diff --git a/recipes/sdl2_image/recipe.sh b/recipes/sdl2_image/recipe.sh
deleted file mode 100644
index ade62418c38e6bcfae229b0256e609bee2a5dcfe..0000000000000000000000000000000000000000
--- a/recipes/sdl2_image/recipe.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-VERSION=2.0.4
-TAR=https://www.libsdl.org/projects/SDL_image/release/SDL2_image-$VERSION.tar.gz
-BUILD_DEPENDS=(sdl2 liborbital mesa mesa mesa_glu libiconv libjpeg libpng zlib)
-
-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"
-    export SDL_LIBS="-lSDL2 -lorbital $("${PKG_CONFIG}" --libs glu) -lz -lm -lpthread -lstdc++"
-    ./configure --prefix=/ --build=${BUILD} --host=${HOST} --disable-shared --disable-sdltest --enable-png --enable-jpg
-    "$REDOX_MAKE" -j"$($NPROC)"
-    skip=1
-}
-
-function recipe_test {
-    echo "skipping test"
-    skip=1
-}
-
-function recipe_clean {
-    "$REDOX_MAKE" clean
-    skip=1
-}
-
-function recipe_stage {
-    dest="$(realpath $1)"
-    "$REDOX_MAKE" DESTDIR="$dest" install
-    rm -f "$dest/lib/"*.la
-    skip=1
-}
diff --git a/recipes/sdl2_image/recipe.toml b/recipes/sdl2_image/recipe.toml
new file mode 100644
index 0000000000000000000000000000000000000000..1f87ce4c38b8958ce9fd785358a273d520f04368
--- /dev/null
+++ b/recipes/sdl2_image/recipe.toml
@@ -0,0 +1,27 @@
+[source]
+tar = "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.4.tar.gz"
+
+[build]
+template = "custom"
+dependencies = [
+    "libjpeg",
+    "liborbital",
+    "libpng",
+    "llvm",
+    "mesa",
+    "sdl2",
+    "zlib",
+]
+script = """
+export SDL_LIBS="-lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa) -lstdc++"
+COOKBOOK_CONFIGURE_FLAGS=(
+    --prefix=/
+    --host="${TARGET}"
+    --disable-shared
+    --disable-sdltest
+    --enable-png
+    --enable-jpg
+)
+set -x
+cookbook_configure
+"""