From 37c58656ebb499d32275829aacfa2a99e22d654a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Sep 2013 17:27:02 +0200 Subject: 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. --- gnu/system/vm.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'gnu') 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 @@ (define input-alist `(,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 @@ (define builder `(,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 @@ (define input->name+derivation `(,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)))) -- cgit v1.2.3