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

maybe adapt Mac build script to macOS 10.15 madness #6128

Closed
SomberNight opened this issue Apr 29, 2020 · 3 comments
Closed

maybe adapt Mac build script to macOS 10.15 madness #6128

SomberNight opened this issue Apr 29, 2020 · 3 comments
Assignees
Milestone

Comments

@SomberNight
Copy link
Member

macOS 10.15 "Catalina" continues the walled garden lock-down tradition of Apple,
in turn making things harder for developers, again.

see pyinstaller/pyinstaller#4629

You can't notarize the app if it's not hardened runtime
and you can't distribute the app to Catalina users if it's not notarized


AFAIU:

  • to make the app run on macOS 10.15
    • when signing the app, we need to enable hardened runtime
    • we need to "notarize" the app with Apple's central server
  • during the build, to enable hardened runtime, we need to build on at least macOS 10.14
    • however this means the app will not run on older macOS

Options:

  1. We could build two binaries, a modern and a legacy/compat one.
    The modern binary would be built on either 10.14 or 10.15, and we would try to comply with all the maddeningly more and more complex quirks they want.
    The legacy binary would be built on 10.11 (as now), without any of the new requirements they impose.
    Then, users of modern Macs would use the modern binary, and users of older Macs could use the legacy binary.

  2. We could build just a modern binary, that only runs on new Macs.

  3. We could build just a legacy binary which is effectively what our current build script does. This runs on old Macs; and can be made to run on modern Macs too, at least for now, but the users need to go deep into the system settings every time they want to run such a binary for the first time.

  4. We could even stop building binaries for MacOS completely because what Apple is doing is increasingly frustrating and is taking up non-negligible time of ours.

@ecdsa
Copy link
Member

ecdsa commented Apr 29, 2020

if we choose option 2, what is the lowest version it would run on?
note: https://gs.statcounter.com/macos-version-market-share/desktop/worldwide

@SomberNight
Copy link
Member Author

SomberNight commented Apr 29, 2020

If we build on macOS 10.14, I don't think there is any guarantee that it runs on older Macs than that.
In practice I have tested now, and such a binary also seems to run on macOS 10.13 (but not 10.12).

@ecdsa
Copy link
Member

ecdsa commented May 1, 2020

I think option 2 is reasonable.
option 1 is adding too much complexity.

SomberNight added a commit to SomberNight/electrum that referenced this issue May 14, 2020
Now that we increased the min supported macOS version re spesmilo#6128 anyway.
Per spesmilo#3685 (comment),
Qt 5.14 needs at least macOS 10.13
SomberNight added a commit to SomberNight/electrum that referenced this issue May 14, 2020
Now that we increased the min supported macOS version re spesmilo#6128 anyway.
Per spesmilo#3685 (comment),
Qt 5.14 needs at least macOS 10.13
SomberNight added a commit that referenced this issue May 14, 2020
Now that we increased the min supported macOS version re #6128 anyway.
Per #3685 (comment),
Qt 5.14 needs at least macOS 10.13
sidhujag pushed a commit to syscoin/electrumsys that referenced this issue May 17, 2020
Now that we increased the min supported macOS version re spesmilo#6128 anyway.
Per spesmilo#3685 (comment),
Qt 5.14 needs at least macOS 10.13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants