Merge pull request #228714 from helsinki-systems/upd/gnugrep

[staging] gnugrep: 3.7 -> 3.11
This commit is contained in:
Weijia Wang 2023-05-24 12:47:48 +03:00 committed by GitHub
commit 91b69f8555
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 23 additions and 55 deletions

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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;
};
}

View File

@ -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