summary refs log tree commit diff
path: root/pkgs/development/web/nodejs/no-xcode-4.1.0.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/web/nodejs/no-xcode-4.1.0.patch')
-rw-r--r--pkgs/development/web/nodejs/no-xcode-4.1.0.patch95
1 files changed, 95 insertions, 0 deletions
diff --git a/pkgs/development/web/nodejs/no-xcode-4.1.0.patch b/pkgs/development/web/nodejs/no-xcode-4.1.0.patch
new file mode 100644
index 00000000000..137158b01b7
--- /dev/null
+++ b/pkgs/development/web/nodejs/no-xcode-4.1.0.patch
@@ -0,0 +1,95 @@
+diff --git a/configure b/configure
+index d199975..66d903b 100755
+--- a/configure
++++ b/configure
+@@ -734,7 +734,7 @@ def configure_library(lib, output):
+     # libpath needs to be provided ahead libraries
+     if pkg_libpath:
+       output['libraries'] += (
+-          filter(None, map(str.strip, pkg_cflags.split('-L'))))
++          pkg_libpath.split())
+ 
+     default_libs = getattr(options, shared_lib + '_libname')
+     default_libs = map('-l{0}'.format, default_libs.split(','))
+diff --git a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py
+index c002b11..fefb765 100644
+--- a/tools/gyp/pylib/gyp/xcode_emulation.py
++++ b/tools/gyp/pylib/gyp/xcode_emulation.py
+@@ -446,10 +446,17 @@ class XcodeSettings(object):
+ 
+   def _XcodeSdkPath(self, sdk_root):
+     if sdk_root not in XcodeSettings._sdk_path_cache:
+-      sdk_path = self._GetSdkVersionInfoItem(sdk_root, 'Path')
+-      XcodeSettings._sdk_path_cache[sdk_root] = sdk_path
+-      if sdk_root:
+-        XcodeSettings._sdk_root_cache[sdk_path] = sdk_root
++      try:
++        sdk_path = self._GetSdkVersionInfoItem(sdk_root, 'Path')
++        XcodeSettings._sdk_path_cache[sdk_root] = sdk_path
++        if sdk_root:
++          XcodeSettings._sdk_root_cache[sdk_path] = sdk_root
++      except:
++        # if this fails it's because xcodebuild failed, which means
++        # the user is probably on a CLT-only system, where there
++        # is no valid SDK root
++        XcodeSettings._sdk_path_cache[sdk_root] = None
++        
+     return XcodeSettings._sdk_path_cache[sdk_root]
+ 
+   def _AppendPlatformVersionMinFlags(self, lst):
+@@ -572,10 +579,12 @@ class XcodeSettings(object):
+       framework_root = sdk_root
+     else:
+       framework_root = ''
+-    config = self.spec['configurations'][self.configname]
+-    framework_dirs = config.get('mac_framework_dirs', [])
+-    for directory in framework_dirs:
+-      cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root))
++    
++    if 'SDKROOT' in self._Settings():
++      config = self.spec['configurations'][self.configname]
++      framework_dirs = config.get('mac_framework_dirs', [])
++      for directory in framework_dirs:
++        cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root))
+ 
+     self.configname = None
+     return cflags
+@@ -826,10 +835,12 @@ class XcodeSettings(object):
+     sdk_root = self._SdkPath()
+     if not sdk_root:
+       sdk_root = ''
+-    config = self.spec['configurations'][self.configname]
+-    framework_dirs = config.get('mac_framework_dirs', [])
+-    for directory in framework_dirs:
+-      ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root))
++    
++    if 'SDKROOT' in self._Settings():
++      config = self.spec['configurations'][self.configname]
++      framework_dirs = config.get('mac_framework_dirs', [])
++      for directory in framework_dirs:
++        ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root))
+ 
+     is_extension = self._IsIosAppExtension() or self._IsIosWatchKitExtension()
+     if sdk_root and is_extension:
+@@ -1032,7 +1043,11 @@ class XcodeSettings(object):
+     sdk_root = self._SdkPath(config_name)
+     if not sdk_root:
+       sdk_root = ''
+-    return l.replace('$(SDKROOT)', sdk_root)
++    
++    if self._SdkPath():
++      return l.replace('$(SDKROOT)', sdk_root)
++    else:
++      return l
+ 
+   def AdjustLibraries(self, libraries, config_name=None):
+     """Transforms entries like 'Cocoa.framework' in libraries into entries like
+@@ -1248,7 +1263,7 @@ def XcodeVersion():
+     if version:
+       version = re.match(r'(\d\.\d\.?\d*)', version).groups()[0]
+     else:
+-      raise GypError("No Xcode or CLT version detected!")
++      version = "7.0.0"
+     # The CLT has no build information, so we return an empty string.
+     version_list = [version, '']
+   version = version_list[0]