Commit 827c9d2b authored by Yann E. MORIN's avatar Yann E. MORIN Committed by Thomas Petazzoni
Browse files

package/nodejs: add version 4.1.2



We add a new version, because it is not API-compatible with the previous
versions.

Also, nodejs-4.1.2 requires gcc >= 4.8.

Forward-port patches from 0.12.7:
  - 0001-Remove-dependency-on-Python-bz2-module.patch partially applied
    upstream;
  - 0002-gyp-force-link-command-to-use-CXX.patch slightly refreshed;
  - 0003-Use-a-python-variable-instead-of-hardcoding-Python.patch
    largely refreshed to address new occurences of hard-coded calls;
  - 0004-fix-build-error-without-OpenSSL-support.patch applied upstream
  - 0005-Fix-typo-for-arm-predefined-macro-in-atomicops_inte.patch
    applied upstream.

New patch:
  - 0004-fix-arm-vfpv2.patch to fix the gcc -mfpu option for VFPv2.

Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Jörg Krause <joerg.krause@embedded.rocks>
Cc: Martin Bark <martin@barkynet.com>
Cc: Jaap Crezee <jaap@jcz.nl>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent f443386c
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
From 3d4817c152d6f3afddcc699949c4d1664da91e2b Mon Sep 17 00:00:00 2001
From: Martin Bark <martin@barkynet.com>
Date: Tue, 30 Jun 2015 09:43:11 +0100
Subject: [PATCH 1/4] Remove dependency on Python bz2 module

Do not import the bz2 module, it is not used.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Martin: adapt to 0.12.5]
Signed-off-by: Martin Bark <martin@barkynet.com>
[yann.morin.1998@free.fr: adapt to 4.1.2]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 deps/v8/tools/js2c.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/deps/v8/tools/js2c.py b/deps/v8/tools/js2c.py
index 77485f6..371caf5 100755
--- a/deps/v8/tools/js2c.py
+++ b/deps/v8/tools/js2c.py
@@ -34,7 +34,6 @@
 import os, re, sys, string
 import optparse
 import jsmin
-import bz2
 import textwrap
 
 
-- 
2.1.4
+29 −0
Original line number Diff line number Diff line
From 90a3c113c19ec615249ab880c45c6c0a8d369098 Mon Sep 17 00:00:00 2001
From: Martin Bark <martin@barkynet.com>
Date: Tue, 30 Jun 2015 09:43:47 +0100
Subject: [PATCH 2/4] gyp: force link command to use CXX

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Martin Bark <martin@barkynet.com>
[yann.morin.1998@free.fr: adapt to 4.1.2]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 tools/gyp/pylib/gyp/generator/make.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/gyp/pylib/gyp/generator/make.py b/tools/gyp/pylib/gyp/generator/make.py
index b88a433..0a1f2e0 100644
--- a/tools/gyp/pylib/gyp/generator/make.py
+++ b/tools/gyp/pylib/gyp/generator/make.py
@@ -142,7 +142,7 @@ cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^)
 # special "figure out circular dependencies" flags around the entire
 # input list during linking.
 quiet_cmd_link = LINK($(TOOLSET)) $@
-cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS)
+cmd_link = $(CXX.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS)
 
 # We support two kinds of shared objects (.so):
 # 1) shared_library, which is just bundling together many dependent libraries
-- 
2.1.4
+88 −0
Original line number Diff line number Diff line
From 4a48c65921b0f05b621aef5b902b6aa54811ad7a Mon Sep 17 00:00:00 2001
From: Martin Bark <martin@barkynet.com>
Date: Tue, 30 Jun 2015 09:44:33 +0100
Subject: [PATCH 3/4] Use a python variable instead of hardcoding Python

The nodejs build system uses python in a number of locations. However,
there are some locations where it hardcodes 'python' as the Python
interpreter. However, this causes problems when we need to use python2
instead of just python.

This patch fixes that by using the python variable already in place in
the nodejs build system.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Martin: adapt to 0.12.5]
Signed-off-by: Martin Bark <martin@barkynet.com>
[yann.morin.1998@free.fr: adapat to 4.1.2]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 deps/v8/tools/gyp/v8.gyp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/deps/v8/tools/gyp/v8.gyp b/deps/v8/tools/gyp/v8.gyp
index c703155..06c0b2b 100644
--- a/deps/v8/tools/gyp/v8.gyp
+++ b/deps/v8/tools/gyp/v8.gyp
@@ -1696,14 +1696,14 @@
                       '<(PRODUCT_DIR)/natives_blob_host.bin',
                     ],
                     'action': [
-                      'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob_host.bin'
+                      '<(python)', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob_host.bin'
                     ],
                   }, {
                     'outputs': [
                       '<(PRODUCT_DIR)/natives_blob.bin',
                     ],
                     'action': [
-                      'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
+                      '<(python)', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
                     ],
                   }],
                 ],
@@ -1712,7 +1712,7 @@
                   '<(PRODUCT_DIR)/natives_blob.bin',
                 ],
                 'action': [
-                  'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
+                  '<(python)', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
                 ],
               }],
             ],
@@ -1812,7 +1812,7 @@
             '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
           ],
           'action': [
-            'python',
+            '<(python)',
             '../../tools/js2c.py',
             '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
             'CORE',
@@ -1838,7 +1838,7 @@
             '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
           ],
           'action': [
-            'python',
+            '<(python)',
             '../../tools/js2c.py',
             '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
             'EXPERIMENTAL',
@@ -1863,7 +1863,7 @@
             '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
           ],
           'action': [
-            'python',
+            '<(python)',
             '../../tools/js2c.py',
             '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
             'EXTRAS',
@@ -1900,7 +1900,7 @@
               '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
             ],
             'action': [
-              'python',
+              '<(python)',
               '../../tools/gen-postmortem-metadata.py',
               '<@(_outputs)',
               '<@(heapobject_files)'
+18 −0
Original line number Diff line number Diff line
configure: fix ARM VFPv2

The gcc -mfpu flag for VFPv2 is 'vfp', not 'vfpv2'.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

diff -durN a/configure b/configure
--- a/configure
+++ b/configure
@@ -611,7 +611,7 @@
     o['variables']['arm_fpu'] = 'vfpv3'
     o['variables']['arm_version'] = '7'
   else:
-    o['variables']['arm_fpu'] = 'vfpv2'
+    o['variables']['arm_fpu'] = 'vfp'
     o['variables']['arm_version'] = '6' if is_arch_armv6() else 'default'
 
   o['variables']['arm_thumb'] = 0      # -marm
+11 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ config BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS
choice
	prompt "Node.js version"
	default BR2_BR2_PACKAGE_NODEJS_0_10_X if BR2_ARM_CPU_ARMV5
	default BR2_BR2_PACKAGE_NODEJS_0_12_X
	default BR2_BR2_PACKAGE_NODEJS_4_X
	help
	  Select the version of Node.js you wish to use.

@@ -48,12 +48,22 @@ config BR2_BR2_PACKAGE_NODEJS_0_12_X
	bool "v0.12.7"
	depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS

config BR2_BR2_PACKAGE_NODEJS_4_X
	bool "v4.1.2"
	depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8

comment "v4.1.2 needs a toolchain w/ gcc >= 4.8"
	depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS
	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8

endchoice

config BR2_PACKAGE_NODEJS_VERSION_STRING
	string
	default "0.10.40"	if BR2_BR2_PACKAGE_NODEJS_0_10_X
	default "0.12.7"	if BR2_BR2_PACKAGE_NODEJS_0_12_X
	default "4.1.2"		if BR2_BR2_PACKAGE_NODEJS_4_X

menu "Module Selection"

Loading