Accepting request 1098811 from home:cunix:godot
Update to 4.1 OBS-URL: https://build.opensuse.org/request/show/1098811 OBS-URL: https://build.opensuse.org/package/show/games/godot?expand=0&rev=66
This commit is contained in:
parent
880e2e699c
commit
1e7ff2e02f
@ -1,67 +0,0 @@
|
|||||||
From: cunix@mail.de
|
|
||||||
Date: 2019-04-29 16:00:00
|
|
||||||
Subject: System certs as fallback for project certs
|
|
||||||
References: https://github.com/godotengine/godot/pull/22066#issuecomment-421565719
|
|
||||||
https://github.com/godotengine/godot/pull/22066#issuecomment-422528664
|
|
||||||
https://github.com/godotengine/godot/issues/22232
|
|
||||||
Upstream: offered to upstream
|
|
||||||
Rebased: 2023-03-03
|
|
||||||
|
|
||||||
If project has no value set for "network/ssl/certificates" (the default),
|
|
||||||
"default_certs" is not filled by function "load_default_certificates" because
|
|
||||||
we don't use builtin certs - BUILTIN_CERTS_ENABLED is not defined.
|
|
||||||
|
|
||||||
We use a distro specific "system_certs_path" as build option and apply it here
|
|
||||||
via "_SYSTEM_CERTS_PATH" (defined in included "core/io/certs_compressed.gen.h")
|
|
||||||
as fallback for certificates.
|
|
||||||
|
|
||||||
In result patch restores upstream behavior for certificate usage.
|
|
||||||
Difference is:
|
|
||||||
Where upstream by default uses hard coded certificates at build time, we hard
|
|
||||||
code path to the default certificates as "/var/lib/ca-certificates/ca-bundle.pem".
|
|
||||||
This bundle might be updated separately or admin can edit content of this file.
|
|
||||||
|
|
||||||
User can always define different path via Editor or Project settings.
|
|
||||||
|
|
||||||
See comments in patch for more details.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
--- a/modules/mbedtls/crypto_mbedtls.cpp
|
|
||||||
+++ b/modules/mbedtls/crypto_mbedtls.cpp
|
|
||||||
@@ -45,10 +45,12 @@
|
|
||||||
|
|
||||||
#include <mbedtls/debug.h>
|
|
||||||
#include <mbedtls/md.h>
|
|
||||||
#include <mbedtls/pem.h>
|
|
||||||
|
|
||||||
+#include <string.h>
|
|
||||||
+
|
|
||||||
CryptoKey *CryptoKeyMbedTLS::create() {
|
|
||||||
return memnew(CryptoKeyMbedTLS);
|
|
||||||
}
|
|
||||||
|
|
||||||
Error CryptoKeyMbedTLS::load(String p_path, bool p_public_only) {
|
|
||||||
@@ -305,10 +307,22 @@
|
|
||||||
ERR_FAIL_COND(default_certs == nullptr);
|
|
||||||
|
|
||||||
if (!p_path.is_empty()) {
|
|
||||||
// Use certs defined in project settings.
|
|
||||||
default_certs->load(p_path);
|
|
||||||
+
|
|
||||||
+ } else if (strcmp(_SYSTEM_CERTS_PATH, "") != 0) {
|
|
||||||
+ // Use system certs only if user did not override in project settings
|
|
||||||
+ // and if _SYSTEM_CERTS_PATH is set.
|
|
||||||
+ // Should happen if Project Setting "network/ssl/certificates" is empty.
|
|
||||||
+ // Editor Setting "network/ssl/editor_ssl_certificates" is already set
|
|
||||||
+ // to "_SYSTEM_CERTS_PATH" by default -> This is caught by "if (p_path != "") {".
|
|
||||||
+ // But the same fallback might apply for certificates used by editor
|
|
||||||
+ // if user has set "network/ssl/editor_ssl_certificates" to "".
|
|
||||||
+ // "load_default_certificates" is only called twice with one of
|
|
||||||
+ // these parameters.
|
|
||||||
+ default_certs->load(_SYSTEM_CERTS_PATH);
|
|
||||||
}
|
|
||||||
#ifdef BUILTIN_CERTS_ENABLED
|
|
||||||
else {
|
|
||||||
// Use builtin certs only if user did not override it in project settings.
|
|
||||||
PackedByteArray out;
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:8ce3e2170ac5e043a7ce9c6f839ef67eddd83e24c0728d1afc76e678d4f37552
|
|
||||||
size 30203636
|
|
@ -1 +0,0 @@
|
|||||||
8ce3e2170ac5e043a7ce9c6f839ef67eddd83e24c0728d1afc76e678d4f37552 godot-4.0.3-stable.tar.xz
|
|
3
godot-4.1-stable.tar.xz
Normal file
3
godot-4.1-stable.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5ef9a3b3591b1ceb2f89fba9419a05ef436d73514e2e15aebac4bebc246122ef
|
||||||
|
size 30679684
|
1
godot-4.1-stable.tar.xz.sha256
Normal file
1
godot-4.1-stable.tar.xz.sha256
Normal file
@ -0,0 +1 @@
|
|||||||
|
5ef9a3b3591b1ceb2f89fba9419a05ef436d73514e2e15aebac4bebc246122ef godot-4.1-stable.tar.xz
|
@ -1,3 +1,98 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 7 12:00:00 UTC 2023 - cunix@mail.de
|
||||||
|
|
||||||
|
- Update to 4.1
|
||||||
|
|
||||||
|
Added:
|
||||||
|
* Platform-specific CA bundles
|
||||||
|
* "Center View" button in 2D editor
|
||||||
|
* Proper snapping to tile polygon editor
|
||||||
|
* Ability to look-at in 3D model-space
|
||||||
|
* Move control points button to Path3D Editor
|
||||||
|
* "TRANS_SPRING" mode to "Tween"
|
||||||
|
* Frame delta smoothing option
|
||||||
|
* Square fill mode to GradientTexture2D
|
||||||
|
* "ProjectSettings.set_as_basic()" and "ProjectSettings.set_as_internal()"
|
||||||
|
exposed to scripting
|
||||||
|
* Let user scripts disable thread safety checks
|
||||||
|
* multi-window for code and shader editors
|
||||||
|
* Remember snapping options per-project
|
||||||
|
* Project tags
|
||||||
|
* Make create folder popup support nested folders
|
||||||
|
* Relative path support for "EditorPlugin.add_autoload_singleton"
|
||||||
|
* Export options for EditorExportPlugins
|
||||||
|
* Editor support for icons of custom, scripted, and GDExtension classes
|
||||||
|
* Backwards compatibility system for GDExtension
|
||||||
|
* GDExtensions allowed to add editor plugins
|
||||||
|
* GDExtension "@since" attribute
|
||||||
|
* Boolean operators for all Variant types
|
||||||
|
* Static variables in GDScript
|
||||||
|
* Multiline cells in "Tree"
|
||||||
|
* horizontal/vertical "custom_step" editor property for "ScrollContainer"
|
||||||
|
* "screen_get_pixel" method
|
||||||
|
* Vertical icon alignment for buttons
|
||||||
|
* All auto-wrap modes in "TextEdit" exposed
|
||||||
|
* Tab stops support in "Label" and "RichTextLabel"
|
||||||
|
* "Window.get_window_id()"
|
||||||
|
* Method to check if native window is focused
|
||||||
|
* Support for extending GLTF with more texture formats and support WebP
|
||||||
|
* non-standard OBJ vertex entries supported
|
||||||
|
* NavigationAgent path postprocessing and pathfinding algorithm options exposed
|
||||||
|
* "audio/general/text_to_speech" project setting to enable/disable TTS
|
||||||
|
* Default error handler for X11 to avoid crashes
|
||||||
|
* Shader cache for GLES3
|
||||||
|
* Vulkan pipeline caching
|
||||||
|
* NoiseTexture3D
|
||||||
|
* "EXPOSURE" and "LIGHT_IS_DIRECTIONAL" built-in for spatial shaders
|
||||||
|
* Option for ButtonGroups to be unpressed
|
||||||
|
|
||||||
|
Changed:
|
||||||
|
* Node processing refactored to allow Scene multi-threading
|
||||||
|
* Node children management optimized
|
||||||
|
* Replace invalid characters in node names by underscores
|
||||||
|
instead of removing them
|
||||||
|
* Remove constrained view in the 2D editor
|
||||||
|
* Reorganize context menu in FileSystem dock
|
||||||
|
* Preserve scene unique names when saving branch as scene
|
||||||
|
* Allow showing messages from threads in "Editor Log"
|
||||||
|
* Store sensitive export options in dedicated credentials file
|
||||||
|
* Rework GDExtension interface from a struct to loading function pointers
|
||||||
|
* Make "TextureButton" and "Button" update on texture change
|
||||||
|
* Use defined key mapping for closing popups and dialogs
|
||||||
|
* Disable texture format import overrides by default
|
||||||
|
* Navigation mesh edge connections optional
|
||||||
|
* Disable weak crypto and TLS versions
|
||||||
|
* Propagate previously unused "NOTIFICATION_WORLD_2D_CHANGED",
|
||||||
|
make CanvasItem/CollisionObject2D use it
|
||||||
|
* Rework particle turbulence
|
||||||
|
* (Re-)Implement "Light3D.shadow_reverse_cull_face"
|
||||||
|
|
||||||
|
Fixed:
|
||||||
|
* 3D viewport front/rear axis and "Focus" button
|
||||||
|
* AudioListener2D ignoring rotation for positional audio
|
||||||
|
* Trim when importing WAV
|
||||||
|
* Invalid 2D global position when read outside tree
|
||||||
|
* "View Owners" dialog not acknowledging that some resources aren't scenes
|
||||||
|
* Avoid error spam on first opening of a not yet imported project
|
||||||
|
* GDExtension Variant type conversion
|
||||||
|
* GDScript access to identifiers that are reserved keywords
|
||||||
|
* Ensure that controls update all their sizing information when required
|
||||||
|
* Input: just pressed and released with short presses
|
||||||
|
* Sliding window problem
|
||||||
|
* Temporary file permissions
|
||||||
|
|
||||||
|
and much more:
|
||||||
|
https://downloads.tuxfamily.org/godotengine/4.1/Godot_v4.1-stable_changelog_chrono.txt
|
||||||
|
|
||||||
|
- "certs_fallback.patch" dropped:
|
||||||
|
godot is now aware of openSUSE certs in
|
||||||
|
"/var/lib/ca-certificates/ca-bundle.pem"
|
||||||
|
|
||||||
|
- "tinyexr_thirdparty_upstream.patch" dropped:
|
||||||
|
bundled tinyexr 1.0.5 has patch applied
|
||||||
|
|
||||||
|
- "xkb_loaded.patch" added for x11 build failure with "use_sowrap=no"
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon May 22 12:00:00 UTC 2023 - cunix@mail.de
|
Mon May 22 12:00:00 UTC 2023 - cunix@mail.de
|
||||||
|
|
||||||
|
64
godot.spec
64
godot.spec
@ -21,10 +21,15 @@
|
|||||||
%define faster_build 0
|
%define faster_build 0
|
||||||
|
|
||||||
%define _buildshell /bin/bash
|
%define _buildshell /bin/bash
|
||||||
|
# not needed anymore since 4.1
|
||||||
%define ca_bundle %{_localstatedir}/lib/ca-certificates/ca-bundle.pem
|
%define ca_bundle %{_localstatedir}/lib/ca-certificates/ca-bundle.pem
|
||||||
|
|
||||||
|
# building with default gcc 7.5 fails since 4.1 on Leap
|
||||||
|
# https://github.com/godotengine/godot/issues/79352
|
||||||
|
%define compiler_version_leap 10
|
||||||
|
|
||||||
Name: godot
|
Name: godot
|
||||||
Version: 4.0.3
|
Version: 4.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Cross-Platform Game Engine with an Integrated Editor
|
Summary: Cross-Platform Game Engine with an Integrated Editor
|
||||||
License: MIT
|
License: MIT
|
||||||
@ -32,15 +37,19 @@ Group: Development/Tools/Other
|
|||||||
URL: https://godotengine.org/
|
URL: https://godotengine.org/
|
||||||
Source0: https://downloads.tuxfamily.org/godotengine/%{version}/%{name}-%{version}-stable.tar.xz
|
Source0: https://downloads.tuxfamily.org/godotengine/%{version}/%{name}-%{version}-stable.tar.xz
|
||||||
Source1: https://downloads.tuxfamily.org/godotengine/%{version}/%{name}-%{version}-stable.tar.xz.sha256
|
Source1: https://downloads.tuxfamily.org/godotengine/%{version}/%{name}-%{version}-stable.tar.xz.sha256
|
||||||
# Use system certificates as fallback for certificates
|
# Fix build with use_sowrap=no and various warnings/errors
|
||||||
Patch0: certs_fallback.patch
|
# https://github.com/godotengine/godot/pull/79097
|
||||||
# Heap-buffer-overflow in bundled tinyexr
|
Patch0: xkb_loaded.patch
|
||||||
Patch1: tinyexr_thirdparty_upstream.patch
|
|
||||||
BuildRequires: Mesa-devel
|
BuildRequires: Mesa-devel
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
|
%if %{suse_version} > 1500
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
|
%else
|
||||||
|
BuildRequires: gcc%{compiler_version_leap}
|
||||||
|
BuildRequires: gcc%{compiler_version_leap}-c++
|
||||||
|
%endif
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: python3
|
BuildRequires: python3
|
||||||
BuildRequires: scons
|
BuildRequires: scons
|
||||||
@ -49,6 +58,7 @@ BuildRequires: yasm-devel
|
|||||||
BuildRequires: pkgconfig(alsa)
|
BuildRequires: pkgconfig(alsa)
|
||||||
BuildRequires: pkgconfig(dbus-1)
|
BuildRequires: pkgconfig(dbus-1)
|
||||||
BuildRequires: pkgconfig(fontconfig)
|
BuildRequires: pkgconfig(fontconfig)
|
||||||
|
BuildRequires: pkgconfig(gl)
|
||||||
BuildRequires: pkgconfig(glesv2)
|
BuildRequires: pkgconfig(glesv2)
|
||||||
BuildRequires: pkgconfig(libpcre2-32)
|
BuildRequires: pkgconfig(libpcre2-32)
|
||||||
BuildRequires: pkgconfig(libpulse)
|
BuildRequires: pkgconfig(libpulse)
|
||||||
@ -136,16 +146,17 @@ Provides: bundled(brotli)
|
|||||||
Provides: bundled(cvtt)
|
Provides: bundled(cvtt)
|
||||||
Provides: bundled(doctest) = 2.4.11
|
Provides: bundled(doctest) = 2.4.11
|
||||||
Provides: bundled(etcpak) = 1.0
|
Provides: bundled(etcpak) = 1.0
|
||||||
Provides: bundled(glad) = 2.0.2
|
Provides: bundled(glad) = 2.0.4
|
||||||
Provides: bundled(google-droid-fonts)
|
Provides: bundled(google-droid-fonts)
|
||||||
Provides: bundled(hqx)
|
Provides: bundled(hqx)
|
||||||
Provides: bundled(icu4c) = 72.1
|
Provides: bundled(icu4c) = 73.1
|
||||||
Provides: bundled(ifaddrs-android)
|
Provides: bundled(ifaddrs-android)
|
||||||
Provides: bundled(jpeg-compressor) = 2.00
|
Provides: bundled(jpeg-compressor) = 2.00
|
||||||
Provides: bundled(meshoptimizer)
|
Provides: bundled(meshoptimizer)
|
||||||
Provides: bundled(minimp3)
|
Provides: bundled(minimp3)
|
||||||
Provides: bundled(msdfgen) = 1.9.2
|
Provides: bundled(msdfgen) = 1.10
|
||||||
Provides: bundled(noto-sans-fonts)
|
Provides: bundled(noto-sans-fonts)
|
||||||
|
Provides: bundled(nvapi) = R525
|
||||||
Provides: bundled(oidn) = 1.9.2
|
Provides: bundled(oidn) = 1.9.2
|
||||||
Provides: bundled(openxr) = 1.0.26
|
Provides: bundled(openxr) = 1.0.26
|
||||||
Provides: bundled(pcg)
|
Provides: bundled(pcg)
|
||||||
@ -153,17 +164,17 @@ Provides: bundled(polyclipping)
|
|||||||
Provides: bundled(polypartition)
|
Provides: bundled(polypartition)
|
||||||
Provides: bundled(pvrtccompressor)
|
Provides: bundled(pvrtccompressor)
|
||||||
Provides: bundled(smaz)
|
Provides: bundled(smaz)
|
||||||
Provides: bundled(spirv-reflect) = sdk-1.3.231.1
|
Provides: bundled(spirv-reflect) = sdk-1.3.250.0
|
||||||
Provides: bundled(stb)
|
Provides: bundled(stb)
|
||||||
Provides: bundled(thorvg) = 0.9.0
|
Provides: bundled(thorvg) = 0.9.0
|
||||||
Provides: bundled(tinyexr) = 1.0.1
|
Provides: bundled(tinyexr) = 1.0.5
|
||||||
Provides: bundled(vhacd)
|
Provides: bundled(vhacd)
|
||||||
Provides: bundled(volk) = sdk-1.3.231.1
|
Provides: bundled(volk) = sdk-1.3.250.0
|
||||||
Provides: bundled(vulkan) = sdk-1.3.231.1
|
Provides: bundled(vulkan) = sdk-1.3.250.0
|
||||||
Provides: bundled(yuv2rgb)
|
Provides: bundled(yuv2rgb)
|
||||||
|
|
||||||
# Can be unbundled if packaged
|
# Can be unbundled if packaged
|
||||||
Provides: bundled(recastnavigation)
|
Provides: bundled(recastnavigation) = 1.6.0
|
||||||
Provides: bundled(squish) = 1.15
|
Provides: bundled(squish) = 1.15
|
||||||
Provides: bundled(xatlas)
|
Provides: bundled(xatlas)
|
||||||
|
|
||||||
@ -176,14 +187,14 @@ Provides: bundled(embree) = 3.13.5
|
|||||||
|
|
||||||
%if 0%{?suse_version} > 1500
|
%if 0%{?suse_version} > 1500
|
||||||
%else
|
%else
|
||||||
Provides: bundled(glslang) = 11.12.0
|
Provides: bundled(glslang) = 12.2.0
|
||||||
# see comments for freetype2, libpng and zlib Factory BuildRequires
|
# see comments for freetype2, libpng and zlib Factory BuildRequires
|
||||||
Provides: bundled(freetype2) = 2.12.1
|
Provides: bundled(freetype2) = 2.13.0
|
||||||
Provides: bundled(graphite) = 1.3.14
|
Provides: bundled(graphite) = 1.3.14
|
||||||
Provides: bundled(harfbuzz) = 6.0.0
|
Provides: bundled(harfbuzz) = 7.3.0
|
||||||
|
|
||||||
Provides: bundled(libpng) = 1.6.38
|
Provides: bundled(libpng) = 1.6.38
|
||||||
Provides: bundled(libzstd)
|
Provides: bundled(libzstd) = 1.5.5
|
||||||
Provides: bundled(zlib)
|
Provides: bundled(zlib)
|
||||||
%if 0%{?sle_version} < 150200
|
%if 0%{?sle_version} < 150200
|
||||||
Provides: bundled(mbedtls) = 2.28.3
|
Provides: bundled(mbedtls) = 2.28.3
|
||||||
@ -231,7 +242,6 @@ Bash command line completion support for %{name} and %{name}-runner
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}-stable
|
%setup -q -n %{name}-%{version}-stable
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
|
||||||
|
|
||||||
cp thirdparty/README.md thirdparty_README.md
|
cp thirdparty/README.md thirdparty_README.md
|
||||||
|
|
||||||
@ -242,7 +252,8 @@ if [[ -z "$(desktop-file-validate misc/dist/linux/org.godotengine.Godot.desktop)
|
|||||||
then
|
then
|
||||||
# desktop-file-utils version >= 0.25
|
# desktop-file-utils version >= 0.25
|
||||||
echo desktop-file-utils is up to date and recognizes PrefersNonDefaultGPU.
|
echo desktop-file-utils is up to date and recognizes PrefersNonDefaultGPU.
|
||||||
# rpmlint complains nevertheless (on Tumbleweed). A false negative?
|
# rpmlint complains nevertheless with older rpmlint-mini.
|
||||||
|
# Tumbleweed is fixed with update of rpmlint-mini.
|
||||||
# see https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys
|
# see https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys
|
||||||
# Perhaps because rpmlint-mini includes as of today (18.09.2020)
|
# Perhaps because rpmlint-mini includes as of today (18.09.2020)
|
||||||
# desktop-file-utils-0.24 while we checked for available default version >= 0.25
|
# desktop-file-utils-0.24 while we checked for available default version >= 0.25
|
||||||
@ -296,12 +307,23 @@ done
|
|||||||
mkdir -pv thirdparty/certs
|
mkdir -pv thirdparty/certs
|
||||||
touch thirdparty/certs/ca-certificates.crt
|
touch thirdparty/certs/ca-certificates.crt
|
||||||
|
|
||||||
|
use_sowrap="use_sowrap=no "
|
||||||
rm -rf thirdparty/linuxbsd_headers
|
rm -rf thirdparty/linuxbsd_headers
|
||||||
|
|
||||||
|
%if %{suse_version} > 1500
|
||||||
|
%define ccflags %{optflags}
|
||||||
|
compiler=""
|
||||||
|
linkflags=""
|
||||||
|
%else
|
||||||
|
%define ccflags %{optflags} -fPIE
|
||||||
|
compiler="CC=gcc-%{compiler_version_leap} CXX=g++-%{compiler_version_leap}"
|
||||||
|
linkflags="LINKFLAGS=-pie"
|
||||||
|
%endif
|
||||||
|
|
||||||
%define build_args_common %{?_smp_mflags} \\\
|
%define build_args_common %{?_smp_mflags} \\\
|
||||||
progress=no verbose=yes udev=yes use_lto=1 \\\
|
progress=no verbose=yes udev=yes use_lto=1 \\\
|
||||||
use_static_cpp=no CCFLAGS='%{optflags}' \\\
|
use_static_cpp=no CCFLAGS='%{ccflags}' $linkflags $compiler \\\
|
||||||
system_certs_path=%{ca_bundle} use_sowrap=no $system_libs
|
system_certs_path=%{ca_bundle} $use_sowrap $system_libs
|
||||||
|
|
||||||
%ifarch aarch64 %arm
|
%ifarch aarch64 %arm
|
||||||
# Disable unsupported features - https://github.com/godotengine/godot/issues/48297#issuecomment-829165296
|
# Disable unsupported features - https://github.com/godotengine/godot/issues/48297#issuecomment-829165296
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
From cc1b199dd17b700c3130a53866ea462ab88e7f82 Mon Sep 17 00:00:00 2001
|
|
||||||
From: 0xdd96 <1011085630@qq.com>
|
|
||||||
Date: Wed, 6 Jul 2022 12:14:50 +0800
|
|
||||||
Subject: [PATCH] Add bounds check to address #169
|
|
||||||
References: https://bugzilla.opensuse.org/show_bug.cgi?id=1203278
|
|
||||||
https://github.com/syoyo/tinyexr/issues/169
|
|
||||||
https://github.com/syoyo/tinyexr/pull/170/commits/cc1b199dd17b700c3130a53866ea462ab88e7f82
|
|
||||||
Rebased: 20220912 by cunix
|
|
||||||
|
|
||||||
diff -r -U 5 a/thirdparty/tinyexr/tinyexr.h b/thirdparty/tinyexr/tinyexr.h
|
|
||||||
--- a/thirdparty/tinyexr/tinyexr.h
|
|
||||||
+++ b/thirdparty/tinyexr/tinyexr.h
|
|
||||||
@@ -1454,11 +1454,11 @@
|
|
||||||
in += count;
|
|
||||||
} else {
|
|
||||||
int count = *in++;
|
|
||||||
inLength -= 2;
|
|
||||||
|
|
||||||
- if (0 > (maxLength -= count + 1)) return 0;
|
|
||||||
+ if (0 > (maxLength -= count + 1) || inLength < 0) return 0;
|
|
||||||
|
|
||||||
memset(out, *reinterpret_cast<const char *>(in), count + 1);
|
|
||||||
out += count + 1;
|
|
||||||
|
|
||||||
in++;
|
|
88
xkb_loaded.patch
Normal file
88
xkb_loaded.patch
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
From dcd16a5750ac1f11014e89f579baa380bee3263e Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= <rverschelde@gmail.com>
|
||||||
|
Date: Thu, 6 Jul 2023 14:05:28 +0200
|
||||||
|
Subject: [PATCH] Linux: Fix build with `use_sowrap=no` and various
|
||||||
|
warnings/errors
|
||||||
|
|
||||||
|
---
|
||||||
|
platform/linuxbsd/joypad_linux.cpp | 20 +++++++++++---------
|
||||||
|
platform/linuxbsd/x11/display_server_x11.cpp | 6 +++++-
|
||||||
|
2 files changed, 16 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/platform/linuxbsd/joypad_linux.cpp b/platform/linuxbsd/joypad_linux.cpp
|
||||||
|
index ab79885fb4818..71c03898c8a3f 100644
|
||||||
|
--- a/platform/linuxbsd/joypad_linux.cpp
|
||||||
|
+++ b/platform/linuxbsd/joypad_linux.cpp
|
||||||
|
@@ -98,19 +98,20 @@ static bool detect_sandbox() {
|
||||||
|
|
||||||
|
JoypadLinux::JoypadLinux(Input *in) {
|
||||||
|
#ifdef UDEV_ENABLED
|
||||||
|
-#ifdef SOWRAP_ENABLED
|
||||||
|
-#ifdef DEBUG_ENABLED
|
||||||
|
- int dylibloader_verbose = 1;
|
||||||
|
-#else
|
||||||
|
- int dylibloader_verbose = 0;
|
||||||
|
-#endif
|
||||||
|
if (detect_sandbox()) {
|
||||||
|
// Linux binaries in sandboxes / containers need special handling because
|
||||||
|
// libudev doesn't work there. So we need to fallback to manual parsing
|
||||||
|
// of /dev/input in such case.
|
||||||
|
use_udev = false;
|
||||||
|
print_verbose("JoypadLinux: udev enabled, but detected incompatible sandboxed mode. Falling back to /dev/input to detect joypads.");
|
||||||
|
- } else {
|
||||||
|
+ }
|
||||||
|
+#ifdef SOWRAP_ENABLED
|
||||||
|
+ else {
|
||||||
|
+#ifdef DEBUG_ENABLED
|
||||||
|
+ int dylibloader_verbose = 1;
|
||||||
|
+#else
|
||||||
|
+ int dylibloader_verbose = 0;
|
||||||
|
+#endif
|
||||||
|
use_udev = initialize_libudev(dylibloader_verbose) == 0;
|
||||||
|
if (use_udev) {
|
||||||
|
if (!udev_new || !udev_unref || !udev_enumerate_new || !udev_enumerate_add_match_subsystem || !udev_enumerate_scan_devices || !udev_enumerate_get_list_entry || !udev_list_entry_get_next || !udev_list_entry_get_name || !udev_device_new_from_syspath || !udev_device_get_devnode || !udev_device_get_action || !udev_device_unref || !udev_enumerate_unref || !udev_monitor_new_from_netlink || !udev_monitor_filter_add_match_subsystem_devtype || !udev_monitor_enable_receiving || !udev_monitor_get_fd || !udev_monitor_receive_device || !udev_monitor_unref) {
|
||||||
|
@@ -124,10 +125,11 @@ JoypadLinux::JoypadLinux(Input *in) {
|
||||||
|
print_verbose("JoypadLinux: udev enabled, but couldn't be loaded. Falling back to /dev/input to detect joypads.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-#endif
|
||||||
|
+#endif // SOWRAP_ENABLED
|
||||||
|
#else
|
||||||
|
print_verbose("JoypadLinux: udev disabled, parsing /dev/input to detect joypads.");
|
||||||
|
-#endif
|
||||||
|
+#endif // UDEV_ENABLED
|
||||||
|
+
|
||||||
|
input = in;
|
||||||
|
monitor_joypads_thread.start(monitor_joypads_thread_func, this);
|
||||||
|
joypad_events_thread.start(joypad_events_thread_func, this);
|
||||||
|
diff --git a/platform/linuxbsd/x11/display_server_x11.cpp b/platform/linuxbsd/x11/display_server_x11.cpp
|
||||||
|
index 8724bc871ad8e..d9e18720dc17e 100644
|
||||||
|
--- a/platform/linuxbsd/x11/display_server_x11.cpp
|
||||||
|
+++ b/platform/linuxbsd/x11/display_server_x11.cpp
|
||||||
|
@@ -5449,7 +5449,9 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#ifdef XKB_ENABLED
|
||||||
|
- xkb_loaded = true;
|
||||||
|
+ bool xkb_loaded = true;
|
||||||
|
+ xkb_loaded_v05p = true;
|
||||||
|
+ xkb_loaded_v08p = true;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -5476,6 +5478,7 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
|
||||||
|
|
||||||
|
r_error = OK;
|
||||||
|
|
||||||
|
+#ifdef SOWRAP_ENABLED
|
||||||
|
{
|
||||||
|
if (!XcursorImageCreate || !XcursorImageLoadCursor || !XcursorImageDestroy || !XcursorGetDefaultSize || !XcursorGetTheme || !XcursorLibraryLoadImage) {
|
||||||
|
// There's no API to check version, check if functions are available instead.
|
||||||
|
@@ -5484,6 +5487,7 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
for (int i = 0; i < CURSOR_MAX; i++) {
|
||||||
|
cursors[i] = None;
|
Loading…
Reference in New Issue
Block a user