# 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.4 _titlepkgver=0.1.2c # objects 1.2.x has breaking changes, requires new main release _objectpkgver=1.0.21 _replayspkgver=0.0.43 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=('f30ee821e0993fc30cbb19f72ffefc47006582c79832a6041d93382278c1a5e8d366a0fba2bf8d81c1b58ce720f680e947885eb11322329bd63edd7f2bafa4d6' 'f91168bea0a4f88a801c95ea45759e0d1c887a89c18dbbded5887d2914db7119dd65c231aa422e4f8a964a81d832eae05bffaa8b7908fac39a63792d082b53a0' '9a42cddb02a0b5c476d5e84c5943d08190957567ea9cff44b0d4496f6a9ee9a548dd0a359e4a4dac21eacac9a074e25f7fc4ce1c37f4002dd5d35c61660e68c2' '41b9b1accd877b98c7e244abfe799233e0bf75c14fa7e83e8c1fe996406303dec009c396345ec554a5ca1549172b1497e3adb5d038179c42ae1e719c9707567a') 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/*.sv6r 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" }