summaryrefslogtreecommitdiff
path: root/pcr/terasology-git/PKGBUILD
blob: 0aba4cefb6a47547446ef9edba187a8c791bc641 (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
# Maintainer: André Silva <emulatorman@parabola.nu>

_pkgname=terasology
pkgname=terasology-git
pkgver=r5318.8e9e14d
pkgrel=1
pkgdesc="Yet another high resolution game with blocks like Minecraft!"
arch=('any')
license=('Apache')
url="http://terasology.org"
options=('!strip')
depends=('jdk8-openjdk' 'xorg-server-utils' 'openal')
makedepends=('gradle' 'unzip' 'git')
conflicts=("${_pkgname}")
provides=("${_pkgname}")
source=(
  "git+https://github.com/MovingBlocks/Terasology.git"
  "${_pkgname}"
  "${_pkgname}.desktop"
)
sha512sums=(
  'SKIP'
  'f94c1ac3d85e4fb91cc47056eeec3648d02be9090252401acb740af8c0580623c7ee57470d9e7317d6b577d613e317b5c16ec014f232ec68bc755e0eba7a975e'
  '737953ab10027100b6bd03ca60a3f1cd4fff503c4c5a1689b3e12ef8df66a3e3347c99d498e48dccc3be8d00e9e37fcab56d5c97bbb81dd310ce757979aa0276'
)

pkgver() {
  cd Terasology
  printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

build() {
  cd Terasology
  gradle --gradle-user-home=. distForLauncher
}

check() {
  cd Terasology
  gradle --gradle-user-home=. test
}

package() {
  cd Terasology
  install -Dm 755 "${srcdir}/${_pkgname}" "$pkgdir/usr/bin/${_pkgname}"
  install -Dm 644 "${srcdir}/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"

  cd build/distributions
  unzip Terasology.zip

  # extract and install icons
  unzip -u libs/engine-* "org/terasology/icons/*"
  pushd org/terasology/icons
  for icon in *
  do
      size=${icon##*_}        #gooey_sweet_XX.png -> XX.png
      size=${size/.png/}      #XX.png -> XX
      install -Dm 644 "$icon" "${pkgdir}/usr/share/icons/${size}x${size}/apps/${_pkgname}.png"
  done
  install -Dm 644 "${pkgdir}/usr/share/icons/64x64/apps/${_pkgname}.png" "${pkgdir}/usr/share/pixmaps/${_pkgname}.png"
  popd
  rm -rv org

  # add license
  install -Dm 644 LICENSE "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"

  # remove files/dirs for other operating systems
  rm -v run_macosx.command Terasology.{x86,x64}.exe
  rm -rv natives/{macosx,windows}

  # remove/copy anything that's left
  rm -v Terasology.zip LICENSE README NOTICE
  cp -rav . "${pkgdir}/usr/share/${_pkgname}"
}