1{
2 buildPythonPackage,
3 fetchFromGitHub,
4 lib,
5 click,
6 essentials-openapi,
7 flask,
8 hatchling,
9 httpx,
10 jinja2,
11 mkdocs,
12 pytestCheckHook,
13 rich,
14 setuptools,
15 stdenv,
16}:
17buildPythonPackage rec {
18 pname = "neoteroi-mkdocs";
19 version = "1.1.3";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "Neoteroi";
24 repo = "mkdocs-plugins";
25 tag = "v${version}";
26 hash = "sha256-4Rd4VhgaMzoSZ87FMQsUxadGG1ucQgGY0Y4uZoZl380=";
27 };
28
29 buildInputs = [ hatchling ];
30
31 nativeCheckInputs = [
32 pytestCheckHook
33 flask
34 setuptools
35 ];
36
37 propagatedBuildInputs = [
38 essentials-openapi
39 click
40 jinja2
41 httpx
42 mkdocs
43 rich
44 ];
45
46 disabledTests = [
47 "test_contribs" # checks against its own git repository
48 ];
49
50 pythonImportsCheck = [ "neoteroi.mkdocs" ];
51
52 disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
53 # These tests start a server using a hardcoded port, and since
54 # multiple Python versions are always built simultaneously, this
55 # failure is quite likely to occur.
56 "tests/test_http.py"
57 ];
58
59 meta = with lib; {
60 homepage = "https://github.com/Neoteroi/mkdocs-plugins";
61 description = "Plugins for MkDocs";
62 changelog = "https://github.com/Neoteroi/mkdocs-plugins/releases/${src.tag}";
63 license = licenses.mit;
64 maintainers = with maintainers; [
65 aldoborrero
66 zimbatm
67 ];
68 };
69}