Accepting request 887901 from home:cunix:godot

Update to 3.3

OBS-URL: https://build.opensuse.org/request/show/887901
OBS-URL: https://build.opensuse.org/package/show/games/godot?expand=0&rev=22
This commit is contained in:
Max Mitschke 2021-04-23 15:49:43 +00:00 committed by Git OBS Bridge
parent b5dcce0a20
commit cc0af50653
10 changed files with 123 additions and 132 deletions

View File

@ -4,5 +4,8 @@
<physicalmemory>
<size unit="M">8192</size>
</physicalmemory>
<disk>
<size unit="G">10</size>
</disk>
</hardware>
</constraints>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:85fd73d742cc64887056a232f8f7a622112e78b51f31d4d08db0f982e5f3a023
size 14360332

View File

@ -1 +0,0 @@
85fd73d742cc64887056a232f8f7a622112e78b51f31d4d08db0f982e5f3a023 godot-3.2.3-stable.tar.xz

3
godot-3.3-stable.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fcbbc6aaab16059e6622482c3358d58098d34ed51e099c854ec0ad79f466d555
size 20581028

View File

@ -0,0 +1 @@
fcbbc6aaab16059e6622482c3358d58098d34ed51e099c854ec0ad79f466d555 godot-3.3-stable.tar.xz

View File

@ -1,3 +1,75 @@
-------------------------------------------------------------------
Thu Apr 22 12:00:00 UTC 2021 - cunix@mail.de
- Update to 3.3
Added:
* MP3 loading and playback support
* AudioEffectCapture to access the microphone in real-time
* New dynamic BVH for rendering and the GodotPhysics backends
* Ability to restore RandomNumberGenerator state
* "Array.append_array()" method to append an array
at the end of another array
* "OS.set_environment()" method to set environment variables
* Infinite 3D editor grid
* New 3D rotation gizmo
* Support for copy-pasting nodes
* Detect external modification of scenes and prompt for reloading
* New editor to configure default import presets
* 3D viewport's View Information pane displays viewport resolution
* Minimap support in GraphEdit
* New AspectRatioContainer Control node
* Rewritten and greatly improved FBX importer
* "Keep" mode to keep files as-is and export them
* Mouse event pass-through support for the window
* Support for pause-aware picking (breaks compatibility but only
enabled by default for new projects)
* CollisionObject can now display collision shape meshes
* Cylinder collision shape support
* PulseAudio and ALSA libraries are now dynamically loaded
* Implement the "--no-window" command line argument
* 2D batching for GLES3
* Configurable amount of lights per object
* New CPU lightmapper
* Anisotropic filtering now works when using the GLES2 backend
Changed:
* Deleted object access now raises an error instead of a warning
* Improved error messages when passing nonexistent node paths
to "get_node()"
* Modernized multi-threading APIs
* SVG images can now be used as a project icon
* Improved inspector subresource editing visibility
* Pressed CheckButtons are now colored in blue for easier recognition
* Rename Node is now bound to "F2" key
* Search Help shortcut from keys "Shift + F1" changed to "F1"
* The inspector now allows using a comma as a decimal separator
* Drag-and-dropping a ZIP archive to the project manager window
will now prompt for importing it
* Increase the default HTTPClient download chunk size to 64 KiB
* Binaries are now stripped of string and symbol tables,
reducing their size significantly
Removed:
* ResourceImporterCSV importer superseded by the new "keep" import mode
Fixed:
* Use higher-quality resampling for Ogg Vorbis and MP3 sounds
* exporting if the temporary export directory doesn't exist yet
* Export PCK/ZIP action now obeys the export path configured
in the export preset as expected
* UDP ports being silently reused without an error in PacketPeerUDP
* keyboard input lag and clipboard delay issues
And more:
https://downloads.tuxfamily.org/godotengine/3.3/Godot_v3.3-stable_changelog_chrono.txt
- "linker_pie_flag.patch" rebased
- "upstream_fix_TGA_loader.patch" dropped - included in source now
- "use_system_zlib_for_fbx.patch" added to force using system zlib
-------------------------------------------------------------------
Sat Feb 13 00:00:00 UTC 2021 - cunix@mail.de

View File

@ -24,7 +24,7 @@
%define ca_bundle %{_localstatedir}/lib/ca-certificates/ca-bundle.pem
Name: godot
Version: 3.2.3
Version: 3.3
Release: 0
Summary: Cross-Platform Game Engine with an Integrated Editor
License: MIT
@ -36,9 +36,8 @@ Source1: https://downloads.tuxfamily.org/godotengine/%{version}/%{name}-%
Patch0: linker_pie_flag.patch
# Use system certificates as fallback for certificates
Patch1: certs_fallback.patch
# PATCH-FIX-UPSTREAM upstream_fix_TGA_loader.patch boo#1182177 boo#1182178
# commit 113b5ab1c45c01b8e6d54d13ac8876d091f883a8
Patch2: upstream_fix_TGA_loader.patch
# Do not use zlib from thirdparty directory
Patch2: use_system_zlib_for_fbx.patch
BuildRequires: Mesa-devel
BuildRequires: desktop-file-utils
BuildRequires: fdupes
@ -103,7 +102,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
# Has some modifications for IPv6 support, upstream enet is unresponsive
# Should not be unbundled.
Provides: bundled(enet) = 1.3.15
Provides: bundled(enet) = 1.3.17
# Has custom changes to support seeking in zip archives
# Should not be unbundled.
@ -113,6 +112,7 @@ Provides: bundled(FastLZ)
Provides: bundled(Tangent_Space_Normal_Maps)
Provides: bundled(cvtt)
Provides: bundled(easing)
Provides: bundled(embree)
Provides: bundled(etc2comp)
Provides: bundled(glad)
Provides: bundled(google-droid-fonts)
@ -122,6 +122,7 @@ Provides: bundled(ifaddrs-android)
Provides: bundled(jpeg-compressor)
Provides: bundled(libsimplewebm)
Provides: bundled(noto-sans-fonts)
Provides: bundled(oidn)
Provides: bundled(open-simplex-noise-in-c)
Provides: bundled(pcg)
Provides: bundled(polyclipping)
@ -139,16 +140,12 @@ Provides: bundled(recastnavigation)
Provides: bundled(squish) = 1.15
Provides: bundled(xatlas)
## Need to update in Factory ##
# Possibility to unbundle disabled in 3.2.1
Provides: bundled(assimp)
%if 0%{?suse_version} > 1500
%else
Provides: bundled(bullet) = 2.89
Provides: bundled(libzstd)
%if 0%{?sle_version} < 150200
Provides: bundled(mbedtls) = 2.16.8
Provides: bundled(mbedtls) = 2.16.10
%endif
%if !0%{?is_opensuse}
# SLES seems not to have miniupnpc and wslay

View File

@ -5,7 +5,7 @@ References: https://github.com/godotengine/godot/pull/23542#issuecomment-4363858
https://github.com/godotengine/godot/pull/23542
https://github.com/godotengine/godot/issues/34533
Upstream: seems to do the opposite
Rebased: 2020-06-25
Rebased: 2021-04-22
Linker flag "-no-pie" is added by upstream.
rpmlint complains this violates project policy.
@ -13,10 +13,12 @@ Patch replaces flag "-no-pie" with "-pie".
---
diff -Naur a/platform/x11/detect.py b/platform/x11/detect.py
--- a/platform/x11/detect.py 2020-06-26 12:57:27.036237658 -0400
+++ b/platform/x11/detect.py 2020-06-26 12:57:50.187746327 -0400
@@ -185,7 +185,7 @@
diff -r -U 5 a/platform/x11/detect.py b/platform/x11/detect.py
--- a/platform/x11/detect.py
+++ b/platform/x11/detect.py
@@ -199,11 +199,11 @@
# Check for gcc version >= 6 before adding -no-pie
version = get_compiler_version(env) or [-1, -1]
if using_gcc(env):
if version[0] >= 6:
env.Append(CCFLAGS=["-fpie"])
@ -25,3 +27,5 @@ diff -Naur a/platform/x11/detect.py b/platform/x11/detect.py
# Do the same for clang should be fine with Clang 4 and higher
if using_clang(env):
if version[0] >= 4:
env.Append(CCFLAGS=["-fpie"])
env.Append(LINKFLAGS=["-no-pie"])

View File

@ -1,113 +0,0 @@
From 113b5ab1c45c01b8e6d54d13ac8876d091f883a8 Mon Sep 17 00:00:00 2001
From: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
Date: Thu, 4 Feb 2021 12:56:33 +0100
Subject: [PATCH] Fix a crash in the TGA loader with malformed input
Upstream: merged security fix
---
modules/tga/image_loader_tga.cpp | 25 ++++++++++++++++++++++---
modules/tga/image_loader_tga.h | 2 +-
2 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/modules/tga/image_loader_tga.cpp b/modules/tga/image_loader_tga.cpp
index d60efdd5bcc..964dc091a7d 100644
--- a/modules/tga/image_loader_tga.cpp
+++ b/modules/tga/image_loader_tga.cpp
@@ -55,6 +55,10 @@ Error ImageLoaderTGA::decode_tga_rle(const uint8_t *p_compressed_buffer, size_t
compressed_pos += 1;
count = (c & 0x7f) + 1;
+ if (output_pos + count * p_pixel_size > output_pos) {
+ return ERR_PARSE_ERROR;
+ }
+
if (c & 0x80) {
for (size_t i = 0; i < p_pixel_size; i++) {
pixels_w.ptr()[i] = p_compressed_buffer[compressed_pos];
@@ -78,7 +82,7 @@ Error ImageLoaderTGA::decode_tga_rle(const uint8_t *p_compressed_buffer, size_t
return OK;
}
-Error ImageLoaderTGA::convert_to_image(Ref<Image> p_image, const uint8_t *p_buffer, const tga_header_s &p_header, const uint8_t *p_palette, const bool p_is_monochrome) {
+Error ImageLoaderTGA::convert_to_image(Ref<Image> p_image, const uint8_t *p_buffer, const tga_header_s &p_header, const uint8_t *p_palette, const bool p_is_monochrome, size_t p_output_size) {
#define TGA_PUT_PIXEL(r, g, b, a) \
int image_data_ofs = ((y * width) + x); \
@@ -130,6 +134,9 @@ Error ImageLoaderTGA::convert_to_image(Ref<Image> p_image, const uint8_t *p_buff
if (p_is_monochrome) {
while (y != y_end) {
while (x != x_end) {
+ if (i > p_output_size) {
+ return ERR_PARSE_ERROR;
+ }
uint8_t shade = p_buffer[i];
TGA_PUT_PIXEL(shade, shade, shade, 0xff)
@@ -143,6 +150,9 @@ Error ImageLoaderTGA::convert_to_image(Ref<Image> p_image, const uint8_t *p_buff
} else {
while (y != y_end) {
while (x != x_end) {
+ if (i > p_output_size) {
+ return ERR_PARSE_ERROR;
+ }
uint8_t index = p_buffer[i];
uint8_t r = 0x00;
uint8_t g = 0x00;
@@ -171,6 +181,10 @@ Error ImageLoaderTGA::convert_to_image(Ref<Image> p_image, const uint8_t *p_buff
} else if (p_header.pixel_depth == 24) {
while (y != y_end) {
while (x != x_end) {
+ if (i + 2 > p_output_size) {
+ return ERR_PARSE_ERROR;
+ }
+
uint8_t r = p_buffer[i + 2];
uint8_t g = p_buffer[i + 1];
uint8_t b = p_buffer[i + 0];
@@ -186,6 +200,10 @@ Error ImageLoaderTGA::convert_to_image(Ref<Image> p_image, const uint8_t *p_buff
} else if (p_header.pixel_depth == 32) {
while (y != y_end) {
while (x != x_end) {
+ if (i + 3 > p_output_size) {
+ return ERR_PARSE_ERROR;
+ }
+
uint8_t a = p_buffer[i + 3];
uint8_t r = p_buffer[i + 2];
uint8_t g = p_buffer[i + 1];
@@ -280,7 +298,7 @@ Error ImageLoaderTGA::load_image(Ref<Image> p_image, FileAccess *f, bool p_force
PoolVector<uint8_t>::Read src_image_r = src_image.read();
const size_t pixel_size = tga_header.pixel_depth >> 3;
- const size_t buffer_size = (tga_header.image_width * tga_header.image_height) * pixel_size;
+ size_t buffer_size = (tga_header.image_width * tga_header.image_height) * pixel_size;
PoolVector<uint8_t> uncompressed_buffer;
uncompressed_buffer.resize(buffer_size);
@@ -299,11 +317,12 @@ Error ImageLoaderTGA::load_image(Ref<Image> p_image, FileAccess *f, bool p_force
}
} else {
buffer = src_image_r.ptr();
+ buffer_size = src_image_len;
};
if (err == OK) {
PoolVector<uint8_t>::Read palette_r = palette.read();
- err = convert_to_image(p_image, buffer, tga_header, palette_r.ptr(), is_monochrome);
+ err = convert_to_image(p_image, buffer, tga_header, palette_r.ptr(), is_monochrome, buffer_size);
}
}
diff --git a/modules/tga/image_loader_tga.h b/modules/tga/image_loader_tga.h
index 249e33411e7..bbfc3fed329 100644
--- a/modules/tga/image_loader_tga.h
+++ b/modules/tga/image_loader_tga.h
@@ -73,7 +73,7 @@ class ImageLoaderTGA : public ImageFormatLoader {
uint8_t image_descriptor;
};
static Error decode_tga_rle(const uint8_t *p_compressed_buffer, size_t p_pixel_size, uint8_t *p_uncompressed_buffer, size_t p_output_size);
- static Error convert_to_image(Ref<Image> p_image, const uint8_t *p_buffer, const tga_header_s &p_header, const uint8_t *p_palette, const bool p_is_monochrome);
+ static Error convert_to_image(Ref<Image> p_image, const uint8_t *p_buffer, const tga_header_s &p_header, const uint8_t *p_palette, const bool p_is_monochrome, size_t p_output_size);
public:
virtual Error load_image(Ref<Image> p_image, FileAccess *f, bool p_force_linear, float p_scale);

View File

@ -0,0 +1,28 @@
From: cunix@mail.de
Date: 2021-04-22 12:00:00
Subject: FBXParser should compile with system zlib
References: https://github.com/godotengine/godot/pull/48074
Although zlib is unbundled, FBXParser.cpp wants to use the bundled
header file. Fix this.
Upstream patch probably included in 3.3.1.
---
diff -r -U 5 a/modules/fbx/fbx_parser/FBXParser.cpp b/modules/fbx/fbx_parser/FBXParser.cpp
--- a/modules/fbx/fbx_parser/FBXParser.cpp
+++ b/modules/fbx/fbx_parser/FBXParser.cpp
@@ -72,11 +72,11 @@
/** @file FBXParser.cpp
* @brief Implementation of the FBX parser and the rudimentary DOM that we use
*/
-#include "thirdparty/zlib/zlib.h"
+#include "/usr/include/zlib.h"
#include <stdlib.h> /* strtol */
#include "ByteSwapper.h"
#include "FBXParseTools.h"
#include "FBXParser.h"