diff --git a/deps/npm/node_modules/node-gyp/addon.gypi b/deps/npm/node_modules/node-gyp/addon.gypi index 09ee70d9c22a64..1872c48c7fa279 100644 --- a/deps/npm/node_modules/node-gyp/addon.gypi +++ b/deps/npm/node_modules/node-gyp/addon.gypi @@ -5,6 +5,7 @@ 'product_prefix': '', 'include_dirs': [ + '<(node_root_dir)/include/node', '<(node_root_dir)/src', '<(node_root_dir)/deps/uv/include', '<(node_root_dir)/deps/v8/include' diff --git a/deps/npm/node_modules/node-gyp/lib/install.js b/deps/npm/node_modules/node-gyp/lib/install.js index 0407feba0e8bdb..cecd7fd4af4e54 100644 --- a/deps/npm/node_modules/node-gyp/lib/install.js +++ b/deps/npm/node_modules/node-gyp/lib/install.js @@ -39,8 +39,8 @@ function install (gyp, argv, callback) { } } - var distUrl = gyp.opts['dist-url'] || gyp.opts.disturl || 'https://iojs.org/dist' - + var defaultUrl = getDefaultIojsUrl(process.version) + var distUrl = gyp.opts['dist-url'] || gyp.opts.disturl || defaultUrl // Determine which node dev files version we are installing var versionStr = argv[0] || gyp.opts.target || process.version @@ -185,7 +185,7 @@ function install (gyp, argv, callback) { // now download the node tarball var tarPath = gyp.opts['tarball'] - var tarballUrl = tarPath ? tarPath : distUrl + '/v' + version + '/iojs-v' + version + '.tar.gz' + var tarballUrl = tarPath ? tarPath : distUrl + '/v' + version + '/iojs-v' + version + '-headers.tar.gz' , badDownload = false , extractCount = 0 , gunzip = zlib.createGunzip() @@ -455,3 +455,26 @@ function install (gyp, argv, callback) { } } + + +// pick out 'nightly', 'next-nightly' or 'rc' from the version string if it's there +// adjust URL accordingly +function getDefaultIojsUrl(version) { + var versionMatch = version.match(/^v\d+\.\d+\.\d+-(?:(?:(nightly|next-nightly)\d{8}[0-9a-f]{10})|(?:(rc)\d+))$/) + var distType = versionMatch ? versionMatch[1] || versionMatch[2] : 'release' + var defaultUrl = `https://iojs.org/download/${distType}` + return defaultUrl +} + + +if (require.main === module) { + var assert = require('assert') + console.log('test v2.3.4 -> https://iojs.org/download/release') + assert(getDefaultIojsUrl('v2.3.4', 'https://iojs.org/download/release')) + console.log('test v2.3.4-nightly12345678aaaaaaaaaa -> https://iojs.org/download/nightly') + assert(getDefaultIojsUrl('v2.3.4-nightly12345678aaaaaaaaaa', 'https://iojs.org/download/nightly')) + console.log('test v2.3.4-next-nightly12345678aaaaaaaaaa -> https://iojs.org/download/release/next-nightly') + assert(getDefaultIojsUrl('v2.3.4-next-nightly12345678aaaaaaaaaa', 'https://iojs.org/download/next-nightly')) + console.log('test v2.3.4-rc100 -> https://iojs.org/download/rc') + assert(getDefaultIojsUrl('v2.3.4-rc100', 'https://iojs.org/download/rc')) +}