Compare commits
No commits in common. "rawhide" and "f31" have entirely different histories.
25
94212fa2a92b5d01be5da8235f02423249dd7b2a.patch
Normal file
25
94212fa2a92b5d01be5da8235f02423249dd7b2a.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From 94212fa2a92b5d01be5da8235f02423249dd7b2a Mon Sep 17 00:00:00 2001
|
||||||
|
From: bubnikv <bubnikv@gmail.com>
|
||||||
|
Date: Thu, 19 Sep 2019 08:56:47 +0200
|
||||||
|
Subject: [PATCH] Another fix of admesh on big endian architectures, fixes
|
||||||
|
#2879
|
||||||
|
|
||||||
|
---
|
||||||
|
src/admesh/stl_io.cpp | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/admesh/stl_io.cpp b/src/admesh/stl_io.cpp
|
||||||
|
index af9bb4f98..ddf377c78 100644
|
||||||
|
--- a/src/admesh/stl_io.cpp
|
||||||
|
+++ b/src/admesh/stl_io.cpp
|
||||||
|
@@ -151,8 +151,8 @@ bool stl_write_binary(stl_file *stl, const char *file, const char *label)
|
||||||
|
memcpy(buffer, &stl->stats.number_of_facets, 4);
|
||||||
|
stl_internal_reverse_quads(buffer, 4);
|
||||||
|
fwrite(buffer, 4, 1, fp);
|
||||||
|
- for (size_t i = 0; i < stl->stats.number_of_facets; ++ i) {
|
||||||
|
- memcpy(buffer, stl->facet_start + i, 50);
|
||||||
|
+ for (const stl_facet &facet : stl->facet_start) {
|
||||||
|
+ memcpy(buffer, &facet, 50);
|
||||||
|
// Convert to little endian.
|
||||||
|
stl_internal_reverse_quads(buffer, 48);
|
||||||
|
fwrite(buffer, SIZEOF_STL_FACET, 1, fp);
|
@ -1,21 +0,0 @@
|
|||||||
From 62592cab48cfb6a20d84041b1992aecc6a2b659c Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Hejl?= <hejl.lukas@gmail.com>
|
|
||||||
Date: Sat, 1 May 2021 22:33:59 +0200
|
|
||||||
Subject: [PATCH] Added missing include (GCC 11.1)
|
|
||||||
|
|
||||||
---
|
|
||||||
src/libslic3r/Optimize/Optimizer.hpp | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/src/libslic3r/Optimize/Optimizer.hpp b/src/libslic3r/Optimize/Optimizer.hpp
|
|
||||||
index 05191eba26..8ae55c61c5 100644
|
|
||||||
--- a/src/libslic3r/Optimize/Optimizer.hpp
|
|
||||||
+++ b/src/libslic3r/Optimize/Optimizer.hpp
|
|
||||||
@@ -8,6 +8,7 @@
|
|
||||||
#include <functional>
|
|
||||||
#include <limits>
|
|
||||||
#include <cassert>
|
|
||||||
+#include <optional>
|
|
||||||
|
|
||||||
namespace Slic3r { namespace opt {
|
|
||||||
|
|
26
patch-endianness
Normal file
26
patch-endianness
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
diff --git a/src/admesh/stlinit.cpp b/src/admesh/stlinit.cpp
|
||||||
|
index 693aad0..390fe56 100644
|
||||||
|
--- a/src/admesh/stlinit.cpp
|
||||||
|
+++ b/src/admesh/stlinit.cpp
|
||||||
|
@@ -36,6 +36,10 @@
|
||||||
|
#error "SEEK_SET not defined"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifndef BOOST_LITTLE_ENDIAN
|
||||||
|
+extern void stl_internal_reverse_quads(char *buf, size_t cnt);
|
||||||
|
+#endif /* BOOST_LITTLE_ENDIAN */
|
||||||
|
+
|
||||||
|
static FILE* stl_open_count_facets(stl_file *stl, const char *file)
|
||||||
|
{
|
||||||
|
// Open the file in binary mode first.
|
||||||
|
@@ -238,10 +242,6 @@ bool stl_open(stl_file *stl, const char *file)
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#ifndef BOOST_LITTLE_ENDIAN
|
||||||
|
-extern void stl_internal_reverse_quads(char *buf, size_t cnt);
|
||||||
|
-#endif /* BOOST_LITTLE_ENDIAN */
|
||||||
|
-
|
||||||
|
void stl_allocate(stl_file *stl)
|
||||||
|
{
|
||||||
|
// Allocate memory for the entire .STL file.
|
@ -1,31 +0,0 @@
|
|||||||
From 926ae0471800abd1e5335e251a5934570eb8f6ff Mon Sep 17 00:00:00 2001
|
|
||||||
From: Vojtech Bubnik <bubnikv@gmail.com>
|
|
||||||
Date: Mon, 25 Apr 2022 11:32:03 +0200
|
|
||||||
Subject: [PATCH] Follow-up to 408e56f0390f20aaf793e0aa0c70c4d9544401d4 Fixing
|
|
||||||
compilation of tests on latest GCC/boost
|
|
||||||
|
|
||||||
---
|
|
||||||
tests/fff_print/test_data.cpp | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tests/fff_print/test_data.cpp b/tests/fff_print/test_data.cpp
|
|
||||||
index 32e31c264c..f7077007db 100644
|
|
||||||
--- a/tests/fff_print/test_data.cpp
|
|
||||||
+++ b/tests/fff_print/test_data.cpp
|
|
||||||
@@ -11,6 +11,7 @@
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#include <boost/nowide/cstdio.hpp>
|
|
||||||
+#include <boost/nowide/fstream.hpp>
|
|
||||||
#include <boost/filesystem.hpp>
|
|
||||||
#include <libslic3r/ModelArrange.hpp>
|
|
||||||
|
|
||||||
@@ -286,7 +287,7 @@ std::string gcode(Print & print)
|
|
||||||
print.set_status_silent();
|
|
||||||
print.process();
|
|
||||||
print.export_gcode(temp.string(), nullptr, nullptr);
|
|
||||||
- std::ifstream t(temp.string());
|
|
||||||
+ boost::nowide::ifstream t(temp.string());
|
|
||||||
std::string str((std::istreambuf_iterator<char>(t)), std::istreambuf_iterator<char>());
|
|
||||||
boost::nowide::remove(temp.string().c_str());
|
|
||||||
return str;
|
|
@ -1,81 +0,0 @@
|
|||||||
From 408e56f0390f20aaf793e0aa0c70c4d9544401d4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Vojtech Bubnik <bubnikv@gmail.com>
|
|
||||||
Date: Mon, 25 Apr 2022 08:33:48 +0200
|
|
||||||
Subject: [PATCH] Fix of Boost 1.79 deprecated boost::filesystem::ofstream
|
|
||||||
#8238 Replacing boost::filesystem::fstream with boost::nowide::fstream
|
|
||||||
variants with the unfortunate cost of string path conversion on Windows from
|
|
||||||
16 bits to UTF8 and back to 16 bits.
|
|
||||||
|
|
||||||
Unfortunately we cannot use std::filesystem yet as it is missing
|
|
||||||
on older MACs and because the interface is crooked minefield on Windows
|
|
||||||
see https://github.com/microsoft/STL/issues/909
|
|
||||||
---
|
|
||||||
src/hints/HintsToPot.cpp | 2 +-
|
|
||||||
src/libslic3r/Preset.cpp | 2 +-
|
|
||||||
src/slic3r/GUI/HintNotification.cpp | 8 +++++---
|
|
||||||
3 files changed, 7 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/hints/HintsToPot.cpp b/src/hints/HintsToPot.cpp
|
|
||||||
index 7c8029cdeb..4791f0612f 100644
|
|
||||||
--- a/src/hints/HintsToPot.cpp
|
|
||||||
+++ b/src/hints/HintsToPot.cpp
|
|
||||||
@@ -9,7 +9,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(path.string(), std::ios_base::app);
|
|
||||||
for (const auto& element : data)
|
|
||||||
{
|
|
||||||
//Example of .pot element
|
|
||||||
diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp
|
|
||||||
index f3a1c15b3e..f171cb14dd 100644
|
|
||||||
--- a/src/libslic3r/Preset.cpp
|
|
||||||
+++ b/src/libslic3r/Preset.cpp
|
|
||||||
@@ -84,7 +84,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.string());
|
|
||||||
boost::property_tree::read_ini(ifs, tree);
|
|
||||||
return VendorProfile::from_ini(tree, path, load_all);
|
|
||||||
}
|
|
||||||
diff --git a/src/slic3r/GUI/HintNotification.cpp b/src/slic3r/GUI/HintNotification.cpp
|
|
||||||
index 93e0fb3259..820b74eedb 100644
|
|
||||||
--- a/src/slic3r/GUI/HintNotification.cpp
|
|
||||||
+++ b/src/slic3r/GUI/HintNotification.cpp
|
|
||||||
@@ -14,12 +14,14 @@
|
|
||||||
#include "libslic3r/Config.hpp"
|
|
||||||
#include "libslic3r/PrintConfig.hpp"
|
|
||||||
|
|
||||||
+#include <map>
|
|
||||||
+
|
|
||||||
#include <boost/algorithm/string/replace.hpp>
|
|
||||||
#include <boost/filesystem.hpp>
|
|
||||||
#include <boost/nowide/fstream.hpp>
|
|
||||||
#include <boost/log/trivial.hpp>
|
|
||||||
#include <boost/property_tree/ini_parser.hpp>
|
|
||||||
-#include <map>
|
|
||||||
+
|
|
||||||
#include <cereal/archives/binary.hpp>
|
|
||||||
#include <cereal/types/string.hpp>
|
|
||||||
#include <cereal/types/vector.hpp>
|
|
||||||
@@ -65,7 +67,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").string(), std::ios::binary);
|
|
||||||
cereal::BinaryOutputArchive archive(file);
|
|
||||||
HintsCerealData cd { ids };
|
|
||||||
try
|
|
||||||
@@ -84,7 +86,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.string());
|
|
||||||
cereal::BinaryInputArchive archive(file);
|
|
||||||
HintsCerealData cd;
|
|
||||||
try
|
|
@ -1,26 +0,0 @@
|
|||||||
Author: Thomas Viehmann <tv@beamnet.de>
|
|
||||||
Date: Thu, 8 Dec 2022 12:23:15 +0800
|
|
||||||
Subject: Fix segfault due to uninitialized imgui in wxwidgets3.2
|
|
||||||
|
|
||||||
Bug-Debian: https://bugs.debian.org/1022234
|
|
||||||
From: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1022234#15
|
|
||||||
Forwarded: no
|
|
||||||
---
|
|
||||||
src/slic3r/GUI/HintNotification.cpp | 4 +++-
|
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/slic3r/GUI/HintNotification.cpp b/src/slic3r/GUI/HintNotification.cpp
|
|
||||||
index e88947d..1ca52e0 100644
|
|
||||||
--- a/src/slic3r/GUI/HintNotification.cpp
|
|
||||||
+++ b/src/slic3r/GUI/HintNotification.cpp
|
|
||||||
@@ -560,7 +560,9 @@ void HintDatabase::clear_used()
|
|
||||||
|
|
||||||
void NotificationManager::HintNotification::count_spaces()
|
|
||||||
{
|
|
||||||
- //determine line width
|
|
||||||
+ ImGuiWrapper& imgui = *wxGetApp().imgui();
|
|
||||||
+ imgui.new_frame();
|
|
||||||
+ //determine line width
|
|
||||||
m_line_height = ImGui::CalcTextSize("A").y;
|
|
||||||
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
|||||||
From: Chow Loong Jin <hyperair@debian.org>
|
|
||||||
Date: Tue, 11 Oct 2022 10:42:05 +0800
|
|
||||||
Subject: Fix segfault due to WxTranslations::Get() returning nullptr
|
|
||||||
|
|
||||||
Bug-Debian: https://bugs.debian.org/1020702
|
|
||||||
Bug: https://github.com/prusa3d/PrusaSlicer/issues/9024
|
|
||||||
Origin: https://github.com/prusa3d/PrusaSlicer/issues/8299#issuecomment-1236874810
|
|
||||||
Author: Lukas Matena <lukasmatena@seznam.cz>
|
|
||||||
---
|
|
||||||
src/slic3r/GUI/GUI_App.cpp | 9 +++++++++
|
|
||||||
1 file changed, 9 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp
|
|
||||||
index 0aeebc7..fd22f2c 100644
|
|
||||||
--- a/src/slic3r/GUI/GUI_App.cpp
|
|
||||||
+++ b/src/slic3r/GUI/GUI_App.cpp
|
|
||||||
@@ -2075,6 +2075,15 @@ bool GUI_App::load_language(wxString language, bool initial)
|
|
||||||
{
|
|
||||||
// Allocating a temporary locale will switch the default wxTranslations to its internal wxTranslations instance.
|
|
||||||
wxLocale temp_locale;
|
|
||||||
+#ifdef __WXOSX__
|
|
||||||
+ // ysFIXME - temporary workaround till it isn't fixed in wxWidgets:
|
|
||||||
+ // Use English as an initial language, because of under OSX it try to load "inappropriate" language for wxLANGUAGE_DEFAULT.
|
|
||||||
+ // For example in our case it's trying to load "en_CZ" and as a result PrusaSlicer catch warning message.
|
|
||||||
+ // But wxWidgets guys work on it.
|
|
||||||
+ temp_locale.Init(wxLANGUAGE_ENGLISH);
|
|
||||||
+#else
|
|
||||||
+ temp_locale.Init();
|
|
||||||
+#endif // __WXOSX__
|
|
||||||
// Set the current translation's language to default, otherwise GetBestTranslation() may not work (see the wxWidgets source code).
|
|
||||||
wxTranslations::Get()->SetLanguage(wxLANGUAGE_DEFAULT);
|
|
||||||
// Let the wxFileTranslationsLoader enumerate all translation dictionaries for PrusaSlicer
|
|
@ -1,11 +0,0 @@
|
|||||||
diff -up PrusaSlicer-version_2.4.2/src/libslic3r/PNGReadWrite.hpp.gcc13 PrusaSlicer-version_2.4.2/src/libslic3r/PNGReadWrite.hpp
|
|
||||||
--- PrusaSlicer-version_2.4.2/src/libslic3r/PNGReadWrite.hpp.gcc13 2022-04-22 07:01:19.000000000 -0400
|
|
||||||
+++ PrusaSlicer-version_2.4.2/src/libslic3r/PNGReadWrite.hpp 2023-01-26 20:47:42.311148005 -0500
|
|
||||||
@@ -4,6 +4,7 @@
|
|
||||||
#include <vector>
|
|
||||||
#include <string>
|
|
||||||
#include <istream>
|
|
||||||
+#include <cstdint>
|
|
||||||
|
|
||||||
namespace Slic3r { namespace png {
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
|||||||
diff -up PrusaSlicer-version_2.4.0/src/libslic3r/CMakeLists.txt.no-cereal-lib PrusaSlicer-version_2.4.0/src/libslic3r/CMakeLists.txt
|
|
||||||
--- PrusaSlicer-version_2.4.0/src/libslic3r/CMakeLists.txt.no-cereal-lib 2022-02-11 20:07:36.399806933 +0000
|
|
||||||
+++ PrusaSlicer-version_2.4.0/src/libslic3r/CMakeLists.txt 2022-02-11 20:14:53.806895641 +0000
|
|
||||||
@@ -335,7 +335,6 @@ target_include_directories(libslic3r PUB
|
|
||||||
target_link_libraries(libslic3r
|
|
||||||
libnest2d
|
|
||||||
admesh
|
|
||||||
- cereal
|
|
||||||
libigl
|
|
||||||
miniz
|
|
||||||
boost_libs
|
|
||||||
diff -up PrusaSlicer-version_2.4.0/src/CMakeLists.txt.no-cereal-lib PrusaSlicer-version_2.4.0/src/CMakeLists.txt
|
|
||||||
--- PrusaSlicer-version_2.4.0/src/CMakeLists.txt.no-cereal-lib 2022-02-11 20:31:04.581810442 +0000
|
|
||||||
+++ PrusaSlicer-version_2.4.0/src/CMakeLists.txt 2022-02-11 20:31:15.726430666 +0000
|
|
||||||
@@ -125,7 +125,7 @@ if (NOT WIN32 AND NOT APPLE)
|
|
||||||
set_target_properties(PrusaSlicer PROPERTIES OUTPUT_NAME "prusa-slicer")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
-target_link_libraries(PrusaSlicer libslic3r cereal)
|
|
||||||
+target_link_libraries(PrusaSlicer libslic3r)
|
|
||||||
if (APPLE)
|
|
||||||
# add_compile_options(-stdlib=libc++)
|
|
||||||
# add_definitions(-DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_NO_CXX11_RVALUE_REFERENCES -DBOOST_THREAD_USES_MOVE)
|
|
||||||
diff -up PrusaSlicer-version_2.4.0/src/slic3r/CMakeLists.txt.no-cereal-lib PrusaSlicer-version_2.4.0/src/slic3r/CMakeLists.txt
|
|
||||||
--- PrusaSlicer-version_2.4.0/src/slic3r/CMakeLists.txt.no-cereal-lib 2022-02-11 20:30:36.653762157 +0000
|
|
||||||
+++ PrusaSlicer-version_2.4.0/src/slic3r/CMakeLists.txt 2022-02-11 20:30:47.604388990 +0000
|
|
||||||
@@ -260,7 +260,7 @@ add_library(libslic3r_gui STATIC ${SLIC3
|
|
||||||
|
|
||||||
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 imgui GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES})
|
|
||||||
|
|
||||||
if (MSVC)
|
|
||||||
target_link_libraries(libslic3r_gui Setupapi.lib)
|
|
@ -1,76 +0,0 @@
|
|||||||
diff -up PrusaSlicer-version_2.4.0/cmake/modules/FindOpenVDB.cmake.openexr3 PrusaSlicer-version_2.4.0/cmake/modules/FindOpenVDB.cmake
|
|
||||||
--- PrusaSlicer-version_2.4.0/cmake/modules/FindOpenVDB.cmake.openexr3 2021-12-21 15:57:35.000000000 +0000
|
|
||||||
+++ PrusaSlicer-version_2.4.0/cmake/modules/FindOpenVDB.cmake 2022-02-11 19:27:12.105404186 +0000
|
|
||||||
@@ -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_PREREQUI
|
|
||||||
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()
|
|
@ -1,43 +0,0 @@
|
|||||||
From f9f8e811526dbf41c4987400924b1028c2dadd1a Mon Sep 17 00:00:00 2001
|
|
||||||
From: KARBOWSKI Piotr <piotr.karbowski@gmail.com>
|
|
||||||
Date: Mon, 9 May 2022 10:35:50 +0200
|
|
||||||
Subject: [PATCH] Fix building with new Boost 1.79.0.
|
|
||||||
|
|
||||||
Fixes #8302
|
|
||||||
---
|
|
||||||
src/slic3r/GUI/DesktopIntegrationDialog.cpp | 3 ++-
|
|
||||||
src/slic3r/GUI/GUI_App.cpp | 1 +
|
|
||||||
src/slic3r/Utils/AppUpdater.cpp | 3 ++-
|
|
||||||
3 files changed, 5 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/slic3r/GUI/DesktopIntegrationDialog.cpp b/src/slic3r/GUI/DesktopIntegrationDialog.cpp
|
|
||||||
index 81c681bc3a..7f99a505c6 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 8533854f4d..4435f836b3 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>
|
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<application>
|
<application>
|
||||||
<id type="desktop">PrusaSlicer.desktop</id>
|
<id type="desktop">prusa-slicer.desktop</id>
|
||||||
<metadata_license>0BSD</metadata_license>
|
<metadata_license>0BSD</metadata_license>
|
||||||
<project_licence>AGPLv3</project_licence>
|
<project_licence>AGPLv3</project_licence>
|
||||||
<summary>3D printing slicer optimized for Prusa printers</summary>
|
<summary>3D printing slicer optimized for Prusa printers</summary>
|
||||||
|
12
prusa-slicer.desktop
Normal file
12
prusa-slicer.desktop
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=PrusaSlicer
|
||||||
|
GenericName=3D Printing Software
|
||||||
|
Icon=prusa-slicer
|
||||||
|
Exec=prusa-slicer %F
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
MimeType=model/stl;model/x-wavefront-obj;model/3mf;model/x-geomview-off;application/x-amf;
|
||||||
|
Categories=Graphics;3DGraphics;Engineering;
|
||||||
|
Keywords=3D;Printing;Slicer;slice;3D;printer;convert;gcode;stl;obj;amf;SLA
|
||||||
|
StartupNotify=false
|
||||||
|
StartupWMClass=prusa-slicer
|
@ -1,14 +1,9 @@
|
|||||||
# Currently all of the test suite requires the old Perl infrastructure to run.
|
# Currently all of the test suite requires the old Perl infrastructure to run.
|
||||||
# When building flatpak, tests have to be disabled by default due to some missing dependencies.
|
|
||||||
%if 0%{?flatpak}
|
|
||||||
%bcond_with perltests
|
|
||||||
%else
|
|
||||||
%bcond_without perltests
|
%bcond_without perltests
|
||||||
%endif
|
|
||||||
|
|
||||||
Name: prusa-slicer
|
Name: prusa-slicer
|
||||||
Version: 2.4.2
|
Version: 2.1.1
|
||||||
Release: 9%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: 3D printing slicer optimized for Prusa printers
|
Summary: 3D printing slicer optimized for Prusa printers
|
||||||
|
|
||||||
# The main PrusaSlicer code and resources are AGPLv3, with small parts as
|
# The main PrusaSlicer code and resources are AGPLv3, with small parts as
|
||||||
@ -22,48 +17,26 @@ Summary: 3D printing slicer optimized for Prusa printers
|
|||||||
License: AGPLv3
|
License: AGPLv3
|
||||||
URL: https://github.com/prusa3d/PrusaSlicer/
|
URL: https://github.com/prusa3d/PrusaSlicer/
|
||||||
Source0: https://github.com/prusa3d/PrusaSlicer/archive/version_%version.tar.gz
|
Source0: https://github.com/prusa3d/PrusaSlicer/archive/version_%version.tar.gz
|
||||||
|
Source1: %name.desktop
|
||||||
Source2: %name.appdata.xml
|
Source2: %name.appdata.xml
|
||||||
|
|
||||||
Patch1: prusa-slicer-no-cereal-lib.patch
|
# Fix building on s390x
|
||||||
|
# https://github.com/prusa3d/PrusaSlicer/issues/2879
|
||||||
|
Patch0: https://github.com/prusa3d/PrusaSlicer/commit/94212fa2a92b5d01be5da8235f02423249dd7b2a.patch
|
||||||
|
|
||||||
# Add missing include, needed for GCC13
|
# Try to fix more endian-related compilation errors
|
||||||
# Proposed upstream: https://github.com/prusa3d/PrusaSlicer/pull/9434
|
# https://github.com/prusa3d/PrusaSlicer/issues/2879
|
||||||
Patch2: prusa-slicer-gcc13.patch
|
# https://github.com/prusa3d/PrusaSlicer/pull/2981
|
||||||
|
Patch1: patch-endianness
|
||||||
# Fix a couple of segfaults that happen with wxWidgets 3.2 (from Debian)
|
|
||||||
Patch3: prusa-slicer-fix-wxtranslations-segfault.patch
|
|
||||||
Patch4: prusa-slicer-fix-uninitialized-imgui-segfault.patch
|
|
||||||
|
|
||||||
# Beware!
|
|
||||||
# Patches >= 340 are only applied on Fedora 34+
|
|
||||||
# Patches >= 350 are only applied on Fedora 35+
|
|
||||||
# ...
|
|
||||||
|
|
||||||
# OpenEXR 3 fixes
|
|
||||||
Patch351: https://github.com/archlinux/svntogit-community/blob/1dea61c0b5/trunk/prusa-slicer-openexr3.patch
|
|
||||||
|
|
||||||
# Boost 1.79 fixes
|
|
||||||
# https://github.com/prusa3d/PrusaSlicer/pull/8304
|
|
||||||
Patch391: prusa-slicer-pr8304-boost-1_79-fix.patch
|
|
||||||
# https://github.com/prusa3d/PrusaSlicer/commit/408e56f0390f20aaf793e0aa0c70c4d9544401d4
|
|
||||||
Patch392: prusa-slicer-boost_filesystem_ofstream-deprecation-1_79.patch
|
|
||||||
# https://github.com/prusa3d/PrusaSlicer/commit/926ae0471800abd1e5335e251a5934570eb8f6ff
|
|
||||||
Patch393: prusa-slicer-boost_filesystem_ofstream-deprecation-1_79-followup.patch
|
|
||||||
|
|
||||||
# Highly-parallel uild can run out of memory on PPC64le
|
# Highly-parallel uild can run out of memory on PPC64le
|
||||||
%ifarch ppc64le
|
%ifarch ppc64le
|
||||||
%global _smp_ncpus_max 8
|
%global _smp_ncpus_max 8
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
|
|
||||||
%if 0%{?fedora} >= 37 || 0%{?rhel} >= 10
|
|
||||||
ExcludeArch: %{ix86}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
BuildRequires: boost-devel
|
BuildRequires: boost-devel
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: cereal-devel
|
BuildRequires: cereal-devel
|
||||||
BuildRequires: CGAL-devel
|
|
||||||
BuildRequires: curl-devel
|
BuildRequires: curl-devel
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
BuildRequires: eigen3-devel
|
BuildRequires: eigen3-devel
|
||||||
@ -73,17 +46,15 @@ BuildRequires: gettext
|
|||||||
BuildRequires: git-core
|
BuildRequires: git-core
|
||||||
BuildRequires: glew-devel
|
BuildRequires: glew-devel
|
||||||
BuildRequires: gtest-devel
|
BuildRequires: gtest-devel
|
||||||
BuildRequires: ilmbase-devel
|
|
||||||
BuildRequires: ImageMagick
|
BuildRequires: ImageMagick
|
||||||
BuildRequires: libgudev
|
BuildRequires: miniz-devel
|
||||||
# Upstream miniz is no longer compatible, gotta use the fork.
|
|
||||||
# BuildRequires: miniz-devel
|
|
||||||
BuildRequires: NLopt-devel
|
BuildRequires: NLopt-devel
|
||||||
BuildRequires: openvdb
|
|
||||||
BuildRequires: openvdb-devel
|
|
||||||
BuildRequires: systemd-devel
|
|
||||||
BuildRequires: tbb-devel
|
BuildRequires: tbb-devel
|
||||||
BuildRequires: wxGTK-devel
|
BuildRequires: wxBase3-devel
|
||||||
|
BuildRequires: wxGTK3-devel
|
||||||
|
|
||||||
|
# Upstream says this is obsolete, but still needed to compile
|
||||||
|
BuildRequires: poly2tri-devel
|
||||||
|
|
||||||
# Things we wish we could unbundle
|
# Things we wish we could unbundle
|
||||||
#BuildRequires: admesh-devel >= 0.98.1
|
#BuildRequires: admesh-devel >= 0.98.1
|
||||||
@ -91,38 +62,42 @@ BuildRequires: wxGTK-devel
|
|||||||
#BuildRequires: boost-nowide-devel
|
#BuildRequires: boost-nowide-devel
|
||||||
#BuildRequires: qhull-devel
|
#BuildRequires: qhull-devel
|
||||||
|
|
||||||
# For the %%_udevrulesdir macro
|
|
||||||
BuildRequires: systemd
|
|
||||||
|
|
||||||
%if %{with perltests}
|
%if %{with perltests}
|
||||||
# All of the old Perl dependencies needed to run the test suite
|
# All of the old Perl dependencies needed to run the test suite
|
||||||
BuildRequires: perl-devel
|
BuildRequires: perl-devel
|
||||||
BuildRequires: perl-generators
|
BuildRequires: perl-generators
|
||||||
BuildRequires: perl(Class::XSAccessor)
|
BuildRequires: perl(Class::XSAccessor)
|
||||||
BuildRequires: perl(Devel::CheckLib)
|
BuildRequires: perl(Devel::CheckLib)
|
||||||
BuildRequires: perl(ExtUtils::CppGuess)
|
BuildRequires: perl(Encode::Locale)
|
||||||
BuildRequires: perl(ExtUtils::Embed)
|
BuildRequires: perl(ExtUtils::Embed)
|
||||||
BuildRequires: perl(ExtUtils::MakeMaker)
|
BuildRequires: perl(ExtUtils::MakeMaker)
|
||||||
BuildRequires: perl(ExtUtils::ParseXS)
|
BuildRequires: perl(ExtUtils::ParseXS)
|
||||||
|
BuildRequires: perl(ExtUtils::Typemaps::Default)
|
||||||
BuildRequires: perl(ExtUtils::Typemaps)
|
BuildRequires: perl(ExtUtils::Typemaps)
|
||||||
BuildRequires: perl(ExtUtils::Typemaps::Basic)
|
|
||||||
BuildRequires: perl(ExtUtils::XSpp)
|
|
||||||
BuildRequires: perl(ExtUtils::XSpp::Cmd)
|
|
||||||
BuildRequires: perl(File::Basename)
|
BuildRequires: perl(File::Basename)
|
||||||
BuildRequires: perl(File::Spec)
|
BuildRequires: perl(File::Spec)
|
||||||
BuildRequires: perl(Getopt::Long)
|
BuildRequires: perl(Getopt::Long)
|
||||||
|
BuildRequires: perl(Growl::GNTP)
|
||||||
BuildRequires: perl(IO::Scalar)
|
BuildRequires: perl(IO::Scalar)
|
||||||
BuildRequires: perl(List::Util)
|
BuildRequires: perl(List::Util)
|
||||||
BuildRequires: perl(local::lib)
|
BuildRequires: perl(local::lib)
|
||||||
|
BuildRequires: perl(Math::PlanePath)
|
||||||
BuildRequires: perl(Module::Build::WithXSpp)
|
BuildRequires: perl(Module::Build::WithXSpp)
|
||||||
BuildRequires: perl(Moo)
|
BuildRequires: perl(Moo)
|
||||||
BuildRequires: perl(parent)
|
BuildRequires: perl(parent)
|
||||||
BuildRequires: perl(POSIX)
|
BuildRequires: perl(POSIX)
|
||||||
BuildRequires: perl(Scalar::Util)
|
BuildRequires: perl(Scalar::Util)
|
||||||
|
BuildRequires: perl(Storable)
|
||||||
|
BuildRequires: perl(SVG)
|
||||||
BuildRequires: perl(Test::Harness)
|
BuildRequires: perl(Test::Harness)
|
||||||
BuildRequires: perl(Test::More)
|
BuildRequires: perl(Test::More)
|
||||||
|
BuildRequires: perl(Thread::Semaphore)
|
||||||
|
BuildRequires: perl(threads)
|
||||||
BuildRequires: perl(Time::HiRes)
|
BuildRequires: perl(Time::HiRes)
|
||||||
|
BuildRequires: perl(Unicode::Normalize)
|
||||||
BuildRequires: perl(Wx)
|
BuildRequires: perl(Wx)
|
||||||
|
BuildRequires: perl(XML::SAX)
|
||||||
|
BuildRequires: perl(XML::SAX::ExpatXS)
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Requires: hicolor-icon-theme
|
Requires: hicolor-icon-theme
|
||||||
@ -170,13 +145,15 @@ Provides: bundled(imgui) = 1.66
|
|||||||
# License: MIT
|
# License: MIT
|
||||||
Provides: bundled(mesa-libGLU)
|
Provides: bundled(mesa-libGLU)
|
||||||
|
|
||||||
# PrusaResearch added functions to the upstream miniz. Yay.
|
%if %{?fedora <= 30}
|
||||||
# See https://github.com/prusa3d/PrusaSlicer/issues/7080
|
# For <= F30, the system miniz is too old to be used. The bundled library is a
|
||||||
# License: MIT
|
# fork from somewhere around 2.0.6, with various C++ source files added.
|
||||||
Provides: bundled(miniz) = 2.1.0prusa
|
# License: MIT and Unlicense
|
||||||
|
Provides: bundled(miniz) = 2.0.6
|
||||||
|
%endif
|
||||||
|
|
||||||
# A header-only library, developed by one of the authors of PrusaSlicer.
|
# A header-only library, developed by one of the authors of PrusaSlicer. Not
|
||||||
# Packaged in Fedora, but have not yet attempted unbundling.
|
# packaged in Fedora, but could be (for little benefit).
|
||||||
# None of the source files carry licensing information, but a file LICENSE.txt
|
# None of the source files carry licensing information, but a file LICENSE.txt
|
||||||
# exists and contains the AGPL text.
|
# exists and contains the AGPL text.
|
||||||
# License: AGPLv3
|
# License: AGPLv3
|
||||||
@ -230,16 +207,11 @@ Provides: bundled(shinyprofiler) = 2.6~rc1
|
|||||||
# In case someone tries to install the upstream name
|
# In case someone tries to install the upstream name
|
||||||
Provides: PrusaSlicer = %version-%release
|
Provides: PrusaSlicer = %version-%release
|
||||||
|
|
||||||
# The package was renamed after version 2
|
# Because the old profiles are not compatible, don't replace slic3r-prusa3d
|
||||||
|
# until F31. Both packages can be installed and used in parallel
|
||||||
|
%if %{?fedora} >= 31
|
||||||
Obsoletes: slic3r-prusa3d < 1.41.3-2
|
Obsoletes: slic3r-prusa3d < 1.41.3-2
|
||||||
Provides: slic3r-prusa3d = %version-%release
|
Provides: slic3r-prusa3d = %version-%release
|
||||||
|
|
||||||
# Get Fedora 33++ behavior on anything older
|
|
||||||
%undefine __cmake_in_source_build
|
|
||||||
|
|
||||||
# i686 arm build fails with lto
|
|
||||||
%ifarch %ix86 %arm
|
|
||||||
%define _lto_cflags %{nil}
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -254,9 +226,7 @@ community.
|
|||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -S git -n PrusaSlicer-version_%version -N
|
%autosetup -S git -n PrusaSlicer-version_%version
|
||||||
# Apply patches, but only apply 340+ on Fedora 34, 350+ on Fedora 35, etc...
|
|
||||||
%autopatch -M %[%{?fedora} * 10 + 9]
|
|
||||||
|
|
||||||
commit () { git commit -q -a -m "$1" --author "%{__scm_author}"; }
|
commit () { git commit -q -a -m "$1" --author "%{__scm_author}"; }
|
||||||
|
|
||||||
@ -264,6 +234,12 @@ commit () { git commit -q -a -m "$1" --author "%{__scm_author}"; }
|
|||||||
sed -i 's/UNKNOWN/Fedora/' version.inc
|
sed -i 's/UNKNOWN/Fedora/' version.inc
|
||||||
commit "Fix version string"
|
commit "Fix version string"
|
||||||
|
|
||||||
|
# F29 has the nlopt library under a different name
|
||||||
|
%if %{?fedora} < 30
|
||||||
|
sed -ri 's/^(.*_NLopt_LIB_NAMES "nlopt)(".*)$/\1_cxx\2/' src/libnest2d/cmake_modules/FindNLopt.cmake
|
||||||
|
commit "Fix name of nlopt library"
|
||||||
|
%endif
|
||||||
|
|
||||||
# Copy out specific license files so we can reference them later.
|
# Copy out specific license files so we can reference them later.
|
||||||
license () { mv src/$1/$2 $2-$1; git add $2-$1; echo %%license $2-$1 >> license-files; }
|
license () { mv src/$1/$2 $2-$1; git add $2-$1; echo %%license $2-$1 >> license-files; }
|
||||||
license agg copying
|
license agg copying
|
||||||
@ -288,31 +264,57 @@ unbundle eigen
|
|||||||
unbundle expat
|
unbundle expat
|
||||||
unbundle glew
|
unbundle glew
|
||||||
|
|
||||||
|
# Upstream says this is obsolete, but it's still needed for compilation.
|
||||||
|
# The Fedora version appears to work fine for that purpose so we'll use it.
|
||||||
|
unbundle poly2tri
|
||||||
|
|
||||||
|
# The miniz in F30 is too old to unbundle.
|
||||||
|
# The sed could be a patch, but conditionally applying patches is problematic
|
||||||
|
# and this will be fixed upstream in the next release.
|
||||||
|
%if %{?fedora} >= 31
|
||||||
|
unbundle miniz
|
||||||
|
#sed -i 's/^#include.*miniz.*/#include <miniz.h>/' \
|
||||||
|
# src/libslic3r/Format/{3mf.cpp,AMF.cpp,PRUS.cpp} \
|
||||||
|
# src/libslic3r/Zipper.cpp
|
||||||
|
#commit "Fix miniz includes"
|
||||||
|
%endif
|
||||||
|
|
||||||
# These tests were fixed but the fixes were undone upsteam with commit ac6969c
|
# These tests were fixed but the fixes were undone upsteam with commit ac6969c
|
||||||
# https://github.com/prusa3d/PrusaSlicer/issues/2288
|
# https://github.com/prusa3d/PrusaSlicer/issues/2288
|
||||||
# Just remove them for now
|
# Just remove them for now
|
||||||
rm -f t/combineinfill.t t/custom_gcode.t t/fill.t t/multi.t t/retraction.t t/skirt_brim.t
|
rm -f t/combineinfill.t t/custom_gcode.t t/fill.t t/multi.t t/retraction.t t/skirt_brim.t
|
||||||
commit "Remove xfail tests."
|
commit "Remove xfail tests."
|
||||||
|
|
||||||
# compiling test_voronoi.cpp seems to hang...
|
|
||||||
# Fixed with binutils-2.38-6.fc37 (bug 2059646)
|
|
||||||
%if 0%{?fedora} < 37
|
|
||||||
sed -i tests/libslic3r/CMakeLists.txt -e '\@test_voronoi.cpp@d'
|
|
||||||
commit "Disable voronoi test"
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
mkdir Build
|
||||||
|
pushd Build
|
||||||
|
|
||||||
# -DSLIC3R_PCH=0 - Disable precompiled headers, which break cmake for some reason
|
# -DSLIC3R_PCH=0 - Disable precompiled headers, which break cmake for some reason
|
||||||
# -DSLIC3R_FHS=1 - Enable FHS layout instead of installing things into the resources directory
|
# -DSLIC3R_FHS=1 - Enable FHS layout instead of installing things into the resources directory
|
||||||
# -DSLIC3R_WX_STABLE=1 - Allow use of wxGTK version 3.0 instead of 3.1.
|
# -DSLIC3R_WX_STABLE=1 - Allow use of wxGTK version 3.0 instead of 3.1.
|
||||||
%cmake -DSLIC3R_PCH=0 -DSLIC3R_FHS=1 -DSLIC3R_WX_STABLE=1 -DSLIC3R_GTK=3 \
|
%cmake .. -DSLIC3R_PCH=0 -DSLIC3R_FHS=1 -DSLIC3R_WX_STABLE=1 -DSLIC3R_GTK=3 \
|
||||||
-DSLIC3R_BUILD_TESTS=1 -DCMAKE_BUILD_TYPE=Release \
|
-DSLIC3R_BUILD_TESTS=1 -DCMAKE_BUILD_TYPE=Release \
|
||||||
%if %{with perltests}
|
%if %{with perltests}
|
||||||
-DSLIC3R_PERL_XS=1
|
-DSLIC3R_PERL_XS=1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%cmake_build
|
%make_build
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Extract multiple sizes of PNG from the included .ico file. The order of
|
||||||
|
# extracted files can change, so a bit of magic is required to get stable
|
||||||
|
# filenames.
|
||||||
|
mkdir hicolor
|
||||||
|
pushd hicolor
|
||||||
|
convert -set filename:dim '%%wx%%h' ../resources/icons/PrusaSlicer.ico %name-%%[filename:dim].png
|
||||||
|
for res in 16 32 48 64 128 256; do
|
||||||
|
mkdir -p ${res}x${res}/apps
|
||||||
|
cp %name-${res}x${res}.png ${res}x${res}/apps/%name.png
|
||||||
|
done
|
||||||
|
rm %name-*.png
|
||||||
|
popd
|
||||||
|
|
||||||
# To avoid "iCCP: Not recognized known sRGB profile that has been edited"
|
# To avoid "iCCP: Not recognized known sRGB profile that has been edited"
|
||||||
pushd resources/icons
|
pushd resources/icons
|
||||||
find . -type f -name "*.png" -exec convert {} -strip {} \;
|
find . -type f -name "*.png" -exec convert {} -strip {} \;
|
||||||
@ -320,7 +322,9 @@ popd
|
|||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%cmake_install
|
pushd Build
|
||||||
|
%make_install
|
||||||
|
popd
|
||||||
|
|
||||||
# Since the binary segfaults under Wayland, we have to wrap it.
|
# Since the binary segfaults under Wayland, we have to wrap it.
|
||||||
mv %buildroot%_bindir/prusa-slicer %buildroot%_bindir/prusa-slicer.wrapped
|
mv %buildroot%_bindir/prusa-slicer %buildroot%_bindir/prusa-slicer.wrapped
|
||||||
@ -331,18 +335,20 @@ exec %_bindir/prusa-slicer.wrapped "$@"
|
|||||||
END
|
END
|
||||||
chmod 755 %buildroot%_bindir/prusa-slicer
|
chmod 755 %buildroot%_bindir/prusa-slicer
|
||||||
|
|
||||||
|
mkdir -p %buildroot%_datadir/icons/hicolor/
|
||||||
|
cp -r hicolor/* %buildroot%_datadir/icons/hicolor/
|
||||||
|
|
||||||
mkdir -p %buildroot%_datadir/appdata
|
mkdir -p %buildroot%_datadir/appdata
|
||||||
install -m 644 %SOURCE2 %buildroot%_datadir/appdata/%name.appdata.xml
|
install -m 644 %SOURCE2 %buildroot%_datadir/appdata/%name.appdata.xml
|
||||||
|
|
||||||
|
desktop-file-install --dir=%buildroot%_datadir/applications %SOURCE1
|
||||||
|
|
||||||
# For now, delete the Perl module that gets installed. It only exists because
|
# For now, delete the Perl module that gets installed. It only exists because
|
||||||
# we want the test suite to run. It could be placed into a subpackage, but
|
# we want the test suite to run. It could be placed into a subpackage, but
|
||||||
# nothing needs it currently and it would conflict with the other slic3r
|
# nothing needs it currently and it would conflict with the other slic3r
|
||||||
# package.
|
# package.
|
||||||
#
|
rm -rf %buildroot/%perl_vendorarch
|
||||||
# The %%perl_vendorarch and %%perl_vendorlib can be undefined,
|
rm -rf %buildroot/%perl_vendorlib
|
||||||
# which would cause deleting of the whole buildroot.
|
|
||||||
%{?perl_vendorarch:rm -rf %buildroot/%perl_vendorarch}
|
|
||||||
%{?perl_vendorlib:rm -rf %buildroot/%perl_vendorlib}
|
|
||||||
|
|
||||||
# Upstream installs the translation source files when they probably shouldn't
|
# Upstream installs the translation source files when they probably shouldn't
|
||||||
ls -lR %buildroot%_datadir/PrusaSlicer/localization
|
ls -lR %buildroot%_datadir/PrusaSlicer/localization
|
||||||
@ -372,161 +378,28 @@ find %buildroot%_datadir/PrusaSlicer/localization -type d | sed '
|
|||||||
s:\(.*\):%dir \1:
|
s:\(.*\):%dir \1:
|
||||||
' >> lang-files
|
' >> lang-files
|
||||||
|
|
||||||
%if 0%{?flatpak}
|
|
||||||
# Remove udev rules that aren't needed for flatpak builds
|
|
||||||
rm -f %buildroot%_prefix/lib/udev/rules.d/90-3dconnexion.rules
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
desktop-file-validate %buildroot%_datadir/applications/PrusaGcodeviewer.desktop
|
|
||||||
|
|
||||||
# Some tests are Perl but there is a framework for other tests even though
|
# Some tests are Perl but there is a framework for other tests even though
|
||||||
# currently the only thing that uses them is one of the bundled libraries.
|
# currently the only thing that uses them is one of the bundled libraries.
|
||||||
# There's no reason not to run as much as we can.
|
# There's no reason not to run as much as we can.
|
||||||
%cmake_build -- test ARGS=-V
|
pushd Build
|
||||||
|
make test ARGS=-V
|
||||||
|
|
||||||
|
|
||||||
%files -f license-files -f lang-files
|
%files -f license-files -f lang-files
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc README.md
|
%doc README.md
|
||||||
%_bindir/%name
|
%_bindir/%name
|
||||||
%_bindir/prusa-gcodeviewer
|
|
||||||
%_bindir/%name.wrapped
|
%_bindir/%name.wrapped
|
||||||
%_datadir/icons/hicolor/*/apps/PrusaSlicer*.png
|
%_datadir/icons/hicolor/*/apps/%name.png
|
||||||
%_datadir/applications/PrusaGcodeviewer.desktop
|
%_datadir/applications/%name.desktop
|
||||||
%_datadir/applications/PrusaSlicer.desktop
|
|
||||||
%_datadir/appdata/%name.appdata.xml
|
%_datadir/appdata/%name.appdata.xml
|
||||||
%dir %_datadir/PrusaSlicer
|
%dir %_datadir/PrusaSlicer
|
||||||
%_datadir/PrusaSlicer/{icons,models,profiles,shaders,shapes,udev,applications,data}/
|
%_datadir/PrusaSlicer/{icons,models,profiles,shaders}/
|
||||||
%if !0%{?flatpak}
|
|
||||||
%_udevrulesdir/90-3dconnexion.rules
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Feb 27 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.4.2-9
|
|
||||||
- Backport upstream fix for build with Boost 1.79+
|
|
||||||
|
|
||||||
* Mon Feb 20 2023 Jonathan Wakely <jwakely@redhat.com> - 2.4.2-8
|
|
||||||
- Rebuilt for Boost 1.81
|
|
||||||
|
|
||||||
* Fri Jan 27 2023 Scott Talbert <swt@techie.net> - 2.4.2-7
|
|
||||||
- Rebuild with wxWidgets 3.2 (again) with additional fixes
|
|
||||||
|
|
||||||
* Fri Jan 27 2023 Scott Talbert <swt@techie.net> - 2.4.2-6
|
|
||||||
- Fix FTBFS with GCC 13
|
|
||||||
|
|
||||||
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2-5
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Dec 31 2022 Miro Hrončok <mhroncok@redhat.com> - 2.4.2-4
|
|
||||||
- Rebuilt for openvdb 10.0
|
|
||||||
|
|
||||||
* Tue Oct 25 2022 Kalev Lember <klember@redhat.com> - 2.4.2-3
|
|
||||||
- Switch back to wxWidgets 3.0 (#2131615)
|
|
||||||
|
|
||||||
* Thu Aug 04 2022 Scott Talbert <swt@techie.net> - 2.4.2-2
|
|
||||||
- Rebuild with wxWidgets 3.2
|
|
||||||
|
|
||||||
* Fri Jul 22 2022 Jan Staněk <jstanek@redhat.com> - 2.4.2-1
|
|
||||||
- Update to 2.4.2
|
|
||||||
|
|
||||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-6
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Jun 27 2022 Miro Hrončok <mhroncok@redhat.com> - 2.4.0-5
|
|
||||||
- Rebuilt for openvdb 9.1
|
|
||||||
- Fixes: rhbz#2098784
|
|
||||||
|
|
||||||
* Wed May 04 2022 Thomas Rodgers <trodgers@redhat.com> - 2.4.0-4
|
|
||||||
- Rebuilt for Boost 1.78
|
|
||||||
|
|
||||||
* Thu Mar 17 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.4.0-3
|
|
||||||
- Remove the previous voronoi workaround for fixed binutils
|
|
||||||
|
|
||||||
* Wed Mar 2 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.4.0-2
|
|
||||||
- %%ix86 %%arm: kill LTO for now
|
|
||||||
- kill test_voronoi.cpp, compilation (as) hangs (bug 2059646)
|
|
||||||
|
|
||||||
* Mon Feb 14 2022 Tom Callaway <spot@fedoraproject.org> - 2.4.0-1
|
|
||||||
- update to 2.4.0
|
|
||||||
|
|
||||||
* Thu Feb 10 2022 Orion Poplawski <orion@nwra.com> - 2.3.3-5
|
|
||||||
- Rebuild for glew 2.2
|
|
||||||
|
|
||||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Nov 30 2021 Miro Hrončok <mhroncok@redhat.com> - 2.3.3-3
|
|
||||||
- Disable GLIBCXX_ASSERTIONS
|
|
||||||
- Fixes rhbz#2023345
|
|
||||||
|
|
||||||
* Sun Nov 28 2021 Richard Shaw <hobbes1069@gmail.com> - 2.3.3-2
|
|
||||||
- Rebuild for OpenVDB 9.
|
|
||||||
|
|
||||||
* Mon Nov 08 2021 Dennis Gilmore <dennis@ausil.us> - 2.3.3-1
|
|
||||||
- update to 2.3.3
|
|
||||||
- remove upstreamed gcc patch
|
|
||||||
|
|
||||||
* Sat Aug 07 2021 Jonathan Wakely <jwakely@redhat.com> - 2.3.1-5
|
|
||||||
- Rebuilt for Boost 1.76
|
|
||||||
|
|
||||||
* Mon Aug 02 2021 Miro Hrončok <mhroncok@redhat.com> - 2.3.1-4
|
|
||||||
- Rebuilt for OpenEXR 3
|
|
||||||
|
|
||||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Jun 23 2021 Miro Hrončok <mhroncok@redhat.com> - 2.3.1-2
|
|
||||||
- Rebuilt for openvdb 8.1
|
|
||||||
- Fixes rhbz#1972120
|
|
||||||
|
|
||||||
* Sat May 15 2021 Dennis Gilmore <dennis@ausil.us> - 2.3.1-1
|
|
||||||
- update to 2.3.1
|
|
||||||
- include upstream patch fixing build with gcc 11
|
|
||||||
|
|
||||||
* Mon May 10 2021 Jonathan Wakely <jwakely@redhat.com> - 2.2.0-12
|
|
||||||
- Rebuilt for removed libstdc++ symbols (#1937698)
|
|
||||||
|
|
||||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-11
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jan 22 2021 Jonathan Wakely <jwakely@redhat.com> - 2.2.0-10
|
|
||||||
- Rebuilt for Boost 1.75
|
|
||||||
|
|
||||||
* Thu Jan 14 2021 Miro Hrončok <mhroncok@redhat.com> - 2.2.0-9
|
|
||||||
- Trim perl build dependencies
|
|
||||||
|
|
||||||
* Mon Jan 04 2021 Miro Hrončok <mhroncok@redhat.com> - 2.2.0-8
|
|
||||||
- Rebuilt for openvdb 8.0
|
|
||||||
- Fixes: rhbz#1912499
|
|
||||||
|
|
||||||
* Fri Jan 01 2021 Richard Shaw <hobbes1069@gmail.com> - 2.2.0-7
|
|
||||||
- Rebuild for OpenEXR 2.5.3.
|
|
||||||
|
|
||||||
* Wed Aug 26 2020 Jan Beran <jaberan@redhat.com> - 2.2.0-6
|
|
||||||
- Add fixes for the flatpak build:
|
|
||||||
disable perltests by default when building flatpak
|
|
||||||
don't remove Perl modules when building without perltests
|
|
||||||
|
|
||||||
* Mon Aug 24 2020 Miro Hrončok <mhroncok@redhat.com> - 2.2.0-5
|
|
||||||
- Rebuilt for openvdb 7.1
|
|
||||||
|
|
||||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-4
|
|
||||||
- Second attempt - Rebuilt for
|
|
||||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jun 02 2020 Miro Hrončok <mhroncok@redhat.com> - 2.2.0-2
|
|
||||||
- Rebuilt and fix for Boost 1.73.0 (#1842011)
|
|
||||||
|
|
||||||
* Tue Mar 31 2020 Alexander Jacocks <alexander@redhat.com> - 2.2.0-1
|
|
||||||
- Update to 2.2.0.
|
|
||||||
|
|
||||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Jan 02 2020 Jason L Tibbitts III <tibbs@math.uh.edu> - 2.1.1-1
|
* Thu Jan 02 2020 Jason L Tibbitts III <tibbs@math.uh.edu> - 2.1.1-1
|
||||||
- Update to 2.1.1.
|
- Update to 2.1.1.
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (version_2.4.2.tar.gz) = d480c608eadb58b53ee220317a749c0363db580759322ed7a9aebe2ea5c1acc30dbd3bdf9ed9849c23ba5c125ee6f923de6ac01987bf85abf7aeb3f91c2ae23f
|
SHA512 (version_2.1.1.tar.gz) = 30c00e6fc0dbd97ec2307d83a777f53039ed0eb8c4c26c9f4e581567025225ca1937032fe23fd09216d55b2703fa3c0d20a7f1efd713ba6c9ae5e32a6a088d6a
|
||||||
|
Loading…
Reference in New Issue
Block a user