ci: Build commencement packages supported on the target system.

This is a followup to df49fe2a13.

* gnu/ci.scm (%bootstrap-packages): Rename to...
(commencement-packages): ... this, and turn into a procedure.  Filter
packages that pass 'supported-package?'.
(cuirass-jobs): Adjust accordingly.
This commit is contained in:
Ludovic Courtès 2021-07-10 19:59:31 +02:00
parent 80506bc6da
commit ac815ecd63
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -69,7 +69,6 @@ (define-module (gnu ci)
#:export (derivation->job
image->job
%bootstrap-packages
%core-packages
%cross-targets
channel-source->package
@ -149,13 +148,18 @@ (define %core-packages
%guile-bootstrap-tarball
%bootstrap-tarballs))
(define %bootstrap-packages
;; Return the list of bootstrap packages from the commencement module.
(filter package?
(module-map
(lambda (sym var)
(variable-ref var))
(resolve-module '(gnu packages commencement)))))
(define (commencement-packages system)
"Return the list of bootstrap packages from the commencement module for
SYSTEM."
;; Only include packages supported on SYSTEM. For example, the Mes
;; bootstrap graph is currently not supported on ARM so it should be
;; excluded.
(filter (lambda (obj)
(and (package? obj)
(supported-package? obj system)))
(module-map (lambda (sym var)
(variable-ref var))
(resolve-module '(gnu packages commencement)))))
(define (packages-to-cross-build target)
"Return the list of packages to cross-build for TARGET."
@ -517,7 +521,7 @@ (define source
(map (lambda (package)
(package-job store (job-name package)
package system))
(append %bootstrap-packages %core-packages))
(append (commencement-packages system) %core-packages))
(cross-jobs store system)))
('guix
;; Build Guix modules only.