diff --git a/.SRCINFO b/.SRCINFO index 0a198ba..be36f69 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,12 +1,15 @@ pkgbase = aseprite pkgdesc = Create animated sprites and pixel art - pkgver = 1.2.12 - pkgrel = 2 + pkgver = 1.2.15 + pkgrel = 1 url = http://www.aseprite.org/ arch = x86_64 arch = i686 license = custom makedepends = cmake + makedepends = ninja + makedepends = git + makedepends = python2 depends = cmark depends = pixman depends = curl @@ -16,14 +19,79 @@ pkgbase = aseprite depends = libjpeg-turbo depends = tinyxml depends = freetype2 - depends = libwebp depends = harfbuzz + depends = nettle + depends = fontconfig + depends = libxcursor + depends = desktop-file-utils conflicts = aseprite-git conflicts = aseprite-gpl - source = https://github.com/aseprite/aseprite/releases/download/v1.2.12/Aseprite-v1.2.12-Source.zip + source = https://github.com/aseprite/aseprite/releases/download/v1.2.15/Aseprite-v1.2.15-Source.zip source = aseprite.desktop - sha256sums = 23ef408bc31e414fc09cc094fc7d53d00c8f57bf3ca2a97c852cc7af2e9fdbfb + source = git+https://chromium.googlesource.com/chromium/tools/depot_tools.git + source = git+https://github.com/aseprite/skia.git#branch=aseprite-m71 + source = git+https://chromium.googlesource.com/chromium/buildtools.git#commit=505de88083136eefd056e5ee4ca0f01fe9b33de8 + source = git+https://skia.googlesource.com/common.git#commit=9737551d7a52c3db3262db5856e6bcd62c462b92 + source = angle2::git+https://chromium.googlesource.com/angle/angle.git#commit=956ab4d9fab36be9929e63829475d4d69b2c681c + source = git+https://android.googlesource.com/platform/external/dng_sdk.git#commit=96443b262250c390b0caefbf3eed8463ba35ecae + source = egl-registry::git+https://skia.googlesource.com/external/github.com/KhronosGroup/EGL-Registry#commit=a0bca08de07c7d7651047bedc0b653cfaaa4f2ae + source = git+https://android.googlesource.com/platform/external/expat.git#tag=android-6.0.1_r55 + source = freetype::git+https://skia.googlesource.com/third_party/freetype2.git#commit=7edc937fe679d14d66f55cf6f7fa607925d38f3c + source = git+https://android.googlesource.com/platform/external/googletest#commit=dd43b9998e9a44a579a7aba6c1309407d1a5ed95 + source = git+https://skia.googlesource.com/third_party/harfbuzz.git#tag=1.4.2 + source = git+https://chromium.googlesource.com/chromium/deps/icu.git#commit=ec9c1133693148470ffe2e5e53576998e3650c1d + source = git+https://skia.googlesource.com/external/github.com/ocornut/imgui.git#commit=bc6ac8b2aee0614debd940e45bc9cd0d9b355c86 + source = git+https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git#tag=1.0.0 + source = git+https://skia.googlesource.com/external/github.com/libjpeg-turbo/libjpeg-turbo.git#tag=2.0.0 + source = git+https://skia.googlesource.com/third_party/libpng.git#tag=v1.6.33 + source = git+https://chromium.googlesource.com/webm/libwebp.git#tag=v0.6.1 + source = git+https://skia.googlesource.com/external/github.com/lua/lua.git#tag=v5-3-4 + source = microhttpd::git+https://android.googlesource.com/platform/external/libmicrohttpd#commit=748945ec6f1c67b7efc934ab0808e1d32f2fb98d + source = opencl-lib::git+https://skia.googlesource.com/external/github.com/GPUOpen-Tools/common-lib-amd-APPSDK-3.0#commit=4e6d30e406d2e5a65e1d65e404fe6df5f772a32b + source = opengl-registry::git+https://skia.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry#commit=14b80ebeab022b2c78f84a573f01028c96075553 + source = git+https://android.googlesource.com/platform/external/piex.git#commit=bb217acdca1cc0c16b704669dd6f91a1b509c406 + source = git+https://skia.googlesource.com/third_party/sdl#commit=5d7cfcca344034aff9327f77fc181ae3754e7a90 + source = git+https://chromium.googlesource.com/external/github.com/googlei18n/sfntly.git#commit=b18b09b6114b9b7fe6fc2f96d8b15e8a72f66916 + source = spirv-headers::git+https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git#commit=661ad91124e6af2272afd00f804d8aa276e17107 + source = spirv-tools::git+https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git#commit=e9e4393b1c5aad7553c05782acefbe32b42644bd + source = swiftshader::git+https://swiftshader.googlesource.com/SwiftShader#commit=d6126aea667e37d2d7b57b0a381b9f26912a21b7 + source = git+https://chromium.googlesource.com/chromium/src/third_party/zlib#commit=ea3ba903faac98b64b2bf8de5e98cd97b335a474 + source = git+https://github.com/2d-inc/Nima-Cpp.git#commit=4bd02269d7d1d2e650950411325eafa15defb084 + source = git+https://github.com/2d-inc/Nima-Math-Cpp.git#commit=e0c12772093fa8860f55358274515b86885f0108 + source = gn::https://chromium-gn.storage-download.googleapis.com/2f27ff0b6118e5886df976da5effa6003d19d1ce + sha256sums = 813d6a099e1131f25f54e3935d6fdcdb1d0854ba757af074f3fc59dc869f38f4 sha256sums = c258fa38a0e0bd575f0bd744c4c3b60cf8d59d596c7572f84bd392e1c5e49b4f + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = c482981e91b5591ff85e055f3026956d6178aae3560ed984ff60b22e99351312 pkgname = aseprite diff --git a/PKGBUILD b/PKGBUILD index aabd354..af49c32 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,48 +1,162 @@ -# Maintainer: Wilson E. Alvarez +# Maintainer: Fredrick Brennan +# Maintainer: Andrew Bueide +# Maintainer: rouhannb +# Contributor: Wilson E. Alvarez # Contributor: Benoit Favre # Contributor: Alexander Rødseth # Contributor: Kamil Biduś pkgname=aseprite -pkgver=1.2.12 -pkgrel=2 +pkgver=1.2.15 +pkgrel=1 pkgdesc='Create animated sprites and pixel art' arch=('x86_64' 'i686') url="http://www.aseprite.org/" license=('custom') -depends=('cmark' 'pixman' 'curl' 'giflib' 'zlib' 'libpng' 'libjpeg-turbo' 'tinyxml' 'freetype2' 'libwebp' 'harfbuzz') -makedepends=('cmake') +depends=('cmark' 'pixman' 'curl' 'giflib' 'zlib' 'libpng' 'libjpeg-turbo' 'tinyxml' 'freetype2' + 'harfbuzz' 'nettle' 'fontconfig' 'libxcursor' 'desktop-file-utils') +makedepends=('cmake' 'ninja' 'git' 'python2') conflicts=("aseprite-git" "aseprite-gpl") -source=("https://github.com/${pkgname}/${pkgname}/releases/download/v${pkgver}/Aseprite-v${pkgver}-Source.zip" -"${pkgname}.desktop") -sha256sums=( -'23ef408bc31e414fc09cc094fc7d53d00c8f57bf3ca2a97c852cc7af2e9fdbfb' -'c258fa38a0e0bd575f0bd744c4c3b60cf8d59d596c7572f84bd392e1c5e49b4f' +source=("https://github.com/${pkgname}/${pkgname}/releases/download/v${pkgver}/${pkgname^}-\ +v${pkgver}-Source.zip" +"${pkgname}.desktop" +"git+https://chromium.googlesource.com/chromium/tools/depot_tools.git" +"git+https://github.com/${pkgname}/skia.git#branch=${pkgname}-m71" +"git+https://chromium.googlesource.com/chromium/buildtools.git\ +#commit=505de88083136eefd056e5ee4ca0f01fe9b33de8" +"git+https://skia.googlesource.com/common.git#commit=9737551d7a52c3db3262db5856e6bcd62c462b92" +"angle2::git+https://chromium.googlesource.com/angle/angle.git\ +#commit=956ab4d9fab36be9929e63829475d4d69b2c681c" +"git+https://android.googlesource.com/platform/external/dng_sdk.git\ +#commit=96443b262250c390b0caefbf3eed8463ba35ecae" +"egl-registry::git+https://skia.googlesource.com/external/github.com/KhronosGroup/EGL-Registry\ +#commit=a0bca08de07c7d7651047bedc0b653cfaaa4f2ae" +"git+https://android.googlesource.com/platform/external/expat.git#tag=android-6.0.1_r55" +"freetype::git+https://skia.googlesource.com/third_party/freetype2.git\ +#commit=7edc937fe679d14d66f55cf6f7fa607925d38f3c" +"git+https://android.googlesource.com/platform/external/googletest\ +#commit=dd43b9998e9a44a579a7aba6c1309407d1a5ed95" +"git+https://skia.googlesource.com/third_party/harfbuzz.git#tag=1.4.2" +"git+https://chromium.googlesource.com/chromium/deps/icu.git\ +#commit=ec9c1133693148470ffe2e5e53576998e3650c1d" +"git+https://skia.googlesource.com/external/github.com/ocornut/imgui.git\ +#commit=bc6ac8b2aee0614debd940e45bc9cd0d9b355c86" +"git+https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git\ +#tag=1.0.0" +"git+https://skia.googlesource.com/external/github.com/libjpeg-turbo/libjpeg-turbo.git#tag=2.0.0" +"git+https://skia.googlesource.com/third_party/libpng.git#tag=v1.6.33" +"git+https://chromium.googlesource.com/webm/libwebp.git#tag=v0.6.1" +"git+https://skia.googlesource.com/external/github.com/lua/lua.git#tag=v5-3-4" +"microhttpd::git+https://android.googlesource.com/platform/external/libmicrohttpd\ +#commit=748945ec6f1c67b7efc934ab0808e1d32f2fb98d" +"opencl-lib::git+https://skia.googlesource.com/external/github.com/GPUOpen-Tools/\ +common-lib-amd-APPSDK-3.0#commit=4e6d30e406d2e5a65e1d65e404fe6df5f772a32b" +"opengl-registry::git+https://skia.googlesource.com/external/github.com/KhronosGroup/\ +OpenGL-Registry#commit=14b80ebeab022b2c78f84a573f01028c96075553" +"git+https://android.googlesource.com/platform/external/piex.git\ +#commit=bb217acdca1cc0c16b704669dd6f91a1b509c406" +"git+https://skia.googlesource.com/third_party/sdl\ +#commit=5d7cfcca344034aff9327f77fc181ae3754e7a90" +"git+https://chromium.googlesource.com/external/github.com/googlei18n/sfntly.git\ +#commit=b18b09b6114b9b7fe6fc2f96d8b15e8a72f66916" +"spirv-headers::git+https://skia.googlesource.com/external/github.com/KhronosGroup/\ +SPIRV-Headers.git#commit=661ad91124e6af2272afd00f804d8aa276e17107" +"spirv-tools::git+https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git\ +#commit=e9e4393b1c5aad7553c05782acefbe32b42644bd" +"swiftshader::git+https://swiftshader.googlesource.com/SwiftShader\ +#commit=d6126aea667e37d2d7b57b0a381b9f26912a21b7" +"git+https://chromium.googlesource.com/chromium/src/third_party/zlib\ +#commit=ea3ba903faac98b64b2bf8de5e98cd97b335a474" +"git+https://github.com/2d-inc/Nima-Cpp.git#commit=4bd02269d7d1d2e650950411325eafa15defb084" +"git+https://github.com/2d-inc/Nima-Math-Cpp.git#commit=e0c12772093fa8860f55358274515b86885f0108" +"gn::https://chromium-gn.storage-download.googleapis.com/2f27ff0b6118e5886df976da5effa6003d19d1ce" ) +sha256sums=( +'813d6a099e1131f25f54e3935d6fdcdb1d0854ba757af074f3fc59dc869f38f4' +'c258fa38a0e0bd575f0bd744c4c3b60cf8d59d596c7572f84bd392e1c5e49b4f' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'SKIP' +'c482981e91b5591ff85e055f3026956d6178aae3560ed984ff60b22e99351312' +) + +prepare() { + cd "$srcdir" + + # Install skia deps (essentially runs git-sync-deps with the files already downloaded) + mkdir --parents --verbose skia/third_party/externals + + for dep in buildtools common + do + rm --recursive --force "skia/$dep" + mv --force --no-target-directory --verbose "$dep" "skia/$dep" + done + + for dep in angle2 dng_sdk egl-registry expat freetype googletest harfbuzz icu imgui jsoncpp \ + libjpeg-turbo libpng libwebp lua microhttpd opencl-lib opengl-registry piex sdl \ + sfntly spirv-headers spirv-tools swiftshader zlib Nima-Cpp Nima-Math-Cpp + do + rm --recursive --force "skia/third_party/externals/$dep" + mv --force --no-target-directory --verbose "$dep" "skia/third_party/externals/$dep" + done + + chmod u=rwx,g=rx,o=rx --verbose gn + mv --verbose gn skia/bin/gn + cp --verbose skia/bin/gn skia/buildtools/linux64/gn + + # Skia assumes python is linked to python2, not python3 + # Also, running ninja from depot_tools seems to cause problems + mkdir --parents --verbose binsub + cd binsub + ln --force --symbolic --verbose /usr/bin/python2 python + ln --force --symbolic --verbose /usr/bin/python2-config python-config + ln --force --symbolic --verbose /usr/bin/ninja +} build() { cd "$srcdir" - if [ -z "$ASEPRITE_ACCEPT_EULA" ]; then - less EULA.txt - echo "Do you accept the EULA? yes/NO (set ASEPRITE_ACCEPT_EULA=yes to skip this message)" - read reply - [ "$reply" == "yes" ] || exit 1 - fi + # Build skia + _skiapath="$srcdir/binsub:$srcdir/depot_tools:$PATH" + cd skia + PATH="$_skiapath" gn gen out/Release --args="is_debug=false is_official_build=true\ + skia_use_system_expat=false skia_use_system_icu=false skia_use_system_libjpeg_turbo=false\ + skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false" + PATH="$_skiapath" ninja -C out/Release skia - # Disable Allegro4 alias fix which creates a function declaration conflict: - sed -e 's/DUSE_ALLEG4_BACKEND/DUSE_ALLEG4_BACKEND -DALLEGRO_NO_FIX_ALIASES/g' -i CMakeLists.txt + # Build aseprite + cd "$srcdir" + mkdir --parents --verbose build && cd build - mkdir -p build && cd build - - # CMake config notes: - # Do not build using the shared allegro4. Weird graphical glitches happen - # when linking to the library from the official repo. Also, since loadpng.h - # is also distributed in allegro4, using that shared library must also be - # disabled since there's no guarantee Arch users might have allegro4 - # installed. - - cmake -DUSE_SHARED_PIXMAN=ON \ + cmake \ + -DUSE_SHARED_PIXMAN=ON \ -DWITH_WEBP_SUPPORT=ON \ -DUSE_SHARED_CURL=ON \ -DUSE_SHARED_GIFLIB=ON \ @@ -54,28 +168,37 @@ build() { -DUSE_SHARED_CMARK=ON \ -DENABLE_UPDATER=OFF \ -DUSE_SHARED_FREETYPE=ON \ - -DUSE_SHARED_ALLEGRO4=OFF \ - -DUSE_SHARED_LIBLOADPNG=OFF \ - -DCMAKE_INSTALL_PREFIX:STRING=/usr .. + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DLAF_OS_BACKEND=skia \ + -DSKIA_DIR="$srcdir/skia" \ + -DSKIA_OUT_DIR="$srcdir/skia/out/Release" \ + -G Ninja \ + .. - make $MAKEFLAGS + cmake --build . } package() { cd "$srcdir"/build - make DESTDIR="$pkgdir/" install - install -Dm644 "$srcdir/$pkgname.desktop" \ + DESTDIR="$pkgdir" cmake --install . + # Aseprite doesn't seem to install README.md for some reason. + install --mode=644 --verbose 'bin/data/README.md' "$pkgdir/usr/share/aseprite/data" + + install -D --mode=644 --verbose "$srcdir/$pkgname.desktop" \ "$pkgdir/usr/share/applications/$pkgname.desktop" - install -Dm644 "../data/icons/ase48.png" \ + install -D --mode=644 --verbose "../data/icons/ase48.png" \ "$pkgdir/usr/share/pixmaps/$pkgname.png" - install -Dm644 "../EULA.txt" "$pkgdir/usr/share/licenses/$pkgname/EULA.txt" + install -D --mode=644 --verbose "../EULA.txt" "$pkgdir/usr/share/licenses/$pkgname/EULA.txt" # Remove conflicting files with libarchive - # TODO: With the current compilation options, looks like aseprite build process builds these binaries. Disable the compilation of the following files later on: + # TODO: With the current compilation options, looks like aseprite build process builds these + # binaries. Disable the compilation of the following files later on: # Note: Github issue: https://github.com/aseprite/aseprite/issues/1602 - rm -f "$pkgdir/usr/bin/"{bsdcat,bsdcpio,bsdtar,img2webp} - rm -rf "$pkgdir/usr/include" "$pkgdir/usr/lib" "$pkgdir/usr/share/man" "$pkgdir/usr/bin/cmark" + rm --verbose "$pkgdir/usr/bin/"{bsdcat,bsdcpio,bsdtar,img2webp} + rm --recursive --verbose "$pkgdir/usr/include" "$pkgdir/usr/lib" "$pkgdir/usr/share/WebP" \ + "$pkgdir/usr/share/man" } # vim:set ts=2 sw=2 et: