commit:     935d4aa7df70a085d1703c2265191c61251dff79
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  1 14:06:35 2019 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Mon Dec  2 21:13:56 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=935d4aa7

games-simulation/openrct2: bump to version 0.2.4

Changes:
  - Bump to EAPI=7.
  - Updated objects, replays and title-sequences versions.
  - Switch entierly from gnome2-utils to xdg-utils.
  - Added use flags for dedicated server and lightfx.
  - Added missing curl and icu dependency to DEPEND/RDEPEND.
  - Added missing pkgconfig depdendeny to BDEPEND.
  - Added initd/confd scripts for dedicated server.
  - Added GLEP 81 group/user for dedicated server.
  - Added patches for better Gentoo integration,
    so game files can be installed globally.
  - Updated options for cmake configure,
    which also fixes a QA warning.
  - Updated description how to install data files.
  - Fixed tests, so no tests needs to be disabled.
  - Updated metadata.xml with a better description.
  - Taking ownership by myself.

Closes: https://bugs.gentoo.org/660274
Closes: https://bugs.gentoo.org/687810
Closes: https://bugs.gentoo.org/696578
Closes: https://github.com/gentoo/gentoo/pull/13606
Package-Manager: Portage-2.3.80, Repoman-2.3.19
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 games-simulation/openrct2/Manifest                 |   4 +
 games-simulation/openrct2/files/README.gentoo      |  15 ++
 ...isable-desktop-and-icon-files-without-gui.patch |  52 +++++++
 .../openrct2-0.2.4-disable-optional-features.patch |  87 +++++++++++
 .../openrct2-0.2.4-include-additional-paths.patch  |  33 +++++
 games-simulation/openrct2/files/openrct2.confd     |  11 ++
 games-simulation/openrct2/files/openrct2.initd     |  41 ++++++
 games-simulation/openrct2/metadata.xml             |  19 ++-
 games-simulation/openrct2/openrct2-0.2.4.ebuild    | 164 +++++++++++++++++++++
 9 files changed, 422 insertions(+), 4 deletions(-)

diff --git a/games-simulation/openrct2/Manifest 
b/games-simulation/openrct2/Manifest
index 640461340ff..3aaf0c0b9cf 100644
--- a/games-simulation/openrct2/Manifest
+++ b/games-simulation/openrct2/Manifest
@@ -1,4 +1,8 @@
 DIST openrct2-0.2.1.tar.gz 6571807 BLAKE2B 
f5a72072ce4cda9b68d1f82f56932f1a074c4ea4050d63e4bf39de1220544d543265c67f764f85d0cc85b6ff42f3fa67fc71e7dd9c5eacb1881be47e2d79a84f
 SHA512 
04bf2cfbb2d3b9fb0a8423cfffc70b81a2a2518af73b9a2c2c65b2a4e5ef2380621d4d3aaefaea73d926a99259dfb047d6fcc330cd0d7227541cffead28ba540
+DIST openrct2-0.2.4.tar.gz 6805976 BLAKE2B 
7860746d1705804682756097ff37d4584d0ebb20c450c08b88134795e9f3c375dfb888a67302f530cd55700eaa5cd13149c365c30a5d267d382b39225f06d210
 SHA512 
956044b5fa5e55256a33f352d2d1e8a4eb6738b98dc9894807b3628b5c5c08f3229c952fbf8b33ad867771f88c6d7e17ad1a8a4e050f8f269a6152d013afce03
+DIST openrct2-objects-1.0.12.zip 2173875 BLAKE2B 
d344dde3dc376004b9e303a489c058a574c2f8babcce8c9998ef12f2b91e3fe7d3e22e1afc81aadd39637f3f91a5d36c4267aed06980686fd909cc515f4c8fde
 SHA512 
d17d2197b66d22e33a246651a0c544a49a6d6a809612d26a851dc4b40bb9e1bf5079bbe5b1a3b7d41f541fc41ce41717d772a5579aa2cdc9ec1dfea72b5a3144
 DIST openrct2-objects-v1.0.7.zip 2164242 BLAKE2B 
003baf3400c52e3b2efdc208f6c64a45f7c9274aca3b729856a60fc1e72c8b6440b663d3fd791ebde7412df9920095367763bcad58257534b32c222d97976dcb
 SHA512 
8e77adae59062582a22be69e81d144477482148c839abbea76e6bbbc65ca6426a8354bd4726176702a41684f01a62c5bddc0f6c2c6e42fa91c88815879c91fe5
 DIST openrct2-objects-v1.0.8.zip 2167920 BLAKE2B 
551fd825a0bfb6bd2fce8a34aab393ea91f815508f51523a3839a3d2054afe96efac09976f1defd046be55fa14806b05c9cd5a9484d7e3ce1a86c54335a0741a
 SHA512 
29e60a2d72e0c7774993e9d70aeb1c931b359e35776049a1baafd2d0bdfc56c1374e577e43f596c31ee146bd38b87eeeb8acc3ea03fdd9c9bc3be08436b7aa6a
+DIST openrct2-replays-0.0.4.zip 1098833 BLAKE2B 
efe4f72b16285d8e6508313f16b892b02f1b124cf9b4d146731280f5090d071d3351834e6d4ab51122804fbbcb49044be4e681182141aac93795c3b1953b6590
 SHA512 
5c2469bfdaa94a6007f6788878f4e80d87fbbfd48b522e1bd2a22c2aa0c98583159b9559fd45f7f9450d544a99a59b6c17399d9ac91a171a86135f0e1a5b3e71
 DIST openrct2-title-sequence-v0.1.2.zip 4073116 BLAKE2B 
a36fb07e8da62afce129f2224f4cf5cc226922094132a3dc515fda1f02e0f8bbe07c973363f824ae58a54a26f252ad96f3f673bf5f142be5c964f45b6f712ed6
 SHA512 
7592c5397ceb27347c127ae5c4f8e11d7ef2ff23c97f627b354f941894420f546ffdcff88e2348e42c82d182ccf620e739c745d894a9b5650a0d7d028b68a106
+DIST openrct2-title-sequences-0.1.2c.zip 2980030 BLAKE2B 
f91168bea0a4f88a801c95ea45759e0d1c887a89c18dbbded5887d2914db7119dd65c231aa422e4f8a964a81d832eae05bffaa8b7908fac39a63792d082b53a0
 SHA512 
0e544d236d5f6ac7f68d75ba1f56f043c76c77676cbb92e6fdbf68a6ae2dc6c41dbdad6083ceec36b2f774bcdd99f64f28de73b208d6a39a8218a9e95502d46e

diff --git a/games-simulation/openrct2/files/README.gentoo 
b/games-simulation/openrct2/files/README.gentoo
new file mode 100644
index 00000000000..7e5fc8c6585
--- /dev/null
+++ b/games-simulation/openrct2/files/README.gentoo
@@ -0,0 +1,15 @@
+OpenRCT2 needs the original RollerCoaster Tycoon 2 data files."
+
+You need the folders 'Data', 'ObjData', 'Scenarios' and 'Tracks'"
+from the original release and copy them into '/usr/share/openrct2/rct2_data'."
+
+For additional content, you can install the RollerCoaster Tycoon 1 data files."
+
+You need the folders 'Data', 'Scenarios' and 'Tracks'"
+from the original release and copy them into '/usr/share/openrct2/rct1_data'."
+
+Optionally, the paths can be overwritten by the parameters"
+'game_path' and 'rct1_path' in your local ~/.config/OpenRCT2/config.ini file."
+
+See: https://github.com/OpenRCT2/OpenRCT2/wiki/Required-RCT2-files";
+See: https://github.com/OpenRCT2/OpenRCT2/wiki/Loading-RCT1-scenarios-and-data";

diff --git 
a/games-simulation/openrct2/files/openrct2-0.2.4-disable-desktop-and-icon-files-without-gui.patch
 
b/games-simulation/openrct2/files/openrct2-0.2.4-disable-desktop-and-icon-files-without-gui.patch
new file mode 100644
index 00000000000..cddbe7a93a3
--- /dev/null
+++ 
b/games-simulation/openrct2/files/openrct2-0.2.4-disable-desktop-and-icon-files-without-gui.patch
@@ -0,0 +1,52 @@
+From 9df66b1f1f56427d896263728c84009c8c3b842b Mon Sep 17 00:00:00 2001
+From: Conrad Kostecki <con...@kostecki.com>
+Date: Sun, 10 Nov 2019 20:05:51 +0100
+Subject: [PATCH] CMakeLists.txt: don't install desktop and icon files without
+ GUI (#10206)
+
+If OpenRCT2 is compiled without GUI (for example as a dedicated server),
+it does not make sense to install the desktop and icon files.
+
+Signed-off-by: Conrad Kostecki <con...@kostecki.com>
+---
+ CMakeLists.txt | 28 +++++++++++++++-------------
+ 1 file changed, 15 insertions(+), 13 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7dda401bbdd..f6e4683c9b7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -319,18 +319,20 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/g2.dat" 
DESTINATION "${CMAKE_INSTALL_
+ install(DIRECTORY "data/" DESTINATION "${CMAKE_INSTALL_DATADIR}/openrct2")
+ install(FILES ${DOC_FILES} DESTINATION "${CMAKE_INSTALL_DOCDIR}")
+ install(FILES "distribution/linux/openrct2.appdata.xml" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
+-install(FILES "resources/logo/icon_x16.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "openrct2.png")
+-install(FILES "resources/logo/icon_x24.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/24x24/apps" RENAME "openrct2.png")
+-install(FILES "resources/logo/icon_x32.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps" RENAME "openrct2.png")
+-install(FILES "resources/logo/icon_x48.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps" RENAME "openrct2.png")
+-install(FILES "resources/logo/icon_x64.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps" RENAME "openrct2.png")
+-install(FILES "resources/logo/icon_x96.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/96x96/apps" RENAME "openrct2.png")
+-install(FILES "resources/logo/icon_x128.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "openrct2.png")
+-install(FILES "resources/logo/icon_x256.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "openrct2.png")
+-install(FILES "resources/logo/icon_flag.svg" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps" RENAME 
"openrct2.svg")
+-install(FILES "distribution/linux/openrct2.desktop" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/applications")
+-install(FILES "distribution/linux/openrct2-savegame.desktop" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/applications")
+-install(FILES "distribution/linux/openrct2-scenario.desktop" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/applications")
+-install(FILES "distribution/linux/openrct2-uri.desktop" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/applications")
++if (NOT DISABLE_GUI)
++      install(FILES "resources/logo/icon_x16.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "openrct2.png")
++      install(FILES "resources/logo/icon_x24.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/24x24/apps" RENAME "openrct2.png")
++      install(FILES "resources/logo/icon_x32.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps" RENAME "openrct2.png")
++      install(FILES "resources/logo/icon_x48.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps" RENAME "openrct2.png")
++      install(FILES "resources/logo/icon_x64.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps" RENAME "openrct2.png")
++      install(FILES "resources/logo/icon_x96.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/96x96/apps" RENAME "openrct2.png")
++      install(FILES "resources/logo/icon_x128.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "openrct2.png")
++      install(FILES "resources/logo/icon_x256.png" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "openrct2.png")
++      install(FILES "resources/logo/icon_flag.svg" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps" RENAME 
"openrct2.svg")
++      install(FILES "distribution/linux/openrct2.desktop" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/applications")
++      install(FILES "distribution/linux/openrct2-savegame.desktop" 
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
++      install(FILES "distribution/linux/openrct2-scenario.desktop" 
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
++      install(FILES "distribution/linux/openrct2-uri.desktop" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/applications")
++endif()
+ install(FILES "distribution/linux/openrct2-mimeinfo.xml" DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/mime/packages/" RENAME "openrct2.xml")
+ install(DIRECTORY "distribution/man/" DESTINATION 
"${CMAKE_INSTALL_MANDIR}/man6" FILES_MATCHING PATTERN "*.6")

diff --git 
a/games-simulation/openrct2/files/openrct2-0.2.4-disable-optional-features.patch
 
b/games-simulation/openrct2/files/openrct2-0.2.4-disable-optional-features.patch
new file mode 100644
index 00000000000..03d6496bf3e
--- /dev/null
+++ 
b/games-simulation/openrct2/files/openrct2-0.2.4-disable-optional-features.patch
@@ -0,0 +1,87 @@
+From fef1906d0d7050b1dfa3792f6e8d3a9b9632df68 Mon Sep 17 00:00:00 2001
+From: Conrad Kostecki <conrad+git...@kostecki.com>
+Date: Sat, 9 Nov 2019 21:20:16 +0100
+Subject: [PATCH] CMakeLists.txt: make discord-rpc and google benchmark
+ optional (#10208)
+
+For a package maintainer, it should be possible to disable the support
+for discord-rpc and google benchmark, as it currently always includes them,
+when the library if found.
+---
+ CMakeLists.txt              | 26 +++++++++++++++-----------
+ src/openrct2/CMakeLists.txt | 18 ++++++++++--------
+ 2 files changed, 25 insertions(+), 19 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ea4bdfd8221..7dda401bbdd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -42,6 +42,8 @@ CMAKE_DEPENDENT_OPTION(DOWNLOAD_REPLAYS "Download replays 
during installation."
+ option(STATIC "Create a static build.")
+ option(USE_MMAP "Use mmap to try loading rct2's data segment into memory.")
+ 
++option(DISABLE_DISCORD_RPC "Disable Discord-RPC support." OFF)
++option(DISABLE_GOOGLE_BENCHMARK "Disable Google Benchmarks support." OFF)
+ option(DISABLE_HTTP_TWITCH "Disable HTTP and Twitch support.")
+ option(DISABLE_NETWORK "Disable multiplayer functionality. Mainly for 
testing.")
+ option(DISABLE_TTF "Disable support for TTF provided by freetype2.")
+@@ -125,17 +127,19 @@ if (CXX_WARN_SUGGEST_FINAL_METHODS)
+    add_definitions(-D__WARN_SUGGEST_FINAL_METHODS__)
+ endif ()
+ 
+-if(EXISTS "${ROOT_DIR}/discord-rpc")
+-    # Don't build discord's examples, some of which are in C and do not honour
+-    # the flags we set for C++. Also we don't use the provided examples.
+-    set(BUILD_EXAMPLES OFF CACHE BOOL "Build example apps")
+-    add_subdirectory("${ROOT_DIR}/discord-rpc")
+-    add_definitions(-D__ENABLE_DISCORD__)
+-    include_directories("${ROOT_DIR}/discord-rpc/include")
+-    set(HAVE_DISCORD_RPC TRUE)
+-    message("Building with discord-rpc support")
+-else()
+-      message("No discord-rpc detected, to enable clone discord-rpc to root 
directory: ${ROOT_DIR}")
++if (NOT DISABLE_DISCORD_RPC)
++    if(EXISTS "${ROOT_DIR}/discord-rpc")
++        # Don't build discord's examples, some of which are in C and do not 
honour
++        # the flags we set for C++. Also we don't use the provided examples.
++        set(BUILD_EXAMPLES OFF CACHE BOOL "Build example apps")
++        add_subdirectory("${ROOT_DIR}/discord-rpc")
++        add_definitions(-D__ENABLE_DISCORD__)
++        include_directories("${ROOT_DIR}/discord-rpc/include")
++        set(HAVE_DISCORD_RPC TRUE)
++        message("Building with discord-rpc support")
++    else()
++        message("No discord-rpc detected, to enable clone discord-rpc to root 
directory: ${ROOT_DIR}")
++    endif()
+ endif()
+ 
+ # Copied from 
https://github.com/opencv/opencv/blob/dcdd6af5a856826fe62c95322145731e702e54c5/cmake/OpenCVDetectCXXCompiler.cmake#L63-L70
+diff --git a/src/openrct2/CMakeLists.txt b/src/openrct2/CMakeLists.txt
+index 61be3d13c2a..97674911c0c 100644
+--- a/src/openrct2/CMakeLists.txt
++++ b/src/openrct2/CMakeLists.txt
+@@ -73,14 +73,16 @@ if (NOT DISABLE_TTF)
+     endif ()
+ endif ()
+ 
+-find_package(benchmark 1.4 QUIET)
+-if (benchmark_FOUND)
+-    message("Found Google benchmark, enabling support")
+-    set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS 
USE_BENCHMARK)
+-    target_link_libraries(${PROJECT_NAME} benchmark::benchmark)
+-    target_include_directories(${PROJECT_NAME} PRIVATE 
${benchmark_INCLUDE_DIRS})
+-else ()
+-    message("Google benchmark not found, disabling support")
++if (NOT DISABLE_GOOGLE_BENCHMARK)
++    find_package(benchmark 1.4 QUIET)
++    if (benchmark_FOUND)
++        message("Found Google benchmark, enabling support")
++        set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS 
USE_BENCHMARK)
++        target_link_libraries(${PROJECT_NAME} benchmark::benchmark)
++        target_include_directories(${PROJECT_NAME} PRIVATE 
${benchmark_INCLUDE_DIRS})
++    else ()
++        message("Google benchmark not found, disabling support")
++    endif ()
+ endif ()
+ 
+ # Third party libraries

diff --git 
a/games-simulation/openrct2/files/openrct2-0.2.4-include-additional-paths.patch 
b/games-simulation/openrct2/files/openrct2-0.2.4-include-additional-paths.patch
new file mode 100644
index 00000000000..d7c3bb7b444
--- /dev/null
+++ 
b/games-simulation/openrct2/files/openrct2-0.2.4-include-additional-paths.patch
@@ -0,0 +1,33 @@
+From 370b6c6ee48dd1ccc68e03f4bba3e9a2cb2067aa Mon Sep 17 00:00:00 2001
+From: Conrad Kostecki <con...@kostecki.com>
+Date: Sat, 9 Nov 2019 22:32:03 +0100
+Subject: [PATCH] src/openrct2/config/Config.cpp: Search additional paths for
+ rct data.
+
+With '/usr/share/openrct2/rct{1,2}_data' added into the search path list,
+it makes possible to install rct{1,2} game files globally,
+so every user on a linux system can run OpenRCT2 directly.
+---
+ src/openrct2/config/Config.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/openrct2/config/Config.cpp b/src/openrct2/config/Config.cpp
+index 08d59488eea..969533f8820 100644
+--- a/src/openrct2/config/Config.cpp
++++ b/src/openrct2/config/Config.cpp
+@@ -615,6 +615,7 @@ namespace Config
+         log_verbose("config_find_rct1_path(...)");
+ 
+         static constexpr const utf8* 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)",
+@@ -659,6 +660,7 @@ namespace Config
+         log_verbose("config_find_rct2_path(...)");
+ 
+         static constexpr const utf8* 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/files/openrct2.confd 
b/games-simulation/openrct2/files/openrct2.confd
new file mode 100644
index 00000000000..cdc414542d2
--- /dev/null
+++ b/games-simulation/openrct2/files/openrct2.confd
@@ -0,0 +1,11 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Name of the OpenRCT2 scenario file,
+# which will be used by the dedicated server.
+# It needs to be placed in '/var/lib/openrct2/<instance>/scenario'.
+# The default instance is 'main'.
+OPENRCT2_SCENARIO_FILE="scenario.sc6"
+
+# Options, which can be passed to the dedicated server.
+OPENRCT2_OPTS="--port 11753"

diff --git a/games-simulation/openrct2/files/openrct2.initd 
b/games-simulation/openrct2/files/openrct2.initd
new file mode 100644
index 00000000000..de95158a68e
--- /dev/null
+++ b/games-simulation/openrct2/files/openrct2.initd
@@ -0,0 +1,41 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+if [ "${SVCNAME}" = "openrct2" ]; then
+       instance="main"
+else
+       instance="${SVCNAME#*.}"
+fi
+
+openrct2_command="/usr/bin/openrct2-cli"
+openrct2_path="/var/lib/openrct2"
+openrct2_path_instance="${openrct2_path}/${instance}"
+openrct2_path_scenario="${openrct2_path_instance}/scenario"
+name="OpenRCT2 server (${instance})"
+pidfile="/run/openrct2-cli.${instance}.pid"
+start_stop_daemon_args="--chdir ${openrct2_path_instance}"
+
+command="/usr/bin/openrct2-cli"
+command_args="host \"${openrct2_path_scenario}/${OPENRCT2_SCENARIO_FILE}\" 
--headless --user-data-path ${openrct2_path_instance} ${OPENRCT2_OPTS}"
+command_background="true"
+command_group="openrct2"
+command_user="openrct2"
+
+depend() {
+       use net
+}
+
+start_pre() {
+       checkpath -d -o "${command_user}:${command_group}" -q 
"${openrct2_path}" "${openrct2_path_instance}" "${openrct2_path_scenario}"
+
+       if [ ! -f "${openrct2_path_scenario}/${OPENRCT2_SCENARIO_FILE}" ]; then
+               eerror "The scenario 
${openrct2_path_scenario}/${OPENRCT2_SCENARIO_FILE} could not be found!"
+               eerror "An OpenRCT2 scenario file is needed by the dedicated 
server."
+               eerror "Please check, if OPENRCT2_SCENARIO is configured 
correctly."
+               return 1
+       else
+               checkpath -f -o "${command_user}:${command_group}" -q 
"${openrct2_path_scenario}/${OPENRCT2_SCENARIO_FILE}"
+               return 0
+       fi
+}

diff --git a/games-simulation/openrct2/metadata.xml 
b/games-simulation/openrct2/metadata.xml
index e6ebc48e755..9fce1c161ff 100644
--- a/games-simulation/openrct2/metadata.xml
+++ b/games-simulation/openrct2/metadata.xml
@@ -1,6 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
 <pkgmetadata>
+       <maintainer type="person">
+               <email>ck+gen...@bl4ckb0x.de</email>
+               <name>Conrad Kostecki</name>
+       </maintainer>
        <maintainer type="person">
                <email>j...@segre.in</email>
                <name>Jan Segre</name>
@@ -13,15 +17,22 @@
                <email>proxy-ma...@gentoo.org</email>
                <name>Proxy Maintainers</name>
        </maintainer>
-       <longdescription lang="en">
-               An open-source re-implementation of RollerCoaster Tycoon 2. A 
construction and management simulation video game that simulates amusement park 
management.
+       <longdescription>
+               OpenRCT2 is an open-source re-implementation of RollerCoaster 
Tycoon 2 (RCT2),
+               expanding the game with new features, fixing bugs and raising 
game limits.
+               The gameplay revolves around building and maintaining an 
amusement park containing attractions,
+               shops and facilities. The player must try to make a profit and 
maintain a good park reputation
+               whilst keeping the guests happy. OpenRCT2 allows for both 
scenario and sandbox play.
+               Scenarios require the player to complete a certain objective in 
a set time limit whilst
+               sandbox allows the player to build a more flexible park with 
optionally no restrictions or finance.
        </longdescription>
        <use>
+               <flag name="lightfx">Enables LightFX for better lightning 
effects.</flag>
                <flag name="multiplayer">Enable multiplayer functionality</flag>
-               <flag name="twitch">Enable Twitch support</flag>
+               <flag name="twitch">Enables streaming of ingame content to 
Twitch.</flag>
        </use>
        <upstream>
-               <remote-id type="github">OpenRCT2/OpenRCT2</remote-id>
                <bugs-to>https://github.com/OpenRCT2/OpenRCT2/issues</bugs-to>
+               <remote-id type="github">OpenRCT2/OpenRCT2</remote-id>
        </upstream>
 </pkgmetadata>

diff --git a/games-simulation/openrct2/openrct2-0.2.4.ebuild 
b/games-simulation/openrct2/openrct2-0.2.4.ebuild
new file mode 100644
index 00000000000..15630b9a2ce
--- /dev/null
+++ b/games-simulation/openrct2/openrct2-0.2.4.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils 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.0.12"
+MY_PV_RPL="0.0.4"
+MY_PV_TS="0.1.2c"
+
+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 )
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dedicated libressl +lightfx +opengl test +truetype twitch"
+
+COMMON_DEPEND="
+       dev-libs/icu:=
+       dev-libs/jansson
+       dev-libs/libzip:=
+       media-libs/libpng:0=
+       sys-libs/zlib
+       !dedicated? (
+               media-libs/libsdl2
+               media-libs/speexdsp
+               opengl? ( virtual/opengl )
+               twitch? (
+                       net-misc/curl[ssl]
+               )
+       )
+       libressl? ( dev-libs/libressl:0= )
+       !libressl? ( dev-libs/openssl:0= )
+       truetype? (
+               media-libs/fontconfig:1.0
+               media-libs/freetype:2
+       )
+"
+
+RDEPEND="
+       ${COMMON_DEPEND}
+       dedicated? (
+               acct-group/openrct2
+               acct-user/openrct2
+       )
+"
+
+DEPEND="
+       ${COMMON_DEPEND}
+       test? ( dev-cpp/gtest )
+"
+
+BDEPEND="
+       app-arch/unzip
+       virtual/pkgconfig
+"
+
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+PATCHES=(
+       
"${FILESDIR}/${PN}-0.2.4-disable-desktop-and-icon-files-without-gui.patch"
+       "${FILESDIR}/${PN}-0.2.4-disable-optional-features.patch"
+       "${FILESDIR}/${PN}-0.2.4-include-additional-paths.patch"
+)
+
+src_unpack() {
+       unpack "${P}".tar.gz
+
+       mkdir -p "${S}"/data/title || die
+       cd "${S}"/data/title || 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-utils_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_TWITCH=$(usex !twitch)
+               -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)
+               -DPORTABLE=OFF
+               -DSTATIC=OFF
+               $(usex test "-DSYSTEM_GTEST=ON" "")
+               -DWITH_TESTS=$(usex test)
+               -DUSE_MMAP=ON
+       )
+
+       cmake-utils_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-utils_src_test
+}
+
+src_install() {
+       cmake-utils_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
+}

Reply via email to