Skip to content

Commit 41b129f

Browse files
committed
Merge remote-tracking branch 'origin/v0.8'
Conflicts: configure src/node_version.h
2 parents fee02db + fc4e12b commit 41b129f

File tree

764 files changed

+5019
-23167
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

764 files changed

+5019
-23167
lines changed

AUTHORS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,3 +319,6 @@ Simon Sturmer <[email protected]>
319319
Joel Brandt <[email protected]>
320320
Marc Harter <[email protected]>
321321
322+
Ben Kelly <[email protected]>
323+
Felix Böhm <[email protected]>
324+
Gabriel de Perthuis <[email protected]>

ChangeLog

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,43 @@
1-
2012.06.25, Version 0.8.0 (stable)
1+
2012.06.29, Version 0.8.1 (stable)
2+
3+
* V8: upgrade to v3.11.10.12
4+
5+
* npm: upgrade to v1.1.33
6+
- Support for parallel use of the cache folder
7+
- Retry on registry timeouts or network failures (Trent Mick)
8+
- Reduce 'engines' failures to a warning
9+
- Use new zsh completion if aviailable (Jeremy Cantrell)
10+
11+
* Fix #3577 Un-break require('sys')
12+
13+
* util: speed up formatting of large arrays/objects (Ben Noordhuis)
14+
15+
* windows: make fs.realpath(Sync) work with UNC paths (Bert Belder)
16+
17+
* build: fix --shared-v8 option (Ben Noordhuis)
18+
19+
* doc: `detached` is a boolean (Andreas Madsen)
20+
21+
* build: use proper python interpreter (Ben Noordhuis)
22+
23+
* build: expand ~ in `./configure --prefix=~/a/b/c` (Ben Noordhuis)
24+
25+
* build: handle CC env var with spaces (Gabriel de Perthuis)
26+
27+
* build: fix V8 build when compiling with gcc 4.5 (Ben Noordhuis)
28+
29+
* build: fix --shared-v8 option (Ben Noordhuis)
30+
31+
* windows msi: Fix icon issue which caused huge file size (Bert Belder)
32+
33+
* unix: assume that dlopen() may clobber dlerror() (Ben Noordhuis)
34+
35+
* sunos: fix memory corruption bugs (Ben Noordhuis)
36+
37+
* windows: better (f)utimes and (f)stat (Bert Belder)
38+
39+
40+
2012.06.25, Version 0.8.0 (stable), 8b8a7a7f9b41e74e1e810d0330738ad06fc302ec
241

342
* V8: upgrade to v3.11.10.10
443

configure

Lines changed: 56 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -65,20 +65,43 @@ parser.add_option("--shared-v8-libname",
6565
dest="shared_v8_libname",
6666
help="Alternative lib name to link to (default: 'v8')")
6767

68+
parser.add_option("--shared-openssl",
69+
action="store_true",
70+
dest="shared_openssl",
71+
help="Link to a shared OpenSSl DLL instead of static linking")
72+
73+
parser.add_option("--shared-openssl-includes",
74+
action="store",
75+
dest="shared_openssl_includes",
76+
help="Directory containing OpenSSL header files")
77+
78+
parser.add_option("--shared-openssl-libpath",
79+
action="store",
80+
dest="shared_openssl_libpath",
81+
help="A directory to search for the shared OpenSSL DLLs")
82+
83+
parser.add_option("--shared-openssl-libname",
84+
action="store",
85+
dest="shared_openssl_libname",
86+
help="Alternative lib name to link to (default: 'crypto,ssl')")
87+
88+
# deprecated
6889
parser.add_option("--openssl-use-sys",
6990
action="store_true",
70-
dest="openssl_use_sys",
71-
help="Use the system OpenSSL instead of one included with Node")
91+
dest="shared_openssl",
92+
help=optparse.SUPPRESS_HELP)
7293

94+
# deprecated
7395
parser.add_option("--openssl-includes",
7496
action="store",
75-
dest="openssl_includes",
76-
help="A directory to search for the OpenSSL includes")
97+
dest="shared_openssl_includes",
98+
help=optparse.SUPPRESS_HELP)
7799

100+
# deprecated
78101
parser.add_option("--openssl-libpath",
79102
action="store",
80-
dest="openssl_libpath",
81-
help="A directory to search for the OpenSSL libraries")
103+
dest="shared_openssl_libpath",
104+
help=optparse.SUPPRESS_HELP)
82105

83106
parser.add_option("--no-ssl2",
84107
action="store_true",
@@ -239,22 +262,16 @@ def host_arch():
239262
def target_arch():
240263
return host_arch()
241264

265+
242266
def compiler_version():
243-
try:
244-
proc = subprocess.Popen(CC.split() + ['-v'], stderr=subprocess.PIPE)
245-
except OSError:
246-
return (False, False, None)
247-
lines = proc.communicate()[1].split('\n')
248-
version_line = None
249-
for i, line in enumerate(lines):
250-
if 'version' in line:
251-
version_line = line
252-
if not version_line:
253-
return (False, False, None)
254-
version = version_line.split("version")[1].strip().split()[0].split(".")
255-
if not version:
256-
return (False, False, None)
257-
return ('LLVM' in version_line, 'clang' in CC, tuple(version))
267+
proc = subprocess.Popen(CC.split() + ['--version'], stdout=subprocess.PIPE)
268+
is_clang = 'clang' in proc.communicate()[0].split('\n')[0]
269+
270+
proc = subprocess.Popen(CC.split() + ['-dumpversion'], stdout=subprocess.PIPE)
271+
version = tuple(map(int, proc.communicate()[0].split('.')))
272+
273+
return (version, is_clang)
274+
258275

259276
def configure_node(o):
260277
# TODO add gdb
@@ -265,14 +282,14 @@ def configure_node(o):
265282
o['variables']['target_arch'] = options.dest_cpu or target_arch()
266283
o['default_configuration'] = 'Debug' if options.debug else 'Release'
267284

268-
is_llvm, is_clang, cc_version = compiler_version()
285+
cc_version, is_clang = compiler_version()
269286

270-
# turn off strict aliasing if gcc >= 4.5.0 && < 4.6.0 unless it's clang
287+
# turn off strict aliasing if gcc < 4.6.0 unless it's llvm-gcc
271288
# see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45883
272289
# see http://code.google.com/p/v8/issues/detail?id=884
273-
no_strict_aliasing = (4,5,0) <= cc_version < (4,6,0) and not is_clang
274-
o['variables']['node_no_strict_aliasing'] = int(no_strict_aliasing)
275-
o['variables']['v8_no_strict_aliasing'] = int(no_strict_aliasing)
290+
no_strict_aliasing = int(not(is_clang or cc_version >= (4,6,0)))
291+
o['variables']['v8_no_strict_aliasing'] = no_strict_aliasing
292+
o['variables']['node_no_strict_aliasing'] = no_strict_aliasing
276293

277294
# clang has always supported -fvisibility=hidden, right?
278295
if not is_clang and cc_version < (4,0,0):
@@ -290,6 +307,8 @@ def configure_node(o):
290307
else:
291308
o['variables']['node_use_dtrace'] = 'false'
292309

310+
if options.no_ifaddrs:
311+
o['defines'] += ['SUNOS_NO_IFADDRS']
293312

294313
# By default, enable ETW on Windows.
295314
if sys.platform.startswith('win32'):
@@ -331,35 +350,31 @@ def configure_v8(o):
331350

332351
def configure_openssl(o):
333352
o['variables']['node_use_openssl'] = b(not options.without_ssl)
353+
o['variables']['node_shared_openssl'] = b(options.shared_openssl)
334354

335355
if options.without_ssl:
336356
return
337357

338-
if options.no_ifaddrs:
339-
o['defines'] += ['SUNOS_NO_IFADDRS']
340-
341358
if options.no_ssl2:
342359
o['defines'] += ['OPENSSL_NO_SSL2=1']
343360

344-
if not options.openssl_use_sys:
345-
o['variables']['node_shared_openssl'] = b(False)
346-
else:
347-
out = pkg_config('openssl')
348-
(libs, cflags) = out if out else ('', '')
361+
if options.shared_openssl:
362+
(libs, cflags) = pkg_config('openssl') or ('-lssl -lcrypto', '')
349363

350-
if options.openssl_libpath:
351-
o['libraries'] += ['-L%s' % options.openssl_libpath, '-lssl', '-lcrypto']
364+
if options.shared_openssl_libpath:
365+
o['libraries'] += ['-L%s' % options.shared_openssl_libpath]
366+
367+
if options.shared_openssl_libname:
368+
libnames = options.shared_openssl_libname.split(',')
369+
o['libraries'] += ['-l%s' % s for s in libnames]
352370
else:
353371
o['libraries'] += libs.split()
354372

355-
if options.openssl_includes:
356-
o['include_dirs'] += [options.openssl_includes]
373+
if options.shared_openssl_includes:
374+
o['include_dirs'] += [options.shared_openssl_includes]
357375
else:
358376
o['cflags'] += cflags.split()
359377

360-
o['variables']['node_shared_openssl'] = b(
361-
libs or cflags or options.openssl_libpath or options.openssl_includes)
362-
363378

364379
output = {
365380
'variables': {},

deps/npm/.npmignore

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
*.swp
2-
test/bin
3-
test/output.log
4-
test/packages/*/node_modules
5-
test/packages/npm-test-depends-on-spark/which-spark.log
6-
test/packages/test-package/random-data.txt
7-
test/root
8-
node_modules/ronn
9-
node_modules/.bin
102
npm-debug.log
11-
./npmrc
12-
.gitignore
13-
release/
3+
/test/bin
4+
/test/output.log
5+
/test/packages/*/node_modules
6+
/test/packages/npm-test-depends-on-spark/which-spark.log
7+
/test/packages/test-package/random-data.txt
8+
/test/root
9+
/node_modules/ronn
10+
/node_modules/tap
11+
/node_modules/.bin
12+
/npmrc
13+
/release/
1414

1515
# don't need these in the npm package.
1616
html/*.png

deps/npm/doc/cli/config.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,27 @@ See also the `strict-ssl` config.
195195

196196
The location of npm's cache directory. See `npm-cache(1)`
197197

198+
### cache-lock-stale
199+
200+
* Default: 60000 (1 minute)
201+
* Type: Number
202+
203+
The number of ms before cache folder lockfiles are considered stale.
204+
205+
### cache-lock-retries
206+
207+
* Default: 10
208+
* Type: Number
209+
210+
Number of times to retry to acquire a lock on cache folder lockfiles.
211+
212+
### cache-lock-wait
213+
214+
* Default: 10000 (10 seconds)
215+
* Type: Number
216+
217+
Number of ms to wait for cache lock files to expire.
218+
198219
### cache-max
199220

200221
* Default: Infinity
@@ -266,6 +287,15 @@ set.
266287

267288
The command to run for `npm edit` or `npm config edit`.
268289

290+
### engine-strict
291+
292+
* Default: false
293+
* Type: Boolean
294+
295+
If set to true, then npm will stubbornly refuse to install (or even
296+
consider installing) any package that claims to not be compatible with
297+
the current Node.js version.
298+
269299
### force
270300

271301
* Default: false
@@ -278,6 +308,38 @@ Makes various commands more forceful.
278308
* skips cache when requesting from the registry.
279309
* prevents checks against clobbering non-npm files.
280310

311+
### fetch-retries
312+
313+
* Default: 2
314+
* Type: Number
315+
316+
The "retries" config for the `retry` module to use when fetching
317+
packages from the registry.
318+
319+
### fetch-retry-factor
320+
321+
* Default: 10
322+
* Type: Number
323+
324+
The "factor" config for the `retry` module to use when fetching
325+
packages.
326+
327+
### fetch-retry-mintimeout
328+
329+
* Default: 10000 (10 seconds)
330+
* Type: Number
331+
332+
The "minTimeout" config for the `retry` module to use when fetching
333+
packages.
334+
335+
### fetch-retry-maxtimeout
336+
337+
* Default: 60000 (1 minute)
338+
* Type: Number
339+
340+
The "maxTimeout" config for the `retry` module to use when fetching
341+
packages.
342+
281343
### git
282344

283345
* Default: `"git"`

deps/npm/doc/cli/json.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -453,8 +453,7 @@ Entries in `optionalDependencies` will override entries of the same name in
453453

454454
## engines
455455

456-
You can specify the version of
457-
node that your stuff works on:
456+
You can specify the version of node that your stuff works on:
458457

459458
{ "engines" : { "node" : ">=0.1.27 <0.1.30" } }
460459

@@ -470,6 +469,22 @@ are capable of properly installing your program. For example:
470469

471470
{ "engines" : { "npm" : "~1.0.20" } }
472471

472+
Note that, unless the user has set the `engine-strict` config flag, this
473+
field is advisory only.
474+
475+
## engineStrict
476+
477+
If you are sure that your module will *definitely not* run properly on
478+
versions of Node/npm other than those specified in the `engines` hash,
479+
then you can set `"engineStrict": true` in your package.json file.
480+
This will override the user's `engine-strict` config setting.
481+
482+
Please do not do this unless you are really very very sure. If your
483+
engines hash is something overly restrictive, you can quite easily and
484+
inadvertently lock yourself into obscurity and prevent your users from
485+
updating to new versions of Node. Consider this choice carefully. If
486+
people abuse it, it will be removed in a future version of npm.
487+
473488
## os
474489

475490
You can specify which operating systems your

deps/npm/html/api/bin.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
1919
<p>This function should not be used programmatically. Instead, just refer
2020
to the <code>npm.bin</code> member.</p>
2121
</div>
22-
<p id="footer">bin &mdash; [email protected].32</p>
22+
<p id="footer">bin &mdash; [email protected].33</p>
2323
<script>
2424
;(function () {
2525
var wrapper = document.getElementById("wrapper")

deps/npm/html/api/bugs.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
2525
<p>This command will launch a browser, so this command may not be the most
2626
friendly for programmatic use.</p>
2727
</div>
28-
<p id="footer">bugs &mdash; [email protected].32</p>
28+
<p id="footer">bugs &mdash; [email protected].33</p>
2929
<script>
3030
;(function () {
3131
var wrapper = document.getElementById("wrapper")

deps/npm/html/api/commands.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
2828

2929
<ul><li><a href="../doc/index.html">index(1)</a></li></ul>
3030
</div>
31-
<p id="footer">commands &mdash; [email protected].32</p>
31+
<p id="footer">commands &mdash; [email protected].33</p>
3232
<script>
3333
;(function () {
3434
var wrapper = document.getElementById("wrapper")

deps/npm/html/api/config.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
3333

3434
<ul><li><a href="../api/npm.html">npm(3)</a></li></ul>
3535
</div>
36-
<p id="footer">config &mdash; [email protected].32</p>
36+
<p id="footer">config &mdash; [email protected].33</p>
3737
<script>
3838
;(function () {
3939
var wrapper = document.getElementById("wrapper")

deps/npm/html/api/deprecate.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
3030

3131
<ul><li><a href="../api/publish.html">publish(3)</a></li><li><a href="../api/unpublish.html">unpublish(3)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
3232
</div>
33-
<p id="footer">deprecate &mdash; [email protected].32</p>
33+
<p id="footer">deprecate &mdash; [email protected].33</p>
3434
<script>
3535
;(function () {
3636
var wrapper = document.getElementById("wrapper")

0 commit comments

Comments
 (0)