gnu: python-ipykernel: Remove dependency on (guix build syscalls).

* gnu/packages/python-xyz.scm (python-ipykernel)[arguments]:
Remove #:imported-modules.  Remove (guix build syscalls) from #:modules.
Rewrite ‘check’ phase to reap child processes from the build process.
[native-inputs]: Remove TINI.
This commit is contained in:
Ludovic Courtès 2023-10-13 17:09:16 +02:00
parent 64e678bdbc
commit 5a3b712ad7
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -10660,10 +10660,7 @@ (define-public python-ipykernel
(build-system pyproject-build-system)
(arguments
(list
#:imported-modules `(,@%pyproject-build-system-modules
(guix build syscalls))
#:modules '((guix build pyproject-build-system)
(guix build syscalls)
(guix build utils)
(ice-9 match))
#:phases
@ -10682,20 +10679,19 @@ (define-public python-ipykernel
(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)))))))))
(execlp "pytest" "pytest" "-vv"))
(pytest-pid
;; Reap zombie processes, necessary for the
;; 'test_shutdown_subprocesses' test to pass.
(let loop ()
(match (waitpid WAIT_ANY)
((pid . status)
(if (= pid pytest-pid)
(unless (zero? status)
(error "`pytest' exited with status"
status))
(loop))))))))))
(add-after 'install 'set-python-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Record the absolute file name of the 'python' executable in
@ -10724,8 +10720,7 @@ (define-public python-ipykernel
;; and causes deprecation warnings. Using the bootstrap variant
;; avoids that.
python-pytest-bootstrap
python-pytest-timeout
tini))
python-pytest-timeout))
(home-page "https://ipython.org")
(synopsis "IPython Kernel for Jupyter")
(description "This package provides the IPython kernel for Jupyter.")