From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 8A4D015800D for ; Fri, 7 Jul 2023 09:16:44 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 96AF4E07B3; Fri, 7 Jul 2023 09:16:43 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 79705E07B3 for ; Fri, 7 Jul 2023 09:16:43 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 42BE833BE65 for ; Fri, 7 Jul 2023 09:16:42 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 743A6AC3 for ; Fri, 7 Jul 2023 09:16:40 +0000 (UTC) From: "Ionen Wolkens" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ionen Wolkens" Message-ID: <1688721381.ff8e8aed00ded4a725808afd21213888fcdc6f6f.ionen@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-games/godot/, dev-games/godot/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-games/godot/Manifest dev-games/godot/files/godot-4.1-xkb-no-sowrap.patch dev-games/godot/godot-4.1.ebuild X-VCS-Directories: dev-games/godot/files/ dev-games/godot/ X-VCS-Committer: ionen X-VCS-Committer-Name: Ionen Wolkens X-VCS-Revision: ff8e8aed00ded4a725808afd21213888fcdc6f6f X-VCS-Branch: master Date: Fri, 7 Jul 2023 09:16:40 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 2cc3ae0f-dca1-4427-bd94-d8cdbf0fad76 X-Archives-Hash: 9f0684e66b67a2e6c88a3de2ce088c73 commit: ff8e8aed00ded4a725808afd21213888fcdc6f6f Author: Ionen Wolkens gentoo org> AuthorDate: Fri Jul 7 09:16:08 2023 +0000 Commit: Ionen Wolkens gentoo 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 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?= +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 +