GNU bug report logs - #26988
Add desktop-file-utils to all gtk applications

Previous Next

Package: guix-patches;

Reported by: Danny Milosavljevic <dannym <at> scratchpost.org>

Date: Thu, 18 May 2017 21:02:02 UTC

Severity: normal

Done: iyzsong <at> member.fsf.org (宋文武)

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 26988 in the body.
You can then email your comments to 26988 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#26988; Package guix-patches. (Thu, 18 May 2017 21:02:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Danny Milosavljevic <dannym <at> scratchpost.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 18 May 2017 21:02:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: guix-patches <at> gnu.org
Subject: Add desktop-file-utils to all gtk applications
Date: Thu, 18 May 2017 23:01:11 +0200
Hi,

these are two patches I propose we add in order to add desktop-file-utils to all gtk applications.  This means that the profile hook would pick up the desktop files (as soon as possible).

One patch moves desktop-file-utils from (gnu packages gnome) to (gnu packages freedesktop).  I suggest we apply this patch to all branches - since they don't change anything in the build.

The other patch adds desktop-file-utils as propagated-input to gtk+-2 (and by inheritance to gtk+ 3, too).  That would imply entail all gtk applications.  Therefore, it should only go to core-updates.




Information forwarded to guix-patches <at> gnu.org:
bug#26988; Package guix-patches. (Thu, 18 May 2017 21:18:02 GMT) Full text and rfc822 format available.

Message #8 received at 26988 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 26988 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH] gnu: Move desktop-file-utils to (gnu packages freedesktop).
Date: Thu, 18 May 2017 23:07:26 +0200
* gnu/packages/gnome.scm (desktop-file-utils): Move from here ...
* gnu/packages/freedesktop.scm (desktop-file-utils): to here.
---
 gnu/packages/freedesktop.scm | 32 ++++++++++++++++++++++++++++++++
 gnu/packages/gnome.scm       | 32 --------------------------------
 2 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 85a6c8b26..dfc88986f 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -927,3 +927,35 @@ library to access fingerprint readers, over the D-Bus interprocess
 communication bus.  This daemon layer above libfprint solves problems related
 to applications simultaneously competing for fingerprint readers.")
     (license license:gpl2+)))
+
+(define-public desktop-file-utils
+  (package
+    (name "desktop-file-utils")
+    (version "0.23")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.freedesktop.org/software/" name
+                                  "/releases/" name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "119kj2w0rrxkhg4f9cf5waa55jz1hj8933vh47vcjipcplql02bc"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glib" ,glib)))
+    (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/")
+    (synopsis "Utilities for working with desktop entries")
+    (description
+     "This package contains a few command line utilities for working with
+desktop entries:
+
+desktop-file-validate: validates a desktop file and prints warnings/errors
+                       about desktop entry specification violations.
+
+desktop-file-install: installs a desktop file to the applications directory,
+                      optionally munging it a bit in transit.
+
+update-desktop-database: updates the database containing a cache of MIME types
+                         handled by desktop files.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 47dcc91dc..e7b1577f3 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -656,38 +656,6 @@ Specification, the icon naming utility maps the icon names used by the
 GNOME and KDE desktops to the icon names proposed in the specification.")
     (license license:lgpl2.1+)))
 
-(define-public desktop-file-utils
-  (package
-    (name "desktop-file-utils")
-    (version "0.23")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://www.freedesktop.org/software/" name
-                                  "/releases/" name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "119kj2w0rrxkhg4f9cf5waa55jz1hj8933vh47vcjipcplql02bc"))))
-    (build-system gnu-build-system)
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs
-     `(("glib" ,glib)))
-    (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/")
-    (synopsis "Utilities for working with desktop entries")
-    (description
-     "This package contains a few command line utilities for working with
-desktop entries:
-
-desktop-file-validate: validates a desktop file and prints warnings/errors
-                       about desktop entry specification violations.
-
-desktop-file-install: installs a desktop file to the applications directory,
-                      optionally munging it a bit in transit.
-
-update-desktop-database: updates the database containing a cache of MIME types
-                         handled by desktop files.")
-    (license license:gpl2+)))
-
 (define-public gnome-icon-theme
   (package
     (name "gnome-icon-theme")




Information forwarded to guix-patches <at> gnu.org:
bug#26988; Package guix-patches. (Thu, 18 May 2017 21:20:02 GMT) Full text and rfc822 format available.

Message #11 received at 26988 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 26988 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH] gnu: gtk+-2: Add desktop-file-utils to propagated-inputs.
Date: Thu, 18 May 2017 23:19:37 +0200
* gnu/packages/gtk.scm (gtk+-2)[propagated-inputs]: Add desktop-file-utils.
---
 gnu/packages/gtk.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index dffa2baf3..cf40c59dc 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -604,6 +604,7 @@ is part of the GNOME accessibility project.")
    (outputs '("out" "doc"))
    (propagated-inputs
     `(("atk" ,atk)
+      ("desktop-file-utils" ,desktop-file-utils) ; Used by profile hook.
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("pango" ,pango)))
    (inputs




Information forwarded to guix-patches <at> gnu.org:
bug#26988; Package guix-patches. (Fri, 19 May 2017 23:06:01 GMT) Full text and rfc822 format available.

Message #14 received at 26988 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Danny Milosavljevic <dannym <at> scratchpost.org>, 26988 <at> debbugs.gnu.org
Subject: Re: bug#26988: Add desktop-file-utils to all gtk applications
Date: Sat, 20 May 2017 01:05:22 +0200
[Message part 1 (text/plain, inline)]
Danny Milosavljevic <dannym <at> scratchpost.org> writes:

> these are two patches I propose we add in order to add
> desktop-file-utils to all gtk applications.  This means that the
> profile hook would pick up the desktop files (as soon as possible).

So if I read (guix profiles) correctly, the hook only runs when
'desktop-file-utils' is referenced. Would checking for a gtk reference
as well not achieve the same effect? Or is that too expensive?

> One patch moves desktop-file-utils from (gnu packages gnome) to (gnu
> packages freedesktop).  I suggest we apply this patch to all branches
> - since they don't change anything in the build.

Adding it to 'master' would be sufficient, no? It will be merged to
'staging' and 'core-updates' in due time.

I don't see a good reason to move it though, but no strong opinion. Make
sure all dependent packages still finds it!

> The other patch adds desktop-file-utils as propagated-input to gtk+-2
> (and by inheritance to gtk+ 3, too).  That would imply entail all gtk
> applications.  Therefore, it should only go to core-updates.

Not just all gtk applications, but also anything depending on those. Can
you add a comment about why we propagate 'desktop-file-utils' from gtk?
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#26988; Package guix-patches. (Sat, 20 May 2017 13:05:02 GMT) Full text and rfc822 format available.

Message #17 received at 26988 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Marius Bakke <mbakke <at> fastmail.com>, 宋文武 <iyzsong <at> gmail.com>
Cc: 26988 <at> debbugs.gnu.org
Subject: Re: bug#26988: Add desktop-file-utils to all gtk applications
Date: Sat, 20 May 2017 15:04:11 +0200
Hi Marius,
Hi 宋文武,

On Sat, 20 May 2017 01:05:22 +0200
Marius Bakke <mbakke <at> fastmail.com> wrote:

> Danny Milosavljevic <dannym <at> scratchpost.org> writes:
> 
> > these are two patches I propose we add in order to add
> > desktop-file-utils to all gtk applications.  This means that the
> > profile hook would pick up the desktop files (as soon as possible).  
> 
> So if I read (guix profiles) correctly, the hook only runs when
> 'desktop-file-utils' is referenced. Would checking for a gtk reference
> as well not achieve the same effect? Or is that too expensive?

That would probably work as well.

But the idea is KDE would eventually use the XDG desktop cache, too (maybe it already does - no idea).  Any other desktop environments that don't reinvent the wheel in that regard would use desktop-file-utils as well - and that's the package that actually contains the "update-desktop-database" executable for updating the XDG desktop cache.

Right now the "xdg-desktop-database" profile hook doesn't need its own magical packages but it just uses the existing desktop-file-utils reference for actually updating the desktop database.

At least I think that's the idea there.  宋文武 wrote the update-desktop-database part in the profile hook... 宋文武, what do you think?

> > One patch moves desktop-file-utils from (gnu packages gnome) to (gnu
> > packages freedesktop).  I suggest we apply this patch to all branches
> > - since they don't change anything in the build.  
> 
> Adding it to 'master' would be sufficient, no? It will be merged to
> 'staging' and 'core-updates' in due time.

> I don't see a good reason to move it though, but no strong opinion. 

desktop-file-utils is a freedesktop project.

If we don't move it and if KDE used desktop-file-utils (as it should), we'd have KDE depend on Gnome.

Also, it causes module reference cycles if we don't move it.  I don't like those - even though they seem to work in this instance.

I think moving it is preferrable to having it sit there, waiting to make the module cycles explode.

>Make sure all dependent packages still finds it!

Yes, I should add a reference to (gnu packages freedesktop) in (gnu packages xfce), (gnu packages game-development) and (gnu packages engineering) in the next version.

If we did move it in all branches, I mean also in wip-installer etc, I think it would prevent any merging problems - since git uses file hashes as commits - and people would not have to take care whether this branch has already moved it or not.

Moving wouldn't cause any rebuilds and fallout would be minimal - the risk would be very low.

> > The other patch adds desktop-file-utils as propagated-input to gtk+-2
> > (and by inheritance to gtk+ 3, too).  That would [entail rebuilding] all gtk
> > applications.  Therefore, it should only go to core-updates.  
> 
> Not just all gtk applications, but also anything depending on those. Can
> you add a comment about why we propagate 'desktop-file-utils' from gtk?

There's one:

+      ("desktop-file-utils" ,desktop-file-utils) ; Used by profile hook.

Do you mean we should add some more text?




Information forwarded to guix-patches <at> gnu.org:
bug#26988; Package guix-patches. (Sat, 20 May 2017 23:01:02 GMT) Full text and rfc822 format available.

Message #20 received at 26988 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Danny Milosavljevic <dannym <at> scratchpost.org>, 宋文武
 <iyzsong <at> gmail.com>
Cc: 26988 <at> debbugs.gnu.org
Subject: Re: bug#26988: Add desktop-file-utils to all gtk applications
Date: Sun, 21 May 2017 01:00:22 +0200
[Message part 1 (text/plain, inline)]
Danny Milosavljevic <dannym <at> scratchpost.org> writes:

> Hi Marius,
> Hi 宋文武,
>
> On Sat, 20 May 2017 01:05:22 +0200
> Marius Bakke <mbakke <at> fastmail.com> wrote:
>
>> Danny Milosavljevic <dannym <at> scratchpost.org> writes:
>> 
>> > these are two patches I propose we add in order to add
>> > desktop-file-utils to all gtk applications.  This means that the
>> > profile hook would pick up the desktop files (as soon as possible).  
>> 
>> So if I read (guix profiles) correctly, the hook only runs when
>> 'desktop-file-utils' is referenced. Would checking for a gtk reference
>> as well not achieve the same effect? Or is that too expensive?
>
> That would probably work as well.
>
> But the idea is KDE would eventually use the XDG desktop cache, too (maybe it already does - no idea).  Any other desktop environments that don't reinvent the wheel in that regard would use desktop-file-utils as well - and that's the package that actually contains the "update-desktop-database" executable for updating the XDG desktop cache.
>
> Right now the "xdg-desktop-database" profile hook doesn't need its own magical packages but it just uses the existing desktop-file-utils reference for actually updating the desktop database.

IIUC, the idea is to run the hook every time a package with a ".desktop"
file has changed. Even if we propagate "desktop-file-utils" from say,
GTK+ and Qt, it won't catch some cases where we add the ".desktop" file
manually such as "rxvt-unicode".

I wonder if there is a more generic thing we could test for.. Maybe
libx11? Obviously lots of false positives, but the hook is not *that*
expensive. Thoughts?

>> > One patch moves desktop-file-utils from (gnu packages gnome) to (gnu
>> > packages freedesktop).  I suggest we apply this patch to all branches
>> > - since they don't change anything in the build.  
>> 
>> Adding it to 'master' would be sufficient, no? It will be merged to
>> 'staging' and 'core-updates' in due time.
>
>> I don't see a good reason to move it though, but no strong opinion. 
>
> desktop-file-utils is a freedesktop project.
>
> If we don't move it and if KDE used desktop-file-utils (as it should), we'd have KDE depend on Gnome.

Ah, ok. Makes sense.

> If we did move it in all branches, I mean also in wip-installer etc, I think it would prevent any merging problems - since git uses file hashes as commits - and people would not have to take care whether this branch has already moved it or not.

IME, git usually recognizes cherry-picks as the same change, but not
always. I think the problem is that "cherry-pick" is smart, it can adapt
to some fairly complicated context changes unlike e.g. "patch". So, even
if the cherry-pick succeeds, the file and context can be very different.

For example, I recently tested merging a branch with 600+ cherry-picks
back to 'master'. That went mostly-well, but there were some very
difficult conflicts in all files that had changed in the other branch
(and the duplicate branch history did not help).

In short, I think we should prefer merging to cherry-picks whenever
possible. Merging is equally smart, so if cherry-pick works "out of the
box" merge will too. And they definitely do not prevent merging
problems, quite the opposite!
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#26988; Package guix-patches. (Sun, 21 May 2017 02:33:01 GMT) Full text and rfc822 format available.

Message #23 received at 26988 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Danny Milosavljevic <dannym <at> scratchpost.org>, 宋文武
 <iyzsong <at> gmail.com>
Cc: 26988 <at> debbugs.gnu.org
Subject: Re: bug#26988: Add desktop-file-utils to all gtk applications
Date: Sun, 21 May 2017 04:32:16 +0200
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> fastmail.com> writes:

> Danny Milosavljevic <dannym <at> scratchpost.org> writes:
>
>> Hi Marius,
>> Hi 宋文武,
>>
>> On Sat, 20 May 2017 01:05:22 +0200
>> Marius Bakke <mbakke <at> fastmail.com> wrote:
>>
>>> Danny Milosavljevic <dannym <at> scratchpost.org> writes:
>>> 
>>> > these are two patches I propose we add in order to add
>>> > desktop-file-utils to all gtk applications.  This means that the
>>> > profile hook would pick up the desktop files (as soon as possible).  
>>> 
>>> So if I read (guix profiles) correctly, the hook only runs when
>>> 'desktop-file-utils' is referenced. Would checking for a gtk reference
>>> as well not achieve the same effect? Or is that too expensive?
>>
>> That would probably work as well.
>>
>> But the idea is KDE would eventually use the XDG desktop cache, too (maybe it already does - no idea).  Any other desktop environments that don't reinvent the wheel in that regard would use desktop-file-utils as well - and that's the package that actually contains the "update-desktop-database" executable for updating the XDG desktop cache.
>>
>> Right now the "xdg-desktop-database" profile hook doesn't need its own magical packages but it just uses the existing desktop-file-utils reference for actually updating the desktop database.
>
> IIUC, the idea is to run the hook every time a package with a ".desktop"
> file has changed. Even if we propagate "desktop-file-utils" from say,
> GTK+ and Qt, it won't catch some cases where we add the ".desktop" file
> manually such as "rxvt-unicode".

A dirty workaround could be to add a reference to some dummy store item
in the 'patch-dot-desktop-files' phase. Maybe a hidden "mimeinfo-helper"
package and inject a reference to it directly in the '.desktop' files.

And then test for that in the profile hook. Sounds a bit hacky, but
should not cause any compatibility issues, and avoids the artificial
'desktop-file-utils' reference at 122MiB.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#26988; Package guix-patches. (Mon, 05 Jun 2017 19:23:01 GMT) Full text and rfc822 format available.

Message #26 received at 26988 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 26988 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH v2 0/2] Add desktop-file-utils to all gtk applications.
Date: Mon,  5 Jun 2017 21:22:00 +0200
Danny Milosavljevic (2):
  gnu: Move desktop-file-utils to (gnu packages freedesktop).
  gnu: gtk+-2: Add desktop-file-utils to propagated-inputs.

 gnu/packages/engineering.scm      |  1 +
 gnu/packages/freedesktop.scm      | 32 ++++++++++++++++++++++++++++++++
 gnu/packages/game-development.scm |  1 +
 gnu/packages/gnome.scm            | 32 --------------------------------
 gnu/packages/gtk.scm              |  1 +
 gnu/packages/xfce.scm             |  1 +
 6 files changed, 36 insertions(+), 32 deletions(-)





Information forwarded to guix-patches <at> gnu.org:
bug#26988; Package guix-patches. (Mon, 05 Jun 2017 19:23:02 GMT) Full text and rfc822 format available.

Message #29 received at 26988 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 26988 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH v2 1/2] gnu: Move desktop-file-utils to (gnu packages
 freedesktop).
Date: Mon,  5 Jun 2017 21:22:01 +0200
* gnu/packages/gnome.scm (desktop-file-utils): Move from here ...
* gnu/packages/freedesktop.scm (desktop-file-utils): ... to here.
* gnu/packages/engineering.scm: Import (gnu packages freedesktop).
* gnu/packages/game-development.scm: Import (gnu packages freedesktop).
* gnu/packages/xfce.scm: Import (gnu packages freedesktop).
---
 gnu/packages/engineering.scm      |  1 +
 gnu/packages/freedesktop.scm      | 32 ++++++++++++++++++++++++++++++++
 gnu/packages/game-development.scm |  1 +
 gnu/packages/gnome.scm            | 32 --------------------------------
 gnu/packages/xfce.scm             |  1 +
 5 files changed, 35 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 7ad93653e..e835a5da9 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -44,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gd)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 85a6c8b26..dfc88986f 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -927,3 +927,35 @@ library to access fingerprint readers, over the D-Bus interprocess
 communication bus.  This daemon layer above libfprint solves problems related
 to applications simultaneously competing for fingerprint readers.")
     (license license:gpl2+)))
+
+(define-public desktop-file-utils
+  (package
+    (name "desktop-file-utils")
+    (version "0.23")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.freedesktop.org/software/" name
+                                  "/releases/" name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "119kj2w0rrxkhg4f9cf5waa55jz1hj8933vh47vcjipcplql02bc"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glib" ,glib)))
+    (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/")
+    (synopsis "Utilities for working with desktop entries")
+    (description
+     "This package contains a few command line utilities for working with
+desktop entries:
+
+desktop-file-validate: validates a desktop file and prints warnings/errors
+                       about desktop entry specification violations.
+
+desktop-file-install: installs a desktop file to the applications directory,
+                      optionally munging it a bit in transit.
+
+update-desktop-database: updates the database containing a cache of MIME types
+                         handled by desktop files.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 6d9e4061d..56dedefd7 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -38,6 +38,7 @@
   #:use-module (gnu packages databases)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages fribidi)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnunet)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 84ae1cf2f..f5efb44f8 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -702,38 +702,6 @@ Specification, the icon naming utility maps the icon names used by the
 GNOME and KDE desktops to the icon names proposed in the specification.")
     (license license:lgpl2.1+)))
 
-(define-public desktop-file-utils
-  (package
-    (name "desktop-file-utils")
-    (version "0.23")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://www.freedesktop.org/software/" name
-                                  "/releases/" name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "119kj2w0rrxkhg4f9cf5waa55jz1hj8933vh47vcjipcplql02bc"))))
-    (build-system gnu-build-system)
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs
-     `(("glib" ,glib)))
-    (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/")
-    (synopsis "Utilities for working with desktop entries")
-    (description
-     "This package contains a few command line utilities for working with
-desktop entries:
-
-desktop-file-validate: validates a desktop file and prints warnings/errors
-                       about desktop entry specification violations.
-
-desktop-file-install: installs a desktop file to the applications directory,
-                      optionally munging it a bit in transit.
-
-update-desktop-database: updates the database containing a cache of MIME types
-                         handled by desktop files.")
-    (license license:gpl2+)))
-
 (define-public gnome-icon-theme
   (package
     (name "gnome-icon-theme")
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index c8786dd69..d7d1372dd 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -39,6 +39,7 @@
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages web)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages image)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages pdf)




Information forwarded to guix-patches <at> gnu.org:
bug#26988; Package guix-patches. (Mon, 05 Jun 2017 19:23:02 GMT) Full text and rfc822 format available.

Message #32 received at 26988 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 26988 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH v2 2/2] gnu: gtk+-2: Add desktop-file-utils to
 propagated-inputs.
Date: Mon,  5 Jun 2017 21:22:02 +0200
* gnu/packages/gtk.scm (gtk+-2)[propagated-inputs]: Add desktop-file-utils.
---
 gnu/packages/gtk.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 1d9ee1524..67dc3c9a8 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -605,6 +605,7 @@ is part of the GNOME accessibility project.")
    (outputs '("out" "doc"))
    (propagated-inputs
     `(("atk" ,atk)
+      ("desktop-file-utils" ,desktop-file-utils) ; Used by profile hook.
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("pango" ,pango)))
    (inputs




Information forwarded to guix-patches <at> gnu.org:
bug#26988; Package guix-patches. (Thu, 15 Jun 2017 08:28:02 GMT) Full text and rfc822 format available.

Message #35 received at 26988 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 26988 <at> debbugs.gnu.org
Subject: Re: [PATCH v2 1/2] gnu: Move desktop-file-utils to (gnu packages
 freedesktop).
Date: Thu, 15 Jun 2017 10:27:11 +0200
Pushed only this patch to master as 324b0040f4ac493ef11f82712db2c9abcc6b92ca.




Reply sent to iyzsong <at> member.fsf.org (宋文武):
You have taken responsibility. (Mon, 03 Jul 2017 15:38:01 GMT) Full text and rfc822 format available.

Notification sent to Danny Milosavljevic <dannym <at> scratchpost.org>:
bug acknowledged by developer. (Mon, 03 Jul 2017 15:38:01 GMT) Full text and rfc822 format available.

Message #40 received at 26988-done <at> debbugs.gnu.org (full text, mbox):

From: iyzsong <at> member.fsf.org (宋文武)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>, 26988-done <at> debbugs.gnu.org
Subject: Re: bug#26988: Add desktop-file-utils to all gtk applications
Date: Mon, 03 Jul 2017 23:32:11 +0800
Marius Bakke <mbakke <at> fastmail.com> writes:

> Marius Bakke <mbakke <at> fastmail.com> writes:
>
>> Danny Milosavljevic <dannym <at> scratchpost.org> writes:
>>
>>> Hi Marius,
>>> Hi 宋文武,

Hello Marius and Danny,


>>> Marius Bakke <mbakke <at> fastmail.com> wrote:
>>>
>>>> Danny Milosavljevic <dannym <at> scratchpost.org> writes:
>>>> 
>>>> > these are two patches I propose we add in order to add
>>>> > desktop-file-utils to all gtk applications.  This means that the
>>>> > profile hook would pick up the desktop files (as soon as possible).  
>>>> 
>>>> So if I read (guix profiles) correctly, the hook only runs when
>>>> 'desktop-file-utils' is referenced. Would checking for a gtk reference
>>>> as well not achieve the same effect? Or is that too expensive?

Yes, it will work better.  It's expensive slightly by adding the
latest version of desktop-file-utils into the profile closure, but
the 'xdg-mime-database' does that already.

>>> [...]
>>
>> IIUC, the idea is to run the hook every time a package with a ".desktop"
>> file has changed. Even if we propagate "desktop-file-utils" from say,
>> GTK+ and Qt, it won't catch some cases where we add the ".desktop" file
>> manually such as "rxvt-unicode".

Yes, but normally one would have other applications that using GTK+ or
GLib, which will make the hook run.

So I end up with modify the profile hook to test for GLib, it should
work in most cases.

Thanks for the patches!




Information forwarded to guix-patches <at> gnu.org:
bug#26988; Package guix-patches. (Mon, 03 Jul 2017 17:09:01 GMT) Full text and rfc822 format available.

Message #43 received at 26988-done <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: iyzsong <at> member.fsf.org (宋文武)
Cc: Marius Bakke <mbakke <at> fastmail.com>, 26988-done <at> debbugs.gnu.org
Subject: Re: bug#26988: Add desktop-file-utils to all gtk applications
Date: Mon, 3 Jul 2017 19:08:20 +0200
Hi 宋文武,

On Mon, 03 Jul 2017 23:32:11 +0800
iyzsong <at> member.fsf.org (宋文武) wrote:

> >> GTK+ and Qt, it won't catch some cases where we add the ".desktop" file
> >> manually such as "rxvt-unicode".  

How about just adding desktop-file-utils as a native-input to rxvt-unicode (and other few special cases) with a comment saying that's because of the desktop file?

> So I end up with modify the profile hook to test for GLib, it should
> work in most cases.

Glib is a basic C library that hasn't much to do with GUI.  I think that if you check for glib you'll run the hook for system daemons, dbus etc.

Glib is basically the runtime library that makes C sane to use for any purpose.

Also, desktop-file-utils itself requires glib so make sure you don't enter an endless loop :)




Information forwarded to guix-patches <at> gnu.org:
bug#26988; Package guix-patches. (Tue, 04 Jul 2017 11:47:02 GMT) Full text and rfc822 format available.

Message #46 received at 26988-done <at> debbugs.gnu.org (full text, mbox):

From: iyzsong <at> member.fsf.org (宋文武)
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: Marius Bakke <mbakke <at> fastmail.com>, 26988-done <at> debbugs.gnu.org
Subject: Re: bug#26988: Add desktop-file-utils to all gtk applications
Date: Tue, 04 Jul 2017 19:40:39 +0800
A profile hook checks manifest entries for some condition, then usually
adding a item to the profile's united output.

In case of the current 'xdg-desktop-database', it checks if any entry
has a reference of glib, then adding the 'mimeinfo.cache' to the
profile.

So, ...

Danny Milosavljevic <dannym <at> scratchpost.org> writes:

> Hi 宋文武,
>
> On Mon, 03 Jul 2017 23:32:11 +0800
> iyzsong <at> member.fsf.org (宋文武) wrote:
>
>> >> GTK+ and Qt, it won't catch some cases where we add the ".desktop" file
>> >> manually such as "rxvt-unicode".
>
> How about just adding desktop-file-utils as a native-input to rxvt-unicode (and other few special cases) with a comment saying that's because of the desktop file?

In the sitution where you have rxvt-unicode but not any glib based
applications in your profile, this will ensure the 'mimeinfo.cache' got
built.  But since there are no glib based things, I guess it won't be used.

>
>> So I end up with modify the profile hook to test for GLib, it should
>> work in most cases.
>
> Glib is a basic C library that hasn't much to do with GUI.  I think that if you check for glib you'll run the hook for system daemons, dbus etc.

Yeah, the hook only run once for all the packages in the profile.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 02 Aug 2017 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 268 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.