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