aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/shells.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/shells.scm')
-rw-r--r--gnu/packages/shells.scm98
1 files changed, 51 insertions, 47 deletions
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 45582c37fe..c874bc20bd 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2016 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
+;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -48,15 +49,20 @@
(define-public dash
(package
(name "dash")
- (version "0.5.9")
+ (version "0.5.9.1")
(source
(origin
- (method url-fetch)
- (uri (string-append "http://gondor.apana.org.au/~herbert/dash/files/"
- name "-" version ".tar.gz"))
+ ;; The canonical source is offline, so we fetch the source code
+ ;; from the Git repository. See:
+ ;; https://www.mail-archive.com/dash@vger.kernel.org/msg01323.html
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.kernel.org/pub/scm/utils/dash/dash.git/")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "17328wd9n5krr5wd37smrk0y7fdf8aa3hmhm02br5mqpq0a3nycj"))
+ "0p01vx7rbyf5hyyaff7h8cbhq81bm5fmq1m933484lncl9rafcai"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -67,10 +73,17 @@
"a command interpreter based on the original Bourne shell"))
#t))))
(build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)))
(inputs
`(("libedit" ,libedit)))
(arguments
- `(#:configure-flags '("--with-libedit")))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'bootstrap
+ (lambda _ (zero? (system* "autoreconf" "-vfi")))))
+ #:configure-flags '("--with-libedit")))
(home-page "http://gondor.apana.org.au/~herbert/dash")
(synopsis "POSIX-compliant shell optimised for size")
(description
@@ -218,8 +231,7 @@ written by Paul Haahr and Byron Rakitzis.")
(define-public tcsh
(package
(name "tcsh")
- (replacement tcsh/fixed)
- (version "6.18.01")
+ (version "6.20.00")
(source (origin
(method url-fetch)
;; Old tarballs are moved to old/.
@@ -229,43 +241,44 @@ written by Paul Haahr and Byron Rakitzis.")
"old/tcsh-" version ".tar.gz")))
(sha256
(base32
- "1a4z9kwgx1iqqzvv64si34m60gj34p7lp6rrcrb59s7ka5wa476q"))
+ "17ggxkkn5skl0v1x0j6hbv5l0sgnidfzwv16992sqkdm983fg7dq"))
(patches (search-patches "tcsh-fix-autotest.patch"
- "tcsh-do-not-define-BSDWAIT.patch"))
+ "tcsh-fix-out-of-bounds-read.patch"))
(patch-flags '("-p0"))))
(build-system gnu-build-system)
- (inputs
+ (native-inputs
`(("autoconf" ,autoconf)
- ("coreutils" ,coreutils)
- ("ncurses" ,ncurses)))
+ ("perl" ,perl)))
+ (inputs
+ `(("ncurses" ,ncurses)))
(arguments
`(#:phases
- (alist-cons-before
- 'check 'patch-test-scripts
- (lambda _
- ;; Take care of pwd
- (substitute* '("tests/commands.at" "tests/variables.at")
- (("/bin/pwd") (which "pwd")))
- ;; The .at files create shell scripts without shebangs. Erk.
- (substitute* "tests/commands.at"
- (("./output.sh") "/bin/sh output.sh"))
- (substitute* "tests/syntax.at"
- (("; other_script.csh") "; /bin/sh other_script.csh"))
- ;; Now, let's generate the test suite and patch it
- (system* "make" "tests/testsuite")
+ (modify-phases %standard-phases
+ (add-before 'check 'patch-test-scripts
+ (lambda _
+ ;; Take care of pwd
+ (substitute* '("tests/commands.at" "tests/variables.at")
+ (("/bin/pwd") (which "pwd")))
+ ;; The .at files create shell scripts without shebangs. Erk.
+ (substitute* "tests/commands.at"
+ (("./output.sh") "/bin/sh output.sh"))
+ (substitute* "tests/syntax.at"
+ (("; other_script.csh") "; /bin/sh other_script.csh"))
+ ;; Now, let's generate the test suite and patch it
+ (system* "make" "tests/testsuite")
- ;; This file is ISO-8859-1 encoded.
- (with-fluids ((%default-port-encoding #f))
- (substitute* "tests/testsuite"
- (("/bin/sh") (which "sh")))))
- (alist-cons-after
- 'install 'post-install
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref %outputs "out"))
- (bin (string-append out "/bin")))
- (with-directory-excursion bin
- (symlink "tcsh" "csh"))))
- %standard-phases))))
+ ;; This file is ISO-8859-1 encoded.
+ (with-fluids ((%default-port-encoding #f))
+ (substitute* "tests/testsuite"
+ (("/bin/sh") (which "sh"))))
+ #t))
+ (add-after 'install 'post-install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref %outputs "out"))
+ (bin (string-append out "/bin")))
+ (with-directory-excursion bin
+ (symlink "tcsh" "csh"))
+ #t))))))
(home-page "http://www.tcsh.org/")
(synopsis "Unix shell based on csh")
(description
@@ -276,15 +289,6 @@ command-line editor, programmable word completion, spelling correction, a
history mechanism, job control and a C-like syntax.")
(license bsd-4)))
-(define tcsh/fixed
- (package
- (inherit tcsh)
- (name "tcsh")
- (source (origin
- (inherit (package-source tcsh))
- (patches (cons (search-patch "tcsh-fix-out-of-bounds-read.patch")
- (origin-patches (package-source tcsh))))))))
-
(define-public zsh
(package
(name "zsh")