Phase Out Xcode Dependency GSOC Project Update

Satryaji Aulia satraul at
Thu Jul 25 17:27:12 UTC 2019

Hi all,

We've solved all known existing problems in macports-base master
relating to the Xcode changes.
1. Ports use Xcode's SDK when we want to prefer CLT instead
We now check first for CLT SDKs if port isn't Xcode-dependent. CLT
SDKs for macOS mirror the ones shipped with Xcode.

2. Ports in `xcodversion 1.0` PortGroup were failing to install
We explicitly set Xcode dependency using `use_xcode yes` for that
PortGroup. This assumes all `xcodeversion` ports need Xcode.

3. Ports with `system -W` calls use Xcode binaries when want to prefer
CLT instead
We now export the needed environment variable specific to those { } blocks.
We had to set the global Tcl env array since the { } blocks don't run
using the normal environment set by MacPorts. This solution is new
(cmiiw) so maybe it can solve some other problems related to
environment variables.

I'm doing some additional testing to discover any more problems if any.


On Fri, Jul 19, 2019 at 2:13 AM Clemens Lang <cal at> wrote:
> Hi,
> On Wed, Jul 17, 2019 at 01:03:26PM +0700, Satryaji Aulia wrote:
> > There’s no existing code in port 1.0 that accesses a PortGroup
> > (besides lint which parses the file) so I assume that change needs to
> > be for macports-ports right? When do we make this change?
> Correct. We can make the change in a forward-compatible manner by first
> checking whether use_xcode exists, similar to what I've done with the
> code snippet that checks for the existence of configure.developer_dir.
> > Also I’ve submitted the PRs for the previous problems. The second
> > one’s a draft PR since it doesn’t work yet. [1,2]
> > Please take a look.
> Done, please address Joshua's comments in #135, then it would be good to
> go from my PoV.
> --
> Clemens

More information about the macports-dev mailing list