1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, docutils
5, requests
6, requests_download
7, zipfile36
8, pythonOlder
9, pytest
10, testpath
11, responses
12, flit-core
13}:
14
15# Flit is actually an application to build universal wheels.
16# It requires Python 3 and should eventually be moved outside of
17# python-packages.nix. When it will be used to build wheels,
18# care should be taken that there is no mingling of PYTHONPATH.
19
20buildPythonPackage rec {
21 pname = "flit";
22 version = "3.2.0";
23 format = "pyproject";
24
25 src = fetchFromGitHub {
26 owner = "takluyver";
27 repo = "flit";
28 rev = version;
29 sha256 = "sha256-zN+/oAyXBo6Ho7n/xhOQ2mjtPGKA1anCvl3sVf7t+Do=";
30 };
31
32 nativeBuildInputs = [
33 flit-core
34 ];
35
36 propagatedBuildInputs = [
37 docutils
38 requests
39 requests_download
40 flit-core
41 ] ++ lib.optionals (pythonOlder "3.6") [
42 zipfile36
43 ];
44
45 checkInputs = [ pytest testpath responses ];
46
47 # Disable test that needs some ini file.
48 # Disable test that wants hg
49 checkPhase = ''
50 HOME=$(mktemp -d) pytest -k "not test_invalid_classifier and not test_build_sdist"
51 '';
52
53 meta = with lib; {
54 description = "A simple packaging tool for simple packages";
55 homepage = "https://github.com/takluyver/flit";
56 license = licenses.bsd3;
57 maintainers = [ maintainers.fridh ];
58 };
59}