summaryrefslogtreecommitdiff
path: root/PKGBUILD
blob: 3c083878f75e809825d0784849d3a865203e5dd0 (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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# Maintainer: jc_gargma <jc_gargma@iserlohn-fortress.net>
# Maintainer (Arch): Kyle Keen <keenerd@gmail.com>

# # I maintain this because:
# Arch version lacks additional optimization and hardening flags
# Arch version has non-functional desktop file
# Arch version lacks the awesome MSX++UnDeadPeopleEdition tileset
# Arch version lacks a soundpack
# Arch version lacks a musicpack
# Arch version lacks my custom mods

pkgbase=cataclysm-dda
pkgname=(cataclysm-dda cataclysm-dda-tiles)
pkgname=cataclysm-dda
pkgver=0.E
pkgrel=1.9
pkgdesc="A post-apocalyptic roguelike."
#url="http://cataclysmrl.blogspot.com/"
#url="http://www.cataclysm.glyphgryph.com/"
#url="http://en.cataclysmdda.com/"
url="https://cataclysmdda.org/"
arch=('x86_64' 'aarch64')
license=("CCPL:by-sa")
depends=('ncurses' 'lua' 'hicolor-icon-theme' 'gettext')
makedepends=('sdl2_image' 'sdl2_ttf' 'sdl2_mixer' 'freetype2' 'astyle')
source=("$pkgname-$pkgver.tar.gz::https://github.com/CleverRaven/Cataclysm-DDA/archive/$pkgver.tar.gz"
        "cataclysm-dda.desktop"
        "cataclysm-dda-tiles.desktop"
        "cataclysm-dda-tileset_msx-tileset-master.tar.gz"
        "cataclysm-dda-mod_msx-tileset-fix-master.tar.gz"
        "cataclysm-dda-soundpack_damalsksoundpack.tar.gz"
        "cataclysm-dda-musicpack_coag-musicpack.tar.gz"
        "cataclysm-dda-mod_hack-fix-master.tar.gz"
        "cataclysm-dda-mod_hk-fix-master.tar.gz"
        "cataclysm-dda-mod_battle-maid-redone-master.tar.gz"
        )
b2sums=('730e4730b1ab02769bdd054d1bbf5815fd44e7b185f7d5798168cdbfbddfba243646516ace93b07ebd6866c73bba96d8a4aa8597c87fbe93d34f3fafab7a5856'
        '8cff87d80bf30b86f995f77a97cc1ddb7b809148d100f3c0d74e706fe59eac52de55710fb7aed1abd59836c05f2474c7d68455736aac4f229d1cdf806d7240a1'
        '8ffff827ed464af678497da5129eb69d3d1a4c6994bbcc00ef7f7b240cd04e7961c3c0ac52d6940252241406c04e647fac19c9327847afced33988eb15973ba8'
        '49ffb2f2095b1b6b74723cbc91a93813c6d65ad830b20b345528a1321c1c73d7787e37b567a19b918a90d96de4f09fa81265007b85cb770cb7e350153850cd2a'
        '170a890a7ea8b67f6650e7466189db41cae1634911ad69a44fbe70b5935e2f32ad4efc1beb2c8ab4e312ecf5212c0d5696f60ae9f4cf1e091c3d354300be5bae'
        '49014cc8e65899db275ac0fd928fbc2a668ccb0cc599c0316dacd33b4ee81e4005accef8cff2ea5f08a6ad4225b2950b04aa1b88bd3799129c355759f6f892cf'
        'ae952ebc3f88b8d7d0bfd54c595b121d0e2957d976d2380b94e05112f798d6c9a32620cd197e78c2047e44f5c60b688c07a109ec8ee833c4d5c9c1a0a6acedcc'
        'c93c85f735f5ea907b1a02dbbdbabff657bb41be21c8418c42de66b6abf7b95c7c2de5ecc167bcd727940003ce989bdd7878cb7602ec96abdca63df675480cc8'
        '6dab21b3eb23d2d7b64137ce2d8b1988e03767fbff8202119dd504ffa72f7afcbe50dda3b61a219b70916cdb7a562c70a428f33b2578199dde2bce0ed001c525'
        '0ee46d89c736d2af62e189dcc553709a7ae0415ed4dd8f183eac8d0d131f11587f8b7d1dc223783a845b0fbc20bfed2e9f1fe3e38f62d19faa86741281ed78ff')

# official docs say to use lua51
# but makefile supports lua52?
# lua53 works, but git HEAD detects/uses lua51?

prepare() {
  cd "Cataclysm-DDA-$pkgver"
  sed -i 's/-Werror//' Makefile
  sed -i 's/ncursesw5-config/ncursesw6-config/' Makefile
  #sed -i 's|"\(l.*h\)"|"lua5.1/\1"|' src/catalua.{h,cpp}
  sed -i 's/shell git/shell false/' Makefile
  sed -i 's/-Os/-O3/' Makefile
}

build() {
  cd "Cataclysm-DDA-$pkgver"

  export CFLAGS="$CFLAGS -O3 -flto=4 -fPIE"
  export CXXFLAGS="$CXXFLAGS -O3 -flto=4 -fPIE"
  export LDFLAGS="$LDFLAGS,-pie"

  # tests "ifdef TILES" so "TILES=0" will enable tiles!
  # DYNAMIC_LINKING appears to be a windows flag?
  make PREFIX=/usr RELEASE=1 USE_XDG_DIR=1 BACKTRACE=0
  make PREFIX=/usr RELEASE=1 USE_XDG_DIR=1 BACKTRACE=0 TILES=1 SOUND=1
  #LUA_BINARY="/usr/bin/lua5.1"
}

package_cataclysm-dda() {
  cd "Cataclysm-DDA-$pkgver"

  make DESTDIR="$pkgdir" PREFIX="/usr" RELEASE=1 USE_HOME_DIR=1 install

  # Docs
  install -d "$pkgdir/usr/share/doc/cataclysm-dda"
  cp -r doc/* "$pkgdir/usr/share/doc/cataclysm-dda"
  # undo symlink
  rm "$pkgdir/usr/share/doc/cataclysm-dda/JSON_LOADING_ORDER.md"
  cp 'data/json/LOADING_ORDER.md' "$pkgdir/usr/share/doc/cataclysm-dda/JSON_LOADING_ORDER.md"
  cp -r "$srcdir/cataclysm-dda-mod_battle-maid-redone" "$pkgdir/usr/share/cataclysm-dda/mods"
  cp -r "$srcdir/cataclysm-dda-mod_hack-fix" "$pkgdir/usr/share/cataclysm-dda/mods"
  cp -r "$srcdir/cataclysm-dda-mod_hk-fix" "$pkgdir/usr/share/cataclysm-dda/mods"

  # License
  install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

#  install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
}

package_cataclysm-dda-tiles() {
  pkgdesc="A graphical post-apocalyptic roguelike."
  depends=('cataclysm-dda' 'sdl2_image' 'sdl2_ttf' 'freetype2' 'sdl2_mixer')
  cd "Cataclysm-DDA-$pkgver"

  make DESTDIR="$pkgdir" PREFIX="/usr" RELEASE=1 TILES=1 SOUND=1 install

  # Icon
  install -D 'data/osx/AppIcon.iconset/icon_128x128.png' "$pkgdir/usr/share/icons/hicolor/128x128/apps/$pkgname.png"
  install -D 'data/osx/AppIcon.iconset/icon_128x128.png' "$pkgdir/usr/share/pixmaps/$pkgname.png"
  install -Dm644 "${srcdir}/$pkgname.desktop" "${pkgdir}/usr/share/applications/$pkgname.desktop"

  install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

  cp -r "$srcdir/cataclysm-dda-tileset_msx-tileset" "$pkgdir/usr/share/cataclysm-dda/gfx"
  cp -r "$srcdir/cataclysm-dda-mod_msx-tileset-fix" "$pkgdir/usr/share/cataclysm-dda/mods"
  cp -r "$srcdir/cataclysm-dda-soundpack_damalsksoundpack" "$pkgdir/usr/share/cataclysm-dda/sound"
  install -Dm644 "$srcdir/cataclysm-dda-musicpack_coag-musicpack/musicset.json" "$pkgdir/usr/share/cataclysm-dda/sound/cataclysm-dda-soundpack_damalsksoundpack/musicset.json"
  cp -r "$srcdir/cataclysm-dda-musicpack_coag-musicpack/music" "$pkgdir/usr/share/cataclysm-dda/sound/cataclysm-dda-soundpack_damalsksoundpack"

  # hack: remove overlapping files
  cd "$pkgdir/../cataclysm-dda"
  find . -type f -exec rm -f "$pkgdir"/{} \;
  cd "$pkgdir"
  find . -type d -empty -delete
}