-
Notifications
You must be signed in to change notification settings - Fork 258
CI Binary instructions
Before reading this page, see also https://github.com/bcpierce00/unison/wiki/Obtaining-Unison-Sources-and-Binaries
Before reporting an issue about the CI binaries or anything, please thoroughly read and understand https://github.com/bcpierce00/unison/wiki/Reporting-Bugs-and-Feature-Requests
Each CI build has been done on a particular operating system version. Except for macOS, there is no expectation that a build will run on a previous version, and even running on a later version depends on that operating system's compatibility support. Note that "Linux" is not an operating system, and that at present CI artifacts are produced for Ubuntu, because that's what github provides.
As an example, the file unison-2.53.3-ubuntu-x86_64-static.tar.gz contains
-rw-r--r-- root/root 35147 LICENSE
-rw-r--r-- root/root 6916 README.md
drwxr-xr-x root/root 0 bin/
-rwxr-xr-x root/root 3065536 bin/unison
-rwxr-xr-x root/root 1109952 bin/unison-fsmonitor
-rw-r--r-- root/root 214126 unison-manual.html
-rw-r--r-- root/root 363952 unison-manual.pdf
-rw-r--r-- root/root 157212 unison-manual.txt
\todo Explain if unison is dynamically linked and if so, what it expects.
There are builds for arm64 and x86-64. Generally, each is built on the oldest macOS that github supports (for non-paid accounts), with the toolchain configured to support the oldest feasible/reasonable macOS version, currently 10.13. Each CPU type has two artifacts, "unison" and "Unison", the normal Unix program and the mac App, respectively.
After unpacking the normal Unix tarball, there is a file "unison" which is the text UI. After chmod'ing it to be executable, it can just be run from the command line.
There is also "unison-gtk", which must also be chmod'd to be executable. It depends on /usr/local/opt/gtk+/lib/libgtk-quartz-2.0.0.dylib , which is presuming the presence of some particular but currently unknown packaging system. The wisdom of command-line programs with minimal dependencies is evident :-) (There is perhaps some verification/approval step necessary.) Place the binaries in a directory which is in your PATH.
In "Unison.App", there is .app.tar.gz. After unpacking one must do xattr -cr /Applications/Unison.app; otherwise, an unhelpful error message about a damaged app is produced.
\todo Write.