nixpkgs/pkgs/shells/fish/default.nix
William A. Kennington III bf3ca4cb48 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.
2014-02-15 12:17:06 +01:00

36 lines
1.3 KiB
Nix

{ stdenv, fetchurl, ncurses, python27, which, groff, gettext, man_db, bc }:
stdenv.mkDerivation rec {
name = "fish-${version}";
version = "2.1.0";
src = fetchurl {
url = "http://fishshell.com/files/${version}/${name}.tar.gz";
sha256 = "0i7h3hx8iszli3d4kphw79sz9m07f2lc2c9hr9smdps5s7wpllmg";
};
buildInputs = [ ncurses ];
# Required binaries during execution
# Python27: Autocompletion generated from manpages and config editing
propagatedBuildInputs = [ python27 which groff gettext man_db bc ];
postInstall = ''
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 |${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/";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ ocharles ];
};
}