cctools: don’t depend on clang at runtime

--disable-clang-as flag disables the use of clang by cctools-port
This commit is contained in:
Matthew Bauer 2018-12-10 17:31:47 -06:00
parent 8dc4d1187e
commit 9564b8ed9e
2 changed files with 7 additions and 10 deletions

View File

@ -29,15 +29,11 @@ let
outputs = [ "out" "dev" ];
nativeBuildInputs = [
autoconf automake libtool autoreconfHook
];
buildInputs = [ libuuid ] ++
stdenv.lib.optionals stdenv.isDarwin [ llvm libcxxabi libobjc ];
nativeBuildInputs = [ autoconf automake libtool autoreconfHook ];
buildInputs = [ libuuid ]
++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ];
patches = [
./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch
];
patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ];
__propagatedImpureHostDeps = [
# As far as I can tell, otool from cctools is the only thing that depends on these two, and we should fix them
@ -48,7 +44,9 @@ let
enableParallelBuilding = true;
# TODO(@Ericson2314): Always pass "--target" and always targetPrefix.
configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (stdenv.targetPlatform != stdenv.hostPlatform) "target";
configurePlatforms = [ "build" "host" ]
++ stdenv.lib.optional (stdenv.targetPlatform != stdenv.hostPlatform) "target";
configureFlags = [ "--disable-clang-as" ];
postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace cctools/Makefile.am --replace libobjc2 ""

View File

@ -60,7 +60,6 @@ in lib.init bootStages ++ [
++ lib.optionals
(hostPlatform.isLinux && !buildPlatform.isLinux)
[ buildPackages.patchelf buildPackages.paxctl ]
++ lib.optional hostPlatform.isDarwin buildPackages.clang
++ lib.optional
(let f = p: !p.isx86 || p.libc == "musl"; in f hostPlatform && !(f buildPlatform))
buildPackages.updateAutotoolsGnuConfigScriptsHook