diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-04-12 23:36:01 -0400 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-05-12 12:45:43 -0400 |
commit | 53e179c752a7e0a289d845f1dc92883dd335e1f2 (patch) | |
tree | b91b624c1bd7d04ab15cb87b609cfbff23761ab4 | |
parent | f30bdda88f6103a004ff118d568950aa42d36ad3 (diff) | |
download | guix-53e179c752a7e0a289d845f1dc92883dd335e1f2.tar.gz |
gnu: python-ipykernel: Update to 6.13.0.
* gnu/packages/python-xyz.scm (python-ipykernel): Update to 6.13.0. [origin]: Fix indentation. [phases]: Use gexps. {check}: Invoke pytest via tini {set-python-file-name}: Adjust to use search-input-file. [propagated-inputs]: Add python-debugpy, python-matplotlib-inline and python-psutil. [native-inputs]{python-nose}: Delete. {python-ipyrallel-bootstrap}: New native input. {python-pytest}: Replace with... {python-pytest-bootstrap}: ... this. {python-pytest-timeout, tini}: New native inputs.
-rw-r--r-- | gnu/packages/python-xyz.scm | 94 |
1 files changed, 64 insertions, 30 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 9ede07e505..7055b58094 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -9093,42 +9093,76 @@ installing @code{kernelspec}s for use with Jupyter frontends.") (define-public python-ipykernel (package (name "python-ipykernel") - (version "5.5.3") + (version "6.13.0") (source (origin - (method url-fetch) - (uri (pypi-uri "ipykernel" version)) - (sha256 - (base32 "02f55cjkp5q64x7ikjxznbxwjpkdmfy237b9kg7dk1pxmzvy90m6")))) + (method url-fetch) + (uri (pypi-uri "ipykernel" version)) + (sha256 + (base32 "0q5yni8h08nadsn53f957p0pjsjhwl2b2lp1hqz3jn0854z2fa0f")))) (build-system python-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (setenv "HOME" "/tmp") - (invoke "pytest" "-v")))) - (add-after 'install 'set-python-file-name - (lambda* (#:key outputs #:allow-other-keys) - ;; Record the absolute file name of the 'python' executable in - ;; 'kernel.json'. - (let ((out (assoc-ref outputs "out"))) - (substitute* (string-append out "/share/jupyter" - "/kernels/python3/kernel.json") - (("\"python\"") - (string-append "\"" (which "python") "\""))) - #t)))))) - (propagated-inputs - (list python-ipython python-tornado-6 python-traitlets - ;; imported at runtime during connect - python-jupyter-client)) - (native-inputs - (list python-flaky python-nose python-pytest)) + (list + #:imported-modules `(,@%python-build-system-modules + (guix build syscalls)) + #:modules '((guix build python-build-system) + (guix build syscalls) + (guix build utils) + (ice-9 match)) + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (match (primitive-fork) + (0 ;child process + (set-child-subreaper!) + ;; XXX: Tini provides proper PID1-like signal handling that + ;; reaps zombie processes, necessary for the + ;; 'test_shutdown_subprocesses' test to pass. + + ;; TODO: Complete https://issues.guix.gnu.org/30948. + (setenv "HOME" "/tmp") + (execlp "tini" "--" "pytest" "-vv")) + (pid + (match (waitpid pid) + ((_ . status) + (unless (zero? status) + (error "`pytest' exited with status" + status))))))))) + (add-after 'install 'set-python-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; Record the absolute file name of the 'python' executable in + ;; 'kernel.json'. + (substitute* (string-append #$output "/share/jupyter" + "/kernels/python3/kernel.json") + (("\"python\"") + (format #f "~s" (search-input-file inputs + "/bin/python3"))))))))) + (propagated-inputs + (list python-debugpy + python-ipython + python-jupyter-client ;imported at runtime during connect + python-matplotlib-inline + ;;python-nest-asyncio + ;;python-packaging + python-psutil + python-tornado-6 + python-traitlets)) + (inputs (list python)) ;for cross compilation + (native-inputs + (list python-flaky + python-ipyparallel-bootstrap + ;; XXX: Our Pytest package captures its native inputs in its + ;; wrapper script (such as python-nose), which is used in the code + ;; and causes deprecation warnings. Using the bootstrap variant + ;; avoids that. + python-pytest-bootstrap + python-pytest-timeout + tini)) (home-page "https://ipython.org") (synopsis "IPython Kernel for Jupyter") - (description - "This package provides the IPython kernel for Jupyter.") + (description "This package provides the IPython kernel for Jupyter.") (license license:bsd-3))) ;; Bootstrap variant of ipykernel, which uses the bootstrap jupyter-client to |