-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
llvm*Packages: fix output selection (lib.get*) #122554
Conversation
It's fallout from PR #111487. Well, maybe the old generic logic around |
Perhaps my mind is flakey. It might also have purpose in |
@GrahamcOfBorg build ruby |
Result of 465 packages marked as broken and skipped:
8494 packages skipped due to time constraints:
2 packages built successfully:
Result of 409 packages marked as broken and skipped:
2055 packages skipped due to time constraints:
31 packages built successfully:
|
Hmm, no luck with verifying ruby on OfBorg – it timed out. I expect the change also caused rebuild of some of its deeper dependencies. |
@vcunat I think It might also help to do |
You could, but so far our general convention is to choose the output with binaries as the default one; IIRC only glibc was an exception 😄 |
@vcunat well, I defer to you on that as original author of multiple outputs in Nixpkgs :). |
@vcunat anyways I think more |
I clearly managed to forget a lot of the context since then, so I'm probably not really special in this respect (anymore). I suppose we'll try it then; perhaps I'll wait a bit in case someone else wants to have a look, too. |
... or not 😄 I'm feeling optimistic and Hydra would otherwise be quite idle now. It's just staging-next, so in the worst case we can change it again. |
The effect of `.out // { outputSpecified = false; }` in these cases is to select the default output explicitly, but then make the selection implicit until `overrideAttrs` is called. Previously `overrideAttrs` would not preserve output selection, masking the apparently unnecessary behavior of this workaround. For `libllvm-polly`, this logic does not apply, as it does not select the default output. The `outputSpecified` workaround was introduced in NixOS#122554 and was perhaps rushed because of a release deadline, and expected delays from mass rebuilds. The change in `overrideAttrs` behavior was added in 5b2f597 / NixOS#211685 and the problem was discovered in NixOS#218537, which may contain further information.
The effect of `.out // { outputSpecified = false; }` in these cases is to select the default output explicitly, but then make the selection implicit until `overrideAttrs` is called. Previously `overrideAttrs` would not preserve output selection, masking the apparently unnecessary behavior of this workaround. For `libllvm-polly`, this logic does not apply, as it does not select the default output. The `outputSpecified` workaround was introduced in #122554 and was perhaps rushed because of a release deadline, and expected delays from mass rebuilds. The change in `overrideAttrs` behavior was added in 5b2f597 / #211685 and the problem was discovered in #218537, which may contain further information.
Motivation for this change
#120058 (comment)
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)