editors/openoffice-*: Fix build error with clang 19
Fix this build error:
In file included from /wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/OOXMLFactory.cxx:28:
In file included from /wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/OOXMLFactory.hxx:39:
In file included from /wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx:38:
/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/RefAndPointer.hxx:104:18: error: no member named 'getHandler' in 'RefAndPointer<Interface, ChildClass>'; did you mean 'mpHandler'?
104 | set(rSrc.getHandler());
| ^~~~~~~~~~
| mpHandler
/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/RefAndPointer.hxx:39:26: note: 'mpHandler' declared here
39 | mutable ChildClass * mpHandler;
| ^
when building with:
FreeBSD clang version 19.1.2 (https://github.com/llvm/llvm-project.git llvmorg-19.1.2-0-g7ba7d8e2f7b6)
[11 lines not shown]
science/py-dlib: fix build with libc++ 19
As noted in the libc++ 19 release notes [1], std::char_traits<> is now
only provided for char, char8_t, char16_t, char32_t and wchar_t, and any
instantiation for other types will fail.
This causes science/py-dlib to fail to compile with clang 19 and libc++
19, resulting in errors similar to:
/usr/include/c++/v1/string:820:42: error: implicit instantiation of undefined template 'std::char_traits<unsigned int>'
820 | static_assert(is_same<_CharT, typename traits_type::char_type>::value,
| ^
/wrkdirs/usr/ports/science/py-dlib/work-py311/dlib-19.24.6/dlib/bigint/../unicode/unicode.h:718:19: note: in instantiation of template class 'std::basic_string<unsigned int>' requested here
718 | const ustring convert_to_utf32 (
| ^
/usr/include/c++/v1/__fwd/string.h:23:29: note: template is declared here
23 | struct _LIBCPP_TEMPLATE_VIS char_traits;
| ^
[9 lines not shown]
x11-wm/blackbox: fix build with libc++ 19
As noted in the libc++ 19 release notes [1], std::char_traits<> is now
only provided for char, char8_t, char16_t, char32_t and wchar_t, and any
instantiation for other types will fail.
This causes x11-wm/blackbox to fail to compile with clang 19 and libc++
19, resulting in errors similar to:
/usr/include/c++/v1/string:820:42: error: implicit instantiation of undefined template 'std::char_traits<unsigned int>'
820 | static_assert(is_same<_CharT, typename traits_type::char_type>::value,
| ^
./Menu.hh:82:13: note: in instantiation of template class 'std::basic_string<unsigned int>' requested here
82 | ustring lbl;
| ^
/usr/include/c++/v1/__fwd/string.h:23:29: note: template is declared here
23 | struct _LIBCPP_TEMPLATE_VIS char_traits;
| ^
[8 lines not shown]
sysutils/pfetch: Update to 1.6.0
Changes since 1.5.0:
1.6.0
What's Changed
* Fix parameter substitution on BSD by @merdely in #48
* Adding a man page by @danielhejduk in #51
* Fixed typos by @polluks in #52 and #53
* Support custom ASCII art
* Proper error when uname is unavailible
New Contributors
* @merdely made their first contribution in #48
Full Changelog: https://github.com/Un1q32/pfetch/compare/1.5.0...1.6.0
math/openfst-vosk: fix build with clang and libc++ 19
With clang and libc++ 19 math/openfst-vosk fails to compile, with errors
similar to:
./../include/fst/fst.h:704:15: error: no viable overloaded '='
704 | isymbols_ = impl.isymbols_ ? impl.isymbols_->Copy() : nullptr;
| ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/__memory/unique_ptr.h:231:67: note: candidate function not viable: no known conversion from 'SymbolTable *' to 'unique_ptr<SymbolTable>' for 1st argument
231 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unique_ptr& operator=(unique_ptr&& __u) _NOEXCEPT {
| ^ ~~~~~~~~~~~~~~~~
/usr/include/c++/v1/__memory/unique_ptr.h:241:67: note: candidate template ignored: could not match 'unique_ptr<_Up, _Ep>' against 'SymbolTable *'
241 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unique_ptr& operator=(unique_ptr<_Up, _Ep>&& __u) _NOEXCEPT {
| ^
/usr/include/c++/v1/__memory/unique_ptr.h:263:67: note: candidate function not viable: no known conversion from 'SymbolTable *' to 'nullptr_t' (aka 'std::nullptr_t') for 1st argument
263 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unique_ptr& operator=(nullptr_t) _NOEXCEPT {
| ^ ~~~~~~~~~
/usr/include/c++/v1/__memory/unique_ptr.h:138:59: note: candidate function (the implicit copy assignment operator) not viable: no known conversion from 'SymbolTable *' to 'const unique_ptr<SymbolTable>' for 1st argument
138 | class _LIBCPP_UNIQUE_PTR_TRIVIAL_ABI _LIBCPP_TEMPLATE_VIS unique_ptr {
[15 lines not shown]
www/davix: fix build with clang 19
Clang 19 has become more strict about assigning to const class members,
resulting in errors similar to:
/wrkdirs/usr/ports/www/davix/work/davix-R_0_8_7/src/libs/rapidjson/document.h:319:82: error: cannot assign to non-static data member 'length' with const-qualified type 'const SizeType' (aka 'const unsigned int')
319 | GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
| ~~~~~~ ^
/wrkdirs/usr/ports/www/davix/work/davix-R_0_8_7/src/libs/rapidjson/document.h:325:20: note: non-static data member 'length' declared const here
325 | const SizeType length; //!< length of the string (excluding the trailing NULL terminator)
| ~~~~~~~~~~~~~~~^~~~~~
Upstream rapidjson has fixed this in commit 3b2441b8 [1], which simply
removes the assignment operator.
[1] https://github.com/Tencent/rapidjson/commit/3b2441b8
PR: 282515
Approved by: yuri (maintainer)
MFH: 2024Q4
devel/folly: remove libc++ 19 workaround
For bug 281499 we added a workaround for the `peekView()` method
returning a `std::basic_string<uint8_t>`, which is no longer supported
in libc++ 19 and later.
However, upstream folly has consolidated the `peek` and `peekView`
methods into just `peek`, and is now returning a `std::span<uint8_t
const>` instead [1], so the workaround is no longer needed.
Remove it, and bump PORTREVISION so dependent ports get rebuilt. In
particular, I was looking at a build failure of net/mvfst which was
occurring in the folly headers, due to the `peek()` method being
unavailable.
[1] https://github.com/facebook/folly/commit/3f21ed6dd97f36ca6653b16d5b086b8b8a7efebc
PR: 282522
Approved by: yuri (maintainer)
MFH: 2024Q4