summaryrefslogtreecommitdiff
path: root/games-simulation/openrct2
diff options
context:
space:
mode:
Diffstat (limited to 'games-simulation/openrct2')
-rw-r--r--games-simulation/openrct2/Manifest21
-rw-r--r--games-simulation/openrct2/files/README.gentoo15
-rw-r--r--games-simulation/openrct2/files/openrct2-0.2.1-disable-tests-with-assets.patch50
-rw-r--r--games-simulation/openrct2/files/openrct2-0.2.4-disable-desktop-and-icon-files-without-gui.patch52
-rw-r--r--games-simulation/openrct2/files/openrct2-0.2.4-disable-optional-features.patch87
-rw-r--r--games-simulation/openrct2/files/openrct2-0.2.4-include-additional-paths.patch33
-rw-r--r--games-simulation/openrct2/files/openrct2.confd11
-rw-r--r--games-simulation/openrct2/files/openrct2.initd41
-rw-r--r--games-simulation/openrct2/metadata.xml28
-rw-r--r--games-simulation/openrct2/openrct2-0.2.1.ebuild122
-rw-r--r--games-simulation/openrct2/openrct2-0.2.4.ebuild164
-rw-r--r--games-simulation/openrct2/openrct2-9999.ebuild187
12 files changed, 547 insertions, 264 deletions
diff --git a/games-simulation/openrct2/Manifest b/games-simulation/openrct2/Manifest
index 903e8825a806..0c0b4db68f2f 100644
--- a/games-simulation/openrct2/Manifest
+++ b/games-simulation/openrct2/Manifest
@@ -1,8 +1,13 @@
-AUX openrct2-0.2.1-disable-tests-with-assets.patch 2166 BLAKE2B c7055da8e933f4f07433e9dad8b23e12d435d9fb4dbf694a9b36fc56ff8e939aef2667a7642be0fea7cafb824a9ffc5721e11aec28dad48c7bdc03064d0d32d1 SHA512 405530efe21b33f1b01b0770085ec5d81d3c46a3fc4e1e30c3b89e6048fb55821b45d68eab588ef0a5f07b78d93f8ffc8c620de3139fce0cf8d483eea94ad10e
-DIST openrct2-0.2.1.tar.gz 6571807 BLAKE2B f5a72072ce4cda9b68d1f82f56932f1a074c4ea4050d63e4bf39de1220544d543265c67f764f85d0cc85b6ff42f3fa67fc71e7dd9c5eacb1881be47e2d79a84f SHA512 04bf2cfbb2d3b9fb0a8423cfffc70b81a2a2518af73b9a2c2c65b2a4e5ef2380621d4d3aaefaea73d926a99259dfb047d6fcc330cd0d7227541cffead28ba540
-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-title-sequence-v0.1.2.zip 4073116 BLAKE2B a36fb07e8da62afce129f2224f4cf5cc226922094132a3dc515fda1f02e0f8bbe07c973363f824ae58a54a26f252ad96f3f673bf5f142be5c964f45b6f712ed6 SHA512 7592c5397ceb27347c127ae5c4f8e11d7ef2ff23c97f627b354f941894420f546ffdcff88e2348e42c82d182ccf620e739c745d894a9b5650a0d7d028b68a106
-EBUILD openrct2-0.2.1.ebuild 2763 BLAKE2B f29ed9beac734a41ada806d6aa6677989caffa0eeb16f50aa7fb990f3b016bb7901ee505ad00de6bcbc3b728c70c78c093926dcbcd3d03cf4432a79d472373e0 SHA512 211351f5c85a63406a3a8cf2caa9905830c7d6ece7072e17837806dda99857edb980a3c8006f40a38399ef1e8bac540a047d35b63d5731701ac8ec385e39a07e
-EBUILD openrct2-9999.ebuild 2646 BLAKE2B 971aa2c299d744c1639b5dde823b5e8652fa398e8b288b78dfd2747c3e2c8753ded2658c99f1421bdc29d3c7ce5dc68287ab68ba08f86bc25d22556179672e4d SHA512 08a1b2e4b8ccbd7e9bc2caee95da94790a33c503c5e1ae1fa90ca555f3b96a0cbb7b7edc54bf376bdb3fb4f3488aa170f38bf32f06e2e7d68514c1e0fc361c10
-MISC metadata.xml 967 BLAKE2B 6dc048c366eb9719d895ab269a207a51f233125ee0861e360bf0d65a2de0d56b8bed7147f71bbf1d8c4b286a843a3542e74e17c8e3231682742435a2b28dfef0 SHA512 874ed9f406c5219bc5c6102b775a53b4e2526ff0f7cfa0dd9b5511717d10ee1fd63012cd19a926904b556195a12a7e2328548de9d1000605afdc471db513198f
+AUX README.gentoo 715 BLAKE2B c7e27f799a33a73dccd75bf2f28882bda609b3ba74fc98ca1b1fcdcbb91290a81a878d10fa1b9b15f0ebebe9ef496a7ac7b8fdfd3a455ca3ebad3dd3df908035 SHA512 c18d5b5950523e2abedd0f9218e71c1f7222615d34eb56c24c69f7dea446e17248086525603d1da63302db6e8c5b642086eb8b154fd531c26db611b9f799d4d8
+AUX openrct2-0.2.4-disable-desktop-and-icon-files-without-gui.patch 4709 BLAKE2B 0fb6abf56d278c978328ab75f0e332ca82ee0c26e9c6acbd3689839c516a9fa06ee9bc67b38c04c38dc09bf64d58744209f472734c971df3935af5218ba30455 SHA512 506c59e5c77fe7dcc7fd848cd0a73841bfc5da85717dd1795a434eb4dbd1d26a023c78fc496ce33ea0852204fd6f5fa737fda9def4f41c2a7a6128c6154eef53
+AUX openrct2-0.2.4-disable-optional-features.patch 4046 BLAKE2B d74445c36cfce90e89100d6d54ea7c4dc260ef0cb9555b144d404c27463e36764df0561b86018c6cce89eb9ea01b8be1b3d8de50a5edc2a2cdc9a339aab3f0f5 SHA512 0f0a777936b9b240e6b33ce60fc84b8856cd3f7fcc7e9a40e55392351dddd6b348bcfb9ebe29e6f507dfd7f5259aaea992fa1e5ce7f23acd7611802846dd4e8e
+AUX openrct2-0.2.4-include-additional-paths.patch 1583 BLAKE2B b21e59cfaa37b211501846e2afb14d9d6617c713e487ffd3ef079c8f75b3113252fbc401da25b53ff6498f01b66bd4e9c1b30c51483b4c32c4ae1b338885966c SHA512 945f00ea986ebcfcaa536a5abf1cab608c96fa211bb839e9d577e969b842eb757307b501740c6015623eb10604f7aa6f7e5c736669cbc46676abe1434296e8ae
+AUX openrct2.confd 415 BLAKE2B 08c22a6940f07d89b6414917d5438d2926b71397c1aa590db805fea67fe6857ccd7e00117edb0f8135fd055d741ec071e3cd439bd62f516142151ef3af76b2a4 SHA512 d2f6863c507389eab1117497edca2a21121c115b7fd06f59bc358f0a610ebf58b8df3be7683aaf105cc481c27647c4cfa36893c33b3a1da0624325927b5e3d9b
+AUX openrct2.initd 1424 BLAKE2B 0b5940000d0d7ebf0ad14d2326fc6342380fe9fd5266a49610d4c62686062ce2fbaca7c3211f0026d3c8bda6ad8bc7526838734571266da745e2d67ca8be9ec8 SHA512 3c1ebbe9874ecda50b9420d1cb27633a9ddec57f5afab39ceac0845e44c7fdfd0fd0dd9799a14b09f45d3c7e85a93cd994515d495c3b2f1d4e8012e5716f1409
+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-replays-0.0.4.zip 1098833 BLAKE2B efe4f72b16285d8e6508313f16b892b02f1b124cf9b4d146731280f5090d071d3351834e6d4ab51122804fbbcb49044be4e681182141aac93795c3b1953b6590 SHA512 5c2469bfdaa94a6007f6788878f4e80d87fbbfd48b522e1bd2a22c2aa0c98583159b9559fd45f7f9450d544a99a59b6c17399d9ac91a171a86135f0e1a5b3e71
+DIST openrct2-title-sequences-0.1.2c.zip 2980030 BLAKE2B f91168bea0a4f88a801c95ea45759e0d1c887a89c18dbbded5887d2914db7119dd65c231aa422e4f8a964a81d832eae05bffaa8b7908fac39a63792d082b53a0 SHA512 0e544d236d5f6ac7f68d75ba1f56f043c76c77676cbb92e6fdbf68a6ae2dc6c41dbdad6083ceec36b2f774bcdd99f64f28de73b208d6a39a8218a9e95502d46e
+EBUILD openrct2-0.2.4.ebuild 3894 BLAKE2B e37f4c0a6f28d93075822724eb62941bf7a055f17c40d9f0e269733fc866b47ab85aaccb9daf67cfe3958e5a84f717b736331ad0538e5a0a12acb7e0fa569a2c SHA512 3222b10f47d6f7b9b0972352e9d56553a4127634e77d5411780a72d6075d9afd6d11c83ef5080a685439d42d8e468d74bbea05237317a49d50d8d8c3d488bafe
+EBUILD openrct2-9999.ebuild 3726 BLAKE2B 91a357683b524870775da3d7e63cac60680d3a774648e0fbd5d96c9632d38cdd86a77d07012366e1510e96267408bb82105c172768253f9b1bba19345e6c4c4e SHA512 8cbe4004842d88036ce24ab83e32134baa2030c27abf339910a23e09b1365a46dbe4c7ca2eb10e7342355ed510717dfaae722fff78b06ee434021cc582dc14c1
+MISC metadata.xml 1235 BLAKE2B f2e799e2f41467a48bade824354c51b15743dc64931ca4626aa603c3243c07d0e07818bb48af9d2be8aa285f0d9f29108a5055ce59935a4da0e3d32ad7a9fd06 SHA512 513647150ed4c7bdc32278ba90ed75f758a762d6cddabecede66e0048dad623f8da8c6708e6f6a6105e8721f4b9eb5ed20ec6c8e8db41b54ef2bb26613d7a4cf
diff --git a/games-simulation/openrct2/files/README.gentoo b/games-simulation/openrct2/files/README.gentoo
new file mode 100644
index 000000000000..7e5fc8c65857
--- /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.1-disable-tests-with-assets.patch b/games-simulation/openrct2/files/openrct2-0.2.1-disable-tests-with-assets.patch
deleted file mode 100644
index a4f1e2375321..000000000000
--- a/games-simulation/openrct2/files/openrct2-0.2.1-disable-tests-with-assets.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-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/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 000000000000..cddbe7a93a32
--- /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 <conrad@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 <conrad@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 000000000000..03d6496bf3ee
--- /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+github@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 000000000000..d7c3bb7b4442
--- /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 <conrad@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 000000000000..cdc414542d26
--- /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 000000000000..de95158a68e7
--- /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 e6ebc48e755d..4e87269e0d52 100644
--- a/games-simulation/openrct2/metadata.xml
+++ b/games-simulation/openrct2/metadata.xml
@@ -2,26 +2,24 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>jan@segre.in</email>
- <name>Jan Segre</name>
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="person">
- <email>hendrik@consetetur.de</email>
- <name>Hendrik v. Raven (lorem_ipsum)</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@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="multiplayer">Enable multiplayer functionality</flag>
- <flag name="twitch">Enable Twitch support</flag>
+ <flag name="lightfx">Enables LightFX for better lightning effects.</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.1.ebuild b/games-simulation/openrct2/openrct2-0.2.1.ebuild
deleted file mode 100644
index d8620527030b..000000000000
--- a/games-simulation/openrct2/openrct2-0.2.1.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# 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=(
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
- -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
-}
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 000000000000..15630b9a2ce2
--- /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
+}
diff --git a/games-simulation/openrct2/openrct2-9999.ebuild b/games-simulation/openrct2/openrct2-9999.ebuild
index cb037d692f2a..80ce2ffbfd6b 100644
--- a/games-simulation/openrct2/openrct2-9999.ebuild
+++ b/games-simulation/openrct2/openrct2-9999.ebuild
@@ -1,113 +1,162 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit cmake-utils gnome2-utils xdg-utils
+inherit cmake-utils git-r3 readme.gentoo-r1 xdg-utils
-DESCRIPTION="An open source re-implementation of RollerCoaster Tycoon 2"
+EGIT_REPO_URI="https://github.com/OpenRCT2/OpenRCT2.git"
+EGIT_BRANCH="develop"
+
+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/"
-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.8"
-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"
+SRC_URI="
+ 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"
-IUSE="libressl +multiplayer opengl test truetype +twitch"
+KEYWORDS=""
+IUSE="dedicated libressl +lightfx +opengl test +truetype twitch"
-RDEPEND="
- >=dev-libs/jansson-2.5
- >=dev-libs/libzip-1.0
+COMMON_DEPEND="
+ dev-libs/icu:=
+ dev-libs/jansson
+ dev-libs/libzip:=
media-libs/libpng:0=
- media-libs/libsdl2
- media-libs/speexdsp
- multiplayer? (
- libressl? ( dev-libs/libressl:0= )
- !libressl? ( dev-libs/openssl:0= )
+ sys-libs/zlib
+ !dedicated? (
+ media-libs/libsdl2
+ media-libs/speexdsp
+ opengl? ( virtual/opengl )
+ twitch? (
+ net-misc/curl[ssl]
+ )
)
- opengl? ( virtual/opengl )
+ libressl? ( dev-libs/libressl:0= )
+ !libressl? ( dev-libs/openssl:0= )
truetype? (
- media-libs/sdl2-ttf
- media-libs/fontconfig
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
)
- twitch? ( net-misc/curl[ssl] )
"
-DEPEND="${RDEPEND}
- app-arch/unzip
+
+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 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.2.4-include-additional-paths.patch"
+)
+
src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- else
- unpack ${P}.tar.gz
- fi
+ git-r3_src_unpack
- mkdir -p "${S}/data/title" || die
- pushd "${S}/data/title" || die
- unpack ${PN}-title-sequence-v${TSV}.zip
- popd || die
+ 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
- pushd "${S}/data/object" || die
- unpack ${PN}-objects-v${OBJV}.zip
- popd || die
+ 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() {
- sed -i CMakeLists.txt -e 's/-Werror//' || die
-
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=(
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
- -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
+ -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
- -DBUILD_SHARED_LIBS=ON
+ -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
)
- use test && mycmakeargs+=( -DSYSTEM_GTEST=ON )
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 ""
+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
- gnome2_icon_cache_update
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
xdg_desktop_database_update
+ xdg_icon_cache_update
xdg_mimeinfo_database_update
}
pkg_postrm() {
- gnome2_icon_cache_update
xdg_desktop_database_update
+ xdg_icon_cache_update
xdg_mimeinfo_database_update
}