diff options
author | acxz | 2019-11-28 22:58:11 -0500 |
---|---|---|
committer | acxz | 2019-11-28 22:58:11 -0500 |
commit | 9128844856ba0085c00206cf6249d79550180444 (patch) | |
tree | 02baa529f2072256dd8e6afc7d3326b88c8c2d0b | |
download | aur-9128844856ba0085c00206cf6249d79550180444.tar.gz |
initial commit
-rw-r--r-- | .SRCINFO | 26 | ||||
-rw-r--r-- | PKGBUILD | 76 | ||||
-rw-r--r-- | io-service.patch | 24 |
3 files changed, 126 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..dab579a83c49 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,26 @@ +pkgbase = ros-melodic-rosserial-server + pkgdesc = ROS - A more performance- and stability-oriented server alternative implemented in C++ to rosserial_python. + pkgver = 0.8.0 + pkgrel = 1 + url = https://wiki.ros.org/rosserial_server + arch = any + license = BSD + makedepends = cmake + makedepends = ros-build-tools + makedepends = ros-melodic-catkin + makedepends = ros-melodic-rosserial-msgs + makedepends = ros-melodic-std-msgs + makedepends = ros-melodic-roscpp + makedepends = ros-melodic-topic-tools + depends = ros-melodic-rosserial-msgs + depends = ros-melodic-rosserial-python + depends = ros-melodic-std-msgs + depends = ros-melodic-roscpp + depends = ros-melodic-topic-tools + source = ros-melodic-rosserial-server-0.8.0.tar.gz::https://github.com/ros-drivers/rosserial/archive/0.8.0.tar.gz + source = io-service.patch + sha256sums = e96cdeb81e1c03fb1c5ad85a740cb0a1a0836c52a24c6a5d97c975084b49d576 + sha256sums = 3020b8961dd3cbe295fdac0b86a43d4da6b8d76b07337d46ba54d12cee4e1cb0 + +pkgname = ros-melodic-rosserial-server + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..16ea59910218 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,76 @@ +pkgdesc="ROS - A more performance- and stability-oriented server alternative +implemented in C++ to rosserial_python." +url='https://wiki.ros.org/rosserial_server' + +pkgname='ros-melodic-rosserial-server' +pkgver='0.8.0' +arch=('any') +pkgrel=1 +license=('BSD') + +ros_makedepends=( + ros-melodic-catkin + ros-melodic-rosserial-msgs + ros-melodic-std-msgs + ros-melodic-roscpp + ros-melodic-topic-tools +) + +makedepends=( + 'cmake' + 'ros-build-tools' + ${ros_makedepends[@]} +) + +ros_depends=( + ros-melodic-rosserial-msgs + ros-melodic-rosserial-python + ros-melodic-std-msgs + ros-melodic-roscpp + ros-melodic-topic-tools +) + +depends=( + ${ros_depends[@]} +) + +_dir="rosserial-${pkgver}/rosserial_server" +source=("${pkgname}-${pkgver}.tar.gz"::"https://github.com/ros-drivers/rosserial/archive/${pkgver}.tar.gz" + "io-service.patch") +sha256sums=('e96cdeb81e1c03fb1c5ad85a740cb0a1a0836c52a24c6a5d97c975084b49d576' + '3020b8961dd3cbe295fdac0b86a43d4da6b8d76b07337d46ba54d12cee4e1cb0') + +prepare() { + cd "${srcdir}/${_dir}/include/rosserial_server" + patch -uN async_read_buffer.h ../../../../../io-service.patch || return 1 +} + +build() { + # Use ROS environment variables. + source /usr/share/ros-build-tools/clear-ros-env.sh + [ -f /opt/ros/melodic/setup.bash ] && source /opt/ros/melodic/setup.bash + + # Create the build directory. + [ -d ${srcdir}/build ] || mkdir ${srcdir}/build + cd ${srcdir}/build + + # Fix Python2/Python3 conflicts. + /usr/share/ros-build-tools/fix-python-scripts.sh -v 3 ${srcdir}/${_dir} + + # Build the project. + cmake ${srcdir}/${_dir} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCATKIN_BUILD_BINARY_PACKAGE=ON \ + -DCMAKE_INSTALL_PREFIX=/opt/ros/melodic \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DPYTHON_INCLUDE_DIR=/usr/include/python3.7m \ + -DPYTHON_LIBRARY=/usr/lib/libpython3.7m.so \ + -DPYTHON_BASENAME=.cpython-37m \ + -DSETUPTOOLS_DEB_LAYOUT=OFF + make +} + +package() { + cd "${srcdir}/build" + make DESTDIR="${pkgdir}/" install +} diff --git a/io-service.patch b/io-service.patch new file mode 100644 index 000000000000..2ba97de129e8 --- /dev/null +++ b/io-service.patch @@ -0,0 +1,24 @@ +--- async_read_buffer.h.orig 2019-11-28 22:48:02.933056047 -0500 ++++ async_read_buffer.h 2019-11-28 22:52:40.829715275 -0500 +@@ -38,6 +38,12 @@ + #include <boost/asio.hpp> + #include <boost/function.hpp> + ++#if BOOST_VERSION >= 107000 ++#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context()) ++#else ++#define GET_IO_SERVICE(s) ((s).get_io_service()) ++#endif ++ + #include <ros/ros.h> + + namespace rosserial_server +@@ -166,7 +172,7 @@ + + // Post the callback rather than executing it here so, so that we have a chance to do the cleanup + // below prior to it actually getting run, in the event that the callback queues up another read. +- stream_.get_io_service().post(boost::bind(read_success_callback_, stream)); ++ GET_IO_SERVICE(stream_).post(boost::bind(read_success_callback_, stream)); + + // Resetting these values clears our state so that we know there isn't a callback pending. + read_requested_bytes_ = 0; |