summaryrefslogtreecommitdiffstats
path: root/pkgs/tools/backup/bup
diff options
context:
space:
mode:
authorJoachim Fasting <joachifm@fastmail.fm>2016-05-28 02:01:15 +0200
committerJoachim Fasting <joachifm@fastmail.fm>2016-05-28 15:32:49 +0200
commit5e1bea1ec27f11bf9ffdb19a8a0a750958131257 (patch)
treea336153cdaa67059bfe2a72cc6dc1645c1a180f8 /pkgs/tools/backup/bup
parent373455e237d7b9fff27dd2d94682084dc95d9a23 (diff)
bup: refactorings
- Use `fetchFromGitHub` - Apply patches standard patch phase - Use `pythonPackages` - Use `stdenv.is{Darwin,Linux}` - meta fixups - Enable support for the web front-end
Diffstat (limited to 'pkgs/tools/backup/bup')
-rw-r--r--pkgs/tools/backup/bup/default.nix41
1 files changed, 22 insertions, 19 deletions
diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix
index af5116eaa724..b7136c16fb3c 100644
--- a/pkgs/tools/backup/bup/default.nix
+++ b/pkgs/tools/backup/bup/default.nix
@@ -1,5 +1,7 @@
-{ stdenv, fetchzip, fetchurl, python, pyxattr, pylibacl, setuptools
-, fuse, git, perl, pandoc, makeWrapper, par2cmdline, par2Support ? false }:
+{ stdenv, fetchFromGitHub, fetchurl, makeWrapper
+, perl, pandoc, pythonPackages, git
+, par2cmdline ? null, par2Support ? false
+}:
assert par2Support -> par2cmdline != null;
@@ -10,27 +12,28 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "bup-${version}";
- src = fetchzip {
- url = "https://github.com/bup/bup/archive/${version}.tar.gz";
+ src = fetchFromGitHub {
+ repo = "bup";
+ owner = "bup";
+ rev = version;
sha256 = "0g7b0xl3kg0z6rn81fvzl1xnvva305i7pjih2hm68mcj0adk3v0d";
};
- buildInputs = [ python git ];
+ buildInputs = [ git pythonPackages.python ];
nativeBuildInputs = [ pandoc perl makeWrapper ];
- darwin_10_10_patch = fetchurl {
+ patches = optional stdenv.isDarwin (fetchurl {
url = "https://github.com/bup/bup/commit/75d089e7cdb7a7eb4d69c352f56dad5ad3aa1f97.diff";
sha256 = "05kp47p30a45ip0fg090vijvzc7ijr0alc3y8kjl6bvv3gliails";
- };
+ name = "darwin_10_10.patch";
+ });
postPatch = ''
patchShebangs .
substituteInPlace Makefile --replace "-Werror" ""
- substituteInPlace Makefile --replace "./format-subst.pl" "perl ./format-subst.pl"
+ substituteInPlace Makefile --replace "./format-subst.pl" "${perl}/bin/perl ./format-subst.pl"
'' + optionalString par2Support ''
substituteInPlace cmd/fsck-cmd.py --replace "['par2'" "['${par2cmdline}/bin/par2'"
- '' + optionalString (elem stdenv.system platforms.darwin) ''
- patch -p1 < ${darwin_10_10_patch}
'';
dontAddPrefix = true;
@@ -42,24 +45,24 @@ stdenv.mkDerivation rec {
"LIBDIR=$(out)/lib/bup"
];
- postInstall = ''wrapProgram $out/bin/bup --prefix PATH : ${git}/bin ''
- + optionalString (elem stdenv.system platforms.linux) '' --prefix PYTHONPATH : \
- ${stdenv.lib.concatStringsSep ":"
- (map (path: "$(toPythonPath ${path})") [ pyxattr pylibacl setuptools fuse ])}
+ postInstall = ''
+ wrapProgram $out/bin/bup \
+ --prefix PATH : ${git}/bin \
+ --prefix PYTHONPATH : ${concatStringsSep ":" (map (x: "$(toPythonPath ${x})")
+ (with pythonPackages; [ pyxattr pylibacl setuptools fuse tornado ]))}
'';
meta = {
homepage = "https://github.com/bup/bup";
- description = "efficient file backup system based on the git packfile format";
- license = stdenv.lib.licenses.gpl2Plus;
+ description = "Efficient file backup system based on the git packfile format";
+ license = licenses.gpl2Plus;
longDescription = ''
Highly efficient file backup system based on the git packfile format.
Capable of doing *fast* incremental backups of virtual machine images.
'';
- hydraPlatforms = stdenv.lib.platforms.linux;
- maintainers = with stdenv.lib.maintainers; [ muflax ];
-
+ hydraPlatforms = platforms.linux;
+ maintainers = with maintainers; [ muflax ];
};
}