me
/
guix
Archived
1
0
Fork 0

gnu: prusa-slicer: Update to 2.5.2.

* gnu/packages/patches/prusa-slicer-boost-fixes.patch: New file.
* gnu/packages/patches/prusa-slicer-fix-tests.patch: New file.
* gnu/packages/patches/prusa-slicer-with-cereal-1.3.1.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register them.
* gnu/packages/engineering.scm (prusa-slicer): Update to 2.5.2.
  [source]: Use patches.
  [inputs]: Replace cereal-1.3.0 by cereal.
master
Guillaume Le Vaillant 2023-04-22 12:24:32 +02:00
parent 6c91f65d09
commit 5569971659
No known key found for this signature in database
GPG Key ID: 6BE8208ADF21FE3F
5 changed files with 175 additions and 3 deletions

View File

@ -1661,6 +1661,9 @@ dist_patch_DATA = \
%D%/packages/patches/pokerth-boost.patch \
%D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \
%D%/packages/patches/procps-strtod-test.patch \
%D%/packages/patches/prusa-slicer-boost-fixes.patch \
%D%/packages/patches/prusa-slicer-fix-tests.patch \
%D%/packages/patches/prusa-slicer-with-cereal-1.3.1.patch \
%D%/packages/patches/pthreadpool-system-libraries.patch \
%D%/packages/patches/python-chai-drop-python2.patch \
%D%/packages/patches/python-feedparser-missing-import.patch \

View File

@ -3508,7 +3508,7 @@ visualization, matrix manipulation.")
(define-public prusa-slicer
(package
(name "prusa-slicer")
(version "2.5.0")
(version "2.5.2")
(source
(origin
(method git-fetch)
@ -3517,7 +3517,10 @@ visualization, matrix manipulation.")
(url "https://github.com/prusa3d/PrusaSlicer")
(commit (string-append "version_" version))))
(file-name (git-file-name name version))
(sha256 (base32 "17ic92ww2ny0frxyv7ajwdwa0fq70ygq562ik8sh94jx67jvxdy0"))
(sha256 (base32 "02qcrw3fa0d8ldbp73hp14l1qxbp3f4608j4csc07ny00ra42151"))
(patches (search-patches "prusa-slicer-boost-fixes.patch"
"prusa-slicer-fix-tests.patch"
"prusa-slicer-with-cereal-1.3.1.patch"))
(modules '((guix build utils)))
(snippet
'(begin
@ -3553,7 +3556,7 @@ visualization, matrix manipulation.")
(list pkg-config))
(inputs
(list boost
cereal-1.3.0
cereal
cgal
curl
dbus

View File

@ -0,0 +1,97 @@
Fixes for Boost compatibility.
This patch comes from Gentoo:
portage/media-gfx/prusaslicer/files/prusaslicer-2.5.0_alpha2-boost-fixes.patch
--- a/src/hints/HintsToPot.cpp
+++ b/src/hints/HintsToPot.cpp
@@ -1,6 +1,7 @@
#include <iostream>
#include <vector>
#include <string>
+#include <boost/nowide/fstream.hpp>
#include <boost/filesystem.hpp>
#include <boost/dll.hpp>
#include <boost/property_tree/ini_parser.hpp>
@@ -9,7 +10,7 @@
bool write_to_pot(boost::filesystem::path path, const std::vector<std::pair<std::string, std::string>>& data)
{
- boost::filesystem::ofstream file(std::move(path), std::ios_base::app);
+ boost::nowide::ofstream file(std::move(path), std::ios_base::app);
for (const auto& element : data)
{
//Example of .pot element
--- a/src/libslic3r/Preset.cpp
+++ b/src/libslic3r/Preset.cpp
@@ -25,6 +25,7 @@
#include <stdexcept>
#include <unordered_map>
#include <boost/format.hpp>
+#include <boost/nowide/fstream.hpp>
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/algorithm/string.hpp>
@@ -84,7 +85,7 @@ ConfigFileType guess_config_file_type(const ptree &tree)
VendorProfile VendorProfile::from_ini(const boost::filesystem::path &path, bool load_all)
{
ptree tree;
- boost::filesystem::ifstream ifs(path);
+ boost::nowide::ifstream ifs(path);
boost::property_tree::read_ini(ifs, tree);
return VendorProfile::from_ini(tree, path, load_all);
}
--- a/src/slic3r/GUI/DesktopIntegrationDialog.cpp
+++ b/src/slic3r/GUI/DesktopIntegrationDialog.cpp
@@ -10,6 +10,7 @@
#include "libslic3r/Platform.hpp"
#include "libslic3r/Config.hpp"
+#include <boost/nowide/fstream.hpp>
#include <boost/filesystem.hpp>
#include <boost/log/trivial.hpp>
#include <boost/dll/runtime_symbol_info.hpp>
@@ -503,4 +504,4 @@ DesktopIntegrationDialog::~DesktopIntegrationDialog()
} // namespace GUI
} // namespace Slic3r
-#endif // __linux__
\ No newline at end of file
+#endif // __linux__
--- a/src/slic3r/GUI/GUI_App.cpp
+++ b/src/slic3r/GUI/GUI_App.cpp
@@ -13,6 +13,7 @@
#include <cstdlib>
#include <regex>
#include <string_view>
+#include <boost/nowide/fstream.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/format.hpp>
--- a/src/slic3r/GUI/HintNotification.cpp
+++ b/src/slic3r/GUI/HintNotification.cpp
@@ -15,6 +15,7 @@
#include "libslic3r/PrintConfig.hpp"
#include <boost/algorithm/string/replace.hpp>
+#include <boost/nowide/fstream.hpp>
#include <boost/filesystem.hpp>
#include <boost/nowide/fstream.hpp>
#include <boost/log/trivial.hpp>
@@ -65,7 +66,7 @@ inline void push_style_color(ImGuiCol idx, const ImVec4& col, bool fading_out, f
void write_used_binary(const std::vector<std::string>& ids)
{
- boost::filesystem::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal"), std::ios::binary);
+ boost::nowide::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal"), std::ios::binary);
cereal::BinaryOutputArchive archive(file);
HintsCerealData cd { ids };
try
@@ -84,7 +85,7 @@ void read_used_binary(std::vector<std::string>& ids)
BOOST_LOG_TRIVIAL(warning) << "Failed to load to hints.cereal. File does not exists. " << path.string();
return;
}
- boost::filesystem::ifstream file(path);
+ boost::nowide::ifstream file(path);
cereal::BinaryInputArchive archive(file);
HintsCerealData cd;
try

View File

@ -0,0 +1,17 @@
This patch comes from Gentoo:
portage/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-fix-tests.patch
--- a/tests/fff_print/test_data.cpp
+++ b/tests/fff_print/test_data.cpp
@@ -4,10 +4,9 @@
#include "libslic3r/GCodeReader.hpp"
#include "libslic3r/Config.hpp"
#include "libslic3r/Print.hpp"
-#include "libslic3r/Format/OBJ.hpp"
-#include "libslic3r/Format/STL.hpp"
#include <cstdlib>
+#include <fstream>
#include <string>
#include <boost/nowide/cstdio.hpp>

View File

@ -0,0 +1,52 @@
Fix for building with cereal>=1.3.1.
This patch comes from Gentoo:
portage/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-cereal-1.3.1.patch
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -127,7 +127,7 @@
set_target_properties(PrusaSlicer PROPERTIES OUTPUT_NAME "prusa-slicer")
endif ()
-target_link_libraries(PrusaSlicer libslic3r cereal)
+target_link_libraries(PrusaSlicer libslic3r libcereal)
if (APPLE)
# add_compile_options(-stdlib=libc++)
--- a/src/slic3r/CMakeLists.txt
+++ b/src/slic3r/CMakeLists.txt
@@ -260,7 +260,7 @@
encoding_check(libslic3r_gui)
-target_link_libraries(libslic3r_gui libslic3r avrdude cereal imgui GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES})
+target_link_libraries(libslic3r_gui libslic3r avrdude libcereal imgui GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES})
if (MSVC)
target_link_libraries(libslic3r_gui Setupapi.lib)
--- a/src/libslic3r/CMakeLists.txt
+++ b/src/libslic3r/CMakeLists.txt
@@ -395,7 +395,7 @@
target_link_libraries(libslic3r
libnest2d
admesh
- cereal
+ libcereal
libigl
miniz
boost_libs
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -446,6 +446,12 @@
# Find the Cereal serialization library
find_package(cereal REQUIRED)
+add_library(libcereal INTERFACE)
+if (NOT TARGET cereal::cereal)
+ target_link_libraries(libcereal INTERFACE cereal)
+else()
+ target_link_libraries(libcereal INTERFACE cereal::cereal)
+endif()
# l10n
set(L10N_DIR "${SLIC3R_RESOURCES_DIR}/localization")