summaryrefslogtreecommitdiff
path: root/guix/scripts/locate.scm
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2023-07-14 07:46:15 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2023-07-14 07:46:15 +0200
commitd67507cacf934b970f67567bced4e044c3ca9753 (patch)
treeb1c3160946ceaf74a9a24c7360d28036230210e1 /guix/scripts/locate.scm
parent3b3d9a13dd2bd67f34c890047680a1ce6e3af28e (diff)
parentdd4c1992103a65b8fbdc80fe07a9fe9be822769a (diff)
downloadguix-patches-d67507cacf934b970f67567bced4e044c3ca9753.tar
guix-patches-d67507cacf934b970f67567bced4e044c3ca9753.tar.gz
Merge branch 'master' into gnome-team
Diffstat (limited to 'guix/scripts/locate.scm')
-rw-r--r--guix/scripts/locate.scm31
1 files changed, 18 insertions, 13 deletions
diff --git a/guix/scripts/locate.scm b/guix/scripts/locate.scm
index aeaffa3d34..79af533fd9 100644
--- a/guix/scripts/locate.scm
+++ b/guix/scripts/locate.scm
@@ -418,19 +418,24 @@ for each package to insert."
(()
entries)
((profile . rest)
- (let* ((manifest (profile-manifest profile))
- (entries visited
- (fold2 (lambda (entry lst visited)
- (let ((item (manifest-entry-item entry)))
- (if (set-contains? visited item)
- (values lst visited)
- (values (cons entry lst)
- (set-insert item
- visited)))))
- entries
- visited
- (manifest-transitive-entries manifest))))
- (loop visited rest entries))))))
+ (match (false-if-exception (profile-manifest profile))
+ (#f
+ ;; PROFILE's manifest is unreadable for some reason such as an
+ ;; unsupported version.
+ (loop visited rest entries))
+ (manifest
+ (let ((entries visited
+ (fold2 (lambda (entry lst visited)
+ (let ((item (manifest-entry-item entry)))
+ (if (set-contains? visited item)
+ (values lst visited)
+ (values (cons entry lst)
+ (set-insert item
+ visited)))))
+ entries
+ visited
+ (manifest-transitive-entries manifest))))
+ (loop visited rest entries))))))))
(define (insert-manifest-entry db entry)
"Insert a manifest ENTRY into DB."