summaryrefslogtreecommitdiff
path: root/media-gfx/superslicer
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-04-23 00:06:15 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-04-23 00:06:15 +0100
commit0e1abc96fea41c994e56391bd01c5c9298236783 (patch)
tree53f4297b17f44131f819fb0ae2ce606dc7121108 /media-gfx/superslicer
parentcf59cc78468c9bcfef9e16b7b27c115896d805fd (diff)
gentoo auto-resync : 23:04:2023 - 00:06:15
Diffstat (limited to 'media-gfx/superslicer')
-rw-r--r--media-gfx/superslicer/Manifest5
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.2-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch82
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.2-fix-spiral_vase-null-pointer.patch22
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.2-link-occtwrapper-statically.patch93
-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}"