about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/compression/xar/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/compression/xar/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/compression/xar/default.nix42
1 files changed, 42 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/compression/xar/default.nix b/nixpkgs/pkgs/tools/compression/xar/default.nix
new file mode 100644
index 000000000000..5d7c2b092204
--- /dev/null
+++ b/nixpkgs/pkgs/tools/compression/xar/default.nix
@@ -0,0 +1,42 @@
+{ lib, stdenv, fetchurl, libxml2, lzma, openssl, zlib, bzip2, fts, autoconf }:
+
+stdenv.mkDerivation rec {
+  version = "1.6.1";
+  pname = "xar";
+
+  src = fetchurl {
+    url    = "https://github.com/downloads/mackyle/xar/${pname}-${version}.tar.gz";
+    sha256 = "0ghmsbs6xwg1092v7pjcibmk5wkyifwxw6ygp08gfz25d2chhipf";
+  };
+
+  buildInputs = [ libxml2 lzma openssl zlib bzip2 fts autoconf ];
+
+  prePatch = ''
+    substituteInPlace configure.ac \
+      --replace 'OpenSSL_add_all_ciphers' 'OPENSSL_init_crypto' \
+      --replace 'openssl/evp.h' 'openssl/crypto.h'
+  '';
+
+  preConfigure = "./autogen.sh";
+
+  meta = {
+    homepage    = "https://mackyle.github.io/xar/";
+    description = "Extensible Archiver";
+
+    longDescription =
+      '' The XAR project aims to provide an easily extensible archive format.
+         Important design decisions include an easily extensible XML table of
+         contents for random access to archived files, storing the toc at the
+         beginning of the archive to allow for efficient handling of streamed
+         archives, the ability to handle files of arbitrarily large sizes, the
+         ability to choose independent encodings for individual files in the
+         archive, the ability to store checksums for individual files in both
+         compressed and uncompressed form, and the ability to query the table
+         of content's rich meta-data.
+      '';
+
+    license     = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ copumpkin ];
+    platforms   = lib.platforms.all;
+  };
+}