summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD26
1 files changed, 13 insertions, 13 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 2de6978c0a30..edc712081c43 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -32,13 +32,10 @@ makedepends=(# "Meta" dependencies
# Aseprite (including e.g. LAF)
libxi pixman
# Skia
- harfbuzz-icu)
+ gn harfbuzz-icu)
source=("https://github.com/aseprite/aseprite/releases/download/v$pkgver/Aseprite-v$pkgver-Source.zip"
# Which branch a given build of Aseprite requires is noted in its `INSTALL.md`
"git+https://github.com/aseprite/skia.git#branch=aseprite-m96"
- # `gn` executable required to configure Skia, pulled from `skia/bin/fetch-gn`
- # Normally we'd use the Arch-provided one, but it has API incompatibilities
- "gn.zip::https://chrome-infra-packages.appspot.com/dl/gn/gn/linux-amd64/+/git_revision:d62642c920e6a0d1756316d225a90fd6faa9e21e"
# Skia dependencies, determined from `skia/DEPS`
# Only pulling what we need, though
"git+https://chromium.googlesource.com/chromium/buildtools.git#commit=505de88083136eefd056e5ee4ca0f01fe9b33de8"
@@ -49,16 +46,17 @@ source=("https://github.com/aseprite/aseprite/releases/download/v$pkgver/Aseprit
shared-libarchive.patch
# Based on https://patch-diff.githubusercontent.com/raw/aseprite/aseprite/pull/2523.patch
shared-libwebp.patch
+ shared-skia-deps.patch
optional-pixman.patch)
noextract=("${source[0]##*/}") # Don't extract Aseprite sources at the root
sha256sums=('966bd940e1072ed24b70e211ca2bb1eb9aa6432ca12972a8e1df5f1e0150213d'
'SKIP'
- '0ef7a431fa1bfd2d12edd1f6ceffac7e2b6ed89dcfae9aea9bf681d42a068347'
'SKIP'
'SKIP'
'cb901aaf479bcf1a2406ce21eb31e43d3581712a9ea245672ffd8fbcd9190441'
'e42675504bfbc17655aef1dca957041095026cd3dd4e6981fb6df0a363948aa7'
'2d6b5f33f23adc4f9912511ac35311a776ce34519ef40e9db3659e4c5457f055'
+ 'eb9f544e68b41b5cb1a9ab7a6648db51587e67e94f1a452cb5a84f3d224bf5d0'
'c2d14f9738a96a9db3695c00ac3d14b1312b6a595b151bd56e19422c86517654')
prepare() {
@@ -75,34 +73,36 @@ prepare() {
for _dep in "${!_skiadeps[@]}"; do
ln -svfT "$(realpath $_dep)" "skia/${_skiadeps[$_dep]}"
done
- bsdtar -xf gn.zip gn
- chmod 755 gn
# Replace `is_clang.py` with Python 3-compliant version
cp -v is_clang.py skia/gn
# Allow using shared libarchive (the bundled version prevents using the `None` build type...)
env -C aseprite patch -tp1 <shared-libarchive.patch
- # Allow using shared libarchive (breaks builds otherwise...)
+ # Allow using shared libwebp (breaks builds otherwise...)
env -C aseprite patch -tp1 <shared-libwebp.patch
# Skip the build-time dependency on Pixman since it doesn't get used in the end
env -C aseprite patch -tp1 <optional-pixman.patch
+ # Their "FindSkia" module forcefully tries to use Skia's FreeType and HarfBuzz,
+ # but we don't clone those because we use the shared ones. Avoid overwriting the settings instead.
+ env -C aseprite patch -tp1 <shared-skia-deps.patch
}
build() {
echo Building Skia...
local _skiadir="$PWD/skia/obj"
- # Must use the bundled `gn` executable and HarfBuzz libraries because of incompatibilities
# Flags can typically be found in `src/skia/gn/skia.gni`... but you're kind of on your own
- env -C skia ../gn gen "$_skiadir" --args="`printf '%s ' \
-is_debug=false is_official_build=true skia_enable_{skottie,pdf}=false \
-skia_use_{expat,libwebp,xps,zlib,libgifcodec,sfntly}=false`"
+ env -C skia gn gen "$_skiadir" --args="`printf '%s ' \
+is_debug=false is_official_build=true skia_build_fuzzers=false \
+skia_enable_{pdf,skottie,skrive,sksl}=false \
+skia_use_{libjpeg_turbo,libwebp}_{encode,decode}=false \
+skia_use_{expat,xps,zlib,libgifcodec,sfntly}=false`"
ninja -C "$_skiadir" skia modules
echo Building Aseprite...
# Suppress install messages since we install to a temporary area; `install -v` will do the job
cmake -S aseprite -B build -G Ninja -Wno-dev -DCMAKE_INSTALL_MESSAGE=NEVER -DCMAKE_BUILD_TYPE=None \
--DENABLE_UPDATER=NO -DLAF_WITH_EXAMPLES=OFF -DLAF_WITH_TESTS=OFF -DLAF_OS_BACKEND=skia -DLAF_BACKEND=skia \
+-DENABLE_{UPDATER,SCRIPTING,WEBSOCKET}=NO -DLAF_WITH_EXAMPLES=OFF -DLAF_WITH_TESTS=OFF -DLAF_BACKEND=skia \
-DSKIA_DIR="$PWD/skia" -DSKIA_LIBRARY_DIR="$_skiadir" -DSKIA_LIBRARY="$_skiadir/libskia.a" \
-DUSE_SHARED_{CMARK,CURL,GIFLIB,JPEGLIB,ZLIB,LIBPNG,TINYXML,PIXMAN,FREETYPE,HARFBUZZ,LIBARCHIVE,WEBP}=YES
ninja -C build