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 ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
36
37 nativeCheckInputs = [
38 git
39 pytestCheckHook
40 ];
41
42 checkInputs = [ breezy ];
43
44 disabledTests = [
45 # Test wants to setup a venv
46 "test_build_sdist_pep517_isolated"
47 ];
48
49 pythonImportsCheck = [ "check_manifest" ];
50
51 meta = with lib; {
52 description = "Check MANIFEST.in in a Python source package for completeness";
53 homepage = "https://github.com/mgedmin/check-manifest";
54 changelog = "https://github.com/mgedmin/check-manifest/blob/${version}/CHANGES.rst";
55 license = licenses.mit;
56 maintainers = with maintainers; [ lewo ];
57 mainProgram = "check-manifest";
58 };
59}