diff options
author | Christopher Baines <mail@cbaines.net> | 2024-07-05 13:45:05 +0200 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2024-07-15 22:34:24 +0100 |
commit | b6afc69605cd04b1574c7f6e560fe3f19c32a9d5 (patch) | |
tree | 177410955d0cb973558a8ba5b117af67f7830ea8 | |
parent | 832eec2a74c18559e996ffc9dd862cc9d08ea125 (diff) | |
download | guix-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.scm | 10 | ||||
-rw-r--r-- | guix/ui.scm | 7 |
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~%") |