SVN commit 1141934 by neundorf:

-add cache variable PYTHON_SITE_PACKAGES_INSTALL_DIR, this can be used as 
install destination
 for python modules, PYTHON_SITE_PACKAGES_DIR should not be used, since this 
most probably
 requires root permissions- The new variable can be adjusted via the cache.

Also, this patch removes the PYTHON_LIBS_WITH_KDE_LIBS switch, this was 
undocumented, and 
anything with "KDE" in the name shouldn't appear in "FindPythonLibrary.cmake".

Alex

CCMAIL: [email protected]



 M  +9 -1      
kdebase/workspace/plasma/generic/scriptengines/python/CMakeLists.txt  
 M  +16 -8     kdelibs/cmake/modules/FindPythonLibrary.cmake  


--- 
trunk/KDE/kdebase/workspace/plasma/generic/scriptengines/python/CMakeLists.txt 
#1141933:1141934
@@ -8,8 +8,16 @@
 PYTHON_INSTALL(pydataengine.py ${DATA_INSTALL_DIR}/plasma_scriptengine_python)
 PYTHON_INSTALL(pyrunner.py ${DATA_INSTALL_DIR}/plasma_scriptengine_python)
 PYTHON_INSTALL(pywallpaper.py ${DATA_INSTALL_DIR}/plasma_scriptengine_python)
-PYTHON_INSTALL(plasmascript.py ${PYTHON_SITE_PACKAGES_DIR}/PyKDE4)
 
+# remove the following three lines once we branch 4.5, they are only necessary 
as long
+# as people update kdebase but not yet kdelibs 
(PYTHON_SITE_PACKAGES_INSTALL_DIR has just
+# recently been added to FindPYthonLib.cmake and should be used as install 
destination). Alex
+if(NOT PYTHON_SITE_PACKAGES_INSTALL_DIR)
+  set(PYTHON_SITE_PACKAGES_INSTALL_DIR ${PYTHON_SITE_PACKAGES_DIR} )
+endif(NOT PYTHON_SITE_PACKAGES_INSTALL_DIR)
+
+PYTHON_INSTALL(plasmascript.py ${PYTHON_SITE_PACKAGES_INSTALL_DIR}/PyKDE4)
+
 install(FILES plasma-scriptengine-applet-python.desktop
         DESTINATION ${SERVICES_INSTALL_DIR})
 install(FILES plasma-scriptengine-dataengine-python.desktop
--- trunk/KDE/kdelibs/cmake/modules/FindPythonLibrary.cmake #1141933:1141934
@@ -12,6 +12,11 @@
 # PYTHON_LONG_VERSION - The version of the Python interpreter found as a human
 #     readable string.
 #
+# PYTHON_SITE_PACKAGES_INSTALL_DIR - this cache variable can be used for 
installing 
+#                              own python modules. You may want to adjust this 
to be the
+#                              same as ${PYTHON_SITE_PACKAGES_DIR}, but then 
admin
+#                              privileges may be required for installation.
+#
 # PYTHON_SITE_PACKAGES_DIR - Location of the Python site-packages directory.
 #
 # PYTHON_INCLUDE_PATH - Directory holding the python.h include file.
@@ -46,14 +51,17 @@
       string(REGEX REPLACE ".*exec_prefix:([^\n]+).*$" "\\1" PYTHON_PREFIX 
${python_config})
       string(REGEX REPLACE ".*\nshort_version:([^\n]+).*$" "\\1" 
PYTHON_SHORT_VERSION ${python_config})
       string(REGEX REPLACE ".*\nlong_version:([^\n]+).*$" "\\1" 
PYTHON_LONG_VERSION ${python_config})
-      string(REGEX REPLACE ".*\npy_inc_dir:([^\n]+).*$" "\\1" 
PYTHON_INCLUDE_PATH ${python_config})
-      if(NOT PYTHON_SITE_PACKAGES_DIR)
-        if(NOT PYTHON_LIBS_WITH_KDE_LIBS)
-          string(REGEX REPLACE ".*\nsite_packages_dir:([^\n]+).*$" "\\1" 
PYTHON_SITE_PACKAGES_DIR ${python_config})
-        else(NOT PYTHON_LIBS_WITH_KDE_LIBS)
-          set(PYTHON_SITE_PACKAGES_DIR 
${KDE4_LIB_INSTALL_DIR}/python${PYTHON_SHORT_VERSION}/site-packages)
-        endif(NOT PYTHON_LIBS_WITH_KDE_LIBS)
-      endif(NOT PYTHON_SITE_PACKAGES_DIR)
+
+      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})
+
+      # 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)
+      set(PYTHON_SITE_PACKAGES_DIR "${_TMP_PYTHON_SITE_PACKAGES_DIR}" CACHE 
PATH "The python site packages dir" FORCE)
+
+      # This one is intended to be used and changed by the user for installing 
own modules:
+      set(PYTHON_SITE_PACKAGES_INSTALL_DIR 
lib/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})
       if(WIN32)
_______________________________________________
Kde-buildsystem mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-buildsystem
  • KDE Dario Freddi
    • KDE Dario Freddi
    • KDE Alexander Neundorf

Reply via email to