!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

1167 Members
“There are still many issues with the Darwin platform but most of it is quite usable.” — http://yves.gnu-darwin.org189 Servers

Load older messages


SenderMessageTime
2 Dec 2025
@reckenrode:matrix.orgRandy Eckenrode *
swiftpm>     /nix/store/v86inqkxp9l2hk5z3laa6mlzpn8877y1-apple-sdk-15.5/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/swift/_Concurrency.swiftmodule/arm64e-apple-macos.swiftinterface:29:40: error: macros are not supported in this compiler
swiftpm>     @freestanding(expression) public macro isolation<T>() -> T = Builtin.IsolationMacro
swiftpm>                                            ^
swiftpm>     /nix/store/v86inqkxp9l2hk5z3laa6mlzpn8877y1-apple-sdk-15.5/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/swift/_Concurrency.swiftmodule/arm64e-apple-macos.swiftinterface:4439:72: error: macros are not supported in this compiler
swiftpm>     @attached(accessor) @attached(peer, names: prefixed(`$`)) public macro TaskLocal() = #externalMacro(module: "SwiftMacros", type: "TaskLocalMacro")
01:39:49
@reckenrode:matrix.orgRandy Eckenrode Great. The 15.5 SDK has the TaskLocal change. 01:39:59
@emilazy:matrix.orgemilyhow is it defined in the 14.x SDK?01:52:07
@emilazy:matrix.orgemilyhttps://github.com/swiftlang/swift/pull/70902#pullrequestreview-183318911001:53:17
@emilazy:matrix.orgemilyfwiw, it looks like it was an issue for Android too.01:53:23
@emilazy:matrix.orgemilyand it's now conditional https://github.com/swiftlang/swift/commit/8d67a3723146c417a1986febfb207d1fe962a0d801:54:11
@emilazy:matrix.orgemilyperhaps a later version of the SDK will pick that up?01:54:19
@emilazy:matrix.orgemily (maybe not, if the .swiftinterface is after that) 01:55:46
@reckenrode:matrix.orgRandy EckenrodeIt’s a property wrapper. They changed it to a macro in Swift 6.0.01:56:07
@reckenrode:matrix.orgRandy Eckenrodehttps://github.com/swiftlang/swift/blame/36a3c6e61101419f4557781da79f291445cdfa1b/stdlib/public/Concurrency/TaskLocal.swift#L17-L3001:58:03
@emilazy:matrix.orgemily

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 –

shion:~/Developer/swift  (empty) (no description set)
❭ rg macro_unsupported
include/swift/AST/DiagnosticsSema.def
8083:ERROR(macro_unsupported,none,

lib/Sema/TypeCheckMacros.cpp
247:  macro->diagnose(diag::macro_unsupported);
1253:    ctx.Diags.diagnose(loc, diag::macro_unsupported);
1616:    attachedTo->diagnose(diag::macro_unsupported);
1761:                       diag::macro_unsupported);

lib/Sema/TypeCheckDeclPrimary.cpp
1189:  ctx.Diags.diagnose(initExpr->getLoc(), diag::macro_unsupported);

I wonder what happens if you just make these emit a warning rather than an error.

01:58:18
@emilazy:matrix.orgemily(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
@reckenrode:matrix.orgRandy Eckenrode 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
@emilazy:matrix.orgemily 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
@reckenrode:matrix.orgRandy EckenrodeThat works for Concurrency, but it doesn’t work for Foundation.02:00:34
@emilazy:matrix.orgemilywell, 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
@reckenrode:matrix.orgRandy EckenrodeBuilding swift-corelibs-foundation on Darwin isn’t really supported by upstream.02:02:55
@reckenrode:matrix.orgRandy EckenrodeTheir Swift-based Foundation is a subset of the full Foundation APIs.02:03:08
@reckenrode:matrix.orgRandy EckenrodeI’m getting crashes in the compiler. The C++ bootstrap just isn’t ready for use yet.02:07:00
@reckenrode:matrix.orgRandy EckenrodeOh, 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
@reckenrode:matrix.orgRandy EckenrodeOh, right. It does wrapper crimes.02:19:16
@samasaur:matrix.orgsamasaurit also doesn't work on linux at the moment02:19:40
@samasaur:matrix.orgsamasaurhttps://github.com/NixOS/nixpkgs/issues/461474 or https://github.com/NixOS/nixpkgs/issues/462451 (i think they're the same issue)02:20:35
@emilazy:matrix.orgemilymaybe a 6.2 binary might be an easier stopgap while the bootstrap compiler bakes02:22:15
@samasaur:matrix.orgsamasaurif anybody has ideas about that issue, do let me know; it's entirely unfamiliar to me02:28:57
@reckenrode:matrix.orgRandy EckenrodeI’m going to try applying https://github.com/swiftlang/swift/pull/83211.02:41:00
@reckenrode:matrix.orgRandy Eckenrodehttps://github.com/swiftlang/swift/issues/8301802:41:47
@reckenrode:matrix.orgRandy EckenrodeI 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
@reckenrode:matrix.orgRandy Eckenrode There are .pkg files on the Swift website. 02:43:10
@reckenrode:matrix.orgRandy EckenrodeI didn’t try seeing whether we can extract those or not.02:43:19

Show newer messages


Back to Room ListRoom Version: 6