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>
This commit is contained in:
Philip McGrath 2022-05-09 02:02:47 -04:00 committed by Ludovic Courtès
parent 7ea79beda3
commit 9f88d8b72d
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -602,6 +602,10 @@ (define-public stex-bootstrap
("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 @@ (define 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"