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;"

vigress8 f6b705d0 e329e660

+241 -114
-112
pkgs/applications/editors/aseprite/default.nix
··· 1 - { stdenv, lib, callPackage, fetchFromGitHub, cmake, ninja, pkg-config 2 - , curl, freetype, giflib, libjpeg, libpng, libwebp, pixman, tinyxml, zlib 3 - , harfbuzzFull, glib, fontconfig, pcre 4 - , libX11, libXext, libXcursor, libXxf86vm, libGL, libXi 5 - , cmark 6 - }: 7 - 8 - # Unfree version is not redistributable: 9 - # https://dev.aseprite.org/2016/09/01/new-source-code-license/ 10 - # Consider supporting the developer: https://aseprite.org/#buy 11 - 12 - let 13 - skia = callPackage ./skia.nix {}; 14 - in 15 - stdenv.mkDerivation rec { 16 - pname = "aseprite"; 17 - version = "1.3.6"; 18 - 19 - src = fetchFromGitHub { 20 - owner = "aseprite"; 21 - repo = "aseprite"; 22 - rev = "v${version}"; 23 - fetchSubmodules = true; 24 - hash = "sha256-17f6pIGsOIswnyY63pjHKEEYuCo43kf25mPLBv4vQAs="; 25 - }; 26 - 27 - nativeBuildInputs = [ 28 - cmake pkg-config ninja 29 - ]; 30 - 31 - buildInputs = [ 32 - curl freetype giflib libjpeg libpng libwebp pixman tinyxml zlib 33 - libX11 libXext libXcursor libXxf86vm 34 - cmark 35 - harfbuzzFull glib fontconfig pcre 36 - skia libGL libXi 37 - ]; 38 - 39 - patches = [ 40 - ./shared-libwebp.patch 41 - ./shared-skia-deps.patch 42 - ]; 43 - 44 - postPatch = '' 45 - sed -i src/ver/CMakeLists.txt -e "s-set(VERSION \".*\")-set(VERSION \"$version\")-" 46 - ''; 47 - 48 - cmakeFlags = [ 49 - "-DENABLE_UPDATER=OFF" 50 - "-DUSE_SHARED_CURL=ON" 51 - "-DUSE_SHARED_FREETYPE=ON" 52 - "-DUSE_SHARED_GIFLIB=ON" 53 - "-DUSE_SHARED_JPEGLIB=ON" 54 - "-DUSE_SHARED_LIBPNG=ON" 55 - "-DUSE_SHARED_LIBWEBP=ON" 56 - "-DUSE_SHARED_PIXMAN=ON" 57 - "-DUSE_SHARED_TINYXML=ON" 58 - "-DUSE_SHARED_ZLIB=ON" 59 - "-DUSE_SHARED_CMARK=ON" 60 - "-DUSE_SHARED_HARFBUZZ=ON" 61 - "-DUSE_SHARED_WEBP=ON" 62 - # Disable libarchive programs. 63 - "-DENABLE_CAT=OFF" 64 - "-DENABLE_CPIO=OFF" 65 - "-DENABLE_TAR=OFF" 66 - # UI backend. 67 - "-DLAF_WITH_EXAMPLES=OFF" 68 - "-DLAF_OS_BACKEND=skia" 69 - "-DENABLE_DESKTOP_INTEGRATION=ON" 70 - "-DSKIA_DIR=${skia}" 71 - "-DSKIA_LIBRARY_DIR=${skia}/out/Release" 72 - ]; 73 - 74 - postInstall = '' 75 - # Install desktop icons. 76 - src="$out/share/aseprite/data/icons" 77 - for size in 16 32 48 64; do 78 - dst="$out"/share/icons/hicolor/"$size"x"$size" 79 - install -Dm644 "$src"/ase"$size".png "$dst"/apps/aseprite.png 80 - install -Dm644 "$src"/doc"$size".png "$dst"/mimetypes/aseprite.png 81 - done 82 - # Delete unneeded artifacts of bundled libraries. 83 - rm -rf "$out"/include "$out"/lib 84 - ''; 85 - 86 - passthru = { inherit skia; }; 87 - 88 - meta = with lib; { 89 - homepage = "https://www.aseprite.org/"; 90 - description = "Animated sprite editor & pixel art tool"; 91 - license = licenses.unfree; 92 - longDescription = 93 - ''Aseprite is a program to create animated sprites. Its main features are: 94 - 95 - - Sprites are composed by layers & frames (as separated concepts). 96 - - Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale. 97 - - Load/save sequence of PNG files and GIF animations (and FLC, FLI, JPG, BMP, PCX, TGA). 98 - - Export/import animations to/from Sprite Sheets. 99 - - Tiled drawing mode, useful to draw patterns and textures. 100 - - Undo/Redo for every operation. 101 - - Real-time animation preview. 102 - - Multiple editors support. 103 - - Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc. 104 - - Onion skinning. 105 - 106 - This version is not redistributable: https://dev.aseprite.org/2016/09/01/new-source-code-license/ 107 - Consider supporting the developer: https://aseprite.org/#buy 108 - ''; 109 - maintainers = with maintainers; [ orivej ]; 110 - platforms = platforms.linux; 111 - }; 112 - }
pkgs/applications/editors/aseprite/shared-libwebp.patch pkgs/by-name/as/aseprite/shared-libwebp.patch
pkgs/applications/editors/aseprite/shared-skia-deps.patch pkgs/by-name/as/aseprite/shared-skia-deps.patch
+170
pkgs/by-name/as/aseprite/package.nix
··· 1 + { 2 + clangStdenv, 3 + cmake, 4 + cmark, 5 + curl, 6 + fetchFromGitHub, 7 + fetchpatch, 8 + fmt, 9 + fontconfig, 10 + freetype, 11 + giflib, 12 + gitUpdater, 13 + glib, 14 + harfbuzzFull, 15 + lib, 16 + libGL, 17 + libjpeg, 18 + libpng, 19 + libwebp, 20 + libX11, 21 + libXcursor, 22 + libXext, 23 + libXi, 24 + libXxf86vm, 25 + ninja, 26 + pcre2, 27 + pixman, 28 + pkg-config, 29 + skia-aseprite, 30 + tinyxml-2, 31 + zlib, 32 + }: 33 + 34 + clangStdenv.mkDerivation (finalAttrs: { 35 + pname = "aseprite"; 36 + version = "1.3.7"; 37 + 38 + src = fetchFromGitHub { 39 + owner = "aseprite"; 40 + repo = "aseprite"; 41 + rev = "v" + finalAttrs.version; 42 + fetchSubmodules = true; 43 + hash = "sha256-75kYJXmyags0cW2D5Ksq1uUrFSCAkFOdmn7Ya/6jLXc="; 44 + }; 45 + 46 + nativeBuildInputs = [ 47 + cmake 48 + ninja 49 + pkg-config 50 + ]; 51 + 52 + buildInputs = [ 53 + cmark 54 + curl 55 + fmt 56 + fontconfig 57 + freetype 58 + giflib 59 + glib 60 + harfbuzzFull 61 + libGL 62 + libjpeg 63 + libpng 64 + libwebp 65 + libX11 66 + libXcursor 67 + libXext 68 + libXi 69 + libXxf86vm 70 + pcre2 71 + pixman 72 + skia-aseprite 73 + tinyxml-2 74 + zlib 75 + ]; 76 + 77 + patches = [ 78 + # https://github.com/aseprite/aseprite/issues/4486 79 + # FIXME: remove on next release. 80 + (fetchpatch { 81 + name = "ENABLE_UPDATER-fix.patch"; 82 + url = "https://github.com/aseprite/aseprite/commit/8fce589.patch"; 83 + hash = "sha256-DbL6kK//gQXbsXEn/t+KTuoM7E9ocPAsVqEO+lYrka4="; 84 + }) 85 + ./shared-fmt.patch 86 + ./shared-libwebp.patch 87 + ./shared-skia-deps.patch 88 + ]; 89 + 90 + postPatch = 91 + let 92 + # Translation strings 93 + strings = fetchFromGitHub { 94 + owner = "aseprite"; 95 + repo = "strings"; 96 + rev = "e18a09fefbb6cd904e506183d5fbe08558a52ed4"; 97 + hash = "sha256-GyCCxbhgf0vST20EH/+KkNLrF+U9Xzgpxlao8s925PQ="; 98 + }; 99 + in 100 + '' 101 + sed -i src/ver/CMakeLists.txt -e "s-set(VERSION \".*\")-set(VERSION \"$version\")-" 102 + rm -rf data/strings 103 + cp -r ${strings} data/strings 104 + ''; 105 + 106 + cmakeFlags = [ 107 + "-DENABLE_DESKTOP_INTEGRATION=ON" 108 + "-DENABLE_UPDATER=OFF" 109 + "-DUSE_SHARED_CMARK=ON" 110 + "-DUSE_SHARED_CURL=ON" 111 + "-DUSE_SHARED_FMT=ON" 112 + "-DUSE_SHARED_FREETYPE=ON" 113 + "-DUSE_SHARED_GIFLIB=ON" 114 + "-DUSE_SHARED_HARFBUZZ=ON" 115 + "-DUSE_SHARED_JPEGLIB=ON" 116 + "-DUSE_SHARED_LIBPNG=ON" 117 + "-DUSE_SHARED_LIBWEBP=ON" 118 + "-DUSE_SHARED_PIXMAN=ON" 119 + "-DUSE_SHARED_TINYXML=ON" 120 + "-DUSE_SHARED_WEBP=ON" 121 + "-DUSE_SHARED_ZLIB=ON" 122 + # Disable libarchive programs. 123 + "-DENABLE_CAT=OFF" 124 + "-DENABLE_CPIO=OFF" 125 + "-DENABLE_TAR=OFF" 126 + # UI backend. 127 + "-DLAF_OS_BACKEND=skia" 128 + "-DLAF_WITH_EXAMPLES=OFF" 129 + "-DSKIA_DIR=${skia-aseprite}" 130 + "-DSKIA_LIBRARY_DIR=${skia-aseprite}/lib" 131 + ]; 132 + 133 + postInstall = '' 134 + # Install desktop icons. 135 + src="$out/share/aseprite/data/icons" 136 + for size in 16 32 48 64 128 256; do 137 + dst="$out"/share/icons/hicolor/"$size"x"$size" 138 + install -Dm644 "$src"/ase"$size".png "$dst"/apps/aseprite.png 139 + install -Dm644 "$src"/doc"$size".png "$dst"/mimetypes/image-x-aseprite.png 140 + done 141 + # Delete unneeded artifacts of bundled libraries. 142 + rm -rf "$out"/{include,lib,man} 143 + ''; 144 + 145 + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; 146 + 147 + meta = { 148 + homepage = "https://www.aseprite.org/"; 149 + description = "Animated sprite editor & pixel art tool"; 150 + license = lib.licenses.unfree; 151 + longDescription = '' 152 + Aseprite is a program to create animated sprites. Its main features are: 153 + 154 + - Sprites are composed by layers & frames (as separated concepts). 155 + - Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale. 156 + - Load/save sequence of PNG files and GIF animations (and FLC, FLI, JPG, BMP, PCX, TGA). 157 + - Export/import animations to/from Sprite Sheets. 158 + - Tiled drawing mode, useful to draw patterns and textures. 159 + - Undo/Redo for every operation. 160 + - Real-time animation preview. 161 + - Multiple editors support. 162 + - Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc. 163 + - Onion skinning. 164 + ''; 165 + maintainers = with lib.maintainers; [ 166 + orivej 167 + ]; 168 + platforms = lib.platforms.linux; 169 + }; 170 + })
+71
pkgs/by-name/as/aseprite/shared-fmt.patch
··· 1 + --- a/CMakeLists.txt 2022-01-08 00:37:08.165330523 +0100 2 + +++ b/CMakeLists.txt 2022-01-08 00:52:41.163585173 +0100 3 + @@ -54,6 +54,7 @@ 4 + 5 + option(USE_SHARED_CMARK "Use your installed copy of cmark" off) 6 + option(USE_SHARED_CURL "Use your installed copy of curl" off) 7 + +option(USE_SHARED_FMT "Use your installed copy of fmt" off) 8 + option(USE_SHARED_GIFLIB "Use your installed copy of giflib" off) 9 + option(USE_SHARED_JPEGLIB "Use your installed copy of jpeglib" off) 10 + option(USE_SHARED_ZLIB "Use your installed copy of zlib" off) 11 + @@ -165,6 +165,7 @@ 12 + set(SOURCE_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/data) 13 + set(CMARK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/cmark) 14 + set(CURL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/curl) 15 + +set(FMT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/fmt) 16 + set(GIFLIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/giflib) 17 + set(LIBJPEG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/jpeg) 18 + set(LIBPNG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/libpng) 19 + @@ -204,6 +205,15 @@ 20 + set(CURL_STATICLIB ON BOOL) 21 + endif() 22 + 23 + +if(USE_SHARED_FMT) 24 + + find_package(FMT REQUIRED) 25 + + set(FMT_LIBRARIES fmt::fmt) 26 + +else() 27 + + set(FMT_FOUND) 28 + + set(FMT_LIBRARIES fmt) 29 + + # No need to include extra directories, actually 30 + +endif() 31 + + 32 + # zlib 33 + if(USE_SHARED_ZLIB) 34 + find_package(ZLIB REQUIRED) 35 + --- a/src/app/CMakeLists.txt 2022-01-08 00:37:07.378671200 +0100 36 + +++ b/src/app/CMakeLists.txt 2022-01-08 00:53:13.669969512 +0100 37 + @@ -741,7 +741,7 @@ target_link_libraries(app-lib 38 + ${HARFBUZZ_LIBRARIES} 39 + json11 40 + archive_static 41 + - fmt 42 + + ${FMT_LIBRARIES} 43 + tinyexpr 44 + qoi) 45 + 46 + if(ENABLE_PSD) 47 + --- a/src/dio/CMakeLists.txt 2022-01-08 00:41:50.712726972 +0100 48 + +++ b/src/dio/CMakeLists.txt 2022-01-08 00:53:39.936408022 +0100 49 + @@ -10,7 +10,7 @@ 50 + 51 + target_link_libraries(dio-lib 52 + ${ZLIB_LIBRARIES} 53 + - fmt 54 + + ${FMT_LIBRARIES} 55 + flic-lib 56 + laf-base 57 + fixmath-lib 58 + --- a/third_party/CMakeLists.txt 2022-01-08 00:37:08.165330523 +0100 59 + +++ b/third_party/CMakeLists.txt 2022-01-08 00:54:30.455969136 +0100 60 + @@ -106,7 +106,10 @@ 61 + endif() 62 + 63 + add_subdirectory(simpleini) 64 + -add_subdirectory(fmt) 65 + + 66 + +if(NOT USE_SHARED_FMT) 67 + + add_subdirectory(fmt) 68 + +endif() 69 + 70 + # Add cmark without tests 71 + if(NOT USE_SHARED_CMARK)
-2
pkgs/top-level/all-packages.nix
··· 29587 29587 29588 29588 asap = callPackage ../tools/audio/asap { }; 29589 29589 29590 - aseprite = callPackage ../applications/editors/aseprite { }; 29591 - 29592 29590 assign-lb-ip = callPackage ../applications/networking/cluster/assign-lb-ip { }; 29593 29591 29594 29592 astroid = callPackage ../applications/networking/mailreaders/astroid {