From 93d0bbd7df69c2081c2b2347ea6c88b8e967d537 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 18 Apr 2023 23:56:27 +0100 Subject: gentoo auto-resync : 18:04:2023 - 23:56:26 --- media-gfx/superslicer/Manifest | 11 + .../files/superslicer-2.5.59.2-boost.patch | 324 +++++++++++++++++++++ .../files/superslicer-2.5.59.2-cereal.patch | 53 ++++ ...rslicer-2.5.59.2-dont-install-angelscript.patch | 13 + ...erslicer-2.5.59.2-gcodeviewer-symlink-fix.patch | 11 + ...superslicer-2.5.59.2-missing-includes-fix.patch | 74 +++++ .../files/superslicer-2.5.59.2-openexr3.patch | 77 +++++ ...uperslicer-2.5.59.2-relax-OpenCASCADE-dep.patch | 13 + .../superslicer-2.5.59.2-wxgtk3-wayland-fix.patch | 21 ++ media-gfx/superslicer/superslicer-2.5.59.2.ebuild | 101 +++++++ 10 files changed, 698 insertions(+) create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.2-boost.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.2-cereal.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.2-dont-install-angelscript.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.2-gcodeviewer-symlink-fix.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.2-missing-includes-fix.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.2-openexr3.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.2-relax-OpenCASCADE-dep.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.2-wxgtk3-wayland-fix.patch create mode 100644 media-gfx/superslicer/superslicer-2.5.59.2.ebuild (limited to 'media-gfx/superslicer') diff --git a/media-gfx/superslicer/Manifest b/media-gfx/superslicer/Manifest index 187f6593cf19..688228233d5b 100644 --- a/media-gfx/superslicer/Manifest +++ b/media-gfx/superslicer/Manifest @@ -6,7 +6,18 @@ AUX superslicer-2.5.59.0-fix-gcodeviewer-symlink.patch 690 BLAKE2B 410f712603346 AUX superslicer-2.5.59.0-missing-includes.patch 1225 BLAKE2B 0d9cfbd9dfaf6e066a4206ff7bfa88cfe92c96e102ac2105a4a4fb5288b15a878969bcd00719d89a917fd3216b42aaba3688b6ad8a6b597eeed58d4c6a26de05 SHA512 cee42f67820a0fb98f1bdbbdf160bafcfaf1d1f87dbf85dc73781e8911b4ee76697996bdc23b9acc2c502701053587ce3d9a71d301ccb2bf9ee27e010a8bd855 AUX superslicer-2.5.59.0-openexr3.patch 2361 BLAKE2B d351d05190977e55047504d13ab4172c7eaf7fb2077a61a448dd29a8a27084ee4b13284143102b7ea3dff0edc8b20675dff0014e9f26cd5f448e50c04a1d6779 SHA512 840e51b8feb3568ff46d309ece063f7188018fcaa43d19ec50ede408fdf2c237a3b7eaa11ba24409d8c3f7d6f5fb270181508cc56e0b2b0fef68b766130ef1eb AUX superslicer-2.5.59.0-wxgtk3-wayland.patch 489 BLAKE2B d801db8b71aff816c3703628beb2e90d06ec4d85b982cd137e005eb4542aae308140c21b3b6fb1c72c07dd3e90e38668d6c2a69df054bdd414c43b9f8fcea57f SHA512 495d8d62c8cdf4ff9a075366dbc2db5c80a1c99bcd23172db9cf64dd649d70acbca44182722a71d790feb84c9a67a81403d75ff33b77444a1251b1f45f7b4b9e +AUX superslicer-2.5.59.2-boost.patch 12899 BLAKE2B 53cfab69e12af506c276fcc34851c62deba2c4ef5682176977ed1b07a60c1967264f56752f0c286aeb059fa7924272fa5d837c8c2add768590dd9604444705fe SHA512 798a275a6b310e6fa16e630a841fc3198fc287fa1ac9de0fc70a41effadd30b10887fed969ab59e73993c9ca1830ac1a8e633bbeaf0560a9225d0c5f1b00eab3 +AUX superslicer-2.5.59.2-cereal.patch 1807 BLAKE2B 0ab8eb8e7f283e09e19c55d95bd6fe874797cc3d67f153a7c3920e1ff02e3b974c64f0dfc510b0cf3dde2484eeb00f550eab636e304bb6ba3c76b066bf537caf SHA512 503d3e8483315affb77f9bf9299e529455b73484cb278eda413a7e17f27f687b24158210b2fbf50581a970821930511934c994fa70c2ef8b68702f7614528d38 +AUX superslicer-2.5.59.2-dont-install-angelscript.patch 427 BLAKE2B 8f853d1c8c861bcb18e3272467c5a4ca745b67790d88be9943d4cf92f1f5dfdd3b4e022ba697c90997ead2c8ad77debf7ea96fc262a21caa2087cd7b62901bdb SHA512 c4a718ead714b9d2a22cff7e9a48846954f9606290ad533c0e491429b3455f43dee7a10a93a34f564e03e9e3b2eeef87d8276f6062d770f57afef27a7fbdb868 +AUX superslicer-2.5.59.2-gcodeviewer-symlink-fix.patch 686 BLAKE2B 869ba2516ecfb72cc59b50be5590ff07879b146dcec7b5b7e9cebd6d42d5bb011f353e89bf921b825392f4b0dbaa0cef5032f0a5a5b691e829ae7ad84e4e31a2 SHA512 5eb73e13d691e9b5a89a5f06181e7b8a5e13e7b26a9ce80b33618ab945aaaf2d7a29bf85aa4cf702212f33994ad28f19e11359ee29055175194e13173704f3ec +AUX superslicer-2.5.59.2-missing-includes-fix.patch 2165 BLAKE2B ed39e6e2e07e7623a7dfc87f5127f310ae8d7847597619634d162bca73cbb39f0fe08e6ea64e0965d5bbc3c06c9fc61b14c808b8c97f227599cb94dfe88d73dd SHA512 7deacf27bbc17e847b46cea00193c76bfec7b3b885f3fefd67bc0da8ec1df0c284252833b09560d0a5240630c0e3d88cc49fe40a1fbf80295f39fb18139dc655 +AUX superslicer-2.5.59.2-openexr3.patch 2357 BLAKE2B 0d8c889817aaa7ddcdfd9ee434a668ce56b8c6906d61e73f118d8d37ef6a86d1315191956316e7d459629a9e60291ff86f0915bc5a877722ff99f8ce55af0351 SHA512 d3516333ce841b75c4da4f178e6e099b18fe64254484c286ad5b71d284407aa2e9cd4187b4c192b7ff3557170c0cee818d252b1c11e6b09263f9c2dc216e8aeb +AUX superslicer-2.5.59.2-relax-OpenCASCADE-dep.patch 384 BLAKE2B 25be6671e091d04dca0896448786d90a36e4b6ae5c9b31c8a249aa226788f338f0e40c9a8f849e7a731ce0ba1e5e531dd314138d6c5295d64067cecd9e0be6de SHA512 57a42c6936b369ebadcefb91da32125d265a763f073d7e8d0209a87481c057066848799bac998a83ab4aacdbe4da01fa4d721794d982d52d2f5cda1df59d47b5 +AUX superslicer-2.5.59.2-wxgtk3-wayland-fix.patch 485 BLAKE2B 4bd5634f39ba6132bb4216807fef254a88f07f5eb1162de12589c22b038c2876185a801ed481738d9fbbb04796952d304f17010fd61eb347213b649b13f3064d SHA512 4867192b069829ff0fd3d2bf86e2117979e505f4764223f7d0b874c15fad9cffca58d8e55a518a56cf156fee2187040115866a10e92aa903e87dc6ec909d0339 DIST superslicer-2.5.59.0-profiles.tar.gz 15322406 BLAKE2B cfa89697e832e0601746cb21250e258617bcc0966dd111c82ae43a9720b3ffb760f57827a1f35c8ad57a23a7ffb4c78e48ec76d6e40b364f321d0f83c4d10939 SHA512 bbdc6bfa8e21a4bdbca903a367f033f9cb5a1966bd0688bcc81314ba9ee45fee37cb892c82be35e865137c4df7c1fabceb8e6de46316338df2af4a590de91c76 DIST superslicer-2.5.59.0.tar.gz 45360646 BLAKE2B da65610270ed4c7d55b5bc495d9970812af94f424345088782b3a45b97fcf0f4b58bdc0417b89ed49e21d8c250535baa7cb74344f43438fbde8daf1b3acfacdd SHA512 1d2c0316c91bf0d65fb366806e9ea868bc93fae33deb580a324ce065fd3789ff1b600e9ace400db4988b371b1c36ef0c3ea2b52cde0d48984f312dd8d7ef3a1c +DIST superslicer-2.5.59.2-profiles.tar.gz 16253775 BLAKE2B 20c99b14ba8ee26ea2a210962e78ea21928a5f32b1e799cbdbe60a3ef587ae1368efce885f5d253468ee9974af6a4419890e56d7df33761732bcefe8dbbc019e SHA512 c20ec66a95d5ec3e1e4fd8b1936bf1a4fc32fbad2c3d78774d5c2480be8a9dcacba5e561c57774a2c761d5189466083e7b6bd9b021a4ca7676e6a5e9676439d7 +DIST superslicer-2.5.59.2.tar.gz 45622782 BLAKE2B ff2fecf233d2710d706b64eb2191bfac39df3f631634de5f9eb1bca6ca712e94b0283beb7c6e9f3b293dc308b50240871ef8651a5355a4d7c5ea6092ac1a836b SHA512 af8878bd8e0c3e0dd5247ce01bdbd2b42b6766d81efbde11b71c6642787a12dfeaea91e653ac928066b9610cd911ea1f4dc77cf4823639030b3c104d955b8cbd EBUILD superslicer-2.5.59.0-r3.ebuild 2243 BLAKE2B dd9727cfb208c694890deccc696845ad8dc0ce48a17a244513c333854b782dba9103b713482909cfb6238ec3063514f68b960750c2a2a5a667355d8373beef91 SHA512 a8dca57479744a2de97e2dc6feb37a5b41a3a5e44878d8fdb37689d70895ff7eafd782ee4178df65738c4c995aaba81f1e4eaa2dbfd22f6d09c54e197315b61e +EBUILD superslicer-2.5.59.2.ebuild 2227 BLAKE2B 3b8862dde38444cb54d7f9384d2f25287657fe31b1e67eb6d33ddff6fd3f029d27c0f18b6064d5c19af35567e6ea375180dc69adea2e006d71a87a87fc7c3586 SHA512 3d67564cb66d811ba2ca4c26c330edd1104fb8c622c5e116433088b90fd7e523232627a2574f398b26e2d2f5b490f9b68cb531ad704a58e6ee0e1f72998a086e MISC metadata.xml 413 BLAKE2B a43550366844e53b0ebed37197d33bf38efb555eee344f053f90e35e939263e3959301fdd072d5b6925d1e3e0d1fd629e2f459356e2f227006f8784a4364fc11 SHA512 8e1abc223f2e24cca551b08cbc37910f2a43319fce7299e52dd586dd6454c83e98e59b8d14c18613c8894fdca33d04297affa2da1f4aa001a5e200e4b5f2c331 diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.2-boost.patch b/media-gfx/superslicer/files/superslicer-2.5.59.2-boost.patch new file mode 100644 index 000000000000..ba0870a480b0 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.2-boost.patch @@ -0,0 +1,324 @@ +diff --git a/src/hints/HintsToPot.cpp b/src/hints/HintsToPot.cpp +index 7c8029c..4791f06 100644 +--- a/src/hints/HintsToPot.cpp ++++ b/src/hints/HintsToPot.cpp +@@ -9,7 +9,7 @@ + + bool write_to_pot(boost::filesystem::path path, const std::vector>& data) + { +- boost::filesystem::ofstream file(std::move(path), std::ios_base::app); ++ boost::nowide::ofstream file(path.string(), std::ios_base::app); + for (const auto& element : data) + { + //Example of .pot element +diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp +index e7c81f8..a626986 100644 +--- a/src/libslic3r/AppConfig.cpp ++++ b/src/libslic3r/AppConfig.cpp +@@ -1,3 +1,4 @@ ++#include + #include "libslic3r/libslic3r.h" + #include "libslic3r/Utils.hpp" + #include "AppConfig.hpp" +diff --git a/src/libslic3r/AppConfig.hpp b/src/libslic3r/AppConfig.hpp +index 35e36c0..5e8059b 100644 +--- a/src/libslic3r/AppConfig.hpp ++++ b/src/libslic3r/AppConfig.hpp +@@ -5,6 +5,7 @@ + #include + #include + ++#include + #include + + #include "libslic3r/Config.hpp" +diff --git a/src/libslic3r/Flow.cpp b/src/libslic3r/Flow.cpp +index 269c1cb..acea297 100644 +--- a/src/libslic3r/Flow.cpp ++++ b/src/libslic3r/Flow.cpp +@@ -6,6 +6,7 @@ + #include + + #include ++#include + + // Mark string for localization and translate. + #define L(s) Slic3r::I18N::translate(s) +diff --git a/src/libslic3r/GCode/WipeTower.cpp b/src/libslic3r/GCode/WipeTower.cpp +index 132c9a7..c311d05 100644 +--- a/src/libslic3r/GCode/WipeTower.cpp ++++ b/src/libslic3r/GCode/WipeTower.cpp +@@ -12,7 +12,9 @@ + #include "LocalesUtils.hpp" + #include "Flow.hpp" + ++ + #include ++#include + + + namespace Slic3r +diff --git a/src/libslic3r/LocalesUtils.cpp b/src/libslic3r/LocalesUtils.cpp +index 5bf5205..7b87052 100644 +--- a/src/libslic3r/LocalesUtils.cpp ++++ b/src/libslic3r/LocalesUtils.cpp +@@ -1,3 +1,4 @@ ++#include + #include "LocalesUtils.hpp" + + #ifdef _WIN32 +diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp +index 106f26e..c81cd1d 100644 +--- a/src/libslic3r/Preset.cpp ++++ b/src/libslic3r/Preset.cpp +@@ -84,7 +84,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.string()); + boost::property_tree::read_ini(ifs, tree); + return VendorProfile::from_ini(tree, path, load_all); + } +diff --git a/src/libslic3r/Utils.hpp b/src/libslic3r/Utils.hpp +index f525c98..839f0f5 100644 +--- a/src/libslic3r/Utils.hpp ++++ b/src/libslic3r/Utils.hpp +@@ -7,6 +7,7 @@ + #include + #include + ++#include + #include + + #include "libslic3r.h" +diff --git a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp +index cef390f..553a183 100644 +--- a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp ++++ b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp +@@ -18,6 +18,11 @@ + #include + #include "Notebook.hpp" + ++#include ++#include ++#include ++#include ++ + #include "MainFrame.hpp" + #include "wxExtensions.hpp" + +diff --git a/src/slic3r/GUI/DesktopIntegrationDialog.cpp b/src/slic3r/GUI/DesktopIntegrationDialog.cpp +index fcb7472..866ebae 100644 +--- a/src/slic3r/GUI/DesktopIntegrationDialog.cpp ++++ b/src/slic3r/GUI/DesktopIntegrationDialog.cpp +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -503,4 +504,4 @@ DesktopIntegrationDialog::~DesktopIntegrationDialog() + + } // namespace GUI + } // namespace Slic3r +-#endif // __linux__ +\ No newline at end of file ++#endif // __linux__ +diff --git a/src/slic3r/GUI/FreeCADDialog.cpp b/src/slic3r/GUI/FreeCADDialog.cpp +index d519626..a14fb61 100644 +--- a/src/slic3r/GUI/FreeCADDialog.cpp ++++ b/src/slic3r/GUI/FreeCADDialog.cpp +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + + // 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' + // and so boost/process has a line 'typedef int int'instead of 'typedef int pid_t' that makes it crash +@@ -322,7 +323,7 @@ bool FreeCADDialog::load_text_from_file(const boost::filesystem::path &path) { + try { + std::locale loc = boost::locale::generator()("en_US.UTF-8"); + // Open the stream to 'lock' the file. +- boost::filesystem::ifstream in; ++ boost::nowide::ifstream in; + in.imbue(loc); + in.open(path); + // Obtain the size of the file. +@@ -369,7 +370,7 @@ bool FreeCADDialog::write_text_in_file(const wxString &towrite, const boost::fil + boost::filesystem::create_directories(file.parent_path()); + std::locale loc = boost::locale::generator()("en_US.UTF-8"); + // Open the stream to 'lock' the file. +- boost::filesystem::ofstream out; ++ boost::nowide::ofstream out; + out.imbue(loc); + out.open(file); + out << towrite; +diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp +index 2f32d04..813ef1c 100644 +--- a/src/slic3r/GUI/GUI_App.cpp ++++ b/src/slic3r/GUI/GUI_App.cpp +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/src/slic3r/GUI/HintNotification.cpp b/src/slic3r/GUI/HintNotification.cpp +index dbedd0a..25182cc 100644 +--- a/src/slic3r/GUI/HintNotification.cpp ++++ b/src/slic3r/GUI/HintNotification.cpp +@@ -14,12 +14,14 @@ + #include "libslic3r/Config.hpp" + #include "libslic3r/PrintConfig.hpp" + ++#include ++ + #include + #include + #include + #include + #include +-#include ++ + #include + #include + #include +@@ -65,7 +67,7 @@ inline void push_style_color(ImGuiCol idx, const ImVec4& col, bool fading_out, f + + void write_used_binary(const std::vector& 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").string(), std::ios::binary); + cereal::BinaryOutputArchive archive(file); + HintsCerealData cd { ids }; + try +@@ -84,7 +86,7 @@ void read_used_binary(std::vector& 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.string()); + cereal::BinaryInputArchive archive(file); + HintsCerealData cd; + try +diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp +index ffc600b..c8080d1 100644 +--- a/src/slic3r/GUI/Preferences.cpp ++++ b/src/slic3r/GUI/Preferences.cpp +@@ -12,6 +12,7 @@ + #include "OG_CustomCtrl.hpp" + #include "wxExtensions.hpp" + ++#include + #include + #include + +diff --git a/src/slic3r/GUI/PrintHostDialogs.cpp b/src/slic3r/GUI/PrintHostDialogs.cpp +index 87bef23..d097d58 100644 +--- a/src/slic3r/GUI/PrintHostDialogs.cpp ++++ b/src/slic3r/GUI/PrintHostDialogs.cpp +@@ -81,8 +81,8 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::path &path, PrintHostPostUplo + if (size_t extension_start = recent_path.find_last_of('.'); extension_start != std::string::npos) + m_valid_suffix = recent_path.substr(extension_start); + // .gcode suffix control +- auto validate_path = [this](const wxString &path) -> bool { +- if (! path.Lower().EndsWith(m_valid_suffix.Lower())) { ++ auto validate_path = [this](const std::wstring &path) -> bool { ++ if (! wxString(path).Lower().EndsWith(m_valid_suffix.Lower())) { + MessageDialog msg_wingow(this, wxString::Format(_L("Upload filename doesn't end with \"%s\". Do you wish to continue?"), m_valid_suffix), wxString(SLIC3R_APP_NAME), wxYES | wxNO); + if (msg_wingow.ShowModal() == wxID_NO) + return false; +@@ -92,7 +92,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::path &path, PrintHostPostUplo + + auto* btn_ok = add_button(wxID_OK, true, _L("Upload")); + btn_ok->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) { +- if (validate_path(txt_filename->GetValue())) { ++ if (validate_path(txt_filename->GetValue().ToStdWstring())) { + post_upload_action = PrintHostPostUploadAction::None; + EndDialog(wxID_OK); + } +@@ -102,7 +102,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::path &path, PrintHostPostUplo + if (post_actions.has(PrintHostPostUploadAction::StartPrint)) { + auto* btn_print = add_button(wxID_YES, false, _L("Upload and Print")); + btn_print->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) { +- if (validate_path(txt_filename->GetValue())) { ++ if (validate_path(txt_filename->GetValue().ToStdWstring())) { + post_upload_action = PrintHostPostUploadAction::StartPrint; + EndDialog(wxID_OK); + } +@@ -113,7 +113,7 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::path &path, PrintHostPostUplo + // Using wxID_MORE as a button identifier to be different from the other buttons, wxID_MORE has no other meaning here. + auto* btn_simulate = add_button(wxID_MORE, false, _L("Upload and Simulate")); + btn_simulate->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) { +- if (validate_path(txt_filename->GetValue())) { ++ if (validate_path(txt_filename->GetValue().ToStdWstring())) { + post_upload_action = PrintHostPostUploadAction::StartSimulation; + EndDialog(wxID_OK); + } +diff --git a/src/slic3r/GUI/ScriptExecutor.cpp b/src/slic3r/GUI/ScriptExecutor.cpp +index e923bb5..354c79b 100644 +--- a/src/slic3r/GUI/ScriptExecutor.cpp ++++ b/src/slic3r/GUI/ScriptExecutor.cpp +@@ -4,6 +4,13 @@ + #include "Tab.hpp" + #include "libslic3r/PresetBundle.hpp" + #include "libslic3r/Print.hpp" ++#include ++#include ++#include ++#include ++#include ++#include ++#include + + #include + +diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp +index 340369e..837982e 100644 +--- a/src/slic3r/GUI/Tab.cpp ++++ b/src/slic3r/GUI/Tab.cpp +@@ -36,6 +36,8 @@ + #include + #include + #include ++#include ++#include + + #include "wxExtensions.hpp" + #include "PresetComboBoxes.hpp" +@@ -1701,7 +1703,7 @@ std::vector Tab::create_pages(std::string setting_type_nam + + //read file + //std::ifstream filestream(ui_layout_file.c_str()); +- boost::filesystem::ifstream filestream(ui_layout_file); ++ boost::nowide::ifstream filestream(ui_layout_file); + std::string full_line; + while (std::getline(filestream, full_line)) { + //remove spaces +diff --git a/src/slic3r/Utils/Http.cpp b/src/slic3r/Utils/Http.cpp +index 62461cd..7a02c04 100644 +--- a/src/slic3r/Utils/Http.cpp ++++ b/src/slic3r/Utils/Http.cpp +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + + #include + +@@ -52,7 +53,7 @@ namespace Slic3r { + % error; + }) + .on_complete([&](std::string body, unsigned /* http_status */) { +- boost::filesystem::fstream file(tmp_path, std::ios::out | std::ios::binary | std::ios::trunc); ++ boost::nowide::fstream file(tmp_path, std::ios::out | std::ios::binary | std::ios::trunc); + file.write(body.c_str(), body.size()); + file.close(); + boost::filesystem::rename(tmp_path, target_path); diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.2-cereal.patch b/media-gfx/superslicer/files/superslicer-2.5.59.2-cereal.patch new file mode 100644 index 000000000000..2013e08cf032 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.2-cereal.patch @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 18f26ba..c0a1f1f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -468,6 +468,9 @@ endif () + + # Find the Cereal serialization library + find_package(cereal REQUIRED) ++if (NOT TARGET cereal::cereal) ++ add_library(cereal::cereal ALIAS cereal) ++endif () + + # l10n + set(L10N_DIR "${SLIC3R_RESOURCES_DIR}/localization") +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 7b2defe..f63aaad 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -141,7 +141,7 @@ if (NOT WIN32) + set_target_properties(Slic3r PROPERTIES OUTPUT_NAME "${SLIC3R_APP_CMD}") + endif () + +-target_link_libraries(Slic3r libslic3r cereal) ++target_link_libraries(Slic3r libslic3r cereal::cereal) + + if (APPLE) + # add_compile_options(-stdlib=libc++) +diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt +index 0ab5584..36917f3 100644 +--- a/src/libslic3r/CMakeLists.txt ++++ b/src/libslic3r/CMakeLists.txt +@@ -416,7 +416,7 @@ find_package(JPEG REQUIRED) + target_link_libraries(libslic3r + libnest2d + admesh +- cereal ++ cereal::cereal + libigl + miniz + boost_libs +diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt +index c11f860..4ca2523 100644 +--- a/src/slic3r/CMakeLists.txt ++++ b/src/slic3r/CMakeLists.txt +@@ -302,7 +302,7 @@ target_compile_definitions(libslic3r_gui PRIVATE $<$:SLIC3 + + encoding_check(libslic3r_gui) + +-target_link_libraries(libslic3r_gui libslic3r avrdude cereal imgui GLEW::GLEW OpenGL::GL hidapi exif angelscript libcurl ${wxWidgets_LIBRARIES}) ++target_link_libraries(libslic3r_gui libslic3r avrdude cereal::cereal imgui GLEW::GLEW OpenGL::GL hidapi exif angelscript libcurl ${wxWidgets_LIBRARIES}) + + if (MSVC) + target_link_libraries(libslic3r_gui Setupapi.lib) diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.2-dont-install-angelscript.patch b/media-gfx/superslicer/files/superslicer-2.5.59.2-dont-install-angelscript.patch new file mode 100644 index 000000000000..f8e89fcd08fa --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.2-dont-install-angelscript.patch @@ -0,0 +1,13 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index f63aaad..ba2fe01 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -28,7 +28,7 @@ if (SLIC3R_GUI) + include_directories(hidapi/include) + add_subdirectory(exif) + include_directories(exif/include) +- add_subdirectory(angelscript) ++ add_subdirectory(angelscript EXCLUDE_FROM_ALL) + # include_directories(angelscript/include) + + if(WIN32) diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.2-gcodeviewer-symlink-fix.patch b/media-gfx/superslicer/files/superslicer-2.5.59.2-gcodeviewer-symlink-fix.patch new file mode 100644 index 000000000000..2fc6ca2730e8 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.2-gcodeviewer-symlink-fix.patch @@ -0,0 +1,11 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index ba2fe01..b84292b 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -300,5 +300,5 @@ else () + install(TARGETS Slic3r RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + + # Install the symlink for gcodeviewer +- install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink slic3r ${GCODEVIEWER_APP_CMD} WORKING_DIRECTORY \$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})") ++ install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${SLIC3R_APP_CMD} ${GCODEVIEWER_APP_CMD} WORKING_DIRECTORY \$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})") + endif () diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.2-missing-includes-fix.patch b/media-gfx/superslicer/files/superslicer-2.5.59.2-missing-includes-fix.patch new file mode 100644 index 000000000000..289198863367 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.2-missing-includes-fix.patch @@ -0,0 +1,74 @@ +diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp +index a626986..5f2d963 100644 +--- a/src/libslic3r/AppConfig.cpp ++++ b/src/libslic3r/AppConfig.cpp +@@ -1,6 +1,7 @@ + #include + #include "libslic3r/libslic3r.h" + #include "libslic3r/Utils.hpp" ++#include "libslic3r/I18N.hpp" + #include "AppConfig.hpp" + #include "Exception.hpp" + #include "LocalesUtils.hpp" +diff --git a/src/libslic3r/ExtrusionEntity.hpp b/src/libslic3r/ExtrusionEntity.hpp +index 1c54588..c74df3a 100644 +--- a/src/libslic3r/ExtrusionEntity.hpp ++++ b/src/libslic3r/ExtrusionEntity.hpp +@@ -9,6 +9,8 @@ + #include + #include + ++#include "Config.hpp" ++ + namespace Slic3r { + + class ExPolygonCollection; +diff --git a/src/libslic3r/Geometry/ArcFitter.cpp b/src/libslic3r/Geometry/ArcFitter.cpp +index 34ef2ae..20fe8b7 100644 +--- a/src/libslic3r/Geometry/ArcFitter.cpp ++++ b/src/libslic3r/Geometry/ArcFitter.cpp +@@ -2,6 +2,7 @@ + + #include + #include ++#include "Polyline.hpp" + + namespace Slic3r { namespace Geometry { + +diff --git a/src/libslic3r/PerimeterGenerator.hpp b/src/libslic3r/PerimeterGenerator.hpp +index 34ec4e6..ed83b3e 100644 +--- a/src/libslic3r/PerimeterGenerator.hpp ++++ b/src/libslic3r/PerimeterGenerator.hpp +@@ -1,6 +1,7 @@ + #ifndef slic3r_PerimeterGenerator_hpp_ + #define slic3r_PerimeterGenerator_hpp_ + ++#include "ClipperUtils.hpp" + #include "libslic3r.h" + #include + #include "ExPolygonCollection.hpp" +diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp +index f69d68f..1dd55f2 100644 +--- a/src/libslic3r/Print.cpp ++++ b/src/libslic3r/Print.cpp +@@ -18,6 +18,8 @@ + #include "Utils.hpp" + #include "BuildVolume.hpp" + ++#include ++ + #include + + #include +diff --git a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp +index 553a183..686630c 100644 +--- a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp ++++ b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + #include "wxExtensions.hpp" + + #include diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.2-openexr3.patch b/media-gfx/superslicer/files/superslicer-2.5.59.2-openexr3.patch new file mode 100644 index 000000000000..7bd04e6fad10 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.2-openexr3.patch @@ -0,0 +1,77 @@ +diff --git a/cmake/modules/FindOpenVDB.cmake b/cmake/modules/FindOpenVDB.cmake +index 4fde5fa..566e73a 100644 +--- a/cmake/modules/FindOpenVDB.cmake ++++ b/cmake/modules/FindOpenVDB.cmake +@@ -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_PREREQUISITE_LIST}) + 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/media-gfx/superslicer/files/superslicer-2.5.59.2-relax-OpenCASCADE-dep.patch b/media-gfx/superslicer/files/superslicer-2.5.59.2-relax-OpenCASCADE-dep.patch new file mode 100644 index 000000000000..1ea699ebff5a --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.2-relax-OpenCASCADE-dep.patch @@ -0,0 +1,13 @@ +diff --git a/src/occt_wrapper/CMakeLists.txt b/src/occt_wrapper/CMakeLists.txt +index ed75531..16de4e0 100644 +--- a/src/occt_wrapper/CMakeLists.txt ++++ b/src/occt_wrapper/CMakeLists.txt +@@ -19,7 +19,7 @@ include(GenerateExportHeader) + + generate_export_header(OCCTWrapper) + +-find_package(OpenCASCADE 7.6.2 REQUIRED) ++find_package(OpenCASCADE REQUIRED) + + set(OCCT_LIBS + TKXDESTEP diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.2-wxgtk3-wayland-fix.patch b/media-gfx/superslicer/files/superslicer-2.5.59.2-wxgtk3-wayland-fix.patch new file mode 100644 index 000000000000..6111a25cbf2c --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.2-wxgtk3-wayland-fix.patch @@ -0,0 +1,21 @@ +diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp +index ccd3cc0..be8bbe5 100644 +--- a/src/slic3r/GUI/GUI.cpp ++++ b/src/slic3r/GUI/GUI.cpp +@@ -33,6 +33,16 @@ class AppConfig; + + namespace GUI { + ++// wxgtk3 is broken on wayland: https://trac.wxwidgets.org/ticket/17702 ++#ifdef __WXGTK3__ ++struct ForceX11 { ++ ForceX11() { ++ setenv("GDK_BACKEND", "x11", 1); ++ } ++}; ++static struct ForceX11 forcex11; ++#endif ++ + #if __APPLE__ + IOPMAssertionID assertionID; + #endif diff --git a/media-gfx/superslicer/superslicer-2.5.59.2.ebuild b/media-gfx/superslicer/superslicer-2.5.59.2.ebuild new file mode 100644 index 000000000000..304f0fbf199c --- /dev/null +++ b/media-gfx/superslicer/superslicer-2.5.59.2.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WX_GTK_VER="3.0-gtk3" +MY_PN="SuperSlicer" + +inherit cmake wxwidgets xdg flag-o-matic + +DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)" +HOMEPAGE="https://github.com/supermerill/SuperSlicer/" +SRC_URI=" + https://github.com/supermerill/SuperSlicer/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/slic3r/slic3r-profiles/archive/f6b1b123062a77101fe350f6d2a2a57be9adc684.tar.gz -> ${P}-profiles.tar.gz +" + +LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" + +RESTRICT="test" + +# No dep on sci-libs/libigl, in-tree version cannot build +# static library currently. Using bundled one. +RDEPEND=" + dev-cpp/eigen:3 + dev-cpp/tbb:= + dev-libs/boost:=[nls] + dev-libs/cereal + dev-libs/expat + dev-libs/glib:2 + dev-libs/gmp:= + dev-libs/mpfr:= + dev-libs/imath:= + >=media-gfx/openvdb-8.2:= + net-misc/curl[adns] + media-libs/glew:0= + media-libs/libpng:0= + media-libs/qhull:= + sci-libs/nlopt + >=sci-mathematics/cgal-5.0:= + sys-apps/dbus + sys-libs/zlib:= + virtual/glu + virtual/opengl + x11-libs/gtk+:3 + x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] +" +DEPEND="${RDEPEND} + media-libs/qhull[static-libs] +" + +PATCHES=( + "${FILESDIR}/${P}-boost.patch" + "${FILESDIR}/${P}-cereal.patch" + "${FILESDIR}/${P}-dont-install-angelscript.patch" + "${FILESDIR}/${P}-gcodeviewer-symlink-fix.patch" + "${FILESDIR}/${P}-missing-includes-fix.patch" + "${FILESDIR}/${P}-openexr3.patch" + "${FILESDIR}/${P}-wxgtk3-wayland-fix.patch" + "${FILESDIR}/${P}-relax-OpenCASCADE-dep.patch" +) + +S="${WORKDIR}/${MY_PN}-${PV}" + +src_unpack() { + default + + mv slic3r-profiles-*/* "${S}"/resources/profiles/ || die +} + +src_configure() { + CMAKE_BUILD_TYPE="Release" + + append-flags -fno-strict-aliasing + + setup-wxwidgets + + local mycmakeargs=( + -DOPENVDB_FIND_MODULE_PATH="/usr/$(get_libdir)/cmake/OpenVDB" + + -DSLIC3R_BUILD_TESTS=$(usex test) + -DSLIC3R_FHS=ON + -DSLIC3R_GTK=3 + -DSLIC3R_GUI=ON + -DSLIC3R_PCH=OFF + -DSLIC3R_STATIC=OFF + -DSLIC3R_WX_STABLE=ON + -Wno-dev + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + rm "${ED}/usr/lib/udev/rules.d/90-3dconnexion.rules" || die +} -- cgit v1.2.3