games-arcade/jazz2: New package
authorJames Le Cuirot <chewi@gentoo.org>
Tue, 24 Mar 2020 21:56:32 +0000 (21:56 +0000)
committerJames Le Cuirot <chewi@gentoo.org>
Fri, 27 Mar 2020 09:12:17 +0000 (09:12 +0000)
I still need to package OpenTK but even building this from source
feels like an achievement.

Package-Manager: Portage-2.3.96, Repoman-2.3.20
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
games-arcade/jazz2/Manifest [new file with mode: 0644]
games-arcade/jazz2/jazz2-0.6.3_p20200327.ebuild [new file with mode: 0644]
games-arcade/jazz2/metadata.xml [new file with mode: 0644]

diff --git a/games-arcade/jazz2/Manifest b/games-arcade/jazz2/Manifest
new file mode 100644 (file)
index 0000000..1cb4529
--- /dev/null
@@ -0,0 +1 @@
+DIST jazz2-0.6.3_p20200327.tar.gz 11030066 BLAKE2B 64340e6aeca9635c2d30f7814c87eb6d48d1e8674554342a1563371e305dc0f9d85929d51c0e26d6a0e30899e0d4b916ad9daa4fde51b4e98e07693f0e5c08cf SHA512 ebb406a2e57f6bf50b23a068f3b640e03c5ccce0e36de686debaacec25d67075cacb60888a7de451028cf4622932e4d282d47d674e5de9230bd4a21c83393896
diff --git a/games-arcade/jazz2/jazz2-0.6.3_p20200327.ebuild b/games-arcade/jazz2/jazz2-0.6.3_p20200327.ebuild
new file mode 100644 (file)
index 0000000..8d3263f
--- /dev/null
@@ -0,0 +1,85 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop dotnet eutils
+
+COMMIT="5174d3bc2e94676c4ab730aad6c68bf17b5406dd"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+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"
+SRC_URI="https://github.com/deathkiller/${PN}/archive/${COMMIT}.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
+}
diff --git a/games-arcade/jazz2/metadata.xml b/games-arcade/jazz2/metadata.xml
new file mode 100644 (file)
index 0000000..3a5cc6d
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="project">
+               <email>games@gentoo.org</email>
+               <name>Gentoo Games Project</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">deathkiller/jazz2</remote-id>
+       </upstream>
+       <use>
+               <flag name="gles2-only">Use GLES 2.0 or later instead of full OpenGL 2.1</flag>
+               <flag name="server">Build the multiplayer game server</flag>
+       </use>
+</pkgmetadata>