diff options
author | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-07-14 07:46:15 +0200 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-07-14 07:46:15 +0200 |
commit | d67507cacf934b970f67567bced4e044c3ca9753 (patch) | |
tree | b1c3160946ceaf74a9a24c7360d28036230210e1 /guix/scripts/locate.scm | |
parent | 3b3d9a13dd2bd67f34c890047680a1ce6e3af28e (diff) | |
parent | dd4c1992103a65b8fbdc80fe07a9fe9be822769a (diff) | |
download | guix-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.scm | 31 |
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." |