summary refs log tree commit diff
path: root/pkgs/tools/backup
diff options
context:
space:
mode:
authorPeter Hoeg <peter@hoeg.com>2021-07-12 10:16:18 +0800
committerPeter Hoeg <peter@hoeg.com>2021-07-14 09:54:12 +0800
commitaab4b6b4933d4965d04da0f8fae24cce5570a9e3 (patch)
treec8c467f6aa6ab2e1e4155e3f5d061706b151ed36 /pkgs/tools/backup
parent0a5d426155829253bdcef9c63578a16c67d73fec (diff)
downloadnixpkgs-aab4b6b4933d4965d04da0f8fae24cce5570a9e3.tar
nixpkgs-aab4b6b4933d4965d04da0f8fae24cce5570a9e3.tar.gz
nixpkgs-aab4b6b4933d4965d04da0f8fae24cce5570a9e3.tar.bz2
nixpkgs-aab4b6b4933d4965d04da0f8fae24cce5570a9e3.tar.lz
nixpkgs-aab4b6b4933d4965d04da0f8fae24cce5570a9e3.tar.xz
nixpkgs-aab4b6b4933d4965d04da0f8fae24cce5570a9e3.tar.zst
nixpkgs-aab4b6b4933d4965d04da0f8fae24cce5570a9e3.zip
rdiff-backup: 1.3.3 -> 2.0.5
Diffstat (limited to 'pkgs/tools/backup')
-rw-r--r--pkgs/tools/backup/rdiff-backup/default.nix37
-rw-r--r--pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch20
2 files changed, 25 insertions, 32 deletions
diff --git a/pkgs/tools/backup/rdiff-backup/default.nix b/pkgs/tools/backup/rdiff-backup/default.nix
index 0d24e3df720..3307ba08b11 100644
--- a/pkgs/tools/backup/rdiff-backup/default.nix
+++ b/pkgs/tools/backup/rdiff-backup/default.nix
@@ -1,23 +1,36 @@
-{lib, fetchurl, python2Packages, librsync, gnused }:
+{ lib, python3Packages, librsync }:
 
-python2Packages.buildPythonApplication {
-  name = "rdiff-backup-1.3.3";
+let
+  pypkgs = python3Packages;
 
-  src = fetchurl {
-    url = "mirror://savannah/rdiff-backup/rdiff-backup-1.3.3.tar.gz";
-    sha256 = "01hcwf5rgqi303fa4kdjkbpa7n8mvvh7h9gpgh2b23nz73k0q0zf";
+in
+pypkgs.buildPythonApplication rec {
+  pname = "rdiff-backup";
+  version = "2.0.5";
+
+  src = pypkgs.fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-VNFgOOYgFO2RbHHIMDsH0vphpqaAOMoYn8LTFTSw84s=";
   };
 
-  patches = [ ./fix-librsync-rs_default_strong_len.patch ];
+  # pkg_resources fails to find the version and then falls back to "DEV"
+  postPatch = ''
+    substituteInPlace src/rdiff_backup/Globals.py \
+      --replace 'version = "DEV"' 'version = "${version}"'
+  '';
+
+  buildInputs = [ librsync ];
 
-  buildInputs = [ librsync gnused ];
+  nativeBuildInputs = with pypkgs; [ setuptools-scm ];
 
+  # no tests from pypi
   doCheck = false;
 
-  meta = {
+  meta = with lib; {
     description = "Backup system trying to combine best a mirror and an incremental backup system";
-    homepage = "http://rdiff-backup.nongnu.org/";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.all;
+    homepage = "https://rdiff-backup.net";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch b/pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch
deleted file mode 100644
index ce23c8a8124..00000000000
--- a/pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Patch by Roman Tereshonkov and Kari Hautio for rdiff-backup <= 1.2.8 to avoid a build failure with
-librsync >= 1.0.0 (which is a security bugfix release). The discussion and solution finding can be
-found at https://bugs.launchpad.net/duplicity/+bug/1416344 (for duplicity).
-
---- rdiff-backup-1.2.8/_librsyncmodule.c			2009-03-16 15:36:21.000000000 +0100
-+++ rdiff-backup-1.2.8/_librsyncmodule.c.librsync-1.0.0		2015-03-02 00:54:24.000000000 +0100
-@@ -59,8 +59,13 @@
-   if (sm == NULL) return NULL;
-   sm->x_attr = NULL;
- 
-+#ifdef RS_DEFAULT_STRONG_LEN
-   sm->sig_job = rs_sig_begin((size_t)blocklen,
- 							 (size_t)RS_DEFAULT_STRONG_LEN);
-+#else
-+  sm->sig_job = rs_sig_begin((size_t)blocklen,
-+							 (size_t)8, RS_MD4_SIG_MAGIC);
-+#endif
-   return (PyObject*)sm;
- }
-