~ruther/guix-local

9ec2a4d3fec44f08a55df9f5f3d1a04b83e7fcf6 — Ludovic Courtès 9 years ago 64fc9f6
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.
1 files changed, 6 insertions(+), 3 deletions(-)

M build-aux/hydra/gnu-system.scm
M build-aux/hydra/gnu-system.scm => build-aux/hydra/gnu-system.scm +6 -3
@@ 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.