| 11 May 2026 |
Randy Eckenrode | The bootstrap situation for Swift is horrible. | 12:36:22 |
viraptor | Thanks for the heads up. For now I'm mostly waiting for master to be ready post-release to do some more dependency groundwork / land the xcbuild fork. | 12:38:09 |
Randy Eckenrode |
- We can’t build Swift 5.10.1 using the LLVM derivation because LLVM 16 was dropped from Nixpkgs.
- We can’t build a C++ bootstrap compiler because the only version that supports that is Swift 6.2.
- For a binary bootstrap, upstream expects to find the libc headers in the sysroot. Darwin has one. Linux does not.
| 12:39:05 |
Randy Eckenrode | I’m currently leaning towards generating an SDK for Linux from libc and libstdc++ derivations. If that works, the wrapper will simply force the SDK and set up hardening flags. | 12:40:04 |
Randy Eckenrode | * | 12:40:19 |
Randy Eckenrode | This is like my fourth attempt at the bootstrap. Upstream makes some assumptions that don’t hold for us on Linux. | 12:41:50 |
viraptor | In reply to @reckenrode:matrix.org I’m currently leaning towards generating an SDK for Linux from libc and libstdc++ derivations. If that works, the wrapper will simply force the SDK and set up hardening flags. That... doesn't sound that bad overall? Unless I'm missing some serious downsides? | 12:49:54 |
Randy Eckenrode | Probably not bad, but it’s annoying to have to do it. Darwin has it easy because I switched it to exposing the SDK like native tooling expects, which is exactly what the upstream Swift binaries need. Linux does everything via wrappers, which is horrible. I probably would have been done with this last year if Linux used sysroots like Darwin uses SDKROOT. | 13:09:52 |
Randy Eckenrode | Whether I make Swift always use this sysroot on Linux, I don’t know. It would be more aligned with native tooling. If we could use a random Swiftly binary in a FHS env with Nixpkgs libc via the sysroot, that would probably make some users happy. | 13:11:03 |
Randy Eckenrode | Same if we could consume a static SDK from upstream. | 13:11:22 |
Ihar Hrachyshka | mesa 26.1 timed out for darwin in unstable so now my profiles rebuild a world :) why did it run for 2h+? https://hydra.nixos.org/build/328382105 | 14:16:07 |
K900 | I believe @[Randy Eckenrode] had some ideas | 14:16:30 |
K900 | But also Mesa should absolutely not be a world rebuild on Darwin | 14:16:39 |
K900 | It should be used by like <100 things | 14:16:48 |
Ihar Hrachyshka | maybe I stretched it. I saw my github runners doing a build for 3h and timed out and looks like most of the output was mesa: https://github.com/booxter/nix/actions/runs/25666597291/job/75341014760?pr=322
but if I enable timestamps I see that it just hanged there for hours before timing out. The last message from mesa is the same as on hydra. | 14:21:13 |
Randy Eckenrode | Mesa is getting stuck looking for swrast_dri.dylib when it should be swrast_dri.so. I have a hacky workaround that forces it to look for .so even on Darwin. I can open a PR later today. | 14:30:25 |
Randy Eckenrode | Something changed with GLX to make it use the megadriver install script. I suspect almost no one else builds it, so it’s broken in a native build, but I haven’t tested it. | 14:31:36 |
| @andreacfromtheapp:matrix.org left the room. | 17:21:25 |
| funzen joined the room. | 20:13:12 |
Randy Eckenrode | https://github.com/NixOS/nixpkgs/pull/519195 is the Mesa fix I’ve been using. | 23:33:25 |
| 12 May 2026 |
Randy Eckenrode | I’m starting to suspect that we should expect Intel support to be dropped in the 27.4 SDK..... | 00:23:17 |
Randy Eckenrode | * | 00:23:24 |
Randy Eckenrode | If you look at how things went for PPC, the version of Xcode that shipped with 10.6 included support for PPC, but it was dropped by when Xcode 4.0 was released (prior to the release of 10.7). | 00:24:10 |
Randy Eckenrode | Apple today appears to do late-cycle changes in the x.4 release. We got hit by it in 15.4. 14.4 included some new APIs, and 26.4 also includes new APIs (and drops support for plain arm64-darwin stubs). Dropping the x86_64 stubs from the 27.4 would match that pattern. | 00:25:04 |
Randy Eckenrode | * | 00:25:12 |
Randy Eckenrode | * | 00:25:39 |
Randy Eckenrode | https://github.com/NixOS/nixpkgs/pull/519222 update to 26.5 SDK | 02:02:34 |
| @kleiber:matrix.org joined the room. | 07:52:54 |
| @kleiber:matrix.org left the room. | 10:01:43 |
| @tt:zirco.dev left the room. | 23:16:59 |