diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-10-29 00:26:05 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-10-29 00:31:23 +0100 |
commit | d2d0514b58bfddd061cd7f692bcc2075fdc33711 (patch) | |
tree | aa189f4e1fbeb267e8c560ca996a096ac0798433 /guix | |
parent | e6740741d188e01cb1a0b9c7db597a25128889d5 (diff) | |
download | gnu-guix-d2d0514b58bfddd061cd7f692bcc2075fdc33711.tar gnu-guix-d2d0514b58bfddd061cd7f692bcc2075fdc33711.tar.gz |
derivations: Fix 'derivation-prerequisites-to-build' when #:local-build?.
* guix/derivations.scm (derivation-prerequisites-to-build)[derivation-substitutable?]:
Call 'substitutable-derivation?'.
<body>: When 'substitutable-derivation?' returns #f, add DRV to BUILD.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/derivations.scm | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/guix/derivations.scm b/guix/derivations.scm index 5a8cc2c57a..b80e31936e 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -217,7 +217,8 @@ that second value is the empty list." (every built? (derivation-output-paths drv sub-drvs))) (define (derivation-substitutable? drv sub-drvs) - (every substitutable? (derivation-output-paths drv sub-drvs))) + (and (substitutable-derivation? drv) + (every substitutable? (derivation-output-paths drv sub-drvs)))) (let loop ((drv drv) (sub-drvs outputs) @@ -230,7 +231,12 @@ that second value is the empty list." (append (derivation-output-paths drv sub-drvs) substitute))) (else - (let ((inputs (remove (lambda (i) + (let ((build (if (substitutable-derivation? drv) + build + (cons (make-derivation-input + (derivation-file-name drv) sub-drvs) + build))) + (inputs (remove (lambda (i) (or (member i build) ; XXX: quadratic (input-built? i) (input-substitutable? i))) |