summaryrefslogtreecommitdiffstats
path: root/pkgs/tools/archivers/zpaq
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>2016-03-18 06:02:18 +0100
committerTobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>2016-03-18 08:03:48 +0100
commitfb6786de36437402882dcc135433477c39ecde44 (patch)
tree2d3acdcf395b5f9afc0260c9b200214bf6faa001 /pkgs/tools/archivers/zpaq
parent87ca9b962917a1c86b4ca73b791eba4745321e6c (diff)
zpaq: 705 -> 706
Changes: - Fixes handling of some corrupted archives. - Conforms to new spec zpaq205.pdf. - New man page. - Add Makefile [and adapt Nix expression to use it].
Diffstat (limited to 'pkgs/tools/archivers/zpaq')
-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 2b761df3863f..fe5dc54a27dc 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="706";
name="${baseName}-${version}";
- hash="0d1knq4f6693nvbwjx4wznb45hm4zyn4k88xvhynyk0dcbiy7ayq";
- url="http://mattmahoney.net/dc/zpaq705.zip";
- sha256="0d1knq4f6693nvbwjx4wznb45hm4zyn4k88xvhynyk0dcbiy7ayq";
+ hash="0wn5hs02aac61rjbba3s6wibyk73f1mfcbqnf34hcpyj2gl5i59k";
+ url="http://mattmahoney.net/dc/zpaq706.zip";
+ sha256="0wn5hs02aac61rjbba3s6wibyk73f1mfcbqnf34hcpyj2gl5i59k";
};
- 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;