Thursday, November 09, 2023

updating games/godot to Godot4

Index: Makefile
===================================================================
RCS file: /home/cvs/ports/games/godot/Makefile,v
retrieving revision 1.55
diff -u -p -r1.55 Makefile
--- Makefile 26 Sep 2023 20:44:06 -0000 1.55
+++ Makefile 9 Nov 2023 16:24:06 -0000
@@ -1,11 +1,9 @@
BROKEN-powerpc = fails at runtime, the UI is totally blank

COMMENT-main = 2D and 3D game engine
-COMMENT-tools= 2D and 3D game engine (with tools)
-COMMENT-sharp= .NET libs for mono/C# module of Godot
+COMMENT-editor= 2D and 3D game engine (with the editor)

-V = 3.5.3
-SHARPFILES_V = 3.5.2
+V = 4.1.3
DISTNAME = godot-${V}-stable
PKGNAME = godot-${V}

@@ -18,61 +16,72 @@ MAINTAINER = Omar Polo <op@openbsd.org>
# MIT
PERMIT_PACKAGE = Yes

-MULTI_PACKAGES = -main -tools -sharp
+MULTI_PACKAGES = -main -editor

-WANTLIB += ${COMPILER_LIBCXX} BulletCollision BulletDynamics BulletSoftBody
-WANTLIB += GL LinearMath X11 X11-xcb Xau Xcursor Xdmcp Xext Xfixes
-WANTLIB += Xi Xinerama Xrandr Xrender Xxf86vm c drm enet execinfo
-WANTLIB += intl m mbedcrypto mbedtls mbedx509 mpcdec ogg opus
-WANTLIB += opusfile pcre2-32 sharpyuv sndio steam_api theora theoradec
-WANTLIB += usbhid vorbis vorbisfile vpx webp xcb xcb-dri2 xcb-glx
-WANTLIB += zstd
+WANTLIB-main += ${COMPILER_LIBCXX} SPIRV X11 Xau Xcursor Xdmcp Xext
+WANTLIB-main += Xfixes Xi Xinerama Xrandr Xrender c dbus-1 enet execinfo
+WANTLIB-main += expat fontconfig freetype glib-2.0 glslang intl m mbedcrypto
+WANTLIB-main += mbedtls mbedx509 miniupnpc mpcdec ogg pcre2-32 pcre2-8
+WANTLIB-main += sharpyuv sndio speechd theora theoradec usbhid vorbis
+WANTLIB-main += vorbisfile webp wslay xcb xkbcommon zstd

-WANTLIB-main = ${WANTLIB} Xss
-WANTLIB-tools = ${WANTLIB}
+WANTLIB-editor = ${WANTLIB-main}

# C++14
COMPILER = base-clang ports-gcc

-SITES = https://downloads.tuxfamily.org/godotengine/${V}/
+SITES = https://downloads.tuxfamily.org/godotengine/${V}/
EXTRACT_SUFX = .tar.xz

-SITES.sharp = https://thfr.info/distfiles/
-DISTFILES.sharp
= godot-${SHARPFILES_V}-mono-glue.tar.gz \
- godot-${SHARPFILES_V}-nuget-packages.tar.xz
-
-DIST_TUPLE += github CoaguCo-Industries GodotSteam v3.20 godotsteam # MIT
-
MODULES = devel/scons

+# Building with module_mono_enabled requires msbuild and to fix the
+# sharedlib_ext in modules/mono/config.py to '.so.1.0'
MODSCONS_FLAGS = CC="${CC}" \
CXX="${CXX}" \
CFLAGS="${CFLAGS}" \
- builtin_bullet=no \
+ CXXFLAGS="${CXXFLAGS} -Wno-deprecated-register" \
+ LINKFLAGS="${LDFLAGS} -lintl -lmpcdec -lusbhid" \
+ builtin_certs=no \
builtin_enet=no \
- builtin_glew=no \
- builtin_libmpcdec=no \
builtin_libogg=no \
builtin_libpng=no \
builtin_libtheora=no \
builtin_libvorbis=no \
- builtin_libvpx=no \
builtin_libwebp=no \
+ builtin_wslay=no \
builtin_mbedtls=no \
- builtin_opus=no \
+ builtin_miniupnpc=no \
builtin_pcre2=no \
- builtin_zlib=no \
builtin_zstd=no \
- custom_modules=${WRKSRC}/godotsteam \
progress=no \
pulseaudio=no \
+ use_sowrap=no \
verbose=yes \
warnings=extra \
werror=no

+# not in ports
+MODSCONS_FLAGS += builtin_embree=true \
+ builtin_msdfgen=true \
+ builtin_recast=true \
+ builtin_rvo2=true \
+ builtin_squish=true \
+ builtin_xatlas=true
+
# requires freetype with Brotli support, see
# https://github.com/godotengine/godot/issues/64090
-MODSCONS_FLAGS
+= builtin_freetype=yes
+MODSCONS_FLAGS += builtin_freetype=yes
+
+# having freetype builtin requires also the following to be used builtin
+MODSCONS_FLAGS += builtin_libpng=true \
+ builtin_zlib=true \
+ builtin_graphite=true \
+ builtin_harfbuzz=true
+
+# breaks the build if not embedded
+MODSCONS_FLAGS += builtin_glslang=no \
+ builtin_icu=true

# The raycast module requires embree which is enabled on all 64bit
# arches but actually supports only amd64.
@@ -83,55 +92,33 @@ MODSCONS_FLAGS += module_raycast_enabled
LIB_DEPENDS = archivers/zstd \
audio/libvorbis \
audio/musepack \
- audio/opusfile \
- devel/bullet \
+ audio/speech-dispatcher \
devel/gettext,-runtime \
devel/pcre2 \
- games/goldberg_emulator \
+ graphics/glslang \
graphics/libwebp \
multimedia/libtheora \
- multimedia/libvpx \
net/enet \
- security/polarssl
+ net/miniupnp/miniupnpc \
+ security/polarssl \
+ x11/dbus,-main \
+ x11/xkbcommon \
+ www/wslay

-RUN_DEPENDS-tools = devel/desktop-file-utils
+RUN_DEPENDS-editor = devel/desktop-file-utils
+
+DEBUG_PACKAGES = ${BUILD_PACKAGES}
+NO_TEST = Yes

DPB_PROPERTIES = parallel

.include <bsd.port.arch.mk>
-
-.if ${PROPERTIES:Mmono}
-USE_WXNEEDED = Yes
-USE_NOBTCFI = Yes
-PORTHOME = ${WRKDIR}/nugethome
-# mono-native is dlopened when using the mono/C#/godot-sharp parts
-WANTLIB-main += mono-native
-WANTLIB-tools += mono-native
-# needed by files in share/godot/GodotSharp/Mono/lib/
-WANTLIB-sharp = execinfo m pthread z
-MODSCONS_FLAGS += module_mono_enabled=yes \
- mono_prefix=${LOCALBASE} \
- mono_static=yes
-BUILD_DEPENDS += devel/msbuild
-LIB_DEPENDS += lang/mono
-LIB_DEPENDS-sharp =
-RUN_DEPENDS-sharp =
-RUN_DEPENDS-main = games/godot,-sharp
-RUN_DEPENDS-tools += devel/msbuild \
- games/godot,-sharp
-GLUEDIR = ${WRKDIR}/godot-${SHARPFILES_V}-mono-glue
-MONOSUFFIX = .mono
-.else
-BUILD_PACKAGES := ${BUILD_PACKAGES:N-sharp}
-MONOSUFFIX =
-.endif
-
.if ${MACHINE_ARCH} == "riscv64"
BINSUFFIX = rv64
.elif ${PROPERTIES:Mlp64}
-BINSUFFIX = 64
+BINSUFFIX = x86_64
.else
-BINSUFFIX = 32
+BINSUFFIX = x86
.endif

.if ${MACHINE_ARCH:Mhppa}
@@ -139,54 +126,21 @@ LDFLAGS += -latomic
WANTLIB += atomic
.endif

-DEBUG_PACKAGES = ${BUILD_PACKAGES}
-NO_TEST = Yes
-
-CFLAGS += -I${LOCALBASE}/include/goldberg_emulator
-CXXFLAGS += -I${LOCALBASE}/include/goldberg_emulator
-
post-extract:
- cp -R ${FILESDIR}/sndio ${WRKDIST}/drivers
- cp ${FILESDIR}/ujoy/joypad_openbsd.{cpp,h} \
- ${WRKDIST}/platform/x11/
-.if ${PROPERTIES:Mmono}
- mkdir -p ${PORTHOME}/.nuget
- mv ${WRKDIR}/godot-${SHARPFILES_V}-nuget-packages ${PORTHOME}/.nuget/packages
- mv ${GLUEDIR}/mono_glue.gen.cpp ${WRKSRC}/modules/mono/glue/
- mv ${GLUEDIR}/GodotSharp/GodotSharp/Generated \
- ${WRKSRC}/modules/mono/glue/GodotSharp/GodotSharp/
- mv ${GLUEDIR}/GodotSharp/GodotSharpEditor/Generated \
- ${WRKSRC}/modules/mono/glue/GodotSharp/GodotSharpEditor
-.endif
+ cp -R ${FILESDIR}/sndio ${WRKDIST}/drivers

pre-configure:
${SUBST_CMD} ${WRKSRC}/misc/dist/linux/*.desktop
- ${SUBST_CMD} ${WRKSRC}/modules/mono/godotsharp_dirs.cpp
- ${SUBST_CMD} ${WRKSRC}/modules/mono/build_scripts/mono_configure.py

do-build:
- # Export Template build
- @${MODSCONS_BUILD_TARGET} tools=no target=release \
- CXXFLAGS="${CXXFLAGS} -Wno-deprecated-register -DSUSPEND_SCREENSAVER=1" \
- LINKFLAGS="${LDFLAGS} -lintl -lmpcdec -lusbhid -lXss"
- # Editor build
- @${MODSCONS_BUILD_TARGET} tools=yes target=release_debug \
- CXXFLAGS="${CXXFLAGS} -Wno-deprecated-register" \
- LINKFLAGS="${LDFLAGS} -lintl -lmpcdec -lusbhid"
+ @${MODSCONS_BUILD_TARGET} target=template_release
+ @${MODSCONS_BUILD_TARGET} target=editor

do-install:
- # Export Template files
- @${INSTALL_PROGRAM} ${WRKBUILD}/bin/godot.x11.opt.${BINSUFFIX}${MONOSUFFIX} \
+ ${INSTALL_PROGRAM} ${WRKBUILD}/bin/godot.linuxbsd.template_release.${BINSUFFIX} \
${PREFIX}/bin/godot
- # Editor files
- ${INSTALL_PROGRAM} ${WRKBUILD}/bin/godot.x11.opt.tools.${BINSUFFIX}${MONOSUFFIX} \
- ${PREFIX}/bin/godot-tools
- # GodotSharp files if built
-.if ${PROPERTIES:Mmono}
- ${INSTALL_DATA_DIR} ${PREFIX}/share/godot
- cp -R ${WRKBUILD}/bin/GodotSharp ${PREFIX}/share/godot/
-.endif
- # Rest: man pages, icons, desktop integration
+ ${INSTALL_PROGRAM} ${WRKBUILD}/bin/godot.linuxbsd.editor.${BINSUFFIX} \
+ ${PREFIX}/bin/godot-editor
${INSTALL_MAN_DIR} ${PREFIX}/man/man6
${INSTALL_MAN} ${WRKSRC}/misc/dist/linux/godot.6 \
${PREFIX}/man/man6
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/games/godot/distinfo,v
retrieving revision 1.23
diff -u -p -r1.23 distinfo
--- distinfo 26 Sep 2023 20:44:06 -0000 1.23
+++ distinfo 9 Nov 2023 16:24:06 -0000
@@ -1,8 +1,2 @@
-SHA256 (CoaguCo-Industries-GodotSteam-v3.20.tar.gz) = FoAl3iZ+1CWwIPXwJZ9S7q3QMn//RslYT06tXkc38QU=
-SHA256 (godot-3.5.2-mono-glue.tar.gz) = ezUneQt2JzlsQPF4FvSCcNtJiYbdb3NEY4Lvjj/gz64=
-SHA256 (godot-3.5.2-nuget-packages.tar.xz) = RXlTjB1IgjZEP2ZJY05xoGQv8XTRKHxwPaMmiNdduQE=
-SHA256 (godot-3.5.3-stable.tar.xz) = PLSBJrdoWPQM9UvTRbuE3B9J2eb4pKdCWthugF05cB0=
-SIZE (CoaguCo-Industries-GodotSteam-v3.20.tar.gz) = 253832
-SIZE (godot-3.5.2-mono-glue.tar.gz) = 1094618
-SIZE (godot-3.5.2-nuget-packages.tar.xz) = 55742184
-SIZE (godot-3.5.3-stable.tar.xz) = 24072964
+SHA256 (godot-4.1.3-stable.tar.xz) = S3vcH+rlciv2SRwVIV2t5o13wLNexedZKWajI2jMnqQ=
+SIZE (godot-4.1.3-stable.tar.xz) = 31027024
Index: files/sndio/SCsub
===================================================================
RCS file: /home/cvs/ports/games/godot/files/sndio/SCsub,v
retrieving revision 1.2
diff -u -p -r1.2 SCsub
--- files/sndio/SCsub 8 Mar 2022 16:48:16 -0000 1.2
+++ files/sndio/SCsub 9 Nov 2023 16:24:26 -0000
@@ -1,5 +1,5 @@
#!/usr/bin/env python

-Import('env')
+Import("env")

env.add_source_files(env.drivers_sources, "*.cpp")
Index: files/sndio/audio_driver_sndio.cpp
===================================================================
RCS file: /home/cvs/ports/games/godot/files/sndio/audio_driver_sndio.cpp,v
retrieving revision 1.4
diff -u -p -r1.4 audio_driver_sndio.cpp
--- files/sndio/audio_driver_sndio.cpp 8 Mar 2022 16:48:16 -0000 1.4
+++ files/sndio/audio_driver_sndio.cpp 9 Nov 2023 16:24:26 -0000
@@ -1,7 +1,12 @@
/*************************************************************************/
/* audio_driver_sndio.cpp */
/*************************************************************************/
-/* Copyright (c) 2020 Omar Polo. */
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -27,8 +32,8 @@

#ifdef SNDIO_ENABLED

+#include "core/config/project_settings.h"
#include "core/os/os.h"
-#include "core/project_settings.h"

Error AudioDriverSndio::init() {
active = false;
@@ -44,7 +49,7 @@ Error AudioDriverSndio::init() {

par.bits = 32;
par.bps = 4;
- par.rate = GLOBAL_GET("audio/mix_rate");
+ par.rate = GLOBAL_GET("audio/driver/mix_rate");
par.appbufsz = 50 * par.rate / 1000;

if (!sio_setpar(handle, &par)) {
@@ -75,10 +80,11 @@ Error AudioDriverSndio::init() {
}

void AudioDriverSndio::thread_func(void *p_udata) {
- AudioDriverSndio *ad = (AudioDriverSndio*)p_udata;
+ AudioDriverSndio *ad = (AudioDriverSndio *)p_udata;

- for (size_t i = 0; i < ad->period_size * ad->channels; ++i)
+ for (size_t i = 0; i < ad->period_size * ad->channels; ++i) {
ad->samples.write[i] = 0;
+ }

while (!ad->exit_thread) {
ad->lock();
@@ -129,12 +135,6 @@ void AudioDriverSndio::finish() {
sio_close(handle);
handle = NULL;
}
-}
-
-AudioDriverSndio::AudioDriverSndio() {
-}
-
-AudioDriverSndio::~AudioDriverSndio() {
}

#endif
Index: files/sndio/audio_driver_sndio.h
===================================================================
RCS file: /home/cvs/ports/games/godot/files/sndio/audio_driver_sndio.h,v
retrieving revision 1.3
diff -u -p -r1.3 audio_driver_sndio.h
--- files/sndio/audio_driver_sndio.h 8 Mar 2022 16:48:16 -0000 1.3
+++ files/sndio/audio_driver_sndio.h 9 Nov 2023 16:24:26 -0000
@@ -1,7 +1,12 @@
/*************************************************************************/
/* audio_driver_sndio.h */
/*************************************************************************/
-/* Copyright (c) 2020 Omar Polo. */
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -23,12 +28,14 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/

-#include "servers/audio_server.h"
+#ifndef AUDIO_DRIVER_SNDIO_H
+#define AUDIO_DRIVER_SNDIO_H

#ifdef SNDIO_ENABLED

#include "core/os/mutex.h"
#include "core/os/thread.h"
+#include "servers/audio_server.h"

#include <sndio.h>

@@ -38,9 +45,9 @@ class AudioDriverSndio : public AudioDri

Vector<int32_t> samples;

- struct sio_hdl *handle;
+ struct sio_hdl *handle = nullptr;

- static void thread_func(void*);
+ static void thread_func(void *);
size_t period_size;

unsigned int mix_rate;
@@ -63,8 +70,10 @@ public:
virtual void unlock();
virtual void finish();

- AudioDriverSndio();
- ~AudioDriverSndio();
+ AudioDriverSndio() {}
+ ~AudioDriverSndio() {}
};

-#endif
+#endif /* SNDIO_ENABLED */
+
+#endif /* AUDIO_DRIVER_SNDIO_H */
Index: patches/patch-SConstruct
===================================================================
RCS file: patches/patch-SConstruct
diff -N patches/patch-SConstruct
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-SConstruct 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,15 @@
+disable hardcoded compiler/linker flags. We handle stripping and debug
+(-g), as well as optimizations (-On), by ourselves.
+
+Index: SConstruct
+--- SConstruct.orig
++++ SConstruct
+@@ -581,7 +581,7 @@ if selected_platform in platform_list:
+ env.Append(LINKFLAGS=["/OPT:REF"])
+ elif env["optimize"] == "debug" or env["optimize"] == "none":
+ env.Append(CCFLAGS=["/Od"])
+- else:
++ elif False: # disable -g/-O/-s flags; we handle them ourselves
+ if env["debug_symbols"]:
+ # Adding dwarf-4 explicitly makes stacktraces work with clang builds,
+ # otherwise addr2line doesn't understand them
Index: patches/patch-core_object_cpp
===================================================================
RCS file: patches/patch-core_object_cpp
diff -N patches/patch-core_object_cpp
--- patches/patch-core_object_cpp 14 Aug 2023 12:40:50 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
-when building without tools, don't warn about leaked instances at exit unless '--verbose'
-
-Index: core/object.cpp
---- core/object.cpp.orig
-+++ core/object.cpp
-@@ -2067,8 +2067,13 @@ RWLock ObjectDB::rw_lock;
- void ObjectDB::cleanup() {
- rw_lock.write_lock();
- if (instances.size()) {
-+#ifdef TOOLS_ENABLED
- WARN_PRINT("ObjectDB instances leaked at exit (run with --verbose for details).");
-+#endif
- if (OS::get_singleton()->is_stdout_verbose()) {
-+#ifndef TOOLS_ENABLED
-+ WARN_PRINT("ObjectDB instances leaked at exit.");
-+#endif
- // Ensure calling the native classes because if a leaked instance has a script
- // that overrides any of those methods, it'd not be OK to call them at this point,
- // now the scripting languages have already been terminated.
Index: patches/patch-core_resource_cpp
===================================================================
RCS file: patches/patch-core_resource_cpp
diff -N patches/patch-core_resource_cpp
--- patches/patch-core_resource_cpp 14 Aug 2023 12:40:50 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-when building without tools, don't display error about resources still in use at
-exit unless '--verbose'
-
-Index: core/resource.cpp
---- core/resource.cpp.orig
-+++ core/resource.cpp
-@@ -414,8 +414,13 @@ RWLock ResourceCache::path_cache_lock;
-
- void ResourceCache::clear() {
- if (resources.size()) {
-+#if defined(TOOLS_ENABLED)
- ERR_PRINT("Resources still in use at exit (run with --verbose for details).");
-+#endif
- if (OS::get_singleton()->is_stdout_verbose()) {
-+#ifndef TOOLS_ENABLED
-+ ERR_PRINT("Resources still in use at exit (run with --verbose for details).");
-+#endif
- const String *K = nullptr;
- while ((K = resources.next(K))) {
- Resource *r = resources[*K];
Index: patches/patch-drivers_SCsub
===================================================================
RCS file: /home/cvs/ports/games/godot/patches/patch-drivers_SCsub,v
retrieving revision 1.2
diff -u -p -r1.2 patch-drivers_SCsub
--- patches/patch-drivers_SCsub 11 Mar 2022 19:04:30 -0000 1.2
+++ patches/patch-drivers_SCsub 9 Nov 2023 16:24:47 -0000
@@ -1,4 +1,4 @@
-add sndio
+add sndio driver

Index: drivers/SCsub
--- drivers/SCsub.orig
Index: patches/patch-drivers_unix_os_unix_cpp
===================================================================
RCS file: /home/cvs/ports/games/godot/patches/patch-drivers_unix_os_unix_cpp,v
retrieving revision 1.12
diff -u -p -r1.12 patch-drivers_unix_os_unix_cpp
--- patches/patch-drivers_unix_os_unix_cpp 10 Oct 2022 18:39:05 -0000 1.12
+++ patches/patch-drivers_unix_os_unix_cpp 9 Nov 2023 16:24:47 -0000
@@ -1,10 +1,10 @@
-fix get_executable_path on OpenBSD; backport of
-https://github.com/godotengine/godot/pull/61540
+fix get_executable_path(); backport of
+<https://github.com/godotengine/godot/pull/61540>.

Index: drivers/unix/os_unix.cpp
--- drivers/unix/os_unix.cpp.orig
+++ drivers/unix/os_unix.cpp
-@@ -497,12 +497,6 @@ String OS_Unix::get_executable_path() const {
+@@ -741,12 +741,6 @@ String OS_Unix::get_executable_path() const {
return OS::get_executable_path();
}
return b;
@@ -17,11 +17,49 @@ Index: drivers/unix/os_unix.cpp
#elif defined(__FreeBSD__)
int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
char buf[MAXPATHLEN];
-@@ -529,7 +523,6 @@ String OS_Unix::get_executable_path() const {
+@@ -774,8 +768,43 @@ String OS_Unix::get_executable_path() const {

return path;
#else
- ERR_PRINT("Warning, don't know how to obtain executable path on this OS! Please override this function properly.");
- return OS::get_executable_path();
+- return OS::get_executable_path();
++ char path[PATH_MAX];
++ String prog;
++ const char *argv0;
++ char *e, *dup, *t, *entry;
++
++ prog = OS::get_executable_path();
++ argv0 = prog.utf8().get_data(); // XXX what if it's not utf8?
++
++ if (*argv0 == '/' || strncmp(argv0, "./", 2) == 0) {
++ if (realpath(argv0, path) != NULL)
++ return String(path);
++ }
++
++ if ((e = getenv("PATH")) == NULL) {
++ WARN_PRINT("PATH not defined and argv[0] doesn't seem"
++ " a path");
++ return prog;
++ }
++
++ if ((dup = strdup(e)) == NULL)
++ return prog;
++
++ t = dup;
++ while ((entry = strsep(&t, ":")) != NULL) {
++ int r = snprintf(path, sizeof(path), "%s/%s",
++ entry, argv0);
++ if (r < 0 || (size_t)r >= sizeof(path))
++ continue;
++ if (access(path, X_OK) == 0) {
++ free(dup);
++ return String(path);
++ }
++ }
++ free(dup);
++
++ WARN_PRINT("executable path not found!");
++ return prog;
#endif
}
+
Index: patches/patch-godotsteam_godotsteam_cpp
===================================================================
RCS file: patches/patch-godotsteam_godotsteam_cpp
diff -N patches/patch-godotsteam_godotsteam_cpp
--- patches/patch-godotsteam_godotsteam_cpp 11 Aug 2023 12:36:10 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,168 +0,0 @@
-stub Steam::inputActionEventCallback
-stub setDualSenseTriggerEffect
-remove deprecated/incompatible namespaces ISteamHTMLSurface
-InitiateGameConnection_DEPRECATED => InitiateGameConnection
-fix/remove dualsense/SCE namespace
-
-Index: godotsteam/godotsteam.cpp
---- godotsteam/godotsteam.cpp.orig
-+++ godotsteam/godotsteam.cpp
-@@ -1885,7 +1885,7 @@ void Steam::keyChar(uint32 unicode_char, int key_modif
- if(this_handle == 0){
- this_handle = browser_handle;
- }
-- SteamHTMLSurface()->KeyChar(this_handle, unicode_char, (ISteamHTMLSurface::EHTMLKeyModifiers)key_modifiers);
-+ SteamHTMLSurface()->KeyChar(this_handle, unicode_char, (EHTMLKeyModifiers)key_modifiers);
- }
- }
-
-@@ -1896,7 +1896,7 @@ void Steam::keyDown(uint32 native_key_code, int key_mo
- if(this_handle == 0){
- this_handle = browser_handle;
- }
-- SteamHTMLSurface()->KeyDown(this_handle, native_key_code, (ISteamHTMLSurface::EHTMLKeyModifiers)key_modifiers);
-+ SteamHTMLSurface()->KeyDown(this_handle, native_key_code, (EHTMLKeyModifiers)key_modifiers);
- }
- }
-
-@@ -1907,7 +1907,7 @@ void Steam::keyUp(uint32 native_key_code, int key_modi
- if(this_handle == 0){
- this_handle = browser_handle;
- }
-- SteamHTMLSurface()->KeyUp(this_handle, native_key_code, (ISteamHTMLSurface::EHTMLKeyModifiers)key_modifiers);
-+ SteamHTMLSurface()->KeyUp(this_handle, native_key_code, (EHTMLKeyModifiers)key_modifiers);
- }
- }
-
-@@ -1929,7 +1929,7 @@ void Steam::mouseDoubleClick(HTMLMouseButton mouse_but
- if(this_handle == 0){
- this_handle = browser_handle;
- }
-- SteamHTMLSurface()->MouseDoubleClick(this_handle, (ISteamHTMLSurface::EHTMLMouseButton)mouse_button);
-+ SteamHTMLSurface()->MouseDoubleClick(this_handle, (EHTMLMouseButton)mouse_button);
- }
- }
-
-@@ -1940,7 +1940,7 @@ void Steam::mouseDown(HTMLMouseButton mouse_button, ui
- if(this_handle == 0){
- this_handle = browser_handle;
- }
-- SteamHTMLSurface()->MouseDown(this_handle, (ISteamHTMLSurface::EHTMLMouseButton)mouse_button);
-+ SteamHTMLSurface()->MouseDown(this_handle, (EHTMLMouseButton)mouse_button);
- }
- }
-
-@@ -1962,7 +1962,7 @@ void Steam::mouseUp(HTMLMouseButton mouse_button, uint
- if(this_handle == 0){
- this_handle = browser_handle;
- }
-- SteamHTMLSurface()->MouseUp(this_handle, (ISteamHTMLSurface::EHTMLMouseButton)mouse_button);
-+ SteamHTMLSurface()->MouseUp(this_handle, (EHTMLMouseButton)mouse_button);
- }
- }
-
-@@ -2710,7 +2710,9 @@ bool Steam::setInputActionManifestFilePath(const Strin
- }
-
- // Set the trigger effect for a DualSense controller
--void Steam::setDualSenseTriggerEffect(uint64_t input_handle, int parameter_index, int trigger_mask, SCEPadTriggerEffectMode effect_mode, int position, int amplitude, int frequency){
-+void Steam::setDualSenseTriggerEffect(uint64_t input_handle, int parameter_index, int trigger_mask, int effect_mode, int position, int amplitude, int frequency){
-+ return;
-+ /*
- if(SteamInput() != NULL){
- ScePadTriggerEffectParam these_parameters;
- memset(&these_parameters, 0, sizeof(these_parameters));
-@@ -2741,6 +2743,7 @@ void Steam::setDualSenseTriggerEffect(uint64_t input_h
- these_parameters.command[parameter_index].commandData.vibrationParam.frequency = frequency;
- SteamInput()->SetDualSenseTriggerEffect((InputHandle_t)input_handle, &these_parameters);
- }
-+ */
- }
-
- //! Waits on an IPC event from Steam sent when there is new data to be fetched from the data drop. Returns true when data was recievied before the timeout expires. Useful for games with a dedicated input thread.
-@@ -7927,7 +7930,7 @@ Dictionary Steam::initiateGameConnection(uint64_t serv
- int authSize = 2048;
- auth.resize(authSize);
- CSteamID server = (uint64)server_id;
-- if(SteamUser()->InitiateGameConnection_DEPRECATED(&auth, authSize, server, server_ip, server_port, secure) > 0){
-+ if(SteamUser()->InitiateGameConnection(&auth, authSize, server, server_ip, server_port, secure) > 0){
- connection["auth_blob"] = auth;
- connection["server_id"] = server_id;
- connection["server_ip"] = server_ip;
-@@ -8026,7 +8029,7 @@ void Steam::stopVoiceRecording(){
- //! Notify the game server that we are disconnecting. NOTE: This is part of the old user authentication API and should not be mixed with the new API.
- void Steam::terminateGameConnection(uint32 server_ip, uint16 server_port){
- if(SteamUser() != NULL){
-- SteamUser()->TerminateGameConnection_DEPRECATED(server_ip, server_port);
-+ SteamUser()->TerminateGameConnection(server_ip, server_port);
- }
- }
-
-@@ -9502,27 +9505,28 @@ void Steam::http_request_headers_received(HTTPRequestH
- //
- // Purpose: when callbacks are enabled this fires each time a controller action state changes
- void Steam::inputActionEventCallback(SteamInputActionEvent_t* call_data){
-- uint64_t input_handle = call_data->controllerHandle;
-- int event_type = call_data->eEventType;
-- uint64_t analog_handle = call_data->analogAction.actionHandle;
-- uint64_t digital_handle = call_data->digitalAction.actionHandle;
-+ return;
-+ //uint64_t input_handle = call_data->controllerHandle;
-+ //int event_type = call_data->eEventType;
-+ //uint64_t analog_handle = call_data->analogAction.actionHandle;
-+ //uint64_t digital_handle = call_data->digitalAction.actionHandle;
- // Get the digital action data
-- Dictionary digital_action;
-- digital_action["state"] = call_data->digitalAction.digitalActionData.bState;
-- digital_action["active"] = call_data->digitalAction.digitalActionData.bActive;
-+ //Dictionary digital_action;
-+ //digital_action["state"] = call_data->digitalAction.digitalActionData.bState;
-+ //digital_action["active"] = call_data->digitalAction.digitalActionData.bActive;
- // Get the analog action data
-- Dictionary analog_action;
-- analog_action["mode"] = call_data->analogAction.analogActionData.eMode;
-- analog_action["x"] = call_data->analogAction.analogActionData.x;
-- analog_action["y"] = call_data->analogAction.analogActionData.y;
-- analog_action["active"] = call_data->analogAction.analogActionData.bActive;
-+ //Dictionary analog_action;
-+ //analog_action["mode"] = call_data->analogAction.analogActionData.eMode;
-+ //analog_action["x"] = call_data->analogAction.analogActionData.x;
-+ //analog_action["y"] = call_data->analogAction.analogActionData.y;
-+ //analog_action["active"] = call_data->analogAction.analogActionData.bActive;
- // Split into a dictionary since Godot won't allow more than 6 arguments sent back
-- Dictionary action_information;
-- action_information["analog_action_handle"] = analog_handle;
-- action_information["analog_action_data"] = analog_action;
-- action_information["digital_action_handle"] = digital_handle;
-- action_information["digital_action_data"] = digital_action;
-- emit_signal("input_action_event", input_handle, event_type, action_information);
-+ //Dictionary action_information;
-+ //action_information["analog_action_handle"] = analog_handle;
-+ //action_information["analog_action_data"] = analog_action;
-+ //action_information["digital_action_handle"] = digital_handle;
-+ //action_information["digital_action_data"] = digital_action;
-+ //emit_signal("input_action_event", input_handle, event_type, action_information);
- }
-
- //! Purpose: called when a new controller has been connected, will fire once per controller if multiple new controllers connect in the same frame
-@@ -13610,13 +13614,13 @@ void Steam::_bind_methods(){
- BIND_ENUM_CONSTANT(RESULT_PHONE_NUMBER_IS_VOIP);
-
- // SCEPadTriggerEffectMode Enums
-- BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_OFF);
-- BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_FEEDBACK);
-- BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_WEAPON);
-- BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_VIBRATION);
-- BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_MULTIPLE_POSITION_FEEDBACK);
-- BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_SLOPE_FEEDBACK);
-- BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_MULTIPLE_POSITION_VIBRATION);
-+ //BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_OFF);
-+ //BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_FEEDBACK);
-+ //BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_WEAPON);
-+ //BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_VIBRATION);
-+ //BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_MULTIPLE_POSITION_FEEDBACK);
-+ //BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_SLOPE_FEEDBACK);
-+ //BIND_ENUM_CONSTANT(PAD_TRIGGER_EFFECT_MODE_MULTIPLE_POSITION_VIBRATION);
-
- // SocketConnectionType Enums
- BIND_ENUM_CONSTANT(NET_SOCKET_CONNECTION_TYPE_NOT_CONNECTED);
Index: patches/patch-godotsteam_godotsteam_h
===================================================================
RCS file: patches/patch-godotsteam_godotsteam_h
diff -N patches/patch-godotsteam_godotsteam_h
--- patches/patch-godotsteam_godotsteam_h 11 Aug 2023 12:36:10 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,178 +0,0 @@
-don't use isteamdualsense.h API while not part of games/goldberg_emulator
-fix namespace - need to remove ISteamHTMLSurface:: to build
-disable SCE_* namespace, which is from isteamdualsense which we don't have
-(yet)
-
-Index: godotsteam/godotsteam.h
---- godotsteam/godotsteam.h.orig
-+++ godotsteam/godotsteam.h
-@@ -22,7 +22,6 @@
- // Include Steamworks API headers
- #include "steam/steam_api.h"
- #include "steam/steamnetworkingfakeip.h"
--#include "steam/isteamdualsense.h"
-
- // Include Godot headers
- #include "core/object.h"
-@@ -482,59 +481,59 @@ class Steam: public Object {
-
- // HTMLSurface enums
- enum HTMLKeyModifiers {
-- HTML_KEY_MODIFIER_NONE = ISteamHTMLSurface::k_eHTMLKeyModifier_None,
-- HTML_KEY_MODIFIER_ALT_DOWN = ISteamHTMLSurface::k_eHTMLKeyModifier_AltDown,
-- HTML_KEY_MODIFIER_CTRL_DOWN = ISteamHTMLSurface::k_eHTMLKeyModifier_CtrlDown,
-- HTML_KEY_MODIFIER_SHIFT_DOWN = ISteamHTMLSurface::k_eHTMLKeyModifier_ShiftDown
-+ HTML_KEY_MODIFIER_NONE = k_eHTMLKeyModifier_None,
-+ HTML_KEY_MODIFIER_ALT_DOWN = k_eHTMLKeyModifier_AltDown,
-+ HTML_KEY_MODIFIER_CTRL_DOWN = k_eHTMLKeyModifier_CtrlDown,
-+ HTML_KEY_MODIFIER_SHIFT_DOWN = k_eHTMLKeyModifier_ShiftDown
- };
- enum HTMLMouseButton {
-- HTML_MOUSE_BUTTON_LEFT = ISteamHTMLSurface::eHTMLMouseButton_Left,
-- HTML_MOUSE_BUTTON_RIGHT = ISteamHTMLSurface::eHTMLMouseButton_Right,
-- HTML_MOUSE_BUTTON_MIDDLE = ISteamHTMLSurface::eHTMLMouseButton_Middle
-+ HTML_MOUSE_BUTTON_LEFT = eHTMLMouseButton_Left,
-+ HTML_MOUSE_BUTTON_RIGHT = eHTMLMouseButton_Right,
-+ HTML_MOUSE_BUTTON_MIDDLE = eHTMLMouseButton_Middle
- };
- enum MouseCursor {
-- DC_USER = ISteamHTMLSurface::dc_user,
-- DC_NONE = ISteamHTMLSurface::dc_none,
-- DC_ARROW = ISteamHTMLSurface::dc_arrow,
-- DC_IBEAM = ISteamHTMLSurface::dc_ibeam,
-- DC_HOUR_GLASS = ISteamHTMLSurface::dc_hourglass,
-- DC_WAIT_ARROW = ISteamHTMLSurface::dc_waitarrow,
-- DC_CROSSHAIR = ISteamHTMLSurface::dc_crosshair,
-- DC_UP = ISteamHTMLSurface::dc_up,
-- DC_SIZE_NW = ISteamHTMLSurface::dc_sizenw,
-- DC_SIZE_SE = ISteamHTMLSurface::dc_sizese,
-- DC_SIZE_NE = ISteamHTMLSurface::dc_sizene,
-- DC_SIZE_SW = ISteamHTMLSurface::dc_sizesw,
-- DC_SIZE_W = ISteamHTMLSurface::dc_sizew,
-- DC_SIZE_E = ISteamHTMLSurface::dc_sizee,
-- DC_SIZE_N = ISteamHTMLSurface::dc_sizen,
-- DC_SIZE_S = ISteamHTMLSurface::dc_sizes,
-- DC_SIZE_WE = ISteamHTMLSurface::dc_sizewe,
-- DC_SIZE_NS = ISteamHTMLSurface::dc_sizens,
-- DC_SIZE_ALL = ISteamHTMLSurface::dc_sizeall,
-- DC_NO = ISteamHTMLSurface::dc_no,
-- DC_HAND = ISteamHTMLSurface::dc_hand,
-- DC_BLANK = ISteamHTMLSurface::dc_blank,
-- DC_MIDDLE_PAN = ISteamHTMLSurface::dc_middle_pan,
-- DC_NORTH_PAN = ISteamHTMLSurface::dc_north_pan,
-- DC_NORTH_EAST_PAN = ISteamHTMLSurface::dc_north_east_pan,
-- DC_EAST_PAN = ISteamHTMLSurface::dc_east_pan,
-- DC_SOUTH_EAST_PAN = ISteamHTMLSurface::dc_south_east_pan,
-- DC_SOUTH_PAN = ISteamHTMLSurface::dc_south_pan,
-- DC_SOUTH_WEST_PAN = ISteamHTMLSurface::dc_south_west_pan,
-- DC_WEST_PAN = ISteamHTMLSurface::dc_west_pan,
-- DC_NORTH_WEST_PAN = ISteamHTMLSurface::dc_north_west_pan,
-- DC_ALIAS = ISteamHTMLSurface::dc_alias,
-- DC_CELL = ISteamHTMLSurface::dc_cell,
-- DC_COL_RESIZE = ISteamHTMLSurface::dc_colresize,
-- DC_COPY_CUR = ISteamHTMLSurface::dc_copycur,
-- DC_VERTICAL_TEXT = ISteamHTMLSurface::dc_verticaltext,
-- DC_ROW_RESIZE = ISteamHTMLSurface::dc_rowresize,
-- DC_ZOOM_IN = ISteamHTMLSurface::dc_zoomin,
-- DC_ZOOM_OUT = ISteamHTMLSurface::dc_zoomout,
-- DC_HELP = ISteamHTMLSurface::dc_help,
-- DC_CUSTOM = ISteamHTMLSurface::dc_custom,
-- DC_LAST = ISteamHTMLSurface::dc_last
-+ DC_USER = dc_user,
-+ DC_NONE = dc_none,
-+ DC_ARROW = dc_arrow,
-+ DC_IBEAM = dc_ibeam,
-+ DC_HOUR_GLASS = dc_hourglass,
-+ DC_WAIT_ARROW = dc_waitarrow,
-+ DC_CROSSHAIR = dc_crosshair,
-+ DC_UP = dc_up,
-+ DC_SIZE_NW = dc_sizenw,
-+ DC_SIZE_SE = dc_sizese,
-+ DC_SIZE_NE = dc_sizene,
-+ DC_SIZE_SW = dc_sizesw,
-+ DC_SIZE_W = dc_sizew,
-+ DC_SIZE_E = dc_sizee,
-+ DC_SIZE_N = dc_sizen,
-+ DC_SIZE_S = dc_sizes,
-+ DC_SIZE_WE = dc_sizewe,
-+ DC_SIZE_NS = dc_sizens,
-+ DC_SIZE_ALL = dc_sizeall,
-+ DC_NO = dc_no,
-+ DC_HAND = dc_hand,
-+ DC_BLANK = dc_blank,
-+ DC_MIDDLE_PAN = dc_middle_pan,
-+ DC_NORTH_PAN = dc_north_pan,
-+ DC_NORTH_EAST_PAN = dc_north_east_pan,
-+ DC_EAST_PAN = dc_east_pan,
-+ DC_SOUTH_EAST_PAN = dc_south_east_pan,
-+ DC_SOUTH_PAN = dc_south_pan,
-+ DC_SOUTH_WEST_PAN = dc_south_west_pan,
-+ DC_WEST_PAN = dc_west_pan,
-+ DC_NORTH_WEST_PAN = dc_north_west_pan,
-+ DC_ALIAS = dc_alias,
-+ DC_CELL = dc_cell,
-+ DC_COL_RESIZE = dc_colresize,
-+ DC_COPY_CUR = dc_copycur,
-+ DC_VERTICAL_TEXT = dc_verticaltext,
-+ DC_ROW_RESIZE = dc_rowresize,
-+ DC_ZOOM_IN = dc_zoomin,
-+ DC_ZOOM_OUT = dc_zoomout,
-+ DC_HELP = dc_help,
-+ DC_CUSTOM = dc_custom,
-+ DC_LAST = dc_last
- };
-
- // HTTP enums
-@@ -1088,6 +1087,7 @@ class Steam: public Object {
- INPUT_TYPE_COUNT = k_ESteamInputType_Count,
- INPUT_TYPE_MAXIMUM_POSSIBLE_VALUE = k_ESteamInputType_MaximumPossibleValue
- };
-+ /*
- enum SCEPadTriggerEffectMode {
- PAD_TRIGGER_EFFECT_MODE_OFF = SCE_PAD_TRIGGER_EFFECT_MODE_OFF,
- PAD_TRIGGER_EFFECT_MODE_FEEDBACK = SCE_PAD_TRIGGER_EFFECT_MODE_FEEDBACK,
-@@ -1097,6 +1097,7 @@ class Steam: public Object {
- PAD_TRIGGER_EFFECT_MODE_SLOPE_FEEDBACK = SCE_PAD_TRIGGER_EFFECT_MODE_SLOPE_FEEDBACK,
- PAD_TRIGGER_EFFECT_MODE_MULTIPLE_POSITION_VIBRATION = SCE_PAD_TRIGGER_EFFECT_MODE_MULTIPLE_POSITION_VIBRATION
- };
-+ */
- enum XboxOrigin {
- XBOX_ORIGIN_A = k_EXboxOrigin_A,
- XBOX_ORIGIN_B = k_EXboxOrigin_B,
-@@ -1191,9 +1192,9 @@ class Steam: public Object {
- };
- enum P2PSessionError {
- P2P_SESSION_ERROR_NONE = k_EP2PSessionErrorNone,
-- P2P_SESSION_ERROR_NOT_RUNNING_APP = k_EP2PSessionErrorNotRunningApp_DELETED,
-+ P2P_SESSION_ERROR_NOT_RUNNING_APP = k_EP2PSessionErrorNotRunningApp,
- P2P_SESSION_ERROR_NO_RIGHTS_TO_APP = k_EP2PSessionErrorNoRightsToApp,
-- P2P_SESSION_ERROR_DESTINATION_NOT_LOGGED_ON = k_EP2PSessionErrorDestinationNotLoggedIn_DELETED,
-+ P2P_SESSION_ERROR_DESTINATION_NOT_LOGGED_ON = k_EP2PSessionErrorDestinationNotLoggedIn,
- P2P_SESSION_ERROR_TIMEOUT = k_EP2PSessionErrorTimeout,
- P2P_SESSION_ERROR_MAX = k_EP2PSessionErrorMax
- };
-@@ -1990,7 +1991,7 @@ class Steam: public Object {
- void triggerVibration(uint64_t input_handle, uint16_t left_speed, uint16_t right_speed);
- void triggerVibrationExtended(uint64_t input_handle, uint16_t left_speed, uint16_t right_speed, uint16_t left_trigger_speed, uint16_t right_trigger_speed);
- bool setInputActionManifestFilePath(const String& manifest_path);
-- void setDualSenseTriggerEffect(uint64_t input_handle, int parameter_index, int trigger_mask, SCEPadTriggerEffectMode effect_mode, int position, int amplitude, int frequency);
-+ void setDualSenseTriggerEffect(uint64_t input_handle, int parameter_index, int trigger_mask, int effect_mode, int position, int amplitude, int frequency);
- bool waitForData(bool wait_forever, uint32 timeout);
-
- // Inventory ////////////////////////////
-@@ -3013,7 +3014,7 @@ VARIANT_ENUM_CAST(Steam::RemoteStoragePlatform);
- VARIANT_ENUM_CAST(Steam::RemoteStoragePublishedFileVisibility);
- VARIANT_ENUM_CAST(Steam::Result);
-
--VARIANT_ENUM_CAST(Steam::SCEPadTriggerEffectMode);
-+//VARIANT_ENUM_CAST(Steam::SCEPadTriggerEffectMode);
- VARIANT_ENUM_CAST(Steam::SocketConnectionType);
- VARIANT_ENUM_CAST(Steam::SocketState);
-
-@@ -3040,4 +3041,4 @@ VARIANT_ENUM_CAST(Steam::WorkshopVote);
-
- VARIANT_ENUM_CAST(Steam::XboxOrigin);
-
--#endif // GODOTSTEAM_H
-\ No newline at end of file
-+#endif // GODOTSTEAM_H
Index: patches/patch-methods_py
===================================================================
RCS file: patches/patch-methods_py
diff -N patches/patch-methods_py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-methods_py 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,14 @@
+drop hardcoded -O3
+
+Index: methods.py
+--- methods.py.orig
++++ methods.py
+@@ -140,8 +140,6 @@ def force_optimization_on_debug(self):
+ self["CFLAGS"] = [x for x in self["CFLAGS"] if not x.startswith("/O")]
+ self["CXXFLAGS"] = [x for x in self["CXXFLAGS"] if not x.startswith("/O")]
+ self.AppendUnique(CCFLAGS=["/O2"])
+- else:
+- self.AppendUnique(CCFLAGS=["-O3"])
+
+
+ def add_module_version_string(self, s):
Index: patches/patch-misc_dist_linux_godot_6
===================================================================
RCS file: /home/cvs/ports/games/godot/patches/patch-misc_dist_linux_godot_6,v
retrieving revision 1.2
diff -u -p -r1.2 patch-misc_dist_linux_godot_6
--- patches/patch-misc_dist_linux_godot_6 11 Mar 2022 19:04:30 -0000 1.2
+++ patches/patch-misc_dist_linux_godot_6 9 Nov 2023 16:24:47 -0000
@@ -2,7 +2,7 @@ Index: misc/dist/linux/godot.6
--- misc/dist/linux/godot.6.orig
+++ misc/dist/linux/godot.6
@@ -1,4 +1,4 @@
--.TH GODOT "6" "January 2020" "godot 3.2" "Games"
+-.TH GODOT "6" "January 2020" "godot 4.0" "Games"
+.TH GODOT "6" "January 2020" "Godot" "Games"
.SH NAME
godot \- multi\-platform 2D and 3D game engine with a feature\-rich editor
@@ -15,4 +15,4 @@ Index: misc/dist/linux/godot.6
+Audio driver ('sndio', 'Dummy').
.TP
\fB\-\-video\-driver\fR <driver>
- Video driver ('GLES3', 'GLES2').
+ Video driver ('Vulkan', 'GLES2').
Index: patches/patch-misc_dist_linux_org_godotengine_Godot_desktop
===================================================================
RCS file: /home/cvs/ports/games/godot/patches/patch-misc_dist_linux_org_godotengine_Godot_desktop,v
retrieving revision 1.2
diff -u -p -r1.2 patch-misc_dist_linux_org_godotengine_Godot_desktop
--- patches/patch-misc_dist_linux_org_godotengine_Godot_desktop 11 Aug 2022 19:40:59 -0000 1.2
+++ patches/patch-misc_dist_linux_org_godotengine_Godot_desktop 9 Nov 2023 16:24:47 -0000
@@ -6,7 +6,7 @@ Index: misc/dist/linux/org.godotengine.G
Comment[fr]=Moteur de jeu 2D et 3D multiplateforme avec un éditeur riche en fonctionnalités
Comment[zh_CN]=多平台 2D å'Œ 3D 游戏引æ"Žï¼Œå¸¦æœ‰åŠŸèƒ½ä¸°å¯Œçš„ç¼–è¾'器
-Exec=godot %f
-+Exec=${TRUEPREFIX}/bin/godot-tools %f
++Exec=${TRUEPREFIX}/bin/godot-editor %f
Icon=godot
Terminal=false
PrefersNonDefaultGPU=true
Index: patches/patch-modules_mono_build_scripts_mono_configure_py
===================================================================
RCS file: patches/patch-modules_mono_build_scripts_mono_configure_py
diff -N patches/patch-modules_mono_build_scripts_mono_configure_py
--- patches/patch-modules_mono_build_scripts_mono_configure_py 24 Sep 2023 19:08:52 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,51 +0,0 @@
-include a suffix argument for find_file_in_dir
-monosgen is linked statically; use .a and not .so suffix
-disable librt/libdl
-
-Index: modules/mono/build_scripts/mono_configure.py
---- modules/mono/build_scripts/mono_configure.py.orig
-+++ modules/mono/build_scripts/mono_configure.py
-@@ -31,15 +31,16 @@ def find_name_in_dir_files(directory, names, prefixes=
- return ""
-
-
--def find_file_in_dir(directory, names, prefixes=[""], extensions=[""]):
-- for extension in extensions:
-- if extension and not extension.startswith("."):
-- extension = "." + extension
-- for prefix in prefixes:
-- for curname in names:
-- filename = prefix + curname + extension
-- if os.path.isfile(os.path.join(directory, filename)):
-- return filename
-+def find_file_in_dir(directory, names, prefixes=[""], extensions=[""], suffix=[""]):
-+ for sufx in suffix:
-+ for extension in extensions:
-+ if extension and not extension.startswith("."):
-+ extension = "." + extension
-+ for prefix in prefixes:
-+ for curname in names:
-+ filename = prefix + curname + extension + sufx
-+ if os.path.isfile(os.path.join(directory, filename)):
-+ return filename
- return ""
-
-
-@@ -335,7 +336,7 @@ def configure(env, env_mono):
- elif is_javascript:
- env.Append(LIBS=["m", "rt", "dl", "pthread"])
- else:
-- env.Append(LIBS=["m", "rt", "dl", "pthread"])
-+ env.Append(LIBS=["m", "pthread"])
-
- if not mono_static:
- mono_so_file = find_file_in_dir(
-@@ -358,7 +359,7 @@ def configure(env, env_mono):
- tmpenv.ParseConfig("pkg-config monosgen-2 --libs-only-L")
-
- for hint_dir in tmpenv["LIBPATH"]:
-- file_found = find_file_in_dir(hint_dir, mono_lib_names, prefixes=["lib"], extensions=[sharedlib_ext])
-+ file_found = find_file_in_dir(hint_dir, mono_lib_names, prefixes=["lib"], extensions=".a")
- if file_found:
- mono_lib_path = hint_dir
- mono_so_file = file_found
Index: patches/patch-modules_mono_csharp_script_cpp
===================================================================
RCS file: patches/patch-modules_mono_csharp_script_cpp
diff -N patches/patch-modules_mono_csharp_script_cpp
--- patches/patch-modules_mono_csharp_script_cpp 24 Sep 2023 19:08:52 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-fix error: cannot initialize return object of type 'bool' with
-an rvalue of type 'nullptr_t'
-
-Index: modules/mono/csharp_script.cpp
---- modules/mono/csharp_script.cpp.orig
-+++ modules/mono/csharp_script.cpp
-@@ -2310,7 +2310,7 @@ bool CSharpScript::_update_exports(PlaceHolderScriptIn
-
- GDMonoMethod *ctor = script_class->get_method(CACHED_STRING_NAME(dotctor), 0);
-
-- ERR_FAIL_NULL_V_MSG(ctor, NULL,
-+ ERR_FAIL_NULL_V_MSG(ctor, false,
- "Cannot construct temporary MonoObject because the class does not define a parameterless constructor: '" + get_path() + "'.");
-
- MonoException *ctor_exc = NULL;
-@@ -2891,10 +2891,10 @@ bool CSharpScript::can_instance() const {
- if (extra_cond && !script_class) {
- if (GDMono::get_singleton()->get_project_assembly() == NULL) {
- // The project assembly is not loaded
-- ERR_FAIL_V_MSG(NULL, "Cannot instance script because the project assembly is not loaded. Script: '" + get_path() + "'.");
-+ ERR_FAIL_V_MSG(false, "Cannot instance script because the project assembly is not loaded. Script: '" + get_path() + "'.");
- } else {
- // The project assembly is loaded, but the class could not found
-- ERR_FAIL_V_MSG(NULL, "Cannot instance script because the class '" + name + "' could not be found. Script: '" + get_path() + "'.");
-+ ERR_FAIL_V_MSG(false, "Cannot instance script because the class '" + name + "' could not be found. Script: '" + get_path() + "'.");
- }
- }
-
Index: patches/patch-modules_mono_glue_GodotSharp_GodotSharp_GodotSharp_csproj
===================================================================
RCS file: patches/patch-modules_mono_glue_GodotSharp_GodotSharp_GodotSharp_csproj
diff -N patches/patch-modules_mono_glue_GodotSharp_GodotSharp_GodotSharp_csproj
--- patches/patch-modules_mono_glue_GodotSharp_GodotSharp_GodotSharp_csproj 24 Sep 2023 19:08:52 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-needs LangVersion 7.1 for 'default literal'; otherwise error CS8107
-
-Index: modules/mono/glue/GodotSharp/GodotSharp/GodotSharp.csproj
---- modules/mono/glue/GodotSharp/GodotSharp/GodotSharp.csproj.orig
-+++ modules/mono/glue/GodotSharp/GodotSharp/GodotSharp.csproj
-@@ -7,6 +7,7 @@
- <TargetFramework>netstandard2.0</TargetFramework>
- <DocumentationFile>$(OutputPath)/$(AssemblyName).xml</DocumentationFile>
- <EnableDefaultItems>false</EnableDefaultItems>
-+ <LangVersion>7.1</LangVersion>
- </PropertyGroup>
- <PropertyGroup>
- <DefineConstants>$(DefineConstants);GODOT</DefineConstants>
Index: patches/patch-modules_mono_godotsharp_dirs_cpp
===================================================================
RCS file: patches/patch-modules_mono_godotsharp_dirs_cpp
diff -N patches/patch-modules_mono_godotsharp_dirs_cpp
--- patches/patch-modules_mono_godotsharp_dirs_cpp 24 Sep 2023 19:08:52 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,93 +0,0 @@
-fix paths for our mono and godot install dirs
-make data_editor_prebuilt_api_dir() available also when !TOOLS_ENABLED
-
-Index: modules/mono/godotsharp_dirs.cpp
---- modules/mono/godotsharp_dirs.cpp.orig
-+++ modules/mono/godotsharp_dirs.cpp
-@@ -97,6 +97,8 @@ class _GodotSharpDirs { (public)
- String res_temp_assemblies_dir;
- String mono_user_dir;
- String mono_logs_dir;
-+ String data_editor_tools_dir;
-+ String data_editor_prebuilt_api_dir;
-
- #ifdef TOOLS_ENABLED
- String mono_solutions_dir;
-@@ -106,8 +108,6 @@ class _GodotSharpDirs { (public)
- String sln_filepath;
- String csproj_filepath;
-
-- String data_editor_tools_dir;
-- String data_editor_prebuilt_api_dir;
- #else
- // Equivalent of res_assemblies_dir, but in the data directory rather than in 'res://'.
- // Only defined on export templates. Used when exporting assemblies outside of PCKs.
-@@ -177,20 +177,20 @@ class _GodotSharpDirs { (public)
- #endif
-
- String exe_dir = OS::get_singleton()->get_executable_path().get_base_dir();
-+ String share_dir = "${LOCALBASE}/share/godot";
-
--#ifdef TOOLS_ENABLED
--
-- String data_dir_root = exe_dir.plus_file("GodotSharp");
-+ String data_dir_root = share_dir.plus_file("GodotSharp");
- data_editor_tools_dir = data_dir_root.plus_file("Tools");
- data_editor_prebuilt_api_dir = data_dir_root.plus_file("Api");
-
- String data_mono_root_dir = data_dir_root.plus_file("Mono");
-- data_mono_etc_dir = data_mono_root_dir.plus_file("etc");
-+ data_mono_etc_dir = "${SYSCONFDIR}";
-+#ifdef TOOLS_ENABLED
-
- #ifdef ANDROID_ENABLED
- data_mono_lib_dir = gdmono::android::support::get_app_native_lib_dir();
- #else
-- data_mono_lib_dir = data_mono_root_dir.plus_file("lib");
-+ data_mono_lib_dir = "${LOCALBASE}/lib";
- #endif
-
- #ifdef WINDOWS_ENABLED
-@@ -214,6 +214,7 @@ class _GodotSharpDirs { (public)
-
- #else
-
-+#if 0
- String appname = ProjectSettings::get_singleton()->get("application/config/name");
- String appname_safe = OS::get_singleton()->get_safe_dir_name(appname);
- String data_dir_root = exe_dir.plus_file("data_" + appname_safe);
-@@ -223,11 +224,12 @@ class _GodotSharpDirs { (public)
-
- String data_mono_root_dir = data_dir_root.plus_file("Mono");
- data_mono_etc_dir = data_mono_root_dir.plus_file("etc");
-+#endif
-
- #ifdef ANDROID_ENABLED
- data_mono_lib_dir = gdmono::android::support::get_app_native_lib_dir();
- #else
-- data_mono_lib_dir = data_mono_root_dir.plus_file("lib");
-+ data_mono_lib_dir = "${LOCALBASE}/lib";
- data_game_assemblies_dir = data_dir_root.plus_file("Assemblies");
- #endif
-
-@@ -299,6 +301,10 @@ String get_mono_logs_dir() {
- return _GodotSharpDirs::get_singleton().mono_logs_dir;
- }
-
-+String get_data_editor_prebuilt_api_dir() {
-+ return _GodotSharpDirs::get_singleton().data_editor_prebuilt_api_dir;
-+}
-+
- #ifdef TOOLS_ENABLED
- String get_mono_solutions_dir() {
- return _GodotSharpDirs::get_singleton().mono_solutions_dir;
-@@ -324,9 +330,6 @@ String get_data_editor_tools_dir() {
- return _GodotSharpDirs::get_singleton().data_editor_tools_dir;
- }
-
--String get_data_editor_prebuilt_api_dir() {
-- return _GodotSharpDirs::get_singleton().data_editor_prebuilt_api_dir;
--}
- #else
- String get_data_game_assemblies_dir() {
- return _GodotSharpDirs::get_singleton().data_game_assemblies_dir;
Index: patches/patch-modules_mono_godotsharp_dirs_h
===================================================================
RCS file: patches/patch-modules_mono_godotsharp_dirs_h
diff -N patches/patch-modules_mono_godotsharp_dirs_h
--- patches/patch-modules_mono_godotsharp_dirs_h 24 Sep 2023 19:08:52 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-make get_data_editor_prebuilt_api_dir() available for !TOOLS_ENABLED
-build
-
-Index: modules/mono/godotsharp_dirs.h
---- modules/mono/godotsharp_dirs.h.orig
-+++ modules/mono/godotsharp_dirs.h
-@@ -47,6 +47,8 @@ String get_res_temp_assemblies_dir();
- String get_mono_user_dir();
- String get_mono_logs_dir();
-
-+String get_data_editor_prebuilt_api_dir();
-+
- #ifdef TOOLS_ENABLED
- String get_mono_solutions_dir();
- String get_build_logs_dir();
-@@ -56,7 +58,6 @@ String get_project_sln_path();
- String get_project_csproj_path();
-
- String get_data_editor_tools_dir();
--String get_data_editor_prebuilt_api_dir();
- #else
- String get_data_game_assemblies_dir();
- #endif
Index: patches/patch-modules_mono_mono_gd_gd_mono_cpp
===================================================================
RCS file: patches/patch-modules_mono_mono_gd_gd_mono_cpp
diff -N patches/patch-modules_mono_mono_gd_gd_mono_cpp
--- patches/patch-modules_mono_mono_gd_gd_mono_cpp 24 Sep 2023 19:08:52 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,21 +0,0 @@
-for _load_core_api_assembly, use the same load_assembly_from() approach for
-TOOLS_ENABLED also if !TOOLS_ENABLED
-
-Index: modules/mono/mono_gd/gd_mono.cpp
---- modules/mono/mono_gd/gd_mono.cpp.orig
-+++ modules/mono/mono_gd/gd_mono.cpp
-@@ -830,7 +830,13 @@ bool GDMono::_load_core_api_assembly(LoadedApiAssembly
- bool success = FileAccess::exists(assembly_path) &&
- load_assembly_from(CORE_API_ASSEMBLY_NAME, assembly_path, &r_loaded_api_assembly.assembly, p_refonly);
- #else
-- bool success = load_assembly(CORE_API_ASSEMBLY_NAME, &r_loaded_api_assembly.assembly, p_refonly);
-+ // non-editor builds don't have Main namespace
-+ String assembly_dir = GodotSharpDirs::get_data_editor_prebuilt_api_dir().plus_file(p_config);
-+
-+ String assembly_path = assembly_dir.plus_file(CORE_API_ASSEMBLY_NAME ".dll");
-+
-+ bool success = FileAccess::exists(assembly_path) &&
-+ load_assembly_from(CORE_API_ASSEMBLY_NAME, assembly_path, &r_loaded_api_assembly.assembly, p_refonly);
- #endif
-
- if (success) {
Index: patches/patch-modules_upnp_upnp_cpp
===================================================================
RCS file: patches/patch-modules_upnp_upnp_cpp
diff -N patches/patch-modules_upnp_upnp_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-modules_upnp_upnp_cpp 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,16 @@
+fix include path for miniupnpc
+
+Index: modules/upnp/upnp.cpp
+--- modules/upnp/upnp.cpp.orig
++++ modules/upnp/upnp.cpp
+@@ -30,8 +30,8 @@
+
+ #include "upnp.h"
+
+-#include <miniwget.h>
+-#include <upnpcommands.h>
++#include <miniupnpc/miniwget.h>
++#include <miniupnpc/upnpcommands.h>
+
+ #include <stdlib.h>
+
Index: patches/patch-modules_upnp_upnp_device_cpp
===================================================================
RCS file: patches/patch-modules_upnp_upnp_device_cpp
diff -N patches/patch-modules_upnp_upnp_device_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-modules_upnp_upnp_device_cpp 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,14 @@
+fix include path for miniupnpc
+
+Index: modules/upnp/upnp_device.cpp
+--- modules/upnp/upnp_device.cpp.orig
++++ modules/upnp/upnp_device.cpp
+@@ -32,7 +32,7 @@
+
+ #include "upnp.h"
+
+-#include <upnpcommands.h>
++#include <miniupnpc/upnpcommands.h>
+
+ String UPNPDevice::query_external_address() const {
+ ERR_FAIL_COND_V_MSG(!is_valid_gateway(), "", "The Internet Gateway Device must be valid.");
Index: patches/patch-modules_upnp_upnp_h
===================================================================
RCS file: patches/patch-modules_upnp_upnp_h
diff -N patches/patch-modules_upnp_upnp_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-modules_upnp_upnp_h 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,14 @@
+adjust include path for miniupnpc
+
+Index: modules/upnp/upnp.h
+--- modules/upnp/upnp.h.orig
++++ modules/upnp/upnp.h
+@@ -35,7 +35,7 @@
+
+ #include "core/object/ref_counted.h"
+
+-#include <miniupnpc.h>
++#include <miniupnpc/miniupnpc.h>
+
+ class UPNP : public RefCounted {
+ GDCLASS(UPNP, RefCounted);
Index: patches/patch-platform_linuxbsd_detect_py
===================================================================
RCS file: patches/patch-platform_linuxbsd_detect_py
diff -N patches/patch-platform_linuxbsd_detect_py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-platform_linuxbsd_detect_py 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,26 @@
+add sndio driver
+
+Index: platform/linuxbsd/detect.py
+--- platform/linuxbsd/detect.py.orig
++++ platform/linuxbsd/detect.py
+@@ -42,6 +42,7 @@ def get_opts():
+ BoolVariable("use_sowrap", "Dynamically load system libraries", True),
+ BoolVariable("alsa", "Use ALSA", True),
+ BoolVariable("pulseaudio", "Use PulseAudio", True),
++ BoolVariable("sndio", "Detect and use sndio", True),
+ BoolVariable("dbus", "Use D-Bus to handle screensaver and portal desktop settings", True),
+ BoolVariable("speechd", "Use Speech Dispatcher for Text-to-Speech support", True),
+ BoolVariable("fontconfig", "Use fontconfig for system fonts support", True),
+@@ -326,6 +327,12 @@ def configure(env: "Environment"):
+ env["pulseaudio"] = False
+ else:
+ env.Append(CPPDEFINES=["PULSEAUDIO_ENABLED", "_REENTRANT"])
++
++ if env["sndio"]:
++ if os.system("pkg-config --exists sndio") == 0: # 0 means found
++ print("Enabling sndio")
++ env.Append(CPPDEFINES=["SNDIO_ENABLED"])
++ env.ParseConfig("pkg-config --cflags --libs sndio")
+
+ if env["dbus"]:
+ if not env["use_sowrap"]:
Index: patches/patch-platform_linuxbsd_os_linuxbsd_cpp
===================================================================
RCS file: patches/patch-platform_linuxbsd_os_linuxbsd_cpp
diff -N patches/patch-platform_linuxbsd_os_linuxbsd_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-platform_linuxbsd_os_linuxbsd_cpp 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,16 @@
+add sndio driver
+
+Index: platform/linuxbsd/os_linuxbsd.cpp
+--- platform/linuxbsd/os_linuxbsd.cpp.orig
++++ platform/linuxbsd/os_linuxbsd.cpp
+@@ -1133,6 +1133,10 @@ String OS_LinuxBSD::get_system_ca_certificates() {
+ OS_LinuxBSD::OS_LinuxBSD() {
+ main_loop = nullptr;
+
++#ifdef SNDIO_ENABLED
++ AudioDriverManager::add_driver(&driver_sndio);
++#endif
++
+ #ifdef PULSEAUDIO_ENABLED
+ AudioDriverManager::add_driver(&driver_pulseaudio);
+ #endif
Index: patches/patch-platform_linuxbsd_os_linuxbsd_h
===================================================================
RCS file: patches/patch-platform_linuxbsd_os_linuxbsd_h
diff -N patches/patch-platform_linuxbsd_os_linuxbsd_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-platform_linuxbsd_os_linuxbsd_h 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,24 @@
+add sndio driver
+
+Index: platform/linuxbsd/os_linuxbsd.h
+--- platform/linuxbsd/os_linuxbsd.h.orig
++++ platform/linuxbsd/os_linuxbsd.h
+@@ -38,6 +38,7 @@
+ #include "drivers/alsa/audio_driver_alsa.h"
+ #include "drivers/alsamidi/midi_driver_alsamidi.h"
+ #include "drivers/pulseaudio/audio_driver_pulseaudio.h"
++#include "drivers/sndio/audio_driver_sndio.h"
+ #include "drivers/unix/os_unix.h"
+ #include "servers/audio_server.h"
+
+@@ -75,6 +76,10 @@ class OS_LinuxBSD : public OS_Unix {
+
+ #ifdef PULSEAUDIO_ENABLED
+ AudioDriverPulseAudio driver_pulseaudio;
++#endif
++
++#ifdef SNDIO_ENABLED
++ AudioDriverSndio driver_sndio;
+ #endif
+
+ CrashHandler crash_handler;
Index: patches/patch-platform_linuxbsd_tts_linux_cpp
===================================================================
RCS file: patches/patch-platform_linuxbsd_tts_linux_cpp
diff -N patches/patch-platform_linuxbsd_tts_linux_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-platform_linuxbsd_tts_linux_cpp 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,47 @@
+fix type error, using int for p_msg_id and dropping p_client_id, see
+https://github.com/godotengine/godot/pull/84017
+
+Index: platform/linuxbsd/tts_linux.cpp
+--- platform/linuxbsd/tts_linux.cpp.orig
++++ platform/linuxbsd/tts_linux.cpp
+@@ -82,11 +82,11 @@ void TTS_Linux::speech_init_thread_func(void *p_userda
+ void TTS_Linux::speech_event_index_mark(size_t p_msg_id, size_t p_client_id, SPDNotificationType p_type, char *p_index_mark) {
+ TTS_Linux *tts = TTS_Linux::get_singleton();
+ if (tts) {
+- callable_mp(tts, &TTS_Linux::_speech_index_mark).call_deferred(p_msg_id, p_client_id, (int)p_type, String::utf8(p_index_mark));
++ callable_mp(tts, &TTS_Linux::_speech_index_mark).call_deferred((int)p_msg_id, (int)p_type, String::utf8(p_index_mark));
+ }
+ }
+
+-void TTS_Linux::_speech_index_mark(size_t p_msg_id, size_t p_client_id, int p_type, const String &p_index_mark) {
++void TTS_Linux::_speech_index_mark(int p_msg_id, int p_type, const String &p_index_mark) {
+ _THREAD_SAFE_METHOD_
+
+ if (ids.has(p_msg_id)) {
+@@ -97,7 +97,7 @@ void TTS_Linux::_speech_index_mark(size_t p_msg_id, si
+ void TTS_Linux::speech_event_callback(size_t p_msg_id, size_t p_client_id, SPDNotificationType p_type) {
+ TTS_Linux *tts = TTS_Linux::get_singleton();
+ if (tts) {
+- callable_mp(tts, &TTS_Linux::_speech_event).call_deferred(p_msg_id, p_client_id, (int)p_type);
++ callable_mp(tts, &TTS_Linux::_speech_event).call_deferred((int)p_msg_id, (int)p_type);
+ }
+ }
+
+@@ -119,7 +119,7 @@ void TTS_Linux::_load_voices() {
+ }
+ }
+
+-void TTS_Linux::_speech_event(size_t p_msg_id, size_t p_client_id, int p_type) {
++void TTS_Linux::_speech_event(int p_msg_id, int p_type) {
+ _THREAD_SAFE_METHOD_
+
+ if (!paused && ids.has(p_msg_id)) {
+@@ -226,7 +226,7 @@ void TTS_Linux::speak(const String &p_text, const Stri
+ if (is_paused()) {
+ resume();
+ } else {
+- _speech_event(0, 0, (int)SPD_EVENT_BEGIN);
++ _speech_event(0, (int)SPD_EVENT_BEGIN);
+ }
+ }
+
Index: patches/patch-platform_linuxbsd_tts_linux_h
===================================================================
RCS file: patches/patch-platform_linuxbsd_tts_linux_h
diff -N patches/patch-platform_linuxbsd_tts_linux_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-platform_linuxbsd_tts_linux_h 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,17 @@
+fix type error, using int for p_msg_id and dropping p_client_id, see
+https://github.com/godotengine/godot/pull/84017
+
+Index: platform/linuxbsd/tts_linux.h
+--- platform/linuxbsd/tts_linux.h.orig
++++ platform/linuxbsd/tts_linux.h
+@@ -72,8 +72,8 @@ class TTS_Linux : public Object {
+
+ protected:
+ void _load_voices();
+- void _speech_event(size_t p_msg_id, size_t p_client_id, int p_type);
+- void _speech_index_mark(size_t p_msg_id, size_t p_client_id, int p_type, const String &p_index_mark);
++ void _speech_event(int p_msg_id, int p_type);
++ void _speech_index_mark(int p_msg_id, int p_type, const String &p_index_mark);
+
+ public:
+ static TTS_Linux *get_singleton();
Index: patches/patch-platform_linuxbsd_x11_detect_prime_x11_cpp
===================================================================
RCS file: patches/patch-platform_linuxbsd_x11_detect_prime_x11_cpp
diff -N patches/patch-platform_linuxbsd_x11_detect_prime_x11_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-platform_linuxbsd_x11_detect_prime_x11_cpp 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,12 @@
+Index: platform/linuxbsd/x11/detect_prime_x11.cpp
+--- platform/linuxbsd/x11/detect_prime_x11.cpp.orig
++++ platform/linuxbsd/x11/detect_prime_x11.cpp
+@@ -60,6 +60,8 @@ typedef GLXContext (*GLXCREATECONTEXTATTRIBSARBPROC)(D
+ // To prevent shadowing warnings
+ #undef glGetString
+
++#define quick_exit(_n) _exit((_n))
++
+ struct vendor {
+ const char *glxvendor = nullptr;
+ int priority = 0;
Index: patches/patch-platform_linuxbsd_x11_display_server_x11_cpp
===================================================================
RCS file: patches/patch-platform_linuxbsd_x11_display_server_x11_cpp
diff -N patches/patch-platform_linuxbsd_x11_display_server_x11_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-platform_linuxbsd_x11_display_server_x11_cpp 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,22 @@
+fix libXradr (double) loading.
+
+Index: platform/linuxbsd/x11/display_server_x11.cpp
+--- platform/linuxbsd/x11/display_server_x11.cpp.orig
++++ platform/linuxbsd/x11/display_server_x11.cpp
+@@ -5590,14 +5590,14 @@ DisplayServerX11::DisplayServerX11(const String &p_ren
+ int xrandr_minor = 0;
+ int event_base, error_base;
+ xrandr_ext_ok = XRRQueryExtension(x11_display, &event_base, &error_base);
+- xrandr_handle = dlopen("libXrandr.so.2", RTLD_LAZY);
++ xrandr_handle = dlopen("libXrandr.so", RTLD_LAZY);
+ if (!xrandr_handle) {
+ err = dlerror();
+ // For some arcane reason, NetBSD now ships libXrandr.so.3 while the rest of the world has libXrandr.so.2...
+ // In case this happens for other X11 platforms in the future, let's give it a try too before failing.
+ xrandr_handle = dlopen("libXrandr.so.3", RTLD_LAZY);
+ if (!xrandr_handle) {
+- fprintf(stderr, "could not load libXrandr.so.2, Error: %s\n", err);
++ fprintf(stderr, "could not load libXrandr.so, Error: %s\n", err);
+ }
+ }
+
Index: patches/patch-platform_x11_SCsub
===================================================================
RCS file: patches/patch-platform_x11_SCsub
diff -N patches/patch-platform_x11_SCsub
--- patches/patch-platform_x11_SCsub 15 Apr 2022 20:23:19 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-Index: platform/x11/SCsub
---- platform/x11/SCsub.orig
-+++ platform/x11/SCsub
-@@ -10,7 +10,7 @@ common_x11 = [
- "crash_handler_x11.cpp",
- "os_x11.cpp",
- "key_mapping_x11.cpp",
-- "joypad_linux.cpp",
-+ "joypad_openbsd.cpp",
- "power_x11.cpp",
- "detect_prime.cpp",
- ]
Index: patches/patch-platform_x11_detect_prime_cpp
===================================================================
RCS file: patches/patch-platform_x11_detect_prime_cpp
diff -N patches/patch-platform_x11_detect_prime_cpp
--- patches/patch-platform_x11_detect_prime_cpp 12 Mar 2023 16:22:34 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-we don't seem to have quick_exit; no big deal
-
-Index: platform/x11/detect_prime.cpp
---- platform/x11/detect_prime.cpp.orig
-+++ platform/x11/detect_prime.cpp
-@@ -204,9 +204,8 @@ int detect_prime() {
- }
- close(fdset[1]);
-
-- // The function quick_exit() is used because exit() will call destructors on static objects copied by fork().
-- // These objects will be freed anyway when the process finishes execution.
-- quick_exit(0);
-+ // exit() will call destructors on static objects copied by fork()
-+ _exit(0);
- }
- }
-
Index: patches/patch-platform_x11_detect_py
===================================================================
RCS file: patches/patch-platform_x11_detect_py
diff -N patches/patch-platform_x11_detect_py
--- patches/patch-platform_x11_detect_py 10 Oct 2022 18:39:05 -0000 1.13
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,71 +0,0 @@
-- remove hardcoded -O2, found by bcallah@
-- add sndio
-- enable joydev
-- disable template binaries (requires GNU ld but is broken on GCC-arches)
-
-Index: platform/x11/detect.py
---- platform/x11/detect.py.orig
-+++ platform/x11/detect.py
-@@ -90,29 +90,6 @@ def get_flags():
- def configure(env):
- ## Build type
-
-- if env["target"] == "release":
-- if env["optimize"] == "speed": # optimize for speed (default)
-- env.Prepend(CCFLAGS=["-O3"])
-- elif env["optimize"] == "size": # optimize for size
-- env.Prepend(CCFLAGS=["-Os"])
--
-- if env["debug_symbols"]:
-- env.Prepend(CCFLAGS=["-g2"])
--
-- elif env["target"] == "release_debug":
-- if env["optimize"] == "speed": # optimize for speed (default)
-- env.Prepend(CCFLAGS=["-O2"])
-- elif env["optimize"] == "size": # optimize for size
-- env.Prepend(CCFLAGS=["-Os"])
--
-- if env["debug_symbols"]:
-- env.Prepend(CCFLAGS=["-g2"])
--
-- elif env["target"] == "debug":
-- env.Prepend(CCFLAGS=["-ggdb"])
-- env.Prepend(CCFLAGS=["-g3"])
-- env.Append(LINKFLAGS=["-rdynamic"])
--
- ## Architecture
-
- is64 = sys.maxsize > 2**32
-@@ -363,6 +340,10 @@ def configure(env):
- else:
- print("Warning: ALSA libraries not found. Disabling the ALSA audio driver.")
-
-+ print("Enabling sndio")
-+ env.Append(CPPDEFINES=["SNDIO_ENABLED"])
-+ env.Append(LINKFLAGS=["-lsndio"])
-+
- if env["pulseaudio"]:
- if os.system("pkg-config --exists libpulse") == 0: # 0 means found
- env.Append(CPPDEFINES=["PULSEAUDIO_ENABLED"])
-@@ -381,6 +362,9 @@ def configure(env):
- else:
- env["udev"] = False # Linux specific
-
-+ if platform.system() == "OpenBSD":
-+ env.Append(CPPDEFINES=["JOYDEV_ENABLED"])
-+
- # Linkflags below this line should typically stay the last ones
- if not env["builtin_zlib"]:
- env.ParseConfig("pkg-config zlib --cflags --libs")
-@@ -413,11 +397,6 @@ def configure(env):
- print(
- "Warning: Creating template binaries enabled for PCK embedding is currently only supported with GNU ld, not gold or LLD."
- )
-- else:
-- if float(gnu_ld_version.group(1)) >= 2.30:
-- env.Append(LINKFLAGS=["-T", "platform/x11/pck_embed.ld"])
-- else:
-- env.Append(LINKFLAGS=["-T", "platform/x11/pck_embed.legacy.ld"])
-
- ## Cross-compilation
-
Index: patches/patch-platform_x11_os_x11_cpp
===================================================================
RCS file: patches/patch-platform_x11_os_x11_cpp
diff -N patches/patch-platform_x11_os_x11_cpp
--- patches/patch-platform_x11_os_x11_cpp 2 Aug 2023 22:01:51 -0000 1.13
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,54 +0,0 @@
-fix libXrandr library name and load sndio
-use OpenBSD joypad class
-suspend X11 screensaver for release builds
-
-Index: platform/x11/os_x11.cpp
---- platform/x11/os_x11.cpp.orig
-+++ platform/x11/os_x11.cpp
-@@ -55,6 +55,10 @@
- #include <X11/extensions/Xinerama.h>
- #include <X11/extensions/shape.h>
-
-+#ifdef SUSPEND_SCREENSAVER
-+#include <X11/extensions/scrnsaver.h>
-+#endif
-+
- // ICCCM
- #define WM_NormalState 1L // window normal state
- #define WM_IconicState 3L // window minimized
-@@ -173,7 +177,7 @@ Error OS_X11::initialize(const VideoMode &p_desired, i
- int xrandr_minor = 0;
- int event_base, error_base;
- xrandr_ext_ok = XRRQueryExtension(x11_display, &event_base, &error_base);
-- xrandr_handle = dlopen("libXrandr.so.2", RTLD_LAZY);
-+ xrandr_handle = dlopen("libXrandr.so", RTLD_LAZY);
- if (!xrandr_handle) {
- err = dlerror();
- // For some arcane reason, NetBSD now ships libXrandr.so.3 while the rest of the world has libXrandr.so.2...
-@@ -610,9 +614,13 @@ Error OS_X11::initialize(const VideoMode &p_desired, i
-
- window_has_focus = true; // Set focus to true at init
- #ifdef JOYDEV_ENABLED
-- joypad = memnew(JoypadLinux(input));
-+ joypad = memnew(JoypadOpenBSD(input));
- #endif
-
-+#ifdef SUSPEND_SCREENSAVER
-+ XScreenSaverSuspend(x11_display, true);
-+#endif
-+
- power_manager = memnew(PowerX11);
-
- if (p_desired.layered) {
-@@ -4414,6 +4422,11 @@ void OS_X11::update_real_mouse_position() {
- }
-
- OS_X11::OS_X11() {
-+
-+#ifdef SNDIO_ENABLED
-+ AudioDriverManager::add_driver(&driver_sndio);
-+#endif
-+
- #ifdef PULSEAUDIO_ENABLED
- AudioDriverManager::add_driver(&driver_pulseaudio);
- #endif
Index: patches/patch-platform_x11_os_x11_h
===================================================================
RCS file: patches/patch-platform_x11_os_x11_h
diff -N patches/patch-platform_x11_os_x11_h
--- patches/patch-platform_x11_os_x11_h 11 Aug 2022 19:40:59 -0000 1.6
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,38 +0,0 @@
-load sndio
-use OpenBSD joypad class
-
-Index: platform/x11/os_x11.h
---- platform/x11/os_x11.h.orig
-+++ platform/x11/os_x11.h
-@@ -37,9 +37,10 @@
- #include "crash_handler_x11.h"
- #include "drivers/alsa/audio_driver_alsa.h"
- #include "drivers/alsamidi/midi_driver_alsamidi.h"
-+#include "drivers/sndio/audio_driver_sndio.h"
- #include "drivers/pulseaudio/audio_driver_pulseaudio.h"
- #include "drivers/unix/os_unix.h"
--#include "joypad_linux.h"
-+#include "joypad_openbsd.h"
- #include "main/input_default.h"
- #include "power_x11.h"
- #include "servers/audio_server.h"
-@@ -199,7 +200,7 @@ class OS_X11 : public OS_Unix {
- InputDefault *input;
-
- #ifdef JOYDEV_ENABLED
-- JoypadLinux *joypad;
-+ JoypadOpenBSD *joypad;
- #endif
-
- #ifdef ALSA_ENABLED
-@@ -208,6 +209,10 @@ class OS_X11 : public OS_Unix {
-
- #ifdef ALSAMIDI_ENABLED
- MIDIDriverALSAMidi driver_alsamidi;
-+#endif
-+
-+#ifdef SNDIO_ENABLED
-+ AudioDriverSndio driver_sndio;
- #endif
-
- #ifdef PULSEAUDIO_ENABLED
Index: patches/patch-servers_visual_shader_language_cpp
===================================================================
RCS file: patches/patch-servers_visual_shader_language_cpp
diff -N patches/patch-servers_visual_shader_language_cpp
--- patches/patch-servers_visual_shader_language_cpp 13 Aug 2023 12:34:23 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,95 +0,0 @@
-disable strict shader syntax check errors for export template build and warn
-instead
-
-Index: servers/visual/shader_language.cpp
---- servers/visual/shader_language.cpp.orig
-+++ servers/visual/shader_language.cpp
-@@ -596,6 +596,7 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
- }
- }
-
-+#ifdef TOOLS_ENABLED
- if (error) {
- if (hexa_found) {
- return _make_token(TK_ERROR, "Invalid (hexadecimal) numeric constant");
-@@ -608,6 +609,9 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
- }
- return _make_token(TK_ERROR, "Invalid (integer) numeric constant");
- }
-+#else
-+ WARN_PRINT_ONCE("Invalid shader numeric constant");
-+#endif
- str += symbol;
- i++;
- }
-@@ -622,24 +626,40 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
- } else if (period_found || exponent_found || float_suffix_found) {
- //floats
- if (exponent_found && (!_is_number(last_char) && last_char != 'f')) { // checks for eg: "2E", "2E-", "2E+"
-+#ifdef TOOLS_ENABLED
- return _make_token(TK_ERROR, "Invalid (float) numeric constant");
-+#else
-+ WARN_PRINT_ONCE("Invalid shader numeric constant");
-+#endif
- }
- if (period_found) {
- if (float_suffix_found) {
- //checks for eg "1.f" or "1.99f" notations
- if (last_char != 'f') {
-+#ifdef TOOLS_ENABLED
- return _make_token(TK_ERROR, "Invalid (float) numeric constant");
-+#else
-+ WARN_PRINT_ONCE("Invalid shader numeric constant");
-+#endif
- }
- } else {
- //checks for eg. "1." or "1.99" notations
- if (last_char != '.' && !_is_number(last_char)) {
-+#ifdef TOOLS_ENABLED
- return _make_token(TK_ERROR, "Invalid (float) numeric constant");
-+#else
-+ WARN_PRINT_ONCE("Invalid shader numeric constant");
-+#endif
- }
- }
- } else if (float_suffix_found) {
- // if no period found the float suffix must be the last character, like in "2f" for "2.0"
- if (last_char != 'f') {
-+#ifdef TOOLS_ENABLED
- return _make_token(TK_ERROR, "Invalid (float) numeric constant");
-+#else
-+ WARN_PRINT_ONCE("Invalid shader numeric constant");
-+#endif
- }
- }
-
-@@ -651,7 +671,11 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
- }
-
- if (!str.is_valid_float()) {
-+#ifdef TOOLS_ENABLED
- return _make_token(TK_ERROR, "Invalid (float) numeric constant");
-+#else
-+ WARN_PRINT_ONCE("Invalid shader numeric constant");
-+#endif
- }
- } else {
- //integers
-@@ -661,6 +685,7 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
- // Compensate reading cursor position.
- char_idx += 1;
- }
-+#ifdef TOOLS_ENABLED
- if (!str.is_valid_integer()) {
- if (uint_suffix_found) {
- return _make_token(TK_ERROR, "Invalid (unsigned integer) numeric constant");
-@@ -668,6 +693,9 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
- return _make_token(TK_ERROR, "Invalid (integer) numeric constant");
- }
- }
-+#else
-+ WARN_PRINT_ONCE("Invalid shader numeric constant");
-+#endif
- }
-
- char_idx += str.length();
Index: patches/patch-thirdparty_embree_common_math_math_h
===================================================================
RCS file: /home/cvs/ports/games/godot/patches/patch-thirdparty_embree_common_math_math_h,v
retrieving revision 1.4
diff -u -p -r1.4 patch-thirdparty_embree_common_math_math_h
--- patches/patch-thirdparty_embree_common_math_math_h 5 Aug 2022 14:19:42 -0000 1.4
+++ patches/patch-thirdparty_embree_common_math_math_h 9 Nov 2023 16:24:47 -0000
@@ -1,11 +1,9 @@
-add an implementation for max for long (ssize_t are long typedef'ed).
-Otherwise it will fail in parallel_partition.h:185 due to an ambiguous
-call. Backport of https://github.com/embree/embree/pull/379
+add min/max implementation for `long'

Index: thirdparty/embree/common/math/math.h
--- thirdparty/embree/common/math/math.h.orig
+++ thirdparty/embree/common/math/math.h
-@@ -168,6 +168,7 @@ namespace embree
+@@ -239,6 +239,7 @@ namespace embree
__forceinline T twice(const T& a) { return a+a; }

__forceinline int min(int a, int b) { return a<b ? a:b; }
@@ -13,7 +11,7 @@ Index: thirdparty/embree/common/math/mat
__forceinline unsigned min(unsigned a, unsigned b) { return a<b ? a:b; }
__forceinline int64_t min(int64_t a, int64_t b) { return a<b ? a:b; }
__forceinline float min(float a, float b) { return a<b ? a:b; }
-@@ -185,6 +186,7 @@ namespace embree
+@@ -259,6 +260,7 @@ namespace embree
template<typename T> __forceinline T mini(const T& a, const T& b, const T& c, const T& d, const T& e) { return mini(mini(mini(a,b),mini(c,d)),e); }

__forceinline int max(int a, int b) { return a<b ? b:a; }
Index: patches/patch-thirdparty_embree_common_sys_sysinfo_cpp
===================================================================
RCS file: /home/cvs/ports/games/godot/patches/patch-thirdparty_embree_common_sys_sysinfo_cpp,v
retrieving revision 1.4
diff -u -p -r1.4 patch-thirdparty_embree_common_sys_sysinfo_cpp
--- patches/patch-thirdparty_embree_common_sys_sysinfo_cpp 5 Aug 2022 14:19:42 -0000 1.4
+++ patches/patch-thirdparty_embree_common_sys_sysinfo_cpp 9 Nov 2023 16:24:47 -0000
@@ -1,45 +1,43 @@
-Backport of https://github.com/embree/embree/pull/379
-
-1. we don't seem to have pthread_getaffinity_np in pthread_np.h; use sysctl
- like macos and android then.
-2. just fake getExecutableFileName and get{Virtual,Resident}MemoryBytes
+- stub some functions implementation so it compiles
+- we don't seem to have pthread_getaffinity_np in pthread_np.h; use
+ sysctl like macos and andoid then

Index: thirdparty/embree/common/sys/sysinfo.cpp
--- thirdparty/embree/common/sys/sysinfo.cpp.orig
+++ thirdparty/embree/common/sys/sysinfo.cpp
-@@ -572,6 +572,26 @@ namespace embree
+@@ -597,6 +597,26 @@ namespace embree

#endif

+#if defined(__OpenBSD__)
+namespace embree
+{
-+ std::string getExecutableFileName()
-+ {
-+ return "";
-+ }
++ std::string getExecutableFileName()
++ {
++ return "";
++ }
+
-+ size_t getVirtualMemoryBytes()
-+ {
-+ return 0;
-+ };
++ size_t getVirtualMemoryBytes()
++ {
++ return 0;
++ }
+
-+ size_t getResidentMemoryBytes()
-+ {
-+ return 0;
-+ };
++ size_t getResidentMemoryBytes()
++ {
++ return 0;
++ }
+}
+#endif
+
////////////////////////////////////////////////////////////////////////////////
/// Mac OS X Platform
////////////////////////////////////////////////////////////////////////////////
-@@ -622,7 +642,7 @@ namespace embree
+@@ -655,7 +675,7 @@ namespace embree
+ static int nThreads = -1;
+ if (nThreads != -1) return nThreads;

- // -- GODOT start --
- // #if defined(__MACOSX__)
-#if defined(__MACOSX__) || defined(__ANDROID__)
+#if defined(__MACOSX__) || defined(__ANDROID__) || defined(__OpenBSD__)
- // -- GODOT end --
nThreads = sysconf(_SC_NPROCESSORS_ONLN); // does not work in Linux LXC container
assert(nThreads);
+ #elif defined(__EMSCRIPTEN__)
Index: patches/patch-thirdparty_oidn_mkl-dnn_src_cpu_jit_utils_jitprofiling_jitprofiling_c
===================================================================
RCS file: patches/patch-thirdparty_oidn_mkl-dnn_src_cpu_jit_utils_jitprofiling_jitprofiling_c
diff -N patches/patch-thirdparty_oidn_mkl-dnn_src_cpu_jit_utils_jitprofiling_jitprofiling_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-thirdparty_oidn_mkl-dnn_src_cpu_jit_utils_jitprofiling_jitprofiling_c 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,15 @@
+malloc.h... and then they pull in stdlib.h anyway...
+
+Index: thirdparty/oidn/mkl-dnn/src/cpu/jit_utils/jitprofiling/jitprofiling.c
+--- thirdparty/oidn/mkl-dnn/src/cpu/jit_utils/jitprofiling/jitprofiling.c.orig
++++ thirdparty/oidn/mkl-dnn/src/cpu/jit_utils/jitprofiling/jitprofiling.c
+@@ -40,9 +40,6 @@
+ #if ITT_PLATFORM==ITT_PLATFORM_WIN
+ #include <windows.h>
+ #endif /* ITT_PLATFORM==ITT_PLATFORM_WIN */
+-#if ITT_PLATFORM != ITT_PLATFORM_MAC && ITT_PLATFORM != ITT_PLATFORM_FREEBSD
+-#include <malloc.h>
+-#endif
+ #include <stdlib.h>
+
+ #include "jitprofiling.h"
Index: patches/patch-thirdparty_oidn_mkl-dnn_src_cpu_simple_reorder_hpp
===================================================================
RCS file: patches/patch-thirdparty_oidn_mkl-dnn_src_cpu_simple_reorder_hpp
diff -N patches/patch-thirdparty_oidn_mkl-dnn_src_cpu_simple_reorder_hpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-thirdparty_oidn_mkl-dnn_src_cpu_simple_reorder_hpp 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,15 @@
+_B is already defined in ctype.h
+
+Index: thirdparty/oidn/mkl-dnn/src/cpu/simple_reorder.hpp
+--- thirdparty/oidn/mkl-dnn/src/cpu/simple_reorder.hpp.orig
++++ thirdparty/oidn/mkl-dnn/src/cpu/simple_reorder.hpp
+@@ -80,6 +80,9 @@ struct conv_s8s8 {};
+ const float alpha = pd->alpha(); MAYBE_UNUSED(alpha); \
+ const float beta = pd->beta(); MAYBE_UNUSED(beta);
+
++// *finger crossed*
++#undef _B
++
+ /* specific reorders: common template */
+ template <SIMPLE_REORDER_TEMPL_DECL, typename spec = void>
+ struct simple_reorder_impl {};
Index: patches/patch-thirdparty_openxr_src_common_platform_utils_hpp
===================================================================
RCS file: patches/patch-thirdparty_openxr_src_common_platform_utils_hpp
diff -N patches/patch-thirdparty_openxr_src_common_platform_utils_hpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-thirdparty_openxr_src_common_platform_utils_hpp 9 Nov 2023 16:24:47 -0000
@@ -0,0 +1,14 @@
+don't have secure_getenv()
+
+Index: thirdparty/openxr/src/common/platform_utils.hpp
+--- thirdparty/openxr/src/common/platform_utils.hpp.orig
++++ thirdparty/openxr/src/common/platform_utils.hpp
+@@ -56,7 +56,7 @@ static inline int ImplSetEnv(const char* name, const c
+
+ static inline char* ImplGetSecureEnv(const char* name) {
+ #ifdef HAVE_SECURE_GETENV
+- return secure_getenv(name);
++ return getenv(name);
+ #elif defined(HAVE___SECURE_GETENV)
+ return __secure_getenv(name);
+ #else
Index: pkg/DESCR-editor
===================================================================
RCS file: pkg/DESCR-editor
diff -N pkg/DESCR-editor
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ pkg/DESCR-editor 9 Nov 2023 16:24:56 -0000
@@ -0,0 +1 @@
+The Godot game engine with the IDE (editor) built-in.
Index: pkg/DESCR-sharp
===================================================================
RCS file: pkg/DESCR-sharp
diff -N pkg/DESCR-sharp
--- pkg/DESCR-sharp 24 Sep 2023 19:08:52 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1 +0,0 @@
-C# glue for using Godot with mono/C#
Index: pkg/DESCR-tools
===================================================================
RCS file: pkg/DESCR-tools
diff -N pkg/DESCR-tools
--- pkg/DESCR-tools 28 Apr 2022 22:18:01 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1 +0,0 @@
-The Godot game engine with the editor (tools) built-in.
Index: pkg/PLIST-editor
===================================================================
RCS file: pkg/PLIST-editor
diff -N pkg/PLIST-editor
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ pkg/PLIST-editor 9 Nov 2023 16:24:56 -0000
@@ -0,0 +1,10 @@
+@conflict godot-<=3.4.4p0
+@pkgpath games/godot,-tools
+@pkgpath games/godot,-sharp
+@bin bin/godot-editor
+share/applications/org.godotengine.Godot.desktop
+share/metainfo/
+share/metainfo/org.godotengine.Godot.appdata.xml
+share/pixmaps/
+share/pixmaps/godot.svg
+@tag update-desktop-database
Index: pkg/PLIST-main
===================================================================
RCS file: /home/cvs/ports/games/godot/pkg/PLIST-main,v
retrieving revision 1.2
diff -u -p -r1.2 PLIST-main
--- pkg/PLIST-main 26 Sep 2023 20:44:06 -0000 1.2
+++ pkg/PLIST-main 9 Nov 2023 16:24:56 -0000
@@ -1,4 +1,3 @@
@pkgpath games/godot
@bin bin/godot
@man man/man6/godot.6
-share/applications/
Index: pkg/PLIST-sharp
===================================================================
RCS file: pkg/PLIST-sharp
diff -N pkg/PLIST-sharp
--- pkg/PLIST-sharp 24 Sep 2023 19:08:52 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,360 +0,0 @@
-share/godot/
-share/godot/GodotSharp/
-share/godot/GodotSharp/Api/
-share/godot/GodotSharp/Api/Debug/
-share/godot/GodotSharp/Api/Debug/GodotSharp.dll
-share/godot/GodotSharp/Api/Debug/GodotSharp.pdb
-share/godot/GodotSharp/Api/Debug/GodotSharp.xml
-share/godot/GodotSharp/Api/Debug/GodotSharpEditor.dll
-share/godot/GodotSharp/Api/Debug/GodotSharpEditor.pdb
-share/godot/GodotSharp/Api/Debug/GodotSharpEditor.xml
-share/godot/GodotSharp/Api/Release/
-share/godot/GodotSharp/Api/Release/GodotSharp.dll
-share/godot/GodotSharp/Api/Release/GodotSharp.pdb
-share/godot/GodotSharp/Api/Release/GodotSharp.xml
-share/godot/GodotSharp/Api/Release/GodotSharpEditor.dll
-share/godot/GodotSharp/Api/Release/GodotSharpEditor.pdb
-share/godot/GodotSharp/Api/Release/GodotSharpEditor.xml
-share/godot/GodotSharp/Mono/
-share/godot/GodotSharp/Mono/etc/
-share/godot/GodotSharp/Mono/etc/mono/
-share/godot/GodotSharp/Mono/etc/mono/2.0/
-share/godot/GodotSharp/Mono/etc/mono/2.0/Browsers/
-share/godot/GodotSharp/Mono/etc/mono/2.0/Browsers/Compat.browser
-share/godot/GodotSharp/Mono/etc/mono/2.0/DefaultWsdlHelpGenerator.aspx
-share/godot/GodotSharp/Mono/etc/mono/2.0/machine.config
-share/godot/GodotSharp/Mono/etc/mono/2.0/settings.map
-share/godot/GodotSharp/Mono/etc/mono/2.0/web.config
-share/godot/GodotSharp/Mono/etc/mono/4.0/
-share/godot/GodotSharp/Mono/etc/mono/4.0/Browsers/
-share/godot/GodotSharp/Mono/etc/mono/4.0/Browsers/Compat.browser
-share/godot/GodotSharp/Mono/etc/mono/4.0/DefaultWsdlHelpGenerator.aspx
-share/godot/GodotSharp/Mono/etc/mono/4.0/machine.config
-share/godot/GodotSharp/Mono/etc/mono/4.0/settings.map
-share/godot/GodotSharp/Mono/etc/mono/4.0/web.config
-share/godot/GodotSharp/Mono/etc/mono/4.5/
-share/godot/GodotSharp/Mono/etc/mono/4.5/Browsers/
-share/godot/GodotSharp/Mono/etc/mono/4.5/Browsers/Compat.browser
-share/godot/GodotSharp/Mono/etc/mono/4.5/DefaultWsdlHelpGenerator.aspx
-share/godot/GodotSharp/Mono/etc/mono/4.5/machine.config
-share/godot/GodotSharp/Mono/etc/mono/4.5/settings.map
-share/godot/GodotSharp/Mono/etc/mono/4.5/web.config
-share/godot/GodotSharp/Mono/etc/mono/browscap.ini
-share/godot/GodotSharp/Mono/etc/mono/config
-share/godot/GodotSharp/Mono/etc/mono/mconfig/
-share/godot/GodotSharp/Mono/etc/mono/mconfig/config.xml
-share/godot/GodotSharp/Mono/lib/
-@so share/godot/GodotSharp/Mono/lib/libMonoPosixHelper.so
-@so share/godot/GodotSharp/Mono/lib/libMonoSupportW.so
-@so share/godot/GodotSharp/Mono/lib/libmono-btls-shared.so
-share/godot/GodotSharp/Mono/lib/mono/
-share/godot/GodotSharp/Mono/lib/mono/4.5/
-share/godot/GodotSharp/Mono/lib/mono/4.5/Accessibility.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Commons.Xml.Relaxng.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/CustomMarshalers.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/Microsoft.Win32.Primitives.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/Microsoft.Win32.Registry.AccessControl.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/Microsoft.Win32.Registry.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.AppContext.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Collections.Concurrent.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Collections.NonGeneric.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Collections.Specialized.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Collections.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.ComponentModel.Annotations.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.ComponentModel.EventBasedAsync.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.ComponentModel.Primitives.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.ComponentModel.TypeConverter.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.ComponentModel.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Console.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Data.Common.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Data.SqlClient.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Diagnostics.Contracts.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Diagnostics.Debug.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Diagnostics.FileVersionInfo.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Diagnostics.Process.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Diagnostics.StackTrace.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Diagnostics.TextWriterTraceListener.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Diagnostics.Tools.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Diagnostics.TraceEvent.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Diagnostics.TraceSource.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Diagnostics.Tracing.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Drawing.Primitives.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Dynamic.Runtime.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Globalization.Calendars.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Globalization.Extensions.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Globalization.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.IO.Compression.ZipFile.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.IO.FileSystem.AccessControl.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.IO.FileSystem.DriveInfo.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.IO.FileSystem.Primitives.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.IO.FileSystem.Watcher.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.IO.FileSystem.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.IO.IsolatedStorage.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.IO.MemoryMappedFiles.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.IO.Pipes.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.IO.UnmanagedMemoryStream.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.IO.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Linq.Expressions.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Linq.Parallel.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Linq.Queryable.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Linq.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.AuthenticationManager.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.Cache.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.Http.Rtc.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.HttpListener.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.Mail.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.NameResolution.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.NetworkInformation.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.Ping.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.Primitives.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.Requests.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.Security.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.ServicePoint.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.Sockets.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.Utilities.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.WebHeaderCollection.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.WebSockets.Client.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Net.WebSockets.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.ObjectModel.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Reflection.Emit.ILGeneration.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Reflection.Emit.Lightweight.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Reflection.Emit.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Reflection.Extensions.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Reflection.Primitives.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Reflection.TypeExtensions.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Reflection.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Resources.Reader.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Resources.ReaderWriter.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Resources.ResourceManager.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Resources.Writer.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Runtime.CompilerServices.VisualC.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Runtime.Extensions.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Runtime.Handles.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Runtime.InteropServices.RuntimeInformation.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Runtime.InteropServices.WindowsRuntime.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Runtime.InteropServices.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Runtime.Numerics.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Runtime.Serialization.Formatters.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Runtime.Serialization.Json.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Runtime.Serialization.Primitives.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Runtime.Serialization.Xml.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Runtime.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.AccessControl.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Claims.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.Algorithms.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.Csp.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.DeriveBytes.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.Encoding.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.Aes.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.ECDsa.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.Hashing.Algorithms.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.Hashing.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.Primitives.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.ProtectedData.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.RSA.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.RandomNumberGenerator.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Cryptography.X509Certificates.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Principal.Windows.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.Principal.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Security.SecureString.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.ServiceModel.Duplex.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.ServiceModel.Http.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.ServiceModel.NetTcp.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.ServiceModel.Primitives.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.ServiceModel.Security.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.ServiceProcess.ServiceController.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Text.Encoding.CodePages.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Text.Encoding.Extensions.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Text.Encoding.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Text.RegularExpressions.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Threading.AccessControl.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Threading.Overlapped.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Threading.Tasks.Parallel.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Threading.Tasks.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Threading.Thread.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Threading.ThreadPool.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Threading.Timer.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Threading.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.ValueTuple.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Xml.ReaderWriter.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Xml.XDocument.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Xml.XPath.XDocument.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Xml.XPath.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Xml.XmlDocument.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Xml.XmlSerializer.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/System.Xml.Xsl.Primitives.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Facades/netstandard.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/I18N.CJK.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/I18N.MidEast.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/I18N.Other.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/I18N.Rare.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/I18N.West.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/I18N.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/IBM.Data.DB2.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/ICSharpCode.SharpZipLib.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Microsoft.Build.Engine.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Microsoft.Build.Framework.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Microsoft.Build.Tasks.v4.0.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Microsoft.Build.Utilities.v4.0.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Microsoft.Build.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Microsoft.CSharp.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.Scripting.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Microsoft.CodeAnalysis.Scripting.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Microsoft.CodeAnalysis.VisualBasic.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Microsoft.CodeAnalysis.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Microsoft.VisualC.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Microsoft.Web.Infrastructure.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Btls.Interface.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.CSharp.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Cairo.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.CodeContracts.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.CompilerServices.SymbolWriter.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Data.Sqlite.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Data.Tds.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Debugger.Soft.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Http.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Management.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Messaging.RabbitMQ.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Messaging.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Parallel.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Posix.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Profiler.Log.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Security.Win32.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Security.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Simd.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.Tasklets.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.WebBrowser.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Mono.XBuild.Tasks.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/Novell.Directory.Ldap.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/PEAPI.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/RabbitMQ.Client.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/SMDiagnostics.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Collections.Immutable.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.ComponentModel.Composition.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.ComponentModel.DataAnnotations.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Configuration.Install.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Configuration.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Core.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Data.DataSetExtensions.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Data.Entity.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Data.Linq.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Data.OracleClient.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Data.Services.Client.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Data.Services.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Data.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Deployment.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Design.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.DirectoryServices.Protocols.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.DirectoryServices.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Drawing.Design.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Drawing.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Dynamic.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.EnterpriseServices.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.IO.Compression.FileSystem.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.IO.Compression.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.IdentityModel.Selectors.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.IdentityModel.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Json.Microsoft.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Json.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Management.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Memory.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Messaging.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Net.Http.Formatting.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Net.Http.WebRequest.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Net.Http.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Net.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Numerics.Vectors.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Numerics.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Reactive.Core.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Reactive.Debugger.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Reactive.Experimental.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Reactive.Interfaces.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Reactive.Linq.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Reactive.Observable.Aliases.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Reactive.PlatformServices.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Reactive.Providers.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Reactive.Runtime.Remoting.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Reactive.Windows.Forms.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Reactive.Windows.Threading.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Reflection.Context.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Reflection.Metadata.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Runtime.Caching.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Runtime.CompilerServices.Unsafe.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Runtime.DurableInstancing.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Runtime.Remoting.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Runtime.Serialization.Formatters.Soap.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Runtime.Serialization.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Security.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.ServiceModel.Activation.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.ServiceModel.Discovery.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.ServiceModel.Internals.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.ServiceModel.Routing.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.ServiceModel.Web.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.ServiceModel.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.ServiceProcess.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Threading.Tasks.Dataflow.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Threading.Tasks.Extensions.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Transactions.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.Abstractions.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.ApplicationServices.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.DynamicData.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.Extensions.Design.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.Extensions.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.Http.SelfHost.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.Http.WebHost.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.Http.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.Mobile.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.Mvc.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.Razor.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.RegularExpressions.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.Routing.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.Services.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.WebPages.Deployment.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.WebPages.Razor.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.WebPages.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Web.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Windows.Forms.DataVisualization.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Windows.Forms.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Windows.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Workflow.Activities.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Workflow.ComponentModel.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Workflow.Runtime.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Xaml.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Xml.Linq.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Xml.Serialization.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.Xml.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/System.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/WebMatrix.Data.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/WindowsBase.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/cscompmgd.dll
-share/godot/GodotSharp/Mono/lib/mono/4.5/mscorlib.dll
-share/godot/GodotSharp/Tools/
-share/godot/GodotSharp/Tools/GodotTools.BuildLogger.dll
-share/godot/GodotSharp/Tools/GodotTools.BuildLogger.pdb
-share/godot/GodotSharp/Tools/GodotTools.Core.dll
-share/godot/GodotSharp/Tools/GodotTools.Core.pdb
-share/godot/GodotSharp/Tools/GodotTools.IdeMessaging.dll
-share/godot/GodotSharp/Tools/GodotTools.ProjectEditor.dll
-share/godot/GodotSharp/Tools/GodotTools.ProjectEditor.pdb
-share/godot/GodotSharp/Tools/GodotTools.dll
-share/godot/GodotSharp/Tools/GodotTools.pdb
-share/godot/GodotSharp/Tools/MSBuild.exe
-share/godot/GodotSharp/Tools/Microsoft.Build.Framework.dll
-share/godot/GodotSharp/Tools/Microsoft.Build.dll
-share/godot/GodotSharp/Tools/Microsoft.VisualStudio.Setup.Configuration.Interop.dll
-share/godot/GodotSharp/Tools/Mono.Cecil.Mdb.dll
-share/godot/GodotSharp/Tools/Mono.Cecil.Pdb.dll
-share/godot/GodotSharp/Tools/Mono.Cecil.Rocks.dll
-share/godot/GodotSharp/Tools/Mono.Cecil.dll
-share/godot/GodotSharp/Tools/Newtonsoft.Json.dll
-share/godot/GodotSharp/Tools/Semver.dll
-share/godot/GodotSharp/Tools/System.Buffers.dll
-share/godot/GodotSharp/Tools/System.Collections.Immutable.dll
-share/godot/GodotSharp/Tools/System.Memory.dll
-share/godot/GodotSharp/Tools/System.Numerics.Vectors.dll
-share/godot/GodotSharp/Tools/System.Runtime.CompilerServices.Unsafe.dll
-share/godot/GodotSharp/Tools/System.Threading.Tasks.Dataflow.dll
Index: pkg/PLIST-tools
===================================================================
RCS file: pkg/PLIST-tools
diff -N pkg/PLIST-tools
--- pkg/PLIST-tools 26 Sep 2023 20:44:06 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,9 +0,0 @@
-@conflict godot-<=3.4.4p0
-@bin bin/godot-tools
-share/applications/org.godotengine.Godot.desktop
-share/doc/pkg-readmes/${PKGSTEM}
-share/metainfo/
-share/metainfo/org.godotengine.Godot.appdata.xml
-share/pixmaps/
-share/pixmaps/godot.svg
-@tag update-desktop-database
Index: pkg/README-tools
===================================================================
RCS file: pkg/README-tools
diff -N pkg/README-tools
--- pkg/README-tools 24 Sep 2023 19:08:52 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-+-------------------------------------------------------------------------------
-| Running ${PKGSTEM} on OpenBSD
-+-------------------------------------------------------------------------------
-
-Using MSBuild/C#/Mono
-=====================
-
-MSBuild is used by Godot to compile the assemblies for C# projects. In order
-for it to run without error, you need to remove the following line from
-~/.nuget/packages/godot.net.sdk/3.3.0/Sdk/Sdk.targets:
-
- TargetFrameworkFallbackSearchPaths="$(TargetFrameworkFallbackSearchPaths)"
-
-If the file doesn't exist, it hasn't been installed yet. You may need to run a
-build with MSBuild in Godot first before the file is created.
-
-Modules
-=======
-
-Note that this version includes the module "GodotSteam" in its namespace which
-is not part of the default Godot install. This is mainly for compatibility with
-runtime of prepackaged games. It communicates with games/goldberg_emulator, not
-an official Steam client. Making use of the Steam.* namespace for development
-may lead to unexpected behavior, so use at your own risk.
In the last weeks (months?) thfr and I have resurrected the work on
godot4 and managed to have it running! thfr was actually experiencing
some issues, but since I'm able to run both the engine and the editor
'just fine' we thought that it could be a good moment to update the port
and iron out the remaining issue in tree, with the help of a wider
audience.

The plan would be to 'move' the existing godot3 port to games/godot3
(plus the rename of the binary and the other files to avoid conflicts)
and update games/godot to 4.x.

(thfr suggested that we could have a games/godot/{3,4} structure, but
since 3.x and 4.x are different beasts, I'd prefer to have them as
separate entries under games/.)

Since it's almost a rewrite of the port, I'm attaching two tarballs.
godot3.tar.gz is the 'current' godot with the renames due (I'm still
building it, but should work), godot.tar.gz is the 'new' port. I'm also
attaching a diff should it be easier to handle for some.

Some of the new patches are already upstream (we didn't make in time for
4.1.3), and a few can be upstreamed given time, and one or two are
already pending on github.

Something I'd like to point out is the upgrade path for existing user.
So far we have the subpackages -main, -sharp and -tools. -main remains,
but since upstream changed their naming i've renamed -tools to -editor
using a @pkgpath entry. I've also added a @pkgpath on -sharp so
hopefully both -tools and -sharp will be upgraded to -editor.

I haven't tested the update path since I need to re-build both 3 and 4
again (i've hacked on them in mystuff/ so the pkgpath for the packages is
wrong), but assuming that it works, ok to update and move the current
port to godot3?

As always, testing is highly appreciated :-)

Thanks,

No comments:

Post a Comment