···1+{ stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat, libXaw
2+, yacc, libtool, fontconfig, pango, gd, xlibs, gts, gettext, cairo
3+}:
4+5+stdenv.mkDerivation rec {
6+ version = "2.32.0";
7+ name = "graphviz-${version}";
8+9+ src = fetchurl {
10+ url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz";
11+ sha256 = "0ym7lw3xnkcgbk32vfmm3329xymca60gzn90rq6dv8887qqv4lyq";
12+ };
13+14+ buildInputs =
15+ [ pkgconfig libpng libjpeg expat libXaw yacc libtool fontconfig
16+ pango gd gts
17+ ] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender ]
18+ ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext;
19+20+ CPPFLAGS = stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") "-I${cairo}/include/cairo";
21+22+ configureFlags =
23+ [ "--with-pngincludedir=${libpng}/include"
24+ "--with-pnglibdir=${libpng}/lib"
25+ "--with-jpegincludedir=${libjpeg}/include"
26+ "--with-jpeglibdir=${libjpeg}/lib"
27+ "--with-expatincludedir=${expat}/include"
28+ "--with-expatlibdir=${expat}/lib"
29+ "--with-cgraph=no"
30+ "--with-sparse=no"
31+ ]
32+ ++ stdenv.lib.optional (xlibs == null) "--without-x";
33+34+ preBuild = ''
35+ sed -e 's@am__append_5 *=.*@am_append_5 =@' -i lib/gvc/Makefile
36+ '';
37+38+ # "command -v" is POSIX, "which" is not
39+ postInstall = ''
40+ sed -i 's|`which lefty`|"'$out'/bin/lefty"|' $out/bin/dotty
41+ sed -i 's|which|command -v|' $out/bin/vimdot
42+ '';
43+44+ meta = {
45+ homepage = "http://www.graphviz.org/";
46+ description = "Open source graph visualization software";
47+48+ longDescription = ''
49+ Graphviz is open source graph visualization software. Graph
50+ visualization is a way of representing structural information as
51+ diagrams of abstract graphs and networks. It has important
52+ applications in networking, bioinformatics, software engineering,
53+ database and web design, machine learning, and in visual
54+ interfaces for other technical domains.
55+ '';
56+57+ hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
58+ maintainers = with stdenv.lib.maintainers; [ simons bjornfor raskin ];
59+ inherit version;
60+ };
61+}
+10-2
pkgs/top-level/all-packages.nix
···12101211 /* Readded by Michael Raskin. There are programs in the wild
1212 * that do want 2.0 but not 2.22. Please give a day's notice for
1213- * objections before removal.
1214 */
1215 graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix { };
00000012161217 grive = callPackage ../tools/filesystems/grive {
1218 json_c = json-c-0-11; # won't configure with 0.12; others are vulnerable
···89848985 gpsd = callPackage ../servers/gpsd { };
89868987- guitone = callPackage ../applications/version-management/guitone { };
0089888989 gv = callPackage ../applications/misc/gv { };
8990
···12101211 /* Readded by Michael Raskin. There are programs in the wild
1212 * that do want 2.0 but not 2.22. Please give a day's notice for
1213+ * objections before removal. The feature is integer coordinates
1214 */
1215 graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix { };
1216+1217+ /* Readded by Michael Raskin. There are programs in the wild
1218+ * that do want 2.32 but not 2.0 or 2.36. Please give a day's notice for
1219+ * objections before removal. The feature is libgraph.
1220+ */
1221+ graphviz_2_32 = callPackage ../tools/graphics/graphviz/2.32.nix { };
12221223 grive = callPackage ../tools/filesystems/grive {
1224 json_c = json-c-0-11; # won't configure with 0.12; others are vulnerable
···89908991 gpsd = callPackage ../servers/gpsd { };
89928993+ guitone = callPackage ../applications/version-management/guitone {
8994+ graphviz = graphviz_2_32;
8995+ };
89968997 gv = callPackage ../applications/misc/gv { };
8998