summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-08-29 13:58:16 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-09-12 20:55:45 -0400
commita412817d84b78461a23855bb65d5b73bc712c3f5 (patch)
tree77761ccdec5d11193a511455afbd41e6ede48e24
parentbfcd2a86fbbf0ce6eaacc2a7f5177ae7bc8a2b86 (diff)
gnu: Add python-libevdev.
* gnu/packages/freedesktop.scm (python-libevdev): New variable.
-rw-r--r--gnu/packages/freedesktop.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index e2a176c2c2..c62efbff00 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -939,6 +939,48 @@ backends, PackageKit can perform these tasks using the appropriate package
manager for the current system.")
(license license:gpl2+)))
+(define-public python-libevdev
+ (package
+ (name "python-libevdev")
+ (version "0.11")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "libevdev" version))
+ (sha256
+ (base32
+ "03snix86j0angq0lydp29f8833clxq8h0x4spmh8lj7j9mm01jp9"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-dlopen-calls
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "libevdev/_clib.py"
+ (("libevdev.so.2")
+ (search-input-file inputs "lib/libevdev.so.2")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "test")))))))
+ (native-inputs (list python-pytest))
+ (inputs (list libevdev))
+ (home-page "https://gitlab.freedesktop.org/libevdev/python-libevdev")
+ (synopsis "Python wrapper for libevdev")
+ (description "This package provides a Python wrapper around
+@code{libevdev}, taking advantage of @code{libevdev}'s advanced event
+handling. Documentation is available at
+@url{https://python-libevdev.readthedocs.io/en/latest/}.
+@code{libevdev} makes it easy to:
+@itemize
+@item read and parse events from an input device;
+@item create a virtual input device and make it send events;
+@item duplicate an existing device and modify the event stream.
+@end itemize
+For information about libevdev, see:
+@url{https://freedesktop.org/wiki/Software/libevdev/}.")
+ (license license:expat)))
+
(define-public python-pyxdg
(package
(name "python-pyxdg")