python3Packages.sphinxcontrib-newsfeed: make it work with sphinx 9.1

This commit fixes the build of khal.
This commit is contained in:
wrvsrx
2026-02-25 13:35:15 +08:00
parent 2fc6539b48
commit be497847c9
2 changed files with 21 additions and 0 deletions
@@ -16,6 +16,11 @@ buildPythonPackage rec {
sha256 = "1d7gam3mn8v4in4p16yn3v10vps7nnaz6ilw99j4klij39dqd37p";
};
patches = [
# reference: https://github.com/prometheusresearch/sphinxcontrib-newsfeed/pull/7
./fix-for-sphinx-9.1.patch
];
nativeBuildInputs = [ setuptools ];
propagatedBuildInputs = [ sphinx ];
@@ -0,0 +1,16 @@
diff --git a/sphinxcontrib/newsfeed.py b/sphinxcontrib/newsfeed.py
index 2e155cd..64b30d9 100644
--- a/sphinxcontrib/newsfeed.py
+++ b/sphinxcontrib/newsfeed.py
@@ -265,8 +265,9 @@ def process_feed(app, doctree, fromdocname):
replacement.append(section_node)
env.resolve_references(rss_item_description, docname, app.builder)
if app.builder.format == 'html':
- rss_item_description = app.builder.render_partial(
- rss_item_description)['body']
+ rendered = app.builder.render_partial(rss_item_description)
+ # Sphinx 9.1+ changed 'body' to 'fragment'
+ rss_item_description = rendered.get('fragment', rendered.get('body', ''))
rss_item_date = meta['date']
rss_item = RSSItem(rss_item_title, rss_item_link,
rss_item_description, rss_item_date)