summary refs log tree commit diff
path: root/gnu/system
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-08-31 22:56:16 +0200
committerLudovic Courtès <ludo@gnu.org>2013-08-31 23:02:18 +0200
commit4c0f0673b2334077ac11f3d835d045c81d9854e0 (patch)
treee2aa27b266b943abdf20ff3cd2ca1dd6bd3222c5 /gnu/system
parentca85d7bcc6dca82bea176052d0a2615cd9bd3074 (diff)
downloadguix-4c0f0673b2334077ac11f3d835d045c81d9854e0.tar.gz
gnu: `expression->derivation-in-linux-vm' accepts files as inputs.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Accept items
  in INPUTS that refer to a file instead of a package.
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/vm.scm15
1 files changed, 10 insertions, 5 deletions
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index f3e875bee1..5b61136dc0 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -70,10 +70,12 @@ pairs, as for `derivation'.  The files containing the reference graphs are
 made available under the /xchg CIFS share."
   (define input-alist
     (map (match-lambda
-          ((input package)
+          ((input (? package? package))
            `(,input . ,(package-output store package "out" system)))
-          ((input package sub-drv)
-           `(,input . ,(package-output store package sub-drv system))))
+          ((input (? package? package) sub-drv)
+           `(,input . ,(package-output store package sub-drv system)))
+          ((input (and (? string?) (? store-path?) file))
+           `(,input . ,file)))
          inputs))
 
   (define exp*
@@ -153,9 +155,12 @@ made available under the /xchg CIFS share."
                                     ("coreutils" ,(->drv coreutils))
                                     ("builder" ,user-builder)
                                     ,@(map (match-lambda
-                                            ((name package sub-drv ...)
+                                            ((name (? package? package)
+                                                   sub-drv ...)
                                              `(,name ,(->drv package)
-                                                     ,@sub-drv)))
+                                                     ,@sub-drv))
+                                            ((name (? string? file))
+                                             `(,name ,file)))
                                            inputs))
                                   #:env-vars env-vars
                                   #:modules (delete-duplicates