summary refs log tree commit diff
path: root/gnu/packages/shells.scm
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2016-08-03 00:10:30 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2016-08-03 04:54:18 +0200
commit618977ae38402af3118ff393492d2883f5894c4a (patch)
treef01c27564f4fbcb6f5d93fc54db7efb6a067530b /gnu/packages/shells.scm
parentc356339d62a00d40f809cd00000afd08eef65784 (diff)
downloadguix-618977ae38402af3118ff393492d2883f5894c4a.tar.gz
gnu: fish: Move to shells.scm.
* gnu/packages/fish.scm (fish): Move from here ...
* gnu/packages/shells.scm (fish): ... to here.
* gnu/packages/fish.scm: Delete file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Remove fish.scm.
Diffstat (limited to 'gnu/packages/shells.scm')
-rw-r--r--gnu/packages/shells.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 6a529e48c7..cc0aa7da44 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -1,4 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org>
 ;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -17,7 +18,10 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages shells)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages libedit)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages python)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
   #:use-module (guix licenses)
@@ -58,3 +62,41 @@ 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)))