mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
hydra: Support a 'subset' argument.
* build-aux/hydra/gnu-system.scm (%core-packages): New variable. (%packages-to-cross-build): Make an alias for %CORE-PACKAGES. (hydra-jobs): Check for the 'subset' argument, and honor it for values "all" and "core".
This commit is contained in:
parent
e7b385008c
commit
6bf25b7b05
1 changed files with 28 additions and 8 deletions
|
@ -79,7 +79,7 @@ (define (package-cross-job store job-name package target system)
|
|||
,(cute package->alist store package system
|
||||
(cut package-cross-derivation <> <> target <>))))
|
||||
|
||||
(define %packages-to-cross-build
|
||||
(define %core-packages
|
||||
(list gmp mpfr mpc coreutils findutils diffutils patch sed grep
|
||||
gawk gettext hello guile-2.0
|
||||
%bootstrap-binaries-tarball
|
||||
|
@ -89,6 +89,9 @@ (define %packages-to-cross-build
|
|||
%guile-bootstrap-tarball
|
||||
%bootstrap-tarballs))
|
||||
|
||||
(define %packages-to-cross-build
|
||||
%core-packages)
|
||||
|
||||
(define %cross-targets
|
||||
'("mips64el-linux-gnu"
|
||||
"mips64el-linux-gnuabi64"))
|
||||
|
@ -106,6 +109,11 @@ (define systems
|
|||
(_
|
||||
(list (%current-system)))))
|
||||
|
||||
(define subset
|
||||
(match (assoc-ref arguments 'subset)
|
||||
("core" 'core) ; only build core packages
|
||||
(_ 'all))) ; build everything
|
||||
|
||||
(define job-name
|
||||
(compose string->symbol package-full-name))
|
||||
|
||||
|
@ -127,11 +135,23 @@ (define (cross-jobs system)
|
|||
inputs))))
|
||||
%final-inputs))))
|
||||
(append-map (lambda (system)
|
||||
(fold-packages (lambda (package result)
|
||||
(if (member package base-packages)
|
||||
result
|
||||
(cons (package-job store (job-name package)
|
||||
package system)
|
||||
result)))
|
||||
(cross-jobs system)))
|
||||
(case subset
|
||||
((all)
|
||||
;; Build everything.
|
||||
(fold-packages (lambda (package result)
|
||||
(if (member package base-packages)
|
||||
result
|
||||
(cons (package-job store (job-name package)
|
||||
package system)
|
||||
result)))
|
||||
(cross-jobs system)))
|
||||
((core)
|
||||
;; Build core packages only.
|
||||
(append (map (lambda (package)
|
||||
(package-job store (job-name package)
|
||||
package system))
|
||||
%core-packages)
|
||||
(cross-jobs system)))
|
||||
(else
|
||||
(error "unknown subset" subset))))
|
||||
systems)))
|
||||
|
|
Loading…
Reference in a new issue