The package rpms/godot.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/godot.git/commit/?id=b96f3c6cfdb0....
Change:
-%ifarch armv7hl
Thanks.
Full change:
============
commit 8d1ff572ba0fa2ee1fae34ebdecd79f38d2929c2
Author: Rmi Verschelde <rverschelde(a)gmail.com>
Date: Thu Jan 2 10:44:02 2020 +0100
Fix typo in changelog date
diff --git a/godot.spec b/godot.spec
index 9b1a68a..03b6690 100644
--- a/godot.spec
+++ b/godot.spec
@@ -285,7 +285,7 @@ desktop-file-validate
%{buildroot}%{_datadir}/applications/%{rdnsname}.desktop
appstream-util validate-relax --nonet
%{buildroot}%{_datadir}/metainfo/%{rdnsname}.appdata.xml
%changelog
-* Wed Jan 02 2020 Rmi Verschelde <akien(a)fedoraproject.org> - 3.1.2-1
+* Thu Jan 02 2020 Rmi Verschelde <akien(a)fedoraproject.org> - 3.1.2-1
- Version 3.1.2-stable
- Bundled libwebsockets was downgraded to 3.0.1
commit d91713103d715020d94960e90659b3b3f52a8b50
Author: Rmi Verschelde <rverschelde(a)gmail.com>
Date: Thu Jan 2 10:40:59 2020 +0100
Version 3.1.2-stable
- Bundled libwebsockets downgraded to 3.0.1
diff --git a/.gitignore b/.gitignore
index 4150b49..54423a7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,5 @@
/godot-3.0.6-stable.tar.gz
/godot-3.1.1-stable.tar.xz
/godot-3.1.1-stable.tar.xz.sha256
+/godot-3.1.2-stable.tar.xz
+/godot-3.1.2-stable.tar.xz.sha256
diff --git a/godot.spec b/godot.spec
index 3fa07a9..9b1a68a 100644
--- a/godot.spec
+++ b/godot.spec
@@ -9,8 +9,8 @@
%define rdnsname org.godotengine.Godot
Name: godot
-Version: 3.1.1
-Release: 2%{?dist}
+Version: 3.1.2
+Release: 1%{?dist}
Summary: Multi-platform 2D and 3D game engine with a feature-rich editor
%if 0%{?mageia}
Group: Development/Tools
@@ -86,7 +86,7 @@ Provides: bundled(enet) = 1.3.13
Provides: bundled(libwebm)
# System libwebsockets linked against openssl fails building
#
https://github.com/godotengine/godot/issues/27632
-Provides: bundled(libwebsockets) = 3.1.0
+Provides: bundled(libwebsockets) = 3.0.1
# Has custom changes to support seeking in zip archives
# Should not be unbundled.
Provides: bundled(minizip) = 1.2.11
@@ -285,6 +285,10 @@ desktop-file-validate
%{buildroot}%{_datadir}/applications/%{rdnsname}.desktop
appstream-util validate-relax --nonet
%{buildroot}%{_datadir}/metainfo/%{rdnsname}.appdata.xml
%changelog
+* Wed Jan 02 2020 Rmi Verschelde <akien(a)fedoraproject.org> - 3.1.2-1
+- Version 3.1.2-stable
+- Bundled libwebsockets was downgraded to 3.0.1
+
* Thu Jul 25 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 3.1.1-2
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
diff --git a/sources b/sources
index 1ad68b0..77ef2e7 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (godot-3.1.1-stable.tar.xz) =
09cdba4f375d6d215b5e7f15fa465645bb30687048e496dad782ef02a0037410c36033201df34ade04b29255008317c43a383cbf7acdcd94eabd7f679498fc50
-SHA512 (godot-3.1.1-stable.tar.xz.sha256) =
6f36bdee13856a794ac97665d3bd93df6809f52a861d963bed2027011e0cba55b4883b43c413af93f6b09f629f76f42ec8c6fe1a2d5b6a270e2328e810af4f40
+SHA512 (godot-3.1.2-stable.tar.xz) =
e282f6d6d98022f9988d49de3d6ba6cd3c625bb3ab68d851ab15e575377dabec9aa407756e64dab716307af705370957d3abd572fe949499d5ed93acacb13fa3
+SHA512 (godot-3.1.2-stable.tar.xz.sha256) =
db7a2e86d60a0262ef9f6e1eca2e1d93d2d2f91860af0600ccb4a441c3523d02736b8fd8f61553b899e1a4eff9bad66176d788e1ef46613bbe89ad1dca81d5fb
commit 2125460d80ae07ba9e032a0936924bd8c61ba1e8
Author: Rmi Verschelde <rverschelde(a)gmail.com>
Date: Thu Jan 2 10:19:21 2020 +0100
Sync spec file with Mageia's
I maintain the Godot package both in Mageia (original packaging)
and Fedora, and with a few vendor-specific tweaks the spec file
can be used for both.
diff --git a/godot-3.0.2-workaround-gcc-ice-armv7hl.patch
b/godot-3.0.2-workaround-gcc-ice-armv7hl.patch
deleted file mode 100644
index fd61f8c..0000000
--- a/godot-3.0.2-workaround-gcc-ice-armv7hl.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/modules/gdnative/SCsub b/modules/gdnative/SCsub
-index c92c3f30a..528bd34f3 100644
---- a/modules/gdnative/SCsub
-+++ b/modules/gdnative/SCsub
-@@ -165,6 +165,9 @@ _, gensource =
gdn_env.Command(['include/gdnative_api_struct.gen.h', 'gdnative_a
- 'gdnative_api.json', build_gdnative_api_struct)
- gdn_env.add_source_files(env.modules_sources, [gensource])
-
-+# Workaround GCC bug 79085 affecting GCC < 8.1 on armv7hl
-+gdn_env.Append(CCFLAGS="-O3 -fno-tree-fre -fno-tree-dominator-opts
-fno-tree-copy-prop -fno-tree-ccp -fno-code-hoisting -fno-tree-pre
-fno-tree-vrp".split())
-+
- env.use_ptrcall = True
-
-
\ No newline at end of file
diff --git a/godot.spec b/godot.spec
index f766790..3fa07a9 100644
--- a/godot.spec
+++ b/godot.spec
@@ -12,6 +12,9 @@ Name: godot
Version: 3.1.1
Release: 2%{?dist}
Summary: Multi-platform 2D and 3D game engine with a feature-rich editor
+%if 0%{?mageia}
+Group: Development/Tools
+%endif
# Godot itself is MIT-licensed, the rest is from vendored thirdparty libraries
License: MIT and CC-BY and ASL 2.0 and BSD and zlib and OFL and Bitstream Vera
Fonts Copyright and ISC and MPLv2.0
URL:
https://godotengine.org
@@ -25,7 +28,10 @@ BuildRequires: gcc-c++
BuildRequires: mbedtls-devel
BuildRequires: miniupnpc-devel
BuildRequires: pkgconfig(alsa)
-#BuildRequires: pkgconfig(bullet)
+%if 0%{?mageia}
+# Fedora still doesn't provide bullet 2.88
+BuildRequires: pkgconfig(bullet)
+%endif
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(libpcre2-32)
@@ -66,8 +72,10 @@ Requires: hicolor-icon-theme
# though that the `thirdparty` folder also contains code which is typically
# not packaged in distros, and is probably best left bundled.
+%if ! 0%{?mageia}
# Can be unbundled once bullet 2.88+ is packaged.
Provides: bundled(bullet) = 2.88
+%endif
# Has some modifications for IPv6 support, upstream enet is unresponsive.
# Should not be unbundled.
# Cf:
https://github.com/godotengine/godot/issues/6992
@@ -133,6 +141,9 @@ fi
%if %{with headless}
%package headless
Summary: Godot headless editor binary for CLI usage
+%if 0%{?mageia}
+Group: Development/Tools
+%endif
%description headless
This package contains the headless binary for the Godot game engine,
@@ -152,6 +163,9 @@ optimized template build.
%if %{with server}
%package server
Summary: Godot headless runtime binary for hosting game servers
+%if 0%{?mageia}
+Group: Games/Other
+%endif
%description server
This package contains the headless binary for the Godot game engine's
@@ -169,6 +183,9 @@ package.
%package runner
Summary: Shared binary to play games developed with the Godot engine
+%if 0%{?mageia}
+Group: Games/Other
+%endif
%description runner
This package contains a godot-runner binary for the Linux X11 platform,
@@ -187,10 +204,13 @@ by pointing to the location of the game's data package.
%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 can't unbundle bullet yet as 2.88+ is required
# FIXME: Not unbundling libwebsockets right now as it fails building with system one:
#
https://github.com/godotengine/godot/issues/27632
to_unbundle="freetype libogg libpng libtheora libvorbis libwebp mbedtls miniupnpc
opus pcre2 zlib zstd"
+# Godot requires bullet 2.88+, which Fedora doesn't package yet
+%if 0%{?mageia}
+to_unbundle+=" bullet"
+%endif
# Godot's libsimplewebm doesn't build against EPEL7's older libvpx
%if ! 0%{?rhel} || 0%{?rhel} > 7
to_unbundle+=" libvpx"
commit 21842af8a03af8b20a232ec2043488edfc5accf9
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Jul 25 04:34:22 2019 +0000
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/godot.spec b/godot.spec
index 5e3d6c9..f766790 100644
--- a/godot.spec
+++ b/godot.spec
@@ -10,7 +10,7 @@
Name: godot
Version: 3.1.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Multi-platform 2D and 3D game engine with a feature-rich editor
# Godot itself is MIT-licensed, the rest is from vendored thirdparty libraries
License: MIT and CC-BY and ASL 2.0 and BSD and zlib and OFL and Bitstream Vera
Fonts Copyright and ISC and MPLv2.0
@@ -265,6 +265,9 @@ desktop-file-validate
%{buildroot}%{_datadir}/applications/%{rdnsname}.desktop
appstream-util validate-relax --nonet
%{buildroot}%{_datadir}/metainfo/%{rdnsname}.appdata.xml
%changelog
+* Thu Jul 25 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 3.1.1-2
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
* Fri Apr 26 2019 Rmi Verschelde <akien(a)fedoraproject.org> - 3.1.1-1
- Version 3.1.1-stable
- Adds dependency on system mbedtls and miniupnpc
commit e3155d475aa15a26c786c20f69e1b9febcfeb1ec
Author: Rmi Verschelde <rverschelde(a)gmail.com>
Date: Wed May 1 08:26:58 2019 +0200
Unbundle zstd, 1.4.0 is now packaged
diff --git a/godot.spec b/godot.spec
index 78b0256..5e3d6c9 100644
--- a/godot.spec
+++ b/godot.spec
@@ -33,7 +33,7 @@ BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(libwebp)
-#BuildRequires: pkgconfig(libzstd)
+BuildRequires: pkgconfig(libzstd)
BuildRequires: pkgconfig(ogg)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(opusfile)
@@ -89,10 +89,6 @@ Provides: bundled(nanosvg)
Provides: bundled(squish) = 1.15
# Could be unbundled if packaged.
Provides: bundled(tinyexr)
-# Can be unbundled once we provide 1.4.0, as it uses some of the advanced APIs
-# added in that release.
-# Cf:
https://github.com/godotengine/godot/issues/17374
-Provides: bundled(zstd) = 1.4.0
%if 0%{?rhel} && 0%{?rhel} < 8
# Can't be unbundled on RHEL 7 which has libvpx 1.3.0, too old for Godot
@@ -192,10 +188,9 @@ by pointing to the location of the game's data package.
# 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 can't unbundle bullet yet as 2.88+ is required
-# We can't unbundle zstd yet as it's using advanced APIs only available in
1.4.0+
# FIXME: Not unbundling libwebsockets right now as it fails building with system one:
#
https://github.com/godotengine/godot/issues/27632
-to_unbundle="freetype libogg libpng libtheora libvorbis libwebp mbedtls miniupnpc
opus pcre2 zlib"
+to_unbundle="freetype libogg libpng libtheora libvorbis libwebp mbedtls miniupnpc
opus pcre2 zlib zstd"
# Godot's libsimplewebm doesn't build against EPEL7's older libvpx
%if ! 0%{?rhel} || 0%{?rhel} > 7
to_unbundle+=" libvpx"
commit ae9e36f97558d6407b78ed6ea49c8f680c0c10fb
Author: Rmi Verschelde <rverschelde(a)gmail.com>
Date: Mon Apr 29 17:57:24 2019 +0200
Fix Mageia-specific macro introduced in b96f3c6
diff --git a/godot.spec b/godot.spec
index 86fe0e6..78b0256 100644
--- a/godot.spec
+++ b/godot.spec
@@ -254,7 +254,7 @@ install -m755 bin/%{name}_server.x11.opt.%{__isa_bits}
%{buildroot}%{_bindir}/%{
%endif
install -D -m644 icon.svg \
- %{buildroot}%{_iconsdir}/hicolor/scalable/apps/%{name}.svg
+ %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
install -D -m644 misc/dist/linux/%{rdnsname}.desktop \
%{buildroot}%{_datadir}/applications/%{rdnsname}.desktop
install -D -m644 misc/dist/linux/%{rdnsname}.appdata.xml \
commit 5c55e68f9c7edc536329f0e6af033b2e8f10ea90
Author: Rmi Verschelde <rverschelde(a)gmail.com>
Date: Mon Apr 29 14:47:48 2019 +0200
Fix typo
diff --git a/godot.spec b/godot.spec
index b1f8bb8..86fe0e6 100644
--- a/godot.spec
+++ b/godot.spec
@@ -1,4 +1,4 @@
-s# Headless is editor binary to run without X11, e.g. for exporting games from CLI
+# Headless is editor binary to run without X11, e.g. for exporting games from CLI
%bcond_without headless
# Server is template (optimized, no tools) binary to run multiplayer servers
%bcond_without server
commit 120c78d887605853133e23ed3980e02f19ef43fd
Author: Rmi Verschelde <rverschelde(a)gmail.com>
Date: Mon Apr 29 14:43:36 2019 +0200
Fix typo, zstd can't be unbundled yet
diff --git a/godot.spec b/godot.spec
index f4cdcd7..b1f8bb8 100644
--- a/godot.spec
+++ b/godot.spec
@@ -1,4 +1,4 @@
-# Headless is editor binary to run without X11, e.g. for exporting games from CLI
+s# Headless is editor binary to run without X11, e.g. for exporting games from CLI
%bcond_without headless
# Server is template (optimized, no tools) binary to run multiplayer servers
%bcond_without server
@@ -195,7 +195,7 @@ by pointing to the location of the game's data package.
# We can't unbundle zstd yet as it's using advanced APIs only available in
1.4.0+
# FIXME: Not unbundling libwebsockets right now as it fails building with system one:
#
https://github.com/godotengine/godot/issues/27632
-to_unbundle="freetype libogg libpng libtheora libvorbis libwebp mbedtls miniupnpc
opus pcre2 zlib zstd"
+to_unbundle="freetype libogg libpng libtheora libvorbis libwebp mbedtls miniupnpc
opus pcre2 zlib"
# Godot's libsimplewebm doesn't build against EPEL7's older libvpx
%if ! 0%{?rhel} || 0%{?rhel} > 7
to_unbundle+=" libvpx"
commit fdf40be319d0cbe113e66da432d0dc2f5e69b7cb
Author: Rmi Verschelde <rverschelde(a)gmail.com>
Date: Fri Apr 26 18:28:39 2019 +0200
Fixup sources
diff --git a/sources b/sources
index d4e0bc9..1ad68b0 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
+SHA512 (godot-3.1.1-stable.tar.xz) =
09cdba4f375d6d215b5e7f15fa465645bb30687048e496dad782ef02a0037410c36033201df34ade04b29255008317c43a383cbf7acdcd94eabd7f679498fc50
SHA512 (godot-3.1.1-stable.tar.xz.sha256) =
6f36bdee13856a794ac97665d3bd93df6809f52a861d963bed2027011e0cba55b4883b43c413af93f6b09f629f76f42ec8c6fe1a2d5b6a270e2328e810af4f40
commit b96f3c6cfdb0baec7024de7b9a22dd15d8d1eeb8
Author: Rmi Verschelde <rverschelde(a)gmail.com>
Date: Fri Apr 26 18:20:25 2019 +0200
Version 3.1.1-stable
- Adds dependency on system mbedtls and miniupnpc
- Removes dependency on openssl
- Bundles libwebsockets, can't build against system one for now
- Bundles tinyexr, not packaged (and likely not relevant to package)
- Rename -server build to -headless, add an actual server runtime package
- Build with LTO, improves performance a lot (but slow linking)
- Adds MIME type for .godot project files
diff --git a/.gitignore b/.gitignore
index bd83818..4150b49 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,5 @@
/godot-3.0.3-stable.tar.gz
/godot-3.0.4-stable.tar.gz
/godot-3.0.6-stable.tar.gz
+/godot-3.1.1-stable.tar.xz
+/godot-3.1.1-stable.tar.xz.sha256
diff --git a/godot.spec b/godot.spec
index 31664b3..f4cdcd7 100644
--- a/godot.spec
+++ b/godot.spec
@@ -1,27 +1,31 @@
+# Headless is editor binary to run without X11, e.g. for exporting games from CLI
+%bcond_without headless
+# Server is template (optimized, no tools) binary to run multiplayer servers
%bcond_without server
%define status stable
%define uversion %{version}-%{status}
+%define rdnsname org.godotengine.Godot
+
Name: godot
-Version: 3.0.6
-Release: 3%{?dist}
+Version: 3.1.1
+Release: 1%{?dist}
Summary: Multi-platform 2D and 3D game engine with a feature-rich editor
# Godot itself is MIT-licensed, the rest is from vendored thirdparty libraries
License: MIT and CC-BY and ASL 2.0 and BSD and zlib and OFL and Bitstream Vera
Fonts Copyright and ISC and MPLv2.0
URL:
https://godotengine.org
-Source0:
https://github.com/godotengine/godot/archive/%{uversion}/%{name}-%{uversi...
-
-# Workaround for GCC < 8.1 ICE on armv7hl
-#
https://github.com/godotengine/godot/issues/16100
-#
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79085
-Patch0: godot-3.0.2-workaround-gcc-ice-armv7hl.patch
+Source0:
https://downloads.tuxfamily.org/godotengine/%{version}/%{name}-%{uversion...
+Source1:
https://downloads.tuxfamily.org/godotengine/%{version}/%{name}-%{uversion...
# Upstream does not support those arches (for now)
ExcludeArch: ppc64 ppc64le s390x
BuildRequires: gcc-c++
+BuildRequires: mbedtls-devel
+BuildRequires: miniupnpc-devel
BuildRequires: pkgconfig(alsa)
+#BuildRequires: pkgconfig(bullet)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(libpcre2-32)
@@ -29,8 +33,8 @@ BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(libwebp)
+#BuildRequires: pkgconfig(libzstd)
BuildRequires: pkgconfig(ogg)
-BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(opusfile)
BuildRequires: pkgconfig(theora)
@@ -42,6 +46,7 @@ BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xinerama)
BuildRequires: pkgconfig(xrandr)
+BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(zlib)
BuildRequires: scons
@@ -61,10 +66,8 @@ Requires: hicolor-icon-theme
# though that the `thirdparty` folder also contains code which is typically
# not packaged in distros, and is probably best left bundled.
-# Git commit slightly newer than 2.87 but not backward compatible
-# (d05ad4b821ba867dfd01f1e5f22c4d9d1bda6869)
-# Can be unbundled if bullet 2.88+ is available
-Provides: bundled(bullet) = 2.87
+# Can be unbundled once bullet 2.88+ is packaged.
+Provides: bundled(bullet) = 2.88
# Has some modifications for IPv6 support, upstream enet is unresponsive.
# Should not be unbundled.
# Cf:
https://github.com/godotengine/godot/issues/6992
@@ -72,21 +75,24 @@ Provides: bundled(enet) = 1.3.13
# Upstream commit from 2016 (32d5ac49414a8914ec1e1f285f3f927c6e8ec29d),
# newer than 1.0.0.27 which is the last tag.
# Could be unbundled if packaged.
-# Godot upstream will soon deprecate this "libsimplewebm" module.
Provides: bundled(libwebm)
+# System libwebsockets linked against openssl fails building
+#
https://github.com/godotengine/godot/issues/27632
+Provides: bundled(libwebsockets) = 3.1.0
# Has custom changes to support seeking in zip archives
# Should not be unbundled.
-Provides: bundled(minizip) = 1.2.4
+Provides: bundled(minizip) = 1.2.11
# Upstream commit 9a74da4db5ac74083e444010d75114658581b9c7, no releases.
# Could be unbundled if packaged.
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.
+# Could be unbundled if packaged.
+Provides: bundled(tinyexr)
+# Can be unbundled once we provide 1.4.0, as it uses some of the advanced APIs
+# added in that release.
# Cf:
https://github.com/godotengine/godot/issues/17374
-Provides: bundled(zstd) = 1.3.3
+Provides: bundled(zstd) = 1.4.0
%if 0%{?rhel} && 0%{?rhel} < 8
# Can't be unbundled on RHEL 7 which has libvpx 1.3.0, too old for Godot
@@ -103,12 +109,13 @@ license. No strings attached, no royalties, nothing. Your game is
yours,
down to the last line of engine code.
%files
-%doc DONORS.md README.md
+%doc CHANGELOG.md DONORS.md README.md
%license AUTHORS.md COPYRIGHT.txt LICENSE.txt LOGO_LICENSE.md
%{_bindir}/%{name}
-%{_datadir}/applications/%{name}.desktop
+%{_datadir}/applications/%{rdnsname}.desktop
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
-%{_datadir}/metainfo/%{name}.appdata.xml
+%{_datadir}/metainfo/%{rdnsname}.appdata.xml
+%{_datadir}/mime/application/x-%{name}-project.xml
%{_mandir}/man6/%{name}.6*
%if 0%{?rhel} && 0%{?rhel} <= 7
@@ -127,13 +134,35 @@ fi
#----------------------------------------------------------------------
+%if %{with headless}
+%package headless
+Summary: Godot headless editor binary for CLI usage
+
+%description headless
+This package contains the headless binary for the Godot game engine,
+particularly suited for CLI usage, e.g. to export projects from a server
+or build system.
+
+To run game servers, see the godot-server package which contains an
+optimized template build.
+
+%files headless
+%license AUTHORS.md COPYRIGHT.txt LICENSE.txt
+%{_bindir}/%{name}-headless
+%endif
+
+#----------------------------------------------------------------------
+
%if %{with server}
%package server
-Summary: Godot headless binary for servers
+Summary: Godot headless runtime binary for hosting game servers
%description server
-This package contains the headless binary for the Godot game engine,
-particularly suited for running dedicated servers.
+This package contains the headless binary for the Godot game engine's
+runtime, useful to host standalone game servers.
+
+To use editor tools from the command line, see the godot-headless
+package.
%files server
%license AUTHORS.md COPYRIGHT.txt LICENSE.txt
@@ -157,23 +186,16 @@ by pointing to the location of the game's data package.
#----------------------------------------------------------------------
%prep
-%setup -q -n %{name}-%{uversion}
-
-%ifarch armv7hl
-%if 0%{?rhel} > 7 || 0%{?fedora} < 29
-%patch0 -p1 -b .armv7hl-gcc-ice
-%endif
-%endif
-
-# Windows-specific
-rm -rf thirdparty/rtaudio
+%autosetup -p1 -n %{name}-%{uversion}
%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 libwebp openssl opus pcre2
zlib"
+# We can't unbundle bullet yet as 2.88+ is required
+# We can't unbundle zstd yet as it's using advanced APIs only available in
1.4.0+
+# FIXME: Not unbundling libwebsockets right now as it fails building with system one:
+#
https://github.com/godotengine/godot/issues/27632
+to_unbundle="freetype libogg libpng libtheora libvorbis libwebp mbedtls miniupnpc
opus pcre2 zlib zstd"
# Godot's libsimplewebm doesn't build against EPEL7's older libvpx
%if ! 0%{?rhel} || 0%{?rhel} > 7
to_unbundle+=" libvpx"
@@ -192,7 +214,7 @@ ldflags="%{?ldflags}"
ccflags="%{?__global_cflags}"
ldflags="%{?__global_ldflags}"
%endif
-%define _scons scons %{?_smp_mflags} CCFLAGS="$ccflags"
LINKFLAGS="$ldflags" $system_libs udev=yes progress=no
+%define _scons scons %{?_smp_mflags} CCFLAGS="$ccflags"
LINKFLAGS="$ldflags" $system_libs use_lto=yes udev=yes progress=no
%if 0%{?fedora}
export BUILD_NAME="fedora"
@@ -210,36 +232,54 @@ export BUILD_NAME="mageia"
# Build game runner (without tools)
%_scons p=x11 tools=no target=release
-%if %{with server}
+%if %{with headless}
# Build headless version of the editor
%_scons p=server tools=yes target=release_debug
%endif
+%if %{with server}
+# Build headless version of the runtime for servers
+%_scons p=server tools=no target=release
+%endif
+
%install
install -d %{buildroot}%{_bindir}
install -m755 bin/%{name}.x11.opt.tools.%{__isa_bits} %{buildroot}%{_bindir}/%{name}
install -m755 bin/%{name}.x11.opt.%{__isa_bits} %{buildroot}%{_bindir}/%{name}-runner
+%if %{with headless}
+install -m755 bin/%{name}_server.x11.opt.tools.%{__isa_bits}
%{buildroot}%{_bindir}/%{name}-headless
+%endif
%if %{with server}
-install -m755 bin/%{name}_server.server.opt.tools.%{__isa_bits}
%{buildroot}%{_bindir}/%{name}-server
+install -m755 bin/%{name}_server.x11.opt.%{__isa_bits}
%{buildroot}%{_bindir}/%{name}-server
%endif
-install -d %{buildroot}%{_datadir}/applications
-desktop-file-install --dir=%{buildroot}%{_datadir}/applications \
- misc/dist/linux/%{name}.desktop
-
-install -D -p -m644 icon.svg \
- %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
-install -D -m644 misc/dist/linux/%{name}.appdata.xml \
- %{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml
+install -D -m644 icon.svg \
+ %{buildroot}%{_iconsdir}/hicolor/scalable/apps/%{name}.svg
+install -D -m644 misc/dist/linux/%{rdnsname}.desktop \
+ %{buildroot}%{_datadir}/applications/%{rdnsname}.desktop
+install -D -m644 misc/dist/linux/%{rdnsname}.appdata.xml \
+ %{buildroot}%{_datadir}/metainfo/%{rdnsname}.appdata.xml
+install -D -m644 misc/dist/linux/x-%{name}-project.xml \
+ %{buildroot}%{_datadir}/mime/application/x-%{name}-project.xml
install -D -m644 misc/dist/linux/%{name}.6 \
%{buildroot}%{_mandir}/man6/%{name}.6
%check
# Validate desktop and appdata files
-desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
-appstream-util validate-relax --nonet
%{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml
+desktop-file-validate %{buildroot}%{_datadir}/applications/%{rdnsname}.desktop
+appstream-util validate-relax --nonet
%{buildroot}%{_datadir}/metainfo/%{rdnsname}.appdata.xml
%changelog
+* Fri Apr 26 2019 Rmi Verschelde <akien(a)fedoraproject.org> - 3.1.1-1
+- Version 3.1.1-stable
+- Adds dependency on system mbedtls and miniupnpc
+- Removes dependency on openssl
+- Bundles libwebsockets, can't build against system one for now
+- Bundles tinyexr, not packaged (and likely not relevant to package)
+- Rename -server build to -headless, add an actual server runtime package
+- Build with LTO, improves performance a lot (but slow linking)
+- Adds MIME type for .godot project files
+
* Tue Feb 05 2019 Bjrn Esser <besser82(a)fedoraproject.org> - 3.0.6-3
- rebuilt (libvpx)
diff --git a/sources b/sources
index 1718b47..d4e0bc9 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (godot-3.0.6-stable.tar.gz) =
034f32f7ca2e2b04a65dc0f0c7f92514e7627b0598c33de4dff827d7be1ba3c234258dca2363c73e06e3869ed24c133130a176ed938fb19492c7b192506d7187
+SHA512 (godot-3.1.1-stable.tar.xz.sha256) =
6f36bdee13856a794ac97665d3bd93df6809f52a861d963bed2027011e0cba55b4883b43c413af93f6b09f629f76f42ec8c6fe1a2d5b6a270e2328e810af4f40