summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build-aux/check-available-binaries.scm27
1 files changed, 12 insertions, 15 deletions
diff --git a/build-aux/check-available-binaries.scm b/build-aux/check-available-binaries.scm
index 04f88b7d0c4..771dcd96b35 100644
--- a/build-aux/check-available-binaries.scm
+++ b/build-aux/check-available-binaries.scm
@@ -26,7 +26,8 @@
26 (gnu packages emacs) 26 (gnu packages emacs)
27 (gnu packages make-bootstrap) 27 (gnu packages make-bootstrap)
28 (srfi srfi-1) 28 (srfi srfi-1)
29 (srfi srfi-26)) 29 (srfi srfi-26)
30 (ice-9 format))
30 31
31(with-store store 32(with-store store
32 (parameterize ((%graft? #f)) 33 (parameterize ((%graft? #f))
@@ -38,19 +39,15 @@
38 %bootstrap-tarballs <>) 39 %bootstrap-tarballs <>)
39 '("mips64el-linux-gnuabi64"))) 40 '("mips64el-linux-gnuabi64")))
40 (total (append native cross))) 41 (total (append native cross)))
41 (define (warn item system)
42 (format (current-error-port) "~a (~a) is not substitutable~%"
43 item system)
44 #f)
45 42
46 (set-build-options store #:use-substitutes? #t) 43 (set-build-options store #:use-substitutes? #t)
47 (let* ((substitutable? (substitution-oracle store total)) 44 (let* ((total (map derivation->output-path total))
48 (result (every (lambda (drv) 45 (available (substitutable-paths store total))
49 (let ((out (derivation->output-path drv))) 46 (missing (lset-difference string=? total available)))
50 (or (substitutable? out) 47 (if (null? missing)
51 (warn out (derivation-system drv))))) 48 (format (current-error-port) "~a packages found substitutable~%"
52 total))) 49 (length total))
53 (when result 50 (format (current-error-port)
54 (format (current-error-port) "~a packages found substitutable~%" 51 "~a packages are not substitutable:~%~{ ~a~%~}~%"
55 (length total))) 52 (length missing) missing))
56 (exit result))))) 53 (exit (null? missing))))))