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

From: [email-masked] (Ludovic Courtès)
Date: Fri, 09 Sep 2016 16:33:34 +0200

[email-masked] (宋文武) skribis:

> 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?
>
> gnc.gui:ERROR:gnc-icons.c:96:gnc_add_stock_icon_pair: assertion failed: (pixbuf1 && pixbuf2)
> fish: 'gnucash' terminated by signal SIGABRT (Abort)
>
> 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 :-)

Apparently the 2nd item is what commit
801d316b20b05a4d0687873ad8e438e6238e23ce does.

Are we done, or do we need to do item #1 too?

Ludo’.