summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-simulation/openrct2/Manifest3
-rw-r--r--games-simulation/openrct2/openrct2-0.4.5.ebuild170
2 files changed, 173 insertions, 0 deletions
diff --git a/games-simulation/openrct2/Manifest b/games-simulation/openrct2/Manifest
index 423d064bdbe0..dc56a8f65ad7 100644
--- a/games-simulation/openrct2/Manifest
+++ b/games-simulation/openrct2/Manifest
@@ -1,5 +1,8 @@
DIST openrct2-0.4.4.tar.gz 16554655 BLAKE2B f0770b7db82b9df5325e8740b5aa88889ac5354b07b271c824f9521ba02d0bc3eec395f216305d4737c8ad36a3096281d1a7ecb019a6514399b7d12dec0dd526 SHA512 8e969e08023a6232dfffa31593cfacedafdf5eb778d1c1471deb095b3d056006ea0c1b219c9042f9fe94118fcbde219580ba2fca29d70a042a016a7fde0abdc9
+DIST openrct2-0.4.5.tar.gz 16809101 BLAKE2B e1034df064ea5954779945315093cff919c5b13132914d1aedd1d46f8d75ec7c651412c40f8c132f527c57e3d64fa464db689a6ef0fd277dd3c4898c58cb06df SHA512 fa2b6ba2d059f42e6b1fae8db7049b04a3bac7e9dc387a4f3c6bea0711309ab9ea6f298094a709cdff06a74bbc0cb571ace25f562687298b3a8bfd4a47a95b3b
+DIST openrct2-objects-1.3.11.zip 4705861 BLAKE2B 10a0477fd8db9374b0e667a34ec3b0cedf6cb29fc9b602da845e33272e072c55cf5fd30b9340ec4b763a9f324c72d126290651c9eddef07013857a8228978566 SHA512 98ab374a4899f60f45d6c87a570298a5788ec8cf277b67cb6b54c2f68388a99f201705377406b883eac45a97edff3cf7736898ed0b97a290f3d999dad7c821b9
DIST openrct2-objects-1.3.8.zip 4583315 BLAKE2B 84f104666671fe7b677390e0475fdd0b7a417ab52ece7e7b6ea8dcf5ec21cda5ffc95cf5fb989d3e8d2a353132580eacafbee3a5655c79e4528328fabc607af0 SHA512 e0ea72334195ce2d608b9a6e4102cda33271834d71783b6a0b0e408a41a6b240adb021f28ada8184ffd0720a9ee0bebbbd50635321c39c7f3229c51544b0bc9d
DIST openrct2-objects-1.3.9.zip 4583285 BLAKE2B 90f200138254a3846913e94021fb6a19ad18590f940a814e61d848c64c9c5eb403476d759e1718ff1e1316ada1443c6a119695e8a66c51e2686f22f6e8efa8d7 SHA512 b671ee083e1317c4849f3a75009169d45102cc7a6241b5b9a079c896e8bce8bba63bd08cdd90b9aa562a18a8e023f954e411b096b21c9b112761a8b95bea69a6
DIST openrct2-replays-0.0.77.zip 2042154 BLAKE2B 38bce55f91f49a485d158a94b4ce553ffa606f652cd766b33acf299b86304ea0507b50441b2a9b1fb219b90a0dc2426eff5988c2b128a97e399b00c3392f10e0 SHA512 52e4a237b1e0be89422060e5c8f8d5a783ed81f1ccf6b205f0e73f8faf6eb9408dbddab31a411f6ad7554815e89b8c63329052aeafeb739bad06c9ac1b7d6a32
+DIST openrct2-replays-0.0.78.zip 1829988 BLAKE2B cf11a05f6ba5a2808cd4c016ac3c7537a0b49b67fd5ef5ab705aebd4ddc64dd4a82ea12d9c082fe66cebb57437c0d81052bcddfb94a0c9f7aab024a82c2e2ca8 SHA512 c6ff18c2206192ed4fb56535732137229f9bced96da00037d691bc64dcdb102cffe37f180054319e7c8ef8dbbd7de49792c3a7e845199fa180612ed97a149b32
DIST openrct2-title-sequences-0.4.0.zip 7945853 BLAKE2B 51f07af30c3702754d806829fe612891a883adc70b8e89f64094b28c94879e5c98feca69f3c1f389ceeb33a99175b41afa794a4f2d121280dcce97c428d2ea99 SHA512 fcfabb02fb7cb9dda7f73f8a24fb426e23b1ea4c417deacd7147e4d2e8942223e0cf9d9cc6ae371f7508e8d3b1f3161e05677a301a330ae265b6610e1c5da487
diff --git a/games-simulation/openrct2/openrct2-0.4.5.ebuild b/games-simulation/openrct2/openrct2-0.4.5.ebuild
new file mode 100644
index 000000000000..b809e9fac4a2
--- /dev/null
+++ b/games-simulation/openrct2/openrct2-0.4.5.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake 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.3.11"
+MY_PV_RPL="0.0.78"
+MY_PV_TS="0.4.0"
+
+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 )
+"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+IUSE="dedicated +flac +opengl scripting test +truetype +vorbis"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ dev-libs/icu:=
+ dev-libs/jansson:=
+ dev-libs/libzip:=
+ media-libs/libpng:=
+ net-misc/curl[ssl]
+ sys-libs/zlib
+ !dedicated? (
+ media-libs/libsdl2
+ media-libs/speexdsp
+ flac? ( media-libs/flac:= )
+ opengl? ( virtual/opengl )
+ vorbis? ( media-libs/libvorbis )
+ )
+ dev-libs/openssl:0=
+ scripting? ( dev-lang/duktape:= )
+ truetype? (
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ dedicated? (
+ acct-group/openrct2
+ acct-user/openrct2
+ )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-cpp/nlohmann_json
+ test? ( dev-cpp/gtest )
+"
+
+BDEPEND="
+ app-arch/unzip
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.4.0-include-additional-paths.patch"
+ "${FILESDIR}/${PN}-0.4.1-gtest-1.10.patch"
+ "${FILESDIR}/${PN}-0.4.4-dont-force-downloads.patch"
+)
+
+src_unpack() {
+ unpack "${P}".tar.gz
+
+ mkdir -p "${S}"/data/sequence || die
+ cd "${S}"/data/sequence || 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_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
+ $(usex !dedicated "-DDISABLE_FLAC=$(usex !flac)" "")
+ -DDISABLE_GOOGLE_BENCHMARK=ON
+ -DDISABLE_GUI=$(usex dedicated)
+ -DDISABLE_HTTP=OFF
+ -DDISABLE_IPO=ON
+ -DDISABLE_NETWORK=OFF
+ $(usex !dedicated "-DDISABLE_OPENGL=$(usex !opengl)" "")
+ -DDISABLE_TTF=$(usex !truetype)
+ $(usex !dedicated "-DDISABLE_VORBIS=$(usex !vorbis)" "")
+ -DDOWNLOAD_OBJECTS=OFF
+ -DDOWNLOAD_OPENMSX=OFF
+ -DDOWNLOAD_OPENSFX=OFF
+ -DDOWNLOAD_REPLAYS=OFF
+ -DDOWNLOAD_TITLE_SEQUENCES=OFF
+ -DENABLE_SCRIPTING=$(usex scripting)
+ -DOPENRCT2_USE_CCACHE=OFF
+ -DPORTABLE=OFF
+ -DSTATIC=OFF
+ -DWITH_TESTS=$(usex test)
+ -DUSE_MMAP=ON
+ )
+
+ cmake_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_src_test
+}
+
+src_install() {
+ use scripting && DOCS+=( "distribution/scripting.md" "distribution/openrct2.d.ts" )
+
+ cmake_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
+}