node-gyp: download header tarball for compile
authorRod Vagg <rod@vagg.org>
Fri, 26 Jun 2015 12:19:30 +0000 (22:19 +1000)
committerRod Vagg <rod@vagg.org>
Tue, 4 Aug 2015 18:56:15 +0000 (11:56 -0700)
Temporary fix only, node-gyp needs to be aware of whether it can even
download this file for the current runtime so that information needs to
come from the process itself.

Floating patch on npm.

PR-URL: https://github.com/nodejs/io.js/pull/2066
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Ryan Graham <ryan@strongloop.com>
deps/npm/node_modules/node-gyp/addon.gypi
deps/npm/node_modules/node-gyp/lib/configure.js
deps/npm/node_modules/node-gyp/lib/install.js

index 57215fc..93f8489 100644 (file)
@@ -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'
index e8c2029..291fbd0 100644 (file)
@@ -310,7 +310,11 @@ function configure (gyp, argv, callback) {
     // this logic ported from the old `gyp_addon` python file
     var gyp_script = path.resolve(__dirname, '..', 'gyp', 'gyp_main.py')
     var addon_gypi = path.resolve(__dirname, '..', 'addon.gypi')
-    var common_gypi = path.resolve(nodeDir, 'common.gypi')
+    var common_gypi = path.resolve(nodeDir, 'include/node/common.gypi')
+    //TODO: ideally async
+    if (!fs.existsSync(common_gypi))
+      common_gypi = path.resolve(nodeDir, 'common.gypi')
+
     var output_dir = 'build'
     if (win) {
       // Windows expects an absolute path
index ff22812..737113b 100644 (file)
@@ -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()