From 655752f753facd039baae62ac06f9f55d8c50b1c Mon Sep 17 00:00:00 2001 From: Rene Saavedra Date: Mon, 2 May 2022 19:50:37 -0500 Subject: [PATCH] gnu: Add touchegg. * gnu/packages/toys.scm (touchegg): New variable. --- gnu/packages/toys.scm | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm index 09426fe6fa..a3b127444c 100644 --- a/gnu/packages/toys.scm +++ b/gnu/packages/toys.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2019, 2020, 2021 Timotej Lazar ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2021 Leo Famulari +;;; Copyright © 2022 Rene Saavedra ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,8 @@ (define-module (gnu packages toys) #:use-module (gnu packages) #:use-module (gnu packages bison) #:use-module (gnu packages flex) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages man) #:use-module (gnu packages ncurses) @@ -32,6 +35,7 @@ (define-module (gnu packages toys) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) @@ -331,3 +335,51 @@ (define-public cbonsai (description "Cbonsai is a bonsai tree generator using ASCII art. It creates, colors, and positions a bonsai tree, and is configurable.") (license license:gpl3+))) + +(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 binary on startup and + ;; touchegg requires root privileges for proper functioning. + (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 "Linux multi-touch 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. Touchégg only works on X11 and use libinput to communicate with +hardware.") + (license license:gpl3+))) -- 2.34.0