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

[macOS] Only run Mono in 32bit mode when the GUI is launched #2893

Merged
merged 1 commit into from
Oct 21, 2019

Conversation

DasSkelett
Copy link
Member

@DasSkelett DasSkelett commented Oct 19, 2019

Motivation

The release of macOS Catalina marked the death of 32-bit applications on Apple's platform.
This means, our GUI is no longer runnable on macOS due to Mono's WinForms implementation being 32-bit only:

#2270 hardcoded --arch=32 as argument for Mono, which now prevents users from using the CUI or TUI, if they want to.

Changes

Now there's a check for arguments in the launch script for macOS. If it's none or gui, the flag --arch=32 is used for Mono, else it's --arch=64.

Mono's man page says the following, just FYI:

--arch=32, --arch=64
(Mac  OS  X only): Selects the bitness of the Mono binary used, if available.
If the binary used is already for the selected bitness, nothing changes.
If not, the execution switches to a binary with the selected bitness suffix installed side by side
(for example, '/bin/mono --arch=64' will switch to '/bin/mono64' if '/bin/mono' is a 32-bit build).

If I understood it right that .apps behave like executables, it should enable to run ckan.app consoleui and more again.
Correct me if I'm wrong please.

Problems

This breaks commands like ckan --verbose (on macOS only, of course), which normally should run the GUI with verbose logging in the console. But I don't think a lot of people used this, and they can still add gui in the middle to make it work again, so ckan gui --verbose.

Also, I did NOT test this, since I'm lacking Apple hardware and as far as I know does Apple a good job preventing macOS to work in VMs.

@DasSkelett DasSkelett added Easy This is easy to fix GUI Issues affecting the interactive GUI macOS Issues specific for macOS Mono Issues specific for Mono Package: dmg Issues affecting macOS packaging labels Oct 19, 2019
@HebaruSan HebaruSan merged commit 14024a8 into KSP-CKAN:master Oct 21, 2019
@DasSkelett DasSkelett deleted the fix/macosonly32bit branch October 21, 2019 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Easy This is easy to fix GUI Issues affecting the interactive GUI macOS Issues specific for macOS Mono Issues specific for Mono Package: dmg Issues affecting macOS packaging
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants