unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#71067] [PATCH 0/2] Update godot-lts to 3.5.3.
@ 2024-05-19 14:55 Nicolas Graves via Guix-patches via
  2024-05-19 16:16 ` [bug#71067] [PATCH 1/2] gnu: godot-lts: Update " Nicolas Graves via Guix-patches via
  0 siblings, 1 reply; 3+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-05-19 14:55 UTC (permalink / raw)
  To: 71067; +Cc: ngraves

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





^ permalink raw reply	[flat|nested] 3+ messages in thread

* [bug#71067] [PATCH 1/2] gnu: godot-lts: Update to 3.5.3.
  2024-05-19 14:55 [bug#71067] [PATCH 0/2] Update godot-lts to 3.5.3 Nicolas Graves via Guix-patches via
@ 2024-05-19 16:16 ` Nicolas Graves via Guix-patches via
  2024-05-19 16:16   ` [bug#71067] [PATCH 2/2] gnu: godot-lts: Improve package style Nicolas Graves via Guix-patches via
  0 siblings, 1 reply; 3+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-05-19 16:16 UTC (permalink / raw)
  To: 71067; +Cc: ngraves

* 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(-)

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





^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#71067] [PATCH 2/2] gnu: godot-lts: Improve package style.
  2024-05-19 16:16 ` [bug#71067] [PATCH 1/2] gnu: godot-lts: Update " Nicolas Graves via Guix-patches via
@ 2024-05-19 16:16   ` Nicolas Graves via Guix-patches via
  0 siblings, 0 replies; 3+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-05-19 16:16 UTC (permalink / raw)
  To: 71067; +Cc: ngraves

* 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(-)

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





^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-05-19 16:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-19 14:55 [bug#71067] [PATCH 0/2] Update godot-lts to 3.5.3 Nicolas Graves via Guix-patches via
2024-05-19 16:16 ` [bug#71067] [PATCH 1/2] gnu: godot-lts: Update " Nicolas Graves via Guix-patches via
2024-05-19 16:16   ` [bug#71067] [PATCH 2/2] gnu: godot-lts: Improve package style Nicolas Graves via Guix-patches via

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).