blob: e2ad0a1d08e373b3d27b8c789fdaf4fd461d5808 (
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.8
_titlepkgver=0.4.6
_objectpkgver=1.3.13
_opensfxpkgver=1.0.3
_openmsxpkgver=1.5
_replayspkgver=0.0.78
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=('b79bdfd91e2676b0238a94ef3a53bf13a6b6ba417a8d77056a8ea2a903967fd1'
'24a189cdaf1f78fb6d6caede8f1ab3cedf8ab9f819cd2260a09b2cce4c710d98'
'0711779d69778652d4430d4173903e2444673be374b0ed78c797b5636349b968'
'70be1b6ff8cc24ad8031a2e0cdd445b5dd3c52c886a8e5f70401f75152e4ae6c'
'c3fac4caa90398a2b4c5bb32e0dd0f44073086fe16121d3dc49b3ca120474068'
'a6bdfdcc7d916ce060961c5fe7beaf43679fbfad9838cfdbd067617ae0ac0ddf')
b2sums=('07517be3430f70001001866aee3c488aa5618c48f342c2b93ccfd29f69f4ea73b769ffea70c11a8f8f0dafd143569852469dc7b074524f2f17957927eb804661'
'5f7b36cd1372106923000775307ea7ff8c142c3b1d026d84b86f255a629b0a2ac16a682300999789229a8833d4c7327c858c04710ecddfb97af1858ff121a5c4'
'16540805a0a9413de96837d23787ed47a84e570b2fa2480c89f4f9a644033c39ffa9167838c164511308942401fd054f2091362491a395c207bb3b779e7a740c'
'74265800595e36ac943bf2ee5d9c8f6cb3bbd5be3713d9590cb81faac4a75154dfbf9806b1b55e9c2426c84e3cf313a6271fc378ebfd4fa94821683157be5470'
'11cf46a54716097038e134ae11aeb23823097ca96189dabeb0e43d7050d5e776aa309c38de247da15b1eec7ed6be6299d5673a92df1323cc3a4a5bbc4f48d567'
'cf11a05f6ba5a2808cd4c016ac3c7537a0b49b67fd5ef5ab705aebd4ddc64dd4a82ea12d9c082fe66cebb57437c0d81052bcddfb94a0c9f7aab024a82c2e2ca8')
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"
}
|