2011-02-14 11:01:58 +01:00
|
|
|
{ stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat, libXaw
|
2015-09-15 11:26:18 +02:00
|
|
|
, yacc, libtool, fontconfig, pango, gd, xorg, gts, libdevil, gettext, cairo
|
2015-03-02 09:02:47 +01:00
|
|
|
, flex
|
2008-07-03 16:27:19 +02:00
|
|
|
}:
|
2003-12-10 10:51:32 +01:00
|
|
|
|
2009-02-27 16:36:14 +01:00
|
|
|
stdenv.mkDerivation rec {
|
2014-08-31 21:54:14 +02:00
|
|
|
version = "2.38.0";
|
|
|
|
name = "graphviz-${version}";
|
2003-12-10 10:51:32 +01:00
|
|
|
|
|
|
|
src = fetchurl {
|
2009-02-27 16:36:14 +01:00
|
|
|
url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz";
|
2014-08-31 21:54:14 +02:00
|
|
|
sha256 = "17l5czpvv5ilmg17frg0w4qwf89jzh2aglm9fgx0l0aakn6j7al1";
|
2003-12-10 10:51:32 +01:00
|
|
|
};
|
|
|
|
|
2015-03-02 09:02:47 +01:00
|
|
|
patches =
|
|
|
|
[ ./0001-vimdot-lookup-vim-in-PATH.patch
|
|
|
|
|
|
|
|
# NOTE: Once this patch is removed, flex can probably be removed from
|
|
|
|
# buildInputs.
|
|
|
|
./cve-2014-9157.patch
|
|
|
|
];
|
2015-01-08 19:58:30 +01:00
|
|
|
|
2011-02-14 11:01:58 +01:00
|
|
|
buildInputs =
|
2015-03-02 09:02:47 +01:00
|
|
|
[ pkgconfig libpng libjpeg expat yacc libtool fontconfig gd gts libdevil flex
|
2015-09-15 11:26:18 +02:00
|
|
|
] ++ stdenv.lib.optionals (xorg != null) [ xorg.xlibsWrapper xorg.libXrender pango libXaw ]
|
2013-01-11 18:20:44 +01:00
|
|
|
++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext;
|
2012-04-02 23:20:38 +02:00
|
|
|
|
2015-09-15 11:26:18 +02:00
|
|
|
CPPFLAGS = stdenv.lib.optionalString (xorg != null && stdenv.system == "x86_64-darwin")
|
2015-02-19 03:11:34 +01:00
|
|
|
"-I${cairo}/include/cairo";
|
2013-06-18 12:24:40 +02:00
|
|
|
|
2006-05-01 17:25:17 +02:00
|
|
|
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"
|
|
|
|
]
|
2015-09-15 11:26:18 +02:00
|
|
|
++ stdenv.lib.optional (xorg == null) "--without-x";
|
2007-12-31 18:53:33 +01:00
|
|
|
|
2011-07-01 15:29:42 +02:00
|
|
|
preBuild = ''
|
|
|
|
sed -e 's@am__append_5 *=.*@am_append_5 =@' -i lib/gvc/Makefile
|
|
|
|
'';
|
|
|
|
|
2013-03-09 21:38:49 +01:00
|
|
|
# "command -v" is POSIX, "which" is not
|
2015-09-15 11:26:18 +02:00
|
|
|
postInstall = stdenv.lib.optionalString (xorg != null) ''
|
2012-03-21 00:27:12 +01:00
|
|
|
sed -i 's|`which lefty`|"'$out'/bin/lefty"|' $out/bin/dotty
|
2013-03-09 21:38:49 +01:00
|
|
|
sed -i 's|which|command -v|' $out/bin/vimdot
|
2012-03-21 00:27:12 +01:00
|
|
|
'';
|
|
|
|
|
2007-12-31 18:53:33 +01:00
|
|
|
meta = {
|
2012-04-02 23:20:38 +02:00
|
|
|
homepage = "http://www.graphviz.org/";
|
2012-04-02 23:54:14 +02:00
|
|
|
description = "Open source graph visualization software";
|
2012-04-02 23:20:38 +02:00
|
|
|
|
|
|
|
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.
|
|
|
|
'';
|
|
|
|
|
2013-12-11 12:08:12 +01:00
|
|
|
hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
|
2014-08-31 21:54:14 +02:00
|
|
|
maintainers = with stdenv.lib.maintainers; [ simons bjornfor raskin ];
|
|
|
|
downloadPage = "http://www.graphviz.org/pub/graphviz/ARCHIVE/";
|
|
|
|
inherit version;
|
|
|
|
updateWalker = true;
|
2007-12-31 18:53:33 +01:00
|
|
|
};
|
2003-12-10 10:51:32 +01:00
|
|
|
}
|