diff options
author | Philip McGrath <philip@philipmcgrath.com> | 2022-08-27 14:55:51 -0400 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-09-04 23:10:12 +0200 |
commit | cb0d106590400eefb74c1d747805b3014fe645d0 (patch) | |
tree | 14120728f36b642aa33f14147f43125b04b617e2 /gnu | |
parent | 9ed6e51ceb58834812090d91ec2107f9ee90b47b (diff) | |
download | guix-cb0d106590400eefb74c1d747805b3014fe645d0.tar.gz guix-cb0d106590400eefb74c1d747805b3014fe645d0.zip |
gnu: racket: Support cross-compiling the VM packages.
Cross-compilation works for 'racket-vm-cgc', 'racket-vm-bc', and
'racket-vm-cs'. These changes are not enough to cross-compile
'racket-minimal' or 'racket': that would require building and loading
cross-compilation pluggins for 'racket-vm-cs', which will be much
easier once we can build the package 'raco-cross'.
* gnu/packages/racket.scm (racket-vm-cgc): Add 'this-package' when
cross-compiling.
(racket-vm-bc)[native-inputs]: Adjust accordingly.
(racket-vm-cs)[native-inputs]: Use 'racket-vm-cs' instead of
'racket-vm-bc' when cross-compiling. Adapt to changes to
'racket-vm-cgc'.
[arguments]<#:configure-flags>: Fix '--enable-scheme' for
cross-compilation.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/racket.scm | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 349cf38e07..4fcdd2f721 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -312,8 +312,11 @@ One of the early layers implements macros.") (source %racket-origin) (inputs (list ncurses ;; <- common to all variants (for #%terminal) libffi)) ;; <- only for BC variants - (native-inputs (list zuo ;; <- for all variants - libtool)) ;; <- only for BC variants + (native-inputs (cons* zuo ;; <- for all variants + libtool ;; <- only for BC variants + (if (%current-target-system) + (list this-package) + '()))) (outputs '("out" "debug")) (build-system gnu-build-system) (arguments @@ -401,8 +404,10 @@ code to use the 3M garbage collector.") (inherit racket-vm-cgc) (name "racket-vm-bc") (native-inputs - (modify-inputs (package-native-inputs racket-vm-cgc) - (prepend racket-vm-cgc))) + (if (%current-target-system) + (package-native-inputs racket-vm-cgc) + (modify-inputs (package-native-inputs racket-vm-cgc) + (prepend racket-vm-cgc)))) (arguments (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:configure-flags _ '()) @@ -432,11 +437,17 @@ collector, 3M (``Moving Memory Manager'').") (prepend zlib lz4) (delete "libffi"))) (native-inputs - (modify-inputs (package-native-inputs racket-vm-cgc) - (delete "libtool") - (prepend chez-scheme-for-racket - chez-nanopass-bootstrap - racket-vm-bc))) + (let ((native-inputs (package-native-inputs racket-vm-cgc))) + (modify-inputs (if (%current-target-system) + (modify-inputs native-inputs + (delete "racket-vm-cgc")) + native-inputs) + (delete "libtool") + (prepend chez-scheme-for-racket + chez-nanopass-bootstrap + (if (%current-target-system) + racket-vm-cs + racket-vm-bc))))) (arguments (substitute-keyword-arguments (package-arguments racket-vm-cgc) ((#:phases those-phases #~%standard-phases) @@ -450,7 +461,7 @@ collector, 3M (``Moving Memory Manager'').") "--enable-libz" "--enable-lz4" (string-append "--enable-scheme=" - #$(this-package-native-input + #+(this-package-native-input "chez-scheme-for-racket") "/bin/scheme") #$racket-vm-common-configure-flags)))) |