Re: UPDATE: cad/prusaslicer-2.9.6
Johannes Thyssen Tishman <[email protected]> Sun, 2 Aug 2026 10:29:07 +0000
| Newsgroups | gmane.os.openbsd.ports |
|---|---|
| Message-ID | <[email protected]> |
2026-07-26T16:08:35-0700 Renato Aguiar <[email protected]>: > Diff updating cad/prusaslicer to 2.9.6. Hi Renato. Thanks for the update. I built this without issues and all tests are passing, but I have a few comments: - The 'Program Name' section in the pkg/README seems unnecessary to me, and I would personally leave it out. - I noticed that the build uses the bundled IGL library, because it fails to find one in the system. This is fine, but I would explicitly disable looking for it during configure time to avoid picking it up in case it is ported (potentially causing a build failure): -DCMAKE_DISABLE_FIND_PACKAGE_libigl=ON - I removed the .{cache,local/share}/prusa-slicer and .config/PrusaSlicer directories to test runtime as if had just installed prusaslicer and after finishing the setup wizard I got the following error: > PrusaSlicer has encountered an error. It was likely caused by running > out of memory. If you are sure you have enough RAM on your system, > this may also be a bug and we would be glad if you reported it. > The application will now terminate. > std::bad_alloc My system should have enough RAM, 64Gb, and my user has the staff login class. I tried getting a backtrace from the core file (after installing debug-prusaslicer), but egdb crashes too with 'Recursive internal problem. Abort trap (core dumped)'. Oh well... After restarting prusaslicer, I don't get the setup wizard anymore and it seems to work (tested importing a model and slicing it). > 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.