summary refs log tree commit diff
path: root/pkgs/os-specific/darwin/cctools/port.nix
diff options
context:
space:
mode:
authorGabriella Gonzalez <GenuineGabriella@gmail.com>2023-02-23 17:05:18 -0800
committerGitHub <noreply@github.com>2023-02-23 17:05:18 -0800
commit79484b17078c06763dafd4dcaab67aebc129dfd9 (patch)
tree3cfdfff7ff426694b50ba169c575a95c3549bd0f /pkgs/os-specific/darwin/cctools/port.nix
parent55aecca307e6ea87d6bfa7ff3c31fc56a42d967e (diff)
bintools: Add response file support to `ld-wrapper` (#213831)
The motivation behind this is to alleviate the problem
described in https://github.com/NixOS/nixpkgs/issues/41340.
I'm not sure if this completely fixes the problem, but it
eliminates one more area where we can exceed command line
length limits.

This is essentially the same change as in #112449,
except for `ld-wrapper.sh` instead of `cc-wrapper.sh`.

However, that change alone was not enough; on macOS the
`ld` provided by `darwin.cctools` fails if you use process
substitution to generate the response file, so I put up a
PR to fix that:

https://github.com/tpoechtrager/cctools-port/pull/131

… and I included a patch referencing that fix so that the
new `ld-wrapper` still works on macOS.
Diffstat (limited to 'pkgs/os-specific/darwin/cctools/port.nix')
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix9
1 files changed, 9 insertions, 0 deletions
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
index 3c48c3ebc0c46..4d8079977513a 100644
--- a/pkgs/os-specific/darwin/cctools/port.nix
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -3,6 +3,7 @@
 , libuuid
 , libobjc ? null, maloader ? null
 , enableTapiSupport ? true, libtapi
+, fetchpatch
 }:
 
 let
@@ -42,6 +43,14 @@ stdenv.mkDerivation {
   patches = [
     ./ld-ignore-rpath-link.patch
     ./ld-rpath-nonfinal.patch
+    (fetchpatch {
+      url = "https://github.com/tpoechtrager/cctools-port/commit/4a734070cd2838e49658464003de5b92271d8b9e.patch";
+      hash = "sha256-72KaJyu7CHXxJJ1GNq/fz+kW1RslO3UaKI91LhBtiXA=";
+    })
+    (fetchpatch {
+      url = "https://github.com/MercuryTechnologies/cctools-port/commit/025899b7b3593dedb0c681e689e57c0e7bbd9b80.patch";
+      hash = "sha256-SWVUzFaJHH2fu9y8RcU3Nx/QKx60hPE5zFx0odYDeQs=";
+    })
   ]
     ++ lib.optional stdenv.isDarwin ./darwin-no-memstream.patch;