at master 2.2 kB view raw
1{ 2 # eval time deps 3 lib, 4 buildPythonPackage, 5 fetchFromGitHub, 6 pythonAtLeast, 7 pythonOlder, 8 9 # buildtime 10 hatchling, 11 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, 27 28 # optional-dependencies 29 babel, 30 setuptools, 31 32 # testing deps 33 mock, 34 unittestCheckHook, 35}: 36 37buildPythonPackage rec { 38 pname = "mkdocs"; 39 version = "1.6.1"; 40 pyproject = true; 41 42 disabled = pythonOlder "3.7"; 43 44 src = fetchFromGitHub { 45 owner = "mkdocs"; 46 repo = "mkdocs"; 47 tag = version; 48 hash = "sha256-JQSOgV12iYE6FubxdoJpWy9EHKFxyKoxrm/7arCn9Ak="; 49 }; 50 51 build-system = [ 52 hatchling 53 # babel, setuptools required as "build hooks" 54 babel 55 ] 56 ++ lib.optionals (pythonAtLeast "3.12") [ setuptools ]; 57 58 dependencies = [ 59 click 60 ghp-import 61 jinja2 62 markdown 63 markupsafe 64 mergedeep 65 mkdocs-get-deps 66 packaging 67 pathspec 68 platformdirs 69 pyyaml 70 pyyaml-env-tag 71 watchdog 72 ] 73 ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ]; 74 75 optional-dependencies = { 76 i18n = [ babel ]; 77 }; 78 79 nativeCheckInputs = [ 80 unittestCheckHook 81 mock 82 ] 83 ++ optional-dependencies.i18n; 84 85 unittestFlagsArray = [ 86 "-v" 87 "-p" 88 "'*tests.py'" 89 "mkdocs" 90 ]; 91 92 pythonImportsCheck = [ "mkdocs" ]; 93 94 meta = with lib; { 95 changelog = "https://github.com/mkdocs/mkdocs/releases/tag/${version}"; 96 description = "Project documentation with Markdown / static website generator"; 97 mainProgram = "mkdocs"; 98 downloadPage = "https://github.com/mkdocs/mkdocs"; 99 longDescription = '' 100 MkDocs is a fast, simple and downright gorgeous static site generator that's 101 geared towards building project documentation. Documentation source files 102 are written in Markdown, and configured with a single YAML configuration file. 103 104 MkDocs can also be used to generate general-purpose websites. 105 ''; 106 homepage = "http://mkdocs.org/"; 107 license = licenses.bsd2; 108 platforms = platforms.unix; 109 maintainers = with maintainers; [ rkoe ]; 110 }; 111}