commit:     ef1f64452bc61dc3139696482eef10e875e331b9
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Sun Mar 27 20:26:32 2022 +0000
Commit:     Ronny Gutbrod <gentoo <AT> tastytea <DOT> de>
CommitDate: Sun Mar 27 21:28:24 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=ef1f6445

sci-libs/dart: add 6.12.1

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 sci-libs/dart/Manifest                             |   1 +
 sci-libs/dart/dart-6.12.1.ebuild                   | 162 +++++++++++++++++++++
 .../dart/files/dart-6.12.1-respect-cflags.patch    |  11 ++
 .../dart/files/dart-6.12.1-use-system-gtest.patch  |  31 ++++
 .../dart-6.12.1-use-system-lodepng-imgui.patch     | 149 +++++++++++++++++++
 sci-libs/dart/metadata.xml                         |   1 +
 6 files changed, 355 insertions(+)

diff --git a/sci-libs/dart/Manifest b/sci-libs/dart/Manifest
index 461c20c15..46b234018 100644
--- a/sci-libs/dart/Manifest
+++ b/sci-libs/dart/Manifest
@@ -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

diff --git a/sci-libs/dart/dart-6.12.1.ebuild b/sci-libs/dart/dart-6.12.1.ebuild
new file mode 100644
index 000000000..aac4ae640
--- /dev/null
+++ b/sci-libs/dart/dart-6.12.1.ebuild
@@ -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}"
+}

diff --git a/sci-libs/dart/files/dart-6.12.1-respect-cflags.patch 
b/sci-libs/dart/files/dart-6.12.1-respect-cflags.patch
new file mode 100644
index 000000000..1c3f45d58
--- /dev/null
+++ b/sci-libs/dart/files/dart-6.12.1-respect-cflags.patch
@@ -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")

diff --git a/sci-libs/dart/files/dart-6.12.1-use-system-gtest.patch 
b/sci-libs/dart/files/dart-6.12.1-use-system-gtest.patch
new file mode 100644
index 000000000..37cdd9ecf
--- /dev/null
+++ b/sci-libs/dart/files/dart-6.12.1-use-system-gtest.patch
@@ -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})
+ 

diff --git a/sci-libs/dart/files/dart-6.12.1-use-system-lodepng-imgui.patch 
b/sci-libs/dart/files/dart-6.12.1-use-system-lodepng-imgui.patch
new file mode 100644
index 000000000..1d90631e9
--- /dev/null
+++ b/sci-libs/dart/files/dart-6.12.1-use-system-lodepng-imgui.patch
@@ -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"
+ 

diff --git a/sci-libs/dart/metadata.xml b/sci-libs/dart/metadata.xml
index 486eef082..2d537d0c1 100644
--- a/sci-libs/dart/metadata.xml
+++ b/sci-libs/dart/metadata.xml
@@ -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>

Reply via email to