guix-commits
[Top][All Lists]
Advanced

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

06/10: gnu: stex: Get machine type dynamically.


From: guix-commits
Subject: 06/10: gnu: stex: Get machine type dynamically.
Date: Thu, 12 May 2022 06:30:29 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 9f88d8b72d8250168f8c5347ed0b01dfc46f7e45
Author: Philip McGrath <philip@philipmcgrath.com>
AuthorDate: Mon May 9 02:02:47 2022 -0400

    gnu: stex: Get machine type dynamically.
    
    * gnu/packages/chez.scm (stex)[arguments]: Run 'scheme' to determine
    the machine type.
    
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/packages/chez.scm | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 785b6837c1..dd485d37e1 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -602,6 +602,10 @@ Chez Scheme.")))
                             ("src" "lib/stex/")
                             ("Mf-stex" "lib/stex/")
                             ("Makefile.template" "lib/stex/"))
+         #:modules
+         '((guix build copy-build-system)
+           (guix build utils)
+           (ice-9 popen))
          #:phases
          #~(modify-phases %standard-phases
              (add-before 'install 'patch-sources
@@ -633,8 +637,14 @@ Chez Scheme.")))
                         (define makefile
                           (string-append (getcwd) "/Makefile"))
                         (define machine
-                          #$(and=> (nix-system->chez-machine)
-                                   chez-machine->threaded))
+                          (let ((pipe (open-pipe* OPEN_BOTH scheme "-q")))
+                            ;; try to not be wrong for cross-compilation
+                            ;; (avoid #% reader abbreviation for Guile)
+                            (write '(($primitive $target-machine)) pipe)
+                            (force-output pipe)
+                            (let ((sym (read pipe)))
+                              (close-pipe pipe)
+                              (symbol->string sym))))
                         (with-directory-excursion
                             (search-input-directory outputs "/lib/stex")
                           (invoke "make"



reply via email to

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