diff options
-rw-r--r-- | gnu/local.mk | 5 | ||||
-rw-r--r-- | gnu/packages/algebra.scm | 2 | ||||
-rw-r--r-- | gnu/packages/bioinformatics.scm | 32 | ||||
-rw-r--r-- | gnu/packages/boost.scm | 2 | ||||
-rw-r--r-- | gnu/packages/fish.scm | 65 | ||||
-rw-r--r-- | gnu/packages/maths.scm | 2 | ||||
-rw-r--r-- | gnu/packages/python.scm | 17 | ||||
-rw-r--r-- | gnu/packages/rc.scm | 72 | ||||
-rw-r--r-- | gnu/packages/shells.scm | 271 | ||||
-rw-r--r-- | gnu/packages/tcsh.scm | 86 | ||||
-rw-r--r-- | gnu/packages/tex.scm | 2 | ||||
-rw-r--r-- | gnu/packages/vim.scm | 2 | ||||
-rw-r--r-- | gnu/packages/zsh.scm | 81 |
13 files changed, 319 insertions, 320 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 57fe230fe9..4dcc547e55 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -118,7 +118,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/file.scm \ %D%/packages/finance.scm \ %D%/packages/firmware.scm \ - %D%/packages/fish.scm \ %D%/packages/flashing-tools.scm \ %D%/packages/flex.scm \ %D%/packages/fltk.scm \ @@ -292,7 +291,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/ragel.scm \ %D%/packages/rails.scm \ %D%/packages/ratpoison.scm \ - %D%/packages/rc.scm \ %D%/packages/rdesktop.scm \ %D%/packages/rdf.scm \ %D%/packages/readline.scm \ @@ -310,6 +308,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/search.scm \ %D%/packages/serialization.scm \ %D%/packages/serveez.scm \ + %D%/packages/shells.scm \ %D%/packages/shellutils.scm \ %D%/packages/shishi.scm \ %D%/packages/skarnet.scm \ @@ -329,7 +328,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/task-management.scm \ %D%/packages/tbb.scm \ %D%/packages/tcl.scm \ - %D%/packages/tcsh.scm \ %D%/packages/telephony.scm \ %D%/packages/terminals.scm \ %D%/packages/texinfo.scm \ @@ -371,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/algebra.scm b/gnu/packages/algebra.scm index 92b4d4c27e..4fb15c6471 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -36,7 +36,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages flex) #:use-module (gnu packages python) - #:use-module (gnu packages tcsh) + #:use-module (gnu packages shells) #:use-module (gnu packages tex) #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 19282cfcf3..c3ba9634ba 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -51,7 +51,9 @@ #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) + #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages java) #:use-module (gnu packages linux) #:use-module (gnu packages logging) @@ -70,6 +72,7 @@ #:use-module (gnu packages ruby) #:use-module (gnu packages statistics) #:use-module (gnu packages tbb) + #:use-module (gnu packages tex) #:use-module (gnu packages textutils) #:use-module (gnu packages time) #:use-module (gnu packages tls) @@ -1603,6 +1606,33 @@ data and settings.") (license (license:non-copyleft "file://src/COPYING" "See src/COPYING in the distribution.")))) +(define-public discrover + (package + (name "discrover") + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/maaskola/discrover/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rah9ja4m0rl5mldd6vag9rwrivw1zrqxssfq8qx64m7961fp68k")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; there are no tests + (inputs + `(("boost" ,boost) + ("cairo" ,cairo))) + (native-inputs + `(("texlive" ,texlive) + ("imagemagick" ,imagemagick))) + (home-page "http://dorina.mdc-berlin.de/public/rajewsky/discrover/") + (synopsis "Discover discriminative nucleotide sequence motifs") + (description "Discrover is a motif discovery method to find binding sites +of nucleic acid binding proteins.") + (license license:gpl3+))) + (define-public eigensoft (let ((revision "1") (commit "b14d1e202e21e532536ff8004f0419cd5e259dc7")) @@ -2108,6 +2138,8 @@ basic tasks but can change to using POSIX regular expressions, PCRE, hash lookups or multi-pattern searching as required. By default fxtract looks in the sequence of each record but can also be told to look in the header, comment or quality sections.") + ;; 'util' requires SSE instructions. + (supported-systems '("x86_64-linux")) (license license:expat)))) (define-public grit diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index fd8f4e80e3..8fe8c8e899 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -28,7 +28,7 @@ #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages python) - #:use-module (gnu packages tcsh) + #:use-module (gnu packages shells) #:use-module (gnu packages perl)) (define-public boost diff --git a/gnu/packages/fish.scm b/gnu/packages/fish.scm deleted file mode 100644 index a8b88e7c10..0000000000 --- a/gnu/packages/fish.scm +++ /dev/null @@ -1,65 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org> -;;; -;;; 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 <http://www.gnu.org/licenses/>. - -(define-module (gnu packages fish) - #:use-module (guix licenses) - #:use-module (gnu packages documentation) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages python) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public fish - (package - (name "fish") - (version "2.3.1") - (source (origin - (method url-fetch) - (uri (string-append "https://fishshell.com/files/" - version "/fish-" version ".tar.gz")) - (sha256 - (base32 - "0r46p64lg6da3v6chsa4gisvl04kd3rpy60yih8r870kbp9wm2ij")) - (modules '((guix build utils))) - ;; Don't try to install /etc/fish/config.fish. - (snippet - '(substitute* "Makefile.in" - ((".*INSTALL.*sysconfdir.*fish.*") ""))))) - (build-system gnu-build-system) - (native-inputs - `(("doxygen" ,doxygen))) - (inputs - `(("ncurses" ,ncurses) - ("python" ,python-wrapper))) ;for fish_config and manpage completions - (arguments - '(#:tests? #f ; no check target - #:configure-flags '("--sysconfdir=/etc"))) - (synopsis "The friendly interactive shell") - (description - "Fish (friendly interactive shell) is a shell focused on interactive use, -discoverability, and friendliness. Fish has very user-friendly and powerful -tab-completion, including descriptions of every completion, completion of -strings with wildcards, and many completions for specific commands. It also -has extensive and discoverable help. A special help command gives access to -all the fish documentation in your web browser. Other features include smart -terminal handling based on terminfo, an easy to search history, and syntax -highlighting.") - (home-page "https://fishshell.com/") - (license gpl2))) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index ea7575abb2..fcea0bca0e 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -79,7 +79,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages tbb) - #:use-module (gnu packages tcsh) + #:use-module (gnu packages shells) #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) #:use-module (gnu packages tex) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 0557ab5f09..41b9bd7986 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8836,12 +8836,7 @@ LDFLAGS and parse the output to build extensions with setup.py.") "126s53fkpx04f33a829yqqk8fj4png3qwg4m66cvlmhmwc8zihb4")))) (build-system python-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - ;; python setup.py test does not work as of 0.98 - ;; but there is only the one test file - (replace 'check - (lambda _ (zero? (system* "python" "test_bz2file.py"))))))) + `(#:tests? #f)) ; Tests use deprecated python modules. (home-page "https://github.com/nvawda/bz2file") (synopsis "Read and write bzip2-compressed files") (description @@ -8858,7 +8853,15 @@ development version of CPython that are not available in older releases.") (package (inherit base) (native-inputs - `(("python2-setuptools" ,python2-setuptools)))))) + `(("python2-setuptools" ,python2-setuptools))) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; 'python setup.py test' does not work as of 0.98. + ;; There is only the one test file, so we run it directly. + (replace 'check + (lambda _ (zero? (system* "python" + "test_bz2file.py")))))))))) (define-public python-cysignals (package diff --git a/gnu/packages/rc.scm b/gnu/packages/rc.scm deleted file mode 100644 index d3edf9e997..0000000000 --- a/gnu/packages/rc.scm +++ /dev/null @@ -1,72 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Jeff Mickey <j@codemac.net> -;;; -;;; 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 <http://www.gnu.org/licenses/>. - -(define-module (gnu packages rc) - #:use-module (gnu packages autotools) - #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages readline) - #:use-module (guix build-system gnu) - #:use-module (guix git-download) - #:use-module (guix licenses) - #:use-module (guix packages)) - -(define-public rc - (package - (name "rc") - (version "1.7.4") - (source (origin - (method git-fetch) - (uri (git-reference - (url "git://github.com/rakitzis/rc.git") - ;; commit name 'release: rc-1.7.4' - (commit "c884da53a7c885d46ace2b92de78946855b18e92"))) - (sha256 - (base32 - "00mgzvrrh9w96xa85g4gjbsvq02f08k4jwjcdnxq7kyh5xgiw95l")) - (file-name (string-append name "-" version "-checkout")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags - '("--with-edit=gnu") - #:phases - (modify-phases %standard-phases - (add-after - 'unpack 'autoreconf - (lambda _ (zero? (system* "autoreconf" "-vfi")))) - (add-before - 'autoreconf 'patch-trip.rc - (lambda _ - (substitute* "trip.rc" - (("/bin/pwd") (which "pwd")) - (("/bin/sh") (which "sh")) - (("/bin/rm") (which "rm")) - (("/bin\\)") (string-append (dirname (which "rm")) ")"))) - #t))))) - (inputs `(("readline" ,readline) - ("perl" ,perl))) - (native-inputs `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config))) - (synopsis "Alternative implementation of the rc shell by Byron Rakitzis") - (description - "This is a reimplementation by Byron Rakitzis of the Plan 9 shell. It -has a small feature set similar to a traditional Bourne shell.") - (home-page "http://github.com/rakitzis/rc") - (license zlib))) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm new file mode 100644 index 0000000000..c3e5303f0c --- /dev/null +++ b/gnu/packages/shells.scm @@ -0,0 +1,271 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> +;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org> +;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net> +;;; Copyright © 2015 Jeff Mickey <j@codemac.net> +;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> +;;; +;;; 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 <http://www.gnu.org/licenses/>. + +(define-module (gnu packages shells) + #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #: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) + #:use-module (gnu packages readline) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix licenses) + #:use-module (guix packages)) + +(define-public dash + (package + (name "dash") + (version "0.5.9") + (source + (origin + (method url-fetch) + (uri (string-append "http://gondor.apana.org.au/~herbert/dash/files/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "17328wd9n5krr5wd37smrk0y7fdf8aa3hmhm02br5mqpq0a3nycj")) + (modules '((guix build utils))) + (snippet + '(begin + ;; The man page hails from BSD, where (d)ash is the default shell. + ;; This isn't the case on Guix or indeed most other GNU systems. + (substitute* "src/dash.1" + (("the standard command interpreter for the system") + "a command interpreter based on the original Bourne shell")) + #t)))) + (build-system gnu-build-system) + (inputs + `(("libedit" ,libedit))) + (arguments + `(#:configure-flags '("--with-libedit"))) + (home-page "http://gondor.apana.org.au/~herbert/dash") + (synopsis "POSIX-compliant shell optimised for size") + (description + "dash is a POSIX-compliant @command{/bin/sh} implementation that aims to be +as small as possible, often without sacrificing speed. It is faster than the +GNU Bourne-Again Shell (@command{bash}) at most scripted tasks. dash is a +direct descendant of NetBSD's Almquist Shell (@command{ash}).") + (license (list bsd-3 + gpl2+)))) ; mksignames.c + +(define-public fish + (package + (name "fish") + (version "2.3.1") + (source (origin + (method url-fetch) + (uri (string-append "https://fishshell.com/files/" + version "/fish-" version ".tar.gz")) + (sha256 + (base32 + "0r46p64lg6da3v6chsa4gisvl04kd3rpy60yih8r870kbp9wm2ij")) + (modules '((guix build utils))) + ;; Don't try to install /etc/fish/config.fish. + (snippet + '(substitute* "Makefile.in" + ((".*INSTALL.*sysconfdir.*fish.*") ""))))) + (build-system gnu-build-system) + (native-inputs + `(("doxygen" ,doxygen))) + (inputs + `(("ncurses" ,ncurses) + ("python" ,python-wrapper))) ;for fish_config and manpage completions + (arguments + '(#:tests? #f ; no check target + #:configure-flags '("--sysconfdir=/etc"))) + (synopsis "The friendly interactive shell") + (description + "Fish (friendly interactive shell) is a shell focused on interactive use, +discoverability, and friendliness. Fish has very user-friendly and powerful +tab-completion, including descriptions of every completion, completion of +strings with wildcards, and many completions for specific commands. It also +has extensive and discoverable help. A special help command gives access to +all the fish documentation in your web browser. Other features include smart +terminal handling based on terminfo, an easy to search history, and syntax +highlighting.") + (home-page "https://fishshell.com/") + (license gpl2))) + +(define-public rc + (package + (name "rc") + (version "1.7.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://github.com/rakitzis/rc.git") + ;; commit name 'release: rc-1.7.4' + (commit "c884da53a7c885d46ace2b92de78946855b18e92"))) + (sha256 + (base32 + "00mgzvrrh9w96xa85g4gjbsvq02f08k4jwjcdnxq7kyh5xgiw95l")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + '("--with-edit=gnu") + #:phases + (modify-phases %standard-phases + (add-after + 'unpack 'autoreconf + (lambda _ (zero? (system* "autoreconf" "-vfi")))) + (add-before + 'autoreconf 'patch-trip.rc + (lambda _ + (substitute* "trip.rc" + (("/bin/pwd") (which "pwd")) + (("/bin/sh") (which "sh")) + (("/bin/rm") (which "rm")) + (("/bin\\)") (string-append (dirname (which "rm")) ")"))) + #t))))) + (inputs `(("readline" ,readline) + ("perl" ,perl))) + (native-inputs `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (synopsis "Alternative implementation of the rc shell by Byron Rakitzis") + (description + "This is a reimplementation by Byron Rakitzis of the Plan 9 shell. It +has a small feature set similar to a traditional Bourne shell.") + (home-page "http://github.com/rakitzis/rc") + (license zlib))) + +(define-public tcsh + (package + (name "tcsh") + (version "6.18.01") + (source (origin + (method url-fetch) + ;; Old tarballs are moved to old/. + (uri (list (string-append "ftp://ftp.astron.com/pub/tcsh/" + "tcsh-" version ".tar.gz") + (string-append "ftp://ftp.astron.com/pub/tcsh/" + "old/tcsh-" version ".tar.gz"))) + (sha256 + (base32 + "1a4z9kwgx1iqqzvv64si34m60gj34p7lp6rrcrb59s7ka5wa476q")) + (patches (search-patches "tcsh-fix-autotest.patch")) + (patch-flags '("-p0")))) + (build-system gnu-build-system) + (inputs + `(("autoconf" ,autoconf) + ("coreutils" ,coreutils) + ("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") + + ;; 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)))) + (home-page "http://www.tcsh.org/") + (synopsis "Unix shell based on csh") + (description + "Tcsh is an enhanced, but completely compatible version of the Berkeley +UNIX C shell (csh). It is a command language interpreter usable both as an +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/tcsh.scm b/gnu/packages/tcsh.scm deleted file mode 100644 index 5e3df2ba3f..0000000000 --- a/gnu/packages/tcsh.scm +++ /dev/null @@ -1,86 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> -;;; -;;; 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 <http://www.gnu.org/licenses/>. - -(define-module (gnu packages tcsh) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (gnu packages) - #:use-module (gnu packages autotools) - #:use-module (gnu packages base) - #:use-module (gnu packages ncurses)) - -(define-public tcsh - (package - (name "tcsh") - (version "6.18.01") - (source (origin - (method url-fetch) - ;; Old tarballs are moved to old/. - (uri (list (string-append "ftp://ftp.astron.com/pub/tcsh/" - "tcsh-" version ".tar.gz") - (string-append "ftp://ftp.astron.com/pub/tcsh/" - "old/tcsh-" version ".tar.gz"))) - (sha256 - (base32 - "1a4z9kwgx1iqqzvv64si34m60gj34p7lp6rrcrb59s7ka5wa476q")) - (patches (search-patches "tcsh-fix-autotest.patch")) - (patch-flags '("-p0")))) - (build-system gnu-build-system) - (inputs - `(("autoconf" ,autoconf) - ("coreutils" ,coreutils) - ("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") - - ;; 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)))) - (home-page "http://www.tcsh.org/") - (synopsis "Unix shell based on csh") - (description - "Tcsh is an enhanced, but completely compatible version of the Berkeley -UNIX C shell (csh). It is a command language interpreter usable both as an -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))) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 8501792250..9dde8a9eab 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -45,7 +45,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages ruby) - #:use-module (gnu packages tcsh) + #:use-module (gnu packages shells) #:use-module (gnu packages base) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 73433e955f..44f94ff49e 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -26,7 +26,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages admin) ; For GNU hostname - #:use-module (gnu packages tcsh)) + #:use-module (gnu packages shells)) (define-public vim (package 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 <lemonnierk@ulrar.net> -;;; -;;; 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 <http://www.gnu.org/licenses/>. - -(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+))) |