diff mbox series

[bug#55235] gnu: Add touchegg.

Message ID L6NN4nckg3RjiT_mmJGG2L3bRKBOeJijnKl_GAG7jHoCPggBAc7ZkMrbjFMX4tOd7l2-Jvyk_8CaOpvNwDLmvJZC5GBkisJz1CjBEmmmbNE=@protonmail.com
State Accepted
Headers show
Series [bug#55235] gnu: Add touchegg. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Rene Saavedra May 3, 2022, 1:01 a.m. UTC
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

Comments

M May 4, 2022, 1:51 p.m. UTC | #1
> + diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm

Doesn't look like a toy to me.

Rene Saavedra via Guix-patches via schreef op di 03-05-2022 om 01:01
[+0000]:
> +         ;; 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")))))))

What does it need root for?

> +    (synopsis "Linux multi-touch gesture recognizer")

Is it Linux-specific?  Also, does it work in a pure environment (./pre-
inst-env guix shell --pure touchegg -- touchegg)?

> use libinput to communicate with +hardware.")

The exact library used seems like an implementation detail to me.

Greetings,
Maxime.
diff mbox series

Patch

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(+)

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