git: cf9d80571503 - main - sysutils/syngesture: New port: Swipes and gestures with the MT multitouch protocol

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Tue, 05 Sep 2023 07:02:28 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=cf9d805715031055883522c158bb2b0f635757cd

commit cf9d805715031055883522c158bb2b0f635757cd
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-09-05 02:30:45 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-09-05 07:02:22 +0000

    sysutils/syngesture: New port: Swipes and gestures with the MT multitouch protocol
---
 sysutils/Makefile             |  1 +
 sysutils/syngesture/Makefile  | 39 +++++++++++++++++++++++++++++++++++++++
 sysutils/syngesture/distinfo  | 31 +++++++++++++++++++++++++++++++
 sysutils/syngesture/pkg-descr | 14 ++++++++++++++
 4 files changed, 85 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index f35e9476f9c4..b309dd9c35f1 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1400,6 +1400,7 @@
     SUBDIR += symlinks
     SUBDIR += symon
     SUBDIR += synergy
+    SUBDIR += syngesture
     SUBDIR += sysctlbyname-improved-kmod
     SUBDIR += sysctlinfo-kmod
     SUBDIR += sysgather
diff --git a/sysutils/syngesture/Makefile b/sysutils/syngesture/Makefile
new file mode 100644
index 000000000000..04b9299ca4de
--- /dev/null
+++ b/sysutils/syngesture/Makefile
@@ -0,0 +1,39 @@
+PORTNAME=	syngesture
+DISTVERSION=	1.0.1
+CATEGORIES=	sysutils
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Swipes and gestures with the MT multitouch protocol
+WWW=		https://github.com/mqudsi/syngesture
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	evtest:x11/evtest
+
+USES=		cargo
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	mqudsi
+
+CARGO_CRATES=	aho-corasick-0.7.18 \
+		cfg-if-1.0.0 \
+		log-0.4.17 \
+		memchr-2.5.0 \
+		proc-macro2-1.0.43 \
+		quote-1.0.21 \
+		regex-1.6.0 \
+		regex-syntax-0.6.27 \
+		serde-1.0.143 \
+		serde_derive-1.0.143 \
+		serde_repr-0.1.9 \
+		syn-1.0.99 \
+		toml-0.5.9 \
+		unicode-ident-1.0.3
+
+PLIST_FILES=	bin/${PORTNAME}s
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}s
+
+.include <bsd.port.mk>
diff --git a/sysutils/syngesture/distinfo b/sysutils/syngesture/distinfo
new file mode 100644
index 000000000000..243d4045aa73
--- /dev/null
+++ b/sysutils/syngesture/distinfo
@@ -0,0 +1,31 @@
+TIMESTAMP = 1693879703
+SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
+SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
+SIZE (rust/crates/log-0.4.17.crate) = 38028
+SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
+SIZE (rust/crates/memchr-2.5.0.crate) = 65812
+SHA256 (rust/crates/proc-macro2-1.0.43.crate) = 0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab
+SIZE (rust/crates/proc-macro2-1.0.43.crate) = 41512
+SHA256 (rust/crates/quote-1.0.21.crate) = bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179
+SIZE (rust/crates/quote-1.0.21.crate) = 28030
+SHA256 (rust/crates/regex-1.6.0.crate) = 4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b
+SIZE (rust/crates/regex-1.6.0.crate) = 239329
+SHA256 (rust/crates/regex-syntax-0.6.27.crate) = a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244
+SIZE (rust/crates/regex-syntax-0.6.27.crate) = 297300
+SHA256 (rust/crates/serde-1.0.143.crate) = 53e8e5d5b70924f74ff5c6d64d9a5acd91422117c60f48c4e07855238a254553
+SIZE (rust/crates/serde-1.0.143.crate) = 76400
+SHA256 (rust/crates/serde_derive-1.0.143.crate) = d3d8e8de557aee63c26b85b947f5e59b690d0454c753f3adeb5cd7835ab88391
+SIZE (rust/crates/serde_derive-1.0.143.crate) = 54877
+SHA256 (rust/crates/serde_repr-0.1.9.crate) = 1fe39d9fbb0ebf5eb2c7cb7e2a47e4f462fad1379f1166b8ae49ad9eae89a7ca
+SIZE (rust/crates/serde_repr-0.1.9.crate) = 9695
+SHA256 (rust/crates/syn-1.0.99.crate) = 58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13
+SIZE (rust/crates/syn-1.0.99.crate) = 236084
+SHA256 (rust/crates/toml-0.5.9.crate) = 8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7
+SIZE (rust/crates/toml-0.5.9.crate) = 55667
+SHA256 (rust/crates/unicode-ident-1.0.3.crate) = c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf
+SIZE (rust/crates/unicode-ident-1.0.3.crate) = 35031
+SHA256 (mqudsi-syngesture-1.0.1_GH0.tar.gz) = 3b187ef32818427490e422925dc6c30cf2ab05649a94a14a568b70ac2fc177c2
+SIZE (mqudsi-syngesture-1.0.1_GH0.tar.gz) = 12489
diff --git a/sysutils/syngesture/pkg-descr b/sysutils/syngesture/pkg-descr
new file mode 100644
index 000000000000..578bc638dd08
--- /dev/null
+++ b/sysutils/syngesture/pkg-descr
@@ -0,0 +1,14 @@
+syngestures is a utility providing multi-gesture support for various Linux
+touchpad/trackpad drivers implementing the Linux Multi-Touch Protocol, such as
+xf86-input-synaptics.
+
+syngestures is a daemon (background application) that listens for input events
+generated by your touchpad or trackpad and detects when multi-touch gestures are
+performed. It can be configured (globally or on a per-user level) to carry out
+user-defined actions when specific gestures are recognized (with support for
+unique configurations per-device if you have multiple touchpads installed).
+
+It may be used alone or, more commonly, in conjunction with desktop
+environment/display server integration/driver - we recommend using it with
+xf86-input-synaptics` under X11 for the most responsive and "natural" cursor
+movement and acceleration.