#44900: Installation of Xcode should be better than Homebrew's process --------------------------+-------------------------------- Reporter: tal@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: 2.3.1 Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by ryandesign@…): Ok, I've taken a look at the video. Thanks. It shows the terminal command for installing Homebrew itself being entered and run. This causes `xcode- select --install` to run which pops up the dialog box asking the user if they would like to install the command line tools. The terminal window asks the user to press a key when the command line tools have been installed. Afterward, Homebrew itself gets installed, and it is shown that a package can then be installed using Homebrew. I didn't see anything in the video about accepting the Xcode license agreement. MacPorts is of course installed via an installer package, not via the command line. The MacPorts installer package is supposed to require that Xcode already be installed. If it isn't, it's supposed to tell the user that, so that they can go install Xcode, then run the MacPorts installer again. Our method for detecting the presence of Xcode failed when Mavericks was released, so there was a time on Mavericks where our installer did not properly detect the absence of Xcode and erroneously allowed the user to proceed without it. I hope we have fixed that in the mean time. Historically (i.e. on Snow Leopard and earlier) the command line tools were part of the Xcode installation. The MacPorts installer checks for that as well, on those older systems, but I get the impression we're not checking for it on newer systems (i.e. the method for detection must have changed). Perhaps we should update that code. The reason we require Xcode and the command line tools to already be installed when the MacPorts installer runs is that the MacPorts installer finishes by running "sudo port selfupdate", which, if the user used an outdated MacPorts installer package, would cause the current version of MacPorts to be downloaded and compiled, for which of course a compiler must already be installed. Downloading Xcode has historically required the user to register for at least the free level of Apple developer account; MacPorts could not automate this. These days you can get Xcode from either the Apple developer web page or via the Mac App Store, but both do require the user to present their credentials. Last I checked (which was years ago), the installer did not give packages very much control. A package either succeeds, or fails at some point. The error message can be customized, but beyond that the behavior cannot. It would be nice if the MacPorts installer could detect the absence of Xcode and in response direct the user to the MacPorts installation instructions, from which we link to Xcode downloads, but I don't believe the installer gives us the possibility to do that. -- Ticket URL: <https://trac.macports.org/ticket/44900#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X