summaryrefslogtreecommitdiff
path: root/PKGBUILD
blob: 6d0ce494682d41c0dbf1273fdd506e77926d63fc (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
# Maintainer: jc_gargma <jc_gargma@iserlohn-fortress.net>
# Maintainer (Arch): Jelle van der Waa <jelle@archlinux.org>
# Contributor (AUR): Graham Edgecombe <graham@grahamedgecombe.com>

# # I maintain this because:
# Arch version lacks additional optimization and hardening flags
# Arch version builds with discord, benchmark, update checks, online tests
# Arch version cannot be built offline

pkgname=openrct2
pkgver=0.3.2
_titlepkgver=0.1.2c
_objectpkgver=1.0.20
_replayspkgver=0.0.23
pkgrel=3
pkgdesc='Open source re-implementation of Roller Coaster Tycoon 2 (requires full
         copy of the game)'
arch=('x86_64' 'i686' 'armv7h' 'aarch64')
url='https://openrct2.io'
license=('GPL3')
depends=('hicolor-icon-theme' 'sdl2' 'speexdsp' 'fontconfig'
         'libpng' 'libzip' 'icu' 'duktape')
makedepends=('cmake' 'nlohmann-json')
optdepends=('zenity: System dialog box support (GNOME/GTK)'
            'kdialog: System dialog box support (KDE)'
            'alsa-lib: ALSA audio driver'
            'libpulse: PulseAudio audio driver')
install=openrct2.install
source=($pkgname-$pkgver.tar.gz::https://github.com/OpenRCT2/OpenRCT2/archive/v$pkgver.tar.gz
        $pkgname-title-sequences-$_titlepkgver.zip::https://github.com/OpenRCT2/title-sequences/releases/download/v$_titlepkgver/title-sequences.zip
        $pkgname-objects-$_objectpkgver.zip::https://github.com/OpenRCT2/objects/releases/download/v$_objectpkgver/objects.zip
        $pkgname-replays-$_replayspkgver.zip::https://github.com/OpenRCT2/replays/releases/download/v$_replayspkgver/replays.zip
        )
b2sums=('de79fefdb860dae1bf2962f9359d1ea46ab073c80206b6687ef40386725c84d1d048eafbd3f3aeb3fcae3136528568943e4cb88ae0f78b4f6c04d127726254e8'
        'f91168bea0a4f88a801c95ea45759e0d1c887a89c18dbbded5887d2914db7119dd65c231aa422e4f8a964a81d832eae05bffaa8b7908fac39a63792d082b53a0'
        'b3aac9a972a6a9a3272378801bb53ecbceb6ba4dbf1d723a22016a0fc9e7ed0893ec0136b9fc1c95274d1815722a2b11a6c6138db0b7686c6ccaa6d340b8ec6a'
        '230a922cc1c8ae39aff1a3cb9fae1ee260ef8628e2881c6f5fef2f722707a35db1841d64c0cdf9c9e9347d088ec47ac20372977dc5e02cb9a4636d2fa9921e66')

prepare() {
  cd "$srcdir/OpenRCT2-$pkgver"
  mkdir data/sequence
  cp -r $srcdir/*.parkseq data/sequence
  mkdir data/object
  cp -r $srcdir/official data/object
  cp -r $srcdir/rct1 data/object
  cp -r $srcdir/rct2 data/object
  cp -r $srcdir/rct2tt data/object
  cp -r $srcdir/rct2ww data/object
  mkdir -p testdata/replays
  cp -r $srcdir/*.sv6r testdata/replays
}

build() {
  cd "$srcdir/OpenRCT2-$pkgver"

  # lto breaks compiling
  export CFLAGS="$CFLAGS -O3 -fstack-protector-all -fPIE"
  export CXXFLAGS="$CXXFLAGS -O3 -fstack-protector-all -fPIE"
  export LDFLAGS="$LDFLAGS,-pie"

  mkdir -p build
  cd build
  cmake -DCMAKE_BUILD_TYPE=Release    \
        -DCMAKE_INSTALL_PREFIX=/usr   \
        -DSTATIC=off  \
        -DCMAKE_INSTALL_LIBDIR=/usr/lib      \
        -DDOWNLOAD_TITLE_SEQUENCES=OFF \
        -DDOWNLOAD_OBJECTS=OFF         \
        -DDOWNLOAD_REPLAYS=OFF         \
        -DDISABLE_DISCORD_RPC=ON       \
        -DDISABLE_GOOGLE_BENCHMARK=ON  \
        -DDISABLE_HTTP=ON              \
        -DDISABLE_NETWORK=ON           \
        ..
  make all g2
}

package() {
  cd "$srcdir/OpenRCT2-$pkgver/build"

  make DESTDIR="$pkgdir" install

  rm "$pkgdir/usr/lib/libopenrct2.a"
  rmdir "$pkgdir/usr/lib"
}