game-engines/dragengine added (#5232)

This commit is contained in:
Plüss Roland
2020-08-14 18:22:46 +02:00
committed by GitHub
parent 2f912d303d
commit a710c2644f
2 changed files with 203 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
# configuration for haiku package building
############################################
# general configuration
#########################
with_tests = 'no'
with_warnerrors = 'no'
with_debug = 'no'
with_verbose = 'no'
# external library configuration
##################################
# use as many system libraries as possible
with_system_zlib = 'yes'
with_system_libpng = 'yes'
with_system_libjpeg = 'yes'
with_system_openal = 'yes'
with_system_libogg = 'yes'
with_system_libvorbis = 'yes'
with_system_libtheora = 'yes'
with_system_soundtouch = 'yes'
with_opengl = 'yes'
with_dl = 'no'
with_pthread = 'yes'
with_x = 'no'
# these are not used since python and npapisdk are disabled. set to in-tree
# to not upset the build system although they will never be build at all
with_python = 'no'
with_npapisdk = 'no'
# libapng requires a patched libpng not present on most systems
with_system_libapng ='no' # patched version
# these packages cause troubles on haiku and are build in-tree
with_system_libhidapi = 'no' # requires libhidapi-usb which is missing
# these packages do not exist on haiku so we need to build them in-tree
with_system_fox ='no'
with_system_libopenhmd = 'no'
with_system_libevdev = 'no'
with_system_dragonscript = 'no'
# libusb is required by libhidapi
with_system_libusb = 'yes'
# these are only required for the smalltalk module which is currently not build.
# to not upset the build system with not finding packages they are set to in-tree
# building although they will never be build at all
with_system_libffi = 'no'
with_system_libltdl = 'no'
with_system_libsigsegv = 'no'
with_system_smalltalk = 'no'
# this package is not used right now but might be later on by the openal module.
# as with the smalltalk case above this package is set to in-tree building
# although it will never be build at all
with_system_fftw = 'no'
# module configurations
#########################
build_audio_openal = 'yes'
build_cr_basic = 'no' # requires fox
build_graphics_opengl = 'yes'
build_image_png = 'yes'
build_image_png3d = 'yes'
build_image_jpeg = 'yes'
build_input_beos = 'yes'
build_physics_bullet = 'yes'
build_script_ds = 'yes'
build_sound_ogg = 'yes'
build_video_theora = 'yes'
build_video_apng = 'yes'
build_igde = 'no'
build_guilauncher = 'no'
build_archive_delga = 'yes'
build_input_w32 = 'no'
build_input_x = 'no'
build_input_macos = 'no'
build_input_android = 'no'
build_script_python = 'no'
build_script_smalltalk = 'no'
build_plugin_npapi = 'no'
build_launcher_android = 'no'
# archiving
#############
# for testing purpose only
archive_format = 'tarbz2'
archive_name_engine = 'dragengine-haiku'
archive_name_engine_dev = 'dragengine-dev-haiku'
archive_name_igde = 'igde-haiku'
archive_name_igde_dev = 'igde-dev-haiku'
archive_name_special = 'despecial-haiku'
installer_name_engine = 'install-dragengine-haiku'
installer_name_engine_dev = 'install-dragengine-dev-haiku'
installer_name_igde = 'install-deigde-haiku'
installer_name_igde_dev = 'install-deigde-dev-haiku'

View File

@@ -0,0 +1,104 @@
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-2020 Dragon Dreams"
LICENSE="GNU GPL v3
GNU LGPL v3"
REVISION="1"
srcGitRev="1.2-1-haiku"
SOURCE_URI="https://github.com/LordOfDragons/dragengine/archive/v$srcGitRev.tar.gz"
CHECKSUM_SHA256="fade8d3fac5ab098f72f686ea59c81e01a33bbc08070fc957eaa3a459f9d7963"
SOURCE_FILENAME="dragengine-$srcGitRev.tar.gz"
SOURCE_DIR="dragengine-$srcGitRev"
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 >= 1.2
cmd:delauncher_console$secondaryArchSuffix = $portVersion
"
PROVIDES_devel="
dragengine${secondaryArchSuffix}_devel = $portVersion
devel:libdragengine$secondaryArchSuffix = $portVersion compat >= 1.2
"
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
"
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
"
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. force single thread. happens only on haiku
scons -j 1 build
}
INSTALL()
{
scons --config=cache -j 1 install_engine_runtime dragengine_develop
# scons --config=cache -j 1 install_igde_runtime deigde_shared_develop
prepareInstalledDevelLib libdragengine
packageEntries devel $developDir
}