Skip to content
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

script/bootstrap should setup all supported Xcode versions (currently 14.2+) to build using script/build #674

Open
rgoldberg opened this issue Dec 11, 2024 · 5 comments
Labels
🗣 awaiting reply 🧽 chore Administrative task: documentation, build, test, release, git, etc.
Milestone

Comments

@rgoldberg
Copy link
Contributor

script/bootstrap should setup all supported Xcode versions (currently 14.2+) to build using script/build.

@rgoldberg rgoldberg added the 🧽 chore Administrative task: documentation, build, test, release, git, etc. label Dec 11, 2024
@GwynethLlewelyn
Copy link

Please also consider supporting XCode 13.2.1 for those of us still stuck to Intel chips on outdated hardware.

According to Statista, in February 2024, macOS Catalina was still used by 95% (aye, 95%, that's not a typo) of all macOS users:

Since Apple's macOS Catalina (10.15) was released in October 2019, it did not take long until it became the most used version of macOS. As of February 2024, macOS Catalina commanded a staggering 95 percent market share of all Apple computers worldwide.

However, note the disclaimer:

According to the source, Apple has been reporting Big Sur 11 as Catalina 10.15, making the macOS Catalina market share higher than what it actually is.

That makes sense for many reasons, namely, few Macs cannot really upgrade from Catalina to Big Sur — but the actual number of those should be next-to-zero these days.

So, why are we all stuck with Catalina/Big Sur? It's simple: Big Sur is the last version of macOS to fully support Nvidia cards. The last Mac with an Nvidia card is the MacBook Pro (Retina, 15-inch, Mid-2014) — what I'm using now. Apple dumped Nvidia afterwards, never realising (or possibly not caring) how vital Nvidia became in the past decade. Some applications (and I have a few of those) will simply not work on anything else — except on the 'OpenGL emulation mode' which is a truly painful experience when you have a state-of-the-art machine.

Apple is not really reverting their decision to go back to Nvidia, so we're stuck with ten-year-old hardware and next-to-zero 'official' OS support.

Fortunately, the majority of application developers (especially those relying on full Nvidia compatibility) are keen to ignore Apple's official stance of not supporting anything beyond the last three macOS versions.

The last version of mas that still works on Intel hardware is 1.8.5; the newer versions after that are not universal binaries any longer, and require recompiling, which will not work without XCode 14.2+ — which will simply not work under Big Sur and below.

This is true for your Homebrew tap, your pre-generated bottles, and your packaged variants — anything newer only comes with the ARM variant.

@rgoldberg
Copy link
Contributor Author

@GwynethLlewelyn The release procedure newly made for 1.8.7 had problems.

I am now overhauling the release procedure myself for 1.8.8. Apologies for any terseness in the notes in the issue #638, as they're mainly there for communicating with @phatblat, since I want to get approval for the many changes my 1.8.8 release overhaul is making to his 1.8.7 release overhaul. My notes might be out of date from my most recent research / plans.

The 1.8.8+ release process will publish correct executables for all platforms & supported macOS versions (10.13+), assuming Apple tools properly enforce version compatibility (Apple tools are buggy).

It'll be best to watch the project for new releases to know when 1.8.8 is released. I'm trying to see if we can add bottles for macOS 12 & older to our homebrew-core formula; if so, you'll then be able to install via that. If not, you'll be able to install via our custom tap or via the package installer.

The released mas 1.8.6 should work on macOS 10.15. Can you let me know what doesn't work about it?

As you alluded to in your comment, Catalina does not have a 95% market share. Catalina or newer is 95%. See the note about all macOS versions after 10.15 being reported as 10.15, near the top of https://gs.statcounter.com/os-version-market-share/macos/desktop/worldwide. Despite Catalina being a small market share, we still want to support it, and will do so once again after the release process has been fixed.

@GwynethLlewelyn
Copy link

@rgoldberg

The released mas 1.8.6 should work on macOS 10.15. Can you let me know what doesn't work about it?

It should... if I had a Mac with an Apple Silicon CPU :)

As it stands, I only get a Mach-O 64-bit executable arm64 — neither a universal binary nor an Intel version...

(And, of course, I cannot compile it from the sources, lacking the ability to install Xcode 14.2...)

@rgoldberg
Copy link
Contributor Author

rgoldberg commented Dec 24, 2024

@GwynethLlewelyn

It should... if I had a Mac with an Apple Silicon CPU :)

As it stands, I only get a Mach-O 64-bit executable arm64 — neither a universal binary nor an Intel version...

How are you "getting" mas?

The 1.8.6 release includes an installer for a universal binary.

1.8.7 is the release that included only arm64 binaries.

My release overhaul will be done soon. When ready, 1.8.8 will be released. The GitHub Release will provide a universal installer, while the Homebrew custom tap will provide platform-specific bottles.

@rgoldberg
Copy link
Contributor Author

rgoldberg commented Dec 27, 2024

@GwynethLlewelyn mas 1.8.8 was released.

The Homebrew custom tap now provides correct platform-specific binaries for both arm64 & x86_64.

The .pkg installer from the GitHub Release installs a Universal 2 binary.

Please let me know if it works for you. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🗣 awaiting reply 🧽 chore Administrative task: documentation, build, test, release, git, etc.
Projects
None yet
Development

No branches or pull requests

2 participants