summary refs log tree commit diff
path: root/gnu/packages/file.scm
diff options
context:
space:
mode:
authorPhilip McGrath <philip@philipmcgrath.com>2022-08-27 14:55:52 -0400
committerLudovic Courtès <ludo@gnu.org>2022-09-04 23:10:12 +0200
commita15d72f8e1f301a1f63c363de0aab9eaa43c1664 (patch)
tree6f16b9b22e37261ae998d2ed9dc02d85a3a43e4d /gnu/packages/file.scm
parentcb0d106590400eefb74c1d747805b3014fe645d0 (diff)
downloadguix-a15d72f8e1f301a1f63c363de0aab9eaa43c1664.tar.gz
gnu: chez-scheme-for-racket: Support all systems.
On systems for which Racket's variant of Chez Scheme cannot generate
native code, it can use a 'pbarch' machine type: a variant of the
``portable bytecode'' backend specialized to word size and endianness.
This allows Racket CS to replace Racket BC on those systems while
maintaining comparable performance. (Racket BC lacks JIT support for
those systems anyway.) It also lets us provide a Chez Scheme package on
all systems Guix supports.

This patch adds 'pbarch' support to both 'chez-scheme-for-racket' and
'racket-vm-cs', but it does not change the Racket VM implementation used
for the 'racket' and 'racket-minimal' packages.

* gnu/packages/chez.scm (nix-system->pbarch-machine-type): New variable.
(chez-scheme-for-racket)[inputs]: Use 'libffi' for non-native systems.
[arguments]<#:configure-flags>: Always supply '-m='. Add applicable
flags for non-native systems.
[supported-systems]: Use '%supported-systems'.
[description]: Update.
(chez-scheme-for-racket-bootstrap-bootfiles)[arguments]<#:phases>: Adapt
'build' phase for non-native systems.
* gnu/packages/racket.scm (racket-vm-bc)[description]: Update.
(racket-vm-cs)[description]: Likewise.
[inputs]: Use 'libffi' for non-native systems.
[arguments]<#:configure-flags>: Add applicable flags for non-native
systems.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/file.scm')
0 files changed, 0 insertions, 0 deletions