Subject: bug#32709: Clojure doesn't provide "clojure" executable

From: Ben Sturmfels <[email-masked]>
Date: Thu, 13 Dec 2018 14:08:47 +1100

Thanks Ricardo,

On 14/09/18 06:15, Ricardo Wurmus wrote:
> 
> Hi Ben,
> 
>> When I install the "clojure" package, I can't seem to just run `clojure`
>> and get an interpreter like I would on Debian.
>>
>> My Java is a bit rusty, but I found I could get it going by installing the "icedtea" package and running:
>>
>>   java -cp ~/.guix-profile/share/java/clojure-1.9.0.jar clojure.main
>>
>> or
>>
>>   java -jar ~/.guix-profile/share/java/clojure-1.9.0.jar
>>
>> which is a bit of a mouthful.
> 
> It is, but this is what upstream tells us to run after building the
> package.  Neither pom.xml (for Maven) nor build.xml (for Ant) contain
> targets that generate a shell wrapper.
> 
> It looks like adding a shell wrapper is a decision that was taken by
> Debian and is not what upstream does.  So this is not due to a defect in
> the ant-build-system.
> 
> To address this we may want to add a wrapper in a custom build phase.

I see what you mean about Debian's approach with the wrapper.

After some investigating I see that Clojure project's current approach
is different again to Debian. Their releases eg.
https://download.clojure.org/install/clojure-tools-1.9.0.XXX.tar.gz
include scripts `clj` and `clojure` which come from
https://github.com/clojure/brew-install. These scripts use functionality
from https://github.com/clojure/tools.deps.alpha/ to automatically
download any libraries you've declared a dependency on at runtime.

There will surely be a script that does this multi-repository build, but
I haven't found it yet.

Regards,
Ben