python312Packages.llama-index: 0.12.9 -> 0.12.9.post1 (#371957)
[NixPkgs.git] / pkgs / by-name / li / libchop / package.nix
blob83d064ef08fbae46f7eb168be054351e3769f5e9
2   fetchurl,
3   lib,
4   stdenv,
5   zlib,
6   bzip2,
7   libgcrypt,
8   gdbm,
9   gperf,
10   tdb,
11   gnutls,
12   db,
13   libuuid,
14   lzo,
15   pkg-config,
16   guile,
17   rpcsvc-proto,
18   libtirpc,
21 stdenv.mkDerivation rec {
22   pname = "libchop";
23   version = "0.5.2";
25   src = fetchurl {
26     url = "mirror://savannah/libchop/libchop-${version}.tar.gz";
27     sha256 = "0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g";
28   };
30   patches = [
31     ./gets-undeclared.patch
32     ./size_t.patch
33     ./0001-Fix-RPC-compilation-when-using-libtirpc-rather-than-.patch
34   ];
36   nativeBuildInputs = [
37     pkg-config
38     gperf
39     rpcsvc-proto
40   ];
42   env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ];
43   NIX_LDFLAGS = [ "-ltirpc" ];
45   buildInputs = [
46     zlib
47     bzip2
48     lzo
49     libgcrypt
50     gdbm
51     db
52     tdb
53     gnutls
54     libuuid
55     guile
56     libtirpc
57   ];
59   doCheck = false;
61   preConfigure = ''
62     sed -re 's%@GUILE@%&/guile%' -i */Makefile.* Makefile.*
63   '';
65   meta = with lib; {
66     description = "Tools & library for data backup and distributed storage";
68     longDescription = ''
69       Libchop is a set of utilities and library for data backup and
70       distributed storage.  Its main application is chop-backup, an
71       encrypted backup program that supports data integrity checks,
72       versioning at little cost, distribution among several sites,
73       selective sharing of stored data, adaptive compression, and more.
74       The library itself, which chop-backup builds upon, implements
75       storage techniques such as content-based addressing, content hash
76       keys, Merkle trees, similarity detection, and lossless compression.
77       It makes it easy to combine them in different ways.  The
78       ‘chop-archiver’ and ‘chop-block-server’ tools, illustrated in the
79       manual, provide direct access to these facilities from the command
80       line.  It is written in C and has Guile (Scheme) bindings.
81     '';
83     homepage = "https://www.nongnu.org/libchop/";
84     license = licenses.gpl3Plus;
85     maintainers = [ ];
86     platforms = platforms.gnu ++ platforms.linux;
87   };