summary refs log tree commit diff
path: root/pkgs/tools/backup
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
parent373455e237d7b9fff27dd2d94682084dc95d9a23 (diff)
downloadnixpkgs-5e1bea1ec27f11bf9ffdb19a8a0a750958131257.tar
nixpkgs-5e1bea1ec27f11bf9ffdb19a8a0a750958131257.tar.gz
nixpkgs-5e1bea1ec27f11bf9ffdb19a8a0a750958131257.tar.bz2
nixpkgs-5e1bea1ec27f11bf9ffdb19a8a0a750958131257.tar.lz
nixpkgs-5e1bea1ec27f11bf9ffdb19a8a0a750958131257.tar.xz
nixpkgs-5e1bea1ec27f11bf9ffdb19a8a0a750958131257.tar.zst
nixpkgs-5e1bea1ec27f11bf9ffdb19a8a0a750958131257.zip
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')
-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 af5116eaa72..b7136c16fb3 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 ];
   };
 }