Merge pull request #335593 from LeSuisse/env-vars-creation-darwin

stdenv: create `env-vars` file before writing data to it
This commit is contained in:
Sebastián Mancilla
2024-08-20 17:55:49 -04:00
committed by GitHub
+7 -1
View File
@@ -1121,7 +1121,13 @@ substituteAllInPlace() {
# the environment used for building.
dumpVars() {
if [ "${noDumpEnvVars:-0}" != 1 ]; then
install -m 0600 <(export 2>/dev/null) "$NIX_BUILD_TOP/env-vars" || true
# On darwin, install(1) cannot be called with /dev/stdin or fd from process substitution
# so first we create the file and then write to it
# See https://github.com/NixOS/nixpkgs/issues/335016
{
install -m 0600 /dev/null "$NIX_BUILD_TOP/env-vars" &&
export 2>/dev/null >| "$NIX_BUILD_TOP/env-vars"
} || true
fi
}