Hi Dmitry,
thanks a lot for this hint.
I've created a quilt patch which replaces the vendored theme by the
sphinx13 one which is currently shipped in Debian. The patches by
upstream seem to be void now - at least none applied to the current
version.
Unfortunately this does not build as well - now with other errors
you can see in Salsa CI at
https://salsa.debian.org/science-team/lmfit-py/-/jobs/5305535
Do you have any further hints?
On Thu, Feb 15, 2024 at 07:15:18PM +0100, Andreas Tille wrote:
Hi Dmitry,
thanks a lot for this hint.
I've created a quilt patch which replaces the vendored theme by the sphinx13 one which is currently shipped in Debian. The patches by
upstream seem to be void now - at least none applied to the current version.
Unfortunately this does not build as well - now with other errors
you can see in Salsa CI at
https://salsa.debian.org/science-team/lmfit-py/-/jobs/5305535
Do you have any further hints?
It looks like what you did was copying layout.html to basic_layout.html within lmfit-py's doc/sphinx/theme/sphinx13/ directory.
But what I suggested was copying a file from *Sphinx* source package, sphinx/themes/basic/layout.html to doc/sphinx/theme/sphinx13/basic_layout.html
in lmfit-py.
With your change basic_layout.html tried to extend itself, which caused
a recursion error.
I pushed a fix and the build job succeeded now. build-i386 failed, but that one is not related to Sphinx.
--
Dmitry Shachnev
lmfit-py ships a vendored copy of sphinx13 theme [1], which was copied from Sphinx source code with a minor modification in 2020 [2] and rebased in January 2022 [3]. However, there were more Sphinx releases since that month, and the theme needs to be updated for compatibility with them.
In particular, the basic_layout.html file misses the change which was made
in Sphinx commit [4], without which the search will not work. There is a comment under that commit which illustrates how exactly it will not work: contentRoot will be undefined, and the browser will attempt to make requests to a URL that has "undefined" in it. dh_sphinxdoc catches such issues and produces an error about them.
So, to fix this issue, you should copy sphinx/themes/basic/layout.html from the latest stable version of Sphinx to lmfit-py's basic_layout.html, applying the one-line change which is described in [2] and [3].
[1]: doc/sphinx/theme/sphinx13/*
[2]: https://github.com/lmfit/lmfit-py/commit/29e4712036606913149e16b246340a7fbedd8829
[3]: https://github.com/lmfit/lmfit-py/commit/e2418377c9870e02c820d0fe40d2232187864a81
[4]: https://github.com/sphinx-doc/sphinx/commit/8e730ae303ae686705ea12f44ef11da926a87cf5
--
Dmitry Shachnev
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 350 |
Nodes: | 16 (2 / 14) |
Uptime: | 09:00:06 |
Calls: | 7,625 |
Files: | 12,793 |
Messages: | 5,686,475 |