summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-10-13 17:09:16 +0200
committerLudovic Courtès <ludo@gnu.org>2023-10-23 11:56:53 +0200
commit5a3b712ad751b829847340d5f1c7a9619d8e774d (patch)
tree781a50ff0b9c72f326a10819f48ccbe3ac996b41 /gnu
parent64e678bdbc4dd139955c34dcdd8432e17c5f08b2 (diff)
downloadguix-5a3b712ad751b829847340d5f1c7a9619d8e774d.tar.gz
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.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/python-xyz.scm31
1 files 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 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
     (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 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
               (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 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
            ;; 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.")