Commit Graph

49 Commits

Author SHA1 Message Date
Polampalli, Archana d9bd685f6e nodejs: upgrade 18.14.2 -> 18.16.1
Refresh 0001-Disable-running-gyp-files-for-bundled-deps.patch against 18.16.1

License-Update: Add missing licenses for Ada [1] BSD, Simduf [2] BSD, posteject
[3] MIT

[1] https://github.com/nodejs/node/commit/0bc4c17e5705ea042cda392343d7301bb91873ed
[2] https://github.com/nodejs/node/commit/c9845fc3341fcdce298ad7f1630e329d71a6e746
[3] https://github.com/nodejs/node/commit/4aaec0726694ad0d3cb05d7f2593a90363c32f32

The list of the CVEs are fixed in this relase:

    CVE-2023-30581
    CVE-2023-30585
    CVE-2023-30588
    CVE-2023-30589
    CVE-2023-30590

https://github.com/nodejs/node/releases/tag/v18.16.1
https://github.com/nodejs/node/releases/tag/v18.16.0
https://github.com/nodejs/node/releases/tag/v18.15.0

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2023-07-25 07:13:21 -04:00
Archana Polampalli 2144e93beb Nodejs: add missing run_ptest script
ptest-runner is not available for Nodejs on target hence added run-ptest script

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-25 08:54:59 -07:00
Khem Raj a4491a3e3e nodejs: Upgrade to 18.14.2
License-Update: Add base64 license information [1] and postject [2]

[1] https://github.com/nodejs/node/commit/2ec8092e2cf70267e765dfe4baf13d72838a58ed
[2] https://github.com/nodejs/node/commit/4aaec0726694ad0d3cb05d7f2593a90363c32f32

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-04 13:41:13 -08:00
Martin Jansa c64ebfa6d8 nodejs: add Upstream-Status
* unfortunately all 3 have very long unclear history, I've tried to at least partially
  document in commit message

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-18 13:19:36 -08:00
Khem Raj df4f8a675f nodejs: Fix build with gcc13
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-01 09:11:46 -08:00
Archana Polampalli 75a836190a Nodejs: Upgrade to 18.12.1
Node-18 is the current LTS release, node-19 is a development release and
node-20 is scheduled to be released until 2023-04-18 which is too late for YP-4.2
https://github.com/nodejs/release

* Refresh below two patches
   - 0001-Using-native-binaries.patch
   - 0001-liftoff-Correct-function-signatures.patch

* Copy openssl.cnf from sysroot_native to nodejs-openssl.cnf
  otherwise do_compile failed:
     make[1]: *** No rule to make target '../deps/openssl/nodejs-openssl.cnf',
     needed by 'Release/obj.target/deps/openssl/openssl.cnf'.  Stop.

* Add initial ptest support using ctest only, it covered 20% of the nodejs tests.
  There are some more tests exist to add but will require additional work.

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-25 08:57:42 -08:00
Archana Polampalli c4829fa338 Nodejs - Upgrade to 16.18.1
* Drop Openssl legacy provider patch and install both binaries patch
  which are already available in 16.x
* Refresh native binaries patch against 16.x base

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-11-18 11:10:25 -08:00
Khem Raj 5a52bffde1 nodejs: Upgrade to 16.14.2
Fix build with mips32, found with gcc12

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-04-20 10:58:01 -07:00
Andrej Valek 93ec055d83 nodejs: add option to use openssl legacy providers again
Current nodejs version v16 does not fully support new OpenSSL, so add option
to use legacy provider.

|   opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
|   library: 'digital envelope routines',
|   reason: 'unsupported',
|   code: 'ERR_OSSL_EVP_UNSUPPORTED'

It was blindly removed by upgrade to 16.14.0 version

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-09 07:37:42 -08:00
Zoltán Böszörményi f8a274732f nodejs: Upgrade to 16.14.0
Remove two upstreamed patches.

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-03 08:50:19 -08:00
Andrej Valek 6c258bd830 nodejs: add option to use openssl legacy providers
Current nodejs version does not fully support new OpenSSL, so add option
to use legacy provider.

|   opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
|   library: 'digital envelope routines',
|   reason: 'unsupported',
|   code: 'ERR_OSSL_EVP_UNSUPPORTED'

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-20 17:14:10 -08:00
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] https://github.com/nodejs/node/commit/2d7e0b6912bd04b44ed652bc0f40bb343652d926#diff-c693279643b8cd5d248172d9c22cb7cf4ed163a3c98c8a3f69c2717edd3eacb7
[2] https://github.com/nodejs/node/commit/b57785d89bc548c4048118606919d66dff1c7eb7#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 903e7131ba.
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