about summary refs log tree commit diff
path: root/pkgs/applications/graphics/xfig
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2012-01-02 15:29:14 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2012-01-02 15:29:14 +0000
commit98e4666dcdabd6a59c1e3919d6b482f1b6e5f6ae (patch)
tree81fb523982a58f3fcf94d8a56887ef908688fb46 /pkgs/applications/graphics/xfig
parent38f6d36e916d0984d72a3097e4e1227e4780cb90 (diff)
update xfig, pull a few patches from debian
svn path=/nixpkgs/trunk/; revision=31213
Diffstat (limited to 'pkgs/applications/graphics/xfig')
-rw-r--r--pkgs/applications/graphics/xfig/builder.sh7
-rw-r--r--pkgs/applications/graphics/xfig/default.nix30
2 files changed, 33 insertions, 4 deletions
diff --git a/pkgs/applications/graphics/xfig/builder.sh b/pkgs/applications/graphics/xfig/builder.sh
index 4d3cc6335bfdc..bb1cd7f49c48b 100644
--- a/pkgs/applications/graphics/xfig/builder.sh
+++ b/pkgs/applications/graphics/xfig/builder.sh
@@ -2,6 +2,13 @@ source $stdenv/setup
 
 makeFlags="XAWLIB=-lXaw3d BINDIR=$out/bin XAPPLOADDIR=$out/etc/X11/app-defaults LIBDIR=$out/lib/X11 XFIGDOCDIR=$out/share/doc/xfig MANPATH=$out/man"
 
+# We need chmod +wx on dirs, not just chmod +w
+dontMakeSourcesWritable=1
+postUnpack() {
+	find . -type d | xargs -n1 chmod +x
+	find . -type d | xargs -n1 chmod +x
+}
+
 preBuild() {
     echo "#define XAW3D" >> Imakefile.tmp
     echo "#define XAW3D1_5E" >> Imakefile.tmp
diff --git a/pkgs/applications/graphics/xfig/default.nix b/pkgs/applications/graphics/xfig/default.nix
index 9b0d009e41701..80c284619925e 100644
--- a/pkgs/applications/graphics/xfig/default.nix
+++ b/pkgs/applications/graphics/xfig/default.nix
@@ -1,20 +1,42 @@
 { stdenv, fetchurl, makeWrapper, imake
 , x11, libXpm, libXmu, libXi, libXp, Xaw3d, libpng, libjpeg}:
 
+let version = "3.2.5b"; in
 stdenv.mkDerivation {
-  name = "xfig-3.2.5-pre-alpha-5";
+  name = "xfig-${version}";
 
   src = fetchurl {
-    url = http://xfig.org/software/xfig/3.2.5-alpha/xfig.3.2.5-alpha5.full.tar.gz;
-    md5 = "7547b66232569e3c12e4a0639bd92629";
+    url = "http://sourceforge/mcj/xfig.${version}.full.tar.gz";
+    sha256 = "1hl5x49sgc0vap411whhcq6qhvh4xbjg7jggv7ih9pplg5nwy0aw";
   };
 
   builder = ./builder.sh;
 
-  buildInputs = [imake x11 libXpm libXmu libXi libXp Xaw3d libpng libjpeg makeWrapper];
+  buildInputs = [x11 libXpm libXmu libXi libXp Xaw3d libpng libjpeg];
+
+  buildNativeInputs = [ imake makeWrapper ];
 
   NIX_CFLAGS_COMPILE = "-I${libXpm}/include/X11";
 
+  patches =
+    let
+      debPrefix = "http://patch-tracker.debian.org/patch/series/dl/xfig/1:3.2.5.b-2";
+    in
+    [
+      (fetchurl {
+        url = "${debPrefix}/35_CVE-2010-4262.dpatch";
+        sha256 = "18741b3dbipgr55fyp5x0296za3336ylln639jw8yjcyd1call22";
+      })
+      (fetchurl {
+        url = "${debPrefix}/13_remove_extra_libs.dpatch";
+        sha256 = "0v3k30ib7xq5wfhd3yacnal4gbih7nqw0z0aycvc0hafffl97i46";
+      })
+      (fetchurl {
+        url = "${debPrefix}/36_libpng15.dpatch";
+        sha256 = "0ssmvlcpjn3iqj3l38db8j8qpqbzixlwpczq01m49r5w9l3viy8k";
+      })
+    ];
+
   meta = {
     description = "An interactive drawing tool for X11";
     homepage = http://xfig.org;