unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#35082] [PATCH] gnu: Add kawa.
@ 2019-04-02 13:16 Carlo Zancanaro
  2019-04-03 20:30 ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Carlo Zancanaro @ 2019-04-02 13:16 UTC (permalink / raw)
  To: 35082

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

The attached patch adds a package definition for Kawa. The 
synopsis and description differ from what guix lint suggests, but 
I'm not convinced that the suggested synopsis and description are 
better than what I have.

The suggested synopsis is "Java framework and implementation of 
Scheme, Elisp, and more", and the suggested description is "GNU 
Kawa is an implementation of the Scheme programming language that 
is built on top of the Java platform.  It is thus conveniently 
integrated with Java and benefits from this by having a compiler, 
optional static typing, and so on.  Kawa also serves as a 
framework for implementing other programming languages on the Java 
platform.  Included in Kawa is qexo, a partial implementation of 
XQuery in Java."


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-kawa.patch --]
[-- Type: text/x-diff, Size: 2451 bytes --]

From a528b757461e44693058515728192f9a7026f5ef Mon Sep 17 00:00:00 2001
From: Carlo Zancanaro <carlo@zancanaro.id.au>
Date: Mon, 25 Feb 2019 16:41:22 +1100
Subject: [PATCH] gnu: Add kawa.
To: guix-patches@gnu.org

* gnu/packages/scheme.scm (kawa): New variable.
---
 gnu/packages/scheme.scm | 32 +++++++++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 9dbb3713ee..7d207804d2 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -31,7 +31,7 @@
   #:use-module (gnu packages)
   #:use-module ((guix licenses)
                 #:select (gpl2+ lgpl2.0+ lgpl2.1+ lgpl3+ asl2.0 bsd-3
-                          cc-by-sa4.0 non-copyleft))
+                          cc-by-sa4.0 non-copyleft expat))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -69,6 +69,7 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages libedit)
+  #:use-module (gnu packages java)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 match))
 
@@ -1245,3 +1246,32 @@ multilingual support are some of the goals.  Gauche comes with a package
 manager/installer @code{gauche-package} which can download, compile, install
 and list gauche extension packages.")
     (license bsd-3)))
+
+(define-public kawa
+  (package
+    (name "kawa")
+    (version "3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "ftp://ftp.gnu.org/pub/gnu/kawa/kawa-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "1k9qpydc64ar4aqyg3q7jmmxy503ayj85227qfhc5n6ngchqavhy"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:parallel-build? #f
+       #:parallel-tests? #f))
+    (inputs
+     `(("icedtea" ,icedtea-8 "jdk")))
+    (home-page "https://www.gnu.org/software/kawa/")
+    (synopsis "Scheme on the Java Virtual machine")
+    (description "Kawa is an implementation of Scheme for the Java Virtual
+Machine.  It combines the benefits of dynamic scripting languages (minimal
+boiler-plate, fast to start up, REPL) with the benefits of traditional
+compiled languages (fast execution, static error detection, modularity,
+zero-overhead Java integration).  Kawa also provides a framework for
+implementing other programming languages on the Java platform.")
+    (license expat)))
-- 
2.21.0


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

* [bug#35082] [PATCH] gnu: Add kawa.
  2019-04-02 13:16 [bug#35082] [PATCH] gnu: Add kawa Carlo Zancanaro
@ 2019-04-03 20:30 ` Ludovic Courtès
  2019-04-04  0:33   ` Carlo Zancanaro
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2019-04-03 20:30 UTC (permalink / raw)
  To: Carlo Zancanaro; +Cc: 35082

Hello,

Carlo Zancanaro <carlo@zancanaro.id.au> skribis:

> The suggested synopsis is "Java framework and implementation of
> Scheme, Elisp, and more", and the suggested description is "GNU Kawa
> is an implementation of the Scheme programming language that is built
> on top of the Java platform.  It is thus conveniently integrated with
> Java and benefits from this by having a compiler, optional static
> typing, and so on.  Kawa also serves as a framework for implementing
> other programming languages on the Java platform.  Included in Kawa is
> qexo, a partial implementation of XQuery in Java."

I actually have a slight preference for these :-), I find it more
factual than what you propose, but I’m happy either way.

>>From a528b757461e44693058515728192f9a7026f5ef Mon Sep 17 00:00:00 2001
> From: Carlo Zancanaro <carlo@zancanaro.id.au>
> Date: Mon, 25 Feb 2019 16:41:22 +1100
> Subject: [PATCH] gnu: Add kawa.
> To: guix-patches@gnu.org
>
> * gnu/packages/scheme.scm (kawa): New variable.

[...]

> +       (method url-fetch)
> +       (uri (string-append
> +             "ftp://ftp.gnu.org/pub/gnu/kawa/kawa-"

Please use mirror://gnu.

I can amend the URL you, or you can send another patch.  Let me know!

Thanks,
Ludo’.

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

* [bug#35082] [PATCH] gnu: Add kawa.
  2019-04-03 20:30 ` Ludovic Courtès
@ 2019-04-04  0:33   ` Carlo Zancanaro
  2019-04-04  8:01     ` Ludovic Courtès
  2019-04-04  8:03     ` Ludovic Courtès
  0 siblings, 2 replies; 7+ messages in thread
From: Carlo Zancanaro @ 2019-04-04  0:33 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 35082, Per Bothner

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

Hey Ludo’,

On Thu, Apr 04 2019, Ludovic Courtès wrote:
> Carlo Zancanaro <carlo@zancanaro.id.au> skribis:
>
>> The suggested synopsis is "Java framework and implementation of 
>> Scheme, Elisp, and more", and the suggested description is "GNU 
>> Kawa is an implementation of the Scheme programming language 
>> that is built on top of the Java platform.  It is thus 
>> conveniently integrated with Java and benefits from this by 
>> having a compiler, optional static typing, and so on.  Kawa 
>> also serves as a framework for implementing other programming 
>> languages on the Java platform.  Included in Kawa is qexo, a 
>> partial implementation of XQuery in Java."
>
> I actually have a slight preference for these :-), I find it 
> more factual than what you propose, but I’m happy either way.

The main difference is the emphasis. The suggested text emphasises 
the "framework" aspect of Kawa, whereas my text emphasise the 
"Scheme" aspect (with a short mention of the framework at the 
end). I don't know which emphasis the project desires, so I've 
Cced Per Bothner in case he has a preference. The text that I have 
used in the description is loosely taken from the Kawa home 
page[1].

The placement in scheme.scm makes the Scheme emphasis a natural 
choice. Compare with the description of Racket, which is also a 
framework for building programming languages, but our synopsis and 
description emphasise that it is an implementation of Scheme.

I've attached a patch with the updated URL.

Carlo

[1]: https://www.gnu.org/software/kawa/index.html


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-kawa.patch --]
[-- Type: text/x-diff, Size: 2385 bytes --]

From bc7cd37b4bf8acf34a1f429a965f9bf28900b3d1 Mon Sep 17 00:00:00 2001
From: Carlo Zancanaro <carlo@zancanaro.id.au>
Date: Mon, 25 Feb 2019 16:41:22 +1100
Subject: [PATCH] gnu: Add kawa.

* gnu/packages/scheme.scm (kawa): New variable.
---
 gnu/packages/scheme.scm | 32 +++++++++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 9dbb3713ee..6d1051abfb 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -31,7 +31,7 @@
   #:use-module (gnu packages)
   #:use-module ((guix licenses)
                 #:select (gpl2+ lgpl2.0+ lgpl2.1+ lgpl3+ asl2.0 bsd-3
-                          cc-by-sa4.0 non-copyleft))
+                          cc-by-sa4.0 non-copyleft expat))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -69,6 +69,7 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages libedit)
+  #:use-module (gnu packages java)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 match))
 
@@ -1245,4 +1246,30 @@ multilingual support are some of the goals.  Gauche comes with a package
 manager/installer @code{gauche-package} which can download, compile, install
 and list gauche extension packages.")
     (license bsd-3)))
+
+(define-public kawa
+  (package
+    (name "kawa")
+    (version "3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://gnu/kawa/kawa-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1k9qpydc64ar4aqyg3q7jmmxy503ayj85227qfhc5n6ngchqavhy"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:parallel-build? #f
+       #:parallel-tests? #f))
+    (inputs
+     `(("icedtea" ,icedtea-8 "jdk")))
+    (home-page "https://www.gnu.org/software/kawa/")
+    (synopsis "Scheme on the Java Virtual machine")
+    (description "Kawa is an implementation of Scheme for the Java Virtual
+Machine.  It combines the benefits of dynamic scripting languages (minimal
+boiler-plate, fast to start up, REPL) with the benefits of traditional
+compiled languages (fast execution, static error detection, modularity,
+zero-overhead Java integration).  Kawa also provides a framework for
+implementing other programming languages on the Java platform.")
+    (license expat)))
-- 
2.21.0


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

* [bug#35082] [PATCH] gnu: Add kawa.
  2019-04-04  0:33   ` Carlo Zancanaro
@ 2019-04-04  8:01     ` Ludovic Courtès
  2019-04-04  8:03     ` Ludovic Courtès
  1 sibling, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2019-04-04  8:01 UTC (permalink / raw)
  To: Carlo Zancanaro; +Cc: 35082, Per Bothner

Hello,

Carlo Zancanaro <carlo@zancanaro.id.au> skribis:

> On Thu, Apr 04 2019, Ludovic Courtès wrote:
>> Carlo Zancanaro <carlo@zancanaro.id.au> skribis:
>>
>>> The suggested synopsis is "Java framework and implementation of
>>> Scheme, Elisp, and more", and the suggested description is "GNU
>>> Kawa is an implementation of the Scheme programming language that
>>> is built on top of the Java platform.  It is thus conveniently
>>> integrated with Java and benefits from this by having a compiler,
>>> optional static typing, and so on.  Kawa also serves as a framework
>>> for implementing other programming languages on the Java platform.
>>> Included in Kawa is qexo, a partial implementation of XQuery in
>>> Java."
>>
>> I actually have a slight preference for these :-), I find it more
>> factual than what you propose, but I’m happy either way.
>
> The main difference is the emphasis. The suggested text emphasises the
> "framework" aspect of Kawa, whereas my text emphasise the "Scheme"
> aspect (with a short mention of the framework at the end). I don't
> know which emphasis the project desires, so I've Cced Per Bothner in
> case he has a preference. The text that I have used in the description
> is loosely taken from the Kawa home page[1].

Per, note that the “suggested description” that Carlo refers to above
is the canonical description that GNU has for Kawa:

  http://cvs.savannah.gnu.org/viewvc/*checkout*/womb/gnumaint/rec/pkgblurbs.rec

We should change it if it doesn’t match the way you would present Kawa.

Let us know what you think!

Thanks,
Ludo’.

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

* [bug#35082] [PATCH] gnu: Add kawa.
  2019-04-04  0:33   ` Carlo Zancanaro
  2019-04-04  8:01     ` Ludovic Courtès
@ 2019-04-04  8:03     ` Ludovic Courtès
  2019-04-04  8:10       ` Ricardo Wurmus
  1 sibling, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2019-04-04  8:03 UTC (permalink / raw)
  To: Carlo Zancanaro; +Cc: 35082

Hi again,

Carlo Zancanaro <carlo@zancanaro.id.au> skribis:

> --- a/gnu/packages/scheme.scm
> +++ b/gnu/packages/scheme.scm
> @@ -31,7 +31,7 @@
>    #:use-module (gnu packages)
>    #:use-module ((guix licenses)
>                  #:select (gpl2+ lgpl2.0+ lgpl2.1+ lgpl3+ asl2.0 bsd-3
> -                          cc-by-sa4.0 non-copyleft))
> +                          cc-by-sa4.0 non-copyleft expat))
>    #:use-module (guix packages)
>    #:use-module (guix download)
>    #:use-module (guix git-download)
> @@ -69,6 +69,7 @@
>    #:use-module (gnu packages tls)
>    #:use-module (gnu packages gl)
>    #:use-module (gnu packages libedit)
> +  #:use-module (gnu packages java)

It just occurred to me that this new dependency on java.scm is probably
not desirable since it pulls in a lot of additional stuff.  I think we
should instead move Kawa to java.scm.  WDYT?

Anyway let’s also wait for Per’s reply.

Thanks,
Ludo’.

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

* [bug#35082] [PATCH] gnu: Add kawa.
  2019-04-04  8:03     ` Ludovic Courtès
@ 2019-04-04  8:10       ` Ricardo Wurmus
  2019-06-13 11:02         ` bug#35082: " Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Ricardo Wurmus @ 2019-04-04  8:10 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 35082


Ludovic Courtès <ludo@gnu.org> writes:

> Hi again,
>
> Carlo Zancanaro <carlo@zancanaro.id.au> skribis:
>
>> --- a/gnu/packages/scheme.scm
>> +++ b/gnu/packages/scheme.scm
>> @@ -31,7 +31,7 @@
>>    #:use-module (gnu packages)
>>    #:use-module ((guix licenses)
>>                  #:select (gpl2+ lgpl2.0+ lgpl2.1+ lgpl3+ asl2.0 bsd-3
>> -                          cc-by-sa4.0 non-copyleft))
>> +                          cc-by-sa4.0 non-copyleft expat))
>>    #:use-module (guix packages)
>>    #:use-module (guix download)
>>    #:use-module (guix git-download)
>> @@ -69,6 +69,7 @@
>>    #:use-module (gnu packages tls)
>>    #:use-module (gnu packages gl)
>>    #:use-module (gnu packages libedit)
>> +  #:use-module (gnu packages java)
>
> It just occurred to me that this new dependency on java.scm is probably
> not desirable since it pulls in a lot of additional stuff.  I think we
> should instead move Kawa to java.scm.  WDYT?

…or even to kawa.scm, just as we have clojure.scm.  I’ve been meaning to
move everything but the JDK bootstrap out of java.scm.

--
Ricardo

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

* bug#35082: [PATCH] gnu: Add kawa.
  2019-04-04  8:10       ` Ricardo Wurmus
@ 2019-06-13 11:02         ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2019-06-13 11:02 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 35082-done

Hello Carlo,

I realized we had been blocking this patch for too long for no good
reason, so I pushed a variant thereof as
47f2168b6fabb105565526b2a1243eeeb13008fe.

Thanks,
Ludo’.

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

end of thread, other threads:[~2019-06-13 11:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-02 13:16 [bug#35082] [PATCH] gnu: Add kawa Carlo Zancanaro
2019-04-03 20:30 ` Ludovic Courtès
2019-04-04  0:33   ` Carlo Zancanaro
2019-04-04  8:01     ` Ludovic Courtès
2019-04-04  8:03     ` Ludovic Courtès
2019-04-04  8:10       ` Ricardo Wurmus
2019-06-13 11:02         ` bug#35082: " Ludovic Courtès

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