Subject: [bug#40543] [PATCH 2/4] gnu: python2-dogtail: Update to 0.9.11.

From: Christopher Baines <[email-masked]>
Date: Fri, 10 Apr 2020 17:21:55 +0100

There are newer releases on a gitlab.com repository compared to PyPI. Make an
attempt at getting the tests to work, they don't yet I believe because DBus
isn't working properly. This update is a step towards getting a Python 3
variant of the package, which can be used to test virt-manager.

* gnu/packages/python-xyz.scm (python2-dogtail): Update to 0.9.11.
[source]: Switch from PyPI to gitlab.com, as gitlab.com contains newer
releases.
[arguments]: Replace the check phase, and update comment about disabling the
tests.
[propagated-inputs,native-inputs]: Add relevant packages.
[home-page]: Change to https://gitlab.com/dogtail/dogtail/
---
 gnu/packages/python-xyz.scm | 38 ++++++++++++++++++++++++++++++-------
 1 file changed, 31 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 64aa7da41e..455bebf1b7 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1740,18 +1740,42 @@ Python 3.3+.")
   ;; spaces in indentation" with Python 3.
   (package
     (name "python2-dogtail")
-    (version "0.9.9")
+    (version "0.9.11")
     (source (origin
              (method url-fetch)
-             (uri (pypi-uri "dogtail" version))
+             (uri
+              (string-append
+               "https://gitlab.com/dogtail/dogtail/-/raw/released/"
+               "dogtail-" version ".tar.gz"))
              (sha256
               (base32
-               "0p5wfssvzr9w0bvhllzbbd8fnp4cca2qxcpcsc33dchrmh5n552x"))))
+               "0sr38z7b2n12bvfd4xw4b5dnnhkn5zl3h0ymmnnzavcihfqia6l0"))))
     (build-system python-build-system)
-    (arguments `(#:python ,python-2
-                 #:tests? #f))                    ; invalid command "test"
-    ;; Currently no offical homepage.
-    (home-page "https://pypi.org/project/dogtail/")
+    (arguments
+     `(#:python ,python-2
+       #:tests? #f                      ; TODO Launching dbus for the tests
+                                        ; fails
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (system "Xvfb :1 &")
+               (setenv "DISPLAY" ":1")
+               (invoke "dbus-run-session" "--" "nosetests" "-v" "tests/"))
+             #t)))))
+    (propagated-inputs
+     `(("python-pygobject" ,python2-pygobject)
+       ("python-pycairo" ,python2-pycairo)
+       ("python-pyatspi" ,python2-pyatspi)))
+    (native-inputs
+     `(("python-nose" ,python2-nose)
+       ("gtk+" ,gtk+)
+       ("xvfb" ,xorg-server)
+       ("dbus" ,dbus)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+       ("gobject-introspection" ,gobject-introspection)))
+    (home-page "https://gitlab.com/dogtail/dogtail/")
     (synopsis "GUI test tool and automation framework written in Python")
     (description
      "Dogtail is a GUI test tool and automation framework written in Python.
-- 
2.26.0