From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#27244: Should not $GUIX_LOCPATH belong to =?UTF-8?Q?=E2=80=98glibc-locales=E2=80=99?= rather than =?UTF-8?Q?=E2=80=98glibc=E2=80=99=3F?= Date: Wed, 07 Jun 2017 00:57:24 +0200 Message-ID: <87tw3s7mi3.fsf@gnu.org> References: <87shjf8abx.fsf@gmail.com> <87inka9nk4.fsf@gnu.org> <87zidl294a.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36647) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dINQN-0000Bo-6y for bug-guix@gnu.org; Tue, 06 Jun 2017 18:58:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dINQI-00018O-9F for bug-guix@gnu.org; Tue, 06 Jun 2017 18:58:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:57320) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dINQI-000183-6W for bug-guix@gnu.org; Tue, 06 Jun 2017 18:58:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dINQI-00013V-0k for bug-guix@gnu.org; Tue, 06 Jun 2017 18:58:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87zidl294a.fsf@gmail.com> (Dmitry Alexandrov's message of "Tue, 06 Jun 2017 04:33:09 +0300") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Dmitry Alexandrov <321942@gmail.com> Cc: 27244@debbugs.gnu.org Dmitry Alexandrov <321942@gmail.com> skribis: >>> As of now [0] a search path =E2=80=98GUIX_LOCPATH=E2=80=99 is exported = when =E2=80=98glibc=E2=80=99 >>> package, which does not comprise any locales, is installed. I guess, >>> it should belong to =E2=80=98glibc-locales=E2=80=99 and =E2=80=98glibc-= utf8-locales=E2=80=99 instead. >> >> The idea of search path specifications like =E2=80=98GUIX_LOCPATH=E2=80= =99 is that the >> package that honors them defines them. >> >> For example, Python defines =E2=80=98PYTHONPATH=E2=80=99, Guile defines >> =E2=80=98GUILE_LOAD_PATH=E2=80=99, 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, =E2=80=98GUIX_LOCPATH=E2=80=99 is honored by glibc, so gli= bc defines it. > > From the user point of view =E2=80=98glibc=E2=80=99 is a package that ins= talls > 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 =E2=80=98glibc-utf8-locales=E2=80=99 defined it, then you=E2= =80=99d immediately get >> the recommendation about setting =E2=80=98GUIX_LOCPATH=E2=80=99, which I= guess is what >> you=E2=80=99d 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 =E2=80=9Csearch paths are exported by the > active side=E2=80=9D convention implies that every single package that sh= ips a > localized program has to define $GUIX_LOCPATH? That would be about > 100=C2=A0% of packages, I guess. Correct. > On the other hand, now there are only two locale-providing packages, > as I can see: =E2=80=98glibc-locales=E2=80=99 and =E2=80=98glibc-utf8-loc= ales=E2=80=99. Are there > plans to split them up? Is not that supposed to be done by means of > =E2=80=98outputs=E2=80=99: 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, =E2=80=98glibc-utf8-locales=E2=80=99 looks like a misnomer t= o 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=E2=80=99s =E2=80= =9Climited to a few UTF-8 locales=E2=80=9D: . Note that the Guix 0.13.0 binary tarball comes with glibc-utf8-locales and glibc, such that its etc/profile defines =E2=80=98GUIX_LOCPATH=E2=80=99. >> On a related note, see this issue about indirect search path >> specifications: . > > 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=E2=80=99.