Skip to content

macOS: lower deployment floor to macOS 11 (Big Sur) - #1162

Merged
mrimer merged 1 commit into
CaravelGames:masterfrom
TomBrouws:macos-build-fixes
Jul 6, 2026
Merged

macOS: lower deployment floor to macOS 11 (Big Sur)#1162
mrimer merged 1 commit into
CaravelGames:masterfrom
TomBrouws:macos-build-fixes

Conversation

@TomBrouws

Copy link
Copy Markdown
Contributor

The build targeted macOS 15, which needlessly excluded every Intel Mac and anyone not on the latest OS. macOS 11 is the first Apple Silicon release and the current Steam client minimum, so it's a sensible floor that widens hardware reach for the universal (x86_64 + arm64) build.

  • Drop MACOSX_VERSION_MIN and the build scripts' DEPLOY default from 15.0 to 11.0; all third-party deps are rebuilt from source for the 11.0 target.
  • Declare LSMinimumSystemVersion in Info.plist (substituted from DEPLOY) so the floor is enforced with a clear message, not just the Mach-O minos.
  • Fix metakit's clean build, exposed by rebuilding deps from scratch: its Makefile invokes $(RANLIB) but never defines it, and make has no built-in default (unlike AR), so the archive step ran a bare "libmk4.a" and failed. Pass AR=ar RANLIB=ranlib to metakit's make.
  • Sign the app inside-out (not --deep) so the ad-hoc seal is valid, fixing local Steam builds that Gatekeeper otherwise rejected as "damaged".

The build targeted macOS 15, which needlessly excluded every Intel Mac and
anyone not on the latest OS. macOS 11 is the first Apple Silicon release and the
current Steam client minimum, so it's a sensible floor that widens hardware
reach for the universal (x86_64 + arm64) build.

- Drop MACOSX_VERSION_MIN and the build scripts' DEPLOY default from 15.0 to
  11.0; all third-party deps are rebuilt from source for the 11.0 target.
- Declare LSMinimumSystemVersion in Info.plist (substituted from DEPLOY) so the
  floor is enforced with a clear message, not just the Mach-O minos.
- Fix metakit's clean build, exposed by rebuilding deps from scratch: its
  Makefile invokes $(RANLIB) but never defines it, and make has no built-in
  default (unlike AR), so the archive step ran a bare "libmk4.a" and failed.
  Pass AR=ar RANLIB=ranlib to metakit's make.
- Sign the app inside-out (not --deep) so the ad-hoc seal is valid, fixing
  local Steam builds that Gatekeeper otherwise rejected as "damaged".
@mrimer
mrimer merged commit 5c0c047 into CaravelGames:master Jul 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants