gnu: python-dbusmock: Rewrite phases as a gexp.

* gnu/packages/python-xyz.scm (python-dbusmock)[arguments]: Use gexps.
This commit is contained in:
Ludovic Courtès 2023-10-13 16:31:49 +02:00
parent 9a23dd54ee
commit 4ac6999be7
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -27165,37 +27165,39 @@ (define-public python-dbusmock
"1nwl0gzzds2g1w1gfxfzlgrkb5hr1rrdyn619ml25c6b1rjyfk3g"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build python-build-system)
(guix build utils)
(ice-9 match))
(list #:modules `((guix build python-build-system)
(guix build utils)
(ice-9 match))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "tests/test_code.py"
(("/bin/bash") (which "bash")))
(substitute* "dbusmock/testcase.py"
(("'dbus-daemon'")
(string-append "'" (assoc-ref inputs "dbus")
"/bin/dbus-daemon'")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(match (primitive-fork)
(0 ;child process
(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)))))))))))))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "tests/test_code.py"
(("/bin/bash")
(which "bash")))
(substitute* "dbusmock/testcase.py"
(("'dbus-daemon'")
(string-append "'" (assoc-ref inputs "dbus")
"/bin/dbus-daemon'")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(match (primitive-fork)
(0 ;child process
(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