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

Provide simple installation for macOS #2731

Open
MattHag opened this issue Dec 27, 2024 · 5 comments
Open

Provide simple installation for macOS #2731

MattHag opened this issue Dec 27, 2024 · 5 comments

Comments

@MattHag
Copy link
Collaborator

MattHag commented Dec 27, 2024

Information

  • Solaar version: 1.1.14RC
  • Distribution: macOS

Is your feature request related to a problem? Please describe.
The support for macOS seems good enough to be useful and tested and on a broader audience. However, the lack of a simple distribution and setup plays against it.

Describe the solution you'd like
Provide one of the following

  • Brew installation brew install solaar
  • Official macOS setup instructions
  • Package with GUI installer

Additional context
With recently added Bluetooth support on macOS, the most important and useful features are finally also available on mac.

Related #1244

@vulpes2
Copy link
Contributor

vulpes2 commented Jan 5, 2025

Two common options for packaging a python application into a macOS bundle are py2app and briefcase. py2app seems kind of abandoned at this point as it still requires the long-deprecated setup.py, and briefcase doesn't seem to have good documentation on how to integrate it with an existing project. I'll play with briefcase in the upcoming week and see how far I can get with it.

Notarization is going to be the bigger hurdle here, but there seems to be some generous people who are willing to help out open source developers with notarization if we can figure out the packaging stuff: https://blog.glyph.im/2023/03/py-mac-app-for-real.html

@vulpes2
Copy link
Contributor

vulpes2 commented Jan 12, 2025

Tried playing with briefcase, haven't found a way to include native libs like hidapi in the application bundle yet, and there are no mentions of this particular use case in their docs for macOS. Filed an issue in their repo to find out what the options are when it comes to native stuff that aren't shipped as wheels on PyPI.

@vulpes2
Copy link
Contributor

vulpes2 commented Jan 13, 2025

Briefcase currently does not support bundling external native libraries: beeware/briefcase#485

What do you think of porting the hidapi code to use https://github.com/trezor/cython-hidapi instead? It looks reasonably trustworthy and eliminates the need to install hidapi as an external dependency across all platforms. So far the only blocker on macOS is trezor/cython-hidapi#178 which is trivial to resolve. I can give it a shot if you think this is a good idea.

@MattHag
Copy link
Collaborator Author

MattHag commented Jan 13, 2025

I would also use the library instead of the partial copy of the library. I already asked some weeks ago, what the reason for the self implementation was. Except from the API being different to the existing udev implementation, I see no big issue. I am all up for it, in conjunction with a fake for testing, that allows to abstract the whole hardware.
This also relates to #2480.

@vulpes2
Copy link
Contributor

vulpes2 commented Jan 13, 2025

Sounds good, I'll fix the linked issue in cython-hidapi first and try to port solaar to use cython-hidapi, it should be reasonably straightforward.

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