Clang 19 has removed support for the -mavx512pf and -mavx512er flags,
for the Intel Xeon Phi (aka "Knights Landing"/knl or "Knights
Mill"/knm) [1] [2].
This causes fatal errors during configuration of math/blis:
Compiling obj/x86_64/kernels/knl/1m/bli_dpackm_knl_asm_24x8.o ('knl' CFLAGS for kernels)
cc: fatal error: unknown argument '-mavx512pf'; did you mean '-mavx512f'?
gmake: *** [Makefile:653: obj/x86_64/kernels/knl/1m/bli_dpackm_knl_asm_24x8.o] Error 1
Add an EXTRA_PATCHES entry to deal with this situation.
Note that in the future, this may also have to be done for gcc 15 and
later. In that case, the patch might be done unconditionally.
[1] https://github.com/llvm/llvm-project/pull/75580
[2] https://github.com/llvm/llvm-project/pull/92883
PR: 280783
Approved by: maintainer timeout (2 weeks)
MFH: 2024Q3
- Switch from guile2 to guile3
- Pet portclippy
Since guile-config-3.0 crashes, nlopt avoids its use with some patches.
Changelog: https://github.com/stevengj/nlopt/releases/tag/v2.8.0
Reported by: portscout, Repology
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 math/vtk9 to fail to compile with clang 19 and libc++ 19,
resulting in errors similar to:
/wrkdirs/usr/ports/math/vtk9/work/VTK-9.2.6/ThirdParty/diy2/vtkdiy2/include/vtkdiy2/fmt/core.h:272:30: error: implicit instantiation of undefined template 'std::char_traits<fmt::char8_t>'
272 | : data_(s), size_(std::char_traits<Char>::length(s)) {}
| ^
/wrkdirs/usr/ports/math/vtk9/work/VTK-9.2.6/ThirdParty/diy2/vtkdiy2/include/vtkdiy2/fmt/format.h:487:9: note: in instantiation of member function 'fmt::basic_string_view<fmt::char8_t>::basic_string_view' requested here
487 | : basic_string_view<char8_t>(reinterpret_cast<const char8_t*>(s)) {}
| ^
/usr/include/c++/v1/__string/char_traits.h:45:8: note: template is declared here
45 | struct char_traits;
| ^
This is actually a problem in the vendored version of Victor Zverovich's
fmt library [2]. More recent versions of this library have completely
rewritten this part of the header, so work around the issue by making
the basic_string_view<char8_t> part conditional on char8_t being
actually available. (This is only in C++20 and later.)
Clang 19 now also diagnoses incorrect member accesses, which causes
errors similar to:
/wrkdirs/usr/ports/math/vtk9/work/VTK-9.2.6/Utilities/octree/octree/octree_node.txx:210:16: error: no member named '_M_chilren' in 'octree_node<T_, d_, A_>'; did you mean 'm_children'?
210 | return this->_M_chilren[child];
| ^~~~~~~~~~
| m_children
/wrkdirs/usr/ports/math/vtk9/work/VTK-9.2.6/Utilities/octree/octree/octree_node.h:37:23: note: 'm_children' declared here
37 | octree_node_pointer m_children;
| ^
This was apparently a typo, and upstream vtk fixed this in
<https://gitlab.kitware.com/vtk/vtk/-/commit/98af50ca33>. Apply that as
a small patch.
[1] https://libcxx.llvm.org/ReleaseNotes/19.html#deprecations-and-removals
[2] https://fmt.dev/
PR: 280893
Approved by: yuri (maintainer)
MFH: 2024Q3
This is a production release to fix three bugs, none of which
affects well formed scripts on FreeBSD:
The first bug is that bc/dc will exit on macOS when the terminal
is resized.
The second bug is that an array, which should only be a function
parameter, was accepted as part of larger expressions.
The third bug is that the value stack for dc was cleared on any error.
However, this is not how other dc behave. To bring dc more in line
with other implementations, this behavior was changed. This change is
why this version is a new major version.