sci-libs/dart: add 6.12.1

Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2022-03-27 22:26:32 +02:00
parent 87ca18267c
commit ef1f64452b
6 changed files with 355 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST dart-6.10.1.tar.gz 15867405 BLAKE2B 64c42ce1d808a88df53f4292df30c0bc58b52f864342ac0b353ad0496d41bd4986ad231cb08869058a16591350acf0fc0c12ae15d574d919c1c27f102028f608 SHA512 8abbf883628442ed5166e436349de8caaaf72a0ecfa88e75b986a550d617bd9b5df8ff32e32395e941ba12b7ad359be15b2ab2f566d99aa6c603bd0ebade1df0
DIST dart-6.12.1.tar.gz 15990308 BLAKE2B d361dfad70745aa3747ea09f9f80a0b52051cb3e5d9a961995d469ab33086bf8d4068f95dbd4af8d0e2b23d5fbb0fa49dc63d823ffa52bbe750745093a6b54eb SHA512 f386f646f13989dad66efbe126691553b280bf6441edad1c03059d6ae650384652da538edd3d27f3404ba76b9d6f9348e5b1c0998d7673e856cc488b91a677ff

View File

@@ -0,0 +1,162 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit cmake python-single-r1
DESCRIPTION="Dynamic Animation and Robotics Toolkit"
HOMEPAGE="
https://dartsim.github.io
https://github.com/dartsim/dart
"
SRC_URI="https://github.com/dartsim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64"
IUSE="bullet doc examples extras glut gui +ipopt +nlopt ode python test tests tutorials urdfdom
cpu_flags_x86_mmx cpu_flags_x86_mmxext cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3
cpu_flags_x86_ssse3 cpu_flags_x86_sse4a cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx
cpu_flags_x86_avx2 cpu_flags_x86_avx512dq cpu_flags_x86_avx512f cpu_flags_x86_avx512vl
cpu_flags_x86_3dnow cpu_flags_x86_3dnowext cpu_flags_ppc_vsx cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3
cpu_flags_ppc_altivec cpu_flags_arm_neon cpu_flags_arm_iwmmxt cpu_flags_arm_iwmmxt2 cpu_flags_arm_neon"
#TODO: pagmo
RDEPEND="
app-arch/lz4
>=dev-cpp/eigen-3.0.5
dev-libs/boost
dev-libs/tinyxml2
>=sci-libs/libccd-2.0
>=media-libs/assimp-3.0.0
>=sci-libs/fcl-0.2.9
sci-libs/flann
sci-libs/octomap
bullet? ( sci-physics/bullet )
examples? (
dev-cpp/tiny-dnn
dev-libs/urdfdom
)
extras? ( dev-libs/urdfdom )
glut? ( media-libs/freeglut )
gui? (
dev-games/openscenegraph
media-libs/imgui:=[opengl(-)]
media-libs/lodepng:=
virtual/opengl
x11-libs/libXi
x11-libs/libXmu
)
ipopt? ( sci-libs/ipopt )
nlopt? ( >=sci-libs/nlopt-2.4.1 )
ode? ( dev-games/ode )
python? (
${PYTHON_DEPS}
$(python_gen_cond_dep 'dev-python/pybind11[${PYTHON_USEDEP}]')
)
urdfdom? ( dev-libs/urdfdom )
"
DEPEND="
${RDEPEND}
examples? ( dev-libs/urdfdom_headers )
extras? ( dev-libs/urdfdom_headers )
test? (
dev-cpp/gtest
python? ( $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') )
)
urdfdom? ( dev-libs/urdfdom_headers )
"
BDEPEND="
app-text/dos2unix
doc? ( app-doc/doxygen )
test? ( python? ( $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') ) )
"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/${PN}-respect-ldflags.patch"
"${FILESDIR}/${P}-respect-cflags.patch"
"${FILESDIR}/${P}-use-system-gtest.patch"
"${FILESDIR}/${P}-use-system-lodepng-imgui.patch"
)
REQUIRED_USE="
examples? ( gui )
python? (
${PYTHON_REQUIRED_USE}
gui
)
|| ( ipopt nlopt )
"
pkg_setup() {
use python && python-single-r1_pkg_setup
}
src_prepare() {
# delete bundled gtest
rm -r unittests/gtest || die
rm -r dart/external/{imgui,lodepng} || die
dos2unix unittests/CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local simd=OFF
use cpu_flags_x86_mmx && simd=ON
use cpu_flags_x86_mmxext && simd=ON
use cpu_flags_x86_sse && simd=ON
use cpu_flags_x86_sse2 && simd=ON
use cpu_flags_x86_sse3 && simd=ON
use cpu_flags_x86_ssse3 && simd=ON
use cpu_flags_x86_sse4a && simd=ON
use cpu_flags_x86_sse4_1 && simd=ON
use cpu_flags_x86_sse4_2 && simd=ON
use cpu_flags_x86_avx && simd=ON
use cpu_flags_x86_avx2 && simd=ON
use cpu_flags_x86_avx512dq && simd=ON
use cpu_flags_x86_avx512f && simd=ON
use cpu_flags_x86_avx512vl && simd=ON
use cpu_flags_x86_3dnow && simd=ON
use cpu_flags_x86_3dnowext && simd=ON
use cpu_flags_ppc_vsx && simd=ON
use cpu_flags_ppc_vsx2 && simd=ON
use cpu_flags_ppc_vsx3 && simd=ON
use cpu_flags_ppc_altivec && simd=ON
use cpu_flags_arm_neon && simd=ON
use cpu_flags_arm_iwmmxt && simd=ON
use cpu_flags_arm_iwmmxt2 && simd=ON
use cpu_flags_arm_neon && simd=ON
local mycmakeargs=(
-DBUILD_SHARED_LIBS=ON
-DCMAKE_BUILD_TYPE=Release
-DDART_CODECOV=OFF
-DDART_VERBOSE=ON
-DDART_TREAT_WARNINGS_AS_ERRORS=OFF
-DDART_BUILD_EXTRAS=$(usex extras)
-DDART_BUILD_GUI_OSG=$(usex gui)
-DDART_ENABLE_SIMD="${simd}"
)
cmake_src_configure
}
src_compile() {
cmake_src_compile
use examples && cmake_build examples
use python && cmake_build dartpy # no work to do ...
use test && cmake_build tests
use tutorials && cmake_build tutorials
}
src_install() {
cmake_src_install
#TODO: python examples tests tutorials
mv "${ED}/usr/share/doc/dart" "${ED}/usr/share/doc/${PF}" || die
docompress -x "/usr/share/doc/${PF}"
}

View File

@@ -0,0 +1,11 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -208,7 +208,7 @@
if(GCC_VERSION VERSION_LESS 7.3.0)
message(FATAL_ERROR "The installed g++ version is ${GCC_VERSION}. ${PROJECT_NAME} requires g++ 7.3.0 or greater.")
endif()
- set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
+ set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG")
set(CMAKE_CXX_FLAGS_DEBUG "-g -fno-omit-frame-pointer -fno-inline-functions -fno-inline-functions-called-once -fno-optimize-sibling-calls")
if(DART_FAST_DEBUG)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O1")

View File

@@ -0,0 +1,31 @@
--- a/unittests/CMakeLists.txt
+++ b/unittests/CMakeLists.txt
@@ -31,18 +31,7 @@
#
# GoogleTest setup
-include_directories(BEFORE SYSTEM ${DART_SOURCE_DIR}/unittests/gtest/include)
-include_directories(BEFORE SYSTEM ${DART_SOURCE_DIR}/unittests/gtest)
-add_library(gtest STATIC gtest/src/gtest-all.cc)
-add_library(gtest_main STATIC gtest/src/gtest_main.cc)
-target_link_libraries(gtest_main gtest)
-if(NOT WIN32)
- target_link_libraries(gtest pthread)
-endif()
-set_target_properties(
- gtest PROPERTIES
- ARCHIVE_OUTPUT_DIRECTORY ${DART_BINARY_DIR}/lib
-)
+include_directories(BEFORE SYSTEM /usr/include/gtest)
#===============================================================================
# This function uses following global properties:
@@ -66,7 +55,7 @@
add_executable(${target_name} ${sources})
add_test(${target_name} ${target_name})
- target_link_libraries(${target_name} dart gtest gtest_main)
+ target_link_libraries(${target_name} dart gtest)
dart_format_add(${sources})

View File

@@ -0,0 +1,149 @@
--- a/dart/external/CMakeLists.txt
+++ b/dart/external/CMakeLists.txt
@@ -1,5 +1,3 @@
add_subdirectory(convhull_3d)
-add_subdirectory(imgui)
add_subdirectory(ikfast)
-add_subdirectory(lodepng)
add_subdirectory(odelcpsolver)
--- a/dart/gui/CMakeLists.txt
+++ b/dart/gui/CMakeLists.txt
@@ -42,14 +42,15 @@
dart_add_library(${target_name}
${hdrs} ${srcs} ${dart_gui_headers} ${dart_gui_sources}
)
+target_include_directories(${target_name} PRIVATE /usr/include/imgui)
target_link_libraries(${target_name}
PUBLIC
dart-utils
OpenGL::GL
OpenGL::GLU
GLUT::GLUT
- ${PROJECT_NAME}-external-lodepng
- ${PROJECT_NAME}-external-imgui
+ -limgui
+ lodepng
)
# Component
@@ -59,8 +60,6 @@
${PROJECT_NAME}
${component_name}
utils
- external-lodepng
- external-imgui
)
add_component_dependency_packages(${PROJECT_NAME} ${component_name} OpenGL)
if(NOT WIN32 OR CYGWIN)
--- a/dart/gui/glut/GlutWindow.cpp
+++ b/dart/gui/glut/GlutWindow.cpp
@@ -30,7 +30,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-#include "dart/external/lodepng/lodepng.h"
+#include "lodepng.h"
#include "dart/gui/glut/Window.hpp"
#ifdef _WIN32
--- a/dart/gui/osg/ImGuiHandler.cpp
+++ b/dart/gui/osg/ImGuiHandler.cpp
@@ -44,8 +44,8 @@
#include <osg/RenderInfo>
#include "dart/common/Console.hpp"
-#include "dart/external/imgui/imgui.h"
-#include "dart/external/imgui/imgui_impl_opengl2.h"
+#include "imgui/imgui.h"
+#include "imgui/imgui_impl_opengl2.h"
#include "dart/gui/osg/ImGuiWidget.hpp"
namespace dart {
--- a/dart/gui/osg/ImGuiWidget.cpp
+++ b/dart/gui/osg/ImGuiWidget.cpp
@@ -38,7 +38,7 @@
#include "dart/gui/osg/ImGuiWidget.hpp"
-#include "dart/external/imgui/imgui.h"
+#include "imgui/imgui.h"
namespace dart {
namespace gui {
--- a/examples/atlas_simbicon/AtlasSimbiconWidget.cpp
+++ b/examples/atlas_simbicon/AtlasSimbiconWidget.cpp
@@ -38,7 +38,7 @@
#include "AtlasSimbiconWidget.hpp"
-#include "dart/external/imgui/imgui.h"
+#include "imgui/imgui.h"
#include "AtlasSimbiconWorldNode.hpp"
--- a/examples/box_stacking/main.cpp
+++ b/examples/box_stacking/main.cpp
@@ -33,7 +33,7 @@
#include <iostream>
#include <dart/dart.hpp>
-#include <dart/external/imgui/imgui.h>
+#include "imgui/imgui.h"
#include <dart/gui/osg/osg.hpp>
#include <dart/utils/utils.hpp>
--- a/examples/fetch/main.cpp
+++ b/examples/fetch/main.cpp
@@ -32,7 +32,7 @@
#include <dart/collision/bullet/bullet.hpp>
#include <dart/dart.hpp>
-#include <dart/external/imgui/imgui.h>
+#include "imgui/imgui.h"
#include <dart/gui/osg/osg.hpp>
#include <dart/utils/utils.hpp>
--- a/examples/heightmap/main.cpp
+++ b/examples/heightmap/main.cpp
@@ -33,7 +33,7 @@
#include <cmath>
#include <dart/dart.hpp>
-#include <dart/external/imgui/imgui.h>
+#include "imgui/imgui.h"
#include <dart/gui/osg/osg.hpp>
#include <dart/utils/urdf/urdf.hpp>
#include <dart/utils/utils.hpp>
--- a/examples/imgui/main.cpp
+++ b/examples/imgui/main.cpp
@@ -31,7 +31,7 @@
*/
#include <dart/dart.hpp>
-#include <dart/external/imgui/imgui.h>
+#include "imgui/imgui.h"
#include <dart/gui/osg/osg.hpp>
//==============================================================================
--- a/examples/point_cloud/main.cpp
+++ b/examples/point_cloud/main.cpp
@@ -33,7 +33,7 @@
#include <cmath>
#include <dart/dart.hpp>
-#include <dart/external/imgui/imgui.h>
+#include "imgui/imgui.h"
#include <dart/gui/osg/osg.hpp>
#include <dart/utils/urdf/urdf.hpp>
#include <dart/utils/utils.hpp>
--- a/examples/tinkertoy/TinkertoyWidget.cpp
+++ b/examples/tinkertoy/TinkertoyWidget.cpp
@@ -38,7 +38,7 @@
#include "TinkertoyWidget.hpp"
-#include "dart/external/imgui/imgui.h"
+#include "imgui/imgui.h"
#include "TinkertoyWorldNode.hpp"

View File

@@ -13,6 +13,7 @@
<flag name="bullet">Bullet Collision Detector Support</flag>
<flag name="examples">Build the examples</flag>
<flag name="extras">Build the experimental projects that are derived from the core DART project</flag>
<flag name="gui">OpenSceneGraph GUI</flag>
<flag name="ipopt">IPopt Optimization Support</flag>
<flag name="nlopt">NLopt Optimization Support</flag>
<flag name="ode">ODE Collision Detector Support</flag>