diff --git a/pinocchio/DESCR b/pinocchio/DESCR
index 97ee2cac2939505b8fe203346ce183cb02dce8d7..a5ce9e05606277ae19d582798127c675ed8ec1c0 100644
--- a/pinocchio/DESCR
+++ b/pinocchio/DESCR
@@ -1 +1 @@
-This package provides an efficient library to compute rigid multibody dynamics.
\ No newline at end of file
+This package provides an efficient library to compute rigid multibody dynamics.
diff --git a/pinocchio/Makefile b/pinocchio/Makefile
index 4f603a7034599c26644a6940d4dc4c38473b0cf2..240da93a0db77ad3d45b049cc7698cb72176add0 100644
--- a/pinocchio/Makefile
+++ b/pinocchio/Makefile
@@ -1,52 +1,52 @@
-# robotpkg Makefile for:	wip/pinocchio
-# Created:			Olivier Stasse, Feb 4th 2016
-# Updated:      Justin Carpentier, May 30th 2016
+# robotpkg Makefile for:	math/pinocchio
+# Created:			Olivier Stasse on Thu, 4 Feb 2016
+#
 
 VERSION=		1.1.2
 DISTNAME=		pinocchio-${VERSION}
 
-MASTER_SITES=		${MASTER_SITE_OPENROBOTS:=pinocchio/}
-MASTER_REPOSITORY=	${MASTER_REPOSITORY_GITHUB}/stack-of-tasks/pinocchio
-
-MAINTAINER=	pinocchio@laas.fr
-CATEGORIES=	wip
-COMMENT=	Efficient rigid body dynamics
-LICENSE=	gnu-lgpl-v3
-
-DYNAMIC_PLIST_DIRS+=	share/doc/pinocchio
-USE_BOOST_LIBS:= python system filesystem unit_test_framework
-
-CMAKE_ARGS+=    -DPYTHON_EXECUTABLE=${PYTHON}
-CMAKE_ARGS+=    -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE}
-CMAKE_ARGS+=    -DPYTHON_LIBRARY=${PYTHON_LIB}
-CMAKE_ARGS+=    -DPYTHON_SITELIB=${PYTHON_SITELIB}
-
-DEPEND_ABI.python += python<3
-DEPEND_ABI.assimp += assimp>=3.0
-DEPEND_ABI.eigenpy += eigenpy>=1.3.0
-DEPEND_ABI.hpp-fcl += hpp-fcl>=0.4.1
-PREFER.assimp = robotpkg
-
-# We must use eigen from robotpkg at least for Ubuntu 16.04
-ifeq (Ubuntu,${OPSYS})
-  ifeq (,$(filter 16.04,${OS_VERSION}))
-    PREFER.eigen = robotpkg
-  else
-    PREFER.eigen = system
-  endif
-endif
+MASTER_SITES=		${MASTER_OPENROBOTS:=${PKGBASE}/}
+MASTER_REPOSITORY=	${MASTER_REPOSITORY_GITHUB}/stack-of-tasks/${PKGBASE}
+
+MAINTAINER=		gepetto@laas.fr
+CATEGORIES=		math
+COMMENT=		Efficient rigid body dynamics
+LICENSE=		gnu-lgpl-v3
+
+# parallel builds would consume all memory because of the g++ process size
+MAKE_JOBS_SAFE=		no
+
+DYNAMIC_PLIST_DIRS+=	share/doc/${PKGBASE}
+
+CMAKE_ARGS+=		-DPYTHON_EXECUTABLE=${PYTHON}
+CMAKE_ARGS+=		-DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE}
+CMAKE_ARGS+=		-DPYTHON_LIBRARY=${PYTHON_LIB}
+CMAKE_ARGS+=		-DPYTHON_SITELIB=${PYTHON_SITELIB}
+
+CMAKE_ARGS+=		BUILD_BENCHMARK=OFF
+CMAKE_ARGS+=		BUILD_UNIT_TESTS=ON
+CMAKE_ARGS+=		BUILD_UTILS=OFF
+CMAKE_ARGS+=		BUILD_TESTS_WITH_HPP=OFF
+CMAKE_ARGS+=		BUILD_PYTHON_INTERFACE=ON
+
+USE_BOOST_LIBS=		python system filesystem unit_test_framework
 
-include ../../wip/py-eigen/depend.mk
-include ../../math/eigen3/depend.mk
-include ../../graphics/urdfdom/depend.mk
-include ../../graphics/urdfdom-headers/depend.mk
 include ../../devel/boost-headers/depend.mk
 include ../../devel/boost-libs/depend.mk
-include ../../path/hpp-fcl/depend.mk
 include ../../graphics/assimp/depend.mk
+include ../../graphics/urdfdom-headers/depend.mk
+include ../../graphics/urdfdom/depend.mk
+include ../../math/eigen3/depend.mk
+include ../../path/hpp-fcl/depend.mk
 include ../../pkgtools/pkg-config/depend.mk
+include ../../wip/py-eigen/depend.mk
 include ../../mk/sysdep/cmake.mk
 include ../../mk/sysdep/doxygen.mk
+include ../../mk/sysdep/python.mk
 include ../../mk/language/c.mk
 include ../../mk/language/c++.mk
+
+DEPEND_ABI.python +=		python<3
+DEPEND_ABI.urdfdom-headers +=	urdfdom-headers>=0.3
+
 include ../../mk/robotpkg.mk
diff --git a/pinocchio/PLIST b/pinocchio/PLIST
index 42c3a4bdceb3fc926f6e15e6e7d686cb2692e9a6..4f33f954bc78d3844acb1ecc0aab40a6ab41f9b0 100644
--- a/pinocchio/PLIST
+++ b/pinocchio/PLIST
@@ -1,4 +1,4 @@
-@comment Mon May 30 10:23:55 CEST 2016
+@comment Wed Jun 1 16:41:11 CEST 2016
 include/pinocchio/algorithm/aba.hpp
 include/pinocchio/algorithm/aba.hxx
 include/pinocchio/algorithm/center-of-mass.hpp
@@ -51,8 +51,6 @@ include/pinocchio/multibody/joint/joint-variant.hpp
 include/pinocchio/multibody/model.hpp
 include/pinocchio/multibody/model.hxx
 include/pinocchio/multibody/parser/from-collada-to-fcl.hpp
-include/pinocchio/multibody/parser/lua.hpp
-include/pinocchio/multibody/parser/lua/lua_tables.hpp
 include/pinocchio/multibody/parser/sample-models.hpp
 include/pinocchio/multibody/parser/srdf.hpp
 include/pinocchio/multibody/parser/urdf-with-geometry.hpp
diff --git a/pinocchio/depend.mk b/pinocchio/depend.mk
index ba8fb170fd3d4b5503a16f271fc7f69ffa8b086e..3e9358dc893c0151f112a284d57b1e39c0c9bdff 100644
--- a/pinocchio/depend.mk
+++ b/pinocchio/depend.mk
@@ -1,5 +1,5 @@
-# robotpkg depend.mk for:	wip/pinocchio
-# Created:			Olivier Stasse, Feb 4th 2016
+# robotpkg depend.mk for:	math/pinocchio
+# Created:			Olivier Stasse on Thu, 4 Feb 2016
 #
 
 DEPEND_DEPTH:=		${DEPEND_DEPTH}+
@@ -9,18 +9,18 @@ ifeq (+,$(DEPEND_DEPTH))
 DEPEND_PKG+=		pinocchio
 endif
 
-ifeq (+,$(PINOCCHIO_DEPEND_MK)) # -------------------------------------------
+ifeq (+,$(PINOCCHIO_DEPEND_MK)) # ------------------------------------------
 
 PREFER.pinocchio?=	robotpkg
 
 SYSTEM_SEARCH.pinocchio=\
-	'lib/pkgconfig/pinocchio.pc:/Version/s/[^0-9.]//gp'
+  'lib/pkgconfig/pinocchio.pc:/Version/s/[^0-9.]//gp'
 
 DEPEND_USE+=		pinocchio
 
 DEPEND_ABI.pinocchio?=	pinocchio>=1.1.2
 DEPEND_DIR.pinocchio?=	../../wip/pinocchio
 
-endif # PINOCCHIO_DEPEND_MK -------------------------------------------------
+endif # PINOCCHIO_DEPEND_MK ------------------------------------------------
 
 DEPEND_DEPTH:=		${DEPEND_DEPTH:+=}
diff --git a/pinocchio/distinfo b/pinocchio/distinfo
index 1ddfc01fcf4a296029a0e91a577054a42af5d569..e9222de33452f03d1fad36311028e2b62925df6b 100644
--- a/pinocchio/distinfo
+++ b/pinocchio/distinfo
@@ -1,3 +1,6 @@
 SHA1 (pinocchio-1.1.2.tar.gz) = 51af4834bd7baab3612adc28edadc57f55c72837
 RMD160 (pinocchio-1.1.2.tar.gz) = f1f0a7d99b493db99fea4441088b21e615790730
 Size (pinocchio-1.1.2.tar.gz) = 8911853 bytes
+SHA1 (patch-aa) = 48bd99335980d76f285645f33d10ab5cd0db0749
+SHA1 (patch-ab) = 96f1ea798f0e3fcb2dbef755476a959727550eb0
+SHA1 (patch-ac) = 75eb20d87148706b27c1d3601f9a379fbf666bc0
diff --git a/pinocchio/patches/patch-aa b/pinocchio/patches/patch-aa
new file mode 100644
index 0000000000000000000000000000000000000000..bcb9bd3282186ca8a3428edb5b8d7ce9d2e01a96
--- /dev/null
+++ b/pinocchio/patches/patch-aa
@@ -0,0 +1,30 @@
+Drop unusued optional dependencies, so that they're not found by mistake
+Make other optional dependencies that are used 'required'
+Check assimp version
+
+--- CMakeLists.txt~	2016-05-27 14:31:10.000000000 +0200
++++ CMakeLists.txt	2016-06-01 14:30:28.696448120 +0200
+@@ -63,12 +63,19 @@
+ # ----------------------------------------------------
+ ADD_REQUIRED_DEPENDENCY("eigen3 >= 3.0.5")
+ ADD_OPTIONAL_DEPENDENCY("eigenpy >= 1.3.0")
+-ADD_OPTIONAL_DEPENDENCY("metapod >= 1.0.7")
+-ADD_OPTIONAL_DEPENDENCY("urdfdom >= 0.2.10")
+-ADD_OPTIONAL_DEPENDENCY("lua5.1")
++#ADD_OPTIONAL_DEPENDENCY("metapod >= 1.0.7")
++ADD_REQUIRED_DEPENDENCY("urdfdom >= 0.2.10")
++#ADD_OPTIONAL_DEPENDENCY("lua5.1")
+ ADD_OPTIONAL_DEPENDENCY("hpp-fcl >= 0.4.1")
+ IF(HPP_FCL_FOUND AND URDFDOM_FOUND)
+-  ADD_REQUIRED_DEPENDENCY("assimp >= 3.0")
++  ADD_REQUIRED_DEPENDENCY("assimp >= 2.0")
++if (NOT ${ASSIMP_VERSION} VERSION_LESS "2.0.1150")
++  add_definitions(-DASSIMP_UNIFIED_HEADER_NAMES)
++  message(STATUS "Assimp version has unified headers")
++else()
++  message(STATUS "Assimp version does not have unified headers")
++endif()
++
+ ENDIF(HPP_FCL_FOUND AND URDFDOM_FOUND)
+ 
+ SET(BOOST_COMPONENTS filesystem unit_test_framework system)
diff --git a/pinocchio/patches/patch-ab b/pinocchio/patches/patch-ab
new file mode 100644
index 0000000000000000000000000000000000000000..418474245d085f4c056d806f7bc6fbcadbd035f3
--- /dev/null
+++ b/pinocchio/patches/patch-ab
@@ -0,0 +1,13 @@
+Fix a quoting issue
+
+--- cmake/python.cmake~	2016-04-28 11:48:47.000000000 +0200
++++ cmake/python.cmake	2016-06-01 14:33:51.595727705 +0200
+@@ -48,7 +48,7 @@
+ ENDIF (NOT ${PYTHONLIBS_FOUND} STREQUAL TRUE)
+ 
+ # Find PYTHON_LIBRARY_DIRS
+-GET_FILENAME_COMPONENT(PYTHON_LIBRARY_DIRS ${PYTHON_LIBRARIES} PATH)
++GET_FILENAME_COMPONENT(PYTHON_LIBRARY_DIRS "${PYTHON_LIBRARIES}" PATH)
+ 
+ # Default Python packages directory
+ SET(PYTHON_PACKAGES_DIR site-packages)
diff --git a/pinocchio/patches/patch-ac b/pinocchio/patches/patch-ac
new file mode 100644
index 0000000000000000000000000000000000000000..2b4597b5c2d20295491f5ce744d675b5eacf4b1e
--- /dev/null
+++ b/pinocchio/patches/patch-ac
@@ -0,0 +1,32 @@
+Fix path to assimp-2 headers
+
+--- src/multibody/parser/from-collada-to-fcl.hpp~	2016-05-27 14:31:10.000000000 +0200
++++ src/multibody/parser/from-collada-to-fcl.hpp	2016-06-01 15:13:49.747002604 +0200
+@@ -25,12 +25,21 @@
+ #include <boost/foreach.hpp>
+ #include <boost/format.hpp>
+ 
+-#include <assimp/DefaultLogger.hpp>
+-#include <assimp/IOStream.hpp>
+-#include <assimp/IOSystem.hpp>
+-#include <assimp/scene.h>
+-#include <assimp/Importer.hpp>
+-#include <assimp/postprocess.h>
++#ifdef ASSIMP_UNIFIED_HEADER_NAMES
++# include <assimp/DefaultLogger.hpp>
++# include <assimp/IOStream.hpp>
++# include <assimp/IOSystem.hpp>
++# include <assimp/scene.h>
++# include <assimp/Importer.hpp>
++# include <assimp/postprocess.h>
++#else
++# include <assimp/DefaultLogger.h>
++# include <assimp/assimp.hpp>
++# include <assimp/IOStream.h>
++# include <assimp/IOSystem.h>
++# include <assimp/aiScene.h>
++# include <assimp/aiPostProcess.h>
++#endif
+ 
+ #include <hpp/fcl/BV/OBBRSS.h>
+ #include <hpp/fcl/BVH/BVH_model.h>