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
parent
4c0ac41ba4
commit
3547bb6a66
|
@ -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))
|
||||
|
||||
|
|
Reference in New Issue