diff options
| author | John Kehayias <john@guixotic.coop> | 2026-02-03 17:46:58 -0500 |
|---|---|---|
| committer | John Kehayias <john@guixotic.coop> | 2026-02-04 12:31:20 -0500 |
| commit | d752617287f3dbf94c049b68e61d8cac7a3bd7ad (patch) | |
| tree | 7fd339230f4dc6abe92dd3fa861851ade163bab1 /gnu/packages/game-development.scm | |
| parent | 726510888ad4f4c621a2aa380aec59d6e61d7300 (diff) | |
gnu: godot: Update to 4.6.
* gnu/packages/game-development.scm (godot): Update to 4.6.
[source]: Remove libjpeg-turbo patch and add glslang patch. Update snippet to
preserve dr_libs and re-spirv and remove glslang.
[arguments]<#:scons-flags>: Disable builtin glslang.
<#:phases>: Add unpack-mesa and use-system-spirv phases. Add file from mesa
to unbundle-wayland phase.
[inputs]: Add spirv-headers and change zstd to zstd-1.5.7.
* gnu/packages/patches/godot-glslang.patch: New file.
* gnu/local.mk (dist_patch_DATA): Update to current patch for godot.
Change-Id: I9b0daf4d25d317f2de3333a9adeaafbf548e0e2f
Diffstat (limited to 'gnu/packages/game-development.scm')
| -rw-r--r-- | gnu/packages/game-development.scm | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 5cecbf69636..26dd7489b82 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm | |||
| @@ -29,7 +29,7 @@ | |||
| 29 | ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> | 29 | ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> |
| 30 | ;;; Copyright © 2022 dan <i@dan.games> | 30 | ;;; Copyright © 2022 dan <i@dan.games> |
| 31 | ;;; Copyright © 2022 Cairn <cairn@pm.me> | 31 | ;;; Copyright © 2022 Cairn <cairn@pm.me> |
| 32 | ;;; Copyright © 2023, 2024 John Kehayias <john.kehayias@protonmail.com> | 32 | ;;; Copyright © 2023-2026 John Kehayias <john.kehayias@protonmail.com> |
| 33 | ;;; Copyright © 2022-2023, 2025 Adam Faiz <adam.faiz@disroot.org> | 33 | ;;; Copyright © 2022-2023, 2025 Adam Faiz <adam.faiz@disroot.org> |
| 34 | ;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> | 34 | ;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> |
| 35 | ;;; Copyright © 2024-2025 Maxim Cournoyer <maxim@guixotic.coop> | 35 | ;;; Copyright © 2024-2025 Maxim Cournoyer <maxim@guixotic.coop> |
| @@ -2547,7 +2547,7 @@ scripted in a Python-like language.") | |||
| 2547 | (define-public godot | 2547 | (define-public godot |
| 2548 | (package | 2548 | (package |
| 2549 | (name "godot") | 2549 | (name "godot") |
| 2550 | (version "4.5") | 2550 | (version "4.6") |
| 2551 | (source (origin | 2551 | (source (origin |
| 2552 | (method git-fetch) | 2552 | (method git-fetch) |
| 2553 | (uri (git-reference | 2553 | (uri (git-reference |
| @@ -2556,10 +2556,10 @@ scripted in a Python-like language.") | |||
| 2556 | (file-name (git-file-name name version)) | 2556 | (file-name (git-file-name name version)) |
| 2557 | (sha256 | 2557 | (sha256 |
| 2558 | (base32 | 2558 | (base32 |
| 2559 | "0s9ymgy9cwnk4v35qpn9fm993pn64h1i5k9khpd7mqs6023hl8i4")) | 2559 | "1lwjydaa4cvnfrllxlryppcfmba3qq1518zi4qr5580n731xfg10")) |
| 2560 | ;; TODO: Remove this patch on next update as it was merged post | 2560 | ;; TODO: Remove on next release; see |
| 2561 | ;; 4.5 release. | 2561 | ;; <https://github.com/godotengine/godot/pull/93478>. |
| 2562 | (patches (search-patches "godot-libjpeg-turbo-unbundle.patch")) | 2562 | (patches (search-patches "godot-glslang.patch")) |
| 2563 | (modules '((guix build utils) | 2563 | (modules '((guix build utils) |
| 2564 | (ice-9 ftw) | 2564 | (ice-9 ftw) |
| 2565 | (srfi srfi-1))) | 2565 | (srfi srfi-1))) |
| @@ -2582,17 +2582,12 @@ scripted in a Python-like language.") | |||
| 2582 | "certs" | 2582 | "certs" |
| 2583 | "clipper2" | 2583 | "clipper2" |
| 2584 | "cvtt" | 2584 | "cvtt" |
| 2585 | "dr_libs" | ||
| 2585 | "linuxbsd_headers" | 2586 | "linuxbsd_headers" |
| 2586 | "etc2comp" | 2587 | "etc2comp" |
| 2587 | "etcpak" | 2588 | "etcpak" |
| 2588 | "fonts" | 2589 | "fonts" |
| 2589 | "glad" | 2590 | "glad" |
| 2590 | ;; TODO: Remove once Godot once again builds | ||
| 2591 | ;; with our glslang package, or with a | ||
| 2592 | ;; workaround. Currently it looks for a Types.h | ||
| 2593 | ;; which is no longer in the glslang output | ||
| 2594 | ;; after the most recent update. | ||
| 2595 | "glslang" | ||
| 2596 | ;; This is part of the simdjson package though | 2591 | ;; This is part of the simdjson package though |
| 2597 | ;; modified by Godot. | 2592 | ;; modified by Godot. |
| 2598 | "grisu2" | 2593 | "grisu2" |
| @@ -2612,6 +2607,7 @@ scripted in a Python-like language.") | |||
| 2612 | "oidn" | 2607 | "oidn" |
| 2613 | "openxr" | 2608 | "openxr" |
| 2614 | "pvrtccompressor" | 2609 | "pvrtccompressor" |
| 2610 | "re-spirv" | ||
| 2615 | "recastnavigation" | 2611 | "recastnavigation" |
| 2616 | "rvo2" | 2612 | "rvo2" |
| 2617 | "smaa" | 2613 | "smaa" |
| @@ -2639,9 +2635,7 @@ scripted in a Python-like language.") | |||
| 2639 | "builtin_embree=no" | 2635 | "builtin_embree=no" |
| 2640 | "builtin_enet=no" | 2636 | "builtin_enet=no" |
| 2641 | "builtin_freetype=no" | 2637 | "builtin_freetype=no" |
| 2642 | ;; TODO: Uncomment this option when the todo for | 2638 | "builtin_glslang=no" |
| 2643 | ;; glslang in the snippet is resolved. | ||
| 2644 | ;; "builtin_glslang=no" | ||
| 2645 | "builtin_graphite=no" | 2639 | "builtin_graphite=no" |
| 2646 | "builtin_harfbuzz=no" | 2640 | "builtin_harfbuzz=no" |
| 2647 | "builtin_icu4c=no" | 2641 | "builtin_icu4c=no" |
| @@ -2734,7 +2728,12 @@ scripted in a Python-like language.") | |||
| 2734 | (("./thirdparty/linuxbsd_headers/xkbcommon/xkbcommon-keysyms.h") | 2728 | (("./thirdparty/linuxbsd_headers/xkbcommon/xkbcommon-keysyms.h") |
| 2735 | (string-append | 2729 | (string-append |
| 2736 | (search-input-file inputs "include/xkbcommon/xkbcommon-keysyms.h")))))) | 2730 | (search-input-file inputs "include/xkbcommon/xkbcommon-keysyms.h")))))) |
| 2737 | (add-after 'unbundle-xkbcommon 'unbundle-wayland | 2731 | (add-after 'unbundle-xkbcommon 'unpack-mesa |
| 2732 | (lambda _ | ||
| 2733 | (mkdir "mesa-src") | ||
| 2734 | (invoke "tar" "--strip-components=1" "-C" | ||
| 2735 | "mesa-src" "-xf" #$(package-source mesa)))) | ||
| 2736 | (add-after 'unpack-mesa 'unbundle-wayland | ||
| 2738 | (lambda* (#:key inputs #:allow-other-keys) | 2737 | (lambda* (#:key inputs #:allow-other-keys) |
| 2739 | (substitute* "platform/linuxbsd/wayland/SCsub" | 2738 | (substitute* "platform/linuxbsd/wayland/SCsub" |
| 2740 | ;; This first file does not exist in a "protocol" directory of | 2739 | ;; This first file does not exist in a "protocol" directory of |
| @@ -2742,6 +2741,9 @@ scripted in a Python-like language.") | |||
| 2742 | ;; other substitutions. | 2741 | ;; other substitutions. |
| 2743 | (("#thirdparty/wayland/protocol/wayland.xml") | 2742 | (("#thirdparty/wayland/protocol/wayland.xml") |
| 2744 | (search-input-file inputs "share/wayland/wayland.xml")) | 2743 | (search-input-file inputs "share/wayland/wayland.xml")) |
| 2744 | ;; And this one is from the mesa source. | ||
| 2745 | (("#thirdparty/wayland-protocols/mesa/wayland-drm.xml") | ||
| 2746 | "../../../mesa-src/src/egl/wayland/wayland-drm/wayland-drm.xml") | ||
| 2745 | (("#thirdparty/wayland-protocols") | 2747 | (("#thirdparty/wayland-protocols") |
| 2746 | (string-append | 2748 | (string-append |
| 2747 | #$(this-package-input "wayland-protocols") "/share/wayland-protocols")) | 2749 | #$(this-package-input "wayland-protocols") "/share/wayland-protocols")) |
| @@ -2755,6 +2757,11 @@ scripted in a Python-like language.") | |||
| 2755 | (copy-recursively (string-append #$(this-package-input "vulkan-volk") | 2757 | (copy-recursively (string-append #$(this-package-input "vulkan-volk") |
| 2756 | "/include") | 2758 | "/include") |
| 2757 | volk-dir)))) | 2759 | volk-dir)))) |
| 2760 | (add-after 'unbundle-volk 'use-system-spirv | ||
| 2761 | (lambda _ | ||
| 2762 | (substitute* "thirdparty/spirv-reflect/spirv_reflect.h" | ||
| 2763 | (("#if defined\\(SPIRV_REFLECT_USE_SYSTEM_SPIRV_H\\)") | ||
| 2764 | "#if 1")))) | ||
| 2758 | (replace 'install | 2765 | (replace 'install |
| 2759 | (lambda* (#:key inputs #:allow-other-keys) | 2766 | (lambda* (#:key inputs #:allow-other-keys) |
| 2760 | (let ((zenity (search-input-file inputs "bin/zenity"))) | 2767 | (let ((zenity (search-input-file inputs "bin/zenity"))) |
| @@ -2823,13 +2830,14 @@ scripted in a Python-like language.") | |||
| 2823 | pulseaudio | 2830 | pulseaudio |
| 2824 | sdl3 | 2831 | sdl3 |
| 2825 | speech-dispatcher | 2832 | speech-dispatcher |
| 2833 | spirv-headers | ||
| 2826 | vulkan-volk | 2834 | vulkan-volk |
| 2827 | wayland | 2835 | wayland |
| 2828 | wayland-protocols | 2836 | wayland-protocols |
| 2829 | wslay | 2837 | wslay |
| 2830 | zenity | 2838 | zenity |
| 2831 | zlib | 2839 | zlib |
| 2832 | `(,zstd "lib"))) | 2840 | `(,zstd-1.5.7 "lib"))) |
| 2833 | (home-page "https://godotengine.org/") | 2841 | (home-page "https://godotengine.org/") |
| 2834 | (synopsis "Advanced 2D and 3D game engine") | 2842 | (synopsis "Advanced 2D and 3D game engine") |
| 2835 | (description | 2843 | (description |
