Subject: bug#32031: closed (Re: [bug#32031] [PATCH] gnu: Add keynav.)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 03 Jul 2018 04:32:04 +0000

Your bug report

#32031: [PATCH] gnu: Add keynav.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
32031: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=32031
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#32031] [PATCH] gnu: Add keynav.
From: Oleg Pykhalov <[email-masked]>
To: [email-masked] (Ludovic Courtès)
Cc: [email-masked], [email-masked]
Date: Tue, 03 Jul 2018 07:31:03 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Ludovic,

Thank you for review.

[email-masked] (Ludovic Courtès) writes:

> Oleg Pykhalov <[email-masked]> skribis:
>
>> * gnu/packages/xorg.scm (keynav): New variable.
>
> [...]
>
>> +    (arguments
>> +     `(#:tests? #f
>
> Could you leave a comment explaining why tests are skipped?  If an X
> server is needed, we can launch Xvfb before the ‘check’ phase, as many
> packages do.

Ah, I should did this in the first place, sorry.  There are no tests.

>> +       #:phases
>> +       (modify-phases %standard-phases
>> +         (add-after 'unpack 'setenv
>> +           (lambda _
>> +             (setenv "CC" (which "gcc"))))
>> +         (add-after 'unpack 'patch-keynav
>> +           (lambda _
>> +             (substitute* "keynav.c"
>> +               (("xdo_symbol_map") "xdo_get_symbol_map")
>> +               (("xdo_window_setclass") "xdo_set_window_class")
>> +               (("xdo_window_get_active") "xdo_get_window_at_mouse")
>> +               (("xdo_click") "xdo_click_window")
>> +               (("xdo_mouseup") "xdo_mouse_up")
>> +               (("xdo_mousedown") "xdo_mouse_down")
>> +               (("xdo_mousemove") "xdo_move_mouse")
>> +               (("xdo_mousemove_relative") "xdo_move_mouse_relative")
>> +               (("xdo_mouselocation") "xdo_get_mouse_location")
>> +               (("xdo_mouse_wait_for_move_to") "xdo_wait_for_mouse_move_to")
>> +               (("xdo_keysequence_up") "xdo_send_keysequence_window_up")
>> +               (("xdo_keysequence_down") "xdo_send_keysequence_window_down"))))
>> +         (delete 'configure)
>> +         (replace 'install
>> +           (lambda* (#:key outputs #:allow-other-keys)
>> +             (let ((out (assoc-ref outputs "out")))
>> +               (install-file "keynav" (string-append out "/bin"))
>> +               (install-file "keynavrc" (string-append out "/etc"))))))))
>
> Please return #t in each of these phases.

OK, pushed as with a6a2ef27a389f5ff88b752ba56a7f34d94cb087b with:

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 864ebb0a4..4bad8f23f 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -6147,12 +6147,13 @@ and embedded platforms.")
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (arguments
-     `(#:tests? #f
+     `(#:tests? #f ;No tests.
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'setenv
            (lambda _
-             (setenv "CC" (which "gcc"))))
+             (setenv "CC" (which "gcc"))
+             #t))
          (add-after 'unpack 'patch-keynav
            (lambda _
              (substitute* "keynav.c"
@@ -6167,13 +6168,15 @@ and embedded platforms.")
                (("xdo_mouselocation") "xdo_get_mouse_location")
                (("xdo_mouse_wait_for_move_to") "xdo_wait_for_mouse_move_to")
                (("xdo_keysequence_up") "xdo_send_keysequence_window_up")
-               (("xdo_keysequence_down") "xdo_send_keysequence_window_down"))))
+               (("xdo_keysequence_down") "xdo_send_keysequence_window_down"))
+             #t))
          (delete 'configure)
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
                (install-file "keynav" (string-append out "/bin"))
-               (install-file "keynavrc" (string-append out "/etc"))))))))
+               (install-file "keynavrc" (string-append out "/etc")))
+             #t)))))
     (home-page "https://www.semicomplete.com/projects/keynav/")
     (synopsis "Keyboard-driven mouse cursor mover")
     (description

Oleg.

Subject: [PATCH] gnu: Add keynav.
From: Oleg Pykhalov <[email-masked]>
To: [email-masked]
Cc: Oleg Pykhalov <[email-masked]>
Date: Mon, 2 Jul 2018 07:25:23 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/xorg.scm (keynav): New variable.
---
 gnu/packages/xorg.scm | 62 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 7ce543790..864ebb0a4 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2017 Arun Isaac <[email-masked]>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2018 Kei Kebreau <[email-masked]>
+;;; Copyright © 2018 Oleg Pykhalov <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -6119,3 +6120,64 @@ and embedded platforms.")
         (append configure-flags (list "--with-qt4-immodule"
                                       "--with-qt4")))))
     (synopsis "Multilingual input method framework (Qt support)")))
+
+(define-public keynav
+  (package
+    (name "keynav")
+    (version "0.20110708.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://http.debian.net/debian/pool/main/k/keynav/keynav_"
+             version ".orig.tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1gizjhji3yspxxxvb90js3z1bv18rbf5phxg8rciixpj3cccff8z"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("cairo" ,cairo)
+       ("glib" ,glib)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libxinerama" ,libxinerama)
+       ("libxtst" ,libxtst)
+       ("xdotool" ,xdotool)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'setenv
+           (lambda _
+             (setenv "CC" (which "gcc"))))
+         (add-after 'unpack 'patch-keynav
+           (lambda _
+             (substitute* "keynav.c"
+               (("xdo_symbol_map") "xdo_get_symbol_map")
+               (("xdo_window_setclass") "xdo_set_window_class")
+               (("xdo_window_get_active") "xdo_get_window_at_mouse")
+               (("xdo_click") "xdo_click_window")
+               (("xdo_mouseup") "xdo_mouse_up")
+               (("xdo_mousedown") "xdo_mouse_down")
+               (("xdo_mousemove") "xdo_move_mouse")
+               (("xdo_mousemove_relative") "xdo_move_mouse_relative")
+               (("xdo_mouselocation") "xdo_get_mouse_location")
+               (("xdo_mouse_wait_for_move_to") "xdo_wait_for_mouse_move_to")
+               (("xdo_keysequence_up") "xdo_send_keysequence_window_up")
+               (("xdo_keysequence_down") "xdo_send_keysequence_window_down"))))
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (install-file "keynav" (string-append out "/bin"))
+               (install-file "keynavrc" (string-append out "/etc"))))))))
+    (home-page "https://www.semicomplete.com/projects/keynav/")
+    (synopsis "Keyboard-driven mouse cursor mover")
+    (description
+     "Keynav makes your keyboard a fast mouse cursor mover.  You can move the
+cursor to any point on the screen with a few key strokes.  It also simulates
+mouse click.  You can do everything mouse can do with a keyboard.")
+    (license license:bsd-3)))
-- 
2.18.0