GNU bug report logs - #56295
[PATCH 0/5] Add some Chicken eggs and fix egg importer

Previous Next

Package: guix-patches;

Reported by: Hartmut Goebel <h.goebel <at> crazy-compilers.com>

Date: Wed, 29 Jun 2022 07:27:02 UTC

Severity: normal

Tags: patch

Done: Hartmut Goebel <h.goebel <at> crazy-compilers.com>

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 56295 in the body.
You can then email your comments to 56295 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#56295; Package guix-patches. (Wed, 29 Jun 2022 07:27:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 29 Jun 2022 07:27:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 0/5] Add some Chicken eggs and fix egg importer
Date: Wed, 29 Jun 2022 09:26:00 +0200
When testing the egg updater, I discovered 
that there was not a single package using the egg updater.
So this adds some (random) Chicken eggs for testing the egg updater.
And, well, there actually was a bug in the egg updater.

Note for reviewers: I already ran 'guix lint' on the packages.

Hartmut Goebel (5):
  gnu: Add chicken-crypto-tools.
  gnu: Add chicken-srfi-13.
  gnu: Add chicken-srfi-37.
  gnu: Add chicken-args.
  import: egg: Fix updater.

 gnu/packages/chicken.scm | 90 ++++++++++++++++++++++++++++++++++++++++
 guix/import/egg.scm      |  9 +---
 2 files changed, 92 insertions(+), 7 deletions(-)

-- 
2.30.4





Information forwarded to guix-patches <at> gnu.org:
bug#56295; Package guix-patches. (Wed, 29 Jun 2022 07:29:02 GMT) Full text and rfc822 format available.

Message #8 received at 56295 <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 56295 <at> debbugs.gnu.org
Subject: [PATCH 1/5] gnu: Add chicken-crypto-tools.
Date: Wed, 29 Jun 2022 09:27:46 +0200
* gnu/packages/chicken.scm (chicken-crypto-tools): New variable.
---
 gnu/packages/chicken.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/chicken.scm b/gnu/packages/chicken.scm
index d611c1762e..c4e0a9c693 100644
--- a/gnu/packages/chicken.scm
+++ b/gnu/packages/chicken.scm
@@ -278,3 +278,34 @@ with integers.")
      "This package provides a simple testing utility for CHICKEN Scheme.")
     (license license:bsd-3)))
 
+(define-public chicken-crypto-tools
+  (package
+    (name "chicken-crypto-tools")
+    (version "1.4")
+    (source (origin
+              (method url-fetch)
+              (uri (egg-uri "crypto-tools" version))
+              (sha256
+               (base32
+                "0ajf0qfnhp99f4x1dll2fhlxrsxamgrrwyksc7rrym77xmv8f1pd"))))
+    (build-system chicken-build-system)
+    (arguments '(#:egg-name "crypto-tools"))
+    (home-page "https://wiki.call-cc.org/egg/crypto-tools")
+    (synopsis "Useful cryptographic primitives")
+    (description "The crypto-tools egg implements useful cryptographic
+primitives.  More specifically, provided are:
+
+@itemize
+@item binary blobs
+@itemize
+@item marshallers to and from hex strings
+@item blob xor
+@item blob padding using either PKCS#5 or ISO7816-4
+@end itemize
+@item Block cipher modes of operation
+@itemize
+@item CBC with or without incorporated encrypted IV in the ciphertext
+@item CTR with or without incorporated IV in the ciphertext
+@end itemize
+@end itemize")
+    (license license:bsd-3)))
-- 
2.30.4





Information forwarded to guix-patches <at> gnu.org:
bug#56295; Package guix-patches. (Wed, 29 Jun 2022 07:29:02 GMT) Full text and rfc822 format available.

Message #11 received at 56295 <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 56295 <at> debbugs.gnu.org
Subject: [PATCH 3/5] gnu: Add chicken-srfi-37.
Date: Wed, 29 Jun 2022 09:27:48 +0200
* gnu/packages/chicken.scm (chicken-srfi-37): New variable.
---
 gnu/packages/chicken.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

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")
-- 
2.30.4





Information forwarded to guix-patches <at> gnu.org:
bug#56295; Package guix-patches. (Wed, 29 Jun 2022 07:29:03 GMT) Full text and rfc822 format available.

Message #14 received at 56295 <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 56295 <at> debbugs.gnu.org
Subject: [PATCH 2/5] gnu: Add chicken-srfi-13.
Date: Wed, 29 Jun 2022 09:27:47 +0200
* gnu/packages/chicken.scm (chicken-srfi-13): New variable.
---
 gnu/packages/chicken.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/chicken.scm b/gnu/packages/chicken.scm
index c4e0a9c693..b87b8118f1 100644
--- a/gnu/packages/chicken.scm
+++ b/gnu/packages/chicken.scm
@@ -109,6 +109,26 @@ useful list processing procedures for construction, examining, destructuring
 and manipulating lists and pairs.")
     (license license:bsd-3)))
 
+(define-public chicken-srfi-13
+  (package
+    (name "chicken-srfi-13")
+    (version "0.3.2")
+    (source (origin
+              (method url-fetch)
+              (uri (egg-uri "srfi-13" version))
+              (sha256
+               (base32
+                "18clbmaampaxivwx9bya9fxnkzqbczhlz0kbs9bfapm77mxkwclc"))))
+    (build-system chicken-build-system)
+    (arguments '(#:egg-name "srfi-13"))
+    (native-inputs (list chicken-test))
+    (propagated-inputs (list chicken-srfi-14))
+    (home-page "https://wiki.call-cc.org/egg/srfi-13")
+    (synopsis "SRFI-13 string library for Chicken scheme")
+    (description "This package provides the SRFI-13 string library for Chicken
+scheme.")
+    (license license:bsd-3)))
+
 (define-public chicken-srfi-14
   (package
     (name "chicken-srfi-14")
-- 
2.30.4





Information forwarded to guix-patches <at> gnu.org:
bug#56295; Package guix-patches. (Wed, 29 Jun 2022 07:29:03 GMT) Full text and rfc822 format available.

Message #17 received at 56295 <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 56295 <at> debbugs.gnu.org
Subject: [PATCH 5/5] import: egg: Fix updater.
Date: Wed, 29 Jun 2022 09:27:50 +0200
'egg-source-url' did not return the URL, but the quoted expression.  This did
break the updater, which expects the URL as a string.

* guix/import/egg.scm(egg-source-url): Remove.
  (egg->guix-package)[egg-content]: Use quoted expression directly.
  (latest-release): Call egg-uri instead of egg-source-url.
---
 guix/import/egg.scm | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/guix/import/egg.scm b/guix/import/egg.scm
index 0b88020554..52196583c4 100644
--- a/guix/import/egg.scm
+++ b/guix/import/egg.scm
@@ -85,11 +85,6 @@
 (define %eggs-home-page
   (make-parameter "https://wiki.call-cc.org/egg"))
 
-(define (egg-source-url name version)
-  "Return the URL to the source tarball for version VERSION of the CHICKEN egg
-NAME."
-  `(egg-uri ,name version))
-
 (define (egg-name->guix-name name)
   "Return the package name for CHICKEN egg NAME."
   (string-append package-name-prefix name))
@@ -196,7 +191,7 @@ not work."
       (let* ((version* (or (assoc-ref egg-content 'version)
                            (find-latest-version name)))
              (version (if (list? version*) (first version*) version*))
-             (source-url (if source #f (egg-source-url name version)))
+             (source-url (if source #f `(egg-uri ,name version)))
              (tarball (if source
                           #f
                           (with-store store
@@ -342,7 +337,7 @@ not work."
   "Return an @code{<upstream-source>} for the latest release of PACKAGE."
   (let* ((egg-name (guix-package->egg-name package))
          (version (find-latest-version egg-name))
-         (source-url (egg-source-url egg-name version)))
+         (source-url (egg-uri egg-name version)))
     (upstream-source
      (package (package-name package))
      (version version)
-- 
2.30.4





Information forwarded to guix-patches <at> gnu.org:
bug#56295; Package guix-patches. (Wed, 29 Jun 2022 07:29:04 GMT) Full text and rfc822 format available.

Message #20 received at 56295 <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 56295 <at> debbugs.gnu.org
Subject: [PATCH 4/5] gnu: Add chicken-args.
Date: Wed, 29 Jun 2022 09:27:49 +0200
* gnu/packages/chicken.scm (chicken-args): New variable.
---
 gnu/packages/chicken.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/chicken.scm b/gnu/packages/chicken.scm
index a35ef46f6b..baab6b971a 100644
--- a/gnu/packages/chicken.scm
+++ b/gnu/packages/chicken.scm
@@ -348,3 +348,23 @@ primitives.  More specifically, provided are:
 @end itemize
 @end itemize")
     (license license:bsd-3)))
+
+(define-public chicken-args
+  (package
+    (name "chicken-args")
+    (version "1.6.2")
+    (source (origin
+              (method url-fetch)
+              (uri (egg-uri "args" version))
+              (sha256
+               (base32
+                "0knkg31d4dq9a8rq9g3ycmj0z6j9l7zp93qa9cnqc8ixd6jsymkm"))))
+    (build-system chicken-build-system)
+    (arguments '(#:egg-name "args"))
+    (propagated-inputs (list chicken-srfi-1 chicken-srfi-13 chicken-srfi-37))
+    (home-page "https://wiki.call-cc.org/egg/args")
+    (synopsis "Command-line argument handling, on top of SRFI 37")
+    (description "This extension provides a wrapper around
+SRFI-37 (args-fold).  The main goal is to let the user parse command-line
+arguments without having to write a lot of similar support code every time.")
+    (license license:bsd-3)))
-- 
2.30.4





Information forwarded to guix-patches <at> gnu.org:
bug#56295; Package guix-patches. (Tue, 12 Jul 2022 21:31:01 GMT) Full text and rfc822 format available.

Message #23 received at 56295 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
Cc: 56295 <at> debbugs.gnu.org
Subject: Re: bug#56295: [PATCH 0/5] Add some Chicken eggs and fix egg importer
Date: Tue, 12 Jul 2022 23:30:00 +0200
Hi,

Hartmut Goebel <h.goebel <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#56295; Package guix-patches. (Tue, 12 Jul 2022 21:33:01 GMT) Full text and rfc822 format available.

Message #26 received at 56295 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
Cc: 56295 <at> debbugs.gnu.org
Subject: Re: bug#56295: [PATCH 0/5] Add some Chicken eggs and fix egg importer
Date: Tue, 12 Jul 2022 23:32:08 +0200
Hartmut Goebel <h.goebel <at> crazy-compilers.com> skribis:

> 'egg-source-url' did not return the URL, but the quoted expression.  This did
> break the updater, which expects the URL as a string.
>
> * guix/import/egg.scm(egg-source-url): Remove.
>   (egg->guix-package)[egg-content]: Use quoted expression directly.
>   (latest-release): Call egg-uri instead of egg-source-url.

Make sure “make check TESTS=tests/egg.scm” still passes.

If it does, go for it!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#56295; Package guix-patches. (Tue, 12 Jul 2022 21:34:02 GMT) Full text and rfc822 format available.

Message #29 received at 56295 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
Cc: 56295 <at> debbugs.gnu.org
Subject: Re: bug#56295: [PATCH 0/5] Add some Chicken eggs and fix egg importer
Date: Tue, 12 Jul 2022 23:32:55 +0200
Hartmut Goebel <h.goebel <at> crazy-compilers.com> skribis:

>   gnu: Add chicken-crypto-tools.
>   gnu: Add chicken-srfi-13.
>   gnu: Add chicken-srfi-37.
>   gnu: Add chicken-args.
>   import: egg: Fix updater.

Apart from ‘chicken-srfi-37’, it LGTM, thanks!

Ludo’.




Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Fri, 15 Jul 2022 18:43:02 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Fri, 15 Jul 2022 18:43:02 GMT) Full text and rfc822 format available.

Message #34 received at 56295-close <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 56295-close <at> debbugs.gnu.org
Subject: Re: bug#56295: [PATCH 0/5] Add some Chicken eggs and fix egg importer
Date: Fri, 15 Jul 2022 20:42:22 +0200
Thanks for the review. tests/egg.scm ist still passing. Removed the 
chicken-srfi-37 package and pushed as 
ec8bccd9903cbe30bd351768fe310814852b32ff.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel <at> crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 13 Aug 2022 11:24:13 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 256 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.