diff --git a/PrusaSlicer-2.7.1-slic3r-wxWidgets-3.2.4.patch b/PrusaSlicer-2.7.1-slic3r-wxWidgets-3.2.4.patch index e5f6886..a212f3a 100644 --- a/PrusaSlicer-2.7.1-slic3r-wxWidgets-3.2.4.patch +++ b/PrusaSlicer-2.7.1-slic3r-wxWidgets-3.2.4.patch @@ -9,11 +9,11 @@ Subject: [PATCH] Make initializers explicit to avoid ambiguous wxArrayString src/slic3r/GUI/Plater.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.cpp b/src/slic3r/GUI/PhysicalPrinterDialog.cpp -index 2364c56247..bc2c918a60 100644 ---- a/src/slic3r/GUI/PhysicalPrinterDialog.cpp -+++ b/src/slic3r/GUI/PhysicalPrinterDialog.cpp -@@ -467,7 +467,7 @@ void PhysicalPrinterDialog::build_printhost_settings(ConfigOptionsGroup* m_optgr +Index: PrusaSlicer-version_2.8.0/src/slic3r/GUI/PhysicalPrinterDialog.cpp +=================================================================== +--- PrusaSlicer-version_2.8.0.orig/src/slic3r/GUI/PhysicalPrinterDialog.cpp ++++ PrusaSlicer-version_2.8.0/src/slic3r/GUI/PhysicalPrinterDialog.cpp +@@ -606,7 +606,7 @@ void PhysicalPrinterDialog::build_printh // Always fill in the "printhost_port" combo box from the config and select it. { Choice* choice = dynamic_cast(m_optgroup->get_field("printhost_port")); @@ -22,11 +22,11 @@ index 2364c56247..bc2c918a60 100644 choice->set_selection(); } -diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp -index c2b8e8694f..2f540bfe9d 100644 ---- a/src/slic3r/GUI/Plater.cpp -+++ b/src/slic3r/GUI/Plater.cpp -@@ -5390,7 +5390,7 @@ void Plater::load_project(const wxString& filename) +Index: PrusaSlicer-version_2.8.0/src/slic3r/GUI/Plater.cpp +=================================================================== +--- PrusaSlicer-version_2.8.0.orig/src/slic3r/GUI/Plater.cpp ++++ PrusaSlicer-version_2.8.0/src/slic3r/GUI/Plater.cpp +@@ -4048,7 +4048,7 @@ void Plater::load_project(const wxString p->reset(); @@ -35,3 +35,31 @@ index c2b8e8694f..2f540bfe9d 100644 // At least one file was loaded. p->set_project_filename(filename); // Save the names of active presets and project specific config into ProjectDirtyStateManager. + +=================================================================== +More of the same: +=================================================================== +--- a/src/slic3r/GUI/PrintHostDialogs.cpp ++++ b/src/slic3r/GUI/PrintHostDialogs.cpp +@@ -467,9 +467,7 @@ + wxVariant nm, hst; + job_list->GetValue(nm, evt.job_id, COL_FILENAME); + job_list->GetValue(hst, evt.job_id, COL_HOST); +- const wchar_t * nm_str = nm.GetString(); +- const wchar_t * hst_str = hst.GetString(); +- wxGetApp().notification_manager()->set_upload_job_notification_percentage(evt.job_id + 1, into_u8(nm_str), into_u8(hst_str), evt.progress / 100.f); ++ wxGetApp().notification_manager()->set_upload_job_notification_percentage(evt.job_id + 1, into_u8(nm.GetString()), into_u8(hst.GetString()), evt.progress / 100.f); + } + } + +--- a/src/slic3r/Utils/PrusaConnect.cpp ++++ b/src/slic3r/Utils/PrusaConnect.cpp +@@ -290,7 +290,7 @@ + if (path && (!available || *available)) { + StorageInfo si; + si.path = boost::nowide::widen(*path); +- si.name = name ? boost::nowide::widen(*name) : wxString(); ++ si.name = name ? boost::nowide::widen(*name) : std::wstring(); + // If read_only is missing, assume it is NOT read only. + // si.read_only = read_only ? *read_only : false; // version without "ro" + si.read_only = (read_only ? *read_only : (ro ? *ro : false)); diff --git a/PrusaSlicer-2.8.0-slic3r-includes.patch b/PrusaSlicer-2.8.0-slic3r-includes.patch new file mode 100644 index 0000000..a7a54a6 --- /dev/null +++ b/PrusaSlicer-2.8.0-slic3r-includes.patch @@ -0,0 +1,54 @@ +From ac3e07ee03b439932b9f7b00849ca202602f8901 Mon Sep 17 00:00:00 2001 +From: randomtechguy <50642148+Rose-David@users.noreply.github.com> +Date: Fri, 12 Jul 2024 17:24:16 -0400 +Subject: [PATCH 1/3] Update CMakeLists.txt to fix linux compile error + +--- + src/slic3r/CMakeLists.txt | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +Index: PrusaSlicer-version_2.8.0/src/slic3r/CMakeLists.txt +=================================================================== +--- PrusaSlicer-version_2.8.0.orig/src/slic3r/CMakeLists.txt ++++ PrusaSlicer-version_2.8.0/src/slic3r/CMakeLists.txt +@@ -376,6 +376,7 @@ set(SLIC3R_GUI_SOURCES + ) + + find_package(NanoSVG REQUIRED) ++find_package(OpenSSL REQUIRED) + + if (APPLE) + list(APPEND SLIC3R_GUI_SOURCES +@@ -404,7 +405,7 @@ endforeach() + + encoding_check(libslic3r_gui) + +-target_link_libraries(libslic3r_gui libslic3r avrdude libcereal imgui libvgcode GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES} NanoSVG::nanosvg NanoSVG::nanosvgrast) ++target_link_libraries(libslic3r_gui libslic3r avrdude libcereal imgui libvgcode GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES} NanoSVG::nanosvg NanoSVG::nanosvgrast OpenSSL::SSL OpenSSL::Crypto) + + if (MSVC) + target_link_libraries(libslic3r_gui Setupapi.lib) +Index: PrusaSlicer-version_2.8.0/src/slic3r/Config/Version.cpp +=================================================================== +--- PrusaSlicer-version_2.8.0.orig/src/slic3r/Config/Version.cpp ++++ PrusaSlicer-version_2.8.0/src/slic3r/Config/Version.cpp +@@ -7,6 +7,7 @@ + #include + + #include ++#include + #include + + #include "libslic3r/libslic3r.h" +Index: PrusaSlicer-version_2.8.0/src/slic3r/GUI/UserAccountCommunication.cpp +=================================================================== +--- PrusaSlicer-version_2.8.0.orig/src/slic3r/GUI/UserAccountCommunication.cpp ++++ PrusaSlicer-version_2.8.0/src/slic3r/GUI/UserAccountCommunication.cpp +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + #include + #include + diff --git a/PrusaSlicer-version_2.7.4.tar.gz b/PrusaSlicer-version_2.7.4.tar.gz deleted file mode 100644 index 1616775..0000000 --- a/PrusaSlicer-version_2.7.4.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6370a9593aeac5c56543e66d167ab5fd053df55b9376392c2d6184eb0bf65fc8 -size 65396083 diff --git a/PrusaSlicer-version_2.8.0.tar.gz b/PrusaSlicer-version_2.8.0.tar.gz new file mode 100644 index 0000000..7fc4d33 --- /dev/null +++ b/PrusaSlicer-version_2.8.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58d484f85b34d83026f8220bab983f855fbcd72767d0887f21f5cc382e5b19ab +size 69806919 diff --git a/PrusaSlicer.changes b/PrusaSlicer.changes index 1a335aa..e4e20f5 100644 --- a/PrusaSlicer.changes +++ b/PrusaSlicer.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Thu Aug 29 16:20:17 UTC 2024 - Ben Greiner + +- Update to 2.8.0 + * Prusa Connect integration + * seam improvements + * updated UI + * new G-code Viewer + * improved profile updating system + * many more improvements and bugfixes +- Must move to wxGTK3: we have no wxWebView in wxWidgets. Unfortunately + this disables wayland support: + https://github.com/prusa3d/PrusaSlicer/blob/version_2.8.0/src/PrusaSlicer.cpp#L88-L93 +- Add PrusaSlicer-2.8.0-slic3r-includes.patch + * gh#prusa3d/PrusaSlicer#13080 + ------------------------------------------------------------------- Fri Apr 26 07:16:48 UTC 2024 - Ben Greiner diff --git a/PrusaSlicer.spec b/PrusaSlicer.spec index ce484d9..436bb89 100644 --- a/PrusaSlicer.spec +++ b/PrusaSlicer.spec @@ -17,15 +17,18 @@ Name: PrusaSlicer -Version: 2.7.4 +Version: 2.8.0 Release: 0 Summary: G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.) License: AGPL-3.0-only Group: Hardware/Printing URL: https://www.prusa3d.com/prusaslicer/ +# SourceRepository: https://github.com/prusa3d/PrusaSlicer Source0: https://github.com/prusa3d/PrusaSlicer/archive/version_%{version}.tar.gz#/%{name}-version_%{version}.tar.gz # PATCH-FIX-UPSTREAM PrusaSlicer-2.7.1-slic3r-wxWidgets-3.2.4.patch gh#prusa3d/PrusaSlicer#11769 Patch1: PrusaSlicer-2.7.1-slic3r-wxWidgets-3.2.4.patch +# PATCH-FIX-UPSTREAM PrusaSlicer-2.8.0-includes.patch gh#prusa3d/PrusaSlicer#13080 +Patch2: PrusaSlicer-2.8.0-slic3r-includes.patch # PATCH-FIX-OPENSUSE up-occt-version.patch mike.chikov@gmail.com -- install wrapper so into libdir, not bindir Patch10: up-occt-version.patch # PATCH-FIX-OPENSUSE PrusaSlicer-2.6.0-octoprint-name-fix.patch -- cast lambda expression to same type @@ -50,12 +53,14 @@ BuildRequires: libboost_filesystem-devel BuildRequires: libboost_iostreams-devel BuildRequires: libboost_locale-devel BuildRequires: libboost_log-devel +BuildRequires: libboost_nowide-devel BuildRequires: libboost_regex-devel BuildRequires: libboost_system-devel BuildRequires: libboost_thread-devel BuildRequires: libcurl-devel BuildRequires: libexpat-devel BuildRequires: libjpeg-devel +BuildRequires: libquadmath-devel BuildRequires: memory-constraints BuildRequires: nlopt-devel BuildRequires: occt-devel @@ -65,7 +70,7 @@ BuildRequires: openvdb-tools BuildRequires: pkgconfig BuildRequires: tbb-devel BuildRequires: update-desktop-files -BuildRequires: wxWidgets-devel >= 3.2 +BuildRequires: wxGTK3-devel >= 3.2 # need the fltk fork, see deps/NanoSVG/NanoSVG.cmake BuildRequires: nanosvg-devel >= 2022.12.22 BuildRequires: (cmake(Catch2) >= 2.9 with cmake(Catch2) < 3) @@ -97,16 +102,12 @@ sed -i 's/UNKNOWN/%{release}-%{?is_opensuse:open}SUSE-%{suse_version}/' version. %endif # this is not prusaslicer specific, space mouse users install it themselves rm resources/udev/90-3dconnexion.rules -# we want to use the system provided expat lib -sed -i "/add_library(libexpat INTERFACE)/d" CMakeLists.txt # adjust the qhull version requirement sed -i "s|find_package(Qhull 7.2 REQUIRED)|find_package(Qhull 8.0.2 REQUIRED)|" src/CMakeLists.txt # fix qhull link with static lib issue sed -i 's#INTERFACE Qhull::qhullcpp#INTERFACE -lqhullcpp#' src/CMakeLists.txt # Disable slic3r_jobs_tests.cpp as the test fails sometimes sed -i 's|slic3r_jobs_tests.cpp||' tests/slic3rutils/CMakeLists.txt -# gh#prusa3d/PrusaSlicer#12652 -sed -i /convenience.hpp/d src/slic3r/GUI/RemovableDriveManager.cpp %build # The build process really acquires that much memory per job. We are @@ -120,6 +121,7 @@ export CC=gcc-%gcc_ver CXX=g++-%gcc_ver %cmake \ -DCMAKE_CXX_STANDARD=17 \ -DSLIC3R_FHS=1 \ + -DSLIC3R_GTK=3 \ -DOPENVDB_FIND_MODULE_PATH=%{_libdir}/cmake/OpenVDB %cmake_build @@ -172,7 +174,7 @@ find %{buildroot}%{_datadir}/%{name}/localization -type d | sed ' %{_bindir}/prusa-gcodeviewer %{_libdir}/OCCTWrapper.so %dir %{_datadir}/%{name}/ -%{_datadir}/%{name}/{icons,models,profiles,shaders,udev,data,shapes}/ +%{_datadir}/%{name}/{icons,models,profiles,shaders,udev,data,shapes,web}/ %{_datadir}/icons/hicolor/*/apps/%{name}*.png %{_datadir}/applications/PrusaSlicer.desktop %{_datadir}/applications/PrusaGcodeviewer.desktop