python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / package-management / pdm / default.nix
blob5b98582a1dff5acec13c6b74e83124bae590763e
1 { lib, python3, fetchFromGitHub, fetchurl }:
2 let
3   python = python3.override {
4     # override resolvelib due to
5     # 1. pdm requiring a later version of resolvelib
6     # 2. Ansible being packaged as a library
7     # 3. Ansible being unable to upgrade to a later version of resolvelib
8     # see here for more details: https://github.com/NixOS/nixpkgs/pull/155380/files#r786255738
9     packageOverrides = self: super: {
10       resolvelib = super.resolvelib.overridePythonAttrs (attrs: rec {
11         version = "0.8.1";
12         src = fetchFromGitHub {
13           owner = "sarugaku";
14           repo = "resolvelib";
15           rev = version;
16           sha256 = "sha256-QDHEdVET7HN2ZCKxNUMofabR+rxJy0erWhNQn94D7eI=";
17         };
18       });
19     };
20     self = python;
21   };
24 with python.pkgs;
25 buildPythonApplication rec {
26   pname = "pdm";
27   version = "2.1.5";
28   format = "pyproject";
29   disabled = pythonOlder "3.7";
31   src = fetchPypi {
32     inherit pname version;
33     hash = "sha256-W+5B1JfOyTpJaT+le1zxyDNwGATrErxNNHw+x5VdfOc=";
34   };
36   propagatedBuildInputs = [
37     blinker
38     cachecontrol
39     certifi
40     findpython
41     installer
42     packaging
43     pdm-pep517
44     pep517
45     pip
46     platformdirs
47     python-dotenv
48     requests-toolbelt
49     resolvelib
50     rich
51     shellingham
52     tomli
53     tomlkit
54     unearth
55     virtualenv
56   ]
57   ++ cachecontrol.optional-dependencies.filecache
58   ++ lib.optionals (pythonOlder "3.8") [
59     importlib-metadata
60     typing-extensions
61   ];
63   checkInputs = [
64     pytestCheckHook
65     pytest-mock
66     pytest-xdist
67   ];
69   pytestFlagsArray = [
70     "-m 'not network'"
71   ];
73   preCheck = ''
74     export HOME=$TMPDIR
75   '';
77   disabledTests = [
78     # fails to locate setuptools (maybe upstream bug)
79     "test_convert_setup_py_project"
80     # pythonfinder isn't aware of nix's python infrastructure
81     "test_use_wrapper_python"
82     "test_use_invalid_wrapper_python"
83   ];
85   meta = with lib; {
86     homepage = "https://pdm.fming.dev";
87     description = "A modern Python package manager with PEP 582 support";
88     license = licenses.mit;
89     maintainers = with maintainers; [ cpcloud ];
90   };