summary refs log tree commit diff
path: root/pkgs/development/libraries/libzip/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/libzip/default.nix')
-rw-r--r--pkgs/development/libraries/libzip/default.nix26
1 files changed, 14 insertions, 12 deletions
diff --git a/pkgs/development/libraries/libzip/default.nix b/pkgs/development/libraries/libzip/default.nix
index 4af9278c7b1..714745c432e 100644
--- a/pkgs/development/libraries/libzip/default.nix
+++ b/pkgs/development/libraries/libzip/default.nix
@@ -1,32 +1,34 @@
-{ stdenv, fetchurl, zlib }:
+{ stdenv, fetchurl, perl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "libzip-0.11.2";
+  name = "libzip-${version}";
+  version = "1.1.2";
 
   src = fetchurl {
     url = "http://www.nih.at/libzip/${name}.tar.gz";
-    sha256 = "1mcqrz37vjrfr4gnss37z1m7xih9x9miq3mms78zf7wn7as1znw3";
+    sha256 = "08b26qbfxq6z5xf36y1d8insm5valv83dhj933iag6man04prb2r";
   };
 
-  # fix CVE-2015-2331 taken from Debian patch:
-  # https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=12;filename=libzip-0.11.2-1.2-nmu.diff;att=1;bug=780756
-  postPatch = ''
-    substituteInPlace lib/zip_dirent.c --replace \
-      'else if ((cd->entry=(struct zip_entry *)' \
-      'else if (nentry > ((size_t)-1)/sizeof(*(cd->entry)) || (cd->entry=(struct zip_entry *)'
-    cat lib/zip_dirent.c
-  '';
+  outputs = [ "dev" "out" ];
 
+  nativeBuildInputs = [ perl ];
   propagatedBuildInputs = [ zlib ];
 
+  preInstall = ''
+    patchShebangs man/handle_links
+  '';
+
   # At least mysqlWorkbench cannot find zipconf.h; I think also openoffice
   # had this same problem.  This links it somewhere that mysqlworkbench looks.
   postInstall = ''
-    ( cd $out/include ; ln -s ../lib/libzip/include/zipconf.h zipconf.h )
+    mkdir -p $dev/lib
+    mv $out/lib/libzip $dev/lib/libzip
+    ( cd $dev/include ; ln -s ../lib/libzip/include/zipconf.h zipconf.h )
   '';
 
   meta = {
     homepage = http://www.nih.at/libzip;
     description = "A C library for reading, creating and modifying zip archives";
+    platforms = stdenv.lib.platforms.unix;
   };
 }