diff mbox series

[bug#61820] gnu: autokey: Update to 0.96.0.

Message ID 8ab8f21e7b62105a8754a196b04c304b1b3b4361.1677434347.git.mirai@makinata.eu
State New
Headers show
Series [bug#61820] gnu: autokey: Update to 0.96.0. | expand

Commit Message

Bruno Victal Feb. 26, 2023, 5:59 p.m. UTC
* gnu/packages/python-xyz.scm (autokey): Update to 0.96.0.
[source]: Patch tests.
[arguments]: Enable tests. Prefer PATH over substitute* in phase 'fix-paths.
Add phase 'setup-env-vars. Rename 'wrap-autokey-gi to 'wrap-autokey and set PATH.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest, python-pytest-cov and python-pyhamcrest.
---
 gnu/packages/python-xyz.scm | 49 ++++++++++++++++++++-----------------
 1 file changed, 27 insertions(+), 22 deletions(-)

Comments

Christopher Baines March 14, 2023, 10:43 a.m. UTC | #1
Bruno Victal <mirai@makinata.eu> writes:

> * gnu/packages/python-xyz.scm (autokey): Update to 0.96.0.
> [source]: Patch tests.
> [arguments]: Enable tests. Prefer PATH over substitute* in phase 'fix-paths.
> Add phase 'setup-env-vars. Rename 'wrap-autokey-gi to 'wrap-autokey and set PATH.
> [build-system]: Switch to pyproject-build-system.
> [native-inputs]: Add python-pytest, python-pytest-cov and python-pyhamcrest.
> ---
>  gnu/packages/python-xyz.scm | 49 ++++++++++++++++++++-----------------
>  1 file changed, 27 insertions(+), 22 deletions(-)

Thanks, pushed to master as 056f743718370e182379260ac0774fa41fca77ad.

Chris
diff mbox series

Patch

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f1b137f867..61ccf5ae78 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -132,6 +132,7 @@ 
 ;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
 ;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
 ;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4707,7 +4708,7 @@  (define-public python-anytree
 (define-public autokey
   (package
     (name "autokey")
-    (version "0.95.10")
+    (version "0.96.0")
     (source (origin
              (method git-fetch)
              (uri (git-reference
@@ -4716,41 +4717,45 @@  (define-public autokey
              (file-name (git-file-name name version))
              (sha256
               (base32
-               "0f0cqfnb49wwdy7zl2f2ypcnd5pc8r8n7z7ssxkq20d4xfxlgamr"))))
-    (build-system python-build-system)
+               "1v19196swihc12bcg0d9s07gfc3a44b9y7g6rqhb82qxm4p8jmbp"))
+             (modules '((guix build utils)))
+             (snippet
+              #~(begin
+                  ;; XXX: skip test depending on .git/
+                  (delete-file "tests/test_common.py")))))
+    (build-system pyproject-build-system)
     (arguments
      (list
-      ;; Tests are deprecated and broken until next version, see
-      ;; https://github.com/autokey/autokey/issues/327
-      #:tests? #f
       #:phases
       #~(modify-phases %standard-phases
-          (add-after 'unpack 'fix-paths
-            (lambda* (#:key inputs #:allow-other-keys)
-              (substitute* "lib/autokey/scripting.py"
-                (("\"wmctrl\"")
-                 (string-append "\"" (search-input-file inputs "bin/wmctrl") "\""))
-                (("\"zenity\"")
-                 (string-append "\"" (search-input-file inputs "bin/zenity") "\"")))
-              (substitute* "autokey-shell"
-                (("'ipython3'")
-                 (string-append "'" (search-input-file inputs "bin/ipython3") "'"))
-                (("'python3'")
-                 (string-append "'" (search-input-file inputs "bin/python3") "'")))))
           ;; Use 'prefix' instead of '=' to allow the user to use additional
           ;; GI paths from their autokey scripts.  GUIX_PYTHONPATH is already
           ;; wrapped with prefix in python-build-system's wrap.
-          (add-before 'wrap 'wrap-autokey-gi
-            (lambda _
-              (let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
+          (add-before 'wrap 'wrap-autokey
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((gi-typelib-path (getenv "GI_TYPELIB_PATH"))
+                    (path (map dirname
+                               ;; see lib/autokey/UI_common_functions.py
+                               (list (search-input-file inputs "/bin/wmctrl")
+                                     (search-input-file inputs "/bin/zenity")
+                                     (search-input-file inputs "/bin/ipython3")
+                                     (search-input-file inputs "/bin/python3")))))
                 (for-each
                  (lambda (program)
                    (wrap-program program
+                     `("PATH" ":" prefix ,path)
                      `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
                  (map (lambda (name)
                         (string-append #$output "/bin/" name))
                       '("autokey-gtk"
-                        "autokey-shell")))))))))
+                        "autokey-shell"))))))
+          (add-before 'check 'setup-env-vars
+            (lambda _
+              ;; tests/test_macro.py wants LANG set
+              (setenv "LANG" "")
+              ;; required for tests/test_configmanager.py
+              (setenv "HOME" "/tmp"))))))
+    (native-inputs (list python-pytest python-pytest-cov python-pyhamcrest))
     (inputs
      (list bash-minimal ; for wrap-program
            gtksourceview-3