From a19d399fea7658ffd93fe0eb96e35c8e0de2e904 Mon Sep 17 00:00:00 2001
From: Guilhem Saurel <guilhem.saurel@laas.fr>
Date: Wed, 10 Aug 2022 23:06:44 +0200
Subject: [PATCH] [wip/py-mpc-interface] Initial import

---
 Makefile                   |  1 +
 py-mpc-interface/DESCR     |  2 ++
 py-mpc-interface/Makefile  | 23 +++++++++++++++++++++++
 py-mpc-interface/PLIST     | 21 +++++++++++++++++++++
 py-mpc-interface/depend.mk | 33 +++++++++++++++++++++++++++++++++
 py-mpc-interface/distinfo  |  3 +++
 6 files changed, 83 insertions(+)
 create mode 100644 py-mpc-interface/DESCR
 create mode 100644 py-mpc-interface/Makefile
 create mode 100644 py-mpc-interface/PLIST
 create mode 100644 py-mpc-interface/depend.mk
 create mode 100644 py-mpc-interface/distinfo

diff --git a/Makefile b/Makefile
index c7f7bd85..79ee3ef9 100644
--- a/Makefile
+++ b/Makefile
@@ -82,6 +82,7 @@ SUBDIR+=	py-hpp-hrp2
 #SUBDIR+=	py-hpp-spline
 SUBDIR+=	py-libnabo
 SUBDIR+=	py-morse
+SUBDIR+=	py-mpc-interface
 SUBDIR+=	py-mraa
 SUBDIR+=	py-multicontact-api
 SUBDIR+=	py-multiprocess
diff --git a/py-mpc-interface/DESCR b/py-mpc-interface/DESCR
new file mode 100644
index 00000000..999c8217
--- /dev/null
+++ b/py-mpc-interface/DESCR
@@ -0,0 +1,2 @@
+This package provides a structure to formulate QP based MPC problems with any linear dynamics, cost functions and constraint.
+All required QP matrices are generated automatically with the structure considered in [qpsolvers](https://scaron.info/doc/qpsolvers/).
diff --git a/py-mpc-interface/Makefile b/py-mpc-interface/Makefile
new file mode 100644
index 00000000..85045320
--- /dev/null
+++ b/py-mpc-interface/Makefile
@@ -0,0 +1,23 @@
+# robotpkg Makefile for:	wip/py310-mpc-interface
+# Created:			Guilhem Saurel on Wed, 10 Aug 2022
+#
+
+ORG=			gepetto
+NAME=			mpc-interface
+VERSION=		1.0.0
+
+USE_PYTHON=		true
+
+CATEGORIES=		wip
+COMMENT=		A fast and flexible formulation of QP Probl
+
+include ../../devel/jrl-cmakemodules/Makefile.common
+include ../../math/eigen3/depend.mk
+include ../../pkgtools/pkg-config/depend.mk
+include ../../mk/sysdep/cmake.mk
+include ../../mk/sysdep/doxygen.mk
+include ../../mk/sysdep/graphviz.mk
+include ../../mk/sysdep/python.mk
+include ../../mk/language/c.mk
+include ../../mk/language/c++.mk
+include ../../mk/robotpkg.mk
diff --git a/py-mpc-interface/PLIST b/py-mpc-interface/PLIST
new file mode 100644
index 00000000..d4516de4
--- /dev/null
+++ b/py-mpc-interface/PLIST
@@ -0,0 +1,21 @@
+@comment Wed Aug 10 23:04:03 CEST 2022
+include/mpc-interface/config.hpp
+include/mpc-interface/deprecated.hpp
+include/mpc-interface/dynamics.hh
+include/mpc-interface/tools.hh
+include/mpc-interface/warning.hpp
+lib/cmake/mpc-interface/cxx-standard.cmake
+lib/cmake/mpc-interface/mpc-interfaceConfig.cmake
+lib/cmake/mpc-interface/mpc-interfaceConfigVersion.cmake
+lib/cmake/mpc-interface/mpc-interfaceTargets-release.cmake
+lib/cmake/mpc-interface/mpc-interfaceTargets.cmake
+lib/libmpc-interface.so
+lib/pkgconfig/mpc-interface.pc
+${PYTHON_SITELIB}/mpc_interface/__init__.py
+${PYTHON_SITELIB}/mpc_interface/body.py
+${PYTHON_SITELIB}/mpc_interface/combinations.py
+${PYTHON_SITELIB}/mpc_interface/dynamics.py
+${PYTHON_SITELIB}/mpc_interface/goal.py
+${PYTHON_SITELIB}/mpc_interface/restrictions.py
+${PYTHON_SITELIB}/mpc_interface/tools.py
+share/mpc-interface/package.xml
diff --git a/py-mpc-interface/depend.mk b/py-mpc-interface/depend.mk
new file mode 100644
index 00000000..0abf21e1
--- /dev/null
+++ b/py-mpc-interface/depend.mk
@@ -0,0 +1,33 @@
+# robotpkg depend.mk for:	wip/py310-mpc-interface
+# Created:			Guilhem Saurel on Wed, 10 Aug 2022
+#
+
+DEPEND_DEPTH:=			${DEPEND_DEPTH}+
+PY_MPC_INTERFACE_DEPEND_MK:=	${PY_MPC_INTERFACE_DEPEND_MK}+
+
+ifeq (+,$(DEPEND_DEPTH))
+DEPEND_PKG+=			py-mpc-interface
+endif
+
+ifeq (+,$(PY_MPC_INTERFACE_DEPEND_MK)) # -----------------------------------
+
+PREFER.py-mpc-interface?=	robotpkg
+
+DEPEND_USE+=			py-mpc-interface
+DEPEND_ABI.py-mpc-interface?=	${PKGTAG.python-}mpc-interface>=1.0.0
+DEPEND_DIR.py-mpc-interface?=	../../wip/py-mpc-interface
+
+SYSTEM_SEARCH.py-mpc-interface=\
+  'include/mpc-interface/config.hh:/MPC_INTERFACE_VERSION /s/[^0-9.]//gp'				\
+  'lib/libmpc-interface.so'										\
+  '${PYTHON_SYSLIBSEARCH}/mpc_interface/wrap.so'							\
+  '${PYTHON_SYSLIBSEARCH}/mpc_interface/__init__.py'							\
+  'lib/cmake/mpc-interface/mpc-interfaceConfigVersion.cmake:/PACKAGE_VERSION/s/[^0-9.]//gp'		\
+  'lib/pkgconfig/mpc-interface.pc:/Version/s/[^0-9.]//gp'						\
+  'share/mpc-interface/package.xml:/<version>/s/[^0-9.]//gp'
+
+include ../../mk/sysdep/python.mk
+
+endif # PY_MPC_INTERFACE_DEPEND_MK -----------------------------------------
+
+DEPEND_DEPTH:=			${DEPEND_DEPTH:+=}
diff --git a/py-mpc-interface/distinfo b/py-mpc-interface/distinfo
new file mode 100644
index 00000000..910125cc
--- /dev/null
+++ b/py-mpc-interface/distinfo
@@ -0,0 +1,3 @@
+SHA1 (mpc-interface-1.0.0.tar.gz) = 9d872a2ee2b27a769c9809d21542b6682bc9bc55
+RMD160 (mpc-interface-1.0.0.tar.gz) = 060b9eb94cf9e8718b69d2c497708640244d982a
+Size (mpc-interface-1.0.0.tar.gz) = 843336 bytes
-- 
GitLab