[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
06/16: gnu: Add gash.
From: |
guix-commits |
Subject: |
06/16: gnu: Add gash. |
Date: |
Fri, 30 Nov 2018 13:21:47 -0500 (EST) |
janneke pushed a commit to branch wip-bootstrap
in repository guix.
commit c48f18147d0cee0782f8654e5fcf9a07bf12edcf
Author: Jan Nieuwenhuizen <address@hidden>
Date: Sun Oct 28 00:55:54 2018 +0200
gnu: Add gash.
* gnu/packages/guile.scm (guile-gash): New variable.
---
gnu/packages/guile.scm | 103 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 102 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index bf2f2a1..33677d3 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,105 @@ 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 "0a09ab114af631f9763459203014ee5208c9058e")
+ (revision "0")
+ (builtins '(
+ "basename"
+ "cat"
+ "chmod"
+ "compress"
+ "cp"
+ "dirname"
+ "find"
+ "grep"
+ "ls"
+ "mkdir"
+ "mv"
+ "reboot"
+ "rm"
+ "rmdir"
+ "sed"
+ "tar"
+ "touch"
+ "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
+ "0986yd6y8jnsbwn5mx6y3ihc0x6mm79qq41ny6c6m1h402n6rw0n"))))
+ (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
- 11/16: mes-boot1: build with gash, (continued)
- 11/16: mes-boot1: build with gash, guix-commits, 2018/11/30
- 02/16: bootstrap: Use x86_64-linux bootstrap tarballs for x86_64-linux., guix-commits, 2018/11/30
- 05/16: bootstrap: mes-minimal: Update for 0.19, guix-commits, 2018/11/30
- 08/16: bootstrap: Update %bootstrap-guile to 2.2., guix-commits, 2018/11/30
- 12/16: pieton: HAK, guix-commits, 2018/11/30
- 14/16: commencement: WIP, guix-commits, 2018/11/30
- 16/16: commencement: built mes-boot1!, guix-commits, 2018/11/30
- 01/16: bootstrap: mes-boot: Use mes-boot0 version., guix-commits, 2018/11/30
- 09/16: bootstrap: Add %bootstrap-gash. WIP, guix-commits, 2018/11/30
- 10/16: bootstrap: Add make-mesboot1. WIP, guix-commits, 2018/11/30
- 06/16: gnu: Add gash.,
guix-commits <=
- 04/16: boot, guix-commits, 2018/11/30
- 03/16: mes: Update to 0.19. WIP, guix-commits, 2018/11/30
- 07/16: bootstrap: Add %gash-bootstrap-guile, %gash-bootstrap-guile-tarball., guix-commits, 2018/11/30
- 15/16: commencement: first installed mes-boot1 --still fu, guix-commits, 2018/11/30
- 13/16: mes-boot1: WIP -- works with subst, guix-commits, 2018/11/30