diff options
author | Marius Bakke <m.bakke@warwick.ac.uk> | 2016-04-16 00:51:41 +0100 |
---|---|---|
committer | Marius Bakke <m.bakke@warwick.ac.uk> | 2016-04-16 02:58:02 +0100 |
commit | 28919e5bfa23111e099f91b7edcc5828a9d451b3 (patch) | |
tree | 666f39eefe824428d600a2ebe80da0e695024ed6 /pkgs/development/python-modules | |
parent | b48172ea72f9be2bae7c3a223bc83bf9088d2ec1 (diff) | |
download | nixlib-28919e5bfa23111e099f91b7edcc5828a9d451b3.tar nixlib-28919e5bfa23111e099f91b7edcc5828a9d451b3.tar.gz nixlib-28919e5bfa23111e099f91b7edcc5828a9d451b3.tar.bz2 nixlib-28919e5bfa23111e099f91b7edcc5828a9d451b3.tar.lz nixlib-28919e5bfa23111e099f91b7edcc5828a9d451b3.tar.xz nixlib-28919e5bfa23111e099f91b7edcc5828a9d451b3.tar.zst nixlib-28919e5bfa23111e099f91b7edcc5828a9d451b3.zip |
wrapPythonPrograms: preserve quoted strings from makeWrapperArgs
Currently, if a user tries to to set a variable that contains spaces, it will be broken up before being passed to wrapProgram. This commit resolves that by converting makeWrapperArgs to an array that preserves any quoted elements using bash's parser.
Diffstat (limited to 'pkgs/development/python-modules')
-rw-r--r-- | pkgs/development/python-modules/generic/wrap.sh | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/pkgs/development/python-modules/generic/wrap.sh b/pkgs/development/python-modules/generic/wrap.sh index fa6a4d0102f3..5d8e2e986735 100644 --- a/pkgs/development/python-modules/generic/wrap.sh +++ b/pkgs/development/python-modules/generic/wrap.sh @@ -44,16 +44,15 @@ wrapPythonProgramsIn() { # wrapProgram creates the executable shell script described # above. The script will set PYTHONPATH and PATH variables.! # (see pkgs/build-support/setup-hooks/make-wrapper.sh) - local wrap_args="$f \ - --prefix PYTHONPATH ':' $program_PYTHONPATH \ - --prefix PATH ':' $program_PATH:$dir/bin" + local -a wrap_args=("$f" + --prefix PYTHONPATH ':' "$program_PYTHONPATH" + --prefix PATH ':' "$program_PATH:$dir/bin") # Add any additional arguments provided by makeWrapperArgs # argument to buildPythonPackage. - for arg in $makeWrapperArgs; do - wrap_args="$wrap_args $arg" - done - wrapProgram $wrap_args + local -a user_args="($makeWrapperArgs)" + local -a wrapProgramArgs=("${wrap_args[@]}" "${user_args[@]}") + wrapProgram "${wrapProgramArgs[@]}" fi fi done |