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
This commit is contained in:
parent
832eec2a74
commit
b6afc69605
2 changed files with 17 additions and 0 deletions
|
@ -160,6 +160,11 @@
|
||||||
%cuirass-supported-systems
|
%cuirass-supported-systems
|
||||||
supported-package?
|
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-error?
|
||||||
package-error-package
|
package-error-package
|
||||||
|
@ -834,6 +839,11 @@ exist, return #f instead."
|
||||||
|
|
||||||
;; Error conditions.
|
;; 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
|
(define-condition-type &package-error &error
|
||||||
package-error?
|
package-error?
|
||||||
(package package-error-package))
|
(package package-error-package))
|
||||||
|
|
|
@ -763,6 +763,13 @@ evaluating the tests and bodies of CLAUSES."
|
||||||
(location->string loc)
|
(location->string loc)
|
||||||
(package-full-name package)
|
(package-full-name package)
|
||||||
(package-unsupported-target-error-target c))))
|
(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)
|
((gexp-input-error? c)
|
||||||
(let ((input (gexp-error-invalid-input c)))
|
(let ((input (gexp-error-invalid-input c)))
|
||||||
(leave (G_ "~s: invalid G-expression input~%")
|
(leave (G_ "~s: invalid G-expression input~%")
|
||||||
|
|
Reference in a new issue