about summary refs log tree commit diff
path: root/pkgs/shells
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2014-02-04 17:12:39 -0600
committerBjørn Forsman <bjorn.forsman@gmail.com>2014-02-15 12:17:06 +0100
commitbf3ca4cb484cdd9d1767f5cd6ef41704e8998009 (patch)
treea1b43d303518c40a94a05325f247cc6e514a46a1 /pkgs/shells
parent42358f0cd02d48e88a79c86406820afb7bd4f24f (diff)
fish: Fix propagatedBuildInputs and other assorted changes
Currently, fish does not depend on python27 which is necessary for many
of the built in commands such as the manpage completion generator and
the web configuration sevice. This patch adds support for python27 as
well as man_db for the manpage completion generator. It also attempts to
replace more shell functions with binaries contained in the nix store.
Diffstat (limited to 'pkgs/shells')
-rw-r--r--pkgs/shells/fish/default.nix29
1 files changed, 15 insertions, 14 deletions
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 27f2b032476e4..7b70e98d2cd4b 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -1,34 +1,35 @@
-{ stdenv, fetchurl, autoconf, ncurses, which, groff, gettext }:
+{ stdenv, fetchurl, ncurses, python27, which, groff, gettext, man_db, bc }:
 
 stdenv.mkDerivation rec {
-  name = "fish-2.1.0";
+  name = "fish-${version}";
+  version = "2.1.0";
 
   src = fetchurl {
-    url = http://fishshell.com/files/2.1.0/fish-2.1.0.tar.gz;
-    sha1 = "b1764cba540055cb8e2a96a7ea4c844b04a32522";
+    url = "http://fishshell.com/files/${version}/${name}.tar.gz";
+    sha256 = "0i7h3hx8iszli3d4kphw79sz9m07f2lc2c9hr9smdps5s7wpllmg";
   };
 
-  nativeBuildInputs = [ autoconf ];
+  buildInputs = [ ncurses ];
 
-  buildInputs = [ ncurses which ];
-
-  preConfigure = ''
-    autoconf
-  '';
+  # Required binaries during execution
+  # Python27: Autocompletion generated from manpages and config editing
+  propagatedBuildInputs = [ python27 which groff gettext man_db bc ];
 
   postInstall = ''
-    sed -i "s|which |command -v |" "$out/share/fish/functions/type.fish"
+    sed -i "s|bc|${bc}/bin/bc|" "$out/share/fish/functions/seq.fish"
+    sed -i "s|which |${which}/bin/which |" "$out/share/fish/functions/type.fish"
     sed -i "s|nroff |${groff}/bin/nroff |" "$out/share/fish/functions/__fish_print_help.fish"
     sed -e "s|gettext |${gettext}/bin/gettext |" \
-        -e "s|which |command -v |" \
+        -e "s|which |${which}/bin/which |" \
         -i "$out/share/fish/functions/_.fish"
+    sed -i "s|Popen(\['manpath'|Popen(\['${man_db}/bin/manpath'|" "$out/share/fish/tools/create_manpage_completions.py"
   '';
 
   meta = with stdenv.lib; {
     description = "Smart and user-friendly command line shell";
-    homepage = http://fishshell.com/;
+    homepage = "http://fishshell.com/";
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.ocharles ];
+    maintainers = with maintainers; [ ocharles ];
   };
 }