-
-
Notifications
You must be signed in to change notification settings - Fork 15.5k
stdenv/setup.sh: undo local -n
change
#27618
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
Conversation
It's better than the eval solution this is adding back, but until we can rely on a particular version of bash in nix-shell, this just breaks too much stuff. See NixOS/nix@c94f3d5 and NixOS/nix#1483 for the better long-term solution.
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.
Looks good. I may yet be tempted to do my aweful
bar="foo[@]"
baz=${!bar}
hack. But I'll do it on staging :).
Cool, I'm inclined to stick to the tried and tested until the storm passes 😄 but if you can make sure it works on CentOS and macOS, I'm happy either way. I'm running a macOS and CentOS build right now. |
@copumpkin Yeah, since this is straight-to-master, it makes complete sense to be conservative. In my earlier reversion PR for |
As @oxij points out in [1], this breakage is especially serious because it changes the contents of built environments without a corresonding change in their hashes. Also, the revert is easier than I thought. This reverts commit 3cb745d. [1]: #27427 (comment)
Okay, CentOS and macOS both work with this PR merged. |
I'm going to merge this and cancel the rest of the master builds. Should get us a channel update in ~1 day |
@copumpkin @Ericson2314 can you merge master back into staging. The current staging builds are pretty useless and best be halted. |
I started working on that. But staging was completely broken on Darwin (couldn't even build stdenv, so not my changes). |
@copumpkin @Ericson2314 how come Darwin is broken on staging and who is fixing this? Not having these changes in staging blocks staging and thereby us from merging any other mass-rebuilds. edit: so that's #27650 |
local -n
is theoretically better than the eval solution this is adding back, but until we can rely on a particular version of bash in nix-shell, this just breaks too much stuff.See NixOS/nix@c94f3d5 and NixOS/nix#1483 for the better long-term solution.
Motivation for this change
macOS and CentOS (among probably others) have
nix-shell
broken by default right now. Untilnixpkgs-unstable
gets rid oflocal -n
, this will cause (and is causing) a ton of pain. I'm doing this directly against master because I want to get a successful Hydra build to bumpnixpkgs-unstable
back to a good state ASAP.We'll also need to do this to other
local -n
instances on staging