python.pkgs.wrapPython: get rid of warning
When `makeWrapperArgs` variable is not set, `declare -p makeWrapperArgs`
will return with 1 and print an error message to stderr.
I did not handle the non-existence case in b0633406cb
because I thought `mk-python-derivation` will always define `makeWrapperArgs`
but `wrapProgram` can be called independently. And even with `mk-python-derivation`,
`makeWrappers` will not be set unless explicitly declared in the derivation
because of https://github.com/NixOS/nix/issues/1461.
I was lead to believe that because the builds were succeeding and I confirmed
that the mechanism fails when the variable is not defined and `-o nounset` is enabled.
It appears that `wrapPython` setup hook is not running under `-o nounset`, though,
invaldating the assumption.
Now we are checking that the variable exists before checking its type, which
will get rid of the warning and also prevent future error when `-o nounset`
is enabled in the setup hook.
For more information, see the discussion at
https://github.com/NixOS/nixpkgs/commit/a6bb2ede232940a96150da7207a3ecd15eb6328
This commit is contained in:
parent
dc84440055
commit
f4e74edd8c
@ -84,10 +84,10 @@ wrapPythonProgramsIn() {
|
||||
# We need to support both the case when makeWrapperArgs
|
||||
# is an array and a IFS-separated string.
|
||||
# TODO: remove the string branch when __structuredAttrs are used.
|
||||
if [[ "$(declare -p makeWrapperArgs)" =~ ^'declare -a makeWrapperArgs=' ]]; then
|
||||
if [[ "${makeWrapperArgs+defined}" == "defined" && "$(declare -p makeWrapperArgs)" =~ ^'declare -a makeWrapperArgs=' ]]; then
|
||||
local -a user_args=("${makeWrapperArgs[@]}")
|
||||
else
|
||||
local -a user_args="($makeWrapperArgs)"
|
||||
local -a user_args="(${makeWrapperArgs:-})"
|
||||
fi
|
||||
|
||||
local -a wrapProgramArgs=("${wrap_args[@]}" "${user_args[@]}")
|
||||
|
Loading…
Reference in New Issue
Block a user