diff mbox series

[bug#56295,3/5] gnu: Add chicken-srfi-37.

Message ID 456f97ae1ebdfaf83f29f4f9cc46c52e18ed6909.1656487185.git.h.goebel@crazy-compilers.com
State Accepted
Headers show
Series Add some Chicken eggs and fix egg importer | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Hartmut Goebel June 29, 2022, 7:27 a.m. UTC
* gnu/packages/chicken.scm (chicken-srfi-37): New variable.
---
 gnu/packages/chicken.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

Ludovic Courtès July 12, 2022, 9:30 p.m. UTC | #1
Hi,

Hartmut Goebel <h.goebel@crazy-compilers.com> skribis:

> * gnu/packages/chicken.scm (chicken-srfi-37): New variable.

[...]

> +    (home-page "https://wiki.call-cc.org/egg/srfi-37")
> +    (synopsis "SRFI-37 command-line option parsing for Chicken scheme")
> +    (description "This package provides SRFI-37, a simple and flexible
> +command-line option parsing facility, for Chicken scheme.")
> +    (license (license:non-copyleft home-page)))) ;; TODO: refine

It carries the SRFI license, which is non-free (Philip McGrath stumbled
upon a similar issue with Racket¹).  So this package cannot be included.

There exist free implementations of SRFI-37 though, such as that of
Guile, so one option would be to come up with a separate egg released
under a free license.

I realize that may be more work than you were expecting, but I expecting
porting this module from Guile (say) to CHICKEN to be within reach.

Thanks,
Ludo’.

¹ https://lists.gnu.org/archive/html/guix-devel/2021-10/msg00220.html
diff mbox series

Patch

diff --git a/gnu/packages/chicken.scm b/gnu/packages/chicken.scm
index b87b8118f1..a35ef46f6b 100644
--- a/gnu/packages/chicken.scm
+++ b/gnu/packages/chicken.scm
@@ -156,6 +156,25 @@  a characters and be compared to other character sets")
     (license (license:non-copyleft
               "http://wiki.call-cc.org/eggref/5/srfi-14#license"))))
 
+(define-public chicken-srfi-37
+  (package
+    (name "chicken-srfi-37")
+    (version "1.4")
+    (source (origin
+              (method url-fetch)
+              (uri (egg-uri "srfi-37" version))
+              (sha256
+               (base32
+                "10n2qyyv7n4r0m20wyzd8y6s6knc67kdh9i8gp8jgz8b05p7xy8g"))))
+    (build-system chicken-build-system)
+    (arguments '(#:egg-name "srfi-37"))
+    (native-inputs (list chicken-test))
+    (home-page "https://wiki.call-cc.org/egg/srfi-37")
+    (synopsis "SRFI-37 command-line option parsing for Chicken scheme")
+    (description "This package provides SRFI-37, a simple and flexible
+command-line option parsing facility, for Chicken scheme.")
+    (license (license:non-copyleft home-page)))) ;; TODO: refine
+
 (define-public chicken-srfi-69
   (package
     (name "chicken-srfi-69")