summaryrefslogtreecommitdiff
path: root/gnu/packages/game-development.scm
diff options
context:
space:
mode:
authorJohn Kehayias <john@guixotic.coop>2026-02-03 17:46:58 -0500
committerJohn Kehayias <john@guixotic.coop>2026-02-04 12:31:20 -0500
commitd752617287f3dbf94c049b68e61d8cac7a3bd7ad (patch)
tree7fd339230f4dc6abe92dd3fa861851ade163bab1 /gnu/packages/game-development.scm
parent726510888ad4f4c621a2aa380aec59d6e61d7300 (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.scm42
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