[oe-commits] AJ ONeal : added recipe for nodejs
git version control
git at git.openembedded.org
Tue Sep 7 18:10:15 UTC 2010
Module: openembedded.git
Branch: org.openembedded.dev
Commit: 8a9ba8cde8cc27291d34a46dbcb73aaa82755b4f
URL: http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=8a9ba8cde8cc27291d34a46dbcb73aaa82755b4f
Author: AJ ONeal <coolaj86 at gmail.com>
Date: Sat Aug 21 17:28:29 2010 +0000
added recipe for nodejs
Signed-off-by: Koen Kooi <koen at openembedded.org>
---
recipes/nodejs/files/libev-cross-cc.patch | 18 ++++++++++++
recipes/nodejs/files/node-cross-cc.patch | 14 ++++++++++
.../node-dont-include-hosts-usr-include.patch | 22 +++++++++++++++
recipes/nodejs/nodejs_0.2.0.bb | 28 ++++++++++++++++++++
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 0000000..446015b
--- /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 0000000..48a6226
--- /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 0000000..edbf7c4
--- /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 0000000..83bfa2e
--- /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"
More information about the Openembedded-commits
mailing list