Commit 021b0f3f authored by Anthony Mallet's avatar Anthony Mallet
Browse files

[math/py-pinocchio] Import py-pinocchio

Pinocchio is a C++ library for dynamic computations focusing on robotic,
computer animation and biomechanical applications.

This package provides the python bindings for pinocchio.
parent 14256ddc
......@@ -22,6 +22,7 @@ SUBDIR+= liblbfgs
SUBDIR+= meschach
SUBDIR+= pinocchio
SUBDIR+= py-eigenpy
SUBDIR+= py-pinocchio
SUBDIR+= ros-angles
SUBDIR+= ros-eigen-stl-containers
SUBDIR+= ros-geometry
......
Pinocchio is a C++ library for dynamic computations focusing on robotic,
computer animation and biomechanical applications.
This package provides the python bindings for pinocchio.
# robotpkg Makefile for: math/py-pinocchio
# Created: Olivier Stasse on Thu, 4 Feb 2016
#
VERSION= 1.2.7
PKGNAME= ${PKGTAG.python-}pinocchio-${VERSION}
DISTNAME= pinocchio-${VERSION}
MASTER_SITES=\
${MASTER_SITE_BASE:=${PKGBASE}/releases/download/v${VERSION}/}
MASTER_REPOSITORY= ${MASTER_REPOSITORY_GITHUB}/stack-of-tasks/${PKGBASE}
CHECKOUT_VCS_OPTS= --recursive
CATEGORIES= math
COMMENT= Efficient rigid body dynamics (python bindings)
HOMEPAGE= http://stack-of-tasks.github.io/pinocchio/
MAINTAINER= gepetto@laas.fr
LICENSE= gnu-lgpl-v3
CMAKE_ARGS+= -DCMAKE_INSTALL_LIBDIR=lib
CMAKE_ARGS+= -DBUILD_PYTHON_INTERFACE=ON
CMAKE_ARGS+= -DBUILD_BENCHMARK=OFF
CMAKE_ARGS+= -DBUILD_UNIT_TESTS=OFF
CMAKE_ARGS+= -DBUILD_UTILS=OFF
CMAKE_ARGS+= -DBUILD_TESTS_WITH_HPP=OFF
CMAKE_ARGS+= -DINSTALL_DOCUMENTATION=OFF
USE_BOOST_LIBS= python
include ../../devel/boost-headers/depend.mk
include ../../devel/boost-libs/depend.mk
include ../../math/pinocchio/depend.mk
include ../../math/py-eigenpy/depend.mk
include ../../pkgtools/pkg-config/depend.mk
include ../../mk/sysdep/cmake.mk
include ../../mk/sysdep/python.mk
include ../../mk/language/c.mk
include ../../mk/language/c++.mk
DEPEND_ABI.python+= python<3
include ../../mk/robotpkg.mk
@comment Thu Apr 26 18:18:06 CEST 2018
${PYTHON_SITELIB}/pinocchio/__init__.py
${PYTHON_SITELIB}/pinocchio/deprecation.py
${PYTHON_SITELIB}/pinocchio/explog.py
${PYTHON_SITELIB}/pinocchio/libpinocchio_pywrap.so
${PYTHON_SITELIB}/pinocchio/robot_wrapper.py
${PYTHON_SITELIB}/pinocchio/romeo_wrapper.py
${PYTHON_SITELIB}/pinocchio/rpy.py
${PYTHON_SITELIB}/pinocchio/utils.py
# robotpkg depend.mk for: math/py-pinocchio
# Created: Olivier Stasse on Thu, 4 Feb 2016
#
DEPEND_DEPTH:= ${DEPEND_DEPTH}+
PY_PINOCCHIO_DEPEND_MK:= ${PY_PINOCCHIO_DEPEND_MK}+
ifeq (+,$(DEPEND_DEPTH))
DEPEND_PKG+= py-pinocchio
endif
ifeq (+,$(PY_PINOCCHIO_DEPEND_MK)) # ---------------------------------------
PREFER.py-pinocchio?= robotpkg
SYSTEM_SEARCH.py-pinocchio=\
'${PYTHON_SYSLIBSEARCH}/pinocchio/__init__.py'
# no version information is present in any of the installed files: one cannot
# require a specific version
DEPEND_USE+= py-pinocchio
DEPEND_ABI.py-pinocchio?= ${PKGTAG.python-}pinocchio
DEPEND_DIR.py-pinocchio?= ../../math/py-pinocchio
include ../../mk/sysdep/python.mk
endif # PY_PINOCCHIO_DEPEND_MK ---------------------------------------------
DEPEND_DEPTH:= ${DEPEND_DEPTH:+=}
SHA1 (pinocchio-1.2.7.tar.gz) = e2c50e69305d7754206d9ad4540614843721e67e
RMD160 (pinocchio-1.2.7.tar.gz) = 1120de4931067c607284e470474dd059fbcca1b7
Size (pinocchio-1.2.7.tar.gz) = 9030977 bytes
SHA1 (patch-aa) = 73b07aea38a240b615e8a8a4e00652a2b2ff2f56
SHA1 (patch-ab) = 65531cbbc1ea697e9f4f63f864fd811a99e955ae
SHA1 (patch-ac) = 70d208a11b81eea61e798db6404083f5f2576c0b
SHA1 (patch-ad) = 1dd51b39e781116588ed1f7da2fc46299c026364
Build only python bindings and make sure dependencies are found
--- CMakeLists.txt~ 2018-04-02 18:17:57.000000000 +0200
+++ CMakeLists.txt 2018-04-26 14:55:42.188550888 +0200
@@ -76,9 +76,8 @@
# --- DEPENDANCIES -----------------------------------
# ----------------------------------------------------
ADD_REQUIRED_DEPENDENCY("eigen3 >= 3.0.5")
-ADD_OPTIONAL_DEPENDENCY("metapod >= 1.0.7")
-ADD_OPTIONAL_DEPENDENCY("urdfdom >= 0.2.0")
-ADD_OPTIONAL_DEPENDENCY("hpp-fcl >= 0.5.1")
+ADD_REQUIRED_DEPENDENCY("urdfdom >= 0.2.0")
+ADD_REQUIRED_DEPENDENCY("hpp-fcl >= 0.5.1")
# Spetcial care of Eigen3 greater than 3.2.10
IF(EIGEN3_FOUND)
@@ -137,9 +133,6 @@
ENDIF(LUA5_2_FOUND)
ENDIF(BUILD_WITH_LUA_SUPPORT)
-SET(BOOST_REQUIERED_COMPONENTS filesystem system)
-SET(BOOST_BUILD_COMPONENTS unit_test_framework)
-SET(BOOST_OPTIONAL_COMPONENTS "")
IF(BUILD_PYTHON_INTERFACE)
SET(BOOST_OPTIONAL_COMPONENTS ${BOOST_OPTIONAL_COMPONENTS} python)
@@ -307,61 +300,18 @@
LIST(APPEND CFLAGS_DEPENDENCIES "-DWITH_LUA5")
ENDIF(LUA5_FOUND)
-SET(HEADERS
- ${${PROJECT_NAME}_MATH_HEADERS}
- ${${PROJECT_NAME}_TOOLS_HEADERS}
- ${${PROJECT_NAME}_SPATIAL_HEADERS}
- ${${PROJECT_NAME}_MULTIBODY_JOINT_HEADERS}
- ${${PROJECT_NAME}_MULTIBODY_LIEGROUP_HEADERS}
- ${${PROJECT_NAME}_MULTIBODY_HEADERS}
- ${${PROJECT_NAME}_PARSERS_HEADERS}
- ${${PROJECT_NAME}_ALGORITHM_HEADERS}
- ${${PROJECT_NAME}_CONTAINER_HEADERS}
- exception.hpp
- assert.hpp
- macros.hpp
- )
-LIST(REMOVE_DUPLICATES HEADERS)
-
-MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio")
-MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/math")
-MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/spatial")
-MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/multibody")
-MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/multibody/joint")
-MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/multibody/liegroup")
-MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/parsers/lua")
-MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/parsers")
-MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/parsers/urdf")
-MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/tools")
-MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/algorithm")
-MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/container")
-
-FOREACH(header ${HEADERS})
- GET_FILENAME_COMPONENT(headerName ${header} NAME)
- GET_FILENAME_COMPONENT(headerPath ${header} PATH)
- EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E ${LINK}
- ${${PROJECT_NAME}_SOURCE_DIR}/src/${header}
- ${${PROJECT_NAME}_BINARY_DIR}/include/${PROJECT_NAME}/${header})
- INSTALL(FILES ${${PROJECT_NAME}_SOURCE_DIR}/src/${header}
- DESTINATION ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME}/${headerPath}
- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE)
-ENDFOREACH(header)
# --- MAIN LIBRARY -------------------------------------------------------------
-ADD_SUBDIRECTORY(src)
# --- BINDINGS -----------------------------------------------------------------
SET(PYWRAP ${PROJECT_NAME}_pywrap)
ADD_SUBDIRECTORY(bindings)
# --- EXECUTABLES --------------------------------------------------------------
-ADD_SUBDIRECTORY(utils)
# --- UNIT TESTS ---------------------------------------------------------------
-ADD_SUBDIRECTORY(unittest)
# --- BENCHMARKS ---------------------------------------------------------------
-ADD_SUBDIRECTORY(benchmark)
# --- PACKAGING ----------------------------------------------------------------
PKG_CONFIG_APPEND_LIBS (${PROJECT_NAME})
Don't install main .pc
--- cmake/base.cmake~ 2017-10-26 15:25:19.000000000 +0200
+++ cmake/base.cmake 2018-04-26 18:06:07.322011937 +0200
@@ -226,9 +226,7 @@
# finalize the project setup.
#
MACRO(SETUP_PROJECT_FINALIZE)
- _SETUP_PROJECT_PKG_CONFIG_FINALIZE()
_SETUP_PROJECT_DOCUMENTATION_FINALIZE()
- _SETUP_PROJECT_HEADER_FINAlIZE()
_SETUP_DEBIAN()
# Install data if needed
_INSTALL_PROJECT_DATA()
Don't install headers or .pc file: they would conflict between installs for
multiple python versions. In case those are needed, something must be found to
handle name conflicts.
--- bindings/python/CMakeLists.txt~ 2018-04-02 18:17:57.000000000 +0200
+++ bindings/python/CMakeLists.txt 2018-04-26 18:14:56.413448382 +0200
@@ -24,9 +24,6 @@
${CMAKE_CURRENT_SOURCE_DIR}/${header}
${${PROJECT_NAME}_BINARY_DIR}/include/${PROJECT_NAME}/${SUBPATH}/${header})
- INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${header}
- DESTINATION ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME}/${SUBPATH}/${headerPath}
- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE)
ENDFOREACH(header)
ENDMACRO(SYMLINK_AND_INSTALL_HEADERS HEADERS SUBPATH)
@@ -240,8 +240,4 @@
"${CMAKE_CURRENT_SOURCE_DIR}/pinocchiopy.pc.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/pinocchiopy.pc")
-INSTALL(
- FILES "${CMAKE_CURRENT_BINARY_DIR}/pinocchiopy.pc"
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE)
Don't install main headers
--- cmake/header.cmake~ 2017-10-26 15:25:19.000000000 +0200
+++ cmake/header.cmake 2018-04-26 18:37:42.582417765 +0200
@@ -88,11 +88,6 @@
${CMAKE_CURRENT_BINARY_DIR}/include/${HEADER_DIR}/deprecated.hh
@ONLY
)
- INSTALL(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/include/${HEADER_DIR}/deprecated.hh
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${HEADER_DIR}
- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
- )
# Generate warning.hh header.
CONFIGURE_FILE(
${PROJECT_SOURCE_DIR}/cmake/warning.hh.cmake
@@ -100,11 +95,6 @@
@ONLY
)
- INSTALL(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/include/${HEADER_DIR}/warning.hh
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${HEADER_DIR}
- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
- )
# Generate config.h header.
@@ -146,11 +136,6 @@
@ONLY
)
# Install it.
- INSTALL(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/include/${HEADER_DIR}/${FILENAME}
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${HEADER_DIR}
- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
- )
ENDFUNCTION(GENERATE_CONFIGURATION_HEADER)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment