diff options
-rw-r--r-- | build-aux/hydra/gnu-system.scm | 36 |
1 files changed, 28 insertions, 8 deletions
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 @@ 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 @@ SYSTEM." %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 @@ SYSTEM." (_ (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 @@ 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))) |