SUMMARY="A source port of the classic PC first person shooter Duke Nukem 3D"
DESCRIPTION="* EDuke32 runs natively without relying on emulation of any kind
* EDuke32 runs at crazy resolutions like 2560 × 1440.
* EDuke32 allows you to choose between two different hardware accelerated \
OpenGL renderers, or the classic, warped software mode you grew up with
* EDuke32 fixes an insane amount of programming errors which were harmless \
in the days of DOS but are fatal with modern protected memory models; \
translation: EDuke32 crashes less
* EDuke32 has been the only actively developed and maintained Duke3D port \
for years
* EDuke32 features Plagman's incredible \"Polymer\" renderer as a replacement \
for Ken Silverman's \"Polymost\" renderer
* EDuke32 has a huge number of new extensions to the game's scripting system, \
allowing gameplay mods that rival even modern games.
* EDuke32 runs the HRP with support for all features, most of which require \
EDuke32; no other port can run the HRP with all features enabled
* EDuke32 adds a full-featured console, including Quake-style key bindings, \
command aliases, advanced tab completion, comprehensive command history, \
colored text and more
* EDuke32 has hundreds of code rewrites, optimizations and fixes for rare or \
annoying bugs in the original code
* EDuke32 adds tons of optional new features that make the player's life \
easier including modern status display/HUD, support for loading mods from the \
startup window, and modern, WSAD-based controls with thoroughly reworked mouse \
aiming
* EDuke32 supports Ogg Vorbis sound and music
* EDuke32 is developed by people who have been in the Duke3D scene since the \
beginning
* EDuke32 lets you play that game called 'NAM' you saw at the dollar store 10 \
years ago
* EDuke32 makes sandwiches!"
HOMEPAGE="http://www.eduke32.com/"
COPYRIGHT="1993-1997 Ken Silverman
	2006-2020 eduke32 Team"
LICENSE="GNU GPL v2
	Build_Engine"
REVISION="1"
versionTag="9257-93f62bbad"
SOURCE_URI="
http://dukeworld.com/eduke32/synthesis/$portVersion-$versionTag/eduke32_src_$portVersion-$versionTag.tar.xz"
CHECKSUM_SHA256="972630059be61ef9564a241b84ef2ee4f69fc85c19ee36ce46052ff2f1ce3bf9"
SOURCE_DIR="eduke32_$portVersion-$versionTag"
PATCHES="eduke32-$portVersion.patchset"

ARCHITECTURES="all ?x86_gcc2 ?x86"
SECONDARY_ARCHITECTURES="x86"

PROVIDES="
	eduke32$secondaryArchSuffix = $portVersion
	cmd:eduke32$secondaryArchSuffix = $portVersion
	cmd:mapster32$secondaryArchSuffix = $portVersion
	"
REQUIRES="
	haiku$secondaryArchSuffix
	lib:libexecinfo$secondaryArchSuffix
	lib:libFLAC$secondaryArchSuffix
	lib:libGL$secondaryArchSuffix
	lib:libGLU$secondaryArchSuffix
	lib:libogg$secondaryArchSuffix
	lib:libpng16$secondaryArchSuffix
	lib:libSDL2_2.0$secondaryArchSuffix
	lib:libSDL2_mixer_2.0$secondaryArchSuffix
	lib:libvorbis$secondaryArchSuffix
	lib:libvorbisfile$secondaryArchSuffix
	lib:libvpx$secondaryArchSuffix
	lib:libz$secondaryArchSuffix
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	devel:libexecinfo$secondaryArchSuffix
	devel:libFLAC$secondaryArchSuffix
	devel:libGL$secondaryArchSuffix
	devel:libGLU$secondaryArchSuffix
	devel:libogg$secondaryArchSuffix
	devel:libpng16$secondaryArchSuffix
	devel:libSDL2_2.0$secondaryArchSuffix
	devel:libSDL2_mixer_2.0$secondaryArchSuffix
	devel:libvorbis$secondaryArchSuffix
	devel:libvorbisfile$secondaryArchSuffix
	devel:libvpx$secondaryArchSuffix
	devel:libz$secondaryArchSuffix
	"
BUILD_PREREQUIRES="
	cmd:awk
	cmd:gcc$secondaryArchSuffix
	cmd:install
	cmd:ld$secondaryArchSuffix
	cmd:make
	cmd:nasm
	cmd:pkg_config$secondaryArchSuffix
	"

defineDebugInfoPackage eduke32$secondaryArchSuffix \
	$binDir/eduke32 \
	$binDir/mapster32

BUILD()
{
	make $jobArgs \
		RELEASE=1 HAVE_XMP=0
}

INSTALL()
{
	mkdir -p $binDir
	cp eduke32 mapster32 $binDir
	strip $binDir/*
}
