package/iojs: new package
PATCH 1/1 package/iojs: new package
io.js is a fork of Node.js. This package is mainly based on the nodejs package, except for the patches.
io.js is currently marked as unstable and there is no stable release for now.
--- package/Config.in | 1 + ...-deps-remove-python-import-of-bz2-in-js2c.patch | 30 +++++ .../0002-deps-fix-musl-build-error-for-v8.patch | 30 +++++ .../0003-deps-fix-uClibc-build-errors-for-v8.patch | 97 ++++++++++++++++ package/iojs/Config.in | 87 ++++++++++++++ package/iojs/iojs.hash | 2 + package/iojs/iojs.mk | 128 +++++++++++++++++++++ 7 files changed, 375 insertions(+) create mode 100644 package/iojs/0001-deps-remove-python-import-of-bz2-in-js2c.patch create mode 100644 package/iojs/0002-deps-fix-musl-build-error-for-v8.patch create mode 100644 package/iojs/0003-deps-fix-uClibc-build-errors-for-v8.patch create mode 100644 package/iojs/Config.in create mode 100644 package/iojs/iojs.hash create mode 100644 package/iojs/iojs.mk
package/Config.in +1 -0
@@ -400,6 +400,7 @@ menu "Interpreter languages and scripting" source "package/erlang/Config.in" source "package/guile/Config.in" source "package/haserl/Config.in" + source "package/iojs/Config.in" source "package/jamvm/Config.in" source "package/jimtcl/Config.in" source "package/lua/Config.in"
package/iojs/0001-deps-remove-python-import-of-bz2-in-js2c.patch new file +30 -0
@@ -0,0 +1,30 @@ +From 7ab03529c34c43c147f09b21c3346130d075928d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= <[email protected]> +Date: Mon, 12 Jan 2015 23:00:13 +0100 +Subject: [PATCH 1/3] deps: remove python import of bz2 in js2c +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The bz2 module is never used in this python script. In the io.js build, this +allows to remove the dependency on this module. + +Signed-off-by: J?rg Krause <[email protected]> +--- + deps/v8/tools/js2c.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/deps/v8/tools/js2c.py b/deps/v8/tools/js2c.py +index 621ed5a..096a4eb 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.2.2
package/iojs/0002-deps-fix-musl-build-error-for-v8.patch new file +30 -0
@@ -0,0 +1,30 @@ +From 9adaa4f87cbbd56362f0d3fba204e147a74b22c3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= <[email protected]> +Date: Mon, 12 Jan 2015 23:14:13 +0100 +Subject: [PATCH 2/3] deps: fix musl build error for v8 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +With the musl C library, building V8 fails because __ARM_NR_cacheflush is +undeclared. Fix this by including <asm/unistd.h>. + +Signed-off-by: J?rg Krause <[email protected]> +--- + deps/v8/src/arm/cpu-arm.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/deps/v8/src/arm/cpu-arm.cc b/deps/v8/src/arm/cpu-arm.cc +index 4a34070..c94e30c 100644 +--- a/deps/v8/src/arm/cpu-arm.cc ++++ b/deps/v8/src/arm/cpu-arm.cc +@@ -16,6 +16,7 @@ + + #if V8_TARGET_ARCH_ARM + ++#include <asm/unistd.h> + #include "src/assembler.h" + #include "src/macro-assembler.h" + #include "src/simulator.h" // for cache flushing. +-- +2.2.2
package/iojs/0003-deps-fix-uClibc-build-errors-for-v8.patch new file +97 -0
97 lines not on this page · raw message
package/iojs/Config.in new file +87 -0
87 lines not on this page · raw message
package/iojs/iojs.hash new file +2 -0
@@ -0,0 +1,2 @@ +# From https://iojs.org/dist/v1.0.1/SHASUMS256.txt +sha256 c26052dad5d9ccd8a7b9134806994ebf2d217a57d6efd5633e01c5cc1dcdedc5 iojs-v1.0.1.tar.gz
package/iojs/iojs.mk new file +128 -0
128 lines not on this page · raw message
Signature · 1 line
2.2.2
PATCH 1/1 package/iojs: new package
Hi J?rg,
On Thu, Jan 15, 2015 at 12:38:16AM +0100, J?rg Krause wrote:
[...]
Quoted 21 lines
package/iojs/Config.in new file +15
-0@@ -0,0 +1,87 @@ +config BR2_PACKAGE_IOJS + bool "iojs" + depends on BR2_INET_IPV6 + depends on BR2_LARGEFILE + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel + depends on !BR2_MIPS_SOFT_FLOAT + # ARM needs BLX, so v5t+ + depends on !BR2_ARM_CPU_ARMV4 + # uses fork() + depends on BR2_USE_MMU + select BR2_PACKAGE_ZLIB + help + io.js is a JavaScript platform built on Chrome's V8 runtime. io.js
package/iojs/Config.in line 25
Quoted 10 lines
package/iojs/Config.in new file +10
-0+ originally based on Node.js and is compatible with the npm ecosystem. + + http://iojs.org/ + +comment "iojs needs a toolchain w/ C++, IPv6, largefile, threads" + depends on BR2_USE_MMU + depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel + depends on !BR2_ARM_CPU_ARMV4 + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INET_IPV6
Missing 'depends on !BR2_MIPS_SOFT_FLOAT'.
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH 1/1 package/iojs: new package
In reply to Jörg KrauseDear J?rg Krause,
Quoted 6 lines · J?rg Krause
io.js is a fork of Node.js. This package is mainly based on the nodejs package, except for the patches.
io.js is currently marked as unstable and there is no stable release for now.
Signed-off-by J?rg Krause <[email protected]>
Immediate question that comes to mind: is the code base diverging from Node.js ? Do we need two separate packages ? Does this fork has a chance of becoming widely used ? I'm a bit concerned by the fact of having two separate packages for basically the same thing.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 package/iojs: new package
Dear Thomas Petazzoni,
Quoted 6 lines · Thomas Petazzoni
Dear J?rg Krause,
Quoted 3 lines · J?rg Krause
io.js is a fork of Node.js. This package is mainly based on the nodejs package, except for the patches.
Quoted 6 lines
Quoted 3 lines
io.js is currently marked as unstable and there is no stable release for now.
Signed-off-by J?rg Krause <[email protected]>Immediate question that comes to mind: is the code base diverging from Node.js ?
Yes, it is.
Quoted 1 line
Do we need two separate packages ?
I would say yes. io.js is build against modern versions of V8 and libuv and bundles a recent npm package. This enables the user the new features from the upcoming JavaScript ECMA-262 specification (ES6).
From io.js ChangeLog:
"The io.js codebase inherits the majority of the changes found in the v0.11 branch of the joyent/node repository and therefore can be seen as an extension to v0.11."
Quoted 2 lines
Does this fork has a chance of becoming widely used ? I'm a bit concerned by the fact of having two separate packages for basically the same thing.
I think of Node.js as an enterprise-driven and io.js as an community-driven project. Both have different goals, and will have different feature sets in the future. IMO it's good for the user to decide, which platform he want to use concerning his demands.
Best regards
J?rg Krause
PATCH 1/1 package/iojs: new package
J?rg, All,
On 2015-01-15 20:58 +0100, J?rg Krause spake thusly:
Quoted 16 lines · Thomas Petazzoni
Quoted 10 lines · J?rg Krause
Quoted 6 lines
io.js is a fork of Node.js. This package is mainly based on the nodejs package, except for the patches.
io.js is currently marked as unstable and there is no stable release for now.
Signed-off-by J?rg Krause <[email protected]>Immediate question that comes to mind: is the code base diverging from Node.js ?
Yes, it is.
Quoted 1 line
Do we need two separate packages ?
Quoted 8 lines
I would say yes. io.js is build against modern versions of V8 and libuv and bundles a recent npm package. This enables the user the new features from the upcoming JavaScript ECMA-262 specification (ES6).
From io.js ChangeLog:
"The io.js codebase inherits the majority of the changes found in the v0.11 branch of the joyent/node repository and therefore can be seen as an extension to v0.11."
OK, so in the long run, will we need to have a virtual package for the NodeJS feature?
That is, are there packages that would work with either NodeJS or iojs?
We need not add such a virtual package for now, but will need to when/if we package in Buildroot new packages that can use either one.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 package/iojs: new package
Hi Yann,
Quoted 28 lines · Yann E. MORIN
J?rg, All,
On 2015-01-15 20:58 +0100, J?rg Krause spake thusly:
Quoted 16 lines · Thomas Petazzoni
Quoted 10 lines · J?rg Krause
Quoted 6 lines
io.js is a fork of Node.js. This package is mainly based on the nodejs package, except for the patches.
io.js is currently marked as unstable and there is no stable release for now.
Signed-off-by J?rg Krause <[email protected]>Immediate question that comes to mind: is the code base diverging from Node.js ?
Yes, it is.
Quoted 1 line
Do we need two separate packages ?
Quoted 8 lines
I would say yes. io.js is build against modern versions of V8 and libuv and bundles a recent npm package. This enables the user the new features from the upcoming JavaScript ECMA-262 specification (ES6).
From io.js ChangeLog:
"The io.js codebase inherits the majority of the changes found in the v0.11 branch of the joyent/node repository and therefore can be seen as an extension to v0.11."
Quoted 7 lines
OK, so in the long run, will we need to have a virtual package for the NodeJS feature?
That is, are there packages that would work with either NodeJS or iojs?
We need not add such a virtual package for now, but will need to when/if we package in Buildroot new packages that can use either one.
I'm not quite sure if I get you right.
We would have two packages: nodejs and iojs. Node.js uses npm as package management system. iojs is based on Node.js and compatible to npm. In Buildroot, additional modules for Node.js are installed with BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL.
Additional modules for io.js will be installed with BR2_PACKAGE_IOJS_MODULES_ADDITIONAL.
This is the config menu:
[*] iojs
Module Selection --->
() Additional modules
[] nodejs
Module Selection --->
() Additional modules
There are no packages in Buildroot which depends on or selects the package nodejs (or iojs).
Best regards
J?rg