diff options
Diffstat (limited to 'build-aux/hydra')
-rw-r--r-- | build-aux/hydra/gnu-system.scm | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index c004115212..083ff2a7cd 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -41,6 +41,7 @@ (guix derivations) ((guix utils) #:select (%current-system)) (gnu packages) + (gnu packages gcc) (gnu packages base) (gnu packages gawk) (gnu packages guile) @@ -87,7 +88,11 @@ SYSTEM." (cut package-cross-derivation <> <> target <>)))) (define %core-packages - (list gmp mpfr mpc coreutils findutils diffutils patch sed grep + ;; Note: Don't put the '-final' package variants because (1) that's + ;; implicit, and (2) they cannot be cross-built (due to the explicit input + ;; chain.) + (list gcc-4.8 gcc-4.7 glibc binutils + gmp mpfr mpc coreutils findutils diffutils patch sed grep gawk gnu-gettext hello guile-2.0 zlib gzip xz %bootstrap-binaries-tarball %binutils-bootstrap-tarball @@ -106,15 +111,8 @@ SYSTEM." (define (hydra-jobs store arguments) "Return Hydra jobs." (define systems - (match (filter-map (match-lambda - (('system . value) - value) - (_ #f)) - arguments) - ((lst ..1) - lst) - (_ - (list (%current-system))))) + ;; Systems we want to build for. + '("x86_64-linux" "i686-linux")) (define subset (match (assoc-ref arguments 'subset) @@ -125,12 +123,19 @@ SYSTEM." (compose string->symbol package-full-name)) (define (cross-jobs system) + (define (from-32-to-64? target) + ;; Return true if SYSTEM is 32-bit and TARGET is 64-bit. + ;; This hacks prevents known-to-fail cross-builds from i686-linux to + ;; mips64el-linux-gnuabi64. + (and (string-prefix? "i686-" system) + (string-suffix? "64" target))) + (append-map (lambda (target) (map (lambda (package) (package-cross-job store (job-name package) package target system)) %packages-to-cross-build)) - %cross-targets)) + (remove from-32-to-64? %cross-targets))) ;; Return one job for each package, except bootstrap packages. (let ((base-packages (delete-duplicates |