aboutsummaryrefslogtreecommitdiff
path: root/pkgs/development/libraries/libchop
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2011-11-13 22:25:30 +0000
committerLudovic Courtès <ludo@gnu.org>2011-11-13 22:25:30 +0000
commitc9e8f6fc40bcd5842678fcd2c2e22668fb20fe0c (patch)
tree6bcbe1f7900963b7c04bbefd6696ac66b58a232e /pkgs/development/libraries/libchop
parentc62c1739446cc99bbfbf4a8fa88bdadb1965a1bb (diff)
libchop: Attempt to fix bug in Guile bindings; augment the expression.
svn path=/nixpkgs/trunk/; revision=30417
Diffstat (limited to 'pkgs/development/libraries/libchop')
-rw-r--r--pkgs/development/libraries/libchop/default.nix38
-rw-r--r--pkgs/development/libraries/libchop/guile-ascii-deserialize.patch15
2 files changed, 45 insertions, 8 deletions
diff --git a/pkgs/development/libraries/libchop/default.nix b/pkgs/development/libraries/libchop/default.nix
index be6bc4293016..cc4eef6bf2ab 100644
--- a/pkgs/development/libraries/libchop/default.nix
+++ b/pkgs/development/libraries/libchop/default.nix
@@ -1,26 +1,48 @@
-{ fetchurl, stdenv, zlib, bzip2, libgcrypt, gdbm, gperf, tdb, gnutls, db4,
- libuuid, lzo, pkgconfig }:
+{ fetchurl, stdenv, zlib, bzip2, libgcrypt, gdbm, gperf, tdb, gnutls, db4
+, libuuid, lzo, pkgconfig, guile }:
stdenv.mkDerivation rec {
name = "libchop-0.5";
src = fetchurl {
- url = "http://download.savannah.gnu.org/releases/libchop/libchop-0.5.tar.gz";
+ url = "mirror://savannah/libchop/${name}.tar.gz";
sha256 = "0i7gl0c99pf6794bbwm3iha6a0bciqq969mgwwv6gm9phiiy5s8b";
};
- buildInputs = [ zlib libgcrypt gdbm gperf bzip2 db4 tdb gnutls libuuid lzo
- pkgconfig ];
+ patches = [ ./guile-ascii-deserialize.patch ];
+
+ buildNativeInputs = [ pkgconfig gperf ];
+ buildInputs =
+ [ zlib bzip2 lzo
+ libgcrypt
+ gdbm db4 tdb
+ gnutls libuuid
+ guile
+ ];
doCheck = true;
meta = {
- description = "Set of utilities and library for data backup and distributed storage";
+ description = "libchop, 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 = http://nongnu.org/libchop/;
license = "GPLv3+";
- maintainers = [ stdenv.lib.maintainers.ludo
- stdenv.lib.maintainers.viric ];
+ maintainers = with stdenv.lib.maintainers; [ ludo viric ];
};
}
diff --git a/pkgs/development/libraries/libchop/guile-ascii-deserialize.patch b/pkgs/development/libraries/libchop/guile-ascii-deserialize.patch
new file mode 100644
index 000000000000..6a2e67d870c8
--- /dev/null
+++ b/pkgs/development/libraries/libchop/guile-ascii-deserialize.patch
@@ -0,0 +1,15 @@
+This fixes `deserialize-object/ascii'.
+
+diff --git a/guile2/chop/objects.scm b/guile2/chop/objects.scm
+index 1849195..1aa521d 100644
+--- a/guile2/chop/objects.scm
++++ b/guile2/chop/objects.scm
+@@ -133,7 +133,7 @@
+
+ (define (deserialize-object/ascii class str)
+ "Deserialize STR and return a new instance of CLASS that corresponds."
+- (%deserialize-object class (string->utf8 str) %ascii))
++ (%deserialize-object class (string->pointer str) %ascii))
+
+ (define (deserialize-object/binary class bv)
+ "Deserialize BV and return a new instance of CLASS that corresponds."