guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/03: profiles: xdg-mime-database: Run the hook when have GLib based ap


From: ???
Subject: 01/03: profiles: xdg-mime-database: Run the hook when have GLib based applications.
Date: Fri, 12 Aug 2016 14:34:28 +0000 (UTC)

iyzsong pushed a commit to branch master
in repository guix.

commit 801d316b20b05a4d0687873ad8e438e6238e23ce
Author: 宋文武 <address@hidden>
Date:   Thu Aug 11 20:59:16 2016 +0800

    profiles: xdg-mime-database: Run the hook when have GLib based applications.
    
    * guix/profiles.scm (xdg-mime-database): Run the hook when GLIB is 
referenced by
    the manifest.  Add SHARED-MIME-INFO to the mime packages of 
`update-mime-database'.
---
 guix/profiles.scm |   14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/guix/profiles.scm b/guix/profiles.scm
index db807a8..cd448e3 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -723,9 +723,12 @@ MIME type."
 (define (xdg-mime-database manifest)
   "Return a derivation that builds the @file{mime.cache} database from manifest
 entries.  It's used to query the MIME type of a given file."
-  (mlet %store-monad ((shared-mime-info
+  (define shared-mime-info  ; lazy reference
+    (module-ref (resolve-interface '(gnu packages gnome)) 'shared-mime-info))
+
+  (mlet %store-monad ((glib
                        (manifest-lookup-package
-                        manifest "shared-mime-info")))
+                        manifest "glib")))
     (define build
       (with-imported-modules  '((guix build utils)
                                 (guix build union))
@@ -738,7 +741,8 @@ entries.  It's used to query the MIME type of a given file."
                    (pkgdirs (filter file-exists?
                                     (map (cut string-append <>
                                               "/share/mime/packages")
-                                         '#$(manifest-inputs manifest))))
+                                         (cons #+shared-mime-info
+                                               '#$(manifest-inputs 
manifest)))))
                    (update-mime-database (string-append
                                           #+shared-mime-info
                                           "/bin/update-mime-database")))
@@ -748,8 +752,8 @@ entries.  It's used to query the MIME type of a given file."
               (setenv "XDG_DATA_HOME" datadir)
               (exit (zero? (system* update-mime-database destdir)))))))
 
-    ;; Don't run the hook when 'shared-mime-info' is referenced.
-    (if shared-mime-info
+    ;; Don't run the hook when there are no GLib based applications.
+    (if glib
         (gexp->derivation "xdg-mime-database" build
                           #:local-build? #t
                           #:substitutable? #f)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]