summary refs log tree commit diff
path: root/pkgs/development/web
diff options
context:
space:
mode:
authorSander van der Burg <svanderburg@gmail.com>2020-12-04 00:40:35 +0100
committerSander van der Burg <svanderburg@gmail.com>2020-12-04 00:41:21 +0100
commitbbfc913c6aadc9f792f94340216012ac7b1587b2 (patch)
tree108e7ff83803afe8c614e3480725d906b689e841 /pkgs/development/web
parent0272df320849c73066d6d6d72c0ba784ae23ffda (diff)
downloadnixpkgs-bbfc913c6aadc9f792f94340216012ac7b1587b2.tar
nixpkgs-bbfc913c6aadc9f792f94340216012ac7b1587b2.tar.gz
nixpkgs-bbfc913c6aadc9f792f94340216012ac7b1587b2.tar.bz2
nixpkgs-bbfc913c6aadc9f792f94340216012ac7b1587b2.tar.lz
nixpkgs-bbfc913c6aadc9f792f94340216012ac7b1587b2.tar.xz
nixpkgs-bbfc913c6aadc9f792f94340216012ac7b1587b2.tar.zst
nixpkgs-bbfc913c6aadc9f792f94340216012ac7b1587b2.zip
nodejs: apply patch that allows packages with native dependencies to compile again on darwin by bypassing xcodebuild
Diffstat (limited to 'pkgs/development/web')
-rw-r--r--pkgs/development/web/nodejs/bypass-xcodebuild.diff28
-rw-r--r--pkgs/development/web/nodejs/v10.nix3
-rw-r--r--pkgs/development/web/nodejs/v12.nix3
-rw-r--r--pkgs/development/web/nodejs/v14.nix3
4 files changed, 34 insertions, 3 deletions
diff --git a/pkgs/development/web/nodejs/bypass-xcodebuild.diff b/pkgs/development/web/nodejs/bypass-xcodebuild.diff
new file mode 100644
index 00000000000..5c900dd2143
--- /dev/null
+++ b/pkgs/development/web/nodejs/bypass-xcodebuild.diff
@@ -0,0 +1,28 @@
+diff -Naur node-v12.18.4/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py node-v12.18.4-new/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
+--- node-v12.18.4/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py	2020-09-15 09:08:46.000000000 +0200
++++ node-v12.18.4-new/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py	2020-12-03 16:55:43.781860687 +0100
+@@ -436,7 +436,14 @@
+     # Since the CLT has no SDK paths anyway, returning None is the
+     # most sensible route and should still do the right thing.
+     try:
+-      return GetStdoutQuiet(['xcodebuild', '-version', '-sdk', sdk, infoitem])
++      # Return fake data that xcodebuild would normally return
++
++      xcodedata = {
++        "Path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk",
++        "ProductBuildVersion": "19A547",
++        "ProductVersion": "10.15"
++      }
++      return xcodedata[infoitem]
+     except GypError:
+       pass
+ 
+@@ -1271,7 +1278,7 @@
+   version = ""
+   build = ""
+   try:
+-    version_list = GetStdoutQuiet(['xcodebuild', '-version']).splitlines()
++    version_list = []
+     # In some circumstances xcodebuild exits 0 but doesn't return
+     # the right results; for example, a user on 10.7 or 10.8 with
+     # a bogus path set via xcode-select
diff --git a/pkgs/development/web/nodejs/v10.nix b/pkgs/development/web/nodejs/v10.nix
index 74253e97334..a1df5ddd741 100644
--- a/pkgs/development/web/nodejs/v10.nix
+++ b/pkgs/development/web/nodejs/v10.nix
@@ -1,4 +1,4 @@
-{ callPackage, openssl, icu, python2, enableNpm ? true }:
+{ callPackage, openssl, icu, python2, stdenv, enableNpm ? true }:
 
 let
   buildNodejs = callPackage ./nodejs.nix {
@@ -10,4 +10,5 @@ in
     inherit enableNpm;
     version = "10.23.0";
     sha256 = "07vlqr0493a569i0npwgkxk5wa4vc7j68jsivchg08y2slwn0dgx";
+    patches = stdenv.lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/pkgs/development/web/nodejs/v12.nix b/pkgs/development/web/nodejs/v12.nix
index 8ce65181714..184585f12d4 100644
--- a/pkgs/development/web/nodejs/v12.nix
+++ b/pkgs/development/web/nodejs/v12.nix
@@ -1,4 +1,4 @@
-{ callPackage, openssl, icu, python2, enableNpm ? true }:
+{ callPackage, openssl, icu, python2, stdenv, enableNpm ? true }:
 
 let
   buildNodejs = callPackage ./nodejs.nix {
@@ -10,4 +10,5 @@ in
     inherit enableNpm;
     version = "12.20.0";
     sha256 = "12s2vjrlhgap2r12s7rqf0r2wzh9q2r5dkh3ak9fhrgmk9fgvqv1";
+    patches = stdenv.lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/pkgs/development/web/nodejs/v14.nix b/pkgs/development/web/nodejs/v14.nix
index 9c0c518b62e..c3e4d750780 100644
--- a/pkgs/development/web/nodejs/v14.nix
+++ b/pkgs/development/web/nodejs/v14.nix
@@ -1,4 +1,4 @@
-{ callPackage, openssl, python3, enableNpm ? true }:
+{ callPackage, openssl, python3, stdenv, enableNpm ? true }:
 
 let
   buildNodejs = callPackage ./nodejs.nix {
@@ -10,4 +10,5 @@ in
     inherit enableNpm;
     version = "14.15.1";
     sha256 = "1g61vqsgq3jsipw2fckj68i4a4pi1iz1kbw7mlw8jmzp8rl46q81";
+    patches = stdenv.lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }