I'm thinking about getting around to integrating Pike with the tzdata
package in Debian, which I was talking about at the conference some
years ago, but I need to check and understand some things first.
If I understand correctly, the Calendar module knows about daylight
savings time and other jumps in local time in different regions, which
is has to in order to convert past moments in time between local and
universal time, but it doesn't make use of the operating system for
this (except to find out what the current local timezone is), only
data provided with the source code (which as of 8.0.182 is from 2013).
Now, there is mkrules.pike, which compiles the tzdata files into a set
of classes, but it apparently isn't run at build time and while I
guess that one could use the generated classes directly, I can't see
that they are used by Calendar.Timezone. The following comment
suggests that mkrules.pike was discontinued but left in the source
tree.
// ================================================================
// this is to runtime-compile timezones
// it's not very nice; based on the one-time-compilation
// utility I wrote first - but that method was too slow :/
// ================================================================
Now, having the tzdata source package create a tzdata-pike package by
running mkrules.pike would have created a bootstrapping problem as
pike8.0-core would depend on a package that itself would be needed for
to build, so perhaps it's only easier to create a package that simply
installs the tzdata source files in the right location?