summaryrefslogtreecommitdiff
path: root/recipes
diff options
context:
space:
mode:
Diffstat (limited to 'recipes')
-rw-r--r--recipes/nodejs/files/libev-cross-cc.patch18
-rw-r--r--recipes/nodejs/files/node-cross-cc.patch14
-rw-r--r--recipes/nodejs/files/node-dont-include-hosts-usr-include.patch22
-rw-r--r--recipes/nodejs/nodejs_0.2.0.bb28
4 files changed, 82 insertions, 0 deletions
diff --git a/recipes/nodejs/files/libev-cross-cc.patch b/recipes/nodejs/files/libev-cross-cc.patch
new file mode 100644
index 0000000000..446015b3cf
--- /dev/null
+++ b/recipes/nodejs/files/libev-cross-cc.patch
@@ -0,0 +1,18 @@
+diff --git node-v0.2.0/deps/libev/wscript.orig node-v0.2.0/deps/libev/wscript
+index 19e7bb2..f0a3d3b 100644
+--- node-v0.2.0/deps/libev/wscript.orig
++++ node-v0.2.0/deps/libev/wscript
+@@ -52,7 +52,12 @@ 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,
+ 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
new file mode 100644
index 0000000000..48a6226a4b
--- /dev/null
+++ b/recipes/nodejs/files/node-cross-cc.patch
@@ -0,0 +1,14 @@
+diff --git node-v0.2.0/wscript.orig node-v0.2.0/wscript
+index df9ef53..a55d464 100644
+--- node-v0.2.0/wscript.orig
++++ node-v0.2.0/wscript
+@@ -326,6 +326,9 @@ def v8_cmd(bld, variant):
+ arch = ""
+ if bld.env['DEST_CPU'] == 'x86_64':
+ arch = "arch=x64"
++ # XXX Better support cross-compilation
++ else:
++ arch = "arch=" + bld.env['DEST_CPU']
+
+ if variant == "default":
+ mode = "release"
diff --git a/recipes/nodejs/files/node-dont-include-hosts-usr-include.patch b/recipes/nodejs/files/node-dont-include-hosts-usr-include.patch
new file mode 100644
index 0000000000..edbf7c4671
--- /dev/null
+++ b/recipes/nodejs/files/node-dont-include-hosts-usr-include.patch
@@ -0,0 +1,22 @@
+diff --git node-v0.2.0/wscript.orig node-v0.2.0/wscript
+index 3c5ebc5..905bd58 100644
+--- node-v0.2.0/wscript.orig
++++ node-v0.2.0/wscript
+@@ -162,11 +162,12 @@ def configure(conf):
+ if Options.options.efence:
+ conf.check(lib='efence', libpath=['/usr/lib', '/usr/local/lib'], uselib_store='EFENCE')
+
+- if not conf.check(lib="execinfo", includes=['/usr/include', '/usr/local/include'], libpath=['/usr/lib', '/usr/local/lib'], uselib_store="EXECINFO"):
+- # Note on Darwin/OS X: This will fail, but will still be used as the
+- # execinfo stuff are part of the standard library.
+- if sys.platform.startswith("freebsd"):
+- conf.fatal("Install the libexecinfo port from /usr/ports/devel/libexecinfo.")
++ # OpenEmbedded doesn't like us checking here
++ #if not conf.check(lib="execinfo", includes=['/usr/include', '/usr/local/include'], libpath=['/usr/lib', '/usr/local/lib'], uselib_store="EXECINFO"):
++ # # Note on Darwin/OS X: This will fail, but will still be used as the
++ # # execinfo stuff are part of the standard library.
++ # if sys.platform.startswith("freebsd"):
++ # conf.fatal("Install the libexecinfo port from /usr/ports/devel/libexecinfo.")
+
+ if not Options.options.without_ssl:
+ if conf.check_cfg(package='openssl',
diff --git a/recipes/nodejs/nodejs_0.2.0.bb b/recipes/nodejs/nodejs_0.2.0.bb
new file mode 100644
index 0000000000..83bfa2e4dd
--- /dev/null
+++ b/recipes/nodejs/nodejs_0.2.0.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT"
+DEPENDS = "openssl"
+SRC_URI = " \
+ http://nodejs.org/dist/node-v${PV}.tar.gz \
+ file://node-cross-cc.patch \
+ file://libev-cross-cc.patch \
+ file://node-dont-include-hosts-usr-include.patch \
+"
+#file://libev-arm-cross.patch \
+SRC_URI[md5sum] = "99a6dacc44b3f9c6ec376ccb446dd0b8"
+SRC_URI[sha256sum] = "3d3eff9287c9917af4044f3cef99ae5b17946710a71e83039de4fcb4b0a26631"
+S = "${WORKDIR}/node-v${PV}"
+do_configure () {
+ ./configure --prefix=${D} --without-snapshot
+}
+do_compile () {
+ make
+}
+do_install () {
+ #oe_runmake install # doesn't install to correct location
+
+ # This works
+ install -d ${D}${bindir}/
+ install -m 0755 ${S}/node ${D}${bindir}/
+}
+FILES_${PN} = "${bindir}/node"