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
15}:
16
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.
21
22buildPythonPackage rec {
23 pname = "flit";
24 version = "3.2.0";
25 format = "pyproject";
26
27 src = fetchFromGitHub {
28 owner = "takluyver";
29 repo = "flit";
30 rev = version;
31 sha256 = "sha256-zN+/oAyXBo6Ho7n/xhOQ2mjtPGKA1anCvl3sVf7t+Do=";
32 };
33
34 nativeBuildInputs = [
35 flit-core
36 ];
37
38 propagatedBuildInputs = [
39 docutils
40 requests
41 requests_download
42 flit-core
43 ] ++ lib.optionals (pythonOlder "3.6") [
44 zipfile36
45 ];
46
47 checkInputs = [ pytest testpath responses ];
48
49 # Disable test that needs some ini file.
50 # Disable test that wants hg
51 checkPhase = ''
52 HOME=$(mktemp -d) pytest -k "not test_invalid_classifier and not test_build_sdist"
53 '';
54
55 meta = with lib; {
56 description = "A simple packaging tool for simple packages";
57 homepage = "https://github.com/takluyver/flit";
58 license = licenses.bsd3;
59 maintainers = [ maintainers.fridh ];
60 };
61}