about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libchop/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libchop/default.nix')
-rw-r--r--nixpkgs/pkgs/development/libraries/libchop/default.nix58
1 files changed, 58 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libchop/default.nix b/nixpkgs/pkgs/development/libraries/libchop/default.nix
new file mode 100644
index 000000000000..f02ac04621fc
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libchop/default.nix
@@ -0,0 +1,58 @@
+{ fetchurl, lib, stdenv, zlib, bzip2, libgcrypt
+, gdbm, gperf, tdb, gnutls, db, libuuid
+, lzo, pkg-config, guile, rpcsvc-proto, libtirpc
+}:
+
+stdenv.mkDerivation rec {
+  name = "libchop-0.5.2";
+
+  src = fetchurl {
+    url = "mirror://savannah/libchop/${name}.tar.gz";
+    sha256 = "0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g";
+  };
+
+  patches = [ ./gets-undeclared.patch ./size_t.patch ./0001-Fix-RPC-compilation-when-using-libtirpc-rather-than-.patch ];
+
+  nativeBuildInputs = [ pkg-config gperf rpcsvc-proto ];
+
+  NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
+  NIX_LDFLAGS = [ "-ltirpc" ];
+
+  buildInputs =
+    [ zlib bzip2 lzo
+      libgcrypt
+      gdbm db tdb
+      gnutls libuuid
+      guile libtirpc
+    ];
+
+  doCheck = false;
+
+  preConfigure = ''
+    sed -re 's%@GUILE@%&/guile%' -i */Makefile.* Makefile.*
+  '';
+
+  meta = with lib; {
+    description = "Tools & library for data backup and distributed storage";
+
+    longDescription =
+      '' Libchop is a set of utilities and library for data backup and
+         distributed storage.  Its main application is chop-backup, an
+         encrypted backup program that supports data integrity checks,
+         versioning at little cost, distribution among several sites,
+         selective sharing of stored data, adaptive compression, and more.
+         The library itself, which chop-backup builds upon, implements
+         storage techniques such as content-based addressing, content hash
+         keys, Merkle trees, similarity detection, and lossless compression.
+         It makes it easy to combine them in different ways.  The
+         ‘chop-archiver’ and ‘chop-block-server’ tools, illustrated in the
+         manual, provide direct access to these facilities from the command
+         line.  It is written in C and has Guile (Scheme) bindings.
+      '';
+
+    homepage = "https://www.nongnu.org/libchop/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ];
+    platforms = platforms.gnu ++ platforms.linux;
+  };
+}