[bug#76835,v2,14/24] gnu: python-numpy-documentation: Update python-sphinx native-input.

Message ID 20250309221153.334-14-ngraves@ngraves.fr
State New
Headers
Series [bug#76835,v2,01/24] gnu: gunicorn: Migrate 'check phase to pyproject-build-system. |

Commit Message

Nicolas Graves March 9, 2025, 10:11 p.m. UTC
  * gnu/packages/python-xyz.scm (python-numpy-documentation):
[arguments]{phases}: Add phase 'avoid-external-deps. Adapt phase
'install by removing sphinx.ext.autodoc extension.
[native-inputs]: Replace python-sphinx-4 by python-sphinx. Add
python-sphinx-design.
---
 gnu/packages/python-xyz.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
  

Patch

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bacfac6c42..6054a88562 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9684,6 +9684,16 @@  (define-public python-numpy-documentation
       #:tests? #f                     ;we're only generating the documentation
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'unpack 'avoid-external-deps
+            (lambda _
+              ;; XXX: Avoid theme-switcher to avoid sphinx error
+              ;; TemplateNotFound('theme-switcher.html')
+              ;; XXX: Avoid version-switcher because it depends on the value
+              ;; of external https://numpy.org/doc/_static/versions.json
+              (substitute* "doc/source/conf.py"
+                (("\
+\"navbar_end\": \\[\"theme-switcher\", \"version-switcher\", ")
+                 "\"navbar_end\": ["))))
           (add-before 'build 'add-gnu-freefont-to-texmf
             (lambda _
               ;; XXX: The Sphinx-generated tex output specifies the GNU
@@ -9729,6 +9739,7 @@  (define-public python-numpy-documentation
                     (("\"contents\"") "'index'")
                     ;; Disable Sphinx extensions that produce broken Texinfo.
                     ((".*'numpydoc'.*") "")
+                    ((".*'sphinx.ext.autodoc'.*") "")
                     ((".*'sphinx.ext.autosummary'.*") ""))
                   (invoke "make" "info" sphinxopts)
                   ;; Install the HTML documentation.
@@ -9752,7 +9763,8 @@  (define-public python-numpy-documentation
            python-pandas
            python-pydata-sphinx-theme
            python-scipy                 ;used by matplotlib
-           python-sphinx-4
+           python-sphinx
+           python-sphinx-design
            python-sphinx-panels
            texinfo
            (texlive-updmap.cfg