nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 111 lines 2.2 kB view raw
1{ 2 # eval time deps 3 lib, 4 buildPythonPackage, 5 fetchFromGitHub, 6 pythonAtLeast, 7 8 # buildtime 9 hatchling, 10 11 # runtime deps 12 click, 13 ghp-import, 14 jinja2, 15 markdown, 16 markupsafe, 17 mergedeep, 18 mkdocs-get-deps, 19 packaging, 20 pathspec, 21 platformdirs, 22 pyyaml, 23 pyyaml-env-tag, 24 watchdog, 25 26 # optional-dependencies 27 babel, 28 setuptools, 29 30 # testing deps 31 mock, 32 unittestCheckHook, 33}: 34 35buildPythonPackage rec { 36 pname = "mkdocs"; 37 version = "1.6.1"; 38 pyproject = true; 39 40 src = fetchFromGitHub { 41 owner = "mkdocs"; 42 repo = "mkdocs"; 43 tag = version; 44 hash = "sha256-JQSOgV12iYE6FubxdoJpWy9EHKFxyKoxrm/7arCn9Ak="; 45 }; 46 47 patches = [ 48 # https://github.com/mkdocs/mkdocs/pull/4065 49 ./click-8.3.0-compat.patch 50 ]; 51 52 build-system = [ 53 hatchling 54 # babel, setuptools required as "build hooks" 55 babel 56 ] 57 ++ lib.optionals (pythonAtLeast "3.12") [ setuptools ]; 58 59 dependencies = [ 60 click 61 ghp-import 62 jinja2 63 markdown 64 markupsafe 65 mergedeep 66 mkdocs-get-deps 67 packaging 68 pathspec 69 platformdirs 70 pyyaml 71 pyyaml-env-tag 72 watchdog 73 ]; 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 = { 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 = lib.licenses.bsd2; 108 platforms = lib.platforms.unix; 109 maintainers = with lib.maintainers; [ rkoe ]; 110 }; 111}