!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
1 Dec 2025
@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
@reckenrode:matrix.orgRandy EckenrodeBecause I’m going probably going to have to reproduce with the recommended build scripts and toolchains, which will require more than five minutes. Also, five minutes spent on that is time not spent on other things.18:11:21
@emilazy:matrix.orgemilywhich seems like it would be really easy to parse and just map to a stub error18:11:30

Show newer messages


Back to Room ListRoom Version: 6