1{
2 lib,
3 breezy,
4 build,
5 buildPythonPackage,
6 fetchFromGitHub,
7 git,
8 pep517,
9 pytestCheckHook,
10 setuptools,
11 tomli,
12 pythonOlder,
13}:
14
15buildPythonPackage rec {
16 pname = "check-manifest";
17 version = "0.50";
18 pyproject = true;
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "mgedmin";
24 repo = "check-manifest";
25 tag = version;
26 hash = "sha256-wZ0mx2b3QkwTOPMLQ03SFVwnbsVO5RezOSX50ZOYvw8=";
27 };
28
29 build-system = [ setuptools ];
30
31 dependencies = [
32 build
33 pep517
34 setuptools
35 ]
36 ++ lib.optionals (pythonOlder "3.11") [ tomli ];
37
38 nativeCheckInputs = [
39 git
40 pytestCheckHook
41 ];
42
43 checkInputs = [ breezy ];
44
45 disabledTests = [
46 # Test wants to setup a venv
47 "test_build_sdist_pep517_isolated"
48 ];
49
50 pythonImportsCheck = [ "check_manifest" ];
51
52 meta = with lib; {
53 description = "Check MANIFEST.in in a Python source package for completeness";
54 homepage = "https://github.com/mgedmin/check-manifest";
55 changelog = "https://github.com/mgedmin/check-manifest/blob/${version}/CHANGES.rst";
56 license = licenses.mit;
57 maintainers = with maintainers; [ lewo ];
58 mainProgram = "check-manifest";
59 };
60}