From 85cfbd46cea30891db5585e2a8d63d3a585df5e6 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Mon, 3 Jul 2017 23:11:13 +0800 Subject: profiles: xdg-desktop-database: Run the hook when GLib is referenced. This will pull the latest 'desktop-file-utils' package into the profile closure, as the 'xdg-mime-database' hook already does. * guix/profiles.scm (xdg-desktop-database): Run the hook when 'glib' is referenced. --- guix/profiles.scm | 12 ++++++++---- 1 file 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 @@ (define (xdg-desktop-database manifest) "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 @@ (define build #: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) -- cgit v1.2.3