summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/interpreters/python/tests.nix10
-rw-r--r--pkgs/development/python-modules/filelock/3.2.nix6
-rw-r--r--pkgs/development/python-modules/platformdirs/2.nix43
-rw-r--r--pkgs/development/python-modules/virtualenv/default.nix3
-rw-r--r--pkgs/top-level/python2-packages.nix2
5 files changed, 62 insertions, 2 deletions
diff --git a/pkgs/development/interpreters/python/tests.nix b/pkgs/development/interpreters/python/tests.nix
index 764ab29e919..49dfe0e4644 100644
--- a/pkgs/development/interpreters/python/tests.nix
+++ b/pkgs/development/interpreters/python/tests.nix
@@ -20,7 +20,15 @@ let
     envs = let
       inherit python;
       pythonEnv = python.withPackages(ps: with ps; [ ]);
-      pythonVirtualEnv = python.withPackages(ps: with ps; [ virtualenv ]);
+      pythonVirtualEnv = if python.isPy3k
+        then
+           python.withPackages(ps: with ps; [ virtualenv ])
+        else
+          python.buildEnv.override {
+            extraLibs = with python.pkgs; [ virtualenv ];
+            # Collisions because of namespaces __init__.py
+            ignoreCollisions = true;
+          };
     in {
       # Plain Python interpreter
       plain = rec {
diff --git a/pkgs/development/python-modules/filelock/3.2.nix b/pkgs/development/python-modules/filelock/3.2.nix
index 3929361f7d8..401fdf582ff 100644
--- a/pkgs/development/python-modules/filelock/3.2.nix
+++ b/pkgs/development/python-modules/filelock/3.2.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib, buildPythonPackage, fetchPypi, setuptools-scm }:
 
 buildPythonPackage rec {
   pname = "filelock";
@@ -9,6 +9,10 @@ buildPythonPackage rec {
     sha256 = "1qry67zv2pmz8px6wdfbjqv75nmryy2ac7asqgs6q6db2722kpcw";
   };
 
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/benediktschmitt/py-filelock";
     description = "A platform independent file lock for Python";
diff --git a/pkgs/development/python-modules/platformdirs/2.nix b/pkgs/development/python-modules/platformdirs/2.nix
new file mode 100644
index 00000000000..6fe2bcbde60
--- /dev/null
+++ b/pkgs/development/python-modules/platformdirs/2.nix
@@ -0,0 +1,43 @@
+{ lib
+, appdirs
+, buildPythonPackage
+, fetchFromGitHub
+, platformdirs
+, pytest-mock
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "platformdirs";
+  version = "2.0.2";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-yCvfOPuX9hbQO9gbFHfeu+dGH+Vb9FM7wng1XU2D8hE=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    appdirs
+    pytest-mock
+    pytestCheckHook
+  ];
+
+ pythonImportsCheck = [ "platformdirs" ];
+
+  meta = with lib; {
+    description = "Python module for determining appropriate platform-specific directories";
+    homepage = "https://platformdirs.readthedocs.io/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/virtualenv/default.nix b/pkgs/development/python-modules/virtualenv/default.nix
index c5aa9f0bac9..f23764a5107 100644
--- a/pkgs/development/python-modules/virtualenv/default.nix
+++ b/pkgs/development/python-modules/virtualenv/default.nix
@@ -74,6 +74,9 @@ buildPythonPackage rec {
   disabledTests = [
     # Permission Error
     "test_bad_exe_py_info_no_raise"
+  ] ++ lib.optionals isPy27 [
+    "test_python_via_env_var"
+    "test_python_multi_value_prefer_newline_via_env_var"
   ];
 
   pythonImportsCheck = [ "virtualenv" ];
diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix
index df66908d513..64e8abd224b 100644
--- a/pkgs/top-level/python2-packages.nix
+++ b/pkgs/top-level/python2-packages.nix
@@ -396,6 +396,8 @@ with self; with super; {
 
   pip = callPackage ../development/python-modules/pip/20.nix { };
 
+  platformdirs = callPackage ../development/python-modules/platformdirs/2.nix { };
+
   pluggy = callPackage ../development/python-modules/pluggy/0.nix { };
 
   postorius = disabled super.postorius;