[oe] [meta-oe][[RFC][PATCH] nodejs: add 0.8.18

Martin Jansa martin.jansa at gmail.com
Thu Jan 31 16:56:33 UTC 2013


On Wed, Jan 30, 2013 at 09:02:35AM +0100, Koen Kooi wrote:
> 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

FWIW: 0.6.21 fails exactly the same as 0.6.20 but I've merged it as it's
not worse.

I've tried 0.8.18 today and it fails:
ERROR: Function failed: do_configure (see /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/x86_64-linux/nodejs-native/0.8.18-r0/temp/log.do_configure.30923 for further information)
ERROR: Logfile of failure stored in: /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/x86_64-linux/nodejs-native/0.8.18-r0/temp/log.do_configure.30923
Log data follows:
| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: Executing shell function do_configure
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/x86_64-linux/nodejs-native/0.8.18-r0/gcc: 2: /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/x86_64-linux/nodejs-native/0.8.18-r0/gcc: Cannot fork
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/x86_64-linux/nodejs-native/0.8.18-r0/gcc: 2: /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/x86_64-linux/nodejs-native/0.8.18-r0/gcc: Cannot fork
| Traceback (most recent call last):
|   File "./configure", line 473, in <module>
|     configure_node(output)
|   File "./configure", line 371, in configure_node
|     cc_version, is_clang = compiler_version()
|   File "./configure", line 331, in compiler_version
|     version = tuple(map(int, proc.communicate()[0].split('.')))
| ValueError: invalid literal for int() with base 10: ''
| ERROR: Function failed: do_configure (see /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/x86_64-linux/nodejs-native/0.8.18-r0/temp/log.do_configure.30923 for further information)
NOTE: recipe nodejs-native-0.8.18-r0: task do_configure: Failed
ERROR: Task 22884 (virtual:native:/home/jenkins/oe/shr-core-branches/shr-core/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb, do_configure) failed with exit code '1'

Any idea?

> 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
> 
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20130131/bb913673/attachment-0002.sig>


More information about the Openembedded-devel mailing list