summaryrefslogtreecommitdiff
path: root/devel/librsync
diff options
context:
space:
mode:
authorsnj <snj@pkgsrc.org>2007-02-20 19:15:03 +0000
committersnj <snj@pkgsrc.org>2007-02-20 19:15:03 +0000
commit10b5f45d07164a99baa2052093a0eae838646ade (patch)
tree90dc47108b4bdf7fe6d214522818c33265cd0346 /devel/librsync
parent5eae8aff7d0879713f42e219744218905f05f484 (diff)
downloadpkgsrc-10b5f45d07164a99baa2052093a0eae838646ade.tar.gz
As noted by Andreas Wrede in PR pkg/35677, librsync will stall on
transfers of files over 4 Gb, especially between 32 <-> 64 bit hosts. Apply a fix from upstream CVS (slightly different in form from one of the patches submitted in this PR). Bump PKGREVISION.
Diffstat (limited to 'devel/librsync')
-rw-r--r--devel/librsync/Makefile4
-rw-r--r--devel/librsync/distinfo4
-rw-r--r--devel/librsync/patches/patch-aa13
-rw-r--r--devel/librsync/patches/patch-ab18
4 files changed, 36 insertions, 3 deletions
diff --git a/devel/librsync/Makefile b/devel/librsync/Makefile
index 81c78f760b9..58b98809c16 100644
--- a/devel/librsync/Makefile
+++ b/devel/librsync/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.14 2006/03/04 21:29:17 jlam Exp $
+# $NetBSD: Makefile,v 1.15 2007/02/20 19:15:03 snj Exp $
DISTNAME= librsync-0.9.7
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= devel net
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=librsync/}
diff --git a/devel/librsync/distinfo b/devel/librsync/distinfo
index 9b8156a15db..5b48775b021 100644
--- a/devel/librsync/distinfo
+++ b/devel/librsync/distinfo
@@ -1,5 +1,7 @@
-$NetBSD: distinfo,v 1.4 2005/02/23 22:24:19 agc Exp $
+$NetBSD: distinfo,v 1.5 2007/02/20 19:15:03 snj Exp $
SHA1 (librsync-0.9.7.tar.gz) = d575eb5cae7a815798220c3afeff5649d3e8b4ab
RMD160 (librsync-0.9.7.tar.gz) = 39ca29334d0efabc0ee9e4d44abbe73a7d2fe831
Size (librsync-0.9.7.tar.gz) = 453802 bytes
+SHA1 (patch-aa) = 79936cf4170736a59a3a918c7d7df9d63a549e7d
+SHA1 (patch-ab) = 23b3267b39c8f9185dc8321898422ace81b4e27c
diff --git a/devel/librsync/patches/patch-aa b/devel/librsync/patches/patch-aa
new file mode 100644
index 00000000000..07a9aa33722
--- /dev/null
+++ b/devel/librsync/patches/patch-aa
@@ -0,0 +1,13 @@
+$NetBSD: patch-aa,v 1.1 2007/02/20 19:15:03 snj Exp $
+
+--- mdfour.h.orig 2007-02-20 10:57:21.000000000 -0800
++++ mdfour.h 2007-02-20 10:58:10.000000000 -0800
+@@ -24,7 +24,7 @@
+ #include "types.h"
+
+ struct rs_mdfour {
+- int A, B, C, D;
++ unsigned int A, B, C, D;
+ #if HAVE_UINT64
+ uint64_t totalN;
+ #else
diff --git a/devel/librsync/patches/patch-ab b/devel/librsync/patches/patch-ab
new file mode 100644
index 00000000000..5764251127b
--- /dev/null
+++ b/devel/librsync/patches/patch-ab
@@ -0,0 +1,18 @@
+$NetBSD: patch-ab,v 1.1 2007/02/20 19:15:03 snj Exp $
+
+--- patch.c.orig 2007-02-20 10:59:09.000000000 -0800
++++ patch.c 2007-02-20 11:00:35.000000000 -0800
+@@ -214,12 +214,9 @@ static rs_result rs_patch_s_copying(rs_j
+ void *buf, *ptr;
+ rs_buffers_t *buffs = job->stream;
+
+- len = job->basis_len;
+-
+ /* copy only as much as will fit in the output buffer, so that we
+ * don't have to block or store the input. */
+- if (len > buffs->avail_out)
+- len = buffs->avail_out;
++ len = (buffs->avail_out < job->basis_len) ? buffs->avail_out : job->basis_len;
+
+ if (!len)
+ return RS_BLOCKED;