commit:     28078997c912c4034ebc66afa7bccd81812ac2b3
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Nov  4 20:33:38 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Nov  4 20:34:09 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28078997

sci-libs/pcl: fix build with newer VTK

Closes: https://bugs.gentoo.org/810853
See: https://github.com/PointCloudLibrary/pcl/pull/5012
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-libs/pcl/files/pcl-1.12.0-cmake-targets.patch | 26 +++++++++++++++++++++++
 sci-libs/pcl/pcl-1.12.0.ebuild                    |  4 ++++
 2 files changed, 30 insertions(+)

diff --git a/sci-libs/pcl/files/pcl-1.12.0-cmake-targets.patch 
b/sci-libs/pcl/files/pcl-1.12.0-cmake-targets.patch
new file mode 100644
index 00000000000..40821674779
--- /dev/null
+++ b/sci-libs/pcl/files/pcl-1.12.0-cmake-targets.patch
@@ -0,0 +1,26 @@
+https://github.com/PointCloudLibrary/pcl/pull/5012
+https://bugs.gentoo.org/810853
+
+From: Maarten de Vries <[email protected]>
+Date: Wed, 3 Nov 2021 21:40:19 +0100
+Subject: [PATCH] Limit VTK_LIBRARIES to wanted components for VTK 9.0.
+
+--- a/cmake/pcl_find_vtk.cmake
++++ b/cmake/pcl_find_vtk.cmake
+@@ -119,6 +119,15 @@ else()
+   unset(HAVE_QVTK)
+ endif()
+ 
++# Overwrite VTK_LIBRARIES with only the set we actually want for VTK >= 9.0.
++# Otherwise, it will contain ALL available components.
++if(NOT (VTK_VERSION VERSION_LESS 9.0))
++  set(VTK_LIBRARIES)
++  foreach(vtkComponent ${PCL_VTK_COMPONENTS})
++    list(APPEND VTK_LIBRARIES VTK::${vtkComponent})
++  endforeach()
++endif()
++
+ if(PCL_SHARED_LIBS OR (NOT (PCL_SHARED_LIBS) AND NOT (VTK_BUILD_SHARED_LIBS)))
+   if(VTK_VERSION VERSION_LESS 9.0)
+     if(VTK_USE_FILE)
+

diff --git a/sci-libs/pcl/pcl-1.12.0.ebuild b/sci-libs/pcl/pcl-1.12.0.ebuild
index 1ab0b8e362f..e3cd374256f 100644
--- a/sci-libs/pcl/pcl-1.12.0.ebuild
+++ b/sci-libs/pcl/pcl-1.12.0.ebuild
@@ -61,6 +61,10 @@ REQUIRED_USE="
        tutorials? ( doc )
 "
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.12.0-cmake-targets.patch
+)
+
 src_configure() {
        local mycmakeargs=(
                "-DLIB_INSTALL_DIR=$(get_libdir)"

Reply via email to