From 848ae71ea7131e78a7b728863eac1056c33b2679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 20 Jul 2019 01:13:46 +0200 Subject: [PATCH] lint: 'source' check no longer complains about unavailable mirrors. Fixes a regression introduced in 50fc2384feb3bb2677d074f8f0deb5ae3c56b4d8. Previously, 'guix lint -c source coreutils' would complain if one of the mirrors was unavailable. This is no longer the case. * guix/lint.scm (check-source)[warnings-for-uris]: Use 'filter-map'. Remove 'append-map' call. Use 'append-map' here so that we can meaningfull compare the length or URIS and that of WARNINGS. Use '=' to compare lengths. --- guix/lint.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/guix/lint.scm b/guix/lint.scm index 2542a81a2d..12031c8c6a 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -742,21 +742,21 @@ descriptions maintained upstream." "Emit a warning if PACKAGE has an invalid 'source' field, or if that 'source' is not reachable." (define (warnings-for-uris uris) - (filter lint-warning? - (map - (lambda (uri) - (validate-uri uri package 'source)) - (append-map (cut maybe-expand-mirrors <> %mirrors) - uris)))) + (filter-map (lambda (uri) + (match (validate-uri uri package 'source) + (#t #f) + ((? lint-warning? warning) warning))) + uris)) (let ((origin (package-source package))) (if (and origin (eqv? (origin-method origin) url-fetch)) - (let* ((uris (map string->uri (origin-uris origin))) + (let* ((uris (append-map (cut maybe-expand-mirrors <> %mirrors) + (map string->uri (origin-uris origin)))) (warnings (warnings-for-uris uris))) ;; Just make sure that at least one of the URIs is valid. - (if (eq? (length uris) (length warnings)) + (if (= (length uris) (length warnings)) ;; When everything fails, report all of WARNINGS, otherwise don't ;; report anything. ;;