git: d41fe7db0ace - main - x11/contour: add port: Modern C++ terminal emulator
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 05 Jun 2025 12:19:52 UTC
The branch main has been updated by tagattie:
URL: https://cgit.FreeBSD.org/ports/commit/?id=d41fe7db0acefd28b075ba82f2f12fc6394ca062
commit d41fe7db0acefd28b075ba82f2f12fc6394ca062
Author: Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2025-06-05 12:17:58 +0000
Commit: Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2025-06-05 12:19:37 +0000
x11/contour: add port: Modern C++ terminal emulator
Contour is modern, fast, and designed for everyday use. It's not just
a terminal emulator, but a powerhouse of features tailored for those
who seek efficiency and control. With GPU-accelerated rendering and
high-DPI support, experience the smoothest and most responsive
terminal emulator like never before.
WWW: https://contour-terminal.org/
---
x11/Makefile | 1 +
x11/contour/Makefile | 68 ++++++++++++++++++++++
x11/contour/distinfo | 3 +
.../files/extra-patch-src_crispy_read__selector.h | 11 ++++
x11/contour/pkg-descr | 5 ++
x11/contour/pkg-plist | 14 +++++
6 files changed, 102 insertions(+)
diff --git a/x11/Makefile b/x11/Makefile
index b47f8ef9a44b..2885e267cc0b 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -51,6 +51,7 @@
SUBDIR += clipman
SUBDIR += compton-conf
SUBDIR += conlecterm
+ SUBDIR += contour
SUBDIR += controllermap
SUBDIR += cool-retro-term
SUBDIR += coreterminal
diff --git a/x11/contour/Makefile b/x11/contour/Makefile
new file mode 100644
index 000000000000..b4be1bc56c65
--- /dev/null
+++ b/x11/contour/Makefile
@@ -0,0 +1,68 @@
+PORTNAME= contour
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.6.1.7494
+CATEGORIES= x11
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= Modern C++ terminal emulator
+WWW= https://contour-terminal.org/
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS= ${LOCALBASE}/lib/cmake/boxed-cpp/boxed-cpp-config.cmake:devel/boxed-cpp \
+ ${LOCALBASE}/lib/cmake/Catch2/Catch2Config.cmake:devel/catch2 \
+ ${LOCALBASE}/lib/cmake/reflection-cpp/reflection-cpp-config.cmake:devel/reflection-cpp \
+ ${LOCALBASE}/share/cmake/Microsoft.GSL/Microsoft.GSLConfig.cmake:devel/microsoft-gsl \
+ ${LOCALBASE}/lib/cmake/range-v3/range-v3-config.cmake:devel/range-v3
+LIB_DEPENDS= libunicode.so:devel/libunicode-contour \
+ libyaml-cpp.so:devel/yaml-cpp \
+ libfreetype.so:print/freetype2 \
+ libharfbuzz.so:print/harfbuzz \
+ libssh2.so:security/libssh2 \
+ libfontconfig.so:x11-fonts/fontconfig
+
+USES= cmake:testing desktop-file-utils gl pkgconfig qt:6 xorg
+
+USE_GITHUB= yes
+GH_ACCOUNT= contour-terminal
+
+USE_XORG= xcb
+USE_GL= gl opengl
+USE_QT= 5compat base declarative multimedia tools:build
+
+CMAKE_ON= CONTOUR_TESTING \
+ CONTOUR_INSTALL_TOOLS
+
+PORTDOCS= README.md SECURITY.md TODO.md
+
+OPTIONS_DEFINE= DOCS
+
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD && ${ARCH} == i386
+EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_crispy_read__selector.h
+.endif
+
+# FreeBSD 13 does not have tic in base, so we need one from ports
+.if ${OPSYS} == FreeBSD && ${OSREL:R} == 13
+BUILD_DEPENDS+= tic:devel/ncurses
+.endif
+
+post-install:
+ @${RM} -r ${STAGEDIR}${DATADIR}
+ @${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d \
+ ${STAGEDIR}${PREFIX}/share/fish/vendor_completions.d \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions
+ ${INSTALL_DATA} ${WRKSRC}/src/contour/shell-integration/shell-integration.bash \
+ ${STAGEDIR}${PREFIX}/etc/bash_completion.d/${PORTNAME}
+ ${INSTALL_DATA} ${WRKSRC}/src/contour/shell-integration/shell-integration.fish \
+ ${STAGEDIR}${PREFIX}/share/fish/vendor_completions.d/${PORTNAME}.fish
+ ${INSTALL_DATA} ${WRKSRC}/src/contour/shell-integration/shell-integration.zsh \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/_${PORTNAME}
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/x11/contour/distinfo b/x11/contour/distinfo
new file mode 100644
index 000000000000..839d444335a7
--- /dev/null
+++ b/x11/contour/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1748848147
+SHA256 (contour-terminal-contour-v0.6.1.7494_GH0.tar.gz) = 15090a08cf05124bf05074130cc6460d1d34c6d80f1058c63202effa032b8f6f
+SIZE (contour-terminal-contour-v0.6.1.7494_GH0.tar.gz) = 10329146
diff --git a/x11/contour/files/extra-patch-src_crispy_read__selector.h b/x11/contour/files/extra-patch-src_crispy_read__selector.h
new file mode 100644
index 000000000000..0246b1b3aae2
--- /dev/null
+++ b/x11/contour/files/extra-patch-src_crispy_read__selector.h
@@ -0,0 +1,11 @@
+--- src/crispy/read_selector.h.orig 2025-06-02 12:31:49 UTC
++++ src/crispy/read_selector.h
+@@ -108,7 +108,7 @@ class posix_read_selector
+ if (timeout.has_value())
+ {
+ tv = std::make_unique<timeval>(
+- timeval { .tv_sec = timeout->count() / 1000,
++ timeval { .tv_sec = static_cast<int>(timeout->count() / 1000),
+ .tv_usec = static_cast<int>((timeout->count() % 1000) * 1000) });
+ }
+
diff --git a/x11/contour/pkg-descr b/x11/contour/pkg-descr
new file mode 100644
index 000000000000..9da3cf788e9c
--- /dev/null
+++ b/x11/contour/pkg-descr
@@ -0,0 +1,5 @@
+Contour is modern, fast, and designed for everyday use. It's not just
+a terminal emulator, but a powerhouse of features tailored for those
+who seek efficiency and control. With GPU-accelerated rendering and
+high-DPI support, experience the smoothest and most responsive
+terminal emulator like never before.
diff --git a/x11/contour/pkg-plist b/x11/contour/pkg-plist
new file mode 100644
index 000000000000..967fd3b4b228
--- /dev/null
+++ b/x11/contour/pkg-plist
@@ -0,0 +1,14 @@
+bin/contour
+etc/bash_completion.d/contour
+share/applications/org.contourterminal.Contour.desktop
+share/fish/vendor_completions.d/contour.fish
+share/icons/hicolor/128x128/apps/org.contourterminal.Contour.png
+share/icons/hicolor/256x256/apps/org.contourterminal.Contour.png
+share/icons/hicolor/32x32/apps/org.contourterminal.Contour.png
+share/icons/hicolor/512x512/apps/org.contourterminal.Contour.png
+share/icons/hicolor/64x64/apps/org.contourterminal.Contour.png
+share/kservices5/ServiceMenus/org.contourterminal.Contour.OpenHere.desktop
+share/kservices5/ServiceMenus/org.contourterminal.Contour.RunIn.desktop
+share/metainfo/org.contourterminal.Contour.metainfo.xml
+share/terminfo/c/contour
+share/zsh/site-functions/_contour