aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortslight <tslight@pm.com>2026-02-03 16:17:23 +0000
committerJoseph Mingrone <jrm@FreeBSD.org>2026-02-04 03:22:53 +0000
commitf13b9e1698c5be792228df8fff743709c7895f96 (patch)
treefa3d137d3086914a7416ecdd649f8bcab5f0c246
parent85f2911bbbd81de6a90aaaf5bc825e660b88eeb5 (diff)
misc/emacs-libvterm: New port for Emacs libvterm integration
Emacs-libvterm (vterm) is fully-fledged terminal emulator inside GNU Emacs based on libvterm, a C library. As a result of using compiled code (instead of elisp), emacs-libvterm is fully capable, fast, and it can seamlessly handle large outputs. Reviewed by: jrm Pull Request: https://github.com/freebsd/freebsd-ports/pull/480
-rw-r--r--misc/Makefile1
-rw-r--r--misc/emacs-libvterm/Makefile34
-rw-r--r--misc/emacs-libvterm/distinfo3
-rw-r--r--misc/emacs-libvterm/pkg-descr4
-rw-r--r--misc/emacs-libvterm/pkg-message12
-rw-r--r--misc/emacs-libvterm/pkg-plist5
6 files changed, 59 insertions, 0 deletions
diff --git a/misc/Makefile b/misc/Makefile
index fc9b5bdf56a5..96606b067f04 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -109,6 +109,7 @@
SUBDIR += edflib
SUBDIR += elki
SUBDIR += elscreen
+ SUBDIR += emacs-libvterm
SUBDIR += estic
SUBDIR += exercism
SUBDIR += explosions
diff --git a/misc/emacs-libvterm/Makefile b/misc/emacs-libvterm/Makefile
new file mode 100644
index 000000000000..ca5af33fedf9
--- /dev/null
+++ b/misc/emacs-libvterm/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= emacs-libvterm
+DISTVERSION= g20251119
+CATEGORIES= misc elisp
+PKGNAMESUFFIX= ${EMACS_PKGNAMESUFFIX}
+
+MAINTAINER= tslight@pm.me
+COMMENT= Emacs libvterm integration
+
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libvterm.so:devel/libvterm
+
+USES= cmake:noninja emacs
+
+USE_GITHUB= yes
+GH_ACCOUNT= akermu
+GH_TAGNAME= a01a2894a1c1e81a39527835a9169e35b7ec5dec
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/${EMACS_SITE_LISPDIR}/etc
+ @${MKDIR} ${STAGEDIR}${PREFIX}/${EMACS_SITE_LISPDIR}/vterm
+ ${INSTALL_DATA} ${WRKSRC}/vterm.el \
+ ${STAGEDIR}${PREFIX}/${EMACS_SITE_LISPDIR}/vterm
+ ${INSTALL_LIB} ${WRKSRC}/vterm-module.so \
+ ${STAGEDIR}${PREFIX}/${EMACS_SITE_LISPDIR}/vterm
+ ${INSTALL_DATA} ${WRKSRC}/etc/emacs-vterm-bash.sh \
+ ${STAGEDIR}${PREFIX}/${EMACS_SITE_LISPDIR}/etc/
+ ${INSTALL_DATA} ${WRKSRC}/etc/emacs-vterm-zsh.sh \
+ ${STAGEDIR}${PREFIX}/${EMACS_SITE_LISPDIR}/etc/
+ ${INSTALL_DATA} ${WRKSRC}/etc/emacs-vterm.fish \
+ ${STAGEDIR}${PREFIX}/${EMACS_SITE_LISPDIR}/etc/
+
+.include <bsd.port.mk>
diff --git a/misc/emacs-libvterm/distinfo b/misc/emacs-libvterm/distinfo
new file mode 100644
index 000000000000..3a4a9260cb2c
--- /dev/null
+++ b/misc/emacs-libvterm/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1770154465
+SHA256 (akermu-emacs-libvterm-g20251119-a01a2894a1c1e81a39527835a9169e35b7ec5dec_GH0.tar.gz) = b545df1e9f09cbd61ebcce2b3fef95c34a87dfa0c1553abe489fd34a27dbb08e
+SIZE (akermu-emacs-libvterm-g20251119-a01a2894a1c1e81a39527835a9169e35b7ec5dec_GH0.tar.gz) = 63503
diff --git a/misc/emacs-libvterm/pkg-descr b/misc/emacs-libvterm/pkg-descr
new file mode 100644
index 000000000000..186d474a5fc5
--- /dev/null
+++ b/misc/emacs-libvterm/pkg-descr
@@ -0,0 +1,4 @@
+Emacs-libvterm (vterm) is fully-fledged terminal emulator inside GNU Emacs
+based on libvterm, a C library. As a result of using compiled code (instead of
+elisp), emacs-libvterm is fully capable, fast, and it can seamlessly handle
+large outputs.
diff --git a/misc/emacs-libvterm/pkg-message b/misc/emacs-libvterm/pkg-message
new file mode 100644
index 000000000000..347c507b1041
--- /dev/null
+++ b/misc/emacs-libvterm/pkg-message
@@ -0,0 +1,12 @@
+[
+{
+message: <<EOT
+Final emacs-libvterm setup instructions:
+
+Add (require 'vterm) to your Emacs configuration.
+
+M-x 'vterm' to open a new terminal.
+EOT
+ type: install
+}
+]
diff --git a/misc/emacs-libvterm/pkg-plist b/misc/emacs-libvterm/pkg-plist
new file mode 100644
index 000000000000..93f271e3f797
--- /dev/null
+++ b/misc/emacs-libvterm/pkg-plist
@@ -0,0 +1,5 @@
+%%EMACS_SITE_LISPDIR%%/etc/emacs-vterm-bash.sh
+%%EMACS_SITE_LISPDIR%%/etc/emacs-vterm-zsh.sh
+%%EMACS_SITE_LISPDIR%%/etc/emacs-vterm.fish
+%%EMACS_SITE_LISPDIR%%/vterm/vterm-module.so
+%%EMACS_SITE_LISPDIR%%/vterm/vterm.el