From b9d1f44354bfbde79bcf8b54fa62838de86bfb53 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 18 Dec 2021 14:22:18 +0100 Subject: [PATCH 1/4] python2Packages.filelock: use correct version instead of 0.0.0 when setuptools-scm is not used. This broke virtualenv. --- pkgs/development/python-modules/filelock/3.2.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/filelock/3.2.nix b/pkgs/development/python-modules/filelock/3.2.nix index 3929361f7d8c..401fdf582ffb 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"; From e4ab3d72b814f7d4d66cb578f106e541fd1d8686 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 18 Dec 2021 14:30:54 +0100 Subject: [PATCH 2/4] python2Packages.virtualenv: disable two failing tests --- pkgs/development/python-modules/virtualenv/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/virtualenv/default.nix b/pkgs/development/python-modules/virtualenv/default.nix index c5aa9f0bac94..f23764a5107d 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" ]; From 2e5cfa6de751cc2e7d75a0fd3060af63cf37a427 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 18 Dec 2021 14:31:13 +0100 Subject: [PATCH 3/4] python2Packages.platformdirs: init at 2.0.2 needed for python2Packages.virtualenv --- .../python-modules/platformdirs/2.nix | 43 +++++++++++++++++++ pkgs/top-level/python2-packages.nix | 2 + 2 files changed, 45 insertions(+) create mode 100644 pkgs/development/python-modules/platformdirs/2.nix diff --git a/pkgs/development/python-modules/platformdirs/2.nix b/pkgs/development/python-modules/platformdirs/2.nix new file mode 100644 index 000000000000..6fe2bcbde60a --- /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/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index df66908d5135..64e8abd224b6 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; From 4853c2d3759bb5d7a894a3457684b71bd8b9c79c Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 18 Dec 2021 14:43:50 +0100 Subject: [PATCH 4/4] python2.tests.nixenv-virtualenv: fix test by using a python env that ignores collisions in the backports packages. --- pkgs/development/interpreters/python/tests.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/python/tests.nix b/pkgs/development/interpreters/python/tests.nix index 764ab29e919b..49dfe0e4644e 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 {