Skip to content

Swiftly should not require xcrun to work #322

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
0xTim opened this issue Apr 15, 2025 · 1 comment
Open

Swiftly should not require xcrun to work #322

0xTim opened this issue Apr 15, 2025 · 1 comment

Comments

@0xTim
Copy link
Member

0xTim commented Apr 15, 2025

When installing Swift on a fresh macOS install, I can go to swift.org and follow the instructions to install Swift via Swiftly. This is awesome! I soon have swift installed on my system and swift --version works! 🎉

However, actually trying to use it fails, e.g. with a swift package init with the error saying no developer tools were found, I should install them, referring to xcode-select etc.

Swiftly should at least automatically install the developer tools if it needs them otherwise the user experience is a bit jarring and might put people off Swift. Ideally Swiftly wouldn't even need them. Why do I need to know about Xcode and xcrun if I don't want Xcode? Etc

(I'm aware there are plenty of historical reasons why these are all tied together and this is part of a longer journey of Swift decoupling itself from it's Apple-platform-only development and may require changes in Swift)

@cmcgee1024
Copy link
Member

Note that the open source macOS toolchains available from swift.org will require at least the command-line tools to be installed so that there is the macOS SDK available. See #312 for an example of the dependency of the toolchain on a libc++.

Initially, it was assumed that because the command-line tools are normally installed on developer machines because things like homebrew depend on it. Swiftly could help the user to get the minimal system dependencies installed like it does for Linux, so that might be the command line tools as a basic dependency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants