diff mbox series

[bug#53222] gnu: autokey fix paths.

Message ID S1e8TdDC_YGqrwGnrRq8W7oyT8CPKRizHBwhMk9JuF-GbUVRwcYnWxfi2Z5hG99yQzTDUpQkktNaoNgxnx90RVpIqpfOFqRkz1PSJHQtHPw=@protonmail.com
State Accepted
Headers show
Series [bug#53222] gnu: autokey fix paths. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

John Kehayias Jan. 14, 2022, 10:48 p.m. UTC
Hi Maxime,

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Friday, January 14th, 2022 at 5:35 PM, Maxime Devos wrote:

>
> Wouldn't these also need to use use 'search-input-file'?
> I think I've mentioned before why 'search-input-file' needs to be
> used in these kind of contexts instead of 'which' (something with
> cross-compilation), if not I can explain.
>

That sounds vaguely familiar and makes sense. I've updated it to do that (not sure why I switched, probably since I was using that somewhere else).

> Do we need propagation here? I don't quite see the need here
> and propagation can cause trouble like profile conflcts during
> partial upgrades (i.e. "guix install foo" after "guix pull"
> without "guix package -u")
> FWIW autokey is never used as library (except for autokey scripts
> but I assume autokey scripts are interpreted in the same process
> as autokey?) and wrap-program sets GUIX_PYTHONPATH so I think all
> python libraries here could be depropagated? Though that might
> be getting out of scope of the original patch, so only if you want
> to investigate.
>

None of the inputs are propagated now (might have been confusing looking at just this patch), all are regular inputs. Runs fine and is a good point I'll keep in mind for other python programs versus libraries.

> Othderwise, the patch you attached LGTM.
>

Just to be clear, this patch (most recent version attached) is just to do these final tweaks on top of the original patch which added autokey (as that was already pushed). So I think everything should be good now?

Thanks for the review and instructive changes!
John

Comments

M Jan. 15, 2022, 11:17 a.m. UTC | #1
John Kehayias schreef op vr 14-01-2022 om 22:48 [+0000]:
> [...]
> None of the inputs are propagated now (might have been confusing looking at just this patch), all are regular inputs. [...]

Indeed, I didn't notice the

> -    (propagated-inpits

line.

> [...] So I think everything should be good now?

AFAICT, yes.

Greetings,
MAxome.
John Kehayias Jan. 15, 2022, 8:03 p.m. UTC | #2
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Saturday, January 15th, 2022 at 6:17 AM, Maxime Devos <maximedevos@telenet.be> wrote:

> John Kehayias schreef op vr 14-01-2022 om 22:48 [+0000]:
>
> [...]
> > [...] So I think everything should be good now?
>
> AFAICT, yes.
>

Great, thanks for the instructive review again!

John
Nicolas Goaziou Jan. 15, 2022, 8:32 p.m. UTC | #3
Hello,

John Kehayias via Guix-patches via <guix-patches@gnu.org> writes:

> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>
> On Saturday, January 15th, 2022 at 6:17 AM, Maxime Devos <maximedevos@telenet.be> wrote:
>
>> John Kehayias schreef op vr 14-01-2022 om 22:48 [+0000]:
>>
>> [...]
>> > [...] So I think everything should be good now?
>>
>> AFAICT, yes.
>>
>
> Great, thanks for the instructive review again!

Applied. Thank you, and thanks to Maxime for the in-depth review.

Regards,
diff mbox series

Patch

From 47126c948e4faa608378900c38417e3d020c1e77 Mon Sep 17 00:00:00 2001
From: John Kehayias <john.kehayias@protonmail.com>
Date: Fri, 14 Jan 2022 15:26:36 -0500
Subject: [PATCH] gnu: autokey: Fix paths.

* gnu/packages/python-xyz.scm (autokey): Add comments on the disabled tests
and GI_TYPELIB_PATH wrapping.
[inputs]: Add ipython.
[phases]{fix-paths}: Use paths to ipython3 and python3 in autokey-shell
script.
{wrap-autokey}: Change name to...
{wrap-autokey-gi}: ...this and move to before wrap for clarity.
---
 gnu/packages/python-xyz.scm | 26 ++++++++++++++++++--------
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b85232f2b7..13fe60d296 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -4197,7 +4197,9 @@  (define-public autokey
     (build-system python-build-system)
     (arguments
      (list
-      #:tests? #f ; Tests are deprecated/broken until next version.
+      ;; 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
@@ -4206,8 +4208,16 @@  (define-public autokey
                 (("\"wmctrl\"")
                  (string-append "\"" (search-input-file inputs "bin/wmctrl") "\""))
                 (("\"zenity\"")
-                 (string-append "\"" (search-input-file inputs "bin/zenity") "\"")))))
-          (add-after 'install 'wrap-autokey
+                 (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")))
                 (for-each
@@ -4223,14 +4233,14 @@  (define-public autokey
            gtksourceview-3
            libappindicator
            libnotify
-           wmctrl
-           zenity))
-    (propagated-inputs
-     (list python-dbus
+           python-dbus
+           python-ipython
            python-pygobject
            python-pyinotify
            python-pyqt+qscintilla
-           python-xlib))
+           python-xlib
+           wmctrl
+           zenity))
     (home-page "https://github.com/autokey/autokey")
     (synopsis
       "Keyboard and GUI automation utility")
-- 
2.34.0