Message ID | 0c8be989d029bb4e8590f579e0b550f4f6905a2a.camel@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#38704] gnu: clojure: Add wrapper. | expand |
Jesse Gibbons <jgibbons2357@gmail.com> writes: > gnu/packages/clojure.scm: (clojure)[inputs]: Add icedtea. > [phases] {make-wrapper}: New phase. > > fixes: https://issues.guix.gnu.org/issue/32709 Hi Jesse, Apologies for the long delay with this patch. I tweaked the commit message, and the patch in one place and I've gone ahead and pushed it to master as d38903fab47fe333a99c68166e98e454d6e0e446. > --- > gnu/packages/clojure.scm | 20 +++++++++++++++++++- > 1 file changed, 19 insertions(+), 1 deletion(-) > > diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm > index a9cabfe008..85d8708eee 100644 > --- a/gnu/packages/clojure.scm > +++ b/gnu/packages/clojure.scm > @@ -2,6 +2,7 @@ > ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> > ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> > ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> > +;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com> > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -20,6 +21,7 @@ > > (define-module (gnu packages clojure) > #:use-module (gnu packages) > + #:use-module (gnu packages java) > #:use-module ((guix licenses) #:prefix license:) > #:use-module (guix packages) > #:use-module (guix download) > @@ -77,6 +79,8 @@ > (sha256 > (base32 > "1kcyv2836acs27vi75hvf3r773ahv2nlh9b3j9xa9m9sdanz1h83"))))) > (build-system ant-build-system) > + (inputs > + `(("jre" ,icedtea))) > (arguments > `(#:imported-modules ((guix build clojure-utils) > (guix build guile-build-system) > @@ -113,7 +117,21 @@ > (add-after 'install-license-files 'install-doc > (cut install-doc #:doc-dirs '("doc/clojure/") <...>)) > (add-after 'install-doc 'install-javadoc > - (install-javadoc "target/javadoc/"))))) > + (install-javadoc "target/javadoc/")) > + (add-after 'install 'make-wrapper > + (lambda* (#:key inputs outputs #:allow-other-keys) > + (let* ((out (assoc-ref outputs "out")) > + (wrapper (string-append out "/bin/clojure"))) > + (mkdir-p (string-append out "/bin")) > + (with-output-to-file wrapper > + (lambda _ > + (display > + (string-append > + "#!/bin/sh\n\n" I used (which "sh") here rather than hardcoding /bin/sh, as then there's no dependency on the changable /bin/sh. > + (assoc-ref inputs "jre") "/bin/java -jar " > + out "/share/java/clojure.jar \"$@\"\n")))) > + (chmod wrapper #o555)) > + #t))))) > (native-inputs libraries) > (home-page "https://clojure.org/") > (synopsis "Lisp dialect running on the JVM") Thanks again, Chris
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm index a9cabfe008..85d8708eee 100644 --- a/gnu/packages/clojure.scm +++ b/gnu/packages/clojure.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,7 @@ (define-module (gnu packages clojure) #:use-module (gnu packages) + #:use-module (gnu packages java) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -77,6 +79,8 @@ (sha256 (base32 "1kcyv2836acs27vi75hvf3r773ahv2nlh9b3j9xa9m9sdanz1h83"))))) (build-system ant-build-system) + (inputs + `(("jre" ,icedtea))) (arguments `(#:imported-modules ((guix build clojure-utils)