diff options
Diffstat (limited to 'games-simulation')
4 files changed, 191 insertions, 6 deletions
diff --git a/games-simulation/openrct2/Manifest b/games-simulation/openrct2/Manifest index 97cca94ac7a4..711cad0443aa 100644 --- a/games-simulation/openrct2/Manifest +++ b/games-simulation/openrct2/Manifest @@ -1,6 +1,8 @@ DIST openrct2-0.3.5.1.tar.gz 14178153 BLAKE2B a1f15fd427392195502e917f1fd4d8064a2905c1995c9e94157073c6acc026d1f716fb06294768630aa75d104d7c851388c72c38653e4804deeb8237b4a31c00 SHA512 0e36db302631b75aa1411eca945bddd1120997efbc48ba9172887f834670f34e345b8c96f363cdc8791d94bb4df32f6e70e30001989c194a8c525e2614241c84 +DIST openrct2-0.4.0.tar.gz 15179718 BLAKE2B 7ff0b3532d7d8bf4e325f5b3bea602d19b884346f4ab98ba9533cad5cbd9d7f79d20c7faf52e8c5cc68e140aae52710d00c87d551d097ccb448610c7d0ff69d3 SHA512 b1edf0b8c2987ad2c7fb7f69bb7402ac2a7b783f0a49831a20e8ff8cfc28e84d3e4bc265c986079d58ee430fb1fe6593cde04859cbba8e7aaf1d890091a478d0 DIST openrct2-objects-1.0.21.zip 3159059 BLAKE2B 9a42cddb02a0b5c476d5e84c5943d08190957567ea9cff44b0d4496f6a9ee9a548dd0a359e4a4dac21eacac9a074e25f7fc4ce1c37f4002dd5d35c61660e68c2 SHA512 b267db6542562c0c46c9964c865d33abff57d3d3c9a1f4073366f34cc229af2483a51538e56597d0e17ffdcd5bb1ba52ddc8198f8a0afaf0a30fdc2e00e6b3c0 -DIST openrct2-objects-1.2.4.zip 3392474 BLAKE2B 5f539cbbdd93828cebfa6977c6c11ac878c3ec39e0b937ddf00e598f874ccf5f1822e02d6c7e508a42e2ee01242b304b013f07d16dbf94085191b62f76b8dbfb SHA512 910538010d1258f73f8290dd79ef24f463e2afcf0e5876b5f7b6a0671250fbea11180474440df6f0c3d6c356948c5f7a305a44214b53695dc26f15158dfd5214 +DIST openrct2-objects-1.2.7.zip 3424846 BLAKE2B 3c66bf448fb6ac130d4c5690e3f1a510a65d3058630b427bbc19d067e3ca7f9668b44864c3fa6fb8153d573a72f23c254d15700c97dfa0ecbe76be15f8198fb6 SHA512 b94027944e8e82dc0ecd9f330c5cb707f07547a3d787e5a8251bba7c7528a5a15fc034e251dfe70ade397b1aa990c148aa7ccdf2f7e8964db36f143b38f1a4f5 DIST openrct2-replays-0.0.57.zip 1623894 BLAKE2B 0bc7b6862632140f0ef8122828a022424cb1b78d76d7a28db5fd706afd2d77af4b4feba0e5838c97204a906ac2b38f2330dd04eeef0c5c6c285568d793efebdd SHA512 eae0e60c92c4e21c03444cb0c9b597c575b2b0ad9d744ca3bf98f46e33e241012b18d92167c58e582481b963c6e602eacd0fc40d59730c31d77ade40cc1bba57 -DIST openrct2-replays-0.0.62.zip 1466858 BLAKE2B 651e46a554e90d7692c2dc0f8dcffaadb58ffaf7f9a282d499f4c032c8412730da58f660d03b0e73d26893ce7b9a3a437029893acd7f3fd4e9267ce85eb0ee68 SHA512 69705858ebde1dc9a698915c0d5ed56e1c9d5cb29b919d99eebefe81fdb68d9c17acc58431618410b69cf67ad14e1994ec9ac86530127ca87cdc5603de899137 +DIST openrct2-replays-0.0.67.zip 1479146 BLAKE2B 78e2872013e20ce389dd24d70aeeeb2fe3822dbc3bb6059308ad0f2014d0550fe26f85b7dbce7ed8373235e688e5a8e2817b16231a751871d22301d9e3d1ecf7 SHA512 41745238b61128777ae4fee1ecb7e9284d84d9b420d653b5371d1349bd00473a98beeaa41688903081390ad38b693cd5e54d230bfc2c255beabbef93ec326f69 DIST openrct2-title-sequences-0.1.2c.zip 2980030 BLAKE2B f91168bea0a4f88a801c95ea45759e0d1c887a89c18dbbded5887d2914db7119dd65c231aa422e4f8a964a81d832eae05bffaa8b7908fac39a63792d082b53a0 SHA512 0e544d236d5f6ac7f68d75ba1f56f043c76c77676cbb92e6fdbf68a6ae2dc6c41dbdad6083ceec36b2f774bcdd99f64f28de73b208d6a39a8218a9e95502d46e +DIST openrct2-title-sequences-0.4.0.zip 7945853 BLAKE2B 51f07af30c3702754d806829fe612891a883adc70b8e89f64094b28c94879e5c98feca69f3c1f389ceeb33a99175b41afa794a4f2d121280dcce97c428d2ea99 SHA512 fcfabb02fb7cb9dda7f73f8a24fb426e23b1ea4c417deacd7147e4d2e8942223e0cf9d9cc6ae371f7508e8d3b1f3161e05677a301a330ae265b6610e1c5da487 diff --git a/games-simulation/openrct2/files/openrct2-0.4.0-include-additional-paths.patch b/games-simulation/openrct2/files/openrct2-0.4.0-include-additional-paths.patch new file mode 100644 index 000000000000..b90d48c63c33 --- /dev/null +++ b/games-simulation/openrct2/files/openrct2-0.4.0-include-additional-paths.patch @@ -0,0 +1,18 @@ +--- a/src/openrct2/config/Config.cpp ++++ b/src/openrct2/config/Config.cpp +@@ -638,6 +638,7 @@ + log_verbose("config_find_rct1_path(...)"); + + static constexpr u8string_view searchLocations[] = { ++ R"(/usr/share/openrct2/rct1_data)", + R"(C:\Program Files\Steam\steamapps\common\Rollercoaster Tycoon Deluxe)", + R"(C:\Program Files (x86)\Steam\steamapps\common\Rollercoaster Tycoon Deluxe)", + R"(C:\GOG Games\RollerCoaster Tycoon Deluxe)", +@@ -683,6 +684,7 @@ + log_verbose("config_find_rct2_path(...)"); + + static constexpr u8string_view searchLocations[] = { ++ R"(/usr/share/openrct2/rct2_data)", + R"(C:\Program Files\Steam\steamapps\common\Rollercoaster Tycoon 2)", + R"(C:\Program Files (x86)\Steam\steamapps\common\Rollercoaster Tycoon 2)", + R"(C:\GOG Games\RollerCoaster Tycoon 2 Triple Thrill Pack)", diff --git a/games-simulation/openrct2/openrct2-0.4.0.ebuild b/games-simulation/openrct2/openrct2-0.4.0.ebuild new file mode 100644 index 000000000000..4a5b89ba4216 --- /dev/null +++ b/games-simulation/openrct2/openrct2-0.4.0.ebuild @@ -0,0 +1,165 @@ +# 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.2.7" +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.2.6-gtest-1.10.patch" + "${FILESDIR}/${PN}-0.4.0-include-additional-paths.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 + $(usex test "-DSYSTEM_GTEST=ON" "") + -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 +} diff --git a/games-simulation/openrct2/openrct2-9999.ebuild b/games-simulation/openrct2/openrct2-9999.ebuild index 293da48f84c1..cd60805a4bee 100644 --- a/games-simulation/openrct2/openrct2-9999.ebuild +++ b/games-simulation/openrct2/openrct2-9999.ebuild @@ -12,9 +12,9 @@ MY_PN="OpenRCT2" MY_PN_OBJ="objects" MY_PN_RPL="replays" MY_PN_TS="title-sequences" -MY_PV_OBJ="1.2.4" -MY_PV_RPL="0.0.62" -MY_PV_TS="0.1.2c" +MY_PV_OBJ="1.2.7" +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/" @@ -71,8 +71,8 @@ BDEPEND=" RESTRICT="!test? ( test )" PATCHES=( - "${FILESDIR}/${PN}-0.2.4-include-additional-paths.patch" "${FILESDIR}/${PN}-0.2.6-gtest-1.10.patch" + "${FILESDIR}/${PN}-0.4.0-include-additional-paths.patch" ) src_unpack() { |