summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-simulation')
-rw-r--r--games-simulation/openrct2/Manifest1
-rw-r--r--games-simulation/openrct2/openrct2-0.4.14.ebuild180
2 files changed, 181 insertions, 0 deletions
diff --git a/games-simulation/openrct2/Manifest b/games-simulation/openrct2/Manifest
index b178b8820a13..4364947de964 100644
--- a/games-simulation/openrct2/Manifest
+++ b/games-simulation/openrct2/Manifest
@@ -1,5 +1,6 @@
DIST openrct2-0.4.12.tar.gz 21881586 BLAKE2B 4832f55883fa30e16c4d06231516329143e02e440dfc0d48c66eec162016c619cdaf8b421a891506276a3dd53def76b9c1fa97b97252b3683c5ceb30f4fd3c64 SHA512 dae0e4e42306853883c17523b3c814775ff782b1e50683aa72a278d121132610336f9307299f86dfdc27310b2f8403fff4d34a68a8814f6a7bba88646d587922
DIST openrct2-0.4.13.tar.gz 21879688 BLAKE2B bd578f2a303331697ee0f5c7c9bb142a805806a7e5c057933eb3382d3b6d86a555c8b361841c33024c957763fd0fbebdabf80cc360b4903054ca91fb9a65fc85 SHA512 043f1b1e8b60b1a939e3c0e63db3690dde602ab87adec1d187d2563c514adbadb0c0a2384ec47a56b8a9adf03c35d6b80a5a71032b0084ec55656c88aa172daf
+DIST openrct2-0.4.14.tar.gz 21917635 BLAKE2B 0fc5a105a416a1a9634ca90542c5234e19da534f07554c1f278b75a1209158d3783cfd69fad1e492140788f9cf3716f5e943391c7787015ae038ccaf7da8765d SHA512 11eaec800aee9667d1a9d5f255f556572221b5f2190740d16c847e23bb1feb75fcb3876c4078ca069517eda72a27fb22f5c6fb91458bdf66dfe1f8ab51bd4e07
DIST openrct2-objects-1.4.6.zip 5411575 BLAKE2B cb570d88815f82231340aa012e632fd669ac336f6d79227f602d9e702c78944dbeb805a8fb468874c7e67b0b4d6ed0a21559ed81a5e065d08ae35d1133d67f90 SHA512 d739ab2416b45b95dbf13a148bb4e8687bbf4c228429c455a35ff55235eb21da743ed31dbb133e2dde07fc4c4fe250ecee7a15ec7fbb6708fb6f222f9f69ae42
DIST openrct2-objects-1.4.7.zip 5411765 BLAKE2B 0ac59fbee6d22f832f52f03ad6e4e15bd60ba1955fc7a8f9deaf8fd114483cfdf20cd8ced42494716bf7a1d8dbeb7969cb1fa3852ae11e9afb0819c90ae6d389 SHA512 54f6872502333dc4063d0eca6d9e2cb6f7e6c7593be014a3c17df3b9a6dfa354b50c995953fb56973db8cef3733eedb3b64e680fe136724328156c1c590d9ae7
DIST openrct2-openmusic-1.5.zip 40548101 BLAKE2B 11cf46a54716097038e134ae11aeb23823097ca96189dabeb0e43d7050d5e776aa309c38de247da15b1eec7ed6be6299d5673a92df1323cc3a4a5bbc4f48d567 SHA512 55d4afb854eaa5a69c42e7f0b26669c8fb58b2eba3e2892c655e76d8fab82e2734f39981d7f5ac69e11dc87d06c89795da2468feac3bc53ef6cfdd992e3924f3
diff --git a/games-simulation/openrct2/openrct2-0.4.14.ebuild b/games-simulation/openrct2/openrct2-0.4.14.ebuild
new file mode 100644
index 000000000000..259d2e1f7bfa
--- /dev/null
+++ b/games-simulation/openrct2/openrct2-0.4.14.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake readme.gentoo-r1 xdg-utils
+
+MY_PN="OpenRCT2"
+MY_PN_MSX="openmusic"
+MY_PN_OBJ="objects"
+MY_PN_RPL="replays"
+MY_PN_SFX="opensound"
+MY_PN_TS="title-sequences"
+MY_PV_MSX="1.5"
+MY_PV_OBJ="1.4.7"
+MY_PV_RPL="0.0.79"
+MY_PV_SFX="1.0.5"
+MY_PV_TS="0.4.14"
+
+DESCRIPTION="An open source re-implementation of Chris Sawyer's RollerCoaster Tycoon 2"
+HOMEPAGE="https://openrct2.org/"
+SRC_URI="
+ https://github.com/${MY_PN}/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/${MY_PN}/${MY_PN_MSX}/releases/download/v${MY_PV_MSX}/${MY_PN_MSX}.zip -> ${PN}-${MY_PN_MSX}-${MY_PV_MSX}.zip
+ https://github.com/${MY_PN}/${MY_PN_OBJ}/releases/download/v${MY_PV_OBJ}/${MY_PN_OBJ}.zip -> ${PN}-${MY_PN_OBJ}-${MY_PV_OBJ}.zip
+ https://github.com/${MY_PN}/OpenSoundEffects/releases/download/v${MY_PV_SFX}/${MY_PN_SFX}.zip -> ${PN}-${MY_PN_SFX}-${MY_PV_SFX}.zip
+ https://github.com/${MY_PN}/${MY_PN_TS}/releases/download/v${MY_PV_TS}/${MY_PN_TS}.zip -> ${PN}-${MY_PN_TS}-${MY_PV_TS}.zip
+ test? ( https://github.com/${MY_PN}/${MY_PN_RPL}/releases/download/v${MY_PV_RPL}/${MY_PN_RPL}.zip -> ${PN}-${MY_PN_RPL}-${MY_PV_RPL}.zip )
+"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="dedicated +flac +opengl scripting test +truetype +vorbis"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ dev-libs/icu:=
+ dev-libs/jansson:=
+ dev-libs/libzip:=
+ media-libs/libpng:=
+ net-misc/curl[ssl]
+ sys-libs/zlib
+ !dedicated? (
+ media-libs/libsdl2
+ media-libs/speexdsp
+ flac? ( media-libs/flac:= )
+ opengl? ( virtual/opengl )
+ vorbis? ( media-libs/libvorbis )
+ )
+ dev-libs/openssl:0=
+ scripting? ( dev-lang/duktape:= )
+ truetype? (
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ dedicated? (
+ acct-group/openrct2
+ acct-user/openrct2
+ )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-cpp/nlohmann_json
+ test? ( dev-cpp/gtest )
+"
+
+BDEPEND="
+ app-arch/unzip
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.4.0-include-additional-paths.patch"
+ "${FILESDIR}/${PN}-0.4.1-gtest-1.10.patch"
+)
+
+src_unpack() {
+ unpack "${P}".tar.gz
+
+ mkdir -p "${S}"/data || die
+ cd "${S}"/data
+ unpack "${PN}-${MY_PN_MSX}-${MY_PV_MSX}".zip
+ unpack "${PN}-${MY_PN_SFX}-${MY_PV_SFX}".zip
+
+ mkdir -p "${S}"/data/object || die
+ cd "${S}"/data/object || die
+ unpack "${PN}-${MY_PN_OBJ}-${MY_PV_OBJ}".zip
+
+ mkdir -p "${S}"/data/sequence || die
+ cd "${S}"/data/sequence || die
+ unpack "${PN}-${MY_PN_TS}-${MY_PV_TS}".zip
+
+ if use test; then
+ mkdir -p "${S}"/testdata/replays || die
+ cd "${S}"/testdata/replays || die
+ unpack "${PN}-${MY_PN_RPL}-${MY_PV_RPL}".zip
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Don't treat warnings as errors.
+ sed -e 's/-Werror//' -i CMakeLists.txt || die
+}
+
+src_configure() {
+ # Note: There is currently no support for Disord-RPC and Google Benchmark,
+ # as both packages do not exist in Gentoo, so support for them has been disabled.
+ local mycmakeargs=(
+ -DDISABLE_DISCORD_RPC=ON
+ $(usex !dedicated "-DDISABLE_FLAC=$(usex !flac)" "")
+ -DDISABLE_GOOGLE_BENCHMARK=ON
+ -DDISABLE_GUI=$(usex dedicated)
+ -DDISABLE_HTTP=OFF
+ -DDISABLE_IPO=ON
+ -DDISABLE_NETWORK=OFF
+ $(usex !dedicated "-DDISABLE_OPENGL=$(usex !opengl)" "")
+ -DDISABLE_TTF=$(usex !truetype)
+ $(usex !dedicated "-DDISABLE_VORBIS=$(usex !vorbis)" "")
+ -DDOWNLOAD_OBJECTS=OFF
+ -DDOWNLOAD_OPENMSX=OFF
+ -DDOWNLOAD_OPENSFX=OFF
+ -DDOWNLOAD_REPLAYS=OFF
+ -DDOWNLOAD_TITLE_SEQUENCES=OFF
+ -DENABLE_SCRIPTING=$(usex scripting)
+ -DOPENRCT2_USE_CCACHE=OFF
+ -DPORTABLE=OFF
+ -DSTATIC=OFF
+ -DWITH_TESTS=$(usex test)
+ -DUSE_MMAP=ON
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # Since the tests need the OpenRCT2 data,
+ # we need to symlink them into the build directory,
+ # otherwise some tests will fail, as they don't find the OpenRCT2 data.
+ # It is currently not possible to override that path.
+ # See: https://github.com/OpenRCT2/OpenRCT2/issues/6473
+ ln -s "${S}"/data "${BUILD_DIR}" || die
+
+ cmake_src_test
+}
+
+src_install() {
+ use scripting && DOCS+=( "distribution/scripting.md" "distribution/openrct2.d.ts" )
+
+ cmake_src_install
+
+ if use dedicated; then
+ newinitd "${FILESDIR}"/openrct2.initd openrct2
+ newconfd "${FILESDIR}"/openrct2.confd openrct2
+ fi
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+}