blob: 0a20bfbbe57db9fbb31cbe7c5ab06e12a41b718f (
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
122
123
124
125
126
127
|
# 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.4.10
_titlepkgver=0.4.6
_objectpkgver=1.4.3
_opensfxpkgver=1.0.5
_openmsxpkgver=1.5
_replayspkgver=0.0.79
pkgrel=1
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'
'libogg' 'libvorbis' 'flac')
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')
options=('lto')
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-opensfx-$_opensfxpkgver.zip::https://github.com/OpenRCT2/OpenSoundEffects/releases/download/v${_opensfxpkgver}/opensound.zip
$pkgname-openmsx-$_openmsxpkgver.zip::https://github.com/OpenRCT2/OpenMusic/releases/download/v${_openmsxpkgver}/openmusic.zip
$pkgname-replays-$_replayspkgver.zip::https://github.com/OpenRCT2/replays/releases/download/v${_replayspkgver}/replays.zip
)
sha256sums=('7889791f2a8f14e6a970d6f6e48b897f91c9c6345a745b0e07815a77d7ddbc36'
'24a189cdaf1f78fb6d6caede8f1ab3cedf8ab9f819cd2260a09b2cce4c710d98'
'cc2c8304e35337fb7b4daffa9b0ad1afa9a9f3f8f895817671a71c665d372764'
'a952148be164c128e4fd3aea96822e5f051edd9a0b1f2c84de7f7628ce3b2e18'
'c3fac4caa90398a2b4c5bb32e0dd0f44073086fe16121d3dc49b3ca120474068'
'045da1df8697e2d33ff33b34008f22e7698280aa4639afd1b1fc3c590d5e9956')
b2sums=('001918bf436be79a96b222971cdbb9118f26c5350c027360b749588c2112e8a12ae9aa435f6111dec1cb5c3f03d53560ca8b429c7ef0cccb4a5fe12eaf01c9ba'
'5f7b36cd1372106923000775307ea7ff8c142c3b1d026d84b86f255a629b0a2ac16a682300999789229a8833d4c7327c858c04710ecddfb97af1858ff121a5c4'
'0e84f5b520c2c46503e3b1ea46ce6eebbc4960101b30405f7b29c3c8b2e76d45ff807e0a632b262a30a1d9f2acd11ed7870b81e0a3afd5357637ff946ef5a0e6'
'7ddb1437d7e68373f05bd60d77f03971b8a1d6f4280d008d5bf3e86b5d2cb46001a04edddeeb04a06a37801c3afbd35926beb54fe5a72c7fa88b50d0a0b18535'
'11cf46a54716097038e134ae11aeb23823097ca96189dabeb0e43d7050d5e776aa309c38de247da15b1eec7ed6be6299d5673a92df1323cc3a4a5bbc4f48d567'
'4b5c4d96be91055ceff8f5f5f1a894cc2544659983e61ac2f42d655229357b6a368553c1ee45d147cb360c8d54bb0ca78b61a9716efa8d1d7f37cd7c5ba50fa7')
prepare() {
cd "$srcdir/OpenRCT2-$pkgver"
# Add titles data
mkdir data/sequence
cp -r --reflink $srcdir/*.parkseq data/sequence
# Add objects data
mkdir data/object
cp -r --reflink $srcdir/official data/object
cp -r --reflink $srcdir/rct1 data/object
cp -r --reflink $srcdir/rct2 data/object
cp -r --reflink $srcdir/rct2tt data/object
cp -r --reflink $srcdir/rct2ww data/object
# Add opensfx data
mkdir data/assetpack
mkdir data/object/official/audio
cp -r --reflink $srcdir/assetpack/openrct2.sound.parkap data/assetpack/
cp -r --reflink $srcdir/object/official/audio/openrct2.audio.additional.parkobj data/object/official/audio/
# Add openmsx data
mkdir data/object/official/music
cp -r --reflink $srcdir/assetpack/openrct2.music.alternative.parkap data/assetpack/
cp -r --reflink $srcdir/object/official/music/*.parkobj data/object/official/music/
# Add replays data
mkdir -p testdata/replays
cp -r --reflink $srcdir/*.parkrep testdata/replays
mkdir -p build
}
build() {
cd "$srcdir/OpenRCT2-$pkgver/build"
# Needed to be able to build while LTO is enabled
# https://github.com/OpenRCT2/OpenRCT2/issues/6200
CXXFLAGS+=" -Wno-error=stringop-overflow -Wno-error=nonnull"
# Required options to workaround GCC 12 issues
# https://github.com/OpenRCT2/OpenRCT2/issues/17371
CXXFLAGS+=" -Wno-error=maybe-uninitialized -Wno-error=restrict -Wno-error=null-dereference"
# Required for -DDISABLE_NETWORK as of 0.3.3
CXXFLAGS+=" -Wno-error=unused-const-variable"
export CFLAGS="$CFLAGS -O3 -fstack-protector-all -fPIE"
export CXXFLAGS="$CXXFLAGS -O3 -fstack-protector-all -fPIE"
export LDFLAGS="$LDFLAGS,-pie"
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DSTATIC=OFF \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
-DDOWNLOAD_TITLE_SEQUENCES=OFF \
-DDOWNLOAD_OBJECTS=OFF \
-DDOWNLOAD_OPENSFX=OFF \
-DDOWNLOAD_OPENMSX=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"
}
|