Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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.0"; 40 pyproject = true; 41 42 disabled = pythonOlder "3.7"; 43 44 src = fetchFromGitHub { 45 owner = pname; 46 repo = pname; 47 rev = "refs/tags/${version}"; 48 hash = "sha256-tpDKomHFoGYPLz7rcohkU9w7G/5+YkJ5Y6wJJRyMecI="; 49 }; 50 51 build-system = [ hatchling ]; 52 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 ]; 68 69 passthru.optional-dependencies = { 70 i18n = [ babel ] ++ lib.optionals (pythonAtLeast "3.12") [ setuptools ]; 71 }; 72 73 nativeCheckInputs = [ 74 unittestCheckHook 75 mock 76 ] ++ passthru.optional-dependencies.i18n; 77 78 unittestFlagsArray = [ 79 "-v" 80 "-p" 81 "'*tests.py'" 82 "mkdocs" 83 ]; 84 85 pythonImportsCheck = [ "mkdocs" ]; 86 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. 96 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 }; 104}