Better handle failures when computing the transative supported inputs

This commit is contained in:
Christopher Baines 2019-03-29 09:14:03 +00:00
parent 944492bd79
commit d62ea8857d
Signed by: cbaines
GPG key ID: 5E28A33B0B84F577

View file

@ -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"