To the original question, I maintain the Fedora Linux clojure packages. If I remember correctly, I did the upgrade to 1.9 in the following build order:
- clojure 1.9-alpha15
- clojure-spec-alpha 0.1.134
- clojure-core-specs-alpha 0.1.24
- clojure 1.9-beta3
- clojure-spec-alpha 0.1.143
- clojure 1.9
- clojure-core-specs-alpha 0.2.44
- clojure-spec-alpha 0.2.176
We use maven and clojure-maven-plugin to build the packages, you can find the RPM spec files and see the history in here:
- Overview - rpms/clojure - src.fedoraproject.org
- Overview - rpms/clojure-maven-plugin - src.fedoraproject.org
- Overview - rpms/clojure-spec-alpha - src.fedoraproject.org
- Overview - rpms/clojure-core-specs-alpha - src.fedoraproject.org
But as been discussed, I don’t either find much value that clojure is packaged, my original plan was to package applications, like leiningen, tools.deps.alpha etc. It would be nice to install core tools using trusted packages instead of running some shell scripts from Internet with sudo. But the applications usually have lot of other dependencies, which must be also packages and hence it is quite a challenge for just a single maintainer. At least with fedora java package tooling it is simple to turn a clojure library to fedora package, but the problem is the amount of dependencies, you can check the dependency tree of lets say tools.deps.alpha.
I havent tried this with clojure programs, but JDK 14 introduced jpackage tool to build self-contained binaries for Linux (and macos and windows), it was finalized for JDK16:
https://openjdk.java.net/jeps/392