summary refs log tree commit diff
path: root/gnu/system/vm.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-09-25 17:27:02 +0200
committerLudovic Courtès <ludo@gnu.org>2013-09-25 18:58:25 +0200
commit37c58656ebb499d32275829aacfa2a99e22d654a (patch)
tree724c94456bb37e2142c0d57e17722a27f4de16b8 /gnu/system/vm.scm
parent8f37bf620054f6a331464d1ac69d97c2288524e8 (diff)
downloadguix-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/vm.scm')
-rw-r--r--gnu/system/vm.scm11
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))))