From c914c483da130bb7b149787fad43798f0195321c Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 8 Oct 2012 11:12:12 -0500 Subject: [PATCH] cmake/python3 love (kde#275919) --- kdelibs-cmake_python3.patch | 54 +++++++++++++++++++++++++++++++++++++ kdelibs.spec | 9 ++++++- 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 kdelibs-cmake_python3.patch diff --git a/kdelibs-cmake_python3.patch b/kdelibs-cmake_python3.patch new file mode 100644 index 0000000..c2214ef --- /dev/null +++ b/kdelibs-cmake_python3.patch @@ -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) diff --git a/kdelibs.spec b/kdelibs.spec index 7145580..9dde94c 100644 --- a/kdelibs.spec +++ b/kdelibs.spec @@ -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 6:4.9.2-6 +- cmake/python3 love (kde#275919) + * Thu Oct 04 2012 Rex Dieter 6:4.9.2-5 - multilib conflict /usr/share/doc/HTML/en/sonnet/index.cache.bz2 (#862388)