blob: 2448e3495ed988b6421dade9c7f16158ebf4bf68 (
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
|
# 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.1
_titlepkgver=0.4.0
_objectpkgver=1.3.2
_replayspkgver=0.0.67
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'
'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-replays-$_replayspkgver.zip::https://github.com/OpenRCT2/replays/releases/download/v$_replayspkgver/replays.zip
)
sha256sums=('a7ef1995aca7d19d2167ae68ef3a167157582f29c1606bf90878fbb5ba9f14d6'
'6e7c7b554717072bfc7acb96fd0101dc8e7f0ea0ea316367a05c2e92950c9029'
'b87ab1e343930e6263cc7ae803ff35059d53be1d7b5a37a34577c5107c8bbdea'
'6afe66640aff400398019124a5bbf8db1fea7dd43d4e4670a3a0692f1ecef9e1')
b2sums=('d50dd896128898725eb7bd347341dc23a5ef4e8c83d3334625f5484dc5d4214a6ba19981997291de3edb80baaf498e9b4fd83b460a2fd4fdc2100c080d3d0bb6'
'51f07af30c3702754d806829fe612891a883adc70b8e89f64094b28c94879e5c98feca69f3c1f389ceeb33a99175b41afa794a4f2d121280dcce97c428d2ea99'
'21d79e35a3bad343a4f96e152f8b5f04820fc927557f0526e639f7c04ca1fac61804db02be57261deb01d65c81f67783ba9ed8e0230a90b2626fa2b63ed82857'
'78e2872013e20ce389dd24d70aeeeb2fe3822dbc3bb6059308ad0f2014d0550fe26f85b7dbce7ed8373235e688e5a8e2817b16231a751871d22301d9e3d1ecf7')
prepare() {
cd "$srcdir/OpenRCT2-$pkgver"
mkdir data/sequence
cp -r --reflink $srcdir/*.parkseq data/sequence
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
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_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"
}
|