You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
4.5 KiB
105 lines
4.5 KiB
From: =?utf-8?q?Timo_R=C3=B6hling?= <roehling@debian.org>
|
|
Date: Fri, 14 Oct 2022 11:59:04 +0200
|
|
Subject: Prefer Debian default version of Python
|
|
|
|
Forwarded: not-needed
|
|
---
|
|
Modules/FindPython/Support.cmake | 20 ++++++++++++++++++++
|
|
Modules/FindPythonInterp.cmake | 20 ++++++++++++++++++++
|
|
Modules/FindPythonLibs.cmake | 20 ++++++++++++++++++++
|
|
3 files changed, 60 insertions(+)
|
|
|
|
diff --git a/Modules/FindPython/Support.cmake b/Modules/FindPython/Support.cmake
|
|
index c4fae6b..3e4279e 100644
|
|
--- a/Modules/FindPython/Support.cmake
|
|
+++ b/Modules/FindPython/Support.cmake
|
|
@@ -23,6 +23,26 @@ if (NOT DEFINED _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
|
|
endif()
|
|
if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL "3")
|
|
set(_${_PYTHON_PREFIX}_VERSIONS 3.12 3.11 3.10 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
|
|
+ # Debian-specific: prefer current default version
|
|
+ if(NOT DEFINED PYTHON3_DEBIAN_DEFAULT_VERSION)
|
|
+ execute_process(
|
|
+ COMMAND py3versions -vd
|
|
+ OUTPUT_VARIABLE _PYTHON3_DEFAULT_VERSION
|
|
+ RESULT_VARIABLE _PYTHON3_DEFAULT_RESULT
|
|
+ OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
+ ERROR_QUIET
|
|
+ )
|
|
+ if(_PYTHON3_DEFAULT_RESULT EQUAL "0")
|
|
+ set(PYTHON3_DEBIAN_DEFAULT_VERSION "${_PYTHON3_DEFAULT_VERSION}" CACHE INTERNAL "Current Python 3 default version in Debian")
|
|
+ endif()
|
|
+ unset(_PYTHON3_DEFAULT_VERSION)
|
|
+ unset(_PYTHON3_DEFAULT_RESULT)
|
|
+ endif()
|
|
+ if(DEFINED PYTHON3_DEBIAN_DEFAULT_VERSION)
|
|
+ list(REMOVE_ITEM _${_PYTHON_PREFIX}_VERSIONS ${PYTHON3_DEBIAN_DEFAULT_VERSION})
|
|
+ list(INSERT _${_PYTHON_PREFIX}_VERSIONS 0 ${PYTHON3_DEBIAN_DEFAULT_VERSION})
|
|
+ endif()
|
|
+ # End of Debian-specific code
|
|
elseif (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL "2")
|
|
set(_${_PYTHON_PREFIX}_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
|
|
else()
|
|
diff --git a/Modules/FindPythonInterp.cmake b/Modules/FindPythonInterp.cmake
|
|
index 7ad3587..d6e41b0 100644
|
|
--- a/Modules/FindPythonInterp.cmake
|
|
+++ b/Modules/FindPythonInterp.cmake
|
|
@@ -76,6 +76,26 @@ if(PythonInterp_FIND_VERSION)
|
|
set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON${PythonInterp_FIND_VERSION_MAJOR}_VERSIONS})
|
|
endif()
|
|
else()
|
|
+ # Debian-specific: prefer current default version
|
|
+ if(NOT DEFINED PYTHON3_DEBIAN_DEFAULT_VERSION)
|
|
+ execute_process(
|
|
+ COMMAND py3versions -vd
|
|
+ OUTPUT_VARIABLE _PYTHON3_DEFAULT_VERSION
|
|
+ RESULT_VARIABLE _PYTHON3_DEFAULT_RESULT
|
|
+ OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
+ ERROR_QUIET
|
|
+ )
|
|
+ if(_PYTHON3_DEFAULT_RESULT EQUAL "0")
|
|
+ set(PYTHON3_DEBIAN_DEFAULT_VERSION "${_PYTHON3_DEFAULT_VERSION}" CACHE INTERNAL "Current Python 3 default version in Debian")
|
|
+ endif()
|
|
+ unset(_PYTHON3_DEFAULT_VERSION)
|
|
+ unset(_PYTHON3_DEFAULT_RESULT)
|
|
+ endif()
|
|
+ if(DEFINED PYTHON3_DEBIAN_DEFAULT_VERSION)
|
|
+ list(REMOVE_ITEM _PYTHON3_VERSIONS ${PYTHON3_DEBIAN_DEFAULT_VERSION})
|
|
+ list(INSERT _PYTHON3_VERSIONS 0 ${PYTHON3_DEBIAN_DEFAULT_VERSION})
|
|
+ endif()
|
|
+ # End of Debian-specific code
|
|
set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON3_VERSIONS} ${_PYTHON2_VERSIONS} ${_PYTHON1_VERSIONS})
|
|
endif()
|
|
find_program(PYTHON_EXECUTABLE NAMES ${_Python_NAMES})
|
|
diff --git a/Modules/FindPythonLibs.cmake b/Modules/FindPythonLibs.cmake
|
|
index 43a84dd..8bf2015 100644
|
|
--- a/Modules/FindPythonLibs.cmake
|
|
+++ b/Modules/FindPythonLibs.cmake
|
|
@@ -103,6 +103,26 @@ if(PythonLibs_FIND_VERSION)
|
|
set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON${PythonLibs_FIND_VERSION_MAJOR}_VERSIONS})
|
|
endif()
|
|
else()
|
|
+ # Debian-specific: prefer current default version
|
|
+ if(NOT DEFINED PYTHON3_DEBIAN_DEFAULT_VERSION)
|
|
+ execute_process(
|
|
+ COMMAND py3versions -vd
|
|
+ OUTPUT_VARIABLE _PYTHON3_DEFAULT_VERSION
|
|
+ RESULT_VARIABLE _PYTHON3_DEFAULT_RESULT
|
|
+ OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
+ ERROR_QUIET
|
|
+ )
|
|
+ if(_PYTHON3_DEFAULT_RESULT EQUAL "0")
|
|
+ set(PYTHON3_DEBIAN_DEFAULT_VERSION "${_PYTHON3_DEFAULT_VERSION}" CACHE INTERNAL "Current Python 3 default version in Debian")
|
|
+ endif()
|
|
+ unset(_PYTHON3_DEFAULT_VERSION)
|
|
+ unset(_PYTHON3_DEFAULT_RESULT)
|
|
+ endif()
|
|
+ if(DEFINED PYTHON3_DEBIAN_DEFAULT_VERSION)
|
|
+ list(REMOVE_ITEM _PYTHON3_VERSIONS ${PYTHON3_DEBIAN_DEFAULT_VERSION})
|
|
+ list(INSERT _PYTHON3_VERSIONS 0 ${PYTHON3_DEBIAN_DEFAULT_VERSION})
|
|
+ endif()
|
|
+ # End of Debian-specific code
|
|
set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON3_VERSIONS} ${_PYTHON2_VERSIONS} ${_PYTHON1_VERSIONS})
|
|
endif()
|
|
|