summaryrefslogtreecommitdiff
path: root/build-aux/hydra
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-03-09 16:26:14 +0100
committerLudovic Courtès <ludo@gnu.org>2017-03-09 16:28:36 +0100
commit9ec2a4d3fec44f08a55df9f5f3d1a04b83e7fcf6 (patch)
treedb5d3f54d87ff4abf5031a5d44fe8940a1e10219 /build-aux/hydra
parent64fc9f65f10b7ec584e6246914be322207162c0e (diff)
downloadgnu-guix-9ec2a4d3fec44f08a55df9f5f3d1a04b83e7fcf6.tar
gnu-guix-9ec2a4d3fec44f08a55df9f5f3d1a04b83e7fcf6.tar.gz
hydra: Really disable 32-to-64-bit cross-builds.
Fixes <http://bugs.gnu.org/26022>. Reported by Efraim Flashner <efraim@flashner.co.il>. * build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs](from-32-to-64?): Check whether TARGET contains "64" rather than checking whether TARGET ends in "64", which is rarely the case. (same?): Add special case for armhf-linux.
Diffstat (limited to 'build-aux/hydra')
-rw-r--r--build-aux/hydra/gnu-system.scm9
1 files changed, 6 insertions, 3 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index a9df44a64d..04a9d0508a 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -257,14 +257,17 @@ valid."
;; prevents known-to-fail cross-builds from i686-linux or armhf-linux to
;; mips64el-linux-gnuabi64.
(and (or (string-prefix? "i686-" system)
+ (string-prefix? "i586-" system)
(string-prefix? "armhf-" system))
- (string-suffix? "64" target)))
+ (string-contains target "64"))) ;x86_64, mips64el, aarch64, etc.
(define (same? target)
;; Return true if SYSTEM and TARGET are the same thing. This is so we
;; don't try to cross-compile to 'mips64el-linux-gnu' from
;; 'mips64el-linux'.
- (string-contains target system))
+ (or (string-contains target system)
+ (and (string-prefix? "armhf" system) ;armhf-linux
+ (string-prefix? "arm" target)))) ;arm-linux-gnueabihf
(define (pointless? target)
;; Return #t if it makes no sense to cross-build to TARGET from SYSTEM.