Another obvious fix. This makes cad/pcb2gcode build with llvm 19. https://github.com/boostorg/qvm/commit/c4b9c063a076644575fe9a685c02cd4c10d24405
The pcb2gcode configure script would error out and contain: /usr/local/include/boost/qvm/quat_traits.hpp:82:30: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 82 | quat_traits<Q>::template write_element_idx(i, q) = s; | ^ /usr/local/include/boost/qvm/quat_traits.hpp:92:30: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 92 | quat_traits<Q>::template write_element_idx(i, q, s); | ^ 2 errors generated. Index: Makefile =================================================================== RCS file: /cvs/ports/devel/boost/Makefile,v diff -u -p -r1.150 Makefile --- Makefile 30 Jan 2025 21:54:30 -0000 1.150 +++ Makefile 31 Jan 2025 00:50:03 -0000 @@ -8,7 +8,7 @@ COMMENT-md= machine-dependent libraries VERSION= 1.84.0 DISTNAME= boost_${VERSION:S/./_/g} PKGNAME= boost-${VERSION} -REVISION= 6 +REVISION= 7 EPOCH= 0 CATEGORIES= devel SITES= https://archives.boost.io/release/${VERSION}/source/ Index: patches/patch-boost_qvm_quat_traits_hpp =================================================================== RCS file: patches/patch-boost_qvm_quat_traits_hpp diff -N patches/patch-boost_qvm_quat_traits_hpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-boost_qvm_quat_traits_hpp 31 Jan 2025 00:23:46 -0000 @@ -0,0 +1,23 @@ +https://github.com/boostorg/qvm/commit/c4b9c063a076644575fe9a685c02cd4c10d24405 + +Index: boost/qvm/quat_traits.hpp +--- boost/qvm/quat_traits.hpp.orig ++++ boost/qvm/quat_traits.hpp +@@ -79,7 +79,7 @@ typename enable_if_c< + void>::type + write_quat_element_idx( int i, Q & q, typename quat_traits<Q>::scalar_type s ) + { +- quat_traits<Q>::template write_element_idx(i, q) = s; ++ quat_traits<Q>::write_element_idx(i, q) = s; + } + + template <class Q> +@@ -89,7 +89,7 @@ typename enable_if_c< + void>::type + write_vec_element_idx( int i, Q & q, typename quat_traits<Q>::scalar_type s ) + { +- quat_traits<Q>::template write_element_idx(i, q, s); ++ quat_traits<Q>::write_element_idx(i, q, s); + } + + } }