From 9b222abe0349701280d48e4830f98aa07c947517 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 27 May 2013 23:41:35 +0200 Subject: packages: Raise an error condition a cross builder is needed but unavailable. * guix/packages.scm (&package-cross-build-system-error): New condition type. (package-cross-derivation): Raise &package-cross-build-system-error when the build system doesn't support cross builds. * guix/ui.scm (call-with-error-handling): Add package-cross-build-system-error? case. * tests/packages.scm ("package-cross-derivation, no cross builder"): New test. --- tests/packages.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tests') diff --git a/tests/packages.scm b/tests/packages.scm index bec9de5b45..a4bb7fbd31 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -30,6 +30,7 @@ (define-module (test-packages) #:use-module (gnu packages bootstrap) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) #:use-module (srfi srfi-64) #:use-module (rnrs io ports) #:use-module (ice-9 match)) @@ -212,6 +213,16 @@ (define read-at (and (derivation-path? drv-path) (derivation? drv))))) +(test-assert "package-cross-derivation, no cross builder" + (let* ((b (build-system (inherit trivial-build-system) + (cross-build #f))) + (p (package (inherit (dummy-package "p")) + (build-system b)))) + (guard (c ((package-cross-build-system-error? c) + (eq? (package-error-package c) p))) + (package-cross-derivation %store p "mips64el-linux-gnu") + #f))) + (unless (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)) (test-skip 1)) (test-assert "GNU Make, bootstrap" -- cgit v1.2.3