sci-electronics/gazebo: bump to 11.0.0
authorAlexis Ballier <aballier@gentoo.org>
Fri, 15 May 2020 11:44:58 +0000 (13:44 +0200)
committerAlexis Ballier <aballier@gentoo.org>
Fri, 15 May 2020 16:33:45 +0000 (18:33 +0200)
Fix build with boost 1.73 and cmake 3.17

Closes: https://bugs.gentoo.org/723106
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Alexis Ballier <aballier@gentoo.org>
sci-electronics/gazebo/Manifest
sci-electronics/gazebo/files/boost173.patch [new file with mode: 0644]
sci-electronics/gazebo/files/cmake.patch [new file with mode: 0644]
sci-electronics/gazebo/gazebo-11.0.0.ebuild [new file with mode: 0644]

index d6b1a9766d723c7b48fef7b24a095e8f59b573a8..bd4b17f4b6d4a9496e615c91f9ad13a735bb7141 100644 (file)
@@ -1 +1,2 @@
 DIST gazebo-10.1.0.tar.bz2 52723379 BLAKE2B c7902c1797efef80b3110e988e1c01d171f652803a2ac28b880d5a01e2f981655db2d9925263030948d351e95af39d435b8618bf703f56a29033db05f0b29e2f SHA512 8febea84240eeb2367d783b36e4c626145ccf13177837ccb73b6ed87f8b264a337c6f8dc53d8583ce5d903b6152eaa5234ec2015ee292a1681800af2800d9eb7
+DIST gazebo-11.0.0.tar.bz2 53806265 BLAKE2B 0658bdfd7d1f130767bd38cc2b33379f66f8cd92a9e6496581cd660638fb0307f87af19bcd5bd9ec2edb2be980e964297241ab4c1cec855751fdd7b394c717e9 SHA512 7c6cbb17c52829bb553f57a4bc2d515211aefa105d97cd5e71ff239244e49312562af1c901dac6c88b982986dd1318c0bb780c0a68f10ce78f25e12f031ba934
diff --git a/sci-electronics/gazebo/files/boost173.patch b/sci-electronics/gazebo/files/boost173.patch
new file mode 100644 (file)
index 0000000..618f6f1
--- /dev/null
@@ -0,0 +1,135 @@
+Index: gazebo-11.0.0/gazebo/gui/model/ModelTreeWidget.cc
+===================================================================
+--- gazebo-11.0.0.orig/gazebo/gui/model/ModelTreeWidget.cc
++++ gazebo-11.0.0/gazebo/gui/model/ModelTreeWidget.cc
+@@ -162,7 +162,7 @@ ModelTreeWidget::ModelTreeWidget(QWidget
+   // Connections
+   this->connections.push_back(
+       gui::model::Events::ConnectSaveModel(
+-      boost::bind(&ModelTreeWidget::OnSaveModel, this, _1)));
++      boost::bind(&ModelTreeWidget::OnSaveModel, this, boost::placeholders::_1)));
+   this->connections.push_back(
+       gui::model::Events::ConnectNewModel(
+@@ -170,11 +170,11 @@ ModelTreeWidget::ModelTreeWidget(QWidget
+   this->connections.push_back(
+       gui::model::Events::ConnectModelPropertiesChanged(
+-      boost::bind(&ModelTreeWidget::OnModelPropertiesChanged, this, _1, _2)));
++      boost::bind(&ModelTreeWidget::OnModelPropertiesChanged, this, boost::placeholders::_1, boost::placeholders::_2)));
+   this->connections.push_back(
+       gui::model::Events::ConnectModelNameChanged(
+-      boost::bind(&ModelTreeWidget::OnModelNameChanged, this, _1)));
++      boost::bind(&ModelTreeWidget::OnModelNameChanged, this, boost::placeholders::_1)));
+   this->connections.push_back(
+       gui::model::Events::ConnectNestedModelInserted(
+@@ -183,51 +183,51 @@ ModelTreeWidget::ModelTreeWidget(QWidget
+   this->connections.push_back(
+       gui::model::Events::ConnectLinkInserted(
+-      boost::bind(&ModelTreeWidget::OnLinkInserted, this, _1)));
++      boost::bind(&ModelTreeWidget::OnLinkInserted, this, boost::placeholders::_1)));
+   this->connections.push_back(
+       gui::model::Events::ConnectJointInserted(
+-      boost::bind(&ModelTreeWidget::OnJointInserted, this, _1, _2, _3, _4)));
++      boost::bind(&ModelTreeWidget::OnJointInserted, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3, boost::placeholders::_4)));
+   this->connections.push_back(
+       gui::model::Events::ConnectModelPluginInserted(
+-      boost::bind(&ModelTreeWidget::OnModelPluginInserted, this, _1)));
++      boost::bind(&ModelTreeWidget::OnModelPluginInserted, this, boost::placeholders::_1)));
+   this->connections.push_back(
+       gui::model::Events::ConnectNestedModelRemoved(
+-      boost::bind(&ModelTreeWidget::OnNestedModelRemoved, this, _1)));
++      boost::bind(&ModelTreeWidget::OnNestedModelRemoved, this, boost::placeholders::_1)));
+   this->connections.push_back(
+       gui::model::Events::ConnectLinkRemoved(
+-      boost::bind(&ModelTreeWidget::OnLinkRemoved, this, _1)));
++      boost::bind(&ModelTreeWidget::OnLinkRemoved, this, boost::placeholders::_1)));
+   this->connections.push_back(
+       gui::model::Events::ConnectJointRemoved(
+-      boost::bind(&ModelTreeWidget::OnJointRemoved, this, _1)));
++      boost::bind(&ModelTreeWidget::OnJointRemoved, this, boost::placeholders::_1)));
+   this->connections.push_back(
+       gui::model::Events::ConnectModelPluginRemoved(
+-      boost::bind(&ModelTreeWidget::OnModelPluginRemoved, this, _1)));
++      boost::bind(&ModelTreeWidget::OnModelPluginRemoved, this, boost::placeholders::_1)));
+   this->connections.push_back(
+       gui::model::Events::ConnectJointNameChanged(
+-      boost::bind(&ModelTreeWidget::OnJointNameChanged, this, _1, _2)));
++      boost::bind(&ModelTreeWidget::OnJointNameChanged, this, boost::placeholders::_1, boost::placeholders::_2)));
+   this->connections.push_back(
+      event::Events::ConnectSetSelectedEntity(
+-       boost::bind(&ModelTreeWidget::OnDeselectAll, this, _1, _2)));
++       boost::bind(&ModelTreeWidget::OnDeselectAll, this, boost::placeholders::_1, boost::placeholders::_2)));
+   this->connections.push_back(
+      gui::model::Events::ConnectSetSelectedEntity(
+-       boost::bind(&ModelTreeWidget::OnSetSelectedEntity, this, _1, _2)));
++       boost::bind(&ModelTreeWidget::OnSetSelectedEntity, this, boost::placeholders::_1, boost::placeholders::_2)));
+   this->connections.push_back(
+      gui::model::Events::ConnectSetSelectedJoint(
+-       boost::bind(&ModelTreeWidget::OnSetSelectedJoint, this, _1, _2)));
++       boost::bind(&ModelTreeWidget::OnSetSelectedJoint, this, boost::placeholders::_1, boost::placeholders::_2)));
+   this->connections.push_back(
+      gui::model::Events::ConnectSetSelectedModelPlugin(
+-     boost::bind(&ModelTreeWidget::OnSetSelectedModelPlugin, this, _1, _2)));
++     boost::bind(&ModelTreeWidget::OnSetSelectedModelPlugin, this, boost::placeholders::_1, boost::placeholders::_2)));
+   this->ClearModelTree();
+ }
+Index: gazebo-11.0.0/gazebo/gui/model/SchematicViewWidget.cc
+===================================================================
+--- gazebo-11.0.0.orig/gazebo/gui/model/SchematicViewWidget.cc
++++ gazebo-11.0.0/gazebo/gui/model/SchematicViewWidget.cc
+@@ -83,31 +83,31 @@ void SchematicViewWidget::Reset()
+ void SchematicViewWidget::Init()
+ {
+   this->connections.push_back(gui::model::Events::ConnectLinkInserted(
+-      boost::bind(&SchematicViewWidget::AddNode, this, _1)));
++      boost::bind(&SchematicViewWidget::AddNode, this, boost::placeholders::_1)));
+   this->connections.push_back(gui::model::Events::ConnectLinkRemoved(
+-      boost::bind(&SchematicViewWidget::RemoveNode, this, _1)));
++      boost::bind(&SchematicViewWidget::RemoveNode, this, boost::placeholders::_1)));
+   this->connections.push_back(gui::model::Events::ConnectJointInserted(
+-      boost::bind(&SchematicViewWidget::AddEdge, this, _1, _2, _3, _4, _5)));
++      boost::bind(&SchematicViewWidget::AddEdge, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3, boost::placeholders::_4, boost::placeholders::_5)));
+   this->connections.push_back(gui::model::Events::ConnectJointRemoved(
+-      boost::bind(&SchematicViewWidget::RemoveEdge, this, _1)));
++      boost::bind(&SchematicViewWidget::RemoveEdge, this, boost::placeholders::_1)));
+   this->connections.push_back(gui::model::Events::ConnectJointChanged(
+-      boost::bind(&SchematicViewWidget::UpdateEdge, this, _1, _2, _3, _4, _5)));
++      boost::bind(&SchematicViewWidget::UpdateEdge, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3, boost::placeholders::_4, boost::placeholders::_5)));
+   this->connections.push_back(
+      event::Events::ConnectSetSelectedEntity(
+-       boost::bind(&SchematicViewWidget::OnDeselectAll, this, _1, _2)));
++       boost::bind(&SchematicViewWidget::OnDeselectAll, this, boost::placeholders::_1, boost::placeholders::_2)));
+   this->connections.push_back(
+      gui::model::Events::ConnectSetSelectedEntity(
+-       boost::bind(&SchematicViewWidget::OnSetSelectedEntity, this, _1, _2)));
++       boost::bind(&SchematicViewWidget::OnSetSelectedEntity, this, boost::placeholders::_1, boost::placeholders::_2)));
+   this->connections.push_back(
+      gui::model::Events::ConnectSetSelectedJoint(
+-       boost::bind(&SchematicViewWidget::OnSetSelectedJoint, this, _1, _2)));
++       boost::bind(&SchematicViewWidget::OnSetSelectedJoint, this, boost::placeholders::_1, boost::placeholders::_2)));
+ }
+ /////////////////////////////////////////////////
diff --git a/sci-electronics/gazebo/files/cmake.patch b/sci-electronics/gazebo/files/cmake.patch
new file mode 100644 (file)
index 0000000..192a4c9
--- /dev/null
@@ -0,0 +1,24 @@
+From 9fe44347eac29da2afe6e49646310a51641d3182 Mon Sep 17 00:00:00 2001
+From: Silvio Traversaro <silvio.traversaro@iit.it>
+Date: Sun, 15 Mar 2020 16:24:17 +0000
+Subject: [PATCH] Fix  problem with  automoc in CMake 3.17
+
+---
+ CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e93d65cc52..51f072bc8a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,6 +5,10 @@ if(COMMAND CMAKE_POLICY)
+   CMAKE_POLICY(SET CMP0004 NEW)
+ endif(COMMAND CMAKE_POLICY)
++if(POLICY CMP0100)
++  cmake_policy(SET CMP0100 NEW)
++endif()
++
+ project (Gazebo)
+ string (TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER)
+ string (TOUPPER ${PROJECT_NAME} PROJECT_NAME_UPPER)
diff --git a/sci-electronics/gazebo/gazebo-11.0.0.ebuild b/sci-electronics/gazebo/gazebo-11.0.0.ebuild
new file mode 100644 (file)
index 0000000..d0014af
--- /dev/null
@@ -0,0 +1,80 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils flag-o-matic
+
+DESCRIPTION="A 3D multiple robot simulator with dynamics"
+HOMEPAGE="http://gazebosim.org/"
+SRC_URI="https://osrf-distributions.s3.amazonaws.com/gazebo/releases/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+# Subslot = major version = soname of libs
+SLOT="0/11"
+KEYWORDS="~amd64"
+IUSE="cpu_flags_x86_sse2 test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       >=dev-libs/protobuf-2:=
+       virtual/opengl
+       media-libs/openal
+       net-misc/curl
+       dev-libs/tinyxml
+       >=dev-libs/tinyxml2-6:=
+       dev-libs/libtar
+       dev-cpp/tbb
+       >=dev-games/ogre-1.7.4:=[freeimage]
+       <dev-games/ogre-1.10
+       >=media-libs/freeimage-3.15.4[png]
+       sci-libs/libccd
+       >=media-video/ffmpeg-2.6:0=
+       sci-libs/gts
+       >=sci-physics/bullet-2.82
+       >=dev-libs/sdformat-9.1:=
+       dev-qt/qtwidgets:5
+       dev-qt/qtcore:5
+       dev-qt/qtopengl:5
+       dev-libs/boost:=[threads]
+       sci-libs/gdal:=
+       virtual/libusb:1
+       dev-libs/libspnav
+       media-libs/freeimage
+       sci-libs/hdf5:=[cxx]
+       sys-apps/util-linux
+       media-gfx/graphviz
+       net-libs/ignition-msgs:5=
+       sci-libs/ignition-math:6=
+       net-libs/ignition-transport:8=
+       sci-libs/ignition-common:3=
+       sci-libs/ignition-fuel-tools:4=
+       x11-libs/qwt:6=[qt5(+)]
+"
+DEPEND="${RDEPEND}
+       dev-qt/qttest:5
+       x11-apps/mesa-progs
+       test? ( dev-libs/libxslt )
+"
+BDEPEND="
+       app-text/ronn
+       app-arch/gzip
+       virtual/pkgconfig
+"
+CMAKE_BUILD_TYPE=RelWithDebInfo
+PATCHES=( "${FILESDIR}/qwt.patch" "${FILESDIR}/boost173.patch" "${FILESDIR}/cmake.patch" )
+
+src_configure() {
+       # doesnt build with as-needed
+       #append-ldflags "-Wl,--no-as-needed"
+
+       local mycmakeargs=(
+               "-DUSE_UPSTREAM_CFLAGS=OFF"
+               "-DSSE2_FOUND=$(usex cpu_flags_x86_sse2 TRUE FALSE)"
+               "-DUSE_HOST_CFLAGS=FALSE"
+               "-DBUILD_TESTING=$(usex test TRUE FALSE)"
+               "-DENABLE_SCREEN_TESTS=FALSE"
+               "-DUSE_EXTERNAL_TINYXML2=TRUE"
+       )
+       cmake-utils_src_configure
+}