1 |
commit: 91155f8d3564066a3ded9d66d60528b21858a4ad |
2 |
Author: Piotr Karbowski <slashbeast <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Aug 16 21:41:14 2022 +0000 |
4 |
Commit: Piotr Karbowski <slashbeast <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Aug 16 21:41:54 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91155f8d |
7 |
|
8 |
media-gfx/superslicer: 2.5.59.0 version bump. |
9 |
|
10 |
Signed-off-by: Piotr Karbowski <slashbeast <AT> gentoo.org> |
11 |
|
12 |
media-gfx/superslicer/Manifest | 2 + |
13 |
.../files/superslicer-2.5.59.0-boost.patch | 256 +++++++++++++++++++++ |
14 |
.../files/superslicer-2.5.59.0-cereal.patch | 53 +++++ |
15 |
.../superslicer-2.5.59.0-missing-includes.patch | 36 +++ |
16 |
.../files/superslicer-2.5.59.0-openexr3.patch | 77 +++++++ |
17 |
.../superslicer-2.5.59.0-wxgtk3-wayland.patch | 21 ++ |
18 |
media-gfx/superslicer/superslicer-2.5.59.0.ebuild | 96 ++++++++ |
19 |
7 files changed, 541 insertions(+) |
20 |
|
21 |
diff --git a/media-gfx/superslicer/Manifest b/media-gfx/superslicer/Manifest |
22 |
index bb7fbbc6ec07..ef2d980d92d4 100644 |
23 |
--- a/media-gfx/superslicer/Manifest |
24 |
+++ b/media-gfx/superslicer/Manifest |
25 |
@@ -1,2 +1,4 @@ |
26 |
DIST superslicer-2.4.58.3-profiles.tar.gz 15322406 BLAKE2B cfa89697e832e0601746cb21250e258617bcc0966dd111c82ae43a9720b3ffb760f57827a1f35c8ad57a23a7ffb4c78e48ec76d6e40b364f321d0f83c4d10939 SHA512 bbdc6bfa8e21a4bdbca903a367f033f9cb5a1966bd0688bcc81314ba9ee45fee37cb892c82be35e865137c4df7c1fabceb8e6de46316338df2af4a590de91c76 |
27 |
DIST superslicer-2.4.58.3.tar.gz 45203382 BLAKE2B 822af2a1cb8978b21f8efdc0eb4841ec1d86517fd07782a8dfa6be2a58514dc3e772221dca40ff62808cb798fc4f51484b24e847328a7a6f154708431f0c4d3b SHA512 00302fba9ada1cc5df3c58f42fdb7f98322f94de7b78876c6a54a2229ae289e785082ea7a69f67bee54321fc4d97811675eeb70932e5774ab78ca8859343dd4d |
28 |
+DIST superslicer-2.5.59.0-profiles.tar.gz 15322406 BLAKE2B cfa89697e832e0601746cb21250e258617bcc0966dd111c82ae43a9720b3ffb760f57827a1f35c8ad57a23a7ffb4c78e48ec76d6e40b364f321d0f83c4d10939 SHA512 bbdc6bfa8e21a4bdbca903a367f033f9cb5a1966bd0688bcc81314ba9ee45fee37cb892c82be35e865137c4df7c1fabceb8e6de46316338df2af4a590de91c76 |
29 |
+DIST superslicer-2.5.59.0.tar.gz 45360646 BLAKE2B da65610270ed4c7d55b5bc495d9970812af94f424345088782b3a45b97fcf0f4b58bdc0417b89ed49e21d8c250535baa7cb74344f43438fbde8daf1b3acfacdd SHA512 1d2c0316c91bf0d65fb366806e9ea868bc93fae33deb580a324ce065fd3789ff1b600e9ace400db4988b371b1c36ef0c3ea2b52cde0d48984f312dd8d7ef3a1c |
30 |
|
31 |
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-boost.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-boost.patch |
32 |
new file mode 100644 |
33 |
index 000000000000..4f847aaacb92 |
34 |
--- /dev/null |
35 |
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.0-boost.patch |
36 |
@@ -0,0 +1,256 @@ |
37 |
+diff --git a/src/hints/HintsToPot.cpp b/src/hints/HintsToPot.cpp |
38 |
+index 7c8029cde..4791f0612 100644 |
39 |
+--- a/src/hints/HintsToPot.cpp |
40 |
++++ b/src/hints/HintsToPot.cpp |
41 |
+@@ -9,7 +9,7 @@ |
42 |
+ |
43 |
+ bool write_to_pot(boost::filesystem::path path, const std::vector<std::pair<std::string, std::string>>& data) |
44 |
+ { |
45 |
+- boost::filesystem::ofstream file(std::move(path), std::ios_base::app); |
46 |
++ boost::nowide::ofstream file(path.string(), std::ios_base::app); |
47 |
+ for (const auto& element : data) |
48 |
+ { |
49 |
+ //Example of .pot element |
50 |
+diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp |
51 |
+index f029b3d72..18dc7396e 100644 |
52 |
+--- a/src/libslic3r/AppConfig.cpp |
53 |
++++ b/src/libslic3r/AppConfig.cpp |
54 |
+@@ -1,3 +1,4 @@ |
55 |
++#include <boost/filesystem.hpp> |
56 |
+ #include "libslic3r/libslic3r.h" |
57 |
+ #include "libslic3r/Utils.hpp" |
58 |
+ #include "AppConfig.hpp" |
59 |
+diff --git a/src/libslic3r/AppConfig.hpp b/src/libslic3r/AppConfig.hpp |
60 |
+index d811ddcc2..1a7023061 100644 |
61 |
+--- a/src/libslic3r/AppConfig.hpp |
62 |
++++ b/src/libslic3r/AppConfig.hpp |
63 |
+@@ -5,6 +5,7 @@ |
64 |
+ #include <map> |
65 |
+ #include <string> |
66 |
+ |
67 |
++#include <boost/filesystem/path.hpp> |
68 |
+ #include <boost/algorithm/string/trim_all.hpp> |
69 |
+ |
70 |
+ #include "libslic3r/Config.hpp" |
71 |
+diff --git a/src/libslic3r/LocalesUtils.cpp b/src/libslic3r/LocalesUtils.cpp |
72 |
+index 5bf520568..7b870520b 100644 |
73 |
+--- a/src/libslic3r/LocalesUtils.cpp |
74 |
++++ b/src/libslic3r/LocalesUtils.cpp |
75 |
+@@ -1,3 +1,4 @@ |
76 |
++#include <boost/lexical_cast.hpp> |
77 |
+ #include "LocalesUtils.hpp" |
78 |
+ |
79 |
+ #ifdef _WIN32 |
80 |
+diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp |
81 |
+index 9e9fcda4f..d889e2abf 100644 |
82 |
+--- a/src/libslic3r/Preset.cpp |
83 |
++++ b/src/libslic3r/Preset.cpp |
84 |
+@@ -84,7 +84,7 @@ ConfigFileType guess_config_file_type(const ptree &tree) |
85 |
+ VendorProfile VendorProfile::from_ini(const boost::filesystem::path &path, bool load_all) |
86 |
+ { |
87 |
+ ptree tree; |
88 |
+- boost::filesystem::ifstream ifs(path); |
89 |
++ boost::nowide::ifstream ifs(path.string()); |
90 |
+ boost::property_tree::read_ini(ifs, tree); |
91 |
+ return VendorProfile::from_ini(tree, path, load_all); |
92 |
+ } |
93 |
+diff --git a/src/libslic3r/Utils.hpp b/src/libslic3r/Utils.hpp |
94 |
+index f525c9837..839f0f5e9 100644 |
95 |
+--- a/src/libslic3r/Utils.hpp |
96 |
++++ b/src/libslic3r/Utils.hpp |
97 |
+@@ -7,6 +7,7 @@ |
98 |
+ #include <type_traits> |
99 |
+ #include <system_error> |
100 |
+ |
101 |
++#include <boost/filesystem.hpp> |
102 |
+ #include <boost/system/error_code.hpp> |
103 |
+ |
104 |
+ #include "libslic3r.h" |
105 |
+diff --git a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp |
106 |
+index 89212f27f..be157eafa 100644 |
107 |
+--- a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp |
108 |
++++ b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp |
109 |
+@@ -18,6 +18,11 @@ |
110 |
+ #include <wx/notebook.h> |
111 |
+ #include "Notebook.hpp" |
112 |
+ |
113 |
++#include <boost/filesystem.hpp> |
114 |
++#include <boost/property_tree/ptree.hpp> |
115 |
++#include <boost/property_tree/ini_parser.hpp> |
116 |
++#include <boost/log/trivial.hpp> |
117 |
++ |
118 |
+ #include "MainFrame.hpp" |
119 |
+ #include "wxExtensions.hpp" |
120 |
+ |
121 |
+diff --git a/src/slic3r/GUI/DesktopIntegrationDialog.cpp b/src/slic3r/GUI/DesktopIntegrationDialog.cpp |
122 |
+index fcb7472e6..866ebaef5 100644 |
123 |
+--- a/src/slic3r/GUI/DesktopIntegrationDialog.cpp |
124 |
++++ b/src/slic3r/GUI/DesktopIntegrationDialog.cpp |
125 |
+@@ -14,6 +14,7 @@ |
126 |
+ #include <boost/log/trivial.hpp> |
127 |
+ #include <boost/dll/runtime_symbol_info.hpp> |
128 |
+ #include <boost/algorithm/string/replace.hpp> |
129 |
++#include <boost/nowide/fstream.hpp> |
130 |
+ |
131 |
+ #include <wx/filename.h> |
132 |
+ #include <wx/stattext.h> |
133 |
+@@ -503,4 +504,4 @@ DesktopIntegrationDialog::~DesktopIntegrationDialog() |
134 |
+ |
135 |
+ } // namespace GUI |
136 |
+ } // namespace Slic3r |
137 |
+-#endif // __linux__ |
138 |
+\ No newline at end of file |
139 |
++#endif // __linux__ |
140 |
+diff --git a/src/slic3r/GUI/FreeCADDialog.cpp b/src/slic3r/GUI/FreeCADDialog.cpp |
141 |
+index 271e3ef2d..6bbdf3907 100644 |
142 |
+--- a/src/slic3r/GUI/FreeCADDialog.cpp |
143 |
++++ b/src/slic3r/GUI/FreeCADDialog.cpp |
144 |
+@@ -38,6 +38,7 @@ |
145 |
+ #include <boost/log/trivial.hpp> |
146 |
+ #include <boost/property_tree/ptree.hpp> |
147 |
+ #include <boost/property_tree/json_parser.hpp> |
148 |
++#include <boost/nowide/fstream.hpp> |
149 |
+ |
150 |
+ // hack for process.hpp : it uses pid_t to set it as alias of int, but vc_x64_lib (wx thingy) as a '#define pid_t int' |
151 |
+ // and so boost/process has a line 'typedef int int'instead of 'typedef int pid_t' that makes it crash |
152 |
+@@ -322,7 +323,7 @@ bool FreeCADDialog::load_text_from_file(const boost::filesystem::path &path) { |
153 |
+ try { |
154 |
+ std::locale loc = boost::locale::generator()("en_US.UTF-8"); |
155 |
+ // Open the stream to 'lock' the file. |
156 |
+- boost::filesystem::ifstream in; |
157 |
++ boost::nowide::ifstream in; |
158 |
+ in.imbue(loc); |
159 |
+ in.open(path); |
160 |
+ // Obtain the size of the file. |
161 |
+@@ -369,7 +370,7 @@ bool FreeCADDialog::write_text_in_file(const wxString &towrite, const boost::fil |
162 |
+ boost::filesystem::create_directories(file.parent_path()); |
163 |
+ std::locale loc = boost::locale::generator()("en_US.UTF-8"); |
164 |
+ // Open the stream to 'lock' the file. |
165 |
+- boost::filesystem::ofstream out; |
166 |
++ boost::nowide::ofstream out; |
167 |
+ out.imbue(loc); |
168 |
+ out.open(file); |
169 |
+ out << towrite; |
170 |
+diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp |
171 |
+index 4cf21a36c..75b2a8e94 100644 |
172 |
+--- a/src/slic3r/GUI/GUI_App.cpp |
173 |
++++ b/src/slic3r/GUI/GUI_App.cpp |
174 |
+@@ -19,6 +19,7 @@ |
175 |
+ #include <boost/lexical_cast.hpp> |
176 |
+ #include <boost/log/trivial.hpp> |
177 |
+ #include <boost/nowide/convert.hpp> |
178 |
++#include <boost/nowide/fstream.hpp> |
179 |
+ |
180 |
+ #include <wx/stdpaths.h> |
181 |
+ #include <wx/imagpng.h> |
182 |
+diff --git a/src/slic3r/GUI/HintNotification.cpp b/src/slic3r/GUI/HintNotification.cpp |
183 |
+index 32916303f..3a984bf38 100644 |
184 |
+--- a/src/slic3r/GUI/HintNotification.cpp |
185 |
++++ b/src/slic3r/GUI/HintNotification.cpp |
186 |
+@@ -14,12 +14,14 @@ |
187 |
+ #include "libslic3r/Config.hpp" |
188 |
+ #include "libslic3r/PrintConfig.hpp" |
189 |
+ |
190 |
++#include <map> |
191 |
++ |
192 |
+ #include <boost/algorithm/string/replace.hpp> |
193 |
+ #include <boost/filesystem.hpp> |
194 |
+ #include <boost/nowide/fstream.hpp> |
195 |
+ #include <boost/log/trivial.hpp> |
196 |
+ #include <boost/property_tree/ini_parser.hpp> |
197 |
+-#include <map> |
198 |
++ |
199 |
+ #include <cereal/archives/binary.hpp> |
200 |
+ #include <cereal/types/string.hpp> |
201 |
+ #include <cereal/types/vector.hpp> |
202 |
+@@ -65,7 +67,7 @@ inline void push_style_color(ImGuiCol idx, const ImVec4& col, bool fading_out, f |
203 |
+ |
204 |
+ void write_used_binary(const std::vector<std::string>& ids) |
205 |
+ { |
206 |
+- boost::filesystem::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal"), std::ios::binary); |
207 |
++ boost::nowide::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal").string(), std::ios::binary); |
208 |
+ cereal::BinaryOutputArchive archive(file); |
209 |
+ HintsCerealData cd { ids }; |
210 |
+ try |
211 |
+@@ -84,7 +86,7 @@ void read_used_binary(std::vector<std::string>& ids) |
212 |
+ BOOST_LOG_TRIVIAL(warning) << "Failed to load to hints.cereal. File does not exists. " << path.string(); |
213 |
+ return; |
214 |
+ } |
215 |
+- boost::filesystem::ifstream file(path); |
216 |
++ boost::nowide::ifstream file(path.string()); |
217 |
+ cereal::BinaryInputArchive archive(file); |
218 |
+ HintsCerealData cd; |
219 |
+ try |
220 |
+diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp |
221 |
+index ffc600b0e..c8080d112 100644 |
222 |
+--- a/src/slic3r/GUI/Preferences.cpp |
223 |
++++ b/src/slic3r/GUI/Preferences.cpp |
224 |
+@@ -12,6 +12,7 @@ |
225 |
+ #include "OG_CustomCtrl.hpp" |
226 |
+ #include "wxExtensions.hpp" |
227 |
+ |
228 |
++#include <boost/algorithm/string/split.hpp> |
229 |
+ #include <boost/filesystem.hpp> |
230 |
+ #include <boost/filesystem/path.hpp> |
231 |
+ |
232 |
+diff --git a/src/slic3r/GUI/ScriptExecutor.cpp b/src/slic3r/GUI/ScriptExecutor.cpp |
233 |
+index 4565d1aec..6738cada9 100644 |
234 |
+--- a/src/slic3r/GUI/ScriptExecutor.cpp |
235 |
++++ b/src/slic3r/GUI/ScriptExecutor.cpp |
236 |
+@@ -4,6 +4,13 @@ |
237 |
+ #include "Tab.hpp" |
238 |
+ #include "libslic3r/PresetBundle.hpp" |
239 |
+ #include "libslic3r/Print.hpp" |
240 |
++#include <boost/log/trivial.hpp> |
241 |
++#include <boost/lexical_cast.hpp> |
242 |
++#include <boost/algorithm/string/trim_all.hpp> |
243 |
++#include <boost/algorithm/string/erase.hpp> |
244 |
++#include <boost/algorithm/string/split.hpp> |
245 |
++#include <boost/filesystem.hpp> |
246 |
++#include <boost/filesystem/string_file.hpp> |
247 |
+ |
248 |
+ #include <string> |
249 |
+ |
250 |
+diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp |
251 |
+index 173f0f762..a3eb553c8 100644 |
252 |
+--- a/src/slic3r/GUI/Tab.cpp |
253 |
++++ b/src/slic3r/GUI/Tab.cpp |
254 |
+@@ -36,6 +36,8 @@ |
255 |
+ #include <boost/filesystem.hpp> |
256 |
+ #include <boost/filesystem/path.hpp> |
257 |
+ #include <boost/lexical_cast.hpp> |
258 |
++#include <boost/nowide/fstream.hpp> |
259 |
++#include <boost/log/trivial.hpp> |
260 |
+ |
261 |
+ #include "wxExtensions.hpp" |
262 |
+ #include "PresetComboBoxes.hpp" |
263 |
+@@ -1692,7 +1694,7 @@ std::vector<Slic3r::GUI::PageShp> Tab::create_pages(std::string setting_type_nam |
264 |
+ |
265 |
+ //read file |
266 |
+ //std::ifstream filestream(ui_layout_file.c_str()); |
267 |
+- boost::filesystem::ifstream filestream(ui_layout_file); |
268 |
++ boost::nowide::ifstream filestream(ui_layout_file); |
269 |
+ std::string full_line; |
270 |
+ while (std::getline(filestream, full_line)) { |
271 |
+ //remove spaces |
272 |
+diff --git a/src/slic3r/Utils/Http.cpp b/src/slic3r/Utils/Http.cpp |
273 |
+index 9bab91860..47568721a 100644 |
274 |
+--- a/src/slic3r/Utils/Http.cpp |
275 |
++++ b/src/slic3r/Utils/Http.cpp |
276 |
+@@ -11,6 +11,7 @@ |
277 |
+ #include <boost/filesystem.hpp> |
278 |
+ #include <boost/format.hpp> |
279 |
+ #include <boost/log/trivial.hpp> |
280 |
++#include <boost/nowide/fstream.hpp> |
281 |
+ |
282 |
+ #include <curl/curl.h> |
283 |
+ |
284 |
+@@ -52,7 +53,7 @@ namespace Slic3r { |
285 |
+ % error; |
286 |
+ }) |
287 |
+ .on_complete([&](std::string body, unsigned /* http_status */) { |
288 |
+- boost::filesystem::fstream file(tmp_path, std::ios::out | std::ios::binary | std::ios::trunc); |
289 |
++ boost::nowide::fstream file(tmp_path, std::ios::out | std::ios::binary | std::ios::trunc); |
290 |
+ file.write(body.c_str(), body.size()); |
291 |
+ file.close(); |
292 |
+ boost::filesystem::rename(tmp_path, target_path); |
293 |
|
294 |
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch |
295 |
new file mode 100644 |
296 |
index 000000000000..6557d6653640 |
297 |
--- /dev/null |
298 |
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch |
299 |
@@ -0,0 +1,53 @@ |
300 |
+diff --git a/CMakeLists.txt b/CMakeLists.txt |
301 |
+index 549d06f0d..bffb63d9b 100644 |
302 |
+--- a/CMakeLists.txt |
303 |
++++ b/CMakeLists.txt |
304 |
+@@ -496,6 +496,9 @@ endif () |
305 |
+ |
306 |
+ # Find the Cereal serialization library |
307 |
+ find_package(cereal REQUIRED) |
308 |
++if (NOT TARGET cereal::cereal) |
309 |
++ add_library(cereal::cereal ALIAS cereal) |
310 |
++endif () |
311 |
+ |
312 |
+ # l10n |
313 |
+ set(L10N_DIR "${SLIC3R_RESOURCES_DIR}/localization") |
314 |
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt |
315 |
+index ec44417fa..9aae6dc11 100644 |
316 |
+--- a/src/CMakeLists.txt |
317 |
++++ b/src/CMakeLists.txt |
318 |
+@@ -141,7 +141,7 @@ if (NOT WIN32) |
319 |
+ set_target_properties(Slic3r PROPERTIES OUTPUT_NAME "${SLIC3R_APP_CMD}") |
320 |
+ endif () |
321 |
+ |
322 |
+-target_link_libraries(Slic3r libslic3r cereal) |
323 |
++target_link_libraries(Slic3r libslic3r cereal::cereal) |
324 |
+ if (APPLE) |
325 |
+ # add_compile_options(-stdlib=libc++) |
326 |
+ # add_definitions(-DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_NO_CXX11_RVALUE_REFERENCES -DBOOST_THREAD_USES_MOVE) |
327 |
+diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt |
328 |
+index c8f22a482..832149338 100644 |
329 |
+--- a/src/libslic3r/CMakeLists.txt |
330 |
++++ b/src/libslic3r/CMakeLists.txt |
331 |
+@@ -399,7 +399,7 @@ target_include_directories(libslic3r PUBLIC ${EXPAT_INCLUDE_DIRS}) |
332 |
+ target_link_libraries(libslic3r |
333 |
+ libnest2d |
334 |
+ admesh |
335 |
+- cereal |
336 |
++ cereal::cereal |
337 |
+ libigl |
338 |
+ miniz |
339 |
+ boost_libs |
340 |
+diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt |
341 |
+index f71b809b3..c64a2c5a9 100644 |
342 |
+--- a/src/slic3r/CMakeLists.txt |
343 |
++++ b/src/slic3r/CMakeLists.txt |
344 |
+@@ -302,7 +302,7 @@ target_compile_definitions(libslic3r_gui PRIVATE $<$<BOOL:${SLIC3R_ALPHA}>:SLIC3 |
345 |
+ |
346 |
+ encoding_check(libslic3r_gui) |
347 |
+ |
348 |
+-target_link_libraries(libslic3r_gui libslic3r avrdude cereal imgui GLEW::GLEW OpenGL::GL hidapi exif angelscript libcurl ${wxWidgets_LIBRARIES}) |
349 |
++target_link_libraries(libslic3r_gui libslic3r avrdude cereal::cereal imgui GLEW::GLEW OpenGL::GL hidapi exif angelscript libcurl ${wxWidgets_LIBRARIES}) |
350 |
+ |
351 |
+ if (MSVC) |
352 |
+ target_link_libraries(libslic3r_gui Setupapi.lib) |
353 |
|
354 |
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch |
355 |
new file mode 100644 |
356 |
index 000000000000..27f29fa9f6f1 |
357 |
--- /dev/null |
358 |
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch |
359 |
@@ -0,0 +1,36 @@ |
360 |
+diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp |
361 |
+index 18dc7396e..95483e844 100644 |
362 |
+--- a/src/libslic3r/AppConfig.cpp |
363 |
++++ b/src/libslic3r/AppConfig.cpp |
364 |
+@@ -1,6 +1,7 @@ |
365 |
+ #include <boost/filesystem.hpp> |
366 |
+ #include "libslic3r/libslic3r.h" |
367 |
+ #include "libslic3r/Utils.hpp" |
368 |
++#include "libslic3r/I18N.hpp" |
369 |
+ #include "AppConfig.hpp" |
370 |
+ #include "Exception.hpp" |
371 |
+ #include "LocalesUtils.hpp" |
372 |
+diff --git a/src/libslic3r/PerimeterGenerator.hpp b/src/libslic3r/PerimeterGenerator.hpp |
373 |
+index d7401f3fb..a95b7749d 100644 |
374 |
+--- a/src/libslic3r/PerimeterGenerator.hpp |
375 |
++++ b/src/libslic3r/PerimeterGenerator.hpp |
376 |
+@@ -1,6 +1,7 @@ |
377 |
+ #ifndef slic3r_PerimeterGenerator_hpp_ |
378 |
+ #define slic3r_PerimeterGenerator_hpp_ |
379 |
+ |
380 |
++#include "ClipperUtils.hpp" |
381 |
+ #include "libslic3r.h" |
382 |
+ #include <vector> |
383 |
+ #include "ExPolygonCollection.hpp" |
384 |
+diff --git a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp |
385 |
+index be157eafa..d63eb110e 100644 |
386 |
+--- a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp |
387 |
++++ b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp |
388 |
+@@ -40,6 +40,7 @@ |
389 |
+ #include <wx/odcombo.h> |
390 |
+ #include <wx/textctrl.h> |
391 |
+ #include <wx/wrapsizer.h> |
392 |
++#include <wx/rawbmp.h> |
393 |
+ #include "wxExtensions.hpp" |
394 |
+ |
395 |
+ #include <boost/filesystem/path.hpp> |
396 |
|
397 |
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch |
398 |
new file mode 100644 |
399 |
index 000000000000..8ae71c13f4d3 |
400 |
--- /dev/null |
401 |
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch |
402 |
@@ -0,0 +1,77 @@ |
403 |
+diff --git a/cmake/modules/FindOpenVDB.cmake b/cmake/modules/FindOpenVDB.cmake |
404 |
+index 4fde5fa4a..566e73a5e 100644 |
405 |
+--- a/cmake/modules/FindOpenVDB.cmake |
406 |
++++ b/cmake/modules/FindOpenVDB.cmake |
407 |
+@@ -347,28 +347,10 @@ macro(just_fail msg) |
408 |
+ return() |
409 |
+ endmacro() |
410 |
+ |
411 |
+-find_package(IlmBase QUIET) |
412 |
+-if(NOT IlmBase_FOUND) |
413 |
+- pkg_check_modules(IlmBase QUIET IlmBase) |
414 |
+-endif() |
415 |
+-if (IlmBase_FOUND AND NOT TARGET IlmBase::Half) |
416 |
+- message(STATUS "Falling back to IlmBase found by pkg-config...") |
417 |
+- |
418 |
+- find_library(IlmHalf_LIBRARY NAMES Half) |
419 |
+- if(IlmHalf_LIBRARY-NOTFOUND OR NOT IlmBase_INCLUDE_DIRS) |
420 |
+- just_fail("IlmBase::Half can not be found!") |
421 |
+- endif() |
422 |
+- |
423 |
+- add_library(IlmBase::Half UNKNOWN IMPORTED) |
424 |
+- set_target_properties(IlmBase::Half PROPERTIES |
425 |
+- IMPORTED_LOCATION "${IlmHalf_LIBRARY}" |
426 |
+- INTERFACE_INCLUDE_DIRECTORIES "${IlmBase_INCLUDE_DIRS}") |
427 |
+-elseif(NOT IlmBase_FOUND) |
428 |
+- just_fail("IlmBase::Half can not be found!") |
429 |
+-endif() |
430 |
+ find_package(TBB ${_quiet} ${_required} COMPONENTS tbb) |
431 |
+ find_package(ZLIB ${_quiet} ${_required}) |
432 |
+ find_package(Boost ${_quiet} ${_required} COMPONENTS iostreams system ) |
433 |
++find_package(Imath CONFIG) |
434 |
+ |
435 |
+ # Use GetPrerequisites to see which libraries this OpenVDB lib has linked to |
436 |
+ # which we can query for optional deps. This basically runs ldd/otoll/objdump |
437 |
+@@ -419,7 +401,7 @@ foreach(PREREQUISITE ${_OPENVDB_PREREQUISITE_LIST}) |
438 |
+ set(OpenVDB_USES_LOG4CPLUS ON) |
439 |
+ endif() |
440 |
+ |
441 |
+- string(FIND ${PREREQUISITE} "IlmImf" _HAS_DEP) |
442 |
++ string(FIND ${PREREQUISITE} "OpenEXR" _HAS_DEP) |
443 |
+ if(NOT ${_HAS_DEP} EQUAL -1) |
444 |
+ set(OpenVDB_USES_ILM ON) |
445 |
+ endif() |
446 |
+@@ -450,11 +432,7 @@ if(OpenVDB_USES_LOG4CPLUS) |
447 |
+ find_package(Log4cplus ${_quiet} ${_required}) |
448 |
+ endif() |
449 |
+ |
450 |
+-if(OpenVDB_USES_ILM) |
451 |
+- find_package(IlmBase ${_quiet} ${_required}) |
452 |
+-endif() |
453 |
+- |
454 |
+-if(OpenVDB_USES_EXR) |
455 |
++if(OpenVDB_USES_ILM OR OpenVDB_USES_EXR) |
456 |
+ find_package(OpenEXR ${_quiet} ${_required}) |
457 |
+ endif() |
458 |
+ |
459 |
+@@ -471,7 +449,7 @@ endif() |
460 |
+ set(_OPENVDB_VISIBLE_DEPENDENCIES |
461 |
+ Boost::iostreams |
462 |
+ Boost::system |
463 |
+- IlmBase::Half |
464 |
++ Imath::Imath |
465 |
+ ) |
466 |
+ |
467 |
+ set(_OPENVDB_DEFINITIONS) |
468 |
+@@ -481,10 +459,7 @@ endif() |
469 |
+ |
470 |
+ if(OpenVDB_USES_EXR) |
471 |
+ list(APPEND _OPENVDB_VISIBLE_DEPENDENCIES |
472 |
+- IlmBase::IlmThread |
473 |
+- IlmBase::Iex |
474 |
+- IlmBase::Imath |
475 |
+- OpenEXR::IlmImf |
476 |
++ OpenEXR::OpenEXR |
477 |
+ ) |
478 |
+ list(APPEND _OPENVDB_DEFINITIONS "-DOPENVDB_TOOLS_RAYTRACER_USE_EXR") |
479 |
+ endif() |
480 |
|
481 |
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch |
482 |
new file mode 100644 |
483 |
index 000000000000..abe4d7bf60cc |
484 |
--- /dev/null |
485 |
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch |
486 |
@@ -0,0 +1,21 @@ |
487 |
+diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp |
488 |
+index ccd3cc083..be8bbe5cd 100644 |
489 |
+--- a/src/slic3r/GUI/GUI.cpp |
490 |
++++ b/src/slic3r/GUI/GUI.cpp |
491 |
+@@ -33,6 +33,16 @@ class AppConfig; |
492 |
+ |
493 |
+ namespace GUI { |
494 |
+ |
495 |
++// wxgtk3 is broken on wayland: https://trac.wxwidgets.org/ticket/17702 |
496 |
++#ifdef __WXGTK3__ |
497 |
++struct ForceX11 { |
498 |
++ ForceX11() { |
499 |
++ setenv("GDK_BACKEND", "x11", 1); |
500 |
++ } |
501 |
++}; |
502 |
++static struct ForceX11 forcex11; |
503 |
++#endif |
504 |
++ |
505 |
+ #if __APPLE__ |
506 |
+ IOPMAssertionID assertionID; |
507 |
+ #endif |
508 |
|
509 |
diff --git a/media-gfx/superslicer/superslicer-2.5.59.0.ebuild b/media-gfx/superslicer/superslicer-2.5.59.0.ebuild |
510 |
new file mode 100644 |
511 |
index 000000000000..3024d92b17a4 |
512 |
--- /dev/null |
513 |
+++ b/media-gfx/superslicer/superslicer-2.5.59.0.ebuild |
514 |
@@ -0,0 +1,96 @@ |
515 |
+# Copyright 1999-2022 Gentoo Authors |
516 |
+# Distributed under the terms of the GNU General Public License v2 |
517 |
+ |
518 |
+EAPI=8 |
519 |
+ |
520 |
+WX_GTK_VER="3.0-gtk3" |
521 |
+MY_PN="SuperSlicer" |
522 |
+ |
523 |
+inherit cmake wxwidgets xdg |
524 |
+ |
525 |
+DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)" |
526 |
+HOMEPAGE="https://github.com/supermerill/SuperSlicer/" |
527 |
+SRC_URI=" |
528 |
+ https://github.com/supermerill/SuperSlicer/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz |
529 |
+ https://github.com/slic3r/slic3r-profiles/archive/748fbdfd2ac077e4e415868e7bc963740b92aa8e.tar.gz -> ${P}-profiles.tar.gz |
530 |
+" |
531 |
+ |
532 |
+LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT" |
533 |
+SLOT="0" |
534 |
+KEYWORDS="~amd64 ~x86" |
535 |
+IUSE="test" |
536 |
+ |
537 |
+RESTRICT="test" |
538 |
+ |
539 |
+# No dep on sci-libs/libigl, in-tree version cannot build |
540 |
+# static library currently. Using bundled one. |
541 |
+RDEPEND=" |
542 |
+ dev-cpp/eigen:3 |
543 |
+ dev-cpp/tbb:= |
544 |
+ >=dev-libs/boost-1.73.0:=[nls,threads(+)] |
545 |
+ dev-libs/cereal |
546 |
+ dev-libs/expat |
547 |
+ dev-libs/glib:2 |
548 |
+ dev-libs/gmp:= |
549 |
+ dev-libs/mpfr:= |
550 |
+ dev-libs/imath:= |
551 |
+ >=media-gfx/openvdb-8.2:= |
552 |
+ net-misc/curl[adns] |
553 |
+ media-libs/glew:0= |
554 |
+ media-libs/libpng:0= |
555 |
+ media-libs/qhull:= |
556 |
+ sci-libs/nlopt |
557 |
+ >=sci-mathematics/cgal-5.0:= |
558 |
+ sys-apps/dbus |
559 |
+ sys-libs/zlib:= |
560 |
+ virtual/glu |
561 |
+ virtual/opengl |
562 |
+ x11-libs/gtk+:3 |
563 |
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] |
564 |
+" |
565 |
+DEPEND="${RDEPEND} |
566 |
+ media-libs/qhull[static-libs] |
567 |
+" |
568 |
+ |
569 |
+PATCHES=( |
570 |
+ "${FILESDIR}/${P}-openexr3.patch" |
571 |
+ "${FILESDIR}/${P}-wxgtk3-wayland.patch" |
572 |
+ "${FILESDIR}/${P}-cereal.patch" |
573 |
+ "${FILESDIR}/${P}-boost.patch" |
574 |
+ "${FILESDIR}/${P}-missing-includes.patch" |
575 |
+) |
576 |
+ |
577 |
+S="${WORKDIR}/${MY_PN}-${PV}" |
578 |
+ |
579 |
+src_unpack() { |
580 |
+ default |
581 |
+ |
582 |
+ mv slic3r-profiles-*/* "${S}"/resources/profiles/ || die |
583 |
+} |
584 |
+ |
585 |
+src_configure() { |
586 |
+ CMAKE_BUILD_TYPE="Release" |
587 |
+ |
588 |
+ setup-wxwidgets |
589 |
+ |
590 |
+ local mycmakeargs=( |
591 |
+ -DOPENVDB_FIND_MODULE_PATH="/usr/$(get_libdir)/cmake/OpenVDB" |
592 |
+ |
593 |
+ -DSLIC3R_BUILD_TESTS=$(usex test) |
594 |
+ -DSLIC3R_FHS=ON |
595 |
+ -DSLIC3R_GTK=3 |
596 |
+ -DSLIC3R_GUI=ON |
597 |
+ -DSLIC3R_PCH=OFF |
598 |
+ -DSLIC3R_STATIC=OFF |
599 |
+ -DSLIC3R_WX_STABLE=ON |
600 |
+ -Wno-dev |
601 |
+ ) |
602 |
+ |
603 |
+ cmake_src_configure |
604 |
+} |
605 |
+ |
606 |
+src_install() { |
607 |
+ cmake_src_install |
608 |
+ |
609 |
+ rm "${ED}/usr/lib/udev/rules.d/90-3dconnexion.rules" || die |
610 |
+} |