Subject: [PATCH v5 12/22] gnu: racket: Add 'racket-vm-for-system'.

From: Philip McGrath <[email-masked]>
Date: Sat, 26 Feb 2022 08:02:44 -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 ba958b6101..93e5eea158 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
@@ -508,7 +516,7 @@ (define-public racket-minimal
     (inputs
      (cons* openssl
             sqlite
-            racket-vm-cs ;; TODO (racket-vm-for-system)
+            (racket-vm-for-system)
             (extract-package-source*
              `((,%racket-origin
                 ("base" "pkgs/base")
@@ -625,7 +633,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)
       (extract-package-source*
        `((,(origin
              (method git-fetch)
-- 
2.32.0