diff options
Diffstat (limited to 'guix-build-coordinator/agent.scm')
-rw-r--r-- | guix-build-coordinator/agent.scm | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/guix-build-coordinator/agent.scm b/guix-build-coordinator/agent.scm index dcee91f..850d378 100644 --- a/guix-build-coordinator/agent.scm +++ b/guix-build-coordinator/agent.scm @@ -134,7 +134,7 @@ derivation-substitute-urls non-derivation-substitute-urls derivation-name) - (define (find-missing-inputs inputs) + (define (find-missing-inputs derivation inputs) (let* ((output-paths (append-map derivation-input-output-paths inputs)) (missing-paths @@ -194,10 +194,28 @@ (begin (simple-format (current-error-port) - "error: failed to fetch substitutes for: ~A\n" + "warning: failed to fetch substitutes for: ~A\n" missing-files) - missing-files)))))))) + (let ((unavailable-outputs + (delete-duplicates + (append-map + (lambda (missing-output) + (find-missing-substitutes-for-output + non-derivation-substitute-urls + missing-output)) + missing-files)))) + + (simple-format + (current-error-port) + "warning: the following outputs are missing:\n~A\n" + (string-join + (map (lambda (output) + (string-append + " - " output)) + unavailable-outputs))) + + unavailable-outputs))))))))) (define (delete-outputs derivation) (let* ((outputs (derivation-outputs derivation)) @@ -234,7 +252,7 @@ (match (delete-outputs derivation) (#t (let ((missing-inputs - (find-missing-inputs (derivation-inputs derivation)))) + (find-missing-inputs derivation (derivation-inputs derivation)))) (if (null? missing-inputs) '((result . success)) `((result . failure) |