llvm 19 got a lot pickier about templates. Here's the simple adjustment needed to make prusaslicer build with it. This depends on the update to CGLA 5.6.2 that I just committed.
Index: Makefile =================================================================== RCS file: /cvs/ports/cad/prusaslicer/Makefile,v diff -u -p -r1.16 Makefile --- Makefile 30 Jan 2025 10:15:11 -0000 1.16 +++ Makefile 30 Jan 2025 10:16:44 -0000 @@ -4,7 +4,7 @@ DPB_PROPERTIES = parallel V = 2.8.1 PKGNAME = prusaslicer-${V} -REVISION = 0 +REVISION = 1 GH_ACCOUNT = prusa3d GH_PROJECT = PrusaSlicer Index: patches/patch-src_libslic3r_Arrange_Core_DataStoreTraits_hpp =================================================================== RCS file: patches/patch-src_libslic3r_Arrange_Core_DataStoreTraits_hpp diff -N patches/patch-src_libslic3r_Arrange_Core_DataStoreTraits_hpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_libslic3r_Arrange_Core_DataStoreTraits_hpp 28 Jan 2025 18:38:34 -0000 @@ -0,0 +1,15 @@ +Fix build with llvm-19 +https://github.com/freebsd/freebsd-ports/commit/778f3f32a33da38f6b526acdddfd6d805a9d0535 + +Index: src/libslic3r/Arrange/Core/DataStoreTraits.hpp +--- src/libslic3r/Arrange/Core/DataStoreTraits.hpp.orig ++++ src/libslic3r/Arrange/Core/DataStoreTraits.hpp +@@ -71,7 +71,7 @@ template<class T, class TT = T> using WritableDataStor + template<class T, class ArrItem> + void set_data(ArrItem &itm, const std::string &key, T &&data) + { +- WritableDataStoreTraits<ArrItem>::template set(itm, key, std::forward<T>(data)); ++ WritableDataStoreTraits<ArrItem>::template set<T>(itm, key, std::forward<T>(data)); + } + + template<class T> constexpr bool IsReadWritableDataStore = IsDataStore<T> && IsWritableDataStore<T>; Index: patches/patch-src_libslic3r_MeshBoolean_cpp =================================================================== RCS file: patches/patch-src_libslic3r_MeshBoolean_cpp diff -N patches/patch-src_libslic3r_MeshBoolean_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_libslic3r_MeshBoolean_cpp 28 Jan 2025 20:34:43 -0000 @@ -0,0 +1,12 @@ +Index: src/libslic3r/MeshBoolean.cpp +--- src/libslic3r/MeshBoolean.cpp.orig ++++ src/libslic3r/MeshBoolean.cpp +@@ -10,6 +10,8 @@ + + #undef PI + ++#include <boost/next_prior.hpp> ++ + // Include igl first. It defines "L" macro which then clashes with our localization + #include <igl/copyleft/cgal/mesh_boolean.h> // IWYU pragma: keep + #include <igl/MeshBooleanType.h>