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:
Ludovic Courtès 2013-09-08 12:10:25 +02:00
parent e7b385008c
commit 6bf25b7b05
1 changed files with 28 additions and 8 deletions

View File

@ -79,7 +79,7 @@ SYSTEM."
,(cute package->alist store package system ,(cute package->alist store package system
(cut package-cross-derivation <> <> target <>)))) (cut package-cross-derivation <> <> target <>))))
(define %packages-to-cross-build (define %core-packages
(list gmp mpfr mpc coreutils findutils diffutils patch sed grep (list gmp mpfr mpc coreutils findutils diffutils patch sed grep
gawk gettext hello guile-2.0 gawk gettext hello guile-2.0
%bootstrap-binaries-tarball %bootstrap-binaries-tarball
@ -89,6 +89,9 @@ SYSTEM."
%guile-bootstrap-tarball %guile-bootstrap-tarball
%bootstrap-tarballs)) %bootstrap-tarballs))
(define %packages-to-cross-build
%core-packages)
(define %cross-targets (define %cross-targets
'("mips64el-linux-gnu" '("mips64el-linux-gnu"
"mips64el-linux-gnuabi64")) "mips64el-linux-gnuabi64"))
@ -106,6 +109,11 @@ SYSTEM."
(_ (_
(list (%current-system))))) (list (%current-system)))))
(define subset
(match (assoc-ref arguments 'subset)
("core" 'core) ; only build core packages
(_ 'all))) ; build everything
(define job-name (define job-name
(compose string->symbol package-full-name)) (compose string->symbol package-full-name))
@ -127,6 +135,9 @@ SYSTEM."
inputs)))) inputs))))
%final-inputs)))) %final-inputs))))
(append-map (lambda (system) (append-map (lambda (system)
(case subset
((all)
;; Build everything.
(fold-packages (lambda (package result) (fold-packages (lambda (package result)
(if (member package base-packages) (if (member package base-packages)
result result
@ -134,4 +145,13 @@ SYSTEM."
package system) package system)
result))) result)))
(cross-jobs system))) (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))) systems)))