check-available-binaries: Use 'substitutable-paths'.
* build-aux/check-available-binaries.scm: Rewrite to use 'substitutable-paths' instead of 'substitution-oracle'. The latter does more than we need, and it no longer check the substitutability of valid items, which is not what we want. Use 'lset-difference' instead of iterating over the items.master
parent
e9ade3eeef
commit
e348eaaf31
|
@ -26,7 +26,8 @@
|
||||||
(gnu packages emacs)
|
(gnu packages emacs)
|
||||||
(gnu packages make-bootstrap)
|
(gnu packages make-bootstrap)
|
||||||
(srfi srfi-1)
|
(srfi srfi-1)
|
||||||
(srfi srfi-26))
|
(srfi srfi-26)
|
||||||
|
(ice-9 format))
|
||||||
|
|
||||||
(with-store store
|
(with-store store
|
||||||
(parameterize ((%graft? #f))
|
(parameterize ((%graft? #f))
|
||||||
|
@ -38,19 +39,15 @@
|
||||||
%bootstrap-tarballs <>)
|
%bootstrap-tarballs <>)
|
||||||
'("mips64el-linux-gnuabi64")))
|
'("mips64el-linux-gnuabi64")))
|
||||||
(total (append native cross)))
|
(total (append native cross)))
|
||||||
(define (warn item system)
|
|
||||||
(format (current-error-port) "~a (~a) is not substitutable~%"
|
|
||||||
item system)
|
|
||||||
#f)
|
|
||||||
|
|
||||||
(set-build-options store #:use-substitutes? #t)
|
(set-build-options store #:use-substitutes? #t)
|
||||||
(let* ((substitutable? (substitution-oracle store total))
|
(let* ((total (map derivation->output-path total))
|
||||||
(result (every (lambda (drv)
|
(available (substitutable-paths store total))
|
||||||
(let ((out (derivation->output-path drv)))
|
(missing (lset-difference string=? total available)))
|
||||||
(or (substitutable? out)
|
(if (null? missing)
|
||||||
(warn out (derivation-system drv)))))
|
|
||||||
total)))
|
|
||||||
(when result
|
|
||||||
(format (current-error-port) "~a packages found substitutable~%"
|
(format (current-error-port) "~a packages found substitutable~%"
|
||||||
(length total)))
|
(length total))
|
||||||
(exit result)))))
|
(format (current-error-port)
|
||||||
|
"~a packages are not substitutable:~%~{ ~a~%~}~%"
|
||||||
|
(length missing) missing))
|
||||||
|
(exit (null? missing))))))
|
||||||
|
|
Reference in New Issue