aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroki Tagato <tagattie@FreeBSD.org>2026-01-10 03:50:40 +0000
committerHiroki Tagato <tagattie@FreeBSD.org>2026-01-10 03:57:22 +0000
commit2ea284ae0656fd4afdb8d7eccb594813d867b150 (patch)
treeac2d5da38150f4bcb37734e874d05e46b66f8199
parent741c4dd947f95cfc92e5dbd9cba9edcbae584d13 (diff)
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
-rw-r--r--x11/contour/Makefile12
-rw-r--r--x11/contour/distinfo6
-rw-r--r--x11/contour/files/extra-patch-src_crispy_read__selector.h4
-rw-r--r--x11/contour/files/patch-src_crispy_FNV.h67
-rw-r--r--x11/contour/pkg-plist4
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