git: 64f494620b21 - main - x11/tessen: Add new port

From: Nicola Vitale <nivit_at_FreeBSD.org>
Date: Sun, 11 Feb 2024 14:19:24 UTC
The branch main has been updated by nivit:

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

commit 64f494620b21d54f4fdb66b8393ac5c20f2bf759
Author:     Nicola Vitale <nivit@FreeBSD.org>
AuthorDate: 2024-02-11 14:17:58 +0000
Commit:     Nicola Vitale <nivit@FreeBSD.org>
CommitDate: 2024-02-11 14:17:58 +0000

    x11/tessen: Add new port
    
    tessen is a bash script that can autotype and copy data from password-store and
    gopass files. A Wayland native dmenu is required to use tessen and the
    following dmenu backends are recognized:
    
      - bemenu
      - fuzzel
      - rofi (default)
      - tofi
      - wofi
    
    https://github.com/ayushnix/tessen
---
 x11/Makefile         |  1 +
 x11/tessen/Makefile  | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 x11/tessen/distinfo  |  3 ++
 x11/tessen/pkg-descr |  9 ++++++
 x11/tessen/pkg-plist |  4 +++
 5 files changed, 95 insertions(+)

diff --git a/x11/Makefile b/x11/Makefile
index fd8eb036ce68..2fb860abb569 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -428,6 +428,7 @@
     SUBDIR += terminal.app
     SUBDIR += terminator
     SUBDIR += terminology
+    SUBDIR += tessen
     SUBDIR += thingylaunch
     SUBDIR += tilda
     SUBDIR += tilix
diff --git a/x11/tessen/Makefile b/x11/tessen/Makefile
new file mode 100644
index 000000000000..c4c8254c2a66
--- /dev/null
+++ b/x11/tessen/Makefile
@@ -0,0 +1,78 @@
+PORTNAME=	tessen
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2.2.1
+CATEGORIES=	x11
+
+MAINTAINER=	nivit@FreeBSD.org
+COMMENT=	Interactive menu to autotype and copy pass and gopass data
+WWW=		https://github.com/ayushnix/tessen
+
+LICENSE=	GPLv2
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	bash:shells/bash
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	ayushnix
+
+OPTIONS_DEFINE=			DOCS EXAMPLES
+OPTIONS_DEFAULT=		GOPASS OPENURL ROFI WLCOPY
+OPTIONS_GROUP=			ADDTOOLS
+OPTIONS_GROUP_ADDTOOLS=		OPENURL TOTPHOTP
+OPTIONS_MULTI=			ACTION_BACKEND
+OPTIONS_MULTI_ACTION_BACKEND=	WLCOPY WTYPE
+OPTIONS_RADIO=			MENU_BACKEND
+OPTIONS_RADIO_MENU_BACKEND=	BEMENU FUZZEL ROFI TOFI WOFI
+OPTIONS_SINGLE=			PASS_BACKEND
+OPTIONS_SINGLE_PASS_BACKEND=	GOPASS PASS
+
+ACTION_BACKEND_DESC=	Program to copy/autotype data
+ADDTOOLS_DESC=		Install additional tools
+BEMENU_DESC=		Use bemenu as menu program (wayland)
+FUZZEL_DESC=		Use fuzzel as menu program (wayland)
+GOPASS_DESC=		Use gopass to access password store
+MENU_BACKEND_DESC=	Menu program to show pass entries
+OPENURL_DESC=		Open URLs in the default web browser
+PASS_BACKEND_DESC=	Program to access password store
+PASS_DESC=		Use pass to access password store
+ROFI_DESC=		Use rofi as menu program (x11/wayland)
+TOFI_DESC=		Use tofi as menu program (wayland)
+TOTPHOTP_DESC=		Generate TOTP/HOTP when using pass
+WLCOPY_DESC=		Use wl-copy to copy data to clipboard (wayland)
+WOFI_DESC=		Use wofi as menu program (wayland)
+WTYPE_DESC=		Use wtype to autotype data (wayland)
+
+BEMENU_RUN_DEPENDS=	bemenu:x11/bemenu
+DOCS_BUILD_DEPENDS=	scdoc:textproc/scdoc
+FUZZEL_RUN_DEPENDS=	fuzzel:x11/fuzzel
+GOPASS_RUN_DEPENDS=	gopass:security/gopass
+OPENURL_RUN_DEPENDS=	xdg-open:devel/xdg-utils
+PASS_RUN_DEPENDS=	pass:sysutils/password-store
+ROFI_RUN_DEPENDS=	rofi:x11/rofi
+TOFI_RUN_DEPENDS=	tofi:x11/tofi
+TOTPHOTP_RUN_DEPENDS=	pass-otp>=1.2.0:sysutils/pass-otp
+WLCOPY_RUN_DEPENDS=	wl-copy:x11/wl-clipboard
+WOFI_RUN_DEPENDS=	wofi:x11/wofi
+WTYPE_RUN_DEPENDS=	wtype:x11/wtype
+
+do-build:
+	@${DO_NADA}
+
+post-build-DOCS-on:
+.for s in 1 5
+	${LOCALBASE}/bin/scdoc < ${WRKSRC}/man/tessen.${s}.scd > ${WRKSRC}/man/tessen.${s}
+.endfor
+
+do-install:
+	${INSTALL_SCRIPT} ${WRKSRC}/tessen ${STAGEDIR}${PREFIX}/bin
+
+post-install-DOCS-on:
+.for s in 1 5
+	${INSTALL_MAN} ${WRKSRC}/man/tessen.${s} ${STAGEDIR}${PREFIX}/share/man/man${s}/
+.endfor
+
+post-install-EXAMPLES-on:
+	${MKDIR} ${STAGEDIR}${EXAMPLESDIR} && \
+	${INSTALL_DATA} ${WRKSRC}/config ${STAGEDIR}${EXAMPLESDIR}/
+
+.include <bsd.port.mk>
diff --git a/x11/tessen/distinfo b/x11/tessen/distinfo
new file mode 100644
index 000000000000..bf5bc0e4bfeb
--- /dev/null
+++ b/x11/tessen/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1706626765
+SHA256 (ayushnix-tessen-v2.2.1_GH0.tar.gz) = 8acbc0a3934d923fbf7e7ffd75c1e17275ace1c88e96e297d23e281b1fc59f03
+SIZE (ayushnix-tessen-v2.2.1_GH0.tar.gz) = 31402
diff --git a/x11/tessen/pkg-descr b/x11/tessen/pkg-descr
new file mode 100644
index 000000000000..8db84f98bd40
--- /dev/null
+++ b/x11/tessen/pkg-descr
@@ -0,0 +1,9 @@
+tessen is a bash script that can autotype and copy data from password-store and
+gopass files. A Wayland native dmenu is required to use tessen and the
+following dmenu backends are recognized:
+
+  - bemenu
+  - fuzzel
+  - rofi (default)
+  - tofi
+  - wofi
diff --git a/x11/tessen/pkg-plist b/x11/tessen/pkg-plist
new file mode 100644
index 000000000000..15d9dd97b8ee
--- /dev/null
+++ b/x11/tessen/pkg-plist
@@ -0,0 +1,4 @@
+bin/tessen
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/config
+share/man/man1/tessen.1.gz
+share/man/man5/tessen.5.gz