nixpkgs-suyu/pkgs/tools/graphics/graphviz/default.nix
Bjørn Forsman 74d6315024 graphviz: fix vimdot program
vimdot doesn't work at the moment because one of its dependencies,
'which', is missing; vimdot fails to find gvim or vim and aborts.
Instead of adding a dependency on 'which', replace it with the POSIX
command 'command -v'.
2013-03-09 21:45:20 +01:00

57 lines
1.9 KiB
Nix

{ stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat, libXaw
, yacc, libtool, fontconfig, pango, gd, xlibs, gts, gettext
}:
stdenv.mkDerivation rec {
name = "graphviz-2.28.0";
src = fetchurl {
url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz";
sha256 = "0xpwg99cd8sp0c6r8klsmc66h1pday64kmnr4v6f9jkqqmrpkank";
};
buildInputs =
[ pkgconfig libpng libjpeg expat libXaw yacc libtool fontconfig
pango gd gts
] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender ]
++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext;
patches = [ ./fix-broken-memcp-signature.patch ];
configureFlags =
[ "--with-pngincludedir=${libpng}/include"
"--with-pnglibdir=${libpng}/lib"
"--with-jpegincludedir=${libjpeg}/include"
"--with-jpeglibdir=${libjpeg}/lib"
"--with-expatincludedir=${expat}/include"
"--with-expatlibdir=${expat}/lib"
]
++ stdenv.lib.optional (xlibs == null) "--without-x";
preBuild = ''
sed -e 's@am__append_5 *=.*@am_append_5 =@' -i lib/gvc/Makefile
'';
# "command -v" is POSIX, "which" is not
postInstall = ''
sed -i 's|`which lefty`|"'$out'/bin/lefty"|' $out/bin/dotty
sed -i 's|which|command -v|' $out/bin/vimdot
'';
meta = {
homepage = "http://www.graphviz.org/";
description = "Open source graph visualization software";
longDescription = ''
Graphviz is open source graph visualization software. Graph
visualization is a way of representing structural information as
diagrams of abstract graphs and networks. It has important
applications in networking, bioinformatics, software engineering,
database and web design, machine learning, and in visual
interfaces for other technical domains.
'';
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}