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.
master
Ludovic Courtès 2013-09-25 17:27:02 +02:00
parent 8f37bf6200
commit 37c58656eb
1 changed files with 10 additions and 1 deletions

View File

@ -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))))