| 21 Jan 2025 |
emily | that's one fewer problem at least :) | 03:13:57 |
Tristan Ross | Yeah lol | 03:14:32 |
Tristan Ross | Cool pkgs/development/compilers/llvm/common/default.nix no longer depends on useLLVM | 03:18:40 |
Tristan Ross | Just need to figure out why threadsCross has an optional for !useLLVM | 03:27:48 |
Tristan Ross | And then we've got the rust mess | 03:27:54 |
Tristan Ross | I've been able to adjust some other stuff thankfully because of bugs which no longer occur | 03:28:36 |
Tristan Ross | I bisected the change to John Ericson (https://github.com/NixOS/nixpkgs/pull/73195/files#diff-ab5748dc9567516fefba8344056b51ec1866adeace380f46e58a7af3d619ea22R11302) | 03:31:14 |
emily | I think that is just inherited from crossLibcStdenv, maybe. | 03:37:05 |
emily | I think mcfgthreads might be kind of broken though. there's some weird GCC patch stuff that I think no longer applies(?) | 03:37:28 |
Tristan Ross | So I can just drop that case of useLLVM? | 03:41:18 |
emily | I don't know. I just mean it looks like Ericson was copying it from crossLibcStdenv which already had the conditional. | 03:41:44 |
Tristan Ross | Oh | 03:42:23 |
Tristan Ross | I'll remove it and we'll see what Ericson thinks | 03:43:19 |
Tristan Ross | Ok, useLLVM isn't specified in the tree any more | 03:45:01 |
Tristan Ross | useArocc and useZig didn't get used at all | 03:45:36 |
emily | probably not a good idea to just remove it without testing/trying to figure out why it was there. 5f134ec6cf66b6a13493b28c463d86a06b283402 seems relevant | 03:45:48 |
Tristan Ross | Ok, I readded it but now it matches for the LLVM specific libs (compiler-rt, libunwind, libcxx) | 03:48:55 |
John Ericson | Uh oh! | 03:49:07 |
John Ericson | What did I do | 03:49:09 |
Tristan Ross | We're getting rid of useLLVM and trying to figure out why threadsCross has a !useLLVM | 03:49:38 |
John Ericson | In reply to @emilazy:matrix.org I think mcfgthreads might be kind of broken though. there's some weird GCC patch stuff that I think no longer applies(?) I recall it needs less patching than in the past | 03:49:49 |
Tristan Ross | Ok, I think the PR might be in a good state now | 03:51:12 |
John Ericson | Btw if @philiptaron:matrix.org is too busy can one of you pretty pleeeeease pick up the gcc ng thing? | 03:54:20 |
John Ericson | I do think it will cause great magic goodness | 03:54:35 |
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 |