From 266adab32d55f1272e95e9aae8c6ee2bab3f0570 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 21 May 2018 19:50:12 -0400 Subject: [PATCH] cctools: Remove a bunch of stuff no longer needed for Linux --- pkgs/os-specific/darwin/cctools/port.nix | 34 +++++++----------------- pkgs/top-level/darwin-packages.nix | 1 - 2 files changed, 9 insertions(+), 26 deletions(-) diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix index d8abdc2c6f84..dbe8bda5e1e0 100644 --- a/pkgs/os-specific/darwin/cctools/port.nix +++ b/pkgs/os-specific/darwin/cctools/port.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, makeWrapper, autoconf, automake, libtool_2, autoreconfHook -, llvm, libcxx, libcxxabi, clang, libuuid -, libobjc ? null, maloader ? null, xctoolchain ? null +, libcxx, libcxxabi, libuuid +, libobjc ? null, maloader ? null , hostPlatform, targetPlatform , enableDumpNormalizedLibArgs ? false }: @@ -22,7 +22,7 @@ let in # Non-Darwin alternatives -assert (!hostPlatform.isDarwin) -> (maloader != null && xctoolchain != null); +assert (!hostPlatform.isDarwin) -> maloader != null; assert enableDumpNormalizedLibArgs -> (!useOld); @@ -57,8 +57,6 @@ let autoreconfHook ]; buildInputs = [ libuuid ] ++ - # Only need llvm and clang if the stdenv isn't already clang-based (TODO: just make a stdenv.cc.isClang) - stdenv.lib.optionals (!stdenv.isDarwin) [ llvm clang ] ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ]; patches = [ @@ -80,9 +78,6 @@ let # TODO(@Ericson2314): Always pass "--target" and always targetPrefix. configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; - configureFlags = stdenv.lib.optionals (!stdenv.isDarwin) [ - "CXXFLAGS=-I${libcxx}/include/c++/v1" - ]; postPatch = '' sed -i -e 's/addStandardLibraryDirectories = true/addStandardLibraryDirectories = false/' cctools/ld64/src/ld/Options.cpp @@ -108,8 +103,6 @@ let # include_next "unistd.h" #endif EOF - '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' - sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' cctools/autogen.sh '' + stdenv.lib.optionalString useOld '' cd cctools ''; @@ -128,21 +121,12 @@ let popd ''; - postInstall = - if hostPlatform.isDarwin - then '' - cat >$out/bin/dsymutil << EOF - #!${stdenv.shell} - EOF - chmod +x $out/bin/dsymutil - '' - else '' - for tool in dyldinfo dwarfdump dsymutil; do - ${makeWrapper}/bin/makeWrapper "${maloader}/bin/ld-mac" "$out/bin/${targetPlatform.config}-$tool" \ - --add-flags "${xctoolchain}/bin/$tool" - ln -s "$out/bin/${targetPlatform.config}-$tool" "$out/bin/$tool" - done - ''; + postInstall = '' + cat >$out/bin/dsymutil << EOF + #!${stdenv.shell} + EOF + chmod +x $out/bin/dsymutil + ''; passthru = { inherit targetPrefix; diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix index d2d41792c461..907ec0c75924 100644 --- a/pkgs/top-level/darwin-packages.nix +++ b/pkgs/top-level/darwin-packages.nix @@ -29,7 +29,6 @@ in inherit (darwin) libobjc maloader; stdenv = if stdenv.isDarwin then stdenv else pkgs.libcxxStdenv; libcxxabi = pkgs.libcxxabi; - xctoolchain = darwin.xcode.toolchain; }; cf-private = callPackage ../os-specific/darwin/cf-private {