at 25.11-pre 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 = pname; 46 repo = pname; 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 ] ++ lib.optionals (pythonAtLeast "3.12") [ setuptools ]; 56 57 dependencies = [ 58 click 59 ghp-import 60 jinja2 61 markdown 62 markupsafe 63 mergedeep 64 mkdocs-get-deps 65 packaging 66 pathspec 67 platformdirs 68 pyyaml 69 pyyaml-env-tag 70 watchdog 71 ] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ]; 72 73 optional-dependencies = { 74 i18n = [ babel ]; 75 }; 76 77 nativeCheckInputs = [ 78 unittestCheckHook 79 mock 80 ] ++ optional-dependencies.i18n; 81 82 unittestFlagsArray = [ 83 "-v" 84 "-p" 85 "'*tests.py'" 86 "mkdocs" 87 ]; 88 89 pythonImportsCheck = [ "mkdocs" ]; 90 91 meta = with lib; { 92 changelog = "https://github.com/mkdocs/mkdocs/releases/tag/${version}"; 93 description = "Project documentation with Markdown / static website generator"; 94 mainProgram = "mkdocs"; 95 downloadPage = "https://github.com/mkdocs/mkdocs"; 96 longDescription = '' 97 MkDocs is a fast, simple and downright gorgeous static site generator that's 98 geared towards building project documentation. Documentation source files 99 are written in Markdown, and configured with a single YAML configuration file. 100 101 MkDocs can also be used to generate general-purpose websites. 102 ''; 103 homepage = "http://mkdocs.org/"; 104 license = licenses.bsd2; 105 platforms = platforms.unix; 106 maintainers = with maintainers; [ rkoe ]; 107 }; 108}