* [Buildroot] [PATCH 0/2 v2] package/nodejs: bump version (branch yem/node)
@ 2015-10-19 17:50 Yann E. MORIN
2015-10-19 17:51 ` [Buildroot] [PATCH 1/2 v2] package/nodejs: fix architectural dependencies on ARM Yann E. MORIN
2015-10-19 17:51 ` [Buildroot] [PATCH 2/2 v2] package/nodejs: add version 4.1.2 Yann E. MORIN
0 siblings, 2 replies; 13+ messages in thread
From: Yann E. MORIN @ 2015-10-19 17:50 UTC (permalink / raw)
To: buildroot
Hello All!
This series is an attempt at bumping nodejs to a newer release.
A previous submission was made by Jaap a while back (and I had missed it
so far, only got pointed to it on IRC lately):
http://lists.busybox.net/pipermail/buildroot/2015-October/thread.html#141220
Yet, this patch was incomplete, and since I had already been working on
that, here's my series now. ;-)
Note that in the meantime, nodejs has also released a newer version,
4.2.0 and then a day later 4.2.1 (because big problem?). There's nothing
new since 4.2.1, but it is still only a week old, so I'd wait a bit to
see if they spit out yet another bug-fix release for 4.2.x shortly...
Changes v1 -> v2:
- original sumbmisison from Jaap considered v1
- needs gcc >= 4.8
- fix architectural ARM dependencies (armv6+ *and* VFPv2)
- forward-port more patches from 0.12.7
- use .tar.xz for 4.2.x
Regards,
Yann E. MORIN.
The following changes since commit 94f6f5b8df4f5bd8bc5358747cbc6a82c346bec9:
shared-mime-info: bump to version 1.5 (2015-10-19 17:02:43 +0200)
are available in the git repository at:
git://git.busybox.net/~ymorin/git/buildroot yem/node
for you to fetch changes up to 91f96e06dbe44ab711b1bb688892c31886026b59:
package/nodejs: add version 4.1.2 (2015-10-19 19:39:27 +0200)
----------------------------------------------------------------
Yann E. MORIN (2):
package/nodejs: fix architectural dependencies on ARM
package/nodejs: add version 4.1.2
...01-Remove-dependency-on-Python-bz2-module.patch | 33 ++++++++
.../0002-gyp-force-link-command-to-use-CXX.patch | 29 +++++++
...hon-variable-instead-of-hardcoding-Python.patch | 88 ++++++++++++++++++++++
package/nodejs/4.1.2/0004-fix-arm-vfpv2.patch | 18 +++++
package/nodejs/Config.in | 22 +++++-
package/nodejs/nodejs.hash | 3 +
package/nodejs/nodejs.mk | 4 +
7 files changed, 194 insertions(+), 3 deletions(-)
create mode 100644 package/nodejs/4.1.2/0001-Remove-dependency-on-Python-bz2-module.patch
create mode 100644 package/nodejs/4.1.2/0002-gyp-force-link-command-to-use-CXX.patch
create mode 100644 package/nodejs/4.1.2/0003-Use-a-python-variable-instead-of-hardcoding-Python.patch
create mode 100644 package/nodejs/4.1.2/0004-fix-arm-vfpv2.patch
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 13+ messages in thread* [Buildroot] [PATCH 1/2 v2] package/nodejs: fix architectural dependencies on ARM 2015-10-19 17:50 [Buildroot] [PATCH 0/2 v2] package/nodejs: bump version (branch yem/node) Yann E. MORIN @ 2015-10-19 17:51 ` Yann E. MORIN 2015-10-19 20:27 ` Thomas Petazzoni 2015-10-19 20:58 ` Jörg Krause 2015-10-19 17:51 ` [Buildroot] [PATCH 2/2 v2] package/nodejs: add version 4.1.2 Yann E. MORIN 1 sibling, 2 replies; 13+ messages in thread From: Yann E. MORIN @ 2015-10-19 17:51 UTC (permalink / raw) To: buildroot On ARM, starting with v0.12.x, the V8 JS engine is used, which now requires at least an armv6 and at least a VFPv2. Since we're about to introduce the v4.x version, which has the same requirements, introduce an intermediate variable to hold that condition. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: J?rg Krause <joerg.krause@embedded.rocks> --- package/nodejs/Config.in | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in index 329d270..bd63d29 100644 --- a/package/nodejs/Config.in +++ b/package/nodejs/Config.in @@ -25,6 +25,13 @@ comment "nodejs needs a toolchain w/ C++, dynamic library, threads" if BR2_PACKAGE_NODEJS +# Starting with 0.12.x, on ARM, V8 (the JS engine) +# requires an armv6+ and a VFPv2+. +config BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS + bool + default y + depends on !BR2_arm || !BR2_ARM_CPU_ARMV5 && BR2_ARM_CPU_HAS_VFPV2 + choice prompt "Node.js version" default BR2_BR2_PACKAGE_NODEJS_0_10_X if BR2_ARM_CPU_ARMV5 @@ -35,10 +42,9 @@ choice config BR2_BR2_PACKAGE_NODEJS_0_10_X bool "v0.10.40" -# V8 included with v0.12.5 requires at least ARMv6 config BR2_BR2_PACKAGE_NODEJS_0_12_X bool "v0.12.7" - depends on !BR2_ARM_CPU_ARMV5 + depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS endchoice -- 1.9.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH 1/2 v2] package/nodejs: fix architectural dependencies on ARM 2015-10-19 17:51 ` [Buildroot] [PATCH 1/2 v2] package/nodejs: fix architectural dependencies on ARM Yann E. MORIN @ 2015-10-19 20:27 ` Thomas Petazzoni 2015-10-19 20:30 ` Yann E. MORIN 2015-10-19 20:58 ` Jörg Krause 1 sibling, 1 reply; 13+ messages in thread From: Thomas Petazzoni @ 2015-10-19 20:27 UTC (permalink / raw) To: buildroot Dear Yann E. MORIN, On Mon, 19 Oct 2015 19:51:00 +0200, Yann E. MORIN wrote: > +# Starting with 0.12.x, on ARM, V8 (the JS engine) > +# requires an armv6+ and a VFPv2+. > +config BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS > + bool > + default y > + depends on !BR2_arm || !BR2_ARM_CPU_ARMV5 && BR2_ARM_CPU_HAS_VFPV2 I would find the following to be a bit easier to understand: # On supported architectures other than ARM, no special requirement default y if !BR2_arm # On ARM, at least ARMv6+ with VFPv2+ is needed default y if !BR2_ARM_CPU_ARMV5 && BR2_ARM_CPU_HAS_VFPV2 Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH 1/2 v2] package/nodejs: fix architectural dependencies on ARM 2015-10-19 20:27 ` Thomas Petazzoni @ 2015-10-19 20:30 ` Yann E. MORIN 0 siblings, 0 replies; 13+ messages in thread From: Yann E. MORIN @ 2015-10-19 20:30 UTC (permalink / raw) To: buildroot Thomas, All, On 2015-10-19 22:27 +0200, Thomas Petazzoni spake thusly: > On Mon, 19 Oct 2015 19:51:00 +0200, Yann E. MORIN wrote: > > +# Starting with 0.12.x, on ARM, V8 (the JS engine) > > +# requires an armv6+ and a VFPv2+. > > +config BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS > > + bool > > + default y > > + depends on !BR2_arm || !BR2_ARM_CPU_ARMV5 && BR2_ARM_CPU_HAS_VFPV2 > > I would find the following to be a bit easier to understand: > > # On supported architectures other than ARM, no special requirement > default y if !BR2_arm > # On ARM, at least ARMv6+ with VFPv2+ is needed > default y if !BR2_ARM_CPU_ARMV5 && BR2_ARM_CPU_HAS_VFPV2 Yes, tht's a bit better, indeed. Will fix and resend. Thanks! :-) Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH 1/2 v2] package/nodejs: fix architectural dependencies on ARM 2015-10-19 17:51 ` [Buildroot] [PATCH 1/2 v2] package/nodejs: fix architectural dependencies on ARM Yann E. MORIN 2015-10-19 20:27 ` Thomas Petazzoni @ 2015-10-19 20:58 ` Jörg Krause 2015-10-19 21:10 ` Yann E. MORIN 1 sibling, 1 reply; 13+ messages in thread From: Jörg Krause @ 2015-10-19 20:58 UTC (permalink / raw) To: buildroot Hi Yann, many thanks for working on this! On Mo, 2015-10-19 at 19:51 +0200, Yann E. MORIN wrote: > On ARM, starting with v0.12.x, the V8 JS engine is used, which now > requires at least an armv6 and at least a VFPv2. Nitpick, V8 is already used before 0.12.x. V8 dropped support for ARMv5 somewhere in between 0.10.x and 0.12.x. > Since we're about to introduce the v4.x version, which has the same > requirements, introduce an intermediate variable to hold that > condition. > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: J?rg Krause <joerg.krause@embedded.rocks> > --- > ?package/nodejs/Config.in | 10 ++++++++-- > ?1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in > index 329d270..bd63d29 100644 > --- a/package/nodejs/Config.in > +++ b/package/nodejs/Config.in > @@ -25,6 +25,13 @@ comment "nodejs needs a toolchain w/ C++, dynamic > library, threads" > ? > ?if BR2_PACKAGE_NODEJS > ? > +# Starting with 0.12.x, on ARM, V8 (the JS engine) > +# requires an armv6+ and a VFPv2+. > +config BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS > + bool > + default y > + depends on !BR2_arm || !BR2_ARM_CPU_ARMV5 && > BR2_ARM_CPU_HAS_VFPV2 > + > ?choice > ? prompt "Node.js version" > ? default BR2_BR2_PACKAGE_NODEJS_0_10_X if BR2_ARM_CPU_ARMV5 > @@ -35,10 +42,9 @@ choice > ?config BR2_BR2_PACKAGE_NODEJS_0_10_X > ? bool "v0.10.40" > ? > -# V8 included with v0.12.5 requires at least ARMv6 Maybe better: V8 included with 0.12.x does not support ARMv5? > ?config BR2_BR2_PACKAGE_NODEJS_0_12_X > ? bool "v0.12.7" > - depends on !BR2_ARM_CPU_ARMV5 > + depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS > ? > ?endchoice > ? Best regards J?rg Krause ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH 1/2 v2] package/nodejs: fix architectural dependencies on ARM 2015-10-19 20:58 ` Jörg Krause @ 2015-10-19 21:10 ` Yann E. MORIN 0 siblings, 0 replies; 13+ messages in thread From: Yann E. MORIN @ 2015-10-19 21:10 UTC (permalink / raw) To: buildroot J?rg, All, On 2015-10-19 22:58 +0200, J?rg Krause spake thusly: > many thanks for working on this! Cheers! ;-) > On Mo, 2015-10-19 at 19:51 +0200, Yann E. MORIN wrote: > > On ARM, starting with v0.12.x, the V8 JS engine is used, which now > > requires at least an armv6 and at least a VFPv2. > > Nitpick, V8 is already used before 0.12.x. V8 dropped support for ARMv5 > somewhere in between 0.10.x and 0.12.x. I will rephrase, thanks. > > Since we're about to introduce the v4.x version, which has the same > > requirements, introduce an intermediate variable to hold that > > condition. > > > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > > Cc: J?rg Krause <joerg.krause@embedded.rocks> > > --- > > ?package/nodejs/Config.in | 10 ++++++++-- > > ?1 file changed, 8 insertions(+), 2 deletions(-) > > > > diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in > > index 329d270..bd63d29 100644 > > --- a/package/nodejs/Config.in > > +++ b/package/nodejs/Config.in > > @@ -25,6 +25,13 @@ comment "nodejs needs a toolchain w/ C++, dynamic > > library, threads" > > ? > > ?if BR2_PACKAGE_NODEJS > > ? > > +# Starting with 0.12.x, on ARM, V8 (the JS engine) > > +# requires an armv6+ and a VFPv2+. > > +config BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS > > + bool > > + default y > > + depends on !BR2_arm || !BR2_ARM_CPU_ARMV5 && > > BR2_ARM_CPU_HAS_VFPV2 > > + > > ?choice > > ? prompt "Node.js version" > > ? default BR2_BR2_PACKAGE_NODEJS_0_10_X if BR2_ARM_CPU_ARMV5 > > @@ -35,10 +42,9 @@ choice > > ?config BR2_BR2_PACKAGE_NODEJS_0_10_X > > ? bool "v0.10.40" > > ? > > -# V8 included with v0.12.5 requires at least ARMv6 > > Maybe better: V8 included with 0.12.x does not support ARMv5? I think "at least armv6" is more true, so I'll keep that. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH 2/2 v2] package/nodejs: add version 4.1.2 2015-10-19 17:50 [Buildroot] [PATCH 0/2 v2] package/nodejs: bump version (branch yem/node) Yann E. MORIN 2015-10-19 17:51 ` [Buildroot] [PATCH 1/2 v2] package/nodejs: fix architectural dependencies on ARM Yann E. MORIN @ 2015-10-19 17:51 ` Yann E. MORIN 2015-10-19 20:30 ` Thomas Petazzoni 2015-10-19 21:31 ` Jörg Krause 1 sibling, 2 replies; 13+ messages in thread From: Yann E. MORIN @ 2015-10-19 17:51 UTC (permalink / raw) To: buildroot We add a new version, because it is not API-compatible with the pervious versions. Also, 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: "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> --- ...01-Remove-dependency-on-Python-bz2-module.patch | 33 ++++++++ .../0002-gyp-force-link-command-to-use-CXX.patch | 29 +++++++ ...hon-variable-instead-of-hardcoding-Python.patch | 88 ++++++++++++++++++++++ package/nodejs/4.1.2/0004-fix-arm-vfpv2.patch | 18 +++++ package/nodejs/Config.in | 12 ++- package/nodejs/nodejs.hash | 3 + package/nodejs/nodejs.mk | 4 + 7 files changed, 186 insertions(+), 1 deletion(-) create mode 100644 package/nodejs/4.1.2/0001-Remove-dependency-on-Python-bz2-module.patch create mode 100644 package/nodejs/4.1.2/0002-gyp-force-link-command-to-use-CXX.patch create mode 100644 package/nodejs/4.1.2/0003-Use-a-python-variable-instead-of-hardcoding-Python.patch create mode 100644 package/nodejs/4.1.2/0004-fix-arm-vfpv2.patch diff --git a/package/nodejs/4.1.2/0001-Remove-dependency-on-Python-bz2-module.patch b/package/nodejs/4.1.2/0001-Remove-dependency-on-Python-bz2-module.patch new file mode 100644 index 0000000..dee8042 --- /dev/null +++ b/package/nodejs/4.1.2/0001-Remove-dependency-on-Python-bz2-module.patch @@ -0,0 +1,33 @@ +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 + +The Python bz2 module is only needed in certain cases, so only import +it when needed. In the normal nodejs build, this allows to remove the +dependency on this module. + +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 at 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 + diff --git a/package/nodejs/4.1.2/0002-gyp-force-link-command-to-use-CXX.patch b/package/nodejs/4.1.2/0002-gyp-force-link-command-to-use-CXX.patch new file mode 100644 index 0000000..5746582 --- /dev/null +++ b/package/nodejs/4.1.2/0002-gyp-force-link-command-to-use-CXX.patch @@ -0,0 +1,29 @@ +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 at 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 + diff --git a/package/nodejs/4.1.2/0003-Use-a-python-variable-instead-of-hardcoding-Python.patch b/package/nodejs/4.1.2/0003-Use-a-python-variable-instead-of-hardcoding-Python.patch new file mode 100644 index 0000000..2e266af --- /dev/null +++ b/package/nodejs/4.1.2/0003-Use-a-python-variable-instead-of-hardcoding-Python.patch @@ -0,0 +1,88 @@ +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 at 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)' diff --git a/package/nodejs/4.1.2/0004-fix-arm-vfpv2.patch b/package/nodejs/4.1.2/0004-fix-arm-vfpv2.patch new file mode 100644 index 0000000..b753dfe --- /dev/null +++ b/package/nodejs/4.1.2/0004-fix-arm-vfpv2.patch @@ -0,0 +1,18 @@ +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 diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in index bd63d29..880410b 100644 --- a/package/nodejs/Config.in +++ b/package/nodejs/Config.in @@ -35,7 +35,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. @@ -46,12 +46,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" diff --git a/package/nodejs/nodejs.hash b/package/nodejs/nodejs.hash index 9be2806..ab506df 100644 --- a/package/nodejs/nodejs.hash +++ b/package/nodejs/nodejs.hash @@ -3,3 +3,6 @@ sha256 bae79c2fd959aebe1629af36077bebbb760128db753da226d2344cd91499149f node-v0 # From upstream URL: http://nodejs.org/dist/v0.12.7/SHASUMS256.txt sha256 b23d64df051c9c969b0c583f802d5d71de342e53067127a5061415be7e12f39d node-v0.12.7.tar.gz + +# From upstream URL: http://nodejs.org/dist/v4.1.2/SHASUMS256.txt +sha256 443c8251e812b1f2c4b3e9152a47df23c55567ade739e017e2c0ca0869b71e74 node-v4.1.2.tar.xz diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk index 414f3f3..099b3f0 100644 --- a/package/nodejs/nodejs.mk +++ b/package/nodejs/nodejs.mk @@ -5,7 +5,11 @@ ################################################################################ NODEJS_VERSION = $(call qstrip,$(BR2_PACKAGE_NODEJS_VERSION_STRING)) +ifeq ($(BR2_BR2_PACKAGE_NODEJS_4_X),y) +NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz +else NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.gz +endif NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) NODEJS_DEPENDENCIES = host-python host-nodejs zlib \ $(call qstrip,$(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS)) -- 1.9.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH 2/2 v2] package/nodejs: add version 4.1.2 2015-10-19 17:51 ` [Buildroot] [PATCH 2/2 v2] package/nodejs: add version 4.1.2 Yann E. MORIN @ 2015-10-19 20:30 ` Thomas Petazzoni 2015-10-19 20:35 ` Yann E. MORIN 2015-10-19 21:31 ` Jörg Krause 1 sibling, 1 reply; 13+ messages in thread From: Thomas Petazzoni @ 2015-10-19 20:30 UTC (permalink / raw) To: buildroot Dear Yann E. MORIN, On Mon, 19 Oct 2015 19:51:01 +0200, Yann E. MORIN wrote: > diff --git a/package/nodejs/4.1.2/0001-Remove-dependency-on-Python-bz2-module.patch b/package/nodejs/4.1.2/0001-Remove-dependency-on-Python-bz2-module.patch > new file mode 100644 > index 0000000..dee8042 > --- /dev/null > +++ b/package/nodejs/4.1.2/0001-Remove-dependency-on-Python-bz2-module.patch > @@ -0,0 +1,33 @@ > +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 > + > +The Python bz2 module is only needed in certain cases, so only import > +it when needed. In the normal nodejs build, this allows to remove the > +dependency on this module. Read this... > + > +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 at 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 > + > + ... and compare it to the patch. You're no longer importing bz2 anywhere. Look at the same patch for 0.10 and 0.12, it is importing the bz2 module, just conditionally. We should maybe also upstream our nodejs patches... But that's a separate work. Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH 2/2 v2] package/nodejs: add version 4.1.2 2015-10-19 20:30 ` Thomas Petazzoni @ 2015-10-19 20:35 ` Yann E. MORIN 2015-10-19 20:37 ` Thomas Petazzoni 0 siblings, 1 reply; 13+ messages in thread From: Yann E. MORIN @ 2015-10-19 20:35 UTC (permalink / raw) To: buildroot Thomas, All, On 2015-10-19 22:30 +0200, Thomas Petazzoni spake thusly: > On Mon, 19 Oct 2015 19:51:01 +0200, Yann E. MORIN wrote: > > diff --git a/package/nodejs/4.1.2/0001-Remove-dependency-on-Python-bz2-module.patch b/package/nodejs/4.1.2/0001-Remove-dependency-on-Python-bz2-module.patch > > new file mode 100644 > > index 0000000..dee8042 > > --- /dev/null > > +++ b/package/nodejs/4.1.2/0001-Remove-dependency-on-Python-bz2-module.patch > > @@ -0,0 +1,33 @@ > > +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 > > + > > +The Python bz2 module is only needed in certain cases, so only import > > +it when needed. In the normal nodejs build, this allows to remove the > > +dependency on this module. > > Read this... Damn... > > +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 at 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 > > + > > + > > ... and compare it to the patch. You're no longer importing bz2 > anywhere. Look at the same patch for 0.10 and 0.12, it is importing the > bz2 module, just conditionally. ACK, I'll fix that commit log. > We should maybe also upstream our nodejs patches... But that's a > separate work. I can take a shot at that... Thanks! Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH 2/2 v2] package/nodejs: add version 4.1.2 2015-10-19 20:35 ` Yann E. MORIN @ 2015-10-19 20:37 ` Thomas Petazzoni 2015-10-19 20:44 ` Yann E. MORIN 0 siblings, 1 reply; 13+ messages in thread From: Thomas Petazzoni @ 2015-10-19 20:37 UTC (permalink / raw) To: buildroot Dear Yann E. MORIN, On Mon, 19 Oct 2015 22:35:43 +0200, Yann E. MORIN wrote: > > ... and compare it to the patch. You're no longer importing bz2 > > anywhere. Look at the same patch for 0.10 and 0.12, it is importing the > > bz2 module, just conditionally. > > ACK, I'll fix that commit log. So the bz2 import is no longer needed at all? > > We should maybe also upstream our nodejs patches... But that's a > > separate work. > > I can take a shot at that... Would be good, but it is definitely not mandatory to get your patch accepted, of course. Thanks! Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH 2/2 v2] package/nodejs: add version 4.1.2 2015-10-19 20:37 ` Thomas Petazzoni @ 2015-10-19 20:44 ` Yann E. MORIN 0 siblings, 0 replies; 13+ messages in thread From: Yann E. MORIN @ 2015-10-19 20:44 UTC (permalink / raw) To: buildroot Thomas, All, On 2015-10-19 22:37 +0200, Thomas Petazzoni spake thusly: > On Mon, 19 Oct 2015 22:35:43 +0200, Yann E. MORIN wrote: > > > ... and compare it to the patch. You're no longer importing bz2 > > > anywhere. Look at the same patch for 0.10 and 0.12, it is importing the > > > bz2 module, just conditionally. > > > > ACK, I'll fix that commit log. > > So the bz2 import is no longer needed at all? Nope. The build goes OK without it. > > > We should maybe also upstream our nodejs patches... But that's a > > > separate work. > > I can take a shot at that... > Would be good, but it is definitely not mandatory to get your patch > accepted, of course. Understood, but I'll try nonetheless (some of those patches are probably easy to sneak in, liek the bz2 one). Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH 2/2 v2] package/nodejs: add version 4.1.2 2015-10-19 17:51 ` [Buildroot] [PATCH 2/2 v2] package/nodejs: add version 4.1.2 Yann E. MORIN 2015-10-19 20:30 ` Thomas Petazzoni @ 2015-10-19 21:31 ` Jörg Krause 2015-10-19 21:35 ` Yann E. MORIN 1 sibling, 1 reply; 13+ messages in thread From: Jörg Krause @ 2015-10-19 21:31 UTC (permalink / raw) To: buildroot On Mo, 2015-10-19 at 19:51 +0200, Yann E. MORIN wrote: > We add a new version, because it is not API-compatible with the > pervious > versions. previous? :-) > > Also, 4.1.2 requires gcc >= 4.8. I tried with a gcc 4.8 toolchain and it compiles without any errors. Best regards J?rg Krause ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH 2/2 v2] package/nodejs: add version 4.1.2 2015-10-19 21:31 ` Jörg Krause @ 2015-10-19 21:35 ` Yann E. MORIN 0 siblings, 0 replies; 13+ messages in thread From: Yann E. MORIN @ 2015-10-19 21:35 UTC (permalink / raw) To: buildroot On 2015-10-19 23:31 +0200, J?rg Krause spake thusly: > On Mo, 2015-10-19 at 19:51 +0200, Yann E. MORIN wrote: > > We add a new version, because it is not API-compatible with the > > pervious > > versions. > previous? :-) That was vicious. ;-) Fixed, thanks. > > Also, 4.1.2 requires gcc >= 4.8. > I tried with a gcc 4.8 toolchain and it compiles without any errors. Yes, I tries with gcc-4.7 and it breaks, while it builds with gcc-4.8. Thanks for the confirmation. :-) Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2015-10-19 21:35 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-10-19 17:50 [Buildroot] [PATCH 0/2 v2] package/nodejs: bump version (branch yem/node) Yann E. MORIN 2015-10-19 17:51 ` [Buildroot] [PATCH 1/2 v2] package/nodejs: fix architectural dependencies on ARM Yann E. MORIN 2015-10-19 20:27 ` Thomas Petazzoni 2015-10-19 20:30 ` Yann E. MORIN 2015-10-19 20:58 ` Jörg Krause 2015-10-19 21:10 ` Yann E. MORIN 2015-10-19 17:51 ` [Buildroot] [PATCH 2/2 v2] package/nodejs: add version 4.1.2 Yann E. MORIN 2015-10-19 20:30 ` Thomas Petazzoni 2015-10-19 20:35 ` Yann E. MORIN 2015-10-19 20:37 ` Thomas Petazzoni 2015-10-19 20:44 ` Yann E. MORIN 2015-10-19 21:31 ` Jörg Krause 2015-10-19 21:35 ` Yann E. MORIN
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox