# 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.3.3 _titlepkgver=0.1.2c _objectpkgver=1.0.21 _replayspkgver=0.0.34 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') 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=('9c19bf8f88ef7aa33c345ec46c3dc70ae1221fcad075880a86bd3a577835640002126018d2a5251e063d6259cdd3cd4bde58097feb9095b793538b363b827c5d' 'f91168bea0a4f88a801c95ea45759e0d1c887a89c18dbbded5887d2914db7119dd65c231aa422e4f8a964a81d832eae05bffaa8b7908fac39a63792d082b53a0' '9a42cddb02a0b5c476d5e84c5943d08190957567ea9cff44b0d4496f6a9ee9a548dd0a359e4a4dac21eacac9a074e25f7fc4ce1c37f4002dd5d35c61660e68c2' '3184a0dbd2930f04c09496d7d15a8cf17a02397b1ac685d22b77a6960f871048a9d1bddc8ea80fa9a5bf6ee5d0517e1a49be371fe93dd37e7e837062de5a1e76') 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" # 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" 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" }