[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
07/15: gnu: Add gash. WIP
From: |
guix-commits |
Subject: |
07/15: gnu: Add gash. WIP |
Date: |
Wed, 5 Dec 2018 16:57:53 -0500 (EST) |
janneke pushed a commit to branch wip-bootstrap
in repository guix.
commit b8d606744843879cd654d304d3b92e802cfe01cb
Author: Jan Nieuwenhuizen <address@hidden>
Date: Sun Oct 28 00:55:54 2018 +0200
gnu: Add gash. WIP
* gnu/packages/guile.scm (guile-gash): New variable.
---
gnu/packages/guile.scm | 104 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 103 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index bf2f2a1..e37528d 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -2104,7 +2104,7 @@ messaging library.")
(license license:gpl3+))))
(define-public jupyter-guile-kernel
- (let ((commit "a7db9245a886e104138474df46c3e88b95cff629")
+ (let ((commit "5d734541a79646d5be02aeb8ba48b48de7d1cca6")
(revision "1"))
(package
(name "jupyter-guile-kernel")
@@ -2243,4 +2243,106 @@ using S-expressions.")
tracker's SOAP service, such as @url{https://bugs.gnu.org}.")
(license license:gpl3+)))
+(define-public guile-gash
+ (let ((version "0.1")
+ (commit "5b7f85aa3d15523edd05a07ed2b16b6f69690d53")
+ (revision "0")
+ (builtins '(
+ "basename"
+ "cat"
+ "chmod"
+ "compress"
+ "cp"
+ "dirname"
+ "find"
+ "grep"
+ "ls"
+ "mkdir"
+ "mv"
+ "reboot"
+ "rm"
+ "rmdir"
+ "sed"
+ "tar"
+ "touch"
+ "tr"
+ "wc"
+ "which"
+ ))
+ (shells '("bash" "gash" "sh")))
+ (package
+ (name "guile-gash")
+ (version (string-append version "-" revision "." (string-take commit 7)))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://gitlab.com/janneke/gash"
+ "/-/archive/" commit
+ "/gash-" commit ".tar.gz"))
+ (sha256
+ (base32
+ "05nq0knklgk2iczsqmnhnh1365iv6gs3cxam38qf7dmdlglbf0sa"))))
+ (build-system guile-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-geesh
+ (lambda _
+ (delete-file "guix.scm") ; should not and cannot be compiled
+ (delete-file "gash/geesh.scm") ; no Geesh yet
+ #t))
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (guile (assoc-ref inputs "guile"))
+ (bin/guile (string-append guile "/bin/guile"))
+ (effective (target-guile-effective-version))
+ (guile-site-dir
+ (string-append out "/share/guile/site/" effective))
+ (guile-site-ccache-dir
+ (string-append out
+ "/lib/guile/" effective "/site-ccache")))
+ (define (make-script source name)
+ (let ((script (string-append "bin/" name)))
+ (copy-file source script)
+ (substitute* script
+ (("@GUILE@") bin/guile)
+ (("@guile_site_dir@") guile-site-dir)
+ (("@guile_site_ccache_dir@") guile-site-ccache-dir)
+ (("@builtin@") name))
+ (chmod script #o755)))
+ (copy-file "gash/config.scm.in" "gash/config.scm")
+ (substitute* "gash/config.scm"
+ (("@guile_site_ccache_dir@") guile-site-ccache-dir)
+ (("@VERSION@") ,version)
+ (("@COMPRESS@") (string-append out "/bin/compress"))
+ (("@BZIP2@") (which "bzip2"))
+ (("@GZIP@") (which "gzip"))
+ (("@XZ@") (which "xz")))
+ (for-each
+ (lambda (s) (make-script "bin/gash.in" s)) ',shells)
+ (for-each
+ (lambda (s) (make-script "bin/builtin.in" s)) ',builtins))
+ #t))
+ (add-after 'install 'install-scripts
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (libexec/gash (string-append out "/libexec/gash")))
+ (install-file "bin/gash" bin)
+ (for-each
+ (lambda (name)
+ (install-file (string-append "bin/" name) libexec/gash))
+ ',(append builtins shells)))
+ #t)))))
+ (native-inputs
+ `(("guile" ,guile-2.2)
+ ("guile-readline" ,guile-readline)))
+ (home-page "https://gitlab.com/rutgervanbeusekom/gash")
+ (synopsis "Guile As SHell")
+ (description
+ "Gash--Guile As SHell-- aims to produce at least a POSIX compliant sh
+replacement or even implement GNU bash. On top of that it also intends to
+make Scheme available for interactive and scripting application.")
+ (license license:gpl3+))))
+
;;; guile.scm ends here
- branch wip-bootstrap created (now 830a09c), guix-commits, 2018/12/05
- 01/15: bootstrap: mes-boot: Use mes-boot0 version., guix-commits, 2018/12/05
- 04/15: boot, guix-commits, 2018/12/05
- 05/15: mes-minimal-stripped, guix-commits, 2018/12/05
- 03/15: mes: Update to 0.19. WIP, guix-commits, 2018/12/05
- 06/15: bootstrap-mes: Update., guix-commits, 2018/12/05
- 02/15: bootstrap: Use x86_64-linux bootstrap tarballs for x86_64-linux., guix-commits, 2018/12/05
- 09/15: bootstrap: Update %bootstrap-guile to 2.2., guix-commits, 2018/12/05
- 07/15: gnu: Add gash. WIP,
guix-commits <=
- 11/15: bootstrap: mes-boot: Scheme-only bootstrap. WIP, guix-commits, 2018/12/05
- 12/15: bootstrap: tcc-boot0: Scheme-only bootstrap. WIP, guix-commits, 2018/12/05
- 14/15: pieton: HAK, guix-commits, 2018/12/05
- 10/15: bootstrap: Add %bootstrap-gash. WIP, guix-commits, 2018/12/05
- 08/15: bootstrap: Add %gash-bootstrap-guile, %gash-bootstrap-guile-tarball., guix-commits, 2018/12/05
- 13/15: bootstrap: make-mesboot0: Scheme-only bootstrap. WIP, guix-commits, 2018/12/05
- 15/15: doc: update gcc-mesboot-bag-graph.dot, guix-commits, 2018/12/05