Accepting request 1231393 from home:gladiac:branches:science

- Fixed loading STEP files
- Added PrusaSlicer-2.8.1-pr13761-fix-occtwrapper.patch
- Removed up-occt-version.patch

OBS-URL: https://build.opensuse.org/request/show/1231393
OBS-URL: https://build.opensuse.org/package/show/science/PrusaSlicer?expand=0&rev=89
This commit is contained in:
Benjamin Greiner 2024-12-16 14:24:15 +00:00 committed by Git OBS Bridge
commit 4a9b0e7ed0
14 changed files with 1694 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,13 @@
Index: PrusaSlicer-version_2.6.1/src/slic3r/Utils/OctoPrint.cpp
===================================================================
--- PrusaSlicer-version_2.6.1.orig/src/slic3r/Utils/OctoPrint.cpp
+++ PrusaSlicer-version_2.6.1/src/slic3r/Utils/OctoPrint.cpp
@@ -751,7 +751,7 @@ bool PrusaLink::get_storage(wxArrayStrin
if (path && (!available || *available)) {
StorageInfo si;
si.path = boost::nowide::widen(*path);
- si.name = name ? boost::nowide::widen(*name) : wxString();
+ si.name = name ? wxString(boost::nowide::widen(*name)) : wxString();
// If read_only is missing, assume it is NOT read only.
// si.read_only = read_only ? *read_only : false; // version without "ro"
si.read_only = (read_only ? *read_only : (ro ? *ro : false));

View File

@ -0,0 +1,65 @@
From f67a877d583eba5472003f0ea4df3f7420d70734 Mon Sep 17 00:00:00 2001
From: Gregor Riepl <onitake@gmail.com>
Date: Mon, 27 Nov 2023 13:01:55 +0100
Subject: [PATCH] Make initializers explicit to avoid ambiguous wxArrayString
overloads
---
src/slic3r/GUI/PhysicalPrinterDialog.cpp | 2 +-
src/slic3r/GUI/Plater.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Index: PrusaSlicer-version_2.8.0/src/slic3r/GUI/PhysicalPrinterDialog.cpp
===================================================================
--- PrusaSlicer-version_2.8.0.orig/src/slic3r/GUI/PhysicalPrinterDialog.cpp
+++ PrusaSlicer-version_2.8.0/src/slic3r/GUI/PhysicalPrinterDialog.cpp
@@ -606,7 +606,7 @@ void PhysicalPrinterDialog::build_printh
// Always fill in the "printhost_port" combo box from the config and select it.
{
Choice* choice = dynamic_cast<Choice*>(m_optgroup->get_field("printhost_port"));
- choice->set_values({ m_config->opt_string("printhost_port") });
+ choice->set_values(std::vector<std::string>({ m_config->opt_string("printhost_port") }));
choice->set_selection();
}
Index: PrusaSlicer-version_2.8.0/src/slic3r/GUI/Plater.cpp
===================================================================
--- PrusaSlicer-version_2.8.0.orig/src/slic3r/GUI/Plater.cpp
+++ PrusaSlicer-version_2.8.0/src/slic3r/GUI/Plater.cpp
@@ -4048,7 +4048,7 @@ void Plater::load_project(const wxString
p->reset();
- if (! load_files({ into_path(filename) }).empty()) {
+ if (! load_files(std::vector<boost::filesystem::path>({ into_path(filename) })).empty()) {
// At least one file was loaded.
p->set_project_filename(filename);
// Save the names of active presets and project specific config into ProjectDirtyStateManager.
===================================================================
More of the same:
===================================================================
--- a/src/slic3r/GUI/PrintHostDialogs.cpp
+++ b/src/slic3r/GUI/PrintHostDialogs.cpp
@@ -467,9 +467,7 @@
wxVariant nm, hst;
job_list->GetValue(nm, evt.job_id, COL_FILENAME);
job_list->GetValue(hst, evt.job_id, COL_HOST);
- const wchar_t * nm_str = nm.GetString();
- const wchar_t * hst_str = hst.GetString();
- wxGetApp().notification_manager()->set_upload_job_notification_percentage(evt.job_id + 1, into_u8(nm_str), into_u8(hst_str), evt.progress / 100.f);
+ wxGetApp().notification_manager()->set_upload_job_notification_percentage(evt.job_id + 1, into_u8(nm.GetString()), into_u8(hst.GetString()), evt.progress / 100.f);
}
}
--- a/src/slic3r/Utils/PrusaConnect.cpp
+++ b/src/slic3r/Utils/PrusaConnect.cpp
@@ -290,7 +290,7 @@
if (path && (!available || *available)) {
StorageInfo si;
si.path = boost::nowide::widen(*path);
- si.name = name ? boost::nowide::widen(*name) : wxString();
+ si.name = name ? boost::nowide::widen(*name) : std::wstring();
// If read_only is missing, assume it is NOT read only.
// si.read_only = read_only ? *read_only : false; // version without "ro"
si.read_only = (read_only ? *read_only : (ro ? *ro : false));

View File

@ -0,0 +1,54 @@
From ac3e07ee03b439932b9f7b00849ca202602f8901 Mon Sep 17 00:00:00 2001
From: randomtechguy <50642148+Rose-David@users.noreply.github.com>
Date: Fri, 12 Jul 2024 17:24:16 -0400
Subject: [PATCH 1/3] Update CMakeLists.txt to fix linux compile error
---
src/slic3r/CMakeLists.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: PrusaSlicer-version_2.8.0/src/slic3r/CMakeLists.txt
===================================================================
--- PrusaSlicer-version_2.8.0.orig/src/slic3r/CMakeLists.txt
+++ PrusaSlicer-version_2.8.0/src/slic3r/CMakeLists.txt
@@ -376,6 +376,7 @@ set(SLIC3R_GUI_SOURCES
)
find_package(NanoSVG REQUIRED)
+find_package(OpenSSL REQUIRED)
if (APPLE)
list(APPEND SLIC3R_GUI_SOURCES
@@ -404,7 +405,7 @@ endforeach()
encoding_check(libslic3r_gui)
-target_link_libraries(libslic3r_gui libslic3r avrdude libcereal imgui libvgcode GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES} NanoSVG::nanosvg NanoSVG::nanosvgrast)
+target_link_libraries(libslic3r_gui libslic3r avrdude libcereal imgui libvgcode GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES} NanoSVG::nanosvg NanoSVG::nanosvgrast OpenSSL::SSL OpenSSL::Crypto)
if (MSVC)
target_link_libraries(libslic3r_gui Setupapi.lib)
Index: PrusaSlicer-version_2.8.0/src/slic3r/Config/Version.cpp
===================================================================
--- PrusaSlicer-version_2.8.0.orig/src/slic3r/Config/Version.cpp
+++ PrusaSlicer-version_2.8.0/src/slic3r/Config/Version.cpp
@@ -7,6 +7,7 @@
#include <cctype>
#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem/directory.hpp>
#include <boost/nowide/fstream.hpp>
#include "libslic3r/libslic3r.h"
Index: PrusaSlicer-version_2.8.0/src/slic3r/GUI/UserAccountCommunication.cpp
===================================================================
--- PrusaSlicer-version_2.8.0.orig/src/slic3r/GUI/UserAccountCommunication.cpp
+++ PrusaSlicer-version_2.8.0/src/slic3r/GUI/UserAccountCommunication.cpp
@@ -13,6 +13,7 @@
#include <boost/filesystem.hpp>
#include <boost/nowide/cstdio.hpp>
#include <boost/nowide/fstream.hpp>
+#include <boost/nowide/convert.hpp>
#include <curl/curl.h>
#include <string>

View File

@ -0,0 +1,321 @@
From bf17924d6582b8a7baca5a58e59c604f3288cd19 Mon Sep 17 00:00:00 2001
From: randomtechguy <50642148+Rose-David@users.noreply.github.com>
Date: Fri, 12 Jul 2024 17:24:16 -0400
Subject: [PATCH 1/5] Update CMakeLists.txt to fix linux compile error
---
src/slic3r/CMakeLists.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt
index 82e91bb10b..b20583a5ba 100644
--- a/src/slic3r/CMakeLists.txt
+++ b/src/slic3r/CMakeLists.txt
@@ -391,6 +391,7 @@ set(SLIC3R_GUI_SOURCES
)
find_package(NanoSVG REQUIRED)
+find_package(OpenSSL REQUIRED)
if (APPLE)
list(APPEND SLIC3R_GUI_SOURCES
@@ -447,6 +448,8 @@ target_link_libraries(
NanoSVG::nanosvgrast
stb_dxt
fastfloat
+ OpenSSL::SSL
+ OpenSSL::Crypto
)
if (MSVC)
From da3587cea3c9b51f97f41e3eb09e4479d3b0492f Mon Sep 17 00:00:00 2001
From: Jonne Mickelin <jonne@ljhms.se>
Date: Wed, 20 Nov 2024 16:05:44 +0100
Subject: [PATCH 2/5] Update cmake/FindEigen3 to the one bundled with version
3.4.0
This solves the build error with the missing `Eigen3::Eigen` build
target.
Partially fixes #13608
---
cmake/modules/FindEigen3.cmake | 71 ++++++++++++++++++++++------------
1 file changed, 46 insertions(+), 25 deletions(-)
diff --git a/cmake/modules/FindEigen3.cmake b/cmake/modules/FindEigen3.cmake
index 1da37619ef..2dbed58384 100644
--- a/cmake/modules/FindEigen3.cmake
+++ b/cmake/modules/FindEigen3.cmake
@@ -9,6 +9,16 @@
# EIGEN3_FOUND - system has eigen lib with correct version
# EIGEN3_INCLUDE_DIR - the eigen include directory
# EIGEN3_VERSION - eigen version
+#
+# and the following imported target:
+#
+# Eigen3::Eigen - The header-only Eigen library
+#
+# This module reads hints about search locations from
+# the following environment variables:
+#
+# EIGEN3_ROOT
+# EIGEN3_ROOT_DIR
# Copyright (c) 2006, 2007 Montel Laurent, <montel@kde.org>
# Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael@free.fr>
@@ -18,16 +28,16 @@
if(NOT Eigen3_FIND_VERSION)
if(NOT Eigen3_FIND_VERSION_MAJOR)
set(Eigen3_FIND_VERSION_MAJOR 2)
- endif(NOT Eigen3_FIND_VERSION_MAJOR)
+ endif()
if(NOT Eigen3_FIND_VERSION_MINOR)
set(Eigen3_FIND_VERSION_MINOR 91)
- endif(NOT Eigen3_FIND_VERSION_MINOR)
+ endif()
if(NOT Eigen3_FIND_VERSION_PATCH)
set(Eigen3_FIND_VERSION_PATCH 0)
- endif(NOT Eigen3_FIND_VERSION_PATCH)
+ endif()
set(Eigen3_FIND_VERSION "${Eigen3_FIND_VERSION_MAJOR}.${Eigen3_FIND_VERSION_MINOR}.${Eigen3_FIND_VERSION_PATCH}")
-endif(NOT Eigen3_FIND_VERSION)
+endif()
macro(_eigen3_check_version)
file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header)
@@ -42,45 +52,56 @@ macro(_eigen3_check_version)
set(EIGEN3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION})
if(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
set(EIGEN3_VERSION_OK FALSE)
- else(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
+ else()
set(EIGEN3_VERSION_OK TRUE)
- endif(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
+ endif()
if(NOT EIGEN3_VERSION_OK)
message(STATUS "Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIR}, "
"but at least version ${Eigen3_FIND_VERSION} is required")
- endif(NOT EIGEN3_VERSION_OK)
-endmacro(_eigen3_check_version)
+ endif()
+endmacro()
if (EIGEN3_INCLUDE_DIR)
# in cache already
_eigen3_check_version()
set(EIGEN3_FOUND ${EIGEN3_VERSION_OK})
-
-else (EIGEN3_INCLUDE_DIR)
-
- # specific additional paths for some OS
- if (WIN32)
- set(EIGEN_ADDITIONAL_SEARCH_PATHS ${EIGEN_ADDITIONAL_SEARCH_PATHS} "C:/Program Files/Eigen/include" "C:/Program Files (x86)/Eigen/include")
- endif(WIN32)
-
- find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
- PATHS
- ${CMAKE_INSTALL_PREFIX}/include
- ${EIGEN_ADDITIONAL_SEARCH_PATHS}
- ${KDE4_INCLUDE_DIR}
- PATH_SUFFIXES eigen3 eigen
- )
+ set(Eigen3_FOUND ${EIGEN3_VERSION_OK})
+
+else ()
+
+ # search first if an Eigen3Config.cmake is available in the system,
+ # if successful this would set EIGEN3_INCLUDE_DIR and the rest of
+ # the script will work as usual
+ find_package(Eigen3 ${Eigen3_FIND_VERSION} NO_MODULE QUIET)
+
+ if(NOT EIGEN3_INCLUDE_DIR)
+ find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
+ HINTS
+ ENV EIGEN3_ROOT
+ ENV EIGEN3_ROOT_DIR
+ PATHS
+ ${CMAKE_INSTALL_PREFIX}/include
+ ${KDE4_INCLUDE_DIR}
+ PATH_SUFFIXES eigen3 eigen
+ )
+ endif()
if(EIGEN3_INCLUDE_DIR)
_eigen3_check_version()
- endif(EIGEN3_INCLUDE_DIR)
+ endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Eigen3 DEFAULT_MSG EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK)
mark_as_advanced(EIGEN3_INCLUDE_DIR)
-endif(EIGEN3_INCLUDE_DIR)
+endif()
+
+if(EIGEN3_FOUND AND NOT TARGET Eigen3::Eigen)
+ add_library(Eigen3::Eigen INTERFACE IMPORTED)
+ set_target_properties(Eigen3::Eigen PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${EIGEN3_INCLUDE_DIR}")
+endif()
From 5c1fd3e489da10a6fb828681b2ee777736b45a61 Mon Sep 17 00:00:00 2001
From: Jonne Mickelin <jonne@ljhms.se>
Date: Wed, 20 Nov 2024 16:11:11 +0100
Subject: [PATCH 3/5] Replace FindDbus.cmake with the upstream module
This solves the build error with missing headers.
Partially fixes #13608.
---
CMakeLists.txt | 2 +-
cmake/modules/FindDBus.cmake | 59 ------------------------------------
src/slic3r/CMakeLists.txt | 2 +-
3 files changed, 2 insertions(+), 61 deletions(-)
delete mode 100644 cmake/modules/FindDBus.cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 31cb4c0ff3..42a9302a0d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -246,7 +246,7 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
- find_package(DBus REQUIRED)
+ find_package(DBus1 REQUIRED)
endif()
if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUXX)
diff --git a/cmake/modules/FindDBus.cmake b/cmake/modules/FindDBus.cmake
deleted file mode 100644
index d54d4e516c..0000000000
--- a/cmake/modules/FindDBus.cmake
+++ /dev/null
@@ -1,59 +0,0 @@
-# - Try to find DBus
-# Once done, this will define
-#
-# DBUS_FOUND - system has DBus
-# DBUS_INCLUDE_DIRS - the DBus include directories
-# DBUS_LIBRARIES - link these to use DBus
-#
-# Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
-# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-FIND_PACKAGE(PkgConfig)
-PKG_CHECK_MODULES(PC_DBUS QUIET dbus-1)
-
-FIND_LIBRARY(DBUS_LIBRARIES
- NAMES dbus-1
- HINTS ${PC_DBUS_LIBDIR}
- ${PC_DBUS_LIBRARY_DIRS}
-)
-
-FIND_PATH(DBUS_INCLUDE_DIR
- NAMES dbus/dbus.h
- HINTS ${PC_DBUS_INCLUDEDIR}
- ${PC_DBUS_INCLUDE_DIRS}
-)
-
-GET_FILENAME_COMPONENT(_DBUS_LIBRARY_DIR ${DBUS_LIBRARIES} PATH)
-FIND_PATH(DBUS_ARCH_INCLUDE_DIR
- NAMES dbus/dbus-arch-deps.h
- HINTS ${PC_DBUS_INCLUDEDIR}
- ${PC_DBUS_INCLUDE_DIRS}
- ${_DBUS_LIBRARY_DIR}
- ${DBUS_INCLUDE_DIR}
- PATH_SUFFIXES include
-)
-
-SET(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIR} ${DBUS_ARCH_INCLUDE_DIR})
-
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(DBus REQUIRED_VARS DBUS_INCLUDE_DIRS DBUS_LIBRARIES)
\ No newline at end of file
diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt
index b20583a5ba..d1ce7b5b08 100644
--- a/src/slic3r/CMakeLists.txt
+++ b/src/slic3r/CMakeLists.txt
@@ -455,7 +455,7 @@ target_link_libraries(
if (MSVC)
target_link_libraries(libslic3r_gui PUBLIC Setupapi.lib)
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
- target_link_libraries(libslic3r_gui PUBLIC ${DBUS_LIBRARIES})
+ target_link_libraries(libslic3r_gui PUBLIC ${DBus1_LIBRARIES})
elseif (APPLE)
target_link_libraries(libslic3r_gui PUBLIC ${DISKARBITRATION_LIBRARY} ${COREWLAN_LIBRARY})
endif()
From f7a25cae1820444f4e999b429598ca477a35ccb8 Mon Sep 17 00:00:00 2001
From: Jonne Mickelin <jonne@ljhms.se>
Date: Wed, 20 Nov 2024 16:14:07 +0100
Subject: [PATCH 4/5] Link boost_headeronly in slic3r and libslic3r
This solves the linker error about missing `boost::log` symbols.
Fixes #13608.
---
src/libslic3r/CMakeLists.txt | 3 ++-
src/slic3r/CMakeLists.txt | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt
index ea669ee30c..d80b17a0bc 100644
--- a/src/libslic3r/CMakeLists.txt
+++ b/src/libslic3r/CMakeLists.txt
@@ -524,7 +524,7 @@ cmake_policy(SET CMP0011 NEW)
find_package(CGAL REQUIRED)
cmake_policy(POP)
-add_library(libslic3r_cgal STATIC
+add_library(libslic3r_cgal STATIC
CutSurface.hpp CutSurface.cpp
Geometry/VoronoiUtilsCgal.hpp Geometry/VoronoiUtilsCgal.cpp
IntersectionPoints.hpp IntersectionPoints.cpp
@@ -596,6 +596,7 @@ target_link_libraries(libslic3r PUBLIC
libigl
agg
ankerl
+ boost_headeronly
)
if (APPLE)
diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt
index d1ce7b5b08..27c226120d 100644
--- a/src/slic3r/CMakeLists.txt
+++ b/src/slic3r/CMakeLists.txt
@@ -450,6 +450,7 @@ target_link_libraries(
fastfloat
OpenSSL::SSL
OpenSSL::Crypto
+ boost_headeronly
)
if (MSVC)

View File

@ -0,0 +1,121 @@
From db3232171448d68ed7a206c9683b5aa968181e22 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@cryptomilk.org>
Date: Sun, 15 Dec 2024 10:36:34 +0100
Subject: [PATCH 1/2] Install OCCTWrapper into libdir on Linux
The FHS says that libraries should be installed in the library
directory on Linux.
---
src/libslic3r/Format/STEP.cpp | 6 +++---
src/occt_wrapper/CMakeLists.txt | 7 +++++--
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/libslic3r/Format/STEP.cpp b/src/libslic3r/Format/STEP.cpp
index c2761e07c04..d6bf6c26dac 100644
--- a/src/libslic3r/Format/STEP.cpp
+++ b/src/libslic3r/Format/STEP.cpp
@@ -39,8 +39,8 @@ LoadStepFn get_load_step_fn()
#endif
if (!load_step_fn) {
- auto libpath = boost::dll::program_location().parent_path();
#ifdef _WIN32
+ auto libpath = boost::dll::program_location().parent_path();
libpath /= "OCCTWrapper.dll";
HMODULE module = LoadLibraryW(libpath.wstring().c_str());
if (module == NULL)
@@ -61,8 +61,8 @@ LoadStepFn get_load_step_fn()
#elif __APPLE__
load_step_fn = &load_step_internal;
#else
- libpath /= "OCCTWrapper.so";
- void *plugin_ptr = dlopen(libpath.c_str(), RTLD_NOW | RTLD_GLOBAL);
+ // This is installed into /usr/lib(64)/ and dlopen will search there.
+ void *plugin_ptr = dlopen("OCCTWrapper.so", RTLD_NOW | RTLD_GLOBAL);
if (plugin_ptr) {
load_step_fn = reinterpret_cast<LoadStepFn>(dlsym(plugin_ptr, fn_name));
diff --git a/src/occt_wrapper/CMakeLists.txt b/src/occt_wrapper/CMakeLists.txt
index f6df6e7a605..f156516dd28 100644
--- a/src/occt_wrapper/CMakeLists.txt
+++ b/src/occt_wrapper/CMakeLists.txt
@@ -59,5 +59,8 @@ target_link_libraries(OCCTWrapper libslic3r admesh)
include(GNUInstallDirs)
-install(TARGETS OCCTWrapper DESTINATION "${CMAKE_INSTALL_BINDIR}")
-
+if (WIN32 OR APPLE)
+ install(TARGETS OCCTWrapper DESTINATION "${CMAKE_INSTALL_BINDIR}")
+else()
+ install(TARGETS OCCTWrapper DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+endif()
From 4fa91caa73b66827c434e5d67e2f090d8bc71063 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@cryptomilk.org>
Date: Sun, 15 Dec 2024 10:49:43 +0100
Subject: [PATCH 2/2] Bump OpenCASCADE requirement and implement version check
This implements a saner version check.
We only have to link against TKDESTEP. The target has all the needed
dependencies set.
---
src/occt_wrapper/CMakeLists.txt | 42 ++++++++++++---------------------
1 file changed, 15 insertions(+), 27 deletions(-)
diff --git a/src/occt_wrapper/CMakeLists.txt b/src/occt_wrapper/CMakeLists.txt
index f156516dd28..d10fd23407f 100644
--- a/src/occt_wrapper/CMakeLists.txt
+++ b/src/occt_wrapper/CMakeLists.txt
@@ -19,35 +19,23 @@ include(GenerateExportHeader)
generate_export_header(OCCTWrapper)
-find_package(OpenCASCADE 7.6.1 REQUIRED)
+find_package(OpenCASCADE REQUIRED)
+# OpenCASCADE has an exact version match even if you don't specify the EXACT
+# keyword in the find_package(). So lets implement it on our own.
+set(OPENCASCADE_MODULE_VERSION
+ "${OpenCASCADE_MAJOR_VERSION}.${OpenCASCADE_MINOR_VERSION}.${OpenCASCADE_MAINTENANCE_VERSION}")
+set(OPENCASCADE_REQUIRED_VERSION "7.8.0")
+if (${OPENCASCADE_MODULE_VERSION} VERSION_LESS ${OPENCASCADE_REQUIRED_VERSION})
+ message(
+ FATAL_ERROR
+ "Coun't find a compatible OpenCASCADE version - "
+ "required: ${OPENCASCADE_REQUIRED_VERSION}, found: "
+ "${OPENCASCADE_MODULE_VERSION}"
+ )
+endif()
set(OCCT_LIBS
- TKXDESTEP
- TKSTEP
- TKSTEP209
- TKSTEPAttr
- TKSTEPBase
- TKXCAF
- TKXSBase
- TKVCAF
- TKCAF
- TKLCAF
- TKCDF
- TKV3d
- TKService
- TKMesh
- TKBO
- TKPrim
- TKHLR
- TKShHealing
- TKTopAlgo
- TKGeomAlgo
- TKBRep
- TKGeomBase
- TKG3d
- TKG2d
- TKMath
- TKernel
+ TKDESTEP
)
slic3r_remap_configs("${OCCT_LIBS}" RelWithDebInfo Release)

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6370a9593aeac5c56543e66d167ab5fd053df55b9376392c2d6184eb0bf65fc8
size 65396083

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:58d484f85b34d83026f8220bab983f855fbcd72767d0887f21f5cc382e5b19ab
size 69806919

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f71033dd4e9fdd8e5ac7b5be5803d0d6d09ec0fd87de92b152b3c6bbae04c103
size 69409077

867
PrusaSlicer.changes Normal file
View File

@ -0,0 +1,867 @@
-------------------------------------------------------------------
Sun Dec 15 11:12:17 UTC 2024 - Andreas Schneider <asn@cryptomilk.org>
- Fixed loading STEP files
- Added PrusaSlicer-2.8.1-pr13761-fix-occtwrapper.patch
- Removed up-occt-version.patch
-------------------------------------------------------------------
Sun Dec 8 16:40:40 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Changelog for 2.8.1
* When using the wipe tower with "No sparse layers" option
enabled, there would still be travels to the wipe tower
location even for the skipped layers. This is a regression
introduced in 2.8.1-rc1 (#13384).
* A warning about inconsistent color profiles in PNGs used as
Prusa Account avatar is now silently ignored (#12920).
## Improvements with respect to 2.8.0
* Based on the feedback received after 2.8.0 release, the menu
bar was reinstated and the menu no longer hides under a button.
Thanks everyone for the feedback, it was very helpful and it
will be taken into consideration during possible UI-related
decisions in the future. #12943
* When logging-in with the PrusaAccount using third party
authorization (Google, Apple, Facebook), an external browser
window is opened so the user is not forced to enter their
credentials into windows created by PrusaSlicer.
* The built-in web engine no longer remembers the user after
logout.
* There are two new parameters: Filaments->Advanced->Abrasive
material and Printers->Extruder->High flow nozzle. Both flags
will be used to check whether a sliced G-code is compatible
with the given printer (abrasive material requires hardened
nozzle) and also to ensure that "Set as current" function in
PrusaSlicer-embedded Prusa Connect will select the suitable
profile for the given configuration.
* Note that this feature is supported since MINI/MK4/XL firmware
version 6.2.0-alpha1, and that the implementation in Prusa
Connect is not completely finished yet, meaning that the dialog
where printer is selected does not use this information - it
will later start working without the need to download a new
slicer version.
* Automatic orientation of bridges has been improved. Issues with
unanchored bridges caused by inconvenient choice of their angle
should now occur less frequently, although there is still a
large class of scenarios where the solution is suboptimal.
* The output of --query-printer-models command line option was
extended to contain bed shape and dimensions. Note that custom
bed shapes are currently not supported.
* The 'new version available' notification can now be used to
direct the user to our website, instead of just downloading the
executable. As of now, we release two different Linux
AppImages, so the user needs to be able to choose which one
they want to download.
* A new infill type called Zig-zag was created. It behaves the
same as Rectilinear, except that the pattern is aligned between
layers (Rectilinear is optimized for short travels, which leads
to inconsistencies). The new infill may thus take slightly
longer to print because of that, although the effect will be
negligible in most prints. It is possible that Rectilinear and
Zig-zag will be merged into a single infill type in one of the
upcoming releases. #12613
## Bugs fixed with respect to 2.8.0
* General improvement of Prusa Connect / PrusaAccount session
stability. There were scenarios which led to uncommanded
logouts from PrusaAccount, some resulting in partially blank
Prusa Connect screen and requiring application restart to fix.
The problems occurred after being logged on for a long time,
after waking the PC up from sleep, or when internet connection
was unstable.
* Fixed missing G-code preview on setups using older GPUs
(#12908).
* Some settings were not applied when overridden per object
(#12916).
* Fixed adding SVGs as parts/modifiers. This was broken in 2.8.0
(#12915).
* Fixed UI glitch resulting in disappearing text in edit boxes
after editing (#12932).
* Fixed incorrect capture of keyboard input, which led to some
keys being ignored (#13043).
* Physical printer configured to use username/password
authentication no longer asks the user for the credentials when
opening the Physical Printer page (#12921, #12933).
* Notification informing about the user having logged in into
PrusaAccount occasionally showed even when the user was in fact
logged in for a long time already (#12963, #13166).
* Object shells incorrectly stayed visible after switching from
FFF to SLA and back.
* Fixed rotation slider in SVG tool when "Use surface" option was
active (it incorrectly reverted to original position when
released).
* Changing Dynamic overhang speeds settings did not trigger
G-code regeneration as is should have.
* Fixed loading of specific OBJ files (#12157).
* Fixed a crash when scaling to fit in specific cases (circular
bed and objects with parts).
* Fixed an infinite loop during infill generation stage occurring
in rare cases (#11426).
* 'Export Plate as STL/OBJ Including Supports' no longer exports
non-printable objects.
* Fixed zero velocity G-code commands when the pressure equalizer
was combined with spiral vase mode. This bugfix was ported from
OrcaSlicer. Thanks to @Noisyfox, @SoftFever and everyone
involved.
* Fixed incorrect Color Changes placement after reslicing in
certain cases (#13008).
* Reduced number of emitted M106 G-codes when dynamic fan speed
on overhangs is enabled. Too many commands were generated even
when the fan speed barely changed or did not change at all.
#11981, #11856
* Fixed missing update when adding Color Change with supports
enabled.
* Fixed crash when loading specific 3MFs containing Color Changes
(#13038).
* Adaptive layer height feature did not work when Z shrinkage
compensation was used.
* Fixed unexpected autoselection of SLA printer in Configuration
Wizard in certain cases (#13058).
* Fixed couple of usability issues with the vertical slider in
preview (hovered ticks selection and reaction to mouse wheel)
(#12944).
* Fixed unexpected deceleration on overhangs with dynamic
overhangs speed enabled.
* Line infill did not generate at all when maximum anchor length
was set to zero.
* When seam position was set to Random, the algorithm would
occasionally place the seam on a bridging perimeter.
* Fixed erratic placement of seams occassionally happening with
specific object geometry.
* Fixed a problem in STEP file loading, which resulted in errors
in the geometry of the loaded model (#12271, #12122).
* Using certain fonts for the text embossing led to project files
which PrusaSlicer was not able to open anymore (#13123).
* Custom G-codes are not allowed to contain certain keywords
which PrusaSlicer uses for internal purposes. The check that
these keywords are not present was not working in the previous
version. It is now fixed.
* Fixed artifacts sometimes appearing in the "Actual speed"
preview. The artifacts were a result of long-existing bug in
the G-code processor, the "Actual speed" preview just made them
visible. The bug could have led to incorrect time estimates for
specific G-codes.
* Fixed three distinct crashes in Configuration Wizard occurring
after a specific sequence of steps.
* Fixed a long-existing bug in the cooling logic, which resulted
in zero or possibly negative extrusion commands in very rare
cases.
* Downloading from Printables did not work when the download
folder contained non-ASCII characters.
* Fixed selection of print host type in Physical Printer dialog.
PrusaLink was missing in the list for several printers which
actually support it. This also caused several other glitches
(#13286).
* The Connect status dots in the Printer Settings dropdown did
not show for SLA printers.
* Custom printer profile created in Config Wizard could be saved
under a name clashing with a system profile name.
* "Rename preset" button was inadvertently not shown in the UI
when physical printer profile was selected.
* Number of toolchanges did not show in the "Sliced info" box
when wipe tower was disabled (#6832).
- Replace PrusaSlicer-2.8.1-fix-build.patch with
PrusaSlicer-2.8.1-pr13609-fix-build.patch and remove unstable
(because not merged yet) URL from Source tag.
gh#prusa3d/PrusaSlicer#13609
- Remove update-desktop-files
-------------------------------------------------------------------
Sun Dec 8 08:57:27 UTC 2024 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 2.8.1
https://github.com/prusa3d/PrusaSlicer/releases/tag/version_2.8.1
- Removed PrusaSlicer-2.8.0-slic3r-includes.patch
- Added PrusaSlicer-2.8.1-fix-build.patch
- Updated up-occt-version.patch
-------------------------------------------------------------------
Fri Sep 13 19:22:26 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Remove quadmath workaround for gcc14 with boost error:
fixed by boost 1.86 (see boo#1225861)
-------------------------------------------------------------------
Tue Sep 3 12:51:07 UTC 2024 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Do not require libquadmath-devel on aarch64 since it does not
exist on this arch
-------------------------------------------------------------------
Thu Aug 29 16:20:17 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 2.8.0
* Prusa Connect integration
* seam improvements
* updated UI
* new G-code Viewer
* improved profile updating system
* many more improvements and bugfixes
- Must move to wxGTK3: we have no wxWebView in wxWidgets. Unfortunately
this disables wayland support:
https://github.com/prusa3d/PrusaSlicer/blob/version_2.8.0/src/PrusaSlicer.cpp#L88-L93
- Add PrusaSlicer-2.8.0-slic3r-includes.patch
* gh#prusa3d/PrusaSlicer#13080
-------------------------------------------------------------------
Fri Apr 26 07:16:48 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Don't include stray filesystem/convenience.hpp removed in
boost 1.85
-------------------------------------------------------------------
Thu Apr 25 13:54:10 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 2.7.4
* Objects from 3MFs generated by BambuStudio now retain
multimaterial painting when loaded. BambuStudio saves the data
under a changed name, but because both the location and meaning
are the same, PrusaSlicer now tries to load the data under the
new name when it fails to find the attribute that PrusaSlicer
has always used. #12502
* Fix: Downloading files from Printables did not work correctly
(#12521).
- Fixes in 2.7.3
## Bug fixes with respect to 2.7.3-beta1
* Removed negligible deretractions sometimes emitted into the
G-code after the recently introduced spiral vase mode
improvements. While they did not present actual issues with the
print, they were confusingly shown in the G-code preview.
## Bug fixes with respect to 2.7.3-alpha1
* The z offset configuration option was not correctly accounted
for when doing the last filament unload above the wipe tower.
* Fixed crash when importing a specific config bundle while in
SLA mode.
* Linux specific: When changing active profile using the dropdown
in the right panel, the dropdown would stay open when Unsaved
Changes dialog was shown.
* The improvements of spiral vase mode handling introduced in the
previous alpha did not work correctly with absolute extruder
addressing (#2841 (comment)). They are now only applied with
relative extruder addressing, otherwise it falls back to the
old behaviour.
* After performing a toolchange on the wipe tower, a G-code to
set layer z is now always emitted. This is to make sure that
the layer z is correct and that it was not changed in custom
toolchange G-code. While the user is expected to pass such
information in the custom G-code, the "z-ensuring" G-code was
present in previous versions and removing it in 2.7.2 was
therefore a needless breaking change (#12361).
* Fixed blobs on the first layer when using ramping travels with
absolute extruder addressing enabled.
* Fixed issues with 'avoid crossing perimeters' function
(#12432). This problem was actually fixed in 2.7.3-alpha1
already.
## Major improvements first seen in 2.7.3-alpha1
* See
https://github.com/prusa3d/PrusaSlicer/releases/tag/version_2.7.3-alpha1
for the full description
* Improvements of multi-material printing
* Purging volumes
* Spiral vase mode improvements
## Other improvements with respect to 2.7.2
* PrusaSlicer is now able to open 3MF files generated by
BambuStudio and load geometry from them. (#10718, PR #10808,
thanks to @cmguo). Please note that BambuStudio allows to save
a 3MF containing G-code only, which is not supported by
PrusaSlicer and loading of such 3MFs will fail.
* Metadata of binary G-code have a new item named objects_info,
which lists all the objects in the print and their boundary
polygons. The same info was added into the comments at the end
of ASCII G-codes.
## Bugfixes with respect to 2.7.2
* Pressure equalizer limits were not respected when Dynamic speed
on overhangs was used (#9485). This is now fixed. Pressure
equalizer is also not applied after long travels. Many thanks
to @MGunlogson for providing a fix in his pull request #9622.
* Fixed a bug resulting in inadequate anchoring of bridging
extrusions. This bug was introduced in PrusaSlicer 2.6.0.
#10231, #11500, #11633, #11173, #11117, #9999, #10313, #11150,
#10493
* When using Cancel object feature, the marks denoting where one
object ends and another starts were placed incorrectly. As a
result, there was a missing deretraction after all travels to
objects which would normally be printed following the cancelled
object. The issue was even worse with sequential printing,
where the uncompensated retractions on the cancelled object
summed up and could result in filament being unloaded past the
driving gears.
* When arcs (G2 and G3 G-codes) were enabled, PrusaSlicer
generated toolpaths outside the print area in certain cases
(#12381).
- Increase memory and disk space for building constraints
-------------------------------------------------------------------
Wed Mar 13 19:02:19 UTC 2024 - Frank Kunz <mailinglists@kunz-im-inter.net>
- Update to 2.7.2
## Improvements with respect to 2.7.1
* Multi-material segmentation improvements
* Color change (M600) improvements
* Ramping travel improvements
* SLA overrides
* Windows specific: The cut tool sometimes produces non-manifold
meshes. This situation is now detected and the user is advised
to use Windows repair algorithm on the resulting objects.
## Bugs fixes with respect to 2.7.1
* Fixed incorrect partial arrange in certain cases.
* Fixing arrange issues with aligning to unprintable objects when
doing Shift+A.
* Fixed arrange which sometimes put the wipe tower slightly out of
bed
* Fixed UI glitch when setting object dimensions to extremely high
values.
* Fixed a bug in generation of brim and skirt preview in the
preliminary G-code preview (#11821, thanks to @supermerill)
* Fixed an issue Ctrl+Shift+Tab shortcut, which incorrectly
collapsed sidebar.
* Fixed wiggling of Rotate gizmo when moving an object in certain
cases.
* Fixed missing updated when moving through dropdown items using
keyboard arrows.
* Improve filtering of special characters on Klipper
EXCLUDE_OBJECT labels (#11802, PR#11813 by @jschuh - thank
you).
* Fixed layer change color dialog opening off screen.
* Fixed occasional crash during thumbnail generation for SLA
printers.
* Fixed slicing issues such as missing infills and similar on
multi part models when sliced with object-specific settings.
* In SLA mode, it was not possible to use custom file extension
(configured in Output Settings).
* Fixed incorrect calculation of wipe length in certain cases,
leading to shorter wipes than configured.
* Fixed various issues and UI glitches in text/SVG embossing.
* Fixed missing update when a new printer was added while a
physical printer preset was selected.
* Scrolling of the window was incorrectly performed when using
mouse wheel over a dropdown.
* Windows specific: Drop down menus appeared outside of
PrusaSlicer and could not be opened again.
* When loading an object from a 3MF, the suggestion to rescale
the model is not shown, because 3MFs store the information
about the correct unit (unlike STL files).
* Fixed an incorrect check of supported OpenGL version, which led
to a hard crash when OpenGL 3.2 was not available.
* When loading a 3MF for MM printer, PrusaSlicer offers to load
individual models as parts of a single object. This dialog did
not show up for specific geometries.
* PrusaSlicer did not start on some Windows Server installations
due to a missing DLL (wlanapi.dll). The library is now loaded
in runtime and the respective features.
* Travels with standard lifts (non-ramping) were incorrectly
generated.
* With option "Retract on layer change" disabled, there was a
retraction missing before the first travel on each layer.
* Variable layer height limits were not applied correctly when
using multi-extruder printer with different values of min and
max layer height.
* When z travel speed was set to zero, it was incorrectly
exported into the G-code, effectively stopping the print.
Instead, regular travel speed should have been used for the z
travel.
* When Print / Filament / Printer profiles contained different
values for the same key (which should normally not happen,
providing the profiles are correct), the misplaced keys could
have been used instead of the correct ones.
* Fixed incorrectly applied retraction in vase mode when ramping
travels were enabled.
* When using the "No sparse layers" wipe tower, the print head
sometimes lowered before travelling to the wipe tower, digging
into an object and destroying the print.
* Fixed a crash when loading certain AMF files.
* When specific extruder was set for the wipe tower and z
position has changed in custom toolchange G-code, the z
position was not correctly accounted for.
-------------------------------------------------------------------
Fri Dec 29 09:47:16 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Add PrusaSlicer-2.7.1-slic3r-wxWidgets-3.2.4.patch
* Fixes a compilation error with wxWidgets 3.2.4
* gh#prusa3d/PrusaSlicer#11769
-------------------------------------------------------------------
Mon Dec 25 13:59:05 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to 2.7.1
## Improvements fixed with respect to 2.7.0
* The option Export as binary G-code was removed from Print
Settings. Instead, there is a new option in Printer Settings
named Supports binary G-code so it can be set at printer level.
There is also a new global switch in Preferences->Other, which
controls whether binary G-code will be generated for printers
which support it. It is therefore easy to turn the feature on
or off without doing any changes in profiles (#11734, #11873).
* Wipe tower weight was added into G-code metadata so it can be
easily displayed in the print statistics on the printer's
display.
## Bugs fixed with respect to 2.7.0
* When ramping travels were enabled, sometimes a perimeter was
missing at the layer where the spiral starts.
* Fixed a crash when selecting embossed text while an SVG tool is
opened (#11759).
* Helical layer changes could result in out of bed moves
(#11754).
* Helical layer change was enabled even when there was no
retraction on layer change (#11709, #11761).
- Release 2.7.0
* This is the stable release of PrusaSlicer 2.7.0, introducing
SVG emboss, binary G-codes, ramping travels, support for G2/G3
G-codes, support for Cancel object function and much more. It
also fixes many bugs.
* Important note for Original Prusa MINI, MK4 and XL owners: The
new configuration update of our system profiles will enable
binary G-code and G2/G3 features. Users using older firmware
need to update to 5.1.0-alpha2 or later or manually turn these
features off. On older firmware, new binary G-code is not
visible or recognized and the G2/G3 G-codes may not work
perfectly.
* Travel moves improvements
* SVG embossing tool (#6916, #9373)
* G2 and G3 G-code support #4352
* Binary G-code
* Improved user interface
* Custom G-code editor
* Cancel object (Marlin, RRF and Klipper)
- D PrusaSlicer-2.6.0-wxWidgets-CheckResizerFlags-assert-fix.patch
-------------------------------------------------------------------
Fri Sep 15 19:03:08 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to 2.6.1
* When renaming a preset to a name containing non-ASCII
characters, the encoding was mangled. This is now fixed
(#11232).
* Supports are no longer shown when using the clipping plane in
SLA supports tool.
* Fixed a crash when displaying command line help (#11060).
* Two tooltips in the Cut tool dialog were shown with mangled
encoding in some languages (#11236).
* The Help menu in PrusaSlicer was extended with "Sample G-codes
and Models" item, which navigates the user to the respective
page on our website where these assets can be downloaded.
* The Help menu was extended with "Quick Start" item, which
navigates the user to the beginner's guide on our website.
- Drop PrusaSlicer-pr11154-fix-cgal-c++-error.patch
- Drop PrusaSlicer-drop-wx3.0.patch
-------------------------------------------------------------------
Tue Aug 29 07:23:22 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Add PrusaSlicer-pr11154-fix-cgal-c++-error.patch
* gh#prusa3d/PrusaSlicer#11154
* Fixes error on CGAL 5.6
-------------------------------------------------------------------
Sun Aug 20 16:01:37 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Limit to CGAL < 5.6 as it introduced breaking changes which
PrusaSlicer is not compatible yet
- Disable failing ix86 build
-------------------------------------------------------------------
Fri Jul 21 10:32:11 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Require wxWidgets >= 3.1.6
* Add PrusaSlicer-drop-wx3.0.patch
* gh#prusa3d/PrusaSlicer#11026, gh#prusa3d/PrusaSlicer#11027
-------------------------------------------------------------------
Sun Jul 9 14:30:54 UTC 2023 - Ben Greiner <code@bnavigator.de>
- BuildRequire nanosvg-devel >= 2022.12.22
* only the fltk fork has nsvgRasterizeXY()
-------------------------------------------------------------------
Wed Jul 5 14:13:11 UTC 2023 - Hans-Peter Jansen <hpj@urpla.net>
- disable slic3r_jobs_tests.cpp, as it fails sometimes
- PrusaSlicer-2.6.0-wxWidgets-CheckResizerFlags-assert-fix.patch
applied
-------------------------------------------------------------------
Tue Jul 4 17:16:14 UTC 2023 - Hans-Peter Jansen <hpj@urpla.net>
- Update to version 2.6.0
* too many changes to list here, you may want to check:
https://github.com/prusa3d/PrusaSlicer/commits/version_2.6.0
* PrusaSlicer-boost1.79.patch was applied upstream: removed
* PrusaSlicer-cereal.patch was applied upstream: removed
* gentoo-887055-boost-fix.patch was applied upstream: removed
* new dependencies: nanosvg (new package), glu and glew
* more sed fiddling required for system expat and qhull support
* PrusaSlicer-2.6.0-octoprint-name-fix.patch added to work around
compile error: cast lambda expressionn to same type
* wxWidgets 3.0 is not supported anymore (even project states
otherwise). Let's hope, it will work with 3.2 better now.
upstream is using a patched 3.1 version.
-------------------------------------------------------------------
Fri Apr 21 15:04:55 UTC 2023 - Klaus Kämpf <kkaempf@suse.com>
- Update to version 2.5.2
* contains profiles for Original Prusa MK4 printer
- Update to version 2.5.1
* 'Monotonic lines' top/bottom fill pattern
* It is now possible to set acceleration separately for external
perimeters, solid infill and top solid infill (Print Settings->
Speed->Acceleration control)
* Original Prusa XL specific: Arrangement into the corner
* Fixed a crash sometimes occurring when slicing very detailed models
* Added Original Prusa XL profiles
-------------------------------------------------------------------
Tue Jan 31 18:34:16 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Add gentoo-887055-boost-fix.patch
* Fix build error with boost-filesystem 1.81
* gh#prusa3d/PrusaSlicer#9294
* https://bugs.gentoo.org/887055
-------------------------------------------------------------------
Sun Jan 1 17:25:36 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update up-occt-version.patch
* Allow any version for openCASCADE
* Luckily, the package compiles with recently updated occt v7.7
-------------------------------------------------------------------
Sat Oct 29 11:35:55 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to version 2.5.0
* Arachne perimeter generator
* Lightning infill
* Pressure equalizer
* STEP file import
* various smaller features and bugfixes
* Big changelog since v2.4.2, most changes decribed in alpha and
beta release notes:
https://github.com/prusa3d/PrusaSlicer/releases
- Add up-occt-version.patch
-------------------------------------------------------------------
Mon Sep 5 17:17:49 UTC 2022 - Hans-Peter Jansen <hpj@urpla.net>
- Quoting Lucas Matena (see gh#prusa3d/PrusaSlicer#8299, issue 2):
if you link PrusaSlicer 2.5.x with wxWidgets 3.2, you will most
likely break it: link against wxWidgets 3.0.5
-------------------------------------------------------------------
Mon Aug 1 15:42:40 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Add PrusaSlicer-cereal.patch -- gh#prusa3d/PrusaSlicer#7809
-------------------------------------------------------------------
Tue May 31 19:04:00 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Disable test_voronoi -- rh#2059646
-------------------------------------------------------------------
Sun May 8 10:03:57 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to version 2.4.2
* SLA mode incorrectly handled 3MFs from 3rd party software,
resulting in misplaced SLA support points and holes in some
cases (#6100, #7359, #7189, #7826, #7659). This is very old
issue.
* Vase mode preview did not show in cases when Custom Start
G-Code lacked moves in Z #8032
* When loading a 3rd party 3MF using drag and drop. PrusaSlicer
no longer asks if the 3MF shall be loaded as a project (which
makes no sense since it contains no config) and loads the
geometry only
* Using the Layer Height Modifier with the wipe tower was
impossible with multiple objects. The wipe tower reported that
the layer height profile is different, even though it was in
fact set the same on all objects (#7711, #7903, #8044)
* Fixed a crash on "Convert from/to units" when several objects
were selected
* Automatic color change for logo crashed PrusaSlicer in certain
cases (when a one-layer object was present) #8156
* Linux specific: Fixed a crash on opening projects in some cases
(#8078, #8097)
* Added Snapmaker bundle (Snapmaker A250, Snapmaker A350). Based
on https://github.com/nivekmai/snapmaker-prusa by @nivekmai,
@WilliamBosacker, @mrworf
* Added profiles for Zonestar printers (Z5, Z6, Z5X, Z8, Z9),
based on slic3r/slic3r-profiles#19 by @ZONESTAR3D
* Fixed a crash when Unsaved Changes dialog attempted to show a
modified config option which is not available in current mode
(e.g. Start G-Code in Simple mode). #7905
* Fixed a bug that when the user was closing the application and
replied 'Yes' in the dialog asking about unsaved project while
also checking 'Remember my choice', it made it impossible to
close PrusaSlicer in the next runs when there were no objects
in the plater #8076, #8122
* Loading of a G-Code in G-Code Viewer or loading config from
G-Code file sometimes failed because of a bug in parsing of the
configuration block at the end.
* Fixed incorrect rendering of some characters used in the
recently updated Simplified Chinese translation #8171
* Fixed incorrect number of toolchanges reported in "Sliced Info"
box when wipe tower was used. The annotations of toolchanges in
G-Code were also numbered wrong #8186
* Fixed a crash when using the "Import SL1 Archive" function and
either cancelling the dialog or confirming a non-existing file
#8175
* Recycling symbols in Shape Gallery were mirrored so the user
does not have to flip them when using them as negative volumes
at the base of the print (which is the usual use case). Also,
PLA recycling symbol was added #7800
-------------------------------------------------------------------
Mon Apr 25 11:27:58 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Refresh PrusaSlicer-boost1.79.patch with upstream's fix
* gh#prusa3d/PrusaSlicer#8238
-------------------------------------------------------------------
Sun Apr 24 09:26:22 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Add PrusaSlicer-boost1.79.patch avoiding the deprecation
of boost::filesystem::ofstream in Boost 1.79
* gh#prusa3d/PrusaSlicer#8238
-------------------------------------------------------------------
Tue Apr 12 12:59:51 UTC 2022 - Hans-Peter Jansen <hpj@urpla.net>
- Use gcc version 10 for anything but Tumbleweed
-------------------------------------------------------------------
Tue Apr 12 06:41:47 UTC 2022 - Adrian Schröter <adrian@suse.de>
- Use gcc version 10
This allows the build on Leap 15.3/15.4 and in Factory using the same
compiler.
- Add buildignore to libglfw3-wayland to fix building for 15.3
-------------------------------------------------------------------
Fri Mar 18 11:44:17 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to 2.4.1
* Big changelog since v2.4.0, most changes decribed in alpha and
beta release notes:
https://github.com/prusa3d/PrusaSlicer/releases
* introducing G-Code Substitutions
* fixing bugs found in 2.4.0 release
-------------------------------------------------------------------
Fri Dec 24 14:39:28 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to 2.4.0
* Big changelog since v2.3.3, most changes decribed in alpha and
beta release notes:
https://github.com/prusa3d/PrusaSlicer/releases
* Send system info: new dialog for telemetry. Opt-in.
- Drop patches
* PrusaSlicer-catch2upd.patch
* PrusaSlicer-issue6681-openvdb.patch
* PrusaSlicer-pr6590-updateTBB.patch
-------------------------------------------------------------------
Tue Nov 23 11:21:48 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Make compatible with TBB 2021
* add FindTBB.cmake -- gh#prusa3d/PrusaSlicer#7332
* add PrusaSlicer-pr6590-updateTBB.patch
gh#prusa3d/PrusaSlicer#6590
-------------------------------------------------------------------
Fri Sep 24 07:53:45 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Add PrusaSlicer-catch2upd.patch
* gh#prusa3d/PrusaSlicer#6518
* Update of Catch2 test framework from v2.13.3 to v2.13.6
* Fixes build failure due to change of MINSIGSTKSZ in glibc 2.34
-------------------------------------------------------------------
Mon Aug 30 11:37:03 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Add PrusaSlicer-issue6681-openvdb.patch
* gh#prusa3d/PrusaSlicer#6681
* ilmbase-devel is now provided by openexr-devel
* OpenVDB's FindOpenVDB.cmake requires blosc-devel
-------------------------------------------------------------------
Fri Jul 16 15:22:48 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to v2.3.3
* fix a bug in handling FDM multi-material project and
configuration files.
-------------------------------------------------------------------
Fri Jul 9 16:08:39 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to v2.3.2
* Introducing support for the new Prusa SL1S SPEED masked
SLA printer, Prusa CW1S firmware updater, PrusaLink
host type for Prusa i3 MK3 printers, Monotonic infill
for all solid layers, better support for reading
configurations of newer PrusaSlicer releases, new 3rd
party printer profiles and a handful of bug fixes.
- Switch to bundled GLEW -- gh#prusa3d/PrusaSlicer#6396
-------------------------------------------------------------------
Tue Apr 20 10:50:45 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to v2.3.1
New 3rd party printer profiles
* Multiple Creality printers profiles were added (Ender-3 Max,
Ender-4, Ender-6, CR-5 Pro, CR-5 Pro H, CR-6 SE, CR-6 Max,
CR-10 Max, CR-200B, CR-8), thanks @pmjdebruijn.
* Added Artillery printer profiles (Sidewinder X1, Genius),
thanks @SzabolcsHornyak.
* Added INAT printer profiles, thanks @MarkINAT.
* Updated Anycubic Kossel bed texture (thanks @brunosso) and
Anycubic Kossel bed STL.
Vulnerability issues fixed
* The Talos Cisco Intelligence Group did a great job identifying
potential security issues in loading invalid and potentially
malicious AMF and 3MF files, see their vulnerability reports
TALOS-2020-1222 and TALOS-2020-1218. We fixed these two
potential security issues with this release of PrusaSlicer.
Bugs fixed with respect to PrusaSlicer 2.3.0
* Reduced number of hits shown by the "Find config option"
dialog, fixed case insensitive search for non-Latin1 languages
#5202.
* Fixed G-code preview with coloring by a tool and visualization
of travels enabled #6095.
* Fixed opening of drop down menus at the bottom of the screen
on multi-monitor setups #2999 #5911 #5957. This issue has been
fixed by us in wxWidgets and accepted by the upstream.
-------------------------------------------------------------------
Mon Jan 11 18:43:08 UTC 2021 - Benjamin Greiner <code@bnavigator.de>
- Update to v2.3.0
* Introducing paint-on supports, ironing, monotonic
infill, seam painting, adaptive and support cubic
infill, print time per feature analysis, standalone
G-code viewer application, better auto-arrange with a
customizable gap and rotation, search function for the
settings, reworked "Avoid crossing perimeters" function,
physical printers (network settings), many new 3rd party
printer profiles and much, much more.
- Full Changelog entries for betas and release candidates:
https://github.com/prusa3d/PrusaSlicer/releases
- Drop PrusaSlicer-pr4340-boost-1-73.patch merged upstream
-------------------------------------------------------------------
Sun Dec 20 20:12:40 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- Remove extra PrusaSlicer.desktop. Use upstream's desktop files.
Graphics;3DGraphics seems to be the consensus now.
- Remove wrapper gh#prusa3d/PrusaSlicer#4691
-------------------------------------------------------------------
Tue Sep 1 21:20:26 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- support boost >= 1.73
* PrusaSlicer-pr4340-boost-1-73.patch gh#prusa3d/PrusaSlicer#4340
* fixes gh#prusa3d/PrusaSlicer#4264
-------------------------------------------------------------------
Tue Sep 1 11:46:30 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- enforce GDK_BACKEND=x11 by indroducing the same wrapper as Fedora
gh#prusa3d/PrusaSlicer#4691
-------------------------------------------------------------------
Thu Aug 20 15:50:07 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- revert the memoryperjob change. The build process really acquires
that much memory per job and the workers cannot provide 3GB per
CPU core. Sadly, we are limited by memory not by CPU cores.
- require 11 GB of RAM. This allows us to run 3 jobs in parallel and
can be provided by all architectures
-------------------------------------------------------------------
Thu Aug 20 09:03:33 UTC 2020 - Martin Liška <mliska@suse.cz>
- Use memoryperjob constraint instead of %limit_build macro.
- Use only 1GB for memoryperjob.
-------------------------------------------------------------------
Mon Aug 10 08:12:10 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Use wxGTK3 instead of wxWidgets (GTK2), for better HiDPI and
Wayland support.
-------------------------------------------------------------------
Tue Jun 16 12:09:13 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- This is mainly a cosmetic update so that the package gets rebuilt
in Factory. Rebuild is needed because of wxWidgets - boo#1172750
- Add openvdb-tools package for better cmake reporting.
- Make the 32-bit floating point workaround more readable.
gh#prusa3d/PrusaSlicer#3781
-------------------------------------------------------------------
Fri Apr 24 07:24:26 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- BuildRequire pkgconfig(libudev) instead of libudev-devel: allow
OBS to shortcut through -mini flavors.
-------------------------------------------------------------------
Sat Mar 21 22:08:07 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- update to version 2.2.0
introducing SLA hollowing and hole drilling, support for 3rd party
printer vendors, 3Dconnexion support, automatic variable layer height,
macOS dark mode support, greatly improved ColorPrint feature and much,
much more.
See https://github.com/prusa3d/PrusaSlicer/releases/tag/version_2.2.0
and the changelogs for the release candidates, betas and alphas since
2.1.1 for a complete list of changes.
- reactivate parallel builds, but need strong enough workers and reserve
4G of memory per thread (memory-constraints, %limit_build)
- new build dependencies: cgal, ilmbase, more of boost, libudev, openvdb
-------------------------------------------------------------------
Wed Dec 11 10:24:01 UTC 2019 - Benjamin Greiner <code@bnavigator.de>
- update to version 2.1.1
- integrating the Prusa Mini printer into the
installation wizard
- 3D scene thumbnails are newly generated and exported
into the G-code to be displayed on the Prusa Mini
printer's display
- use Graphics;3DGraphics for non Tumbleweed distros
-------------------------------------------------------------------
Fri Sep 13 19:34:47 UTC 2019 - Benjamin Greiner <code@bnavigator.de>
- final 2.1.0
- symlink icon files instead of duplicate copy
-------------------------------------------------------------------
Sat Sep 7 15:00:17 UTC 2019 - Benjamin Greiner <code@bnavigator.de>
- new version 2.1.0-rc
- remove obsolete patch file
- tag localization files
- remove stray Noto font file, add as dependency
- outsource Desktop file creation
- move Desktop category to "Science;Construction"
-------------------------------------------------------------------
Mon Jul 29 11:30:21 UTC 2019 - Benjamin Greiner <code@bnavigator.de>
- Clean up specfile according to declined submit request 718985
- Remove non-devel BuildRequires
- Move icons to icons/hicolor
- build with -j1 as otherwise x64 build is stuck
-------------------------------------------------------------------
Fri Jul 26 15:25:15 UTC 2019 - Benjamin Greiner <code@bnavigator.de>
- use new patch from upstream
(see https://github.com/prusa3d/PrusaSlicer/pull/2676)
- use Education;Construction as long as boo#1074711 is not resolved
-------------------------------------------------------------------
Tue Jul 23 11:29:49 UTC 2019 - Benjamin Greiner <code@bnavigator.de>
- initial specfile

181
PrusaSlicer.spec Normal file
View File

@ -0,0 +1,181 @@
#
# spec file for package PrusaSlicer
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: PrusaSlicer
Version: 2.8.1
Release: 0
Summary: G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
License: AGPL-3.0-only
Group: Hardware/Printing
URL: https://www.prusa3d.com/prusaslicer/
# SourceRepository: https://github.com/prusa3d/PrusaSlicer
Source0: https://github.com/prusa3d/PrusaSlicer/archive/version_%{version}.tar.gz#/%{name}-version_%{version}.tar.gz
# PATCH-FIX-UPSTREAM PrusaSlicer-2.7.1-slic3r-wxWidgets-3.2.4.patch gh#prusa3d/PrusaSlicer#11769
Patch1: PrusaSlicer-2.7.1-slic3r-wxWidgets-3.2.4.patch
# PATCH-FIX-UPSTREAM PrusaSlicer-2.8.1-pr13609-fix-build.patch gh#prusa3d/PrusaSlicer#13609
Patch2: PrusaSlicer-2.8.1-pr13609-fix-build.patch
# PATCH-FIX-OPENSUSE PrusaSlicer-2.8.1-pr13761-fix-occtwrapper.patch gh#prusa3d/PrusaSlicer#13761
Patch10: PrusaSlicer-2.8.1-pr13761-fix-occtwrapper.patch
# PATCH-FIX-OPENSUSE PrusaSlicer-2.6.0-octoprint-name-fix.patch -- cast lambda expression to same type
Patch11: PrusaSlicer-2.6.0-octoprint-name-fix.patch
BuildRequires: blosc-devel
BuildRequires: cereal-devel
BuildRequires: cgal-devel >= 5.6
BuildRequires: cmake
BuildRequires: eigen3-devel >= 3
BuildRequires: expat
BuildRequires: fdupes
# gcc v8 is required as least for charconv header. version 10 exists on 15.4 and tumbleweed
%if 0%{?suse_version} >= 1550
%define gcc_ver %{gcc_version}
%else
%define gcc_ver 10
%endif
BuildRequires: gcc%gcc_ver-c++
BuildRequires: gtest >= 1.7
BuildRequires: libboost_atomic-devel
BuildRequires: libboost_filesystem-devel
BuildRequires: libboost_iostreams-devel
BuildRequires: libboost_locale-devel
BuildRequires: libboost_log-devel
BuildRequires: libboost_nowide-devel
BuildRequires: libboost_regex-devel
BuildRequires: libboost_system-devel
BuildRequires: libboost_thread-devel
BuildRequires: libcurl-devel
BuildRequires: libexpat-devel
BuildRequires: libjpeg-devel
BuildRequires: memory-constraints
BuildRequires: nlopt-devel
BuildRequires: occt-devel
BuildRequires: openexr-devel
BuildRequires: openssl-devel
BuildRequires: openvdb-devel >= 7.1
BuildRequires: openvdb-tools
BuildRequires: pkgconfig
BuildRequires: tbb-devel
BuildRequires: wxGTK3-devel >= 3.2
# need the fltk fork, see deps/NanoSVG/NanoSVG.cmake
BuildRequires: nanosvg-devel >= 2022.12.22
BuildRequires: (cmake(Catch2) >= 2.9 with cmake(Catch2) < 3)
BuildRequires: cmake(LibBGCode)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glew)
BuildRequires: pkgconfig(glu)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(qhull_r)
BuildRequires: pkgconfig(qhullcpp)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-egl)
BuildRequires: pkgconfig(webkit2gtk-4.1)
Requires: noto-sans-fonts
# Cannot allocate memory to build
ExcludeArch: %{ix86}
%description
PrusaSlicer takes 3D models (STL, OBJ, AMF) and converts them into G-code
instructions for FFF printers or PNG layers for mSLA 3D printers. It's
compatible with any modern printer based on the RepRap toolchain, including
all those based on the Marlin, Prusa, Sprinter and Repetier firmware.
It also works with Mach3, LinuxCNC and Machinekit controllers.
%prep
%autosetup -p1 -n %{name}-version_%{version}
%if 0%{?suse_version}
sed -i 's/UNKNOWN/%{release}-%{?is_opensuse:open}SUSE-%{suse_version}/' version.inc
%endif
# this is not prusaslicer specific, space mouse users install it themselves
rm resources/udev/90-3dconnexion.rules
# adjust the qhull version requirement
sed -i "s|find_package(Qhull 7.2 REQUIRED)|find_package(Qhull 8.0.2 REQUIRED)|" src/CMakeLists.txt
# fix qhull link with static lib issue
sed -i 's#INTERFACE Qhull::qhullcpp#INTERFACE -lqhullcpp#' src/CMakeLists.txt
# Disable slic3r_jobs_tests.cpp as the test fails sometimes
sed -i 's|slic3r_jobs_tests.cpp||' tests/slic3rutils/CMakeLists.txt
%build
# The build process really acquires that much memory per job. We are
# limited by memory not by CPU cores. Using memoryperjob in _constraints cannot
# provide any workers on some architectures. This is still better than not using
# parallel building at all.
# https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.build_job_constraints.html
# https://en.opensuse.org/openSUSE:Specfile_guidelines#Parallel_make
%limit_build -m 3072
export CC=gcc-%gcc_ver CXX=g++-%gcc_ver
%cmake \
-DCMAKE_CXX_STANDARD=17 \
-DSLIC3R_FHS=1 \
-DSLIC3R_GTK=3 \
-DOPENVDB_FIND_MODULE_PATH=%{_libdir}/cmake/OpenVDB
%cmake_build
%install
%cmake_install
#remove stray font file
rm -rf %{buildroot}%{_datadir}/%{name}/fonts
# Copied and adapted from Fedora package:
# https://src.fedoraproject.org/rpms/prusa-slicer
# Upstream installs the translation source files when they probably shouldn't
rm %{buildroot}%{_datadir}/%{name}/localization/{PrusaSlicer.pot,list.txt}
find %{buildroot}%{_datadir}/%{name}/localization/ -name \*.po -delete
# Copied and adapted from Fedora package:
# https://src.fedoraproject.org/rpms/prusa-slicer
# Handle locale files. The find_lang macro doesn't work because it doesn't
# understand the directory structure. This copies part of the funtionality of
# find-lang.sh by:
# * Getting a listing of all files
# * removing the buildroot prefix
# * inserting the proper 'lang' tag
# * removing everything that doesn't have a lang tag
# * A list of lang-specific directories is also added
# The resulting file is included in the files list, where we must be careful to
# exclude that directory.
find %{buildroot}%{_datadir}/%{name}/localization -type f -o -type l | sed '
s:'"%{buildroot}"'::
s:\(.*/%{name}/localization/\)\([^/_]\+\)\(.*\.mo$\):%%lang(\2) \1\2\3:
s:^\([^%].*\)::
s:%lang(C) ::
/^$/d
' > lang-files
find %{buildroot}%{_datadir}/%{name}/localization -type d | sed '
s:'"%{buildroot}"'::
s:\(.*\):%dir \1:
' >> lang-files
%fdupes %{buildroot}%{_datadir}
%check
%ctest
%files -f lang-files
%{_bindir}/prusa-slicer
%{_bindir}/prusa-gcodeviewer
%{_libdir}/OCCTWrapper.so
%dir %{_datadir}/%{name}/
%{_datadir}/%{name}/{icons,models,profiles,shaders,udev,data,shapes,web}/
%{_datadir}/icons/hicolor/*/apps/%{name}*.png
%{_datadir}/applications/PrusaSlicer.desktop
%{_datadir}/applications/PrusaGcodeviewer.desktop
%license LICENSE
%doc README.md doc/
%changelog

11
_constraints Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<constraints>
<hardware>
<disk>
<size unit="G">20</size>
</disk>
<physicalmemory>
<size unit="G">16</size>
</physicalmemory>
</hardware>
</constraints>

28
up-occt-version.patch Normal file
View File

@ -0,0 +1,28 @@
Index: PrusaSlicer-version_2.8.1/src/occt_wrapper/CMakeLists.txt
===================================================================
--- PrusaSlicer-version_2.8.1.orig/src/occt_wrapper/CMakeLists.txt 2024-09-18 15:39:04.000000000 +0200
+++ PrusaSlicer-version_2.8.1/src/occt_wrapper/CMakeLists.txt 2024-12-08 10:38:01.245676008 +0100
@@ -19,14 +19,10 @@ include(GenerateExportHeader)
generate_export_header(OCCTWrapper)
-find_package(OpenCASCADE 7.6.1 REQUIRED)
+find_package(OpenCASCADE REQUIRED)
set(OCCT_LIBS
- TKXDESTEP
- TKSTEP
- TKSTEP209
- TKSTEPAttr
- TKSTEPBase
+ TKDESTEP
TKXCAF
TKXSBase
TKVCAF
@@ -59,5 +55,5 @@ target_link_libraries(OCCTWrapper libsli
include(GNUInstallDirs)
-install(TARGETS OCCTWrapper DESTINATION "${CMAKE_INSTALL_BINDIR}")
+install(TARGETS OCCTWrapper DESTINATION "${CMAKE_INSTALL_LIBDIR}")