Subject: Re: bug#27244: Should not $GUIX_LOCPATH belong to‘glibc-locales’ rather than ‘glibc’?

From: [email-masked] (Ludovic Courtès)
Date: Wed, 07 Jun 2017 11:40:55 +0200

Hi Dmitry,

Dmitry Alexandrov <[email-masked]> skribis:

>>>> However, every locale-providing package would need to define it,
>>>> which is not great.
>>>
>>> But would not thorough following “search paths are exported by the
>>> active side” convention implies that every single package that ships a
>>> localized program has to define $GUIX_LOCPATH?  That would be about
>>> 100 % of packages, I guess.
>>
>> Correct.
>
> So...?  If moving search path definitions to the packages that
> actually provide searchable stuff is not feasible, another
> foreign-distro-user-friendly option, I can imagine, is to have a
> package (a ‘virtual package’, if you will) that would only add a
> search path to etc/profile without installing any executables.

I believe the right way to address this issue is by fixing
<https://bugs.gnu.org/22138>.  Meta-packages sound more like a
workaround to me.

> That approach might benefit to a user of Guix on top of a another
> distro not only with respect to $GUIX_LOCPATH.  I hope, to be able,
> for example, to read documentation of Guix-installed programs with
> /usr/bin/emacs or /usr/bin/info or even /usr/bin/tkinfo rather than
> emacs(1) / info(1) from Guix is a fairly reasonable wish, so having a
> package that only appends $INFOPATH would be nice.  ‘emacs’ and
> ‘texinfo’ packages would have it as propagated dependency.

Guix allows users to do that, but IMO we should not try to support this
use case—using /usr/bin/foo to access Guix-provided files—in Guix
proper, for at least one reason: there are many cases where it wouldn’t
work (PYTHONPATH, etc.).

>>> (By the way, ‘glibc-utf8-locales’ looks like a misnomer to me, on the
>>> first glance on it a user have nothing but to think that it comprises
>>> UTF-8 locales for all supported languages.)
>>
>> It is!  The manual clearly warns about it, saying that it’s “limited to
>> a few UTF-8 locales”:
>> <https://gnu.org/software/guix/manual/html_node/Application-Setup.html#Locales>.
>>
>> Note that the Guix 0.13.0 binary tarball comes with glibc-utf8-locales
>> and glibc, such that its etc/profile defines ‘GUIX_LOCPATH’.
>
> Excuse me?  I far as I understand, etc/profile is managed on
> per-profile (i. e. per-user) basis.  Thus $GUIX_LOCPATH is not
> exported until every user explicitly installs ‘glibc’ (along with all
> its bin/ldd, etc).  Or did I miss something?

No you’re right, this has to be done per-profile.  I was referring to
the profile that’s in the binary tarball.

Thanks for your feedback,
Ludo’.