diff options
author | Sander van der Burg <svanderburg@gmail.com> | 2013-03-14 13:52:45 +0100 |
---|---|---|
committer | Sander van der Burg <svanderburg@gmail.com> | 2013-03-14 13:52:45 +0100 |
commit | 0576a0054bad5f6dd8b21e2481dab7e725c5e103 (patch) | |
tree | 66aa9ba961a383a73cca51b6642994f2fa564296 /pkgs/development/web | |
parent | 8db4152ddf20d60f07832e1c2f1f2de937961361 (diff) | |
download | nixlib-0576a0054bad5f6dd8b21e2481dab7e725c5e103.tar nixlib-0576a0054bad5f6dd8b21e2481dab7e725c5e103.tar.gz nixlib-0576a0054bad5f6dd8b21e2481dab7e725c5e103.tar.bz2 nixlib-0576a0054bad5f6dd8b21e2481dab7e725c5e103.tar.lz nixlib-0576a0054bad5f6dd8b21e2481dab7e725c5e103.tar.xz nixlib-0576a0054bad5f6dd8b21e2481dab7e725c5e103.tar.zst nixlib-0576a0054bad5f6dd8b21e2481dab7e725c5e103.zip |
Implemented an unelegant workaround that allows nodejs to be used on darwin using xcode
Diffstat (limited to 'pkgs/development/web')
-rw-r--r-- | pkgs/development/web/nodejs/default.nix | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix index 7f1aafa64f77..138b4180b899 100644 --- a/pkgs/development/web/nodejs/default.nix +++ b/pkgs/development/web/nodejs/default.nix @@ -12,26 +12,36 @@ stdenv.mkDerivation rec { configureFlags = [ "--openssl-includes=${openssl}/include" "--openssl-libpath=${openssl}/lib" + ] + ++ (if !stdenv.isDarwin then [ # Shared V8 is broken on Mac OS X. Who can fix V8 on Darwin makes me very happy, but I gave up studying python-gyp. "--shared-v8" "--shared-v8-includes=${v8}/includes" "--shared-v8-libpath=${v8}/lib" - ]; + ] else []); #patches = stdenv.lib.optional stdenv.isDarwin ./no-arch-flag.patch; + # Expose the host compiler on darwin, which is the only compiler capable of building it + preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' + export OLDPATH=$PATH + export PATH=/usr/bin:$PATH + ''; + prePatch = '' sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i tools/{*.py,waf-light,node-waf} configure ''; - postInstall = '' - + postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + export PATH=$OLDPATH + '' + '' sed -e 's|^#!/usr/bin/env node$|#!'$out'/bin/node|' -i $out/lib/node_modules/npm/bin/npm-cli.js - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' /*+ stdenv.lib.optionalString stdenv.isDarwin '' install_name_tool -change libv8.dylib ${v8}/lib/libv8.dylib $out/bin/node - ''; + ''*/; - buildInputs = [ python openssl v8 zlib ] ++ stdenv.lib.optional stdenv.isLinux utillinux; - + buildInputs = [ python openssl zlib ] + ++ stdenv.lib.optional stdenv.isLinux utillinux + ++ stdenv.lib.optional (!stdenv.isDarwin) v8; setupHook = ./setup-hook.sh; meta = with stdenv.lib; { |