1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 importlib-metadata, 6 markdown-it-py, 7 pytestCheckHook, 8 pythonOlder, 9 setuptools, 10 tomli, 11}: 12 13buildPythonPackage rec { 14 pname = "mdformat"; 15 version = "0.7.22"; 16 pyproject = true; 17 18 disabled = pythonOlder "3.8"; 19 20 src = fetchFromGitHub { 21 owner = "executablebooks"; 22 repo = "mdformat"; 23 tag = version; 24 hash = "sha256-WvbGCqfzh7KlNXIGJq09goiyLzVgU7c1+qmsLrIW38k="; 25 }; 26 27 build-system = [ setuptools ]; 28 29 dependencies = 30 [ markdown-it-py ] 31 ++ lib.optionals (pythonOlder "3.11") [ tomli ] 32 ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ]; 33 34 nativeCheckInputs = [ pytestCheckHook ]; 35 36 pythonImportsCheck = [ "mdformat" ]; 37 38 passthru = { 39 withPlugins = throw "Use pkgs.mdformat.withPlugins, i.e. the top-level attribute."; 40 }; 41 42 meta = with lib; { 43 description = "CommonMark compliant Markdown formatter"; 44 homepage = "https://mdformat.rtfd.io/"; 45 changelog = "https://github.com/executablebooks/mdformat/blob/${version}/docs/users/changelog.md"; 46 license = licenses.mit; 47 maintainers = with maintainers; [ 48 fab 49 aldoborrero 50 ]; 51 mainProgram = "mdformat"; 52 }; 53}