diff options
Diffstat (limited to 'pkgs/development/web/nodejs/nodejs.nix')
-rw-r--r-- | pkgs/development/web/nodejs/nodejs.nix | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index 1e05850884c..317de55ada5 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, openssl, python, zlib, libuv, util-linux, http-parser -, pkg-config, which +, pkg-config, which, buildPackages # for `.pkgs` attribute , callPackage # Updater dependencies @@ -50,6 +50,10 @@ let inherit sha256; }; + CC_host = "cc"; + CXX_host = "c++"; + depsBuildBuild = [ buildPackages.stdenv.cc openssl libuv zlib ]; + buildInputs = optionals stdenv.isDarwin [ CoreServices ApplicationServices ] ++ [ zlib libuv openssl http-parser icu ]; @@ -69,12 +73,23 @@ let "--cross-compiling" "--without-intl" "--without-snapshot" + "--dest-cpu=${let platform = stdenv.hostPlatform; in + if platform.isAarch32 then "arm" + else if platform.isAarch64 then "arm64" + else if platform.isMips32 && platform.isLittleEndian then "mipsel" + else if platform.isMips32 && !platform.isLittleEndian then "mips" + else if platform.isMips64 && platform.isLittleEndian then "mips64el" + else if platform.isPower && platform.is32bit then "ppc" + else if platform.isPower && platform.is64bit then "ppc64" + else if platform.isx86_64 then "x86_64" + else if platform.isx86_32 then "x86" + else if platform.isS390 && platform.is64bit then "s390x" + else if platform.isRiscV && platform.is64bit then "riscv64" + else throw "unsupported cpu ${stdenv.hostPlatform.uname.processor}"}" ]) ++ (optionals (isCross && isAarch32 && hasAttr "fpu" gcc) [ "--with-arm-fpu=${gcc.fpu}" ]) ++ (optionals (isCross && isAarch32 && hasAttr "float-abi" gcc) [ "--with-arm-float-abi=${gcc.float-abi}" - ]) ++ (optionals (isCross && isAarch32) [ - "--dest-cpu=arm" ]) ++ extraConfigFlags; configurePlatforms = []; |