aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cuirass/base.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/cuirass/base.scm b/src/cuirass/base.scm
index ec1b467..bce151a 100644
--- a/src/cuirass/base.scm
+++ b/src/cuirass/base.scm
@@ -471,14 +471,17 @@ build products."
been passed to 'build-derivations' (meaning that we can assume that, if their
outputs are invalid, that they failed to build.)"
(define (update! drv)
- (match (derivation-path->output-paths drv)
+ (match (false-if-exception
+ (derivation-path->output-paths drv))
(((_ . outputs) ...)
(if (any (cut valid-path? store <>) outputs)
(set-build-successful! drv)
(db-update-build-status! drv
(if (log-file store drv)
(build-status failed)
- (build-status failed-dependency)))))))
+ (build-status failed-dependency)))))
+ (else
+ (db-update-build-status! drv (build-status failed)))))
(for-each update! lst))