| 12 Jan 2026 |
Randy Eckenrode | This allows us to package specific versions and patch them. | 18:38:21 |
Randy Eckenrode | One might also note that swiftc is built three times. That is unfortunately necessary. The C++ bootstrap compiler is limited and buggy. I don’t think it’s intended to be used on Darwin. I have to take that then immediately turn around to build one that can deal with newer SDKs. I have no idea what we will do with the 14.4 SDK when it is dropped, but we might have to carry along a private copy for Swift. | 18:39:59 |
Randy Eckenrode | (Arguably four times because the stdlib isn’t really meant to be built separately.) | 18:40:34 |
Randy Eckenrode | Also note this branch includes KosmicKrisp and the stdenv cleanup. | 18:41:18 |
Randy Eckenrode | I could separate them but meh. | 18:41:22 |
Randy Eckenrode | I’m open to other ways of defining the stdlib package, but using overrideAttrs on swiftc is really convenient to share patches and stuff. | 18:41:58 |
Randy Eckenrode | Also, IIRC, lib.extendMkDerivation is the way to define new mkDerivation functions? | 18:43:24 |
Randy Eckenrode | * Also, IIRC, lib.extendMkDerivation is the preferred way to define new mkDerivation functions? | 18:43:33 |
Randy Eckenrode | I use lib.cmakeFeature "BOOTSTRAPPING_MODE" "HOSTTOOLS" because we’re manually orchestrating the build of the different stages rather than relying on Swift to do that for us (because it didn’t work IME). | 18:46:26 |
Randy Eckenrode | Also, most of the back-deployment stuff is gone. There’s no more Swift Concurrency due to the default deployment target being newer. The only exception is the Span compatibility shim, which is needed for versions older than macOS 26. | 18:47:29 |
Randy Eckenrode | I haven’t fully gotten around to cleaning up the swiftc postInstall stuff yet. Some of that won’t be needed once the stdlib split is complete. | 18:49:24 |
| isabel changed their profile picture. | 18:59:21 |
emily | wonder if we could upstream that? | 19:25:58 |