# Maintainer: jc_gargma # Maintainer (Arch): Jelle van der Waa # Contributor (AUR): Graham Edgecombe # # 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.0 _titlepkgver=0.4.0 _objectpkgver=1.2.7 _replayspkgver=0.0.67 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' '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') 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=('fc02d002a5dc12861a50d30da8fbcfb26eeb2faa3e2b6d56108fc8a9ed35e5e9' '6e7c7b554717072bfc7acb96fd0101dc8e7f0ea0ea316367a05c2e92950c9029' 'd8b8e27cab5decb2f4c16f3b57dbbc0860c49d609b099c3ecd1d6338a85eada3' '6afe66640aff400398019124a5bbf8db1fea7dd43d4e4670a3a0692f1ecef9e1') b2sums=('7ff0b3532d7d8bf4e325f5b3bea602d19b884346f4ab98ba9533cad5cbd9d7f79d20c7faf52e8c5cc68e140aae52710d00c87d551d097ccb448610c7d0ff69d3' '51f07af30c3702754d806829fe612891a883adc70b8e89f64094b28c94879e5c98feca69f3c1f389ceeb33a99175b41afa794a4f2d121280dcce97c428d2ea99' '3c66bf448fb6ac130d4c5690e3f1a510a65d3058630b427bbc19d067e3ca7f9668b44864c3fa6fb8153d573a72f23c254d15700c97dfa0ecbe76be15f8198fb6' '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" # lto breaks compiling export CFLAGS="$CFLAGS -O3 -fstack-protector-all -fPIE" export CXXFLAGS="$CXXFLAGS -O3 -fstack-protector-all -fPIE" export LDFLAGS="$LDFLAGS,-pie" # Required for -DDISABLE_NETWORK as of 0.3.3 export CFLAGS="$CFLAGS -Wno-error=unused-const-variable" export CXXFLAGS="$CXXFLAGS -Wno-error=unused-const-variable" 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" }