diff mbox series

[bug#60438] gnu: Add python-pynput.

Message ID fc18029bdfb53d8418b25dee26fc37faa2bd049e.1672436643.git.bjc@spork.org
State New
Headers show
Series [bug#60438] gnu: Add python-pynput. | expand

Commit Message

Brian Cully Dec. 30, 2022, 9:44 p.m. UTC
* gnu/packages/python-xyz.scm: (python-pynput) New variable.
---
This patch requires `python-setuptookls-lint', which is in patch#60436.
 gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

Comments

Brian Cully April 6, 2023, 6:54 p.m. UTC | #1
Can someone please take a look at this patch? I've been using it for
months, by way of ‘python-streamdeck-ui’, which requires it, and it
still applies cleanly to master.
diff mbox series

Patch

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2b28e8bd53..d2623bc32d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27734,6 +27734,32 @@  (define-public python-rnc2rng
 equivalent schemata in the XML-based default RELAX NG syntax.")
     (license license:expat)))
 
+(define-public python-pynput
+  (package
+    (name "python-pynput")
+    (version "1.7.6")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pynput" version))
+              (sha256
+               (base32
+                "0g2k5swxhmn65z9fhlwfsbhpr6anvfqkhpbqhyv1chd5dma2cmrs"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f ;pypi tarball doesn't have tests included.
+       #:phases (modify-phases %standard-phases
+                  (add-before 'sanity-check 'start-xserver
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (system (format #f "~a :1 &"
+                                      (search-input-file inputs "/bin/Xvfb")))
+                      (setenv "DISPLAY" ":1") #t)))))
+    (propagated-inputs (list python-six python-evdev python-xlib))
+    (native-inputs (list python-setuptools-lint python-sphinx xorg-server))
+    (home-page "https://github.com/moses-palmer/pynput")
+    (synopsis "Monitor and control user input devices")
+    (description "Monitor and control user input devices")
+    (license license:lgpl3)))
+
 (define-public python-telethon
   (package
     (name "python-telethon")