1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 setuptools-scm,
7 click,
8 help2man,
9 markdown-it-py,
10 shtab,
11 tomli,
12 pytestCheckHook,
13}:
14
15buildPythonPackage rec {
16 pname = "setuptools-generate";
17 version = "0.0.6";
18 pyproject = true;
19
20 disabled = pythonOlder "3.9";
21
22 src = fetchFromGitHub {
23 owner = "Freed-Wu";
24 repo = "setuptools-generate";
25 tag = version;
26 hash = "sha256-xDjxkWy/n0jStI9eLcM6WduyU9vGjtBOmJ86dpXjceQ=";
27 };
28
29 nativeBuildInputs = [ setuptools-scm ];
30
31 propagatedBuildInputs = [
32 click
33 help2man
34 markdown-it-py
35 shtab
36 ]
37 ++ lib.optionals (pythonOlder "3.11") [ tomli ];
38
39 nativeCheckInputs = [ pytestCheckHook ];
40
41 pythonImportsCheck = [ "setuptools_generate" ];
42
43 meta = with lib; {
44 description = "Generate shell completions and man page when building a python package";
45 homepage = "https://github.com/Freed-Wu/setuptools-generate";
46 changelog = "https://github.com/Freed-Wu/setuptools-generate/blob/${src.rev}/CHANGELOG.md";
47 license = licenses.gpl3Only;
48 maintainers = with maintainers; [ natsukium ];
49 };
50}