guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/03: gnu: prusa-slicer: Update to 2.5.2.


From: guix-commits
Subject: 03/03: gnu: prusa-slicer: Update to 2.5.2.
Date: Sat, 22 Apr 2023 06:58:35 -0400 (EDT)

glv pushed a commit to branch core-updates
in repository guix.

commit 5569971659ff988c27ea868756e7da935f42dea5
Author: Guillaume Le Vaillant <glv@posteo.net>
AuthorDate: Sat Apr 22 12:24:32 2023 +0200

    gnu: prusa-slicer: Update to 2.5.2.
    
    * gnu/packages/patches/prusa-slicer-boost-fixes.patch: New file.
    * gnu/packages/patches/prusa-slicer-fix-tests.patch: New file.
    * gnu/packages/patches/prusa-slicer-with-cereal-1.3.1.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Register them.
    * gnu/packages/engineering.scm (prusa-slicer): Update to 2.5.2.
      [source]: Use patches.
      [inputs]: Replace cereal-1.3.0 by cereal.
---
 gnu/local.mk                                       |  3 +
 gnu/packages/engineering.scm                       |  9 +-
 .../patches/prusa-slicer-boost-fixes.patch         | 97 ++++++++++++++++++++++
 gnu/packages/patches/prusa-slicer-fix-tests.patch  | 17 ++++
 .../patches/prusa-slicer-with-cereal-1.3.1.patch   | 52 ++++++++++++
 5 files changed, 175 insertions(+), 3 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index f0d129b493..039e157df3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1661,6 +1661,9 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/pokerth-boost.patch                     \
   %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch           \
   %D%/packages/patches/procps-strtod-test.patch                 \
+  %D%/packages/patches/prusa-slicer-boost-fixes.patch          \
+  %D%/packages/patches/prusa-slicer-fix-tests.patch            \
+  %D%/packages/patches/prusa-slicer-with-cereal-1.3.1.patch    \
   %D%/packages/patches/pthreadpool-system-libraries.patch      \
   %D%/packages/patches/python-chai-drop-python2.patch          \
   %D%/packages/patches/python-feedparser-missing-import.patch  \
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 66f3769e68..44092e77c5 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3508,7 +3508,7 @@ visualization, matrix manipulation.")
 (define-public prusa-slicer
   (package
     (name "prusa-slicer")
-    (version "2.5.0")
+    (version "2.5.2")
     (source
      (origin
        (method git-fetch)
@@ -3517,7 +3517,10 @@ visualization, matrix manipulation.")
          (url "https://github.com/prusa3d/PrusaSlicer";)
          (commit (string-append "version_" version))))
        (file-name (git-file-name name version))
-       (sha256 (base32 "17ic92ww2ny0frxyv7ajwdwa0fq70ygq562ik8sh94jx67jvxdy0"))
+       (sha256 (base32 "02qcrw3fa0d8ldbp73hp14l1qxbp3f4608j4csc07ny00ra42151"))
+       (patches (search-patches "prusa-slicer-boost-fixes.patch"
+                                "prusa-slicer-fix-tests.patch"
+                                "prusa-slicer-with-cereal-1.3.1.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -3553,7 +3556,7 @@ visualization, matrix manipulation.")
      (list pkg-config))
     (inputs
      (list boost
-           cereal-1.3.0
+           cereal
            cgal
            curl
            dbus
diff --git a/gnu/packages/patches/prusa-slicer-boost-fixes.patch 
b/gnu/packages/patches/prusa-slicer-boost-fixes.patch
new file mode 100644
index 0000000000..5bca271625
--- /dev/null
+++ b/gnu/packages/patches/prusa-slicer-boost-fixes.patch
@@ -0,0 +1,97 @@
+Fixes for Boost compatibility.
+This patch comes from Gentoo:
+ portage/media-gfx/prusaslicer/files/prusaslicer-2.5.0_alpha2-boost-fixes.patch
+
+--- a/src/hints/HintsToPot.cpp
++++ b/src/hints/HintsToPot.cpp
+@@ -1,6 +1,7 @@
+ #include <iostream>
+ #include <vector>
+ #include <string>
++#include <boost/nowide/fstream.hpp>
+ #include <boost/filesystem.hpp>
+ #include <boost/dll.hpp>
+ #include <boost/property_tree/ini_parser.hpp>
+@@ -9,7 +10,7 @@
+ 
+ bool write_to_pot(boost::filesystem::path path, const 
std::vector<std::pair<std::string, std::string>>& data)
+ {
+-      boost::filesystem::ofstream file(std::move(path), std::ios_base::app);
++      boost::nowide::ofstream file(std::move(path), std::ios_base::app);
+       for (const auto& element : data)
+       {
+               //Example of .pot element 
+--- a/src/libslic3r/Preset.cpp
++++ b/src/libslic3r/Preset.cpp
+@@ -25,6 +25,7 @@
+ #include <stdexcept>
+ #include <unordered_map>
+ #include <boost/format.hpp>
++#include <boost/nowide/fstream.hpp>
+ #include <boost/filesystem.hpp>
+ #include <boost/filesystem/fstream.hpp>
+ #include <boost/algorithm/string.hpp>
+@@ -84,7 +85,7 @@ ConfigFileType guess_config_file_type(const ptree &tree)
+ VendorProfile VendorProfile::from_ini(const boost::filesystem::path &path, 
bool load_all)
+ {
+     ptree tree;
+-    boost::filesystem::ifstream ifs(path);
++    boost::nowide::ifstream ifs(path);
+     boost::property_tree::read_ini(ifs, tree);
+     return VendorProfile::from_ini(tree, path, load_all);
+ }
+--- 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__
+--- 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>
+--- a/src/slic3r/GUI/HintNotification.cpp
++++ b/src/slic3r/GUI/HintNotification.cpp
+@@ -15,6 +15,7 @@
+ #include "libslic3r/PrintConfig.hpp"
+ 
+ #include <boost/algorithm/string/replace.hpp>
++#include <boost/nowide/fstream.hpp>
+ #include <boost/filesystem.hpp>
+ #include <boost/nowide/fstream.hpp>
+ #include <boost/log/trivial.hpp>
+@@ -65,7 +66,7 @@ inline void push_style_color(ImGuiCol idx, const ImVec4& 
col, bool fading_out, f
+ 
+ void write_used_binary(const std::vector<std::string>& 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"), std::ios::binary);
+       cereal::BinaryOutputArchive archive(file);
+               HintsCerealData cd { ids };
+       try
+@@ -84,7 +85,7 @@ void read_used_binary(std::vector<std::string>& ids)
+               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);
+       cereal::BinaryInputArchive archive(file);
+       HintsCerealData cd;
+       try
diff --git a/gnu/packages/patches/prusa-slicer-fix-tests.patch 
b/gnu/packages/patches/prusa-slicer-fix-tests.patch
new file mode 100644
index 0000000000..da9a5307f9
--- /dev/null
+++ b/gnu/packages/patches/prusa-slicer-fix-tests.patch
@@ -0,0 +1,17 @@
+This patch comes from Gentoo:
+ portage/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-fix-tests.patch
+
+--- a/tests/fff_print/test_data.cpp
++++ b/tests/fff_print/test_data.cpp
+@@ -4,10 +4,9 @@
+ #include "libslic3r/GCodeReader.hpp"
+ #include "libslic3r/Config.hpp"
+ #include "libslic3r/Print.hpp"
+-#include "libslic3r/Format/OBJ.hpp"
+-#include "libslic3r/Format/STL.hpp"
+
+ #include <cstdlib>
++#include <fstream>
+ #include <string>
+
+ #include <boost/nowide/cstdio.hpp>
diff --git a/gnu/packages/patches/prusa-slicer-with-cereal-1.3.1.patch 
b/gnu/packages/patches/prusa-slicer-with-cereal-1.3.1.patch
new file mode 100644
index 0000000000..affa506b1c
--- /dev/null
+++ b/gnu/packages/patches/prusa-slicer-with-cereal-1.3.1.patch
@@ -0,0 +1,52 @@
+Fix for building with cereal>=1.3.1.
+This patch comes from Gentoo:
+ portage/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-cereal-1.3.1.patch
+
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -127,7 +127,7 @@
+     set_target_properties(PrusaSlicer PROPERTIES OUTPUT_NAME "prusa-slicer")
+ endif ()
+
+-target_link_libraries(PrusaSlicer libslic3r cereal)
++target_link_libraries(PrusaSlicer libslic3r libcereal)
+
+ if (APPLE)
+ #    add_compile_options(-stdlib=libc++)
+--- a/src/slic3r/CMakeLists.txt
++++ b/src/slic3r/CMakeLists.txt
+@@ -260,7 +260,7 @@
+
+ encoding_check(libslic3r_gui)
+
+-target_link_libraries(libslic3r_gui libslic3r avrdude cereal imgui GLEW::GLEW 
OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES})
++target_link_libraries(libslic3r_gui libslic3r avrdude libcereal imgui 
GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES})
+
+ if (MSVC)
+     target_link_libraries(libslic3r_gui Setupapi.lib)
+--- a/src/libslic3r/CMakeLists.txt
++++ b/src/libslic3r/CMakeLists.txt
+@@ -395,7 +395,7 @@
+ target_link_libraries(libslic3r
+     libnest2d
+     admesh
+-    cereal
++    libcereal
+     libigl
+     miniz
+     boost_libs
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -446,6 +446,12 @@
+
+ # Find the Cereal serialization library
+ find_package(cereal REQUIRED)
++add_library(libcereal INTERFACE)
++if (NOT TARGET cereal::cereal)
++    target_link_libraries(libcereal INTERFACE cereal)
++else()
++    target_link_libraries(libcereal INTERFACE cereal::cereal)
++endif()
+
+ # l10n
+ set(L10N_DIR "${SLIC3R_RESOURCES_DIR}/localization")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]