diff options
Diffstat (limited to 'pkgs/development/interpreters/python/wrapper.nix')
-rw-r--r-- | pkgs/development/interpreters/python/wrapper.nix | 14 |
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; |