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 rev = "refs/tags/${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 ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
37
38 nativeCheckInputs = [ pytestCheckHook ];
39
40 pythonImportsCheck = [ "setuptools_generate" ];
41
42 meta = with lib; {
43 description = "Generate shell completions and man page when building a python package";
44 homepage = "https://github.com/Freed-Wu/setuptools-generate";
45 changelog = "https://github.com/Freed-Wu/setuptools-generate/blob/${src.rev}/CHANGELOG.md";
46 license = licenses.gpl3Only;
47 maintainers = with maintainers; [ natsukium ];
48 };
49}