pygame-ce icon indicating copy to clipboard operation
pygame-ce copied to clipboard

MacOS: start shipping only a single universal2 build instead of separate x86_64 and arm64 builds

Open ankith26 opened this issue 4 months ago • 5 comments
trafficstars

When we added arm64 support keeping it separate from our x86_64 wheels made sense because we had to support old python/pip/packaging versions that did not handle universal2. Now it's been a few years, and it looks like the time we drop python 3.9 support will be the best time to do this change.

universal2 support was added in packaging v20.9 which was then vendored into pip v21.0.1 and python 3.10.0 is the first major release to vendor a newer pip at the time of its release. So we can safely assume all our users have new enough tooling to be able to install universal2 wheels.

Why?

  • Most of our wheel size is basically stuff that is not architecture dependent. Using one wheel instead of two saves our PyPI space.
  • Should hopefully save a bit of CI time.
  • Github is dropping their macos-13 runner. This is their last runner that runs on x86_64. Supporting x86_64 beyond that is going to require buildconfig changes on our end anyways. This is a good opportunity to do this change.

ankith26 avatar Jul 15 '25 09:07 ankith26