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