GNU bug report logs -
#48735
[PATCH] gnu: Add clojure-tools.
Previous Next
Reported by: Reily Siegel <mail <at> reilysiegel.com>
Date: Sun, 30 May 2021 02:13:01 UTC
Severity: normal
Tags: patch
Done: Ricardo Wurmus <rekado <at> elephly.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 48735 in the body.
You can then email your comments to 48735 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Sun, 30 May 2021 02:13:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Reily Siegel <mail <at> reilysiegel.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Sun, 30 May 2021 02:13:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[0001-gnu-Add-clojure-tools.patch (text/x-patch, attachment)]
From a377461613f7aff8436b4969d3cce1c2cd079191 Mon Sep 17 00:00:00 2001
From: Reily Siegel <mail <at> reilysiegel.com>
Date: Sat, 29 May 2021 21:35:45 -0400
Subject: [PATCH] gnu: Add clojure-tools.
* gnu/packages/clojure.scm (clojure-tools): New variable.
---
gnu/packages/clojure.scm | 41 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 5b238ab996..d203a67b01 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2019 Tobias Geerinckx-Rice <me <at> tobias.gr>
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix <at> gmail.com>
;;; Copyright © 2020 Ludovic Courtès <ludo <at> gnu.org>
+;;; Copyright © 2021 Reily Siegel <mail <at> reilysiegel.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,11 +24,13 @@
(define-module (gnu packages clojure)
#:use-module (gnu packages)
#:use-module (gnu packages java)
+ #:use-module (gnu packages readline)
#: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))
@@ -163,6 +166,44 @@ designs.")
license:asl2.0
license:cpl1.0)))))
+(define-public clojure-tools
+ (package
+ (name "clojure-tools")
+ (version "1.10.3.855")
+ (inputs `(("rlwrap" ,rlwrap)))
+ (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)))))
+ (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.31.1
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Mon, 31 May 2021 11:37:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 48735 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Reily Siegel schreef op za 29-05-2021 om 22:10 [-0400]:
> [...]
> + (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/"))
Packages in Guix must be compiled from the source code.
"exec.jar" and "clojure-tools-VERSION.jar" look like
compiled Java code to me. Oddly, I can't find the source
code at <https://github.com/clojure/>.
Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Fri, 03 Sep 2021 16:12:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 48735 <at> debbugs.gnu.org (full text, mbox):
Hi,
Maxime Devos <maximedevos <at> telenet.be> skribis:
> Reily Siegel schreef op za 29-05-2021 om 22:10 [-0400]:
>> [...]
>> + (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/"))
>
> Packages in Guix must be compiled from the source code.
> "exec.jar" and "clojure-tools-VERSION.jar" look like
> compiled Java code to me. Oddly, I can't find the source
> code at <https://github.com/clojure/>.
Reily, could you clarify whether this package can be built from source,
and if so, whether you could post an updated patch set?
Context: <https://issues.guix.gnu.org/48735>.
Thanks in advance,
Ludo’.
Reply sent
to
Ludovic Courtès <ludo <at> gnu.org>
:
You have taken responsibility.
(Mon, 06 Sep 2021 07:58:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Reily Siegel <mail <at> reilysiegel.com>
:
bug acknowledged by developer.
(Mon, 06 Sep 2021 07:58:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 48735-done <at> debbugs.gnu.org (full text, mbox):
Hi Reily,
Reily Siegel <mail <at> reilysiegel.com> skribis:
> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> Reily, could you clarify whether this package can be built from source,
>> and if so, whether you could post an updated patch set?
>
> I have taken a look into building this from source, however, although
> possible, it relies indirectly on several Google Java libraries with
> very particular build system. While it is possible to build from source,
> it would be very cumbersome. I haven't looked at trying to do this since
> the Maven Build System was introduced, however I likely wont have the
> time required to package all the dependencies, even if it is now
> simpler.
Thanks for explaining. I’m closing this issue for now, but I hope what
we’ll eventually close is the gap that prevents us from building
clojure-tools from source!
Ludo’.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 04 Oct 2021 11:24:08 GMT)
Full text and
rfc822 format available.
bug unarchived.
Request was from
Reily Siegel <mail <at> reilysiegel.com>
to
control <at> debbugs.gnu.org
.
(Thu, 23 Dec 2021 23:01:01 GMT)
Full text and
rfc822 format available.
Did not alter fixed versions and reopened.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 23 Dec 2021 23:01:01 GMT)
Full text and
rfc822 format available.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Thu, 23 Dec 2021 23:05:02 GMT)
Full text and
rfc822 format available.
Message #25 received at 48735 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/maven.scm (maven-resolver-transport-file): New variable.
---
gnu/packages/maven.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index 479746639a..0f00053207 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -312,6 +312,48 @@ (define-public maven-resolver-transport-wagon
(description "This package contains a transport implementation based on
Maven Wagon, for use in Maven.")))
+(define-public maven-resolver-transport-file
+ (package
+ (inherit maven-resolver-api)
+ (name "maven-resolver-transport-file")
+ (arguments
+ `(#:jar-name "maven-resolver-transport-file.jar"
+ #:source-dir "maven-resolver-transport-file/src/main/java"
+ #:test-dir "maven-resolver-transport-file/src/test"
+ #:jdk ,icedtea-8
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'generate-sisu
+ (lambda _
+ (mkdir-p "build/classes/META-INF/sisu")
+ (with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named"
+ (lambda _
+ (display "org.eclipse.aether.transport.file.FileTransporterFactory\n")))
+ #t)))))
+ (inputs
+ (list maven-resolver-api
+ maven-resolver-spi
+ maven-resolver-util
+ java-javax-inject
+ maven-wagon-provider-api
+ java-plexus-component-annotations
+ java-plexus-classworlds
+ java-plexus-utils
+ java-slf4j-api
+ java-eclipse-sisu-inject
+ java-eclipse-sisu-plexus))
+ (native-inputs
+ (list java-junit
+ java-hamcrest-core
+ maven-resolver-test-util
+ java-guava
+ java-cglib
+ java-asm
+ java-aopalliance
+ java-guice))
+ (synopsis "Transport implementation for Maven")
+ (description "This package contains a transport implementation based on
+files, for use in Maven.")))
;; aether is the parent project that was forked into maven-resolver. It used
;; to be used with older versions of Maven, and is still required for some
;; plugins and their dependencies. This version is required for the plugins,
--
2.34.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Thu, 23 Dec 2021 23:05:02 GMT)
Full text and
rfc822 format available.
Message #28 received at 48735 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/maven.scm (maven-resolver-transport-http): New variable.
---
gnu/packages/maven.scm | 53 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index 0f00053207..ad592df8fa 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -354,6 +354,59 @@ (define-public maven-resolver-transport-file
(synopsis "Transport implementation for Maven")
(description "This package contains a transport implementation based on
files, for use in Maven.")))
+
+(define-public maven-resolver-transport-http
+ (package
+ (inherit maven-resolver-api)
+ (name "maven-resolver-transport-http")
+ (arguments
+ `(#:jar-name "maven-resolver-transport-http.jar"
+ #:source-dir "maven-resolver-transport-http/src/main/java"
+ #:test-dir "maven-resolver-transport-http/src/test"
+ #:jdk ,icedtea-8
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'generate-sisu
+ (lambda _
+ (mkdir-p "build/classes/META-INF/sisu")
+ (with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named"
+ (lambda _
+ (display "org.eclipse.aether.transport.http.HttpTransporterFactory\n")))
+ #t)))))
+ (inputs
+ (list maven-resolver-api
+ maven-resolver-spi
+ maven-resolver-util
+ java-javax-inject
+ maven-wagon-provider-api
+ java-plexus-component-annotations
+ java-plexus-classworlds
+ java-plexus-utils
+ java-slf4j-api
+ java-eclipse-sisu-inject
+ java-eclipse-sisu-plexus))
+ (propagated-inputs
+ (list java-httpcomponents-httpclient
+ java-httpcomponents-httpcore))
+ (native-inputs
+ (list java-junit
+ java-hamcrest-core
+ maven-resolver-test-util
+ java-guava
+ java-cglib
+ java-asm
+ java-aopalliance
+ java-guice
+ java-eclipse-jetty-server
+ java-eclipse-jetty-servlet
+ java-eclipse-jetty-util
+ java-eclipse-jetty-http
+ java-javaee-servletapi))
+ (synopsis "Transport implementation for Maven")
+ (description "This package contains a transport implementation based on
+HTTP, for use in Maven.")))
+
;; aether is the parent project that was forked into maven-resolver. It used
;; to be used with older versions of Maven, and is still required for some
;; plugins and their dependencies. This version is required for the plugins,
--
2.34.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Thu, 23 Dec 2021 23:05:03 GMT)
Full text and
rfc822 format available.
Message #31 received at 48735 <at> debbugs.gnu.org (full text, mbox):
* guix/build/clojure-utils.scm (%aot-include): Add "data-readers" to the
default list of files to exclude from ahead-of-time compilation.
---
guix/build/clojure-utils.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guix/build/clojure-utils.scm b/guix/build/clojure-utils.scm
index a9ffad3c8f..8817cab52a 100644
--- a/guix/build/clojure-utils.scm
+++ b/guix/build/clojure-utils.scm
@@ -135,7 +135,7 @@ (define-with-docs %aot-include
(define-with-docs %aot-exclude
"A default list of symbols deciding what not to compile.
See the doc string of '%aot-include' for more details."
- '())
+ '(data-readers))
(define-with-docs %tests?
"Enable tests by default."
--
2.34.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Thu, 23 Dec 2021 23:05:04 GMT)
Full text and
rfc822 format available.
Message #34 received at 48735 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/clojure.scm (clojure-test-check): New variable.
---
gnu/packages/clojure.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index f48101079e..463d0fb46c 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -295,6 +295,33 @@ (define-public clojure-instaparse
(home-page "https://github.com/Engelberg/instaparse")
(license license:epl1.0))))
+(define-public clojure-test-check
+ (package
+ (name "clojure-test-check")
+ (version "1.1.1")
+ (home-page "https://github.com/clojure/test.check")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09jvlibnxhjv0l57y0sa7yy5in67gq4sssag77hv2d980mwdnls6"))))
+ (build-system clojure-build-system)
+ (arguments
+ '(#:source-dirs '("src/main/clojure")
+ #:test-dirs '("src/test/clojure")
+ #:doc-dirs '()))
+ (synopsis "QuickCheck for Clojure")
+ (description "@code{test.check} is a Clojure property-based testing tool
+inspired by QuickCheck. The core idea of @code{test.check} is that instead of
+enumerating expected input and output for unit tests, you write properties
+about your function that should hold true for all inputs. This lets you write
+concise, powerful tests.")
+ (license license:epl1.0)))
+
(define-public clojure-tools-macro
(package
(name "clojure-tools-macro")
--
2.34.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Thu, 23 Dec 2021 23:05:04 GMT)
Full text and
rfc822 format available.
Message #37 received at 48735 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/clojure.scm (clojure-tools-gitlibs): New variable.
---
gnu/packages/clojure.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 463d0fb46c..70239cb7e7 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -23,6 +23,7 @@
(define-module (gnu packages clojure)
#:use-module (gnu packages)
#:use-module (gnu packages java)
+ #:use-module (gnu packages version-control)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@@ -368,3 +369,34 @@ (define-public clojure-tools-cli
"The @code{tools.cli} library provides Clojure programmers with tools to
work with command-line arguments.")
(license license:epl1.0)))
+
+(define-public clojure-tools-gitlibs
+ (package
+ (name "clojure-tools-gitlibs")
+ (version "2.4.172")
+ (home-page "https://github.com/clojure/tools.gitlibs")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "19d83wigmigy66f5i61a3ishg7zrlv8jngj8m9brsh9v38a0fwdr"))))
+ (build-system clojure-build-system)
+ (arguments
+ '(#:source-dirs '("src/main/clojure")
+ #:test-dirs '("src/test/clojure")
+ #:doc-dirs '()
+ ;; FIXME: Tests modify filesystem (cloning git repos), and the build
+ ;; system does not like this.
+ #:tests? #f))
+ (native-inputs (list git))
+ (synopsis "API for retrieving, caching, and programatically accessing git
+libraries")
+ (description "To access git dependencies (for example, via tools.deps),
+one must download git directories and working trees as indicated by git
+shas. This library provides this functionality and also keeps a cache of git
+dirs and working trees that can be reused.")
+ (license license:epl1.0)))
--
2.34.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Thu, 23 Dec 2021 23:05:04 GMT)
Full text and
rfc822 format available.
Message #40 received at 48735 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/clojure.scm (clojure-data-codec): New variable.
---
gnu/packages/clojure.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 70239cb7e7..9dca984c10 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -244,6 +244,35 @@ (define-public clojure-core-match
(home-page "https://github.com/clojure/core.match")
(license license:epl1.0))))
+(define-public clojure-data-codec
+ (package
+ (name "clojure-data-codec")
+ (version "0.1.1")
+ (home-page "https://github.com/clojure/data.codec")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "data.codec-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "192df1dmbwvf1x837mi731n9x94bdypaz18va45plzgdsh4xx6dr"))))
+ (build-system clojure-build-system)
+ (arguments
+ '(#:source-dirs '("src/main/clojure")
+ #:test-dirs '("src/test/clojure")
+ #:doc-dirs '()))
+ (native-inputs (list java-commons-codec
+ clojure-test-check))
+ (synopsis "Native codec implementations for Clojure")
+ (description "Native codec implementations for Clojure. Currently only
+base64 has been implemented. Implements the standard base64 encoding
+character set, but does not yet support automatic fixed line-length encoding.
+All operations work on either byte arrays or Input/OutputStreams. Performance
+is on par with Java implementations, e.g., Apache commons-codec.")
+ (license license:epl1.0)))
+
(define-public clojure-instaparse
(let ((commit "dcfffad5b065e750f0f5835f017cdd8188b8ca2e")
(version "1.4.9")) ; upstream forget to tag this release
--
2.34.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Thu, 23 Dec 2021 23:05:05 GMT)
Full text and
rfc822 format available.
Message #43 received at 48735 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/clojure.scm (clojure-data-xml): New variable.
---
gnu/packages/clojure.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 9dca984c10..45865bd4e1 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -273,6 +273,37 @@ (define-public clojure-data-codec
is on par with Java implementations, e.g., Apache commons-codec.")
(license license:epl1.0)))
+(define-public clojure-data-xml
+ (package
+ (name "clojure-data-xml")
+ (version "0.2.0-alpha6")
+ (home-page "https://github.com/clojure/data.xml")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "data.xml-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08vglcapq7sd9zhw8dw1y7dcdks7f21w1pw9p05i475i3bw4cf94"))))
+ (build-system clojure-build-system)
+ (arguments
+ '(#:source-dirs '("src/main/clojure")
+ #:test-dirs '("src/test/clojure")
+ #:doc-dirs '()))
+ (propagated-inputs (list clojure-data-codec))
+ (synopsis "Clojure library for reading and writing XML data")
+ (description "@code{data.xml} is a Clojure library for reading and writing
+XML data. @code{data.xml} has the following features:
+
+Parses XML documents into Clojure data structures
+Emits XML from Clojure data structures
+No additional dependencies if using JDK >= 1.6
+Uses StAX internally
+lazy - should allow parsing and emitting of large XML documents")
+ (license license:epl1.0)))
+
(define-public clojure-instaparse
(let ((commit "dcfffad5b065e750f0f5835f017cdd8188b8ca2e")
(version "1.4.9")) ; upstream forget to tag this release
--
2.34.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Thu, 23 Dec 2021 23:05:05 GMT)
Full text and
rfc822 format available.
Message #46 received at 48735 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/clojure.scm (clojure-tools-deps-alpha): New variable.
---
gnu/packages/clojure.scm | 62 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 45865bd4e1..11efa89741 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -23,6 +23,7 @@
(define-module (gnu packages clojure)
#:use-module (gnu packages)
#:use-module (gnu packages java)
+ #:use-module (gnu packages maven)
#:use-module (gnu packages version-control)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -430,6 +431,67 @@ (define-public clojure-tools-cli
work with command-line arguments.")
(license license:epl1.0)))
+(define-public clojure-tools-deps-alpha
+ (package
+ (name "clojure-tools-deps-alpha")
+ (version "0.12.1104")
+ (home-page "https://github.com/clojure/tools.deps.alpha")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "174m83n5m3arai2vbg434zjibbsr3r4pp7lz3adja8lxq7g21r80"))))
+ (build-system clojure-build-system)
+ (arguments
+ `(#:source-dirs '("src/main/clojure" "src/main/resources")
+ #:test-dirs '("src/test/clojure")
+ #:doc-dirs '()
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; FIXME: Currently, the S3 transporter depends on ClojureScript,
+ ;; which is very difficult to package due to dependencies on Java
+ ;; libraries with non-standard build systems. Instead of actually
+ ;; packaging these libraries, we just remove the S3 transporter that
+ ;; depends on them.
+ (add-after 'unpack 'remove-s3-transporter
+ (lambda _
+ (for-each delete-file
+ (list
+ (string-append
+ "src/main/clojure/clojure/"
+ "tools/deps/alpha/util/s3_aws_client.clj")
+ (string-append
+ "src/main/clojure/clojure/"
+ "tools/deps/alpha/util/s3_transporter.clj")
+ (string-append
+ "src/test/clojure/clojure/"
+ "tools/deps/alpha/util/test_s3_transporter.clj")))
+ (substitute*
+ "src/main/clojure/clojure/tools/deps/alpha/util/maven.clj"
+ (("clojure.tools.deps.alpha.util.s3-transporter")
+ "")))))))
+ (propagated-inputs (list maven-resolver-api
+ maven-resolver-spi
+ maven-resolver-impl
+ maven-resolver-util
+ maven-resolver-connector-basic
+ maven-resolver-provider
+ maven-core
+ maven-resolver-transport-http
+ maven-resolver-transport-file
+ clojure-tools-gitlibs
+ clojure-tools-cli
+ clojure-data-xml))
+ (synopsis "Clojure library supporting clojure-tools")
+ (description "A functional API for transitive dependency graph expansion and
+the creation of classpaths.")
+ (license license:epl1.0)))
+
(define-public clojure-tools-gitlibs
(package
(name "clojure-tools-gitlibs")
--
2.34.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Thu, 23 Dec 2021 23:05:06 GMT)
Full text and
rfc822 format available.
Message #49 received at 48735 <at> debbugs.gnu.org (full text, mbox):
* 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
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Thu, 23 Dec 2021 23:05:06 GMT)
Full text and
rfc822 format available.
Message #52 received at 48735 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/clojure.scm (clojure): Remove generated wrapper around
clojure.jar, as it conflicts with the clojure-tools package.
---
gnu/packages/clojure.scm | 18 +-----------------
1 file changed, 1 insertion(+), 17 deletions(-)
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index b091f31eca..71e5e22937 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -122,23 +122,7 @@ (define (extract-library name)
(add-after 'install-license-files 'install-doc
(cut install-doc #:doc-dirs '("doc/clojure/") <...>))
(add-after 'install-doc 'install-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
- "#!"
- (which "sh")
- "\n\n"
- (assoc-ref inputs "jre") "/bin/java -jar "
- out "/share/java/clojure.jar \"$@\"\n"))))
- (chmod wrapper #o555))
- #t)))))
+ (install-javadoc "target/javadoc/")))))
(native-inputs libraries)
(home-page "https://clojure.org/")
(synopsis "Lisp dialect running on the JVM")
--
2.34.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Wed, 12 Jan 2022 08:52:01 GMT)
Full text and
rfc822 format available.
Message #55 received at 48735 <at> debbugs.gnu.org (full text, mbox):
Hi Reily,
this new patch set looks good. Thank you very much!
I just have a few minor comments/questions:
- build phases and snippets no longer need to end on #t or #true
- nitpick: I’m not a fan of the somewhat unusual location of the
“home-page” field, but I understand that you’re reusing the URL. My
personal preference is not to do that and to move the “home-page”
field above the “synopsis” field.
- some packages have disabled tests; it would be good to add a comment
as to why the tests are disabled
- some descriptions are not complete sentences.
If you can tell me about these disabled tests (e.g. in
clojure-tools-deps-alpha), I can add comments and make the changes I
suggested above when applying the patches. (You don’t need to send new
patches.)
Thanks again!
--
Ricardo
Information forwarded
to
guix-patches <at> gnu.org
:
bug#48735
; Package
guix-patches
.
(Wed, 12 Jan 2022 09:24:01 GMT)
Full text and
rfc822 format available.
Message #58 received at 48735 <at> debbugs.gnu.org (full text, mbox):
Hello,
> If you can tell me about these disabled tests (e.g. in
> clojure-tools-deps-alpha), I can add comments and make the changes I
> suggested above when applying the patches. (You don’t need to send new
> patches.)
These tests are disabled for the same reason as the tests in
clojure-tools-gitlibs. The tests do a fair bit of filesystem
access/modification, and this causes problems with the build system.
Thanks again for taking a look at this patch,
Reily
Reply sent
to
Ricardo Wurmus <rekado <at> elephly.net>
:
You have taken responsibility.
(Wed, 12 Jan 2022 16:46:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Reily Siegel <mail <at> reilysiegel.com>
:
bug acknowledged by developer.
(Wed, 12 Jan 2022 16:46:02 GMT)
Full text and
rfc822 format available.
Message #63 received at 48735-done <at> debbugs.gnu.org (full text, mbox):
Hi again,
I made a couple of changes and pushed the updated series of patches with
the commits ending on 9fe48723c8266ffe8e6a639be2ec2e362cf20cb5.
Thank you for your patience!
--
Ricardo
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 10 Feb 2022 12:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 2 years and 81 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.