commit:     c95be8b47179196b157234c3b2805bef3045ad8e
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 21 18:19:00 2026 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Jan 21 18:47:47 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c95be8b4

sci-libs/pcl: Use upstream patches to fix PCLConfig.cmake for boost-1.89

Add dev-cpp/eigen:= slot op for upcoming eigen:5 version bump

Closes: https://bugs.gentoo.org/969095
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...4.1-boost.patch => pcl-1.14.1-boost-1.86.patch} |  0
 sci-libs/pcl/files/pcl-1.14.1-boost-1.89.patch     | 41 +++++++++++---
 sci-libs/pcl/files/pcl-1.14.1-boostconfig.patch    | 65 ++++++++++++++++++++++
 sci-libs/pcl/pcl-1.14.1-r2.ebuild                  |  3 +-
 .../{pcl-1.14.1-r2.ebuild => pcl-1.14.1-r3.ebuild} |  6 +-
 sci-libs/pcl/pcl-9999.ebuild                       |  2 +-
 6 files changed, 104 insertions(+), 13 deletions(-)

diff --git a/sci-libs/pcl/files/pcl-1.14.1-boost.patch 
b/sci-libs/pcl/files/pcl-1.14.1-boost-1.86.patch
similarity index 100%
rename from sci-libs/pcl/files/pcl-1.14.1-boost.patch
rename to sci-libs/pcl/files/pcl-1.14.1-boost-1.86.patch

diff --git a/sci-libs/pcl/files/pcl-1.14.1-boost-1.89.patch 
b/sci-libs/pcl/files/pcl-1.14.1-boost-1.89.patch
index c7a11626a27c..40f18cee281e 100644
--- a/sci-libs/pcl/files/pcl-1.14.1-boost-1.89.patch
+++ b/sci-libs/pcl/files/pcl-1.14.1-boost-1.89.patch
@@ -1,6 +1,26 @@
+From 99333442ac63971297b4cdd05fab9d2bd2ff57a4 Mon Sep 17 00:00:00 2001
+From: Michael Cho <[email protected]>
+Date: Wed, 27 Aug 2025 10:05:48 -0400
+Subject: [PATCH] Fix build with Boost 1.89.0
+
+This fixes a regression in 0404f7c382099e50196da6640c0ebba6d829392f
+/ 1.15.1 as `Boost::system` is not valid since Boost 1.89.0.
+
+PCL requires a minimum of Boost 1.71.0 so Boost.System is guaranteed to
+be header-only (since 1.69[^1]) and the component can be removed.
+
+* asturm 2026-01-21: Merge with backport of commit 0404f7c3 (Link
+  Boost::filesystem to pcl_outofcore) so it is equivalent to 99333442
+
+[^1]: 
https://www.boost.org/doc/libs/1_69_0/libs/system/doc/html/system.html#changes_in_boost_1_69
+---
+ cmake/pcl_find_boost.cmake | 4 ++--
+ outofcore/CMakeLists.txt   | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
 --- a/cmake/pcl_find_boost.cmake
 +++ b/cmake/pcl_find_boost.cmake
-@@ -19,16 +19,16 @@
+@@ -19,12 +19,12 @@
    # Optional boost modules
    set(BOOST_OPTIONAL_MODULES serialization mpi)
    # Required boost modules
@@ -14,10 +34,17 @@
 +  set(BOOST_REQUIRED_MODULES iostreams)
  endif()
  
--find_package(Boost 1.65.0 QUIET COMPONENTS ${BOOST_OPTIONAL_MODULES})
--find_package(Boost 1.65.0 REQUIRED COMPONENTS ${BOOST_REQUIRED_MODULES})
-+find_package(Boost 1.69.0 QUIET COMPONENTS ${BOOST_OPTIONAL_MODULES})
-+find_package(Boost 1.69.0 REQUIRED COMPONENTS ${BOOST_REQUIRED_MODULES})
+ find_package(Boost 1.65.0 QUIET COMPONENTS ${BOOST_OPTIONAL_MODULES})
+diff --git a/outofcore/CMakeLists.txt b/outofcore/CMakeLists.txt
+index 2d613c1ef25..1d668c5ea8e 100644
+--- a/outofcore/CMakeLists.txt
++++ b/outofcore/CMakeLists.txt
+@@ -69,7 +69,7 @@
  
- if(Boost_FOUND)
-   set(BOOST_FOUND TRUE)
+ PCL_ADD_LIBRARY(${LIB_NAME} COMPONENT ${SUBSYS_NAME} SOURCES ${srcs} ${incs} 
${impl_incs} ${visualization_incs})
+ #PCL_ADD_SSE_FLAGS("${LIB_NAME}")
+-target_link_libraries("${LIB_NAME}" pcl_common pcl_visualization 
${Boost_SYSTEM_LIBRARY})
++target_link_libraries("${LIB_NAME}" pcl_common pcl_visualization 
Boost::filesystem)
+ PCL_MAKE_PKGCONFIG(${LIB_NAME} COMPONENT ${SUBSYS_NAME} DESC ${SUBSYS_DESC} 
PCL_DEPS ${SUBSYS_DEPS})
+ 
+ # Install include files

diff --git a/sci-libs/pcl/files/pcl-1.14.1-boostconfig.patch 
b/sci-libs/pcl/files/pcl-1.14.1-boostconfig.patch
new file mode 100644
index 000000000000..530f1ce626aa
--- /dev/null
+++ b/sci-libs/pcl/files/pcl-1.14.1-boostconfig.patch
@@ -0,0 +1,65 @@
+From 0c8bf25e2a6d7e721983422f8513cdc177f8d1ab Mon Sep 17 00:00:00 2001
+From: Markus Vieth <[email protected]>
+Date: Thu, 15 Aug 2024 17:26:19 +0200
+Subject: [PATCH] Require Boost 1.71.0, switch to BoostConfig.cmake
+
+---
+ PCLConfig.cmake.in                          | 5 +----
+ cmake/Modules/AdditionalBoostVersions.cmake | 7 -------
+ cmake/pcl_find_boost.cmake                  | 6 ++----
+ 3 files changed, 3 insertions(+), 15 deletions(-)
+ delete mode 100644 cmake/Modules/AdditionalBoostVersions.cmake
+
+diff --git a/PCLConfig.cmake.in b/PCLConfig.cmake.in
+index a650af86fd7..b179a5d8b6e 100644
+--- a/PCLConfig.cmake.in
++++ b/PCLConfig.cmake.in
+@@ -94,10 +94,7 @@ macro(find_boost)
+     set(BOOST_INCLUDEDIR "@Boost_INCLUDE_DIR@")
+   endif()
+ 
+-  include(${CMAKE_CURRENT_LIST_DIR}/Modules/AdditionalBoostVersions.cmake)
+-  set(Boost_ADDITIONAL_VERSIONS 
"@Boost_MAJOR_VERSION@.@Boost_MINOR_VERSION@.@Boost_SUBMINOR_VERSION@" 
"@Boost_MAJOR_VERSION@.@Boost_MINOR_VERSION@" ${Boost_ADDITIONAL_VERSIONS})
+-  
+-  find_package(Boost 1.65.0 ${QUIET_} COMPONENTS 
@PCLCONFIG_AVAILABLE_BOOST_MODULES@)
++  find_package(Boost 1.71.0 ${QUIET_} COMPONENTS 
@PCLCONFIG_AVAILABLE_BOOST_MODULES@ CONFIG)
+ 
+   set(BOOST_FOUND ${Boost_FOUND})
+   set(BOOST_INCLUDE_DIRS "${Boost_INCLUDE_DIR}")
+diff --git a/cmake/Modules/AdditionalBoostVersions.cmake 
b/cmake/Modules/AdditionalBoostVersions.cmake
+deleted file mode 100644
+index 0a06d08d0eb..00000000000
+--- a/cmake/Modules/AdditionalBoostVersions.cmake
++++ /dev/null
+@@ -1,7 +0,0 @@
+-
+-set(Boost_ADDITIONAL_VERSIONS
+-  "1.85.0" "1.85"
+-  "1.84.0" "1.84" "1.83.0" "1.83" "1.82.0" "1.82" "1.81.0" "1.81" "1.80.0" 
"1.80"
+-  "1.79.0" "1.79" "1.78.0" "1.78" "1.77.0" "1.77" "1.76.0" "1.76" "1.75.0" 
"1.75" 
+-  "1.74.0" "1.74" "1.73.0" "1.73" "1.72.0" "1.72" "1.71.0" "1.71" "1.70.0" 
"1.70"
+-  "1.69.0" "1.69" "1.68.0" "1.68" "1.67.0" "1.67" "1.66.0" "1.66" "1.65.1" 
"1.65.0" "1.65")
+diff --git a/cmake/pcl_find_boost.cmake b/cmake/pcl_find_boost.cmake
+index f9e0b28d12c..5d5c7859e0a 100644
+--- a/cmake/pcl_find_boost.cmake
++++ b/cmake/pcl_find_boost.cmake
+@@ -13,8 +13,6 @@ else()
+   endif()
+ endif()
+ 
+-include(${CMAKE_CURRENT_LIST_DIR}/Modules/AdditionalBoostVersions.cmake)
+-
+ if(CMAKE_CXX_STANDARD MATCHES "14")
+   # Optional boost modules
+   set(BOOST_OPTIONAL_MODULES serialization mpi)
+@@ -27,8 +25,8 @@ else()
+   set(BOOST_REQUIRED_MODULES iostreams system)
+ endif()
+ 
+-find_package(Boost 1.65.0 QUIET COMPONENTS ${BOOST_OPTIONAL_MODULES})
+-find_package(Boost 1.65.0 REQUIRED COMPONENTS ${BOOST_REQUIRED_MODULES})
++find_package(Boost 1.71.0 QUIET COMPONENTS ${BOOST_OPTIONAL_MODULES} CONFIG)
++find_package(Boost 1.71.0 REQUIRED COMPONENTS ${BOOST_REQUIRED_MODULES} 
CONFIG)
+ 
+ if(Boost_FOUND)
+   set(BOOST_FOUND TRUE)

diff --git a/sci-libs/pcl/pcl-1.14.1-r2.ebuild 
b/sci-libs/pcl/pcl-1.14.1-r2.ebuild
index cdae584b678a..a4aed4e15e96 100644
--- a/sci-libs/pcl/pcl-1.14.1-r2.ebuild
+++ b/sci-libs/pcl/pcl-1.14.1-r2.ebuild
@@ -71,8 +71,7 @@ PATCHES=(
        
"${FILESDIR}"/${PN}-1.12.1-fix-hardcoded-relative-directory-of-the-installed-cmake-files.patch
        "${FILESDIR}"/${PN}-1.14.1-gcc15.patch
        "${FILESDIR}"/${PN}-1.14.1-tests.patch
-       "${FILESDIR}"/${PN}-1.14.1-boost.patch
-       "${FILESDIR}"/${PN}-1.14.1-boost-1.{87,89}.patch
+       "${FILESDIR}"/${PN}-1.14.1-boost-1.{86,87,89}.patch
 )
 
 src_prepare() {

diff --git a/sci-libs/pcl/pcl-1.14.1-r2.ebuild 
b/sci-libs/pcl/pcl-1.14.1-r3.ebuild
similarity index 94%
copy from sci-libs/pcl/pcl-1.14.1-r2.ebuild
copy to sci-libs/pcl/pcl-1.14.1-r3.ebuild
index cdae584b678a..1d9cd97b2a3b 100644
--- a/sci-libs/pcl/pcl-1.14.1-r2.ebuild
+++ b/sci-libs/pcl/pcl-1.14.1-r3.ebuild
@@ -30,7 +30,7 @@ RESTRICT="!test? ( test )"
 
 RDEPEND="
        dev-libs/boost:=
-       dev-cpp/eigen:3
+       dev-cpp/eigen:=
        >=sci-libs/flann-1.7.1
        opengl? (
                media-libs/freeglut
@@ -71,8 +71,8 @@ PATCHES=(
        
"${FILESDIR}"/${PN}-1.12.1-fix-hardcoded-relative-directory-of-the-installed-cmake-files.patch
        "${FILESDIR}"/${PN}-1.14.1-gcc15.patch
        "${FILESDIR}"/${PN}-1.14.1-tests.patch
-       "${FILESDIR}"/${PN}-1.14.1-boost.patch
-       "${FILESDIR}"/${PN}-1.14.1-boost-1.{87,89}.patch
+       "${FILESDIR}"/${PN}-1.14.1-boostconfig.patch # bug 969095, in 1.15
+       "${FILESDIR}"/${PN}-1.14.1-boost-1.{86,87,89}.patch # in 1.15; 1.89 fix 
in git master
 )
 
 src_prepare() {

diff --git a/sci-libs/pcl/pcl-9999.ebuild b/sci-libs/pcl/pcl-9999.ebuild
index fee79ca912be..db29168a0bbf 100644
--- a/sci-libs/pcl/pcl-9999.ebuild
+++ b/sci-libs/pcl/pcl-9999.ebuild
@@ -30,7 +30,7 @@ RESTRICT="!test? ( test )"
 
 RDEPEND="
        dev-libs/boost:=
-       dev-cpp/eigen:3
+       dev-cpp/eigen:=
        >=sci-libs/flann-1.7.1
        opengl? (
                media-libs/freeglut

Reply via email to