public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/, dev-games/godot/files/
@ 2024-08-29  5:16 Ionen Wolkens
  0 siblings, 0 replies; 11+ messages in thread
From: Ionen Wolkens @ 2024-08-29  5:16 UTC (permalink / raw
  To: gentoo-commits

commit:     9340b600665afa885f4588818ea6b5dd18402c9f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 29 03:33:15 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Aug 29 05:15:42 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9340b600

dev-games/godot: drop 3.5.3-r1, 4.2.2-r1

Upon consideration, we'll no longer be slotting godot (bug
#938658 was a trigger, but been consider undoing this for
a long time either way).

Not *essential* to remove these now given they will not
conflict with SLOT=0, but would rather cleanup at same
time to avoid confusion. As a bonus, it drops consumers
of embree:3 wrt bug #938522 and a lot of patches.

Considered keeping the 3.x (even unslotted) given it's still
supported, but release cycle is slow and it issues with new
python/gcc add to the maintenance burden. Been a while since
godot4 been released, so hopefully most users migrated.

Bug: https://bugs.gentoo.org/938522
Bug: https://bugs.gentoo.org/938658
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-games/godot/Manifest                        |   2 -
 dev-games/godot/files/godot-3.5-musl.patch      |   9 -
 dev-games/godot/files/godot-3.5-scons.patch     |  74 --------
 dev-games/godot/files/godot-3.5.3-gcc13.patch   |   9 -
 dev-games/godot/files/godot-4.0_rc2-musl.patch  |  21 ---
 dev-games/godot/files/godot-4.0_rc3-scons.patch |  15 --
 dev-games/godot/godot-3.5.3-r1.ebuild           | 218 ----------------------
 dev-games/godot/godot-4.2.2-r1.ebuild           | 238 ------------------------
 dev-games/godot/metadata.xml                    |   2 -
 9 files changed, 588 deletions(-)

diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest
index 8d87ae02a38c..5a5473e4a4b7 100644
--- a/dev-games/godot/Manifest
+++ b/dev-games/godot/Manifest
@@ -1,3 +1 @@
-DIST godot-3.5.3-stable.tar.xz 24072964 BLAKE2B a4c03328e3aa77d741a1c642cfd645de04084f2852e865757fc8960c4919d3b8b8571e772f44004901fdd80a967e8e21bd8c6be8b36263db7afae787dcbd3ed6 SHA512 4c008af5bb7c298d465edbe03f6ebc642f5bbbb0a4254e99d7a7a88919e1f9424b98c5dff95a55ae68d4e2e5878c7c0bb7d13a66869cb632ecb51a913f865155
-DIST godot-4.2.2-stable.tar.xz 26768552 BLAKE2B e4a6040d7a1f63f841f56d74bb7b04e58f2fa26ddd8850df7f93937deb10c4af925ea2059c174d9f457222e0cddfe477498e3462bfaaf69ec8e57de8f2d43c83 SHA512 4a623063be5488957e1ede7e45b6865f6cd61bc954ac311587b9e97bed848a4083c4a7225d0a81bca285d854d33be9b07d7d0c21465c9f25b90e92b08090429c
 DIST godot-4.3-stable.tar.xz 29140004 BLAKE2B 0698cf6c8ba853d094c39b461efe998c57a7de0609701e46cca48b17c29eca3da29c8644aa356cff330d1d3ae88048afc2148f5389d57cdfa1dd26784e6d9a44 SHA512 6e1eaba5c3447527ce60d623f7f81cbd90633a5a1ad4c6dd469055a43c8fb9b4807fcd3bae25331294596c2418eb6c0c9db0871c3e1405ddcc7d84e29c39a45b

diff --git a/dev-games/godot/files/godot-3.5-musl.patch b/dev-games/godot/files/godot-3.5-musl.patch
deleted file mode 100644
index 0738b035480f..000000000000
--- a/dev-games/godot/files/godot-3.5-musl.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-crash handler requires glibc or libexecinfo (not packaged),
-and is always enabled if build the editor (release_debug)
---- a/platform/x11/crash_handler_x11.cpp
-+++ b/platform/x11/crash_handler_x11.cpp
-@@ -38,3 +38,3 @@
- 
--#ifdef DEBUG_ENABLED
-+#if defined(DEBUG_ENABLED) && defined(__GLIBC__)
- #define CRASH_HANDLER_ENABLED 1

diff --git a/dev-games/godot/files/godot-3.5-scons.patch b/dev-games/godot/files/godot-3.5-scons.patch
deleted file mode 100644
index b8ed7f50311d..000000000000
--- a/dev-games/godot/files/godot-3.5-scons.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-* add option to respect AR
- (respecting PKG_CONFIG is handled in the ebuild)
-* handle recastnavigation unbundling
-* remove unnecessary opusfile
-* remove unnecessary -no-pie
-* remove -pipe from LDFLAGS, may "possibly" be relevant to:
-  https://bugs.gentoo.org/861689
-  https://github.com/godotengine/godot/commit/f035e784
---- a/SConstruct
-+++ b/SConstruct
-@@ -192,4 +192,5 @@
- opts.Add("CXX", "C++ compiler")
- opts.Add("CC", "C compiler")
-+opts.Add("AR", "Archiver")
- opts.Add("LINK", "Linker")
- opts.Add("CCFLAGS", "Custom flags for both the C and C++ compilers")
---- a/platform/server/detect.py
-+++ b/platform/server/detect.py
-@@ -135,5 +135,4 @@
- 
-     env.Append(CCFLAGS=["-pipe"])
--    env.Append(LINKFLAGS=["-pipe"])
- 
-     ## Dependencies
-@@ -178,4 +177,7 @@
-         env.ParseConfig("pkg-config libenet --cflags --libs")
- 
-+    if not env["builtin_recast"]:
-+        env.ParseConfig("pkg-config recastnavigation --cflags --libs")
-+
-     if not env["builtin_squish"]:
-         env.ParseConfig("pkg-config libsquish --cflags --libs")
-@@ -205,5 +207,5 @@
-     if not env["builtin_opus"]:
-         env["builtin_libogg"] = False  # Needed to link against system opus
--        env.ParseConfig("pkg-config opus opusfile --cflags --libs")
-+        env.ParseConfig("pkg-config opus --cflags --libs")
- 
-     if not env["builtin_libogg"]:
---- a/platform/x11/detect.py
-+++ b/platform/x11/detect.py
-@@ -232,17 +232,5 @@
- 
-     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
-@@ -298,4 +286,7 @@
-         env.ParseConfig("pkg-config libenet --cflags --libs")
- 
-+    if not env["builtin_recast"]:
-+        env.ParseConfig("pkg-config recastnavigation --cflags --libs")
-+
-     if not env["builtin_squish"]:
-         env.ParseConfig("pkg-config libsquish --cflags --libs")
-@@ -325,5 +316,5 @@
-     if not env["builtin_opus"]:
-         env["builtin_libogg"] = False  # Needed to link against system opus
--        env.ParseConfig("pkg-config opus opusfile --cflags --libs")
-+        env.ParseConfig("pkg-config opus --cflags --libs")
- 
-     if not env["builtin_libogg"]:

diff --git a/dev-games/godot/files/godot-3.5.3-gcc13.patch b/dev-games/godot/files/godot-3.5.3-gcc13.patch
deleted file mode 100644
index dd681b87dce5..000000000000
--- a/dev-games/godot/files/godot-3.5.3-gcc13.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-Issues seem(?) to only trigger when gcc13 is combined with musl.
-
-https://bugs.gentoo.org/906363
---- a/modules/fbx/fbx_parser/FBXCommon.h
-+++ b/modules/fbx/fbx_parser/FBXCommon.h
-@@ -78,2 +78,3 @@
- 
-+#include <cstdint>
- #include <string>

diff --git a/dev-games/godot/files/godot-4.0_rc2-musl.patch b/dev-games/godot/files/godot-4.0_rc2-musl.patch
deleted file mode 100644
index 3b9a458ac7d4..000000000000
--- a/dev-games/godot/files/godot-4.0_rc2-musl.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Crash handler requires glibc or libexecinfo (not packaged) and is enabled
-if build the editor (implies debug), but can be easily turned off.
-https://bugs.gentoo.org/894762
---- a/platform/linuxbsd/crash_handler_linuxbsd.cpp
-+++ b/platform/linuxbsd/crash_handler_linuxbsd.cpp
-@@ -38,3 +38,3 @@
- 
--#ifdef DEBUG_ENABLED
-+#if defined(DEBUG_ENABLED) && defined(__GLIBC__)
- #define CRASH_HANDLER_ENABLED 1
---- a/platform/linuxbsd/detect.py
-+++ b/platform/linuxbsd/detect.py
-@@ -329,8 +329,2 @@
- 
--    if not env["execinfo"] and platform.libc_ver()[0] != "glibc":
--        # The default crash handler depends on glibc, so if the host uses
--        # a different libc (BSD libc, musl), fall back to libexecinfo.
--        print("Note: Using `execinfo=yes` for the crash handler as required on platforms where glibc is missing.")
--        env["execinfo"] = True
--
-     if env["execinfo"]:

diff --git a/dev-games/godot/files/godot-4.0_rc3-scons.patch b/dev-games/godot/files/godot-4.0_rc3-scons.patch
deleted file mode 100644
index 682e1510ac94..000000000000
--- a/dev-games/godot/files/godot-4.0_rc3-scons.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/SConstruct
-+++ b/SConstruct
-@@ -241,2 +241,3 @@
- opts.Add("CC", "C compiler")
-+opts.Add("AR", "Archiver")
- opts.Add("LINK", "Linker")
-@@ -569,8 +570,2 @@
-                 env.Append(CCFLAGS=["-g2"])
--        else:
--            if methods.using_clang(env) and not methods.is_vanilla_clang(env):
--                # Apple Clang, its linker doesn't like -s.
--                env.Append(LINKFLAGS=["-Wl,-S", "-Wl,-x", "-Wl,-dead_strip"])
--            else:
--                env.Append(LINKFLAGS=["-s"])
- 

diff --git a/dev-games/godot/godot-3.5.3-r1.ebuild b/dev-games/godot/godot-3.5.3-r1.ebuild
deleted file mode 100644
index 9a41621d39b5..000000000000
--- a/dev-games/godot/godot-3.5.3-r1.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit desktop python-any-r1 scons-utils shell-completion toolchain-funcs xdg
-
-DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
-HOMEPAGE="https://godotengine.org/"
-SRC_URI="
-	https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz
-	https://github.com/godotengine/godot/releases/download/${PV}-stable/${P}-stable.tar.xz
-"
-S="${WORKDIR}/${P}-stable"
-
-LICENSE="
-	MIT
-	Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
-	gui? ( CC-BY-4.0 ) tools? ( BitstreamVera OFL-1.1 )
-"
-SLOT="3"
-KEYWORDS="~amd64"
-# Enable roughly same as upstream by default so it works as expected,
-# except raycast (tools-only heavy dependency), and deprecated.
-IUSE="
-	+bullet debug deprecated +gui pulseaudio raycast +runner +theora
-	+tools +udev +upnp +webm +webp
-"
-
-# dlopen: alsa-lib,pulseaudio,udev
-RDEPEND="
-	app-arch/zstd:=
-	dev-games/recastnavigation:=
-	dev-libs/libpcre2:=[pcre32]
-	media-libs/alsa-lib
-	media-libs/freetype[brotli]
-	media-libs/libpng:=
-	<net-libs/mbedtls-3:=
-	net-libs/wslay
-	sys-libs/zlib:=
-	bullet? ( sci-physics/bullet:= )
-	gui? (
-		media-libs/libglvnd
-		x11-libs/libX11
-		x11-libs/libXcursor
-		x11-libs/libXext
-		x11-libs/libXi
-		x11-libs/libXinerama
-		x11-libs/libXrandr
-		x11-libs/libXrender
-		tools? ( raycast? ( media-libs/embree:3 ) )
-	)
-	pulseaudio? ( media-libs/libpulse )
-	theora? (
-		media-libs/libogg
-		media-libs/libtheora
-		media-libs/libvorbis
-	)
-	tools? ( app-misc/ca-certificates )
-	udev? ( virtual/udev )
-	webm? (
-		media-libs/libvorbis
-		media-libs/libvpx:=
-		media-libs/opus
-	)
-	webp? ( media-libs/libwebp:= )
-"
-DEPEND="
-	${RDEPEND}
-	gui? ( x11-base/xorg-proto )
-"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-3.5-musl.patch
-	"${FILESDIR}"/${PN}-3.5-scons.patch
-	"${FILESDIR}"/${PN}-3.5.3-gcc13.patch
-)
-
-src_prepare() {
-	default
-
-	# handle slotting
-	sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
-	sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
-	sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
-		-i misc/dist/linux/org.godotengine.Godot.desktop || die
-	sed -e "s/godot/&${SLOT}/g" \
-		-i misc/dist/shell/{godot.bash-completion,godot.fish,_godot.zsh-completion} || die
-
-	sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/{x11,server}/detect.py || die
-
-	# use of builtin_ switches can be messy (see below), delete to be sure
-	local unbundle=(
-		bullet embree freetype libogg libpng libtheora libvorbis libvpx
-		libwebp mbedtls opus pcre2 recastnavigation wslay zlib zstd # miniupnpc
-		# certs: unused by generated header, but scons panics if not found
-		# miniupnpc: check if can re-add on bump, bug #934044
-	)
-	rm -r "${unbundle[@]/#/thirdparty/}" || die
-}
-
-src_compile() {
-	local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
-
-	local esconsargs=(
-		AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
-
-		platform=$(usex gui x11 server)
-		progress=no
-		verbose=yes
-
-		deprecated=$(usex deprecated)
-		#execinfo=$(usex !elibc_glibc) # libexecinfo is not packaged
-		minizip=yes # uses a modified bundled copy
-		pulseaudio=$(usex pulseaudio)
-		udev=$(usex udev)
-
-		system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
-
-		# platform/*/detect.py uses builtin_* switches to check if need
-		# to link with system libraries, but ignores whether the dep is
-		# actually used, so "enable" deleted builtins on disabled deps
-		builtin_bullet=$(usex !bullet)
-		builtin_certs=no
-		builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
-		builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
-		builtin_freetype=no
-		builtin_libogg=yes # unused
-		builtin_libpng=no
-		builtin_libtheora=$(usex !theora)
-		builtin_libvorbis=$(usex !theora $(usex !webm))
-		builtin_libvpx=$(usex !webm)
-		builtin_libwebp=$(usex !webp)
-		builtin_mbedtls=no
-		builtin_miniupnpc=yes #934044 (for now, should revisit)
-		builtin_opus=$(usex !webm)
-		builtin_pcre2=no
-		builtin_recast=no
-		builtin_rvo2=yes # bundled copy has godot-specific changes
-		builtin_squish=yes # ^ likewise, may not be safe to unbundle
-		builtin_wslay=no
-		builtin_xatlas=yes # not wired for unbundling nor packaged
-		builtin_zlib=no
-		builtin_zstd=no
-		# (more is bundled in third_party/ but they lack builtin_* switches)
-
-		# modules with optional dependencies, "possible" to disable more but
-		# gets messy and breaks all sorts of features (expected enabled)
-		module_bullet_enabled=$(usex bullet)
-		module_mono_enabled=no # unhandled
-		module_ogg_enabled=no # unused
-		module_opus_enabled=no # unused, support is gone and webm uses system's
-		# note raycast is disabled on many arches, see raycast/config.py
-		module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
-		module_theora_enabled=$(usex theora)
-		module_upnp_enabled=$(usex upnp)
-		module_vorbis_enabled=no # unused, non-theora/webm uses stb_vorbis
-		module_webm_enabled=$(usex webm)
-		module_webp_enabled=$(usex webp)
-
-		# let *FLAGS handle these, e.g. can pass -flto as-is
-		debug_symbols=no
-		optimize=none
-		use_lto=no
-		use_static_cpp=no
-	)
-
-	if use runner && use tools; then
-		# build alternate faster + ~60% smaller binary for running
-		# games or servers without game development debug paths
-		escons extra_suffix=runner target=release tools=no "${esconsargs[@]}"
-	fi
-
-	esconsargs+=(
-		# debug: debug for godot itself
-		# release_debug: debug for game development
-		# release: no debugging paths, only available with tools=no
-		target=$(usex debug{,} $(usex tools release_debug release))
-		tools=$(usex tools)
-	)
-
-	escons extra_suffix=main "${esconsargs[@]}"
-}
-
-src_install() {
-	local s=godot${SLOT}
-
-	newbin bin/godot*.main ${s}
-	if use runner && use tools; then
-		newbin bin/godot*.runner ${s}-runner
-	else
-		# always available, revdeps shouldn't depend on [runner]
-		dosym ${s} /usr/bin/${s}-runner
-	fi
-
-	newman misc/dist/linux/godot.6 ${s}.6
-	dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
-
-	if use gui; then
-		newicon icon.svg ${s}.svg
-		newmenu misc/dist/linux/org.godotengine.Godot.desktop \
-			org.godotengine.${s^}.desktop
-
-		insinto /usr/share/metainfo
-		newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
-			org.godotengine.${s^}.appdata.xml
-
-		insinto /usr/share/mime/application
-		newins misc/dist/linux/org.godotengine.Godot.xml \
-			org.godotengine.${s^}.xml
-	fi
-
-	newbashcomp misc/dist/shell/godot.bash-completion ${s}
-	newfishcomp misc/dist/shell/godot.fish ${s}.fish
-	newzshcomp misc/dist/shell/_godot.zsh-completion _${s}
-}

diff --git a/dev-games/godot/godot-4.2.2-r1.ebuild b/dev-games/godot/godot-4.2.2-r1.ebuild
deleted file mode 100644
index d9ea297149f2..000000000000
--- a/dev-games/godot/godot-4.2.2-r1.ebuild
+++ /dev/null
@@ -1,238 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit desktop python-any-r1 flag-o-matic scons-utils
-inherit shell-completion toolchain-funcs xdg
-
-DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
-HOMEPAGE="https://godotengine.org/"
-SRC_URI="
-	https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz
-	https://github.com/godotengine/godot/releases/download/${PV}-stable/${P}-stable.tar.xz
-"
-S=${WORKDIR}/${P}-stable
-
-LICENSE="
-	MIT
-	Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
-	gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 )
-"
-SLOT="4"
-KEYWORDS="~amd64"
-# Enable roughly same as upstream by default so it works as expected,
-# except raycast (tools-only heavy dependency), and deprecated.
-IUSE="
-	alsa +dbus debug deprecated +fontconfig +gui pulseaudio raycast
-	+runner speech test +theora +tools +udev +upnp +vulkan +webp
-"
-# TODO: tests still need more figuring out
-RESTRICT="test"
-
-# dlopen: libglvnd
-RDEPEND="
-	app-arch/brotli:=
-	app-arch/zstd:=
-	dev-games/recastnavigation:=
-	dev-libs/icu:=
-	dev-libs/libpcre2:=[pcre32]
-	media-libs/freetype[brotli,harfbuzz]
-	media-libs/harfbuzz:=[icu]
-	media-libs/libogg
-	media-libs/libpng:=
-	media-libs/libvorbis
-	<net-libs/mbedtls-3:=
-	net-libs/wslay
-	sys-libs/zlib:=
-	alsa? ( media-libs/alsa-lib )
-	dbus? ( sys-apps/dbus )
-	fontconfig? ( media-libs/fontconfig )
-	gui? (
-		media-libs/libglvnd
-		x11-libs/libX11
-		x11-libs/libXcursor
-		x11-libs/libXext
-		x11-libs/libXi
-		x11-libs/libXinerama
-		x11-libs/libXrandr
-		x11-libs/libXrender
-		x11-libs/libxkbcommon
-		tools? ( raycast? ( media-libs/embree:3 ) )
-		vulkan? ( media-libs/vulkan-loader[X] )
-	)
-	pulseaudio? ( media-libs/libpulse )
-	speech? ( app-accessibility/speech-dispatcher )
-	theora? ( media-libs/libtheora )
-	tools? ( app-misc/ca-certificates )
-	udev? ( virtual/udev )
-	webp? ( media-libs/libwebp:= )
-"
-DEPEND="
-	${RDEPEND}
-	gui? ( x11-base/xorg-proto )
-	tools? ( test? ( dev-cpp/doctest ) )
-"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-4.0_rc2-musl.patch
-	"${FILESDIR}"/${PN}-4.0_rc3-scons.patch
-)
-
-src_prepare() {
-	default
-
-	# handle slotting
-	sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
-	sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
-	sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
-		-i misc/dist/linux/org.godotengine.Godot.desktop || die
-	sed -e "s/godot/&${SLOT}/g" \
-		-i misc/dist/shell/{godot.bash-completion,godot.fish,_godot.zsh-completion} || die
-
-	sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die
-
-	# use of builtin_ switches can be messy (see below), delete to be sure
-	local unbundle=(
-		brotli doctest embree freetype graphite harfbuzz icu4c libogg
-		libpng libtheora libvorbis libwebp linuxbsd_headers mbedtls
-		pcre2 recastnavigation volk wslay zlib zstd
-		# certs: unused by generated header, but scons panics if not found
-		# miniupnpc: check if can re-add on bump, bug #934044
-	)
-	rm -r "${unbundle[@]/#/thirdparty/}" || die
-
-	ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die
-}
-
-src_compile() {
-	local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
-
-	filter-lto #921017
-
-	local esconsargs=(
-		AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
-
-		progress=no
-		verbose=yes
-
-		use_sowrap=no
-
-		alsa=$(usex alsa)
-		dbus=$(usex dbus)
-		deprecated=$(usex deprecated)
-		fontconfig=$(usex fontconfig)
-		opengl3=$(usex gui)
-		pulseaudio=$(usex pulseaudio)
-		speechd=$(usex speech)
-		udev=$(usex udev)
-		use_volk=no # unnecessary when linking directly to libvulkan
-		vulkan=$(usex gui $(usex vulkan))
-		x11=$(usex gui)
-
-		system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
-
-		# platform/*/detect.py uses builtin_* switches to check if need
-		# to link with system libraries, but many ignore whether the dep
-		# is actually used, so "enable" deleted builtins on disabled deps
-		builtin_brotli=no
-		builtin_certs=no
-		builtin_clipper2=yes # not packaged
-		builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
-		builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
-		builtin_freetype=no
-		builtin_glslang=yes #879111 (for now, may revisit if more stable)
-		builtin_graphite=no
-		builtin_harfbuzz=no
-		builtin_icu4c=no
-		builtin_libogg=no
-		builtin_libpng=no
-		builtin_libtheora=$(usex !theora)
-		builtin_libvorbis=no
-		builtin_libwebp=$(usex !webp)
-		builtin_mbedtls=no
-		builtin_miniupnpc=yes #934044 (for now, should revisit)
-		builtin_msdfgen=yes # not wired for unbundling nor packaged
-		builtin_openxr=yes # not packaged
-		builtin_pcre2=no
-		builtin_recastnavigation=no
-		builtin_rvo2=yes # bundled copy has godot-specific changes
-		builtin_squish=yes # ^ likewise, may not be safe to unbundle
-		builtin_wslay=no
-		builtin_xatlas=yes # not wired for unbundling nor packaged
-		builtin_zlib=no
-		builtin_zstd=no
-		# (more is bundled in third_party/ but they lack builtin_* switches)
-
-		# modules with optional dependencies, "possible" to disable more but
-		# gets messy and breaks all sorts of features (expected enabled)
-		module_mono_enabled=no # unhandled
-		# note raycast is only enabled on amd64+arm64, see raycast/config.py
-		module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
-		module_theora_enabled=$(usex theora)
-		module_upnp_enabled=$(usex upnp)
-		module_webp_enabled=$(usex webp)
-
-		# let *FLAGS handle these
-		debug_symbols=no
-		lto=none
-		optimize=custom
-		use_static_cpp=no
-	)
-
-	if use runner && use tools; then
-		# build alternate faster + ~60% smaller binary for running
-		# games or servers without game development debug paths
-		escons extra_suffix=runner target=template_release "${esconsargs[@]}"
-	fi
-
-	esconsargs+=(
-		target=$(usex tools editor template_$(usex debug{,} release))
-		dev_build=$(usex debug)
-
-		# harmless but note this bakes in --test in the final binary
-		tests=$(usex tools $(usex test))
-	)
-
-	escons extra_suffix=main "${esconsargs[@]}"
-}
-
-src_test() {
-	xdg_environment_reset
-	bin/godot*.main --headless --test || die
-}
-
-src_install() {
-	local s=godot${SLOT}
-
-	newbin bin/godot*.main ${s}
-	if use runner && use tools; then
-		newbin bin/godot*.runner ${s}-runner
-	else
-		# always available, revdeps shouldn't depend on [runner]
-		dosym ${s} /usr/bin/${s}-runner
-	fi
-
-	newman misc/dist/linux/godot.6 ${s}.6
-	dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
-
-	if use gui; then
-		newicon icon.svg ${s}.svg
-		newmenu misc/dist/linux/org.godotengine.Godot.desktop \
-			org.godotengine.${s^}.desktop
-
-		insinto /usr/share/metainfo
-		newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
-			org.godotengine.${s^}.appdata.xml
-
-		insinto /usr/share/mime/application
-		newins misc/dist/linux/org.godotengine.Godot.xml \
-			org.godotengine.${s^}.xml
-	fi
-
-	newbashcomp misc/dist/shell/godot.bash-completion ${s}
-	newfishcomp misc/dist/shell/godot.fish ${s}.fish
-	newzshcomp misc/dist/shell/_godot.zsh-completion _${s}
-}

diff --git a/dev-games/godot/metadata.xml b/dev-games/godot/metadata.xml
index 71f596fee4e9..ef5e4ba49472 100644
--- a/dev-games/godot/metadata.xml
+++ b/dev-games/godot/metadata.xml
@@ -20,12 +20,10 @@
 		and consoles.
 	</longdescription>
 	<use>
-		<flag name="bullet">Enable the <pkg>sci-physics/bullet</pkg> module</flag>
 		<flag name="deprecated">Enable support for deprecated features</flag>
 		<flag name="raycast">Enable the raycast Editor module using <pkg>media-libs/embree</pkg></flag>
 		<flag name="runner">Build an additional binary optimized for running games (only relevant with USE=tools)</flag>
 		<flag name="tools">Enable the Godot Editor for game development</flag>
-		<flag name="webm">Enable the WebM module</flag>
 	</use>
 	<upstream>
 		<doc>https://docs.godotengine.org/</doc>


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/, dev-games/godot/files/
@ 2023-10-04 14:25 Ionen Wolkens
  0 siblings, 0 replies; 11+ messages in thread
From: Ionen Wolkens @ 2023-10-04 14:25 UTC (permalink / raw
  To: gentoo-commits

commit:     8eb4d6cad4c9a6d7c2ab009637d811226cfa7392
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Oct  4 12:36:22 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Oct  4 14:24:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8eb4d6ca

dev-games/godot: drop 3.5.2

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-games/godot/Manifest                      |   1 -
 dev-games/godot/files/godot-3.5.2-gcc13.patch |  15 --
 dev-games/godot/godot-3.5.2.ebuild            | 217 --------------------------
 3 files changed, 233 deletions(-)

diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest
index 8d6e161ab361..fdf5f2f649dd 100644
--- a/dev-games/godot/Manifest
+++ b/dev-games/godot/Manifest
@@ -1,4 +1,3 @@
-DIST godot-3.5.2-stable.tar.xz 24047432 BLAKE2B a4d600cb174b2f79cc91c583b1052db2e7e2921003ffd5a307a2484af9cc050b600e763b6016ba2df043ba5e492f0bdd13c207fd3a3d794b6602f7c574093cb0 SHA512 e9f3c8b23cd69422639fe22948fb1f5f2071dff6e013fee3c08d6d3c1f39de4dfc252d32eb395c847021c9bbc1b2fa320500140ff3e684bf00530889ba48a181
 DIST godot-3.5.3-stable.tar.xz 24072964 BLAKE2B a4c03328e3aa77d741a1c642cfd645de04084f2852e865757fc8960c4919d3b8b8571e772f44004901fdd80a967e8e21bd8c6be8b36263db7afae787dcbd3ed6 SHA512 4c008af5bb7c298d465edbe03f6ebc642f5bbbb0a4254e99d7a7a88919e1f9424b98c5dff95a55ae68d4e2e5878c7c0bb7d13a66869cb632ecb51a913f865155
 DIST godot-4.0.4-stable.tar.xz 30267060 BLAKE2B 42f5f0c89edb96eb6f36c54229671f233ed0a49a769361195f9aaf807b45fe3968aeeaad204fc07e200114d852e4651f9dc8eb137c4f3aca7b8e8e1203ebcdc9 SHA512 4dadc123995d7262ffa6c5002d08611038957c59a8bd742284b9b62577de6b7182aad807db7a231180a355df0f25d10babdc914faf9287ed401152d98762bb5f
 DIST godot-4.1.1-stable.tar.xz 30681136 BLAKE2B 18e6dae0428812493ecdd8d76cc99c2264873707d4abac0146a1d9b9cbffe2f678c346951a714d0d211fd380b433f910cc952e1720a2c4933febeb7d64283369 SHA512 9fc4bdff2ef3f5ad173514709591941f1dff32dd7cc54224a85691b34b6a5f1d01addc9b4f8d996bc6f774cee5c722181122a39b498b23e48e8d70629ff8ff0b

diff --git a/dev-games/godot/files/godot-3.5.2-gcc13.patch b/dev-games/godot/files/godot-3.5.2-gcc13.patch
deleted file mode 100644
index 789c78415bcd..000000000000
--- a/dev-games/godot/files/godot-3.5.2-gcc13.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Issues seem(?) to only trigger when gcc13 is combined with musl.
-
-https://bugs.gentoo.org/906363
---- a/modules/fbx/fbx_parser/FBXCommon.h
-+++ b/modules/fbx/fbx_parser/FBXCommon.h
-@@ -78,2 +78,3 @@
- 
-+#include <cstdint>
- #include <string>
---- a/thirdparty/vhacd/inc/vhacdManifoldMesh.h
-+++ b/thirdparty/vhacd/inc/vhacdManifoldMesh.h
-@@ -17,2 +17,3 @@
- #define VHACD_MANIFOLD_MESH_H
-+#include <cstdint>
- #include "vhacdCircularList.h"

diff --git a/dev-games/godot/godot-3.5.2.ebuild b/dev-games/godot/godot-3.5.2.ebuild
deleted file mode 100644
index 445f05a3f238..000000000000
--- a/dev-games/godot/godot-3.5.2.ebuild
+++ /dev/null
@@ -1,217 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
-
-DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
-HOMEPAGE="https://godotengine.org/"
-SRC_URI="
-	https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz
-	https://github.com/godotengine/godot/releases/download/${PV}-stable/${P}-stable.tar.xz"
-S="${WORKDIR}/${P}-stable"
-
-LICENSE="
-	MIT
-	Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
-	gui? ( CC-BY-4.0 ) tools? ( BitstreamVera OFL-1.1 )"
-SLOT="3"
-KEYWORDS="~amd64"
-# Enable roughly same as upstream by default so it works as expected,
-# except raycast (tools-only heavy dependency), and deprecated.
-IUSE="
-	+bullet debug deprecated +gui pulseaudio raycast +runner +theora
-	+tools +udev +upnp +webm +webp"
-
-# dlopen: alsa-lib,pulseaudio,udev
-RDEPEND="
-	app-arch/zstd:=
-	dev-games/recastnavigation:=
-	dev-libs/libpcre2:=[pcre32]
-	media-libs/alsa-lib
-	media-libs/freetype[brotli]
-	media-libs/libpng:=
-	<net-libs/mbedtls-3:=
-	net-libs/wslay
-	sys-libs/zlib:=
-	bullet? ( sci-physics/bullet:= )
-	gui? (
-		media-libs/libglvnd
-		x11-libs/libX11
-		x11-libs/libXcursor
-		x11-libs/libXext
-		x11-libs/libXi
-		x11-libs/libXinerama
-		x11-libs/libXrandr
-		x11-libs/libXrender
-		tools? ( raycast? ( media-libs/embree:3 ) )
-	)
-	pulseaudio? ( media-libs/libpulse )
-	theora? (
-		media-libs/libogg
-		media-libs/libtheora
-		media-libs/libvorbis
-	)
-	tools? ( app-misc/ca-certificates )
-	udev? ( virtual/udev )
-	upnp? ( net-libs/miniupnpc:= )
-	webm? (
-		media-libs/libvorbis
-		media-libs/libvpx:=
-		media-libs/opus
-	)
-	webp? ( media-libs/libwebp:= )"
-DEPEND="
-	${RDEPEND}
-	gui? ( x11-base/xorg-proto )"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-3.5-musl.patch
-	"${FILESDIR}"/${PN}-3.5-scons.patch
-	"${FILESDIR}"/${PN}-3.5.2-gcc13.patch
-)
-
-src_prepare() {
-	default
-
-	sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
-	sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
-	sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
-		-i misc/dist/linux/org.godotengine.Godot.desktop || die
-
-	sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/{x11,server}/detect.py || die
-
-	# use of builtin_ switches can be messy (see below), delete to be sure
-	local unbundle=(
-		bullet embree freetype libogg libpng libtheora libvorbis libvpx
-		libwebp mbedtls miniupnpc opus pcre2 recastnavigation wslay zlib zstd
-		# certs: unused by generated header, but scons panics if not found
-	)
-	rm -r "${unbundle[@]/#/thirdparty/}" || die
-}
-
-src_compile() {
-	local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
-
-	local esconsargs=(
-		AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
-
-		platform=$(usex gui x11 server)
-		progress=no
-		verbose=yes
-
-		deprecated=$(usex deprecated)
-		#execinfo=$(usex !elibc_glibc) # libexecinfo is not packaged
-		minizip=yes # uses a modified bundled copy
-		pulseaudio=$(usex pulseaudio)
-		udev=$(usex udev)
-
-		system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
-
-		# platform/*/detect.py uses builtin_* switches to check if need
-		# to link with system libraries, but ignores whether the dep is
-		# actually used, so "enable" deleted builtins on disabled deps
-		builtin_bullet=$(usex !bullet)
-		builtin_certs=no
-		builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
-		builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
-		builtin_freetype=no
-		builtin_libogg=yes # unused
-		builtin_libpng=no
-		builtin_libtheora=$(usex !theora)
-		builtin_libvorbis=$(usex !theora $(usex !webm))
-		builtin_libvpx=$(usex !webm)
-		builtin_libwebp=$(usex !webp)
-		builtin_mbedtls=no
-		builtin_miniupnpc=$(usex !upnp)
-		builtin_opus=$(usex !webm)
-		builtin_pcre2=no
-		builtin_recast=no
-		builtin_rvo2=yes # bundled copy has godot-specific changes
-		builtin_squish=yes # ^ likewise, may not be safe to unbundle
-		builtin_wslay=no
-		builtin_xatlas=yes # not wired for unbundling nor packaged
-		builtin_zlib=no
-		builtin_zstd=no
-		# (more is bundled in third_party/ but they lack builtin_* switches)
-
-		# modules with optional dependencies, "possible" to disable more but
-		# gets messy and breaks all sorts of features (expected enabled)
-		module_bullet_enabled=$(usex bullet)
-		module_mono_enabled=no # unhandled
-		module_ogg_enabled=no # unused
-		module_opus_enabled=no # unused, support is gone and webm uses system's
-		# note raycast is disabled on many arches, see raycast/config.py
-		module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
-		module_theora_enabled=$(usex theora)
-		module_upnp_enabled=$(usex upnp)
-		module_vorbis_enabled=no # unused, non-theora/webm uses stb_vorbis
-		module_webm_enabled=$(usex webm)
-		module_webp_enabled=$(usex webp)
-
-		# let *FLAGS handle these, e.g. can pass -flto as-is
-		debug_symbols=no
-		optimize=none
-		use_lto=no
-		use_static_cpp=no
-	)
-
-	if use runner && use tools; then
-		# build alternate faster + ~60% smaller binary for running
-		# games or servers without game development debug paths
-		escons extra_suffix=runner target=release tools=no "${esconsargs[@]}"
-	fi
-
-	esconsargs+=(
-		# debug: debug for godot itself
-		# release_debug: debug for game development
-		# release: no debugging paths, only available with tools=no
-		target=$(usex debug{,} $(usex tools release_debug release))
-		tools=$(usex tools)
-	)
-
-	escons extra_suffix=main "${esconsargs[@]}"
-}
-
-src_install() {
-	local s=godot${SLOT}
-
-	newbin bin/godot*.main ${s}
-	if use runner && use tools; then
-		newbin bin/godot*.runner ${s}-runner
-	else
-		# always available, revdeps shouldn't depend on [runner]
-		dosym ${s} /usr/bin/${s}-runner
-	fi
-
-	newman misc/dist/linux/godot.6 ${s}.6
-	dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
-
-	if use gui; then
-		newicon icon.svg ${s}.svg
-		newmenu misc/dist/linux/org.godotengine.Godot.desktop \
-			org.godotengine.${s^}.desktop
-
-		insinto /usr/share/metainfo
-		newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
-			org.godotengine.${s^}.appdata.xml
-
-		insinto /usr/share/mime/application
-		newins misc/dist/linux/org.godotengine.Godot.xml \
-			org.godotengine.${s^}.xml
-	fi
-
-	newbashcomp misc/dist/shell/godot.bash-completion ${s}
-	bashcomp_alias ${s}{,-runner}
-
-	insinto /usr/share/fish/vendor_completions.d
-	newins misc/dist/shell/godot.fish ${s}.fish
-	dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
-
-	insinto /usr/share/zsh/site-functions
-	newins misc/dist/shell/_godot.zsh-completion _${s}
-	dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
-}


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/, dev-games/godot/files/
@ 2023-08-03 11:58 Ionen Wolkens
  0 siblings, 0 replies; 11+ messages in thread
From: Ionen Wolkens @ 2023-08-03 11:58 UTC (permalink / raw
  To: gentoo-commits

commit:     386daf45dcce6b40ce6bfbc1ac1fa8b90f677084
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  3 10:36:06 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Aug  3 11:58:37 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=386daf45

dev-games/godot: drop 4.0.3, 4.1

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-games/godot/Manifest                           |   2 -
 dev-games/godot/files/godot-4.0.3-gcc13.patch      |   9 -
 .../godot/files/godot-4.1-xkb-no-sowrap.patch      |  77 -------
 dev-games/godot/godot-4.0.3.ebuild                 | 232 ---------------------
 dev-games/godot/godot-4.1.ebuild                   | 232 ---------------------
 5 files changed, 552 deletions(-)

diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest
index 84dc9b9a6da8..0aca862b9003 100644
--- a/dev-games/godot/Manifest
+++ b/dev-games/godot/Manifest
@@ -1,5 +1,3 @@
 DIST godot-3.5.2-stable.tar.xz 24047432 BLAKE2B a4d600cb174b2f79cc91c583b1052db2e7e2921003ffd5a307a2484af9cc050b600e763b6016ba2df043ba5e492f0bdd13c207fd3a3d794b6602f7c574093cb0 SHA512 e9f3c8b23cd69422639fe22948fb1f5f2071dff6e013fee3c08d6d3c1f39de4dfc252d32eb395c847021c9bbc1b2fa320500140ff3e684bf00530889ba48a181
-DIST godot-4.0.3-stable.tar.xz 30203636 BLAKE2B bfdf2f3a349d541039639fbce9d9d10ba6bfc200ae9442900709b1cb3d3c40dcf68b3de10d9ebe7211a1dfc380a5cf8954c5ed1d9a510afaeec8cee2dc4e9123 SHA512 185c3caf99dbfeffc83fa8298c801121ee58c4c6d3854127aeb3cb2128ed08ea1925229b90f08a79e3ea5e674725fe62e219226a58a17789c0e72ae8f27ed576
 DIST godot-4.0.4-stable.tar.xz 30267060 BLAKE2B 42f5f0c89edb96eb6f36c54229671f233ed0a49a769361195f9aaf807b45fe3968aeeaad204fc07e200114d852e4651f9dc8eb137c4f3aca7b8e8e1203ebcdc9 SHA512 4dadc123995d7262ffa6c5002d08611038957c59a8bd742284b9b62577de6b7182aad807db7a231180a355df0f25d10babdc914faf9287ed401152d98762bb5f
-DIST godot-4.1-stable.tar.xz 30679684 BLAKE2B dc088aa1496f9acd77ffeb2d35f1e0c71521e6cad4db8301626f1eb1aa9a147bc77e573ec82f84f05f38edcc2962991f45c822da9013797865ac0fd8669028ee SHA512 561473924fdfcc97f32ecdeedc3548059acf8d53701b17074ac5f880af3c95f60dbbcc594e7a9c919e4aa1067b3d362448fce2cfcfe76fe13fe63ad29a7c3bb6
 DIST godot-4.1.1-stable.tar.xz 30681136 BLAKE2B 18e6dae0428812493ecdd8d76cc99c2264873707d4abac0146a1d9b9cbffe2f678c346951a714d0d211fd380b433f910cc952e1720a2c4933febeb7d64283369 SHA512 9fc4bdff2ef3f5ad173514709591941f1dff32dd7cc54224a85691b34b6a5f1d01addc9b4f8d996bc6f774cee5c722181122a39b498b23e48e8d70629ff8ff0b

diff --git a/dev-games/godot/files/godot-4.0.3-gcc13.patch b/dev-games/godot/files/godot-4.0.3-gcc13.patch
deleted file mode 100644
index 145303c7ebd5..000000000000
--- a/dev-games/godot/files/godot-4.0.3-gcc13.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-Issues seem(?) to only trigger when gcc13 is combined with musl.
-
-https://bugs.gentoo.org/906363
---- a/thirdparty/vhacd/inc/vhacdManifoldMesh.h
-+++ b/thirdparty/vhacd/inc/vhacdManifoldMesh.h
-@@ -17,2 +17,3 @@
- #define VHACD_MANIFOLD_MESH_H
-+#include <cstdint>
- #include "vhacdCircularList.h"

diff --git a/dev-games/godot/files/godot-4.1-xkb-no-sowrap.patch b/dev-games/godot/files/godot-4.1-xkb-no-sowrap.patch
deleted file mode 100644
index c4643b332a37..000000000000
--- a/dev-games/godot/files/godot-4.1-xkb-no-sowrap.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-https://github.com/godotengine/godot/pull/79097
-From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= <rverschelde@gmail.com>
-Date: Thu, 6 Jul 2023 14:05:28 +0200
-Subject: [PATCH] Linux: Fix build with `use_sowrap=no` and various
- warnings/errors
-
---- a/platform/linuxbsd/joypad_linux.cpp
-+++ b/platform/linuxbsd/joypad_linux.cpp
-@@ -98,19 +98,20 @@ static bool detect_sandbox() {
- 
- JoypadLinux::JoypadLinux(Input *in) {
- #ifdef UDEV_ENABLED
--#ifdef SOWRAP_ENABLED
--#ifdef DEBUG_ENABLED
--	int dylibloader_verbose = 1;
--#else
--	int dylibloader_verbose = 0;
--#endif
- 	if (detect_sandbox()) {
- 		// Linux binaries in sandboxes / containers need special handling because
- 		// libudev doesn't work there. So we need to fallback to manual parsing
- 		// of /dev/input in such case.
- 		use_udev = false;
- 		print_verbose("JoypadLinux: udev enabled, but detected incompatible sandboxed mode. Falling back to /dev/input to detect joypads.");
--	} else {
-+	}
-+#ifdef SOWRAP_ENABLED
-+	else {
-+#ifdef DEBUG_ENABLED
-+		int dylibloader_verbose = 1;
-+#else
-+		int dylibloader_verbose = 0;
-+#endif
- 		use_udev = initialize_libudev(dylibloader_verbose) == 0;
- 		if (use_udev) {
- 			if (!udev_new || !udev_unref || !udev_enumerate_new || !udev_enumerate_add_match_subsystem || !udev_enumerate_scan_devices || !udev_enumerate_get_list_entry || !udev_list_entry_get_next || !udev_list_entry_get_name || !udev_device_new_from_syspath || !udev_device_get_devnode || !udev_device_get_action || !udev_device_unref || !udev_enumerate_unref || !udev_monitor_new_from_netlink || !udev_monitor_filter_add_match_subsystem_devtype || !udev_monitor_enable_receiving || !udev_monitor_get_fd || !udev_monitor_receive_device || !udev_monitor_unref) {
-@@ -124,10 +125,11 @@ JoypadLinux::JoypadLinux(Input *in) {
- 			print_verbose("JoypadLinux: udev enabled, but couldn't be loaded. Falling back to /dev/input to detect joypads.");
- 		}
- 	}
--#endif
-+#endif // SOWRAP_ENABLED
- #else
- 	print_verbose("JoypadLinux: udev disabled, parsing /dev/input to detect joypads.");
--#endif
-+#endif // UDEV_ENABLED
-+
- 	input = in;
- 	monitor_joypads_thread.start(monitor_joypads_thread_func, this);
- 	joypad_events_thread.start(joypad_events_thread_func, this);
---- a/platform/linuxbsd/x11/display_server_x11.cpp
-+++ b/platform/linuxbsd/x11/display_server_x11.cpp
-@@ -5449,7 +5449,7 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
- 	}
- #else
- #ifdef XKB_ENABLED
--	xkb_loaded = true;
-+	bool xkb_loaded = true;
- #endif
- #endif
- 
-@@ -5476,6 +5476,7 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
- 
- 	r_error = OK;
- 
-+#ifdef SOWRAP_ENABLED
- 	{
- 		if (!XcursorImageCreate || !XcursorImageLoadCursor || !XcursorImageDestroy || !XcursorGetDefaultSize || !XcursorGetTheme || !XcursorLibraryLoadImage) {
- 			// There's no API to check version, check if functions are available instead.
-@@ -5484,6 +5485,7 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
- 			return;
- 		}
- 	}
-+#endif
- 
- 	for (int i = 0; i < CURSOR_MAX; i++) {
- 		cursors[i] = None;

diff --git a/dev-games/godot/godot-4.0.3.ebuild b/dev-games/godot/godot-4.0.3.ebuild
deleted file mode 100644
index b1544129a51b..000000000000
--- a/dev-games/godot/godot-4.0.3.ebuild
+++ /dev/null
@@ -1,232 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
-
-DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
-HOMEPAGE="https://godotengine.org/"
-SRC_URI="
-	https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz
-	https://github.com/godotengine/godot/releases/download/${PV}-stable/${P}-stable.tar.xz"
-S="${WORKDIR}/${P}-stable"
-
-LICENSE="
-	MIT
-	Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
-	gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 )"
-SLOT="4"
-KEYWORDS="~amd64"
-# Enable roughly same as upstream by default so it works as expected,
-# except raycast (tools-only heavy dependency), and deprecated.
-IUSE="
-	alsa +dbus debug deprecated +fontconfig +gui pulseaudio raycast
-	+runner speech test +theora +tools +udev +upnp +vulkan +webp"
-# TODO: tests still need more figuring out
-RESTRICT="test"
-
-# dlopen: libglvnd
-RDEPEND="
-	app-arch/zstd:=
-	dev-games/recastnavigation:=
-	dev-libs/icu:=
-	dev-libs/libpcre2:=[pcre32]
-	media-libs/freetype[brotli,harfbuzz]
-	media-libs/harfbuzz:=[icu]
-	media-libs/libogg
-	media-libs/libpng:=
-	media-libs/libvorbis
-	<net-libs/mbedtls-3:=
-	net-libs/wslay
-	sys-libs/zlib:=
-	alsa? ( media-libs/alsa-lib )
-	dbus? ( sys-apps/dbus )
-	fontconfig? ( media-libs/fontconfig )
-	gui? (
-		media-libs/libglvnd
-		x11-libs/libX11
-		x11-libs/libXcursor
-		x11-libs/libXext
-		x11-libs/libXi
-		x11-libs/libXinerama
-		x11-libs/libXrandr
-		x11-libs/libXrender
-		x11-libs/libxkbcommon
-		tools? ( raycast? ( media-libs/embree:3 ) )
-		vulkan? ( media-libs/vulkan-loader[X] )
-	)
-	pulseaudio? ( media-libs/libpulse )
-	speech? ( app-accessibility/speech-dispatcher )
-	theora? ( media-libs/libtheora )
-	tools? ( app-misc/ca-certificates )
-	udev? ( virtual/udev )
-	upnp? ( net-libs/miniupnpc:= )
-	webp? ( media-libs/libwebp:= )"
-DEPEND="
-	${RDEPEND}
-	gui? ( x11-base/xorg-proto )
-	tools? ( test? ( dev-cpp/doctest ) )"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-4.0_beta3-headless-header.patch
-	"${FILESDIR}"/${PN}-4.0_rc2-musl.patch
-	"${FILESDIR}"/${PN}-4.0_rc3-scons.patch
-	"${FILESDIR}"/${PN}-4.0.3-gcc13.patch
-)
-
-src_prepare() {
-	default
-
-	sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
-	sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
-	sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
-		-i misc/dist/linux/org.godotengine.Godot.desktop || die
-
-	sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die
-
-	# use of builtin_ switches can be messy (see below), delete to be sure
-	local unbundle=(
-		doctest embree freetype graphite harfbuzz icu4c libogg
-		libpng libtheora libvorbis libwebp linuxbsd_headers mbedtls
-		miniupnpc pcre2 recastnavigation volk wslay zlib zstd
-		# certs: unused by generated header, but scons panics if not found
-	)
-	rm -r "${unbundle[@]/#/thirdparty/}" || die
-
-	ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die
-}
-
-src_compile() {
-	local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
-
-	local esconsargs=(
-		AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
-
-		progress=no
-		verbose=yes
-
-		use_sowrap=no
-
-		alsa=$(usex alsa)
-		dbus=$(usex dbus)
-		deprecated=$(usex deprecated)
-		fontconfig=$(usex fontconfig)
-		opengl3=$(usex gui)
-		pulseaudio=$(usex pulseaudio)
-		speechd=$(usex speech)
-		udev=$(usex udev)
-		use_volk=no # unnecessary when linking directly to libvulkan
-		vulkan=$(usex gui $(usex vulkan))
-		x11=$(usex gui)
-
-		system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
-
-		# platform/*/detect.py uses builtin_* switches to check if need
-		# to link with system libraries, but ignores whether the dep is
-		# actually used, so "enable" deleted builtins on disabled deps
-		builtin_certs=no
-		builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
-		builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
-		builtin_freetype=no
-		builtin_glslang=yes #879111 (for now, may revisit if more stable)
-		builtin_graphite=no
-		builtin_harfbuzz=no
-		builtin_icu4c=no
-		builtin_libogg=no
-		builtin_libpng=no
-		builtin_libtheora=$(usex !theora)
-		builtin_libvorbis=no
-		builtin_libwebp=$(usex !webp)
-		builtin_mbedtls=no
-		builtin_miniupnpc=$(usex !upnp)
-		builtin_msdfgen=yes # not wired for unbundling nor packaged
-		builtin_pcre2=no
-		builtin_recastnavigation=no
-		builtin_rvo2=yes # bundled copy has godot-specific changes
-		builtin_squish=yes # ^ likewise, may not be safe to unbundle
-		builtin_wslay=no
-		builtin_xatlas=yes # not wired for unbundling nor packaged
-		builtin_zlib=no
-		builtin_zstd=no
-		# (more is bundled in third_party/ but they lack builtin_* switches)
-
-		# modules with optional dependencies, "possible" to disable more but
-		# gets messy and breaks all sorts of features (expected enabled)
-		module_mono_enabled=no # unhandled
-		# note raycast is only enabled on amd64+arm64, see raycast/config.py
-		module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
-		module_theora_enabled=$(usex theora)
-		module_upnp_enabled=$(usex upnp)
-		module_webp_enabled=$(usex webp)
-
-		# let *FLAGS handle these, e.g. can pass -flto as-is
-		debug_symbols=no
-		lto=none
-		optimize=custom
-		use_static_cpp=no
-	)
-
-	if use runner && use tools; then
-		# build alternate faster + ~60% smaller binary for running
-		# games or servers without game development debug paths
-		escons extra_suffix=runner target=template_release "${esconsargs[@]}"
-	fi
-
-	esconsargs+=(
-		target=$(usex tools editor template_$(usex debug{,} release))
-		dev_build=$(usex debug)
-
-		# harmless but note this bakes in --test in the final binary
-		tests=$(usex tools $(usex test))
-	)
-
-	escons extra_suffix=main "${esconsargs[@]}"
-}
-
-src_test() {
-	xdg_environment_reset
-	bin/godot*.main --headless --test || die
-}
-
-src_install() {
-	local s=godot${SLOT}
-
-	newbin bin/godot*.main ${s}
-	if use runner && use tools; then
-		newbin bin/godot*.runner ${s}-runner
-	else
-		# always available, revdeps shouldn't depend on [runner]
-		dosym ${s} /usr/bin/${s}-runner
-	fi
-
-	newman misc/dist/linux/godot.6 ${s}.6
-	dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
-
-	if use gui; then
-		newicon icon.svg ${s}.svg
-		newmenu misc/dist/linux/org.godotengine.Godot.desktop \
-			org.godotengine.${s^}.desktop
-
-		insinto /usr/share/metainfo
-		newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
-			org.godotengine.${s^}.appdata.xml
-
-		insinto /usr/share/mime/application
-		newins misc/dist/linux/org.godotengine.Godot.xml \
-			org.godotengine.${s^}.xml
-	fi
-
-	newbashcomp misc/dist/shell/godot.bash-completion ${s}
-	bashcomp_alias ${s}{,-runner}
-
-	insinto /usr/share/fish/vendor_completions.d
-	newins misc/dist/shell/godot.fish ${s}.fish
-	dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
-
-	insinto /usr/share/zsh/site-functions
-	newins misc/dist/shell/_godot.zsh-completion _${s}
-	dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
-}

diff --git a/dev-games/godot/godot-4.1.ebuild b/dev-games/godot/godot-4.1.ebuild
deleted file mode 100644
index 865c25d1cbea..000000000000
--- a/dev-games/godot/godot-4.1.ebuild
+++ /dev/null
@@ -1,232 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
-
-DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
-HOMEPAGE="https://godotengine.org/"
-SRC_URI="
-	https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz
-	https://github.com/godotengine/godot/releases/download/${PV}-stable/${P}-stable.tar.xz"
-S="${WORKDIR}/${P}-stable"
-
-LICENSE="
-	MIT
-	Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
-	gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 )"
-SLOT="4"
-KEYWORDS="~amd64"
-# Enable roughly same as upstream by default so it works as expected,
-# except raycast (tools-only heavy dependency), and deprecated.
-IUSE="
-	alsa +dbus debug deprecated +fontconfig +gui pulseaudio raycast
-	+runner speech test +theora +tools +udev +upnp +vulkan +webp"
-# TODO: tests still need more figuring out
-RESTRICT="test"
-
-# dlopen: libglvnd
-RDEPEND="
-	app-arch/zstd:=
-	dev-games/recastnavigation:=
-	dev-libs/icu:=
-	dev-libs/libpcre2:=[pcre32]
-	media-libs/freetype[brotli,harfbuzz]
-	media-libs/harfbuzz:=[icu]
-	media-libs/libogg
-	media-libs/libpng:=
-	media-libs/libvorbis
-	<net-libs/mbedtls-3:=
-	net-libs/wslay
-	sys-libs/zlib:=
-	alsa? ( media-libs/alsa-lib )
-	dbus? ( sys-apps/dbus )
-	fontconfig? ( media-libs/fontconfig )
-	gui? (
-		media-libs/libglvnd
-		x11-libs/libX11
-		x11-libs/libXcursor
-		x11-libs/libXext
-		x11-libs/libXi
-		x11-libs/libXinerama
-		x11-libs/libXrandr
-		x11-libs/libXrender
-		x11-libs/libxkbcommon
-		tools? ( raycast? ( media-libs/embree:3 ) )
-		vulkan? ( media-libs/vulkan-loader[X] )
-	)
-	pulseaudio? ( media-libs/libpulse )
-	speech? ( app-accessibility/speech-dispatcher )
-	theora? ( media-libs/libtheora )
-	tools? ( app-misc/ca-certificates )
-	udev? ( virtual/udev )
-	upnp? ( net-libs/miniupnpc:= )
-	webp? ( media-libs/libwebp:= )"
-DEPEND="
-	${RDEPEND}
-	gui? ( x11-base/xorg-proto )
-	tools? ( test? ( dev-cpp/doctest ) )"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-4.0_beta3-headless-header.patch
-	"${FILESDIR}"/${PN}-4.0_rc2-musl.patch
-	"${FILESDIR}"/${PN}-4.0_rc3-scons.patch
-	"${FILESDIR}"/${P}-xkb-no-sowrap.patch
-)
-
-src_prepare() {
-	default
-
-	sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
-	sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
-	sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
-		-i misc/dist/linux/org.godotengine.Godot.desktop || die
-
-	sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die
-
-	# use of builtin_ switches can be messy (see below), delete to be sure
-	local unbundle=(
-		doctest embree freetype graphite harfbuzz icu4c libogg
-		libpng libtheora libvorbis libwebp linuxbsd_headers mbedtls
-		miniupnpc pcre2 recastnavigation volk wslay zlib zstd
-		# certs: unused by generated header, but scons panics if not found
-	)
-	rm -r "${unbundle[@]/#/thirdparty/}" || die
-
-	ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die
-}
-
-src_compile() {
-	local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
-
-	local esconsargs=(
-		AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
-
-		progress=no
-		verbose=yes
-
-		use_sowrap=no
-
-		alsa=$(usex alsa)
-		dbus=$(usex dbus)
-		deprecated=$(usex deprecated)
-		fontconfig=$(usex fontconfig)
-		opengl3=$(usex gui)
-		pulseaudio=$(usex pulseaudio)
-		speechd=$(usex speech)
-		udev=$(usex udev)
-		use_volk=no # unnecessary when linking directly to libvulkan
-		vulkan=$(usex gui $(usex vulkan))
-		x11=$(usex gui)
-
-		system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
-
-		# platform/*/detect.py uses builtin_* switches to check if need
-		# to link with system libraries, but ignores whether the dep is
-		# actually used, so "enable" deleted builtins on disabled deps
-		builtin_certs=no
-		builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
-		builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
-		builtin_freetype=no
-		builtin_glslang=yes #879111 (for now, may revisit if more stable)
-		builtin_graphite=no
-		builtin_harfbuzz=no
-		builtin_icu4c=no
-		builtin_libogg=no
-		builtin_libpng=no
-		builtin_libtheora=$(usex !theora)
-		builtin_libvorbis=no
-		builtin_libwebp=$(usex !webp)
-		builtin_mbedtls=no
-		builtin_miniupnpc=$(usex !upnp)
-		builtin_msdfgen=yes # not wired for unbundling nor packaged
-		builtin_pcre2=no
-		builtin_recastnavigation=no
-		builtin_rvo2=yes # bundled copy has godot-specific changes
-		builtin_squish=yes # ^ likewise, may not be safe to unbundle
-		builtin_wslay=no
-		builtin_xatlas=yes # not wired for unbundling nor packaged
-		builtin_zlib=no
-		builtin_zstd=no
-		# (more is bundled in third_party/ but they lack builtin_* switches)
-
-		# modules with optional dependencies, "possible" to disable more but
-		# gets messy and breaks all sorts of features (expected enabled)
-		module_mono_enabled=no # unhandled
-		# note raycast is only enabled on amd64+arm64, see raycast/config.py
-		module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
-		module_theora_enabled=$(usex theora)
-		module_upnp_enabled=$(usex upnp)
-		module_webp_enabled=$(usex webp)
-
-		# let *FLAGS handle these, e.g. can pass -flto as-is
-		debug_symbols=no
-		lto=none
-		optimize=custom
-		use_static_cpp=no
-	)
-
-	if use runner && use tools; then
-		# build alternate faster + ~60% smaller binary for running
-		# games or servers without game development debug paths
-		escons extra_suffix=runner target=template_release "${esconsargs[@]}"
-	fi
-
-	esconsargs+=(
-		target=$(usex tools editor template_$(usex debug{,} release))
-		dev_build=$(usex debug)
-
-		# harmless but note this bakes in --test in the final binary
-		tests=$(usex tools $(usex test))
-	)
-
-	escons extra_suffix=main "${esconsargs[@]}"
-}
-
-src_test() {
-	xdg_environment_reset
-	bin/godot*.main --headless --test || die
-}
-
-src_install() {
-	local s=godot${SLOT}
-
-	newbin bin/godot*.main ${s}
-	if use runner && use tools; then
-		newbin bin/godot*.runner ${s}-runner
-	else
-		# always available, revdeps shouldn't depend on [runner]
-		dosym ${s} /usr/bin/${s}-runner
-	fi
-
-	newman misc/dist/linux/godot.6 ${s}.6
-	dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
-
-	if use gui; then
-		newicon icon.svg ${s}.svg
-		newmenu misc/dist/linux/org.godotengine.Godot.desktop \
-			org.godotengine.${s^}.desktop
-
-		insinto /usr/share/metainfo
-		newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
-			org.godotengine.${s^}.appdata.xml
-
-		insinto /usr/share/mime/application
-		newins misc/dist/linux/org.godotengine.Godot.xml \
-			org.godotengine.${s^}.xml
-	fi
-
-	newbashcomp misc/dist/shell/godot.bash-completion ${s}
-	bashcomp_alias ${s}{,-runner}
-
-	insinto /usr/share/fish/vendor_completions.d
-	newins misc/dist/shell/godot.fish ${s}.fish
-	dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
-
-	insinto /usr/share/zsh/site-functions
-	newins misc/dist/shell/_godot.zsh-completion _${s}
-	dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
-}


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/, dev-games/godot/files/
@ 2023-07-07  9:16 Ionen Wolkens
  0 siblings, 0 replies; 11+ messages in thread
From: Ionen Wolkens @ 2023-07-07  9:16 UTC (permalink / raw
  To: gentoo-commits

commit:     ff8e8aed00ded4a725808afd21213888fcdc6f6f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Jul  7 09:16:08 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Jul  7 09:16:21 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff8e8aed

dev-games/godot: add 4.1

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-games/godot/Manifest                           |   1 +
 .../godot/files/godot-4.1-xkb-no-sowrap.patch      |  77 +++++++
 dev-games/godot/godot-4.1.ebuild                   | 230 +++++++++++++++++++++
 3 files changed, 308 insertions(+)

diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest
index 97916163295d..3a3dc3ac025f 100644
--- a/dev-games/godot/Manifest
+++ b/dev-games/godot/Manifest
@@ -1,2 +1,3 @@
 DIST godot-3.5.2-stable.tar.xz 24047432 BLAKE2B a4d600cb174b2f79cc91c583b1052db2e7e2921003ffd5a307a2484af9cc050b600e763b6016ba2df043ba5e492f0bdd13c207fd3a3d794b6602f7c574093cb0 SHA512 e9f3c8b23cd69422639fe22948fb1f5f2071dff6e013fee3c08d6d3c1f39de4dfc252d32eb395c847021c9bbc1b2fa320500140ff3e684bf00530889ba48a181
 DIST godot-4.0.3-stable.tar.xz 30203636 BLAKE2B bfdf2f3a349d541039639fbce9d9d10ba6bfc200ae9442900709b1cb3d3c40dcf68b3de10d9ebe7211a1dfc380a5cf8954c5ed1d9a510afaeec8cee2dc4e9123 SHA512 185c3caf99dbfeffc83fa8298c801121ee58c4c6d3854127aeb3cb2128ed08ea1925229b90f08a79e3ea5e674725fe62e219226a58a17789c0e72ae8f27ed576
+DIST godot-4.1-stable.tar.xz 30679684 BLAKE2B dc088aa1496f9acd77ffeb2d35f1e0c71521e6cad4db8301626f1eb1aa9a147bc77e573ec82f84f05f38edcc2962991f45c822da9013797865ac0fd8669028ee SHA512 561473924fdfcc97f32ecdeedc3548059acf8d53701b17074ac5f880af3c95f60dbbcc594e7a9c919e4aa1067b3d362448fce2cfcfe76fe13fe63ad29a7c3bb6

diff --git a/dev-games/godot/files/godot-4.1-xkb-no-sowrap.patch b/dev-games/godot/files/godot-4.1-xkb-no-sowrap.patch
new file mode 100644
index 000000000000..c4643b332a37
--- /dev/null
+++ b/dev-games/godot/files/godot-4.1-xkb-no-sowrap.patch
@@ -0,0 +1,77 @@
+https://github.com/godotengine/godot/pull/79097
+From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= <rverschelde@gmail.com>
+Date: Thu, 6 Jul 2023 14:05:28 +0200
+Subject: [PATCH] Linux: Fix build with `use_sowrap=no` and various
+ warnings/errors
+
+--- a/platform/linuxbsd/joypad_linux.cpp
++++ b/platform/linuxbsd/joypad_linux.cpp
+@@ -98,19 +98,20 @@ static bool detect_sandbox() {
+ 
+ JoypadLinux::JoypadLinux(Input *in) {
+ #ifdef UDEV_ENABLED
+-#ifdef SOWRAP_ENABLED
+-#ifdef DEBUG_ENABLED
+-	int dylibloader_verbose = 1;
+-#else
+-	int dylibloader_verbose = 0;
+-#endif
+ 	if (detect_sandbox()) {
+ 		// Linux binaries in sandboxes / containers need special handling because
+ 		// libudev doesn't work there. So we need to fallback to manual parsing
+ 		// of /dev/input in such case.
+ 		use_udev = false;
+ 		print_verbose("JoypadLinux: udev enabled, but detected incompatible sandboxed mode. Falling back to /dev/input to detect joypads.");
+-	} else {
++	}
++#ifdef SOWRAP_ENABLED
++	else {
++#ifdef DEBUG_ENABLED
++		int dylibloader_verbose = 1;
++#else
++		int dylibloader_verbose = 0;
++#endif
+ 		use_udev = initialize_libudev(dylibloader_verbose) == 0;
+ 		if (use_udev) {
+ 			if (!udev_new || !udev_unref || !udev_enumerate_new || !udev_enumerate_add_match_subsystem || !udev_enumerate_scan_devices || !udev_enumerate_get_list_entry || !udev_list_entry_get_next || !udev_list_entry_get_name || !udev_device_new_from_syspath || !udev_device_get_devnode || !udev_device_get_action || !udev_device_unref || !udev_enumerate_unref || !udev_monitor_new_from_netlink || !udev_monitor_filter_add_match_subsystem_devtype || !udev_monitor_enable_receiving || !udev_monitor_get_fd || !udev_monitor_receive_device || !udev_monitor_unref) {
+@@ -124,10 +125,11 @@ JoypadLinux::JoypadLinux(Input *in) {
+ 			print_verbose("JoypadLinux: udev enabled, but couldn't be loaded. Falling back to /dev/input to detect joypads.");
+ 		}
+ 	}
+-#endif
++#endif // SOWRAP_ENABLED
+ #else
+ 	print_verbose("JoypadLinux: udev disabled, parsing /dev/input to detect joypads.");
+-#endif
++#endif // UDEV_ENABLED
++
+ 	input = in;
+ 	monitor_joypads_thread.start(monitor_joypads_thread_func, this);
+ 	joypad_events_thread.start(joypad_events_thread_func, this);
+--- a/platform/linuxbsd/x11/display_server_x11.cpp
++++ b/platform/linuxbsd/x11/display_server_x11.cpp
+@@ -5449,7 +5449,7 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
+ 	}
+ #else
+ #ifdef XKB_ENABLED
+-	xkb_loaded = true;
++	bool xkb_loaded = true;
+ #endif
+ #endif
+ 
+@@ -5476,6 +5476,7 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
+ 
+ 	r_error = OK;
+ 
++#ifdef SOWRAP_ENABLED
+ 	{
+ 		if (!XcursorImageCreate || !XcursorImageLoadCursor || !XcursorImageDestroy || !XcursorGetDefaultSize || !XcursorGetTheme || !XcursorLibraryLoadImage) {
+ 			// There's no API to check version, check if functions are available instead.
+@@ -5484,6 +5485,7 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
+ 			return;
+ 		}
+ 	}
++#endif
+ 
+ 	for (int i = 0; i < CURSOR_MAX; i++) {
+ 		cursors[i] = None;

diff --git a/dev-games/godot/godot-4.1.ebuild b/dev-games/godot/godot-4.1.ebuild
new file mode 100644
index 000000000000..6e716de56c83
--- /dev/null
+++ b/dev-games/godot/godot-4.1.ebuild
@@ -0,0 +1,230 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
+
+DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
+HOMEPAGE="https://godotengine.org/"
+SRC_URI="https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz"
+S="${WORKDIR}/${P}-stable"
+
+LICENSE="
+	MIT
+	Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
+	gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 )"
+SLOT="4"
+KEYWORDS="~amd64"
+# Enable roughly same as upstream by default so it works as expected,
+# except raycast (tools-only heavy dependency), and deprecated.
+IUSE="
+	alsa +dbus debug deprecated +fontconfig +gui pulseaudio raycast
+	+runner speech test +theora +tools +udev +upnp +vulkan +webp"
+# TODO: tests still need more figuring out
+RESTRICT="test"
+
+# dlopen: libglvnd
+RDEPEND="
+	app-arch/zstd:=
+	dev-games/recastnavigation:=
+	dev-libs/icu:=
+	dev-libs/libpcre2:=[pcre32]
+	media-libs/freetype[brotli,harfbuzz]
+	media-libs/harfbuzz:=[icu]
+	media-libs/libogg
+	media-libs/libpng:=
+	media-libs/libvorbis
+	<net-libs/mbedtls-3:=
+	net-libs/wslay
+	sys-libs/zlib:=
+	alsa? ( media-libs/alsa-lib )
+	dbus? ( sys-apps/dbus )
+	fontconfig? ( media-libs/fontconfig )
+	gui? (
+		media-libs/libglvnd
+		x11-libs/libX11
+		x11-libs/libXcursor
+		x11-libs/libXext
+		x11-libs/libXi
+		x11-libs/libXinerama
+		x11-libs/libXrandr
+		x11-libs/libXrender
+		x11-libs/libxkbcommon
+		tools? ( raycast? ( media-libs/embree:3 ) )
+		vulkan? ( media-libs/vulkan-loader[X] )
+	)
+	pulseaudio? ( media-libs/libpulse )
+	speech? ( app-accessibility/speech-dispatcher )
+	theora? ( media-libs/libtheora )
+	tools? ( app-misc/ca-certificates )
+	udev? ( virtual/udev )
+	upnp? ( net-libs/miniupnpc:= )
+	webp? ( media-libs/libwebp:= )"
+DEPEND="
+	${RDEPEND}
+	gui? ( x11-base/xorg-proto )
+	tools? ( test? ( dev-cpp/doctest ) )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-4.0_beta3-headless-header.patch
+	"${FILESDIR}"/${PN}-4.0_rc2-musl.patch
+	"${FILESDIR}"/${PN}-4.0_rc3-scons.patch
+	"${FILESDIR}"/${P}-xkb-no-sowrap.patch
+)
+
+src_prepare() {
+	default
+
+	sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
+	sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
+	sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
+		-i misc/dist/linux/org.godotengine.Godot.desktop || die
+
+	sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die
+
+	# use of builtin_ switches can be messy (see below), delete to be sure
+	local unbundle=(
+		doctest embree freetype graphite harfbuzz icu4c libogg
+		libpng libtheora libvorbis libwebp linuxbsd_headers mbedtls
+		miniupnpc pcre2 recastnavigation volk wslay zlib zstd
+		# certs: unused by generated header, but scons panics if not found
+	)
+	rm -r "${unbundle[@]/#/thirdparty/}" || die
+
+	ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die
+}
+
+src_compile() {
+	local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
+
+	local esconsargs=(
+		AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
+
+		progress=no
+		verbose=yes
+
+		use_sowrap=no
+
+		alsa=$(usex alsa)
+		dbus=$(usex dbus)
+		deprecated=$(usex deprecated)
+		fontconfig=$(usex fontconfig)
+		opengl3=$(usex gui)
+		pulseaudio=$(usex pulseaudio)
+		speechd=$(usex speech)
+		udev=$(usex udev)
+		use_volk=no # unnecessary when linking directly to libvulkan
+		vulkan=$(usex gui $(usex vulkan))
+		x11=$(usex gui)
+
+		system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
+
+		# platform/*/detect.py uses builtin_* switches to check if need
+		# to link with system libraries, but ignores whether the dep is
+		# actually used, so "enable" deleted builtins on disabled deps
+		builtin_certs=no
+		builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
+		builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
+		builtin_freetype=no
+		builtin_glslang=yes #879111 (for now, may revisit if more stable)
+		builtin_graphite=no
+		builtin_harfbuzz=no
+		builtin_icu4c=no
+		builtin_libogg=no
+		builtin_libpng=no
+		builtin_libtheora=$(usex !theora)
+		builtin_libvorbis=no
+		builtin_libwebp=$(usex !webp)
+		builtin_mbedtls=no
+		builtin_miniupnpc=$(usex !upnp)
+		builtin_msdfgen=yes # not wired for unbundling nor packaged
+		builtin_pcre2=no
+		builtin_recastnavigation=no
+		builtin_rvo2=yes # bundled copy has godot-specific changes
+		builtin_squish=yes # ^ likewise, may not be safe to unbundle
+		builtin_wslay=no
+		builtin_xatlas=yes # not wired for unbundling nor packaged
+		builtin_zlib=no
+		builtin_zstd=no
+		# (more is bundled in third_party/ but they lack builtin_* switches)
+
+		# modules with optional dependencies, "possible" to disable more but
+		# gets messy and breaks all sorts of features (expected enabled)
+		module_mono_enabled=no # unhandled
+		# note raycast is only enabled on amd64+arm64, see raycast/config.py
+		module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
+		module_theora_enabled=$(usex theora)
+		module_upnp_enabled=$(usex upnp)
+		module_webp_enabled=$(usex webp)
+
+		# let *FLAGS handle these, e.g. can pass -flto as-is
+		debug_symbols=no
+		lto=none
+		optimize=custom
+		use_static_cpp=no
+	)
+
+	if use runner && use tools; then
+		# build alternate faster + ~60% smaller binary for running
+		# games or servers without game development debug paths
+		escons extra_suffix=runner target=template_release "${esconsargs[@]}"
+	fi
+
+	esconsargs+=(
+		target=$(usex tools editor template_$(usex debug{,} release))
+		dev_build=$(usex debug)
+
+		# harmless but note this bakes in --test in the final binary
+		tests=$(usex tools $(usex test))
+	)
+
+	escons extra_suffix=main "${esconsargs[@]}"
+}
+
+src_test() {
+	xdg_environment_reset
+	bin/godot*.main --headless --test || die
+}
+
+src_install() {
+	local s=godot${SLOT}
+
+	newbin bin/godot*.main ${s}
+	if use runner && use tools; then
+		newbin bin/godot*.runner ${s}-runner
+	else
+		# always available, revdeps shouldn't depend on [runner]
+		dosym ${s} /usr/bin/${s}-runner
+	fi
+
+	newman misc/dist/linux/godot.6 ${s}.6
+	dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
+
+	if use gui; then
+		newicon icon.svg ${s}.svg
+		newmenu misc/dist/linux/org.godotengine.Godot.desktop \
+			org.godotengine.${s^}.desktop
+
+		insinto /usr/share/metainfo
+		newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
+			org.godotengine.${s^}.appdata.xml
+
+		insinto /usr/share/mime/application
+		newins misc/dist/linux/org.godotengine.Godot.xml \
+			org.godotengine.${s^}.xml
+	fi
+
+	newbashcomp misc/dist/shell/godot.bash-completion ${s}
+	bashcomp_alias ${s}{,-runner}
+
+	insinto /usr/share/fish/vendor_completions.d
+	newins misc/dist/shell/godot.fish ${s}.fish
+	dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
+
+	insinto /usr/share/zsh/site-functions
+	newins misc/dist/shell/_godot.zsh-completion _${s}
+	dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/, dev-games/godot/files/
@ 2023-06-05 13:39 Ionen Wolkens
  0 siblings, 0 replies; 11+ messages in thread
From: Ionen Wolkens @ 2023-06-05 13:39 UTC (permalink / raw
  To: gentoo-commits

commit:     694bb52f4d3139a846ec0713575934f3d3471fc0
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  5 12:30:06 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jun  5 13:37:52 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=694bb52f

dev-games/godot: fix build with musl+gcc13

Not extensively checked with musl, so there could still be issues.

Closes: https://bugs.gentoo.org/906363
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-games/godot/files/godot-3.5.2-gcc13.patch | 15 +++++++++++++++
 dev-games/godot/files/godot-4.0.3-gcc13.patch |  9 +++++++++
 dev-games/godot/godot-3.5.2.ebuild            |  1 +
 dev-games/godot/godot-4.0.3.ebuild            |  1 +
 4 files changed, 26 insertions(+)

diff --git a/dev-games/godot/files/godot-3.5.2-gcc13.patch b/dev-games/godot/files/godot-3.5.2-gcc13.patch
new file mode 100644
index 000000000000..789c78415bcd
--- /dev/null
+++ b/dev-games/godot/files/godot-3.5.2-gcc13.patch
@@ -0,0 +1,15 @@
+Issues seem(?) to only trigger when gcc13 is combined with musl.
+
+https://bugs.gentoo.org/906363
+--- a/modules/fbx/fbx_parser/FBXCommon.h
++++ b/modules/fbx/fbx_parser/FBXCommon.h
+@@ -78,2 +78,3 @@
+ 
++#include <cstdint>
+ #include <string>
+--- a/thirdparty/vhacd/inc/vhacdManifoldMesh.h
++++ b/thirdparty/vhacd/inc/vhacdManifoldMesh.h
+@@ -17,2 +17,3 @@
+ #define VHACD_MANIFOLD_MESH_H
++#include <cstdint>
+ #include "vhacdCircularList.h"

diff --git a/dev-games/godot/files/godot-4.0.3-gcc13.patch b/dev-games/godot/files/godot-4.0.3-gcc13.patch
new file mode 100644
index 000000000000..145303c7ebd5
--- /dev/null
+++ b/dev-games/godot/files/godot-4.0.3-gcc13.patch
@@ -0,0 +1,9 @@
+Issues seem(?) to only trigger when gcc13 is combined with musl.
+
+https://bugs.gentoo.org/906363
+--- a/thirdparty/vhacd/inc/vhacdManifoldMesh.h
++++ b/thirdparty/vhacd/inc/vhacdManifoldMesh.h
+@@ -17,2 +17,3 @@
+ #define VHACD_MANIFOLD_MESH_H
++#include <cstdint>
+ #include "vhacdCircularList.h"

diff --git a/dev-games/godot/godot-3.5.2.ebuild b/dev-games/godot/godot-3.5.2.ebuild
index 9ba59f48b96f..5c1c02778244 100644
--- a/dev-games/godot/godot-3.5.2.ebuild
+++ b/dev-games/godot/godot-3.5.2.ebuild
@@ -69,6 +69,7 @@ BDEPEND="virtual/pkgconfig"
 PATCHES=(
 	"${FILESDIR}"/${PN}-3.5-musl.patch
 	"${FILESDIR}"/${PN}-3.5-scons.patch
+	"${FILESDIR}"/${PN}-3.5.2-gcc13.patch
 )
 
 src_prepare() {

diff --git a/dev-games/godot/godot-4.0.3.ebuild b/dev-games/godot/godot-4.0.3.ebuild
index c3e9af66635c..f66f4be675d0 100644
--- a/dev-games/godot/godot-4.0.3.ebuild
+++ b/dev-games/godot/godot-4.0.3.ebuild
@@ -72,6 +72,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-4.0_beta3-headless-header.patch
 	"${FILESDIR}"/${PN}-4.0_rc2-musl.patch
 	"${FILESDIR}"/${PN}-4.0_rc3-scons.patch
+	"${FILESDIR}"/${PN}-4.0.3-gcc13.patch
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/, dev-games/godot/files/
@ 2023-03-25  3:19 Ionen Wolkens
  0 siblings, 0 replies; 11+ messages in thread
From: Ionen Wolkens @ 2023-03-25  3:19 UTC (permalink / raw
  To: gentoo-commits

commit:     156fcd210fbb0f153410b0fccae695ae79c238e2
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 25 01:58:36 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Mar 25 03:18:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=156fcd21

dev-games/godot: drop 3.5.1, 4.0

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-games/godot/Manifest                        |   2 -
 dev-games/godot/files/godot-4.0_rc2-gcc13.patch |  21 ---
 dev-games/godot/godot-3.5.1.ebuild              | 218 ----------------------
 dev-games/godot/godot-4.0.ebuild                | 230 ------------------------
 4 files changed, 471 deletions(-)

diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest
index 1c0c017e064c..979fc5ffabb8 100644
--- a/dev-games/godot/Manifest
+++ b/dev-games/godot/Manifest
@@ -1,4 +1,2 @@
-DIST godot-3.5.1-stable.tar.xz 24153448 BLAKE2B 9d61276a2d82ef4f4487ec1046b7fa58f2b3626640b2db25c1f98c3f8e2ff40eddcf943fd9ffaaf6814fbafbbe7ef1d3f642d77af953b87731cff570ac3a5473 SHA512 59e5ca88534f542562971efb83b76561705f9ca8761311f01b4453857e7ae046c17cadd0d5ca6f6f56e262b5031294a8b9ad970fa6ffc95e1a6a1e1bae48d55f
 DIST godot-3.5.2-stable.tar.xz 24047432 BLAKE2B a4d600cb174b2f79cc91c583b1052db2e7e2921003ffd5a307a2484af9cc050b600e763b6016ba2df043ba5e492f0bdd13c207fd3a3d794b6602f7c574093cb0 SHA512 e9f3c8b23cd69422639fe22948fb1f5f2071dff6e013fee3c08d6d3c1f39de4dfc252d32eb395c847021c9bbc1b2fa320500140ff3e684bf00530889ba48a181
-DIST godot-4.0-stable.tar.xz 29435592 BLAKE2B 0802631f2995144b63c98c3a6031e7f9df771e7dd9491d38a5fcb3f52581c1f3d6a29cde5a43f9a3a83c9aaeaba9e53b22c22cdb67117f65189d916564db614b SHA512 a1de87425861dfd71bf6c6387008d72a0c80322865ffb4dbb4a87e58244d37d4d45d6f6df8e06ea6c4f979de80b364932891c65cf11c7f80727f33e28460cbd9
 DIST godot-4.0.1-stable.tar.xz 29626604 BLAKE2B 4dbcfe05b830a1e5e8cf23a31fc0ea743ae5985b9454eb41f3231d7e2b51d4e86dc1fba2c6ccf457a1c7e0d3336191b5e961936b3916837ca34b90609d9e4f30 SHA512 cb4f6eced611a3fd2f65ea31a80971f67d2f8b8bdb9a710bec41d2d9fc2d5714ab2a1ead58540dd0a7787b123dba6195fedf1b2eb56db122cb4f9f05f9633513

diff --git a/dev-games/godot/files/godot-4.0_rc2-gcc13.patch b/dev-games/godot/files/godot-4.0_rc2-gcc13.patch
deleted file mode 100644
index 124e4b56a9d0..000000000000
--- a/dev-games/godot/files/godot-4.0_rc2-gcc13.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://bugs.gentoo.org/895706
-https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/commit/29d492b60c8
-From: Adam Sawicki <adam.sawicki@amd.com>
-Date: Thu, 19 Jan 2023 13:19:55 +0100
-Subject: [PATCH] Added missing #include <cstdio>
-
-For snprintf, for compatibility with GCC 13.
-Fixes #312 - thanks @marxin !
---- a/thirdparty/vulkan/vk_mem_alloc.h
-+++ b/thirdparty/vulkan/vk_mem_alloc.h
-@@ -2614,6 +2614,10 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeStatsString(
-     #include <bit> // For std::popcount
- #endif
- 
-+#if VMA_STATS_STRING_ENABLED
-+    #include <cstdio> // For snprintf
-+#endif
-+
- /*******************************************************************************
- CONFIGURATION SECTION
- 

diff --git a/dev-games/godot/godot-3.5.1.ebuild b/dev-games/godot/godot-3.5.1.ebuild
deleted file mode 100644
index 46062505910b..000000000000
--- a/dev-games/godot/godot-3.5.1.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
-
-DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
-HOMEPAGE="https://godotengine.org/"
-SRC_URI="https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz"
-S="${WORKDIR}/${P}-stable"
-
-LICENSE="
-	MIT
-	Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
-	gui? ( CC-BY-4.0 ) tools? ( BitstreamVera OFL-1.1 )"
-SLOT="3"
-KEYWORDS="~amd64"
-# Enable roughly same as upstream by default so it works as expected,
-# except raycast (tools-only heavy dependency), and deprecated.
-IUSE="
-	+bullet debug deprecated +gui pulseaudio raycast +runner +theora
-	+tools +udev +upnp +webm +webp"
-
-# dlopen: alsa-lib,pulseaudio,udev
-RDEPEND="
-	app-arch/zstd:=
-	dev-games/recastnavigation:=
-	dev-libs/libpcre2:=[pcre32]
-	media-libs/freetype[brotli]
-	media-libs/libpng:=
-	<net-libs/mbedtls-3:=
-	net-libs/wslay
-	sys-libs/zlib:=
-	bullet? ( sci-physics/bullet:= )
-	gui? (
-		media-libs/alsa-lib
-		media-libs/libglvnd[X]
-		x11-libs/libX11
-		x11-libs/libXcursor
-		x11-libs/libXext
-		x11-libs/libXi
-		x11-libs/libXinerama
-		x11-libs/libXrandr
-		x11-libs/libXrender
-		pulseaudio? ( media-libs/libpulse )
-		tools? ( raycast? ( media-libs/embree:3 ) )
-		udev? ( virtual/udev )
-	)
-	theora? (
-		media-libs/libogg
-		media-libs/libtheora
-		media-libs/libvorbis
-	)
-	tools? ( app-misc/ca-certificates )
-	upnp? ( net-libs/miniupnpc:= )
-	webm? (
-		media-libs/libvorbis
-		media-libs/libvpx:=
-		media-libs/opus
-	)
-	webp? ( media-libs/libwebp:= )"
-DEPEND="
-	${RDEPEND}
-	gui? ( x11-base/xorg-proto )"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-3.5-musl.patch
-	"${FILESDIR}"/${PN}-3.5-scons.patch
-)
-
-src_prepare() {
-	default
-
-	sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
-	sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
-	sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
-		-i misc/dist/linux/org.godotengine.Godot.desktop || die
-
-	sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/{x11,server}/detect.py || die
-
-	# use of builtin_ switches can be messy (see below), delete to be sure
-	local unbundle=(
-		bullet embree freetype libogg libpng libtheora libvorbis libvpx
-		libwebp mbedtls miniupnpc opus pcre2 recastnavigation wslay zlib zstd
-		# certs: unused by generated header, but scons panics if not found
-	)
-	rm -r "${unbundle[@]/#/thirdparty/}" || die
-}
-
-src_compile() {
-	local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
-
-	local esconsargs=(
-		AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
-
-		platform=$(usex gui x11 server)
-		progress=no
-		verbose=yes
-
-		deprecated=$(usex deprecated)
-		#execinfo=$(usex !elibc_glibc) # libexecinfo is not packaged
-		minizip=yes # uses a modified bundled copy
-		pulseaudio=$(usex gui $(usex pulseaudio))
-		udev=$(usex gui $(usex udev))
-
-		system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
-
-		# platform/*/detect.py uses builtin_* switches to check if need
-		# to link with system libraries, but ignores whether the dep is
-		# actually used, so "enable" deleted builtins on disabled deps
-		builtin_bullet=$(usex !bullet)
-		builtin_certs=no
-		builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
-		builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
-		builtin_freetype=no
-		builtin_libogg=yes # unused
-		builtin_libpng=no
-		builtin_libtheora=$(usex !theora)
-		builtin_libvorbis=$(usex !theora $(usex !webm))
-		builtin_libvpx=$(usex !webm)
-		builtin_libwebp=$(usex !webp)
-		builtin_mbedtls=no
-		builtin_miniupnpc=$(usex !upnp)
-		builtin_opus=$(usex !webm)
-		builtin_pcre2=no
-		builtin_recast=no
-		builtin_rvo2=yes # bundled copy has godot-specific changes
-		builtin_squish=yes # ^ likewise, may not be safe to unbundle
-		builtin_wslay=no
-		builtin_xatlas=yes # not wired for unbundling nor packaged
-		builtin_zlib=no
-		builtin_zstd=no
-		# also bundled but lacking a builtin_* switch:
-		#	cvtt, etc2comp, fonts, glad, jpeg-compressor, libsimplewebm,
-		#	minimp3, minizip (patched to seek in archives), nanosvg, oidn,
-		#	pvrtccompressor, stb_rect_pack, tinyexr, vhacd, and the misc
-		#	directory.
-
-		# modules with optional dependencies, "possible" to disable more but
-		# gets messy and breaks all sorts of features (expected enabled)
-		module_bullet_enabled=$(usex bullet)
-		module_mono_enabled=no # unhandled
-		module_ogg_enabled=no # unused
-		module_opus_enabled=no # unused, support is gone and webm uses system's
-		# note raycast is disabled on many arches, see raycast/config.py
-		module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
-		module_theora_enabled=$(usex theora)
-		module_upnp_enabled=$(usex upnp)
-		module_vorbis_enabled=no # unused, non-theora/webm uses stb_vorbis
-		module_webm_enabled=$(usex webm)
-		module_webp_enabled=$(usex webp)
-
-		# let *FLAGS handle these, e.g. can pass -flto as-is
-		debug_symbols=no
-		optimize=none
-		use_lto=no
-		use_static_cpp=no
-	)
-
-	if use runner && use tools; then
-		# build alternate faster + ~60% smaller binary for running
-		# games or servers without game development debug paths
-		escons extra_suffix=runner target=release tools=no "${esconsargs[@]}"
-	fi
-
-	esconsargs+=(
-		# debug: debug for godot itself
-		# release_debug: debug for game development
-		# release: no debugging paths, only available with tools=no
-		target=$(usex debug{,} $(usex tools release_debug release))
-		tools=$(usex tools)
-	)
-
-	escons extra_suffix=main "${esconsargs[@]}"
-}
-
-src_install() {
-	local s=godot${SLOT}
-
-	newbin bin/godot*.main ${s}
-	if use runner && use tools; then
-		newbin bin/godot*.runner ${s}-runner
-	else
-		# always available, revdeps shouldn't depend on [runner]
-		dosym ${s} /usr/bin/${s}-runner
-	fi
-
-	newman misc/dist/linux/godot.6 ${s}.6
-	dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
-
-	if use gui; then
-		newicon icon.svg ${s}.svg
-		newmenu misc/dist/linux/org.godotengine.Godot.desktop \
-			org.godotengine.${s^}.desktop
-
-		insinto /usr/share/metainfo
-		newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
-			org.godotengine.${s^}.appdata.xml
-
-		insinto /usr/share/mime/application
-		newins misc/dist/linux/org.godotengine.Godot.xml \
-			org.godotengine.${s^}.xml
-	fi
-
-	newbashcomp misc/dist/shell/godot.bash-completion ${s}
-	bashcomp_alias ${s}{,-runner}
-
-	insinto /usr/share/fish/vendor_completions.d
-	newins misc/dist/shell/godot.fish ${s}.fish
-	dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
-
-	insinto /usr/share/zsh/site-functions
-	newins misc/dist/shell/_godot.zsh-completion _${s}
-	dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
-}

diff --git a/dev-games/godot/godot-4.0.ebuild b/dev-games/godot/godot-4.0.ebuild
deleted file mode 100644
index 55c23ad5eab7..000000000000
--- a/dev-games/godot/godot-4.0.ebuild
+++ /dev/null
@@ -1,230 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
-
-DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
-HOMEPAGE="https://godotengine.org/"
-SRC_URI="https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz"
-S="${WORKDIR}/${P}-stable"
-
-LICENSE="
-	MIT
-	Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
-	gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 )"
-SLOT="4"
-KEYWORDS="~amd64"
-# Enable roughly same as upstream by default so it works as expected,
-# except raycast (tools-only heavy dependency), and deprecated.
-IUSE="
-	alsa +dbus debug deprecated +fontconfig +gui pulseaudio raycast
-	+runner speech test +theora +tools +udev +upnp +vulkan +webp"
-# TODO: tests still need more figuring out
-RESTRICT="test"
-
-# dlopen: libglvnd
-RDEPEND="
-	app-arch/zstd:=
-	dev-games/recastnavigation:=
-	dev-libs/icu:=
-	dev-libs/libpcre2:=[pcre32]
-	media-libs/freetype[brotli,harfbuzz]
-	media-libs/harfbuzz:=[icu]
-	media-libs/libogg
-	media-libs/libpng:=
-	media-libs/libvorbis
-	<net-libs/mbedtls-3:=
-	net-libs/wslay
-	sys-libs/zlib:=
-	alsa? ( media-libs/alsa-lib )
-	dbus? ( sys-apps/dbus )
-	fontconfig? ( media-libs/fontconfig )
-	gui? (
-		media-libs/libglvnd
-		x11-libs/libX11
-		x11-libs/libXcursor
-		x11-libs/libXext
-		x11-libs/libXi
-		x11-libs/libXinerama
-		x11-libs/libXrandr
-		x11-libs/libXrender
-		x11-libs/libxkbcommon
-		tools? ( raycast? ( media-libs/embree:3 ) )
-		vulkan? ( media-libs/vulkan-loader[X] )
-	)
-	pulseaudio? ( media-libs/libpulse )
-	speech? ( app-accessibility/speech-dispatcher )
-	theora? ( media-libs/libtheora )
-	tools? ( app-misc/ca-certificates )
-	udev? ( virtual/udev )
-	upnp? ( net-libs/miniupnpc:= )
-	webp? ( media-libs/libwebp:= )"
-DEPEND="
-	${RDEPEND}
-	gui? ( x11-base/xorg-proto )
-	tools? ( test? ( dev-cpp/doctest ) )"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-4.0_beta3-headless-header.patch
-	"${FILESDIR}"/${PN}-4.0_rc2-musl.patch
-	"${FILESDIR}"/${PN}-4.0_rc2-gcc13.patch
-	"${FILESDIR}"/${PN}-4.0_rc3-scons.patch
-)
-
-src_prepare() {
-	default
-
-	sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
-	sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
-	sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
-		-i misc/dist/linux/org.godotengine.Godot.desktop || die
-
-	sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die
-
-	# use of builtin_ switches can be messy (see below), delete to be sure
-	local unbundle=(
-		doctest embree freetype graphite harfbuzz icu4c libogg
-		libpng libtheora libvorbis libwebp linuxbsd_headers mbedtls
-		miniupnpc pcre2 recastnavigation volk wslay zlib zstd
-		# certs: unused by generated header, but scons panics if not found
-	)
-	rm -r "${unbundle[@]/#/thirdparty/}" || die
-
-	ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die
-}
-
-src_compile() {
-	local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
-
-	local esconsargs=(
-		AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
-
-		progress=no
-		verbose=yes
-
-		use_sowrap=no
-
-		alsa=$(usex alsa)
-		dbus=$(usex dbus)
-		deprecated=$(usex deprecated)
-		fontconfig=$(usex fontconfig)
-		opengl3=$(usex gui)
-		pulseaudio=$(usex pulseaudio)
-		speechd=$(usex speech)
-		udev=$(usex udev)
-		use_volk=no # unnecessary when linking directly to libvulkan
-		vulkan=$(usex gui $(usex vulkan))
-		x11=$(usex gui)
-
-		system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
-
-		# platform/*/detect.py uses builtin_* switches to check if need
-		# to link with system libraries, but ignores whether the dep is
-		# actually used, so "enable" deleted builtins on disabled deps
-		builtin_certs=no
-		builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
-		builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
-		builtin_freetype=no
-		builtin_glslang=yes #879111 (for now, may revisit if more stable)
-		builtin_graphite=no
-		builtin_harfbuzz=no
-		builtin_icu4c=no
-		builtin_libogg=no
-		builtin_libpng=no
-		builtin_libtheora=$(usex !theora)
-		builtin_libvorbis=no
-		builtin_libwebp=$(usex !webp)
-		builtin_mbedtls=no
-		builtin_miniupnpc=$(usex !upnp)
-		builtin_msdfgen=yes # not wired for unbundling nor packaged
-		builtin_pcre2=no
-		builtin_recastnavigation=no
-		builtin_rvo2=yes # bundled copy has godot-specific changes
-		builtin_squish=yes # ^ likewise, may not be safe to unbundle
-		builtin_wslay=no
-		builtin_xatlas=yes # not wired for unbundling nor packaged
-		builtin_zlib=no
-		builtin_zstd=no
-		# (more is bundled in third_party/ but they lack builtin_* switches)
-
-		# modules with optional dependencies, "possible" to disable more but
-		# gets messy and breaks all sorts of features (expected enabled)
-		module_mono_enabled=no # unhandled
-		# note raycast is only enabled on amd64+arm64, see raycast/config.py
-		module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
-		module_theora_enabled=$(usex theora)
-		module_upnp_enabled=$(usex upnp)
-		module_webp_enabled=$(usex webp)
-
-		# let *FLAGS handle these, e.g. can pass -flto as-is
-		debug_symbols=no
-		lto=none
-		optimize=custom
-		use_static_cpp=no
-	)
-
-	if use runner && use tools; then
-		# build alternate faster + ~60% smaller binary for running
-		# games or servers without game development debug paths
-		escons extra_suffix=runner target=template_release "${esconsargs[@]}"
-	fi
-
-	esconsargs+=(
-		target=$(usex tools editor template_$(usex debug{,} release))
-		dev_build=$(usex debug)
-
-		# harmless but note this bakes in --test in the final binary
-		tests=$(usex tools $(usex test))
-	)
-
-	escons extra_suffix=main "${esconsargs[@]}"
-}
-
-src_test() {
-	xdg_environment_reset
-	bin/godot*.main --headless --test || die
-}
-
-src_install() {
-	local s=godot${SLOT}
-
-	newbin bin/godot*.main ${s}
-	if use runner && use tools; then
-		newbin bin/godot*.runner ${s}-runner
-	else
-		# always available, revdeps shouldn't depend on [runner]
-		dosym ${s} /usr/bin/${s}-runner
-	fi
-
-	newman misc/dist/linux/godot.6 ${s}.6
-	dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
-
-	if use gui; then
-		newicon icon.svg ${s}.svg
-		newmenu misc/dist/linux/org.godotengine.Godot.desktop \
-			org.godotengine.${s^}.desktop
-
-		insinto /usr/share/metainfo
-		newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
-			org.godotengine.${s^}.appdata.xml
-
-		insinto /usr/share/mime/application
-		newins misc/dist/linux/org.godotengine.Godot.xml \
-			org.godotengine.${s^}.xml
-	fi
-
-	newbashcomp misc/dist/shell/godot.bash-completion ${s}
-	bashcomp_alias ${s}{,-runner}
-
-	insinto /usr/share/fish/vendor_completions.d
-	newins misc/dist/shell/godot.fish ${s}.fish
-	dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
-
-	insinto /usr/share/zsh/site-functions
-	newins misc/dist/shell/_godot.zsh-completion _${s}
-	dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
-}


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/, dev-games/godot/files/
@ 2023-02-24  9:26 Ionen Wolkens
  0 siblings, 0 replies; 11+ messages in thread
From: Ionen Wolkens @ 2023-02-24  9:26 UTC (permalink / raw
  To: gentoo-commits

commit:     62fa996066c0748429b8d949610f5739456ac8da
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 24 09:07:29 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Feb 24 09:26:28 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62fa9960

dev-games/godot: drop 4.0_rc2

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-games/godot/Manifest                          |   1 -
 dev-games/godot/files/godot-4.0_beta8-scons.patch |  41 ----
 dev-games/godot/godot-4.0_rc2.ebuild              | 240 ----------------------
 3 files changed, 282 deletions(-)

diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest
index 813045e92311..0bac5203a4a9 100644
--- a/dev-games/godot/Manifest
+++ b/dev-games/godot/Manifest
@@ -1,3 +1,2 @@
 DIST godot-3.5.1-stable.tar.xz 24153448 BLAKE2B 9d61276a2d82ef4f4487ec1046b7fa58f2b3626640b2db25c1f98c3f8e2ff40eddcf943fd9ffaaf6814fbafbbe7ef1d3f642d77af953b87731cff570ac3a5473 SHA512 59e5ca88534f542562971efb83b76561705f9ca8761311f01b4453857e7ae046c17cadd0d5ca6f6f56e262b5031294a8b9ad970fa6ffc95e1a6a1e1bae48d55f
-DIST godot-4.0-rc2.tar.xz 29105476 BLAKE2B be30da3909ee881ed929747d97232ad1356b15d0bdb0f5ea07fedc6de300a776ffac4e156134218322ccc4b6e2d4ae457cf53ee72a2da0df645e98fb957e773f SHA512 5d36ca7018ed2963e92a0917a6310f787ab807f47a302f11b6c09ffd60e4e98800aef6957345feb61f49a623eb1993abf601669cd7b7511a5b1d974b129b11c3
 DIST godot-4.0-rc3.tar.xz 29301840 BLAKE2B d981240f117839a05c00871b0e019c08e1f6136cea4935ae5028dbd06c16a6f34f7464309f44c1c0bebd982179cad092b4eb36529a412ccfcc27277fca5f3268 SHA512 4d5702b472e0ab52a86c7c47069ba08a8fe2c40d6b4437842c0610fe7e1d139d348ad521967ef844eb0442f78122864d97fab5a99fd21ec40e6b987c2af96c44

diff --git a/dev-games/godot/files/godot-4.0_beta8-scons.patch b/dev-games/godot/files/godot-4.0_beta8-scons.patch
deleted file mode 100644
index 4a6254d93d72..000000000000
--- a/dev-games/godot/files/godot-4.0_beta8-scons.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-* add option to respect AR
- (respecting PKG_CONFIG is handled in the ebuild)
-* don't strip even with debug symbols disabled
-* fix icu unbundling underlinking
-* handle recastnavigation unbundling
---- a/SConstruct
-+++ b/SConstruct
-@@ -239,4 +239,5 @@
- opts.Add("CXX", "C++ compiler")
- opts.Add("CC", "C compiler")
-+opts.Add("AR", "Archiver")
- opts.Add("LINK", "Linker")
- opts.Add("CCFLAGS", "Custom flags for both the C and C++ compilers")
-@@ -545,10 +546,4 @@
-             else:
-                 env.Append(CCFLAGS=["-g2"])
--        else:
--            if methods.using_clang(env) and not methods.is_vanilla_clang(env):
--                # Apple Clang, its linker doesn't like -s.
--                env.Append(LINKFLAGS=["-Wl,-S", "-Wl,-x", "-Wl,-dead_strip"])
--            else:
--                env.Append(LINKFLAGS=["-s"])
- 
-         if env["optimize"] == "speed":
---- a/platform/linuxbsd/detect.py
-+++ b/platform/linuxbsd/detect.py
-@@ -221,5 +221,5 @@
- 
-     if not env["builtin_icu"]:
--        env.ParseConfig("pkg-config icu-uc --cflags --libs")
-+        env.ParseConfig("pkg-config icu-i18n --cflags --libs")
- 
-     if not env["builtin_harfbuzz"]:
-@@ -232,4 +232,7 @@
-         env.ParseConfig("pkg-config libenet --cflags --libs")
- 
-+    if not env["builtin_recast"]:
-+        env.ParseConfig("pkg-config recastnavigation --cflags --libs")
-+
-     if not env["builtin_squish"]:
-         env.ParseConfig("pkg-config libsquish --cflags --libs")

diff --git a/dev-games/godot/godot-4.0_rc2.ebuild b/dev-games/godot/godot-4.0_rc2.ebuild
deleted file mode 100644
index d2601d52d4ff..000000000000
--- a/dev-games/godot/godot-4.0_rc2.ebuild
+++ /dev/null
@@ -1,240 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit bash-completion-r1 desktop optfeature python-any-r1
-inherit scons-utils toolchain-funcs xdg
-
-MY_P="${PN}-$(ver_rs 2 -)"
-
-DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
-HOMEPAGE="https://godotengine.org/"
-SRC_URI="https://downloads.tuxfamily.org/godotengine/$(ver_rs 2 /)/${MY_P}.tar.xz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="
-	MIT
-	AFL-2.1 Apache-2.0 BSD Boost-1.0 CC0-1.0 LGPL-2.1+ Unlicense ZLIB
-	gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 )"
-SLOT="4"
-KEYWORDS="~amd64"
-# Enable roughly same as upstream by default so it works as expected,
-# except raycast (tools-only heavy dependency), and deprecated.
-IUSE="debug deprecated +gui raycast +runner test +theora +tools +upnp +vulkan +webp"
-# tests need more figuring out, they are still somewhat new and volatile
-RESTRICT="test"
-
-# dlopen: libX*,libglvnd
-RDEPEND="
-	app-arch/zstd:=
-	dev-games/recastnavigation:=
-	dev-libs/icu:=
-	dev-libs/libpcre2:=[pcre32]
-	media-libs/freetype[brotli,harfbuzz]
-	media-libs/harfbuzz:=[icu]
-	media-libs/libogg
-	media-libs/libpng:=
-	media-libs/libvorbis
-	<net-libs/mbedtls-3:=
-	net-libs/wslay
-	sys-libs/zlib:=
-	gui? (
-		media-libs/libglvnd[X]
-		x11-libs/libX11
-		x11-libs/libXcursor
-		x11-libs/libXext
-		x11-libs/libXi
-		x11-libs/libXinerama
-		x11-libs/libXrandr
-		x11-libs/libXrender
-		tools? ( raycast? ( media-libs/embree:3 ) )
-		vulkan? ( media-libs/vulkan-loader[X] )
-	)
-	theora? ( media-libs/libtheora )
-	tools? ( app-misc/ca-certificates )
-	upnp? ( net-libs/miniupnpc:= )
-	webp? ( media-libs/libwebp:= )"
-DEPEND="
-	${RDEPEND}
-	tools? ( test? ( dev-cpp/doctest ) )"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-4.0_beta3-headless-header.patch
-	"${FILESDIR}"/${PN}-4.0_beta8-scons.patch
-	"${FILESDIR}"/${PN}-4.0_rc2-musl.patch
-	"${FILESDIR}"/${PN}-4.0_rc2-gcc13.patch
-)
-
-src_prepare() {
-	default
-
-	sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
-	sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
-	sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
-		-i misc/dist/linux/org.godotengine.Godot.desktop || die
-
-	sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die
-
-	# use of builtin_ switches can be messy (see below), delete to be sure
-	local unbundle=(
-		doctest embree freetype graphite harfbuzz icu4c libogg
-		libpng libtheora libvorbis libwebp mbedtls miniupnpc
-		pcre2 recastnavigation volk wslay zlib zstd
-		# certs: unused by generated header, but scons panics if not found
-		# linuxbsd_headers: would /want/ to unbundle these, but it is rather
-		# messy given godot has dropped all the pkg-config calls and uses
-		# hardcoded paths on top -- on the plus side, removes a real need
-		# to have IUSE="alsa dbus fontconfig pulseaudio speech udev" (dlopen)
-	)
-	rm -r "${unbundle[@]/#/thirdparty/}" || die
-
-	# do symlinks to avoid too much patching with hardcoded header paths
-	mkdir thirdparty/lib{vorbis,ogg} || die
-	ln -s "${ESYSROOT}"/usr/include thirdparty/zstd || die
-	ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die
-	ln -s "${ESYSROOT}"/usr/include/ogg thirdparty/libogg/ || die
-	ln -s "${ESYSROOT}"/usr/include/vorbis thirdparty/libvorbis/ || die
-}
-
-src_compile() {
-	local -x GODOT_VERSION_STATUS=$(ver_cut 3-4) # for dev versions only
-	local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
-
-	local esconsargs=(
-		AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
-
-		progress=no
-		verbose=yes
-
-		deprecated=$(usex deprecated)
-		opengl3=$(usex gui)
-		use_volk=no # unnecessary when linking directly to libvulkan
-		vulkan=$(usex gui $(usex vulkan))
-		x11=$(usex gui)
-
-		system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
-
-		# platform/*/detect.py uses builtin_* switches to check if need
-		# to link with system libraries, but ignores whether the dep is
-		# actually used, so "enable" deleted builtins on disabled deps
-		builtin_certs=no
-		builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
-		builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
-		builtin_freetype=no
-		builtin_glslang=yes #879111
-		builtin_graphite=no
-		builtin_harfbuzz=no
-		builtin_icu=no
-		builtin_libogg=no
-		builtin_libpng=no
-		builtin_libtheora=$(usex !theora)
-		builtin_libvorbis=no
-		builtin_libwebp=$(usex !webp)
-		builtin_mbedtls=no
-		builtin_miniupnpc=$(usex !upnp)
-		builtin_msdfgen=yes # not wired for unbundling nor packaged
-		builtin_pcre2=no
-		builtin_recast=no
-		builtin_rvo2=yes # bundled copy has godot-specific changes
-		builtin_squish=yes # ^ likewise, may not be safe to unbundle
-		builtin_wslay=no
-		builtin_xatlas=yes # not wired for unbundling nor packaged
-		builtin_zlib=no
-		builtin_zstd=no
-		# (more is bundled in third_party/ but they lack builtin_* switches)
-
-		# modules with optional dependencies, "possible" to disable more but
-		# gets messy and breaks all sorts of features (expected enabled)
-		module_gridmap_enabled=$(usex deprecated) # fails without deprecated
-		module_mono_enabled=no # unhandled
-		# note raycast is only enabled on amd64+arm64, see raycast/config.py
-		module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
-		module_theora_enabled=$(usex theora)
-		module_upnp_enabled=$(usex upnp)
-		module_webp_enabled=$(usex webp)
-
-		# let *FLAGS handle these, e.g. can pass -flto as-is
-		debug_symbols=no
-		lto=none
-		optimize=custom
-		use_static_cpp=no
-	)
-
-	if use runner && use tools; then
-		# build alternate faster + ~60% smaller binary for running
-		# games or servers without game development debug paths
-		escons extra_suffix=runner target=template_release "${esconsargs[@]}"
-	fi
-
-	esconsargs+=(
-		target=$(usex tools editor template_$(usex debug{,} release))
-		dev_build=$(usex debug)
-
-		# harmless but note this bakes in --test in the final binary
-		tests=$(usex tools $(usex test))
-	)
-
-	escons extra_suffix=main "${esconsargs[@]}"
-}
-
-src_test() {
-	xdg_environment_reset
-	bin/godot*.main --headless --test || die
-}
-
-src_install() {
-	local s=godot${SLOT}
-
-	newbin bin/godot*.main ${s}
-	if use runner && use tools; then
-		newbin bin/godot*.runner ${s}-runner
-	else
-		# always available, revdeps shouldn't depend on [runner]
-		dosym ${s} /usr/bin/${s}-runner
-	fi
-
-	newman misc/dist/linux/godot.6 ${s}.6
-	dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
-
-	if use gui; then
-		newicon icon.svg ${s}.svg
-		newmenu misc/dist/linux/org.godotengine.Godot.desktop \
-			org.godotengine.${s^}.desktop
-
-		insinto /usr/share/metainfo
-		newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
-			org.godotengine.${s^}.appdata.xml
-
-		insinto /usr/share/mime/application
-		newins misc/dist/linux/org.godotengine.Godot.xml \
-			org.godotengine.${s^}.xml
-	fi
-
-	newbashcomp misc/dist/shell/godot.bash-completion ${s}
-	bashcomp_alias ${s}{,-runner}
-
-	insinto /usr/share/fish/vendor_completions.d
-	newins misc/dist/shell/godot.fish ${s}.fish
-	dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
-
-	insinto /usr/share/zsh/site-functions
-	newins misc/dist/shell/_godot.zsh-completion _${s}
-	dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
-}
-
-pkg_postinst() {
-	xdg_pkg_postinst
-
-	# these use bundled headers then get dlopen()'ed if available, USE=gui
-	# itself could technically be a optfeature too but it'd be messy here
-	if use gui; then
-		optfeature "gamepad connection detection support" virtual/libudev
-		optfeature "screensaver and portal desktop handling" sys-apps/dbus
-		optfeature "sound support" media-libs/alsa-lib media-libs/libpulse
-	fi
-	optfeature "system fonts support" media-libs/fontconfig
-	optfeature "text-to-speech support" app-accessibility/speech-dispatcher
-}


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/, dev-games/godot/files/
@ 2023-02-21 12:16 Ionen Wolkens
  0 siblings, 0 replies; 11+ messages in thread
From: Ionen Wolkens @ 2023-02-21 12:16 UTC (permalink / raw
  To: gentoo-commits

commit:     a079caaa459df1b3661baf5a188e52e02af8bbdc
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 21 11:38:06 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Feb 21 12:16:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a079caaa

dev-games/godot: backport gcc13 build fix

Well, backport from the thirdparty's upstream,
godot itself still needs to update.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-games/godot/files/godot-4.0_rc2-gcc13.patch | 21 +++++++++++++++++++++
 dev-games/godot/godot-4.0_rc2.ebuild            |  1 +
 2 files changed, 22 insertions(+)

diff --git a/dev-games/godot/files/godot-4.0_rc2-gcc13.patch b/dev-games/godot/files/godot-4.0_rc2-gcc13.patch
new file mode 100644
index 000000000000..124e4b56a9d0
--- /dev/null
+++ b/dev-games/godot/files/godot-4.0_rc2-gcc13.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/895706
+https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/commit/29d492b60c8
+From: Adam Sawicki <adam.sawicki@amd.com>
+Date: Thu, 19 Jan 2023 13:19:55 +0100
+Subject: [PATCH] Added missing #include <cstdio>
+
+For snprintf, for compatibility with GCC 13.
+Fixes #312 - thanks @marxin !
+--- a/thirdparty/vulkan/vk_mem_alloc.h
++++ b/thirdparty/vulkan/vk_mem_alloc.h
+@@ -2614,6 +2614,10 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeStatsString(
+     #include <bit> // For std::popcount
+ #endif
+ 
++#if VMA_STATS_STRING_ENABLED
++    #include <cstdio> // For snprintf
++#endif
++
+ /*******************************************************************************
+ CONFIGURATION SECTION
+ 

diff --git a/dev-games/godot/godot-4.0_rc2.ebuild b/dev-games/godot/godot-4.0_rc2.ebuild
index d031d3f1fcaf..d2601d52d4ff 100644
--- a/dev-games/godot/godot-4.0_rc2.ebuild
+++ b/dev-games/godot/godot-4.0_rc2.ebuild
@@ -65,6 +65,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-4.0_beta3-headless-header.patch
 	"${FILESDIR}"/${PN}-4.0_beta8-scons.patch
 	"${FILESDIR}"/${PN}-4.0_rc2-musl.patch
+	"${FILESDIR}"/${PN}-4.0_rc2-gcc13.patch
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/, dev-games/godot/files/
@ 2023-02-17  1:43 Ionen Wolkens
  0 siblings, 0 replies; 11+ messages in thread
From: Ionen Wolkens @ 2023-02-17  1:43 UTC (permalink / raw
  To: gentoo-commits

commit:     9cd0dbf67043d2630f3582c7609b184be7bb2a8e
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 17 00:45:50 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Feb 17 01:43:38 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9cd0dbf6

dev-games/godot: update musl patch

Used to work but missed that a new godot4 alpha added automagic to
enable execinfo. If libexecinfo is ever packaged, could yank this,
depend on it for musl and let the automagic do its thing.

Not really tested on musl, but it builds.

godot:3 should still build fine, it only auto-enables execinfo on BSD.

Closes: https://bugs.gentoo.org/894762
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-games/godot/files/godot-4.0_rc2-musl.patch | 21 +++++++++++++++++++++
 dev-games/godot/godot-4.0_rc2.ebuild           |  3 +--
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/dev-games/godot/files/godot-4.0_rc2-musl.patch b/dev-games/godot/files/godot-4.0_rc2-musl.patch
new file mode 100644
index 000000000000..3b9a458ac7d4
--- /dev/null
+++ b/dev-games/godot/files/godot-4.0_rc2-musl.patch
@@ -0,0 +1,21 @@
+Crash handler requires glibc or libexecinfo (not packaged) and is enabled
+if build the editor (implies debug), but can be easily turned off.
+https://bugs.gentoo.org/894762
+--- a/platform/linuxbsd/crash_handler_linuxbsd.cpp
++++ b/platform/linuxbsd/crash_handler_linuxbsd.cpp
+@@ -38,3 +38,3 @@
+ 
+-#ifdef DEBUG_ENABLED
++#if defined(DEBUG_ENABLED) && defined(__GLIBC__)
+ #define CRASH_HANDLER_ENABLED 1
+--- a/platform/linuxbsd/detect.py
++++ b/platform/linuxbsd/detect.py
+@@ -329,8 +329,2 @@
+ 
+-    if not env["execinfo"] and platform.libc_ver()[0] != "glibc":
+-        # The default crash handler depends on glibc, so if the host uses
+-        # a different libc (BSD libc, musl), fall back to libexecinfo.
+-        print("Note: Using `execinfo=yes` for the crash handler as required on platforms where glibc is missing.")
+-        env["execinfo"] = True
+-
+     if env["execinfo"]:

diff --git a/dev-games/godot/godot-4.0_rc2.ebuild b/dev-games/godot/godot-4.0_rc2.ebuild
index 8c124e770a8e..d031d3f1fcaf 100644
--- a/dev-games/godot/godot-4.0_rc2.ebuild
+++ b/dev-games/godot/godot-4.0_rc2.ebuild
@@ -62,9 +62,9 @@ DEPEND="
 BDEPEND="virtual/pkgconfig"
 
 PATCHES=(
-	"${FILESDIR}"/${PN}-4.0-musl.patch
 	"${FILESDIR}"/${PN}-4.0_beta3-headless-header.patch
 	"${FILESDIR}"/${PN}-4.0_beta8-scons.patch
+	"${FILESDIR}"/${PN}-4.0_rc2-musl.patch
 )
 
 src_prepare() {
@@ -109,7 +109,6 @@ src_compile() {
 		verbose=yes
 
 		deprecated=$(usex deprecated)
-		#execinfo=$(usex !elibc_glibc) # libexecinfo is not packaged
 		opengl3=$(usex gui)
 		use_volk=no # unnecessary when linking directly to libvulkan
 		vulkan=$(usex gui $(usex vulkan))


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/, dev-games/godot/files/
@ 2022-08-16  0:01 Ionen Wolkens
  0 siblings, 0 replies; 11+ messages in thread
From: Ionen Wolkens @ 2022-08-16  0:01 UTC (permalink / raw
  To: gentoo-commits

commit:     d2cfd7cf8626696cbff9f3cdad34e29d9b0b38e5
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 15 11:49:24 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Aug 16 00:00:32 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2cfd7cf

dev-games/godot: add 4.0_alpha14 (slot:4), unkeyworded

This entered feature freeze on August 3 and "shouldn't" introduce
more breaking changes. Albeit has many known bugs/oddities to be
resolved, and --convert-3to4 hasn't been faring so well (new
projects should probably start on 4 at this point though).

Adding for testing, may look at keywording the first beta which
been planned for early September (devs that need godot:3 may
want to add the slot to their world file now).

Bug: https://bugs.gentoo.org/532730
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-games/godot/Manifest                           |   1 +
 dev-games/godot/files/godot-4.0-musl.patch         |   9 +
 .../godot/files/godot-4.0_alpha14-scons.patch      |  29 +++
 dev-games/godot/godot-4.0_alpha14.ebuild           | 246 +++++++++++++++++++++
 dev-games/godot/metadata.xml                       |   1 +
 5 files changed, 286 insertions(+)

diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest
index 8116161b4deb..9d7912698ebb 100644
--- a/dev-games/godot/Manifest
+++ b/dev-games/godot/Manifest
@@ -1 +1,2 @@
 DIST godot-3.5-stable.tar.xz 24044340 BLAKE2B 9d77ecdfa6bd90065fff26c2334f13c32bbbc4b26aad111b5aab2563d1e4782457ea6cf2115f1a809e0d8aac3d3ee9a138ad224998068983ad36e54a577d89c3 SHA512 23785e39ccc7e1406c97ee33b5e90f7f397aa907d79d72ed08ea3f4b7e68788030a1bcdd07c9f782a21ee3a84636a2cea47a57dcfc94c24e327fa210ae0515b0
+DIST godot-4.0-alpha14.tar.xz 30970116 BLAKE2B 213616f3a80f97c09580324bf9296d12b6213a2941b3070353b45e160dc7d7bfd32fcae3fc2b64a91fa7d935c23d97fd02a015bc3501441d67261ee6e45e85e1 SHA512 511cb5d3f48c747232350bee25765c17032b99179fd70877f906bcd1a09449260a928c3df9f84c6f3afb47f564b8f4bf75d0a07d37f5a22dd5f5a96d1b1f4df5

diff --git a/dev-games/godot/files/godot-4.0-musl.patch b/dev-games/godot/files/godot-4.0-musl.patch
new file mode 100644
index 000000000000..50c5c334773f
--- /dev/null
+++ b/dev-games/godot/files/godot-4.0-musl.patch
@@ -0,0 +1,9 @@
+crash handler requires glibc or libexecinfo (not packaged),
+and is always enabled if build the editor (release_debug)
+--- a/platform/linuxbsd/crash_handler_linuxbsd.cpp
++++ b/platform/linuxbsd/crash_handler_linuxbsd.cpp
+@@ -38,3 +38,3 @@
+ 
+-#ifdef DEBUG_ENABLED
++#if defined(DEBUG_ENABLED) && defined(__GLIBC__)
+ #define CRASH_HANDLER_ENABLED 1

diff --git a/dev-games/godot/files/godot-4.0_alpha14-scons.patch b/dev-games/godot/files/godot-4.0_alpha14-scons.patch
new file mode 100644
index 000000000000..295f471d525b
--- /dev/null
+++ b/dev-games/godot/files/godot-4.0_alpha14-scons.patch
@@ -0,0 +1,29 @@
+* add option to respect AR
+ (respecting PKG_CONFIG is handled in the ebuild)
+* fix icu unbundling underlinking
+* handle recastnavigation unbundling
+--- a/SConstruct
++++ b/SConstruct
+@@ -233,4 +233,5 @@
+ opts.Add("CXX", "C++ compiler")
+ opts.Add("CC", "C compiler")
++opts.Add("AR", "Archiver")
+ opts.Add("LINK", "Linker")
+ opts.Add("CCFLAGS", "Custom flags for both the C and C++ compilers")
+--- a/platform/linuxbsd/detect.py
++++ b/platform/linuxbsd/detect.py
+@@ -238,5 +238,5 @@
+ 
+     if not env["builtin_icu"]:
+-        env.ParseConfig("pkg-config icu-uc --cflags --libs")
++        env.ParseConfig("pkg-config icu-i18n --cflags --libs")
+ 
+     if not env["builtin_harfbuzz"]:
+@@ -249,4 +249,7 @@
+         env.ParseConfig("pkg-config libenet --cflags --libs")
+ 
++    if not env["builtin_recast"]:
++        env.ParseConfig("pkg-config recastnavigation --cflags --libs")
++
+     if not env["builtin_squish"]:
+         env.ParseConfig("pkg-config libsquish --cflags --libs")

diff --git a/dev-games/godot/godot-4.0_alpha14.ebuild b/dev-games/godot/godot-4.0_alpha14.ebuild
new file mode 100644
index 000000000000..9844ed38787e
--- /dev/null
+++ b/dev-games/godot/godot-4.0_alpha14.ebuild
@@ -0,0 +1,246 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
+
+MY_P="${PN}-$(ver_rs 2 -)"
+
+DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
+HOMEPAGE="https://godotengine.org/"
+SRC_URI="https://downloads.tuxfamily.org/godotengine/$(ver_rs 2 /)/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="
+	MIT
+	Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
+	gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 )"
+SLOT="4"
+#KEYWORDS="~amd64" # leaving 4 unkeyworded until at least first _beta
+# Enable roughly same as upstream by default so it works as expected,
+# except raycast (tools-only heavy dependency), and deprecated.
+IUSE="
+	+dbus debug deprecated +fontconfig +gui pulseaudio raycast
+	+runner speech test +theora +tools +udev +upnp +webp"
+RESTRICT="!test? ( test ) !tools? ( test )"
+
+# dlopen: alsa-lib,dbus,fontconfig,pulseaudio,speech-dispatcher,udev
+RDEPEND="
+	app-arch/zstd:=
+	dev-games/recastnavigation:=
+	dev-libs/icu:=
+	dev-libs/libpcre2:=[pcre32]
+	media-libs/freetype[brotli,harfbuzz]
+	media-libs/harfbuzz:=[icu]
+	media-libs/libogg
+	media-libs/libpng:=
+	media-libs/libvorbis
+	<net-libs/mbedtls-3:=
+	net-libs/wslay
+	sys-libs/zlib:=
+	fontconfig? ( media-libs/fontconfig )
+	gui? (
+		dev-util/glslang
+		media-libs/alsa-lib
+		media-libs/libglvnd[X]
+		media-libs/vulkan-loader[X]
+		x11-libs/libX11
+		x11-libs/libXcursor
+		x11-libs/libXext
+		x11-libs/libXi
+		x11-libs/libXinerama
+		x11-libs/libXrandr
+		x11-libs/libXrender
+		dbus? ( sys-apps/dbus )
+		pulseaudio? ( media-libs/libpulse )
+		tools? ( raycast? ( media-libs/embree:3 ) )
+		udev? ( virtual/udev )
+	)
+	speech? ( app-accessibility/speech-dispatcher )
+	theora? ( media-libs/libtheora )
+	tools? ( app-misc/ca-certificates )
+	upnp? ( net-libs/miniupnpc:= )
+	webp? ( media-libs/libwebp:= )"
+DEPEND="
+	${RDEPEND}
+	gui? (
+		dev-util/vulkan-headers
+		x11-base/xorg-proto
+	)
+	tools? ( test? ( dev-cpp/doctest ) )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-4.0-musl.patch
+	"${FILESDIR}"/${PN}-4.0_alpha14-scons.patch
+)
+
+src_prepare() {
+	default
+
+	sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
+	sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
+	sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
+		-i misc/dist/linux/org.godotengine.Godot.desktop || die
+
+	sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die
+
+	# use of builtin_ switches can be messy (see below), delete to be sure
+	local unbundle=(
+		doctest embree freetype glslang graphite harfbuzz icu4c libogg libpng
+		libtheora libvorbis libwebp mbedtls miniupnpc pcre2 recastnavigation
+		volk vulkan/include wslay zlib zstd
+		# certs: unused by generated header, but scons panics if not found
+	)
+	rm -r "${unbundle[@]/#/thirdparty/}" || die
+
+	# do symlinks to avoid too much patching with hardcoded header paths
+	mkdir thirdparty/lib{vorbis,ogg} || die
+	ln -s "${ESYSROOT}"/usr/include thirdparty/zstd || die
+	ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die
+	ln -s "${ESYSROOT}"/usr/include/ogg thirdparty/libogg/ || die
+	ln -s "${ESYSROOT}"/usr/include/vorbis thirdparty/libvorbis/ || die
+}
+
+src_compile() {
+	local -x GODOT_VERSION_STATUS=$(ver_cut 3-4) # for dev versions only
+	local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
+
+	local esconsargs=(
+		AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
+
+		progress=no
+		verbose=yes
+
+		deprecated=$(usex deprecated)
+		#execinfo=$(usex !elibc_glibc) # libexecinfo is not packaged
+		fontconfig=$(usex fontconfig)
+		minizip=yes # uses a modified bundled copy
+		opengl3=$(usex gui)
+		pulseaudio=$(usex gui $(usex pulseaudio))
+		speechd=$(usex speech)
+		udev=$(usex gui $(usex udev))
+		use_dbus=$(usex gui $(usex dbus))
+		use_volk=no # unnecessary when linking directly to libvulkan
+		vulkan=$(usex gui) # hard-required and favored by upstream over gles3
+		x11=$(usex gui)
+
+		system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
+
+		# platform/*/detect.py uses builtin_* switches to check if need
+		# to link with system libraries, but ignores whether the dep is
+		# actually used, so "enable" deleted builtins on disabled deps
+		builtin_certs=no
+		builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
+		builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
+		builtin_freetype=no
+		builtin_glslang=$(usex !gui)
+		builtin_graphite=no
+		builtin_harfbuzz=no
+		builtin_icu=no
+		builtin_libogg=no
+		builtin_libpng=no
+		builtin_libtheora=$(usex !theora)
+		builtin_libvorbis=no
+		builtin_libwebp=$(usex !webp)
+		builtin_mbedtls=no
+		builtin_miniupnpc=$(usex !upnp)
+		builtin_msdfgen=yes # not wired for unbundling nor packaged
+		builtin_pcre2=no
+		builtin_recast=no
+		builtin_rvo2=yes # bundled copy has godot-specific changes
+		builtin_squish=yes # ^ likewise, may not be safe to unbundle
+		builtin_wslay=no
+		builtin_xatlas=yes # not wired for unbundling nor packaged
+		builtin_zlib=no
+		builtin_zstd=no
+		# also bundled but lacking a builtin_* switch:
+		#	amd-fsr, basis_universal, cvtt, etcpak, fonts, glad,
+		#	jpeg-compressor, meshoptimizer, minimp3, minizip (patched to
+		#	seek in archives), noise, oidn, openxr, spirv-reflect, thorvg,
+		#	tinyexr, vhacd, vulkan (minus include/) and the misc directory.
+
+		# modules with optional dependencies, "possible" to disable more but
+		# gets messy and breaks all sorts of features (expected enabled)
+		module_glslang_enabled=$(usex gui)
+		module_gridmap_enabled=$(usex deprecated) # fails without deprecated
+		module_mono_enabled=no # unhandled
+		# note raycast is disabled on many arches, see raycast/config.py
+		module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
+		module_theora_enabled=$(usex theora)
+		module_upnp_enabled=$(usex upnp)
+		module_webp_enabled=$(usex webp)
+
+		# let *FLAGS handle these, e.g. can pass -flto as-is
+		debug_symbols=no
+		optimize=none
+		use_lto=no
+		use_static_cpp=no
+	)
+
+	if use runner && use tools; then
+		# build alternate faster + ~60% smaller binary for running
+		# games or servers without game development debug paths
+		escons extra_suffix=runner target=release tools=no "${esconsargs[@]}"
+	fi
+
+	esconsargs+=(
+		# debug: debug for godot itself
+		# release_debug: debug for game development
+		# release: no debugging paths, only available with tools=no
+		target=$(usex debug{,} $(usex tools release_debug release))
+		tools=$(usex tools)
+
+		# harmless but note this bakes in --test in the final binary
+		tests=$(usex tools $(usex test))
+	)
+
+	escons extra_suffix=main "${esconsargs[@]}"
+}
+
+src_test() {
+	xdg_environment_reset
+	bin/godot*.main --headless --test || die
+}
+
+src_install() {
+	local s=godot${SLOT}
+
+	newbin bin/godot*.main ${s}
+	if use runner && use tools; then
+		newbin bin/godot*.runner ${s}-runner
+	else
+		# always available, revdeps shouldn't depend on [runner]
+		dosym ${s} /usr/bin/${s}-runner
+	fi
+
+	newman misc/dist/linux/godot.6 ${s}.6
+	dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
+
+	if use gui; then
+		newicon icon.svg ${s}.svg
+		newmenu misc/dist/linux/org.godotengine.Godot.desktop \
+			org.godotengine.${s^}.desktop
+
+		insinto /usr/share/metainfo
+		newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
+			org.godotengine.${s^}.appdata.xml
+
+		insinto /usr/share/mime/application
+		newins misc/dist/linux/org.godotengine.Godot.xml \
+			org.godotengine.${s^}.xml
+	fi
+
+	newbashcomp misc/dist/shell/godot.bash-completion ${s}
+	bashcomp_alias ${s}{,-runner}
+
+	insinto /usr/share/fish/vendor_completions.d
+	newins misc/dist/shell/godot.fish ${s}.fish
+	dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
+
+	insinto /usr/share/zsh/site-functions
+	newins misc/dist/shell/_godot.zsh-completion _${s}
+	dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
+}

diff --git a/dev-games/godot/metadata.xml b/dev-games/godot/metadata.xml
index 71f596fee4e9..a64b3cb9efea 100644
--- a/dev-games/godot/metadata.xml
+++ b/dev-games/godot/metadata.xml
@@ -24,6 +24,7 @@
 		<flag name="deprecated">Enable support for deprecated features</flag>
 		<flag name="raycast">Enable the raycast Editor module using <pkg>media-libs/embree</pkg></flag>
 		<flag name="runner">Build an additional binary optimized for running games (only relevant with USE=tools)</flag>
+		<flag name="speech">Enable text-to-speech support</flag>
 		<flag name="tools">Enable the Godot Editor for game development</flag>
 		<flag name="webm">Enable the WebM module</flag>
 	</use>


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/, dev-games/godot/files/
@ 2022-08-16  0:01 Ionen Wolkens
  0 siblings, 0 replies; 11+ messages in thread
From: Ionen Wolkens @ 2022-08-16  0:01 UTC (permalink / raw
  To: gentoo-commits

commit:     17666af92dcda999af6d9b7288696e4348f2471d
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 15 09:00:20 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Aug 16 00:00:32 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17666af9

dev-games/godot: new package, add 3.5 (slot:3)

That this wasn't in ::gentoo always kind of bothered me even though
I don't really use it, and felt like handling it.

Help/suggestions/PRs welcome from actual users, and please report
if anything unexpected compared to official builds (perhaps due
to unbundling/USE).

Slotted given godot:4 is known to have major breaking changes and
migrating is not always trivial.

Note largely no interest in building export templates (complex
toolchains and would realistically need to use bundled libs),
and does not help that this cannot use system paths to find them
without patching. Game ebuilds can do simple wrapper.eclass +
desktop.eclass w/ icon.png and use system's godot[34]-runner
(simpler if assets are pre-imported).

IUSE=headless/cli may have been useful to have both gui and headless
at same time but requires an extra long build and is obsoleted in
godot4 with the --headless switch, likely not worth having for 3.

Bug: https://bugs.gentoo.org/532730
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-games/godot/Manifest                    |   1 +
 dev-games/godot/files/godot-3.5-musl.patch  |   9 ++
 dev-games/godot/files/godot-3.5-scons.patch |  74 ++++++++++
 dev-games/godot/godot-3.5.ebuild            | 218 ++++++++++++++++++++++++++++
 dev-games/godot/metadata.xml                |  34 +++++
 5 files changed, 336 insertions(+)

diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest
new file mode 100644
index 000000000000..8116161b4deb
--- /dev/null
+++ b/dev-games/godot/Manifest
@@ -0,0 +1 @@
+DIST godot-3.5-stable.tar.xz 24044340 BLAKE2B 9d77ecdfa6bd90065fff26c2334f13c32bbbc4b26aad111b5aab2563d1e4782457ea6cf2115f1a809e0d8aac3d3ee9a138ad224998068983ad36e54a577d89c3 SHA512 23785e39ccc7e1406c97ee33b5e90f7f397aa907d79d72ed08ea3f4b7e68788030a1bcdd07c9f782a21ee3a84636a2cea47a57dcfc94c24e327fa210ae0515b0

diff --git a/dev-games/godot/files/godot-3.5-musl.patch b/dev-games/godot/files/godot-3.5-musl.patch
new file mode 100644
index 000000000000..0738b035480f
--- /dev/null
+++ b/dev-games/godot/files/godot-3.5-musl.patch
@@ -0,0 +1,9 @@
+crash handler requires glibc or libexecinfo (not packaged),
+and is always enabled if build the editor (release_debug)
+--- a/platform/x11/crash_handler_x11.cpp
++++ b/platform/x11/crash_handler_x11.cpp
+@@ -38,3 +38,3 @@
+ 
+-#ifdef DEBUG_ENABLED
++#if defined(DEBUG_ENABLED) && defined(__GLIBC__)
+ #define CRASH_HANDLER_ENABLED 1

diff --git a/dev-games/godot/files/godot-3.5-scons.patch b/dev-games/godot/files/godot-3.5-scons.patch
new file mode 100644
index 000000000000..b8ed7f50311d
--- /dev/null
+++ b/dev-games/godot/files/godot-3.5-scons.patch
@@ -0,0 +1,74 @@
+* add option to respect AR
+ (respecting PKG_CONFIG is handled in the ebuild)
+* handle recastnavigation unbundling
+* remove unnecessary opusfile
+* remove unnecessary -no-pie
+* remove -pipe from LDFLAGS, may "possibly" be relevant to:
+  https://bugs.gentoo.org/861689
+  https://github.com/godotengine/godot/commit/f035e784
+--- a/SConstruct
++++ b/SConstruct
+@@ -192,4 +192,5 @@
+ opts.Add("CXX", "C++ compiler")
+ opts.Add("CC", "C compiler")
++opts.Add("AR", "Archiver")
+ opts.Add("LINK", "Linker")
+ opts.Add("CCFLAGS", "Custom flags for both the C and C++ compilers")
+--- a/platform/server/detect.py
++++ b/platform/server/detect.py
+@@ -135,5 +135,4 @@
+ 
+     env.Append(CCFLAGS=["-pipe"])
+-    env.Append(LINKFLAGS=["-pipe"])
+ 
+     ## Dependencies
+@@ -178,4 +177,7 @@
+         env.ParseConfig("pkg-config libenet --cflags --libs")
+ 
++    if not env["builtin_recast"]:
++        env.ParseConfig("pkg-config recastnavigation --cflags --libs")
++
+     if not env["builtin_squish"]:
+         env.ParseConfig("pkg-config libsquish --cflags --libs")
+@@ -205,5 +207,5 @@
+     if not env["builtin_opus"]:
+         env["builtin_libogg"] = False  # Needed to link against system opus
+-        env.ParseConfig("pkg-config opus opusfile --cflags --libs")
++        env.ParseConfig("pkg-config opus --cflags --libs")
+ 
+     if not env["builtin_libogg"]:
+--- a/platform/x11/detect.py
++++ b/platform/x11/detect.py
+@@ -232,17 +232,5 @@
+ 
+     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
+@@ -298,4 +286,7 @@
+         env.ParseConfig("pkg-config libenet --cflags --libs")
+ 
++    if not env["builtin_recast"]:
++        env.ParseConfig("pkg-config recastnavigation --cflags --libs")
++
+     if not env["builtin_squish"]:
+         env.ParseConfig("pkg-config libsquish --cflags --libs")
+@@ -325,5 +316,5 @@
+     if not env["builtin_opus"]:
+         env["builtin_libogg"] = False  # Needed to link against system opus
+-        env.ParseConfig("pkg-config opus opusfile --cflags --libs")
++        env.ParseConfig("pkg-config opus --cflags --libs")
+ 
+     if not env["builtin_libogg"]:

diff --git a/dev-games/godot/godot-3.5.ebuild b/dev-games/godot/godot-3.5.ebuild
new file mode 100644
index 000000000000..3d18204a94a1
--- /dev/null
+++ b/dev-games/godot/godot-3.5.ebuild
@@ -0,0 +1,218 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
+
+DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
+HOMEPAGE="https://godotengine.org/"
+SRC_URI="https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz"
+S="${WORKDIR}/${P}-stable"
+
+LICENSE="
+	MIT
+	Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
+	gui? ( CC-BY-4.0 ) tools? ( BitstreamVera OFL-1.1 )"
+SLOT="3"
+KEYWORDS="~amd64"
+# Enable roughly same as upstream by default so it works as expected,
+# except raycast (tools-only heavy dependency), and deprecated.
+IUSE="
+	+bullet debug deprecated +gui pulseaudio raycast +runner +theora
+	+tools +udev +upnp +webm +webp"
+
+# dlopen: alsa-lib,pulseaudio,udev
+RDEPEND="
+	app-arch/zstd:=
+	dev-games/recastnavigation:=
+	dev-libs/libpcre2:=[pcre32]
+	media-libs/freetype[brotli]
+	media-libs/libpng:=
+	<net-libs/mbedtls-3:=
+	net-libs/wslay
+	sys-libs/zlib:=
+	bullet? ( sci-physics/bullet:= )
+	gui? (
+		media-libs/alsa-lib
+		media-libs/libglvnd[X]
+		x11-libs/libX11
+		x11-libs/libXcursor
+		x11-libs/libXext
+		x11-libs/libXi
+		x11-libs/libXinerama
+		x11-libs/libXrandr
+		x11-libs/libXrender
+		pulseaudio? ( media-libs/libpulse )
+		tools? ( raycast? ( media-libs/embree:3 ) )
+		udev? ( virtual/udev )
+	)
+	theora? (
+		media-libs/libogg
+		media-libs/libtheora
+		media-libs/libvorbis
+	)
+	tools? ( app-misc/ca-certificates )
+	upnp? ( net-libs/miniupnpc:= )
+	webm? (
+		media-libs/libvorbis
+		media-libs/libvpx:=
+		media-libs/opus
+	)
+	webp? ( media-libs/libwebp:= )"
+DEPEND="
+	${RDEPEND}
+	gui? ( x11-base/xorg-proto )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.5-musl.patch
+	"${FILESDIR}"/${PN}-3.5-scons.patch
+)
+
+src_prepare() {
+	default
+
+	sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
+	sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
+	sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
+		-i misc/dist/linux/org.godotengine.Godot.desktop || die
+
+	sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/{x11,server}/detect.py || die
+
+	# use of builtin_ switches can be messy (see below), delete to be sure
+	local unbundle=(
+		bullet embree freetype libogg libpng libtheora libvorbis libvpx
+		libwebp mbedtls miniupnpc opus pcre2 recastnavigation wslay zlib zstd
+		# certs: unused by generated header, but scons panics if not found
+	)
+	rm -r "${unbundle[@]/#/thirdparty/}" || die
+}
+
+src_compile() {
+	local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
+
+	local esconsargs=(
+		AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
+
+		platform=$(usex gui x11 server)
+		progress=no
+		verbose=yes
+
+		deprecated=$(usex deprecated)
+		#execinfo=$(usex !elibc_glibc) # libexecinfo is not packaged
+		minizip=yes # uses a modified bundled copy
+		pulseaudio=$(usex gui $(usex pulseaudio))
+		udev=$(usex gui $(usex udev))
+
+		system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
+
+		# platform/*/detect.py uses builtin_* switches to check if need
+		# to link with system libraries, but ignores whether the dep is
+		# actually used, so "enable" deleted builtins on disabled deps
+		builtin_bullet=$(usex !bullet)
+		builtin_certs=no
+		builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
+		builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
+		builtin_freetype=no
+		builtin_libogg=yes # unused
+		builtin_libpng=no
+		builtin_libtheora=$(usex !theora)
+		builtin_libvorbis=$(usex !theora $(usex !webm))
+		builtin_libvpx=$(usex !webm)
+		builtin_libwebp=$(usex !webp)
+		builtin_mbedtls=no
+		builtin_miniupnpc=$(usex !upnp)
+		builtin_opus=$(usex !webm)
+		builtin_pcre2=no
+		builtin_recast=no
+		builtin_rvo2=yes # bundled copy has godot-specific changes
+		builtin_squish=yes # ^ likewise, may not be safe to unbundle
+		builtin_wslay=no
+		builtin_xatlas=yes # not wired for unbundling nor packaged
+		builtin_zlib=no
+		builtin_zstd=no
+		# also bundled but lacking a builtin_* switch:
+		#	cvtt, etc2comp, fonts, glad, jpeg-compressor, libsimplewebm,
+		#	minimp3, minizip (patched to seek in archives), nanosvg, oidn,
+		#	pvrtccompressor, stb_rect_pack, tinyexr, vhacd, and the misc
+		#	directory.
+
+		# modules with optional dependencies, "possible" to disable more but
+		# gets messy and breaks all sorts of features (expected enabled)
+		module_bullet_enabled=$(usex bullet)
+		module_mono_enabled=no # unhandled
+		module_ogg_enabled=no # unused
+		module_opus_enabled=no # unused, support is gone and webm uses system's
+		# note raycast is disabled on many arches, see raycast/config.py
+		module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
+		module_theora_enabled=$(usex theora)
+		module_upnp_enabled=$(usex upnp)
+		module_vorbis_enabled=no # unused, non-theora/webm uses stb_vorbis
+		module_webm_enabled=$(usex webm)
+		module_webp_enabled=$(usex webp)
+
+		# let *FLAGS handle these, e.g. can pass -flto as-is
+		debug_symbols=no
+		optimize=none
+		use_lto=no
+		use_static_cpp=no
+	)
+
+	if use runner && use tools; then
+		# build alternate faster + ~60% smaller binary for running
+		# games or servers without game development debug paths
+		escons extra_suffix=runner target=release tools=no "${esconsargs[@]}"
+	fi
+
+	esconsargs+=(
+		# debug: debug for godot itself
+		# release_debug: debug for game development
+		# release: no debugging paths, only available with tools=no
+		target=$(usex debug{,} $(usex tools release_debug release))
+		tools=$(usex tools)
+	)
+
+	escons extra_suffix=main "${esconsargs[@]}"
+}
+
+src_install() {
+	local s=godot${SLOT}
+
+	newbin bin/godot*.main ${s}
+	if use runner && use tools; then
+		newbin bin/godot*.runner ${s}-runner
+	else
+		# always available, revdeps shouldn't depend on [runner]
+		dosym ${s} /usr/bin/${s}-runner
+	fi
+
+	newman misc/dist/linux/godot.6 ${s}.6
+	dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
+
+	if use gui; then
+		newicon icon.svg ${s}.svg
+		newmenu misc/dist/linux/org.godotengine.Godot.desktop \
+			org.godotengine.${s^}.desktop
+
+		insinto /usr/share/metainfo
+		newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
+			org.godotengine.${s^}.appdata.xml
+
+		insinto /usr/share/mime/application
+		newins misc/dist/linux/org.godotengine.Godot.xml \
+			org.godotengine.${s^}.xml
+	fi
+
+	newbashcomp misc/dist/shell/godot.bash-completion ${s}
+	bashcomp_alias ${s}{,-runner}
+
+	insinto /usr/share/fish/vendor_completions.d
+	newins misc/dist/shell/godot.fish ${s}.fish
+	dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
+
+	insinto /usr/share/zsh/site-functions
+	newins misc/dist/shell/_godot.zsh-completion _${s}
+	dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
+}

diff --git a/dev-games/godot/metadata.xml b/dev-games/godot/metadata.xml
new file mode 100644
index 000000000000..71f596fee4e9
--- /dev/null
+++ b/dev-games/godot/metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>ionen@gentoo.org</email>
+		<name>Ionen Wolkens</name>
+	</maintainer>
+	<maintainer type="project">
+		<email>games@gentoo.org</email>
+		<name>Gentoo Games Project</name>
+	</maintainer>
+	<longdescription>
+		Godot Engine is a feature-packed, cross-platform game engine
+		to create 2D and 3D games from a unified interface. It provides
+		a comprehensive set of common tools, so that users can focus on
+		making games without having to reinvent the wheel. Games can be
+		exported with one click to a number of platforms, including the
+		major desktop platforms (Linux, macOS, Windows), mobile
+		platforms (Android, iOS), as well as Web-based platforms (HTML5)
+		and consoles.
+	</longdescription>
+	<use>
+		<flag name="bullet">Enable the <pkg>sci-physics/bullet</pkg> module</flag>
+		<flag name="deprecated">Enable support for deprecated features</flag>
+		<flag name="raycast">Enable the raycast Editor module using <pkg>media-libs/embree</pkg></flag>
+		<flag name="runner">Build an additional binary optimized for running games (only relevant with USE=tools)</flag>
+		<flag name="tools">Enable the Godot Editor for game development</flag>
+		<flag name="webm">Enable the WebM module</flag>
+	</use>
+	<upstream>
+		<doc>https://docs.godotengine.org/</doc>
+		<remote-id type="github">godotengine/godot</remote-id>
+	</upstream>
+</pkgmetadata>


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

end of thread, other threads:[~2024-08-29  5:16 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-29  5:16 [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/, dev-games/godot/files/ Ionen Wolkens
  -- strict thread matches above, loose matches on Subject: below --
2023-10-04 14:25 Ionen Wolkens
2023-08-03 11:58 Ionen Wolkens
2023-07-07  9:16 Ionen Wolkens
2023-06-05 13:39 Ionen Wolkens
2023-03-25  3:19 Ionen Wolkens
2023-02-24  9:26 Ionen Wolkens
2023-02-21 12:16 Ionen Wolkens
2023-02-17  1:43 Ionen Wolkens
2022-08-16  0:01 Ionen Wolkens
2022-08-16  0:01 Ionen Wolkens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox