diff options
| author | Mathieu Lirzin <mthl@gnu.org> | 2026-02-12 01:45:28 +0100 |
|---|---|---|
| committer | Julien Lepiller <julien@lepiller.eu> | 2026-02-13 18:51:29 +0100 |
| commit | 2e099c8907d1c0e78e27e6793092cfa25728d0b6 (patch) | |
| tree | 6ddd13cdf5a8368d344ea6b325d20330bf1afe55 /gnu | |
| parent | 5dd37b30b4acc0ab3909850334cb13000c2ab931 (diff) | |
gnu: clojure-tools: Wrap clojure executable.
* gnu/packages/clojure.scm (clojure-tools)
[inputs]: Add coreutils-minimal, guile-3.0/pinned, openjdk:jdk.
[arguments]: Wrap PATH and JAVA_HOME in ‘clojure’ executable.
Do not reference openjdk in generated tools classpath.
Change-Id: Ie711b1f870dc4f9609bec9a570215cacbf57e4a6
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/packages/clojure.scm | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm index be6c1ad95fc..09079bf6dc4 100644 --- a/gnu/packages/clojure.scm +++ b/gnu/packages/clojure.scm @@ -24,6 +24,8 @@ (define-module (gnu packages clojure) #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages guile) #:use-module (gnu packages java) #:use-module (gnu packages maven) #:use-module (guix gexp) @@ -33,8 +35,7 @@ #:use-module (guix git-download) #:use-module (guix build-system ant) #:use-module (guix build-system copy) - #:use-module (guix build-system clojure) - #:use-module (ice-9 match)) + #:use-module (guix build-system clojure)) (define-public clojure-spec-alpha (package @@ -410,16 +411,29 @@ designs.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "clojure" (("\\$install_dir/libexec/clojure-tools-\\$version\\.jar") - (let* ((input-dirs (map cdr inputs)) + (let* ((selected (assq-remove! inputs "openjdk")) + (input-dirs (map cdr selected)) (jars (apply append (map (lambda (dir) (find-files dir "\\.jar$")) input-dirs)))) - (string-join jars ":"))))))))) + (string-join jars ":")))))) + (add-after 'install 'wrap-clojure + (lambda* (#:key inputs #:allow-other-keys) + (let ((coreutils (assoc-ref inputs "coreutils-minimal")) + (jdk (assoc-ref inputs "openjdk"))) + (wrap-script (string-append #$output "/bin/clojure") + `("JAVA_HOME" = (,jdk)) + `("PATH" = (,(string-append coreutils "/bin")))))))))) (inputs (list clojure clojure-tools-deps + coreutils-minimal + guile-3.0/pinned java-commons-logging-minimal - java-slf4j-nop)) + java-slf4j-nop + ;; Depend on JDK instead of JRE since common developer tools + ;; such as ‘cider-nrepl’ require it. + (list openjdk "jdk"))) (home-page "https://clojure.org/releases/tools") (synopsis "CLI tools for the Clojure programming language") (description "This package provides the @command{clojure} and |
