summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog12
-rw-r--r--debian/control2
-rw-r--r--debian/patches/series1
-rw-r--r--debian/patches/sphinx-9.patch75
4 files changed, 89 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index f841d9d..9aa533b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+python-invocations (4.0.2-3) unstable; urgency=medium
+
+ * Team upload.
+
+ [ Alexandre Detiste ]
+ * Point Homepage: to the correct project.
+
+ [ Colin Watson ]
+ * Adjust to cope with Sphinx 9 (closes: #1135454).
+
+ -- Colin Watson <cjwatson@debian.org> Thu, 21 May 2026 14:27:43 +0100
+
python-invocations (4.0.2-2) unstable; urgency=medium
* Team upload.
diff --git a/debian/control b/debian/control
index edda098..0fb3475 100644
--- a/debian/control
+++ b/debian/control
@@ -27,7 +27,7 @@ Standards-Version: 4.7.2
Testsuite: autopkgtest-pkg-pybuild
Vcs-Browser: https://salsa.debian.org/python-team/packages/python-invocations
Vcs-Git: https://salsa.debian.org/python-team/packages/python-invocations.git
-Homepage: http://pyinvoke.org
+Homepage: https://pypi.org/project/invocations/
Package: python3-invocations
Architecture: all
diff --git a/debian/patches/series b/debian/patches/series
index bd55a85..b177ca0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
0001-Replace-blessings-with-blessed.patch
0002-Relax-dependency-on-semantic_version.patch
0003-pyproject.toml-accept-newer-versions-of-pip.patch
+sphinx-9.patch
diff --git a/debian/patches/sphinx-9.patch b/debian/patches/sphinx-9.patch
new file mode 100644
index 0000000..da2e9f7
--- /dev/null
+++ b/debian/patches/sphinx-9.patch
@@ -0,0 +1,75 @@
+From: Colin Watson <cjwatson@debian.org>
+Date: Thu, 21 May 2026 14:18:40 +0100
+Subject: Adjust to cope with Sphinx 9
+
+There might be some way to make this extension work with the new
+`sphinx.ext.autodoc` implementation, but if so I don't know what it is;
+see https://github.com/sphinx-doc/sphinx/issues/14089. For now, this
+seems to get things going again.
+
+`sphinx.ext.autodoc.stringify_signature` was only ever a re-export from
+`sphinx.util.inspect`, so importing it directly from there should be
+safe with all the Sphinx versions that worked before.
+
+Bug-Debian: https://bugs.debian.org/1135454
+Forwarded: https://github.com/pyinvoke/invocations/pull/47
+Last-Update: 2026-05-21
+---
+ docs/conf.py | 1 +
+ invocations/autodoc.py | 6 +++++-
+ tests/autodoc/_support/conf.py | 1 +
+ 3 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/docs/conf.py b/docs/conf.py
+index b0199d9..1962dea 100644
+--- a/docs/conf.py
++++ b/docs/conf.py
+@@ -41,6 +41,7 @@ html_sidebars = {
+ }
+
+ # Other extension configs
++autodoc_use_legacy_class_based = True
+ autodoc_default_options = {
+ "members": True,
+ "special-members": True,
+diff --git a/invocations/autodoc.py b/invocations/autodoc.py
+index fbff267..30e72e0 100644
+--- a/invocations/autodoc.py
++++ b/invocations/autodoc.py
+@@ -26,6 +26,9 @@ To use:
+
+ - As noted above, this only works for modules that are importable, like any
+ other Sphinx autodoc use case.
++ - For now, add ``autodoc_use_legacy_class_based = True`` to your
++ ``conf.py`` (see `sphinx-doc/sphinx#14089
++ <https://github.com/sphinx-doc/sphinx/issues/14089>`__).
+ - Unless you want to opt-in which module members get documented, use
+ ``:members:`` or add ``"members": True`` to your ``conf.py``'s
+ ``autodoc_default_options``.
+@@ -47,6 +50,7 @@ from invoke import Task
+
+ # For sane mock patching. Meh.
+ from sphinx.ext import autodoc
++from sphinx.util.inspect import stringify_signature
+
+
+ class TaskDocumenter(
+@@ -68,7 +72,7 @@ class TaskDocumenter(
+ # after which point "call tasks as raw functions" may be less common.
+ # TODO: also, it may become moot-ish if we turn this all into emission
+ # of custom domain objects and/or make the CLI arguments the focus
+- return autodoc.stringify_signature(inspect.signature(function))
++ return stringify_signature(inspect.signature(function))
+
+ def document_members(self, all_members=False):
+ # Neuter this so superclass bits don't introspect & spit out autodoc
+diff --git a/tests/autodoc/_support/conf.py b/tests/autodoc/_support/conf.py
+index a33252e..5e30750 100644
+--- a/tests/autodoc/_support/conf.py
++++ b/tests/autodoc/_support/conf.py
+@@ -7,4 +7,5 @@ sys.path.insert(0, dirname(__file__))
+
+ master_doc = "index"
+ extensions = ["invocations.autodoc"]
++autodoc_use_legacy_class_based = True
+ autodoc_default_options = dict(members=True)