Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / mkdocs / default.nix
bloba20958dbb747e5acf48093052952b19be732b3cd
2   # eval time deps
3   lib
4 , buildPythonPackage
5 , fetchFromGitHub
6 , pythonAtLeast
7 , pythonOlder
9 # buildtime
10 , hatchling
12 # runtime deps
13 , click
14 , ghp-import
15 , importlib-metadata
16 , jinja2
17 , markdown
18 , markupsafe
19 , mergedeep
20 , packaging
21 , pathspec
22 , platformdirs
23 , pyyaml
24 , pyyaml-env-tag
25 , watchdog
27 # optional-dependencies
28 , babel
29 , setuptools
31 # testing deps
32 , mock
33 , unittestCheckHook
36 buildPythonPackage rec {
37   pname = "mkdocs";
38   version = "1.5.3";
39   pyproject = true;
41   disabled = pythonOlder "3.7";
43   src = fetchFromGitHub {
44     owner = pname;
45     repo = pname;
46     rev = "refs/tags/${version}";
47     hash = "sha256-axH4AeL+osxoUIVJbW6YjiTfUr6TAXMB4raZ3oO0fyw=";
48   };
50   nativeBuildInputs = [
51     hatchling
52   ];
54   propagatedBuildInputs = [
55     click
56     ghp-import
57     jinja2
58     markdown
59     markupsafe
60     mergedeep
61     packaging
62     pathspec
63     platformdirs
64     pyyaml
65     pyyaml-env-tag
66     watchdog
67   ] ++ lib.optionals (pythonOlder "3.10") [
68     importlib-metadata
69   ];
71   passthru.optional-dependencies = {
72     i18n = [
73       babel
74     ] ++ lib.optionals (pythonAtLeast "3.12") [
75       setuptools
76     ];
77   };
79   nativeCheckInputs = [
80     unittestCheckHook
81     mock
82   ] ++ passthru.optional-dependencies.i18n;
84   unittestFlagsArray = [ "-v" "-p" "'*tests.py'" "mkdocs" ];
86   pythonImportsCheck = [ "mkdocs" ];
88   meta = with lib; {
89     changelog = "https://github.com/mkdocs/mkdocs/releases/tag/${version}";
90     description = "Project documentation with Markdown / static website generator";
91     mainProgram = "mkdocs";
92     downloadPage = "https://github.com/mkdocs/mkdocs";
93     longDescription = ''
94       MkDocs is a fast, simple and downright gorgeous static site generator that's
95       geared towards building project documentation. Documentation source files
96       are written in Markdown, and configured with a single YAML configuration file.
98       MkDocs can also be used to generate general-purpose websites.
99     '';
100     homepage = "http://mkdocs.org/";
101     license = licenses.bsd2;
102     platforms = platforms.unix;
103     maintainers = with maintainers; [ rkoe ];
104   };