1{ buildPythonPackage
2, fetchPypi
3, lib
4, stdenv
5, pythonOlder
6, isPy27
7, appdirs
8, contextlib2
9, distlib
10, filelock
11, importlib-metadata
12, importlib-resources
13, pathlib2
14, setuptools_scm
15, six
16}:
17
18buildPythonPackage rec {
19 pname = "virtualenv";
20 version = "20.0.31";
21
22 src = fetchPypi {
23 inherit pname version;
24 sha256 = "43add625c53c596d38f971a465553f6318decc39d98512bc100fa1b1e839c8dc";
25 };
26
27 nativeBuildInputs = [
28 setuptools_scm
29 ];
30
31 propagatedBuildInputs = [
32 appdirs
33 distlib
34 filelock
35 six
36 ] ++ lib.optionals isPy27 [
37 contextlib2
38 ] ++ lib.optionals (isPy27 && !stdenv.hostPlatform.isWindows) [
39 pathlib2
40 ] ++ lib.optionals (pythonOlder "3.7") [
41 importlib-resources
42 ] ++ lib.optionals (pythonOlder "3.8") [
43 importlib-metadata
44 ];
45
46 patches = lib.optionals (isPy27) [
47 ./0001-Check-base_prefix-and-base_exec_prefix-for-Python-2.patch
48 ];
49
50 meta = {
51 description = "A tool to create isolated Python environments";
52 homepage = "http://www.virtualenv.org";
53 license = lib.licenses.mit;
54 maintainers = with lib.maintainers; [ goibhniu ];
55 };
56}