- Move the core ros files from PREFIX/ros to PREFIX/ros/ros, this is

necessary to be able to upgrade add-on packages (like ros_tutorials) in
  place due to the way rosmake searches for packages.
- Update ros/pkg-descr and ros_tutorials to reflect this

- Partially fix build with Clang (ros does not link yet)

- Makefile cleanups for devel/ros

- Bump PORTREVISIONs
This commit is contained in:
Rene Ladan 2010-11-06 10:10:07 +00:00
parent 3b48f626c0
commit 767738b006
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=264146
29 changed files with 17470 additions and 16776 deletions

View file

@ -6,21 +6,22 @@
PORTNAME= ros
PORTVERSION= 1.2.4
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= ftp://rene-ladan.nl/pub/distfiles/${PORTNAME}/
DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.bz2 SWIG-1.3.29-wx.tar.gz \
MASTER_SITES= ftp://rene-ladan.nl/pub/distfiles/ros/
DISTFILES= ros-${PORTVERSION}.tar.bz2 SWIG-1.3.29-wx.tar.gz \
gtest-1.5.0.tar.gz
DIST_SUBDIR= ${PORTNAME}
EXTRACT_ONLY= ${PORTNAME}-${PORTVERSION}.tar.bz2
DIST_SUBDIR= ros
EXTRACT_ONLY= ros-${PORTVERSION}.tar.bz2
MAINTAINER= rene@FreeBSD.org
COMMENT= Robot Operating System - core utilities
LICENSE= BSD
WRKSRC= ${WRKDIR}/${PORTNAME}
WRKSRC= ${WRKDIR}/ros
CFLAGS+= -I${LOCALBASE}/include
LIB_DEPENDS= log4cxx.10:${PORTSDIR}/devel/log4cxx \
boost_python:${PORTSDIR}/devel/boost-python-libs
# we need cmake and gmake for the build, but the build is triggered by make
@ -55,7 +56,7 @@ USE_LDCONFIG= yes
BROKEN=Does not link, librt missing
.endif
# rosmake can't run make properly with multiple jobs enabled
# rosmake does its own threading
MAKE_JOBS_UNSAFE= yes
MAKE_ENV+= CPATH=${LOCALBASE}/include \
@ -88,6 +89,11 @@ post-extract:
${MKDIR} ${WRKSRC}/3rdparty/wxswig/build
${CP} ${_DISTDIR}/SWIG-1.3.29-wx.tar.gz ${WRKSRC}/3rdparty/wxswig/build
post-patch:
# temporarily alter how ROS is built for the port build
${REINPLACE_CMD} -E -e "s|--rosdep-install|--no-rosdep -i --disable-logging|" \
${WRKSRC}/Makefile
pre-build:
.if exists(${LOCALBASE}/lib/libgtest.so)
# temporarily move libraries from devel/googletest out of the way
@ -96,9 +102,6 @@ pre-build:
${MV} ${LOCALBASE}/lib/libgtest${f} ${WRKSRC}/googletest_backup
.endfor
.endif
# temporarily alter how ROS is built for the port build
${REINPLACE_CMD} -E -e "s|--rosdep-install|--no-rosdep --disable-logging -i|" \
${WRKSRC}/Makefile
post-build:
.if exists(${WRKSRC}/googletest_backup/libgtest.so)
@ -111,32 +114,33 @@ post-build:
${MV} ${WRKSRC}/Makefile.bak ${WRKSRC}/Makefile
do-install:
${MKDIR} ${PREFIX}/${PORTNAME}/stacks
${MKDIR} ${PREFIX}/${PORTNAME}/bin
${MKDIR} ${PREFIX}/ros/ros/bin
${MKDIR} ${PREFIX}/ros/stacks
.for f in rospack rosplay rosrecord rosstack rxconsole rxloggerlevel
${LOCALBASE}/bin/chrpath -d ${WRKSRC}/bin/${f}
${INSTALL_PROGRAM} ${WRKSRC}/bin/${f} ${PREFIX}/${PORTNAME}/bin
${LN} -s ${PREFIX}/${PORTNAME}/bin/${f} ${PREFIX}/bin/${f}
${INSTALL_PROGRAM} ${WRKSRC}/bin/${f} ${PREFIX}/ros/ros/bin
${LN} -s ${PREFIX}/ros/ros/bin/${f} ${PREFIX}/bin/${f}
.endfor
.for f in rosbag rosboost-cfg rosclean rosconfig roscore roscreate-pkg \
roscreate-stack rosdep rosgraph roslaunch roslaunch-deps roslaunch-logs \
roslocate rosmake rosmaster rosmsg rosnode rosparam rosrebag rosrun \
rosservice rossrv rostest rostopic rosversion roswtf rxbag rxdeps rxgraph rxplot
${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${PREFIX}/${PORTNAME}/bin
${LN} -s ${PREFIX}/${PORTNAME}/bin/${f} ${PREFIX}/bin/${f}
rosservice rossrv rostest rostopic rosversion roswtf rxbag rxdeps rxgraph \
rxplot
${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${PREFIX}/ros/ros/bin
${LN} -s ${PREFIX}/ros/ros/bin/${f} ${PREFIX}/bin/${f}
.endfor
${INSTALL_DATA} ${WRKSRC}/bin/rospack_nosubdirs ${PREFIX}/${PORTNAME}/bin
${INSTALL_DATA} ${WRKSRC}/bin/rospack_nosubdirs ${PREFIX}/ros/ros/bin
.for f in CMakeLists.txt Makefile rosdep.yaml stack.xml
${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/${PORTNAME}
${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/ros/ros
.endfor
# delete files explicitly because negation in find (for COPYTREE_SHARE) is bogus
.for d in 3rdparty config core std_msgs std_srvs test tools
${FIND} ${WRKSRC}/${d} -name build -type d -or -name \*.bak -type f \
-or -name .svnignore -type f -or -name .cvsignore -type f \
-or -name \*.orig | ${XARGS} ${RM} -rf
(cd ${WRKSRC} && ${COPYTREE_SHARE} ${d} ${PREFIX}/${PORTNAME})
(cd ${WRKSRC} && ${COPYTREE_SHARE} ${d} ${PREFIX}/ros/ros)
.endfor
# strip and move libraries to PREFIX/lib (except gtest)
.for f in core/message_filters/lib/libmessage_filters.so \
@ -147,15 +151,15 @@ do-install:
tools/rospack/lib/librosstack.so tools/rosrecord/lib/librosrecorder.so \
tools/rxtools/lib/librxtools.so tools/rxtools/lib/_rxtoolscpp.so \
tools/topic_tools/lib/libtopic_tools.so 3rdparty/xmlrpcpp/lib/libXmlRpc.so
${STRIP_CMD} ${PREFIX}/${PORTNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/${PORTNAME}/${f}
${MV} ${PREFIX}/${PORTNAME}/${f} ${PREFIX}/lib
${STRIP_CMD} ${PREFIX}/ros/ros/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/ros/${f}
${MV} ${PREFIX}/ros/ros/${f} ${PREFIX}/lib
.endfor
# strip gtest libraries
.for f in 3rdparty/gtest/gtest/lib/libgtest.so.0 \
3rdparty/gtest/gtest/lib/libgtest_main.so.0
${STRIP_CMD} ${PREFIX}/${PORTNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/${PORTNAME}/${f}
${STRIP_CMD} ${PREFIX}/ros/ros/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/ros/${f}
.endfor
# strip ELF binaries and make them executable
.for f in 3rdparty/wxswig/bin/swig-real core/genmsg_cpp/genmsg_java \
@ -208,9 +212,9 @@ do-install:
tools/topic_tools/bin/mux tools/topic_tools/bin/relay \
tools/topic_tools/bin/switch_mux tools/topic_tools/bin/throttle \
tools/topic_tools/test/test_shapeshifter
${STRIP_CMD} ${PREFIX}/${PORTNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/${PORTNAME}/${f}
${CHMOD} 0555 ${PREFIX}/${PORTNAME}/${f}
${STRIP_CMD} ${PREFIX}/ros/ros/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/ros/${f}
${CHMOD} 0555 ${PREFIX}/ros/ros/${f}
.endfor
# make scripts executable
.for f in 3rdparty/gtest/gtest/bin/gtest-config 3rdparty/wxswig/bin/swig \
@ -338,7 +342,7 @@ do-install:
tools/topic_tools/scripts/mux_select \
tools/topic_tools/test/test_mux_delete_add.py \
tools/topic_tools/test/test_mux_services.py tools/xdot/dot_viewer.py
${CHMOD} 0555 ${PREFIX}/${PORTNAME}/${f}
${CHMOD} 0555 ${PREFIX}/ros/ros/${f}
.endfor
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}

View file

@ -0,0 +1,11 @@
--- core/rosconsole/include/ros/console.h.orig 2010-03-13 03:03:10.000000000 +0100
+++ core/rosconsole/include/ros/console.h 2010-11-03 22:46:51.000000000 +0100
@@ -105,7 +105,7 @@
*/
void initialize();
-struct FilterBase;
+class FilterBase;
/**
* \brief Don't call this directly. Use the ROS_LOG() macro instead.
* @param level Logging level

View file

@ -0,0 +1,81 @@
--- core/roscpp/include/ros/subscribe_options.h.orig 2010-05-11 23:23:34.000000000 +0200
+++ core/roscpp/include/ros/subscribe_options.h 2010-10-28 00:53:16.000000000 +0200
@@ -80,7 +80,7 @@
template<class P>
void initByFullCallbackType(const std::string& _topic, uint32_t _queue_size,
const boost::function<void (P)>& _callback,
- const boost::function<boost::shared_ptr<typename ParameterAdapter<P>::Message>(void)>& factory_fn = defaultMessageCreateFunction<typename ParameterAdapter<P>::Message>)
+ boost::function<boost::shared_ptr<typename ParameterAdapter<P>::Message>(void)> factory_fn = defaultMessageCreateFunction<typename ParameterAdapter<P>::Message>)
{
typedef typename ParameterAdapter<P>::Message MessageType;
topic = _topic;
@@ -101,7 +101,7 @@
template<class M>
void init(const std::string& _topic, uint32_t _queue_size,
const boost::function<void (const boost::shared_ptr<M const>&)>& _callback,
- const boost::function<boost::shared_ptr<M>(void)>& factory_fn = defaultMessageCreateFunction<M>)
+ boost::function<boost::shared_ptr<M>(void)> factory_fn = defaultMessageCreateFunction<M>)
{
typedef typename ParameterAdapter<M>::Message MessageType;
topic = _topic;
--- core/roscpp/include/ros/service_callback_helper.h.orig 2010-02-18 23:22:20.000000000 +0100
+++ core/roscpp/include/ros/service_callback_helper.h 2010-10-28 01:05:35.000000000 +0200
@@ -165,7 +165,7 @@
typedef boost::function<RequestPtr()> ReqCreateFunction;
typedef boost::function<ResponsePtr()> ResCreateFunction;
- ServiceCallbackHelperT(const Callback& callback, const ReqCreateFunction& create_req = defaultServiceCreateFunction<RequestType>, const ResCreateFunction& create_res = defaultServiceCreateFunction<ResponseType>)
+ ServiceCallbackHelperT(const Callback& callback, ReqCreateFunction create_req = defaultServiceCreateFunction<RequestType>, ResCreateFunction create_res = defaultServiceCreateFunction<ResponseType>)
: callback_(callback)
, create_req_(create_req)
, create_res_(create_res)
--- core/roscpp/include/ros/topic_manager.h.orig 2010-02-18 23:22:20.000000000 +0100
+++ core/roscpp/include/ros/topic_manager.h 2010-11-03 22:48:40.000000000 +0100
@@ -42,8 +42,8 @@
{
class Message;
-class SubscribeOptions;
-class AdvertiseOptions;
+struct SubscribeOptions;
+struct AdvertiseOptions;
class TopicManager;
typedef boost::shared_ptr<TopicManager> TopicManagerPtr;
--- core/roscpp/include/ros/message_event.h.orig 2010-07-13 04:08:40.000000000 +0200
+++ core/roscpp/include/ros/message_event.h 2010-11-03 22:50:05.000000000 +0100
@@ -93,7 +93,7 @@
nonconst_need_copy_ = nonconst_need_copy;
}
- MessageEvent(const MessageEvent<void const>& rhs, const CreateFunction& create)
+ MessageEvent(const MessageEvent<void const>& rhs, CreateFunction create)
{
init(boost::const_pointer_cast<Message>(boost::static_pointer_cast<ConstMessage>(rhs.getMessage())), rhs.getConnectionHeaderPtr(), rhs.getReceiptTime(), rhs.nonConstWillCopy(), create);
}
@@ -116,12 +116,12 @@
init(message, getConnectionHeader(message.get()), receipt_time, true, ros::defaultMessageCreateFunction<Message>);
}
- MessageEvent(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, const CreateFunction& create)
+ MessageEvent(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, CreateFunction create)
{
init(message, connection_header, receipt_time, nonconst_need_copy, create);
}
- void init(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, const CreateFunction& create)
+ void init(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, CreateFunction create)
{
message_ = message;
connection_header_ = connection_header;
--- core/roscpp/include/ros/transport_publisher_link.h.orig 2010-03-16 19:38:21.000000000 +0100
+++ core/roscpp/include/ros/transport_publisher_link.h 2010-11-03 22:50:31.000000000 +0100
@@ -41,7 +41,7 @@
class Connection;
typedef boost::shared_ptr<Connection> ConnectionPtr;
-class WallTimerEvent;
+struct WallTimerEvent;
/**
* \brief Handles a connection to a single publisher on a given topic. Receives messages from a publisher

View file

@ -0,0 +1,10 @@
--- core/roslib/include/ros/serialization.h.orig 2010-04-22 03:40:40.000000000 +0200
+++ core/roslib/include/ros/serialization.h 2010-11-03 22:51:34.000000000 +0100
@@ -37,6 +37,7 @@
#include "macros.h"
#include <vector>
+#include <cstring>
#include <boost/array.hpp>
#include <boost/call_traits.hpp>

View file

@ -0,0 +1,66 @@
--- core/message_filters/include/message_filters/synchronizer.h.orig 2010-03-16 01:10:42.000000000 +0100
+++ core/message_filters/include/message_filters/synchronizer.h 2010-11-03 22:52:18.000000000 +0100
@@ -357,7 +357,7 @@
template<int i>
void cb(const typename mpl::at_c<Events, i>::type& evt)
{
- add<i>(evt);
+ this->add<i>(evt);
}
uint32_t queue_size_;
--- core/message_filters/include/message_filters/chain.h.orig 2010-04-23 19:40:54.000000000 +0200
+++ core/message_filters/include/message_filters/chain.h 2010-11-03 22:52:42.000000000 +0100
@@ -234,7 +234,7 @@
void lastFilterCB(const EventType& evt)
{
- signalMessage(evt);
+ this->signalMessage(evt);
}
struct FilterInfo
--- core/message_filters/include/message_filters/cache.h.orig 2010-04-23 19:40:54.000000000 +0200
+++ core/message_filters/include/message_filters/cache.h 2010-11-03 22:53:01.000000000 +0100
@@ -152,7 +152,7 @@
}
- signalMessage(evt);
+ this->signalMessage(evt);
}
/**
--- core/message_filters/include/message_filters/subscriber.h.orig 2010-04-23 19:40:54.000000000 +0200
+++ core/message_filters/include/message_filters/subscriber.h 2010-11-03 22:53:21.000000000 +0100
@@ -202,7 +202,7 @@
void cb(const EventType& e)
{
- signalMessage(e);
+ this->signalMessage(e);
}
ros::Subscriber sub_;
--- core/message_filters/include/message_filters/pass_through.h.orig 2010-03-15 23:46:55.000000000 +0100
+++ core/message_filters/include/message_filters/pass_through.h 2010-11-03 22:54:26.000000000 +0100
@@ -75,7 +75,7 @@
void add(const EventType& evt)
{
- signalMessage(evt);
+ this->signalMessage(evt);
}
private:
--- core/message_filters/include/message_filters/time_sequencer.h.orig 2010-02-18 23:22:20.000000000 +0100
+++ core/message_filters/include/message_filters/time_sequencer.h 2010-11-03 22:54:50.000000000 +0100
@@ -208,7 +208,7 @@
typename V_Message::iterator end = to_call.end();
for (; it != end; ++it)
{
- signalMessage(*it);
+ this->signalMessage(*it);
}
}
}

View file

@ -1,7 +1,7 @@
To use ROS, add these variables to your environment:
ROS_MASTER_URI <HTTP address of the host running roscore>:11311
ROS_ROOT %%PREFIX%%/ros
ROS_PACKAGE_PATH ${ROS_ROOT}/stacks:/my_other_ROS_directory
ROS_ROOT %%PREFIX%%/ros/ros
ROS_PACKAGE_PATH %%PREFIX%%/ros/stacks:/my_other_ROS_directory
PYTHONPATH ${ROS_ROOT}/core/roslib/src
If you intend to build software with ROS:

File diff suppressed because it is too large Load diff

View file

@ -6,21 +6,22 @@
PORTNAME= ros
PORTVERSION= 1.2.4
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= ftp://rene-ladan.nl/pub/distfiles/${PORTNAME}/
DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.bz2 SWIG-1.3.29-wx.tar.gz \
MASTER_SITES= ftp://rene-ladan.nl/pub/distfiles/ros/
DISTFILES= ros-${PORTVERSION}.tar.bz2 SWIG-1.3.29-wx.tar.gz \
gtest-1.5.0.tar.gz
DIST_SUBDIR= ${PORTNAME}
EXTRACT_ONLY= ${PORTNAME}-${PORTVERSION}.tar.bz2
DIST_SUBDIR= ros
EXTRACT_ONLY= ros-${PORTVERSION}.tar.bz2
MAINTAINER= rene@FreeBSD.org
COMMENT= Robot Operating System - core utilities
LICENSE= BSD
WRKSRC= ${WRKDIR}/${PORTNAME}
WRKSRC= ${WRKDIR}/ros
CFLAGS+= -I${LOCALBASE}/include
LIB_DEPENDS= log4cxx.10:${PORTSDIR}/devel/log4cxx \
boost_python:${PORTSDIR}/devel/boost-python-libs
# we need cmake and gmake for the build, but the build is triggered by make
@ -55,7 +56,7 @@ USE_LDCONFIG= yes
BROKEN=Does not link, librt missing
.endif
# rosmake can't run make properly with multiple jobs enabled
# rosmake does its own threading
MAKE_JOBS_UNSAFE= yes
MAKE_ENV+= CPATH=${LOCALBASE}/include \
@ -88,6 +89,11 @@ post-extract:
${MKDIR} ${WRKSRC}/3rdparty/wxswig/build
${CP} ${_DISTDIR}/SWIG-1.3.29-wx.tar.gz ${WRKSRC}/3rdparty/wxswig/build
post-patch:
# temporarily alter how ROS is built for the port build
${REINPLACE_CMD} -E -e "s|--rosdep-install|--no-rosdep -i --disable-logging|" \
${WRKSRC}/Makefile
pre-build:
.if exists(${LOCALBASE}/lib/libgtest.so)
# temporarily move libraries from devel/googletest out of the way
@ -96,9 +102,6 @@ pre-build:
${MV} ${LOCALBASE}/lib/libgtest${f} ${WRKSRC}/googletest_backup
.endfor
.endif
# temporarily alter how ROS is built for the port build
${REINPLACE_CMD} -E -e "s|--rosdep-install|--no-rosdep --disable-logging -i|" \
${WRKSRC}/Makefile
post-build:
.if exists(${WRKSRC}/googletest_backup/libgtest.so)
@ -111,32 +114,33 @@ post-build:
${MV} ${WRKSRC}/Makefile.bak ${WRKSRC}/Makefile
do-install:
${MKDIR} ${PREFIX}/${PORTNAME}/stacks
${MKDIR} ${PREFIX}/${PORTNAME}/bin
${MKDIR} ${PREFIX}/ros/ros/bin
${MKDIR} ${PREFIX}/ros/stacks
.for f in rospack rosplay rosrecord rosstack rxconsole rxloggerlevel
${LOCALBASE}/bin/chrpath -d ${WRKSRC}/bin/${f}
${INSTALL_PROGRAM} ${WRKSRC}/bin/${f} ${PREFIX}/${PORTNAME}/bin
${LN} -s ${PREFIX}/${PORTNAME}/bin/${f} ${PREFIX}/bin/${f}
${INSTALL_PROGRAM} ${WRKSRC}/bin/${f} ${PREFIX}/ros/ros/bin
${LN} -s ${PREFIX}/ros/ros/bin/${f} ${PREFIX}/bin/${f}
.endfor
.for f in rosbag rosboost-cfg rosclean rosconfig roscore roscreate-pkg \
roscreate-stack rosdep rosgraph roslaunch roslaunch-deps roslaunch-logs \
roslocate rosmake rosmaster rosmsg rosnode rosparam rosrebag rosrun \
rosservice rossrv rostest rostopic rosversion roswtf rxbag rxdeps rxgraph rxplot
${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${PREFIX}/${PORTNAME}/bin
${LN} -s ${PREFIX}/${PORTNAME}/bin/${f} ${PREFIX}/bin/${f}
rosservice rossrv rostest rostopic rosversion roswtf rxbag rxdeps rxgraph \
rxplot
${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${PREFIX}/ros/ros/bin
${LN} -s ${PREFIX}/ros/ros/bin/${f} ${PREFIX}/bin/${f}
.endfor
${INSTALL_DATA} ${WRKSRC}/bin/rospack_nosubdirs ${PREFIX}/${PORTNAME}/bin
${INSTALL_DATA} ${WRKSRC}/bin/rospack_nosubdirs ${PREFIX}/ros/ros/bin
.for f in CMakeLists.txt Makefile rosdep.yaml stack.xml
${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/${PORTNAME}
${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/ros/ros
.endfor
# delete files explicitly because negation in find (for COPYTREE_SHARE) is bogus
.for d in 3rdparty config core std_msgs std_srvs test tools
${FIND} ${WRKSRC}/${d} -name build -type d -or -name \*.bak -type f \
-or -name .svnignore -type f -or -name .cvsignore -type f \
-or -name \*.orig | ${XARGS} ${RM} -rf
(cd ${WRKSRC} && ${COPYTREE_SHARE} ${d} ${PREFIX}/${PORTNAME})
(cd ${WRKSRC} && ${COPYTREE_SHARE} ${d} ${PREFIX}/ros/ros)
.endfor
# strip and move libraries to PREFIX/lib (except gtest)
.for f in core/message_filters/lib/libmessage_filters.so \
@ -147,15 +151,15 @@ do-install:
tools/rospack/lib/librosstack.so tools/rosrecord/lib/librosrecorder.so \
tools/rxtools/lib/librxtools.so tools/rxtools/lib/_rxtoolscpp.so \
tools/topic_tools/lib/libtopic_tools.so 3rdparty/xmlrpcpp/lib/libXmlRpc.so
${STRIP_CMD} ${PREFIX}/${PORTNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/${PORTNAME}/${f}
${MV} ${PREFIX}/${PORTNAME}/${f} ${PREFIX}/lib
${STRIP_CMD} ${PREFIX}/ros/ros/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/ros/${f}
${MV} ${PREFIX}/ros/ros/${f} ${PREFIX}/lib
.endfor
# strip gtest libraries
.for f in 3rdparty/gtest/gtest/lib/libgtest.so.0 \
3rdparty/gtest/gtest/lib/libgtest_main.so.0
${STRIP_CMD} ${PREFIX}/${PORTNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/${PORTNAME}/${f}
${STRIP_CMD} ${PREFIX}/ros/ros/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/ros/${f}
.endfor
# strip ELF binaries and make them executable
.for f in 3rdparty/wxswig/bin/swig-real core/genmsg_cpp/genmsg_java \
@ -208,9 +212,9 @@ do-install:
tools/topic_tools/bin/mux tools/topic_tools/bin/relay \
tools/topic_tools/bin/switch_mux tools/topic_tools/bin/throttle \
tools/topic_tools/test/test_shapeshifter
${STRIP_CMD} ${PREFIX}/${PORTNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/${PORTNAME}/${f}
${CHMOD} 0555 ${PREFIX}/${PORTNAME}/${f}
${STRIP_CMD} ${PREFIX}/ros/ros/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/ros/${f}
${CHMOD} 0555 ${PREFIX}/ros/ros/${f}
.endfor
# make scripts executable
.for f in 3rdparty/gtest/gtest/bin/gtest-config 3rdparty/wxswig/bin/swig \
@ -338,7 +342,7 @@ do-install:
tools/topic_tools/scripts/mux_select \
tools/topic_tools/test/test_mux_delete_add.py \
tools/topic_tools/test/test_mux_services.py tools/xdot/dot_viewer.py
${CHMOD} 0555 ${PREFIX}/${PORTNAME}/${f}
${CHMOD} 0555 ${PREFIX}/ros/ros/${f}
.endfor
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}

View file

@ -0,0 +1,11 @@
--- core/rosconsole/include/ros/console.h.orig 2010-03-13 03:03:10.000000000 +0100
+++ core/rosconsole/include/ros/console.h 2010-11-03 22:46:51.000000000 +0100
@@ -105,7 +105,7 @@
*/
void initialize();
-struct FilterBase;
+class FilterBase;
/**
* \brief Don't call this directly. Use the ROS_LOG() macro instead.
* @param level Logging level

View file

@ -0,0 +1,81 @@
--- core/roscpp/include/ros/subscribe_options.h.orig 2010-05-11 23:23:34.000000000 +0200
+++ core/roscpp/include/ros/subscribe_options.h 2010-10-28 00:53:16.000000000 +0200
@@ -80,7 +80,7 @@
template<class P>
void initByFullCallbackType(const std::string& _topic, uint32_t _queue_size,
const boost::function<void (P)>& _callback,
- const boost::function<boost::shared_ptr<typename ParameterAdapter<P>::Message>(void)>& factory_fn = defaultMessageCreateFunction<typename ParameterAdapter<P>::Message>)
+ boost::function<boost::shared_ptr<typename ParameterAdapter<P>::Message>(void)> factory_fn = defaultMessageCreateFunction<typename ParameterAdapter<P>::Message>)
{
typedef typename ParameterAdapter<P>::Message MessageType;
topic = _topic;
@@ -101,7 +101,7 @@
template<class M>
void init(const std::string& _topic, uint32_t _queue_size,
const boost::function<void (const boost::shared_ptr<M const>&)>& _callback,
- const boost::function<boost::shared_ptr<M>(void)>& factory_fn = defaultMessageCreateFunction<M>)
+ boost::function<boost::shared_ptr<M>(void)> factory_fn = defaultMessageCreateFunction<M>)
{
typedef typename ParameterAdapter<M>::Message MessageType;
topic = _topic;
--- core/roscpp/include/ros/service_callback_helper.h.orig 2010-02-18 23:22:20.000000000 +0100
+++ core/roscpp/include/ros/service_callback_helper.h 2010-10-28 01:05:35.000000000 +0200
@@ -165,7 +165,7 @@
typedef boost::function<RequestPtr()> ReqCreateFunction;
typedef boost::function<ResponsePtr()> ResCreateFunction;
- ServiceCallbackHelperT(const Callback& callback, const ReqCreateFunction& create_req = defaultServiceCreateFunction<RequestType>, const ResCreateFunction& create_res = defaultServiceCreateFunction<ResponseType>)
+ ServiceCallbackHelperT(const Callback& callback, ReqCreateFunction create_req = defaultServiceCreateFunction<RequestType>, ResCreateFunction create_res = defaultServiceCreateFunction<ResponseType>)
: callback_(callback)
, create_req_(create_req)
, create_res_(create_res)
--- core/roscpp/include/ros/topic_manager.h.orig 2010-02-18 23:22:20.000000000 +0100
+++ core/roscpp/include/ros/topic_manager.h 2010-11-03 22:48:40.000000000 +0100
@@ -42,8 +42,8 @@
{
class Message;
-class SubscribeOptions;
-class AdvertiseOptions;
+struct SubscribeOptions;
+struct AdvertiseOptions;
class TopicManager;
typedef boost::shared_ptr<TopicManager> TopicManagerPtr;
--- core/roscpp/include/ros/message_event.h.orig 2010-07-13 04:08:40.000000000 +0200
+++ core/roscpp/include/ros/message_event.h 2010-11-03 22:50:05.000000000 +0100
@@ -93,7 +93,7 @@
nonconst_need_copy_ = nonconst_need_copy;
}
- MessageEvent(const MessageEvent<void const>& rhs, const CreateFunction& create)
+ MessageEvent(const MessageEvent<void const>& rhs, CreateFunction create)
{
init(boost::const_pointer_cast<Message>(boost::static_pointer_cast<ConstMessage>(rhs.getMessage())), rhs.getConnectionHeaderPtr(), rhs.getReceiptTime(), rhs.nonConstWillCopy(), create);
}
@@ -116,12 +116,12 @@
init(message, getConnectionHeader(message.get()), receipt_time, true, ros::defaultMessageCreateFunction<Message>);
}
- MessageEvent(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, const CreateFunction& create)
+ MessageEvent(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, CreateFunction create)
{
init(message, connection_header, receipt_time, nonconst_need_copy, create);
}
- void init(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, const CreateFunction& create)
+ void init(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, CreateFunction create)
{
message_ = message;
connection_header_ = connection_header;
--- core/roscpp/include/ros/transport_publisher_link.h.orig 2010-03-16 19:38:21.000000000 +0100
+++ core/roscpp/include/ros/transport_publisher_link.h 2010-11-03 22:50:31.000000000 +0100
@@ -41,7 +41,7 @@
class Connection;
typedef boost::shared_ptr<Connection> ConnectionPtr;
-class WallTimerEvent;
+struct WallTimerEvent;
/**
* \brief Handles a connection to a single publisher on a given topic. Receives messages from a publisher

View file

@ -0,0 +1,10 @@
--- core/roslib/include/ros/serialization.h.orig 2010-04-22 03:40:40.000000000 +0200
+++ core/roslib/include/ros/serialization.h 2010-11-03 22:51:34.000000000 +0100
@@ -37,6 +37,7 @@
#include "macros.h"
#include <vector>
+#include <cstring>
#include <boost/array.hpp>
#include <boost/call_traits.hpp>

View file

@ -0,0 +1,66 @@
--- core/message_filters/include/message_filters/synchronizer.h.orig 2010-03-16 01:10:42.000000000 +0100
+++ core/message_filters/include/message_filters/synchronizer.h 2010-11-03 22:52:18.000000000 +0100
@@ -357,7 +357,7 @@
template<int i>
void cb(const typename mpl::at_c<Events, i>::type& evt)
{
- add<i>(evt);
+ this->add<i>(evt);
}
uint32_t queue_size_;
--- core/message_filters/include/message_filters/chain.h.orig 2010-04-23 19:40:54.000000000 +0200
+++ core/message_filters/include/message_filters/chain.h 2010-11-03 22:52:42.000000000 +0100
@@ -234,7 +234,7 @@
void lastFilterCB(const EventType& evt)
{
- signalMessage(evt);
+ this->signalMessage(evt);
}
struct FilterInfo
--- core/message_filters/include/message_filters/cache.h.orig 2010-04-23 19:40:54.000000000 +0200
+++ core/message_filters/include/message_filters/cache.h 2010-11-03 22:53:01.000000000 +0100
@@ -152,7 +152,7 @@
}
- signalMessage(evt);
+ this->signalMessage(evt);
}
/**
--- core/message_filters/include/message_filters/subscriber.h.orig 2010-04-23 19:40:54.000000000 +0200
+++ core/message_filters/include/message_filters/subscriber.h 2010-11-03 22:53:21.000000000 +0100
@@ -202,7 +202,7 @@
void cb(const EventType& e)
{
- signalMessage(e);
+ this->signalMessage(e);
}
ros::Subscriber sub_;
--- core/message_filters/include/message_filters/pass_through.h.orig 2010-03-15 23:46:55.000000000 +0100
+++ core/message_filters/include/message_filters/pass_through.h 2010-11-03 22:54:26.000000000 +0100
@@ -75,7 +75,7 @@
void add(const EventType& evt)
{
- signalMessage(evt);
+ this->signalMessage(evt);
}
private:
--- core/message_filters/include/message_filters/time_sequencer.h.orig 2010-02-18 23:22:20.000000000 +0100
+++ core/message_filters/include/message_filters/time_sequencer.h 2010-11-03 22:54:50.000000000 +0100
@@ -208,7 +208,7 @@
typename V_Message::iterator end = to_call.end();
for (; it != end; ++it)
{
- signalMessage(*it);
+ this->signalMessage(*it);
}
}
}

View file

@ -1,7 +1,7 @@
To use ROS, add these variables to your environment:
ROS_MASTER_URI <HTTP address of the host running roscore>:11311
ROS_ROOT %%PREFIX%%/ros
ROS_PACKAGE_PATH ${ROS_ROOT}/stacks:/my_other_ROS_directory
ROS_ROOT %%PREFIX%%/ros/ros
ROS_PACKAGE_PATH %%PREFIX%%/ros/stacks:/my_other_ROS_directory
PYTHONPATH ${ROS_ROOT}/core/roslib/src
If you intend to build software with ROS:

File diff suppressed because it is too large Load diff

View file

@ -6,21 +6,22 @@
PORTNAME= ros
PORTVERSION= 1.2.4
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= ftp://rene-ladan.nl/pub/distfiles/${PORTNAME}/
DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.bz2 SWIG-1.3.29-wx.tar.gz \
MASTER_SITES= ftp://rene-ladan.nl/pub/distfiles/ros/
DISTFILES= ros-${PORTVERSION}.tar.bz2 SWIG-1.3.29-wx.tar.gz \
gtest-1.5.0.tar.gz
DIST_SUBDIR= ${PORTNAME}
EXTRACT_ONLY= ${PORTNAME}-${PORTVERSION}.tar.bz2
DIST_SUBDIR= ros
EXTRACT_ONLY= ros-${PORTVERSION}.tar.bz2
MAINTAINER= rene@FreeBSD.org
COMMENT= Robot Operating System - core utilities
LICENSE= BSD
WRKSRC= ${WRKDIR}/${PORTNAME}
WRKSRC= ${WRKDIR}/ros
CFLAGS+= -I${LOCALBASE}/include
LIB_DEPENDS= log4cxx.10:${PORTSDIR}/devel/log4cxx \
boost_python:${PORTSDIR}/devel/boost-python-libs
# we need cmake and gmake for the build, but the build is triggered by make
@ -55,7 +56,7 @@ USE_LDCONFIG= yes
BROKEN=Does not link, librt missing
.endif
# rosmake can't run make properly with multiple jobs enabled
# rosmake does its own threading
MAKE_JOBS_UNSAFE= yes
MAKE_ENV+= CPATH=${LOCALBASE}/include \
@ -88,6 +89,11 @@ post-extract:
${MKDIR} ${WRKSRC}/3rdparty/wxswig/build
${CP} ${_DISTDIR}/SWIG-1.3.29-wx.tar.gz ${WRKSRC}/3rdparty/wxswig/build
post-patch:
# temporarily alter how ROS is built for the port build
${REINPLACE_CMD} -E -e "s|--rosdep-install|--no-rosdep -i --disable-logging|" \
${WRKSRC}/Makefile
pre-build:
.if exists(${LOCALBASE}/lib/libgtest.so)
# temporarily move libraries from devel/googletest out of the way
@ -96,9 +102,6 @@ pre-build:
${MV} ${LOCALBASE}/lib/libgtest${f} ${WRKSRC}/googletest_backup
.endfor
.endif
# temporarily alter how ROS is built for the port build
${REINPLACE_CMD} -E -e "s|--rosdep-install|--no-rosdep --disable-logging -i|" \
${WRKSRC}/Makefile
post-build:
.if exists(${WRKSRC}/googletest_backup/libgtest.so)
@ -111,32 +114,33 @@ post-build:
${MV} ${WRKSRC}/Makefile.bak ${WRKSRC}/Makefile
do-install:
${MKDIR} ${PREFIX}/${PORTNAME}/stacks
${MKDIR} ${PREFIX}/${PORTNAME}/bin
${MKDIR} ${PREFIX}/ros/ros/bin
${MKDIR} ${PREFIX}/ros/stacks
.for f in rospack rosplay rosrecord rosstack rxconsole rxloggerlevel
${LOCALBASE}/bin/chrpath -d ${WRKSRC}/bin/${f}
${INSTALL_PROGRAM} ${WRKSRC}/bin/${f} ${PREFIX}/${PORTNAME}/bin
${LN} -s ${PREFIX}/${PORTNAME}/bin/${f} ${PREFIX}/bin/${f}
${INSTALL_PROGRAM} ${WRKSRC}/bin/${f} ${PREFIX}/ros/ros/bin
${LN} -s ${PREFIX}/ros/ros/bin/${f} ${PREFIX}/bin/${f}
.endfor
.for f in rosbag rosboost-cfg rosclean rosconfig roscore roscreate-pkg \
roscreate-stack rosdep rosgraph roslaunch roslaunch-deps roslaunch-logs \
roslocate rosmake rosmaster rosmsg rosnode rosparam rosrebag rosrun \
rosservice rossrv rostest rostopic rosversion roswtf rxbag rxdeps rxgraph rxplot
${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${PREFIX}/${PORTNAME}/bin
${LN} -s ${PREFIX}/${PORTNAME}/bin/${f} ${PREFIX}/bin/${f}
rosservice rossrv rostest rostopic rosversion roswtf rxbag rxdeps rxgraph \
rxplot
${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${PREFIX}/ros/ros/bin
${LN} -s ${PREFIX}/ros/ros/bin/${f} ${PREFIX}/bin/${f}
.endfor
${INSTALL_DATA} ${WRKSRC}/bin/rospack_nosubdirs ${PREFIX}/${PORTNAME}/bin
${INSTALL_DATA} ${WRKSRC}/bin/rospack_nosubdirs ${PREFIX}/ros/ros/bin
.for f in CMakeLists.txt Makefile rosdep.yaml stack.xml
${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/${PORTNAME}
${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/ros/ros
.endfor
# delete files explicitly because negation in find (for COPYTREE_SHARE) is bogus
.for d in 3rdparty config core std_msgs std_srvs test tools
${FIND} ${WRKSRC}/${d} -name build -type d -or -name \*.bak -type f \
-or -name .svnignore -type f -or -name .cvsignore -type f \
-or -name \*.orig | ${XARGS} ${RM} -rf
(cd ${WRKSRC} && ${COPYTREE_SHARE} ${d} ${PREFIX}/${PORTNAME})
(cd ${WRKSRC} && ${COPYTREE_SHARE} ${d} ${PREFIX}/ros/ros)
.endfor
# strip and move libraries to PREFIX/lib (except gtest)
.for f in core/message_filters/lib/libmessage_filters.so \
@ -147,15 +151,15 @@ do-install:
tools/rospack/lib/librosstack.so tools/rosrecord/lib/librosrecorder.so \
tools/rxtools/lib/librxtools.so tools/rxtools/lib/_rxtoolscpp.so \
tools/topic_tools/lib/libtopic_tools.so 3rdparty/xmlrpcpp/lib/libXmlRpc.so
${STRIP_CMD} ${PREFIX}/${PORTNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/${PORTNAME}/${f}
${MV} ${PREFIX}/${PORTNAME}/${f} ${PREFIX}/lib
${STRIP_CMD} ${PREFIX}/ros/ros/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/ros/${f}
${MV} ${PREFIX}/ros/ros/${f} ${PREFIX}/lib
.endfor
# strip gtest libraries
.for f in 3rdparty/gtest/gtest/lib/libgtest.so.0 \
3rdparty/gtest/gtest/lib/libgtest_main.so.0
${STRIP_CMD} ${PREFIX}/${PORTNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/${PORTNAME}/${f}
${STRIP_CMD} ${PREFIX}/ros/ros/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/ros/${f}
.endfor
# strip ELF binaries and make them executable
.for f in 3rdparty/wxswig/bin/swig-real core/genmsg_cpp/genmsg_java \
@ -208,9 +212,9 @@ do-install:
tools/topic_tools/bin/mux tools/topic_tools/bin/relay \
tools/topic_tools/bin/switch_mux tools/topic_tools/bin/throttle \
tools/topic_tools/test/test_shapeshifter
${STRIP_CMD} ${PREFIX}/${PORTNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/${PORTNAME}/${f}
${CHMOD} 0555 ${PREFIX}/${PORTNAME}/${f}
${STRIP_CMD} ${PREFIX}/ros/ros/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/ros/${f}
${CHMOD} 0555 ${PREFIX}/ros/ros/${f}
.endfor
# make scripts executable
.for f in 3rdparty/gtest/gtest/bin/gtest-config 3rdparty/wxswig/bin/swig \
@ -338,7 +342,7 @@ do-install:
tools/topic_tools/scripts/mux_select \
tools/topic_tools/test/test_mux_delete_add.py \
tools/topic_tools/test/test_mux_services.py tools/xdot/dot_viewer.py
${CHMOD} 0555 ${PREFIX}/${PORTNAME}/${f}
${CHMOD} 0555 ${PREFIX}/ros/ros/${f}
.endfor
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}

View file

@ -0,0 +1,11 @@
--- core/rosconsole/include/ros/console.h.orig 2010-03-13 03:03:10.000000000 +0100
+++ core/rosconsole/include/ros/console.h 2010-11-03 22:46:51.000000000 +0100
@@ -105,7 +105,7 @@
*/
void initialize();
-struct FilterBase;
+class FilterBase;
/**
* \brief Don't call this directly. Use the ROS_LOG() macro instead.
* @param level Logging level

View file

@ -0,0 +1,81 @@
--- core/roscpp/include/ros/subscribe_options.h.orig 2010-05-11 23:23:34.000000000 +0200
+++ core/roscpp/include/ros/subscribe_options.h 2010-10-28 00:53:16.000000000 +0200
@@ -80,7 +80,7 @@
template<class P>
void initByFullCallbackType(const std::string& _topic, uint32_t _queue_size,
const boost::function<void (P)>& _callback,
- const boost::function<boost::shared_ptr<typename ParameterAdapter<P>::Message>(void)>& factory_fn = defaultMessageCreateFunction<typename ParameterAdapter<P>::Message>)
+ boost::function<boost::shared_ptr<typename ParameterAdapter<P>::Message>(void)> factory_fn = defaultMessageCreateFunction<typename ParameterAdapter<P>::Message>)
{
typedef typename ParameterAdapter<P>::Message MessageType;
topic = _topic;
@@ -101,7 +101,7 @@
template<class M>
void init(const std::string& _topic, uint32_t _queue_size,
const boost::function<void (const boost::shared_ptr<M const>&)>& _callback,
- const boost::function<boost::shared_ptr<M>(void)>& factory_fn = defaultMessageCreateFunction<M>)
+ boost::function<boost::shared_ptr<M>(void)> factory_fn = defaultMessageCreateFunction<M>)
{
typedef typename ParameterAdapter<M>::Message MessageType;
topic = _topic;
--- core/roscpp/include/ros/service_callback_helper.h.orig 2010-02-18 23:22:20.000000000 +0100
+++ core/roscpp/include/ros/service_callback_helper.h 2010-10-28 01:05:35.000000000 +0200
@@ -165,7 +165,7 @@
typedef boost::function<RequestPtr()> ReqCreateFunction;
typedef boost::function<ResponsePtr()> ResCreateFunction;
- ServiceCallbackHelperT(const Callback& callback, const ReqCreateFunction& create_req = defaultServiceCreateFunction<RequestType>, const ResCreateFunction& create_res = defaultServiceCreateFunction<ResponseType>)
+ ServiceCallbackHelperT(const Callback& callback, ReqCreateFunction create_req = defaultServiceCreateFunction<RequestType>, ResCreateFunction create_res = defaultServiceCreateFunction<ResponseType>)
: callback_(callback)
, create_req_(create_req)
, create_res_(create_res)
--- core/roscpp/include/ros/topic_manager.h.orig 2010-02-18 23:22:20.000000000 +0100
+++ core/roscpp/include/ros/topic_manager.h 2010-11-03 22:48:40.000000000 +0100
@@ -42,8 +42,8 @@
{
class Message;
-class SubscribeOptions;
-class AdvertiseOptions;
+struct SubscribeOptions;
+struct AdvertiseOptions;
class TopicManager;
typedef boost::shared_ptr<TopicManager> TopicManagerPtr;
--- core/roscpp/include/ros/message_event.h.orig 2010-07-13 04:08:40.000000000 +0200
+++ core/roscpp/include/ros/message_event.h 2010-11-03 22:50:05.000000000 +0100
@@ -93,7 +93,7 @@
nonconst_need_copy_ = nonconst_need_copy;
}
- MessageEvent(const MessageEvent<void const>& rhs, const CreateFunction& create)
+ MessageEvent(const MessageEvent<void const>& rhs, CreateFunction create)
{
init(boost::const_pointer_cast<Message>(boost::static_pointer_cast<ConstMessage>(rhs.getMessage())), rhs.getConnectionHeaderPtr(), rhs.getReceiptTime(), rhs.nonConstWillCopy(), create);
}
@@ -116,12 +116,12 @@
init(message, getConnectionHeader(message.get()), receipt_time, true, ros::defaultMessageCreateFunction<Message>);
}
- MessageEvent(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, const CreateFunction& create)
+ MessageEvent(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, CreateFunction create)
{
init(message, connection_header, receipt_time, nonconst_need_copy, create);
}
- void init(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, const CreateFunction& create)
+ void init(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, CreateFunction create)
{
message_ = message;
connection_header_ = connection_header;
--- core/roscpp/include/ros/transport_publisher_link.h.orig 2010-03-16 19:38:21.000000000 +0100
+++ core/roscpp/include/ros/transport_publisher_link.h 2010-11-03 22:50:31.000000000 +0100
@@ -41,7 +41,7 @@
class Connection;
typedef boost::shared_ptr<Connection> ConnectionPtr;
-class WallTimerEvent;
+struct WallTimerEvent;
/**
* \brief Handles a connection to a single publisher on a given topic. Receives messages from a publisher

View file

@ -0,0 +1,10 @@
--- core/roslib/include/ros/serialization.h.orig 2010-04-22 03:40:40.000000000 +0200
+++ core/roslib/include/ros/serialization.h 2010-11-03 22:51:34.000000000 +0100
@@ -37,6 +37,7 @@
#include "macros.h"
#include <vector>
+#include <cstring>
#include <boost/array.hpp>
#include <boost/call_traits.hpp>

View file

@ -0,0 +1,66 @@
--- core/message_filters/include/message_filters/synchronizer.h.orig 2010-03-16 01:10:42.000000000 +0100
+++ core/message_filters/include/message_filters/synchronizer.h 2010-11-03 22:52:18.000000000 +0100
@@ -357,7 +357,7 @@
template<int i>
void cb(const typename mpl::at_c<Events, i>::type& evt)
{
- add<i>(evt);
+ this->add<i>(evt);
}
uint32_t queue_size_;
--- core/message_filters/include/message_filters/chain.h.orig 2010-04-23 19:40:54.000000000 +0200
+++ core/message_filters/include/message_filters/chain.h 2010-11-03 22:52:42.000000000 +0100
@@ -234,7 +234,7 @@
void lastFilterCB(const EventType& evt)
{
- signalMessage(evt);
+ this->signalMessage(evt);
}
struct FilterInfo
--- core/message_filters/include/message_filters/cache.h.orig 2010-04-23 19:40:54.000000000 +0200
+++ core/message_filters/include/message_filters/cache.h 2010-11-03 22:53:01.000000000 +0100
@@ -152,7 +152,7 @@
}
- signalMessage(evt);
+ this->signalMessage(evt);
}
/**
--- core/message_filters/include/message_filters/subscriber.h.orig 2010-04-23 19:40:54.000000000 +0200
+++ core/message_filters/include/message_filters/subscriber.h 2010-11-03 22:53:21.000000000 +0100
@@ -202,7 +202,7 @@
void cb(const EventType& e)
{
- signalMessage(e);
+ this->signalMessage(e);
}
ros::Subscriber sub_;
--- core/message_filters/include/message_filters/pass_through.h.orig 2010-03-15 23:46:55.000000000 +0100
+++ core/message_filters/include/message_filters/pass_through.h 2010-11-03 22:54:26.000000000 +0100
@@ -75,7 +75,7 @@
void add(const EventType& evt)
{
- signalMessage(evt);
+ this->signalMessage(evt);
}
private:
--- core/message_filters/include/message_filters/time_sequencer.h.orig 2010-02-18 23:22:20.000000000 +0100
+++ core/message_filters/include/message_filters/time_sequencer.h 2010-11-03 22:54:50.000000000 +0100
@@ -208,7 +208,7 @@
typename V_Message::iterator end = to_call.end();
for (; it != end; ++it)
{
- signalMessage(*it);
+ this->signalMessage(*it);
}
}
}

View file

@ -1,7 +1,7 @@
To use ROS, add these variables to your environment:
ROS_MASTER_URI <HTTP address of the host running roscore>:11311
ROS_ROOT %%PREFIX%%/ros
ROS_PACKAGE_PATH ${ROS_ROOT}/stacks:/my_other_ROS_directory
ROS_ROOT %%PREFIX%%/ros/ros
ROS_PACKAGE_PATH %%PREFIX%%/ros/stacks:/my_other_ROS_directory
PYTHONPATH ${ROS_ROOT}/core/roslib/src
If you intend to build software with ROS:

File diff suppressed because it is too large Load diff

View file

@ -6,21 +6,22 @@
PORTNAME= ros
PORTVERSION= 1.2.4
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= ftp://rene-ladan.nl/pub/distfiles/${PORTNAME}/
DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.bz2 SWIG-1.3.29-wx.tar.gz \
MASTER_SITES= ftp://rene-ladan.nl/pub/distfiles/ros/
DISTFILES= ros-${PORTVERSION}.tar.bz2 SWIG-1.3.29-wx.tar.gz \
gtest-1.5.0.tar.gz
DIST_SUBDIR= ${PORTNAME}
EXTRACT_ONLY= ${PORTNAME}-${PORTVERSION}.tar.bz2
DIST_SUBDIR= ros
EXTRACT_ONLY= ros-${PORTVERSION}.tar.bz2
MAINTAINER= rene@FreeBSD.org
COMMENT= Robot Operating System - core utilities
LICENSE= BSD
WRKSRC= ${WRKDIR}/${PORTNAME}
WRKSRC= ${WRKDIR}/ros
CFLAGS+= -I${LOCALBASE}/include
LIB_DEPENDS= log4cxx.10:${PORTSDIR}/devel/log4cxx \
boost_python:${PORTSDIR}/devel/boost-python-libs
# we need cmake and gmake for the build, but the build is triggered by make
@ -55,7 +56,7 @@ USE_LDCONFIG= yes
BROKEN=Does not link, librt missing
.endif
# rosmake can't run make properly with multiple jobs enabled
# rosmake does its own threading
MAKE_JOBS_UNSAFE= yes
MAKE_ENV+= CPATH=${LOCALBASE}/include \
@ -88,6 +89,11 @@ post-extract:
${MKDIR} ${WRKSRC}/3rdparty/wxswig/build
${CP} ${_DISTDIR}/SWIG-1.3.29-wx.tar.gz ${WRKSRC}/3rdparty/wxswig/build
post-patch:
# temporarily alter how ROS is built for the port build
${REINPLACE_CMD} -E -e "s|--rosdep-install|--no-rosdep -i --disable-logging|" \
${WRKSRC}/Makefile
pre-build:
.if exists(${LOCALBASE}/lib/libgtest.so)
# temporarily move libraries from devel/googletest out of the way
@ -96,9 +102,6 @@ pre-build:
${MV} ${LOCALBASE}/lib/libgtest${f} ${WRKSRC}/googletest_backup
.endfor
.endif
# temporarily alter how ROS is built for the port build
${REINPLACE_CMD} -E -e "s|--rosdep-install|--no-rosdep --disable-logging -i|" \
${WRKSRC}/Makefile
post-build:
.if exists(${WRKSRC}/googletest_backup/libgtest.so)
@ -111,32 +114,33 @@ post-build:
${MV} ${WRKSRC}/Makefile.bak ${WRKSRC}/Makefile
do-install:
${MKDIR} ${PREFIX}/${PORTNAME}/stacks
${MKDIR} ${PREFIX}/${PORTNAME}/bin
${MKDIR} ${PREFIX}/ros/ros/bin
${MKDIR} ${PREFIX}/ros/stacks
.for f in rospack rosplay rosrecord rosstack rxconsole rxloggerlevel
${LOCALBASE}/bin/chrpath -d ${WRKSRC}/bin/${f}
${INSTALL_PROGRAM} ${WRKSRC}/bin/${f} ${PREFIX}/${PORTNAME}/bin
${LN} -s ${PREFIX}/${PORTNAME}/bin/${f} ${PREFIX}/bin/${f}
${INSTALL_PROGRAM} ${WRKSRC}/bin/${f} ${PREFIX}/ros/ros/bin
${LN} -s ${PREFIX}/ros/ros/bin/${f} ${PREFIX}/bin/${f}
.endfor
.for f in rosbag rosboost-cfg rosclean rosconfig roscore roscreate-pkg \
roscreate-stack rosdep rosgraph roslaunch roslaunch-deps roslaunch-logs \
roslocate rosmake rosmaster rosmsg rosnode rosparam rosrebag rosrun \
rosservice rossrv rostest rostopic rosversion roswtf rxbag rxdeps rxgraph rxplot
${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${PREFIX}/${PORTNAME}/bin
${LN} -s ${PREFIX}/${PORTNAME}/bin/${f} ${PREFIX}/bin/${f}
rosservice rossrv rostest rostopic rosversion roswtf rxbag rxdeps rxgraph \
rxplot
${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${PREFIX}/ros/ros/bin
${LN} -s ${PREFIX}/ros/ros/bin/${f} ${PREFIX}/bin/${f}
.endfor
${INSTALL_DATA} ${WRKSRC}/bin/rospack_nosubdirs ${PREFIX}/${PORTNAME}/bin
${INSTALL_DATA} ${WRKSRC}/bin/rospack_nosubdirs ${PREFIX}/ros/ros/bin
.for f in CMakeLists.txt Makefile rosdep.yaml stack.xml
${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/${PORTNAME}
${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/ros/ros
.endfor
# delete files explicitly because negation in find (for COPYTREE_SHARE) is bogus
.for d in 3rdparty config core std_msgs std_srvs test tools
${FIND} ${WRKSRC}/${d} -name build -type d -or -name \*.bak -type f \
-or -name .svnignore -type f -or -name .cvsignore -type f \
-or -name \*.orig | ${XARGS} ${RM} -rf
(cd ${WRKSRC} && ${COPYTREE_SHARE} ${d} ${PREFIX}/${PORTNAME})
(cd ${WRKSRC} && ${COPYTREE_SHARE} ${d} ${PREFIX}/ros/ros)
.endfor
# strip and move libraries to PREFIX/lib (except gtest)
.for f in core/message_filters/lib/libmessage_filters.so \
@ -147,15 +151,15 @@ do-install:
tools/rospack/lib/librosstack.so tools/rosrecord/lib/librosrecorder.so \
tools/rxtools/lib/librxtools.so tools/rxtools/lib/_rxtoolscpp.so \
tools/topic_tools/lib/libtopic_tools.so 3rdparty/xmlrpcpp/lib/libXmlRpc.so
${STRIP_CMD} ${PREFIX}/${PORTNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/${PORTNAME}/${f}
${MV} ${PREFIX}/${PORTNAME}/${f} ${PREFIX}/lib
${STRIP_CMD} ${PREFIX}/ros/ros/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/ros/${f}
${MV} ${PREFIX}/ros/ros/${f} ${PREFIX}/lib
.endfor
# strip gtest libraries
.for f in 3rdparty/gtest/gtest/lib/libgtest.so.0 \
3rdparty/gtest/gtest/lib/libgtest_main.so.0
${STRIP_CMD} ${PREFIX}/${PORTNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/${PORTNAME}/${f}
${STRIP_CMD} ${PREFIX}/ros/ros/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/ros/${f}
.endfor
# strip ELF binaries and make them executable
.for f in 3rdparty/wxswig/bin/swig-real core/genmsg_cpp/genmsg_java \
@ -208,9 +212,9 @@ do-install:
tools/topic_tools/bin/mux tools/topic_tools/bin/relay \
tools/topic_tools/bin/switch_mux tools/topic_tools/bin/throttle \
tools/topic_tools/test/test_shapeshifter
${STRIP_CMD} ${PREFIX}/${PORTNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/${PORTNAME}/${f}
${CHMOD} 0555 ${PREFIX}/${PORTNAME}/${f}
${STRIP_CMD} ${PREFIX}/ros/ros/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/ros/${f}
${CHMOD} 0555 ${PREFIX}/ros/ros/${f}
.endfor
# make scripts executable
.for f in 3rdparty/gtest/gtest/bin/gtest-config 3rdparty/wxswig/bin/swig \
@ -338,7 +342,7 @@ do-install:
tools/topic_tools/scripts/mux_select \
tools/topic_tools/test/test_mux_delete_add.py \
tools/topic_tools/test/test_mux_services.py tools/xdot/dot_viewer.py
${CHMOD} 0555 ${PREFIX}/${PORTNAME}/${f}
${CHMOD} 0555 ${PREFIX}/ros/ros/${f}
.endfor
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}

View file

@ -0,0 +1,11 @@
--- core/rosconsole/include/ros/console.h.orig 2010-03-13 03:03:10.000000000 +0100
+++ core/rosconsole/include/ros/console.h 2010-11-03 22:46:51.000000000 +0100
@@ -105,7 +105,7 @@
*/
void initialize();
-struct FilterBase;
+class FilterBase;
/**
* \brief Don't call this directly. Use the ROS_LOG() macro instead.
* @param level Logging level

View file

@ -0,0 +1,81 @@
--- core/roscpp/include/ros/subscribe_options.h.orig 2010-05-11 23:23:34.000000000 +0200
+++ core/roscpp/include/ros/subscribe_options.h 2010-10-28 00:53:16.000000000 +0200
@@ -80,7 +80,7 @@
template<class P>
void initByFullCallbackType(const std::string& _topic, uint32_t _queue_size,
const boost::function<void (P)>& _callback,
- const boost::function<boost::shared_ptr<typename ParameterAdapter<P>::Message>(void)>& factory_fn = defaultMessageCreateFunction<typename ParameterAdapter<P>::Message>)
+ boost::function<boost::shared_ptr<typename ParameterAdapter<P>::Message>(void)> factory_fn = defaultMessageCreateFunction<typename ParameterAdapter<P>::Message>)
{
typedef typename ParameterAdapter<P>::Message MessageType;
topic = _topic;
@@ -101,7 +101,7 @@
template<class M>
void init(const std::string& _topic, uint32_t _queue_size,
const boost::function<void (const boost::shared_ptr<M const>&)>& _callback,
- const boost::function<boost::shared_ptr<M>(void)>& factory_fn = defaultMessageCreateFunction<M>)
+ boost::function<boost::shared_ptr<M>(void)> factory_fn = defaultMessageCreateFunction<M>)
{
typedef typename ParameterAdapter<M>::Message MessageType;
topic = _topic;
--- core/roscpp/include/ros/service_callback_helper.h.orig 2010-02-18 23:22:20.000000000 +0100
+++ core/roscpp/include/ros/service_callback_helper.h 2010-10-28 01:05:35.000000000 +0200
@@ -165,7 +165,7 @@
typedef boost::function<RequestPtr()> ReqCreateFunction;
typedef boost::function<ResponsePtr()> ResCreateFunction;
- ServiceCallbackHelperT(const Callback& callback, const ReqCreateFunction& create_req = defaultServiceCreateFunction<RequestType>, const ResCreateFunction& create_res = defaultServiceCreateFunction<ResponseType>)
+ ServiceCallbackHelperT(const Callback& callback, ReqCreateFunction create_req = defaultServiceCreateFunction<RequestType>, ResCreateFunction create_res = defaultServiceCreateFunction<ResponseType>)
: callback_(callback)
, create_req_(create_req)
, create_res_(create_res)
--- core/roscpp/include/ros/topic_manager.h.orig 2010-02-18 23:22:20.000000000 +0100
+++ core/roscpp/include/ros/topic_manager.h 2010-11-03 22:48:40.000000000 +0100
@@ -42,8 +42,8 @@
{
class Message;
-class SubscribeOptions;
-class AdvertiseOptions;
+struct SubscribeOptions;
+struct AdvertiseOptions;
class TopicManager;
typedef boost::shared_ptr<TopicManager> TopicManagerPtr;
--- core/roscpp/include/ros/message_event.h.orig 2010-07-13 04:08:40.000000000 +0200
+++ core/roscpp/include/ros/message_event.h 2010-11-03 22:50:05.000000000 +0100
@@ -93,7 +93,7 @@
nonconst_need_copy_ = nonconst_need_copy;
}
- MessageEvent(const MessageEvent<void const>& rhs, const CreateFunction& create)
+ MessageEvent(const MessageEvent<void const>& rhs, CreateFunction create)
{
init(boost::const_pointer_cast<Message>(boost::static_pointer_cast<ConstMessage>(rhs.getMessage())), rhs.getConnectionHeaderPtr(), rhs.getReceiptTime(), rhs.nonConstWillCopy(), create);
}
@@ -116,12 +116,12 @@
init(message, getConnectionHeader(message.get()), receipt_time, true, ros::defaultMessageCreateFunction<Message>);
}
- MessageEvent(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, const CreateFunction& create)
+ MessageEvent(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, CreateFunction create)
{
init(message, connection_header, receipt_time, nonconst_need_copy, create);
}
- void init(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, const CreateFunction& create)
+ void init(const ConstMessagePtr& message, const boost::shared_ptr<M_string>& connection_header, ros::Time receipt_time, bool nonconst_need_copy, CreateFunction create)
{
message_ = message;
connection_header_ = connection_header;
--- core/roscpp/include/ros/transport_publisher_link.h.orig 2010-03-16 19:38:21.000000000 +0100
+++ core/roscpp/include/ros/transport_publisher_link.h 2010-11-03 22:50:31.000000000 +0100
@@ -41,7 +41,7 @@
class Connection;
typedef boost::shared_ptr<Connection> ConnectionPtr;
-class WallTimerEvent;
+struct WallTimerEvent;
/**
* \brief Handles a connection to a single publisher on a given topic. Receives messages from a publisher

View file

@ -0,0 +1,10 @@
--- core/roslib/include/ros/serialization.h.orig 2010-04-22 03:40:40.000000000 +0200
+++ core/roslib/include/ros/serialization.h 2010-11-03 22:51:34.000000000 +0100
@@ -37,6 +37,7 @@
#include "macros.h"
#include <vector>
+#include <cstring>
#include <boost/array.hpp>
#include <boost/call_traits.hpp>

View file

@ -0,0 +1,66 @@
--- core/message_filters/include/message_filters/synchronizer.h.orig 2010-03-16 01:10:42.000000000 +0100
+++ core/message_filters/include/message_filters/synchronizer.h 2010-11-03 22:52:18.000000000 +0100
@@ -357,7 +357,7 @@
template<int i>
void cb(const typename mpl::at_c<Events, i>::type& evt)
{
- add<i>(evt);
+ this->add<i>(evt);
}
uint32_t queue_size_;
--- core/message_filters/include/message_filters/chain.h.orig 2010-04-23 19:40:54.000000000 +0200
+++ core/message_filters/include/message_filters/chain.h 2010-11-03 22:52:42.000000000 +0100
@@ -234,7 +234,7 @@
void lastFilterCB(const EventType& evt)
{
- signalMessage(evt);
+ this->signalMessage(evt);
}
struct FilterInfo
--- core/message_filters/include/message_filters/cache.h.orig 2010-04-23 19:40:54.000000000 +0200
+++ core/message_filters/include/message_filters/cache.h 2010-11-03 22:53:01.000000000 +0100
@@ -152,7 +152,7 @@
}
- signalMessage(evt);
+ this->signalMessage(evt);
}
/**
--- core/message_filters/include/message_filters/subscriber.h.orig 2010-04-23 19:40:54.000000000 +0200
+++ core/message_filters/include/message_filters/subscriber.h 2010-11-03 22:53:21.000000000 +0100
@@ -202,7 +202,7 @@
void cb(const EventType& e)
{
- signalMessage(e);
+ this->signalMessage(e);
}
ros::Subscriber sub_;
--- core/message_filters/include/message_filters/pass_through.h.orig 2010-03-15 23:46:55.000000000 +0100
+++ core/message_filters/include/message_filters/pass_through.h 2010-11-03 22:54:26.000000000 +0100
@@ -75,7 +75,7 @@
void add(const EventType& evt)
{
- signalMessage(evt);
+ this->signalMessage(evt);
}
private:
--- core/message_filters/include/message_filters/time_sequencer.h.orig 2010-02-18 23:22:20.000000000 +0100
+++ core/message_filters/include/message_filters/time_sequencer.h 2010-11-03 22:54:50.000000000 +0100
@@ -208,7 +208,7 @@
typename V_Message::iterator end = to_call.end();
for (; it != end; ++it)
{
- signalMessage(*it);
+ this->signalMessage(*it);
}
}
}

View file

@ -1,7 +1,7 @@
To use ROS, add these variables to your environment:
ROS_MASTER_URI <HTTP address of the host running roscore>:11311
ROS_ROOT %%PREFIX%%/ros
ROS_PACKAGE_PATH ${ROS_ROOT}/stacks:/my_other_ROS_directory
ROS_ROOT %%PREFIX%%/ros/ros
ROS_PACKAGE_PATH %%PREFIX%%/ros/stacks:/my_other_ROS_directory
PYTHONPATH ${ROS_ROOT}/core/roslib/src
If you intend to build software with ROS:

File diff suppressed because it is too large Load diff

View file

@ -6,6 +6,7 @@
PORTNAME= ros_tutorials
PORTVERSION= 0.2.2
PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= ftp://rene-ladan.nl/pub/distfiles/ros/
DIST_SUBDIR= ros
@ -24,16 +25,17 @@ USE_PYTHON= yes
USE_BZIP2= yes
USE_LDCONFIG= yes
# rosmake can't run make properly with multiple jobs enabled
# rosmake does its own threading
MAKE_JOBS_UNSAFE= yes
CFLAGS+= -I${LOCALBASE}/include
MAKE_ENV+= CPATH=${LOCALBASE}/include \
EXTRA_CMAKE_FLAGS="-DwxWidgets_CONFIG_EXECUTABLE=${WX_CONFIG}" \
LIBRARY_PATH=${LOCALBASE}/lib \
MAKE=${LOCALBASE}/bin/gmake \
ROS_ROOT=${LOCALBASE}/ros \
ROS_PACKAGE_PATH=${LOCALBASE}/ros/stacks:${WRKDIR} \
PYTHONPATH=${LOCALBASE}/ros/core/roslib/src
ROS_ROOT=${LOCALBASE}/ros/ros \
ROS_PACKAGE_PATH=${WRKDIR} \
PYTHONPATH=${LOCALBASE}/ros/ros/core/roslib/src
MAKE_ARGS= -i --no-rosdep --status-rate=0 --disable-logging