+++ /dev/null
-http://lists.gnu.org/archive/html/bug-grep/2016-12/msg00036.html
-
-From 7ad47abbcb070946000771a829b51224720b8cef Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-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 |
- returns_ 124 timeout 1 grep x >/dev/null || fail=1
-
-+echo abc | grep b >>/dev/null || fail=1
-+
- Exit $fail
---
-2.11.0
-
+++ /dev/null
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils flag-o-matic toolchain-funcs
-
-DESCRIPTION="GNU regular expression matcher"
-HOMEPAGE="https://www.gnu.org/software/grep/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
- mirror://gentoo/${P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="nls pcre static"
-
-LIB_DEPEND="pcre? ( >=dev-libs/libpcre-7.8-r1[static-libs(+)] )"
-RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
- nls? ( virtual/libintl )
- virtual/libiconv"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- static? ( ${LIB_DEPEND} )"
-
-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
-}
-
-src_configure() {
- use static && append-ldflags -static
- # Always use pkg-config to get lib info for pcre.
- export ac_cv_search_pcre_compile=$(
- usex pcre "$($(tc-getPKG_CONFIG) --libs $(usex static --static '') libpcre)" ''
- )
- econf \
- --bindir="${EPREFIX}"/bin \
- $(use_enable nls) \
- $(use_enable pcre perl-regexp)
-}