From 81a71a1cad5bd86acfbb6751a92e3dfd0a579591 Mon Sep 17 00:00:00 2001 From: Rene Saavedra Date: Sat, 7 May 2022 16:39:20 -0500 Subject: [PATCH] gnu: Add touchegg. * gnu/packages/linux.scm (touchegg): New variable. --- gnu/packages/linux.scm | 49 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9bb2314ebd..272fd23db0 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -61,6 +61,7 @@ ;;; Copyright © 2021 Solene Rapenne ;;; Copyright © 2021 Petr Hodina ;;; Copyright © 2022 Artyom V. Poptsov +;;; Copyright © 2022 Rene Saavedra ;;; ;;; This file is part of GNU Guix. @@ -110,6 +111,7 @@ (define-module (gnu packages linux) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages golang) #:use-module (gnu packages gperf) @@ -9179,3 +9181,50 @@ (define-public libtree "This tool turns @command{ldd} into a tree and explains how shared libraries are found or why they cannot be located.") (license license:expat))) + +(define-public touchegg + (package + (name "touchegg") + (version "2.0.14") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JoseExposito/touchegg") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0shvslz0c8nqx5f988z55qjc9xw0in9rb7b19r6vr1f7cdkqb6yr")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No tests exist + #:configure-flags + (list "-DUSE_SYSTEMD=OFF") ; No systemd + #:phases + (modify-phases %standard-phases + ;; gnome-shell launch touchegg daemon on startup, touchegg daemon + ;; requires root privileges to detect touchpad or touchscreen device. + (add-after 'unpack 'disable-autostart + (lambda _ + (substitute* "installation/touchegg.desktop" + (("Exec=touchegg") + "Exec=false"))))))) + (native-inputs + (list + pkg-config)) + (inputs + (list + cairo + gtk+ + libgudev + libinput + libxrandr + libxtst + pugixml)) + (home-page "https://github.com/JoseExposito/touchegg") + (synopsis "Multitouch gesture recognizer") + (description + "Touchégg is an application that runs in the background and transform the +gestures you make on your touchpad or touchscreen into visible actions in your +desktop.") + (license license:gpl3+))) -- 2.34.0