guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

28/46: gnu: python-nbconvert: Use pyproject-build-system.


From: guix-commits
Subject: 28/46: gnu: python-nbconvert: Use pyproject-build-system.
Date: Tue, 7 May 2024 18:34:02 -0400 (EDT)

rekado pushed a commit to branch python-team
in repository guix.

commit b67c75c98171bd128311b1b1c9482a268eb74755
Author: Ricardo Wurmus <rekado@elephly.net>
AuthorDate: Mon May 6 23:06:53 2024 +0200

    gnu: python-nbconvert: Use pyproject-build-system.
    
    * gnu/packages/python-xyz.scm (python-nbconvert)[build-system]: Use
    pyproject-build-system.
    [native-inputs]: Add python-setuptools and python-wheel.
    [arguments]: Add phase 'ignore-deprecation-warnings; replace custom 'check
    phase with use of #:test-flags and 'pre-check phase; disable one test and 
set
    JUPYTER_PLATFORM_DIRS variable.
    
    Change-Id: I02bebe1ecc524efb335249199971c37d2b2982a5
---
 gnu/packages/python-xyz.scm | 61 ++++++++++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8ab033d207..931f65ade6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17440,9 +17440,25 @@ time.")
        (sha256
         (base32
          "17g9xq4za7vvzml6l6d8zrzknhxsvgx02hymmsw9d1dygbi4cgi2"))))
-    (build-system python-build-system)
+    (build-system pyproject-build-system)
     (arguments
      (list
+      #:test-flags
+      '(list "--pyargs" "nbconvert"
+             "-k"
+             (string-append
+              ;; These tests require pyppeteer, not yet
+              ;; available in Guix.
+              "not test_webpdf_with_chromium"
+              " and not test_webpdf.py"
+              ;; These tests require ipywidgets, which would
+              ;; introduce a dependency cycle.
+              " and not test_execute_widgets_from_nbconvert"
+              " and not test_execute_multiple_notebooks"
+
+              ;; This test calls nbconvert itself via "sys.executable -m
+              ;; nbconvert".  It's probably harmless.
+              " and not test_default_config"))
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'fix-paths
@@ -17462,29 +17478,22 @@ time.")
                 (("inkscape_path = which\\(\"inkscape\")")
                  (format #f "inkscape_path = ~s"
                          (search-input-file inputs "bin/inkscape"))))))
-          (replace 'check
-            (lambda* (#:key tests? #:allow-other-keys)
-              (when tests?
-                ;; Tests depend on templates installed to output.
-                (setenv "JUPYTER_PATH"
-                        (string-append #$output "/share/jupyter:"
-                                       (getenv "JUPYTER_PATH")))
-                ;; Step outside of the source directory to avoid having both
-                ;; the installed package *and* the package from the source on
-                ;; Python's path.
-                (with-directory-excursion "/tmp"
-                  (invoke "pytest" "--pyargs" "nbconvert"
-                          "-vv" "-n" (number->string (parallel-job-count))
-                          "-k"
-                          (string-append
-                           ;; These tests require pyppeteer, not yet
-                           ;; available in Guix.
-                           "not test_webpdf_with_chromium "
-                           "and not test_webpdf.py "
-                           ;; These tests require ipywidgets, which would
-                           ;; introduce a dependency cycle.
-                           "and not test_execute_widgets_from_nbconvert "
-                           "and not test_execute_multiple_notebooks ")))))))))
+          (add-after 'unpack 'ignore-deprecation-warnings
+            (lambda _
+              (substitute* "pyproject.toml"
+                (("\"ignore:nbconvert.utils" m)
+                 (string-append "\"ignore:zmq.eventloop.ioloop is 
deprecated:DeprecationWarning\",\n"
+                                m)))))
+          (add-before 'check 'pre-check
+            (lambda _
+              ;; Tests depend on templates installed to output.
+              (setenv "JUPYTER_PATH"
+                      (string-append #$output "/share/jupyter:"
+                                     (getenv "JUPYTER_PATH")))
+              ;; jupyter-core demands this
+              (setenv "JUPYTER_PLATFORM_DIRS" "1")
+              ;; Tests need a writable HOME.
+              (setenv "HOME" "/tmp"))))))
     (inputs
      (list inkscape/stable pandoc))
     (native-inputs
@@ -17494,7 +17503,9 @@ time.")
            ;; XXX: Disabled, not in guix.
            ;;python-pyppeteer
            python-pytest
-           python-pytest-xdist))
+           python-pytest-xdist
+           python-setuptools
+           python-wheel))
     (propagated-inputs
      (list python-beautifulsoup4
            python-bleach



reply via email to

[Prev in Thread] Current Thread [Next in Thread]