Diff updating cad/prusaslicer to 2.9.6.
diff --git a/cad/prusaslicer/Makefile b/cad/prusaslicer/Makefile
index bf393651319..50a5df981aa 100644
--- a/cad/prusaslicer/Makefile
+++ b/cad/prusaslicer/Makefile
@@ -2,8 +2,7 @@ COMMENT = g-code generator for 3D printers
ONLY_FOR_ARCHS = ${LP64_ARCHS}
DPB_PROPERTIES = parallel
-V = 2.9.4
-REVISION = 3
+V = 2.9.6
PKGNAME = prusaslicer-${V}
GH_ACCOUNT = prusa3d
diff --git a/cad/prusaslicer/distinfo b/cad/prusaslicer/distinfo
index 819d0d35454..f29c0fbf660 100644
--- a/cad/prusaslicer/distinfo
+++ b/cad/prusaslicer/distinfo
@@ -1,2 +1,2 @@
-SHA256 (PrusaSlicer-version_2.9.4.tar.gz) =
Ty2NMFYQR6gvY+wj61MPmWsI1ZnA2ey66660SqShyEk=
-SIZE (PrusaSlicer-version_2.9.4.tar.gz) = 79411287
+SHA256 (PrusaSlicer-version_2.9.6.tar.gz) =
j59A2Tg4uRK9ntNeWYwLfqvQgCTLGKpiDGqp+dSdC1c=
+SIZE (PrusaSlicer-version_2.9.6.tar.gz) = 82103739
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_Utils_FontConfigHelp_hpp
b/cad/prusaslicer/patches/patch-src_slic3r_Utils_FontConfigHelp_hpp
new file mode 100644
index 00000000000..80936b715c7
--- /dev/null
+++ b/cad/prusaslicer/patches/patch-src_slic3r_Utils_FontConfigHelp_hpp
@@ -0,0 +1,12 @@
+Index: src/slic3r/Utils/FontConfigHelp.hpp
+--- src/slic3r/Utils/FontConfigHelp.hpp.orig
++++ src/slic3r/Utils/FontConfigHelp.hpp
+@@ -6,7 +6,7 @@
+ #define slic3r_FontConfigHelp_hpp_
+
+ #include <string>
+-#ifdef __linux__
++#if defined(__linux__) || defined(__OpenBSD__)
+ #define EXIST_FONT_CONFIG_INCLUDE
+ #endif
+
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_Utils_WxFontUtils_cpp
b/cad/prusaslicer/patches/patch-src_slic3r_Utils_WxFontUtils_cpp
new file mode 100644
index 00000000000..da4ddd81f78
--- /dev/null
+++ b/cad/prusaslicer/patches/patch-src_slic3r_Utils_WxFontUtils_cpp
@@ -0,0 +1,39 @@
+Index: src/slic3r/Utils/WxFontUtils.cpp
+--- src/slic3r/Utils/WxFontUtils.cpp.orig
++++ src/slic3r/Utils/WxFontUtils.cpp
+@@ -19,7 +19,7 @@
+ #include <wx/uri.h>
+ #include <wx/fontutil.h> // wxNativeFontInfo
+ #include <wx/osx/core/cfdictionary.h>
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__OpenBSD__)
+ #include "slic3r/Utils/FontConfigHelp.hpp"
+ #endif
+
+@@ -83,7 +83,7 @@ bool WxFontUtils::can_load(const wxFont &font)
+ #elif defined(__APPLE__)
+ return true;
+ //return is_valid_ttf(get_file_path(font));
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__OpenBSD__)
+ return true;
+ // font config check file path take about 4000ms for chech them all
+ //std::string font_path = Slic3r::GUI::get_font_path(font);
+@@ -104,7 +104,7 @@ std::unique_ptr<Emboss::FontFile> WxFontUtils::create_
+ return nullptr;
+ }
+ return Emboss::create_font_file(file_path.c_str());
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__OpenBSD__)
+ std::string font_path = Slic3r::GUI::get_font_path(font);
+ if (font_path.empty()){
+ BOOST_LOG_TRIVIAL(error) << "Can not read font('" <<
get_human_readable_name(font) << "'), "
+@@ -125,7 +125,7 @@ EmbossStyle::Type WxFontUtils::get_current_type()
+ return EmbossStyle::Type::wx_win_font_descr;
+ #elif defined(__APPLE__)
+ return EmbossStyle::Type::wx_mac_font_descr;
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__OpenBSD__)
+ return EmbossStyle::Type::wx_lin_font_descr;
+ #else
+ return EmbossStyle::Type::undefined;
diff --git a/cad/prusaslicer/pkg/PLIST b/cad/prusaslicer/pkg/PLIST
index e0caac6b081..a67a679b810 100644
--- a/cad/prusaslicer/pkg/PLIST
+++ b/cad/prusaslicer/pkg/PLIST
@@ -9,6 +9,7 @@ share/PrusaSlicer/data/printer_gantries/
share/PrusaSlicer/data/printer_gantries/geometries.json
share/PrusaSlicer/data/printer_gantries/prusa3d_coreoneL_gantry.stl
share/PrusaSlicer/data/printer_gantries/prusa3d_coreone_gantry.stl
+share/PrusaSlicer/data/printer_gantries/prusa3d_coreone_indx_gantry.stl
share/PrusaSlicer/data/printer_gantries/prusa3d_ht90_actuator.stl
share/PrusaSlicer/data/printer_gantries/prusa3d_mini_gantry.stl
share/PrusaSlicer/data/printer_gantries/prusa3d_mk3s_gantry.stl
@@ -254,6 +255,7 @@ share/PrusaSlicer/icons/printer_placeholder.png
share/PrusaSlicer/icons/printer_white.svg
share/PrusaSlicer/icons/question.svg
share/PrusaSlicer/icons/re_slice.svg
+share/PrusaSlicer/icons/recipe_add.svg
share/PrusaSlicer/icons/redo.svg
share/PrusaSlicer/icons/redo_menu.svg
share/PrusaSlicer/icons/redo_toolbar.svg
@@ -329,6 +331,7 @@ 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
+share/PrusaSlicer/icons/trash.svg
share/PrusaSlicer/icons/undo.svg
share/PrusaSlicer/icons/undo_f.svg
share/PrusaSlicer/icons/undo_menu.svg
@@ -787,8 +790,12 @@ share/PrusaSlicer/profiles/Print4Taste/MC2.0_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/
share/PrusaSlicer/profiles/PrusaResearch.idx
share/PrusaSlicer/profiles/PrusaResearch.ini
+share/PrusaSlicer/profiles/PrusaResearch/C1INDX_4T_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/C1INDX_8T_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/COREONELMMU3_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/COREONEL_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/COREONEMMU3_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/COREONEOAK_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/COREONE_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/MINIIS_ALPHA_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/MINIIS_BETA_thumbnail.png
@@ -831,8 +838,11 @@ share/PrusaSlicer/profiles/PrusaResearch/XLIS_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/XL_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/coreone.svg
share/PrusaSlicer/profiles/PrusaResearch/coreone_bed.stl
+share/PrusaSlicer/profiles/PrusaResearch/coreone_indx.stl
+share/PrusaSlicer/profiles/PrusaResearch/coreone_indx.svg
share/PrusaSlicer/profiles/PrusaResearch/coreonel.svg
share/PrusaSlicer/profiles/PrusaResearch/coreonel_bed.stl
+share/PrusaSlicer/profiles/PrusaResearch/coreoneoak.svg
share/PrusaSlicer/profiles/PrusaResearch/mini.svg
share/PrusaSlicer/profiles/PrusaResearch/miniIS.svg
share/PrusaSlicer/profiles/PrusaResearch/miniISbeta.svg
@@ -1034,6 +1044,11 @@
share/PrusaSlicer/profiles/Voron/Voron_v2_300_afterburner_thumbnail.png
share/PrusaSlicer/profiles/Voron/Voron_v2_300_thumbnail.png
share/PrusaSlicer/profiles/Voron/Voron_v2_350_afterburner_thumbnail.png
share/PrusaSlicer/profiles/Voron/Voron_v2_350_thumbnail.png
+share/PrusaSlicer/profiles/Voron/bedmodel_120x120.stl
+share/PrusaSlicer/profiles/Voron/bedmodel_250x250.stl
+share/PrusaSlicer/profiles/Voron/bedmodel_252x241.stl
+share/PrusaSlicer/profiles/Voron/bedmodel_300x300.stl
+share/PrusaSlicer/profiles/Voron/bedmodel_350x350.stl
share/PrusaSlicer/profiles/Voron/bedtexture-SW-250x210.png
share/PrusaSlicer/profiles/Voron/bedtexture-v0-120.png
share/PrusaSlicer/profiles/Voron/bedtexture-v1-250.png
@@ -1041,6 +1056,11 @@ share/PrusaSlicer/profiles/Voron/bedtexture-v1-300.png
share/PrusaSlicer/profiles/Voron/bedtexture-v2-250.png
share/PrusaSlicer/profiles/Voron/bedtexture-v2-300.png
share/PrusaSlicer/profiles/Voron/bedtexture-v2-350.png
+share/PrusaSlicer/profiles/Voron/bedtexture_120x120-dark.png
+share/PrusaSlicer/profiles/Voron/bedtexture_250x250-dark.png
+share/PrusaSlicer/profiles/Voron/bedtexture_252x241-dark.png
+share/PrusaSlicer/profiles/Voron/bedtexture_300x300-dark.png
+share/PrusaSlicer/profiles/Voron/bedtexture_350x350-dark.png
share/PrusaSlicer/profiles/Voron/printbed-SW-MK52.stl
share/PrusaSlicer/profiles/Voron/printbed-v0-120.stl
share/PrusaSlicer/profiles/Voron/printbed-v1-250.stl
@@ -1049,6 +1069,14 @@ share/PrusaSlicer/profiles/Voron/printbed-v1-350.stl
share/PrusaSlicer/profiles/Voron/printbed-v2-250.stl
share/PrusaSlicer/profiles/Voron/printbed-v2-300.stl
share/PrusaSlicer/profiles/Voron/printbed-v2-350.stl
+share/PrusaSlicer/profiles/Voron/thumbnail_v0.png
+share/PrusaSlicer/profiles/Voron/thumbnail_v0_miniab.png
+share/PrusaSlicer/profiles/Voron/thumbnail_v2.png
+share/PrusaSlicer/profiles/Voron/thumbnail_v2_afterburner.png
+share/PrusaSlicer/profiles/Voron/thumbnail_vs.png
+share/PrusaSlicer/profiles/Voron/thumbnail_vs_afterburner.png
+share/PrusaSlicer/profiles/Voron/thumbnail_vt.png
+share/PrusaSlicer/profiles/Voron/thumbnail_vt_afterburner.png
share/PrusaSlicer/profiles/Zonestar/
share/PrusaSlicer/profiles/Zonestar.idx
share/PrusaSlicer/profiles/Zonestar.ini
@@ -1217,8 +1245,11 @@ share/PrusaSlicer/web/connect_loading.html
share/PrusaSlicer/web/error_no_reload.html
share/PrusaSlicer/web/other_error.html
share/PrusaSlicer/web/other_loading.html
+share/PrusaSlicer/workflows/
+share/PrusaSlicer/workflows/workflows.json
share/applications/PrusaGcodeviewer.desktop
share/applications/PrusaSlicer.desktop
+share/doc/pkg-readmes/${PKGSTEM}
share/icons/hicolor/128x128/apps/PrusaSlicer-gcodeviewer.png
share/icons/hicolor/128x128/apps/PrusaSlicer.png
share/icons/hicolor/192x192/apps/PrusaSlicer-gcodeviewer.png
diff --git a/cad/prusaslicer/pkg/README b/cad/prusaslicer/pkg/README
new file mode 100644
index 00000000000..d593594a4b1
--- /dev/null
+++ b/cad/prusaslicer/pkg/README
@@ -0,0 +1,20 @@
++-------------------------------------------------------------------------------
+| Running ${PKGSTEM} on OpenBSD
++-------------------------------------------------------------------------------
+
+Program Name
+============
+
+The program's name is PrusaSlicer, but for historical reasons the binary is
+named prusa-slicer. The desktop file appears under Graphics because cad is not
+an available option on some window managers.
+
+Font issues - Fixed in 2.9.6
+==============================
+
+Before version 2.9.6, the mechanism for adding text to an object didn't work,
+e.g. the "Add Object->Text" or "Add Negative Space->Text" context-menu items.
+This release contains a fix for font selection. If you are upgrading from an
+older version and fonts are not loading properly, e.g., the Add...Text item
+pop-up neither shows, nor lets you choose, a font name, try deleting
+"~/.config/PrusaSlicer/cache/fonts.cereal" and restarting PrusaSlicer.