[oe] [for-denzil][meta-oe 05/24] nodejs: update to 0.6.18 and fix hardfloat detection
Koen Kooi
koen at dominion.thruhere.net
Fri Jul 13 09:11:51 UTC 2012
From: Otavio Salvador <otavio at ossystems.com.br>
Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
---
.../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
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 0000000..36e8bf1
--- /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 <raj.khem at gmail.com>
+
+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 1be5ce1..0000000
--- 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 0000000..d5785d2
--- /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"
--
1.7.10
More information about the Openembedded-devel
mailing list