1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 flit-core, 6 pythonOlder, 7 defusedxml, 8 docutils, 9 jinja2, 10 markdown-it-py, 11 mdit-py-plugins, 12 pyyaml, 13 sphinx, 14 typing-extensions, 15 beautifulsoup4, 16 pytest-param-files, 17 pytest-regressions, 18 sphinx-pytest, 19 pytestCheckHook, 20}: 21buildPythonPackage rec { 22 pname = "myst-parser"; 23 version = "4.0.1"; 24 pyproject = true; 25 26 disabled = pythonOlder "3.10"; 27 28 src = fetchFromGitHub { 29 owner = "executablebooks"; 30 repo = "myst-parser"; 31 tag = "v${version}"; 32 hash = "sha256-/Prauz4zuJY39EK2BmgBbH1uwjF4K38e5X5hPYwRBl0="; 33 }; 34 35 build-system = [ flit-core ]; 36 37 dependencies = [ 38 docutils 39 jinja2 40 mdit-py-plugins 41 markdown-it-py 42 pyyaml 43 sphinx 44 typing-extensions 45 ]; 46 47 nativeCheckInputs = [ 48 beautifulsoup4 49 defusedxml 50 pytest-param-files 51 pytest-regressions 52 sphinx-pytest 53 pytestCheckHook 54 ] 55 ++ markdown-it-py.optional-dependencies.linkify; 56 57 disabledTests = [ 58 # sphinx 8.2 compat 59 # https://github.com/executablebooks/MyST-Parser/issues/1030 60 "test_sphinx_directives" 61 "test_references_singlehtml" 62 "test_extended_syntaxes" 63 "test_fieldlist_extension" 64 "test_includes" 65 ]; 66 67 pythonImportsCheck = [ "myst_parser" ]; 68 69 pythonRelaxDeps = [ "docutils" ]; 70 71 meta = with lib; { 72 description = "Sphinx and Docutils extension to parse MyST"; 73 homepage = "https://myst-parser.readthedocs.io/"; 74 changelog = "https://raw.githubusercontent.com/executablebooks/MyST-Parser/v${version}/CHANGELOG.md"; 75 license = licenses.mit; 76 maintainers = with maintainers; [ loicreynier ]; 77 }; 78}