# 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.2 _replayspkgver=0.0.40 pkgrel=2.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' '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' 'b3763097abc042cc6080fabe0470db81b8568957cc3f509998caacd6a18279690385912db7cfa89017999b0cc6e6e5fbcf7f56cdce3ca8d17cbb6445890b85db' 'd85eacea3883b98f456020b9d7ce47d0145f70fe232463e491e4f724450179289c771a522adef816ef8d2aed59b6b5a334e9ff0f72fbb022b580cbeda016af50') 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" }