A tale of two `clojure` scripts: Upstream's vs. Debian's
Howdy!
Just for the record, and while I write my comments to Elana's email on
my proposal on how to proceed, I would like to complement Alex's
statement with my own experience on this.
TL; DR: From my experience, Debian's `clojure` functionality is *a
subset* of upstream's `clj`'s functionality.
(Which, in turn, is a wrapper for the upstream `clojure` script.)
Moreover, Debian's `clojurec`'s functionality is also included in
upstream's `clojure`.
Details below.
On Mon, 16 Aug 2021 at 10:42, Alex Miller <alex@puredanger.com> wrote:
> I assume the existing `clojure` is just a simple wrapper that calls clojure.main.
> The clj/clojure from the brew-install clojure tools do much more than that and are extensively documented as the official Clojure CLI tools.
I assume Alex's referring to the following links:
https://clojure.org/reference/deps_and_cli
https://clojure.org/guides/deps_and_cli
Now, my two cents :-)
Whereas I have repeated I don't consider myself a Clojure expert, I do
some Clojure from time to time. As I normally work on deps-based
projects (a functionality Debian doesn't currently have), I have had
to resort to the official upstream Clojure installer.
I have checked the packaging code from Debian's source package `clojure`.
Shall we compare that to what upstream currently offers?
On the one hand, Debian currently provides two wrappers.
- Debian's `clojure` (wraps `clojure.main` with `rlwrap`).
- Debian's `clojurec` (wraps `java -cp ...` to easily compile Clojure
code - irrelevant for this discussion).
On the other hand, upstream currently provides one script and one wrapper.
- upstream's `clojure` (a script that includes deps-based
functionality, an easy way to compile Clojure code, and more - see the
docs)
- upstream's `clj` (wraps upstream's `clojure` with `rlwrap`)
To sum up:
>From my experience, Debian's `clojure` functionality is *a subset* of
upstream's `clj`'s functionality.
(Which, in turn, is a wrapper for the upstream `clojure` script.)
Moreover, Debian's `clojurec`'s functionality is also included in
upstream's `clojure`.
Of course, everything I state above could be wrong :-)
Please, feel free to correct such statements as you see fit.
(Please, stay tuned for my ideas on how to package all this... and a
possible migration path :-)
Best,
Leandro
Reply to: