summaryrefslogtreecommitdiff
path: root/games-arcade/jazz2/jazz2-0.6.7.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'games-arcade/jazz2/jazz2-0.6.7.ebuild')
-rw-r--r--games-arcade/jazz2/jazz2-0.6.7.ebuild81
1 files changed, 81 insertions, 0 deletions
diff --git a/games-arcade/jazz2/jazz2-0.6.7.ebuild b/games-arcade/jazz2/jazz2-0.6.7.ebuild
new file mode 100644
index 000000000000..3bf8b603eeeb
--- /dev/null
+++ b/games-arcade/jazz2/jazz2-0.6.7.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop dotnet wrapper
+
+DESCRIPTION="Open source reimplementation of Jazz Jackrabbit 2"
+HOMEPAGE="http://deat.tk/jazz2/"
+SRC_URI="https://github.com/deathkiller/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="gles2-only server"
+
+RDEPEND="
+ dev-lang/mono
+ media-libs/libopenmpt
+ media-libs/libsdl2[video]
+ media-libs/openal
+ gles2-only? ( media-libs/mesa[gles2] )
+ !gles2-only? ( virtual/opengl )
+"
+
+FRAMEWORK="4.5.2"
+DIR="/usr/share/${PN}"
+
+src_prepare() {
+ default
+
+ # Android/WASM only.
+ rm -r Content/Shaders.ES30/ || die
+
+ if use gles2-only; then
+ rm -r Content/Shaders/ || die
+ mv Content/_ES20/* Content/ || die
+ else
+ rm -r Content/_ES20/ || die
+ fi
+}
+
+src_compile() {
+ local TARGET
+
+ MAIN_TARGETS="Jazz2 $(usex server Jazz2.Server '') Tools/Import"
+ EXT_TARGETS="OpenTKBackend $(usex gles2-only Es20Backend GL21Backend)"
+
+ for TARGET in ${MAIN_TARGETS}; do
+ cd "${S}/${TARGET}" || die
+ exbuild "${TARGET##*/}.csproj"
+ done
+
+ for TARGET in ${EXT_TARGETS}; do
+ cd "${S}/Extensions/${TARGET}" || die
+ exbuild "${TARGET##*/}.csproj"
+ done
+}
+
+src_install() {
+ local TARGET
+
+ insinto "${DIR}"
+ # TODO: Package OpenTK.
+ doins -r Content/ Packages/AdamsLair.OpenTK.*/lib/net*/*
+
+ for TARGET in ${MAIN_TARGETS}; do
+ doins "${TARGET}/Bin/Release/${TARGET##*/}.exe"
+ done
+
+ insinto "${DIR}"/Extensions
+ for TARGET in ${EXT_TARGETS}; do
+ doins "Extensions/${TARGET}/Jazz2/Bin/Release/Extensions/${TARGET}.core.dll"
+ done
+
+ make_wrapper ${PN} "mono '${EPREFIX}${DIR}/Jazz2.exe'"
+ make_wrapper ${PN}-import "mono '${EPREFIX}${DIR}/Import.exe'"
+ use server && make_wrapper ${PN}-server "mono '${EPREFIX}${DIR}/Jazz2.Server.exe'"
+
+ newicon Jazz2/Icon.ico ${PN}.ico
+ make_desktop_entry ${PN} "Jazz² Resurrection" ${PN}.ico
+}