aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/gnome.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r--gnu/packages/gnome.scm62
1 files changed, 62 insertions, 0 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a22e6fe715..d96a5f4643 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10054,6 +10054,68 @@ 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 git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libratbag/piper.git")
+ (commit version)))
+ (sha256
+ (base32 "17h06j8lxpbfygq8fzycl7lml4vv7r05bsyhh3gga2hp0zms4mvg"))))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)
+ ("python-flake8" ,python-flake8)))
+ (inputs
+ `(("adwaita-icon-theme" ,adwaita-icon-theme)
+ ("gtk" ,gtk+)
+ ("gtk:bin" ,gtk+ "bin")
+ ("librsvg" ,librsvg)
+ ("python-evdev" ,python-evdev)
+ ("python-lxml" ,python-lxml)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pygobject" ,python-pygobject)))
+ (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)))
+
(define-public parlatype
;; This is one commit away from 2.0, because the latter introduced
;; a regression in ASR.