bup: include support for xattrs, acls and fuse on linux

this enables the commands "bup meta" and "bup fuse".
This commit is contained in:
Mathijs Kwik 2012-08-05 14:02:05 +02:00
parent 9b91fc81a3
commit 107f5e3560
2 changed files with 30 additions and 6 deletions

View File

@ -1,24 +1,47 @@
{ stdenv, fetchgit, python, git, perl, pandoc }: { stdenv, fetchgit, python, pyxattr, pylibacl, setuptools, fuse, git, perl, pandoc, makeWrapper }:
with stdenv.lib;
stdenv.mkDerivation { stdenv.mkDerivation {
name = "bup-0.25git20120722"; name = "bup-0.25git20120722";
src = fetchgit { src = fetchgit {
url = "https://github.com/apenwarr/bup.git"; url = "https://github.com/apenwarr/bup.git";
sha256 = "3ad232d7f23071ed34f920bd4c3137583f1adffbe23c022896289bc0a03fe7aa"; sha256 = "3ad232d7f23071ed34f920bd4c3137583f1adffbe23c022896289bc0a03fe7aa";
rev = "02bd2b566ea5eec2fd656e0ae572b4c7b6b9550a"; rev = "02bd2b566ea5eec2fd656e0ae572b4c7b6b9550a";
}; };
buildNativeInputs = [ pandoc perl ];
buildNativeInputs = [ pandoc perl makeWrapper ];
buildInputs = [ python git ]; buildInputs = [ python git ];
postInstall = optionalString (elem stdenv.system platforms.linux) ''
wrapProgram $out/bin/bup --prefix PYTHONPATH : \
${stdenv.lib.concatStringsSep ":"
(map (path: "$(toPythonPath ${path})") [ pyxattr pylibacl setuptools fuse ])}
'';
patchPhase = '' patchPhase = ''
for f in cmd/* lib/tornado/* lib/tornado/test/* t/* wvtest.py main.py; do for f in cmd/* lib/tornado/* lib/tornado/test/* t/* wvtest.py main.py; do
substituteInPlace $f --replace "/usr/bin/env python" "${python}/bin/python" substituteInPlace $f --replace "/usr/bin/env python" "${python}/bin/python"
done done
substituteInPlace Makefile --replace "./format-subst.pl" "perl ./format-subst.pl" substituteInPlace Makefile --replace "./format-subst.pl" "perl ./format-subst.pl"
substituteInPlace lib/bup/csetup.py --replace "'bupsplit.c'])" "'bupsplit.c'], library_dirs=['${python}/lib'])" substituteInPlace lib/bup/csetup.py \
--replace "'bupsplit.c'])" "'bupsplit.c'], library_dirs=['${python}/lib'])"
''; '';
makeFlags = "MANDIR=$(out)/share/man DOCDIR=$(out)/share/doc/bup BINDIR=$(out)/bin LIBDIR=$(out)/lib/bup";
makeFlags = [
"MANDIR=$(out)/share/man"
"DOCDIR=$(out)/share/doc/bup"
"BINDIR=$(out)/bin"
"LIBDIR=$(out)/lib/bup"
];
meta = { meta = {
description = "Highly efficient file backup system based on the git packfile format. Capable of doing *fast* incremental backups of virtual machine images."; description = ''
Highly efficient file backup system based on the git packfile format.
Capable of doing *fast* incremental backups of virtual machine images.
'';
homepage = "https://github.com/apenwarr/bup"; homepage = "https://github.com/apenwarr/bup";
}; };
} }

View File

@ -488,7 +488,8 @@ let
btar = callPackage ../tools/backup/btar { }; btar = callPackage ../tools/backup/btar { };
bup = callPackage ../tools/backup/bup { bup = callPackage ../tools/backup/bup {
pandoc = haskellPackages.pandoc; inherit (pythonPackages) pyxattr pylibacl setuptools fuse;
inherit (haskellPackages) pandoc;
}; };
bzip2 = callPackage ../tools/compression/bzip2 { }; bzip2 = callPackage ../tools/compression/bzip2 { };