Subject: Re: Guix Emacs does not get "America/Sao_Paulo" timezone by name

From: Leo Prikler <[email-masked]>
Date: Sun, 09 May 2021 17:57:27 +0200

Am Sonntag, den 09.05.2021, 12:38 -0300 schrieb Jorge P.de Morais Neto:
> Hi Leo.
> 
> Em [2021-05-09 dom 01:56:56+0200], Leo Prikler escreveu:
> 
> > I'm not quite sure how tzdata works on foreign systems, but I'll
> > assume
> > Guix always takes the one itself has.  Using this, I don't find any
> > America/Sao_Paolo, which would be the one you're looking for,
> 
> Actually the correct spelling is "America/Sao_Paulo".  On my Guix
> installation it seems to be the file
>     ${GUIX_PROFILE}/share/zoneinfo/America/Sao_Paulo
Thanks for the hint, the correct spelling does work.
> > but I do find Brazil/East, which gives the expected result.
> 
> Did you test in Guix System or, like me, in Guix Emacs atop a foreign
> GNU distro?  In my case, "Brazil/East" also does not work.  I have
> tried
> installing Guix package tzdata---both on my main profile which
> contains
> emacs-next and on my ‘emacs’ profile which contains Emacs 27.2 for
> testing---and rebooting my notebook, but the result is the same.
> 
> And I have just installed Emacs 27.1 on my Debian bullseye, and it
> correctly gets both "Brazil/East" and "America/Sao_Paulo".
I've tested Guix System.  If you install tzdata locally, don't forget
to set TZDIR in your shell profile to make Emacs find it.  The
following command fails to resolve Brazil/East:

    guix environment -C --ad-hoc emacs tzdata -E TERM -- emacs

The following command does not fail to resolve Brazil/East

    guix environment -C --ad-hoc emacs tzdata -E TERM -E TZDIR -- emacs

Note: the above assumes, that `guix build tzdir` produces $TZDIR, which
in Guix System, it does.  In particular, my earlier comment, that Emacs
uses Guix' tzdata seems to be wrong – it should use whatever you set as
TZDIR.

Regards,
Leo