guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

23/25: gnu: chez: Add 'chez-scheme-for-system'.


From: guix-commits
Subject: 23/25: gnu: chez: Add 'chez-scheme-for-system'.
Date: Fri, 4 Mar 2022 17:54:16 -0500 (EST)

lilyp pushed a commit to branch master
in repository guix.

commit 9e9e4686f76c17e4bc926377637d66626a63b9a0
Author: Philip McGrath <philip@philipmcgrath.com>
AuthorDate: Sun Feb 27 16:29:19 2022 -0500

    gnu: chez: Add 'chez-scheme-for-system'.
    
    * gnu/packages/chez.scm (chez-scheme-for-system): New procedure.
    (chez-srfi, chez-web, chez-sockets, chez-matchable, chez-irregex)
    (chez-fmt, chez-mit, chez-scmutils): Use 'chez-scheme-for-system'.
    * gnu/packages/loko.scm (loko-scheme): Likewise.
    * gnu/packages/emacs-xyz.scm (emacs-geiser-chez): Likewise
    
    Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
---
 gnu/packages/chez.scm      | 33 ++++++++++++++++++++++++---------
 gnu/packages/emacs-xyz.scm |  2 +-
 gnu/packages/loko.scm      |  2 +-
 3 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index e7ddab0d1f..b3aadf3a78 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -47,7 +47,8 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
-  #:export (nix-system->chez-machine
+  #:export (chez-scheme-for-system
+            nix-system->chez-machine
             chez-machine->nonthreaded
             chez-machine->threaded
             unpack-nanopass+stex))
@@ -67,6 +68,20 @@
 ;;
 ;; Code:
 
+(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)))
+      chez-scheme
+      chez-scheme-for-racket))
+
 (define (chez-machine->nonthreaded machine)
   "Given a string MACHINE naming a Chez Scheme machine type, returns a string
 naming the nonthreaded machine type for the same architecture and OS as
@@ -751,7 +766,7 @@ create compilers, making them easier to understand and 
maintain.")
        (file-name (git-file-name name version))))
     (build-system gnu-build-system)
     (native-inputs
-     (list chez-scheme))
+     (list (chez-scheme-for-system)))
     (arguments
      (list #:make-flags (chez-make-flags name version)
            #:test-target "test"
@@ -782,7 +797,7 @@ create compilers, making them easier to understand and 
maintain.")
           (base32 "1dq25qygyncbfq4kwwqqgyyakfqjwhp5q23vrf3bff1p66nyfl3b"))))
       (build-system gnu-build-system)
       (native-inputs
-       (list chez-scheme
+       (list (chez-scheme-for-system)
              ghostscript
              ;; FIXME: This package fails to build with the error:
              ;;     mktexpk: don't know how to create bitmap font for bchr8r
@@ -847,7 +862,7 @@ programming in Scheme.")
           (base32 "1n5fbwwz51fdzvjackgmnsgh363g9inyxv7kmzi0469cwavwcx5m"))))
       (build-system gnu-build-system)
       (native-inputs
-       (list chez-scheme
+       (list (chez-scheme-for-system)
              chez-web
              (texlive-updmap.cfg (list texlive-pdftex))))
       (arguments
@@ -933,7 +948,7 @@ Chez Scheme.")
     (inputs
      (list chez-srfi)) ; for tests
     (native-inputs
-     (list chez-scheme))
+     (list (chez-scheme-for-system)))
     (arguments
      (list #:make-flags (chez-make-flags name version)
            #:test-target "test"
@@ -965,7 +980,7 @@ Chez Scheme.")
     (propagated-inputs
      (list chez-srfi)) ; for irregex-utils
     (native-inputs
-     (list chez-scheme))
+     (list (chez-scheme-for-system)))
     (arguments
      (list #:make-flags (chez-make-flags name version)
            #:test-target "test"
@@ -996,7 +1011,7 @@ syntax, with various aliases for commonly used patterns.")
     (propagated-inputs
      (list chez-srfi)) ; for irregex-utils
     (native-inputs
-     (list chez-scheme))
+     (list (chez-scheme-for-system)))
     (arguments
      (list #:make-flags (chez-make-flags name version)
            #:test-target "chez-check"
@@ -1059,7 +1074,7 @@ strings.")
     (inputs
      (list chez-srfi))       ; for tests
     (native-inputs
-     (list chez-scheme))
+     (list (chez-scheme-for-system)))
     (arguments
      (list #:make-flags (chez-make-flags name version)
            #:test-target "test"
@@ -1090,7 +1105,7 @@ required to port the program @code{Scmutils} to Chez 
Scheme.")
     (inputs
      (list chez-srfi))       ; for tests
     (native-inputs
-     (list chez-scheme))
+     (list (chez-scheme-for-system)))
     (propagated-inputs
      (list chez-mit chez-srfi))
     (arguments
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index da0031cd00..f131734f76 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -451,7 +451,7 @@ a generic Scheme interaction mode for the GNU Emacs 
editor.")
                 (string-append
                  "(eval-after-load 'geiser-impl '" all ")"))))))))
     (inputs
-     (list chez-scheme))
+     (list (chez-scheme-for-system)))
     (propagated-inputs
      (list emacs-geiser))
     (home-page "https://nongnu.org/geiser/";)
diff --git a/gnu/packages/loko.scm b/gnu/packages/loko.scm
index ef9312afe3..449c62f1f0 100644
--- a/gnu/packages/loko.scm
+++ b/gnu/packages/loko.scm
@@ -71,7 +71,7 @@
              #t)))))
     (native-inputs
      `(("akku" ,akku)
-       ("chez-scheme" ,chez-scheme)
+       ("chez-scheme" ,(chez-scheme-for-system))
        ("struct" ,guile-struct-pack)
        ("laesare" ,guile-laesare)
        ("pfds" ,guile-pfds)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]