diff --git a/srcpkgs/libresprite/patches/0001-Set-default-gui-size-to-200.patch b/srcpkgs/libresprite/patches/0001-Set-default-gui-size-to-200.patch
new file mode 100644
index 00000000000000..7a5c48df6a0089
--- /dev/null
+++ b/srcpkgs/libresprite/patches/0001-Set-default-gui-size-to-200.patch
@@ -0,0 +1,11 @@
+--- a/data/pref.xml
++++ b/data/pref.xml
+@@ -123,7 +123,7 @@
+
+
+
+-
++
+
+
+
diff --git a/srcpkgs/libresprite/patches/cross-compilation-use-hostbuilt-gen.patch b/srcpkgs/libresprite/patches/cross-compilation-use-hostbuilt-gen.patch
new file mode 100644
index 00000000000000..899c74969b6930
--- /dev/null
+++ b/srcpkgs/libresprite/patches/cross-compilation-use-hostbuilt-gen.patch
@@ -0,0 +1,38 @@
+--- a/src/app/CMakeLists.txt
++++ b/src/app/CMakeLists.txt
+@@ -9,7 +9,7 @@ foreach(widget_file ${widget_files})
+
+ add_custom_command(
+ OUTPUT ${output_fn}
+- COMMAND ${CMAKE_BINARY_DIR}/bin/gen --input ${widget_file} --widgetid ${widget_name} > ${output_fn}.tmp
++ COMMAND gen --input ${widget_file} --widgetid ${widget_name} > ${output_fn}.tmp
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${output_fn}.tmp ${output_fn}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ MAIN_DEPENDENCY ${widget_file}
+@@ -24,7 +24,7 @@ set(pref_xml ${CMAKE_SOURCE_DIR}/data/pref.xml)
+ set(output_fn ${CMAKE_CURRENT_BINARY_DIR}/pref.xml.h)
+ add_custom_command(
+ OUTPUT ${output_fn}
+- COMMAND ${CMAKE_BINARY_DIR}/bin/gen --input ${pref_xml} --pref-h > ${output_fn}.tmp
++ COMMAND gen --input ${pref_xml} --pref-h > ${output_fn}.tmp
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${output_fn}.tmp ${output_fn}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ MAIN_DEPENDENCY ${pref_xml}
+@@ -34,7 +34,7 @@ list(APPEND generated_files ${output_fn})
+ set(output_fn ${CMAKE_CURRENT_BINARY_DIR}/pref.xml.cpp)
+ add_custom_command(
+ OUTPUT ${output_fn}
+- COMMAND ${CMAKE_BINARY_DIR}/bin/gen --input ${pref_xml} --pref-cpp > ${output_fn}.tmp
++ COMMAND gen --input ${pref_xml} --pref-cpp > ${output_fn}.tmp
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${output_fn}.tmp ${output_fn}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ MAIN_DEPENDENCY ${pref_xml}
+@@ -46,7 +46,7 @@ set(skin_xml ${CMAKE_SOURCE_DIR}/data/skins/default/skin.xml)
+ set(output_fn ${CMAKE_CURRENT_BINARY_DIR}/skin.xml.h)
+ add_custom_command(
+ OUTPUT ${output_fn}
+- COMMAND ${CMAKE_BINARY_DIR}/bin/gen --input ${skin_xml} --skin > ${output_fn}.tmp
++ COMMAND gen --input ${skin_xml} --skin > ${output_fn}.tmp
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${output_fn}.tmp ${output_fn}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ MAIN_DEPENDENCY ${skin_xml}
\ No newline at end of file
diff --git a/srcpkgs/libresprite/template b/srcpkgs/libresprite/template
new file mode 100644
index 00000000000000..afc91edfe20a4f
--- /dev/null
+++ b/srcpkgs/libresprite/template
@@ -0,0 +1,24 @@
+# Template file for 'libresprite'
+pkgname=libresprite
+version=1.2
+revision=1
+build_style=cmake
+build_helper=qemu
+configure_args="-DCMAKE_EXE_LINKER_FLAGS='-lwebp'"
+hostmakedepends="pkg-config"
+makedepends="freetype-devel tinyxml2-devel giflib-devel libwebp-devel
+ SDL2-devel libjpeg-turbo-devel SDL2_image-devel libpng-devel libXi-devel
+ pixman-devel libarchive-devel libcurl-devel"
+short_desc="Animated sprite editor & pixel art tool"
+maintainer="Kirilla39 "
+license="GPL-2.0-only"
+homepage="https://github.com/libresprite/libresprite"
+distfiles="https://github.com/libresprite/libresprite/releases/download/v${version}/SOURCE.CODE.+.submodules.tar.gz"
+checksum="38a2387694df9d5725244622d1c2e6cae8aced06b19c19cfbeab96afb13523c0"
+
+post_install() {
+ vinstall desktop/libresprite.desktop 644 usr/share/applications libresprite.desktop
+ for size in 16 32 48 64 256; do
+ vinstall desktop/icons/hicolor/${size}x${size}/apps/libresprite.png 644 usr/share/icons/hicolor/${size}x${size}/apps/
+ done
+}