Dmitry Alexandrov <[email protected]> skribis: >>> As of now [0] a search path ‘GUIX_LOCPATH’ is exported when ‘glibc’ >>> package, which does not comprise any locales, is installed. I guess, >>> it should belong to ‘glibc-locales’ and ‘glibc-utf8-locales’ instead. >> >> The idea of search path specifications like ‘GUIX_LOCPATH’ is that the >> package that honors them defines them. >> >> For example, Python defines ‘PYTHONPATH’, Guile defines >> ‘GUILE_LOAD_PATH’, and so on. > > But locales are honoured by nearly every program. And nearly every > program complains when they are not found: > > $ guix > guile: warning: failed to install locale > warning: failed to install locale: Invalid argument
Yeah. >> In this case, ‘GUIX_LOCPATH’ is honored by glibc, so glibc defines it. > > From the user point of view ‘glibc’ is a package that installs > catchsegv(1), getconf(1), getent(1), iconv(1), ldd(1), locale(1), > localedef(1), makedb(1), mtrace(1), pcprofiledump, sprof(1), > tzselect(1) and xtrace(1). > > At least on top of a foreign distro, when Guix is used as a > language-specific package manager for GNU Guile for instance, that is a > quite unlikely a package to be installed in the profile. Right. >> If instead ‘glibc-utf8-locales’ defined it, then you’d immediately get >> the recommendation about setting ‘GUIX_LOCPATH’, which I guess is what >> you’d like to see. > > Yes, that is exactly what I expected as a user: when locales are > installed they come into play. > >> 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. > On the other hand, now there are only two locale-providing packages, > as I can see: ‘glibc-locales’ and ‘glibc-utf8-locales’. Are there > plans to split them up? Is not that supposed to be done by means of > ‘outputs’: glibc-locales:en, glibc-locales:fr, etc? There are no concrete plans no. The problem is that any split is really arbitrary. > (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’. >> On a related note, see this issue about indirect search path >> specifications: <https://bugs.gnu.org/22138>. > > Oops. My bad, I indeed should search for opened bugs more carefully. > (I hope it should be possible to merge two issues within debbugs, is > not it?) Yes we can merge them. Thanks, Ludo’.
