summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Chrétien2014-06-19 13:20:32 +0200
committerBenjamin Chrétien2014-06-19 13:20:32 +0200
commit4324c84284a5e2faa16cf1c546260ba3aaac0d7d (patch)
treea2058d550b127836feaaba267d775a263a4cfcf8
downloadaur-4324c84284a5e2faa16cf1c546260ba3aaac0d7d.tar.gz
Add libdart, update gazebo, add gazebo-1.9, etc.
-rw-r--r--.SRCINFO28
-rwxr-xr-xPKGBUILD59
-rw-r--r--ipopt.patch38
3 files changed, 125 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..ca17a90b04da
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,28 @@
+pkgbase = libdart
+ pkgdesc = Dynamic Animation and Robotics Toolkit
+ pkgver = 4.0
+ pkgrel = 1
+ url = http://dartsim.github.io
+ arch = i686
+ arch = x86_64
+ license = (L)GPL2
+ makedepends = cmake
+ makedepends = doxygen
+ depends = assimp
+ depends = boost
+ depends = eigen>=3
+ depends = fcl
+ depends = flann
+ depends = glut
+ depends = libccd
+ depends = libgl
+ optdepends = bullet: Bullet support
+ optdepends = ipopt: Ipopt support
+ optdepends = nlopt: NLopt support
+ source = https://github.com/dartsim/dart/archive/v4.0.tar.gz
+ source = ipopt.patch
+ md5sums = 41547fc96f5f2c85ee3672ddb2ec7376
+ md5sums = 9a497cceb18ecd8b83fe56af477c4096
+
+pkgname = libdart
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100755
index 000000000000..53f5b47be82b
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,59 @@
+# Maintainer: Benjamin Chretien <chretien at lirmm dot fr>
+pkgname=libdart
+pkgver=4.0
+pkgrel=1
+pkgdesc="Dynamic Animation and Robotics Toolkit"
+arch=('i686' 'x86_64')
+url="http://dartsim.github.io"
+license=('(L)GPL2')
+depends=('assimp' 'boost' 'eigen>=3' 'fcl' 'flann' 'glut' 'libccd' 'libgl')
+optdepends=('bullet: Bullet support'
+ 'ipopt: Ipopt support'
+ 'nlopt: NLopt support')
+makedepends=('cmake' 'doxygen')
+_name=dart
+source=(https://github.com/dartsim/${_name}/archive/v${pkgver}.tar.gz
+ "ipopt.patch")
+md5sums=('41547fc96f5f2c85ee3672ddb2ec7376'
+ '9a497cceb18ecd8b83fe56af477c4096')
+
+# Build type
+_buildtype="Release"
+
+# Build the project
+build() {
+ cd "${srcdir}/${_name}-${pkgver}"
+
+ patch -p1 -i ${srcdir}/ipopt.patch
+
+ msg "Starting CMake (build type = ${_buildtype})"
+
+ # Create a build directory
+ mkdir -p "${srcdir}/${_name}-${pkgver}-build"
+ cd "${srcdir}/${_name}-${pkgver}-build"
+
+ # Run CMake in release
+ cmake -DCMAKE_BUILD_TYPE="${_buildtype}" \
+ -DCMAKE_INSTALL_PREFIX="/usr" \
+ "${srcdir}/${_name}-${pkgver}"
+
+ # Compile the library
+ msg "Building the project"
+ make
+}
+
+# Run unit tests
+check() {
+ msg "Running unit tests"
+ cd "${srcdir}/${_name}-${pkgver}-build"
+ make test
+}
+
+# Create the package
+package() {
+ # Install in /opt/roboptim
+ cd "${srcdir}/${_name}-${pkgver}-build"
+
+ msg "Installing files"
+ make DESTDIR="${pkgdir}/" install
+}
diff --git a/ipopt.patch b/ipopt.patch
new file mode 100644
index 000000000000..f6d93eb2fbeb
--- /dev/null
+++ b/ipopt.patch
@@ -0,0 +1,38 @@
+commit 0a1a79a5b49d0c2619b80f8a2a9856405a60f5f8
+Author: Benjamin Chrétien <chretien@lirmm.fr>
+Date: Thu Jun 19 12:55:53 2014 +0200
+
+ FindIPOPT.cmake: fix libraries.
+
+ This may also solve #153 by linking with Ipopt's dependencies, i.e.
+ the libraries described in your ipopt.pc (possibly COIN HSL, BLAS,
+ Lapack, etc.).
+
+diff --git a/cmake/FindIPOPT.cmake b/cmake/FindIPOPT.cmake
+index ebfebd3..3e4bf48 100644
+--- a/cmake/FindIPOPT.cmake
++++ b/cmake/FindIPOPT.cmake
+@@ -14,10 +14,7 @@ find_path(IPOPT_INCLUDE_DIR IpIpoptNLP.hpp
+ HINTS ${PC_IPOPT_INCLUDEDIR} ${PC_IPOPT_INCLUDE_DIRS}
+ PATHS "${CMAKE_INSTALL_PREFIX}/include")
+
+-find_library(IPOPT_LIBRARY NAMES ipopt
+- HINTS ${PC_IPOPT_LIBDIR} ${PC_IPOPT_LIBRARY_DIRS} )
+-
+-set(IPOPT_LIBRARIES ${IPOPT_LIBRARY})
++set(IPOPT_LIBRARIES ${PC_IPOPT_LIBRARIES})
+ set(IPOPT_INCLUDE_DIRS ${IPOPT_INCLUDE_DIR})
+
+ include(FindPackageHandleStandardArgs)
+diff --git a/dart/optimizer/ipopt/IpoptSolver.cpp b/dart/optimizer/ipopt/IpoptSolver.cpp
+index 8c53d44..edc17a1 100644
+--- a/dart/optimizer/ipopt/IpoptSolver.cpp
++++ b/dart/optimizer/ipopt/IpoptSolver.cpp
+@@ -63,6 +63,7 @@ IpoptSolver::IpoptSolver(Problem* _problem)
+ mIpoptApp->Options()->SetNumericValue("tol", 1e-9);
+ mIpoptApp->Options()->SetStringValue("mu_strategy", "adaptive");
+ mIpoptApp->Options()->SetStringValue("output_file", "ipopt.out");
++ mIpoptApp->Options()->SetStringValue("hessian_approximation", "limited-memory");
+
+ // Intialize the IpoptApplication and process the options
+ Ipopt::ApplicationReturnStatus status = mIpoptApp->Initialize();