Hello,
Josselin Poiret via Bug reports for GNU Guix <bug-guix@gnu.org> writes:
Toggle quote (11 lines)
> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>
>> I went a bit further:
>>
>> The issue is not specifically glib-related, but can be reproduced with
>> any package using the following:
>>
>> (search-path-specification
>> (variable "XDG_DATA_DIRS")
>> ...)
Toggle quote (10 lines)
> The XDG specification says that if XDG_DATA_DIRS is unset, a default
> value of `/usr/local/share/:/usr/share/` should be used in its place.
> On Debian, that env var is not explicitely set, so applications use that
> default value, but when we prepend to it, it effectively removes both of
> these directories from the search path.
>
> As a workaround, you can do `export
> XDG_DATA_DIRS=/usr/local/share/:/usr/share/` right before sourcing the
> guix profile in your .bash_profile.
You're right. The above fixes the issue with fontconfig. Unfortunately,
the problem persists with the minimal manifest:
(specifications->manifest '("python-matplotlib"))
So there's something else going on.
In order to fix the above, I need to put
unset GI_TYPELIB_PATH
in my .profile, after having sourced Guix profile. Maybe this
environment variable also has a special default value when unset.
Toggle quote (4 lines)
> I don't know what the best course
> of action here is to have better OOB support. Is it possible to have
> env vars set by Guix have a default value if unset?
I think it is desirable, in particular for fontconfig, which is
a recommended package in the manual. The part of Guix responsible for
generating the profile file may be more careful when setting
XDG_DATA_DIRS, e.g., with something like (untested):
export XDG_DATA_DIRS=\
"${GUIX_PROFILE:-/gnu/store/…-profile}/share${XDG_DATA_DIRS:+:}${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}"
Regards,
--
Nicolas Goaziou