summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: c251d30a38fee31f316d0b94cd2a07a9562c0098 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Maintainer: Wilson E. Alvarez <wilson.e.alvarez1@gmail.com>
# Contributor: Benoit Favre <benoit.favre@gmail.com>
# Contributor: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Kamil Biduś <kamil.bidus@gmail.com>

pkgname=aseprite
pkgver=1.2.9
pkgrel=2
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')
conflicts=("aseprite-git" "aseprite-gpl")
source=("https://github.com/${pkgname}/${pkgname}/releases/download/v${pkgver}/Aseprite-v${pkgver}-Source.zip"
"${pkgname}.desktop")
sha256sums=(
'1ebbf5d4ecce70f8e5d682ab302beab82d01822a7c65cfb7de705f33625eb44e'
'c258fa38a0e0bd575f0bd744c4c3b60cf8d59d596c7572f84bd392e1c5e49b4f'
)

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

  # 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

  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 \
    -DWITH_WEBP_SUPPORT=ON \
    -DUSE_SHARED_CURL=ON \
    -DUSE_SHARED_GIFLIB=ON \
    -DUSE_SHARED_JPEGLIB=ON \
    -DUSE_SHARED_HARFBUZZ=ON \
    -DUSE_SHARED_ZLIB=ON \
    -DUSE_SHARED_LIBPNG=ON \
    -DUSE_SHARED_TINYXML=ON \
    -DUSE_SHARED_CMARK=ON \
    -DENABLE_UPDATER=OFF \
    -DUSE_SHARED_FREETYPE=ON \
    -DUSE_SHARED_ALLEGRO4=OFF \
    -DUSE_SHARED_LIBLOADPNG=OFF \
    -DCMAKE_INSTALL_PREFIX:STRING=/usr ..

  make $MAKEFLAGS
}

package() {
  cd "$srcdir"/build

  make DESTDIR="$pkgdir/" install
  install -Dm644 "$srcdir/$pkgname.desktop" \
    "$pkgdir/usr/share/applications/$pkgname.desktop"
  install -Dm644 "../data/icons/ase48.png" \
    "$pkgdir/usr/share/pixmaps/$pkgname.png"
  install -Dm644 "../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:
  # 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"
}

# vim:set ts=2 sw=2 et: