From 4daf89d619be788cf5a71867ad674cd5ff6e31fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Jul 2019 18:39:20 +0200 Subject: [PATCH] derivations: 'derivation' primitive accepts and #:sources. This brings us closer to the data type. * guix/derivations.scm (derivation): Add #:sources parameter. [input->derivation-input]: Add clause for 'derivation-input?'. Honor SOURCES. --- guix/derivations.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index 731f1f698f..bd0af320c4 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -708,7 +708,8 @@ name of each input with that input's hash." (define* (derivation store name builder args #:key (system (%current-system)) (env-vars '()) - (inputs '()) (outputs '("out")) + (inputs '()) (sources '()) + (outputs '("out")) hash hash-algo recursive? references-graphs allowed-references disallowed-references @@ -833,6 +834,8 @@ derivation. It is kept as-is, uninterpreted, in the derivation." (define input->derivation-input (match-lambda + ((? derivation-input? input) + input) (((? derivation? drv)) (make-derivation-input drv '("out"))) (((? derivation? drv) sub-drvs ...) @@ -858,7 +861,8 @@ derivation. It is kept as-is, uninterpreted, in the derivation." hash recursive?))) (sort outputs stringsource inputs)) + (append (filter-map input->source inputs) + sources)) stringderivation-input inputs))