Skip to content

build: port make_temporal_zoneinfo_cpp to GYP - #66183

Open
aduh95 wants to merge 1 commit into
nodejs:mainfrom
aduh95:fix-temporal-no-icu
Open

aduh95 wants to merge 1 commit into
nodejs:mainfrom
aduh95:fix-temporal-no-icu

Conversation

@aduh95

@aduh95 aduh95 commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Refs: #62676

Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/gyp
  • @nodejs/v8-update

@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. tools Issues and PRs related to the tools directory. v8 engine Issues and PRs related to the V8 dependency. labels Sep 21, 2026
Comment thread tools/v8_gypfiles/v8.gyp
'action_name': 'make_temporal_zoneinfo_cpp',
'inputs': [
'<(V8_ROOT)/tools/include-file-as-bytes.py',
'../../deps/crates/vendor/zoneinfo64-v0_3/src/data/zoneinfo64.res',

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This path may change after git node v8 major if zoneinfo64 receives a version bump in the Rust deps.

Also, will this fail in the case where a slim tarball is being used with shared Temporal?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This path may change after git node v8 major if zoneinfo64 receives a version bump in the Rust deps.

Sure, in this case the path would need to be updated. Are you saying that so we take some preemptive action?

Also, will this fail in the case where a slim tarball is being used with shared Temporal?

Probably, worth noting that slim tarball is not something we distribute, and that limits what build flag can be used (e.g. you have to pass a bunch of --shared-• flags), so it's not really a concern to break that IMO. What would be alternative anyway?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, in this case the path would need to be updated. Are you saying that so we take some preemptive action?

Just thinking in terms of maintainer quality of life, that's all – we automated this in crates.gyp as part of the upgrade process, might be worth thinking about.

The other thing is that the bundled .res with the zoneinfo64 crate is advertised as for testing only – it's probably fine, but there are no promises that it'll be kept up-to-date. An alternative would be using the ICU source itself, much as GN does, eg. 3d85ecd.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So you're thinking we should move the rule to crates.gyp? That might work.

Worth keeping in mind that currently the build is plain broken, trying to build Node.js with --without-intl --v8-enable-temporal-support does not compile. So IMO this PR is a net improvement over the status quo, and we can make improvements in follow up PRs. (Or drop support for --without-intl if we don't care about making it work)

@legendecas legendecas Sep 22, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this could be moved to crates.gyp and, or move the path to be a gyp variable, so that the variable could be updated by a script.

@Renegade334 Renegade334 Sep 22, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An alternative would be using the ICU source itself, much as GN does, eg. 3d85ecd.

Thinking about it, I am kinda leaning more towards the "store a copy of tzdata's zoneinfo in /tools/icu" approach – seems like it'd be less hassle from a gyp standpoint, and would also be guaranteed to be kept up-to-date.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-ci PRs that need a full CI run. tools Issues and PRs related to the tools directory. v8 engine Issues and PRs related to the V8 dependency.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants