summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConrad Kostecki <conikost@gentoo.org>2022-07-09 23:02:06 +0200
committerConrad Kostecki <conikost@gentoo.org>2022-07-09 23:29:28 +0200
commit2ba03a2f0bc4d7e5f16e9a98b8e3b286684d900a (patch)
treeff1d97fea6e8cf3610aaa5a2799e9562636b7b71 /games-simulation/openrct2
parentmedia-libs/gmmlib: add 22.1.5 (diff)
downloadgentoo-2ba03a2f0bc4d7e5f16e9a98b8e3b286684d900a.tar.gz
gentoo-2ba03a2f0bc4d7e5f16e9a98b8e3b286684d900a.tar.bz2
gentoo-2ba03a2f0bc4d7e5f16e9a98b8e3b286684d900a.zip
games-simulation/openrct2: add 0.4.1
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'games-simulation/openrct2')
-rw-r--r--games-simulation/openrct2/Manifest2
-rw-r--r--games-simulation/openrct2/files/openrct2-0.4.1-gtest-1.10.patch8
-rw-r--r--games-simulation/openrct2/openrct2-0.4.1.ebuild164
3 files changed, 174 insertions, 0 deletions
diff --git a/games-simulation/openrct2/Manifest b/games-simulation/openrct2/Manifest
index 12bcabc744f6..1958d324c2af 100644
--- a/games-simulation/openrct2/Manifest
+++ b/games-simulation/openrct2/Manifest
@@ -1,4 +1,6 @@
DIST openrct2-0.4.0.tar.gz 15179718 BLAKE2B 7ff0b3532d7d8bf4e325f5b3bea602d19b884346f4ab98ba9533cad5cbd9d7f79d20c7faf52e8c5cc68e140aae52710d00c87d551d097ccb448610c7d0ff69d3 SHA512 b1edf0b8c2987ad2c7fb7f69bb7402ac2a7b783f0a49831a20e8ff8cfc28e84d3e4bc265c986079d58ee430fb1fe6593cde04859cbba8e7aaf1d890091a478d0
+DIST openrct2-0.4.1.tar.gz 14307739 BLAKE2B d50dd896128898725eb7bd347341dc23a5ef4e8c83d3334625f5484dc5d4214a6ba19981997291de3edb80baaf498e9b4fd83b460a2fd4fdc2100c080d3d0bb6 SHA512 795e94b025ebe8ce4386e59723e2442e950810652a1c95caa1e21a88bef5417c2cce18c93418788e75cd8e980ffda0dc73838693fbe2be108a4e269da9159f06
DIST openrct2-objects-1.2.7.zip 3424846 BLAKE2B 3c66bf448fb6ac130d4c5690e3f1a510a65d3058630b427bbc19d067e3ca7f9668b44864c3fa6fb8153d573a72f23c254d15700c97dfa0ecbe76be15f8198fb6 SHA512 b94027944e8e82dc0ecd9f330c5cb707f07547a3d787e5a8251bba7c7528a5a15fc034e251dfe70ade397b1aa990c148aa7ccdf2f7e8964db36f143b38f1a4f5
+DIST openrct2-objects-1.3.2.zip 3954437 BLAKE2B 21d79e35a3bad343a4f96e152f8b5f04820fc927557f0526e639f7c04ca1fac61804db02be57261deb01d65c81f67783ba9ed8e0230a90b2626fa2b63ed82857 SHA512 88b292961d728c1ad31dd9f68ba9a1201a59126887030b7b4a8d9fdbed758c1b9bd4f29fb924ddd3cf7b4c5fb7c95f576a00fabdef5a8403e287edeb1c740ff1
DIST openrct2-replays-0.0.67.zip 1479146 BLAKE2B 78e2872013e20ce389dd24d70aeeeb2fe3822dbc3bb6059308ad0f2014d0550fe26f85b7dbce7ed8373235e688e5a8e2817b16231a751871d22301d9e3d1ecf7 SHA512 41745238b61128777ae4fee1ecb7e9284d84d9b420d653b5371d1349bd00473a98beeaa41688903081390ad38b693cd5e54d230bfc2c255beabbef93ec326f69
DIST openrct2-title-sequences-0.4.0.zip 7945853 BLAKE2B 51f07af30c3702754d806829fe612891a883adc70b8e89f64094b28c94879e5c98feca69f3c1f389ceeb33a99175b41afa794a4f2d121280dcce97c428d2ea99 SHA512 fcfabb02fb7cb9dda7f73f8a24fb426e23b1ea4c417deacd7147e4d2e8942223e0cf9d9cc6ae371f7508e8d3b1f3161e05677a301a330ae265b6610e1c5da487
diff --git a/games-simulation/openrct2/files/openrct2-0.4.1-gtest-1.10.patch b/games-simulation/openrct2/files/openrct2-0.4.1-gtest-1.10.patch
new file mode 100644
index 000000000000..1a9eba0fb3e3
--- /dev/null
+++ b/games-simulation/openrct2/files/openrct2-0.4.1-gtest-1.10.patch
@@ -0,0 +1,8 @@
+--- a/test/tests/ReplayTests.cpp
++++ b/test/tests/ReplayTests.cpp
+@@ -115,4 +115,5 @@
+ }
+ };
+
++GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(ReplayTests);
+ INSTANTIATE_TEST_SUITE_P(Replay, ReplayTests, testing::ValuesIn(GetReplayFiles()), PrintReplayParameter());
diff --git a/games-simulation/openrct2/openrct2-0.4.1.ebuild b/games-simulation/openrct2/openrct2-0.4.1.ebuild
new file mode 100644
index 000000000000..086cc24d58f0
--- /dev/null
+++ b/games-simulation/openrct2/openrct2-0.4.1.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2022 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_OBJ="objects"
+MY_PN_RPL="replays"
+MY_PN_TS="title-sequences"
+MY_PV_OBJ="1.3.2"
+MY_PV_RPL="0.0.67"
+MY_PV_TS="0.4.0"
+
+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_OBJ}/releases/download/v${MY_PV_OBJ}/${MY_PN_OBJ}.zip -> ${PN}-${MY_PN_OBJ}-${MY_PV_OBJ}.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 x86"
+IUSE="dedicated +lightfx +opengl scripting test +truetype"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ dev-libs/icu:=
+ dev-libs/jansson:=
+ dev-libs/libzip:=
+ media-libs/libpng:0=
+ net-misc/curl[ssl]
+ sys-libs/zlib
+ !dedicated? (
+ media-libs/libsdl2
+ media-libs/speexdsp
+ opengl? ( virtual/opengl )
+ )
+ 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/sequence || die
+ cd "${S}"/data/sequence || die
+ unpack "${PN}-${MY_PN_TS}-${MY_PV_TS}".zip
+
+ mkdir -p "${S}"/data/object || die
+ cd "${S}"/data/object || die
+ unpack "${PN}-${MY_PN_OBJ}-${MY_PV_OBJ}".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
+ -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)
+ -DDOWNLOAD_OBJECTS=OFF
+ -DDOWNLOAD_REPLAYS=OFF
+ -DDOWNLOAD_TITLE_SEQUENCES=OFF
+ -DENABLE_LIGHTFX=$(usex lightfx)
+ -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
+}