git: 294265d4bd51 - main - sysutils/vtm: New port: Text-based desktop environment
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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.