From 91e1f8a90b85372d757efd9a1fb7dd1685ea6b50 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 17 Aug 2022 02:31:41 +0100 Subject: gentoo auto-resync : 17:08:2022 - 02:31:41 --- media-gfx/superslicer/Manifest | 8 + .../files/superslicer-2.5.59.0-boost.patch | 256 +++++++++++++++++++++ .../files/superslicer-2.5.59.0-cereal.patch | 53 +++++ .../superslicer-2.5.59.0-missing-includes.patch | 36 +++ .../files/superslicer-2.5.59.0-openexr3.patch | 77 +++++++ .../superslicer-2.5.59.0-wxgtk3-wayland.patch | 21 ++ media-gfx/superslicer/superslicer-2.5.59.0.ebuild | 96 ++++++++ 7 files changed, 547 insertions(+) create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.0-boost.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch create mode 100644 media-gfx/superslicer/superslicer-2.5.59.0.ebuild (limited to 'media-gfx/superslicer') diff --git a/media-gfx/superslicer/Manifest b/media-gfx/superslicer/Manifest index 87563e5721e6..81a224a45942 100644 --- a/media-gfx/superslicer/Manifest +++ b/media-gfx/superslicer/Manifest @@ -4,7 +4,15 @@ AUX superslicer-2.4.58.3-boost-1.79-port-v2.patch 9044 BLAKE2B cec6f33857de0b304 AUX superslicer-2.4.58.3-cereal.patch 2628 BLAKE2B 26001908801db3c7acfa12eb0e37094818b57577c99f90579e15b93b0e2aa796345e6facc807c929ccd63d566ebbf0497dbaa8bc518a397a0ac68e03d53763c3 SHA512 0f8ed92d5662bddc0ce09cbdd8c67736957febe317753c5111b9cc7dcfe99335fa4eb722e03940951b89c82d2d237898716cd66d2d2e54cd250b5c872047a48f AUX superslicer-2.4.58.3-openexr3.patch 2357 BLAKE2B 0d8c889817aaa7ddcdfd9ee434a668ce56b8c6906d61e73f118d8d37ef6a86d1315191956316e7d459629a9e60291ff86f0915bc5a877722ff99f8ce55af0351 SHA512 d3516333ce841b75c4da4f178e6e099b18fe64254484c286ad5b71d284407aa2e9cd4187b4c192b7ff3557170c0cee818d252b1c11e6b09263f9c2dc216e8aeb AUX superslicer-2.4.58.3-wxgtk3-wayland.patch 485 BLAKE2B a6a12b7b6b0da28593ee417e45bc97d9c297ce40b8f4a3adb3defa237ca4849238d82f58b4e8e7a4432d3167613845dd828db37529db6dbc9626bb89aa29437c SHA512 515c9b4b00cdfdc268febba8614fe9d2f33c5721ab17935a19055a25ef870ec04a51fc9af801f159dd48fb1a2d882695df373ee3b28dc676ac50f0fbaf73d474 +AUX superslicer-2.5.59.0-boost.patch 9423 BLAKE2B 8e797ed961fe2c1c8f0b5e67b6aaee8efa17933cecd190b1623e7df4f2724edb4e1c6559a839c4dc1d3b67f8f9db080476640e48187a03ec0541114863cdffc6 SHA512 f72eb91230c0e3aa2254533e5377a6aedcd806529c0cf3795eee883d4b8aaf6c618c7f2e064e80de3f688bf9f2a97d913e72d0b1c227d64caa7585cad1c97a84 +AUX superslicer-2.5.59.0-cereal.patch 1974 BLAKE2B b28be995a1c258c1848ad78a00061c73ccb173da0f790573273123f8f1481131a75ec3fb84fd8cee26dc7cef750650c827b39b685343d9defd44edec48e698a6 SHA512 50510b349f43354da7a5712d662b94a0276081c9af28d04b8d63885ed0053b52522b686ecfffa45d0b197097ee7c08ea1c831f0995a337c44becd453c392a539 +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 DIST superslicer-2.4.58.3-profiles.tar.gz 15322406 BLAKE2B cfa89697e832e0601746cb21250e258617bcc0966dd111c82ae43a9720b3ffb760f57827a1f35c8ad57a23a7ffb4c78e48ec76d6e40b364f321d0f83c4d10939 SHA512 bbdc6bfa8e21a4bdbca903a367f033f9cb5a1966bd0688bcc81314ba9ee45fee37cb892c82be35e865137c4df7c1fabceb8e6de46316338df2af4a590de91c76 DIST superslicer-2.4.58.3.tar.gz 45203382 BLAKE2B 822af2a1cb8978b21f8efdc0eb4841ec1d86517fd07782a8dfa6be2a58514dc3e772221dca40ff62808cb798fc4f51484b24e847328a7a6f154708431f0c4d3b SHA512 00302fba9ada1cc5df3c58f42fdb7f98322f94de7b78876c6a54a2229ae289e785082ea7a69f67bee54321fc4d97811675eeb70932e5774ab78ca8859343dd4d +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 EBUILD superslicer-2.4.58.3-r1.ebuild 2125 BLAKE2B 75b0f72a96f7f454c1cb49080bb57c64296b4504bb9b417fe832d60be5828b3ac0850f1891dd68a989de20e44d20712fe9d99fa8023e284c28949e161e3f9590 SHA512 54cb72e00f37dd760da19e15d4f4560d9934344f09b365376e38ecae324720962b68cd9c15cfe240228992dfd572aa6b48dd6a281356936740a7210af3db27a3 +EBUILD superslicer-2.5.59.0.ebuild 2041 BLAKE2B 302a497852c462dc4aba0806223630877ba8213065d039529cc3e6e8b43a98b11c8f3a14ddc9809c3d99853ea8df47ccb3bf5c8680e362dcb49f8fb05f39af39 SHA512 4130e571e5013046b2f14fcb48106b860949e1e511c53c1bb8b4a4ca77708152429663111fa77aee4b3c5609d9dca68f4cefdb4e2ada78f54c9c464de9801d8d MISC metadata.xml 413 BLAKE2B a43550366844e53b0ebed37197d33bf38efb555eee344f053f90e35e939263e3959301fdd072d5b6925d1e3e0d1fd629e2f459356e2f227006f8784a4364fc11 SHA512 8e1abc223f2e24cca551b08cbc37910f2a43319fce7299e52dd586dd6454c83e98e59b8d14c18613c8894fdca33d04297affa2da1f4aa001a5e200e4b5f2c331 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 new file mode 100644 index 000000000000..4f847aaacb92 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.0-boost.patch @@ -0,0 +1,256 @@ +diff --git a/src/hints/HintsToPot.cpp b/src/hints/HintsToPot.cpp +index 7c8029cde..4791f0612 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 f029b3d72..18dc7396e 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 d811ddcc2..1a7023061 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/LocalesUtils.cpp b/src/libslic3r/LocalesUtils.cpp +index 5bf520568..7b870520b 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 9e9fcda4f..d889e2abf 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 f525c9837..839f0f5e9 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 89212f27f..be157eafa 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 fcb7472e6..866ebaef5 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 271e3ef2d..6bbdf3907 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 4cf21a36c..75b2a8e94 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 32916303f..3a984bf38 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 ffc600b0e..c8080d112 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/ScriptExecutor.cpp b/src/slic3r/GUI/ScriptExecutor.cpp +index 4565d1aec..6738cada9 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 173f0f762..a3eb553c8 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" +@@ -1692,7 +1694,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 9bab91860..47568721a 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.0-cereal.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch new file mode 100644 index 000000000000..6557d6653640 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 549d06f0d..bffb63d9b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -496,6 +496,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 ec44417fa..9aae6dc11 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++) + # add_definitions(-DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_NO_CXX11_RVALUE_REFERENCES -DBOOST_THREAD_USES_MOVE) +diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt +index c8f22a482..832149338 100644 +--- a/src/libslic3r/CMakeLists.txt ++++ b/src/libslic3r/CMakeLists.txt +@@ -399,7 +399,7 @@ target_include_directories(libslic3r PUBLIC ${EXPAT_INCLUDE_DIRS}) + 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 f71b809b3..c64a2c5a9 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.0-missing-includes.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch new file mode 100644 index 000000000000..27f29fa9f6f1 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch @@ -0,0 +1,36 @@ +diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp +index 18dc7396e..95483e844 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/PerimeterGenerator.hpp b/src/libslic3r/PerimeterGenerator.hpp +index d7401f3fb..a95b7749d 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/slic3r/GUI/CreateMMUTiledCanvas.cpp b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp +index be157eafa..d63eb110e 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.0-openexr3.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch new file mode 100644 index 000000000000..8ae71c13f4d3 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch @@ -0,0 +1,77 @@ +diff --git a/cmake/modules/FindOpenVDB.cmake b/cmake/modules/FindOpenVDB.cmake +index 4fde5fa4a..566e73a5e 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.0-wxgtk3-wayland.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch new file mode 100644 index 000000000000..abe4d7bf60cc --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch @@ -0,0 +1,21 @@ +diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp +index ccd3cc083..be8bbe5cd 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.0.ebuild b/media-gfx/superslicer/superslicer-2.5.59.0.ebuild new file mode 100644 index 000000000000..3024d92b17a4 --- /dev/null +++ b/media-gfx/superslicer/superslicer-2.5.59.0.ebuild @@ -0,0 +1,96 @@ +# 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 + +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/748fbdfd2ac077e4e415868e7bc963740b92aa8e.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-1.73.0:=[nls,threads(+)] + 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}-openexr3.patch" + "${FILESDIR}/${P}-wxgtk3-wayland.patch" + "${FILESDIR}/${P}-cereal.patch" + "${FILESDIR}/${P}-boost.patch" + "${FILESDIR}/${P}-missing-includes.patch" +) + +S="${WORKDIR}/${MY_PN}-${PV}" + +src_unpack() { + default + + mv slic3r-profiles-*/* "${S}"/resources/profiles/ || die +} + +src_configure() { + CMAKE_BUILD_TYPE="Release" + + 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