-
-
Notifications
You must be signed in to change notification settings - Fork 20
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
Add native ARM macOS build #707
Conversation
Hi & thanks a lot! I will review later, but for now it seems this somehow broke the MacOS Intel based build? I'm not entirely sure I understand the error. The formatting error is unrelated, Black had a major update, I'll open a separate PR to address that. |
That's odd, I didn't really change anything that would cause issues in the Intel build. My own test run shows a timeout while downloading dependencies from Homebrew, so I guess the build is probably just flaky. |
The log archive shows that it's a compile error:
According to brew.sh, this formula isn't compatible with Big Sur, so I guess I'll just update from |
9bd3c41
to
9e1bf98
Compare
@tech-ticks Can you run your changes to main.py through the latest version of the |
eb4ffea
to
0d774a7
Compare
0d774a7
to
52243f4
Compare
I've reformatted the file with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great! Again, thank you!
Adds a new GitHub Actions job to generate native binaries for ARM Macs using the new
macos-14
runner.The most annoying difference is that all app bundles must be signed to run on Apple Silicon Macs (self-signed certificates are fine). PyInstaller already takes care of signing, but macOS refuses to load app bundles that were tampered with. Thus, we can't copy shell scripts or other files into the bundle after its creation anymore (I tried re-signing it, but I couldn't get it to work). The easiest workaround to get things running was adding code to setup environment variables in
main.py
instead, so that's what I did. I didn't include code from the wrapper script that reads the system language because SkyTemple seems to detect the language without it.I didn't test every single feature (consider this a "beta version"), but the general UI and debugger seemed to work fine. The only issue I've noticed is an error while loading the spellchecker (which might also be present in the Intel version because barely anyone uses this feature):