| 21 Jan 2025 |
John Ericson | (though I also think Linux should use LLVM by default) | 03:54:46 |
Tristan Ross | Well, once we have the LLVM bootstrap tools then that will be possible in your systems | 03:55:28 |
emily | which thing? | 03:56:25 |
Tristan Ross | Once 365057 is merged, what's everyone's thoughts on not allowing checking stdenv.cc.is*? I've noticed it can cause infinite recursion errors in certain levels and moving to stdenv.*Platform.cc can provide the same information. It also likely will make it easier to break off CC being included in the stdenv and going to build systems providing the CC. | 04:32:26 |
emily | what kind of infinite recursion? | 04:38:30 |
Tristan Ross | … in the right operand of the AND (&&) operator
at /nix/store/85v74j29midz064radxs2kcr1xzzgbq9-source/pkgs/development/libraries/openssl/default.nix:101:82:
100| separateDebugInfo =
101| !stdenv.hostPlatform.isDarwin && !(stdenv.hostPlatform.useLLVM or false) && stdenv.cc.isGNU;
| ^
102|
… while evaluating the attribute 'cc.isGNU'
at /nix/store/85v74j29midz064radxs2kcr1xzzgbq9-source/pkgs/stdenv/generic/default.nix:208:15:
207|
208| inherit cc hasCC;
| ^
209|
error: infinite recursion encountered
at /nix/store/85v74j29midz064radxs2kcr1xzzgbq9-source/pkgs/development/libraries/openssl/default.nix:101:85:
100| separateDebugInfo =
101| !stdenv.hostPlatform.isDarwin && !(stdenv.hostPlatform.useLLVM or false) && stdenv.cc.isGNU;
| ^
102
| 04:40:26 |
Tristan Ross | Something kinda like this | 04:41:03 |
Tristan Ross | Just trying to read stdenv.cc.is* is able to cause infinite recursion in certain cases | 04:41:22 |
Tristan Ross | It seems when the stdenv shifts to the dependencies of a derivation that's needed for the stdenv, the stdenv being used for those dependencies is borked in some way which is able to cause infinite recursion. | 04:46:00 |
Tristan Ross | How can I have a setup hook add a step to the fixup phase? | 05:26:11 |
Tristan Ross | I want a function to execute that does stuff during the fixup phase | 05:26:27 |
Tristan Ross | But I don't want to override the fixup phase | 05:26:35 |
Tristan Ross | Oh, preFixupPhases | 05:27:45 |
John Ericson | In reply to @emilazy:matrix.org which thing? https://github.com/philiptaron/nixpkgs/tree/gcc-ng-14 | 07:10:02 |
Randy Eckenrode | Splitting up GCC like LLVM is? | 14:02:13 |
Randy Eckenrode | @rosscomputerguy:matrix.org: I left some questions/comments re: Darwin on your toolchains PR. | 14:02:49 |
Philip Taron (UTC-8) | Hmm. nix-build -A tests.stdenv.outputs-no-out is broken on master. | 14:22:26 |
Philip Taron (UTC-8) | > /nix/store/shkw4qm9qcw5sc5n1k5jznc83ny02r39-default-builder.sh: line 1: pop_var_context: head of shell_variables not a function context
| 14:22:42 |