summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/autotools.scm3
-rw-r--r--gnu/packages/base.scm4
-rw-r--r--gnu/packages/commencement.scm9
-rw-r--r--gnu/packages/patches/libtool-grep-compat.patch51
5 files changed, 64 insertions, 4 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index cddec4e540..017e083fb0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1420,6 +1420,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/libtirpc-CVE-2021-46828.patch		\
   %D%/packages/patches/libtirpc-hurd.patch			\
   %D%/packages/patches/libtommath-fix-linkage.patch		\
+  %D%/packages/patches/libtool-grep-compat.patch		\
   %D%/packages/patches/libtool-skip-tests2.patch		\
   %D%/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch \
   %D%/packages/patches/libusb-0.1-disable-tests.patch		\
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 0357af8850..a35c8c7667 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -439,7 +439,8 @@ Makefile, simplifying the entire process for the developer.")
               (sha256
                (base32
                 "0pb3l4x37k6fj1lwnpzws55gi3pxl0hx56jm4bzmbrkw0mzj2zsg"))
-              (patches (search-patches "libtool-skip-tests2.patch"))))
+              (patches (search-patches "libtool-skip-tests2.patch"
+                                       "libtool-grep-compat.patch"))))
     (build-system gnu-build-system)
     (propagated-inputs (list m4))
     (native-inputs
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index cf640aad25..382aa94b90 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -105,14 +105,14 @@ command-line arguments, multiple languages, and so on.")
 (define-public grep
   (package
    (name "grep")
-   (version "3.7")
+   (version "3.8")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/grep/grep-"
                                 version ".tar.xz"))
             (sha256
              (base32
-              "0g42svbc1nq5bamxfj6x7320wli4dlj86padk0hwgbk04hqxl42w"))
+              "10n3mc9n1xmg85hpxyr4wiqzfp27ffxzwhvkv021j27vnk0pr3a9"))
             (patches (search-patches "grep-timing-sensitive-test.patch"))))
    (build-system gnu-build-system)
    (native-inputs (list perl))                   ;some of the tests require it
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 0dbd39382e..c03b9554a5 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1845,7 +1845,6 @@ exec " gcc "/bin/" program
 ;; In the future, Gash et al. could handle it directly, but it's not
 ;; ready yet.
 (define bash-mesboot (mesboot-package "bash-mesboot" static-bash))
-(define grep-mesboot (mesboot-package "grep-mesboot" grep))
 (define sed-mesboot (mesboot-package "sed-mesboot" sed))
 
 ;; "sed" from Gash-Utils lacks the 'w' command as of 0.2.0.
@@ -1857,6 +1856,14 @@ exec " gcc "/bin/" program
        `(("sed" ,sed-mesboot)
          ,@(package-native-inputs pkg))))))
 
+(define grep-mesboot
+  (let ((pkg (mesboot-package "grep-mesboot" grep)))
+    (package
+      (inherit pkg)
+      (native-inputs
+       `(("sed" ,sed-mesboot)
+         ,@(package-native-inputs pkg))))))
+
 ;; The XZ implementation in Bootar cannot decompress 'tar'.
 (define xz-mesboot
   (let ((pkg (mesboot-package "xz-mesboot" xz)))
diff --git a/gnu/packages/patches/libtool-grep-compat.patch b/gnu/packages/patches/libtool-grep-compat.patch
new file mode 100644
index 0000000000..46e5c6873d
--- /dev/null
+++ b/gnu/packages/patches/libtool-grep-compat.patch
@@ -0,0 +1,51 @@
+Don't escape forward slashes to prevent a warning from grep 3.8.
+
+diff --git a/tests/link-order.at b/tests/link-order.at
+--- a/tests/link-order.at
++++ b/tests/link-order.at
+@@ -99,12 +99,12 @@ aix* | interix*) ;;  # These systems have different path syntax
+   case $hardcode_direct$hardcode_direct_absolute in
+   yesno)
+     AT_CHECK([if $EGREP relinking stderr; then
+-         $EGREP " .*\/new\/lib/libb$shared_ext .*\/old\/lib/libcee$shared_ext" stdout
++         $EGREP " .*/new/lib/libb$shared_ext .*/old/lib/libcee$shared_ext" stdout
+        else :; fi], [0], [ignore], [], [echo "wrong link order"])
+     ;;
+   *)
+     AT_CHECK([if $EGREP relinking stderr; then
+-         $EGREP " -L.*\/new\/lib -lb -L.*\/old\/lib -lcee" stdout
++         $EGREP " -L.*/new/lib -lb -L.*/old/lib -lcee" stdout
+        else :; fi], [0], [ignore], [], [echo "wrong link order"])
+     ;;
+   esac
+diff --git a/tests/testsuite b/tests/testsuite
+--- a/tests/testsuite
++++ b/tests/testsuite
+@@ -20611,11 +20611,11 @@ aix* | interix*) ;;  # These systems have different path syntax
+   yesno)
+     { set +x
+ $as_echo "$at_srcdir/link-order.at:101: if \$EGREP relinking stderr; then
+-         \$EGREP \" .*\\/new\\/lib/libb\$shared_ext .*\\/old\\/lib/libcee\$shared_ext\" stdout
++         \$EGREP \" .*/new/lib/libb\$shared_ext .*/old/lib/libcee\$shared_ext\" stdout
+        else :; fi"
+ at_fn_check_prepare_notrace 'an embedded newline' "link-order.at:101"
+ ( $at_check_trace; if $EGREP relinking stderr; then
+-         $EGREP " .*\/new\/lib/libb$shared_ext .*\/old\/lib/libcee$shared_ext" stdout
++         $EGREP " .*/new/lib/libb$shared_ext .*/old/lib/libcee$shared_ext" stdout
+        else :; fi
+ ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+ at_status=$? at_failed=false
+@@ -20633,11 +20633,11 @@ $at_traceon; }
+   *)
+     { set +x
+ $as_echo "$at_srcdir/link-order.at:106: if \$EGREP relinking stderr; then
+-         \$EGREP \" -L.*\\/new\\/lib -lb -L.*\\/old\\/lib -lcee\" stdout
++         \$EGREP \" -L.*/new\\/lib -lb -L.*/old/lib -lcee\" stdout
+        else :; fi"
+ at_fn_check_prepare_notrace 'an embedded newline' "link-order.at:106"
+ ( $at_check_trace; if $EGREP relinking stderr; then
+-         $EGREP " -L.*\/new\/lib -lb -L.*\/old\/lib -lcee" stdout
++         $EGREP " -L.*/new/lib -lb -L.*/old/lib -lcee" stdout
+        else :; fi
+ ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+ at_status=$? at_failed=false