summaryrefslogtreecommitdiff
path: root/media-gfx/superslicer
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-07-16 12:27:58 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-07-16 12:27:58 +0100
commitb6fa31c964a602f8461a77d5b83355e8750c12eb (patch)
tree323fa7af31640b3ea8bb57fa7a927713f3d64769 /media-gfx/superslicer
parent868fd5dc8aab84930cfaa5252b8be06b35552765 (diff)
gentoo auto-resync : 16:07:2024 - 12:27:58
Diffstat (limited to 'media-gfx/superslicer')
-rw-r--r--media-gfx/superslicer/Manifest11
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.10-boost-1.85.patch54
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.8-additional-imports-fixes.patch111
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.8-boost-replace-load-string-file.patch43
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.8-fix-compilation-error-gnu17.patch20
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.8-libnest2d-link-xcb.patch12
-rw-r--r--media-gfx/superslicer/superslicer-2.5.59.10.ebuild109
-rw-r--r--media-gfx/superslicer/superslicer-2.5.59.8.ebuild109
8 files changed, 469 insertions, 0 deletions
diff --git a/media-gfx/superslicer/Manifest b/media-gfx/superslicer/Manifest
index 5b63186e3475..4684099b27a4 100644
--- a/media-gfx/superslicer/Manifest
+++ b/media-gfx/superslicer/Manifest
@@ -1,3 +1,4 @@
+AUX superslicer-2.5.59.10-boost-1.85.patch 2693 BLAKE2B eb434eedc4b1188c1e8df875d8f57ba9f3c9a6ea88521f5707c47e16b23e7939b9382dc416d023293642a3e5af6317e51058adf691cd2201b92ea8f390b60ca8 SHA512 c94ef6475a3dd81bfbfe80f44b571094476b21725b496fe5b26d81d55aa987953f9c642c0275260f9f149d1a6b85addf5b750ff4a306d555c324304055a4375b
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
@@ -9,7 +10,17 @@ AUX superslicer-2.5.59.2-missing-includes-fix.patch 3042 BLAKE2B bc0d9e39abd204f
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
+AUX superslicer-2.5.59.8-additional-imports-fixes.patch 3266 BLAKE2B 9016a6baa5c97681b0caadbffb6b2a890f9f69083ccf6201e9945ca1b3ff3aebb04b4eab1b94bc2f69b6e21d212281e0a2d0aeaa26b3fc3ecc0afbaa2db845f1 SHA512 8ae0692cd708cb14e268f10740629c9a69fad5ddce1d2c11bc73cccceb4ec91a5a9dc508deb78743828ea366ef8924e149306ce3674c55074b86800cc25c575a
+AUX superslicer-2.5.59.8-boost-replace-load-string-file.patch 1753 BLAKE2B 009f44faffbe83ea15d029e4f36bfe0182c13df1bd80c4732f3f9460046c5ac38a77bf8a6294c70931aaab55f95ca554838a8f17b8983ccd7bc9e1e6553bff67 SHA512 5b61c2de780b645237e5fa9018667d94e90cde3f1d5a6c6c29db96bede7cfd023f8ca272f0172b859914b6bec0fe5b4e6013512fff1a54b7975f1b2a93a42ef6
+AUX superslicer-2.5.59.8-fix-compilation-error-gnu17.patch 812 BLAKE2B b9348bfc8ba5b9c63e269b453d39f3b56de7b1c62f5dd8ad376a6fb0abe7c520cb13c3befdd18521f4abfe4cb1eccae574f9d80ae355236733b8f0e683db5a95 SHA512 bbb36ed9572f2422c69be356b8f62531f4dabe0d9a731dff0697a0358d6bc4846dbe854c4e044ca06ba0ee6f87c2f80cb137ecf27f59d11cff829791376c9508
+AUX superslicer-2.5.59.8-libnest2d-link-xcb.patch 678 BLAKE2B 7e6328a9058206d325c77a73d7621dffe3a92c187e9d27d8173e2f0f77211fba3a87421f3827124cfe819649afbba4e5767df6636bd0b70c84f12e785e5879a9 SHA512 d6152f9465e752e0f88bd69c4cfe0b39cbd6df05f27df7b98b174bf8100b93f69feb7ba00086f67b4962a3a544bd91dcafa24679286318f9abe5609454c2eb43
+DIST superslicer-2.5.59.10-profiles.tar.gz 17933533 BLAKE2B d11e8660a9c04221ece8352695a78b302d0d934fca4cc26c17b44ba74d99271aa2f0088de4f36f718827f22073f5bdd90d1163c44d0fe0139b73e55929019ec8 SHA512 43dfe882fb52840abdcbc6c3c4441f7a02b2f21bfa986594e2c6399823508433a29d7372cdf28dab442ae831c0b89d1792e349944e797c899aaffeaf6b738ad6
+DIST superslicer-2.5.59.10.tar.gz 46034708 BLAKE2B 7d30b7e365d336725606f298b0b8ecbf56170e822c8d00a323d45bdf93ae399fb0a312e542ebde51642b7404820604338bd3606add60aad5c3e492e73ef5a28f SHA512 44f46a739f8e1769dd1883dd8ff88c6b3f0efbea2abcf9281cca22e48693ca8643a911c24325f0b8df7c66e3d32ad2e51854f09a67a4f2738ce0673c19485f1b
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
+DIST superslicer-2.5.59.8-profiles.tar.gz 17931886 BLAKE2B 953a777dd12971c355a5f48148d4c3831b9435cf08f1baecb32ff0ef6245678f81c53bf5078cc4d6d04642e9ee18e1023d5d1578ebdf1384c7c1ce44a1153c50 SHA512 2e4561de7c57308a91c8964c8a957bc10c5e4cedc47c5fc37633bbcf78e3576ed1eaa6d7126485e94eb0aa593940c73a460f3d5ad65f33001d32953caa2fb4e1
+DIST superslicer-2.5.59.8.tar.gz 46021260 BLAKE2B 04abffd1a9cdf417d544539d5cde9b3559f2da7c1cb24cfa0e4a5d11359bca53cb25a90a3a14b26ee10e33e283ba4774d404265e6740b5457f82110be2a44af9 SHA512 57ef6c129c24378d6f4f78d34a60ed15668a8c5c266fa706937edebbd7b52d145657aae1e46a7b1d19dabaf403465bc5af50a94fa70205456bfc87a1458bac6e
+EBUILD superslicer-2.5.59.10.ebuild 2748 BLAKE2B b6865b9c9d61b0a5afd49b1632488cc9983c169af5b7ded19bcf3c146bd1870fbc940c699005e9777793d3c759ad517f7e103eded6f4b6350768929d298356ac SHA512 dd31e1a229973bc91fabf18a415a111859c230888477223a3d6df19c79fed1b06fbca9245e0eac549beffbcc6a27123f7e2b0e1831c1a23e737f0aedbc4d9f1e
EBUILD superslicer-2.5.59.2-r2.ebuild 2490 BLAKE2B 5f1775a715b74a581daec55361e3c0b813d09e6e46fb47c27e680f0f739a822c9669fe7dc0e49b35365f78bde93ae5f112446580c058f56f17297d4e010f1f2b SHA512 febd71376f386a2c6b6cbd2f39b7f58e86f607475d33c9792bf099f195a1c6a0971b24b76dff8615e1bce2713c334ba702b78bff0e810dce5db85fbf5a464704
+EBUILD superslicer-2.5.59.8.ebuild 2743 BLAKE2B 6a7842738221df57aa1ea8e0682c50252e044e74bf90d69dc894d3bc92586c7e9520bc429cac3d1e53907cef3a3f56311f0f454f41fed4c915463a412ad8878f SHA512 d5ef833bd7a87d177df2cf99ec6ad5b5eb31e61e4babc315020d602b8eac5aabfa0c5d70f22de86f186cf1c3efd935629166695533939c8d33861b9faf22463f
MISC metadata.xml 413 BLAKE2B a43550366844e53b0ebed37197d33bf38efb555eee344f053f90e35e939263e3959301fdd072d5b6925d1e3e0d1fd629e2f459356e2f227006f8784a4364fc11 SHA512 8e1abc223f2e24cca551b08cbc37910f2a43319fce7299e52dd586dd6454c83e98e59b8d14c18613c8894fdca33d04297affa2da1f4aa001a5e200e4b5f2c331
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.10-boost-1.85.patch b/media-gfx/superslicer/files/superslicer-2.5.59.10-boost-1.85.patch
new file mode 100644
index 000000000000..8d9f11d3897d
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.10-boost-1.85.patch
@@ -0,0 +1,54 @@
+https://bugs.gentoo.org/936144
+https://github.com/supermerill/SuperSlicer/commit/75d4bee84740a8dcc9e4e2113795fd67107d03d1
+
+From 75d4bee84740a8dcc9e4e2113795fd67107d03d1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Hejl?= <hejl.lukas@gmail.com>
+Date: Wed, 3 Jan 2024 23:55:02 +0100
+Subject: [PATCH] Replace some deprecated boost functions.
+
+Actually, all those deprecated functions were internally called those new functions. So there isn't any risk to use them directly.
+---
+ src/libslic3r/PrintBase.cpp | 2 +-
+ src/libslic3r/utils.cpp | 2 +-
+ src/slic3r/GUI/RemovableDriveManager.cpp | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/libslic3r/PrintBase.cpp b/src/libslic3r/PrintBase.cpp
+index 29bdc1301d0..60e40644cb8 100644
+--- a/src/libslic3r/PrintBase.cpp
++++ b/src/libslic3r/PrintBase.cpp
+@@ -123,7 +123,7 @@ std::string PrintBase::output_filename(const std::string &format, const std::str
+ filepath = filename + extension;
+ }
+ if (filepath.extension().empty())
+- filepath = boost::filesystem::change_extension(filepath, default_ext);
++ filepath.replace_extension(default_ext);
+ return filepath.string();
+ } catch (std::runtime_error &err) {
+ throw Slic3r::PlaceholderParserError(L("Failed processing of the output_filename_format template.") + "\n" + err.what());
+diff --git a/src/libslic3r/utils.cpp b/src/libslic3r/utils.cpp
+index 71089ceea64..6eac962b20e 100644
+--- a/src/libslic3r/utils.cpp
++++ b/src/libslic3r/utils.cpp
+@@ -836,7 +836,7 @@ CopyFileResult copy_file_inner(const boost::filesystem::path& source, const boos
+ // That may happen when copying on some exotic file system, for example Linux on Chrome.
+ copy_file_linux(source, target, ec);
+ #else // __linux__
+- boost::filesystem::copy_file(source, target, boost::filesystem::copy_option::overwrite_if_exists, ec);
++ boost::filesystem::copy_file(source, target, boost::filesystem::copy_options::overwrite_existing, ec);
+ #endif // __linux__
+ if (ec) {
+ error_message = ec.message();
+diff --git a/src/slic3r/GUI/RemovableDriveManager.cpp b/src/slic3r/GUI/RemovableDriveManager.cpp
+index 5fb8b013210..2f8ac96a1a2 100644
+--- a/src/slic3r/GUI/RemovableDriveManager.cpp
++++ b/src/slic3r/GUI/RemovableDriveManager.cpp
+@@ -202,7 +202,7 @@ namespace search_for_drives_internal
+ stat(path.c_str(), &buf);
+ uid_t uid = buf.st_uid;
+ if (getuid() == uid)
+- out.emplace_back(DriveData{ boost::filesystem::basename(boost::filesystem::path(path)), path });
++ out.emplace_back(DriveData{ boost::filesystem::path(path).stem().string(), path });
+ }
+ }
+ }
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.8-additional-imports-fixes.patch b/media-gfx/superslicer/files/superslicer-2.5.59.8-additional-imports-fixes.patch
new file mode 100644
index 000000000000..1ccef804d0b4
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.8-additional-imports-fixes.patch
@@ -0,0 +1,111 @@
+diff --git a/src/libslic3r/Extruder.hpp b/src/libslic3r/Extruder.hpp
+index e4e16d263..629fd6e0b 100644
+--- a/src/libslic3r/Extruder.hpp
++++ b/src/libslic3r/Extruder.hpp
+@@ -3,6 +3,7 @@
+
+ #include "libslic3r.h"
+ #include "Point.hpp"
++#include <optional>
+
+ namespace Slic3r {
+
+diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp
+index 10cae794d..c82969e20 100644
+--- a/src/slic3r/GUI/Field.cpp
++++ b/src/slic3r/GUI/Field.cpp
+@@ -20,6 +20,7 @@
+ #include <wx/tglbtn.h>
+ #endif
+ #include <wx/tokenzr.h>
++#include <boost/algorithm/string.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+ #include <boost/log/trivial.hpp>
+ #include "OG_CustomCtrl.hpp"
+diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp
+index ab6039ff0..be01e890a 100644
+--- a/src/slic3r/GUI/Preferences.cpp
++++ b/src/slic3r/GUI/Preferences.cpp
+@@ -8,6 +8,7 @@
+
+ #include <wx/notebook.h>
+ #include <wx/scrolwin.h>
++#include <wx/display.h>
+ #include "Notebook.hpp"
+ #include "ButtonsDescription.hpp"
+ #include "OG_CustomCtrl.hpp"
+diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp
+index a6c7b580e..1e1566f37 100644
+--- a/src/slic3r/GUI/Tab.cpp
++++ b/src/slic3r/GUI/Tab.cpp
+@@ -29,6 +29,7 @@
+ #include <wx/settings.h>
+ #include <wx/filedlg.h>
+
++#include <boost/algorithm/string.hpp>
+ #include <boost/algorithm/string/split.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+ #include <boost/algorithm/string/replace.hpp>
+diff --git a/src/libslic3r/ObjectID.hpp b/src/libslic3r/ObjectID.hpp
+index 782c58741..08dfba661 100644
+--- a/src/libslic3r/ObjectID.hpp
++++ b/src/libslic3r/ObjectID.hpp
+@@ -2,6 +2,7 @@
+ #define slic3r_ObjectID_hpp_
+
+ #include <cereal/access.hpp>
++#include <cereal/types/base_class.hpp>
+
+ namespace Slic3r {
+
+diff --git a/src/libslic3r/Format/BBConfig.hpp b/src/libslic3r/Format/BBConfig.hpp
+index a4b27675c..8d821bed5 100644
+--- a/src/libslic3r/Format/BBConfig.hpp
++++ b/src/libslic3r/Format/BBConfig.hpp
+@@ -2,6 +2,13 @@
+ #define slic3r_Format_BBconfig_hpp_
+
+ #include "miniz_extension.hpp"
++#include <fstream>
++#include <map>
++#include "libslic3r/Config.hpp"
++#include <boost/algorithm/string/replace.hpp>
++#include <boost/log/trivial.hpp>
++#include <boost/property_tree/ptree.hpp>
++#include <boost/property_tree/ini_parser.hpp>
+
+ #ifdef __APPLE__
+ #include <boost/filesystem.hpp>
+diff --git a/src/libslic3r/GCode/FanMover.cpp b/src/libslic3r/GCode/FanMover.cpp
+index 8a39d92c5..68e8c9254 100644
+--- a/src/libslic3r/GCode/FanMover.cpp
++++ b/src/libslic3r/GCode/FanMover.cpp
+@@ -13,9 +13,8 @@
+ #include "../PrintConfig.hpp"
+ #include "../Utils.hpp"
+ #include "Print.hpp"
+-
+-#include <boost/log/trivial.hpp>
+ */
++#include <boost/log/trivial.hpp>
+
+
+ namespace Slic3r {
+diff --git a/src/libslic3r/Format/bbs_3mf.cpp b/src/libslic3r/Format/bbs_3mf.cpp
+index f1570b7a4..777f1d722 100644
+--- a/src/libslic3r/Format/bbs_3mf.cpp
++++ b/src/libslic3r/Format/bbs_3mf.cpp
+@@ -43,11 +43,13 @@
+ #include <boost/property_tree/ptree.hpp>
+ #include <boost/property_tree/xml_parser.hpp>
+ #include <boost/foreach.hpp>
++#include <boost/thread/mutex.hpp>
+ //#include <openssl/md5.h>
+
+ namespace pt = boost::property_tree;
+
+ #include <tbb/parallel_reduce.h>
++#include <tbb/parallel_for.h>
+
+ #include <expat.h>
+ #include <Eigen/Dense>
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.8-boost-replace-load-string-file.patch b/media-gfx/superslicer/files/superslicer-2.5.59.8-boost-replace-load-string-file.patch
new file mode 100644
index 000000000000..9b948ed9c0c4
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.8-boost-replace-load-string-file.patch
@@ -0,0 +1,43 @@
+diff --git a/src/slic3r/GUI/ScriptExecutor.cpp b/src/slic3r/GUI/ScriptExecutor.cpp
+index f32e44204..272af5ec3 100644
+--- a/src/slic3r/GUI/ScriptExecutor.cpp
++++ b/src/slic3r/GUI/ScriptExecutor.cpp
+@@ -5,8 +5,11 @@
+ #include "libslic3r/PresetBundle.hpp"
+ #include "libslic3r/Print.hpp"
+
++#include <fstream>
+ #include <string>
+
++#include <boost/filesystem.hpp>
++
+ #include <angelscript/source/as_config.h>
+ #include <angelscript/add_on/autowrapper/aswrappedcall.h>
+ #include <angelscript/add_on/scriptarray/scriptarray.h>
+@@ -616,6 +619,17 @@ bool as_is_enabled(std::string &key)
+ return f->is_enabled();
+ }
+
++inline
++void load_string_file(const boost::filesystem::path& p, std::string& str)
++{
++ std::ifstream file;
++ file.exceptions(std::ifstream::failbit | std::ifstream::badbit);
++ file.open(p, std::ios_base::binary);
++ std::size_t sz = static_cast<std::size_t>(boost::filesystem::file_size(p));
++ str.resize(sz, '\0');
++ file.read(&str[0], sz);
++}
++
+ //function to reset a field
+ void as_back_initial_value(std::string& key) {
+ current_script->add_to_reset(key);
+@@ -745,7 +759,7 @@ void ScriptContainer::init(const std::string& tab_key, Tab* tab)
+ //res = builder.AddSectionFromFile(ui_script_file.string().c_str()); //seems to be problematic on cyrillic locale
+ {
+ std::string all_file;
+- boost::filesystem::load_string_file(ui_script_file, all_file);
++ load_string_file(ui_script_file, all_file);
+ res = builder.AddSectionFromMemory(ui_script_file.string().c_str(), all_file.c_str(), (unsigned int)(all_file.length()), 0);
+ }
+ if (res < 0) throw CompileErrorException("Error, can't build the script for tab " + tab_key);
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.8-fix-compilation-error-gnu17.patch b/media-gfx/superslicer/files/superslicer-2.5.59.8-fix-compilation-error-gnu17.patch
new file mode 100644
index 000000000000..5574340bce63
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.8-fix-compilation-error-gnu17.patch
@@ -0,0 +1,20 @@
+# https://github.com/prusa3d/PrusaSlicer/commit/4aa7366fafb7a3f91cc68d4a808f5195a4aa3dcf
+diff --git a/src/libslic3r/MeshBoolean.cpp b/src/libslic3r/MeshBoolean.cpp
+index d76bf468c7f..22232573953 100644
+--- a/src/libslic3r/MeshBoolean.cpp
++++ b/src/libslic3r/MeshBoolean.cpp
+@@ -152,12 +152,12 @@ indexed_triangle_set cgal_to_indexed_triangle_set(const _Mesh &cgalmesh)
+ const auto &vertices = cgalmesh.vertices();
+ int vsize = int(vertices.size());
+
+- for (auto &vi : vertices) {
++ for (const auto &vi : vertices) {
+ auto &v = cgalmesh.point(vi); // Don't ask...
+ its.vertices.emplace_back(to_vec3f(v));
+ }
+
+- for (auto &face : faces) {
++ for (const auto &face : faces) {
+ auto vtc = cgalmesh.vertices_around_face(cgalmesh.halfedge(face));
+
+ int i = 0;
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.8-libnest2d-link-xcb.patch b/media-gfx/superslicer/files/superslicer-2.5.59.8-libnest2d-link-xcb.patch
new file mode 100644
index 000000000000..441f647b037e
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.8-libnest2d-link-xcb.patch
@@ -0,0 +1,12 @@
+diff --git a/src/libnest2d/CMakeLists.txt b/src/libnest2d/CMakeLists.txt
+index c18dc31cb..852d26d5e 100644
+--- a/src/libnest2d/CMakeLists.txt
++++ b/src/libnest2d/CMakeLists.txt
+@@ -24,5 +24,6 @@ set(LIBNEST2D_SRCFILES
+ add_library(libnest2d STATIC ${LIBNEST2D_SRCFILES})
+
+ target_include_directories(libnest2d PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include)
+-target_link_libraries(libnest2d PUBLIC NLopt::nlopt TBB::tbb Boost::boost libslic3r)
++target_link_libraries(libnest2d PUBLIC NLopt::nlopt TBB::tbb Boost::boost
++ libslic3r xcb)
+ target_compile_definitions(libnest2d PUBLIC LIBNEST2D_THREADING_tbb LIBNEST2D_STATIC LIBNEST2D_OPTIMIZER_nlopt LIBNEST2D_GEOMETRIES_libslic3r)
diff --git a/media-gfx/superslicer/superslicer-2.5.59.10.ebuild b/media-gfx/superslicer/superslicer-2.5.59.10.ebuild
new file mode 100644
index 000000000000..b1c347c004cc
--- /dev/null
+++ b/media-gfx/superslicer/superslicer-2.5.59.10.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.0-gtk3"
+MY_PN="SuperSlicer"
+SLICER_PROFILES_COMMIT="ca25c7ec55dcc6073da61e39692c321cdb6497dc"
+
+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/${SLICER_PROFILES_COMMIT}.tar.gz -> ${P}-profiles.tar.gz
+"
+
+LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~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-libs/opencascade:=
+ >=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}/${PN}-2.5.59.2-boost.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-cereal.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-dont-install-angelscript.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-gcodeviewer-symlink-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-missing-includes-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-openexr3.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-wxgtk3-wayland-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-relax-OpenCASCADE-dep.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-link-occtwrapper-statically.patch"
+ "${FILESDIR}/${PN}-2.5.59.8-additional-imports-fixes.patch"
+ "${FILESDIR}/${PN}-2.5.59.8-fix-compilation-error-gnu17.patch"
+ "${FILESDIR}/${PN}-2.5.59.8-libnest2d-link-xcb.patch"
+ "${FILESDIR}/${PN}-2.5.59.8-boost-replace-load-string-file.patch"
+ "${FILESDIR}/${PN}-2.5.59.10-boost-1.85.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
+}
diff --git a/media-gfx/superslicer/superslicer-2.5.59.8.ebuild b/media-gfx/superslicer/superslicer-2.5.59.8.ebuild
new file mode 100644
index 000000000000..b43862a3db67
--- /dev/null
+++ b/media-gfx/superslicer/superslicer-2.5.59.8.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.0-gtk3"
+MY_PN="SuperSlicer"
+SLICER_PROFILES_COMMIT="8f3bb94a9c60be9a3b40d88a36ff05ba5cf2d6a8"
+
+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/${SLICER_PROFILES_COMMIT}.tar.gz -> ${P}-profiles.tar.gz
+"
+
+LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~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-libs/opencascade:=
+ >=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}/${PN}-2.5.59.2-boost.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-cereal.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-dont-install-angelscript.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-gcodeviewer-symlink-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-missing-includes-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-openexr3.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-wxgtk3-wayland-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-relax-OpenCASCADE-dep.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-link-occtwrapper-statically.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch"
+ "${FILESDIR}/${P}-additional-imports-fixes.patch"
+ "${FILESDIR}/${P}-fix-compilation-error-gnu17.patch"
+ "${FILESDIR}/${P}-libnest2d-link-xcb.patch"
+ "${FILESDIR}/${P}-boost-replace-load-string-file.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
+}