Wed Sep 30 19:22:08 2020 UTC ()
grep: Update to 3.5

Changelog:
* Noteworthy changes in release 3.5 (2020-09-27) [stable]

** Changes in behavior

  The message that a binary file matches is now sent to standard error
  and the message has been reworded from "Binary file FOO matches" to
  "grep: FOO: binary file matches", to avoid confusion with ordinary
  output or when file names contain spaces and the like, and to be
  more consistent with other diagnostics.  For example, commands
  like 'grep PATTERN FILE | wc' no longer add 1 to the count of
  matching text lines due to the presence of the message.  Like other
  stderr messages, the message is now omitted if the --no-messages
  (-s) option is given.

  Two other stderr messages now use the typical form too.  They are
  now "grep: FOO: warning: recursive directory loop" and "grep: FOO:
  input file is also the output".

  The --files-without-match (-L) option has reverted to its behavior
  in grep 3.1 and earlier.  That is, grep -L again succeeds when a
  line is selected, not when a file is listed.  The behavior in grep
  3.2 through 3.4 was causing compatibility problems.

** Bug fixes

  grep -I no longer issues a spurious "Binary file FOO matches" line.
  [Bug#33552 introduced in grep 2.23]

  In UTF-8 locales, grep -w no longer ignores a multibyte word
  constituent just before what would otherwise be a word match.
  [Bug#43225 introduced in grep 2.28]

  grep -i no longer mishandles ASCII characters that match multibyte
  characters.  For example, 'LC_ALL=tr_TR.utf8 grep -i i' no longer
  dumps core merely because 'i' matches '聴' (U+0130 LATIN CAPITAL
  LETTER I WITH DOT ABOVE) in Turkish when ignoring case.
  [Bug#43577 introduced partly in grep 2.28 and partly in grep 3.4]

  A performance regression with -E and many patterns has been mostly fixed.
  "Mostly" as there is a performance tradeoff between Bug#22357 and Bug#40634.
  [Bug#40634 introduced in grep 2.28]

  A performance regression with many duplicate patterns has been fixed.
  [Bug#43040 introduced in grep 3.4]

  An N^2 RSS performance regression with many patterns has been fixed
  in common cases (no backref, and no use of -o or --color).
  With only 80,000 lines of /usr/share/dict/linux.words, the following
  would use 100GB of RSS and take 3 minutes. With the fix, it used less
  than 400MB and took less than one second:
    head -80000 /usr/share/dict/linux.words > w; grep -vf w w
  [Bug#43527 introduced in grep 3.4]

** Build-related

  "make dist" builds .tar.gz files again, as they are still used in
  some barebones builds.

* Noteworthy changes in release 3.4 (2020-01-02) [stable]

** New features

  The new --no-ignore-case option causes grep to observe case
  distinctions, overriding any previous -i (--ignore-case) option.

** Bug fixes

  '.' no longer matches some invalid byte sequences in UTF-8 locales.
  [bug introduced in grep 2.7]

  grep -Fw can no longer false match in non-UTF-8 multibyte locales
  For example, this command would erroneously print its input line:
    echo ab | LC_CTYPE=ja_JP.eucjp grep -Fw b
  [Bug#38223 introduced in grep 2.28]

  The exit status of 'grep -L' is no longer incorrect when standard
  output is /dev/null.
  [Bug#37716 introduced in grep 3.2]

  A performance bug has been fixed when grep is given many patterns,
  each with no back-reference.
  [Bug#33249 introduced in grep 2.5]

  A performance bug has been fixed for patterns like '01.2' that
  cause grep to reorder tokens internally.
  [Bug#34951 introduced in grep 3.2]

** Build-related

  The build procedure no longer relies on any already-built src/grep
  that might be absent or broken.  Instead, it uses the system 'grep'
  to bootstrap, and uses src/grep only to test the build.  On Solaris
  /usr/bin/grep is broken, but you can install GNU or XPG4 'grep' from
  the standard Solaris distribution before building GNU Grep yourself.
  [bug introduced in grep 2.8]


(ryoon)
diff -r1.59 -r1.60 pkgsrc/textproc/grep/Makefile
diff -r1.27 -r1.28 pkgsrc/textproc/grep/distinfo
diff -r0 -r1.1 pkgsrc/textproc/grep/patches/patch-configure
diff -r1.1 -r0 pkgsrc/textproc/grep/patches/patch-lib_sys-limits.h

cvs diff -r1.59 -r1.60 pkgsrc/textproc/grep/Makefile (expand / switch to unified diff)

--- pkgsrc/textproc/grep/Makefile 2020/08/31 18:11:42 1.59
+++ pkgsrc/textproc/grep/Makefile 2020/09/30 19:22:08 1.60
@@ -1,28 +1,27 @@ @@ -1,28 +1,27 @@
1# $NetBSD: Makefile,v 1.59 2020/08/31 18:11:42 wiz Exp $ 1# $NetBSD: Makefile,v 1.60 2020/09/30 19:22:08 ryoon Exp $
2 2
3DISTNAME= grep-3.3 3DISTNAME= grep-3.5
4PKGREVISION= 1 
5CATEGORIES= textproc 4CATEGORIES= textproc
6MASTER_SITES= ${MASTER_SITE_GNU:=grep/} 5MASTER_SITES= ${MASTER_SITE_GNU:=grep/}
7EXTRACT_SUFX= .tar.xz 6EXTRACT_SUFX= .tar.xz
8 7
9MAINTAINER= pkgsrc-users@pkgsrc.org 8MAINTAINER= pkgsrc-users@pkgsrc.org
10HOMEPAGE= https://www.gnu.org/software/grep/grep.html 9HOMEPAGE= https://www.gnu.org/software/grep/grep.html
11COMMENT= GNU grep 10COMMENT= GNU grep
12LICENSE= gnu-gpl-v3 # or later 11LICENSE= gnu-gpl-v3 # or later
13 12
14USE_PKGLOCALEDIR= yes 13USE_PKGLOCALEDIR= yes
15USE_TOOLS+= makeinfo msgfmt 14USE_TOOLS+= bash makeinfo msgfmt
16GNU_CONFIGURE= yes 15GNU_CONFIGURE= yes
17CONFIGURE_ARGS+= --enable-perl-regexp 16CONFIGURE_ARGS+= --enable-perl-regexp
18CONFIGURE_ARGS+= --program-prefix=g 17CONFIGURE_ARGS+= --program-prefix=g
19CONFIGURE_ENV+= MKDIR_P=${INSTALL_DATA_DIR:Q} 18CONFIGURE_ENV+= MKDIR_P=${INSTALL_DATA_DIR:Q}
20CONFIGURE_ENV+= PERL= # none 19CONFIGURE_ENV+= PERL= # none
21INFO_FILES= yes 20INFO_FILES= yes
22TEXINFO_REQD= 4.0 21TEXINFO_REQD= 4.0
23 22
24INSTALLATION_DIRS= ${PKGGNUDIR}bin ${PKGGNUDIR}${PKGMANDIR}/man1 23INSTALLATION_DIRS= ${PKGGNUDIR}bin ${PKGGNUDIR}${PKGMANDIR}/man1
25 24
26.include "../../mk/bsd.prefs.mk" 25.include "../../mk/bsd.prefs.mk"
27 26
28.if ${OS_VARIANT} == "SCOOSR5" 27.if ${OS_VARIANT} == "SCOOSR5"

cvs diff -r1.27 -r1.28 pkgsrc/textproc/grep/distinfo (expand / switch to unified diff)

--- pkgsrc/textproc/grep/distinfo 2019/12/19 09:36:33 1.27
+++ pkgsrc/textproc/grep/distinfo 2020/09/30 19:22:08 1.28
@@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
1$NetBSD: distinfo,v 1.27 2019/12/19 09:36:33 jperkin Exp $ 1$NetBSD: distinfo,v 1.28 2020/09/30 19:22:08 ryoon Exp $
2 2
3SHA1 (grep-3.3.tar.xz) = e0befe21e7d9caa8e5e98385c96355d890f83123 3SHA1 (grep-3.5.tar.xz) = a66cc5ddac0b8fe2fbdea4dd9bf74ab3d2ebefcd
4RMD160 (grep-3.3.tar.xz) = dd32e6f23b55fd7bde6adec25c4d2666b9d4daf1 4RMD160 (grep-3.5.tar.xz) = 45775cbc551ff7ab644569c7fc334598607fe729
5SHA512 (grep-3.3.tar.xz) = e4805dbddf7cd0f0faf412557d408509650c1ccf703bc450f10a3f727c690dbfaa1235aa81939a0e4b7ac6190f88c15ea1fcc562b343d4b4c7550f967aeb15db 5SHA512 (grep-3.5.tar.xz) = 8367aa930ecf7fa5c07153666bf7991097648bd7bf4ca672e6b14e0bb806c89991ec55d2880812877761cbde1d33562f22803835d74bfcd293c2246e274306c4
6Size (grep-3.3.tar.xz) = 1473056 bytes 6Size (grep-3.5.tar.xz) = 1586396 bytes
7SHA1 (patch-lib_sys-limits.h) = 5676dd55df15d5dc8460d2e5e9bbe2e8848ebccc 7SHA1 (patch-configure) = 436dcb5215243dac0d2661ccd34c8b03140989a5
8SHA1 (patch-src_Makefile.in) = 9efe4748d4b1ff33adca4e251e2e4249c62f0035 8SHA1 (patch-src_Makefile.in) = 9efe4748d4b1ff33adca4e251e2e4249c62f0035

File Added: pkgsrc/textproc/grep/patches/patch-configure
$NetBSD: patch-configure,v 1.1 2020/09/30 19:22:08 ryoon Exp $

* pkgsrc always supplies working grep.

--- configure.orig	2020-09-28 02:49:51.000000000 +0000
+++ configure
@@ -3715,14 +3715,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-if test -n "$GREP" || test -n "$EGREP"; then
-  as_fn_error $? "no working 'grep' found
-  A working 'grep' command is needed to build GNU Grep.
-  This 'grep' should support -e and long lines.
-  On Solaris 10, install the package SUNWggrp or SUNWxcu4.
-  On Solaris 11, install the package text/gnu-grep or system/xopen/xcu4." "$LINENO" 5
-fi
-
 ac_aux_dir=
 for ac_dir in build-aux "$srcdir"/build-aux
 do

File Deleted: pkgsrc/textproc/grep/patches/Attic/patch-lib_sys-limits.h