repo/gentoo:master commit in: dev-games/godot/

"Ionen Wolkens" <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1787117968.b465d75560f0703da20ebbbc42ec7f54d04ba39c.ionen@gentoo>
commit:     b465d75560f0703da20ebbbc42ec7f54d04ba39c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 19 02:28:16 2026 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Aug 19 05:39:28 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b465d755

dev-games/godot: add 4.7.2

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

 dev-games/godot/Manifest           |   1 +
 dev-games/godot/godot-4.7.2.ebuild | 247 +++++++++++++++++++++++++++++++++++++
 2 files changed, 248 insertions(+)

diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest
index 90b3f24a8ea3..797551c1fbdd 100644
--- a/dev-games/godot/Manifest
+++ b/dev-games/godot/Manifest
@@ -2,3 +2,4 @@ DIST godot-4.5.2-stable.tar.xz 43877740 BLAKE2B fc54a347534697fa7eea0a53d977689f
 DIST godot-4.6.3-stable.tar.xz 44471880 BLAKE2B 9d4b0fdf4b75db3062e229b2cf43746620e51da83f9859bf06e691d36249bd5394ca8f6086dbc943a7eb4e44f55a28b32fb615fcb94b511bf41ad82dfc718ed9 SHA512 b3e4c63eae7b7e0c47da07ae64d49dca5bf033912ea0a0da5440fcee48b4eb16c75e446374e7916c4ca2c6ff39ed7f3833e4cc2761df73765a660f715770f803
 DIST godot-4.7-stable.tar.xz 46684188 BLAKE2B 6055f1203d5d4f865bee419b7c01eb7603c1cd16895476fd259734c54f68697787ed746d05157bf4f7d4ac9574eb69ce6fc3de3a12aeee38c40084c6e5fada22 SHA512 0afddbd2acb1e2eba0bb2b885d58c321e9b7d4adc30481d7ab70b348dc96d9ccf1c11fd7de39900eb646c543488225280b7321831b0237cde9d27655962fefc0
 DIST godot-4.7.1-stable.tar.xz 47002520 BLAKE2B 0bee8f7f175a0e6ba43458e707ff649e5dc258a1f3d787a4d8504e3cff336305a39eb645faea1afd9e476d6930b89a18ae953e8ee17a328075ef0c70a4c4e9c0 SHA512 27bab3cba3963bd19dcb8d7684e48ddf3c9623ccc94bad23f6f1ada8cf55596178f2aa60508e62172b707c88401efd3c4b8f10245a1adbbcd32599d0fb961c47
+DIST godot-4.7.2-stable.tar.xz 47744300 BLAKE2B d65c8e5b70d590be431a9f0a3630be600d91bb335b4460a9c3f12c3052e7cabb1e02f0f62ba8e85d4e25ed4ad266e84280903277036df5fa08794b62571db127 SHA512 15e23f8423003f5d32da07c34a8651e43af23b050cc0dea2d4fba6944ca445d079edb52b66fdf82b6d5739bba1fe707b9e27b8836b19f09f64f313966160f8fc

diff --git a/dev-games/godot/godot-4.7.2.ebuild b/dev-games/godot/godot-4.7.2.ebuild
new file mode 100644
index 000000000000..b2ef2ff0a759
--- /dev/null
+++ b/dev-games/godot/godot-4.7.2.ebuild
@@ -0,0 +1,247 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{12..14} )
+inherit branding 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://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="0"
+KEYWORDS="~amd64"
+# Enable roughly same as upstream by default so it works as expected,
+# except raycast (tools-only heavy dependency), and deprecated.
+IUSE="
+	accessibility alsa +dbus debug deprecated double-precision +fontconfig
+	+gui pulseaudio raycast speech test +sdl +theora +tools +udev +upnp
+	+vulkan wayland +webp
+"
+REQUIRED_USE="wayland? ( gui )"
+# 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/libjpeg-turbo:=
+	media-libs/libogg
+	media-libs/libpng:=
+	media-libs/libvorbis
+	>=net-libs/mbedtls-3.6.2-r101:3=
+	net-libs/wslay
+	virtual/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:4 ) )
+		vulkan? ( media-libs/vulkan-loader[X,wayland?] )
+	)
+	pulseaudio? ( media-libs/libpulse )
+	sdl? ( media-libs/libsdl3 )
+	speech? ( app-accessibility/speech-dispatcher )
+	theora? (
+		media-libs/libtheora:=
+		tools? ( media-libs/libtheora[encode] )
+	)
+	tools? ( app-misc/ca-certificates )
+	udev? ( virtual/udev )
+	upnp? ( net-libs/miniupnpc:= )
+	wayland? (
+		dev-libs/wayland
+		gui-libs/libdecor
+	)
+	webp? ( media-libs/libwebp:= )
+"
+DEPEND="
+	${RDEPEND}
+	gui? ( x11-base/xorg-proto )
+	tools? ( test? ( dev-cpp/doctest ) )
+"
+BDEPEND="
+	virtual/pkgconfig
+	wayland? ( dev-util/wayland-scanner )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-4.5-scons.patch
+)
+
+src_prepare() {
+	default
+
+	# mbedtls normally has mbedtls.pc, but Gentoo's slotted one is mbedtls-3.pc
+	sed -E "/pkg-config/s/(mbedtls|mbedcrypto|mbedx509)/&-3/g" \
+		-i platform/linuxbsd/detect.py || die
+
+	# <harfbuzz-13 is usable but detect.py assumes >=13, keep support given
+	# >=13 is not in-tree as of the writing of this (bug #978085)
+	if has_version '<media-libs/harfbuzz-13'; then
+		sed -e '/pkg-config/s/ harfbuzz-raster harfbuzz-vector//' \
+			-i platform/linuxbsd/detect.py || die
+	fi
+
+	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 libjpeg-turbo
+		libogg libpng libtheora libvorbis libwebp linuxbsd_headers mbedtls
+		miniupnpc pcre2 recastnavigation sdl 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=${BRANDING_OS_ID} # replaces "custom_build" in version
+
+	tc-export AR CC CXX RANLIB
+	filter-lto #921017
+
+	local esconsargs=(
+		progress=no
+		verbose=yes
+
+		target=$(usex tools editor template_$(usex debug{,} release))
+		dev_build=$(usex debug)
+		tests=$(usex tools $(usex test)) # bakes in --test in final binary
+
+		# TODO?: libgodot requires a separate build given the executable
+		# the library are mutally exculsive and so, unless we really need
+		# it, skipping support to ease maintenance at least for now
+		#library_type=$(usex libgodot shared_library executable)
+
+		accesskit=$(usex accessibility)
+		alsa=$(usex alsa)
+		dbus=$(usex dbus)
+		deprecated=$(usex deprecated)
+		precision=$(usex double-precision double single)
+		execinfo=no # not packaged, disables crash handler if non-glibc
+		fontconfig=$(usex fontconfig)
+		opengl3=$(usex gui)
+		pulseaudio=$(usex pulseaudio)
+		sdl=$(usex sdl)
+		speechd=$(usex speech)
+		udev=$(usex udev)
+		use_sowrap=no
+		use_volk=no # unnecessary when linking directly to libvulkan
+		vulkan=$(usex gui $(usex vulkan))
+		wayland=$(usex wayland)
+		# TODO: retry to add optional USE=X, wayland support is new
+		# and gui build is not well wired to handle USE="-X wayland" yet
+		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_accesskit=yes # not packaged
+		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_libjpeg_turbo=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_openxr=yes # not packaged
+		builtin_pcre2=no
+		builtin_recastnavigation=no
+		builtin_rvo2=yes # bundled copy has godot-specific changes
+		builtin_sdl=$(usex !sdl)
+		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 and USE should
+		# be masked for other keywords if added, 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
+	)
+
+	escons "${esconsargs[@]}"
+}
+
+src_test() {
+	xdg_environment_reset
+
+	bin/godot* --headless --test || die
+}
+
+src_install() {
+	# suffix varies depending on arch/features, use wildcard to simplify
+	newbin bin/godot* godot
+
+	doman misc/dist/linux/godot.6
+	dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
+
+	if use gui; then
+		newicon misc/logo/icon.svg godot.svg
+		domenu misc/dist/linux/org.godotengine.Godot.desktop
+
+		insinto /usr/share/metainfo
+		doins misc/dist/linux/org.godotengine.Godot.appdata.xml
+
+		insinto /usr/share/mime/application
+		doins misc/dist/linux/org.godotengine.Godot.xml
+	fi
+
+	newbashcomp misc/dist/shell/godot.bash-completion godot
+	newfishcomp misc/dist/shell/godot.fish godot.fish
+	newzshcomp misc/dist/shell/_godot.zsh-completion _godot
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.