executablebooks / sphinx-panels

A sphinx extension for creating panels in a grid layout
https://sphinx-panels.readthedocs.io
MIT License
83 stars 20 forks source link

Make the tests pass with Sphinx 7.x #84

Open matoro opened 8 months ago

matoro commented 8 months ago

This adds compat with Sphinx 7.x. Applied straight from the Debian patch: https://salsa.debian.org/python-team/packages/sphinx-panels/-/blob/debian/master/debian/patches/Make-the-tests-pass-with-Sphinx-7.x.patch

CC @mitya57 @mgorny

welcome[bot] commented 8 months ago

Thanks for submitting your first pull request! You are awesome! :hugs:
If you haven't done so already, check out EBP's Code of Conduct and our Contributing Guide, as this will greatly help the review process.
Welcome to the EBP community! :tada:

kloczek commented 5 months ago

That PR covers only testing however with sphinx 7.2.6 it is not possible even generate sphinx-panels its own documentation.

+ /usr/bin/sphinx-build -n -T -b man docs build/sphinx/man
Running Sphinx v7.2.6
WARNING: Invalid configuration value found: 'language = None'. Update your configuration to a valid language code. Falling back to 'en' (English).
making output directory... done
building [mo]: targets for 0 po files that are out of date
writing output...
building [man]: all manpages
updating environment: [new config] 1 added, 0 changed, 0 removed
reading sources... [100%] index
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
writing... python-sphinx-panels.3 { } failed

Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/sphinx/cmd/build.py", line 298, in build_main
    app.build(args.force_all, args.filenames)
  File "/usr/lib/python3.9/site-packages/sphinx/application.py", line 355, in build
    self.builder.build_update()
  File "/usr/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 290, in build_update
    self.build(['__all__'], to_build)
  File "/usr/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 363, in build
    self.write(docnames, list(updated_docnames), method)
  File "/usr/lib/python3.9/site-packages/sphinx/util/display.py", line 92, in wrapper
    return f(*args, **kwargs)
  File "/usr/lib/python3.9/site-packages/sphinx/builders/manpage.py", line 103, in write
    docwriter.write(largetree, destination)
  File "/usr/lib/python3.9/site-packages/docutils/writers/__init__.py", line 80, in write
    self.translate()
  File "/usr/lib/python3.9/site-packages/sphinx/writers/manpage.py", line 35, in translate
    visitor = self.builder.create_translator(self.document, self.builder)
  File "/usr/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 119, in create_translator
    return self.app.registry.create_translator(self, *args)
  File "/usr/lib/python3.9/site-packages/sphinx/registry.py", line 353, in create_translator
    setattr(translator, 'visit_' + name, MethodType(visit, translator))
TypeError: first argument must be callable

Exception occurred:
  File "/usr/lib/python3.9/site-packages/sphinx/registry.py", line 353, in create_translator
    setattr(translator, 'visit_' + name, MethodType(visit, translator))
TypeError: first argument must be callable
The full traceback has been saved in /tmp/sphinx-err-8bc8x856.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
agoose77 commented 5 months ago

I will loop back to this :)

kloczek commented 5 months ago

Thx 👍

mitya57 commented 5 months ago

To fix build for non-HTML formats, you need a fix similar to this one: executablebooks/sphinx-design#88.