Conversation
Every npm version bump requires a few patches to be floated on node-gyp for io.js compatibility. These patches are found in 03d1992, 5de334c, and da730c7. This commit squashes them into a single commit. PR-URL: nodejs#990 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
On Windows, when node or io.js attempts to dynamically load a compiled
addon, the compiled addon tries to load node.exe or iojs.exe again -
depending on which import library the module used when it was linked.
This causes many compiled addons to break when node.exe or iojs.exe are
renamed, because when the binary has been renamed the addon DLL can't
find the (right) .exe file to load its imports from.
This patch gives compiled addon developers an option to overcome this
restriction by compiling a delay-load hook into their binary. The
delay-load hook ensures that whenever a module tries to load imports
from node.exe/iojs.exe, it'll just look at the process image, thereby
making the addon work regardless of what name the node/iojs binary has.
To enable this feature, the addon developer must set the
'win_delay_load_hook' option to 'true' in their binding.gyp file, like
this:
```
{
'targets': [
{
'target_name': 'ernie',
'win_delay_load_hook': 'true',
...
```
Bug: nodejs#751
Bug: nodejs#965
Upstream PR: nodejs/node-gyp#599
PR-URL: nodejs#1251
Reviewed-By: Rod Vagg <rod@vagg.org>
PR-URL: nodejs#1266
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Contributor
|
Hmmm, Merging from remote worked fine though. What tests we have seem fine. LGTM! |
Contributor
|
Echoing @Fishrock123's comments. LGTM. Merge at will. |
Contributor
Author
|
I'm at the Computer History Museum today, so if merging this is going to be a blocker for 1.8.0, feel free to merge on my behalf. 💻 |
Contributor
|
Will do. Thanks again @othiym23! |
othiym23
added a commit
that referenced
this pull request
Apr 17, 2015
PR-URL: #1448 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Contributor
Contributor
|
Uh... hmmm. That qs readme file is giving some git grief still.. see #1455 .... |
Closed
chrisdickinson
added a commit
that referenced
this pull request
Apr 17, 2015
Notable Changes: * build: Support for building io.js as a static library (Marat Abdullin) #1341 * deps: upgrade openssl to 1.0.2a (Shigeki Ohtsu) #1389 * npm: Upgrade npm to 2.8.3. (Forrest L Norvell) #1448 * src: allow multiple arguments to be passed to process.nextTick (Trevor Norris) #1077 * module: interaction of require('.') with NODE_PATH has been restored and deprecated. This functionality will be removed at a later point. (Roman Reiss) #1363
chrisdickinson
added a commit
that referenced
this pull request
Apr 17, 2015
Notable Changes: * build: Support for building io.js as a static library (Marat Abdullin) #1341 * deps: upgrade openssl to 1.0.2a (Shigeki Ohtsu) #1389 * npm: Upgrade npm to 2.8.3. (Forrest L Norvell) #1448 * src: allow multiple arguments to be passed to process.nextTick (Trevor Norris) #1077 * module: the interaction of require('.') with NODE_PATH has been restored and deprecated. This functionality will be removed at a later point. (Roman Reiss) #1363
chrisdickinson
added a commit
that referenced
this pull request
Apr 20, 2015
Notable Changes:
* build: revert vcbuild.bat changes
* changes inherited from v1.8.0:
* build: Support for building io.js as a static
library (Marat Abdullin) #1341
* npm: Upgrade npm to 2.8.3. (Forrest L Norvell) #1448
* deps: upgrade openssl to 1.0.2a (Shigeki Ohtsu) #1389
* src: allow multiple arguments to be passed to
process.nextTick (Trevor Norris) #1077
* module: the interaction of require('.') with NODE_PATH has been
restored and deprecated. This functionality will be removed at
a later point. (Roman Reiss) #1363
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The npm team has been very busy over the last week, partially working on getting issues related to scoped modules straightened out prior to the launch of private packages on the npm, Inc. registry, but mostly to get git working as robustly as possible with npm, so I could stop thinking about it for a while. Because there were many intermediate releases as we fixed bugs, the combined changelog is massive, but I've worked hard to make the release notes readable, so:
The reason for the semver-minor version bump, taken from the 2.8.0 release notes, is:
github:,gist:,bitbucket:,and
gitlab:shorthand prefixes. GitHub shortcuts will continue to benormalized to
org/repoinstead of being saved asgithub:org/repo, butgitlab:,gist:, andbitbucket:prefixes will be used on the commandline and from
package.json. BE CAREFUL WITH THIS.package.jsonfilespublished with the new shorthand syntax can only be read by
npm@2.8.0andlater, and this feature is mostly meant for playing around with it. If you
want to save git dependencies in a form that older versions of npm can read,
use
--save-exact, which will save the git URL and resolved commit hash ofthe head of the branch in a manner simiilar to the way that
--save-exactpins versions for registry dependencies. This is documented (so check
npm help installfor details), but we're not going to make a lot of noise aboutit until it has a chance to bake in a little more.
A large portion of the diff is changes to the tests that I made in an effort to clean them up and to make it easier for contributors to write new tests without getting confused about how they should look.
As usual, the floating
node-gyppatches have been applied.r: @Fishrock123
r: @chrisdickinson (as the 1.8.0 release leader)