summaryrefslogtreecommitdiff
path: root/gnu/packages/shells.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/shells.scm')
-rw-r--r--gnu/packages/shells.scm66
1 files changed, 58 insertions, 8 deletions
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 5237e81206..a7a7fbce52 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -5,6 +5,8 @@
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Stefan Reichör <stefan@xsteve.at>
+;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,6 +28,7 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages documentation)
#:use-module (gnu packages libedit)
#:use-module (gnu packages ncurses)
@@ -80,14 +83,14 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
(define-public fish
(package
(name "fish")
- (version "2.4.0")
+ (version "2.5.0")
(source (origin
(method url-fetch)
(uri (string-append "https://fishshell.com/files/"
version "/fish-" version ".tar.gz"))
(sha256
(base32
- "1iggr6ah0siyak073v2w4sx1man19q8jsxns8i09qhv06crb5fq6"))
+ "0kn2n9qr9cksg2cl78f3w0yd24368d35djhi6w5x3gbdxk23ywq3"))
(modules '((guix build utils)))
;; Don't try to install /etc/fish/config.fish.
(snippet
@@ -95,7 +98,12 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
((".*INSTALL.*sysconfdir.*fish.*") "")))))
(build-system gnu-build-system)
(native-inputs
- `(("doxygen" ,doxygen)))
+ `(("doxygen" ,doxygen)
+ ;; XXX These are needed to bootstrap the 2.5.0 tarball, and can probably
+ ;; be removed along with the ‘bootstrap’ phase on the next update.
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
(inputs
`(("bc" ,bc)
("ncurses" ,ncurses)
@@ -106,14 +114,20 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
#:configure-flags '("--sysconfdir=/etc")
#:phases
(modify-phases %standard-phases
- ;; Replace 'bc' by its absolute file name in the store.
- (add-after 'unpack 'patch-bc
+ ;; Embed absolute paths to store items.
+ (add-after 'unpack 'embed-store-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* '("share/functions/math.fish"
"share/functions/seq.fish")
(("\\| bc")
(string-append "| " (assoc-ref %build-inputs "bc")
- "/bin/bc"))))))))
+ "/bin/bc")))
+ (substitute* "share/functions/fish_update_completions.fish"
+ (("python") (which "python")))
+ #t))
+ (add-before 'configure 'bootstrap
+ (lambda _
+ (zero? (system* "autoreconf" "-vfi")))))))
(synopsis "The friendly interactive shell")
(description
"Fish (friendly interactive shell) is a shell focused on interactive use,
@@ -172,6 +186,42 @@ has a small feature set similar to a traditional Bourne shell.")
(home-page "http://github.com/rakitzis/rc")
(license zlib)))
+(define-public es
+ (package
+ (name "es")
+ (version "0.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/wryun/es-shell/releases/"
+ "download/v" version "/es-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1fplzxc6lncz2lv2fyr2ig23rgg5j96rm2bbl1rs28mik771zd5h"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 're-enter-rootdir
+ ;; The tarball has no folder.
+ (lambda _
+ (chdir ".."))))))
+ (inputs
+ `(("readline" ,readline)))
+ (native-inputs
+ `(("bison" ,bison)))
+ (synopsis "Extensible shell with higher-order functions")
+ (description
+ "Es is an extensible shell. The language was derived from the Plan 9
+shell, rc, and was influenced by functional programming languages, such as
+Scheme, and the Tcl embeddable programming language. This implementation is
+derived from Byron Rakitzis's public domain implementation of rc, and was
+written by Paul Haahr and Byron Rakitzis.")
+ (home-page "https://wryun.github.io/es-shell/")
+ (license public-domain)))
+
(define-public tcsh
(package
(name "tcsh")
@@ -299,14 +349,14 @@ ksh, and tcsh.")
(define-public xonsh
(package
(name "xonsh")
- (version "0.5.2")
+ (version "0.5.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xonsh" version))
(sha256
(base32
- "13ndyq9cal2j93qqbjyp2jn3cshiavdxsaj2qjzm6mas0gzywmf0"))
+ "1pb1am26wl21g798lpl091j95900py7jj4g98rs9qkhywiln4z4q"))
(modules '((guix build utils)))
(snippet
`(begin