summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/profiles.scm12
1 files changed, 8 insertions, 4 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 056406e303..85c1722d62 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -967,9 +967,13 @@ for both major versions of GTK+."
   "Return a derivation that builds the @file{mimeinfo.cache} database from
 desktop files.  It's used to query what applications can handle a given
 MIME type."
-  (mlet %store-monad ((desktop-file-utils
+  (define desktop-file-utils            ; lazy reference
+    (module-ref (resolve-interface '(gnu packages freedesktop))
+                'desktop-file-utils))
+
+  (mlet %store-monad ((glib
                        (manifest-lookup-package
-                        manifest "desktop-file-utils")))
+                        manifest "glib")))
     (define build
       (with-imported-modules '((guix build utils)
                                (guix build union))
@@ -990,8 +994,8 @@ MIME type."
                            #:log-port (%make-void-port "w"))
               (exit (zero? (system* update-desktop-database destdir)))))))
 
-    ;; Don't run the hook when 'desktop-file-utils' is not referenced.
-    (if desktop-file-utils
+    ;; Don't run the hook when 'glib' is not referenced.
+    (if glib
         (gexp->derivation "xdg-desktop-database" build
                           #:local-build? #t
                           #:substitutable? #f)