diff --git a/pkgs/tools/backup/rdiff-backup/default.nix b/pkgs/tools/backup/rdiff-backup/default.nix index 0d24e3df7206..3307ba08b118 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 gnused ]; + buildInputs = [ librsync ]; + 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 ce23c8a8124f..000000000000 --- 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; - } -