Skip to content

Commit a8d545e

Browse files
authored
Merge pull request #260 from OpenShot/revert-229-debian-py-fix
Revert "Don't break Python install path detection on Debian"
2 parents eea1293 + 9d09b65 commit a8d545e

File tree

1 file changed

+20
-30
lines changed

1 file changed

+20
-30
lines changed

src/bindings/python/CMakeLists.txt

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -65,39 +65,29 @@ if (PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND)
6565
target_link_libraries(${SWIG_MODULE_pyopenshot_REAL_NAME}
6666
${PYTHON_LIBRARIES} openshot)
6767

68-
### FIND THE PYTHON INTERPRETER (AND THE SITE PACKAGES FOLDER)
69-
if (UNIX AND NOT APPLE)
70-
### Special-case for Debian's crazy, by checking to see if pybuild
71-
### is available. We don't use it, except as a canary in a coal mine
72-
find_program(PYBUILD_EXECUTABLE pybuild
73-
DOC "Path to Debian's pybuild utility")
74-
if (PYBUILD_EXECUTABLE)
75-
# We're on a Debian derivative, fall back to old path detection
76-
set(py_detection "import site; print(site.getsitepackages()[0])")
77-
set(PY_INSTALL_PREFIX "/usr/local") # An assumption (bad one?)
78-
else()
79-
# Use distutils to detect install path
80-
set (py_detection "\
81-
from distutils.sysconfig import get_python_lib; \
82-
print( get_python_lib( plat_specific=True, prefix='${CMAKE_INSTALL_PREFIX}' ) )")
83-
set(PY_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
84-
endif()
85-
endif()
68+
### Check if the following Debian-friendly python module path exists
69+
SET(PYTHON_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages")
70+
if (NOT EXISTS ${PYTHON_MODULE_PATH})
8671

87-
if (NOT PYTHON_MODULE_PATH)
88-
execute_process ( COMMAND ${PYTHON_EXECUTABLE} -c "${py_detection}"
89-
OUTPUT_VARIABLE _ABS_PYTHON_MODULE_PATH
90-
OUTPUT_STRIP_TRAILING_WHITESPACE )
72+
### Check if another Debian-friendly python module path exists
73+
SET(PYTHON_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/dist-packages")
74+
if (NOT EXISTS ${PYTHON_MODULE_PATH})
9175

92-
GET_FILENAME_COMPONENT(_ABS_PYTHON_MODULE_PATH
93-
"${_ABS_PYTHON_MODULE_PATH}" ABSOLUTE)
94-
FILE(RELATIVE_PATH _REL_PYTHON_MODULE_PATH
95-
${PY_INSTALL_PREFIX} ${_ABS_PYTHON_MODULE_PATH})
96-
SET(PYTHON_MODULE_PATH ${_REL_PYTHON_MODULE_PATH}
97-
CACHE PATH "Install path for Python modules (relative to prefix)")
98-
endif()
76+
### Calculate the python module path (using distutils)
77+
execute_process ( COMMAND ${PYTHON_EXECUTABLE} -c "\
78+
from distutils.sysconfig import get_python_lib; \
79+
print( get_python_lib( plat_specific=True, prefix='${CMAKE_INSTALL_PREFIX}' ) )"
80+
OUTPUT_VARIABLE _ABS_PYTHON_MODULE_PATH
81+
OUTPUT_STRIP_TRAILING_WHITESPACE )
9982

100-
message(STATUS "Will install Python module to: ${PYTHON_MODULE_PATH}")
83+
GET_FILENAME_COMPONENT(_ABS_PYTHON_MODULE_PATH
84+
"${_ABS_PYTHON_MODULE_PATH}" ABSOLUTE)
85+
FILE(RELATIVE_PATH _REL_PYTHON_MODULE_PATH
86+
${CMAKE_INSTALL_PREFIX} ${_ABS_PYTHON_MODULE_PATH})
87+
SET(PYTHON_MODULE_PATH ${_ABS_PYTHON_MODULE_PATH})
88+
endif()
89+
endif()
90+
message("PYTHON_MODULE_PATH: ${PYTHON_MODULE_PATH}")
10191

10292
############### INSTALL HEADERS & LIBRARY ################
10393
### Install Python bindings

0 commit comments

Comments
 (0)