Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37497462
en ru br
ALT Linux repositórios
S:3.1-alt4

Group :: Development/Tools
RPM: godot

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

%def_with server

%def_with builtin_bullet # need version >=2.88 to build against system library
%def_without builtin_enet
%def_without builtin_freetype
%def_without builtin_libogg
%def_without builtin_libpng
%def_without builtin_libtheora
%def_without builtin_libvorbis
%def_without builtin_libvpx
%def_without builtin_libwebp
%def_without builtin_mbedtls
%def_without builtin_opus
%def_without builtin_pcre2
%def_with builtin_recast
%def_with builtin_squish
%def_with builtin_thekla_atlas
%def_without builtin_zlib
%def_without builtin_zstd

Name: godot
Version: 3.1
Release: alt4

Summary: Godot Engine - Multi-platform 2D and 3D game engine
License: %mit
Group: Development/Tools
Url: https://godotengine.org/

Source0: godot-%version.tar
Source1: %name.desktop
Source2: %name-icon-48.png
Source3: %name.svg
# 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
Patch1: fix-zstd-linking.patch
Patch2: fix-zstd-1.3.8.patch
#ExclusiveArch: x86_64 %ix86

BuildRequires(pre): rpm-build-licenses
BuildRequires: gcc-c++ ccache scons
BuildRequires: libX11-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel
BuildRequires: libGL-devel libGLU-devel
BuildRequires: libalsa-devel libpulseaudio-devel
BuildRequires: libudev-devel

%{!?_with_builtin_bullet:BuildRequires: libbullet-devel}
%{!?_with_builtin_enet:BuildRequires: libenet-devel}
%{!?_with_builtin_freetype:BuildRequires: libfreetype-devel}
%{!?_with_builtin_libogg:BuildRequires: libogg-devel}
%{!?_with_builtin_libpng:BuildRequires: libpng-devel}
%{!?_with_builtin_libtheora:BuildRequires: libtheora-devel}
%{!?_with_builtin_libvorbis:BuildRequires: libvorbis-devel}
%{!?_with_builtin_libvpx:BuildRequires: libvpx-devel}
%{!?_with_builtin_libwebp:BuildRequires: libwebp-devel}
%{!?_with_builtin_mbedtls:BuildRequires: libmbedtls13-devel}
%{!?_with_builtin_opus:BuildRequires: libopus-devel libopusfile-devel}
%{!?_with_builtin_pcre2:BuildRequires: libpcre2-devel}
%{!?_with_builtin_recast:BuildRequires: librecast-devel}
%{!?_with_builtin_squish:BuildRequires: libsquish-devel}
%{!?_with_builtin_thekla_atlas:BuildRequires: libtheklaatlas-devel}
%{!?_with_builtin_zlib:BuildRequires: zlib-devel}
%{!?_with_builtin_zstd:BuildRequires: libzstd-devel}

%description
Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D
games from a unified interface. It provides a comprehensive set of common tools,
so that users can focus on making games without having to reinvent the wheel.
Games can be exported in one click to a number of platforms, including the major
desktop platforms (Linux, Mac OSX, Windows) as well as mobile (Android, iOS) and
web-based (HTML5) platforms.

#----------------------------------------------------------------------


%if_with server
%package        server
Summary:        Godot headless binary for servers
Group:          Games/Other

%description    server
This package contains the headless binary for the Godot game engine,
particularly suited for running dedicated servers.
%endif

#----------------------------------------------------------------------


%package        runner
Summary:        Shared binary to play games developed with the Godot engine
Group:          Games/Other

%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.

#----------------------------------------------------------------------


%prep
%setup
%patch0 -p1
%{!?_with_builtin_zstd:%patch1 -p2}
cp %SOURCE1 .
cp %SOURCE2 .
cp %SOURCE3 .
%ifarch %e2k
# unsupported as of lcc 1.25.17 (mcst#6261)
sed -i  -e 's,-fno-tree-copy-prop,,' -e 's,-fno-tree-ccp,,' \
-e 's,-fno-code-hoisting,,' modules/gdnative/SCsub
sed -i "s/'-Werror=return-type'/&, '-fno-error-always-inline'/" SConstruct
%endif

%build
%define subst_builtin() %{expand:%{1}=%%{?_with_%{1}:yes}}%{expand:%%{?_without_%{1}:no}}

%define godot_common_builtin_options \\\
%{subst_builtin builtin_bullet} \\\
%{subst_builtin builtin_enet} \\\
%{subst_builtin builtin_freetype} \\\
%{subst_builtin builtin_libogg} \\\
%{subst_builtin builtin_libpng} \\\
%{subst_builtin builtin_libtheora} \\\
%{subst_builtin builtin_libvorbis} \\\
%{subst_builtin builtin_libvpx} \\\
%{subst_builtin builtin_libwebp} \\\
%{subst_builtin builtin_mbedtls} \\\
%{subst_builtin builtin_opus} \\\
%{subst_builtin builtin_pcre2} \\\
%{subst_builtin builtin_recast} \\\
%{subst_builtin builtin_squish} \\\
%{subst_builtin builtin_thekla_atlas} \\\
%{subst_builtin builtin_zlib} \\\
%{subst_builtin builtin_zstd} \\\
%nil

export GCC_USE_CCACHE=1
# Verbose build to see what exactly breaks next time
scons \
%godot_common_builtin_options \
platform=x11 \
tools=yes \
verbose=yes \
target=release_debug \
   -j %__nprocs

# Build game runner (without tools)

scons \
%godot_common_builtin_options \
platform=x11 \
tools=no \
verbose=yes \
target=release \
   -j %__nprocs

%if_with server
# Build headless version of the editor
scons \
%godot_common_builtin_options \
platform=server \
tools=yes \
verbose=yes \
target=release_debug \
   -j %__nprocs
%endif

%install
install -Dm 0755 bin/godot.x11.opt.tools.* %buildroot%_bindir/%{name}
install -m755 bin/%{name}.x11.opt.[0-9]* %buildroot%_bindir/%{name}-runner
%if_with server
install -m755 bin/%{name}_server.x11.opt.tools.[0-9]* %buildroot%_bindir/%{name}-server
%endif

install -m 644 -D %name-icon-48.png %buildroot%_liconsdir/%name.png
mkdir -p %buildroot%_iconsdir/hicolor/scalable/apps/
install -m 644 -D %name.svg %buildroot%_iconsdir/hicolor/scalable/apps/
mkdir -p %buildroot%_desktopdir/
install -m 644 -D %name.desktop %buildroot%_desktopdir/

%files
%_bindir/%name
%_desktopdir/%name.desktop
%_liconsdir/%name.png
%_iconsdir/hicolor/scalable/apps/%name.svg

%files runner
%doc AUTHORS.md COPYRIGHT.txt LICENSE.txt
%_bindir/%{name}-runner

%if_with server
%files server
%doc AUTHORS.md COPYRIGHT.txt LICENSE.txt
%_bindir/%{name}-server
%endif

%changelog

Todas as alterações você pod ver aqui

 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009