diff options
author | Mathieu Othacehe <m.othacehe@gmail.com> | 2019-12-14 17:52:53 +0100 |
---|---|---|
committer | Mathieu Othacehe <m.othacehe@gmail.com> | 2019-12-22 10:04:04 +0100 |
commit | 7e0539649cb96150b09614335c7f26a521c7bb35 (patch) | |
tree | ed099415d6f720931405a9b215fd8e96c1dfa0b3 | |
parent | 15ffff8b4716fce3ca400c0d33ea0e122ac38262 (diff) | |
download | patches-7e0539649cb96150b09614335c7f26a521c7bb35.tar patches-7e0539649cb96150b09614335c7f26a521c7bb35.tar.gz |
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.
-rw-r--r-- | guix/gexp.scm | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/guix/gexp.scm b/guix/gexp.scm index 411f0844ff..12331052a6 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -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 @@ This is the declarative counterpart of 'gexp->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> @@ -1603,7 +1607,9 @@ imported modules in its search path. Look up EXP's modules in MODULE-PATH." (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. @@ -1626,10 +1632,14 @@ Lookup EXP's modules in MODULE-PATH." 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) @@ -1642,7 +1652,9 @@ Lookup EXP's modules in MODULE-PATH." (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 |