Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)

xcbuild: fix toolchain on Linux

+35 -30
+33 -29
pkgs/development/tools/xcbuild/toolchain.nix
··· 1 {stdenv, writeText, toolchainName, xcbuild 2 - , cc, llvm, cctools, gcc, bootstrap_cmds, binutils 3 , yacc, flex, m4, unifdef, gperf, indent, ctags, makeWrapper}: 4 5 let ··· 13 stdenv.mkDerivation { 14 name = "nixpkgs.xctoolchain"; 15 buildInputs = [ xcbuild makeWrapper ]; 16 - propagatedBuildInputs = [ cc cctools llvm gcc bootstrap_cmds binutils yacc flex m4 unifdef gperf indent ]; 17 buildCommand = '' 18 mkdir -p $out 19 plutil -convert xml1 -o $out/ToolchainInfo.plist ${writeText "ToolchainInfo.plist" (builtins.toJSON ToolchainInfo)} ··· 25 26 mkdir -p $out/usr/bin 27 cd $out/usr/bin 28 - ln -s ${cc}/bin/cpp 29 - ln -s ${cc}/bin/c++ 30 - ln -s ${cc}/bin/cc 31 ln -s c++ clang++ 32 ln -s cc clang 33 34 - ln -s ${cctools}/bin/ar 35 - ln -s ${cctools}/bin/as 36 - ln -s ${cctools}/bin/nm 37 - ln -s ${cctools}/bin/nmedit 38 - ln -s ${cctools}/bin/ld 39 - ln -s ${cctools}/bin/libtool 40 - ln -s ${cctools}/bin/strings 41 - ln -s ${cctools}/bin/strip 42 - ln -s ${cctools}/bin/install_name_tool 43 - ln -s ${cctools}/bin/bitcode_strip 44 - ln -s ${cctools}/bin/codesign_allocate 45 - ln -s ${cctools}/bin/dsymutil 46 - ln -s ${cctools}/bin/dyldinfo 47 - ln -s ${cctools}/bin/otool 48 - ln -s ${cctools}/bin/unwinddump 49 - ln -s ${cctools}/bin/size 50 - ln -s ${cctools}/bin/segedit 51 - ln -s ${cctools}/bin/pagestuff 52 - ln -s ${cctools}/bin/ranlib 53 - ln -s ${cctools}/bin/redo_prebinding 54 - 55 ln -s ${llvm}/bin/llvm-cov 56 ln -s ${llvm}/bin/llvm-dsymutil 57 ln -s ${llvm}/bin/llvm-dwarfdump ··· 74 ln -s ${unifdef}/bin/unifdef 75 ln -s ${unifdef}/bin/unifdefall 76 77 - ln -s ${bootstrap_cmds}/bin/mig 78 - 79 ln -s ${gperf}/bin/gperf 80 ln -s ${gcc}/bin/gcov 81 ln -s ${gcc}/bin/mkdep 82 ln -s ${indent}/bin/indent 83 ln -s ${binutils}/bin/lipo 84 - ln -s ${ctags}/bin/ctags 85 ''; 86 } 87
··· 1 {stdenv, writeText, toolchainName, xcbuild 2 + , llvm, cctools, gcc, bootstrap_cmds, binutils 3 , yacc, flex, m4, unifdef, gperf, indent, ctags, makeWrapper}: 4 5 let ··· 13 stdenv.mkDerivation { 14 name = "nixpkgs.xctoolchain"; 15 buildInputs = [ xcbuild makeWrapper ]; 16 + 17 + propagatedBuildInputs = [ llvm gcc yacc flex m4 unifdef gperf indent ] 18 + ++ stdenv.lib.optionals stdenv.isDarwin [ cctools bootstrap_cmds binutils ]; 19 + ## cctools should build on Linux but it doesn't currentl 20 + 21 buildCommand = '' 22 mkdir -p $out 23 plutil -convert xml1 -o $out/ToolchainInfo.plist ${writeText "ToolchainInfo.plist" (builtins.toJSON ToolchainInfo)} ··· 29 30 mkdir -p $out/usr/bin 31 cd $out/usr/bin 32 + ln -s ${stdenv.cc}/bin/cpp 33 + ln -s ${stdenv.cc}/bin/c++ 34 + ln -s ${stdenv.cc}/bin/cc 35 ln -s c++ clang++ 36 ln -s cc clang 37 38 ln -s ${llvm}/bin/llvm-cov 39 ln -s ${llvm}/bin/llvm-dsymutil 40 ln -s ${llvm}/bin/llvm-dwarfdump ··· 57 ln -s ${unifdef}/bin/unifdef 58 ln -s ${unifdef}/bin/unifdefall 59 60 ln -s ${gperf}/bin/gperf 61 ln -s ${gcc}/bin/gcov 62 ln -s ${gcc}/bin/mkdep 63 ln -s ${indent}/bin/indent 64 + ln -s ${ctags}/bin/ctags 65 + '' + stdenv.lib.optionalString stdenv.isDarwin '' 66 + ln -s ${bootstrap_cmds}/bin/mig 67 ln -s ${binutils}/bin/lipo 68 + 69 + ln -s ${cctools}/bin/ar 70 + ln -s ${cctools}/bin/as 71 + ln -s ${cctools}/bin/nm 72 + ln -s ${cctools}/bin/nmedit 73 + ln -s ${cctools}/bin/ld 74 + ln -s ${cctools}/bin/libtool 75 + ln -s ${cctools}/bin/strings 76 + ln -s ${cctools}/bin/strip 77 + ln -s ${cctools}/bin/install_name_tool 78 + ln -s ${cctools}/bin/bitcode_strip 79 + ln -s ${cctools}/bin/codesign_allocate 80 + ln -s ${cctools}/bin/dsymutil 81 + ln -s ${cctools}/bin/dyldinfo 82 + ln -s ${cctools}/bin/otool 83 + ln -s ${cctools}/bin/unwinddump 84 + ln -s ${cctools}/bin/size 85 + ln -s ${cctools}/bin/segedit 86 + ln -s ${cctools}/bin/pagestuff 87 + ln -s ${cctools}/bin/ranlib 88 + ln -s ${cctools}/bin/redo_prebinding 89 ''; 90 } 91
+1 -1
pkgs/development/tools/xcbuild/wrapper.nix
··· 12 }; 13 14 toolchain = callPackage ./toolchain.nix { 15 - inherit cctools bootstrap_cmds toolchainName xcbuild binutils; 16 }; 17 18 sdk = callPackage ./sdk.nix {
··· 12 }; 13 14 toolchain = callPackage ./toolchain.nix { 15 + inherit cctools bootstrap_cmds toolchainName xcbuild binutils stdenv; 16 }; 17 18 sdk = callPackage ./sdk.nix {
+1
pkgs/top-level/all-packages.nix
··· 6435 xcbuild = callPackage ../development/tools/xcbuild/wrapper.nix { 6436 inherit (darwin.apple_sdk.frameworks) CoreServices CoreGraphics ImageIO; 6437 inherit (darwin) cctools bootstrap_cmds binutils; 6438 }; 6439 6440 xmlindent = callPackage ../development/web/xmlindent {};
··· 6435 xcbuild = callPackage ../development/tools/xcbuild/wrapper.nix { 6436 inherit (darwin.apple_sdk.frameworks) CoreServices CoreGraphics ImageIO; 6437 inherit (darwin) cctools bootstrap_cmds binutils; 6438 + stdenv = clangStdenv; 6439 }; 6440 6441 xmlindent = callPackage ../development/web/xmlindent {};