It came to my attention that the free ¡°GitHub Actions¡± build service, which can be configured to run each time there¡¯s a new commit, now supports macOS. I¡¯ve just done a long series of experiments to see if it could compile XEphem.
The result: I was able to get it compiled!
But I don¡¯t know if the resulting binary would really run, because I¡¯ve not worked out whether GitHub Actions can somehow be induced to run a ¡°headless¡± X server.
First I edited the Makefile so that the Linux/Mac section looks like:
(Note that make is NOT provided with a MOTIF= argument in this case.)
Some questions for the folks on this email thread:
Is anyone interested in trying this locally? I wonder if the resulting binary would run.
If we discover this does produce a working executable, are these realistic instructions for the INSTALL file? Can we just show users the three brew install ... commands and have them happily compile? Or is brew not an option for most macOS users, and they will continue to be stuck with MOTIF=../../libXm/osx and the Xprint extension errors that it gives on modern macOS? (I tried installing brew on my old MacBook here at home but it said my MacBook is too old, so I have no way to verify locally what kind of binary the above instructions might produce on a real laptop.)
It¡¯s just occurred to me that maybe I could ask GitHub Actions to give me back the compiled binary when it¡¯s finished? If we built one that¡¯s statically linked, maybe this could produce a binary for macOS folks with each XEphem release that they could use without having to compile it themselves. Do any of you know how to produce binaries that work across different macOS versions?
In any case, I¡¯m happy at least that these build steps seem to provide a way to automatically verify, on each commit, that XEphem still at least successfully compiles under macOS, without users having to find out for themselves later that something broke.
What I don¡¯t know, since I¡¯m not a macOS user, is whether these successful compile steps might be the basis for real users getting it compiled themselves.