Files
haikuports/games-engines/dragengine/dragengine-1.30.1.recipe
2026-03-05 09:36:08 +01:00

136 lines
4.6 KiB
Bash

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 two launchers.
'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.
'delauncher-gui' is a graphical launcher. It allows to examine known games, examine game \
engine modules and manage game profiles allowing to customize launching games. Furthermore \
'.delga' and '.degame' files are linked to the GUI launcher. You can simply double click \
a '.delga' file to run it.
'delauncher-gui' is the recommended launcher to use."
HOMEPAGE="https://dragondreams.ch
https://github.com/LordOfDragons/dragengine"
COPYRIGHT="2020-2024 DragonDreams"
LICENSE="GNU GPL v3
GNU LGPL v3"
REVISION="2"
SOURCE_URI="https://github.com/LordOfDragons/dragengine/archive/v$portVersion-haiku1.tar.gz"
CHECKSUM_SHA256="df7d5124ed69955dc8e563786a9c4b40c8c77610f5bc9cef4ac877cb95d40d5e"
SOURCE_FILENAME="dragengine-$portVersion-haiku1.tar.gz"
SOURCE_DIR="dragengine-$portVersion-haiku1"
ADDITIONAL_FILES="custom.py"
ARCHITECTURES="all !x86_gcc2"
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
cmd:delauncher_gui$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libgl$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libogg$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libsoundtouch$secondaryArchSuffix
lib:libtheora$secondaryArchSuffix
lib:libusb_1.0$secondaryArchSuffix
lib:libvorbis$secondaryArchSuffix
lib:libvpx$secondaryArchSuffix
lib:libwebm$secondaryArchSuffix
lib:libwebp$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
dragengine${secondaryArchSuffix}_devel = $portVersion
devel:libdragengine$secondaryArchSuffix = $portVersion compat >= $portVersion
devel:libdelauncher$secondaryArchSuffix = $portVersion compat >= $portVersion
"
REQUIRES_devel="
dragengine$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libfreetype$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libogg$secondaryArchSuffix
devel:libopenal$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libsoundtouch$secondaryArchSuffix
devel:libtheora$secondaryArchSuffix
devel:libusb_1.0$secondaryArchSuffix
devel:libvorbis$secondaryArchSuffix
devel:libvpx$secondaryArchSuffix
devel:libwebm$secondaryArchSuffix
devel:libwebp$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:diff
cmd:gawk
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:nasm
cmd:patch
cmd:pkg_config$secondaryArchSuffix
cmd:python3.10
cmd:scons
"
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 launcher_console launcher_beosgui
# scons --config=cache -j 1 install_igde_runtime deigde_shared_develop
prepareInstalledDevelLibs \
libdragengine
libdelauncher
packageEntries devel $developDir
mimeset -f $binDir/delauncher-gui
}