Name: libresprite %global rtld_name io.github.libresprite.libresprite Summary: Pixel art editor # - LibreSprite itself is GPLv2. # - Bundled EasyTab (third_party/EasyTab/) is Unlicense. # - Bundled MODP_B64 (third_party/modp_b64) is BSD-3-Clause. # - Bundled observable (third_party/observable/) is MIT. # It also uses simpleini and qoi, which are static libraries subject to MIT. License: GPL-2.0-only AND Unlicense BSD-3-Clause AND MIT Version: 1.2 Release: 1%{?dist} URL: https://github.com/LibreSprite/LibreSprite Source0: %{URL}/archive/v%{version}/LibreSprite-v%{version}.tar.gz # Allow building with system-provided duktape and simpleini. Patch0: LibreSprite--unbundle-libs.patch # LibreSprite is a fork of Aseprite, made from the last GPLv2 commit before # Aseprite became closed source. The original Aseprite split some of its code # out into reusable components. With LibreSprite, some of those components are # now part of the main repo, but some are still pulled in via git submodules. # We need to download and unpack those separately. %global clip_commit 94693e2414a2c69a8ca16f065240c80a94cc6221 Source10: https://github.com/aseprite/clip/archive/%{clip_commit}/clip-%{clip_commit}.tar.gz %global flic_commit 876ef60df5fec606f8eb0638ee893e4967db4673 Source11: https://github.com/aseprite/flic/archive/%{flic_commit}/flic-%{flic_commit}.tar.gz %global undo_commit f39b188e29d0f9adaa49c8705c0f492939d967a9 Source12: https://github.com/aseprite/undo/archive/%{undo_commit}/undo-%{undo_commit}.tar.gz BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: gcc-c++ BuildRequires: libappstream-glib # CMakeLists check for these... BuildRequires: cmake(PNG) BuildRequires: cmake(SDL2) BuildRequires: cmake(SimpleIni) BuildRequires: cmake(tinyxml2) BuildRequires: cmake(WebP) BuildRequires: cmake(zlib) BuildRequires: pkgconfig(duktape) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(libarchive) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(pixman-1) BuildRequires: pkgconfig(SDL2_image) BuildRequires: giflib-devel BuildRequires: v8-14.6-devel # ...and these are just #include'd without checking anything. BuildRequires: libXi-devel BuildRequires: qoi-devel # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} Requires: hicolor-icon-theme Requires: %{name}-data = %{version}-%{release} Provides: bundled(EasyTab) Provides: bundled(modp_b64) Provides: bundled(observable) %description LibreSprite lets you create 2D animations for videogames. From sprites, to pixel-art, retro style graphics, and whatever else you like about the 8-bit (and 16-bit) era. %package data Summary: Data files for LibreSprite BuildArch: noarch %description data This package contains data (fonts, translations, widgets, et cetera) required for LibreSprite to work correctly. %prep %setup -q -n LibreSprite-%{version} pushd src rm -rf clip flic undo tar xzf %{SOURCE10} tar xzf %{SOURCE11} tar xzf %{SOURCE12} mv clip-%{clip_commit} clip mv flic-%{flic_commit} flic mv undo-%{undo_commit} undo popd %autopatch -p1 ln -sf %{_includedir}/qoi.h third_party/qoi/qoi.h %build %cmake \ -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ -DWITH_WEBP_SUPPORT=ON \ -DWITH_DESKTOP_INTEGRATION=ON \ -DUSE_SDL2_BACKEND=ON %cmake_build %install %cmake_install %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{rtld_name}.metainfo.xml %files %license LICENSE.txt %doc docs/ README.md %{_bindir}/%{name} %{_bindir}/%{name}-thumbnailer %{_datadir}/applications/%{name}.desktop %{_datadir}/mime/packages/aseprite.xml %{_datadir}/thumbnailers/ %{_metainfodir}/%{rtld_name}.metainfo.xml %files data %{_datadir}/%{name} %{_datadir}/icons/hicolor/**/apps/%{name}.png %changelog * Tue Sep 22 2026 Artur Frenszek-Iwicki - 1.2-1 - Update to v1.2 * Sat Jul 28 2018 Artur Iwicki - 1.0-1 - Initial packaging