Backport patch to add support for Python >= 3.10 in FindBoost.cmake

This commit is contained in:
Björn Esser 2021-12-17 23:56:43 +01:00
parent 1ddd4423ba
commit c106851f54
No known key found for this signature in database
GPG Key ID: F52E98007594C21D
2 changed files with 85 additions and 1 deletions

View File

@ -0,0 +1,78 @@
From d4bb6c0c7fe8e3ee5aaa275cf939d074f959119b Mon Sep 17 00:00:00 2001
From: Oleg Sidorkin <osidorkin@gmail.com>
Date: Thu, 16 Dec 2021 21:24:00 +0300
Subject: [PATCH 6/6] FindBoost: Add support for Python 3.10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Regexps in FindBoost assumed that python's minor version had only one
digit. That became not true for 3.10.
Fixes: #23025
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
---
Modules/FindBoost.cmake | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index 0ad342f0e6..75cbbf56bc 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -390,7 +390,7 @@ cmake_policy(SET CMP0102 NEW) # if mark_as_advanced(non_cache_var)
function(_boost_get_existing_target component target_var)
set(names "${component}")
- if(component MATCHES "^([a-z_]*)(python|numpy)([1-9])\\.?([0-9])?$")
+ if(component MATCHES "^([a-z_]*)(python|numpy)([1-9])\\.?([0-9]+)?$")
# handle pythonXY and numpyXY versioned components and also python X.Y, mpi_python etc.
list(APPEND names
"${CMAKE_MATCH_1}${CMAKE_MATCH_2}" # python
@@ -407,7 +407,7 @@ function(_boost_get_existing_target component target_var)
if(TARGET "${prefix}::${name}")
# The target may be an INTERFACE library that wraps around a single other
# target for compatibility. Unwrap this layer so we can extract real info.
- if("${name}" MATCHES "^(python|numpy|mpi_python)([1-9])([0-9])$")
+ if("${name}" MATCHES "^(python|numpy|mpi_python)([1-9])([0-9]+)$")
set(name_nv "${CMAKE_MATCH_1}")
if(TARGET "${prefix}::${name_nv}")
get_property(type TARGET "${prefix}::${name}" PROPERTY TYPE)
@@ -430,7 +430,7 @@ endfunction()
function(_boost_get_canonical_target_name component target_var)
string(TOLOWER "${component}" component)
- if(component MATCHES "^([a-z_]*)(python|numpy)([1-9])\\.?([0-9])?$")
+ if(component MATCHES "^([a-z_]*)(python|numpy)([1-9])\\.?([0-9]+)?$")
# handle pythonXY and numpyXY versioned components and also python X.Y, mpi_python etc.
set(${target_var} "Boost::${CMAKE_MATCH_1}${CMAKE_MATCH_2}" PARENT_SCOPE)
else()
@@ -1004,7 +1004,7 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
# against the new release.
# Handle Python version suffixes
- if(component MATCHES "^(python|mpi_python|numpy)([0-9][0-9]?|[0-9]\\.[0-9])\$")
+ if(component MATCHES "^(python|mpi_python|numpy)([0-9][0-9]?|[0-9]\\.[0-9]+)\$")
set(component "${CMAKE_MATCH_1}")
set(component_python_version "${CMAKE_MATCH_2}")
endif()
@@ -1408,7 +1408,7 @@ endfunction()
#
function(_Boost_COMPONENT_HEADERS component _hdrs)
# Handle Python version suffixes
- if(component MATCHES "^(python|mpi_python|numpy)([0-9][0-9]?|[0-9]\\.[0-9])\$")
+ if(component MATCHES "^(python|mpi_python|numpy)([0-9]+|[0-9]\\.[0-9]+)\$")
set(component "${CMAKE_MATCH_1}")
set(component_python_version "${CMAKE_MATCH_2}")
endif()
@@ -2165,7 +2165,7 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
if(${COMPONENT} MATCHES "^(python|mpi_python|numpy)([0-9])\$")
set(COMPONENT_UNVERSIONED "${CMAKE_MATCH_1}")
set(COMPONENT_PYTHON_VERSION_MAJOR "${CMAKE_MATCH_2}")
- elseif(${COMPONENT} MATCHES "^(python|mpi_python|numpy)([0-9])\\.?([0-9])\$")
+ elseif(${COMPONENT} MATCHES "^(python|mpi_python|numpy)([0-9])\\.?([0-9]+)\$")
set(COMPONENT_UNVERSIONED "${CMAKE_MATCH_1}")
set(COMPONENT_PYTHON_VERSION_MAJOR "${CMAKE_MATCH_2}")
set(COMPONENT_PYTHON_VERSION_MINOR "${CMAKE_MATCH_3}")
--
2.33.1

View File

@ -68,7 +68,7 @@
%{?rcsuf:%global versuf -%{rcsuf}}
# For handling bump release by rpmdev-bumpspec and mass rebuild
%global baserelease 3
%global baserelease 4
# Uncomment if building for EPEL
#global name_suffix %%{major_version}
@ -115,6 +115,9 @@ Patch103: 0003-Add-support-for-Python-3.11.patch
# Add support for Boost 1.78 (merged in upstream)
# https://gitlab.kitware.com/cmake/cmake/-/issues/23016
Patch104: 0004-FindBoost-Add-support-for-Boost-1.78.patch
# FindBoost: Add support for Python >= 3.10 (merged in upstream)
# https://gitlab.kitware.com/cmake/cmake/-/issues/23025
Patch105: 0005-FindBoost-Add-support-for-Python-3.10.patch
# Patch for renaming on EPEL
%if 0%{?name_suffix:1}
@ -532,6 +535,9 @@ popd
%changelog
* Fri Dec 17 2021 Björn Esser <besser82@fedoraproject.org> - 3.22.1-4
- Backport patch to add support for Python >= 3.10 in FindBoost.cmake
* Thu Dec 16 2021 Björn Esser <besser82@fedoraproject.org> - 3.22.1-3
- Backport patch to add Boost 1.78 support