diff options
Diffstat (limited to 'media-gfx/superslicer')
-rw-r--r-- | media-gfx/superslicer/Manifest | 5 | ||||
-rw-r--r-- | media-gfx/superslicer/files/superslicer-2.5.59.2-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch | 82 | ||||
-rw-r--r-- | media-gfx/superslicer/files/superslicer-2.5.59.2-fix-spiral_vase-null-pointer.patch | 22 | ||||
-rw-r--r-- | media-gfx/superslicer/files/superslicer-2.5.59.2-link-occtwrapper-statically.patch | 93 | ||||
-rw-r--r-- | media-gfx/superslicer/superslicer-2.5.59.2-r1.ebuild (renamed from media-gfx/superslicer/superslicer-2.5.59.2.ebuild) | 4 |
5 files changed, 205 insertions, 1 deletions
diff --git a/media-gfx/superslicer/Manifest b/media-gfx/superslicer/Manifest index 688228233d5b..c0368f3c8b97 100644 --- a/media-gfx/superslicer/Manifest +++ b/media-gfx/superslicer/Manifest @@ -9,7 +9,10 @@ AUX superslicer-2.5.59.0-wxgtk3-wayland.patch 489 BLAKE2B d801db8b71aff816c37036 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-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch 5193 BLAKE2B fcd3b72d51a67dc1670526f7b40e10a1b364f59201724db2739ad85aa99ae5184c6491c7d825b75df608d30d407be4a0c39e5b023ae9a320c918bb0f1aec5ea5 SHA512 385b017212241c4daa678fa4f83ec11833f2aa17294a68d2a6ce60deafe03710dfa55f262072fe8ef96d06247a9c2dd55433091699b173c5b8c49c8f8ad1bf98 +AUX superslicer-2.5.59.2-fix-spiral_vase-null-pointer.patch 1228 BLAKE2B 2eb5ce866cd6f3489fa635b10fd096ee00538131f52c8e6c67c814579a7daa39dd044b5d57e1e08bb20d951fd5bc899ba9e56ac5b715344f76dc5e5153ff1b37 SHA512 3701b003ad206c5b4f813e2cb82ed680d8bcb8fea5ddbae8374558f6c94a43c4707612fbd324b5b7bcf52629466f202f91aa0be4b457cd3fd602e7c1eb09f538 AUX superslicer-2.5.59.2-gcodeviewer-symlink-fix.patch 686 BLAKE2B 869ba2516ecfb72cc59b50be5590ff07879b146dcec7b5b7e9cebd6d42d5bb011f353e89bf921b825392f4b0dbaa0cef5032f0a5a5b691e829ae7ad84e4e31a2 SHA512 5eb73e13d691e9b5a89a5f06181e7b8a5e13e7b26a9ce80b33618ab945aaaf2d7a29bf85aa4cf702212f33994ad28f19e11359ee29055175194e13173704f3ec +AUX superslicer-2.5.59.2-link-occtwrapper-statically.patch 2916 BLAKE2B 9f28ba510235b20ad5cc8cd919bce00137b62ac1b64141ccaf0559f2e5d263b9c71539cc302a7e2ed046b3965aa5de36dff6131491a666fd90275bbbee95f450 SHA512 b49f2db32814c1bc467751f6d1b73bf22bba75e37b84b42bb0b8f42b5aa712a30cc9bb70f2210abed124509ca3d037e2450700a82d0994e8c3e4bafe498c6dc9 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 @@ -19,5 +22,5 @@ DIST superslicer-2.5.59.0.tar.gz 45360646 BLAKE2B da65610270ed4c7d55b5bc495d9970 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 +EBUILD superslicer-2.5.59.2-r1.ebuild 2433 BLAKE2B 57bc52b87dd1688cf37f0b772a9d8672cb6cf9f5ac0a3cb9d398f7ec82dc926238f36bcce18e1f5ca7537bfacc12c344982dd598308f4be2f384cc6d5fcc03c0 SHA512 8c8115ae9e9a72bd42829bbb6807efe09dba1692454ddb0a700ae21011c6170a79b94e63d98ed338c79b8d231cf14c0fcd907103b993a1a6d66ca59531a9700c MISC metadata.xml 413 BLAKE2B a43550366844e53b0ebed37197d33bf38efb555eee344f053f90e35e939263e3959301fdd072d5b6925d1e3e0d1fd629e2f459356e2f227006f8784a4364fc11 SHA512 8e1abc223f2e24cca551b08cbc37910f2a43319fce7299e52dd586dd6454c83e98e59b8d14c18613c8894fdca33d04297affa2da1f4aa001a5e200e4b5f2c331 diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.2-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch b/media-gfx/superslicer/files/superslicer-2.5.59.2-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch new file mode 100644 index 000000000000..4e93fca55e08 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.2-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch @@ -0,0 +1,82 @@ +diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp +index 68ec2ce..cd828a6 100644 +--- a/src/libslic3r/GCode.cpp ++++ b/src/libslic3r/GCode.cpp +@@ -2081,31 +2081,30 @@ void GCode::process_layers( + } + }); + const auto spiral_vase = tbb::make_filter<LayerResult, LayerResult>(slic3r_tbb_filtermode::serial_in_order, +- [&spiral_vase = *this->m_spiral_vase](LayerResult in) -> LayerResult { ++ [spiral_vase = this->m_spiral_vase.get()](LayerResult in) -> LayerResult { + if (in.nop_layer_result) + return in; + + CNumericLocalesSetter locales_setter; +- spiral_vase.enable(in.spiral_vase_enable); +- return LayerResult{ spiral_vase.process_layer(std::move(in.gcode)), in.layer_id, in.spiral_vase_enable, in.cooling_buffer_flush }; ++ spiral_vase->enable(in.spiral_vase_enable); ++ return { spiral_vase->process_layer(std::move(in.gcode)), in.layer_id, in.spiral_vase_enable, in.cooling_buffer_flush}; + }); + const auto pressure_equalizer = tbb::make_filter<LayerResult, LayerResult>(slic3r_tbb_filtermode::serial_in_order, +- [&pressure_equalizer = *this->m_pressure_equalizer](LayerResult in) -> LayerResult { +- return pressure_equalizer.process_layer(std::move(in)); ++ [pressure_equalizer = this->m_pressure_equalizer.get()](LayerResult in) -> LayerResult { ++ return pressure_equalizer->process_layer(std::move(in)); + }); + const auto cooling = tbb::make_filter<LayerResult, std::string>(slic3r_tbb_filtermode::serial_in_order, +- [&cooling_buffer = *this->m_cooling_buffer](LayerResult in) -> std::string { ++ [cooling_buffer = this->m_cooling_buffer.get()](LayerResult in)->std::string { + if (in.nop_layer_result) + return in.gcode; + + CNumericLocalesSetter locales_setter; +- return cooling_buffer.process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush); ++ return cooling_buffer->process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush); + }); + const auto find_replace = tbb::make_filter<std::string, std::string>(slic3r_tbb_filtermode::serial_in_order, +- [&self = *this->m_find_replace](std::string s) -> std::string { +- CNumericLocalesSetter locales_setter; +- return self.process_layer(std::move(s)); +- }); ++ [find_replace = this->m_find_replace.get()](std::string s) -> std::string { ++ return find_replace->process_layer(std::move(s)); ++}); + const auto output = tbb::make_filter<std::string, void>(slic3r_tbb_filtermode::serial_in_order, + [&output_stream](std::string s) { + CNumericLocalesSetter locales_setter; +@@ -2183,25 +2182,26 @@ void GCode::process_layers( + } + }); + const auto spiral_vase = tbb::make_filter<LayerResult, LayerResult>(slic3r_tbb_filtermode::serial_in_order, +- [&spiral_vase = *this->m_spiral_vase](LayerResult in)->LayerResult { ++ [spiral_vase = this->m_spiral_vase.get()](LayerResult in) -> LayerResult { + if (in.nop_layer_result) + return in; +- spiral_vase.enable(in.spiral_vase_enable); +- return { spiral_vase.process_layer(std::move(in.gcode)), in.layer_id, in.spiral_vase_enable, in.cooling_buffer_flush }; ++ spiral_vase->enable(in.spiral_vase_enable); ++ return { spiral_vase->process_layer(std::move(in.gcode)), in.layer_id, in.spiral_vase_enable, in.cooling_buffer_flush}; + }); + const auto pressure_equalizer = tbb::make_filter<LayerResult, LayerResult>(slic3r_tbb_filtermode::serial_in_order, +- [&pressure_equalizer = *this->m_pressure_equalizer](LayerResult in) -> LayerResult { +- return pressure_equalizer.process_layer(std::move(in)); ++ [pressure_equalizer = this->m_pressure_equalizer.get()](LayerResult in) -> LayerResult { ++ return pressure_equalizer->process_layer(std::move(in)); + }); + const auto cooling = tbb::make_filter<LayerResult, std::string>(slic3r_tbb_filtermode::serial_in_order, +- [&cooling_buffer = *this->m_cooling_buffer](LayerResult in)->std::string { ++ [cooling_buffer = this->m_cooling_buffer.get()](LayerResult in) -> std::string { + if (in.nop_layer_result) + return in.gcode; +- return cooling_buffer.process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush); ++ return cooling_buffer->process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush); ++ + }); + const auto find_replace = tbb::make_filter<std::string, std::string>(slic3r_tbb_filtermode::serial_in_order, +- [&self = *this->m_find_replace](std::string s) -> std::string { +- return self.process_layer(std::move(s)); ++ [find_replace = this->m_find_replace.get()](std::string s) -> std::string { ++ return find_replace->process_layer(std::move(s)); + }); + const auto output = tbb::make_filter<std::string, void>(slic3r_tbb_filtermode::serial_in_order, + [&output_stream](std::string s) { diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.2-fix-spiral_vase-null-pointer.patch b/media-gfx/superslicer/files/superslicer-2.5.59.2-fix-spiral_vase-null-pointer.patch new file mode 100644 index 000000000000..4dcc7f54a444 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.2-fix-spiral_vase-null-pointer.patch @@ -0,0 +1,22 @@ +From 6461985380814b92aab1caa791bee75d94e68676 Mon Sep 17 00:00:00 2001 +From: Tim Schneider <tim@schneider.engineering> +Date: Sat, 18 Mar 2023 17:51:38 +0100 +Subject: [PATCH] Fix crash on spiral_vase. + +--- + src/libslic3r/PrintConfig.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp +index 05bc79e53b..8c74880260 100644 +--- a/src/libslic3r/PrintConfig.cpp ++++ b/src/libslic3r/PrintConfig.cpp +@@ -8055,7 +8055,7 @@ void DynamicPrintConfig::normalize_fdm() + { + this->opt<ConfigOptionInt>("top_solid_layers", true)->value = 0; + this->opt<ConfigOptionPercent>("fill_density", true)->value = 0; +- this->opt<ConfigOptionEnum<PerimeterGeneratorType>>("perimeter_generator", true)->value = PerimeterGeneratorType::Classic; ++ this->option<ConfigOptionEnum<PerimeterGeneratorType>>("perimeter_generator", true)->value = PerimeterGeneratorType::Classic; + this->opt<ConfigOptionBool>("support_material", true)->value = false; + this->opt<ConfigOptionInt>("solid_over_perimeters")->value = 0; + this->opt<ConfigOptionInt>("support_material_enforce_layers")->value = 0; diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.2-link-occtwrapper-statically.patch b/media-gfx/superslicer/files/superslicer-2.5.59.2-link-occtwrapper-statically.patch new file mode 100644 index 000000000000..bb5b51f82a66 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.2-link-occtwrapper-statically.patch @@ -0,0 +1,93 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index b84292b..63fea9c 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -19,7 +19,7 @@ add_subdirectory(libnest2d) + add_subdirectory(libslic3r) + + if (SLIC3R_ENABLE_FORMAT_STEP) +- add_subdirectory(occt_wrapper) ++ add_subdirectory(occt_wrapper EXCLUDE_FROM_ALL) + endif () + + if (SLIC3R_GUI) +diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt +index 36917f3..63c4201 100644 +--- a/src/libslic3r/CMakeLists.txt ++++ b/src/libslic3r/CMakeLists.txt +@@ -435,10 +435,7 @@ target_link_libraries(libslic3r + qoi + ) + +-if (APPLE) +- # TODO: we need to fix notarization with the separate shared library +- target_link_libraries(libslic3r OCCTWrapper) +-endif () ++target_link_libraries(libslic3r OCCTWrapper) + + if (TARGET OpenVDB::openvdb) + target_link_libraries(libslic3r OpenVDB::openvdb) +diff --git a/src/libslic3r/Format/STEP.cpp b/src/libslic3r/Format/STEP.cpp +index 5165bb7..3ed0154 100644 +--- a/src/libslic3r/Format/STEP.cpp ++++ b/src/libslic3r/Format/STEP.cpp +@@ -22,17 +22,13 @@ + + namespace Slic3r { + +-#if __APPLE__ + extern "C" bool load_step_internal(const char *path, OCCTResult* res); +-#endif + + LoadStepFn get_load_step_fn() + { + static LoadStepFn load_step_fn = nullptr; + +-#ifndef __APPLE__ + constexpr const char* fn_name = "load_step_internal"; +-#endif + + if (!load_step_fn) { + auto libpath = boost::dll::program_location().parent_path(); +@@ -54,22 +50,8 @@ LoadStepFn get_load_step_fn() + FreeLibrary(module); + throw; + } +-#elif __APPLE__ +- load_step_fn = &load_step_internal; + #else +- libpath /= "OCCTWrapper.so"; +- void *plugin_ptr = dlopen(libpath.c_str(), RTLD_NOW | RTLD_GLOBAL); +- +- if (plugin_ptr) { +- load_step_fn = reinterpret_cast<LoadStepFn>(dlsym(plugin_ptr, fn_name)); +- if (!load_step_fn) { +- dlclose(plugin_ptr); +- throw Slic3r::RuntimeError(std::string("Cannot load function from OCCTWrapper.so: ") + fn_name +- + "\n\n" + dlerror()); +- } +- } else { +- throw Slic3r::RuntimeError(std::string("Cannot load OCCTWrapper.so:\n\n") + dlerror()); +- } ++ load_step_fn = &load_step_internal; + #endif + } + +diff --git a/src/occt_wrapper/CMakeLists.txt b/src/occt_wrapper/CMakeLists.txt +index 16de4e0..ad983be 100644 +--- a/src/occt_wrapper/CMakeLists.txt ++++ b/src/occt_wrapper/CMakeLists.txt +@@ -1,12 +1,7 @@ + cmake_minimum_required(VERSION 3.13) + project(OCCTWrapper) + +-if (APPLE) +- # TODO: we need to fix notarization with the separate shared library +- add_library(OCCTWrapper STATIC OCCTWrapper.cpp) +-else () +- add_library(OCCTWrapper MODULE OCCTWrapper.cpp) +-endif () ++add_library(OCCTWrapper STATIC OCCTWrapper.cpp) + + set_target_properties(OCCTWrapper + PROPERTIES diff --git a/media-gfx/superslicer/superslicer-2.5.59.2.ebuild b/media-gfx/superslicer/superslicer-2.5.59.2-r1.ebuild index 304f0fbf199c..c29633c2bc55 100644 --- a/media-gfx/superslicer/superslicer-2.5.59.2.ebuild +++ b/media-gfx/superslicer/superslicer-2.5.59.2-r1.ebuild @@ -40,6 +40,7 @@ RDEPEND=" media-libs/libpng:0= media-libs/qhull:= sci-libs/nlopt + sci-libs/opencascade:= >=sci-mathematics/cgal-5.0:= sys-apps/dbus sys-libs/zlib:= @@ -61,6 +62,9 @@ PATCHES=( "${FILESDIR}/${P}-openexr3.patch" "${FILESDIR}/${P}-wxgtk3-wayland-fix.patch" "${FILESDIR}/${P}-relax-OpenCASCADE-dep.patch" + "${FILESDIR}/${P}-link-occtwrapper-statically.patch" + "${FILESDIR}/${P}-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch" + "${FILESDIR}/${P}-fix-spiral_vase-null-pointer.patch" ) S="${WORKDIR}/${MY_PN}-${PV}" |