summaryrefslogtreecommitdiff
path: root/gnu/packages/python-xyz.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-04-12 23:36:01 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-12 12:45:43 -0400
commit53e179c752a7e0a289d845f1dc92883dd335e1f2 (patch)
treeb91b624c1bd7d04ab15cb87b609cfbff23761ab4 /gnu/packages/python-xyz.scm
parentf30bdda88f6103a004ff118d568950aa42d36ad3 (diff)
downloadguix-patches-53e179c752a7e0a289d845f1dc92883dd335e1f2.tar
guix-patches-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.
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r--gnu/packages/python-xyz.scm94
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