summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-07-03 21:18:07 +0200
committerLudovic Courtès <ludo@gnu.org>2020-07-03 23:53:31 +0200
commit37c3e0bbaf2efe137b434f866ca431803d33e0a9 (patch)
treed74dd90b81c7e2454ff81615f367d8c320048cfc
parentc11b95af7f5c2c77478353a808ce47627969a779 (diff)
lint: Do not assume that a package's source is an origin.
* guix/lint.scm (check-source-file-name): Ensure ORIGIN is an origin. (check-patch-file-names)[patches]: Likewise. (check-source): Likewise.
-rw-r--r--guix/lint.scm9
1 files changed, 5 insertions, 4 deletions
diff --git a/guix/lint.scm b/guix/lint.scm
index 8a4d27ce05..445c06f8f4 100644
--- a/guix/lint.scm
+++ b/guix/lint.scm
@@ -670,8 +670,9 @@ patch could not be found."
(%make-warning package (condition-message c)
#:field 'patch-file-names))))
(define patches
- (or (and=> (package-source package) origin-patches)
- '()))
+ (match (package-source package)
+ ((? origin? origin) (origin-patches origin))
+ (_ '())))
(define (starts-with-package-name? file-name)
(and=> (string-contains file-name (package-name package))
@@ -792,7 +793,7 @@ descriptions maintained upstream."
(loop rest (cons warning warnings))))))))
(let ((origin (package-source package)))
- (if (and origin
+ (if (and (origin? origin)
(eqv? (origin-method origin) url-fetch))
(let* ((uris (append-map (cut maybe-expand-mirrors <> %mirrors)
(map string->uri (origin-uris origin))))
@@ -828,7 +829,7 @@ descriptions maintained upstream."
(not (string-match (string-append "^v?" version) file-name)))))
(let ((origin (package-source package)))
- (if (or (not origin) (origin-file-name-valid? origin))
+ (if (or (not (origin? origin)) (origin-file-name-valid? origin))
'()
(list
(make-warning package