node: downgrade to v0.12.14

Allow to build Gluon with GCC 4.7 (e.g. on Debian Wheezy) as host compiler
again.
This commit is contained in:
Matthias Schiffer 2016-05-28 16:06:43 +02:00
parent efc004abf2
commit 13465e9365
No known key found for this signature in database
GPG Key ID: 16EF3F64CB201D9C
3 changed files with 46 additions and 120 deletions

View File

@ -0,0 +1,36 @@
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Mon, 9 May 2016 15:57:18 +0200
Subject: node: update to v0.12.14
While we're at it, also enable parallel builds.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
diff --git a/lang/node/Makefile b/lang/node/Makefile
index 243c8a5..e6fe843 100644
--- a/lang/node/Makefile
+++ b/lang/node/Makefile
@@ -8,17 +8,21 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=node
-PKG_VERSION:=v0.12.7
+PKG_VERSION:=v0.12.14
PKG_RELEASE:=1
-PKG_SOURCE:=node-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=node-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://nodejs.org/dist/${PKG_VERSION}
+PKG_MD5SUM:=27f1a2cf00af32cbfe9401ca4b1a805f
HOST_BUILD_DEPENDS:=python/host
PKG_BUILD_DEPENDS:=python/host
PKG_INSTALL:=1
PKG_USE_MIPS16:=0
+HOST_BUILD_PARALLEL:=1
+PKG_BUILD_PARALLEL:=1
+
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
PKG_LICENSE:=

View File

@ -1,110 +0,0 @@
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Mon, 9 May 2016 15:57:18 +0200
Subject: node: update to v4.4.4
While we're at it, also enable parallel builds.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
diff --git a/lang/node/Makefile b/lang/node/Makefile
index 243c8a5..71cf55b 100644
--- a/lang/node/Makefile
+++ b/lang/node/Makefile
@@ -8,17 +8,21 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=node
-PKG_VERSION:=v0.12.7
+PKG_VERSION:=v4.4.4
PKG_RELEASE:=1
-PKG_SOURCE:=node-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=node-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://nodejs.org/dist/${PKG_VERSION}
+PKG_MD5SUM:=1ad7915688df85f62a57f43860dc54c6
HOST_BUILD_DEPENDS:=python/host
PKG_BUILD_DEPENDS:=python/host
PKG_INSTALL:=1
PKG_USE_MIPS16:=0
+HOST_BUILD_PARALLEL:=1
+PKG_BUILD_PARALLEL:=1
+
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
PKG_LICENSE:=
@@ -31,7 +35,7 @@ define Package/node
SUBMENU:=Node.js
TITLE:=Node.js is a platform built on Chrome's JavaScript runtime
URL:=http://nodejs.org/
- DEPENDS:=+libpthread +librt +libstdcpp +libopenssl +libuv
+ DEPENDS:=+libpthread +librt +libstdcpp +libopenssl +libuv +zlib
endef
define Package/node/description
diff --git a/lang/node/patches/001-hardfloat.patch b/lang/node/patches/001-hardfloat.patch
new file mode 100644
index 0000000..1bb2493
--- /dev/null
+++ b/lang/node/patches/001-hardfloat.patch
@@ -0,0 +1,12 @@
+diff --git a/deps/v8/src/base/cpu.cc b/deps/v8/src/base/cpu.cc
+index 4f58720..1f3071e 100644
+--- a/deps/v8/src/base/cpu.cc
++++ b/deps/v8/src/base/cpu.cc
+@@ -143,6 +143,7 @@ int __detect_fp64_mode(void) {
+ ".set push\n\t"
+ ".set noreorder\n\t"
+ ".set oddspreg\n\t"
++ ".set hardfloat\n\t"
+ "lui $t0, 0x3FF0\n\t"
+ "ldc1 $f0, %0\n\t"
+ "mtc1 $t0, $f1\n\t"
diff --git a/lang/node/patches/001-mips-no-fpu.patch b/lang/node/patches/001-mips-no-fpu.patch
deleted file mode 100644
index 5bf8142..0000000
--- a/lang/node/patches/001-mips-no-fpu.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/deps/v8/build/toolchain.gypi
-+++ b/deps/v8/build/toolchain.gypi
-@@ -50,10 +50,10 @@
- 'arm_test_noprobe%': 'off',
-
- # Similar to vfp but on MIPS.
-- 'v8_can_use_fpu_instructions%': 'true',
-+ 'v8_can_use_fpu_instructions%': 'false',
-
- # Similar to the ARM hard float ABI but on MIPS.
-- 'v8_use_mips_abi_hardfloat%': 'true',
-+ 'v8_use_mips_abi_hardfloat%': 'false',
-
- # Default arch variant for MIPS.
- 'mips_arch_variant%': 'r2',
diff --git a/lang/node/patches/002-addr_info.patch b/lang/node/patches/002-addr_info.patch
index 78225db..0aa02da 100644
--- a/lang/node/patches/002-addr_info.patch
+++ b/lang/node/patches/002-addr_info.patch
@@ -1,6 +1,6 @@
--- a/deps/uv/src/unix/getaddrinfo.c
+++ b/deps/uv/src/unix/getaddrinfo.c
-@@ -99,6 +99,7 @@
+@@ -99,6 +99,7 @@ static void uv__getaddrinfo_work(struct
int err;
req = container_of(w, uv_getaddrinfo_t, work_req);
diff --git a/lang/node/patches/003-path.patch b/lang/node/patches/003-path.patch
index 723fe9d..01a71c6 100644
--- a/lang/node/patches/003-path.patch
+++ b/lang/node/patches/003-path.patch
@@ -1,7 +1,7 @@
--- a/lib/module.js
+++ b/lib/module.js
-@@ -512,7 +512,8 @@
- var homeDir = process.env.HOME;
+@@ -453,7 +453,8 @@ Module._initPaths = function() {
+ homeDir = process.env.HOME;
}
- var paths = [path.resolve(process.execPath, '..', '..', 'lib', 'node')];

View File

@ -10,15 +10,15 @@ Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
diff --git a/lang/node/patches/004-gcc6-undefined-behaviour.patch b/lang/node/patches/004-gcc6-undefined-behaviour.patch
new file mode 100644
index 0000000..11b0132
index 0000000..dbbbcf0
--- /dev/null
+++ b/lang/node/patches/004-gcc6-undefined-behaviour.patch
@@ -0,0 +1,64 @@
+diff --git a/deps/v8/src/heap/incremental-marking.cc b/deps/v8/src/heap/incremental-marking.cc
+index 58eb0aa..b2b796f 100644
+index c922e83..2ead8be 100644
+--- a/deps/v8/src/heap/incremental-marking.cc
++++ b/deps/v8/src/heap/incremental-marking.cc
+@@ -364,7 +364,7 @@ void IncrementalMarking::DeactivateIncrementalWriteBarrier() {
+@@ -379,7 +379,7 @@ void IncrementalMarking::DeactivateIncrementalWriteBarrier() {
+ DeactivateIncrementalWriteBarrierForSpace(heap_->new_space());
+
+ LargePage* lop = heap_->lo_space()->first_page();
@ -27,7 +27,7 @@ index 0000000..11b0132
+ SetOldSpacePageFlags(lop, false, false);
+ lop = lop->next_page();
+ }
+@@ -396,7 +396,7 @@ void IncrementalMarking::ActivateIncrementalWriteBarrier() {
+@@ -414,7 +414,7 @@ void IncrementalMarking::ActivateIncrementalWriteBarrier() {
+ ActivateIncrementalWriteBarrier(heap_->new_space());
+
+ LargePage* lop = heap_->lo_space()->first_page();
@ -37,10 +37,10 @@ index 0000000..11b0132
+ lop = lop->next_page();
+ }
+diff --git a/deps/v8/src/heap/spaces-inl.h b/deps/v8/src/heap/spaces-inl.h
+index c2c4d12..d63ee63 100644
+index 56c2bad..1a45096 100644
+--- a/deps/v8/src/heap/spaces-inl.h
++++ b/deps/v8/src/heap/spaces-inl.h
+@@ -155,7 +155,7 @@ Page* Page::Initialize(Heap* heap, MemoryChunk* chunk, Executability executable,
+@@ -148,7 +148,7 @@ Page* Page::Initialize(Heap* heap, MemoryChunk* chunk, Executability executable,
+
+ bool PagedSpace::Contains(Address addr) {
+ Page* p = Page::FromAddress(addr);
@ -50,10 +50,10 @@ index 0000000..11b0132
+ }
+
+diff --git a/deps/v8/src/heap/spaces.cc b/deps/v8/src/heap/spaces.cc
+index 0806b25..c0e109b 100644
+index e197f5a..2fe10eb 100644
+--- a/deps/v8/src/heap/spaces.cc
++++ b/deps/v8/src/heap/spaces.cc
+@@ -2953,7 +2953,7 @@ LargePage* LargeObjectSpace::FindPage(Address a) {
+@@ -2918,7 +2918,7 @@ LargePage* LargeObjectSpace::FindPage(Address a) {
+ if (e != NULL) {
+ DCHECK(e->value != NULL);
+ LargePage* page = reinterpret_cast<LargePage*>(e->value);
@ -63,10 +63,10 @@ index 0000000..11b0132
+ return page;
+ }
+diff --git a/deps/v8/src/heap/spaces.h b/deps/v8/src/heap/spaces.h
+index 3461de3..e35c057 100644
+index 312d75f..1054672 100644
+--- a/deps/v8/src/heap/spaces.h
++++ b/deps/v8/src/heap/spaces.h
+@@ -278,9 +278,9 @@ class MemoryChunk {
+@@ -283,9 +283,9 @@ class MemoryChunk {
+ // Only works for addresses in pointer spaces, not data or code spaces.
+ static inline MemoryChunk* FromAnyPointerAddress(Heap* heap, Address addr);
+