about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/compression/xz/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/compression/xz/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/compression/xz/default.nix56
1 files changed, 56 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/compression/xz/default.nix b/nixpkgs/pkgs/tools/compression/xz/default.nix
new file mode 100644
index 000000000000..cc021a1ef051
--- /dev/null
+++ b/nixpkgs/pkgs/tools/compression/xz/default.nix
@@ -0,0 +1,56 @@
+{ lib, stdenv, fetchurl
+, enableStatic ? stdenv.hostPlatform.isStatic
+}:
+
+# Note: this package is used for bootstrapping fetchurl, and thus
+# cannot use fetchpatch! All mutable patches (generated by GitHub or
+# cgit) that are needed here should be included directly in Nixpkgs as
+# files.
+
+stdenv.mkDerivation rec {
+  name = "xz-5.2.5";
+
+  src = fetchurl {
+    url = "https://tukaani.org/xz/${name}.tar.bz2";
+    sha256 = "1ps2i8i212n0f4xpq6clp7h13q7m1y8slqvxha9i8d0bj0qgj5si";
+  };
+
+  outputs = [ "bin" "dev" "out" "man" "doc" ];
+
+  configureFlags = lib.optional enableStatic "--disable-shared";
+
+  doCheck = true;
+
+  preCheck = ''
+    # Tests have a /bin/sh dependency...
+    patchShebangs tests
+  '';
+
+  # In stdenv-linux, prevent a dependency on bootstrap-tools.
+  preConfigure = "CONFIG_SHELL=/bin/sh";
+
+  postInstall = "rm -rf $out/share/doc";
+
+  meta = with lib; {
+    homepage = "https://tukaani.org/xz/";
+    description = "A general-purpose data compression software, successor of LZMA";
+
+    longDescription =
+      '' XZ Utils is free general-purpose data compression software with high
+         compression ratio.  XZ Utils were written for POSIX-like systems,
+         but also work on some not-so-POSIX systems.  XZ Utils are the
+         successor to LZMA Utils.
+
+         The core of the XZ Utils compression code is based on LZMA SDK, but
+         it has been modified quite a lot to be suitable for XZ Utils.  The
+         primary compression algorithm is currently LZMA2, which is used
+         inside the .xz container format.  With typical files, XZ Utils
+         create 30 % smaller output than gzip and 15 % smaller output than
+         bzip2.
+      '';
+
+    license = with licenses; [ gpl2Plus lgpl21Plus ];
+    maintainers = with maintainers; [ sander ];
+    platforms = platforms.all;
+  };
+}