diff --git a/pkgs/tools/backup/rdiff-backup/default.nix b/pkgs/tools/backup/rdiff-backup/default.nix index 47db1a5d4b2..bcbc8a84647 100644 --- a/pkgs/tools/backup/rdiff-backup/default.nix +++ b/pkgs/tools/backup/rdiff-backup/default.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation { sha256 = "01hcwf5rgqi303fa4kdjkbpa7n8mvvh7h9gpgh2b23nz73k0q0zf"; }; - phases = "unpackPhase installPhase"; + patches = [ ./fix-librsync-rs_default_strong_len.patch ]; + installPhase = '' python ./setup.py install --prefix=$out sed -i $out/bin/rdiff-backup -e \ 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 new file mode 100644 index 00000000000..ce23c8a8124 --- /dev/null +++ b/pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch @@ -0,0 +1,20 @@ +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; + } +