diff mbox series

[bug#48952,v2,2/6] gnu: superstarfighter: Use godot-build-system.

Message ID 20211221235548.130808-3-monego@posteo.net
State New
Headers show
Series Add godot-build-system (v2). | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Vinicius Monego Dec. 21, 2021, 11:55 p.m. UTC
* gnu/packages/games.scm (superstarfighter)[build-system]: Use
godot-build-system.
[arguments]: Remove #:tests?. <#:game, #:project-directory>: New fields.
<#:phases>: Do not replace configure, build and install. Add phase
'install-desktop-file after 'install.
---
 gnu/packages/games.scm | 54 +++++++++---------------------------------
 1 file changed, 11 insertions(+), 43 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 6258d65f97..a701f7aa94 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -67,6 +67,7 @@ 
 ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2021 Christopher Baines <mail@cbaines.net>
+;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -209,6 +210,7 @@ 
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
+  #:use-module (guix build-system godot)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
@@ -2562,59 +2564,25 @@  modify quests for the Solarus engine.")))
              (commit "32521f467616bb390e3929d07e1936ff43fe64da")))
        (file-name (git-file-name name version))
        (sha256
+
         (base32 "1ckghzrfgvk9z1n5f4ivnamm6s8h9sbv0a3aq9pp4a3yrhkgld0k"))))
-    (build-system gnu-build-system)
+    (build-system godot-build-system)
     (arguments
-     `(#:tests? #f                      ;there are no tests
+     `(#:game ,name
+       #:project-directory "godot"
        #:phases
        (modify-phases %standard-phases
-         (replace 'configure
-           (lambda _
-             (chdir "godot")
-             (setenv "HOME" (getcwd))
-             (with-output-to-file "export_presets.cfg"
-               (lambda ()
-                 (display
-                  "[preset.0]
-name=\"Guix\"
-platform=\"Linux/X11\"
-runnable=true
-[preset.0.options]")))
-             #t))
-         (replace 'build
-           (lambda _
-             (let ((godot (assoc-ref %build-inputs "godot-headless")))
-               (invoke (string-append godot "/bin/godot_server")
-                       "--export-pack" "Guix"
-                       "superstarfighter.pck" "project.godot"))
-             #t))
-         (replace 'install
-           (lambda* (#:key inputs outputs #:allow-other-keys)
+         (add-after 'install 'install-desktop-file
+           (lambda* (#:key inputs outputs game #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
-                    (bin (string-append out "/bin"))
-                    (share (string-append out "/share"))
-                    (data (string-append share "/superstarfighter"))
-                    (icons (string-append share "/icons/hicolor/256x256/apps")))
-               (install-file "superstarfighter.pck" data)
-               (mkdir-p bin)
-               (call-with-output-file (string-append bin "/superstarfighter")
-                 (lambda (port)
-                   (format port
-                           "#!/bin/sh~@
-                            exec ~a/bin/godot --main-pack ~a/superstarfighter.pck~%"
-                           (assoc-ref inputs "godot")
-                           data)
-                   (chmod port #o755)))
-               (mkdir-p icons)
-               (copy-file "icon.png" (string-append icons "/" ,name ".png"))
+                    (share (string-append out "/share")))
                (make-desktop-entry-file
-                (string-append share "/applications/" ,name ".desktop")
+                (string-append share "/applications/" game ".desktop")
                 #:name "SuperStarfighter"
                 #:comment "Fast-paced arcade combat game"
                 #:exec ,name
                 #:icon ,name
-                #:categories '("Game" "ArcadeGame")))
-             #t)))))
+                #:categories '("Game" "ArcadeGame"))))))))
     (native-inputs
      `(("godot-headless" ,godot "headless")))
     (inputs