pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / development / python-modules / mkdocs / default.nix
blobda196135439b2599a302adc5b7a932c11190d177
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   mkdocs-get-deps,
21   packaging,
22   pathspec,
23   platformdirs,
24   pyyaml,
25   pyyaml-env-tag,
26   watchdog,
28   # optional-dependencies
29   babel,
30   setuptools,
32   # testing deps
33   mock,
34   unittestCheckHook,
37 buildPythonPackage rec {
38   pname = "mkdocs";
39   version = "1.6.1";
40   pyproject = true;
42   disabled = pythonOlder "3.7";
44   src = fetchFromGitHub {
45     owner = pname;
46     repo = pname;
47     rev = "refs/tags/${version}";
48     hash = "sha256-JQSOgV12iYE6FubxdoJpWy9EHKFxyKoxrm/7arCn9Ak=";
49   };
51   build-system = [ hatchling ];
53   dependencies = [
54     click
55     ghp-import
56     jinja2
57     markdown
58     markupsafe
59     mergedeep
60     mkdocs-get-deps
61     packaging
62     pathspec
63     platformdirs
64     pyyaml
65     pyyaml-env-tag
66     watchdog
67   ] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ];
69   optional-dependencies = {
70     i18n = [ babel ] ++ lib.optionals (pythonAtLeast "3.12") [ setuptools ];
71   };
73   nativeCheckInputs = [
74     unittestCheckHook
75     mock
76   ] ++ optional-dependencies.i18n;
78   unittestFlagsArray = [
79     "-v"
80     "-p"
81     "'*tests.py'"
82     "mkdocs"
83   ];
85   pythonImportsCheck = [ "mkdocs" ];
87   meta = with lib; {
88     changelog = "https://github.com/mkdocs/mkdocs/releases/tag/${version}";
89     description = "Project documentation with Markdown / static website generator";
90     mainProgram = "mkdocs";
91     downloadPage = "https://github.com/mkdocs/mkdocs";
92     longDescription = ''
93       MkDocs is a fast, simple and downright gorgeous static site generator that's
94       geared towards building project documentation. Documentation source files
95       are written in Markdown, and configured with a single YAML configuration file.
97       MkDocs can also be used to generate general-purpose websites.
98     '';
99     homepage = "http://mkdocs.org/";
100     license = licenses.bsd2;
101     platforms = platforms.unix;
102     maintainers = with maintainers; [ rkoe ];
103   };