aseprite: 1.3.6 -> 1.3.7
* use clangStdenv * update deps (pcre -> pcre2, tinyxml -> tinyxml-2) * add patch to use shared `fmt` dependency * format with nixfmt * remove usage of "with lib;"
This commit is contained in:
parent
e329e660bb
commit
f6b705d0bf
@ -1,112 +0,0 @@
|
|||||||
{ stdenv, lib, callPackage, fetchFromGitHub, cmake, ninja, pkg-config
|
|
||||||
, curl, freetype, giflib, libjpeg, libpng, libwebp, pixman, tinyxml, zlib
|
|
||||||
, harfbuzzFull, glib, fontconfig, pcre
|
|
||||||
, libX11, libXext, libXcursor, libXxf86vm, libGL, libXi
|
|
||||||
, cmark
|
|
||||||
}:
|
|
||||||
|
|
||||||
# Unfree version is not redistributable:
|
|
||||||
# https://dev.aseprite.org/2016/09/01/new-source-code-license/
|
|
||||||
# Consider supporting the developer: https://aseprite.org/#buy
|
|
||||||
|
|
||||||
let
|
|
||||||
skia = callPackage ./skia.nix {};
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "aseprite";
|
|
||||||
version = "1.3.6";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "aseprite";
|
|
||||||
repo = "aseprite";
|
|
||||||
rev = "v${version}";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
hash = "sha256-17f6pIGsOIswnyY63pjHKEEYuCo43kf25mPLBv4vQAs=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
cmake pkg-config ninja
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
curl freetype giflib libjpeg libpng libwebp pixman tinyxml zlib
|
|
||||||
libX11 libXext libXcursor libXxf86vm
|
|
||||||
cmark
|
|
||||||
harfbuzzFull glib fontconfig pcre
|
|
||||||
skia libGL libXi
|
|
||||||
];
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
./shared-libwebp.patch
|
|
||||||
./shared-skia-deps.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
sed -i src/ver/CMakeLists.txt -e "s-set(VERSION \".*\")-set(VERSION \"$version\")-"
|
|
||||||
'';
|
|
||||||
|
|
||||||
cmakeFlags = [
|
|
||||||
"-DENABLE_UPDATER=OFF"
|
|
||||||
"-DUSE_SHARED_CURL=ON"
|
|
||||||
"-DUSE_SHARED_FREETYPE=ON"
|
|
||||||
"-DUSE_SHARED_GIFLIB=ON"
|
|
||||||
"-DUSE_SHARED_JPEGLIB=ON"
|
|
||||||
"-DUSE_SHARED_LIBPNG=ON"
|
|
||||||
"-DUSE_SHARED_LIBWEBP=ON"
|
|
||||||
"-DUSE_SHARED_PIXMAN=ON"
|
|
||||||
"-DUSE_SHARED_TINYXML=ON"
|
|
||||||
"-DUSE_SHARED_ZLIB=ON"
|
|
||||||
"-DUSE_SHARED_CMARK=ON"
|
|
||||||
"-DUSE_SHARED_HARFBUZZ=ON"
|
|
||||||
"-DUSE_SHARED_WEBP=ON"
|
|
||||||
# Disable libarchive programs.
|
|
||||||
"-DENABLE_CAT=OFF"
|
|
||||||
"-DENABLE_CPIO=OFF"
|
|
||||||
"-DENABLE_TAR=OFF"
|
|
||||||
# UI backend.
|
|
||||||
"-DLAF_WITH_EXAMPLES=OFF"
|
|
||||||
"-DLAF_OS_BACKEND=skia"
|
|
||||||
"-DENABLE_DESKTOP_INTEGRATION=ON"
|
|
||||||
"-DSKIA_DIR=${skia}"
|
|
||||||
"-DSKIA_LIBRARY_DIR=${skia}/out/Release"
|
|
||||||
];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
# Install desktop icons.
|
|
||||||
src="$out/share/aseprite/data/icons"
|
|
||||||
for size in 16 32 48 64; do
|
|
||||||
dst="$out"/share/icons/hicolor/"$size"x"$size"
|
|
||||||
install -Dm644 "$src"/ase"$size".png "$dst"/apps/aseprite.png
|
|
||||||
install -Dm644 "$src"/doc"$size".png "$dst"/mimetypes/aseprite.png
|
|
||||||
done
|
|
||||||
# Delete unneeded artifacts of bundled libraries.
|
|
||||||
rm -rf "$out"/include "$out"/lib
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = { inherit skia; };
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
homepage = "https://www.aseprite.org/";
|
|
||||||
description = "Animated sprite editor & pixel art tool";
|
|
||||||
license = licenses.unfree;
|
|
||||||
longDescription =
|
|
||||||
''Aseprite is a program to create animated sprites. Its main features are:
|
|
||||||
|
|
||||||
- Sprites are composed by layers & frames (as separated concepts).
|
|
||||||
- Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale.
|
|
||||||
- Load/save sequence of PNG files and GIF animations (and FLC, FLI, JPG, BMP, PCX, TGA).
|
|
||||||
- Export/import animations to/from Sprite Sheets.
|
|
||||||
- Tiled drawing mode, useful to draw patterns and textures.
|
|
||||||
- Undo/Redo for every operation.
|
|
||||||
- Real-time animation preview.
|
|
||||||
- Multiple editors support.
|
|
||||||
- Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc.
|
|
||||||
- Onion skinning.
|
|
||||||
|
|
||||||
This version is not redistributable: https://dev.aseprite.org/2016/09/01/new-source-code-license/
|
|
||||||
Consider supporting the developer: https://aseprite.org/#buy
|
|
||||||
'';
|
|
||||||
maintainers = with maintainers; [ orivej ];
|
|
||||||
platforms = platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
170
pkgs/by-name/as/aseprite/package.nix
Normal file
170
pkgs/by-name/as/aseprite/package.nix
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
{
|
||||||
|
clangStdenv,
|
||||||
|
cmake,
|
||||||
|
cmark,
|
||||||
|
curl,
|
||||||
|
fetchFromGitHub,
|
||||||
|
fetchpatch,
|
||||||
|
fmt,
|
||||||
|
fontconfig,
|
||||||
|
freetype,
|
||||||
|
giflib,
|
||||||
|
gitUpdater,
|
||||||
|
glib,
|
||||||
|
harfbuzzFull,
|
||||||
|
lib,
|
||||||
|
libGL,
|
||||||
|
libjpeg,
|
||||||
|
libpng,
|
||||||
|
libwebp,
|
||||||
|
libX11,
|
||||||
|
libXcursor,
|
||||||
|
libXext,
|
||||||
|
libXi,
|
||||||
|
libXxf86vm,
|
||||||
|
ninja,
|
||||||
|
pcre2,
|
||||||
|
pixman,
|
||||||
|
pkg-config,
|
||||||
|
skia-aseprite,
|
||||||
|
tinyxml-2,
|
||||||
|
zlib,
|
||||||
|
}:
|
||||||
|
|
||||||
|
clangStdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "aseprite";
|
||||||
|
version = "1.3.7";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "aseprite";
|
||||||
|
repo = "aseprite";
|
||||||
|
rev = "v" + finalAttrs.version;
|
||||||
|
fetchSubmodules = true;
|
||||||
|
hash = "sha256-75kYJXmyags0cW2D5Ksq1uUrFSCAkFOdmn7Ya/6jLXc=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
cmark
|
||||||
|
curl
|
||||||
|
fmt
|
||||||
|
fontconfig
|
||||||
|
freetype
|
||||||
|
giflib
|
||||||
|
glib
|
||||||
|
harfbuzzFull
|
||||||
|
libGL
|
||||||
|
libjpeg
|
||||||
|
libpng
|
||||||
|
libwebp
|
||||||
|
libX11
|
||||||
|
libXcursor
|
||||||
|
libXext
|
||||||
|
libXi
|
||||||
|
libXxf86vm
|
||||||
|
pcre2
|
||||||
|
pixman
|
||||||
|
skia-aseprite
|
||||||
|
tinyxml-2
|
||||||
|
zlib
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# https://github.com/aseprite/aseprite/issues/4486
|
||||||
|
# FIXME: remove on next release.
|
||||||
|
(fetchpatch {
|
||||||
|
name = "ENABLE_UPDATER-fix.patch";
|
||||||
|
url = "https://github.com/aseprite/aseprite/commit/8fce589.patch";
|
||||||
|
hash = "sha256-DbL6kK//gQXbsXEn/t+KTuoM7E9ocPAsVqEO+lYrka4=";
|
||||||
|
})
|
||||||
|
./shared-fmt.patch
|
||||||
|
./shared-libwebp.patch
|
||||||
|
./shared-skia-deps.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch =
|
||||||
|
let
|
||||||
|
# Translation strings
|
||||||
|
strings = fetchFromGitHub {
|
||||||
|
owner = "aseprite";
|
||||||
|
repo = "strings";
|
||||||
|
rev = "e18a09fefbb6cd904e506183d5fbe08558a52ed4";
|
||||||
|
hash = "sha256-GyCCxbhgf0vST20EH/+KkNLrF+U9Xzgpxlao8s925PQ=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
''
|
||||||
|
sed -i src/ver/CMakeLists.txt -e "s-set(VERSION \".*\")-set(VERSION \"$version\")-"
|
||||||
|
rm -rf data/strings
|
||||||
|
cp -r ${strings} data/strings
|
||||||
|
'';
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DENABLE_DESKTOP_INTEGRATION=ON"
|
||||||
|
"-DENABLE_UPDATER=OFF"
|
||||||
|
"-DUSE_SHARED_CMARK=ON"
|
||||||
|
"-DUSE_SHARED_CURL=ON"
|
||||||
|
"-DUSE_SHARED_FMT=ON"
|
||||||
|
"-DUSE_SHARED_FREETYPE=ON"
|
||||||
|
"-DUSE_SHARED_GIFLIB=ON"
|
||||||
|
"-DUSE_SHARED_HARFBUZZ=ON"
|
||||||
|
"-DUSE_SHARED_JPEGLIB=ON"
|
||||||
|
"-DUSE_SHARED_LIBPNG=ON"
|
||||||
|
"-DUSE_SHARED_LIBWEBP=ON"
|
||||||
|
"-DUSE_SHARED_PIXMAN=ON"
|
||||||
|
"-DUSE_SHARED_TINYXML=ON"
|
||||||
|
"-DUSE_SHARED_WEBP=ON"
|
||||||
|
"-DUSE_SHARED_ZLIB=ON"
|
||||||
|
# Disable libarchive programs.
|
||||||
|
"-DENABLE_CAT=OFF"
|
||||||
|
"-DENABLE_CPIO=OFF"
|
||||||
|
"-DENABLE_TAR=OFF"
|
||||||
|
# UI backend.
|
||||||
|
"-DLAF_OS_BACKEND=skia"
|
||||||
|
"-DLAF_WITH_EXAMPLES=OFF"
|
||||||
|
"-DSKIA_DIR=${skia-aseprite}"
|
||||||
|
"-DSKIA_LIBRARY_DIR=${skia-aseprite}/lib"
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
# Install desktop icons.
|
||||||
|
src="$out/share/aseprite/data/icons"
|
||||||
|
for size in 16 32 48 64 128 256; do
|
||||||
|
dst="$out"/share/icons/hicolor/"$size"x"$size"
|
||||||
|
install -Dm644 "$src"/ase"$size".png "$dst"/apps/aseprite.png
|
||||||
|
install -Dm644 "$src"/doc"$size".png "$dst"/mimetypes/image-x-aseprite.png
|
||||||
|
done
|
||||||
|
# Delete unneeded artifacts of bundled libraries.
|
||||||
|
rm -rf "$out"/{include,lib,man}
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://www.aseprite.org/";
|
||||||
|
description = "Animated sprite editor & pixel art tool";
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
longDescription = ''
|
||||||
|
Aseprite is a program to create animated sprites. Its main features are:
|
||||||
|
|
||||||
|
- Sprites are composed by layers & frames (as separated concepts).
|
||||||
|
- Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale.
|
||||||
|
- Load/save sequence of PNG files and GIF animations (and FLC, FLI, JPG, BMP, PCX, TGA).
|
||||||
|
- Export/import animations to/from Sprite Sheets.
|
||||||
|
- Tiled drawing mode, useful to draw patterns and textures.
|
||||||
|
- Undo/Redo for every operation.
|
||||||
|
- Real-time animation preview.
|
||||||
|
- Multiple editors support.
|
||||||
|
- Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc.
|
||||||
|
- Onion skinning.
|
||||||
|
'';
|
||||||
|
maintainers = with lib.maintainers; [
|
||||||
|
orivej
|
||||||
|
];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
|
})
|
71
pkgs/by-name/as/aseprite/shared-fmt.patch
Normal file
71
pkgs/by-name/as/aseprite/shared-fmt.patch
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
--- a/CMakeLists.txt 2022-01-08 00:37:08.165330523 +0100
|
||||||
|
+++ b/CMakeLists.txt 2022-01-08 00:52:41.163585173 +0100
|
||||||
|
@@ -54,6 +54,7 @@
|
||||||
|
|
||||||
|
option(USE_SHARED_CMARK "Use your installed copy of cmark" off)
|
||||||
|
option(USE_SHARED_CURL "Use your installed copy of curl" off)
|
||||||
|
+option(USE_SHARED_FMT "Use your installed copy of fmt" off)
|
||||||
|
option(USE_SHARED_GIFLIB "Use your installed copy of giflib" off)
|
||||||
|
option(USE_SHARED_JPEGLIB "Use your installed copy of jpeglib" off)
|
||||||
|
option(USE_SHARED_ZLIB "Use your installed copy of zlib" off)
|
||||||
|
@@ -165,6 +165,7 @@
|
||||||
|
set(SOURCE_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/data)
|
||||||
|
set(CMARK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/cmark)
|
||||||
|
set(CURL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/curl)
|
||||||
|
+set(FMT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/fmt)
|
||||||
|
set(GIFLIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/giflib)
|
||||||
|
set(LIBJPEG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/jpeg)
|
||||||
|
set(LIBPNG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/libpng)
|
||||||
|
@@ -204,6 +205,15 @@
|
||||||
|
set(CURL_STATICLIB ON BOOL)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+if(USE_SHARED_FMT)
|
||||||
|
+ find_package(FMT REQUIRED)
|
||||||
|
+ set(FMT_LIBRARIES fmt::fmt)
|
||||||
|
+else()
|
||||||
|
+ set(FMT_FOUND)
|
||||||
|
+ set(FMT_LIBRARIES fmt)
|
||||||
|
+ # No need to include extra directories, actually
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
# zlib
|
||||||
|
if(USE_SHARED_ZLIB)
|
||||||
|
find_package(ZLIB REQUIRED)
|
||||||
|
--- a/src/app/CMakeLists.txt 2022-01-08 00:37:07.378671200 +0100
|
||||||
|
+++ b/src/app/CMakeLists.txt 2022-01-08 00:53:13.669969512 +0100
|
||||||
|
@@ -741,7 +741,7 @@ target_link_libraries(app-lib
|
||||||
|
${HARFBUZZ_LIBRARIES}
|
||||||
|
json11
|
||||||
|
archive_static
|
||||||
|
- fmt
|
||||||
|
+ ${FMT_LIBRARIES}
|
||||||
|
tinyexpr
|
||||||
|
qoi)
|
||||||
|
|
||||||
|
if(ENABLE_PSD)
|
||||||
|
--- a/src/dio/CMakeLists.txt 2022-01-08 00:41:50.712726972 +0100
|
||||||
|
+++ b/src/dio/CMakeLists.txt 2022-01-08 00:53:39.936408022 +0100
|
||||||
|
@@ -10,7 +10,7 @@
|
||||||
|
|
||||||
|
target_link_libraries(dio-lib
|
||||||
|
${ZLIB_LIBRARIES}
|
||||||
|
- fmt
|
||||||
|
+ ${FMT_LIBRARIES}
|
||||||
|
flic-lib
|
||||||
|
laf-base
|
||||||
|
fixmath-lib
|
||||||
|
--- a/third_party/CMakeLists.txt 2022-01-08 00:37:08.165330523 +0100
|
||||||
|
+++ b/third_party/CMakeLists.txt 2022-01-08 00:54:30.455969136 +0100
|
||||||
|
@@ -106,7 +106,10 @@
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_subdirectory(simpleini)
|
||||||
|
-add_subdirectory(fmt)
|
||||||
|
+
|
||||||
|
+if(NOT USE_SHARED_FMT)
|
||||||
|
+ add_subdirectory(fmt)
|
||||||
|
+endif()
|
||||||
|
|
||||||
|
# Add cmark without tests
|
||||||
|
if(NOT USE_SHARED_CMARK)
|
@ -29587,8 +29587,6 @@ with pkgs;
|
|||||||
|
|
||||||
asap = callPackage ../tools/audio/asap { };
|
asap = callPackage ../tools/audio/asap { };
|
||||||
|
|
||||||
aseprite = callPackage ../applications/editors/aseprite { };
|
|
||||||
|
|
||||||
assign-lb-ip = callPackage ../applications/networking/cluster/assign-lb-ip { };
|
assign-lb-ip = callPackage ../applications/networking/cluster/assign-lb-ip { };
|
||||||
|
|
||||||
astroid = callPackage ../applications/networking/mailreaders/astroid {
|
astroid = callPackage ../applications/networking/mailreaders/astroid {
|
||||||
|
Loading…
Reference in New Issue
Block a user