-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gyp: sync code base with nodejs repo #1975
Conversation
PR in nodejs/node: nodejs/node#30563 |
@@ -1951,13 +1951,11 @@ def _InstallableTargetInstallPath(self): | |||
"""Returns the location of the final output for an installable target.""" | |||
# Xcode puts shared_library results into PRODUCT_DIR, and some gyp files | |||
# rely on this. Emulate this behavior for mac. | |||
|
|||
# XXX(TooTallNate): disabling this code since we don't want this behavior... |
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.
note the TODO here specifically for node-gyp, I wonder how much this matters still? is it just a case of disallowing end-user from specifying shared_library
in their binding.gyp? 🤷♂
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.
Change was done in a2ed0df
If we need to keep it here, can we also apply it to node? I don't know the implications...
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 don't know what to do with this. The change is in node-gyp since 2012, the commit message doesn't explain why it was done and I can't find the pull request that introduced it.
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'll try to remove this code in nodejs/node and see if CI is happy. Maybe the gyp files that rely on this are not ours.
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.
Well, removing these lines breaks the Node.js build: https://ci.nodejs.org/job/node-test-commit-linux-containered/16453/nodes=ubuntu1804_sharedlibs_shared_x64/console
So we're back to the original question: how does it matter to node-gyp?
@TooTallNate sorry to bother you, but since you committed the change, maybe you remember why it was needed?
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.
Will this be a blocker ? or we can merge this for now and left as it is ?
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 think this is not a blocker anymore.
Very brave of you @targos. |
Most of the changes here come from upstream gyp updates that were applied to nodejs/node two to three years ago. |
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.
RSLGTM, some comments in the complementary PR. Will try to review this more thoroughly later.
/cc @nodejs/node-gyp |
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.
This is failing in all Windows 2016 runners. This needs to be fixed before this can land.
I'll need help, because it doesn't seem like the actual error message from MSBuild.exe was printed to the console. |
how about we bump semver-major with this and go with a node-gyp v7. node-gyp 5 is still being used by npm so 6 is currently for people using it manually, a bump to 7 gives us some breakage room and lets people opt-in to an upgrade, then npm could choose to jump to v7 at some point if it wants instead of v6. |
Re-synced. Thanks @joaocgreis for the fix! GitHub Actions passed. |
All green! @nodejs/node-gyp PTAL and merge if you like :) From my point of view, this can be semver-major. I only care about unifying the code between this repo and node core, so it doesn't matter in which release this goes first. |
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.
rubber-stamp, too hard for me to review in detail but if it passes then I guess the best we can do is plough ahead and find out by pushing it into a v7.
@rvagg let's merge this to master ? |
Outdated review, this looks fixed now.
Sorry for not dismissing my review earlier, I missed it when I investigated the failure. CI: https://ci.nodejs.org/view/All/job/nodegyp-test-pull-request/176/ ✔️ (this does not rebase, would be good to run CI on the final rebased version before landing) |
Looks like the CI passed. If we have no future questions, I want to land this. |
@rvagg I have launched the PR. If you have any problems, feel free to revert this. @targos I think we continue to work on nodejs/node#30563. |
This syncs the gyp code base so that it is identical to the one in nodejs/node.
This was done by removing the code in nodejs/node-gyp, copying from nodejs/node and then manually reviewing and adapting the diff.