gnu: autokey: Update to 0.96.0.

* 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.

Signed-off-by: Christopher Baines <mail@cbaines.net>
This commit is contained in:
Bruno Victal 2023-02-26 17:59:45 +00:00 committed by Christopher Baines
parent 3a3231322a
commit 056f743718
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577

View file

@ -134,6 +134,7 @@
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Gabriel Wicki <gabriel@erlikon.ch>
;;; Copyright © 2023 Amade Nemes <nemesamade@gmail.com>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@ -4736,7 +4737,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
@ -4745,41 +4746,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