summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch
diff options
context:
space:
mode:
authorRandy Eckenrode <randy@largeandhighquality.com>2023-07-24 17:07:50 -0400
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2023-08-01 10:32:56 +0200
commit6f2b3ba027f0d74614ba1b21f15ea45b0beb0385 (patch)
treef15e9087b378ce32067c731fb695ea76480dcbf5 /pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch
parent344ec16d0a6d85e33ece4e958ae0a8870b8a7725 (diff)
cc-wrapper: use a temporary file for reponse file
The Darwin stdenv rework conditionally sets `NIX_CC_USE_RESPONSE_FILE` depending on the `ARG_MAX` of the build system. If it is at least 1 MiB, the stdenv passes the arguments on the command-line (like Linux). Otherwise, it falls back to the response file. This was done to prevent intermitent failures with clang 16 being unable to read the response file. Unfortunately, this breaks `gccStdenv` on older Darwin platforms. Note: While the stdenv logic will also be reverted, this change is needed for compatibility with clang 16. GCC is capable of using a response file, but it does not work correctly when the response file is a file descriptor. This can be reproduced using the following sequence of commands: $ nix shell nixpkgs#gcc; NIX_CC_USE_RESPONSE_FILE=1 gcc # Linux /nix/store/9n9gjvzci75gp2sh1c4rh626dhizqynl-binutils-2.39/bin/ld: unrecognized option '-B/nix/store/vnwdak3n1w2jjil119j65k8mw1z23p84-glibc-2.35-224/lib/' /nix/store/9n9gjvzci75gp2sh1c4rh626dhizqynl-binutils-2.39/bin/ld: use the --help option for usage information collect2: error: ld returned 1 exit status # Darwin ld: unknown option: -mmacosx-version-min=11.0 collect2: error: ld returned 1 exit status Instead of using process substitution, create a temporary file and remove it in a trap. This should also prevent the intermitent build failures with clang 16 on older Darwin systems. Fixes #245167
Diffstat (limited to 'pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch')
0 files changed, 0 insertions, 0 deletions