Here is a diff updating cad/prusaslicer to 2.7.1.

diff -NPru -x CVS /usr/ports/cad/prusaslicer/Makefile ./Makefile
--- /usr/ports/cad/prusaslicer/Makefile	Sat Jan 27 19:20:50 2024
+++ ./Makefile	Sat Jan 27 18:02:04 2024
@@ -2,9 +2,8 @@
 ONLY_FOR_ARCHS = ${LP64_ARCHS}
 DPB_PROPERTIES = parallel
 
-V =		2.6.1
+V =		2.7.1
 PKGNAME =	prusaslicer-${V}
-REVISION =	0
 
 GH_ACCOUNT =	prusa3d
 GH_PROJECT =	PrusaSlicer
@@ -23,16 +22,17 @@
 WANTLIB += TKG2d TKG3d TKGeomAlgo TKGeomBase TKHLR TKLCAF TKMath
 WANTLIB += TKMesh TKPrim TKSTEP TKSTEP209 TKSTEPAttr TKSTEPBase
 WANTLIB += TKService TKShHealing TKTopAlgo TKV3d TKVCAF TKXCAF
-WANTLIB += TKXDE TKXDESTEP TKXSBase TKernel X11 atk-1.0 boost_atomic-mt
-WANTLIB += boost_chrono-mt boost_date_time-mt boost_filesystem-mt
-WANTLIB += boost_iostreams-mt boost_locale-mt boost_log-mt boost_log_setup-mt
-WANTLIB += boost_regex-mt boost_system-mt boost_thread-mt c cairo
-WANTLIB += cairo-gobject curl dbus-1 execinfo expat fontconfig
-WANTLIB += freetype gdk-3 gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmp
-WANTLIB += gmpxx gobject-2.0 gtk-3 harfbuzz hidapi-libusb intl
-WANTLIB += jpeg m mpfr nlopt openvdb pango-1.0 pangocairo-1.0
-WANTLIB += png qhull_r tbb tbbmalloc tiff wx_baseu-3.2 wx_gtk3u_core-3.2
-WANTLIB += wx_gtk3u_gl-3.2 wx_gtk3u_html-3.2 z
+WANTLIB += TKXDE TKXDESTEP TKXSBase TKernel X11 atk-1.0 bgcode_binarize
+WANTLIB += bgcode_convert bgcode_core boost_atomic-mt boost_chrono-mt
+WANTLIB += boost_date_time-mt boost_filesystem-mt boost_iostreams-mt
+WANTLIB += boost_locale-mt boost_log-mt boost_log_setup-mt boost_regex-mt
+WANTLIB += boost_system-mt boost_thread-mt c cairo cairo-gobject
+WANTLIB += curl dbus-1 execinfo expat fontconfig freetype gdk-3
+WANTLIB += gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmp gmpxx gobject-2.0
+WANTLIB += gtk-3 harfbuzz hidapi-libusb intl jpeg m mpfr nlopt
+WANTLIB += openvdb pango-1.0 pangocairo-1.0 png qhull_r tbb tbbmalloc
+WANTLIB += tiff wx_baseu-3.2 wx_gtk3u_core-3.2 wx_gtk3u_gl-3.2
+WANTLIB += wx_gtk3u_html-3.2 z
 
 FIX_CRLF_FILES =	src/libslic3r/Point.hpp src/slic3r/GUI/GLCanvas3D.cpp
 
@@ -48,11 +48,13 @@
 BUILD_DEPENDS =		devel/cereal \
 			graphics/nanosvg \
 			math/cgal \
-			math/eigen3
+			math/eigen3 \
+			devel/catch2
 
 LIB_DEPENDS = 		cad/opencascade \
 			comms/libhidapi \
 			devel/gmp,-cxx \
+			devel/libbgcode \
 			devel/mpfr \
 			devel/tbb \
 			graphics/glew \
diff -NPru -x CVS /usr/ports/cad/prusaslicer/distinfo ./distinfo
--- /usr/ports/cad/prusaslicer/distinfo	Sat Jan 27 19:20:50 2024
+++ ./distinfo	Sun Jan 21 11:30:24 2024
@@ -1,2 +1,2 @@
-SHA256 (PrusaSlicer-version_2.6.1.tar.gz) = UW6zSDXNjzAeY5+nf58SKXMAzgEuvDt7anMnXGJFAR0=
-SIZE (PrusaSlicer-version_2.6.1.tar.gz) = 58479800
+SHA256 (PrusaSlicer-version_2.7.1.tar.gz) = XaqOi801Vtbv+nNpYYkjB5petxCtbL/WK5uHRYbJpKM=
+SIZE (PrusaSlicer-version_2.7.1.tar.gz) = 64975776
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-CMakeLists_txt ./patches/patch-CMakeLists_txt
--- /usr/ports/cad/prusaslicer/patches/patch-CMakeLists_txt	Sat Jan 27 19:21:25 2024
+++ ./patches/patch-CMakeLists_txt	Sun Jan 21 11:30:24 2024
@@ -1,7 +1,7 @@
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -215,7 +215,7 @@ if (APPLE)
+@@ -224,7 +224,7 @@ if (APPLE)
      endif ()
  endif ()
  
@@ -10,7 +10,7 @@
      find_package(PkgConfig REQUIRED)
  
      if (CMAKE_VERSION VERSION_LESS "3.1")
-@@ -645,7 +645,6 @@ elseif (SLIC3R_FHS)
+@@ -654,7 +654,6 @@ elseif (SLIC3R_FHS)
              DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME PrusaSlicer-gcodeviewer.png
          )
      endforeach()
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-src_PrusaSlicer_cpp ./patches/patch-src_PrusaSlicer_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-src_PrusaSlicer_cpp	Sat Jan 27 19:21:25 2024
+++ ./patches/patch-src_PrusaSlicer_cpp	Sun Jan 21 11:30:24 2024
@@ -1,7 +1,7 @@
 Index: src/PrusaSlicer.cpp
 --- src/PrusaSlicer.cpp.orig
 +++ src/PrusaSlicer.cpp
-@@ -735,8 +735,8 @@ bool CLI::setup(int argc, char **argv)
+@@ -754,8 +754,8 @@ bool CLI::setup(int argc, char **argv)
  #endif
  
      // See Invoking prusa-slicer from $PATH environment variable crashes #5542
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-src_libslic3r_CMakeLists_txt ./patches/patch-src_libslic3r_CMakeLists_txt
--- /usr/ports/cad/prusaslicer/patches/patch-src_libslic3r_CMakeLists_txt	Sat Jan 27 19:21:25 2024
+++ ./patches/patch-src_libslic3r_CMakeLists_txt	Sun Jan 21 11:30:24 2024
@@ -1,7 +1,7 @@
 Index: src/libslic3r/CMakeLists.txt
 --- src/libslic3r/CMakeLists.txt.orig
 +++ src/libslic3r/CMakeLists.txt
-@@ -550,13 +550,12 @@ find_package(JPEG REQUIRED)
+@@ -572,13 +572,12 @@ find_package(JPEG REQUIRED)
  target_link_libraries(libslic3r
      libnest2d
      admesh
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-src_libslic3r_GCode_cpp ./patches/patch-src_libslic3r_GCode_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-src_libslic3r_GCode_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-src_libslic3r_GCode_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,35 @@
+Index: src/libslic3r/GCode.cpp
+--- src/libslic3r/GCode.cpp.orig
++++ src/libslic3r/GCode.cpp
+@@ -1532,13 +1532,13 @@ void GCodeGenerator::process_layers(
+         [&output_stream](std::string s) { output_stream.write(s); }
+     );
+ 
+-    tbb::filter<void, LayerResult> pipeline_to_layerresult = smooth_path_interpolator & generator;
++    tbb::filter_t<void, LayerResult> pipeline_to_layerresult = smooth_path_interpolator & generator;
+     if (m_spiral_vase)
+         pipeline_to_layerresult = pipeline_to_layerresult & spiral_vase;
+     if (m_pressure_equalizer)
+         pipeline_to_layerresult = pipeline_to_layerresult & pressure_equalizer;
+ 
+-    tbb::filter<LayerResult, std::string> pipeline_to_string = cooling;
++    tbb::filter_t<LayerResult, std::string> pipeline_to_string = cooling;
+     if (m_find_replace)
+         pipeline_to_string = pipeline_to_string & find_replace;
+ 
+@@ -1624,13 +1624,13 @@ void GCodeGenerator::process_layers(
+         [&output_stream](std::string s) { output_stream.write(s); }
+     );
+ 
+-    tbb::filter<void, LayerResult> pipeline_to_layerresult = smooth_path_interpolator & generator;
++    tbb::filter_t<void, LayerResult> pipeline_to_layerresult = smooth_path_interpolator & generator;
+     if (m_spiral_vase)
+         pipeline_to_layerresult = pipeline_to_layerresult & spiral_vase;
+     if (m_pressure_equalizer)
+         pipeline_to_layerresult = pipeline_to_layerresult & pressure_equalizer;
+ 
+-    tbb::filter<LayerResult, std::string> pipeline_to_string = cooling;
++    tbb::filter_t<LayerResult, std::string> pipeline_to_string = cooling;
+     if (m_find_replace)
+         pipeline_to_string = pipeline_to_string & find_replace;
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-src_libslic3r_PrintObject_cpp ./patches/patch-src_libslic3r_PrintObject_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-src_libslic3r_PrintObject_cpp	Sat Jan 27 19:21:25 2024
+++ ./patches/patch-src_libslic3r_PrintObject_cpp	Sun Jan 21 11:30:24 2024
@@ -1,7 +1,7 @@
 Index: src/libslic3r/PrintObject.cpp
 --- src/libslic3r/PrintObject.cpp.orig
 +++ src/libslic3r/PrintObject.cpp
-@@ -51,9 +51,9 @@
+@@ -53,9 +53,9 @@
  #include <functional>
  #include <limits>
  #include <map>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_CMakeLists_txt ./patches/patch-src_slic3r_CMakeLists_txt
--- /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_CMakeLists_txt	Sat Jan 27 19:21:25 2024
+++ ./patches/patch-src_slic3r_CMakeLists_txt	Sun Jan 21 11:30:24 2024
@@ -1,7 +1,7 @@
 Index: src/slic3r/CMakeLists.txt
 --- src/slic3r/CMakeLists.txt.orig
 +++ src/slic3r/CMakeLists.txt
-@@ -330,11 +330,11 @@ endforeach()
+@@ -362,11 +362,11 @@ endforeach()
  
  encoding_check(libslic3r_gui)
  
@@ -14,4 +14,4 @@
 +elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
      target_link_libraries(libslic3r_gui ${DBUS_LIBRARIES}) 
  elseif (APPLE)
-     target_link_libraries(libslic3r_gui ${DISKARBITRATION_LIBRARY})
+     target_link_libraries(libslic3r_gui ${DISKARBITRATION_LIBRARY} ${COREWLAN_LIBRARY})
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_BitmapCache_cpp ./patches/patch-src_slic3r_GUI_BitmapCache_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_BitmapCache_cpp	Sat Jan 27 19:21:25 2024
+++ ./patches/patch-src_slic3r_GUI_BitmapCache_cpp	Sun Jan 21 11:30:24 2024
@@ -10,7 +10,7 @@
  
  #ifdef __APPLE__
      scales.emplace(m_scale);
-@@ -552,7 +552,7 @@ wxBitmapBundle BitmapCache::mksolid(size_t width_in, s
+@@ -554,7 +554,7 @@ wxBitmapBundle BitmapCache::mksolid(size_t width_in, s
      wxVector<wxBitmap> bitmaps;
  
      std::set<double> scales = { 1.0 };
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard_cpp ./patches/patch-src_slic3r_GUI_ConfigWizard_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard_cpp	Sat Jan 27 19:21:25 2024
+++ ./patches/patch-src_slic3r_GUI_ConfigWizard_cpp	Sun Jan 21 11:30:24 2024
@@ -1,7 +1,7 @@
 Index: src/slic3r/GUI/ConfigWizard.cpp
 --- src/slic3r/GUI/ConfigWizard.cpp.orig
 +++ src/slic3r/GUI/ConfigWizard.cpp
-@@ -3141,7 +3141,7 @@ bool ConfigWizard::priv::apply_config(AppConfig *app_c
+@@ -3058,7 +3058,7 @@ bool ConfigWizard::priv::apply_config(AppConfig *app_c
          if ((check_unsaved_preset_changes = install_bundles.size() > 0))
              header = _L_PLURAL("A new vendor was installed and one of its printers will be activated", "New vendors were installed and one of theirs printers will be activated", install_bundles.size());
  
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_GLCanvas3D_cpp ./patches/patch-src_slic3r_GUI_GLCanvas3D_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_GLCanvas3D_cpp	Sat Jan 27 19:21:25 2024
+++ ./patches/patch-src_slic3r_GUI_GLCanvas3D_cpp	Sun Jan 21 11:30:24 2024
@@ -1,7 +1,7 @@
 Index: src/slic3r/GUI/GLCanvas3D.cpp
 --- src/slic3r/GUI/GLCanvas3D.cpp.orig
 +++ src/slic3r/GUI/GLCanvas3D.cpp
-@@ -107,7 +107,7 @@ float RetinaHelper::get_scale_factor() { return float(
+@@ -108,7 +108,7 @@ float RetinaHelper::get_scale_factor() { return float(
  #endif // __WXGTK3__
  
  // Fixed the collision between BuildVolume::Type::Convex and macro Convex defined inside /usr/include/X11/X.h that is included by WxWidgets 3.0.
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_Factories_cpp ./patches/patch-src_slic3r_GUI_GUI_Factories_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_Factories_cpp	Sat Jan 27 19:21:25 2024
+++ ./patches/patch-src_slic3r_GUI_GUI_Factories_cpp	Sun Jan 21 11:30:24 2024
@@ -1,7 +1,7 @@
 Index: src/slic3r/GUI/GUI_Factories.cpp
 --- src/slic3r/GUI/GUI_Factories.cpp.orig
 +++ src/slic3r/GUI/GUI_Factories.cpp
-@@ -1349,7 +1349,7 @@ void MenuFactory::sys_color_changed(wxMenuBar* menubar
+@@ -1442,7 +1442,7 @@ void MenuFactory::sys_color_changed(wxMenuBar* menubar
      for (size_t id = 0; id < menubar->GetMenuCount(); id++) {
          wxMenu* menu = menubar->GetMenu(id);
          sys_color_changed_menu(menu);
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_ObjectManipulation_cpp ./patches/patch-src_slic3r_GUI_GUI_ObjectManipulation_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_ObjectManipulation_cpp	Sat Jan 27 19:21:25 2024
+++ ./patches/patch-src_slic3r_GUI_GUI_ObjectManipulation_cpp	Wed Dec 31 16:00:00 1969
@@ -1,12 +0,0 @@
-Index: src/slic3r/GUI/GUI_ObjectManipulation.cpp
---- src/slic3r/GUI/GUI_ObjectManipulation.cpp.orig
-+++ src/slic3r/GUI/GUI_ObjectManipulation.cpp
-@@ -533,7 +533,7 @@ void ObjectManipulation::Show(const bool show)
-         const Selection& selection = wxGetApp().plater()->canvas3D()->get_selection();
-         bool show_world_local_combo = wxGetApp().get_mode() != comSimple && (selection.is_single_full_instance() || selection.is_single_volume_or_modifier());
-         if (selection.is_single_volume_or_modifier() && m_word_local_combo->GetCount() < 3) {
--#ifdef __linux__
-+#if defined(__linux__) || defined(__OpenBSD__)
-             m_word_local_combo->Insert(coordinate_type_str(ECoordinatesType::Local), 2);
- #else
-             m_word_local_combo->Insert(coordinate_type_str(ECoordinatesType::Local), wxNullBitmap, 2);
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_PhysicalPrinterDialog_cpp ./patches/patch-src_slic3r_GUI_PhysicalPrinterDialog_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_PhysicalPrinterDialog_cpp	Sat Jan 27 19:21:25 2024
+++ ./patches/patch-src_slic3r_GUI_PhysicalPrinterDialog_cpp	Sun Jan 21 11:30:24 2024
@@ -1,7 +1,7 @@
 Index: src/slic3r/GUI/PhysicalPrinterDialog.cpp
 --- src/slic3r/GUI/PhysicalPrinterDialog.cpp.orig
 +++ src/slic3r/GUI/PhysicalPrinterDialog.cpp
-@@ -462,7 +462,7 @@ void PhysicalPrinterDialog::build_printhost_settings(C
+@@ -467,7 +467,7 @@ void PhysicalPrinterDialog::build_printhost_settings(C
      // Always fill in the "printhost_port" combo box from the config and select it.
      {
          Choice* choice = dynamic_cast<Choice*>(m_optgroup->get_field("printhost_port"));
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_Plater_cpp ./patches/patch-src_slic3r_GUI_Plater_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_GUI_Plater_cpp	Sat Jan 27 19:21:25 2024
+++ ./patches/patch-src_slic3r_GUI_Plater_cpp	Sun Jan 21 11:30:24 2024
@@ -1,7 +1,7 @@
 Index: src/slic3r/GUI/Plater.cpp
 --- src/slic3r/GUI/Plater.cpp.orig
 +++ src/slic3r/GUI/Plater.cpp
-@@ -5310,7 +5310,7 @@ void Plater::load_project(const wxString& filename)
+@@ -5395,7 +5395,7 @@ void Plater::load_project(const wxString& filename)
  
      p->reset();
  
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_Utils_WifiScanner_cpp ./patches/patch-src_slic3r_Utils_WifiScanner_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-src_slic3r_Utils_WifiScanner_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-src_slic3r_Utils_WifiScanner_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,19 @@
+Index: src/slic3r/Utils/WifiScanner.cpp
+--- src/slic3r/Utils/WifiScanner.cpp.orig
++++ src/slic3r/Utils/WifiScanner.cpp
+@@ -19,7 +19,7 @@
+ #include "WifiScannerMac.h"
+ #endif 
+ 
+-#if __linux__
++#if __linux__ || defined(__OpenBSD__)
+ #include <dbus/dbus.h> /* Pull in all of D-Bus headers. */
+ #endif //__linux__
+ 
+@@ -457,4 +457,4 @@ std::string WifiScanner::get_psk(const std::string& ss
+     }
+     return {};
+ }
+-} // Slic3r
+\ No newline at end of file
++} // Slic3r
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_CMakeLists_txt ./patches/patch-tests_CMakeLists_txt
--- /usr/ports/cad/prusaslicer/patches/patch-tests_CMakeLists_txt	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_CMakeLists_txt	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,21 @@
+Index: tests/CMakeLists.txt
+--- tests/CMakeLists.txt.orig
++++ tests/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ # TODO Add individual tests as executables in separate directories
+ # add_subirectory(<testcase>)
+ 
+-find_package(Catch2 2.9 REQUIRED)
++find_package(Catch2 REQUIRED)
+ 
+ include(Catch)
+ 
+@@ -13,7 +13,7 @@ set(CATCH_EXTRA_ARGS "" CACHE STRING "Extra arguments 
+ add_library(test_common INTERFACE)
+ target_include_directories(test_common INTERFACE ${CMAKE_CURRENT_LIST_DIR})
+ target_compile_definitions(test_common INTERFACE TEST_DATA_DIR=R"\(${TEST_DATA_DIR}\)" CATCH_CONFIG_FAST_COMPILE)
+-target_link_libraries(test_common INTERFACE Catch2::Catch2)
++target_link_libraries(test_common INTERFACE Catch2::Catch2WithMain)
+ 
+ if (APPLE)
+     target_link_libraries(test_common INTERFACE "-liconv -framework IOKit" "-framework CoreFoundation" -lc++)
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_arrange_test_arrange_cpp ./patches/patch-tests_arrange_test_arrange_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_arrange_test_arrange_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_arrange_test_arrange_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,18 @@
+Index: tests/arrange/test_arrange.cpp
+--- tests/arrange/test_arrange.cpp.orig
++++ tests/arrange/test_arrange.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include "test_utils.hpp"
+ 
+ #include <libslic3r/Execution/ExecutionSeq.hpp>
+@@ -39,6 +39,8 @@
+ #include <boost/geometry/algorithms/convert.hpp>
+ 
+ #include <random>
++
++using Catch::Approx;
+ 
+ template<class ArrItem = Slic3r::arr2::ArrangeItem>
+ static std::vector<ArrItem> prusa_parts(double infl = 0.) {
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_arrange_test_arrange_integration_cpp ./patches/patch-tests_arrange_test_arrange_integration_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_arrange_test_arrange_integration_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_arrange_test_arrange_integration_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,18 @@
+Index: tests/arrange/test_arrange_integration.cpp
+--- tests/arrange/test_arrange_integration.cpp.orig
++++ tests/arrange/test_arrange_integration.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include "test_utils.hpp"
+ 
+ #include <libslic3r/Arrange/Arrange.hpp>
+@@ -11,6 +11,8 @@
+ #include "libslic3r/Geometry/ConvexHull.hpp"
+ #include "libslic3r/Format/3mf.hpp"
+ #include "libslic3r/ModelArrange.hpp"
++
++using Catch::Approx;
+ 
+ static Slic3r::Model get_example_model_with_20mm_cube()
+ {
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_catch_main_hpp ./patches/patch-tests_catch_main_hpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_catch_main_hpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_catch_main_hpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,56 @@
+Index: tests/catch_main.hpp
+--- tests/catch_main.hpp.orig
++++ tests/catch_main.hpp
+@@ -4,51 +4,6 @@
+ #define CATCH_CONFIG_EXTERNAL_INTERFACES
+ #define CATCH_CONFIG_MAIN
+ // #define CATCH_CONFIG_DEFAULT_REPORTER "verboseconsole"
+-#include <catch2/catch.hpp>
+-
+-namespace Catch {
+-struct VerboseConsoleReporter : public ConsoleReporter {
+-    double duration = 0.;
+-    using ConsoleReporter::ConsoleReporter;
+-    
+-    void testCaseStarting(TestCaseInfo const& _testInfo) override
+-    {
+-        Colour::use(Colour::Cyan);
+-        stream << "Testing ";
+-        Colour::use(Colour::None);
+-        stream << _testInfo.name << std::endl;
+-        ConsoleReporter::testCaseStarting(_testInfo);
+-    }
+-    
+-    void sectionStarting(const SectionInfo &_sectionInfo) override
+-    {
+-        if (_sectionInfo.name != currentTestCaseInfo->name)
+-            stream << _sectionInfo.name << std::endl;
+-        
+-        ConsoleReporter::sectionStarting(_sectionInfo);
+-    }
+-    
+-    void sectionEnded(const SectionStats &_sectionStats) override {
+-        duration += _sectionStats.durationInSeconds;
+-        ConsoleReporter::sectionEnded(_sectionStats);
+-    } 
+-    
+-    void testCaseEnded(TestCaseStats const& stats) override
+-    {
+-        if (stats.totals.assertions.allOk()) {
+-            Colour::use(Colour::BrightGreen);
+-            stream << "Passed";
+-            Colour::use(Colour::None);
+-            stream << " in " << duration << " [seconds]\n" << std::endl;
+-        }
+-        
+-        duration = 0.;            
+-        ConsoleReporter::testCaseEnded(stats);
+-    }
+-};
+-
+-CATCH_REGISTER_REPORTER( "verboseconsole", VerboseConsoleReporter )
+-
+-} // namespace Catch
++#include <catch2/catch_all.hpp>
+ 
+ #endif // CATCH_MAIN
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_avoid_crossing_perimeters_cpp ./patches/patch-tests_fff_print_test_avoid_crossing_perimeters_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_avoid_crossing_perimeters_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_avoid_crossing_perimeters_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_avoid_crossing_perimeters.cpp
+--- tests/fff_print/test_avoid_crossing_perimeters.cpp.orig
++++ tests/fff_print/test_avoid_crossing_perimeters.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "test_data.hpp"
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_bridges_cpp ./patches/patch-tests_fff_print_test_bridges_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_bridges_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_bridges_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_bridges.cpp
+--- tests/fff_print/test_bridges.cpp.orig
++++ tests/fff_print/test_bridges.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <libslic3r/BridgeDetector.hpp>
+ #include <libslic3r/Geometry.hpp>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_clipper_cpp ./patches/patch-tests_fff_print_test_clipper_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_clipper_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_clipper_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_clipper.cpp
+--- tests/fff_print/test_clipper.cpp.orig
++++ tests/fff_print/test_clipper.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "test_data.hpp"
+ #include "libslic3r/ClipperZUtils.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_cooling_cpp ./patches/patch-tests_fff_print_test_cooling_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_cooling_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_cooling_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_cooling.cpp
+--- tests/fff_print/test_cooling.cpp.orig
++++ tests/fff_print/test_cooling.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <numeric>
+ #include <sstream>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_custom_gcode_cpp ./patches/patch-tests_fff_print_test_custom_gcode_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_custom_gcode_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_custom_gcode_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_custom_gcode.cpp
+--- tests/fff_print/test_custom_gcode.cpp.orig
++++ tests/fff_print/test_custom_gcode.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <exception>
+ #include <numeric>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_data_cpp ./patches/patch-tests_fff_print_test_data_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_data_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_data_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,12 @@
+Index: tests/fff_print/test_data.cpp
+--- tests/fff_print/test_data.cpp.orig
++++ tests/fff_print/test_data.cpp
+@@ -389,7 +389,7 @@ bool contains_regex(const std::string &data, const std
+ 
+ } } // namespace Slic3r::Test
+ 
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ SCENARIO("init_print functionality", "[test_data]") {
+ 	GIVEN("A default config") {
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_extrusion_entity_cpp ./patches/patch-tests_fff_print_test_extrusion_entity_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_extrusion_entity_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_extrusion_entity_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,17 @@
+Index: tests/fff_print/test_extrusion_entity.cpp
+--- tests/fff_print/test_extrusion_entity.cpp.orig
++++ tests/fff_print/test_extrusion_entity.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <cstdlib>
+ 
+@@ -10,6 +10,7 @@
+ 
+ #include "test_data.hpp"
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ 
+ static inline Slic3r::Point random_point(float LO=-50, float HI=50) 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_fill_cpp ./patches/patch-tests_fff_print_test_fill_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_fill_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_fill_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_fill.cpp
+--- tests/fff_print/test_fill.cpp.orig
++++ tests/fff_print/test_fill.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <numeric>
+ #include <sstream>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_flow_cpp ./patches/patch-tests_fff_print_test_flow_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_flow_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_flow_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,17 @@
+Index: tests/fff_print/test_flow.cpp
+--- tests/fff_print/test_flow.cpp.orig
++++ tests/fff_print/test_flow.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <numeric>
+ #include <sstream>
+@@ -10,6 +10,7 @@
+ #include "libslic3r/Flow.hpp"
+ #include "libslic3r/libslic3r.h"
+ 
++using Catch::Approx;
+ using namespace Slic3r::Test;
+ using namespace Slic3r;
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_gaps_cpp ./patches/patch-tests_fff_print_test_gaps_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_gaps_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_gaps_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_gaps.cpp
+--- tests/fff_print/test_gaps.cpp.orig
++++ tests/fff_print/test_gaps.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/GCodeReader.hpp"
+ #include "libslic3r/Geometry/ConvexHull.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_gcode_cpp ./patches/patch-tests_fff_print_test_gcode_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_gcode_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_gcode_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,24 @@
+Index: tests/fff_print/test_gcode.cpp
+--- tests/fff_print/test_gcode.cpp.orig
++++ tests/fff_print/test_gcode.cpp
+@@ -1,9 +1,10 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <memory>
+ 
+ #include "libslic3r/GCode.hpp"
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ using namespace Slic3r::GCode::Impl;
+ 
+@@ -22,7 +23,7 @@ SCENARIO("Origin manipulation", "[GCode]") {
+     }
+ }
+ 
+-struct ApproxEqualsPoints : public Catch::MatcherBase<Points> {
++struct ApproxEqualsPoints : public Catch::Matchers::MatcherBase<Points> {
+     ApproxEqualsPoints(const Points& expected, unsigned tolerance): expected(expected), tolerance(tolerance) {}
+     bool match(const Points& points) const override {
+         if (points.size() != expected.size()) {
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_gcodefindreplace_cpp ./patches/patch-tests_fff_print_test_gcodefindreplace_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_gcodefindreplace_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_gcodefindreplace_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_gcodefindreplace.cpp
+--- tests/fff_print/test_gcodefindreplace.cpp.orig
++++ tests/fff_print/test_gcodefindreplace.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <memory>
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_gcodewriter_cpp ./patches/patch-tests_fff_print_test_gcodewriter_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_gcodewriter_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_gcodewriter_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,36 @@
+Index: tests/fff_print/test_gcodewriter.cpp
+--- tests/fff_print/test_gcodewriter.cpp.orig
++++ tests/fff_print/test_gcodewriter.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <memory>
+ 
+@@ -12,22 +12,22 @@ SCENARIO("set_speed emits values with fixed-point outp
+         GCodeWriter writer;
+         WHEN("set_speed is called to set speed to 99999.123") {
+             THEN("Output string is G1 F99999.123") {
+-                REQUIRE_THAT(writer.set_speed(99999.123), Catch::Equals("G1 F99999.123\n"));
++	        REQUIRE_THAT(writer.set_speed(99999.123), Catch::Matchers::Equals("G1 F99999.123\n"));
+             }
+         }
+         WHEN("set_speed is called to set speed to 1") {
+             THEN("Output string is G1 F1") {
+-                REQUIRE_THAT(writer.set_speed(1.0), Catch::Equals("G1 F1\n"));
++                REQUIRE_THAT(writer.set_speed(1.0), Catch::Matchers::Equals("G1 F1\n"));
+             }
+         }
+         WHEN("set_speed is called to set speed to 203.200022") {
+             THEN("Output string is G1 F203.2") {
+-                REQUIRE_THAT(writer.set_speed(203.200022), Catch::Equals("G1 F203.2\n"));
++                REQUIRE_THAT(writer.set_speed(203.200022), Catch::Matchers::Equals("G1 F203.2\n"));
+             }
+         }
+         WHEN("set_speed is called to set speed to 203.200522") {
+             THEN("Output string is G1 F203.201") {
+-                REQUIRE_THAT(writer.set_speed(203.200522), Catch::Equals("G1 F203.201\n"));
++                REQUIRE_THAT(writer.set_speed(203.200522), Catch::Matchers::Equals("G1 F203.201\n"));
+             }
+         }
+     }
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_model_cpp ./patches/patch-tests_fff_print_test_model_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_model_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_model_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_model.cpp
+--- tests/fff_print/test_model.cpp.orig
++++ tests/fff_print/test_model.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/libslic3r.h"
+ #include "libslic3r/Model.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_multi_cpp ./patches/patch-tests_fff_print_test_multi_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_multi_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_multi_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_multi.cpp
+--- tests/fff_print/test_multi.cpp.orig
++++ tests/fff_print/test_multi.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <numeric>
+ #include <sstream>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_perimeters_cpp ./patches/patch-tests_fff_print_test_perimeters_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_perimeters_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_perimeters_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_perimeters.cpp
+--- tests/fff_print/test_perimeters.cpp.orig
++++ tests/fff_print/test_perimeters.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <numeric>
+ #include <sstream>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_print_cpp ./patches/patch-tests_fff_print_test_print_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_print_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_print_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_print.cpp
+--- tests/fff_print/test_print.cpp.orig
++++ tests/fff_print/test_print.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/libslic3r.h"
+ #include "libslic3r/Print.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_printgcode_cpp ./patches/patch-tests_fff_print_test_printgcode_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_printgcode_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_printgcode_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,17 @@
+Index: tests/fff_print/test_printgcode.cpp
+--- tests/fff_print/test_printgcode.cpp.orig
++++ tests/fff_print/test_printgcode.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/libslic3r.h"
+ #include "libslic3r/GCodeReader.hpp"
+@@ -8,6 +8,7 @@
+ #include <algorithm>
+ #include <boost/regex.hpp>
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ using namespace Slic3r::Test;
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_printobject_cpp ./patches/patch-tests_fff_print_test_printobject_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_printobject_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_printobject_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,17 @@
+Index: tests/fff_print/test_printobject.cpp
+--- tests/fff_print/test_printobject.cpp.orig
++++ tests/fff_print/test_printobject.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/libslic3r.h"
+ #include "libslic3r/Print.hpp"
+@@ -6,6 +6,7 @@
+ 
+ #include "test_data.hpp"
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ using namespace Slic3r::Test;
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_shells_cpp ./patches/patch-tests_fff_print_test_shells_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_shells_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_shells_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_shells.cpp
+--- tests/fff_print/test_shells.cpp.orig
++++ tests/fff_print/test_shells.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/GCodeReader.hpp"
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_skirt_brim_cpp ./patches/patch-tests_fff_print_test_skirt_brim_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_skirt_brim_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_skirt_brim_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,17 @@
+Index: tests/fff_print/test_skirt_brim.cpp
+--- tests/fff_print/test_skirt_brim.cpp.orig
++++ tests/fff_print/test_skirt_brim.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/GCodeReader.hpp"
+ #include "libslic3r/Config.hpp"
+@@ -8,6 +8,7 @@
+ 
+ #include "test_data.hpp" // get access to init_print, etc
+ 
++using Catch::Approx;
+ using namespace Slic3r::Test;
+ using namespace Slic3r;
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_support_material_cpp ./patches/patch-tests_fff_print_test_support_material_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_support_material_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_support_material_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_support_material.cpp
+--- tests/fff_print/test_support_material.cpp.orig
++++ tests/fff_print/test_support_material.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/GCodeReader.hpp"
+ #include "libslic3r/Layer.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_thin_walls_cpp ./patches/patch-tests_fff_print_test_thin_walls_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_thin_walls_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_thin_walls_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_thin_walls.cpp
+--- tests/fff_print/test_thin_walls.cpp.orig
++++ tests/fff_print/test_thin_walls.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <numeric>
+ #include <sstream>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_trianglemesh_cpp ./patches/patch-tests_fff_print_test_trianglemesh_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_fff_print_test_trianglemesh_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_fff_print_test_trianglemesh_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/fff_print/test_trianglemesh.cpp
+--- tests/fff_print/test_trianglemesh.cpp.orig
++++ tests/fff_print/test_trianglemesh.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/TriangleMesh.hpp"
+ #include "libslic3r/TriangleMeshSlicer.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_3mf_cpp ./patches/patch-tests_libslic3r_test_3mf_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_3mf_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_3mf_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_3mf.cpp
+--- tests/libslic3r/test_3mf.cpp.orig
++++ tests/libslic3r/test_3mf.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/Model.hpp"
+ #include "libslic3r/Format/3mf.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_aabbindirect_cpp ./patches/patch-tests_libslic3r_test_aabbindirect_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_aabbindirect_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_aabbindirect_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,17 @@
+Index: tests/libslic3r/test_aabbindirect.cpp
+--- tests/libslic3r/test_aabbindirect.cpp.orig
++++ tests/libslic3r/test_aabbindirect.cpp
+@@ -1,11 +1,12 @@
+ #include <algorithm>
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ #include <libslic3r/TriangleMesh.hpp>
+ #include <libslic3r/AABBTreeIndirect.hpp>
+ #include <libslic3r/AABBTreeLines.hpp>
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ 
+ TEST_CASE("Building a tree over a box, ray caster and closest query", "[AABBIndirect]")
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_anyptr_cpp ./patches/patch-tests_libslic3r_test_anyptr_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_anyptr_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_anyptr_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_anyptr.cpp
+--- tests/libslic3r/test_anyptr.cpp.orig
++++ tests/libslic3r/test_anyptr.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <libslic3r/libslic3r.h>
+ #include <libslic3r/AnyPtr.hpp>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_arachne_cpp ./patches/patch-tests_libslic3r_test_arachne_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_arachne_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_arachne_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_arachne.cpp
+--- tests/libslic3r/test_arachne.cpp.orig
++++ tests/libslic3r/test_arachne.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/Arachne/WallToolPaths.hpp"
+ #include "libslic3r/ClipperUtils.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_arc_welder_cpp ./patches/patch-tests_libslic3r_test_arc_welder_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_arc_welder_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_arc_welder_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,17 @@
+Index: tests/libslic3r/test_arc_welder.cpp
+--- tests/libslic3r/test_arc_welder.cpp.orig
++++ tests/libslic3r/test_arc_welder.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ #include <random>
+@@ -8,6 +8,7 @@
+ #include <libslic3r/SVG.hpp>
+ #include <libslic3r/libslic3r.h>
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ 
+ TEST_CASE("arc basics", "[ArcWelder]") {
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_astar_cpp ./patches/patch-tests_libslic3r_test_astar_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_astar_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_astar_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,16 @@
+Index: tests/libslic3r/test_astar.cpp
+--- tests/libslic3r/test_astar.cpp.orig
++++ tests/libslic3r/test_astar.cpp
+@@ -1,10 +1,11 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/BoundingBox.hpp"
+ #include "libslic3r/AStar.hpp"
+ #include "libslic3r/Execution/ExecutionSeq.hpp"
+ #include "libslic3r/PointGrid.hpp"
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ 
+ TEST_CASE("Testing basic invariants of AStar", "[AStar]") {
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_clipper_offset_cpp ./patches/patch-tests_libslic3r_test_clipper_offset_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_clipper_offset_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_clipper_offset_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,17 @@
+Index: tests/libslic3r/test_clipper_offset.cpp
+--- tests/libslic3r/test_clipper_offset.cpp.orig
++++ tests/libslic3r/test_clipper_offset.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <iostream>
+ #include <boost/filesystem.hpp>
+@@ -7,6 +7,7 @@
+ #include "libslic3r/ExPolygon.hpp"
+ #include "libslic3r/SVG.hpp"
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ 
+ // #define TESTS_EXPORT_SVGS
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_clipper_utils_cpp ./patches/patch-tests_libslic3r_test_clipper_utils_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_clipper_utils_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_clipper_utils_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,17 @@
+Index: tests/libslic3r/test_clipper_utils.cpp
+--- tests/libslic3r/test_clipper_utils.cpp.orig
++++ tests/libslic3r/test_clipper_utils.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <numeric>
+ #include <iostream>
+@@ -8,6 +8,7 @@
+ #include "libslic3r/ExPolygon.hpp"
+ #include "libslic3r/SVG.hpp"
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ 
+ SCENARIO("Various Clipper operations - xs/t/11_clipper.t", "[ClipperUtils]") {
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_color_cpp ./patches/patch-tests_libslic3r_test_color_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_color_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_color_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_color.cpp
+--- tests/libslic3r/test_color.cpp.orig
++++ tests/libslic3r/test_color.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include "libslic3r/libslic3r.h"
+ 
+ #include "libslic3r/Color.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_config_cpp ./patches/patch-tests_libslic3r_test_config_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_config_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_config_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_config.cpp
+--- tests/libslic3r/test_config.cpp.orig
++++ tests/libslic3r/test_config.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/Config.hpp"
+ #include "libslic3r/PrintConfig.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_curve_fitting_cpp ./patches/patch-tests_libslic3r_test_curve_fitting_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_curve_fitting_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_curve_fitting_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,16 @@
+Index: tests/libslic3r/test_curve_fitting.cpp
+--- tests/libslic3r/test_curve_fitting.cpp.orig
++++ tests/libslic3r/test_curve_fitting.cpp
+@@ -1,9 +1,11 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ #include <libslic3r/Geometry/Curves.hpp>
+ #include <libslic3r/Utils.hpp>
+ #include <libslic3r/SVG.hpp>
++
++using Catch::Approx;
+ 
+ TEST_CASE("Curves: cubic b spline fit test", "[Curves]") {
+     using namespace Slic3r;
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_cut_surface_cpp ./patches/patch-tests_libslic3r_test_cut_surface_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_cut_surface_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_cut_surface_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,16 @@
+Index: tests/libslic3r/test_cut_surface.cpp
+--- tests/libslic3r/test_cut_surface.cpp.orig
++++ tests/libslic3r/test_cut_surface.cpp
+@@ -1,10 +1,10 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <libslic3r/CutSurface.hpp>
+ #include <libslic3r/TriangleMesh.hpp> // its_make_cube + its_merge
+ 
+ using namespace Slic3r;
+-TEST_CASE("Cut character from surface", "[]")
++TEST_CASE("Cut character from surface")
+ {
+     std::string font_path = std::string(TEST_DATA_DIR) +
+                             "/../../resources/fonts/NotoSans-Regular.ttf";
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_elephant_foot_compensation_cpp ./patches/patch-tests_libslic3r_test_elephant_foot_compensation_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_elephant_foot_compensation_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_elephant_foot_compensation_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_elephant_foot_compensation.cpp
+--- tests/libslic3r/test_elephant_foot_compensation.cpp.orig
++++ tests/libslic3r/test_elephant_foot_compensation.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <iostream>
+ #include <boost/filesystem.hpp>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_emboss_cpp ./patches/patch-tests_libslic3r_test_emboss_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_emboss_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_emboss_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,27 @@
+Index: tests/libslic3r/test_emboss.cpp
+--- tests/libslic3r/test_emboss.cpp.orig
++++ tests/libslic3r/test_emboss.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <libslic3r/Emboss.hpp>
+ #include <libslic3r/SVG.hpp> // only debug visualization
+@@ -412,7 +412,7 @@ TEST_CASE("ray segment intersection", "[MeshBoolean]")
+     CHECK(abs(*t1 - *t2) < std::numeric_limits<double>::epsilon());
+ }
+ 
+-TEST_CASE("triangle intersection", "[]")
++TEST_CASE("triangle intersection")
+ {
+     Vec2d                point(1, 1);
+     Vec2d                dir(-1, 0);
+@@ -481,7 +481,7 @@ TEST_CASE("Italic check", "[Emboss]") 
+ #endif // FONT_DIR_PATH
+ 
+ #include "libslic3r/CutSurface.hpp"
+-TEST_CASE("Cut surface", "[]")
++TEST_CASE("Cut surface")
+ {
+     std::string  font_path  = get_font_filepath();
+     char         letter     = '%';
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_expolygon_cpp ./patches/patch-tests_libslic3r_test_expolygon_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_expolygon_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_expolygon_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,22 @@
+Index: tests/libslic3r/test_expolygon.cpp
+--- tests/libslic3r/test_expolygon.cpp.orig
++++ tests/libslic3r/test_expolygon.cpp
+@@ -1,9 +1,10 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/Point.hpp"
+ #include "libslic3r/Polygon.hpp"
+ #include "libslic3r/ExPolygon.hpp"
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ 
+ static inline bool points_close(const Point &p1, const Point &p2)
+@@ -160,4 +161,4 @@ TEST_CASE("Serialization of expolygons to string", "[E
+     }
+ 
+     CHECK(expolys == expolys_loaded);
+-}
+\ No newline at end of file
++}
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_geometry_cpp ./patches/patch-tests_libslic3r_test_geometry_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_geometry_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_geometry_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_geometry.cpp
+--- tests/libslic3r/test_geometry.cpp.orig
++++ tests/libslic3r/test_geometry.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/Point.hpp"
+ #include "libslic3r/BoundingBox.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_hollowing_cpp ./patches/patch-tests_libslic3r_test_hollowing_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_hollowing_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_hollowing_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,11 @@
+Index: tests/libslic3r/test_hollowing.cpp
+--- tests/libslic3r/test_hollowing.cpp.orig
++++ tests/libslic3r/test_hollowing.cpp
+@@ -1,6 +1,6 @@
+ #include <iostream>
+ #include <fstream>
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/SLA/Hollowing.hpp"
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_indexed_triangle_set_cpp ./patches/patch-tests_libslic3r_test_indexed_triangle_set_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_indexed_triangle_set_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_indexed_triangle_set_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,12 @@
+Index: tests/libslic3r/test_indexed_triangle_set.cpp
+--- tests/libslic3r/test_indexed_triangle_set.cpp.orig
++++ tests/libslic3r/test_indexed_triangle_set.cpp
+@@ -1,6 +1,7 @@
+ #include <iostream>
+ #include <fstream>
+-#include <catch2/catch.hpp>
++#include <random>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/TriangleMesh.hpp"
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_jump_point_search_cpp ./patches/patch-tests_libslic3r_test_jump_point_search_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_jump_point_search_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_jump_point_search_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_jump_point_search.cpp
+--- tests/libslic3r/test_jump_point_search.cpp.orig
++++ tests/libslic3r/test_jump_point_search.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include "libslic3r/BoundingBox.hpp"
+ #include "libslic3r/JumpPointSearch.hpp"
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_kdtreeindirect_cpp ./patches/patch-tests_libslic3r_test_kdtreeindirect_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_kdtreeindirect_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_kdtreeindirect_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_kdtreeindirect.cpp
+--- tests/libslic3r/test_kdtreeindirect.cpp.orig
++++ tests/libslic3r/test_kdtreeindirect.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/KDTreeIndirect.hpp"
+ #include "libslic3r/Execution/ExecutionSeq.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_marchingsquares_cpp ./patches/patch-tests_libslic3r_test_marchingsquares_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_marchingsquares_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_marchingsquares_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_marchingsquares.cpp
+--- tests/libslic3r/test_marchingsquares.cpp.orig
++++ tests/libslic3r/test_marchingsquares.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ #include <fstream>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_meshboolean_cpp ./patches/patch-tests_libslic3r_test_meshboolean_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_meshboolean_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_meshboolean_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,15 @@
+Index: tests/libslic3r/test_meshboolean.cpp
+--- tests/libslic3r/test_meshboolean.cpp.orig
++++ tests/libslic3r/test_meshboolean.cpp
+@@ -1,9 +1,10 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ #include <libslic3r/TriangleMesh.hpp>
+ #include <libslic3r/MeshBoolean.hpp>
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ 
+ TEST_CASE("CGAL and TriangleMesh conversions", "[MeshBoolean]") {
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_mutable_polygon_cpp ./patches/patch-tests_libslic3r_test_mutable_polygon_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_mutable_polygon_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_mutable_polygon_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_mutable_polygon.cpp
+--- tests/libslic3r/test_mutable_polygon.cpp.orig
++++ tests/libslic3r/test_mutable_polygon.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/Point.hpp"
+ #include "libslic3r/MutablePolygon.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_mutable_priority_queue_cpp ./patches/patch-tests_libslic3r_test_mutable_priority_queue_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_mutable_priority_queue_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_mutable_priority_queue_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,12 @@
+Index: tests/libslic3r/test_mutable_priority_queue.cpp
+--- tests/libslic3r/test_mutable_priority_queue.cpp.orig
++++ tests/libslic3r/test_mutable_priority_queue.cpp
+@@ -1,6 +1,7 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <queue>
++#include <random>
+ 
+ #include "libslic3r/MutablePriorityQueue.hpp"
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_optimizers_cpp ./patches/patch-tests_libslic3r_test_optimizers_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_optimizers_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_optimizers_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_optimizers.cpp
+--- tests/libslic3r/test_optimizers.cpp.orig
++++ tests/libslic3r/test_optimizers.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ #include <libslic3r/Optimize/BruteforceOptimizer.hpp>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_placeholder_parser_cpp ./patches/patch-tests_libslic3r_test_placeholder_parser_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_placeholder_parser_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_placeholder_parser_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,14 @@
+Index: tests/libslic3r/test_placeholder_parser.cpp
+--- tests/libslic3r/test_placeholder_parser.cpp.orig
++++ tests/libslic3r/test_placeholder_parser.cpp
+@@ -1,8 +1,9 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/PlaceholderParser.hpp"
+ #include "libslic3r/PrintConfig.hpp"
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ 
+ SCENARIO("Placeholder parser scripting", "[PlaceholderParser]") {
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_png_io_cpp ./patches/patch-tests_libslic3r_test_png_io_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_png_io_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_png_io_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,12 @@
+Index: tests/libslic3r/test_png_io.cpp
+--- tests/libslic3r/test_png_io.cpp.orig
++++ tests/libslic3r/test_png_io.cpp
+@@ -2,7 +2,7 @@
+ #define NOMINMAX
+ #endif
+ 
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <numeric>
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_polygon_cpp ./patches/patch-tests_libslic3r_test_polygon_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_polygon_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_polygon_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_polygon.cpp
+--- tests/libslic3r/test_polygon.cpp.orig
++++ tests/libslic3r/test_polygon.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/Point.hpp"
+ #include "libslic3r/Polygon.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_polyline_cpp ./patches/patch-tests_libslic3r_test_polyline_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_polyline_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_polyline_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_polyline.cpp
+--- tests/libslic3r/test_polyline.cpp.orig
++++ tests/libslic3r/test_polyline.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/Point.hpp"
+ #include "libslic3r/Polyline.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_quadric_edge_collapse_cpp ./patches/patch-tests_libslic3r_test_quadric_edge_collapse_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_quadric_edge_collapse_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_quadric_edge_collapse_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,18 @@
+Index: tests/libslic3r/test_quadric_edge_collapse.cpp
+--- tests/libslic3r/test_quadric_edge_collapse.cpp.orig
++++ tests/libslic3r/test_quadric_edge_collapse.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ #include <libslic3r/QuadricEdgeCollapse.hpp>
+@@ -240,7 +240,7 @@ TEST_CASE("Simplify frog_legs.obj to 5% by Quadric edg
+ }
+ 
+ #include <libigl/igl/qslim.h>
+-TEST_CASE("Simplify frog_legs.obj to 5% by IGL/qslim", "[]")
++TEST_CASE("Simplify frog_legs.obj to 5% by IGL/qslim")
+ {
+     std::string  obj_filename    = "frog_legs.obj";
+     TriangleMesh mesh            = load_model(obj_filename);
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_region_expansion_cpp ./patches/patch-tests_libslic3r_test_region_expansion_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_region_expansion_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_region_expansion_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,17 @@
+Index: tests/libslic3r/test_region_expansion.cpp
+--- tests/libslic3r/test_region_expansion.cpp.orig
++++ tests/libslic3r/test_region_expansion.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <libslic3r/libslic3r.h>
+ #include <libslic3r/Algorithm/RegionExpansion.hpp>
+@@ -7,6 +7,7 @@
+ #include <libslic3r/Polygon.hpp>
+ #include <libslic3r/SVG.cpp>
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ 
+ //#define DEBUG_TEMP_DIR "d:\\temp\\"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_static_map_cpp ./patches/patch-tests_libslic3r_test_static_map_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_static_map_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_static_map_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_static_map.cpp
+--- tests/libslic3r/test_static_map.cpp.orig
++++ tests/libslic3r/test_static_map.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <string_view>
+ 
+ #include "libslic3r/StaticMap.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_stl_cpp ./patches/patch-tests_libslic3r_test_stl_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_stl_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_stl_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_stl.cpp
+--- tests/libslic3r/test_stl.cpp.orig
++++ tests/libslic3r/test_stl.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/Model.hpp"
+ #include "libslic3r/Format/STL.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_support_spots_generator_cpp ./patches/patch-tests_libslic3r_test_support_spots_generator_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_support_spots_generator_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_support_spots_generator_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,13 @@
+Index: tests/libslic3r/test_support_spots_generator.cpp
+--- tests/libslic3r/test_support_spots_generator.cpp.orig
++++ tests/libslic3r/test_support_spots_generator.cpp
+@@ -1,7 +1,8 @@
+ #include "libslic3r/Point.hpp"
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <libslic3r/SupportSpotsGenerator.hpp>
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ using namespace SupportSpotsGenerator;
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_surface_mesh_cpp ./patches/patch-tests_libslic3r_test_surface_mesh_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_surface_mesh_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_surface_mesh_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_surface_mesh.cpp
+--- tests/libslic3r/test_surface_mesh.cpp.orig
++++ tests/libslic3r/test_surface_mesh.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_timeutils_cpp ./patches/patch-tests_libslic3r_test_timeutils_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_timeutils_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_timeutils_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_timeutils.cpp
+--- tests/libslic3r/test_timeutils.cpp.orig
++++ tests/libslic3r/test_timeutils.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/Time.hpp"
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_triangulation_cpp ./patches/patch-tests_libslic3r_test_triangulation_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_triangulation_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_triangulation_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_triangulation.cpp
+--- tests/libslic3r/test_triangulation.cpp.orig
++++ tests/libslic3r/test_triangulation.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include <libslic3r/Triangulation.hpp>
+ #include <libslic3r/SVG.hpp> // only debug visualization
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_utils_cpp ./patches/patch-tests_libslic3r_test_utils_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_utils_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_utils_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/libslic3r/test_utils.cpp
+--- tests/libslic3r/test_utils.cpp.orig
++++ tests/libslic3r/test_utils.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/libslic3r.h"
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_voronoi_cpp ./patches/patch-tests_libslic3r_test_voronoi_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_libslic3r_test_voronoi_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_libslic3r_test_voronoi_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,18 @@
+Index: tests/libslic3r/test_voronoi.cpp
+--- tests/libslic3r/test_voronoi.cpp.orig
++++ tests/libslic3r/test_voronoi.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ #include <libslic3r/Polygon.hpp>
+@@ -340,7 +340,7 @@ TEST_CASE("Voronoi division by zero 12903", "[Voronoi]
+ // Funny sample from a dental industry?
+ // Vojtech confirms this test fails and rightly so, because the input data contain self intersections.
+ // This test is suppressed.
+-TEST_CASE("Voronoi NaN coordinates 12139", "[Voronoi][!hide][!mayfail]")
++TEST_CASE("Voronoi NaN coordinates 12139", "[Voronoi][.][!mayfail]")
+ {
+     Lines lines = {
+         { {  260500,1564400 }, { 261040,1562960 } },
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_archive_readwrite_tests_cpp ./patches/patch-tests_sla_print_sla_archive_readwrite_tests_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_archive_readwrite_tests_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_sla_print_sla_archive_readwrite_tests_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/sla_print/sla_archive_readwrite_tests.cpp
+--- tests/sla_print/sla_archive_readwrite_tests.cpp.orig
++++ tests/sla_print/sla_archive_readwrite_tests.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ #include "libslic3r/SLAPrint.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_print_tests_cpp ./patches/patch-tests_sla_print_sla_print_tests_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_print_tests_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_sla_print_sla_print_tests_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,12 @@
+Index: tests/sla_print/sla_print_tests.cpp
+--- tests/sla_print/sla_print_tests.cpp.orig
++++ tests/sla_print/sla_print_tests.cpp
+@@ -9,6 +9,8 @@
+ #include <libslic3r/SLA/SupportTreeMesher.hpp>
+ #include <libslic3r/BranchingTree/PointCloud.hpp>
+ 
++using Catch::Approx;
++
+ namespace {
+ 
+ const char *const BELOW_PAD_TEST_OBJECTS[] = {
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_raycast_tests_cpp ./patches/patch-tests_sla_print_sla_raycast_tests_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_raycast_tests_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_sla_print_sla_raycast_tests_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,17 @@
+Index: tests/sla_print/sla_raycast_tests.cpp
+--- tests/sla_print/sla_raycast_tests.cpp.orig
++++ tests/sla_print/sla_raycast_tests.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ #include <libslic3r/AABBMesh.hpp>
+@@ -6,6 +6,7 @@
+ 
+ #include "sla_test_utils.hpp"
+ 
++using Catch::Approx;
+ using namespace Slic3r;
+ 
+ // First do a simple test of the hole raycaster.
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_supptgen_tests_cpp ./patches/patch-tests_sla_print_sla_supptgen_tests_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_supptgen_tests_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_sla_print_sla_supptgen_tests_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/sla_print/sla_supptgen_tests.cpp
+--- tests/sla_print/sla_supptgen_tests.cpp.orig
++++ tests/sla_print/sla_supptgen_tests.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ #include <libslic3r/ExPolygon.hpp>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_supptreeutils_tests_cpp ./patches/patch-tests_sla_print_sla_supptreeutils_tests_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_supptreeutils_tests_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_sla_print_sla_supptreeutils_tests_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,18 @@
+Index: tests/sla_print/sla_supptreeutils_tests.cpp
+--- tests/sla_print/sla_supptreeutils_tests.cpp.orig
++++ tests/sla_print/sla_supptreeutils_tests.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ #include <unordered_set>
+@@ -6,6 +6,8 @@
+ #include "libslic3r/Execution/ExecutionSeq.hpp"
+ #include "libslic3r/SLA/SupportTreeUtils.hpp"
+ #include "libslic3r/SLA/SupportTreeUtilsLegacy.hpp"
++
++using Catch::Approx;
+ 
+ // Test pair hash for 'nums' random number pairs.
+ template <class I, class II> void test_pairhash()
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_test_utils_cpp ./patches/patch-tests_sla_print_sla_test_utils_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_test_utils_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_sla_print_sla_test_utils_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,12 @@
+Index: tests/sla_print/sla_test_utils.cpp
+--- tests/sla_print/sla_test_utils.cpp.orig
++++ tests/sla_print/sla_test_utils.cpp
+@@ -6,6 +6,8 @@
+ 
+ #include <iomanip>
+ 
++using Catch::Approx;
++
+ void test_support_model_collision(
+     const std::string            &obj_filename,
+     const sla::SupportTreeConfig &input_supportcfg,
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_test_utils_hpp ./patches/patch-tests_sla_print_sla_test_utils_hpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_sla_print_sla_test_utils_hpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_sla_print_sla_test_utils_hpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,12 @@
+Index: tests/sla_print/sla_test_utils.hpp
+--- tests/sla_print/sla_test_utils.hpp.orig
++++ tests/sla_print/sla_test_utils.hpp
+@@ -1,7 +1,7 @@
+ #ifndef SLA_TEST_UTILS_HPP
+ #define SLA_TEST_UTILS_HPP
+ 
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ // Debug
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_slic3rutils_slic3r_arrangejob_tests_cpp ./patches/patch-tests_slic3rutils_slic3r_arrangejob_tests_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_slic3rutils_slic3r_arrangejob_tests_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_slic3rutils_slic3r_arrangejob_tests_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,18 @@
+Index: tests/slic3rutils/slic3r_arrangejob_tests.cpp
+--- tests/slic3rutils/slic3r_arrangejob_tests.cpp.orig
++++ tests/slic3rutils/slic3r_arrangejob_tests.cpp
+@@ -1,4 +1,4 @@
+-#include "catch2/catch.hpp"
++#include <catch2/catch_all.hpp>
+ #include "test_utils.hpp"
+ 
+ #include <random>
+@@ -12,6 +12,8 @@
+ #include "libslic3r/SLAPrint.hpp"
+ 
+ #include "libslic3r/Format/3mf.hpp"
++
++using Catch::Approx;
+ 
+ class RandomArrangeSettings: public Slic3r::arr2::ArrangeSettingsView {
+     Slic3r::arr2::ArrangeSettingsDb::Values m_v;
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_slic3rutils_slic3r_jobs_tests_cpp ./patches/patch-tests_slic3rutils_slic3r_jobs_tests_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_slic3rutils_slic3r_jobs_tests_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_slic3rutils_slic3r_jobs_tests_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/slic3rutils/slic3r_jobs_tests.cpp
+--- tests/slic3rutils/slic3r_jobs_tests.cpp.orig
++++ tests/slic3rutils/slic3r_jobs_tests.cpp
+@@ -1,4 +1,4 @@
+-#include "catch2/catch.hpp"
++#include <catch2/catch_all.hpp>
+ 
+ #include <chrono>
+ #include <thread>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_slic3rutils_slic3r_version_tests_cpp ./patches/patch-tests_slic3rutils_slic3r_version_tests_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_slic3rutils_slic3r_version_tests_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_slic3rutils_slic3r_version_tests_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/slic3rutils/slic3r_version_tests.cpp
+--- tests/slic3rutils/slic3r_version_tests.cpp.orig
++++ tests/slic3rutils/slic3r_version_tests.cpp
+@@ -1,4 +1,4 @@
+-#include "catch2/catch.hpp"
++#include <catch2/catch_all.hpp>
+ 
+ #include "slic3r/Config/Version.hpp"
+ 
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_thumbnails_test_thumbnails_ini_string_cpp ./patches/patch-tests_thumbnails_test_thumbnails_ini_string_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_thumbnails_test_thumbnails_ini_string_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_thumbnails_test_thumbnails_ini_string_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/thumbnails/test_thumbnails_ini_string.cpp
+--- tests/thumbnails/test_thumbnails_ini_string.cpp.orig
++++ tests/thumbnails/test_thumbnails_ini_string.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ 
+ #include "libslic3r/Config.hpp"
+ #include "libslic3r/PrintConfig.hpp"
diff -NPru -x CVS /usr/ports/cad/prusaslicer/patches/patch-tests_thumbnails_test_thumbnails_input_string_cpp ./patches/patch-tests_thumbnails_test_thumbnails_input_string_cpp
--- /usr/ports/cad/prusaslicer/patches/patch-tests_thumbnails_test_thumbnails_input_string_cpp	Wed Dec 31 16:00:00 1969
+++ ./patches/patch-tests_thumbnails_test_thumbnails_input_string_cpp	Sun Jan 21 11:30:24 2024
@@ -0,0 +1,9 @@
+Index: tests/thumbnails/test_thumbnails_input_string.cpp
+--- tests/thumbnails/test_thumbnails_input_string.cpp.orig
++++ tests/thumbnails/test_thumbnails_input_string.cpp
+@@ -1,4 +1,4 @@
+-#include <catch2/catch.hpp>
++#include <catch2/catch_all.hpp>
+ #include <test_utils.hpp>
+ 
+ #include <libslic3r/GCode/Thumbnails.hpp>
diff -NPru -x CVS /usr/ports/cad/prusaslicer/pkg/PLIST ./pkg/PLIST
--- /usr/ports/cad/prusaslicer/pkg/PLIST	Sat Jan 27 19:20:50 2024
+++ ./pkg/PLIST	Sun Jan 21 11:30:24 2024
@@ -49,8 +49,16 @@
 share/PrusaSlicer/icons/bullet_black.png
 share/PrusaSlicer/icons/bullet_blue.png
 share/PrusaSlicer/icons/bullet_white.png
+share/PrusaSlicer/icons/burn.svg
 share/PrusaSlicer/icons/cancel.svg
 share/PrusaSlicer/icons/change_extruder.svg
+share/PrusaSlicer/icons/check_off.svg
+share/PrusaSlicer/icons/check_off_disabled.svg
+share/PrusaSlicer/icons/check_off_focused.svg
+share/PrusaSlicer/icons/check_on.svg
+share/PrusaSlicer/icons/check_on_disabled.svg
+share/PrusaSlicer/icons/check_on_focused.svg
+share/PrusaSlicer/icons/checked.svg
 share/PrusaSlicer/icons/cog.svg
 share/PrusaSlicer/icons/cog_.svg
 share/PrusaSlicer/icons/cog_go.png
@@ -62,12 +70,22 @@
 share/PrusaSlicer/icons/colorchange_del.svg
 share/PrusaSlicer/icons/colorchange_del_f.svg
 share/PrusaSlicer/icons/compare.svg
+share/PrusaSlicer/icons/convert_file.svg
 share/PrusaSlicer/icons/cooling.svg
 share/PrusaSlicer/icons/copy.svg
 share/PrusaSlicer/icons/copy_menu.svg
 share/PrusaSlicer/icons/cross.svg
 share/PrusaSlicer/icons/cross_focus.svg
 share/PrusaSlicer/icons/cross_focus_large.svg
+share/PrusaSlicer/icons/custom-gcode_gcode.svg
+share/PrusaSlicer/icons/custom-gcode_measure.svg
+share/PrusaSlicer/icons/custom-gcode_object-info.svg
+share/PrusaSlicer/icons/custom-gcode_single.svg
+share/PrusaSlicer/icons/custom-gcode_slicing-state.svg
+share/PrusaSlicer/icons/custom-gcode_slicing-state_global.svg
+share/PrusaSlicer/icons/custom-gcode_stats.svg
+share/PrusaSlicer/icons/custom-gcode_vector-index.svg
+share/PrusaSlicer/icons/custom-gcode_vector.svg
 share/PrusaSlicer/icons/cut.svg
 share/PrusaSlicer/icons/cut_.svg
 share/PrusaSlicer/icons/cut_connectors.svg
@@ -78,6 +96,7 @@
 share/PrusaSlicer/icons/dot_small.svg
 share/PrusaSlicer/icons/dot_white.svg
 share/PrusaSlicer/icons/dowel.svg
+share/PrusaSlicer/icons/drop_down.svg
 share/PrusaSlicer/icons/drop_to_bed.svg
 share/PrusaSlicer/icons/edit.svg
 share/PrusaSlicer/icons/edit_button.svg
@@ -210,6 +229,9 @@
 share/PrusaSlicer/icons/redo.svg
 share/PrusaSlicer/icons/redo_menu.svg
 share/PrusaSlicer/icons/redo_toolbar.svg
+share/PrusaSlicer/icons/reflection_x.svg
+share/PrusaSlicer/icons/reflection_y.svg
+share/PrusaSlicer/icons/refresh.svg
 share/PrusaSlicer/icons/remove.svg
 share/PrusaSlicer/icons/remove_copies.svg
 share/PrusaSlicer/icons/remove_menu.svg
@@ -217,6 +239,7 @@
 share/PrusaSlicer/icons/revert_all_.svg
 share/PrusaSlicer/icons/rotate.svg
 share/PrusaSlicer/icons/save.svg
+share/PrusaSlicer/icons/scalar_param.svg
 share/PrusaSlicer/icons/scale.svg
 share/PrusaSlicer/icons/seam.svg
 share/PrusaSlicer/icons/seam_.svg
@@ -234,6 +257,10 @@
 share/PrusaSlicer/icons/sla_view_original.svg
 share/PrusaSlicer/icons/sla_view_processed.svg
 share/PrusaSlicer/icons/snap.svg
+share/PrusaSlicer/icons/spin_dec.svg
+share/PrusaSlicer/icons/spin_dec_act.svg
+share/PrusaSlicer/icons/spin_inc.svg
+share/PrusaSlicer/icons/spin_inc_act.svg
 share/PrusaSlicer/icons/splashscreen-gcodepreview.jpg
 share/PrusaSlicer/icons/splashscreen.jpg
 share/PrusaSlicer/icons/split_object_SMALL.svg
@@ -245,6 +272,9 @@
 share/PrusaSlicer/icons/support.svg
 share/PrusaSlicer/icons/support_blocker.svg
 share/PrusaSlicer/icons/support_enforcer.svg
+share/PrusaSlicer/icons/svg_modifier.svg
+share/PrusaSlicer/icons/svg_negative.svg
+share/PrusaSlicer/icons/svg_part.svg
 share/PrusaSlicer/icons/switch_presets.svg
 share/PrusaSlicer/icons/test.svg
 share/PrusaSlicer/icons/thumb_down.svg
@@ -255,6 +285,8 @@
 share/PrusaSlicer/icons/time.svg
 share/PrusaSlicer/icons/timer_dot.svg
 share/PrusaSlicer/icons/timer_dot_empty.svg
+share/PrusaSlicer/icons/toggle_off.svg
+share/PrusaSlicer/icons/toggle_on.svg
 share/PrusaSlicer/icons/toolbar_arrow.svg
 share/PrusaSlicer/icons/toolbar_arrow_2.svg
 share/PrusaSlicer/icons/toolbar_background.png
@@ -262,6 +294,8 @@
 share/PrusaSlicer/icons/undo_menu.svg
 share/PrusaSlicer/icons/undo_toolbar.svg
 share/PrusaSlicer/icons/upload_queue.svg
+share/PrusaSlicer/icons/vector_filament_param.svg
+share/PrusaSlicer/icons/vector_param.svg
 share/PrusaSlicer/icons/wrench.svg
 share/PrusaSlicer/icons/wrench_white.svg
 share/PrusaSlicer/localization/
@@ -405,6 +439,7 @@
 share/PrusaSlicer/profiles/Anycubic/I3MEGA_thumbnail.png
 share/PrusaSlicer/profiles/Anycubic/MEGA0_thumbnail.png
 share/PrusaSlicer/profiles/Anycubic/PHOTON MONO SE_thumbnail.png
+share/PrusaSlicer/profiles/Anycubic/PHOTON MONO X 6K_thumbnail.png
 share/PrusaSlicer/profiles/Anycubic/PHOTON MONO X_thumbnail.png
 share/PrusaSlicer/profiles/Anycubic/PHOTON MONO_thumbnail.png
 share/PrusaSlicer/profiles/Anycubic/PREDATOR_thumbnail.png
@@ -436,6 +471,12 @@
 share/PrusaSlicer/profiles/BIQU/BIQUBX_thumbnail.png
 share/PrusaSlicer/profiles/BIQU/BX_Bed.stl
 share/PrusaSlicer/profiles/BIQU/BX_Texture.png
+share/PrusaSlicer/profiles/CocoaPress/
+share/PrusaSlicer/profiles/CocoaPress.idx
+share/PrusaSlicer/profiles/CocoaPress.ini
+share/PrusaSlicer/profiles/CocoaPress/CocoaPress_MiniChef.png
+share/PrusaSlicer/profiles/CocoaPress/minichef_bed.stl
+share/PrusaSlicer/profiles/CocoaPress/minichef_texture.svg
 share/PrusaSlicer/profiles/Creality/
 share/PrusaSlicer/profiles/Creality.idx
 share/PrusaSlicer/profiles/Creality.ini
@@ -615,6 +656,9 @@
 share/PrusaSlicer/profiles/LNL3D/
 share/PrusaSlicer/profiles/LNL3D.idx
 share/PrusaSlicer/profiles/LNL3D.ini
+share/PrusaSlicer/profiles/LNL3D/LNL3D_D3_V2_bed.stl
+share/PrusaSlicer/profiles/LNL3D/LNL3D_D3_V2_texture.svg
+share/PrusaSlicer/profiles/LNL3D/LNL3D_D3_V2_thumbnail.png
 share/PrusaSlicer/profiles/LNL3D/LNL3D_D3_VULCAN_bed.stl
 share/PrusaSlicer/profiles/LNL3D/LNL3D_D3_VULCAN_texture.svg
 share/PrusaSlicer/profiles/LNL3D/LNL3D_D3_VULCAN_thumbnail.png
@@ -660,6 +704,9 @@
 share/PrusaSlicer/profiles/PrusaResearch/
 share/PrusaSlicer/profiles/PrusaResearch.idx
 share/PrusaSlicer/profiles/PrusaResearch.ini
+share/PrusaSlicer/profiles/PrusaResearch/MINIIS_ALPHA_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/MINIIS_BETA_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/MINIIS_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MINI_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK2.5MMU2_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK2.5SMMU2S_thumbnail.png
@@ -667,8 +714,11 @@
 share/PrusaSlicer/profiles/PrusaResearch/MK2.5_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK2SMM_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK2S_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/MK39IS_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/MK39_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK3MMU2_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK3SMMU2S_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/MK3SMMU3_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK3S_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK3_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK4IS_thumbnail.png
@@ -676,12 +726,26 @@
 share/PrusaSlicer/profiles/PrusaResearch/MK4_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/SL1S_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/SL1_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/XL2IS_alpha_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/XL2IS_beta_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/XL2IS_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/XL2_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/XL5IS_alpha_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/XL5IS_beta_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/XL5IS_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/XL5_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/XLIS_alpha_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/XLIS_beta_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/XLIS_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/XL_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/mini.svg
+share/PrusaSlicer/profiles/PrusaResearch/miniIS.svg
+share/PrusaSlicer/profiles/PrusaResearch/miniISbeta.svg
 share/PrusaSlicer/profiles/PrusaResearch/mini_bed.stl
 share/PrusaSlicer/profiles/PrusaResearch/mk2.svg
 share/PrusaSlicer/profiles/PrusaResearch/mk2_bed.stl
 share/PrusaSlicer/profiles/PrusaResearch/mk3.svg
+share/PrusaSlicer/profiles/PrusaResearch/mk39.svg
 share/PrusaSlicer/profiles/PrusaResearch/mk3_bed.stl
 share/PrusaSlicer/profiles/PrusaResearch/mk4.svg
 share/PrusaSlicer/profiles/PrusaResearch/mk4_bed.stl
@@ -692,6 +756,8 @@
 share/PrusaSlicer/profiles/PrusaResearch/sl1s_bed.stl
 share/PrusaSlicer/profiles/PrusaResearch/xl.svg
 share/PrusaSlicer/profiles/PrusaResearch/xl_bed.stl
+share/PrusaSlicer/profiles/PrusaResearch/xlis_alpha.svg
+share/PrusaSlicer/profiles/PrusaResearch/xlis_beta.svg
 share/PrusaSlicer/profiles/RatRig/
 share/PrusaSlicer/profiles/RatRig.idx
 share/PrusaSlicer/profiles/RatRig.ini
@@ -948,6 +1014,8 @@
 share/PrusaSlicer/shaders/ES/wireframe.fs
 share/PrusaSlicer/shaders/ES/wireframe.vs
 share/PrusaSlicer/shapes/
+share/PrusaSlicer/shapes/3DBenchy.png
+share/PrusaSlicer/shapes/3DBenchy.stl
 share/PrusaSlicer/shapes/M3_hex_nut.png
 share/PrusaSlicer/shapes/M3_hex_nut.stl
 share/PrusaSlicer/shapes/M3x10_screw.png
@@ -970,6 +1038,10 @@
 share/PrusaSlicer/shapes/helper_disk.stl
 share/PrusaSlicer/shapes/pyramid.png
 share/PrusaSlicer/shapes/pyramid.stl
+share/PrusaSlicer/shapes/sign_base.png
+share/PrusaSlicer/shapes/sign_base.stl
+share/PrusaSlicer/shapes/sign_base_rounded.png
+share/PrusaSlicer/shapes/sign_base_rounded.stl
 share/PrusaSlicer/shapes/sphere.png
 share/PrusaSlicer/shapes/sphere.stl
 share/PrusaSlicer/shapes/torus.png

--
Renato Aguiar

Reply via email to