guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

07/12: gnu: gash-utils-boot: Create 'echo' wrapper.


From: guix-commits
Subject: 07/12: gnu: gash-utils-boot: Create 'echo' wrapper.
Date: Sat, 19 Mar 2022 15:42:20 -0400 (EDT)

samplet pushed a commit to branch core-updates
in repository guix.

commit 6bf2fa8d1c79accc85aee987687c5d8f375b3d2c
Author: Timothy Sample <samplet@ngyro.com>
AuthorDate: Sun Feb 7 13:38:56 2021 -0500

    gnu: gash-utils-boot: Create 'echo' wrapper.
    
    * gnu/packages/commencement.scm (gash-utils-boot)[arguments]: Add a
    phase that generates an external wrapper for Gash's 'echo' built-in.
---
 gnu/packages/commencement.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index e63c0b3437..df91f57b59 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -242,7 +242,19 @@ pure Scheme to Tar and decompression in one easy step.")
                  (copy-file (string-append gash-godir "/gash/compat.go")
                             (string-append godir "/gash/compat.go"))
                  (copy-recursively (string-append gash-godir "/gash/compat")
-                                   (string-append godir "/gash/compat")))))))))
+                                   (string-append godir "/gash/compat")))))
+           ;; We need an external echo.
+           (add-after 'install 'make-echo
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (gash (assoc-ref inputs "gash")))
+                 (with-output-to-file (string-append out "/bin/echo")
+                   (lambda ()
+                     (display (string-append "#!" gash "/bin/gash\n"))
+                     (newline)
+                     (display "echo \"$@\"")
+                     (newline)))
+                 (chmod (string-append out "/bin/echo") #o755))))))))
     (inputs `(("gash" ,gash-boot)
               ("guile" ,%bootstrap-guile)))
     (native-inputs `(("bootar" ,bootar)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]