SUMMARY="Drag[en]gine Game Engine"
DESCRIPTION="Provides the game engine and launchers required to run games and other \
projects based on the Drag[en]gine Game Engine. Games do not compile directly against \
the game engine. Instead there is one shared installation on the system relying on \
launchers to handle all the initialization and maintenance work.

This package provides one launcher.

'delauncher-console' is a console based launcher. It is the most basic launcher just \
able to run the game without providing any additional tools. It can be used to run \
games without overhead or in headless mode for server operation."
HOMEPAGE="https://dragondreams.ch
	https://github.com/LordOfDragons/dragengine"
COPYRIGHT="2020-2021 DragonDreams"
LICENSE="GNU GPL v3
	GNU LGPL v3"
REVISION="1"
SOURCE_URI="https://github.com/LordOfDragons/dragengine/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="d008a833dc68e1e291df3f2edf737a3bc711065225964d32dd65a092a6f54f58"
SOURCE_FILENAME="dragengine-$portVersion.tar.gz"
SOURCE_DIR="dragengine-$portVersion"
ADDITIONAL_FILES="custom.py"

ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
SECONDARY_ARCHITECTURES="x86"

# sources contain various external library distributions for in-tree building.
# this creates vary large sources package. since the URL to the GitHub repository
# is included in the recipe there is no need for such a large source package.
DISABLE_SOURCE_PACKAGE="yes"

PROVIDES="
	dragengine$secondaryArchSuffix = $portVersion
	lib:libdragengine$secondaryArchSuffix = $portVersion compat >= $portVersion
	lib:libdelauncher$secondaryArchSuffix = $portVersion compat >= $portVersion
	cmd:delauncher_console$secondaryArchSuffix = $portVersion
	"
PROVIDES_devel="
	dragengine${secondaryArchSuffix}_devel = $portVersion
	devel:libdragengine$secondaryArchSuffix = $portVersion compat >= $portVersion
	devel:libdelauncher$secondaryArchSuffix = $portVersion compat >= $portVersion
	"
REQUIRES="
	haiku$secondaryArchSuffix
	lib:libjpeg$secondaryArchSuffix
	lib:libpng16$secondaryArchSuffix
	lib:libopenal$secondaryArchSuffix
	lib:libogg$secondaryArchSuffix
	lib:libvorbis$secondaryArchSuffix
	lib:libtheora$secondaryArchSuffix
	lib:libz$secondaryArchSuffix
	lib:libgl$secondaryArchSuffix
	lib:libusb_1.0$secondaryArchSuffix
	lib:libsoundtouch$secondaryArchSuffix
	lib:libwebp$secondaryArchSuffix
	"
REQUIRES_devel="
	dragengine$secondaryArchSuffix == $portVersion base
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	devel:libgl$secondaryArchSuffix
	devel:libjpeg$secondaryArchSuffix
	devel:libpng16$secondaryArchSuffix
	devel:libopenal$secondaryArchSuffix
	devel:libogg$secondaryArchSuffix
	devel:libvorbis$secondaryArchSuffix
	devel:libtheora$secondaryArchSuffix
	devel:libz$secondaryArchSuffix
	devel:libusb_1.0$secondaryArchSuffix
	devel:libsoundtouch$secondaryArchSuffix
	devel:libwebp$secondaryArchSuffix
	"
BUILD_PREREQUIRES="
	cmd:gcc$secondaryArchSuffix
	cmd:scons
	cmd:patch
	cmd:gawk
	cmd:make
	"

BUILD()
{
	cp -f $portDir/additional-files/custom.py custom.py
	echo "" >>custom.py
	echo "# package builder injected path" >>custom.py
	echo "prefix = '$prefix'" >>custom.py
	echo "libdir = '$libDir'" >>custom.py
	echo "includedir = '$includeDir'" >>custom.py
	echo "datadir = '$dataDir'" >>custom.py
	echo "sysconfdir = '$settingsDir'" >>custom.py
	echo "execdir = '$binDir'" >>custom.py
	echo "docdir = '$manDir'" >>custom.py

	# scons $jobArgs build
	# scons crashes with multi-thread in some situations. this is a python problem especially with version 3 onwards
	scons -j 1 build
}

INSTALL()
{
	scons --config=cache -j 1 install_engine_runtime dragengine_develop
	scons --config=cache -j 1 delauncher_runtime delauncher_develop
	# scons --config=cache -j 1 install_igde_runtime deigde_shared_develop
	prepareInstalledDevelLib libdragengine
	prepareInstalledDevelLib libdelauncher
	packageEntries devel $developDir
}
