git: 5602f7c33d4d - main - sysutils/tvterm: New port: Terminal emulator powered by Turbo Vision

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 28 Mar 2025 05:55:25 UTC
The branch main has been updated by yuri:

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

commit 5602f7c33d4d54079e3cf227a88ffd6953dd1590
Author:     gatekeeper <tiago.gasiba@gmail.com>
AuthorDate: 2025-03-28 05:53:15 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-03-28 05:55:19 +0000

    sysutils/tvterm: New port: Terminal emulator powered by Turbo Vision
    
    Some alterations and additions were made to the original submission.
    
    PR:             285642
---
 sysutils/Makefile                                  |  1 +
 sysutils/tvterm/Makefile                           | 25 ++++++++++++++++++++++
 sysutils/tvterm/distinfo                           |  5 +++++
 .../files/patch-deps_tvision_source_CMakeLists.txt | 11 ++++++++++
 sysutils/tvterm/pkg-descr                          |  4 ++++
 sysutils/tvterm/pkg-plist                          | 15 +++++++++++++
 6 files changed, 61 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index be641b4679cc..964acc770de4 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1396,6 +1396,7 @@
     SUBDIR += tuckr
     SUBDIR += tuptime
     SUBDIR += turbostat
+    SUBDIR += tvterm
     SUBDIR += tw_cli
     SUBDIR += twa-kmod
     SUBDIR += twmn
diff --git a/sysutils/tvterm/Makefile b/sysutils/tvterm/Makefile
new file mode 100644
index 000000000000..c74c67413ca7
--- /dev/null
+++ b/sysutils/tvterm/Makefile
@@ -0,0 +1,25 @@
+PORTNAME=	tvterm
+PORTVERSION=	g20250324
+CATEGORIES=	sysutils
+
+MAINTAINER=	tiago.gasiba@gmail.com
+COMMENT=	Terminal emulator powered by Turbo Vision
+WWW=		https://github.com/magiblot/tvterm
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/COPYRIGHT
+
+LIB_DEPENDS=	libvterm.so:devel/libvterm
+
+USES=		cmake ncurses
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	magiblot
+GH_PROJECT=	tvision:tv
+GH_SUBDIR=	deps/tvision:tv
+GH_TAGNAME=	feedbf7 d9bc009:tv
+
+CMAKE_ON=	TVTERM_USE_SYSTEM_LIBVTERM \
+		BUILD_SHARED_LIBS
+
+.include <bsd.port.mk>
diff --git a/sysutils/tvterm/distinfo b/sysutils/tvterm/distinfo
new file mode 100644
index 000000000000..7451e00cbf27
--- /dev/null
+++ b/sysutils/tvterm/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1742858971
+SHA256 (magiblot-tvterm-g20250324-feedbf7_GH0.tar.gz) = fdcfc0f0c486685dd675d690ac44e6cdb59591654a3014fa246fe5e708fff78c
+SIZE (magiblot-tvterm-g20250324-feedbf7_GH0.tar.gz) = 26384
+SHA256 (magiblot-tvision-d9bc009_GH0.tar.gz) = 641aa637539305520f9ad830ece9e32938e7bcec5e6ff0254c147097ee7ef81a
+SIZE (magiblot-tvision-d9bc009_GH0.tar.gz) = 845000
diff --git a/sysutils/tvterm/files/patch-deps_tvision_source_CMakeLists.txt b/sysutils/tvterm/files/patch-deps_tvision_source_CMakeLists.txt
new file mode 100644
index 000000000000..a8fdbccd2a32
--- /dev/null
+++ b/sysutils/tvterm/files/patch-deps_tvision_source_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- deps/tvision/source/CMakeLists.txt.orig	2025-03-28 05:48:57 UTC
++++ deps/tvision/source/CMakeLists.txt
+@@ -3,7 +3,7 @@ list(REMOVE_ITEM TVSOURCE "${CMAKE_CURRENT_LIST_DIR}/t
+ file(GLOB_RECURSE TVSOURCE "${CMAKE_CURRENT_LIST_DIR}/*/*.cpp")
+ list(REMOVE_ITEM TVSOURCE "${CMAKE_CURRENT_LIST_DIR}/tvision/geninc.cpp")
+ 
+-add_library(${PROJECT_NAME} STATIC ${TVSOURCE})
++add_library(${PROJECT_NAME} ${TVSOURCE})
+ add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
+ 
+ target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_14)
diff --git a/sysutils/tvterm/pkg-descr b/sysutils/tvterm/pkg-descr
new file mode 100644
index 000000000000..ded0d02be224
--- /dev/null
+++ b/sysutils/tvterm/pkg-descr
@@ -0,0 +1,4 @@
+tvterm is an experimental terminal emulator widget and application
+based on the Turbo Vision framework. It was created for the purpose
+of demonstrating new features in Turbo Vision such as 24-bit color
+support.
diff --git a/sysutils/tvterm/pkg-plist b/sysutils/tvterm/pkg-plist
new file mode 100644
index 000000000000..bd637fc780ec
--- /dev/null
+++ b/sysutils/tvterm/pkg-plist
@@ -0,0 +1,15 @@
+bin/tvterm
+include/tvterm/array.h
+include/tvterm/consts.h
+include/tvterm/debug.h
+include/tvterm/mutex.h
+include/tvterm/pty.h
+include/tvterm/termctrl.h
+include/tvterm/termemu.h
+include/tvterm/termframe.h
+include/tvterm/termview.h
+include/tvterm/termwnd.h
+include/tvterm/vtermemu.h
+lib/cmake/tvterm/tvterm-config-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/tvterm/tvterm-config.cmake
+lib/libtvterm-core.so