Subject: [PATCH] gnu: sbcl-triads: Install binary executable.

From: jgart <[email-masked]>
Date: Sat, 5 Nov 2022 09:49:26 -0500

* gnu/packages/lisp-xyz.scm (sbcl-triads): Install binary executable.
[arguments]: Install the triads binary executable in a phase.

Co-authored-by: Charles <[email-masked]>

Hi Guillaume,

I forgot to add in this phase.

thanks in advance,

jgart
---
 gnu/packages/lisp-xyz.scm | 38 +++++++++++++++++++++++++++-----------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 98860f131c..34ad0af1fb 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -24527,20 +24527,36 @@ (define-public sbcl-triads
          (file-name (git-file-name "cl-triads" version))
          (sha256
           (base32 "146mwshynhdw82m2nxrcjvf1nk0z3fn6ywcd2vqxkly5qricc53w"))))
-      (build-system asdf-build-system/sbcl)
-      (arguments
-       '(#:asd-systems '("charje.triads")))
-      (inputs
-       (list sbcl-cl-str
-             sbcl-serapeum
-             sbcl-trivia))
-      (home-page "https://github.com/charJe/triads")
-      (synopsis "Music composition tool to convert roman numerals into triads")
-      (description "Triads is a simple command line tool that reads roman
+    (build-system asdf-build-system/sbcl)
+    (arguments
+      `(#:asd-systems '("charje.triads")
+        #:phases
+        (modify-phases %standard-phases
+          (replace 'build
+            (lambda* (#:key outputs #:allow-other-keys)
+              (setenv "HOME" (getcwd))
+              (system*
+               "sbcl" "--no-userinit"
+               "--eval" "(require :asdf)"
+               "--eval" (string-append
+                         "(require :charje.triads \""
+                         (getcwd) "/charje.triads.asd\")")
+               "--eval" "(asdf:make :charje.triads)")
+              (install-file (string-append (getcwd) "/triads")
+                            (string-append (assoc-ref outputs "out") "/bin"))))
+          (delete 'check)
+          (delete 'create-asdf-configuration))))
+    (inputs
+      (list sbcl-cl-str
+            sbcl-serapeum
+            sbcl-trivia))
+    (home-page "https://github.com/charJe/triads")
+    (synopsis "Music composition tool to convert roman numerals into triads")
+    (description "Triads is a simple command line tool that reads roman
 numeral notation from standard input (or a file) and an musical key and outputs
 the roman numeral in addition to the notes of the triad associated with that
 roman numeral given in the key.")
-      (license license:gpl3))))
+    (license license:gpl3))))
 
 (define-public cl-triads
   (sbcl-package->cl-source-package sbcl-triads))
-- 
2.38.1