* 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.
		
			
				
	
	
		
			97 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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
 |