-
-
Notifications
You must be signed in to change notification settings - Fork 13.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[staging] gnugrep: 3.7 -> 3.11 #228714
[staging] gnugrep: 3.7 -> 3.11 #228714
Conversation
Draft for now because this breaks PCRE |
Should work now, @trofi can you verify that I didn't break the bootstrap tools? |
At least on
|
Do I need them in Edit: I just added it as well because it made sense. Also switched from pcre to gnugrep.pcre2 to be more consistent |
b37eece
to
e6b87ff
Compare
for i in $out/lib/librt-*.so $out/lib/libpcre*; do | ||
for i in $out/lib/librt-*.so $out/lib/libpcre2*; do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This script runs against current bootstrapTools binaries that nixpkgs
uses. It will have to have two worlds simultaneously:
grep
withpcre
grep
withpcre2
As it it fails to unpack current bootstrapTools
:
$ nix build --no-link github:NixOS/nixpkgs/pull/228714/merge#stdenv -L
...
bootstrap-tools> patching /nix/store/l4xssxrlz7mdpqr4blfh774q6v56849k-bootstrap-tools/lib/libpcre2*
bootstrap-tools> stat: No such file or directory
for i in $out/lib/libpcre* $out/lib/libc.so; do | ||
for i in $out/lib/libpcre2* $out/lib/libc.so; do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar to glibc
case it has to handle our current bootstrapTools
as well.
I have successfully built |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. We can fix the
./pkgs/stdenv/linux/bootstrap-tools-musl/scripts/unpack-bootstrap-tools.sh
./pkgs/stdenv/linux/bootstrap-tools/scripts/unpack-bootstrap-tools.sh
a while after (hopefully before anyone tries to use newer bootstrapTools
.
pkgs/tools/text/gnugrep/default.nix
Outdated
|
||
# Perl is needed for testing | ||
nativeBuildInputs = [ perl ] ++ lib.optional stdenv.hostPlatform.isLoongArch64 autoreconfHook; | ||
checkInputs = [ perl ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
checkInputs = [ perl ]; | |
nativeCheckInputs = [ perl ]; |
musl is in trouble, but fortunately only on aarch64: |
This appears to break |
So, add |
Yes, I'd use that as the simplest workaround, in case nothing better is submitted. It's surely better than to have no musl-based stdenv. For example, we could conditionally drop just the tests failing now (a tiny minority). |
I'm currently investigating |
Hmm, on |
so |
IIRC, @reckenrode also mentioned the |
I encountered it trying to work on the Darwin stdenv bump on x86_64-darwin. It always hangs on my Apple Silicon MBP, but it builds on our Intel iMac. The MBP is running 13.4 while the iMac is still on 13.3.1(a). I don’t know if OS version makes a difference, or if it’s a Rosetta 2 issue the test is triggering. |
Apparently it succeeded in the end nix build /nix/store/cprxh7g44qgvygmc2hv3l6xg3qkyl6sx-gnugrep-3.11 --dry-run so I guess I'll let it be for now and reconsider |
How long did it take to run? I left mine going for hours, and it never finished. |
I don't know how to find that. The log is easy to get, as the URL doesn't change on retries, but I can't see how to find which job built it (and see the time and machine). |
|
Are any of the builders actually x86_64-darwin hardware? It’s still stuck for me (Rosetta 2 on an M1 Max).
It’s been stuck at that for hours. I even tried to rework my stdenv stuff to build gnugrep later (with clang 16), but it didn’t make a difference. |
|
ofborg has 3 x86 and 2 aarch64 macs, with the aarch64 macs enabling Rosetta and taking x86 builds whenever The Scheduler desires. |
Can anyone with Rosetta test this patch? diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix
index 75c6f695073..2494ed1e49b 100644
--- a/pkgs/tools/text/gnugrep/default.nix
+++ b/pkgs/tools/text/gnugrep/default.nix
@@ -17,7 +17,8 @@ stdenv.mkDerivation {
};
# Some gnulib tests fail on Musl: https://github.com/NixOS/nixpkgs/pull/228714
- postPatch = if stdenv.hostPlatform.isMusl then ''
+ # They also seem to fail on Rosetta: https://github.com/NixOS/nixpkgs/pull/228714#issuecomment-1574300624
+ postPatch = if stdenv.hostPlatform.isMusl || stdenv.hostPlatform.system == "x86_64-darwin" then ''
sed -i 's:gnulib-tests::g' Makefile.in
'' else null; |
@cole-h: this was too big for OfBorg, I meant Hydra where it did succeed after several attempts (but I don't know on which machine). |
According to https://hydra.nixos.org/machines, we only have 1 "real" x86_64-darwin machine ( |
Worked for me:
|
Also replace myself as a maintainer
Description of changes
Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)