Open kswang1029 opened 2 years ago
I have some ideas.
We could simply place a packaged fits2idia executable beside the carta-backend executable in the CARTA Electron App. For example, in the CARTA v3.0.0 release, it would be located at:
/Applications/CARTA-v3.0.0/Contents/Resources/app/carta-backend/bin/fits2idia
.
We could mention in the documentation how the user could make an "alias" to run it.
I know you are thinking that is not an intuitive location, but there is a reason for it.
Just like the packaged carta_backend executable, the packaged fits2idia executable looks for its library files in ../lib
and it uses some of the same library files as the packaged carta_backend executable (namely libsz, libomp, libhdf5_cpp, libhdf5 and libcfitsio). Therefore, no additional library files would be needed. We would simply add the packaged fits2idia executable, which is 366KB in size. So it takes up minimal additional space in the package, and it can be simply ignored if the user does not wish to use it.
We could create a standalone signed and notarized fits2idia Mac Application. I have found a way to do this and it works. But I personally don't think it is a good solution. Mac apps require an icon and appear in the Launchpad. fits2idia is only a command line tool. Firstly we would need to design an icon. Secondly, users may click on the icon and wonder why it is not working. We would need to supply documentation to tell them they should make an alias to run it. The executable location would be: /Applications/fits2idia.app/Contents/Resources/fits2idia/bin/fits2idia
.
I originally thought Homebrew was the best solution, but I understand now that some users have trouble with it, particularly if they don't already use Homebrew for other things. For example, it is difficult to install Homebrew on macOS 10.15 now because it requires Xcode 12.4, and the App Store on macOS 10.15 no longer allows users to download Xcode. The only way to get it is to create an Apple Developer account. That is not ideal. But you can not deny that when Homebrew is working, it is the most intuitive way to install and run command line tools on Mac. The user installs it with brew install cartavis/tap/fits2idia
. It is automatically added to the $PATH, and then can simply be run from the terminal with fits2idia
. Homebrew can also easily deal with versioning and package updates.
as a stopgap we can also make a docker image for this, but the memory limits might be problematic.
As long as the installation step is simple (eg one liner) and robust (low or zero dependency), I don’t have a preference.
user feedback from v3 beta test
This is a request from v3 beta testers to have an easy way to install fits2idia on macOS.