diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2011-03-28 16:33:33 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2011-03-28 16:33:33 +0000 |
commit | 47adaa80e310ed270b2bccb05cf2c10d30cde453 (patch) | |
tree | 27ff8c9be064967b0b264814fb7fee57137b87b0 /pkgs/development/python-modules/generic/wrap.sh | |
parent | 641834ddf6aa2e3876378f04ee4f47c3b2153542 (diff) | |
download | nixpkgs-47adaa80e310ed270b2bccb05cf2c10d30cde453.tar nixpkgs-47adaa80e310ed270b2bccb05cf2c10d30cde453.tar.gz nixpkgs-47adaa80e310ed270b2bccb05cf2c10d30cde453.tar.bz2 nixpkgs-47adaa80e310ed270b2bccb05cf2c10d30cde453.tar.lz nixpkgs-47adaa80e310ed270b2bccb05cf2c10d30cde453.tar.xz nixpkgs-47adaa80e310ed270b2bccb05cf2c10d30cde453.tar.zst nixpkgs-47adaa80e310ed270b2bccb05cf2c10d30cde453.zip |
* Move the wrapPythonPrograms function into a separate setup hook
(wrapPython). svn path=/nixpkgs/branches/modular-python/; revision=26580
Diffstat (limited to 'pkgs/development/python-modules/generic/wrap.sh')
-rw-r--r-- | pkgs/development/python-modules/generic/wrap.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/generic/wrap.sh b/pkgs/development/python-modules/generic/wrap.sh new file mode 100644 index 00000000000..98162c8807f --- /dev/null +++ b/pkgs/development/python-modules/generic/wrap.sh @@ -0,0 +1,40 @@ +wrapPythonPrograms() { + wrapPythonProgramsIn $out "$out $pythonPath" +} + +wrapPythonProgramsIn() { + local dir="$1" + local pythonPath="$2" + local i + + declare -A pythonPathsSeen=() + program_PYTHONPATH= + program_PATH= + for i in $pythonPath; do + _addToPythonPath $i + done + + for i in $(find "$dir" -type f -perm +0100); do + if head -n1 "$i" | grep -q /python; then + echo "wrapping \`$i'..." + wrapProgram "$i" \ + --prefix PYTHONPATH ":" $program_PYTHONPATH \ + --prefix PATH ":" $program_PATH + fi + done +} + +_addToPythonPath() { + local dir="$1" + if [ -n "${pythonPathsSeen[$dir]}" ]; then return; fi + pythonPathsSeen[$dir]=1 + addToSearchPath program_PYTHONPATH $dir/lib/python2.7/site-packages + addToSearchPath program_PATH $dir/bin + local prop="$dir/nix-support/propagated-build-native-inputs" + if [ -e $prop ]; then + local i + for i in $(cat $prop); do + _addToPythonPath $i + done + fi +} |