nodejs: allow building for vfpv2

Changed files
+19
pkgs
+15
pkgs/development/web/nodejs/configure-armv6-vfpv2.patch
···
+
Allows ARM FPU to be set to vfpv2, e.g. for Raspberry Pi.
+
+
See https://github.com/nodejs/node/issues/44357#issuecomment-1235821878
+
+
--- a/configure.py
+
+++ b/configure.py
+
@@ -50,7 +50,7 @@
+
valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc',
+
'ppc64', 'x64', 'x86', 'x86_64', 's390x', 'riscv64', 'loong64')
+
valid_arm_float_abi = ('soft', 'softfp', 'hard')
+
-valid_arm_fpu = ('vfp', 'vfpv3', 'vfpv3-d16', 'neon')
+
+valid_arm_fpu = ('vfp', 'vfpv2', 'vfpv3', 'vfpv3-d16', 'neon')
+
valid_mips_arch = ('loongson', 'r1', 'r2', 'r6', 'rx')
+
valid_mips_fpu = ('fp32', 'fp64', 'fpxx')
+
valid_mips_float_abi = ('soft', 'hard')
+1
pkgs/development/web/nodejs/nodejs.nix
···
if platform.isAarch32 && platform ? gcc.fpu then
lib.throwIfNot (builtins.elem platform.gcc.fpu [
"vfp"
+
"vfpv2"
"vfpv3"
"vfpv3-d16"
"neon"
+1
pkgs/development/web/nodejs/v18.nix
···
sha256 = "sha256-p2x+oblq62ljoViAYmDICUtiRNZKaWUp0CBUe5qVyio=";
patches = [
./configure-emulator-node18.patch
+
./configure-armv6-vfpv2.patch
./disable-darwin-v8-system-instrumentation.patch
./bypass-darwin-xcrun-node16.patch
./revert-arm64-pointer-auth.patch
+1
pkgs/development/web/nodejs/v20.nix
···
sha256 = "sha256-/dU6VynZNmkaKhFRBG+0iXchy4sPyir5V4I6m0D+DDQ=";
patches = [
./configure-emulator.patch
+
./configure-armv6-vfpv2.patch
./disable-darwin-v8-system-instrumentation-node19.patch
./bypass-darwin-xcrun-node16.patch
./node-npm-build-npm-package-logic.patch
+1
pkgs/development/web/nodejs/v22.nix
···
sha256 = "sha256-ZfyFf1qoJWqvyQCzRMARXJrq4loCVB/Vzg29Tf0cX7k=";
patches = [
./configure-emulator.patch
+
./configure-armv6-vfpv2.patch
./disable-darwin-v8-system-instrumentation-node19.patch
./bypass-darwin-xcrun-node16.patch
./node-npm-build-npm-package-logic.patch