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.
This commit is contained in:
Timothy Sample 2021-02-07 13:38:56 -05:00
parent ee2f074d0b
commit 6bf2fa8d1c
No known key found for this signature in database
GPG key ID: 2AC6A5EC1C357C59

View file

@ -242,7 +242,19 @@ (define gash-utils-boot
(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)))))