Dispatch inactivity and Swift bootstrapping

Swift ultimately requires a functional Swift toolchain to build the compiler. Even though there's a lot of the compiler still written in C++, it's a great milestone reached. But setting the minutiae of getting a bootstrap toolchain aside for a minute, in order to do this, you probably need to build swift-driver, which depends on Foundation, which depends on Dispatch.

Dispatch has a bunch of prs sitting that haven't been reviewed for a long while -- some that are necessary for portability changes, especially for new platform bringup. It's not really a great situation to have to write documentation that counsels or other build infrastructure that uses unsubmitted and unreviewed code to get Swift to build as part of regular process.

If I have not assessed the dependency problem correctly -- and in fact there's a way to sensibly get a useful Swift toolchain running without Dispatch -- do let me know. If Dispatch is truly at the bottom of the dependency tree, and it is nearly impossible to try and contribute meaningfully to Dispatch, then it certainly will remain the most frustrating aspect on trying to contribute to Swift. I hope that situation will change in the future.

3 Likes

I've gone ahead and nudged all your open swiftlang pulls, seven of them, whether running the CI or asking for a rebase. I ran OpenBSD and other BSDs as my desktop daily driver more than a decade ago, would be great to see Swift in the various BSD Ports collections of software.

1 Like

Thanks -- I do appreciate it -- though I bring this up not solely because of my experiences. One definitely gets the impression that Dispatch is somewhat neglected sometimes, and even if the community decides to step up to make changes, then it feels like there's no guarantee those changes would ever make it upstream.

I don't have any easy questions or answers about this, but I felt it worthwhile making some noise about this.

3 Likes