unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#58869] [PATCH] Add clojure-cheshire and all of its dependencies
@ 2022-10-29 17:15 Baptiste Strazzulla
  2023-05-05 18:07 ` Baptiste Strazzulla
  0 siblings, 1 reply; 2+ messages in thread
From: Baptiste Strazzulla @ 2022-10-29 17:15 UTC (permalink / raw)
  To: 58869


[-- Attachment #1.1: Type: text/plain, Size: 311 bytes --]

Hello Guix maintainers,

I've been trying to package clojure-lsp<https://github.com/clojure-lsp/clojure-lsp> and clj-kondo<https://github.com/clj-kondo/clj-kondo>. This is just the `clojure-cheshire` milestone but I figured it would be best to pause now and submit what I already have.

Regards,
Baptiste

[-- Attachment #1.2: Type: text/html, Size: 1672 bytes --]

[-- Attachment #2: 0001-gnu-Add-clojure-camel-snake-kebab.patch --]
[-- Type: application/octet-stream, Size: 1984 bytes --]

From 457dc4443cdbfeeaef521caa651ef9830e348d27 Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sun, 25 Sep 2022 13:32:43 +0200
Subject: [PATCH 01/13] gnu: Add clojure-camel-snake-kebab

* gnu/packages/clojure.scm (clojure-camel-snake-kebab): New variable.
---
 gnu/packages/clojure.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 622e43ac48..f844f8310e 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
 ;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -610,6 +611,28 @@ (define-public clojure-tools-deps-alpha
 dependency graph expansion and the creation of classpaths.")
     (license license:epl1.0)))
 
+(define-public clojure-camel-snake-kebab
+  (package
+    (name "clojure-camel-snake-kebab")
+    (version "0.4.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clj-commons/camel-snake-kebab")
+                    (commit (string-append "version-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "13zr58x4ahzms33hdiibfillwaj9sqb751kar2rq9qmqjkd1pglm"))))
+    (build-system clojure-build-system)
+    (arguments
+     '( #:doc-dirs '()))
+    (home-page "https://github.com/clj-commons/camel-snake-kebab")
+    (synopsis "Clojure[Script] library for word case conversions")
+    (description "Clojure-camel-snake-kebab is a Clojure[Script] library for
+word case conversions")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-gitlibs
   (package
     (name "clojure-tools-gitlibs")
-- 
2.38.0


[-- Attachment #3: 0002-gnu-Add-java-fasterxml-jackson-core-2.12.2.patch --]
[-- Type: application/octet-stream, Size: 2265 bytes --]

From 8d1693631ff725582413b7f70d533d42e0615c98 Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sun, 25 Sep 2022 15:44:02 +0200
Subject: [PATCH 02/13] gnu: Add java-fasterxml-jackson-core-2.12.2

* gnu/packages/java.scm (java-fasterxml-jackson-core-2.12.2): New variable.
---
 gnu/packages/java.scm | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 3ab324cce9..265951ca2b 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -19,6 +19,7 @@
 ;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -10032,8 +10033,8 @@ (define-public java-fasterxml-jackson-core
                                "build/test-classes")
              #t)))))
     (native-inputs
-     `(("junit" ,java-junit)
-       ("hamcrest" ,java-hamcrest-core)))
+     (list java-junit
+           java-hamcrest-core))
     (home-page "https://github.com/FasterXML/jackson-core")
     (synopsis "Low-level streaming parser and generator abstractions")
     (description "This package contains core low-level incremental
@@ -10042,6 +10043,21 @@ (define-public java-fasterxml-jackson-core
 (parser, generator) that handle JSON format.")
     (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
 
+(define-public java-fasterxml-jackson-core-2.12.2
+  (package
+    (inherit java-fasterxml-jackson-core)
+    (name "java-fasterxml-jackson-core")
+    (version "2.12.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/FasterXML/jackson-core")
+                    (commit (string-append "jackson-core-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1kr051mqj2kqw8i247bmcwf9a1l6zxl4mdpp39dlf5kh6820wzv7"))))))
+
 (define-public java-fasterxml-jackson-databind
   (package
     (name "java-fasterxml-jackson-databind")
-- 
2.38.0


[-- Attachment #4: 0003-gnu-Add-java-fasterxml-jackson-annotations-2.12.2.patch --]
[-- Type: application/octet-stream, Size: 1908 bytes --]

From 4037c8dd2700c409187a2e4b4e4b8f79e9344e77 Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sun, 25 Sep 2022 15:59:31 +0200
Subject: [PATCH 03/13] gnu: Add java-fasterxml-jackson-annotations-2.12.2

* gnu/packages/java.scm (java-fasterxml-jackson-annotations-2.12.2): New variable.
---
 gnu/packages/java.scm | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 265951ca2b..8acf4e8dda 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -9972,7 +9972,7 @@ (define-public java-fasterxml-jackson-annotations
        #:source-dir "src/main/java"
        #:test-dir "src/test"))
     (native-inputs
-     `(("junit" ,java-junit)))
+     (list java-junit))
     (home-page "https://github.com/FasterXML/jackson-annotations")
     (synopsis "General purpose annotations for the Jackson Data Processor")
     (description "This package contains general purpose annotations for the
@@ -9980,6 +9980,21 @@ (define-public java-fasterxml-jackson-annotations
 not included are ones that require dependency to the Databind package.")
     (license license:asl2.0)))
 
+(define-public java-fasterxml-jackson-annotations-2.12.2
+  (package
+    (inherit java-fasterxml-jackson-annotations)
+    (name "java-fasterxml-jackson-annotations")
+    (version "2.12.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/FasterXML/jackson-annotations")
+                    (commit (string-append "jackson-annotations-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1rl42dma59mig84z5gf5szz7z83b1smbi782rrdq33p1qw394pzy"))))))
+
 (define-public java-fasterxml-jackson-core
   (package
     (name "java-fasterxml-jackson-core")
-- 
2.38.0


[-- Attachment #5: 0004-gnu-Add-java-fasterxml-jackson-databind-2.12.2.patch --]
[-- Type: application/octet-stream, Size: 1564 bytes --]

From 4eefca84dcc4fab809ea00abbaedd4ae88b1ef4a Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sun, 25 Sep 2022 16:05:17 +0200
Subject: [PATCH 04/13] gnu: Add java-fasterxml-jackson-databind-2.12.2

* gnu/packages/java.scm (java-fasterxml-jackson-databind-2.12.2): New variable.
---
 gnu/packages/java.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 8acf4e8dda..2b1c968650 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -10117,6 +10117,24 @@ (define-public java-fasterxml-jackson-databind
 configuration.")
     (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
 
+(define-public java-fasterxml-jackson-databind-2.12.2
+  (package
+    (inherit java-fasterxml-jackson-databind)
+    (name "java-fasterxml-jackson-databind")
+    (version "2.12.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/FasterXML/jackson-databind")
+                    (commit (string-append "jackson-databind-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1936c6lzbnd0lyb7c19flzklb5j39vxyhlgjl49jkcikbj5vkjav"))))
+    (inputs
+     (list java-fasterxml-jackson-core-2.12.2
+           java-fasterxml-jackson-annotations-2.12.2))))
+
 (define-public java-fasterxml-jackson-modules-base-jaxb
   (package
     (name "java-fasterxml-jackson-modules-base-jaxb")
-- 
2.38.0


[-- Attachment #6: 0005-gnu-Add-java-fasterxml-jackson-dataformat-smile.patch --]
[-- Type: application/octet-stream, Size: 3042 bytes --]

From 1f000c61b5aae21fbcbdce8d522b377f38d251b0 Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sun, 25 Sep 2022 22:21:54 +0200
Subject: [PATCH 05/13] gnu: Add java-fasterxml-jackson-dataformat-smile

* gnu/packages/java.scm (java-fasterxml-jackson-dataformat-smile): New variable.
---
 gnu/packages/java.scm | 50 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 2b1c968650..eb34cbfb7e 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -10425,6 +10425,56 @@ (define-public java-fasterxml-jackson-dataformat-xml
 make data-binding work.")
     (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
 
+(define-public java-fasterxml-jackson-dataformat-smile
+  (package
+    (name "java-fasterxml-jackson-dataformat-smile")
+    (version "2.12.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://github.com/FasterXML/jackson-dataformats-binary")
+                    (commit
+                     (string-append "jackson-dataformats-binary-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1qfi44kk1iy9nwcgb55ksdis4jqfqxqrqqv81y3xgm134ds3j9l2"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jackson-dataformat-smile.jar"
+       #:source-dir "smile/src/main/java"
+       #:test-dir "smile/src/test"
+       #:test-exclude (list "**/failing/**.java")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'generate-PackageVersion.java
+           (lambda _
+             (let* ((out
+                     (string-append
+                      "smile/src/main/java/com/fasterxml/"
+                      "jackson/dataformat/smile/PackageVersion.java"))
+                    (in (string-append out ".in")))
+               (copy-file in out)
+               (substitute* out
+                 (("@package@") "com.fasterxml.jackson.dataformat.smile")
+                 (("@projectversion@") ,version)
+                 (("@projectgroupid@") "com.fasterxml.jackson.dataformat.smile")
+                 (("@projectartifactid@") "jackson-dataformat-smile")))
+             #t)))))
+    (inputs
+     (list java-fasterxml-jackson-core-2.12.2
+           java-fasterxml-jackson-databind-2.12.2
+           java-fasterxml-jackson-annotations-2.12.2))
+    (native-inputs
+     (list java-junit))
+    (home-page "https://github.com/FasterXML/jackson-dataformats-binary")
+    (synopsis "Smile backend for Jackson")
+    (description "Dataformat backends are used to support format alternatives
+to JSON, supported by default.  This is done by sub-classing Jackson core
+abstractions.")
+    (license license:asl2.0))) ; found on wiki.fasterxml.com/JacksonLicensing
+
 (define-public java-hdrhistogram
   (package
     (name "java-hdrhistogram")
-- 
2.38.0


[-- Attachment #7: 0006-gnu-Add-java-fasterxml-jackson-dataformat-cbor.patch --]
[-- Type: application/octet-stream, Size: 3644 bytes --]

From 679f3858be68bdb500cf3529aad42dad802d3c39 Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sun, 25 Sep 2022 22:45:02 +0200
Subject: [PATCH 06/13] gnu: Add java-fasterxml-jackson-dataformat-cbor

* gnu/packages/java.scm (java-fasterxml-jackson-dataformat-cbor): New variable.
---
 gnu/packages/java.scm | 59 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index eb34cbfb7e..df1b712bbc 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -10475,6 +10475,65 @@ (define-public java-fasterxml-jackson-dataformat-smile
 abstractions.")
     (license license:asl2.0))) ; found on wiki.fasterxml.com/JacksonLicensing
 
+(define-public java-fasterxml-jackson-dataformat-cbor
+  (package
+    (name "java-fasterxml-jackson-dataformat-cbor")
+    (version "2.12.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://github.com/FasterXML/jackson-dataformats-binary")
+                    (commit
+                     (string-append "jackson-dataformats-binary-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1qfi44kk1iy9nwcgb55ksdis4jqfqxqrqqv81y3xgm134ds3j9l2"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jackson-dataformat-cbor.jar"
+       #:source-dir "cbor/src/main/java"
+       #:test-dir "cbor/src/test"
+       #:test-exclude (list "**/failing/**.java"
+                            "**/GeneratorDeepNestingTest.java"
+                            "**/NumberCoercing32Test.java"
+                            "**/SharedRawGeneratorBufferTest.java"
+                            "**/gen/GeneratorSimpleTest.java"
+                            "**/mapper/BiggerDataTest.java"
+                            "**/mapper/BinaryReadTest.java"
+                            "**/mapper/MapperSimpleReadTest.java"
+                            "**/mapper/NumberArrayBeanTest.java"
+                            "**/mapper/NumberBeanTest.java"
+                            "**/parse/BinaryToStringCoercionTest.java")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'generate-PackageVersion.java
+           (lambda _
+             (let* ((out (string-append
+                          "cbor/src/main/java/com/fasterxml/"
+                          "jackson/dataformat/cbor/PackageVersion.java"))
+                    (in (string-append out ".in")))
+               (copy-file in out)
+               (substitute* out
+                 (("@package@") "com.fasterxml.jackson.dataformat.cbor")
+                 (("@projectversion@") ,version)
+                 (("@projectgroupid@") "com.fasterxml.jackson.dataformat.cbor")
+                 (("@projectartifactid@") "jackson-dataformat-cbor")))
+             #t)))))
+    (inputs
+     (list java-fasterxml-jackson-core-2.12.2
+           java-fasterxml-jackson-databind-2.12.2))
+    (native-inputs
+     (list java-junit
+           java-fasterxml-jackson-annotations))
+    (home-page "https://github.com/FasterXML/jackson-dataformats-binary")
+    (synopsis "Cbor backend for Jackson")
+    (description "Dataformat backends are used to support format alternatives
+to JSON, supported by default.  This is done by sub-classing Jackson core
+abstractions.")
+    (license license:asl2.0))) ; found on wiki.fasterxml.com/JacksonLicensing
+
 (define-public java-hdrhistogram
   (package
     (name "java-hdrhistogram")
-- 
2.38.0


[-- Attachment #8: 0007-gnu-Add-clojure-tigris.patch --]
[-- Type: application/octet-stream, Size: 1837 bytes --]

From d76c77873241a33cf7832ef8e8e336053028d321 Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sat, 29 Oct 2022 00:52:56 +0200
Subject: [PATCH 07/13] gnu: Add clojure-tigris

* gnu/packages/clojure.scm (clojure-tigris): 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 f844f8310e..54b5fc9383 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -633,6 +633,33 @@ (define-public clojure-camel-snake-kebab
 word case conversions")
     (license license:epl1.0)))
 
+(define-public clojure-tigris
+  (package
+    (name "clojure-tigris")
+    (version "0.1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/dakrone/tigris")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "17sjyc0rrfg77xbkb4qfplbgldwg3fl418365a7xzmiz6ijm6qbd"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/clj")
+       #:java-source-dirs '("src/java")
+       #:tests? #f                    ; Dependency loop with Cheshire
+       #:doc-dirs '()))
+    (home-page "https://github.com/dakrone/tigris")
+    (synopsis "Stream-to-stream JSON string escaping")
+    (description "Tigris provides a stream for escaping json strings as
+they're being read from a different stream.  So stream-to-stream string
+encoding.  Only a single string though.  It's pretty narrow-use.  It's written
+in Java with a tiny Clojure wrapper.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-gitlibs
   (package
     (name "clojure-tools-gitlibs")
-- 
2.38.0


[-- Attachment #9: 0008-gnu-Add-clojure-tools-reader.patch --]
[-- Type: application/octet-stream, Size: 2370 bytes --]

From ff37726e386385759e6afff60b92c3b981afc6b9 Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sat, 29 Oct 2022 02:57:03 +0200
Subject: [PATCH 08/13] gnu: Add clojure-tools-reader

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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 54b5fc9383..09e4e54fd9 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -660,6 +660,44 @@ (define-public clojure-tigris
 in Java with a tiny Clojure wrapper.")
     (license license:epl1.0)))
 
+(define-public clojure-tools-reader
+  (package
+    (name "clojure-tools-reader")
+    (version "1.3.6")
+    (home-page "https://github.com/clojure/tools.reader")
+    (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
+                "0rcqq024ysz5g2ad8g6jvhnlpwqym58hd1mywl8c4v3x5628d028"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/cljs" "src/main/clojure")
+       #:test-dirs '("src/test/cljs" "src/test/clojure")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'patch-common-tests
+           (lambda _
+             ;; common_tests.clj is inlined into other test files.
+             ;; #:test-exclude (list "**/common_tests.clj") did not work for
+             ;; some reason
+             (substitute* "src/test/clojure/clojure/tools/common_tests.clj"
+               (("\\(deftest read-integer")
+                "(ns clojure.tools.common-tests
+                   (:use [clojure.test :only [deftest is]])
+                   (:import clojure.lang.BigInt))
+                 (deftest read-integer")))))
+       #:doc-dirs '()))
+    (synopsis "Clojure reader in Clojure")
+    (description "A complete Clojure reader and an EDN-only reader, works with
+Clojure versions >= 1.4.0 and Clojurescript >=0.5308 and since version
+0.10.0-alpha1")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-gitlibs
   (package
     (name "clojure-tools-gitlibs")
-- 
2.38.0


[-- Attachment #10: 0009-gnu-Add-clojure-java-classpath.patch --]
[-- Type: application/octet-stream, Size: 1698 bytes --]

From 799b605ca1af44300be2cff1afbfb39c655b5484 Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sat, 29 Oct 2022 03:11:37 +0200
Subject: [PATCH 09/13] gnu: Add clojure-java-classpath

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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 09e4e54fd9..ea1681832e 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -660,6 +660,30 @@ (define-public clojure-tigris
 in Java with a tiny Clojure wrapper.")
     (license license:epl1.0)))
 
+(define-public clojure-java-classpath
+  (package
+    (name "clojure-java-classpath")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/java.classpath")
+                    (commit (string-append "java.classpath-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1v1gxl72vycscblwm1iwc2r64z9r60smvd2gc9l7q2aqqy56fr75"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (home-page "https://github.com/clojure/java.classpath")
+    (synopsis "Examines the Java classpath from Clojure programs")
+    (description "Clojure-java-classpath examines the Java classpath from
+Clojure programs")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-reader
   (package
     (name "clojure-tools-reader")
-- 
2.38.0


[-- Attachment #11: 0010-gnu-Add-clojure-tools-namespace.patch --]
[-- Type: application/octet-stream, Size: 2054 bytes --]

From 6e6705511900b8f8b412218d679969f6e92181a2 Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sat, 29 Oct 2022 03:14:01 +0200
Subject: [PATCH 10/13] gnu: Add clojure-tools-namespace

* gnu/packages/clojure.scm (clojure-tools-namespace): 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 ea1681832e..85c7551294 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -722,6 +722,37 @@ (define-public clojure-tools-reader
 0.10.0-alpha1")
     (license license:epl1.0)))
 
+(define-public clojure-tools-namespace
+  (package
+    (name "clojure-tools-namespace")
+    (version "1.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/tools.namespace")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0v11gh5cxqnipmrk3kjjb5bq91lrs08wii0pp9mzibfqwlb09idy"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (inputs
+     (list clojure-tools-reader
+           clojure-java-classpath))
+    (home-page "https://github.com/clojure/tools.namespace")
+    (synopsis "Tools for managing namespaces in Clojure")
+    (description "Clojure-tools-namespace parses ns declarations from source
+files, extract their dependencies, build a graph of namespace dependencies
+within a project, update that graph as files change, and reload files in the
+correct order.  This is only about namespace dependencies within a single
+project.  It has nothing to do with Leiningen, Maven, JAR files, or
+repositories.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-gitlibs
   (package
     (name "clojure-tools-gitlibs")
-- 
2.38.0


[-- Attachment #12: 0011-gnu-Add-clojure-data-generators.patch --]
[-- Type: application/octet-stream, Size: 1757 bytes --]

From c611817c82935b044d23289ec442dfa68509aa29 Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sat, 29 Oct 2022 03:27:57 +0200
Subject: [PATCH 11/13] gnu: Add clojure-data-generators

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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 85c7551294..e492c00b0c 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -722,6 +722,32 @@ (define-public clojure-tools-reader
 0.10.0-alpha1")
     (license license:epl1.0)))
 
+(define-public clojure-data-generators
+  (package
+    (name "clojure-data-generators")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/data.generators")
+                    (commit (string-append "data.generators-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1ndy2wjfipnvswf7nz89wwh6lka8cn2yn5nfxmv8vzjc2i73d8fa"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (propagated-inputs
+     (list clojure-tools-reader
+           clojure-java-classpath))
+    (home-page "https://github.com/clojure/data.generators")
+    (synopsis "Generators for random Clojure data")
+    (description "Clojure-data-generators is a data generator for Clojure")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-namespace
   (package
     (name "clojure-tools-namespace")
-- 
2.38.0


[-- Attachment #13: 0012-gnu-Add-clojure-test-generative.patch --]
[-- Type: application/octet-stream, Size: 1746 bytes --]

From 1b1d64427c7d9fae563ad5b4d6ab3775749fab0e Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sat, 29 Oct 2022 03:35:26 +0200
Subject: [PATCH 12/13] gnu: Add clojure-test-generative

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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index e492c00b0c..1747e67693 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -779,6 +779,32 @@ (define-public clojure-tools-namespace
 repositories.")
     (license license:epl1.0)))
 
+(define-public clojure-test-generative
+  (package
+    (name "clojure-test-generative")
+    (version "0.1.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/test.generative")
+                    (commit (string-append "test.generative-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1bsc7pf7z9wi0ryv2jczks83m3cvkks08bm3lkp673cp7pnawi5p"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:tests? #f                    ; No test
+       #:doc-dirs '()))
+    (propagated-inputs
+     (list clojure-tools-namespace
+           clojure-data-generators))
+    (home-page "https://github.com/clojure/test.generative")
+    (synopsis "Generative test runner")
+    (description "Clojure.test.generative runs test generatively")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-gitlibs
   (package
     (name "clojure-tools-gitlibs")
-- 
2.38.0


[-- Attachment #14: 0013-gnu-Add-clojure-cheshire.patch --]
[-- Type: application/octet-stream, Size: 1967 bytes --]

From 95518df9f9eaecdd0613658e699cc2d6410fdc49 Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sat, 29 Oct 2022 18:58:25 +0200
Subject: [PATCH 13/13] gnu: Add clojure-cheshire

* gnu/packages/clojure.scm (clojure-cheshire): 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 1747e67693..56e601badc 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -832,3 +832,34 @@ (define-public clojure-tools-gitlibs
 indicated by git SHAs.  This library provides this functionality and also
 keeps a cache of git directories and working trees that can be reused.")
     (license license:epl1.0)))
+
+(define-public clojure-cheshire
+  (package
+    (name "clojure-cheshire")
+    (version "5.11.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/dakrone/cheshire")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1hhhc4z9ns2sa0g16yvi5dxa189x7fn5dwkzx3710kwimakz12j4"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:java-source-dirs '("src/java")
+       #:doc-dirs '()))
+    (inputs
+     (list java-fasterxml-jackson-core-2.12.2
+           java-fasterxml-jackson-dataformat-smile
+           java-fasterxml-jackson-dataformat-cbor
+           clojure-tigris
+           clojure-test-generative))
+    (home-page "https://github.com/dakrone/cheshire")
+    (synopsis "Clojure JSON and JSON SMILE (binary json format)
+encoding/decoding")
+    (description "Clojure-cheshire is fast JSON encoding, based off of
+clj-json and clojure-json, with additional features like Date/UUID/Set/Symbol
+encoding and SMILE support.")
+    (license license:expat))) ; MIT license
-- 
2.38.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [bug#58869] [PATCH] Add clojure-cheshire and all of its dependencies
  2022-10-29 17:15 [bug#58869] [PATCH] Add clojure-cheshire and all of its dependencies Baptiste Strazzulla
@ 2023-05-05 18:07 ` Baptiste Strazzulla
  0 siblings, 0 replies; 2+ messages in thread
From: Baptiste Strazzulla @ 2023-05-05 18:07 UTC (permalink / raw)
  To: 58869@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 618 bytes --]

Hello Guix maintainers,

Can I ping once to bubble up these patches up the ladder?
________________________________
From: Baptiste Strazzulla
Sent: Saturday, October 29, 2022 5:15 PM
To: guix-patches@gnu.org <guix-patches@gnu.org>
Subject: [PATCH] Add clojure-cheshire and all of its dependencies

Hello Guix maintainers,

I've been trying to package clojure-lsp<https://github.com/clojure-lsp/clojure-lsp> and clj-kondo<https://github.com/clj-kondo/clj-kondo>. This is just the `clojure-cheshire` milestone but I figured it would be best to pause now and submit what I already have.

Regards,
Baptiste

[-- Attachment #2: Type: text/html, Size: 2681 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-05-05 18:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-29 17:15 [bug#58869] [PATCH] Add clojure-cheshire and all of its dependencies Baptiste Strazzulla
2023-05-05 18:07 ` Baptiste Strazzulla

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).