about summary refs log tree commit diff
path: root/pkgs/applications/version-management
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2017-02-15 15:08:20 +0100
committerMichael Raskin <7c6f434c@mail.ru>2017-02-15 15:10:00 +0100
commitc731738ecc132f450bc1cb0eaad7c1fa232fa299 (patch)
treea218bc02198f49993d05174b76acb2cc2b04f9e7 /pkgs/applications/version-management
parent91d0260feba50b25b13d1e0dd2705039f75e09a2 (diff)
graphviz_2_0: hide inside monotoneViz
The old Graphviz version is vulnerable, but monotone-viz will never feed
it bad input.
Diffstat (limited to 'pkgs/applications/version-management')
-rw-r--r--pkgs/applications/version-management/monotone-viz/default.nix10
-rw-r--r--pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix40
2 files changed, 49 insertions, 1 deletions
diff --git a/pkgs/applications/version-management/monotone-viz/default.nix b/pkgs/applications/version-management/monotone-viz/default.nix
index 154d6442a2f2d..255192a912827 100644
--- a/pkgs/applications/version-management/monotone-viz/default.nix
+++ b/pkgs/applications/version-management/monotone-viz/default.nix
@@ -1,4 +1,12 @@
-{stdenv, fetchurl, ocaml, lablgtk, libgnomecanvas, camlp4, glib, pkgconfig, graphviz_2_0, makeWrapper}:
+{stdenv, fetchurl, ocaml, lablgtk, libgnomecanvas, camlp4, glib, pkgconfig, makeWrapper
+, libtool, libpng, yacc, expat, fontconfig, gd, pango, libjpeg, libwebp, xlibsWrapper, libXaw
+}:
+# We need an old version of Graphviz for format compatibility reasons.
+# This version is vulnerable, but monotone-viz will never feed it bad input.
+let graphviz_2_0 = import ./graphviz-2.0.nix {
+      inherit stdenv fetchurl pkgconfig xlibsWrapper libpng libjpeg expat libXaw
+        yacc libtool fontconfig pango gd libwebp;
+    }; in
 stdenv.mkDerivation rec {
   version = "1.0.2";
   name = "monotone-viz-${version}";
diff --git a/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix b/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix
new file mode 100644
index 0000000000000..32cc283bc3c9c
--- /dev/null
+++ b/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, pkgconfig, xlibsWrapper, libpng, libjpeg, expat, libXaw
+, yacc, libtool, fontconfig, pango, gd, libwebp
+}:
+
+assert libpng != null && libjpeg != null && expat != null;
+
+stdenv.mkDerivation rec {
+  name = "graphviz-2.0";
+
+  src = fetchurl {
+    url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz";
+    sha256 = "39b8e1f2ba4cc1f5bdc8e39c7be35e5f831253008e4ee2c176984f080416676c";
+  };
+
+  buildInputs = [
+    pkgconfig xlibsWrapper libpng libjpeg expat libXaw yacc
+    libtool fontconfig pango gd libwebp
+  ];
+
+  hardeningDisable = [ "format" "fortify" ];
+
+  configureFlags =
+    [ "--with-pngincludedir=${libpng.dev}/include"
+      "--with-pnglibdir=${libpng.out}/lib"
+      "--with-jpegincludedir=${libjpeg.dev}/include"
+      "--with-jpeglibdir=${libjpeg.out}/lib"
+      "--with-expatincludedir=${expat.dev}/include"
+      "--with-expatlibdir=${expat.out}/lib"
+      "--with-ltdl-include=${libtool}/include"
+      "--with-ltdl-lib=${libtool.lib}/lib"
+    ]
+    ++ stdenv.lib.optional (xlibsWrapper == null) "--without-x";
+
+  meta = {
+    description = "A program for visualising graphs";
+    homepage = http://www.graphviz.org/;
+    branch = "2.0";
+    platforms = stdenv.lib.platforms.unix;
+  };
+}