bcb2f287e1
GitOrigin-RevId: d603719ec6e294f034936c0d0dc06f689d91b6c3
115 lines
2.3 KiB
Nix
115 lines
2.3 KiB
Nix
{
|
|
aseprite,
|
|
clangStdenv,
|
|
expat,
|
|
fetchFromGitHub,
|
|
fetchgit,
|
|
fontconfig,
|
|
gn,
|
|
harfbuzzFull,
|
|
icu,
|
|
lib,
|
|
libglvnd,
|
|
libjpeg,
|
|
libpng,
|
|
libwebp,
|
|
libX11,
|
|
mesa,
|
|
ninja,
|
|
python3,
|
|
zlib,
|
|
}:
|
|
|
|
let
|
|
# deps.nix is generated by ./update.sh
|
|
depSrcs = import ./deps.nix { inherit fetchgit; };
|
|
in
|
|
clangStdenv.mkDerivation (finalAttrs: {
|
|
pname = "skia-aseprite";
|
|
version = "m102-861e4743af";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "aseprite";
|
|
repo = "skia";
|
|
rev = finalAttrs.version;
|
|
hash = "sha256-IlZbalmHl549uDUfPG8hlzub8TLWhG0EsV6HVAPdsl0=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
gn
|
|
ninja
|
|
python3
|
|
];
|
|
|
|
preConfigure = with depSrcs; ''
|
|
mkdir -p third_party/externals
|
|
ln -s ${angle2} third_party/externals/angle2
|
|
ln -s ${dng_sdk} third_party/externals/dng_sdk
|
|
ln -s ${piex} third_party/externals/piex
|
|
ln -s ${sfntly} third_party/externals/sfntly
|
|
'';
|
|
|
|
configurePhase = ''
|
|
runHook preConfigure
|
|
gn gen lib --args="is_debug=false is_official_build=true extra_cflags=[\"-I${harfbuzzFull.dev}/include/harfbuzz\"]"
|
|
runHook postConfigure
|
|
'';
|
|
|
|
buildInputs = [
|
|
expat
|
|
fontconfig
|
|
harfbuzzFull
|
|
icu
|
|
libglvnd
|
|
libjpeg
|
|
libpng
|
|
libwebp
|
|
libX11
|
|
mesa
|
|
zlib
|
|
];
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
ninja -C lib skia modules
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
mkdir -p $out
|
|
|
|
# Glob will match all subdirs.
|
|
shopt -s globstar
|
|
|
|
# All these paths are used in some way when building Aseprite.
|
|
cp -r --parents -t $out/ \
|
|
include/codec \
|
|
include/config \
|
|
include/core \
|
|
include/effects \
|
|
include/gpu \
|
|
include/private \
|
|
include/utils \
|
|
include/third_party/skcms/*.h \
|
|
lib/*.a \
|
|
modules/skshaper/include/*.h \
|
|
src/core/*.h \
|
|
src/gpu/**/*.h \
|
|
third_party/externals/angle2/include \
|
|
third_party/skcms/**/*.h
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
passthru.updateScript = [ ./update.sh ] ++ builtins.attrNames depSrcs;
|
|
|
|
meta = {
|
|
description = "Complete 2D graphic library for drawing Text, Geometries, and Images (Aseprite's fork)";
|
|
homepage = "https://skia.org/";
|
|
downloadPage = "https://github.com/aseprite/skia";
|
|
license = lib.licenses.bsd3;
|
|
inherit (aseprite.meta) maintainers;
|
|
platforms = lib.platforms.all;
|
|
};
|
|
})
|