From 6bf25b7b0554e8b569bc4938c4833491aedc742f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 8 Sep 2013 12:10:25 +0200 Subject: 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". --- build-aux/hydra/gnu-system.scm | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) (limited to 'build-aux') diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index d7bdb2d7e4..8206be22ff 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -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))) -- cgit v1.2.3