Hi Ryan,
> On Sep 24, 2018, at 2:22 AM, Ryan Schmidt <[email protected]> wrote: > > The release of macOS Mojave is imminent and I want to make sure we do the > right thing for the first release of MacPorts on Mojave. Let me know if you > have any thoughts about the below. > > Ideally I would like to keep the ability to build 32-bit ports in MacPorts on > Mojave, mainly because I don't want my wine ports to stop working. The checks > that currently set universal_archs to only x86_64 on 10.14 would be bumped to > 10.15. > > The 10.13 (or earlier) SDK would have to be used when building 32-bit. I have > a port for installing SDKs which I will finish up and submit as a PR. Here is > the preliminary port: > > https://github.com/ryandesign/macports-ports/blob/MacOSX.sdk/devel/MacOSX.sdk/Portfile > > I would then like to modify base so that if configure.sdk_version is set to a > version that is not provided by Xcode or the command line tools, it will use > one provided by a subport of the MacOSX.sdk port instead of generating an > error as it currently does. And also, if we are building for 32-bit on > Mojave, default to the 10.13 SDK. Here is a preliminary version of those > changes: > > https://github.com/ryandesign/macports-base/commits/MacOSX.sdk > > This should allow those few 32-bit-only ports, and wine which requires a > universal build, to continue to be usable on Mojave. But I have not tested > this on Mojave yet. > > This should also allow us to fix build failures of a variety of ports on > older systems that need newer SDKs, such as textmate2. > > This will give us the year until 10.15 is released to figure out the solution > to disabling the universal variant when it won't work > (https://trac.macports.org/ticket/57133). > > Either now for 10.14 if the above is unworkable, or at the latest for 10.15, > we still have the problem that upgrading users will have macports.conf files > that say "universal_archs x86_64 i386" but new installations will say > "universal_archs x86_64". Most of the settings that we write into > macports.conf are commented out so that defaults take effect, but for some > reason universal_archs is one of the few settings where we don't comment it > out. If we do nothing in base to handle this, we'll have to write a > ProblemHotlist entry and probably constantly guide users through making this > change. > > There is also the problem that the --with-universal-archs MacPorts configure > flag affects not only the universal_archs macports.conf setting but also the > archs used to build the darwintrace part of MacPorts base. On Mojave I think > we want to be able to build MacPorts base x86_64 only, but have > universal_archs in macports.conf be x86_64 i386. Building base universal > x86_64 i386 is possible on Mojave using the 10.13 SDK which we could manage > when building the binary installers, but it's not going to work for users > when they run selfupdate and the 10.13 SDK isn't there. This looks great! Thank you for working on this issue. I look forward to trying it on the release of Mojave soon. I am curious about the solution that the Crossover project has in mind for wine on 64-bit. Cheers! Frank
