Repository navigation
Bundle SDL3 for sdl2-compat and smoke-test the signed Mac app - #5
Merged
Merged
Conversation
Homebrew's sdl2 is now sdl2-compat, which loads SDL3 at startup. Only the shim was bundled, so the released app showed an error dialog and never started. Bundle libSDL3.dylib beside it (where the shim looks first) and sign it with the rest. Also launch the signed app in screenshot mode before notarising, and fail if it doesn't render a frame within 30 seconds, and always configure the release build fresh so a stale CMake cache can't break it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Found while shipping 1.2.0. The published Mac build was made with this script.
Homebrew's
sdl2formula is now sdl2-compat, a shim that implements SDL2 on top of SDL3 and loads SDL3 when it starts.build_release.shbundled only the shim, so inside the app it couldn't find SDL3, showed a modal error dialog while loading, and the game never started. Notarisation and Gatekeeper don't run the app, so both still passed.libSDL3.0.dylibasContents/Frameworks/libSDL3.dylib, the first place the shim looks, and sign it along with the rest.HOME) and fail after 30 seconds, since a missing library shows a dialog instead of exiting.🤖 Generated with Claude Code