diff --git a/gnu/local.mk b/gnu/local.mk index 4a19e33414..3444c2031f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -369,7 +369,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/yubico.scm \ %D%/packages/zile.scm \ %D%/packages/zip.scm \ - %D%/packages/zsh.scm \ \ %D%/services.scm \ %D%/services/avahi.scm \ diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index b3fd5fa1cd..c3e5303f0c 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2014, 2015 David Thompson +;;; Copyright © 2014 Kevin Lemonnier ;;; Copyright © 2015 Jeff Mickey ;;; Copyright © 2016 Tobias Geerinckx-Rice ;;; @@ -26,6 +27,7 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages libedit) #:use-module (gnu packages ncurses) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -213,3 +215,57 @@ interactive login shell and a shell script command processor. It includes a command-line editor, programmable word completion, spelling correction, a history mechanism, job control and a C-like syntax.") (license bsd-4))) + +(define-public zsh + (package + (name "zsh") + (version "5.2") + (source (origin + (method url-fetch) + (uri (list (string-append + "http://www.zsh.org/pub/zsh-" version + ".tar.gz") + (string-append + "http://www.zsh.org/pub/old/zsh-" version + ".tar.gz"))) + (sha256 + (base32 + "0dsr450v8nydvpk8ry276fvbznlrjgddgp7zvhcw4cv69i9lr4ps")))) + (build-system gnu-build-system) + (arguments `(#:configure-flags '("--with-tcsetpgrp" "--enable-pcre") + #:phases (alist-cons-before + 'configure 'fix-sh + (lambda _ + ;; Some of the files are ISO-8859-1 encoded. + (with-fluids ((%default-port-encoding #f)) + (substitute* + '("configure" + "configure.ac" + "Src/exec.c" + "Src/mkmakemod.sh" + "Config/installfns.sh" + "Config/defs.mk.in" + "Test/E01options.ztst" + "Test/A05execution.ztst" + "Test/A01grammar.ztst" + "Test/A06assign.ztst" + "Test/B02typeset.ztst" + "Completion/Unix/Command/_init_d" + "Util/preconfig") + (("/bin/sh") (which "sh"))))) + %standard-phases))) + (native-inputs `(("autoconf" ,autoconf))) + (inputs `(("ncurses" ,ncurses) + ("pcre" ,pcre) + ("perl" ,perl))) + (synopsis "Powerful shell for interactive use and scripting") + (description "The Z shell (zsh) is a Unix shell that can be used +as an interactive login shell and as a powerful command interpreter +for shell scripting. Zsh can be thought of as an extended Bourne shell +with a large number of improvements, including some features of bash, +ksh, and tcsh.") + (home-page "http://www.zsh.org/") + + ;; The whole thing is under an MIT/X11-style license, but there's one + ;; command, 'Completion/Unix/Command/_darcs', which is under GPLv2+. + (license gpl2+))) diff --git a/gnu/packages/zsh.scm b/gnu/packages/zsh.scm deleted file mode 100644 index 64dd635755..0000000000 --- a/gnu/packages/zsh.scm +++ /dev/null @@ -1,81 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Kevin Lemonnier -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (gnu packages zsh) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages perl) - #:use-module (gnu packages pcre) - #:use-module (gnu packages autotools) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses)) - -(define-public zsh - (package - (name "zsh") - (version "5.2") - (source (origin - (method url-fetch) - (uri (list (string-append - "http://www.zsh.org/pub/zsh-" version - ".tar.gz") - (string-append - "http://www.zsh.org/pub/old/zsh-" version - ".tar.gz"))) - (sha256 - (base32 - "0dsr450v8nydvpk8ry276fvbznlrjgddgp7zvhcw4cv69i9lr4ps")))) - (build-system gnu-build-system) - (arguments `(#:configure-flags '("--with-tcsetpgrp" "--enable-pcre") - #:phases (alist-cons-before - 'configure 'fix-sh - (lambda _ - ;; Some of the files are ISO-8859-1 encoded. - (with-fluids ((%default-port-encoding #f)) - (substitute* - '("configure" - "configure.ac" - "Src/exec.c" - "Src/mkmakemod.sh" - "Config/installfns.sh" - "Config/defs.mk.in" - "Test/E01options.ztst" - "Test/A05execution.ztst" - "Test/A01grammar.ztst" - "Test/A06assign.ztst" - "Test/B02typeset.ztst" - "Completion/Unix/Command/_init_d" - "Util/preconfig") - (("/bin/sh") (which "sh"))))) - %standard-phases))) - (native-inputs `(("autoconf" ,autoconf))) - (inputs `(("ncurses" ,ncurses) - ("pcre" ,pcre) - ("perl" ,perl))) - (synopsis "Powerful shell for interactive use and scripting") - (description "The Z shell (zsh) is a Unix shell that can be used -as an interactive login shell and as a powerful command interpreter -for shell scripting. Zsh can be thought of as an extended Bourne shell -with a large number of improvements, including some features of bash, -ksh, and tcsh.") - (home-page "http://www.zsh.org/") - - ;; The whole thing is under an MIT/X11-style license, but there's one - ;; command, 'Completion/Unix/Command/_darcs', which is under GPLv2+. - (license gpl2+)))