Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] godot: add client and server export templates
@ 2021-11-24 12:41 curiousjunior
  2021-11-24 14:16 ` [PR PATCH] [Updated] " curiousjunior
                   ` (41 more replies)
  0 siblings, 42 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-24 12:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 659 bytes --]

There is a new pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 2406 bytes --]

From 212c7d1545169a3dd6d48689f78df39b88e040a8 Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add client and server export templates

---
 srcpkgs/godot/template | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/godot/template b/srcpkgs/godot/template
index c38f3f8c525a..4dff3f062ddc 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,16 +1,14 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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
+ 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
@@ -42,15 +40,25 @@ pre_build() {
 	export CXXFLAGS=" $CXXFLAGS "
 }
 
+do_build() {
+	scons ${makejobs} ${make_build_args} tools=yes target=release_debug
+	scons ${makejobs} ${make_build_args} tools=no target=release
+	scons ${makejobs} ${make_build_args} 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.server.opt.$_godot_arch godot-server
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
@ 2021-11-24 14:16 ` curiousjunior
  2021-11-24 14:17 ` curiousjunior
                   ` (40 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-24 14:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 2406 bytes --]

From 1df12052bb21f70e6c40b16a9f82bcc538a5a788 Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add client and server export templates

---
 srcpkgs/godot/template | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/godot/template b/srcpkgs/godot/template
index c38f3f8c525a..f802663591e6 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,16 +1,14 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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
+ 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
@@ -42,15 +40,25 @@ pre_build() {
 	export CXXFLAGS=" $CXXFLAGS "
 }
 
+do_build() {
+	scons ${makejobs} ${make_build_args} tools=yes target=release_debug
+	scons ${makejobs} ${make_build_args} tools=no target=release
+	scons ${makejobs} ${make_build_args} 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_server.opt.$_godot_arch godot-server
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
  2021-11-24 14:16 ` [PR PATCH] [Updated] " curiousjunior
@ 2021-11-24 14:17 ` curiousjunior
  2021-11-24 14:20 ` curiousjunior
                   ` (39 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-24 14:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 233 bytes --]

New comment by curiousjunior on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#issuecomment-977920373

Comment:
alright, I see it builds, but the last file name is wrong s/godot.server/godot_server/

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
  2021-11-24 14:16 ` [PR PATCH] [Updated] " curiousjunior
  2021-11-24 14:17 ` curiousjunior
@ 2021-11-24 14:20 ` curiousjunior
  2021-11-24 15:53 ` [PR PATCH] [Updated] " curiousjunior
                   ` (38 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-24 14:20 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 262 bytes --]

New comment by curiousjunior on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#issuecomment-977922275

Comment:
@codingHahn it might be desirable to also add release_debug binaries, but they're gonna slow down the build further

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (2 preceding siblings ...)
  2021-11-24 14:20 ` curiousjunior
@ 2021-11-24 15:53 ` curiousjunior
  2021-11-24 18:16 ` curiousjunior
                   ` (37 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-24 15:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 2701 bytes --]

From a234ee19e4644a2ac9cf5708c9bf84bc9dbf4df5 Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add client and server export templates

---
 srcpkgs/godot/template | 30 +++++++++++++++++++++---------
 1 file changed, 21 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/godot/template b/srcpkgs/godot/template
index c38f3f8c525a..3fd680eeb84b 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,16 +1,14 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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
+ 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
@@ -42,15 +40,29 @@ pre_build() {
 	export CXXFLAGS=" $CXXFLAGS "
 }
 
+do_build() {
+	scons ${makejobs} ${make_build_args} tools=yes target=release_debug
+	scons ${makejobs} ${make_build_args} tools=no target=release_debug
+	scons ${makejobs} ${make_build_args} tools=no target=release_debug platform=server
+	scons ${makejobs} ${make_build_args} tools=no target=release
+	scons ${makejobs} ${make_build_args} 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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (3 preceding siblings ...)
  2021-11-24 15:53 ` [PR PATCH] [Updated] " curiousjunior
@ 2021-11-24 18:16 ` curiousjunior
  2021-11-26  1:17 ` curiousjunior
                   ` (36 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-24 18:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 2896 bytes --]

From 1d010aa90cf23024dde961080a7c93fb5df02580 Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add client and server export templates

---
 srcpkgs/godot/template | 30 +++++++++++++++++++++---------
 1 file changed, 21 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/godot/template b/srcpkgs/godot/template
index c38f3f8c525a..7323a02be078 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,16 +1,14 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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
+ 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
@@ -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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (4 preceding siblings ...)
  2021-11-24 18:16 ` curiousjunior
@ 2021-11-26  1:17 ` curiousjunior
  2021-11-26  1:35 ` curiousjunior
                   ` (35 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-26  1:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 4950 bytes --]

From 060c9cc6de6ec77f5c1a4b64e6b10371c8676d51 Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add client and server export templates

---
 srcpkgs/godot/patches/pie.patch | 33 +++++++++++++++++++++++++++++++++
 srcpkgs/godot/template          | 32 ++++++++++++++++++++++----------
 2 files changed, 55 insertions(+), 10 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..a300135eca16
--- /dev/null
+++ b/srcpkgs/godot/patches/pie.patch
@@ -0,0 +1,33 @@
+From 065c79f0dfe8a7beae0609be64197cfd4f1e22d5 Mon Sep 17 00:00:00 2001
+From: Hugo Locurcio <hugo.locurcio@hugo.pro>
+Date: Thu, 22 Jul 2021 18:11:02 +0200
+Subject: [PATCH] Re-enable building position-independent executables on
+ Linux/*BSD
+
+This provides better security at the cost of having misleading
+binary icons on some file managers.
+
+Now that recent Linux distributions no longer allow executing
+binaries by double-clicking them in a file manager (even if the
+binary is set to be executable), the usability cost of PIE is lowered.
+You have to use a terminal or install a `.desktop` file nowadays.
+---
+ platform/x11/detect.py | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/platform/x11/detect.py b/platform/x11/detect.py
+index 3e3ed469ed5..f535c9e7bd5 100644
+--- a/platform/x11/detect.py
++++ b/platform/x11/detect.py
+@@ -201,11 +201,6 @@ def configure(env):
+     env.Append(CCFLAGS=["-pipe"])
+     env.Append(LINKFLAGS=["-pipe"])
+ 
+-    # -fpie and -no-pie is supported on GCC 6+ and Clang 4+, both below our
+-    # minimal requirements.
+-    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..22a0b26e101a 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,16 +1,14 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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
+ 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
@@ -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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (5 preceding siblings ...)
  2021-11-26  1:17 ` curiousjunior
@ 2021-11-26  1:35 ` curiousjunior
  2021-11-26  1:50 ` curiousjunior
                   ` (34 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-26  1:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 4540 bytes --]

From 9235fee8a3af35801abd28c8db4266371020522e Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
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          | 32 ++++++++++++++++++++++----------
 2 files changed, 45 insertions(+), 10 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..22a0b26e101a 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,16 +1,14 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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
+ 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
@@ -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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (6 preceding siblings ...)
  2021-11-26  1:35 ` curiousjunior
@ 2021-11-26  1:50 ` curiousjunior
  2021-11-26  1:53 ` curiousjunior
                   ` (33 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-26  1:50 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 4886 bytes --]

From 0c1b40d730a17ad409bba01a7596861d22b4fb8a Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (7 preceding siblings ...)
  2021-11-26  1:50 ` curiousjunior
@ 2021-11-26  1:53 ` curiousjunior
  2021-11-26  2:44 ` curiousjunior
                   ` (32 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-26  1:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 4600 bytes --]

From e4479c52a8ccd01f45245864cfd0f130018ddf73 Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
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          | 34 ++++++++++++++++++++++-----------
 2 files changed, 46 insertions(+), 11 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..76f82127dce5 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,16 +1,14 @@
 # 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
+ 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
@@ -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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (8 preceding siblings ...)
  2021-11-26  1:53 ` curiousjunior
@ 2021-11-26  2:44 ` curiousjunior
  2021-11-29 19:36 ` [PR REVIEW] " ericonr
                   ` (31 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-26  2:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 4328 bytes --]

From 51cb3625be7b25cefdfbc6835020a565a6d98b68 Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
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          | 32 ++++++++++++++++++++++----------
 2 files changed, 45 insertions(+), 10 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..e7aceb54876f 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,21 +1,19 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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
+ 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"
 makedepends="
  alsa-lib-devel freetype-devel glu-devel libXcursor-devel libXi-devel
  libXinerama-devel libXrender-devel libXrandr-devel libX11-devel
@@ -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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (11 preceding siblings ...)
  2021-11-29 19:36 ` ericonr
@ 2021-11-29 19:36 ` ericonr
  2021-11-29 19:36 ` ericonr
                   ` (28 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: ericonr @ 2021-11-29 19:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 203 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r758674583

Comment:
You don't seem to have added `platforms=x11` back below.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (9 preceding siblings ...)
  2021-11-26  2:44 ` curiousjunior
@ 2021-11-29 19:36 ` ericonr
  2021-11-29 19:36 ` ericonr
                   ` (30 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: ericonr @ 2021-11-29 19:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 177 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r758674943

Comment:
Also, why do we disable pulse?

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (10 preceding siblings ...)
  2021-11-29 19:36 ` [PR REVIEW] " ericonr
@ 2021-11-29 19:36 ` ericonr
  2021-11-29 19:36 ` ericonr
                   ` (29 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: ericonr @ 2021-11-29 19:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 228 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r758675755

Comment:
Please try making a loop for these so the command isn't repeated that many times.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (12 preceding siblings ...)
  2021-11-29 19:36 ` ericonr
@ 2021-11-29 19:36 ` ericonr
  2021-11-29 19:36 ` ericonr
                   ` (27 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: ericonr @ 2021-11-29 19:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 228 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r758676753

Comment:
This is adding `release` targets, we only had `release_debug` targets previously.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (13 preceding siblings ...)
  2021-11-29 19:36 ` ericonr
@ 2021-11-29 19:36 ` ericonr
  2021-11-29 19:36 ` ericonr
                   ` (26 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: ericonr @ 2021-11-29 19:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 181 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r758673071

Comment:
Any idea as to *why* they do this?

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (14 preceding siblings ...)
  2021-11-29 19:36 ` ericonr
@ 2021-11-29 19:36 ` ericonr
  2021-11-29 19:58 ` curiousjunior
                   ` (25 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: ericonr @ 2021-11-29 19:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 177 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r758674766

Comment:
Why is clang no longer needed?

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (15 preceding siblings ...)
  2021-11-29 19:36 ` ericonr
@ 2021-11-29 19:58 ` curiousjunior
  2021-11-29 19:59 ` curiousjunior
                   ` (24 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-29 19:58 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 296 bytes --]

New review comment by curiousjunior on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r758691447

Comment:
because it has default value, on both linux and bsd it's x11, adding `platform=x11` only makes sense if you cross-compile from windows or macos

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (16 preceding siblings ...)
  2021-11-29 19:58 ` curiousjunior
@ 2021-11-29 19:59 ` curiousjunior
  2021-11-29 20:00 ` curiousjunior
                   ` (23 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-29 19:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 214 bytes --]

New review comment by curiousjunior on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r758692545

Comment:
because without passing `use_llvm=yes` to scons it's not used

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (17 preceding siblings ...)
  2021-11-29 19:59 ` curiousjunior
@ 2021-11-29 20:00 ` curiousjunior
  2021-11-29 20:13 ` curiousjunior
                   ` (22 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-29 20:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 219 bytes --]

New review comment by curiousjunior on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r758693254

Comment:
no idea, but it was disabled from the beginning

CC @codingHahn 

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (18 preceding siblings ...)
  2021-11-29 20:00 ` curiousjunior
@ 2021-11-29 20:13 ` curiousjunior
  2021-11-29 20:22 ` curiousjunior
                   ` (21 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-29 20:13 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 589 bytes --]

New review comment by curiousjunior on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r758701665

Comment:
`release_debug` is necessary when you use `tools=yes` (the editor), without this PR you only provide the editor to develop games, but with this PR you also provide possibility to actually ship games even on musl libc, for that reason it's necessary to have both `release` and `release_debug` export templates, besides you need those extra binaries when someone will start packaging games made with godot but not linked against musl libc

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (19 preceding siblings ...)
  2021-11-29 20:13 ` curiousjunior
@ 2021-11-29 20:22 ` curiousjunior
  2021-11-29 21:37 ` [PR PATCH] [Updated] " curiousjunior
                   ` (20 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-29 20:22 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 468 bytes --]

New review comment by curiousjunior on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r758707262

Comment:
it was a workaround for some linux distros that treat PIE binaries as shared libraries https://github.com/godotengine/godot/pull/23542

they pushed this patch to master but forgot to put it to 3.x https://github.com/godotengine/godot/pull/50737

without this the CI complains that 1 out of 5 binaries is not PIE

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (20 preceding siblings ...)
  2021-11-29 20:22 ` curiousjunior
@ 2021-11-29 21:37 ` curiousjunior
  2021-11-29 21:43 ` curiousjunior
                   ` (19 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-29 21:37 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 5106 bytes --]

From bdd9a23ecb93288faad349a5cec1771070f943f3 Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add client and server export templates and headless
 editor

both headless editor and export templates will be needed to package games made with godot as either source code available or proprietary binaries linked only against glibc

remove -no-pie flag because 1 out of 5 binaries not being PIE causes xbps-src to error, it was a workaround for some linux distros that treat PIE binaries as shared libraries
=> https://github.com/godotengine/godot/pull/23542 background
=> https://github.com/godotengine/godot/pull/50737 pushed to master but forgot to merge it in 3.x

remove clang from dependencies because without passing 'use_llvm=yes' to scons it's never used

both 'release' and 'release_debug' client and server are needed for custom exports

closes #34199
---
 srcpkgs/godot/patches/pie.patch | 23 ++++++++++++++++++
 srcpkgs/godot/template          | 41 +++++++++++++++++++++++++--------
 2 files changed, 54 insertions(+), 10 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..447532a49855 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,21 +1,19 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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
+ 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"
 makedepends="
  alsa-lib-devel freetype-devel glu-devel libXcursor-devel libXi-devel
  libXinerama-devel libXrender-devel libXrandr-devel libX11-devel
@@ -42,15 +40,38 @@ pre_build() {
 	export CXXFLAGS=" $CXXFLAGS "
 }
 
+do_build() {
+	for tools in yes no; do
+		for target in release release_debug; do
+			for platform in x11 server; do
+				# tools provides editor functionality and we don't need it without debug capabilities
+				if [[$tools != yes || $target != release]]
+					scons ${makejobs} ${make_build_args} CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" tools=$tools target=$target platform=$platform
+				fi
+			done
+		done
+	done
+}
+
 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
+
+	# editors, the headless one is necessary for packagers because it doesn't depend on X11 session when used from command line
+	vbin bin/godot.x11.opt.tools.$_godot_arch godot
+	vbin bin/godot_server.x11.opt.tools.$_godot_arch godot-headless
+
+	# export templates
+	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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (21 preceding siblings ...)
  2021-11-29 21:37 ` [PR PATCH] [Updated] " curiousjunior
@ 2021-11-29 21:43 ` curiousjunior
  2021-11-29 21:49 ` curiousjunior
                   ` (18 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-29 21:43 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 5120 bytes --]

From 54891f96aef1666295bddd579b1158e74ac186da Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add client and server export templates and headless
 editor

both headless editor and export templates will be needed to package games made with godot as either source code available or proprietary binaries linked only against glibc

remove -no-pie flag because 1 out of 5 binaries not being PIE causes xbps-src to error, it was a workaround for some linux distros that treat PIE binaries as shared libraries
=> https://github.com/godotengine/godot/pull/23542 background
=> https://github.com/godotengine/godot/pull/50737 pushed to master but forgot to merge it in 3.x

remove clang from dependencies because without passing 'use_llvm=yes' to scons it's never used

both 'release' and 'release_debug' client and server are needed for custom exports

closes #34199
---
 srcpkgs/godot/patches/pie.patch | 23 ++++++++++++++++++
 srcpkgs/godot/template          | 42 +++++++++++++++++++++++++--------
 2 files changed, 55 insertions(+), 10 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..ef764ef07e07 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,21 +1,19 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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
+ 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"
 makedepends="
  alsa-lib-devel freetype-devel glu-devel libXcursor-devel libXi-devel
  libXinerama-devel libXrender-devel libXrandr-devel libX11-devel
@@ -42,15 +40,39 @@ pre_build() {
 	export CXXFLAGS=" $CXXFLAGS "
 }
 
+do_build() {
+	for tools in yes no; do
+		for target in release release_debug; do
+			for platform in x11 server; do
+				# tools provides editor functionality and we don't need it without debug capabilities
+				if [[${tools} != yes || ${target} != release]]
+					scons ${makejobs} ${make_build_args} CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" tools=${tools} target=${target} platform=${platform}
+				fi
+			done
+		done
+	done
+}
+
 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
+
+	# editors, the headless one is necessary for packagers
+	# because it doesn't depend on X11 session when used from command line
+	vbin bin/godot.x11.opt.tools.$_godot_arch godot
+	vbin bin/godot_server.x11.opt.tools.$_godot_arch godot-headless
+
+	# export templates
+	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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (22 preceding siblings ...)
  2021-11-29 21:43 ` curiousjunior
@ 2021-11-29 21:49 ` curiousjunior
  2021-11-29 21:59 ` curiousjunior
                   ` (17 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-29 21:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 5042 bytes --]

From 79ef818f58743de9073b6e416615c70b9366eacd Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add client and server export templates and headless
 editor

both headless editor and export templates will be needed to package games made with godot as either source code available or proprietary binaries linked only against glibc

remove -no-pie flag because 1 out of 5 binaries not being PIE causes xbps-src to error, it was a workaround for some linux distros that treat PIE binaries as shared libraries
=> https://github.com/godotengine/godot/pull/23542 background
=> https://github.com/godotengine/godot/pull/50737 pushed to master but forgot to merge it in 3.x

remove clang from dependencies because without passing 'use_llvm=yes' to scons it's never used

both 'release' and 'release_debug' client and server are needed for custom exports

closes #34199
---
 srcpkgs/godot/patches/pie.patch | 23 ++++++++++++++++++
 srcpkgs/godot/template          | 41 +++++++++++++++++++++++++--------
 2 files changed, 54 insertions(+), 10 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..567f323cd05d 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,21 +1,19 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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
+ 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"
 makedepends="
  alsa-lib-devel freetype-devel glu-devel libXcursor-devel libXi-devel
  libXinerama-devel libXrender-devel libXrandr-devel libX11-devel
@@ -42,15 +40,38 @@ pre_build() {
 	export CXXFLAGS=" $CXXFLAGS "
 }
 
+do_build() {
+	for tools in yes no; do
+		for target in release release_debug; do
+			for platform in x11 server; do
+				# tools provides editor functionality and we don't need it without debug capabilities
+				if [[${tools} != yes || ${target} != release]]; then
+					scons ${makejobs} ${make_build_args} CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" tools=${tools} target=${target} platform=${platform}
+				fi
+			done
+		done
+	done
+}
+
 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
+
+	# editors, use headless for packaging games
+	vbin bin/godot.x11.opt.tools.$_godot_arch godot
+	vbin bin/godot_server.x11.opt.tools.$_godot_arch godot-headless
+
+	# export templates
+	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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (23 preceding siblings ...)
  2021-11-29 21:49 ` curiousjunior
@ 2021-11-29 21:59 ` curiousjunior
  2021-11-29 22:13 ` [PR PATCH] [Updated] godot: add client and server export templates and headless editor curiousjunior
                   ` (16 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-29 21:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 5098 bytes --]

From 3bda766c12653510d2c7deef60383f83d97caf85 Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add client and server export templates and headless
 editor

both headless editor and export templates will be needed to package games made with godot as either source code available or proprietary binaries linked only against glibc

remove -no-pie flag because 1 out of 5 binaries not being PIE causes xbps-src to error, it was a workaround for some linux distros that treat PIE binaries as shared libraries
=> https://github.com/godotengine/godot/pull/23542 background
=> https://github.com/godotengine/godot/pull/50737 pushed to master but forgot to merge it in 3.x

remove clang from dependencies because without passing 'use_llvm=yes' to scons it's never used

both 'release' and 'release_debug' client and server are needed for custom exports

closes #34199
---
 srcpkgs/godot/patches/pie.patch | 23 ++++++++++++++++++
 srcpkgs/godot/template          | 41 +++++++++++++++++++++++++--------
 2 files changed, 54 insertions(+), 10 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..dec76e83b630 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,21 +1,19 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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
+ 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"
 makedepends="
  alsa-lib-devel freetype-devel glu-devel libXcursor-devel libXi-devel
  libXinerama-devel libXrender-devel libXrandr-devel libX11-devel
@@ -42,15 +40,38 @@ pre_build() {
 	export CXXFLAGS=" $CXXFLAGS "
 }
 
+do_build() {
+	for tools in yes no; do
+		for target in release release_debug; do
+			for platform in x11 server; do
+				# tools provides editor functionality and we don't need it without debug capabilities
+				if [["$tools" != "yes" || "$target" != "release"]]; then
+					scons ${makejobs} ${make_build_args} CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" tools=${tools} target=${target} platform=${platform}
+				fi
+			done
+		done
+	done
+}
+
 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
+
+	# editors, use headless for packaging games
+	vbin bin/godot.x11.opt.tools.$_godot_arch godot
+	vbin bin/godot_server.x11.opt.tools.$_godot_arch godot-headless
+
+	# export templates, use for packaging games and playing with musl libc
+	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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates and headless editor
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (24 preceding siblings ...)
  2021-11-29 21:59 ` curiousjunior
@ 2021-11-29 22:13 ` curiousjunior
  2021-11-30  4:58 ` [PR REVIEW] " ahesford
                   ` (15 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-29 22:13 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 684 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates and headless editor
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 5092 bytes --]

From 15aff87141835ef29d26c87062a0594a77d35be9 Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add client and server export templates and headless
 editor

both headless editor and export templates will be needed to package games made with godot as either source code available or proprietary binaries linked only against glibc

remove -no-pie flag because 1 out of 5 binaries not being PIE causes xbps-src to error, it was a workaround for some linux distros that treat PIE binaries as shared libraries
=> https://github.com/godotengine/godot/pull/23542 background
=> https://github.com/godotengine/godot/pull/50737 pushed to master but forgot to merge it in 3.x

remove clang from dependencies because without passing 'use_llvm=yes' to scons it's never used

both 'release' and 'release_debug' client and server are needed for custom exports

closes #34199
---
 srcpkgs/godot/patches/pie.patch | 23 ++++++++++++++++++
 srcpkgs/godot/template          | 41 +++++++++++++++++++++++++--------
 2 files changed, 54 insertions(+), 10 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..7e7827b4c536 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,21 +1,19 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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
+ 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"
 makedepends="
  alsa-lib-devel freetype-devel glu-devel libXcursor-devel libXi-devel
  libXinerama-devel libXrender-devel libXrandr-devel libX11-devel
@@ -42,15 +40,38 @@ pre_build() {
 	export CXXFLAGS=" $CXXFLAGS "
 }
 
+do_build() {
+	for tools in yes no; do
+		for target in release release_debug; do
+			for platform in x11 server; do
+				# tools provides editor functionality and we don't need it without debug capabilities
+				if [[ $tools != yes || $target != release ]]; then
+					scons ${makejobs} ${make_build_args} CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" tools=${tools} target=${target} platform=${platform}
+				fi
+			done
+		done
+	done
+}
+
 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
+
+	# editors, use headless for packaging games
+	vbin bin/godot.x11.opt.tools.$_godot_arch godot
+	vbin bin/godot_server.x11.opt.tools.$_godot_arch godot-headless
+
+	# export templates, use for packaging games and playing with musl libc
+	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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add client and server export templates and headless editor
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (25 preceding siblings ...)
  2021-11-29 22:13 ` [PR PATCH] [Updated] godot: add client and server export templates and headless editor curiousjunior
@ 2021-11-30  4:58 ` ahesford
  2021-11-30  6:23 ` [PR PATCH] [Updated] " curiousjunior
                   ` (14 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: ahesford @ 2021-11-30  4:58 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 434 bytes --]

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r758930903

Comment:
This triple product with some combinations excluded is too clever by half. Unroll this in a sensible way so it's obvious what combinations are being built. Define a helper function for reuse if appropriate.

Also, the scons line is so long it's illegible, so add some judicious wraps.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add client and server export templates and headless editor
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (26 preceding siblings ...)
  2021-11-30  4:58 ` [PR REVIEW] " ahesford
@ 2021-11-30  6:23 ` curiousjunior
  2021-11-30  6:27 ` [PR REVIEW] godot: add LTO, export templates and headless curiousjunior
                   ` (13 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-30  6:23 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 684 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add client and server export templates and headless editor
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 5172 bytes --]

From f8458a0f9ba34fcdf2b0a554f7057a8bb665fe8d Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add LTO, export templates and headless

both headless editor and export templates will be needed to package games made
 with godot as either source code available or proprietary binaries linked
 only against glibc

remove -no-pie flag because 1 out of 5 binaries not being PIE causes xbps-src
 to error, it was a workaround for some linux distros that treat PIE binaries
 as shared libraries
=> https://github.com/godotengine/godot/pull/23542 background
=> https://github.com/godotengine/godot/pull/50737 pushed to master but forgot
 to merge it in 3.x

remove clang from dependencies because without passing 'use_llvm=yes' to scons
 it's never used

both 'release' and 'release_debug' client and server are needed for custom
 exports

closes #34199
---
 srcpkgs/godot/patches/pie.patch | 23 +++++++++++++++++
 srcpkgs/godot/template          | 45 +++++++++++++++++++++++++--------
 2 files changed, 58 insertions(+), 10 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..4b510710600b 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,21 +1,19 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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_lto=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"
 makedepends="
  alsa-lib-devel freetype-devel glu-devel libXcursor-devel libXi-devel
  libXinerama-devel libXrender-devel libXrandr-devel libX11-devel
@@ -42,15 +40,42 @@ pre_build() {
 	export CXXFLAGS=" $CXXFLAGS "
 }
 
+do_build() {
+	options = \
+		"yes release_debug x11    # editor
+		 yes release_debug server # headless
+		 no  release       x11    # client
+		 no  release_debug x11    # client with runtime checks
+		 no  release       server # server
+		 no  release_debug server # server with runtime checks"
+
+	echo $options | while read tools target platform _; do
+		scons \
+			${makejobs} ${make_build_args} \
+			CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" \
+			tools=${tools} target=${target} platform=${platform}
+	done
+}
+
 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
+
+	# editors, use headless for packaging games
+	vbin bin/godot.x11.opt.tools.$_godot_arch godot
+	vbin bin/godot_server.x11.opt.tools.$_godot_arch godot-headless
+
+	# export templates, use for packaging games and playing with musl libc
+	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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (27 preceding siblings ...)
  2021-11-30  6:23 ` [PR PATCH] [Updated] " curiousjunior
@ 2021-11-30  6:27 ` curiousjunior
  2021-11-30  6:32 ` [PR PATCH] [Updated] " curiousjunior
                   ` (12 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-30  6:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 314 bytes --]

New review comment by curiousjunior on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r758968926

Comment:
btw, godot supports lto only with gcc https://docs.godotengine.org/en/latest/development/compiling/optimizing_for_size.html#compiling-with-link-time-optimization

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (28 preceding siblings ...)
  2021-11-30  6:27 ` [PR REVIEW] godot: add LTO, export templates and headless curiousjunior
@ 2021-11-30  6:32 ` curiousjunior
  2021-11-30  6:37 ` curiousjunior
                   ` (11 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-30  6:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add LTO, export templates and headless
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 5179 bytes --]

From ecc3c496954d096a7867f0fa8474d9c6007c7b3d Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add LTO, export templates and headless

both headless editor and export templates will be needed to package games made
 with godot as either source code available or proprietary binaries linked
 only against glibc

remove -no-pie flag because 1 out of 5 binaries not being PIE causes xbps-src
 to error, it was a workaround for some linux distros that treat PIE binaries
 as shared libraries
=> https://github.com/godotengine/godot/pull/23542 background
=> https://github.com/godotengine/godot/pull/50737 pushed to master but forgot
 to merge it in 3.x

remove clang from dependencies because without passing 'use_llvm=yes' to scons
 it's never used

both 'release' and 'release_debug' client and server are needed for custom
 exports

closes #34199
---
 srcpkgs/godot/patches/pie.patch | 23 +++++++++++++++++
 srcpkgs/godot/template          | 45 +++++++++++++++++++++++++--------
 2 files changed, 58 insertions(+), 10 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..82daef8531d5 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,21 +1,19 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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_lto=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"
 makedepends="
  alsa-lib-devel freetype-devel glu-devel libXcursor-devel libXi-devel
  libXinerama-devel libXrender-devel libXrandr-devel libX11-devel
@@ -42,15 +40,42 @@ pre_build() {
 	export CXXFLAGS=" $CXXFLAGS "
 }
 
+do_build() {
+	export options = \
+		"yes release_debug x11    # editor
+		 yes release_debug server # headless
+		 no  release       x11    # client
+		 no  release_debug x11    # client with runtime checks
+		 no  release       server # server
+		 no  release_debug server # server with runtime checks"
+
+	echo $options | while read tools target platform _; do
+		scons \
+			${makejobs} ${make_build_args} \
+			CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" \
+			tools=${tools} target=${target} platform=${platform}
+	done
+}
+
 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
+
+	# editors, use headless for packaging games
+	vbin bin/godot.x11.opt.tools.$_godot_arch godot
+	vbin bin/godot_server.x11.opt.tools.$_godot_arch godot-headless
+
+	# export templates, use for packaging games and playing with musl libc
+	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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (29 preceding siblings ...)
  2021-11-30  6:32 ` [PR PATCH] [Updated] " curiousjunior
@ 2021-11-30  6:37 ` curiousjunior
  2021-11-30  6:44 ` curiousjunior
                   ` (10 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-30  6:37 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add LTO, export templates and headless
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 5475 bytes --]

From 69114a242beac35189fabe1fadeb832a2148597f Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add LTO, export templates and headless

both headless editor and export templates will be needed to package games made
 with godot as either source code available or proprietary binaries linked
 only against glibc

remove -no-pie flag because 1 out of 5 binaries not being PIE causes xbps-src
 to error, it was a workaround for some linux distros that treat PIE binaries
 as shared libraries
=> https://github.com/godotengine/godot/pull/23542 background
=> https://github.com/godotengine/godot/pull/50737 pushed to master but forgot
 to merge it in 3.x

remove clang from dependencies because without passing 'use_llvm=yes' to scons
 it's never used

both 'release' and 'release_debug' client and server are needed for custom
 exports

closes #34199
---
 srcpkgs/godot/patches/pie.patch | 23 +++++++++++++++++
 srcpkgs/godot/template          | 45 +++++++++++++++++++++++++--------
 2 files changed, 58 insertions(+), 10 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..60ae51962ded 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,21 +1,19 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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_lto=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"
 makedepends="
  alsa-lib-devel freetype-devel glu-devel libXcursor-devel libXi-devel
  libXinerama-devel libXrender-devel libXrandr-devel libX11-devel
@@ -33,6 +31,14 @@ nocross=https://build.voidlinux.org/builders/armv7l_builder/builds/6342/steps/sh
 CFLAGS+=" -fPIE -fPIC"
 LDFLAGS+=" -pie"
 
+_options = \
+	"yes release_debug x11    # editor
+	 yes release_debug server # headless
+	 no  release       x11    # client
+	 no  release_debug x11    # client with runtime checks
+	 no  release       server # server
+	 no  release_debug server # server with runtime checks"
+
 post_extract() {
 	vsed -e 's/#ifdef CRASH_HANDLER_ENABLED/#if defined(CRASH_HANDLER_ENABLED) \&\& defined(__GLIBC__)/' \
 		-i platform/x11/crash_handler_x11.cpp
@@ -42,15 +48,34 @@ pre_build() {
 	export CXXFLAGS=" $CXXFLAGS "
 }
 
+do_build() {
+	echo $_options | while read tools target platform _; do
+		scons \
+			${makejobs} ${make_build_args} \
+			CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" \
+			tools=${tools} target=${target} platform=${platform}
+	done
+}
+
 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
+
+	# editors, use headless for packaging games
+	vbin bin/godot.x11.opt.tools.$_godot_arch godot
+	vbin bin/godot_server.x11.opt.tools.$_godot_arch godot-headless
+
+	# export templates, use for packaging games and playing with musl libc
+	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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (30 preceding siblings ...)
  2021-11-30  6:37 ` curiousjunior
@ 2021-11-30  6:44 ` curiousjunior
  2021-11-30  7:23 ` curiousjunior
                   ` (9 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-30  6:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add LTO, export templates and headless
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 5541 bytes --]

From 23950d6e91d9502d1df5b8ac064ff78e18f48f66 Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add LTO, export templates and headless

both headless editor and export templates will be needed to package games made
 with godot as either source code available or proprietary binaries linked
 only against glibc

remove -no-pie flag because 1 out of 5 binaries not being PIE causes xbps-src
 to error, it was a workaround for some linux distros that treat PIE binaries
 as shared libraries
=> https://github.com/godotengine/godot/pull/23542 background
=> https://github.com/godotengine/godot/pull/50737 pushed to master but forgot
 to merge it in 3.x

remove clang from dependencies because without passing 'use_llvm=yes' to scons
 it's never used, also 'use_lto=yes' with 'use_llvm=yes' is not supported

both 'release' and 'release_debug' client and server are needed for custom
 exports

closes #34199
---
 srcpkgs/godot/patches/pie.patch | 23 +++++++++++++++++
 srcpkgs/godot/template          | 45 +++++++++++++++++++++++++--------
 2 files changed, 58 insertions(+), 10 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..763e8dba81b1 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,21 +1,19 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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_lto=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"
 makedepends="
  alsa-lib-devel freetype-devel glu-devel libXcursor-devel libXi-devel
  libXinerama-devel libXrender-devel libXrandr-devel libX11-devel
@@ -33,6 +31,14 @@ nocross=https://build.voidlinux.org/builders/armv7l_builder/builds/6342/steps/sh
 CFLAGS+=" -fPIE -fPIC"
 LDFLAGS+=" -pie"
 
+_options = \
+	"yes release_debug x11    # editor
+	 yes release_debug server # headless
+	 no  release       x11    # client
+	 no  release_debug x11    # client with runtime checks
+	 no  release       server # server
+	 no  release_debug server # server with runtime checks"
+
 post_extract() {
 	vsed -e 's/#ifdef CRASH_HANDLER_ENABLED/#if defined(CRASH_HANDLER_ENABLED) \&\& defined(__GLIBC__)/' \
 		-i platform/x11/crash_handler_x11.cpp
@@ -42,15 +48,34 @@ pre_build() {
 	export CXXFLAGS=" $CXXFLAGS "
 }
 
+do_build() {
+	echo $_options | while read tools target platform _; do
+		scons \
+			${makejobs} ${make_build_args} \
+			CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" \
+			tools=$tools target=$target platform=$platform
+	done
+}
+
 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
+
+	# editors, use headless for packaging games
+	vbin bin/godot.x11.opt.tools.$_godot_arch godot
+	vbin bin/godot_server.x11.opt.tools.$_godot_arch godot-headless
+
+	# export templates, use for packaging games and playing with musl libc or non-x86 CPU
+	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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Updated] godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (31 preceding siblings ...)
  2021-11-30  6:44 ` curiousjunior
@ 2021-11-30  7:23 ` curiousjunior
  2021-11-30 15:28 ` q66
                   ` (8 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-30  7:23 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

There is an updated pull request by curiousjunior against master on the void-packages repository

https://github.com/curiousjunior/void-packages godot
https://github.com/void-linux/void-packages/pull/34226

godot: add LTO, export templates and headless
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

A patch file from https://github.com/void-linux/void-packages/pull/34226.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-godot-34226.patch --]
[-- Type: text/x-diff, Size: 5235 bytes --]

From b89bd454244dc4d8d69ca33be1b01bfd8636cf41 Mon Sep 17 00:00:00 2001
From: Leonid Bobrov <curiousbeaver@disroot.org>
Date: Wed, 24 Nov 2021 14:26:38 +0200
Subject: [PATCH] godot: add LTO, export templates and headless

both headless editor and export templates will be needed to package games made
 with godot as either source code available or proprietary binaries linked
 only against glibc

remove -no-pie flag because 1 out of 5 binaries not being PIE causes xbps-src
 to error, it was a workaround for some linux distros that treat PIE binaries
 as shared libraries
=> https://github.com/godotengine/godot/pull/23542 background
=> https://github.com/godotengine/godot/pull/50737 pushed to master but forgot
 to merge it in 3.x

remove clang from dependencies because without passing 'use_llvm=yes' to scons
 it's never used, also 'use_lto=yes' with 'use_llvm=yes' is not supported

both 'release' and 'release_debug' client and server are needed for custom
 exports

closes #34199
---
 srcpkgs/godot/patches/pie.patch | 23 +++++++++++++++++
 srcpkgs/godot/template          | 45 +++++++++++++++++++++++++--------
 2 files changed, 58 insertions(+), 10 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..6cac403d0f45 100644
--- a/srcpkgs/godot/template
+++ b/srcpkgs/godot/template
@@ -1,21 +1,19 @@
 # Template file for 'godot'
 pkgname=godot
 version=3.4
-revision=1
+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_lto=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"
 makedepends="
  alsa-lib-devel freetype-devel glu-devel libXcursor-devel libXi-devel
  libXinerama-devel libXrender-devel libXrandr-devel libX11-devel
@@ -42,15 +40,42 @@ pre_build() {
 	export CXXFLAGS=" $CXXFLAGS "
 }
 
+do_build() {
+	_options="\
+		yes release_debug x11    # editor
+		yes release_debug server # headless
+		no  release       x11    # client
+		no  release_debug x11    # client with runtime checks
+		no  release       server # server
+		no  release_debug server # server with runtime checks"
+
+	echo "$_options" | while read tools target platform _; do
+		scons \
+			${makejobs} ${make_build_args} \
+			CCFLAGS="$CFLAGS" LINKFLAGS="$LDFLAGS" \
+			tools=$tools target=$target platform=$platform
+	done
+}
+
 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
+
+	# editors, use headless for packaging games
+	vbin bin/godot.x11.opt.tools.$_godot_arch godot
+	vbin bin/godot_server.x11.opt.tools.$_godot_arch godot-headless
+
+	# export templates, use for packaging games and playing with musl libc or non-x86 CPU
+	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
 }

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (32 preceding siblings ...)
  2021-11-30  7:23 ` curiousjunior
@ 2021-11-30 15:28 ` q66
  2021-11-30 16:00 ` curiousjunior
                   ` (7 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: q66 @ 2021-11-30 15:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 289 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#issuecomment-982745047

Comment:
is there any real benefit to enabling LTO with godot? i can see it adding a lot to the link time and memory consumption, since gcc does not have thinlto

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (33 preceding siblings ...)
  2021-11-30 15:28 ` q66
@ 2021-11-30 16:00 ` curiousjunior
  2021-11-30 16:15 ` ahesford
                   ` (6 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-30 16:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 893 bytes --]

New comment by curiousjunior on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#issuecomment-982775864

Comment:
@q66 let me point out to your hypocrisy:

is there any real benefit to packaging both chromium and qt5-webengine and both firefox and firefox-esr? that's the real waste of both link time and memory consumption because you build the most bloated cancers like blink and gecko twice, furthermore you still build qt5-webkit which significantly lags behind webkitgtk and keep patching its template thus wasting even more time and memory for no benefit

+7 minutes to the build time that lto adds is not so important because it gets built on one machine once and distributed to many machines, if that's so important to you then you'll gain real benefits in build time by disabling qt5-webengine or chromium and firefox or firefox-esr and qt5-webkit

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (34 preceding siblings ...)
  2021-11-30 16:00 ` curiousjunior
@ 2021-11-30 16:15 ` ahesford
  2021-11-30 16:59 ` q66
                   ` (5 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: ahesford @ 2021-11-30 16:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 972 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#issuecomment-982789591

Comment:
This is a senseless *non sequitur* and there is no hypocrisy. We provide different browsers and their engines because people have individual preferences. Hating both Firefox and Chromium, I rely on `qt5-webengine` at the heart of `qutebrowser`. The benefit, obviously, is user choice. The drawbacks are maintenance burden and resource demands. The team has picked a point that seems like a reasonable tradeoff.

The question raised here is what benefit you provide by changing the configuration to enable LTO at the expense of build time and memory consumption.

When arguing with team members about concerns raised by your changes or the standards we apply to review, you would do well to remember that Void members are the arbiters, and your burden is not to show us the error of our ways, but of the enlightenment in yours.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (35 preceding siblings ...)
  2021-11-30 16:15 ` ahesford
@ 2021-11-30 16:59 ` q66
  2021-11-30 17:12 ` ericonr
                   ` (4 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: q66 @ 2021-11-30 16:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 322 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#issuecomment-982830735

Comment:
if you want me to go ahead and close your stuff, feel free and annoy me further

if you don't, then i'd suggest you give up this tone, because I sure am not here to take shit from you

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (36 preceding siblings ...)
  2021-11-30 16:59 ` q66
@ 2021-11-30 17:12 ` ericonr
  2021-11-30 17:14 ` curiousjunior
                   ` (3 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: ericonr @ 2021-11-30 17:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 526 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#issuecomment-982842975

Comment:
For the record, a response could have been: "it only adds 7 minutes to build time (which is very small compared to the full build) and, since the resulting binaries can be distributed to other people, it means squeezing out performance is worth it"

That justifies why enabling it makes sense, and shows how much it costs, while avoiding antagonizing those who are reviewing your PR.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (37 preceding siblings ...)
  2021-11-30 17:12 ` ericonr
@ 2021-11-30 17:14 ` curiousjunior
  2021-11-30 17:14 ` [PR REVIEW] " codingHahn
                   ` (2 subsequent siblings)
  41 siblings, 0 replies; 43+ messages in thread
From: curiousjunior @ 2021-11-30 17:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1047 bytes --]

New comment by curiousjunior on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#issuecomment-982844026

Comment:
@ahesford you don't care about people having different preferences, you rejected:
* ungoogled-chromium https://github.com/void-linux/void-packages/issues/13564
* librewolf https://github.com/void-linux/void-packages/issues/24393
* icecat https://github.com/void-linux/void-packages/commit/80815e7ec848c526a6a0a4fb573faf559b0cf45c
* palemoon https://github.com/void-linux/void-packages/issues/23628

those are the better options than chromium and firefox, you may drop chromium and firefox and tell users to use flatpak to install them just like you told that to users who want librewolf

I'm not ok when someone tells me about *insert problem here* when they bring even greater *insert same problem here* themselves and I meet many such kinds of people every day

also you can't scare me with your blackmail, you annoy me even more than I annoy you, but I didn't blackmail you a single time

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR REVIEW] godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (38 preceding siblings ...)
  2021-11-30 17:14 ` curiousjunior
@ 2021-11-30 17:14 ` codingHahn
  2021-11-30 17:14 ` q66
  2021-11-30 17:15 ` [PR PATCH] [Closed]: " ahesford
  41 siblings, 0 replies; 43+ messages in thread
From: codingHahn @ 2021-11-30 17:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 223 bytes --]

New review comment by codingHahn on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#discussion_r759495161

Comment:
We can enable it. I don't remember why it was disabled in the first place

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (39 preceding siblings ...)
  2021-11-30 17:14 ` [PR REVIEW] " codingHahn
@ 2021-11-30 17:14 ` q66
  2021-11-30 17:15 ` [PR PATCH] [Closed]: " ahesford
  41 siblings, 0 replies; 43+ messages in thread
From: q66 @ 2021-11-30 17:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 396 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/34226#issuecomment-982844932

Comment:
time does not matter as much as memory consumption with LTO, since a full-LTO link on a large codebase can use potentially tens of gigabytes of memory

so I want to see numbers proving some kind of realistic benefit (performance or notably smaller binaries)

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [PR PATCH] [Closed]: godot: add LTO, export templates and headless
  2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
                   ` (40 preceding siblings ...)
  2021-11-30 17:14 ` q66
@ 2021-11-30 17:15 ` ahesford
  41 siblings, 0 replies; 43+ messages in thread
From: ahesford @ 2021-11-30 17:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 498 bytes --]

There's a closed pull request on the void-packages repository

godot: add LTO, export templates and headless
https://github.com/void-linux/void-packages/pull/34226

Description:
they are useful for everything that's not glibc or not x86 because there are no official binaries for those (who plays finished games in the editor?) and can be used to play already exported games

also I didn't test building and packaging on my own laptop because C++ is a cancer, so I'll wait for result of buildbot

^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2021-11-30 17:15 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-24 12:41 [PR PATCH] godot: add client and server export templates curiousjunior
2021-11-24 14:16 ` [PR PATCH] [Updated] " curiousjunior
2021-11-24 14:17 ` curiousjunior
2021-11-24 14:20 ` curiousjunior
2021-11-24 15:53 ` [PR PATCH] [Updated] " curiousjunior
2021-11-24 18:16 ` curiousjunior
2021-11-26  1:17 ` curiousjunior
2021-11-26  1:35 ` curiousjunior
2021-11-26  1:50 ` curiousjunior
2021-11-26  1:53 ` curiousjunior
2021-11-26  2:44 ` curiousjunior
2021-11-29 19:36 ` [PR REVIEW] " ericonr
2021-11-29 19:36 ` ericonr
2021-11-29 19:36 ` ericonr
2021-11-29 19:36 ` ericonr
2021-11-29 19:36 ` ericonr
2021-11-29 19:36 ` ericonr
2021-11-29 19:58 ` curiousjunior
2021-11-29 19:59 ` curiousjunior
2021-11-29 20:00 ` curiousjunior
2021-11-29 20:13 ` curiousjunior
2021-11-29 20:22 ` curiousjunior
2021-11-29 21:37 ` [PR PATCH] [Updated] " curiousjunior
2021-11-29 21:43 ` curiousjunior
2021-11-29 21:49 ` curiousjunior
2021-11-29 21:59 ` curiousjunior
2021-11-29 22:13 ` [PR PATCH] [Updated] godot: add client and server export templates and headless editor curiousjunior
2021-11-30  4:58 ` [PR REVIEW] " ahesford
2021-11-30  6:23 ` [PR PATCH] [Updated] " curiousjunior
2021-11-30  6:27 ` [PR REVIEW] godot: add LTO, export templates and headless curiousjunior
2021-11-30  6:32 ` [PR PATCH] [Updated] " curiousjunior
2021-11-30  6:37 ` curiousjunior
2021-11-30  6:44 ` curiousjunior
2021-11-30  7:23 ` curiousjunior
2021-11-30 15:28 ` q66
2021-11-30 16:00 ` curiousjunior
2021-11-30 16:15 ` ahesford
2021-11-30 16:59 ` q66
2021-11-30 17:12 ` ericonr
2021-11-30 17:14 ` curiousjunior
2021-11-30 17:14 ` [PR REVIEW] " codingHahn
2021-11-30 17:14 ` q66
2021-11-30 17:15 ` [PR PATCH] [Closed]: " ahesford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).