aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/python-modules/virtualenv
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/virtualenv')
-rw-r--r--nixpkgs/pkgs/development/python-modules/virtualenv/0001-Check-base_prefix-and-base_exec_prefix-for-Python-2.patch37
-rw-r--r--nixpkgs/pkgs/development/python-modules/virtualenv/default.nix8
2 files changed, 43 insertions, 2 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/virtualenv/0001-Check-base_prefix-and-base_exec_prefix-for-Python-2.patch b/nixpkgs/pkgs/development/python-modules/virtualenv/0001-Check-base_prefix-and-base_exec_prefix-for-Python-2.patch
new file mode 100644
index 00000000000..2b34da289e2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/virtualenv/0001-Check-base_prefix-and-base_exec_prefix-for-Python-2.patch
@@ -0,0 +1,37 @@
+From 21563405d6e2348ee457187f7fb61beb102bb367 Mon Sep 17 00:00:00 2001
+From: Frederik Rietdijk <fridh@fridh.nl>
+Date: Sun, 24 May 2020 09:33:13 +0200
+Subject: [PATCH] Check base_prefix and base_exec_prefix for Python 2
+
+This is a Nixpkgs-specific change so it can support virtualenvs from Nix envs.
+---
+ src/virtualenv/discovery/py_info.py | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/virtualenv/discovery/py_info.py b/src/virtualenv/discovery/py_info.py
+index 6f12128..74e9218 100644
+--- a/src/virtualenv/discovery/py_info.py
++++ b/src/virtualenv/discovery/py_info.py
+@@ -51,13 +51,17 @@ class PythonInfo(object):
+ self.version = u(sys.version)
+ self.os = u(os.name)
+
++ config_vars = {} if sys.version_info.major is not 2 else sysconfig._CONFIG_VARS
++ base_prefix = config_vars.get("prefix")
++ base_exec_prefix = config_vars.get("exec_prefix")
++
+ # information about the prefix - determines python home
+ self.prefix = u(abs_path(getattr(sys, "prefix", None))) # prefix we think
+- self.base_prefix = u(abs_path(getattr(sys, "base_prefix", None))) # venv
++ self.base_prefix = u(abs_path(getattr(sys, "base_prefix", base_prefix))) # venv
+ self.real_prefix = u(abs_path(getattr(sys, "real_prefix", None))) # old virtualenv
+
+ # information about the exec prefix - dynamic stdlib modules
+- self.base_exec_prefix = u(abs_path(getattr(sys, "base_exec_prefix", None)))
++ self.base_exec_prefix = u(abs_path(getattr(sys, "base_exec_prefix", base_exec_prefix)))
+ self.exec_prefix = u(abs_path(getattr(sys, "exec_prefix", None)))
+
+ self.executable = u(abs_path(sys.executable)) # the executable we were invoked via
+--
+2.25.1
+
diff --git a/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix b/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
index ff5172d415f..6a9d91d79c8 100644
--- a/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
@@ -17,11 +17,11 @@
buildPythonPackage rec {
pname = "virtualenv";
- version = "20.0.21";
+ version = "20.0.31";
src = fetchPypi {
inherit pname version;
- sha256 = "1kxnxxwa25ghlkpyrxa8pi49v87b7ps2gyla7d1h6kbz9sfn45m1";
+ sha256 = "43add625c53c596d38f971a465553f6318decc39d98512bc100fa1b1e839c8dc";
};
nativeBuildInputs = [
@@ -43,6 +43,10 @@ buildPythonPackage rec {
importlib-metadata
];
+ patches = lib.optionals (isPy27) [
+ ./0001-Check-base_prefix-and-base_exec_prefix-for-Python-2.patch
+ ];
+
meta = {
description = "A tool to create isolated Python environments";
homepage = "http://www.virtualenv.org";