nixpkgs/pkgs/development/libraries/libchop/default.nix
Artturin f9fdf2d402 treewide: move NIX_CFLAGS_COMPILE to the env attrset
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper

this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
2023-02-22 21:23:04 +02:00

59 lines
2 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ 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 = with maintainers; [ ];
platforms = platforms.gnu ++ platforms.linux;
};
}