Here is a patch updating cad/prusaslicer to 2.9.4.
In addition to the version bump, it fixes loading of STEP files and
makes automatic release check disabled by default.
diff --git a/cad/prusaslicer/Makefile b/cad/prusaslicer/Makefile
index 06e7ee25c21..4ce37b175db 100644
--- a/cad/prusaslicer/Makefile
+++ b/cad/prusaslicer/Makefile
@@ -2,9 +2,8 @@ COMMENT = g-code generator for 3D printers
ONLY_FOR_ARCHS = ${LP64_ARCHS}
DPB_PROPERTIES = parallel
-V = 2.9.3
+V = 2.9.4
PKGNAME = prusaslicer-${V}
-REVISION = 2
GH_ACCOUNT = prusa3d
GH_PROJECT = PrusaSlicer
diff --git a/cad/prusaslicer/distinfo b/cad/prusaslicer/distinfo
index 6dc3e0efedc..819d0d35454 100644
--- a/cad/prusaslicer/distinfo
+++ b/cad/prusaslicer/distinfo
@@ -1,2 +1,2 @@
-SHA256 (PrusaSlicer-version_2.9.3.tar.gz) =
ywMVr5SniJ6j+JsL/x4Do3UIlWvWyqVuEtkApxLaou0=
-SIZE (PrusaSlicer-version_2.9.3.tar.gz) = 77547931
+SHA256 (PrusaSlicer-version_2.9.4.tar.gz) =
Ty2NMFYQR6gvY+wj61MPmWsI1ZnA2ey66660SqShyEk=
+SIZE (PrusaSlicer-version_2.9.4.tar.gz) = 79411287
diff --git a/cad/prusaslicer/patches/patch-src_CLI_Setup_cpp
b/cad/prusaslicer/patches/patch-src_CLI_Setup_cpp
index b0f794321fc..74caaa8066d 100644
--- a/cad/prusaslicer/patches/patch-src_CLI_Setup_cpp
+++ b/cad/prusaslicer/patches/patch-src_CLI_Setup_cpp
@@ -1,32 +1,22 @@
Index: src/CLI/Setup.cpp
--- src/CLI/Setup.cpp.orig
+++ src/CLI/Setup.cpp
-@@ -204,7 +204,7 @@ static bool read(Data& data, int argc, const char* con
- return true;
- }
-
--static bool setup_common()
-+static bool setup_common(char *program_name)
- {
- // Mark the main thread for the debugger and for runtime checks.
- set_current_thread_name("slic3r_main");
-@@ -273,8 +273,8 @@ static bool setup_common()
+@@ -272,9 +272,11 @@ static bool setup_common()
+ }
#endif
++#ifndef SLIC3R_FHS
// See Invoking prusa-slicer from $PATH environment variable crashes #5542
-- // boost::filesystem::path path_to_binary =
boost::filesystem::system_complete(argv[0]);
-- boost::filesystem::path path_to_binary = boost::dll::program_location();
-+ boost::filesystem::path path_to_binary =
boost::filesystem::system_complete(program_name);
-+ // boost::filesystem::path path_to_binary =
boost::dll::program_location();
+ // boost::filesystem::path path_to_binary =
boost::filesystem::system_complete(argv[0]);
+ boost::filesystem::path path_to_binary = boost::dll::program_location();
++#endif
// Path from the Slic3r binary to its resources.
#ifdef __APPLE__
-@@ -308,7 +308,7 @@ static bool setup_common()
-
- bool setup(Data& cli, int argc, char** argv)
- {
-- if (!setup_common())
-+ if (!setup_common(argv[0]))
- return false;
+@@ -338,4 +340,4 @@ bool setup(Data& cli, int argc, char** argv)
+ return true;
+ }
- if (!read(cli, argc, argv)) {
+-}
+\ No newline at end of file
++}
diff --git a/cad/prusaslicer/patches/patch-src_libslic3r_AppConfig_cpp
b/cad/prusaslicer/patches/patch-src_libslic3r_AppConfig_cpp
new file mode 100644
index 00000000000..c5af6ddf40c
--- /dev/null
+++ b/cad/prusaslicer/patches/patch-src_libslic3r_AppConfig_cpp
@@ -0,0 +1,14 @@
+Disable release notification by default.
+
+Index: src/libslic3r/AppConfig.cpp
+--- src/libslic3r/AppConfig.cpp.orig
++++ src/libslic3r/AppConfig.cpp
+@@ -134,7 +134,7 @@ void AppConfig::set_defaults()
+ set("use_binary_gcode_when_supported", "1");
+
+ if (get("notify_release").empty())
+- set("notify_release", "all"); // or "none" or "release"
++ set("notify_release", "none"); // or "all" or "release"
+
+ #if ENABLE_ENVIRONMENT_MAP
+ if (get("use_environment_map").empty())
diff --git a/cad/prusaslicer/patches/patch-src_libslic3r_CMakeLists_txt
b/cad/prusaslicer/patches/patch-src_libslic3r_CMakeLists_txt
new file mode 100644
index 00000000000..1ebb0f1a82c
--- /dev/null
+++ b/cad/prusaslicer/patches/patch-src_libslic3r_CMakeLists_txt
@@ -0,0 +1,11 @@
+Index: src/libslic3r/CMakeLists.txt
+--- src/libslic3r/CMakeLists.txt.orig
++++ src/libslic3r/CMakeLists.txt
+@@ -606,6 +606,7 @@ endif ()
+
+ encoding_check(libslic3r)
+
++target_compile_definitions(libslic3r PUBLIC
SLIC3R_FHS_LIBDIR="${CMAKE_INSTALL_FULL_LIBDIR}")
+ target_compile_definitions(libslic3r PUBLIC -DUSE_TBB
-DTBB_USE_CAPTURED_EXCEPTION=0)
+ target_include_directories(libslic3r PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..
${CMAKE_CURRENT_BINARY_DIR})
+ target_include_directories(libslic3r PUBLIC ${EXPAT_INCLUDE_DIRS})
diff --git a/cad/prusaslicer/patches/patch-src_libslic3r_Format_STEP_cpp
b/cad/prusaslicer/patches/patch-src_libslic3r_Format_STEP_cpp
new file mode 100644
index 00000000000..98c2c189a9f
--- /dev/null
+++ b/cad/prusaslicer/patches/patch-src_libslic3r_Format_STEP_cpp
@@ -0,0 +1,12 @@
+Index: src/libslic3r/Format/STEP.cpp
+--- src/libslic3r/Format/STEP.cpp.orig
++++ src/libslic3r/Format/STEP.cpp
+@@ -42,7 +42,7 @@ LoadStepFn get_load_step_fn()
+ #endif
+
+ if (!load_step_fn) {
+- auto libpath = boost::dll::program_location().parent_path();
++ auto libpath = boost::filesystem::path(SLIC3R_FHS_LIBDIR);
+ #ifdef _WIN32
+ libpath /= "OCCTWrapper.dll";
+ HMODULE module = LoadLibraryW(libpath.wstring().c_str());
diff --git a/cad/prusaslicer/pkg/PLIST b/cad/prusaslicer/pkg/PLIST
index 00e62fadec0..e0caac6b081 100644
--- a/cad/prusaslicer/pkg/PLIST
+++ b/cad/prusaslicer/pkg/PLIST
@@ -7,6 +7,7 @@ share/PrusaSlicer/data/embossed_text.obj
share/PrusaSlicer/data/hints.ini
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_ht90_actuator.stl
share/PrusaSlicer/data/printer_gantries/prusa3d_mini_gantry.stl
@@ -786,6 +787,7 @@ 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/COREONEL_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/COREONEMMU3_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/COREONE_thumbnail.png
share/PrusaSlicer/profiles/PrusaResearch/MINIIS_ALPHA_thumbnail.png
@@ -829,6 +831,8 @@ 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/coreonel.svg
+share/PrusaSlicer/profiles/PrusaResearch/coreonel_bed.stl
share/PrusaSlicer/profiles/PrusaResearch/mini.svg
share/PrusaSlicer/profiles/PrusaResearch/miniIS.svg
share/PrusaSlicer/profiles/PrusaResearch/miniISbeta.svg
@@ -857,8 +861,25 @@ share/PrusaSlicer/profiles/PrusaResearchSLA/sl1.svg
share/PrusaSlicer/profiles/PrusaResearchSLA/sl1_bed.stl
share/PrusaSlicer/profiles/PrusaResearchSLA/sl1s.svg
share/PrusaSlicer/profiles/PrusaResearchSLA/sl1s_bed.stl
+share/PrusaSlicer/profiles/QIDITechnology/
share/PrusaSlicer/profiles/QIDITechnology.idx
share/PrusaSlicer/profiles/QIDITechnology.ini
+share/PrusaSlicer/profiles/QIDITechnology/Q1 Pro.svg
+share/PrusaSlicer/profiles/QIDITechnology/Q1 Pro_bed.stl
+share/PrusaSlicer/profiles/QIDITechnology/Q1 Pro_thumbnail.png
+share/PrusaSlicer/profiles/QIDITechnology/X-MAX 3.svg
+share/PrusaSlicer/profiles/QIDITechnology/X-MAX 3_bed.stl
+share/PrusaSlicer/profiles/QIDITechnology/X-MAX 3_thumbnail.png
+share/PrusaSlicer/profiles/QIDITechnology/X-Plus 3.svg
+share/PrusaSlicer/profiles/QIDITechnology/X-Plus 3_bed.stl
+share/PrusaSlicer/profiles/QIDITechnology/X-Plus 3_thumbnail.png
+share/PrusaSlicer/profiles/QIDITechnology/X-Plus 4 + BOX_thumbnail.png
+share/PrusaSlicer/profiles/QIDITechnology/X-Plus 4.svg
+share/PrusaSlicer/profiles/QIDITechnology/X-Plus 4_bed.stl
+share/PrusaSlicer/profiles/QIDITechnology/X-Plus 4_thumbnail.png
+share/PrusaSlicer/profiles/QIDITechnology/X-smart 3.svg
+share/PrusaSlicer/profiles/QIDITechnology/X-smart 3_bed.stl
+share/PrusaSlicer/profiles/QIDITechnology/X-smart 3_thumbnail.png
share/PrusaSlicer/profiles/RatRig/
share/PrusaSlicer/profiles/RatRig.idx
share/PrusaSlicer/profiles/RatRig.ini