From 7f08b28bbfa628efd5b3529802b4587d73f5f36b Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sat, 2 Mar 2019 20:53:14 -0500 Subject: Revert "Revert "cctools: bump to latest commit"" This reverts commit 0e78f2bd10df60c78144073a9f8dcd6086f046cf. --- pkgs/os-specific/darwin/cctools/port.nix | 50 ++++++++------------------------ 1 file changed, 12 insertions(+), 38 deletions(-) (limited to 'pkgs/os-specific/darwin/cctools/port.nix') diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix index a1aa601d238..fcab00163a6 100644 --- a/pkgs/os-specific/darwin/cctools/port.nix +++ b/pkgs/os-specific/darwin/cctools/port.nix @@ -1,19 +1,11 @@ -{ stdenv, fetchFromGitHub, autoconf, automake, libtool_2, autoreconfHook +{ stdenv, fetchFromGitHub, autoconf, automake, libtool, autoreconfHook , libcxxabi, libuuid, llvm , libobjc ? null, maloader ? null -, enableDumpNormalizedLibArgs ? false , enableTapiSupport ? true, libtapi }: let - # We need to use an old version of cctools-port to support linking TBD files - # in the iOS SDK. Note that this only provides support for SDK versions up to - # 10.x. For 11.0 and higher we will need to upgrade to a newer cctools than the - # default version here, which can support the new TBD format via Apple's - # libtapi. - useOld = stdenv.targetPlatform.isiOS; - # The targetPrefix prepended to binary names to allow multiple binuntils on the # PATH to both be usable. targetPrefix = stdenv.lib.optionalString @@ -24,48 +16,28 @@ in # Non-Darwin alternatives assert (!stdenv.hostPlatform.isDarwin) -> maloader != null; -assert enableDumpNormalizedLibArgs -> (!useOld); - let baseParams = rec { name = "${targetPrefix}cctools-port-${version}"; - version = if useOld then "886" else "895"; + version = "895"; - src = fetchFromGitHub (if enableDumpNormalizedLibArgs then { - owner = "tpoechtrager"; - repo = "cctools-port"; - # master with https://github.com/tpoechtrager/cctools-port/pull/34 - rev = "8395d4b2c3350356e2fb02f5e04f4f463c7388df"; - sha256 = "10vbf1cfzx02q8chc77s84fp2kydjpx2y682mr6mrbb7sq5rwh8f"; - } else if useOld then { + src = fetchFromGitHub { owner = "tpoechtrager"; repo = "cctools-port"; - rev = "02f0b8ecd87a3951653d838a321ae744815e21a5"; - sha256 = "0bzyabzr5dvbxglr74d0kbrk2ij5x7s5qcamqi1v546q1had1wz1"; - } else { - owner = "tpoechtrager"; - repo = "cctools-port"; - rev = "2e569d765440b8cd6414a695637617521aa2375b"; # From branch 895-ld64-274.2 - sha256 = "0l45mvyags56jfi24rawms8j2ihbc45mq7v13pkrrwppghqrdn52"; - }); + rev = "07619027f8311fa61b4a549c75994b88739a82d8"; + sha256 = "12g94hhz5v5bmy2w0zb6fb4bjlmn992gygc60h9nai15kshj2spi"; + }; outputs = [ "out" "dev" ]; - nativeBuildInputs = [ autoconf automake libtool_2 autoreconfHook ]; + nativeBuildInputs = [ autoconf automake libtool autoreconfHook ]; buildInputs = [ libuuid ] ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ] ++ stdenv.lib.optional enableTapiSupport libtapi; - patches = [ - ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch - ] ++ stdenv.lib.optionals useOld [ - # See https://github.com/tpoechtrager/cctools-port/issues/24. Remove when that's fixed. - ./undo-unknown-triple.patch - ./ld-tbd-v2.patch - ./support-ios.patch - ]; + patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ]; - __propagatedImpureHostDeps = stdenv.lib.optionals (!useOld) [ + __propagatedImpureHostDeps = [ # As far as I can tell, otool from cctools is the only thing that depends on these two, and we should fix them "/usr/lib/libobjc.A.dylib" "/usr/lib/libobjc.dylib" @@ -82,7 +54,9 @@ let "--with-libtapi=${libtapi}" ]; - postPatch = '' + postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace cctools/Makefile.am --replace libobjc2 "" + '' + '' sed -i -e 's/addStandardLibraryDirectories = true/addStandardLibraryDirectories = false/' cctools/ld64/src/ld/Options.cpp # FIXME: there are far more absolute path references that I don't want to fix right now -- cgit 1.4.1