about summary refs log tree commit diff
path: root/pkgs/development/web/nodejs/nodejs.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/web/nodejs/nodejs.nix')
-rw-r--r--pkgs/development/web/nodejs/nodejs.nix10
1 files changed, 7 insertions, 3 deletions
diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix
index e5c52f620ac5..8ff02dfe7180 100644
--- a/pkgs/development/web/nodejs/nodejs.nix
+++ b/pkgs/development/web/nodejs/nodejs.nix
@@ -12,12 +12,16 @@ with stdenv.lib;
 { enableNpm ? true, version, sha256, patches ? [] } @args:
 
 let
-
   inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
 
+  majorVersion = versions.major version;
+  minorVersion = versions.minor version;
+
   baseName = if enableNpm then "nodejs" else "nodejs-slim";
 
-  sharedLibDeps = { inherit openssl zlib libuv; } // (optionalAttrs (!stdenv.isDarwin) { inherit http-parser; });
+  useSharedHttpParser = !stdenv.isDarwin && versionOlder "${majorVersion}.${minorVersion}" "11.4";
+
+  sharedLibDeps = { inherit openssl zlib libuv; } // (optionalAttrs useSharedHttpParser { inherit http-parser; });
 
   sharedConfigureFlags = concatMap (name: [
     "--shared-${name}"
@@ -102,7 +106,7 @@ in
     passthru.updateScript = import ./update.nix {
       inherit stdenv writeScript coreutils gnugrep jq curl common-updater-scripts gnupg nix;
       inherit (stdenv) lib;
-      majorVersion = with stdenv.lib; elemAt (splitString "." version) 0;
+      inherit majorVersion;
     };
 
     meta = {