nodejs: patch away absolute paths from GYP script

This commit is contained in:
Antoine du Hamel
2025-09-02 08:12:33 +02:00
parent 46b1f8a0ce
commit 21f34620be
2 changed files with 67 additions and 0 deletions
@@ -0,0 +1,63 @@
Sandboxed builds need a fallback value for the version of the Command Line Tools
being used.
diff --git a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py
index 508f6ccac3e..44bcd988c4c 100644
--- a/tools/gyp/pylib/gyp/xcode_emulation.py
+++ b/tools/gyp/pylib/gyp/xcode_emulation.py
@@ -1495,24 +1495,8 @@ def XcodeVersion():
global XCODE_VERSION_CACHE
if XCODE_VERSION_CACHE:
return XCODE_VERSION_CACHE
- version = ""
+ version = "11.0.0.0.1.1567737322"
build = ""
- try:
- version_list = GetStdoutQuiet(["xcodebuild", "-version"]).splitlines()
- # 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
- # In that case this may be a CLT-only install so fall back to
- # checking that version.
- if len(version_list) < 2:
- raise GypError("xcodebuild returned unexpected results")
- version = version_list[0].split()[-1] # Last word on first line
- build = version_list[-1].split()[-1] # Last word on last line
- except (GypError, OSError):
- # Xcode not installed so look for XCode Command Line Tools
- version = CLTVersion() # macOS Catalina returns 11.0.0.0.1.1567737322
- if not version:
- raise GypError("No Xcode or CLT version detected!")
# Be careful to convert "4.2.3" to "0423" and "11.0.0" to "1100":
version = version.split(".")[:3] # Just major, minor, micro
version[0] = version[0].zfill(2) # Add a leading zero if major is one digit
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
@@ -1495,24 +1495,8 @@ def XcodeVersion():
global XCODE_VERSION_CACHE
if XCODE_VERSION_CACHE:
return XCODE_VERSION_CACHE
- version = ""
+ version = "11.0.0.0.1.1567737322"
build = ""
- try:
- version_list = GetStdoutQuiet(["xcodebuild", "-version"]).splitlines()
- # 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
- # In that case this may be a CLT-only install so fall back to
- # checking that version.
- if len(version_list) < 2:
- raise GypError("xcodebuild returned unexpected results")
- version = version_list[0].split()[-1] # Last word on first line
- build = version_list[-1].split()[-1] # Last word on last line
- except (GypError, OSError):
- # Xcode not installed so look for XCode Command Line Tools
- version = CLTVersion() # macOS Catalina returns 11.0.0.0.1.1567737322
- if not version:
- raise GypError("No Xcode or CLT version detected!")
# Be careful to convert "4.2.3" to "0423" and "11.0.0" to "1100":
version = version.split(".")[:3] # Just major, minor, micro
version[0] = version[0].zfill(2) # Add a leading zero if major is one digit
@@ -47,3 +47,7 @@ lib.optionals patch_tools_catch_oserror ([
extraPrefix = "deps/npm/node_modules/node-gyp/gyp/";
})
])
# TODO: remove the Darwin conditionals from this file
++ lib.optionals stdenv.buildPlatform.isDarwin ([
./gyp-patches-set-fallback-value-for-CLT-darwin.patch
])