guix_mirror_bot pushed a commit to branch next-master
in repository guix.
commit fcb2bfb8c9e5927383b7f69672890e2c4d4ac683
Author: Nicolas Graves <[email protected]>
AuthorDate: Thu Dec 25 14:54:50 2025 +0100
gnu: python-dbusmock: Update to 0.37.2.
* gnu/packages/python-xyz.scm
(python-dbusmock-check-phase): New variable, to reduce redundancy;
(python-dbusmock): Update to 0.37.2.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]: Migrate them to pyproject-build-system.
<#:phases>: In phase 'patch-path, remove unecessary substitution. Use
python-dbusmock-check-phase.
[native-inputs]: Add python-setuptools.
(python-dbusmock-minimal)[source, arguments, build-system, inputs]:
Adapt fields to keep the same derivation and avoid rebuilds.
Change-Id: I6db0afffc74388fe19025457d7699993e2218666
Signed-off-by: Sharlatan Hellseher <[email protected]>
---
gnu/packages/python-xyz.scm | 140 +++++++++++++++++++++++++++-----------------
1 file changed, 85 insertions(+), 55 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 658c262cc3..5502bb87c4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29217,78 +29217,108 @@ Its algorithms are based on the kakasi library,
which is written in C.")
implementation of the D-Bus protocol.")
(license license:expat)))
+(define python-dbusmock-check-phase
+ #~(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))))))))))
+
(define-public python-dbusmock
(package
(name "python-dbusmock")
- (version "0.30.0")
+ (version "0.37.2")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "python-dbusmock" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/martinpitt/python-dbusmock")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1hanz6x76jq66ypdirga5h15zjs67kwysl6rmsf0i22dbdqrxdfv"))))
- (build-system python-build-system)
+ (base32 "1a70gi3qgjblg9z9id9z0fy3vlhb1cqbmmny14bqhv79qqskspj3"))))
+ (build-system pyproject-build-system)
(arguments
- (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_api.py"
- (("/usr/bin/python3")
- (which "python3")))
- (substitute* "tests/test_code.py"
- (("/bin/bash")
- (which "bash")))
- (substitute* "dbusmock/testcase.py"
- (("'dbus-daemon'")
- (object->string
- (search-input-file inputs "/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 upower which))
- (inputs
- (list dbus))
- (propagated-inputs
- (list python-dbus-python python-pygobject))
+ (list
+ #:modules `((guix build pyproject-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_api.py"
+ (("/usr/bin/python3")
+ (which "python3")))
+ (substitute* "dbusmock/testcase.py"
+ (("\"dbus-daemon\"")
+ (object->string
+ (search-input-file inputs "/bin/dbus-daemon"))))))
+ (replace 'check #$python-dbusmock-check-phase))))
+ (native-inputs (list python-pytest python-setuptools upower which))
+ (inputs (list dbus))
+ (propagated-inputs (list python-dbus-python python-pygobject))
(home-page "https://github.com/martinpitt/python-dbusmock")
(synopsis "Python library for mock D-Bus objects")
- (description "python-dbusmock allows for the easy creation of mock objects
on
-D-Bus. This is useful for writing tests for software which talks to D-Bus
-services such as upower, systemd, logind, gnome-session or others, and it is
-hard (or impossible without root privileges) to set the state of the real
-services to what you expect in your tests.")
+ (description
+ "python-dbusmock allows for the easy creation of mock objects on D-Bus.
+This is useful for writing tests for software which talks to D-Bus services
+such as upower, systemd, logind, gnome-session or others, and it is hard (or
+impossible without root privileges) to set the state of the real services to
+what you expect in your tests.")
(license license:lgpl3+)))
(define-public python-dbusmock-minimal
(package
(inherit python-dbusmock)
(name "python-dbusmock-minimal")
+ (version "0.30.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-dbusmock" version))
+ (sha256
+ (base32
+ "1hanz6x76jq66ypdirga5h15zjs67kwysl6rmsf0i22dbdqrxdfv"))))
+ (build-system python-build-system)
(arguments
- (substitute-keyword-arguments (package-arguments python-dbusmock)
- ((#:tests? _ #t) #f)))
+ (list
+ #:tests? #f
+ #: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_api.py"
+ (("/usr/bin/python3")
+ (which "python3")))
+ (substitute* "tests/test_code.py"
+ (("/bin/bash")
+ (which "bash")))
+ (substitute* "dbusmock/testcase.py"
+ (("'dbus-daemon'")
+ (object->string
+ (search-input-file inputs "/bin/dbus-daemon"))))))
+ (replace 'check #$python-dbusmock-check-phase))))
(native-inputs (list which))
+ (inputs
+ (list dbus))
+ (propagated-inputs
+ (list python-dbus-python python-pygobject))
(properties '((hidden? . #t)))))
(define-public python-jsonplus