~ruther/guix-local

520ba1b90467cc9839d9cad9a097c0d5600aaff5 — Efraim Flashner 7 months ago a407d3f
gnu: target->hare-arch: Check for system support before target support.

This fixes bug #2449.

* gnu/packages/hare.scm (target->hare-arch): Only when building on a
supported system check if the target is supported by hare.

Change-Id: I9bb2bd32a204043ce2702a206598398fbd0541eb
1 files changed, 7 insertions(+), 4 deletions(-)

M gnu/packages/hare.scm
M gnu/packages/hare.scm => gnu/packages/hare.scm +7 -4
@@ 39,10 39,13 @@

(define* (target->hare-arch #:optional (target (or (%current-target-system)
                                                   (%current-system))))
  (cond ((target-x86-64? target) "x86_64")
        ((target-aarch64? target) "aarch64")
        ((target-riscv64? target) "riscv64")
        (else (error "unsupported hare target" target))))
  ;; Only error on supported systems, so we don't break guix pull.
  (if (member (%current-system) hare-supported-systems)
      (cond ((target-x86-64? target) "x86_64")
            ((target-aarch64? target) "aarch64")
            ((target-riscv64? target) "riscv64")
            (else (error "unsupported hare target" target)))
      ""))

(define (cross-target? target) ; only has to work for supported arches
  (and target (not (if (%current-target-system)