diff --git a/.abf.yml b/.abf.yml index 2526180..135a88f 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,3 +1,3 @@ sources: - godot-2.1.3-stable.tar.gz: 6179ed60804658aeb0f06b4f3a744f46f39648b4 - godot-demo-projects-2.1.3-stable.tar.gz: fd0533ecd640ab99842269d14021d5c35c01aa40 + godot-3.0.2-stable.tar.gz: e6c440d72fd4ded294823e07e3d0df80c506a704 + godot-demo-projects-3.0-d69cc10.tar.gz: fdf4860700d55417a6ad7bc47a5325c131f82fd8 diff --git a/0001-Dist-Fix-Linux-desktop-file-launch-argument.patch b/0001-Dist-Fix-Linux-desktop-file-launch-argument.patch new file mode 100644 index 0000000..9424af2 --- /dev/null +++ b/0001-Dist-Fix-Linux-desktop-file-launch-argument.patch @@ -0,0 +1,26 @@ +From 593e616a482eccd5f6772b4df9430ff0d7305a50 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= +Date: Wed, 14 Mar 2018 12:05:16 +0100 +Subject: [PATCH] Dist: Fix Linux desktop file launch argument + +(cherry picked from commit a55e2f2dac040246d780e55d27c0ca22c3eb179f) +--- + misc/dist/linux/godot.desktop | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/misc/dist/linux/godot.desktop b/misc/dist/linux/godot.desktop +index 545c49125..974352b11 100644 +--- a/misc/dist/linux/godot.desktop ++++ b/misc/dist/linux/godot.desktop +@@ -2,7 +2,7 @@ + Name=Godot Engine + GenericName=Libre game engine + Comment=Multi-platform 2D and 3D game engine with a feature rich editor +-Exec=godot -pm ++Exec=godot -p + Icon=godot + Terminal=false + Type=Application +-- +2.13.6 + diff --git a/0001-SCons-Fix-linking-system-pcre2-on-server-platform.patch b/0001-SCons-Fix-linking-system-pcre2-on-server-platform.patch new file mode 100644 index 0000000..eac634b --- /dev/null +++ b/0001-SCons-Fix-linking-system-pcre2-on-server-platform.patch @@ -0,0 +1,31 @@ +From eeb7385f02ba4730cf4fd9601b97b3149d2b4ebb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= +Date: Sun, 4 Mar 2018 13:46:11 +0100 +Subject: [PATCH] SCons: Fix linking system pcre2 on server platform + +Fixes #17245. + +(cherry picked from commit e619727e999ecd8e6883330f2c6950cd0624de99) +--- + platform/server/detect.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/platform/server/detect.py b/platform/server/detect.py +index 77193e592..c3cb76b3c 100644 +--- a/platform/server/detect.py ++++ b/platform/server/detect.py +@@ -127,6 +127,11 @@ def configure(env): + if not env['builtin_libogg']: + env.ParseConfig('pkg-config ogg --cflags --libs') + ++ # On Linux wchar_t should be 32-bits ++ # 16-bit library shouldn't be required due to compiler optimisations ++ if not env['builtin_pcre2']: ++ env.ParseConfig('pkg-config libpcre2-32 --cflags --libs') ++ + ## Flags + + # Linkflags below this line should typically stay the last ones +-- +2.13.6 + diff --git a/godot.spec b/godot.spec index 25b54a5..9273c86 100644 --- a/godot.spec +++ b/godot.spec @@ -1,8 +1,10 @@ -%bcond_without server +%bcond_without server %define status stable %define uversion %{version}-%{status} +%define dversion 3.0-d69cc10 + %ifarch %{ix86} %define arch 32 %else @@ -11,18 +13,23 @@ Summary: Multi-platform 2D and 3D game engine with a feature rich editor Name: godot -Version: 2.1.3 -Release: 3 +Version: 3.0.2 +Release: 1 License: MIT Group: Games/Other Url: https://godotengine.org Source0: https://github.com/godotengine/godot/archive/%{uversion}/%{name}-%{uversion}.tar.gz -Source1: https://github.com/godotengine/godot-demo-projects/archive/%{uversion}/godot-demo-projects-%{uversion}.tar.gz +Source1: https://github.com/godotengine/godot-demo-projects/archive/godot-demo-projects-%{dversion}.tar.gz +# Upstream fix for https://github.com/godotengine/godot/issues/17245 +Patch0: 0001-SCons-Fix-linking-system-pcre2-on-server-platform.patch +# Upstream fix +Patch1: 0001-Dist-Fix-Linux-desktop-file-launch-argument.patch BuildRequires: scons BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(glew) BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libpcre2-32) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libwebp) BuildRequires: pkgconfig(ogg) @@ -33,6 +40,7 @@ BuildRequires: pkgconfig(theora) BuildRequires: pkgconfig(udev) BuildRequires: pkgconfig(vorbis) BuildRequires: pkgconfig(vorbisfile) +BuildRequires: pkgconfig(vpx) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xinerama) @@ -50,10 +58,12 @@ license. No strings attached, no royalties, nothing. Your game is yours, down to the last line of engine code. %files -%doc LICENSE.md README.md +%doc LICENSE.txt README.md +%{_appdatadir}/godot.appdata.xml %{_bindir}/%{name} %dir %{_datadir}/%{name} %{_datadir}/applications/%{name}.desktop +%{_mandir}/man6/godot.6* %{_iconsdir}/hicolor/scalable/apps/%{name}.svg #---------------------------------------------------------------------- @@ -68,7 +78,7 @@ This package contains the official demo projects to help new users to learn the features of the game engine. %files demos -%doc godot-demo-projects-%{version}-stable/*.md +%doc godot-demo-projects-%{dversion}/*.md %{_datadir}/%{name}/demos/ #---------------------------------------------------------------------- @@ -99,19 +109,28 @@ 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. %files runner -%doc LICENSE.md README.md +%doc LICENSE.txt README.md %{_bindir}/%{name}-runner #---------------------------------------------------------------------- %prep %setup -qn %{name}-%{uversion} -a 1 -chmod -x scene/main/node.cpp +%patch0 -p1 +%patch1 -p1 + +# Windows-specific +rm -rf thirdparty/rtaudio %build # Needs to be in %%build so that system_libs stays in scope +# We don't unbundle enet and minizip as they have necessary custom changes +# We don't unbundle bullet yet as it needs a version newer than 2.87 (current stable) +# We don't unbundle zstd yet as it's using experimental APIs available only with static linking +to_unbundle="freetype libogg libpng libtheora libvorbis libvpx libwebp openssl opus pcre2 zlib" + system_libs="" -for lib in freetype glew libogg libpng libtheora libvorbis libwebp openssl opus zlib; do +for lib in $to_unbundle; do system_libs+="builtin_"$lib"=no " rm -rf thirdparty/$lib done @@ -139,21 +158,14 @@ install -m0755 bin/%{name}_server.server.opt.tools.%{arch} %{buildroot}%{_bindir %endif install -d %{buildroot}%{_datadir}/%{name} -cp -a godot-demo-projects-%{uversion} %{buildroot}%{_datadir}/%{name}/demos +cp -a godot-demo-projects-%{dversion} %{buildroot}%{_datadir}/%{name}/demos install -D -m644 icon.svg \ %{buildroot}%{_iconsdir}/hicolor/scalable/apps/%{name}.svg - -install -d %{buildroot}%{_datadir}/applications -cat << EOF > %{buildroot}%{_datadir}/applications/%{name}.desktop -[Desktop Entry] -Name=Godot Engine -GenericName=Libre game engine -Comment=Multi-platform 2D and 3D game engine with a feature rich editor -Exec=%{name} -pm -Icon=%{name} -Terminal=false -Type=Application -Categories=Development;IDE; -EOF +install -D -m644 misc/dist/linux/%{name}.desktop \ + %{buildroot}%{_datadir}/applications/%{name}.desktop +install -D -m644 misc/dist/linux/%{name}.appdata.xml \ + %{buildroot}%{_appdatadir}/%{name}.appdata.xml +install -D -m644 misc/dist/linux/%{name}.6 \ + %{buildroot}%{_mandir}/man6/%{name}.6