fix patches for both node versions

Changed files
+42 -25
pkgs
+24
pkgs/development/web/nodejs/default-arch.patch
···
+
diff -Naur a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py
+
--- a/tools/gyp/pylib/gyp/xcode_emulation.py 2014-01-23 06:05:51.000000000 +0100
+
+++ b/tools/gyp/pylib/gyp/xcode_emulation.py 2014-02-04 17:49:48.000000000 +0100
+
@@ -1018,12 +1033,16 @@
+
# Since the value returned by this function is only used when ARCHS is not
+
# set, then on iOS we return "i386", as the default xcode project generator
+
# does not set ARCHS if it is not set in the .gyp file.
+
- if self.isIOS:
+
+
+
+ try:
+
+ if self.isIOS:
+
+ return 'i386'
+
+ version, build = self._XcodeVersion()
+
+ if version >= '0500':
+
+ return 'x86_64'
+
return 'i386'
+
- version, build = self._XcodeVersion()
+
- if version >= '0500':
+
+ except:
+
return 'x86_64'
+
- return 'i386'
+
+
class MacPrefixHeader(object):
+
"""A class that helps with emulating Xcode's GCC_PREFIX_HEADER feature.
+4 -3
pkgs/development/web/nodejs/default.nix
···
dontDisableStatic = true;
prePatch = ''
patchShebangs .
+
sed -i 's/raise.*No Xcode or CLT version detected.*/version = "7.0.0"/' tools/gyp/pylib/gyp/xcode_emulation.py
'';
-
patches = stdenv.lib.optional stdenv.isDarwin ./no-xcode.patch;
+
patches = stdenv.lib.optionals stdenv.isDarwin [ ./no-xcode.patch ./pkg-libpath.patch ];
-
buildInputs = [ python which http-parser zlib libuv openssl python ]
-
++ (optional stdenv.isLinux utillinux)
+
buildInputs = [ python which zlib libuv openssl python ]
+
++ optionals stdenv.isLinux [ utillinux http-parser ]
++ optionals stdenv.isDarwin [ pkgconfig openssl libtool ];
setupHook = ./setup-hook.sh;
-21
pkgs/development/web/nodejs/no-xcode.patch
···
def AdjustLibraries(self, libraries, config_name=None):
"""Transforms entries like 'Cocoa.framework' in libraries into entries like
-
@@ -1018,12 +1033,16 @@
-
# Since the value returned by this function is only used when ARCHS is not
-
# set, then on iOS we return "i386", as the default xcode project generator
-
# does not set ARCHS if it is not set in the .gyp file.
-
- if self.isIOS:
-
+
-
+ try:
-
+ if self.isIOS:
-
+ return 'i386'
-
+ version, build = self._XcodeVersion()
-
+ if version >= '0500':
-
+ return 'x86_64'
-
return 'i386'
-
- version, build = self._XcodeVersion()
-
- if version >= '0500':
-
+ except:
-
return 'x86_64'
-
- return 'i386'
-
-
class MacPrefixHeader(object):
-
"""A class that helps with emulating Xcode's GCC_PREFIX_HEADER feature.
+13
pkgs/development/web/nodejs/pkg-libpath.patch
···
+
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(','))
+1 -1
pkgs/development/web/nodejs/v0_10.nix
···
patchShebangs .
'';
-
patches = stdenv.lib.optional stdenv.isDarwin ./no-xcode.patch;
+
patches = stdenv.lib.optionals stdenv.isDarwin [ ./default-arch.patch ./no-xcode.patch ];
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
(cd tools/gyp; patch -Np1 -i ${../../python-modules/gyp/no-darwin-cflags.patch})