1 |
commit: 935d4aa7df70a085d1703c2265191c61251dff79 |
2 |
Author: Conrad Kostecki <conikost <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Dec 1 14:06:35 2019 +0000 |
4 |
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Dec 2 21:13:56 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=935d4aa7 |
7 |
|
8 |
games-simulation/openrct2: bump to version 0.2.4 |
9 |
|
10 |
Changes: |
11 |
- Bump to EAPI=7. |
12 |
- Updated objects, replays and title-sequences versions. |
13 |
- Switch entierly from gnome2-utils to xdg-utils. |
14 |
- Added use flags for dedicated server and lightfx. |
15 |
- Added missing curl and icu dependency to DEPEND/RDEPEND. |
16 |
- Added missing pkgconfig depdendeny to BDEPEND. |
17 |
- Added initd/confd scripts for dedicated server. |
18 |
- Added GLEP 81 group/user for dedicated server. |
19 |
- Added patches for better Gentoo integration, |
20 |
so game files can be installed globally. |
21 |
- Updated options for cmake configure, |
22 |
which also fixes a QA warning. |
23 |
- Updated description how to install data files. |
24 |
- Fixed tests, so no tests needs to be disabled. |
25 |
- Updated metadata.xml with a better description. |
26 |
- Taking ownership by myself. |
27 |
|
28 |
Closes: https://bugs.gentoo.org/660274 |
29 |
Closes: https://bugs.gentoo.org/687810 |
30 |
Closes: https://bugs.gentoo.org/696578 |
31 |
Closes: https://github.com/gentoo/gentoo/pull/13606 |
32 |
Package-Manager: Portage-2.3.80, Repoman-2.3.19 |
33 |
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org> |
34 |
|
35 |
games-simulation/openrct2/Manifest | 4 + |
36 |
games-simulation/openrct2/files/README.gentoo | 15 ++ |
37 |
...isable-desktop-and-icon-files-without-gui.patch | 52 +++++++ |
38 |
.../openrct2-0.2.4-disable-optional-features.patch | 87 +++++++++++ |
39 |
.../openrct2-0.2.4-include-additional-paths.patch | 33 +++++ |
40 |
games-simulation/openrct2/files/openrct2.confd | 11 ++ |
41 |
games-simulation/openrct2/files/openrct2.initd | 41 ++++++ |
42 |
games-simulation/openrct2/metadata.xml | 19 ++- |
43 |
games-simulation/openrct2/openrct2-0.2.4.ebuild | 164 +++++++++++++++++++++ |
44 |
9 files changed, 422 insertions(+), 4 deletions(-) |
45 |
|
46 |
diff --git a/games-simulation/openrct2/Manifest b/games-simulation/openrct2/Manifest |
47 |
index 640461340ff..3aaf0c0b9cf 100644 |
48 |
--- a/games-simulation/openrct2/Manifest |
49 |
+++ b/games-simulation/openrct2/Manifest |
50 |
@@ -1,4 +1,8 @@ |
51 |
DIST openrct2-0.2.1.tar.gz 6571807 BLAKE2B f5a72072ce4cda9b68d1f82f56932f1a074c4ea4050d63e4bf39de1220544d543265c67f764f85d0cc85b6ff42f3fa67fc71e7dd9c5eacb1881be47e2d79a84f SHA512 04bf2cfbb2d3b9fb0a8423cfffc70b81a2a2518af73b9a2c2c65b2a4e5ef2380621d4d3aaefaea73d926a99259dfb047d6fcc330cd0d7227541cffead28ba540 |
52 |
+DIST openrct2-0.2.4.tar.gz 6805976 BLAKE2B 7860746d1705804682756097ff37d4584d0ebb20c450c08b88134795e9f3c375dfb888a67302f530cd55700eaa5cd13149c365c30a5d267d382b39225f06d210 SHA512 956044b5fa5e55256a33f352d2d1e8a4eb6738b98dc9894807b3628b5c5c08f3229c952fbf8b33ad867771f88c6d7e17ad1a8a4e050f8f269a6152d013afce03 |
53 |
+DIST openrct2-objects-1.0.12.zip 2173875 BLAKE2B d344dde3dc376004b9e303a489c058a574c2f8babcce8c9998ef12f2b91e3fe7d3e22e1afc81aadd39637f3f91a5d36c4267aed06980686fd909cc515f4c8fde SHA512 d17d2197b66d22e33a246651a0c544a49a6d6a809612d26a851dc4b40bb9e1bf5079bbe5b1a3b7d41f541fc41ce41717d772a5579aa2cdc9ec1dfea72b5a3144 |
54 |
DIST openrct2-objects-v1.0.7.zip 2164242 BLAKE2B 003baf3400c52e3b2efdc208f6c64a45f7c9274aca3b729856a60fc1e72c8b6440b663d3fd791ebde7412df9920095367763bcad58257534b32c222d97976dcb SHA512 8e77adae59062582a22be69e81d144477482148c839abbea76e6bbbc65ca6426a8354bd4726176702a41684f01a62c5bddc0f6c2c6e42fa91c88815879c91fe5 |
55 |
DIST openrct2-objects-v1.0.8.zip 2167920 BLAKE2B 551fd825a0bfb6bd2fce8a34aab393ea91f815508f51523a3839a3d2054afe96efac09976f1defd046be55fa14806b05c9cd5a9484d7e3ce1a86c54335a0741a SHA512 29e60a2d72e0c7774993e9d70aeb1c931b359e35776049a1baafd2d0bdfc56c1374e577e43f596c31ee146bd38b87eeeb8acc3ea03fdd9c9bc3be08436b7aa6a |
56 |
+DIST openrct2-replays-0.0.4.zip 1098833 BLAKE2B efe4f72b16285d8e6508313f16b892b02f1b124cf9b4d146731280f5090d071d3351834e6d4ab51122804fbbcb49044be4e681182141aac93795c3b1953b6590 SHA512 5c2469bfdaa94a6007f6788878f4e80d87fbbfd48b522e1bd2a22c2aa0c98583159b9559fd45f7f9450d544a99a59b6c17399d9ac91a171a86135f0e1a5b3e71 |
57 |
DIST openrct2-title-sequence-v0.1.2.zip 4073116 BLAKE2B a36fb07e8da62afce129f2224f4cf5cc226922094132a3dc515fda1f02e0f8bbe07c973363f824ae58a54a26f252ad96f3f673bf5f142be5c964f45b6f712ed6 SHA512 7592c5397ceb27347c127ae5c4f8e11d7ef2ff23c97f627b354f941894420f546ffdcff88e2348e42c82d182ccf620e739c745d894a9b5650a0d7d028b68a106 |
58 |
+DIST openrct2-title-sequences-0.1.2c.zip 2980030 BLAKE2B f91168bea0a4f88a801c95ea45759e0d1c887a89c18dbbded5887d2914db7119dd65c231aa422e4f8a964a81d832eae05bffaa8b7908fac39a63792d082b53a0 SHA512 0e544d236d5f6ac7f68d75ba1f56f043c76c77676cbb92e6fdbf68a6ae2dc6c41dbdad6083ceec36b2f774bcdd99f64f28de73b208d6a39a8218a9e95502d46e |
59 |
|
60 |
diff --git a/games-simulation/openrct2/files/README.gentoo b/games-simulation/openrct2/files/README.gentoo |
61 |
new file mode 100644 |
62 |
index 00000000000..7e5fc8c6585 |
63 |
--- /dev/null |
64 |
+++ b/games-simulation/openrct2/files/README.gentoo |
65 |
@@ -0,0 +1,15 @@ |
66 |
+OpenRCT2 needs the original RollerCoaster Tycoon 2 data files." |
67 |
+ |
68 |
+You need the folders 'Data', 'ObjData', 'Scenarios' and 'Tracks'" |
69 |
+from the original release and copy them into '/usr/share/openrct2/rct2_data'." |
70 |
+ |
71 |
+For additional content, you can install the RollerCoaster Tycoon 1 data files." |
72 |
+ |
73 |
+You need the folders 'Data', 'Scenarios' and 'Tracks'" |
74 |
+from the original release and copy them into '/usr/share/openrct2/rct1_data'." |
75 |
+ |
76 |
+Optionally, the paths can be overwritten by the parameters" |
77 |
+'game_path' and 'rct1_path' in your local ~/.config/OpenRCT2/config.ini file." |
78 |
+ |
79 |
+See: https://github.com/OpenRCT2/OpenRCT2/wiki/Required-RCT2-files" |
80 |
+See: https://github.com/OpenRCT2/OpenRCT2/wiki/Loading-RCT1-scenarios-and-data" |
81 |
|
82 |
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 |
83 |
new file mode 100644 |
84 |
index 00000000000..cddbe7a93a3 |
85 |
--- /dev/null |
86 |
+++ b/games-simulation/openrct2/files/openrct2-0.2.4-disable-desktop-and-icon-files-without-gui.patch |
87 |
@@ -0,0 +1,52 @@ |
88 |
+From 9df66b1f1f56427d896263728c84009c8c3b842b Mon Sep 17 00:00:00 2001 |
89 |
+From: Conrad Kostecki <conrad@××××××××.com> |
90 |
+Date: Sun, 10 Nov 2019 20:05:51 +0100 |
91 |
+Subject: [PATCH] CMakeLists.txt: don't install desktop and icon files without |
92 |
+ GUI (#10206) |
93 |
+ |
94 |
+If OpenRCT2 is compiled without GUI (for example as a dedicated server), |
95 |
+it does not make sense to install the desktop and icon files. |
96 |
+ |
97 |
+Signed-off-by: Conrad Kostecki <conrad@××××××××.com> |
98 |
+--- |
99 |
+ CMakeLists.txt | 28 +++++++++++++++------------- |
100 |
+ 1 file changed, 15 insertions(+), 13 deletions(-) |
101 |
+ |
102 |
+diff --git a/CMakeLists.txt b/CMakeLists.txt |
103 |
+index 7dda401bbdd..f6e4683c9b7 100644 |
104 |
+--- a/CMakeLists.txt |
105 |
++++ b/CMakeLists.txt |
106 |
+@@ -319,18 +319,20 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/g2.dat" DESTINATION "${CMAKE_INSTALL_ |
107 |
+ install(DIRECTORY "data/" DESTINATION "${CMAKE_INSTALL_DATADIR}/openrct2") |
108 |
+ install(FILES ${DOC_FILES} DESTINATION "${CMAKE_INSTALL_DOCDIR}") |
109 |
+ install(FILES "distribution/linux/openrct2.appdata.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo") |
110 |
+-install(FILES "resources/logo/icon_x16.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "openrct2.png") |
111 |
+-install(FILES "resources/logo/icon_x24.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/24x24/apps" RENAME "openrct2.png") |
112 |
+-install(FILES "resources/logo/icon_x32.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps" RENAME "openrct2.png") |
113 |
+-install(FILES "resources/logo/icon_x48.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps" RENAME "openrct2.png") |
114 |
+-install(FILES "resources/logo/icon_x64.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps" RENAME "openrct2.png") |
115 |
+-install(FILES "resources/logo/icon_x96.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/96x96/apps" RENAME "openrct2.png") |
116 |
+-install(FILES "resources/logo/icon_x128.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "openrct2.png") |
117 |
+-install(FILES "resources/logo/icon_x256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "openrct2.png") |
118 |
+-install(FILES "resources/logo/icon_flag.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps" RENAME "openrct2.svg") |
119 |
+-install(FILES "distribution/linux/openrct2.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") |
120 |
+-install(FILES "distribution/linux/openrct2-savegame.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") |
121 |
+-install(FILES "distribution/linux/openrct2-scenario.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") |
122 |
+-install(FILES "distribution/linux/openrct2-uri.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") |
123 |
++if (NOT DISABLE_GUI) |
124 |
++ install(FILES "resources/logo/icon_x16.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "openrct2.png") |
125 |
++ install(FILES "resources/logo/icon_x24.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/24x24/apps" RENAME "openrct2.png") |
126 |
++ install(FILES "resources/logo/icon_x32.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps" RENAME "openrct2.png") |
127 |
++ install(FILES "resources/logo/icon_x48.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps" RENAME "openrct2.png") |
128 |
++ install(FILES "resources/logo/icon_x64.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps" RENAME "openrct2.png") |
129 |
++ install(FILES "resources/logo/icon_x96.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/96x96/apps" RENAME "openrct2.png") |
130 |
++ install(FILES "resources/logo/icon_x128.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "openrct2.png") |
131 |
++ install(FILES "resources/logo/icon_x256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "openrct2.png") |
132 |
++ install(FILES "resources/logo/icon_flag.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps" RENAME "openrct2.svg") |
133 |
++ install(FILES "distribution/linux/openrct2.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") |
134 |
++ install(FILES "distribution/linux/openrct2-savegame.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") |
135 |
++ install(FILES "distribution/linux/openrct2-scenario.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") |
136 |
++ install(FILES "distribution/linux/openrct2-uri.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") |
137 |
++endif() |
138 |
+ install(FILES "distribution/linux/openrct2-mimeinfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/mime/packages/" RENAME "openrct2.xml") |
139 |
+ install(DIRECTORY "distribution/man/" DESTINATION "${CMAKE_INSTALL_MANDIR}/man6" FILES_MATCHING PATTERN "*.6") |
140 |
|
141 |
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 |
142 |
new file mode 100644 |
143 |
index 00000000000..03d6496bf3e |
144 |
--- /dev/null |
145 |
+++ b/games-simulation/openrct2/files/openrct2-0.2.4-disable-optional-features.patch |
146 |
@@ -0,0 +1,87 @@ |
147 |
+From fef1906d0d7050b1dfa3792f6e8d3a9b9632df68 Mon Sep 17 00:00:00 2001 |
148 |
+From: Conrad Kostecki <conrad+github@××××××××.com> |
149 |
+Date: Sat, 9 Nov 2019 21:20:16 +0100 |
150 |
+Subject: [PATCH] CMakeLists.txt: make discord-rpc and google benchmark |
151 |
+ optional (#10208) |
152 |
+ |
153 |
+For a package maintainer, it should be possible to disable the support |
154 |
+for discord-rpc and google benchmark, as it currently always includes them, |
155 |
+when the library if found. |
156 |
+--- |
157 |
+ CMakeLists.txt | 26 +++++++++++++++----------- |
158 |
+ src/openrct2/CMakeLists.txt | 18 ++++++++++-------- |
159 |
+ 2 files changed, 25 insertions(+), 19 deletions(-) |
160 |
+ |
161 |
+diff --git a/CMakeLists.txt b/CMakeLists.txt |
162 |
+index ea4bdfd8221..7dda401bbdd 100644 |
163 |
+--- a/CMakeLists.txt |
164 |
++++ b/CMakeLists.txt |
165 |
+@@ -42,6 +42,8 @@ CMAKE_DEPENDENT_OPTION(DOWNLOAD_REPLAYS "Download replays during installation." |
166 |
+ option(STATIC "Create a static build.") |
167 |
+ option(USE_MMAP "Use mmap to try loading rct2's data segment into memory.") |
168 |
+ |
169 |
++option(DISABLE_DISCORD_RPC "Disable Discord-RPC support." OFF) |
170 |
++option(DISABLE_GOOGLE_BENCHMARK "Disable Google Benchmarks support." OFF) |
171 |
+ option(DISABLE_HTTP_TWITCH "Disable HTTP and Twitch support.") |
172 |
+ option(DISABLE_NETWORK "Disable multiplayer functionality. Mainly for testing.") |
173 |
+ option(DISABLE_TTF "Disable support for TTF provided by freetype2.") |
174 |
+@@ -125,17 +127,19 @@ if (CXX_WARN_SUGGEST_FINAL_METHODS) |
175 |
+ add_definitions(-D__WARN_SUGGEST_FINAL_METHODS__) |
176 |
+ endif () |
177 |
+ |
178 |
+-if(EXISTS "${ROOT_DIR}/discord-rpc") |
179 |
+- # Don't build discord's examples, some of which are in C and do not honour |
180 |
+- # the flags we set for C++. Also we don't use the provided examples. |
181 |
+- set(BUILD_EXAMPLES OFF CACHE BOOL "Build example apps") |
182 |
+- add_subdirectory("${ROOT_DIR}/discord-rpc") |
183 |
+- add_definitions(-D__ENABLE_DISCORD__) |
184 |
+- include_directories("${ROOT_DIR}/discord-rpc/include") |
185 |
+- set(HAVE_DISCORD_RPC TRUE) |
186 |
+- message("Building with discord-rpc support") |
187 |
+-else() |
188 |
+- message("No discord-rpc detected, to enable clone discord-rpc to root directory: ${ROOT_DIR}") |
189 |
++if (NOT DISABLE_DISCORD_RPC) |
190 |
++ if(EXISTS "${ROOT_DIR}/discord-rpc") |
191 |
++ # Don't build discord's examples, some of which are in C and do not honour |
192 |
++ # the flags we set for C++. Also we don't use the provided examples. |
193 |
++ set(BUILD_EXAMPLES OFF CACHE BOOL "Build example apps") |
194 |
++ add_subdirectory("${ROOT_DIR}/discord-rpc") |
195 |
++ add_definitions(-D__ENABLE_DISCORD__) |
196 |
++ include_directories("${ROOT_DIR}/discord-rpc/include") |
197 |
++ set(HAVE_DISCORD_RPC TRUE) |
198 |
++ message("Building with discord-rpc support") |
199 |
++ else() |
200 |
++ message("No discord-rpc detected, to enable clone discord-rpc to root directory: ${ROOT_DIR}") |
201 |
++ endif() |
202 |
+ endif() |
203 |
+ |
204 |
+ # Copied from https://github.com/opencv/opencv/blob/dcdd6af5a856826fe62c95322145731e702e54c5/cmake/OpenCVDetectCXXCompiler.cmake#L63-L70 |
205 |
+diff --git a/src/openrct2/CMakeLists.txt b/src/openrct2/CMakeLists.txt |
206 |
+index 61be3d13c2a..97674911c0c 100644 |
207 |
+--- a/src/openrct2/CMakeLists.txt |
208 |
++++ b/src/openrct2/CMakeLists.txt |
209 |
+@@ -73,14 +73,16 @@ if (NOT DISABLE_TTF) |
210 |
+ endif () |
211 |
+ endif () |
212 |
+ |
213 |
+-find_package(benchmark 1.4 QUIET) |
214 |
+-if (benchmark_FOUND) |
215 |
+- message("Found Google benchmark, enabling support") |
216 |
+- set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS USE_BENCHMARK) |
217 |
+- target_link_libraries(${PROJECT_NAME} benchmark::benchmark) |
218 |
+- target_include_directories(${PROJECT_NAME} PRIVATE ${benchmark_INCLUDE_DIRS}) |
219 |
+-else () |
220 |
+- message("Google benchmark not found, disabling support") |
221 |
++if (NOT DISABLE_GOOGLE_BENCHMARK) |
222 |
++ find_package(benchmark 1.4 QUIET) |
223 |
++ if (benchmark_FOUND) |
224 |
++ message("Found Google benchmark, enabling support") |
225 |
++ set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS USE_BENCHMARK) |
226 |
++ target_link_libraries(${PROJECT_NAME} benchmark::benchmark) |
227 |
++ target_include_directories(${PROJECT_NAME} PRIVATE ${benchmark_INCLUDE_DIRS}) |
228 |
++ else () |
229 |
++ message("Google benchmark not found, disabling support") |
230 |
++ endif () |
231 |
+ endif () |
232 |
+ |
233 |
+ # Third party libraries |
234 |
|
235 |
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 |
236 |
new file mode 100644 |
237 |
index 00000000000..d7c3bb7b444 |
238 |
--- /dev/null |
239 |
+++ b/games-simulation/openrct2/files/openrct2-0.2.4-include-additional-paths.patch |
240 |
@@ -0,0 +1,33 @@ |
241 |
+From 370b6c6ee48dd1ccc68e03f4bba3e9a2cb2067aa Mon Sep 17 00:00:00 2001 |
242 |
+From: Conrad Kostecki <conrad@××××××××.com> |
243 |
+Date: Sat, 9 Nov 2019 22:32:03 +0100 |
244 |
+Subject: [PATCH] src/openrct2/config/Config.cpp: Search additional paths for |
245 |
+ rct data. |
246 |
+ |
247 |
+With '/usr/share/openrct2/rct{1,2}_data' added into the search path list, |
248 |
+it makes possible to install rct{1,2} game files globally, |
249 |
+so every user on a linux system can run OpenRCT2 directly. |
250 |
+--- |
251 |
+ src/openrct2/config/Config.cpp | 2 ++ |
252 |
+ 1 file changed, 2 insertions(+) |
253 |
+ |
254 |
+diff --git a/src/openrct2/config/Config.cpp b/src/openrct2/config/Config.cpp |
255 |
+index 08d59488eea..969533f8820 100644 |
256 |
+--- a/src/openrct2/config/Config.cpp |
257 |
++++ b/src/openrct2/config/Config.cpp |
258 |
+@@ -615,6 +615,7 @@ namespace Config |
259 |
+ log_verbose("config_find_rct1_path(...)"); |
260 |
+ |
261 |
+ static constexpr const utf8* searchLocations[] = { |
262 |
++ R"(/usr/share/openrct2/rct1_data)", |
263 |
+ R"(C:\Program Files\Steam\steamapps\common\Rollercoaster Tycoon Deluxe)", |
264 |
+ R"(C:\Program Files (x86)\Steam\steamapps\common\Rollercoaster Tycoon Deluxe)", |
265 |
+ R"(C:\GOG Games\RollerCoaster Tycoon Deluxe)", |
266 |
+@@ -659,6 +660,7 @@ namespace Config |
267 |
+ log_verbose("config_find_rct2_path(...)"); |
268 |
+ |
269 |
+ static constexpr const utf8* searchLocations[] = { |
270 |
++ R"(/usr/share/openrct2/rct2_data)", |
271 |
+ R"(C:\Program Files\Steam\steamapps\common\Rollercoaster Tycoon 2)", |
272 |
+ R"(C:\Program Files (x86)\Steam\steamapps\common\Rollercoaster Tycoon 2)", |
273 |
+ R"(C:\GOG Games\RollerCoaster Tycoon 2 Triple Thrill Pack)", |
274 |
|
275 |
diff --git a/games-simulation/openrct2/files/openrct2.confd b/games-simulation/openrct2/files/openrct2.confd |
276 |
new file mode 100644 |
277 |
index 00000000000..cdc414542d2 |
278 |
--- /dev/null |
279 |
+++ b/games-simulation/openrct2/files/openrct2.confd |
280 |
@@ -0,0 +1,11 @@ |
281 |
+# Copyright 1999-2019 Gentoo Authors |
282 |
+# Distributed under the terms of the GNU General Public License v2 |
283 |
+ |
284 |
+# Name of the OpenRCT2 scenario file, |
285 |
+# which will be used by the dedicated server. |
286 |
+# It needs to be placed in '/var/lib/openrct2/<instance>/scenario'. |
287 |
+# The default instance is 'main'. |
288 |
+OPENRCT2_SCENARIO_FILE="scenario.sc6" |
289 |
+ |
290 |
+# Options, which can be passed to the dedicated server. |
291 |
+OPENRCT2_OPTS="--port 11753" |
292 |
|
293 |
diff --git a/games-simulation/openrct2/files/openrct2.initd b/games-simulation/openrct2/files/openrct2.initd |
294 |
new file mode 100644 |
295 |
index 00000000000..de95158a68e |
296 |
--- /dev/null |
297 |
+++ b/games-simulation/openrct2/files/openrct2.initd |
298 |
@@ -0,0 +1,41 @@ |
299 |
+#!/sbin/openrc-run |
300 |
+# Copyright 1999-2019 Gentoo Authors |
301 |
+# Distributed under the terms of the GNU General Public License v2 |
302 |
+ |
303 |
+if [ "${SVCNAME}" = "openrct2" ]; then |
304 |
+ instance="main" |
305 |
+else |
306 |
+ instance="${SVCNAME#*.}" |
307 |
+fi |
308 |
+ |
309 |
+openrct2_command="/usr/bin/openrct2-cli" |
310 |
+openrct2_path="/var/lib/openrct2" |
311 |
+openrct2_path_instance="${openrct2_path}/${instance}" |
312 |
+openrct2_path_scenario="${openrct2_path_instance}/scenario" |
313 |
+name="OpenRCT2 server (${instance})" |
314 |
+pidfile="/run/openrct2-cli.${instance}.pid" |
315 |
+start_stop_daemon_args="--chdir ${openrct2_path_instance}" |
316 |
+ |
317 |
+command="/usr/bin/openrct2-cli" |
318 |
+command_args="host \"${openrct2_path_scenario}/${OPENRCT2_SCENARIO_FILE}\" --headless --user-data-path ${openrct2_path_instance} ${OPENRCT2_OPTS}" |
319 |
+command_background="true" |
320 |
+command_group="openrct2" |
321 |
+command_user="openrct2" |
322 |
+ |
323 |
+depend() { |
324 |
+ use net |
325 |
+} |
326 |
+ |
327 |
+start_pre() { |
328 |
+ checkpath -d -o "${command_user}:${command_group}" -q "${openrct2_path}" "${openrct2_path_instance}" "${openrct2_path_scenario}" |
329 |
+ |
330 |
+ if [ ! -f "${openrct2_path_scenario}/${OPENRCT2_SCENARIO_FILE}" ]; then |
331 |
+ eerror "The scenario ${openrct2_path_scenario}/${OPENRCT2_SCENARIO_FILE} could not be found!" |
332 |
+ eerror "An OpenRCT2 scenario file is needed by the dedicated server." |
333 |
+ eerror "Please check, if OPENRCT2_SCENARIO is configured correctly." |
334 |
+ return 1 |
335 |
+ else |
336 |
+ checkpath -f -o "${command_user}:${command_group}" -q "${openrct2_path_scenario}/${OPENRCT2_SCENARIO_FILE}" |
337 |
+ return 0 |
338 |
+ fi |
339 |
+} |
340 |
|
341 |
diff --git a/games-simulation/openrct2/metadata.xml b/games-simulation/openrct2/metadata.xml |
342 |
index e6ebc48e755..9fce1c161ff 100644 |
343 |
--- a/games-simulation/openrct2/metadata.xml |
344 |
+++ b/games-simulation/openrct2/metadata.xml |
345 |
@@ -1,6 +1,10 @@ |
346 |
<?xml version="1.0" encoding="UTF-8"?> |
347 |
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
348 |
<pkgmetadata> |
349 |
+ <maintainer type="person"> |
350 |
+ <email>ck+gentoo@××××××××.de</email> |
351 |
+ <name>Conrad Kostecki</name> |
352 |
+ </maintainer> |
353 |
<maintainer type="person"> |
354 |
<email>jan@×××××.in</email> |
355 |
<name>Jan Segre</name> |
356 |
@@ -13,15 +17,22 @@ |
357 |
<email>proxy-maint@g.o</email> |
358 |
<name>Proxy Maintainers</name> |
359 |
</maintainer> |
360 |
- <longdescription lang="en"> |
361 |
- An open-source re-implementation of RollerCoaster Tycoon 2. A construction and management simulation video game that simulates amusement park management. |
362 |
+ <longdescription> |
363 |
+ OpenRCT2 is an open-source re-implementation of RollerCoaster Tycoon 2 (RCT2), |
364 |
+ expanding the game with new features, fixing bugs and raising game limits. |
365 |
+ The gameplay revolves around building and maintaining an amusement park containing attractions, |
366 |
+ shops and facilities. The player must try to make a profit and maintain a good park reputation |
367 |
+ whilst keeping the guests happy. OpenRCT2 allows for both scenario and sandbox play. |
368 |
+ Scenarios require the player to complete a certain objective in a set time limit whilst |
369 |
+ sandbox allows the player to build a more flexible park with optionally no restrictions or finance. |
370 |
</longdescription> |
371 |
<use> |
372 |
+ <flag name="lightfx">Enables LightFX for better lightning effects.</flag> |
373 |
<flag name="multiplayer">Enable multiplayer functionality</flag> |
374 |
- <flag name="twitch">Enable Twitch support</flag> |
375 |
+ <flag name="twitch">Enables streaming of ingame content to Twitch.</flag> |
376 |
</use> |
377 |
<upstream> |
378 |
- <remote-id type="github">OpenRCT2/OpenRCT2</remote-id> |
379 |
<bugs-to>https://github.com/OpenRCT2/OpenRCT2/issues</bugs-to> |
380 |
+ <remote-id type="github">OpenRCT2/OpenRCT2</remote-id> |
381 |
</upstream> |
382 |
</pkgmetadata> |
383 |
|
384 |
diff --git a/games-simulation/openrct2/openrct2-0.2.4.ebuild b/games-simulation/openrct2/openrct2-0.2.4.ebuild |
385 |
new file mode 100644 |
386 |
index 00000000000..15630b9a2ce |
387 |
--- /dev/null |
388 |
+++ b/games-simulation/openrct2/openrct2-0.2.4.ebuild |
389 |
@@ -0,0 +1,164 @@ |
390 |
+# Copyright 1999-2019 Gentoo Authors |
391 |
+# Distributed under the terms of the GNU General Public License v2 |
392 |
+ |
393 |
+EAPI=7 |
394 |
+ |
395 |
+inherit cmake-utils readme.gentoo-r1 xdg-utils |
396 |
+ |
397 |
+MY_PN="OpenRCT2" |
398 |
+MY_PN_OBJ="objects" |
399 |
+MY_PN_RPL="replays" |
400 |
+MY_PN_TS="title-sequences" |
401 |
+MY_PV_OBJ="1.0.12" |
402 |
+MY_PV_RPL="0.0.4" |
403 |
+MY_PV_TS="0.1.2c" |
404 |
+ |
405 |
+DESCRIPTION="An open source re-implementation of Chris Sawyer's RollerCoaster Tycoon 2" |
406 |
+HOMEPAGE="https://openrct2.org/" |
407 |
+SRC_URI=" |
408 |
+ https://github.com/${MY_PN}/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz |
409 |
+ 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 |
410 |
+ 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 |
411 |
+ 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 ) |
412 |
+" |
413 |
+ |
414 |
+LICENSE="GPL-3" |
415 |
+SLOT="0" |
416 |
+KEYWORDS="~amd64 ~x86" |
417 |
+IUSE="dedicated libressl +lightfx +opengl test +truetype twitch" |
418 |
+ |
419 |
+COMMON_DEPEND=" |
420 |
+ dev-libs/icu:= |
421 |
+ dev-libs/jansson |
422 |
+ dev-libs/libzip:= |
423 |
+ media-libs/libpng:0= |
424 |
+ sys-libs/zlib |
425 |
+ !dedicated? ( |
426 |
+ media-libs/libsdl2 |
427 |
+ media-libs/speexdsp |
428 |
+ opengl? ( virtual/opengl ) |
429 |
+ twitch? ( |
430 |
+ net-misc/curl[ssl] |
431 |
+ ) |
432 |
+ ) |
433 |
+ libressl? ( dev-libs/libressl:0= ) |
434 |
+ !libressl? ( dev-libs/openssl:0= ) |
435 |
+ truetype? ( |
436 |
+ media-libs/fontconfig:1.0 |
437 |
+ media-libs/freetype:2 |
438 |
+ ) |
439 |
+" |
440 |
+ |
441 |
+RDEPEND=" |
442 |
+ ${COMMON_DEPEND} |
443 |
+ dedicated? ( |
444 |
+ acct-group/openrct2 |
445 |
+ acct-user/openrct2 |
446 |
+ ) |
447 |
+" |
448 |
+ |
449 |
+DEPEND=" |
450 |
+ ${COMMON_DEPEND} |
451 |
+ test? ( dev-cpp/gtest ) |
452 |
+" |
453 |
+ |
454 |
+BDEPEND=" |
455 |
+ app-arch/unzip |
456 |
+ virtual/pkgconfig |
457 |
+" |
458 |
+ |
459 |
+RESTRICT="!test? ( test )" |
460 |
+ |
461 |
+S="${WORKDIR}/${MY_PN}-${PV}" |
462 |
+ |
463 |
+PATCHES=( |
464 |
+ "${FILESDIR}/${PN}-0.2.4-disable-desktop-and-icon-files-without-gui.patch" |
465 |
+ "${FILESDIR}/${PN}-0.2.4-disable-optional-features.patch" |
466 |
+ "${FILESDIR}/${PN}-0.2.4-include-additional-paths.patch" |
467 |
+) |
468 |
+ |
469 |
+src_unpack() { |
470 |
+ unpack "${P}".tar.gz |
471 |
+ |
472 |
+ mkdir -p "${S}"/data/title || die |
473 |
+ cd "${S}"/data/title || die |
474 |
+ unpack "${PN}-${MY_PN_TS}-${MY_PV_TS}".zip |
475 |
+ |
476 |
+ mkdir -p "${S}"/data/object || die |
477 |
+ cd "${S}"/data/object || die |
478 |
+ unpack "${PN}-${MY_PN_OBJ}-${MY_PV_OBJ}".zip |
479 |
+ |
480 |
+ if use test; then |
481 |
+ mkdir -p "${S}"/testdata/replays || die |
482 |
+ cd "${S}"/testdata/replays || die |
483 |
+ unpack "${PN}-${MY_PN_RPL}-${MY_PV_RPL}".zip |
484 |
+ fi |
485 |
+} |
486 |
+ |
487 |
+src_prepare() { |
488 |
+ cmake-utils_src_prepare |
489 |
+ |
490 |
+ # Don't treat warnings as errors. |
491 |
+ sed -e 's/-Werror//' -i CMakeLists.txt || die |
492 |
+} |
493 |
+ |
494 |
+src_configure() { |
495 |
+ # Note: There is currently no support for Disord-RPC and Google Benchmark, |
496 |
+ # as both packages do not exist in Gentoo, so support for them has been disabled. |
497 |
+ local mycmakeargs=( |
498 |
+ -DDISABLE_DISCORD_RPC=ON |
499 |
+ -DDISABLE_GOOGLE_BENCHMARK=ON |
500 |
+ -DDISABLE_GUI=$(usex dedicated) |
501 |
+ -DDISABLE_HTTP_TWITCH=$(usex !twitch) |
502 |
+ -DDISABLE_NETWORK=OFF |
503 |
+ $(usex !dedicated "-DDISABLE_OPENGL=$(usex !opengl)" "") |
504 |
+ -DDISABLE_TTF=$(usex !truetype) |
505 |
+ -DDOWNLOAD_OBJECTS=OFF |
506 |
+ -DDOWNLOAD_REPLAYS=OFF |
507 |
+ -DDOWNLOAD_TITLE_SEQUENCES=OFF |
508 |
+ -DENABLE_LIGHTFX=$(usex lightfx) |
509 |
+ -DPORTABLE=OFF |
510 |
+ -DSTATIC=OFF |
511 |
+ $(usex test "-DSYSTEM_GTEST=ON" "") |
512 |
+ -DWITH_TESTS=$(usex test) |
513 |
+ -DUSE_MMAP=ON |
514 |
+ ) |
515 |
+ |
516 |
+ cmake-utils_src_configure |
517 |
+} |
518 |
+ |
519 |
+src_test() { |
520 |
+ # Since the tests need the OpenRCT2 data, |
521 |
+ # we need to symlink them into the build directory, |
522 |
+ # otherwise some tests will fail, as they don't find the OpenRCT2 data. |
523 |
+ # It is currently not possible to override that path. |
524 |
+ # See: https://github.com/OpenRCT2/OpenRCT2/issues/6473 |
525 |
+ ln -s "${S}"/data "${BUILD_DIR}" || die |
526 |
+ |
527 |
+ cmake-utils_src_test |
528 |
+} |
529 |
+ |
530 |
+src_install() { |
531 |
+ cmake-utils_src_install |
532 |
+ |
533 |
+ if use dedicated; then |
534 |
+ newinitd "${FILESDIR}"/openrct2.initd openrct2 |
535 |
+ newconfd "${FILESDIR}"/openrct2.confd openrct2 |
536 |
+ fi |
537 |
+ |
538 |
+ readme.gentoo_create_doc |
539 |
+} |
540 |
+ |
541 |
+pkg_postinst() { |
542 |
+ readme.gentoo_print_elog |
543 |
+ |
544 |
+ xdg_desktop_database_update |
545 |
+ xdg_icon_cache_update |
546 |
+ xdg_mimeinfo_database_update |
547 |
+} |
548 |
+ |
549 |
+pkg_postrm() { |
550 |
+ xdg_desktop_database_update |
551 |
+ xdg_icon_cache_update |
552 |
+ xdg_mimeinfo_database_update |
553 |
+} |