diff --git a/sys-apps/grep/grep-2.7.bep b/sys-apps/grep/grep-2.7.bep index bbcc107f6..cdefe4da3 100644 --- a/sys-apps/grep/grep-2.7.bep +++ b/sys-apps/grep/grep-2.7.bep @@ -3,11 +3,13 @@ HOMEPAGE="http://www.gnu.org/software/grep/" SRC_URI="ftp://mirrors.kernel.org/gnu/grep/grep-2.7.tar.gz" CHECKSUM_MD5="e848f07e3e79aa7899345d17c7e4115e" REVISION="1" -STATUS_HAIKU="broken" +STATUS_HAIKU="stable" DEPEND="" BUILD { cd grep-2.7 libtoolize --force --copy --install + aclocal -I m4 + autoconf ./configure --prefix=/boot/common make } diff --git a/sys-apps/grep/patches/grep-2.7.patch b/sys-apps/grep/patches/grep-2.7.patch new file mode 100644 index 000000000..8f4fb7f6d --- /dev/null +++ b/sys-apps/grep/patches/grep-2.7.patch @@ -0,0 +1,14 @@ +diff -urN grep-2.7/src/kwsearch.c grep-2.7-haiku/src/kwsearch.c +--- grep-2.7/src/kwsearch.c 2010-08-13 23:36:17.039059456 +0000 ++++ grep-2.7-haiku/src/kwsearch.c 2010-09-22 12:39:11.677642240 +0000 +@@ -111,8 +111,9 @@ + /* The match was a part of multibyte character, advance at least + one byte to ensure no infinite loop happens. */ + mbstate_t s; ++ size_t mb_len; + memset (&s, 0, sizeof s); +- size_t mb_len = mbrlen (mb_start, (buf + size) - (beg + offset), &s); ++ mb_len = mbrlen (mb_start, (buf + size) - (beg + offset), &s); + if (mb_len == (size_t) -2) + goto failure; + beg = mb_start;