<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-openembedded.git/meta-oe/recipes-devtools/nodejs, branch walnascar-next</title>
<subtitle>Mirror of git.openembedded.org/meta-openembedded</subtitle>
<id>https://git.enea.com/cgit/linux/meta-openembedded.git/atom?h=walnascar-next</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-openembedded.git/atom?h=walnascar-next'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/'/>
<updated>2025-03-18T18:30:45+00:00</updated>
<entry>
<title>nodejs: upgrade 22.13.0 -&gt; 22.14.0</title>
<updated>2025-03-18T18:30:45+00:00</updated>
<author>
<name>Jason Schonberg</name>
<email>schonm@gmail.com</email>
</author>
<published>2025-03-18T17:53:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=3989427ca7e348627f9a66e45d3652596b66fe94'/>
<id>urn:sha1:3989427ca7e348627f9a66e45d3652596b66fe94</id>
<content type='text'>
    License-Update: Change the location of the inspector_protocol
      https://github.com/nodejs/node/commit/a48430d4d34eb9f598522410dd7723f069c574d0

    Changelog: https://github.com/nodejs/node/releases/tag/v22.14.0

Signed-off-by: Jason Schonberg &lt;schonm@gmail.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>nodejs: upgrade 22.12.0 -&gt; 22.13.1</title>
<updated>2025-01-25T02:20:07+00:00</updated>
<author>
<name>Jason Schonberg</name>
<email>schonm@gmail.com</email>
</author>
<published>2025-01-23T00:28:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=1216d76bec441d2c87bef5f9a3985c44266d93a9'/>
<id>urn:sha1:1216d76bec441d2c87bef5f9a3985c44266d93a9</id>
<content type='text'>
Changelog for 22.13.0 : https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V22.md#22.13.0
Changelog for 22.13.1 : https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V22.md#22.13.1

The 22.13.1 release is a security fix addressing four CVEs.

    CVE-2025-23083 - src,loader,permission: throw on InternalWorker use when permission model is enabled (High)
    CVE-2025-23085 - src: fix HTTP2 mem leak on premature close and ERR_PROTO (Medium)
    CVE-2025-23084 - path: fix path traversal in normalize() on Windows (Medium)
    CVE-2025-22150 - Use of Insufficiently Random Values in undici fetch() (Medium)

I introduce a new patch with this recipe 0001-Do-not-use-glob-in-deps.patch to revert https://github.com/nodejs/node/commit/77e2869ca6

I restored 0001-deps-disable-io_uring-support-in-libuv.patch as suggested here : https://lore.kernel.org/all/20241207140642.181134-1-martin.jansa@gmail.com/

Signed-off-by: Jason Schonberg &lt;schonm@gmail.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>nodejs: upgrade 22.11.0 -&gt; 22.12.0</title>
<updated>2024-12-04T06:06:53+00:00</updated>
<author>
<name>Jason Schonberg</name>
<email>schonm@gmail.com</email>
</author>
<published>2024-12-04T04:54:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=d6fe4dc9aec5d2c7a471a572c352132c31149df0'/>
<id>urn:sha1:d6fe4dc9aec5d2c7a471a572c352132c31149df0</id>
<content type='text'>
License-Update: Add JSON parsing library under MIT license.
  https://github.com/nodejs/node/pull/56040/commits/27bcd103e775e00eb8d03ac37052bbd4ccb6d239

Drop backported patch fix-build-with-icu-76.patch.  It is already
integrated in this version https://github.com/nodejs/node/pull/56040/commits/c3ca978d9c73d1a96f4d5c7bfa3c10ce786b8fe9

Changelog: https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V22.md#22.12.0

Signed-off-by: Jason Schonberg &lt;schonm@gmail.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>nodejs: backport a patch to fix build with icu-76</title>
<updated>2024-11-24T02:36:29+00:00</updated>
<author>
<name>Martin Jansa</name>
<email>martin.jansa@gmail.com</email>
</author>
<published>2024-11-23T18:58:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=5dcb1a2473464394503fbd839f89189317227835'/>
<id>urn:sha1:5dcb1a2473464394503fbd839f89189317227835</id>
<content type='text'>
* icu was upgraded in oe-core in:
  https://git.openembedded.org/openembedded-core/commit/?id=ef2bd18dd1db7e5f01db76889933bfdbb5415aaf
  nodejs is now failing to link:

TOPDIR/BUILD/hosttools/ld: nodejs/22.11.0/node-v22.11.0/out/Release/obj.host/gen-regexp-special-case/deps/v8/src/regexp/gen-regexp-special-case.o: in function `v8::internal::PrintSet(std::basic_ofstream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;, char const*, icu_76::UnicodeSet const&amp;)':
gen-regexp-special-case.cc:(.text._ZN2v88internal8PrintSetERSt14basic_ofstreamIcSt11char_traitsIcEEPKcRKN6icu_7610UnicodeSetE+0x8b): undefined reference to `icu_76::UnicodeSet::getRangeStart(int) const'
TOPDIR/BUILD/hosttools/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal8PrintSetERSt14basic_ofstreamIcSt11char_traitsIcEEPKcRKN6icu_7610UnicodeSetE+0xb6): undefined reference to `icu_76::UnicodeSet::getRangeEnd(int) const'
TOPDIR/BUILD/hosttools/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal8PrintSetERSt14basic_ofstreamIcSt11char_traitsIcEEPKcRKN6icu_7610UnicodeSetE+0xdf): undefined reference to `icu_76::UnicodeSet::getRangeCount() const'
TOPDIR/BUILD/hosttools/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal8PrintSetERSt14basic_ofstreamIcSt11char_traitsIcEEPKcRKN6icu_7610UnicodeSetE+0xed): undefined reference to `icu_76::UnicodeSet::getRangeStart(int) const'
TOPDIR/BUILD/hosttools/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal8PrintSetERSt14basic_ofstreamIcSt11char_traitsIcEEPKcRKN6icu_7610UnicodeSetE+0xfa): undefined reference to `icu_76::UnicodeSet::getRangeEnd(int) const'
TOPDIR/BUILD/hosttools/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal8PrintSetERSt14basic_ofstreamIcSt11char_traitsIcEEPKcRKN6icu_7610UnicodeSetE+0x121): undefined reference to `icu_76::UnicodeSet::getRangeStart(int) const'
TOPDIR/BUILD/hosttools/ld: nodejs/22.11.0/node-v22.11.0/out/Release/obj.host/gen-regexp-special-case/deps/v8/src/regexp/gen-regexp-special-case.o: in function `v8::internal::PrintSpecial(std::basic_ofstream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;)':
gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x43): undefined reference to `icu_76::UnicodeSet::UnicodeSet()'
TOPDIR/BUILD/hosttools/ld: gen-regexp-special-case.cc:(.text._ZN2v88internal12PrintSpecialERSt14basic_ofstreamIcSt11char_traitsIcEE+0x59): undefined reference to `icu_76::UnicodeSet::UnicodeSet()'
...

Signed-off-by: Martin Jansa &lt;martin.jansa@gmail.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>nodejs: upgrade 20.18.0 -&gt; 22.11.0</title>
<updated>2024-11-01T22:53:46+00:00</updated>
<author>
<name>J. S.</name>
<email>schonm@gmail.com</email>
</author>
<published>2024-11-01T17:18:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=6652b031d7d4d9cabf16d481f3b82115f7d8e15a'/>
<id>urn:sha1:6652b031d7d4d9cabf16d481f3b82115f7d8e15a</id>
<content type='text'>
This moves us from the previous Long Term Support version codenamed 'Iron' to the newly
released Long Term Support version 22.11.0  Codename 'Jod'

Changelog: https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V22.md#22.11.0

License-Update:

    Add amaro dependency under MIT License.
    Add swc dependency under Aapche License Version 2.0.
    Add simdjson dependency under Apache License Version 2.0.
    Add on-exit-leak-free under MIT License.
    Remove ESLint.
    Remove base64 dependency.

Removed patchs:

    182d9c05e78.patch - This was a backport to 20.x it is now integrated in 22.x

Added patches:

  Two small patches here to use Bourne Shell instad of BASH.
    0001-custom-env.patch
    0001-positional-args.patch

  This patch from https://github.com/nodejs/node/commit/686da19abb that addressed CVE-2024-22017
    0001-deps-disable-io_uring-support-in-libuv.patch

  Other patches were refreshed.

Signed-off-by: Jason Schonberg &lt;schonm@gmail.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>nodejs: cleanup</title>
<updated>2024-10-16T21:07:28+00:00</updated>
<author>
<name>J. S.</name>
<email>schonm@gmail.com</email>
</author>
<published>2024-10-16T19:01:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=2698039ac432d861465b84fc650fcaa8526c8a3c'/>
<id>urn:sha1:2698039ac432d861465b84fc650fcaa8526c8a3c</id>
<content type='text'>
Drop two patches which haven't been referenced by the nodejs recipe since the
20.11.0 version checkin.
  0001-build-fix-build-with-Python-3.12.patch
  0001-gyp-resolve-python-3.12-issues.patch

Signed-off-by: Jason Schonberg &lt;schonm@gmail.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>nodejs: upgrade 20.17.0 -&gt; 20.18.0</title>
<updated>2024-10-04T00:18:25+00:00</updated>
<author>
<name>J. S.</name>
<email>schonm@gmail.com</email>
</author>
<published>2024-10-03T22:50:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=410a442f89ea394710d20d337b9da397b537cc25'/>
<id>urn:sha1:410a442f89ea394710d20d337b9da397b537cc25</id>
<content type='text'>
License checksum change due to whitespace changes.
https://github.com/nodejs/node/commit/1dfd238781

libatomic.patch change due to changes in node.gyp
https://github.com/nodejs/node/commit/25c788009f1fa7a392af51cb97d0a55f0f4a6983

Changelog :
https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.18.0

Signed-off-by: Jason Schonberg &lt;schonm@gmail.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>nodejs: Fix build with libc++ 19</title>
<updated>2024-09-06T04:56:45+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2024-09-06T03:58:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=8937be5718b5bc398d3f4ce0111635c700af636f'/>
<id>urn:sha1:8937be5718b5bc398d3f4ce0111635c700af636f</id>
<content type='text'>
As noted in the libc++ 19 release notes [1], std::char_traits&lt;&gt; is now
only provided for char, char8_t, char16_t, char32_t and wchar_t, and any
instantiation for other types will fail.

This causes nodejs-20 to fail to compile with clang 19 and libc++ 19,
resulting in errors similar to:

    /usr/include/c++/v1/string:820:42: error: implicit instantiation of undefined template 'std::char_traits&lt;unsigned short&gt;'
      820 |   static_assert(is_same&lt;_CharT, typename traits_type::char_type&gt;::value,
          |                                          ^
    ../deps/v8/src/inspector/string-16.h:114:28: note: in instantiation of template class 'std::basic_string&lt;unsigned short&gt;' requested here
      114 |   std::basic_string&lt;UChar&gt; m_impl;
          |                            ^
    /usr/include/c++/v1/__fwd/string.h:23:29: note: template is declared here
       23 | struct _LIBCPP_TEMPLATE_VIS char_traits;
          |                             ^

Upstream v8 has fixed this in commit 182d9c05e78 [2], so add it as a
backported patch, until the next version of node is released.

[1] https://libcxx.llvm.org/ReleaseNotes/19.html#deprecations-and-removals
[2] https://chromium.googlesource.com/v8/v8.git/+/182d9c05e78

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>nodejs: upgrade 20.16.0 -&gt; 20.17.0</title>
<updated>2024-09-01T22:54:29+00:00</updated>
<author>
<name>J. S.</name>
<email>schonm@gmail.com</email>
</author>
<published>2024-09-01T19:52:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=c8f4a786402063d160fa16284c16c8fca8165a5a'/>
<id>urn:sha1:c8f4a786402063d160fa16284c16c8fca8165a5a</id>
<content type='text'>
commit c1ddc60fd25456da07d8402c89157c4354fde5ac
Author: Jason Schonberg &lt;schonm@gmail.com&gt;
Date:   Wed Aug 21 17:40:03 2024 -0400

    License change - remove highlight.js
    https://github.com/nodejs/node/commit/1c5fe040a0a73b483cc3e3fef76efe2d1712205b

    Changelog :
    https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.17.0

nodejs: upgrade 20.16.0 -&gt; 20.17.0
Signed-off-by: Jason Schonberg &lt;schonm@gmail.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>nodejs: support cross compile without qemu user conditionally</title>
<updated>2024-08-22T15:02:27+00:00</updated>
<author>
<name>Hongxu Jia</name>
<email>hongxu.jia@windriver.com</email>
</author>
<published>2024-08-21T05:20:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=32da6bfb0e8870cdb87acc428e2dccc2a1962731'/>
<id>urn:sha1:32da6bfb0e8870cdb87acc428e2dccc2a1962731</id>
<content type='text'>
Due to the scope of supported BSPs by qemu-user is limited, such
as a segment fault on armv9 after qemu apply commit [target/arm:
Convert LDAPR/STLR (imm) to decodetree][1]
```
|tmp-glibc/work/neoversen2-crypto-wrs-linux/nodejs/20.5.1/node-v20.5.1/out/
Release/v8-qemu-wrapper.sh: line 7: 3179613 Segmentation fault      (core dumped)
PSEUDO_UNLOAD=1 qemu-aarch64 -r 5.15 -L tmp-glibc/work/neoversen2-crypto-wrs-linux/
nodejs/20.5.1/recipe-sysroot -E LD_LIBRARY_PATH=tmp-glibc/work/neoversen2-crypto-wrs-linux/
nodejs/20.5.1/recipe-sysroot/usr/lib64:tmp-glibc/work/neoversen2-crypto-wrs-linux/
nodejs/20.5.1/recipe-sysroot/usr/lib64 "$@"
```

Upstream nodejs have cross compile support, but it needs host and target
have same bit width (e.g. a x86_64 host targeting arrch64 to produce a
64-bit binary). So:
1. If host and target have different bit width, build with QEMU user as usual;

2. If host and target have same bit width, enable notejs cross compile support:
- The build tools of nodejs is GYP[2], set CC_host, CFLAGS_host,
  CXX_host, CXXFLAGS_host, LDFLAGS_host, AR_host for host build
  which is separated with target build [3]
- Satisfy layer compatibility, set GYP variables in prefuncs of do_configure,
  do_compile and do_install other than in recipe parsing
- Add missing native packages to fix library missing on host build
- Rework libatomic.patch, explicitly link to libatomic for clang
  conditionally

[1] https://github.com/qemu/qemu/commit/2521b6073b7b4b505533a941d4f9600f7585dc78
[2] https://github.com/nodejs/node-gyp
[3] https://github.com/nodejs/node-gyp/blob/main/gyp/docs/UserDocumentation.md#cross-compiling

Signed-off-by: Hongxu Jia &lt;hongxu.jia@windriver.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
</feed>
