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.
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper
this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
7abd144913 switched the source releases to
pull from GitHub. This resulted in the IOUSBFamily installation failing,
as the extracted directory's name changed from `IOUSBFamily-630.4.5` to
`IOUSBFamily-IOUSBFamily-630.4.5`. This didn't occur for any other frameworks
because we used wildcards for copying them already.
What dtrace needs from the CoreSymbolication private framework on Darwin
is provided in Nixpkgs by two different packages, but both of their full
attribute paths end in CoreSymbolication.
This commit therefore does two things:
- adds the second CoreSymbolication package to dtrace's dependencies;
and
- adds an alias for the second CoreSymbolication package to avoid
having to explicitly name or rename it when calling the dtrace
package in the existing contexts.
This reverts commit 511f21df7c.
In apple_sdk_11_0, the xpc package contains only headers that are
already part of libsystem, so this change did nothing.
For Swift and `-fmodules`, this actually caused an error, because
there was now a duplicate module in the search path.