Subject: Re: bug#24188: gnucash needs gtk+ in propagated-inputs

From: [email-masked] (宋文武)
Date: Thu, 11 Aug 2016 21:22:43 +0800

Arun Isaac <[email-masked]> writes:

>> The following environment variables are set which may make a difference
>> here:
>>
>>   GUIX_GTK3_PATH=/run/current-system/profile/lib/gtk-3.0
>>   GUIX_GTK2_PATH=/run/current-system/profile/lib/gtk-2.0
>>   GTK_DATA_PREFIX=/run/current-system/profile
>
> After setting XDG_DATA_DIRS with
>
> export XDG_DATA_DIRS="/gnu/store/zlr5l39k9gw7ss26iq6vj3yk215xrzpl-profile/share${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS"
>
> gnucash runs successfully. I found out about this using `guix
> environment --search-paths gnucash`.
>
> How do I find out about these environment variables in general?
> Shouldn't they be set in the gnucash wrapper script so that the user
> does not have to set them manually?

--8<---------------cut here---------------start------------->8---
gnc.gui:ERROR:gnc-icons.c:96:gnc_add_stock_icon_pair: assertion failed: (pixbuf1 && pixbuf2)
fish: 'gnucash' terminated by signal SIGABRT (Abort)
--8<---------------cut here---------------end--------------->8---

I think this error is caused by gdk-pixbuf, which uses XDG mime-info
database to query file types.  Install the 'shared-mime-info' package
to activate the 'xdg-mime-database' profile hook should make it works.

To actually fix this package (and some others) we can:

- Wrap them with shared-mime-info in XDG_DATA_DIRS or propagated it.

- Make sure 'xdg-mime-database' always run if glib applications are
  there even without shared-mime-info referenced by profile.  
  IIRC, this was suggested by ludo, but I ignored, now patch sent :-)