[gentoo-commits] repo/gentoo:master commit in: sys-apps/grep/files/, sys-apps/grep/

2023-12-27 Thread Sam James
commit: c8117a0b3e8f29cc01b63a897e2bae0b84bdc4f8
Author: Sam James  gentoo  org>
AuthorDate: Thu Dec 28 04:17:03 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Dec 28 04:17:03 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8117a0b

sys-apps/grep: drop 3.7, 3.8-r1

Signed-off-by: Sam James  gentoo.org>

 sys-apps/grep/Manifest|   4 --
 sys-apps/grep/files/loong-fix-build.patch |  30 -
 sys-apps/grep/files/ppc-musl.patch|  19 --
 sys-apps/grep/grep-3.7.ebuild |  75 --
 sys-apps/grep/grep-3.8-r1.ebuild  | 100 --
 5 files changed, 228 deletions(-)

diff --git a/sys-apps/grep/Manifest b/sys-apps/grep/Manifest
index 2d2d7f8559b4..0f0873e8b5ee 100644
--- a/sys-apps/grep/Manifest
+++ b/sys-apps/grep/Manifest
@@ -1,6 +1,2 @@
 DIST grep-3.11.tar.xz 1703776 BLAKE2B 
e21785bca20b5a090d32bb5dc525fb298af30165106ed4c289b1518ea3d2acdcacfd6309b12f13be29a4b958f19588546119c695deb2b7500d49dcff86357bdc
 SHA512 
f254a1905a08c8173e12fbdd4fd8baed9a200217fba9d7641f0d78e4e002c1f2a621152d67027d9b25f0bb2430898f5233dc70909d8464fd13d7dd9298e65c42
 DIST grep-3.11.tar.xz.sig 833 BLAKE2B 
5edfba20e3a9f54d25ae63cf04985382bf6afb0ca643979561321090614e68b5d234767b07e48211888722c52c441233093735e183ff69432d5ee2e6a4f53aea
 SHA512 
487aba063373ca0594c519991f19b2a6a33b3da0d74735c890f3828fd0880e7e6f64495d2c8f9efa5da53d1eb2d446609bab2399a4b89dcb4510a632e31ffb54
-DIST grep-3.7.tar.xz 1641196 BLAKE2B 
acf03b1fe8065dac48d686de070bab9ecddae65c97f3b0e2be484e8abdd06d1fbdbb396f3d73dadadf9618aad2f02cf6416094bad64d5f2f15eab6b6b3adfeda
 SHA512 
e9e45dcd40af8367f819f2b93c5e1b4e98a251a9aa251841fa67a875380fae52cfa27c68c6dbdd6a4dde1b1017ee0f6b9833ef6dd6e419d32d71b6df5e972b82
-DIST grep-3.7.tar.xz.sig 833 BLAKE2B 
02a2850e22e8054dcfd02b6f08747a97d43dae9adb908516bdaed35750aa7f773832ad1b0b4c53d7b0ebc8f1fe2979e7938bbbeeb09ea00c11b4a0d5846c7b9c
 SHA512 
9db28883b696fbbb0fad32f4ecd168954dc475d5f0a8f2b4f960ff615ef7dd8348a7caaee85a96287824472a29485ff921af121c582083ca5ad5c30960f99cf4
-DIST grep-3.8.tar.xz 1709536 BLAKE2B 
24cf6f7aa35c85f59f508969ee9731c5be1e5c613e64e636f464bbdde917bb99ba739e4b82abf08da127ad0400d62e27d139f85142035745121d381982ec6c36
 SHA512 
2014519a80c6dcd799837e1bd7d9d5ebe8729ec54b0dc76981dac4755a9a8a9f200470cdcc911e2825bed8162e61da39e3dd60289f7393b48bf67314077d0c79
-DIST grep-3.8.tar.xz.sig 833 BLAKE2B 
40f472389705375611015ba0eb85eb32643304b1a324877a75821d086a128a20d00df3d7cd960ec45709f40f21488bbcf993c6fe667ef23663688b33296e650b
 SHA512 
8266b58485f225c2189814e3898c72e59d251b729e0c302d31f57abdb7ac2e6e28dde2c5c8095673b6f007b2a3ebc26db1dca910a7771aba80dad4b3c6761ee4

diff --git a/sys-apps/grep/files/loong-fix-build.patch 
b/sys-apps/grep/files/loong-fix-build.patch
deleted file mode 100644
index e3b346dd92d3..
--- a/sys-apps/grep/files/loong-fix-build.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-[xen0n: this is 
https://github.com/sunhaiyong1978/CLFS-for-LoongArch/blob/1.0/patches/stack-direction-add-loongarch.patch
 with change to generated file added as well.]
-From: Sun Haiyong 
-Date: Tue, 31 Aug 2021 11:11:52 +0800
-Subject: [PATCH] stack-direction: Add support for loongarch CPU
-
-* m4/stack-direction.m4 (SV_STACK_DIRECTION): When the CPU is loongarch,
-set "sv_cv_stack_direction" to "-1" .
 a/m4/stack-direction.m4
-+++ b/m4/stack-direction.m4
-@@ -32,6 +32,7 @@ AC_DEFUN([SV_STACK_DIRECTION],
-   i?86 | x86_64 | \
-   i860 | \
-   ia64 | \
-+  loongarch* | \
-   m32r | \
-   m68* | \
-   m88k | \
 a/configure
-+++ b/configure
-@@ -35668,6 +35668,7 @@ else $as_nop
-   i?86 | x86_64 | \
-   i860 | \
-   ia64 | \
-+  loongarch* | \
-   m32r | \
-   m68* | \
-   m88k | \
--- 
-2.17.2
-

diff --git a/sys-apps/grep/files/ppc-musl.patch 
b/sys-apps/grep/files/ppc-musl.patch
deleted file mode 100644
index 4aff0ba1cf5c..
--- a/sys-apps/grep/files/ppc-musl.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Needed to fix build on ppc + musl. Should pop up in next gnulib sync in 
release (different patch).
-
-https://www.openwall.com/lists/musl/2017/11/05/2
-https://github.com/void-linux/void-packages/blob/master/srcpkgs/grep/patches/ppc-musl.patch
-https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=2d830e4a792fcd9f614ed08a7f18584b8b21d23b
 a/lib/sigsegv.c
-+++ b/lib/sigsegv.c
-@@ -221,8 +221,10 @@ int libsigsegv_version = LIBSIGSEGV_VERSION;
- /* both should be equivalent */
- #   if 0
- #define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) 
ucp)->uc_mcontext.regs->gpr[1]
--#   else
-+#   elif defined(__GLIBC__)
- #define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) 
ucp)->uc_mcontext.uc_regs->gregs[1]
-+#   else
-+#define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) 
ucp)->uc_mcontext.gregs[1]
- #   endif
- #  endif
- 

diff --git a/sys-apps/grep/grep-3.7.ebuild b/sys-apps/grep/grep-3.7.ebuild
deleted file mode 

[gentoo-commits] repo/gentoo:master commit in: sys-apps/grep/files/, sys-apps/grep/

2022-04-25 Thread Sam James
commit: 245a61b5bb813af9ec9e89f9c8ca65d5c0e46aec
Author: WANG Xuerui  gentoo  org>
AuthorDate: Tue Apr 26 03:12:29 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Apr 26 04:03:07 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=245a61b5

sys-apps/grep: avoid invoking autoconf

Normally we'd just eautoreconf, but this is base-system and we cannot
depend on autoconf, so we have to patch the generated files ourselves.
This can go away once the loong fix patch is no longer necessary.

Fixes: 07611b62174 ("sys-apps/grep: fix build on loong")
Signed-off-by: WANG Xuerui  gentoo.org>
Signed-off-by: Sam James  gentoo.org>

 sys-apps/grep/files/loong-fix-build.patch | 18 +++---
 sys-apps/grep/grep-3.7.ebuild |  6 ++
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/sys-apps/grep/files/loong-fix-build.patch 
b/sys-apps/grep/files/loong-fix-build.patch
index cd06fa8df5e4..e3b346dd92d3 100644
--- a/sys-apps/grep/files/loong-fix-build.patch
+++ b/sys-apps/grep/files/loong-fix-build.patch
@@ -1,16 +1,10 @@
-From 34add045fd2ec3f1031dee961c4d9cc4285486a7 Mon Sep 17 00:00:00 2001
+[xen0n: this is 
https://github.com/sunhaiyong1978/CLFS-for-LoongArch/blob/1.0/patches/stack-direction-add-loongarch.patch
 with change to generated file added as well.]
 From: Sun Haiyong 
 Date: Tue, 31 Aug 2021 11:11:52 +0800
 Subject: [PATCH] stack-direction: Add support for loongarch CPU
 
 * m4/stack-direction.m4 (SV_STACK_DIRECTION): When the CPU is loongarch,
 set "sv_cv_stack_direction" to "-1" .

- m4/stack-direction.m4 | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4
-index 93287254b..e6c3284ce 100644
 --- a/m4/stack-direction.m4
 +++ b/m4/stack-direction.m4
 @@ -32,6 +32,7 @@ AC_DEFUN([SV_STACK_DIRECTION],
@@ -21,6 +15,16 @@ index 93287254b..e6c3284ce 100644
m32r | \
m68* | \
m88k | \
+--- a/configure
 b/configure
+@@ -35668,6 +35668,7 @@ else $as_nop
+   i?86 | x86_64 | \
+   i860 | \
+   ia64 | \
++  loongarch* | \
+   m32r | \
+   m68* | \
+   m88k | \
 -- 
 2.17.2
 

diff --git a/sys-apps/grep/grep-3.7.ebuild b/sys-apps/grep/grep-3.7.ebuild
index b8ca4022782f..6c582f7eb308 100644
--- a/sys-apps/grep/grep-3.7.ebuild
+++ b/sys-apps/grep/grep-3.7.ebuild
@@ -45,6 +45,12 @@ src_prepare() {
src/egrep.sh || die #523898
 
default
+
+   # touch generated files after patching m4, to avoid activating 
maintainer
+   # mode
+   # remove when loong-fix-build.patch is no longer necessary
+   touch ./aclocal.m4 ./config.hin ./configure || die
+   find . -name Makefile.in -exec touch {} + || die
 }
 
 src_configure() {



[gentoo-commits] repo/gentoo:master commit in: sys-apps/grep/files/, sys-apps/grep/

2022-04-25 Thread WANG Xuerui
commit: 07611b62174bab556022d7fe24fc6a204647afbf
Author: WANG Xuerui  gentoo  org>
AuthorDate: Mon Apr 25 04:13:41 2022 +
Commit: WANG Xuerui  gentoo  org>
CommitDate: Mon Apr 25 10:11:12 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=07611b62

sys-apps/grep: fix build on loong

Upstream has updated gnulib but hasn't tagged a new release yet, so only
add the bare minimum to fix build on loong.

This has been inside loongson-overlay for a while, and is tested on real
loong hardware.

See: https://github.com/gentoo/gentoo/pull/25189
Acked-by: Andreas K. Hüttel  gentoo.org>
Signed-off-by: WANG Xuerui  gentoo.org>

 sys-apps/grep/files/loong-fix-build.patch | 26 ++
 sys-apps/grep/grep-3.7.ebuild |  5 -
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/sys-apps/grep/files/loong-fix-build.patch 
b/sys-apps/grep/files/loong-fix-build.patch
new file mode 100644
index ..cd06fa8df5e4
--- /dev/null
+++ b/sys-apps/grep/files/loong-fix-build.patch
@@ -0,0 +1,26 @@
+From 34add045fd2ec3f1031dee961c4d9cc4285486a7 Mon Sep 17 00:00:00 2001
+From: Sun Haiyong 
+Date: Tue, 31 Aug 2021 11:11:52 +0800
+Subject: [PATCH] stack-direction: Add support for loongarch CPU
+
+* m4/stack-direction.m4 (SV_STACK_DIRECTION): When the CPU is loongarch,
+set "sv_cv_stack_direction" to "-1" .
+---
+ m4/stack-direction.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4
+index 93287254b..e6c3284ce 100644
+--- a/m4/stack-direction.m4
 b/m4/stack-direction.m4
+@@ -32,6 +32,7 @@ AC_DEFUN([SV_STACK_DIRECTION],
+   i?86 | x86_64 | \
+   i860 | \
+   ia64 | \
++  loongarch* | \
+   m32r | \
+   m68* | \
+   m88k | \
+-- 
+2.17.2
+

diff --git a/sys-apps/grep/grep-3.7.ebuild b/sys-apps/grep/grep-3.7.ebuild
index 4f07cae885f9..b8ca4022782f 100644
--- a/sys-apps/grep/grep-3.7.ebuild
+++ b/sys-apps/grep/grep-3.7.ebuild
@@ -31,7 +31,10 @@ BDEPEND="
nls? ( sys-devel/gettext )
verify-sig? ( sec-keys/openpgp-keys-grep )"
 
-PATCHES=( "${FILESDIR}/ppc-musl.patch" )
+PATCHES=(
+   "${FILESDIR}/ppc-musl.patch"
+   "${FILESDIR}/loong-fix-build.patch"
+)
 
 DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
 



[gentoo-commits] repo/gentoo:master commit in: sys-apps/grep/files/

2022-03-13 Thread Sam James
commit: e95c5bda4917036a15a4f21088abb5d0f3986185
Author: Sam James  gentoo  org>
AuthorDate: Sun Mar 13 22:23:06 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Sun Mar 13 22:23:28 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e95c5bda

sys-apps/grep: add link to upstream gnulib/musl/ppc patch

Signed-off-by: Sam James  gentoo.org>

 sys-apps/grep/files/ppc-musl.patch | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys-apps/grep/files/ppc-musl.patch 
b/sys-apps/grep/files/ppc-musl.patch
index d7d8255a444a..4aff0ba1cf5c 100644
--- a/sys-apps/grep/files/ppc-musl.patch
+++ b/sys-apps/grep/files/ppc-musl.patch
@@ -1,7 +1,8 @@
-Needed to fix build on ppc + musl. Doesn't seem to yet be in upstream gnulib.
+Needed to fix build on ppc + musl. Should pop up in next gnulib sync in 
release (different patch).
 
 https://www.openwall.com/lists/musl/2017/11/05/2
 
https://github.com/void-linux/void-packages/blob/master/srcpkgs/grep/patches/ppc-musl.patch
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=2d830e4a792fcd9f614ed08a7f18584b8b21d23b
 --- a/lib/sigsegv.c
 +++ b/lib/sigsegv.c
 @@ -221,8 +221,10 @@ int libsigsegv_version = LIBSIGSEGV_VERSION;



[gentoo-commits] repo/gentoo:master commit in: sys-apps/grep/files/

2021-11-16 Thread Sam James
commit: 8fab348a643dd8b43f9e5a42013a417c9dbd2307
Author: Sam James  gentoo  org>
AuthorDate: Wed Nov 17 04:33:48 2021 +
Commit: Sam James  gentoo  org>
CommitDate: Wed Nov 17 04:34:04 2021 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8fab348a

sys-apps/grep: add links to musl patch

Signed-off-by: Sam James  gentoo.org>

 sys-apps/grep/files/ppc-musl.patch | 4 
 1 file changed, 4 insertions(+)

diff --git a/sys-apps/grep/files/ppc-musl.patch 
b/sys-apps/grep/files/ppc-musl.patch
index 6ba37f233591..d7d8255a444a 100644
--- a/sys-apps/grep/files/ppc-musl.patch
+++ b/sys-apps/grep/files/ppc-musl.patch
@@ -1,3 +1,7 @@
+Needed to fix build on ppc + musl. Doesn't seem to yet be in upstream gnulib.
+
+https://www.openwall.com/lists/musl/2017/11/05/2
+https://github.com/void-linux/void-packages/blob/master/srcpkgs/grep/patches/ppc-musl.patch
 --- a/lib/sigsegv.c
 +++ b/lib/sigsegv.c
 @@ -221,8 +221,10 @@ int libsigsegv_version = LIBSIGSEGV_VERSION;



[gentoo-commits] repo/gentoo:master commit in: sys-apps/grep/files/, sys-apps/grep/

2017-02-08 Thread Lars Wendler
commit: aa2f866c5f633501863c0fb48ea7d368761596d2
Author: Lars Wendler  gentoo  org>
AuthorDate: Wed Feb  8 21:36:09 2017 +
Commit: Lars Wendler  gentoo  org>
CommitDate: Wed Feb  8 21:37:37 2017 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa2f866c

sys-apps/grep: Revbump to fix multiple pattern issue (bug #608644).

Removed old.

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 .../files/grep-2.28-multiple_pattern_fix.patch | 97 ++
 .../grep/{grep-2.28.ebuild => grep-2.28-r1.ebuild} |  5 ++
 2 files changed, 102 insertions(+)

diff --git a/sys-apps/grep/files/grep-2.28-multiple_pattern_fix.patch 
b/sys-apps/grep/files/grep-2.28-multiple_pattern_fix.patch
new file mode 100644
index 00..f6cf64d383
--- /dev/null
+++ b/sys-apps/grep/files/grep-2.28-multiple_pattern_fix.patch
@@ -0,0 +1,97 @@
+From 6e4c8728f0e75af57f839625d0bd51b0a02d091e Mon Sep 17 00:00:00 2001
+From: Paul Eggert 
+Date: Wed, 8 Feb 2017 13:00:11 -0800
+Subject: grep: do not mishandle \. in multiple patterns
+
+Problem reported by Lars Wendler (Bug#25655).
+* NEWS: Document this.
+* src/grep.c (try_fgrep_pattern): Fix typo that prevented
+keys from being properly updated.
+* tests/foad1: Test for the bug.
+---
+ src/grep.c  | 15 ---
+ tests/foad1 |  7 +++
+ 3 files changed, 20 insertions(+), 7 deletions(-)
+
+diff --git a/src/grep.c b/src/grep.c
+index 81654c3..74acb0b 100644
+--- a/src/grep.c
 b/src/grep.c
+@@ -2361,11 +2361,12 @@ try_fgrep_pattern (int matcher, char *keys, size_t 
*len_p)
+   size_t len = *len_p;
+   char *new_keys = xmalloc (len + 1);
+   char *p = new_keys;
++  char const *q = keys;
+   mbstate_t mb_state = { 0 };
+ 
+   while (len != 0)
+ {
+-  switch (*keys)
++  switch (*q)
+ {
+ case '$': case '*': case '.': case '[': case '^':
+   goto fail;
+@@ -2377,7 +2378,7 @@ try_fgrep_pattern (int matcher, char *keys, size_t 
*len_p)
+ 
+ case '\\':
+   if (1 < len)
+-switch (keys[1])
++switch (q[1])
+   {
+   case '\n':
+   case 'B': case 'S': case 'W': case'\'': case '<':
+@@ -2391,7 +2392,7 @@ try_fgrep_pattern (int matcher, char *keys, size_t 
*len_p)
+   goto fail;
+ /* Fall through.  */
+   default:
+-keys++, len--;
++q++, len--;
+ break;
+   }
+   break;
+@@ -2401,20 +2402,20 @@ try_fgrep_pattern (int matcher, char *keys, size_t 
*len_p)
+ size_t n;
+ if (match_icase)
+   {
+-int ni = fgrep_icase_charlen (keys, len, _state);
++int ni = fgrep_icase_charlen (q, len, _state);
+ if (ni < 0)
+   goto fail;
+ n = ni;
+   }
+ else
+   {
+-n = mb_clen (keys, len, _state);
++n = mb_clen (q, len, _state);
+ if (MB_LEN_MAX < n)
+   goto fail;
+   }
+ 
+-p = mempcpy (p, keys, n);
+-keys += n;
++p = mempcpy (p, q, n);
++q += n;
+ len -= n;
+   }
+ }
+diff --git a/tests/foad1 b/tests/foad1
+index 286c449..0163f1a 100755
+--- a/tests/foad1
 b/tests/foad1
+@@ -137,6 +137,13 @@ grep_test "$x2" "$y2" -F -w --color=always bc
+ grep_test "$x3" "$y3" -E -w --color=always bc
+ grep_test "$x3" "$y3" -F -w --color=always bc
+ 
++# Bug#25655
++grep_test .tar/ .tar/ -e '\.tar' -e '\.tbz'
++grep_test .tar/ .tar/ -o -e '\.tar' -e 'tar'
++grep_test '$*.[^\/' '$*.[^\/' -o -e '\$\*\.\[\^\\' -e abc
++grep_test '$*.[^\/(+?{|/' '$*.[^\/(+?{|/' -o -E \
++  -e '\$\*\.\[\^\\' -e '\(\+\?\{\|'
++
+ # Skip the rest of the tests - known to fail. TAA.
+ Exit $failures
+ 
+-- 
+cgit v1.0-41-gc330
+

diff --git a/sys-apps/grep/grep-2.28.ebuild b/sys-apps/grep/grep-2.28-r1.ebuild
similarity index 94%
rename from sys-apps/grep/grep-2.28.ebuild
rename to sys-apps/grep/grep-2.28-r1.ebuild
index f2035a7b7a..dc112782f9 100644
--- a/sys-apps/grep/grep-2.28.ebuild
+++ b/sys-apps/grep/grep-2.28-r1.ebuild
@@ -27,7 +27,12 @@ DEPEND="${RDEPEND}
 
 DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
 
+PATCHES=(
+   "${FILESDIR}"/${P}-multiple_pattern_fix.patch
+)
+
 src_prepare() {
+   epatch "${PATCHES[@]}"
sed -i \
-e "s:@SHELL@:${EPREFIX}/bin/sh:g" \
src/egrep.sh || die #523898



[gentoo-commits] repo/gentoo:master commit in: sys-apps/grep/files/, sys-apps/grep/

2016-12-27 Thread Mike Frysinger
commit: 31c16e6d30301f4f5076e9f598a2271b82136621
Author: Mike Frysinger  gentoo  org>
AuthorDate: Tue Dec 27 23:04:30 2016 +
Commit: Mike Frysinger  gentoo  org>
CommitDate: Tue Dec 27 23:04:36 2016 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31c16e6d

sys-apps/grep: add upstream fix for splice errors

 sys-apps/grep/files/grep-2.27-splice.patch | 60 ++
 .../grep/{grep-2.27.ebuild => grep-2.27-r1.ebuild} |  1 +
 2 files changed, 61 insertions(+)

diff --git a/sys-apps/grep/files/grep-2.27-splice.patch 
b/sys-apps/grep/files/grep-2.27-splice.patch
new file mode 100644
index ..6c36fe0
--- /dev/null
+++ b/sys-apps/grep/files/grep-2.27-splice.patch
@@ -0,0 +1,60 @@
+http://lists.gnu.org/archive/html/bug-grep/2016-12/msg00036.html
+
+From 7ad47abbcb070946000771a829b51224720b8cef Mon Sep 17 00:00:00 2001
+From: Paul Eggert 
+Date: Tue, 27 Dec 2016 11:16:32 -0800
+Subject: [PATCH] grep: fix bug with '... | grep pat >> /dev/null'
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Problem reported by Benno Fünfstück (Bug#25283).
+* NEWS: Document this.
+* src/grep.c (drain_input) [SPLICE_F_MOVE]:
+Don't assume /dev/null is always acceptable output to splice.
+* tests/grep-dev-null-out: Test for the bug.
+---
+ NEWS|  7 ---
+ src/grep.c  | 14 +-
+ tests/grep-dev-null-out |  2 ++
+ 3 files changed, 15 insertions(+), 8 deletions(-)
+
+diff --git a/src/grep.c b/src/grep.c
+index f28f3c287609..aebab2060308 100644
+--- a/src/grep.c
 b/src/grep.c
+@@ -1728,11 +1728,15 @@ drain_input (int fd, struct stat const *st)
+ {
+ #ifdef SPLICE_F_MOVE
+   /* Should be faster, since it need not copy data to user space.  */
+-  while ((nbytes = splice (fd, NULL, STDOUT_FILENO, NULL,
+-   INITIAL_BUFSIZE, SPLICE_F_MOVE)))
+-if (nbytes < 0)
+-  return false;
+-  return true;
++  nbytes = splice (fd, NULL, STDOUT_FILENO, NULL,
++   INITIAL_BUFSIZE, SPLICE_F_MOVE);
++  if (0 <= nbytes || errno != EINVAL)
++{
++  while (0 < nbytes)
++nbytes = splice (fd, NULL, STDOUT_FILENO, NULL,
++ INITIAL_BUFSIZE, SPLICE_F_MOVE);
++  return nbytes == 0;
++}
+ #endif
+ }
+   while ((nbytes = safe_read (fd, buffer, bufalloc)))
+diff --git a/tests/grep-dev-null-out b/tests/grep-dev-null-out
+index 13a4843957a6..c8128d5cc6a4 100755
+--- a/tests/grep-dev-null-out
 b/tests/grep-dev-null-out
+@@ -8,4 +8,6 @@ require_timeout_
+ ${AWK-awk} 'BEGIN {while (1) print "x"}' /dev/null || fail=1
+ 
++echo abc | grep b >>/dev/null || fail=1
++
+ Exit $fail
+-- 
+2.11.0
+

diff --git a/sys-apps/grep/grep-2.27.ebuild b/sys-apps/grep/grep-2.27-r1.ebuild
similarity index 97%
rename from sys-apps/grep/grep-2.27.ebuild
rename to sys-apps/grep/grep-2.27-r1.ebuild
index 845de1d..f294f20 100644
--- a/sys-apps/grep/grep-2.27.ebuild
+++ b/sys-apps/grep/grep-2.27-r1.ebuild
@@ -28,6 +28,7 @@ DEPEND="${RDEPEND}
 DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
 
 src_prepare() {
+   epatch "${FILESDIR}"/${P}-splice.patch
sed -i \
-e "s:@SHELL@:${EPREFIX}/bin/sh:g" \
src/egrep.sh || die #523898