gnu: python-nbconvert: Simplify build phase.

* gnu/packages/python-xyz.scm (python-nbconvert)[arguments]: Simplify build
phase "fix-paths-and-tests" by using WHICH; remove final boolean and reindent.
This commit is contained in:
Ricardo Wurmus 2021-05-04 15:14:41 +02:00
parent 82c5d929b9
commit 6cd9cb0e13
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -10832,34 +10832,29 @@ (define-public python-nbconvert
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths-and-tests
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((pandoc (string-append (assoc-ref inputs "pandoc") "/bin/pandoc"))
(texlive-root (string-append (assoc-ref inputs "texlive")))
(xelatex (string-append texlive-root "/bin/xelatex"))
(bibtex (string-append texlive-root "/bin/bibtex")))
;; Use pandoc binary from input.
(substitute* "nbconvert/utils/pandoc.py"
(("'pandoc'") (string-append "'" pandoc "'")))
;; Same for LaTeX.
(substitute* "nbconvert/exporters/pdf.py"
(("\"xelatex\"") (string-append "\"" xelatex "\""))
(("\"bibtex\"") (string-append "\"" bibtex "\"")))
;; Make sure tests are not skipped.
(substitute* (find-files "." "test_.+\\.py$")
(("@onlyif_cmds_exist\\(('(pandoc|xelatex)'(, )?)+\\)") ""))
;; Pandoc is never missing, disable test.
(substitute* "nbconvert/utils/tests/test_pandoc.py"
(("import os" all) (string-append all "\nimport pytest"))
(("(.+)(def test_pandoc_available)" all indent def)
(lambda _
;; Use pandoc binary from input.
(substitute* "nbconvert/utils/pandoc.py"
(("'pandoc'") (string-append "'" (which "pandoc") "'")))
;; Same for LaTeX.
(substitute* "nbconvert/exporters/pdf.py"
(("\"xelatex\"") (string-append "\"" (which "xelatex") "\""))
(("\"bibtex\"") (string-append "\"" (which "bibtex") "\"")))
;; Make sure tests are not skipped.
(substitute* (find-files "." "test_.+\\.py$")
(("@onlyif_cmds_exist\\(('(pandoc|xelatex)'(, )?)+\\)") ""))
;; Pandoc is never missing, disable test.
(substitute* "nbconvert/utils/tests/test_pandoc.py"
(("import os" all) (string-append all "\nimport pytest"))
(("(.+)(def test_pandoc_available)" all indent def)
(string-append indent "@pytest.mark.skip('disabled by guix')\n"
indent def)))
; Not installing pyppeteer, delete test.
(delete-file "nbconvert/exporters/tests/test_webpdf.py")
(substitute* "nbconvert/tests/test_nbconvertapp.py"
(("(.+)(def test_webpdf_with_chromium)" all indent def)
;; Not installing pyppeteer, delete test.
(delete-file "nbconvert/exporters/tests/test_webpdf.py")
(substitute* "nbconvert/tests/test_nbconvertapp.py"
(("(.+)(def test_webpdf_with_chromium)" all indent def)
(string-append indent "@pytest.mark.skip('disabled by guix')\n"
indent def)))
#t)))
indent def)))))
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
@ -10869,7 +10864,7 @@ (define-public python-nbconvert
(unsetenv "JUPYTER_CONFIG_DIR")
;; Tests depend on templates installed to output.
(setenv "JUPYTER_PATH"
(string-append
(string-append
(assoc-ref outputs "out")
"/share/jupyter:"
(getenv "JUPYTER_PATH")))