1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 flit-core,
8
9 # dependencies
10 docutils,
11 pip,
12 requests,
13 tomli-w,
14
15 # tests
16 pytestCheckHook,
17 testpath,
18 responses,
19}:
20
21# Flit is actually an application to build universal wheels.
22# It requires Python 3 and should eventually be moved outside of
23# python-packages.nix. When it will be used to build wheels,
24# care should be taken that there is no mingling of PYTHONPATH.
25
26buildPythonPackage rec {
27 pname = "flit";
28 version = "3.12.0";
29 format = "pyproject";
30
31 src = fetchFromGitHub {
32 owner = "pypa";
33 repo = "flit";
34 rev = version;
35 hash = "sha256-oWV+KK22+iK99iCOCKCV1OCLq2Ef1bcYRKXT5GHwiL8=";
36 };
37
38 build-system = [ flit-core ];
39
40 dependencies = [
41 docutils
42 flit-core
43 pip
44 requests
45 tomli-w
46 ];
47
48 nativeCheckInputs = [
49 pytestCheckHook
50 testpath
51 responses
52 ];
53
54 disabledTests = [
55 # needs some ini file.
56 "test_invalid_classifier"
57 # calls pip directly. disabled for PEP 668
58 "test_install_data_dir"
59 "test_install_module_pep621"
60 "test_symlink_data_dir"
61 "test_symlink_module_pep621"
62 ];
63
64 meta = with lib; {
65 changelog = "https://github.com/pypa/flit/blob/${version}/doc/history.rst";
66 description = "Simple packaging tool for simple packages";
67 mainProgram = "flit";
68 homepage = "https://github.com/pypa/flit";
69 license = licenses.bsd3;
70 };
71}