nixpkgs/pkgs/development/web/nodejs
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
..
bypass-darwin-xcrun-node16.patch
bypass-xcodebuild.diff
disable-darwin-v8-system-instrumentation-node19.patch
disable-darwin-v8-system-instrumentation.patch
fix-npm-patch-paths.sh
node-npm-build-npm-package-logic-node16.patch
node-npm-build-npm-package-logic.patch
nodejs-release-keys.asc
nodejs.nix nodejs: use a response file with llvm-ar 2023-07-15 10:58:26 -06:00
npm-patches.nix
revert-arm64-pointer-auth.patch
setup-hook.sh
update-keyring
update.nix
v14.nix
v16.nix pkgs/top-level/release: allow nodejs 16.20.1 to be cached on Hydra temporarily 2023-06-23 18:06:16 +02:00
v18.nix nodejs_18: 18.16.0 -> 18.16.1 2023-06-21 04:20:00 +00:00
v20.nix nodejs_20: 20.3.1 -> 20.4.0 2023-07-06 04:20:00 +00:00