summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2015-11-30 11:08:19 +0100
committerDomen Kožar <domen@dev.si>2015-11-30 11:08:19 +0100
commitdc977f78a87ad71bc94de7fb2fa132cacdbcedec (patch)
tree2bf15e5ec4fd4d07ab0e1da44e3ce752345c2b87
parent7b7a997a35a4e1672b2ecf6facafe47446a8165b (diff)
parent12e8f3c6aae56353510314391072912fae5ef3ed (diff)
Merge pull request #11147 from FRidh/wrapper
python: apply wrapper to all packages in python.buildEnv extraLibs
-rw-r--r--pkgs/development/interpreters/python/wrapper.nix21
1 files changed, 15 insertions, 6 deletions
diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix
index f757147b0475..ba39965cb351 100644
--- a/pkgs/development/interpreters/python/wrapper.nix
+++ b/pkgs/development/interpreters/python/wrapper.nix
@@ -6,10 +6,13 @@
# Create a python executable that knows about additional packages.
let
recursivePthLoader = import ../../python-modules/recursive-pth-loader/default.nix { stdenv = stdenv; python = python; };
- env = (buildEnv {
- name = "${python.name}-env";
+ env = (
+ let
paths = stdenv.lib.filter (x : x ? pythonPath) (stdenv.lib.closePropagation extraLibs) ++ [ python recursivePthLoader ];
+ in buildEnv {
+ name = "${python.name}-env";
+ inherit paths;
inherit ignoreCollisions;
postBuild = ''
@@ -20,10 +23,16 @@ let
fi
mkdir -p "$out/bin"
- cd "${python}/bin"
- for prg in *; do
- rm -f "$out/bin/$prg"
- makeWrapper "${python}/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out"
+ for path in ${stdenv.lib.concatStringsSep " " paths}; do
+ if [ -d "$path/bin" ]; then
+ cd "$path/bin"
+ for prg in *; do
+ if [ -f "$prg" ]; then
+ rm -f "$out/bin/$prg"
+ makeWrapper "$path/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out"
+ fi
+ done
+ fi
done
'' + postBuild;