1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 setuptools,
7 packaging,
8 tomli,
9 pytestCheckHook,
10 pip,
11}:
12
13buildPythonPackage rec {
14 pname = "argparse-manpage";
15 version = "4.7";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "praiskup";
20 repo = "argparse-manpage";
21 tag = "v${version}";
22 hash = "sha256-nonC0oK3T/8+gSa0lRaCf2wvvXoRBPP8b1jioNmW4qI=";
23 };
24
25 nativeBuildInputs = [
26 setuptools
27 packaging
28 ]
29 ++ lib.optionals (pythonOlder "3.11") [ tomli ];
30
31 propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [ tomli ];
32
33 nativeCheckInputs = [
34 pytestCheckHook
35 pip
36 ];
37
38 disabledTests = [
39 # TypeError: dist must be a Distribution instance
40 "test_old_example"
41 "test_old_example_file_name"
42 ];
43
44 pythonImportsCheck = [ "argparse_manpage" ];
45
46 optional-dependencies = {
47 setuptools = [ setuptools ];
48 };
49
50 meta = with lib; {
51 description = "Automatically build man-pages for your Python project";
52 homepage = "https://github.com/praiskup/argparse-manpage";
53 changelog = "https://github.com/praiskup/argparse-manpage/blob/${src.tag}/NEWS";
54 license = licenses.asl20;
55 maintainers = with maintainers; [ nickcao ];
56 mainProgram = "argparse-manpage";
57 };
58}