summary refs log tree commit diff
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)
downloadguix-37c3e0bbaf2efe137b434f866ca431803d33e0a9.tar.gz
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