aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-07-05 13:45:05 +0200
committerChristopher Baines <mail@cbaines.net>2024-07-15 22:34:24 +0100
commitb6afc69605cd04b1574c7f6e560fe3f19c32a9d5 (patch)
tree177410955d0cb973558a8ba5b117af67f7830ea8
parent832eec2a74c18559e996ffc9dd862cc9d08ea125 (diff)
downloadguix-b6afc69605cd04b1574c7f6e560fe3f19c32a9d5.tar.gz
guix-b6afc69605cd04b1574c7f6e560fe3f19c32a9d5.zip
guix: packages: Add &unsupported-cross-compilation-target-error.
* guix/packages.scm (&unsupported-cross-compilation-target-error): New variable. * guix/ui.scm (call-with-error-handling): Handle this new condition type. Change-Id: I9e7782ee4799b5fecb3c890a75008c35c003f55d
-rw-r--r--guix/packages.scm10
-rw-r--r--guix/ui.scm7
2 files changed, 17 insertions, 0 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index e793714f2e..c953db9a03 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -160,6 +160,11 @@
%cuirass-supported-systems
supported-package?
+ &unsupported-cross-compilation-target-error
+ unsupported-cross-compilation-target-error?
+ unsupported-cross-compilation-target-error-build-system
+ unsupported-cross-compilation-target-error-target
+
&package-error
package-error?
package-error-package
@@ -834,6 +839,11 @@ exist, return #f instead."
;; Error conditions.
+(define-condition-type &unsupported-cross-compilation-target-error &error
+ unsupported-cross-compilation-target-error?
+ (build-system unsupported-cross-compilation-target-error-build-system)
+ (target unsupported-cross-compilation-target-error-target))
+
(define-condition-type &package-error &error
package-error?
(package package-error-package))
diff --git a/guix/ui.scm b/guix/ui.scm
index 0bb1b3b3ba..9db6f6e9d7 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -763,6 +763,13 @@ evaluating the tests and bodies of CLAUSES."
(location->string loc)
(package-full-name package)
(package-unsupported-target-error-target c))))
+ ((unsupported-cross-compilation-target-error? c)
+ (let ((build-system
+ (unsupported-cross-compilation-target-error-build-system c))
+ (target (unsupported-cross-compilation-target-error-target c)))
+ (leave (G_ "the `~a' build system: does not support target `~a'~%")
+ (build-system-name build-system)
+ target)))
((gexp-input-error? c)
(let ((input (gexp-error-invalid-input c)))
(leave (G_ "~s: invalid G-expression input~%")