nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
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 disabledTestPaths = [
45 # network access to install setuptools, likely due to pip update
46 "tests/test_examples.py"
47 ];
48
49 pythonImportsCheck = [ "argparse_manpage" ];
50
51 optional-dependencies = {
52 setuptools = [ setuptools ];
53 };
54
55 meta = {
56 description = "Automatically build man-pages for your Python project";
57 homepage = "https://github.com/praiskup/argparse-manpage";
58 changelog = "https://github.com/praiskup/argparse-manpage/blob/${src.tag}/NEWS";
59 license = lib.licenses.asl20;
60 maintainers = with lib.maintainers; [ nickcao ];
61 mainProgram = "argparse-manpage";
62 };
63}