about summary refs log tree commit diff
path: root/pkgs/tools/backup/bup
diff options
context:
space:
mode:
authorMathijs Kwik <mathijs@bluescreen303.nl>2012-08-05 14:02:05 +0200
committerMathijs Kwik <mathijs@bluescreen303.nl>2012-08-05 14:03:34 +0200
commit107f5e3560e446d690ab62bc5b8f3d86f7032459 (patch)
tree1aeb3729e955a9af1aca13b471cfcb2cb73cfa48 /pkgs/tools/backup/bup
parent9b91fc81a3559f469e9bc68f300721265d010559 (diff)
downloadnixlib-107f5e3560e446d690ab62bc5b8f3d86f7032459.tar
nixlib-107f5e3560e446d690ab62bc5b8f3d86f7032459.tar.gz
nixlib-107f5e3560e446d690ab62bc5b8f3d86f7032459.tar.bz2
nixlib-107f5e3560e446d690ab62bc5b8f3d86f7032459.tar.lz
nixlib-107f5e3560e446d690ab62bc5b8f3d86f7032459.tar.xz
nixlib-107f5e3560e446d690ab62bc5b8f3d86f7032459.tar.zst
nixlib-107f5e3560e446d690ab62bc5b8f3d86f7032459.zip
bup: include support for xattrs, acls and fuse on linux
this enables the commands "bup meta" and "bup fuse".
Diffstat (limited to 'pkgs/tools/backup/bup')
-rw-r--r--pkgs/tools/backup/bup/default.nix33
1 files changed, 28 insertions, 5 deletions
diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix
index 6d4555d34e56..586fc514ba65 100644
--- a/pkgs/tools/backup/bup/default.nix
+++ b/pkgs/tools/backup/bup/default.nix
@@ -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 {
   name = "bup-0.25git20120722";
+
   src = fetchgit {
     url = "https://github.com/apenwarr/bup.git";
     sha256 = "3ad232d7f23071ed34f920bd4c3137583f1adffbe23c022896289bc0a03fe7aa";
     rev = "02bd2b566ea5eec2fd656e0ae572b4c7b6b9550a";
   };
-  buildNativeInputs = [ pandoc perl ];
+
+  buildNativeInputs = [ pandoc perl makeWrapper ];
+
   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 = ''
     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"
     done
     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 = {
-    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";
   };
 }