rdiff-backup: 1.3.3 -> 2.0.5

This commit is contained in:
Peter Hoeg 2021-07-12 10:16:18 +08:00
parent 0a5d426155
commit aab4b6b493
2 changed files with 25 additions and 32 deletions

View file

@ -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;
};
}

View file

@ -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;
}