summaryrefslogtreecommitdiff
path: root/PKGBUILD
blob: a5a6b8e1081925bb8d76164ee277d88a155bee44 (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.12
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.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-tileset_msx-tileset.git/snapshot/cataclysm-dda-tileset_msx-tileset-master.tar.xz"
        "cataclysm-dda-mod_msx-tileset-fix.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_msx-tileset-fix.git/snapshot/cataclysm-dda-mod_msx-tileset-fix-master.tar.xz"
        "cataclysm-dda-soundpack_damalsksoundpack.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-soundpack_damalsksoundpack.git/snapshot/cataclysm-dda-soundpack_damalsksoundpack-master.tar.xz"
        "cataclysm-dda-musicpack_coag-musicpack.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-musicpack_coag-musicpack.git/snapshot/cataclysm-dda-musicpack_coag-musicpack-master.tar.xz"
        "cataclysm-dda-mod_hack-fix.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_hack-fix.git/snapshot/cataclysm-dda-mod_hack-fix-master.tar.xz"
        "cataclysm-dda-mod_hk-fix.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_hk-fix.git/snapshot/cataclysm-dda-mod_hk-fix-master.tar.xz"
        "cataclysm-dda-mod_battle-maid-redone.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_battle-maid-redone.git/snapshot/cataclysm-dda-mod_battle-maid-redone-master.tar.xz"
        )
b2sums=('730e4730b1ab02769bdd054d1bbf5815fd44e7b185f7d5798168cdbfbddfba243646516ace93b07ebd6866c73bba96d8a4aa8597c87fbe93d34f3fafab7a5856'
        '8cff87d80bf30b86f995f77a97cc1ddb7b809148d100f3c0d74e706fe59eac52de55710fb7aed1abd59836c05f2474c7d68455736aac4f229d1cdf806d7240a1'
        '8ffff827ed464af678497da5129eb69d3d1a4c6994bbcc00ef7f7b240cd04e7961c3c0ac52d6940252241406c04e647fac19c9327847afced33988eb15973ba8'
        '29a87e1ae6814546dcf2e2d70b0b49dba6de26ed4636d93cec0193a1b7eb4ac2e5b8c071a936f7996118c6293bbfaf8f63752c4e051b7be14d84261eaa94594b'
        'e6c6b3a4cd40e57819d148fdc1f0462332d0cfab37d2021161988cbd4142acf9b5029b70df40fe5b8e286a43398488b248a702e48846da22c8490b7cd5ac182f'
        '631086a3e2365562dacd644b709702a12476081949e7b328822def646de90a72e916a4a59f17923a56b714f5b2c8acba108c6a22bc4944d1adbc20376baf2401'
        '353fed5883383063b2b2d3a81f3a5d5364a0351d037f5456e9d89d4eeee3b20b3e1f9c74c3d458193deb8ac1fa41d73d86e8364a623a6344c32c55437f362d4b'
        'eb4f2c80f9452215eaf89b074fe556afef043d7fcd49768242d09e1a0e707da9f7912e598a81b2cbf60cda8715ab5e452ceaaa0f2377c90f50a3816b11ffddf0'
        '855ac28bc6b2277819fb617fd0dfd23e786fc67054bd1ac81d961e973ead115f354ed94d7a5d19f4a0e262a5f177bce40f0cf8686f0ce4c22e3af6a309aa705c'
        '7fe03158cd5e05c175601a70952444b7c1d4b33b4e006bbe2de16afe82374ff870c4fb3dc25c9b11878cf1700f1580bd07ffc7a51eadfec2d21ac7218a654223')

# 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
}