Subject: [PATCH 14/15] gnu: python-numpy-documentation: Update python-sphinx native-input.

From: Nicolas Graves <[email-masked]>
Date: Fri, 7 Mar 2025 20:15:12 +0100

From: Nicolas Graves via Guix-patches via <[email-masked]>

* 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(-)

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
-- 
2.48.1