summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/nodejs
diff options
context:
space:
mode:
authorTrevor Woerner <twoerner@gmail.com>2015-12-22 10:45:25 -0500
committerMartin Jansa <Martin.Jansa@gmail.com>2016-01-04 14:56:23 +0100
commitc13175d91321b34b7b15e84f969dd0043de8867f (patch)
tree8a60577ff5c36fe5859eb5c36943d8c9f24016c9 /meta-oe/recipes-devtools/nodejs
parente05057c587b546c2a7de7380049cbd270cb95803 (diff)
downloadmeta-openembedded-c13175d91321b34b7b15e84f969dd0043de8867f.tar.gz
nodejs: cleanup and update
Remove old nodejs4_0.4.12 and update nodejs_0.12.7 to the latest stable nodejs_4.2.3. Nodejs is picky about which architectures it supports. The supported arch mapping required some updating to bring it up to date with the current nodejs code. Add COMPATIBLE_MACHINE entries so it only builds for the supported architectures. ARM cores that don't support at least VFP2 have been dropped: https://groups.google.com/forum/#!topic/v8-users/aSOFbaAQvMk "Due the increasing cost of the keeping the "no-VFPv2" port of V8 working on ARM, we are planning on making 3.17 the last V8 release that that supports ARM chips without VFPv2. Starting with the 3.18 release, the minimal V8 requirements will increase to ARMv6 + VFPv2. In order to simplify maintenance, we will also remove the "pre-VFP2" ARM code from the V8 code base." Additionally, gcc no longer supports a VFPv2 option: https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html#index-mfpu-1460 Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-devtools/nodejs')
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/enable-armv5e-build.patch22
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs4/libev-cross-cc_0.4.12.patch13
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb49
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs_4.2.3.bb (renamed from meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb)18
4 files changed, 11 insertions, 91 deletions
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/enable-armv5e-build.patch b/meta-oe/recipes-devtools/nodejs/nodejs/enable-armv5e-build.patch
deleted file mode 100644
index cc7c9ab57..000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs/enable-armv5e-build.patch
+++ /dev/null
@@ -1,22 +0,0 @@
1Building for qemuarm without thumb enabled is using -march=armv5e which isn't
2recognized here. Fix it by adding __ARM_ARCH_5E__.
3
4v0.12.2 branch of node doesn't seem to be affected, because it's using
5different version of v8
6
7Upstream-Status: Pending
8
9Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
10
11diff -uNr node-v0.12.2/deps/v8/src/base/atomicops_internals_arm_gcc.h node-v0.12.2-fix/deps/v8/src/base/atomicops_internals_arm_gcc.h
12--- node-v0.12.2/deps/v8/src/base/atomicops_internals_arm_gcc.h 2015-04-01 00:13:01.000000000 +0200
13+++ node-v0.12.2-fix/deps/v8/src/base/atomicops_internals_arm_gcc.h 2015-04-28 14:30:43.119509207 +0200
14@@ -156,7 +156,7 @@
15
16 // This tests against any known ARMv5 variant.
17 #elif defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || \
18- defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__)
19+ defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__)
20
21 // The kernel also provides a helper function to perform an atomic
22 // compare-and-swap operation at the hard-wired address 0xffff0fc0.
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs4/libev-cross-cc_0.4.12.patch b/meta-oe/recipes-devtools/nodejs/nodejs4/libev-cross-cc_0.4.12.patch
deleted file mode 100644
index 2b9838f0c..000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs4/libev-cross-cc_0.4.12.patch
+++ /dev/null
@@ -1,13 +0,0 @@
1diff --git a/deps/libev/wscript b/deps/libev/wscript
2index 4f6c9a8..1796749 100644
3--- a/deps/libev/wscript
4+++ b/deps/libev/wscript
5@@ -58,7 +58,7 @@ def configure(conf):
6 return 0;
7 }
8 """
9- conf.check_cc(fragment=code, define_name="HAVE_CLOCK_SYSCALL", execute=True,
10+ conf.check_cc(fragment=code, define_name="HAVE_CLOCK_SYSCALL", execute=False,
11 msg="Checking for SYS_clock_gettime")
12
13 have_librt = conf.check(lib='rt', uselib_store='RT')
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb b/meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb
deleted file mode 100644
index c73cefc56..000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb
+++ /dev/null
@@ -1,49 +0,0 @@
1SUMMARY = "nodeJS Evented I/O for V8 JavaScript"
2HOMEPAGE = "http://nodejs.org"
3LICENSE = "MIT & Zlib"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=d6237f3a840aef5b7880fb4e49eecfe5"
5
6DEPENDS = "openssl"
7
8PNBLACKLIST[nodejs4] ?= "Used only by currently blacklisted cloud9 and fails to build for qemuarm with thumb: error: #error For thumb inter-working we require an architecture which supports blx"
9
10SRC_URI = " \
11 http://nodejs.org/dist/node-v${PV}.tar.gz \
12 file://libev-cross-cc_${PV}.patch \
13"
14SRC_URI[md5sum] = "a6375eaa43db5356bf443e25b828ae16"
15SRC_URI[sha256sum] = "c01af05b933ad4d2ca39f63cac057f54f032a4d83cff8711e42650ccee24fce4"
16
17S = "${WORKDIR}/node-v${PV}"
18
19# v8 errors out if you have set CCACHE
20CCACHE = ""
21
22do_configure () {
23 sed -i -e 's:/usr/lib:${STAGING_LIBDIR}:g' wscript
24 sed -i -e 's:/usr/local/lib:${STAGING_LIBDIR}:g' wscript
25 ./configure --prefix=${prefix} --without-snapshot
26}
27
28do_compile () {
29 make
30}
31
32do_install () {
33 oe_runmake install DESTDIR=${D}
34
35 # fix namespace conflicts with other nodejs recipes
36 mv ${D}${bindir}/node ${D}${bindir}/node4
37 mv ${D}${bindir}/node-waf ${D}${bindir}/node4-waf
38
39 mv ${D}${includedir}/node ${D}${includedir}/node4
40
41 mv ${D}${libdir}/node ${D}${libdir}/node4
42 mv ${D}${libdir}/pkgconfig/nodejs.pc ${D}${libdir}/pkgconfig/nodejs4.pc
43 sed -i -e s:include/node:include/node4: ${D}${libdir}/pkgconfig/nodejs4.pc
44
45 mv ${D}${datadir}/man/man1/node.1 ${D}${datadir}/man/man1/node4.1
46}
47
48FILES_${PN} += "${libdir}/node4/wafadmin"
49BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb b/meta-oe/recipes-devtools/nodejs/nodejs_4.2.3.bb
index 41eb5eec8..66a3c11d1 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_4.2.3.bb
@@ -1,16 +1,19 @@
1DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" 1DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
2HOMEPAGE = "http://nodejs.org" 2HOMEPAGE = "http://nodejs.org"
3LICENSE = "MIT & BSD & Artistic-2.0" 3LICENSE = "MIT & BSD & Artistic-2.0"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=14115ff11211df04b031ec7d40b6d31b" 4LIC_FILES_CHKSUM = "file://LICENSE;md5=ee90ba97d933fc8d56e97812b7dd62e9"
5 5
6DEPENDS = "openssl" 6DEPENDS = "openssl"
7 7
8COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
9COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
10COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
11
8SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \ 12SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \
9 file://enable-armv5e-build.patch \
10 file://no-registry.patch \ 13 file://no-registry.patch \
11" 14"
12SRC_URI[md5sum] = "5523ec4347d7fe6b0f6dda1d1c7799d5" 15SRC_URI[md5sum] = "529a8abd4ca5a2225636767d3f14c382"
13SRC_URI[sha256sum] = "b23d64df051c9c969b0c583f802d5d71de342e53067127a5061415be7e12f39d" 16SRC_URI[sha256sum] = "5008ade5feb4b089f59163f66bffddc113f27de5d78edf203e39435c2c5d554f"
14 17
15S = "${WORKDIR}/node-v${PV}" 18S = "${WORKDIR}/node-v${PV}"
16 19
@@ -20,10 +23,11 @@ CCACHE = ""
20def map_nodejs_arch(a, d): 23def map_nodejs_arch(a, d):
21 import re 24 import re
22 25
23 if re.match('p(pc|owerpc)(|64)', a): return 'ppc' 26 if re.match('i.86$', a): return 'ia32'
24 elif re.match('i.86$', a): return 'ia32'
25 elif re.match('x86_64$', a): return 'x64' 27 elif re.match('x86_64$', a): return 'x64'
26 elif re.match('arm64$', a): return 'arm' 28 elif re.match('aarch64$', a): return 'arm64'
29 elif re.match('powerpc64$', a): return 'ppc64'
30 elif re.match('powerpc$', a): return 'ppc'
27 return a 31 return a
28 32
29ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)}" 33ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)}"