Clojure doesn't provide "clojure" executable

  • Done
  • quality assurance status badge
Details
5 participants
  • Ben Sturmfels
  • Ben Sturmfels
  • Ludovic Courtès
  • Tobias Geerinckx-Rice
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Ben Sturmfels
Severity
normal
Merged with
B
B
Ben Sturmfels wrote on 12 Sep 2018 03:57
(address . bug-guix@gnu.org)
874leva358.fsf@sturm.com.au
Hi Folks,

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.

Regards,
Ben
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEPn825zvdanEG+SAhAjwF4snAaPAFAluYcpMACgkQAjwF4snA
aPA3+Q/7BNNynQgu2UTMwske8IaKGqcVGwwG99rO0cppQdAEYk0sVngSSdAaYP24
o2RrSuPcKOFAR7kaVSSGtklOmubK/YcajJ8U+eoKMxNOm3SxNmNanVc4cee1rlYh
388b89N64WWXemnpWC0C7saGJyrJCflBKX590SKQTSzuM1BFWwZ3dymbBbUy7OUH
NrYrTfnm/tsGkpLymSR97Mgflj2qUt9O+M/k6Gt+zP6+7XZv1kXqfR4qFk99cvv0
r+7YqlrqpdaEYa6y0YnmkkcV1ddX7r6iK3lAYHUPGkw4i4l3sH32kJqcf/78FGQy
5HLPOL9etoiQPZAxjFGH8I4S1CqsuX0Z5956j1AP61h2qUUe5lZTiXGmiW/QwhQ9
owqw9cK9kFEWmNf7EEZ1Ki3YufPCxqrRFvULLfhQpYDYNLwiMTWnO6PGlWFQJ8oy
q8SBlJyalgff3r9tBadz3/OHeqXiFxwQ0NUJpZ9rNnKnIbLsehdZt9FXJYls1Mbn
RcJiI/PHu2Vi9nV7OrcC6J1A29Pe2lrFgWeq89iY5Cn9qkyBFQLKk6i83VYueugo
zOgx752RiA6YHVjSHJ1c50tY5KLf+iKb82RI6+U+3hPueoHcBhDqts7jtAsLjoA8
FSp1vhZjwkFwPixD16E6tsse3uzYZHmVm7IOs8cSvOhUfZl7Diw=
=wywF
-----END PGP SIGNATURE-----

R
R
Ricardo Wurmus wrote on 13 Sep 2018 22:15
(name . Ben Sturmfels)(address . ben@stumbles.id.au)(address . 32709@debbugs.gnu.org)
878t456tnj.fsf@elephly.net
Hi Ben,

Toggle quote (13 lines)
> 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.

--
Ricardo
L
L
Ludovic Courtès wrote on 17 Sep 2018 22:27
control message for bug #32709
(address . control@debbugs.gnu.org)
87lg7z6f9q.fsf@gnu.org
tags 32709 easy
B
B
Ben Sturmfels wrote on 13 Dec 2018 04:08
Re: bug#32709: Clojure doesn't provide "clojure" executable
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 32709@debbugs.gnu.org)
b596999c-28ef-2b1d-f2dc-da53f888bd53@stumbles.id.au
Thanks Ricardo,

On 14/09/18 06:15, Ricardo Wurmus wrote:
Toggle quote (26 lines)
>
> 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.
include scripts `clj` and `clojure` which come from
https://github.com/clojure/brew-install.These scripts use functionality
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
Attachment: signature.asc
B
B
Ben Sturmfels wrote on 13 Dec 2018 06:36
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 32709@debbugs.gnu.org)
c086e9ee-bd75-c34b-21f7-0c657e20229f@stumbles.id.au
On 13/12/18 14:08, Ben Sturmfels wrote:

Toggle quote (11 lines)
> 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.

Alex Miller advised that the build is run by the scripts in the
clojure/brew-install repo. It runs "script/package.sh".

Regards,
Ben
Attachment: signature.asc
T
T
Tobias Geerinckx-Rice wrote on 25 Oct 2019 23:50
(no subject)
(name . GNU bug tracker automated control server)(address . control@debbugs.gnu.org)
874kzw336n.fsf@nckx
merge 32709 37929
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfo+u0AlEeO9y5k0W2Imw8BjFSTwFAl2zbiEACgkQ2Imw8BjF
STwFTg/+LcHC2tL3cm8hyhVEcNtS3GCKfgzgziS5PE/aViR/jY14hiBKWNzJ+IZn
dddNDvobNrPbSSLjtfD4/wOs9vdLCiRbp04GVD+MHr+xo896C2/qtO9tOOy8wDNJ
MZIHZKJkrCCydczZ8I1zgnJDgt+JauixzDkdEP2BbN4R3+76GG3/otXUUrnssSDJ
dH3E6Ud95f60tVLusjAo9+D3zqULyJx0wZfx1JBoqY1SC1i8fz47L3GrHrZJHjeD
8ktQgqPmNmpEEAJZFIJlCo0uemNAMjkdcpqd+VpowWgeFP8i0nT3JQOZguJ5R0el
62vHJtEOkS+gqcDgusLae9Nv+nW2s6KTOUj2aZ+eEpIUyDWUx/hXtO+C/o0zAygg
zn2O02uOLSFtDtEMrRwmVvmFNjnsRmn+u1+MD0EhFmJufQ35baoF9FtuLurNbLlG
tK+e+f2rWf56g/mIZl29ZIntPGMIBHJOaYE6HnbbRZYB96o56W6xKDHiI/o2KuIU
G2JumXSeSfmvrpfnRR7TCHkOkbgJCNRP8WSLO8ucwvUiLxppze9Hr4UbTr69FVxZ
9e/WhR9FtN3OWfQxyTuw7l4/GF2fdYltuHBIIqyvF01o8SMCYWUR9qj1yOlV0Y9u
dZB9Y262cPVERfAVAABMBogXpVFAAzxzy5gqwtjSUq7bHf76wfc=
=e28J
-----END PGP SIGNATURE-----

B
B
Ben Sturmfels wrote on 7 Dec 2020 01:22
Re: bug#32709: Clojure doesn't provide "clojure" executable
(name . Ben Sturmfels)(address . ben@stumbles.id.au)(address . 32709-done@debbugs.gnu.org)
87a6uqlb1e.fsf@sturm.com.au
Jesse Gibbons has recently added the "clojure" executable wrapper. This
makes the Guix `clojure` behave similarly to the Debian `clojure`.
Closing this issue.

(Note that this behaviour is still a little different to the bundle
provided by the upstream Clojure project which include custom `clj` and
`clojure` scripts from https://github.com/clojure/brew-install,which
include auto-downloading of dependencies and such.)
Closed
?