summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-simulation')
-rw-r--r--games-simulation/openrct2/Manifest1
-rw-r--r--games-simulation/openrct2/openrct2-0.4.3.ebuild169
2 files changed, 170 insertions, 0 deletions
diff --git a/games-simulation/openrct2/Manifest b/games-simulation/openrct2/Manifest
index af52cbf3021d..fb35a106804f 100644
--- a/games-simulation/openrct2/Manifest
+++ b/games-simulation/openrct2/Manifest
@@ -1,4 +1,5 @@
DIST openrct2-0.4.2.tar.gz 16476190 BLAKE2B b1626c8cf8ec4100adb11e346515b68e6d7f5104bb95f756a04f170f0258b84a8ae84235c0defec5d994d1eb6c377feeadde1380d892a714f94469bd0cc5d689 SHA512 b047c4cfa4eb5e6257a9836bc85a1aab66504591c7a8f698b893290132d43d7e187a077d29b9f6fb712bfc62b9fcd063a70e7b5d36e2fc7dd61f3af0aff0163f
+DIST openrct2-0.4.3.tar.gz 16507904 BLAKE2B 37af2ff01f3ad143ab42dc37c95391480272637e163a8721878ac54b001ac49557d4100eaaafb21961ae6abab30b0f60c150bfba88205d2a77e4229e96e35424 SHA512 2c194e3d63340c61fd8caaf975e3b99a3a9f10aeb5f9ff0ca4f5556f07b2d4765583b0c63d1c77117cc003fcfb8403e8ee025758ff39027e9bd0992931eaa46c
DIST openrct2-objects-1.3.5.zip 4431827 BLAKE2B 238e1f97aae2b4958001b368b0cb7b86ed4a6999f9e45144a2d0e78d890df6f3d0edf49fe7a4e51766dc7ff1c26a6c814c6c5ad5836c46ced35efe34f8cab682 SHA512 7200a04b5f6e0f689859207554afc91fd53d9a3899eb88bc650c6883b18ffa7e6d1420a1efea0ab2e2926e10afeb352484ad04df425531ad3efc00dc6cb2acb1
DIST openrct2-objects-1.3.7.zip 4563769 BLAKE2B 5e8d88899d997b550df7b34ef6b2788e216861817b49f7c937127f97ec9ea8e02866e768f00e507ccf6310f7cbdce170decf021e1fddae88f219f370aee80f0c SHA512 b335cdb26a9fb20e25100c24409d3bf6c9e9de1bded79534bf8e62c198954ed6732a7524e261502e3e81941c8ba7b1e7cf9541ab121f448d5a8487bb28eb1b38
DIST openrct2-replays-0.0.69.zip 1479527 BLAKE2B 002735bcac99bd76988977869a82a8652c308fed932e4301bac7f76727dfe568f249367923a31f55eb17b807f2f5ce93a07b45941d5ceaca8b9761ad7bff4d1f SHA512 fd39ad2e4f3bdda9967e76f6e9b9c6845119814a2f00b770592500bce2787218002320b0df28d255cdeb4f707a82bb40dee27b7c01aef6dc5cb0dd6010332195
diff --git a/games-simulation/openrct2/openrct2-0.4.3.ebuild b/games-simulation/openrct2/openrct2-0.4.3.ebuild
new file mode 100644
index 000000000000..569b3eba4fe7
--- /dev/null
+++ b/games-simulation/openrct2/openrct2-0.4.3.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2022 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.7"
+MY_PV_RPL="0.0.70"
+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"
+)
+
+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
+}