From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1670252-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 63CB3158083
	for <garchives@archives.gentoo.org>; Fri, 13 Sep 2024 10:58:40 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 9497FE29CD;
	Fri, 13 Sep 2024 10:58:39 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 719E7E29CD
	for <gentoo-commits@lists.gentoo.org>; Fri, 13 Sep 2024 10:58:39 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 6E9183406D1
	for <gentoo-commits@lists.gentoo.org>; Fri, 13 Sep 2024 10:58:38 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id A98DC16F4
	for <gentoo-commits@lists.gentoo.org>; Fri, 13 Sep 2024 10:58:36 +0000 (UTC)
From: "Miroslav Šulc" <fordfrog@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Miroslav Šulc" <fordfrog@gentoo.org>
Message-ID: <1726225114.1866dd34bc4caf98b06e25d177f9cbc1b062e097.fordfrog@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/prusaslicer/, media-gfx/prusaslicer/files/
X-VCS-Repository: repo/gentoo
X-VCS-Files: media-gfx/prusaslicer/files/prusaslicer-2.8.0-cgal-6.0.patch media-gfx/prusaslicer/files/prusaslicer-2.8.1-cgal-6.0.patch media-gfx/prusaslicer/files/prusaslicer-2.8.1-eigen3.patch media-gfx/prusaslicer/files/prusaslicer-2.8.1-fixed-linking.patch media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch media-gfx/prusaslicer/prusaslicer-9999.ebuild
X-VCS-Directories: media-gfx/prusaslicer/files/ media-gfx/prusaslicer/
X-VCS-Committer: fordfrog
X-VCS-Committer-Name: Miroslav Šulc
X-VCS-Revision: 1866dd34bc4caf98b06e25d177f9cbc1b062e097
X-VCS-Branch: master
Date: Fri, 13 Sep 2024 10:58:36 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 84f86727-3ca8-471e-a5bb-339386b3026e
X-Archives-Hash: c4b43d347bfd013c228bcc868a5994e9

commit:     1866dd34bc4caf98b06e25d177f9cbc1b062e097
Author:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 13 10:58:22 2024 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Sep 13 10:58:34 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1866dd34

media-gfx/prusaslicer: fixed live ebuild

Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 .../files/prusaslicer-2.8.0-cgal-6.0.patch         |  6 ---
 ...-6.0.patch => prusaslicer-2.8.1-cgal-6.0.patch} | 44 +++++++++----------
 .../files/prusaslicer-2.8.1-eigen3.patch           | 11 -----
 .../files/prusaslicer-2.8.1-fixed-linking.patch    | 37 +++++++++++++++-
 .../files/prusaslicer-2.8.1-fstream.patch          | 49 ++++++++++++++++++++++
 media-gfx/prusaslicer/prusaslicer-9999.ebuild      |  8 ++--
 6 files changed, 108 insertions(+), 47 deletions(-)

diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.8.0-cgal-6.0.patch b/media-gfx/prusaslicer/files/prusaslicer-2.8.0-cgal-6.0.patch
index 31c98bd75580..52013146b1c3 100644
--- a/media-gfx/prusaslicer/files/prusaslicer-2.8.0-cgal-6.0.patch
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.8.0-cgal-6.0.patch
@@ -3,12 +3,6 @@ From: Laurent Rineau <laurent.rineau@cgal.org>
 Date: Sat, 13 Jul 2024 01:19:21 +0200
 Subject: [PATCH] compatibility with CGAL-6.0 (and 5.6.x)
 
----
- src/libslic3r/CutSurface.cpp | 53 +++++++++++++++++++++---------------
- 1 file changed, 31 insertions(+), 22 deletions(-)
-
-diff --git a/src/libslic3r/CutSurface.cpp b/src/libslic3r/CutSurface.cpp
-index b2cf3d96596..5e66d41a8f1 100644
 --- a/src/libslic3r/CutSurface.cpp
 +++ b/src/libslic3r/CutSurface.cpp
 @@ -4,6 +4,14 @@

diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.8.0-cgal-6.0.patch b/media-gfx/prusaslicer/files/prusaslicer-2.8.1-cgal-6.0.patch
similarity index 89%
copy from media-gfx/prusaslicer/files/prusaslicer-2.8.0-cgal-6.0.patch
copy to media-gfx/prusaslicer/files/prusaslicer-2.8.1-cgal-6.0.patch
index 31c98bd75580..3aac479197bb 100644
--- a/media-gfx/prusaslicer/files/prusaslicer-2.8.0-cgal-6.0.patch
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.8.1-cgal-6.0.patch
@@ -3,12 +3,8 @@ From: Laurent Rineau <laurent.rineau@cgal.org>
 Date: Sat, 13 Jul 2024 01:19:21 +0200
 Subject: [PATCH] compatibility with CGAL-6.0 (and 5.6.x)
 
----
- src/libslic3r/CutSurface.cpp | 53 +++++++++++++++++++++---------------
- 1 file changed, 31 insertions(+), 22 deletions(-)
+updated for 2.8.1
 
-diff --git a/src/libslic3r/CutSurface.cpp b/src/libslic3r/CutSurface.cpp
-index b2cf3d96596..5e66d41a8f1 100644
 --- a/src/libslic3r/CutSurface.cpp
 +++ b/src/libslic3r/CutSurface.cpp
 @@ -4,6 +4,14 @@
@@ -26,15 +22,15 @@ index b2cf3d96596..5e66d41a8f1 100644
  /// models_input.obj - Check transormation of model to each others
  /// projection_center.obj - circle representing center of projection with correct distance
  /// {M} .. model index
-@@ -33,6 +41,7 @@ using namespace Slic3r;
+@@ -31,6 +39,7 @@ using namespace Slic3r;
  #include <CGAL/Exact_integer.h>
  #include <CGAL/Surface_mesh.h>
  #include <CGAL/Cartesian_converter.h>
 +#include <CGAL/AABB_traits.h>
- #include <tbb/parallel_for.h>
- 
- // libslic3r
-@@ -997,8 +1006,8 @@ priv::CutMesh priv::to_cgal(const ExPolygons  &shapes,
+ #include <oneapi/tbb/blocked_range.h>
+ #include <oneapi/tbb/parallel_for.h>
+ #include <boost/property_map/property_map.hpp>
+@@ -1021,8 +1030,8 @@ priv::CutMesh priv::to_cgal(const ExPolygons  &shapes,
      if (shapes.empty()) return {};
          
      CutMesh result;
@@ -45,7 +41,7 @@ index b2cf3d96596..5e66d41a8f1 100644
  
      std::vector<VI> indices;
      auto insert_contour = [&projection, &indices, &result, 
-@@ -1408,17 +1417,17 @@ priv::CutAOIs priv::cut_from_model(CutMesh                &cgal_model,
+@@ -1432,17 +1441,17 @@ priv::CutAOIs priv::cut_from_model(CutMesh                &cgal_model,
                                     const ExPolygonsIndices &s2i)
  {
      // pointer to edge or face shape_map
@@ -67,7 +63,7 @@ index b2cf3d96596..5e66d41a8f1 100644
      const auto &p = CGAL::parameters::visitor(visitor)
                          .edge_is_constrained_map(ecm)
                          .throw_on_self_intersection(false);
-@@ -1427,7 +1436,7 @@ priv::CutAOIs priv::cut_from_model(CutMesh                &cgal_model,
+@@ -1451,7 +1460,7 @@ priv::CutAOIs priv::cut_from_model(CutMesh                &cgal_model,
  
      if (!is_valid) return {};
  
@@ -76,7 +72,7 @@ index b2cf3d96596..5e66d41a8f1 100644
  
      // Select inside and outside face in model
      set_face_type(face_type_map, cgal_model, vert_shape_map, ecm, cgal_shape, s2i);
-@@ -1563,8 +1572,8 @@ void priv::collect_surface_data(std::queue<FI>  &process,
+@@ -1587,8 +1596,8 @@ void priv::collect_surface_data(std::queue<FI>  &process,
  
  void priv::create_reduce_map(ReductionMap &reduction_map, const CutMesh &mesh)
  {
@@ -87,7 +83,7 @@ index b2cf3d96596..5e66d41a8f1 100644
  
      // check if vertex was made by edge_2 which is diagonal of quad
      auto is_reducible_vertex = [&vert_shape_map](VI reduction_from) -> bool {
-@@ -1749,10 +1758,10 @@ priv::VDistances priv::calc_distances(const SurfacePatches &patches,
+@@ -1773,10 +1782,10 @@ priv::VDistances priv::calc_distances(const SurfacePatches &patches,
      for (const SurfacePatch &patch : patches) {
          // map is created during intersection by corefine visitor
          const VertexShapeMap &vert_shape_map = 
@@ -100,7 +96,7 @@ index b2cf3d96596..5e66d41a8f1 100644
          // for each point on outline
          for (const Loop &loop : patch.loops) 
          for (const VI &vi_patch : loop) {
-@@ -2640,7 +2649,7 @@ priv::SurfacePatch priv::create_surface_patch(const std::vector<FI> &fis,
+@@ -2666,7 +2675,7 @@ priv::SurfacePatch priv::create_surface_patch(const std::vector<FI> &fis,
                                                /* const */ CutMesh   &mesh,
                                                const ReductionMap    *rmap)
  {
@@ -109,7 +105,7 @@ index b2cf3d96596..5e66d41a8f1 100644
      uint32_t count_vertices = 0;
      if (rmap == nullptr) {
          for (FI fi : fis) 
-@@ -2670,7 +2679,7 @@ priv::SurfacePatch priv::create_surface_patch(const std::vector<FI> &fis,
+@@ -2696,7 +2705,7 @@ priv::SurfacePatch priv::create_surface_patch(const std::vector<FI> &fis,
      cm.reserve(count_vertices, count_edges, count_faces);
  
      // vertex conversion function from mesh VI to result VI
@@ -118,7 +114,7 @@ index b2cf3d96596..5e66d41a8f1 100644
  
      if (rmap == nullptr) {
          for (FI fi : fis) {
-@@ -2722,7 +2731,7 @@ priv::SurfacePatch priv::create_surface_patch(const std::vector<FI> &fis,
+@@ -2748,7 +2757,7 @@ priv::SurfacePatch priv::create_surface_patch(const std::vector<FI> &fis,
      assert(count_edges >= cm.edges().size());
      
      // convert VI from this patch to source VI, when exist
@@ -127,7 +123,7 @@ index b2cf3d96596..5e66d41a8f1 100644
      // vi_s .. VertexIndex into mesh (source)
      // vi_d .. new VertexIndex in cm (destination)
      for (VI vi_s : mesh.vertices()) { 
-@@ -2913,7 +2922,7 @@ bool priv::is_patch_inside_of_model(const SurfacePatch &patch,
+@@ -2939,7 +2948,7 @@ bool priv::is_patch_inside_of_model(const SurfacePatch &patch,
  uint32_t priv::get_shape_point_index(const CutAOI &cut, const CutMesh &model)
  {
      // map is created during intersection by corefine visitor
@@ -136,7 +132,7 @@ index b2cf3d96596..5e66d41a8f1 100644
      // for each half edge of outline
      for (HI hi : cut.second) {
          VI vi = model.source(hi);
-@@ -2938,7 +2947,7 @@ priv::SurfacePatch priv::separate_patch(const std::vector<FI>& fis,
+@@ -2964,7 +2973,7 @@ priv::SurfacePatch priv::separate_patch(const std::vector<FI>& fis,
      patch_new.model_id     = patch.model_id;
      patch_new.shape_id     = patch.shape_id;
      // fix cvt
@@ -145,7 +141,7 @@ index b2cf3d96596..5e66d41a8f1 100644
      for (VI &vi : cvt) {
          if (!vi.is_valid()) continue;
          vi = cvt_from[vi];
-@@ -2956,9 +2965,9 @@ void priv::divide_patch(size_t i, SurfacePatchesEx &patches)
+@@ -2982,9 +2991,9 @@ void priv::divide_patch(size_t i, SurfacePatchesEx &patches)
      CutMesh& cm = patch.mesh;
      assert(!cm.faces().empty());
      std::string patch_number_name = "f:patch_number";
@@ -157,7 +153,7 @@ index b2cf3d96596..5e66d41a8f1 100644
  
      std::vector<FI> fis;
      fis.reserve(cm.faces().size());
-@@ -3059,7 +3068,7 @@ priv::SurfacePatches priv::diff_models(VCutAOIs            &cuts,
+@@ -3085,7 +3094,7 @@ priv::SurfacePatches priv::diff_models(VCutAOIs            &cuts,
          CutAOIs &model_cuts = cuts[model_index];
          CutMesh &cut_model_ = cut_models[model_index];
          const CutMesh &cut_model = cut_model_;
@@ -166,7 +162,7 @@ index b2cf3d96596..5e66d41a8f1 100644
          create_reduce_map(vertex_reduction_map, cut_model);
  
          for (size_t cut_index = 0; cut_index < model_cuts.size(); ++cut_index, ++index) {
-@@ -3145,7 +3154,7 @@ bool priv::is_over_whole_expoly(const CutAOI    &cutAOI,
+@@ -3171,7 +3180,7 @@ bool priv::is_over_whole_expoly(const CutAOI    &cutAOI,
                                  const CutMesh   &mesh)
  {
      // NonInterupted contour is without other point and contain all from shape    
@@ -175,7 +171,7 @@ index b2cf3d96596..5e66d41a8f1 100644
      for (HI hi : cutAOI.second) { 
          const IntersectingElement *ie_s = vert_shape_map[mesh.source(hi)];
          const IntersectingElement *ie_t = vert_shape_map[mesh.target(hi)];
-@@ -3682,7 +3691,7 @@ void priv::store(const CutMesh &mesh, const FaceTypeMap &face_type_map, const st
+@@ -3708,7 +3717,7 @@ void priv::store(const CutMesh &mesh, const FaceTypeMap &face_type_map, const st
      }
  
      CutMesh &mesh_ = const_cast<CutMesh &>(mesh);
@@ -184,7 +180,7 @@ index b2cf3d96596..5e66d41a8f1 100644
      for (FI fi : mesh.faces()) { 
          auto &color = face_colors[fi];
          switch (face_type_map[fi]) {
-@@ -3708,7 +3717,7 @@ void priv::store(const CutMesh &mesh, const ReductionMap &reduction_map, const s
+@@ -3734,7 +3743,7 @@ void priv::store(const CutMesh &mesh, const ReductionMap &reduction_map, const s
      std::string off_file = dir + "model" + std::to_string(reduction_order++) + ".off";
  
      CutMesh &mesh_ = const_cast<CutMesh &>(mesh);

diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.8.1-eigen3.patch b/media-gfx/prusaslicer/files/prusaslicer-2.8.1-eigen3.patch
deleted file mode 100644
index e215125b1486..000000000000
--- a/media-gfx/prusaslicer/files/prusaslicer-2.8.1-eigen3.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/libslic3r/CMakeLists.txt
-+++ b/src/libslic3r/CMakeLists.txt
-@@ -629,7 +629,7 @@ target_link_libraries(libslic3r PRIVATE
-     int128
- )
- target_link_libraries(libslic3r PUBLIC
--    Eigen3::Eigen
-+    Eigen3
-     semver
-     admesh
-     localesutils

diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fixed-linking.patch b/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fixed-linking.patch
index 2c7ab74a4c87..b7fc95554591 100644
--- a/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fixed-linking.patch
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fixed-linking.patch
@@ -1,6 +1,31 @@
+--- a/bundled_deps/admesh/CMakeLists.txt
++++ b/bundled_deps/admesh/CMakeLists.txt
+@@ -13,4 +13,3 @@ add_library(admesh STATIC
+ 
+ target_include_directories(admesh PUBLIC .)
+ target_link_libraries(admesh PRIVATE boost_headeronly localesutils)
+-target_link_libraries(admesh PUBLIC Eigen3::Eigen)
+--- a/src/clipper/CMakeLists.txt
++++ b/src/clipper/CMakeLists.txt
+@@ -10,5 +10,4 @@ add_library(clipper STATIC
+ )
+ 
+ target_link_libraries(clipper PRIVATE TBB::tbb TBB::tbbmalloc int128)
+-target_link_libraries(clipper PUBLIC Eigen3::Eigen)
+ target_include_directories(clipper PUBLIC .)
+--- a/src/libslic3r/CMakeLists.txt
++++ b/src/libslic3r/CMakeLists.txt
+@@ -629,7 +629,6 @@ target_link_libraries(libslic3r PRIVATE
+     int128
+ )
+ target_link_libraries(libslic3r PUBLIC
+-    Eigen3::Eigen
+     semver
+     admesh
+     localesutils
 --- a/src/slic3r/CMakeLists.txt
 +++ b/src/slic3r/CMakeLists.txt
-@@ -376,6 +376,7 @@ set(SLIC3R_GUI_SOURCES
+@@ -383,6 +383,7 @@ set(SLIC3R_GUI_SOURCES
  )
  
  find_package(NanoSVG REQUIRED)
@@ -8,3 +33,13 @@
  
  if (APPLE)
      list(APPEND SLIC3R_GUI_SOURCES
+@@ -438,6 +439,9 @@ target_link_libraries(
+     NanoSVG::nanosvgrast
+     stb_dxt
+     fastfloat
++    OpenSSL::SSL
++    OpenSSL::Crypto
++    Boost::log
+ )
+ 
+ if (MSVC)

diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch b/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch
new file mode 100644
index 000000000000..b4a92de67ab6
--- /dev/null
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch
@@ -0,0 +1,49 @@
+--- a/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp
++++ b/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp
+@@ -1595,7 +1595,7 @@ void GLGizmoSVG::draw_filename(){
+             if (dlg.ShowModal() == wxID_OK ){
+                 last_used_directory = dlg.GetDirectory();
+                 std::string out_path_str(into_u8(dlg.GetPath()));
+-                boost::nowide::ofstream stream(out_path_str);
++                std::ofstream stream(out_path_str);
+                 if (stream.is_open()){
+                     stream << *svg.file_data;
+ 
+--- a/src/slic3r/GUI/PresetArchiveDatabase.cpp
++++ b/src/slic3r/GUI/PresetArchiveDatabase.cpp
+@@ -514,7 +514,7 @@ void PresetArchiveDatabase::load_app_manifest_json()
+ 	if (!fs::exists(path, ec) || ec) {
+ 		copy_initial_manifest();
+ 	}
+-	boost::nowide::ifstream file(path.string());
++	std::ifstream file(path.string());
+ 	std::string data;
+ 	if (file.is_open()) {
+ 		std::string line;
+@@ -681,7 +681,7 @@ void PresetArchiveDatabase::save_app_manifest_json() const
+ 	data += "]";
+ 
+ 	std::string path = get_stored_manifest_path().string();
+-	boost::nowide::ofstream file(path);
++	std::ofstream file(path);
+ 	if (file.is_open()) {
+ 		file << data;
+ 		file.close();
+@@ -916,4 +916,4 @@ void PresetArchiveDatabase::sync_blocking()
+ 	read_server_manifest(std::move(manifest));
+ }
+ 
+-}} // Slic3r::GUI
+\ No newline at end of file
++}} // Slic3r::GUI
+--- a/src/slic3r/Utils/Http.cpp
++++ b/src/slic3r/Utils/Http.cpp
+@@ -301,7 +301,7 @@ void Http::priv::form_add_file(const char *name, const fs::path &path, const cha
+ //FIXME may throw! Is the caller aware of it?
+ void Http::priv::set_post_body(const fs::path &path)
+ {
+-	boost::nowide::ifstream file(path.string());
++	std::ifstream file(path.string());
+ 	std::string file_content { std::istreambuf_iterator<char>(file), std::istreambuf_iterator<char>() };
+ 	postfields = std::move(file_content);
+ }

diff --git a/media-gfx/prusaslicer/prusaslicer-9999.ebuild b/media-gfx/prusaslicer/prusaslicer-9999.ebuild
index 69208dbb54d1..fbf13e9d7d66 100644
--- a/media-gfx/prusaslicer/prusaslicer-9999.ebuild
+++ b/media-gfx/prusaslicer/prusaslicer-9999.ebuild
@@ -63,9 +63,9 @@ PATCHES=(
 	"${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch"
 	"${FILESDIR}/${PN}-2.8.0-missing-includes.patch"
 	"${FILESDIR}/${PN}-2.8.0-wxwidgets-3.2.4.patch"
-	"${FILESDIR}/${PN}-2.8.0-cgal-6.0.patch"
 	"${FILESDIR}/${PN}-2.8.1-fixed-linking.patch"
-	"${FILESDIR}/${PN}-2.8.1-eigen3.patch"
+	"${FILESDIR}/${PN}-2.8.1-cgal-6.0.patch"
+	"${FILESDIR}/${PN}-2.8.1-fstream.patch"
 )
 
 src_prepare() {
@@ -79,9 +79,7 @@ src_prepare() {
 		src/occt_wrapper/CMakeLists.txt || die
 
 	find . -type f \( -name '*.cpp' -o -name '*.h' -o -name '*.hpp' \) -exec \
-		sed -i 's|#include <Eigen/|#include <eigen3/Eigen/|g' {} + || die
-	find . -type f \( -name '*.cpp' -o -name '*.h' -o -name '*.hpp' \) -exec \
-		sed -i 's|#include <unsupported/Eigen/|#include <eigen3/unsupported/Eigen/|g' {} + || die
+		sed -i 's|#include <Eigen/|#include <eigen3/Eigen/|g; s|#include <unsupported/Eigen/|#include <eigen3/unsupported/Eigen/|g' {} + || die
 
 	cmake_src_prepare
 }