guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

21/25: gnu: chez-mit: Support chez-scheme-for-racket.


From: guix-commits
Subject: 21/25: gnu: chez-mit: Support chez-scheme-for-racket.
Date: Fri, 4 Mar 2022 17:54:15 -0500 (EST)

lilyp pushed a commit to branch master
in repository guix.

commit b639b36de2addf1aa40e9b260f048288face3ce3
Author: Philip McGrath <philip@philipmcgrath.com>
AuthorDate: Sun Feb 27 16:29:17 2022 -0500

    gnu: chez-mit: Support chez-scheme-for-racket.
    
    Racket's variant of Chez Scheme defines 'string->uninterned-symbol',
    which conflicts with the definition from '(chez mit)'. See discussion at
    <https://github.com/racket/racket/issues/4151>.
    
    * gnu/packages/chez.scm (chez-mit)[origin]<snippet>: Add workaround for
    chez-scheme-for-racket.
    
    Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
---
 gnu/packages/chez.scm | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index da267d3616..5d5108a2b1 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -949,7 +949,29 @@ strings.")
              (commit (string-append "v" version))))
        (sha256
         (base32 "0c7i3b6i90xk96nmxn1pc9272a4yal4v40dm1a4ybdi87x53zkk0"))
-       (file-name (git-file-name name version))))
+       (file-name (git-file-name name version))
+       (snippet
+        ;; Workaround for chez-scheme-for-racket.
+        ;; See: https://github.com/racket/racket/issues/4151
+        #~(begin
+            (use-modules (guix build utils))
+            (substitute* "mit/core.sls"
+              (("[(]import ")
+               "(import (only (chezscheme) import)\n")
+              (("[(]define string->uninterned-symbol gensym[)]")
+               (format #f "~s"
+                       '(begin
+                          (import (only (chezscheme)
+                                        meta-cond
+                                        library-exports))
+                          (meta-cond
+                           ((memq 'string->uninterned-symbol
+                                  (library-exports '(chezscheme)))
+                            (import (only (chezscheme)
+                                          string->uninterned-symbol)))
+                           (else
+                            (define string->uninterned-symbol
+                              gensym)))))))))))
     (build-system gnu-build-system)
     (inputs
      (list chez-srfi))       ; for tests



reply via email to

[Prev in Thread] Current Thread [Next in Thread]