diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index ffe99da86922..780717db56b8 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 5433e7afecf9..9c580447a6f4 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 6a743f60c9b2..20e988444559 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -639,7 +639,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 @@ -658,7 +658,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 06750e5c7138..d6c4da0ab2be 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 9b6936ec9b65..992645a15db5 100644 --- a/pkgs/tools/text/gnugrep/default.nix +++ b/pkgs/tools/text/gnugrep/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pcre, libiconv, perl, autoreconfHook }: +{ lib, stdenv, 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 @@ -19,7 +19,7 @@ stdenv.mkDerivation { nativeCheckInputs = [ perl ]; 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 @@ -63,5 +63,7 @@ stdenv.mkDerivation { mainProgram = "grep"; }; - passthru = {inherit pcre;}; + passthru = { + inherit pcre2; + }; }