summary refs log tree commit diff
path: root/pkgs/development/tools/xcbuild
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2016-11-10 14:53:28 -0600
committerMatthew Bauer <mjbauer95@gmail.com>2016-11-15 19:13:22 -0600
commit437bdc5e4bc29baaaa3991e260e5ee40de8f3fa0 (patch)
tree0f8ab1a58664373d6ed5cd634ec6cfc9998edb81 /pkgs/development/tools/xcbuild
parent0b6bfa49d5b6c70ee2844c292044c35a39fabf96 (diff)
downloadnixlib-437bdc5e4bc29baaaa3991e260e5ee40de8f3fa0.tar
nixlib-437bdc5e4bc29baaaa3991e260e5ee40de8f3fa0.tar.gz
nixlib-437bdc5e4bc29baaaa3991e260e5ee40de8f3fa0.tar.bz2
nixlib-437bdc5e4bc29baaaa3991e260e5ee40de8f3fa0.tar.lz
nixlib-437bdc5e4bc29baaaa3991e260e5ee40de8f3fa0.tar.xz
nixlib-437bdc5e4bc29baaaa3991e260e5ee40de8f3fa0.tar.zst
nixlib-437bdc5e4bc29baaaa3991e260e5ee40de8f3fa0.zip
xcbuild: fix toolchain on Linux
Diffstat (limited to 'pkgs/development/tools/xcbuild')
-rw-r--r--pkgs/development/tools/xcbuild/toolchain.nix62
-rw-r--r--pkgs/development/tools/xcbuild/wrapper.nix2
2 files changed, 34 insertions, 30 deletions
diff --git a/pkgs/development/tools/xcbuild/toolchain.nix b/pkgs/development/tools/xcbuild/toolchain.nix
index e86536c45983..386f67a9d631 100644
--- a/pkgs/development/tools/xcbuild/toolchain.nix
+++ b/pkgs/development/tools/xcbuild/toolchain.nix
@@ -1,5 +1,5 @@
 {stdenv, writeText, toolchainName, xcbuild
-, cc, llvm, cctools, gcc, bootstrap_cmds, binutils
+, llvm, cctools, gcc, bootstrap_cmds, binutils
 , yacc, flex, m4, unifdef, gperf, indent, ctags, makeWrapper}:
 
 let
@@ -13,7 +13,11 @@ in
 stdenv.mkDerivation {
   name = "nixpkgs.xctoolchain";
   buildInputs = [ xcbuild makeWrapper ];
-  propagatedBuildInputs = [ cc cctools llvm gcc bootstrap_cmds binutils yacc flex m4 unifdef gperf indent ];
+
+  propagatedBuildInputs = [ llvm gcc yacc flex m4 unifdef gperf indent ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ cctools bootstrap_cmds binutils ];
+  ## cctools should build on Linux but it doesn't currentl
+
   buildCommand = ''
     mkdir -p $out
     plutil -convert xml1 -o $out/ToolchainInfo.plist ${writeText "ToolchainInfo.plist" (builtins.toJSON ToolchainInfo)}
@@ -25,33 +29,12 @@ stdenv.mkDerivation {
 
     mkdir -p $out/usr/bin
     cd $out/usr/bin
-    ln -s ${cc}/bin/cpp
-    ln -s ${cc}/bin/c++
-    ln -s ${cc}/bin/cc
+    ln -s ${stdenv.cc}/bin/cpp
+    ln -s ${stdenv.cc}/bin/c++
+    ln -s ${stdenv.cc}/bin/cc
     ln -s c++ clang++
     ln -s cc clang
 
-    ln -s ${cctools}/bin/ar
-    ln -s ${cctools}/bin/as
-    ln -s ${cctools}/bin/nm
-    ln -s ${cctools}/bin/nmedit
-    ln -s ${cctools}/bin/ld
-    ln -s ${cctools}/bin/libtool
-    ln -s ${cctools}/bin/strings
-    ln -s ${cctools}/bin/strip
-    ln -s ${cctools}/bin/install_name_tool
-    ln -s ${cctools}/bin/bitcode_strip
-    ln -s ${cctools}/bin/codesign_allocate
-    ln -s ${cctools}/bin/dsymutil
-    ln -s ${cctools}/bin/dyldinfo
-    ln -s ${cctools}/bin/otool
-    ln -s ${cctools}/bin/unwinddump
-    ln -s ${cctools}/bin/size
-    ln -s ${cctools}/bin/segedit
-    ln -s ${cctools}/bin/pagestuff
-    ln -s ${cctools}/bin/ranlib
-    ln -s ${cctools}/bin/redo_prebinding
-
     ln -s ${llvm}/bin/llvm-cov
     ln -s ${llvm}/bin/llvm-dsymutil
     ln -s ${llvm}/bin/llvm-dwarfdump
@@ -74,14 +57,35 @@ stdenv.mkDerivation {
     ln -s ${unifdef}/bin/unifdef
     ln -s ${unifdef}/bin/unifdefall
 
-    ln -s ${bootstrap_cmds}/bin/mig
-
     ln -s ${gperf}/bin/gperf
     ln -s ${gcc}/bin/gcov
     ln -s ${gcc}/bin/mkdep
     ln -s ${indent}/bin/indent
-    ln -s ${binutils}/bin/lipo
     ln -s ${ctags}/bin/ctags
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    ln -s ${bootstrap_cmds}/bin/mig
+    ln -s ${binutils}/bin/lipo
+
+    ln -s ${cctools}/bin/ar
+    ln -s ${cctools}/bin/as
+    ln -s ${cctools}/bin/nm
+    ln -s ${cctools}/bin/nmedit
+    ln -s ${cctools}/bin/ld
+    ln -s ${cctools}/bin/libtool
+    ln -s ${cctools}/bin/strings
+    ln -s ${cctools}/bin/strip
+    ln -s ${cctools}/bin/install_name_tool
+    ln -s ${cctools}/bin/bitcode_strip
+    ln -s ${cctools}/bin/codesign_allocate
+    ln -s ${cctools}/bin/dsymutil
+    ln -s ${cctools}/bin/dyldinfo
+    ln -s ${cctools}/bin/otool
+    ln -s ${cctools}/bin/unwinddump
+    ln -s ${cctools}/bin/size
+    ln -s ${cctools}/bin/segedit
+    ln -s ${cctools}/bin/pagestuff
+    ln -s ${cctools}/bin/ranlib
+    ln -s ${cctools}/bin/redo_prebinding
   '';
 }
 
diff --git a/pkgs/development/tools/xcbuild/wrapper.nix b/pkgs/development/tools/xcbuild/wrapper.nix
index ef4ab245ec0c..2b01bdbb52b2 100644
--- a/pkgs/development/tools/xcbuild/wrapper.nix
+++ b/pkgs/development/tools/xcbuild/wrapper.nix
@@ -12,7 +12,7 @@ let
   };
 
   toolchain = callPackage ./toolchain.nix {
-    inherit cctools bootstrap_cmds toolchainName xcbuild binutils;
+    inherit cctools bootstrap_cmds toolchainName xcbuild binutils stdenv;
   };
 
   sdk = callPackage ./sdk.nix {