[PATCH 0/2] Update godot-lts to 3.5.3.

  • Open
  • quality assurance status badge
Details
One participant
  • Nicolas Graves
Owner
unassigned
Submitted by
Nicolas Graves
Severity
normal
N
N
Nicolas Graves wrote on 19 May 16:55 +0200
(address . guix-patches@gnu.org)(address . ngraves@ngraves.fr)
20240519145601.9772-1-ngraves@ngraves.fr
Nicolas Graves (2):
gnu: godot-lts: Update to 3.5.3.
gnu: godot-lts: Improve package style.

gnu/packages/game-development.scm | 181 +++++++++++++++---------------
1 file changed, 92 insertions(+), 89 deletions(-)

--
2.41.0
N
N
Nicolas Graves wrote on 19 May 18:16 +0200
[PATCH 1/2] gnu: godot-lts: Update to 3.5.3.
(address . 71067@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240519161612.700-1-ngraves@ngraves.fr
* gnu/packages/game-development.scm (godot-lts): Update to 3.5.3.
[arguments]<#:scons>: Update to scons-python. Remove argument.
<#:phases>: Rename phase 'wrap to 'wrap-ld-path, remove mesa-related
comment that seems to be fixed.
[inputs]: Replace freetype by freetype-with-brotli.

Change-Id: Ia83bc33bd0b944342ba413b46f0963d3f2197bf5
---
gnu/packages/game-development.scm | 22 ++++++++--------------
1 file changed, 8 insertions(+), 14 deletions(-)

Toggle diff (89 lines)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 5b7852c4eb9..9591fae7f9e 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1927,7 +1927,7 @@ (define-public openmw
(define-public godot-lts
(package
(name "godot")
- (version "3.4.2")
+ (version "3.5.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1936,7 +1936,7 @@ (define-public godot-lts
(file-name (git-file-name name version))
(sha256
(base32
- "1bm9yl995chvx6jwkdia12yjrgwcpzb1r9bmj606q8z264aw2ma5"))
+ "0zibc6am9axbbm8l57jf2d324a2m44pf6ncp2i4h1b219jjq89l6"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-1)))
@@ -1948,7 +1948,6 @@ (define-public godot-lts
(with-directory-excursion "thirdparty"
(let* ((preserved-files
'("README.md"
- "assimp"
"certs"
"cvtt"
"embree"
@@ -1966,6 +1965,7 @@ (define-public godot-lts
"oidn"
"pvrtccompressor"
"recastnavigation"
+ "rvo2"
"squish"
"stb_rect_pack"
"tinyexr"
@@ -1977,8 +1977,7 @@ (define-public godot-lts
(cons* "." ".." preserved-files)))))))))
(build-system scons-build-system)
(arguments
- `(#:scons ,scons-python2
- #:scons-flags (list "platform=x11" "target=release_debug"
+ `(#:scons-flags (list "platform=x11" "target=release_debug"
;; Avoid using many of the bundled libs.
;; Note: These options can be found in the SConstruct file.
"builtin_bullet=no"
@@ -2032,18 +2031,13 @@ (define-public godot-lts
;; Tell the editor where to find zenity for OS.alert().
(wrap-program (string-append out "/bin/godot")
`("PATH" ":" prefix (,(string-append zenity "/bin")))))))
- (add-after 'install 'wrap
+ (add-after 'install 'wrap-ld-path
(lambda* (#:key inputs outputs #:allow-other-keys)
- ;; FIXME: Mesa tries to dlopen libudev.so.0 and fails. Pending a
- ;; fix of the mesa package we wrap the pcb executable such that
- ;; Mesa can find libudev.so.0 through LD_LIBRARY_PATH.
- ;; also append ld path for pulseaudio and alsa-lib
(let* ((out (assoc-ref outputs "out"))
- (udev_path (string-append (assoc-ref inputs "eudev") "/lib"))
(pulseaudio_path (string-append (assoc-ref inputs "pulseaudio") "/lib"))
(alas_lib_path (string-append (assoc-ref inputs "alsa-lib") "/lib")))
(wrap-program (string-append out "/bin/godot")
- `("LD_LIBRARY_PATH" ":" prefix (,udev_path ,pulseaudio_path ,alas_lib_path))))))
+ `("LD_LIBRARY_PATH" ":" prefix (,pulseaudio_path ,alas_lib_path))))))
(add-after 'install 'install-godot-desktop
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -2064,7 +2058,7 @@ (define-public godot-lts
(inputs
(list alsa-lib
bullet
- freetype
+ freetype-with-brotli
glew
glu
libtheora
@@ -2081,7 +2075,7 @@ (define-public godot-lts
opusfile
pcre2
pulseaudio
- eudev ; FIXME: required by mesa
+ eudev
wslay
zenity
`(,zstd "lib")))
--
2.41.0
N
N
Nicolas Graves wrote on 19 May 18:16 +0200
[PATCH 2/2] gnu: godot-lts: Improve package style.
(address . 71067@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240519161612.700-2-ngraves@ngraves.fr
* gnu/packages/game-development.scm (godot-lts): Re-indent and ensure
max column length to 79.
[arguments]: Use gexp.

Change-Id: I0bedb66a4e7e0ebe6242df885f1e687ce3a43ce0
---
gnu/packages/game-development.scm | 166 ++++++++++++++++--------------
1 file changed, 88 insertions(+), 78 deletions(-)

Toggle diff (188 lines)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 9591fae7f9e..03b6f1df8b9 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -29,6 +29,7 @@
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 dan <i@dan.games>
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1972,86 +1973,95 @@ (define-public godot-lts
"vhacd"
"xatlas")))
(for-each delete-file-recursively
- (lset-difference string=?
- (scandir ".")
- (cons* "." ".." preserved-files)))))))))
+ (lset-difference
+ string=?
+ (scandir ".")
+ (cons* "." ".." preserved-files)))))))))
(build-system scons-build-system)
(arguments
- `(#:scons-flags (list "platform=x11" "target=release_debug"
- ;; Avoid using many of the bundled libs.
- ;; Note: These options can be found in the SConstruct file.
- "builtin_bullet=no"
- "builtin_freetype=no"
- "builtin_glew=no"
- "builtin_libmpdec=no"
- "builtin_libogg=no"
- "builtin_libpng=no"
- "builtin_libtheora=no"
- "builtin_libvorbis=no"
- "builtin_libvpx=no"
- "builtin_libwebp=no"
- "builtin_mbedtls=no"
- "builtin_opus=no"
- "builtin_pcre2=no"
- "builtin_wslay=no"
- "builtin_zlib=no"
- "builtin_zstd=no")
- #:tests? #f ; There are no tests
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'scons-use-env
- (lambda _
- ;; Scons does not use the environment variables by default,
- ;; but this substitution makes it do so.
- (substitute* "SConstruct"
- (("env_base = Environment\\(tools=custom_tools\\)")
- (string-append
- "env_base = Environment(tools=custom_tools)\n"
- "env_base = Environment(ENV=os.environ)")))))
- ;; Build headless tools, used for packaging games without depending on X.
- (add-after 'build 'build-headless
- (lambda* (#:key scons-flags #:allow-other-keys)
- (apply invoke "scons"
- `(,(string-append "-j" (number->string (parallel-job-count)))
- "platform=server" ,@(delete "platform=x11" scons-flags)))))
- (replace 'install
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (headless (assoc-ref outputs "headless"))
- (zenity (assoc-ref inputs "zenity")))
- ;; Strip build info from filenames.
- (with-directory-excursion "bin"
- (for-each
- (lambda (file)
- (let ((dest (car (string-split (basename file) #\.))))
- (rename-file file dest)))
- (find-files "." "godot.*\\.x11\\.opt\\.tools.*"))
- (install-file "godot" (string-append out "/bin"))
- (install-file "godot_server" (string-append headless "/bin")))
- ;; Tell the editor where to find zenity for OS.alert().
- (wrap-program (string-append out "/bin/godot")
- `("PATH" ":" prefix (,(string-append zenity "/bin")))))))
- (add-after 'install 'wrap-ld-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (pulseaudio_path (string-append (assoc-ref inputs "pulseaudio") "/lib"))
- (alas_lib_path (string-append (assoc-ref inputs "alsa-lib") "/lib")))
- (wrap-program (string-append out "/bin/godot")
- `("LD_LIBRARY_PATH" ":" prefix (,pulseaudio_path ,alas_lib_path))))))
- (add-after 'install 'install-godot-desktop
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (applications (string-append out "/share/applications"))
- (icons (string-append out "/share/icons/hicolor")))
- (mkdir-p applications)
- (copy-file "misc/dist/linux/org.godotengine.Godot.desktop"
- (string-append applications "/godot.desktop"))
- (for-each (lambda (icon dest)
- (mkdir-p (dirname dest))
- (copy-file icon dest))
- '("icon.png" "icon.svg")
- `(,(string-append icons "/256x256/apps/godot.png")
- ,(string-append icons "/scalable/apps/godot.svg")))))))))
+ (list
+ ;; Avoid using many of the bundled libs.
+ ;; Note: These options can be found in the SConstruct file.
+ #:scons-flags #~(list "platform=x11" "target=release_debug"
+ "builtin_bullet=no"
+ "builtin_freetype=no"
+ "builtin_glew=no"
+ "builtin_libmpdec=no"
+ "builtin_libogg=no"
+ "builtin_libpng=no"
+ "builtin_libtheora=no"
+ "builtin_libvorbis=no"
+ "builtin_libvpx=no"
+ "builtin_libwebp=no"
+ "builtin_mbedtls=no"
+ "builtin_opus=no"
+ "builtin_pcre2=no"
+ "builtin_wslay=no"
+ "builtin_zlib=no"
+ "builtin_zstd=no")
+ #:tests? #f ; There are no tests
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'scons-use-env
+ (lambda _
+ ;; Scons does not use the environment variables by default,
+ ;; but this substitution makes it do so.
+ (substitute* "SConstruct"
+ (("env_base = Environment\\(tools=custom_tools\\)")
+ (string-append
+ "env_base = Environment(tools=custom_tools)\n"
+ "env_base = Environment(ENV=os.environ)")))))
+ ;; Build headless tools, to package games without depending on X.
+ (add-after 'build 'build-headless
+ (lambda* (#:key scons-flags #:allow-other-keys)
+ (apply invoke "scons"
+ `(,(string-append
+ "-j" (number->string (parallel-job-count)))
+ "platform=server"
+ ,@(delete "platform=x11" scons-flags)))))
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (headless (assoc-ref outputs "headless"))
+ (zenity (assoc-ref inputs "zenity")))
+ ;; Strip build info from filenames.
+ (with-directory-excursion "bin"
+ (for-each
+ (lambda (file)
+ (let ((dest (car (string-split (basename file) #\.))))
+ (rename-file file dest)))
+ (find-files "." "godot.*\\.x11\\.opt\\.tools.*"))
+ (install-file "godot" (string-append out "/bin"))
+ (install-file "godot_server"
+ (string-append headless "/bin")))
+ ;; Tell the editor where to find zenity for OS.alert().
+ (wrap-program (string-append out "/bin/godot")
+ `("PATH" ":" prefix (,(string-append zenity "/bin")))))))
+ (add-after 'install 'wrap-ld-path
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (pulseaudio_path (string-append
+ (assoc-ref inputs "pulseaudio") "/lib"))
+ (alas_lib_path (string-append
+ (assoc-ref inputs "alsa-lib") "/lib")))
+ (wrap-program (string-append out "/bin/godot")
+ `("LD_LIBRARY_PATH" ":" prefix
+ (,pulseaudio_path ,alas_lib_path))))))
+ (add-after 'install 'install-godot-desktop
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (applications (string-append out "/share/applications"))
+ (icons (string-append out "/share/icons/hicolor")))
+ (mkdir-p applications)
+ (copy-file "misc/dist/linux/org.godotengine.Godot.desktop"
+ (string-append applications "/godot.desktop"))
+ (for-each (lambda (icon dest)
+ (mkdir-p (dirname dest))
+ (copy-file icon dest))
+ '("icon.png" "icon.svg")
+ `(,(string-append icons "/256x256/apps/godot.png")
+ ,(string-append icons
+ "/scalable/apps/godot.svg")))))))))
(outputs '("out" "headless"))
(native-inputs
(list pkg-config))
--
2.41.0
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 71067@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 71067
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch