Skip to content
This repository has been archived by the owner on Jul 7, 2021. It is now read-only.

Commit

Permalink
ros#50 first pass at fixing python install layout for non deb layout …
Browse files Browse the repository at this point in the history
…systems
  • Loading branch information
Ken Conley committed Jan 14, 2012
1 parent fc4f410 commit 0dd683d
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 7 deletions.
2 changes: 1 addition & 1 deletion bin/em/rules.python_distutils.em
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ pyversion="%u.%u" % (v[0], v[1])
export DH_VERBOSE=1
export DH_OPTIONS=-v
# this is the --install-layout=deb variety
export PYTHONPATH=@(INSTALL_PREFIX)/lib/python@(pyversion)/dist-packages
export PYTHONPATH=@(INSTALL_PREFIX)/lib/python@(pyversion)/@(PYTHON_PACKAGES_DIR)
%:
dh $@@

Expand Down
2 changes: 1 addition & 1 deletion cmake/em/rules.python_distutils.em
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ pyversion="%u.%u" % (v.major, v.minor)
export DH_VERBOSE=1
export DH_OPTIONS=-v
# this is the --install-layout=deb variety
export PYTHONPATH=@(CMAKE_INSTALL_PREFIX)/lib/python@(pyversion)/dist-packages
export PYTHONPATH=@(CMAKE_INSTALL_PREFIX)/lib/python@(pyversion)/@(PYTHON_PACKAGES_DIR)

%:
dh $@@
Expand Down
12 changes: 11 additions & 1 deletion cmake/python.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,17 @@ execute_process(COMMAND ${PYTHON_EXECUTABLE} ${catkin_EXTRAS_DIR}/python_version
OUTPUT_STRIP_TRAILING_WHITESPACE)

set(PYTHON_VERSION_XDOTY ${PYTHON_VERSION_XDOTY} CACHE STRING "python version")
set(INSTALLED_PYTHONPATH ${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_XDOTY}/dist-packages

# this should actually be for anything non-dist-packages
if(APPLE)
set(PYTHON_PACKAGES_DIR site-packages CACHE STRING "dist-packages or site-packages")
set(SETUPTOOLS_ARG_EXTRA "" CACHE STRING "extra arguments to setuptools")
else()
set(PYTHON_PACKAGES_DIR dist-packages CACHE STRING "dist-packages or site-packages")
set(SETUPTOOLS_ARG_EXTRA "--install-layout=deb" CACHE STRING "extra arguments to setuptools")
endif()

set(INSTALLED_PYTHONPATH ${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_XDOTY}/site-packages
CACHE INTERNAL "This needs to be in pythonpath when setup.py install is called. And it needs to match. But setuptools won't tell us where it will install things.")


4 changes: 2 additions & 2 deletions cmake/templates/python_distutils_install.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ fi

cd @INSTALL_CMD_WORKING_DIRECTORY@

# todo --install-layout=deb per platform
/usr/bin/env \
PYTHONPATH=@PACKAGE_PYTHONPATH@:@INSTALLED_PYTHONPATH@:@CMAKE_BINARY_DIR@/gen/py @PYTHON_EXECUTABLE@ \
@CMAKE_CURRENT_SOURCE_DIR@/setup.py \
install \
$DESTDIR_ARG \
--install-layout=deb \
--prefix=@CMAKE_INSTALL_PREFIX@
@SETUPTOOLS_ARG_EXTRA@ --prefix=@CMAKE_INSTALL_PREFIX@

4 changes: 2 additions & 2 deletions cmake/templates/setup.sh.installable.in
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#
# path segment PREFIX/lib/pythonX.Y/dist-packages in PYTHONPATH is calculated
# path segment PREFIX/lib/pythonX.Y/[dist|site]-packages in PYTHONPATH is calculated
# by us... this appears to be what setuptools does under --install-layout=deb
#

PYTHONPATH=@CMAKE_INSTALL_PREFIX@/lib/python@PYTHON_VERSION_XDOTY@/dist-packages:$PYTHONPATH
PYTHONPATH=@CMAKE_INSTALL_PREFIX@/lib/python@PYTHON_VERSION_XDOTY@/@PYTHON_PACKAGES_DIR@:$PYTHONPATH
export PYTHONPATH

PATH=@CMAKE_INSTALL_PREFIX@/bin:$PATH
Expand Down

0 comments on commit 0dd683d

Please sign in to comment.