unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Reily Siegel <mail@reilysiegel.com>
To: 48735@debbugs.gnu.org
Subject: [bug#48735] [PATCH v2 09/10] gnu: Add clojure-tools.
Date: Thu, 23 Dec 2021 18:04:46 -0500	[thread overview]
Message-ID: <c7446d78cbf9dee04d4efba04dbcaa559a7f7013.1640300654.git.mail@reilysiegel.com> (raw)
In-Reply-To: <f55cdda2a5e0f34781d95fbf3d779ccc6d730d9b.1640300654.git.mail@reilysiegel.com>


* gnu/packages/clojure.scm (clojure-tools): New variable.
---
 gnu/packages/clojure.scm | 63 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 11efa89741..b091f31eca 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -24,12 +24,14 @@ (define-module (gnu packages clojure)
   #:use-module (gnu packages)
   #:use-module (gnu packages java)
   #:use-module (gnu packages maven)
+  #:use-module (gnu packages readline)
   #:use-module (gnu packages version-control)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #: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))
 
@@ -165,6 +167,67 @@ (define (extract-library name)
                      license:asl2.0
                      license:cpl1.0)))))
 
+(define-public clojure-tools
+  (package
+    (name "clojure-tools")
+    (version "1.10.3.1040")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://download.clojure.org/install/clojure-tools-"
+                           version
+                           ".tar.gz"))
+       (sha256 (base32 "0xvr9nmk9q789vp32zmmzj4macv8v7y9ivnfd6lf7i8vxgg6hvgv"))
+       (modules '((guix build utils)))
+       ;; Remove AOT compiled JAR. The other JAR only contains
+       ;; uncompiled Clojure source code, so should be fine.
+       (snippet
+        `(begin
+           (delete-file ,(string-append "clojure-tools-" version ".jar"))
+	   #t))))
+    (build-system copy-build-system)
+    (arguments
+     `(#:install-plan
+       '(("deps.edn" "lib/clojure/")
+         ("example-deps.edn" "lib/clojure/")
+         ("exec.jar" "lib/clojure/libexec/")
+         ("clojure" "bin/")
+         ("clj" "bin/"))
+       #:modules ((guix build copy-build-system)
+                  (guix build utils)
+                  (srfi srfi-1)
+                  (ice-9 match))
+       #: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))
+         (add-after 'fix-paths 'copy-tools-deps-alpha-jar
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "clojure"
+               (("\\$install_dir/libexec/clojure-tools-\\$version\\.jar")
+                (string-join
+                 (append-map (match-lambda
+                               ((label . dir)
+                                (find-files dir "\\.jar$")))
+                             inputs)
+                 ":"))))))))
+    (inputs (list rlwrap
+                  clojure
+                  clojure-tools-deps-alpha
+                  java-commons-logging-minimal))
+    (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")))
+
 (define-public clojure-algo-generic
   (package
     (name "clojure-algo-generic")
-- 
2.34.0





  reply	other threads:[~2021-12-23 23:06 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-30  2:10 [bug#48735] [PATCH] gnu: Add clojure-tools Reily Siegel
2021-05-31  9:15 ` Maxime Devos
2021-09-03 16:11   ` Ludovic Courtès
     [not found]     ` <87r1e5636w.fsf@reilysiegel.com>
2021-09-06  7:56       ` bug#48735: " Ludovic Courtès
2021-12-23 23:04 ` [bug#48735] [PATCH v2 01/10] gnu: Add maven-resolver-transport-file Reily Siegel
2021-12-23 23:04   ` [bug#48735] [PATCH v2 02/10] gnu: Add maven-resolver-transport-http Reily Siegel
2021-12-23 23:04     ` [bug#48735] [PATCH v2 03/10] build: clojure-utils: Don't try to compile Clojure Reily Siegel
2021-12-23 23:04       ` [bug#48735] [PATCH v2 04/10] gnu: Add clojure-test-check Reily Siegel
2021-12-23 23:04         ` [bug#48735] [PATCH v2 05/10] gnu: Add clojure-tools-gitlibs Reily Siegel
2021-12-23 23:04           ` [bug#48735] [PATCH v2 06/10] gnu: Add clojure-data-codec Reily Siegel
2021-12-23 23:04             ` [bug#48735] [PATCH v2 07/10] gnu: Add clojure-data-xml Reily Siegel
2021-12-23 23:04               ` [bug#48735] [PATCH v2 08/10] gnu: Add clojure-tools-deps-alpha Reily Siegel
2021-12-23 23:04                 ` Reily Siegel [this message]
2021-12-23 23:04                   ` [bug#48735] [PATCH v2 10/10] gnu: clojure: Remove wrapper in favor of using Reily Siegel
2022-01-12  8:45 ` [bug#48735] [PATCH] gnu: Add clojure-tools Ricardo Wurmus
2022-01-12 16:44   ` bug#48735: " Ricardo Wurmus
2022-01-12  9:23 ` [bug#48735] " Reily Siegel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c7446d78cbf9dee04d4efba04dbcaa559a7f7013.1640300654.git.mail@reilysiegel.com \
    --to=mail@reilysiegel.com \
    --cc=48735@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).