linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / python-modules / flit / default.nix
blobc63fd1edeaf937ba81e2919aeaaabd87fddae26d
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , fetchpatch
5 , isPy3k
6 , docutils
7 , requests
8 , requests_download
9 , zipfile36
10 , pythonOlder
11 , pytest
12 , testpath
13 , responses
14 , flit-core
17 # Flit is actually an application to build universal wheels.
18 # It requires Python 3 and should eventually be moved outside of
19 # python-packages.nix. When it will be used to build wheels,
20 # care should be taken that there is no mingling of PYTHONPATH.
22 buildPythonPackage rec {
23   pname = "flit";
24   version = "3.0.0";
25   disabled = !isPy3k;
26   format = "pyproject";
28   src = fetchFromGitHub {
29     owner = "takluyver";
30     repo = "flit";
31     rev = version;
32     sha256 = "zk6mozS3Q9U43PQe/DxgwwsBRJ6Qwb+rSUVGXHijD+g=";
33   };
35   nativeBuildInputs = [
36     flit-core
37   ];
39   # Use toml instead of pytoml
40   # Resolves infinite recursion since packaging started using flit.
41   patches = [
42     (fetchpatch {
43       url = "https://github.com/takluyver/flit/commit/b81b1da55ef0f2768413669725d2874fcb0c29fb.patch";
44       sha256 = "11oNaYsm00/j2046V9C0idpSeG7TpY3JtLuxX3ZL/OI=";
45     })
46   ];
48   propagatedBuildInputs = [
49     docutils
50     requests
51     requests_download
52     flit-core
53   ] ++ lib.optionals (pythonOlder "3.6") [
54     zipfile36
55   ];
57   checkInputs = [ pytest testpath responses ];
59   # Disable test that needs some ini file.
60   # Disable test that wants hg
61   checkPhase = ''
62     HOME=$(mktemp -d) pytest -k "not test_invalid_classifier and not test_build_sdist"
63   '';
65   meta = with lib; {
66     description = "A simple packaging tool for simple packages";
67     homepage = "https://github.com/takluyver/flit";
68     license = licenses.bsd3;
69     maintainers = [ maintainers.fridh ];
70   };