17 Sep 2025 |
emily | haven't had any issues building anything on top of it for many weeks now | 01:28:43 |
Randy Eckenrode | Is freeze happening in two and a half weeks? Should I plan to ask for an exception for Swift? Specifically, I’m going to want to backport the update to 25.11. | 01:29:27 |
emily | I believe 2.5 weeks yes | 01:29:46 |
emily | we could just rename swift to swift_5 now | 01:30:08 |
emily | and then backport Swift 6 as swift | 01:30:12 |
emily | which would be non-breaking | 01:30:21 |
Randy Eckenrode | I don’t want to maintain Swift 5 though. | 01:30:34 |
Randy Eckenrode | Swift 6 itself isn’t breaking for Swift 5 code. The compiler will use the Swift 5 mode and compile it fine. | 01:30:49 |
emily | well, Swift 5 is unlikely to break during the stable cycle | 01:31:11 |
emily | since the kinds of updates that would break it won't happen | 01:31:18 |
emily | just thinking that's an easy breaking change we can make now that makes the backport non-breaking | 01:31:34 |
Randy Eckenrode | The breakage would be in dropping the wrapper. | 01:31:40 |
Randy Eckenrode | And deprecating/removing some of the old packages plus the new Swift packaging stuff. | 01:32:24 |
Randy Eckenrode | I could just say it’s going to slip to 26.05, but the risk is something that depends on Swift gets updated (like mpv). | 01:32:54 |
emily | in that case having Swift 6 backported as swift would solve it right? | 01:33:32 |
emily | like swift_5 would just lie around dormant for the release | 01:33:40 |
emily | and the Swift 6 interface would be the same across the two versions | 01:33:47 |
Randy Eckenrode | I’m thinking of going with Swift 6 slipping to 26.05. | 01:33:54 |
emily | if we just rename swift → swift_5 now and add a throw | 01:33:59 |
Randy Eckenrode | For Darwin in particular, people tend to use unstable anyway, so it’s only likely to be somewhat painful I guess. | 01:34:19 |
Randy Eckenrode | Technically, everything is working (more or less). | 01:34:32 |
Randy Eckenrode | Swift 5.8 may need SDK crimes, but we’ll see. | 01:34:56 |
emily | the only reason we can't backport it is because it changes the meaning of swift right? | 01:35:01 |
emily | so the rename solves that | 01:35:11 |
emily | we can still drop 5 when we add 6, it'd just stay in the stable branch for compat | 01:35:23 |
Randy Eckenrode | Swift will stop being a wrapper, and NIX_SWIFTFLAGS_COMPILE will no longer be supported. | 01:35:26 |
Randy Eckenrode | Also swiftpm will no longer do magic. You’ll need the hook. | 01:35:37 |
emily | yeah, but none of that will matter if that stuff is under swift_5 | 01:35:41 |
emily | it'll be swift going from a throw to Swift 6 | 01:35:50 |
Randy Eckenrode | So every package that currently depends on Swift would need a swift = swift_5; in its callPackage ? | 01:36:26 |