The R Project SVN R

Rev

Rev 76846 | Rev 79314 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
64541 ripley 1
localtime.c is a stripped-down version of that from tzcode, from
64543 ripley 2
http://www.iana.org/time-zones, converted to use a 64-bit time_t on
3
all platforms.  Apart from removing unused code and merging in the
4
parts of private.h which are needed, the other main changes are
43814 ripley 5
 
6
- to use environment variable TZDIR to point to the zoneinfo files, and
7
  failing that, R_HOME/share/zoneinfo.
8
 
9
- to call getTZinfo() to get the default timezone if TZ is unset.
10
 
64580 ripley 11
strftime.c is a stripped-down version of that from tzcode, using the
12
system version for locale-dependent day/month/am/pm names.
43814 ripley 13
 
64580 ripley 14
 
68517 ripley 15
zoneinfo.zip is formed by installing tzdata on a system with zic, and
64541 ripley 16
zipping up the results, after adding a file VERSION giving the
68517 ripley 17
version.  (The binary databases are byte streams, and so do not depend
18
on the architecture.  There are some comments about whether time_t is
68525 ripley 19
signed, which it is on all sensible platforms.  This is only used with
20
R's implemntation, where time_t is int_fast64_t, hence signed.)
43815 ripley 21
 
64543 ripley 22
To remake it, download the current version of tzdataXXXXx.tar.gz from
75854 ripley 23
https://www.iana.org/time-zones to this directory and run
43815 ripley 24
 
77206 ripley 25
make -f Make.zi VERSION=2019c
43815 ripley 26
 
64543 ripley 27
for the appropriate version.  If zic is not on the path, use something like
28
 
77206 ripley 29
make -f Make.zi VERSION=2019c ZIC=/usr/sbin/zic
64543 ripley 30
 
31
NB: it seems that this needs to be done on a system with 64-bit time_t
76194 ripley 32
or the catalogs will be confined to 1902-2038.  (Even that did not
33
suffice on earlier versions of macOS.)  As a sanity check, the size of
34
zoneinfo.zip should be about 410KB if 64-bit: a 32-bit version will be
35
about 280KB.
68517 ripley 36