a45b3ad89f
There is a bug in this feature: It allows extra arguments to leak in from the environment. For example: $ export extraFlagsArray=date $ man ls Note that you get the man page for date rather than for ls. This happens because 'man' happens to use a wrapper (to add groff to its PATH). An attempt to fix this was made in5ae18574fc
in PR #19328 for issue #2537, but 1. That change didn't actually fix the problem because it addressed makeWrapper's environment during the build process, not the constructed wrapper script's environment after installation, and 2. That change was apparently accidentally lost when merged with7ff6eec5fd
. Rather than trying to fix the bug again, we remove the extraFlagsArray feature, since it has never been used in the public repo in the ten years it has been available. wrapAclocal continues to use its own, separate flavor of extraFlagsArray in a more limited context. The analogous bug there was fixed in4d7d10da6b
in 2011.
12 lines
319 B
Text
12 lines
319 B
Text
#! @shell@ -e
|
|
|
|
initString="--init={\"clang\":{\"extraArgs\": [@standard_library_includes@"
|
|
|
|
if [ "${NIX_CFLAGS_COMPILE}" != "" ]; then
|
|
read -a cflags_array <<< ${NIX_CFLAGS_COMPILE}
|
|
initString+=$(printf ', \"%s\"' "${cflags_array[@]}")
|
|
fi
|
|
|
|
initString+="]}}"
|
|
|
|
exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@"
|