From 5a3b712ad751b829847340d5f1c7a9619d8e774d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 13 Oct 2023 17:09:16 +0200 Subject: [PATCH] gnu: python-ipykernel: Remove dependency on (guix build syscalls). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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. --- gnu/packages/python-xyz.scm | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 29ac11df95..d094c6e451 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -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.")