Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / myst-parser / default.nix
blobe485b768a75074267c5ecc822fcc5170bcfe56e3
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , fetchpatch
5 , flit-core
6 , pythonOlder
7 , docutils
8 , jinja2
9 , markdown-it-py
10 , mdit-py-plugins
11 , pyyaml
12 , sphinx
13 , typing-extensions
14 , beautifulsoup4
15 , pytest-param-files
16 , pytest-regressions
17 , sphinx-pytest
18 , pytestCheckHook
21 buildPythonPackage rec {
22   pname = "myst-parser";
23   version = "2.0.0";
24   format = "pyproject";
26   disabled = pythonOlder "3.7";
28   src = fetchFromGitHub {
29     owner = "executablebooks";
30     repo = pname;
31     rev = "refs/tags/v${version}";
32     hash = "sha256-1BW7Z+0rs5Up+VZ3vDygnhLzE9Y2BqEMnTnflboweu0=";
33   };
35   patches = [
36     (fetchpatch {
37       name = "myst-parser-sphinx7.2-compat.patch";
38       url = "https://github.com/executablebooks/MyST-Parser/commit/4f670fc04c438b57a9d4014be74e9a62cc0deba4.patch";
39       hash = "sha256-FCvFSsD7qQwqWjSW7R4Gx+E2jaGkifSZqaRbAglt9Yw=";
40     })
41   ];
43   nativeBuildInputs = [ flit-core ];
45   propagatedBuildInputs = [
46     docutils
47     jinja2
48     mdit-py-plugins
49     markdown-it-py
50     pyyaml
51     sphinx
52     typing-extensions
53   ];
55   nativeCheckInputs = [
56     beautifulsoup4
57     pytest-param-files
58     pytest-regressions
59     sphinx-pytest
60     pytestCheckHook
61   ] ++ markdown-it-py.optional-dependencies.linkify;
63   pythonImportsCheck = [
64     "myst_parser"
65   ];
67   disabledTests = [
68     # AssertionError due to different files
69     "test_basic"
70     "test_footnotes"
71     "test_gettext_html"
72     "test_fieldlist_extension"
73     # docutils 0.19 expectation mismatches
74     "test_docutils_roles"
75     # sphinx 6.0 expectation mismatches
76     "test_sphinx_directives"
77     # sphinx 5.3 expectation mismatches
78     "test_render"
79     "test_includes"
80   ];
82   meta = with lib; {
83     description = "Sphinx and Docutils extension to parse MyST";
84     homepage = "https://myst-parser.readthedocs.io/";
85     changelog = "https://raw.githubusercontent.com/executablebooks/MyST-Parser/v${version}/CHANGELOG.md";
86     license = licenses.mit;
87     maintainers = with maintainers; [ loicreynier ];
88   };