# Template file for 'godot'
pkgname=godot
version=3.4
revision=1
archs="x86_64* i686* aarch64* armv7* ppc64*"
wrksrc="${pkgname}-${version}-stable"
build_style=scons
# Godot contains private copies of libraries
# that already have been packaged elsewhere.
# Use builtin bullet for now as it's too old in repos (needs 2.89)
# Toggle to not use builtin once bullet has been updated
make_build_args="platform=x11 tools=yes target=release_debug dev=no progress=no
 pulseaudio=no builtin_bullet=false builtin_libpng=false builtin_libvpx=false
 builtin_libwebp=false builtin_libogg=false builtin_libtheora=false
 builtin_opus=false builtin_libvorbis=false builtin_enet=false
 builtin_zlib=false builtin_freetype=false builtin_mbedtls=false
 builtin_miniupnpc=false builtin_pcre2=false"
hostmakedepends="pkg-config clang"
makedepends="
 alsa-lib-devel freetype-devel glu-devel libXcursor-devel libXi-devel
 libXinerama-devel libXrender-devel libXrandr-devel libX11-devel
 bullet-devel libpng-devel libvpx-devel libwebp-devel libogg-devel libtheora-devel
 opus-devel opusfile-devel libvorbis-devel libenet-devel zlib-devel mbedtls-devel
 miniupnpc-devel pcre2-devel"
short_desc="Multiplatform 2D and 3D engine"
maintainer="Nick Hahn <nick.hahn@hotmail.de>"
license="MIT"
homepage="https://www.godotengine.org/"
distfiles="https://github.com/godotengine/${pkgname}/archive/${version}-stable.tar.gz"
checksum=61749d12cb094c0be2a2c451ae2aceb8bb45f59f67fcd13fcd8f0c9114262d88
nocross=https://build.voidlinux.org/builders/armv7l_builder/builds/6342/steps/shell_3/logs/stdio

CFLAGS+=" -fPIE -fPIC"
LDFLAGS+=" -pie"

post_extract() {
	vsed -e 's/#ifdef CRASH_HANDLER_ENABLED/#if defined(CRASH_HANDLER_ENABLED) \&\& defined(__GLIBC__)/' \
		-i platform/x11/crash_handler_x11.cpp
}

pre_build() {
	export CXXFLAGS=" $CXXFLAGS "
}

do_install() {
	vlicense LICENSE.txt
	vinstall ${FILESDIR}/godot.desktop 644 /usr/share/applications/
	vinstall ${wrksrc}/icon.png 644 /usr/share/pixmaps/ godot.png

	case "$XBPS_TARGET_MACHINE" in
		x86_64*|aarch64*) vbin bin/godot.x11.opt.tools.64 godot;;
		ppc64le*) vbin bin/godot.x11.opt.tools.ppc64le godot;;
		ppc64*) vbin bin/godot.x11.opt.tools.ppc64 godot;;
		*) vbin bin/godot.x11.opt.tools.32 godot;;
	esac
}
