games-simulation/openrct2: version bump to 0.2.0
authorHendrik v. Raven <hendrik@consetetur.de>
Sat, 4 Aug 2018 12:11:23 +0000 (14:11 +0200)
committerMichał Górny <mgorny@gentoo.org>
Sun, 19 Aug 2018 12:59:43 +0000 (14:59 +0200)
also apply the ebuild updates to the nightly version.

0.2.0 requires a patch disabling some tests requiring game files. This
in no longer needed in nightly.

Package-Manager: Portage-2.3.44, Repoman-2.3.10

games-simulation/openrct2/Manifest
games-simulation/openrct2/files/openrct2-0.2.0-disable-tests-with-assets.patch [new file with mode: 0644]
games-simulation/openrct2/openrct2-0.2.0.ebuild [new file with mode: 0644]
games-simulation/openrct2/openrct2-9999.ebuild

index 1da0e45b5c0a1a03aa6f212005d5c111b4c6a606..9aafa6ade4d6ace51cfd2b286867b78c03a3e377 100644 (file)
@@ -1,3 +1,5 @@
 DIST openrct2-0.1.2.tar.gz 6769785 BLAKE2B 0cc6ef6c68c1db6c822dd6038bc2d115f487a52b5891316273ee36db1713913baa2f119dabace88a37c16f87c90b14cf84df75a24b26b22571e98966afd2adbc SHA512 489dac96e1eda1449680f98a4b500eeb7b3f1ffbdaa5a5c701300071eb3a7862c65fa5a81e769083927b95a14914db54307724756a9841cff0c769c9e5471adc
-DIST openrct2-objects-v1.0.zip 2050225 BLAKE2B 52ae6f5ab4de5d4b121cea6a3d6711b04f1c4857795c995f7568e3be2862409104be55e233781ff6708c7e821f49af8e91f9f4c87c037b6a8a77698534747925 SHA512 a125fee04c12c49ffd16880eb5b8722e25c5fb82adae305d9904c3a6251c83e73e4a29c7e3694acee3abf336894759cfbff94018c6b210df4d794ca3ec34dc84
+DIST openrct2-0.2.0.tar.gz 6481521 BLAKE2B b3a17d4dd7b0d3e68d4a0a200a81307fa598ac9bafd0636fc2fe62cc0921d1e620cf29a31f2fd5d9258d5b79cd952887e853c005ed719f5990744e9849ad0ee8 SHA512 ac42509ceb52eab20964bf95d7a140dc00d9b4c2569fab1200faff31548f063e209acde29f8ca4ee14858fcf5f6781eebe6d5f7de3d4e01fd43c43ee8905863b
+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-title-sequence-v0.1.2.zip 4073116 BLAKE2B a36fb07e8da62afce129f2224f4cf5cc226922094132a3dc515fda1f02e0f8bbe07c973363f824ae58a54a26f252ad96f3f673bf5f142be5c964f45b6f712ed6 SHA512 7592c5397ceb27347c127ae5c4f8e11d7ef2ff23c97f627b354f941894420f546ffdcff88e2348e42c82d182ccf620e739c745d894a9b5650a0d7d028b68a106
diff --git a/games-simulation/openrct2/files/openrct2-0.2.0-disable-tests-with-assets.patch b/games-simulation/openrct2/files/openrct2-0.2.0-disable-tests-with-assets.patch
new file mode 100644 (file)
index 0000000..0b4c727
--- /dev/null
@@ -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.0.ebuild b/games-simulation/openrct2/openrct2-0.2.0.ebuild
new file mode 100644 (file)
index 0000000..f805987
--- /dev/null
@@ -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.website/"
+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.2"
+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.0-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
+}
index 1058facd68fdbc8751543eed96d5a5073e4577a7..d9c56e6aeb0fae42a9f9da2f5ec6dd795c126d04 100644 (file)
@@ -14,15 +14,18 @@ if [[ ${PV} == 9999 ]]; then
        SRC_URI=""
 else
        KEYWORDS="~amd64 ~x86"
-       SRC_URI="https://github.com/OpenRCT2/OpenRCT2/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+       SRC_URI="https://github.com/OpenRCT2/OpenRCT2/archive/v${PV}.tar.gz
+               -> ${P}.tar.gz"
        S="${WORKDIR}/OpenRCT2-${PV}"
 fi
 
 TSV="0.1.2"
-SRC_URI+=" https://github.com/OpenRCT2/title-sequences/releases/download/v${TSV}/title-sequence-v${TSV}.zip -> ${PN}-title-sequence-v${TSV}.zip "
-
-OBJV="1.0"
-SRC_URI+=" https://github.com/OpenRCT2/objects/releases/download/v${OBJV}/objects.zip -> ${PN}-objects-v${OBJV}.zip"
+OBJV="1.0.3"
+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"
@@ -83,9 +86,9 @@ src_configure() {
                -DWITH_TESTS="$(usex test)"
                -DDOWNLOAD_TITLE_SEQUENCES=OFF
                -DDOWNLOAD_OBJECTS=OFF
-               -DSYSTEM_GTEST=ON
                -DBUILD_SHARED_LIBS=ON
        )
+       use test && mycmakeargs+=( -DSYSTEM_GTEST=ON )
 
        cmake-utils_src_configure
 }