summaryrefslogtreecommitdiff
path: root/guix/store.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/store.scm')
-rw-r--r--guix/store.scm10
1 files changed, 10 insertions, 0 deletions
diff --git a/guix/store.scm b/guix/store.scm
index 3bf56573bf..bac42f2738 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -107,6 +107,7 @@
references
references/substitutes
references*
+ query-path-info*
requisites
referrers
optimize-store
@@ -1398,6 +1399,15 @@ where FILE is the entry's absolute file name and STAT is the result of
(define references*
(store-lift references))
+(define (query-path-info* item)
+ "Monadic version of 'query-path-info' that returns #f when ITEM is not in
+the store."
+ (lambda (store)
+ (guard (c ((nix-protocol-error? c)
+ ;; ITEM is not in the store; return #f.
+ (values #f store)))
+ (values (query-path-info store item) store))))
+
(define-inlinable (current-system)
;; Consult the %CURRENT-SYSTEM fluid at bind time. This is equivalent to
;; (lift0 %current-system %store-monad), but inlinable, thus avoiding