# Template file for 'godot'
pkgname=godot
version=4.3
revision=7
archs="x86_64* i686* aarch64* armv7* ppc64*"
build_style=scons
make_build_args="platform=linuxbsd target=editor progress=no production=yes
 lto=auto builtin_brotli=false builtin_enet=false builtin_glslang=false
 builtin_freetype=false builtin_graphite=false builtin_harfbuzz=false
 builtin_icu4c=false builtin_libogg=false builtin_libpng=false
 builtin_libtheora=false builtin_libvorbis=false builtin_libwebp=false
 builtin_mbedtls=false builtin_miniupnpc=false builtin_pcre2=false
 builtin_zlib=false builtin_zstd=false engine_update_check=false
 x11=yes wayland=yes"
hostmakedepends="pkg-config clang wayland-devel"
makedepends="alsa-lib-devel freetype-devel mesa glu-devel libXcursor-devel
 libXi-devel libXinerama-devel libXrender-devel libXrandr-devel libX11-devel
 libpng-devel libwebp-devel libogg-devel libtheora-devel libvorbis-devel
 libenet-devel zlib-devel mbedtls2-devel miniupnpc-devel pcre2-devel
 pulseaudio-devel graphite-devel harfbuzz-devel libzstd-devel glslang-devel
 speech-dispatcher-devel brotli-devel icu-devel wayland-devel"
depends="speech-dispatcher"
short_desc="Multiplatform 2D and 3D engine"
maintainer="dataCobra <datacobra@thinkbot.de>"
license="MIT"
homepage="https://www.godotengine.org/"
distfiles="https://github.com/godotengine/godot/archive/${version}-stable.tar.gz"
checksum=6a441d02957432d76343052296dc514b1b6bd72af920c9f2518b1ec3cb534874
nocross=https://build.voidlinux.org/builders/armv7l_builder/builds/6342/steps/shell_3/logs/stdio

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

if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
	makedepends+=" libexecinfo-devel"
	depends+=" libexecinfo"
fi

case "$XBPS_TARGET_MACHINE" in
	i686*) arch="x86_32" ;;
	x86_64*) arch="x86_64" ;;
	aarch64*) arch="arm64" ;;
	armv7*) arch="arm32" ;;
	ppc64*) arch="ppc64" ;;
esac

case "$XBPS_TARGET_MACHINE" in
	x86_64*|aarch64*)
		make_build_args+=" builtin_embree=false"
		makedepends+=" embree-devel"
		;;
	*)
		make_build_args+=" builtin_embree=true"
		;;
esac

make_build_args+=" arch=$arch"

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

post_patch() {
	vsed -i misc/dist/linux/org.godotengine.Godot.xml -e 's/name="x/name="application-x/g'
}

do_install() {
	vlicense LICENSE.txt

	vinstall misc/dist/linux/org.godotengine.Godot.desktop 644 /usr/share/applications/
	vinstall icon.png 644 /usr/share/pixmaps/ godot.png

	case "$XBPS_TARGET_MACHINE" in
		x86_64*) vbin bin/godot.linuxbsd.editor.x86_64 godot;;
		i686*) vbin bin/godot.linuxbsd.editor.x86_32 godot;;
		aarch64*) vbin bin/godot.linuxbsd.editor.arm64 godot;;
		armv7*) vbin bin/godot.linuxbsd.editor.arm32 godot;;
		ppc64*) vbin bin/godot.linuxbsd.editor.ppc64 godot;;
	esac

	vinstall misc/dist/linux/org.godotengine.Godot.xml 644 /usr/share/mime/packages/
	vman misc/dist/linux/godot.6
}
