Nix on macOS | 1151 Members | |
| “There are still many issues with the Darwin platform but most of it is quite usable.” — http://yves.gnu-darwin.org | 183 Servers |
| Sender | Message | Time |
|---|---|---|
| 2 Dec 2025 | ||
| Swift Build requires the 15.x SDK because of course it does. 😞 | 01:33:16 | |
| 01:39:39 | |
*
| 01:39:49 | |
Great. The 15.5 SDK has the TaskLocal change. | 01:39:59 | |
| how is it defined in the 14.x SDK? | 01:52:07 | |
| https://github.com/swiftlang/swift/pull/70902#pullrequestreview-1833189110 | 01:53:17 | |
| fwiw, it looks like it was an issue for Android too. | 01:53:23 | |
| and it's now conditional https://github.com/swiftlang/swift/commit/8d67a3723146c417a1986febfb207d1fe962a0d8 | 01:54:11 | |
| perhaps a later version of the SDK will pick that up? | 01:54:19 | |
(maybe not, if the .swiftinterface is after that) | 01:55:46 | |
| It’s a property wrapper. They changed it to a macro in Swift 6.0. | 01:56:07 | |
| https://github.com/swiftlang/swift/blame/36a3c6e61101419f4557781da79f291445cdfa1b/stdlib/public/Concurrency/TaskLocal.swift#L17-L30 | 01:58:03 | |
| I wonder if building against the version of the libraries in the Swift sources rather than using the SDK for the bootstrap would solve it – since the conditional is there in the source. alternatively –
I wonder what happens if you just make these emit a warning rather than an error. | 01:58:18 | |
| (ofc, not a good long-term solution to patch like that, but it's something that we could go to upstream about) | 01:58:37 | |
The guard isn’t in the swiftinterface. Either Apple strips it from their SDK build, or it doesn’t get put in there. | 01:59:29 | |
yeah, I guess the guards are processed before generating the .swiftinterface. so making the compiler not immediately die when it sees a macro definition, and avoiding the .swiftinterfaces in favour of the source code when bootstrapping, are the two options there. | 02:00:25 | |
| That works for Concurrency, but it doesn’t work for Foundation. | 02:00:34 | |
| well, they do have their FOSS Foundation, right? but yeah, making the macro definitions not immediately kill it seems like the easier thing to try. | 02:01:25 | |
| Building swift-corelibs-foundation on Darwin isn’t really supported by upstream. | 02:02:55 | |
| Their Swift-based Foundation is a subset of the full Foundation APIs. | 02:03:08 | |
| I’m getting crashes in the compiler. The C++ bootstrap just isn’t ready for use yet. | 02:07:00 | |
| Oh, neat. LLVM 16 was removed. That’s going to make building Swift 5.10.1 suck. Maybe I’ll just copy the existing derivation for bootstrap purposes. | 02:17:57 | |
| Oh, right. It does wrapper crimes. | 02:19:16 | |
| it also doesn't work on linux at the moment | 02:19:40 | |
| https://github.com/NixOS/nixpkgs/issues/461474 or https://github.com/NixOS/nixpkgs/issues/462451 (i think they're the same issue) | 02:20:35 | |
| maybe a 6.2 binary might be an easier stopgap while the bootstrap compiler bakes | 02:22:15 | |
| if anybody has ideas about that issue, do let me know; it's entirely unfamiliar to me | 02:28:57 | |
| I’m going to try applying https://github.com/swiftlang/swift/pull/83211. | 02:41:00 | |
| https://github.com/swiftlang/swift/issues/83018 | 02:41:47 | |
| I tried looking at where Swiftly downloads toolchains. There’s no platform definition for Darwin. I don’t know if it’s installing from Xcode or what. | 02:42:22 | |