88 lines
2 KiB
Nix
88 lines
2 KiB
Nix
{
|
||
fetchurl,
|
||
lib,
|
||
stdenv,
|
||
zlib,
|
||
bzip2,
|
||
libgcrypt,
|
||
gdbm,
|
||
gperf,
|
||
tdb,
|
||
gnutls,
|
||
db,
|
||
libuuid,
|
||
lzo,
|
||
pkg-config,
|
||
guile,
|
||
rpcsvc-proto,
|
||
libtirpc,
|
||
}:
|
||
|
||
stdenv.mkDerivation rec {
|
||
pname = "libchop";
|
||
version = "0.5.2";
|
||
|
||
src = fetchurl {
|
||
url = "mirror://savannah/libchop/libchop-${version}.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
|
||
];
|
||
|
||
env.NIX_CFLAGS_COMPILE = toString [ "-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 = [ ];
|
||
platforms = platforms.gnu ++ platforms.linux;
|
||
};
|
||
}
|