summary refs log tree commit diff
path: root/build-aux/hydra/gnu-system.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-05-29 23:32:21 +0200
committerLudovic Courtès <ludo@gnu.org>2014-05-29 23:32:47 +0200
commit411fc81d6382c23afcd1492d61f1ddb3001b63f0 (patch)
treed884714b3ba7b62b4be23a53f65aa55670990fee /build-aux/hydra/gnu-system.scm
parent8a07c28960d36557ee64a0b15240869fcadfaa7d (diff)
downloadguix-411fc81d6382c23afcd1492d61f1ddb3001b63f0.tar.gz
hydra: Don't cross-build from MIPS to MIPS.
* build-aux/hydra/gnu-system.scm (hydra-jobs)[same?, either]: New
  procedure.  Use it in 'remove' call.
Diffstat (limited to 'build-aux/hydra/gnu-system.scm')
-rw-r--r--build-aux/hydra/gnu-system.scm12
1 files changed, 11 insertions, 1 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index ba6df9d97d..0a86c6bcf3 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -166,12 +166,22 @@ system.")
       (and (string-prefix? "i686-" system)
            (string-suffix? "64" target)))
 
+    (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))
+
+    (define (either proc1 proc2)
+      (lambda (x)
+        (or (proc1 x) (proc2 x))))
+
     (append-map (lambda (target)
                   (map (lambda (package)
                          (package-cross-job store (job-name package)
                                             package target system))
                        %packages-to-cross-build))
-                (remove from-32-to-64? %cross-targets)))
+                (remove (either from-32-to-64? same?) %cross-targets)))
 
   ;; Return one job for each package, except bootstrap packages.
   (let ((base-packages (delete-duplicates