3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/stdenv
Randy Eckenrode 856ebe6fec
darwin.stdenv: allow patchShebangs during the bootstrap
This fixes pyicu (and any other package that uses `icu-config` instead
of the CMake or some other module to get the build flags).

What happened here is the bootstrap disables `patchShebangs` to avoid
propagating the bootstrap tools to the final stdenv (due to `sh` and
`bash` being on the `PATH` from the bootstrap tools). Because of that,
the `#!/bin/sh` line in `icu-config` was not updated, causing it to
invoke the system bash on Darwin. While that is undesirable in its own
right, when the system bash is invoked as `sh`, `echo -n` will print
`-n`, resulting in the breakage see in https://github.com/NixOS/nixpkgs/pull/241951#issuecomment-1627604354.

The fix is to build bash earlier in the bootstrap while making sure it
is picked up over the one in the bootstrap tools. That allows
`patchShebangs` to be enabled during the bootstrap. Any package with
scripts that is included in the final stdenv should now have its
scripts’ shebang lines properly patched.
2023-07-09 16:53:55 -06:00
..
cross pkgs: fix typos 2023-05-19 22:31:04 -04:00
custom
cygwin
darwin darwin.stdenv: allow patchShebangs during the bootstrap 2023-07-09 16:53:55 -06:00
freebsd
generic Merge #224822: hardening flags: enable fortify3 by default 2023-07-06 10:33:24 +02:00
linux stdenv: eliminate duplicate gnu-config in extraNativeBuildInputs 2023-06-16 02:33:57 -07:00
native treewide: use lib.optionals 2023-02-14 19:11:59 +01:00
nix
tests
adapters.nix darwin.stdenv: fix portable libsystem hook with sandboxing 2023-07-08 20:49:49 -06:00
booter.nix
default.nix darwin.stdenv: refactor stdenv definition 2023-07-02 17:56:24 -04:00