commit:     2d3635b05d63dd83c51b18be613effb415f549ff
Author:     Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
AuthorDate: Mon May  9 08:42:53 2022 +0000
Commit:     Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
CommitDate: Mon May  9 08:44:49 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d3635b0

media-gfx/prusaslicer: 20220506 snapshot with Boost 1.79.0 patch.

Bug: https://github.com/prusa3d/PrusaSlicer/issues/8302
Fixes: https://bugs.gentoo.org/843284
Signed-off-by: Piotr Karbowski <slashbeast <AT> gentoo.org>

 media-gfx/prusaslicer/Manifest                     |  1 +
 .../files/prusaslicer-boost-1.79.0-fixes.patch     | 52 ++++++++++++++
 .../prusaslicer/prusaslicer-2.4.2_p20220506.ebuild | 80 ++++++++++++++++++++++
 3 files changed, 133 insertions(+)

diff --git a/media-gfx/prusaslicer/Manifest b/media-gfx/prusaslicer/Manifest
index 7244483c429b..3066ed61a1a7 100644
--- a/media-gfx/prusaslicer/Manifest
+++ b/media-gfx/prusaslicer/Manifest
@@ -1,3 +1,4 @@
 DIST prusaslicer-2.4.0.tar.gz 46397442 BLAKE2B 
686232fddd3e2105db1325ab085b49f6f7a028a24ab90120daf94c53255f09b19411e0ff075bfe7abff138d3c276e8b5341ff6d59e267087bcd4568ac1113c47
 SHA512 
e923e4e6273dbcfc3e2bc0e28f9eb8cda8530747c0a834f48aea715d75ba1d02be9cfee043689efccdaee40de00114f7964e43accad245b9acd801b997868e3c
 DIST prusaslicer-2.4.1.tar.gz 55572739 BLAKE2B 
8c6030560926e53c780847e7b8a0582055b59c6b8355a2bfff19552d730cc31fc929437aa6ed93fd38d024699129bd550a1b250523387658117d1f2764cfd2b7
 SHA512 
895388ec39e46e30ea7bdecba42793e898ceb6c6b331dad815a726ed2f7e2e8719c71c32c6ce7fff1781fa06aac8e9afb615784d3b2001bd0d6e24ba23f0866a
 DIST prusaslicer-2.4.2.tar.gz 47752224 BLAKE2B 
27b00b766890f8675246eded75c51a671832a3abf518adf7b825dbe8396cbfd2d4b48f76d646675634af49ddbe4cd48ea8e533d66a131d14bff4e76bdd357545
 SHA512 
d480c608eadb58b53ee220317a749c0363db580759322ed7a9aebe2ea5c1acc30dbd3bdf9ed9849c23ba5c125ee6f923de6ac01987bf85abf7aeb3f91c2ae23f
+DIST prusaslicer-2.4.2_p20220506.tar.xz 29109336 BLAKE2B 
c8430b355a3d161c1aa9ab421edf1f291a7898d4fd2831fe924dc2d742bdb611d58d4e9f581c00fc37f18b6c54df2d82ca063091958ccb0859254014972a9477
 SHA512 
bf525e12fbc5a471fc28ffa048ec8628de892bfc7e65cb708266ef5d05692cf9c0755eae879b8fad0572d6af7368e2c251361941157ab2c9be73cb38c8962f72

diff --git a/media-gfx/prusaslicer/files/prusaslicer-boost-1.79.0-fixes.patch 
b/media-gfx/prusaslicer/files/prusaslicer-boost-1.79.0-fixes.patch
new file mode 100644
index 000000000000..1026d1263552
--- /dev/null
+++ b/media-gfx/prusaslicer/files/prusaslicer-boost-1.79.0-fixes.patch
@@ -0,0 +1,52 @@
+diff --git a/src/slic3r/GUI/DesktopIntegrationDialog.cpp 
b/src/slic3r/GUI/DesktopIntegrationDialog.cpp
+index 81c681bc3..7f99a505c 100644
+--- a/src/slic3r/GUI/DesktopIntegrationDialog.cpp
++++ b/src/slic3r/GUI/DesktopIntegrationDialog.cpp
+@@ -10,6 +10,7 @@
+ #include "libslic3r/Platform.hpp"
+ #include "libslic3r/Config.hpp"
+ 
++#include <boost/nowide/fstream.hpp>
+ #include <boost/filesystem.hpp>
+ #include <boost/log/trivial.hpp>
+ #include <boost/dll/runtime_symbol_info.hpp>
+@@ -503,4 +504,4 @@ DesktopIntegrationDialog::~DesktopIntegrationDialog()
+ 
+ } // namespace GUI
+ } // namespace Slic3r
+-#endif // __linux__
+\ No newline at end of file
++#endif // __linux__
+diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp
+index 8533854f4..4435f836b 100644
+--- a/src/slic3r/GUI/GUI_App.cpp
++++ b/src/slic3r/GUI/GUI_App.cpp
+@@ -13,6 +13,7 @@
+ #include <cstdlib>
+ #include <regex>
+ #include <string_view>
++#include <boost/nowide/fstream.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+ #include <boost/algorithm/string.hpp>
+ #include <boost/format.hpp>
+diff --git a/src/slic3r/Utils/AppUpdater.cpp b/src/slic3r/Utils/AppUpdater.cpp
+index 60739ccb3..80f31f69f 100644
+--- a/src/slic3r/Utils/AppUpdater.cpp
++++ b/src/slic3r/Utils/AppUpdater.cpp
+@@ -5,6 +5,7 @@
+ 
+ #include <boost/filesystem.hpp>
+ #include <boost/log/trivial.hpp>
++#include <boost/nowide/fstream.hpp>
+ #include <boost/nowide/convert.hpp>
+ #include <boost/property_tree/ini_parser.hpp> 
+ #include <curl/curl.h>
+@@ -242,7 +243,7 @@ boost::filesystem::path 
AppUpdater::priv::download_file(const DownloadAppData& d
+                       tmp_path += format(".%1%%2%", get_current_pid(), 
".download");
+                       try
+                       {
+-                              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, dest_path);

diff --git a/media-gfx/prusaslicer/prusaslicer-2.4.2_p20220506.ebuild 
b/media-gfx/prusaslicer/prusaslicer-2.4.2_p20220506.ebuild
new file mode 100644
index 000000000000..26052c4ee910
--- /dev/null
+++ b/media-gfx/prusaslicer/prusaslicer-2.4.2_p20220506.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.0-gtk3"
+
+inherit cmake desktop wxwidgets xdg
+
+DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication 
(3D printers)"
+HOMEPAGE="https://www.prusa3d.com/prusaslicer/";
+SRC_URI="https://dev.gentoo.org/~slashbeast/distfiles/${PN}/${P}.tar.xz";
+
+LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       dev-cpp/eigen:3
+       >=dev-cpp/tbb-2021.4.0:=
+       >=dev-libs/boost-1.73.0:=[nls,threads(+)]
+       dev-libs/cereal
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/gmp:=
+       dev-libs/mpfr:=
+       dev-libs/imath:=
+       >=media-gfx/openvdb-8.2:=
+       net-misc/curl
+       media-libs/glew:0=
+       media-libs/libpng:0=
+       media-libs/qhull:=
+       sci-libs/libigl
+       sci-libs/nlopt
+       >=sci-mathematics/cgal-5.0:=
+       sys-apps/dbus
+       sys-libs/zlib:=
+       virtual/glu
+       virtual/opengl
+       x11-libs/gtk+:3
+       x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+"
+DEPEND="${RDEPEND}
+       media-libs/qhull[static-libs]
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-boost-1.79.0-fixes.patch
+)
+
+S="${WORKDIR}"
+
+src_prepare() {
+       sed -i -e 
's/PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN/PrusaSlicer-${SLIC3R_VERSION}+Gentoo/g'
 version.inc || die
+       cmake_src_prepare
+}
+
+src_configure() {
+       CMAKE_BUILD_TYPE="Release"
+
+       setup-wxwidgets
+
+       local mycmakeargs=(
+               -DOPENVDB_FIND_MODULE_PATH="/usr/$(get_libdir)/cmake/OpenVDB"
+
+               -DSLIC3R_BUILD_TESTS=$(usex test)
+               -DSLIC3R_FHS=ON
+               -DSLIC3R_GTK=3
+               -DSLIC3R_GUI=ON
+               -DSLIC3R_PCH=OFF
+               -DSLIC3R_STATIC=OFF
+               -DSLIC3R_WX_STABLE=ON
+               -Wno-dev
+       )
+
+       cmake_src_configure
+}

Reply via email to