git: 1661d68a016e - main - graphics/libresprite: New port: Animated sprite editor and pixel art tool
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 29 Sep 2025 07:20:52 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=1661d68a016ee5a8d0c5b1337851a824d2d4f3bd
commit 1661d68a016ee5a8d0c5b1337851a824d2d4f3bd
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-09-29 07:04:09 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-09-29 07:20:47 +0000
graphics/libresprite: New port: Animated sprite editor and pixel art tool
---
graphics/Makefile | 1 +
graphics/libresprite/Makefile | 34 ++++++
graphics/libresprite/distinfo | 13 ++
.../libresprite/files/patch-src_she_sdl2_she.cpp | 11 ++
graphics/libresprite/pkg-descr | 4 +
graphics/libresprite/pkg-plist | 132 +++++++++++++++++++++
6 files changed, 195 insertions(+)
diff --git a/graphics/Makefile b/graphics/Makefile
index ce35c0ad81de..50b87413c358 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -516,6 +516,7 @@
SUBDIR += libqrencode
SUBDIR += librasterlite2
SUBDIR += libraw
+ SUBDIR += libresprite
SUBDIR += librsvg2
SUBDIR += librsvg2-rust
SUBDIR += librtprocess
diff --git a/graphics/libresprite/Makefile b/graphics/libresprite/Makefile
new file mode 100644
index 000000000000..c27595075c16
--- /dev/null
+++ b/graphics/libresprite/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= libresprite
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.2
+CATEGORIES= graphics
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Animated sprite editor and pixel art tool
+WWW= https://libresprite.github.io \
+ https://github.com/LibreSprite/LibreSprite
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+LIB_DEPENDS= libcurl.so:ftp/curl \
+ libfreetype.so:print/freetype2 \
+ libgif.so:graphics/giflib \
+ libtinyxml2.so:textproc/tinyxml2 \
+ libpng16.so:graphics/png \
+ libwebp.so:graphics/webp
+
+USES= cmake compiler:c++20-lang jpeg libarchive localbase:ldflags pkgconfig sdl xorg
+USE_SDL= image2 sdl2
+USE_XORG= ice pixman sm x11 xcb xcursor xext xi xpm xxf86vm xxf86dga
+
+USE_GITHUB= yes
+GH_ACCOUNT= LibreSprite
+GH_PROJECT= LibreSprite
+GH_TUPLE= aseprite:simpleini:c94997d:simpleini/third_party/simpleini \
+ libresprite:duktape:6f71555:duktape/third_party/duktape \
+ aseprite:flic:876ef60:flic/src/flic \
+ aseprite:clip:94693e2:clip/src/clip \
+ aseprite:undo:f39b188:undo/src/undo
+
+.include <bsd.port.mk>
diff --git a/graphics/libresprite/distinfo b/graphics/libresprite/distinfo
new file mode 100644
index 000000000000..6b1f485a6e7b
--- /dev/null
+++ b/graphics/libresprite/distinfo
@@ -0,0 +1,13 @@
+TIMESTAMP = 1759123602
+SHA256 (LibreSprite-LibreSprite-v1.2_GH0.tar.gz) = bfc2b1c83847feb390d248f1df8f9264dbd885d9fbea2a6303cd26f42b939400
+SIZE (LibreSprite-LibreSprite-v1.2_GH0.tar.gz) = 14255193
+SHA256 (aseprite-simpleini-c94997d_GH0.tar.gz) = 511ae8fdb65a46a80af88f5a7547b669f7e324e6a23b32b48f57ca6f4613e0c9
+SIZE (aseprite-simpleini-c94997d_GH0.tar.gz) = 55214
+SHA256 (libresprite-duktape-6f71555_GH0.tar.gz) = 0522b35c3d481afc1ac1b8b1075b6ad276a891e404ff19cf973eb0317cb839df
+SIZE (libresprite-duktape-6f71555_GH0.tar.gz) = 932118
+SHA256 (aseprite-flic-876ef60_GH0.tar.gz) = 35f69efb4980e3f34531e141ff48165de1fb15c3da621b90aabae2bf4424ba54
+SIZE (aseprite-flic-876ef60_GH0.tar.gz) = 8188
+SHA256 (aseprite-clip-94693e2_GH0.tar.gz) = 51a11a8d3a5dc0dbf77be9b9c9ba41b2c1921043dfbdb7d4fe1e202a7e7a653c
+SIZE (aseprite-clip-94693e2_GH0.tar.gz) = 27748
+SHA256 (aseprite-undo-f39b188_GH0.tar.gz) = adfa338452fb7af52da89d87f72a45ae6acf9f84a3b73fc1f712f69ddaabb220
+SIZE (aseprite-undo-f39b188_GH0.tar.gz) = 4114
diff --git a/graphics/libresprite/files/patch-src_she_sdl2_she.cpp b/graphics/libresprite/files/patch-src_she_sdl2_she.cpp
new file mode 100644
index 000000000000..8c917de15a84
--- /dev/null
+++ b/graphics/libresprite/files/patch-src_she_sdl2_she.cpp
@@ -0,0 +1,11 @@
+--- src/she/sdl2/she.cpp.orig 2025-09-29 05:30:09 UTC
++++ src/she/sdl2/she.cpp
+@@ -39,6 +39,8 @@
+ #include <chrono>
+ #include <thread>
+
++#undef None // see https://github.com/LibreSprite/LibreSprite/issues/563
++
+ float penPressure = 0;
+
+ namespace ui {
diff --git a/graphics/libresprite/pkg-descr b/graphics/libresprite/pkg-descr
new file mode 100644
index 000000000000..9d8b6e522920
--- /dev/null
+++ b/graphics/libresprite/pkg-descr
@@ -0,0 +1,4 @@
+LibreSprite is a free and open-source animated sprite editor and pixel art tool.
+It is a fork of Aseprite, providing a powerful environment for creating
+2D animations and pixel-perfect graphics. Ideal for game development
+and artistic expression.
diff --git a/graphics/libresprite/pkg-plist b/graphics/libresprite/pkg-plist
new file mode 100644
index 000000000000..ea255ddcd444
--- /dev/null
+++ b/graphics/libresprite/pkg-plist
@@ -0,0 +1,132 @@
+bin/libresprite
+%%DATADIR%%/data/convmatr.def
+%%DATADIR%%/data/fonts/OFL.txt
+%%DATADIR%%/data/fonts/allegro.pcx
+%%DATADIR%%/data/fonts/anipro_fixed.pcx
+%%DATADIR%%/data/fonts/anipro_variable.pcx
+%%DATADIR%%/data/fonts/ase1.pcx
+%%DATADIR%%/data/fonts/ase2.pcx
+%%DATADIR%%/data/fonts/font-ar.ttf
+%%DATADIR%%/data/fonts/font-jp.ttf
+%%DATADIR%%/data/fonts/font-kr.ttf
+%%DATADIR%%/data/fonts/font-zh.ttf
+%%DATADIR%%/data/fonts/font.ttf
+%%DATADIR%%/data/gui.xml
+%%DATADIR%%/data/icons/ase.ico
+%%DATADIR%%/data/icons/ase16.png
+%%DATADIR%%/data/icons/ase32.png
+%%DATADIR%%/data/icons/ase48.png
+%%DATADIR%%/data/icons/ase64.png
+%%DATADIR%%/data/icons/doc.ico
+%%DATADIR%%/data/icons/doc16.png
+%%DATADIR%%/data/icons/doc32.png
+%%DATADIR%%/data/icons/doc48.png
+%%DATADIR%%/data/icons/doc64.png
+%%DATADIR%%/data/languages/ar.json
+%%DATADIR%%/data/languages/de.json
+%%DATADIR%%/data/languages/en.json
+%%DATADIR%%/data/languages/es.json
+%%DATADIR%%/data/languages/fr.json
+%%DATADIR%%/data/languages/hi.json
+%%DATADIR%%/data/languages/id.json
+%%DATADIR%%/data/languages/it.json
+%%DATADIR%%/data/languages/jp.json
+%%DATADIR%%/data/languages/kr.json
+%%DATADIR%%/data/languages/pt.json
+%%DATADIR%%/data/languages/ru.json
+%%DATADIR%%/data/languages/zh.json
+%%DATADIR%%/data/palettes/a64.gpl
+%%DATADIR%%/data/palettes/aap-16.gpl
+%%DATADIR%%/data/palettes/aap-64.gpl
+%%DATADIR%%/data/palettes/aap-splendor128.gpl
+%%DATADIR%%/data/palettes/apple-ii.gpl
+%%DATADIR%%/data/palettes/arne-paldac.gpl
+%%DATADIR%%/data/palettes/arne16.gpl
+%%DATADIR%%/data/palettes/arne32.gpl
+%%DATADIR%%/data/palettes/atari2600-ntsc.gpl
+%%DATADIR%%/data/palettes/atari2600-pal.gpl
+%%DATADIR%%/data/palettes/cg-arne.gpl
+%%DATADIR%%/data/palettes/cga.gpl
+%%DATADIR%%/data/palettes/commodore-plus4.gpl
+%%DATADIR%%/data/palettes/commodore-vic20.gpl
+%%DATADIR%%/data/palettes/commodore64.gpl
+%%DATADIR%%/data/palettes/copper-tech.gpl
+%%DATADIR%%/data/palettes/cpc-boy.gpl
+%%DATADIR%%/data/palettes/db16.gpl
+%%DATADIR%%/data/palettes/db32.gpl
+%%DATADIR%%/data/palettes/eroge-copper.gpl
+%%DATADIR%%/data/palettes/gameboy-color-type1.gpl
+%%DATADIR%%/data/palettes/gameboy.gpl
+%%DATADIR%%/data/palettes/google-ui.gpl
+%%DATADIR%%/data/palettes/jmp.gpl
+%%DATADIR%%/data/palettes/master-system.gpl
+%%DATADIR%%/data/palettes/monokai.gpl
+%%DATADIR%%/data/palettes/nes-ntsc.gpl
+%%DATADIR%%/data/palettes/nes.gpl
+%%DATADIR%%/data/palettes/pico-8.gpl
+%%DATADIR%%/data/palettes/psygnork.gpl
+%%DATADIR%%/data/palettes/smile-basic.gpl
+%%DATADIR%%/data/palettes/solarized.gpl
+%%DATADIR%%/data/palettes/teletext.gpl
+%%DATADIR%%/data/palettes/vga-13h.gpl
+%%DATADIR%%/data/palettes/web-safe-colors.gpl
+%%DATADIR%%/data/palettes/win16.gpl
+%%DATADIR%%/data/palettes/x11.gpl
+%%DATADIR%%/data/palettes/zx-spectrum.gpl
+%%DATADIR%%/data/pref.xml
+%%DATADIR%%/data/scripts/Random.js
+%%DATADIR%%/data/scripts/examples/Heightmap.js
+%%DATADIR%%/data/scripts/examples/PerLineOscillation.js
+%%DATADIR%%/data/scripts/examples/Voxel.js
+%%DATADIR%%/data/scripts/examples/ai.js
+%%DATADIR%%/data/scripts/examples/http.js
+%%DATADIR%%/data/scripts/white_to_alpha.js
+%%DATADIR%%/data/skins/classic/palette.png
+%%DATADIR%%/data/skins/classic/sheet.png
+%%DATADIR%%/data/skins/classic/skin.xml
+%%DATADIR%%/data/skins/default/README.md
+%%DATADIR%%/data/skins/default/palette.png
+%%DATADIR%%/data/skins/default/sheet.png
+%%DATADIR%%/data/skins/default/skin.xml
+%%DATADIR%%/data/splash.ase
+%%DATADIR%%/data/splash.png
+%%DATADIR%%/data/widgets/advanced_mode.xml
+%%DATADIR%%/data/widgets/brush_slot_params.xml
+%%DATADIR%%/data/widgets/canvas_size.xml
+%%DATADIR%%/data/widgets/cel_properties.xml
+%%DATADIR%%/data/widgets/color_curve_point.xml
+%%DATADIR%%/data/widgets/convolution_matrix.xml
+%%DATADIR%%/data/widgets/despeckle.xml
+%%DATADIR%%/data/widgets/duplicate_sprite.xml
+%%DATADIR%%/data/widgets/export_sprite_sheet.xml
+%%DATADIR%%/data/widgets/file_selector.xml
+%%DATADIR%%/data/widgets/font_popup.xml
+%%DATADIR%%/data/widgets/frame_properties.xml
+%%DATADIR%%/data/widgets/frame_tag_properties.xml
+%%DATADIR%%/data/widgets/gif_options.xml
+%%DATADIR%%/data/widgets/goto_frame.xml
+%%DATADIR%%/data/widgets/grid_settings.xml
+%%DATADIR%%/data/widgets/home_view.xml
+%%DATADIR%%/data/widgets/import_sprite_sheet.xml
+%%DATADIR%%/data/widgets/jpeg_options.xml
+%%DATADIR%%/data/widgets/keyboard_shortcuts.xml
+%%DATADIR%%/data/widgets/layer_properties.xml
+%%DATADIR%%/data/widgets/main_window.xml
+%%DATADIR%%/data/widgets/modify_selection.xml
+%%DATADIR%%/data/widgets/new_folder_window.xml
+%%DATADIR%%/data/widgets/new_layer.xml
+%%DATADIR%%/data/widgets/new_sprite.xml
+%%DATADIR%%/data/widgets/options.xml
+%%DATADIR%%/data/widgets/palette_from_sprite.xml
+%%DATADIR%%/data/widgets/palette_popup.xml
+%%DATADIR%%/data/widgets/palette_size.xml
+%%DATADIR%%/data/widgets/paste_text.xml
+%%DATADIR%%/data/widgets/replace_color.xml
+%%DATADIR%%/data/widgets/select_accelerator.xml
+%%DATADIR%%/data/widgets/send_crash.xml
+%%DATADIR%%/data/widgets/sprite_properties.xml
+%%DATADIR%%/data/widgets/sprite_size.xml
+%%DATADIR%%/data/widgets/timeline_conf.xml
+%%DATADIR%%/data/widgets/undo_history.xml
+%%DATADIR%%/data/widgets/user_data.xml
+%%DATADIR%%/data/widgets/webp_options.xml