diff options
| author | Hiroki Tagato <tagattie@FreeBSD.org> | 2026-01-10 03:50:40 +0000 |
|---|---|---|
| committer | Hiroki Tagato <tagattie@FreeBSD.org> | 2026-01-10 03:57:22 +0000 |
| commit | 2ea284ae0656fd4afdb8d7eccb594813d867b150 (patch) | |
| tree | ac2d5da38150f4bcb37734e874d05e46b66f8199 | |
| parent | 741c4dd947f95cfc92e5dbd9cba9edcbae584d13 (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/Makefile | 12 | ||||
| -rw-r--r-- | x11/contour/distinfo | 6 | ||||
| -rw-r--r-- | x11/contour/files/extra-patch-src_crispy_read__selector.h | 4 | ||||
| -rw-r--r-- | x11/contour/files/patch-src_crispy_FNV.h | 67 | ||||
| -rw-r--r-- | 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 |
