summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>2016-01-27 02:45:20 +0100
committerTobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>2016-01-27 02:45:20 +0100
commitfa247fa213be33c2ffd31419bde909457b261ded (patch)
tree52c559f1a28f3b594d453cd7cb1b2274fdb01845 /pkgs
parent32f4fb1ef533e387603a72ac5e5475add4ee7e1c (diff)
downloadnixpkgs-fa247fa213be33c2ffd31419bde909457b261ded.tar
nixpkgs-fa247fa213be33c2ffd31419bde909457b261ded.tar.gz
nixpkgs-fa247fa213be33c2ffd31419bde909457b261ded.tar.bz2
nixpkgs-fa247fa213be33c2ffd31419bde909457b261ded.tar.lz
nixpkgs-fa247fa213be33c2ffd31419bde909457b261ded.tar.xz
nixpkgs-fa247fa213be33c2ffd31419bde909457b261ded.tar.zst
nixpkgs-fa247fa213be33c2ffd31419bde909457b261ded.zip
zstd: init at 0.4.7
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/tools/compression/zstd/default.nix45
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
new file mode 100644
index 00000000000..d60b4b3614a
--- /dev/null
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub
+, legacySupport ? false }:
+
+stdenv.mkDerivation rec {
+  name = "zstd-${version}";
+  version = "0.4.7";
+
+  src = fetchFromGitHub {
+    sha256 = "09l917979qfqk44dbgsa9vs37a2qj4ga43553zcgvnps02wlja8s";
+    rev = "v${version}";
+    repo = "zstd";
+    owner = "Cyan4973";
+  };
+
+  # The Makefiles don't properly use file targets, but blindly rebuild
+  # all dependencies on every make invocation. So no nice phases. :-(
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  makeFlags = [
+    "ZSTD_LEGACY_SUPPORT=${if legacySupport then "1" else "0"}"
+  ];
+
+  installFlags = [
+    "PREFIX=$(out)"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Zstandard real-time compression algorithm";
+    longDescription = ''
+      Zstd, short for Zstandard, is a fast lossless compression algorithm,
+      targeting real-time compression scenarios at zlib-level compression
+      ratio. Zstd can also offer stronger compression ratio at the cost of
+      compression speed. Speed/ratio trade-off is configurable by small
+      increment, to fit different situations. Note however that decompression
+      speed is preserved and remain roughly the same at all settings, a
+      property shared by most LZ compression algorithms, such as zlib. 
+    '';
+    homepage = http://www.zstd.net/;
+    # The licence of the CLI programme is GPLv2+, that of the library BSD-2.
+    license = with licenses; [ gpl2Plus bsd2 ];
+
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 96f91be7505..9d5f304d756 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3759,6 +3759,8 @@ let
 
   zsh-navigation-tools = callPackage ../tools/misc/zsh-navigation-tools { };
 
+  zstd = callPackage ../tools/compression/zstd { };
+
   zsync = callPackage ../tools/compression/zsync { };
 
   zxing = callPackage ../tools/graphics/zxing {};