diff options
Diffstat (limited to 'gnu/packages/shells.scm')
-rw-r--r-- | gnu/packages/shells.scm | 66 |
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 |