[kdelibs] cmake/python3 love (kde#275919)

Rex Dieter rdieter at fedoraproject.org
Mon Oct 8 16:11:53 UTC 2012


commit c914c483da130bb7b149787fad43798f0195321c
Author: Rex Dieter <rdieter at fedoraproject.org>
Date:   Mon Oct 8 11:12:12 2012 -0500

    cmake/python3 love (kde#275919)

 kdelibs-cmake_python3.patch |   54 +++++++++++++++++++++++++++++++++++++++++++
 kdelibs.spec                |    9 ++++++-
 2 files changed, 62 insertions(+), 1 deletions(-)
---
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 <rdieter at fedoraproject.org> 6:4.9.2-6
+- cmake/python3 love (kde#275919)
+
 * Thu Oct 04 2012 Rex Dieter <rdieter at fedoraproject.org> 6:4.9.2-5
 - multilib conflict /usr/share/doc/HTML/en/sonnet/index.cache.bz2 (#862388)
 


More information about the scm-commits mailing list