Commit Graph

729 Commits

Author SHA1 Message Date
Randy Eckenrode
b034e4cbf1
nodejs_18: fix build with clang 16 mk2
Trying to backport the fixes from v8 caused crashes with npm when
building other packages, so just build it with clang 15.
2023-10-29 09:58:01 -04:00
Randy Eckenrode
81d2db9460
Revert "nodejs_18: fix build with clang 16"
This reverts commit 81e4ca55c8.
2023-10-29 09:58:00 -04:00
Randy Eckenrode
81e4ca55c8
nodejs_18: fix build with clang 16
Backport a patch from v8 that resolves an enum width error when building
with clang 16.
2023-10-26 20:08:29 -04:00
Vladimír Čunát
d811555465
Merge branch 'staging' into staging-next 2023-10-26 10:36:50 +02:00
Mario Rodas
fdf2af1cdf nodejs_21: 21.0.0 -> 21.1.0
Diff: https://github.com/nodejs/node/compare/v21.0.0...v21.1.0

Changelog: https://github.com/nodejs/node/releases/tag/v21.1.0
2023-10-25 04:20:00 +00:00
Mario Rodas
11011277cb nodejs_20: 20.8.1 -> 20.9.0
Diff: https://github.com/nodejs/node/compare/v20.8.1...v20.9.0

Changelog: https://github.com/nodejs/node/releases/tag/v20.9.0
2023-10-25 04:20:00 +00:00
github-actions[bot]
b0ec8bbe1d
Merge staging-next into staging 2023-10-20 12:01:55 +00:00
github-actions[bot]
d7e9da1742
Merge master into staging-next 2023-10-20 12:01:24 +00:00
Randy Eckenrode
3cb5c1189f
nodejs_16: work around building with clang 16
Node v16 can’t build with clang 16 due to `-Wenum-constexpr-conversion`
errors. Since the backport patch from v8 does not apply to Node v14, and
it is likely this will become a hard error in future versions of clang,
use clang 15 when the version in the stdenv is newer.

The version of libc++ used with the clang is made to match the one used
in the stdenv to avoid possible issues with mixing multiple versions of
libc++ in one binary (e.g., icu links against libc++).
2023-10-19 15:22:52 -04:00
Randy Eckenrode
3ad67b4e12
nodejs_14: work around building with clang 16
Node v14 can’t build with clang 16 due to `-Wenum-constexpr-conversion`
errors. Since the backport patch from v8 does not apply to Node v14, and
it is likely this will become a hard error in future versions of clang,
use clang 15 when the version in the stdenv is newer.

The version of libc++ used with the clang is made to match the one used
in the stdenv to avoid possible issues with mixing multiple versions of
libc++ in one binary (e.g., icu links against libc++).
2023-10-19 15:22:52 -04:00
Randy Eckenrode
cf1128c17a
nodejs: clang 16 compatibility for x86_64-darwin
Make aligned allocations work on x86_64-darwin by ensuring libc++ uses
`posix_memalign` instead of `aligned_alloc`, which was added in 10.15.
2023-10-19 15:22:51 -04:00
Mario Rodas
d479580285 nodejs_21: init at 21.0.0
Changelog: https://github.com/nodejs/node/releases/tag/v21.0.0
2023-10-16 16:20:00 -05:00
github-actions[bot]
fbd39f6b6b
Merge staging-next into staging 2023-10-14 06:01:29 +00:00
Mario Rodas
547ea2e2e1 nodejs_20: 20.8.0 -> 20.8.1
Changelog: https://github.com/nodejs/node/releases/tag/v20.8.1
2023-10-13 04:20:00 +00:00
Mario Rodas
bf85265bb3 nodejs_18: 18.18.1 -> 18.18.2
Changelog: https://github.com/nodejs/node/releases/tag/v18.18.2
2023-10-13 04:20:00 +00:00
github-actions[bot]
7909827752
Merge staging-next into staging 2023-10-12 00:02:50 +00:00
Mario Rodas
c8e2c3fb58 nodejs_18: 18.18.0 -> 18.18.1
Changelog: https://github.com/nodejs/node/releases/tag/v18.18.1
2023-10-11 04:20:00 +00:00
github-actions[bot]
54de96536d
Merge staging-next into staging 2023-09-29 18:01:23 +00:00
Mario Rodas
d0829e587e nodejs_20: 20.7.0 -> 20.8.0
Changelog: https://github.com/nodejs/node/releases/tag/v20.8.0
2023-09-29 04:20:00 +00:00
Sophie Tauchert
45fa4a8863
nodejs: use system ca certificate store 2023-09-27 00:14:23 +02:00
Fabián Heredia Montiel
b2f85dbf28 Merge remote-tracking branch 'origin/master' into staging-next 2023-09-20 15:08:16 -06:00
Wout Mertens
00de2104fc corepack: PR review updates
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Sandro Jaeckel <sandro.jaeckel@gmail.com>
2023-09-20 17:27:05 +02:00
Wout Mertens
724f6bcb77 nodejs: corepack wrappers package 2023-09-20 10:10:51 +02:00
Mario Rodas
15caf7f787 nodejs: 20.6.1 -> 20.7.0
Changelog: https://github.com/nodejs/node/releases/tag/v20.7.0
2023-09-19 04:20:00 +00:00
Mario Rodas
2f2a55e675 nodejs_18: 18.17.1 -> 18.18.0
Changelog: https://github.com/nodejs/node/releases/tag/v18.18.0
2023-09-19 04:20:00 +00:00
Mario Rodas
2644f6a7f3 nodejs_20: 20.6.0 -> 20.6.1
Changelog: https://github.com/nodejs/node/releases/tag/v20.6.1
2023-09-08 04:20:00 +00:00
Mario Rodas
695d8aa69b nodejs_20: 20.5.1 -> 20.6.0
Changelog: https://github.com/nodejs/node/releases/tag/v20.6.0
2023-09-07 04:20:00 +00:00
Ivan Trubach
2c88411556 nodejs_20: remove upstreamed patch 2023-08-28 12:20:57 +03:00
Ivan Trubach
65ff987f80 nodejs: set strictDeps and patch bash shebangs 2023-08-28 12:16:30 +03:00
Ivan Trubach
e29c330939 nodejs: use fetchpatch for cross-compilation patches 2023-08-28 12:16:30 +03:00
Ivan Trubach
e4d6d1b05b nodejs: cross-compile with icu 2023-08-28 12:16:30 +03:00
Ivan Trubach
d9dc4b0a07 nodejs: patch shebangs for shell scripts when cross-compiling 2023-08-28 12:16:30 +03:00
Ivan Trubach
c66389c6e1 nodejs: remove no-op postPatch phase
tr1/type_traits replacement is only relevent for Node.js v6 that’s
reached EOL in 2019.
2023-08-28 12:16:30 +03:00
Ivan Trubach
608c96eefc nodejs: run a subset of test suite 2023-08-28 12:16:30 +03:00
Ivan Trubach
51d74ca18f nodejs: mark as broken when cross-compiling for different OS 2023-08-28 12:16:30 +03:00
Ivan Trubach
f6b56c9136 nodejs: install shell completions and man pages when cross-compiling 2023-08-28 12:16:30 +03:00
Ivan Trubach
80e825ede8 nodejs: do not run patchShebangs with build inputs 2023-08-28 12:16:30 +03:00
Ivan Trubach
3751f6abb0 nodejs_{18,20}: fix cross compilation from aarch64-linux
This change adds a fix for Node.js build system passing flags intended
for the target toolchain to the host toolchain.
2023-08-28 12:16:30 +03:00
Ivan Trubach
deb5cc6dc8 nodejs: do not pass --without-snapshot
Building --without-snapshot is no longer possible since v14. See
0822bfaa9f
2023-08-28 12:16:30 +03:00
Ivan Trubach
b0312f6daf nodejs_18: backport v8 trap handler conditional compilation 2023-08-28 12:16:29 +03:00
Mario Rodas
510f1b9733 nodejs_20: 20.5.0 -> 20.5.1
Changelog: https://github.com/nodejs/node/releases/tag/v20.5.1
2023-08-09 04:20:00 +00:00
Mario Rodas
25441183e2 nodejs_18: 18.17.0 -> 18.17.1
Changelog: https://github.com/nodejs/node/releases/tag/v18.17.1
2023-08-09 04:20:00 +00:00
Mario Rodas
b72c3a8fa9 nodejs_16: 16.20.1 -> 16.20.2
Changelog: https://github.com/nodejs/node/releases/tag/v16.20.2
2023-08-09 04:20:00 +00:00
github-actions[bot]
941ae3102b
Merge staging-next into staging 2023-07-22 12:02:07 +00:00
Mario Rodas
9267d4fae5 nodejs_20: 20.4.0 -> 20.5.0
Changelog: https://github.com/nodejs/node/releases/tag/v20.5.0
2023-07-20 04:20:00 +00:00
R. Ryantm
aa0b11935a nodejs: 18.16.1 -> 18.17.0 2023-07-19 21:01:22 +00:00
Randy Eckenrode
87478fdfdf
nodejs: use a response file with llvm-ar
nodejs produces a static archive in its `postInstall`. It detects if the
`ar` is GNU ar and uses a response file. Otherwise, it adds the files
individually. This is apparently very slow with `llvm-ar`, which Darwin
now uses by default. Fortunately, `llvm-ar` also supports response
files, so detect whether the `ar` is `llvm-ar` and use a response file.

I tested the build on aarch64-darwin. `postInstall` took less than a
minute to generate a 59 MiB static archive. Comparing to the build on
master, the only difference between the two archives is `llvm-ar` zeroes
out the dates, uids, and gids by default. Compared disassembly of the
archives appeared identical.

This fixes the timeouts on staging-next. #241951

https://hydra.nixos.org/build/227170390
2023-07-15 10:58:26 -06:00
Mario Rodas
fc4810bfca nodejs_20: 20.3.1 -> 20.4.0
Changelog: https://github.com/nodejs/node/releases/tag/v20.4.0
2023-07-06 04:20:00 +00:00
Pol Dellaiera
4968ffb38a pkgs/top-level/release: allow nodejs 16.20.1 to be cached on Hydra temporarily 2023-06-23 18:06:16 +02:00
Mario Rodas
12bbce3e6c nodejs_20: 20.3.0 -> 20.3.1
The following CVEs are fixed in this release:
- CVE-2023-30581: mainModule.__proto__ Bypass Experimental Policy Mechanism (High)
- CVE-2023-30584: Path Traversal Bypass in Experimental Permission Model (High)
- CVE-2023-30587: Bypass of Experimental Permission Model via Node.js Inspector (High)
- CVE-2023-30582: Inadequate Permission Model Allows Unauthorized File Watching (Medium)
- CVE-2023-30583: Bypass of Experimental Permission Model via fs.openAsBlob() (Medium)
- CVE-2023-30585: Privilege escalation via Malicious Registry Key manipulation during Node.js installer repair process (Medium)
- CVE-2023-30586: Bypass of Experimental Permission Model via Arbitrary OpenSSL Engines (Medium)
- CVE-2023-30588: Process interuption due to invalid Public Key information in x509 certificates (Medium)
- CVE-2023-30589: HTTP Request Smuggling via Empty headers separated by CR (Medium)
- CVE-2023-30590: DiffieHellman does not generate keys after setting a private key (Medium)

https://github.com/nodejs/node/releases/tag/v20.3.1
2023-06-21 04:20:00 +00:00