me
/
guix
Archived
1
0
Fork 0

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>
master
Philip McGrath 2022-05-09 02:02:50 -04:00 committed by Ludovic Courtès
parent 4c0ac41ba4
commit 3547bb6a66
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 11 additions and 8 deletions

View File

@ -69,14 +69,17 @@
(define* (chez-scheme-for-system #:optional (define* (chez-scheme-for-system #:optional
(system (or (%current-target-system) (system (or (%current-target-system)
(%current-system)))) (%current-system))))
"Return 'chez-scheme' unless only 'chez-scheme-for-racket' supports SYSTEM, "Return 'chez-scheme' if it fully supports SYSTEM, including support for
including support for native threads." bootstrapping and native threads. Otherwise, return
(if (or 'chez-scheme-for-racket'."
;; full support upstream (if (and=> (chez-upstream-features-for-system system)
(and=> (chez-upstream-features-for-system system) (lambda (features)
(cut memq 'threads <>)) (every (cut memq <> features)
;; no support anywhere '(threads
(not (nix-system->chez-machine system))) ;; 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
chez-scheme-for-racket)) chez-scheme-for-racket))