| 1 Dec 2025 |
K900 | In all of nixpkgs | 17:35:27 |
K900 | Why do we even care at this point | 17:35:36 |
Randy Eckenrode | There does seem to be some desire to get Zink working on Darwin. | 17:35:59 |
emily | I have actually used XQuartz to run something as recently as the past couple years. admittedly I did not use the Nixpkgs version | 17:36:00 |
Randy Eckenrode | Maybe we could build that eventually. | 17:36:08 |
K900 | I mean zink on kosmickrisp is valuable even without GLX | 17:36:34 |
Randy Eckenrode | I ran XQuartz several years ago to run the file manager they used in Jurassic Park. | 17:36:34 |
emily | admittedly the last time I had to do remoting of Linux GUI apps I used xpra | 17:36:40 |
K900 | Because it's better GL support than Apple has | 17:36:41 |
emily | though xpra on macOS is kind of crap too | 17:36:45 |
K900 | But that's a VERY DIFFERENT THING | 17:36:46 |
emily | I suppose once GTK and Qt drop X11 support the remoting use case will disappear 🤪 | 17:37:18 |
emily | maybe we'll just get waypipe working on macOS. | 17:37:29 |
emily | anyway re: merging I was mostly just thinking that if Darwin is going to be a supported target the issues with the build being blocked on Darwin will be significantly mitigated, and it doesn't seem compelling to keep them separate in that case. | 17:38:12 |
K900 | Well the expressions will share basically nothing | 17:39:33 |
K900 | Because 95% of it is still Linux specific | 17:39:42 |
samasaur | In reply to @reckenrode:matrix.org The issue is more that our update plans involve removing the 14.4 SDK next year. how terrible would it be to keep the 14.4 SDK around for swift bootstrapping? not to expose it to all of nixpkgs, but just for the bootstrap swift | 17:41:17 |
samasaur | my impression is that since the SDK rework, maintaining a specific version of the SDK is not inherently difficult, and all the actual challenges come from packages using that SDK | 17:42:33 |
Randy Eckenrode | We could keep the version information around but not provide the attribute. Swift could build with a special stdenv using that SDK. | 17:44:52 |
samasaur | yeah that's kinda what im thinking | 17:45:14 |
samasaur | bc a new SDK version is just a URL and hashes, right? | 17:45:32 |
Randy Eckenrode | The major version is an argument to the SDK derivation. We would just need to keep the old SDK version files around for that. | 17:46:57 |
emily | I don't think we should have to rely on that kind of thing. I think we should just report this issue to upstream before planning for that… | 17:48:12 |
emily | there's no reason the bootstrap compiler couldn't digest macro definitions and then simply error out if they are ever used, right? | 17:48:33 |
emily | all we need is that the Swift macro machinery itself can be built without using stuff that uses macros – which is already a property they have to maintain by definition | 17:48:55 |
Randy Eckenrode | I don’t think upstream intends Darwin to be bootstrapped this way. | 18:00:51 |
Randy Eckenrode | It’s simply not a supported feature. As soon as the parser hits a macro definition, it bails. | 18:02:04 |
emily | it doesn't seem like it should be hard to keep working, right? the macro machinery presumably already doesn't use much OS-specific stuff / fancy Swift features, so it's unlikely that any macros in the SDK will truly be required to build enough to process them | 18:04:55 |
emily | right, what I mean is that they could simply defer that error to the use site, for the bootstrap compiler | 18:05:09 |
emily | it seems very cheap to just report and see if they care or not | 18:05:20 |