From patchwork Tue Jan 25 19:24:39 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: nodejs: updated recipe to v0.2.6 Date: Tue, 25 Jan 2011 19:24:39 -0000 From: AJ ONeal X-Patchwork-Id: 373 Message-Id: <1295983479-15511-1-git-send-email-coolaj86@gmail.com> To: openembedded-devel@lists.openembedded.org * libev-cross-cc.patch - turns off execution so that cross-compile succeeds * node-cross-cc.patch - enables cross-compiling of v8 for x86, x86_64, arm, and mips --- recipes/nodejs/files/libev-cross-cc.patch | 17 +++++--------- recipes/nodejs/files/node-cross-cc.patch | 19 ++++++++++------ recipes/nodejs/nodejs_0.2.6.bb | 34 +++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 18 deletions(-) create mode 100644 recipes/nodejs/nodejs_0.2.6.bb diff --git a/recipes/nodejs/files/libev-cross-cc.patch b/recipes/nodejs/files/libev-cross-cc.patch index 4dd34f4..13ce4d8 100644 --- a/recipes/nodejs/files/libev-cross-cc.patch +++ b/recipes/nodejs/files/libev-cross-cc.patch @@ -1,18 +1,13 @@ -diff --git node-v0.2.1/deps/libev/wscript.orig node-v0.2.1/deps/libev/wscript -index 19e7bb2..f0a3d3b 100644 ---- node-v0.2.1/deps/libev/wscript.orig -+++ node-v0.2.1/deps/libev/wscript -@@ -52,7 +52,12 @@ def configure(conf): +diff --git node-v0.2.6/deps/libev/wscript.orig node-v0.2.6/deps/libev/wscript +index 19e7bb2..5ec9143 100644 +--- node-v0.2.6/deps/libev/wscript.orig ++++ node-v0.2.6/deps/libev/wscript +@@ -52,7 +52,7 @@ def configure(conf): return 0; } """ - conf.check_cc(fragment=code, define_name="HAVE_CLOCK_SYSCALL", execute=True, -+ # TODO determine this dynamically -+ CROSS = True -+ execute = True -+ if CROSS: -+ execute = False -+ conf.check_cc(fragment=code, define_name="HAVE_CLOCK_SYSCALL", execute=execute, ++ conf.check_cc(fragment=code, define_name="HAVE_CLOCK_SYSCALL", execute=False, msg="Checking for SYS_clock_gettime") have_librt = conf.check(lib='rt', uselib_store='RT') diff --git a/recipes/nodejs/files/node-cross-cc.patch b/recipes/nodejs/files/node-cross-cc.patch index 0d15afc..1087ce2 100644 --- a/recipes/nodejs/files/node-cross-cc.patch +++ b/recipes/nodejs/files/node-cross-cc.patch @@ -1,14 +1,19 @@ -diff --git node-v0.2.1/wscript.orig node-v0.2.1/wscript -index 9c4243c..3cf6689 100644 ---- node-v0.2.1/wscript.orig -+++ node-v0.2.1/wscript -@@ -326,6 +326,9 @@ def v8_cmd(bld, variant): +diff --git node-v0.2.6/wscript.orig node-v0.2.6/wscript +index a6bade2..566bf5e 100644 +--- node-v0.2.6/wscript.orig ++++ node-v0.2.6/wscript +@@ -338,6 +338,14 @@ def v8_cmd(bld, variant): arch = "" if bld.env['DEST_CPU'] == 'x86_64': arch = "arch=x64" -+ # XXX Better support cross-compilation ++ elif bld.env['DEST_CPU'] == 'x86': ++ arch = "arch=x86" ++ elif bld.env['DEST_CPU'] == 'arm': ++ arch = "arch=arm" ++ elif bld.env['DEST_CPU'] == 'mips': ++ arch = "arch=mips" + else: -+ arch = "arch=" + bld.env['DEST_CPU'] ++ raise Exception(bld.env['DEST_CPU'], "is not one of these supported architectures: x86, x86_64, arm, mips") if variant == "default": mode = "release" diff --git a/recipes/nodejs/nodejs_0.2.6.bb b/recipes/nodejs/nodejs_0.2.6.bb new file mode 100644 index 0000000..e2d8b19 --- /dev/null +++ b/recipes/nodejs/nodejs_0.2.6.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" +HOMEPAGE = "http://nodejs.org" +LICENSE = "MIT" + +PR = "r4" + +DEPENDS = "openssl" + +SRC_URI = " \ + http://nodejs.org/dist/node-v${PV}.tar.gz \ + file://libev-cross-cc.patch \ + file://node-cross-cc.patch \ +" +SRC_URI[md5sum] = "b1c50ceb43bee1b221be210b7bc7a216" +SRC_URI[sha256sum] = "e97fe9c81ff4b569ae9a0d46e64a0572a1f171293573a5b5290bcc3996a19701" + +S = "${WORKDIR}/node-v${PV}" + +# v8 errors out if you have set CCACHE +CCACHE = "" + +do_configure () { + ./configure --prefix=${prefix} --without-snapshot +} + +do_compile () { + make +} + +do_install () { + DESTDIR=${D} oe_runmake install +} + +BBCLASSEXTEND = "native"