diff --git a/pkgs/by-name/st/strictdoc/package.nix b/pkgs/by-name/st/strictdoc/package.nix new file mode 100644 index 000000000000..18bc6db8c215 --- /dev/null +++ b/pkgs/by-name/st/strictdoc/package.nix @@ -0,0 +1,76 @@ +{ lib +, python3 +, fetchFromGitHub +}: + +python3.pkgs.buildPythonApplication rec { + pname = "strictdoc"; + version = "0.0.49"; + pyproject = true; + + src = fetchFromGitHub { + owner = "strictdoc-project"; + repo = "strictdoc"; + rev = version; + hash = "sha256-WtDplupXBtq39oKyo31p5NgXMWtbWgxtpnKn4qCJz3I="; + }; + + nativeBuildInputs = [ + python3.pkgs.hatchling + python3.pkgs.pythonRelaxDepsHook + ]; + + propagatedBuildInputs = with python3.pkgs; [ + beautifulsoup4 + docutils + fastapi + graphviz + html5lib + jinja2 + lxml + pybtex + pygments + datauri + python-multipart + selenium + requests + spdx-tools + webdriver-manager + reqif + setuptools + textx + toml + uvicorn + websockets + xlrd + xlsxwriter + ]; + + passthru.optional-dependencies = with python3.pkgs; { + development = [ + invoke + tox + ]; + nuitka = [ + nuitka + ordered-set + ]; + }; + + pythonRelaxDeps = [ + "python-datauri" + "xlsxwriter" + "lxml" + ]; + + pythonImportsCheck = [ "strictdoc" ]; + + meta = with lib; { + description = "Software for technical documentation and requirements management"; + homepage = "https://github.com/strictdoc-project/strictdoc"; + changelog = "https://github.com/strictdoc-project/strictdoc/blob/${src.rev}/CHANGELOG.md"; + license = licenses.asl20; + maintainers = with maintainers; [ yuu ]; + mainProgram = "strictdoc"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c9bca9f2acfa..cd28b3db8b71 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -39147,8 +39147,6 @@ with pkgs; jflap = callPackage ../applications/science/engineering/jflap { }; - strictdoc = python3.pkgs.callPackage ../applications/science/engineering/strictdoc { }; - ### SCIENCE / ELECTRONICS adms = callPackage ../applications/science/electronics/adms { };