commit 54df5fe1cadbf5fc4bb78c0282e8d0c7bfa72f388c08697eb1cdb64402182047 Author: Ferdinand Thiessen Date: Mon Jan 13 12:02:14 2020 +0000 Accepting request 762883 from home:cunix:godot This should restore games:godot to its last factory state. One of the godot maintainers deleted godot from games a few days ago without my consent - I was one of the maintainers. In the meantime he seems to not wanting to work as godot maintainer anymore. Please add me as maintainer of godot package in games (again). OBS-URL: https://build.opensuse.org/request/show/762883 OBS-URL: https://build.opensuse.org/package/show/games/godot?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..d8bf233 --- /dev/null +++ b/_constraints @@ -0,0 +1,8 @@ + + + 8 + + 8192 + + + diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..2e70dd2 --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,24 @@ +[preset.0] + +name="Linux/X11" +platform="Linux/X11" +runnable=true +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +patch_list=PoolStringArray( ) +script_export_mode=1 +script_encryption_key="" + +[preset.0.options] + +texture_format/bptc=false +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +texture_format/no_bptc_fallbacks=true +binary_format/64_bits=true +custom_template/release="/usr/bin/godot-runner" +custom_template/debug="" \ No newline at end of file diff --git a/fix-pie-warning.patch b/fix-pie-warning.patch new file mode 100644 index 0000000..47ecc5c --- /dev/null +++ b/fix-pie-warning.patch @@ -0,0 +1,13 @@ +diff --git a/platform/x11/detect.py b/platform/x11/detect.py +index 28f5335..35892d8 100644 +--- a/platform/x11/detect.py ++++ b/platform/x11/detect.py +@@ -160,7 +160,7 @@ def configure(env): + version = get_compiler_version(env) + if version != None and version[0] >= '6': + env.Append(CCFLAGS=['-fpie']) +- env.Append(LINKFLAGS=['-no-pie']) ++ + # Do the same for clang should be fine with Clang 4 and higher + if using_clang(env): + version = get_compiler_version(env) diff --git a/godot-3.1.2-stable.tar.xz b/godot-3.1.2-stable.tar.xz new file mode 100644 index 0000000..4ef401e --- /dev/null +++ b/godot-3.1.2-stable.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb85065c4430b8f43fa057f5348dacbb3975e2018cd722f97039293f1428d009 +size 13199028 diff --git a/godot-3.1.2-stable.tar.xz.sha256 b/godot-3.1.2-stable.tar.xz.sha256 new file mode 100644 index 0000000..ee73274 --- /dev/null +++ b/godot-3.1.2-stable.tar.xz.sha256 @@ -0,0 +1 @@ +fb85065c4430b8f43fa057f5348dacbb3975e2018cd722f97039293f1428d009 release-3.1.2-stable/godot-3.1.2-stable.tar.xz diff --git a/godot-rpmlintrc b/godot-rpmlintrc new file mode 100644 index 0000000..1df9411 --- /dev/null +++ b/godot-rpmlintrc @@ -0,0 +1,2 @@ +# package server has no manual-page +addFilter("no-manual-page-for-binary godot-server") diff --git a/godot.changes b/godot.changes new file mode 100644 index 0000000..1a18b68 --- /dev/null +++ b/godot.changes @@ -0,0 +1,292 @@ +------------------------------------------------------------------- +Tue Dec 3 05:46:01 UTC 2019 - Max Mitschke + +- Updated bundled library versions within specfile +- Cleaned up specfile + * Removed defattr directives + * Use %license directive for license files + +------------------------------------------------------------------- +Sat Nov 30 19:18:39 UTC 2019 - Martin Liška + +- Update to 3.1.2 + + Fixed: + * Animation: Fixes for onion skinning support of Skeleton2D + * AnimationTree: Fixes to AnimationTree and State Machine + * Audio: Fix seemingly random crashes related to the audio engine misusing + internal processing + * CPUParticles(2D): Various fixes + * GLES2: Many bugfixes + * GLES3: Many bugfixes + * Editor: Fix issues when moving and renaming files + * Export: Fix resetting editor settings when exporting from the + command line + * Import: Various improvements to BMP support + * Internationalization: Various fixes to Control localization, + and fixes to support of some regional locales + * iOS: Fix crash on resume/exit on iOS 13 + * macOS: Fix non-HiDPI mode on HiDPI displays on macOS Catalina + * macOS: Fix locale detection when running from .app bundle + * Object: Improve instance validation, mitigating thread-related issues + * Shaders: Fix support for hint_range using integers + + Added: + * Editor: Allow to removing 2D editor limits + * Mobile: Add vibration support on Android and iOS + * TileMap: Add support for negative Y and X offsets + * API documentation updates. + * Editor translation updates. + + Third Party Libraries: + * zstd upgraded to 1.4.4 + * libwebsockets downgraded to 3.0.1 (3.1 caused regressions) + +------------------------------------------------------------------- +Sun May 12 13:53:21 UTC 2019 - Max Mitschke + +- Fixing packaging issues for submission to Factory + * Changed python build requirement for python3 + * Removed no-version-in-last-changelog from rpmlintrc + * Renamed rpmlintrc to godot-rpmlintrc per openSUSE packaging + standards + +------------------------------------------------------------------- +Mon Apr 29 16:00:00 UTC 2019 - cunix@bitmessage.ch + +- Use system certificates from /var/lib/ca-certificates/ca-bundle.pem + by default and dynamically. Stop hard coding its content during build. + These certificates are used by the editor to connect to the Asset Library. + +- Added patch file "project_certs_fallback.patch" to use the previously + defined system certificates as fallback for missing certificates in + project setting "network/ssl/certificates". + +------------------------------------------------------------------- +Sun Apr 28 16:00:00 UTC 2019 - cunix@bitmessage.ch + +- Changes in 3.1.1 + + Fixed Security Issue: + * to deserialize Object data. GDNative ABI was changed. + + Fixed: + * GLES 3 support for depth textures. + * GLTF2 importer + + Added: + * HeightMapShape to the Bullet physics engine implementation + * FPS snapping in the Animation player + * audio features for 3.2 were backported + * menu options for the Sprite editor: "Convert to Mesh2D", + "Convert to Polygon2D", "Create CollisionPolygon2D Sibling" + and "Create LightOccluder2D Sibling" + * AnimatedSprite can now play backwards + * Emission Mask to CPUParticles2D + + And more: + https://downloads.tuxfamily.org/godotengine/3.1.1/Godot_v3.1.1-stable_changelog.txt + +------------------------------------------------------------------- +Sun Apr 28 09:20:19 UTC 2019 - Jan Engelhardt + +- Trim filler wording from description. +- Require bash for the build due to use of [[ x > y ]]. + +------------------------------------------------------------------- +Sat Apr 27 18:32:30 UTC 2019 - Martin Liška + +- Update to 3.1.1 + +------------------------------------------------------------------- +Sat Apr 27 06:53:41 UTC 2019 - Martin Liška + +- Mention rpmlintrc as a source file. + +------------------------------------------------------------------- +Tue Apr 16 03:16:21 UTC 2019 - Max Mitschke + +- Update to 3.1 + * See https://github.com/godotengine/godot/blob/3.1-stable/CHANGELOG.md + +------------------------------------------------------------------- +Thu Mar 7 00:31:03 UTC 2019 - Max Mitschke + +- Added export_presets.cfg to be used when one is not present in + Godot game's source. + +------------------------------------------------------------------- +Tue Mar 5 00:29:36 UTC 2019 - Max Mitschke + +- Added godot-headless package + +------------------------------------------------------------------- +Tue Feb 26 10:05:26 UTC 2019 - Martin Liška + +- Disable lto for anything older than openSUSE 15.0. + +------------------------------------------------------------------- +Tue Feb 19 12:24:19 UTC 2019 - Martin Liška + +- Rename subpackages to godot-runner and godot-server in order + to provide same names as in Fedora package +- Do not use -fno-strict-aliasing +- Make output verbose and use LTO (increase RAM requirements). + +------------------------------------------------------------------- +Mon Feb 18 00:00:00 UTC 2019 - cunix@bitmessage.ch + +- Added patches to use system certificates +- Added service file for local hash checking +- Added rpmlintrc file to silence warning of missing version in + changelog and for missing manual-page for server package + +------------------------------------------------------------------- +Tue Feb 5 12:36:39 UTC 2019 - Ferdinand Thiessen + +- Use https://en.opensuse.org/SourceUrls + +------------------------------------------------------------------- +Wed Jan 30 19:35:31 UTC 2019 - maxmitschke@fastmail.com + +- Updated spec file to better align with openSUSE package + guidelines + +------------------------------------------------------------------- +Sun Jul 29 12:00:00 UTC 2018 - cunix@bitmessage.ch + +- Update to 3.0.6 + Fixed Security Vulnerability: + * marshalls size checks + + Fixed: + * vsync initialization + * can't set AudioStreamPlayer stream to null + * Basis.Transposed() + * Several editor crashes + * GLTF import fixes + and more + + Upgrade: + * OpenSSL to 1.0.2o (not used in openSUSE build) + +------------------------------------------------------------------- +Wed Jul 11 18:00:00 UTC 2018 - cunix@bitmessage.ch + +- spec changes: + * build with more shared libraries from the distribution + instead of bundled versions + * make build of templates optional + * unify repetive build arguments + * include thirdparty/README.md in licenses section + +------------------------------------------------------------------- +Tue Jul 10 04:01:38 UTC 2018 - maxmitschke@fastmail.com + +- Update to 3.0.5 + * Android export templates no longer contain the placeholder + permissions which Google Play started complaining about. Now + only requested permissions will be written to the manifest when + exporting. + * Added 'android_add_asset_dir('...') method to Android module + gradle build config + * User defined signals in the exported C# projects were + misbehaving, this is now fixed. + * Fix CORS problems due to added headers on JS target + * Lerp now consistent with Godot API. InverseLerp fixed. + * Fix debugger focus stealing + * Fix segfault at quiting editor + +------------------------------------------------------------------- +Sun Jul 1 22:40:12 UTC 2018 - maxmitschke@fastmail.com + +- Added openSUSE branding to build info +- Use upstream desktop file, appdata.xml and manpage +- Licenses relocated +- Require update-desktop-files post and postun +- desktop_database only updating explicitly for Leap < 15.0 +- Update to 3.0.4 + + * Updated documentation for particles, ViewportTexture, Vector2, + skeleton docs, Rect.abs function + * Make heightmap shape usable from PhysicsServer + * Add NoCache wrapper to Command + * Fixed crasher in asset library on systems with a low threadcount CPU + +------------------------------------------------------------------- +Sun Jun 17 12:39:57 UTC 2018 - maxmitschke@fastmail.com + +- Update to 3.0.3 + + Added: + * C# projects can now be exported for Windows, Linux, and MacOS targets. + * Universal translation of touch to mouse. + * Dynamic fonts can now have a hinting mode set. + * print_tree_pretty() was added allowing a graphical view of the scene tree. + * Restore purchases feature for iOS. + * AudioStreamPlayer, AudioStreamPlayer2D, + and AudioStreamPlayer3D now have a pitch scale property. + * Show origin and Show viewport setting in 2D editor. + * You can now set Godot windows as 'always on top'. + * print-fps options to print FPS to stdout. + + Fixed: + * Mono: Signal parameters no longer crash the engine. + * Asset library thread usage, this makes the asset library more responsive. + * Several GLTF import fixes. + * Several memory leaks. + * iPhone X support. + * Several fixes to audio drivers (WASAPI and PulseAudio). + * Several crashes. + * Export PCK/ZIP now works again. + +------------------------------------------------------------------- +Sat Mar 10 20:00:00 UTC 2018 - cunix@bitmessage.ch + +- Update to 3.0.2 + +------------------------------------------------------------------- +Tue Feb 27 23:58:22 UTC 2018 - gwasser@gmail.com + +- Update to 3.0.1 + +------------------------------------------------------------------- +Tue Jan 30 23:08:53 UTC 2018 - gwasser@gmail.com + +- Update to 3.0.0 + +------------------------------------------------------------------- +Tue Sep 5 07:28:53 UTC 2017 - dmacvicar@suse.de + +- Update to 2.1.4 + +------------------------------------------------------------------- +Fri Feb 10 00:56:05 UTC 2017 - luke.nukem.jones@gmail.com + +- Update to 2.1.2 +- Add appdata.xml +- Remove fix-arch-detection.patch +- Remove fix-undefined-return.patch + +------------------------------------------------------------------- +Mon Jun 27 00:58:13 UTC 2016 - rpm@fthiessen.de + +- Update to 2.0.3 +- Added fix-arch-detection.patch to fix ppc build +- Added fix-undefined-return.patch to fix functions with random + return. + +------------------------------------------------------------------- +Mon Jun 1 07:39:45 UTC 2015 - gber@opensuse.org + +- add desktop file + +------------------------------------------------------------------- +Sun May 31 22:00:18 UTC 2015 - gber@opensuse.org + +- split examples into subpackage + +------------------------------------------------------------------- +Sun May 31 20:39:49 UTC 2015 - gber@opensuse.org + +- initial packaging diff --git a/godot.spec b/godot.spec new file mode 100644 index 0000000..2358ae2 --- /dev/null +++ b/godot.spec @@ -0,0 +1,279 @@ +# +# spec file for package godot +# +# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2017 Luke Jones, luke.nukem.jones@gmail.com +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define _buildshell /bin/bash +%define ca_bundle /var/lib/ca-certificates/ca-bundle.pem + +Name: godot +Version: 3.1.2 +Release: 0 +Summary: Cross-Platform Game Engine with an Integrated Editor +License: MIT +Group: Development/Tools/Other +URL: https://godotengine.org/ +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 +Source2: export_presets.cfg +Source3: %{name}-rpmlintrc +# PATCH-FIX-OPENSUSE Allows building all files with -lpie +Patch0: fix-pie-warning.patch +# Use system certificates as fallback for project certificates +Patch1: project_certs_fallback.patch +BuildRequires: Mesa-devel +BuildRequires: fdupes +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: pkgconfig +BuildRequires: python3 +BuildRequires: scons +BuildRequires: update-desktop-files +BuildRequires: yasm-devel +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(glesv2) +BuildRequires: pkgconfig(libpcre2-32) +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(ogg) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(opus) +BuildRequires: pkgconfig(opusfile) +BuildRequires: pkgconfig(theora) +BuildRequires: pkgconfig(theoradec) +BuildRequires: pkgconfig(vorbis) +BuildRequires: pkgconfig(vorbisfile) +BuildRequires: pkgconfig(vpx) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xcursor) +BuildRequires: pkgconfig(xi) +BuildRequires: pkgconfig(xinerama) +BuildRequires: pkgconfig(xrandr) +BuildRequires: pkgconfig(zlib) +%if %{suse_version} > 1500 +BuildRequires: mbedtls-devel +BuildRequires: pkgconfig(miniupnpc) +%endif +Requires: ca-certificates +Recommends: ca-certificates-mozilla +Requires(post): update-desktop-files +Requires(postun): update-desktop-files +Suggests: godot-headless = %{version} +Suggests: godot-runner = %{version} +Suggests: godot-server = %{version} +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +# The following "Provides: bundled()" and comments were taken from the +# Fedora Godot specfile. +# Link: https://src.fedoraproject.org/rpms/godot/blob/master/f/godot.spec + +# Git commit slightly newer than 2.87 +# Can be unbundled if bullet 2.88+ is available +Provides: bundled(bullet) = 2.88 + +# Has some modifications for IPv6 support, upstream enet is unresponsive +# Should not be unbundled. +Provides: bundled(enet) = 1.3.13 + +# Upstream commit from 2016, newer than 1.0.0.27 which is last tag +# Could be unbundled if packaged. +# Godot upstream will soon deprecate this "libsimplewebm" module. +Provides: bundled(libwebm) = 1.0.2 + +# Has custom changes to support seeking in zip archives +# Should not be unbundled. +Provides: bundled(minizip) = 1.2.11 + +# Could be unbundled if packaged. +# Version: git (25241c5, 2019) +Provides: bundled(nanosvg) + +# Could be unbundled if packaged. +Provides: bundled(squish) = 1.15 + +# Can't be unbundled out-of-the-box as it uses experimental APIs available +# only to static linking. They're not critical features though and could +# maybe be patched away to link against a shared zstd. +Provides: bundled(zstd) = 1.4.4 + +# Has custom changes made to library to aid in build configurations +Provides: bundled(libwebsockets) = 3.0.1 + +%description +Godot is a game engine. It provides a set of tools and a visually +oriented workflow that can export games to PC, Mobile and Web +platforms. + +%package headless +Summary: Headless version of Godot editor useful for command line +Group: Development/Tools/Other +Requires: godot-rpm-macros +Requires: godot-runner + +%description headless +This package is the headless version of the Godot editor that is suited for +exporting Godot games on the command line. + +%package runner +Summary: Shared binary to play games developed with the Godot engine +Group: Amusements/Games/Other +Requires: ca-certificates +Recommends: ca-certificates-mozilla + +%description runner +This package contains a godot-runner binary for the Linux X11 platform, +which can be used to run any game developed with the Godot engine simply +by pointing to the location of the game's data package. + +%package server +Summary: Godot headless binary for servers +Group: Amusements/Games/Other + +%description server +This package contains the headless binary for the Godot game engine +particularly suited for running dedicated servers. + +%prep +%setup -q -n %{name}-%{version}-stable +%patch0 -p1 +%patch1 -p1 + +%build +# Adding distribution name to build name +%if 0%{?suse_version} + %if 0%{?is_opensuse} + export BUILD_NAME="openSUSE" + %else + export BUILD_NAME="SUSE" + %endif +%endif + +# Configuring build to use some distribution libraries +unbundle_libs=('certs' 'freetype' 'libogg' 'libpng' 'libtheora' 'libvorbis' \ + 'libwebp' 'opus' 'pcre2' 'zlib') + +# Unbundle more libs for Tumbleweed +%if %{suse_version} > 1500 +unbundle_libs+=('mbedtls' 'miniupnpc') +%endif + +# Unbundle libvpx only if it doesn't meet the minimum requirement. +# See: https://github.com/godotengine/godot/tree/master/thirdparty#libvpx +vpx_version_min=1.6.0 +vpx_version=$(pkg-config --modversion vpx) +if [[ $vpx_version = $vpx_version_min || $vpx_version > $vpx_version_min ]]; then + unbundle_libs+=('libvpx') +fi + +system_libs="" +for thirdparty in "${unbundle_libs[@]}"; do + system_libs="$system_libs builtin_$thirdparty=no" + rm -rf thirdparty/$thirdparty +done + +# Removing extra thirdparty libraries as they are either not needed or are +# provided by the distribution. +rm -rf thirdparty/rtaudio + +# Keep empty certificates file needed as "source" by +# function "make_certs_header" in core/core_builders.py +mkdir -pv thirdparty/certs +touch thirdparty/certs/ca-certificates.crt + +# Common build arguments for all targets +%if %{suse_version} >= 1500 +%define use_lto use_lto=1 +%else +%define use_lto use_lto=0 +%endif + +%define build_args %{?_smp_mflags} \\\ + progress=yes verbose=yes udev=yes %{use_lto} \\\ + CCFLAGS='%{optflags}' system_certs_path=%{ca_bundle} \\\ + $system_libs + +# Build graphical editor (tools) +scons %{build_args} platform=x11 tools=yes target=release_debug + +# Build headless version of the editor (with tools) +scons %{build_args} platform=server tools=yes target=release_debug + +# Build game runner (without tools) +scons %{build_args} platform=x11 tools=no target=release + +# Build server version (without tools) +scons %{build_args} platform=server tools=no target=release + +%install +# Installing the editor +install -D -p -m 755 bin/%{name}.x11.opt.tools.%{__isa_bits} %{buildroot}%{_bindir}/%{name} + +# Installing the headless editor +install -D -p -m 755 bin/%{name}_server.x11.opt.tools.%{__isa_bits} %{buildroot}%{_bindir}/%{name}-headless + +# Installing the runner +install -D -p -m 755 bin/%{name}.x11.opt.%{__isa_bits} %{buildroot}%{_bindir}/%{name}-runner + +# Installing the server +install -D -p -m 755 bin/%{name}_server.x11.opt.%{__isa_bits} %{buildroot}%{_bindir}/%{name}-server + +install -D -p -m 644 %{S:2} %{buildroot}%{_datadir}/%{name}/export_presets.cfg +install -D -p -m 644 misc/dist/linux/godot.6 %{buildroot}/%{_mandir}/man6/%{name}.6%{?ext_man} +install -D -p -m 644 icon.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{name}.png +install -D -p -m 644 icon.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg +install -D -p -m 644 misc/dist/linux/org.godotengine.Godot.appdata.xml %{buildroot}%{_datadir}/appdata/org.godotengine.Godot.appdata.xml +%suse_update_desktop_file -i org.godotengine.Godot + +cp thirdparty/README.md thirdparty_README.md +%fdupes -s %{buildroot}/%{_prefix} + +%files +%license LICENSE.txt LOGO_LICENSE.md COPYRIGHT.txt thirdparty_README.md +%doc AUTHORS.md CHANGELOG.md CONTRIBUTING.md DONORS.md ISSUE_TEMPLATE.md README.md +%dir %{_datadir}/icons/hicolor +%dir %{_datadir}/icons/hicolor/256x256 +%dir %{_datadir}/icons/hicolor/256x256/apps +%dir %{_datadir}/icons/hicolor/scalable +%dir %{_datadir}/icons/hicolor/scalable/apps +%{_bindir}/%{name} +%{_datadir}/appdata/org.godotengine.Godot.appdata.xml +%{_datadir}/applications/org.godotengine.Godot.desktop +%{_datadir}/icons/hicolor/256x256/apps/%{name}.png +%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg +%{_mandir}/man6/%{name}.6%{?ext_man} + +%files headless +%license LICENSE.txt LOGO_LICENSE.md COPYRIGHT.txt thirdparty_README.md +%doc AUTHORS.md CHANGELOG.md CONTRIBUTING.md DONORS.md ISSUE_TEMPLATE.md README.md +%dir %{_datadir}/%{name} +%{_bindir}/%{name}-headless +%{_datadir}/%{name}/export_presets.cfg + +%files runner +%license LICENSE.txt LOGO_LICENSE.md COPYRIGHT.txt thirdparty_README.md +%doc AUTHORS.md CHANGELOG.md CONTRIBUTING.md DONORS.md ISSUE_TEMPLATE.md README.md +%{_bindir}/%{name}-runner + +%files server +%license LICENSE.txt LOGO_LICENSE.md COPYRIGHT.txt thirdparty_README.md +%doc AUTHORS.md CHANGELOG.md CONTRIBUTING.md DONORS.md ISSUE_TEMPLATE.md README.md +%{_bindir}/%{name}-server + +%changelog diff --git a/project_certs_fallback.patch b/project_certs_fallback.patch new file mode 100644 index 0000000..a0f0e1f --- /dev/null +++ b/project_certs_fallback.patch @@ -0,0 +1,51 @@ +From: cunix@bitmessage.ch +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: might be offered to upstream + +If project has no value set for "network/ssl/certificates" (the default), +function "get_project_cert_array" returns no certificates because we don't +use builtin certs - BUILTIN_CERTS_ENABLED is not defined. Therefore the +editor shows an error. + +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 project certificates. + +--- + +diff -r -U 5 a/core/io/stream_peer_ssl.cpp b/core/io/stream_peer_ssl.cpp +--- a/core/io/stream_peer_ssl.cpp ++++ b/core/io/stream_peer_ssl.cpp +@@ -33,10 +33,12 @@ + #include "core/io/certs_compressed.gen.h" + #include "core/io/compression.h" + #include "core/os/file_access.h" + #include "core/project_settings.h" + ++#include ++ + StreamPeerSSL *(*StreamPeerSSL::_create)() = NULL; + + StreamPeerSSL *StreamPeerSSL::create() { + + return _create(); +@@ -96,10 +98,14 @@ + ProjectSettings::get_singleton()->set_custom_property_info("network/ssl/certificates", PropertyInfo(Variant::STRING, "network/ssl/certificates", PROPERTY_HINT_FILE, "*.crt")); + + if (certs_path != "") { + // Use certs defined in project settings. + return get_cert_file_as_array(certs_path); ++ } else if (strcmp(_SYSTEM_CERTS_PATH, "") != 0) { ++ // Use system certs only if user did not override it in project settings ++ // and if _SYSTEM_CERTS_PATH is set. ++ return get_cert_file_as_array(_SYSTEM_CERTS_PATH); + } + #ifdef BUILTIN_CERTS_ENABLED + else { + // Use builtin certs only if user did not override it in project settings. + out.resize(_certs_uncompressed_size + 1); +