diff options
author | Ludovic Courtès <ludo@gnu.org> | 2013-09-25 17:27:02 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2013-09-25 18:58:25 +0200 |
commit | 37c58656ebb499d32275829aacfa2a99e22d654a (patch) | |
tree | 724c94456bb37e2142c0d57e17722a27f4de16b8 /gnu/system | |
parent | 8f37bf620054f6a331464d1ac69d97c2288524e8 (diff) | |
download | guix-37c58656ebb499d32275829aacfa2a99e22d654a.tar.gz |
gnu: vm: Support derivation objects as inputs.
* gnu/system/vm.scm (expression->derivation-in-linux-vm)[input-alist]: Add case for derivation? objects. Same for #:inputs values. (qemu-image)[input->name+derivation]: Likewise.
Diffstat (limited to 'gnu/system')
-rw-r--r-- | gnu/system/vm.scm | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 64d778b602..88f12ea33a 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -92,6 +92,10 @@ made available under the /xchg CIFS share." `(,input . ,(package-output store package "out" system))) ((input (? package? package) sub-drv) `(,input . ,(package-output store package sub-drv system))) + ((input (? derivation? drv)) + `(,input . ,(derivation->output-path drv))) + ((input (? derivation? drv) sub-drv) + `(,input . ,(derivation->output-path drv sub-drv))) ((input (and (? string?) (? store-path?) file)) `(,input . ,file))) inputs)) @@ -178,7 +182,8 @@ made available under the /xchg CIFS share." `(,name ,(->drv package) ,@sub-drv)) ((name (? string? file)) - `(,name ,file))) + `(,name ,file)) + (tuple tuple)) inputs)) #:env-vars env-vars #:modules (delete-duplicates @@ -216,6 +221,10 @@ It can be used to provide additional files, such as /etc files." `(,name . ,(derivation->output-path (package-derivation store package system) sub-drv))) + ((name (? derivation? drv)) + `(,name . ,(derivation->output-path drv))) + ((name (? derivation? drv) sub-drv) + `(,name . ,(derivation->output-path drv sub-drv))) ((input (and (? string?) (? store-path?) file)) `(,input . ,file)))) |