Subject: [bug#39372] Chicken Scheme: Update version to 5.1.0 and add gcc-toolchain

From: Ekaitz Zarraga <[email-masked]>
Date: Sun, 09 Feb 2020 14:11:09 +0000

> I suppose this is caused by a module loop or something between (gnu
> packages scheme) and (gnu packages commencement). Maybe splitting (gnu
> packages scheme) into two things (maybe a new (gnu packages chicken))
> would solve the issue?

I think it does. I made a new patch with that but I'm not sure if I did
everything right:

>From a898269624da04cceb539e0b7ca929cfea23be4d Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <[email-masked]>
Date: Sun, 9 Feb 2020 15:08:41 +0100
Subject: [PATCH] Move chicken to a separate package

---
 gnu/local.mk             |  1 +
 gnu/packages/chicken.scm | 50 ++++++++++++++++++++++++++++++++++++++++
 gnu/packages/scheme.scm  | 41 --------------------------------
 3 files changed, 51 insertions(+), 41 deletions(-)
 create mode 100644 gnu/packages/chicken.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 64ad653542..d86b39cacb 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -109,6 +109,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/check.scm			\
   %D%/packages/chemistry.scm			\
   %D%/packages/chez.scm				\
+  %D%/packages/chicken.scm				\
   %D%/packages/chromium.scm			\
   %D%/packages/ci.scm				\
   %D%/packages/cinnamon.scm			\
diff --git a/gnu/packages/chicken.scm b/gnu/packages/chicken.scm
new file mode 100644
index 0000000000..070373e049
--- /dev/null
+++ b/gnu/packages/chicken.scm
@@ -0,0 +1,50 @@
+(define-module (gnu packages chicken)
+  #:use-module (gnu packages)
+  #:use-module (guix packages)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module ((guix licenses)
+                #:select (bsd-3))
+  #:use-module (gnu packages commencement))
+
+(define-public chicken
+  (package
+    (name "chicken")
+    (version "5.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://code.call-cc.org/releases/"
+                                  version "/chicken-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0jsbp3kp0134f318j3wpd1n85gf8qzh034fn198gvazsv2l024aw"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (srfi srfi-1))
+
+       ;; No `configure' script; run "make check" after "make install" as
+       ;; prescribed by README.
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'check)
+         (add-after 'install 'check
+           (assoc-ref %standard-phases 'check)))
+
+       #:make-flags (let ((out (assoc-ref %outputs "out")))
+                      (list "PLATFORM=linux"
+                            (string-append "PREFIX=" out)
+                            (string-append "VARDIR=" out "/var/lib")))
+
+       ;; Parallel builds are not supported, as noted in README.
+       #:parallel-build? #f))
+    (propagated-inputs `(("gcc-toolchain", gcc-toolchain)))
+    (home-page "http://www.call-cc.org/")
+    (synopsis "R5RS Scheme implementation that compiles native code via C")
+    (description
+     "CHICKEN is a compiler for the Scheme programming language.  CHICKEN
+produces portable and efficient C, supports almost all of the R5RS Scheme
+language standard, and includes many enhancements and extensions.")
+    (license bsd-3)))
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 1009896a70..c891a77a18 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -368,47 +368,6 @@ applications in many fields such as multimedia (web galleries, music players,
 mashups, office (web agendas, mail clients, ...), etc.")
     (license gpl2+)))

-(define-public chicken
-  (package
-    (name "chicken")
-    (version "5.0.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://code.call-cc.org/releases/"
-                                  version "/chicken-" version ".tar.gz"))
-              (sha256
-               (base32
-                "15b5yrzfa8aimzba79x7v6y282f898rxqxfxrr446sjx9jwlpfd8"))))
-    (build-system gnu-build-system)
-    (arguments
-     `(#:modules ((guix build gnu-build-system)
-                  (guix build utils)
-                  (srfi srfi-1))
-
-       ;; No `configure' script; run "make check" after "make install" as
-       ;; prescribed by README.
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (delete 'check)
-         (add-after 'install 'check
-           (assoc-ref %standard-phases 'check)))
-
-       #:make-flags (let ((out (assoc-ref %outputs "out")))
-                      (list "PLATFORM=linux"
-                            (string-append "PREFIX=" out)
-                            (string-append "VARDIR=" out "/var/lib")))
-
-       ;; Parallel builds are not supported, as noted in README.
-       #:parallel-build? #f))
-    (home-page "http://www.call-cc.org/")
-    (synopsis "R5RS Scheme implementation that compiles native code via C")
-    (description
-     "CHICKEN is a compiler for the Scheme programming language.  CHICKEN
-produces portable and efficient C, supports almost all of the R5RS Scheme
-language standard, and includes many enhancements and extensions.")
-    (license bsd-3)))
-
 (define-public scheme48
   (package
     (name "scheme48")
--
2.17.1