-
-
Notifications
You must be signed in to change notification settings - Fork 14
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 Linux support #34
Add Linux support #34
Conversation
Co-authored-by: Lefteris Garyfalakis <[email protected]>
This is very cool and actually comes at the perfect time - I just set up an Ubuntu VM to look into building for Linux. |
That's great! Note that you don't need to do anything manually. Just run the script and it should work. If it doesn't, let us know! |
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.
Left some comments for my own benefit after this gets merged. I will make some edits but the script works well as-is.
I wonder if this script solves the distro problem - pyinstaller builds a binary for the platform you run it on, which is not guaranteed to run on any arbitrary Linux distro. Linux users are often technically capable, so maybe just letting them build their own binaries (with a Debian-compatible prebuilt as a fallback) would be the best solution.
Anyway, if you have thoughts or additional changes let me know! Otherwise I'll merge this tomorrow.
I'm going to try implementing some of the changes you have suggested. Yeah, it should be good tomorrow because I'm doing them right now. |
I have made a couple of improvements. Let me know if you are okay with that. |
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.
I did an experiment: pyinstaller cleans build/imd-gui
but not build/
, so it's safe to store files there. Eventually I might move all the build scripts into build/
so they aren't cluttering up the top-level directory, but I think it's also ok the way it is now.
I'll wait until tomorrow again to merge this, in case you have comments or final edits.
Great! Now everything should be in proper order. I applied all the fixes you suggested and also added some comments. I also took the opportunity to fix the YouTube link in the README. If you don't like it just revert the commit. I think that you can merge it now. |
Hi there! My friend and I noticed that this wonderful app lacks support for GNU/Linux.
We have created a custom bash script which checks and installs all the required dependencies and then builds the application from source. It checks if Python 3 and pip are installed. It can also automatically install pip for most Linux distros and if there is one we don't support (yet) it falls back to an alternative method which is distro-agnostic. Then it checks and installs the project dependencies as well. After that it proceeds to build the package while also actively monitoring the logs for any errors. Whether the build has succeeded or failed, it prints a message. If it has failed, it asks you if you want to see the log. The dependency checks only happen during the first run to avoid slowing down the build process after everything is setup. If the build fails for any reason (except if it has been aborted manually), the checks run again to ensure everything is working as it should. We have also updated the README.md to reflect all those changes.
Dependencies have been bumped as well, as this results in better performance (at least on Linux).
The end result is a binary file which runs on every distribution we have tested. Check our fork if you want to download and test it.
The script in action:

We hope you will find it useful and it integrates well with the project!
Thanks!