Commit Graph

83 Commits

Author SHA1 Message Date
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
Sophie Tauchert
45fa4a8863
nodejs: use system ca certificate store 2023-09-27 00:14:23 +02:00
Ivan Trubach
65ff987f80 nodejs: set strictDeps and patch bash shebangs 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
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
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
Cheng Shao
204136bd95 nodejs: add -licuuc to libv8 pkg-config file
-licuuc is required when linking against libv8 output of nodejs.
2023-05-30 09:37:53 +00:00
ajs124
f68ae132f8 nodejs_16: also mark EOL
because it will reach its EOL 2023-09-11, before the EOL of NixOS 23.05
2023-05-08 13:35:13 +02:00
ajs124
f75ad820a1 nodejs_14: is EOL on 2023-04-30 2023-05-04 16:30:11 +02:00
Sergei Trofimovich
5eea756074 nodejs: explicitly disable __contentAddressed
Without the change attempt to enable content addressing on nodejs
breaks the `nodejs` binary:

    $ nix build -f. nodejs --arg config '{ contentAddressedByDefault = true; }'
    $ LANG=C ./result/bin/node
    #
    # Fatal error in , line 0
    # Check failed: VerifyChecksum(blob).
    #
    #
    #
    #FailureMessage Object: 0x7ffce2820790
     1: 0xb2a2c5  [./result/bin/node]
     2: 0x1866d9a V8_Fatal(char const*, ...) [./result/bin/node]
     3: 0x12d7473 v8::internal::Snapshot::Initialize(v8::internal::Isolate*) [./result/bin/node]
     4: 0xce85e6 v8::Isolate::Initialize(v8::Isolate*, v8::Isolate::CreateParams const&) [./result/bin/node]
     5: 0x9e0614 node::NewIsolate(v8::Isolate::CreateParams*, uv_loop_s*, node::MultiIsolatePlatform*, bool) [./result/bin/node]
     6: 0xafdcb2 node::NodeMainInstance::NodeMainInstance(node::SnapshotData const*, uv_loop_s*, node::MultiIsolatePlatform*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) [./result/bin/node]
     7: 0xa670a3 node::LoadSnapshotDataAndRun(node::SnapshotData const**, node::InitializationResult const*) [./result/bin/node]
     8: 0xa6ac9c node::Start(int, char**) [./result/bin/node]
     9: 0x7f2b7002924e  [/nix/store/h9w6fix9k2lrbc05p4a6inw2r9sywlb1-glibc-2.35-224/lib/libc.so.6]
    10: 0x7f2b70029309 __libc_start_main [/nix/store/h9w6fix9k2lrbc05p4a6inw2r9sywlb1-glibc-2.35-224/lib/libc.so.6]
    11: 0x9da7f5 _start [./result/bin/node]
    Trace/breakpoint trap (core dumped)

Let's override the default by always disable content addressing.
2023-04-08 07:54:46 +01:00
Shawn8901
a59dda942c treewide: remove global with lib; statements in pkgs/development 2023-01-26 18:31:02 +01:00
Guillaume Girol
33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00
Mario Rodas
81165aa69e nodejs-19_x: init at 19.0.0
https://github.com/nodejs/node/releases/tag/v19.0.0
2022-10-20 04:20:00 +00:00
Lily Foster
2998b31b02 nodejs: add back newer bypass-xcrun patch 2022-10-01 08:54:20 +09:00
Mario Rodas
c0bb20e08e nodejs-18_x: fix completion generation
Since Node.js 18.0.0 the completion generation requires the environment
variable HOME to be set.
2022-05-04 04:20:00 +00:00
ajs124
1333a3807e
Merge pull request #167110 from mweinelt/nodejs-12-eol
nodejs: mark versions older than 14 as vulnerable
2022-05-04 10:18:35 +01:00
Mario Rodas
943c2eb1b2 nodejs-18_x: init at 18.0.0
https://github.com/nodejs/node/releases/tag/v18.0.0
2022-04-23 04:20:00 +00:00
Martin Weinelt
18dbdee6e1
nodejs: mark versions older than 14 as vulnerable
NodeJS 12 will reach EOL on 2022/04/30.
2022-04-04 03:49:28 +02:00
Nick Cao
13d37eab6c
nodejs: fix cross compilation 2022-03-22 09:15:49 +08:00
Felix Buehler
598b973406 nodejs: rename name to pname&version 2022-01-23 13:53:27 +01:00
Martin Weinelt
9d6fd49ad6
Merge pull request #148992 from mweinelt/nodejs-10 2021-12-29 14:57:31 +01:00
Martin Weinelt
f0b4870640
nodejs: mark versions older than 12 as vulnerable
NodeJS 10 has reached EOL since 2021/04.
2021-12-06 13:39:36 +01:00
talyz
679398b160
nodejs: Provide a static v8 library output
Since building nodejs also builds v8, one way to get a static v8
library is to manually assemble it from the leftover object
files. This seems like an easier way to get an up-to-date v8 library
than trying to keep the v8 package updated.
2021-11-30 23:05:48 +01:00
Doron Behar
7cb82625b0
Merge pull request #141604 from doronbehar/pkg/nodePackages/pkgsAttr 2021-11-04 14:15:00 +00:00
Mario Rodas
36fa146b65 nodejs: use github release url in meta
The release file is huge, hence making it difficult to read in the
browser.
2021-10-20 04:20:00 +00:00
Doron Behar
869909603b nodejs: Add a .pkgs attribute 2021-10-14 09:03:13 +03:00
Ryan Burns
4a20098f21 nodejs: add changelog
so that r-ryantm provides this link for convenience
2021-10-12 22:16:18 -07:00
Samuel Gräfenstein
c98e84c00d
nodejs*: add meta.mainProgram 2021-05-03 09:42:48 +02:00
Sandro Jäckel
c8cf293488
nodejs: fix typo 2021-03-05 18:14:37 +01:00
Ivan Babrou
52756df546 nodejs: remove util-linux from build inputs
These were introduced with nodejs itself back in 2016: 822abc49ad.
Removing `util-linux` from build inputs doesn't break the builds,
so there's no reason to keep them.
2021-02-13 11:21:52 -08:00
Ben Siraphob
3bbad8b041 treewide: remove inherited stdenv.lib 2021-01-27 12:44:43 +07:00
John Ericson
12881a7aa7
Merge pull request #110544 from Ericson2314/no-platform
top-level, lib: Remove platform attribute of platforms
2021-01-23 16:32:36 -05:00
Ben Siraphob
2f78ee7e81 pkgs/development: stdenv.lib -> lib 2021-01-24 00:16:29 +07:00
John Ericson
9c213398b3 lib: Clean up how linux and gcc config is specified
Second attempt of 8929989614589ee3acd070a6409b2b9700c92d65; see that
commit for details.

This reverts commit 0bc275e634.
2021-01-23 10:01:28 -05:00
Jonathan Ringer
0bc275e634
Revert "lib: Clean up how linux and gcc config is specified"
This is a stdenv-rebuild, and should not be merged
into master

This reverts commit 8929989614.
2021-01-22 14:07:06 -08:00
John Ericson
8929989614 lib: Clean up how linux and gcc config is specified
The `platform` field is pointless nesting: it's just stuff that happens
to be defined together, and that should be an implementation detail.

This instead makes `linux-kernel` and `gcc` top level fields in platform
configs. They join `rustc` there [all are optional], which was put there
and not in `platform` in anticipation of a change like this.

`linux-kernel.arch` in particular also becomes `linuxArch`, to match the
other `*Arch`es.

The next step after is this to combine the *specific* machines from
`lib.systems.platforms` with `lib.systems.examples`, keeping just the
"multiplatform" ones for defaulting.
2021-01-21 22:44:09 -05:00
Jonathan Ringer
9bb3fccb5b treewide: pkgs.pkgconfig -> pkgs.pkg-config, move pkgconfig to alias.nix
continuation of #109595

pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.

python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
2021-01-19 01:16:25 -08:00
Graham Christensen
bc49a0815a
utillinux: rename to util-linux 2020-11-24 12:42:06 -05:00
Mario Rodas
761dbe5ba8
nodejs: add marsam to maintainers 2020-06-30 18:17:35 -05:00
Mario Rodas
66e43c6588
Merge pull request #84599 from doronbehar/nodejs-python3
nodejs: use python3 if possible
2020-04-13 07:44:05 -05:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Doron Behar
75fa5ad17c nodejs: pin python versions and use python3 when possible 2020-04-07 15:33:49 +03:00
Chuck
9333e47b28 nodejs: isArm -> isAarch32
This is the last package reference to isArm.  isArm is deprecated after 18.03.
This substitution was performed tree-wide in #37401.
2020-02-05 10:56:06 -08:00
Michael Eden
5b96d9cf21 nodejs: cross compile runtime for ARM 2019-11-03 14:45:13 +01:00