summary refs log tree commit diff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2022-02-07 12:02:11 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2022-02-07 12:02:11 +0100
commit7047ca22e6f6f8f5981ce53d537e7ce557bc9559 (patch)
tree6d1f6a84fd0967718834a85f5b92db21751ee470
parent644be96305ba80e25c4a80cdbfe311cfe8df5f07 (diff)
downloadguix-7047ca22e6f6f8f5981ce53d537e7ce557bc9559.tar.gz
gnu: flare-game: Improve package style.
* gnu/packages/games.scm (flare-game)[arguments]: Use G-expressions.  Use
SEARCH-INPUT-DIRECTORY and SEARCH-INPUT-FILE.
-rw-r--r--gnu/packages/games.scm77
1 files changed, 37 insertions, 40 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 528c8c9a6d..ac79b6718a 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -8951,48 +8951,45 @@ action RPGs.")
                 "0l0d4j2l1szdwrk8casaiskdk16wkbmms7cid4y751d42czg4ffw"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f                      ;no test
-       #:configure-flags '("-DDATADIR=share/flare")
-       #:phases
-       (modify-phases %standard-phases
-         ;; Flare expects the mods to be located in the same folder.
-         ;; Yet, "default" mod is in the engine, whereas the others
-         ;; are in the current package.  Merge everything here with
-         ;; a symlink.
-         (add-after 'install 'add-default-mod
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (mods (string-append out "/share/flare/mods")))
-               (with-directory-excursion mods
-                 (symlink (string-append (assoc-ref inputs "flare-engine")
-                                         "/share/flare/mods/default")
-                          "default")
-                 (symlink (string-append (assoc-ref inputs "flare-engine")
-                                         "/share/flare/mods/mods.txt")
-                          "mods.txt")))
-             #t))
-         (add-after 'install 'install-executable
-           ;; The package only provides assets for the game, the
-           ;; executable coming from "flare-engine".  Since more than
-           ;; one game may use the engine, we create a new executable,
-           ;; "flare-game", which launches the engine with appropriate
-           ;; parameters.
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (bash (search-input-file inputs "/bin/bash"))
+     (list
+      #:tests? #f                       ;no test
+      #:configure-flags #~(list "-DDATADIR=share/flare")
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; Flare expects the mods to be located in the same folder.
+          ;; Yet, "default" mod is in the engine, whereas the others
+          ;; are in the current package.  Merge everything here with
+          ;; a symlink.
+          (add-after 'install 'add-default-mod
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((mods (string-append #$output "/share/flare/mods")))
+                (with-directory-excursion mods
+                  (symlink (search-input-directory inputs
+                                                   "/share/flare/mods/default")
+                           "default")
+                  (symlink (search-input-file inputs
+                                              "/share/flare/mods/mods.txt")
+                           "mods.txt")))))
+          (add-after 'install 'install-executable
+            ;; The package only provides assets for the game, the
+            ;; executable coming from "flare-engine".  Since more than
+            ;; one game may use the engine, we create a new executable,
+            ;; "flare-game", which launches the engine with appropriate
+            ;; parameters.
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((bash (search-input-file inputs "/bin/bash"))
                     (flare (search-input-file inputs "/bin/flare"))
-                    (script (string-append out "/bin/flare-game")))
-               (mkdir-p (dirname script))
-               (call-with-output-file script
-                 (lambda (port)
-                   (format port
-                           "#!~a
+                    (script (string-append #$output "/bin/flare-game")))
+                (mkdir-p (dirname script))
+                (call-with-output-file script
+                  (lambda (port)
+                    (format port
+                            "#!~a
 exec ~a --data-path=~a/share/flare --mods=empyrean_campaign~%"
-                           bash
-                           flare
-                           out)))
-               (chmod script #o755))
-             #t)))))
+                            bash
+                            flare
+                            #$output)))
+                (chmod script #o755)))))))
     (inputs
      (list flare-engine))
     (home-page "http://www.flarerpg.org/")