Rene Saavedra wrote 3 years ago
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
hello,
I share this package, I think (gnu/packages/toys.scm), it is a good place to live; but i can change it.
Cheers
--
Rene
From 655752f753facd039baae62ac06f9f55d8c50b1c Mon Sep 17 00:00:00 2001
From: Rene Saavedra <nanuui@protonmail.com>
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(+)
Toggle diff (83 lines)
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 <timotej.lazar@araneo.si>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
;;;
;;; 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