Subject: [PATCH] testing/godot: upgrade to 3.5

From: gay <[email-masked]>
Date: Tue, 9 Aug 2022 10:45:30 +0200

* introduce export templates;
* disable pulseaudio, prefer alsa instead;
* don't use builtin embree;
* introduce headless tools;
* unblock other arches;
* don't use builtin certificates;
* package PNG icon too, useful where SVG icons are not supported.
---
 testing/godot/APKBUILD | 88 +++++++++++++++++++++++++++---------------
 1 file changed, 57 insertions(+), 31 deletions(-)

diff --git a/testing/godot/APKBUILD b/testing/godot/APKBUILD
index fadd481d38..80cf2f554c 100644
--- a/testing/godot/APKBUILD
+++ b/testing/godot/APKBUILD
@@ -1,15 +1,16 @@
 # Contributor: Díaz Urbaneja Diego <[email-masked]>
 # Maintainer: Díaz Urbaneja Diego <[email-masked]>
 pkgname=godot
-pkgver=3.4.4
-pkgrel=1
+pkgver=3.5
+pkgrel=0
 pkgdesc="Multi-platform 2D and 3D game engine"
 url="https://godotengine.org"
 license="MIT"
-arch="armv7 x86_64" # Other architectures untested
+arch="all" # Only armv7 and x86_64 are tested, give other architectures a try
 makedepends="
 	alsa-lib-dev
 	bullet-dev
+	embree-dev
 	enet-dev
 	freetype-dev
 	libgudev-dev
@@ -29,56 +30,81 @@ makedepends="
 	miniupnpc-dev
 	opusfile-dev
 	pcre2-dev
-	pulseaudio-dev
 	python3-dev
 	scons
 	wslay-dev
 	zlib-dev
 	zstd-dev
 	"
+depends="ca-certificates-bundle"
 subpackages="$pkgname-doc"
 source="https://github.com/godotengine/godot/archive/$pkgver-stable/godot-$pkgver-stable.tar.gz
 	no-execinfo.patch
 	"
 options="!check" # No tests
 builddir="$srcdir"/godot-"$pkgver"-stable
+sconsflags="builtin_bullet=false \
+	builtin_certs=false \
+	builtin_embree=false \
+	builtin_enet=false \
+	builtin_freetype=false \
+	builtin_libogg=false \
+	builtin_libpng=false \
+	builtin_libtheora=false \
+	builtin_libvorbis=false \
+	builtin_libvpx=false \
+	builtin_libwebp=false \
+	builtin_mbedtls=false \
+	builtin_miniupnpc=false \
+	builtin_opus=false \
+	builtin_pcre2=false \
+	builtin_wslay=false \
+	builtin_zlib=false \
+	builtin_zstd=false \
+	pulseaudio=no \
+	system_certs_path=/etc/ssl/cert.pem
+	"
 
 build() {
-	scons -j${JOBS:-1} \
-		platform=linuxbsd \
-		target=release_debug \
-		bits=default \
-		platform=x11 \
-		builtin_bullet=false \
-		builtin_enet=false \
-		builtin_freetype=false \
-		builtin_libogg=false \
-		builtin_libpng=false \
-		builtin_libtheora=false \
-		builtin_libvorbis=false \
-		builtin_libvpx=false \
-		builtin_libwebp=false \
-		builtin_wslay=false \
-		builtin_mbedtls=false \
-		builtin_miniupnpc=false \
-		builtin_opus=false \
-		builtin_pcre2=false \
-		builtin_zlib=false \
-		builtin_zstd=false
+	for platform in x11 server
+	do
+		for target in release release_debug
+		do
+			for tools in yes no
+			do
+				if [ "x$tools" = "xyes" ] && [ "x$target" = "xrelease" ]
+				then
+					continue
+				fi
+				scons -j${JOBS:-1} \
+					platform=$platform \
+					target=$target \
+					tools=$tools \
+					$sconsflags
+			done
+		done
+	done
 }
 
 package() {
 	install -Dm644 misc/dist/linux/org.godotengine.Godot.desktop \
 		"$pkgdir"/usr/share/applications/godot.desktop
+	install -Dm644 icon.png "$pkgdir"/usr/share/pixmaps/godot.png
 	install -Dm644 icon.svg "$pkgdir"/usr/share/pixmaps/godot.svg
-	test -f bin/godot.x11.opt.tools.32 && \
-		install -D -m755 bin/godot.x11.opt.tools.32 "$pkgdir"/usr/bin/godot
-	test -f bin/godot.x11.opt.tools.64 && \
-		install -D -m755 bin/godot.x11.opt.tools.64 "$pkgdir"/usr/bin/godot
-	install -D -m644 misc/dist/linux/godot.6 "$pkgdir"/usr/share/man/man6/godot.6
+	install -Dm644 misc/dist/linux/godot.6 "$pkgdir"/usr/share/man/man6/godot.6
+
+	# editors, use headless for packaging games
+	install -Dm755 bin/godot.x11.opt.tools.[36]* "$pkgdir"/usr/bin/godot
+	install -Dm755 bin/godot_server.x11.opt.tools.[36]* "$pkgdir"/usr/bin/godot-headless
+
+	# export templates, use for packaging games and playing with musl libc or non-x86 CPU
+	install -Dm755 bin/godot.x11.opt.[36]* "$pkgdir"/usr/bin/godot-client
+	install -Dm755 bin/godot.x11.opt.debug.[36]* "$pkgdir"/usr/bin/godot-client-debug
+	install -Dm755 bin/godot_server.x11.opt.[36]* "$pkgdir"/usr/bin/godot-server
+	install -Dm755 bin/godot_server.x11.opt.debug.[36]* "$pkgdir"/usr/bin/godot-server-debug
 }
 
 sha512sums="
-bfe6a04569c1a0a1dd8eb98869b22c35207c653fd5ad9e4429568474b27ab745558474dc276e4ba72dadfe4d0781c8651bc58f69a2448a382f57eb2c0ac22ee9  godot-3.4.4-stable.tar.gz
+7bb6552792ae53d9b5c8fc07df2984ea0ff2a6f3d8e1416101464bb1a3a727d88ce8facc518c994958f96f34aa3fa6383552ff54c6b9cb2988fd3ad8ad012e6c  godot-3.5-stable.tar.gz
 a3853b7e23b0684e44dbf67c7cbddfa3ea8b1154347a1aa58870d66a213d05bb1ad8b6fdc4106239e0c1a1efcd174b0544ff0d6bbb516a0fe9f516ad2514400b  no-execinfo.patch
 "
-- 
2.36.2