about summary refs log tree commit diff
path: root/pkgs/development/interpreters
diff options
context:
space:
mode:
authorTom McLaughlin <pyro777@gmail.com>2018-11-21 23:20:38 -0700
committerTom McLaughlin <pyro777@gmail.com>2019-05-13 02:56:32 -0700
commit0045164b1517419fdfbd3c5cec2eadb7aae9088a (patch)
tree8a3a42015074c49c5febaee87a6c0b62c4439f02 /pkgs/development/interpreters
parent91047d75e12f38a998a9bfc2b9eccf5174b6eeb3 (diff)
downloadnixlib-0045164b1517419fdfbd3c5cec2eadb7aae9088a.tar
nixlib-0045164b1517419fdfbd3c5cec2eadb7aae9088a.tar.gz
nixlib-0045164b1517419fdfbd3c5cec2eadb7aae9088a.tar.bz2
nixlib-0045164b1517419fdfbd3c5cec2eadb7aae9088a.tar.lz
nixlib-0045164b1517419fdfbd3c5cec2eadb7aae9088a.tar.xz
nixlib-0045164b1517419fdfbd3c5cec2eadb7aae9088a.tar.zst
nixlib-0045164b1517419fdfbd3c5cec2eadb7aae9088a.zip
Add flag to disable PYTHONNOUSERSITE for wrapped python binaries
Diffstat (limited to 'pkgs/development/interpreters')
-rw-r--r--pkgs/development/interpreters/python/mk-python-derivation.nix4
-rw-r--r--pkgs/development/interpreters/python/wrap.sh5
2 files changed, 8 insertions, 1 deletions
diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix
index 4951ae4499f8..46ba7765cdcc 100644
--- a/pkgs/development/interpreters/python/mk-python-derivation.nix
+++ b/pkgs/development/interpreters/python/mk-python-derivation.nix
@@ -46,6 +46,9 @@
 # Skip wrapping of python programs altogether
 , dontWrapPythonPrograms ? false
 
+# Skip setting the PYTHONNOUSERSITE environment variable in wrapped programs
+, skipNoUserSite ? false
+
 # Remove bytecode from bin folder.
 # When a Python script has the extension `.py`, bytecode is generated
 # Typically, executables in bin have no extension, so no bytecode is generated.
@@ -93,6 +96,7 @@ let self = toPythonModule (python.stdenv.mkDerivation (builtins.removeAttrs attr
   installCheckInputs = checkInputs;
 
   postFixup = lib.optionalString (!dontWrapPythonPrograms) ''
+    ${if skipNoUserSite then "export SKIPNOUSERSITE=1" else ""}
     wrapPythonPrograms
   '' + lib.optionalString removeBinBytecode ''
     if [ -d "$out/bin" ]; then
diff --git a/pkgs/development/interpreters/python/wrap.sh b/pkgs/development/interpreters/python/wrap.sh
index b2d65422db45..d779826cf81a 100644
--- a/pkgs/development/interpreters/python/wrap.sh
+++ b/pkgs/development/interpreters/python/wrap.sh
@@ -73,9 +73,12 @@ wrapPythonProgramsIn() {
                     # (see pkgs/build-support/setup-hooks/make-wrapper.sh)
                     local -a wrap_args=("$f"
                                     --prefix PATH ':' "$program_PATH"
-                                    --set PYTHONNOUSERSITE "true"
                                     )
 
+                    if [ -z "$SKIPNOUSERSITE" ]; then
+                        wrap_args+=(--set PYTHONNOUSERSITE "true")
+                    fi
+
                     # Add any additional arguments provided by makeWrapperArgs
                     # argument to buildPythonPackage.
                     local -a user_args="($makeWrapperArgs)"