guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/11: derivations: 'derivation' primitive accepts <derivation> and #:so


From: guix-commits
Subject: 03/11: derivations: 'derivation' primitive accepts <derivation> and #:sources.
Date: Mon, 15 Jul 2019 04:18:16 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 4daf89d619be788cf5a71867ad674cd5ff6e31fe
Author: Ludovic Courtès <address@hidden>
Date:   Mon Jul 8 18:39:20 2019 +0200

    derivations: 'derivation' primitive accepts <derivation> and #:sources.
    
    This brings us closer to the <derivation> 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 731f1f6..bd0af32 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 string<?)))
          (sources    (sort (delete-duplicates
-                            (filter-map input->source inputs))
+                            (append (filter-map input->source inputs)
+                                    sources))
                            string<?))
          (inputs     (sort (coalesce-duplicate-inputs
                             (filter-map input->derivation-input inputs))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]