1{
2 lib,
3 buildPythonPackage,
4 cachecontrol,
5 feedparser,
6 fetchFromGitHub,
7 gitpython,
8 jsonfeed,
9 mkdocs,
10 pytest-cov-stub,
11 pytestCheckHook,
12 pythonOlder,
13 setuptools,
14 validator-collection,
15}:
16
17buildPythonPackage rec {
18 pname = "mkdocs-rss-plugin";
19 version = "1.17.1";
20 pyproject = true;
21
22 disabled = pythonOlder "3.9";
23
24 src = fetchFromGitHub {
25 owner = "Guts";
26 repo = "mkdocs-rss-plugin";
27 tag = version;
28 hash = "sha256-Qa8EgjucJaxvKivE45kXSUgTx5RnLEpYCNZJRTO2E1Q=";
29 };
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 cachecontrol
35 gitpython
36 mkdocs
37 ];
38
39 nativeCheckInputs = [
40 feedparser
41 jsonfeed
42 pytest-cov-stub
43 pytestCheckHook
44 validator-collection
45 ];
46
47 pythonImportsCheck = [ "mkdocs_rss_plugin" ];
48
49 disabledTests = [
50 # Tests require network access
51 "test_plugin_config_through_mkdocs"
52 "test_remote_image"
53 # Configuration error
54 "test_plugin_config_blog_enabled"
55 "test_plugin_config_social_cards_enabled_but_integration_disabled"
56 "test_plugin_config_theme_material"
57 "test_simple_build"
58 ];
59
60 disabledTestPaths = [
61 # Tests require network access
62 "tests/test_integrations_material_social_cards.py"
63 "tests/test_build_no_git.py"
64 "tests/test_build.py"
65 ];
66
67 meta = with lib; {
68 description = "MkDocs plugin to generate a RSS feeds for created and updated pages, using git log and YAML frontmatter";
69 homepage = "https://github.com/Guts/mkdocs-rss-plugin";
70 changelog = "https://github.com/Guts/mkdocs-rss-plugin/blob/${src.tag}/CHANGELOG.md";
71 license = licenses.mit;
72 maintainers = with maintainers; [ fab ];
73 };
74}