Conversation
Needs llvm-config. Fixes: 5b2f597 ("lib.extendDerivation: Fix interaction between output selection and overrideAttrs")
With our surface area, every bug is potentially a feature. Each version of nixpkgs/pkgs/development/compilers/llvm/9/default.nix Lines 66 to 68 in 5d447a9 The comment had to be reinterpreted once. A better comment would be:
Previously, The workaround in the llvm expressions was made in This PR introduces many other fixes, but the specific workaround may have been made by mistake, as it does not seem to have caused a significant change in evaluation behavior, when simplifying to just Removing the workaround does fix the behavior for root. It seems like a better fix, as it removes two workarounds instead of adding one. I'll make a PR so we can assess the impact with another ofborg diff. |
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.
|
Let's see what this does: |
|
Closing in favour of #218551. |
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.
Description of changes
Broken by 5b2f597 ("lib.extendDerivation: Fix interaction between output selection and overrideAttrs"). cc @roberth in case this is an unintended consequence or there's some other fix we should be making.
Things done
sandbox = trueset 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/)