38 Commits

Author SHA1 Message Date
Martin Jansa
dc01472dd9 nodejs: fix build without scrypt
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-01 05:45:17 -07:00
Khem Raj
354eca1043 nodejs: Upgrade to 16.11.1
* This is new LTS release
* Add patch to fix build on mips/mips64
* Add patch to build with new c-ares 2.17+
* Enhance native binaries patch to include additional native torque use
* Drop mips-warnings.patch and python 3.10 support patch which is
  already available in 16.x
* Refresh rest of patches against 16.x base

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-10-20 15:48:54 -07:00
Alexander Kanavin
e8214b76e4 nodejs: add a python 3.10 compatibility patch
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-10-14 07:16:58 -07:00
Khem Raj
94e54c209d nodejs: Update to 14.17.1
Drop upstreamed v8-call-new-ListFormatter-createInstance.patch patch
Add a patch for ppc64/clang to drop -mminimal-toc since clang does not
have this option

License-Update: URLs updated [1] and copyright owners too [2]

[1] 2d7e0b6912 (diff-c693279643b8cd5d248172d9c22cb7cf4ed163a3c98c8a3f69c2717edd3eacb7)
[2] b57785d89b (diff-c693279643b8cd5d248172d9c22cb7cf4ed163a3c98c8a3f69c2717edd3eacb7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-18 08:33:07 -07:00
Khem Raj
37e0b6152c nodejs: Fix build with clang for x86 target
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-21 08:27:01 -07:00
Khem Raj
2f365001e2 nodejs: Fix build on mips
2G is too much for qemu-mips and perhaps also for real mips devices
as we use qemu-usermode during build to run host pieces like mksnapshot
they fail,  reducing the allocation range helps

Fixes
|   LD_LIBRARY_PATH=/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/lib.host:/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1
/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/v8_gypfiles; mkdir -p /mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/obj.target/v
8_snapshot/geni; "/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/v8-qemu-wrapper.sh" "/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/nod
e-v14.16.1/out/Release/mksnapshot" --turbo_instruction_scheduling "--target_os=linux" "--target_arch=mips" --startup_src "/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/ou
t/Release/obj.target/v8_snapshot/geni/snapshot.cc" --embedded_variant Default --embedded_src "/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/obj.target/v8_snap
shot/geni/embedded.S" --no-native-code-counters
|
| #
| # Fatal process OOM in CodeRange setup: allocate virtual memory
| #
|
| /mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/v8-qemu-wrapper.sh: line 7: 2292880 Trace/breakpoint trap   (core dumped) PSEUDO_UNLOAD=1 qemu-mips -r 3.2.0 -

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-21 08:27:01 -07:00
Khem Raj
f52863f02c nodejs: Use qemu usermode to run target binaries during build
So far, we have been trying to build nodejs-native and use the native
host binaries from there, which has worked out ok but always changes
when major upgrade is done, since more binaries or places are required
to be captured. This patch changes this approach to use qemu-user to run
these binaries under during cross build. This lets them run closer to
upstream build process and also removes dependency on nodejs-native

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-21 08:27:01 -07:00
Khem Raj
3f61a4c881 nodejs: Fix build with icu-69
backport relevant v8 patch to fix the build issue

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-21 08:27:01 -07:00
Khem Raj
3cb00800f5 nodejs: Update to 14.16.1
This is latest maintained LTS release
Forward patches and drop backported patch

License-Update: Update  copyright year and drop license of
deps/http_parser as this component is  removed in this version

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-21 08:27:01 -07:00
Khem Raj
45a2dfdd0f nodejs: Fix arm32/thumb builds with clang
Backport a patch from upstream to take care of build failure e.g.

| ../deps/v8/src/codegen/arm/cpu-arm.cc:38:16: error: write to reserved register 'R7'
|   asm volatile("svc 0\n"
|                ^
| 1 error generated.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-02 09:00:52 -08:00
Khem Raj
bda3ee6276 nodejs: Upgrade to 12.18.3
Drop already upstreamed patches
use builtin uv, it does not build without it

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-08-13 22:37:48 -07:00
Khem Raj
7910f2b645 nodejs: Fix build with icu 67.1
Remove soon-to-be removed getAllFieldPositions

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrej Valek <andrej.valek@siemens.com>
2020-05-06 23:20:29 -07:00
Khem Raj
db0075f503 nodejs: Fix -Wc++11-narrowing on mips
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-15 23:10:02 -07:00
André Draszik
b3b81507b7 nodejs: allow use of system brotli (and make default)
Use system brotli via PACKAGECONFIG by default. So far,
nodejs had been built using its embedded copy of brotli,
which we generally try to avoid, for the known reasons
(independent updates, cve & license checks, etc).

The nodejs patches to enable this have been submitted.
brotli is in meta-oe, so enabling this by default should
not be a problem.

Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-03 11:40:40 -08:00
Khem Raj
354bedc9ab nodejs: Fix build on big-endian targets
Fixes
../deps/v8/src/runtime/runtime-utils.h:129:11: error: base operand of '->' has non-pointer type 'v8::internal::Object'
  129 |   return y->ptr() | (static_cast<ObjectPair>(x->ptr()) << 32);
      |           ^~

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Martin Jansa <Martin.Jansa@gmail.com>
Cc: Guillaume Burel <guillaume.burel@stormshield.eu>
2020-01-23 14:16:25 -08:00
Guillaume Burel
feeb172d1a nodejs: 10.17.0 -> 12.14.0
- update Node.js to active 12.x LTS release 12.14.0.
- remove compatibility with gcc 4.8 (has been removed upstream)

Signed-off-by: Guillaume Burel <guillaume.burel@stormshield.eu>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-23 14:16:25 -08:00
Andreas Müller
f0f6c0174d nodejs: Add PACKAGECONFIG share to allow other projects to use node as library
There are so many useful modules written for node.js I would like to use in
C++/Qt projects.

Run-tested both variants by installing node-red with npm and running it.

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-12-01 22:29:59 -08:00
André Draszik
c174217540 nodejs: use OE-provided compiler flags (arm)
This overrides yocto-provided build flags with its own, e.g we get
    arm-poky-linux-musleabi-g++  -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 \
                                 ... \
                                  -march=armv7-a -mfpu=neon -mfloat-abi=hard -marm

Causing the latter to override the former, and compiler warnings:
    cc1plus: warning: switch '-mcpu=cortex-a7' conflicts with '-march=armv7-a' switch

Patch this out, so that yocto-provided flags take precedence.
Note that in reality the same should probably be done for all the other
supported architectures, too.

Note that this also switches to Thumb(2) mode (in my case). No obvious
problems have been noted during compilation or runtime.

Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-11-13 07:17:03 -08:00
André Draszik
08956bdd89 nodejs: ensure to use correct compiler & flags always
NodeJS comes with an embedded, patched, version of gyp.

Normally, gyp supports compiling for the build machine, e.g.
native tools that need to be compiled to run during the build,
and for the host, using different variables, e.g. CC and
CC.host, etc.
Most of this has been patched out in the NodeJS version of gyp,
and essentially it only supports compiling using one compiler -
${CC}. This modification excludes LDFLAGS for native tools, and
those still evaluate LDFLAGS.host (only).

While this modified behaviour is OK for the OE use-case of building
native and target tools separately, it means that this recipe can
not work as-is with standard gyp, and wrong LDFLAGS are being used
for some of the tools compiled (torque) in either case.

By setting the make variables that gyp-generated makefiles inspect,
we support use of unpatched gyp, and we ensure that all tools
are compiled with correct LDFLAGS in either case.

This now also allows us to drop the patch that had been applied to
work-around this problem.

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-11-13 07:17:03 -08:00
Adrian Bunk
a0361dad8b nodejs: Upgrade 10.16.3 -> 10.17.0
Patch applied upstream removed.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-11-01 17:22:52 -07:00
Brad Bishop
478c35bc01 nodejs: Update GCC 4.8 compat patch
GCC 4.8 compatibility was lost moving from 10.15.1 to 10.15.3.  Add
another wrapper for std::make_unique to restore it.

Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-26 09:43:57 -07:00
Andrej Valek
f0c1ee77d9 nodejs: fix target ldflags using
- do not drop target LDFLAGS
  - even if the target LDFLAGS have been specified, tools like torque was
    linked with system libraries

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-19 21:00:06 -07:00
Andrej Valek
bef21ed9aa nodejs: fix additional compatibility with older gcc
- replace all occurrences of std::make_unique with wrapper
 - sync indent level

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-22 18:14:52 -08:00
Andrej Valek
1c8e4a679a nodejs 8.15.0 -> 10.15.1
Update nodejs to active 10.x LTS release 10.15.1.
- link atomic library
- make it compatible with gcc < 4.9

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-17 12:40:56 -08:00
Jonathan Liu
09d5d09762 nodejs: Remove unreferenced patches
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-10-27 16:39:33 +00:00
Khem Raj
3f37748ee8 nodejs: Upgrade to 8.4.0
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-08-31 10:18:33 +02:00
Trevor Woerner
c13175d913 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>
2016-01-04 14:56:23 +01:00
Martin Jansa
c6eef3a0c1 nodejs: fix no-registry option
* https://github.com/npm/npm/issues/3691
* https://github.com/npm/npm/issues/5509

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
2015-07-16 21:09:05 +02:00
Martin Jansa
c6c324c904 nodejs: fix qemuarm build without thumb and drop unused patch
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-05-11 10:25:53 +02:00
Martin Jansa
c8aa4b10b2 Revert "nodejs: upgrade to 0.10.4"
This reverts commit 903e7131ba5225b085cd612199e88697f2e9e493.
2013-06-20 12:33:07 +02:00
Martin Jansa
903e7131ba nodejs: upgrade to 0.10.4
* 0001-gcc-has-a-builtin-define-to-denote-hard-abi-when-in-.patch seems
  to be resolved by https://chromiumcodereview.appspot.com/10713009

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-06-20 12:30:07 +02:00
Martin Jansa
79b8431f61 nodejs: remove older 0.6.21
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-04-11 11:33:38 +02:00
Koen Kooi
ae72ce9aeb nodejs: add 0.8.18
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-04-11 11:33:38 +02:00
Otavio Salvador
2bf758cb02 nodejs: update to 0.6.18 and fix hardfloat detection
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-05-18 22:21:22 +02:00
Koen Kooi
05203855ac nodejs 0.4.12: rename to node4 to make it parallel installable with 0.6.x
This is done to support running cloud9 using node 0.4.x but all other node apps with 0.6.x

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-04-08 21:48:57 +02:00
Stefan Schmidt
86c42ab05a nodejs: Update to latest 0.4x series release 0.4.12
Rename patch and update checksums accordingly.

Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-11-16 13:35:47 +01:00
Koen Kooi
a49c995b40 nodejs: update to 0.4.9
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-11-14 18:27:42 +01:00
Koen Kooi
ffd6c31cb4 nodejs 0.4.2: import from OE rev e02237d7e46e60fbd9eb4a05a308e6adcf916ebb
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-08-17 09:21:10 +02:00