| 21 Jan 2025 |
Philip Taron (UTC-8) | * Hmm. nix-build -A tests.stdenv.outputs-no-out is broken on master for me. | 14:22:52 |
FliegendeWurst | most likely not the real error? https://github.com/NixOS/nixpkgs/issues/214822 | 15:48:00 |
Philip Taron (UTC-8) | Fixed quite a while ago, so unless it regressed... | 15:48:29 |
Philip Taron (UTC-8) | (There's also no error otherwise.) | 15:48:38 |
Philip Taron (UTC-8) | I'm bisecting. | 15:48:47 |
Philip Taron (UTC-8) | It works on 24.11, so it's not too bad a bisect. | 15:49:32 |
Philip Taron (UTC-8) | Found it: https://github.com/NixOS/nixpkgs/pull/357053#issuecomment-2605142607 | 16:06:42 |
Tristan Ross | In reply to @reckenrode:matrix.org @rosscomputerguy:matrix.org: I left some questions/comments re: Darwin on your toolchains PR. Thank you. I'm hoping we can get this merged soon. It'll be great once this PR is fully working. | 16:51:08 |
Tristan Ross | https://github.com/NixOS/nixpkgs/pull/375435 this is going to be cool too | 16:51:45 |
Tristan Ross | I just need to figure out why the hook isn't executing. | 16:52:01 |
Tristan Ross | I was using the makeSetupHook but switched to the setupHook/setupHooks attribute and that causes it to not apply anymore. | 16:52:44 |
emily | lmk when the PR is ready for another review | 16:53:03 |
Tristan Ross | But GNU hello does work with bolt if you compiled it with LLVM | 16:53:21 |
Tristan Ross | In reply to @emilazy:matrix.org lmk when the PR is ready for another review It could use one, I need to figure out why Darwin has mass rebuilds | 16:53:55 |
emily | lemme know when you figure that out. though a mass-rebuild may be correct if useLLVM was conditioning on something that actually applies to Darwin (which is not useLLVM) | 16:55:02 |
Randy Eckenrode | In reply to @rosscomputerguy:matrix.org Thank you. I'm hoping we can get this merged soon. It'll be great once this PR is fully working. The only other question I really still have is regarding libunwind. It’s linked implicitly by libSystem on Darwin. | 16:55:08 |
Randy Eckenrode | In reply to @rosscomputerguy:matrix.org It could use one, I need to figure out why Darwin has mass rebuilds Could be because some of the libunwind cases are different for Darwin. | 16:56:49 |
Tristan Ross | In reply to @reckenrode:matrix.org The only other question I really still have is regarding libunwind. It’s linked implicitly by libSystem on Darwin. Yeah which is why I switched to libunwind-system | 16:57:17 |
Randy Eckenrode | I didn’t call it out in my comments, but I think there was at least one that looked like it would evaluate differently after the change. | 16:57:31 |
Randy Eckenrode | In reply to @rosscomputerguy:matrix.org Yeah which is why I switched to libunwind-system I didn’t see a reply to my comment, but that takes care of it. Thanks! | 16:58:09 |
Randy Eckenrode | The only other possibility is some of the useLLVM logic that was converted now evaluates to true on Darwin. If something is getting new/additional CMake flags, that would cause rebuilds. | 16:58:35 |
Randy Eckenrode | Also, I think changing the order of flags can cause rebuilds. | 16:59:12 |
Randy Eckenrode | Though looking at compiler-rt, I think it’s more the former. Those flags are probably fine, but if you want to target master, they would need a !stdenv.hostPlatform.isDarwin that could be dropped to enable them in staging. | 17:00:58 |
Tristan Ross | Yeah, I need to run a nix-diff to figure things out | 17:01:15 |
emily | I think this can just go to staging… bootstrap changes will almost certainly have to go through there anyway | 17:01:21 |
Tristan Ross | I just don't have time right now lol | 17:01:22 |
emily | it's not like it will result in any urgent behaviour fixes | 17:01:44 |
emily | (though of course we should make sure that any builds it changes get more correct) | 17:01:50 |
Randy Eckenrode | I’d just like all the conditionals to be simplified. If unwinderlib is being checked for libgcc_s, that should never be true on Darwin. If it ever is, then maybe that conditional should be enabled. | 17:02:29 |
Randy Eckenrode | The extra granularity should help clean things up a lot instead of having useLLVM && (not three or four platforms). | 17:02:50 |