summary refs log tree commit diff
path: root/pkgs/development/interpreters/python/wrapper.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/interpreters/python/wrapper.nix')
-rw-r--r--pkgs/development/interpreters/python/wrapper.nix14
1 files changed, 9 insertions, 5 deletions
diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix
index 1699690749f..ccfbcfcdd42 100644
--- a/pkgs/development/interpreters/python/wrapper.nix
+++ b/pkgs/development/interpreters/python/wrapper.nix
@@ -1,25 +1,29 @@
-{ stdenv, python, buildEnv, makeWrapper, recursivePthLoader, extraLibs ? [] }:
+{ stdenv, python, buildEnv, makeWrapper, recursivePthLoader, extraLibs ? [], postBuild ? ""
+, stdLibs ? stdenv.lib.attrValues python.modules, ignoreCollisions ? false
+}:
 
 # Create a python executable that knows about additional packages.
 
 (buildEnv {
   name = "python-${python.version}-wrapper";
-  paths = extraLibs ++ [ python makeWrapper recursivePthLoader ];
-  ignoreCollisions = false;
+  paths = stdenv.lib.filter (x : x ? pythonPath) (stdenv.lib.closePropagation extraLibs) ++ stdLibs ++ [ python recursivePthLoader ];
+
+  inherit ignoreCollisions;
 
   postBuild = ''
     . "${makeWrapper}/nix-support/setup-hook"
+
     if [ -L "$out/bin" ]; then
         unlink "$out/bin"
     fi
     mkdir -p "$out/bin"
+
     cd "${python}/bin"
     for prg in *; do
-      echo "$prg --> $out/bin/$prg"
       rm -f "$out/bin/$prg"
       makeWrapper "${python}/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out"
     done
-  '';
+  '' + postBuild;
 }) // {
   inherit python;
   inherit (python) meta;