summary refs log tree commit diff
path: root/pkgs/tools/archivers/zpaq/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/archivers/zpaq/default.nix')
-rw-r--r--pkgs/tools/archivers/zpaq/default.nix43
1 files changed, 19 insertions, 24 deletions
diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix
index 2b761df3863..011793248cd 100644
--- a/pkgs/tools/archivers/zpaq/default.nix
+++ b/pkgs/tools/archivers/zpaq/default.nix
@@ -1,23 +1,14 @@
-{ stdenv, fetchurl, unzip }:
+{ stdenv, fetchurl, perl, unzip }:
 let
   s = # Generated upstream information
   rec {
     baseName="zpaq";
-    version="705";
+    version="707";
     name="${baseName}-${version}";
-    hash="0d1knq4f6693nvbwjx4wznb45hm4zyn4k88xvhynyk0dcbiy7ayq";
-    url="http://mattmahoney.net/dc/zpaq705.zip";
-    sha256="0d1knq4f6693nvbwjx4wznb45hm4zyn4k88xvhynyk0dcbiy7ayq";
+    hash="0xbisphv318a33px47vriirdp2jhf99y6hx6gcbfhbhkaqpggjg3";
+    url="http://mattmahoney.net/dc/zpaq707.zip";
+    sha256="0xbisphv318a33px47vriirdp2jhf99y6hx6gcbfhbhkaqpggjg3";
   };
-  isUnix = with stdenv; isLinux || isGNU || isDarwin || isFreeBSD || isOpenBSD;
-  isx86 = stdenv.isi686 || stdenv.isx86_64;
-  compileFlags = with stdenv; ""
-    + (lib.optionalString (isUnix) " -Dunix -pthread")
-    + (lib.optionalString (isi686) " -march=i686")
-    + (lib.optionalString (isx86_64) " -march=nocona")
-    + (lib.optionalString (!isx86) " -DNOJIT")
-    + " -O3 -mtune=generic -DNDEBUG"
-    ;
 in
 stdenv.mkDerivation {
   inherit (s) name version;
@@ -28,20 +19,24 @@ stdenv.mkDerivation {
 
   sourceRoot = ".";
 
+  nativeBuildInputs = [ perl /* for pod2man */ ];
   buildInputs = [ unzip ];
 
-  buildPhase = ''
-    g++ ${compileFlags} -fPIC --shared libzpaq.cpp -o libzpaq.so
-    g++ ${compileFlags} -L. -L"$out/lib" -lzpaq zpaq.cpp -o zpaq
+  preBuild = let
+    CPPFLAGS = with stdenv; ""
+      + (lib.optionalString (!isi686 && !isx86_64) "-DNOJIT ")
+      + "-Dunix";
+    CXXFLAGS = with stdenv; ""
+      + (lib.optionalString (isi686) "-march=i686 ")
+      + (lib.optionalString (isx86_64) "-march=nocona ")
+      + "-O3 -mtune=generic -DNDEBUG";
+  in ''
+    buildFlagsArray=( "CPPFLAGS=${CPPFLAGS}" "CXXFLAGS=${CXXFLAGS}" )
   '';
 
-  installPhase = ''
-    mkdir -p "$out"/{bin,include,lib,share/doc/zpaq}
-    cp libzpaq.so "$out/lib"
-    cp zpaq "$out/bin"
-    cp libzpaq.h "$out/include"
-    cp readme.txt "$out/share/doc/zpaq"
-  '';
+  enableParallelBuilding = true;
+
+  installFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     inherit (s) version;