summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-simulation')
-rw-r--r--games-simulation/openrct2/Manifest2
-rw-r--r--games-simulation/openrct2/files/openrct2-0.2.1-disable-tests-with-assets.patch50
-rw-r--r--games-simulation/openrct2/openrct2-0.2.1.ebuild121
3 files changed, 173 insertions, 0 deletions
diff --git a/games-simulation/openrct2/Manifest b/games-simulation/openrct2/Manifest
index a6c9d3963c3a..1433c4cab37e 100644
--- a/games-simulation/openrct2/Manifest
+++ b/games-simulation/openrct2/Manifest
@@ -1,4 +1,6 @@
DIST openrct2-0.2.0.tar.gz 6481521 BLAKE2B b3a17d4dd7b0d3e68d4a0a200a81307fa598ac9bafd0636fc2fe62cc0921d1e620cf29a31f2fd5d9258d5b79cd952887e853c005ed719f5990744e9849ad0ee8 SHA512 ac42509ceb52eab20964bf95d7a140dc00d9b4c2569fab1200faff31548f063e209acde29f8ca4ee14858fcf5f6781eebe6d5f7de3d4e01fd43c43ee8905863b
+DIST openrct2-0.2.1.tar.gz 6571807 BLAKE2B f5a72072ce4cda9b68d1f82f56932f1a074c4ea4050d63e4bf39de1220544d543265c67f764f85d0cc85b6ff42f3fa67fc71e7dd9c5eacb1881be47e2d79a84f SHA512 04bf2cfbb2d3b9fb0a8423cfffc70b81a2a2518af73b9a2c2c65b2a4e5ef2380621d4d3aaefaea73d926a99259dfb047d6fcc330cd0d7227541cffead28ba540
DIST openrct2-objects-v1.0.2.zip 2068705 BLAKE2B 4f291289a7f331bad19080ffc63d204819973682710ea62c3fc66fb9d05b63c267e2146d6c533f59eac3baa9760b85953ae344b6da4bb778e5ccd249f6160525 SHA512 814d52ee5c071f33c17d88bc53711a509d7988ece12381996b3d233b9b46c79739fd2dafbed57f00537b19c78e290e2481d72b2824b5574734f6876a0af0c359
DIST openrct2-objects-v1.0.3.zip 2070513 BLAKE2B 3499b022f1d1f2b05da003f87f5f885de8463ed63d751653b0d8d48e2a339496d84d025eb2e44619012aa76360f6880541a519312e6d339eca862f6274d2b73b SHA512 9012a6337df7abd2743e94e3606266cde306335f33bf4f7869cca90c9c31758806c063b697bc3a6e21af7c733841551f2b29072592850cc51090d58f5f685f99
+DIST openrct2-objects-v1.0.7.zip 2164242 BLAKE2B 003baf3400c52e3b2efdc208f6c64a45f7c9274aca3b729856a60fc1e72c8b6440b663d3fd791ebde7412df9920095367763bcad58257534b32c222d97976dcb SHA512 8e77adae59062582a22be69e81d144477482148c839abbea76e6bbbc65ca6426a8354bd4726176702a41684f01a62c5bddc0f6c2c6e42fa91c88815879c91fe5
DIST openrct2-title-sequence-v0.1.2.zip 4073116 BLAKE2B a36fb07e8da62afce129f2224f4cf5cc226922094132a3dc515fda1f02e0f8bbe07c973363f824ae58a54a26f252ad96f3f673bf5f142be5c964f45b6f712ed6 SHA512 7592c5397ceb27347c127ae5c4f8e11d7ef2ff23c97f627b354f941894420f546ffdcff88e2348e42c82d182ccf620e739c745d894a9b5650a0d7d028b68a106
diff --git a/games-simulation/openrct2/files/openrct2-0.2.1-disable-tests-with-assets.patch b/games-simulation/openrct2/files/openrct2-0.2.1-disable-tests-with-assets.patch
new file mode 100644
index 000000000000..a4f1e2375321
--- /dev/null
+++ b/games-simulation/openrct2/files/openrct2-0.2.1-disable-tests-with-assets.patch
@@ -0,0 +1,50 @@
+From 86b45a7a4a4fc9b038bcd0e720cf575b934fb462 Mon Sep 17 00:00:00 2001
+From: "Hendrik v. Raven" <hendrik@consetetur.de>
+Date: Sat, 4 Aug 2018 13:58:31 +0200
+Subject: [PATCH] reintroduce DISABLE_RCT2_TESTS compile option
+
+the option was removing when restructuring the CI system, but it is
+still usefull for package maintainers.
+---
+ test/tests/CMakeLists.txt | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/test/tests/CMakeLists.txt b/test/tests/CMakeLists.txt
+index 1f862153d..34ab5c884 100644
+--- a/test/tests/CMakeLists.txt
++++ b/test/tests/CMakeLists.txt
+@@ -1,5 +1,6 @@
+ cmake_minimum_required(VERSION 2.6)
+
++option(DISABLE_RCT2_TESTS "Disable tests that require RollerCoaster Tycoon 2 assets.")
+ option(SYSTEM_GTEST "Use the googletest library provided by the system.")
+
+ if (SYSTEM_GTEST)
+@@ -172,18 +173,21 @@ set(RIDE_RATINGS_TEST_SOURCES "${CMAKE_CURRENT_LIST_DIR}/RideRatings.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/TestData.cpp")
+ add_executable(test_ride_ratings ${RIDE_RATINGS_TEST_SOURCES})
+ target_link_libraries(test_ride_ratings ${GTEST_LIBRARIES} libopenrct2 ${LDL} z)
+-add_test(NAME ride_ratings COMMAND test_ride_ratings)
+
+ # Multi-launch test
+ set(MULTILAUNCH_TEST_SOURCES "${CMAKE_CURRENT_LIST_DIR}/MultiLaunch.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/TestData.cpp")
+ add_executable(test_multilaunch ${MULTILAUNCH_TEST_SOURCES})
+ target_link_libraries(test_multilaunch ${GTEST_LIBRARIES} libopenrct2 ${LDL} z)
+-add_test(NAME multilaunch COMMAND test_multilaunch)
+
+ # Tile element test
+ set(TILE_ELEMENT_TEST_SOURCES "${CMAKE_CURRENT_LIST_DIR}/TileElements.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/TestData.cpp")
+ add_executable(test_tile_elements ${TILE_ELEMENT_TEST_SOURCES})
+ target_link_libraries(test_tile_elements ${GTEST_LIBRARIES} libopenrct2 ${LDL} z)
+-add_test(NAME tile_elements COMMAND test_tile_elements)
++
++if (NOT DISABLE_RCT2_TESTS)
++ add_test(NAME ride_ratings COMMAND test_ride_ratings)
++ add_test(NAME multilaunch COMMAND test_multilaunch)
++ add_test(NAME tile_elements COMMAND test_tile_elements)
++endif ()
+--
+2.18.0
+
diff --git a/games-simulation/openrct2/openrct2-0.2.1.ebuild b/games-simulation/openrct2/openrct2-0.2.1.ebuild
new file mode 100644
index 000000000000..95681d9a2ce6
--- /dev/null
+++ b/games-simulation/openrct2/openrct2-0.2.1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils gnome2-utils xdg-utils
+
+DESCRIPTION="An open source re-implementation of RollerCoaster Tycoon 2"
+HOMEPAGE="https://openrct2.org/"
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/OpenRCT2/OpenRCT2.git"
+ EGIT_BRANCH="develop"
+ inherit git-r3
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~x86"
+ SRC_URI="https://github.com/OpenRCT2/OpenRCT2/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/OpenRCT2-${PV}"
+fi
+
+TSV="0.1.2"
+OBJV="1.0.7"
+SRC_URI+="
+ https://github.com/OpenRCT2/title-sequences/releases/download/v${TSV}/title-sequence-v${TSV}.zip
+ -> ${PN}-title-sequence-v${TSV}.zip
+ https://github.com/OpenRCT2/objects/releases/download/v${OBJV}/objects.zip
+ -> ${PN}-objects-v${OBJV}.zip"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="libressl +multiplayer opengl test truetype +twitch"
+
+RDEPEND="
+ >=dev-libs/jansson-2.5
+ >=dev-libs/libzip-1.0
+ media-libs/libpng:0=
+ media-libs/libsdl2
+ media-libs/speexdsp
+ multiplayer? (
+ libressl? ( dev-libs/libressl:0= )
+ !libressl? ( dev-libs/openssl:0= )
+ )
+ opengl? ( virtual/opengl )
+ truetype? (
+ media-libs/sdl2-ttf
+ media-libs/fontconfig
+ )
+ twitch? ( net-misc/curl[ssl] )
+"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.2.1-disable-tests-with-assets.patch"
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ unpack ${P}.tar.gz
+ fi
+
+ mkdir -p "${S}/data/title" || die
+ pushd "${S}/data/title" || die
+ unpack ${PN}-title-sequence-v${TSV}.zip
+ popd || die
+
+ mkdir -p "${S}/data/object" || die
+ pushd "${S}/data/object" || die
+ unpack ${PN}-objects-v${OBJV}.zip
+ popd || die
+}
+
+src_prepare() {
+ sed -i CMakeLists.txt -e 's/-Werror//' || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DDISABLE_HTTP_TWITCH="$(usex !twitch)"
+ -DDISABLE_NETWORK="$(usex !multiplayer)"
+ -DDISABLE_OPENGL="$(usex !opengl)"
+ -DDISABLE_TTF="$(usex !truetype)"
+ -DWITH_TESTS="$(usex test)"
+ -DDOWNLOAD_TITLE_SEQUENCES=OFF
+ -DDOWNLOAD_OBJECTS=OFF
+ -DBUILD_SHARED_LIBS=ON
+ )
+ if use test ; then
+ mycmakeargs+=(
+ -DSYSTEM_GTEST=ON
+ -DDISABLE_RCT2_TESTS=ON
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ ewarn ""
+ ewarn "You need the original RollerCoaster Tycoon 2 files to play this game."
+ ewarn "See: https://github.com/OpenRCT2/OpenRCT2/wiki/Required-RCT2-files#how-to-retrieve"
+ ewarn ""
+ fi
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}