diff options
author | Philip McGrath <philip@philipmcgrath.com> | 2022-05-09 02:02:50 -0400 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-05-12 10:30:08 +0200 |
commit | 3547bb6a66c32eb1deac46a98b40e2e051689ed3 (patch) | |
tree | 548375fe5cc84a4c006d5bc55883c9a17bbac123 /gnu/packages/chez.scm | |
parent | 4c0ac41ba4072677ed5876dacb8e17a7671f20d5 (diff) | |
download | guix-3547bb6a66c32eb1deac46a98b40e2e051689ed3.tar.gz guix-3547bb6a66c32eb1deac46a98b40e2e051689ed3.zip |
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>
Diffstat (limited to 'gnu/packages/chez.scm')
-rw-r--r-- | gnu/packages/chez.scm | 19 |
1 files 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)) |