112 lines
4.4 KiB
Bash
112 lines
4.4 KiB
Bash
# Template file for 'OpenRCT2'
|
|
# based on https://raw.githubusercontent.com/AluisioASG/void-packages/openrct2/srcpkgs/OpenRCT2/template
|
|
# and https://github.com/void-linux/void-packages/issues/1014#issuecomment-417372421
|
|
pkgname=OpenRCT2
|
|
version=0.4.15
|
|
revision=1
|
|
# versions pulled from https://raw.githubusercontent.com/OpenRCT2/OpenRCT2/v${version}/CMakeLists.txt
|
|
_objects_version=1.4.8
|
|
_titles_version=0.4.14
|
|
_replays_version=0.0.80
|
|
_opensfx_version=1.0.5
|
|
_openmsx_version=1.6
|
|
build_style=cmake
|
|
configure_args="
|
|
-DOPENRCT2_VERSION_TAG=${version}
|
|
-DDOWNLOAD_TITLE_SEQUENCES=0
|
|
-DDOWNLOAD_OBJECTS=0
|
|
-DDOWNLOAD_REPLAYS=0
|
|
-DDISABLE_DISCORD_RPC=1
|
|
-DDISABLE_GOOGLE_BENCHMARK=1
|
|
$(vopt_if multiplayer '' '-DDISABLE_NETWORK=1')
|
|
$(vopt_if scripting '-DENABLE_SCRIPTING=1' '')"
|
|
make_build_target="all g2"
|
|
hostmakedepends="pkg-config unzip"
|
|
makedepends="SDL2-devel fontconfig-devel freetype-devel libzip-devel
|
|
libpng-devel speexdsp-devel icu-devel zlib-devel json-c++ libxml2-devel
|
|
$(vopt_if multiplayer 'libcurl-devel openssl-devel')
|
|
$(vopt_if scripting duktape-devel)"
|
|
depends="zenity"
|
|
checkdepends="gtest-devel"
|
|
short_desc="Open source re-implementation of RollerCoaster Tycoon 2"
|
|
maintainer="klardotsh <josh@klar.sh>"
|
|
license="GPL-3.0-or-later, CC-BY-SA-4.0"
|
|
homepage="https://openrct2.io"
|
|
changelog="https://openrct2.org/changelog"
|
|
# download objects and title sequences ourselves, instead of letting cmake do it
|
|
distfiles="https://github.com/OpenRCT2/OpenRCT2/archive/v${version}.tar.gz
|
|
https://github.com/OpenRCT2/objects/releases/download/v${_objects_version}/objects.zip>objects-${_objects_version}.zip
|
|
https://github.com/OpenRCT2/OpenSoundEffects/releases/download/v${_opensfx_version}/opensound.zip>opensound-${_opensfx_version}.zip
|
|
https://github.com/OpenRCT2/OpenMusic/releases/download/v${_openmsx_version}/openmusic.zip>openmusic-${_openmsx_version}.zip
|
|
https://github.com/OpenRCT2/replays/releases/download/v${_replays_version}/replays.zip>replays-${_replays_version}.zip
|
|
https://github.com/OpenRCT2/title-sequences/releases/download/v${_titles_version}/title-sequences.zip>title-sequences-${_titles_version}.zip"
|
|
checksum="f25671e29316fdcd4065e5c029a87e4beb61a3672115c1762ed6b70b5f1ff5a4
|
|
ea78872f9f777fb6b27019e4b880e4cb9766658ee8ae95f76985af0b9658eb4d
|
|
a952148be164c128e4fd3aea96822e5f051edd9a0b1f2c84de7f7628ce3b2e18
|
|
f097d3a4ccd39f7546f97db3ecb1b8be73648f53b7a7595b86cccbdc1a7557e4
|
|
de47bc8b19f9b1921177c5e04ab90bd85a2460821020fb6375de3c1795a0af5d
|
|
140df714e806fed411cc49763e7f16b0fcf2a487a57001d1e50fce8f9148a9f3"
|
|
skip_extraction="objects-${_objects_version}.zip
|
|
opensound-${_opensfx_version}.zip
|
|
openmusic-${_openmsx_version}.zip
|
|
replays-${_replays_version}.zip
|
|
title-sequences-${_titles_version}.zip"
|
|
|
|
replaces="OpenRCT2-data>=0"
|
|
|
|
CXXFLAGS="-DNDEBUG"
|
|
|
|
build_options="multiplayer scripting"
|
|
build_options_default="multiplayer scripting"
|
|
desc_option_multiplayer="Enable multiplayer support"
|
|
desc_option_scripting="Enable script / plugin support"
|
|
|
|
if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
|
|
broken="not yet implemented"
|
|
fi
|
|
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
ppc*)
|
|
CFLAGS+=" -mlong-double-64"
|
|
CXXFLAGS+=" -mlong-double-64"
|
|
;;
|
|
esac
|
|
|
|
if [ "$CROSS_BUILD" ]; then
|
|
hostmakedepends+=" OpenRCT2"
|
|
# for icu mass-rebuild
|
|
hostmakedepends+=" enchant2 libxml2 libharfbuzz"
|
|
hostmakedepends+=" libnuspell libpsl"
|
|
CXXFLAGS+=" -DHAVE_IMMINTRIN_H=false -DSDL_DISABLE_IMMINTRIN_H=1"
|
|
fi
|
|
|
|
if [ "$XBPS_CHECK_PKGS" ]; then
|
|
configure_args+=" -DWITH_TESTS=1 -DSYSTEM_GTEST=1"
|
|
fi
|
|
|
|
post_extract() {
|
|
_builddir="${build_wrksrc:+$build_wrksrc/}${cmake_builddir:=build}"
|
|
vsrcextract --no-strip-components -C data/object objects-${_objects_version}.zip
|
|
vsrcextract --no-strip-components -C data/sequence title-sequences-${_titles_version}.zip
|
|
vsrcextract --no-strip-components -C data opensound-${_opensfx_version}.zip
|
|
vsrcextract --no-strip-components -C data openmusic-${_openmsx_version}.zip
|
|
vsrcextract --no-strip-components -C test/tests/testdata/replays replays-${_replays_version}.zip
|
|
# CMakeLists seems to assume `install` is run before `check`, and so
|
|
# doesn't actually make the `data`/`testdata` symlinks in time
|
|
mkdir -p "${_builddir}"
|
|
ln -rs data testdata "${_builddir}/"
|
|
|
|
vsed -i CMakeLists.txt -e "s; -Werror;;"
|
|
}
|
|
|
|
post_patch() {
|
|
if [ "$CROSS_BUILD" ]; then
|
|
sed -i -e 's#COMMAND ./openrct2#COMMAND openrct2#g' CMakeLists.txt
|
|
fi
|
|
}
|
|
|
|
post_install() {
|
|
# remove useless static lib
|
|
rm "${DESTDIR}/usr/lib/libopenrct2.a"
|
|
}
|