aseprite-unfree: 1.2.16.3 -> 1.2.40
Also updates aseprite skia fork and skia deps, includes the following patches from AUR: - shared-libwebp.patch - shared-skia-deps.patch
This commit is contained in:
parent
cd153e8b48
commit
eeaa0526a3
@ -1,7 +1,7 @@
|
||||
{ stdenv, lib, callPackage, fetchFromGitHub, fetchpatch, cmake, ninja, pkg-config
|
||||
{ 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
|
||||
, libX11, libXext, libXcursor, libXxf86vm, libGL, libXi
|
||||
, unfree ? false
|
||||
, cmark
|
||||
}:
|
||||
@ -15,16 +15,16 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aseprite";
|
||||
version = if unfree then "1.2.16.3" else "1.1.7";
|
||||
version = if unfree then "1.2.40" else "1.1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aseprite";
|
||||
repo = "aseprite";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = if unfree
|
||||
then "16yn7y9xdc5jd50cq7bmsm320gv23pp71lr8hg2nmynzc8ibyda8"
|
||||
else "0gd49lns2bpzbkwax5jf9x1xmg1j8ij997kcxr2596cwiswnw4di";
|
||||
hash = if unfree
|
||||
then "sha256-KUdJA6HTAKrLT8xrwFikVDbc5RODysclcsEyQekMRZo="
|
||||
else "sha256-sRFuuY6cmVRE7myelGREMrzaQ09Olq74XP8uoS1NpD0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -37,24 +37,20 @@ stdenv.mkDerivation rec {
|
||||
] ++ lib.optionals unfree [
|
||||
cmark
|
||||
harfbuzzFull glib fontconfig pcre
|
||||
skia libGL
|
||||
skia libGL libXi
|
||||
];
|
||||
|
||||
patches = if !unfree then [
|
||||
patches = lib.optionals (!unfree) [
|
||||
./allegro-glibc-2.30.patch
|
||||
] else [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/lfont/aseprite/commit/f1ebc47012d3fed52306ed5922787b4b98cc0a7b.patch";
|
||||
sha256 = "03xg7x6b9iv7z18vzlqxhcfphmx4v3qhs9f5rgf38ppyklca5jyw";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/orivej/aseprite/commit/ea87e65b357ad0bd65467af5529183b5a48a8c17.patch";
|
||||
sha256 = "1vwn8ivap1pzdh444sdvvkndp55iz146nhmd80xbm8cyzn3qmg91";
|
||||
})
|
||||
] ++ lib.optionals unfree [
|
||||
./shared-libwebp.patch
|
||||
./shared-skia-deps.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
postPatch = if (!unfree) then ''
|
||||
sed -i src/config.h -e "s-\\(#define VERSION\\) .*-\\1 \"$version\"-"
|
||||
'' else ''
|
||||
sed -i src/ver/CMakeLists.txt -e "s-set(VERSION \".*\")-set(VERSION \"$version\")-"
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
@ -73,15 +69,17 @@ stdenv.mkDerivation rec {
|
||||
] ++ lib.optionals unfree [
|
||||
"-DUSE_SHARED_CMARK=ON"
|
||||
"-DUSE_SHARED_HARFBUZZ=ON"
|
||||
# Aseprite needs internal freetype headers.
|
||||
"-DUSE_SHARED_FREETYPE=OFF"
|
||||
"-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 = ''
|
||||
|
47
pkgs/applications/editors/aseprite/shared-libwebp.patch
Normal file
47
pkgs/applications/editors/aseprite/shared-libwebp.patch
Normal file
@ -0,0 +1,47 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index af077f6..fed17ff 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -58,6 +58,7 @@ option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
|
||||
option(USE_SHARED_PIXMAN "Use your installed copy of pixman" off)
|
||||
option(USE_SHARED_FREETYPE "Use shared FreeType library" off)
|
||||
option(USE_SHARED_HARFBUZZ "Use shared HarfBuzz library" off)
|
||||
+option(USE_SHARED_WEBP "Use your installed copy of webp" off)
|
||||
option(ENABLE_ASEPRITE_EXE "Compile main Aseprite executable" on)
|
||||
option(ENABLE_MEMLEAK "Enable memory-leaks detector (only for developers)" off)
|
||||
option(ENABLE_NEWS "Enable the news in Home tab" on)
|
||||
@@ -328,14 +351,17 @@ add_subdirectory(laf)
|
||||
# libwebp
|
||||
if(ENABLE_WEBP)
|
||||
# Use libwebp from Skia
|
||||
- if(LAF_BACKEND STREQUAL "skia")
|
||||
+ if(USE_SHARED_WEBP)
|
||||
+ find_library(WEBP_LIBRARY NAMES webp)
|
||||
+ find_library(WEBPDEMUX_LIBRARY NAMES webpdemux)
|
||||
+ find_library(WEBPMUX_LIBRARY NAMES webpmux)
|
||||
+ set(WEBP_LIBRARIES ${WEBP_LIBRARY} ${WEBPDEMUX_LIBRARY} ${WEBPMUX_LIBRARY})
|
||||
+ find_path(WEBP_INCLUDE_DIRS NAMES decode.h PATH_SUFFIXES webp)
|
||||
+ else()
|
||||
find_library(WEBP_LIBRARIES webp
|
||||
NAMES libwebp # required for Windows
|
||||
PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
|
||||
set(WEBP_INCLUDE_DIR "${SKIA_DIR}/third_party/externals/libwebp/src")
|
||||
- else()
|
||||
- set(WEBP_LIBRARIES webp webpdemux libwebpmux)
|
||||
- set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
|
||||
endif()
|
||||
include_directories(${WEBP_INCLUDE_DIR})
|
||||
endif()
|
||||
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
|
||||
index 4839d4097c..e8c3e83cbc 100644
|
||||
--- a/third_party/CMakeLists.txt
|
||||
+++ b/third_party/CMakeLists.txt
|
||||
@@ -32,7 +32,7 @@ if(NOT USE_SHARED_GIFLIB)
|
||||
add_subdirectory(giflib)
|
||||
endif()
|
||||
|
||||
-if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia")
|
||||
+if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia" AND NOT USE_SHARED_WEBP)
|
||||
set(WEBP_BUILD_EXTRAS OFF CACHE BOOL "Build extras.")
|
||||
add_subdirectory(libwebp)
|
||||
endif()
|
21
pkgs/applications/editors/aseprite/shared-skia-deps.patch
Normal file
21
pkgs/applications/editors/aseprite/shared-skia-deps.patch
Normal file
@ -0,0 +1,21 @@
|
||||
--- src/laf/cmake/FindSkia.cmake.orig 2022-01-08 02:15:13.417619266 +0100
|
||||
+++ src/laf/cmake/FindSkia.cmake 2022-01-08 02:15:43.603960491 +0100
|
||||
@@ -32,14 +32,18 @@
|
||||
# SkShaper module + freetype + harfbuzz
|
||||
find_library(SKSHAPER_LIBRARY skshaper PATH "${SKIA_LIBRARY_DIR}")
|
||||
|
||||
+if(NOT USE_SHARED_FREETYPE)
|
||||
set(FREETYPE_FOUND ON)
|
||||
find_library(FREETYPE_LIBRARY freetype2 PATH "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
|
||||
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
|
||||
set(FREETYPE_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/freetype/include")
|
||||
+endif()
|
||||
|
||||
+if(NOT USE_SHARED_HARFBUZZ)
|
||||
find_library(HARFBUZZ_LIBRARY harfbuzz PATH "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
|
||||
set(HARFBUZZ_LIBRARIES ${HARFBUZZ_LIBRARY})
|
||||
set(HARFBUZZ_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/harfbuzz/src")
|
||||
+endif()
|
||||
|
||||
set(SKIA_LIBRARIES
|
||||
${SKIA_LIBRARY}
|
@ -2,13 +2,13 @@
|
||||
{
|
||||
angle2 = fetchgit {
|
||||
url = "https://chromium.googlesource.com/angle/angle.git";
|
||||
rev = "956ab4d9fab36be9929e63829475d4d69b2c681c";
|
||||
sha256 = "0fcw04wwkn3ixr9l9k0d32n78r9g72p31ii9i5spsq2d0wlylr38";
|
||||
rev = "8718783526307a3fbb35d4c1ad4e8101262a0d73";
|
||||
sha256 = "0c90q8f4syvwcayw58743sa332dcpkmblwh3ffkjqn5ygym04xji";
|
||||
};
|
||||
dng_sdk = fetchgit {
|
||||
url = "https://android.googlesource.com/platform/external/dng_sdk.git";
|
||||
rev = "96443b262250c390b0caefbf3eed8463ba35ecae";
|
||||
sha256 = "1rsr7njhj7c5p87hfznj069fdc3qqhvvnq9sa2rb8c4q849rlzx6";
|
||||
rev = "c8d0c9b1d16bfda56f15165d39e0ffa360a11123";
|
||||
sha256 = "1nlq082aij7q197i5646bi4vd2il7fww6sdwhqisv2cs842nyfwm";
|
||||
};
|
||||
piex = fetchgit {
|
||||
url = "https://android.googlesource.com/platform/external/piex.git";
|
||||
@ -17,7 +17,7 @@
|
||||
};
|
||||
sfntly = fetchgit {
|
||||
url = "https://chromium.googlesource.com/external/github.com/googlei18n/sfntly.git";
|
||||
rev = "b18b09b6114b9b7fe6fc2f96d8b15e8a72f66916";
|
||||
sha256 = "0zf1h0dibmm38ldypccg4faacvskmd42vsk6zbxlfcfwjlqm6pp4";
|
||||
rev = "b55ff303ea2f9e26702b514cf6a3196a2e3e2974";
|
||||
sha256 = "1qi5rfzmwfrji46x95g6dsb03i1v26700kifl2hpgm3pqhr7afpz";
|
||||
};
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
FILTER=$1
|
||||
OUT=skia-deps.nix
|
||||
REVISION=89e4ca4352d05adc892f5983b108433f29b2c0c2
|
||||
REVISION=861e4743af6d9bf6077ae6dda7274e5a136ee4e2
|
||||
DEPS=$(curl -s https://raw.githubusercontent.com/aseprite/skia/$REVISION/DEPS)
|
||||
THIRD_PARTY_DEPS=$(echo "$DEPS" | grep third_party | grep "#" -v | sed 's/"//g')
|
||||
|
||||
|
@ -1,37 +1,29 @@
|
||||
{ stdenv, lib, fetchFromGitHub, fetchgit, python2, gn, ninja
|
||||
{ stdenv, lib, fetchFromGitHub, fetchgit, python3, gn, ninja
|
||||
, fontconfig, expat, icu58, libglvnd, libjpeg, libpng, libwebp, zlib
|
||||
, mesa, libX11
|
||||
, mesa, libX11, harfbuzzFull
|
||||
}:
|
||||
|
||||
let
|
||||
# skia-deps.nix is generated by: ./skia-make-deps.sh 'angle2|dng_sdk|piex|sfntly'
|
||||
depSrcs = import ./skia-deps.nix { inherit fetchgit; };
|
||||
gnOld = gn.overrideAttrs (oldAttrs: rec {
|
||||
version = "20190403";
|
||||
src = fetchgit {
|
||||
url = "https://gn.googlesource.com/gn";
|
||||
rev = "64b846c96daeb3eaf08e26d8a84d8451c6cb712b";
|
||||
sha256 = "1v2kzsshhxn0ck6gd5w16gi2m3higwd9vkyylmsczxfxnw8skgpy";
|
||||
};
|
||||
});
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "skia";
|
||||
version = "aseprite-m71";
|
||||
version = "aseprite-m102";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aseprite";
|
||||
repo = "skia";
|
||||
# latest commit from aseprite-m71 branch
|
||||
rev = "89e4ca4352d05adc892f5983b108433f29b2c0c2"; # TODO: Remove the gnOld override
|
||||
sha256 = "0n3vrkswvi6rib9zv2pzi18h3j5wm7flmgkgaikcm6q7iw4l2c7x";
|
||||
# latest commit from aseprite-m102 branch
|
||||
rev = "861e4743af6d9bf6077ae6dda7274e5a136ee4e2";
|
||||
hash = "sha256-IlZbalmHl549uDUfPG8hlzub8TLWhG0EsV6HVAPdsl0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python2 gnOld ninja ];
|
||||
nativeBuildInputs = [ python3 gn ninja ];
|
||||
|
||||
buildInputs = [
|
||||
fontconfig expat icu58 libglvnd libjpeg libpng libwebp zlib
|
||||
mesa libX11
|
||||
mesa libX11 harfbuzzFull
|
||||
];
|
||||
|
||||
preConfigure = with depSrcs; ''
|
||||
@ -44,13 +36,13 @@ stdenv.mkDerivation {
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
gn gen out/Release --args="is_debug=false is_official_build=true"
|
||||
gn gen out/Release --args="is_debug=false is_official_build=true extra_cflags=[\"-I${harfbuzzFull.dev}/include/harfbuzz\"]"
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
ninja -C out/Release skia
|
||||
ninja -C out/Release skia modules
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
@ -69,8 +61,11 @@ stdenv.mkDerivation {
|
||||
include/gpu \
|
||||
include/private \
|
||||
include/utils \
|
||||
include/third_party/skcms/*.h \
|
||||
out/Release/*.a \
|
||||
src/gpu/**/*.h \
|
||||
src/core/*.h \
|
||||
modules/skshaper/include/*.h \
|
||||
third_party/externals/angle2/include \
|
||||
third_party/skcms/**/*.h
|
||||
'';
|
||||
|
Loading…
Reference in New Issue
Block a user