all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / Atom feed
From: Vinicius Monego <monego@posteo.net>
To: 48952@debbugs.gnu.org
Cc: Vinicius Monego <monego@posteo.net>
Subject: [bug#48952] [PATCH 2/3] gnu: superstarfighter: Use godot-build-system.
Date: Fri, 11 Jun 2021 00:55:45 +0000	[thread overview]
Message-ID: <20210611005546.429055-2-monego@posteo.net> (raw)
In-Reply-To: <20210611005546.429055-1-monego@posteo.net>

* 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 | 61 +++++++++---------------------------------
 1 file changed, 12 insertions(+), 49 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 2eaea5868e..55f468da2c 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -62,6 +62,7 @@
 ;;; Copyright © 2021 David Pflug <david@pflug.io>
 ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
+;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -199,6 +200,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)
@@ -2464,62 +2466,23 @@ modify quests for the Solarus engine.")))
        (file-name (git-file-name name version))
        (sha256
         (base32 "1fly63yf5ls1xwm15if4lxwy67wi84k4gvjllljpykrl18vw2y0y"))))
-    (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)))))
-    (native-inputs
-     `(("godot-headless" ,godot "headless")))
-    (inputs
-     `(("godot" ,godot)))
+                #:exec game
+                #:icon game
+                #:categories '("Game" "ArcadeGame"))))))))
     (home-page "https://notapixel.itch.io/superstarfighter")
     (synopsis "Fast-paced local multiplayer arcade game")
     (description "In SuperStarfighter, up to four local players compete in a
-- 
2.32.0





  reply	other threads:[~2021-06-11  0:58 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-11  0:53 [bug#48952] [PATCH 0/3] build-system: Add godot-build-system Vinicius Monego
2021-06-11  0:55 ` [bug#48952] [PATCH 1/3] " Vinicius Monego
2021-06-11  0:55   ` Vinicius Monego [this message]
2021-06-11  0:55   ` [bug#48952] [PATCH 3/3] gnu: Add librerama Vinicius Monego

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210611005546.429055-2-monego@posteo.net \
    --to=monego@posteo.net \
    --cc=48952@debbugs.gnu.org \
    --subject='Re: [bug#48952] [PATCH 2/3] gnu: superstarfighter: Use godot-build-system.' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

all messages for Guix-related lists mirrored at yhetil.org

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/guix

Example config snippet for mirrors.


AGPL code for this site: git clone http://ou63pmih66umazou.onion/public-inbox.git