2015-10-15 10:00:25 -07:00
|
|
|
{ stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat
|
2015-09-15 02:26:18 -07:00
|
|
|
, yacc, libtool, fontconfig, pango, gd, xorg, gts, libdevil, gettext, cairo
|
2015-03-02 00:02:47 -08:00
|
|
|
, flex
|
2017-01-09 14:24:17 -08:00
|
|
|
, ApplicationServices
|
2008-07-03 07:27:19 -07:00
|
|
|
}:
|
2003-12-10 01:51:32 -08:00
|
|
|
|
2009-02-27 07:36:14 -08:00
|
|
|
stdenv.mkDerivation rec {
|
2017-01-02 09:04:30 -08:00
|
|
|
version = "2.40.1";
|
2014-08-31 12:54:14 -07:00
|
|
|
name = "graphviz-${version}";
|
2003-12-10 01:51:32 -08:00
|
|
|
|
|
|
|
src = fetchurl {
|
2009-02-27 07:36:14 -08:00
|
|
|
url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz";
|
2017-01-02 09:04:30 -08:00
|
|
|
sha256 = "08d4ygkxz2f553bxj6087da56a23kx1khv0j8ycxa102vvx1hlna";
|
2003-12-10 01:51:32 -08:00
|
|
|
};
|
|
|
|
|
2016-02-26 09:38:15 -08:00
|
|
|
hardeningDisable = [ "fortify" ];
|
2015-12-22 17:59:47 -08:00
|
|
|
|
2017-01-02 09:04:30 -08:00
|
|
|
patches = [ ];
|
2015-01-08 10:58:30 -08:00
|
|
|
|
2011-02-14 02:01:58 -08:00
|
|
|
buildInputs =
|
2016-04-07 15:19:01 -07:00
|
|
|
[ pkgconfig libpng libjpeg expat yacc libtool fontconfig gd gts libdevil flex pango
|
2015-10-15 10:00:25 -07:00
|
|
|
] ++ stdenv.lib.optionals (xorg != null)
|
2016-04-10 02:17:52 -07:00
|
|
|
(with xorg; [ xlibsWrapper libXrender libXaw libXpm ])
|
2017-01-09 14:24:17 -08:00
|
|
|
++ stdenv.lib.optionals (stdenv.isDarwin) [ ApplicationServices gettext ];
|
2012-04-02 14:20:38 -07:00
|
|
|
|
2017-01-09 14:24:17 -08:00
|
|
|
CPPFLAGS = stdenv.lib.optionalString (xorg != null && stdenv.isDarwin)
|
2015-10-06 11:31:39 -07:00
|
|
|
"-I${cairo.dev}/include/cairo";
|
2013-06-18 03:24:40 -07:00
|
|
|
|
2015-10-15 10:00:25 -07:00
|
|
|
configureFlags = stdenv.lib.optional (xorg == null) "--without-x";
|
2007-12-31 09:53:33 -08:00
|
|
|
|
2017-01-02 09:04:30 -08:00
|
|
|
postPatch = (stdenv.lib.optionalString stdenv.isDarwin ''
|
2015-10-28 16:09:51 -07:00
|
|
|
for foo in cmd/dot/Makefile.in cmd/edgepaint/Makefile.in \
|
|
|
|
cmd/mingle/Makefile.in plugin/gdiplus/Makefile.in; do
|
|
|
|
substituteInPlace "$foo" --replace "-lstdc++" "-lc++"
|
|
|
|
done
|
2017-01-02 09:04:30 -08:00
|
|
|
'') + ''
|
|
|
|
substituteInPlace "plugin/xlib/vimdot.sh" --replace "/usr/bin/vim" "\$(command -v vim)"
|
2015-06-30 01:24:05 -07:00
|
|
|
'';
|
|
|
|
|
2011-07-01 06:29:42 -07:00
|
|
|
preBuild = ''
|
|
|
|
sed -e 's@am__append_5 *=.*@am_append_5 =@' -i lib/gvc/Makefile
|
|
|
|
'';
|
|
|
|
|
2013-03-09 12:38:49 -08:00
|
|
|
# "command -v" is POSIX, "which" is not
|
2015-09-15 02:26:18 -07:00
|
|
|
postInstall = stdenv.lib.optionalString (xorg != null) ''
|
2012-03-20 16:27:12 -07:00
|
|
|
sed -i 's|`which lefty`|"'$out'/bin/lefty"|' $out/bin/dotty
|
2013-03-09 12:38:49 -08:00
|
|
|
sed -i 's|which|command -v|' $out/bin/vimdot
|
2012-03-20 16:27:12 -07:00
|
|
|
'';
|
|
|
|
|
2007-12-31 09:53:33 -08:00
|
|
|
meta = {
|
2017-08-01 13:03:30 -07:00
|
|
|
homepage = http://www.graphviz.org/;
|
2012-04-02 14:54:14 -07:00
|
|
|
description = "Open source graph visualization software";
|
2012-04-02 14:20:38 -07: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.
|
|
|
|
'';
|
|
|
|
|
2016-08-02 07:50:15 -07:00
|
|
|
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
|
2016-05-16 13:30:20 -07:00
|
|
|
maintainers = with stdenv.lib.maintainers; [ bjornfor raskin ];
|
2014-08-31 12:54:14 -07:00
|
|
|
downloadPage = "http://www.graphviz.org/pub/graphviz/ARCHIVE/";
|
|
|
|
inherit version;
|
|
|
|
updateWalker = true;
|
2007-12-31 09:53:33 -08:00
|
|
|
};
|
2003-12-10 01:51:32 -08:00
|
|
|
}
|