From 18f7a56819a8998c0e1a025f1efc23ee42a8c028 Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Tue, 21 Feb 2023 17:01:43 -0500 Subject: dev-games/godot: add 4.0_rc3 This introduces the "use_sowrap" option which allows not only to unbundle linuxbsd_headers (dbus, fontconfig, etc..), but also properly link with everything rather than do dlopen hacks. So we disable it, and this brings back USE flags for these rather than optfeatures. However need to keep an eye on it, if libraries are not found then it silently disables features rather than fail with the option enabled. Can also get rid of a few workarounds (most header symlinks, icu and recast bit in scons patch), seems upstream did some reviewing for the unbundling options in general. Signed-off-by: Ionen Wolkens --- dev-games/godot/Manifest | 1 + dev-games/godot/files/godot-4.0_rc3-scons.patch | 15 ++ dev-games/godot/godot-4.0_rc3.ebuild | 234 ++++++++++++++++++++++++ dev-games/godot/metadata.xml | 1 + 4 files changed, 251 insertions(+) create mode 100644 dev-games/godot/files/godot-4.0_rc3-scons.patch create mode 100644 dev-games/godot/godot-4.0_rc3.ebuild (limited to 'dev-games') diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest index 27ef6eb38c2f..813045e92311 100644 --- a/dev-games/godot/Manifest +++ b/dev-games/godot/Manifest @@ -1,2 +1,3 @@ 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_rc3-scons.patch b/dev-games/godot/files/godot-4.0_rc3-scons.patch new file mode 100644 index 000000000000..682e1510ac94 --- /dev/null +++ b/dev-games/godot/files/godot-4.0_rc3-scons.patch @@ -0,0 +1,15 @@ +--- 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-4.0_rc3.ebuild b/dev-games/godot/godot-4.0_rc3.ebuild new file mode 100644 index 000000000000..584b6bf6273e --- /dev/null +++ b/dev-games/godot/godot-4.0_rc3.ebuild @@ -0,0 +1,234 @@ +# 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 + +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" +# 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" +# tests need more figuring out, they are still somewhat new and volatile +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 + Enable support for deprecated features Enable the raycast Editor module using media-libs/embree Build an additional binary optimized for running games (only relevant with USE=tools) + Enable text-to-speech support Enable the Godot Editor for game development Enable support for Vulkan Enable the WebM module -- cgit v1.2.3-65-gdbad