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

Having a dependency on (guix build syscalls) this deep in the stack
would make it much harder to change syscalls.scm.

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

View file

@ -27165,12 +27165,10 @@ (define-public python-dbusmock
"1nwl0gzzds2g1w1gfxfzlgrkb5hr1rrdyn619ml25c6b1rjyfk3g"))))
(build-system python-build-system)
(arguments
`(#:imported-modules (,@%python-build-system-modules
(guix build syscalls))
#:modules ((guix build python-build-system)
(guix build syscalls)
`(#:modules ((guix build python-build-system)
(guix build utils)
(ice-9 match))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
@ -27186,20 +27184,20 @@ (define-public python-dbusmock
(when tests?
(match (primitive-fork)
(0 ;child process
(set-child-subreaper!)
;; Use tini so that signals are properly handled and
;; doubly-forked processes get reaped; otherwise,
;; python-dbusmock would waste time polling for the dbus
;; processes it spawns to be reaped, in vain.
(execlp "tini" "--" "pytest" "-vv"))
(pid
(match (waitpid pid)
((_ . status)
(unless (zero? status)
(error "`pytest' exited with status"
status))))))))))))
(execlp "pytest" "pytest" "-vv"))
(pytest-pid
(let loop ()
;; Reap child processes; otherwise, python-dbusmock would
;; waste time polling for the dbus processes it spawns to
;; be reaped, in vain.
(match (waitpid WAIT_ANY)
((pid . status)
(if (= pid pytest-pid)
(unless (zero? status)
(error "`pytest' exited with status" status))
(loop)))))))))))))
(native-inputs
(list dbus python-pytest tini which))
(list dbus python-pytest which))
(inputs
(list dbus))
(propagated-inputs