guix-commits
[Top][All Lists]
Advanced

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

09/10: gnu: chez-scheme-for-system: Adjust for bytecode backend.


From: guix-commits
Subject: 09/10: gnu: chez-scheme-for-system: Adjust for bytecode backend.
Date: Thu, 12 May 2022 06:30:30 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 3547bb6a66c32eb1deac46a98b40e2e051689ed3
Author: Philip McGrath <philip@philipmcgrath.com>
AuthorDate: Mon May 9 02:02:50 2022 -0400

    gnu: chez-scheme-for-system: Adjust for bytecode backend.
    
    Change 'chez-scheme-for-system' to return 'chez-scheme-for-racket' in
    two cases when it previously returned 'chez-scheme':
    
     1. When 'chez-scheme' is not distributed with bootstrap bootfiles,
        since we can only cross-compile 'chez-scheme' for those systems; and
    
     2. When neither 'chez-scheme' nor 'chez-scheme-for-racket' supports
        native code generation, since we will be able to use the ``portable
        bytecode'' backends of 'chez-scheme-for-racket' as soon as the
        issues in <https://racket.discourse.group/t/950> are resolved.
    
    * gnu/packages/chez.scm (chez-scheme-for-racket): Change condition.
    
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/packages/chez.scm | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index cae17580f8..7e6273f26a 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -69,14 +69,17 @@
 (define* (chez-scheme-for-system #:optional
                                  (system (or (%current-target-system)
                                              (%current-system))))
-  "Return 'chez-scheme' unless only 'chez-scheme-for-racket' supports SYSTEM,
-including support for native threads."
-  (if (or
-       ;; full support upstream
-       (and=> (chez-upstream-features-for-system system)
-              (cut memq 'threads <>))
-       ;; no support anywhere
-       (not (nix-system->chez-machine system)))
+  "Return 'chez-scheme' if it fully supports SYSTEM, including support for
+bootstrapping and native threads.  Otherwise, return
+'chez-scheme-for-racket'."
+  (if (and=> (chez-upstream-features-for-system system)
+             (lambda (features)
+               (every (cut memq <> features)
+                      '(threads
+                        ;; We can cross-compile for platforms without
+                        ;; bootstrap bootfiles, but we can't self-host
+                        ;; on them short of adding more binary seeds.
+                        bootstrap-bootfiles))))
       chez-scheme
       chez-scheme-for-racket))
 



reply via email to

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