summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReily Siegel <mail@reilysiegel.com>2021-06-13 19:50:23 -0400
committerJelle Licht <jlicht@fsfe.org>2021-06-21 11:56:52 +0200
commitc5fed11e7df221cad1045fc193b4136b34e23451 (patch)
tree8438260f3dcbc5dc8c9e049d247499814b51feb8
parent128cbfc57e3e0b975cfd9947f97cd8bcf941d126 (diff)
nongnu: Add clojure-tools.
* nongnu/packages/clojure.scm (clojure-tools): New variable. Signed-off-by: Jelle Licht <jlicht@fsfe.org>
-rw-r--r--nongnu/packages/clojure.scm41
1 files changed, 41 insertions, 0 deletions
diff --git a/nongnu/packages/clojure.scm b/nongnu/packages/clojure.scm
index 36ccadc..45dbfeb 100644
--- a/nongnu/packages/clojure.scm
+++ b/nongnu/packages/clojure.scm
@@ -19,13 +19,54 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (nongnu packages clojure)
+ #:use-module (gnu packages readline)
#:use-module (guix packages)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:))
+(define-public clojure-tools
+ (package
+ (name "clojure-tools")
+ (version "1.10.3.855")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://download.clojure.org/install/clojure-tools-"
+ version
+ ".tar.gz"))
+ (sha256 (base32 "114kn44azhsgzbjhiisdm502j6ss4kfg1mck9rjldrka2hwfwqyb"))))
+ (build-system copy-build-system)
+ (arguments
+ `(#:install-plan
+ '(("deps.edn" "lib/clojure/")
+ ("example-deps.edn" "lib/clojure/")
+ ("exec.jar" "lib/clojure/libexec/")
+ (,(string-append "clojure-tools-" version ".jar") "lib/clojure/libexec/")
+ ("clojure" "bin/")
+ ("clj" "bin/"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "clojure"
+ (("PREFIX") (string-append (assoc-ref outputs "out") "/lib/clojure")))
+ (substitute* "clj"
+ (("BINDIR") (string-append (assoc-ref outputs "out") "/bin"))
+ (("rlwrap") (which "rlwrap")))
+ #true)))))
+ (inputs `(("rlwrap" ,rlwrap)))
+ (synopsis "CLI tools for the Clojure programming language")
+ (description "The Clojure command line tools can be used to start
+a Clojure repl, use Clojure and Java libraries, and start Clojure
+programs.")
+ (license license:epl1.0)
+ (home-page "https://clojure.org/releases/tools")))
+
+
;; This is a hidden package, as it does not really serve a purpose on its own.
(define leiningen-jar
(package