Subject: Re: [bug#49042] [PATCH 0/2] WIP gnu: Add ruby-taskjuggler.

From: Maxime Devos <[email-masked]>
Date: Wed, 16 Jun 2021 11:17:08 +0200

Giovanni Biscuolo schreef op di 15-06-2021 om 16:40 [+0200]:
> tutorial.tjp:11: Error: Europe/Paris is not a known time zone
>   timezone "Europe/Paris"
> 
> --8<---------------cut here---------------end--------------->8---
> 
> The strange thing is that timezones are tested at build (check) time but they
> seems missing at runtime.

Not weird at all. I see you put "tzdata" in 'inputs', not 'propagated-inputs'.

When installing ruby-taskjuggler in a profile (or using guix environment --ad-hoc),
guix will only install ruby-taskjuggler. "tzdata" won't be automagically installed
too. If you want to automagically install "tzdata", there are two options:

  * move "tzdata" to propagated-inputs
  * wrap tj3 (e.g. using wrap-program from (guix build utils)) to
    set TZDIR to (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")

Both options are not recommended, because "tzdata" frequently needs to be updated
and therefore, if packages used "tzdata" as input, there would be plenty of rebuilds
each time. When "tzdata" is used for tests, use the less-frequently updated tzdata-for-tests
instead.

The solution is to install "tzdata" separately. A user could do this with
"guix package -i tzdata". However, normally the operating system would provide
a time zone database of its own and initialise TZDIR to something reasonable.

E.g., on Guix System, 'operating-system-environment-variables' in (gnu system)
will initialise TZDIR, SSL_CERT_DIR and GIT_SSL_CAINFO to something reasonable
(though the user can override these defaults with "guix package -i tzdata".)

What operating system are you on, and what output do you get if you run
"echo $TZDIR"?

Greetings,
Maxime.