Subject: [PATCH v6 13/24] gnu: racket: Add 'racket-vm-for-system'.

From: Philip McGrath <[email-masked]>
Date: Sat, 26 Feb 2022 21:34:39 -0500

* gnu/packages/racket.scm (racket-vm-for-system): New procedure.
(racket-minimal, racket)[inputs]: Use it.
---
 gnu/packages/racket.scm | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm
index 59944031e6..10ec0591d9 100644
--- a/gnu/packages/racket.scm
+++ b/gnu/packages/racket.scm
@@ -187,6 +187,14 @@ (define-module (gnu packages racket)
 ;;
 ;; Code:
 
+(define* (racket-vm-for-system #:optional
+                               (system (or (%current-target-system)
+                                           (%current-system))))
+  "Return 'racket-vm-cs' if it supports SYSTEM; 'racket-vm-bc' otherwise."
+  (if (nix-system->chez-machine system)
+      racket-vm-cs
+      racket-vm-bc))
+
 (define %racket-version "8.4")
 ;; ^ Remember to update chez-scheme-for-racket-bootstrap-bootfiles!
 (define %racket-commit
@@ -513,7 +521,7 @@ (define-public racket-minimal
     (inputs
      (list openssl
            sqlite
-           racket-vm-cs ;; TODO (racket-vm-for-system)
+           (racket-vm-for-system)
            (racket-packages-origin
             "base" %racket-origin
             '("base" "pkgs/base")
@@ -630,7 +638,7 @@ (define-public racket
       unixodbc
       libedit ;; TODO reconsider in light of expeditor and readline-gpl
       racket-minimal ;; <-- TODO non-tethered layer
-      racket-vm-cs ;; TODO (racket-vm-for-system)
+      (racket-vm-for-system)
       (simple-racket-origin
        "2d" (base32 "1zzcz5qyjv7syi41vb8jkxjp1rqgj61zbsdrg0nlc4qy9qsafzgr")
        "2d" "2d-doc" "2d-lib")
-- 
2.32.0