cmake/python3 love (kde#275919)

This commit is contained in:
Rex Dieter 2012-10-08 11:12:12 -05:00
parent 7595b4761c
commit c914c483da
2 changed files with 62 additions and 1 deletions

View File

@ -0,0 +1,54 @@
--- a/cmake/modules/FindLibPython.py 2011-07-27 13:34:31.000000000 -0500
+++ b/cmake/modules/FindLibPython.py 2012-07-24 14:57:17.259160400 -0500
@@ -11,3 +11,5 @@
print("long_version:%s" % sys.version.split()[0])
print("py_inc_dir:%s" % distutils.sysconfig.get_python_inc())
print("site_packages_dir:%s" % distutils.sysconfig.get_python_lib(plat_specific=1))
+if sys.version_info >= (3, 2):
+ print("abiflags:%s" % sys.abiflags)
--- a/cmake/modules/FindPythonLibrary.cmake 2011-07-27 13:34:31.000000000 -0500
+++ b/cmake/modules/FindPythonLibrary.cmake 2012-07-24 15:06:50.180929600 -0500
@@ -54,6 +54,9 @@
string(REGEX REPLACE ".*\npy_inc_dir:([^\n]+).*$" "\\1" _TMP_PYTHON_INCLUDE_PATH ${python_config})
string(REGEX REPLACE ".*\nsite_packages_dir:([^\n]+).*$" "\\1" _TMP_PYTHON_SITE_PACKAGES_DIR ${python_config})
+ if(PYTHON_SHORT_VERSION VERSION_GREATER "3.1")
+ string(REGEX REPLACE ".*\nabiflags:([^\n]+).*$" "\\1" _TMP_PYTHON_ABIFLAGS ${python_config})
+ endif(PYTHON_SHORT_VERSION VERSION_GREATER "3.1")
# Put these two variables in the cache so they are visible for the user, but read-only:
set(PYTHON_INCLUDE_PATH "${_TMP_PYTHON_INCLUDE_PATH}" CACHE PATH "The python include directory" FORCE)
@@ -63,7 +66,7 @@
set(PYTHON_SITE_PACKAGES_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/python${PYTHON_SHORT_VERSION}/site-packages CACHE PATH "The directory where python modules will be installed to.")
string(REGEX REPLACE "([0-9]+).([0-9]+)" "\\1\\2" PYTHON_SHORT_VERSION_NO_DOT ${PYTHON_SHORT_VERSION})
- set(PYTHON_LIBRARY_NAMES python${PYTHON_SHORT_VERSION} python${PYTHON_SHORT_VERSION_NO_DOT})
+ set(PYTHON_LIBRARY_NAMES python${PYTHON_SHORT_VERSION}${_TMP_PYTHON_ABIFLAGS} python${PYTHON_SHORT_VERSION_NO_DOT})
if(WIN32)
string(REPLACE "\\" "/" PYTHON_SITE_PACKAGES_DIR ${PYTHON_SITE_PACKAGES_DIR})
endif(WIN32)
--- a/cmake/modules/PythonMacros.cmake 2011-07-27 13:34:31.000000000 -0500
+++ b/cmake/modules/PythonMacros.cmake 2012-07-24 15:31:33.386764200 -0500
@@ -34,7 +34,13 @@
endif(WIN32)
SET(_bin_py ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename})
- SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc)
+ if(PYTHON_VERSION_STRING VERSION_GREATER "3.1.99")
+ execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import imp; print(imp.cache_from_source('${_filename}'), end='')" OUTPUT_VARIABLE _filename_pyc)
+ SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename_pyc})
+ GET_FILENAME_COMPONENT(_basepath_pyc ${_filename_pyc} PATH)
+ else(PYTHON_VERSION_STRING VERSION_GREATER "3.1.99")
+ SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc)
+ endif(PYTHON_VERSION_STRING VERSION_GREATER "3.1.99")
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_basepath})
@@ -58,5 +64,6 @@
)
ENDIF(_abs_bin_py STREQUAL ${_absfilename})
- INSTALL(FILES ${_bin_pyc} DESTINATION ${DESINATION_DIR})
+ INSTALL(FILES ${_bin_pyc} DESTINATION ${DESINATION_DIR}/${_basepath_pyc})
+
ENDMACRO(PYTHON_INSTALL)

View File

@ -25,7 +25,7 @@
Summary: KDE Libraries
Version: 4.9.2
Release: 5%{?dist}
Release: 6%{?dist}
Name: kdelibs
Epoch: 6
@ -151,6 +151,9 @@ Patch56: kdelibs-4.9.1-FindKipi-libkipi2.patch
# krunner using ~/Documents as working directory, revert kde#108510, kde#183534
Patch57: kdelibs-4.9.2-revert-kde#108510-kde#183534.patch
# cmake/python3 love, see # https://bugs.kde.org/show_bug.cgi?id=275919
Patch58: kdelibs-cmake_python3.patch
## upstream
## security fix
@ -322,6 +325,7 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
%patch55 -p1 -b .FindSamba-samba4
%patch56 -p1 -b .FindKipi-libkipi2
%patch57 -p1 -b .revert-kde#108510-kde#183534
%patch58 -p1 -b .cmake_python3
# upstream patches
@ -579,6 +583,9 @@ rm -rf %{buildroot}
%changelog
* Mon Oct 08 2012 Rex Dieter <rdieter@fedoraproject.org> 6:4.9.2-6
- cmake/python3 love (kde#275919)
* Thu Oct 04 2012 Rex Dieter <rdieter@fedoraproject.org> 6:4.9.2-5
- multilib conflict /usr/share/doc/HTML/en/sonnet/index.cache.bz2 (#862388)