diff --git a/srcpkgs/PrusaSlicer/patches/prusa-slicer-openexr3.patch b/srcpkgs/PrusaSlicer/patches/prusa-slicer-openexr3.patch new file mode 100644 index 00000000000..9caf47f640c --- /dev/null +++ b/srcpkgs/PrusaSlicer/patches/prusa-slicer-openexr3.patch @@ -0,0 +1,76 @@ +diff -up PrusaSlicer-version_2.4.0/cmake/modules/FindOpenVDB.cmake.openexr3 PrusaSlicer-version_2.4.0/cmake/modules/FindOpenVDB.cmake +--- PrusaSlicer-version_2.4.0/cmake/modules/FindOpenVDB.cmake.openexr3 2021-12-21 15:57:35.000000000 +0000 ++++ PrusaSlicer-version_2.4.0/cmake/modules/FindOpenVDB.cmake 2022-02-11 19:27:12.105404186 +0000 +@@ -347,28 +347,10 @@ macro(just_fail msg) + return() + endmacro() + +-find_package(IlmBase QUIET) +-if(NOT IlmBase_FOUND) +- pkg_check_modules(IlmBase QUIET IlmBase) +-endif() +-if (IlmBase_FOUND AND NOT TARGET IlmBase::Half) +- message(STATUS "Falling back to IlmBase found by pkg-config...") +- +- find_library(IlmHalf_LIBRARY NAMES Half) +- if(IlmHalf_LIBRARY-NOTFOUND OR NOT IlmBase_INCLUDE_DIRS) +- just_fail("IlmBase::Half can not be found!") +- endif() +- +- add_library(IlmBase::Half UNKNOWN IMPORTED) +- set_target_properties(IlmBase::Half PROPERTIES +- IMPORTED_LOCATION "${IlmHalf_LIBRARY}" +- INTERFACE_INCLUDE_DIRECTORIES "${IlmBase_INCLUDE_DIRS}") +-elseif(NOT IlmBase_FOUND) +- just_fail("IlmBase::Half can not be found!") +-endif() + find_package(TBB ${_quiet} ${_required} COMPONENTS tbb) + find_package(ZLIB ${_quiet} ${_required}) + find_package(Boost ${_quiet} ${_required} COMPONENTS iostreams system ) ++find_package(Imath CONFIG) + + # Use GetPrerequisites to see which libraries this OpenVDB lib has linked to + # which we can query for optional deps. This basically runs ldd/otoll/objdump +@@ -419,7 +401,7 @@ foreach(PREREQUISITE ${_OPENVDB_PREREQUI + set(OpenVDB_USES_LOG4CPLUS ON) + endif() + +- string(FIND ${PREREQUISITE} "IlmImf" _HAS_DEP) ++ string(FIND ${PREREQUISITE} "OpenEXR" _HAS_DEP) + if(NOT ${_HAS_DEP} EQUAL -1) + set(OpenVDB_USES_ILM ON) + endif() +@@ -450,11 +432,7 @@ if(OpenVDB_USES_LOG4CPLUS) + find_package(Log4cplus ${_quiet} ${_required}) + endif() + +-if(OpenVDB_USES_ILM) +- find_package(IlmBase ${_quiet} ${_required}) +-endif() +- +-if(OpenVDB_USES_EXR) ++if(OpenVDB_USES_ILM OR OpenVDB_USES_EXR) + find_package(OpenEXR ${_quiet} ${_required}) + endif() + +@@ -471,7 +449,7 @@ endif() + set(_OPENVDB_VISIBLE_DEPENDENCIES + Boost::iostreams + Boost::system +- IlmBase::Half ++ Imath::Imath + ) + + set(_OPENVDB_DEFINITIONS) +@@ -481,10 +459,7 @@ endif() + + if(OpenVDB_USES_EXR) + list(APPEND _OPENVDB_VISIBLE_DEPENDENCIES +- IlmBase::IlmThread +- IlmBase::Iex +- IlmBase::Imath +- OpenEXR::IlmImf ++ OpenEXR::OpenEXR + ) + list(APPEND _OPENVDB_DEFINITIONS "-DOPENVDB_TOOLS_RAYTRACER_USE_EXR") + endif() diff --git a/srcpkgs/PrusaSlicer/patches/system-boost-nowide.nop b/srcpkgs/PrusaSlicer/patches/system-boost-nowide.nop deleted file mode 100644 index a396684dc0e..00000000000 --- a/srcpkgs/PrusaSlicer/patches/system-boost-nowide.nop +++ /dev/null @@ -1,229 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -326,7 +326,7 @@ endif() - # boost::process was introduced first in version 1.64.0, - # boost::beast::detail::base64 was introduced first in version 1.66.0 - set(MINIMUM_BOOST_VERSION "1.66.0") --set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams") -+set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams;nowide") - find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components}) - - add_library(boost_libs INTERFACE) ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -4,8 +4,6 @@ project(PrusaSlicer-native) - add_subdirectory(build-utils) - add_subdirectory(admesh) - add_subdirectory(avrdude) --# boost/nowide --add_subdirectory(boost) - add_subdirectory(clipper) - add_subdirectory(miniz) - add_subdirectory(glu-libtess) ---- a/src/libslic3r/CMakeLists.txt -+++ b/src/libslic3r/CMakeLists.txt -@@ -341,7 +341,6 @@ target_link_libraries(libslic3r - miniz - boost_libs - clipper -- nowide - ${EXPAT_LIBRARIES} - glu-libtess - qhull ---- a/src/PrusaSlicer.cpp -+++ b/src/PrusaSlicer.cpp -@@ -25,9 +25,9 @@ - #include - #include - #include --#include -+#include - #include --#include -+#include - #include - - #include "unix/fhs.hpp" // Generated by CMake from ../platform/unix/fhs.hpp.in ---- a/src/libslic3r/pchheader.hpp -+++ b/src/libslic3r/pchheader.hpp -@@ -81,12 +81,12 @@ - #include - #include - #include --#include -+#include - #include - #include - #include - #include --#include -+#include - #include - - // boost/property_tree/json_parser/detail/parser.hpp includes boost/bind.hpp, which is deprecated. ---- a/src/libslic3r/AppConfig.cpp -+++ b/src/libslic3r/AppConfig.cpp -@@ -12,7 +12,7 @@ - - #include - #include --#include -+#include - #include - #include - #include ---- a/src/libslic3r/Config.cpp -+++ b/src/libslic3r/Config.cpp -@@ -16,7 +16,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include ---- a/src/libslic3r/GCode/PostProcessor.cpp -+++ b/src/libslic3r/GCode/PostProcessor.cpp -@@ -9,7 +9,7 @@ - #include - #include - #include --#include -+#include - #include - - #ifdef WIN32 ---- a/src/libslic3r/Preset.cpp -+++ b/src/libslic3r/Preset.cpp -@@ -30,7 +30,7 @@ - #include - #include - --#include -+#include - #include - #include - #include ---- a/src/libslic3r/PresetBundle.cpp -+++ b/src/libslic3r/PresetBundle.cpp -@@ -14,7 +14,7 @@ - #include - #include - --#include -+#include - #include - #include - #include ---- a/src/slic3r/pchheader.hpp -+++ b/src/slic3r/pchheader.hpp -@@ -73,7 +73,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include ---- a/src/slic3r/GUI/Plater.cpp -+++ b/src/slic3r/GUI/Plater.cpp -@@ -1339,7 +1339,7 @@ void Sidebar::update_sliced_info_sizer() - wxString t_est = std::isnan(ps.estimated_print_time) ? "N/A" : get_time_dhms(float(ps.estimated_print_time)); - p->sliced_info->SetTextAndShow(siEstimatedTime, t_est, _L("Estimated printing time") + ":"); - -- p->plater->get_notification_manager()->set_slicing_complete_print_time(_utf8("Estimated printing time: ") + boost::nowide::narrow(t_est), p->plater->is_sidebar_collapsed()); -+ p->plater->get_notification_manager()->set_slicing_complete_print_time(static_cast((_utf8("Estimated printing time: ") + t_est.utf8_str()).utf8_str()), p->plater->is_sidebar_collapsed()); - - // Hide non-SLA sliced info parameters - p->sliced_info->SetTextAndShow(siFilament_m, "N/A"); ---- a/src/slic3r/GUI/GUI_ObjectList.cpp -+++ b/src/slic3r/GUI/GUI_ObjectList.cpp -@@ -4153,7 +4153,7 @@ void ObjectList::fix_through_netfabb() - } - if (msg.IsEmpty()) - msg = _L("Repairing was canceled"); -- plater->get_notification_manager()->push_notification(NotificationType::NetfabbFinished, NotificationManager::NotificationLevel::PrintInfoShortNotificationLevel, boost::nowide::narrow(msg)); -+ plater->get_notification_manager()->push_notification(NotificationType::NetfabbFinished, NotificationManager::NotificationLevel::PrintInfoShortNotificationLevel, static_cast(msg.utf8_str())); - } - - void ObjectList::simplify() ---- a/src/slic3r/GUI/PrintHostDialogs.cpp -+++ b/src/slic3r/GUI/PrintHostDialogs.cpp -@@ -411,7 +411,7 @@ void PrintHostQueueDialog::on_progress(E - wxVariant nm, hst; - job_list->GetValue(nm, evt.job_id, COL_FILENAME); - job_list->GetValue(hst, evt.job_id, COL_HOST); -- wxGetApp().notification_manager()->set_upload_job_notification_percentage(evt.job_id + 1, boost::nowide::narrow(nm.GetString()), boost::nowide::narrow(hst.GetString()), evt.progress / 100.f); -+ wxGetApp().notification_manager()->set_upload_job_notification_percentage(evt.job_id + 1, nm.GetString().ToStdString(), hst.GetString().ToStdString(), evt.progress / 100.f); - } - } - -@@ -432,7 +432,7 @@ void PrintHostQueueDialog::on_error(Even - wxVariant nm, hst; - job_list->GetValue(nm, evt.job_id, COL_FILENAME); - job_list->GetValue(hst, evt.job_id, COL_HOST); -- wxGetApp().notification_manager()->upload_job_notification_show_error(evt.job_id + 1, boost::nowide::narrow(nm.GetString()), boost::nowide::narrow(hst.GetString())); -+ wxGetApp().notification_manager()->upload_job_notification_show_error(evt.job_id + 1, nm.GetString().ToStdString(), hst.GetString().ToStdString()); - } - - void PrintHostQueueDialog::on_cancel(Event &evt) -@@ -447,7 +447,7 @@ void PrintHostQueueDialog::on_cancel(Eve - wxVariant nm, hst; - job_list->GetValue(nm, evt.job_id, COL_FILENAME); - job_list->GetValue(hst, evt.job_id, COL_HOST); -- wxGetApp().notification_manager()->upload_job_notification_show_canceled(evt.job_id + 1, boost::nowide::narrow(nm.GetString()), boost::nowide::narrow(hst.GetString())); -+ wxGetApp().notification_manager()->upload_job_notification_show_canceled(evt.job_id + 1, nm.GetString().ToStdString(), hst.GetString().ToStdString()); - } - - void PrintHostQueueDialog::get_active_jobs(std::vector>& ret) ---- a/src/slic3r/GUI/Search.cpp -+++ b/src/slic3r/GUI/Search.cpp -@@ -239,7 +239,7 @@ bool OptionsSearcher::search(const std:: - const Option &opt = options[i]; - if (full_list) { - std::string label = into_u8(get_label(opt)); -- found.emplace_back(FoundOption{ label, label, boost::nowide::narrow(get_tooltip(opt)), i, 0 }); -+ found.emplace_back(FoundOption{ label, label, get_tooltip(opt).ToStdString(), i, 0 }); - continue; - } - -@@ -276,7 +276,7 @@ bool OptionsSearcher::search(const std:: - boost::erase_all(label_plain, std::string(1, char(ImGui::ColorMarkerStart))); - boost::erase_all(label_plain, std::string(1, char(ImGui::ColorMarkerEnd))); - #endif -- found.emplace_back(FoundOption{ label_plain, label_u8, boost::nowide::narrow(get_tooltip(opt)), i, score }); -+ found.emplace_back(FoundOption{ label_plain, label_u8, get_tooltip(opt).ToStdString(), i, score }); - } - } - ---- a/src/slic3r/GUI/DesktopIntegrationDialog.cpp -+++ b/src/slic3r/GUI/DesktopIntegrationDialog.cpp -@@ -118,7 +118,7 @@ void resolve_path_from_var(const std::st - wxString wxdirs; - if (! wxGetEnv(boost::nowide::widen(var), &wxdirs) || wxdirs.empty() ) - return; -- std::string dirs = boost::nowide::narrow(wxdirs); -+ std::string dirs = wxdirs.ToStdString(); - for (size_t i = dirs.find(':'); i != std::string::npos; i = dirs.find(':')) - { - paths.push_back(dirs.substr(0, i)); -@@ -303,7 +303,7 @@ void DesktopIntegrationDialog::perform_d - // if all failed - try creating default home folder - if (i == target_candidates.size() - 1) { - // create $HOME/.local/share -- create_path(boost::nowide::narrow(wxFileName::GetHomeDir()), ".local/share/icons" + icon_theme_dirs); -+ create_path(wxFileName::GetHomeDir().ToStdString(), ".local/share/icons" + icon_theme_dirs); - // copy icon - target_dir_icons = GUI::format("%1%/.local/share",wxFileName::GetHomeDir()); - std::string icon_path = GUI::format("%1%/icons/PrusaSlicer.png",resources_dir()); -@@ -355,7 +355,7 @@ void DesktopIntegrationDialog::perform_d - // if all failed - try creating default home folder - if (i == target_candidates.size() - 1) { - // create $HOME/.local/share -- create_path(boost::nowide::narrow(wxFileName::GetHomeDir()), ".local/share/applications"); -+ create_path(wxFileName::GetHomeDir().ToStdString(), ".local/share/applications"); - // create desktop file - target_dir_desktop = GUI::format("%1%/.local/share",wxFileName::GetHomeDir()); - std::string path = GUI::format("%1%/applications/PrusaSlicer%2%.desktop", target_dir_desktop, version_suffix); diff --git a/srcpkgs/PrusaSlicer/template b/srcpkgs/PrusaSlicer/template index 25e9738dabd..676680fb429 100644 --- a/srcpkgs/PrusaSlicer/template +++ b/srcpkgs/PrusaSlicer/template @@ -1,7 +1,7 @@ # Template file for 'PrusaSlicer' pkgname=PrusaSlicer version=2.4.2 -revision=3 +revision=4 build_style=cmake build_helper="qemu cmake-wxWidgets-gtk3" # Pre-Compiled Headers seems to be slower @@ -11,7 +11,7 @@ hostmakedepends="pkg-config" makedepends=" boost-devel cereal cgal-devel dbus-devel eigen glew-devel glu-devel gmpxx-devel gtest-devel gtk+3-devel libcurl-devel libglib-devel libpng-devel nlopt-devel openvdb-devel tbb-devel wxWidgets-devel mpfr-devel - c-blosc-devel ilmbase-devel libopenexr-devel wxWidgets-gtk3-devel" + c-blosc-devel imath-devel libopenexr-devel wxWidgets-gtk3-devel" short_desc="G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)" maintainer="Jasper Chan " license="GPL-3.0-or-later"