diff options
Diffstat (limited to 'build-aux')
-rw-r--r-- | build-aux/check-available-binaries.scm | 3 | ||||
-rw-r--r-- | build-aux/hydra/gnu-system.scm | 27 |
2 files changed, 18 insertions, 12 deletions
diff --git a/build-aux/check-available-binaries.scm b/build-aux/check-available-binaries.scm index 92810795e1..d5163a9503 100644 --- a/build-aux/check-available-binaries.scm +++ b/build-aux/check-available-binaries.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,6 +48,7 @@ drv) #f)))) + (set-build-options store #:use-substitutes? #t) (let ((result (every (compose (warn (cut has-substitutes? store <>)) derivation->output-path) total))) 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 |