From 0c1b40d730a17ad409bba01a7596861d22b4fb8a Mon Sep 17 00:00:00 2001 From: Leonid Bobrov Date: Wed, 24 Nov 2021 14:26:38 +0200 Subject: [PATCH] godot: add client and server export templates --- srcpkgs/godot/patches/pie.patch | 23 +++++++++++++++++++++ srcpkgs/godot/template | 36 ++++++++++++++++++++++----------- 2 files changed, 47 insertions(+), 12 deletions(-) create mode 100644 srcpkgs/godot/patches/pie.patch diff --git a/srcpkgs/godot/patches/pie.patch b/srcpkgs/godot/patches/pie.patch new file mode 100644 index 000000000000..08964951e66e --- /dev/null +++ b/srcpkgs/godot/patches/pie.patch @@ -0,0 +1,23 @@ +diff --git a/platform/x11/detect.py b/platform/x11/detect.py +index 56ef4b8e29..c5fd8f7811 100644 +--- a/platform/x11/detect.py ++++ b/platform/x11/detect.py +@@ -210,18 +210,6 @@ def configure(env): + env.Append(CCFLAGS=["-pipe"]) + env.Append(LINKFLAGS=["-pipe"]) + +- # 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"]) +- env.Append(LINKFLAGS=["-no-pie"]) +- # 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"]) +- + ## Dependencies + + env.ParseConfig("pkg-config x11 --cflags --libs") diff --git a/srcpkgs/godot/template b/srcpkgs/godot/template index c38f3f8c525a..d6d586f1aeee 100644 --- a/srcpkgs/godot/template +++ b/srcpkgs/godot/template @@ -1,21 +1,19 @@ # Template file for 'godot' pkgname=godot version=3.4 -revision=1 -archs="x86_64* i686* aarch64* armv7* ppc64*" +revision=2 +#archs="x86_64* i686* aarch64* armv7* ppc64*" wrksrc="${pkgname}-${version}-stable" build_style=scons # Godot contains private copies of libraries # that already have been packaged elsewhere. -# Use builtin bullet for now as it's too old in repos (needs 2.89) -# Toggle to not use builtin once bullet has been updated -make_build_args="platform=x11 tools=yes target=release_debug dev=no progress=no - pulseaudio=no builtin_bullet=false builtin_libpng=false builtin_libvpx=false +make_build_args="dev=no progress=no pulseaudio=no use_llvm=yes use_lld=yes + builtin_bullet=false builtin_libpng=false builtin_libvpx=false builtin_libwebp=false builtin_libogg=false builtin_libtheora=false builtin_opus=false builtin_libvorbis=false builtin_enet=false builtin_zlib=false builtin_freetype=false builtin_mbedtls=false builtin_miniupnpc=false builtin_pcre2=false" -hostmakedepends="pkg-config clang" +hostmakedepends="pkg-config clang lld" makedepends=" alsa-lib-devel freetype-devel glu-devel libXcursor-devel libXi-devel libXinerama-devel libXrender-devel libXrandr-devel libX11-devel @@ -28,7 +26,7 @@ license="MIT" homepage="https://www.godotengine.org/" distfiles="https://github.com/godotengine/${pkgname}/archive/${version}-stable.tar.gz" checksum=61749d12cb094c0be2a2c451ae2aceb8bb45f59f67fcd13fcd8f0c9114262d88 -nocross=https://build.voidlinux.org/builders/armv7l_builder/builds/6342/steps/shell_3/logs/stdio +#nocross=https://build.voidlinux.org/builders/armv7l_builder/builds/6342/steps/shell_3/logs/stdio CFLAGS+=" -fPIE -fPIC" LDFLAGS+=" -pie" @@ -42,15 +40,29 @@ pre_build() { export CXXFLAGS=" $CXXFLAGS " } +do_build() { + scons ${makejobs} ${make_build_args} CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" tools=yes target=release_debug + scons ${makejobs} ${make_build_args} CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" tools=no target=release_debug + scons ${makejobs} ${make_build_args} CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" tools=no target=release_debug platform=server + scons ${makejobs} ${make_build_args} CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" tools=no target=release + scons ${makejobs} ${make_build_args} CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" tools=no target=release platform=server +} + do_install() { vlicense LICENSE.txt vinstall ${FILESDIR}/godot.desktop 644 /usr/share/applications/ vinstall ${wrksrc}/icon.png 644 /usr/share/pixmaps/ godot.png case "$XBPS_TARGET_MACHINE" in - x86_64*|aarch64*) vbin bin/godot.x11.opt.tools.64 godot;; - ppc64le*) vbin bin/godot.x11.opt.tools.ppc64le godot;; - ppc64*) vbin bin/godot.x11.opt.tools.ppc64 godot;; - *) vbin bin/godot.x11.opt.tools.32 godot;; + x86_64*|aarch64*) _godot_arch=64;; + ppc64le*) _godot_arch=ppc64le;; + ppc64*) _godot_arch=ppc64;; + *) _godot_arch=32;; esac + + vbin bin/godot.x11.opt.tools.$_godot_arch godot + vbin bin/godot.x11.opt.$_godot_arch godot-client + vbin bin/godot.x11.opt.debug.$_godot_arch godot-client-debug + vbin bin/godot_server.x11.opt.$_godot_arch godot-server + vbin bin/godot_server.x11.opt.debug.$_godot_arch godot-server-debug }