~ruther/guix-local

9a23dd54ee413f9faa887db3e84ec127a4c083b6 — Ludovic Courtès 2 years ago 5a3b712
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.
1 files changed, 16 insertions(+), 18 deletions(-)

M gnu/packages/python-xyz.scm
M gnu/packages/python-xyz.scm => gnu/packages/python-xyz.scm +16 -18
@@ 27165,12 27165,10 @@ for YAML and JSON.")
         "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 @@ for YAML and JSON.")
             (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))))))))))))
    (native-inputs
     (list dbus python-pytest tini which))
                  (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 which))
    (inputs
     (list dbus))
    (propagated-inputs