nodejs: Update to v0.10.8
I removed darwin-specific bits, as I can't test them right now. If it's broken, let me know and I'll fix on darwin. Signed-off-by: Shea Levy <shea@shealevy.com>
This commit is contained in:
parent
428aae8c04
commit
b0e6c66ad7
|
@ -1,54 +1,45 @@
|
||||||
{ stdenv, fetchurl, openssl, python, zlib, v8, utillinux }:
|
{ stdenv, fetchurl, openssl, python, zlib, v8, utillinux, http_parser, c-ares }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
let
|
||||||
version = "0.8.23";
|
version = "0.10.8";
|
||||||
|
|
||||||
|
# !!! Should we also do shared libuv?
|
||||||
|
deps = {
|
||||||
|
inherit v8 openssl zlib;
|
||||||
|
cares = c-ares;
|
||||||
|
http-parser = http_parser;
|
||||||
|
};
|
||||||
|
|
||||||
|
sharedConfigureFlags = name: [
|
||||||
|
"--shared-${name}"
|
||||||
|
"--shared-${name}-includes=${builtins.getAttr name deps}/include"
|
||||||
|
"--shared-${name}-libpath=${builtins.getAttr name deps}/lib"
|
||||||
|
];
|
||||||
|
|
||||||
|
inherit (stdenv.lib) concatMap optional maintainers licenses platforms;
|
||||||
|
in stdenv.mkDerivation {
|
||||||
name = "nodejs-${version}";
|
name = "nodejs-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz";
|
url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz";
|
||||||
sha256 = "17gdvv0q95v5dn9mbwrm3pxcchfgmlwa7pamwsam9hpdi9ik491q";
|
sha256 = "0m43y7ipd6d89dl97nvrwkx1zss3fdb9835509dyziycr1kggxpd";
|
||||||
};
|
};
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps);
|
||||||
"--openssl-includes=${openssl}/include"
|
|
||||||
"--openssl-libpath=${openssl}/lib"
|
|
||||||
]
|
|
||||||
++ (if !stdenv.isDarwin then [ # Shared V8 is broken on Mac OS X. Who can fix V8 on Darwin makes me very happy, but I gave up studying python-gyp.
|
|
||||||
"--shared-v8"
|
|
||||||
"--shared-v8-includes=${v8}/includes"
|
|
||||||
"--shared-v8-libpath=${v8}/lib"
|
|
||||||
] else []);
|
|
||||||
|
|
||||||
#patches = stdenv.lib.optional stdenv.isDarwin ./no-arch-flag.patch;
|
|
||||||
|
|
||||||
# Expose the host compiler on darwin, which is the only compiler capable of building it
|
|
||||||
preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
|
|
||||||
export OLDPATH=$PATH
|
|
||||||
export PATH=/usr/bin:$PATH
|
|
||||||
'';
|
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i tools/{*.py,waf-light,node-waf} configure
|
sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i configure
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
|
buildInputs = [ python ]
|
||||||
export PATH=$OLDPATH
|
++ optional stdenv.isLinux utillinux;
|
||||||
'' + ''
|
|
||||||
sed -e 's|^#!/usr/bin/env node$|#!'$out'/bin/node|' -i $out/lib/node_modules/npm/bin/npm-cli.js
|
|
||||||
'' /*+ stdenv.lib.optionalString stdenv.isDarwin ''
|
|
||||||
install_name_tool -change libv8.dylib ${v8}/lib/libv8.dylib $out/bin/node
|
|
||||||
''*/;
|
|
||||||
|
|
||||||
buildInputs = [ python openssl zlib ]
|
|
||||||
++ stdenv.lib.optional stdenv.isLinux utillinux
|
|
||||||
++ stdenv.lib.optional (!stdenv.isDarwin) v8;
|
|
||||||
setupHook = ./setup-hook.sh;
|
setupHook = ./setup-hook.sh;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = {
|
||||||
description = "Event-driven I/O framework for the V8 JavaScript engine";
|
description = "Event-driven I/O framework for the V8 JavaScript engine";
|
||||||
homepage = http://nodejs.org;
|
homepage = http://nodejs.org;
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = [ maintainers.goibhniu ];
|
maintainers = [ maintainers.goibhniu maintainers.shlevy ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
diff -Naur node-v0.6.10-orig/wscript node-v0.6.10/wscript
|
|
||||||
--- node-v0.6.10-orig/wscript 2012-02-02 19:56:42.000000000 -0500
|
|
||||||
+++ node-v0.6.10/wscript 2012-02-25 14:18:50.000000000 -0500
|
|
||||||
@@ -443,17 +443,6 @@
|
|
||||||
if sys.platform.startswith("darwin"):
|
|
||||||
# used by platform_darwin_*.cc
|
|
||||||
conf.env.append_value('LINKFLAGS', ['-framework','Carbon'])
|
|
||||||
- # cross compile for architecture specified by DEST_CPU
|
|
||||||
- if 'DEST_CPU' in conf.env:
|
|
||||||
- arch = conf.env['DEST_CPU']
|
|
||||||
- # map supported_archs to GCC names:
|
|
||||||
- arch_mappings = {'ia32': 'i386', 'x64': 'x86_64'}
|
|
||||||
- if arch in arch_mappings:
|
|
||||||
- arch = arch_mappings[arch]
|
|
||||||
- flags = ['-arch', arch]
|
|
||||||
- conf.env.append_value('CCFLAGS', flags)
|
|
||||||
- conf.env.append_value('CXXFLAGS', flags)
|
|
||||||
- conf.env.append_value('LINKFLAGS', flags)
|
|
||||||
if 'DEST_CPU' in conf.env:
|
|
||||||
arch = conf.env['DEST_CPU']
|
|
||||||
# TODO: -m32 is only available on 64 bit machines, so check host type
|
|
Loading…
Reference in a new issue