git: 2ea284ae0656 - main - x11/contour: Update to 0.6.2.8008
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 10 Jan 2026 03:57:48 UTC
The branch main has been updated by tagattie:
URL: https://cgit.FreeBSD.org/ports/commit/?id=2ea284ae0656fd4afdb8d7eccb594813d867b150
commit 2ea284ae0656fd4afdb8d7eccb594813d867b150
Author: Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-01-10 03:50:40 +0000
Commit: Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-01-10 03:57:22 +0000
x11/contour: Update to 0.6.2.8008
While here, add patch to fix build with clang/libc++ 19.
libc++ 19 only provides std::char_traits for character types, which
causes compile errors when crispy::fnv is instantiated with non-char
types.
Restricting string-related overloads to char-only types, and adding a
generic trivially-copyable value hashing overload restore successful
builds on clang/libc++ 19.
Changelog: https://github.com/contour-terminal/contour/releases/tag/v0.6.2.8008
Reported by: portscout
---
x11/contour/Makefile | 12 ++--
x11/contour/distinfo | 6 +-
.../files/extra-patch-src_crispy_read__selector.h | 4 +-
x11/contour/files/patch-src_crispy_FNV.h | 67 ++++++++++++++++++++++
x11/contour/pkg-plist | 4 +-
5 files changed, 80 insertions(+), 13 deletions(-)
diff --git a/x11/contour/Makefile b/x11/contour/Makefile
index 9bdd9041f892..5c3604862fba 100644
--- a/x11/contour/Makefile
+++ b/x11/contour/Makefile
@@ -1,7 +1,6 @@
PORTNAME= contour
DISTVERSIONPREFIX= v
-DISTVERSION= 0.6.1.7494
-PORTREVISION= 2
+DISTVERSION= 0.6.2.8008
CATEGORIES= x11
MAINTAINER= tagattie@FreeBSD.org
@@ -23,19 +22,20 @@ LIB_DEPENDS= libunicode.so:devel/libunicode-contour \
libfontconfig.so:x11-fonts/fontconfig
TEST_DEPENDS= ${LOCALBASE}/lib/cmake/Catch2/Catch2Config.cmake:devel/catch2
-USES= cmake:testing desktop-file-utils gl pkgconfig qt:6 xorg
+USES= cmake:testing desktop-file-utils gl gnome 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
+USE_GL= opengl
+USE_GNOME= cairo
+USE_QT= base declarative multimedia tools:build
CMAKE_ON= CONTOUR_INSTALL_TOOLS
CMAKE_TESTING_ON= CONTOUR_TESTING
-PORTDOCS= README.md SECURITY.md TODO.md
+PORTDOCS= README.md SECURITY.md
OPTIONS_DEFINE= DOCS
diff --git a/x11/contour/distinfo b/x11/contour/distinfo
index 839d444335a7..0552cc861ad4 100644
--- a/x11/contour/distinfo
+++ b/x11/contour/distinfo
@@ -1,3 +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
+TIMESTAMP = 1767948273
+SHA256 (contour-terminal-contour-v0.6.2.8008_GH0.tar.gz) = 0018f111530ffb5fc669fdd9e400f730156c4d8cfd03ec9e06da555d6bc921e5
+SIZE (contour-terminal-contour-v0.6.2.8008_GH0.tar.gz) = 10374198
diff --git a/x11/contour/files/extra-patch-src_crispy_read__selector.h b/x11/contour/files/extra-patch-src_crispy_read__selector.h
index 0246b1b3aae2..c8e21f8dd3ba 100644
--- a/x11/contour/files/extra-patch-src_crispy_read__selector.h
+++ b/x11/contour/files/extra-patch-src_crispy_read__selector.h
@@ -1,6 +1,6 @@
---- src/crispy/read_selector.h.orig 2025-06-02 12:31:49 UTC
+--- src/crispy/read_selector.h.orig 2026-01-06 17:41:07 UTC
+++ src/crispy/read_selector.h
-@@ -108,7 +108,7 @@ class posix_read_selector
+@@ -107,7 +107,7 @@ class posix_read_selector
if (timeout.has_value())
{
tv = std::make_unique<timeval>(
diff --git a/x11/contour/files/patch-src_crispy_FNV.h b/x11/contour/files/patch-src_crispy_FNV.h
new file mode 100644
index 000000000000..83a63216ccea
--- /dev/null
+++ b/x11/contour/files/patch-src_crispy_FNV.h
@@ -0,0 +1,67 @@
+--- src/crispy/FNV.h.orig 2026-01-06 17:41:07 UTC
++++ src/crispy/FNV.h
+@@ -41,16 +41,47 @@ class fnv
+ return (*this)((*this)(memory, value), moreValues...);
+ }
+
+- template <typename... V>
+- constexpr U operator()(U memory, std::basic_string_view<T> str, V... moreValues) const noexcept
++ /// Incrementally hashes a trivially copyable value.
++ ///
++ /// The value is treated as a sequence of bytes and hashed byte-wise.
++ /// This overload explicitly excludes std::string and std::string_view,
++ /// which are handled by dedicated overloads.
++ template <typename V,
++ typename = std::enable_if_t<
++ std::is_trivially_copyable_v<V> &&
++ !std::is_same_v<V, std::string> &&
++ !std::is_same_v<V, std::string_view>>>
++ constexpr U operator()(U memory, V const& value) const noexcept
+ {
++ auto const* bytes =
++ reinterpret_cast<unsigned char const*>(&value);
++ for (std::size_t i = 0; i < sizeof(V); ++i)
++ memory = (*this)(memory, bytes[i]);
++ return memory;
++ }
++
++ /// Incrementally hashes a string view and additional values (char only).
++ ///
++ /// Each character in @p str is hashed sequentially before applying
++ /// the remaining values in @p moreValues.
++ template <typename Dummy = T, typename... V,
++ typename = std::enable_if_t<std::is_same_v<Dummy, char>>>
++ constexpr U operator()(U memory,
++ std::string_view str,
++ V... moreValues) const noexcept
++ {
+ for (auto const ch: str)
+ memory = (*this)(memory, ch);
+ return (*this)(memory, moreValues...);
+ }
+
+ /// Builds the FNV hash between [_begin, _end)
+- constexpr U operator()(U memory, std::basic_string_view<T> str) const noexcept
++ /// Builds the FNV hash for a string view (char only).
++ ///
++ /// Hashes all characters in @p str starting from the given memory value.
++ template <typename Dummy = T,
++ typename = std::enable_if_t<std::is_same_v<Dummy, char>>>
++ constexpr U operator()(U memory, std::string_view str) const noexcept
+ {
+ for (auto const ch: str)
+ memory = (*this)(memory, ch);
+@@ -70,7 +101,12 @@ class fnv
+ constexpr U operator()(T const* data, size_t len) const noexcept { return (*this)(data, data + len); }
+
+ /// Builds the FNV hash between [_begin, _begin + len)
+- constexpr U operator()(std::basic_string<T> const& str) const noexcept
++ /// Builds the FNV hash for a std::string (char only).
++ ///
++ /// Hashes the string's character data sequentially.
++ template <typename Dummy = T,
++ typename = std::enable_if_t<std::is_same_v<Dummy, char>>>
++ constexpr U operator()(std::string const& str) const noexcept
+ {
+ return (*this)(str.data(), str.data() + str.size());
+ }
diff --git a/x11/contour/pkg-plist b/x11/contour/pkg-plist
index 967fd3b4b228..e31fde66c52b 100644
--- a/x11/contour/pkg-plist
+++ b/x11/contour/pkg-plist
@@ -7,8 +7,8 @@ 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/kio/servicemenus/org.contourterminal.Contour.OpenHere.desktop
+share/kio/servicemenus/org.contourterminal.Contour.RunIn.desktop
share/metainfo/org.contourterminal.Contour.metainfo.xml
share/terminfo/c/contour
share/zsh/site-functions/_contour