git: 4b4f01c61014 - main - devel/godot: update to 4.0

From: Fernando Apesteguía <fernape_at_FreeBSD.org>
Date: Wed, 08 Mar 2023 07:40:47 UTC
The branch main has been updated by fernape:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4b4f01c610140effba638c7acce320a99f07cbde

commit 4b4f01c610140effba638c7acce320a99f07cbde
Author:     Shane <FreeBSD@ShaneWare.Biz>
AuthorDate: 2023-03-06 08:18:36 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2023-03-08 07:36:08 +0000

    devel/godot: update to 4.0
    
    ChangeLog: https://godotengine.org/article/godot-4-0-sets-sail/
    
    PR:             269954
    Reported by:    FreeBSD@ShaneWare.Biz (maintainer)
---
 devel/godot/Makefile                               | 42 ++++++++--------------
 devel/godot/distinfo                               | 14 +++-----
 devel/godot/files/patch-modules_openxr_SCsub       | 11 ++++++
 devel/godot/files/patch-platform_x11_detect.py     | 20 -----------
 .../files/patch-platform_x11_libudev-so__wrap.c    | 11 ------
 .../files/patch-thirdparty_libvpx_vpx_vpx__codec.h | 20 -----------
 .../patch-thirdparty_libvpx_vpx_vpx__decoder.h     | 20 -----------
 ...atch-thirdparty_libvpx_vpx_vpx__frame__buffer.h | 19 ----------
 .../files/patch-thirdparty_libvpx_vpx_vpx__image.h | 19 ----------
 ...h-thirdparty_linuxbsd__headers_alsa_asoundlib.h | 11 ++++++
 10 files changed, 41 insertions(+), 146 deletions(-)

diff --git a/devel/godot/Makefile b/devel/godot/Makefile
index 5ae2c3677e1a..6f62333c0f63 100644
--- a/devel/godot/Makefile
+++ b/devel/godot/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	godot
-DISTVERSION=	3.4.2
+DISTVERSION=	4.0
 DISTVERSIONSUFFIX=	-stable
-PORTREVISION?=	1
+PORTREVISION?=	0
 CATEGORIES=	devel games
 
 MAINTAINER=	FreeBSD@Shaneware.biz
@@ -15,6 +15,9 @@ LICENSE_FILE_MIT=	${WRKSRC}/LICENSE.txt
 
 BUILD_DEPENDS=	yasm:devel/yasm
 LIB_DEPENDS=	libfreetype.so:print/freetype2 \
+		libgraphite2.so:graphics/graphite2 \
+		libharfbuzz.so:print/harfbuzz \
+		libharfbuzz-icu.so:print/harfbuzz-icu \
 		libpcre2-8.so:devel/pcre2 \
 		libpng.so:graphics/png \
 		libvpx.so:multimedia/libvpx
@@ -22,7 +25,7 @@ RUN_DEPENDS=	xdg-user-dir:devel/xdg-user-dirs \
 		xdg-open:devel/xdg-utils \
 		xmessage:x11/xmessage
 
-USES=		compiler:c++14-lang cpe gl pkgconfig scons xorg
+USES=		compiler:c++17-lang cpe gl pkgconfig scons xorg
 USE_XORG=	x11 xcursor xext xi xinerama xrandr xrender
 USE_GL=		gl glew glu
 
@@ -31,15 +34,15 @@ CPE_VENDOR=	godotengine
 USE_GITHUB=	yes
 GH_ACCOUNT=	godotengine
 
-MAKE_ARGS+=		platform=x11 builtin_freetype=False \
+MAKE_ARGS+=		platform=linuxbsd builtin_freetype=False \
+			builtin_graphite=False builtin_harfbuzz=False \
 			builtin_libpng=False builtin_libvpx=False \
 			builtin_pcre2=False builtin_zlib=False verbose=True
 MAKE_ARGS+=		${MAKE_ARGS_${CHOSEN_COMPILER_TYPE}}
-MAKE_ARGS_clang=	use_llvm=True use_lld=True
+MAKE_ARGS_clang=	use_llvm=True linker=lld
 CXXFLAGS_i386=		${CXXFLAGS_i386_${CHOSEN_COMPILER_TYPE}}
 CXXFLAGS_i386_gcc=	-march=i586
 
-# option MONO doesn't build (needs 5.12+) so for now leave it out as an option
 OPTIONS_DEFINE=		EXAMPLES TOOLS UDEV
 OPTIONS_DEFAULT=	ALSA UDEV
 # Moved to devel/godot-tools
@@ -51,22 +54,15 @@ AUDIO_DESC=		Audio support
 ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
 ALSA_MAKE_ARGS=		alsa=True
 ALSA_MAKE_ARGS_OFF=	alsa=False
-# tagged 6/11/21 for 3.4
-EXAMPLES_GH_TUPLE=	godotengine:godot-demo-projects:585455e67ca3:DEMOS
+# 4.0 head at 3/3
+EXAMPLES_GH_TUPLE=	godotengine:godot-demo-projects:778baf07cc7d:DEMOS
 EXAMPLES_PORTEXAMPLES=	*
-# mono support doesn't build at present
-MONO_BUILD_DEPENDS=	msbuild:devel/msbuild
-MONO_LIB_DEPENDS=	libinotify.so:devel/libinotify
-MONO_GH_TUPLE=		mono:nuget-binary:ebedbf8:NUGT/nuget-binary
-MONO_MAKE_ARGS=		module_mono_enabled=yes mono_glue=True
-MONO_USES=		gettext-runtime mono:nuget
-NUGET_DEPENDS=		DotNet.Glob=2.1.1
 PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
 PULSEAUDIO_MAKE_ARGS=	pulseaudio=True
 PULSEAUDIO_MAKE_ARGS_OFF=	pulseaudio=False
 TOOLS_DESC=		Include development tools (IDE)
-TOOLS_MAKE_ARGS=	target=release_debug tools=True
-TOOLS_MAKE_ARGS_OFF=	target=release tools=False
+TOOLS_MAKE_ARGS=	target=editor
+TOOLS_MAKE_ARGS_OFF=	target=template_release
 TOOLS_DESKTOP_ENTRIES=	"Godot" "${COMMENT}" "${GODOTFILE}" \
 			"${GODOTFILE}" "Development;IDE;" ""
 TOOLS_PLIST_FILES=	share/pixmaps/${GODOTFILE}.png \
@@ -96,23 +92,13 @@ MAKE_ARGS+=	module_embree_enabled=no \
 post-patch:
 	@${REINPLACE_CMD} -e 's|custom_build|${OPSYS}_Ports_build|' \
 		${WRKSRC}/methods.py
-	@${REINPLACE_CMD} -e 's|/usr/bin|${PREFIX}/bin|' \
-		${WRKSRC}/platform/x11/os_x11.cpp
-
-pre-build-MONO-on: makenuget
-	@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \
-		${_MAKE_JOBS} ${MAKE_ARGS:C,^${DESTDIRNAME}=.*,,g} \
-		target=release_debug tools=True platform=server mono_glue=False)
-	@(cd ${WRKSRC} && ${FIND} ${WRKSRC}/bin -name 'godot*' -exec {} \
-		--generate-mono-glue modules/mono/glue \; && \
-		${FIND} ${WRKSRC}/bin -name 'godot*' -delete)
 
 # The official godot binary name reflects options used to compile
 # We just want a simple name matching the portname
 # This gives us bin/godot for runtime and bin/godot-tools for the IDE
 do-install:
 	@${RM} ${WRKSRC}/bin/*.debugsymbols
-	cd ${WRKSRC}/bin && ${INSTALL_PROGRAM} godot.x11* \
+	cd ${WRKSRC}/bin && ${INSTALL_PROGRAM} godot.linuxbsd* \
 		${STAGEDIR}/${PREFIX}/bin/${GODOTFILE}
 
 do-install-EXAMPLES-on:
diff --git a/devel/godot/distinfo b/devel/godot/distinfo
index 0288135f7fac..16ad23e559ec 100644
--- a/devel/godot/distinfo
+++ b/devel/godot/distinfo
@@ -1,9 +1,5 @@
-TIMESTAMP = 1640725622
-SHA256 (dotnet.glob.2.1.1.nupkg) = 8fa01b1928a9c4b70a4803226dcd2ec942474daf2876b80e35a0380d72f8fc1a
-SIZE (dotnet.glob.2.1.1.nupkg) = 73782
-SHA256 (godotengine-godot-3.4.2-stable_GH0.tar.gz) = d9c1af3a7ae4e8b929f03628b31a711fcfe4673fdaf5aea089316a05528792ff
-SIZE (godotengine-godot-3.4.2-stable_GH0.tar.gz) = 49648881
-SHA256 (godotengine-godot-demo-projects-585455e67ca3_GH0.tar.gz) = 81c9d263a9d3976363f849d4e4cb9388179f8c206406a20e9f8bd81172fda442
-SIZE (godotengine-godot-demo-projects-585455e67ca3_GH0.tar.gz) = 158716925
-SHA256 (mono-nuget-binary-ebedbf8_GH0.tar.gz) = a0362e65a381c99f222ce141012f5a0663b4a4ae22f27f638198f7414464bf1a
-SIZE (mono-nuget-binary-ebedbf8_GH0.tar.gz) = 2778322
+TIMESTAMP = 1677902012
+SHA256 (godotengine-godot-4.0-stable_GH0.tar.gz) = e6cf28411ae4196db0bcd608f77bcafc0c019ea6dd6cc8c750ca3cc3755df547
+SIZE (godotengine-godot-4.0-stable_GH0.tar.gz) = 39355782
+SHA256 (godotengine-godot-demo-projects-778baf07cc7d_GH0.tar.gz) = 42ad5425fd3685887140e404f7fd8abf15ba4a97f475291200e872a1241913fe
+SIZE (godotengine-godot-demo-projects-778baf07cc7d_GH0.tar.gz) = 199997674
diff --git a/devel/godot/files/patch-modules_openxr_SCsub b/devel/godot/files/patch-modules_openxr_SCsub
new file mode 100644
index 000000000000..6787d039b9e8
--- /dev/null
+++ b/devel/godot/files/patch-modules_openxr_SCsub
@@ -0,0 +1,11 @@
+--- modules/openxr/SCsub.orig	2023-03-02 09:55:48 UTC
++++ modules/openxr/SCsub
+@@ -34,7 +34,7 @@ elif env["platform"] == "linuxbsd":
+         env_openxr.AppendUnique(CPPDEFINES=["XR_USE_PLATFORM_XLIB"])
+ 
+     # FIXME: Review what needs to be set for Android and macOS.
+-    env_openxr.AppendUnique(CPPDEFINES=["HAVE_SECURE_GETENV"])
++    #env_openxr.AppendUnique(CPPDEFINES=["HAVE_SECURE_GETENV"])
+ elif env["platform"] == "windows":
+     env_openxr.AppendUnique(CPPDEFINES=["XR_OS_WINDOWS", "NOMINMAX", "XR_USE_PLATFORM_WIN32"])
+ 
diff --git a/devel/godot/files/patch-platform_x11_detect.py b/devel/godot/files/patch-platform_x11_detect.py
deleted file mode 100644
index 3691baf4270f..000000000000
--- a/devel/godot/files/patch-platform_x11_detect.py
+++ /dev/null
@@ -1,20 +0,0 @@
---- platform/x11/detect.py.orig	2021-12-21 22:27:28 UTC
-+++ platform/x11/detect.py
-@@ -338,7 +338,7 @@ def configure(env):
-         else:
-             print("Warning: PulseAudio development libraries not found. Disabling the PulseAudio audio driver.")
- 
--    if platform.system() == "Linux":
-+    if platform.system() in ["Linux","FreeBSD"]:
-         env.Append(CPPDEFINES=["JOYDEV_ENABLED"])
-         if env["udev"]:
-             if os.system("pkg-config --exists libudev") == 0:  # 0 means found
-@@ -365,7 +365,7 @@ def configure(env):
-     if env["execinfo"]:
-         env.Append(LIBS=["execinfo"])
- 
--    if not env["tools"]:
-+    if not env["tools"] and False: # not building templates, just runtime
-         import subprocess
-         import re
- 
diff --git a/devel/godot/files/patch-platform_x11_libudev-so__wrap.c b/devel/godot/files/patch-platform_x11_libudev-so__wrap.c
deleted file mode 100644
index 64daca324717..000000000000
--- a/devel/godot/files/patch-platform_x11_libudev-so__wrap.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- platform/x11/libudev-so_wrap.c.orig	2021-12-29 15:43:04 UTC
-+++ platform/x11/libudev-so_wrap.c
-@@ -279,7 +279,7 @@ int (*udev_util_encode_string_dylibloader_wrapper_libu
- int initialize_libudev() {
-   void *handle;
-   char *error;
--  handle = dlopen("libudev.so.1", RTLD_LAZY);
-+  handle = dlopen("libudev.so.0", RTLD_LAZY);
-   if (!handle) {
-     fprintf(stderr, "%s\n", dlerror());
-     return(1);
diff --git a/devel/godot/files/patch-thirdparty_libvpx_vpx_vpx__codec.h b/devel/godot/files/patch-thirdparty_libvpx_vpx_vpx__codec.h
deleted file mode 100644
index cd4e7ef205d9..000000000000
--- a/devel/godot/files/patch-thirdparty_libvpx_vpx_vpx__codec.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- thirdparty/libvpx/vpx/vpx_codec.h.orig  2019-03-23 14:24:15 UTC
-+++ thirdparty/libvpx/vpx/vpx_codec.h
-@@ -36,8 +36,8 @@
-  * Once initialized, the instance is manged using other functions from
-  * the vpx_codec_* family.
-  */
--#ifndef VPX_VPX_CODEC_H_
--#define VPX_VPX_CODEC_H_
-+#ifndef VPX_VPX_VPX_CODEC_H_
-+#define VPX_VPX_VPX_CODEC_H_
-
- #ifdef __cplusplus
- extern "C" {
-@@ -475,5 +475,5 @@ extern "C" {
- #ifdef __cplusplus
- }
- #endif
--#endif  // VPX_VPX_CODEC_H_
-+#endif  // VPX_VPX_VPX_CODEC_H_
-
diff --git a/devel/godot/files/patch-thirdparty_libvpx_vpx_vpx__decoder.h b/devel/godot/files/patch-thirdparty_libvpx_vpx_vpx__decoder.h
deleted file mode 100644
index 39b2cbdc97c0..000000000000
--- a/devel/godot/files/patch-thirdparty_libvpx_vpx_vpx__decoder.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- thirdparty/libvpx/vpx/vpx_decoder.h.orig    2019-03-23 14:46:15 UTC
-+++ thirdparty/libvpx/vpx/vpx_decoder.h
-@@ -7,8 +7,8 @@
-  *  in the file PATENTS.  All contributing project authors may
-  *  be found in the AUTHORS file in the root of the source tree.
-  */
--#ifndef VPX_VPX_DECODER_H_
--#define VPX_VPX_DECODER_H_
-+#ifndef VPX_VPX_VPX_DECODER_H_
-+#define VPX_VPX_VPX_DECODER_H_
-
- /*!\defgroup decoder Decoder Algorithm Interface
-  * \ingroup codec
-@@ -374,5 +374,5 @@ extern "C" {
- #ifdef __cplusplus
- }
- #endif
--#endif  // VPX_VPX_DECODER_H_
-+#endif  // VPX_VPX_VPX_DECODER_H_
-
diff --git a/devel/godot/files/patch-thirdparty_libvpx_vpx_vpx__frame__buffer.h b/devel/godot/files/patch-thirdparty_libvpx_vpx_vpx__frame__buffer.h
deleted file mode 100644
index 5f1de2543fc9..000000000000
--- a/devel/godot/files/patch-thirdparty_libvpx_vpx_vpx__frame__buffer.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- thirdparty/libvpx/vpx/vpx_frame_buffer.h.orig   2019-03-23 14:31:21 UTC
-+++ thirdparty/libvpx/vpx/vpx_frame_buffer.h
-@@ -8,8 +8,8 @@
-  *  be found in the AUTHORS file in the root of the source tree.
-  */
-
--#ifndef VPX_VPX_FRAME_BUFFER_H_
--#define VPX_VPX_FRAME_BUFFER_H_
-+#ifndef VPX_VPX_VPX_FRAME_BUFFER_H_
-+#define VPX_VPX_VPX_FRAME_BUFFER_H_
-
- /*!\file
-  * \brief Describes the decoder external frame buffer interface.
-@@ -80,4 +80,4 @@ typedef int (*vpx_release_frame_buffer_cb_fn_t)(
- }  // extern "C"
- #endif
-
--#endif  // VPX_VPX_FRAME_BUFFER_H_
-+#endif  // VPX_VPX_VPX_FRAME_BUFFER_H_
diff --git a/devel/godot/files/patch-thirdparty_libvpx_vpx_vpx__image.h b/devel/godot/files/patch-thirdparty_libvpx_vpx_vpx__image.h
deleted file mode 100644
index 9b605fb36ea0..000000000000
--- a/devel/godot/files/patch-thirdparty_libvpx_vpx_vpx__image.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- thirdparty/libvpx/vpx/vpx_image.h.orig    2019-03-23 14:18:30 UTC
-+++ thirdparty/libvpx/vpx/vpx_image.h
-@@ -13,8 +13,8 @@
-  * \brief Describes the vpx image descriptor and associated operations
-  *
-  */
--#ifndef VPX_VPX_IMAGE_H_
--#define VPX_VPX_IMAGE_H_
-+#ifndef VPX_VPX_VPX_IMAGE_H_
-+#define VPX_VPX_VPX_IMAGE_H_
-
- #ifdef __cplusplus
- extern "C" {
-@@ -232,4 +232,4 @@ extern "C" {
- }  // extern "C"
- #endif
-
--#endif  // VPX_VPX_IMAGE_H_
-+#endif  // VPX_VPX_VPX_IMAGE_H_
diff --git a/devel/godot/files/patch-thirdparty_linuxbsd__headers_alsa_asoundlib.h b/devel/godot/files/patch-thirdparty_linuxbsd__headers_alsa_asoundlib.h
new file mode 100644
index 000000000000..8fd0f0a4f406
--- /dev/null
+++ b/devel/godot/files/patch-thirdparty_linuxbsd__headers_alsa_asoundlib.h
@@ -0,0 +1,11 @@
+--- thirdparty/linuxbsd_headers/alsa/asoundlib.h.orig	2023-03-02 09:54:29 UTC
++++ thirdparty/linuxbsd_headers/alsa/asoundlib.h
+@@ -38,7 +38,7 @@
+ #include <poll.h>
+ #include <errno.h>
+ #include <stdarg.h>
+-#include <endian.h>
++#include <sys/endian.h>
+ 
+ #ifndef __GNUC__
+ #define __inline__ inline