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
buildEnv: respect user-chosen output even with extraOutputsToInstall #15816
Conversation
cc @vcunat -- was there a purpose for the initial design? |
Well, this depends on what the option is supposed to mean, as the user explicitly passed Note that this is set by nixos config for the system env, and this PR may e.g. exclude some man pages in some configs (when modules put |
Hmm, indeed. Maybe this should be rather documented with some workaround... maybe |
|
After more thinking, it does seem to me that not respecting However, I feel too biased to make any conclusions, and also completely skip the question of convenience (current way may make some patterns easier) and cost of changing vs benefits (it seems we don't use that corner case much, but I cannot testify). So I'm unsure how to proceed with this... EDIT: ...and this might very fast roll down to a bikeshedding festival. |
Let's just document this behavior for now, I think. |
@abbradar so are you going to document this? Should this be merged? closed? I guess you can merge it youself… |
I forgot about this completely D: As I've said this is a controversial change without much benefit -- I'm personally for it but unless there is strong support I say let's just close it. I'll write documentation (and try not to forget this time :D) if workarounds listed in it would seem too awful we might return to this question ~_^ |
Motivation for this change
When user gives an explicit output for
buildEnv
, for examplegcc.cc.lib
, ifextraOutputsToInstall
is specifiedgcc.cc.lib.foo
would also be included, even though this might not be what the user wanted. This reverses the behaviour, so if an output is explicitly specified no additional ones would be installed.For example of when this is useful: this removes
gcc.out
references frombuildFHSEnv
environments.Not mass-rebuildy as far as I can see.
Things done
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)