[PATCH 0/1] Adding clojure.java-time

  • Open
  • quality assurance status badge
Details
3 participants
  • Andreas Enge
  • Ludovic Courtès
  • Steve George
Owner
unassigned
Submitted by
Steve George
Severity
normal
Merged with
S
S
Steve George wrote on 12 Feb 23:18 +0100
(address . guix-patches@gnu.org)(name . Steve George)(address . steve@futurile.net)
cover.1707775899.git.steve@futurile.net
Investigating adding Clojure libs. Clojure.java-time is a common basic wrapped
Java lib.

Steve George (1):
gnu: Add clojure.java-time.

gnu/packages/clojure.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)


base-commit: b64862e5cb8209c92aa2eff4cec0be328e38c45d
--
2.41.0
S
S
Steve George wrote on 13 Feb 09:44 +0100
[PATCH 1/1] gnu: Add clojure.java-time.
(address . 69091@debbugs.gnu.org)(name . Steve George)(address . steve@futurile.net)
866de51f2018bbad4a69a325a062b39d6e845e98.1707813784.git.steve@futurile.net
* gnu/packages/clojure.scm (clojure.java-time): New variable.

Change-Id: Id76d3e073525bff619fddb92096ec99a3917faeb
---
gnu/packages/clojure.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 27fce6f368e..f7c5530e35a 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -661,3 +661,28 @@ (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.java-time
+ (package
+ (name "clojure.java-time")
+ (version "1.4.2")
+ (home-page "https://github.com/dm3/clojure.java-time")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0rykvgslxaxw6qc1lpv21299d9kx3waj34wi1jvzqlnbs2x1p9fh"))))
+ (build-system clojure-build-system)
+ (arguments
+ `(#:tests? #f ;;FIXME: tests requires math.combinatorics dependency
+ #:doc-dirs '("docs")
+ #:aot-exclude '(#:all)))
+ (synopsis "A Clojure wrapper for Java's @code{java.time} API.")
+ (description "This library wraps Java's @code{java.time} API. It provides
+a set of Clojure functions for dealing with Date-Time without requiring any
+additional packages.")
+ (license license:epl1.0)))

base-commit: b64862e5cb8209c92aa2eff4cec0be328e38c45d
--
2.41.0
S
S
Steve George wrote on 14 Feb 09:57 +0100
[PATCH v2 1/1] gnu: Add clojure.java-time.
(address . 69091@debbugs.gnu.org)
866de51f2018bbad4a69a325a062b39d6e845e98.1707900811.git.steve@futurile.net
* gnu/packages/clojure.scm (clojure.java-time): New variable.

Change-Id: Id76d3e073525bff619fddb92096ec99a3917faeb
---
gnu/packages/clojure.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 27fce6f368e..f7c5530e35a 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -661,3 +661,28 @@ (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.java-time
+ (package
+ (name "clojure.java-time")
+ (version "1.4.2")
+ (home-page "https://github.com/dm3/clojure.java-time")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0rykvgslxaxw6qc1lpv21299d9kx3waj34wi1jvzqlnbs2x1p9fh"))))
+ (build-system clojure-build-system)
+ (arguments
+ `(#:tests? #f ;;FIXME: tests requires math.combinatorics dependency
+ #:doc-dirs '("docs")
+ #:aot-exclude '(#:all)))
+ (synopsis "A Clojure wrapper for Java's @code{java.time} API.")
+ (description "This library wraps Java's @code{java.time} API. It provides
+a set of Clojure functions for dealing with Date-Time without requiring any
+additional packages.")
+ (license license:epl1.0)))

base-commit: b64862e5cb8209c92aa2eff4cec0be328e38c45d
--
2.41.0
A
A
Andreas Enge wrote on 16 Feb 11:06 +0100
Package name
(address . 69091@debbugs.gnu.org)
Zc8zjdwWZC7b4bA0@jurong
Hello,

according to our naming convention
I think the package should be called clojure-java-time (well, this is not
spelt out precisely, but we could argue by analogy, and by consistency with
the existing clojure packages).

I know nothing about clojure, but am wondering about two things:
- There is one other package with #:aot-exclude '(#:all), which gives
an explanation why the line is there; could you add one here as well?
- Would it make sense to package math.combinatorics first to enable the
tests? If we do not test now, I am afraid we will forget it later...

Andreas
S
S
Steve George wrote on 18 Feb 16:47 +0100
merging 69091 69119
(address . control@debbugs.gnu.org)
1708271254-1011-bts-steve@futurile.net
merge 69091 69119
thanks
L
L
Ludovic Courtès wrote on 2 Mar 17:17 +0100
Re: bug#69119: [PATCH v2 1/1] gnu: Add clojure.java-time.
(name . Steve George)(address . steve@futurile.net)
87cyscd2w4.fsf_-_@gnu.org
Hi Steve,

Did you have a chance to look into Andreas’ comments about this patch?


Ludo’.

Andreas Enge <andreas@enge.fr> skribis:

Toggle quote (16 lines)
> Hello,
>
> according to our naming convention
> https://guix.gnu.org/de/manual/devel/en/html_node/Package-Naming.html
> https://guix.gnu.org/de/manual/devel/en/html_node/Python-Modules.html
> I think the package should be called clojure-java-time (well, this is not
> spelt out precisely, but we could argue by analogy, and by consistency with
> the existing clojure packages).
>
> I know nothing about clojure, but am wondering about two things:
> - There is one other package with #:aot-exclude '(#:all), which gives
> an explanation why the line is there; could you add one here as well?
> - Would it make sense to package math.combinatorics first to enable the
> tests? If we do not test now, I am afraid we will forget it later...
>
> Andreas
S
S
Steve George wrote on 3 Mar 17:45 +0100
(name . Ludovic Courtès)(address . ludo@gnu.org)
ZeSpFh+a2XkGWk8c@t25sg
Hi Ludo,

I got blocked as this patch caused me to look at whether we should be compiling to byte-code by default. I have not been able to achieve consensus so far (and have taken some time off from the thread):


Having been unable to convince others I also asked the Clojure community:


Their perspective is that:

a. We should not byte-code compile libraries (what Clojure calls AOT), but we could do so for tools/apps.
b. We should not package libraries at all

From both interactions I'm unsure if packaging this (or any other Clojure libs/tools) is the right move.

Steve

On 2 Mar, Ludovic Courtès wrote:
Toggle quote (26 lines)
> Hi Steve,
>
> Did you have a chance to look into Andreas’ comments about this patch?
>
> https://issues.guix.gnu.org/69119
>
> Ludo’.
>
> Andreas Enge <andreas@enge.fr> skribis:
>
> > Hello,
> >
> > according to our naming convention
> > https://guix.gnu.org/de/manual/devel/en/html_node/Package-Naming.html
> > https://guix.gnu.org/de/manual/devel/en/html_node/Python-Modules.html
> > I think the package should be called clojure-java-time (well, this is not
> > spelt out precisely, but we could argue by analogy, and by consistency with
> > the existing clojure packages).
> >
> > I know nothing about clojure, but am wondering about two things:
> > - There is one other package with #:aot-exclude '(#:all), which gives
> > an explanation why the line is there; could you add one here as well?
> > - Would it make sense to package math.combinatorics first to enable the
> > tests? If we do not test now, I am afraid we will forget it later...
> >
> > Andreas
?