From 7cfa23e0e837f674446f8b27713551dbc5eec292 Mon Sep 17 00:00:00 2001 From: Torsten Kurbad Date: Wed, 26 Jun 2024 12:53:25 +0200 Subject: [PATCH] Non functioning superslicer / orcaslicer WIP --- media-gfx/orcaslicer/Manifest | 5 + ...licer-2.0.0-additional-imports-fixes.patch | 37 +++ .../files/orcaslicer-2.0.0-boost.patch | 116 +++++++ media-gfx/orcaslicer/metadata.xml | 12 + media-gfx/orcaslicer/orcaslicer-2.0.0.ebuild | 111 +++++++ media-gfx/superslicer/Manifest | 20 +- ...r-2.5.59.12-additional-imports-fixes.patch | 111 +++++++ ...59.12-boost-replace-load-string-file.patch | 43 +++ .../files/superslicer-2.5.59.12-boost.patch | 302 ++++++++++++++++++ .../files/superslicer-2.5.59.12-cereal.patch | 53 +++ ...r-2.5.59.12-dont-install-angelscript.patch | 13 + ....5.59.12-fix-compilation-error-gnu17.patch | 20 ++ ...rencing-in-std-unique_ptr-to-nullptr.patch | 82 +++++ ...er-2.5.59.12-gcodeviewer-symlink-fix.patch | 11 + ...rslicer-2.5.59.12-libnest2d-link-xcb.patch | 12 + ....5.59.12-link-occtwrapper-statically.patch | 93 ++++++ ...licer-2.5.59.12-missing-includes-fix.patch | 90 ++++++ .../superslicer-2.5.59.12-openexr3.patch | 77 +++++ ...icer-2.5.59.12-relax-OpenCASCADE-dep.patch | 13 + ...rslicer-2.5.59.12-wxgtk3-wayland-fix.patch | 21 ++ ...11.ebuild => superslicer-2.5.59.12.ebuild} | 8 +- 21 files changed, 1243 insertions(+), 7 deletions(-) create mode 100644 media-gfx/orcaslicer/Manifest create mode 100644 media-gfx/orcaslicer/files/orcaslicer-2.0.0-additional-imports-fixes.patch create mode 100644 media-gfx/orcaslicer/files/orcaslicer-2.0.0-boost.patch create mode 100644 media-gfx/orcaslicer/metadata.xml create mode 100644 media-gfx/orcaslicer/orcaslicer-2.0.0.ebuild create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-additional-imports-fixes.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-boost-replace-load-string-file.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-boost.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-cereal.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-dont-install-angelscript.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-fix-compilation-error-gnu17.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-gcodeviewer-symlink-fix.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-libnest2d-link-xcb.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-link-occtwrapper-statically.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-missing-includes-fix.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-openexr3.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-relax-OpenCASCADE-dep.patch create mode 100644 media-gfx/superslicer/files/superslicer-2.5.59.12-wxgtk3-wayland-fix.patch rename media-gfx/superslicer/{superslicer-2.5.59.11.ebuild => superslicer-2.5.59.12.ebuild} (92%) diff --git a/media-gfx/orcaslicer/Manifest b/media-gfx/orcaslicer/Manifest new file mode 100644 index 0000000..b2da595 --- /dev/null +++ b/media-gfx/orcaslicer/Manifest @@ -0,0 +1,5 @@ +AUX orcaslicer-2.0.0-additional-imports-fixes.patch 1449 BLAKE2B 139e68e56db3ce2dafb8719629f518e8636c9e7c217e0921a22e3bea2e952754376bb32ac4e483c4b353ac539f96a9f89e1a7fa2513b9c3da3cd8801b3083964 SHA512 941d6fc312cfe19d8478da4e2890eb6e7d8921d7c03139dc46466a99a8fa3d0c9603383c660d7370b1e832c9ee4f43d1e7bb5a72b51be3d3885694f186bb969f +AUX orcaslicer-2.0.0-boost.patch 5808 BLAKE2B 03c24c3427bfd2beed4d7de22357654f509ea0cfff1ed0edec8b5707883c410eee4fd297804774d524e5f3b71e84670d7af99704047c86f331a57f5867906ef1 SHA512 7d0f4f0ee63281c3c9e9b7999f5235048ee70e78193662f83045131dda2ac8e2dd1e536e2216b6a781d9ecc17b3f1c6d150445c8cefd0d4d3b4e27cdda70645b +DIST orcaslicer-2.0.0.tar.gz 98242411 BLAKE2B 08ad6246c23a3109f9afc4972e1bef250cf12422c336196ee2d5ed5a723486be45fe727f25c5e64fc300480d8ad091590b0343f96219d005e7d0a370f336cc37 SHA512 fe24e6f601bec31fc99d805cc00ab20f61bb91c2ec299cf1f3de46bfe7f7592e83c5e320f95fba35d434f3e6b22773e940e785e83ef1e52c32a8bb83191056d9 +EBUILD orcaslicer-2.0.0.ebuild 2598 BLAKE2B 1a2ba35f9d5dd928f6eb8eccd472dc31d6ef9c5eb28abbd9baa3412ce303b7864d7b454a84cb393ae32b89e115d6836ac00d2b46d19230e7f2872355e76a5f7c SHA512 5c5f497b64e10d223cccd71aad4b0868499e9363da4ebb607c3f79bd55dc4227e2c3f9aaca2a4ad4a4c7b27b4cb48b77759dead8b42d1cd42c70bd1881a7c239 +MISC metadata.xml 407 BLAKE2B ab190b5924a411b963da85b5eae38ede8b54d9adb155e560b55e5cddd6640e04d23af943f0ed9ce1aa43d78cb423a0e2e96e35c8d32be34272a37befa4904fe4 SHA512 8a8833b58d2b948d20761af8474daf10041edbd5c8aa46d6b68405bfc609396c96c8adb0a38aa6e04e51c3416adc98b28af48461b5408954a79b571ee594d0ee diff --git a/media-gfx/orcaslicer/files/orcaslicer-2.0.0-additional-imports-fixes.patch b/media-gfx/orcaslicer/files/orcaslicer-2.0.0-additional-imports-fixes.patch new file mode 100644 index 0000000..69cd665 --- /dev/null +++ b/media-gfx/orcaslicer/files/orcaslicer-2.0.0-additional-imports-fixes.patch @@ -0,0 +1,37 @@ +diff '--color=auto' -urN OrcaSlicer-2.0.0.orig/src/slic3r/GUI/GUI_App.hpp OrcaSlicer-2.0.0/src/slic3r/GUI/GUI_App.hpp +--- OrcaSlicer-2.0.0.orig/src/slic3r/GUI/GUI_App.hpp 2024-03-30 03:10:30.000000000 +0100 ++++ OrcaSlicer-2.0.0/src/slic3r/GUI/GUI_App.hpp 2024-06-25 17:45:53.236056766 +0200 +@@ -10,6 +10,9 @@ + + #include + #include ++#include ++#include ++#include + #include "ImGuiWrapper.hpp" + #include "ConfigWizard.hpp" + #include "OpenGLManager.hpp" +diff '--color=auto' -urN OrcaSlicer-2.0.0.orig/src/slic3r/GUI/HttpServer.hpp OrcaSlicer-2.0.0/src/slic3r/GUI/HttpServer.hpp +--- OrcaSlicer-2.0.0.orig/src/slic3r/GUI/HttpServer.hpp 2024-06-25 17:36:59.994325145 +0200 ++++ OrcaSlicer-2.0.0/src/slic3r/GUI/HttpServer.hpp 2024-06-25 17:46:28.676171292 +0200 +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + + #define LOCALHOST_PORT 13618 + #define LOCALHOST_URL "http://localhost:" +diff '--color=auto' -urN OrcaSlicer-2.0.0.orig/src/slic3r/GUI/Jobs/Job.hpp OrcaSlicer-2.0.0/src/slic3r/GUI/Jobs/Job.hpp +--- OrcaSlicer-2.0.0.orig/src/slic3r/GUI/Jobs/Job.hpp 2024-03-30 03:10:30.000000000 +0100 ++++ OrcaSlicer-2.0.0/src/slic3r/GUI/Jobs/Job.hpp 2024-06-25 17:50:48.193655304 +0200 +@@ -8,6 +8,9 @@ + #include + #include + #include ++#include ++#include ++#include + + #include + diff --git a/media-gfx/orcaslicer/files/orcaslicer-2.0.0-boost.patch b/media-gfx/orcaslicer/files/orcaslicer-2.0.0-boost.patch new file mode 100644 index 0000000..cf4a4ad --- /dev/null +++ b/media-gfx/orcaslicer/files/orcaslicer-2.0.0-boost.patch @@ -0,0 +1,116 @@ +diff '--color=auto' -urN OrcaSlicer-2.0.0.orig/src/libslic3r/PrintBase.cpp OrcaSlicer-2.0.0/src/libslic3r/PrintBase.cpp +--- OrcaSlicer-2.0.0.orig/src/libslic3r/PrintBase.cpp 2024-03-30 03:10:30.000000000 +0100 ++++ OrcaSlicer-2.0.0/src/libslic3r/PrintBase.cpp 2024-06-26 12:47:29.755499011 +0200 +@@ -79,7 +79,7 @@ + cfg.opt_string("input_filename_base") + default_ext : + this->placeholder_parser().process(format, 0, &cfg); + if (filename.extension().empty()) +- filename = boost::filesystem::change_extension(filename, default_ext); ++ filename.replace_extension(default_ext); + return filename.string(); + } catch (std::runtime_error &err) { + throw Slic3r::PlaceholderParserError(L("Failed processing of the filename_format template.") + "\n" + err.what()); +diff '--color=auto' -urN OrcaSlicer-2.0.0.orig/src/libslic3r/Utils.hpp OrcaSlicer-2.0.0/src/libslic3r/Utils.hpp +--- OrcaSlicer-2.0.0.orig/src/libslic3r/Utils.hpp 2024-03-30 03:10:30.000000000 +0100 ++++ OrcaSlicer-2.0.0/src/libslic3r/Utils.hpp 2024-06-26 12:48:46.302368118 +0200 +@@ -15,7 +15,10 @@ + + #include + #include ++#include + #include ++#include ++#include + #include + #include "boost/date_time/posix_time/ptime.hpp" + +diff '--color=auto' -urN OrcaSlicer-2.0.0.orig/src/slic3r/Config/Version.cpp OrcaSlicer-2.0.0/src/slic3r/Config/Version.cpp +--- OrcaSlicer-2.0.0.orig/src/slic3r/Config/Version.cpp 2024-03-30 03:10:30.000000000 +0100 ++++ OrcaSlicer-2.0.0/src/slic3r/Config/Version.cpp 2024-06-26 12:47:29.755499011 +0200 +@@ -3,6 +3,7 @@ + #include + + #include ++#include + #include + + #include "libslic3r/libslic3r.h" +diff '--color=auto' -urN OrcaSlicer-2.0.0.orig/src/slic3r/GUI/AuxiliaryDataViewModel.cpp OrcaSlicer-2.0.0/src/slic3r/GUI/AuxiliaryDataViewModel.cpp +--- OrcaSlicer-2.0.0.orig/src/slic3r/GUI/AuxiliaryDataViewModel.cpp 2024-03-30 03:10:30.000000000 +0100 ++++ OrcaSlicer-2.0.0/src/slic3r/GUI/AuxiliaryDataViewModel.cpp 2024-06-26 12:47:29.758832352 +0200 +@@ -337,7 +337,7 @@ + dir_path += "\\" + src_bfs_path.filename().generic_wstring(); + + boost::system::error_code ec; +- if (!fs::copy_file(src_bfs_path, fs::path(dir_path.ToStdWstring()), fs::copy_option::overwrite_if_exists, ec)) ++ if (!fs::copy_file(src_bfs_path, fs::path(dir_path.ToStdWstring()), fs::copy_options::overwrite_existing, ec)) + continue; + + // Update model data +diff '--color=auto' -urN OrcaSlicer-2.0.0.orig/src/slic3r/GUI/HttpServer.hpp OrcaSlicer-2.0.0/src/slic3r/GUI/HttpServer.hpp +--- OrcaSlicer-2.0.0.orig/src/slic3r/GUI/HttpServer.hpp 2024-03-30 03:10:30.000000000 +0100 ++++ OrcaSlicer-2.0.0/src/slic3r/GUI/HttpServer.hpp 2024-06-26 12:47:29.758832352 +0200 +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + #include + #include + +diff '--color=auto' -urN OrcaSlicer-2.0.0.orig/src/slic3r/GUI/Jobs/OAuthJob.cpp OrcaSlicer-2.0.0/src/slic3r/GUI/Jobs/OAuthJob.cpp +--- OrcaSlicer-2.0.0.orig/src/slic3r/GUI/Jobs/OAuthJob.cpp 2024-03-30 03:10:30.000000000 +0100 ++++ OrcaSlicer-2.0.0/src/slic3r/GUI/Jobs/OAuthJob.cpp 2024-06-26 12:47:29.758832352 +0200 +@@ -40,7 +40,7 @@ + + // Setup auth server to receive OAuth code from callback url + local_authorization_server.set_request_handler([this, queue](const std::string& url) -> std::shared_ptr { +- if (boost::contains(url, "/callback")) { ++ if (boost::algorithm::contains(url, "/callback")) { + const auto code = url_get_param(url, "code"); + const auto state = url_get_param(url, "state"); + +diff '--color=auto' -urN OrcaSlicer-2.0.0.orig/src/slic3r/GUI/Jobs/OAuthJob.hpp OrcaSlicer-2.0.0/src/slic3r/GUI/Jobs/OAuthJob.hpp +--- OrcaSlicer-2.0.0.orig/src/slic3r/GUI/Jobs/OAuthJob.hpp 2024-03-30 03:10:30.000000000 +0100 ++++ OrcaSlicer-2.0.0/src/slic3r/GUI/Jobs/OAuthJob.hpp 2024-06-26 12:47:29.758832352 +0200 +@@ -3,6 +3,7 @@ + + #include "Job.hpp" + #include "slic3r/GUI/HttpServer.hpp" ++#include + + namespace Slic3r { + namespace GUI { +diff '--color=auto' -urN OrcaSlicer-2.0.0.orig/src/slic3r/GUI/OAuthDialog.hpp OrcaSlicer-2.0.0/src/slic3r/GUI/OAuthDialog.hpp +--- OrcaSlicer-2.0.0.orig/src/slic3r/GUI/OAuthDialog.hpp 2024-03-30 03:10:30.000000000 +0100 ++++ OrcaSlicer-2.0.0/src/slic3r/GUI/OAuthDialog.hpp 2024-06-26 12:47:29.758832352 +0200 +@@ -4,6 +4,7 @@ + #include "GUI_Utils.hpp" + #include "Jobs/OAuthJob.hpp" + #include "Jobs/Worker.hpp" ++#include + + namespace Slic3r { + namespace GUI { +diff '--color=auto' -urN OrcaSlicer-2.0.0.orig/src/slic3r/GUI/RemovableDriveManager.cpp OrcaSlicer-2.0.0/src/slic3r/GUI/RemovableDriveManager.cpp +--- OrcaSlicer-2.0.0.orig/src/slic3r/GUI/RemovableDriveManager.cpp 2024-03-30 03:10:30.000000000 +0100 ++++ OrcaSlicer-2.0.0/src/slic3r/GUI/RemovableDriveManager.cpp 2024-06-26 12:47:29.758832352 +0200 +@@ -21,8 +21,8 @@ + #include + #include + #include ++#include + #include +-#include + #include + #endif + +@@ -202,7 +202,7 @@ + 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/orcaslicer/metadata.xml b/media-gfx/orcaslicer/metadata.xml new file mode 100644 index 0000000..b6350ac --- /dev/null +++ b/media-gfx/orcaslicer/metadata.xml @@ -0,0 +1,12 @@ + + + + + 3dprint@gentoo.org + Gentoo 3D Printer Project + + + https://github.com/SoftFever/OrcaSlicer + SoftFever/OrcaSlicer + + diff --git a/media-gfx/orcaslicer/orcaslicer-2.0.0.ebuild b/media-gfx/orcaslicer/orcaslicer-2.0.0.ebuild new file mode 100644 index 0000000..68e13b6 --- /dev/null +++ b/media-gfx/orcaslicer/orcaslicer-2.0.0.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WX_GTK_VER="3.2-gtk3" +MY_PN="OrcaSlicer" +#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/SoftFever/OrcaSlicer/tree/main" +SRC_URI=" + https://github.com/SoftFever/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.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/glfw-3 + 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}/${P}-boost.patch" + "${FILESDIR}/${P}-additional-imports-fixes.patch" +) +# "${FILESDIR}/${P}-cereal.patch" +# "${FILESDIR}/${P}-dont-install-angelscript.patch" +# "${FILESDIR}/${P}-missing-includes-fix.patch" +# "${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-compilation-error-gnu17.patch" +# "${FILESDIR}/${P}-libnest2d-link-xcb.patch" +# "${FILESDIR}/${P}-boost-replace-load-string-file.patch" +#) +# "${FILESDIR}/${P}-gcodeviewer-symlink-fix.patch" +# "${FILESDIR}/${P}-fix-dereferencing-in-std-unique_ptr-to-nullptr.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 + -DORCA_TOOLS=ON + -Wno-dev + ) +# -DSLIC3R_WX_STABLE=ON + + 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/Manifest b/media-gfx/superslicer/Manifest index 123803e..24a711b 100644 --- a/media-gfx/superslicer/Manifest +++ b/media-gfx/superslicer/Manifest @@ -1,4 +1,18 @@ -DIST superslicer-2.5.59.11-profiles.tar.gz 17931886 BLAKE2B 953a777dd12971c355a5f48148d4c3831b9435cf08f1baecb32ff0ef6245678f81c53bf5078cc4d6d04642e9ee18e1023d5d1578ebdf1384c7c1ce44a1153c50 SHA512 2e4561de7c57308a91c8964c8a957bc10c5e4cedc47c5fc37633bbcf78e3576ed1eaa6d7126485e94eb0aa593940c73a460f3d5ad65f33001d32953caa2fb4e1 -DIST superslicer-2.5.59.11.tar.gz 46037737 BLAKE2B e7f2e7aadeb40936bae7968e85bc57224b11a12fe10e3e6cc02c0e85f39a725374fbacfe6d5db0b6a6b753daaefe4aadb912e7db553d3c3030484c607f9e1547 SHA512 f40a0acb19e70db112de86acb2d9bfbec1cf893cc5939c49974d0295fbbb7f0a8bdb8c15a039cfc9f187866605d0394cea69bbdeba36841d26687680f4f8b6e2 -EBUILD superslicer-2.5.59.11.ebuild 2642 BLAKE2B 3c54738bf511ea2c36470d4caa08728a609852518d4062e0926838266890329810d9ddace085cee56f668e4935be8bbc840527f8ab28cd8bd467f62b8962052c SHA512 b9a10f8d95397fbf18586c2d68cb3f7b8c183d8d4a6529b29159dcb37059be5e1a20e06b15b031ee925eee045b4732a288175363f89b610e006b1b207c87e438 +AUX superslicer-2.5.59.12-additional-imports-fixes.patch 3266 BLAKE2B 9016a6baa5c97681b0caadbffb6b2a890f9f69083ccf6201e9945ca1b3ff3aebb04b4eab1b94bc2f69b6e21d212281e0a2d0aeaa26b3fc3ecc0afbaa2db845f1 SHA512 8ae0692cd708cb14e268f10740629c9a69fad5ddce1d2c11bc73cccceb4ec91a5a9dc508deb78743828ea366ef8924e149306ce3674c55074b86800cc25c575a +AUX superslicer-2.5.59.12-boost-replace-load-string-file.patch 1753 BLAKE2B 009f44faffbe83ea15d029e4f36bfe0182c13df1bd80c4732f3f9460046c5ac38a77bf8a6294c70931aaab55f95ca554838a8f17b8983ccd7bc9e1e6553bff67 SHA512 5b61c2de780b645237e5fa9018667d94e90cde3f1d5a6c6c29db96bede7cfd023f8ca272f0172b859914b6bec0fe5b4e6013512fff1a54b7975f1b2a93a42ef6 +AUX superslicer-2.5.59.12-boost.patch 14511 BLAKE2B e4a8edaa2cb7311468ea79f3790a395fe84646c73d5665dc0a4c230425096efe4defde2a1f1db00e54bf74606fc83a1d9f9c7bf13c3f8279821931cfa3ce1504 SHA512 13e2ede50f9c42311c13c04e282ac16310653a6058a1727fb3cea35c2634d56af02f1858f712850b5ea37993fb535311253872b48383b000c35c512589cf1889 +AUX superslicer-2.5.59.12-cereal.patch 1807 BLAKE2B 0ab8eb8e7f283e09e19c55d95bd6fe874797cc3d67f153a7c3920e1ff02e3b974c64f0dfc510b0cf3dde2484eeb00f550eab636e304bb6ba3c76b066bf537caf SHA512 503d3e8483315affb77f9bf9299e529455b73484cb278eda413a7e17f27f687b24158210b2fbf50581a970821930511934c994fa70c2ef8b68702f7614528d38 +AUX superslicer-2.5.59.12-dont-install-angelscript.patch 427 BLAKE2B 8f853d1c8c861bcb18e3272467c5a4ca745b67790d88be9943d4cf92f1f5dfdd3b4e022ba697c90997ead2c8ad77debf7ea96fc262a21caa2087cd7b62901bdb SHA512 c4a718ead714b9d2a22cff7e9a48846954f9606290ad533c0e491429b3455f43dee7a10a93a34f564e03e9e3b2eeef87d8276f6062d770f57afef27a7fbdb868 +AUX superslicer-2.5.59.12-fix-compilation-error-gnu17.patch 812 BLAKE2B b9348bfc8ba5b9c63e269b453d39f3b56de7b1c62f5dd8ad376a6fb0abe7c520cb13c3befdd18521f4abfe4cb1eccae574f9d80ae355236733b8f0e683db5a95 SHA512 bbb36ed9572f2422c69be356b8f62531f4dabe0d9a731dff0697a0358d6bc4846dbe854c4e044ca06ba0ee6f87c2f80cb137ecf27f59d11cff829791376c9508 +AUX superslicer-2.5.59.12-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch 5193 BLAKE2B fcd3b72d51a67dc1670526f7b40e10a1b364f59201724db2739ad85aa99ae5184c6491c7d825b75df608d30d407be4a0c39e5b023ae9a320c918bb0f1aec5ea5 SHA512 385b017212241c4daa678fa4f83ec11833f2aa17294a68d2a6ce60deafe03710dfa55f262072fe8ef96d06247a9c2dd55433091699b173c5b8c49c8f8ad1bf98 +AUX superslicer-2.5.59.12-gcodeviewer-symlink-fix.patch 686 BLAKE2B 869ba2516ecfb72cc59b50be5590ff07879b146dcec7b5b7e9cebd6d42d5bb011f353e89bf921b825392f4b0dbaa0cef5032f0a5a5b691e829ae7ad84e4e31a2 SHA512 5eb73e13d691e9b5a89a5f06181e7b8a5e13e7b26a9ce80b33618ab945aaaf2d7a29bf85aa4cf702212f33994ad28f19e11359ee29055175194e13173704f3ec +AUX superslicer-2.5.59.12-libnest2d-link-xcb.patch 678 BLAKE2B 7e6328a9058206d325c77a73d7621dffe3a92c187e9d27d8173e2f0f77211fba3a87421f3827124cfe819649afbba4e5767df6636bd0b70c84f12e785e5879a9 SHA512 d6152f9465e752e0f88bd69c4cfe0b39cbd6df05f27df7b98b174bf8100b93f69feb7ba00086f67b4962a3a544bd91dcafa24679286318f9abe5609454c2eb43 +AUX superslicer-2.5.59.12-link-occtwrapper-statically.patch 2916 BLAKE2B 9f28ba510235b20ad5cc8cd919bce00137b62ac1b64141ccaf0559f2e5d263b9c71539cc302a7e2ed046b3965aa5de36dff6131491a666fd90275bbbee95f450 SHA512 b49f2db32814c1bc467751f6d1b73bf22bba75e37b84b42bb0b8f42b5aa712a30cc9bb70f2210abed124509ca3d037e2450700a82d0994e8c3e4bafe498c6dc9 +AUX superslicer-2.5.59.12-missing-includes-fix.patch 3819 BLAKE2B 6c2fc6fad3e91ff68d4c307f19ea7641934063a75384881fb65948869a8209dfdce79086a7fb8f5348f15f40190f90424141c0ee5e6d23f636ea05a18a06bdfa SHA512 3554e5196444463a711dcc705b03a410f84e2f1f0571d7ed014ee1b7e58801979752bae5713fb93c53fd547bfdce78cad9f206bbd93e8d0dca3a74977b137c33 +AUX superslicer-2.5.59.12-openexr3.patch 2357 BLAKE2B 0d8c889817aaa7ddcdfd9ee434a668ce56b8c6906d61e73f118d8d37ef6a86d1315191956316e7d459629a9e60291ff86f0915bc5a877722ff99f8ce55af0351 SHA512 d3516333ce841b75c4da4f178e6e099b18fe64254484c286ad5b71d284407aa2e9cd4187b4c192b7ff3557170c0cee818d252b1c11e6b09263f9c2dc216e8aeb +AUX superslicer-2.5.59.12-relax-OpenCASCADE-dep.patch 384 BLAKE2B 25be6671e091d04dca0896448786d90a36e4b6ae5c9b31c8a249aa226788f338f0e40c9a8f849e7a731ce0ba1e5e531dd314138d6c5295d64067cecd9e0be6de SHA512 57a42c6936b369ebadcefb91da32125d265a763f073d7e8d0209a87481c057066848799bac998a83ab4aacdbe4da01fa4d721794d982d52d2f5cda1df59d47b5 +AUX superslicer-2.5.59.12-wxgtk3-wayland-fix.patch 485 BLAKE2B 4bd5634f39ba6132bb4216807fef254a88f07f5eb1162de12589c22b038c2876185a801ed481738d9fbbb04796952d304f17010fd61eb347213b649b13f3064d SHA512 4867192b069829ff0fd3d2bf86e2117979e505f4764223f7d0b874c15fad9cffca58d8e55a518a56cf156fee2187040115866a10e92aa903e87dc6ec909d0339 +DIST superslicer-2.5.59.12-profiles.tar.gz 17931886 BLAKE2B 953a777dd12971c355a5f48148d4c3831b9435cf08f1baecb32ff0ef6245678f81c53bf5078cc4d6d04642e9ee18e1023d5d1578ebdf1384c7c1ce44a1153c50 SHA512 2e4561de7c57308a91c8964c8a957bc10c5e4cedc47c5fc37633bbcf78e3576ed1eaa6d7126485e94eb0aa593940c73a460f3d5ad65f33001d32953caa2fb4e1 +DIST superslicer-2.5.59.12.tar.gz 46041538 BLAKE2B c0a94de865f22d5f953c724bb751088ba3d31e17a7d3721b04591b895d265e489251705dee5dd72691e1fdb59b2575c6f9d88cc979a17369785ef4bffeb62056 SHA512 2a482628f59f597853ca14d2c603e2919b412296165aa501f052da8fa2be5f69a54570fd9c582961c7009f423c2128ba91a28628cf0056eefe11661345b1805a +EBUILD superslicer-2.5.59.12.ebuild 2645 BLAKE2B 5a8e7b01c5bac6da120484f7e1d5b0081e63c33ca19c65b49efb374bf001323a1db6f187ef40d9db6b26fc1c5f4a820f862a2474367bb3ebd8f23ae2be802f85 SHA512 761d0a220e7cdb3fe758e7ab833258c9c55f0e0fe51bc02b50659637975aea0e1e92ffbb5f2f275c8850e1d1d01d4b605af1466f708ae3a5eacab04c2a7ee89e MISC metadata.xml 413 BLAKE2B a43550366844e53b0ebed37197d33bf38efb555eee344f053f90e35e939263e3959301fdd072d5b6925d1e3e0d1fd629e2f459356e2f227006f8784a4364fc11 SHA512 8e1abc223f2e24cca551b08cbc37910f2a43319fce7299e52dd586dd6454c83e98e59b8d14c18613c8894fdca33d04297affa2da1f4aa001a5e200e4b5f2c331 diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.12-additional-imports-fixes.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-additional-imports-fixes.patch new file mode 100644 index 0000000..1ccef80 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-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 + + 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 + #endif + #include ++#include + #include + #include + #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 + #include ++#include + #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 + #include + ++#include + #include + #include + #include +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 ++#include + + 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 ++#include ++#include "libslic3r/Config.hpp" ++#include ++#include ++#include ++#include + + #ifdef __APPLE__ + #include +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 + */ ++#include + + + 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 + #include + #include ++#include + //#include + + namespace pt = boost::property_tree; + + #include ++#include + + #include + #include diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.12-boost-replace-load-string-file.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-boost-replace-load-string-file.patch new file mode 100644 index 0000000..9b948ed --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-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 + #include + ++#include ++ + #include + #include + #include +@@ -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(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.12-boost.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-boost.patch new file mode 100644 index 0000000..a76ccc4 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-boost.patch @@ -0,0 +1,302 @@ +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/hints/HintsToPot.cpp SuperSlicer-2.5.59.12/src/hints/HintsToPot.cpp +--- SuperSlicer-2.5.59.12.orig/src/hints/HintsToPot.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/hints/HintsToPot.cpp 2024-06-20 19:29:16.076450396 +0200 +@@ -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 '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/AppConfig.cpp SuperSlicer-2.5.59.12/src/libslic3r/AppConfig.cpp +--- SuperSlicer-2.5.59.12.orig/src/libslic3r/AppConfig.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/libslic3r/AppConfig.cpp 2024-06-20 19:29:16.076450396 +0200 +@@ -1,5 +1,6 @@ + #include "AppConfig.hpp" + ++#include + #include "libslic3r.h" + #include "format.hpp" + #include "Exception.hpp" +@@ -15,6 +16,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/AppConfig.hpp SuperSlicer-2.5.59.12/src/libslic3r/AppConfig.hpp +--- SuperSlicer-2.5.59.12.orig/src/libslic3r/AppConfig.hpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/libslic3r/AppConfig.hpp 2024-06-20 19:29:16.076450396 +0200 +@@ -5,6 +5,7 @@ + #include + #include + ++#include + #include + #include + +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/LocalesUtils.cpp SuperSlicer-2.5.59.12/src/libslic3r/LocalesUtils.cpp +--- SuperSlicer-2.5.59.12.orig/src/libslic3r/LocalesUtils.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/libslic3r/LocalesUtils.cpp 2024-06-20 19:29:16.076450396 +0200 +@@ -1,3 +1,4 @@ ++#include + #include "LocalesUtils.hpp" + + #ifdef _WIN32 +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/Preset.cpp SuperSlicer-2.5.59.12/src/libslic3r/Preset.cpp +--- SuperSlicer-2.5.59.12.orig/src/libslic3r/Preset.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/libslic3r/Preset.cpp 2024-06-20 19:29:16.076450396 +0200 +@@ -84,7 +84,7 @@ + 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 '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/Utils.hpp SuperSlicer-2.5.59.12/src/libslic3r/Utils.hpp +--- SuperSlicer-2.5.59.12.orig/src/libslic3r/Utils.hpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/libslic3r/Utils.hpp 2024-06-20 19:29:16.076450396 +0200 +@@ -7,6 +7,7 @@ + #include + #include + ++#include + #include + #include + +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/CreateMMUTiledCanvas.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/CreateMMUTiledCanvas.cpp +--- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/CreateMMUTiledCanvas.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/slic3r/GUI/CreateMMUTiledCanvas.cpp 2024-06-20 19:29:16.076450396 +0200 +@@ -18,6 +18,11 @@ + #include + #include "Notebook.hpp" + ++#include ++#include ++#include ++#include ++ + #include "MainFrame.hpp" + #include "wxExtensions.hpp" + +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/DesktopIntegrationDialog.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/DesktopIntegrationDialog.cpp +--- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/DesktopIntegrationDialog.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/slic3r/GUI/DesktopIntegrationDialog.cpp 2024-06-20 19:29:16.076450396 +0200 +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -503,4 +504,4 @@ + + } // namespace GUI + } // namespace Slic3r +-#endif // __linux__ +\ Kein Zeilenumbruch am Dateiende. ++#endif // __linux__ +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/FreeCADDialog.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/FreeCADDialog.cpp +--- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/FreeCADDialog.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/slic3r/GUI/FreeCADDialog.cpp 2024-06-20 19:29:16.076450396 +0200 +@@ -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 @@ + 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 @@ + 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 '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/GUI_App.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/GUI_App.cpp +--- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/GUI_App.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/slic3r/GUI/GUI_App.cpp 2024-06-20 19:29:16.076450396 +0200 +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + + #include + #include +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/HintNotification.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/HintNotification.cpp +--- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/HintNotification.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/slic3r/GUI/HintNotification.cpp 2024-06-20 19:29:16.076450396 +0200 +@@ -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 @@ + + 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 @@ + 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 '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/Preferences.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/Preferences.cpp +--- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/Preferences.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/slic3r/GUI/Preferences.cpp 2024-06-20 19:29:16.076450396 +0200 +@@ -12,6 +12,7 @@ + #include "wxExtensions.hpp" + + #include ++#include + #include + #include + +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/PrintHostDialogs.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/PrintHostDialogs.cpp +--- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/PrintHostDialogs.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/slic3r/GUI/PrintHostDialogs.cpp 2024-06-20 19:29:16.079783739 +0200 +@@ -81,8 +81,8 @@ + 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 @@ + + 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 @@ + 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 @@ + // 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 '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/RemovableDriveManager.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/RemovableDriveManager.cpp +--- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/RemovableDriveManager.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/slic3r/GUI/RemovableDriveManager.cpp 2024-06-20 19:31:37.636759560 +0200 +@@ -22,7 +22,7 @@ + #include + #include + #include +-#include ++#include + #include + #endif + +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/ScriptExecutor.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/ScriptExecutor.cpp +--- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/ScriptExecutor.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/slic3r/GUI/ScriptExecutor.cpp 2024-06-20 19:29:16.079783739 +0200 +@@ -2,6 +2,12 @@ + + #include "libslic3r/PresetBundle.hpp" + #include "libslic3r/Print.hpp" ++#include ++#include ++#include ++#include ++#include ++#include + + #include "GUI_App.hpp" + #include "Plater.hpp" +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/Tab.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/Tab.cpp +--- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/Tab.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/slic3r/GUI/Tab.cpp 2024-06-20 19:29:16.079783739 +0200 +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + #include + + #include +@@ -1775,7 +1776,7 @@ + + //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 '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/Utils/Http.cpp SuperSlicer-2.5.59.12/src/slic3r/Utils/Http.cpp +--- SuperSlicer-2.5.59.12.orig/src/slic3r/Utils/Http.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/slic3r/Utils/Http.cpp 2024-06-20 19:29:16.079783739 +0200 +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + + #include + +@@ -52,7 +53,7 @@ + % 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.12-cereal.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-cereal.patch new file mode 100644 index 0000000..2013e08 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-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.12-dont-install-angelscript.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-dont-install-angelscript.patch new file mode 100644 index 0000000..f8e89fc --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-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.12-fix-compilation-error-gnu17.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-fix-compilation-error-gnu17.patch new file mode 100644 index 0000000..5574340 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-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.12-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch new file mode 100644 index 0000000..4e93fca --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-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(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(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(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(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(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(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(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(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(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(slic3r_tbb_filtermode::serial_in_order, + [&output_stream](std::string s) { diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.12-gcodeviewer-symlink-fix.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-gcodeviewer-symlink-fix.patch new file mode 100644 index 0000000..2fc6ca2 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-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.12-libnest2d-link-xcb.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-libnest2d-link-xcb.patch new file mode 100644 index 0000000..441f647 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-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/files/superslicer-2.5.59.12-link-occtwrapper-statically.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-link-occtwrapper-statically.patch new file mode 100644 index 0000000..bb5b51f --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-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(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/files/superslicer-2.5.59.12-missing-includes-fix.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-missing-includes-fix.patch new file mode 100644 index 0000000..671d46a --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-missing-includes-fix.patch @@ -0,0 +1,90 @@ +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/CustomGCode.hpp SuperSlicer-2.5.59.12/src/libslic3r/CustomGCode.hpp +--- SuperSlicer-2.5.59.12.orig/src/libslic3r/CustomGCode.hpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/libslic3r/CustomGCode.hpp 2024-06-19 12:34:19.590033501 +0200 +@@ -3,6 +3,7 @@ + + #include + #include ++#include + + namespace Slic3r { + +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/ExtrusionEntity.hpp SuperSlicer-2.5.59.12/src/libslic3r/ExtrusionEntity.hpp +--- SuperSlicer-2.5.59.12.orig/src/libslic3r/ExtrusionEntity.hpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/libslic3r/ExtrusionEntity.hpp 2024-06-19 12:34:19.590033501 +0200 +@@ -9,6 +9,8 @@ + #include + #include + ++#include "Config.hpp" ++ + namespace Slic3r { + + class ExPolygonCollection; +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/Geometry/ArcFitter.cpp SuperSlicer-2.5.59.12/src/libslic3r/Geometry/ArcFitter.cpp +--- SuperSlicer-2.5.59.12.orig/src/libslic3r/Geometry/ArcFitter.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/libslic3r/Geometry/ArcFitter.cpp 2024-06-19 12:34:19.590033501 +0200 +@@ -3,6 +3,7 @@ + + #include + #include ++#include "Polyline.hpp" + + namespace Slic3r { namespace Geometry { + +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/PerimeterGenerator.hpp SuperSlicer-2.5.59.12/src/libslic3r/PerimeterGenerator.hpp +--- SuperSlicer-2.5.59.12.orig/src/libslic3r/PerimeterGenerator.hpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/libslic3r/PerimeterGenerator.hpp 2024-06-19 12:34:19.593366846 +0200 +@@ -1,6 +1,7 @@ + #ifndef slic3r_PerimeterGenerator_hpp_ + #define slic3r_PerimeterGenerator_hpp_ + ++#include "ClipperUtils.hpp" + #include "libslic3r.h" + #include + #include "ExPolygonCollection.hpp" +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/PNGReadWrite.hpp SuperSlicer-2.5.59.12/src/libslic3r/PNGReadWrite.hpp +--- SuperSlicer-2.5.59.12.orig/src/libslic3r/PNGReadWrite.hpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/libslic3r/PNGReadWrite.hpp 2024-06-19 12:34:19.590033501 +0200 +@@ -2,6 +2,7 @@ + #define PNGREAD_HPP + + #include ++#include + #include + #include + +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/Print.cpp SuperSlicer-2.5.59.12/src/libslic3r/Print.cpp +--- SuperSlicer-2.5.59.12.orig/src/libslic3r/Print.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/libslic3r/Print.cpp 2024-06-19 12:34:19.593366846 +0200 +@@ -18,6 +18,8 @@ + #include "Utils.hpp" + #include "BuildVolume.hpp" + ++#include ++ + #include + + #include +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/BitmapCache.hpp SuperSlicer-2.5.59.12/src/slic3r/GUI/BitmapCache.hpp +--- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/BitmapCache.hpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/slic3r/GUI/BitmapCache.hpp 2024-06-19 12:34:19.593366846 +0200 +@@ -3,6 +3,7 @@ + + #include + #include ++#include + + #include + #ifndef WX_PRECOMP +diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/CreateMMUTiledCanvas.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/CreateMMUTiledCanvas.cpp +--- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/CreateMMUTiledCanvas.cpp 2024-06-12 00:43:03.000000000 +0200 ++++ SuperSlicer-2.5.59.12/src/slic3r/GUI/CreateMMUTiledCanvas.cpp 2024-06-19 12:34:19.593366846 +0200 +@@ -36,6 +36,7 @@ + #include + #include + #include ++#include + #include "wxExtensions.hpp" + + #include diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.12-openexr3.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-openexr3.patch new file mode 100644 index 0000000..7bd04e6 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-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.12-relax-OpenCASCADE-dep.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-relax-OpenCASCADE-dep.patch new file mode 100644 index 0000000..1ea699e --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-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.12-wxgtk3-wayland-fix.patch b/media-gfx/superslicer/files/superslicer-2.5.59.12-wxgtk3-wayland-fix.patch new file mode 100644 index 0000000..6111a25 --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.12-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.11.ebuild b/media-gfx/superslicer/superslicer-2.5.59.12.ebuild similarity index 92% rename from media-gfx/superslicer/superslicer-2.5.59.11.ebuild rename to media-gfx/superslicer/superslicer-2.5.59.12.ebuild index 1889412..687eb40 100644 --- a/media-gfx/superslicer/superslicer-2.5.59.11.ebuild +++ b/media-gfx/superslicer/superslicer-2.5.59.12.ebuild @@ -3,7 +3,7 @@ EAPI=8 -WX_GTK_VER="3.0-gtk3" +WX_GTK_VER="3.2-gtk3" MY_PN="SuperSlicer" SLICER_PROFILES_COMMIT="8f3bb94a9c60be9a3b40d88a36ff05ba5cf2d6a8" @@ -58,18 +58,18 @@ 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" "${FILESDIR}/${P}-link-occtwrapper-statically.patch" - "${FILESDIR}/${P}-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" ) +# "${FILESDIR}/${P}-gcodeviewer-symlink-fix.patch" +# "${FILESDIR}/${P}-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch" +# "${FILESDIR}/${P}-additional-imports-fixes.patch" S="${WORKDIR}/${MY_PN}-${PV}"