From 2bf758cb0298c9b02d015a51d518094dcb39f710 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Fri, 18 May 2012 17:39:16 +0000 Subject: nodejs: update to 0.6.18 and fix hardfloat detection Signed-off-by: Otavio Salvador Signed-off-by: Koen Kooi --- .../nodejs/nodejs/fix-hardfloat-detection.patch | 22 ++++++++ meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb | 63 --------------------- meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb | 65 ++++++++++++++++++++++ 3 files changed, 87 insertions(+), 63 deletions(-) create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs/fix-hardfloat-detection.patch delete mode 100644 meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb (limited to 'meta-oe/recipes-devtools') diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/fix-hardfloat-detection.patch b/meta-oe/recipes-devtools/nodejs/nodejs/fix-hardfloat-detection.patch new file mode 100644 index 0000000000..36e8bf1c97 --- /dev/null +++ b/meta-oe/recipes-devtools/nodejs/nodejs/fix-hardfloat-detection.patch @@ -0,0 +1,22 @@ +Fix hardfloat detection + +gcc has a builtin define to denote hard abi when in use, e.g. when +using -mfloat-abi=hard it will define __ARM_PCS_VFP to 1 and therefore +we should check that to determine which calling convention is in use +and not __VFP_FP__ which merely indicates presence of VFP unit + +The fix has been provided by Khem Raj + +Upstream-Status: Forwarded + +--- a/deps/v8/src/platform-linux.cc 2012-05-17 12:52:59.329519921 -0700 ++++ b/deps/v8/src/platform-linux.cc 2012-05-17 12:54:02.037521511 -0700 +@@ -212,7 +212,7 @@ + // calling this will return 1.0 and otherwise 0.0. + static void ArmUsingHardFloatHelper() { + asm("mov r0, #0"); +-#if defined(__VFP_FP__) && !defined(__SOFTFP__) ++#if defined(__ARM_PCS_VFP) && !defined(__SOFTFP__) + // Load 0x3ff00000 into r1 using instructions available in both ARM + // and Thumb mode. + asm("mov r1, #3"); diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb deleted file mode 100644 index 1be5ce1d58..0000000000 --- a/meta-oe/recipes-devtools/nodejs/nodejs_0.6.17.bb +++ /dev/null @@ -1,63 +0,0 @@ -DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" -HOMEPAGE = "http://nodejs.org" -LICENSE = "MIT & BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=914812f2875eef849b5c509cc25dcb4f" - -DEPENDS = "openssl" - -SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz" -SRC_URI[md5sum] = "55641d5d280cdd4e0c030c203107599d" -SRC_URI[sha256sum] = "8dfe5948de27e37a14af184f06e7bd89a23c3b248af44c8ef5cffcd0e4c65778" - -S = "${WORKDIR}/node-v${PV}" - -# v8 errors out if you have set CCACHE -CCACHE = "" - -do_configure_virtclass-native () { - sed -i -e s:\'/usr/lib:\'${STAGING_LIBDIR}:g wscript - sed -i -e s:\'/usr/local/lib:\'${STAGING_LIBDIR}:g wscript - - ./configure --prefix=${prefix} --without-snapshot -} - -# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround waf+scons -do_configure () { - echo '#!/bin/sh' > ${WORKDIR}/gcc - echo '${CC} $@' >> ${WORKDIR}/gcc - - echo '#!/bin/sh' > ${WORKDIR}/g++ - echo '${CXX} $@'>> ${WORKDIR}/g++ - - chmod +x ${WORKDIR}/gcc ${WORKDIR}/g++ - - sed -i -e s:\'/usr/lib:\'${STAGING_LIBDIR}:g wscript - sed -i -e s:\'/usr/local/lib:\'${STAGING_LIBDIR}:g wscript - - export PATH=${WORKDIR}:${PATH} - export CC=gcc - export CXX=g++ - - ./configure --prefix=${prefix} --without-snapshot -} - -do_compile_virtclass-native () { - make -} - -do_compile () { - export PATH=${WORKDIR}:${PATH} - export CC=gcc - export CXX=g++ - make -} - -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" -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb new file mode 100644 index 0000000000..d5785d25da --- /dev/null +++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.6.18.bb @@ -0,0 +1,65 @@ +DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" +HOMEPAGE = "http://nodejs.org" +LICENSE = "MIT & BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=914812f2875eef849b5c509cc25dcb4f" + +DEPENDS = "openssl" + +SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \ + file://gcc-4.7.patch" + +SRC_URI[md5sum] = "4a3d3123ccc7b9b21c1990fe074e3d14" +SRC_URI[sha256sum] = "6cf4311ecbc1700e88f4382a31b3a7017c1572cd641fd06e653fc1692c2cffff" + +S = "${WORKDIR}/node-v${PV}" + +# v8 errors out if you have set CCACHE +CCACHE = "" + +do_configure_virtclass-native () { + sed -i -e s:\'/usr/lib:\'${STAGING_LIBDIR}:g wscript + sed -i -e s:\'/usr/local/lib:\'${STAGING_LIBDIR}:g wscript + + ./configure --prefix=${prefix} --without-snapshot +} + +# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround waf+scons +do_configure () { + echo '#!/bin/sh' > ${WORKDIR}/gcc + echo '${CC} $@' >> ${WORKDIR}/gcc + + echo '#!/bin/sh' > ${WORKDIR}/g++ + echo '${CXX} $@'>> ${WORKDIR}/g++ + + chmod +x ${WORKDIR}/gcc ${WORKDIR}/g++ + + sed -i -e s:\'/usr/lib:\'${STAGING_LIBDIR}:g wscript + sed -i -e s:\'/usr/local/lib:\'${STAGING_LIBDIR}:g wscript + + export PATH=${WORKDIR}:${PATH} + export CC=gcc + export CXX=g++ + + ./configure --prefix=${prefix} --without-snapshot +} + +do_compile_virtclass-native () { + make BUILDTYPE=Release +} + +do_compile () { + export PATH=${WORKDIR}:${PATH} + export CC=gcc + export CXX=g++ + 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" +BBCLASSEXTEND = "native" -- cgit v1.2.3-54-g00ecf