[oe] [PATCH] nodejs: updated recipe to v0.2.6
AJ ONeal
coolaj86 at gmail.com
Tue Jan 25 19:24:39 UTC 2011
* 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"
--
1.7.0.4
More information about the Openembedded-devel
mailing list