mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-14 19:05:10 -05:00
gexp: Add system and target support to gexp->file.
* guix/gexp.scm (gexp->file): Add system and target arguments and pass them to gexp->derivation and load-path-expression calls, (scheme-file-compiler): adapt accordingly to pass system and target arguments.
This commit is contained in:
parent
80a61b38b8
commit
3cd1444df7
1 changed files with 17 additions and 5 deletions
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -456,7 +457,10 @@ (define-gexp-compiler (scheme-file-compiler (file <scheme-file>)
|
|||
;; Compile FILE by returning a derivation that builds the file.
|
||||
(match file
|
||||
(($ <scheme-file> name gexp splice?)
|
||||
(gexp->file name gexp #:splice? splice?))))
|
||||
(gexp->file name gexp
|
||||
#:splice? splice?
|
||||
#:system system
|
||||
#:target target))))
|
||||
|
||||
;; Appending SUFFIX to BASE's output file name.
|
||||
(define-record-type <file-append>
|
||||
|
@ -1598,7 +1602,9 @@ (define* (gexp->script name exp
|
|||
(define* (gexp->file name exp #:key
|
||||
(set-load-path? #t)
|
||||
(module-path %load-path)
|
||||
(splice? #f))
|
||||
(splice? #f)
|
||||
(system (%current-system))
|
||||
target)
|
||||
"Return a derivation that builds a file NAME containing EXP. When SPLICE?
|
||||
is true, EXP is considered to be a list of expressions that will be spliced in
|
||||
the resulting file.
|
||||
|
@ -1621,10 +1627,14 @@ (define extensions (gexp-extensions exp))
|
|||
exp
|
||||
(gexp ((ungexp exp)))))))))
|
||||
#:local-build? #t
|
||||
#:substitutable? #f)
|
||||
#:substitutable? #f
|
||||
#:system system
|
||||
#:target target)
|
||||
(mlet %store-monad ((set-load-path
|
||||
(load-path-expression modules module-path
|
||||
#:extensions extensions)))
|
||||
#:extensions extensions
|
||||
#:system system
|
||||
#:target target)))
|
||||
(gexp->derivation name
|
||||
(gexp
|
||||
(call-with-output-file (ungexp output)
|
||||
|
@ -1637,7 +1647,9 @@ (define extensions (gexp-extensions exp))
|
|||
(gexp ((ungexp exp)))))))))
|
||||
#:module-path module-path
|
||||
#:local-build? #t
|
||||
#:substitutable? #f))))
|
||||
#:substitutable? #f
|
||||
#:system system
|
||||
#:target target))))
|
||||
|
||||
(define* (text-file* name #:rest text)
|
||||
"Return as a monadic value a derivation that builds a text file containing
|
||||
|
|
Loading…
Reference in a new issue