Accepting request 1107871 from home:bnavigator:prusaslicer

- Add PrusaSlicer-pr11154-fix-cgal-c++-error.patch
  * gh#prusa3d/PrusaSlicer#11154
  * Fixes error on CGAL 5.6

OBS-URL: https://build.opensuse.org/request/show/1107871
OBS-URL: https://build.opensuse.org/package/show/science/PrusaSlicer?expand=0&rev=64
This commit is contained in:
Benjamin Greiner 2023-08-29 08:29:32 +00:00 committed by Git OBS Bridge
parent 13512f0571
commit a42f41e3c7
3 changed files with 53 additions and 1 deletions

View File

@ -0,0 +1,43 @@
From dcc281f3604b8508ec01e6649c883d7fff4bd3d1 Mon Sep 17 00:00:00 2001
From: Chow Loong Jin <hyperair@debian.org>
Date: Tue, 22 Aug 2023 15:35:56 +0800
Subject: [PATCH] Fix compilation errors with -std=gnu++17
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes the following error:
[ 19%] Built target imgui
/<<PKGBUILDDIR>>/src/libslic3r/MeshBoolean.cpp: In instantiation of indexed_triangle_set Slic3r::MeshBoolean::cgal::cgal_to_indexed_triangle_set(const _Mesh&) [with _Mesh = CGAL::Surface_mesh<CGAL::Point_3<CGAL::Epick> >]:
/<<PKGBUILDDIR>>/src/libslic3r/MeshBoolean.cpp:185:53: required from here
/<<PKGBUILDDIR>>/src/libslic3r/MeshBoolean.cpp:151:5: error: cannot bind non-const lvalue reference of type CGAL::SM_Vertex_index& to an rvalue of type boost::iterators::detail::iterator_facade_base<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Epick> >::Index_iterator<CGAL::SM_Vertex_index>, CGAL::SM_Vertex_index, std::random_access_iterator_tag, CGAL::SM_Vertex_index, long int, false, false>::reference {aka CGAL::SM_Vertex_index}
151 | for (auto &vi : vertices) {
| ^~~
/<<PKGBUILDDIR>>/src/libslic3r/MeshBoolean.cpp:156:5: error: cannot bind non-const lvalue reference of type CGAL::SM_Face_index& to an rvalue of type boost::iterators::detail::iterator_facade_base<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Epick> >::Index_iterator<CGAL::SM_Face_index>, CGAL::SM_Face_index, std::random_access_iterator_tag, CGAL::SM_Face_index, long int, false, false>::reference {aka CGAL::SM_Face_index}
156 | for (auto &face : faces) {
| ^~~
make[3]: *** [src/libslic3r/CMakeFiles/libslic3r_cgal.dir/build.make:121: src/libslic3r/CMakeFiles/libslic3r_cgal.dir/MeshBoolean.cpp.o] Error 1
---
src/libslic3r/MeshBoolean.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/libslic3r/MeshBoolean.cpp b/src/libslic3r/MeshBoolean.cpp
index c7ebcbd19e0..06fa5f35fce 100644
--- a/src/libslic3r/MeshBoolean.cpp
+++ b/src/libslic3r/MeshBoolean.cpp
@@ -148,12 +148,12 @@ indexed_triangle_set cgal_to_indexed_triangle_set(const _Mesh &cgalmesh)
const auto &vertices = cgalmesh.vertices();
int vsize = int(vertices.size());
- for (auto &vi : vertices) {
+ for (const auto &vi : vertices) {
auto &v = cgalmesh.point(vi); // Don't ask...
its.vertices.emplace_back(to_vec3f(v));
}
- for (auto &face : faces) {
+ for (const auto &face : faces) {
auto vtc = cgalmesh.vertices_around_face(cgalmesh.halfedge(face));
int i = 0;

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
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>

View File

@ -32,13 +32,15 @@ Patch1: PrusaSlicer-2.6.0-octoprint-name-fix.patch
Patch2: PrusaSlicer-2.6.0-wxWidgets-CheckResizerFlags-assert-fix.patch
# PATCH-FIX-UPSTREAM PrusaSlicer-drop-wx3.0.patch gh#prusa3d/PrusaSlicer#11027 - wxWidgets >= 3.1.6 is required
Patch3: PrusaSlicer-drop-wx3.0.patch
# PATCH-FIX-UPSTREAM PrusaSlicer-pr11154-fix-cgal-c++-error.patch gh#prusa3d/PrusaSlicer#11154
Patch4: PrusaSlicer-pr11154-fix-cgal-c++-error.patch
BuildRequires: blosc-devel
BuildRequires: cereal-devel
BuildRequires: cgal-devel >= 5.6
BuildRequires: cmake
BuildRequires: eigen3-devel >= 3
BuildRequires: expat
BuildRequires: fdupes
BuildRequires: (cgal-devel >= 4.13.2 with cgal-devel < 5.6)
# 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}