From 1001311280bc74bc020a2bed0491c25c5010a091 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 6 Sep 2017 15:05:30 -0400 Subject: [PATCH] cctools: Add alternative source for sierra hack Source master rebase of my [PR #34]. Eventually, we might consider doing something for GNU binutils too, in order that we switch (the normal) ld-wrapper to always use this to leverage ld to resolve libraries, rather than faking it in bash. [PR #34]: https://github.com/tpoechtrager/cctools-port/pull/34 --- pkgs/os-specific/darwin/cctools/port.nix | 11 +++++++++-- pkgs/top-level/all-packages.nix | 7 ++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix index 0eef47ed6df..55995c1592d 100644 --- a/pkgs/os-specific/darwin/cctools/port.nix +++ b/pkgs/os-specific/darwin/cctools/port.nix @@ -2,6 +2,7 @@ , llvm, libcxx, libcxxabi, clang, libuuid , libobjc ? null, maloader ? null, xctoolchain ? null , hostPlatform, targetPlatform +, enableDumpNormalizedLibArgs ? false }: let @@ -20,12 +21,18 @@ let name = "${targetPrefix}cctools-port-${version}"; version = "895"; - src = fetchFromGitHub { + 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 { owner = "tpoechtrager"; repo = "cctools-port"; rev = "2e569d765440b8cd6414a695637617521aa2375b"; # From branch 895-ld64-274.2 sha256 = "0l45mvyags56jfi24rawms8j2ihbc45mq7v13pkrrwppghqrdn52"; - }; + }); outputs = [ "out" "dev" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f54b163c130..82ad4769977 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5779,8 +5779,13 @@ with pkgs; clang-sierraHack = clang.override { name = "clang-wrapper-with-reexport-hack"; - bintools = clang.bintools.override { + bintools = darwin.binutils.override { useMacosReexportHack = true; + bintools = darwin.binutils.bintools.override { + cctools = darwin.cctools.override { + enableDumpNormalizedLibArgs = true; + }; + }; }; };