net-libs/librsync: fix bug #573144
authorAlessandro Calorì <axelgenus@gmail.com>
Sun, 31 Jan 2016 18:58:32 +0000 (19:58 +0100)
committerAlessandro Calorì <axelgenus@gmail.com>
Sun, 31 Jan 2016 18:59:20 +0000 (19:59 +0100)
net-libs/librsync/files/librsync-2.0.0-search.patch [new file with mode: 0644]
net-libs/librsync/librsync-2.0.0-r1.ebuild [new file with mode: 0644]

diff --git a/net-libs/librsync/files/librsync-2.0.0-search.patch b/net-libs/librsync/files/librsync-2.0.0-search.patch
new file mode 100644 (file)
index 0000000..93b4106
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur a/src/search.c b/src/search.c
+--- a/src/search.c     2015-11-29 21:43:12.000000000 +0100
++++ b/src/search.c     2016-01-31 19:11:54.847933060 +0100
+@@ -218,7 +218,7 @@
+           r = m;
+     }
+-    if (l == r) {
++    if ((l == r) && (l <= bucket->r)) {
+       int i = sig->targets[l].i;
+       rs_block_sig_t *b = &(sig->block_sigs[i]);
+       if (weak_sum != b->weak_sum)
diff --git a/net-libs/librsync/librsync-2.0.0-r1.ebuild b/net-libs/librsync/librsync-2.0.0-r1.ebuild
new file mode 100644 (file)
index 0000000..69b6692
--- /dev/null
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Remote delta-compression library"
+HOMEPAGE="http://librsync.sourcefrog.net/"
+SRC_URI="https://github.com/librsync/librsync/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+
+RDEPEND="dev-libs/popt"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+       # isprefix_test does not work in portage environment
+       sed -i '169 s/^/#/' CMakeLists.txt || die
+
+       # fix compiling with multilib-strict feature enabled
+       sed -i "242 s/lib/$(get_libdir)/" CMakeLists.txt || die
+
+       # fix bug 573144
+       epatch "${FILESDIR}/${P}-search.patch"
+
+       cmake-utils_src_prepare
+}