# 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 }