[Bug 282377] Missing std::chrono::current_zone in libc++ 19

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 29 Oct 2024 18:05:49 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282377

Dimitry Andric <dim@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dim@FreeBSD.org,
                   |                            |philip@FreeBSD.org

--- Comment #3 from Dimitry Andric <dim@FreeBSD.org> ---
At the moment upstream only really supports LIBCXX_ENABLE_TIME_ZONE_DATABASE on
Linux, other OSes are apparently entirely untested.

I tried configuring libc++ with this option turned on, but the experimental
tzdb.cpp did not even compile. :) Now that was quite easily fixed with an
additional #ifdef, but then it turns out that reading the time zone information
does not work at runtime either.

It assumes there is a file called /usr/share/zoneinfo/tzdata.zi, which
apparently is a shrunk version of (most of?) the time zone database. In FreeBSD
we do have /usr/share/zoneinfo, but not a tzdata.zi file. Since libc++'s tzdb
parser depends on the exact text format of this file, we would first have to
add it to the base system.

It looks like this format could be produced by contrib/tzdata/zishrink.awk, but
I am definitely not an expert in this area, therefore I'm putting Philip on CC.
:)

-- 
You are receiving this mail because:
You are the assignee for the bug.