git: 294265d4bd51 - main - sysutils/vtm: New port: Text-based desktop environment

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Sun, 16 Mar 2025 10:20:33 UTC
The branch main has been updated by fuz:

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

commit 294265d4bd5108206dcd6fba0c5921e39b5a256c
Author:     Yusuf Yaman <nxjoseph@protonmail.com>
AuthorDate: 2025-03-08 00:19:45 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-03-16 10:19:28 +0000

    sysutils/vtm: New port: Text-based desktop environment
    
    Text based desktop environment inside the terminal.
    Allows for tiling terminal buffers, detaching sessions
    and remote collaborative work.
    
    WWW: https://github.com/directvt/vtm
    
    PR:             263864
    Reported by:    Daniel Pérez <y7v81xhon@mozmail.com>
---
 sysutils/Makefile                       |  1 +
 sysutils/vtm/Makefile                   | 27 +++++++++++++++++++++++++++
 sysutils/vtm/distinfo                   |  3 +++
 sysutils/vtm/files/patch-CMakeLists.txt | 31 +++++++++++++++++++++++++++++++
 sysutils/vtm/pkg-descr                  |  3 +++
 5 files changed, 65 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index 9ffd3938d745..ffd9d5e68e69 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1518,6 +1518,7 @@
     SUBDIR += vobcopy
     SUBDIR += volman
     SUBDIR += vpnc-scripts
+    SUBDIR += vtm
     SUBDIR += vttest
     SUBDIR += wait_on
     SUBDIR += walk
diff --git a/sysutils/vtm/Makefile b/sysutils/vtm/Makefile
new file mode 100644
index 000000000000..8424cd1243bf
--- /dev/null
+++ b/sysutils/vtm/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	vtm
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.9.99.70
+CATEGORIES=	sysutils
+
+MAINTAINER=	nxjoseph@protonmail.com
+COMMENT=	Text-based desktop environment
+WWW=		https://github.com/directvt/vtm
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cmake compiler:c++20-lang lua pkgconfig
+USE_CXXSTD=	c++20
+USE_GITHUB=	yes
+GH_ACCOUNT=	directvt
+
+CFLAGS+=	-I${LUA_INCDIR}
+LDFLAGS+=	-L${LUA_LIBDIR}
+
+PLIST_FILES=	bin/vtm
+
+post-patch:
+	${REINPLACE_CMD} 's/lua-5.4/lua-${LUA_VER}/g' \
+		${WRKSRC}/CMakeLists.txt
+
+.include <bsd.port.mk>
diff --git a/sysutils/vtm/distinfo b/sysutils/vtm/distinfo
new file mode 100644
index 000000000000..441bf9f917ab
--- /dev/null
+++ b/sysutils/vtm/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1741550105
+SHA256 (directvt-vtm-v0.9.99.70_GH0.tar.gz) = 9068151b389723a1f6059296359c49dde77f18c2f08af050b33a34f3d06ad1c2
+SIZE (directvt-vtm-v0.9.99.70_GH0.tar.gz) = 1900004
diff --git a/sysutils/vtm/files/patch-CMakeLists.txt b/sysutils/vtm/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..8239f18bab51
--- /dev/null
+++ b/sysutils/vtm/files/patch-CMakeLists.txt
@@ -0,0 +1,31 @@
+--- CMakeLists.txt.orig	2025-03-07 15:17:49 UTC
++++ CMakeLists.txt
+@@ -29,24 +29,15 @@ endif()
+     #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static -pthread -s")
+ endif()
+ 
+-# Lua
+-include(FetchContent)
+-FetchContent_Declare(lua
+-                     URL      https://www.lua.org/ftp/lua-5.4.7.tar.gz
+-                     URL_HASH SHA256=9fbf5e28ef86c69858f6d3d34eccc32e911c1a28b4120ff3e84aaa70cfbf1e30
+-                     DOWNLOAD_EXTRACT_TIMESTAMP true)
+-FetchContent_MakeAvailable(lua)
+-file(GLOB lua_src CONFIGURE_DEPENDS ${lua_SOURCE_DIR}/src/*.c)
+-list(REMOVE_ITEM lua_src ${lua_SOURCE_DIR}/src/lua.c ${lua_SOURCE_DIR}/src/luac.c)
+-add_library(lua ${lua_src})
+-target_include_directories(lua PUBLIC ${lua_SOURCE_DIR}/src)
+-target_sources(lua PRIVATE ${lua_src})
++find_package(PkgConfig)
+ 
++pkg_check_modules(LUA REQUIRED lua-5.4 IMPORTED_TARGET GLOBAL)
++
+ add_executable(vtm "src/vtm.cpp" ${WIN32_RESOURCES})
+ # add_executable(term "src/netxs/apps/term.cpp")
+ # add_executable(calc "src/netxs/apps/calc.cpp")
+ 
+-target_link_libraries(vtm lua)
++target_link_libraries(vtm ${LUA_LIBRARIES})
+ # target_link_libraries(term lua)
+ # target_link_libraries(calc lua)
+ 
diff --git a/sysutils/vtm/pkg-descr b/sysutils/vtm/pkg-descr
new file mode 100644
index 000000000000..53b83f214ddb
--- /dev/null
+++ b/sysutils/vtm/pkg-descr
@@ -0,0 +1,3 @@
+Text based desktop environment inside the terminal.
+Allows for tiling terminal buffers, detaching sessions
+and remote collaborative work.