Add new port for nodejs 26.6 - #53480
Conversation
|
@microsoft-github-policy-service agree |
|
This appears to effectively conflict with many existing vcpkg ports like libuv, v8, etc. It does not immediately conflict because those dependencies have been moved to subdirectories, but they will still stomp on the same symbols at link time, and ultimately something like Additionally repeating what GPT 5.6 Sol says:
Direct consumption is not an absolute requirement but we really want people to try because it's necessary for build systems that don't support bindings, like MSBuild.
Additionally it's not clear why we are adding a "deprecated" bit on day 0.
|
|
There needs to be some explanation of the impact on all the vendored components. Also repeating GPT again:
I'm going to add that the last two points make me want to see a test port before merging this.
|
|
Hi, thanks for that review. I'm going to go away for about a month overseas to visit clients, so I don't think I'll be able to fix the suggestions quickly. So, I think I'll close this pull request later. But before I close it, I'd like to ask for the first bullet point:
And, for the other bullet points, not questions, just comments: But as I said before, I'll probably close this pull request, and create it again later when I'm back. But would you be able to answer the question 1 above? Since it's technically statically link everything into the dll, can I just remove all features, and leave it as compiling 1 node.dll. But again, even if I do that, I still need to work out what to do with the header files, so they don't clash. Or at the very least, include --shared-libuv, so at least, libuv is not going to clash. |
|
Going away for a period of time. I won't have time to work on addressing the comments soon. I will close this for now. |
Add new port: nodejs
This PR adds a new port for Node.js.
The port builds successfully on:
Windows x64 (tested locally)
macOS arm64 (tested locally)
CI will validate:
macOS x64
Linux x64
New Port Checklist
[x] Changes comply with the maintainer guide.
[x] Node.js is a mature project and meets vcpkg’s stability requirements.
[x] Port name matches upstream project name.
[x] Optional dependencies are controlled through the portfile and manifest.
[x] Versioning scheme matches upstream.
[x] License matches upstream.
[x] Copyright file matches upstream.
[x] Source code comes from authoritative upstream release.
[x] Usage text is correct (or auto‑generated usage is sufficient).
[x] Version database updated via vcpkg x-add-version.
[x] Exactly one version entry added.
Notes
This port uses vcpkg’s OpenSSL (if applicable).
All patches are minimal and required for portability.
No downloads occur during the build.
Architecture handling is triplet‑driven (no hardcoded arm64/x64).