GeezerVison is showing github.com — doc: clarify ICU source layout for --with-icu-source by skdas20 · Pull Request #62011 · nodejs/node
Conversation
Fixes #60947
Summary
Clarifies --with-icu-source build docs to match current ICU release packaging and expected directory layout:
- Updated example archive name from
icu4c-##.#-src.tgz to icu4c-##.#-sources.tgz.
- Clarified that
--with-icu-source must point to an extracted ICU source archive layout.
- Added note that a plain ICU Git checkout is not sufficient unless prepared into that layout.
Validation
Ran markdown lint on the changed file:
node tools/lint-md/lint-md.mjs BUILDING.md
Result: exit code 0.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Review requested:
- @nodejs/build
- @nodejs/tsc
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Comment on lines
+996
to
+999
|
|
The directory passed to `--with-icu-source` must contain the extracted ICU
|
|
|
source layout (for example, `source/data/in/icudt*l.dat`). A plain Git checkout
|
|
|
of the ICU repository is not sufficient unless it has been prepared to match
|
|
|
this layout.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure this is incredibly clear with respect to what the paths or "prepared to match" mean. Converting from the source code tree to the compiled source archive is an active build step (make dist), not just a "layout"; I don't think we need to mention what to do with a checked-out source tree, only that it's not the way to do it.
|
The directory passed to `--with-icu-source` must contain the extracted ICU |
|
source layout (for example, `source/data/in/icudt*l.dat`). A plain Git checkout |
|
of the ICU repository is not sufficient unless it has been prepared to match |
|
this layout. |
|
(Note that simply cloning the icu4c repository will not work here; the source |
|
directory must have been unpacked from the compiled `-sources` archive.) |
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Comment on lines
1008
to
1021
|
|
|
|
|
```bash
|
|
|
./configure --with-intl=full-icu --with-icu-source=http://url/to/icu.tgz
|
|
|
```
|
|
|
|
|
|
#### Windows
|
|
|
|
|
|
First unpack latest ICU to `deps/icu`
|
|
|
[icu4c-**##.#**-src.tgz](https://icu.unicode.org/download) (or `.zip`)
|
|
|
as `deps/icu` (You'll have: `deps/icu/source/...`)
|
|
|
|
|
|
```powershell
|
|
|
.\vcbuild full-icu
|
|
|
```
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also need to update the archive names here.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
This pull request has been marked as stale due to 90 days of inactivity.
It will be automatically closed in 30 days if no further activity occurs. If this is still relevant, please leave a comment or update it to keep it open.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Thanks @Renegade334 — applied both. Used your wording verbatim for the icu4c note, since you're right that make dist is an active build step rather than a matter of layout, and saying only that a clone isn't the way to do it is clearer than describing what to do with one. Also updated the archive name in the Windows section to -sources.tgz to match.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Use the reviewer's wording for the note about cloning icu4c, and update
the archive name in the Windows section to match.
Signed-off-by: skdas20 <[email protected]>
|
Pushed fixes for both failing lint jobs.
lint-js-and-md was flagging the note itself:
BUILDING.md
1010:2-1010:11 warning Use "<nothing>" instead of "Note that" prohibited-strings remark-lint
@Renegade334 — that's on your suggested wording rather than anything you could have known about; prohibited-strings bans "Note that" repo-wide. I've kept your phrasing and just dropped the opening:
(Simply cloning the icu4c repository will not work here; the source directory
must have been unpacked from the compiled -sources archive.)
lint-commit-message was failing on not ok 6 signed-off-by. That was true of the original commit on this PR as well, so it had been failing since the branch was opened — both commits now carry a Signed-off-by trailer.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
|
@@ -992,21 +978,24 @@ that works for both your host and target environments. |
|
|
|
|
|
You can find other ICU releases at
|
|
|
[the ICU homepage](https://icu.unicode.org/download).
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
[the ICU homepage](https://icu.unicode.org/download). |
|
[the ICU homepage](https://unicode-org.github.io/icu/download/). |
With the https://unicode-org.github.io/icu/download/ page redirecting you elsewhere we should probably target the new location.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Commit Queue failed
⚠ Could not retrieve the email or name of the PR author's from user's GitHub profile!
✘ Requested Changes: 1
✘ - Stewart X Addison (@sxa): https://github.com/nodejs/node/pull/62011#pullrequestreview-5043250790
The pull request was removed from the Commit Queue and labeled
commit-queue-failed
PRs whose Commit Queue landing failed and need manual intervention before retrying.
. After resolving the failure, remove that label and add
commit-queue
PRs queued for automated landing through the Commit Queue.
to retry.
Full Commit Queue output
- Loading data for nodejs/node/pull/62011
✔ Done loading data for nodejs/node/pull/62011
----------------------------------- PR info ------------------------------------
Title doc: clarify ICU source layout for --with-icu-source (#62011)
⚠ Could not retrieve the email or name of the PR author's from user's GitHub profile!
Branch skdas20:docs/clarify-icu-source-layout-60947 -> nodejs:main
Labels doc, build, commit-queue, commit-queue-squash, stale
Commits 2
- doc: clarify ICU source layout for configure
- doc: apply review feedback on ICU source archive wording
Committers 1
- Sumit Kumar Das <[email protected]>
PR-URL: https://github.com/nodejs/node/pull/62011
Reviewed-By: René <[email protected]>
------------------------------ Generated metadata ------------------------------
PR-URL: https://github.com/nodejs/node/pull/62011
Reviewed-By: René <[email protected]>
--------------------------------------------------------------------------------
ℹ This PR was created on Thu, 26 Feb 2026 18:36:34 GMT
✘ Requested Changes: 1
✘ - Stewart X Addison (@sxa): https://github.com/nodejs/node/pull/62011#pullrequestreview-5043250790
✔ Approvals: 1
✔ - René (@Renegade334): https://github.com/nodejs/node/pull/62011#pullrequestreview-5042759412
✔ Last GitHub CI successful
ℹ Green GitHub CI is sufficient
--------------------------------------------------------------------------------
✔ Aborted `git node land` session in /home/runner/work/node/node/.ncu
View workflow run
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
The icu.unicode.org/download link redirects; point at the page it
redirects to instead.
Signed-off-by: skdas20 <[email protected]>
|
Thanks @sxa — applied the download page change, in both places (the Windows section had the old link too).
On the other suggestion, I can't take it as-is: prohibited-strings bans "Note that" repo-wide, and that's what lint-js-and-md was failing on before:
BUILDING.md
1010:2-1010:11 warning Use "<nothing>" instead of "Note that" prohibited-strings remark-lint
The current text keeps @Renegade334's wording with just the opening dropped:
(Simply cloning the icu4c repository will not work here; the source directory
must have been unpacked from the compiled -sources archive.)
Happy to reword further if that reads awkwardly to you — I just can't restore the "Note that" without the lint failing again.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
@sxa I've applied the download-page change in both places. Could you take another look when you have a moment? The other suggestion conflicts with the repo-wide prohibited-strings lint, as explained above.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
sxa
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the reminder :-)
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Thanks @sxa and @Renegade334 for the approvals! The last commit-queue run (Aug 27) failed only on the since-resolved change request. Could a collaborator add request-ci and commit-queue when convenient? Happy to squash or rebase first if you'd prefer.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Reviewers
sxa
sxa approved these changes
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Labels
build
Issues and PRs related to Node.js builds or CI infrastructure.
commit-queue-squash
PRs the Commit Queue should land as one squashed commit.
doc
Issues and PRs related to Node.js documentation.
Milestone
No milestone
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|