Thanks to changes in the `build-node-for-dev-bundle.sh` script done in
0583e5883c, we now build a tarball which
is identical to the structure provided by Node.js themselves.
While generally we are using the main Node releases, this will allow
our users to (if need be), use a tarball directly in place of their own
in production without additional changes. Similarly, the only change
we need to make now when building the dev bundle is to use a different
URL.
This package is depended upon by `cordova-lib`, and npm@3 hoists it to the
top-level dev_bundle/lib/node_modules directory.
We don't use this example app in Meteor, so we don't need it in the dev
bundle. If it is ever needed, developers can run
meteor npm install -g cordova-app-hello-world
To include it in the dev bundle.
It would be really great if we could remove cordova-lib's extra copy of
npm, but that will probably have to wait until they update to npm@3.
These packages need to be installed when we run `npm install` in
`bundle/programs/server` (which this commit ensures), but they don't need
to be part of the dev bundle.
This gives us a reliable place for node-gyp to find the necessary headers
and libraries for compiling binary packages, instead of relying on the
accessibility of $HOME and/or $USERPROFILE.
This reverts commit 64a9312e29.
Although Meteor runs fine on Node 4.5.0, node-gyp doesn't know how to
download libraries appropriate for RC releases, so it looks like we need
to hold off on this upgrade until it's officially out.
Also, just use the vanilla Mongo from mongodb.com.
We used to ship a version with SSL statically compiled in so that `meteor mongo`
to Mother worked. This isn't a thing any more.
If you run `meteor npm install` in bundle/programs/server, this change
means dev_bundle/lib/node_modules/.bin/node-pre-gyp will be available to
packages that need to rebuild binary dependencies, to pick just one
important example.
Building the dev bundle on 32bit Linux wasn't working because node-gyp
needed the npm version and the node version to agree.
Long paths aren't a problem on Mac and Linux like they are on Windows, so
using npm@2.15.1 should be safe here.
Our PR landed in 4.1.0, so we no longer need a fork.
Hopefully, the runas-related bug which causes dev bundle builds to
sometimes fail (which is why we moved the install to its own step) is
fixed with the newer version of runas used by pathwatcher now.
Note that we were previous using a fork with an early version of our PR,
which put the numeric errno on 'code'. The accepted version of the PR
puts the numeric errno on 'errno' (and in Node 0.12, puts a string on
'code').