From: Ian Darwin Subject: Re: cad/prusaslicer: fix font loading bug To: ports@openbsd.org Date: Sun, 15 Mar 2026 11:10:52 -0400 On 3/15/26 10:49 AM, Renato Aguiar wrote: > Updated diff adding pkg/MESSAGE on how to fix stale font cache: > > diff --git a/cad/prusaslicer/Makefile b/cad/prusaslicer/Makefile > index 55f592d288c..d04b3f39f39 100644 > --- a/cad/prusaslicer/Makefile > +++ b/cad/prusaslicer/Makefile > @@ -3,7 +3,7 @@ ONLY_FOR_ARCHS = ${LP64_ARCHS} > DPB_PROPERTIES = parallel > > V = 2.9.4 > -REVISION = 0 > +REVISION = 1 > PKGNAME = prusaslicer-${V} > > GH_ACCOUNT = prusa3d > 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 > +-#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 > + #include // wxNativeFontInfo > + #include > +-#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 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/MESSAGE b/cad/prusaslicer/pkg/MESSAGE > new file mode 100644 > index 00000000000..bc51ff86ba8 > --- /dev/null > +++ b/cad/prusaslicer/pkg/MESSAGE > @@ -0,0 +1,4 @@ > +Version 2.9.4p1 contains a fix for font selection. If you are upgrading from an > +older version and fonts are still not loading properly, e.g. the "Add > +Object->Text" or "Add Negative Space->Text" doesn't show a font name, try > +deleting "~/.config/PrusaSlicer/cache/fonts.cereal" and restarting PrusaSlicer. > Since that's all that changed, this still has my OK. Thanks.