!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

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

Load older messages


SenderMessageTime
1 Dec 2025
@samasaur:matrix.orgsamasaurmy 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 SDK17:42:33
@reckenrode:matrix.orgRandy EckenrodeWe 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:matrix.orgsamasauryeah that's kinda what im thinking17:45:14
@samasaur:matrix.orgsamasaurbc a new SDK version is just a URL and hashes, right?17:45:32
@reckenrode:matrix.orgRandy EckenrodeThe 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
@emilazy:matrix.orgemilyI 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
@emilazy:matrix.orgemilythere'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
@emilazy:matrix.orgemilyall 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 definition17:48:55
@reckenrode:matrix.orgRandy EckenrodeI don’t think upstream intends Darwin to be bootstrapped this way.18:00:51
@reckenrode:matrix.orgRandy EckenrodeIt’s simply not a supported feature. As soon as the parser hits a macro definition, it bails.18:02:04
@emilazy:matrix.orgemilyit 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 them18:04:55
@emilazy:matrix.orgemilyright, what I mean is that they could simply defer that error to the use site, for the bootstrap compiler18:05:09
@emilazy:matrix.orgemilyit seems very cheap to just report and see if they care or not18:05:20
@emilazy:matrix.orgemilyif it was working up until the 26 SDK then I imagine they might have interest in keeping it working18:05:33
@emilazy:matrix.orgemilywould be a lot cleaner than worrying about keeping an SDK around for years18:05:48
@emilazy:matrix.orgemilyespecially if we get to the point of "new LLVM chokes on the old SDK now" etc.18:05:59
@emilazy:matrix.orgemily(or more plausibly, new Swift chokes on Swift parts of the old SDK)18:06:17
@reckenrode:matrix.orgRandy Eckenrode The problem is Foundation reexports Observable. That makes import Foundation immediately fail because it hits macros right away. 18:06:44
@emilazy:matrix.orgemilythey won't have any way of knowing that it matters for someone to have it work without us letting them know after all18:06:47
@emilazy:matrix.orgemilyit surely can't be hard to just skip over macro definitions when bootstrapping right?18:07:13
@reckenrode:matrix.orgRandy EckenrodeThe parser has no idea without support. It needs swift-syntax, which is written in Swift.18:07:52
@emilazy:matrix.orgemily(I mean, maybe it can be, but the people working on the Swift bootstrap would know better than I :) )18:07:53
@reckenrode:matrix.orgRandy EckenrodeIf we hit that point, we can bootstrap from a binary distribution or a know good one.18:08:03
@reckenrode:matrix.orgRandy EckenrodeI think it’a one guy working on it:18:08:23
@reckenrode:matrix.orgRandy Eckenrode * 18:08:27
@reckenrode:matrix.orgRandy Eckenrode * 18:08:42
@reckenrode:matrix.orgRandy Eckenrode * 18:09:35
@emilazy:matrix.orgemilyif we're planning ahead about things like a binary bootstrap or an old compiler or an old SDK I don't see why we shouldn't spend that effort on taking 5 minutes to open a bug report upstream…18:09:48
@toonn:matrix.orgtoonn Are you sure the macros are not used in any code hit during a compiler compile? 18:10:13
@emilazy:matrix.orgemily

are we talking about Foundation.framework/Versions/C/Modules/Foundation.swiftmodule/x86_64-apple-macos.swiftinterface? I see e.g.

@available(macOS 12, iOS 15, tvOS 15, watchOS 8, visionOS 1, *)
@freestanding(expression) public macro bundle() -> Foundation.Bundle = #externalMacro(module: "FoundationMacros", type: "BundleMacro")
18:11:17

Show newer messages


Back to Room ListRoom Version: 6