git: dd998c7e12c3 - main - sysutils/tmux-xpanes: new port

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Mon, 27 Feb 2023 22:49:41 UTC
The branch main has been updated by fuz:

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

commit dd998c7e12c3e4a7d31bf9a5cbb6c7d473db9b61
Author:     Vidar Karlsen <vidar@karlsen.tech>
AuthorDate: 2023-01-22 19:12:03 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-02-27 22:48:18 +0000

    sysutils/tmux-xpanes: new port
    
    Ultimate terminal divider powered by tmux
    
    Features:
    - Split tmux window into multiple panes
      * Construct command lines & execute them on the panes
    - Runnable from outside of tmux session
    - Runnable from inside of tmux session
    - Record operation log
    - Flexible layout arrangement for panes
      * Select layout presets
      * Set columns or rows as you like
    - Display pane title on each pane
    - Generate command lines from standard input (Pipe mode)
    
    WWW: https://github.com/greymd/tmux-xpanes
    
    Maintainer becomes submitter.  Already submitter of other ports.
    
    PR:             269102
    Approved by:    flo (mentor)
    Differential Revision: https://reviews.freebsd.org/D38780
---
 sysutils/Makefile              |  1 +
 sysutils/tmux-xpanes/Makefile  | 45 ++++++++++++++++++++++++++++++++++++++++++
 sysutils/tmux-xpanes/distinfo  |  3 +++
 sysutils/tmux-xpanes/pkg-descr | 12 +++++++++++
 sysutils/tmux-xpanes/pkg-plist |  4 ++++
 5 files changed, 65 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index 27286768d7fb..cc50c24396e7 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1430,6 +1430,7 @@
     SUBDIR += tmpwatch
     SUBDIR += tmux
     SUBDIR += tmux-mem-cpu-load
+    SUBDIR += tmux-xpanes
     SUBDIR += tmux23
     SUBDIR += topgrade
     SUBDIR += topless
diff --git a/sysutils/tmux-xpanes/Makefile b/sysutils/tmux-xpanes/Makefile
new file mode 100644
index 000000000000..8f7049d020ce
--- /dev/null
+++ b/sysutils/tmux-xpanes/Makefile
@@ -0,0 +1,45 @@
+PORTNAME=		tmux-xpanes
+DISTVERSIONPREFIX=	v
+DISTVERSION=		4.1.3
+CATEGORIES=		sysutils
+
+MAINTAINER=	vidar@karlsen.tech
+COMMENT=	Ultimate terminal divider powered by tmux
+WWW=		https://github.com/greymd/tmux-xpanes
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	bash>0:shells/bash tmux>0:sysutils/tmux
+TEST_DEPENDS=	shunit2>0:devel/shunit2
+
+USES=		shebangfix
+USE_GITHUB=	yes
+GH_ACCOUNT=	greymd
+SHEBANG_FILES=	${WRKSRC}/bin/xpanes
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+
+OPTIONS_DEFINE=	DOCS
+
+do-configure:
+	${REINPLACE_CMD} 's|XP_SHELL="/usr/bin/env bash"|XP_SHELL="${bash_CMD}"|' \
+		${WRKSRC}/bin/xpanes
+
+do-install:
+	cd ${WRKSRC} && ${INSTALL_SCRIPT} bin/xpanes ${STAGEDIR}${PREFIX}/bin
+	cd ${WRKSRC} && ${INSTALL_MAN} man/xpanes.1 ${STAGEDIR}${MANPREFIX}/man/man1
+	cd ${WRKSRC} && ${INSTALL_DATA} completion/zsh/_xpanes \
+		${STAGEDIR}${PREFIX}/share/zsh/site-functions
+
+post-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	cd ${WRKSRC} && ${INSTALL_MAN} README.md ${STAGEDIR}${DOCSDIR}
+
+do-test:
+	${REINPLACE_CMD} 's|$${THIS_DIR}/shunit2|${LOCALBASE}/bin|' \
+		${WRKSRC}/test/cases_smoke.sh
+	cd ${WRKSRC}/test && ./cases_smoke.sh
+
+.include <bsd.port.mk>
diff --git a/sysutils/tmux-xpanes/distinfo b/sysutils/tmux-xpanes/distinfo
new file mode 100644
index 000000000000..261cf9545b70
--- /dev/null
+++ b/sysutils/tmux-xpanes/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1677272549
+SHA256 (greymd-tmux-xpanes-v4.1.3_GH0.tar.gz) = d6c6ce10bb1a487c6455474fe2274eb56ff0a8a87ee9d5cae7dae676d13c19b2
+SIZE (greymd-tmux-xpanes-v4.1.3_GH0.tar.gz) = 64101
diff --git a/sysutils/tmux-xpanes/pkg-descr b/sysutils/tmux-xpanes/pkg-descr
new file mode 100644
index 000000000000..b06c849924a8
--- /dev/null
+++ b/sysutils/tmux-xpanes/pkg-descr
@@ -0,0 +1,12 @@
+Ultimate terminal divider powered by tmux
+
+- Split tmux window into multiple panes
+- * Construct command lines & execute them on the panes
+- Runnable from outside of tmux session
+- Runnable from inside of tmux session
+- Record operation log
+- Flexible layout arrangement for panes
+- * Select layout presets
+- * Set columns or rows as you like
+- Display pane title on each pane
+- Generate command lines from standard input (Pipe mode)
diff --git a/sysutils/tmux-xpanes/pkg-plist b/sysutils/tmux-xpanes/pkg-plist
new file mode 100644
index 000000000000..327706c98cac
--- /dev/null
+++ b/sysutils/tmux-xpanes/pkg-plist
@@ -0,0 +1,4 @@
+bin/xpanes
+man/man1/xpanes.1.gz
+share/zsh/site-functions/_xpanes
+%%PORTDOCS%%%%DOCSDIR%%/README.md