[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#997324: pyliblo: FTBFS: ImportError: cannot import name 'PyClassmember' from 'sphinx.domains.python' (/usr/lib/python3/dist-packages/sphinx/domains/python.py)



Package: pyliblo
Version: 0.10.0-4
Followup-For: Bug #997324
User: ubuntu-devel@lists.ubuntu.com
Usertags: origin-ubuntu jammy ubuntu-patch
Control: tags -1 patch

Attached is a patch which fixes this build failure.  As far as I can tell,
the monkeypatching of PyClassmember no longer has any effect, so it might as
well be dropped.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org
diff -Nru pyliblo-0.10.0/debian/patches/series pyliblo-0.10.0/debian/patches/series
--- pyliblo-0.10.0/debian/patches/series	2020-01-14 23:24:03.000000000 -0800
+++ pyliblo-0.10.0/debian/patches/series	2021-11-17 22:11:36.000000000 -0800
@@ -1 +1,2 @@
 test-hostname.patch
+sphinx-4.2.patch
diff -Nru pyliblo-0.10.0/debian/patches/sphinx-4.2.patch pyliblo-0.10.0/debian/patches/sphinx-4.2.patch
--- pyliblo-0.10.0/debian/patches/sphinx-4.2.patch	1969-12-31 16:00:00.000000000 -0800
+++ pyliblo-0.10.0/debian/patches/sphinx-4.2.patch	2021-11-17 22:22:04.000000000 -0800
@@ -0,0 +1,40 @@
+Description: Compatibility with sphinx 4.2
+ Drop the monkey patching of PyClassmember; this no longer exists and
+ the monkey patching doesn't appear to change the output of the current
+ docs
+Author: Steve Langasek <steve.langasek@ubuntu.com>
+Bug-Debian: https://bugs.debian.org/997324
+Last-Update: 2021-11-17
+
+Index: pyliblo-0.10.0/doc/conf.py
+===================================================================
+--- pyliblo-0.10.0.orig/doc/conf.py
++++ pyliblo-0.10.0/doc/conf.py
+@@ -30,7 +30,7 @@
+ 
+ from sphinx.ext.autodoc import py_ext_sig_re
+ from sphinx.util.docstrings import prepare_docstring
+-from sphinx.domains.python import PyClassmember, PyObject, py_sig_re
++from sphinx.domains.python import PyObject, py_sig_re
+ 
+ 
+ def process_docstring(app, what, name, obj, options, lines):
+@@ -62,18 +62,6 @@
+     return (signature, return_annotation)
+ 
+ 
+-# monkey-patch PyClassmember.handle_signature() to replace __init__
+-# with the class name.
+-handle_signature_orig = PyClassmember.handle_signature
+-def handle_signature(self, sig, signode):
+-    if '__init__' in sig:
+-        m = py_sig_re.match(sig)
+-        name_prefix, name, arglist, retann = m.groups()
+-        sig = sig.replace('__init__', name_prefix[:-1])
+-    return handle_signature_orig(self, sig, signode)
+-PyClassmember.handle_signature = handle_signature
+-
+-
+ # prevent exception fields from collapsing
+ PyObject.doc_field_types[2].can_collapse = False
+ 

Reply to: