Compare commits
55 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
e7e66a9e36 | ||
|
991b979a79 | ||
|
1549bb81f9 | ||
|
a62e48a5ab | ||
|
e1c016f900 | ||
|
03c907e3cb | ||
|
4f32e08fa8 | ||
|
fdd89dbdaf | ||
|
e244ab2c08 | ||
|
f2c45198b5 | ||
|
6bad3771f5 | ||
|
0804388956 | ||
|
bc72b3e9e4 | ||
|
eef89e9ece | ||
|
745a2de187 | ||
|
6597f2176e | ||
|
2afb99f84b | ||
|
8957980666 | ||
|
9e4ba3cf2e | ||
|
60fc9ebe6c | ||
|
cb7a199d52 | ||
|
465b852a28 | ||
|
200ca08428 | ||
|
6aaef67d53 | ||
|
49eb9ad063 | ||
|
a391b36ffe | ||
|
5623e93d5e | ||
|
41bededbd6 | ||
|
f75256edb7 | ||
|
5035941782 | ||
|
8d0380f7f3 | ||
|
ff498de501 | ||
|
10f30131da | ||
|
4edf8674c5 | ||
|
65694a84d7 | ||
|
ddada69453 | ||
|
8192d5d35b | ||
|
7339ddc0b3 | ||
|
891e75adaa | ||
|
0d5b77de51 | ||
|
6188029a33 | ||
|
eacebd1880 | ||
|
88e4812c68 | ||
|
d552b687e5 | ||
|
2cebe75897 | ||
|
0e9b06d7c8 | ||
|
96833091ef | ||
|
e29535c969 | ||
|
fc6de5d9ed | ||
|
998832ef5e | ||
|
393c0474b3 | ||
|
a8cfa9157e | ||
|
2fd6939398 | ||
|
573698ee14 | ||
|
2d45c29d8b |
@ -1,25 +0,0 @@
|
|||||||
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);
|
|
21
optional.patch
Normal file
21
optional.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
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 {
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
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.
|
|
@ -0,0 +1,31 @@
|
|||||||
|
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;
|
@ -0,0 +1,81 @@
|
|||||||
|
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
|
26
prusa-slicer-fix-uninitialized-imgui-segfault.patch
Normal file
26
prusa-slicer-fix-uninitialized-imgui-segfault.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
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;
|
||||||
|
|
||||||
|
|
32
prusa-slicer-fix-wxtranslations-segfault.patch
Normal file
32
prusa-slicer-fix-wxtranslations-segfault.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
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
|
11
prusa-slicer-gcc13.patch
Normal file
11
prusa-slicer-gcc13.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
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 {
|
||||||
|
|
35
prusa-slicer-no-cereal-lib.patch
Normal file
35
prusa-slicer-no-cereal-lib.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
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)
|
76
prusa-slicer-openexr3.patch
Normal file
76
prusa-slicer-openexr3.patch
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
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()
|
43
prusa-slicer-pr8304-boost-1_79-fix.patch
Normal file
43
prusa-slicer-pr8304-boost-1_79-fix.patch
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
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">prusa-slicer.desktop</id>
|
<id type="desktop">PrusaSlicer.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>
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
[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,9 +1,14 @@
|
|||||||
# 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.1.1
|
Version: 2.4.2
|
||||||
Release: 1%{?dist}
|
Release: 9%{?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
|
||||||
@ -17,26 +22,48 @@ 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
|
||||||
|
|
||||||
# Fix building on s390x
|
Patch1: prusa-slicer-no-cereal-lib.patch
|
||||||
# https://github.com/prusa3d/PrusaSlicer/issues/2879
|
|
||||||
Patch0: https://github.com/prusa3d/PrusaSlicer/commit/94212fa2a92b5d01be5da8235f02423249dd7b2a.patch
|
|
||||||
|
|
||||||
# Try to fix more endian-related compilation errors
|
# Add missing include, needed for GCC13
|
||||||
# https://github.com/prusa3d/PrusaSlicer/issues/2879
|
# Proposed upstream: https://github.com/prusa3d/PrusaSlicer/pull/9434
|
||||||
# https://github.com/prusa3d/PrusaSlicer/pull/2981
|
Patch2: prusa-slicer-gcc13.patch
|
||||||
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
|
||||||
@ -46,15 +73,17 @@ 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: miniz-devel
|
BuildRequires: libgudev
|
||||||
|
# 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: wxBase3-devel
|
BuildRequires: wxGTK-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
|
||||||
@ -62,42 +91,38 @@ BuildRequires: poly2tri-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(Encode::Locale)
|
BuildRequires: perl(ExtUtils::CppGuess)
|
||||||
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
|
||||||
@ -145,15 +170,13 @@ Provides: bundled(imgui) = 1.66
|
|||||||
# License: MIT
|
# License: MIT
|
||||||
Provides: bundled(mesa-libGLU)
|
Provides: bundled(mesa-libGLU)
|
||||||
|
|
||||||
%if %{?fedora <= 30}
|
# PrusaResearch added functions to the upstream miniz. Yay.
|
||||||
# For <= F30, the system miniz is too old to be used. The bundled library is a
|
# See https://github.com/prusa3d/PrusaSlicer/issues/7080
|
||||||
# fork from somewhere around 2.0.6, with various C++ source files added.
|
# License: MIT
|
||||||
# License: MIT and Unlicense
|
Provides: bundled(miniz) = 2.1.0prusa
|
||||||
Provides: bundled(miniz) = 2.0.6
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# A header-only library, developed by one of the authors of PrusaSlicer. Not
|
# A header-only library, developed by one of the authors of PrusaSlicer.
|
||||||
# packaged in Fedora, but could be (for little benefit).
|
# Packaged in Fedora, but have not yet attempted unbundling.
|
||||||
# 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
|
||||||
@ -207,11 +230,16 @@ 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
|
||||||
|
|
||||||
# Because the old profiles are not compatible, don't replace slic3r-prusa3d
|
# The package was renamed after version 2
|
||||||
# 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
|
||||||
@ -226,7 +254,9 @@ community.
|
|||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -S git -n PrusaSlicer-version_%version
|
%autosetup -S git -n PrusaSlicer-version_%version -N
|
||||||
|
# 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}"; }
|
||||||
|
|
||||||
@ -234,12 +264,6 @@ 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
|
||||||
@ -264,57 +288,31 @@ 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
|
||||||
|
|
||||||
%make_build
|
%cmake_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 {} \;
|
||||||
@ -322,9 +320,7 @@ popd
|
|||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
pushd Build
|
%cmake_install
|
||||||
%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
|
||||||
@ -335,20 +331,18 @@ 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
|
#
|
||||||
rm -rf %buildroot/%perl_vendorlib
|
# The %%perl_vendorarch and %%perl_vendorlib can be undefined,
|
||||||
|
# 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
|
||||||
@ -378,28 +372,161 @@ 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.
|
||||||
pushd Build
|
%cmake_build -- test ARGS=-V
|
||||||
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/%name.png
|
%_datadir/icons/hicolor/*/apps/PrusaSlicer*.png
|
||||||
%_datadir/applications/%name.desktop
|
%_datadir/applications/PrusaGcodeviewer.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}/
|
%_datadir/PrusaSlicer/{icons,models,profiles,shaders,shapes,udev,applications,data}/
|
||||||
|
%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.1.1.tar.gz) = 30c00e6fc0dbd97ec2307d83a777f53039ed0eb8c4c26c9f4e581567025225ca1937032fe23fd09216d55b2703fa3c0d20a7f1efd713ba6c9ae5e32a6a088d6a
|
SHA512 (version_2.4.2.tar.gz) = d480c608eadb58b53ee220317a749c0363db580759322ed7a9aebe2ea5c1acc30dbd3bdf9ed9849c23ba5c125ee6f923de6ac01987bf85abf7aeb3f91c2ae23f
|
||||||
|
Loading…
Reference in New Issue
Block a user