aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/comparison.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-03-06 22:58:05 +0000
committerChristopher Baines <mail@cbaines.net>2019-03-06 22:58:05 +0000
commite656b0967be7fa9753edd498ce225b74073b87af (patch)
tree2e7aa1276de12f012d5442e317dae425a0a559a2 /guix-data-service/comparison.scm
parent7a90afe980c39efcdb3efcafd031b6b1bdcd1216 (diff)
downloaddata-service-e656b0967be7fa9753edd498ce225b74073b87af.tar
data-service-e656b0967be7fa9753edd498ce225b74073b87af.tar.gz
Include the status of derivations
On the comparison page.
Diffstat (limited to 'guix-data-service/comparison.scm')
-rw-r--r--guix-data-service/comparison.scm15
1 files changed, 15 insertions, 0 deletions
diff --git a/guix-data-service/comparison.scm b/guix-data-service/comparison.scm
index 3fc6215..e3190ad 100644
--- a/guix-data-service/comparison.scm
+++ b/guix-data-service/comparison.scm
@@ -8,6 +8,7 @@
#:export (package-data->package-data-vhashes
package-differences-data
package-data-vhash->derivations
+ package-data-vhash->derivations-and-build-status
package-data-vhashes->new-packages
package-data-vhashes->removed-packages
package-data-version-changes
@@ -61,6 +62,20 @@ ORDER BY base_packages.name, base_packages.version, target_packages.name, target
(select-derivations-by-id conn derivation-ids)))
derivation-data))
+(define (package-data-vhash->derivations-and-build-status conn packages-vhash)
+ (define (vhash->derivation-ids vhash)
+ (vhash-fold (lambda (key value result)
+ (cons (third value)
+ result))
+ '()
+ vhash))
+
+ (let* ((derivation-ids
+ (vhash->derivation-ids packages-vhash))
+ (derivation-data
+ (select-derivations-and-build-status-by-id conn derivation-ids)))
+ derivation-data))
+
(define (package-data-vhash->package-name-and-version-vhash vhash)
(vhash-fold (lambda (name details result)
(vhash-cons (cons name (first details))