summary refs log tree commit diff
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-05-24 12:47:48 +0300
committerGitHub <noreply@github.com>2023-05-24 12:47:48 +0300
commit91b69f85558088bacce321ed985b341059857d51 (patch)
treebaa623b66a779a8452e9703046d08199f9336c8a
parent8f649fd234c1348226a293a84a00d8bf8cd8b260 (diff)
parent10396d0f86dc5f9edefda391bc2bae1c23d80b79 (diff)
downloadnixpkgs-91b69f85558088bacce321ed985b341059857d51.tar
nixpkgs-91b69f85558088bacce321ed985b341059857d51.tar.gz
nixpkgs-91b69f85558088bacce321ed985b341059857d51.tar.bz2
nixpkgs-91b69f85558088bacce321ed985b341059857d51.tar.lz
nixpkgs-91b69f85558088bacce321ed985b341059857d51.tar.xz
nixpkgs-91b69f85558088bacce321ed985b341059857d51.tar.zst
nixpkgs-91b69f85558088bacce321ed985b341059857d51.zip
Merge pull request #228714 from helsinki-systems/upd/gnugrep
[staging] gnugrep: 3.7 -> 3.11
-rw-r--r--pkgs/stdenv/darwin/default.nix12
-rw-r--r--pkgs/stdenv/darwin/make-bootstrap-tools.nix4
-rw-r--r--pkgs/stdenv/linux/default.nix5
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix2
-rw-r--r--pkgs/tools/text/gnugrep/default.nix24
-rw-r--r--pkgs/tools/text/gnugrep/sigsegv-loongarch.patch31
6 files changed, 23 insertions, 55 deletions
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index ffe99da8692..780717db56b 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -487,7 +487,7 @@ rec {
           nghttp2.lib
           coreutils
           gnugrep
-          pcre.out
+          gnugrep.pcre2.out
           gmp
           libiconv
           brotli.lib
@@ -563,7 +563,7 @@ rec {
           nghttp2.lib
           coreutils
           gnugrep
-          pcre.out
+          gnugrep.pcre2.out
           gmp
           libiconv
           brotli.lib
@@ -587,8 +587,9 @@ rec {
       persistent = self: super: with prevStage; {
         inherit
           gnumake gzip gnused bzip2 ed xz patch bash python3
-          ncurses libffi zlib gmp pcre gnugrep cmake
+          ncurses libffi zlib gmp gnugrep cmake
           coreutils findutils diffutils patchutils ninja libxml2;
+        inherit (gnugrep) pcre2;
 
         # Hack to make sure we don't link ncurses in bootstrap tools. The proper
         # solution is to avoid passing -L/nix-store/...-bootstrap-tools/lib,
@@ -643,8 +644,9 @@ rec {
       persistent = self: super: with prevStage; {
         inherit
           gnumake gzip gnused bzip2 gawk ed xz patch bash
-          ncurses libffi zlib gmp pcre gnugrep
+          ncurses libffi zlib gmp gnugrep
           coreutils findutils diffutils patchutils pbzx;
+        inherit (gnugrep) pcre2;
 
         darwin = super.darwin.overrideScope (_: _: {
           inherit (darwin) dyld ICU Libsystem Csu libiconv rewrite-tbd;
@@ -734,7 +736,7 @@ rec {
         gawk
         gnugrep
         patch
-        pcre.out
+        gnugrep.pcre2.out
         gettext
         binutils.bintools
         binutils.bintools.lib
diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
index 5433e7afecf..9c580447a6f 100644
--- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -54,7 +54,7 @@ in rec {
       chmod -R u+w $out/include
       cp -rL ${darwin.ICU}/include* $out/include
       cp -rL ${libiconv}/include/* $out/include
-      cp -rL ${lib.getDev gnugrep.pcre}/include/* $out/include
+      cp -rL ${lib.getDev gnugrep.pcre2}/include/* $out/include
       mv $out/include $out/include-Libsystem
 
       # Copy coreutils, bash, etc.
@@ -86,7 +86,7 @@ in rec {
       cp -d ${libssh2.out}/lib/libssh*.dylib $out/lib
       cp -d ${lib.getLib openssl}/lib/*.dylib $out/lib
 
-      cp -d ${gnugrep.pcre.out}/lib/libpcre*.dylib $out/lib
+      cp -d ${gnugrep.pcre2.out}/lib/libpcre2*.dylib $out/lib
       cp -d ${lib.getLib libiconv}/lib/lib*.dylib $out/lib
       cp -d ${lib.getLib gettext}/lib/libintl*.dylib $out/lib
       chmod +x $out/lib/libintl*.dylib
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index d327ef8b7fe..9cfe21e3640 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -637,7 +637,7 @@ in
           ]
         # Library dependencies
         ++ map getLib (
-            [ attr acl zlib pcre libidn2 libunistring ]
+            [ attr acl zlib gnugrep.pcre2 libidn2 libunistring ]
             ++ lib.optional (gawk.libsigsegv != null) gawk.libsigsegv
           )
         # More complicated cases
@@ -656,7 +656,8 @@ in
         inherit (prevStage)
           gzip bzip2 xz bash coreutils diffutils findutils gawk
           gnused gnutar gnugrep gnupatch patchelf
-          attr acl zlib pcre libunistring;
+          attr acl zlib libunistring;
+        inherit (prevStage.gnugrep) pcre2;
         ${localSystem.libc} = getLibc prevStage;
 
         # Hack: avoid libidn2.{bin,dev} referencing bootstrap tools.  There's a logical cycle.
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index 06750e5c713..d6c4da0ab2b 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -130,7 +130,7 @@ in with pkgs; rec {
         cp -d ${patch}/bin/* $out/bin
         cp ${patchelf}/bin/* $out/bin
 
-        cp -d ${gnugrep.pcre.out}/lib/libpcre*.so* $out/lib # needed by grep
+        cp -d ${gnugrep.pcre2.out}/lib/libpcre2*.so* $out/lib # needed by grep
 
         # Copy what we need of GCC.
         cp -d ${bootGCC.out}/bin/gcc $out/bin
diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix
index fc285bb4c4d..a4ee316937a 100644
--- a/pkgs/tools/text/gnugrep/default.nix
+++ b/pkgs/tools/text/gnugrep/default.nix
@@ -1,11 +1,11 @@
-{ lib, stdenv, fetchurl, pcre, libiconv, perl, autoreconfHook }:
+{ lib, stdenv, glibcLocales, fetchurl, pcre2, libiconv, perl, autoreconfHook }:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
 # cannot use fetchpatch! All mutable patches (generated by GitHub or
 # cgit) that are needed here should be included directly in Nixpkgs as
 # files.
 
-let version = "3.7"; in
+let version = "3.11"; in
 
 stdenv.mkDerivation {
   pname = "gnugrep";
@@ -13,23 +13,17 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnu/grep/grep-${version}.tar.xz";
-    sha256 = "0g42svbc1nq5bamxfj6x7320wli4dlj86padk0hwgbk04hqxl42w";
+    hash = "sha256-HbKu3eidDepCsW2VKPiUyNFdrk4ZC1muzHj1qVEnbqs=";
   };
 
-  # https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=b50c6442e43d79471a31a2a202d3e50c0557446f
-  patches = lib.optional stdenv.hostPlatform.isLoongArch64 ./sigsegv-loongarch.patch;
-
-  # Perl is needed for testing
-  nativeBuildInputs = [ perl ] ++ lib.optional stdenv.hostPlatform.isLoongArch64 autoreconfHook;
+  nativeCheckInputs = [ perl glibcLocales ];
   outputs = [ "out" "info" ]; # the man pages are rather small
 
-  buildInputs = [ pcre libiconv ];
+  buildInputs = [ pcre2 libiconv ];
 
   # cygwin: FAIL: multibyte-white-space
   # freebsd: FAIL mb-non-UTF8-performance
-  # all platforms: timing sensitivity in long-pattern-perf
-  #doCheck = !stdenv.isDarwin && !stdenv.isSunOS && !stdenv.isCygwin && !stdenv.isFreeBSD;
-  doCheck = false;
+  doCheck = !stdenv.isCygwin && !stdenv.isFreeBSD;
 
   # On macOS, force use of mkdir -p, since Grep's fallback
   # (./install-sh) is broken.
@@ -62,12 +56,14 @@ stdenv.mkDerivation {
     license = licenses.gpl3Plus;
 
     maintainers = [
-      maintainers.eelco
+      maintainers.das_j
       maintainers.m00wl
     ];
     platforms = platforms.all;
     mainProgram = "grep";
   };
 
-  passthru = {inherit pcre;};
+  passthru = {
+    inherit pcre2;
+  };
 }
diff --git a/pkgs/tools/text/gnugrep/sigsegv-loongarch.patch b/pkgs/tools/text/gnugrep/sigsegv-loongarch.patch
deleted file mode 100644
index 19bb2c1d70c..00000000000
--- a/pkgs/tools/text/gnugrep/sigsegv-loongarch.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From b50c6442e43d79471a31a2a202d3e50c0557446f Mon Sep 17 00:00:00 2001
-From: Sun Haiyong <youbest@sina.com>
-Date: Sat, 4 Sep 2021 15:06:43 +0200
-Subject: sigsegv: Improve cross-compilation support for LoongArch CPU.
-
-* m4/stack-direction.m4 (SV_STACK_DIRECTION): Assume the stack grows
-down on LoongArch.
----
- m4/stack-direction.m4 | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4
-index 9328725..e682be9 100644
---- a/m4/stack-direction.m4
-+++ b/m4/stack-direction.m4
-@@ -1,4 +1,4 @@
--# stack-direction.m4 serial 7
-+# stack-direction.m4 serial 8
- dnl Copyright (C) 2002-2021 Free Software Foundation, Inc.
- dnl This file is free software, distributed under the terms of the GNU
- dnl General Public License.  As a special exception to the GNU General
-@@ -32,6 +32,7 @@ AC_DEFUN([SV_STACK_DIRECTION],
-       i?86 | x86_64 | \
-       i860 | \
-       ia64 | \
-+      loongarch* | \
-       m32r | \
-       m68* | \
-       m88k | \
--- 
-cgit v1.1