From b028c14256d08c1dcb5a26f37edc879885cac20d Mon Sep 17 00:00:00 2001 From: aszlig Date: Tue, 7 Jul 2015 18:25:10 +0200 Subject: [PATCH] python-wrapper: Fix variable name for sed expr. Regression introduced by 5f557885313088a235762d3cb7fd76ec0b1e6547. The commit not only changes documentation, but also changed a few variable names. One of them is $i which now is $f and it contains the name of the file to wrap. This was accidentally found by @Profpatsch (thanks!) who found himself getting the basename of the last patch file to end up in sys.argv[0]. The reason for this is that $i is used in the for loop of the generic patchPhase and thus is reused later when the Python file is to be wrapped. I have also added a small comment noting about this, to be sure that this won't accidentally occur the next time someone changes variable names. Signed-off-by: aszlig --- pkgs/development/python-modules/generic/wrap.sh | 3 +++ pkgs/top-level/python-packages.nix | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/generic/wrap.sh b/pkgs/development/python-modules/generic/wrap.sh index 33b9a06f6080..b6d2a66afff6 100644 --- a/pkgs/development/python-modules/generic/wrap.sh +++ b/pkgs/development/python-modules/generic/wrap.sh @@ -37,6 +37,9 @@ wrapPythonProgramsIn() { # dont wrap EGG-INFO scripts since they are called from python if echo "$f" | grep -qv EGG-INFO/scripts; then echo "wrapping \`$f'..." + # The magicalSedExpression will invoke a "$(basename "$f")", so + # if you change $f to something else, be sure to also change it + # in pkgs/top-level/python-packages.nix! sed -i "$f" -re '@magicalSedExpression@' # wrapProgram creates the executable shell script described # above. The script will set PYTHONPATH and PATH variables.! diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d2aecc941581..3e9e07361dc6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -68,7 +68,7 @@ let /\\$/{N;br} /__future__|^ *(#.*)?$/{n;br} ${concatImapStrings mkStringSkipper quoteVariants} - /^ *[^# ]/i import sys; sys.argv[0] = '"'$(basename "$i")'"' + /^ *[^# ]/i import sys; sys.argv[0] = '"'$(basename "$f")'"' } ''; }