diff --git a/pkgs/development/python-modules/help2man/default.nix b/pkgs/development/python-modules/help2man/default.nix new file mode 100644 index 000000000000..38cff88b4a12 --- /dev/null +++ b/pkgs/development/python-modules/help2man/default.nix @@ -0,0 +1,52 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, jinja2 +, setuptools-scm +, shtab +, tomli +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "help2man"; + version = "0.0.9"; + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "Freed-Wu"; + repo = "help2man"; + rev = version; + hash = "sha256-BIDn+LQzBtDHUtFvIRL3NMXNouO3cMLibuYBoFtCUxI="; + }; + + env.SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + jinja2 + setuptools-scm + shtab + tomli + ]; + + propagatedBuildInputs = [ + jinja2 + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "help2man" ]; + + meta = with lib; { + description = "Convert --help and --version to man page"; + homepage = "https://github.com/Freed-Wu/help2man"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ natsukium ]; + mainProgram = "help2man"; + }; +} diff --git a/pkgs/development/python-modules/setuptools-generate/default.nix b/pkgs/development/python-modules/setuptools-generate/default.nix new file mode 100644 index 000000000000..e4293bd118cd --- /dev/null +++ b/pkgs/development/python-modules/setuptools-generate/default.nix @@ -0,0 +1,56 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, setuptools-scm +, click +, help2man +, markdown-it-py +, shtab +, tomli +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "setuptools-generate"; + version = "0.0.6"; + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "Freed-Wu"; + repo = "setuptools-generate"; + rev = "refs/tags/${version}"; + hash = "sha256-xDjxkWy/n0jStI9eLcM6WduyU9vGjtBOmJ86dpXjceQ="; + }; + + env.SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + click + help2man + markdown-it-py + shtab + ] ++ lib.optionals (pythonOlder "3.11") [ + tomli + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "setuptools_generate" ]; + + meta = with lib; { + description = "Generate shell completions and man page when building a python package"; + homepage = "https://github.com/Freed-Wu/setuptools-generate"; + changelog = "https://github.com/Freed-Wu/setuptools-generate/blob/${src.rev}/CHANGELOG.md"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ natsukium ]; + }; +} diff --git a/pkgs/development/tools/misc/doq/default.nix b/pkgs/development/tools/misc/doq/default.nix index bf7be5dda755..8322c7e2b49c 100644 --- a/pkgs/development/tools/misc/doq/default.nix +++ b/pkgs/development/tools/misc/doq/default.nix @@ -5,16 +5,21 @@ python3.pkgs.buildPythonApplication rec { pname = "doq"; - version = "0.9.1"; - format = "setuptools"; + version = "0.10.0"; + pyproject = true; src = fetchFromGitHub { owner = "heavenshell"; repo = "py-doq"; rev = "refs/tags/${version}"; - hash = "sha256-6ff7R/2Jo4jYm1hA70yopjklpKIMWlj7DH9eKxOlfgU="; + hash = "sha256-iVu+5o8pZ5OhIzNItWbzUzqC3VQ6HCD7nP5gW/PVAMM="; }; + nativeBuildInputs = with python3.pkgs; [ + setuptools + setuptools-generate + ]; + propagatedBuildInputs = with python3.pkgs; [ jinja2 parso @@ -23,7 +28,7 @@ python3.pkgs.buildPythonApplication rec { nativeCheckInputs = with python3.pkgs; [ parameterized - unittestCheckHook + pytestCheckHook ]; pythonImportsCheck = [ "doq" ]; @@ -34,5 +39,6 @@ python3.pkgs.buildPythonApplication rec { changelog = "https://github.com/heavenshell/py-doq/releases/tag/${src.rev}"; license = licenses.bsd3; maintainers = with maintainers; [ natsukium ]; + mainProgram = "doq"; }; } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4f03909e38f3..903836f0e79e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4895,6 +4895,8 @@ self: super: with self; { heatzypy = callPackage ../development/python-modules/heatzypy { }; + help2man = callPackage ../development/python-modules/help2man { }; + helpdev = callPackage ../development/python-modules/helpdev { }; helper = callPackage ../development/python-modules/helper { }; @@ -12645,6 +12647,8 @@ self: super: with self; { setuptools-declarative-requirements = callPackage ../development/python-modules/setuptools-declarative-requirements { }; + setuptools-generate = callPackage ../development/python-modules/setuptools-generate { }; + setuptools-gettext = callPackage ../development/python-modules/setuptools-gettext { }; setuptools-git = callPackage ../development/python-modules/setuptools-git { };