git: 4951cf94da4e - main - sysutils/ictree: [NEW PORT] Like tree(1) but interactive

From: Älven <alven_at_FreeBSD.org>
Date: Tue, 09 Sep 2025 10:40:20 UTC
The branch main has been updated by alven:

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

commit 4951cf94da4e39cb4fa0616f726c717d434bff4d
Author:     Älven <alven@FreeBSD.org>
AuthorDate: 2025-09-09 10:39:47 +0000
Commit:     Älven <alven@FreeBSD.org>
CommitDate: 2025-09-09 10:39:59 +0000

    sysutils/ictree: [NEW PORT] Like tree(1) but interactive
    
    ictree is a terminal-based program that takes a list of contents of
    directories and displays them in a pager similar to less where you can
    fold/unfold
    
    https://nikitaivanovv.github.io/ictree/
    
    PR:             284245
    Approved by:    yuri@ (Mentor)
    
    Differential Revision: https://reviews.freebsd.org/D52439
---
 sysutils/Makefile         |  1 +
 sysutils/ictree/Makefile  | 22 ++++++++++++++++++++++
 sysutils/ictree/distinfo  |  3 +++
 sysutils/ictree/pkg-descr | 24 ++++++++++++++++++++++++
 4 files changed, 50 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index e14c4c1c3e21..495aad91d6c2 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -520,6 +520,7 @@
     SUBDIR += i2c-tools
     SUBDIR += i7z
     SUBDIR += iat
+    SUBDIR += ictree
     SUBDIR += imgurbash2
     SUBDIR += immortal
     SUBDIR += incron
diff --git a/sysutils/ictree/Makefile b/sysutils/ictree/Makefile
new file mode 100644
index 000000000000..14ea47d78354
--- /dev/null
+++ b/sysutils/ictree/Makefile
@@ -0,0 +1,22 @@
+PORTNAME=	ictree
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.0.1
+CATEGORIES=	sysutils
+MASTER_SITES=	https://github.com/NikitaIvanovV/${PORTNAME}/releases/download/v${DISTVERSION}/
+
+MAINTAINER=	alven@FreeBSD.org
+COMMENT=	Like tree(1) but interactive
+WWW=		https://nikitaivanovv.github.io/ictree/ \
+		https://github.com/NikitaIvanovV/ictree/
+
+LICENSE=	GPLv3+
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		gmake
+
+NO_WRKSUBDIR=	yes
+
+PLIST_FILES=	bin/ictree \
+		share/man/man1/ictree.1.gz
+
+.include <bsd.port.mk>
diff --git a/sysutils/ictree/distinfo b/sysutils/ictree/distinfo
new file mode 100644
index 000000000000..4fa561a6365d
--- /dev/null
+++ b/sysutils/ictree/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1754494166
+SHA256 (ictree-v1.0.1.tar.gz) = a34730ab9722ea5718282b20cbe0904048447ecc11716909e2e03bb2057683d0
+SIZE (ictree-v1.0.1.tar.gz) = 588405
diff --git a/sysutils/ictree/pkg-descr b/sysutils/ictree/pkg-descr
new file mode 100644
index 000000000000..8ce1864e37a0
--- /dev/null
+++ b/sysutils/ictree/pkg-descr
@@ -0,0 +1,24 @@
+ictree is a terminal-based program that takes a list of contents of directories
+and displays them in a pager similar to less where you can fold/unfold
+directories and quickly jump between them.
+
+EXAMPLES:
+
+Find something with locate and pipe output into ictree:
+
+    locate something | ictree
+
+The same applies to any program that can produce a list of paths. For example,
+one can use find with ictree to view current working directory in a nice
+tree-like format:
+
+    find | ictree
+
+ictree can also take a file that contains paths as its first argument:
+
+    locate something > list.txt
+    ictree list.txt
+
+ictree supports Vi-like search functionality. Extended regular expressions are
+supported. If a pattern contains '/' character, the search is performed by full
+paths of items instead of their short names in the list.