aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/model/derivation.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-data-service/model/derivation.scm')
-rw-r--r--guix-data-service/model/derivation.scm20
1 files changed, 14 insertions, 6 deletions
diff --git a/guix-data-service/model/derivation.scm b/guix-data-service/model/derivation.scm
index df44814..6b94384 100644
--- a/guix-data-service/model/derivation.scm
+++ b/guix-data-service/model/derivation.scm
@@ -277,12 +277,20 @@ ORDER BY derivations.system DESC,
(insert-into-derivation-inputs
(append-map
(match-lambda
- (($ <derivation-input> path sub-derivations)
- (map (lambda (sub-derivation)
- (select-derivation-output-id conn
- sub-derivation
- path))
- sub-derivations)))
+ (($ <derivation-input> derivation-or-path sub-derivations)
+ (let ((path
+ (match derivation-or-path
+ ((? derivation? d)
+ ;; The first field changed to a derivation (from the file
+ ;; name) in 5cf4b26d52bcea382d98fb4becce89be9ee37b55
+ (derivation-file-name d))
+ ((? string? s)
+ s))))
+ (map (lambda (sub-derivation)
+ (select-derivation-output-id conn
+ sub-derivation
+ path))
+ sub-derivations))))
derivation-inputs)))))
(define (select-from-derivation-source-files store-paths)