Better handle failures when computing the transative supported inputs
This commit is contained in:
parent
944492bd79
commit
d62ea8857d
1 changed files with 46 additions and 32 deletions
|
|
@ -63,38 +63,52 @@
|
||||||
#t
|
#t
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(let ((supported-systems
|
(let ((supported-systems
|
||||||
(package-transitive-supported-systems package)))
|
(catch
|
||||||
(append-map
|
#t
|
||||||
(lambda (system)
|
(lambda ()
|
||||||
(filter-map
|
(package-transitive-supported-systems package))
|
||||||
(lambda (target)
|
(lambda (key . args)
|
||||||
(catch
|
(simple-format
|
||||||
'misc-error
|
(current-error-port)
|
||||||
(lambda ()
|
"error: while processing ~A, unable to compute transitive supported systems\n"
|
||||||
(guard (c ((package-cross-build-system-error? c)
|
(package-name package))
|
||||||
#f))
|
(simple-format
|
||||||
(list inferior-package-id
|
(current-error-port)
|
||||||
system
|
"error ~A: ~A\n" key args)
|
||||||
target
|
#f))))
|
||||||
(derivation-file-name
|
(if supported-systems
|
||||||
(if (string=? system target)
|
(append-map
|
||||||
(package-derivation store package system)
|
(lambda (system)
|
||||||
(package-cross-derivation store package
|
(filter-map
|
||||||
target
|
(lambda (target)
|
||||||
system))))))
|
(catch
|
||||||
(lambda args
|
'misc-error
|
||||||
;; misc-error #f ~A ~S (No
|
(lambda ()
|
||||||
;; cross-compilation for
|
(guard (c ((package-cross-build-system-error? c)
|
||||||
;; clojure-build-system yet:
|
#f))
|
||||||
#f)))
|
(list inferior-package-id
|
||||||
(lset-intersection
|
system
|
||||||
string=?
|
target
|
||||||
supported-systems
|
(derivation-file-name
|
||||||
(list ,@(map cdr system-target-pairs)))))
|
(if (string=? system target)
|
||||||
(lset-intersection
|
(package-derivation store package system)
|
||||||
string=?
|
(package-cross-derivation store package
|
||||||
supported-systems
|
target
|
||||||
(list ,@(map car system-target-pairs))))))
|
system))))))
|
||||||
|
(lambda args
|
||||||
|
;; misc-error #f ~A ~S (No
|
||||||
|
;; cross-compilation for
|
||||||
|
;; clojure-build-system yet:
|
||||||
|
#f)))
|
||||||
|
(lset-intersection
|
||||||
|
string=?
|
||||||
|
supported-systems
|
||||||
|
(list ,@(map cdr system-target-pairs)))))
|
||||||
|
(lset-intersection
|
||||||
|
string=?
|
||||||
|
supported-systems
|
||||||
|
(list ,@(map car system-target-pairs))))
|
||||||
|
'())))
|
||||||
(lambda args
|
(lambda args
|
||||||
(simple-format (current-error-port)
|
(simple-format (current-error-port)
|
||||||
"error: while processing ~A ignoring error: ~A\n"
|
"error: while processing ~A ignoring error: ~A\n"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue