[oe] [meta-oe][[RFC][PATCH] nodejs: add 0.8.18
Koen Kooi
koen at dominion.thruhere.net
Wed Jan 30 08:02:35 UTC 2013
Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
---
.../nodejs/nodejs/0002-Enable-NEON.patch | 27 ++++++++++
...0003-Resolve-bad-rpath-issue-when-linking.patch | 29 ++++++++++
meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb | 61 ++++++++++++++++++++++
3 files changed, 117 insertions(+)
create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs/0002-Enable-NEON.patch
create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs/0003-Resolve-bad-rpath-issue-when-linking.patch
create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0002-Enable-NEON.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0002-Enable-NEON.patch
new file mode 100644
index 0000000..2b83ff8
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0002-Enable-NEON.patch
@@ -0,0 +1,27 @@
+From 8891cb4cae57a6b7db54edb33a43743c4b09c53a Mon Sep 17 00:00:00 2001
+From: Jason Kridner <jdk at ti.com>
+Date: Wed, 7 Nov 2012 14:43:55 -0500
+Subject: [PATCH] Enable NEON
+
+Read this was necessary on a blog.
+
+http://www.code-with-passion.com/2012/11/07/cross-compiling-nodejs-and-node-modules-for-armbeaglebone/
+---
+ deps/v8/build/common.gypi | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/deps/v8/build/common.gypi b/deps/v8/build/common.gypi
+index 7a780cc..237f53f 100644
+--- a/deps/v8/build/common.gypi
++++ b/deps/v8/build/common.gypi
+@@ -29,6 +29,7 @@
+
+ {
+ 'variables': {
++ 'arm_neon%': 1,
+ 'use_system_v8%': 0,
+ 'msvs_use_common_release': 0,
+ 'gcc_version%': 'unknown',
+--
+1.7.9.5
+
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0003-Resolve-bad-rpath-issue-when-linking.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0003-Resolve-bad-rpath-issue-when-linking.patch
new file mode 100644
index 0000000..b7e8b6c
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0003-Resolve-bad-rpath-issue-when-linking.patch
@@ -0,0 +1,29 @@
+From aaf38f17911941d979074e4d5f8475f4ad5595a8 Mon Sep 17 00:00:00 2001
+From: Nathan Rajlich <nathan at tootallnate.net>
+Date: Tue, 9 Oct 2012 09:49:00 -0700
+Subject: [PATCH] Resolve bad rpath issue when linking
+
+See http://piscisaureus.no.de/libuv/2012-10-09#16:42:44.577 to
+understand the issue.
+
+Added to OE by Jason Kridner <jdk at ti.com>
+---
+ common.gypi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/common.gypi b/common.gypi
+index b26d2f3..8ae671b 100644
+--- a/common.gypi
++++ b/common.gypi
+@@ -163,7 +163,7 @@
+ [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
+ 'cflags': [ '-Wall', '-pthread', ],
+ 'cflags_cc': [ '-fno-rtti', '-fno-exceptions' ],
+- 'ldflags': [ '-pthread', '-rdynamic' ],
++ 'ldflags': [ '-pthread' ],
+ 'conditions': [
+ [ 'target_arch=="ia32"', {
+ 'cflags': [ '-m32' ],
+--
+1.7.9.5
+
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb
new file mode 100644
index 0000000..4670ae9
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb
@@ -0,0 +1,61 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=95a589a3257ab7dfe37d8a8379e3c72d"
+
+DEPENDS = "openssl"
+
+SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \
+ file://0002-Enable-NEON.patch \
+ file://0003-Resolve-bad-rpath-issue-when-linking.patch \
+"
+SRC_URI[md5sum] = "25ed6aa5710ac46b867ff3f17a4da1d6"
+SRC_URI[sha256sum] = "1d63dd42f9bd22f087585ddf80a881c6acbe1664891b1dda3b71306fe9ae00f9"
+
+S = "${WORKDIR}/node-v${PV}"
+
+# v8 errors out if you have set CCACHE
+CCACHE = ""
+
+# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
+do_configure () {
+ echo '#!/bin/sh' > ${WORKDIR}/gcc
+ echo '${CC} $@' >> ${WORKDIR}/gcc
+
+ echo '#!/bin/sh' > ${WORKDIR}/g++
+ echo '${CXX} $@'>> ${WORKDIR}/g++
+
+ echo '#!/bin/sh' > ${WORKDIR}/ld
+ echo '${CXX} $@'>> ${WORKDIR}/ld
+
+ chmod +x ${WORKDIR}/gcc ${WORKDIR}/g++ ${WORKDIR}/ld
+
+ export PATH=${WORKDIR}:${PATH}
+ export CC=gcc
+ export CXX=g++
+ export LD=ld
+
+ ./configure --prefix=${prefix} --without-snapshot
+}
+
+do_compile_virtclass-native () {
+ make BUILDTYPE=Release
+}
+
+do_compile () {
+ export PATH=${WORKDIR}:${PATH}
+ export CC=gcc
+ export CXX=g++
+ export LD=ld
+ make BUILDTYPE=Release
+}
+
+do_install () {
+ DESTDIR=${D} oe_runmake install
+}
+
+RDEPENDS_${PN} = "curl python-shell python-datetime python-subprocess python-crypt python-textutils python-netclient "
+RDEPENDS_${PN}_virtclass-native = "curl-native python-native"
+
+FILES_${PN} += "${libdir}/node/wafadmin ${libdir}/node_modules ${libdir}/dtrace"
+BBCLASSEXTEND = "native"
--
1.8.1
More information about the Openembedded-devel
mailing list