diff --git a/py-sot-dynamic-pinocchio-v3/Makefile b/py-sot-dynamic-pinocchio-v3/Makefile
index 2568cce443f61dfabbfb9ad4acc549d35e72ccb5..c529617308d7f1a78e76c2802af1afe492ef72c8 100644
--- a/py-sot-dynamic-pinocchio-v3/Makefile
+++ b/py-sot-dynamic-pinocchio-v3/Makefile
@@ -4,16 +4,11 @@
 
 ORG=			stack-of-tasks
 NAME=			sot-dynamic-pinocchio
-VERSION=		3.3.0
-PKGREVISION=	2
+VERSION=		3.3.1
 
 DISTNAME=		${NAME}-v3-${VERSION}
 PKGNAME=		${PKGTAG.python-}${NAME}-v3-${VERSION}
 
-MASTER_SITES=		${MASTER_SITE_OPENROBOTS:=${NAME}-v3/}
-MASTER_REPOSITORY=	${MASTER_REPOSITORY_GITHUB}${ORG}/${NAME}
-CHECKOUT_VCS_OPTS+=	--recursive
-
 CATEGORIES=		wip
 COMMENT=		Create entities to compute a robot dynamics properties using pinocchio (python bindings)
 LICENSE=		2-clause-bsd
@@ -21,9 +16,9 @@ MAINTAINER=		gepetto-soft@laas.fr
 
 CONFLICTS+=		py[0-9][0-9]-${NAME}
 
-CMAKE_ARGS+=		-DINSTALL_DOCUMENTATION=OFF
-CMAKE_ARGS+=		-DCMAKE_INSTALL_LIBDIR=lib
+USE_PYTHON_ONLY=	true
 
+include ../../wip/jrl-cmakemodules/Makefile.common
 include ../../${CATEGORIES}/${NAME}-v3/depend.mk
 include ../../devel/tinyxml/depend.mk
 include ../../math/pinocchio/depend.mk
diff --git a/py-sot-dynamic-pinocchio-v3/distinfo b/py-sot-dynamic-pinocchio-v3/distinfo
index 0f9f2e1c0a7e5a766f11b534f139ed616ec201e0..5ca10987aa46e7148f79e2f40c482d89c7a28141 100644
--- a/py-sot-dynamic-pinocchio-v3/distinfo
+++ b/py-sot-dynamic-pinocchio-v3/distinfo
@@ -1,8 +1,3 @@
-SHA1 (sot-dynamic-pinocchio-v3-3.3.0.tar.gz) = 387173261f4755de6821c29212dde1d3684bf4aa
-RMD160 (sot-dynamic-pinocchio-v3-3.3.0.tar.gz) = 429e8eac320fee3e51d8e0e94d3f471d9c36ecee
-Size (sot-dynamic-pinocchio-v3-3.3.0.tar.gz) = 862834 bytes
-SHA1 (patch-aa) = 610e74d5c682045ec67675cc77536b4cdfa3f214
-SHA1 (patch-ab) = 65531cbbc1ea697e9f4f63f864fd811a99e955ae
-SHA1 (patch-ac) = 1ed2bed5622b342b3ddcf1530421caf7e7eb65ef
-SHA1 (patch-ad) = 9731f90f2c33abec026a1d34cfaa653316b84427
-SHA1 (patch-ae) = 2a4097cc59248d38c98ebcd77fcf984b2e1f92f7
+SHA1 (sot-dynamic-pinocchio-v3-3.3.1.tar.gz) = ad97bc4f1ef8f6d9b14961692757dd2e79b82757
+RMD160 (sot-dynamic-pinocchio-v3-3.3.1.tar.gz) = 8852fbb3c6329cad45b07db79817a7146e45f810
+Size (sot-dynamic-pinocchio-v3-3.3.1.tar.gz) = 863654 bytes
diff --git a/py-sot-dynamic-pinocchio-v3/patches/patch-aa b/py-sot-dynamic-pinocchio-v3/patches/patch-aa
deleted file mode 100644
index 38d9d519f57194f3b59ba8aebdd3f47c74674159..0000000000000000000000000000000000000000
--- a/py-sot-dynamic-pinocchio-v3/patches/patch-aa
+++ /dev/null
@@ -1,40 +0,0 @@
-Don't install stuff already installed by wip/sot-dynamic-pinocchio-v3
-
---- CMakeLists.txt.orig	2019-02-22 15:33:56.000000000 +0100
-+++ CMakeLists.txt	2019-02-22 15:58:46.647643454 +0100
-@@ -69,7 +69,6 @@
- # Add subdirectories.
- ADD_SUBDIRECTORY(include)
- ADD_SUBDIRECTORY(src)
--ADD_SUBDIRECTORY(doc)
- ADD_SUBDIRECTORY(python)
- ADD_SUBDIRECTORY(unitTesting)
- 
---- include/CMakeLists.txt.orig	2019-02-22 15:33:56.000000000 +0100
-+++ include/CMakeLists.txt	2019-02-22 16:03:06.646333733 +0100
-@@ -28,7 +28,3 @@
- #----------------------------------------------------
- # Install procedure for the header files
- #----------------------------------------------------
--INSTALL(FILES ${fullpath_${PROJECT_NAME}_HEADERS}
--	DESTINATION include/${PROJECT_NAME}
--        PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
--)
---- src/CMakeLists.txt.orig	2019-02-22 15:33:56.000000000 +0100
-+++ src/CMakeLists.txt	2019-02-22 16:08:05.433424470 +0100
-@@ -37,7 +37,6 @@
-   PKG_CONFIG_USE_DEPENDENCY(${libname} sot-core)
-   PKG_CONFIG_USE_DEPENDENCY(${libname} dynamic-graph)
- 
--  INSTALL(TARGETS ${libname} DESTINATION ${DYNAMIC_GRAPH_PLUGINDIR})
- 
-   # build python submodule
-   IF(BUILD_PYTHON_INTERFACE)
-@@ -65,7 +64,6 @@
- PKG_CONFIG_USE_DEPENDENCY(${LIBRARY_NAME} sot-core)
- PKG_CONFIG_USE_DEPENDENCY(${LIBRARY_NAME} dynamic-graph)
- TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${Boost_LIBRARIES})
--INSTALL(TARGETS ${LIBRARY_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
- 
- TARGET_LINK_LIBRARIES(dp-dynamic ${LIBRARY_NAME})
- 
diff --git a/py-sot-dynamic-pinocchio-v3/patches/patch-ab b/py-sot-dynamic-pinocchio-v3/patches/patch-ab
deleted file mode 100644
index 72ef67639f1b9e60ce3968c5a25c71c6c48a2607..0000000000000000000000000000000000000000
--- a/py-sot-dynamic-pinocchio-v3/patches/patch-ab
+++ /dev/null
@@ -1,14 +0,0 @@
-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()
diff --git a/py-sot-dynamic-pinocchio-v3/patches/patch-ac b/py-sot-dynamic-pinocchio-v3/patches/patch-ac
deleted file mode 100644
index 9f8b362f81103cf343445d684114b3d047745ed8..0000000000000000000000000000000000000000
--- a/py-sot-dynamic-pinocchio-v3/patches/patch-ac
+++ /dev/null
@@ -1,24 +0,0 @@
-From 1c39cd22d6e93122c0d2e55b25852b5a5df78e2a Mon Sep 17 00:00:00 2001
-From: Olivier Stasse <ostasse@laas.fr>
-Date: Fri, 1 Mar 2019 10:02:39 +0100
-Subject: [PATCH] [dynamic-pinocchio] Fix pb on computing AngularMomentum.
-
----
- src/sot-dynamic-pinocchio.cpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/sot-dynamic-pinocchio.cpp b/src/sot-dynamic-pinocchio.cpp
-index 1c2b609..69935d0 100644
---- src/sot-dynamic-pinocchio.cpp
-+++ src/sot-dynamic-pinocchio.cpp
-@@ -987,7 +987,6 @@ computeAngularMomentum(dg::Vector & Momenta, const int& time)
- 
-   if (Momenta.size()!=3)
-     Momenta.resize(3);
--  return Momenta;
-   Momenta = m_data->hg.angular_impl();
- 
-   sotDEBUGOUT(25) << "AngularMomenta :" << Momenta ;
--- 
-2.21.0
-
diff --git a/py-sot-dynamic-pinocchio-v3/patches/patch-ad b/py-sot-dynamic-pinocchio-v3/patches/patch-ad
deleted file mode 100644
index 83ef8fe0054c7c19212a59d6abe3cc57a3f10707..0000000000000000000000000000000000000000
--- a/py-sot-dynamic-pinocchio-v3/patches/patch-ad
+++ /dev/null
@@ -1,40 +0,0 @@
-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
-@@ -92,11 +92,6 @@
-     ${CMAKE_CURRENT_BINARY_DIR}/include/${HEADER_DIR}/deprecated.${PROJECT_CUSTOM_HEADER_EXTENSION}
-     @ONLY
-     )
--  INSTALL(FILES
--    ${CMAKE_CURRENT_BINARY_DIR}/include/${HEADER_DIR}/deprecated.${PROJECT_CUSTOM_HEADER_EXTENSION}
--    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
-@@ -104,11 +99,6 @@
-     @ONLY
-     )
- 
--  INSTALL(FILES
--    ${CMAKE_CURRENT_BINARY_DIR}/include/${HEADER_DIR}/warning.${PROJECT_CUSTOM_HEADER_EXTENSION}
--    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${HEADER_DIR}
--    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE
--    )
- 
- 
-   # Generate config.h header.
-@@ -150,11 +140,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)
- 
- 
diff --git a/py-sot-dynamic-pinocchio-v3/patches/patch-ae b/py-sot-dynamic-pinocchio-v3/patches/patch-ae
deleted file mode 100644
index b2332379094347ddc8227405993d00610767cd23..0000000000000000000000000000000000000000
--- a/py-sot-dynamic-pinocchio-v3/patches/patch-ae
+++ /dev/null
@@ -1,34 +0,0 @@
-From d7d07c2567ae3e21be0b306e40def1138ae82ef3 Mon Sep 17 00:00:00 2001
-From: Guilhem Saurel <guilhem.saurel@laas.fr>
-Date: Thu, 7 Mar 2019 13:05:33 +0100
-Subject: [PATCH] use Eigen::DenseIndex to fix build on eigen3.2, fix #50
-
----
- src/angle-estimator.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/angle-estimator.cpp b/src/angle-estimator.cpp
-index e0279c5..f9cb3ae 100644
---- src/angle-estimator.cpp
-+++ src/angle-estimator.cpp
-@@ -340,7 +340,7 @@ compute_xff_dotSOUT( dynamicgraph::Vector& res,
-   const dynamicgraph::Matrix & J = jacobianSIN( time );
-   const dynamicgraph::Vector & dq = qdotSIN( time );
- 
--  const Eigen::Index nr=J.rows(), nc=J.cols()-6;
-+  const Eigen::DenseIndex nr=J.rows(), nc=J.cols()-6;
-   assert( nr==6 );
-   dynamicgraph::Matrix Ja( nr,nc ); dynamicgraph::Vector dqa(nc);
-   for( int j=0;j<nc;++j )
-@@ -367,7 +367,7 @@ compute_qdotSOUT( dynamicgraph::Vector& res,
- 
-   assert( dx.size()==6 );
- 
--  const Eigen::Index nr=dq.size();
-+  const Eigen::DenseIndex nr=dq.size();
-   res.resize( nr ); res=dq;
-   for( int i=0;i<6;++i ) res(i)=dx(i);
- 
--- 
-2.7.4
-
diff --git a/sot-dynamic-pinocchio-v3/Makefile b/sot-dynamic-pinocchio-v3/Makefile
index bf801278ac267b3ad53fef7f9fa3709206bf37ec..141fb99df540f8adac282a0821ca637890897a1b 100644
--- a/sot-dynamic-pinocchio-v3/Makefile
+++ b/sot-dynamic-pinocchio-v3/Makefile
@@ -4,16 +4,11 @@
 
 ORG=			stack-of-tasks
 NAME=			sot-dynamic-pinocchio
-VERSION=		3.3.0
-PKGREVISION=	2
+VERSION=		3.3.1
 
 DISTNAME=		${NAME}-v3-${VERSION}
 PKGNAME=		${NAME}-v3-${VERSION}
 
-MASTER_SITES=		${MASTER_SITE_OPENROBOTS:=${NAME}-v3/}
-MASTER_REPOSITORY=	${MASTER_REPOSITORY_GITHUB}${ORG}/${NAME}.git
-CHECKOUT_VCS_OPTS+=	--recursive
-
 CATEGORIES=		wip
 COMMENT=		Create entities to compute a robot dynamics properties using pinocchio
 LICENSE=		2-clause-bsd
@@ -25,10 +20,8 @@ CONFLICTS+=		${NAME}
 MAKE_JOBS_SAFE=		no
 
 CMAKE_ARGS+=		-DBUILD_PYTHON_INTERFACE=OFF
-CMAKE_ARGS+=		-DCMAKE_INSTALL_LIBDIR=lib
-
-DYNAMIC_PLIST_DIRS+=	share/doc/${NAME}
 
+include ../../wip/jrl-cmakemodules/Makefile.common
 include ../../devel/tinyxml/depend.mk
 include ../../math/pinocchio/depend.mk
 include ../../path/hpp-fcl/depend.mk
diff --git a/sot-dynamic-pinocchio-v3/distinfo b/sot-dynamic-pinocchio-v3/distinfo
index 0055abc817a2d934a4df3785cb2b0889f9513760..5ca10987aa46e7148f79e2f40c482d89c7a28141 100644
--- a/sot-dynamic-pinocchio-v3/distinfo
+++ b/sot-dynamic-pinocchio-v3/distinfo
@@ -1,5 +1,3 @@
-SHA1 (sot-dynamic-pinocchio-v3-3.3.0.tar.gz) = 387173261f4755de6821c29212dde1d3684bf4aa
-RMD160 (sot-dynamic-pinocchio-v3-3.3.0.tar.gz) = 429e8eac320fee3e51d8e0e94d3f471d9c36ecee
-Size (sot-dynamic-pinocchio-v3-3.3.0.tar.gz) = 862834 bytes
-SHA1 (patch-ac) = 1ed2bed5622b342b3ddcf1530421caf7e7eb65ef
-SHA1 (patch-ae) = 2a4097cc59248d38c98ebcd77fcf984b2e1f92f7
+SHA1 (sot-dynamic-pinocchio-v3-3.3.1.tar.gz) = ad97bc4f1ef8f6d9b14961692757dd2e79b82757
+RMD160 (sot-dynamic-pinocchio-v3-3.3.1.tar.gz) = 8852fbb3c6329cad45b07db79817a7146e45f810
+Size (sot-dynamic-pinocchio-v3-3.3.1.tar.gz) = 863654 bytes
diff --git a/sot-dynamic-pinocchio-v3/patches/patch-ac b/sot-dynamic-pinocchio-v3/patches/patch-ac
deleted file mode 100644
index 9f8b362f81103cf343445d684114b3d047745ed8..0000000000000000000000000000000000000000
--- a/sot-dynamic-pinocchio-v3/patches/patch-ac
+++ /dev/null
@@ -1,24 +0,0 @@
-From 1c39cd22d6e93122c0d2e55b25852b5a5df78e2a Mon Sep 17 00:00:00 2001
-From: Olivier Stasse <ostasse@laas.fr>
-Date: Fri, 1 Mar 2019 10:02:39 +0100
-Subject: [PATCH] [dynamic-pinocchio] Fix pb on computing AngularMomentum.
-
----
- src/sot-dynamic-pinocchio.cpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/sot-dynamic-pinocchio.cpp b/src/sot-dynamic-pinocchio.cpp
-index 1c2b609..69935d0 100644
---- src/sot-dynamic-pinocchio.cpp
-+++ src/sot-dynamic-pinocchio.cpp
-@@ -987,7 +987,6 @@ computeAngularMomentum(dg::Vector & Momenta, const int& time)
- 
-   if (Momenta.size()!=3)
-     Momenta.resize(3);
--  return Momenta;
-   Momenta = m_data->hg.angular_impl();
- 
-   sotDEBUGOUT(25) << "AngularMomenta :" << Momenta ;
--- 
-2.21.0
-
diff --git a/sot-dynamic-pinocchio-v3/patches/patch-ae b/sot-dynamic-pinocchio-v3/patches/patch-ae
deleted file mode 100644
index b2332379094347ddc8227405993d00610767cd23..0000000000000000000000000000000000000000
--- a/sot-dynamic-pinocchio-v3/patches/patch-ae
+++ /dev/null
@@ -1,34 +0,0 @@
-From d7d07c2567ae3e21be0b306e40def1138ae82ef3 Mon Sep 17 00:00:00 2001
-From: Guilhem Saurel <guilhem.saurel@laas.fr>
-Date: Thu, 7 Mar 2019 13:05:33 +0100
-Subject: [PATCH] use Eigen::DenseIndex to fix build on eigen3.2, fix #50
-
----
- src/angle-estimator.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/angle-estimator.cpp b/src/angle-estimator.cpp
-index e0279c5..f9cb3ae 100644
---- src/angle-estimator.cpp
-+++ src/angle-estimator.cpp
-@@ -340,7 +340,7 @@ compute_xff_dotSOUT( dynamicgraph::Vector& res,
-   const dynamicgraph::Matrix & J = jacobianSIN( time );
-   const dynamicgraph::Vector & dq = qdotSIN( time );
- 
--  const Eigen::Index nr=J.rows(), nc=J.cols()-6;
-+  const Eigen::DenseIndex nr=J.rows(), nc=J.cols()-6;
-   assert( nr==6 );
-   dynamicgraph::Matrix Ja( nr,nc ); dynamicgraph::Vector dqa(nc);
-   for( int j=0;j<nc;++j )
-@@ -367,7 +367,7 @@ compute_qdotSOUT( dynamicgraph::Vector& res,
- 
-   assert( dx.size()==6 );
- 
--  const Eigen::Index nr=dq.size();
-+  const Eigen::DenseIndex nr=dq.size();
-   res.resize( nr ); res=dq;
-   for( int i=0;i<6;++i ) res(i)=dx(i);
- 
--- 
-2.7.4
-