| 21 Jan 2025 |
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 |
Randy Eckenrode | But I didn’t suggest more of those changes to keep the scope simple for now. | 17:03:23 |
Tristan Ross | In reply to @emilazy:matrix.org I think this can just go to staging… bootstrap changes will almost certainly have to go through there anyway The thing is, this is supposed to be like a semantics change | 17:03:48 |
Tristan Ross | So that shouldn't cause rebuilds | 17:03:56 |
emily | right. but along the way we are likely to discover that some useLLVM conditionals were wrong. so we should at least fix those (but doing that separately on staging is fine too) | 17:04:33 |
emily | (precisely because Darwin is almost entirely useLLVM but not included in it) | 17:04:42 |
| 22 Jan 2025 |
Tristan Ross | Rebuild counts are going down yay | 03:34:12 |