Signed-off-by: Koen Kooi <[email protected]> --- .../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 <[email protected]> +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 <[email protected]> +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 <[email protected]> +--- + 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 _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
