GNU bug report logs -
#40312
[PATCH 0/3]: Add Piper and libratbag
Previous Next
Reported by: Brendan Tildesley <mail <at> brendan.scot>
Date: Mon, 30 Mar 2020 02:36:18 UTC
Severity: normal
Tags: patch
Done: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 40312 in the body.
You can then email your comments to 40312 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#40312
; Package
guix-patches
.
(Mon, 30 Mar 2020 02:36:18 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Brendan Tildesley <mail <at> brendan.scot>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Mon, 30 Mar 2020 02:36:18 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
So this program Piper is unique in that it is entirely useless without
the the ratbagd daemon running. eventually, I'd like for a user to be
able to install all that in 1 click from a GUI with just their sudo
password if needed.
For now, I've included in the descriptions a simple service that makes
it work.
With systemd systems, when Piper is opened and dbus automagically starts
ratbagd, systemctl lists it as a ratbagd.service. systemctl stop
ratbagd.service can the stop it if needed. With the simple service I've
provided in the descriptions, herd status does not list it as a service
and only reconfiguring can disable it... I think.
Is there a way I can write a service that shows ratbag in herd status,
and can start/stop it correctly? Or does herd not have the ability to
treat dbus services as first class services?
N.B, if you want to test the package you can just run sudo ratbagd, then
open piper. if it says cannot find any devices, that means it working
but you wont be able to use it without one of the supported devices to
play with..
Information forwarded
to
guix-patches <at> gnu.org
:
bug#40312
; Package
guix-patches
.
(Mon, 30 Mar 2020 04:18:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 40312 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/linux.scm (python-evdev): New variable.
---
gnu/packages/linux.scm | 42 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 41 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 8fec3352f3..0062e1d40f 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -28,7 +28,7 @@
;;; Copyright © 2017 nee <nee-git <at> hidamari.blue>
;;; Copyright © 2017 Dave Love <fx <at> gnu.org>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby <at> inria.fr>
-;;; Copyright © 2018 Brendan Tildesley <mail <at> brendan.scot>
+;;; Copyright © 2018, 2020 Brendan Tildesley <mail <at> brendan.scot>
;;; Copyright © 2018 Manuel Graf <graf <at> init.at>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois <at> gmx.com>
;;; Copyright © 2018 Vasile Dumitrascu <va511e <at> yahoo.com>
@@ -2922,6 +2922,46 @@ time.")
(define-public eudev-with-hwdb
(deprecated-package "eudev-with-hwdb" eudev))
+(define-public python-evdev
+ (package
+ (name "python-evdev")
+ (version "1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "evdev" version))
+ (sha256
+ (base32
+ "0kb3636yaw9l8xi8s184w0r0n9ic5dw3b8hx048jf9fpzss4kimi"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("kernel-headers" ,linux-libre-headers)))
+ (arguments
+ `(#:tests? #f ;; No rule for tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'patch-patch
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "setup.py"
+ (("/usr/include/linux")
+ (string-append
+ (assoc-ref inputs "kernel-headers") "/include/linux")))
+ #t)))))
+ (home-page
+ "https://python-evdev.readthedocs.io/en/latest/")
+ (synopsis
+ "Bindings to the Linux input handling subsystem")
+ (description
+ "@command{python-evdev} provides bindings to the generic input event
+interface in Linux. The @command{evdev} interface serves the purpose of
+passing events generated in the kernel directly to userspace through character
+devices that are typically located in @command{/dev/input/}.
+
+This package also comes with bindings to @command{uinput}, the userspace input
+subsystem. @command{uinput} allows userspace programs to create and handle
+input devices that can inject events directly into the input subsystem.")
+ (license license:bsd-3)))
+
(define-public lvm2
(package
(name "lvm2")
--
2.25.2
Information forwarded
to
guix-patches <at> gnu.org
:
bug#40312
; Package
guix-patches
.
(Mon, 30 Mar 2020 04:18:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 40312 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/gnome.scm (libratbag): New variable.
---
gnu/packages/gnome.scm | 71 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 70 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index bc78910c64..d44e9ea5e7 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -27,7 +27,7 @@
;;; Copyright © 2017, 2018 nee <nee-git <at> hidamari.blue>
;;; Copyright © 2017 Chris Marusich <cmmarusich <at> gmail.com>
;;; Copyright © 2017 Mohammed Sadiq <sadiq <at> sadiqpk.org>
-;;; Copyright © 2017 Brendan Tildesley <mail <at> brendan.scot>
+;;; Copyright © 2017, 2020 Brendan Tildesley <mail <at> brendan.scot>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling <at> mykolab.com>
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit <at> riseup.net>
;;; Copyright © 2018 Vasile Dumitrascu <va511e <at> yahoo.com>
@@ -159,10 +159,12 @@
#:use-module (gnu packages speech)
#:use-module (gnu packages spice)
#:use-module (gnu packages sqlite)
+ #:use-module (gnu packages swig)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tex)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
#:use-module (gnu packages virtualization)
@@ -9889,3 +9891,70 @@ to.")
license:public-domain
;; snowball
license:bsd-2))))
+
+(define-public libratbag
+ (package
+ (name "libratbag")
+ (version "0.13")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://github.com/libratbag/libratbag/archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1j8ryzrljqcp0c1wqzzpgr5fqdmwqr5z99avkxwfs7kqwm8ii9xh"))))
+ (build-system meson-build-system)
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("check" ,check)
+ ("swig" ,swig)
+ ("valgrind" ,valgrind)))
+ (inputs `(("glib" ,glib)
+ ("json-glib" ,json-glib)
+ ("libevdev" ,libevdev)
+ ("udev" ,eudev)
+ ("libunistring" ,libunistring)
+ ("python-pygobject" ,python-pygobject)
+ ("python-evdev" ,python-evdev)
+ ("libsystemd" ,elogind)))
+ (arguments
+ `(#:configure-flags
+ (list "-Dsystemd=false"
+ "-Dlogind-provider=elogind")
+ #:phases
+ (modify-phases %standard-phases
+ ;; (add-after 'install 'wrap-python
+ ;; (assoc-ref python:%standard-phases 'wrap))
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (site (string-append
+ "/lib/python"
+ ,(version-major+minor (package-version python))
+ "/site-packages"))
+ (evdev (string-append
+ (assoc-ref inputs "python-evdev") site))
+ (pygo (string-append
+ (assoc-ref inputs "python-pygobject") site))
+ (python-wrap
+ `("PYTHONPATH" = (,evdev ,pygo))))
+ (wrap-program (string-append out "/bin/" "ratbagctl")
+ python-wrap)
+ #t))))))
+ (home-page "https://github.com/libratbag/libratbag")
+ (synopsis "DBus daemon and utility for configuring gaming mice")
+ (description "libratbag provides @command{ratbagd}, a DBus daemon to
+configure input devices, mainly gaming mice. The daemon provides a generic
+way to access the various features exposed by these mice and abstracts away
+hardware-specific and kernel-specific quirks. There is also the
+@command{ratbagctl} command line interface for configuring devices.
+
+libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat,
+Steelseries.
+
+The ratbagd dbus service can be enabled by adding the following service to
+your operating-system definition:
+(simple-service 'ratbagd dbus-root-service-type (list libratbag))
+")
+ (license license:expat)))
--
2.25.2
Information forwarded
to
guix-patches <at> gnu.org
:
bug#40312
; Package
guix-patches
.
(Mon, 30 Mar 2020 04:18:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 40312 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/gnome (piper): New variable.
---
gnu/packages/gnome.scm | 63 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index d44e9ea5e7..a98ffb2af5 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -183,6 +183,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
+ #:use-module (guix build python-build-system)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
@@ -9958,3 +9959,65 @@ your operating-system definition:
(simple-service 'ratbagd dbus-root-service-type (list libratbag))
")
(license license:expat)))
+
+(define-public piper
+ (package
+ (name "piper")
+ (version "0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://github.com/libratbag/piper/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0a7vbgj5g5pgkr8h8sd2pkhdnxrqy36i51jq2zxnql28jd8bfbfn"))))
+ (build-system meson-build-system)
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("gettext" ,gettext-minimal)
+ ("python-flake8" ,python-flake8)))
+ (inputs `(("gtk:bin" ,gtk+ "bin")
+ ("gtk" ,gtk+)
+ ("adwaita-icon-theme" ,adwaita-icon-theme)
+ ("librsvg" ,librsvg)
+ ("python-pygobject" ,python-pygobject)
+ ("python-lxml" ,python-lxml)
+ ("python-evdev" ,python-evdev)
+ ("python-pycairo" ,python-pycairo)))
+ (arguments
+ `(#:imported-modules ((guix build python-build-system)
+ ,@%meson-build-system-modules)
+ #:modules (((guix build python-build-system) #:prefix python:)
+ (guix build meson-build-system)
+ (guix build utils))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'dont-update-gtk-icon-cache
+ (lambda _
+ (substitute* "meson.build"
+ (("meson.add_install_script('meson_install.sh')") ""))
+ #t))
+ ;; TODO: Switch to wrap-script when it is fixed
+ (add-after 'install 'wrap-python
+ (assoc-ref python:%standard-phases 'wrap))
+ (add-after 'wrap-python 'wrap
+ (lambda* (#:key outputs #:allow-other-keys)
+ (wrap-program
+ (string-append (assoc-ref outputs "out" )"/bin/piper")
+ `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+ #t)))))
+ (home-page "https://github.com/libratbag/piper/")
+ (synopsis "Configure bindings and LEDs on gaming mice")
+ (description "Piper is a GTK+ application for configuring gaming mice with
+onboard configuration for key bindings via libratbag. Piper requires a
+@command{ratbagd} daemon running with root privileges. It can be run manually
+as root, but is preferably configured as a dbus service that can launch on
+demand. This can be configured by enabling the following service, provided
+there is a dbus-service present:
+ (simple-service 'ratbagd dbus-root-service-type (list libratbag))
+
+")
+ (license license:gpl2)))
--
2.25.2
Information forwarded
to
guix-patches <at> gnu.org
:
bug#40312
; Package
guix-patches
.
(Sun, 12 Apr 2020 05:28:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 40312 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
This patch set (all attached) corrects my sloppy use of texinfo format
in the python-evdev patch, and uses git-fetch instead of github archive
tarballs.
I originally sent these patches in when the mailing list was down so it
all got lost to civilization I think.
If you looking at reviewing this but have no interest in
Piper/libratbag, at least it would be good to add python-evdev, as there
is at least one other user that wishes to use it.
Thanks.
[0001-gnu-Add-python-evdev.patch (text/x-patch, attachment)]
[0002-gnu-Add-libratbag.patch (text/x-patch, attachment)]
[0003-gnu-Add-piper.patch (text/x-patch, attachment)]
Reply sent
to
Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
:
You have taken responsibility.
(Wed, 22 Apr 2020 23:04:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Brendan Tildesley <mail <at> brendan.scot>
:
bug acknowledged by developer.
(Wed, 22 Apr 2020 23:04:01 GMT)
Full text and
rfc822 format available.
Message #22 received at 40312-done <at> debbugs.gnu.org (full text, mbox):
Hello,
Brendan Tildesley <mail <at> brendan.scot> writes:
> This patch set (all attached) corrects my sloppy use of texinfo format
> in the python-evdev patch, and uses git-fetch instead of github
> archive tarballs.
>
> I originally sent these patches in when the mailing list was down so
> it all got lost to civilization I think.
>
> If you looking at reviewing this but have no interest in
> Piper/libratbag, at least it would be good to add python-evdev, as
> there is at least one other user that wishes to use it.
All applied. Thank you.
Regards,
--
Nicolas Goaziou
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 21 May 2020 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 313 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.