Bug 1792046

Summary: python-breathe: Fails to build in Fedora 32: Domain 'c' is not registered
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-breatheAssignee: Dan Čermák <dan.cermak>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dan.cermak
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://koschei.fedoraproject.org/package/python-breathe
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-02-02 14:57:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1750908, 1785415    

Description Miro Hrončok 2020-01-16 22:16:47 UTC
Description of problem:
Package python-breathe fails to build from source in Fedora rawhide.

Version-Release number of selected component (if applicable):
4.14.0-1.fc32

Steps to Reproduce:
koji build --scratch f32 python-breathe-4.14.0-1.fc32.src.rpm

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/python-breathe


Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/sphinx/environment/__init__.py", line 515, in get_domain
    return self.domains[domainname]
KeyError: 'c'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/builddir/build/BUILD/breathe-4.14.0/tests/test_renderer.py", line 286, in test_render_c_typedef
    signature = find_node(render(member_def, domain='c'), 'desc_signature')
  File "/builddir/build/BUILD/breathe-4.14.0/tests/test_renderer.py", line 257, in render
    return renderer.render(member_def)
  File "/builddir/build/BUILD/breathe-4.14.0/breathe/renderer/sphinxrenderer.py", line 1308, in render
    result = method(self, node)
  File "/builddir/build/BUILD/breathe-4.14.0/breathe/renderer/sphinxrenderer.py", line 1249, in dispatch_memberdef
    return self.visit_typedef(node)
  File "/builddir/build/BUILD/breathe-4.14.0/breathe/renderer/sphinxrenderer.py", line 1091, in visit_typedef
    return self.render_declaration(node, declaration, objtype=obj_type,
  File "/builddir/build/BUILD/breathe-4.14.0/breathe/renderer/sphinxrenderer.py", line 412, in render_declaration
    nodes = self.run_domain_directive(obj_type, [declaration.replace('\n', ' ')])
  File "/builddir/build/BUILD/breathe-4.14.0/breathe/renderer/sphinxrenderer.py", line 357, in run_domain_directive
    nodes = domain_directive.run()
  File "/usr/lib/python3.9/site-packages/sphinx/directives/__init__.py", line 187, in run
    self.add_target_and_index(name, sig, signode)
  File "/usr/lib/python3.9/site-packages/sphinx/domains/c.py", line 209, in add_target_and_index
    domain = cast(CDomain, self.env.get_domain('c'))
  File "/usr/lib/python3.9/site-packages/sphinx/environment/__init__.py", line 517, in get_domain
    raise ExtensionError(__('Domain %r is not registered') % domainname)
sphinx.errors.ExtensionError: Domain 'c' is not registered

This blocks the Python 3.9 rebuild of the package.

Comment 1 Dan Čermák 2020-01-17 20:44:17 UTC
This issue has already been reported upstream: https://github.com/michaeljones/breathe/issues/465. Unfortunately there is no resolution so far.

Comment 2 Dan Čermák 2020-02-02 14:57:59 UTC
A new upstream release (4.14.1) fixed this in Rawhide.